Commit graph

6420 commits

Author SHA1 Message Date
Marco Trevisan (Treviño)
ae23cea4d1 fingerprint-dialog: Properly handle claiming errors if we're already claiming
We were a bit too permissive in handling the AlreadyInUse error during
claim, as we assumed it was always us causing it instead of properly
handing the case a device was already claimed by another caller.

So to ensure this is the case we need to avoid multiple calls to claim
until we've finished one.

Unfortunately we can't rely on a cancellable here as we may end up
cancelling the request that succeeded and we'll only get an
AlreadyClaimed error without know if it was us succeeding.

Fixes: #1201
2020-12-11 17:46:38 +00:00
Marco Trevisan (Treviño)
269feb1940 fingerprint-dialog: Always call EnrollStop on enrollment completed
Even if we got an error we need to always call EnrollStop so don't unset
enrolling_finger status until we're really done with it.
2020-12-11 17:46:38 +00:00
Marco Trevisan (Treviño)
5a7b9e09bf fingerprint-dialog: Don't crash when showing an error during release
We unset the local device early when releasing it, so use the one we
get the callback instead of relying in the private instance that has
been already cleared.
2020-12-11 17:46:38 +00:00
vanadiae
d3e6a1d73d mouse-test: Remove useless unreachable closing markup in GEGL message
This markup isn't needed since it's already added later in the function.
Also, it was ignored because of some dark magic with the comma operator
(which shouldn't have been there to begin with). That's why it wasn't
discovered earlier.
See https://en.cppreference.com/w/c/language/operator_other#Comma_operator
for some explanation on how the comma operator works.
2020-12-11 17:27:05 +00:00
Bastien Nocera
d0ecd000ff info-overview: Don't overlink print-renderer helper
Causes build errors linking against the builtin libhandy:
ninja: error: '/home/hadess/Projects/gnome-install/lib/libhandy-1.so', needed by 'panels/info-overview/gnome-control-center-print-renderer', missing and no known rule to make it
2020-12-11 17:24:09 +00:00
Philip Withnall
2809316fd1 user-accounts: Show ‘Add User’ button when panel is locked
Rather than hiding the ‘Add User’ button when the panel is locked, show
it in an insensitive state. This gives the user a hint that in order to
add a new user, they will need to unlock the panel.

See: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/26#note_705945

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-12-11 17:19:11 +00:00
Philip Withnall
a9bb55c3c4 user-accounts: Make infobar label more relevant
Highlight that the panel needs to be unlocked in order to add new users.
Currently, while the panel is locked, it’s not at all obvious how to add
new users.

In particular, this helps improve the flow from the parental controls
application, which opens g-c-c to allow new users to be added.

See: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/26#note_705945

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-12-11 17:19:11 +00:00
Philip Withnall
cef9a23e6a cc-permission-infobar: Support customisable titles
Some panels may want to provide more specific context than ‘Change
Settings’.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-12-11 17:19:11 +00:00
Bastien Nocera
1619d30780 power: Fix battery gauge colours
Calling gtk_css_provider_load_from_resource() twice will remove any
already loaded resource instead of adding the new CSS with the old. Load
each CSS individually instead.

Fixes: f1bcaf1fbc
2020-12-11 17:16:55 +00:00
Robert Ancell
ae1a37b009 printers: Remove use of gtk_widget_show_all
It is removed in GTK 4.
2020-11-26 16:02:57 +00:00
Robert Ancell
25963ccf8c network: Fix small memory leak 2020-11-24 20:59:58 +00:00
Robert Ancell
e58a504174 network: Remove unused function prototypes 2020-11-24 20:59:58 +00:00
Robert Ancell
ce23d7e0b1 printers: Ensure objects are destroyed when dialog destroyed 2020-11-24 12:31:21 +13:00
Robert Ancell
2c46436636 printers: Remove redundant variable set to NULL 2020-11-24 12:24:38 +13:00
Robert Ancell
5e2e4a55af printers: Cancel adding printer if PPD dialog is cancelled 2020-11-24 12:23:42 +13:00
Robert Ancell
388e59e66a printers: Fix string leaks in new printer dialog 2020-11-24 12:23:42 +13:00
Robert Ancell
15717be456 network: Correctly detect when ethernet devices are hotplugged.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/995
2020-11-19 23:32:16 +00:00
Robert Ancell
7fb336e17b printers: Make printers panel have a smaller minimum width.
Allow the ink-level to overlap with the buttons.
2020-11-19 23:24:31 +00:00
Robert Ancell
64a2e54ec6 network: Update design of the WiFi list.
https://gitlab.gnome.org/Teams/Design/settings-mockups/raw/master/wifi/wifi-list.png

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1185
2020-11-16 17:01:16 +13:00
Robert Ancell
3beaa9d158 network: Move signals handlers into .ui files 2020-11-11 20:13:46 +00:00
Robert Ancell
012e9cae25 universal-access: Use modern packing tags in CcZoomOptionsDialog 2020-11-11 20:01:55 +00:00
Robert Ancell
c13a276abd universal-access: Remove unused tags in CcZoomOptionsDialog .ui file 2020-11-11 20:01:55 +00:00
Robert Ancell
99d7097548 universal-access: Rename widgets to standard names and use standard types 2020-11-11 20:01:55 +00:00
Robert Ancell
4ac698eabd universal-access: Split pointing dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
0bd133489d universal-access: Split typing dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
2f4058d7e9 universal-access: Split cursor blinking dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
31102bd256 universal-access: Split repeat keys dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
9aaee503c9 universal-access: Split visual alerts dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
828a2bee45 universal-access: Split sound keys dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
9a6631a31d universal-access: Split screen reader dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
12a19878a6 universal-access: Split cursor size dialog into its own widget 2020-11-11 20:01:55 +00:00
Robert Ancell
accf1b82a0 universal-access: Launch zoom options dialog modally 2020-11-11 20:01:55 +00:00
Robert Ancell
a27be44a1d universal-access: Set dialog parent externally 2020-11-11 20:01:55 +00:00
Robert Ancell
88b9b2a149 universal-access: Rename ZoomOptions to standard CcZoomOptionsDialog 2020-11-11 20:01:54 +00:00
Robert Ancell
3e489cc650 universal-access: Simplify row activation code.
The existing code used three methods for working out how each row worked.
2020-11-11 20:01:54 +00:00
Robert Ancell
b259d5207b applications: Fix NULL hash table being unreffed.
When clicking away from the applications panel you can see:
(gnome-control-center:95304): GLib-CRITICAL **: 09:12:52.941: g_hash_table_unref: assertion 'hash_table != NULL' failed
2020-11-10 02:08:35 +00:00
Robert Ancell
06eb07bbd6 printers: Remove dead PPD dialog code 2020-11-10 14:47:20 +13:00
Robert Ancell
551d72280b network: Stop using deprecated nm_device_*_get_hw_address
There is a general nm_device_get_hw_address which has been available since
NetworkManager 0.9.10.
2020-11-08 22:41:40 +00:00
Robert Ancell
83925b3e41 network: Sort Wifi connections
Sort connected first, then configured, then by strength.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/736
2020-11-08 20:06:42 +00:00
Robert Ancell
bc6400a8d7 network: Fix SAE password visibility toggle.
Was trying to toggle the wrong widget.
2020-11-05 12:36:38 +13:00
Robert Ancell
1306a73e8b notifications: Remove thread loading applications
Stop the app list being loaded in a thread. This is complicated and dangerous as
it accesses a hash table that can also be accessed from the main thread. The
operation is not expensive enough to warrant a thread, and similar code in the
application panel doesn't use one here.
2020-11-03 18:14:00 +00:00
Carlos Garnacho
27e1140c9d search: Check for either tracker 2.x or 3.x schemas
The Tracker3 schema points to the same dconf path and is backwards
compatible with Tracker 2.x settings. Check for either here, with a
preference to Tracker 3.x.

Eventually, Tracker 2.x will be fully phased out, and this will not
be necessary.

Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1173
2020-11-02 21:47:22 +00:00
Philip Withnall
e522e5e732 wacom: Fix a critical warning if loading a cursor fails
It’s possible for `gdk_cursor_new_for_display()` to return `NULL`. It’s
OK to pass `NULL` to `gdk_window_set_cursor()`, but not OK to then unref
it.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-02 21:41:03 +00:00
Philip Withnall
243ff6a511 user-accounts: Fix a critical warning if loading a cursor fails
It’s possible for `gdk_cursor_new_for_display()` to return `NULL`. It’s
OK to pass `NULL` to `gdk_window_set_cursor()`, but not OK to then unref
it.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-02 21:41:03 +00:00
Robert Ancell
7bbbef5fde printers: Fix autoptr object not being initialized to NULL.
Won't cause a problem in this case but should be done for safety.

Introduced in ad226b420c
2020-11-02 09:25:04 +13:00
Robert Ancell
509beee6dc printers: Fix leak of printer name in callbacks.
printer_set_ppd_async and printer_set_ppd_file_async copy the printer name, but
this isn't freed in any cases that use these callback (the string isn't even
used at all).
2020-10-29 23:10:05 +00:00
Robert Ancell
ad226b420c printers: Use g_autoptr with GThread 2020-10-30 11:42:14 +13:00
Robert Ancell
902f90e5ea printers: Add methods for getting printer name and location
Remove the GObject properties that aren't type safe.
2020-10-29 20:36:48 +00:00
Jens Georg
598505e719 sharing: Also disable Tracker3
Fixes #1160
2020-10-29 20:31:17 +00:00
Benjamin Berg
43b444fba3 display: Try harder to select a good and working scale
When swicthing configurations, we should ensure that the selected scale
is valid. This is complicated by the fact that it depends on other
factors whether we need a single global scale or not.

Try to retain the scale that monitors have if possible. If that does not
work, try to use the old scale of the primary monitor everywhere. This
should result in a good behaviour in most situations.

Co-authored-by: Stéphane Travostino <steph@combo.cc>

Fixes: #1038
2020-10-29 20:27:29 +00:00