Codebase list gnome-control-center / 2a340d5
Merge branch 'ubuntu/master' of git+ssh://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-control-center into ubuntu/master Sebastien Bacher 4 years ago
2 changed file(s) with 93 addition(s) and 70 deletion(s). Raw diff Collapse all Expand all
1313 * New upstream release
1414
1515 -- Sebastien Bacher <seb128@ubuntu.com> Wed, 29 May 2019 12:27:36 +0200
16
17 gnome-control-center (1:3.32.1-1ubuntu5) eoan; urgency=medium
18
19 * debian/patches/52_region_language.patch:
20 Fix languages whose locale includes a modifier (LP: #1823778):
21 - Make language labels include modifiers when present
22 - Don't drop possible modifier when setting language
23
24 -- Gunnar Hjalmarsson <gunnarhj@ubuntu.com> Mon, 29 Apr 2019 13:23:29 +0100
1625
1726 gnome-control-center (1:3.32.1-1ubuntu4) disco; urgency=medium
1827
4949 ---
5050 panels/common/cc-common-language.c | 152 +++++++++++++++++++++++++++++------
5151 panels/common/cc-common-language.h | 4 +
52 panels/common/cc-language-chooser.c | 4 +-
53 panels/region/cc-region-panel.c | 138 +++++++++++++++++++++++--------
52 panels/common/cc-language-chooser.c | 15 ++--
53 panels/region/cc-region-panel.c | 129 +++++++++++++++++++++--------
5454 panels/user-accounts/cc-user-panel.c | 6 +-
55 5 files changed, 243 insertions(+), 61 deletions(-)
56
57 Index: gnome-control-center-3.32.1/panels/common/cc-common-language.c
58 ===================================================================
59 --- gnome-control-center-3.32.1.orig/panels/common/cc-common-language.c
60 +++ gnome-control-center-3.32.1/panels/common/cc-common-language.c
61 @@ -161,6 +161,66 @@ cc_common_language_get_current_language
55 5 files changed, 245 insertions(+), 61 deletions(-)
56
57 diff --git a/panels/common/cc-common-language.c b/panels/common/cc-common-language.c
58 index 9357c3e..26a647e 100644
59 --- a/panels/common/cc-common-language.c
60 +++ b/panels/common/cc-common-language.c
61 @@ -161,6 +161,66 @@ cc_common_language_get_current_language (void)
6262 return language;
6363 }
6464
152152 } else {
153153 - g_hash_table_insert (ht, g_strdup (lang), g_strdup (label_own_lang));
154154 + g_hash_table_insert (ht, g_strdup (key), g_strdup (label_own_lang));
155 + }
156 +}
157 +
155 }
156 }
157
158158 +gchar **
159159 +cc_common_language_get_installed_languages (void)
160160 +{
167167 + g_warning ("Couldn't get installed languages: %s", error->message);
168168 + g_error_free (error);
169169 + return NULL;
170 }
170 + }
171171 + langs = g_strsplit (output, "\n", 0);
172172 +
173173 + g_free(output);
174174 + return langs;
175 }
176
175 +}
176 +
177177 GHashTable *
178178 cc_common_language_get_initial_languages (void)
179179 {
196196 insert_language (ht, "en_US.UTF-8");
197197 insert_language (ht, "en_GB.UTF-8");
198198 insert_language (ht, "de_DE.UTF-8");
199 @@ -234,10 +328,32 @@ cc_common_language_get_initial_languages
199 @@ -234,10 +328,32 @@ cc_common_language_get_initial_languages (void)
200200 insert_language (ht, "ja_JP.UTF-8");
201201 insert_language (ht, "ru_RU.UTF-8");
202202 insert_language (ht, "ar_EG.UTF-8");
230230 static void
231231 foreach_user_lang_cb (gpointer key,
232232 gpointer value,
233 @@ -263,28 +379,18 @@ cc_common_language_add_user_languages (G
233 @@ -263,28 +379,18 @@ cc_common_language_add_user_languages (GtkTreeModel *model)
234234 GtkListStore *store = GTK_LIST_STORE (model);
235235 GHashTable *user_langs;
236236 const char *display;
263263 display = g_hash_table_lookup (user_langs, name);
264264 }
265265
266 @@ -296,8 +402,8 @@ cc_common_language_add_user_languages (G
266 @@ -296,8 +402,8 @@ cc_common_language_add_user_languages (GtkTreeModel *model)
267267 g_hash_table_foreach (user_langs, (GHFunc) foreach_user_lang_cb, store);
268268
269269 /* And now the "Other…" selection */
274274
275275 g_hash_table_destroy (user_langs);
276276 }
277 Index: gnome-control-center-3.32.1/panels/common/cc-common-language.h
278 ===================================================================
279 --- gnome-control-center-3.32.1.orig/panels/common/cc-common-language.h
280 +++ gnome-control-center-3.32.1/panels/common/cc-common-language.h
281 @@ -43,6 +43,8 @@ guint cc_common_language_add_availabl
277 diff --git a/panels/common/cc-common-language.h b/panels/common/cc-common-language.h
278 index 1f578b7..2e5a446 100644
279 --- a/panels/common/cc-common-language.h
280 +++ b/panels/common/cc-common-language.h
281 @@ -43,6 +43,8 @@ guint cc_common_language_add_available_languages (GtkListStore *store,
282282 GHashTable *user_langs);
283283 gboolean cc_common_language_has_font (const gchar *locale);
284284 gchar *cc_common_language_get_current_language (void);
287287
288288 GHashTable *cc_common_language_get_initial_languages (void);
289289 GHashTable *cc_common_language_get_user_languages (void);
290 @@ -55,4 +57,6 @@ void cc_common_language_select_curre
290 @@ -55,4 +57,6 @@ void cc_common_language_select_current_language (GtkTreeView *treeview);
291291
292292 void cc_common_language_add_user_languages (GtkTreeModel *model);
293293
294294 +void cc_common_language_get_locale (const gchar *language, gchar **locale);
295295 +
296296 G_END_DECLS
297 Index: gnome-control-center-3.32.1/panels/common/cc-language-chooser.c
298 ===================================================================
299 --- gnome-control-center-3.32.1.orig/panels/common/cc-language-chooser.c
300 +++ gnome-control-center-3.32.1/panels/common/cc-language-chooser.c
301 @@ -166,7 +166,7 @@ add_languages (CcLanguageChooser *choose
297 diff --git a/panels/common/cc-language-chooser.c b/panels/common/cc-language-chooser.c
298 index 1c15b43..2cecf40 100644
299 --- a/panels/common/cc-language-chooser.c
300 +++ b/panels/common/cc-language-chooser.c
301 @@ -62,16 +62,21 @@ language_widget_new (const gchar *locale_id,
302 g_autofree gchar *country = NULL;
303 g_autofree gchar *language_local = NULL;
304 g_autofree gchar *country_local = NULL;
305 + g_autofree gchar *language_tmp = NULL;
306 + g_autofree gchar *language_loc_tmp = NULL;
307 + g_autofree gchar *modifier = NULL;
308 GtkWidget *row;
309 GtkWidget *box;
310 GtkWidget *language_label;
311 GtkWidget *check;
312 GtkWidget *country_label;
313
314 - gnome_parse_locale (locale_id, &language_code, &country_code, NULL, NULL);
315 - language = gnome_get_language_from_code (language_code, locale_id);
316 + gnome_parse_locale (locale_id, &language_code, &country_code, NULL, &modifier);
317 + language_tmp = gnome_get_language_from_code (language_code, locale_id);
318 + language = g_strdup_printf ("%s%s%s", language_tmp, modifier ? " - " : "", modifier ? modifier : "");
319 country = gnome_get_country_from_code (country_code, locale_id);
320 - language_local = gnome_get_language_from_code (language_code, NULL);
321 + language_loc_tmp = gnome_get_language_from_code (language_code, NULL);
322 + language_local = g_strdup_printf ("%s%s%s", language_loc_tmp, modifier ? " - " : "", modifier ? modifier : "");
323 country_local = gnome_get_country_from_code (country_code, NULL);
324
325 row = gtk_list_box_row_new ();
326 @@ -166,7 +171,7 @@ add_languages (CcLanguageChooser *chooser,
302327 gtk_container_add (GTK_CONTAINER (chooser->language_listbox), widget);
303328 }
304329
307332 }
308333
309334 static void
310 @@ -392,7 +392,7 @@ cc_language_chooser_init (CcLanguageChoo
335 @@ -392,7 +397,7 @@ cc_language_chooser_init (CcLanguageChooser *chooser)
311336 gtk_widget_init_template (GTK_WIDGET (chooser));
312337
313338 chooser->more_item = more_widget_new ();
316341 /* We ref-sink here so we can reuse this widget multiple times */
317342 chooser->no_results = g_object_ref_sink (no_results_widget_new ());
318343 gtk_widget_show (chooser->no_results);
319 Index: gnome-control-center-3.32.1/panels/region/cc-region-panel.c
320 ===================================================================
321 --- gnome-control-center-3.32.1.orig/panels/region/cc-region-panel.c
322 +++ gnome-control-center-3.32.1/panels/region/cc-region-panel.c
323 @@ -378,11 +378,15 @@ language_response (CcRegionPanel *se
324 gint response_id,
325 CcLanguageChooser *chooser)
326 {
327 - const gchar *language;
328 + const gchar *locale, *language, *country;
329 + gchar *name = NULL;
330
331 if (response_id == GTK_RESPONSE_OK) {
332 - language = cc_language_chooser_get_language (chooser);
333 - update_language (self, language);
334 + locale = cc_language_chooser_get_language (chooser);
335 + gnome_parse_locale (locale, &language, &country, NULL, NULL);
336 + name = g_strdup_printf ("%s_%s", language, country);
337 + update_language (self, name);
338 + g_free (name);
339 }
340
341 gtk_widget_destroy (GTK_WIDGET (chooser));
342 @@ -402,6 +406,47 @@ set_system_region (CcRegionPanel *self,
343 }
344
345 static void
344 diff --git a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c
345 index 3585952..5523cc5 100644
346 --- a/panels/region/cc-region-panel.c
347 +++ b/panels/region/cc-region-panel.c
348 @@ -361,6 +361,7 @@ static void
349 update_language (CcRegionPanel *self,
350 const gchar *language)
351 {
352 + g_debug ("Setting language to %s", language);
353 if (self->login) {
354 set_system_language (self, language);
355 } else {
356 @@ -401,6 +402,47 @@ set_system_region (CcRegionPanel *self,
357 set_localed_locale (self);
358 }
359
360 +static void
346361 +set_formats_locale (const gchar *formats_locale)
347362 +{
348363 + GDBusProxy *proxy;
383398 + g_free (user_path);
384399 +}
385400 +
386 +static void
401 static void
387402 update_region (CcRegionPanel *self,
388403 const gchar *region)
389 {
390 @@ -410,6 +455,7 @@ update_region (CcRegionPanel *self,
404 @@ -410,6 +452,7 @@ update_region (CcRegionPanel *self,
391405 } else {
392406 if (g_strcmp0 (region, self->region) == 0)
393407 return;
395409 g_settings_set_string (self->locale_settings, KEY_REGION, region);
396410 if (self->login_auto_apply)
397411 set_system_region (self, region);
398 @@ -562,7 +608,7 @@ static void
412 @@ -562,7 +605,7 @@ static void
399413 update_region_from_setting (CcRegionPanel *self)
400414 {
401415 g_free (self->region);
404418 update_region_label (self);
405419 }
406420
407 @@ -588,15 +634,19 @@ static void
421 @@ -588,15 +631,19 @@ static void
408422 update_language_from_user (CcRegionPanel *self)
409423 {
410424 const gchar *language = NULL;
428442 update_language_label (self);
429443 }
430444
431 @@ -1249,6 +1299,16 @@ setup_input_section (CcRegionPanel *self
445 @@ -1249,6 +1296,16 @@ setup_input_section (CcRegionPanel *self)
432446 update_modifiers_shortcut (self);
433447 }
434448
445459 static void
446460 on_localed_properties_changed (CcRegionPanel *self,
447461 GVariant *changed_properties,
448 @@ -1261,28 +1321,38 @@ on_localed_properties_changed (CcRegionP
462 @@ -1261,28 +1318,38 @@ on_localed_properties_changed (CcRegionPanel *self,
449463 g_autofree const gchar **strv = NULL;
450464 gsize len;
451465 gint i;
493507 g_free (self->system_region);
494508 self->system_region = g_strdup (time);
495509
496 @@ -1335,28 +1405,26 @@ set_localed_locale (CcRegionPanel *self)
510 @@ -1335,28 +1402,26 @@ set_localed_locale (CcRegionPanel *self)
497511 {
498512 g_autoptr(GVariantBuilder) b = NULL;
499513 g_autofree gchar *lang_value = NULL;
538552 }
539553 g_dbus_proxy_call (self->localed,
540554 "SetLocale",
541 Index: gnome-control-center-3.32.1/panels/user-accounts/cc-user-panel.c
542 ===================================================================
543 --- gnome-control-center-3.32.1.orig/panels/user-accounts/cc-user-panel.c
544 +++ gnome-control-center-3.32.1/panels/user-accounts/cc-user-panel.c
545 @@ -836,6 +836,7 @@ show_user (ActUser *user, CcUserPanel *s
555 diff --git a/panels/user-accounts/cc-user-panel.c b/panels/user-accounts/cc-user-panel.c
556 index 07a12dd..c284abb 100644
557 --- a/panels/user-accounts/cc-user-panel.c
558 +++ b/panels/user-accounts/cc-user-panel.c
559 @@ -836,6 +836,7 @@ show_user (ActUser *user, CcUserPanel *self)
546560
547561 name = NULL;
548562 lang = g_strdup (act_user_get_language (user));