Commit graph

104 commits

Author SHA1 Message Date
Automeris naranja
a4224d9e21 remote-desktop-page: Use AdwBreakpointBin
When the window width is small, the view switcher
labels get very ellipsized, making them difficult
to read.

Use AdwBreakpointBin to show the view switchers
at the bottom at the page (like in the Mouse & Touchpad
panel) when the window width is small.
2024-03-02 22:50:01 -03:00
Automeris naranja
d9be89a5de remote-desktop: Fix page contents being cut when window is small
- Use halign correctly ("left" and "right" aren't
valid values) and use hexpand in the
"Verify Encryption" button, since halign needs
hexpand set to "true"

- Ditch the spacer box, as it causes the page contents
to not scale correctly when the window width is small

- Add can-shrink property to "Generate New Password" and
"Verify Encryption" buttons so they can shrink when
the window width is small

- Also, set the margin-top only in the GtkBox to avoid
redundancy

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2933
2024-03-02 22:49:45 -03:00
Automeris naranja
e84623473c remote-session-page: Several small fixes
- Fix the activatable-widget from port_row,
which was pointing to copy_address_button

- Remove a11y labels from copy buttons
because Orca also reads tooltips

- Remove .property style class from entry rows
since this class is only meant to be used
in AdwActionRow and AdwExpanderRow[1]

- Set the copy buttons as suffix widgets
directly, because wrapping them in a GtkBox
is unnecessary

- Fix indentation

[1] https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html#property-rows
2024-03-02 19:58:47 -03:00
Automeris naranja
7ec7e98df6 desktop-sharing-page: Several small fixes
- Fix the activatable-widget from port_row,
which was pointing to copy_address_button

- Remove a11y labels from copy buttons
because Orca also reads tooltips

- Remove .property style class from entry rows
since this class is only meant to be used
in AdwActionRow and AdwExpanderRow[1]

- Set the copy buttons as suffix widgets
directly, because wrapping them in a GtkBox
is unnecessary

- Fix indentation

[1] https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html#property-rows
2024-03-02 19:58:39 -03:00
Ray Strode
2f66bd7ab5 system, remote-session: Stop critical if no fingerprint
The code currently assumes that if the fingerprint is non-null it's
valid, but gnome-remote-desktop can also set the fingerprint to an
empty string if there's no certificate yet.

This commit makes sure to handle both NULL and empty fingerprints.
2024-03-02 17:43:48 +00:00
Ray Strode
f3b966ba5b system, remote-session: Fix fingerprint dialog when first setting user/pass
If the username and password get set then the certificate fingerprint
isn't updated even if that lets the service start.

This commit fixes things by doing a round trip through the service after
setting the username/password to

1. Make sure the change actually worked
2. Trigger our fingerprint dialog setting code that currently only runs
on reading username/password
2024-03-02 17:43:48 +00:00
Ray Strode
10ac3e8440 system, remote-desktop: Add Generate New Password button
The designs for remote desktop include a generate password
button, so this commit adds one.
2024-03-02 11:10:54 -05:00
Felipe Borges
b001b2dde5 system, remote-desktop: Add "Remote Session" settings
See 85110609cd/remote-desktop/remote-desktop.png
2024-03-02 11:10:54 -05:00
Felipe Borges
524742acec system, remote-desktop: Update strings and styling for "Desktop Sharing"
Following the updates on the mokcups at
85110609cd/remote-desktop/remote-desktop.png
2024-03-02 10:58:35 -05:00
Ray Strode
4b35dd5b8c system, remote-desktop: Generate D-Bus proxy code for gnome-remote-desktop
We'll need this to query the status of the service for
Remote Session support.
2024-03-02 10:54:18 -05:00
Ray Strode
cf39376cca system, remote-desktop: Add new polkit policy
Remote session support needs to be able to start systemd units
and also manage gnome-remote-desktop.

This commit adds a polkit policy to accomodate both subactions
with one overarching action that only needs to be unlocked one time.
2024-03-02 10:54:18 -05:00
Felipe Borges
aee53419f5 system, remote-desktop: Add CcEncryptionFingerprintDialog widget
So that we can reuse the same widget in both Desktop Sharing and
Remote Login pages.
2024-03-02 10:54:18 -05:00
Felipe Borges
71f9073c9a system, remote-desktop: Split Desktop Sharing on its own class 2024-03-02 10:54:18 -05:00
Felipe Borges
b82edb7621 remote-desktop: Consolidate the "Desktop Sharing" term
This change will update the UI and internal reference names to use
the "Desktop Sharing" term, which refers to sharing a user's screen
with remote connections.

This differentiation is being introduced now so that we can avoid
conflict with "Remote Session", which will refer to headless/dedicated
remote desktop sessions.

