Revert "cc-power-panel: add battery health section"
This reverts commit 4a0d924afd
.
There are some rough edges to be polished before this is ready for
prime time.
UPower battery health capacity reporting can often be inconsistent
across vendors, and we don't want to expose unreliable information
on the UI without proper sanitization.
This commit is contained in:
parent
f52d0c42c5
commit
fc9251c880
2 changed files with 0 additions and 187 deletions
|
@ -28,7 +28,6 @@
|
|||
|
||||
#include "shell/cc-object-storage.h"
|
||||
#include "cc-battery-row.h"
|
||||
#include "cc-list-row.h"
|
||||
#include "cc-power-profile-row.h"
|
||||
#include "cc-power-profile-info-row.h"
|
||||
#include "cc-power-panel.h"
|
||||
|
@ -44,10 +43,6 @@ struct _CcPowerPanel
|
|||
GtkDialog *automatic_suspend_dialog;
|
||||
GtkLabel *automatic_suspend_label;
|
||||
GtkListBoxRow *automatic_suspend_row;
|
||||
AdwPreferencesWindow *battery_health_dialog;
|
||||
AdwPreferencesPage *battery_health_page;
|
||||
AdwPreferencesGroup *battery_health_row;
|
||||
CcListRow *battery_health_section;
|
||||
GtkListBox *battery_listbox;
|
||||
AdwActionRow *battery_percentage_row;
|
||||
GtkSwitch *battery_percentage_switch;
|
||||
|
@ -640,105 +635,6 @@ automatic_suspend_label_mnemonic_activate_cb (CcPowerPanel *self)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static gint
|
||||
get_battery_capacity (UpDevice *device)
|
||||
{
|
||||
gdouble capacity;
|
||||
|
||||
g_object_get (device, "capacity", &capacity, NULL);
|
||||
|
||||
return (gint) capacity;
|
||||
}
|
||||
|
||||
static gchar *
|
||||
get_battery_health_category (UpDevice *device)
|
||||
{
|
||||
gdouble capacity;
|
||||
gchar *category;
|
||||
|
||||
capacity = get_battery_capacity (device);
|
||||
|
||||
if (capacity > 80)
|
||||
category = _("Good");
|
||||
else if (capacity > 50)
|
||||
category = _("OK");
|
||||
else if (capacity > 0)
|
||||
category = _("Poor");
|
||||
else
|
||||
category = _("Unavailable");
|
||||
|
||||
return category;
|
||||
}
|
||||
|
||||
static AdwPreferencesGroup *
|
||||
create_battery_group (UpDevice *device)
|
||||
{
|
||||
AdwPreferencesGroup *battery_group;
|
||||
CcListRow *health_category_row;
|
||||
CcListRow *capacity_row;
|
||||
|
||||
g_autofree gchar *battery_title_string = NULL;
|
||||
g_autofree gchar *capacity_string = NULL;
|
||||
static int battery_number = 1;
|
||||
|
||||
battery_title_string = g_strdup_printf (_("Battery %d"), battery_number);
|
||||
capacity_string = g_strdup_printf (_("%d%%"), get_battery_capacity (device));
|
||||
|
||||
battery_group = ADW_PREFERENCES_GROUP (adw_preferences_group_new ());
|
||||
|
||||
adw_preferences_group_set_title (battery_group, battery_title_string);
|
||||
battery_number++;
|
||||
|
||||
health_category_row = g_object_new (CC_TYPE_LIST_ROW, "visible", TRUE,
|
||||
"activatable", FALSE,
|
||||
"title", _("Health Rating"), NULL);
|
||||
cc_list_row_set_secondary_label (health_category_row, get_battery_health_category (device));
|
||||
adw_preferences_group_add (battery_group, GTK_WIDGET (health_category_row));
|
||||
|
||||
capacity_row = g_object_new (CC_TYPE_LIST_ROW, "visible", TRUE,
|
||||
"activatable", FALSE,
|
||||
"title", _("Battery Capacity"), NULL);
|
||||
cc_list_row_set_secondary_label (capacity_row, capacity_string);
|
||||
adw_preferences_group_add (battery_group, GTK_WIDGET (capacity_row));
|
||||
|
||||
return battery_group;
|
||||
}
|
||||
|
||||
static void
|
||||
build_battery_health_dialog (CcPowerPanel *self)
|
||||
{
|
||||
UpDevice *device = NULL;
|
||||
gint num_batteries;
|
||||
gint i;
|
||||
|
||||
num_batteries = self->devices->len;
|
||||
for (i = 0; i < num_batteries; i++)
|
||||
{
|
||||
gboolean is_present = FALSE;
|
||||
|
||||
device = g_ptr_array_index (self->devices, i);
|
||||
|
||||
g_object_get (device, "is-present", &is_present, NULL);
|
||||
if (!is_present)
|
||||
continue;
|
||||
|
||||
adw_preferences_page_add (self->battery_health_page, create_battery_group (device));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
battery_health_row_activated_cb (CcPowerPanel *self)
|
||||
{
|
||||
CcShell *shell;
|
||||
GtkWidget *toplevel;
|
||||
|
||||
shell = cc_panel_get_shell (CC_PANEL (self));
|
||||
toplevel = cc_shell_get_toplevel (shell);
|
||||
|
||||
gtk_window_set_transient_for (GTK_WINDOW (self->battery_health_dialog), GTK_WINDOW (toplevel));
|
||||
gtk_window_present (GTK_WINDOW (self->battery_health_dialog));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
get_sleep_type (GValue *value,
|
||||
GVariant *variant,
|
||||
|
@ -970,27 +866,6 @@ populate_blank_screen_row (AdwComboRow *combo_row)
|
|||
adw_combo_row_set_model (combo_row, G_LIST_MODEL (string_list));
|
||||
}
|
||||
|
||||
static void
|
||||
setup_battery_health (CcPowerPanel *self)
|
||||
{
|
||||
UpDevice *device = NULL;
|
||||
const gchar *primary_battery_health_category = NULL;
|
||||
gint i;
|
||||
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->battery_health_section), self->has_batteries);
|
||||
|
||||
for (i = 0; i < self->devices->len; i++) {
|
||||
device = g_ptr_array_index (self->devices, i);
|
||||
if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (device), "is-main-battery")) == 1)
|
||||
break;
|
||||
}
|
||||
|
||||
primary_battery_health_category = get_battery_health_category (device);
|
||||
cc_list_row_set_secondary_label (self->battery_health_row, primary_battery_health_category);
|
||||
|
||||
build_battery_health_dialog (self);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_power_saving (CcPowerPanel *self)
|
||||
{
|
||||
|
@ -1553,7 +1428,6 @@ cc_power_panel_dispose (GObject *object)
|
|||
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 ((GtkWindow **) &self->battery_health_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);
|
||||
|
@ -1572,8 +1446,6 @@ cc_power_panel_class_init (CcPowerPanelClass *klass)
|
|||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
CcPanelClass *panel_class = CC_PANEL_CLASS (klass);
|
||||
|
||||
g_type_ensure (CC_TYPE_LIST_ROW);
|
||||
|
||||
object_class->dispose = cc_power_panel_dispose;
|
||||
|
||||
panel_class->get_help_uri = cc_power_panel_get_help_uri;
|
||||
|
@ -1585,10 +1457,6 @@ cc_power_panel_class_init (CcPowerPanelClass *klass)
|
|||
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_health_dialog);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_health_page);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_health_row);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcPowerPanel, battery_health_section);
|
||||
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);
|
||||
|
@ -1618,7 +1486,6 @@ cc_power_panel_class_init (CcPowerPanelClass *klass)
|
|||
|
||||
gtk_widget_class_bind_template_callback (widget_class, als_switch_changed_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, automatic_suspend_label_mnemonic_activate_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, battery_health_row_activated_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);
|
||||
gtk_widget_class_bind_template_callback (widget_class, power_button_row_changed_cb);
|
||||
|
@ -1673,7 +1540,5 @@ cc_power_panel_init (CcPowerPanel *self)
|
|||
g_signal_connect_object (G_OBJECT (device), "notify",
|
||||
G_CALLBACK (up_client_changed), self, G_CONNECT_SWAPPED);
|
||||
}
|
||||
|
||||
up_client_changed (self);
|
||||
setup_battery_health (self);
|
||||
}
|
||||
|
|
|
@ -70,27 +70,6 @@
|
|||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup" id="battery_health_section">
|
||||
<property name="visible">False</property>
|
||||
<child>
|
||||
<object class="CcListRow" id="battery_health_row">
|
||||
<property name="title" translatable="yes">_Battery Health</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="activatable">True</property>
|
||||
<property name="show-arrow">True</property>
|
||||
<signal name="activated" handler="battery_health_row_activated_cb" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<signal name="keynav-failed" handler="keynav_failed_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
<accessibility>
|
||||
<relation name="labelled-by">battery_health_section</relation>
|
||||
</accessibility>
|
||||
<style>
|
||||
<class name="boxed-list"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup" id="device_section">
|
||||
<property name="title" translatable="yes">Devices</property>
|
||||
|
@ -383,35 +362,4 @@
|
|||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
<object class="AdwWindow" id="battery_health_dialog">
|
||||
<property name="modal">True</property>
|
||||
<property name="width-request">360</property>
|
||||
<property name="height-request">294</property>
|
||||
<property name="default-width">600</property>
|
||||
<property name="default-height">540</property>
|
||||
<property name="title" translatable="yes">Battery Health</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="hide-on-close">True</property>
|
||||
<property name="content">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="AdwHeaderBar">
|
||||
<property name="show-start-title-buttons">True</property>
|
||||
<property name="show-end-title-buttons">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesPage" id="battery_health_page">
|
||||
<property name="description" translatable="yes">Current capacity indicates how much charge the battery can currently store, compared to when it was new.</property>
|
||||
<signal name="keynav-failed" handler="keynav_failed_cb" object="CcPowerPanel" swapped="yes"/>
|
||||
<style>
|
||||
<class name="boxed-list"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
||||
|
|
Loading…
Add table
Reference in a new issue