diff --git a/gresource.xml b/gresource.xml
index 8cfa3cf..022eda4 100644
--- a/gresource.xml
+++ b/gresource.xml
@@ -56,6 +56,7 @@
kernel-list-addon.csv
services-list.csv
network-list.csv
+ languages.csv
filesystems-format-list.csv
\ No newline at end of file
diff --git a/languages.csv b/languages.csv
new file mode 100644
index 0000000..7e96286
--- /dev/null
+++ b/languages.csv
@@ -0,0 +1,66 @@
+LANG;LANG_NAME
+af_ZA.UTF-8;Afrikaans
+ar_AE.UTF-8;Arabic
+as_IN.UTF-8;Assamese
+az_AZ.UTF-8;Azerbaijani
+be_BY.UTF-8;Belarusian
+bg_BG.UTF-8;Bulgarian
+bn_IN.UTF-8;Bengali
+bs_BA.UTF-8;Bosnian
+ca_ES.UTF-8;Catalan
+cs_CZ.UTF-8;Czech
+da_DK.UTF-8;Danish
+de_DE.UTF-8;German
+el_GR.UTF-8;Greek
+en_GB.UTF-8;English
+es_ES.UTF-8;Spanish
+et_EE.UTF-8;Estonian
+fi_FI.UTF-8;Finnish
+fr_FR.UTF-8;French
+gu_IN.UTF-8;Gujarati
+he_IL.UTF-8;Hebrew
+hi_IN.UTF-8;Hindi
+hr_HR.UTF-8;Croatian
+hu_HU.UTF-8;Hungarian
+hy_AM.UTF-8;Armenian
+id_ID.UTF-8;Indonesian
+is_IS.UTF-8;Icelandic
+it_IT.UTF-8;Italian
+ja_JP.UTF-8;Japanese
+ka_GE.UTF-8;Georgian
+kk_KZ.UTF-8;Kazakh
+kn_IN.UTF-8;Kannada
+ko_KR.UTF-8;Korean
+ks_IN.UTF-8;Kashmiri
+ku_TR.UTF-8;Kurdish
+ky_KG.UTF-8;Kirghiz
+lt_LT.UTF-8;Lithuanian
+lv_LV.UTF-8;Latvian
+mk_MK.UTF-8;Macedonian
+ml_IN.UTF-8;Malayalam
+mr_IN.UTF-8;Marathi
+ms_MY.UTF-8;Malay
+mt_MT.UTF-8;Maltese
+nb_NO.UTF-8;Bokmal
+nl_NL.UTF-8;Dutch
+nn_NO.UTF-8;Nynorsk
+or_IN.UTF-8;Oriya
+pa_IN.UTF-8;Punjabi
+pl_PL.UTF-8;Polish
+pt_PT.UTF-8;Portuguese
+ro_RO.UTF-8;Romanian
+ru_RU.UTF-8;Russian
+sa_IN.UTF-8;Sanskrit
+sk_SK.UTF-8;Slovak
+sl_SI.UTF-8;Slovenian
+sq_AL.UTF-8;Albanian
+sr_ME.UTF-8;Serbian
+sr_RS.UTF-8;Serbian
+sv_SE.UTF-8;Swedish
+ta_IN.UTF-8;Tamil
+te_IN.UTF-8;Telugu
+th_TH.UTF-8;Thai
+tr_TR.UTF-8;Turkish
+uk_UA.UTF-8;Ukrainian
+vi_VN.UTF-8;Vietnamese
+zh_CN.UTF-8;Simplified Chinese
\ No newline at end of file
diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po
index 6291401..9af6a32 100644
--- a/locale/ubinstall-gtk_ru.po
+++ b/locale/ubinstall-gtk_ru.po
@@ -522,7 +522,7 @@ msgstr "Режим конфигурации"
#: source/ubl-strings.h:140
msgid "Attention! Configuration mode was enabled!"
-msgstr "Внимание! Включен режим конфигурации"
+msgstr "Внимание! Включен режим конфигурации!"
#: source/ubl-strings.h:141
msgid "Configuration will be saved in configuration file"
diff --git a/locales.csv b/locales.csv
index 543d3ee..1d8d0ca 100644
--- a/locales.csv
+++ b/locales.csv
@@ -1,129 +1,130 @@
-af_ZA.UTF-8;Afrikaans, South Africa
-ar_AE.UTF-8;Arabic, United Arab Emirates
-ar_BH.UTF-8;Arabic, Bahrain
-ar_DZ.UTF-8;Arabic, Algeria
-ar_EG.UTF-8;Arabic, Egypt
-ar_IQ.UTF-8;Arabic, Iraq
-ar_JO.UTF-8;Arabic, Jordan
-ar_KW.UTF-8;Arabic, Kuwait
-ar_LY.UTF-8;Arabic, Libya
-ar_MA.UTF-8;Arabic, Morocco
-ar_OM.UTF-8;Arabic, Oman
-ar_QA.UTF-8;Arabic, Qatar
-ar_SA.UTF-8;Arabic, Saudi Arabia
-ar_TN.UTF-8;Arabic, Tunisia
-ar_YE.UTF-8;Arabic, Yemen
-as_IN.UTF-8;Assamese, India
-az_AZ.UTF-8;Azerbaijani, Azerbaijan
-be_BY.UTF-8;Belarusian, Belarus
-bg_BG.UTF-8;Bulgarian, Bulgaria
-bn_IN.UTF-8;Bengali, India
-bs_BA.UTF-8;Bosnian, Bosnia and Herzegovina
-ca_ES.UTF-8;Catalan, Spain
-cs_CZ.UTF-8;Czech, Czech Republic
-da_DK.UTF-8;Danish, Denmark
-de_AT.UTF-8;German, Austria
-de_BE.UTF-8;German, Belgium
-de_CH.UTF-8;German, Switzerland
-de_DE.UTF-8;German, Germany
-de_LI.UTF-8;German, Liechtenstein
-de_LU.UTF-8;German, Luxembourg
-el_CY.UTF-8;Greek, Cyprus
-el_GR.UTF-8;Greek, Greece
-en_AU.UTF-8;English, Australia
-en_BW.UTF-8;English, Botswana
-en_CA.UTF-8;English, Canada
-en_GB.UTF-8;English, United Kingdom
-en_HK.UTF-8;English, Hong Kong SAR China
-en_IE.UTF-8;English, Ireland
-en_IN.UTF-8;English, India
-en_MT.UTF-8;English, Malta
-en_NZ.UTF-8;English, New Zealand
-en_PH.UTF-8;English, Philippines
-en_SG.UTF-8;English, Singapore
-en_US.UTF-8;English, U.S.A.
-en_ZW.UTF-8;English, Zimbabwe
-es_AR.UTF-8;Spanish, Argentina
-es_BO.UTF-8;Spanish, Bolivia
-es_CL.UTF-8;Spanish, Chile
-es_CO.UTF-8;Spanish, Colombia
-es_CR.UTF-8;Spanish, Costa Rica
-es_DO.UTF-8;Spanish, Dominican Republic
-es_EC.UTF-8;Spanish, Ecuador
-es_ES.UTF-8;Spanish, Spain
-es_GT.UTF-8;Spanish, Guatemala
-es_HN.UTF-8;Spanish, Honduras
-es_MX.UTF-8;Spanish, Mexico
-es_NI.UTF-8;Spanish, Nicaragua
-es_PA.UTF-8;Spanish, Panama
-es_PE.UTF-8;Spanish, Peru
-es_PR.UTF-8;Spanish, Puerto Rico
-es_PY.UTF-8;Spanish, Paraguay
-es_SV.UTF-8;Spanish, El Salvador
-es_US.UTF-8;Spanish, U.S.A.
-es_UY.UTF-8;Spanish, Uruguay
-es_VE.UTF-8;Spanish, Venezuela
-et_EE.UTF-8;Estonian, Estonia
-fi_FI.UTF-8;Finnish, Finland
-fr_BE.UTF-8;French, Belgium
-fr_CA.UTF-8;French, Canada
-fr_CH.UTF-8;French, Switzerland
-fr_FR.UTF-8;French, France
-fr_LU.UTF-8;French, Luxembourg
-gu_IN.UTF-8;Gujarati, India
-he_IL.UTF-8;Hebrew, Israel
-hi_IN.UTF-8;Hindi, India
-hr_HR.UTF-8;Croatian, Croatia
-hu_HU.UTF-8;Hungarian, Hungary
-hy_AM.UTF-8;Armenian, Armenia
-id_ID.UTF-8;Indonesian, Indonesia
-is_IS.UTF-8;Icelandic, Iceland
-it_CH.UTF-8;Italian, Switzerla;nd
-it_IT.UTF-8;Italian, Italy
-ja_JP.UTF-8;Japanese, Japan
-ka_GE.UTF-8;Georgian, Georgia
-kk_KZ.UTF-8;Kazakh, Kazakhstan
-kn_IN.UTF-8;Kannada, India
-ko_KR.UTF-8;Korean, Korea
-ks_IN.UTF-8;Kashmiri, India
-ku_TR.UTF-8;Kurdish, Turkey
-ku_TR.UTF-8@sorani;Kurdish (Sorani), Turkey
-ky_KG.UTF-8;Kirghiz, Kyrgyzstan
-lt_LT.UTF-8;Lithuanian, Lithuania
-lv_LV.UTF-8;Latvian, Latvia
-mk_MK.UTF-8;Macedonian, Macedonia
-ml_IN.UTF-8;Malayalam, India
-mr_IN.UTF-8;Marathi, India
-ms_MY.UTF-8;Malay, Malaysia
-mt_MT.UTF-8;Maltese, Malta
-nb_NO.UTF-8;Bokmal, Norway
-nl_BE.UTF-8;Dutch, Belgium
-nl_NL.UTF-8;Dutch, Netherlands
-nn_NO.UTF-8;Nynorsk, Norway
-or_IN.UTF-8;Oriya, India
-pa_IN.UTF-8;Punjabi, India
-pl_PL.UTF-8;Polish, Poland
-pt_BR.UTF-8;Portuguese, Brazil
-pt_PT.UTF-8;Portuguese, Portugal
-ro_RO.UTF-8;Romanian, Romania
-ru_RU.UTF-8;Russian, Russia
-ru_UA.UTF-8;Russian, Ukraine
-sa_IN.UTF-8;Sanskrit, India
-sk_SK.UTF-8;Slovak, Slovakia
-sl_SI.UTF-8;Slovenian, Slovenia
-sq_AL.UTF-8;Albanian, Albania
-sr_ME.UTF-8;Serbian, Montenegro
-sr_ME.UTF-8@latin;Serbian, Montenegro (Latin)
-sr_RS.UTF-8;Serbian, Serbia
-sr_RS.UTF-8@latin;Serbian, Serbia (Latin)
-sv_SE.UTF-8;Swedish, Sweden
-ta_IN.UTF-8;Tamil, India
-te_IN.UTF-8;Telugu, India
-th_TH.UTF-8;Thai, Thailand
-tr_TR.UTF-8;Turkish, Turkey
-uk_UA.UTF-8;Ukrainian, Ukraine
-vi_VN.UTF-8;Vietnamese, Vietnam
-zh_CN.UTF-8;Simplified Chinese, China
-zh_HK.UTF-8;Traditional Chinese, Hong Kong SAR China
-zh_SG.UTF-8;Chinese, Singapore
-zh_TW.UTF-8;Traditional Chinese, Taiwan
\ No newline at end of file
+LANG_GROUP;LANG;LANG_NAME
+af;af_ZA.UTF-8;Afrikaans, South Africa
+ar;ar_AE.UTF-8;Arabic, United Arab Emirates
+ar;ar_BH.UTF-8;Arabic, Bahrain
+ar;ar_DZ.UTF-8;Arabic, Algeria
+ar;ar_EG.UTF-8;Arabic, Egypt
+ar;ar_IQ.UTF-8;Arabic, Iraq
+ar;ar_JO.UTF-8;Arabic, Jordan
+ar;ar_KW.UTF-8;Arabic, Kuwait
+ar;ar_LY.UTF-8;Arabic, Libya
+ar;ar_MA.UTF-8;Arabic, Morocco
+ar;ar_OM.UTF-8;Arabic, Oman
+ar;ar_QA.UTF-8;Arabic, Qatar
+ar;ar_SA.UTF-8;Arabic, Saudi Arabia
+ar;ar_TN.UTF-8;Arabic, Tunisia
+ar;ar_YE.UTF-8;Arabic, Yemen
+as;as_IN.UTF-8;Assamese, India
+az;az_AZ.UTF-8;Azerbaijani, Azerbaijan
+be;be_BY.UTF-8;Belarusian, Belarus
+bg;bg_BG.UTF-8;Bulgarian, Bulgaria
+bn;bn_IN.UTF-8;Bengali, India
+bs;bs_BA.UTF-8;Bosnian, Bosnia and Herzegovina
+ca;ca_ES.UTF-8;Catalan, Spain
+cs;cs_CZ.UTF-8;Czech, Czech Republic
+da;da_DK.UTF-8;Danish, Denmark
+de;de_AT.UTF-8;German, Austria
+de;de_BE.UTF-8;German, Belgium
+de;de_CH.UTF-8;German, Switzerland
+de;de_DE.UTF-8;German, Germany
+de;de_LI.UTF-8;German, Liechtenstein
+de;de_LU.UTF-8;German, Luxembourg
+el;el_CY.UTF-8;Greek, Cyprus
+el;el_GR.UTF-8;Greek, Greece
+en;en_AU.UTF-8;English, Australia
+en;en_BW.UTF-8;English, Botswana
+en;en_CA.UTF-8;English, Canada
+en;en_GB.UTF-8;English, United Kingdom
+en;en_HK.UTF-8;English, Hong Kong SAR China
+en;en_IE.UTF-8;English, Ireland
+en;en_IN.UTF-8;English, India
+en;en_MT.UTF-8;English, Malta
+en;en_NZ.UTF-8;English, New Zealand
+en;en_PH.UTF-8;English, Philippines
+en;en_SG.UTF-8;English, Singapore
+en;en_US.UTF-8;English, U.S.A.
+en;en_ZW.UTF-8;English, Zimbabwe
+es;es_AR.UTF-8;Spanish, Argentina
+es;es_BO.UTF-8;Spanish, Bolivia
+es;es_CL.UTF-8;Spanish, Chile
+es;es_CO.UTF-8;Spanish, Colombia
+es;es_CR.UTF-8;Spanish, Costa Rica
+es;es_DO.UTF-8;Spanish, Dominican Republic
+es;es_EC.UTF-8;Spanish, Ecuador
+es;es_ES.UTF-8;Spanish, Spain
+es;es_GT.UTF-8;Spanish, Guatemala
+es;es_HN.UTF-8;Spanish, Honduras
+es;es_MX.UTF-8;Spanish, Mexico
+es;es_NI.UTF-8;Spanish, Nicaragua
+es;es_PA.UTF-8;Spanish, Panama
+es;es_PE.UTF-8;Spanish, Peru
+es;es_PR.UTF-8;Spanish, Puerto Rico
+es;es_PY.UTF-8;Spanish, Paraguay
+es;es_SV.UTF-8;Spanish, El Salvador
+es;es_US.UTF-8;Spanish, U.S.A.
+es;es_UY.UTF-8;Spanish, Uruguay
+es;es_VE.UTF-8;Spanish, Venezuela
+et;et_EE.UTF-8;Estonian, Estonia
+fi;fi_FI.UTF-8;Finnish, Finland
+fr;fr_BE.UTF-8;French, Belgium
+fr;fr_CA.UTF-8;French, Canada
+fr;fr_CH.UTF-8;French, Switzerland
+fr;fr_FR.UTF-8;French, France
+fr;fr_LU.UTF-8;French, Luxembourg
+gu;gu_IN.UTF-8;Gujarati, India
+he;he_IL.UTF-8;Hebrew, Israel
+hi;hi_IN.UTF-8;Hindi, India
+hr;hr_HR.UTF-8;Croatian, Croatia
+hu;hu_HU.UTF-8;Hungarian, Hungary
+hy;hy_AM.UTF-8;Armenian, Armenia
+id;id_ID.UTF-8;Indonesian, Indonesia
+is;is_IS.UTF-8;Icelandic, Iceland
+it;it_CH.UTF-8;Italian, Switzerland
+it;it_IT.UTF-8;Italian, Italy
+ja;ja_JP.UTF-8;Japanese, Japan
+ka;ka_GE.UTF-8;Georgian, Georgia
+kk;kk_KZ.UTF-8;Kazakh, Kazakhstan
+kn;kn_IN.UTF-8;Kannada, India
+ko;ko_KR.UTF-8;Korean, Korea
+ks;ks_IN.UTF-8;Kashmiri, India
+ku;ku_TR.UTF-8;Kurdish, Turkey
+ku;ku_TR.UTF-8@sorani;Kurdish (Sorani), Turkey
+ky;ky_KG.UTF-8;Kirghiz, Kyrgyzstan
+lt;lt_LT.UTF-8;Lithuanian, Lithuania
+lv;lv_LV.UTF-8;Latvian, Latvia
+mk;mk_MK.UTF-8;Macedonian, Macedonia
+ml;ml_IN.UTF-8;Malayalam, India
+mr;mr_IN.UTF-8;Marathi, India
+ms;ms_MY.UTF-8;Malay, Malaysia
+mt;mt_MT.UTF-8;Maltese, Malta
+nb;nb_NO.UTF-8;Bokmal, Norway
+nl;nl_BE.UTF-8;Dutch, Belgium
+nl;nl_NL.UTF-8;Dutch, Netherlands
+nn;nn_NO.UTF-8;Nynorsk, Norway
+or;or_IN.UTF-8;Oriya, India
+pa;pa_IN.UTF-8;Punjabi, India
+pl;pl_PL.UTF-8;Polish, Poland
+pt;pt_BR.UTF-8;Portuguese, Brazil
+pt;pt_PT.UTF-8;Portuguese, Portugal
+ro;ro_RO.UTF-8;Romanian, Romania
+ru;ru_RU.UTF-8;Russian, Russia
+ru;ru_UA.UTF-8;Russian, Ukraine
+sa;sa_IN.UTF-8;Sanskrit, India
+sk;sk_SK.UTF-8;Slovak, Slovakia
+sl;sl_SI.UTF-8;Slovenian, Slovenia
+sq;sq_AL.UTF-8;Albanian, Albania
+sr;sr_ME.UTF-8;Serbian, Montenegro
+sr;sr_ME.UTF-8@latin;Serbian, Montenegro (Latin)
+sr;sr_RS.UTF-8;Serbian, Serbia
+sr;sr_RS.UTF-8@latin;Serbian, Serbia (Latin)
+sv;sv_SE.UTF-8;Swedish, Sweden
+ta;ta_IN.UTF-8;Tamil, India
+te;te_IN.UTF-8;Telugu, India
+th;th_TH.UTF-8;Thai, Thailand
+tr;tr_TR.UTF-8;Turkish, Turkey
+uk;uk_UA.UTF-8;Ukrainian, Ukraine
+vi;vi_VN.UTF-8;Vietnamese, Vietnam
+zh;zh_CN.UTF-8;Simplified Chinese, China
+zh;zh_HK.UTF-8;Traditional Chinese, Hong Kong SAR China
+zh;zh_SG.UTF-8;Chinese, Singapore
+zh;zh_TW.UTF-8;Traditional Chinese, Taiwan
\ No newline at end of file
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index 3174321..cec9547 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -78,6 +78,7 @@ set(DEPENDFILES
../kernel-list-addon.csv
../services-list.csv
../network-list.csv
+ ../languages.csv
../filesystems-format-list.csv
../icons-builtin/install_type_custom_normal.png
../icons-builtin/install_type_data_only_normal.png
diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c
index 0782600..da860f5 100644
--- a/source/ubinstall-gtk-bootloader.c
+++ b/source/ubinstall-gtk-bootloader.c
@@ -41,6 +41,24 @@ int yon_bootloader_save(main_window *widgets){
yon_config_remove_by_key(GRUB_PASSWORD_parameter_all);
yon_config_remove_by_key(GRUB_SUPERUSERS_parameter);
}
+
+ if (!main_config.configure_mode){
+ int size, users_size, final_size, save_size;
+ config_str grub_users = yon_config_find_keys(GRUB_PASSWORD_parameter_search,&users_size);
+ config_str save_parameters = yon_char_parsed_new(&size,GRUB_TIMEOUT_parameter,GRUB_DEFAULT_parameter,AUTOLOGINUSER_parameter,GRUB_SUPERUSERS_parameter,NULL);
+ config_str final = yon_char_parsed_merge(save_parameters,size,grub_users,users_size,&final_size);
+ config_str parameters = yon_config_get_save_parameters_by_list(&save_size,final,final_size);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,save_size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,save_size);
+ }
+ if (grub_users) yon_char_parsed_free(grub_users,users_size);
+ if (save_parameters) yon_char_parsed_free(save_parameters,size);
+ }
+
yon_bootloader_interface_update(widgets);
return 1;
}
diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c
index 3731c0b..20f028e 100644
--- a/source/ubinstall-gtk-components.c
+++ b/source/ubinstall-gtk-components.c
@@ -27,11 +27,23 @@ int yon_kernel_save(main_window *widgets){
yon_config_remove_by_key(modules_extra_parameter);
}
yon_config_register(KERNEL_BOOT_parameter,KERNEL_BOOT_parameter_command,enabled_module);
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_parameter,KERNEL_BOOT_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
+
return 1;
}
int yon_kernel_addon_save(main_window *widgets){
- yon_kernel_save(widgets);
+ // yon_kernel_save(widgets);
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
char *install_modules = "";
for(GList *iter = list;iter;iter = iter->next){
@@ -49,6 +61,17 @@ int yon_kernel_addon_save(main_window *widgets){
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
free(parameter_new);
}
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
@@ -72,6 +95,17 @@ int yon_os_components_save(main_window *widgets){
} else {
yon_config_remove_by_key(modules_parameter);
}
+ if (!main_config.configure_mode){
+ int parameters_size;
+ config_str parameters = yon_config_get_save_parameters_by_key(¶meters_size,modules_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,parameters_size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,parameters_size);
+ }
+ }
return 1;
}
@@ -189,6 +223,17 @@ int yon_software_save(main_window *widgets){
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
free(parameter_new);
}
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
@@ -243,6 +288,17 @@ int yon_pacman_software_save(main_window *widgets){
} else {
yon_config_remove_by_key(packages_parameter);
}
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
diff --git a/source/ubinstall-gtk-grub.c b/source/ubinstall-gtk-grub.c
index 8999484..2d65341 100644
--- a/source/ubinstall-gtk-grub.c
+++ b/source/ubinstall-gtk-grub.c
@@ -20,6 +20,17 @@ int yon_grub_install_save(main_window *widgets){
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(part_parameter,part_parameter_command,partition);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_install");
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,AUTOINSTALL_DEVICE,part_parameter,AUTOINSTALL_TYPE_INSTALL,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
@@ -43,5 +54,16 @@ int yon_grub_update_save(main_window *widgets){
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(part_parameter,part_parameter_command,partition);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update");
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,AUTOINSTALL_DEVICE,part_parameter,AUTOINSTALL_TYPE_INSTALL,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c
index 817e6d9..064d435 100644
--- a/source/ubinstall-gtk-installation.c
+++ b/source/ubinstall-gtk-installation.c
@@ -28,6 +28,18 @@ int yon_install_common_save(main_window *widgets){
} else {
yon_config_remove_by_key(part_fs_type_parameter);
}
+
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_DEVICE,part_label_parameter,part_fs_type_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
@@ -87,6 +99,17 @@ int yon_install_separate_save(main_window *widgets){
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"next");
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device);
yon_config_register(part_parameter,part_parameter_command,part);
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,part_format_parameter,part_label_parameter,part_fs_type_parameter,AUTOINSTALL_DEVICE,part_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
@@ -134,6 +157,17 @@ int yon_install_same_partition_save(main_window *widgets){
yon_config_remove_by_key(part_format_parameter);
yon_config_remove_by_key(part_fs_type_parameter);
}
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,part_format_parameter,part_size_parameter,part_label_parameter,part_fs_type_parameter,AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_DEVICE,part_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
@@ -446,11 +480,9 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){
default:return;
}
-
char *device = config(AUTOINSTALL_DEVICE);
char *part = config(part_parameter);
-
if (!yon_char_is_empty(device)){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->DevicesList);
@@ -503,7 +535,7 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){
if (!yon_char_is_empty(parameter)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(fs_type_combo),parameter);
} else {
- gtk_combo_box_set_active(GTK_COMBO_BOX(fs_type_combo),1);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(fs_type_combo),0);
}
}
if (partition_size_spin&&partition_size_combo){
@@ -685,7 +717,7 @@ void on_install_advanced_add_new(GtkWidget *, main_window *widgets){
gtk_box_pack_start(GTK_BOX(widgets->AdvancedPartitionAddBox),part->MainBox,0,0,0);
gtk_widget_show(part->MainBox);
yon_advanced_partition_setup(part,widgets);
- on_advanced_parts_added(NULL,NULL,widgets);
+ on_advanced_parts_added(NULL,NULL,widgets);
}
void on_install_advanced_device_chosen(GtkCellRenderer *, gchar *path, main_window *widgets){
diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c
index da83e14..05d660b 100644
--- a/source/ubinstall-gtk-keyboard.c
+++ b/source/ubinstall-gtk-keyboard.c
@@ -51,6 +51,18 @@ int yon_keyboard_save(main_window *widgets){
} else {
yon_config_remove_by_key(xkboptions_parameter);
}
+
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,xkbvariant_parameter,xkblayout_parameter,xkbmodel_parameter,xkboptions_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
diff --git a/source/ubinstall-gtk-network.c b/source/ubinstall-gtk-network.c
index e57eeda..b3f1766 100644
--- a/source/ubinstall-gtk-network.c
+++ b/source/ubinstall-gtk-network.c
@@ -282,6 +282,22 @@ int yon_network_save(main_window *widgets){
}
}
+ if (!main_config.configure_mode){
+ int size, users_size, final_size, save_size;
+ config_str users = yon_config_find_keys(NETWORK_parameter_search,&users_size);
+ config_str save_parameters = yon_char_parsed_new(&size,DOMAIN_parameter,DOMAIN_admanger_parameter,NTPSERVERS_parameter,hostname_parameter,NULL);
+ config_str final = yon_char_parsed_merge(save_parameters,size,users,users_size,&final_size);
+ config_str parameters = yon_config_get_save_parameters_by_list(&save_size,final,final_size);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,save_size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,save_size);
+ }
+ if (users)yon_char_parsed_free(users,users_size);
+ if (save_parameters)yon_char_parsed_free(save_parameters,size);
+ }
return 1;
}
diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c
index 75391ab..b13fbd6 100644
--- a/source/ubinstall-gtk-page-switch.c
+++ b/source/ubinstall-gtk-page-switch.c
@@ -152,7 +152,7 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){
return yon_os_components_save(widgets);
break;
case YON_PAGE_KERNEL:
- // return yon_kernel_save(widgets);
+ return yon_kernel_save(widgets);
break;
case YON_PAGE_KERNEL_ADDON:
return yon_kernel_addon_save(widgets);
@@ -290,11 +290,6 @@ void yon_configuration_mode_check(main_window *widgets){
} else {
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0);
}
- if (page == YON_PAGE_CONFIGURE_END){
- gtk_widget_show(widgets->SaveButton);
- } else {
- gtk_widget_hide(widgets->SaveButton);
- }
}
void yon_page_update(main_window *widgets){
diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c
index e6e6d9e..69135ab 100644
--- a/source/ubinstall-gtk-region.c
+++ b/source/ubinstall-gtk-region.c
@@ -39,6 +39,17 @@ int yon_region_save(main_window *widgets){
} else {
yon_config_remove_by_key(zone_parameter);
}
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,locale_parameter,lang_parameter,zone_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c
index b8c0f62..c59c8b6 100644
--- a/source/ubinstall-gtk-saving.c
+++ b/source/ubinstall-gtk-saving.c
@@ -717,7 +717,7 @@ int yon_config_save(main_window *widgets){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
return 0;
}
- char *command = yon_debug_output("%s\n",ubconfig_set_command_full(main_config.config_save_path,"",yon_char_parsed_to_string(parameters,size," ")));
+ char *command = yon_debug_output("%s\n",ubconfig_set_command_full(main_config.config_save_path,"[autoinstall]",yon_char_parsed_to_string(parameters,size," ")));
if (system(command)){
return 0;
}
diff --git a/source/ubinstall-gtk-separate.c b/source/ubinstall-gtk-separate.c
index 61a7a64..3485f71 100644
--- a/source/ubinstall-gtk-separate.c
+++ b/source/ubinstall-gtk-separate.c
@@ -22,5 +22,16 @@ int yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *
if(cur_section) free(cur_section);
if(cur_device) free(cur_device);
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,AUTOINSTALL_DEVICE,AUTOINSTALL_TYPE_INSTALL,part_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c
index 2c5ee87..4ad1d67 100644
--- a/source/ubinstall-gtk-startup-services.c
+++ b/source/ubinstall-gtk-startup-services.c
@@ -210,5 +210,16 @@ int yon_startup_save(main_window *widgets){
} else {
yon_config_remove_by_key(SERVICES_ENABLE_parameter);
}
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,SERVICES_ENABLE_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
return 1;
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c
index e399ded..43631f5 100644
--- a/source/ubinstall-gtk-users.c
+++ b/source/ubinstall-gtk-users.c
@@ -32,6 +32,22 @@ int yon_users_save(main_window *widgets){
}
}
+ if (!main_config.configure_mode){
+ int size, users_size, final_size, save_size;
+ config_str users = yon_config_find_keys(USERADD_parameter_search,&users_size);
+ config_str save_parameters = yon_char_parsed_new(&size,root_password_parameter,autologin_parameter,NULL);
+ config_str final = yon_char_parsed_merge(save_parameters,size,users,users_size,&final_size);
+ config_str parameters = yon_config_get_save_parameters_by_list(&save_size,final,final_size);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,save_size);
+ }
+ if (users)yon_char_parsed_free(users,users_size);
+ if (save_parameters)yon_char_parsed_free(save_parameters,size);
+ }
yon_debug_output("%s\n",yon_config_get_all_info());
return 1;
}
diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c
index fd5a71c..7914616 100644
--- a/source/ubinstall-gtk.c
+++ b/source/ubinstall-gtk.c
@@ -196,6 +196,17 @@ void on_source_accept(GtkWidget *,source_window *window){
free(parameter_string);
on_subwindow_close(window->Window);
+ if (!main_config.configure_mode){
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,locale_parameter,lang_parameter,zone_parameter,NULL);
+ if (parameters){
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ if (!system(command)){}
+ free(command);
+ yon_char_parsed_free(parameters,size);
+ }
+ }
}
source_window *yon_source_window_new(){
@@ -299,9 +310,63 @@ void config_init(){
// void *on_setup_system_configuration(void *data);
-// void on_locale_changed(GtkWidget *,main_window *){
-//
-// }
+void on_locale_changed(GtkWidget *,main_window *widgets){
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LanguagesTree)),&model,&iter)) return;
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter));
+ char *config_code = config(installer_lang_parameter);
+ if (yon_char_is_empty(config_code)){
+ config_code = yon_char_new(setlocale(LC_ALL,NULL));
+ if (strstr(config_code,".")){
+ yon_char_divide_search_self(config_code,".",-1);
+ }
+ }
+ GtkTreeIter itar;
+ for_iter(widgets->InstallerCountryFilter,&iter){
+ gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),&itar,&iter);
+ char *target;
+ gtk_tree_model_get(GTK_TREE_MODEL(widgets->InstallerCountryList),&itar,2,&target,-1);
+ if (!strcmp(config_code,target)){
+ gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),&iter,&itar);
+ gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->CountryLanguagesTree)),&iter);
+ break;
+ }
+ }
+
+}
+
+void on_installer_language_changed(GtkWidget *self, main_window *widgets){
+ char *window_language;
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->CountryLanguagesTree)),&model,&iter)) return;
+ gtk_tree_model_get(model,&iter,2,&window_language,-1);
+ if (!yon_char_is_empty(window_language)){
+ yon_config_register(installer_lang_parameter,installer_lang_parameter_command,(char*)window_language);
+ }
+ char *active_lang_id = gtk_tree_model_get_string_from_iter(model,&iter);
+ int size;
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,installer_lang_parameter,NULL);
+ char *command_parameters = yon_char_parsed_to_string(parameters,size," ");
+ char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
+ g_signal_handlers_block_by_func(G_OBJECT(widgets->MainWindow),G_CALLBACK(on_yon_exit),widgets);
+ if (!system(command)){};
+ gtk_widget_destroy(widgets->MainWindow);
+ setlocale(LC_ALL, window_language);
+ textdomain(LocaleName);
+ g_setenv("LANGUAGE",window_language,1);
+
+ yon_main_window_create(widgets);
+ char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
+ yon_window_config_setup(GTK_WINDOW(widgets->MainWindow));
+ yon_window_config_load(path);
+ g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(on_locale_changed),widgets);
+ model = GTK_TREE_MODEL(widgets->InstallerLanguageList);
+ gtk_tree_model_get_iter_from_string(model,&iter,active_lang_id);
+ g_signal_handlers_unblock_by_func(G_OBJECT(self),G_CALLBACK(on_locale_changed),widgets);
+
+}
void on_additional_software_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
@@ -351,22 +416,138 @@ gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){
gtk_main_quit();
return 1;
}
+ }
+
+ return 1;
+}
+
+typedef struct{
+ char *locale_name;
+ char *code;
+ char *localised_name;
+ char *code_full;
+} locale_struct;
+
+void set_locales_list(main_window *widgets){
+ gtk_list_store_clear(widgets->InstallerLanguageList);
+ gtk_list_store_clear(widgets->InstallerCountryList);
+
+ GHashTable *localisations = g_hash_table_new(g_str_hash,g_str_equal);
+ int locales_size;
+ config_str locales = yon_dir_get_contents(locales_list_command,&locales_size);
+ dictionary *locale_dict = NULL;
+ for (int i=0;iInstallerCountryList,&iter);
+ gtk_list_store_set(widgets->InstallerCountryList,&iter,0,code,1,_(country),2,locales[i],3,_(tooltip),-1);
+ }
+ if (!g_hash_table_contains(localisations,code)) {
+ locale_struct *locale = malloc(sizeof(locale_struct));
+ memset(locale,0,sizeof(locale_struct));
+
+ locale->locale_name = yon_char_parsed_check_exist_begins_with(code_info,info_size,"language");
+ locale->code = code;
+ locale->localised_name = yon_char_parsed_check_exist_begins_with(code_info,info_size,"lang_name");
+ locale->code_full = yon_char_new(locales[i]);
+
+ if (!yon_char_is_empty(locale->locale_name)){
+ yon_char_remove_last_symbol(locale->locale_name,'\n');
+ yon_char_remove_last_symbol(locale->locale_name,'"');
+ }
+ if (!yon_char_is_empty(locale->localised_name)){
+ yon_char_remove_last_symbol(locale->localised_name,'\n');
+ yon_char_remove_last_symbol(locale->localised_name,'"');
+ }
+ yon_dictionary_add_or_create_if_exists_with_data(locale_dict,locales[i],locale);
+ free(yon_char_divide_search(locale->locale_name,"\"",-1));
+ free(yon_char_divide_search(locale->localised_name,"\"",-1));
+ g_hash_table_add(localisations,code);
+ }
+ yon_char_parsed_free(code_info,info_size);
+ }
+ yon_char_parsed_free(locales,locales_size);
+
+ GtkTreeIter iter;
+ dictionary *dict;
+ char *config_val = yon_char_new(config(installer_lang_parameter));
+ char *config_code = NULL;
+ if (yon_char_is_empty(config_val)) config_val = yon_char_new(setlocale(LC_ALL,NULL));
+ if(strstr(config_val,"_")){
+ config_code = yon_char_divide_search(config_val,"_",-1);
+ free(config_val);
+
+ }
+ for_dictionaries(dict,locale_dict){
+ locale_struct *locale = yon_dictionary_get_data(dict,locale_struct*);
+ gtk_list_store_append(widgets->InstallerLanguageList,&iter);
+ gtk_list_store_set(widgets->InstallerLanguageList,&iter,0,locale->code,1,locale->locale_name,2,_(locale->localised_name),3,locale->code_full,-1);
+ if (!yon_char_is_empty(config_code)){
+ if (!strcmp(config_code,locale->code)){
+ g_signal_handlers_block_by_func(G_OBJECT(widgets->CountryLanguagesTree),G_CALLBACK(on_installer_language_changed),widgets);
+ gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LanguagesTree)),&iter);
+ on_locale_changed(NULL,widgets);
+ g_signal_handlers_unblock_by_func(G_OBJECT(widgets->CountryLanguagesTree),G_CALLBACK(on_installer_language_changed),widgets);
+ }
+ }
+ }
+
+}
+gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets){
+ GtkTreeIter itar;
+ GtkTreeModel *model;
+ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LanguagesTree)),&model,&itar)) return 0;
+ char *cur_code,*country;
+ gtk_tree_model_get(self,iter,0,&cur_code,1,&country,-1);
+ char *code;
+
+ gtk_tree_model_get(model,&itar,0,&code,-1);
+ if (!strcmp(code,cur_code)){
+ char *config_lang = config(installer_lang_parameter);
+ if (!yon_char_is_empty(config_lang)&&!strcmp(cur_code,config_lang)){
+ if (gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),iter,&itar)){
+ gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->CountryLanguagesTree)),&itar);
+ }
+ }
+ return 1;
}
+ return 0;
- return 1;
}
-/**yon_main_window_complete(main_window *widgets)
- * [EN]
- *
- * [RU]
- * Функция настройки основного окна приложения. [widgets] - структура со стандартным интерфейсом.
-*/
-main_window *yon_main_window_complete(){
- main_window *widgets=NULL;
- widgets = yon_remalloc(widgets,sizeof(main_window));
+void yon_main_window_create(main_window *widgets){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button));
gtk_builder_add_callback_symbol(builder,"on_toggle_button_switch_on",G_CALLBACK(on_toggle_button_switch_on));
@@ -375,262 +556,268 @@ main_window *yon_main_window_complete(){
gtk_builder_set_translation_domain(builder,template_ui_LocaleName);
{
- widgets->DevicesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"DevicesList"));
- widgets->LanguagesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList"));
-
- widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList"));
-
- main_config.kernel_unchosen_radio = yon_gtk_builder_get_widget(builder,"KernelUnchosenRadio");
-
- widgets->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
- widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
- widgets->StatusBox2 = yon_gtk_builder_get_widget(builder,"StatusBox2");
- widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook");
- widgets->MainSpinner=yon_gtk_builder_get_widget(builder,"MainSpinner");
-
- widgets->EnableVNCMenuItem = yon_gtk_builder_get_widget(builder,"EnableVNCMenuItem");
- widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL);
- widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL);
-
- widgets->SaveButton = yon_gtk_builder_get_widget(builder,"SaveButton");
-
- widgets->LoadGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadGlobalConfigurationMenuItem");
- widgets->LoadLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadLocalConfigurationMenuItem");
- widgets->LoadExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadExternalConfigurationMenuItem");
-
- widgets->SaveGlobalLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalLocalConfigurationMenuItem");
- widgets->SaveGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalConfigurationMenuItem");
- widgets->SaveLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveLocalConfigurationMenuItem");
- widgets->SaveExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveExternalConfigurationMenuItem");
-
- widgets->SlidesImage = yon_gtk_builder_get_widget(builder,"SlidesImage");
-
- widgets->LicenceLabel = yon_gtk_builder_get_widget(builder,"LicenceLabel");
-
- widgets->menu1=yon_gtk_builder_get_widget(builder,"menu1");
- widgets->menu2=yon_gtk_builder_get_widget(builder,"menu2");
- widgets->ConfigurationModeMenuItem = yon_gtk_builder_get_widget(builder,"ConfigurationModeMenuItem");
-
- widgets->CancelInstallButton=yon_gtk_builder_get_widget(builder,"CancelInstallButton");
- widgets->BackButton=yon_gtk_builder_get_widget(builder,"BackButton");
- widgets->NextButton=yon_gtk_builder_get_widget(builder,"NextButton");
-
- widgets->WelcomeToggle=yon_gtk_builder_get_widget(builder,"WelcomeToggle");
- widgets->LicenceToggle=yon_gtk_builder_get_widget(builder,"LicenceToggle");
- widgets->LocationToggle=yon_gtk_builder_get_widget(builder,"LocationToggle");
- widgets->KeyboardToggle=yon_gtk_builder_get_widget(builder,"KeyboardToggle");
- widgets->SectionsToggle=yon_gtk_builder_get_widget(builder,"SectionsToggle");
- widgets->UsersToggle=yon_gtk_builder_get_widget(builder,"UsersToggle");
- widgets->SummaryToggle=yon_gtk_builder_get_widget(builder,"SummaryToggle");
- widgets->CompletionToggle=yon_gtk_builder_get_widget(builder,"CompletionToggle");
- widgets->InstallationToggle=yon_gtk_builder_get_widget(builder,"InstallationToggle");
-
- widgets->StartScenarioButton=yon_gtk_builder_get_widget(builder,"StartScenarioButton");
-
- widgets->SourceButton=yon_gtk_builder_get_widget(builder,"SourceButton");
- widgets->SkipInstallationButton=yon_gtk_builder_get_widget(builder,"SkipInstallationButton");
-
- widgets->InstallationRadio=yon_gtk_builder_get_widget(builder,"InstallationRadio");
- widgets->InstallationNearRadio=yon_gtk_builder_get_widget(builder,"InstallationNearRadio");
- widgets->InstallationLinuxRadio=yon_gtk_builder_get_widget(builder,"InstallationLinuxRadio");
- widgets->InstallationWindowsRadio=yon_gtk_builder_get_widget(builder,"InstallationWindowsRadio");
- widgets->InstallationOptionsRadio=yon_gtk_builder_get_widget(builder,"InstallationOptionsRadio");
- widgets->GrubInstallRadio = yon_gtk_builder_get_widget(builder,"GrubInstallRadio");
- widgets->GrubUpdateRadio = yon_gtk_builder_get_widget(builder,"GrubUpdateRadio");
- widgets->SeparateRadio = yon_gtk_builder_get_widget(builder,"SeparateRadio");
- widgets->OSRadio = yon_gtk_builder_get_widget(builder,"OSRadio");
- widgets->UserDataOnlyRadio = yon_gtk_builder_get_widget(builder,"UserDataOnlyRadio");
-
- widgets->CommonInstallationDevicesTree = yon_gtk_builder_get_widget(builder,"CommonInstallationDevicesTree");
- widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo");
- widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry");
- widgets->CommonFormatSwitch = yon_gtk_builder_get_widget(builder,"CommonFormatSwitch");
- widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton");
-
- widgets->SamePlaceDeviceTree = yon_gtk_builder_get_widget(builder,"SamePlaceDeviceTree");
- widgets->SamePlacePartTree = yon_gtk_builder_get_widget(builder,"SamePlacePartTree");
- widgets->SameInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"SameInstallationFormatSwitch");
- widgets->SameInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"SameInstallationFormatRevealer");
- widgets->SameInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"SameInstallationFilesystemTypeCombo");
- widgets->SameInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"SameInstallationSectionNameEntry");
- widgets->GpartedSameButton = yon_gtk_builder_get_widget(builder,"GpartedSameButton");
-
- widgets->NextInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"NextInstallationFilesystemTypeCombo");
- widgets->NextInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSwitch");
- widgets->NextInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"NextInstallationFormatRevealer");
- widgets->NextInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"NextInstallationSectionNameEntry");
- widgets->NextInstallationSizeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeSpin");
- widgets->NextInstallationSizeTypeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeCombo");
- widgets->NextInstallationSysDevicesTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysDevicesTree");
- widgets->NextInstallationSysSectionTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysSectionTree");
- widgets->GpartedNextInstallationButton = yon_gtk_builder_get_widget(builder,"GpartedNextInstallationButton");
-
- widgets->AdvancedDeviceChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedDeviceChosenCell"));
- widgets->AdvancedPartChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedPartChosenCell"));
- widgets->AdvancedDeviceTree = yon_gtk_builder_get_widget(builder,"AdvancedDeviceTree");
- widgets->AdvancedVirtualDeviceCombo = yon_gtk_builder_get_widget(builder,"AdvancedVirtualDeviceCombo");
- widgets->AdvancedPartitionTree = yon_gtk_builder_get_widget(builder,"AdvancedPartitionTree");
- widgets->AdvancedPartitionAddBox = yon_gtk_builder_get_widget(builder,"AdvancedPartitionAddBox");
- widgets->AdvancedAddButton = yon_gtk_builder_get_widget(builder,"AdvancedAddButton");
- widgets->AdvancedLoadTypeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeSwitch");
- widgets->AdvancedBiosSectorSwitch = yon_gtk_builder_get_widget(builder,"AdvancedBiosSectorSwitch");
- widgets->AdvancedEFISwitch = yon_gtk_builder_get_widget(builder,"AdvancedEFISwitch");
- widgets->AdvancedSwapSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapSwitch");
- widgets->AdvancedSwapAutoSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapAutoSwitch");
- widgets->AdvancedSwapRamSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapRamSwitch");
- widgets->AdvancedSwapFixedSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSwitch");
- widgets->AdvancedSwapFixedSpin = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSpin");
- widgets->advanced_partition_order = g_sequence_new(NULL);
-
- widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree");
- widgets->GrubInstallPartitionTree = yon_gtk_builder_get_widget(builder,"GrubInstallPartitionTree");
- widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton");
-
- widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree");
- widgets->GrubUpdatePartitionTree = yon_gtk_builder_get_widget(builder,"GrubUpdatePartitionTree");
- widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton");
-
- widgets->OSDevicesTree = yon_gtk_builder_get_widget(builder,"OSDevicesTree");
- widgets->OSSysSectionTree = yon_gtk_builder_get_widget(builder,"OSSysSectionTree");
- widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton");
- widgets->OSFormatSwitch = yon_gtk_builder_get_widget(builder,"OSFormatSwitch");
- widgets->OSFormatSizeSpin = yon_gtk_builder_get_widget(builder,"OSFormatSizeSpin");
- widgets->OSFormatSizeCombo = yon_gtk_builder_get_widget(builder,"OSFormatSizeCombo");
- widgets->OSFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"OSFormatPartitionEntry");
- widgets->OSFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"OSFilesystemTypeCombo");
- widgets->OSFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"OSFormatFSMarkEntry");
- widgets->OSFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionCombo");
- widgets->OSFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionEntry");
-
- widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree");
- widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree");
- widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"UserdataGpartedButton");
- widgets->UserdataFormatSwitch = yon_gtk_builder_get_widget(builder,"UserdataFormatSwitch");
- widgets->UserdataFormatSizeSpin = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeSpin");
- widgets->UserdataFormatSizeCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeCombo");
- widgets->UserdataFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatPartitionEntry");
- widgets->UserdataFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"UserdataFilesystemTypeCombo");
- widgets->UserdataFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatFSMarkEntry");
- widgets->UserdataFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionCombo");
- widgets->UserdataFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionEntry");
-
- widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter"));
- widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter"));
- widgets->LayoutList = GTK_TREE_STORE(gtk_builder_get_object(builder,"LayoutList"));
- widgets->LanguageCombo=yon_gtk_builder_get_widget(builder,"LanguageCombo");
- widgets->RegionCombo=yon_gtk_builder_get_widget(builder,"RegionCombo");
- widgets->ZoneCombo=yon_gtk_builder_get_widget(builder,"ZoneCombo");
- widgets->AvailableLanguagesEntry=yon_gtk_builder_get_widget(builder,"AvailableLanguagesEntry");
- widgets->AvailableLanguagesButton=yon_gtk_builder_get_widget(builder,"AvailableLanguagesButton");
- widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo");
- widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo");
- widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo");
- widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree");
- widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton");
- widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton");
- widgets->RegionSensitiveSwitch = yon_gtk_builder_get_widget(builder,"RegionSensitiveSwitch");
-
- widgets->UserImage=yon_gtk_builder_get_widget(builder,"UserImage");
- widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry");
- widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry");
- widgets->UserRootPasswordCombo=yon_gtk_builder_get_widget(builder,"UserRootPasswordCombo");
- widgets->UserRootPasswordEntry=yon_gtk_builder_get_widget(builder,"UserRootPasswordEntry");
- widgets->UserRootPasswordButton=yon_gtk_builder_get_widget(builder,"UserRootPasswordButton");
- widgets->UserAutologinSwitch=yon_gtk_builder_get_widget(builder,"UserAutologinSwitch");
- widgets->UserAddBox=yon_gtk_builder_get_widget(builder,"UserAddBox");
- widgets->UserAddButton=yon_gtk_builder_get_widget(builder,"UserAddButton");
-
- widgets->HotnameEntry=yon_gtk_builder_get_widget(builder,"HotnameEntry");
- widgets->mainSettingsButton=yon_gtk_builder_get_widget(builder,"mainSettingsButton");
- widgets->RegionImage = yon_gtk_builder_get_widget(builder,"RegionImage");
- widgets->RegionBox = yon_gtk_builder_get_widget(builder,"RegionBox");
- widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect");
- widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage");
- widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox");
- widgets->KeyboardLayoutChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KeyboardLayoutChosenCell"));
-
- widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList"));
- widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree");
- widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell"));
-
-
- widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress");
- widgets->InstallationLabel = yon_gtk_builder_get_widget(builder,"InstallationLabel");
- widgets->ReadShortLogButton = yon_gtk_builder_get_widget(builder,"ReadShortLogButton");
- widgets->PackageInstallationProgress = yon_gtk_builder_get_widget(builder,"PackageInstallationProgress");
- widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel");
- widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton");
-
- widgets->KernelListBox = yon_gtk_builder_get_widget(builder,"KernelListBox");
- widgets->KernelInstallLabel = yon_gtk_builder_get_widget(builder,"KernelInstallLabel");
- widgets->KernelEnableLabel = yon_gtk_builder_get_widget(builder,"KernelEnableLabel");
- widgets->KernelNameLabel = yon_gtk_builder_get_widget(builder,"KernelNameLabel");
- widgets->KernelTagsLabel = yon_gtk_builder_get_widget(builder,"KernelTagsLabel");
- widgets->KernelModulesLabel = yon_gtk_builder_get_widget(builder,"KernelModulesLabel");
- widgets->KernelDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelDescriptionLabel");
- widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup"));
-
- widgets->KernelAddonListBox = yon_gtk_builder_get_widget(builder,"KernelAddonListBox");
- widgets->KernelAddonInstallLabel = yon_gtk_builder_get_widget(builder,"KernelAddonInstallLabel");
- widgets->KernelAddonNameLabel = yon_gtk_builder_get_widget(builder,"KernelAddonNameLabel");
- widgets->KernelAddonModulesLabel = yon_gtk_builder_get_widget(builder,"KernelAddonModulesLabel");
- widgets->KernelAddonDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelAddonDescriptionLabel");
-
- widgets->OSSoftwareListBox = yon_gtk_builder_get_widget(builder,"OSSoftwareListBox");
- widgets->OSSoftwareInstallLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareInstallLabel");
- widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel");
- widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel");
- widgets->OSSoftwareDescriptionLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareDescriptionLabel");
-
- widgets->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry");
- widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage");
- widgets->PacmanSoftwareStatusLabel = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusLabel");
- widgets->PacmanSoftwareStatusButton = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusButton");
-
- widgets->PacmanLoadingOverlay = yon_gtk_builder_get_widget(builder,"PacmanLoadingOverlay");
- widgets->PacmanSoftwareAllPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareAllPackagesTree");
- widgets->PacmanSoftwareAllList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareAllList"));
- widgets->PacmanSoftwareAllCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareAllCell"));
-
- widgets->PacmanSoftwareChosenPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareChosenPackagesTree");
- widgets->PacmanSoftwareChosenList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareChosenList"));
- widgets->PacmanSoftwareChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareChosenCell"));
-
- widgets->StartupImage = yon_gtk_builder_get_widget(builder,"StartupImage");
- widgets->StartupServicesTree = yon_gtk_builder_get_widget(builder,"StartupServicesTree");
- widgets->StartupServicesAddButton = yon_gtk_builder_get_widget(builder,"StartupServicesAddButton");
- widgets->StartupServicesEditButton = yon_gtk_builder_get_widget(builder,"StartupServicesEditButton");
- widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton");
- widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell"));
- widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList"));
-
- widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage");
- widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch");
- widgets->BootloadTimerSpin = yon_gtk_builder_get_widget(builder,"BootloadTimerSpin");
- widgets->BootloadDefaultOSEntry = yon_gtk_builder_get_widget(builder,"BootloadDefaultOSEntry");
- widgets->BootloadDefaulOSButton = yon_gtk_builder_get_widget(builder,"BootloadDefaulOSButton");
- widgets->BootloadNoPasswordSwitch = yon_gtk_builder_get_widget(builder,"BootloadNoPasswordSwitch");
- widgets->BootloadUserTree = yon_gtk_builder_get_widget(builder,"BootloadUserTree");
- widgets->BootloadUserAddButton = yon_gtk_builder_get_widget(builder,"BootloadUserAddButton");
- widgets->BootloadUserRemoveButton = yon_gtk_builder_get_widget(builder,"BootloadUserRemoveButton");
- widgets->BootloadUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootloadUsersList"));
-
- widgets->NetworkImage = yon_gtk_builder_get_widget(builder,"NetworkImage");
- widgets->NetworkDomainSwitch = yon_gtk_builder_get_widget(builder,"NetworkDomainSwitch");
- widgets->NetworkDomainNameEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainNameEntry");
- widgets->NetworkDomainAdminEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainAdminEntry");
- widgets->NetworkDomainPasswordEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainPasswordEntry");
- widgets->NetworkNTPServerSwitch = yon_gtk_builder_get_widget(builder,"NetworkNTPServerSwitch");
- widgets->NetworkNTPCombo = yon_gtk_builder_get_widget(builder,"NetworkNTPCombo");
- widgets->NetworkNTPEntry = yon_gtk_builder_get_widget(builder,"NetworkNTPEntry");
- widgets->NetworkConnectionsBox = yon_gtk_builder_get_widget(builder,"NetworkConnectionsBox");
- widgets->NetworkConnectionsAddButton = yon_gtk_builder_get_widget(builder,"NetworkConnectionsAddButton");
- widgets->HostnameSensitiveSwitch = yon_gtk_builder_get_widget(builder,"HostnameSensitiveSwitch");
- widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck");
- widgets->network_connections = NULL;
- widgets->pacmanchosen = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL);
-
- main_config.status_box = widgets->StatusBox;
+ widgets->DevicesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"DevicesList"));
+ widgets->LanguagesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList"));
+
+ widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList"));
+
+ main_config.kernel_unchosen_radio = yon_gtk_builder_get_widget(builder,"KernelUnchosenRadio");
+
+ widgets->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
+ widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
+ widgets->StatusBox2 = yon_gtk_builder_get_widget(builder,"StatusBox2");
+ widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook");
+ widgets->MainSpinner=yon_gtk_builder_get_widget(builder,"MainSpinner");
+
+ widgets->EnableVNCMenuItem = yon_gtk_builder_get_widget(builder,"EnableVNCMenuItem");
+ widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL);
+ widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL);
+
+ widgets->LoadGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadGlobalConfigurationMenuItem");
+ widgets->LoadLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadLocalConfigurationMenuItem");
+ widgets->LoadExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadExternalConfigurationMenuItem");
+
+ widgets->SaveGlobalLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalLocalConfigurationMenuItem");
+ widgets->SaveGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalConfigurationMenuItem");
+ widgets->SaveLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveLocalConfigurationMenuItem");
+ widgets->SaveExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveExternalConfigurationMenuItem");
+
+ widgets->SlidesImage = yon_gtk_builder_get_widget(builder,"SlidesImage");
+
+ widgets->LicenceLabel = yon_gtk_builder_get_widget(builder,"LicenceLabel");
+
+ widgets->menu1=yon_gtk_builder_get_widget(builder,"menu1");
+ widgets->menu2=yon_gtk_builder_get_widget(builder,"menu2");
+ widgets->ConfigurationModeMenuItem = yon_gtk_builder_get_widget(builder,"ConfigurationModeMenuItem");
+
+ widgets->CancelInstallButton=yon_gtk_builder_get_widget(builder,"CancelInstallButton");
+ widgets->BackButton=yon_gtk_builder_get_widget(builder,"BackButton");
+ widgets->NextButton=yon_gtk_builder_get_widget(builder,"NextButton");
+
+ widgets->WelcomeToggle=yon_gtk_builder_get_widget(builder,"WelcomeToggle");
+ widgets->LicenceToggle=yon_gtk_builder_get_widget(builder,"LicenceToggle");
+ widgets->LocationToggle=yon_gtk_builder_get_widget(builder,"LocationToggle");
+ widgets->KeyboardToggle=yon_gtk_builder_get_widget(builder,"KeyboardToggle");
+ widgets->SectionsToggle=yon_gtk_builder_get_widget(builder,"SectionsToggle");
+ widgets->UsersToggle=yon_gtk_builder_get_widget(builder,"UsersToggle");
+ widgets->SummaryToggle=yon_gtk_builder_get_widget(builder,"SummaryToggle");
+ widgets->CompletionToggle=yon_gtk_builder_get_widget(builder,"CompletionToggle");
+ widgets->InstallationToggle=yon_gtk_builder_get_widget(builder,"InstallationToggle");
+
+ widgets->StartScenarioButton=yon_gtk_builder_get_widget(builder,"StartScenarioButton");
+
+ widgets->SourceButton=yon_gtk_builder_get_widget(builder,"SourceButton");
+ widgets->SkipInstallationButton=yon_gtk_builder_get_widget(builder,"SkipInstallationButton");
+
+ widgets->InstallationRadio=yon_gtk_builder_get_widget(builder,"InstallationRadio");
+ widgets->InstallationNearRadio=yon_gtk_builder_get_widget(builder,"InstallationNearRadio");
+ widgets->InstallationLinuxRadio=yon_gtk_builder_get_widget(builder,"InstallationLinuxRadio");
+ widgets->InstallationWindowsRadio=yon_gtk_builder_get_widget(builder,"InstallationWindowsRadio");
+ widgets->InstallationOptionsRadio=yon_gtk_builder_get_widget(builder,"InstallationOptionsRadio");
+ widgets->GrubInstallRadio = yon_gtk_builder_get_widget(builder,"GrubInstallRadio");
+ widgets->GrubUpdateRadio = yon_gtk_builder_get_widget(builder,"GrubUpdateRadio");
+ widgets->SeparateRadio = yon_gtk_builder_get_widget(builder,"SeparateRadio");
+ widgets->OSRadio = yon_gtk_builder_get_widget(builder,"OSRadio");
+ widgets->UserDataOnlyRadio = yon_gtk_builder_get_widget(builder,"UserDataOnlyRadio");
+
+ widgets->CommonInstallationDevicesTree = yon_gtk_builder_get_widget(builder,"CommonInstallationDevicesTree");
+ widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo");
+ widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry");
+ widgets->CommonFormatSwitch = yon_gtk_builder_get_widget(builder,"CommonFormatSwitch");
+ widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton");
+
+ widgets->SamePlaceDeviceTree = yon_gtk_builder_get_widget(builder,"SamePlaceDeviceTree");
+ widgets->SamePlacePartTree = yon_gtk_builder_get_widget(builder,"SamePlacePartTree");
+ widgets->SameInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"SameInstallationFormatSwitch");
+ widgets->SameInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"SameInstallationFormatRevealer");
+ widgets->SameInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"SameInstallationFilesystemTypeCombo");
+ widgets->SameInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"SameInstallationSectionNameEntry");
+ widgets->GpartedSameButton = yon_gtk_builder_get_widget(builder,"GpartedSameButton");
+
+ widgets->NextInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"NextInstallationFilesystemTypeCombo");
+ widgets->NextInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSwitch");
+ widgets->NextInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"NextInstallationFormatRevealer");
+ widgets->NextInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"NextInstallationSectionNameEntry");
+ widgets->NextInstallationSizeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeSpin");
+ widgets->NextInstallationSizeTypeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeCombo");
+ widgets->NextInstallationSysDevicesTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysDevicesTree");
+ widgets->NextInstallationSysSectionTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysSectionTree");
+ widgets->GpartedNextInstallationButton = yon_gtk_builder_get_widget(builder,"GpartedNextInstallationButton");
+
+ widgets->AdvancedDeviceChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedDeviceChosenCell"));
+ widgets->AdvancedPartChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedPartChosenCell"));
+ widgets->AdvancedDeviceTree = yon_gtk_builder_get_widget(builder,"AdvancedDeviceTree");
+ widgets->AdvancedVirtualDeviceCombo = yon_gtk_builder_get_widget(builder,"AdvancedVirtualDeviceCombo");
+ widgets->AdvancedPartitionTree = yon_gtk_builder_get_widget(builder,"AdvancedPartitionTree");
+ widgets->AdvancedPartitionAddBox = yon_gtk_builder_get_widget(builder,"AdvancedPartitionAddBox");
+ widgets->AdvancedAddButton = yon_gtk_builder_get_widget(builder,"AdvancedAddButton");
+ widgets->AdvancedLoadTypeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeSwitch");
+ widgets->AdvancedBiosSectorSwitch = yon_gtk_builder_get_widget(builder,"AdvancedBiosSectorSwitch");
+ widgets->AdvancedEFISwitch = yon_gtk_builder_get_widget(builder,"AdvancedEFISwitch");
+ widgets->AdvancedSwapSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapSwitch");
+ widgets->AdvancedSwapAutoSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapAutoSwitch");
+ widgets->AdvancedSwapRamSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapRamSwitch");
+ widgets->AdvancedSwapFixedSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSwitch");
+ widgets->AdvancedSwapFixedSizeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSizeSwitch");
+ widgets->AdvancedSwapFixedSpin = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSpin");
+ widgets->AdvancedSwapRevealer = yon_gtk_builder_get_widget(builder,"AdvancedSwapRevealer");
+ widgets->AdvancedLoadTypeRevealer = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeRevealer");
+ widgets->advanced_partition_order = g_sequence_new(NULL);
+
+ widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree");
+ widgets->GrubInstallPartitionTree = yon_gtk_builder_get_widget(builder,"GrubInstallPartitionTree");
+ widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton");
+
+ widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree");
+ widgets->GrubUpdatePartitionTree = yon_gtk_builder_get_widget(builder,"GrubUpdatePartitionTree");
+ widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton");
+
+ widgets->OSDevicesTree = yon_gtk_builder_get_widget(builder,"OSDevicesTree");
+ widgets->OSSysSectionTree = yon_gtk_builder_get_widget(builder,"OSSysSectionTree");
+ widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton");
+ widgets->OSFormatSwitch = yon_gtk_builder_get_widget(builder,"OSFormatSwitch");
+ widgets->OSFormatSizeSpin = yon_gtk_builder_get_widget(builder,"OSFormatSizeSpin");
+ widgets->OSFormatSizeCombo = yon_gtk_builder_get_widget(builder,"OSFormatSizeCombo");
+ widgets->OSFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"OSFormatPartitionEntry");
+ widgets->OSFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"OSFilesystemTypeCombo");
+ widgets->OSFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"OSFormatFSMarkEntry");
+ widgets->OSFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionCombo");
+ widgets->OSFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionEntry");
+
+ widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree");
+ widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree");
+ widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"UserdataGpartedButton");
+ widgets->UserdataFormatSwitch = yon_gtk_builder_get_widget(builder,"UserdataFormatSwitch");
+ widgets->UserdataFormatSizeSpin = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeSpin");
+ widgets->UserdataFormatSizeCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeCombo");
+ widgets->UserdataFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatPartitionEntry");
+ widgets->UserdataFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"UserdataFilesystemTypeCombo");
+ widgets->UserdataFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatFSMarkEntry");
+ widgets->UserdataFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionCombo");
+ widgets->UserdataFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionEntry");
+
+ widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter"));
+ widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter"));
+ widgets->LayoutList = GTK_TREE_STORE(gtk_builder_get_object(builder,"LayoutList"));
+ widgets->LanguagesTree=yon_gtk_builder_get_widget(builder,"LanguagesTree");
+ widgets->CountryLanguagesTree=yon_gtk_builder_get_widget(builder,"CountryLanguagesTree");
+ widgets->InstallerCountryList=GTK_LIST_STORE(gtk_builder_get_object(builder,"InstallerCountryList"));
+ widgets->InstallerCountryFilter=GTK_TREE_MODEL(gtk_builder_get_object(builder,"InstallerCountryFilter"));
+ widgets->InstallerLanguageList=GTK_LIST_STORE(gtk_builder_get_object(builder,"InstallerLanguageList"));
+ // widgets->LanguageCombo=yon_gtk_builder_get_widget(builder,"LanguageCombo");
+ widgets->RegionCombo=yon_gtk_builder_get_widget(builder,"RegionCombo");
+ widgets->ZoneCombo=yon_gtk_builder_get_widget(builder,"ZoneCombo");
+ widgets->AvailableLanguagesEntry=yon_gtk_builder_get_widget(builder,"AvailableLanguagesEntry");
+ widgets->AvailableLanguagesButton=yon_gtk_builder_get_widget(builder,"AvailableLanguagesButton");
+ widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo");
+ widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo");
+ widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo");
+ widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree");
+ widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton");
+ widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton");
+ widgets->RegionSensitiveSwitch = yon_gtk_builder_get_widget(builder,"RegionSensitiveSwitch");
+
+ widgets->UserImage=yon_gtk_builder_get_widget(builder,"UserImage");
+ widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry");
+ widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry");
+ widgets->UserRootPasswordCombo=yon_gtk_builder_get_widget(builder,"UserRootPasswordCombo");
+ widgets->UserRootPasswordEntry=yon_gtk_builder_get_widget(builder,"UserRootPasswordEntry");
+ widgets->UserRootPasswordButton=yon_gtk_builder_get_widget(builder,"UserRootPasswordButton");
+ widgets->UserAutologinSwitch=yon_gtk_builder_get_widget(builder,"UserAutologinSwitch");
+ widgets->UserAddBox=yon_gtk_builder_get_widget(builder,"UserAddBox");
+ widgets->UserAddButton=yon_gtk_builder_get_widget(builder,"UserAddButton");
+
+ widgets->HotnameEntry=yon_gtk_builder_get_widget(builder,"HotnameEntry");
+ widgets->mainSettingsButton=yon_gtk_builder_get_widget(builder,"mainSettingsButton");
+ widgets->RegionImage = yon_gtk_builder_get_widget(builder,"RegionImage");
+ widgets->RegionBox = yon_gtk_builder_get_widget(builder,"RegionBox");
+ widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect");
+ widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage");
+ widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox");
+ widgets->KeyboardLayoutChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KeyboardLayoutChosenCell"));
+
+ widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList"));
+ widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree");
+ widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell"));
+
+
+ widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress");
+ widgets->InstallationLabel = yon_gtk_builder_get_widget(builder,"InstallationLabel");
+ widgets->ReadShortLogButton = yon_gtk_builder_get_widget(builder,"ReadShortLogButton");
+ widgets->PackageInstallationProgress = yon_gtk_builder_get_widget(builder,"PackageInstallationProgress");
+ widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel");
+ widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton");
+
+ widgets->KernelListBox = yon_gtk_builder_get_widget(builder,"KernelListBox");
+ widgets->KernelInstallLabel = yon_gtk_builder_get_widget(builder,"KernelInstallLabel");
+ widgets->KernelEnableLabel = yon_gtk_builder_get_widget(builder,"KernelEnableLabel");
+ widgets->KernelNameLabel = yon_gtk_builder_get_widget(builder,"KernelNameLabel");
+ widgets->KernelTagsLabel = yon_gtk_builder_get_widget(builder,"KernelTagsLabel");
+ widgets->KernelModulesLabel = yon_gtk_builder_get_widget(builder,"KernelModulesLabel");
+ widgets->KernelDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelDescriptionLabel");
+ widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup"));
+
+ widgets->KernelAddonListBox = yon_gtk_builder_get_widget(builder,"KernelAddonListBox");
+ widgets->KernelAddonInstallLabel = yon_gtk_builder_get_widget(builder,"KernelAddonInstallLabel");
+ widgets->KernelAddonNameLabel = yon_gtk_builder_get_widget(builder,"KernelAddonNameLabel");
+ widgets->KernelAddonModulesLabel = yon_gtk_builder_get_widget(builder,"KernelAddonModulesLabel");
+ widgets->KernelAddonDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelAddonDescriptionLabel");
+
+ widgets->OSSoftwareListBox = yon_gtk_builder_get_widget(builder,"OSSoftwareListBox");
+ widgets->OSSoftwareInstallLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareInstallLabel");
+ widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel");
+ widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel");
+ widgets->OSSoftwareDescriptionLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareDescriptionLabel");
+
+ widgets->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry");
+ widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage");
+ widgets->PacmanSoftwareStatusLabel = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusLabel");
+ widgets->PacmanSoftwareStatusButton = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusButton");
+
+ widgets->PacmanLoadingOverlay = yon_gtk_builder_get_widget(builder,"PacmanLoadingOverlay");
+ widgets->PacmanSoftwareAllPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareAllPackagesTree");
+ widgets->PacmanSoftwareAllList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareAllList"));
+ widgets->PacmanSoftwareAllCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareAllCell"));
+
+ widgets->PacmanSoftwareChosenPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareChosenPackagesTree");
+ widgets->PacmanSoftwareChosenList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareChosenList"));
+ widgets->PacmanSoftwareChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareChosenCell"));
+
+ widgets->StartupImage = yon_gtk_builder_get_widget(builder,"StartupImage");
+ widgets->StartupServicesTree = yon_gtk_builder_get_widget(builder,"StartupServicesTree");
+ widgets->StartupServicesAddButton = yon_gtk_builder_get_widget(builder,"StartupServicesAddButton");
+ widgets->StartupServicesEditButton = yon_gtk_builder_get_widget(builder,"StartupServicesEditButton");
+ widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton");
+ widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell"));
+ widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList"));
+
+ widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage");
+ widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch");
+ widgets->BootloadTimerSpin = yon_gtk_builder_get_widget(builder,"BootloadTimerSpin");
+ widgets->BootloadDefaultOSEntry = yon_gtk_builder_get_widget(builder,"BootloadDefaultOSEntry");
+ widgets->BootloadDefaulOSButton = yon_gtk_builder_get_widget(builder,"BootloadDefaulOSButton");
+ widgets->BootloadNoPasswordSwitch = yon_gtk_builder_get_widget(builder,"BootloadNoPasswordSwitch");
+ widgets->BootloadUserTree = yon_gtk_builder_get_widget(builder,"BootloadUserTree");
+ widgets->BootloadUserAddButton = yon_gtk_builder_get_widget(builder,"BootloadUserAddButton");
+ widgets->BootloadUserRemoveButton = yon_gtk_builder_get_widget(builder,"BootloadUserRemoveButton");
+ widgets->BootloadUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootloadUsersList"));
+
+ widgets->NetworkImage = yon_gtk_builder_get_widget(builder,"NetworkImage");
+ widgets->NetworkDomainSwitch = yon_gtk_builder_get_widget(builder,"NetworkDomainSwitch");
+ widgets->NetworkDomainNameEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainNameEntry");
+ widgets->NetworkDomainAdminEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainAdminEntry");
+ widgets->NetworkDomainPasswordEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainPasswordEntry");
+ widgets->NetworkNTPServerSwitch = yon_gtk_builder_get_widget(builder,"NetworkNTPServerSwitch");
+ widgets->NetworkNTPCombo = yon_gtk_builder_get_widget(builder,"NetworkNTPCombo");
+ widgets->NetworkNTPEntry = yon_gtk_builder_get_widget(builder,"NetworkNTPEntry");
+ widgets->NetworkConnectionsBox = yon_gtk_builder_get_widget(builder,"NetworkConnectionsBox");
+ widgets->NetworkConnectionsAddButton = yon_gtk_builder_get_widget(builder,"NetworkConnectionsAddButton");
+ widgets->HostnameSensitiveSwitch = yon_gtk_builder_get_widget(builder,"HostnameSensitiveSwitch");
+ widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck");
+ widgets->network_connections = NULL;
+ widgets->pacmanchosen = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL);
+
+ main_config.status_box = widgets->StatusBox;
}
g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets);
GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");
@@ -645,11 +832,6 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->EnableVNCMenuItem),"activate",G_CALLBACK(on_vnc_toggled),widgets);
- // g_signal_connect(G_OBJECT(widgets->SaveGlobalLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_global_local_save),widgets);
- // g_signal_connect(G_OBJECT(widgets->SaveGlobalConfigurationMenuItem),"activate",G_CALLBACK(on_config_global_save),widgets);
- // g_signal_connect(G_OBJECT(widgets->SaveLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_local_save),widgets);
- // g_signal_connect(G_OBJECT(widgets->SaveExternalConfigurationMenuItem),"activate",G_CALLBACK(on_config_custom_save),widgets);
-
g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets);
g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets);
@@ -676,8 +858,6 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->OSDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"toggled",G_CALLBACK(on_configuration_mode_switch),widgets);
- // g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),widgets);
- // g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),widgets);
g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets);
g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets);
@@ -690,6 +870,8 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->BootloadDefaulOSButton),"clicked",G_CALLBACK(yon_menu_window_open),widgets);
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),3);
+ g_signal_connect(G_OBJECT(widgets->LanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->CountryLanguagesTree),"cursor-changed",G_CALLBACK(on_installer_language_changed),widgets);
// g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets);
g_signal_connect(G_OBJECT(widgets->AdditionalSoftwareCell),"toggled",G_CALLBACK(on_additional_software_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->StartupChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets);
@@ -727,6 +909,11 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->HotnameEntry),"changed",G_CALLBACK(on_hostname_entry_changed),widgets);
g_signal_connect(G_OBJECT(widgets->NetworkConnectionsAddButton),"clicked",G_CALLBACK(on_connection_add),widgets);
g_signal_connect(G_OBJECT(widgets->NetworkNTPCombo),"changed",G_CALLBACK(on_ntp_sync),widgets);
+ yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->AdvancedLoadTypeRevealer),GTK_SWITCH(widgets->AdvancedLoadTypeSwitch));
+ yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->AdvancedSwapRevealer),GTK_SWITCH(widgets->AdvancedSwapSwitch));
+
+ g_signal_connect(G_OBJECT(widgets->AdvancedSwapFixedSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AdvancedSwapFixedSpin);
+ g_signal_connect(G_OBJECT(widgets->AdvancedSwapFixedSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AdvancedSwapFixedSizeSwitch);
g_signal_connect(G_OBJECT(widgets->AdvancedAddButton),"clicked",G_CALLBACK(on_install_advanced_add_new),widgets);
g_signal_connect(G_OBJECT(widgets->AdvancedDeviceChosenCell),"toggled",G_CALLBACK(on_install_advanced_device_chosen),widgets);
@@ -738,6 +925,7 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->SourceButton),"clicked",G_CALLBACK(on_source_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->SkipInstallationButton),"clicked",G_CALLBACK(on_system_setup_pass),widgets);
+ gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL);
{
if (main_config.lock_load_global == 1){
@@ -789,13 +977,44 @@ main_window *yon_main_window_complete(){
}
gtk_builder_connect_signals(builder,NULL);
// yon_load_proceed(YON_CONFIG_LOCAL);
- on_config_global_load(NULL,widgets);
// yon_interface_update(widgets);
if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))){
gtk_widget_show(widgets->StartScenarioButton);
} else {
gtk_widget_hide(widgets->StartScenarioButton);
}
+ // char *locale = config(installer_lang_parameter);
+ // if (!yon_char_is_empty(locale)){
+ // locale = setlocale(LC_ALL,NULL);
+ // }
+ // yon_ubl_window_init(TITLE_LABEL,DESCRIPTION_LABEL,locale,CssPath,LocaleName,version_application,WIKI_LINK);
+ set_locales_list(widgets);
+ // {
+ // char *parameter = config(installer_lang_parameter);
+ // if (yon_char_is_empty(parameter)){
+ // parameter=setlocale(LC_ALL,NULL);
+ // }
+ // GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->LanguagesBox));
+ // GList *iter;
+ // for (iter = list;iter;iter=iter->next){
+ // char *lang = g_object_get_data(G_OBJECT(iter->data),"language");
+ // if (!strcmp(lang,parameter)){
+ // gtk_flow_box_select_child(GTK_FLOW_BOX(widgets->LanguagesBox),GTK_FLOW_BOX_CHILD(iter->data));
+ // }
+ // }
+ // }
+}
+
+/**yon_main_window_complete(main_window *widgets)
+ * [EN]
+ *
+ * [RU]
+ * Функция настройки основного окна приложения. [widgets] - структура со стандартным интерфейсом.
+*/
+main_window *yon_main_window_complete(){
+ main_window *widgets=NULL;
+ widgets = yon_remalloc(widgets,sizeof(main_window));
+ yon_main_window_create(widgets);
return widgets;
}
@@ -810,6 +1029,7 @@ int main(int argc, char *argv[]){
gtk_init(&argc,&argv);
main_window *widgets = NULL;
widgets = yon_main_window_complete();
+ on_config_global_load(NULL,widgets);
if (widgets){};
char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
yon_window_config_setup(GTK_WINDOW(widgets->MainWindow));
@@ -822,9 +1042,7 @@ int main(int argc, char *argv[]){
GTK_STYLE_PROVIDER(css),
-1);
if (getuid()!=0){
- textdomain(template_ui_LocaleName);
- yon_ubl_status_box_render(ROOT_WARNING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
- textdomain(LocaleName);
+ yon_ubl_status_box_render(yon_char_get_localised_from_lib(ROOT_WARNING_LABEL),BACKGROUND_IMAGE_FAIL_TYPE);
}
gtk_main();
return 0;
diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h
index 4bdfbff..541ba2a 100755
--- a/source/ubinstall-gtk.h
+++ b/source/ubinstall-gtk.h
@@ -51,14 +51,15 @@
#define regions_path "/com/ublinux/images/map-time-zone.png"
#define keyboard_path "/com/ublinux/images/keyboard.png"
-#define users_path "/com/ublinux/images/clear_install_disk.png"
-#define startup_path "/com/ublinux/images/clear_install_disk.png"
-#define bootloader_path "/com/ublinux/images/clear_install_disk.png"
-#define network_icon_path "/com/ublinux/images/clear_install_disk.png"
+#define users_path "/com/ublinux/images/keyboard.png"
+#define startup_path "/com/ublinux/images/keyboard.png"
+#define bootloader_path "/com/ublinux/images/keyboard.png"
+#define network_icon_path "/com/ublinux/images/keyboard.png"
#define licence_path "/usr/share/ublinux/agreement/EULA.txt"
#define languages_path "/usr/share/ubinstall-gtk/csv/locales.csv"
+// #define installer_languages_path "resource:///com/ublinux/csv/languages.csv"
#define zone_path "/usr/share/zoneinfo/"
@@ -71,6 +72,8 @@
#define network_path "resource:///com/ublinux/csv/network-list.csv"
#define fs_types_path "resource:///com/ublinux/csv/filesystems-format-list.csv"
+#define locales_list_command "/usr/share/i18n/locales/"
+
#define slide_0_path "/com/ublinux/images/slide-0.png"
#define slide_repeat_path "/com/ublinux/images/slide-1.png", \
@@ -225,6 +228,8 @@ layout && /description:/ {\
#define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL)
#define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL)
#define NETWORK(target) yon_char_unite("NETWORK[",target,"@connmod]",NULL)
+#define installer_lang_parameter "AUTOINSTALL[installer_lang]"
+#define installer_lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[installer_lang]"
#define source_parameter "AUTOINSTALL[source]"
#define source_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[source]"
@@ -418,8 +423,6 @@ typedef struct {
GtkWidget *SaveLocalConfigurationMenuItem;
GtkWidget *SaveExternalConfigurationMenuItem;
- GtkWidget *SaveButton;
-
GtkWidget *MainWindow;
GtkWidget *StartScenarioButton;
@@ -438,7 +441,12 @@ typedef struct {
GtkWidget *SummaryToggle;
GtkWidget *CompletionToggle;
GtkWidget *InstallationToggle;
- GtkWidget *LanguageCombo;
+ GtkWidget *LanguagesTree;
+ GtkWidget *CountryLanguagesTree;
+ GtkListStore *InstallerCountryList;
+ GtkListStore *InstallerLanguageList;
+ GtkTreeModel *InstallerCountryFilter;
+ // GtkWidget *LanguageCombo;
GtkWidget *RegionCombo;
GtkWidget *ZoneCombo;
GtkWidget *AvailableLanguagesEntry;
@@ -663,6 +671,8 @@ typedef struct {
GtkWidget *AdvancedSwapFixedSpin;
GtkWidget *AdvancedSwapFixedSwitch;
GtkWidget *AdvancedSwapFixedSizeSwitch;
+ GtkWidget *AdvancedSwapRevealer;
+ GtkWidget *AdvancedLoadTypeRevealer;
dictionary *advanced_sections;
GSequence *advanced_partition_order;
@@ -1119,4 +1129,8 @@ void yon_source_element_add(char *key,void*,source_window *window);
source_element *yon_source_element_new();
void on_system_setup_pass(GtkWidget *, main_window *widgets);
void yon_resize_images_update(main_window *widgets);
-void on_vnc_toggled(GtkWidget *self, main_window *widgets);
\ No newline at end of file
+void on_vnc_toggled(GtkWidget *self, main_window *widgets);
+void yon_main_window_create(main_window *widgets);
+void set_locales_list(main_window *widgets);
+void on_installer_language_changed(GtkWidget *self, main_window *widgets);
+gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets);
\ No newline at end of file
diff --git a/source/ubl-settings-advanced.c b/source/ubl-settings-advanced.c
new file mode 100644
index 0000000..57c7fed
--- /dev/null
+++ b/source/ubl-settings-advanced.c
@@ -0,0 +1,64 @@
+#include "ubinstall-gtk.h"
+
+typedef struct {
+ char *section;
+ int sys_section;
+ int user_section;
+ int format;
+ int size;
+ char size_letter;
+ char *part_label;
+ char *fs_type;
+ char *fs_label;
+ char *encryption;
+ char *encryption_password;
+
+} advanced_section;
+
+int sections_size=0;
+advanced_section *sections[2] = {NULL};
+
+advanced_section *yon_advanced_section_new(){
+ if (sections_size>=2) return NULL;
+
+ advanced_section *section = malloc(sizeof(advanced_section));
+ memset(section,0,sizeof(advanced_section));
+ sections[sections_size] = section;
+ sections_size++;
+ return section;
+}
+
+void yon_advanced_section_remove(int pos){
+ switch(pos){
+ case 0:
+ free(sections[0]);
+ if (sections[1]){
+ sections[0]=sections[1];
+ sections[1]=NULL;
+ } else {
+ sections[0]=NULL;
+ }
+ sections_size--;
+ break;
+ case 1:
+ if (sections[1]){
+ free(sections[1]);
+ sections[1]=NULL;
+ sections_size--;
+ }
+ break;
+ default: return;
+ }
+}
+
+
+
+// add section from tree view
+void yon_advanced_add(main_window *widgets){
+
+}
+
+//new section from button
+void yon_advanced_new(main_window *widgets){
+
+}
\ No newline at end of file
diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade
index 99b1152..31ad87d 100644
--- a/ubinstall-gtk.glade
+++ b/ubinstall-gtk.glade
@@ -1,5 +1,5 @@
-
+
@@ -50,6 +50,33 @@
+
+
+
+
+
+
-