From 5d428b98605a95522fc184f9a373c428a503ea94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= Date: Fri, 17 Dec 2021 15:36:18 +0000 Subject: [PATCH 01/36] build: Switch to GTK 4 -- DOESN'T BUILD Also use GTK 4-ready libportal and libgnome-desktop libraries. The gtk4 helper mock API is dropped now that we have the real thing. --- build-aux/flatpak/org.gnome.Nautilus.json | 2 +- build-aux/flatpak/org.gnome.Nautilus.yml | 2 +- libnautilus-extension/meson.build | 6 +- meson.build | 8 +- src/meson.build | 4 +- src/nautilus-application.c | 1 - src/nautilus-dnd.c | 1 - src/nautilus-file-operations.c | 5 +- src/nautilus-files-view.c | 3 +- src/nautilus-floating-bar.c | 1 - src/nautilus-gtk4-helpers.c | 218 ---------------------- src/nautilus-gtk4-helpers.h | 66 ------- src/nautilus-list-view.c | 1 - src/nautilus-notebook.c | 1 - src/nautilus-pathbar.c | 1 - src/nautilus-places-view.c | 1 - src/nautilus-properties-window.c | 1 - src/nautilus-query-editor.c | 1 - src/nautilus-search-popover.c | 1 - src/nautilus-special-location-bar.c | 1 - src/nautilus-toolbar.c | 1 - src/nautilus-trash-bar.c | 1 - src/nautilus-view-icon-controller.c | 1 - src/nautilus-window-slot.c | 1 - src/nautilus-window.c | 5 +- src/nautilus-x-content-bar.c | 1 - 26 files changed, 15 insertions(+), 320 deletions(-) delete mode 100644 src/nautilus-gtk4-helpers.c delete mode 100644 src/nautilus-gtk4-helpers.h diff --git a/build-aux/flatpak/org.gnome.Nautilus.json b/build-aux/flatpak/org.gnome.Nautilus.json index fb6213074e..f952cfeed2 100644 --- a/build-aux/flatpak/org.gnome.Nautilus.json +++ b/build-aux/flatpak/org.gnome.Nautilus.json @@ -118,7 +118,7 @@ "builddir": true, "config-opts": [ "-Ddocs=false", - "-Dbackends=gtk3", + "-Dbackends=gtk4", "--libdir=/app/lib", "--buildtype=debugoptimized" ], diff --git a/build-aux/flatpak/org.gnome.Nautilus.yml b/build-aux/flatpak/org.gnome.Nautilus.yml index 555f959050..af617396fc 100644 --- a/build-aux/flatpak/org.gnome.Nautilus.yml +++ b/build-aux/flatpak/org.gnome.Nautilus.yml @@ -86,7 +86,7 @@ modules: builddir: true config-opts: - "-Ddocs=false" - - "-Dbackends=gtk3" + - "-Dbackends=gtk4" - "--libdir=/app/lib" - "--buildtype=debugoptimized" sources: diff --git a/libnautilus-extension/meson.build b/libnautilus-extension/meson.build index ad791f60e4..6ceb53a14b 100644 --- a/libnautilus-extension/meson.build +++ b/libnautilus-extension/meson.build @@ -83,10 +83,10 @@ if get_option('introspection') '-DNAUTILUS_COMPILATION' ], sources: libnautilus_extension_sources, - nsversion: '3.0', + nsversion: '4.0', namespace: 'Nautilus', includes: [ - 'Gtk-3.0', + 'Gtk-4.0', 'Gio-2.0', 'GLib-2.0' ], @@ -115,7 +115,7 @@ pkgconfig.generate( requires: [ 'gio-2.0', 'glib-2.0', - 'gtk+-3.0' + 'gtk4' ], variables: [ 'exec_prefix=${prefix}', diff --git a/meson.build b/meson.build index c8f28ccb31..2f730bfbb9 100644 --- a/meson.build +++ b/meson.build @@ -107,14 +107,14 @@ gio_unix = dependency('gio-unix-2.0', version: glib_ver) glib = dependency('glib-2.0', version: glib_ver) gmodule = dependency('gmodule-no-export-2.0', version: glib_ver) gnome_autoar = dependency('gnome-autoar-0', version: '>= 0.4.0') -gnome_desktop = dependency('gnome-desktop-3.0', version: '>= 3.0.0') -gtk = dependency('gtk+-3.0', version: '>= 3.22.27') +gnome_desktop = dependency('gnome-desktop-4', version: '>= 1.0.0') libhandy = dependency('libhandy-1', version: '>= 1.1.90') +gtk = dependency('gtk4', version: '>= 4.6') libportal = [] -libportal_gtk3 = [] +libportal_gtk4 = [] if get_option('libportal') libportal = dependency('libportal', version: '>= 0.5') - libportal_gtk3 = dependency('libportal-gtk3', version: '>= 0.5') + libportal_gtk4 = dependency('libportal-gtk4', version: '>= 0.5') endif selinux = [] if get_option('selinux') diff --git a/src/meson.build b/src/meson.build index 4a11e4ed8a..7b9dc9832e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -65,8 +65,6 @@ libnautilus_sources = [ 'gtk/nautilusgtkplacesviewprivate.h', 'gtk/nautilusgtkplacesviewrow.c', 'gtk/nautilusgtkplacesviewrowprivate.h', - 'nautilus-gtk4-helpers.c', - 'nautilus-gtk4-helpers.h', 'nautilus-application.c', 'nautilus-application.h', 'nautilus-bookmark-list.c', @@ -267,7 +265,7 @@ nautilus_deps = [ gnome_desktop, libhandy, libportal, - libportal_gtk3, + libportal_gtk4, nautilus_extension, selinux, tracker_sparql, diff --git a/src/nautilus-application.c b/src/nautilus-application.c index e254c6513c..2eff0c4b09 100644 --- a/src/nautilus-application.c +++ b/src/nautilus-application.c @@ -65,7 +65,6 @@ #include "nautilus-view.h" #include "nautilus-window-slot.h" #include "nautilus-window.h" -#include "nautilus-gtk4-helpers.h" typedef struct { diff --git a/src/nautilus-dnd.c b/src/nautilus-dnd.c index 4803d52fa1..7477f0af8e 100644 --- a/src/nautilus-dnd.c +++ b/src/nautilus-dnd.c @@ -27,7 +27,6 @@ #include "nautilus-dnd.h" #include "nautilus-program-choosing.h" -#include "nautilus-gtk4-helpers.h" #include #include #include diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c index 7af3865aa6..0e9a19b21a 100644 --- a/src/nautilus-file-operations.c +++ b/src/nautilus-file-operations.c @@ -59,14 +59,13 @@ #include "nautilus-file-undo-operations.h" #include "nautilus-file-undo-manager.h" #include "nautilus-ui-utilities.h" -#include "nautilus-gtk4-helpers.h" #ifdef GDK_WINDOWING_X11 -#include +#include #endif #ifdef GDK_WINDOWING_WAYLAND -#include +#include #endif typedef struct diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c index ac2c0525b2..4437a25b3f 100644 --- a/src/nautilus-files-view.c +++ b/src/nautilus-files-view.c @@ -87,11 +87,10 @@ #include "nautilus-view-icon-controller.h" #include "nautilus-window.h" #include "nautilus-tracker-utilities.h" -#include "nautilus-gtk4-helpers.h" #ifdef HAVE_LIBPORTAL #include -#include +#include #endif /* Minimum starting update inverval */ diff --git a/src/nautilus-floating-bar.c b/src/nautilus-floating-bar.c index 095e7288b3..430d7ca9d2 100644 --- a/src/nautilus-floating-bar.c +++ b/src/nautilus-floating-bar.c @@ -24,7 +24,6 @@ #include #include "nautilus-floating-bar.h" -#include "nautilus-gtk4-helpers.h" #define HOVER_HIDE_TIMEOUT_INTERVAL 100 diff --git a/src/nautilus-gtk4-helpers.c b/src/nautilus-gtk4-helpers.c deleted file mode 100644 index 8f9c7bd356..0000000000 --- a/src/nautilus-gtk4-helpers.c +++ /dev/null @@ -1,218 +0,0 @@ -#include "nautilus-gtk4-helpers.h" - -void -adw_bin_set_child (AdwBin *bin, - GtkWidget *child) -{ - g_assert (GTK_IS_BIN (bin)); - - gtk_container_add (GTK_CONTAINER (bin), child); -} - -void -gtk_button_set_child (GtkButton *button, - GtkWidget *child) -{ - g_assert (GTK_IS_BUTTON (button)); - - gtk_container_add (GTK_CONTAINER (button), child); -} - -void -gtk_menu_button_set_child (GtkMenuButton *menu_button, - GtkWidget *child) -{ - g_assert (GTK_IS_MENU_BUTTON (menu_button)); - - gtk_container_add (GTK_CONTAINER (menu_button), child); -} - -void -gtk_box_append (GtkBox *box, - GtkWidget *child) -{ - g_assert (GTK_IS_BOX (box)); - - gtk_container_add (GTK_CONTAINER (box), child); -} - -void -gtk_box_remove (GtkBox *box, - GtkWidget *child) -{ - g_assert (GTK_IS_BOX (box)); - - gtk_container_remove (GTK_CONTAINER (box), child); -} - -void -gtk_overlay_set_child (GtkOverlay *overlay, - GtkWidget *child) -{ - g_assert (GTK_IS_OVERLAY (overlay)); - - gtk_container_add (GTK_CONTAINER (overlay), child); -} - -void -gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window, - GtkWidget *child) -{ - g_assert (GTK_IS_SCROLLED_WINDOW (scrolled_window)); - - gtk_container_add (GTK_CONTAINER (scrolled_window), child); -} - -void -gtk_list_box_row_set_child (GtkListBoxRow *row, - GtkWidget *child) -{ - g_assert (GTK_IS_LIST_BOX_ROW (row)); - - gtk_container_add (GTK_CONTAINER (row), child); -} - -void -gtk_info_bar_add_child (GtkInfoBar *info_bar, - GtkWidget *widget) -{ - g_assert (GTK_IS_INFO_BAR (info_bar)); - - gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (info_bar)), - widget); -} - -void -gtk_revealer_set_child (GtkRevealer *revealer, - GtkWidget *child) -{ - g_assert (GTK_IS_REVEALER (revealer)); - - gtk_container_add (GTK_CONTAINER (revealer), child); -} - -void -gtk_popover_set_child (GtkPopover *popover, - GtkWidget *child) -{ - g_assert (GTK_IS_POPOVER (popover)); - - gtk_container_add (GTK_CONTAINER (popover), child); -} - -void -gtk_check_button_set_active (GtkCheckButton *button, - gboolean setting) -{ - g_assert (GTK_IS_CHECK_BUTTON (button)); - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), setting); -} - - -void -gtk_center_box_set_start_widget (GtkCenterBox *center_box, - GtkWidget *widget) -{ - g_assert (GTK_IS_BOX (center_box)); - - gtk_box_pack_start (GTK_BOX (center_box), widget, FALSE, TRUE, 0); -} - -void -gtk_center_box_set_center_widget (GtkCenterBox *center_box, - GtkWidget *widget) -{ - g_assert (GTK_IS_BOX (center_box)); - - gtk_box_set_center_widget (GTK_BOX (center_box), widget); -} -void -gtk_center_box_set_end_widget (GtkCenterBox *center_box, - GtkWidget *widget) -{ - g_assert (GTK_IS_BOX (center_box)); - - gtk_box_pack_end (GTK_BOX (center_box), widget, FALSE, TRUE, 0); -} - -GtkWidget * -gtk_center_box_new (void) -{ - return gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); -} - -gboolean -gtk_check_button_get_active (GtkCheckButton *button) -{ - g_assert (GTK_IS_CHECK_BUTTON (button)); - - return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); -} - -GtkWidget * -gtk_widget_get_first_child (GtkWidget *widget) -{ - g_autoptr (GList) children = NULL; - - g_assert (GTK_IS_CONTAINER (widget)); - - children = gtk_container_get_children (GTK_CONTAINER (widget)); - if (children != NULL) - { - return GTK_WIDGET (children->data); - } - - return NULL; -} - -GtkWidget * -gtk_widget_get_focus_child (GtkWidget *widget) -{ - g_assert (GTK_IS_CONTAINER (widget)); - - return gtk_container_get_focus_child (GTK_CONTAINER (widget)); -} - -GtkWidget * -gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled) -{ - g_assert (GTK_IS_SCROLLED_WINDOW (scrolled)); - - return gtk_bin_get_child (GTK_BIN (scrolled)); -} - -GdkDisplay * -gtk_root_get_display (GtkRoot *root) -{ - g_assert (GTK_IS_WINDOW (root)); - - return gdk_screen_get_display (gtk_window_get_screen (GTK_WINDOW (root))); -} - -void -gtk_window_set_display (GtkWindow *window, - GdkDisplay *display) -{ - g_assert (GTK_IS_WINDOW (window)); - - gtk_window_set_screen (window, gdk_display_get_default_screen (display)); -} - -void -gtk_style_context_add_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider, - guint priority) -{ - gtk_style_context_add_provider_for_screen (gdk_display_get_default_screen (display), - provider, - priority); -} - -void -gtk_style_context_remove_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider) -{ - gtk_style_context_remove_provider_for_screen (gdk_display_get_default_screen (display), - provider); -} diff --git a/src/nautilus-gtk4-helpers.h b/src/nautilus-gtk4-helpers.h deleted file mode 100644 index 77bf8089dd..0000000000 --- a/src/nautilus-gtk4-helpers.h +++ /dev/null @@ -1,66 +0,0 @@ -#pragma once - -#include -#include -#include - -G_BEGIN_DECLS -#if GTK_MAJOR_VERSION < 4 - -#define AdwBin GtkBin -#define ADW_BIN GTK_BIN -#define GtkCenterBox GtkBox -#define GTK_CENTER_BOX GTK_BOX - -void adw_bin_set_child (AdwBin *bin, - GtkWidget *child); -void gtk_button_set_child (GtkButton *button, - GtkWidget *child); -void gtk_menu_button_set_child (GtkMenuButton *menu_button, - GtkWidget *child); -void gtk_box_append (GtkBox *box, - GtkWidget *child); -void gtk_box_remove (GtkBox *box, - GtkWidget *child); -void gtk_overlay_set_child (GtkOverlay *overlay, - GtkWidget *child); -void gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window, - GtkWidget *child); -void gtk_list_box_row_set_child (GtkListBoxRow *row, - GtkWidget *child); -void gtk_info_bar_add_child (GtkInfoBar *info_bar, - GtkWidget *widget); -void gtk_revealer_set_child (GtkRevealer *revealer, - GtkWidget *child); -void gtk_popover_set_child (GtkPopover *popover, - GtkWidget *child); -void gtk_check_button_set_active (GtkCheckButton *button, - gboolean setting); -void gtk_center_box_set_start_widget (GtkCenterBox *center_box, - GtkWidget *widget); -void gtk_center_box_set_center_widget (GtkCenterBox *center_box, - GtkWidget *widget); -void gtk_center_box_set_end_widget (GtkCenterBox *center_box, - GtkWidget *widget); - -GtkWidget *gtk_center_box_new (void); - -gboolean gtk_check_button_get_active (GtkCheckButton *button); -GtkWidget *gtk_widget_get_first_child (GtkWidget *widget); -GtkWidget *gtk_widget_get_focus_child (GtkWidget *widget); -GtkWidget *gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled); - -void gtk_style_context_add_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider, - guint priority); -void gtk_style_context_remove_provider_for_display (GdkDisplay *display, - GtkStyleProvider *provider); - -#define GTK_ROOT(root) ((GtkRoot *) GTK_WINDOW (root)) -typedef GtkWindow GtkRoot; -GdkDisplay *gtk_root_get_display (GtkRoot *root); -void gtk_window_set_display (GtkWindow *window, - GdkDisplay *display); - -#endif -G_END_DECLS diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c index 74c8e6f4dc..5309f1dfdd 100644 --- a/src/nautilus-list-view.c +++ b/src/nautilus-list-view.c @@ -54,7 +54,6 @@ #include "nautilus-ui-utilities.h" #include "nautilus-view.h" #include "nautilus-tracker-utilities.h" -#include "nautilus-gtk4-helpers.h" struct SelectionForeachData { diff --git a/src/nautilus-notebook.c b/src/nautilus-notebook.c index f36c722ee0..e5bc14d53e 100644 --- a/src/nautilus-notebook.c +++ b/src/nautilus-notebook.c @@ -29,7 +29,6 @@ #include "nautilus-window.h" #include "nautilus-window-slot.h" #include "nautilus-window-slot-dnd.h" -#include "nautilus-gtk4-helpers.h" #include #include diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c index dbe30162ec..f7e2e895a1 100644 --- a/src/nautilus-pathbar.c +++ b/src/nautilus-pathbar.c @@ -33,7 +33,6 @@ #include "nautilus-icon-names.h" #include "nautilus-trash-monitor.h" #include "nautilus-ui-utilities.h" -#include "nautilus-gtk4-helpers.h" #include "nautilus-window-slot-dnd.h" diff --git a/src/nautilus-places-view.c b/src/nautilus-places-view.c index a2edbfc85d..7ba5296fa0 100644 --- a/src/nautilus-places-view.c +++ b/src/nautilus-places-view.c @@ -26,7 +26,6 @@ #include "nautilus-toolbar-menu-sections.h" #include "nautilus-view.h" #include "nautilus-window-slot.h" -#include "nautilus-gtk4-helpers.h" typedef struct { diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c index c01c471ced..45b4f2d35f 100644 --- a/src/nautilus-properties-window.c +++ b/src/nautilus-properties-window.c @@ -47,7 +47,6 @@ #include "nautilus-signaller.h" #include "nautilus-ui-utilities.h" #include "nautilus-signaller.h" -#include "nautilus-gtk4-helpers.h" static GHashTable *windows; static GHashTable *pending_lists; diff --git a/src/nautilus-query-editor.c b/src/nautilus-query-editor.c index c880109208..938b2c63a7 100644 --- a/src/nautilus-query-editor.c +++ b/src/nautilus-query-editor.c @@ -35,7 +35,6 @@ #include "nautilus-search-popover.h" #include "nautilus-mime-actions.h" #include "nautilus-ui-utilities.h" -#include "nautilus-gtk4-helpers.h" struct _NautilusQueryEditor { diff --git a/src/nautilus-search-popover.c b/src/nautilus-search-popover.c index 20fde27532..fd77a911f9 100644 --- a/src/nautilus-search-popover.c +++ b/src/nautilus-search-popover.c @@ -24,7 +24,6 @@ #include "nautilus-file.h" #include "nautilus-ui-utilities.h" #include "nautilus-global-preferences.h" -#include "nautilus-gtk4-helpers.h" #define SEARCH_FILTER_MAX_YEARS 5 diff --git a/src/nautilus-special-location-bar.c b/src/nautilus-special-location-bar.c index d2a5597264..b959346dab 100644 --- a/src/nautilus-special-location-bar.c +++ b/src/nautilus-special-location-bar.c @@ -24,7 +24,6 @@ #include "nautilus-special-location-bar.h" #include "nautilus-enum-types.h" -#include "nautilus-gtk4-helpers.h" struct _NautilusSpecialLocationBar { diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c index c6f03517cb..6f2e43af44 100644 --- a/src/nautilus-toolbar.c +++ b/src/nautilus-toolbar.c @@ -37,7 +37,6 @@ #include "nautilus-toolbar-menu-sections.h" #include "nautilus-ui-utilities.h" #include "nautilus-window.h" -#include "nautilus-gtk4-helpers.h" #define OPERATION_MINIMUM_TIME 2 /*s */ #define NEEDS_ATTENTION_ANIMATION_TIMEOUT 2000 /*ms */ diff --git a/src/nautilus-trash-bar.c b/src/nautilus-trash-bar.c index af87dbdf15..6ce9955861 100644 --- a/src/nautilus-trash-bar.c +++ b/src/nautilus-trash-bar.c @@ -32,7 +32,6 @@ #include "nautilus-file.h" #include "nautilus-trash-monitor.h" #include "nautilus-ui-utilities.h" -#include "nautilus-gtk4-helpers.h" enum { diff --git a/src/nautilus-view-icon-controller.c b/src/nautilus-view-icon-controller.c index f567977711..f28414767c 100644 --- a/src/nautilus-view-icon-controller.c +++ b/src/nautilus-view-icon-controller.c @@ -9,7 +9,6 @@ #include "nautilus-directory.h" #include "nautilus-global-preferences.h" #include "nautilus-thumbnails.h" -#include "nautilus-gtk4-helpers.h" struct _NautilusViewIconController { diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c index 16ae23a4a9..909143e30b 100644 --- a/src/nautilus-window-slot.c +++ b/src/nautilus-window-slot.c @@ -48,7 +48,6 @@ #include #include "nautilus-ui-utilities.h" #include -#include "nautilus-gtk4-helpers.h" enum { diff --git a/src/nautilus-window.c b/src/nautilus-window.c index 8134fcb4e8..dfe3bd25bc 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -36,11 +36,11 @@ #include #ifdef GDK_WINDOWING_WAYLAND -#include +#include #endif #ifdef GDK_WINDOWING_X11 -#include +#include #endif #define DEBUG_FLAG NAUTILUS_DEBUG_WINDOW @@ -70,7 +70,6 @@ #include "nautilus-trash-monitor.h" #include "nautilus-ui-utilities.h" #include "nautilus-window-slot.h" -#include "nautilus-gtk4-helpers.h" /* Forward and back buttons on the mouse */ static gboolean mouse_extra_buttons = TRUE; diff --git a/src/nautilus-x-content-bar.c b/src/nautilus-x-content-bar.c index 03fa0cade3..5dfb0371a3 100644 --- a/src/nautilus-x-content-bar.c +++ b/src/nautilus-x-content-bar.c @@ -30,7 +30,6 @@ #include "nautilus-icon-info.h" #include "nautilus-file-utilities.h" #include "nautilus-program-choosing.h" -#include "nautilus-gtk4-helpers.h" struct _NautilusXContentBar { -- GitLab From cd57daeb139f775fcd9154c41c1e9a7da8123dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= Date: Fri, 17 Dec 2021 15:37:47 +0000 Subject: [PATCH 02/36] general: Port from libhandy to libadwaita libhandy is GTK 3-only. libadwaita is not only its functional successor, but also the new GNOME platform library, so it makes sense for a core GNOME app to depend on it for platform integration. --- meson.build | 2 +- src/meson.build | 2 +- src/nautilus-application.c | 4 +-- src/nautilus-compress-dialog-controller.c | 10 +++--- src/nautilus-preferences-window.c | 34 +++++++++---------- src/nautilus-properties-window.c | 4 +-- src/nautilus-properties-window.h | 4 +-- src/nautilus-special-location-bar.c | 4 +-- src/nautilus-special-location-bar.h | 3 +- src/nautilus-toolbar.c | 4 +-- src/nautilus-toolbar.h | 4 +-- src/nautilus-trash-bar.c | 8 ++--- src/nautilus-trash-bar.h | 3 +- src/nautilus-window.c | 4 +-- src/nautilus-window.h | 4 +-- src/nautilus-x-content-bar.c | 4 +-- src/nautilus-x-content-bar.h | 3 +- src/resources/ui/nautilus-compress-dialog.ui | 10 +++--- .../ui/nautilus-list-view-column-editor.ui | 4 +-- .../ui/nautilus-preferences-window.ui | 34 +++++++++---------- .../ui/nautilus-properties-window.ui | 4 +-- src/resources/ui/nautilus-toolbar.ui | 4 +-- src/resources/ui/nautilus-window.ui | 2 +- 23 files changed, 80 insertions(+), 79 deletions(-) diff --git a/meson.build b/meson.build index 2f730bfbb9..9d7784921c 100644 --- a/meson.build +++ b/meson.build @@ -108,8 +108,8 @@ glib = dependency('glib-2.0', version: glib_ver) gmodule = dependency('gmodule-no-export-2.0', version: glib_ver) gnome_autoar = dependency('gnome-autoar-0', version: '>= 0.4.0') gnome_desktop = dependency('gnome-desktop-4', version: '>= 1.0.0') -libhandy = dependency('libhandy-1', version: '>= 1.1.90') gtk = dependency('gtk4', version: '>= 4.6') +libadwaita = dependency('libadwaita-1', version: '>= 1.0') libportal = [] libportal_gtk4 = [] if get_option('libportal') diff --git a/src/meson.build b/src/meson.build index 7b9dc9832e..3ced869159 100644 --- a/src/meson.build +++ b/src/meson.build @@ -263,7 +263,7 @@ nautilus_deps = [ gmodule, gnome_autoar, gnome_desktop, - libhandy, + libadwaita, libportal, libportal_gtk4, nautilus_extension, diff --git a/src/nautilus-application.c b/src/nautilus-application.c index 2eff0c4b09..210c8eb5b9 100644 --- a/src/nautilus-application.c +++ b/src/nautilus-application.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include #include @@ -1272,7 +1272,7 @@ nautilus_application_startup_common (NautilusApplication *self) */ G_APPLICATION_CLASS (nautilus_application_parent_class)->startup (G_APPLICATION (self)); - hdy_init (); + adw_init (); gtk_window_set_default_icon_name (APPLICATION_ID); diff --git a/src/nautilus-compress-dialog-controller.c b/src/nautilus-compress-dialog-controller.c index 687cb5558d..839b527cb6 100644 --- a/src/nautilus-compress-dialog-controller.c +++ b/src/nautilus-compress-dialog-controller.c @@ -19,7 +19,7 @@ #include #include -#include +#include #include @@ -240,7 +240,7 @@ update_selected_format (NautilusCompressDialogController *self, } static void -zip_row_on_activated (HdyActionRow *row, +zip_row_on_activated (AdwActionRow *row, gpointer user_data) { NautilusCompressDialogController *controller; @@ -253,7 +253,7 @@ zip_row_on_activated (HdyActionRow *row, } static void -encrypted_zip_row_on_activated (HdyActionRow *row, +encrypted_zip_row_on_activated (AdwActionRow *row, gpointer user_data) { NautilusCompressDialogController *controller; @@ -266,7 +266,7 @@ encrypted_zip_row_on_activated (HdyActionRow *row, } static void -tar_xz_row_on_activated (HdyActionRow *row, +tar_xz_row_on_activated (AdwActionRow *row, gpointer user_data) { NautilusCompressDialogController *controller; @@ -279,7 +279,7 @@ tar_xz_row_on_activated (HdyActionRow *row, } static void -seven_zip_row_on_activated (HdyActionRow *row, +seven_zip_row_on_activated (AdwActionRow *row, gpointer user_data) { NautilusCompressDialogController *controller; diff --git a/src/nautilus-preferences-window.c b/src/nautilus-preferences-window.c index 996ba559a4..b3a701927b 100644 --- a/src/nautilus-preferences-window.c +++ b/src/nautilus-preferences-window.c @@ -27,7 +27,7 @@ #include #include -#include +#include #include @@ -74,7 +74,7 @@ static GtkWidget *preferences_window = NULL; static void list_store_append_string (GListStore *list_store, const gchar *string) { - g_autoptr (HdyValueObject) obj = hdy_value_object_new_string (string); + g_autoptr (GtkStringObject) obj = gtk_string_object_new (string); g_list_store_append (list_store, obj); } @@ -84,10 +84,10 @@ static void free_column_names_array(GPtrArray *column_names) g_ptr_array_free (column_names, TRUE); } -static void create_icon_caption_combo_row_items(HdyComboRow *combo_row, +static void create_icon_caption_combo_row_items(AdwComboRow *combo_row, GList *columns) { - GListStore *list_store = g_list_store_new (HDY_TYPE_VALUE_OBJECT); + GListStore *list_store = g_list_store_new (GTK_TYPE_STRING_OBJECT); GList *l; GPtrArray *column_names; @@ -120,14 +120,12 @@ static void create_icon_caption_combo_row_items(HdyComboRow *combo_row, g_free (label); } - hdy_combo_row_bind_name_model (combo_row, G_LIST_MODEL (list_store), - (HdyComboRowGetNameFunc) hdy_value_object_dup_string, - NULL, NULL); + adw_combo_row_set_model (combo_row, G_LIST_MODEL (list_store)); g_object_set_data_full (G_OBJECT (combo_row), "column_names", column_names, (GDestroyNotify) free_column_names_array); } -static void icon_captions_changed_callback(HdyComboRow *widget, +static void icon_captions_changed_callback(AdwComboRow *widget, GParamSpec *pspec, gpointer user_data) { @@ -148,7 +146,7 @@ static void icon_captions_changed_callback(HdyComboRow *widget, combo_row = GTK_WIDGET ( gtk_builder_get_object (builder, icon_captions_components[i])); - selected_index = hdy_combo_row_get_selected_index (HDY_COMBO_ROW (combo_row)); + selected_index = adw_combo_row_get_selected (ADW_COMBO_ROW (combo_row)); column_names = g_object_get_data (G_OBJECT (combo_row), "column_names"); @@ -182,7 +180,7 @@ static void update_caption_combo_row(GtkBuilder *builder, { if (!strcmp (name, g_ptr_array_index (column_names, i))) { - hdy_combo_row_set_selected_index (HDY_COMBO_ROW (combo_row), i); + adw_combo_row_set_selected (ADW_COMBO_ROW (combo_row), i); break; } } @@ -242,11 +240,11 @@ nautilus_preferences_window_setup_icon_caption_page (GtkBuilder *builder) combo_row = GTK_WIDGET ( gtk_builder_get_object (builder, icon_captions_components[i])); - create_icon_caption_combo_row_items (HDY_COMBO_ROW (combo_row), columns); + create_icon_caption_combo_row_items (ADW_COMBO_ROW (combo_row), columns); gtk_widget_set_sensitive (combo_row, writable); g_signal_connect_data ( - combo_row, "notify::selected-index", G_CALLBACK (icon_captions_changed_callback), + combo_row, "notify::selected", G_CALLBACK (icon_captions_changed_callback), g_object_ref (builder), (GClosureNotify) g_object_unref, 0); } @@ -302,7 +300,7 @@ static void bind_builder_combo_row(GtkBuilder *builder, const char **values) { g_settings_bind_with_mapping (settings, prefs, gtk_builder_get_object (builder, widget_name), - "selected-index", G_SETTINGS_BIND_DEFAULT, + "selected", G_SETTINGS_BIND_DEFAULT, combo_row_mapping_get, combo_row_mapping_set, (gpointer) values, NULL); } @@ -311,20 +309,20 @@ static void setup_combo (GtkBuilder *builder, const char *widget_name, const char **strings) { - HdyComboRow *combo_row; + AdwComboRow *combo_row; GListStore *list_store; - combo_row = (HdyComboRow *) gtk_builder_get_object (builder, widget_name); - g_assert (HDY_IS_COMBO_ROW (combo_row)); + combo_row = (AdwComboRow *) gtk_builder_get_object (builder, widget_name); + g_assert (ADW_IS_COMBO_ROW (combo_row)); - list_store = g_list_store_new (HDY_TYPE_VALUE_OBJECT); + list_store = g_list_store_new (GTK_TYPE_STRING_OBJECT); for (gsize i = 0; strings[i]; i++) { list_store_append_string (list_store, strings[i]); } - hdy_combo_row_bind_name_model (combo_row, G_LIST_MODEL (list_store), (HdyComboRowGetNameFunc) hdy_value_object_dup_string, NULL, NULL); + adw_combo_row_set_model (combo_row, G_LIST_MODEL (list_store)); } static void nautilus_preferences_window_setup(GtkBuilder *builder, diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c index 45b4f2d35f..9198584359 100644 --- a/src/nautilus-properties-window.c +++ b/src/nautilus-properties-window.c @@ -71,7 +71,7 @@ typedef struct struct _NautilusPropertiesWindow { - HdyWindow parent_instance; + AdwWindow parent_instance; GList *original_files; GList *target_files; @@ -315,7 +315,7 @@ static void name_field_activate (GtkWidget *name_field, gpointer user_data); static void setup_pie_widget (NautilusPropertiesWindow *self); -G_DEFINE_TYPE (NautilusPropertiesWindow, nautilus_properties_window, HDY_TYPE_WINDOW); +G_DEFINE_TYPE (NautilusPropertiesWindow, nautilus_properties_window, ADW_TYPE_WINDOW); static gboolean is_multi_file_window (NautilusPropertiesWindow *self) diff --git a/src/nautilus-properties-window.h b/src/nautilus-properties-window.h index 84f8166a9b..4b769bd1a5 100644 --- a/src/nautilus-properties-window.h +++ b/src/nautilus-properties-window.h @@ -24,13 +24,13 @@ #pragma once #include -#include +#include #define NAUTILUS_TYPE_PROPERTIES_WINDOW (nautilus_properties_window_get_type ()) G_DECLARE_FINAL_TYPE (NautilusPropertiesWindow, nautilus_properties_window, NAUTILUS, PROPERTIES_WINDOW, - HdyWindow) + AdwWindow) typedef void (* NautilusPropertiesWindowCallback) (gpointer callback_data); diff --git a/src/nautilus-special-location-bar.c b/src/nautilus-special-location-bar.c index b959346dab..4e81ff3b51 100644 --- a/src/nautilus-special-location-bar.c +++ b/src/nautilus-special-location-bar.c @@ -27,7 +27,7 @@ struct _NautilusSpecialLocationBar { - GtkBin parent_instance; + AdwBin parent_instance; GtkWidget *label; GtkWidget *learn_more_label; @@ -40,7 +40,7 @@ enum PROP_SPECIAL_LOCATION, }; -G_DEFINE_TYPE (NautilusSpecialLocationBar, nautilus_special_location_bar, GTK_TYPE_BIN) +G_DEFINE_TYPE (NautilusSpecialLocationBar, nautilus_special_location_bar, ADW_TYPE_BIN) static void set_special_location (NautilusSpecialLocationBar *bar, diff --git a/src/nautilus-special-location-bar.h b/src/nautilus-special-location-bar.h index 3d07c7171d..58928d9f83 100644 --- a/src/nautilus-special-location-bar.h +++ b/src/nautilus-special-location-bar.h @@ -20,11 +20,12 @@ #include #include +#include G_BEGIN_DECLS #define NAUTILUS_TYPE_SPECIAL_LOCATION_BAR (nautilus_special_location_bar_get_type ()) -G_DECLARE_FINAL_TYPE (NautilusSpecialLocationBar, nautilus_special_location_bar, NAUTILUS, SPECIAL_LOCATION_BAR, GtkBin) +G_DECLARE_FINAL_TYPE (NautilusSpecialLocationBar, nautilus_special_location_bar, NAUTILUS, SPECIAL_LOCATION_BAR, AdwBin) typedef enum { NAUTILUS_SPECIAL_LOCATION_TEMPLATES, diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c index 6f2e43af44..e725869fc5 100644 --- a/src/nautilus-toolbar.c +++ b/src/nautilus-toolbar.c @@ -53,7 +53,7 @@ typedef enum struct _NautilusToolbar { - GtkBin parent_instance; + AdwBin parent_instance; NautilusWindow *window; @@ -120,7 +120,7 @@ enum static GParamSpec *properties[NUM_PROPERTIES] = { NULL, }; -G_DEFINE_TYPE (NautilusToolbar, nautilus_toolbar, GTK_TYPE_BIN); +G_DEFINE_TYPE (NautilusToolbar, nautilus_toolbar, ADW_TYPE_BIN); static void nautilus_toolbar_set_window_slot_real (NautilusToolbar *self, NautilusWindowSlot *slot); diff --git a/src/nautilus-toolbar.h b/src/nautilus-toolbar.h index 6f49acee11..e67aeedbaf 100644 --- a/src/nautilus-toolbar.h +++ b/src/nautilus-toolbar.h @@ -24,7 +24,7 @@ #pragma once #include -#include +#include #include "nautilus-window-slot.h" @@ -32,7 +32,7 @@ G_BEGIN_DECLS #define NAUTILUS_TYPE_TOOLBAR nautilus_toolbar_get_type() -G_DECLARE_FINAL_TYPE (NautilusToolbar, nautilus_toolbar, NAUTILUS, TOOLBAR, GtkBin) +G_DECLARE_FINAL_TYPE (NautilusToolbar, nautilus_toolbar, NAUTILUS, TOOLBAR, AdwBin) GtkWidget *nautilus_toolbar_new (void); diff --git a/src/nautilus-trash-bar.c b/src/nautilus-trash-bar.c index 6ce9955861..42bdfd69cb 100644 --- a/src/nautilus-trash-bar.c +++ b/src/nautilus-trash-bar.c @@ -48,13 +48,13 @@ enum struct _NautilusTrashBar { - GtkBin parent_instance; + AdwBin parent_instance; NautilusFilesView *view; gulong selection_handler_id; }; -G_DEFINE_TYPE (NautilusTrashBar, nautilus_trash_bar, GTK_TYPE_BIN) +G_DEFINE_TYPE (NautilusTrashBar, nautilus_trash_bar, ADW_TYPE_BIN) static void selection_changed_cb (NautilusFilesView *view, @@ -67,7 +67,7 @@ selection_changed_cb (NautilusFilesView *view, selection = nautilus_view_get_selection (NAUTILUS_VIEW (view)); count = g_list_length (selection); - info_bar = gtk_bin_get_child (GTK_BIN (bar)); + info_bar = adw_bin_get_child (ADW_BIN (bar)); gtk_info_bar_set_response_sensitive (GTK_INFO_BAR (info_bar), TRASH_BAR_RESPONSE_RESTORE, (count > 0)); @@ -129,7 +129,7 @@ nautilus_trash_bar_trash_state_changed (NautilusTrashMonitor *trash_monitor, bar = NAUTILUS_TRASH_BAR (data); - info_bar = gtk_bin_get_child (GTK_BIN (bar)); + info_bar = adw_bin_get_child (ADW_BIN (bar)); gtk_info_bar_set_response_sensitive (GTK_INFO_BAR (info_bar), TRASH_BAR_RESPONSE_EMPTY, !nautilus_trash_monitor_is_empty ()); diff --git a/src/nautilus-trash-bar.h b/src/nautilus-trash-bar.h index 9fc4ffa500..4f03f2edc8 100644 --- a/src/nautilus-trash-bar.h +++ b/src/nautilus-trash-bar.h @@ -23,12 +23,13 @@ #include "nautilus-files-view.h" #include +#include G_BEGIN_DECLS #define NAUTILUS_TYPE_TRASH_BAR (nautilus_trash_bar_get_type ()) -G_DECLARE_FINAL_TYPE (NautilusTrashBar, nautilus_trash_bar, NAUTILUS, TRASH_BAR, GtkBin) +G_DECLARE_FINAL_TYPE (NautilusTrashBar, nautilus_trash_bar, NAUTILUS, TRASH_BAR, AdwBin) GtkWidget *nautilus_trash_bar_new (NautilusFilesView *view); diff --git a/src/nautilus-window.c b/src/nautilus-window.c index dfe3bd25bc..4272d607d1 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -98,7 +98,7 @@ static void nautilus_window_back_or_forward (NautilusWindow *window, struct _NautilusWindow { - HdyApplicationWindow parent_instance; + AdwApplicationWindow parent_instance; GtkWidget *notebook; @@ -168,7 +168,7 @@ enum static guint signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE (NautilusWindow, nautilus_window, HDY_TYPE_APPLICATION_WINDOW); +G_DEFINE_TYPE (NautilusWindow, nautilus_window, ADW_TYPE_APPLICATION_WINDOW); static const GtkPadActionEntry pad_actions[] = { diff --git a/src/nautilus-window.h b/src/nautilus-window.h index af38441f1c..72fc5d9878 100644 --- a/src/nautilus-window.h +++ b/src/nautilus-window.h @@ -27,14 +27,14 @@ #pragma once #include -#include +#include #include "nautilus-types.h" G_BEGIN_DECLS #define NAUTILUS_TYPE_WINDOW (nautilus_window_get_type ()) -G_DECLARE_FINAL_TYPE (NautilusWindow, nautilus_window, NAUTILUS, WINDOW, HdyApplicationWindow); +G_DECLARE_FINAL_TYPE (NautilusWindow, nautilus_window, NAUTILUS, WINDOW, AdwApplicationWindow); typedef gboolean (* NautilusWindowGoToCallback) (NautilusWindow *window, GFile *location, diff --git a/src/nautilus-x-content-bar.c b/src/nautilus-x-content-bar.c index 5dfb0371a3..85dd0d0614 100644 --- a/src/nautilus-x-content-bar.c +++ b/src/nautilus-x-content-bar.c @@ -33,7 +33,7 @@ struct _NautilusXContentBar { - GtkBin parent_instance; + AdwBin parent_instance; GtkWidget *label; char **x_content_types; @@ -189,7 +189,7 @@ nautilus_x_content_bar_set_x_content_types (NautilusXContentBar *bar, } name = g_app_info_get_name (default_app); - info_bar = gtk_bin_get_child (GTK_BIN (bar)); + info_bar = adw_bin_get_child (ADW_BIN (bar)); button = gtk_info_bar_add_button (GTK_INFO_BAR (info_bar), name, n); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); diff --git a/src/nautilus-x-content-bar.h b/src/nautilus-x-content-bar.h index af7bcaefe3..11f05ec911 100644 --- a/src/nautilus-x-content-bar.h +++ b/src/nautilus-x-content-bar.h @@ -24,12 +24,13 @@ #include #include +#include G_BEGIN_DECLS #define NAUTILUS_TYPE_X_CONTENT_BAR (nautilus_x_content_bar_get_type ()) -G_DECLARE_FINAL_TYPE (NautilusXContentBar, nautilus_x_content_bar, NAUTILUS, X_CONTENT_BAR, GtkBin) +G_DECLARE_FINAL_TYPE (NautilusXContentBar, nautilus_x_content_bar, NAUTILUS, X_CONTENT_BAR, AdwBin) GtkWidget *nautilus_x_content_bar_new (GMount *mount, const char * const *x_content_types); diff --git a/src/resources/ui/nautilus-compress-dialog.ui b/src/resources/ui/nautilus-compress-dialog.ui index 050a1360ce..7a5ad40dfa 100644 --- a/src/resources/ui/nautilus-compress-dialog.ui +++ b/src/resources/ui/nautilus-compress-dialog.ui @@ -5,14 +5,14 @@ bottom none - + True 12 12 12 12 - + True True .zip @@ -28,7 +28,7 @@ - + True True .zip @@ -47,7 +47,7 @@ - + True True .tar.xz @@ -63,7 +63,7 @@ - + True True .7z diff --git a/src/resources/ui/nautilus-list-view-column-editor.ui b/src/resources/ui/nautilus-list-view-column-editor.ui index be24516daf..08e2590692 100644 --- a/src/resources/ui/nautilus-list-view-column-editor.ui +++ b/src/resources/ui/nautilus-list-view-column-editor.ui @@ -1,7 +1,7 @@ - + True dialog 300 @@ -11,7 +11,7 @@ True vertical - + True True diff --git a/src/resources/ui/nautilus-preferences-window.ui b/src/resources/ui/nautilus-preferences-window.ui index 04b04d2b97..1d28079038 100644 --- a/src/resources/ui/nautilus-preferences-window.ui +++ b/src/resources/ui/nautilus-preferences-window.ui @@ -2,18 +2,18 @@ - + False - + General True - + General True - + sort_folders_first_switch 0 Sort _Folders Before Files @@ -29,7 +29,7 @@ - + use_tree_view_switch 0 _Expandable Folders in List View @@ -45,7 +45,7 @@ - + 0 Action to Open Items 0 @@ -56,12 +56,12 @@ - + Optional Context Menu Actions Show more actions in the menus. Keyboard shortcuts can be used even if the actions are not shown. True - + show_create_link_switch 0 Create _Link @@ -77,7 +77,7 @@ - + show_delete_permanently_switch 0 _Delete Permanently @@ -95,12 +95,12 @@ - + Performance These features may cause slowdowns and excess network usage, especially when browsing files outside this computer, such as on a remote server. True - + 0 Search in Subfolders 0 @@ -109,7 +109,7 @@ - + 0 Show Thumbnails 0 @@ -118,7 +118,7 @@ - + 0 Count Number of Files in Folders 0 @@ -129,12 +129,12 @@ - + Add information to be displayed beneath file and folder names. More information will appear when zooming closer. Icon View Captions True - + 0 First 0 @@ -143,7 +143,7 @@ - + 0 Second 0 @@ -152,7 +152,7 @@ - + 0 Third 0 diff --git a/src/resources/ui/nautilus-properties-window.ui b/src/resources/ui/nautilus-properties-window.ui index b546fdcfec..338d31f1be 100644 --- a/src/resources/ui/nautilus-properties-window.ui +++ b/src/resources/ui/nautilus-properties-window.ui @@ -2,7 +2,7 @@ -