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-settings-system-language.c b/source/ubl-settings-system-language.c index 528342f..b69d216 100644 --- a/source/ubl-settings-system-language.c +++ b/source/ubl-settings-system-language.c @@ -132,9 +132,12 @@ 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 (!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 64a6bbf..86925c3 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 (yon_char_is_empty(config_languages)&&!i){ + gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); + } + yon_char_parsed_free(parsed,parsed_size); } - yon_char_parsed_free(parsed,parsed_size); } } } 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 "" 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