[gedit] fullscreen mode: use an overlay + revealer
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] fullscreen mode: use an overlay + revealer
- Date: Tue, 18 Feb 2014 22:10:33 +0000 (UTC)
commit ba6a99ef3a8352140a285e968315b3b2fe05d721
Author: Sebastien Lafargue <slaf66 gmail com>
Date: Tue Feb 18 22:39:34 2014 +0100
fullscreen mode: use an overlay + revealer
https://bugzilla.gnome.org/show_bug.cgi?id=724682
gedit/gedit-window-private.h | 4 +-
gedit/gedit-window.c | 206 +++-----------------
gedit/gedit-window.ui | 451 ++++++++++++++++++++++--------------------
3 files changed, 261 insertions(+), 400 deletions(-)
---
diff --git a/gedit/gedit-window-private.h b/gedit/gedit-window-private.h
index fb56d24..a78d455 100644
--- a/gedit/gedit-window-private.h
+++ b/gedit/gedit-window-private.h
@@ -56,11 +56,11 @@ struct _GeditWindowPrivate
/* Widgets for fullscreen mode */
GtkWidget *fullscreen_controls;
+ GtkWidget *fullscreen_eventbox;
+ GtkWidget *fullscreen_headerbar;
GtkWidget *fullscreen_open_menu;
GtkMenuButton *fullscreen_gear_button;
gboolean fullscreen_controls_setup;
- guint fullscreen_animation_timeout_id;
- gboolean fullscreen_animation_enter;
/* statusbar and context ids for statusbar messages */
GtkWidget *statusbar;
diff --git a/gedit/gedit-window.c b/gedit/gedit-window.c
index 4eba180..c26dbb5 100644
--- a/gedit/gedit-window.c
+++ b/gedit/gedit-window.c
@@ -56,7 +56,7 @@
#include "gedit-highlight-mode-selector.h"
#define TAB_WIDTH_DATA "GeditWindowTabWidthData"
-#define FULLSCREEN_ANIMATION_SPEED 4
+#define FULLSCREEN_ANIMATION_SPEED 500
/* Signals */
enum
@@ -210,19 +210,6 @@ gedit_window_dispose (GObject *object)
window->priv->dispose_has_run = TRUE;
}
- if (window->priv->fullscreen_animation_timeout_id != 0)
- {
- g_source_remove (window->priv->fullscreen_animation_timeout_id);
- window->priv->fullscreen_animation_timeout_id = 0;
- }
-
- if (window->priv->fullscreen_controls != NULL)
- {
- gtk_widget_destroy (window->priv->fullscreen_controls);
-
- window->priv->fullscreen_controls = NULL;
- }
-
g_clear_object (&window->priv->message_bus);
g_clear_object (&window->priv->window_group);
g_clear_object (&window->priv->default_location);
@@ -426,6 +413,8 @@ gedit_window_class_init (GeditWindowClass *klass)
gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, bottom_panel);
gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, statusbar);
gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_controls);
+ gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_eventbox);
+ gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_headerbar);
gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_open_menu);
gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_gear_button);
}
@@ -1758,163 +1747,22 @@ drop_uris_cb (GtkWidget *widget,
load_uris_from_drop (window, uri_list);
}
-static void
-fullscreen_controls_show (GeditWindow *window)
-{
- GdkScreen *screen;
- GdkRectangle fs_rect;
- gint w, h;
-
- 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_widget_show_all (window->priv->fullscreen_controls);
- 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);
-}
-
-static gboolean
-run_fullscreen_animation (gpointer data)
-{
- GeditWindow *window = GEDIT_WINDOW (data);
- GdkScreen *screen;
- GdkRectangle fs_rect;
- gint x, y;
-
- 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_position (GTK_WINDOW (window->priv->fullscreen_controls),
- &x, &y);
-
- if (window->priv->fullscreen_animation_enter)
- {
- if (y == fs_rect.y)
- {
- window->priv->fullscreen_animation_timeout_id = 0;
- return FALSE;
- }
- else
- {
- gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
- x, y + 1);
- return TRUE;
- }
- }
- else
- {
- gint w, h;
-
- gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls),
- &w, &h);
-
- if (y == fs_rect.y - h + 1)
- {
- window->priv->fullscreen_animation_timeout_id = 0;
- return FALSE;
- }
- else
- {
- gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
- x, y - 1);
- return TRUE;
- }
- }
-}
-
-static void
-show_hide_fullscreen_controls (GeditWindow *window,
- gboolean show,
- gint height)
-{
- GtkSettings *settings;
- gboolean enable_animations;
-
- settings = gtk_widget_get_settings (GTK_WIDGET (window));
- g_object_get (G_OBJECT (settings),
- "gtk-enable-animations",
- &enable_animations,
- NULL);
-
- if (enable_animations)
- {
- window->priv->fullscreen_animation_enter = show;
-
- if (window->priv->fullscreen_animation_timeout_id == 0)
- {
- window->priv->fullscreen_animation_timeout_id =
- g_timeout_add (FULLSCREEN_ANIMATION_SPEED,
- (GSourceFunc) run_fullscreen_animation,
- window);
- }
- }
- else
- {
- GdkRectangle fs_rect;
- GdkScreen *screen;
-
- 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);
-
- if (show)
- {
- gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
- fs_rect.x, fs_rect.y);
- }
- else
- {
- gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
- fs_rect.x, fs_rect.y - height + 1);
- }
- }
-
-}
-
static gboolean
on_fullscreen_controls_enter_notify_event (GtkWidget *widget,
- GdkEventCrossing *event,
- GeditWindow *window)
+ GdkEventCrossing *event,
+ GeditWindow *window)
{
- show_hide_fullscreen_controls (window, TRUE, 0);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->fullscreen_controls), TRUE);
return FALSE;
}
static gboolean
on_fullscreen_controls_leave_notify_event (GtkWidget *widget,
- GdkEventCrossing *event,
- GeditWindow *window)
+ GdkEventCrossing *event,
+ GeditWindow *window)
{
- GdkDevice *device;
- gint w, h;
- gint x, y;
-
- device = gdk_event_get_device ((GdkEvent *)event);
-
- gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls), &w, &h);
- gdk_device_get_position (device, NULL, &x, &y);
-
- /* gtk seems to emit leave notify when clicking on tool items,
- * work around it by checking the coordinates
- */
- if (y >= h)
- {
- show_hide_fullscreen_controls (window, FALSE, h);
- }
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->fullscreen_controls), FALSE);
return FALSE;
}
@@ -1927,28 +1775,23 @@ fullscreen_controls_setup (GeditWindow *window)
if (priv->fullscreen_controls_setup)
return;
- gtk_window_set_transient_for (GTK_WINDOW (priv->fullscreen_controls),
- GTK_WINDOW (&window->window));
- gtk_window_set_attached_to (GTK_WINDOW (window), priv->fullscreen_controls);
-
- /* this is a hack to make the fullscreen control see the window actions.
- * GTK should grow something better to do this */
- gtk_widget_insert_action_group (priv->fullscreen_controls,
- "win",
- G_ACTION_GROUP (window));
-
g_settings_bind (window->priv->ui_settings,
GEDIT_SETTINGS_MAX_RECENTS,
window->priv->fullscreen_open_menu,
"limit",
G_SETTINGS_BIND_GET);
- g_signal_connect (priv->fullscreen_controls, "enter-notify-event",
- G_CALLBACK (on_fullscreen_controls_enter_notify_event),
- window);
- g_signal_connect (priv->fullscreen_controls, "leave-notify-event",
- G_CALLBACK (on_fullscreen_controls_leave_notify_event),
- window);
+ g_signal_connect (priv->fullscreen_eventbox,
+ "enter-notify-event",
+ G_CALLBACK (on_fullscreen_controls_enter_notify_event),
+ window);
+ g_signal_connect (priv->fullscreen_eventbox,
+ "leave-notify-event",
+ G_CALLBACK (on_fullscreen_controls_leave_notify_event),
+ window);
+
+ gtk_widget_set_size_request (GTK_WIDGET (window->priv->fullscreen_eventbox), -1, 1);
+
priv->fullscreen_controls_setup = TRUE;
}
@@ -2787,7 +2630,7 @@ check_window_is_active (GeditWindow *window,
{
if (window->priv->window_state & GDK_WINDOW_STATE_FULLSCREEN)
{
- gtk_widget_set_visible (window->priv->fullscreen_controls,
+ gtk_widget_set_visible (window->priv->fullscreen_eventbox,
gtk_window_is_active (GTK_WINDOW (window)));
}
}
@@ -2861,7 +2704,6 @@ gedit_window_init (GeditWindow *window)
window->priv->inhibition_cookie = 0;
window->priv->dispose_has_run = FALSE;
window->priv->fullscreen_controls = NULL;
- window->priv->fullscreen_animation_timeout_id = 0;
window->priv->direct_save_uri = NULL;
window->priv->editor_settings = g_settings_new ("org.gnome.gedit.preferences.editor");
window->priv->ui_settings = g_settings_new ("org.gnome.gedit.preferences.ui");
@@ -3629,8 +3471,10 @@ _gedit_window_fullscreen (GeditWindow *window)
gtk_window_fullscreen (GTK_WINDOW (&window->window));
_gedit_multi_notebook_set_show_tabs (window->priv->multi_notebook, FALSE);
gtk_widget_hide (window->priv->statusbar);
+
fullscreen_controls_setup (window);
- fullscreen_controls_show (window);
+
+ gtk_widget_show_all (window->priv->fullscreen_eventbox);
}
void
@@ -3650,7 +3494,7 @@ _gedit_window_unfullscreen (GeditWindow *window)
gtk_widget_show (window->priv->statusbar);
}
- gtk_widget_hide (window->priv->fullscreen_controls);
+ gtk_widget_hide (window->priv->fullscreen_eventbox);
}
gboolean
diff --git a/gedit/gedit-window.ui b/gedit/gedit-window.ui
index fa751cb..e8922bb 100644
--- a/gedit/gedit-window.ui
+++ b/gedit/gedit-window.ui
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <!-- interface-requires gtk+ 3.8 -->
+ <!-- interface-requires gtk+ 3.10 -->
<template class="GeditWindow" parent="GtkWindow">
<property name="can_focus">False</property>
<property name="has_focus">False</property>
@@ -138,64 +138,91 @@
</object>
</child>
<child>
- <object class="GtkBox" id="main_box">
+ <object class="GtkOverlay" id="fullscreen_overlay">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
<child>
- <object class="GtkPaned" id="hpaned">
+ <object class="GtkBox" id="main_box">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <style>
- <class name="gedit-side-panel-paned"/>
- </style>
- <child>
- <object class="GtkStack" id="side_panel">
- <property name="visible">False</property>
- </object>
- <packing>
- <property name="resize">False</property>
- <property name="shrink">False</property>
- </packing>
- </child>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkBox" id="content_box">
+ <object class="GtkPaned" id="hpaned">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <style>
+ <class name="gedit-side-panel-paned"/>
+ </style>
<child>
- <object class="GtkPaned" id="vpaned">
+ <object class="GtkStack" id="side_panel">
+ <property name="visible">False</property>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="content_box">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
<property name="orientation">vertical</property>
- <style>
- <class name="gedit-bottom-panel-paned"/>
- </style>
<child>
- <object class="GeditMultiNotebook" id="multi_notebook">
+ <object class="GtkPaned" id="vpaned">
<property name="visible">True</property>
- </object>
- <packing>
- <property name="resize">True</property>
- <property name="shrink">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="bottom_panel_box">
- <property name="visible">False</property>
- <property name="orientation">horizontal</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="orientation">vertical</property>
<style>
- <class name="gedit-bottom-panel"/>
+ <class name="gedit-bottom-panel-paned"/>
</style>
<child>
- <object class="GtkBox" id="bottom_panel_stack_box">
+ <object class="GeditMultiNotebook" id="multi_notebook">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ </object>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="bottom_panel_box">
+ <property name="visible">False</property>
+ <property name="orientation">horizontal</property>
+ <style>
+ <class name="gedit-bottom-panel"/>
+ </style>
<child>
- <object class="GtkStack" id="bottom_panel">
+ <object class="GtkBox" id="bottom_panel_stack_box">
<property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkStack" id="bottom_panel">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStackSwitcher" id="bottom_panel_stack_switcher">
+ <property name="visible">True</property>
+ <property name="stack">bottom_panel</property>
+ <style>
+ <class name="gedit-bottom-panel-stack-switcher"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">True</property>
@@ -204,12 +231,22 @@
</packing>
</child>
<child>
- <object class="GtkStackSwitcher" id="bottom_panel_stack_switcher">
+ <object class="GtkBox" id="bottom_panel_sidebar">
<property name="visible">True</property>
- <property name="stack">bottom_panel</property>
- <style>
- <class name="gedit-bottom-panel-stack-switcher"/>
- </style>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GeditCloseButton" id="bottom_panel_close_button">
+ <property name="visible">True</property>
+ <property name="relief">none</property>
+ <property name="tooltip-text" translatable="True">Hide panel</property>
+ <property name="action_name">win.bottom-panel</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -219,200 +256,180 @@
</child>
</object>
<packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="bottom_panel_sidebar">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GeditCloseButton" id="bottom_panel_close_button">
- <property name="visible">True</property>
- <property name="relief">none</property>
- <property name="tooltip-text" translatable="True">Hide panel</property>
- <property name="action_name">win.bottom-panel</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
+ <property name="resize">False</property>
+ <property name="shrink">False</property>
</packing>
</child>
</object>
<packing>
- <property name="resize">False</property>
- <property name="shrink">False</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GeditStatusbar" id="statusbar">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GeditStatusbar" id="statusbar">
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
+ <property name="resize">True</property>
+ <property name="shrink">True</property>
</packing>
</child>
</object>
<packing>
- <property name="resize">True</property>
- <property name="shrink">True</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
- </object>
- </child>
- </template>
- <object class="GtkWindow" id="fullscreen_controls">
- <property name="type">popup</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <child>
- <object class="GtkHeaderBar" id="fullscreen_headerbar">
- <property name="visible">True</property>
- <child>
- <object class="GtkBox" id="fullscreen_open_box">
+ <child type="overlay">
+ <object class="GtkEventBox" id="fullscreen_eventbox">
<property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="valign">center</property>
- <style>
- <class name="linked"/>
- </style>
- <child>
- <object class="GtkButton" id="fullscreen_open_button">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Open</property>
- <property name="tooltip_text" translatable="yes">Open a file</property>
- <property name="action_name">win.open</property>
- <style>
- <class name="text-button"/>
- </style>
- </object>
- </child>
+ <property name="can_focus">False</property>
+ <property name="valign">start</property>
<child>
- <object class="GeditOpenMenuButton" id="fullscreen_open_menu">
+ <object class="GtkRevealer" id="fullscreen_controls">
<property name="visible">True</property>
- <property name="tooltip_text" translatable="yes">Open a recently used file</property>
- <style>
- <class name="image-button"/>
- </style>
- </object>
- </child>
- </object>
- <packing>
- <property name="pack_type">start</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="fullscreen_new_tab_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="tooltip_text" translatable="yes">Create a new document</property>
- <property name="action_name">win.new-tab</property>
- <style>
- <class name="image-button"/>
- </style>
- <child>
- <object class="GtkImage" id="fullscreen_new_tab_image">
- <property name="visible">True</property>
- <property name="icon_size">1</property>
- <property name="icon_name">tab-new-symbolic</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="pack_type">start</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="leave_fullscreen_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="tooltip_text" translatable="yes">Leave Fullscreen</property>
- <property name="action_name">win.leave-fullscreen</property>
- <style>
- <class name="image-button"/>
- </style>
- <child>
- <object class="GtkImage" id="leave_fullscreen_image">
- <property name="visible">True</property>
- <property name="icon_size">1</property>
- <property name="icon_name">view-restore-symbolic</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="fullscreen_gear_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <style>
- <class name="image-button"/>
- </style>
- <child>
- <object class="GtkImage" id="fullscreen_gear_image">
- <property name="visible">True</property>
- <property name="icon_size">1</property>
- <property name="icon_name">emblem-system-symbolic</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="fullscreen_save_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="tooltip_text" translatable="yes">Save the current file</property>
- <property name="action_name">win.save</property>
- <style>
- <class name="image-button"/>
- </style>
- <child>
- <object class="GtkImage" id="fullscreen_save_image">
- <property name="visible">True</property>
- <property name="icon_size">1</property>
- <property name="icon_name">document-save-symbolic</property>
+ <property name="can_focus">False</property>
+ <property name="reveal_child">False</property>
+ <property name="valign">start</property>
+ <child>
+ <object class="GtkHeaderBar" id="fullscreen_headerbar">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox" id="fullscreen_open_box">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="linked"/>
+ </style>
+ <child>
+ <object class="GtkButton" id="fullscreen_open_button">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Open</property>
+ <property name="tooltip_text" translatable="yes">Open a file</property>
+ <property name="action_name">win.open</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GeditOpenMenuButton" id="fullscreen_open_menu">
+ <property name="visible">True</property>
+ <property name="tooltip_text" translatable="yes">Open a recently used
file</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">start</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="fullscreen_new_tab_button">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <property name="tooltip_text" translatable="yes">Create a new document</property>
+ <property name="action_name">win.new-tab</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="fullscreen_new_tab_image">
+ <property name="visible">True</property>
+ <property name="icon_size">1</property>
+ <property name="icon_name">tab-new-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">start</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="leave_fullscreen_button">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <property name="tooltip_text" translatable="yes">Leave Fullscreen</property>
+ <property name="action_name">win.leave-fullscreen</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="leave_fullscreen_image">
+ <property name="visible">True</property>
+ <property name="icon_size">1</property>
+ <property name="icon_name">view-restore-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="fullscreen_gear_button">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="fullscreen_gear_image">
+ <property name="visible">True</property>
+ <property name="icon_size">1</property>
+ <property name="icon_name">emblem-system-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="fullscreen_save_button">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <property name="tooltip_text" translatable="yes">Save the current file</property>
+ <property name="action_name">win.save</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="fullscreen_save_image">
+ <property name="visible">True</property>
+ <property name="icon_size">1</property>
+ <property name="icon_name">document-save-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
</child>
</object>
</child>
- </object>
+ </template>
<object class="GtkSizeGroup">
<property name="mode">horizontal</property>
<widgets>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]