summaryrefslogtreecommitdiffstats
path: root/perl-install/install_steps_gtk.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install_steps_gtk.pm')
-rw-r--r--perl-install/install_steps_gtk.pm61
1 files changed, 11 insertions, 50 deletions
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm
index dd3d838a9..f8e010941 100644
--- a/perl-install/install_steps_gtk.pm
+++ b/perl-install/install_steps_gtk.pm
@@ -200,7 +200,7 @@ sub selectMouse {
}
sub reallyChooseGroups {
- my ($o, $size_to_display, $individual, $val) = @_;
+ my ($o, $size_to_display, $individual, $compssUsers) = @_;
my $w = ugtk2->new('');
my $tips = Gtk2::Tooltips->new;
@@ -208,60 +208,22 @@ sub reallyChooseGroups {
my $entry = sub {
my ($e) = @_;
- my $text = translate($o->{compssUsers}{$e}{label});
- my $help = translate($o->{compssUsers}{$e}{descr});
+ my $text = translate($e->{label});
+ my $help = translate($e->{descr});
my $check = Gtk2::CheckButton->new($text);
- $check->set_active($val->{$e});
+ $check->set_active($e->{selected});
$check->signal_connect(clicked => sub {
- $val->{$e} = $check->get_active;
+ $e->{selected} = $check->get_active;
$w_size->set_label(&$size_to_display);
});
gtkset_tip($tips, $check, $help);
- #gtkpack_(Gtk2::HBox->new(0, 0), 0, gtkpng($file), 1, $check);
$check;
};
- my $entries_in_path = sub {
- my ($path) = @_;
- translate($path), map { $entry->($_) } grep { $o->{compssUsers}{$_}{path} eq $path } @{$o->{compssUsersSorted}};
- };
gtkadd($w->{window},
gtkpack_($w->create_box_with_title(N("Package Group Selection")),
- 1, gtkpack_(Gtk2::VBox->new(0, 0),
- 1, gtkpack_(Gtk2::HBox->new(0, 0),
- $o->{meta_class} eq 'server' ? (
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Workstation'),
- '',
- $entries_in_path->('Server'),
- ),
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Graphical Environment'),
- '',
- $entries_in_path->('Development'),
- '',
- $entries_in_path->('Utilities'),
- ),
- ) : $o->{meta_class} eq 'desktop' ? (
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Workstation'),
- ),
- ) : (
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Workstation'),
- '',
- $entry->('Development|Development'),
- $entry->('Development|Documentation'),
- $entry->('Development|LSB'),
- ),
- 0, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Server'),
- '',
- $entries_in_path->('Graphical Environment'),
- ),
- ),
- )),
- 1, '',
+ 1, $o->{gtk_display_compssUsers}->($entry),
+ 1, '',
0, gtkadd(Gtk2::HBox->new(0, 0),
gtksignal_connect(Gtk2::Button->new(N("Help")), clicked => $o->interactive_help_sub_display_id('choosePackages')),
$w_size,
@@ -309,10 +271,9 @@ sub choosePackagesTree {
$add_node->($_, undef);
}
} else {
- foreach my $root (@{$o->{compssUsersSorted}}) {
- my (%fl, @firstchoice, @others);
- #$fl{$_} = $o->{compssUsersChoice}{$_} foreach @{$o->{compssUsers}{$root}{flags}}; #- FEATURE:improve choce of packages...
- $fl{$_} = 1 foreach @{$o->{compssUsers}{$root}{flags}};
+ foreach my $root (@{$o->{compssUsers}}) {
+ my (@firstchoice, @others);
+ my %fl = map { $_ => 1 } @{$root->{flags}};
foreach my $p (@{$packages->{depslist}}) {
!$o_limit_medium || pkgs::packageMedium($packages, $p) == $o_limit_medium or next;
my @flags = $p->rflags;
@@ -321,7 +282,7 @@ sub choosePackagesTree {
push(@firstchoice, $p->name) :
push(@others, $p->name);
}
- my $root2 = join('|', map { translate($_) } split('\|', $root));
+ my $root2 = translate($root->{path}) . '|' . translate($root->{label});
$add_node->($_, $root2) foreach sort @firstchoice;
$add_node->($_, $root2 . '|' . N("Other")) foreach sort @others;
}