diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2001-03-02 14:58:39 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2001-03-02 14:58:39 +0000 |
commit | 5668430f2dfc8512118e734c1263087b7f50856c (patch) | |
tree | 93c6163c92be19f09b974381b313628b433a4df1 | |
parent | 94169cb1741e5497a2e6b9031c65a24208631e1e (diff) | |
download | drakx-5668430f2dfc8512118e734c1263087b7f50856c.tar drakx-5668430f2dfc8512118e734c1263087b7f50856c.tar.gz drakx-5668430f2dfc8512118e734c1263087b7f50856c.tar.bz2 drakx-5668430f2dfc8512118e734c1263087b7f50856c.tar.xz drakx-5668430f2dfc8512118e734c1263087b7f50856c.zip |
(choosePackagesTree): in the tree, "Other" must be after the "best"
packages
-rw-r--r-- | perl-install/install_steps_gtk.pm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm index 590c83760..9bdecce34 100644 --- a/perl-install/install_steps_gtk.pm +++ b/perl-install/install_steps_gtk.pm @@ -324,11 +324,21 @@ sub choosePackagesTree { $add_node->($_, undef) foreach sort grep { my $pkg = pkgs::packageByName($packages, $_); pkgs::packageMedium($pkg)->{selected} } keys %{$packages->{names}}; } else { + my (@others, $old_root); foreach (sort @$compss) { ($root, $leaf) = m|(.*)/(.+)|o or ($root, $leaf) = ('', $_); + if ($root ne $old_root) { + $add_node->($_, $old_root . '/' . _("Other")) foreach @others; + @others = (); + $old_root = $root + } my $pkg = pkgs::packageByName($packages, $leaf); - $root .= '/' . _("Other") if pkgs::packageRate($pkg) < 4; - $add_node->($leaf, $root) if pkgs::packageMedium($pkg)->{selected}; + pkgs::packageMedium($pkg)->{selected} or next; + if (pkgs::packageRate($pkg) < 4) { + push @others, $leaf; + } else { + $add_node->($leaf, $root); + } } } $tree->thaw; |