master #113

Open
asmeron wants to merge 23 commits from YanTheKaller/ubinstall-gtk:master into master

@ -18,17 +18,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: source/ubl-strings.h:2 #: source/ubl-strings.h:2
msgid "UBLinux installation" msgid "System installation"
msgstr "" msgstr ""
#: source/ubl-strings.h:4 #: source/ubl-strings.h:4
msgid "Welcome to UBLinux installation" msgid "Welcome to system installation"
msgstr "" msgstr ""
#: source/ubl-strings.h:5 #: source/ubl-strings.h:5
msgid "" msgid ""
"This program will ask you few questions\n" "This program will ask you few questions\n"
"and help you install UBLinux on your computer" "and help you install system on your computer"
msgstr "" msgstr ""
#: source/ubl-strings.h:7 #: source/ubl-strings.h:7
@ -96,7 +96,7 @@ msgstr ""
#: source/ubl-strings.h:24 #: source/ubl-strings.h:24
msgid "" msgid ""
"Deleting all data on the selected disk and then installing the UBLinux system" "Deleting all data on the selected disk and then installing the system"
msgstr "" msgstr ""
#: source/ubl-strings.h:25 #: source/ubl-strings.h:25
@ -112,7 +112,7 @@ msgid "Installation on the same partition as another system"
msgstr "" msgstr ""
#: source/ubl-strings.h:28 #: source/ubl-strings.h:28
msgid "Unpacking the UBLinux file system into an existing system" msgid "Unpacking the file system into an existing system"
msgstr "" msgstr ""
#: source/ubl-strings.h:29 source/ubl-strings.h:281 #: source/ubl-strings.h:29 source/ubl-strings.h:281
@ -224,7 +224,7 @@ msgstr ""
msgid "" msgid ""
"<b>Attention!</b> The selected partition will be modified: the size will be " "<b>Attention!</b> The selected partition will be modified: the size will be "
"reduced. In the resulting free space, a partition will be created into which " "reduced. In the resulting free space, a partition will be created into which "
"the UBLinux OS will be\n" "the system will be\n"
"installed." "installed."
msgstr "" msgstr ""
@ -245,7 +245,7 @@ msgid "Free"
msgstr "" msgstr ""
#: source/ubl-strings.h:64 #: source/ubl-strings.h:64
msgid "Specify the size of the new partition for UBLinux OS:" msgid "Specify the size of the new partition for system:"
msgstr "" msgstr ""
#: source/ubl-strings.h:65 #: source/ubl-strings.h:65
@ -287,7 +287,7 @@ msgstr ""
#: source/ubl-strings.h:77 #: source/ubl-strings.h:77
msgid "" msgid ""
"Attention! The selected OS UBLinux components will be installed\n" "Attention! The selected system components will be installed\n"
"separately into the selected partition." "separately into the selected partition."
msgstr "" msgstr ""
@ -393,9 +393,9 @@ msgstr ""
#: source/ubl-strings.h:107 #: source/ubl-strings.h:107
msgid "" msgid ""
"You have UBLinux installed on your computer.\n" "You have system installed on your computer.\n"
"You can reboot and use your new system\n" "You can reboot and use your new system\n"
"or continue working in the UBLinux Live environment." "or continue working in the system Live environment."
msgstr "" msgstr ""
#: source/ubl-strings.h:111 #: source/ubl-strings.h:111
@ -447,7 +447,7 @@ msgid "Installation configuration has ended"
msgstr "" msgstr ""
#: source/ubl-strings.h:124 #: source/ubl-strings.h:124
msgid "UBLinux OS installation is about to begin" msgid "system installation is about to begin"
msgstr "" msgstr ""
#: source/ubl-strings.h:126 #: source/ubl-strings.h:126
@ -482,7 +482,7 @@ msgstr ""
#: source/ubl-strings.h:135 #: source/ubl-strings.h:135
msgid "" msgid ""
"Attention! The UBLinux OS will be installed on the selected partition with " "Attention! The system will be installed on the selected partition with "
"OS already installed. All user data will be saved." "OS already installed. All user data will be saved."
msgstr "" msgstr ""
@ -911,13 +911,13 @@ msgstr ""
#: source/ubl-strings.h:267 #: source/ubl-strings.h:267
msgid "" msgid ""
"<b>Attention!</b> The UBLinux OS will be installed on the selected partition " "<b>Attention!</b> The system will be installed on the selected partition "
"with OS already installed. All user data will be saved." "with OS already installed. All user data will be saved."
msgstr "" msgstr ""
#: source/ubl-strings.h:268 #: source/ubl-strings.h:268
msgid "" msgid ""
"<b>Attention!</b> The selected OS UBLinux components will be installed\n" "<b>Attention!</b> The selected system components will be installed\n"
"separately into the selected partition." "separately into the selected partition."
msgstr "" msgstr ""
@ -1168,3 +1168,15 @@ msgstr ""
#: source/ubl-strings.h:331 #: source/ubl-strings.h:331
msgid "Skip installation" msgid "Skip installation"
msgstr "" msgstr ""
#: source/ubl-strings.h:331
msgid "Are you sure want to exit and\ninterrupt installation process?"
msgstr ""
#: source/ubl-strings.h:331
msgid "Are you sure want to interrupt installation process?"
msgstr ""
#: source/ubl-strings.h:331
msgid "About system installation"
msgstr ""

@ -18,17 +18,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: source/ubl-strings.h:2 #: source/ubl-strings.h:2
msgid "UBLinux installation" msgid "System installation"
msgstr "Программа установки UBLinux" msgstr "Программа установки UBLinux"
#: source/ubl-strings.h:4 #: source/ubl-strings.h:4
msgid "Welcome to UBLinux installation" msgid "Welcome to system installation"
msgstr "Добро пожаловать в установку UBLinux" msgstr "Добро пожаловать в установку UBLinux"
#: source/ubl-strings.h:5 #: source/ubl-strings.h:5
msgid "" msgid ""
"This program will ask you few questions\n" "This program will ask you few questions\n"
"and help you install UBLinux on your computer" "and help you install system on your computer"
msgstr "" msgstr ""
"Эта программа задаст вам несколько вопросов\n" "Эта программа задаст вам несколько вопросов\n"
"и поможет установить UBLinux на ваш компьютер" "и поможет установить UBLinux на ваш компьютер"
@ -102,7 +102,7 @@ msgstr "Завершение установки"
#: source/ubl-strings.h:24 #: source/ubl-strings.h:24
msgid "" msgid ""
"Deleting all data on the selected disk and then installing the UBLinux system" "Deleting all data on the selected disk and then installing the system"
msgstr "" msgstr ""
"Удаление всех данных на выбранном диске с последующей установкой системы " "Удаление всех данных на выбранном диске с последующей установкой системы "
"UBLinux" "UBLinux"
@ -120,7 +120,7 @@ msgid "Installation on the same partition as another system"
msgstr "Установка в раздел другой системы" msgstr "Установка в раздел другой системы"
#: source/ubl-strings.h:28 #: source/ubl-strings.h:28
msgid "Unpacking the UBLinux file system into an existing system" msgid "Unpacking the system into an existing system"
msgstr "Установить ОС в уже существующий раздел" msgstr "Установить ОС в уже существующий раздел"
#: source/ubl-strings.h:29 source/ubl-strings.h:281 #: source/ubl-strings.h:29 source/ubl-strings.h:281
@ -233,7 +233,7 @@ msgstr "Выберите раздел:"
msgid "" msgid ""
"<b>Attention!</b> The selected partition will be modified: the size will be " "<b>Attention!</b> The selected partition will be modified: the size will be "
"reduced. In the resulting free space, a partition will be created into which " "reduced. In the resulting free space, a partition will be created into which "
"the UBLinux OS will be\n" "the system will be\n"
"installed." "installed."
msgstr "" msgstr ""
"<b>Внимание!</b> Выбранный раздел будет модифицирован: размер будет " "<b>Внимание!</b> Выбранный раздел будет модифицирован: размер будет "
@ -250,14 +250,14 @@ msgstr "Метка"
#: source/ubl-strings.h:62 #: source/ubl-strings.h:62
msgid "Size" msgid "Size"
msgstr "Размер" msgstr "Общий размер"
#: source/ubl-strings.h:63 #: source/ubl-strings.h:63
msgid "Free" msgid "Free"
msgstr "Свободно" msgstr "Свободно"
#: source/ubl-strings.h:64 #: source/ubl-strings.h:64
msgid "Specify the size of the new partition for UBLinux OS:" msgid "Specify the size of the new partition for system:"
msgstr "Укажите размер нового раздела для ОС UBLinux:" msgstr "Укажите размер нового раздела для ОС UBLinux:"
#: source/ubl-strings.h:65 #: source/ubl-strings.h:65
@ -301,7 +301,7 @@ msgstr ""
#: source/ubl-strings.h:77 #: source/ubl-strings.h:77
msgid "" msgid ""
"Attention! The selected OS UBLinux components will be installed\n" "Attention! The selected system components will be installed\n"
"separately into the selected partition." "separately into the selected partition."
msgstr "" msgstr ""
"<b>Внимание!</b> В выбранный раздел будет произведена раздельная установка " "<b>Внимание!</b> В выбранный раздел будет произведена раздельная установка "
@ -410,13 +410,13 @@ msgstr "Форматировать"
#: source/ubl-strings.h:107 #: source/ubl-strings.h:107
msgid "" msgid ""
"You have UBLinux installed on your computer.\n" "You have system installed on your computer.\n"
"You can reboot and use your new system\n" "You can reboot and use your new system\n"
"or continue working in the UBLinux Live environment." "or continue working in the environment, booted from the Live image."
msgstr "" msgstr ""
"На вашем компьютере установлена система UBLinux.\n" "На вашем компьютере установлена система.\n"
"Вы можете перезагрузить и использовать свою новую систему\n" "Вы можете перезагрузить и использовать свою новую систему\n"
"или продолжить работу в среде UBLinux Live." "или продолжить работу в среде системы, загруженной с Live образа."
#: source/ubl-strings.h:111 #: source/ubl-strings.h:111
msgid "Apply" msgid "Apply"
@ -467,8 +467,8 @@ msgid "Installation configuration has ended"
msgstr "Настройка установщика завершена" msgstr "Настройка установщика завершена"
#: source/ubl-strings.h:124 #: source/ubl-strings.h:124
msgid "UBLinux OS installation is about to begin" msgid "system installation is about to begin"
msgstr "Начало установки ОС UBLinux" msgstr "Начало установки системы"
#: source/ubl-strings.h:126 #: source/ubl-strings.h:126
msgid "Documentation" msgid "Documentation"
@ -505,7 +505,7 @@ msgstr "Ошибка установки"
#: source/ubl-strings.h:135 #: source/ubl-strings.h:135
msgid "" msgid ""
"Attention! The UBLinux OS will be installed on the selected partition with " "Attention! The system will be installed on the selected partition with "
"OS already installed. All user data will be saved." "OS already installed. All user data will be saved."
msgstr "" msgstr ""
"<b>Внимание!</b> В выбранный раздел будет произведена установка системы. " "<b>Внимание!</b> В выбранный раздел будет произведена установка системы. "
@ -659,6 +659,10 @@ msgstr ""
"Вы уверены, что хотите закрыть программу и\n" "Вы уверены, что хотите закрыть программу и\n"
"прервать процесс установки?" "прервать процесс установки?"
#: source/ubl-strings.h:331
msgid "Are you sure want to interrupt installation process?"
msgstr "Вы уверены, что хотите прервать процесс установки?"
#: source/ubl-strings.h:187 #: source/ubl-strings.h:187
msgid "Are you sure want to reboot system?" msgid "Are you sure want to reboot system?"
msgstr "Вы уверены что хотите перезагрузить систему?" msgstr "Вы уверены что хотите перезагрузить систему?"
@ -941,7 +945,7 @@ msgstr "Фиксированный размер:"
#: source/ubl-strings.h:267 #: source/ubl-strings.h:267
msgid "" msgid ""
"<b>Attention!</b> The UBLinux OS will be installed on the selected partition " "<b>Attention!</b> The system will be installed on the selected partition "
"with OS already installed. All user data will be saved." "with OS already installed. All user data will be saved."
msgstr "" msgstr ""
"<b>Внимание!</b> В выбранный раздел будет произведена установка системы. " "<b>Внимание!</b> В выбранный раздел будет произведена установка системы. "
@ -950,11 +954,11 @@ msgstr ""
#: source/ubl-strings.h:268 #: source/ubl-strings.h:268
msgid "" msgid ""
"<b>Attention!</b> The selected OS UBLinux components will be installed\n" "<b>Attention!</b> The selected system components will be installed\n"
"separately into the selected partition." "separately into the selected partition."
msgstr "" msgstr ""
"<b>Внимание!</b> В выбранный раздел будет произведена раздельная установка " "<b>Внимание!</b> В выбранный раздел будет произведена раздельная установка "
"выбранных компонентов ОС UBLinux." "выбранных компонентов системы."
#: source/ubl-strings.h:269 #: source/ubl-strings.h:269
msgid "Enable VNC server" msgid "Enable VNC server"
@ -1213,6 +1217,10 @@ msgstr ""
"Если не менять тип ФС и не форматировать, все данные на разделе будут " "Если не менять тип ФС и не форматировать, все данные на разделе будут "
"сохранены." "сохранены."
#: source/ubl-strings.h:331
msgid "About system installation"
msgstr "О Программе установки системы"
msgid "Exit" msgid "Exit"
msgstr "Выйти" msgstr "Выйти"

