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 @@ + + + + + + + + + + + + + + InstallerCountryList + + + + + + + + + + + + + True False @@ -273,11 +300,26 @@ False com.ublinux.libublsettingsui-gtk3.increase-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.fork-symbolic + True False com.ublinux.libublsettingsui-gtk3.sync-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.flag-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.flag-finish-symbolic + True False @@ -383,54 +425,6 @@ - - True - False - False - - - True - False - Save configuration - - - - - - True - False - Save to global configuration - - - - - - True - False - Save to local configuration - - - - - - True - False - Save to specific file - - - - - 800 500 @@ -759,6 +753,7 @@ agreement 5 5 left + False True @@ -768,7 +763,6 @@ agreement True False - center vertical 20 @@ -809,32 +803,126 @@ and help you install UBLinux on your computer - + True False - center - center - 128 - /com/ublinux/images/language.png - - - False - True - 2 - - - - - False - center - 0 - - Русский - English - + vertical + 5 + + + True + False + center + center + 128 + /com/ublinux/images/language.png + + + False + True + 0 + + + + + True + False + 5 + True + + + True + True + never + in + 132 + + + True + True + InstallerLanguageList + False + + + + + + True + + + + 2 + + + + + + + column + + + + 1 + + + + + + + + + True + True + 0 + + + + + True + True + never + in + 132 + + + True + True + InstallerCountryFilter + False + 1 + 3 + + + + + + + + + 1 + + + + + + + + + True + True + 1 + + + + + True + True + 1 + + - False + True True 3 @@ -842,7 +930,7 @@ and help you install UBLinux on your computer True - False + True 0 @@ -4310,11 +4398,11 @@ and help you install UBLinux on your computer True True - in True False + none True @@ -4330,7 +4418,7 @@ and help you install UBLinux on your computer - False + True True 0 @@ -7177,8 +7265,6 @@ separately into the selected partition. True False - none - True True @@ -7307,6 +7393,7 @@ separately into the selected partition. True False + start 0 none @@ -7381,8 +7468,6 @@ separately into the selected partition. True False - none - True True @@ -7514,6 +7599,7 @@ separately into the selected partition. True + False True @@ -7547,8 +7633,9 @@ separately into the selected partition. - + True + False True @@ -10512,6 +10599,7 @@ separately into the selected partition. Start installation scenario True True + image27 False @@ -10524,6 +10612,7 @@ separately into the selected partition. Source True True + image25 False @@ -10536,6 +10625,7 @@ separately into the selected partition. Skip installation True True + image28 False @@ -10651,49 +10741,55 @@ separately into the selected partition. 1 - - - True - False - True - menu3 - - - True - False - - - True - False - Save - - - False - True - 0 - - - - - True - False - pan-down-symbolic - - - False - True - 1 - - - - - - - end - 2 - - + + True + False + False + + + True + False + Save configuration + + + + + + True + False + Save to global configuration + + + + + + True + False + Save to local configuration + + + + + + True + False + Save to specific file + + + + +