diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/interactive.pm | 7 | ||||
-rw-r--r-- | perl-install/interactive_gtk.pm | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm index 00d450369..510c042fa 100644 --- a/perl-install/interactive.pm +++ b/perl-install/interactive.pm @@ -16,7 +16,8 @@ use common qw(:common :functional); #- advanced => wether it is shown in by default or only in advanced mode #- disabled => function returning wether it should be disabled (grayed) #- type => -#- button => (with clicked) (type defaults to button if clicked is there) +#- button => (with clicked) (type defaults to button if clicked is there) (val need not be a reference) +#- label => (val need not be a reference) (type defaults to label if val is not a reference) #- bool (with text) #- range (with min, max) #- combo (with list, not_edit) @@ -232,6 +233,10 @@ sub ask_from_entries_refH_powered_normalize { } elsif ($e->{type} eq 'button' || $e->{clicked}) { $e->{type} = 'button'; $e->{clicked} ||= sub {}; + $e->{val} = \ (my $v = $e->{val}) if !ref($e->{val}); + } elsif ($e->{type} eq 'label' || !ref($e->{val})) { + $e->{type} = 'label'; + $e->{val} = \ (my $v = $e->{val}) if !ref($e->{val}); } $e->{disabled} ||= sub { 0 }; } diff --git a/perl-install/interactive_gtk.pm b/perl-install/interactive_gtk.pm index db4064625..b7f84e6c8 100644 --- a/perl-install/interactive_gtk.pm +++ b/perl-install/interactive_gtk.pm @@ -361,6 +361,8 @@ sub ask_from_entries_refW { $w->signal_connect(clicked => $changed); $set = sub { $w->set_active($_[0]) }; $get = sub { $w->get_active }; + } elsif ($e->{type} eq 'label') { + $w = Gtk::Label->new(${$e->{val}}); } elsif ($e->{type} eq 'button') { $w = Gtk::Button->new(''); $w->signal_connect(clicked => sub { |