When cancelling the app dialog return to the last item in combobox
https://bugzilla.gnome.org/show_bug.cgi?id=640011
This commit is contained in:
parent
9532e96db4
commit
6f4df09a04
@ -88,6 +88,7 @@ G_DEFINE_TYPE_WITH_CODE (GtkAppChooserButton, gtk_app_chooser_button, GTK_TYPE_C
|
|||||||
struct _GtkAppChooserButtonPrivate {
|
struct _GtkAppChooserButtonPrivate {
|
||||||
GtkListStore *store;
|
GtkListStore *store;
|
||||||
|
|
||||||
|
int last_active;
|
||||||
gchar *content_type;
|
gchar *content_type;
|
||||||
gboolean show_dialog_item;
|
gboolean show_dialog_item;
|
||||||
|
|
||||||
@ -200,7 +201,7 @@ other_application_dialog_response_cb (GtkDialog *dialog,
|
|||||||
/* reset the active item, otherwise we are stuck on
|
/* reset the active item, otherwise we are stuck on
|
||||||
* 'Other application...'
|
* 'Other application...'
|
||||||
*/
|
*/
|
||||||
gtk_combo_box_set_active (GTK_COMBO_BOX (self), 0);
|
gtk_combo_box_set_active (GTK_COMBO_BOX (self), self->priv->last_active);
|
||||||
gtk_widget_destroy (GTK_WIDGET (dialog));
|
gtk_widget_destroy (GTK_WIDGET (dialog));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -404,6 +405,7 @@ gtk_app_chooser_button_changed (GtkComboBox *object)
|
|||||||
{
|
{
|
||||||
name_quark = g_quark_from_string (name);
|
name_quark = g_quark_from_string (name);
|
||||||
g_signal_emit (self, signals[SIGNAL_CUSTOM_ITEM_ACTIVATED], name_quark, name);
|
g_signal_emit (self, signals[SIGNAL_CUSTOM_ITEM_ACTIVATED], name_quark, name);
|
||||||
|
self->priv->last_active = gtk_combo_box_get_active (object);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -413,6 +415,8 @@ gtk_app_chooser_button_changed (GtkComboBox *object)
|
|||||||
|
|
||||||
g_free (name);
|
g_free (name);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
self->priv->last_active = gtk_combo_box_get_active (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user