If the previously shown panel had a custom sidebar, we were not
switching back to the main list if the currently shown panel
doesn't have one.
This will result in the sidebar having empty content.
Fix it by always switching to main sidebar view if no custom
sidebar widget is set.
Closes#2261Closes#2292
If the previously shown panel had a custom sidebar, we were not switching
back to the main list if the currently shown panel doesn't have one.
This will result in the sidebar having empty content.
Fix it by always switching to main sidebar view if no custom sidebar widget
is set.
Fixes#2261
GtkStyleContext will be deprecated in gtk 4.10.
https://docs.gtk.org/gtk4/class.StyleContext.html
This preserves code blocks where additional GtkStyleContext operations
were used, such as gtk_style_context_save/restore.
The Firmware Security panel exposes the host security levels
and details. The information is generated by fwupd. The panel
also exposes hardware configuration changes to pinpoint the
configuration changing time.
Currently this panel shows:
- HSI and secure boot status
- Details of HSI and secure boot
- Configuration changelog
- Digested security level
- Extended protection
Rename the app-id to org.gnome.Settings since this is what
we've been calling it for many years now. Adjust all files
that derive from the app-id, such as the desktop file, D-Bus
service file names, search providers, GSettings schemas, to
match that.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/344
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
This is not currently a problem because the feature is only used in the
Applications panel, but this fixes the behavior if a custom sidebar is used
in more than one panel.
01874f7 added this `gtk_widget_show (label)` call, which seems to be
erroneous. The previous `g_object_new()` call had `"visible", FALSE,`.
It should only be shown when searching panels. This fixes that,
restoring the older behavior.
As per the latest mockups, the Details section is a toplevel
section, and not an actual subsection.
Remove all the code that implemented Details as a subsection,
and simply treat these panels as toplevel ones.
The panel swarms details/devices/privacy show this icon. Since the applications
panel is not made from sub-panels, this doesn't show. For consistency this shows
the icon so the transition isn't as jarring for the user.
Add a flat into the panel .desktop file to enable this - other panels might
require this in the future
Right now, the sort function checks for two different
fields when comparing panel rows: the category of the
row, and the id of the panel. When comparing using the
category, it relies on the order of the enum values of
CcPanelCategory. When comparing by panel ids, it uses
the hardcoded positions defined in the 'panel_order'
array.
Using categories, however, is unecessary for our case,
and makes sorting a tad more complicated than it should
be.
Remove the category comparison of the sort function, and
rely only on the positions defined in 'panel_order'.
When the panel list is folded, either the panel items list or the
panel itself is shown, not both. And when the list is shown it
doesn’t mean anything for an item to be marked as selected.
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.
Instead of directly selecting the view that the panel
list will have, let it decide which is the previous
view instead.
This does not change anything functionality wise, but
in the future where we have sidebar widget (and thus
the main window does not control which view the sidebar
is display) this will be important.
When moving from and to different views, the first row
might be activated due to focus going to the listbox. This
wasn't a problem before because we couldn't hit that code
path, but now we can.
Fix that by always selecting the first visible row.
There are a couple of small problems with the search
behavior here. First, if we select a panel from search
and leave it, it will continue to stay there forever.
Second, if panels change their visibility status during
runtime, the panel list wouldn't respond accordingly.
This field can be used to communicate the visibility of the
panel from a static context (i.e. without any instances of
a CcPanel nor any access to CcShell).
The 'Devices' page is a fitting place for the thunderbolt, being
an IO technology. It is expected that people that need to go to
that page will be sent there via a gnome-shell notification, so
there is no need for it to be on the main page.
Ok'ed by the design team (jimmac).
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.
So that whenever the user opens the "Devices" section,
the Display panel is the first panel to dislpay. This
is because the user most likely always have a display,
while they might not always have a printer available.
https://bugzilla.gnome.org/show_bug.cgi?id=786606
Set icon class to sidebar-icon, and label class to
sidebar-label. This makes it more consistent with
places sidebar in Nautilus and GtkFileChooser.
https://bugzilla.gnome.org/show_bug.cgi?id=786612