summaryrefslogtreecommitdiff
path: root/portato
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2008-12-05 12:27:40 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2008-12-05 12:27:40 +0100
commit7c2d796eda8a63fb81d36410d45f0b0d4678d86f (patch)
tree4c794da6922eff3ae8b303ec085e09528eccb82b /portato
parent323f90b37587f33189d995d5802bbc2b05f1b16b (diff)
downloadportato-7c2d796eda8a63fb81d36410d45f0b0d4678d86f.tar.gz
portato-7c2d796eda8a63fb81d36410d45f0b0d4678d86f.tar.bz2
portato-7c2d796eda8a63fb81d36410d45f0b0d4678d86f.zip
Sort the dependency flags
Diffstat (limited to 'portato')
-rw-r--r--portato/gui/windows/main.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py
index ee723b5..5420b40 100644
--- a/portato/gui/windows/main.py
+++ b/portato/gui/windows/main.py
@@ -216,6 +216,23 @@ class PackageTable:
return x.dep
else:
return "/".join(split[0:2])
+
+ def cmp_flag (x, y):
+ # get strings - as tuples are passed
+ x = x[0]
+ y = y[0]
+
+ # remove "!"
+ ret = 0
+ if x[0] == "!":
+ ret = 1
+ x = x[1:]
+ if y[0] == "!":
+ ret = ret - 1 # if it is already 1, it is 0 now :)
+ y = y[1:]
+
+ # cmp -- if two flags are equal, the negated one is greater
+ return cmp(x,y) or ret
def get_icon (dep):
if dep.satisfied:
@@ -227,7 +244,8 @@ class PackageTable:
def add (tree, it):
# useflags
- for use, usetree in tree.flags.iteritems():
+ flags = sorted(tree.flags.iteritems(), cmp = cmp_flag)
+ for use, usetree in flags:
if use[0] == "!":
usestring = _("If '%s' is disabled") % use[1:]
else: