diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/install_steps_gtk.pm | 12 | ||||
-rw-r--r-- | perl-install/interactive.pm | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm index 1660d85ad..7cf56d3bc 100644 --- a/perl-install/install_steps_gtk.pm +++ b/perl-install/install_steps_gtk.pm @@ -296,8 +296,8 @@ _("Choose the sizes"), #------------------------------------------------------------------------------ sub chooseSizeToInstall { my ($o, $packages, $min_size, $max_size_, $available, $individual) = @_; - my $enough = $available > $max_size_; my $max_size = min($max_size_, $available * 0.9); + my $enough = $max_size == $max_size_; my $percentage = int 100 * $max_size / $max_size_; #- don't ask anything if the difference between min and max is too small @@ -306,7 +306,7 @@ sub chooseSizeToInstall { log::l("choosing size to install between $min_size and $max_size"); my $w = my_gtk->new(''); my $adj = create_adjustment($percentage, $min_size * 100 / $max_size_, $percentage); - my $spin = gtkset_usize(new Gtk::SpinButton($adj, 0, 0), 100, 0); + my $spin = gtkset_usize(new Gtk::SpinButton($adj, 0, 0), 20, 0); my $val; gtkadd($w->{window}, @@ -326,15 +326,19 @@ A low percentage will install only the most important packages; a percentage of %d%% will install as many packages as possible.", $percentage, $percentage)) . ($individual ? "\n\n" . _("You will be able to choose them more specifically in the next step.") : ''), create_packtable({}, - [ _("Percentage of packages to install") . ' ', $spin, "%", ], + [ _("Percentage of packages to install") . ' ', $spin, "%", my $mb = new Gtk::Label('xxxx MB') ], [ undef, new Gtk::HScrollbar($adj) ], ), create_okcancel($w) ) ); + $spin->signal_connect(changed => my $changed = sub { + my $val = $spin->get_value_as_int / 100 * $max_size; + $mb->set(sprintf("(%dMB)", pkgs::correctSize($val / sqr(1024)))); + }); &$changed(); $spin->signal_connect(activate => sub { $w->{retval} = 1; Gtk->main_quit }); $spin->grab_focus(); - $w->main and $spin->get_value_as_int / 100 * $max_size; + $w->main and $val; } sub choosePackagesTree { my ($o, $packages, $compss) = @_; diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm index b06b193f7..f82091458 100644 --- a/perl-install/interactive.pm +++ b/perl-install/interactive.pm @@ -166,7 +166,7 @@ sub ask_many_from_list_ref { } sub ask_many_from_list_with_help_ref { my ($o, $title, $message, @l) = @_; - my @L = grep { $_->[0] } combine(3, @l) or return 1; + my @L = grep { @{$_->[0]} } combine(3, @l) or return 1; $o->ask_many_from_list_with_help_refW($title, [ deref($message) ], @L); } |