Commit graph

8281 commits

Author SHA1 Message Date
Chris Williams
bdd1a1037a system/about: Make print-renderer helper log to stderr
This avoids debug logging appearing in the UI via stdout when
G_MESSAGES_DEBUG is used.

Fixes #2387
2024-03-21 11:00:45 +00:00
Munazza Shabir
adb485e18c apps, default-apps: Indicate when no apps are available for a mime type
As discussed in #2870 the current way of displaying insensitve rows when
no apps are availbe to handle a mime type is confusing.

Fix this by showing a "No Apps Available" label in the aforementioned case.

Fixes #2870
2024-03-21 09:50:45 +00:00
Automeris naranja
d5c66d25a0 about-page: Use property rows
Doing so, the system/hardware information rows
can be properly displayed in small screen sizes.
2024-03-21 09:32:48 +00:00
Felipe Borges
52f165f36b system: Load subpages on demand
Let's manually wire the row activation to the panel creation so that
we can create panels on demand.

This also makes calls to subpages directly avoid initializing the
other panels.

Fixes #2857
2024-03-20 15:48:57 +00:00
Automeris naranja
beaa14ecdf wifi-connection-list: Add a placeholder widget to the list box
Doing so, the Wi-Fi list box won't appear broken when
it's empty.

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2574
2024-03-20 09:14:35 +00:00
Automeris naranja
5844b039e3 universal-access: Open subpage when CcPanel.subpage is set
This allows launching the Accessibility panel subpages
from the command line.

See https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2940
2024-03-18 12:14:41 +00:00
Felipe Borges
808ac116e2 system, remote-desktop: Don't start Desktop Sharing page hidden
At init it will verify whether the panel can be constructed in the
check_desktop_sharing_available call, and with that hide/show the
panel accordingly.

Fixes #2955
2024-03-18 11:49:17 +00:00
Automeris naranja
14f0a13162 add-user-dialog: Port to AdwToolbarView
Also, allow closing the dialog with ESC.
2024-03-14 10:57:18 +00:00
Jonas Dreßler
4afd08e234 sound: Don't call gvc_mixer_control_open() twice
Unfortunately I sneaked in a move of the gvc_mixer_control_open() call from
earlier in the function to the end of the function with commit 2152899354.

That change didn't actually move the call though, but introduced a second
call instead, leading to a critical error on opening of the sound panel.

Fix it by removing the first call to gvc_mixer_control_open() and keeping
the second one around. We want to keep the second one instead of the earlier
one because the signal handlers should be connected before we initialize gvc
and it connects to pulse, emitting all the input/output-added signals etc.

The reason why this wasn't broken before was likely because the connection
to pulse happens async, and therefore the initial emission of the signals
would effectively still have happened after we connected our handlers.

