Skip to content
Commits on Source (6)
gnome-control-center (1:40.0-1ubuntu1) impish; urgency=medium
* Merge with debian
* debian/patches: Refresh and rebase
* debian/patches: Use debian-gnome standard unnumered names.
Having numbered patches makes it only harder to maintain and rebase, so
let's just follow the gnome-team rules and use proper names for them as
gbp pq generates.
If you don't use it, well do :).
* debian/patches: Cherry-pick upstream proposed patches to handle cases
that we were handlig by reverting 3.38 changes.
* d/p/Provide-an-api-for-the-installation-of-language-pack.patch: Drop.
This was needed to handle language pack installation, but it's something
that is obsolete now.
* d/p/Adapts-the-region-capplet-and-the-language-chooser-in-the.patch:
- Looks like it needed to be ordered to be rebased proplerly, so adapt it
to new code hiding the "more" button from ui file.
- Fix locales updates.
Ensure that when user language changes we set back the region to the
default per the chosen language
* debian/patches: Move patches into the debian namespace.
They're all only needed in debian, so let's use a proper namespace.
* debian/patches: Move the ubuntu-only patches into the ubuntu namespace.
We can organize patches better this way avoiding comments that gbp pq
would delete.
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Fri, 11 Jun 2021 03:38:52 +0200
gnome-control-center (1:40.0-1) experimental; urgency=medium
[ Marco Trevisan (Treviño) ]
......
......@@ -12,7 +12,6 @@ https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/918
Origin: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/910
Bug-Ubuntu: https://launchpad.net/bugs/1867548
Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/918
---
panels/keyboard/cc-keyboard-panel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
......
......@@ -16,7 +16,6 @@ representation of how they function.
Origin: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/910
Bug-Ubuntu: https://launchpad.net/bugs/1867548
Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/918
---
panels/keyboard/cc-keyboard-panel.c | 5 +-
panels/keyboard/cc-xkb-modifier-dialog.c | 76 ++++++++++++++++++-------------
......
# Upstream proposed changes
keyboard-Allow-disabling-alternate-characters-key.patch
keyboard-For-xkb-options-have-Layout-default-toggle-and-N.patch
# Debian changes
Expose-touchpad-settings-if-synaptics-is-in-use.patch
Debian-s-adduser-doesn-t-allow-uppercase-letters-by-defau.patch
info-overview-Use-the-Vendor-logo-prominently.patch
Revert-build-Bump-build-dependency-on-polkit.patch
# Ubuntu changes
#Adapts-the-region-capplet-and-the-language-chooser-i.patch
keyboard-Add-launch-terminal-shortcut.patch
sound-Allow-volume-to-be-set-above-100.patch
Allow-tweaking-some-settings-for-Ubuntu-Dock.patch
lock-Add-Lock-Screen-on-Suspend-option.patch
region-Add-Language-Selector-button.patch
printers-Temporarily-add-an-additional-advanced-printer-b.patch
notifications-Handle-.desktop-files-that-got-renamed.patch
shell-Change-the-default-height-so-all-category-are-on-sc.patch
connectivity-add-network-connectivity-checking-toggle.patch
diagnostics-Add-Whoopsie-support.patch
online-accounts-Hide-window-after-adding-an-online-accoun.patch
applications-Add-hack-detect-snaps-before-X-SnapInstanceN.patch
display-Support-UI-scaled-logical-monitor-mode.patch
Disable-non-working-camera-microphones-panels.patch
info-overview-Show-updates-in-software-propeties-instead-.patch
sound-Add-a-button-to-select-the-default-theme.patch
display-Allow-fractional-scaling-to-be-enabled.patch
applications-Launch-snap-store-if-it-is-installed.patch
window-Stop-using-HdyLeaflet.patch
online-accounts-maybe-leak-a-reference-to-the-panel-to-pr.patch
display-Ensure-we-list-all-the-available-scaling-values.patch
debian/Expose-touchpad-settings-if-synaptics-is-in-use.patch
debian/Debian-s-adduser-doesn-t-allow-uppercase-letters-by-defau.patch
debian/info-overview-Use-the-Vendor-logo-prominently.patch
debian/Revert-build-Bump-build-dependency-on-polkit.patch
ubuntu/keyboard-Add-launch-terminal-shortcut.patch
ubuntu/sound-Allow-volume-to-be-set-above-100.patch
ubuntu/Allow-tweaking-some-settings-for-Ubuntu-Dock.patch
ubuntu/lock-Add-Lock-Screen-on-Suspend-option.patch
ubuntu/region-Add-Language-Selector-button.patch
ubuntu/Adapts-the-region-capplet-and-the-language-chooser-in-the.patch
ubuntu/printers-Temporarily-add-an-additional-advanced-printer-b.patch
ubuntu/notifications-Handle-.desktop-files-that-got-renamed.patch
ubuntu/shell-Change-the-default-height-so-all-category-are-on-sc.patch
ubuntu/connectivity-add-network-connectivity-checking-toggle.patch
ubuntu/diagnostics-Add-Whoopsie-support.patch
ubuntu/online-accounts-Hide-window-after-adding-an-online-accoun.patch
ubuntu/applications-Add-hack-detect-snaps-before-X-SnapInstanceN.patch
ubuntu/display-Support-UI-scaled-logical-monitor-mode.patch
ubuntu/Disable-non-working-camera-microphones-panels.patch
ubuntu/info-overview-Show-updates-in-software-propeties-instead-.patch
ubuntu/sound-Add-a-button-to-select-the-default-theme.patch
ubuntu/display-Allow-fractional-scaling-to-be-enabled.patch
ubuntu/applications-Launch-snap-store-if-it-is-installed.patch
ubuntu/window-Stop-using-HdyLeaflet.patch
ubuntu/online-accounts-maybe-leak-a-reference-to-the-panel-to-pr.patch
ubuntu/display-Ensure-we-list-all-the-available-scaling-values.patch
From: Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
Date: Mon, 22 Jul 2019 22:24:00 +0200
Subject: Adapts the region capplet and the language chooser in
the user accounts capplet
Subject: Adapts the region capplet and the language chooser in the user
accounts capplet
Some background that explains the need for this patch:
......@@ -37,18 +37,18 @@ Subject: Adapts the region capplet and the language chooser in
* All the formats related locale categories set, not just a subset.
---
panels/common/cc-common-language.c | 137 +++++++++++++++++++++++++++++------
panels/common/cc-common-language.c | 137 +++++++++++++++++++++++++++------
panels/common/cc-common-language.h | 4 +
panels/common/cc-language-chooser.c | 4 +-
panels/region/cc-region-panel.c | 120 ++++++++++++++++++++++--------
panels/common/cc-language-chooser.ui | 2 +-
panels/region/cc-region-panel.c | 144 +++++++++++++++++++++++++++--------
panels/user-accounts/cc-user-panel.c | 12 ++-
5 files changed, 218 insertions(+), 59 deletions(-)
5 files changed, 240 insertions(+), 59 deletions(-)
Index: gnome-control-center/panels/common/cc-common-language.c
===================================================================
--- gnome-control-center.orig/panels/common/cc-common-language.c
+++ gnome-control-center/panels/common/cc-common-language.c
@@ -161,6 +161,55 @@ cc_common_language_get_current_language
diff --git a/panels/common/cc-common-language.c b/panels/common/cc-common-language.c
index 9357c3e..c923d82 100644
--- a/panels/common/cc-common-language.c
+++ b/panels/common/cc-common-language.c
@@ -161,6 +161,55 @@ cc_common_language_get_current_language (void)
return language;
}
......@@ -173,7 +173,7 @@ Index: gnome-control-center/panels/common/cc-common-language.c
insert_language (ht, "en_US.UTF-8");
insert_language (ht, "en_GB.UTF-8");
insert_language (ht, "de_DE.UTF-8");
@@ -234,10 +315,30 @@ cc_common_language_get_initial_languages
@@ -234,10 +315,30 @@ cc_common_language_get_initial_languages (void)
insert_language (ht, "ja_JP.UTF-8");
insert_language (ht, "ru_RU.UTF-8");
insert_language (ht, "ar_EG.UTF-8");
......@@ -205,7 +205,7 @@ Index: gnome-control-center/panels/common/cc-common-language.c
static void
foreach_user_lang_cb (gpointer key,
gpointer value,
@@ -263,28 +364,18 @@ cc_common_language_add_user_languages (G
@@ -263,28 +364,18 @@ cc_common_language_add_user_languages (GtkTreeModel *model)
GtkListStore *store = GTK_LIST_STORE (model);
GHashTable *user_langs;
const char *display;
......@@ -238,7 +238,7 @@ Index: gnome-control-center/panels/common/cc-common-language.c
display = g_hash_table_lookup (user_langs, name);
}
@@ -296,8 +387,8 @@ cc_common_language_add_user_languages (G
@@ -296,8 +387,8 @@ cc_common_language_add_user_languages (GtkTreeModel *model)
g_hash_table_foreach (user_langs, (GHFunc) foreach_user_lang_cb, store);
/* And now the "Other…" selection */
......@@ -249,11 +249,11 @@ Index: gnome-control-center/panels/common/cc-common-language.c
g_hash_table_destroy (user_langs);
}
Index: gnome-control-center/panels/common/cc-common-language.h
===================================================================
--- gnome-control-center.orig/panels/common/cc-common-language.h
+++ gnome-control-center/panels/common/cc-common-language.h
@@ -43,6 +43,8 @@ guint cc_common_language_add_availabl
diff --git a/panels/common/cc-common-language.h b/panels/common/cc-common-language.h
index 1f578b7..2e5a446 100644
--- a/panels/common/cc-common-language.h
+++ b/panels/common/cc-common-language.h
@@ -43,6 +43,8 @@ guint cc_common_language_add_available_languages (GtkListStore *store,
GHashTable *user_langs);
gboolean cc_common_language_has_font (const gchar *locale);
gchar *cc_common_language_get_current_language (void);
......@@ -262,40 +262,49 @@ Index: gnome-control-center/panels/common/cc-common-language.h
GHashTable *cc_common_language_get_initial_languages (void);
GHashTable *cc_common_language_get_user_languages (void);
@@ -55,4 +57,6 @@ void cc_common_language_select_curre
@@ -55,4 +57,6 @@ void cc_common_language_select_current_language (GtkTreeView *treeview);
void cc_common_language_add_user_languages (GtkTreeModel *model);
+void cc_common_language_get_locale (const gchar *language, gchar **locale);
+
G_END_DECLS
Index: gnome-control-center/panels/common/cc-language-chooser.c
===================================================================
--- gnome-control-center.orig/panels/common/cc-language-chooser.c
+++ gnome-control-center/panels/common/cc-language-chooser.c
@@ -186,7 +186,7 @@ add_languages (CcLanguageChooser *choose
gtk_container_add (GTK_CONTAINER (chooser->language_listbox), widget);
}
diff --git a/panels/common/cc-language-chooser.ui b/panels/common/cc-language-chooser.ui
index 8f6fd53..c59fbd7 100644
--- a/panels/common/cc-language-chooser.ui
+++ b/panels/common/cc-language-chooser.ui
@@ -74,7 +74,7 @@
<!-- "More" row -->
<child>
<object class="GtkListBoxRow" id="more_row">
- <property name="visible">True</property>
+ <property name="visible">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
diff --git a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c
index 01f5600..ec2a327 100644
--- a/panels/region/cc-region-panel.c
+++ b/panels/region/cc-region-panel.c
@@ -77,6 +77,8 @@ struct _CcRegionPanel {
gchar *region;
gchar *system_language;
gchar *system_region;
+
+ guint language_update_idle;
};
- gtk_container_add (GTK_CONTAINER (chooser->language_listbox), GTK_WIDGET (chooser->more_item));
+ /*gtk_container_add (GTK_CONTAINER (chooser->language_listbox), GTK_WIDGET (chooser->more_item));*/
}
CC_PANEL_REGISTER (CcRegionPanel, cc_region_panel)
@@ -99,6 +101,8 @@ cc_region_panel_finalize (GObject *object)
self->user = NULL;
}
static void
@@ -410,7 +410,7 @@ cc_language_chooser_init (CcLanguageChoo
gtk_widget_init_template (GTK_WIDGET (chooser));
chooser->more_item = more_widget_new ();
- gtk_widget_show (GTK_WIDGET (chooser->more_item));
+ /*gtk_widget_show (GTK_WIDGET (chooser->more_item));*/
/* We ref-sink here so we can reuse this widget multiple times */
chooser->no_results = g_object_ref_sink (no_results_widget_new ());
gtk_widget_show (chooser->no_results);
Index: gnome-control-center/panels/region/cc-region-panel.c
===================================================================
--- gnome-control-center.orig/panels/region/cc-region-panel.c
+++ gnome-control-center/panels/region/cc-region-panel.c
@@ -365,6 +365,7 @@ static void
+ g_clear_handle_id (&self->language_update_idle, g_source_remove);
+
g_clear_object (&self->permission);
g_clear_object (&self->localed);
g_clear_object (&self->session);
@@ -305,6 +309,7 @@ static void
update_language (CcRegionPanel *self,
const gchar *language)
{
......@@ -303,10 +312,45 @@ Index: gnome-control-center/panels/region/cc-region-panel.c
if (self->login) {
set_system_language (self, language);
} else {
@@ -406,6 +407,39 @@ set_system_region (CcRegionPanel *self,
@@ -317,6 +322,19 @@ update_language (CcRegionPanel *self,
}
}
+static void update_language_from_user (CcRegionPanel *self);
+
+static gboolean on_idle_update_language (gpointer data)
+{
+ CcRegionPanel *self = data;
+
+ update_language_from_user (self);
+ update_region (self, self->language);
+ self->language_update_idle = 0;
+
+ return G_SOURCE_REMOVE;
+}
+
static void
language_response (CcRegionPanel *self,
gint response_id,
@@ -329,7 +347,12 @@ language_response (CcRegionPanel *self,
update_language (self, language);
/* Keep format strings consistent with the user's language */
- update_region (self, NULL);
+ if (self->login) {
+ update_region (self, self->system_language);
+ } else {
+ g_clear_handle_id (&self->language_update_idle, g_source_remove);
+ g_idle_add (on_idle_update_language, self);
+ }
}
gtk_widget_destroy (GTK_WIDGET (chooser));
@@ -348,6 +371,39 @@ set_system_region (CcRegionPanel *self,
set_localed_locale (self);
}
+static void
+set_formats_locale (const gchar *formats_locale)
+{
+ g_autoptr(GDBusProxy) proxy = NULL;
......@@ -339,19 +383,18 @@ Index: gnome-control-center/panels/region/cc-region-panel.c
+ g_warning ("Couldn't set FormatsLocale: %s", error->message);
+}
+
+static void
static void
update_region (CcRegionPanel *self,
const gchar *region)
{
@@ -414,6 +448,7 @@ update_region (CcRegionPanel *self,
@@ -357,6 +413,7 @@ update_region (CcRegionPanel *self,
} else {
if (g_strcmp0 (region, self->region) == 0)
return;
+ set_formats_locale(region);
g_settings_set_string (self->locale_settings, KEY_REGION, region);
if (self->login_auto_apply)
set_system_region (self, region);
@@ -566,7 +601,7 @@ static void
+ set_formats_locale (region);
if (region == NULL || region[0] == '\0')
g_settings_reset (self->locale_settings, KEY_REGION);
else
@@ -510,7 +567,7 @@ static void
update_region_from_setting (CcRegionPanel *self)
{
g_free (self->region);
......@@ -360,7 +403,7 @@ Index: gnome-control-center/panels/region/cc-region-panel.c
update_region_label (self);
}
@@ -592,15 +627,19 @@ static void
@@ -536,15 +593,19 @@ static void
update_language_from_user (CcRegionPanel *self)
{
const gchar *language = NULL;
......@@ -384,8 +427,8 @@ Index: gnome-control-center/panels/region/cc-region-panel.c
update_language_label (self);
}
@@ -1251,6 +1290,16 @@ setup_input_section (CcRegionPanel *self
update_modifiers_shortcut (self);
@@ -597,6 +658,16 @@ show_language_support (CcRegionPanel *self)
g_warning ("Failed to launch language-selector: %s", error->message);
}
+static gchar *
......@@ -401,7 +444,7 @@ Index: gnome-control-center/panels/region/cc-region-panel.c
static void
on_localed_properties_changed (CcRegionPanel *self,
GVariant *changed_properties,
@@ -1263,28 +1312,38 @@ on_localed_properties_changed (CcRegionP
@@ -609,28 +680,38 @@ on_localed_properties_changed (CcRegionPanel *self,
g_autofree const gchar **strv = NULL;
gsize len;
gint i;
......@@ -449,7 +492,7 @@ Index: gnome-control-center/panels/region/cc-region-panel.c
g_free (self->system_region);
self->system_region = g_strdup (time);
@@ -1338,27 +1397,26 @@ set_localed_locale (CcRegionPanel *self)
@@ -643,27 +724,26 @@ set_localed_locale (CcRegionPanel *self)
{
g_autoptr(GVariantBuilder) b = NULL;
g_autofree gchar *lang_value = NULL;
......@@ -493,19 +536,19 @@ Index: gnome-control-center/panels/region/cc-region-panel.c
}
g_dbus_proxy_call (self->localed,
"SetLocale",
Index: gnome-control-center/panels/user-accounts/cc-user-panel.c
===================================================================
--- gnome-control-center.orig/panels/user-accounts/cc-user-panel.c
+++ gnome-control-center/panels/user-accounts/cc-user-panel.c
@@ -906,6 +906,7 @@ show_user (ActUser *user, CcUserPanel *s
diff --git a/panels/user-accounts/cc-user-panel.c b/panels/user-accounts/cc-user-panel.c
index cf3b0e2..86e656e 100644
--- a/panels/user-accounts/cc-user-panel.c
+++ b/panels/user-accounts/cc-user-panel.c
@@ -884,6 +884,7 @@ show_user (ActUser *user, CcUserPanel *self)
gtk_widget_set_sensitive (GTK_WIDGET (self->autologin_switch), get_autologin_possible (user));
name = NULL;
lang = g_strdup (act_user_get_language (user));
+ cc_common_language_get_locale (lang, &lang);
if (lang && *lang != '\0') {
name = gnome_get_language_from_locale (lang, NULL);
@@ -1103,7 +1104,8 @@ language_response (CcUserPanel *self,
@@ -1085,7 +1086,8 @@ language_response (CcUserPanel *self,
GtkDialog *dialog)
{
ActUser *user;
......@@ -515,7 +558,7 @@ Index: gnome-control-center/panels/user-accounts/cc-user-panel.c
if (response_id != GTK_RESPONSE_OK) {
gtk_widget_hide (GTK_WIDGET (dialog));
@@ -1111,12 +1113,13 @@ language_response (CcUserPanel *self,
@@ -1093,12 +1095,13 @@ language_response (CcUserPanel *self,
}
user = get_selected_user (self);
......@@ -531,7 +574,7 @@ Index: gnome-control-center/panels/user-accounts/cc-user-panel.c
act_user_set_language (user, lang);
}
@@ -1131,10 +1134,13 @@ static void
@@ -1113,10 +1116,13 @@ static void
change_language (CcUserPanel *self)
{
const gchar *current_language;
......