When the row is a subpage it has a parent_id, which should be activated
instead of panel_id. So we construct a parameters GVariant so that
panels can handle it.
This also drops the Categories as a criteria for creating the sidebar
list separators. Now the "panel_order" array will include entries named
"separator" to indicate where a separator should go.
See https://hedgedoc.gnome.org/FLcx6argT6uycE3An7uaxw
Currently setting's panel list is over-populated. We can fix this by
moving some of the settings inside other panels as sub-panels.
Created a new row in applications panel for removable media and
default apps. On selecting the row we show the respective settings
which is same as before.
Removed default app and removable media from sidebar
Closes: #1092#1096
Related to: #1090
the calculation to center the panel row
was failing when the panel list was not
scrolled to the top.
Fix it by taking the distance from the
row to the CcPanelList, instead of the
GtkScrolledWindow that contains it.
Part of issue #2506
commit 02302c9b08 implemented vertical centering of
the panel being activated, but we should restrict
that to only happen when the activation is from the
Search view or from the set_active_panel_from_id()
CcShell iface, which covers the case of panel activated
from commandline parameter or from other panels, but
does not include activating panels manually by mouse
or keyboard which is the problematic case explained
in issue #2506Closes#2506
We currently load the last-panel every time gnome-control-center
is launched, we do it from the CcWindow contructor method.
But we shouldn't do it when we are explicitly opening a different
panel by eg. using commandline parameter (gnome-control-center keyboard)
or from a DBus method, because otherwise we slow things down by
unnecesarily start launching last-panel just to be cancelled
moments later when the code starts processing the other panel.
We fix it by moving the code that loads last-panel to an idle
handler, so by the time it gets executed the other panel has
already started loading, and we can check for that with the
cc_panel_list_get_current_panel() function we add in this patch.
With this patch, I can feel that panels opened from a
gnome-shell search are presented faster.
Fixes issue #2569
Improve keyboard navigation with Up/Down arrow keys between
Search entry and the search results list.
Pressing Arrow Down in search entry will now move focus
to search list, and when pressing Arrow Up on the first
list result will move back focus to Search entry.
When pressing ENTER (i.e. activating) a search with no
results ("No results found") the first Wifi panel was
being activating, that's wrong because cc_panel_list_activate()
should activate the first visible panel, but there are
no visible panels at the moment (No results found page is shown)
The problem was the visibility check in cc_panel_list_activate()
was incomplete and so it wrongly thought panels were app visible.
Part of #2119 (comments 4th and 5th)
When activating a panel from Search or from commandline
let's scroll the sidebar so the row for that panel is
revealed and vertically centered on the list.
Closes#2098
Don't activate first row panel (i.e. 'Wifi') when:
- Canceling search view (pressing ESC or deleting all query text).
- Activating a search result from search view.
Closes#2472
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