From 4785bd2c16ec201b13dcf879916eae4c81652072 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Tue, 2 Sep 2008 13:37:57 +0000 Subject: (create_boxradio,create_box_with_title,create_widget,get_label_width,main,reallyChooseDesktop) explain infamous 6 years old gnome bug #101968 workarounds --- perl-install/diskdrake/hd_gtk.pm | 1 + perl-install/install/steps_gtk.pm | 4 +++- perl-install/interactive/gtk.pm | 2 ++ perl-install/mygtk2.pm | 1 + perl-install/ugtk2.pm | 4 +++- 5 files changed, 10 insertions(+), 2 deletions(-) (limited to 'perl-install') diff --git a/perl-install/diskdrake/hd_gtk.pm b/perl-install/diskdrake/hd_gtk.pm index 5cdc46410..6a22c31fa 100644 --- a/perl-install/diskdrake/hd_gtk.pm +++ b/perl-install/diskdrake/hd_gtk.pm @@ -66,6 +66,7 @@ sub main { gtkpack_(Gtk2::VBox->new(0,7), 0, gtknew(($::isInstall ? ('Title1', 'label') : ('Label_Left', 'text')) => N("Click on a partition, choose a filesystem type then choose an action"), + # workaround infamous 6 years old gnome bug #101968: width => mygtk2::get_label_width() ), 1, (my $notebook_widget = Gtk2::Notebook->new), diff --git a/perl-install/install/steps_gtk.pm b/perl-install/install/steps_gtk.pm index 790849e6d..19a3da8cf 100644 --- a/perl-install/install/steps_gtk.pm +++ b/perl-install/install/steps_gtk.pm @@ -280,7 +280,9 @@ sub reallyChooseDesktop { ugtk2::gtkadd($w->{window}, gtknew('VBox', children => [ - 0, gtknew('Title2', width => mygtk2::get_label_width(), label => $message . + 0, gtknew('Title2', + # workaround infamous 6 years old gnome bug #101968: + width => mygtk2::get_label_width(), label => $message . N("Click on images in order to see a bigger preview")), 1, gtknew('HButtonBox', children_loose => \@l), 0, $w->create_okcancel(N("Next"), undef), diff --git a/perl-install/interactive/gtk.pm b/perl-install/interactive/gtk.pm index 61e38b37f..03832686a 100644 --- a/perl-install/interactive/gtk.pm +++ b/perl-install/interactive/gtk.pm @@ -50,6 +50,7 @@ sub create_boxradio { my $tips = Gtk2::Tooltips->new; mapn { my ($txt, $w) = @_; + # workaround infamous 6 years old gnome bug #101968: $w->child->set_size_request(mygtk2::get_label_width(), -1) if $e->{alignment} ne 'right'; $w->signal_connect(button_press_event => $double_click) if $double_click; @@ -398,6 +399,7 @@ sub create_widget { } elsif ($e->{type} eq 'only_label') { $w = $e->{title} ? gtknew('Title2', label => escape_text_for_TextView_markup_format(${$e->{val}}), + # workaround infamous 6 years old gnome bug #101968: if_($e->{alignment} ne 'right', width => mygtk2::get_label_width())) : gtknew('Label_Left', line_wrap => 1, text_markup => ${$e->{val}}); } elsif ($e->{type} eq 'label') { diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm index 8430e0cf4..d5113614e 100644 --- a/perl-install/mygtk2.pm +++ b/perl-install/mygtk2.pm @@ -1223,6 +1223,7 @@ sub get_main_window_size() { my ($width, $height) = $::real_windowwidth ? ($::real_windowwidth, $::real_windowheight) : $::isWizard ? (540, 360) : (600, 400); } +# in order to workaround infamous 6 years old gnome bug #101968: sub get_label_width() { first(mygtk2::get_main_window_size()) - 70; } diff --git a/perl-install/ugtk2.pm b/perl-install/ugtk2.pm index 4eb39660c..03e73c713 100644 --- a/perl-install/ugtk2.pm +++ b/perl-install/ugtk2.pm @@ -360,7 +360,9 @@ sub create_box_with_title { } else { my $new_label = sub { my ($txt) = @_; - ref($txt) ? $txt : gtknew('WrappedLabel', text_markup => $txt, width => mygtk2::get_label_width()); + ref($txt) ? $txt : gtknew('WrappedLabel', text_markup => $txt, + # workaround infamous 6 years old gnome bug #101968: + width => mygtk2::get_label_width()); }; gtkpack__($box, if_($::isWizard, gtknew('Label', height => 10)), -- cgit v1.2.1