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.
Avoid activating a panel when doing an empty search
i.e. clicking ENTER without having entered
any text in the search entry.
We should do nothing in this case, we fixed it by
detecting for this case when an activation happens
when there's still no search results view in place.
Closes#2119
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.
We need to cancel internal operations before starting to create a new
panel, otherwise panels might be creating the same object for the cache
in parallel and this is not supported by the object cache.
The alternative to this would be to handle this inside the object
store to allow parallel creation of the same key.
Fixes: #1685
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
Moving the headerbar to the panels accentuated a pre-existing
problem: transitioning between panels is flickery because we
immediately remove the old panel, while the new panel fades
in.
Improve this transition by delaying the removal of the old
panel to after the stack transition finishes.
The CcWindow tries to unset the focus when first mapping the window.
However this pretty wide check intercepts mapping events from other
windows than the toplevel (e.g. subsurfaces, for popovers). This
causes the focus to move away from the popover, overriding its
modality.
Check that the event received is addressed to the CcWindow's
GDK window before unsetting the focus, so we don't mess with popover
focus.
Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1327
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
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 allows the window to be folded to show either the sidebar or the
panel when not enough space is available.
This reverts commit 2854669f5c8280a32d0b5fa6c5399cc391ef06f3.
Currently you can get stuck in the applications panel if you do this:
1) Click "Applications" in the sidebar. The top left icon is a back
icon.
2) Click the back icon to return to the panel list. The top left icon
changes to a search icon.
3) Click "Applications" again. The top left icon remains a search icon
and you're stuck in the panel.
The basic problem is that the headebar icon is update when the panel
changes, but not when the sidebar view changes. To fix this, we connect
to the signal that is emitted when the sidebar view changes, and update
the headerbar.