For a managed GtkShortcutController, changing its propagation phase
away from `GTK_PHASE_BUBBLE` currently results in a lingering reference
due to a bug in GTK (gtk#6246). This means the Escape key shortcut
remains active even after leaving the Display panel, resulting in a
crash when pressing Escape in any panel after leaving the Display panel.
This is now fixed in GTK (gtk!7115), but there seems to be no reason for
changing the propagation phase at all anyways. Since the callback
returns `GDK_EVENT_PROPAGATE` when it does not activate, the event
should still make it to other handlers.
So, to speed up the fix for gnome-control-center, we remove the
propagation phase changes althogether. There is also no need to let the
shortcut have global scope, managed is enough.
Closes#2768
When a permission for an app is reset, e.g. via:
flatpak permission-reset APP_ID
the Changed signal simply contains one fewer entry in its dictionary. If
we had a row for an app_id, and such app_id is not in the new
permissions we remove the row from the list box.
Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2993
By creating a .cc-placeholder-row style class that
sets a padding, it won't be necessary to set margins
to every GtkLabel that is being used as list box
placeholder widgets.
Use em dash in the "Error: some settings cannot be unlocked",
which is now "Error — some settings cannot be unlocked".
This improves consistency with the banner from Online Accounts
which says "Offline — unable to connect accounts" when the device
is offline; this banner text uses an em dash.
Since we started moving some settings from the Sharing panel to other
panels, we were left with only tree things in the Sharing panel for
gnome-46: hostname row, file sharing row, and media sharing row.
The hostname row is already in System ->About, so we should check
whether file-sharing or media-sharing are supported and show the panel
accordingly.
Fixes#2979
So that we have a function to check whether we should show the "Media
Sharing" row.
This is going to be useful when we will try to hide the entire panel if
both "Media Sharing" and "File Sharing" aren't available.
Since [1], the crosshair options are now inside an
AdwExpanderRow, meaning that they don't need to be
insensitive when the "Crosshair Lines" option is
disabled because they get hidden in such case.
However, the "Overlap Mouse Cursor" row wasn't updated
in [1] to reflect that, so address this issue.
[1] 054d9c8769
When the Crosshair Lines option is disabled, the crosshair options
appear insensitive and consume vertical space unnecessarily. Use
AdwExpanderRow to fix this.
- Rename the "Other Media" row to "Other Media Types" (including
the window title) and remove its subtitle
- Rename "Automatically Launch Apps" row to "Media Autostart"
and use "Start apps or prompt when media is connected" as its new
subtitle
Reference:
288a451db2
Using a GtkStack isn't necessary to display the "Not set up"
row. Instead, use a GtkListBox placeholder widget in the main
VPN list box.
This improves consistency with the placeholders from "Privacy >
Location/Camera/Microphone" when there are no apps; same thing
in "Search > Search Locations > Custom Locations" when no custom
locations were added.
https://docs.gtk.org/gtk4/class.ListBox.html#gtklistbox-as-gtkbuildable
- Add a tooltip
- Remove the a11y label because Orca also reads tooltips
- Remove the .image-button style class as it's automatically
added if a GtkButton has an icon
- Remove the use-underline property as it's pointless in
a button without a label
HIG says that "Text generally shouldn’t end with a period.
This applies [...] text that is written as a complete sentence",
but the page description text isn't written as a complete sentence,
so the guideline isn't applicable in this case.
https://developer.gnome.org/hig/guidelines/writing-style.html
Some of our list rows launch dialogs. Our callbacks were plain
adw_dialog_present (dialog, parent) calls.
Lets delete that code and call adw_dialog_present directly where it
makes sense.
When using the copy buttons from Desktop Sharing/Remote Login pages,
the toasts don't show that the values were copied to the clipboard,
unlike in System > Secure Shell/About > System Details, for example.
So, fix this inconsistency.
The .tls-cert-fingerprint style class is part of "Verify Encryption"
dialog from the Remote Desktop feature, which is now present in the
System panel. sharing.css isn't needed anymore.
"Add" and "Enroll" buttons can still be sensitive without
calling main_page_validate() and enroll_page_validate()
respectively. Add an assertion check in both cases to
prevent these buttons being sensitive incorrectly.
Co-authored-by: Matthijs Velsink <mvelsink@gnome.org>
Doing so, the firmware-security-dialog and
firmware-security-boot-dialog can show more text (which can
increase in some translations) without having a scrollbar.
This complements the following commit:
c252c3c861
- add new assets for clicking and scrolling view switcher
- adjust the scroll test arrow display
- remove old inappropriate asset
- use gresource for new assets
Rename the following strings (and use header capitalization):
- "When on battery power" to "On Battery Power"
- "When plugged in" to "When Plugged In" (in the Automatic Suspend
dialog too)
Reference 1bb482ed19
"Language" and "Format" rows show their value as a subtitle,
but this is inconsistent with Settings design pattern in which
the value label is shown at the right, so fix this inconsistency.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2914
NetworkManager 1.46.0 added support for "stable-ssid" for cloned mac,
which generates a stable MAC address based on SSID for each network.
This got accepted as the new default for Fedora 40, see
https://fedoraproject.org/wiki/Changes/StableSSIDMACAddress and
https://pagure.io/fesco/issue/3135.
However, there is no support for the connection editor for this value,
meaning if "stable-ssid" is set, changes to a WiFi network can't be
applied.
Fix this by adding support for "stable-ssid". Essentially based on
network-manager-applet!143
(network-manager-applet@202149c0843510a944afe2257cf56fbb7b4d2ef9).
Closes#2852
Considering the retirement of Mozilla Location Service, most
laptop/desktop users will rely on weaker network based location
sources.
Let's make the Location settings a build option, disabled by default.
-Dlocation-services=enabled
See #2959
The window layout will adapt according to the text length
(which can increase in some translations), so setting
a window size according to the device security state is
unnecessary.
This also fix an invalid cast to GtkWindow, because
firmware-security-dialog is now an AdwDialog.
Follow-up from b126b05247
- In the AdwPreferencesPage description, use an
en dash before "learn more" and add a period.
This will be consistent with the
Privacy > Diagnostics page description writing
style:
ad142445a2