Commit graph

206 commits

Author SHA1 Message Date
Philip Chimento
c1210c5c65 power: Use up_client_get_devices2()
The previous code would have leaked all the UpDevice objects because no
free function was set on the returned GPtrArray.

Since we already depend on upower-glib 0.99.8 which is the release in
which get_devices() was deprecated and get_devices2() was introduced, we
can simply switch to get_devices2() which does set a free function on
the returned GPtrArray, stopping the leak.
2019-09-16 14:09:40 -07:00
Robert Ancell
97985a664e Remove unused GNOMELOCALEDIR defines 2019-09-09 21:45:53 +00:00
Georges Basile Stavracas Neto
f833bb13ad power: Tweak margins and spacing
* Add another vertical size group handling only battery
   rows.

 * Add more vertical margins to the battery rows -- set
   to 16px and 14px, respectivelly, the top and bottom
   margins.

 * Increase spacing between battery level and labels to
   10px.

 * Increase spacing between titles and subtitles to 4px.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/553
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
be5d6bfba1 power: Scale row subtitles to 0.9
This matches what the Mouse & Touchpad panel do, and
fixes a small inconsistency with the panel.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/553
2019-06-16 01:01:36 +00:00
Georges Basile Stavracas Neto
9b41718e4b power: Capitalize and improve labels
As spotted by Allan, these labels do not follow the
correct capitalization rules.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/552
2019-06-16 01:01:36 +00:00
Bastien Nocera
dff4d1f323 power: Don't treat all batteries as laptop batteries
They might be device batteries where the device type is not known or
catalogued.
2019-05-07 12:53:23 +02:00
Ethan Hsieh
83e055c9be power: correct the value of 90 minutes to 5400 2019-05-02 13:35:14 +08:00
Adrien Plazas
ef93835b31 power: Make the rows adaptive
This factorizes the row creation a bit and normalizes the margins and
spacing, reducing the required width. This also makes labels like row
titles and descriptions ellipsizable so the rows can reach narrower
widths.
2019-03-29 17:55:20 +00:00
Adrien Plazas
101ebf1bd4 power: Use a HdyColumn
This allows the window to reach narrower sizes.
2019-03-29 17:55:20 +00:00
Adrien Plazas
4e6ec3aad0 power: Don't tweak the scrollbar policy
This allows the window to reach smaller sizes.
2019-03-29 17:55:20 +00:00
Jeremy Bicha
3d686de41c power: stop using deprecated up_client_get_devices
and bump required upower version to 0.99.8 which
introduced up_client_get_devices2

This is a follow-up from
https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/82
2018-12-07 14:55:43 +00:00
Robert Ancell
1b70273221 power: Fix device label alignment
Should be left-aligned, previously it was centered
2018-11-21 12:11:20 +13:00
João Paulo Rechi Vita
6efaf85e9a power: Label the PENDING_CHARGING state as "Not Charging"
The pending-charge state means AC power is on but the battery is not
being charged. This can happen because its charge is above a certain
threshold, to avoid short charging cycles and prolong the battery's
life, or because the PSU is not powerful enough to charge the batteries.

Instead of lying to the user about something being estimated, we should
simply tell the truth and set the label to "Not Charging".

Closes: #249.
2018-11-14 13:53:40 -08:00
Robert Ancell
e6bf2870c1 power: Make .ui filename match the .c filename 2018-11-12 16:41:01 +00:00
Benjamin Berg
b5711c59ec power: Correctly lookup or insert new items into combobox
The code to lookup or insert items into the combobox had a few issues.
It would assume that the items are sorted, causing existing items to not
be found and be inserted instead. It also would simply forget to insert
an item if it was larger than all existing items.

This code is now changed to iterate over all items, finding the best
insertion point in the process (next item has a larger value, or the
values are not increasing anymore). The item will only be inserted if it
has not been found.

Fixes #261
2018-11-08 12:38:51 +00:00
Philip Withnall
c07b357311 panels: Add X-GNOME-UsesNotifications to several desktop files
gnome-settings-daemon emits notifications related to these four control
panels. If we add X-GNOME-UsesNotifications to their desktop files, the
user will be able to control the notifications.

https://wiki.gnome.org/Initiatives/GnomeGoals/NotificationSource

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2018-11-01 17:22:21 +00:00
Robert Ancell
99220dad50 power: Don't use gtk_widget_show_all
It is removed in GTK+ 4
2018-10-11 22:21:34 +00:00
Jonathan Kang
4af9803f51 power: set no-show-all to TRUE on wifi and mobile rows
The Wi-Fi and mobile broadband row's visibility depends on related
device status. But calling gtk_widget_show_all on the whole list box
makes them visible even related device is not avialbe. Fix that by
setting no-show-all of these two widgets as TRUE.

