power-panel: Port to AdwSwitchRow

This commit is contained in:
Hari Rana 2024-01-16 19:06:55 -05:00 committed by Felipe Borges
parent 36b8a32545
commit a936ac6bc9
2 changed files with 18 additions and 50 deletions

View file

@ -38,29 +38,25 @@ struct _CcPowerPanel
{
CcPanel parent_instance;
GtkListBoxRow *als_row;
GtkSwitch *als_switch;
AdwSwitchRow *als_row;
GtkWindow *automatic_suspend_dialog;
GtkLabel *automatic_suspend_label;
GtkListBoxRow *automatic_suspend_row;
GtkListBox *battery_listbox;
AdwActionRow *battery_percentage_row;
GtkSwitch *battery_percentage_switch;
AdwSwitchRow *battery_percentage_row;
GtkSizeGroup *battery_row_sizegroup;
AdwPreferencesGroup *battery_section;
AdwComboRow *blank_screen_row;
GtkListBox *device_listbox;
AdwPreferencesGroup *device_section;
GtkListBoxRow *dim_screen_row;
GtkSwitch *dim_screen_switch;
AdwSwitchRow *dim_screen_row;
AdwPreferencesGroup *general_section;
GtkSizeGroup *level_sizegroup;
AdwComboRow *power_button_row;
GtkListBox *power_profile_listbox;
GtkListBox *power_profile_info_listbox;
AdwPreferencesGroup *power_profile_section;
AdwActionRow *power_saver_low_battery_row;
GtkSwitch *power_saver_low_battery_switch;
AdwSwitchRow *power_saver_low_battery_row;
GtkSizeGroup *row_sizegroup;
GtkComboBox *suspend_on_battery_delay_combo;
AdwSwitchRow *suspend_on_battery_switch_row;
@ -330,10 +326,10 @@ up_client_device_added (CcPowerPanel *self,
}
static void
als_switch_changed_cb (CcPowerPanel *self)
als_row_changed_cb (CcPowerPanel *self)
{
gboolean enabled;
enabled = gtk_switch_get_active (self->als_switch);
enabled = adw_switch_row_get_active (self->als_row);
g_debug ("Setting ALS enabled %s", enabled ? "on" : "off");
g_settings_set_boolean (self->gsd_settings, "ambient-enabled", enabled);
}
@ -356,10 +352,10 @@ als_enabled_state_changed (CcPowerPanel *self)
enabled = g_settings_get_boolean (self->gsd_settings, "ambient-enabled");
g_debug ("ALS enabled: %s", enabled ? "on" : "off");
g_signal_handlers_block_by_func (self->als_switch, als_switch_changed_cb, self);
gtk_switch_set_active (self->als_switch, enabled);
g_signal_handlers_block_by_func (self->als_row, als_row_changed_cb, self);
adw_switch_row_set_active (self->als_row, enabled);
gtk_widget_set_visible (GTK_WIDGET (self->als_row), visible && self->has_brightness);
g_signal_handlers_unblock_by_func (self->als_switch, als_switch_changed_cb, self);
g_signal_handlers_unblock_by_func (self->als_row, als_row_changed_cb, self);
}
static void
@ -907,7 +903,7 @@ setup_power_saving (CcPowerPanel *self)
g_settings_bind (self->gsd_settings, "idle-dim",
self->dim_screen_switch, "active",
self->dim_screen_row, "active",
G_SETTINGS_BIND_DEFAULT);
g_signal_handlers_block_by_func (self->blank_screen_row, blank_screen_row_changed_cb, self);
@ -1377,7 +1373,7 @@ setup_general_section (CcPowerPanel *self)
gtk_widget_set_visible (GTK_WIDGET (self->battery_percentage_row), TRUE);
g_settings_bind (self->interface_settings, "show-battery-percentage",
self->battery_percentage_switch, "active",
self->battery_percentage_row, "active",
G_SETTINGS_BIND_DEFAULT);
show_section = TRUE;
@ -1448,20 +1444,17 @@ 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, als_row);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, als_switch);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, automatic_suspend_dialog);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, automatic_suspend_label);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, automatic_suspend_row);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_listbox);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_percentage_row);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_percentage_switch);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_row_sizegroup);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_section);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, blank_screen_row);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, device_listbox);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, device_section);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, dim_screen_row);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, dim_screen_switch);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, general_section);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, level_sizegroup);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, power_button_row);
@ -1469,7 +1462,6 @@ cc_power_panel_class_init (CcPowerPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, power_profile_info_listbox);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, power_profile_section);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, power_saver_low_battery_row);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, power_saver_low_battery_switch);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, row_sizegroup);
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_battery_switch_row);
@ -1477,7 +1469,7 @@ cc_power_panel_class_init (CcPowerPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_ac_delay_combo);
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, suspend_on_ac_switch_row);
gtk_widget_class_bind_template_callback (widget_class, als_switch_changed_cb);
gtk_widget_class_bind_template_callback (widget_class, als_row_changed_cb);
gtk_widget_class_bind_template_callback (widget_class, automatic_suspend_label_mnemonic_activate_cb);
gtk_widget_class_bind_template_callback (widget_class, blank_screen_row_changed_cb);
gtk_widget_class_bind_template_callback (widget_class, keynav_failed_cb);
@ -1518,7 +1510,7 @@ cc_power_panel_init (CcPowerPanel *self)
setup_power_saving (self);
g_settings_bind (self->gsd_settings, "power-saver-profile-on-low-battery",
self->power_saver_low_battery_switch, "active",
self->power_saver_low_battery_row, "active",
G_SETTINGS_BIND_DEFAULT);
setup_general_section (self);

