aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-03-19 17:59:08 +0000
committerThierry Vignaud <tv@mandriva.org>2008-03-19 17:59:08 +0000
commit4b45bb6f18f73e42baafac10e40742a4e53d9c32 (patch)
tree3dc8f9465cb8eb81714d6f2d695e787a5061e24a
parentb99b649e324c66a89e7696fe86a2984e7501d767 (diff)
downloadrpmdrake-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.pm4
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