4159 In confirmation screen, when Back button is clicked, when you press Enter in other screens will not activate Next button by default
--- a/usr/src/cmd/gui-install/src/callbacks.c Fri Dec 12 12:11:41 2008 -0700
+++ b/usr/src/cmd/gui-install/src/callbacks.c Mon Dec 15 18:35:21 2008 +0800
@@ -414,6 +414,7 @@
gtk_widget_hide(MainWindow.UsersWindow.userstoplevel);
gtk_widget_show(MainWindow.installbutton);
gtk_widget_set_sensitive(MainWindow.installbutton, TRUE);
+ gtk_widget_grab_default(MainWindow.installbutton);
gtk_label_set_label(GTK_LABEL(MainWindow.userlabel),
MainWindow.InactiveStageTitles[USER_SCREEN]);
break;
@@ -421,6 +422,7 @@
show_upgrade_screen(FALSE);
gtk_widget_show(MainWindow.upgradebutton);
gtk_widget_set_sensitive(MainWindow.upgradebutton, TRUE);
+ gtk_widget_grab_default(MainWindow.upgradebutton);
gtk_label_set_label(GTK_LABEL(MainWindow.disklabel),
MainWindow.InactiveStageTitles[DISK_SCREEN]);
break;
@@ -509,6 +511,7 @@
gtk_widget_set_sensitive(MainWindow.upgradebutton, FALSE);
break;
}
+ gtk_widget_grab_default(MainWindow.quitbutton);
gtk_widget_show(
MainWindow.FailureWindow.failurewindowtable);
@@ -541,6 +544,7 @@
gtk_widget_show(MainWindow.rebootbutton);
gtk_widget_set_sensitive(MainWindow.quitbutton, TRUE);
+ gtk_widget_grab_default(MainWindow.rebootbutton);
gtk_widget_show(MainWindow.FinishWindow.finishbox);
gtk_label_set_label(GTK_LABEL(MainWindow.screentitlelabel),
MainWindow.ScreenTitles[FINISH_SCREEN]);
@@ -592,6 +596,7 @@
break;
}
gtk_widget_show(MainWindow.nextbutton);
+ gtk_widget_grab_default(MainWindow.nextbutton);
break;
case INSTALLATION_SCREEN:
/*
--- a/usr/src/cmd/gui-install/src/language-screen.c Fri Dec 12 12:11:41 2008 -0700
+++ b/usr/src/cmd/gui-install/src/language-screen.c Mon Dec 15 18:35:21 2008 +0800
@@ -336,6 +336,20 @@
}
}
+static gboolean
+on_treeview_key_press(GtkWidget *widget,
+ GdkEventKey *event,
+ gpointer user_data)
+{
+ if (event->keyval == GDK_Return) {
+ GtkWidget *toplevel = gtk_widget_get_toplevel(widget);
+
+ if (GTK_WIDGET_TOPLEVEL(toplevel))
+ gtk_window_activate_default(GTK_WINDOW(toplevel));
+ }
+ return (FALSE);
+}
+
GtkWidget *
language_screen_init(GladeXML *winxml)
{
@@ -387,6 +401,10 @@
gtk_tree_view_append_column(GTK_TREE_VIEW(LanguageWindow.language_tree), col);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(LanguageWindow.language_tree),
FALSE);
+ g_signal_connect(G_OBJECT(LanguageWindow.language_tree),
+ "key-press-event",
+ G_CALLBACK(on_treeview_key_press),
+ NULL);
language_init(LanguageWindow.language_tree);
gtk_widget_show_all(widget);