Fwiw, calling gvc_mixer_control_open() after
cc_volume_slider_set_mixer_control(), cc_subwoofer_slider_set_mixer_control()
and cc_device_combo_box_set_mixer_control() is not a problem, as those
functions all call into gvc to get static values (and as explained above,
at this point gvc wouldn't have established connection to pulse anyway).

Reported-by: Matthijs Velsink <mvelsink@gnome.org>

Fixes: 2152899354 ("sound: Listen to signals from GvcMixerControl only in sound panel")
2024-03-12 22:39:14 +00:00
Automeris naranja
1b357b2fb4 power-profile-info-row: Set natural-wrap-mode to none
This fixes title_label appearing awkwardly truncated when
the the text is long (a lot of whitespace is shown at the
right of the row).

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2240
2024-03-12 22:17:17 +00:00
Automeris naranja
bf6c647be5 apps: UI tweaks to the "Files & Links" row
- Set a new name and subtitle
- Show the types number at the right

Reference:
cb7f6da52d

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2906
2024-03-12 22:08:47 +01:00
Automeris naranja
963c598cce privacy: Update subpage tags in the main page
Each page had its AdwNavigationPage tag updated in [1],
but the tags in the Privacy panel main page weren't
updated, which made all the subpages fail to open.

[1] 917248d7bf
2024-03-12 17:41:23 -03:00
Automeris naranja
8a65911b3a apps: Add tooltips to remove buttons from handler_dialog
In the File & Link Associations dialog (handler_dialog),
the remove button from list rows doesn't have a tooltip;
also, Orca doesn't read this button properly, since there
is no a11y label.

Fix that by adding a tooltip, which also acts as an a11y
label.
2024-03-12 12:59:05 +00:00
Automeris naranja
2094d7bb73 apps: Fix inconsistent "Storage" row subtitle
Unlike other rows from the app page, the
"Storage" row subtitle states a value
instead of showing the row description.
Also, the description ends with a period,
which isn't necessary acc. to HIG.

Show the disk space  as a secondary label,
so the "Storage" row can have a consistent
subtitle like other rows.

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2777
2024-03-12 12:56:38 +00:00
Automeris naranja
542cd4e0a6 keyboard-shortcut-row: Tweak the reset button
- Reword tooltip to follow HIG guidelines[1]
- Remove the a11y because Orca also reads
tooltips
- Remove the "reset-shortcut-button" style class
because it's unused

[1] https://developer.gnome.org/hig/patterns/feedback/tooltips.html
2024-03-12 12:51:45 +00:00
Automeris naranja
59ff136095 keyboard-shortcut-row: Add an edit icon
Shortcut rows don't indicate that a window will
be opened. Add an edit icon to fix that.

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2814
2024-03-12 12:51:45 +00:00
Automeris naranja
84ac927787 remote-login-page: Add missing mnemonic
Add mnemonic to the "SSH Login Command" row.
Also, use the letter "S" for the mnemonic of
the "Secure Shell" row.
2024-03-12 12:49:24 +00:00
Automeris naranja
cba40d5194 system: Fix broken mnemonics
Secure Shell and Software Updates rows are
using the letters R and U, respectively, for
their mnemonics. However, these letters are
already taken by other rows (Region & Language
and Users).

Fix that by choosing different letters.
2024-03-12 12:44:30 +00:00
Automeris naranja
e31dd03fdc network-vpn: Add tooltip to the VPN options button
Also, remove the a11y label because Orca also reads tooltips.
2024-03-12 12:40:45 +00:00
Felipe Borges
a76ff8923f system: Use CcPanel.subpage for launching subpages
Rather than overriding the parameters property.
2024-03-12 10:03:08 +01:00
Felipe Borges
8ffe4b8cf4 privacy: Open subpage when CcPanel.subpage is set
Fixes #2940
2024-03-12 10:03:08 +01:00
Felipe Borges
917248d7bf privacy: Update subpages tags to match expected cmdline args 2024-03-12 10:03:08 +01:00
Jonas Dreßler
3aeb837cb0 sound: Set input/output meter stream to NULL when there's no active device
When there's no active input or output device, the input/output meter shouldn't
have a stream set, so call set_input_stream() with a NULL stream
(cc_volume_slider_set_stream() and cc_level_bar_set_stream() are already handling
NULL as expected) in case there's no active input or output device.

This fixes a bug where the input/output meter doesn't get updated when the active
input or output device gets unset.
2024-03-12 08:33:58 +00:00
Jonas Dreßler
afec106a8b sound: Unset active entry on the device comboBox when there's no active device
When gvc gives us an active-input/output-device ID we don't know or sets the ID
to 0, that means there's no device currently active. While this seems unlikely
to be the case without the device getting removed at the same time, it can happen:
When the bluetooth profile gets changed from handset (input+output) to
headphone (output only), the input device remains available, but there's no
more active-input-device anymore.

In this case, we shouldn't leave the active entry on the device combo box as-is,
instead we should set it to NULL to indicate that no input device is set.

This fixes a bug where the input switcher is not updated when there's no
internal microphone but there's a bluetooth headset connected, and the
bluetooth profile gets switched from Handset to Headphone.
2024-03-12 08:33:58 +00:00
Jonas Dreßler
bf6f72278e sound: Update active-device UI on signals from gvc, not on combo box changes
Gvc is the actual "source of truth" when it comes to the currently active input
or output device, so we should update widget visibility and the input/output
meter stream based on the information from gvc, not on changes to the combo box.

The flow when the selects a different device in the combo box now is:
"user change" -> gvc_mixer_control_change_output() -> receive
"active-output-changed" signal from gvc -> update active device and get it
using the DeviceComboBox -> set widget visibility and update stream based
on this device.

This fixes a few bugs where the stream for the input/output meter wouldn't
get updated properly on active device changes.
2024-03-12 08:33:58 +00:00
Jonas Dreßler
a74bc5a84d sound: Block our own signal handlers while updating the active-device combo box
When we get notified of an "active-input/output-device" change by gvc, we have
to update our respective combo box to reflect that change. Obviously, this in
turn shouldn't trigger our own signal handler for changes on that combo box,
that signal handler is only meant to handle the user interacting with the combo
box.

So block our signal handlers when we update the combo box to respond to changes
from the gvc side.

This fixes a recursive call to gvc_mixer_control_change_input/output() when we
get notified about an input/output change from gvc itself.
2024-03-12 08:33:58 +00:00
Jonas Dreßler
2152899354 sound: Listen to signals from GvcMixerControl only in sound panel
We should only listen to "active-input-update" and "active-output-update" in
one place, and then update the combo box from there. This way we can block our
own signal handler for input/output device changes on the combo box, which
we'll do in the next commit.
2024-03-12 08:33:58 +00:00
Automeris naranja
4de79c9694 remote-desktop-page: Minor UI changes to the "Encryption Fingerprint" dialog
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
2024-03-12 00:46:21 +01:00
Jakub Steiner
6718390123 wacom: adjust graphic
- all the pen assets have no padding inside the SVG itself
- round the shape a little
2024-03-11 16:53:12 +00:00
Peter Hutterer
8b45201b9c wacom: Accept eraser types of button when matching stylus IDs
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")
2024-03-11 16:53:12 +00:00
Peter Hutterer
f1cfc55a63 wacom: Add AES styli as separate stylus SVG
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
2024-03-11 16:53:12 +00:00
Automeris naranja
6d8edb80dc apps: Use AdwStatusPage when showing "No Apps Found"
The scrolling bug described in [1] and [2] doesn't
happen anymore. Apparently this was fixed in [3],
which stopped wrapping the status page inside
a GtkListBox.

Use AdwStatusPage again, since it makes the code
simpler.

[1] 1ae2c5295c
[2] https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/989#note_1837249
[3] e2b4896287
2024-03-11 16:12:16 +00:00
Automeris naranja
cb8819657b general: Rename "computer" strings to "device"
"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.
2024-03-11 15:19:55 +00:00
Automeris naranja
ad142445a2 diagnostics-page: Minor writing style tweak
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
2024-03-11 15:10:10 +00:00
Automeris naranja
f03d5cc0ab diagnostics-page: Don't show GNOME privacy policy link
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
2024-03-11 15:10:10 +00:00
Automeris naranja
fc34e26b5e background: Add a transition to the selected background check
So the check appears in a nice way when switching
backgrounds.
2024-03-11 15:09:15 +00:00
Automeris naranja
36917a0896 common: Replace info-symbolic icon with info-outline-symbolic
Latest mockups are now using info-outline-symbolic,
example:
1c55bbb53a
2024-03-11 15:06:26 +00:00
Philip Withnall
2d6469ce6b color: Correctly capitalise button labels
As per the HIG, button labels should be in title case.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-03-11 15:02:34 +00:00
Daniel Tang
6a083318af color: Fix GTK4 invisible start calibration button
"action_area" was unused. internal-child is invalid in GTK4,
so the row with the start button doesn't load. This makes the
calibration feature impossible to use. Removing the unused
unrecognized attribute allows the start button to load again.

Fixes: https://askubuntu.com/q/1504329/1004020
Fixes: https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/2043119
2024-03-11 13:43:47 +00:00
Allan Day
5e1db66a73 online-accounts-panel: Organize the accounts list
Group the unbranded accounts and the Microsoft accounts, so that the
list is more logically ordered and looks better.

Fixes #2949
2024-03-11 13:41:55 +00:00
Matthijs Velsink
d26fb10c28 system, users: Remove leftover .desktop file
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.
2024-03-11 13:01:56 +00:00
Matthijs Velsink
672e911e09 users-page: Remove unused parameter
This parameter was accidentally left during changes to the original
commit in !2306, and was kept going into !2328.

Closes #2947
2024-03-06 18:31:25 +01:00
Peter Hutterer
d8cb742c6d wacom: Remove an outdated ifdef
libwacom 0.27 was released in 2017, I think we can rely on having that
version now.
2024-03-06 09:11:10 +00:00
Automeris naranja
329e8c8fae remote-session-page: Fix to avoid a string freeze break
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
2024-03-04 12:22:39 -03:00
Automeris naranja
b4131d3b0a remote-session-page: Add missing period to a phrase
The description text from the "How to Connect" session
doesn't end with a period, unlike the same description
that is located in the Desktop Sharing page[1]. This
unnecessarily duplicate the strings in Damned Lies
and creates an inconsistency.

Add a period to that description text to fix the issue.

[1] https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/46.rc/panels/system/remote-desktop/cc-remote-session-page.ui?ref_type=tags#L42

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2936
2024-03-04 05:05:34 +00:00
Ray Strode
857265c250 system, remote-desktop: Set port row insensitive when appropriate
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
2024-03-03 09:26:52 -05:00
Ray Strode
aa99ca5b5b system, remote-desktop: Set port row insensitive when appropriate
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.
2024-03-03 09:26:40 -05:00
Adrian Vovk
87a62a7c4a users: Fixup buggy AdwNavigation behavior
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
2024-03-03 09:19:13 +00:00
Automeris naranja
bb604ad9dd remote-desktop-page: Decrease AdwBreakpoint max-width
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
2024-03-02 23:07:35 -03:00
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