From ce5a7d4cfbd37427e060f475ed90e07f3f4b3b74 Mon Sep 17 00:00:00 2001 From: Cody Russell Date: Tue, 14 Jul 2009 18:23:24 -0500 Subject: [PATCH] remove gtk_window_disable_client_side_decorations function, add construct-only property --- gtk/gtkplug.c | 6 +++--- gtk/gtkwindow.c | 52 +++++++++++++++++++++++++++---------------------- 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 5522210216..84337104ac 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -213,8 +213,6 @@ gtk_plug_init (GtkPlug *plug) window = GTK_WINDOW (plug); window->type = GTK_WINDOW_TOPLEVEL; - - gtk_window_disable_client_side_decorations (window); } static void @@ -557,7 +555,9 @@ gtk_plug_new_for_display (GdkDisplay *display, { GtkPlug *plug; - plug = g_object_new (GTK_TYPE_PLUG, NULL); + plug = g_object_new (GTK_TYPE_PLUG, + "disable-client-side-decorations", TRUE, + NULL); gtk_plug_construct_for_display (plug, display, socket_id); return GTK_WIDGET (plug); } diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 52eb158525..034ff8009a 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -72,6 +72,7 @@ enum { /* Construct */ PROP_TYPE, + PROP_DISABLE_CLIENT_SIDE_DECORATIONS, /* Normal Props */ PROP_TITLE, @@ -844,7 +845,35 @@ gtk_window_class_init (GtkWindowClass *klass) 1.0, GTK_PARAM_READWRITE)); + /** + * GtkWindow:disable-client-side-decorations: + * + * Disable the use of client-side window decorations for this window. + * This is intended to be used by subclasses of GtkWindow that need to + * always disable client-side window decorations, for example GtkPlug. + * Normally client-side decorations should be controlled through + * GtkWindow's 'client-side-decorated' style property. + * + * Since: 2.18 + */ + g_object_class_install_property (gobject_class, + PROP_DISABLE_CLIENT_SIDE_DECORATIONS, + g_param_spec_boolean ("disable-client-side-decorations", + P_("Disable client-side decorations"), + P_("Disable client-side window decorations"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + /* Style properties */ + + /** + * GtkWindow:client-side-decorated: + * + * Specifies that the window should draw its own decorations ratherthan + * relying upon a window manager to do so. + * + * Since: 2.18 + */ gtk_widget_class_install_style_property (widget_class, g_param_spec_boolean ("client-side-decorated", P_("Client-side window decorations"), @@ -3277,29 +3306,6 @@ gtk_window_get_decorated (GtkWindow *window) return window->decorated; } -/** - * gtk_window_disable_client_side_decorations: - * @window: a #GtkWindow - * - * Disables client-side window decorations for the given window. - * This is intended to be used by subclasses of GtkWindow that - * need to always disable client-side decorations, for example - * GtkPlug. Normally client-side decorations should be - * controlled through GtkWindow's client-side-decorated style - * property. - **/ -void -gtk_window_disable_client_side_decorations (GtkWindow *window) -{ - GtkWindowPrivate *priv; - - g_return_if_fail (GTK_IS_WINDOW (window)); - - priv = GTK_WINDOW_GET_PRIVATE (window); - - priv->disable_client_side_decorations = TRUE; -} - void gtk_window_set_client_side_decorations (GtkWindow *window, GdkWMDecoration setting)