[geary: 4/20] main-toolbar: Split the folder header
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary: 4/20] main-toolbar: Split the folder header
- Date: Mon, 12 Oct 2020 10:41:34 +0000 (UTC)
commit 94ab7e5ac6b282e07edf8966da5c69e4fdba0cc8
Author: Adrien Plazas <kekun plazas laposte net>
Date: Sat Jan 18 09:16:32 2020 +0100
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 aa263253f..4ee020794 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 874f5b4b1..732a01b97 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>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]