From 93ece96d98da7ccf62f78c77fb5ec837667cf193 Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Mon, 26 Jul 2010 00:32:24 +0100 Subject: [PATCH] Set 'Cancel' default for merge track dialog. User needs to select items first. --- src/dialog.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/dialog.c b/src/dialog.c index 255e6410..56e45a9d 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -453,6 +453,13 @@ GList *a_dialog_select_from_list ( GtkWindow *parent, GHashTable *tracks, GList GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); + /* When something is selected then OK */ + gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT ); + GtkWidget *response_w = NULL; +#if GTK_CHECK_VERSION (2, 20, 0) + /* Default to not apply - as initially nothing is selected! */ + response_w = gtk_dialog_get_widget_for_response ( GTK_DIALOG(dialog), GTK_RESPONSE_REJECT ); +#endif GtkWidget *label = gtk_label_new ( msg ); GtkListStore *store = gtk_list_store_new(1, G_TYPE_STRING); @@ -478,6 +485,9 @@ GList *a_dialog_select_from_list ( GtkWindow *parent, GHashTable *tracks, GList gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), view, FALSE, FALSE, 0); gtk_widget_show ( view ); + if ( response_w ) + gtk_widget_grab_focus ( response_w ); + while ( gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT ) { GList *names = NULL; -- 2.39.5