From d3f2196d3c638222a8e96c3d61626a9ff8efb2e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Fri, 20 Feb 2009 00:29:36 +0100 Subject: Add color btns to the preferences, so they are configurable here too --- doc/Changelog | 1 + etc/portato.cfg | 1 - portato/gui/templates/PreferenceWindow.ui | 269 ++++++++++++++++++++---------- portato/gui/windows/main.py | 16 +- portato/gui/windows/preference.py | 34 ++-- 5 files changed, 222 insertions(+), 99 deletions(-) diff --git a/doc/Changelog b/doc/Changelog index 5c7f8a7..448c8ee 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -8,6 +8,7 @@ next: - check prerequisites before starting - reorganize preferences - change from libglade to GtkBuilder +- add color buttns to the preferences, so the colors can be changed - bugs fixed: #44, #41, #15, #47 0.11.1: diff --git a/etc/portato.cfg b/etc/portato.cfg index 5533064..950d78d 100644 --- a/etc/portato.cfg +++ b/etc/portato.cfg @@ -106,7 +106,6 @@ scrollbacklines = 1000 # # Color section -# Values in this section are normally not editable through the GUI. # [COLORS] diff --git a/portato/gui/templates/PreferenceWindow.ui b/portato/gui/templates/PreferenceWindow.ui index e5618fd..3b0edb8 100644 --- a/portato/gui/templates/PreferenceWindow.ui +++ b/portato/gui/templates/PreferenceWindow.ui @@ -56,6 +56,20 @@ 0 + + + Search while typing + True + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0.47999998927116394 + True + + + 1 + + True @@ -81,7 +95,7 @@ - 1 + 2 @@ -657,23 +671,6 @@ 3 - - - Search while typing - True - True - False - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True - Update the package list with the current search results while you are typing. -<b>Note</b>: Will slow down the typing process. - 0.47999998927116394 - True - - - 4 - - @@ -693,12 +690,12 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 5 @@ -706,35 +703,30 @@ 12 5 - + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 + True - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - Console Font - True + Package Tabs 0 - + True - True - True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Chose a console font - True - True - False 1 @@ -746,26 +738,25 @@ - + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True - + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - Maximum length of the console title - True + System Tabs 0 - + True - True - adjustment1 - True - True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 @@ -773,7 +764,6 @@ - 4 1 @@ -782,10 +772,10 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Console Options</b> + <b>Tab Options</b> True @@ -796,12 +786,12 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 5 @@ -809,30 +799,97 @@ 12 5 - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 - + + Show slots in the version list True + True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True + True + + + 0 + + + + + Collapse categories with same prefix + True + True + False + True + Organize the categories in a tree. Thereby collapse categories with the same prefix: +As an example: <i>app-admin</i>, <i>app-emacs</i>, and <i>app-vim</i> would be collapsed into <i><b>app</b></i> as root and <i>admin</i>, <i>emacs</i>, and <i>vim</i> as children. + True + + + 1 + + + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + <b>Package Options</b> + True + + + + + False + 2 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 + 5 + 12 + 5 + + + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - Package Tabs + Console Font + True 0 - + True + True + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Chose a console font + True + True + False 1 @@ -844,25 +901,26 @@ - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - System Tabs + Maximum length of the console title + True 0 - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + adjustment1 + True + True 1 @@ -870,6 +928,7 @@ + 4 1 @@ -878,26 +937,26 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Tab Options</b> + <b>Console Options</b> True False - 2 + 3 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 5 @@ -905,31 +964,71 @@ 12 5 - + True - - Show slots in the version list + True - True - False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True + 5 + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Package Detail Background + True + + + 0 + + + + + True + True + True + #000000000000 + + + 1 + + 0 - - Collapse categories with same prefix + True - True - False - True - Organize the categories in a tree. Thereby collapse categories with the same prefix: -As an example: <i>app-admin</i>, <i>app-emacs</i>, and <i>app-vim</i> would be collapsed into <i><b>app</b></i> as root and <i>admin</i>, <i>emacs</i>, and <i>vim</i> as children. - True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Flag Placeholder Description Background + True + + + 0 + + + + + True + True + True + #000000000000 + + + 1 + + 1 @@ -940,17 +1039,17 @@ As an example: <i>app-admin</i>, <i>app-emacs</i>, and & - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Package Options</b> + <b>Color Options</b> True False - 3 + 4 diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index 761f6f3..ee51703 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -76,8 +76,7 @@ class PackageTable: self.maskedLabel = self.tree.get_widget("maskedLabel") # labels - generalVB = self.tree.get_widget("generalVB") - generalVB.modify_bg(gtk.STATE_NORMAL, get_color(self.main.cfg, "packagetable")) + self.main.set_color(get_color(self.main.cfg, "packagetable")) self.nameLabel = self.tree.get_widget("nameLabel") self.descLabel = self.tree.get_widget("descLabel") @@ -1259,6 +1258,17 @@ class MainWindow (Window): self.catList.get_selection().select_path(pos) self.catList.scroll_to_cell(pos) + def set_color (self, color): + """ + Sets the color of the general VB (i.e. the thing that displays the package details) + + @param color: color to set it to + @type color: gtk.gdk.Color + """ + + generalVB = self.tree.get_widget("generalVB") + generalVB.modify_bg(gtk.STATE_NORMAL, color) + def set_uri_hook (self, browser): """ Sets the browser command which is called when a URL is going to be opened. @@ -1678,7 +1688,7 @@ class MainWindow (Window): """ User wants to open preferences. """ - PreferenceWindow(self.window, self.cfg, self.console.set_font_from_string, self.set_uri_hook, self.set_notebook_tabpos, self.fill_cat_store) + PreferenceWindow(self.window, self.cfg, self.console.set_font_from_string, self.set_uri_hook, self.set_notebook_tabpos, self.fill_cat_store, self.set_color) return True def cb_about_clicked (self, *args): diff --git a/portato/gui/windows/preference.py b/portato/gui/windows/preference.py index a7661c5..4d3493f 100644 --- a/portato/gui/windows/preference.py +++ b/portato/gui/windows/preference.py @@ -61,7 +61,7 @@ class PreferenceWindow (AbstractDialog): 4 : gtk.POS_RIGHT } - def __init__ (self, parent, cfg, console_fn, linkbtn_fn, tabpos_fn, catmodel_fn): + def __init__ (self, parent, cfg, console_fn, linkbtn_fn, tabpos_fn, catmodel_fn, labelcolor_fn): """Constructor. @param parent: parent window @@ -75,7 +75,9 @@ class PreferenceWindow (AbstractDialog): @param tabpos_fn: function to call to set the tabposition of the notebooks @type tabpos_fn: function(gtk.ComboBox,int) @param catmodel_fn: function to call to set the model of the cat list (collapsed/not collapsed) - @type catmodel_fn: function()""" + @type catmodel_fn: function() + @param labelcolor_fn: function to call to set the color of the label + @type labelcolor_fn: function(gtk.gdk.Color)""" AbstractDialog.__init__(self, parent) @@ -102,6 +104,7 @@ class PreferenceWindow (AbstractDialog): self.linkbtn_fn = linkbtn_fn self.tabpos_fn = tabpos_fn self.catmodel_fn = catmodel_fn + self.labelcolor_fn = labelcolor_fn # set the bg-color of the hint hintEB = self.tree.get_widget("hintEB") @@ -110,20 +113,16 @@ class PreferenceWindow (AbstractDialog): # the checkboxes for box, val in self.checkboxes.iteritems(): if isinstance(val, tuple): - self.tree.get_widget(box).\ - set_active(self.cfg.get_boolean(val[0], section = val[1])) + self.tree.get_widget(box).set_active(self.cfg.get_boolean(val[0], section = val[1])) else: - self.tree.get_widget(box).\ - set_active(self.cfg.get_boolean(val)) + self.tree.get_widget(box).set_active(self.cfg.get_boolean(val)) # the edits for edit, val in self.edits.iteritems(): if isinstance(val,tuple): - self.tree.get_widget(edit).\ - set_text(self.cfg.get(val[0], section = val[1])) + self.tree.get_widget(edit).set_text(self.cfg.get(val[0], section = val[1])) else: - self.tree.get_widget(edit).\ - set_text(self.cfg.get(val)) + self.tree.get_widget(edit).set_text(self.cfg.get(val)) # the set list self.setList = self.tree.get_widget("setList") @@ -139,6 +138,13 @@ class PreferenceWindow (AbstractDialog): self.titleLengthSpinBtn = self.tree.get_widget("titleLengthSpinBtn") self.titleLengthSpinBtn.set_value(int(self.cfg.get("titlelength", section = "GUI"))) + # the color buttons + self.pkgTableColorBtn = self.tree.get_widget("pkgTableColorBtn") + self.pkgTableColorBtn.set_color(get_color(self.cfg, "packagetable")) + + self.prefColorBtn = self.tree.get_widget("prefColorBtn") + self.prefColorBtn.set_color(get_color(self.cfg, "prefhint")) + # the comboboxes self.systemTabCombo = self.tree.get_widget("systemTabCombo") self.pkgTabCombo = self.tree.get_widget("packageTabCombo") @@ -209,6 +215,14 @@ class PreferenceWindow (AbstractDialog): self.catmodel_fn() + # colors + c = self.pkgTableColorBtn.get_color() + self.cfg.set("packagetable", str(c)[1:], section = "COLORS") + self.labelcolor_fn(c) + + c = self.prefColorBtn.get_color() + self.cfg.set("prefhint", str(c)[1:], section = "COLORS") + def fill_setlist (self): store = gtk.ListStore(bool, str, str, str) -- cgit v1.2.3