summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2018-05-30 12:35:43 +1200
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-06-11 14:30:31 +0000
commit71383e8b50cb4939062c953607d54d010b9ae9d9 (patch)
treeae7fc34b2e41bacea97ae0b5fbd2469ae999738f
parent014e572e9b9c8a6fdbfb0ffc0b4e4b381ac7238a (diff)
downloadgnome-control-center-71383e8b50cb4939062c953607d54d010b9ae9d9.tar.gz
power: Use GtkTemplate
-rw-r--r--panels/power/cc-power-panel.c192
-rw-r--r--panels/power/power.ui72
2 files changed, 132 insertions, 132 deletions
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index f958e050c..e5061a6a9 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -46,8 +46,6 @@
* #define TEST_FAKE_DEVICES
*/
-#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
-
struct _CcPowerPanel
{
CcPanel parent_instance;
@@ -55,8 +53,19 @@ struct _CcPowerPanel
GSettings *gsd_settings;
GSettings *session_settings;
GCancellable *cancellable;
- GtkBuilder *builder;
+ GtkWidget *main_scroll;
+ GtkWidget *main_box;
+ GtkWidget *vbox_power;
+ GtkWidget *suspend_on_battery_switch;
+ GtkWidget *suspend_on_battery_label;
+ GtkWidget *suspend_on_battery_delay_label;
+ GtkWidget *suspend_on_battery_delay_combo;
+ GtkWidget *suspend_on_ac_switch;
+ GtkWidget *suspend_on_ac_label;
+ GtkWidget *suspend_on_ac_delay_combo;
GtkWidget *automatic_suspend_dialog;
+ GtkListStore *liststore_idle_time;
+ GtkListStore *liststore_power_button;
UpClient *up_client;
GPtrArray *devices;
GDBusProxy *screen_proxy;
@@ -131,7 +140,6 @@ cc_power_panel_dispose (GObject *object)
g_cancellable_cancel (self->cancellable);
g_clear_object (&self->cancellable);
g_clear_pointer (&self->automatic_suspend_dialog, gtk_widget_destroy);
- g_clear_object (&self->builder);
g_clear_object (&self->screen_proxy);
g_clear_object (&self->kbd_proxy);
g_clear_pointer (&self->devices, g_ptr_array_unref);
@@ -160,12 +168,30 @@ cc_power_panel_get_help_uri (CcPanel *panel)
static void
cc_power_panel_class_init (CcPowerPanelClass *klass)
{
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GObjectClass *object_class = G_OBJECT_CLASS (klass);
CcPanelClass *panel_class = CC_PANEL_CLASS (klass);
object_class->dispose = cc_power_panel_dispose;
panel_class->get_help_uri = cc_power_panel_get_help_uri;
+
+ gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/power/power.ui");
+
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, main_scroll);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, main_box);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, vbox_power);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, automatic_suspend_dialog);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_battery_switch);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_battery_label);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_battery_delay_label);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_battery_delay_combo);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_ac_switch);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_ac_label);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_ac_delay_combo);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, automatic_suspend_dialog);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, liststore_idle_time);
+ gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, liststore_power_button);
}
static GtkWidget *
@@ -1252,11 +1278,11 @@ set_ac_battery_ui_mode (CcPowerPanel *self)
if (!has_batteries)
{
- gtk_widget_hide (WID (self->builder, "suspend_on_battery_switch"));
- gtk_widget_hide (WID (self->builder, "suspend_on_battery_label"));
- gtk_widget_hide (WID (self->builder, "suspend_on_battery_delay_label"));
- gtk_widget_hide (WID (self->builder, "suspend_on_battery_delay_combo"));
- gtk_label_set_label (GTK_LABEL (WID (self->builder, "suspend_on_ac_label")),
+ gtk_widget_hide (self->suspend_on_battery_switch);
+ gtk_widget_hide (self->suspend_on_battery_label);
+ gtk_widget_hide (self->suspend_on_battery_delay_label);
+ gtk_widget_hide (self->suspend_on_battery_delay_combo);
+ gtk_label_set_label (GTK_LABEL (self->suspend_on_ac_label),
_("When _idle"));
}
}
@@ -1699,7 +1725,6 @@ iio_proxy_vanished_cb (GDBusConnection *connection,
static void
add_power_saving_section (CcPowerPanel *self)
{
- GtkWidget *vbox;
GtkWidget *widget, *box, *label, *row;
GtkWidget *combo;
GtkWidget *box2;
@@ -1708,14 +1733,12 @@ add_power_saving_section (CcPowerPanel *self)
int value;
g_autofree gchar *s = NULL;
- vbox = WID (self->builder, "vbox_power");
-
s = g_strdup_printf ("<b>%s</b>", _("Power Saving"));
label = gtk_label_new (s);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_margin_bottom (label, 12);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self->vbox_power), label, FALSE, TRUE, 0);
gtk_widget_show (label);
widget = gtk_list_box_new ();
@@ -1738,7 +1761,7 @@ add_power_saving_section (CcPowerPanel *self)
gtk_widget_set_margin_bottom (box, 32);
gtk_widget_show (box);
gtk_container_add (GTK_CONTAINER (box), widget);
- gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
row = add_brightness_row (self, _("_Screen brightness"), &self->brightness_scale);
self->brightness_row = row;
@@ -1768,12 +1791,12 @@ add_power_saving_section (CcPowerPanel *self)
gtk_widget_set_margin_bottom (label, 6);
gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0);
- self->als_switch = sw = gtk_switch_new ();
- gtk_widget_set_margin_start (sw, 20);
- gtk_widget_set_margin_end (sw, 20);
- gtk_widget_set_valign (sw, GTK_ALIGN_CENTER);
- gtk_box_pack_start (GTK_BOX (box), sw, FALSE, TRUE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), sw);
+ self->als_switch = gtk_switch_new ();
+ gtk_widget_set_margin_start (self->als_switch, 20);
+ gtk_widget_set_margin_end (self->als_switch, 20);
+ gtk_widget_set_valign (self->als_switch, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (box), self->als_switch, FALSE, TRUE, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->als_switch);
gtk_container_add (GTK_CONTAINER (widget), row);
gtk_size_group_add_widget (self->row_sizegroup, row);
g_signal_connect (G_OBJECT (self->als_switch), "notify::active",
@@ -1826,7 +1849,7 @@ add_power_saving_section (CcPowerPanel *self)
combo = gtk_combo_box_text_new ();
gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (combo), 0);
gtk_combo_box_set_model (GTK_COMBO_BOX (combo),
- GTK_TREE_MODEL (gtk_builder_get_object (self->builder, "liststore_idle_time")));
+ GTK_TREE_MODEL (self->liststore_idle_time));
value = g_settings_get_uint (self->session_settings, "idle-delay");
set_value_for_combo (GTK_COMBO_BOX (combo), value);
g_signal_connect (combo, "changed",
@@ -1861,12 +1884,12 @@ add_power_saving_section (CcPowerPanel *self)
gtk_style_context_add_class (gtk_widget_get_style_context (w), GTK_STYLE_CLASS_DIM_LABEL);
gtk_box_pack_start (GTK_BOX (box2), w, TRUE, TRUE, 0);
- self->wifi_switch = sw = gtk_switch_new ();
- gtk_widget_set_margin_start (sw, 20);
- gtk_widget_set_margin_end (sw, 20);
- gtk_widget_set_valign (sw, GTK_ALIGN_CENTER);
- gtk_box_pack_start (GTK_BOX (box), sw, FALSE, TRUE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), sw);
+ self->wifi_switch = gtk_switch_new ();
+ gtk_widget_set_margin_start (self->wifi_switch, 20);
+ gtk_widget_set_margin_end (self->wifi_switch, 20);
+ gtk_widget_set_valign (self->wifi_switch, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (box), self->wifi_switch, FALSE, TRUE, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->wifi_switch);
gtk_container_add (GTK_CONTAINER (widget), row);
gtk_size_group_add_widget (self->row_sizegroup, row);
@@ -1891,12 +1914,12 @@ add_power_saving_section (CcPowerPanel *self)
gtk_style_context_add_class (gtk_widget_get_style_context (w), GTK_STYLE_CLASS_DIM_LABEL);
gtk_box_pack_start (GTK_BOX (box2), w, TRUE, TRUE, 0);
- self->mobile_switch = sw = gtk_switch_new ();
- gtk_widget_set_margin_start (sw, 20);
- gtk_widget_set_margin_end (sw, 20);
- gtk_widget_set_valign (sw, GTK_ALIGN_CENTER);
- gtk_box_pack_start (GTK_BOX (box), sw, FALSE, TRUE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), sw);
+ self->mobile_switch = gtk_switch_new ();
+ gtk_widget_set_margin_start (self->mobile_switch, 20);
+ gtk_widget_set_margin_end (self->mobile_switch, 20);
+ gtk_widget_set_valign (self->mobile_switch, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (box), self->mobile_switch, FALSE, TRUE, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->mobile_switch);
gtk_container_add (GTK_CONTAINER (widget), row);
gtk_size_group_add_widget (self->row_sizegroup, row);
@@ -1955,12 +1978,12 @@ add_power_saving_section (CcPowerPanel *self)
gtk_style_context_add_class (gtk_widget_get_style_context (label), GTK_STYLE_CLASS_DIM_LABEL);
gtk_box_pack_start (GTK_BOX (box2), label, TRUE, TRUE, 0);
- self->bt_switch = sw = gtk_switch_new ();
- gtk_widget_set_margin_start (sw, 20);
- gtk_widget_set_margin_end (sw, 20);
- gtk_widget_set_valign (sw, GTK_ALIGN_CENTER);
- gtk_box_pack_start (GTK_BOX (box), sw, FALSE, TRUE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), sw);
+ self->bt_switch = gtk_switch_new ();
+ gtk_widget_set_margin_start (self->bt_switch, 20);
+ gtk_widget_set_margin_end (self->bt_switch, 20);
+ gtk_widget_set_valign (self->bt_switch, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (box), self->bt_switch, FALSE, TRUE, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->bt_switch);
gtk_container_add (GTK_CONTAINER (widget), row);
gtk_size_group_add_widget (self->row_sizegroup, row);
gtk_widget_show_all (box);
@@ -2172,9 +2195,8 @@ can_suspend_or_hibernate (CcPowerPanel *self,
static void
add_suspend_and_power_off_section (CcPowerPanel *self)
{
- GtkWidget *vbox;
GtkWidget *widget, *box, *label;
- GtkWidget *sw, *row;
+ GtkWidget *row;
g_autofree gchar *s = NULL;
gint value;
GtkWidget *dialog;
@@ -2207,15 +2229,13 @@ add_suspend_and_power_off_section (CcPowerPanel *self)
g_settings_set_int (self->gsd_settings, "sleep-inactive-battery-timeout", 1800);
}
- vbox = WID (self->builder, "vbox_power");
-
/* Frame header */
s = g_markup_printf_escaped ("<b>%s</b>", _("Suspend & Power Button"));
label = gtk_label_new (s);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_margin_bottom (label, 12);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self->vbox_power), label, FALSE, TRUE, 0);
gtk_widget_show (label);
widget = gtk_list_box_new ();
@@ -2240,7 +2260,7 @@ add_suspend_and_power_off_section (CcPowerPanel *self)
gtk_widget_set_margin_bottom (box, 32);
gtk_widget_show (box);
gtk_container_add (GTK_CONTAINER (box), widget);
- gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
/* Automatic suspend row */
if (can_suspend)
@@ -2258,14 +2278,14 @@ add_suspend_and_power_off_section (CcPowerPanel *self)
gtk_widget_set_margin_bottom (label, 6);
gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0);
- self->automatic_suspend_label = sw = gtk_label_new ("");
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), sw);
- g_signal_connect (sw, "mnemonic-activate",
+ self->automatic_suspend_label = gtk_label_new ("");
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->automatic_suspend_label);
+ g_signal_connect (self->automatic_suspend_label, "mnemonic-activate",
G_CALLBACK (automatic_suspend_activate), self);
- gtk_widget_set_halign (sw, GTK_ALIGN_END);
- gtk_widget_set_margin_start (sw, 24);
- gtk_widget_set_margin_end (sw, 24);
- gtk_box_pack_start (GTK_BOX (box), sw, FALSE, TRUE, 0);
+ gtk_widget_set_halign (self->automatic_suspend_label, GTK_ALIGN_END);
+ gtk_widget_set_margin_start (self->automatic_suspend_label, 24);
+ gtk_widget_set_margin_end (self->automatic_suspend_label, 24);
+ gtk_box_pack_start (GTK_BOX (box), self->automatic_suspend_label, FALSE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (widget), row);
gtk_size_group_add_widget (self->row_sizegroup, row);
@@ -2273,34 +2293,30 @@ add_suspend_and_power_off_section (CcPowerPanel *self)
g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_widget_hide_on_delete), NULL);
g_signal_connect (self->gsd_settings, "changed", G_CALLBACK (on_suspend_settings_changed), self);
- sw = WID (self->builder, "suspend_on_battery_switch");
g_settings_bind_with_mapping (self->gsd_settings, "sleep-inactive-battery-type",
- sw, "active",
+ self->suspend_on_battery_switch, "active",
G_SETTINGS_BIND_DEFAULT,
get_sleep_type, set_sleep_type, NULL, NULL);
- combo = WID (self->builder, "suspend_on_battery_delay_combo");
- g_object_set_data (G_OBJECT (combo), "_gsettings_key", "sleep-inactive-battery-timeout");
+ g_object_set_data (G_OBJECT (self->suspend_on_battery_delay_combo), "_gsettings_key", "sleep-inactive-battery-timeout");
value = g_settings_get_int (self->gsd_settings, "sleep-inactive-battery-timeout");
- set_value_for_combo (GTK_COMBO_BOX (combo), value);
- g_signal_connect (combo, "changed",
+ set_value_for_combo (GTK_COMBO_BOX (self->suspend_on_battery_delay_combo), value);
+ g_signal_connect (self->suspend_on_battery_delay_combo, "changed",
G_CALLBACK (combo_time_changed_cb), self);
- g_object_bind_property (sw, "active", combo, "sensitive",
+ g_object_bind_property (self->suspend_on_battery_switch, "active", self->suspend_on_battery_delay_combo, "sensitive",
G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
- sw = WID (self->builder, "suspend_on_ac_switch");
g_settings_bind_with_mapping (self->gsd_settings, "sleep-inactive-ac-type",
- sw, "active",
+ self->suspend_on_ac_switch, "active",
G_SETTINGS_BIND_DEFAULT,
get_sleep_type, set_sleep_type, NULL, NULL);
- combo = WID (self->builder, "suspend_on_ac_delay_combo");
- g_object_set_data (G_OBJECT (combo), "_gsettings_key", "sleep-inactive-ac-timeout");
+ g_object_set_data (G_OBJECT (self->suspend_on_ac_delay_combo), "_gsettings_key", "sleep-inactive-ac-timeout");
value = g_settings_get_int (self->gsd_settings, "sleep-inactive-ac-timeout");
- set_value_for_combo (GTK_COMBO_BOX (combo), value);
- g_signal_connect (combo, "changed",
+ set_value_for_combo (GTK_COMBO_BOX (self->suspend_on_ac_delay_combo), value);
+ g_signal_connect (self->suspend_on_ac_delay_combo, "changed",
G_CALLBACK (combo_time_changed_cb), self);
- g_object_bind_property (sw, "active", combo, "sensitive",
+ g_object_bind_property (self->suspend_on_ac_switch, "active", self->suspend_on_ac_delay_combo, "sensitive",
G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
set_ac_battery_ui_mode (self);
@@ -2327,7 +2343,7 @@ add_suspend_and_power_off_section (CcPowerPanel *self)
combo = gtk_combo_box_text_new ();
gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (combo), 0);
- model = GTK_TREE_MODEL (gtk_builder_get_object (self->builder, "liststore_power_button"));
+ model = GTK_TREE_MODEL (self->liststore_power_button);
populate_power_button_model (model, can_suspend, can_hibernate);
gtk_combo_box_set_model (GTK_COMBO_BOX (combo), model);
button_value = g_settings_get_enum (self->gsd_settings, "power-button-action");
@@ -2373,16 +2389,13 @@ battery_sort_func (gconstpointer a, gconstpointer b, gpointer data)
static void
add_battery_section (CcPowerPanel *self)
{
- GtkWidget *vbox;
GtkWidget *widget, *box;
GtkWidget *frame;
g_autofree gchar *s = NULL;
- vbox = WID (self->builder, "vbox_power");
-
self->battery_section = box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_set_margin_bottom (box, 32);
- gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
s = g_markup_printf_escaped ("<b>%s</b>", _("Battery"));
self->battery_heading = widget = gtk_label_new (s);
@@ -2420,17 +2433,14 @@ add_battery_section (CcPowerPanel *self)
static void
add_device_section (CcPowerPanel *self)
{
- GtkWidget *vbox;
GtkWidget *widget, *box;
GtkWidget *frame;
g_autofree gchar *s = NULL;
- vbox = WID (self->builder, "vbox_power");
-
self->device_section = box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_set_margin_top (box, 6);
gtk_widget_set_margin_bottom (box, 32);
- gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
s = g_markup_printf_escaped ("<b>%s</b>", _("Devices"));
self->device_heading = widget = gtk_label_new (s);
@@ -2486,26 +2496,11 @@ on_content_size_changed (GtkWidget *widget, GtkAllocation *allocation, gpointer
static void
cc_power_panel_init (CcPowerPanel *self)
{
- g_autoptr(GError) error = NULL;
- GtkWidget *widget;
- GtkWidget *box;
- guint i;
+ guint i;
g_resources_register (cc_power_get_resource ());
- self->builder = gtk_builder_new ();
-
- gtk_builder_add_from_resource (self->builder,
- "/org/gnome/control-center/power/power.ui",
- &error);
-
- if (error != NULL)
- {
- g_warning ("Could not load interface file: %s", error->message);
- return;
- }
-
- self->automatic_suspend_dialog = WID (self->builder, "automatic_suspend_dialog");
+ gtk_widget_init_template (GTK_WIDGET (self));
self->cancellable = g_cancellable_new ();
@@ -2562,16 +2557,9 @@ cc_power_panel_init (CcPowerPanel *self)
}
up_client_changed (self->up_client, NULL, self);
- widget = WID (self->builder, "main_box");
- box = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (box),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- g_signal_connect (widget, "size-allocate",
+ g_signal_connect (self->main_box, "size-allocate",
G_CALLBACK (on_content_size_changed), NULL);
- gtk_widget_show (box);
- gtk_container_add (GTK_CONTAINER (self), box);
- gtk_container_add (GTK_CONTAINER (box), widget);
- self->focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (box));
- gtk_container_set_focus_vadjustment (GTK_CONTAINER (widget), self->focus_adjustment);
+ self->focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self->main_scroll));
+ gtk_container_set_focus_vadjustment (GTK_CONTAINER (self->main_box), self->focus_adjustment);
}
diff --git a/panels/power/power.ui b/panels/power/power.ui
index 2c113b238..f6a2b09c8 100644
--- a/panels/power/power.ui
+++ b/panels/power/power.ui
@@ -109,45 +109,57 @@
<column type="gint"/>
</columns>
</object>
- <object class="GtkBox" id="main_box">
+ <template class="CcPowerPanel" parent="CcPanel">
<property name="visible">True</property>
<property name="can_focus">False</property>
-
- <!-- Stub boxes to make the content cover 1/3 of the screen -->
<child>
- <object class="GtkBox">
+ <object class="GtkScrolledWindow" id="main_scroll">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="hexpand">True</property>
- </object>
- </child>
+ <property name="hscrollbar_policy">never</property>
+ <child>
+ <object class="GtkBox" id="main_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <!-- Stub boxes to make the content cover 1/3 of the screen -->
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ </object>
+ </child>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
- </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
- <!-- Content -->
- <child>
- <object class="GtkBox" id="vbox_power">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_top">32</property>
- <property name="margin_bottom">32</property>
- <property name="margin_left">24</property>
- <property name="margin_right">24</property>
- <property name="orientation">vertical</property>
- <property name="spacing">3</property>
- <property name="hexpand">True</property>
+ <!-- Content -->
+ <child>
+ <object class="GtkBox" id="vbox_power">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_top">32</property>
+ <property name="margin_bottom">32</property>
+ <property name="margin_left">24</property>
+ <property name="margin_right">24</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">3</property>
+ <property name="hexpand">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
- </object>
+ </template>
<object class="GtkDialog" id="automatic_suspend_dialog">
<property name="can_focus">False</property>