From c835214540cd4b13ef33ee36d1fb049798502c44 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 May 2020 14:44:42 -0400 Subject: [PATCH] Add a header menu to settings demo Allow toggling column visibility from here. --- demos/gtk-demo/listview_settings.c | 20 ++++++++++++++++++++ demos/gtk-demo/listview_settings.ui | 20 ++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/demos/gtk-demo/listview_settings.c b/demos/gtk-demo/listview_settings.c index c00024a68e..24c42ea232 100644 --- a/demos/gtk-demo/listview_settings.c +++ b/demos/gtk-demo/listview_settings.c @@ -300,7 +300,11 @@ do_listview_settings (GtkWidget *do_widget) GtkBuilderScope *scope; GtkBuilder *builder; GtkColumnViewColumn *name_column; + GtkColumnViewColumn *type_column; + GtkColumnViewColumn *default_column; GtkSorter *sorter; + GActionGroup *actions; + GAction *action; g_type_ensure (SETTINGS_TYPE_KEY); @@ -320,6 +324,22 @@ do_listview_settings (GtkWidget *do_widget) listview = GTK_WIDGET (gtk_builder_get_object (builder, "listview")); columnview = GTK_WIDGET (gtk_builder_get_object (builder, "columnview")); + type_column = GTK_COLUMN_VIEW_COLUMN (gtk_builder_get_object (builder, "type_column")); + default_column = GTK_COLUMN_VIEW_COLUMN (gtk_builder_get_object (builder, "default_column")); + + actions = G_ACTION_GROUP (g_simple_action_group_new ()); + + action = G_ACTION (g_property_action_new ("show-type", type_column, "visible")); + g_action_map_add_action (G_ACTION_MAP (actions), action); + g_object_unref (action); + + action = G_ACTION (g_property_action_new ("show-default", default_column, "visible")); + g_action_map_add_action (G_ACTION_MAP (actions), action); + g_object_unref (action); + + gtk_widget_insert_action_group (columnview, "columnview", actions); + g_object_unref (actions); + model = create_settings_model (NULL, NULL); treemodel = gtk_tree_list_model_new (FALSE, model, diff --git a/demos/gtk-demo/listview_settings.ui b/demos/gtk-demo/listview_settings.ui index cc9f7f8a9c..96d2a22cfe 100644 --- a/demos/gtk-demo/listview_settings.ui +++ b/demos/gtk-demo/listview_settings.ui @@ -77,6 +77,7 @@ Name + header_menu Value + header_menu - + Type + header_menu - + Default + header_menu + +
+ + Type + columnview.show-type + + + Default value + columnview.show-default + +
+