Reinstate solid color wallpapers

Resolves: RHEL-45317
This commit is contained in:
Felipe Borges 2024-08-30 14:03:50 +02:00 committed by Felipe Borges
parent 66f3301271
commit 03ecac14d4
2 changed files with 78 additions and 1 deletions

View File

@ -0,0 +1,69 @@
From 46d66b310beafd7535281068a99656a789d620a5 Mon Sep 17 00:00:00 2001
From: Felipe Borges <felipeborges@gnome.org>
Date: Fri, 30 Aug 2024 11:59:21 +0200
Subject: [PATCH] background: Reinstate solid color backgrounds
---
panels/background/cc-background-chooser.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/panels/background/cc-background-chooser.c b/panels/background/cc-background-chooser.c
index 6c8f56136..4deb9d252 100644
--- a/panels/background/cc-background-chooser.c
+++ b/panels/background/cc-background-chooser.c
@@ -41,6 +41,7 @@ struct _CcBackgroundChooser
gboolean recent_selected;
BgWallpapersSource *wallpapers_source;
+ BgColorsSource *colors_source;
BgRecentSource *recent_source;
};
@@ -174,6 +175,8 @@ static void
setup_flowbox (CcBackgroundChooser *self)
{
GListStore *store;
+ GListStore *colors;
+ int i;
store = bg_source_get_liststore (BG_SOURCE (self->wallpapers_source));
@@ -183,6 +186,19 @@ setup_flowbox (CcBackgroundChooser *self)
self->wallpapers_source,
NULL);
+ /* Manually add solid colors to the end of the wallpapers flowbox. See RHEL-45317 */
+ colors = bg_source_get_liststore (BG_SOURCE (self->colors_source));
+ for (i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (colors)); i++)
+ {
+ g_autoptr(CcBackgroundItem) color = NULL;
+ GtkWidget *widget;
+
+ color = g_list_model_get_item (G_LIST_MODEL (colors), i);
+ widget = create_widget_func (color, self->colors_source);
+
+ gtk_flow_box_insert (self->flowbox, widget, -1);
+ }
+
store = bg_source_get_liststore (BG_SOURCE (self->recent_source));
gtk_flow_box_bind_model (self->recent_flowbox,
@@ -290,6 +306,7 @@ cc_background_chooser_finalize (GObject *object)
CcBackgroundChooser *self = (CcBackgroundChooser *)object;
g_clear_object (&self->recent_source);
+ g_clear_object (&self->colors_source);
g_clear_object (&self->wallpapers_source);
G_OBJECT_CLASS (cc_background_chooser_parent_class)->finalize (object);
@@ -326,6 +343,7 @@ cc_background_chooser_init (CcBackgroundChooser *self)
gtk_widget_init_template (GTK_WIDGET (self));
self->recent_source = bg_recent_source_new (GTK_WIDGET (self));
+ self->colors_source = bg_colors_source_new (GTK_WIDGET (self));
self->wallpapers_source = bg_wallpapers_source_new (GTK_WIDGET (self));
setup_flowbox (self);
}
--
2.37.1

View File

@ -14,7 +14,7 @@
Name: gnome-control-center
Version: 40.0
Release: 31%{?dist}
Release: 32%{?dist}
Summary: Utilities to configure the GNOME desktop
License: GPLv2+ and CC-BY-SA
@ -55,6 +55,10 @@ Patch14: 0001-shell-Avoid-handling-map-events-from-other-windows.patch
Patch15: 0001-wacom-Provide-connector-name-for-disambiguation.patch
# https://issues.redhat.com/browse/RHEL-45317
Patch16: background-solid-colors.patch
BuildRequires: chrpath
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
@ -244,6 +248,10 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center
%dir %{_datadir}/gnome/wm-properties
%changelog
* Fri Aug 30 2024 Felipe Borges <feborges@redhat.com> - 40.0-32
- Reintroduce solid color wallpapers
Resolves: RHEL-45317
* Fri Apr 19 2024 Carlos Garnacho <cgarnach@redhat.com> - 40.0-31
- Provide connector name for disambiguation in Wacom display mapping
Resolves: RHEL-23162