https://gitlab.gnome.org/GNOME/gnome-control-center/issues/189
2018-10-11 02:07:51 +00:00
Marek Cernocky
fa08a3bfe6 Added a translation context for the time options in Power and Privacy panels 2018-10-10 20:56:14 +00:00
Andrea Azzarone
f34ea2bd5e power: Use g_signal_connect_object
Objects created using the object storage API are not disposed when the panel
that created them is disposed. In order to prevent segfaults we need to manually
disconnect signal handler connected to these objects or we can do it
automatically using g_signal_connect_object.

Fixes: https://launchpad.net/bugs/1797205
2018-10-10 20:12:19 +01:00
Benjamin Berg
75556d7c5a power: Handle cancelled kbd brightness proxy creation
The code must not access the passed panel if the operation to create the
keyboard proxy has been cancelled. This fixes a possible crash when
switching away from the power panel.
2018-09-25 02:46:54 +00:00
Robert Roth
f7798f5dfa power: set proper level offsets for battery levelbars
The battery power level level bars are using the default offsets for low, high and full battery level, 0.25, 0.75 and 1.0.

Based on the suggestion from #68, this commit changes the high and full offset to 0.1 and 0.8, and the low battery level offset to 0.03 for primary batteries and UPSs, and 0.05 for other batteries and devices.

https://gitlab.gnome.org/GNOME/gnome-control-center/issues/68
2018-09-10 15:15:09 +00:00
Georges Basile Stavracas Neto
c2eaafebc0 power: Minor adjustment in the mobile broadband string
Now it properly follows Nick's suggestion.

[skip ci]
2018-07-23 11:24:12 -03:00
Georges Basile Stavracas Neto
37a0b8e04f power: Reword some strings
Some of the current string related to saving power by
turning something off are ambiguous, and can mean both
"yes, turn off" or "yes, keep it on" at the same time.

This commit slightly rewords those sentences in order
to disambiguate them.

https://gitlab.gnome.org/GNOME/gnome-control-center/issues/53

[skip ci]
2018-07-23 11:07:43 -03:00
Robert Ancell
71383e8b50 power: Use GtkTemplate 2018-06-11 14:30:31 +00:00
Robert Ancell
3622c8ff14 power: Use g_auto for variables 2018-06-03 01:38:43 +00:00
Robert Ancell
d2959e4fe7 power: Simplify GPtrArray memory management 2018-05-30 23:17:08 +00:00
Robert Ancell
ed6ac15b5c power: Simplify cancellable destruction 2018-05-30 23:17:07 +00:00
Robert Ancell
27a64cd04b power: Replace ifdefs with #pragma once 2018-05-30 23:17:07 +00:00
Robert Ancell
f51932978f power: Replace GObject boilerplace with G_DECLARE_TYPE 2018-05-30 23:17:07 +00:00
Bastien Nocera
f26d21682a power: Automatically add values to drop-down when necessary
When a setting is set to a value that's not in the list of options, add
that custom value to the drop-down for the duration of the run, so as to
avoid the last item being selected and causing confusion.

https://bugzilla.gnome.org/show_bug.cgi?id=793448
2018-04-19 14:59:10 +02:00
Bastien Nocera
6c447dc14a power: Don't show approximate percentages
When there's a battery-level property (new in UPower 0.99.5), don't show
the percentage, as it's a rough approximation of the truth.

https://bugzilla.gnome.org/show_bug.cgi?id=780360
2018-04-19 14:39:11 +02:00
Benjamin Berg
c2f601a9d4 Move common panel code from shell/ to panel/common
This creates a new static library called libwidget which the shell links
against.
2018-04-17 15:26:59 +02:00
Georges Basile Stavracas Neto
eb62419b4b power: Cache D-Bus proxies and NMClient 2018-04-06 22:23:39 -03:00
Benjamin Berg
1d72a0b350 power: Fix crash when panel is closed quickly
Fix a use-after-free while creating the dbus proxy for
org.gnome.SettingsDaemon.Power.Keyboard. This fix is identical to the
previous fix for the screen proxy.

https://bugzilla.gnome.org/show_bug.cgi?id=794089
2018-03-05 16:47:52 +01:00
Piotr Drąg
7265bd53a0 Add translator comments to .desktop files
Icons are confusing translators, and gettext
is unlikely to get fixed any time soon.
2018-02-23 18:49:35 +01:00
Bastien Nocera
d2f1155639 power: Fix crash when panel is closed quickly
Another use-after-free on cancellation crash.

 #0  g_type_check_instance_cast (type_instance=type_instance@entry=0x1eac3c0, iface_type=32150864) at /glib/gobject/gtype.c:4057
 #1  0x0000000000494077 in got_screen_proxy_cb (source_object=<optimized out>, res=0x1eceab0, user_data=user_data@entry=0x1eac3c0)
     at panels/power/cc-power-panel.c:1083

