Esempio n. 1
0
    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 _getComboGConfKey(self, component, description):
    '''
    A convinience method to expand the full gconf path for a specific key combo.

    @param component: The component of the hotkey.
    @type component: string
    @param description: The description of the hotkey action
    @type description: string
    
    @return: A full gconf key name
    @rtype: string
    '''
    combo_gconf_key = '%s/%s/%s/key_combo' % \
        (GCONF_HOTKEYS, gconf.escape_key(component, len(component)),
         gconf.escape_key(description, len(description)))
    return combo_gconf_key
Esempio n. 3
0
 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)
Esempio n. 4
0
 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()
Esempio n. 5
0
 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()
Esempio n. 6
0
 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)
Esempio n. 7
0
 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
Esempio n. 8
0
 def _onResize(self, widget, allocation):
   '''
   Callback for window resizing. Used for persisting view sizes across
   sessions.
   
   @param widget: Window widget.
   @type widget: gtk.Widget
   @param allocation: The new allocation.
   @type allocation: gtk.gdk.Rectangle
   '''
   view_name = self.plugin_view.view_name
   key_prefix = '%s/%s' % \
       (GCONF_PLUGINVIEWS, 
        gconf.escape_key(view_name, len(view_name)))
   cl = gconf.client_get_default()
   cl.set_int(key_prefix+'/width', self.allocation.width)
   cl.set_int(key_prefix+'/height', self.allocation.height)
Esempio n. 9
0
    def reconcile_vm_entries(self, uri, current_vms):
        """
        Remove any old VM preference entries for the passed URI
        """
        uri = gconf.escape_key(uri, len(uri))
        key = self.conf_dir + "/connection_prefs/%s/vms" % uri
        kill_vms = []
        gconf_vms = map(lambda inp: inp.split("/")[-1],
                        self.conf.all_dirs(key))

        for uuid in gconf_vms:
            if len(uuid) == 36 and not uuid in current_vms:
                kill_vms.append(uuid)

        for uuid in kill_vms:
            self.conf.recursive_unset(key + "/%s" % uuid, 0)

        if kill_vms:
            # Suggest gconf syncs, so that the unset dirs are fully removed
            self.conf.suggest_sync()
    def reconcile_vm_entries(self, uri, current_vms):
        """
        Remove any old VM preference entries for the passed URI
        """
        uri = gconf.escape_key(uri, len(uri))
        key = self.conf_dir + "/connection_prefs/%s/vms" % uri
        kill_vms = []
        gconf_vms = map(lambda inp: inp.split("/")[-1],
                        self.conf.all_dirs(key))

        for uuid in gconf_vms:
            if len(uuid) == 36 and not uuid in current_vms:
                kill_vms.append(uuid)

        for uuid in kill_vms:
            self.conf.recursive_unset(key + "/%s" % uuid, 0)

        if kill_vms:
            # Suggest gconf syncs, so that the unset dirs are fully removed
            self.conf.suggest_sync()
Esempio n. 11
0
  def __init__(self, view_name):
    '''
    Initialize a new plugin view window.
    
    @param view_name: The name of the view.
    @type view_name: string
    '''
    gtk.Window.__init__(self)
    self.plugin_view = PluginView(view_name)
    self.add(self.plugin_view)

    cl = gconf.client_get_default()
    escaped_view_name = '/%s' % gconf.escape_key(view_name, len(view_name))
    width = cl.get_int(GCONF_PLUGINVIEWS+escaped_view_name+'/width') or 480
    height = cl.get_int(GCONF_PLUGINVIEWS+escaped_view_name+'/height') or 480
    self.set_default_size(width, height)
    self.connect('key_press_event', self._onKeyPress)
    self.plugin_view.connect_after('page_removed', self._onPluginRemoved)
    self.set_title(view_name)
    self.set_position(gtk.WIN_POS_MOUSE)
    self.show_all()
    self.connect('size-allocate', self._onResize)
Esempio n. 12
0
 def _pervm_helper(self, uri, uuid, pref_func, func_type, value=None):
     suffix = ("connection_prefs/%s/vms/%s" %
               (gconf.escape_key(uri, len(uri)), uuid))
     return self._perobj_helper(suffix, pref_func, func_type, value)
Esempio n. 13
0
 def _perconn_helper(self, uri, pref_func, func_type, value=None):
     suffix = "connection_prefs/%s" % gconf.escape_key(uri, len(uri))
     return self._perobj_helper(suffix, pref_func, func_type, value)
Esempio n. 14
0
 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)
Esempio n. 15
0
 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 _perconn_helper(self, uri, pref_func, func_type, value=None):
     suffix = "connection_prefs/%s" % gconf.escape_key(uri, len(uri))
     return self._perobj_helper(suffix, pref_func, func_type, value)
 def _pervm_helper(self, uri, uuid, pref_func, func_type, value=None):
     suffix = ("connection_prefs/%s/vms/%s" %
               (gconf.escape_key(uri, len(uri)), uuid))
     return self._perobj_helper(suffix, pref_func, func_type, value)
Esempio n. 18
0
 def __setitem__(self, key, value):
   gconf_key = '%s/%s/layout' % \
       (GCONF_PLUGINVIEWS, gconf.escape_key(key, len(key)))
   self.gconf_client.set_list(gconf_key, gconf.VALUE_STRING, value)
Esempio n. 19
0
            # Check the file is executable
            try:
                os.chmod(
                    linux_location,
                    stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP
                    | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
            except Exception, e:
                pass

            # Register the URL Handlers
            try:
                import gconf
                for prefix in [
                        'tp', 'tps', 'tphttp', 'tphttps', 'tp+http', 'tp+https'
                ]:
                    prefix = gconf.escape_key(prefix, len(prefix))
                    gconf.client_get_default().set_string(
                        '/desktop/gnome/url-handlers/%s/command' % prefix,
                        linux_location)
                    gconf.client_get_default().set_bool(
                        '/desktop/gnome/url-handlers/%s/enabled' % prefix,
                        True)
            except ImportError, e:
                print e

                reason = "It is recommended that under gnome you have the Python Gconf module installed so I can register URL handlers."
                if system == "debian-based":
                    recommended.append(("python-gconf", reason))
                else:
                    recommended.append(("Recent version of pyGTK", reason))
def _gconf_path(id):
    return "/system/osso/connectivity/IAP/" + gconf.escape_key(id, -1)