[gtk/x11-props: 5/10] Drop GdkToplevel:sticky



commit ef0c85ee7b30660088c1cd4d1884a8345d32333c
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Mar 14 01:39:35 2020 -0400

    Drop GdkToplevel:sticky
    
    Move this property to the X11 backend, which is the
    only place where it is implemented.

 docs/reference/gdk/gdk4-sections.txt |  1 -
 gdk/broadway/gdksurface-broadway.c   |  6 ---
 gdk/gdktoplevel.c                    | 23 ---------
 gdk/gdktoplevel.h                    |  4 --
 gdk/gdktoplevelprivate.h             |  1 -
 gdk/wayland/gdksurface-wayland.c     |  6 ---
 gdk/win32/gdksurface-win32.c         |  6 ---
 gdk/x11/gdksurface-x11.c             | 92 +++++++++++++++++++++---------------
 8 files changed, 53 insertions(+), 86 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 3c301496fd..29531ba74e 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -681,7 +681,6 @@ gdk_toplevel_set_transient_for
 gdk_toplevel_set_modal
 gdk_toplevel_set_icon_list
 gdk_toplevel_show_window_menu
-gdk_toplevel_set_sticky
 gdk_toplevel_set_keep_above
 gdk_toplevel_set_keep_below
 gdk_toplevel_set_accept_focus
diff --git a/gdk/broadway/gdksurface-broadway.c b/gdk/broadway/gdksurface-broadway.c
index 738d40c606..66e3d3bbf6 100644
--- a/gdk/broadway/gdksurface-broadway.c
+++ b/gdk/broadway/gdksurface-broadway.c
@@ -1494,9 +1494,6 @@ gdk_broadway_toplevel_set_property (GObject      *object,
     case LAST_PROP + GDK_TOPLEVEL_PROP_ICON_LIST:
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      break;
-
     case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       break;
 
@@ -1551,9 +1548,6 @@ gdk_broadway_toplevel_get_property (GObject    *object,
       g_value_set_pointer (value, NULL);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      break;
-
     case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       break;
 
diff --git a/gdk/gdktoplevel.c b/gdk/gdktoplevel.c
index 7544b673a2..d7ee9bff2d 100644
--- a/gdk/gdktoplevel.c
+++ b/gdk/gdktoplevel.c
@@ -118,12 +118,6 @@ gdk_toplevel_default_init (GdkToplevelInterface *iface)
                             "Icon List",
                             "The list of icon textures",
                             G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY));
