[gtk/present-toplevel-2: 49/59] window: Use toplevel api for decorations and functions



commit 8fed4a25b90a51e542a088af8c39b7de5d5f5e12
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Mar 5 10:10:13 2020 -0800

    window: Use toplevel api for decorations and functions

 gtk/gtkwindow.c | 27 ++++-----------------------
 1 file changed, 4 insertions(+), 23 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index bb46d9dfde..fa6fd06538 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -3821,17 +3821,7 @@ gtk_window_set_decorated (GtkWindow *window,
   priv->decorated = setting;
 
   if (priv->surface)
-    {
-      if (priv->decorated)
-        {
-          if (priv->client_decorated)
-            gdk_surface_set_decorations (priv->surface, 0);
-          else
-            gdk_surface_set_decorations (priv->surface, GDK_DECOR_ALL);
-        }
-      else
-        gdk_surface_set_decorations (priv->surface, 0);
-    }
+    gdk_toplevel_set_decorated (GDK_TOPLEVEL (priv->surface), !priv->decorated || priv->client_decorated);
 
   update_window_buttons (window);
   gtk_widget_queue_resize (GTK_WIDGET (window));
@@ -3890,13 +3880,7 @@ gtk_window_set_deletable (GtkWindow *window,
   priv->deletable = setting;
 
   if (priv->surface)
-    {
-      if (priv->deletable)
-        gdk_surface_set_functions (priv->surface, GDK_FUNC_ALL);
-      else
-        gdk_surface_set_functions (priv->surface,
-                                  GDK_FUNC_ALL | GDK_FUNC_CLOSE);
-    }
+    gdk_toplevel_set_deletable (GDK_TOPLEVEL (priv->surface), priv->deletable);
 
   update_window_buttons (window);
 
@@ -5571,17 +5555,14 @@ gtk_window_realize (GtkWidget *widget)
   if (priv->title)
     gdk_toplevel_set_title (GDK_TOPLEVEL (surface), priv->title);
 
-  if (!priv->decorated || priv->client_decorated)
-    gdk_surface_set_decorations (surface, 0);
+  gdk_toplevel_set_decorated (GDK_TOPLEVEL (surface), !priv->decorated || priv->client_decorated);
+  gdk_toplevel_set_deletable (GDK_TOPLEVEL (surface), priv->deletable);
 
 #ifdef GDK_WINDOWING_WAYLAND
   if (priv->client_decorated && GDK_IS_WAYLAND_SURFACE (surface))
     gdk_wayland_surface_announce_csd (surface);
 #endif
 
-  if (!priv->deletable)
-    gdk_surface_set_functions (surface, GDK_FUNC_ALL | GDK_FUNC_CLOSE);
-
   gdk_toplevel_set_accept_focus (GDK_TOPLEVEL (surface),
                                  gtk_window_get_accept_focus (window));
   gdk_toplevel_set_focus_on_map (GDK_TOPLEVEL (surface),


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