aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-03-21 09:42:55 +0000
committerThierry Vignaud <tv@mandriva.org>2008-03-21 09:42:55 +0000
commit5d4e571c9047fde897937a5f73b717382af31bbe (patch)
treed9438eaa7a9b7addc61773f2b691a9ac97c01972
parent3e7b1254f6901934c99640481de0e6d522ad3cfa (diff)
downloadrpmdrake-5d4e571c9047fde897937a5f73b717382af31bbe.tar
rpmdrake-5d4e571c9047fde897937a5f73b717382af31bbe.tar.gz
rpmdrake-5d4e571c9047fde897937a5f73b717382af31bbe.tar.bz2
rpmdrake-5d4e571c9047fde897937a5f73b717382af31bbe.tar.xz
rpmdrake-5d4e571c9047fde897937a5f73b717382af31bbe.zip
make the focus default on "yes" in yes/no dialogs (Emmanuel Blindauer, #39123)
-rw-r--r--NEWS3
-rw-r--r--rpmdrake.pm16
2 files changed, 13 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 61d3f4c5..c9046890 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- make the focus default on "yes" in yes/no dialogs
+ (Emmanuel Blindauer, #39123)
+
Version 4.9.6 - 20 March 2008, Thierry Vignaud
- rpmdrake:
diff --git a/rpmdrake.pm b/rpmdrake.pm
index 4d2e1c37..4e2a3482 100644
--- a/rpmdrake.pm
+++ b/rpmdrake.pm
@@ -207,6 +207,7 @@ sub interactive_msg {
}
my $banner = $options{banner} ? getbanner() : undef;
my $text_w;
+ my $button_yes;
gtkadd(
$d->{window},
gtkpack_(
@@ -226,23 +227,23 @@ sub interactive_msg {
ref($options{yesno}) eq 'ARRAY' ? map {
my $label = $_;
gtksignal_connect(
- Gtk2::Button->new($label),
+ $button_yes = Gtk2::Button->new($label),
clicked => sub { $d->{retval} = $label; Gtk2->main_quit }
);
} @{$options{yesno}}
: (
$options{yesno} ? (
- gtksignal_connect(
- Gtk2::Button->new($options{text}{no} || N("No")),
+ gtksignal_connect(
+ Gtk2::Button->new($options{text}{no} || N("No")),
clicked => sub { $d->{retval} = 0; Gtk2->main_quit }
),
gtksignal_connect(
- Gtk2::Button->new($options{text}{yes} || N("Yes")),
+ $button_yes = Gtk2::Button->new($options{text}{yes} || N("Yes")),
clicked => sub { $d->{retval} = 1; Gtk2->main_quit }
),
)
: gtksignal_connect(
- Gtk2::Button->new(N("Ok")),
+ $button_yes = Gtk2::Button->new(N("Ok")),
clicked => sub { Gtk2->main_quit }
)
)
@@ -250,6 +251,7 @@ sub interactive_msg {
)
)
);
+ $d->{window}->set_focus($button_yes);
$text_w->set_size_request($typical_width*2, $options{scroll} ? 300 : -1);
$d->main;
return $d->{retval};
@@ -294,6 +296,7 @@ sub interactive_list {
} \@radios, $list,
) : gtkpack__(Gtk2::VBox->new(0, 0), @radios);
my $choice;
+ my $button_ok;
gtkadd(
$d->{window},
gtkpack__(
@@ -307,7 +310,7 @@ sub interactive_list {
Gtk2::Button->new(N("Cancel")), clicked => sub { Gtk2->main_quit }),
),
gtksignal_connect(
- Gtk2::Button->new(N("Ok")), clicked => sub {
+ $button_ok=Gtk2::Button->new(N("Ok")), clicked => sub {
each_index { $_->get_active and $choice = $::i } @radios;
Gtk2->main_quit;
}
@@ -315,6 +318,7 @@ sub interactive_list {
)
)
);
+ $d->{window}->set_focus($button_ok);
$d->main;
$choice;
}