Merge pull request 'master' (#74) from YanTheKaller/ubinstall-gtk:master into master

Reviewed-on: #74
master v1.20
Dmitry Razumov 1 year ago
commit 94a8570410

@ -846,6 +846,7 @@ void config_init(){
main_config.progress_thread=0; main_config.progress_thread=0;
main_config.install_complete=0; main_config.install_complete=0;
main_config.save_done=0; main_config.save_done=0;
main_config.save_configured=0;
main_config.configure_mode=0; main_config.configure_mode=0;
main_config.load_mode=-1; main_config.load_mode=-1;
main_config.log_progress_buzy=0; main_config.log_progress_buzy=0;
@ -943,12 +944,12 @@ void *on_config_save(void *data){
main_window *widgets = (main_window*)data; main_window *widgets = (main_window*)data;
int size=0; int size=0;
config_str parameters = yon_config_get_selection_by_key(&size, config_str parameters = yon_config_get_selection_by_key_no_ignored(&size,
AUTOINSTALL_TYPE_INSTALL, AUTOINSTALL_TYPE_INSTALL,
AUTOINSTALL_DEVICE, AUTOINSTALL_DEVICE,
device_format_parameter, device_format_parameter,
device_label_parameter, device_label_parameter,
main_config.install_mode!=1||main_config.install_mode!=2?NULL:part_parameter, main_config.install_mode!=1&&main_config.install_mode!=2?NULL:part_parameter,
part_type_parameter, part_type_parameter,
device_format_parameter, device_format_parameter,
main_config.install_mode!=1?NULL:part_size_parameter, main_config.install_mode!=1?NULL:part_size_parameter,
@ -978,7 +979,7 @@ void *on_config_save(void *data){
g_mutex_lock(&main_config.install_mutex); g_mutex_lock(&main_config.install_mutex);
main_config.install_complete=1; main_config.install_complete=1;
g_mutex_unlock(&main_config.install_mutex); g_mutex_unlock(&main_config.install_mutex);
if (!main_config.save_done){ if (!main_config.save_done&&main_config.save_configured){
on_setup_system_configuration(widgets); on_setup_system_configuration(widgets);
} }
return 0; return 0;
@ -1112,7 +1113,6 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){
} break; } break;
case YON_PAGE_COMPLETION:{ case YON_PAGE_COMPLETION:{
yon_debug_output("%s\n","Enter completion");
yon_switch_page_render(widgets,7); yon_switch_page_render(widgets,7);
gtk_widget_set_sensitive(widgets->BackButton,0); gtk_widget_set_sensitive(widgets->BackButton,0);
gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress));
@ -1120,19 +1120,18 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){
gtk_widget_hide(widgets->PackageInstallationLabel); gtk_widget_hide(widgets->PackageInstallationLabel);
gtk_widget_set_sensitive(widgets->NextButton,1); gtk_widget_set_sensitive(widgets->NextButton,1);
gtk_widget_set_sensitive(widgets->CancelInstallButton,1); gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
yon_debug_output("%s\n","Done widgets");
g_mutex_lock(&main_config.install_mutex); g_mutex_lock(&main_config.install_mutex);
main_config.install_complete=0; main_config.install_complete=0;
g_mutex_unlock(&main_config.install_mutex); g_mutex_unlock(&main_config.install_mutex);
main_config.save_done=0; main_config.save_done=0;
yon_debug_output("%s\n","Done variables");
textdomain(LocaleName); textdomain(LocaleName);
gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL); gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL);
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))), gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))),
"com.ublinux.ubinstall-gtk.sync-symbolic",GTK_ICON_SIZE_BUTTON); "com.ublinux.ubinstall-gtk.sync-symbolic",GTK_ICON_SIZE_BUTTON);
yon_debug_output("%s\n","Done labels and button icon");
} }
gtk_widget_hide(gtk_widget_get_parent(widgets->InstallationProgress));
gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress));
break; break;
case YON_PAGE_COMPLETED:{ case YON_PAGE_COMPLETED:{
@ -1194,20 +1193,20 @@ void *on_setup_system_configuration(void * data){
main_window *widgets = (main_window*)data; main_window *widgets = (main_window*)data;
if (widgets){}; if (widgets){};
int size; int size;
config_str all_parameters = yon_char_parsed_new(&size, config_str all_parameters = yon_config_get_selection_by_key(&size,
config(user_name_parameter), user_name_parameter,
config(user_gecos_parameter), user_gecos_parameter,
config(user_password_parameter), user_password_parameter,
config(root_password_parameter), root_password_parameter,
config(autologin_parameter), autologin_parameter,
config(xkbmodel_parameter), xkbmodel_parameter,
config(xkblayout_parameter), xkblayout_parameter,
config(xkbvariant_parameter), xkbvariant_parameter,
config(xkboptions_parameter), xkboptions_parameter,
config(hostname_parameter), hostname_parameter,
config(zone_parameter), zone_parameter,
config(lang_parameter), lang_parameter,
config(locale_parameter), locale_parameter,
NULL); NULL);
if (all_parameters){ if (all_parameters){
char *parameter_string = yon_char_parsed_to_string(all_parameters,size," "); char *parameter_string = yon_char_parsed_to_string(all_parameters,size," ");
@ -1309,29 +1308,29 @@ void yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char
void yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *mode,main_window *widgets){ void yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *mode,main_window *widgets){
GtkTreeIter iter,itar; GtkTreeIter iter,itar;
GtkTreeModel *model,*model2; GtkTreeModel *model,*model2;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(device_tree)),&model,&iter)){ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(device_tree)),&model,&iter)){
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(part_tree)),&model2,&itar)){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
char *cur_device, *cur_section; yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(device_tree));
gtk_tree_model_get(model,&iter,0,&cur_device,-1); return;
gtk_tree_model_get(model2,&itar,0,&cur_section,-1); }
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(part_tree)),&model2,&itar)){
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,mode);
yon_config_register(part_parameter,part_parameter_command,cur_section);
if(cur_section) free(cur_section);
if(cur_device) free(cur_device);
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(part_tree);
}
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(device_tree); yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(part_tree));
return;
} }
char *cur_device, *cur_section;
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
gtk_tree_model_get(model2,&itar,0,&cur_section,-1);
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,mode);
yon_config_register(part_parameter,part_parameter_command,cur_section);
if(cur_section) free(cur_section);
if(cur_device) free(cur_device);
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
} }
void on_page_navigation_clicked(GtkWidget *self, main_window *widgets); void on_page_navigation_clicked(GtkWidget *self, main_window *widgets);
@ -1742,6 +1741,7 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
gtk_widget_set_sensitive(widgets->CancelInstallButton,0); gtk_widget_set_sensitive(widgets->CancelInstallButton,0);
gtk_widget_set_sensitive(widgets->NextButton,0); gtk_widget_set_sensitive(widgets->NextButton,0);
gtk_widget_set_sensitive(widgets->BackButton,0); gtk_widget_set_sensitive(widgets->BackButton,0);
main_config.save_configured=1;
} }
} else { } else {
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);
@ -1763,7 +1763,7 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
} break; } break;
case YON_PAGE_INSTALL_ERROR: case YON_PAGE_INSTALL_ERROR:
case YON_PAGE_COMPLETION: case YON_PAGE_COMPLETION:{
confirmation_window *window = yon_confirmation_window_new(); confirmation_window *window = yon_confirmation_window_new();
dictionary *dict = NULL; dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
@ -1775,6 +1775,7 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
gtk_label_set_text(GTK_LABEL(window->TextLabel),WARNING_REBOOT_TEXT_LABEL); gtk_label_set_text(GTK_LABEL(window->TextLabel),WARNING_REBOOT_TEXT_LABEL);
gtk_label_set_text(GTK_LABEL(window->TitleLabel),WARNING_TITLE_LABEL); gtk_label_set_text(GTK_LABEL(window->TitleLabel),WARNING_TITLE_LABEL);
gtk_widget_show(window->Window); gtk_widget_show(window->Window);
}
break; break;
case YON_PAGE_INSTALL_OPTIONS: { case YON_PAGE_INSTALL_OPTIONS: {
@ -1807,44 +1808,66 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
case YON_PAGE_OPTIONS_GRUB_INSTALL:{ case YON_PAGE_OPTIONS_GRUB_INSTALL:{
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model; GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallDevicesTree)),&model,&iter)){ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallDevicesTree)),&model,&iter)){
char *cur_device; yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
gtk_tree_model_get(model,&iter,0,&cur_device,-1); yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->GrubInstallDevicesTree));
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); return;
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_install"); }
yon_config_remove_by_key(part_parameter); char *cur_device;
if (!main_config.configure_mode) gtk_tree_model_get(model,&iter,0,&cur_device,-1);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallPartitionTree)),&model,&iter)){
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->GrubInstallDevicesTree); yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->GrubInstallPartitionTree));
return;
} }
char *partition;
gtk_tree_model_get(model,&iter,0,&partition,-1);
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(part_parameter,part_parameter_command,partition);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_install");
yon_config_remove_by_key(part_parameter);
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_CONFIGURE_END);
} break; } break;
case YON_PAGE_OPTIONS_GRUB_UPDATE:{ case YON_PAGE_OPTIONS_GRUB_UPDATE:{
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model; GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdateDevicesTree)),&model,&iter)){ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdateDevicesTree)),&model,&iter)){
char *cur_device; yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
gtk_tree_model_get(model,&iter,0,&cur_device,-1); yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->GrubUpdateDevicesTree));
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); return;
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update"); }
yon_config_remove_by_key(part_parameter); char *cur_device;
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdatePartitionTree)),&model,&iter)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->GrubUpdatePartitionTree));
return;
}
char *partition;
gtk_tree_model_get(model,&iter,0,&partition,-1);
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(part_parameter,part_parameter_command,partition);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update");
yon_config_remove_by_key(part_parameter);
if (!main_config.configure_mode) if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_CONFIGURE_END);
} else { }break;
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->GrubUpdateDevicesTree);
}
}break;
case YON_PAGE_OPTIONS_SEPARATE:{ case YON_PAGE_OPTIONS_SEPARATE:{
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter; GtkTreeIter iter;
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateDevicesTree)),&model,&iter)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->SeparateDevicesTree));
return;
}
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateSysSectionTree)),&model,&iter)){ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateSysSectionTree)),&model,&iter)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->SeparateSysSectionTree)); yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->SeparateSysSectionTree));
@ -1856,32 +1879,42 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
case YON_PAGE_OPTIONS_SEPARATE_USRDATA:{ case YON_PAGE_OPTIONS_SEPARATE_USRDATA:{
GtkTreeIter iter,itar; GtkTreeIter iter,itar;
GtkTreeModel *model,*model2; GtkTreeModel *model,*model2;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateDevicesTree)),&model,&iter)){ if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->OSSysSectionTree)),&model,&iter)){
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateSysSectionTree)),&model2,&itar)){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
char *cur_device, *system_section, *user_section; yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->OSSysSectionTree));
gtk_tree_model_get(model,&iter,0,&cur_device,-1); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_OS_ONLY);
gtk_tree_model_get(model2,&itar,0,&system_section,-1); return;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserSysSectionTree)),&model2,&itar)){ }
gtk_tree_model_get(model2,&itar,0,&user_section,-1); if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserDevicesTree)),&model2,&itar)){
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_config_register(part_parameter,part_parameter_command,yon_char_unite(system_section,",",user_section,NULL)); yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->SeparateUserDevicesTree));
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"custom"); return;
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
return;
} else {
}
} else {
}
} else {
} }
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserSysSectionTree)),&model2,&itar)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->SeparateUserSysSectionTree));
return;
}
char *cur_device, *system_section, *user_section;
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
gtk_tree_model_get(model2,&itar,0,&system_section,-1);
gtk_tree_model_get(model2,&itar,0,&user_section,-1);
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
char *installation_parts = yon_char_unite(system_section,",",user_section,NULL);
yon_config_register(part_parameter,part_parameter_command,installation_parts);
free(installation_parts);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"custom");
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
} break; } break;
case YON_PAGE_OPTIONS_OS_ONLY:{ case YON_PAGE_OPTIONS_OS_ONLY:{
yon_install_options_save(widgets->OSDevicesTree,widgets->OSSysSectionTree,"system_only",widgets); yon_install_options_save(widgets->OSDevicesTree,widgets->OSSysSectionTree,"system_only",widgets);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_CONFIGURE_END);
} break; } break;
case YON_PAGE_OPTIONS_USRDATA_ONLY:{ case YON_PAGE_OPTIONS_USRDATA_ONLY:{
@ -1921,7 +1954,15 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
break; break;
case YON_PAGE_CONFIGURE_END:{ case YON_PAGE_CONFIGURE_END:{
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_USERS); if (main_config.install_mode==3&&(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubInstallRadio))||gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubUpdateRadio))||gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSRadio)))){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALL_OPTIONS);
gtk_widget_set_sensitive(widgets->BackButton,1);
gtk_widget_set_sensitive(widgets->NextButton,1);
gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
} else { //||||gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserDataOnlyRadio))
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_USERS);
}
} break; } break;
case YON_PAGE_COMPLETED:{ case YON_PAGE_COMPLETED:{
@ -1935,10 +1976,9 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
} break; } break;
case -2: { // Cancel/repeat case -2: { // Cancel/repeat
switch (page){ switch (page){
case YON_PAGE_COMPLETION: case YON_PAGE_COMPLETION:
case YON_PAGE_INSTALL_ERROR:{ case YON_PAGE_INSTALL_ERROR:{
// GtkWidget *dialog = gtk_dialog_new();
gtk_main_quit(); gtk_main_quit();
}break; }break;
default:{ default:{
@ -1982,7 +2022,9 @@ void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_siz
GtkTreeIter iter; GtkTreeIter iter;
char *selected_size=NULL; char *selected_size=NULL;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(table),&model,&iter)){ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(table),&model,&iter)){
gtk_tree_model_get(model,&iter,1,&selected_size,-1); gtk_tree_model_get(model,&iter,2,&selected_size,-1);
if (yon_char_is_empty(selected_size))
gtk_tree_model_get(model,&iter,1,&selected_size,-1);
if (!yon_char_is_empty(selected_size)){ if (!yon_char_is_empty(selected_size)){
int size = gtk_combo_box_get_active(size_type); int size = gtk_combo_box_get_active(size_type);
double cur_size = atof(selected_size); double cur_size = atof(selected_size);
@ -2386,9 +2428,11 @@ main_window *yon_main_window_complete(){
widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton"); widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton");
widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree"); widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree");
widgets->GrubInstallPartitionTree = yon_gtk_builder_get_widget(builder,"GrubInstallPartitionTree");
widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton"); widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton");
widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree"); widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree");
widgets->GrubUpdatePartitionTree = yon_gtk_builder_get_widget(builder,"GrubUpdatePartitionTree");
widgets->GpartedSeparateButton = yon_gtk_builder_get_widget(builder,"GpartedSeparateButton"); widgets->GpartedSeparateButton = yon_gtk_builder_get_widget(builder,"GpartedSeparateButton");
widgets->SeparateDevicesTree = yon_gtk_builder_get_widget(builder,"SeparateDevicesTree"); widgets->SeparateDevicesTree = yon_gtk_builder_get_widget(builder,"SeparateDevicesTree");
@ -2477,6 +2521,8 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_keyboard_clicked),widgets); g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_keyboard_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->RemoveButton),"clicked",G_CALLBACK(on_keyboard_removed),widgets); g_signal_connect(G_OBJECT(widgets->RemoveButton),"clicked",G_CALLBACK(on_keyboard_removed),widgets);
g_signal_connect(G_OBJECT(widgets->GrubInstallDevicesTree),"cursor-changed",G_CALLBACK(on_separate_installation_changed),widgets);
g_signal_connect(G_OBJECT(widgets->GrubUpdateDevicesTree),"cursor-changed",G_CALLBACK(on_separate_installation_changed),widgets);
g_signal_connect(G_OBJECT(widgets->InstallationNearSysDevicesTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets); g_signal_connect(G_OBJECT(widgets->InstallationNearSysDevicesTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets);
g_signal_connect(G_OBJECT(widgets->SamePlaceDeviceTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets); g_signal_connect(G_OBJECT(widgets->SamePlaceDeviceTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets); g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets);

@ -76,8 +76,13 @@ NULL
#define get_parts_and_devices_command "lsblk --noheadings -Jo TYPE,PATH,SIZE,FSTYPE,LABEL,PARTLABEL,MOUNTPOINT,FSUSED,FSUSE% --exclude 7,253" #define get_parts_and_devices_command "lsblk --noheadings -Jo TYPE,PATH,SIZE,FSTYPE,LABEL,PARTLABEL,MOUNTPOINT,FSUSED,FSUSE% --exclude 7,253"
#define AUTOINSTALL_TYPE_INSTALL "AUTOINSTALL[install_type]" #define AUTOINSTALL_TYPE_INSTALL "AUTOINSTALL[install_type]"
#define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get [autoinstall] AUTOINSTALL[install_type]"
#define AUTOINSTALL_DEVICE "AUTOINSTALL[device]" #define AUTOINSTALL_DEVICE "AUTOINSTALL[device]"
#define AUTOINSTALL_DEVICE_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device]"
#define part_parameter "AUTOINSTALL[part]" #define part_parameter "AUTOINSTALL[part]"
#define part_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part]"
#define user_name_parameter "AUTOINSTALL[user_name]" #define user_name_parameter "AUTOINSTALL[user_name]"
#define user_name_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_name]" #define user_name_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_name]"
@ -121,9 +126,6 @@ NULL
#define open_gparted_command "gparted" #define open_gparted_command "gparted"
#define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get [autoinstall] AUTOINSTALL[install_type]"
#define AUTOINSTALL_DEVICE_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device]"
#define part_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part]"
#define PASSWORD_DEFAULT "ublinux" #define PASSWORD_DEFAULT "ublinux"
@ -196,6 +198,7 @@ typedef struct {
int password_min_length; int password_min_length;
int save_done; int save_done;
int save_configured;
int load_mode; int load_mode;
int install_complete; int install_complete;
@ -334,9 +337,11 @@ typedef struct {
GtkWidget *GpartedGrubInstallButton; GtkWidget *GpartedGrubInstallButton;
GtkWidget *GrubInstallDevicesTree; GtkWidget *GrubInstallDevicesTree;
GtkWidget *GrubInstallPartitionTree;
GtkWidget *GpartedGrubUpdateButton; GtkWidget *GpartedGrubUpdateButton;
GtkWidget *GrubUpdateDevicesTree; GtkWidget *GrubUpdateDevicesTree;
GtkWidget *GrubUpdatePartitionTree;
GtkWidget *GpartedSeparateButton; GtkWidget *GpartedSeparateButton;
GtkWidget *SeparateDevicesTree; GtkWidget *SeparateDevicesTree;

@ -71,6 +71,13 @@
<column type="gchararray"/> <column type="gchararray"/>
</columns> </columns>
</object> </object>
<object class="GtkOverlay">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<placeholder/>
</child>
</object>
<object class="GtkAdjustment" id="adjustment1"> <object class="GtkAdjustment" id="adjustment1">
<property name="upper">999999</property> <property name="upper">999999</property>
<property name="value">16</property> <property name="value">16</property>
@ -1087,7 +1094,6 @@ and help you install UBLinux on your computer</property>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="stock">gtk-missing-image</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -3640,7 +3646,6 @@ installed.</property>
<property name="text" translatable="yes">0,0</property> <property name="text" translatable="yes">0,0</property>
<property name="adjustment">adjustment1</property> <property name="adjustment">adjustment1</property>
<property name="digits">1</property> <property name="digits">1</property>
<signal name="changed" handler="on_toggle_button_switch_on" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -4387,7 +4392,6 @@ installed.</property>
<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>
@ -4425,7 +4429,6 @@ installed.</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="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">5</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
@ -4473,8 +4476,9 @@ installed.</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">Attention! The selected OS UBLinux components will be installed <property name="label" translatable="yes">&lt;b&gt;Attention!&lt;/b&gt; The selected OS UBLinux components will be installed
separately into the selected partition.</property> separately into the selected partition.</property>
<property name="use-markup">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
@ -5157,6 +5161,110 @@ separately into the selected partition.</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<property name="min-content-height">128</property>
<child>
<object class="GtkTreeView" id="GrubInstallPartitionTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">PartitionsList</property>
<property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Section</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Capacity</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Free space</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">File system</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Mark</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</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">1</property>
</packing>
</child>
</object> </object>
</child> </child>
</object> </object>
@ -5428,6 +5536,110 @@ separately into the selected partition.</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<property name="min-content-height">128</property>
<child>
<object class="GtkTreeView" id="GrubUpdatePartitionTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">PartitionsList</property>
<property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Section</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Capacity</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Free space</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">File system</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Mark</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</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">1</property>
</packing>
</child>
</object> </object>
</child> </child>
</object> </object>

Loading…
Cancel
Save