From e26d0c102d128774ff5bf750b2e9f7ecd5d4b708 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 28 Mar 2023 10:10:47 +0000 Subject: [PATCH] import gnome-control-center-40.0-29.el9 --- ...ndling-map-events-from-other-windows.patch | 50 +++++ ...gnome-control-center-wwan-5g-support.patch | 199 ++++++++++++++++++ SPECS/gnome-control-center.spec | 17 +- 3 files changed, 264 insertions(+), 2 deletions(-) create mode 100644 SOURCES/0001-shell-Avoid-handling-map-events-from-other-windows.patch create mode 100644 SOURCES/gnome-control-center-wwan-5g-support.patch diff --git a/SOURCES/0001-shell-Avoid-handling-map-events-from-other-windows.patch b/SOURCES/0001-shell-Avoid-handling-map-events-from-other-windows.patch new file mode 100644 index 0000000..83fc0a5 --- /dev/null +++ b/SOURCES/0001-shell-Avoid-handling-map-events-from-other-windows.patch @@ -0,0 +1,50 @@ +From 7196e8aaea48054dd5fe825d371aec2319960897 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Wed, 21 Apr 2021 20:54:06 +0200 +Subject: [PATCH] shell: Avoid handling map events from other windows + +The CcWindow tries to unset the focus when first mapping the window. +However this pretty wide check intercepts mapping events from other +windows than the toplevel (e.g. subsurfaces, for popovers). This +causes the focus to move away from the popover, overriding its +modality. + +Check that the event received is addressed to the CcWindow's +GDK window before unsetting the focus, so we don't mess with popover +focus. + +Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1327 +--- + shell/cc-window.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/shell/cc-window.c b/shell/cc-window.c +index 400c39116..de4eccc04 100644 +--- a/shell/cc-window.c ++++ b/shell/cc-window.c +@@ -585,12 +585,17 @@ gdk_window_set_cb (CcWindow *self) + } + + static gboolean +-window_map_event_cb (CcWindow *self) ++window_map_event_cb (CcWindow *self, ++ GdkEvent *event) + { +- /* If focus ends up in a category icon view one of the items is +- * immediately selected which looks odd when we are starting up, so +- * we explicitly unset the focus here. */ +- gtk_window_set_focus (GTK_WINDOW (self), NULL); ++ if (event->any.window == gtk_widget_get_window (GTK_WIDGET (self))) ++ { ++ /* If focus ends up in a category icon view one of the items is ++ * immediately selected which looks odd when we are starting up, so ++ * we explicitly unset the focus here. */ ++ gtk_window_set_focus (GTK_WINDOW (self), NULL); ++ } ++ + return GDK_EVENT_PROPAGATE; + } + +-- +2.37.3 + diff --git a/SOURCES/gnome-control-center-wwan-5g-support.patch b/SOURCES/gnome-control-center-wwan-5g-support.patch new file mode 100644 index 0000000..eb7288d --- /dev/null +++ b/SOURCES/gnome-control-center-wwan-5g-support.patch @@ -0,0 +1,199 @@ +From 960ebdb61c947ca9b3e3cde60c45a514b4da5113 Mon Sep 17 00:00:00 2001 +From: Dirk Su +Date: Mon, 1 Aug 2022 20:06:51 +0000 +Subject: [PATCH] panels: wwan: Add WWAN 5G connection support + +--- + panels/wwan/cc-wwan-device.c | 151 +++++++++++++++++++++++++++--- + panels/wwan/cc-wwan-mode-dialog.c | 5 + + 2 files changed, 145 insertions(+), 11 deletions(-) + +diff --git a/panels/wwan/cc-wwan-device.c b/panels/wwan/cc-wwan-device.c +index 55a627a5a..3d5fc8b83 100644 +--- a/panels/wwan/cc-wwan-device.c ++++ b/panels/wwan/cc-wwan-device.c +@@ -992,19 +992,148 @@ cc_wwan_device_get_string_from_mode (CcWwanDevice *self, + g_return_val_if_fail (CC_IS_WWAN_DEVICE (self), NULL); + g_return_val_if_fail (allowed != 0, NULL); + ++ if (allowed == MM_MODEM_MODE_2G) ++ return g_strdup (_("2G Only")); ++ ++ if (allowed == MM_MODEM_MODE_3G) ++ return g_strdup (_("3G Only")); ++ ++ if (allowed == MM_MODEM_MODE_4G) ++ return g_strdup (_("4G Only")); ++ ++ if (allowed == MM_MODEM_MODE_5G) ++ return g_strdup (_("5G Only")); ++ + str = g_string_sized_new (10); + +- if (allowed & MM_MODEM_MODE_2G) +- APPEND_MODE_TO_STRING (str, MM_MODEM_MODE_2G, preferred, "2G"); +- if (allowed & MM_MODEM_MODE_3G) +- APPEND_MODE_TO_STRING (str, MM_MODEM_MODE_3G, preferred, "3G"); +- if (allowed & MM_MODEM_MODE_4G) +- APPEND_MODE_TO_STRING (str, MM_MODEM_MODE_4G, preferred, "4G"); +- +- if (allowed == MM_MODEM_MODE_2G || +- allowed == MM_MODEM_MODE_3G || +- allowed == MM_MODEM_MODE_4G) +- g_string_append (str, _(" Only")); ++ if (allowed & MM_MODEM_MODE_2G && ++ allowed & MM_MODEM_MODE_3G && ++ allowed & MM_MODEM_MODE_4G && ++ allowed & MM_MODEM_MODE_5G) ++ { ++ if (preferred & MM_MODEM_MODE_5G) ++ g_string_append (str, _("2G, 3G, 4G, 5G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_4G) ++ g_string_append (str, _("2G, 3G, 4G (Preferred), 5G")); ++ else if (preferred & MM_MODEM_MODE_3G) ++ g_string_append (str, _("2G, 3G (Preferred), 4G, 5G")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("2G (Preferred), 3G, 4G, 5G")); ++ else ++ g_string_append (str, _("2G, 3G, 4G, 5G")); ++ } ++ else if (allowed & MM_MODEM_MODE_2G && ++ allowed & MM_MODEM_MODE_3G && ++ allowed & MM_MODEM_MODE_4G) ++ { ++ if (preferred & MM_MODEM_MODE_4G) ++ g_string_append (str, _("2G, 3G, 4G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_3G) ++ g_string_append (str, _("2G, 3G (Preferred), 4G")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("2G (Preferred), 3G, 4G")); ++ else ++ g_string_append (str, _("2G, 3G, 4G")); ++ } ++ else if (allowed & MM_MODEM_MODE_3G && ++ allowed & MM_MODEM_MODE_4G && ++ allowed & MM_MODEM_MODE_5G) ++ { ++ if (preferred & MM_MODEM_MODE_5G) ++ g_string_append (str, _("3G, 4G, 5G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_4G) ++ g_string_append (str, _("3G, 4G (Preferred), 5G")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("3G (Preferred), 4G, 5G")); ++ else ++ g_string_append (str, _("3G, 4G, 5G")); ++ } ++ else if (allowed & MM_MODEM_MODE_2G && ++ allowed & MM_MODEM_MODE_4G && ++ allowed & MM_MODEM_MODE_5G) ++ { ++ if (preferred & MM_MODEM_MODE_5G) ++ g_string_append (str, _("2G, 4G, 5G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_4G) ++ g_string_append (str, _("2G, 4G (Preferred), 5G")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("2G (Preferred), 4G, 5G")); ++ else ++ g_string_append (str, _("2G, 4G, 5G")); ++ } ++ else if (allowed & MM_MODEM_MODE_2G && ++ allowed & MM_MODEM_MODE_3G && ++ allowed & MM_MODEM_MODE_5G) ++ { ++ if (preferred & MM_MODEM_MODE_5G) ++ g_string_append (str, _("2G, 3G, 5G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_3G) ++ g_string_append (str, _("2G, 3G (Preferred), 5G")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("2G (Preferred), 3G, 5G")); ++ else ++ g_string_append (str, _("2G, 3G, 5G")); ++ } ++ else if (allowed & MM_MODEM_MODE_3G && ++ allowed & MM_MODEM_MODE_4G) ++ { ++ if (preferred & MM_MODEM_MODE_4G) ++ g_string_append (str, _("3G, 4G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_3G) ++ g_string_append (str, _("3G (Preferred), 4G")); ++ else ++ g_string_append (str, _("3G, 4G")); ++ } ++ else if (allowed & MM_MODEM_MODE_2G && ++ allowed & MM_MODEM_MODE_4G) ++ { ++ if (preferred & MM_MODEM_MODE_4G) ++ g_string_append (str, _("2G, 4G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("2G (Preferred), 4G")); ++ else ++ g_string_append (str, _("2G, 4G")); ++ } ++ else if (allowed & MM_MODEM_MODE_2G && ++ allowed & MM_MODEM_MODE_3G) ++ { ++ if (preferred & MM_MODEM_MODE_3G) ++ g_string_append (str, _("2G, 3G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("2G (Preferred), 3G")); ++ else ++ g_string_append (str, _("2G, 3G")); ++ } ++ else if (allowed & MM_MODEM_MODE_2G && ++ allowed & MM_MODEM_MODE_5G) ++ { ++ if (preferred & MM_MODEM_MODE_5G) ++ g_string_append (str, _("2G, 5G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_2G) ++ g_string_append (str, _("2G (Preferred), 5G")); ++ else ++ g_string_append (str, _("2G, 5G")); ++ } ++ else if (allowed & MM_MODEM_MODE_3G && ++ allowed & MM_MODEM_MODE_5G) ++ { ++ if (preferred & MM_MODEM_MODE_5G) ++ g_string_append (str, _("3G, 5G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_3G) ++ g_string_append (str, _("3G (Preferred), 5G")); ++ else ++ g_string_append (str, _("3G, 5G")); ++ } ++ else if (allowed & MM_MODEM_MODE_4G && ++ allowed & MM_MODEM_MODE_5G) ++ { ++ if (preferred & MM_MODEM_MODE_5G) ++ g_string_append (str, _("4G, 5G (Preferred)")); ++ else if (preferred & MM_MODEM_MODE_4G) ++ g_string_append (str, _("4G (Preferred), 5G")); ++ else ++ g_string_append (str, _("4G, 5G")); ++ } + + if (str->len == 0) + return g_string_free (str, TRUE); +diff --git a/panels/wwan/cc-wwan-mode-dialog.c b/panels/wwan/cc-wwan-mode-dialog.c +index e5917a41c..5dbdd884e 100644 +--- a/panels/wwan/cc-wwan-mode-dialog.c ++++ b/panels/wwan/cc-wwan-mode-dialog.c +@@ -163,12 +163,17 @@ cc_wwan_mode_dialog_update (CcWwanModeDialog *self) + { + MMModemMode allowed; + MMModemMode modes[][2] = { ++ {MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | MM_MODEM_MODE_4G | MM_MODEM_MODE_5G, MM_MODEM_MODE_5G}, ++ {MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | MM_MODEM_MODE_4G | MM_MODEM_MODE_5G, 0}, ++ {MM_MODEM_MODE_3G | MM_MODEM_MODE_4G | MM_MODEM_MODE_5G, MM_MODEM_MODE_5G}, ++ {MM_MODEM_MODE_3G | MM_MODEM_MODE_4G | MM_MODEM_MODE_5G, 0}, + {MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | MM_MODEM_MODE_4G, MM_MODEM_MODE_4G}, + {MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | MM_MODEM_MODE_4G, 0}, + {MM_MODEM_MODE_3G | MM_MODEM_MODE_4G, MM_MODEM_MODE_4G}, + {MM_MODEM_MODE_3G | MM_MODEM_MODE_4G, 0}, + {MM_MODEM_MODE_2G | MM_MODEM_MODE_3G, MM_MODEM_MODE_3G}, + {MM_MODEM_MODE_2G | MM_MODEM_MODE_3G, 0}, ++ {MM_MODEM_MODE_5G, 0}, + {MM_MODEM_MODE_4G, 0}, + {MM_MODEM_MODE_3G, 0}, + {MM_MODEM_MODE_2G, 0}, +-- +2.37.1 + diff --git a/SPECS/gnome-control-center.spec b/SPECS/gnome-control-center.spec index da88708..4a89fa5 100644 --- a/SPECS/gnome-control-center.spec +++ b/SPECS/gnome-control-center.spec @@ -14,7 +14,7 @@ Name: gnome-control-center Version: 40.0 -Release: 27%{?dist} +Release: 29%{?dist} Summary: Utilities to configure the GNOME desktop License: GPLv2+ and CC-BY-SA @@ -47,6 +47,11 @@ Patch10: gnome-control-center-timezones.patch Patch11: change-device-name-with-enter-key.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2057154 Patch12: display-infobar-if-night-light-unsupported.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2110581 +Patch13: gnome-control-center-wwan-5g-support.patch + +# https://bugzilla.redhat.com/show_bug.cgi?id=2168686 +Patch14: 0001-shell-Avoid-handling-map-events-from-other-windows.patch BuildRequires: chrpath BuildRequires: cups-devel @@ -237,6 +242,14 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center %dir %{_datadir}/gnome/wm-properties %changelog +* Fri Feb 10 2023 Felipe Borges - 40.0-29 +- Fix keyboard accessibility of screen resolution list + Resolves: rhbz#2168686 + +* Wed Oct 26 2022 Felipe Borges - 40.0-28 +- Support WWAN 5G connections + Resolves: rhbz#2110581 + * Mon Aug 01 2022 Felipe Borges - 40.0-27 - Show infobar if night light isn't supported Resolves: rhbz#2057154 @@ -245,7 +258,7 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center - Allow changing "Device Name" by pressing "Enter" Resolves: rhbz#2061182 -* Fri Jul 09 2022 Felipe Borges - 40.0-25 +* Fri Jul 08 2022 Felipe Borges - 40.0-25 - Backport translations for Multitasking panel - Make Multitasking panel capable of handling Right-to-Left locales Resolves: #2105228