[gtk+] Remove GtkWindow::hide-titlebar-when-maximized
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Remove GtkWindow::hide-titlebar-when-maximized
- Date: Mon, 1 May 2017 18:26:05 +0000 (UTC)
commit 92b0d2e8ea8b41ea914eb4d66b48cc7dd2d34b9d
Author: Matthias Clasen <mclasen redhat com>
Date: Mon May 1 12:57:05 2017 -0400
Remove GtkWindow::hide-titlebar-when-maximized
This was only every implemented under X11, and with CSD,
this is clearly in the application realm. We should not
pretend that we can support it on the toolkit level.
https://bugzilla.gnome.org/show_bug.cgi?id=775061
demos/gtk-demo/application.c | 14 ------
demos/gtk-demo/menus.ui | 4 --
docs/reference/gtk/gtk4-sections.txt | 2 -
gtk/gtkwindow.c | 86 +--------------------------------
gtk/gtkwindow.h | 5 --
testsuite/gtk/window.c | 61 ------------------------
6 files changed, 3 insertions(+), 169 deletions(-)
---
diff --git a/demos/gtk-demo/application.c b/demos/gtk-demo/application.c
index 6233f72..217947f 100644
--- a/demos/gtk-demo/application.c
+++ b/demos/gtk-demo/application.c
@@ -292,19 +292,6 @@ change_theme_state (GSimpleAction *action,
}
static void
-change_titlebar_state (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
-{
- GtkWindow *window = user_data;
-
- gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window),
- g_variant_get_boolean (state));
-
- g_simple_action_set_state (action, state);
-}
-
-static void
change_radio_state (GSimpleAction *action,
GVariant *state,
gpointer user_data)
@@ -322,7 +309,6 @@ static GActionEntry app_entries[] = {
};
static GActionEntry win_entries[] = {
- { "titlebar", activate_toggle, NULL, "false", change_titlebar_state },
{ "shape", activate_radio, "s", "'oval'", change_radio_state },
{ "bold", activate_toggle, NULL, "false", NULL },
{ "about", activate_about, NULL, NULL, NULL },
diff --git a/demos/gtk-demo/menus.ui b/demos/gtk-demo/menus.ui
index a0aecfa..16ca40b 100644
--- a/demos/gtk-demo/menus.ui
+++ b/demos/gtk-demo/menus.ui
@@ -38,10 +38,6 @@
<attribute name="label" translatable="yes">_Prefer Dark Theme</attribute>
<attribute name="action">app.dark</attribute>
</item>
- <item>
- <attribute name="label" translatable="yes">_Hide Titlebar when maximized</attribute>
- <attribute name="action">win.titlebar</attribute>
- </item>
<submenu>
<attribute name="label" translatable="yes">_Color</attribute>
<section>
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index 3c0e27c..e74f9c5 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4749,7 +4749,6 @@ gtk_window_set_position
gtk_window_set_transient_for
gtk_window_set_attached_to
gtk_window_set_destroy_with_parent
-gtk_window_set_hide_titlebar_when_maximized
gtk_window_set_screen
gtk_window_get_screen
gtk_window_is_active
@@ -4797,7 +4796,6 @@ gtk_window_get_default_icon_list
gtk_window_get_default_icon_name
gtk_window_get_default_size
gtk_window_get_destroy_with_parent
-gtk_window_get_hide_titlebar_when_maximized
gtk_window_get_icon
gtk_window_get_icon_list
gtk_window_get_icon_name
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 56da76f..091b7f0 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -238,7 +238,6 @@ struct _GtkWindowPrivate
guint focus_on_map : 1;
guint fullscreen_initially : 1;
guint has_user_ref_count : 1;
- guint hide_titlebar_when_maximized : 1;
guint iconify_initially : 1; /* gtk_window_iconify() called before realization */
guint is_active : 1;
guint maximize_initially : 1;
@@ -1787,9 +1786,6 @@ gtk_window_set_property (GObject *object,
case PROP_DESTROY_WITH_PARENT:
gtk_window_set_destroy_with_parent (window, g_value_get_boolean (value));
break;
- case PROP_HIDE_TITLEBAR_WHEN_MAXIMIZED:
- gtk_window_set_hide_titlebar_when_maximized (window, g_value_get_boolean (value));
- break;
case PROP_ICON:
gtk_window_set_icon (window,
g_value_get_object (value));
@@ -1901,9 +1897,6 @@ gtk_window_get_property (GObject *object,
case PROP_DESTROY_WITH_PARENT:
g_value_set_boolean (value, priv->destroy_with_parent);
break;
- case PROP_HIDE_TITLEBAR_WHEN_MAXIMIZED:
- g_value_set_boolean (value, priv->hide_titlebar_when_maximized);
- break;
case PROP_ICON:
g_value_set_object (value, gtk_window_get_icon (window));
break;
@@ -3800,74 +3793,6 @@ gtk_window_get_destroy_with_parent (GtkWindow *window)
return window->priv->destroy_with_parent;
}
-static void
-gtk_window_apply_hide_titlebar_when_maximized (GtkWindow *window)
-{
-#ifdef GDK_WINDOWING_X11
- GdkWindow *gdk_window;
- gboolean setting;
-
- setting = window->priv->hide_titlebar_when_maximized;
- gdk_window = _gtk_widget_get_window (GTK_WIDGET (window));
-
- if (GDK_IS_X11_WINDOW (gdk_window))
- gdk_x11_window_set_hide_titlebar_when_maximized (gdk_window, setting);
-#endif
-}
-
-/**
- * gtk_window_set_hide_titlebar_when_maximized:
- * @window: a #GtkWindow
- * @setting: whether to hide the titlebar when @window is maximized
- *
- * If @setting is %TRUE, then @window will request that it’s titlebar
- * should be hidden when maximized.
- * This is useful for windows that don’t convey any information other
- * than the application name in the titlebar, to put the available
- * screen space to better use. If the underlying window system does not
- * support the request, the setting will not have any effect.
- *
- * Note that custom titlebars set with gtk_window_set_titlebar() are
- * not affected by this. The application is in full control of their
- * content and visibility anyway.
- *
- * Since: 3.4
- **/
-void
-gtk_window_set_hide_titlebar_when_maximized (GtkWindow *window,
- gboolean setting)
-{
- g_return_if_fail (GTK_IS_WINDOW (window));
-
- if (window->priv->hide_titlebar_when_maximized == setting)
- return;
-
- window->priv->hide_titlebar_when_maximized = setting;
- gtk_window_apply_hide_titlebar_when_maximized (window);
-
- g_object_notify_by_pspec (G_OBJECT (window), window_props[PROP_HIDE_TITLEBAR_WHEN_MAXIMIZED]);
-}
-
-/**
- * gtk_window_get_hide_titlebar_when_maximized:
- * @window: a #GtkWindow
- *
- * Returns whether the window has requested to have its titlebar hidden
- * when maximized. See gtk_window_set_hide_titlebar_when_maximized ().
- *
- * Returns: %TRUE if the window has requested to have its titlebar
- * hidden when maximized
- *
- * Since: 3.4
- **/
-gboolean
-gtk_window_get_hide_titlebar_when_maximized (GtkWindow *window)
-{
- g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
-
- return window->priv->hide_titlebar_when_maximized;
-}
-
static GtkWindowGeometryInfo*
gtk_window_get_geometry_info (GtkWindow *window,
gboolean create)
@@ -5753,10 +5678,8 @@ update_csd_visibility (GtkWindow *window)
if (priv->title_box == NULL)
return FALSE;
- visible = !priv->fullscreen &&
- !(priv->titlebar == priv->title_box &&
- priv->maximized &&
- priv->hide_titlebar_when_maximized);
+ visible = !priv->fullscreen;
+
gtk_widget_set_child_visible (priv->title_box, visible);
return visible;
@@ -6016,10 +5939,7 @@ gtk_window_map (GtkWidget *widget)
gdk_window_set_keep_below (gdk_window, priv->below_initially);
if (priv->type == GTK_WINDOW_TOPLEVEL)
- {
- gtk_window_set_theme_variant (window);
- gtk_window_apply_hide_titlebar_when_maximized (window);
- }
+ gtk_window_set_theme_variant (window);
/* No longer use the default settings */
priv->need_default_size = FALSE;
diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h
index 771feee..0f247e0 100644
--- a/gtk/gtkwindow.h
+++ b/gtk/gtkwindow.h
@@ -227,11 +227,6 @@ void gtk_window_set_destroy_with_parent (GtkWindow *window,
gboolean setting);
GDK_AVAILABLE_IN_ALL
gboolean gtk_window_get_destroy_with_parent (GtkWindow *window);
-GDK_AVAILABLE_IN_3_4
-void gtk_window_set_hide_titlebar_when_maximized (GtkWindow *window,
- gboolean setting);
-GDK_AVAILABLE_IN_3_4
-gboolean gtk_window_get_hide_titlebar_when_maximized (GtkWindow *window);
GDK_AVAILABLE_IN_ALL
void gtk_window_set_mnemonics_visible (GtkWindow *window,
gboolean setting);
diff --git a/testsuite/gtk/window.c b/testsuite/gtk/window.c
index 70fdf76..59454cc 100644
--- a/testsuite/gtk/window.c
+++ b/testsuite/gtk/window.c
@@ -348,66 +348,6 @@ on_map_event (GtkWidget *window)
return FALSE;
}
-static void
-test_hide_titlebar_when_maximized (void)
-{
- GtkWidget *window;
-
- g_test_bug ("740287");
-
- /* test that hide-titlebar-when-maximized gets set appropriately
- * on the window, if it's set before the window is realized.
- */
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- g_signal_connect (window,
- "map-event",
- G_CALLBACK (on_map_event),
- NULL);
-
- gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE);
-
- gtk_widget_show (window);
-
- g_timeout_add (100, stop_main, NULL);
- gtk_main ();
-
-#ifdef GDK_WINDOWING_X11
- if (GDK_IS_X11_SCREEN (gtk_widget_get_screen (window)))
- {
- Atom type;
- gint format;
- gulong nitems;
- gulong bytes_after;
- gulong *hide = NULL;
-
- XGetWindowProperty (gdk_x11_get_default_xdisplay (),
- GDK_WINDOW_XID (gtk_widget_get_window (window)),
- gdk_x11_get_xatom_by_name ("_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED"),
- 0,
- G_MAXLONG,
- False,
- XA_CARDINAL,
- &type,
- &format,
- &nitems,
- &bytes_after,
- (guchar **) &hide);
-
- g_assert_cmpint (type, !=, None);
- g_assert_cmpint (type, ==, XA_CARDINAL);
- g_assert_cmpint (format, ==, 32);
- g_assert_cmpint (nitems, ==, 1);
- g_assert_cmpint (hide[0], ==, 1);
-
- XFree (hide);
- }
-#endif
-
- gtk_widget_destroy (window);
-}
-
int
main (int argc, char *argv[])
{
@@ -428,7 +368,6 @@ main (int argc, char *argv[])
g_test_add_func ("/window/show-hide", test_show_hide);
g_test_add_func ("/window/show-hide2", test_show_hide2);
g_test_add_func ("/window/show-hide3", test_show_hide3);
- g_test_add_func ("/window/hide-titlebar-when-maximized", test_hide_titlebar_when_maximized);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]