The code that uses Grilo to fetch the user's Flickr photos isn't
actually used by the Background panel, to the extent that the final
binary doesn't even link against Grilo. Getting rid of this unused code
will ensure that distributors aren't needlessly pulling in this
dependency.
https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1345
Without different lock-screen settings, there's little reason to
keep showing a lock-screen preview. So rather than updating the
preview to a blurred version of the regular background, just remove
it altogether.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/864
In 3.36, we will use a heavily blurred wallpaper on the lock screen.
As that wallpaper will be unrecognizable, there is no good reason to
pick a different one from the regular session. The shell will therefore
stop using the separate lock-screen settings.
The popover isn't needed anymore because it would only have one option:
to set the wallpaper. And an additional option for the recent section to
remove the wallpaper for the list, which can be done via a overlay
button.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/864
We do not download pictures anymore; the BgRecentSource
always copies the wallpapers before actually adding them,
and the BgWallpapersSource handles system-wide wallpapers,
which typically do not change.
Remove this dead code, and the unecessary widgets that were
kept to keep this code working -- essentially, a few boxes
around the previewers.
This is a dedicate class to generate the preview. Not only
it renders the pixbuf of the wallpaper, but it also adds
lock screen or desktop frames on top of it. It also monitors
the time to keep the lock screen preview label always updated.
It will become essentially what CcBackgroundChooserDialog,
but without a dialog and organized differently. Right now,
it is as minimal as it could be and only shows wallpapers.
As we grow it, it may cover pictures and even colors.
The screenshot was only trying to capture gnome-shell's top bar to
overlay on the background preview but now on 3.26 the top bar might be
transparent which obviously wouldn't work at all for previewing a
different wallpaper.
https://bugzilla.gnome.org/show_bug.cgi?id=788206
Instead of using a GtkGrid and GtkBox to mimic what GtkStack and
GtkStackSwitcher already does for us, let's just use the latter. As a
result each source now has its separate GtkIconView. The pictures
source has a nested GtkStack to switch between the 'empty' box and the
view, which should simplify size-related issues.
https://bugzilla.gnome.org/show_bug.cgi?id=736366
We were assuming that setting stock-size would affect the emblems in
GEmblemedIcons, but not the icons themselves. This is a bit weird.
GtkCellRendererPixbuf:gicon is meant to work with
GtkCellRendererPixbuf:stock-size, and this was only working so far
because GTK_ICON_LOOKUP_FORCE_SIZE was not being used when loading
the icon.
Let's composite the emblems ourselves so that we don't have to depend
on this quirky interpretation of stock-size.
Unfortunately, we can not directly use the pixbufs because they are
unaware of the scale factor and GTK+ will scale them on HiDpi
displays. Since our pixbufs already have enough pixels to work well
with such devices, scaling them further will lead to giant, fuzzy
thumbnails. Hence, we use GtkCellRendererPixbuf:surface with the
scale factor codified in it.
https://bugzilla.gnome.org/show_bug.cgi?id=732375
If the background chooser is open and the user triggers a switch to a
different panel (i.e. from one of the gnome-shell indicators) the chooser
is still the topmost window and modal for g-c-c, however if the chooser is
interacted with in any way other than clicking the cancel button g-c-c
crashes.
Ensure that the chooser is destroyed if the panel is changed.
https://bugzilla.gnome.org/show_bug.cgi?id=700860
This could create crashers when no errors were detected, but
either the D-Bus call or loading the pixbuf return NULL.
Conflicts:
panels/background/cc-background-panel.c
This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.
By the same token, it will stop external panels from being
created, and loaded.
https://bugzilla.gnome.org/show_bug.cgi?id=690036