summaryrefslogtreecommitdiffstats
path: root/perl-install/interactive/gtk.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/interactive/gtk.pm')
-rw-r--r--perl-install/interactive/gtk.pm45
1 files changed, 23 insertions, 22 deletions
diff --git a/perl-install/interactive/gtk.pm b/perl-install/interactive/gtk.pm
index 226237e3a..22242a2d9 100644
--- a/perl-install/interactive/gtk.pm
+++ b/perl-install/interactive/gtk.pm
@@ -8,6 +8,7 @@ use vars qw(@ISA);
use interactive;
use common;
+use mygtk2;
use ugtk2 qw(:helpers :wrappers :create);
use Gtk2::Gdk::Keysyms;
@@ -438,7 +439,7 @@ sub ask_fromW {
$real_w = gtkpack_(Gtk2::HBox->new(0,10), 1, Gtk2::HBox->new(0,0), 0, $w, 1, Gtk2::HBox->new(0,0));
} elsif ($e->{type} eq 'bool') {
if ($e->{image}) {
- $w = gtkadd(Gtk2::CheckButton->new, gtkshow(gtkcreate_img($e->{image})));
+ $w = ugtk2::gtkadd(Gtk2::CheckButton->new, gtkshow(gtkcreate_img($e->{image})));
} else {
#- warn "\"text\" member should have been used instead of \"label\" one at:\n", common::backtrace(), "\n" if $e->{label} && !$e->{text};
$w = Gtk2::CheckButton->new_with_label($e->{text});
@@ -668,7 +669,7 @@ sub ask_fromW {
if ($buttons_pack) {
$pack->pack_end(gtkshow($buttons_pack), 0, 0, 0);
}
- gtkadd($mainw->{window}, $pack);
+ ugtk2::gtkadd($mainw->{window}, $pack);
$set_advanced->($common->{advanced_state});
my $widget_to_focus =
@@ -719,33 +720,33 @@ sub ask_from__add_modify_removeW {
$o->ask_from($title, $message, $l, %callback);
}
-sub wait_messageW($$$) {
- my ($o, $title, $messages) = @_;
+sub wait_messageW {
+ my ($_o, $title, $messages) = @_;
my @l = map { Gtk2::Label->new(scalar warp_text($_)) } @$messages;
- my $w = ugtk2->new($title, %$o, pop_it => !$::isInstall, grab => 1, if__($::main_window, transient => $::main_window));
- gtkadd($w->{window}, my $hbox = Gtk2::HBox->new(0,0));
- $hbox->pack_start(my $box = Gtk2::VBox->new(0,0), 1, 1, 10);
- $box->pack_start(shift @l, 0, 0, 4);
- $box->pack_start($_, 1, 1, 4) foreach @l;
-
- ($w->{wait_messageW} = $l[-1])->signal_connect(expose_event => sub { $w->{displayed} = 1; 0 });
- $w->{rwindow}->set_position('center') if $::isStandalone && !$::isEmbedded && !$::isWizard;
- $w->{window}->show_all;
- $w->sync until $w->{displayed};
- $w;
+
+ my $Window = gtknew('MagicWindow',
+ title => $title,
+ pop_it => !$::isInstall,
+ modal => 1,
+ if__($::main_window, transient_for => $::main_window),
+ child => gtknew('VBox', padding => 4, border_width => 10, children_loose => \@l));
+ $Window->{wait_messageW} = $l[-1];
+ mygtk2::sync($Window) if !$Window->{displayed};
+ $Window;
}
sub wait_message_nextW {
- my ($_o, $messages, $w) = @_;
+ my ($_o, $messages, $Window) = @_;
my $msg = warp_text(join "\n", @$messages);
- return if $msg eq $w->{wait_messageW}->get_text; #- needed otherwise no expose_event :(
- $w->{displayed} = 0;
- $w->{wait_messageW}->set($msg);
- $w->flush until $w->{displayed};
+ return if $msg eq $Window->{wait_messageW}->get_text; #- needed otherwise no expose_event :(
+ $Window->{displayed} = 0;
+ $Window->{wait_messageW}->set($msg);
+ mygtk2::sync($Window) if !$Window->{displayed};
}
sub wait_message_endW {
- my ($_o, $w) = @_;
- $w->destroy;
+ my ($_o, $Window) = @_;
+ mygtk2::may_destroy($Window);
+ mygtk2::flush();
}
sub kill {