示例#1
0
 def activate(self):
     self._active = True
     self._page = None
     self._theme = g15theme.G15Theme(os.path.join(os.path.dirname(__file__), "default"), auto_dirty = False)
     self._loaded = 0
     
     self.pie_data = []
     
     # Backend
     self._account_manager = g15accounts.G15AccountManager(CONFIG_PATH, CONFIG_ITEM_NAME)
     self._account_manager.add_change_listener(self._accounts_changed)
     
     # Menu
     self._menu = g15theme.Menu("menu")
     self._menu.focusable = True
     self._menu.on_selected = self._on_menu_selected
     
     # Page
     self._page = g15theme.G15Page(name, self._screen, theme_properties_callback = self._get_properties,
                                  thumbnail_painter = self._paint_thumbnail,
                                  originating_plugin = self)
     self._page.set_title(_("Google Analytics"))
     self._page.set_theme(self._theme)
     self._screen.key_handler.action_listeners.append(self)
     self._page.add_child(G15VisitsGraph("visitsGraph", self))
     self._page.add_child(self._menu)
     self._page.add_child(g15theme.MenuScrollbar("viewScrollbar", self._menu))
     self._screen.add_page(self._page)
     self._schedule_refresh(0)
示例#2
0
 def __init__(self, gconf_client, gconf_key, screen, backend, buddy,
              plugin):
     g15theme.G15Page.__init__(self,
                               _("Actions"),
                               screen,
                               priority=g15screen.PRI_HIGH,
                               theme=g15theme.G15Theme(
                                   os.path.join(g15globals.themes_dir,
                                                "default"), "menu-screen"),
                               originating_plugin=plugin)
     self.theme_properties = {
         "title": _("Actions"),
         "icon":
         backend.get_icon() if buddy.avatar is None else buddy.avatar,
         "alt_title": buddy.nickname
     }
     self.menu = g15theme.Menu("menu")
     self.get_screen().add_page(self)
     self.add_child(self.menu)
     self.menu.add_child(KickBuddyMenuItem(buddy, backend))
     self.menu.add_child(BanBuddyMenuItem(buddy, backend))
     ctrl = screen.driver.get_control("backlight_colour")
     if ctrl is not None:
         self.menu.add_child(
             BuddyBacklightMenuItem(gconf_client, gconf_key, buddy, backend,
                                    ctrl, plugin))
     self.menu.add_child(ReturnMenuItem())
     self.add_child(g15theme.MenuScrollbar("viewScrollbar", self.menu))
示例#3
0
    def __init__(self, plugin, file_path):

        self._gconf_client = plugin._gconf_client
        self._gconf_key = plugin._gconf_key
        self._screen = plugin._screen
        self._icon_surface = None
        self._icon_embedded = None
        self.plugin = plugin
        self.file_path = file_path
        self.thread = None
        self.index = -1
        self._menu = g15theme.Menu("menu")
        g15theme.G15Page.__init__(
            self,
            os.path.basename(file_path),
            self._screen,
            thumbnail_painter=self._paint_thumbnail,
            theme=g15theme.G15Theme(self, "menu-screen"),
            theme_properties_callback=self._get_theme_properties,
            originating_plugin=plugin)
        self.add_child(self._menu)
        self.add_child(g15theme.MenuScrollbar("viewScrollbar", self._menu))
        self._reload()
        self._screen.add_page(self)
        self._screen.redraw(self)
        self.on_deleted = self._stop
示例#4
0
    def __init__(self, gconf_client, gconf_key, screen, backend, buddy, ctrl,
                 plugin):
        g15theme.G15Page.__init__(self, _("Backlight"), screen, priority=g15screen.PRI_HIGH, \
                                     theme=g15theme.G15Theme(os.path.join(g15globals.themes_dir, "default"), "menu-screen"),
                                     originating_plugin = plugin)
        self.theme_properties = {
            "title": _("Backlight"),
            "icon":
            backend.get_icon() if buddy.avatar is None else buddy.avatar,
            "alt_title": buddy.nickname
        }
        self.menu = g15theme.Menu("menu")
        self.get_screen().add_page(self)
        self.add_child(self.menu)
        self.ctrl = ctrl
        self.acq = None

        sel_color = g15convert.to_rgb(
            g15gconf.get_string_or_default(gconf_client,
                                           get_backlight_key(gconf_key, buddy),
                                           "255,255,255"))
        for i, c in enumerate(colorpicker.COLORS_FULL):
            c = (c[0], c[1], c[2])
            item = ColorMenuItem(gconf_client, gconf_key, c,
                                 colorpicker.COLORS_NAMES[i], buddy, backend)
            self.menu.add_child(item)
            if c == sel_color:
                self.menu.set_selected_item(item)

        self.menu.on_selected = self._handle_selected
        self.on_deleted = self._release_control
        self.menu.add_child(ReturnMenuItem())
        self.add_child(g15theme.MenuScrollbar("viewScrollbar", self.menu))
        self._handle_selected()
