From d7288de3f35c398e0b0960236f1681db0f33a0f5 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 26 Jul 2012 10:37:06 +0000 Subject: (reallyChooseGroups) add "select all" & "unselect all" buttons buttons layout should be probably enhanced later... --- perl-install/install/NEWS | 1 + perl-install/install/steps_gtk.pm | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'perl-install') diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 237b68e74..1f001ec8e 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,6 +1,7 @@ - package group selection: o add a scrollbar (due to Oxygen theme eating more space than Ia Ora one) + o add "select all" & "unselect all" buttons Version 14.31 - 24 July 2012 diff --git a/perl-install/install/steps_gtk.pm b/perl-install/install/steps_gtk.pm index 2ed26ac34..17102b167 100644 --- a/perl-install/install/steps_gtk.pm +++ b/perl-install/install/steps_gtk.pm @@ -318,17 +318,20 @@ sub reallyChooseGroups { my $w = ugtk2->new(N("Package Group Selection")); my $w_size = gtknew('Label_Left', text => &$size_to_display, padding => [ 0, 0 ]); + my @entries; my $entry = sub { my ($e) = @_; - gtknew('CheckButton', + my $w = gtknew('CheckButton', text => translate($e->{label}), tip => translate($e->{descr}), active_ref => \$e->{selected}, toggled => sub { gtkset($w_size, text => &$size_to_display); }); + push @entries, $w; + $w; }; #- when restarting this step, it might be necessary to reload the compssUsers.pl (bug 11558). kludgy. if (!ref $o->{gtk_display_compssUsers}) { install::any::load_rate_files($o) } @@ -345,6 +348,8 @@ sub reallyChooseGroups { 0, gtknew('HButtonBox', layout => 'edge', children_tight => [ gtknew('Install_Button', text => N("Help"), clicked => sub { interactive::gtk::display_help($o, { interactive_help_id => 'choosePackages#choosePackagesGroups' }, $w) }), + gtknew('Button', text => N("Select All"), clicked => sub { $_->set_active(1) foreach @entries }), + gtknew('Button', text => N("Unselect All"), clicked => sub { $_->set_active(0) foreach @entries }), gtknew('Button', text => N("Next"), clicked => sub { Gtk2->main_quit }), ]), ]), -- cgit v1.2.1