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)
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)