def populate_page(self): self._menu = g15theme.Menu("menu") g15plugin.G15RefreshingPlugin.populate_page(self) enabled_sensors = [] for c in self.sensor_sources: for s in c.get_sensors(): sense_key = "%s/sensors/%s" % ( self.gconf_key, GConf.escape_key(s.name, len(s.name))) if g15gconf.get_bool_or_default(self.gconf_client, "%s/enabled" % (sense_key), True): enabled_sensors.append(s) # If there are no sensors enabled, display the 'none' variant # which shows a message if len(enabled_sensors) == 0: self.page.theme.set_variant("none") else: self.page.theme.set_variant(None) def menu_selected(): self.page.theme.set_variant( VARIANT_NAMES[self._menu.selected.sensor.sense_type]) self._menu.on_selected = menu_selected self.page.add_child(self._menu) self.page.theme.svg_processor = self._process_svg self.page.add_child( g15theme.MenuScrollbar("viewScrollbar", self._menu)) i = 0 for s in enabled_sensors: if s.sense_type in TYPE_NAMES: sense_key = "%s/sensors/%s" % ( self.gconf_key, GConf.escape_key(s.name, len(s.name))) sense_label = g15gconf.get_string_or_default( self.gconf_client, "%s/label" % (sense_key), s.name) menu_item = SensorMenuItem("menuitem-%d" % i, s, sense_label) self.sensor_dict[s.name] = menu_item self._menu.add_child(menu_item) # If this is the first child, change the theme variant if self._menu.get_child_count() == 1: self.page.theme.set_variant( VARIANT_NAMES[menu_item.sensor.sense_type]) i += 1
def sensor_toggled(self, widget, row_index): row_index = int(row_index) now_active = not widget.get_active() self.sensor_model.set_value(self.sensor_model.get_iter(row_index), 1, now_active) sensor_name = self.sensor_model[row_index][0] self._gconf_client.set_bool( "%s/sensors/%s/enabled" % (self._gconf_key, GConf.escape_key(sensor_name, len(sensor_name))), now_active)
def label_edited(self, widget, row_index, value): row_index = int(row_index) if value != "": if self.sensor_model[row_index][2] != value: self.sensor_model.set_value( self.sensor_model.get_iter(row_index), 2, value) sensor_name = self.sensor_model[row_index][0] self._gconf_client.set_string( "%s/sensors/%s/label" % (self._gconf_key, GConf.escape_key(sensor_name, len(sensor_name))), value)
def _create_activity_icon(metadata): if metadata.get('icon-color', ''): color = XoColor(metadata['icon-color']) else: client = GConf.client_get_default() color = XoColor(client.get_string('/desktop/sugar/user/color')) from sugar3.activity.activity import get_bundle_path bundle = ActivityBundle(get_bundle_path()) icon = Icon(file=bundle.get_icon(), xo_color=color) return icon
def add_profile_input(self): '''Add a 'profile' combobox input to the HostDialog''' client = GConf.client_get_default() list_key = '/apps/gnome-terminal/global/profile_list' name_key = '/apps/gnome-terminal/profiles/%s/visible_name' prof_names = [client.get_string(name_key % name) for name in client.get_list(list_key, 'string')] self.profile_entry = Gtk.ComboBoxText.new_with_entry() self.profile_entry.append_text("< None> ") for name in prof_names: self.profile_entry.append_text(name) index = 0 if self.host.profile != '' and self.host.profile != "< None> ": index = prof_names.index(self.host.profile) + 1 self.profile_entry.set_active(index) self.add_input('Profile', widget=self.profile_entry)
def set_value(self, value): if self.type and type(value) != self.type: value = self.type(value) gconfvalue = GConf.Value() if type(value) == bool: gconfvalue.type = GConf.ValueType.BOOL gconfvalue.set_bool(value) elif type(value) == str: gconfvalue.type = GConf.ValueType.STRING gconfvalue.set_string(value) elif type(value) == int: gconfvalue.type = GConf.ValueType.INT gconfvalue.set_int(int(value)) elif type(value) == float: gconfvalue.type = GConf.ValueType.FLOAT gconfvalue.set_float(value) self.client.set(self.key, gconfvalue)
def reload_model(self): self.sensor_model.clear() ss = get_sensor_sources() for source in ss: sa = source.get_sensors() for sensor in sa: sense_key = "%s/sensors/%s" % ( self._gconf_key, GConf.escape_key(sensor.name, len(sensor.name))) if sensor.sense_type in TYPE_NAMES: self.sensor_model.append([ sensor.name, g15gconf.get_bool_or_default( self._gconf_client, "%s/enabled" % (sense_key), True), g15gconf.get_string_or_default( self._gconf_client, "%s/label" % (sense_key), sensor.name), TYPE_NAMES[sensor.sense_type] ]) source.stop()
def __init__(self, start_hidden, tray_icon): super(Browser, self).__init__() self.glade = Gtk.Builder() self.glade.add_from_file(utils.get_data_file_name('labyrinth.ui')) #self.glade=Gtk.glade.XML(utils.get_data_file_name('labyrinth.glade')) self.view = self.glade.get_object('MainView') self.populate_view () self.view.connect ('row-activated', self.open_row_cb) self.view.connect ('cursor-changed', self.cursor_change_cb) self.view_dependants = [] self.open_button = self.glade.get_object('OpenButton') self.delete_button = self.glade.get_object('DeleteButton') self.open_menu = self.glade.get_object('open1') self.delete_menu = self.glade.get_object('delete1') self.view_dependants.append (self.open_button) self.view_dependants.append (self.delete_button) self.view_dependants.append (self.open_menu) self.view_dependants.append (self.delete_menu) self.open_button.connect ('clicked', self.open_clicked) self.glade.get_object('NewButton').connect ('clicked', self.new_clicked) self.delete_button.connect ('clicked', self.delete_clicked) self.open_menu.connect ('activate', self.open_clicked) self.glade.get_object('new1').connect ('activate', self.new_clicked) self.delete_menu.connect ('activate', self.delete_clicked) self.glade.get_object('import1').connect ('activate', self.import_clicked) self.glade.get_object('quit1').connect ('activate', self.quit_clicked) self.glade.get_object('about1').connect ('activate', self.about_clicked) self.glade.get_object('showhelp').connect ('activate', self.show_help_clicked) for x in self.view_dependants: x.set_sensitive(False) self.main_window = self.glade.get_object ('MapBrowser') # set remembered size if os.name != 'nt': self.config_client = GConf.Client.get_default() self.config_client.add_dir ("/apps/labyrinth", GConf.ClientPreloadType(0)) width = self.config_client.get_int ('/apps/labyrinth/width') height = self.config_client.get_int ('/apps/labyrinth/height') utils.use_bezier_curves = self.config_client.get_bool ('/apps/labyrinth/curves') if width == 0 or height == 0: width = 400 height = 300 else: width = 400 height = 300 view_sortable = self.view.get_model () view_sortable.connect ('sort-column-changed', self.sort_column_changed_cb) if os.name != 'nt': sort_order = self.config_client.get_int('/apps/labyrinth/map_sort_order') column_id = self.config_client.get_int('/apps/labyrinth/map_sort_order_column') view_sortable.set_sort_column_id (column_id, sort_order) self.main_window.resize (width, height) if os.name != 'nt': try: self.main_window.set_icon_name ('labyrinth') except: self.main_window.set_icon_from_file(utils.get_data_file_name('labyrinth.svg')) else: self.main_window.set_icon_from_file(utils.get_data_file_name('labyrinth-32.png')) if tray_icon: self.main_window.connect ('delete_event', self.toggle_main_window, None) traymenu = Gtk.Menu() quit_item = Gtk.MenuItem("Quit") quit_item.connect("activate",self.quit_clicked) traymenu.add(quit_item) traymenu.show_all() self.traymenu = traymenu self.trayicon = TrayIcon.TrayIcon( icon_name="labyrinth", menu=traymenu, activate=self.toggle_main_window) else: self.main_window.connect('delete_event', self.quit_clicked, None) if start_hidden: self.main_window.hide () else: self.main_window.show_all ()