summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/interactive.pm7
-rw-r--r--perl-install/interactive_gtk.pm2
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 {