diff options
Diffstat (limited to 'portato/gui')
-rw-r--r-- | portato/gui/templates/PreferenceWindow.ui | 35 | ||||
-rw-r--r-- | portato/gui/windows/main.py | 2 | ||||
-rw-r--r-- | portato/gui/windows/preference.py | 18 |
3 files changed, 53 insertions, 2 deletions
diff --git a/portato/gui/templates/PreferenceWindow.ui b/portato/gui/templates/PreferenceWindow.ui index 3b0edb8..0642e02 100644 --- a/portato/gui/templates/PreferenceWindow.ui +++ b/portato/gui/templates/PreferenceWindow.ui @@ -142,6 +142,7 @@ <property name="label" translatable="yes">Used database type</property> </object> <packing> + <property name="expand">False</property> <property name="position">0</property> </packing> </child> @@ -149,6 +150,7 @@ <object class="GtkComboBox" id="databaseCombo"> <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <signal name="changed" handler="cb_db_combo_changed"/> </object> <packing> <property name="position">1</property> @@ -159,6 +161,39 @@ <property name="position">0</property> </packing> </child> + <child> + <object class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkAlignment" id="alignment13"> + <property name="visible">True</property> + <property name="top_padding">5</property> + <property name="bottom_padding">5</property> + <property name="left_padding">12</property> + <child> + <object class="GtkLabel" id="dbDescriptionLabel"> + <property name="visible">True</property> + <property name="label" translatable="yes">label</property> + <property name="use_markup">True</property> + <property name="wrap">True</property> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label25"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Description</b></property> + <property name="use_markup">True</property> + </object> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> </object> </child> </object> diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index ee51703..04a9995 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -471,7 +471,7 @@ class MainWindow (Window): # package db splash(_("Creating Database")) - self.db = Database() + self.db = Database(self.cfg.get("type", section = "DATABASE")) # set plugins and plugin-menu splash(_("Loading Plugins")) diff --git a/portato/gui/windows/preference.py b/portato/gui/windows/preference.py index 4d3493f..5b88b22 100644 --- a/portato/gui/windows/preference.py +++ b/portato/gui/windows/preference.py @@ -164,19 +164,28 @@ class PreferenceWindow (AbstractDialog): self.pkgTabCombo.set_active(int(self.cfg.get("packageTabPos", section = "GUI"))-1) # the database combo + dbtype = self.cfg.get("type", section = "DATABASE") self.databaseCombo = self.tree.get_widget("databaseCombo") model = gtk.ListStore(str, str, str) + ctr = 0 + active = 0 for k, (name, desc) in db.types.iteritems(): + if k == dbtype: + active = ctr + model.append([name, desc, k]) + ctr += 1 self.databaseCombo.set_model(model) - self.databaseCombo.set_active(0) # XXX: just set one thing active - no meaning yet + self.databaseCombo.set_active(active) cell = gtk.CellRendererText() self.databaseCombo.pack_start(cell) self.databaseCombo.set_attributes(cell, text = 0) + self.cb_db_combo_changed() + self.window.show_all() def _save(self): @@ -246,6 +255,13 @@ class PreferenceWindow (AbstractDialog): self.setList.set_model(store) + def cb_db_combo_changed (self, *args): + model = self.databaseCombo.get_model() + active = self.databaseCombo.get_active() + + descr = self.tree.get_widget("dbDescriptionLabel") + descr.set_markup("<i>%s</i>" % model[active][1]) + def cb_ok_clicked(self, button): """Saves, writes to config-file and closes the window.""" self._save() |