summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLogan Rathbone <poprocks@gmail.com>2023-02-02 14:45:25 -0500
committerLogan Rathbone <poprocks@gmail.com>2023-02-02 14:45:25 -0500
commit6b77fe54625101cb9769d3b7e4324438a1f65a66 (patch)
tree8907425bcf98a5b38fa26fae46a83ebce58c1b70 /src
parent62046d9225d4d3d062a663f1739773cef94918e0 (diff)
downloadzenity-6b77fe54625101cb9769d3b7e4324438a1f65a66.tar.gz
tree: Re-add support for hiding columns
Diffstat (limited to 'src')
-rw-r--r--src/tree.c8
-rw-r--r--src/zenity-tree-column-view.c9
-rw-r--r--src/zenity-tree-column-view.h1
3 files changed, 18 insertions, 0 deletions
diff --git a/src/tree.c b/src/tree.c
index f4ade82..b59a919 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -362,6 +362,14 @@ zenity_tree (ZenityData *data, ZenityTreeData *tree_data)
zenity_tree_column_view_add_column (col_view, tmp->data);
}
+ if (hide_columns)
+ {
+ for (guint i = 0; hide_columns[i] != 0; i++)
+ {
+ zenity_tree_column_view_show_column (col_view, hide_columns[i]-1, FALSE);
+ }
+ }
+
if (tree_data->data && *tree_data->data) /* we have argv after opts */
{
zenity_tree_fill_entries (tree_data->data);
diff --git a/src/zenity-tree-column-view.c b/src/zenity-tree-column-view.c
index 1d810d1..7902a9a 100644
--- a/src/zenity-tree-column-view.c
+++ b/src/zenity-tree-column-view.c
@@ -627,3 +627,12 @@ zenity_tree_column_view_set_search (ZenityTreeColumnView *self, const char *sear
{
gtk_string_filter_set_search (self->filter, search_str);
}
+
+void
+zenity_tree_column_view_show_column (ZenityTreeColumnView *self, guint pos, gboolean show)
+{
+ GListModel *cols = gtk_column_view_get_columns (self->child_cv);
+ GtkColumnViewColumn *col = g_list_model_get_item (cols, pos);
+
+ gtk_column_view_column_set_visible (col, show);
+}
diff --git a/src/zenity-tree-column-view.h b/src/zenity-tree-column-view.h
index 3d49a0e..c146e18 100644
--- a/src/zenity-tree-column-view.h
+++ b/src/zenity-tree-column-view.h
@@ -52,5 +52,6 @@ gboolean zenity_tree_column_view_get_editable (ZenityTreeColumnView *self);
gboolean zenity_tree_column_view_get_multi (ZenityTreeColumnView *self);
gboolean zenity_tree_column_view_is_selected (ZenityTreeColumnView *self, guint pos);
void zenity_tree_column_view_set_search (ZenityTreeColumnView *self, const char *search_str);
+void zenity_tree_column_view_show_column (ZenityTreeColumnView *self, guint pos, gboolean show);
G_END_DECLS