@ -51,7 +51,7 @@ int yon_bootloader_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,save_size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,save_size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,save_size); yon_char_parsed_free(parameters,save_size);
} }

@ -1,5 +1,6 @@
#include "ubinstall-gtk.h" #include "ubinstall-gtk.h"
int yon_kernel_save(main_window *widgets){ int yon_kernel_save(main_window *widgets){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox));
char *install_modules = ""; char *install_modules = "";
@ -33,7 +34,7 @@ int yon_kernel_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }
@ -44,22 +45,21 @@ int yon_kernel_save(main_window *widgets){
int yon_kernel_addon_save(main_window *widgets){ int yon_kernel_addon_save(main_window *widgets){
// yon_kernel_save(widgets); // yon_kernel_save(widgets);
char *parameter = config(modules_extra_parameter);
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
char *install_modules = ""; char *install_modules = yon_char_new(parameter);
for(GList *iter = list;iter;iter = iter->next){ for(GList *iter = list;iter;iter = iter->next){
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row"); kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
char *temp = yon_char_unite(install_modules,!yon_char_is_empty(install_modules)?" ":"",row->modules,NULL); char *temp = yon_char_append_element(install_modules,row->modules," ");
if (!yon_char_is_empty(install_modules)) free(install_modules); if (!yon_char_is_empty(install_modules)) free(install_modules);
install_modules = temp; install_modules = temp;
} }
} }
if (!yon_char_is_empty(install_modules)){ if (!yon_char_is_empty(install_modules)){
char *parameter = config(modules_extra_parameter); yon_config_register(modules_extra_parameter,modules_extra_parameter_command,install_modules);
char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?" ":"",install_modules,NULL); free(install_modules);
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
free(parameter_new);
} }
if (!main_config.configure_mode){ if (!main_config.configure_mode){
int size; int size;
@ -67,7 +67,7 @@ int yon_kernel_addon_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }
@ -79,6 +79,7 @@ int yon_os_components_save(main_window *widgets){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
GList *iter; GList *iter;
int size; int size;
int overall_num=0;
config_str modules = NULL; config_str modules = NULL;
for(iter = list;iter;iter=iter->next){ for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row"); os_row *row = g_object_get_data(iter->data,"kernel_row");
@ -87,9 +88,12 @@ int yon_os_components_save(main_window *widgets){
if (status){ if (status){
yon_char_parsed_add_or_create_if_exists(modules,&size,target); yon_char_parsed_add_or_create_if_exists(modules,&size,target);
} }
overall_num++;
} }
g_list_free(list); g_list_free(list);
if (size){ if (size&&size==overall_num){
yon_config_register(modules_parameter,modules_parameter_command,"auto");
} else if (size){
char *final = yon_char_parsed_to_string(modules,size,","); char *final = yon_char_parsed_to_string(modules,size,",");
yon_config_register(modules_parameter,modules_parameter_command,final); yon_config_register(modules_parameter,modules_parameter_command,final);
} else { } else {
@ -101,7 +105,7 @@ int yon_os_components_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,parameters_size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,parameters_size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,parameters_size); yon_char_parsed_free(parameters,parameters_size);
} }
@ -152,10 +156,12 @@ void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *d
free(description_full); free(description_full);
} }
gboolean yon_os_component_insert(os_row *row){ gboolean yon_os_component_insert(struct row_data *row_input){
main_window *widgets = g_object_get_data(G_OBJECT(row->row),"widgets"); os_row *row = yon_os_row_new();
main_window *widgets = row_input->widgets;
gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1); gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1);
yon_os_row_setup(row,row->name,row->version,row->tags,row->description); yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,row_input->description);
return G_SOURCE_REMOVE; return G_SOURCE_REMOVE;
} }
@ -172,12 +178,12 @@ void *yon_os_components_setup(main_window *widgets){
yon_char_remove_last_symbol(base[i],'\n'); yon_char_remove_last_symbol(base[i],'\n');
int parsed_size; int parsed_size;
config_str parsed = yon_char_parse(base[i],&parsed_size,";"); config_str parsed = yon_char_parse(base[i],&parsed_size,";");
os_row *row = yon_os_row_new(); struct row_data *row = malloc(sizeof(struct row_data));
row->version = parsed[1]; row->version = parsed[1];
row->name = parsed[0]; row->name = parsed[0];
row->tags = yon_char_replace(parsed[2]," ",", "); row->tags = yon_char_replace(parsed[2]," ",", ");
row->description = parsed[3]; row->description = parsed[3];
g_object_set_data(G_OBJECT(row->row),"widgets",widgets); row->widgets=widgets;
g_idle_add((GSourceFunc)yon_os_component_insert,row); g_idle_add((GSourceFunc)yon_os_component_insert,row);
} }
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner); g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
@ -220,7 +226,6 @@ void yon_os_components_init(main_window *widgets){
} }
int yon_software_save(main_window *widgets){ int yon_software_save(main_window *widgets){
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->AdditionalSoftwareList); GtkTreeModel *model = GTK_TREE_MODEL(widgets->AdditionalSoftwareList);
int size = 0; int size = 0;
@ -246,7 +251,7 @@ int yon_software_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }
@ -311,7 +316,7 @@ int yon_pacman_software_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }

