summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@gnome.org>2018-05-22 12:29:09 +0300
committerErnestas Kulik <ernestask@gnome.org>2018-05-28 13:13:56 +0300
commitebac1a33d20eaaf5121b7ccc968a6b47365ea395 (patch)
treef031604c4fc9019a7720faaef39cf32874edf00d
parentd6f1fa6128f74dc70ee2d94e821d4972963a2580 (diff)
downloadnautilus-ebac1a33d20eaaf5121b7ccc968a6b47365ea395.tar.gz
window: Use notify signal to handle state changes
::window-state-event is gone.
-rw-r--r--src/nautilus-window.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index a5fd9e40f..28e6b0314 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -2551,22 +2551,17 @@ nautilus_window_get_slots (NautilusWindow *window)
return window->slots;
}
-static gboolean
-nautilus_window_state_event (GtkWidget *widget,
- GdkEventWindowState *event)
+static void
+on_is_maximized_changed (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
{
- if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED)
- {
- g_settings_set_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_MAXIMIZED,
- event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED);
- }
+ gboolean is_maximized;
- if (GTK_WIDGET_CLASS (nautilus_window_parent_class)->window_state_event != NULL)
- {
- return GTK_WIDGET_CLASS (nautilus_window_parent_class)->window_state_event (widget, event);
- }
+ is_maximized = gtk_window_is_maximized (GTK_WINDOW (object));
- return FALSE;
+ g_settings_set_boolean (nautilus_window_state,
+ NAUTILUS_WINDOW_STATE_MAXIMIZED, is_maximized);
}
static gboolean
@@ -2649,6 +2644,9 @@ nautilus_window_init (NautilusWindow *window)
g_type_ensure (NAUTILUS_TYPE_NOTEBOOK);
gtk_widget_init_template (GTK_WIDGET (window));
+ g_signal_connect (window, "notify::is-maximized",
+ G_CALLBACK (on_is_maximized_changed), NULL);
+
g_signal_connect_object (window->in_app_notification_undo_close_button, "clicked",
G_CALLBACK (on_in_app_notification_undo_close_button_clicked), window, 0);
g_signal_connect_object (window->in_app_notification_undo_undo_button, "clicked",
@@ -2705,7 +2703,6 @@ nautilus_window_class_init (NautilusWindowClass *class)
wclass->show = nautilus_window_show;
wclass->realize = nautilus_window_realize;
wclass->key_press_event = nautilus_window_key_press_event;
- wclass->window_state_event = nautilus_window_state_event;
wclass->delete_event = nautilus_window_delete_event;
wclass->grab_focus = nautilus_window_grab_focus;