Make this dialog design closer to what mockups
show[1] by:
- Removing window default-width/height,
so the window size follows the content size
- Using a compact AdwStatusPage
- Using larger fingerprint label horizontal margins
and reducing vertical ones
Also:
- Port the window to AdwToolbarView, which
makes the close button position to be consistent
with other windows
- Allow closing the window with ESC
- Add window size request properties to improve
adaptiveness
[1] cbb4810936
Unlike tip erasers, styli with eraser buttons (which is the vast
majority anyway) have the same tool ID as the pen so the first
matching stylus we find is the right one.
This avoid a warning when a AES stylus is connected - we're constructing
the stylus based on our cache information which is just ID and serial
but no device - meaning the device lookup cannot work.
Fixes: 42b39cb956 ("wacom: Prefer the stylus over the eraser")
These are styli like the Dell Active Pen and most of the styli supplied
with laptops with built-in tablets. We don't always know how many
buttons these have so the SVG has just one large button. They're
typicall slimmer and less rounded than the Wacom pens so let's reflect
this here too.
This requires libwacom 1.4 released June 2020
"Computer" isn't a suitable term for other device
form factors. Also, there are several strings in
Settings that already use "device", and cc-color-panel.ui
uses a mix of "computer" and "device" strings, which is
weird.
Tweak the writing style of the problem reporting text
with the following changes:
- Use an en dash to separate the "learn more" link
- Use a period at the end of the phrase
When the privacy policy link from the distro isn't
available when calling G_OS_INFO_KEY_PRIVACY_POLICY_URL,
"gnome.org/privacy-policy" is used instead. However,
GNOME doesn't have any infrastructure for automatic
problem reporting; also, that link doesn't even mention
about problem reporting, so it's completely unrelated.
Fix by removing not setting any link if
G_OS_INFO_KEY_PRIVACY_POLICY_URL doesn't return any URL.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2926
When the Users panel got moved to System, the original .desktop file was
also moved. However, that is now obsolute with
`panels/system/users/gnome-users-panel.desktop.in`. This old file is
also not referenced in any `meson.build` and contains an outdated `Exec`
line.
So, remove it.
A previous commit[1] attempted to prevent "How to Connect"
section string from being translated twice[2].
Desktop Sharing and Remote Login pages have this same
string, but the latter was missing a period at the
end of the phrase, which caused the duplicated issue.
The commit[1] didn't fix the issue entirely, because
the string from the Desktop Sharing page was using
a different apostrophe symbol than the Remote Login page
counterpart (which is the recommended apostrophe symbol
acc. to HIG[3]).
Fix the issue by using the same apostrophe symbol mentioned
above in the string from the Remote Login page. This will
cause the translation from the Desktop Sharing string to be
reused, thus a string freeze break won't happen.
See also: https://gitlab.gnome.org/Teams/Translation/Coordination/-/issues/133
[1] b4131d3b0a
[2] https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2936
[3] https://developer.gnome.org/hig/guidelines/typography.html
Right now we set a subtitle of "" when the port is invalid. This
leads to the "Port" title getting center aligned vertically.
We also keep the port sensitive even when it's empty and there is
little value in copying it.
This commit changes the subtitle to " " so it serves as a
placeholder to keep the "Port" title top aligned. This commit
also makes the port insensitive in that case so the user never
copies the placeholder space.
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2934
Right now we set a subtitle of "" when the port is invalid. This
leads to the "Port" title getting center aligned vertically.
We also keep the port sensitive even when it's empty and there is
little value in copying it.
This commit changes the subtitle to " " so it serves as a
placeholder to keep the "Port" title top aligned. This commit
also makes the port insensitive in that case so the user never
copies the placeholder space.
Previously, events from accountsservice would be used to change the
state of the AdwNavigation in ways that don't correspond to the event
that happened. For example, deleting an account would pop the top page
off the stack, even if that page didn't belong to that account.
Especially buggy is the behavior of replacing the currently visible page
with the contents of an account that just changed. systemd-homed changes
the user record whenever authentication happens successfully. So, user
Foo might be trying to edit user Bar, type in their password at the
polkit prompt, and end up looking at a broken version of their own
settings page again: the title would be "Bar", there'd be no list of
users, and hitting the back button would take Foo back to the same
settings page they're currently looking at.
This commits refactors the handling of the accountsservice signals to
fix all the bugs
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2911
650p is way too much and makes the bottom bar to
appear when there is still space available in
the headerbar. Use 450p so the bottom bar will only
appear when the headerbar doesn't have enough
space available.
Follow-up from a4224d9e21
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.
- 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
- 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
- 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
Show the full VRR (Variable Refresh Rate) range of a monitor in the
refresh rate expander row when a variable refresh rate mode is
selected and the minimum refresh rate of the monitor is known.
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.
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
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.
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
The Proxy row shows its value as subtitle, which is
inconsistent with other rows where the subtitle describes
the row title/what the row is.
Show the proxy value as a CcListRow secondary-label to fix
such issue.
Reference:
cfb7cae4a9
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
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.