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
This is part of an initiative to use "app" instead of "applications",
see: https://gitlab.gnome.org/Teams/Design/initiatives/-/issues/123
Redo of !1539 that was closed by a ghosting user.
Replaces "application" with "app" in user facing strings in these
panels:
- applications
- camera, location, microphone
- default-apps
- multitasking
- notifications
- removable-media
- search
- usage
- user-accounts
Fixes: #2208.
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 `X-GNOME-Bugzilla-*` entries were for use by bug-buddy, a GNOME 2
technology that's been gone for over a decade. These entries are
obsolete and can be removed from all desktop files.
The `X-GNOME-Settings-Panel` entry is also obsolete as far as I can
tell and only these panels had it in their desktop file: notifications,
sharing, sound and user-accounts. These entries can also be removed.
After removing the `X-GNOME-Bugzilla-*` entries, the desktop files have
no more variables in them. The meson `configure_file` step is therefor
pointless—there are no variables to configure. As such the
`*.desktop.in.in` files are renamed to `*.desktop.in` to reflect this
and `meson.build` files are modified to remove `configure_file` step.
The error should not be touched after passing it to
`g_task_return_error()` as noted by its documentation:
Note that since the task takes ownership of @error, and since the
task may be completed before returning from g_task_return_error(),
you cannot assume that @error is still valid after calling this.
However, previously, the code did try to free error since the
`local_error` was defined with `g_autoptr(GError)`.
This was designed some time ago [1] but never actually implemented, so:
- Change the screen lock section to "screen"
- Move the screen section up, so it's next to the other types of
hardware
- Added a Screen lock section in there
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/909#note_737827
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
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
Otherwise glib will make internal calls before setlocale is called:
** (process:1124144): WARNING **: 10:16:58.983: dcgettext("(null)", "", 5) called before setlocale()
#0 0x00007ffff7c80f77 in g_logv () at /lib64/libglib-2.0.so.0
#1 0x00007ffff7c81233 in g_log () at /lib64/libglib-2.0.so.0
#2 0x00007ffff7fbb6c6 in dcgettext (__domainname=<optimized out>, __msgid=0x7ffff7ce6c5a "", __category=<optimized out>) at ../../../../Projects/jhbuild/gettext-pseudolocale/gettext-pseudolocale.c:194
#3 0x00007ffff7c6478e in _g_dgettext_should_translate () at /lib64/libglib-2.0.so.0
#4 0x00007ffff7c6484b in g_dgettext () at /lib64/libglib-2.0.so.0
#5 0x00007ffff7e98974 in g_application_class_intern_init () at /lib64/libgio-2.0.so.0
#6 0x00007ffff7d9cfb8 in g_type_class_ref () at /lib64/libgobject-2.0.so.0
#7 0x00007ffff7d9cc95 in g_type_class_ref () at /lib64/libgobject-2.0.so.0
#8 0x00007ffff7d9cc95 in g_type_class_ref () at /lib64/libgobject-2.0.so.0
#9 0x00007ffff7d9cc95 in g_type_class_ref () at /lib64/libgobject-2.0.so.0
#10 0x00007ffff7d8671a in g_object_new_valist () at /lib64/libgobject-2.0.so.0
#11 0x00007ffff7d867fd in g_object_new () at /lib64/libgobject-2.0.so.0
#12 0x0000000000449bcc in cc_application_new () at ../../../../Projects/jhbuild/gnome-control-center/shell/cc-application.c:294
#13 0x0000000000448fa6 in main (argc=1, argv=0x7fffffffd138) at ../../../../Projects/jhbuild/gnome-control-center/shell/main.c:55
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.
Make CcPanel override GtkBuildable, and special-case two types
of children: "content" for the main content, and "titlebar" for
the titlebar. Those two child types exist merely for convenience,
since it's still possible to override the entire panel with
adw_bin_set_child().
For now, no panel is using any of these conveniences.
This is a massive rewrite of the panel. Because we can't have
nice things and WebKit2GTK for GTK4 won't be ready in time,
rework the panel to spawn a new subprocess with a dialog that
handles online accounts - both creation and editing.
Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
[...]