Mockups
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/raw/master/remote-desktop/remote-desktop.png

See #2827
2024-03-02 10:54:18 -05:00
Automeris naranja
1978468396 general: Remove a11y label from some search entries
These search entries have placeholder texts,
which are also read by Orca. Therefore, using
an a11y label is redundant.

Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2903
2024-02-29 13:48:20 +00:00
Ondrej Holy
316cd92906 system, users: Handle hostname errors
Currently, the generic "Failed to log into domain" error is shown when
joining domain with invalid hostname. It is hard for user to guess what
is going on. Let's fail with "That hostname didn’t work" instead.

Related: https://gitlab.freedesktop.org/realmd/realmd/-/merge_requests/39
2024-02-29 07:51:42 +00:00
Ondrej Holy
c3e71abec0 system, users: Cancel previous cc_realm_manager_discover calls
Currently, the previous cc_realm_manager_discover calls are not cancelled
when validating domain field. This might lead to the situation when valid
domain might be mislabeled as invalid and vice versa. Let's simply cancel
the cancellable to avoid this situation.
2024-02-29 07:51:42 +00:00
Ondrej Holy
2a396add01 system, users: Fix parameter type for realm_join_as_owner callback
The `source_object` parameter for the callback functions called from
the `realm_join_as_user` and `real_join_as_admin` resp. `realm_join_as_owner`
functions is not `CC_REALM_OBJECT` type as one would expect, but
`CC_REALM_KERBEROS_MEMBERSHIP` type. Let's modify the code to ensure that
it is `CC_REALM_OBJECT` type.
2024-02-29 07:51:42 +00:00
Ondrej Holy
a372061f8a system, users: Finish the Enterprise Login dialog implementation
The implementation is based on the cc-add-user-dialog.c codes, but it is
not a pure copy&paste. It has to be changed to fit the skeleton and reflect
changes from the mockup. I've also tried to simplify the code where possible.
It also fixes some memory leaks.
2024-02-29 07:51:42 +00:00
Ondrej Holy
39171394db system, users: Fix coding style as per guidelines 2024-02-29 07:51:42 +00:00
Felipe Borges
4f482d9693 system, users: Add skeleton for the Enterprise Login dialog
Following the mockups at
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/users/add-enterprise-login.png
2024-02-29 07:51:42 +00:00
Felipe Borges
4a9e63337d system, users: Add CcEntryFeedback
A simple widget to display feedback to user-accounts related entries.

This widget is to be used for when we need to show an icon next to
a feedback message such as the ones at
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/users/add-enterprise-login.png
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/users/add-user.png
2024-02-29 07:51:42 +00:00
Felipe Borges
91f016b0c7 system: Re-add the System subpage desktop files
Additionally we add the X-Settings-SystemSettings category and
adjust the Exec keys to be "system $panel_name"
2024-02-27 16:04:00 +00:00
Felipe Borges
c6496e7180 system: Update action-target names due to the latest changes
See commit bb242fc58c
2024-02-22 11:58:11 +01:00
Felipe Borges
9c94d55505 system: Rename subpage tags to their expected cmdline arguments 2024-02-22 09:57:01 +00:00
Felipe Borges
bb242fc58c system: Handle "gnome-control-center system subpage" cmdline arguments
This allows us to open subpages of the "System" panel. The arguments/
parameters are expected to match the panel's subpage tags (as in
AdwNavigationPage.tag).

With this, a future change could reintroduce desktop files for the
subpages, and just change the Exec line to accomodate the new format.
2024-02-22 09:57:01 +00:00
Automeris naranja
fed77a9511 datetime-page: Port some rows to CcListRow
Port the following rows to CcListRow:

- Date & Time
- Time Zone
2024-02-22 09:48:09 +00:00
Bharat
1856f1f7ca system, about: Add spacing between graphics rows
Graphics labels under system details did not have enough padding
between them similar to other labels in the panel

Add a default spacing of 10 to children rows of gtk_box that sets the
graphic rows dynamically to fix the issue

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2916
2024-02-21 14:37:07 +00:00
Felipe Borges
6a09703e6d system: Add "update-symbolic" icon to Software Update row
See https://gitlab.gnome.org/Teams/Design/settings-mockups/-/issues/67
2024-02-20 10:18:52 +01:00
Felipe Borges
ff3e2afb80 system: Move "Software Updates" row from About page to toplevel
See https://gitlab.gnome.org/Teams/Design/settings-mockups/-/issues/67
2024-02-20 10:18:52 +01:00
Automeris naranja
d997c6e0fa general: Remove "activatable" property from some CcListRows
The CcListRow template already sets the row
as activatable[1].

