diff --git a/ChangeLog b/ChangeLog index 442a54ab27..233b49d887 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-02-11 Matthias Clasen + + * gtk/gtkfilechooserbutton.c: Don't emit the file-set signal + if the file chooser dialog is canceled. But emit it if a file + is received via DND. + 2009-02-11 Matthias Clasen Bug 353196 – Add a file-set signal to GtkFileChooserButton diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index ee1d0d0c8f..3b95adeeda 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -1011,6 +1011,8 @@ dnd_select_folder_get_info_cb (GCancellable *cancellable, if (data->selected || data->uris[++data->i] == NULL) { + g_signal_emit (data->button, file_chooser_button_signals[FILE_SET], 0); + g_object_unref (data->button); g_object_unref (data->file); g_strfreev (data->uris); @@ -1096,6 +1098,7 @@ gtk_file_chooser_button_drag_data_received (GtkWidget *widget, NULL); g_object_unref (file); g_free (text); + g_signal_emit (button, file_chooser_button_signals[FILE_SET], 0); break; default: @@ -2694,7 +2697,9 @@ dialog_response_cb (GtkDialog *dialog, gtk_widget_set_sensitive (priv->combo_box, TRUE); gtk_widget_hide (priv->dialog); - g_signal_emit_by_name (user_data, "file-set"); + if (response == GTK_RESPONSE_ACCEPT || + response == GTK_RESPONSE_OK) + g_signal_emit (user_data, file_chooser_button_signals[FILE_SET], 0); }