[gnome-control-center] power: Use GTK widget types



commit d06375fc82e107d89cdba45448e71814377cc12a
Author: Robert Ancell <robert ancell canonical com>
Date:   Wed Nov 25 10:17:38 2020 +1300

    power: Use GTK widget types

 panels/power/cc-power-panel.c  | 104 ++++++++++++++++++++---------------------
 panels/power/cc-power-panel.ui |  18 +++----
 2 files changed, 59 insertions(+), 63 deletions(-)
---
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index 451ae85d3..9da51e3df 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -24,6 +24,7 @@
 #include <libupower-glib/upower.h>
 #include <glib/gi18n.h>
 #include <gnome-settings-daemon/gsd-enums.h>
+#include <handy.h>
 
 #ifdef HAVE_NETWORK_MANAGER
 #include <NetworkManager.h>
@@ -58,24 +59,25 @@
 
 struct _CcPowerPanel
 {
-  CcPanel        parent_instance;
+  CcPanel            parent_instance;
+
+  GtkDialog         *automatic_suspend_dialog;
+  GtkListStore      *idle_time_liststore;
+  GtkScrolledWindow *main_scroll;
+  HdyClamp          *main_box;
+  GtkListStore      *power_button_liststore;
+  GtkBox            *power_vbox;
+  GtkComboBox       *suspend_on_battery_delay_combo;
+  GtkLabel          *suspend_on_battery_delay_label;
+  GtkLabel          *suspend_on_battery_label;
+  GtkSwitch         *suspend_on_battery_switch;
+  GtkComboBox       *suspend_on_ac_delay_combo;
+  GtkLabel          *suspend_on_ac_label;
+  GtkSwitch         *suspend_on_ac_switch;
 
   GSettings     *gsd_settings;
   GSettings     *session_settings;
   GSettings     *interface_settings;
-  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;
   gboolean       has_batteries;
@@ -153,7 +155,7 @@ cc_power_panel_dispose (GObject *object)
   g_clear_object (&self->gsd_settings);
   g_clear_object (&self->session_settings);
   g_clear_object (&self->interface_settings);
-  g_clear_pointer (&self->automatic_suspend_dialog, gtk_widget_destroy);
+  g_clear_pointer ((GtkWidget **) &self->automatic_suspend_dialog, gtk_widget_destroy);
   g_clear_pointer (&self->devices, g_ptr_array_unref);
   g_clear_object (&self->up_client);
   g_clear_object (&self->bt_rfkill);
@@ -190,20 +192,20 @@ cc_power_panel_class_init (CcPowerPanelClass *klass)
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/control-center/power/cc-power-panel.ui");
 
+  gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, automatic_suspend_dialog);
+  gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, idle_time_liststore);
   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, power_button_liststore);
+  gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, power_vbox);
   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_battery_delay_label);
+  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_switch);
   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);
+  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_switch);
+
 }
 
 static GtkWidget *
@@ -717,12 +719,11 @@ set_ac_battery_ui_mode (CcPowerPanel *self)
 
   if (!has_batteries)
     {
-      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"));
+      gtk_widget_hide (GTK_WIDGET (self->suspend_on_battery_switch));
+      gtk_widget_hide (GTK_WIDGET (self->suspend_on_battery_label));
+      gtk_widget_hide (GTK_WIDGET (self->suspend_on_battery_delay_label));
+      gtk_widget_hide (GTK_WIDGET (self->suspend_on_battery_delay_combo));
+      gtk_label_set_label (self->suspend_on_ac_label, _("When _idle"));
     }
 }
 
@@ -1149,16 +1150,14 @@ static void
 activate_row (CcPowerPanel *self,
               GtkListBoxRow *row)
 {
-  GtkWidget *w;
   GtkWidget *toplevel;
 
   if (row == GTK_LIST_BOX_ROW (self->automatic_suspend_row))
     {
-      w = self->automatic_suspend_dialog;
       toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self));
-      gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (toplevel));
-      gtk_window_set_modal (GTK_WINDOW (w), TRUE);
-      gtk_window_present (GTK_WINDOW (w));
+      gtk_window_set_transient_for (GTK_WINDOW (self->automatic_suspend_dialog), GTK_WINDOW (toplevel));
+      gtk_window_set_modal (GTK_WINDOW (self->automatic_suspend_dialog), TRUE);
+      gtk_window_present (GTK_WINDOW (self->automatic_suspend_dialog));
     }
 }
 
@@ -1378,7 +1377,7 @@ add_power_saving_section (CcPowerPanel *self)
   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 (self->vbox_power), label, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, label, FALSE, TRUE, 0);
   gtk_widget_show (label);
 
   widget = gtk_list_box_new ();
@@ -1404,7 +1403,7 @@ add_power_saving_section (CcPowerPanel *self)
   gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_IN);
   gtk_widget_set_margin_bottom (box, 32);
   gtk_container_add (GTK_CONTAINER (box), widget);
