summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-10-26 12:58:23 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-10-26 22:43:12 -0400
commit0faadef36f5bbc62013327dea8264ec82ade8f34 (patch)
treeb6df5189633c2b2521c90c1d8f6f2481b702e1ee
parentaf6c3017fb0010dcba884da9bef686a92ae7215f (diff)
downloadgtk+-popover-menu-custom-child.tar.gz
widget-factory: Add a scale to the gear menupopover-menu-custom-child
This tests the custom menuitem support, and lets you control the transition duration for the main stack.
-rw-r--r--demos/widget-factory/widget-factory.c11
-rw-r--r--demos/widget-factory/widget-factory.ui26
2 files changed, 35 insertions, 2 deletions
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index 021b69e640..1d81031a8e 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -92,6 +92,16 @@ change_theme_state (GSimpleAction *action,
static GtkWidget *page_stack;
static void
+transition_speed_changed (GtkRange *range,
+ gpointer data)
+{
+ double value;
+
+ value = gtk_range_get_value (range);
+ gtk_stack_set_transition_duration (GTK_STACK (page_stack), (int)value);
+}
+
+static void
change_transition_state (GSimpleAction *action,
GVariant *state,
gpointer user_data)
@@ -2022,6 +2032,7 @@ activate (GApplication *app)
"validate_more_details", (GCallback)validate_more_details,
"mode_switch_state_set", (GCallback)mode_switch_state_set,
"level_scale_value_changed", (GCallback)level_scale_value_changed,
+ "transition_speed_changed", (GCallback)transition_speed_changed,
NULL);
gtk_builder_set_scope (builder, scope);
g_object_unref (scope);
diff --git a/demos/widget-factory/widget-factory.ui b/demos/widget-factory/widget-factory.ui
index 0b383655ee..36bee582cf 100644
--- a/demos/widget-factory/widget-factory.ui
+++ b/demos/widget-factory/widget-factory.ui
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <menu id="gear_menu">
+ <menu id="gear_menu_model">
<section>
<item>
<attribute name="label" translatable="yes">Get Busy</attribute>
@@ -40,6 +40,9 @@
<attribute name="label" translatable="yes">Transition Pages</attribute>
<attribute name="action">win.transition</attribute>
</item>
+ <item>
+ <attribute name="custom">transition-speed</attribute>
+ </item>
</section>
<section>
<item>
@@ -444,7 +447,26 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
<child type="end">
<object class="GtkMenuButton" id="gear_menu_button">
<property name="valign">center</property>
- <property name="menu-model">gear_menu</property>
+ <property name="popover">
+ <object class="GtkPopoverMenu" id="gear_menu">
+ <property name="menu-model">gear_menu_model</property>
+ <child type="transition-speed">
+ <object class="GtkScale">
+ <property name="adjustment">
+ <object class="GtkAdjustment">
+ <property name="lower">0</property>
+ <property name="upper">1000</property>
+ <property name="value">250</property>
+ <property name="step-increment">50</property>
+ <property name="page-increment">50</property>
+ <property name="page-size">0</property>
+ </object>
+ </property>
+ <signal name="value-changed" handler="transition_speed_changed"/>
+ </object>
+ </child>
+ </object>
+ </property>
<property name="icon-name">open-menu-symbolic</property>
</object>
</child>