summaryrefslogtreecommitdiff
path: root/gtk/gtkapplicationwindow.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2013-11-16 14:46:10 -0500
committerMatthias Clasen <mclasen@redhat.com>2013-11-16 14:52:21 -0500
commit73b02933d0790dc7478d8eda3eaee0c7f0a7fef5 (patch)
tree059d56abef6baa4aa3f4450694861c055b902a88 /gtk/gtkapplicationwindow.c
parentcb24305f1bd81051c1baf5ca2d5d0a815bf89b54 (diff)
downloadgtk+-73b02933d0790dc7478d8eda3eaee0c7f0a7fef5.tar.gz
GtkWindow: better app menu fallback for CSD
Do the menubutton for app menu fallback ourselves in GtkWindow for the csd, non-custom titlebar case. This fits better with the way we handle other title buttons. Themes have control over the placement of this button by placing menu in the decoration-button-layout style property.
Diffstat (limited to 'gtk/gtkapplicationwindow.c')
-rw-r--r--gtk/gtkapplicationwindow.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/gtk/gtkapplicationwindow.c b/gtk/gtkapplicationwindow.c
index dd0be62f33..9c3d1ba36f 100644
--- a/gtk/gtkapplicationwindow.c
+++ b/gtk/gtkapplicationwindow.c
@@ -297,12 +297,10 @@ gtk_application_window_update_shell_shows_app_menu (GtkApplicationWindow *window
{
gboolean shown_by_shell;
gboolean shown_by_titlebar;
- GtkWidget *titlebar;
g_object_get (settings, "gtk-shell-shows-app-menu", &shown_by_shell, NULL);
- titlebar = _gtk_window_get_titlebar (GTK_WINDOW (window));
- shown_by_titlebar = GTK_IS_HEADER_BAR (titlebar) && gtk_header_bar_get_show_fallback_app_menu (GTK_HEADER_BAR (titlebar));
+ shown_by_titlebar = _gtk_window_titlebar_shows_app_menu (GTK_WINDOW (window));
if (shown_by_shell || shown_by_titlebar)
{
@@ -632,13 +630,12 @@ gtk_application_window_real_realize (GtkWidget *widget)
g_signal_connect (settings, "notify::gtk-shell-shows-menubar",
G_CALLBACK (gtk_application_window_shell_shows_menubar_changed), window);
+ GTK_WIDGET_CLASS (gtk_application_window_parent_class)->realize (widget);
+
gtk_application_window_update_shell_shows_app_menu (window, settings);
gtk_application_window_update_shell_shows_menubar (window, settings);
gtk_application_window_update_menubar (window);
- GTK_WIDGET_CLASS (gtk_application_window_parent_class)
- ->realize (widget);
-
#ifdef GDK_WINDOWING_X11
{
GdkWindow *gdkwindow;
@@ -679,8 +676,7 @@ gtk_application_window_real_unrealize (GtkWidget *widget)
g_signal_handlers_disconnect_by_func (settings, gtk_application_window_shell_shows_app_menu_changed, widget);
g_signal_handlers_disconnect_by_func (settings, gtk_application_window_shell_shows_menubar_changed, widget);
- GTK_WIDGET_CLASS (gtk_application_window_parent_class)
- ->unrealize (widget);
+ GTK_WIDGET_CLASS (gtk_application_window_parent_class)->unrealize (widget);
}
gboolean