summaryrefslogtreecommitdiff
path: root/portato/gui
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2010-03-06 13:39:08 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2010-03-06 13:39:08 +0100
commitbd02c66863a03025cac97f453d59d7a158134aff (patch)
tree84e8a3e073ed8e14a90fe3d4c61259b2f8a8c392 /portato/gui
parent255e23062788fda92e57855ce216bd0d38a9d958 (diff)
downloadportato-bd02c66863a03025cac97f453d59d7a158134aff.tar.gz
portato-bd02c66863a03025cac97f453d59d7a158134aff.tar.bz2
portato-bd02c66863a03025cac97f453d59d7a158134aff.zip
Show icon to signal the best package version
Diffstat (limited to 'portato/gui')
-rw-r--r--portato/gui/windows/main.py16
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