From 7b5ed359ef4437302c6f66193b3f8e97ac862753 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Tue, 19 Aug 2008 13:21:17 +0000 Subject: (_gtk__Install_Button) factorize new installer style button for further reusage --- perl-install/interactive/gtk.pm | 14 +++++--------- perl-install/mygtk2.pm | 13 +++++++++++++ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/perl-install/interactive/gtk.pm b/perl-install/interactive/gtk.pm index 5df2d1c4d..2e7593660 100644 --- a/perl-install/interactive/gtk.pm +++ b/perl-install/interactive/gtk.pm @@ -409,15 +409,11 @@ sub create_widget { $e->{grow} = 'fill'; my $children = [ if_($e->{message}, { type => 'only_label', no_indent => 1, val => \$e->{message} }), @{$e->{children}} ]; my $box = create_widgets_block($o, $children, $update, $ignore_ref); - $w = gtknew('Button', child => gtknew('HBox', spacing => 5, - children_tight => [ - gtknew('Image', file => 'advanced_expander'), - gtknew('Label', text => $e->{text}), - ], - ), - if_($::isInstall, relief => 'none'), - clicked => sub { ask_fromW($o, { }, $e->{children}) } - ); + $w = gtknew('HBox', children_tight => [ + gtknew('Install_Button', text => $e->{text}, + clicked => sub { ask_fromW($o, { }, $e->{children}) } + ) + ]); } elsif ($e->{type} =~ /list/) { $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ]; diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm index c13f3966c..cce8ebdb6 100644 --- a/perl-install/mygtk2.pm +++ b/perl-install/mygtk2.pm @@ -144,6 +144,19 @@ sub _gtk { $w; } +sub _gtk__Install_Button { + my ($w, $opts, $class) = @_; + local $opts->{widget_name} = 'Banner'; + local $opts->{padding} = [ 20, 0 ]; + local $opts->{child} = gtknew('HBox', spacing => 5, + children_tight => [ + gtknew('Image', file => 'advanced_expander'), + gtknew('Label', text => delete $opts->{text}), + ], + ); + local $opts->{relief} = 'none' if $::isInstall; + _gtk__Button($w, $opts, 'Button'); +} sub _gtk__Button { &_gtk_any_Button } sub _gtk__ToggleButton { &_gtk_any_Button } -- cgit v1.2.1