summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Berla <corey@berla.me>2023-01-20 15:52:14 -0800
committerCorey Berla <corey@berla.me>2023-05-04 21:32:59 +0000
commitf0b8a137168f425c583529cab4a52cb224ea4991 (patch)
treef7222038aba4d9a6978b2c0d7caac571c6e06dd2
parent77bdb851e69b297f91449c5410f979c81e5a2ad7 (diff)
downloadnautilus-f0b8a137168f425c583529cab4a52cb224ea4991.tar.gz
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.
-rw-r--r--libnautilus-extension/nautilus-column.c30
1 files changed, 30 insertions, 0 deletions
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));
}