Commit c0c357c3 (!2211) moved the "Remote Login" code to the System
panel. There are some leftover bits of code in the sharing panel though.
This cleans that up.
Closes#2895
- Remove the "Networks" title from CcSharingNetworks
and only use the titles from the AdwPreferencesGroups
- Remove the margins from CcSharingNetworks,
since AdwPreferencesGroup already has margins
- Remove unused `spacing` properties
- Replace the Media Sharing GtkGrid with a GtkBox,
like in the File Sharing dialog, and separate the
networks and folders section into their own
AdwPreferencesGroups
- Remove an unnecessary GtkListBox. It was added[1]
in order to make the "Require Password" and "Password"
rows to have the boxed-list style. Since the dialogs
from Sharing panel started to use AdwPreferencesPage/Group[2],
this GtkListBox is no longer necessary.
[1] 9a15a48d
[2] 45a5a1e0
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2818
The ability to tweak the state property was mainly introduced in
order to implement delayed state change via the state-set signal.
Since GTK 4.9.3[1] the active and state properties are no more
interchangeable.
[1] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5442
The ability to tweak the state property was mainly introduced in
order to implement delayed state change via the state-set signal.
Since GTK 4.9.3[1] the active and state properties are no more
interchangeable.
[1] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5442
On the Verify Encryption dialog we were adding a GtkWindowControls
widget with a button child. This is a misunderstanding of the behavior
of GtkWindowControls, which adds its own buttons to the window.
Let's remove our custom close-button and its callback, since the
previous commit disabled this codepath for hiding the dialog.
getlogin() can fail for several reasons as detailed in the man page, and
the current behaviour is a segmentation fault when it fails with NULL,
such as due to an unset loginuid.
* Check return value for error and act accordingly.
* Change to getpwuid(getuid())->pw_name, which is less likely to error.
Turning off the service doesn't mean we need to disable the RDP backend,
the setting can stay enabled in case one wants to manage it directly via
systemd.
If no password or username was set (not even an empty one), initialize
them to something, specifically the username of the user of the session,
and a auto generated password.
This should significantly simplify these panels, by not forcing
them to override GObject.constructed all the time. Most panels
were quite straightfoward.
vino does not work in Wayland sessions and gnome-settings-daemon
removed vino support in [1] which will effectively not start
'vino-server' any more.
The replacement for vino is gnome-remote-desktop since it works in both
Wayland and X11 sessions.
The gnome-remote-desktop sharing panel however is currently only shown
for Wayland sessions, which makes it harder to use it for X11 sessions
since the user has to login into the Wayland sessions just to be able
to enable gnome-remote-desktop.
Therefore, also remove vino from g-c-c and replace it with
gnome-remote-desktop for X11 sessions, too.
[1] https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/135
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/212
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/937
If we are going through mutter's RemoteDesktop interface, we don't
seemingly remember the password set. Add support for reading it
from secrets and change the entry password on dialog construction,
to bring it on par with our vino handling.
Make the panel class provide a cancellable that will be cancelled when the panel
is destroyed. Panel implementations can use this and not have to mangage the
cancellable themselves. Consolidate cases where panels had multiple cancellables
that were all being used for this behaviour.