View file

@ -126,30 +126,18 @@
<object class="AdwPreferencesGroup" id="power_saving_section">
<property name="title" translatable="yes">Power Saving</property>
<child>
<object class="AdwActionRow" id="als_row">
<object class="AdwSwitchRow" id="als_row">
<property name="title" translatable="yes">A_utomatic Screen Brightness</property>
<property name="subtitle" translatable="yes">Screen brightness adjusts to the surrounding light.</property>
<property name="use_underline">True</property>
<property name="activatable_widget">als_switch</property>
<child>
<object class="GtkSwitch" id="als_switch">
<property name="valign">center</property>
<signal name="notify::active" handler="als_switch_changed_cb" object="CcPowerPanel" swapped="yes"/>
</object>
</child>
<signal name="notify::active" handler="als_row_changed_cb" object="CcPowerPanel" swapped="yes"/>
</object>
</child>
<child>
<object class="AdwActionRow" id="dim_screen_row">
<object class="AdwSwitchRow" id="dim_screen_row">
<property name="title" translatable="yes">_Dim Screen</property>
<property name="subtitle" translatable="yes">Reduces the screen brightness when the computer is inactive.</property>
<property name="use_underline">True</property>
<property name="activatable_widget">dim_screen_switch</property>
<child>
<object class="GtkSwitch" id="dim_screen_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
@ -161,17 +149,11 @@
</object>
</child>
<child>
<object class="AdwActionRow" id="power_saver_low_battery_row">
<object class="AdwSwitchRow" id="power_saver_low_battery_row">
<property name="visible">False</property>
<property name="title" translatable="yes">Automatic Power _Saver</property>
<property name="subtitle" translatable="yes">Enables power saver mode when battery is low.</property>
<property name="use_underline">True</property>
<property name="activatable_widget">power_saver_low_battery_switch</property>
<child>
<object class="GtkSwitch" id="power_saver_low_battery_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
@ -210,17 +192,11 @@
</object>
</child>
<child>
<object class="AdwActionRow" id="battery_percentage_row">
<object class="AdwSwitchRow" id="battery_percentage_row">
<property name="visible">False</property>
<property name="title" translatable="yes">Show Battery _Percentage</property>
<property name="subtitle" translatable="yes">Show exact charge level in the top bar</property>
<property name="use_underline">True</property>
<property name="activatable_widget">battery_percentage_switch</property>
<child>
<object class="GtkSwitch" id="battery_percentage_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>