diff options
author | Thierry Vignaud <tv@mandriva.org> | 2008-03-20 12:59:20 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2008-03-20 12:59:20 +0000 |
commit | 3577d8ff7d5b23cff0dd7d9fc385dafd65a6d51c (patch) | |
tree | 7a9eb7c8cb33272cb387d9861b3c93fea6d56c82 /Rpmdrake | |
parent | 06761378822b53d9248ff2270461231fc8f383cc (diff) | |
download | rpmdrake-3577d8ff7d5b23cff0dd7d9fc385dafd65a6d51c.tar rpmdrake-3577d8ff7d5b23cff0dd7d9fc385dafd65a6d51c.tar.gz rpmdrake-3577d8ff7d5b23cff0dd7d9fc385dafd65a6d51c.tar.bz2 rpmdrake-3577d8ff7d5b23cff0dd7d9fc385dafd65a6d51c.tar.xz rpmdrake-3577d8ff7d5b23cff0dd7d9fc385dafd65a6d51c.zip |
(_build_tree) split it out of build_tree() (needed for next commits)
Diffstat (limited to 'Rpmdrake')
-rw-r--r-- | Rpmdrake/gui.pm | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm index 5ce4ce28..7bafd9e3 100644 --- a/Rpmdrake/gui.pm +++ b/Rpmdrake/gui.pm @@ -805,6 +805,20 @@ sub ctreefy { join('|', map { translate($_) } split m|/|, $_[0]); } +sub _build_tree { + my ($elems, @elems) = @_; + #- we populate all the groups tree at first + %$elems = (); + # better loop on packages, create groups tree and push packages in the proper place: + foreach my $pkg (@elems) { + my $grp = $pkg->[1]; + add_parent($grp); + $elems->{$grp} ||= []; + push @{$elems->{$grp}}, $pkg; + } +} + + sub build_tree { my ($tree, $tree_model, $elems, $options, $force_rebuild, $flat, $mode) = @_; state $old_mode; @@ -864,15 +878,7 @@ or you already installed all of them.")); ? N("Upgradable") : N("Addable") ) foreach $sortmethods{flat}->(@elems); } else { - #- we populate all the groups tree at first - %$elems = (); - # better loop on packages, create groups tree and push packages in the proper place: - foreach my $pkg (@elems) { - my $grp = $pkg->[1]; - add_parent($grp); - $elems->{$grp} ||= []; - push @{$elems->{$grp}}, $pkg; - } + _build_tree($elems, @elems); } } statusbar_msg_remove($wait) if defined $wait; |