-  gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, box, FALSE, TRUE, 0);
 
   row = add_brightness_row (self, BRIGHTNESS_DEVICE_SCREEN, _("_Screen Brightness"), 
&self->brightness_scale);
   g_signal_connect_object (self->brightness_scale, "notify::has-brightness",
@@ -1480,7 +1479,7 @@ add_power_saving_section (CcPowerPanel *self)
   gtk_widget_show (self->idle_delay_combo);
   gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (self->idle_delay_combo), 0);
   gtk_combo_box_set_model (GTK_COMBO_BOX (self->idle_delay_combo),
-                           GTK_TREE_MODEL (self->liststore_idle_time));
+                           GTK_TREE_MODEL (self->idle_time_liststore));
   value = g_settings_get_uint (self->session_settings, "idle-delay");
   set_value_for_combo (GTK_COMBO_BOX (self->idle_delay_combo), value);
   g_signal_connect_object (self->idle_delay_combo, "changed",
@@ -1513,8 +1512,6 @@ add_power_saving_section (CcPowerPanel *self)
   /* Automatic suspend row */
   if (can_suspend)
     {
-      GtkWidget *dialog;
-
       self->automatic_suspend_row = row = gtk_list_box_row_new ();
       gtk_widget_show (row);
       box = row_box_new ();
@@ -1533,8 +1530,7 @@ add_power_saving_section (CcPowerPanel *self)
       gtk_container_add (GTK_CONTAINER (widget), row);
       gtk_size_group_add_widget (self->row_sizegroup, row);
 
-      dialog = self->automatic_suspend_dialog;
-      g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_widget_hide_on_delete), NULL);
+      g_signal_connect (self->automatic_suspend_dialog, "delete-event", G_CALLBACK 
(gtk_widget_hide_on_delete), NULL);
       g_signal_connect_object (self->gsd_settings, "changed", G_CALLBACK (on_suspend_settings_changed), 
self, G_CONNECT_SWAPPED);
 
       g_settings_bind_with_mapping (self->gsd_settings, "sleep-inactive-battery-type",
@@ -1544,7 +1540,7 @@ add_power_saving_section (CcPowerPanel *self)
 
       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 (self->suspend_on_battery_delay_combo), value);
+      set_value_for_combo (self->suspend_on_battery_delay_combo, value);
       g_signal_connect_object (self->suspend_on_battery_delay_combo, "changed",
                                G_CALLBACK (combo_time_changed_cb), self, G_CONNECT_SWAPPED);
       g_object_bind_property (self->suspend_on_battery_switch, "active", 
self->suspend_on_battery_delay_combo, "sensitive",
@@ -1557,7 +1553,7 @@ add_power_saving_section (CcPowerPanel *self)
 
       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 (self->suspend_on_ac_delay_combo), value);
+      set_value_for_combo (self->suspend_on_ac_delay_combo, value);
       g_signal_connect_object (self->suspend_on_ac_delay_combo, "changed",
                                G_CALLBACK (combo_time_changed_cb), self, G_CONNECT_SWAPPED);
       g_object_bind_property (self->suspend_on_ac_switch, "active", self->suspend_on_ac_delay_combo, 
"sensitive",
@@ -1884,13 +1880,13 @@ add_power_profiles_section (CcPowerPanel *self)
   gtk_label_set_xalign (GTK_LABEL (label), 0.0);
   gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
   gtk_widget_set_halign (label, GTK_ALIGN_START);
-  gtk_box_pack_start (GTK_BOX (self->vbox_power), label, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, label, FALSE, TRUE, 0);
 
   label = gtk_label_new (_("Affects system performance and power usage."));
   gtk_widget_show (label);
   gtk_label_set_xalign (GTK_LABEL (label), 0.0);
   gtk_widget_set_margin_bottom (label, 6);
-  gtk_box_pack_start (GTK_BOX (self->vbox_power), label, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, label, FALSE, TRUE, 0);
 
   widget = gtk_list_box_new ();
   gtk_widget_show (widget);
@@ -1918,7 +1914,7 @@ add_power_profiles_section (CcPowerPanel *self)
   gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_IN);
   gtk_widget_set_margin_bottom (box, 32);
   gtk_container_add (GTK_CONTAINER (box), widget);
-  gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, box, FALSE, TRUE, 0);
 
   props = g_variant_get_child_value (variant, 0);
   performance_inhibited = variant_lookup_string (props, "PerformanceInhibited");
@@ -2018,7 +2014,7 @@ add_general_section (CcPowerPanel *self)
   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 (self->vbox_power), label, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, label, FALSE, TRUE, 0);
 
   widget = gtk_list_box_new ();
   gtk_widget_show (widget);
