diff options
author | Matthias Clasen <mclasen@redhat.com> | 2013-11-16 14:46:10 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2013-11-16 14:52:21 -0500 |
commit | 73b02933d0790dc7478d8eda3eaee0c7f0a7fef5 (patch) | |
tree | 059d56abef6baa4aa3f4450694861c055b902a88 /gtk/gtkapplicationwindow.c | |
parent | cb24305f1bd81051c1baf5ca2d5d0a815bf89b54 (diff) | |
download | gtk+-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.c | 12 |
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 |