-  g_object_interface_install_property (iface,
-      g_param_spec_boolean ("sticky",
-                            "Sticky",
-                            "Whether the surface is on all workspaces",
-                            FALSE,
-                            G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY));
   g_object_interface_install_property (iface,
       g_param_spec_boolean ("keep-above",
                             "Keep above",
@@ -179,7 +173,6 @@ gdk_toplevel_install_properties (GObjectClass *object_class,
   g_object_class_override_property (object_class, first_prop + GDK_TOPLEVEL_PROP_TRANSIENT_FOR, 
"transient-for");
   g_object_class_override_property (object_class, first_prop + GDK_TOPLEVEL_PROP_MODAL, "modal");
   g_object_class_override_property (object_class, first_prop + GDK_TOPLEVEL_PROP_ICON_LIST, "icon-list");
-  g_object_class_override_property (object_class, first_prop + GDK_TOPLEVEL_PROP_STICKY, "sticky");
   g_object_class_override_property (object_class, first_prop + GDK_TOPLEVEL_PROP_KEEP_ABOVE, "keep-above");
   g_object_class_override_property (object_class, first_prop + GDK_TOPLEVEL_PROP_KEEP_BELOW, "keep-below");
   g_object_class_override_property (object_class, first_prop + GDK_TOPLEVEL_PROP_ACCEPT_FOCUS, 
"accept-focus");
@@ -422,22 +415,6 @@ gdk_toplevel_show_window_menu (GdkToplevel *toplevel,
   return GDK_TOPLEVEL_GET_IFACE (toplevel)->show_window_menu (toplevel, event);
 }
 
-/**
- * gdk_toplevel_set_sticky:
- * @toplevel: a #GdkToplevel
- * @sticky: whether to make @toplevel show on all workspaces
- *
- * Set if @surface is sticky.
- **/
-void
-gdk_toplevel_set_sticky (GdkToplevel *toplevel,
-                         gboolean     sticky)
-{
-  g_return_if_fail (GDK_IS_TOPLEVEL (toplevel));
-
-  g_object_set (toplevel, "sticky", sticky, NULL);
-}
-
 /**
  * gdk_toplevel_set_keep_above:
  * @toplevel: a #GdkToplevel
diff --git a/gdk/gdktoplevel.h b/gdk/gdktoplevel.h
index 0827c5bf38..b98ce60a5d 100644
--- a/gdk/gdktoplevel.h
+++ b/gdk/gdktoplevel.h
@@ -77,10 +77,6 @@ GDK_AVAILABLE_IN_ALL
 gboolean        gdk_toplevel_show_window_menu   (GdkToplevel       *toplevel,
                                                  GdkEvent          *event);
 
-GDK_AVAILABLE_IN_ALL
-void            gdk_toplevel_set_sticky         (GdkToplevel       *toplevel,
-                                                 gboolean           sticky);
-
 GDK_AVAILABLE_IN_ALL
 void            gdk_toplevel_set_keep_above     (GdkToplevel       *toplevel,
                                                  gboolean           above);
diff --git a/gdk/gdktoplevelprivate.h b/gdk/gdktoplevelprivate.h
index 711b114da6..b465e154ce 100644
--- a/gdk/gdktoplevelprivate.h
+++ b/gdk/gdktoplevelprivate.h
@@ -31,7 +31,6 @@ typedef enum
   GDK_TOPLEVEL_PROP_TRANSIENT_FOR,
   GDK_TOPLEVEL_PROP_MODAL,
   GDK_TOPLEVEL_PROP_ICON_LIST,
-  GDK_TOPLEVEL_PROP_STICKY,
   GDK_TOPLEVEL_PROP_KEEP_ABOVE,
   GDK_TOPLEVEL_PROP_KEEP_BELOW,
   GDK_TOPLEVEL_PROP_ACCEPT_FOCUS,
diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c
index d7bfbfb5ef..40ae00b415 100644
--- a/gdk/wayland/gdksurface-wayland.c
+++ b/gdk/wayland/gdksurface-wayland.c
@@ -4349,9 +4349,6 @@ gdk_wayland_toplevel_set_property (GObject      *object,
     case LAST_PROP + GDK_TOPLEVEL_PROP_ICON_LIST:
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      break;
-
     case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       break;
 
@@ -4416,9 +4413,6 @@ gdk_wayland_toplevel_get_property (GObject    *object,
       g_value_set_pointer (value, NULL);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      break;
-
     case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       break;
 
diff --git a/gdk/win32/gdksurface-win32.c b/gdk/win32/gdksurface-win32.c
index a4c5d671b2..fbfffd4a88 100644
--- a/gdk/win32/gdksurface-win32.c
+++ b/gdk/win32/gdksurface-win32.c
@@ -4907,9 +4907,6 @@ gdk_win32_toplevel_set_property (GObject      *object,
     case LAST_PROP + GDK_TOPLEVEL_PROP_ICON_LIST:
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      break;
-
     case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       break;
 
@@ -4969,9 +4966,6 @@ gdk_win32_toplevel_get_property (GObject    *object,
       g_value_set_pointer (value, NULL);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      break;
-
     case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       break;
 
diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c
index 24de04d00f..9a4a326639 100644
--- a/gdk/x11/gdksurface-x11.c
+++ b/gdk/x11/gdksurface-x11.c
@@ -4772,7 +4772,7 @@ gdk_x11_popup_class_init (GdkX11PopupClass *class)
   object_class->get_property = gdk_wayland_popup_get_property;
   object_class->set_property = gdk_wayland_popup_set_property;
 
-  gdk_popup_install_properties (object_class, 1);
+  gdk_popup_install_properties (object_class, LAST_PROP);
 }
 
 static gboolean
@@ -4828,6 +4828,12 @@ typedef struct {
 
 static void gdk_x11_toplevel_iface_init (GdkToplevelInterface *iface);
 
+enum
+{
+  PROP_STICKY = 1,
+  LAST_TOPLEVEL_PROP
+};
+
 G_DEFINE_TYPE_WITH_CODE (GdkX11Toplevel, gdk_x11_toplevel, GDK_TYPE_X11_SURFACE,
                          G_IMPLEMENT_INTERFACE (GDK_TYPE_TOPLEVEL,
                                                 gdk_x11_toplevel_iface_init))
@@ -4846,70 +4852,70 @@ gdk_wayland_toplevel_set_property (GObject      *object,
 
   switch (prop_id)
     {
-    case LAST_PROP + GDK_TOPLEVEL_PROP_TITLE:
+    case PROP_STICKY:
+      if (g_value_get_boolean (value))
+        gdk_x11_surface_stick (surface);
+      else
+        gdk_x11_surface_unstick (surface);
+      g_object_notify_by_pspec (G_OBJECT (surface), pspec);
+      break;
+
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_TITLE:
       gdk_x11_surface_set_title (surface, g_value_get_string (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STARTUP_ID:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_STARTUP_ID:
       gdk_x11_surface_set_startup_id (surface, g_value_get_string (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_TRANSIENT_FOR:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_TRANSIENT_FOR:
       gdk_x11_surface_set_transient_for (surface, g_value_get_object (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_MODAL:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_MODAL:
       gdk_x11_surface_set_modal_hint (surface, g_value_get_boolean (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_ICON_LIST:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_ICON_LIST:
       gdk_x11_surface_set_icon_list (surface, g_value_get_pointer (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      if (g_value_get_boolean (value))
-        gdk_x11_surface_stick (surface);
-      else
-        gdk_x11_surface_unstick (surface);
-      g_object_notify_by_pspec (G_OBJECT (surface), pspec);
-      break;
-
-    case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       gdk_x11_surface_set_keep_above (surface, g_value_get_boolean (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_BELOW:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_KEEP_BELOW:
       gdk_x11_surface_set_keep_below (surface, g_value_get_boolean (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_ACCEPT_FOCUS:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_ACCEPT_FOCUS:
       gdk_x11_surface_set_accept_focus (surface, g_value_get_boolean (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_FOCUS_ON_MAP:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_FOCUS_ON_MAP:
       gdk_x11_surface_set_focus_on_map (surface, g_value_get_boolean (value));
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_DECORATED:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_DECORATED:
       gdk_x11_surface_set_decorations (surface, g_value_get_boolean (value) ? GDK_DECOR_ALL : 0);
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_DELETABLE:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_DELETABLE:
       gdk_x11_surface_set_functions (surface, g_value_get_boolean (value) ? GDK_FUNC_ALL : GDK_FUNC_ALL | 
GDK_FUNC_CLOSE);
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_FULLSCREEN_MODE:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_FULLSCREEN_MODE:
       surface->fullscreen_mode = g_value_get_enum (value);
       gdk_x11_surface_apply_fullscreen_mode (surface);
       g_object_notify_by_pspec (G_OBJECT (surface), pspec);
@@ -4932,49 +4938,49 @@ gdk_wayland_toplevel_get_property (GObject    *object,
 
   switch (prop_id)
     {
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STATE:
+    case PROP_STICKY:
+      g_value_set_boolean (value, impl->toplevel->have_sticky);
+      break;
+
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_STATE:
       g_value_set_flags (value, surface->state);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_TITLE:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_TITLE:
       g_value_set_string (value, "");
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STARTUP_ID:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_STARTUP_ID:
       g_value_set_string (value, "");
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_TRANSIENT_FOR:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_TRANSIENT_FOR:
       g_value_set_object (value, surface->transient_for);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_MODAL:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_MODAL:
       g_value_set_boolean (value, surface->modal_hint);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_ICON_LIST:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_ICON_LIST:
       g_value_set_pointer (value, NULL);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_STICKY:
-      g_value_set_boolean (value, impl->toplevel->have_sticky);
-      break;
-
-    case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_KEEP_ABOVE:
       g_value_set_boolean (value, (surface->state & GDK_SURFACE_STATE_ABOVE) != 0);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_KEEP_BELOW:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_KEEP_BELOW:
       g_value_set_boolean (value, (surface->state & GDK_SURFACE_STATE_BELOW) != 0);
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_ACCEPT_FOCUS:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_ACCEPT_FOCUS:
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_FOCUS_ON_MAP:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_FOCUS_ON_MAP:
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_DECORATED:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_DECORATED:
       {
         GdkWMDecoration decorations = GDK_DECOR_ALL;
         gdk_x11_surface_get_decorations (surface, &decorations);
@@ -4982,7 +4988,7 @@ gdk_wayland_toplevel_get_property (GObject    *object,
       }
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_DELETABLE:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_DELETABLE:
       {
         GdkWMFunction functions = GDK_FUNC_ALL;
         gdk_x11_surface_get_functions (surface, &functions);
@@ -4990,7 +4996,7 @@ gdk_wayland_toplevel_get_property (GObject    *object,
       }
       break;
 
-    case LAST_PROP + GDK_TOPLEVEL_PROP_FULLSCREEN_MODE:
+    case LAST_TOPLEVEL_PROP + GDK_TOPLEVEL_PROP_FULLSCREEN_MODE:
       g_value_set_enum (value, surface->fullscreen_mode);
       break;
 
@@ -5008,7 +5014,15 @@ gdk_x11_toplevel_class_init (GdkX11ToplevelClass *class)
   object_class->get_property = gdk_wayland_toplevel_get_property;
   object_class->set_property = gdk_wayland_toplevel_set_property;
 
-  gdk_toplevel_install_properties (object_class, 1);
+  g_object_class_install_property (object_class,
+      PROP_STICKY,
+      g_param_spec_boolean ("sticky",
+                            "Sticky",
+                            "Whether the surface is on all workspaces",
+                            FALSE,
+                            G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY));
+
+  gdk_toplevel_install_properties (object_class, LAST_TOPLEVEL_PROP);
 }
 
 static gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]