The ability to choose solid colored backgrounds has been removed at
least 4 years ago, so let's remove the code for it too.
Furthermore, we slightly refactor some code to make it easier to
understand and fit better to the usual style.
Because the CcBackgroundPaintable is now reusable, it can be used inside
the preview. This allows removing lots of code, since the drawing is now
done by the paintable. Because the scale factor was previously not
handled properly, this change makes the preview much sharper on scale
factors > 1.
Fixes#704
To make the CcBackgroundPaintable fully reusable, it has to know the
desired thumbnail size and the thumbnail factory. We add a width and
height property, and modify the thumbnail retrieval of CcBackgroundItem
to use the scale factor now.
This also allows us to greatly simplify the background sources, so that
they now only do one thing: provide CcBackgroundItems from different
sources.
We keep the fixed thumbnail height and width for the chooser, which
makes more sense now that it is in the chooser code instead of the
background source code.
In order to make the CcBackgroundPaintable more reusable, the way it
draws itself either light, dark, or both needs to be adjustable. We
therefore introduce CcBackgroundPaintFlags that indicate the desired
drawing behavior.
The size of the background item is currently never used, but setting it
using `gnome_bg_get_image_size ()` is expensive, since that actually
does a thumbnail retrieval.
Instead, we can retrieve the size of the background file directly,
improving the rendering performance of the chooser significantly.
Since 7cef6dc5, the background previews are rendered at the full
resolution. However, this is expensive and causes considerable lag,
especially for resizes. Since then, the thumbnail size has doubled to
256 pixels, making the previews sharper even at larger sizes.
So, to improve performance, let's effectively revert 7cef6dc5. The
revert is not possible without disabling frame = 0 retrieval, since that
is broken for non-slideshow backgrounds and was not used before anyways
with force_size = TRUE.
Related to #674
Related to #704
Related to #2448
Meson extracts them by itself and add them as dependencies for the target.
It means one less location to keep track of files, and a lot less boilerplate
around the meson files
- Clarify that 'mm-glib' dep is for ModemManager (not Network
Manager which is below). The comment also helps people
which may confuse it with glibmm library.
- Fix following Meson warning about two deprecated functions:
WARNING: Deprecated features used:
* 0.56.0: {'dependency.get_pkgconfig_variable', 'meson.source_root'}
If a user chooses the default background in control-center, then
they still end up with a change in dconf. This change means that
on upgrades, they'll keep the old distro background configured.
That's probably unexpected and may lead them to believe the upgrade
didn't work.
This commit checks if the user goes back to the distro defaults and
clears out dconf in that case, so that when the disto defaults change
they get the new defaults.
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.
Commit d2474bf0 ("background: revert false indentation") fixed a warning
which sprung from improper indentation of a function call. To comply
with project style, the parameter list's indentation must also be
adjusted. This issue was pointed out by Georges (@fearanon).
This patch changes the indentation of the parameters in compliance.
Commit 46673670 ("Fix indentation") indented lines 160-163 of
cc-background-chooser.c to make them seem as if they were part of the
associated if statement. However, they are not, which causes confusion
as to the intention of the code. It appears as if the
gtk_accessible_update_property call is executed upon button being non-
null, but it is always executed due to the lack of an if block. For
clarity, and to resolve a compiler warning, this patch should be
reverted.
This patch reverts 46673670, changing the indentation back correctly.
This was mentioned in #1902 and received no objections, including
approval from Lukas.
Turns out drawing the whole light wallpaper and then half of the dark
wallpaper on top of it is leading to a case of
https://gitlab.gnome.org/GNOME/gtk/-/issues/3840
Draw half of each instead, so they don't overlap.
GtkWidget:text-direction doesn't exist. That's why we connect to the
::direction-changed signal instead, and this property binding was
just a leftover from c5792cfb00.
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
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.
[...]
Make corners rounded.
Replace selected style with an overlay check, make the close button
smaller to match. Move slideshow indicator to the lower left corner.
Set margins in css.
Update the unused symbolic to match the svg with a baked-in shadow,
actually use it. Bundle it in gresources instead of installing, fix the
style class name. Fix margins - the close button was overriding them.