[libadwaita/wip/exalm/swipe-group: 45/54] examples: Stop using AdwSwipeGroup
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libadwaita/wip/exalm/swipe-group: 45/54] examples: Stop using AdwSwipeGroup
- Date: Thu, 6 May 2021 11:35:14 +0000 (UTC)
commit 63cff65f91edda4d52bb118f0862418b4b4519a4
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Fri Feb 26 14:18:27 2021 +0500
examples: Stop using AdwSwipeGroup
Move the leaflet subpage to span the whole window instead.
examples/adw-demo-window.c | 31 +-
examples/adw-demo-window.ui | 1373 +++++++++++++++++++++----------------------
2 files changed, 670 insertions(+), 734 deletions(-)
---
diff --git a/examples/adw-demo-window.c b/examples/adw-demo-window.c
index 90f8572..d368b17 100644
--- a/examples/adw-demo-window.c
+++ b/examples/adw-demo-window.c
@@ -10,12 +10,11 @@ struct _AdwDemoWindow
AdwLeaflet *content_box;
GtkBox *right_box;
- GtkStack *header_stack;
GtkImage *theme_variant;
GtkStackSidebar *sidebar;
GtkStack *stack;
AdwComboRow *leaflet_transition_row;
- AdwLeaflet *content_leaflet;
+ AdwLeaflet *subpage_leaflet;
GtkListBox *lists_listbox;
AdwCarousel *carousel;
GtkBox *carousel_box;
@@ -54,30 +53,11 @@ prefer_dark_theme_to_icon_name_cb (GBinding *binding,
return TRUE;
}
-static void
-update (AdwDemoWindow *self)
-{
- const char *header_bar_name = "default";
-
- if (g_strcmp0 (gtk_stack_get_visible_child_name (self->stack), "leaflet") == 0)
- header_bar_name = "leaflet";
-
- gtk_stack_set_visible_child_name (self->header_stack, header_bar_name);
-}
-
-static void
-notify_leaflet_visible_child_cb (AdwDemoWindow *self)
-{
- update (self);
-}
-
static void
notify_visible_child_cb (GObject *sender,
GParamSpec *pspec,
AdwDemoWindow *self)
{
- update (self);
-
adw_leaflet_navigate (self->content_box, ADW_NAVIGATION_DIRECTION_FORWARD);
}
@@ -92,7 +72,7 @@ static void
leaflet_back_clicked_cb (GtkWidget *sender,
AdwDemoWindow *self)
{
- adw_leaflet_navigate (self->content_leaflet, ADW_NAVIGATION_DIRECTION_BACK);
+ adw_leaflet_navigate (self->subpage_leaflet, ADW_NAVIGATION_DIRECTION_BACK);
}
static char *
@@ -131,7 +111,7 @@ leaflet_go_next_row_activated_cb (AdwDemoWindow *self)
{
g_assert (ADW_IS_DEMO_WINDOW (self));
- adw_leaflet_navigate (self->content_leaflet, ADW_NAVIGATION_DIRECTION_FORWARD);
+ adw_leaflet_navigate (self->subpage_leaflet, ADW_NAVIGATION_DIRECTION_FORWARD);
}
static void
@@ -429,12 +409,11 @@ adw_demo_window_class_init (AdwDemoWindowClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/Adwaita/Demo/ui/adw-demo-window.ui");
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, content_box);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, right_box);
- gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, header_stack);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, theme_variant);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, sidebar);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, stack);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, leaflet_transition_row);
- gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, content_leaflet);
+ gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, subpage_leaflet);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, lists_listbox);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, carousel);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, carousel_box);
@@ -446,7 +425,6 @@ adw_demo_window_class_init (AdwDemoWindowClass *klass)
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, avatar_remove_button);
gtk_widget_class_bind_template_child (widget_class, AdwDemoWindow, avatar_contacts);
gtk_widget_class_bind_template_callback (widget_class, notify_visible_child_cb);
- gtk_widget_class_bind_template_callback (widget_class, notify_leaflet_visible_child_cb);
gtk_widget_class_bind_template_callback (widget_class, back_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, leaflet_back_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, leaflet_transition_name);
@@ -505,7 +483,6 @@ adw_demo_window_init (AdwDemoWindow *self)
NULL);
avatar_page_init (self);
- update (self);
adw_leaflet_set_visible_child (self->content_box, GTK_WIDGET (self->right_box));
}
diff --git a/examples/adw-demo-window.ui b/examples/adw-demo-window.ui
index 1a673ac..97697fe 100644
--- a/examples/adw-demo-window.ui
+++ b/examples/adw-demo-window.ui
@@ -16,173 +16,117 @@
<property name="default_width">800</property>
<property name="default_height">576</property>
<child>
- <object class="AdwLeaflet" id="content_box">
+ <object class="AdwLeaflet" id="subpage_leaflet">
<property name="can-swipe-back">True</property>
<property name="width-request">360</property>
+ <property name="can-unfold">False</property>
+ <property name="transition-type" bind-source="content_box" bind-property="transition-type"
bind-flags="sync-create"/>
<child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <child>
- <object class="AdwHeaderBar" id="header_bar">
- <property name="show-end-title-buttons" bind-source="content_box" bind-property="folded"
bind-flags="sync-create"/>
- <child type="start">
- <object class="GtkButton" id="theme_variant">
- <signal name="clicked" handler="theme_variant_button_clicked_cb" swapped="yes"/>
- </object>
- </child>
- <child type="end">
- <object class="GtkMenuButton" id="menu_button">
- <property name="menu-model">primary_menu</property>
- <property name="icon-name">open-menu-symbolic</property>
- </object>
- </child>
- </object>
- </child>
+ <object class="AdwLeaflet" id="content_box">
+ <property name="can-swipe-back">True</property>
<child>
- <object class="GtkStackSidebar" id="sidebar">
- <property name="width_request">270</property>
- <property name="vexpand">True</property>
- <property name="stack">stack</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwLeafletPage">
- <property name="navigatable">False</property>
- <property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
- <object class="GtkWindowHandle" id="header_separator">
- <child>
- <object class="GtkSeparator">
- <property name="orientation">vertical</property>
- <style>
- <class name="sidebar"/>
- </style>
+ <object class="AdwHeaderBar" id="left_header_bar">
+ <property name="show-end-title-buttons" bind-source="content_box" bind-property="folded"
bind-flags="sync-create"/>
+ <child type="start">
+ <object class="GtkButton" id="theme_variant">
+ <signal name="clicked" handler="theme_variant_button_clicked_cb" swapped="yes"/>
+ </object>
+ </child>
+ <child type="end">
+ <object class="GtkMenuButton" id="menu_button">
+ <property name="menu-model">primary_menu</property>
+ <property name="icon-name">open-menu-symbolic</property>
</object>
</child>
</object>
</child>
<child>
- <object class="GtkSeparator">
- <property name="orientation">vertical</property>
+ <object class="GtkStackSidebar" id="sidebar">
+ <property name="width_request">270</property>
<property name="vexpand">True</property>
- <style>
- <class name="sidebar"/>
- </style>
+ <property name="stack">stack</property>
</object>
</child>
</object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="right_box">
- <property name="orientation">vertical</property>
- <property name="hexpand">True</property>
+ </child>
<child>
- <object class="GtkStack" id="header_stack">
- <property name="transition-type" bind-source="stack" bind-property="transition-type"
bind-flags="sync-create"/>
- <child>
- <object class="GtkStackPage">
- <property name="name">default</property>
- <property name="child">
- <object class="AdwHeaderBar" id="default_header_bar">
- <property name="show-start-title-buttons" bind-source="content_box"
bind-property="folded" bind-flags="sync-create"/>
- <property name="title-widget">
- <object class="GtkBox"/>
- </property>
- <child type="start">
- <object class="GtkButton" id="back">
- <property name="valign">center</property>
- <property name="tooltip-text" translatable="yes">Back</property>
- <property name="icon-name">go-previous-symbolic</property>
- <property name="visible" bind-source="content_box" bind-property="folded"
bind-flags="sync-create"/>
- <signal name="clicked" handler="back_clicked_cb"/>
- </object>
- </child>
- </object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">leaflet</property>
- <property name="child">
- <object class="AdwLeaflet" id="header_leaflet">
- <property name="can-unfold">False</property>
- <property name="can-swipe-back">True</property>
- <property name="transition-type" bind-source="content_box"
bind-property="transition-type" bind-flags="sync-create"/>
- <child>
- <object class="AdwHeaderBar" id="leaflet_header_bar">
- <property name="show-start-title-buttons" bind-source="content_box"
bind-property="folded" bind-flags="sync-create"/>
- <property name="title-widget">
- <object class="GtkBox"/>
- </property>
- <child type="start">
- <object class="GtkButton" id="leaflet-back">
- <property name="valign">center</property>
- <property name="tooltip-text" translatable="yes">Back</property>
- <property name="icon-name">go-previous-symbolic</property>
- <property name="visible" bind-source="content_box" bind-property="folded"
bind-flags="sync-create"/>
- <signal name="clicked" handler="back_clicked_cb"/>
- </object>
- </child>
- </object>
- </child>
+ <object class="AdwLeafletPage">
+ <property name="navigatable">False</property>
+ <property name="child">
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkWindowHandle" id="header_separator">
<child>
- <object class="AdwHeaderBar" id="leaflet_sub_header_bar">
- <property name="show-start-title-buttons" bind-source="content_box"
bind-property="folded" bind-flags="sync-create"/>
- <property name="title-widget">
- <object class="GtkBox"/>
- </property>
- <child type="start">
- <object class="GtkButton" id="leaflet-sub-back">
- <property name="valign">center</property>
- <property name="tooltip-text" translatable="yes">Back</property>
- <property name="icon-name">go-previous-symbolic</property>
- <signal name="clicked" handler="leaflet_back_clicked_cb"/>
- </object>
- </child>
+ <object class="GtkSeparator">
+ <property name="orientation">vertical</property>
+ <style>
+ <class name="sidebar"/>
+ </style>
</object>
</child>
</object>
- </property>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="orientation">vertical</property>
+ <property name="vexpand">True</property>
+ <style>
+ <class name="sidebar"/>
+ </style>
+ </object>
+ </child>
</object>
- </child>
+ </property>
</object>
</child>
<child>
- <object class="GtkStack" id="stack">
- <property name="vexpand">True</property>
- <property name="vhomogeneous">False</property>
- <signal name="notify::visible-child" handler="notify_visible_child_cb" after="yes"
swapped="no"/>
+ <object class="GtkBox" id="right_box">
+ <property name="orientation">vertical</property>
+ <property name="hexpand">True</property>
<child>
- <object class="GtkStackPage">
- <property name="name">welcome</property>
- <property name="title" translatable="yes">Welcome</property>
- <property name="child">
- <object class="AdwStatusPage">
- <property name="icon-name">gnome-smartphone-symbolic</property>
- <property name="title" translatable="yes">Welcome to Adwaita Demo</property>
- <property name="description" translatable="yes">This is a tour of the features the
library has to offer.</property>
- </object>
+ <object class="AdwHeaderBar" id="right_header_bar">
+ <property name="show-start-title-buttons" bind-source="content_box"
bind-property="folded" bind-flags="sync-create"/>
+ <property name="title-widget">
+ <object class="GtkBox"/>
</property>
+ <child type="start">
+ <object class="GtkButton" id="back">
+ <property name="valign">center</property>
+ <property name="tooltip-text" translatable="yes">Back</property>
+ <property name="icon-name">go-previous-symbolic</property>
+ <property name="visible" bind-source="content_box" bind-property="folded"
bind-flags="sync-create"/>
+ <signal name="clicked" handler="back_clicked_cb"/>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="GtkStackPage">
- <property name="name">leaflet</property>
- <property name="title" translatable="yes">Leaflet</property>
- <property name="child">
- <object class="AdwLeaflet" id="content_leaflet">
- <property name="can-unfold">False</property>
- <property name="can-swipe-back">True</property>
- <property name="transition-type" bind-source="content_box"
bind-property="transition-type" bind-flags="sync-create"/>
- <signal name="notify::visible-child" handler="notify_leaflet_visible_child_cb"
after="yes" swapped="yes"/>
- <child>
+ <object class="GtkStack" id="stack">
+ <property name="vexpand">True</property>
+ <property name="vhomogeneous">False</property>
+ <signal name="notify::visible-child" handler="notify_visible_child_cb" after="yes"
swapped="no"/>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">welcome</property>
+ <property name="title" translatable="yes">Welcome</property>
+ <property name="child">
+ <object class="AdwStatusPage">
+ <property name="icon-name">gnome-smartphone-symbolic</property>
+ <property name="title" translatable="yes">Welcome to Adwaita Demo</property>
+ <property name="description" translatable="yes">This is a tour of the features
the library has to offer.</property>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">leaflet</property>
+ <property name="title" translatable="yes">Leaflet</property>
+ <property name="child">
<object class="AdwStatusPage">
<property name="icon-name">widget-leaflet-symbolic</property>
<property name="title" translatable="yes">Leaflet</property>
@@ -228,563 +172,422 @@
</object>
</property>
</object>
- </child>
- <child>
- <object class="GtkScrolledWindow">
- <property name="hscrollbar-policy">never</property>
- <child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="valign">center</property>
- <property name="margin-top">12</property>
- <property name="margin-bottom">12</property>
- <property name="margin-start">12</property>
- <property name="margin-end">12</property>
- <property name="spacing">12</property>
- <child>
- <object class="GtkLabel">
- <property name="halign">center</property>
- <property name="label" translatable="yes">Go back</property>
- <property name="justify">center</property>
- <property name="wrap">True</property>
- <property name="wrap-mode">word-char</property>
- <style>
- <class name="title"/>
- <class name="large-title"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkImage">
- <property
name="icon-name">gesture-touchscreen-swipe-back-symbolic</property>
- <property name="pixel-size">128</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkImage">
- <property
name="icon-name">gesture-touchpad-swipe-back-symbolic</property>
- <property name="pixel-size">128</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
+ </property>
</object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">clamp</property>
- <property name="title" translatable="yes">Clamp</property>
- <property name="child">
- <object class="AdwStatusPage">
- <property name="icon-name">widget-clamp-symbolic</property>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">clamp</property>
<property name="title" translatable="yes">Clamp</property>
- <property name="description" translatable="yes">This page is clamped to smoothly
grow up to a maximum width.</property>
<property name="child">
- <object class="AdwClamp">
- <property name="maximum-size" bind-source="clamp_maximum_size_adjustment"
bind-property="value" bind-flags="sync-create"/>
- <property name="tightening-threshold"
bind-source="clamp_tightening_threshold_adjustment" bind-property="value" bind-flags="sync-create"/>
+ <object class="AdwStatusPage">
+ <property name="icon-name">widget-clamp-symbolic</property>
+ <property name="title" translatable="yes">Clamp</property>
+ <property name="description" translatable="yes">This page is clamped to smoothly
grow up to a maximum width.</property>
<property name="child">
- <object class="GtkListBox" id="clamp_listbox">
- <property name="selection-mode">none</property>
- <style>
- <class name="content"/>
- </style>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Maximum width</property>
+ <object class="AdwClamp">
+ <property name="maximum-size" bind-source="clamp_maximum_size_adjustment"
bind-property="value" bind-flags="sync-create"/>
+ <property name="tightening-threshold"
bind-source="clamp_tightening_threshold_adjustment" bind-property="value" bind-flags="sync-create"/>
+ <property name="child">
+ <object class="GtkListBox" id="clamp_listbox">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="content"/>
+ </style>
<child>
- <object class="GtkSpinButton">
- <property name="adjustment">clamp_maximum_size_adjustment</property>
- <property name="valign">center</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Maximum width</property>
+ <child>
+ <object class="GtkSpinButton">
+ <property
name="adjustment">clamp_maximum_size_adjustment</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Tightening threshold</property>
<child>
- <object class="GtkSpinButton">
- <property
name="adjustment">clamp_tightening_threshold_adjustment</property>
- <property name="valign">center</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Tightening
threshold</property>
+ <child>
+ <object class="GtkSpinButton">
+ <property
name="adjustment">clamp_tightening_threshold_adjustment</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
</object>
</child>
</object>
- </child>
+ </property>
</object>
</property>
</object>
</property>
</object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">lists</property>
- <property name="title" translatable="yes">Lists</property>
- <property name="child">
- <object class="AdwStatusPage">
- <property name="icon-name">widget-list-symbolic</property>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">lists</property>
<property name="title" translatable="yes">Lists</property>
- <property name="description" translatable="yes">Rows and helpers for
GtkListBox.</property>
<property name="child">
- <object class="AdwClamp">
- <property name="maximum-size">400</property>
- <property name="tightening-threshold">300</property>
+ <object class="AdwStatusPage">
+ <property name="icon-name">widget-list-symbolic</property>
+ <property name="title" translatable="yes">Lists</property>
+ <property name="description" translatable="yes">Rows and helpers for
GtkListBox.</property>
<property name="child">
- <object class="GtkListBox" id="lists_listbox">
- <property name="selection-mode">none</property>
- <style>
- <class name="content"/>
- </style>
- <child>
- <object class="AdwActionRow">
- <property name="icon-name">row-preferences-symbolic</property>
- <property name="subtitle" translatable="yes">They also have a subtitle
and an icon</property>
- <property name="title" translatable="yes">Rows have a title</property>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="activatable_widget">frobnicate</property>
- <property name="title" translatable="yes">Rows can have action
widgets</property>
+ <object class="AdwClamp">
+ <property name="maximum-size">400</property>
+ <property name="tightening-threshold">300</property>
+ <property name="child">
+ <object class="GtkListBox" id="lists_listbox">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="content"/>
+ </style>
<child>
- <object class="GtkButton" id="frobnicate">
- <property name="halign">end</property>
- <property name="label" translatable="yes">Frobnicate</property>
- <property name="valign">center</property>
- <style>
- <class name="outline"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="activatable_widget">radio_button_1</property>
- <property name="title" translatable="yes">Rows can have prefix
widgets</property>
- <child type="prefix">
- <object class="GtkCheckButton" id="radio_button_1">
- <property name="valign">center</property>
- <property name="active">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="activatable_widget">radio_button_2</property>
- <property name="title" translatable="yes">Rows can have prefix
widgets</property>
- <child type="prefix">
- <object class="GtkCheckButton" id="radio_button_2">
- <property name="group">radio_button_1</property>
- <property name="valign">center</property>
+ <object class="AdwActionRow">
+ <property name="icon-name">row-preferences-symbolic</property>
+ <property name="subtitle" translatable="yes">They also have a
subtitle and an icon</property>
+ <property name="title" translatable="yes">Rows have a
title</property>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwComboRow" id="combo_row">
- <property name="title" translatable="yes">Combo row</property>
- <property name="model">
- <object class="GtkStringList">
- <items>
- <item>Foo</item>
- <item>Bar</item>
- <item>Baz</item>
- </items>
- </object>
- </property>
- </object>
- </child>
- <child>
- <object class="AdwComboRow" id="enum_combo_row">
- <property name="subtitle" translatable="yes">This combo row was created
from an enumeration</property>
- <property name="title" translatable="yes">Enumeration combo
row</property>
- <property name="model">
- <object class="AdwEnumListModel">
- <property name="enum-type">GtkLicense</property>
- </object>
- </property>
- <property name="expression">
- <lookup type="AdwEnumValueObject" name="nick"/>
- </property>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow" id="expander_row">
- <property name="title" translatable="yes">Expander row</property>
<child>
- <object class="GtkListBoxRow">
- <property name="activatable">False</property>
+ <object class="AdwActionRow">
+ <property name="activatable_widget">frobnicate</property>
+ <property name="title" translatable="yes">Rows can have action
widgets</property>
<child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Hello,
world!</property>
- <property name="margin-top">12</property>
- <property name="margin-bottom">12</property>
- <property name="margin-start">12</property>
- <property name="margin-end">12</property>
+ <object class="GtkButton" id="frobnicate">
+ <property name="halign">end</property>
+ <property name="label" translatable="yes">Frobnicate</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="outline"/>
+ </style>
</object>
</child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow" id="action_expander_row">
- <property name="title" translatable="yes">Expander row with an
action</property>
- <child type="action">
- <object class="GtkButton">
- <property name="valign">center</property>
- <property name="icon-name">row-copy-symbolic</property>
- <style>
- <class name="outline"/>
- </style>
- </object>
- </child>
<child>
<object class="AdwActionRow">
- <property name="title" translatable="yes">A nested row</property>
+ <property name="activatable_widget">radio_button_1</property>
+ <property name="title" translatable="yes">Rows can have prefix
widgets</property>
+ <child type="prefix">
+ <object class="GtkCheckButton" id="radio_button_1">
+ <property name="valign">center</property>
+ <property name="active">True</property>
+ </object>
+ </child>
</object>
</child>
<child>
<object class="AdwActionRow">
- <property name="title" translatable="yes">Another nested
row</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow">
- <property name="title" translatable="yes">Expander row with a
prefix</property>
- <child type="prefix">
- <object class="GtkButton">
- <property name="valign">center</property>
- <property name="icon-name">row-shutdown-symbolic</property>
- <style>
- <class name="outline"/>
- </style>
+ <property name="activatable_widget">radio_button_2</property>
+ <property name="title" translatable="yes">Rows can have prefix
widgets</property>
+ <child type="prefix">
+ <object class="GtkCheckButton" id="radio_button_2">
+ <property name="group">radio_button_1</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">A nested row</property>
+ <object class="AdwComboRow" id="combo_row">
+ <property name="title" translatable="yes">Combo row</property>
+ <property name="model">
+ <object class="GtkStringList">
+ <items>
+ <item>Foo</item>
+ <item>Bar</item>
+ <item>Baz</item>
+ </items>
+ </object>
+ </property>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Another nested
row</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow">
- <property name="title" translatable="yes">Expander row with a prefix and
icon</property>
- <property name="icon-name">row-forbidden-symbolic</property>
- <child type="prefix">
- <object class="GtkButton">
- <property name="valign">center</property>
- <property name="icon-name">row-shutdown-symbolic</property>
- <style>
- <class name="outline"/>
- </style>
+ <object class="AdwComboRow" id="enum_combo_row">
+ <property name="subtitle" translatable="yes">This combo row was
created from an enumeration</property>
+ <property name="title" translatable="yes">Enumeration combo
row</property>
+ <property name="model">
+ <object class="AdwEnumListModel">
+ <property name="enum-type">GtkLicense</property>
+ </object>
+ </property>
+ <property name="expression">
+ <lookup type="AdwEnumValueObject" name="nick"/>
+ </property>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">A nested row</property>
+ <object class="AdwExpanderRow" id="expander_row">
+ <property name="title" translatable="yes">Expander row</property>
+ <child>
+ <object class="GtkListBoxRow">
+ <property name="activatable">False</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">Hello,
world!</property>
+ <property name="margin-top">12</property>
+ <property name="margin-bottom">12</property>
+ <property name="margin-start">12</property>
+ <property name="margin-end">12</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Another nested
row</property>
+ <object class="AdwExpanderRow" id="action_expander_row">
+ <property name="title" translatable="yes">Expander row with an
action</property>
+ <child type="action">
+ <object class="GtkButton">
+ <property name="valign">center</property>
+ <property name="icon-name">row-copy-symbolic</property>
+ <style>
+ <class name="outline"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A nested row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another nested
row</property>
+ </object>
+ </child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow" id="enable_expander_row">
- <property name="show_enable_switch">True</property>
- <property name="title" translatable="yes">Toggleable expander
row</property>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">A nested row</property>
+ <object class="AdwExpanderRow">
+ <property name="title" translatable="yes">Expander row with a
prefix</property>
+ <child type="prefix">
+ <object class="GtkButton">
+ <property name="valign">center</property>
+ <property name="icon-name">row-shutdown-symbolic</property>
+ <style>
+ <class name="outline"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A nested row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another nested
row</property>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Another nested
row</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow" id="action_switch_expander_row">
- <property name="show_enable_switch">True</property>
- <property name="title" translatable="yes">Toggleable expander row with
an action</property>
- <child type="action">
- <object class="GtkButton">
- <property name="valign">center</property>
- <property name="icon-name">row-copy-symbolic</property>
- <style>
- <class name="outline"/>
- </style>
+ <object class="AdwExpanderRow">
+ <property name="title" translatable="yes">Expander row with a prefix
and icon</property>
+ <property name="icon-name">row-forbidden-symbolic</property>
+ <child type="prefix">
+ <object class="GtkButton">
+ <property name="valign">center</property>
+ <property name="icon-name">row-shutdown-symbolic</property>
+ <style>
+ <class name="outline"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A nested row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another nested
row</property>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">A nested row</property>
+ <object class="AdwExpanderRow" id="enable_expander_row">
+ <property name="show_enable_switch">True</property>
+ <property name="title" translatable="yes">Toggleable expander
row</property>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A nested row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another nested
row</property>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Another nested
row</property>
+ <object class="AdwExpanderRow" id="action_switch_expander_row">
+ <property name="show_enable_switch">True</property>
+ <property name="title" translatable="yes">Toggleable expander row
with an action</property>
+ <child type="action">
+ <object class="GtkButton">
+ <property name="valign">center</property>
+ <property name="icon-name">row-copy-symbolic</property>
+ <style>
+ <class name="outline"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A nested row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another nested
row</property>
+ </object>
+ </child>
</object>
</child>
</object>
- </child>
+ </property>
</object>
</property>
</object>
</property>
</object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">view-switcher</property>
- <property name="title" translatable="yes">View Switcher</property>
- <property name="child">
- <object class="AdwStatusPage">
- <property name="icon-name">widget-view-switcher-symbolic</property>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">view-switcher</property>
<property name="title" translatable="yes">View Switcher</property>
- <property name="description" translatable="yes">Widgets to switch the window's
view.</property>
- <child>
- <object class="GtkButton">
- <property name="label" translatable="yes">Run the demo</property>
- <property name="halign">center</property>
- <signal name="clicked" handler="view_switcher_demo_clicked_cb" swapped="no"/>
+ <property name="child">
+ <object class="AdwStatusPage">
+ <property name="icon-name">widget-view-switcher-symbolic</property>
+ <property name="title" translatable="yes">View Switcher</property>
+ <property name="description" translatable="yes">Widgets to switch the window's
view.</property>
+ <child>
+ <object class="GtkButton">
+ <property name="label" translatable="yes">Run the demo</property>
+ <property name="halign">center</property>
+ <signal name="clicked" handler="view_switcher_demo_clicked_cb" swapped="no"/>
+ </object>
+ </child>
</object>
- </child>
+ </property>
</object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">carousel</property>
- <property name="title" translatable="yes">Carousel</property>
- <property name="child">
- <object class="GtkBox" id="carousel_box">
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkBox" id="carousel_empty_box"/>
- </child>
- <child>
- <object class="AdwCarousel" id="carousel">
- <property name="vexpand">True</property>
- <property name="hexpand">True</property>
- <property name="allow-scroll-wheel" bind-source="carousel_scroll_wheel"
bind-property="active" bind-flags="sync-create|bidirectional"/>
- <property name="allow-long-swipes" bind-source="carousel_long_swipes"
bind-property="active" bind-flags="sync-create|bidirectional"/>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">carousel</property>
+ <property name="title" translatable="yes">Carousel</property>
+ <property name="child">
+ <object class="GtkBox" id="carousel_box">
+ <property name="orientation">vertical</property>
<child>
- <object class="AdwStatusPage">
- <property name="icon-name">widget-carousel-symbolic</property>
- <property name="title" translatable="yes">Carousel</property>
- <property name="description" translatable="yes">A widget for paginated
scrolling.</property>
- </object>
+ <object class="GtkBox" id="carousel_empty_box"/>
</child>
<child>
- <object class="AdwClamp">
- <property name="margin-bottom">32</property>
- <property name="margin-start">12</property>
- <property name="margin-end">12</property>
- <property name="maximum-size">400</property>
- <property name="tightening-threshold">300</property>
+ <object class="AdwCarousel" id="carousel">
+ <property name="vexpand">True</property>
+ <property name="hexpand">True</property>
+ <property name="allow-scroll-wheel" bind-source="carousel_scroll_wheel"
bind-property="active" bind-flags="sync-create|bidirectional"/>
+ <property name="allow-long-swipes" bind-source="carousel_long_swipes"
bind-property="active" bind-flags="sync-create|bidirectional"/>
<child>
- <object class="GtkListBox" id="carousel_listbox">
- <property name="valign">center</property>
- <property name="selection-mode">none</property>
- <style>
- <class name="content"/>
- </style>
+ <object class="AdwStatusPage">
+ <property name="icon-name">widget-carousel-symbolic</property>
+ <property name="title" translatable="yes">Carousel</property>
+ <property name="description" translatable="yes">A widget for paginated
scrolling.</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwClamp">
+ <property name="margin-bottom">32</property>
+ <property name="margin-start">12</property>
+ <property name="margin-end">12</property>
+ <property name="maximum-size">400</property>
+ <property name="tightening-threshold">300</property>
<child>
- <object class="AdwComboRow" id="carousel_orientation_row">
- <property name="title" translatable="yes">Orientation</property>
- <signal name="notify::selected"
handler="notify_carousel_orientation_cb" swapped="no"/>
- <property name="model">
- <object class="AdwEnumListModel">
- <property name="enum-type">GtkOrientation</property>
+ <object class="GtkListBox" id="carousel_listbox">
+ <property name="valign">center</property>
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="content"/>
+ </style>
+ <child>
+ <object class="AdwComboRow" id="carousel_orientation_row">
+ <property name="title" translatable="yes">Orientation</property>
+ <signal name="notify::selected"
handler="notify_carousel_orientation_cb" swapped="no"/>
+ <property name="model">
+ <object class="AdwEnumListModel">
+ <property name="enum-type">GtkOrientation</property>
+ </object>
+ </property>
+ <property name="expression">
+ <closure type="gchararray"
function="carousel_orientation_name"/>
+ </property>
</object>
- </property>
- <property name="expression">
- <closure type="gchararray" function="carousel_orientation_name"/>
- </property>
- </object>
- </child>
- <child>
- <object class="AdwComboRow" id="carousel_indicators_row">
- <property name="title" translatable="yes">Page Indicators</property>
- <signal name="notify::selected"
handler="notify_carousel_indicators_cb" swapped="no"/>
- <property name="model">
- <object class="GtkStringList">
- <items>
- <item>dots</item>
- <item>lines</item>
- </items>
+ </child>
+ <child>
+ <object class="AdwComboRow" id="carousel_indicators_row">
+ <property name="title" translatable="yes">Page
Indicators</property>
+ <signal name="notify::selected"
handler="notify_carousel_indicators_cb" swapped="no"/>
+ <property name="model">
+ <object class="GtkStringList">
+ <items>
+ <item>dots</item>
+ <item>lines</item>
+ </items>
+ </object>
+ </property>
+ <property name="expression">
+ <closure type="gchararray"
function="carousel_indicators_name"/>
+ </property>
</object>
- </property>
- <property name="expression">
- <closure type="gchararray" function="carousel_indicators_name"/>
- </property>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Scroll wheel</property>
- <property name="activatable_widget">carousel_scroll_wheel</property>
+ </child>
<child>
- <object class="GtkSwitch" id="carousel_scroll_wheel">
- <property name="valign">center</property>
- <property name="active">True</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Scroll wheel</property>
+ <property
name="activatable_widget">carousel_scroll_wheel</property>
+ <child>
+ <object class="GtkSwitch" id="carousel_scroll_wheel">
+ <property name="valign">center</property>
+ <property name="active">True</property>
+ </object>
+ </child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Long swipes</property>
- <property name="activatable_widget">carousel_long_swipes</property>
<child>
- <object class="GtkSwitch" id="carousel_long_swipes">
- <property name="valign">center</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Long swipes</property>
+ <property
name="activatable_widget">carousel_long_swipes</property>
+ <child>
+ <object class="GtkSwitch" id="carousel_long_swipes">
+ <property name="valign">center</property>
+ </object>
+ </child>
</object>
</child>
</object>
</child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="vexpand">True</property>
- <property name="hexpand">True</property>
- <property name="spacing">24</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Another page</property>
- <property name="justify">center</property>
- <property name="wrap">True</property>
- <property name="wrap-mode">word-char</property>
- <style>
- <class name="title"/>
- <class name="large-title"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkButton">
- <property name="label" translatable="yes">_Return to the first
page</property>
- <property name="use-underline">True</property>
- <signal name="clicked" handler="carousel_return_clicked_cb"
swapped="no"/>
- <style>
- <class name="suggested-action"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkStack" id="carousel_indicators_stack">
- <property name="vhomogeneous">False</property>
- <property name="margin-top">6</property>
- <property name="margin-bottom">6</property>
- <property name="margin-start">6</property>
- <property name="margin-end">6</property>
- <child>
- <object class="GtkStackPage">
- <property name="name">dots</property>
- <property name="child">
- <object class="AdwCarouselIndicatorDots">
- <property name="carousel">carousel</property>
- <property name="orientation" bind-source="carousel"
bind-property="orientation" bind-flags="sync-create"/>
- </object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">lines</property>
- <property name="child">
- <object class="AdwCarouselIndicatorLines">
- <property name="carousel">carousel</property>
- <property name="orientation" bind-source="carousel"
bind-property="orientation" bind-flags="sync-create"/>
- </object>
- </property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">avatar</property>
- <property name="title" translatable="yes">Avatar</property>
- <property name="child">
- <object class="GtkScrolledWindow">
- <property name="hscrollbar-policy">never</property>
- <property name="child">
- <object class="GtkViewport">
- <property name="scroll-to-focus">True</property>
- <property name="child">
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="valign">start</property>
- <style>
- <class name="avatar-page"/>
- </style>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
- <child>
- <object class="AdwAvatar" id="avatar">
- <property name="valign">center</property>
- <property name="halign">center</property>
- <property name="size" bind-source="avatar_size"
bind-property="value" bind-flags="sync-create"></property>
- <property name="show-initials" bind-source="avatar_show_initials"
bind-property="state" bind-flags="sync-create"/>
- <property name="text" bind-source="avatar_text" bind-property="text"
bind-flags="sync-create"/>
- </object>
- </child>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="vexpand">True</property>
+ <property name="hexpand">True</property>
+ <property name="spacing">24</property>
<child>
<object class="GtkLabel">
- <property name="label" translatable="yes">Avatar</property>
- <property name="halign">center</property>
- <property name="xalign">0</property>
+ <property name="label" translatable="yes">Another page</property>
+ <property name="justify">center</property>
<property name="wrap">True</property>
<property name="wrap-mode">word-char</property>
- <property name="justify">center</property>
<style>
<class name="title"/>
<class name="large-title"/>
@@ -792,154 +595,316 @@
</object>
</child>
<child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">A user avatar with
generated fallback.</property>
- <property name="justify">center</property>
- <property name="use_markup">true</property>
- <property name="wrap">True</property>
+ <object class="GtkButton">
+ <property name="label" translatable="yes">_Return to the first
page</property>
+ <property name="use-underline">True</property>
+ <signal name="clicked" handler="carousel_return_clicked_cb"
swapped="no"/>
<style>
- <class name="body"/>
- <class name="description"/>
+ <class name="suggested-action"/>
</style>
</object>
</child>
</object>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStack" id="carousel_indicators_stack">
+ <property name="vhomogeneous">False</property>
+ <property name="margin-top">6</property>
+ <property name="margin-bottom">6</property>
+ <property name="margin-start">6</property>
+ <property name="margin-end">6</property>
<child>
- <object class="AdwClamp">
- <property name="maximum-size">400</property>
- <property name="tightening-threshold">300</property>
+ <object class="GtkStackPage">
+ <property name="name">dots</property>
+ <property name="child">
+ <object class="AdwCarouselIndicatorDots">
+ <property name="carousel">carousel</property>
+ <property name="orientation" bind-source="carousel"
bind-property="orientation" bind-flags="sync-create"/>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">lines</property>
<property name="child">
+ <object class="AdwCarouselIndicatorLines">
+ <property name="carousel">carousel</property>
+ <property name="orientation" bind-source="carousel"
bind-property="orientation" bind-flags="sync-create"/>
+ </object>
+ </property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">avatar</property>
+ <property name="title" translatable="yes">Avatar</property>
+ <property name="child">
+ <object class="GtkScrolledWindow">
+ <property name="hscrollbar-policy">never</property>
+ <property name="child">
+ <object class="GtkViewport">
+ <property name="scroll-to-focus">True</property>
+ <property name="child">
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="valign">start</property>
+ <style>
+ <class name="avatar-page"/>
+ </style>
+ <child>
<object class="GtkBox">
- <property name="valign">center</property>
<property name="orientation">vertical</property>
- <property name="spacing">12</property>
<child>
- <object class="GtkListBox">
- <property name="selection-mode">none</property>
+ <object class="AdwAvatar" id="avatar">
+ <property name="valign">center</property>
+ <property name="halign">center</property>
+ <property name="size" bind-source="avatar_size"
bind-property="value" bind-flags="sync-create"></property>
+ <property name="show-initials"
bind-source="avatar_show_initials" bind-property="state" bind-flags="sync-create"/>
+ <property name="text" bind-source="avatar_text"
bind-property="text" bind-flags="sync-create"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">Avatar</property>
+ <property name="halign">center</property>
+ <property name="xalign">0</property>
+ <property name="wrap">True</property>
+ <property name="wrap-mode">word-char</property>
+ <property name="justify">center</property>
+ <style>
+ <class name="title"/>
+ <class name="large-title"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">A user avatar with
generated fallback.</property>
+ <property name="justify">center</property>
+ <property name="use_markup">true</property>
+ <property name="wrap">True</property>
<style>
- <class name="content"/>
+ <class name="body"/>
+ <class name="description"/>
</style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwClamp">
+ <property name="maximum-size">400</property>
+ <property name="tightening-threshold">300</property>
+ <property name="child">
+ <object class="GtkBox">
+ <property name="valign">center</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Text</property>
+ <object class="GtkListBox">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="content"/>
+ </style>
<child>
- <object class="GtkEntry" id="avatar_text">
- <property name="valign">center</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Text</property>
+ <child>
+ <object class="GtkEntry" id="avatar_text">
+ <property name="valign">center</property>
+ </object>
+ </child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Show
initials</property>
- <property
name="activatable_widget">avatar_show_initials</property>
<child>
- <object class="GtkSwitch" id="avatar_show_initials">
- <property name="valign">center</property>
- <property name="state">True</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Show
initials</property>
+ <property
name="activatable_widget">avatar_show_initials</property>
+ <child>
+ <object class="GtkSwitch" id="avatar_show_initials">
+ <property name="valign">center</property>
+ <property name="state">True</property>
+ </object>
+ </child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">File</property>
<child>
- <object class="GtkButton">
- <property name="valign">center</property>
- <signal name="clicked"
handler="avatar_file_chooser_clicked_cb" swapped="true"/>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">File</property>
+ <child>
+ <object class="GtkButton">
+ <property name="valign">center</property>
+ <signal name="clicked"
handler="avatar_file_chooser_clicked_cb" swapped="true"/>
+ <child>
+ <object class="GtkLabel"
id="avatar_file_chooser_label">
+ <property name="ellipsize">middle</property>
+ <property name="max-width-chars">20</property>
+ </object>
+ </child>
+ <style>
+ <class name="text-button"/>
+ <class name="outline"/>
+ </style>
+ </object>
+ </child>
<child>
- <object class="GtkLabel"
id="avatar_file_chooser_label">
- <property name="ellipsize">middle</property>
- <property name="max-width-chars">20</property>
+ <object class="GtkButton" id="avatar_remove_button">
+ <property name="valign">center</property>
+ <property
name="icon_name">avatar-delete-symbolic</property>
+ <signal name="clicked" swapped="yes"
handler="avatar_file_remove_cb"/>
+ <style>
+ <class name="outline"/>
+ </style>
</object>
</child>
- <style>
- <class name="text-button"/>
- <class name="outline"/>
- </style>
</object>
</child>
<child>
- <object class="GtkButton" id="avatar_remove_button">
- <property name="valign">center</property>
- <property
name="icon_name">avatar-delete-symbolic</property>
- <signal name="clicked" swapped="yes"
handler="avatar_file_remove_cb"/>
- <style>
- <class name="outline"/>
- </style>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Size</property>
+ <child>
+ <object class="GtkSpinButton" id="avatar_size">
+ <property name="valign">center</property>
+ <property name="numeric">True</property>
+ <property
name="adjustment">avatar_adjustment</property>
+ </object>
+ </child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Size</property>
<child>
- <object class="GtkSpinButton" id="avatar_size">
- <property name="valign">center</property>
- <property name="numeric">True</property>
- <property name="adjustment">avatar_adjustment</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Export to
file</property>
+ <child>
+ <object class="GtkButton" id="avatar_save_file">
+ <property name="valign">center</property>
+ <property
name="icon_name">avatar-save-symbolic</property>
+ <signal name="clicked" swapped="yes"
handler="avatar_save_to_file_cb"/>
+ <style>
+ <class name="outline"/>
+ </style>
+ </object>
+ </child>
</object>
</child>
</object>
</child>
<child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Export to
file</property>
- <child>
- <object class="GtkButton" id="avatar_save_file">
- <property name="valign">center</property>
- <property
name="icon_name">avatar-save-symbolic</property>
- <signal name="clicked" swapped="yes"
handler="avatar_save_to_file_cb"/>
- <style>
- <class name="outline"/>
- </style>
- </object>
- </child>
+ <object class="GtkListBox" id="avatar_contacts">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="content"/>
+ </style>
</object>
</child>
</object>
- </child>
- <child>
- <object class="GtkListBox" id="avatar_contacts">
- <property name="selection-mode">none</property>
- <style>
- <class name="content"/>
- </style>
- </object>
- </child>
+ </property>
</object>
- </property>
+ </child>
</object>
- </child>
+ </property>
</object>
</property>
</object>
</property>
</object>
- </property>
- </object>
- </child>
- <child>
- <object class="GtkStackPage">
- <property name="name">flap</property>
- <property name="title" translatable="yes">Flap</property>
- <property name="child">
- <object class="AdwStatusPage">
- <property name="icon-name">widget-flap-symbolic</property>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">flap</property>
<property name="title" translatable="yes">Flap</property>
- <property name="description" translatable="yes">A widget showing a flap next to or
above the content.</property>
<property name="child">
- <object class="GtkButton">
- <property name="label" translatable="yes">Run the demo</property>
- <property name="halign">center</property>
- <signal name="clicked" handler="flap_demo_clicked_cb" swapped="no"/>
+ <object class="AdwStatusPage">
+ <property name="icon-name">widget-flap-symbolic</property>
+ <property name="title" translatable="yes">Flap</property>
+ <property name="description" translatable="yes">A widget showing a flap next to
or above the content.</property>
+ <property name="child">
+ <object class="GtkButton">
+ <property name="label" translatable="yes">Run the demo</property>
+ <property name="halign">center</property>
+ <signal name="clicked" handler="flap_demo_clicked_cb" swapped="no"/>
+ </object>
+ </property>
</object>
</property>
</object>
- </property>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="AdwHeaderBar">
+ <property name="title-widget">
+ <object class="GtkBox"/>
+ </property>
+ <child type="start">
+ <object class="GtkButton">
+ <property name="valign">center</property>
+ <property name="tooltip-text" translatable="yes">Back</property>
+ <property name="icon-name">go-previous-symbolic</property>
+ <signal name="clicked" handler="leaflet_back_clicked_cb"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="hscrollbar-policy">never</property>
+ <property name="vexpand">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="valign">center</property>
+ <property name="margin-top">12</property>
+ <property name="margin-bottom">12</property>
+ <property name="margin-start">12</property>
+ <property name="margin-end">12</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="halign">center</property>
+ <property name="label" translatable="yes">Go back</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="wrap-mode">word-char</property>
+ <style>
+ <class name="title"/>
+ <class name="large-title"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">gesture-touchscreen-swipe-back-symbolic</property>
+ <property name="pixel-size">128</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">gesture-touchpad-swipe-back-symbolic</property>
+ <property name="pixel-size">128</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
</object>
</child>
</object>
@@ -952,17 +917,11 @@
<object class="GtkSizeGroup">
<property name="mode">vertical</property>
<widgets>
- <widget name="header_bar"/>
+ <widget name="left_header_bar"/>
<widget name="header_separator"/>
- <widget name="header_stack"/>
+ <widget name="right_header_bar"/>
</widgets>
</object>
- <object class="AdwSwipeGroup" id="leaflet_swipe_group">
- <swipeables>
- <swipeable name="header_leaflet"/>
- <swipeable name="content_leaflet"/>
- </swipeables>
- </object>
<object class="GtkAdjustment" id="clamp_maximum_size_adjustment">
<property name="lower">0</property>
<property name="upper">10000</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]