From 4d4d5a6fd0348ecc628251dbca5ac9e22acfb555 Mon Sep 17 00:00:00 2001 From: Necoro <> Date: Thu, 24 Jan 2008 23:49:51 +0000 Subject: r716@Devoty: necoro | 2008-01-25 00:35:00 +0100 Improved useflag handling r717@Devoty: necoro | 2008-01-25 00:47:45 +0100 improved update_world --- portato/gui/gtk/windows.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'portato/gui') diff --git a/portato/gui/gtk/windows.py b/portato/gui/gtk/windows.py index bdd5bfb..ed31a66 100644 --- a/portato/gui/gtk/windows.py +++ b/portato/gui/gtk/windows.py @@ -1342,16 +1342,18 @@ class MainWindow (Window): if not pkg_flags: # no flags - stop here return None - actual = pkg.get_actual_use_flags() + actual = set(pkg.get_actual_use_flags()) if pkg.is_installed(): - installed = pkg.get_installed_use_flags() + installed = set(pkg.get_iuse_flags()).intersection(pkg.get_installed_use_flags()) else: inst = system.find_installed_packages(pkg.get_slot_cp()) if inst: - installed = inst[0].get_installed_use_flags() + installed = set(inst[0].get_iuse_flags()).intersection(inst[0].get_installed_use_flags()) else: - installed = [] + installed = set() + + diff = actual.symmetric_difference(installed) for use in pkg_flags: exp = pkg.use_expanded(use) @@ -1360,7 +1362,7 @@ class MainWindow (Window): else: useStr = use - if installed and ((use in actual) != (use in installed)): + if installed and use in diff: useStr += " %" if use in actual: enabled.append(useStr) -- cgit v1.2.3-54-g00ecf