@ -53,6 +53,7 @@ void on_configuration_mode_switch(GtkWidget *self,main_window *widgets){
gtk_widget_show(window->Window); gtk_widget_show(window->Window);
gtk_main(); gtk_main();
if (main_config.config_save_path){
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox),"config_mode",CONFIGURATION_MODE_STATUS_LABEL,BACKGROUND_IMAGE_INFO_TYPE); yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox),"config_mode",CONFIGURATION_MODE_STATUS_LABEL,BACKGROUND_IMAGE_INFO_TYPE);
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox2),"config_mede",CONFIG_PATH_LABEL(main_config.config_save_path),BACKGROUND_IMAGE_INFO_TYPE); yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox2),"config_mede",CONFIG_PATH_LABEL(main_config.config_save_path),BACKGROUND_IMAGE_INFO_TYPE);
GList *revealerlist = gtk_container_get_children(GTK_CONTAINER(widgets->StatusBox2)); GList *revealerlist = gtk_container_get_children(GTK_CONTAINER(widgets->StatusBox2));
@ -65,6 +66,7 @@ void on_configuration_mode_switch(GtkWidget *self,main_window *widgets){
gtk_style_context_remove_class(gtk_widget_get_style_context(box),"boxInfoMessOK"); gtk_style_context_remove_class(gtk_widget_get_style_context(box),"boxInfoMessOK");
gtk_style_context_add_class(gtk_widget_get_style_context(box),"boxInfoMessGray"); gtk_style_context_add_class(gtk_widget_get_style_context(box),"boxInfoMessGray");
main_config.configure_mode = 1; main_config.configure_mode = 1;
}
gtk_widget_destroy(window->Window); gtk_widget_destroy(window->Window);
return; return;

@ -26,7 +26,7 @@ int yon_grub_install_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }
@ -60,7 +60,7 @@ int yon_grub_update_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }

@ -35,7 +35,7 @@ int yon_install_common_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }
@ -105,7 +105,7 @@ int yon_install_separate_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }
@ -163,7 +163,7 @@ int yon_install_same_partition_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }

@ -58,7 +58,7 @@ int yon_keyboard_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }

@ -291,7 +291,7 @@ int yon_network_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,save_size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,save_size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,save_size); yon_char_parsed_free(parameters,save_size);
} }

@ -29,13 +29,17 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_RECOVERY_GRUB_UPDATE: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break; case YON_PAGE_RECOVERY_GRUB_UPDATE: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_RECOVERY_OS_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break; case YON_PAGE_RECOVERY_OS_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_RECOVERY_USRDATA_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break; case YON_PAGE_RECOVERY_USRDATA_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break;
// case YON_PAGE_COMPLETED: case YON_PAGE_INSTALLATION: break;
case YON_PAGE_CONFIGURE_SAVE: break;
case YON_PAGE_COMPLETED:
case YON_PAGE_INSTALL_ERROR: case YON_PAGE_INSTALL_ERROR:
case YON_PAGE_CONFIGURE_END: case YON_PAGE_CONFIGURE_END:
case YON_PAGE_COMPLETION: case YON_PAGE_COMPLETION:
on_reboot_accepted(widgets); on_reboot_accepted(widgets);
gtk_main_quit();
exit(0);
break; break;
default:return YON_PAGE_WELCOME; // default:return YON_PAGE_WELCOME;
} }
return YON_PAGE_WELCOME; return YON_PAGE_WELCOME;
} }
@ -291,7 +295,7 @@ void yon_switch_page_render(main_window *widgets){
void yon_configuration_mode_check(main_window *widgets){ void yon_configuration_mode_check(main_window *widgets){
enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)); enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
if (page==YON_PAGE_WELCOME){ if (page==YON_PAGE_WELCOME&&!main_config.force_ini){
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1);
} else { } else {
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0); gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0);
@ -426,9 +430,20 @@ void on_page_cancel_clicked(GtkWidget *, main_window *widgets){
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1);
yon_page_update(widgets); yon_page_update(widgets);
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
data->action_text=INTERRUPT_TEXT_LABEL;
data->title=WARNING_TITLE_LABEL;
if (yon_confirmation_dialog_call(widgets->MainWindow,data)==GTK_RESPONSE_ACCEPT ){
if (main_config.install_thread){
gtk_widget_hide(gtk_widget_get_parent(widgets->InstallationProgress));
gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress));
pthread_cancel((pthread_t)main_config.install_thread);
}
}
} }
void on_system_setup_pass(GtkWidget *, main_window *widgets){ void on_system_setup_pass(GtkWidget *, main_window *widgets){
main_config.save_configured=1;
if (main_config.configure_mode){ if (main_config.configure_mode){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_CONFIGURE_END); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_CONFIGURE_END);
} else { } else {

@ -45,7 +45,7 @@ int yon_region_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }

@ -29,15 +29,8 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
yon_config_load_config(type,yon_config_get_command(main_config.config_load_path),NULL); yon_config_load_config(type,yon_config_get_command(main_config.config_load_path),NULL);
} else if (type==YON_CONFIG_CUSTOM){ } else if (type==YON_CONFIG_CUSTOM){
textdomain(template_ui_LocaleName); textdomain(template_ui_LocaleName);
GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); GtkWidget *dialog = yon_config_save_window_new();
textdomain(LocaleName); textdomain(LocaleName);
gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-services");
gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL);
GtkFileFilter *filter = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter,"*.ini");
gtk_file_filter_set_name(filter, "*.ini");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter);
gtk_widget_show(dialog);
int response = gtk_dialog_run(GTK_DIALOG(dialog)); int response = gtk_dialog_run(GTK_DIALOG(dialog));
if (response == GTK_RESPONSE_ACCEPT){ if (response == GTK_RESPONSE_ACCEPT){
char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
@ -56,8 +49,11 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
} }
} }
void on_config_local_load(GtkWidget *,main_window *widgets){ void on_config_local_load(GtkWidget *,main_window *widgets){
if (!yon_char_is_empty(main_config.force_ini)) {
on_config_custom_load_last(NULL,widgets);
return;
}
if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path); if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path);
main_config.config_load_path = yon_char_new("system"); main_config.config_load_path = yon_char_new("system");
yon_load_proceed(YON_CONFIG_LOCAL); yon_load_proceed(YON_CONFIG_LOCAL);
@ -66,6 +62,10 @@ void on_config_local_load(GtkWidget *,main_window *widgets){
} }
void on_config_global_load(GtkWidget *,main_window *widgets){ void on_config_global_load(GtkWidget *,main_window *widgets){
if (!yon_char_is_empty(main_config.force_ini)) {
on_config_custom_load_last(NULL,widgets);
return;
}
if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path); if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path);
main_config.config_load_path = yon_char_new("global"); main_config.config_load_path = yon_char_new("global");
yon_load_proceed(YON_CONFIG_GLOBAL); yon_load_proceed(YON_CONFIG_GLOBAL);
@ -571,6 +571,7 @@ void *on_config_save(void *data){
g_signal_connect(G_OBJECT(widgets->install_info_monitor),"changed",G_CALLBACK(yon_installation_progress_update),widgets); g_signal_connect(G_OBJECT(widgets->install_info_monitor),"changed",G_CALLBACK(yon_installation_progress_update),widgets);
g_object_unref(file_desc); g_object_unref(file_desc);
gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress)); gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress));
if (!main_config.dry_run){
char *command = yon_debug_output("%s\n",save_config_command(yon_char_parsed_to_string(parameters,size," "))); char *command = yon_debug_output("%s\n",save_config_command(yon_char_parsed_to_string(parameters,size," ")));
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
yon_debug_output("%s\n","Entered installation"); yon_debug_output("%s\n","Entered installation");
@ -591,6 +592,9 @@ void *on_config_save(void *data){
on_setup_system_configuration(widgets); on_setup_system_configuration(widgets);
on_page_next_clicked(NULL,widgets); on_page_next_clicked(NULL,widgets);
} }
} else {
yon_launch("ubconfig --source system get /");
}
return 0; return 0;
} }
@ -674,12 +678,17 @@ void *on_setup_system_configuration(void * data){
} }
if (!main_config.dry_run){
char *parameter_string = yon_char_parsed_to_string(all_parameters,size," "); char *parameter_string = yon_char_parsed_to_string(all_parameters,size," ");
char *command = set_user_config_command(parameter_string); char *command = set_user_config_command(parameter_string);
if (system(yon_debug_output("%s\n",command))){}; if (system(yon_debug_output("%s\n",command))){};
yon_char_parsed_free(all_parameters,size); yon_char_parsed_free(all_parameters,size);
free(command); free(command);
if (parameter_string) free(parameter_string); if (parameter_string) free(parameter_string);
} else {
yon_launch("ubconfig --source system get /");
}
} }
g_idle_add((GSourceFunc)on_install_success,widgets); g_idle_add((GSourceFunc)on_install_success,widgets);
return NULL; return NULL;

@ -28,7 +28,7 @@ int yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }

@ -216,7 +216,7 @@ int yon_startup_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }

@ -41,7 +41,7 @@ int yon_users_save(main_window *widgets){
if (parameters){ if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(command)){} if (!system(yon_debug_output("%s\n",command))){}
free(command); free(command);
yon_char_parsed_free(parameters,save_size); yon_char_parsed_free(parameters,save_size);
} }

