Exemplo n.º 1
0
    def __init__(self, widgets):
        
        gobject.GObject.__init__(self)

        self.widgets = {}

        interface = gtk.Builder()
        interface.add_from_file(join(dirname(__file__), 'add_dialog.glade'))

        self.dialog =  interface.get_object('dialog')
        self.category_liststore =  interface.get_object('categories')
        self.category_view =  interface.get_object('category_view')
        self.widget_liststore =  interface.get_object('widgets')
        self.widget_view =  interface.get_object('widget_view')
        self.category_image =  interface.get_object('category_image')
        self.category_description =  interface.get_object('category_description')

        # connect signals
        self.dialog.connect('delete_event', lambda *x: self.dialog.hide())
        self.category_view.connect('cursor-changed',
                                    lambda *x: self.on_category_change()
        )
        self.widget_view.set_events(self.widget_view.get_events() | gtk.gdk.BUTTON_PRESS_MASK)
        self.widget_view.connect('button-press-event', self.widget_view_press_event_cb)

        # add the categories to the liststore alphabetically
        categories_ = sorted(categories.iteritems(),
                             key=lambda c: c[1]['name']
        )

        theme = gtk.icon_theme_get_default()
        for id, category in categories_:
            icon_info = theme.lookup_icon(category['icon'], ICON_SIZE_SMALL, 0)
            icon = gtk.gdk.pixbuf_new_from_file_at_size(icon_info.get_filename(),
                                                        ICON_SIZE_SMALL, ICON_SIZE_SMALL)

            self.category_liststore.append((category['name'], id, icon))

        # group widgets into categories
        for widget in widgets:
            if not widget.get('categories'):
                category = 'org.cream.melange.CategoryMiscellaneous'
                self._add_to_category(category, widget)
            for category in widget['categories']:
                self._add_to_category(category['id'], widget)

        self.category_view.set_cursor(0)
Exemplo n.º 2
0
    def __init__(self, applets):
        self.applets = defaultdict()

        interface = gtk.Builder()
        interface.add_from_file(join(dirname(__file__), 'add_dialog.glade'))

        self.dialog =  interface.get_object('dialog')
        self.category_liststore =  interface.get_object('categories')
        self.category_view =  interface.get_object('category_view')
        self.applet_liststore =  interface.get_object('applets')
        self.applet_view =  interface.get_object('applet_view')
        self.category_image =  interface.get_object('category_image')
        self.category_description =  interface.get_object('category_description')

        # connect signals
        self.dialog.connect('delete_event', lambda *x: self.dialog.hide())
        self.category_view.connect('cursor-changed',
                                    lambda *x: self.on_category_change()
        )

        # add the categories to the liststore alphabetically
        categories_ = sorted(categories.iteritems(),
                             key=lambda c: c[1]['name']
        )
        for id, category in categories_:
            icon = gtk.gdk.pixbuf_new_from_file_at_size(category['icon'], 25, 25)
            self.category_liststore.append((category['name'], id, icon))

        # group applets into categories
        for applet in applets:
            if not applet.get('categories'):
                category = 'org.cream.SimplePanel.CategoryAll'
                self._add_to_category(category, applet)
            for category in applet['categories']:
                self._add_to_category(category['id'], applet)

        self.category_view.set_cursor(0)
Exemplo n.º 3
0
    def __init__(self, applets):
        self.applets = defaultdict()

        interface = gtk.Builder()
        interface.add_from_file(join(dirname(__file__), 'add_dialog.glade'))

        self.dialog = interface.get_object('dialog')
        self.category_liststore = interface.get_object('categories')
        self.category_view = interface.get_object('category_view')
        self.applet_liststore = interface.get_object('applets')
        self.applet_view = interface.get_object('applet_view')
        self.category_image = interface.get_object('category_image')
        self.category_description = interface.get_object(
            'category_description')

        # connect signals
        self.dialog.connect('delete_event', lambda *x: self.dialog.hide())
        self.category_view.connect('cursor-changed',
                                   lambda *x: self.on_category_change())

        # add the categories to the liststore alphabetically
        categories_ = sorted(categories.iteritems(),
                             key=lambda c: c[1]['name'])
        for id, category in categories_:
            icon = gtk.gdk.pixbuf_new_from_file_at_size(
                category['icon'], 25, 25)
            self.category_liststore.append((category['name'], id, icon))

        # group applets into categories
        for applet in applets:
            if not applet.get('categories'):
                category = 'org.cream.SimplePanel.CategoryAll'
                self._add_to_category(category, applet)
            for category in applet['categories']:
                self._add_to_category(category['id'], applet)

        self.category_view.set_cursor(0)