Also:
- Remove "select_from_database_button" and "install_ppd_button"
object IDs, as they are unused by the C code.
- Remove the default-height from the window to avoid showing an
unnecessary scrollbar now that the AdwButtonRows takes more vertical
space
The goal here is to avoid the dialog and follow a pattern of subpages we
have in other panels.
This dialog is often launched from Nautilus over the
`gnome-control-center search locations` launching argument, making it
even worse as a dialog.
[1] replaced the "Add Folder" a11y label by a tooltip.
However, this doesn't work and Orca doesn't read the row
properly; it simply says "not selected". The a11y label
already didn't work prior to [1].
To fix this, transform the tooltip into a GtkLabel. Also,
make the row to have the same padding so it's consistent
with the "Add Input Source..." row from Keyboard > Input
Methods.
[1] 00d9cd012f
Add a shortcut to open the Public folder in the File Sharing dialog,
as this folder is crucial for the file sharing functionality. Also,
this change improves the discoverability of that folder and offers a
convenience of opening it directly from the dialog.
AdwStatusPage can't be used with other widgets because it
contains a GtkScrolledWindow, so mimic AdwStatusPage to
show Wi-Fi Hotspot status.
Also:
- Add a mnemonic to the "Turn Off Hotspot..." button.
- Use the new strings from the latest mockups [1]
[1] cfb7cae4a9
Some time ago an attempt was made to store untracked output as artifact,
but since `$(pwd)` wasn't evaluating anyways, nothing was uploaded. See
https://gitlab.com/gitlab-org/gitlab-runner/-/issues/31035#note_1555090802.
Also, the test restarts the entire build, which is not needed
and takes a long time.
Instead, we can have the Meson build output stored as artifact, and have
the test just run without rebuild. This speeds up the CI.
The sanitizers should not pull the artifact though, so make those only
depend on the container.
The command `meson . _build` was depecrated in favor of `meson setup
_build`, so let's use that instead.
Also, stop using ninja commands directly, as meson has support for that
syntax now too, making for a more consistent interface.
Memory sanitizer needs `compiler-rt` to link properly.
There's a YAML anchor that specifies the basic keys already, so no need
to repeat them.
Also, remove a left over comment.
GTK 4.15 made the new Vulkan renderer the default. I tried getting the
tests to pass using that, but could not.
So for now, revert to the `new GL` renderer, which is still very new as
well.
Fedora obviously builds gnome-control-center as well, and therefore
allows one to get all the required deps with `dnf builddep`. We can use
that to clean up the dependency list massively.
If we do need specific packages, we can add them in the future, but that
was anyways needed for new dependencies.
The `artifacts` key for a job can only be specified once, so using a
YAML anchor for it does not directly work. Instead, we have to do it
inside `artifacts`.
Currently, containers get stored based on their Fedora version, but that
can make it hard to see which container is used in which branch.
Instead, we can use `FDO_REPO_SUFFIX` to sort the containers based on
their branch name.
This would also make it easier to see which containers can be removed,
as there are currently gigabytes of unused containers it seems.
To make it as neat as possible, the images now get stored as
`main/2024-05-19.0-fedora-rawhide` for example.
Recent improvements to GOA (among which a port to GTK4) required
building it from git. Now that Fedora 40 is out with that version in it,
we can use that instead.
When the switch to GTK4 happened, commit b3b86894 introduced manual
builds of some dependencies as GTK4 support was still very new. Now that
GTK4 has been out for quite some time, these dependencies are available
in Fedora with GTK4 support, so just use them instead.
Note that `gnome-desktop3-devel` is still needed for the g-s-d build.
This was needed as a workaround for Infrastructure/GitLab#545, but that
has long been solved.
The manual asan test can (potentially) be used again too now.
A `GType` is not an integer, but either `size_t` or `uintptr_t`. So
casting it to int might lose bits of info, resulting in an invalid
`GType`.
Fixes#3062
The `set_subpage()` function already has good error checking for valid
tags, so reuse that for the `navigation.push` action callback.
Note that this likely won't fix#3062, as there the tag must exist in
the hashtable, as `g_object_new()` won't crash if you pass `NULL` to it.
When closing the lid on a laptop, the number of active monitors drops to
zero. However, `monitor_labeler_show()` always assumes at least one
monitor is active, as it unconditionally closes the `GVariantBuilder`.
This causes a crash when there is no monitor added to the
`GVariantBuilder`, however, as no value was added to it.
Instead, only close the `GVariantBuilder` when we're actually going to
use it and know a value was added.
Commit ca9228bb fixed a similar crash for when there are no outputs at
all. But in this case, there is still an output, it is just not active,
only with the active UI number as 0.
Fixes#3058
When resizing the parent window to its minimum size, the QR
code from the Share Network dialog becomes so small that it
can't be read. This regression appeared with the port to
AdwDialog.
To fix this, add min-width/height properties to the QR code
image and use a GtkScrolledWindow to make the dialog contents
scrollable.