@ -1,6 +1,135 @@
#include "ubinstall-gtk.h" #include "ubinstall-gtk.h"
config main_config; config main_config;
void yon_open_browser(GtkWidget *, char *link){
GtkWidget *window = yon_ubl_browser_window_open(link,TITLE_LABEL);
if (window)
gtk_window_set_icon_name(GTK_WINDOW(window),yon_char_append("com.ublinux.",LocaleName));
}
void on_open_documentation_confirmation(GtkWidget *self, char *link){
if (template_app_information.always_open_documentation==0){
GtkBuilder *builder = gtk_builder_new_from_resource(ui_glade_path_documentation);
template_documentation_confirmation_window *window = malloc(sizeof(template_documentation_confirmation_window));
window->Window = yon_gtk_builder_get_widget(builder,"helpConfirmationWindow");
window->AcceptButton = yon_gtk_builder_get_widget(builder,"ReadHelpButton");
window->CloseButton = yon_gtk_builder_get_widget(builder,"CancelHelpButton");
window->HeaderLabel = yon_gtk_builder_get_widget(builder,"webHeaderNameLabel");
window->AlwaysOpenCheck = yon_gtk_builder_get_widget(builder,"AlwaysOpenDocumentationCheckbox");
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),TITLE_LABEL);
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL);
gtk_window_set_icon_name(GTK_WINDOW(window->Window),yon_char_append("com.ublinux.",LocaleName));
gtk_widget_show_all(window->Window);
g_signal_connect(G_OBJECT(window->CloseButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(yon_open_browser),yon_char_new(link));
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
} else {
yon_open_browser(self,link);
}
}
/**on_link(GtkWidget *self, char* uri, gpointer user_data)
* [EN]
* Signal for hadnling AboutDialog links.
* Connect to "activate-link" signal.
* [self] is AboutDialog window;
* [uri] is activated link;
* [user_data] is pointer for user data, hasn't used in standard handler;
* [RU]
* Функция для обработки сигнала нажатия на ссылку окна AboutDialog.
* Присоединять к сигналу "activate-link".
* [self] - окно AboutDialog;
* [uri] - ссылка, по которой совершается переход;
* [user_data] - указатель на любые другие данные, не используется в стандартном обработчике;
*/
void on_link(GtkWidget *self, char* uri, gpointer ){
gtk_widget_destroy(self);
on_open_documentation_confirmation(self,uri);
}
void on_about(GtkWidget *, char *version_application){
GtkBuilder *builder=gtk_builder_new_from_resource(ui_glade_path_about);
GtkWidget *window=yon_gtk_builder_get_widget(builder,"AboutWindow");
GtkWidget *title=yon_gtk_builder_get_widget(builder,"headerAboutTopic");
GtkWidget *hideButtonBox=yon_gtk_builder_get_widget(builder,"buttonBoxHide");
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(window),version_application);
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(window),TITLE_LABEL);
gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(window),yon_char_append("com.ublinux.",LocaleName));
gtk_window_set_icon_name(GTK_WINDOW(window),yon_char_append("com.ublinux.",LocaleName));
char *title_str = ABOUT_TITLE_LABEL;
gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(window),LocaleName);
gtk_label_set_text(GTK_LABEL(title),ABOUT_TITLE_LABEL);
g_signal_connect(G_OBJECT(window),"activate-link",G_CALLBACK(on_link),NULL);
gtk_widget_set_visible(hideButtonBox,0);
gtk_widget_destroy(hideButtonBox);
gtk_window_set_title(GTK_WINDOW(window),title_str);
gtk_widget_show(window);
}
//functions
int yon_confirmation_dialog_call(GtkWidget *self,dialog_confirmation_data *data){
textdomain(template_ui_LocaleName);
GtkWidget *dialog = gtk_dialog_new_with_buttons(TITLE_LABEL,GTK_WINDOW(gtk_widget_get_toplevel(self)),GTK_DIALOG_USE_HEADER_BAR,CANCEL_LABEL,GTK_RESPONSE_CANCEL,ACCEPT_LABEL,GTK_RESPONSE_ACCEPT,NULL);
textdomain(LocaleName);
gtk_window_set_modal(GTK_WINDOW(dialog),1);
gtk_window_set_icon_name(GTK_WINDOW(dialog),yon_char_append("com.ublinux.",LocaleName));
gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL);
gtk_widget_set_size_request(dialog,450,-1);
GList *list = gtk_container_get_children(GTK_CONTAINER(gtk_dialog_get_header_bar(GTK_DIALOG(dialog))));
GtkWidget *image_cancel = gtk_image_new_from_icon_name("com.ublinux.libublsettingsui-gtk3.cancel-symbolic",GTK_ICON_SIZE_BUTTON);
GtkWidget *image_accept = gtk_image_new_from_icon_name("com.ublinux.libublsettingsui-gtk3.accept-symbolic",GTK_ICON_SIZE_BUTTON);
gtk_button_set_image((GtkButton*)g_list_nth_data(list,0),image_cancel);
gtk_button_set_image((GtkButton*)g_list_nth_data(list,1),image_accept);
gtk_style_context_add_class(gtk_widget_get_style_context((GtkWidget*)g_list_nth_data(list,0)),"marginright");
gtk_style_context_add_class(gtk_widget_get_style_context((GtkWidget*)g_list_nth_data(list,1)),"marginright");
g_list_free(list);
GtkWidget *header_label = gtk_label_new(yon_char_is_empty(data->title)?TITLE_LABEL:data->title);
gtk_widget_show(header_label);
PangoAttrList *attributes = pango_attr_list_new();
PangoAttribute *boldAttr = pango_attr_weight_new(PANGO_WEIGHT_BOLD);
pango_attr_list_insert(attributes, boldAttr);
gtk_label_set_attributes(GTK_LABEL(header_label),attributes);
GtkWidget *header = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));
gtk_header_bar_set_custom_title(GTK_HEADER_BAR(header),header_label);
gtk_widget_show(header);
GtkWidget *image = gtk_image_new_from_icon_name("dialog-question-symbolic",GTK_ICON_SIZE_DIALOG);
gtk_widget_show(image);
gtk_widget_set_margin_start(image,20);
gtk_widget_set_margin_end(image,20);
gtk_widget_set_margin_bottom(image,20);
gtk_widget_set_margin_top(image,20);
GtkWidget *label = gtk_label_new("");
gtk_widget_set_margin_end(label,20);
gtk_widget_show(label);
gtk_label_set_line_wrap_mode(GTK_LABEL(label),PANGO_WRAP_WORD);
gtk_label_set_line_wrap(GTK_LABEL(label),1);
gtk_label_set_markup(GTK_LABEL(label),data->action_text);
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
gtk_widget_show(box);
gtk_box_pack_start(GTK_BOX(box),image,0,0,5);
gtk_box_pack_start(GTK_BOX(box),label,0,0,5);
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),box,1,1,5);
gtk_window_set_default_size(GTK_WINDOW(dialog),450,-1);
int resp = gtk_dialog_run(GTK_DIALOG(dialog));
if (resp == GTK_RESPONSE_ACCEPT){
if (data->function){
data->function(NULL,data->data);
}
} else resp=0;
gtk_widget_destroy(dialog);
return resp;
}
// //functions // //functions
// void yon_encryption_type_setup(GtkComboBoxText *target){ // void yon_encryption_type_setup(GtkComboBoxText *target){
@ -127,6 +256,21 @@ double yon_size_long_convert_to_mod(double size, char mod){
return final_size; return final_size;
} }
void on_source_changed(GtkComboBox *self){
GtkWidget *devices_combo = g_object_get_data(G_OBJECT(self),"target");
GtkWidget *path_button = g_object_get_data(G_OBJECT(self),"button");
GtkWidget *path_combo = g_object_get_data(G_OBJECT(self),"combo");
if (gtk_combo_box_get_active(self)){
gtk_widget_show(path_button);
gtk_widget_show(path_combo);
gtk_widget_hide(devices_combo);
} else{
gtk_widget_hide(path_button);
gtk_widget_hide(path_combo);
gtk_widget_show(devices_combo);
}
}
source_element *yon_source_element_new(){ source_element *yon_source_element_new(){
source_element *element = new(source_element); source_element *element = new(source_element);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_source_element); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_source_element);
@ -134,19 +278,46 @@ source_element *yon_source_element_new(){
element->MainBox = yon_gtk_builder_get_widget(builder,"MainBox"); element->MainBox = yon_gtk_builder_get_widget(builder,"MainBox");
element->TypeCombo = yon_gtk_builder_get_widget(builder,"TypeCombo"); element->TypeCombo = yon_gtk_builder_get_widget(builder,"TypeCombo");
element->PathEntry = yon_gtk_builder_get_widget(builder,"PathEntry"); element->PathEntry = yon_gtk_builder_get_widget(builder,"PathEntry");
element->DeviceCombo = yon_gtk_builder_get_widget(builder,"DeviceCombo");
element->PathButton = yon_gtk_builder_get_widget(builder,"PathButton"); element->PathButton = yon_gtk_builder_get_widget(builder,"PathButton");
element->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton"); element->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton");
g_signal_connect(G_OBJECT(element->RemoveButton),"clicked",G_CALLBACK(on_source_remove),element); g_signal_connect(G_OBJECT(element->RemoveButton),"clicked",G_CALLBACK(on_source_remove),element);
g_signal_connect(G_OBJECT(element->PathButton),"clicked",G_CALLBACK(on_source_choose),element); g_signal_connect(G_OBJECT(element->PathButton),"clicked",G_CALLBACK(on_source_choose),element);
g_signal_connect(G_OBJECT(element->TypeCombo),"changed",G_CALLBACK(on_source_changed),element);
g_object_set_data(G_OBJECT(element->PathButton),"combo",element->TypeCombo); g_object_set_data(G_OBJECT(element->PathButton),"combo",element->TypeCombo);
g_object_set_data(G_OBJECT(element->PathButton),"target_combo",element->TypeCombo);
g_object_set_data(G_OBJECT(element->TypeCombo),"target",element->DeviceCombo);
g_object_set_data(G_OBJECT(element->TypeCombo),"button",element->PathButton);
g_object_set_data(G_OBJECT(element->TypeCombo),"combo",element->PathEntry);
int size;
config_str parts = yon_config_load(get_parts_and_devices_command, &size);
for (int i=0;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(parts[i],&parsed_size,";");
if (!strcmp(parsed[0],"part")){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(element->DeviceCombo),parsed[1],parsed[1]);
}
yon_char_parsed_free(parsed,parsed_size);
}
gtk_combo_box_set_active(GTK_COMBO_BOX(element->DeviceCombo),0);
yon_char_parsed_free(parts,size);
return element; return element;
} }
void yon_source_element_add(char *key,void*,source_window *window){ void yon_source_element_add(char *key,void*,source_window *window){
source_element *element = yon_source_element_new(); source_element *element = yon_source_element_new();
if (yon_char_check_begins_with(key,"/dev/")){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(element->DeviceCombo),key);
gtk_combo_box_set_active(GTK_COMBO_BOX(element->TypeCombo),0);
} else if (g_regex_match_simple(".*\\.iso",key,G_REGEX_DEFAULT,G_REGEX_MATCH_DEFAULT)){
gtk_entry_set_text(GTK_ENTRY(element->PathEntry),key); gtk_entry_set_text(GTK_ENTRY(element->PathEntry),key);
gtk_combo_box_set_active(GTK_COMBO_BOX(element->TypeCombo),2);
} else {
gtk_entry_set_text(GTK_ENTRY(element->PathEntry),key);
gtk_combo_box_set_active(GTK_COMBO_BOX(element->TypeCombo),1);
}
gtk_box_pack_start(GTK_BOX(window->AddBox),element->MainBox,0,0,0); gtk_box_pack_start(GTK_BOX(window->AddBox),element->MainBox,0,0,0);
g_object_set_data(G_OBJECT(element->MainBox),"window",window); g_object_set_data(G_OBJECT(element->MainBox),"window",window);
g_object_set_data(G_OBJECT(element->PathButton),"target",window->PathEntry); g_object_set_data(G_OBJECT(element->PathButton),"target",window->PathEntry);
@ -158,22 +329,32 @@ void yon_source_update(source_window *window){
for (iter=list;iter;iter=iter->next){ for (iter=list;iter;iter=iter->next){
gtk_widget_destroy(GTK_WIDGET(iter->data)); gtk_widget_destroy(GTK_WIDGET(iter->data));
} }
g_hash_table_foreach(window->sources,(GHFunc)yon_source_element_add,window); dictionary *dict;
if (!window->sources) return;
for_dictionaries(dict,window->sources){
yon_source_element_add(dict->key,NULL,window);
}
} }
void on_source_add(GtkWidget *,source_window *window){ void on_source_add(GtkWidget *,source_window *window){
const char *path = gtk_entry_get_text(GTK_ENTRY(window->PathEntry)); const char *path = gtk_widget_get_visible(window->PathEntry)?gtk_entry_get_text(GTK_ENTRY(window->PathEntry)):gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->DeviceCombo));
if (!g_hash_table_contains(window->sources,path)){ if (!yon_dictionary_get(&window->sources,(char*)path)){
g_hash_table_add(window->sources,yon_char_new(path)); yon_dictionary_add_or_create_if_exists_with_data(window->sources,yon_char_new(path),NULL);
gtk_entry_set_text(GTK_ENTRY(window->PathEntry),"");
gtk_combo_box_set_active(GTK_COMBO_BOX(window->DeviceCombo),0);
yon_source_update(window); yon_source_update(window);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
void on_source_remove(GtkWidget *,source_element *element){ void on_source_remove(GtkWidget *,source_element *element){
source_window *window = g_object_get_data(G_OBJECT(element->MainBox),"window"); source_window *window = g_object_get_data(G_OBJECT(element->MainBox),"window");
const char *path = gtk_entry_get_text(GTK_ENTRY(window->PathEntry)); const char *path = gtk_widget_get_visible(element->PathEntry)?gtk_entry_get_text(GTK_ENTRY(element->PathEntry)):gtk_combo_box_get_active_id(GTK_COMBO_BOX(element->DeviceCombo));
if (g_hash_table_contains(window->sources,path)){ dictionary *dict = yon_dictionary_get(&window->sources,(char*)path);
g_hash_table_remove(window->sources,path); if (dict){
window->sources = yon_dictionary_rip(dict);
yon_source_update(window); yon_source_update(window);
} }
} }
@ -182,9 +363,6 @@ void on_source_choose(GtkWidget *self){
GtkWidget *target_entry = g_object_get_data(G_OBJECT(self),"target"); GtkWidget *target_entry = g_object_get_data(G_OBJECT(self),"target");
GtkWidget *target_mode = g_object_get_data(G_OBJECT(self),"combo"); GtkWidget *target_mode = g_object_get_data(G_OBJECT(self),"combo");
switch (gtk_combo_box_get_active(GTK_COMBO_BOX(target_mode))){ switch (gtk_combo_box_get_active(GTK_COMBO_BOX(target_mode))){
case 0: {
} break;
case 1:{ case 1:{
filechooser_window *dialog = yon_file_chooser_window_new(GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); filechooser_window *dialog = yon_file_chooser_window_new(GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(dialog->Window),OPEN_LABEL,icon_path,"filechooser_window"); yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(dialog->Window),OPEN_LABEL,icon_path,"filechooser_window");
@ -214,9 +392,24 @@ void on_source_choose(GtkWidget *self){
void on_source_accept(GtkWidget *,source_window *window){ void on_source_accept(GtkWidget *,source_window *window){
if (gtk_switch_get_active(GTK_SWITCH(window->AutoSwitch))){ if (gtk_switch_get_active(GTK_SWITCH(window->AutoSwitch))){
yon_config_register(source_parameter,source_parameter_command,"auto"); yon_config_register(source_parameter,source_parameter_command,"auto");
on_subwindow_close(window->Window);
return;
}
const char *creation_path = gtk_widget_get_visible(window->PathEntry)? gtk_entry_get_text(GTK_ENTRY(window->PathEntry)):NULL;
if (!yon_char_is_empty(creation_path)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),SOURCE_CREATE_ONGOING_ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
}
int size;
config_str paths = NULL;
dictionary *dict;
if (!window->sources) return;
for_dictionaries(dict,window->sources){
if (yon_char_parsed_check_exist(paths,size,dict->key)>-1){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
return;
}
yon_char_parsed_add_or_create_if_exists(paths,&size,dict->key);
} }
guint size;
config_str paths = (config_str)g_hash_table_get_keys_as_array(window->sources,&size);
if (!size){ if (!size){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->PathEntry); yon_ubl_status_highlight_incorrect(window->PathEntry);
@ -238,6 +431,8 @@ void on_source_accept(GtkWidget *,source_window *window){
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);
} }
} }
yon_dictionary_free_all(window->sources,NULL);
free(window);
} }
source_window *yon_source_window_new(){ source_window *yon_source_window_new(){
@ -251,28 +446,52 @@ source_window *yon_source_window_new(){
window->AutoSwitch = yon_gtk_builder_get_widget(builder,"AutoSwitch"); window->AutoSwitch = yon_gtk_builder_get_widget(builder,"AutoSwitch");
window->TypeCombo = yon_gtk_builder_get_widget(builder,"TypeCombo"); window->TypeCombo = yon_gtk_builder_get_widget(builder,"TypeCombo");
window->PathEntry = yon_gtk_builder_get_widget(builder,"PathEntry"); window->PathEntry = yon_gtk_builder_get_widget(builder,"PathEntry");
window->DeviceCombo = yon_gtk_builder_get_widget(builder,"DeviceCombo");
window->PathButton = yon_gtk_builder_get_widget(builder,"PathButton"); window->PathButton = yon_gtk_builder_get_widget(builder,"PathButton");
window->AddButton = yon_gtk_builder_get_widget(builder,"AddButton"); window->AddButton = yon_gtk_builder_get_widget(builder,"AddButton");
window->AddBox = yon_gtk_builder_get_widget(builder,"AddBox"); window->AddBox = yon_gtk_builder_get_widget(builder,"AddBox");
window->sources = g_hash_table_new(g_str_hash,g_str_equal); window->sources = NULL;
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_source_accept),window); g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_source_accept),window);
g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_source_add),window); g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_source_add),window);
g_signal_connect(G_OBJECT(window->PathButton),"clicked",G_CALLBACK(on_source_choose),window); g_signal_connect(G_OBJECT(window->PathButton),"clicked",G_CALLBACK(on_source_choose),window);
g_signal_connect(G_OBJECT(window->AutoSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->AddBox); g_signal_connect(G_OBJECT(window->TypeCombo),"changed",G_CALLBACK(on_source_changed),window);
g_signal_connect(G_OBJECT(window->AutoSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->TypeCombo); g_signal_connect(G_OBJECT(window->AutoSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),gtk_widget_get_parent(gtk_widget_get_parent(window->AddBox)));
g_signal_connect(G_OBJECT(window->AutoSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->AddButton);
g_signal_connect(G_OBJECT(window->AutoSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->PathButton);
g_signal_connect(G_OBJECT(window->AutoSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->PathEntry);
g_object_set_data(G_OBJECT(window->PathButton),"combo",window->TypeCombo); g_object_set_data(G_OBJECT(window->PathButton),"combo",window->TypeCombo);
g_object_set_data(G_OBJECT(window->PathButton),"target",window->PathEntry); g_object_set_data(G_OBJECT(window->PathButton),"target",window->PathEntry);
g_object_set_data(G_OBJECT(window->TypeCombo),"target",window->DeviceCombo);
g_object_set_data(G_OBJECT(window->TypeCombo),"button",window->PathButton);
g_object_set_data(G_OBJECT(window->TypeCombo),"combo",window->PathEntry);
int size;
config_str parts = yon_config_load(get_parts_and_devices_command, &size);
for (int i=0;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(parts[i],&parsed_size,";");
if (!strcmp(parsed[0],"part")){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->DeviceCombo),parsed[1],parsed[1]);
}
yon_char_parsed_free(parsed,parsed_size);
}
gtk_combo_box_set_active(GTK_COMBO_BOX(window->DeviceCombo),0);
yon_char_parsed_free(parts,size);
return window; return window;
} }
void on_source_clicked(GtkWidget *,main_window *widgets){ void on_source_clicked(GtkWidget *,main_window *widgets){
source_window *window = yon_source_window_new(); source_window *window = yon_source_window_new();
char *sources = config(source_parameter);
if (!yon_char_is_empty(sources)&&strcmp(sources,"auto")){
gtk_switch_set_active(GTK_SWITCH(window->AutoSwitch),0);
int size;
config_str parsed = yon_char_parse(sources,&size,",");
for (int i=0;i<size;i++){
yon_dictionary_add_or_create_if_exists_with_data(window->sources,parsed[i],NULL);
}
yon_char_parsed_free(parsed,size);
}
g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); g_object_set_data(G_OBJECT(window->Window),"widgets",widgets);
yon_source_update(window);
gtk_widget_show(window->Window); gtk_widget_show(window->Window);
} }
@ -331,6 +550,8 @@ void config_init(){
main_config.config_load_path = NULL; main_config.config_load_path = NULL;
main_config.config_save_path = NULL; main_config.config_save_path = NULL;
yon_packages_init(); yon_packages_init();
main_config.dry_run=0;
main_config.force_ini=NULL;
main_config.network_types = g_hash_table_new(g_str_hash,g_str_equal); main_config.network_types = g_hash_table_new(g_str_hash,g_str_equal);
main_config.cur_slide=0; main_config.cur_slide=0;
} }
@ -353,7 +574,6 @@ void on_gparted_open(){
yon_launch_app_with_arguments(open_gparted_command,NULL); yon_launch_app_with_arguments(open_gparted_command,NULL);
} }
void on_reboot_accepted(main_window *){ void on_reboot_accepted(main_window *){
g_mutex_lock(&main_config.install_mutex); g_mutex_lock(&main_config.install_mutex);
if (main_config.install_thread){ if (main_config.install_thread){
@ -380,7 +600,7 @@ gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){
if (!main_config.exit_accepted||(main_config.save_done&&main_config.install_complete)){ if (!main_config.exit_accepted||(main_config.save_done&&main_config.install_complete)){
if (widgets){}; if (widgets){};
dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
data->action_text=WARNING_TEXT_LABEL; data->action_text=INTERRUPT_TEXT_LABEL;
data->title=WARNING_TITLE_LABEL; data->title=WARNING_TITLE_LABEL;
if (yon_confirmation_dialog_call(widgets->MainWindow,data)==GTK_RESPONSE_ACCEPT ){ if (yon_confirmation_dialog_call(widgets->MainWindow,data)==GTK_RESPONSE_ACCEPT ){
on_exit_accepted(widgets); on_exit_accepted(widgets);
@ -933,6 +1153,9 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->AdvancedPartChosenCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets); g_signal_connect(G_OBJECT(widgets->AdvancedPartChosenCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets);
g_signal_connect(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),"changed",G_CALLBACK(on_advanced_virtual_device_changed),widgets); g_signal_connect(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),"changed",G_CALLBACK(on_advanced_virtual_device_changed),widgets);
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),widgets);
g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL);
{ {
@ -996,6 +1219,15 @@ void yon_main_window_create(main_window *widgets){
// locale = setlocale(LC_ALL,NULL); // locale = setlocale(LC_ALL,NULL);
// } // }
// yon_ubl_window_init(TITLE_LABEL,DESCRIPTION_LABEL,locale,CssPath,LocaleName,version_application,WIKI_LINK); // yon_ubl_window_init(TITLE_LABEL,DESCRIPTION_LABEL,locale,CssPath,LocaleName,version_application,WIKI_LINK);
if (main_config.force_ini){
main_config.configure_mode=1;
g_signal_handlers_block_by_func(G_OBJECT(widgets->ConfigurationModeMenuItem),G_CALLBACK(on_configuration_mode_switch),widgets);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets->ConfigurationModeMenuItem),1);
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ConfigurationModeMenuItem),G_CALLBACK(on_configuration_mode_switch),widgets);
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox),"config_mode",CONFIGURATION_MODE_STATUS_LABEL,BACKGROUND_IMAGE_INFO_TYPE);
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox2),"config_mede",CONFIG_PATH_LABEL(main_config.config_save_path),BACKGROUND_IMAGE_INFO_TYPE);
}
yon_locale_init(); yon_locale_init();
set_locales_list(widgets); set_locales_list(widgets);
// { // {
@ -1034,7 +1266,27 @@ int main(int argc, char *argv[]){
config_str unfound = NULL; config_str unfound = NULL;
int size=0; int size=0;
yon_ubl_connect_config((_template_config*)&main_config); yon_ubl_connect_config((_template_config*)&main_config);
yon_ubl_setup_arguments(argc,argv,&unfound,&size,NULL); opterr=0;
yon_ubl_window_init(TITLE_LABEL,"",LocaleName,CssPath,LocaleName,version_application,WIKI_LINK);
yon_ubl_setup_arguments(argc,argv,&unfound,&size,ADDITIONAL_ARGS);
if (size) {
int option_index = 0;
struct option long_options[] = {
{"dry-run", 0, 0, 'D'},
{NULL, 0, NULL, 0}
};
optind = 1;
for (int i = 0; i < size; i++) {
int argument = getopt_long(argc, argv, "D", long_options, &option_index);
switch (argument) {
case 'D':
main_config.dry_run = 1;
break;
default:
break;
}
}
}
gtk_init(&argc,&argv); gtk_init(&argc,&argv);
main_window *widgets = NULL; main_window *widgets = NULL;
widgets = yon_main_window_complete(); widgets = yon_main_window_complete();

@ -17,7 +17,7 @@
#endif #endif
#include "ubl-strings.h" #include "ubl-strings.h"
#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubinstall-gtk" #define WIKI_LINK "https://wiki.ublinux.com/Software/Programs_and_utilities/All/ubinstall-gtk"
#define _(String) gettext(String) #define _(String) gettext(String)
@ -94,7 +94,7 @@
NULL NULL
#define get_modules_command "pacman --color never -Ss ^ubm- | sed -Enr -e 'N;s/\\n/ ;/' -e \"s/^([^\\/]+)\\/([^[:blank:]]+)[[:blank:]]+([^[:blank:]]+)[[:blank:]]+(\\(([^\\)]+)\\)[^\\;]+|[^\\;]*);[[:blank:]]*(.*)/\\2;\\3;\\5;\\6/p\"" #define get_modules_command "pacman --color never -Qs ^ubm- | sed -Enr -e 'N;s/\\n/ ;/' -e \"s/^([^\\/]+)\\/([^[:blank:]]+)[[:blank:]]+([^[:blank:]]+)[[:blank:]]+(\\(([^\\)]+)\\)[^\\;]+|[^\\;]*);[[:blank:]]*(.*)/\\2;\\3;\\5;\\6/p\""
#define get_local_module_info_command(target) yon_char_unite("pacman --color never -Sp $(pacman -Ssq '",target,"') --print-format '%n;%v;%d' | grep -v \"^::\"",NULL); #define get_local_module_info_command(target) yon_char_unite("pacman --color never -Sp $(pacman -Ssq '",target,"') --print-format '%n;%v;%d' | grep -v \"^::\"",NULL);
@ -395,9 +395,8 @@ typedef struct {
GHashTable *network_types; GHashTable *network_types;
GtkWidget *kernel_unchosen_radio; GtkWidget *kernel_unchosen_radio;
char *config_load_path;
char *config_save_path;
unsigned int cur_slide; unsigned int cur_slide;
gboolean dry_run;
} config; } config;
extern config main_config; extern config main_config;
@ -924,16 +923,19 @@ typedef struct {
GtkWidget *AutoSwitch; GtkWidget *AutoSwitch;
GtkWidget *TypeCombo; GtkWidget *TypeCombo;
GtkWidget *PathEntry; GtkWidget *PathEntry;
GtkWidget *DeviceCombo;
GtkWidget *PathButton; GtkWidget *PathButton;
GtkWidget *AddButton; GtkWidget *AddButton;
GtkWidget *AddBox; GtkWidget *AddBox;
GHashTable *sources; dictionary *sources;
} source_window; } source_window;
typedef struct { typedef struct {
GtkWidget *MainBox; GtkWidget *MainBox;
GtkWidget *TypeCombo; GtkWidget *TypeCombo;
GtkWidget *PathEntry; GtkWidget *PathEntry;
GtkWidget *DeviceCombo;
GtkWidget *PathButton; GtkWidget *PathButton;
GtkWidget *RemoveButton; GtkWidget *RemoveButton;
@ -962,6 +964,14 @@ typedef struct {
advanced_partition *partition_widgets; advanced_partition *partition_widgets;
} advanced_section; } advanced_section;
struct row_data {
main_window *widgets;
char *version;
char *name;
char *tags;
char *description;
};
void config_init(); void config_init();
main_window *yon_main_window_complete(); main_window *yon_main_window_complete();
@ -1164,7 +1174,7 @@ void set_locales_list(main_window *widgets);
void on_installer_language_changed(GtkWidget *self, main_window *widgets); void on_installer_language_changed(GtkWidget *self, main_window *widgets);
gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets); gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets);
int yon_char_parsed_compare(const void *a, const void *b); int yon_char_parsed_compare(const void *a, const void *b);
gboolean yon_os_component_insert(os_row *row); gboolean yon_os_component_insert(struct row_data *row_input);
void *yon_os_components_setup(main_window *widgets); void *yon_os_components_setup(main_window *widgets);
gboolean yon_spinner_switch_off(GtkSpinner *target); gboolean yon_spinner_switch_off(GtkSpinner *target);
void on_advanced_added(GtkWidget *, char *, main_window *); void on_advanced_added(GtkWidget *, char *, main_window *);
@ -1189,3 +1199,6 @@ void yon_advanced_section_remove_by_name(char *part);
void on_advanced_virtual_device_changed(GtkWidget *, main_window *widgets); void on_advanced_virtual_device_changed(GtkWidget *, main_window *widgets);
int yon_advanced_section_append(advanced_section *section); int yon_advanced_section_append(advanced_section *section);
gboolean on_format_changed(GtkWidget *self, gboolean state, advanced_partition *part); gboolean on_format_changed(GtkWidget *self, gboolean state, advanced_partition *part);
int yon_layouts_get();
void on_link(GtkWidget *self, char* uri, gpointer );
void on_source_changed(GtkComboBox *self);

