diff options
-rw-r--r-- | perl-install/Xconfigurator.pm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm index ee50b8594..ecbed05e1 100644 --- a/perl-install/Xconfigurator.pm +++ b/perl-install/Xconfigurator.pm @@ -682,6 +682,13 @@ sub chooseResolutionsGtk($$;$) { my $no_human; # is the w2_combo->entry changed by a human? my $set = sub { $ignore = 1; $_[0]->set_active(1); $ignore = 0; }; + my %monitor; + $monitor{$_} = [ gtkcreate_png("monitor-" . $_ . ".png") ] foreach (640, 800, 1024, 1280); + $monitor{1152} = [ gtkcreate_png("monitor-" . 1024 . ".png") ]; + $monitor{1600} = [ gtkcreate_png("monitor-" . 1280 . ".png") ]; + + my $pixmap_m = new Gtk::Pixmap( $monitor{$chosen_w}[0] , $monitor{$chosen_w}[1] ); + while (my ($w, $h) = each %w2h) { my $V = $w . "x" . $h; $w2widget{$w} = $r = new Gtk::RadioButton($r ? ($V, $r) : $V); @@ -707,7 +714,7 @@ sub chooseResolutionsGtk($$;$) { ), 1, gtkpack2(new Gtk::VBox(0,0), gtkpack2__(new Gtk::VBox(0, $::isEmbedded ? 15 : 0), - if_($::isEmbedded, $pix_monitor = gtkpng ("monitor")), + if_($::isEmbedded, $pixmap_m), if_(!$::isEmbedded, map {$w2widget{$_} } ikeys(%w2widget)), gtkpack2(new Gtk::HBox(0,0), create_packtable({ col_spacings => 5, row_spacings => 5}, @@ -743,6 +750,7 @@ sub chooseResolutionsGtk($$;$) { $w2_combo->entry->signal_connect(changed => sub { ($chosen_w) = $w2_combo->entry->get_text =~ /([^x]*)x.*/; $no_human ? $no_human=0 : $w2widget{$chosen_w}->set_active(1); + $pixmap_m->set($monitor{$chosen_w}[0], $monitor{$chosen_w}[1]); }); } &$set_depth(); |