From 7b994ece1d94d05d275793396a26c6edb37c9bc7 Mon Sep 17 00:00:00 2001 From: Michael Gratton Date: Fri, 9 Apr 2021 21:09:10 +1000 Subject: [PATCH 01/16] client: Move MainToolbar into the Components name space proper --- po/POTFILES.in | 6 ++-- .../application/application-main-window.vala | 6 ++-- .../components-conversation-actions.vala | 2 +- ...lbar.vala => components-main-toolbar.vala} | 30 ++++++++++++------- src/client/composer/composer-box.vala | 4 +-- src/client/meson.build | 2 +- ...us.ui => components-main-toolbar-menus.ui} | 0 ...-toolbar.ui => components-main-toolbar.ui} | 12 ++++---- ui/org.gnome.Geary.gresource.xml | 4 +-- 9 files changed, 39 insertions(+), 27 deletions(-) rename src/client/components/{main-toolbar.vala => components-main-toolbar.vala} (85%) rename ui/{main-toolbar-menus.ui => components-main-toolbar-menus.ui} (100%) rename ui/{main-toolbar.ui => components-main-toolbar.ui} (90%) diff --git a/po/POTFILES.in b/po/POTFILES.in index b93e507a..8d6c52b2 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -44,6 +44,7 @@ src/client/components/components-in-app-notification.vala src/client/components/components-info-bar-stack.vala src/client/components/components-info-bar.vala src/client/components/components-inspector.vala +src/client/components/components-main-toolbar.vala src/client/components/components-placeholder-pane.vala src/client/components/components-preferences-window.vala src/client/components/components-problem-report-info-bar.vala @@ -54,7 +55,6 @@ src/client/components/components-web-view.vala src/client/components/count-badge.vala src/client/components/folder-popover.vala src/client/components/icon-factory.vala -src/client/components/main-toolbar.vala src/client/components/monitored-progress-bar.vala src/client/components/monitored-spinner.vala src/client/components/status-bar.vala @@ -465,6 +465,8 @@ ui/components-info-bar.ui ui/components-inspector-error-view.ui ui/components-inspector-log-view.ui ui/components-inspector.ui +ui/components-main-toolbar.ui +ui/components-main-toolbar-menus.ui ui/components-placeholder-pane.ui ui/conversation-contact-popover.ui ui/conversation-email.ui @@ -476,7 +478,5 @@ ui/conversation-viewer.ui ui/find_bar.glade ui/folder-popover.ui ui/gtk/help-overlay.ui -ui/main-toolbar.ui -ui/main-toolbar-menus.ui ui/password-dialog.glade ui/problem-details-dialog.ui diff --git a/src/client/application/application-main-window.vala b/src/client/application/application-main-window.vala index 0e135326..76e0c898 100644 --- a/src/client/application/application-main-window.vala +++ b/src/client/application/application-main-window.vala @@ -302,7 +302,7 @@ public class Application.MainWindow : // Widget descendants public FolderList.Tree folder_list { get; private set; default = new FolderList.Tree(); } - public MainToolbar main_toolbar { get; private set; } + public Components.MainToolbar main_toolbar { get; private set; } public SearchBar search_bar { get; private set; } public ConversationListView conversation_list_view { get; private set; } public ConversationViewer conversation_viewer { get; private set; } @@ -1303,7 +1303,9 @@ public class Application.MainWindow : BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL); // Main toolbar - this.main_toolbar = new MainToolbar(config, conversation_viewer_action_bar); + this.main_toolbar = new Components.MainToolbar( + config, conversation_viewer_action_bar + ); this.main_toolbar.add_to_size_groups(this.folder_size_group, this.folder_separator_size_group, this.conversations_size_group, diff --git a/src/client/components/components-conversation-actions.vala b/src/client/components/components-conversation-actions.vala index a8cdaed9..91b1268c 100644 --- a/src/client/components/components-conversation-actions.vala +++ b/src/client/components/components-conversation-actions.vala @@ -41,7 +41,7 @@ public class Components.ConversationActions : GLib.Object { new Gtk.Builder.from_resource("/org/gnome/Geary/components-conversation-actions.ui"); // Assemble the mark menus Gtk.Builder menu_builder = - new Gtk.Builder.from_resource("/org/gnome/Geary/main-toolbar-menus.ui"); + new Gtk.Builder.from_resource("/org/gnome/Geary/components-main-toolbar-menus.ui"); MenuModel mark_menu = (MenuModel) menu_builder.get_object("mark_message_menu"); this.mark_copy_move_buttons = (Gtk.Box) builder.get_object("mark_copy_move_buttons"); diff --git a/src/client/components/main-toolbar.vala b/src/client/components/components-main-toolbar.vala similarity index 85% rename from src/client/components/main-toolbar.vala rename to src/client/components/components-main-toolbar.vala index 6140053c..32ad5eea 100644 --- a/src/client/components/main-toolbar.vala +++ b/src/client/components/components-main-toolbar.vala @@ -1,23 +1,33 @@ -/* Copyright 2017 Software Freedom Conservancy Inc. +/* + * Copyright © 2017 Software Freedom Conservancy Inc. * * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. + * (version 2.1 or later). See the COPYING file in this distribution. */ -// Draws the main toolbar. -[GtkTemplate (ui = "/org/gnome/Geary/main-toolbar.ui")] -public class MainToolbar : Hdy.Leaflet { + +/** + * The toolbar for the main window. + * + * @see Application.MainWindow + */ +[GtkTemplate (ui = "/org/gnome/Geary/components-main-toolbar.ui")] +public class Components.MainToolbar : Hdy.Leaflet { + // How wide the left pane should be. Auto-synced with our settings public int left_pane_width { get; set; } + // Used to form the title of the folder header public string account { get; set; } public string folder { get; set; } + // Close button settings public bool show_close_button { get; set; default = true; } + // Search bar public bool search_open { get; set; default = false; } - private Components.ConversationActionBar conversation_viewer_action_bar; + private ConversationActionBar conversation_viewer_action_bar; [GtkChild] private unowned Hdy.Leaflet conversations_leaflet; @@ -34,14 +44,14 @@ public class MainToolbar : Hdy.Leaflet { [GtkChild] private unowned Gtk.Separator conversations_separator; // Conversation header elements - [GtkChild] private unowned Components.ConversationHeaderBar conversation_header; + [GtkChild] private unowned ConversationHeaderBar conversation_header; [GtkChild] private unowned Hdy.HeaderGroup header_group; Gtk.SizeGroup conversation_group; public MainToolbar(Application.Configuration config, - Components.ConversationActionBar action_bar) { + ConversationActionBar action_bar) { if (config.desktop_environment != UNITY) { this.bind_property("account", this.conversations_header, "title", BindingFlags.SYNC_CREATE); this.bind_property("folder", this.conversations_header, "subtitle", BindingFlags.SYNC_CREATE); @@ -50,7 +60,7 @@ public class MainToolbar : Hdy.Leaflet { this.conversation_header.action_bar = action_bar; // Assemble the main/mark menus - Gtk.Builder builder = new Gtk.Builder.from_resource("/org/gnome/Geary/main-toolbar-menus.ui"); + Gtk.Builder builder = new Gtk.Builder.from_resource("/org/gnome/Geary/components-main-toolbar-menus.ui"); MenuModel main_menu = (MenuModel) builder.get_object("main_menu"); // Setup folder header elements @@ -97,7 +107,7 @@ public class MainToolbar : Hdy.Leaflet { conversation_group.add_swipeable(this); } - public void add_conversation_actions(Components.ConversationActions actions) { + public void add_conversation_actions(ConversationActions actions) { conversation_header.add_conversation_actions(actions); } diff --git a/src/client/composer/composer-box.vala b/src/client/composer/composer-box.vala index 2f823cb5..2addc0c1 100644 --- a/src/client/composer/composer-box.vala +++ b/src/client/composer/composer-box.vala @@ -27,14 +27,14 @@ public class Composer.Box : Gtk.Frame, Container { /** {@inheritDoc} */ internal Widget composer { get; set; } - private MainToolbar main_toolbar { get; private set; } + private Components.MainToolbar main_toolbar { get; private set; } /** Emitted when the container is closed. */ public signal void vanished(); - public Box(Widget composer, MainToolbar main_toolbar) { + public Box(Widget composer, Components.MainToolbar main_toolbar) { this.composer = composer; this.composer.set_mode(PANED); diff --git a/src/client/meson.build b/src/client/meson.build index 5aed39de..7262580b 100644 --- a/src/client/meson.build +++ b/src/client/meson.build @@ -57,6 +57,7 @@ client_vala_sources = files( 'components/components-inspector-error-view.vala', 'components/components-inspector-log-view.vala', 'components/components-inspector-system-view.vala', + 'components/components-main-toolbar.vala', 'components/components-placeholder-pane.vala', 'components/components-preferences-window.vala', 'components/components-problem-report-info-bar.vala', @@ -67,7 +68,6 @@ client_vala_sources = files( 'components/count-badge.vala', 'components/folder-popover.vala', 'components/icon-factory.vala', - 'components/main-toolbar.vala', 'components/monitored-progress-bar.vala', 'components/monitored-spinner.vala', 'components/status-bar.vala', diff --git a/ui/main-toolbar-menus.ui b/ui/components-main-toolbar-menus.ui similarity index 100% rename from ui/main-toolbar-menus.ui rename to ui/components-main-toolbar-menus.ui diff --git a/ui/main-toolbar.ui b/ui/components-main-toolbar.ui similarity index 90% rename from ui/main-toolbar.ui rename to ui/components-main-toolbar.ui index aba5529b..95c80838 100644 --- a/ui/main-toolbar.ui +++ b/ui/components-main-toolbar.ui @@ -6,7 +6,7 @@ True mail-archive-symbolic -