@ -1,11 +1,16 @@
#define TITLE_LABEL _("UBLinux installation") #define TITLE_LABEL _("System installation")
#define WELCOME_LABEL _("Welcome to UBLinux installation") #define WELCOME_LABEL _("Welcome to system installation")
#define WELCOME_BOTTOM_LABEL _("This program will ask you few questions\nand help you install UBLinux on your computer") #define WELCOME_BOTTOM_LABEL _("This program will ask you few questions\nand help you install system on your computer")
#define OPEN_LABEL _("Open") #define OPEN_LABEL _("Open")
#define ADDITIONAL_ARGS yon_char_unite(\
" --dry-run ",_("Dry run; Installation will not start"),"\n",\
" --ini <PATH> ", _("Set ini file for configuration mode"),\
NULL)
#define KEYBOARD_TITLE_LABEL _("Keyboard layout") #define KEYBOARD_TITLE_LABEL _("Keyboard layout")
#define CUSTOM_CONFIG_CREATION_ERROR_LABEL _("New configuration file creation failed") #define CUSTOM_CONFIG_CREATION_ERROR_LABEL _("New configuration file creation failed")
@ -21,11 +26,11 @@
#define KEYBOARD_TAB_LABEL _("Keyboard") #define KEYBOARD_TAB_LABEL _("Keyboard")
#define USERS_TAB_LABEL _("Users") #define USERS_TAB_LABEL _("Users")
#define COMPLETION_TAB_LABEL _("Installation completion") #define COMPLETION_TAB_LABEL _("Installation completion")
#define COMMON_INSTALL_INFO_LABEL _("Deleting all data on the selected disk and then installing the UBLinux system") #define COMMON_INSTALL_INFO_LABEL _("Deleting all data on the selected disk and then installing the system")
#define NEAR_INSTALL_LABEL _("Installation next to another system") #define NEAR_INSTALL_LABEL _("Installation next to another system")
#define NEAR_INSTALL_INFO_LABEL _("Shrinking a partition and creating a new one for installing OS") #define NEAR_INSTALL_INFO_LABEL _("Shrinking a partition and creating a new one for installing OS")
#define SHRINK_SECTION_INSTALL_LABEL _("Installation on the same partition as another system") #define SHRINK_SECTION_INSTALL_LABEL _("Installation on the same partition as another system")
#define SHRINK_SECTION_INSTALL_INFO_LABEL _("Unpacking the UBLinux file system into an existing system") #define SHRINK_SECTION_INSTALL_INFO_LABEL _("Unpacking the file system into an existing system")
#define ADDITIONAL_INSTALL_INFO_LABEL _("Selecting additional software to install from the repository via the Internet") #define ADDITIONAL_INSTALL_INFO_LABEL _("Selecting additional software to install from the repository via the Internet")
#define CHOSEN_LABEL _("Chosen") #define CHOSEN_LABEL _("Chosen")
#define MODULE_NAME_LABEL _("Module name") #define MODULE_NAME_LABEL _("Module name")
@ -56,12 +61,12 @@
#define INSTALLATION_COMPLETION_LABEL _("Installation completion") #define INSTALLATION_COMPLETION_LABEL _("Installation completion")
#define SELECT_DEVICE_LABEL _("Select device:") #define SELECT_DEVICE_LABEL _("Select device:")
#define CHOOSE_SECTION_LABEL _("Choose a section:") #define CHOOSE_SECTION_LABEL _("Choose a section:")
#define ATTENSION_LABEL _("<b>Attention!</b> The selected partition will be modified: the size will be reduced. In the resulting free space, a partition will be created into which the UBLinux OS will be\ninstalled.") #define ATTENSION_LABEL _("<b>Attention!</b> The selected partition will be modified: the size will be reduced. In the resulting free space, a partition will be created into which the system will be\ninstalled.")
#define DEVICE_LABEL _("Device") #define DEVICE_LABEL _("Device")
#define MARK_LABEL _("Label") #define MARK_LABEL _("Label")
#define SIZE_LABEL _("Size") #define SIZE_LABEL _("Size")
#define FREE_LABEL _("Free") #define FREE_LABEL _("Free")
#define SPECIFY_LABEL _("Specify the size of the new partition for UBLinux OS:") #define SPECIFY_LABEL _("Specify the size of the new partition for system:")
#define TB_LABEL _("Tb") #define TB_LABEL _("Tb")
#define GB_LABEL _("Gb") #define GB_LABEL _("Gb")
#define MB_LABEL _("Mb") #define MB_LABEL _("Mb")
@ -74,7 +79,7 @@
#define ADVANCED_INSTALLATION_HEAD_LABEL _("Advanced installation mode") #define ADVANCED_INSTALLATION_HEAD_LABEL _("Advanced installation mode")
#define ADVANCED_INSTALLATION_LABEL _("Installing OS files, user data on different partitions, creating RAID, etc.") #define ADVANCED_INSTALLATION_LABEL _("Installing OS files, user data on different partitions, creating RAID, etc.")
#define ADVANCED_INSTALLATION_ATTENTION_LABEL _("Attention! The selected OS UBLinux components will be installed\nseparately into the selected partition.") #define ADVANCED_INSTALLATION_ATTENTION_LABEL _("Attention! The selected system components will be installed\nseparately into the selected partition.")
#define GRUB_INSTALL_HEAD_LABEL _("GRUB install") #define GRUB_INSTALL_HEAD_LABEL _("GRUB install")
#define GRUB_INSTALL_LABEL _("Install the GRUB bootloader") #define GRUB_INSTALL_LABEL _("Install the GRUB bootloader")
#define GRUB_UPDATE_HEAD_LABEL _("GRUB update") #define GRUB_UPDATE_HEAD_LABEL _("GRUB update")
@ -104,7 +109,7 @@
#define SECTION_NAME_LABEL _("Section name:") #define SECTION_NAME_LABEL _("Section name:")
#define FORMAT_LABEL _("Format") #define FORMAT_LABEL _("Format")
#define INSTALL_SUCCESS_LABEL _("You have UBLinux installed on your computer.\nYou can reboot and use your new system\nor continue working in the UBLinux Live environment.") #define INSTALL_SUCCESS_LABEL _("You have system installed on your computer.\nYou can reboot and use your new system\nor continue working in the system Live environment.")
#define LANGUAGES_TITLE_LABEL _("Available languages in the system") #define LANGUAGES_TITLE_LABEL _("Available languages in the system")
#define LAYOUTS_TITLE_LABEL _("Keyboard layout language") #define LAYOUTS_TITLE_LABEL _("Keyboard layout language")
@ -121,7 +126,7 @@
#define DEFAULT_MODEL_LABEL _("Default (Regular 105-key)") #define DEFAULT_MODEL_LABEL _("Default (Regular 105-key)")
#define INSTALL_BEGIN_HEADER_LABEL _("Installation configuration has ended") #define INSTALL_BEGIN_HEADER_LABEL _("Installation configuration has ended")
#define INSTALL_BEGIN_LABEL _("UBLinux OS installation is about to begin") #define INSTALL_BEGIN_LABEL _("System installation is about to begin")
#define DOCUMENTATION_LABEL _("Documentation") #define DOCUMENTATION_LABEL _("Documentation")
#define ABOUT_LABEL _("About") #define ABOUT_LABEL _("About")
@ -132,7 +137,7 @@
#define OPEN_DOCUMENTATION_LABEL _("Open documentation") #define OPEN_DOCUMENTATION_LABEL _("Open documentation")
#define INSTALLATION_ERROR _("Installation error") #define INSTALLATION_ERROR _("Installation error")
#define ATTENTION_NEXT_LABEL _("Attention! The UBLinux OS will be installed on the selected partition with OS already installed. All user data will be saved.") #define ATTENTION_NEXT_LABEL _("Attention! The system will be installed on the selected partition with OS already installed. All user data will be saved.")
#define INSTALLATION_OPTIONS_LABEL _("Installation options") #define INSTALLATION_OPTIONS_LABEL _("Installation options")
@ -184,6 +189,7 @@
#define WARNING_TITLE_LABEL _("Warning") #define WARNING_TITLE_LABEL _("Warning")
#define WARNING_TEXT_LABEL _("Are you sure want to exit and\ninterrupt installation process?") #define WARNING_TEXT_LABEL _("Are you sure want to exit and\ninterrupt installation process?")
#define INTERRUPT_TEXT_LABEL _("Are you sure want to interrupt installation process?")
#define WARNING_REBOOT_TEXT_LABEL _("Are you sure want to reboot system?") #define WARNING_REBOOT_TEXT_LABEL _("Are you sure want to reboot system?")
#define DEFAULT_BOOTLOAD_MENU_ITEM_LABEL _("Default (Use last succeeded)") #define DEFAULT_BOOTLOAD_MENU_ITEM_LABEL _("Default (Use last succeeded)")
@ -217,6 +223,9 @@
#define PARITY_INVALID_LABEL(target) yon_char_unite(_("Cu"),target,NULL) #define PARITY_INVALID_LABEL(target) yon_char_unite(_("Cu"),target,NULL)
#define COUNT_INVALID_LABEL(target) yon_char_unite(_("Cues"),target,NULL) #define COUNT_INVALID_LABEL(target) yon_char_unite(_("Cues"),target,NULL)
#define ABOUT_TITLE_LABEL _("About system installation")
#define VALUE_REPEAT_LABEL _("Repeating values")
#define SOURCE_CREATE_ONGOING_ERROR_LABEL _("Source creation were not done")
// #define _LABEL _("New section at") // #define _LABEL _("New section at")
// #define _LABEL _("\"/ublinux-data/\" user data section") // #define _LABEL _("\"/ublinux-data/\" user data section")
// #define _LABEL _("\"/ublinux/\" system section") // #define _LABEL _("\"/ublinux/\" system section")
@ -268,8 +277,8 @@
// #define _LABEL _("Swap file") // #define _LABEL _("Swap file")
// #define _LABEL _("Corresponds to RAM size") // #define _LABEL _("Corresponds to RAM size")
// #define _LABEL _("Fixed size:") // #define _LABEL _("Fixed size:")
// #define _LABEL _("<b>Attention!</b> The UBLinux OS will be installed on the selected partition with OS already installed. All user data will be saved.") // #define _LABEL _("<b>Attention!</b> The system will be installed on the selected partition with OS already installed. All user data will be saved.")
// #define _LABEL _("<b>Attention!</b> The selected OS UBLinux components will be installed\nseparately into the selected partition.") // #define _LABEL _("<b>Attention!</b> The selected system components will be installed\nseparately into the selected partition.")
// #define _LABEL _("Enable VNC server") // #define _LABEL _("Enable VNC server")
// #define _LABEL _("Preparation") // #define _LABEL _("Preparation")
// #define _LABEL _("Additional") // #define _LABEL _("Additional")

@ -6,7 +6,7 @@
<object class="GtkBox" id="TableRow"> <object class="GtkBox" id="TableRow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="spacing">11</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkCheckButton" id="InstallCheck"> <object class="GtkCheckButton" id="InstallCheck">
<property name="visible">True</property> <property name="visible">True</property>
@ -14,13 +14,6 @@
<property name="receives-default">False</property> <property name="receives-default">False</property>
<property name="active">True</property> <property name="active">True</property>
<property name="draw-indicator">True</property> <property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -123,10 +116,12 @@
</packing> </packing>
</child> </child>
</object> </object>
</child>
</object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<style> <style>

@ -1,8 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk"> <interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css --> <!-- interface-css-provider-path ubinstall-gtk.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.zoom-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.trash-symbolic</property>
</object>
<object class="GtkBox" id="MainBox"> <object class="GtkBox" id="MainBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -26,7 +36,6 @@
</child> </child>
<child> <child>
<object class="GtkEntry" id="PathEntry"> <object class="GtkEntry" id="PathEntry">
<property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
</object> </object>
<packing> <packing>
@ -36,8 +45,19 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="PathButton"> <object class="GtkComboBoxText" id="DeviceCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="PathButton">
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="image">image1</property> <property name="image">image1</property>
@ -48,7 +68,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">3</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -64,18 +84,8 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">3</property> <property name="position">4</property>
</packing> </packing>
</child> </child>
</object> </object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.zoom-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.trash-symbolic</property>
</object>
</interface> </interface>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk"> <interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css --> <!-- interface-css-provider-path ubinstall-gtk.css -->
@ -49,6 +49,12 @@
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">15</property> <property name="margin-top">15</property>
<property name="margin-bottom">15</property> <property name="margin-bottom">15</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">15</property> <property name="spacing">15</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
@ -119,15 +125,41 @@
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child> <child>
<object class="GtkScrolledWindow"> <object class="GtkScrolledWindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="hscrollbar-policy">never</property> <property name="hscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child> <child>
<object class="GtkViewport"> <object class="GtkViewport">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -142,7 +174,6 @@
<child> <child>
<object class="GtkComboBoxText" id="TypeCombo"> <object class="GtkComboBoxText" id="TypeCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="active">0</property> <property name="active">0</property>
<items> <items>
@ -159,8 +190,6 @@
</child> </child>
<child> <child>
<object class="GtkEntry" id="PathEntry"> <object class="GtkEntry" id="PathEntry">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
</object> </object>
<packing> <packing>
@ -170,9 +199,19 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="PathButton"> <object class="GtkComboBoxText" id="DeviceCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="can-focus">False</property>
<property name="active">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="PathButton">
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="image">image1</property> <property name="image">image1</property>
@ -183,13 +222,12 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">3</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="AddButton"> <object class="GtkButton" id="AddButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="image">image2</property> <property name="image">image2</property>
@ -200,20 +238,20 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">3</property> <property name="position">4</property>
</packing> </packing>
</child> </child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkBox" id="AddBox"> <object class="GtkBox" id="AddBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
@ -224,25 +262,25 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</object> </object>
</child>
</object>
</child>
</object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
</object> </object>
</child>
</object>
</child>
</object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</object> </object>

