power: Port to GTK4
Extra care was needed for the combo boxes, and the way we currently use GtkStringList is kind of hacky, but overall things seem to be working fine.
This commit is contained in:
parent
800cab08bf
commit
a0d49cb3a8
10 changed files with 206 additions and 307 deletions
|
@ -18,7 +18,7 @@ panels = [
|
|||
# 'multitasking',
|
||||
'notifications',
|
||||
# 'online-accounts',
|
||||
# 'power',
|
||||
'power',
|
||||
# 'printers',
|
||||
# 'region',
|
||||
'removable-media',
|
||||
|
|
|
@ -276,7 +276,7 @@ cc_battery_row_new (UpDevice *device,
|
|||
/* Icon */
|
||||
if (is_kind_battery && icon_name != NULL && icon_name[0] != '\0')
|
||||
{
|
||||
gtk_image_set_from_icon_name (self->icon, icon_name, GTK_ICON_SIZE_BUTTON);
|
||||
gtk_image_set_from_icon_name (self->icon, icon_name);
|
||||
gtk_widget_show (GTK_WIDGET (self->icon));
|
||||
}
|
||||
else
|
||||
|
@ -301,10 +301,12 @@ cc_battery_row_new (UpDevice *device,
|
|||
gtk_widget_set_visible (GTK_WIDGET (self->battery_box), !primary);
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->percentage_label), !primary);
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->primary_bottom_box), primary);
|
||||
atk_object_add_relationship (gtk_widget_get_accessible (GTK_WIDGET (self->levelbar)),
|
||||
ATK_RELATION_LABELLED_BY,
|
||||
gtk_widget_get_accessible (GTK_WIDGET (primary ? self->primary_percentage_label
|
||||
: self->percentage_label)));
|
||||
/*
|
||||
gtk_accessible_update_relation (GTK_ACCESSIBLE (self->levelbar),
|
||||
GTK_ACCESSIBLE_RELATION_LABELLED_BY, primary ? self->primary_percentage_label
|
||||
: self->percentage_label,
|
||||
NULL);
|
||||
*/
|
||||
|
||||
self->kind = kind;
|
||||
self->primary = primary;
|
||||
|
|
|
@ -2,12 +2,10 @@
|
|||
<interface>
|
||||
<!-- interface-requires gtk+ 3.0 -->
|
||||
<template class="CcBatteryRow" parent="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="activatable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">12</property>
|
||||
|
@ -17,48 +15,39 @@
|
|||
<property name="spacing">10</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="battery_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="name_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<property name="xalign">0</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="icon">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack-type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="percentage_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">end</property>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
<property name="halign">end</property>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLevelBar" id="levelbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="halign">fill</property>
|
||||
<property name="valign">center</property>
|
||||
|
@ -68,30 +57,21 @@
|
|||
<offset name="high-battery-offset" value="1.0"/>
|
||||
</offsets>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="primary_bottom_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="details_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<property name="xalign">0</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="primary_percentage_label">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack-type">end</property>
|
||||
</packing>
|
||||
<object class="GtkLabel" id="primary_percentage_label" />
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
|
|
@ -25,10 +25,8 @@
|
|||
#include <glib/gi18n.h>
|
||||
#include <gnome-settings-daemon/gsd-enums.h>
|
||||
#include <gio/gdesktopappinfo.h>
|
||||
#include <handy.h>
|
||||
|
||||
#include "shell/cc-object-storage.h"
|
||||
#include "list-box-helper.h"
|
||||
#include "cc-battery-row.h"
|
||||
#include "cc-power-profile-row.h"
|
||||
#include "cc-power-profile-info-row.h"
|
||||
|
@ -64,22 +62,22 @@ struct _CcPowerPanel
|
|||
GtkLabel *automatic_suspend_label;
|
||||
GtkListBoxRow *automatic_suspend_row;
|
||||
GtkListBox *battery_listbox;
|
||||
HdyActionRow *battery_percentage_row;
|
||||
AdwActionRow *battery_percentage_row;
|
||||
GtkSwitch *battery_percentage_switch;
|
||||
GtkSizeGroup *battery_row_sizegroup;
|
||||
HdyPreferencesGroup *battery_section;
|
||||
HdyComboRow *blank_screen_row;
|
||||
AdwPreferencesGroup *battery_section;
|
||||
AdwComboRow *blank_screen_row;
|
||||
GtkListBox *device_listbox;
|
||||
HdyPreferencesGroup *device_section;
|
||||
AdwPreferencesGroup *device_section;
|
||||
GtkListBoxRow *dim_screen_row;
|
||||
GtkSwitch *dim_screen_switch;
|
||||
HdyPreferencesGroup *general_section;
|
||||
AdwPreferencesGroup *general_section;
|
||||
GtkSizeGroup *level_sizegroup;
|
||||
HdyComboRow *power_button_row;
|
||||
AdwComboRow *power_button_row;
|
||||
GtkListBox *power_profile_listbox;
|
||||
GtkListBox *power_profile_info_listbox;
|
||||
HdyPreferencesGroup *power_profile_section;
|
||||
HdyActionRow *power_saver_low_battery_row;
|
||||
AdwPreferencesGroup *power_profile_section;
|
||||
AdwActionRow *power_saver_low_battery_row;
|
||||
GtkSwitch *power_saver_low_battery_switch;
|
||||
GtkSizeGroup *row_sizegroup;
|
||||
GtkComboBox *suspend_on_battery_delay_combo;
|
||||
|
@ -117,27 +115,6 @@ enum
|
|||
ACTION_MODEL_VALUE
|
||||
};
|
||||
|
||||
static void
|
||||
cc_power_panel_dispose (GObject *object)
|
||||
{
|
||||
CcPowerPanel *self = CC_POWER_PANEL (object);
|
||||
|
||||
g_clear_pointer (&self->chassis_type, g_free);
|
||||
g_clear_object (&self->gsd_settings);
|
||||
g_clear_object (&self->session_settings);
|
||||
g_clear_object (&self->interface_settings);
|
||||
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->iio_proxy);
|
||||
g_clear_object (&self->power_profiles_proxy);
|
||||
if (self->iio_proxy_watch_id != 0)
|
||||
g_bus_unwatch_name (self->iio_proxy_watch_id);
|
||||
self->iio_proxy_watch_id = 0;
|
||||
|
||||
G_OBJECT_CLASS (cc_power_panel_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static const char *
|
||||
cc_power_panel_get_help_uri (CcPanel *panel)
|
||||
{
|
||||
|
@ -195,9 +172,9 @@ load_custom_css (CcPowerPanel *self,
|
|||
/* use custom CSS */
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_resource (provider, path);
|
||||
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
gtk_style_context_add_provider_for_display (gdk_display_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -207,7 +184,7 @@ add_battery (CcPowerPanel *panel, UpDevice *device, gboolean primary)
|
|||
cc_battery_row_set_level_sizegroup (row, panel->level_sizegroup);
|
||||
cc_battery_row_set_row_sizegroup (row, panel->battery_row_sizegroup);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (panel->battery_listbox), GTK_WIDGET (row));
|
||||
gtk_list_box_append (panel->battery_listbox, GTK_WIDGET (row));
|
||||
gtk_widget_set_visible (GTK_WIDGET (panel->battery_section), TRUE);
|
||||
}
|
||||
|
||||
|
@ -218,19 +195,17 @@ add_device (CcPowerPanel *self, UpDevice *device)
|
|||
cc_battery_row_set_level_sizegroup (row, self->level_sizegroup);
|
||||
cc_battery_row_set_row_sizegroup (row, self->row_sizegroup);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (self->device_listbox), GTK_WIDGET (row));
|
||||
gtk_list_box_append (self->device_listbox, GTK_WIDGET (row));
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->device_section), TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
empty_listbox (GtkListBox *listbox)
|
||||
{
|
||||
g_autoptr(GList) children = NULL;
|
||||
GList *l;
|
||||
GtkWidget *child;
|
||||
|
||||
children = gtk_container_get_children (GTK_CONTAINER (listbox));
|
||||
for (l = children; l != NULL; l = l->next)
|
||||
gtk_container_remove (GTK_CONTAINER (listbox), l->data);
|
||||
while ((child = gtk_widget_get_first_child (GTK_WIDGET (listbox))) != NULL)
|
||||
gtk_list_box_remove (listbox, child);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -379,9 +354,9 @@ up_client_changed (CcPowerPanel *self)
|
|||
}
|
||||
|
||||
if (n_batteries > 1)
|
||||
hdy_preferences_group_set_title (self->battery_section, _("Batteries"));
|
||||
adw_preferences_group_set_title (self->battery_section, _("Batteries"));
|
||||
else
|
||||
hdy_preferences_group_set_title (self->battery_section, _("Battery"));
|
||||
adw_preferences_group_set_title (self->battery_section, _("Battery"));
|
||||
|
||||
if (!on_ups && n_batteries > 1)
|
||||
add_battery (self, composite, TRUE);
|
||||
|
@ -556,25 +531,25 @@ set_value_for_combo (GtkComboBox *combo_box, gint value)
|
|||
}
|
||||
|
||||
static void
|
||||
set_value_for_combo_row (HdyComboRow *combo_row, gint value)
|
||||
set_value_for_combo_row (AdwComboRow *combo_row, gint value)
|
||||
{
|
||||
g_autoptr (GObject) new_item = NULL;
|
||||
gboolean insert = FALSE;
|
||||
guint insert_before = 0;
|
||||
guint i;
|
||||
HdyValueObject *new;
|
||||
GListModel *model;
|
||||
gint value_last = 0;
|
||||
g_autofree gchar *text = NULL;
|
||||
|
||||
/* try to make the UI match the setting */
|
||||
model = hdy_combo_row_get_model (combo_row);
|
||||
model = adw_combo_row_get_model (combo_row);
|
||||
for (i = 0; i < g_list_model_get_n_items (model); i++)
|
||||
{
|
||||
HdyValueObject *value_object = g_list_model_get_item (model, i);
|
||||
gint value_tmp = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (value_object), "value"));
|
||||
g_autoptr (GObject) item = g_list_model_get_item (model, i);
|
||||
gint value_tmp = GPOINTER_TO_UINT (g_object_get_data (item, "value"));
|
||||
if (value_tmp == value)
|
||||
{
|
||||
hdy_combo_row_set_selected_index (combo_row, i);
|
||||
adw_combo_row_set_selected (combo_row, i);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -591,11 +566,12 @@ set_value_for_combo_row (HdyComboRow *combo_row, gint value)
|
|||
|
||||
/* The value is not listed, so add it at the best point (or the end). */
|
||||
text = cc_util_time_to_string_text (value * 1000);
|
||||
new = hdy_value_object_new_string (text);
|
||||
g_object_set_data (G_OBJECT (new), "value",
|
||||
GUINT_TO_POINTER (value));
|
||||
g_list_store_insert (G_LIST_STORE (model), insert_before, new);
|
||||
hdy_combo_row_set_selected_index (combo_row, insert_before);
|
||||
gtk_string_list_append (GTK_STRING_LIST (model), text);
|
||||
|
||||
new_item = g_list_model_get_item (model, i);
|
||||
g_object_set_data (G_OBJECT (new_item), "value", GUINT_TO_POINTER (value));
|
||||
|
||||
adw_combo_row_set_selected (combo_row, insert_before);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -659,15 +635,18 @@ keynav_failed_cb (CcPowerPanel *self, GtkDirectionType direction, GtkWidget *lis
|
|||
static void
|
||||
blank_screen_row_changed_cb (CcPowerPanel *self)
|
||||
{
|
||||
g_autoptr (GObject) item = NULL;
|
||||
GListModel *model;
|
||||
gint selected_index;
|
||||
HdyValueObject *value_object;
|
||||
gint value;
|
||||
|
||||
model = hdy_combo_row_get_model (self->blank_screen_row);
|
||||
selected_index = hdy_combo_row_get_selected_index (self->blank_screen_row);
|
||||
value_object = g_list_model_get_item (model, selected_index);
|
||||
value = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (value_object), "value"));
|
||||
model = adw_combo_row_get_model (self->blank_screen_row);
|
||||
selected_index = adw_combo_row_get_selected (self->blank_screen_row);
|
||||
if (selected_index == -1)
|
||||
return;
|
||||
|
||||
item = g_list_model_get_item (model, selected_index);
|
||||
value = GPOINTER_TO_UINT (g_object_get_data (item, "value"));
|
||||
|
||||
g_settings_set_uint (self->session_settings, "idle-delay", value);
|
||||
}
|
||||
|
@ -675,15 +654,18 @@ blank_screen_row_changed_cb (CcPowerPanel *self)
|
|||
static void
|
||||
power_button_row_changed_cb (CcPowerPanel *self)
|
||||
{
|
||||
g_autoptr (GObject) item = NULL;
|
||||
GListModel *model;
|
||||
gint selected_index;
|
||||
HdyValueObject *value_object;
|
||||
gint value;
|
||||
|
||||
model = hdy_combo_row_get_model (self->power_button_row);
|
||||
selected_index = hdy_combo_row_get_selected_index (self->power_button_row);
|
||||
value_object = g_list_model_get_item (model, selected_index);
|
||||
value = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (value_object), "value"));
|
||||
model = adw_combo_row_get_model (self->power_button_row);
|
||||
selected_index = adw_combo_row_get_selected (self->power_button_row);
|
||||
if (selected_index == -1)
|
||||
return;
|
||||
|
||||
item = g_list_model_get_item (model, selected_index);
|
||||
value = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (item), "value"));
|
||||
|
||||
g_settings_set_enum (self->gsd_settings, "power-button-action", value);
|
||||
}
|
||||
|
@ -737,8 +719,10 @@ static void
|
|||
automatic_suspend_row_activated_cb (CcPowerPanel *self)
|
||||
{
|
||||
GtkWidget *toplevel;
|
||||
CcShell *shell;
|
||||
|
||||
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self));
|
||||
shell = cc_panel_get_shell (CC_PANEL (self));
|
||||
toplevel = cc_shell_get_toplevel (shell);
|
||||
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));
|
||||
|
@ -784,11 +768,11 @@ set_sleep_type (const GValue *value,
|
|||
}
|
||||
|
||||
static void
|
||||
populate_power_button_row (HdyComboRow *combo_row,
|
||||
populate_power_button_row (AdwComboRow *combo_row,
|
||||
gboolean can_suspend,
|
||||
gboolean can_hibernate)
|
||||
{
|
||||
g_autoptr (GListStore) list_store = NULL;
|
||||
g_autoptr (GtkStringList) string_list = NULL;
|
||||
struct {
|
||||
char *name;
|
||||
GsdPowerButtonActionType value;
|
||||
|
@ -798,12 +782,13 @@ populate_power_button_row (HdyComboRow *combo_row,
|
|||
{ N_("Hibernate"), GSD_POWER_BUTTON_ACTION_HIBERNATE },
|
||||
{ N_("Nothing"), GSD_POWER_BUTTON_ACTION_NOTHING }
|
||||
};
|
||||
guint item_index = 0;
|
||||
guint i;
|
||||
|
||||
list_store = g_list_store_new (HDY_TYPE_VALUE_OBJECT);
|
||||
string_list = gtk_string_list_new (NULL);
|
||||
for (i = 0; i < G_N_ELEMENTS (actions); i++)
|
||||
{
|
||||
g_autoptr (HdyValueObject) value_object = NULL;
|
||||
g_autoptr (GObject) item = NULL;
|
||||
|
||||
if (!can_suspend && actions[i].value == GSD_POWER_BUTTON_ACTION_SUSPEND)
|
||||
continue;
|
||||
|
@ -811,17 +796,13 @@ populate_power_button_row (HdyComboRow *combo_row,
|
|||
if (!can_hibernate && actions[i].value == GSD_POWER_BUTTON_ACTION_HIBERNATE)
|
||||
continue;
|
||||
|
||||
value_object = hdy_value_object_new_string (_(actions[i].name));
|
||||
g_object_set_data (G_OBJECT (value_object),
|
||||
"value",
|
||||
GUINT_TO_POINTER (actions[i].value));
|
||||
g_list_store_append (list_store, value_object);
|
||||
gtk_string_list_append (string_list, _(actions[i].name));
|
||||
|
||||
item = g_list_model_get_item (G_LIST_MODEL (string_list), item_index++);
|
||||
g_object_set_data (item, "value", GUINT_TO_POINTER (actions[i].value));
|
||||
}
|
||||
|
||||
hdy_combo_row_bind_name_model (combo_row,
|
||||
G_LIST_MODEL (list_store),
|
||||
(HdyComboRowGetNameFunc) hdy_value_object_dup_string,
|
||||
NULL, NULL);
|
||||
adw_combo_row_set_model (combo_row, G_LIST_MODEL (string_list));
|
||||
}
|
||||
|
||||
#define NEVER 0
|
||||
|
@ -957,34 +938,32 @@ got_brightness_cb (GObject *source_object,
|
|||
}
|
||||
|
||||
static void
|
||||
populate_blank_screen_row (HdyComboRow *combo_row)
|
||||
populate_blank_screen_row (AdwComboRow *combo_row)
|
||||
{
|
||||
g_autoptr (GListStore) list_store = g_list_store_new (HDY_TYPE_VALUE_OBJECT);
|
||||
g_autoptr (GtkStringList) string_list = NULL;
|
||||
g_autoptr (GObject) never_object = NULL;
|
||||
gint minutes[] = { 1, 2, 3, 4, 5, 8, 10, 12, 15 };
|
||||
guint i;
|
||||
g_autoptr (HdyValueObject) never_value_object = NULL;
|
||||
|
||||
string_list = gtk_string_list_new (NULL);
|
||||
for (i = 0; i < G_N_ELEMENTS (minutes); i++)
|
||||
{
|
||||
g_autoptr (GObject) item = NULL;
|
||||
gchar *text = NULL;
|
||||
g_autoptr (HdyValueObject) value_object = NULL;
|
||||
|
||||
/* Translators: Option for "Blank Screen" in "Power" panel */
|
||||
text = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE, "%d minute", "%d minutes", minutes[i]), minutes[i]);
|
||||
value_object = hdy_value_object_new_take_string (text);
|
||||
gtk_string_list_append (string_list, text);
|
||||
|
||||
g_object_set_data (G_OBJECT (value_object), "value", GUINT_TO_POINTER (minutes[i] * 60));
|
||||
g_list_store_append (list_store, value_object);
|
||||
item = g_list_model_get_item (G_LIST_MODEL (string_list), i);
|
||||
g_object_set_data (item, "value", GUINT_TO_POINTER (minutes[i] * 60));
|
||||
}
|
||||
|
||||
never_value_object = hdy_value_object_new_string (C_("Idle time", "Never"));
|
||||
g_object_set_data (G_OBJECT (never_value_object), "value", GUINT_TO_POINTER (0));
|
||||
g_list_store_append (list_store, never_value_object);
|
||||
gtk_string_list_append (string_list, C_("Idle time", "Never"));
|
||||
never_object = g_list_model_get_item (G_LIST_MODEL (string_list), i);
|
||||
g_object_set_data (never_object, "value", GUINT_TO_POINTER (0));
|
||||
|
||||
hdy_combo_row_bind_name_model (combo_row,
|
||||
G_LIST_MODEL (list_store),
|
||||
(HdyComboRowGetNameFunc) hdy_value_object_dup_string,
|
||||
NULL, NULL);
|
||||
adw_combo_row_set_model (combo_row, G_LIST_MODEL (string_list));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1063,9 +1042,10 @@ setup_power_saving (CcPowerPanel *self)
|
|||
if (can_suspend_or_hibernate (self, "CanSuspend"))
|
||||
{
|
||||
gtk_widget_show (GTK_WIDGET (self->automatic_suspend_row));
|
||||
atk_object_set_name (ATK_OBJECT (gtk_widget_get_accessible (GTK_WIDGET (self->automatic_suspend_row))), _("Automatic suspend"));
|
||||
gtk_accessible_update_property (GTK_ACCESSIBLE (self->automatic_suspend_row),
|
||||
GTK_ACCESSIBLE_PROPERTY_LABEL, _("Automatic suspend"),
|
||||
-1);
|
||||
|
||||
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",
|
||||
|
@ -1116,11 +1096,11 @@ performance_profile_set_active (CcPowerPanel *self,
|
|||
const char *profile_str)
|
||||
{
|
||||
CcPowerProfile profile = cc_power_profile_from_str (profile_str);
|
||||
GtkRadioButton *button;
|
||||
GtkCheckButton *button;
|
||||
|
||||
button = cc_power_profile_row_get_radio_button (CC_POWER_PROFILE_ROW (self->power_profiles_row[profile]));
|
||||
g_assert (button);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
gtk_check_button_set_active (GTK_CHECK_BUTTON (button), TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1175,8 +1155,7 @@ power_profile_update_info_boxes (CcPowerPanel *self)
|
|||
text = _("Performance mode temporarily disabled.");
|
||||
|
||||
row = cc_power_profile_info_row_new (text);
|
||||
gtk_widget_show (GTK_WIDGET (row));
|
||||
gtk_container_add (GTK_CONTAINER (self->power_profile_info_listbox), GTK_WIDGET (row));
|
||||
gtk_list_box_append (self->power_profile_info_listbox, GTK_WIDGET (row));
|
||||
if (g_str_equal (profile, "performance"))
|
||||
next_insert = 1;
|
||||
}
|
||||
|
@ -1380,7 +1359,7 @@ setup_power_profiles (CcPowerPanel *self)
|
|||
const char *performance_degraded;
|
||||
const char *active_profile;
|
||||
g_autoptr(GVariant) profiles = NULL;
|
||||
GtkRadioButton *last_button;
|
||||
GtkCheckButton *last_button;
|
||||
|
||||
self->power_profiles_proxy = cc_object_storage_create_dbus_proxy_sync (G_BUS_TYPE_SYSTEM,
|
||||
G_DBUS_PROXY_FLAGS_NONE,
|
||||
|
@ -1443,7 +1422,7 @@ setup_power_profiles (CcPowerPanel *self)
|
|||
{
|
||||
g_autoptr(GVariant) profile_variant;
|
||||
const char *name;
|
||||
GtkRadioButton *button;
|
||||
GtkCheckButton *button;
|
||||
CcPowerProfile profile;
|
||||
CcPowerProfileRow *row;
|
||||
|
||||
|
@ -1466,12 +1445,12 @@ setup_power_profiles (CcPowerPanel *self)
|
|||
0);
|
||||
self->power_profiles_row[profile] = row;
|
||||
gtk_widget_show (GTK_WIDGET (row));
|
||||
gtk_container_add (GTK_CONTAINER (self->power_profile_listbox), GTK_WIDGET (row));
|
||||
gtk_list_box_append (self->power_profile_listbox, GTK_WIDGET (row));
|
||||
gtk_size_group_add_widget (self->row_sizegroup, GTK_WIDGET (row));
|
||||
|
||||
/* Connect radio button to group */
|
||||
button = cc_power_profile_row_get_radio_button (row);
|
||||
gtk_radio_button_join_group (button, last_button);
|
||||
gtk_check_button_set_group (button, last_button);
|
||||
last_button = button;
|
||||
}
|
||||
|
||||
|
@ -1556,6 +1535,30 @@ battery_sort_func (GtkListBoxRow *a, GtkListBoxRow *b, gpointer data)
|
|||
return a_kind - b_kind;
|
||||
}
|
||||
|
||||
static void
|
||||
cc_power_panel_dispose (GObject *object)
|
||||
{
|
||||
CcPowerPanel *self = CC_POWER_PANEL (object);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (self->blank_screen_row, blank_screen_row_changed_cb, self);
|
||||
g_signal_handlers_disconnect_by_func (self->power_button_row, power_button_row_changed_cb, self);
|
||||
|
||||
g_clear_pointer (&self->chassis_type, g_free);
|
||||
g_clear_object (&self->gsd_settings);
|
||||
g_clear_object (&self->session_settings);
|
||||
g_clear_object (&self->interface_settings);
|
||||
g_clear_pointer ((GtkWindow **) &self->automatic_suspend_dialog, gtk_window_destroy);
|
||||
g_clear_pointer (&self->devices, g_ptr_array_unref);
|
||||
g_clear_object (&self->up_client);
|
||||
g_clear_object (&self->iio_proxy);
|
||||
g_clear_object (&self->power_profiles_proxy);
|
||||
if (self->iio_proxy_watch_id != 0)
|
||||
g_bus_unwatch_name (self->iio_proxy_watch_id);
|
||||
self->iio_proxy_watch_id = 0;
|
||||
|
||||
G_OBJECT_CLASS (cc_power_panel_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
cc_power_panel_class_init (CcPowerPanelClass *klass)
|
||||
{
|
||||
|
|
|
@ -52,25 +52,17 @@
|
|||
</data>
|
||||
</object>
|
||||
<template class="CcPowerPanel" parent="CcPanel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="HdyPreferencesPage">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwPreferencesPage">
|
||||
<child>
|
||||
<object class="HdyPreferencesGroup" id="battery_section">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwPreferencesGroup" id="battery_section">
|
||||
<property name="title" translatable="yes">Battery</property>
|
||||
<accessibility>
|
||||
<relation target="battery_listbox" type="label-for"/>
|
||||
</accessibility>
|
||||
<child>
|
||||
<object class="GtkListBox" id="battery_listbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<signal name="keynav-failed" handler="keynav_failed_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
<accessibility>
|
||||
<relation target="battery_section" type="labelled-by"/>
|
||||
<relation name="labelled-by">battery_section</relation>
|
||||
</accessibility>
|
||||
<style>
|
||||
<class name="content"/>
|
||||
|
@ -80,19 +72,14 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyPreferencesGroup" id="device_section">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwPreferencesGroup" id="device_section">
|
||||
<property name="title" translatable="yes">Devices</property>
|
||||
<accessibility>
|
||||
<relation target="device_listbox" type="label-for"/>
|
||||
</accessibility>
|
||||
<child>
|
||||
<object class="GtkListBox" id="device_listbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<signal name="keynav-failed" handler="keynav_failed_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
<accessibility>
|
||||
<relation target="device_section" type="labelled-by"/>
|
||||
<relation name="labelled-by">device_section</relation>
|
||||
</accessibility>
|
||||
<style>
|
||||
<class name="content"/>
|
||||
|
@ -102,21 +89,17 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyPreferencesGroup" id="power_profile_section">
|
||||
<object class="AdwPreferencesGroup" id="power_profile_section">
|
||||
<property name="visible">False</property>
|
||||
<property name="title" translatable="yes">Power Mode</property>
|
||||
<property name="description" translatable="yes">Affects system performance and power usage.</property>
|
||||
<accessibility>
|
||||
<relation target="power_profile_listbox" type="label-for"/>
|
||||
</accessibility>
|
||||
<child>
|
||||
<object class="GtkListBox" id="power_profile_listbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<signal name="keynav-failed" handler="keynav_failed_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
<signal name="row-activated" handler="power_profiles_row_activated_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
<accessibility>
|
||||
<relation target="power_profile_section" type="labelled-by"/>
|
||||
<relation name="labelled-by">power_profile_section</relation>
|
||||
</accessibility>
|
||||
<style>
|
||||
<class name="content"/>
|
||||
|
@ -137,17 +120,14 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyPreferencesGroup" id="power_saving_section">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwPreferencesGroup" id="power_saving_section">
|
||||
<property name="title" translatable="yes">Power Saving Options</property>
|
||||
<child>
|
||||
<object class="HdyActionRow" id="als_row">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwActionRow" id="als_row">
|
||||
<property name="title" translatable="yes">Automatic Screen Brightness</property>
|
||||
<property name="subtitle" translatable="yes">Screen brightness adjusts to the surrounding light.</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="als_switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
<signal name="notify::active" handler="als_switch_changed_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
</object>
|
||||
|
@ -155,22 +135,19 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyActionRow" id="dim_screen_row">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwActionRow" 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="activatable_widget">dim_screen_switch</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="dim_screen_switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyComboRow" id="blank_screen_row">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwComboRow" id="blank_screen_row">
|
||||
<property name="title" translatable="yes">Screen _Blank</property>
|
||||
<property name="subtitle" translatable="yes">Turns the screen off after a period of inactivity.</property>
|
||||
<property name="use_underline">True</property>
|
||||
|
@ -178,7 +155,7 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyActionRow" id="power_saver_low_battery_row">
|
||||
<object class="AdwActionRow" 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>
|
||||
|
@ -186,14 +163,13 @@
|
|||
<property name="activatable_widget">power_saver_low_battery_switch</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="power_saver_low_battery_switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyActionRow" id="automatic_suspend_row">
|
||||
<object class="AdwActionRow" id="automatic_suspend_row">
|
||||
<property name="visible">False</property>
|
||||
<property name="title" translatable="yes">_Automatic Suspend</property>
|
||||
<property name="subtitle" translatable="yes">Pauses the computer after a period of inactivity.</property>
|
||||
|
@ -202,7 +178,6 @@
|
|||
<signal name="activated" handler="automatic_suspend_row_activated_cb" swapped="yes"/>
|
||||
<child>
|
||||
<object class="GtkLabel" id="automatic_suspend_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">end</property>
|
||||
<signal name="mnemonic-activate" handler="automatic_suspend_label_mnemonic_activate_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
</object>
|
||||
|
@ -212,11 +187,9 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyPreferencesGroup" id="general_section">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">Suspend & Power Button</property>
|
||||
<object class="AdwPreferencesGroup" id="general_section">
|
||||
<child>
|
||||
<object class="HdyComboRow" id="power_button_row">
|
||||
<object class="AdwComboRow" id="power_button_row">
|
||||
<property name="visible">False</property>
|
||||
<property name="title" translatable="yes">Po_wer Button Behavior</property>
|
||||
<property name="use_underline">True</property>
|
||||
|
@ -224,14 +197,13 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyActionRow" id="battery_percentage_row">
|
||||
<object class="AdwActionRow" id="battery_percentage_row">
|
||||
<property name="visible">False</property>
|
||||
<property name="title" translatable="yes">Show Battery _Percentage</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="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
|
@ -263,21 +235,19 @@
|
|||
</object>
|
||||
|
||||
<object class="GtkDialog" id="automatic_suspend_dialog">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">5</property>
|
||||
<property name="title" translatable="yes">Automatic Suspend</property>
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="use_header_bar">1</property>
|
||||
<child internal-child="vbox">
|
||||
<property name="hide-on-close">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_start">6</property>
|
||||
<property name="margin_end">6</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">2</property>
|
||||
<child>
|
||||
<object class="GtkGrid">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_start">12</property>
|
||||
<property name="margin_end">6</property>
|
||||
<property name="margin_top">12</property>
|
||||
|
@ -286,150 +256,101 @@
|
|||
<property name="column_spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="suspend_on_ac_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">12</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">_Plugged In</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="mnemonic_widget">suspend_on_ac_switch</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">2</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="suspend_on_battery_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">On _Battery Power</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="mnemonic_widget">suspend_on_battery_switch</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">0</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="suspend_on_battery_switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<layout>
|
||||
<property name="column">2</property>
|
||||
<property name="row">0</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBoxText" id="suspend_on_battery_delay_combo">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="entry_text_column">0</property>
|
||||
<property name="id_column">1</property>
|
||||
<property name="model">time_liststore</property>
|
||||
<layout>
|
||||
<property name="column">2</property>
|
||||
<property name="row">1</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="suspend_on_battery_delay_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_start">20</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="label" translatable="yes">Delay</property>
|
||||
<property name="mnemonic_widget">suspend_on_battery_delay_combo</property>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">1</property>
|
||||
</layout>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="suspend_on_ac_switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin_top">12</property>
|
||||
<layout>
|
||||
<property name="column">2</property>
|
||||
<property name="row">2</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBoxText" id="suspend_on_ac_delay_combo">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="entry_text_column">0</property>
|
||||
<property name="id_column">1</property>
|
||||
<property name="model">time_liststore</property>
|
||||
<layout>
|
||||
<property name="column">2</property>
|
||||
<property name="row">3</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_start">20</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="label" translatable="yes">Delay</property>
|
||||
<property name="mnemonic_widget">suspend_on_ac_delay_combo</property>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">3</property>
|
||||
</layout>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<property name="selectable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="margin-start">4</property>
|
||||
<property name="margin-end">8</property>
|
||||
|
@ -15,11 +14,10 @@
|
|||
<property name="spacing">4</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="icon_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="margin-start">6</property>
|
||||
<property name="margin-end">6</property>
|
||||
<property name="icon-name">info-symbolic</property>
|
||||
<property name="icon-size">5</property>
|
||||
<property name="icon-size">large</property>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
|
@ -27,9 +25,9 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="title_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="use-markup">True</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
|
|
|
@ -34,7 +34,7 @@ struct _CcPowerProfileRow
|
|||
{
|
||||
GtkListBoxRow parent_instance;
|
||||
|
||||
GtkRadioButton *button;
|
||||
GtkCheckButton *button;
|
||||
GtkLabel *subtitle_label;
|
||||
GtkLabel *title_label;
|
||||
|
||||
|
@ -74,10 +74,8 @@ performance_profile_set_inhibited (CcPowerProfileRow *self,
|
|||
if (self->power_profile != CC_POWER_PROFILE_PERFORMANCE)
|
||||
return;
|
||||
|
||||
gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (self->subtitle_label)),
|
||||
GTK_STYLE_CLASS_DIM_LABEL);
|
||||
gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (self->subtitle_label)),
|
||||
GTK_STYLE_CLASS_ERROR);
|
||||
gtk_widget_remove_css_class (GTK_WIDGET (self->subtitle_label), "dim-label");
|
||||
gtk_widget_remove_css_class (GTK_WIDGET (self->subtitle_label), "error");
|
||||
|
||||
text = get_performance_inhibited_text (performance_inhibited);
|
||||
if (text)
|
||||
|
@ -86,8 +84,8 @@ performance_profile_set_inhibited (CcPowerProfileRow *self,
|
|||
text = _("High performance and power usage.");
|
||||
gtk_label_set_text (GTK_LABEL (self->subtitle_label), text);
|
||||
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (self->subtitle_label)),
|
||||
inhibited ? GTK_STYLE_CLASS_ERROR : GTK_STYLE_CLASS_DIM_LABEL);
|
||||
gtk_widget_add_css_class (GTK_WIDGET (self->subtitle_label),
|
||||
inhibited ? "error" : "dim-label");
|
||||
gtk_widget_set_sensitive (GTK_WIDGET (self), !inhibited);
|
||||
}
|
||||
|
||||
|
@ -133,7 +131,7 @@ cc_power_profile_row_get_profile (CcPowerProfileRow *self)
|
|||
return self->power_profile;
|
||||
}
|
||||
|
||||
GtkRadioButton *
|
||||
GtkCheckButton *
|
||||
cc_power_profile_row_get_radio_button (CcPowerProfileRow *self)
|
||||
{
|
||||
g_return_val_if_fail (CC_IS_POWER_PROFILE_ROW (self), NULL);
|
||||
|
@ -147,7 +145,7 @@ cc_power_profile_row_set_active (CcPowerProfileRow *self,
|
|||
{
|
||||
g_return_if_fail (CC_IS_POWER_PROFILE_ROW (self));
|
||||
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->button), active);
|
||||
gtk_check_button_set_active (GTK_CHECK_BUTTON (self->button), active);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -166,7 +164,7 @@ cc_power_profile_row_get_active (CcPowerProfileRow *self)
|
|||
{
|
||||
g_return_val_if_fail (CC_IS_POWER_PROFILE_ROW (self), FALSE);
|
||||
|
||||
return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->button));
|
||||
return gtk_check_button_get_active (GTK_CHECK_BUTTON (self->button));
|
||||
}
|
||||
|
||||
CcPowerProfileRow *
|
||||
|
|
|
@ -41,7 +41,7 @@ G_DECLARE_FINAL_TYPE (CcPowerProfileRow, cc_power_profile_row, CC, POWER_PROFILE
|
|||
|
||||
CcPowerProfileRow *cc_power_profile_row_new (CcPowerProfile power_profile);
|
||||
CcPowerProfile cc_power_profile_row_get_profile (CcPowerProfileRow *row);
|
||||
GtkRadioButton *cc_power_profile_row_get_radio_button (CcPowerProfileRow *row);
|
||||
GtkCheckButton *cc_power_profile_row_get_radio_button (CcPowerProfileRow *row);
|
||||
void cc_power_profile_row_set_active (CcPowerProfileRow *row, gboolean active);
|
||||
gboolean cc_power_profile_row_get_active (CcPowerProfileRow *row);
|
||||
void cc_power_profile_row_set_performance_inhibited (CcPowerProfileRow *row,
|
||||
|
|
|
@ -5,55 +5,57 @@
|
|||
<property name="selectable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkGrid">
|
||||
<property name="visible">True</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="button">
|
||||
<property name="visible">True</property>
|
||||
<object class="GtkCheckButton" id="button">
|
||||
<property name="margin-start">6</property>
|
||||
<property name="margin-end">18</property>
|
||||
<signal name="toggled" handler="cc_power_profile_row_button_toggled_cb" object="CcPowerProfileRow" swapped="yes"/>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">0</property>
|
||||
<property name="row-span">2</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="height">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="title_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="use-markup">True</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="margin-end">6</property>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">0</property>
|
||||
</layout>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="subtitle_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="use-markup">True</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="margin-end">6</property>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">1</property>
|
||||
<property name="column-span">2</property>
|
||||
</layout>
|
||||
<attributes>
|
||||
<attribute name="scale" value="0.9"/>
|
||||
</attributes>
|
||||
|
@ -61,11 +63,6 @@
|
|||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
|
|
@ -50,7 +50,7 @@ extern GType cc_info_overview_panel_get_type (void);
|
|||
#endif /* BUILD_NETWORK */
|
||||
extern GType cc_notifications_panel_get_type (void);
|
||||
//extern GType cc_goa_panel_get_type (void);
|
||||
//extern GType cc_power_panel_get_type (void);
|
||||
extern GType cc_power_panel_get_type (void);
|
||||
//extern GType cc_printers_panel_get_type (void);
|
||||
//extern GType cc_region_panel_get_type (void);
|
||||
extern GType cc_removable_media_panel_get_type (void);
|
||||
|
@ -121,7 +121,7 @@ static CcPanelLoaderVtable default_panels[] =
|
|||
#endif
|
||||
PANEL_TYPE("notifications", cc_notifications_panel_get_type, NULL),
|
||||
//PANEL_TYPE("online-accounts", cc_goa_panel_get_type, NULL),
|
||||
//PANEL_TYPE("power", cc_power_panel_get_type, NULL),
|
||||
PANEL_TYPE("power", cc_power_panel_get_type, NULL),
|
||||
//PANEL_TYPE("printers", cc_printers_panel_get_type, NULL),
|
||||
//PANEL_TYPE("region", cc_region_panel_get_type, NULL),
|
||||
PANEL_TYPE("removable-media", cc_removable_media_panel_get_type, NULL),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue