From 9693723ebf004aea7947b1c68c7c8e0b949510cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Thu, 10 Jul 2008 00:17:46 +0200 Subject: Moved color info to config --- etc/portato.cfg | 15 +++++++++++++-- portato/gui/utils.py | 5 +++++ portato/gui/windows/main.py | 4 ++-- portato/gui/windows/preference.py | 3 ++- 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(): -- cgit v1.2.3