@ -781,7 +781,7 @@ agreement</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">center</property> <property name="halign">center</property>
<property name="label" translatable="yes">Welcome to UBLinux installation</property> <property name="label" translatable="yes">Welcome to system installation</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
@ -800,7 +800,7 @@ agreement</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">center</property> <property name="halign">center</property>
<property name="label" translatable="yes">This program will ask you few questions <property name="label" translatable="yes">This program will ask you few questions
and help you install UBLinux on your computer</property> and help you install system on your computer</property>
<property name="justify">center</property> <property name="justify">center</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<attributes> <attributes>
@ -1123,7 +1123,7 @@ and help you install UBLinux on your computer</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="label" translatable="yes">Deleting all data on the selected disk and then installing the UBLinux system</property> <property name="label" translatable="yes">Deleting all data on the selected disk and then installing the system</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
@ -1531,11 +1531,16 @@ and help you install UBLinux on your computer</property>
<object class="GtkOverlay" id="OSOverlay"> <object class="GtkOverlay" id="OSOverlay">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child> <child>
<object class="GtkScrolledWindow"> <object class="GtkScrolledWindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child> <child>
<object class="GtkViewport"> <object class="GtkViewport">
<property name="visible">True</property> <property name="visible">True</property>
@ -1568,6 +1573,13 @@ and help you install UBLinux on your computer</property>
</object> </object>
</child> </child>
</object> </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing> <packing>
<property name="index">-1</property> <property name="index">-1</property>
</packing> </packing>
@ -1634,7 +1646,7 @@ and help you install UBLinux on your computer</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="valign">start</property> <property name="valign">start</property>
<property name="label" translatable="yes">UBLinux OS installation is about to begin</property> <property name="label" translatable="yes">System installation is about to begin</property>
<attributes> <attributes>
<attribute name="size" value="12288"/> <attribute name="size" value="12288"/>
</attributes> </attributes>
@ -4607,9 +4619,9 @@ and help you install UBLinux on your computer</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="valign">start</property> <property name="valign">start</property>
<property name="label" translatable="yes">You have UBLinux installed on your computer. <property name="label" translatable="yes">You have system installed on your computer.
You can reboot and use your new system You can reboot and use your new system
or continue working in the UBLinux Live environment.</property> or continue working in the environment, booted from the Live image.</property>
<property name="justify">center</property> <property name="justify">center</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<attributes> <attributes>
@ -5066,7 +5078,7 @@ or continue working in the UBLinux Live environment.</property>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Deleting all data on the selected disk and then installing the UBLinux system</property> <property name="label" translatable="yes">Deleting all data on the selected disk and then installing the system</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
@ -6206,7 +6218,7 @@ or continue working in the UBLinux Live environment.</property>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">&lt;b&gt;Attention!&lt;/b&gt; The UBLinux OS will be installed on the selected partition with OS already installed. All user data will be saved.</property> <property name="label" translatable="yes">&lt;b&gt;Attention!&lt;/b&gt; The system will be installed on the selected partition with OS already installed. All user data will be saved.</property>
<property name="use-markup">True</property> <property name="use-markup">True</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
@ -6810,7 +6822,7 @@ or continue working in the UBLinux Live environment.</property>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">&lt;b&gt;Attention!&lt;/b&gt; The selected OS UBLinux components will be installed <property name="label" translatable="yes">&lt;b&gt;Attention!&lt;/b&gt; The selected system components will be installed
separately into the selected partition.</property> separately into the selected partition.</property>
<property name="use-markup">True</property> <property name="use-markup">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
@ -7870,7 +7882,7 @@ separately into the selected partition.</property>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">&lt;b&gt;Attention!&lt;/b&gt; The selected OS UBLinux components will be installed <property name="label" translatable="yes">&lt;b&gt;Attention!&lt;/b&gt; The selected system components will be installed
separately into the selected partition.</property> separately into the selected partition.</property>
<property name="use-markup">True</property> <property name="use-markup">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
@ -10712,7 +10724,7 @@ separately into the selected partition.</property>
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">UBLinux installation</property> <property name="label" translatable="yes">System installation</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

Loading…
Cancel
Save