コード例 #1
0
    def setup_launch_function(self):
        from mainwindow import MODULES
        from mainwindow import MODULE_ID, MODULE_LOGO, MODULE_TITLE
        function_box = self.worker.get_object('function_box')

        module_list = []
        for module in MODULES:
            if module[-1] == 2:
                module_list.append(module)

        model = gtk.ListStore(
                gobject.TYPE_INT,
                gtk.gdk.Pixbuf,
                gobject.TYPE_STRING)

        iter = model.append(None)
        model.set(iter,
                MODULE_ID, 0,
                MODULE_LOGO, None,
                MODULE_TITLE, _('None')
        )
        for module in module_list:
            icon = gtk.gdk.pixbuf_new_from_file(os.path.join(DATA_DIR, 'pixmaps', module[MODULE_LOGO])).scale_simple(18, 18, gtk.gdk.INTERP_NEAREST)

            iter = model.append(None)

            model.set(iter,
                    MODULE_ID, module[MODULE_ID],
                    MODULE_LOGO, icon,
                    MODULE_TITLE, module[MODULE_TITLE],
            )

        function_box.set_model(model)
        textcell = gtk.CellRendererText()
        pixbufcell = gtk.CellRendererPixbuf()
        function_box.pack_start(pixbufcell, False)
        function_box.pack_start(textcell, True)
        function_box.add_attribute(textcell, 'text', MODULE_TITLE)
        function_box.add_attribute(pixbufcell, 'pixbuf', MODULE_LOGO)
        id = TweakSettings.get_default_launch()
        for i, row in enumerate(model):
            _id = model.get_value(row.iter, MODULE_ID)
            if id == _id:
                function_box.set_active(i)
        function_box.connect('changed', self.on_launch_changed)
コード例 #2
0
    def __init__(self):
        gtk.Window.__init__(self)

        self.connect("destroy", self.destroy)
        self.set_title(APP)
        self.set_default_size(740, 480)
        self.set_position(gtk.WIN_POS_CENTER)
        self.set_border_width(10)
        gtk.window_set_default_icon_from_file(os.path.join(DATA_DIR, 'pixmaps/ubuntu-tweak.png'))

        vbox = gtk.VBox(False, 0)
        self.add(vbox)

        self.hpaned = gtk.HPaned()
        vbox.pack_start(self.hpaned, True, True, 0)

        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        sw.set_size_request(150, -1)
        self.hpaned.pack1(sw)

        self.model = self.__create_model()
        self.update_model()
        self.treeview = gtk.TreeView(self.model)
        self.__add_columns(self.treeview)
        selection = self.treeview.get_selection()
        selection.connect("changed", self.selection_cb)

        sw.add(self.treeview)

        self.notebook = self.create_notebook()
        self.moduletable = {0: 0}
        self.modules = {}
        self.hpaned.pack2(self.notebook)

        hbox = gtk.HBox(False, 5)
        vbox.pack_start(hbox, False, False, 5)
        button = gtk.Button(stock = gtk.STOCK_ABOUT)
        button.connect("clicked", self.show_about)
        hbox.pack_start(button, False, False, 0)

        d_button = gtk.Button(stock = gtk.STOCK_YES)
        set_label_for_stock_button(d_button, _('_Donate'))
        d_button.connect("clicked", self.on_d_clicked)
        hbox.pack_start(d_button, False, False, 0)

        button = gtk.Button(stock = gtk.STOCK_QUIT)
        button.connect("clicked", self.destroy);
        hbox.pack_end(button, False, False, 0)

        button = gtk.Button(stock = gtk.STOCK_PREFERENCES)
        button.connect('clicked', self.on_preferences_clicked)
        hbox.pack_end(button, False, False, 0)

        self.get_gui_state()
        self.show_all()

#        if TweakSettings.get_show_donate_notify():
#            gobject.timeout_add(3000, self.on_d_timeout, d_button)
        if TweakSettings.get_check_update():
            gobject.timeout_add(8000, self.on_timeout)

        launch = TweakSettings.get_default_launch()
        if launch:
            self.__create_newpage(launch)