From 233a0144906b1ff3af1e15380193281b0d8c583a Mon Sep 17 00:00:00 2001 From: Alx Sa Date: Tue, 31 Jan 2023 01:07:53 +0000 Subject: [PATCH] app: add eye icon to GimpItemTreeView header... ...visibility column. Makes it much more obvious where you have to click for visibility, and where each column is. Also it's more consistent. Backport of Jehan's code. --- app/widgets/gimpcontainertreeview-dnd.c | 1 + app/widgets/gimpitemtreeview.c | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/widgets/gimpcontainertreeview-dnd.c b/app/widgets/gimpcontainertreeview-dnd.c index 7a0878ff2f..720488e83e 100644 --- a/app/widgets/gimpcontainertreeview-dnd.c +++ b/app/widgets/gimpcontainertreeview-dnd.c @@ -97,6 +97,7 @@ gimp_container_tree_view_drop_status (GimpContainerTreeView *tree_view, break; } + gtk_tree_view_convert_widget_to_bin_window_coords (tree_view->view, x, y, &x, &y); if (gtk_tree_view_get_path_at_pos (tree_view->view, x, y, &drop_path, NULL, NULL, NULL)) { diff --git a/app/widgets/gimpitemtreeview.c b/app/widgets/gimpitemtreeview.c index 8be456ea3e..66bbb4b744 100644 --- a/app/widgets/gimpitemtreeview.c +++ b/app/widgets/gimpitemtreeview.c @@ -350,6 +350,12 @@ gimp_item_tree_view_constructed (GObject *object) G_OBJECT_CLASS (parent_class)->constructed (object); + gtk_tree_view_set_headers_visible (tree_view->view, TRUE); + + gtk_widget_style_get (GTK_WIDGET (item_view), + "button-icon-size", &icon_size, + NULL); + gimp_container_tree_view_connect_name_edited (tree_view, G_CALLBACK (gimp_item_tree_view_name_edited), item_view); @@ -363,6 +369,10 @@ gimp_item_tree_view_constructed (GObject *object) item_view); column = gtk_tree_view_column_new (); + image = gtk_image_new_from_icon_name (GIMP_ICON_VISIBLE, icon_size); + gtk_tree_view_column_set_widget (column, image); + gtk_tree_view_column_set_alignment (column, 0.5); + gtk_widget_show (image); gtk_tree_view_insert_column (tree_view->view, column, 0); item_view->priv->eye_cell = gimp_cell_renderer_toggle_new (GIMP_ICON_VISIBLE); @@ -389,6 +399,10 @@ gimp_item_tree_view_constructed (GObject *object) item_view); column = gtk_tree_view_column_new (); + image = gtk_image_new_from_icon_name (GIMP_ICON_LINKED, icon_size); + gtk_tree_view_column_set_widget (column, image); + gtk_tree_view_column_set_alignment (column, 0.5); + gtk_widget_show (image); gtk_tree_view_insert_column (tree_view->view, column, 1); item_view->priv->chain_cell = gimp_cell_renderer_toggle_new (GIMP_ICON_LINKED); @@ -477,10 +491,6 @@ gimp_item_tree_view_constructed (GObject *object) item_view_class->lock_content_tooltip, item_view_class->lock_content_help_id); - gtk_widget_style_get (GTK_WIDGET (item_view), - "button-icon-size", &icon_size, - NULL); - image = gtk_image_new_from_icon_name (item_view_class->lock_content_icon_name, icon_size); gtk_container_add (GTK_CONTAINER (item_view->priv->lock_content_toggle),