From 05ea5fbdb319e67d3d059fe62f02ff68e89ef40e Mon Sep 17 00:00:00 2001 From: Michael Gratton Date: Tue, 6 Apr 2021 12:13:52 +1000 Subject: [PATCH] client: Revert folder list expander change This undoes the expander-related changes introduced in !618, to fix regressions such as #1177 and #1184. --- src/client/meson.build | 1 - .../sidebar/sidebar-expander-renderer.vala | 38 ------------------- src/client/sidebar/sidebar-tree.vala | 12 ------ ui/geary.css | 23 ++++++----- 4 files changed, 14 insertions(+), 60 deletions(-) delete mode 100644 src/client/sidebar/sidebar-expander-renderer.vala diff --git a/src/client/meson.build b/src/client/meson.build index 11cf375f..5aed39de 100644 --- a/src/client/meson.build +++ b/src/client/meson.build @@ -136,7 +136,6 @@ client_vala_sources = files( 'sidebar/sidebar-common.vala', 'sidebar/sidebar-count-cell-renderer.vala', 'sidebar/sidebar-entry.vala', - 'sidebar/sidebar-expander-renderer.vala', 'sidebar/sidebar-tree.vala', 'util/util-avatar.vala', diff --git a/src/client/sidebar/sidebar-expander-renderer.vala b/src/client/sidebar/sidebar-expander-renderer.vala deleted file mode 100644 index a13beb48..00000000 --- a/src/client/sidebar/sidebar-expander-renderer.vala +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright © 2020 Purism SPC - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - */ - -/** - * Cell renderer for the expander in the sidebar. - */ -public class SidebarExpanderRenderer : Gtk.CellRendererPixbuf { - public signal void toggle(Gtk.TreePath path); - public weak Gtk.Widget widget { get; set; } - public SidebarExpanderRenderer(Gtk.Widget widget) { - this.widget = widget; - xalign = 1; - mode = Gtk.CellRendererMode.ACTIVATABLE; - notify["is-expanded"].connect (update_arrow); - update_arrow(); - } - - private void update_arrow() { - if (is_expanded) - this.icon_name = "go-down-symbolic"; - else - this.icon_name = "go-next-symbolic"; - } - - public override bool activate (Gdk.Event event, - Gtk.Widget widget, - string path, - Gdk.Rectangle background_area, - Gdk.Rectangle cell_area, - Gtk.CellRendererState flags) { - toggle(new Gtk.TreePath.from_string (path)); - return true; - } -} - diff --git a/src/client/sidebar/sidebar-tree.vala b/src/client/sidebar/sidebar-tree.vala index 4b83ee2c..c90285d1 100644 --- a/src/client/sidebar/sidebar-tree.vala +++ b/src/client/sidebar/sidebar-tree.vala @@ -115,18 +115,10 @@ public class Sidebar.Tree : Gtk.TreeView { end_column.set_cell_data_func(unread_renderer, counter_renderer_function); end_column.pack_start(unread_renderer, false); end_column.add_attribute(unread_renderer, "counter", Columns.COUNTER); - - // Expander arrows. - SidebarExpanderRenderer expander_renderer = new SidebarExpanderRenderer(this); - expander_renderer.toggle.connect(toggle_branch_expansion); - end_column.set_cell_data_func(expander_renderer, expander_renderer_function); - end_column.pack_start(expander_renderer, false); append_column(end_column); set_headers_visible(false); set_enable_search(false); - set_search_column(-1); - set_show_expanders(false); set_reorderable(false); set_enable_tree_lines(false); set_grid_lines(Gtk.TreeViewGridLines.NONE); @@ -171,10 +163,6 @@ public class Sidebar.Tree : Gtk.TreeView { renderer.visible = !(wrapper.entry is Sidebar.Header); } - public void expander_renderer_function(Gtk.CellLayout layout, Gtk.CellRenderer renderer, Gtk.TreeModel model, Gtk.TreeIter iter) { - renderer.visible = renderer.is_expander; - } - public void counter_renderer_function(Gtk.CellLayout layout, Gtk.CellRenderer renderer, Gtk.TreeModel model, Gtk.TreeIter iter) { EntryWrapper? wrapper = get_wrapper_at_iter(iter); if (wrapper == null) { diff --git a/ui/geary.css b/ui/geary.css index 046e9e63..00428138 100644 --- a/ui/geary.css +++ b/ui/geary.css @@ -18,10 +18,6 @@ min-width: 250px; } -.geary-folder-frame .sidebar .cell { - padding: 9px 6px; -} - .geary-conversation-frame > border { border-left-width: 0; border-top-width: 0; @@ -29,15 +25,10 @@ min-width: 360px; } -treeview.sidebar { - border: none; -} - geary-conversation-viewer { min-width: 360px; } -/* For 3-pane mode only */ .geary-sidebar-pane-separator.vertical .conversation-frame > border { border-bottom-width: 0; } @@ -402,6 +393,20 @@ dialog.geary-remove-confirm .dialog-action-box { /* FolderList.Tree */ +treeview.sidebar { + border: none; +} + +treeview.sidebar .cell { + padding: 9px 6px; +} +treeview.sidebar .cell:dir(ltr) { + padding-left: 0px; +} +treeview.sidebar .cell:dir(rtl) { + padding-right: 0px; +} + treeview.sidebar:drop(active).after, treeview.sidebar:drop(active).before, treeview.sidebar:drop(active).into {