@@ -2041,7 +2037,7 @@ add_general_section (CcPowerPanel *self)
   gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_IN);
   gtk_widget_set_margin_bottom (box, 32);
   gtk_container_add (GTK_CONTAINER (box), widget);
-  gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, box, FALSE, TRUE, 0);
 
   can_suspend = can_suspend_or_hibernate (self, "CanSuspend");
   can_hibernate = can_suspend_or_hibernate (self, "CanHibernate");
@@ -2067,7 +2063,7 @@ add_general_section (CcPowerPanel *self)
   self->power_button_combo = gtk_combo_box_text_new ();
   gtk_widget_show (self->power_button_combo);
   gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (self->power_button_combo), 0);
-  model = GTK_TREE_MODEL (self->liststore_power_button);
+  model = GTK_TREE_MODEL (self->power_button_liststore);
   populate_power_button_model (model, can_suspend, can_hibernate);
   gtk_combo_box_set_model (GTK_COMBO_BOX (self->power_button_combo), model);
   button_value = g_settings_get_enum (self->gsd_settings, "power-button-action");
@@ -2117,7 +2113,7 @@ add_battery_section (CcPowerPanel *self)
   self->battery_section = box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_widget_show (box);
   gtk_widget_set_margin_bottom (box, 32);
-  gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, box, FALSE, TRUE, 0);
 
   s = g_markup_printf_escaped ("<b>%s</b>", _("Battery"));
   self->battery_heading = widget = gtk_label_new (s);
@@ -2164,7 +2160,7 @@ add_device_section (CcPowerPanel *self)
   gtk_widget_show (box);
   gtk_widget_set_margin_top (box, 6);
   gtk_widget_set_margin_bottom (box, 32);
-  gtk_box_pack_start (GTK_BOX (self->vbox_power), box, FALSE, TRUE, 0);
+  gtk_box_pack_start (self->power_vbox, box, FALSE, TRUE, 0);
 
   s = g_markup_printf_escaped ("<b>%s</b>", _("Devices"));
   self->device_heading = widget = gtk_label_new (s);
@@ -2247,6 +2243,6 @@ cc_power_panel_init (CcPowerPanel *self)
   }
   up_client_changed (self);
 
-  self->focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self->main_scroll));
+  self->focus_adjustment = gtk_scrolled_window_get_vadjustment (self->main_scroll);
   gtk_container_set_focus_vadjustment (GTK_CONTAINER (self->main_box), self->focus_adjustment);
 }
diff --git a/panels/power/cc-power-panel.ui b/panels/power/cc-power-panel.ui
index 74aed35cd..6d7380dbe 100644
--- a/panels/power/cc-power-panel.ui
+++ b/panels/power/cc-power-panel.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkListStore" id="liststore_time">
+  <object class="GtkListStore" id="time_liststore">
     <columns>
       <!-- column-name name -->
       <column type="gchararray"/>
@@ -51,7 +51,7 @@
       </row>
     </data>
   </object>
-  <object class="GtkListStore" id="liststore_idle_time">
+  <object class="GtkListStore" id="idle_time_liststore">
     <columns>
       <!-- column-name name -->
       <column type="gchararray"/>
@@ -101,7 +101,7 @@
       </row>
     </data>
   </object>
-  <object class="GtkListStore" id="liststore_power_button">
+  <object class="GtkListStore" id="power_button_liststore">
     <columns>
       <!-- column-name name -->
       <column type="gchararray"/>
@@ -125,7 +125,7 @@
             <property name="margin_start">12</property>
             <property name="margin_end">12</property>
             <child>
-              <object class="GtkBox" id="vbox_power">
+              <object class="GtkBox" id="power_vbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="orientation">vertical</property>
@@ -147,12 +147,12 @@
     <property name="resizable">False</property>
     <property name="use_header_bar">1</property>
     <child internal-child="vbox">
-      <object class="GtkBox" id="asdf">
+      <object class="GtkBox">
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child>
-          <object class="GtkGrid" id="grid1">
+          <object class="GtkGrid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="margin_start">12</property>
@@ -213,7 +213,7 @@
                 <property name="can_focus">False</property>
                 <property name="entry_text_column">0</property>
                 <property name="id_column">1</property>
-                <property name="model">liststore_time</property>
+                <property name="model">time_liststore</property>
               </object>
               <packing>
                 <property name="left_attach">2</property>
@@ -261,7 +261,7 @@
                 <property name="can_focus">False</property>
                 <property name="entry_text_column">0</property>
                 <property name="id_column">1</property>
-                <property name="model">liststore_time</property>
+                <property name="model">time_liststore</property>
               </object>
               <packing>
                 <property name="left_attach">2</property>
@@ -283,7 +283,7 @@
               <placeholder/>
             </child>
             <child>
-              <object class="GtkLabel" id="suspend_on_ac_delay_label">
+              <object class="GtkLabel">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="margin_start">20</property>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]