Commit graph

6186 commits

Author SHA1 Message Date
Georges Basile Stavracas Neto
aa98bf47da panel-list: Move Thunderbolt to the Privacy section 2020-01-06 15:15:30 +00:00
Georges Basile Stavracas Neto
5f640b9903 panel-list: Reorganize Devices section
Move the Power and Sound panel to there.
2020-01-06 15:15:30 +00:00
Georges Basile Stavracas Neto
64756d6b08 region, universal-access: Move to the Details section
They need to have their desktop files updated too.
2020-01-06 15:15:30 +00:00
Felipe Borges
3576133654 user-accounts: Use CcPermissionInfobar to lock/unlock the panel
This moves the GtkLockButton out of the headerbar and starts to
consume the CcPermissionInfobar API to lock/unlock the panel.

See #771
2020-01-06 14:43:11 +00:00
Felipe Borges
5d2a884ac7 common: Introduce "CcPermissionInfobar" widget
The "CcPermissionInfobar" widget is a more descriptive way to
communicate that some Settings panel needs authentication in order
to perform certain actions.

This widget doesn't handle the permissions (as in GPermission)
itself. It needs to be binded to an existing instance of GPermission,
and it will react to the permission's state (show when the current
user is not authorized, and hide when the user is authorized).

This is part of a big set of changes that aim to set a consistent
authentication method accross Settings panels.

See #685, #556, and #771
2020-01-06 14:43:11 +00:00
Felipe Borges
4180e75aad sound: Set audio icon based on volume
The same way that GNOME Shell does it, we set:
 * audio-volume-muted-symbolic when mute button is toggled*
 * audio-volume-low-symbolic when 0 < volume < 30%
 * audio-volume-medium-symbolic when 30% < volume < 70%
 * audio-volume-high-symbolic when 70% < volume <= 100%

When "muted" we can't actually rely on volume (it can be close
to zero but not absolute zero). Instead of requiring volume == 0,
we track the state based on whether the mute button is active.

Fixes #521
2019-12-18 12:00:02 +01:00
Robert Ancell
4c6208dc66 network: Fix memory leaks using g_find_program_in_path
Added in d61d13d
2019-12-18 00:31:54 +00:00
Carlos Garnacho
edd7f97422 wacom: Avoid poking disposed object
A little above in the function, we update the page UI, maybe destroying
the bits that allow decoupling display-attached tablets from their display.
Later on, we unconditionally update its GtkSwitch.

This can't bode well on tablets where the widget was already destroyed.
2019-12-18 00:24:22 +00:00
Robert Ancell
096eefe7b9 applications: Show snap interface controls 2019-12-18 12:29:19 +13:00
Robert Ancell
aa471faa4a applications: Show snap app sizes 2019-12-18 12:29:19 +13:00
Robert Ancell
4ffc990d93 applications: Show portal permissions for snaps 2019-12-18 12:29:18 +13:00
Robert Ancell
fbb31cc1a7 applications: Rename functions as portal permssions are not Flatpak specific 2019-12-18 12:28:31 +13:00
Robert Ancell
6aa5961ef5 applications: Fix builtin-permissions showing when none are set
Shows the placeholder text "Yadda Yadda"
2019-12-18 12:18:34 +13:00
Robert Ancell
be3ced3ff2 applications: Add missing whitespace 2019-12-18 12:18:34 +13:00
Felipe Borges
ca291402bc universal-access: Add "Locate Pointer" option
Since [0] and [1], "locate pointer" is now in Mutter and works
well under Wayland and X11.

Once activated, the mouse pointer can be located on the screen
by pressing the Ctrl key. Pressing Ctrl will cause an animation
to appear briefly at the location of your pointer.

[0] https://gitlab.gnome.org/GNOME/mutter/merge_requests/453
[1] https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/413

Fixes #586
2019-12-17 23:03:31 +00:00
Robert Ancell
0d096f4c52 universal-access: Update visual alert label to match behaviour change in Mutter
Fixes #403
2019-12-17 22:22:57 +00:00
Felipe Borges
5c679301ec search: Invalidate "Search Locations" list when folders can't be found
We store the list of "Search Locations" in a gsetting. When a location
gets added and then removed, the gsetting still stores its path.

These changes verify the existance of a file before loading it in the UI,
and also removes the path from the gsetting when the location can't
be found.

Fixes #812
2019-12-17 22:16:08 +00:00
Felipe Borges
dadc7cb252 search: Preserve row switch state while dragging
While dragging a row in order to reoder the search list, we create
a fake copy of the row that gets dragged into the position where
the user wants the row to be in. This fake row should have its
switch matching the state of its master copy.

Fixes #810
2019-12-15 21:31:46 +00:00
Carlos Garnacho
2ff526ecfb network: Update VPN empty label status after removing VPN connection
Being the VPN list actually a collection of listboxes, this function
ensures it looks alright in other places. However the case of removing
all VPN connections till we're back empty was missed.
2019-12-12 23:06:45 +01:00
Philip Withnall
9f018a2d62 user-accounts: Use a more specific GtkSettings object
Otherwise we might potentially be using the GtkSettings for the wrong
screen, which might make a difference if one screen has animations
enabled but another doesn’t.

