[gtk/columnview-menu: 3/3] wip: Add a header menu to settings demo
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/columnview-menu: 3/3] wip: Add a header menu to settings demo
- Date: Sun, 31 May 2020 18:46:18 +0000 (UTC)
commit fa5675ae689411b6302fec2c40dc9568a7bc195f
Author: Matthias Clasen <mclasen redhat com>
Date: Sun May 31 14:44:42 2020 -0400
wip: Add a header menu to settings demo
This doesn't quite work yet.
demos/gtk-demo/listview_settings.c | 21 +++++++++++++++++++++
demos/gtk-demo/listview_settings.ui | 13 +++++++++++++
2 files changed, 34 insertions(+)
---
diff --git a/demos/gtk-demo/listview_settings.c b/demos/gtk-demo/listview_settings.c
index 944b764dd6..cbc51f2d9b 100644
--- a/demos/gtk-demo/listview_settings.c
+++ b/demos/gtk-demo/listview_settings.c
@@ -267,6 +267,16 @@ stop_search (GtkSearchEntry *entry,
static GtkWidget *window = NULL;
+static void
+toggle_ellipsize_name (GSimpleAction *action,
+ GVariant *value,
+ gpointer user_data)
+{
+ GtkColumnView *cv = user_data;
+
+ g_simple_action_set_state (action, value);
+}
+
GtkWidget *
do_listview_settings (GtkWidget *do_widget)
{
@@ -280,6 +290,10 @@ do_listview_settings (GtkWidget *do_widget)
GtkBuilder *builder;
GtkColumnViewColumn *name_column;
GtkSorter *sorter;
+ GActionGroup *actions;
+ const GActionEntry entries[] = {
+ { "ellipsize-name", NULL, NULL, "false", toggle_ellipsize_name }
+ };
g_type_ensure (SETTINGS_TYPE_KEY);
@@ -299,6 +313,13 @@ do_listview_settings (GtkWidget *do_widget)
listview = GTK_WIDGET (gtk_builder_get_object (builder, "listview"));
columnview = GTK_WIDGET (gtk_builder_get_object (builder, "columnview"));
+
+ actions = G_ACTION_GROUP (g_simple_action_group_new ());
+ g_action_map_add_action_entries (G_ACTION_MAP (actions),
+ entries, G_N_ELEMENTS (entries), columnview);
+ 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 8bf12cf496..1d9c2874f2 100644
--- a/demos/gtk-demo/listview_settings.ui
+++ b/demos/gtk-demo/listview_settings.ui
@@ -77,6 +77,7 @@
<child>
<object class="GtkColumnViewColumn" id="name_column">
<property name="title">Name</property>
+ <property name="header-menu">name_menu</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
@@ -135,4 +136,16 @@
</object>
</child>
</object>
+ <menu id="name_menu">
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">Ellipsize</attribute>
+ <attribute name="action">columnview.ellipsize-name</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">Close</attribute>
+ <attribute name="action">window.close</attribute>
+ </item>
+ </section>
+ </menu>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]