示例#5
0
    def __init__(self, plugin, url):

        self._gconf_client = plugin._gconf_client
        self._gconf_key = plugin._gconf_key
        self._screen = plugin._screen
        self._icon_surface = None
        self._icon_embedded = None
        self._selected_icon_embedded = None
        self.url = url
        self.index = -1
        self._menu = g15theme.Menu("menu")
        self._menu.on_selected = self._on_selected
        g15theme.G15Page.__init__(
            self,
            "Feed " + str(plugin._page_serial),
            self._screen,
            thumbnail_painter=self._paint_thumbnail,
            theme=g15theme.G15Theme(self, "menu-screen"),
            theme_properties_callback=self._get_theme_properties,
            originating_plugin=plugin)
        self.add_child(self._menu)
        self.add_child(g15theme.MenuScrollbar("viewScrollbar", self._menu))
        plugin._page_serial += 1
        self._reload()
        self._screen.add_page(self)
        self._screen.redraw(self)
示例#6
0
 def create_page(self):
     page = g15plugin.G15MenuPlugin.create_page(self)
     m = g15theme.Menu("messagesMenu")
     m.focusable = True
     page.add_child(m)
     self.message_menu = m
     page.add_child(
         g15theme.MenuScrollbar("messagesScrollbar", self.message_menu))
     return page
示例#7
0
文件: cal.py 项目: AgenttiX/gnome15
    def activate(self):
        g15plugin.G15Plugin.activate(self)

        self._active = True
        self._event_days = None
        self._calendar_date = None
        self._page = None
        self._theme = g15theme.G15Theme(os.path.join(os.path.dirname(__file__),
                                                     "default"),
                                        auto_dirty=False)
        self._loaded = 0

        # Backend
        self._account_manager = g15accounts.G15AccountManager(
            CONFIG_PATH, CONFIG_ITEM_NAME)

        # Calendar
        self._calendar = Calendar()

        # Menu
        self._menu = g15theme.Menu("menu")
        self._menu.focusable = True
        self._menu.focused_component = True

        # Page
        self._page = g15theme.G15Page(
            name,
            self.screen,
            on_shown=self._on_shown,
            on_hidden=self._on_hidden,
            theme_properties_callback=self._get_properties,
            thumbnail_painter=self._paint_thumbnail,
            originating_plugin=self)
        self._page.set_title(_("Calendar"))
        self._page.set_theme(self._theme)
        self._page.focused_component = self._calendar
        self._calendar.set_focused(True)

        # List for account changes
        self._account_manager.add_change_listener(self._accounts_changed)
        self.screen.key_handler.action_listeners.append(self)

        # Run first load in thread
        self._page.add_child(self._menu)
        self._page.add_child(self._calendar)
        self._page.add_child(
            g15theme.MenuScrollbar("viewScrollbar", self._menu))
        self.screen.add_page(self._page)
        g15scheduler.schedule("CalendarFirstLoad", 0, self._redraw)

        # Listen for changes in the network state
        self.screen.service.network_manager.listeners.append(
            self._network_state_changed)

        # Config changes
        self.watch("twenty_four_hour_times", self._config_changed)
示例#8
0
    def __init__(self, gconf_client, gconf_key, screen, backend, buddy_menu,
                 plugin):
        g15theme.G15Page.__init__(self,
                                  _("Settings"),
                                  screen,
                                  priority=g15screen.PRI_HIGH,
                                  theme=g15theme.G15Theme(
                                      os.path.join(g15globals.themes_dir,
                                                   "default"), "menu-screen"),
                                  originating_plugin=plugin)
        me = backend.get_me()
        self.theme_properties = {
            "title": _("Settings"),
            "icon": backend.get_icon() if me.avatar is None else me.avatar,
            "alt_title": me.nickname
        }
        self.menu = g15theme.Menu("menu")
        self.get_screen().add_page(self)
        self.add_child(self.menu)

        self.menu.add_child(
            SelectChannelMenuItem(gconf_client, gconf_key, backend, plugin))

        self.menu.add_child(
            g15theme.MenuItem('audio-status',
                              True,
                              _('Audio'),
                              activatable=False))
        self.menu.add_child(AudioInputMenuItem(backend))
        self.menu.add_child(AudioOutputMenuItem(backend))

        self.menu.add_child(
            g15theme.MenuItem('select-status',
                              True,
                              _('Select Status'),
                              activatable=False))
        self.menu.add_child(OnLineStatusMenuItem(backend))
        self.menu.add_child(AwayStatusMenuItem(backend))

        self.menu.add_child(
            g15theme.MenuItem('select-mode',
                              True,
                              _('Select Buddy List Mode'),
                              activatable=False))
        for i in MODE_LIST:
            self.menu.add_child(
                SelectModeMenuItem(gconf_client, gconf_key, i, MODES[i][1],
                                   backend, buddy_menu))

        self.menu.add_child(ReturnMenuItem())
        self.add_child(g15theme.MenuScrollbar("viewScrollbar", self.menu))
示例#9
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
示例#10
0
 def __init__(self, gconf_client, gconf_key, screen, backend, plugin):
     g15theme.G15Page.__init__(self, _("Server/Channel"), screen, priority=g15screen.PRI_HIGH, \
                                  theme=g15theme.G15Theme(os.path.join(g15globals.themes_dir, "default"), "menu-screen"),
                                  originating_plugin = plugin)
     self.theme_properties = {
         "title": _("Server/Channel"),
         "icon": backend.get_icon(),
         "alt_title": ''
     }
     self.menu = g15theme.Menu("menu")
     self.get_screen().add_page(self)
     self.add_child(self.menu)
     for c in backend.get_channels():
         self.menu.add_child(c)
         if c == backend.get_current_channel():
             self.menu.set_selected_item(c)
     self.menu.add_child(ReturnMenuItem())
     self.add_child(g15theme.MenuScrollbar("viewScrollbar", self.menu))