https://bugzilla.gnome.org/show_bug.cgi?id=789464
2018-02-20 10:59:18 +01:00
Bastien Nocera
015fe8de1d power: Don't treat device batteries as power supplies
Show the "desktop" style dialogue ("Automatic suspend, when idle") even
when we have devices with batteries in use. We need "power supply"
batteries to consider the device as a laptop, or UPS-powered machine.

https://bugzilla.gnome.org/show_bug.cgi?id=793509
2018-02-16 14:40:56 +01:00
Bastien Nocera
eb88ce56a8 power: Add 20 and 25 minutes suspend timeouts
Pad out the 15-30 minutes mark with 5 minute increments. This also means
that the new 20-minute default for suspending is now in the list, and
will be selected when the panel is opened, rather than the 30 minutes
option.

See https://bugzilla.gnome.org/show_bug.cgi?id=681869

https://bugzilla.gnome.org/show_bug.cgi?id=792890
2018-01-26 00:00:02 +01:00
Iñigo Martínez
3afdaa3b2f build: Make network mandatory on every linux
In a recent commit[0], bluetooth, network and wacom panels were made
mandatory on every linux except on S390 systems. However, the
network panel should also be mandatory on S390 systems running
linux.

This changes the conditions to build bluetooh, network and wacom
panels.

https://bugzilla.gnome.org/show_bug.cgi?id=792641

[0] https://git.gnome.org/browse/gnome-control-center/commit/?id=a2b20a65c
2018-01-23 12:42:38 -02:00
Iñigo Martínez
0dd386f405 build: Migrate from Intltool to Gettext
Recent versions of Gettext are able to translate several formats
that are used in GNOME applications. This patch migrates from
Intltool to Gettext by using meson's i18n features.

https://bugzilla.gnome.org/show_bug.cgi?id=787588
2018-01-23 10:49:31 +01:00
Iñigo Martínez
a2b20a65cb build: Make bluetooth, network and wacom mandatory on linux
The bluetooh, network and wacom panels should not be optional
on linux, except on s390 systems which lack USB support. It
should also not be built at all on other systems.

This patch makes these panels mandatory on linux.

https://bugzilla.gnome.org/show_bug.cgi?id=792641
2018-01-22 23:06:45 -02:00
Michael Catanzaro
8e2305c0fc power: Add sublabel for Bluetooth switch
We already have this label for Wi-Fi and Mobile Broadband, so it looks
silly that it's missing from the Bluetooth row.

https://bugzilla.gnome.org/show_bug.cgi?id=771200
2018-01-18 11:47:08 -02:00
Iñigo Martínez
dc0988d47c build: Remove autotools
To avoid the burden of maintaining multiple build systems, this
patch removes autotools support.

https://bugzilla.gnome.org/show_bug.cgi?id=785414
2018-01-18 12:20:08 +01:00
Bastien Nocera
ca3779467e power: Add gaming input devices label
See https://bugs.freedesktop.org/show_bug.cgi?id=102493

https://bugzilla.gnome.org/show_bug.cgi?id=787087
2018-01-18 12:15:29 +01:00
Piotr Drąg
b65e31323a panels: Remove soft hyphens from .desktop files
With the old shell gone, there is no need to work around cut off panel
names (bug #647087). As it stands now, it only confuses translators
(invisible characters are hard to, well, see).

https://bugzilla.gnome.org/show_bug.cgi?id=792629
2018-01-18 00:12:04 -02:00
Iñigo Martínez
32edd6789e build: Port to meson build system
Meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.

https://bugzilla.gnome.org/show_bug.cgi?id=785414
2018-01-17 20:09:35 -02:00
Allan Day
8a8e53ab8a Standardize vertical spacing of panels
Ensure that the vertical spacing inside each panel is similar.
This makes the transition between each panel smoother and makes
the control center feel more cohesive.

Settings panels are given 32px above and below their content
and 32px vertical space between major sections. 12px space is
placed below headings.

Bluetooth, displays and printers are not addressed.

https://bugzilla.gnome.org/show_bug.cgi?id=786384
2017-08-20 18:38:42 +02:00
Allan Day
e29e97a9a4 power: harmonize header positioning
Some of the headings have horizontal margins and others don't,
creating an inconsistent layout. Remove the horizontal margins
from all headings.

https://bugzilla.gnome.org/show_bug.cgi?id=786327
2017-08-16 15:43:04 -03:00
Georges Basile Stavracas Neto
f7bdd3c969 panels: Minor adjustments for the new shell 2017-08-09 19:31:41 +02:00