diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2010-03-06 13:39:08 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2010-03-06 13:39:08 +0100 |
commit | bd02c66863a03025cac97f453d59d7a158134aff (patch) | |
tree | 84e8a3e073ed8e14a90fe3d4c61259b2f8a8c392 | |
parent | 255e23062788fda92e57855ce216bd0d38a9d958 (diff) | |
download | portato-bd02c66863a03025cac97f453d59d7a158134aff.tar.gz portato-bd02c66863a03025cac97f453d59d7a158134aff.tar.bz2 portato-bd02c66863a03025cac97f453d59d7a158134aff.zip |
Show icon to signal the best package version
Diffstat (limited to '')
-rw-r--r-- | portato/gui/windows/main.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index 0b0c48d..e00e9e4 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -29,7 +29,7 @@ from ... import get_listener from ...helper import debug, warning, error, info from ...session import Session from ...db import Database -from ...constants import CONFIG_LOCATION, VERSION, APP_ICON +from ...constants import CONFIG_LOCATION, VERSION, APP_ICON, ICON_DIR from ...backend.exceptions import PackageNotFoundException, BlockedException, VersionsNotFoundException # plugin stuff @@ -441,10 +441,20 @@ class MainWindow (Window): self.showAll = True # show only installed or all packages? self.__searchChanged = False + # our own icon factory + fac = gtk.IconFactory() + iSet = gtk.IconSet() + iSource = gtk.IconSource() + iSource.set_filename(os.path.abspath(os.path.join(ICON_DIR, "better-package.svg"))) + iSet.add_source(iSource) + fac.add("portato-better-pkg", iSet) + fac.add_default() + # icons self.icons = {} self.icons["installed"] = self.window.render_icon(gtk.STOCK_YES, gtk.ICON_SIZE_MENU) self.icons["or"] = self.window.render_icon(gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU) + self.icons["better"] = self.window.render_icon("portato-better-pkg", gtk.ICON_SIZE_MENU) # get the logging window as soon as possible self.logView = LogView(self.tree.get_widget("logView")) @@ -781,10 +791,14 @@ class MainWindow (Window): if not packages: raise VersionsNotFoundException(cp) + best = system.find_best([x.get_cpv() for x in packages]).get_version() + # append versions for vers, inst, slot in ((x.get_version(), x.is_installed(), get_slot(x)) for x in packages): if inst: icon = self.icons["installed"] + elif vers == best: + icon = self.icons["better"] else: icon = None |