From f54ab91ff3f25d4e5370810f78c18115d310281c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 29 Oct 2022 11:31:35 -0400 Subject: [PATCH] Deprecate GtkFileChooser and implementations These are being replaced by GtkFileDialog. This commit only moves the headers for GtkFileChooserWidget and GtkFileChooserDialog to deprecated/, and keeps the implementations in gtk/, since they will eventually be salvaged into a private GtkFileChooserWindow. --- gtk/{ => deprecated}/gtkfilechooser.c | 50 ++++++++++++++++++++ gtk/{ => deprecated}/gtkfilechooser.h | 52 ++++++++++----------- gtk/{ => deprecated}/gtkfilechooserdialog.h | 4 +- gtk/{ => deprecated}/gtkfilechoosernative.h | 12 ++--- gtk/{ => deprecated}/gtkfilechooserwidget.h | 4 +- gtk/deprecated/meson.build | 5 ++ gtk/gtk.h | 8 ++-- gtk/gtkbookmarksmanager.c | 4 +- gtk/gtkcolorchooserdialog.c | 2 + gtk/gtkfilechoosercell.c | 1 - gtk/gtkfilechooserdialog.c | 10 +++- gtk/gtkfilechooserentry.h | 2 +- gtk/gtkfilechoosernative.c | 17 ++++++- gtk/gtkfilechoosernativeportal.c | 7 ++- gtk/gtkfilechoosernativeprivate.h | 2 +- gtk/gtkfilechoosernativequartz.c | 5 +- gtk/gtkfilechoosernativewin32.c | 5 +- gtk/gtkfilechooserprivate.h | 2 +- gtk/gtkfilechooserutils.c | 4 +- gtk/gtkfilechooserwidget.c | 12 +++-- gtk/gtkfilechooserwidgetprivate.h | 2 +- gtk/gtkfiledialog.c | 44 ++++++++++------- gtk/gtknativedialog.c | 5 -- gtk/inspector/logs.c | 1 - gtk/meson.build | 5 -- tests/testassistant.c | 2 + testsuite/gtk/widget-refcount.c | 2 + 27 files changed, 178 insertions(+), 91 deletions(-) rename gtk/{ => deprecated}/gtkfilechooser.c (94%) rename gtk/{ => deprecated}/gtkfilechooser.h (92%) rename gtk/{ => deprecated}/gtkfilechooserdialog.h (96%) rename gtk/{ => deprecated}/gtkfilechoosernative.h (93%) rename gtk/{ => deprecated}/gtkfilechooserwidget.h (96%) diff --git a/gtk/gtkfilechooser.c b/gtk/deprecated/gtkfilechooser.c similarity index 94% rename from gtk/gtkfilechooser.c rename to gtk/deprecated/gtkfilechooser.c index 847854307b..a6a92f702b 100644 --- a/gtk/gtkfilechooser.c +++ b/gtk/deprecated/gtkfilechooser.c @@ -24,6 +24,8 @@ #include "gtkmarshalers.h" +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + /** * GtkFileChooser: * @@ -67,6 +69,8 @@ * options. If a choice has no option, it will be rendered as a * check button with the given label; if a choice has options, it will * be rendered as a combo box. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ @@ -173,6 +177,8 @@ gtk_file_chooser_error_quark (void) * For example, an option to create a new folder might be shown * if the action is %GTK_FILE_CHOOSER_ACTION_SAVE but not if the * action is %GTK_FILE_CHOOSER_ACTION_OPEN. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead **/ void gtk_file_chooser_set_action (GtkFileChooser *chooser, @@ -190,6 +196,8 @@ gtk_file_chooser_set_action (GtkFileChooser *chooser, * Gets the type of operation that the file chooser is performing. * * Returns: the action that the file selector is performing + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GtkFileChooserAction gtk_file_chooser_get_action (GtkFileChooser *chooser) @@ -213,6 +221,8 @@ gtk_file_chooser_get_action (GtkFileChooser *chooser) * This is only relevant if the action is set to be * %GTK_FILE_CHOOSER_ACTION_OPEN or * %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser, @@ -231,6 +241,8 @@ gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser, * chooser. * * Returns: %TRUE if multiple files can be selected. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ gboolean gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser) @@ -253,6 +265,8 @@ gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser) * * This is only relevant if the action is not set to be * %GTK_FILE_CHOOSER_ACTION_OPEN. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_set_create_folders (GtkFileChooser *chooser, @@ -270,6 +284,8 @@ gtk_file_chooser_set_create_folders (GtkFileChooser *chooser, * Gets whether file chooser will offer to create new folders. * * Returns: %TRUE if the Create Folder button should be displayed. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ gboolean gtk_file_chooser_get_create_folders (GtkFileChooser *chooser) @@ -301,6 +317,8 @@ gtk_file_chooser_get_create_folders (GtkFileChooser *chooser) * * Please see the documentation for those functions for an example * of using [method@Gtk.FileChooser.set_current_name] as well. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead **/ void gtk_file_chooser_set_current_name (GtkFileChooser *chooser, @@ -326,6 +344,8 @@ gtk_file_chooser_set_current_name (GtkFileChooser *chooser, * whatever the contents of the entry are. Note also that this string is * in UTF-8 encoding, which is not necessarily the system’s encoding for * filenames. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ char * gtk_file_chooser_get_current_name (GtkFileChooser *chooser) @@ -362,6 +382,8 @@ gtk_file_chooser_unselect_all (GtkFileChooser *chooser) * * Returns: %TRUE if the folder could be changed successfully, %FALSE * otherwise. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ gboolean gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, @@ -382,6 +404,8 @@ gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, * Gets the current folder of @chooser as `GFile`. * * Returns: (transfer full) (nullable): the `GFile` for the current folder. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GFile * gtk_file_chooser_get_current_folder (GtkFileChooser *chooser) @@ -423,6 +447,8 @@ gtk_file_chooser_unselect_file (GtkFileChooser *chooser, * Returns: (transfer full): a list model containing a `GFile` for each * selected file and subfolder in the current folder. Free the returned * list with g_object_unref(). + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GListModel * gtk_file_chooser_get_files (GtkFileChooser *chooser) @@ -482,6 +508,8 @@ gtk_file_chooser_get_files (GtkFileChooser *chooser) * ``` * * Returns: Not useful + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ gboolean gtk_file_chooser_set_file (GtkFileChooser *chooser, @@ -511,6 +539,8 @@ gtk_file_chooser_set_file (GtkFileChooser *chooser, * * Returns: (transfer full) (nullable): a selected `GFile`. You own the * returned file; use g_object_unref() to release it. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GFile * gtk_file_chooser_get_file (GtkFileChooser *chooser) @@ -539,6 +569,8 @@ gtk_file_chooser_get_file (GtkFileChooser *chooser) * * Returns: %TRUE if the folder could be added successfully, * %FALSE otherwise. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ gboolean gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, @@ -561,6 +593,8 @@ gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, * * Returns: %TRUE if the folder could be removed successfully, * %FALSE otherwise. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ gboolean gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, @@ -601,6 +635,8 @@ gtk_file_chooser_add_filter (GtkFileChooser *chooser, * @filter: a `GtkFileFilter` * * Removes @filter from the list of filters that the user can select between. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_remove_filter (GtkFileChooser *chooser, @@ -648,6 +684,8 @@ gtk_file_chooser_get_filters (GtkFileChooser *chooser) * Setting the current filter when the list of filters is * empty is useful if you want to restrict the displayed * set of files without letting the user change it. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_set_filter (GtkFileChooser *chooser, @@ -666,6 +704,8 @@ gtk_file_chooser_set_filter (GtkFileChooser *chooser, * Gets the current filter. * * Returns: (nullable) (transfer none): the current filter + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GtkFileFilter * gtk_file_chooser_get_filter (GtkFileChooser *chooser) @@ -695,6 +735,8 @@ gtk_file_chooser_get_filter (GtkFileChooser *chooser) * @chooser may or may not affect the returned model. * * Returns: (transfer full): A list model of `GFile`s + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GListModel * gtk_file_chooser_get_shortcut_folders (GtkFileChooser *chooser) @@ -720,6 +762,8 @@ gtk_file_chooser_get_shortcut_folders (GtkFileChooser *chooser) * and you can obtain the user-selected value in the * [signal@Gtk.Dialog::response] signal handler using * [method@Gtk.FileChooser.get_choice]. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_add_choice (GtkFileChooser *chooser, @@ -740,6 +784,8 @@ gtk_file_chooser_add_choice (GtkFileChooser *chooser, * @id: the ID of the choice to remove * * Removes a 'choice' that has been added with gtk_file_chooser_add_choice(). + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_remove_choice (GtkFileChooser *chooser, @@ -761,6 +807,8 @@ gtk_file_chooser_remove_choice (GtkFileChooser *chooser, * gtk_file_chooser_add_choice(). * * For a boolean choice, the possible options are "true" and "false". + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_set_choice (GtkFileChooser *chooser, @@ -781,6 +829,8 @@ gtk_file_chooser_set_choice (GtkFileChooser *chooser, * Gets the currently selected option in the 'choice' with the given ID. * * Returns: (nullable): the ID of the currently selected option + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ const char * gtk_file_chooser_get_choice (GtkFileChooser *chooser, diff --git a/gtk/gtkfilechooser.h b/gtk/deprecated/gtkfilechooser.h similarity index 92% rename from gtk/gtkfilechooser.h rename to gtk/deprecated/gtkfilechooser.h index e5b68de3dd..a21c82c86f 100644 --- a/gtk/gtkfilechooser.h +++ b/gtk/deprecated/gtkfilechooser.h @@ -85,101 +85,101 @@ typedef enum { GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME } GtkFileChooserError; -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GQuark gtk_file_chooser_error_quark (void); /* Configuration */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_set_action (GtkFileChooser *chooser, GtkFileChooserAction action); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GtkFileChooserAction gtk_file_chooser_get_action (GtkFileChooser *chooser); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser, gboolean select_multiple); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_set_create_folders (GtkFileChooser *chooser, gboolean create_folders); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_file_chooser_get_create_folders (GtkFileChooser *chooser); /* Suggested name for the Save-type actions */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_set_current_name (GtkFileChooser *chooser, const char *name); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 char * gtk_file_chooser_get_current_name (GtkFileChooser *chooser); /* GFile manipulation */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GFile * gtk_file_chooser_get_file (GtkFileChooser *chooser); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_file_chooser_set_file (GtkFileChooser *chooser, GFile *file, GError **error); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GListModel * gtk_file_chooser_get_files (GtkFileChooser *chooser); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, GFile *file, GError **error); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GFile * gtk_file_chooser_get_current_folder (GtkFileChooser *chooser); /* List of user selectable filters */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_add_filter (GtkFileChooser *chooser, GtkFileFilter *filter); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_remove_filter (GtkFileChooser *chooser, GtkFileFilter *filter); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GListModel * gtk_file_chooser_get_filters (GtkFileChooser *chooser); /* Current filter */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_set_filter (GtkFileChooser *chooser, GtkFileFilter *filter); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GtkFileFilter * gtk_file_chooser_get_filter (GtkFileChooser *chooser); /* Per-application shortcut folders */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 gboolean gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GListModel * gtk_file_chooser_get_shortcut_folders (GtkFileChooser *chooser); /* Custom widgets */ -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_add_choice (GtkFileChooser *chooser, const char *id, const char *label, const char **options, const char **option_labels); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_remove_choice (GtkFileChooser *chooser, const char *id); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_set_choice (GtkFileChooser *chooser, const char *id, const char *option); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 const char * gtk_file_chooser_get_choice (GtkFileChooser *chooser, const char *id); diff --git a/gtk/gtkfilechooserdialog.h b/gtk/deprecated/gtkfilechooserdialog.h similarity index 96% rename from gtk/gtkfilechooserdialog.h rename to gtk/deprecated/gtkfilechooserdialog.h index 6271857cb9..40cab7da13 100644 --- a/gtk/gtkfilechooserdialog.h +++ b/gtk/deprecated/gtkfilechooserdialog.h @@ -24,7 +24,7 @@ #endif #include -#include +#include G_BEGIN_DECLS @@ -36,7 +36,7 @@ typedef struct _GtkFileChooserDialog GtkFileChooserDialog; GDK_AVAILABLE_IN_ALL GType gtk_file_chooser_dialog_get_type (void) G_GNUC_CONST; -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GtkWidget *gtk_file_chooser_dialog_new (const char *title, GtkWindow *parent, GtkFileChooserAction action, diff --git a/gtk/gtkfilechoosernative.h b/gtk/deprecated/gtkfilechoosernative.h similarity index 93% rename from gtk/gtkfilechoosernative.h rename to gtk/deprecated/gtkfilechoosernative.h index 7a779cb946..1d562cafb9 100644 --- a/gtk/gtkfilechoosernative.h +++ b/gtk/deprecated/gtkfilechoosernative.h @@ -23,7 +23,7 @@ #error "Only can be included directly." #endif -#include +#include #include G_BEGIN_DECLS @@ -33,21 +33,21 @@ G_BEGIN_DECLS GDK_AVAILABLE_IN_ALL G_DECLARE_FINAL_TYPE (GtkFileChooserNative, gtk_file_chooser_native, GTK, FILE_CHOOSER_NATIVE, GtkNativeDialog) -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GtkFileChooserNative *gtk_file_chooser_native_new (const char *title, GtkWindow *parent, GtkFileChooserAction action, const char *accept_label, const char *cancel_label); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 const char *gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self, const char *accept_label); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 const char *gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self); -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 void gtk_file_chooser_native_set_cancel_label (GtkFileChooserNative *self, const char *cancel_label); diff --git a/gtk/gtkfilechooserwidget.h b/gtk/deprecated/gtkfilechooserwidget.h similarity index 96% rename from gtk/gtkfilechooserwidget.h rename to gtk/deprecated/gtkfilechooserwidget.h index f4094c7dcb..9b96f5df48 100644 --- a/gtk/gtkfilechooserwidget.h +++ b/gtk/deprecated/gtkfilechooserwidget.h @@ -23,7 +23,7 @@ #error "Only can be included directly." #endif -#include +#include #include G_BEGIN_DECLS @@ -36,7 +36,7 @@ typedef struct _GtkFileChooserWidget GtkFileChooserWidget; GDK_AVAILABLE_IN_ALL GType gtk_file_chooser_widget_get_type (void) G_GNUC_CONST; -GDK_AVAILABLE_IN_ALL +GDK_DEPRECATED_IN_4_10 GtkWidget *gtk_file_chooser_widget_new (GtkFileChooserAction action); G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkFileChooserWidget, g_object_unref) diff --git a/gtk/deprecated/meson.build b/gtk/deprecated/meson.build index def0f5da5e..5c1ef2dad5 100644 --- a/gtk/deprecated/meson.build +++ b/gtk/deprecated/meson.build @@ -24,6 +24,7 @@ gtk_deprecated_sources = [ 'deprecated/gtkcombobox.c', 'deprecated/gtkcomboboxtext.c', 'deprecated/gtkentrycompletion.c', + 'deprecated/gtkfilechooser.c', 'deprecated/gtkfontbutton.c', 'deprecated/gtkfontchooser.c', 'deprecated/gtkiconview.c', @@ -71,6 +72,10 @@ gtk_deprecated_headers = [ 'deprecated/gtkcombobox.h', 'deprecated/gtkcomboboxtext.h', 'deprecated/gtkentrycompletion.h', + 'deprecated/gtkfilechooser.h', + 'deprecated/gtkfilechooserdialog.h', + 'deprecated/gtkfilechoosernative.h', + 'deprecated/gtkfilechooserwidget.h', 'deprecated/gtkfontbutton.h', 'deprecated/gtkfontchooser.h', 'deprecated/gtkfontchooserdialog.h', diff --git a/gtk/gtk.h b/gtk/gtk.h index 5a6ed8ca3e..d66cc2073d 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -124,10 +124,10 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include #include diff --git a/gtk/gtkbookmarksmanager.c b/gtk/gtkbookmarksmanager.c index b253a1514e..ff13ea493e 100644 --- a/gtk/gtkbookmarksmanager.c +++ b/gtk/gtkbookmarksmanager.c @@ -28,7 +28,9 @@ #include #include "gtkbookmarksmanagerprivate.h" -#include "gtkfilechooser.h" /* for the GError types */ +#include "deprecated/gtkfilechooser.h" /* for the GError types */ + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void _gtk_bookmark_free (gpointer data) diff --git a/gtk/gtkcolorchooserdialog.c b/gtk/gtkcolorchooserdialog.c index 4c3dad79ae..0833e7958d 100644 --- a/gtk/gtkcolorchooserdialog.c +++ b/gtk/gtkcolorchooserdialog.c @@ -47,6 +47,8 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS * [method@Gtk.ColorChooser.get_rgba]. * * `GtkColorChooserDialog` has been deprecated in favor of [class@Gtk.ColorDialog]. + * + * Deprecated: 4.10: Use [class@Gtk.ColorDialog] instead */ typedef struct _GtkColorChooserDialogClass GtkColorChooserDialogClass; diff --git a/gtk/gtkfilechoosercell.c b/gtk/gtkfilechoosercell.c index c14ae0a021..7d20c70f0a 100644 --- a/gtk/gtkfilechoosercell.c +++ b/gtk/gtkfilechoosercell.c @@ -30,7 +30,6 @@ #include "gtklistitem.h" #include "gtkselectionmodel.h" #include "gtkfilechooserutils.h" -#include "gtkfilechooserwidget.h" #include "gtkfilechooserwidgetprivate.h" struct _GtkFileChooserCell diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c index 853d304952..cb63d8c101 100644 --- a/gtk/gtkfilechooserdialog.c +++ b/gtk/gtkfilechooserdialog.c @@ -19,10 +19,10 @@ #include "config.h" -#include "gtkfilechooserdialog.h" +#include "deprecated/gtkfilechooserdialog.h" #include "gtkfilechooserprivate.h" -#include "gtkfilechooserwidget.h" +#include "deprecated/gtkfilechooserwidget.h" #include "gtkfilechooserwidgetprivate.h" #include "gtkfilechooserutils.h" #include "gtksizerequest.h" @@ -39,6 +39,8 @@ #include +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + /** * GtkFileChooserDialog: * @@ -209,6 +211,8 @@ * * To summarize, make sure you use a predefined response code * when you use `GtkFileChooserDialog` to ensure proper operation. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ typedef struct _GtkFileChooserDialogPrivate GtkFileChooserDialogPrivate; @@ -716,6 +720,8 @@ gtk_file_chooser_dialog_new_valist (const char *title, * This function is analogous to [ctor@Gtk.Dialog.new_with_buttons]. * * Returns: a new `GtkFileChooserDialog` + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GtkWidget * gtk_file_chooser_dialog_new (const char *title, diff --git a/gtk/gtkfilechooserentry.h b/gtk/gtkfilechooserentry.h index f7fd7428ec..e58adb0f8a 100644 --- a/gtk/gtkfilechooserentry.h +++ b/gtk/gtkfilechooserentry.h @@ -19,7 +19,7 @@ #ifndef __GTK_FILE_CHOOSER_ENTRY_H__ #define __GTK_FILE_CHOOSER_ENTRY_H__ -#include "gtkfilechooser.h" +#include "deprecated/gtkfilechooser.h" G_BEGIN_DECLS diff --git a/gtk/gtkfilechoosernative.c b/gtk/gtkfilechoosernative.c index 43418cdce9..7ec767c427 100644 --- a/gtk/gtkfilechoosernative.c +++ b/gtk/gtkfilechoosernative.c @@ -23,9 +23,8 @@ #include "gtknativedialogprivate.h" #include "gtkprivate.h" -#include "gtkfilechooserdialog.h" #include "gtkfilechooserprivate.h" -#include "gtkfilechooserwidget.h" +#include "deprecated/gtkfilechooserdialog.h" #include "gtkfilechooserwidgetprivate.h" #include "gtkfilechooserutils.h" #include "gtksizerequest.h" @@ -37,6 +36,8 @@ #include "gtklabel.h" #include "gtkfilefilterprivate.h" +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + /** * GtkFileChooserNative: * @@ -186,6 +187,8 @@ * are not supported: * * * Shortcut folders. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ enum { @@ -218,6 +221,8 @@ G_DEFINE_TYPE_WITH_CODE (GtkFileChooserNative, gtk_file_chooser_native, GTK_TYPE * Retrieves the custom label text for the accept button. * * Returns: (nullable): The custom label + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ const char * gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self) @@ -240,6 +245,8 @@ gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self) * a keyboard accelerator called a mnemonic. * * Pressing Alt and that key should activate the button. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self, @@ -260,6 +267,8 @@ gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self, * Retrieves the custom label text for the cancel button. * * Returns: (nullable): The custom label + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ const char * gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self) @@ -282,6 +291,8 @@ gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self) * a keyboard accelerator called a mnemonic. * * Pressing Alt and that key should activate the button. + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ void gtk_file_chooser_native_set_cancel_label (GtkFileChooserNative *self, @@ -527,6 +538,8 @@ gtk_file_chooser_native_init (GtkFileChooserNative *self) * Creates a new `GtkFileChooserNative`. * * Returns: a new `GtkFileChooserNative` + * + * Deprecated: 4.10: Use [class@Gtk.FileDialog] instead */ GtkFileChooserNative * gtk_file_chooser_native_new (const char *title, diff --git a/gtk/gtkfilechoosernativeportal.c b/gtk/gtkfilechoosernativeportal.c index c2b0e0f0e9..e1eee90e10 100644 --- a/gtk/gtkfilechoosernativeportal.c +++ b/gtk/gtkfilechoosernativeportal.c @@ -23,11 +23,8 @@ #include "gtknativedialogprivate.h" #include "gtkprivate.h" -#include "gtkfilechooserdialog.h" +#include "gtkdialog.h" #include "gtkfilechooserprivate.h" -#include "gtkfilechooserwidget.h" -#include "gtkfilechooserwidgetprivate.h" -#include "gtkfilechooserutils.h" #include "gtksizerequest.h" #include "gtktypebuiltins.h" #include "gtksettings.h" @@ -39,6 +36,8 @@ #include "gtkwindowprivate.h" +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + typedef struct { GtkFileChooserNative *self; diff --git a/gtk/gtkfilechoosernativeprivate.h b/gtk/gtkfilechoosernativeprivate.h index e8630238f6..eacb92cce3 100644 --- a/gtk/gtkfilechoosernativeprivate.h +++ b/gtk/gtkfilechoosernativeprivate.h @@ -19,7 +19,7 @@ #ifndef __GTK_FILE_CHOOSER_NATIVE_PRIVATE_H__ #define __GTK_FILE_CHOOSER_NATIVE_PRIVATE_H__ -#include +#include G_BEGIN_DECLS diff --git a/gtk/gtkfilechoosernativequartz.c b/gtk/gtkfilechoosernativequartz.c index 9a0b0da33d..3aa333062e 100644 --- a/gtk/gtkfilechoosernativequartz.c +++ b/gtk/gtkfilechoosernativequartz.c @@ -24,9 +24,8 @@ #include #include "gtkprivate.h" -#include "gtkfilechooserdialog.h" +#include "deprecated/gtkfilechooserdialog.h" #include "gtkfilechooserprivate.h" -#include "gtkfilechooserwidget.h" #include "gtkfilechooserwidgetprivate.h" #include "gtkfilechooserutils.h" #include "gtksizerequest.h" @@ -42,6 +41,8 @@ #include "macos/gdkmacosdisplay-private.h" #include "macos/gdkmacossurface-private.h" +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + typedef struct { GtkFileChooserNative *self; diff --git a/gtk/gtkfilechoosernativewin32.c b/gtk/gtkfilechoosernativewin32.c index 97150e650d..3362477736 100644 --- a/gtk/gtkfilechoosernativewin32.c +++ b/gtk/gtkfilechoosernativewin32.c @@ -29,9 +29,8 @@ #include "gtknativedialogprivate.h" #include "gtkprivate.h" -#include "gtkfilechooserdialog.h" +#include "deprecated/gtkfilechooserdialog.h" #include "gtkfilechooserprivate.h" -#include "gtkfilechooserwidget.h" #include "gtkfilechooserwidgetprivate.h" #include "gtkfilechooserutils.h" #include "gtksizerequest.h" @@ -48,6 +47,8 @@ #include #include +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + typedef struct { GtkFileChooserNative *self; diff --git a/gtk/gtkfilechooserprivate.h b/gtk/gtkfilechooserprivate.h index 305ce7f76d..ac6da257a4 100644 --- a/gtk/gtkfilechooserprivate.h +++ b/gtk/gtkfilechooserprivate.h @@ -19,7 +19,7 @@ #ifndef __GTK_FILE_CHOOSER_PRIVATE_H__ #define __GTK_FILE_CHOOSER_PRIVATE_H__ -#include "gtkfilechooser.h" +#include "deprecated/gtkfilechooser.h" #include "gtkfilesystemmodel.h" #include "deprecated/gtkliststore.h" #include "gtkrecentmanager.h" diff --git a/gtk/gtkfilechooserutils.c b/gtk/gtkfilechooserutils.c index d75a12b0b4..6739d3abb5 100644 --- a/gtk/gtkfilechooserutils.c +++ b/gtk/gtkfilechooserutils.c @@ -19,12 +19,14 @@ #include "config.h" #include "gtkfilechooserutils.h" -#include "gtkfilechooser.h" +#include "deprecated/gtkfilechooser.h" #include "gtktypebuiltins.h" #include "gtkprivate.h" #include +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + static gboolean delegate_set_current_folder (GtkFileChooser *chooser, GFile *file, GError **error); diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 6b358c7aa0..20a8f4abb2 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -19,7 +19,7 @@ #include "config.h" -#include "gtkfilechooserwidget.h" +#include "deprecated/gtkfilechooserwidget.h" #include "gtkfilechooserwidgetprivate.h" #include "gtkbitset.h" @@ -32,10 +32,10 @@ #include "gtkdroptarget.h" #include "gtkentry.h" #include "gtkfilechooserprivate.h" -#include "gtkfilechooserdialog.h" +#include "deprecated/gtkfilechooserdialog.h" +#include "deprecated/gtkfilechooser.h" #include "gtkfilechooserentry.h" #include "gtkfilechooserutils.h" -#include "gtkfilechooser.h" #include "gtkfilesystemmodel.h" #include "gtkfilethumbnail.h" #include "gtkgestureclick.h" @@ -107,6 +107,8 @@ #include #endif +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + /** * GtkFileChooserWidget: * @@ -119,6 +121,8 @@ * # CSS nodes * * `GtkFileChooserWidget` has a single CSS node with name filechooser. + * + * Deprecated: 4.10: Direct use of `GtkFileChooserWidget` is deprecated */ /* 150 mseconds of delay */ @@ -7258,6 +7262,8 @@ gtk_file_chooser_widget_init (GtkFileChooserWidget *impl) * `GtkFileChooserDialog`. * * Returns: a new `GtkFileChooserWidget` + * + * Deprecated: 4.10: Direct use of `GtkFileChooserWidget` is deprecated */ GtkWidget * gtk_file_chooser_widget_new (GtkFileChooserAction action) diff --git a/gtk/gtkfilechooserwidgetprivate.h b/gtk/gtkfilechooserwidgetprivate.h index 91fdddd962..6b0647d3d8 100644 --- a/gtk/gtkfilechooserwidgetprivate.h +++ b/gtk/gtkfilechooserwidgetprivate.h @@ -22,7 +22,7 @@ #define __GTK_FILE_CHOOSER_WIDGET_PRIVATE_H__ #include -#include "gtkfilechooserwidget.h" +#include "deprecated/gtkfilechooserwidget.h" #include "gtkselectionmodel.h" G_BEGIN_DECLS diff --git a/gtk/gtkfiledialog.c b/gtk/gtkfiledialog.c index 51554978ca..353ea32d20 100644 --- a/gtk/gtkfiledialog.c +++ b/gtk/gtkfiledialog.c @@ -21,8 +21,8 @@ #include "gtkfiledialog.h" -#include "gtk/gtkdialog.h" -#include "gtkfilechoosernative.h" +#include "gtkdialog.h" +#include "deprecated/gtkfilechoosernative.h" #include "gtkdialogerror.h" #include @@ -274,7 +274,9 @@ file_chooser_set_filters (GtkFileChooser *chooser, for (unsigned int i = 0; i < g_list_model_get_n_items (filters); i++) { GtkFileFilter *filter = g_list_model_get_item (filters, i); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS gtk_file_chooser_add_filter (chooser, filter); +G_GNUC_END_IGNORE_DEPRECATIONS g_object_unref (filter); } } @@ -291,11 +293,13 @@ file_chooser_set_shortcut_folders (GtkFileChooser *chooser, GFile *folder = g_list_model_get_item (shortcut_folders, i); GError *error = NULL; +G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (!gtk_file_chooser_add_shortcut_folder (chooser, folder, &error)) { g_critical ("%s", error->message); g_clear_error (&error); } +G_GNUC_END_IGNORE_DEPRECATIONS g_object_unref (folder); } @@ -613,12 +617,14 @@ response_cb (GTask *task, if (response == GTK_RESPONSE_ACCEPT) { +G_GNUC_BEGIN_IGNORE_DEPRECATIONS GtkFileChooser *chooser; GListModel *files; chooser = GTK_FILE_CHOOSER (g_task_get_task_data (task)); files = gtk_file_chooser_get_files (chooser); g_task_return_pointer (task, files, g_object_unref); +G_GNUC_END_IGNORE_DEPRECATIONS } else if (response == GTK_RESPONSE_CLOSE) g_task_return_new_error (task, GTK_DIALOG_ERROR, GTK_DIALOG_ERROR_ABORTED, "Aborted by application"); @@ -638,10 +644,13 @@ dialog_response (GtkDialog *dialog, response_cb (task, response); } +G_GNUC_BEGIN_IGNORE_DEPRECATIONS static GtkFileChooserNative * create_file_chooser (GtkFileDialog *self, GtkWindow *parent, GtkFileChooserAction action, + GFile *current_file, + const char *current_name, gboolean select_multiple) { GtkFileChooserNative *chooser; @@ -680,9 +689,14 @@ create_file_chooser (GtkFileDialog *self, file_chooser_set_shortcut_folders (GTK_FILE_CHOOSER (chooser), self->shortcut_folders); if (self->current_folder) gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser), self->current_folder, NULL); + if (current_file) + gtk_file_chooser_set_file (GTK_FILE_CHOOSER (chooser), current_file, NULL); + else if (current_name) + gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (chooser), current_name); return chooser; } +G_GNUC_END_IGNORE_DEPRECATIONS static GFile * finish_file_op (GtkFileDialog *self, @@ -753,10 +767,8 @@ gtk_file_dialog_open (GtkFileDialog *self, g_return_if_fail (GTK_IS_FILE_DIALOG (self)); - chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_OPEN, FALSE); - - if (current_file) - gtk_file_chooser_set_file (GTK_FILE_CHOOSER (chooser), current_file, NULL); + chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_OPEN, + current_file, NULL, FALSE); task = g_task_new (self, cancellable, callback, user_data); g_task_set_source_tag (task, gtk_file_dialog_open); @@ -831,10 +843,8 @@ gtk_file_dialog_select_folder (GtkFileDialog *self, g_return_if_fail (GTK_IS_FILE_DIALOG (self)); - chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, FALSE); - - if (current_folder) - gtk_file_chooser_set_file (GTK_FILE_CHOOSER (chooser), current_folder, NULL); + chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, + current_folder, NULL, FALSE); task = g_task_new (self, cancellable, callback, user_data); g_task_set_source_tag (task, gtk_file_dialog_select_folder); @@ -914,12 +924,8 @@ gtk_file_dialog_save (GtkFileDialog *self, g_return_if_fail (GTK_IS_FILE_DIALOG (self)); - chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_SAVE, FALSE); - - if (current_file) - gtk_file_chooser_set_file (GTK_FILE_CHOOSER (chooser), current_file, NULL); - else if (current_name) - gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (chooser), current_name); + chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_SAVE, + current_file, current_name, FALSE); task = g_task_new (self, cancellable, callback, user_data); g_task_set_source_tag (task, gtk_file_dialog_save); @@ -991,7 +997,8 @@ gtk_file_dialog_open_multiple (GtkFileDialog *self, g_return_if_fail (GTK_IS_FILE_DIALOG (self)); - chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_OPEN, TRUE); + chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_OPEN, + NULL, NULL, TRUE); task = g_task_new (self, cancellable, callback, user_data); g_task_set_source_tag (task, gtk_file_dialog_open_multiple); @@ -1064,7 +1071,8 @@ gtk_file_dialog_select_multiple_folders (GtkFileDialog *self, g_return_if_fail (GTK_IS_FILE_DIALOG (self)); - chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, TRUE); + chooser = create_file_chooser (self, parent, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, + NULL, NULL, TRUE); task = g_task_new (self, cancellable, callback, user_data); g_task_set_source_tag (task, gtk_file_dialog_select_multiple_folders); diff --git a/gtk/gtknativedialog.c b/gtk/gtknativedialog.c index 449a628ee2..7cd6e92ec1 100644 --- a/gtk/gtknativedialog.c +++ b/gtk/gtknativedialog.c @@ -22,11 +22,6 @@ #include "gtknativedialogprivate.h" #include "gtkprivate.h" -#include "gtkfilechooserdialog.h" -#include "gtkfilechooserprivate.h" -#include "gtkfilechooserwidget.h" -#include "gtkfilechooserwidgetprivate.h" -#include "gtkfilechooserutils.h" #include "gtksizerequest.h" #include "gtktypebuiltins.h" #include "gtksettings.h" diff --git a/gtk/inspector/logs.c b/gtk/inspector/logs.c index 14fcfe49ef..d4c69bb42e 100644 --- a/gtk/inspector/logs.c +++ b/gtk/inspector/logs.c @@ -27,7 +27,6 @@ #include "window.h" #include "gtktextview.h" -#include "gtkfilechooserdialog.h" #include "gtkcheckbutton.h" #include "gtklabel.h" #include "gtktooltip.h" diff --git a/gtk/meson.build b/gtk/meson.build index d47249005b..d31f1f9d33 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -223,7 +223,6 @@ gtk_public_sources = files([ 'gtkeventcontrollerscroll.c', 'gtkexpander.c', 'gtkexpression.c', - 'gtkfilechooser.c', 'gtkfilechooserdialog.c', 'gtkfilechoosernative.c', 'gtkfilechooserwidget.c', @@ -480,10 +479,6 @@ gtk_public_headers = files([ 'gtkeventcontrollerlegacy.h', 'gtkexpander.h', 'gtkexpression.h', - 'gtkfilechooser.h', - 'gtkfilechooserdialog.h', - 'gtkfilechoosernative.h', - 'gtkfilechooserwidget.h', 'gtkfiledialog.h', 'gtkfilefilter.h', 'gtkfilter.h', diff --git a/tests/testassistant.c b/tests/testassistant.c index d1a9ae2d4a..b478128842 100644 --- a/tests/testassistant.c +++ b/tests/testassistant.c @@ -23,6 +23,8 @@ #include +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + static GtkWidget* get_test_page (const char *text) { diff --git a/testsuite/gtk/widget-refcount.c b/testsuite/gtk/widget-refcount.c index cebd30982a..369ea16292 100644 --- a/testsuite/gtk/widget-refcount.c +++ b/testsuite/gtk/widget-refcount.c @@ -59,7 +59,9 @@ static void filechooserwidget (void) { /* We use GtkFileChooserWidget simply because it's a complex widget, that's it. */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS GtkWidget *w = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN); +G_GNUC_END_IGNORE_DEPRECATIONS gboolean finalized = FALSE; g_assert_true (g_object_is_floating (w)); -- 2.30.2