region: Dismiss dialog if the activated row was already ticked
This makes the dialog a bit friendlier to use. https://bugzilla.gnome.org/show_bug.cgi?id=752001
This commit is contained in:
parent
32653a0a65
commit
73644fdecc
1 changed files with 9 additions and 1 deletions
|
@ -36,6 +36,7 @@
|
|||
|
||||
|
||||
typedef struct {
|
||||
GtkWidget *done_button;
|
||||
GtkWidget *no_results;
|
||||
GtkListBoxRow *more_item;
|
||||
GtkWidget *filter_entry;
|
||||
|
@ -461,7 +462,13 @@ row_activated (GtkListBox *box,
|
|||
return;
|
||||
}
|
||||
new_locale_id = g_object_get_data (G_OBJECT (row), "locale-id");
|
||||
set_locale_id (chooser, new_locale_id);
|
||||
if (g_strcmp0 (new_locale_id, priv->region) == 0) {
|
||||
gtk_dialog_response (GTK_DIALOG (chooser),
|
||||
gtk_dialog_get_response_for_widget (GTK_DIALOG (chooser),
|
||||
priv->done_button));
|
||||
} else {
|
||||
set_locale_id (chooser, new_locale_id);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -498,6 +505,7 @@ cc_format_chooser_new (GtkWidget *parent)
|
|||
g_object_set_data_full (G_OBJECT (chooser), "private", priv, cc_format_chooser_private_free);
|
||||
g_object_set_data_full (G_OBJECT (chooser), "builder", builder, g_object_unref);
|
||||
|
||||
priv->done_button = WID ("ok-button");
|
||||
priv->filter_entry = WID ("region-filter-entry");
|
||||
priv->list = WID ("region-list");
|
||||
priv->scrolledwindow = WID ("region-scrolledwindow");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue