summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2021-12-31 13:29:57 +0000
committerAntónio Fernandes <antoniof@gnome.org>2022-01-01 21:58:06 +0000
commit72b8c44450c1364fd981468fca1ec305be17e7b9 (patch)
tree8025dcdf8e4d8b798ad31cb73dddc01bb6a9fe51
parent839203fe06bc746ed0e085e9ab3d49878d49727d (diff)
downloadnautilus-72b8c44450c1364fd981468fca1ec305be17e7b9.tar.gz
pathbar: Stop overriding GtkWidget.style_updated() and .screen_changed()
Both vfuncs are gone in GTK 4. They were used for the sake of updating icons live the icon theme is changed. I don't see any need for that. If GTK doesn't update the icons automatically, the icon is updated next time the pathbar is updated for other reasons (such as switching locations).
-rw-r--r--src/nautilus-pathbar.c102
1 files changed, 0 insertions, 102 deletions
diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c
index 93842c5eb..9c95f67de 100644
--- a/src/nautilus-pathbar.c
+++ b/src/nautilus-pathbar.c
@@ -95,7 +95,6 @@ struct _NautilusPathBar
gpointer current_button_data;
GList *button_list;
- gulong settings_signal_id;
GActionGroup *action_group;
@@ -111,9 +110,6 @@ struct _NautilusPathBar
G_DEFINE_TYPE (NautilusPathBar, nautilus_path_bar, GTK_TYPE_BOX);
-static void nautilus_path_bar_check_icon_theme (NautilusPathBar *self);
-static void nautilus_path_bar_update_button_appearance (ButtonData *button_data,
- gboolean current_dir);
static void nautilus_path_bar_update_button_state (ButtonData *button_data,
gboolean current_dir);
static void nautilus_path_bar_update_path (NautilusPathBar *self,
@@ -322,27 +318,9 @@ nautilus_path_bar_finalize (GObject *object)
G_OBJECT_CLASS (nautilus_path_bar_parent_class)->finalize (object);
}
-/* Removes the settings signal handler. It's safe to call multiple times */
-static void
-remove_settings_signal (NautilusPathBar *self,
- GdkScreen *screen)
-{
- GtkSettings *settings;
-
- settings = gtk_settings_get_for_screen (screen);
-
- g_clear_signal_handler (&self->settings_signal_id, settings);
-}
-
static void
nautilus_path_bar_dispose (GObject *object)
{
- NautilusPathBar *self;
-
- self = NAUTILUS_PATH_BAR (object);
-
- remove_settings_signal (self, gtk_widget_get_screen (GTK_WIDGET (object)));
-
G_OBJECT_CLASS (nautilus_path_bar_parent_class)->dispose (object);
}
@@ -388,30 +366,6 @@ get_dir_name (ButtonData *button_data)
}
static void
-nautilus_path_bar_style_updated (GtkWidget *widget)
-{
- GTK_WIDGET_CLASS (nautilus_path_bar_parent_class)->style_updated (widget);
-
- nautilus_path_bar_check_icon_theme (NAUTILUS_PATH_BAR (widget));
-}
-
-static void
-nautilus_path_bar_screen_changed (GtkWidget *widget,
- GdkScreen *previous_screen)
-{
- if (GTK_WIDGET_CLASS (nautilus_path_bar_parent_class)->screen_changed)
- {
- GTK_WIDGET_CLASS (nautilus_path_bar_parent_class)->screen_changed (widget, previous_screen);
- }
- /* We might nave a new settings, so we remove the old one */
- if (previous_screen)
- {
- remove_settings_signal (NAUTILUS_PATH_BAR (widget), previous_screen);
- }
- nautilus_path_bar_check_icon_theme (NAUTILUS_PATH_BAR (widget));
-}
-
-static void
button_data_free (ButtonData *button_data)
{
g_object_unref (button_data->path);
@@ -433,17 +387,12 @@ static void
nautilus_path_bar_class_init (NautilusPathBarClass *path_bar_class)
{
GObjectClass *gobject_class;
- GtkWidgetClass *widget_class;
gobject_class = (GObjectClass *) path_bar_class;
- widget_class = (GtkWidgetClass *) path_bar_class;
gobject_class->finalize = nautilus_path_bar_finalize;
gobject_class->dispose = nautilus_path_bar_dispose;
- widget_class->style_updated = nautilus_path_bar_style_updated;
- widget_class->screen_changed = nautilus_path_bar_screen_changed;
-
path_bar_signals [OPEN_LOCATION] =
g_signal_new ("open-location",
G_OBJECT_CLASS_TYPE (path_bar_class),
@@ -483,57 +432,6 @@ nautilus_path_bar_set_templates_menu (NautilusPathBar *self,
g_idle_add ((GSourceFunc) bind_current_view_menu_model_to_popover, self);
}
-/* Changes the icons wherever it is needed */
-static void
-reload_icons (NautilusPathBar *self)
-{
- GList *list;
-
- for (list = self->button_list; list; list = list->next)
- {
- ButtonData *button_data;
-
- button_data = BUTTON_DATA (list->data);
- if (button_data->type != NORMAL_BUTTON || button_data->is_root)
- {
- nautilus_path_bar_update_button_appearance (button_data,
- list->next == NULL);
- }
- }
-}
-
-/* Callback used when a GtkSettings value changes */
-static void
-settings_notify_cb (GObject *object,
- GParamSpec *pspec,
- NautilusPathBar *self)
-{
- const char *name;
-
- name = g_param_spec_get_name (pspec);
-
- if (!strcmp (name, "gtk-icon-theme-name") || !strcmp (name, "gtk-icon-sizes"))
- {
- reload_icons (self);
- }
-}
-
-static void
-nautilus_path_bar_check_icon_theme (NautilusPathBar *self)
-{
- GtkSettings *settings;
-
- if (self->settings_signal_id)
- {
- return;
- }
-
- settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (self)));
- self->settings_signal_id = g_signal_connect (settings, "notify", G_CALLBACK (settings_notify_cb), self);
-
- reload_icons (self);
-}
-
/* Public functions and their helpers */
static void
nautilus_path_bar_clear_buttons (NautilusPathBar *self)