From f0b8a137168f425c583529cab4a52cb224ea4991 Mon Sep 17 00:00:00 2001 From: Corey Berla Date: Fri, 20 Jan 2023 15:52:14 -0800 Subject: column: Add visible property for column chooser Add a private property that is meant to help that column chooser know if the nautilus-column should be visible or not. --- libnautilus-extension/nautilus-column.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/libnautilus-extension/nautilus-column.c b/libnautilus-extension/nautilus-column.c index 0349863c5..c1ac24dda 100644 --- a/libnautilus-extension/nautilus-column.c +++ b/libnautilus-extension/nautilus-column.c @@ -33,6 +33,7 @@ enum PROP_DESCRIPTION, PROP_XALIGN, PROP_DEFAULT_SORT_ORDER, + PROP_VISIBLE, LAST_PROP }; @@ -46,6 +47,7 @@ struct _NautilusColumn char *description; float xalign; int default_sort_order; /* Actually, meant to store GtkSortType */ + gboolean visible; }; G_DEFINE_TYPE (NautilusColumn, nautilus_column, G_TYPE_OBJECT); @@ -127,6 +129,12 @@ nautilus_column_get_property (GObject *object, } break; + case PROP_VISIBLE: + { + g_value_set_boolean (value, column->visible); + } + break; + default: { G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -193,6 +201,12 @@ nautilus_column_set_property (GObject *object, } break; + case PROP_VISIBLE: + { + column->visible = g_value_get_boolean (value); + } + break; + default: { G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -322,4 +336,20 @@ nautilus_column_class_init (NautilusColumnClass *class) "Default sort order", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); + + /** + * NautilusColumn:visible: (type gboolean) + * + * Whether to show the NautilusColumn in a ColumnChooser. + * This is not meant to be used by extensions. The value may be changed + * over the life of the NautilusColumn. + * + * Stability: Private: Internal to the application. + */ + g_object_class_install_property (G_OBJECT_CLASS (class), + PROP_VISIBLE, + g_param_spec_boolean ("visible", + NULL, NULL, + FALSE, + G_PARAM_READWRITE)); } -- cgit v1.2.1