diff options
author | Thierry Vignaud <tv@mandriva.org> | 2008-03-19 17:59:08 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2008-03-19 17:59:08 +0000 |
commit | 4b45bb6f18f73e42baafac10e40742a4e53d9c32 (patch) | |
tree | 3dc8f9465cb8eb81714d6f2d695e787a5061e24a | |
parent | b99b649e324c66a89e7696fe86a2984e7501d767 (diff) | |
download | rpmdrake-4b45bb6f18f73e42baafac10e40742a4e53d9c32.tar rpmdrake-4b45bb6f18f73e42baafac10e40742a4e53d9c32.tar.gz rpmdrake-4b45bb6f18f73e42baafac10e40742a4e53d9c32.tar.bz2 rpmdrake-4b45bb6f18f73e42baafac10e40742a4e53d9c32.tar.xz rpmdrake-4b45bb6f18f73e42baafac10e40742a4e53d9c32.zip |
(build_tree) create group tree in by_source view
-rw-r--r-- | Rpmdrake/gui.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm index bc34612f..5ce4ce28 100644 --- a/Rpmdrake/gui.pm +++ b/Rpmdrake/gui.pm @@ -853,9 +853,11 @@ or you already installed all of them.")); add_node($_->[0], N("All")) foreach $sortmethods{flat}->(@elems); $tree->expand_row($tree_model->get_path($tree_model->get_iter_first), 0); } elsif ($::mode->[0] eq 'by_source') { - add_node($_->[0], $_->[1]) foreach $sortmethods{by_medium}->(map { + my @list = $sortmethods{by_medium}->(map { my $m = pkg2medium($pkgs->{$_->[0]}{pkg}, $urpm); [ $_->[0], $m->{name}, $m->{priority} ]; } @elems); + add_parent($_) foreach uniq(map { $_->[1] } @list); + add_node($_->[0], $_->[1]) foreach @list; } elsif ($mode eq 'by_presence') { add_node( $_->[0], $pkgs->{$_->[0]}{pkg}->flag_installed && !$pkgs->{$_->[0]}{pkg}->flag_skip |