From 7c2d796eda8a63fb81d36410d45f0b0d4678d86f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Fri, 5 Dec 2008 12:27:40 +0100 Subject: Sort the dependency flags --- portato/gui/windows/main.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'portato') 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: -- cgit v1.2.3