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.
This commit is contained in:
Alx Sa
2023-01-31 01:07:53 +00:00
parent 62951f034e
commit 233a014490
2 changed files with 15 additions and 4 deletions

View File

@ -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))
{

View File

@ -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),