[1] https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/gnome-45/panels/common/cc-list-row.ui?ref_type=heads#L4
2024-02-20 07:32:37 +00:00
Automeris naranja
34fd45a16f about-page: Port "System Details" row to CcListRow 2024-02-20 06:34:09 +00:00
Philip Withnall
ff29f1c95e build: Fix use of deprecated libmalcontent symbols
These symbols were soft-renamed in libmalcontent 0.5.0 (released in
February 2020), and we already depend on 0.7.0.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-16 09:23:54 +00:00
Felipe Borges
c0c357c3bc system: Move "Remote Login" from Sharing panel to System
Fixes #2836
2024-02-12 09:57:11 +01:00
Sam Hewitt
a5f6efaddb Update and clean up symbolic icon assets
- refresh the symbolic icons to sync some style changes and update the source sheet
- rename assets for the privacy subpanel's symbolic icons
- delete deprecated/unused symbolic icons
- add new icon for system panel
- add new icon for remote desktop so it isn't using displays icons
2024-02-10 16:17:35 +00:00
Automeris naranja
2d078ba147 users: Add tooltips to the buttons from the avatar widget
Also:

- Remove the a11y labels, because Orca also
reads tooltips
- Change "Edit Avatar" to "Change Avatar", since
the latter is more accurate: no image editing
happens when clicking in this button.
GNOME Contacts also use "Change Avatar"[1]

[1] https://gitlab.gnome.org/GNOME/gnome-contacts/-/blob/gnome-45/data/ui/contacts-editable-avatar.ui?ref_type=heads#L17
2024-02-08 12:19:23 +00:00
Matthijs Velsink
3a253bc4b1 general: Use g_clear_handle_id to remove GSources
Using `g_clear_handle_id()` in combination with `g_source_remove()` can
save a lot of boiler plate code.

This removes about 110 lines of code for free.
2024-02-06 09:22:07 +00:00
Matthijs Velsink
b42b4ecf2f system/about: Create CcSystemDetailsWindow when idle
The CcSystemDetailsWindow is fairly slow to create, making the first
opening of it feel slightly unresponsive.

Resolve this by creating the window when idle.
2024-02-05 11:01:34 +00:00
Matthijs Velsink
0eb1eacb64 system/about: Do not leak CcSystemDetailsWindow
The window should be destroyed and unreferenced when the About page is
disposed to prevent leaking it.

We need to take the reference in order to not repeat #2823, since the
AdwWindow is initially floating.
2024-02-05 11:01:34 +00:00
Matthijs Velsink
343932964f system/about: Create CcSystemDetailsWindow upon opening
Initializing the About page involves creating a CcSystemDetailsWindow
too. This costs time, making the System panel open slower because it has
to wait for the About page to finish initializing.

By creating the CcSystemDetailsWindow only when it should be opened, we
save at least 0.1 s when opening the System panel.
2024-02-05 11:01:34 +00:00
Monster
1b339a8d72 system: Remove periods from subtitles and labels 2024-02-05 10:55:18 +00:00
velsinki
869dfb990e system/about: Fix crash after dark mode switch
Commit f3f81d37 added a signal connection between dark mode changes and
updating the OS logo in the About page. However, this signal was not
disconnected, causing a crash when changing the dark mode after leaving
the About page.

Fix this by using `g_signal_connect_object ()` instead.

Fixes #2854
2024-01-31 14:03:05 +01:00
Felipe Borges
484866e27e system, wwan: Depend on gcr4 2024-01-31 10:38:07 +01:00
Felipe Borges
196987d7ad system, remote-desktop: Use a single rdp_settings object
A GSettings object was being created in multiple places when that
could be simplified.
2024-01-31 09:37:20 +00:00
Felipe Borges
590513352a system, remote-desktop: Don't show the panel when backend is unavailable
Let's not show the page neither crash when there are issues with
finding the remote desktop gsettings in the system, or when the
RemoteDesktop name didn't appear on dbus.

Fixes #2874
2024-01-31 09:37:20 +00:00
Felipe Borges
61dd1b2adf system, remote-desktop: Remove sharing proxy connection
This is a leftover from the previous implementation in the Sharing
panel and has no use here.
2024-01-31 09:37:20 +00:00
Felipe Borges
305c89e71d system, about: Use CcHostname to obtain properties from system-hostnamed 2024-01-30 13:34:10 +00:00
Felipe Borges
270347e66c system, remote-desktop: Use CcHostname to get the host display name 2024-01-30 13:34:10 +00:00
Automeris naranja
a5aca4704a add-user-dialog: Add missing mnemonics 2024-01-23 11:09:19 +00:00
Automeris naranja
36edfe89a0 users-page: Add mnemonic to the "Add User" button 2024-01-23 11:09:19 +00:00