(This is an edge case I spotted while reading the code, but not one that
I’ve experienced practically.)

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-12-11 14:23:39 +00:00
Philip Withnall
b2d607df44 user-accounts: Fix carousel arrow location when animations are disabled
When animations are disabled, the @keyframes CSS rule doesn’t work, and
neither does animation-name — so we need to set the margin-left to the
arrow’s final location directly.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-12-11 14:23:36 +00:00
Xiaoguang Wang
c6be204af0 user-accounts: Use absolute path of command usermod
On distro openSUSE Tumbleweed and SUSE Linux Enterprise the path
of command usermod is not in environment variable PATH, we need to
use absolute path to find command.
2019-12-11 15:30:33 +08:00
Robert Ancell
36645259fd user-accouts: Don't use page names for CcCarousel
Ultimately the code was just trying to access the nth entry.
2019-12-10 09:54:27 +00:00
Robert Ancell
cb6241f540 user-accounts: Replace GtkStack child names with widget references
The child names are easier to break if widgets are changed - this can't be
detected by the compiler.
2019-12-10 09:54:27 +00:00
Robert Ancell
bf0a757c7f user-accounts: Fix small memory leak 2019-12-10 09:54:27 +00:00
Matthias Clasen
edc4044f84 applications: Add a 'run in background' switch
This is backed by the 'background' permission that
the flatpak portal uses. It would be slightly nicer
if we had a separate 'unset' state. For now, we just
show 'unset' as 'on'.
2019-12-10 03:09:43 +00:00
Carlos Garnacho
62d69fb313 common: Fix again tracking of udev device removals
This got fixed in commit 008b1f68c8, and broken again the very same
way in commit 3600cb5a40. Go me.
2019-12-05 17:25:45 +01:00
Carlos Garnacho
1ce1fbe3c8 network: Make list in "new VPN" dialog fill up space
The list holding the different supported VPN types is currently relying
on its content in order to expand horizontally. This comes out odd
if the list is mostly empty or has no specially wide content, as it is
then centered in the dialog.

Have it fill the available space, and align vertically on top.
2019-12-04 20:30:49 +01:00
Bastien Nocera
783c13d0cc info: Fix sorting of GPU descriptions when there's more than one
Not that it makes that much of a difference, but none of the GPUs we
listed were marked as the default one. The variable that holds the
boolean variant was also changed to make it clearer that it held the
value rather than was a value.
2019-12-03 12:42:55 +01:00
Carlos Garnacho
23303245af network: Keep a ref on NetDeviceEthernet while a edition dialog is open
Otherwise, invoking other panel (eg. through shell search, or CLI) and
closing the dialog will result in a crash, as the NetDeviceEthernet
object does no longer exist.
2019-11-29 11:22:56 +01:00
Robert Ancell
c37ab4032b network: Fix warnings after removing a VPN
This is due to the object being accessed after being unreffed - connect the signal
so it is removed when the object is finalized.

This regression was introduced in 93a269f8 when switching to GtkTemplate.
2019-11-28 13:21:11 +00:00
Robert Ancell
5dbbc20918 shell: Show the submenu icon hint for the applications panel
The panel swarms details/devices/privacy show this icon. Since the applications
panel is not made from sub-panels, this doesn't show. For consistency this shows
the icon so the transition isn't as jarring for the user.

Add a flat into the panel .desktop file to enable this - other panels might
require this in the future
2019-11-28 11:20:41 +13:00
Robert Ancell
acc8aff5d0 network: Remove certificate helper function
It didn't really save any code.
2019-11-27 22:05:46 +00:00
Robert Ancell
63c3f3e0a4 network: Add a changed signal to EAPMethod
This stops us emitting the signal on the parent object directly
2019-11-27 22:05:46 +00:00
Robert Ancell
e6b91c7a5d network: Remove wired checks from dynamic WEP code
This widget is only used for wireless networks.
2019-11-27 22:05:46 +00:00
Robert Ancell
3657a4e602 network: Simplify dynamic WEP and EAP auth widgets 2019-11-27 22:05:46 +00:00
Robert Ancell
bd7491bc5c network: Move common code to common location
Remove duplicate header file for these functions
2019-11-27 22:05:46 +00:00
Robert Ancell
f63ac35b41 network: Remove unnecessary nm-default.h 2019-11-27 22:05:46 +00:00
Robert Ancell
8bcc2f811a network: Move helper function with other helper code 2019-11-27 22:05:46 +00:00
Robert Ancell
f75affbfe0 network: Copy shared functions into the two cases it is used
This does increase duplication, but should be reduced in following refactoring.
2019-11-27 22:05:46 +00:00
Robert Ancell
d689224941 network: Simplify helper function
This will allow us to remove ws_802_1x_fill_connection in a following commit.
2019-11-27 22:05:46 +00:00
Robert Ancell
c8231a5099 network: Simplify TTLS inner auth widgets 2019-11-27 22:05:46 +00:00
Robert Ancell
90c190dd5c network: Simplify PEAP inner auth widgets 2019-11-27 22:05:46 +00:00
Robert Ancell
e450543a6a network: Simplify FAST inner auth widgets 2019-11-27 22:05:46 +00:00
Robert Ancell
20097e2cbe network: Simplify helper function
The function took internal details of the few classes that were using it.
2019-11-27 22:05:46 +00:00
Robert Ancell
748a508640 network: Make EAP widgets not visible by default
This makes them more consistent with other widgets.
2019-11-27 22:05:46 +00:00
Robert Ancell
737e5829d6 network: Move private defines out of public header 2019-11-27 22:05:46 +00:00
Robert Ancell
f806854560 network: Remove a helper function
This makes more sense to be in the two cases it is used. It should be refactored away in the future.
2019-11-27 22:05:46 +00:00
Robert Ancell
131e89e690 network: Split up a combined setter into multiple methods 2019-11-27 22:05:46 +00:00
Robert Ancell
e5ae62a6a3 network: Convert WirelessSecurity property to a virtual method 2019-11-27 22:05:46 +00:00