summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/portato.cfg15
-rw-r--r--portato/gui/utils.py5
-rw-r--r--portato/gui/windows/main.py4
-rw-r--r--portato/gui/windows/preference.py3
4 files changed, 22 insertions, 5 deletions
diff --git a/etc/portato.cfg b/etc/portato.cfg
index 4095c23..044d0b7 100644
--- a/etc/portato.cfg
+++ b/etc/portato.cfg
@@ -53,8 +53,7 @@ useperversion = False
updatesets = system, world
#
-# Frontend section for options common to more than one GUI.
-# Not all frontends have to support all of the options.
+# GUI section
#
[GUI]
@@ -99,4 +98,16 @@ collapsecats = true
packagetabpos = 2
systemtabpos = 2
+#
+# Color section
+# Values in this section are normally not editable through the GUI.
+#
+[COLORS]
+
+; background color of the table showing package infos - hex value
+packagetable = ffffff
+
+; background color of the hint box in the preferences - hex value
+prefhint = f3f785
+
# vim:ts=4:sw=4:ft=cfg
diff --git a/portato/gui/utils.py b/portato/gui/utils.py
index 923f2fa..cd5c50c 100644
--- a/portato/gui/utils.py
+++ b/portato/gui/utils.py
@@ -21,6 +21,8 @@ from collections import defaultdict
from threading import Thread, RLock
from functools import wraps
+import gtk
+
# some backend things
from ..backend import flags, system, set_system
from ..helper import debug, info, set_log_level
@@ -29,6 +31,9 @@ from ..constants import APP, LOCALE_DIR
# parser
from ..config_parser import ConfigParser
+def get_color (cfg, name):
+ return gtk.gdk.color_parse("#%s" % cfg.get(name, section = "COLORS"))
+
class GtkThread (Thread):
def run(self):
# for some reason, I have to install this for each thread ...
diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py
index 50dd366..5f270b9 100644
--- a/portato/gui/windows/main.py
+++ b/portato/gui/windows/main.py
@@ -30,7 +30,7 @@ from ...constants import CONFIG_LOCATION, VERSION, APP_ICON, ICON_DIR
from ...backend.exceptions import PackageNotFoundException, BlockedException
# more GUI stuff
-from ..utils import Database, Config, GtkThread
+from ..utils import Database, Config, GtkThread, get_color
from ..queue import EmergeQueue
from ..session import SESSION_VERSION, SessionException, OldSessionException, NewSessionException
from ..wrapper import GtkTree, GtkConsole
@@ -75,7 +75,7 @@ class PackageTable:
# labels
generalVB = self.tree.get_widget("generalVB")
- generalVB.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#FFFFFF"))
+ generalVB.modify_bg(gtk.STATE_NORMAL, get_color(self.main.cfg, "packagetable"))
self.nameLabel = self.tree.get_widget("nameLabel")
self.descLabel = self.tree.get_widget("descLabel")
diff --git a/portato/gui/windows/preference.py b/portato/gui/windows/preference.py
index 8aabbba..78a281f 100644
--- a/portato/gui/windows/preference.py
+++ b/portato/gui/windows/preference.py
@@ -18,6 +18,7 @@ from ...backend import system
from .basic import AbstractDialog
from ..dialogs import io_ex_dialog
+from ..utils import get_color
from ...helper import debug
class PreferenceWindow (AbstractDialog):
@@ -88,7 +89,7 @@ class PreferenceWindow (AbstractDialog):
# set the bg-color of the hint
hintEB = self.tree.get_widget("hintEB")
- hintEB.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#f3f785"))
+ hintEB.modify_bg(gtk.STATE_NORMAL, get_color(self.cfg, "prefhint"))
# the checkboxes
for box, val in self.checkboxes.iteritems():