gjdwebserver-overlay/mail-client/geary/files/0048-main-toolbar-Split-the-folder-header.patch

207 lines
9.6 KiB
Diff
Raw Normal View History

2021-03-23 14:05:24 +01:00
From 94ab7e5ac6b282e07edf8966da5c69e4fdba0cc8 Mon Sep 17 00:00:00 2001
From: Adrien Plazas <kekun.plazas@laposte.net>
Date: Sat, 18 Jan 2020 09:16:32 +0100
Subject: [PATCH 048/124] main-toolbar: Split the folder header
Split it into a folder header and a conversations header. This is needed
to properly split the 3 panes.
Fixes https://gitlab.gnome.org/GNOME/geary/issues/442.
---
src/client/components/main-toolbar.vala | 12 ++-
ui/main-toolbar.ui | 108 +++++++++++++++---------
2 files changed, 77 insertions(+), 43 deletions(-)
diff --git a/src/client/components/main-toolbar.vala b/src/client/components/main-toolbar.vala
index aa263253..4ee02079 100644
--- a/src/client/components/main-toolbar.vala
+++ b/src/client/components/main-toolbar.vala
@@ -28,10 +28,14 @@ public class MainToolbar : Gtk.Box {
[GtkChild]
private Gtk.HeaderBar folder_header;
[GtkChild]
- private Gtk.ToggleButton search_conversations_button;
- [GtkChild]
private Gtk.MenuButton main_menu_button;
+ // Conversations header elements
+ [GtkChild]
+ private Gtk.HeaderBar conversations_header;
+ [GtkChild]
+ private Gtk.ToggleButton search_conversations_button;
+
// Conversation header elements
[GtkChild]
private Gtk.HeaderBar conversation_header;
@@ -60,8 +64,8 @@ public class MainToolbar : Gtk.Box {
public MainToolbar(Application.Configuration config) {
if (config.desktop_environment != UNITY) {
- this.bind_property("account", this.folder_header, "title", BindingFlags.SYNC_CREATE);
- this.bind_property("folder", this.folder_header, "subtitle", BindingFlags.SYNC_CREATE);
+ this.bind_property("account", this.conversations_header, "title", BindingFlags.SYNC_CREATE);
+ this.bind_property("folder", this.conversations_header, "subtitle", BindingFlags.SYNC_CREATE);
}
// Assemble the main/mark menus
diff --git a/ui/main-toolbar.ui b/ui/main-toolbar.ui
index 874f5b4b..732a01b9 100644
--- a/ui/main-toolbar.ui
+++ b/ui/main-toolbar.ui
@@ -11,68 +11,97 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkHeaderBar" id="folder_header">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="show_close_button" bind-source="MainToolbar" bind-property="show_close_button" bind-flags="sync-create"/>
<child>
- <object class="GtkButton" id="compose_new_message_button">
+ <object class="GtkHeaderBar" id="folder_header">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes" context="tooltip">Compose Message</property>
- <property name="action_name">app.compose</property>
- <property name="always_show_image">True</property>
+ <property name="can_focus">False</property>
+ <property name="show_close_button" bind-source="MainToolbar" bind-property="show_close_button" bind-flags="sync-create"/>
+ <property name="title">Mail</property>
<child>
- <object class="GtkImage" id="compose_new_message_image">
+ <object class="GtkMenuButton" id="main_menu_button">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">text-editor-symbolic</property>
+ <property name="can_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="main_menu_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">open-menu-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
</child>
</object>
</child>
<child>
- <object class="GtkMenuButton" id="main_menu_button">
+ <object class="GtkSeparator" id="folder_separator">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="always_show_image">True</property>
- <child>
- <object class="GtkImage" id="main_menu_image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">open-menu-symbolic</property>
- </object>
- </child>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <style>
+ <class name="sidebar"/>
+ </style>
</object>
<packing>
- <property name="pack_type">end</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkToggleButton" id="search_conversations_button">
+ <object class="GtkHeaderBar" id="conversations_header">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Toggle search bar</property>
- <property name="always_show_image">True</property>
+ <property name="can_focus">False</property>
+ <property name="show_close_button" bind-source="MainToolbar" bind-property="show_close_button" bind-flags="sync-create"/>
<child>
- <object class="GtkImage" id="search_conversations_image">
+ <object class="GtkButton" id="compose_new_message_button">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">preferences-system-search-symbolic</property>
+ <property name="can_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes" context="tooltip">Compose Message</property>
+ <property name="action_name">app.compose</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="compose_new_message_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">text-editor-symbolic</property>
+ </object>
+ </child>
</object>
</child>
+ <child>
+ <object class="GtkToggleButton" id="search_conversations_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Toggle search bar</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="search_conversations_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">preferences-system-search-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="pack_type">end</property>
- <property name="position">3</property>
- </packing>
</child>
</object>
<packing>
@@ -82,7 +111,7 @@
</packing>
</child>
<child>
- <object class="GtkSeparator" id="header_separator">
+ <object class="GtkSeparator" id="conversations_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
@@ -342,6 +371,7 @@
<object class="HdyHeaderGroup" id="header_group">
<headerbars>
<headerbar name="folder_header"/>
+ <headerbar name="conversations_header"/>
<headerbar name="conversation_header"/>
</headerbars>
</object>
--
2.29.2