Fortunately for us GtkTreeView still operates pretty
much exactly like in GTK3. Other than that, it's a
dense junction of all that we've done so far to port
other panels.
This one is an interesting case. It was easier to simply switch
to AdwPreferencesPage than actually port all the GtkFrames in
there.
In addition to that, the mouse test page now uses a GtkPicture
instead of a GtkImage, and the GtkDrawingArea API changes are
reflected in the code.
This was quite a huge port, but fortunately it mostly involved
removing tons of deprecated widgets (without replacement; just
drop them) and adjusting packing properties.
This one was relatively easy, since most of the brokenness came
from using deprecated properties that can just be dropped, and
packaging that can also just be dropped.
- Remove visible=True properties from the UI file
- Use GtkPicture for the OS logo
- Drop gtk_dialog_run()
- Port gnome-control-center-print-renderer to GTK4
by using GdkSurface to create the GL context
We'll start the transition by disabling all panels and tests, so that
we can go through them one by one, which should make the review process
significantly less painful.
The panel supports 2G/3G/4G GSM/LTE modems. CDMA2000 Modems are not supported.
If a supported modem is present, the panel will be shown and the modem will be
handled, else, network-panel shall manage the modem as it did in the past.
If more than one modem with data enabled is present, the user is allowed to set
priority of one SIM over the other (the priority is for SIM, not modem).
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/132
It was added in 3e04b1c53b to allow downstreams to hide panels that don't make
sense in their environment. Later on the ability for panels to hide themselves
was added in a78cbe3963, which is a better solution for this case.
The current situation is confusing if you are not a known environment, as then no
panels show.
Fixes#163
Use the new designs:
https://wiki.gnome.org/Design/SystemSettings/Sound
The existing panel was very old and had a very traditional layout that didn't
align with the new designs. Initialy this patch modified existing elements of
the old panel but the change was so great that new widgets were written. Some
of the widgets have algorithms taken from the old panel.
The sound files and icons are from the old panel.
This is an initial implementation of most of the
intended functionality for this panel. Flatpak
integration itself is implemented by spawning
"flatpak info -m $appid", which gives us the
metadata in key file format, and allows flatpak
to be a runtime dependency.
Even after removing the .desktop suffix, there can
still be a difference between the app ID generated
in this way and the flatpak ID, since flatpaks are
allowed to export files whose prefix is the flatpak
ID. Fix this by pulling the X-Flatpak key out of
the desktop file. This would cause trouble for
org.libreoffice.LibreOffice-math.
Add documentation comments to the public functions, which
has the additional benefit of adding visual marks for
public functions and making it easier to navigate through
this file.
In order to introduce test panels, which are a nice to have
feature before actually moving to working on the custom
widget on sidebar feature, add a way to override the panels
vtable and load whatever panels we might want.
We will allow test panels to be added, so the vtable must
be overridable. The first step into making it overridable
is exposing the actual vtable struct.
Use GsdDeviceManager to monitor libwacom-supported tablets coming and
going. Hide the Wacom panel from the list when there's no supported
tablets plugged in.
Static init functions are functions that initialize resources
or monitor daemons without needing any contextual information,
such as a CcPanel instance or access to a CcShell implementation.
These functions are meant to be used for monitoring a panel's
visibility, when it makes sense. Usually, panels that represent
hardware that potentially is not available or is not supported
should hide itself.
Following this commit, the Wi-Fi panel panel will be adapted as
the first user of this new API. Other panels that require this
functionality will be adapted later.
Thunderbolt devices need to be approved before they can be used.
This is done via the boltd system daemon and gnome-shell. The new
panel enables the user to manage thunderbolt devices, i.e.:
- forget devices that have previously been authorized
- authorize currently unauthorize devices
Additionally authorization of devices an be temporarily disabled
to ensure no evil device will gain access to the computers
resources.
File starting with "bolt-" are copied from bolt's source tree
and currently correspond to the bolt upstream commit with the id
f22b1cd6104bdc2b33a95d9896b50f29a141b8d8
They can be updated from bolt via the update-from-bolt.sh script.