From 94dae95b9530e150365c947f9b263251cfd0c0fa Mon Sep 17 00:00:00 2001 From: JosephMcc Date: Mon, 3 Oct 2016 23:48:20 -0700 Subject: [PATCH] toolbar: Revamp the main toolbar style Get rid of the text and switch all icons to slightly smaller symoblic icons. This will allow it to behave much better with dark gtk themes. Replace the recent documents button with a button for file open. Changing the style of the buttons on the main toolbar also effects the fullscreen toolbar so update this as well to use a matching layout. --- xed/xed-prefs-manager-app.c | 18 +-- xed/xed-ui.h | 22 +-- xed/xed-window-private.h | 3 +- xed/xed-window.c | 286 ++++++++++++++++++++---------------- 4 files changed, 172 insertions(+), 157 deletions(-) diff --git a/xed/xed-prefs-manager-app.c b/xed/xed-prefs-manager-app.c index cd6cd26..bdeddb6 100644 --- a/xed/xed-prefs-manager-app.c +++ b/xed/xed-prefs-manager-app.c @@ -1316,8 +1316,8 @@ xed_prefs_manager_source_style_scheme_changed (GSettings *settings, static void xed_prefs_manager_max_recents_changed (GSettings *settings, - gchar *key, - gpointer user_data) + gchar *key, + gpointer user_data) { xed_debug (DEBUG_PREFS); @@ -1328,21 +1328,11 @@ xed_prefs_manager_max_recents_changed (GSettings *settings, max = g_settings_get_int (settings, key); - if (max < 0) { + if (max < 0) + { max = GPM_DEFAULT_MAX_RECENTS; } - windows = xed_app_get_windows (xed_app_get_default ()); - while (windows != NULL) - { - XedWindow *w = windows->data; - - gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (w->priv->toolbar_recent_menu), - max); - - windows = g_list_next (windows); - } - /* FIXME: we have no way at the moment to trigger the * update of the inline recents in the File menu */ } diff --git a/xed/xed-ui.h b/xed/xed-ui.h index d2e11bc..f188ca6 100644 --- a/xed/xed-ui.h +++ b/xed/xed-ui.h @@ -53,9 +53,9 @@ static const GtkActionEntry xed_always_sensitive_menu_entries[] = { "Help", NULL, N_("_Help") }, /* File menu */ - { "FileNew", GTK_STOCK_NEW, NULL, "N", + { "FileNew", "document-new-symbolic", N_("_New"), "N", N_("Create a new document"), G_CALLBACK (_xed_cmd_file_new) }, - { "FileOpen", GTK_STOCK_OPEN, N_("_Open..."), "O", + { "FileOpen", "document-open-symbolic", N_("_Open..."), "O", N_("Open a file"), G_CALLBACK (_xed_cmd_file_open) }, /* Edit menu */ @@ -69,7 +69,7 @@ static const GtkActionEntry xed_always_sensitive_menu_entries[] = N_("About this application"), G_CALLBACK (_xed_cmd_help_about) }, /* Fullscreen toolbar */ - { "LeaveFullscreen", GTK_STOCK_LEAVE_FULLSCREEN, NULL, + { "LeaveFullscreen", "view-restore-symbolic", NULL, NULL, N_("Leave fullscreen mode"), G_CALLBACK (_xed_cmd_view_leave_fullscreen_mode) } }; @@ -77,7 +77,7 @@ static const GtkActionEntry xed_always_sensitive_menu_entries[] = static const GtkActionEntry xed_menu_entries[] = { /* File menu */ - { "FileSave", GTK_STOCK_SAVE, NULL, "S", + { "FileSave", "document-save-symbolic", N_("_Save"), "S", N_("Save the current file"), G_CALLBACK (_xed_cmd_file_save) }, { "FileSaveAs", GTK_STOCK_SAVE_AS, N_("Save _As..."), "S", N_("Save the current file with a different name"), G_CALLBACK (_xed_cmd_file_save_as) }, @@ -89,15 +89,15 @@ static const GtkActionEntry xed_menu_entries[] = N_("Print the current page"), G_CALLBACK (_xed_cmd_file_print) }, /* Edit menu */ - { "EditUndo", GTK_STOCK_UNDO, NULL, "Z", + { "EditUndo", "edit-undo-symbolic", N_("Undo"), "Z", N_("Undo the last action"), G_CALLBACK (_xed_cmd_edit_undo) }, - { "EditRedo", GTK_STOCK_REDO, NULL, "Y", + { "EditRedo", "edit-redo-symbolic", N_("Redo"), "Y", N_("Redo the last undone action"), G_CALLBACK (_xed_cmd_edit_redo) }, - { "EditCut", GTK_STOCK_CUT, NULL, "X", + { "EditCut", "edit-cut-symbolic", N_("Cut"), "X", N_("Cut the selection"), G_CALLBACK (_xed_cmd_edit_cut) }, - { "EditCopy", GTK_STOCK_COPY, NULL, "C", + { "EditCopy", "edit-copy-symbolic", N_("Copy"), "C", N_("Copy the selection"), G_CALLBACK (_xed_cmd_edit_copy) }, - { "EditPaste", GTK_STOCK_PASTE, NULL, "V", + { "EditPaste", "edit-paste-symbolic", N_("Paste"), "V", N_("Paste the clipboard"), G_CALLBACK (_xed_cmd_edit_paste) }, { "EditDelete", GTK_STOCK_DELETE, NULL, NULL, N_("Delete the selected text"), G_CALLBACK (_xed_cmd_edit_delete) }, @@ -108,13 +108,13 @@ static const GtkActionEntry xed_menu_entries[] = { "ViewHighlightMode", NULL, N_("_Highlight Mode") }, /* Search menu */ - { "SearchFind", GTK_STOCK_FIND, N_("_Find..."), "F", + { "SearchFind", "edit-find-symbolic", N_("_Find"), "F", N_("Search for text"), G_CALLBACK (_xed_cmd_search_find) }, { "SearchFindNext", NULL, N_("Find Ne_xt"), "G", N_("Search forwards for the same text"), G_CALLBACK (_xed_cmd_search_find_next) }, { "SearchFindPrevious", NULL, N_("Find Pre_vious"), "G", N_("Search backwards for the same text"), G_CALLBACK (_xed_cmd_search_find_prev) }, - { "SearchReplace", GTK_STOCK_FIND_AND_REPLACE, N_("_Replace..."), "H", + { "SearchReplace", "edit-find-replace-symbolic", N_("_Replace"), "H", N_("Search for and replace text"), G_CALLBACK (_xed_cmd_search_replace) }, { "SearchGoToLine", GTK_STOCK_JUMP_TO, N_("Go to _Line..."), "I", N_("Go to a specific line"), G_CALLBACK (_xed_cmd_search_goto_line) }, diff --git a/xed/xed-window-private.h b/xed/xed-window-private.h index 2bfa028..0be7945 100644 --- a/xed/xed-window-private.h +++ b/xed/xed-window-private.h @@ -56,6 +56,7 @@ struct _XedWindowPrivate /* Widgets for fullscreen mode */ GtkWidget *fullscreen_controls; + GtkWidget *fullscreen_controls_container; guint fullscreen_animation_timeout_id; gboolean fullscreen_animation_enter; @@ -79,9 +80,7 @@ struct _XedWindowPrivate GtkActionGroup *documents_list_action_group; guint documents_list_menu_ui_id; GtkWidget *toolbar; - GtkWidget *toolbar_recent_menu; GtkWidget *menubar; - XedToolbarSetting toolbar_style; /* recent files */ GtkActionGroup *recents_action_group; diff --git a/xed/xed-window.c b/xed/xed-window.c index 1c1181e..ae72104 100644 --- a/xed/xed-window.c +++ b/xed/xed-window.c @@ -393,34 +393,6 @@ disconnect_proxy_cb (GtkUIManager *manager, } } -static void -apply_toolbar_style (XedWindow *window, - GtkWidget *toolbar) -{ - switch (window->priv->toolbar_style) - { - case XED_TOOLBAR_SYSTEM: - xed_debug_message (DEBUG_WINDOW, "XED: SYSTEM"); - gtk_toolbar_unset_style (GTK_TOOLBAR(toolbar)); - break; - - case XED_TOOLBAR_ICONS: - xed_debug_message (DEBUG_WINDOW, "XED: ICONS"); - gtk_toolbar_set_style (GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); - break; - - case XED_TOOLBAR_ICONS_AND_TEXT: - xed_debug_message (DEBUG_WINDOW, "XED: ICONS_AND_TEXT"); - gtk_toolbar_set_style (GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH); - break; - - case XED_TOOLBAR_ICONS_BOTH_HORIZ: - xed_debug_message (DEBUG_WINDOW, "XED: ICONS_BOTH_HORIZ"); - gtk_toolbar_set_style (GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ); - break; - } -} - /* Returns TRUE if toolbar is visible */ static gboolean set_toolbar_style (XedWindow *window, @@ -456,20 +428,6 @@ set_toolbar_style (XedWindow *window, gtk_toggle_action_set_active (GTK_TOGGLE_ACTION(action), visible); } - /* Set style */ - if (origin == NULL) - { - style = xed_prefs_manager_get_toolbar_buttons_style (); - } - else - { - style = origin->priv->toolbar_style; - } - - window->priv->toolbar_style = style; - - apply_toolbar_style (window, window->priv->toolbar); - return visible; } @@ -950,19 +908,6 @@ open_recent_file (const gchar *uri, g_slist_free (uris); } -static void -recent_chooser_item_activated (GtkRecentChooser *chooser, - XedWindow *window) -{ - gchar *uri; - - uri = gtk_recent_chooser_get_current_uri (chooser); - - open_recent_file (uri, window); - - g_free (uri); -} - static void recents_menu_activate (GtkAction *action, XedWindow *window) @@ -1116,13 +1061,6 @@ update_recent_files_menu (XedWindow *window) g_list_free (items); } -static void -set_non_homogeneus (GtkWidget *widget, - gpointer data) -{ - gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM(widget), FALSE); -} - static void toolbar_visibility_changed (GtkWidget *toolbar, XedWindow *window) @@ -1146,45 +1084,21 @@ toolbar_visibility_changed (GtkWidget *toolbar, } static GtkWidget * -setup_toolbar_open_button (XedWindow *window, - GtkWidget *toolbar) +create_toolbar_button (GtkAction *action) { - GtkRecentManager *recent_manager; - GtkRecentFilter *filter; - GtkWidget *toolbar_recent_menu; - GtkToolItem *open_button; - GtkAction *action; + GtkWidget *button; + GtkWidget *image; - recent_manager = gtk_recent_manager_get_default (); + button = gtk_button_new (); + image = gtk_image_new (); - /* recent files menu tool button */ - toolbar_recent_menu = gtk_recent_chooser_menu_new_for_manager (recent_manager); + gtk_button_set_image (GTK_BUTTON (button), image); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "flat"); + gtk_activatable_set_related_action (GTK_ACTIVATABLE (button), action); + gtk_button_set_label (GTK_BUTTON (button), NULL); + gtk_widget_set_tooltip_text (button, gtk_action_get_tooltip (action)); - gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER(toolbar_recent_menu), - FALSE); - gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER(toolbar_recent_menu), GTK_RECENT_SORT_MRU); - gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER(toolbar_recent_menu), xed_prefs_manager_get_max_recents ()); - - filter = gtk_recent_filter_new (); - gtk_recent_filter_add_group (filter, "xed"); - gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER(toolbar_recent_menu), filter); - - g_signal_connect(toolbar_recent_menu, "item_activated", G_CALLBACK (recent_chooser_item_activated), window); - - /* add the custom Open button to the toolbar */ - open_button = gtk_menu_tool_button_new_from_stock (GTK_STOCK_OPEN); - gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON(open_button), toolbar_recent_menu); - - gtk_tool_item_set_tooltip_text (open_button, _("Open a file")); - gtk_menu_tool_button_set_arrow_tooltip_text (GTK_MENU_TOOL_BUTTON(open_button), _("Open a recently used file")); - - action = gtk_action_group_get_action (window->priv->always_sensitive_action_group, "FileOpen"); - g_object_set (action, "short_label", _("Open"), NULL); - gtk_activatable_set_related_action (GTK_ACTIVATABLE(open_button), action); - - gtk_toolbar_insert (GTK_TOOLBAR(toolbar), open_button, 1); - - return toolbar_recent_menu; + return button; } static void @@ -1197,6 +1111,11 @@ create_menu_bar_and_toolbar (XedWindow *window, GtkRecentManager *recent_manager; GError *error = NULL; gchar *ui_file; + GtkWidget *tool_item; + GtkWidget *tool_box; + GtkWidget *box; + GtkWidget *separator; + GtkWidget *button; xed_debug (DEBUG_WINDOW); @@ -1223,16 +1142,6 @@ create_menu_bar_and_toolbar (XedWindow *window, g_object_unref (action_group); window->priv->action_group = action_group; - /* set short labels to use in the toolbar */ - action = gtk_action_group_get_action (action_group, "FileSave"); - g_object_set (action, "short_label", _("Save"), NULL); - action = gtk_action_group_get_action (action_group, "FilePrint"); - g_object_set (action, "short_label", _("Print"), NULL); - action = gtk_action_group_get_action (action_group, "SearchFind"); - g_object_set (action, "short_label", _("Find"), NULL); - action = gtk_action_group_get_action (action_group, "SearchReplace"); - g_object_set (action, "short_label", _("Replace"), NULL); - action_group = gtk_action_group_new ("XedQuitWindowActions"); gtk_action_group_set_translation_domain (action_group, NULL); gtk_action_group_add_actions (action_group, xed_quit_menu_entries, G_N_ELEMENTS(xed_quit_menu_entries), window); @@ -1302,17 +1211,82 @@ create_menu_bar_and_toolbar (XedWindow *window, window->priv->menubar = gtk_ui_manager_get_widget (manager, "/MenuBar"); gtk_box_pack_start (GTK_BOX(main_box), window->priv->menubar, FALSE, FALSE, 0); - window->priv->toolbar = gtk_ui_manager_get_widget (manager, "/ToolBar"); - gtk_style_context_add_class (gtk_widget_get_style_context (window->priv->toolbar), - GTK_STYLE_CLASS_PRIMARY_TOOLBAR); + window->priv->toolbar = gtk_toolbar_new (); + gtk_style_context_add_class (gtk_widget_get_style_context (window->priv->toolbar), GTK_STYLE_CLASS_PRIMARY_TOOLBAR); gtk_box_pack_start (GTK_BOX(main_box), window->priv->toolbar, FALSE, FALSE, 0); + tool_item = gtk_tool_item_new (); + gtk_tool_item_set_expand (GTK_TOOL_ITEM (tool_item), TRUE); + gtk_toolbar_insert (GTK_TOOLBAR (window->priv->toolbar), GTK_TOOL_ITEM (tool_item), 0); + + tool_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); + gtk_container_add (GTK_CONTAINER (tool_item), tool_box); + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_pack_start (GTK_BOX (tool_box), box, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->always_sensitive_action_group, "FileNew"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->always_sensitive_action_group, "FileOpen"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "FileSave"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); + gtk_box_pack_start (GTK_BOX (tool_box), separator, FALSE, FALSE, 0); + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_pack_start (GTK_BOX (tool_box), box, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditUndo"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditRedo"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); + gtk_box_pack_start (GTK_BOX (tool_box), separator, FALSE, FALSE, 0); + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_pack_start (GTK_BOX (tool_box), box, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditCut"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditCopy"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditPaste"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); + gtk_box_pack_start (GTK_BOX (tool_box), separator, FALSE, FALSE, 0); + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_pack_start (GTK_BOX (tool_box), box, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "SearchFind"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "SearchReplace"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + gtk_widget_show_all (GTK_WIDGET (window->priv->toolbar)); + set_toolbar_style (window, NULL); - window->priv->toolbar_recent_menu = setup_toolbar_open_button (window, window->priv->toolbar); - - gtk_container_foreach (GTK_CONTAINER(window->priv->toolbar), (GtkCallback) set_non_homogeneus, NULL); - g_signal_connect_after(G_OBJECT (window->priv->toolbar), "show", G_CALLBACK (toolbar_visibility_changed), window); g_signal_connect_after(G_OBJECT (window->priv->toolbar), "hide", G_CALLBACK (toolbar_visibility_changed), window); } @@ -2404,16 +2378,16 @@ fullscreen_controls_show (XedWindow *window) { GdkScreen *screen; GdkRectangle fs_rect; - gint w, h; + gint min_h, nat_h; - screen = gtk_window_get_screen (GTK_WINDOW(window)); + screen = gtk_window_get_screen (GTK_WINDOW (window)); gdk_screen_get_monitor_geometry ( screen, gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (GTK_WIDGET(window))), &fs_rect); - gtk_window_get_size (GTK_WINDOW(window->priv->fullscreen_controls), &w, &h); - gtk_window_resize (GTK_WINDOW(window->priv->fullscreen_controls), fs_rect.width, h); - gtk_window_move (GTK_WINDOW(window->priv->fullscreen_controls), fs_rect.x, fs_rect.y - h + 1); + gtk_widget_get_preferred_height (window->priv->fullscreen_controls_container, &min_h, &nat_h); + gtk_window_resize (GTK_WINDOW (window->priv->fullscreen_controls), fs_rect.width, nat_h); + gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls), fs_rect.x, fs_rect.y - nat_h + 1); gtk_widget_show_all (window->priv->fullscreen_controls); } @@ -2544,9 +2518,11 @@ static void fullscreen_controls_build (XedWindow *window) { XedWindowPrivate *priv = window->priv; - GtkWidget *toolbar; - GtkWidget *toolbar_recent_menu; GtkAction *action; + GtkWidget *box; + GtkWidget *fullscreen_btn; + GtkWidget *separator; + GtkWidget *button; if (priv->fullscreen_controls != NULL) { @@ -2557,19 +2533,69 @@ fullscreen_controls_build (XedWindow *window) gtk_window_set_transient_for (GTK_WINDOW(priv->fullscreen_controls), &window->window); - /* popup toolbar */ - toolbar = gtk_ui_manager_get_widget (priv->manager, "/FullscreenToolBar"); - gtk_container_add (GTK_CONTAINER(priv->fullscreen_controls), toolbar); + window->priv->fullscreen_controls_container = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_container_set_border_width (GTK_CONTAINER (window->priv->fullscreen_controls_container), 6); + gtk_container_add (GTK_CONTAINER (priv->fullscreen_controls), window->priv->fullscreen_controls_container); + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_widget_set_vexpand (box, FALSE); + gtk_box_pack_start (GTK_BOX (window->priv->fullscreen_controls_container), box, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->always_sensitive_action_group, "FileNew"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->always_sensitive_action_group, "FileOpen"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "FileSave"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); + gtk_box_pack_start (GTK_BOX (box), separator, FALSE, FALSE, 6); + + action = gtk_action_group_get_action (window->priv->action_group, "EditUndo"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditRedo"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); + gtk_box_pack_start (GTK_BOX (box), separator, FALSE, FALSE, 6); + + action = gtk_action_group_get_action (window->priv->action_group, "EditCut"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditCopy"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "EditPaste"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); + gtk_box_pack_start (GTK_BOX (box), separator, FALSE, FALSE, 6); + + action = gtk_action_group_get_action (window->priv->action_group, "SearchFind"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + + action = gtk_action_group_get_action (window->priv->action_group, "SearchReplace"); + button = create_toolbar_button (action); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); action = gtk_action_group_get_action (priv->always_sensitive_action_group, "LeaveFullscreen"); g_object_set (action, "is-important", TRUE, NULL); + fullscreen_btn = create_toolbar_button (action); + gtk_box_pack_end (GTK_BOX (box), fullscreen_btn, FALSE, FALSE, 0); - toolbar_recent_menu = setup_toolbar_open_button (window, toolbar); - - gtk_container_foreach (GTK_CONTAINER(toolbar), (GtkCallback) set_non_homogeneus, NULL); - - /* Set the toolbar style */ - gtk_toolbar_set_style (GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ); + gtk_widget_show_all (window->priv->fullscreen_controls_container); g_signal_connect(priv->fullscreen_controls, "enter-notify-event", G_CALLBACK (on_fullscreen_controls_enter_notify_event), window);