on some systems, private types of settings app are not resolved.
Error building template class 'CcApplicationsPanel' for
an instance of type 'CcApplicationsPanel':
Invalid object type 'CcToggleRow'
to fix this issue, ensure private types used by the template
gnome-shell saves the user choice for applications allowed to disable
regular shortcuts in the permission store, using "GRANTED" or "DENIED"
(in gnome-shell/js/ui/inhibitShortcutsDialog.js).
Add a new entry to change that permission in the application panel,
similar to what gnome-shell does.
malcontent[1] is parental(or admin) controlled interface which
can restrict a application's visibility and interactivity for a
standard user. Hence, if the current uid has any restrictions
on its installed applications, filter them out from the applications
panel.
Make the malcontent support enable or disable by setting it up as
a build-time meson option.
[1]: https://gitlab.freedesktop.org/pwithnall/malcontent/
application-x-executable didn't look very good here.
adwaita-icon-theme now has a dedicated icon for this panel, which is
better suited - preferences-desktop-apps. Use this instead.
Make the panel class provide a cancellable that will be cancelled when the panel
is destroyed. Panel implementations can use this and not have to mangage the
cancellable themselves. Consolidate cases where panels had multiple cancellables
that were all being used for this behaviour.
This is backed by the 'background' permission that
the flatpak portal uses. It would be slightly nicer
if we had a separate 'unset' state. For now, we just
show 'unset' as 'on'.
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
The privacy panel was removed in a4bdc37, so this link is broken.
We link to the first panel in the privacy section, which is what
is show when selecting this section.
Access strings via pointers, which reduces copying and the chances of leaks.
Simplify cases where string arrays were modified - no need to replace the value as it's no longer allocated.
Always complete the loop so references are freed.
Undefine the value before overriding it to avoid the following warnings:
../panels/background/cc-background-chooser.c:22: warning: "G_LOG_DOMAIN" redefined
- the new application icon style strongly advises to use
sizes above 32px. Lower the whitespace to fit more items
- make fullcolor icons not semi-opaque
This allows to activate the already selected panel with a single click
rather than a double click, which will be needed to simply focus the
panel when the window will use a leaflet.
gnome-control-center's shell uses the -symbolic version
automatically. Use the icon name without the -symbolic
suffix to match what we do with other panels.
This reverts commit d2c759fcae.
The commit caused the Applications panel to crash with
Unhandled tag: <attributes>
Apparently CInfoRow doesn't know how to handle attributes.
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.