From 2d75249bc029c3845af49f6ddc89948b3c2d4344 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Nov 2025 16:53:07 +0600 Subject: [PATCH 1/6] Localisation changes --- locale/ubl-settings-system.pot | 4 ++++ locale/ubl-settings-system_ru.po | 4 ++++ source/ubl-strings.h | 1 + ubl-settings-system-layouts.glade | 5 ++++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/locale/ubl-settings-system.pot b/locale/ubl-settings-system.pot index 94ff138..d5fa067 100644 --- a/locale/ubl-settings-system.pot +++ b/locale/ubl-settings-system.pot @@ -109,6 +109,10 @@ msgstr "" msgid "Accept" msgstr "" +#: source/ubl-strings.h:30 +msgid "Apply" +msgstr "" + #: source/ubl-strings.h:32 msgid "Important field is empty" msgstr "" diff --git a/locale/ubl-settings-system_ru.po b/locale/ubl-settings-system_ru.po index a62c96c..3883a0e 100644 --- a/locale/ubl-settings-system_ru.po +++ b/locale/ubl-settings-system_ru.po @@ -110,6 +110,10 @@ msgstr "Введите данные" msgid "Accept" msgstr "Принять" +#: source/ubl-strings.h:30 +msgid "Apply" +msgstr "Применить" + #: source/ubl-strings.h:32 msgid "Important field is empty" msgstr "Пустое важное поле" diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 8579eea..aac3082 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -28,6 +28,7 @@ #define INSERT_LABEL _("Insert data") #define ACCEPT_LABEL _("Accept") +#define APPLY_LABEL _("Apply") #define EMPTY_IMPORTANT_LABEL _("Important field is empty") diff --git a/ubl-settings-system-layouts.glade b/ubl-settings-system-layouts.glade index 0a29c06..b359c15 100644 --- a/ubl-settings-system-layouts.glade +++ b/ubl-settings-system-layouts.glade @@ -77,6 +77,9 @@ 1 both True + + + @@ -215,7 +218,7 @@ - Accept + Apply True True True From 6849a77b8fb596b862855ad01f6414036561eda8 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Nov 2025 16:55:22 +0600 Subject: [PATCH 2/6] Test fix for crash --- source/ubl-settings-system.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 64a6bbf..044bd19 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -46,25 +46,25 @@ void yon_interface_update(main_window *widgets){ gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),1); } else { gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),0); - } - int parsed_param_size; - config_str parsed_param = yon_char_parse(config_locale,&parsed_param_size,","); - GtkTreeIter iter; - for (int i=0;iLanguageList,&iter); - gtk_list_store_set(widgets->LanguageList,&iter,1,parsed[1],2,parsed[2],3,parsed[0],-1); - if (!yon_char_is_empty(config_languages)){ - if (!strcmp(config_languages,parsed[0])){ - gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); - } - } else if (!i){ + int parsed_param_size; + config_str parsed_param = yon_char_parse(config_locale,&parsed_param_size,","); + GtkTreeIter iter; + for (int i=0;iLanguageList,&iter); + gtk_list_store_set(widgets->LanguageList,&iter,1,parsed[1],2,parsed[2],3,parsed[0],-1); + if (!yon_char_is_empty(config_languages)){ + if (!strcmp(config_languages,parsed[0])){ + gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); + } + } else if (!i){ + } + yon_char_parsed_free(parsed,parsed_size); } - yon_char_parsed_free(parsed,parsed_size); } } } From e1649a855a5f9eaccff1a259a077e799387c26e7 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Nov 2025 17:02:09 +0600 Subject: [PATCH 3/6] Fixed current system locale radio loading --- source/ubl-settings-system.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 044bd19..f29f5fc 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -59,6 +59,8 @@ void yon_interface_update(main_window *widgets){ if (!yon_char_is_empty(config_languages)){ if (!strcmp(config_languages,parsed[0])){ gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); + } else if (yon_char_is_empty(config_languages)&&!i){ + gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); } } else if (!i){ From 707c8ec7b400ae2c5ec44f18f7f2596f4e6ff6c3 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Nov 2025 17:11:38 +0600 Subject: [PATCH 4/6] Crash fix --- source/ubl-settings-system-language.c | 2 +- source/ubl-settings-system.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/source/ubl-settings-system-language.c b/source/ubl-settings-system-language.c index 528342f..f1526a7 100644 --- a/source/ubl-settings-system-language.c +++ b/source/ubl-settings-system-language.c @@ -134,7 +134,7 @@ void on_language_remove(GtkWidget *, main_window *widgets){ free(temp); } locale_param = config(language_parameter); - if (!strcmp(locale_param,target)){ + if (!yon_char_is_empty(locale_param)&&!strcmp(locale_param,target)){ yon_config_remove_by_key(language_parameter); } yon_interface_update(widgets); diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index f29f5fc..86925c3 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -59,12 +59,10 @@ void yon_interface_update(main_window *widgets){ if (!yon_char_is_empty(config_languages)){ if (!strcmp(config_languages,parsed[0])){ gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); - } else if (yon_char_is_empty(config_languages)&&!i){ + } + } else if (yon_char_is_empty(config_languages)&&!i){ gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); } - } else if (!i){ - - } yon_char_parsed_free(parsed,parsed_size); } } From 5c83df47de8e8ad0827ec0b3c829a3815da1fb7a Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Nov 2025 17:22:42 +0600 Subject: [PATCH 5/6] Fixed deletion of last locale --- source/ubl-settings-system-language.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/ubl-settings-system-language.c b/source/ubl-settings-system-language.c index f1526a7..b69d216 100644 --- a/source/ubl-settings-system-language.c +++ b/source/ubl-settings-system-language.c @@ -132,6 +132,9 @@ void on_language_remove(GtkWidget *, main_window *widgets){ if (!yon_char_is_empty(temp)){ yon_config_register(locale_parameter,locale_parameter_command,temp); free(temp); + } else { + yon_config_remove_by_key(locale_parameter); + } locale_param = config(language_parameter); if (!yon_char_is_empty(locale_param)&&!strcmp(locale_param,target)){ From 3b5821d0969a948f0bdae09fa002b9a7d01aabc0 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Nov 2025 17:30:44 +0600 Subject: [PATCH 6/6] HOSTNAME added to load with default --- source/ubl-settings-system.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h index e4040f9..ce1ce78 100644 --- a/source/ubl-settings-system.h +++ b/source/ubl-settings-system.h @@ -41,7 +41,7 @@ #define get_id_command "/etc/machine-id" #define config_get_command(source) yon_char_unite("ubconfig --source ", source, " -ea get [system] HOSTNAME MACHINEID -- get [locale] CONSOLE_FONT LOCALE LANG -- get [network] DOMAIN DOMAIN[admanger] DOMAIN[server] DOMAIN[dns] DOMAIN[client]",NULL) -#define config_get_default_command "ubconfig --source default get [locale] CONSOLE_FONT LOCALE LANG" +#define config_get_default_command "ubconfig --source default get [locale] CONSOLE_FONT LOCALE LANG -- [system] HOSTNAME" #define config_get_global_only_parameters "" #define config_get_local_only_parameters ""