g_warning () is for environment errors. Additional tags than the
ones we require are not necessarily an error.
This behavior causes g-c-c to spam the journal with entries such
as:
Unknown Tag in /usr/share/gnome-background-properties/fedora-workstation-backgrounds.xml: license
Unknown Tag in /usr/share/gnome-background-properties/fedora-workstation-backgrounds.xml: email
Unknown Tag in /usr/share/gnome-background-properties/fedora-workstation-backgrounds.xml: author
Where "license", "email", and "author" are valid tags that we just
don't use.
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
Undefine the value before overriding it to avoid the following warnings:
../panels/background/cc-background-chooser.c:22: warning: "G_LOG_DOMAIN" redefined
The BG_RECENT_SOURCE (user_data) call was done before it was checked if is was
cancelled. At this point user_data is pointing to an object that has been deleted.
Fixes#729
The button doesn't delete the original file - it just removes
the image from the selection. "Remove" is therefore a better word
than "Delete", and the destructive action style isn't appropriate.
Fixes#578
After commit c64ab472b6, none of the thumbnail factories are
actually used anymore in BgColorsSource. Clean them up from
the code -- which is unused now, but will be kept for future
proofing purposes.
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.
Add a recent section, composed by an additional GtkFlowBox and
a separator, and code to hide it when there are no recent
wallpapers.
To the popover menu, add a new "Remove Background" button that
is only visible when clicking on recent backgrounds.
BgRecentSource is a background source implementation that
keeps track of recently added backgrounds.
The backgrounds are copied to $(local data dir)/backgrounds,
which is monitored. When copying files to this folder, the
current time is added as prefix to avoid filename collisions.
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.
This is a major rework on how images are loaded and stored.
Unfortunately, this is so entangled that doing each change
as an atomic step is pretty much unfeasible.
The first major change is that BgSource now returns a GListStore
instead of a GtkListStore. This is necessary for us to bind it
to GtkFlowBox, and pretty much signals we're not using any of
the tree/icon views anymore.
Second, the thumbnail factory was moved to BgSource itself. We
only create factories for large thumbnails, so it's not needed
to handle each one of them individually.
At last, switch CcBackgroundChooser to GtkFlowBox, and adjust
the signals we connect to.
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.
Make the code match the existing monitor to fall back to the home directory.
The error message was:
(gnome-control-center:22910): GLib-GIO-CRITICAL **: 16:42:17.915: g_file_new_for_path: assertion 'path != NULL' failed
This was due to the callback occurring before all the widgets had been added to
the dialog.
Also remove the workaround for the handler occuring during/after dispose by
using g_signal_connect_object.
The warnings were:
(gnome-control-center:13048): Gtk-CRITICAL **: 09:42:17.841: gtk_bin_get_child: assertion 'GTK_IS_BIN (bin)' failed
(gnome-control-center:13048): Gtk-CRITICAL **: 09:42:17.841: gtk_icon_view_unselect_all: assertion 'GTK_IS_ICON_VIEW (icon_view)' failed