|
|
|
|
@ -846,6 +846,7 @@ void config_init(){
|
|
|
|
|
main_config.progress_thread=0;
|
|
|
|
|
main_config.install_complete=0;
|
|
|
|
|
main_config.save_done=0;
|
|
|
|
|
main_config.save_configured=0;
|
|
|
|
|
main_config.configure_mode=0;
|
|
|
|
|
main_config.load_mode=-1;
|
|
|
|
|
main_config.log_progress_buzy=0;
|
|
|
|
|
@ -943,12 +944,12 @@ void *on_config_save(void *data){
|
|
|
|
|
main_window *widgets = (main_window*)data;
|
|
|
|
|
|
|
|
|
|
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_DEVICE,
|
|
|
|
|
device_format_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,
|
|
|
|
|
device_format_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);
|
|
|
|
|
main_config.install_complete=1;
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
@ -1112,7 +1113,6 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
case YON_PAGE_COMPLETION:{
|
|
|
|
|
yon_debug_output("%s\n","Enter completion");
|
|
|
|
|
yon_switch_page_render(widgets,7);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->BackButton,0);
|
|
|
|
|
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_set_sensitive(widgets->NextButton,1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
|
|
|
|
|
yon_debug_output("%s\n","Done widgets");
|
|
|
|
|
g_mutex_lock(&main_config.install_mutex);
|
|
|
|
|
main_config.install_complete=0;
|
|
|
|
|
g_mutex_unlock(&main_config.install_mutex);
|
|
|
|
|
main_config.save_done=0;
|
|
|
|
|
yon_debug_output("%s\n","Done variables");
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_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))),
|
|
|
|
|
"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;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_COMPLETED:{
|
|
|
|
|
@ -1194,20 +1193,20 @@ void *on_setup_system_configuration(void * data){
|
|
|
|
|
main_window *widgets = (main_window*)data;
|
|
|
|
|
if (widgets){};
|
|
|
|
|
int size;
|
|
|
|
|
config_str all_parameters = yon_char_parsed_new(&size,
|
|
|
|
|
config(user_name_parameter),
|
|
|
|
|
config(user_gecos_parameter),
|
|
|
|
|
config(user_password_parameter),
|
|
|
|
|
config(root_password_parameter),
|
|
|
|
|
config(autologin_parameter),
|
|
|
|
|
config(xkbmodel_parameter),
|
|
|
|
|
config(xkblayout_parameter),
|
|
|
|
|
config(xkbvariant_parameter),
|
|
|
|
|
config(xkboptions_parameter),
|
|
|
|
|
config(hostname_parameter),
|
|
|
|
|
config(zone_parameter),
|
|
|
|
|
config(lang_parameter),
|
|
|
|
|
config(locale_parameter),
|
|
|
|
|
config_str all_parameters = yon_config_get_selection_by_key(&size,
|
|
|
|
|
user_name_parameter,
|
|
|
|
|
user_gecos_parameter,
|
|
|
|
|
user_password_parameter,
|
|
|
|
|
root_password_parameter,
|
|
|
|
|
autologin_parameter,
|
|
|
|
|
xkbmodel_parameter,
|
|
|
|
|
xkblayout_parameter,
|
|
|
|
|
xkbvariant_parameter,
|
|
|
|
|
xkboptions_parameter,
|
|
|
|
|
hostname_parameter,
|
|
|
|
|
zone_parameter,
|
|
|
|
|
lang_parameter,
|
|
|
|
|
locale_parameter,
|
|
|
|
|
NULL);
|
|
|
|
|
if (all_parameters){
|
|
|
|
|
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){
|
|
|
|
|
GtkTreeIter iter,itar;
|
|
|
|
|
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(part_tree)),&model2,&itar)){
|
|
|
|
|
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);
|
|
|
|
|
} 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 {
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(device_tree)),&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(device_tree));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
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);
|
|
|
|
|
@ -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->NextButton,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->BackButton,0);
|
|
|
|
|
main_config.save_configured=1;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_INSTALL_ERROR:
|
|
|
|
|
case YON_PAGE_COMPLETION:
|
|
|
|
|
case YON_PAGE_COMPLETION:{
|
|
|
|
|
confirmation_window *window = yon_confirmation_window_new();
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
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->TitleLabel),WARNING_TITLE_LABEL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
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:{
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallDevicesTree)),&model,&iter)){
|
|
|
|
|
char *cur_device;
|
|
|
|
|
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
|
|
|
|
|
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
|
|
|
|
|
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_REGION);
|
|
|
|
|
} else {
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallDevicesTree)),&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->GrubInstallDevicesTree));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
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->GrubInstallPartitionTree)),&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(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;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_GRUB_UPDATE:{
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdateDevicesTree)),&model,&iter)){
|
|
|
|
|
char *cur_device;
|
|
|
|
|
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
|
|
|
|
|
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
|
|
|
|
|
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update");
|
|
|
|
|
yon_config_remove_by_key(part_parameter);
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdateDevicesTree)),&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->GrubUpdateDevicesTree));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
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)
|
|
|
|
|
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(widgets->GrubUpdateDevicesTree);
|
|
|
|
|
}
|
|
|
|
|
}break;
|
|
|
|
|
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_CONFIGURE_END);
|
|
|
|
|
}break;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_SEPARATE:{
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
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)){
|
|
|
|
|
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));
|
|
|
|
|
@ -1856,32 +1879,42 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
case YON_PAGE_OPTIONS_SEPARATE_USRDATA:{
|
|
|
|
|
GtkTreeIter iter,itar;
|
|
|
|
|
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->SeparateSysSectionTree)),&model2,&itar)){
|
|
|
|
|
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);
|
|
|
|
|
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);
|
|
|
|
|
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
|
|
|
|
|
yon_config_register(part_parameter,part_parameter_command,yon_char_unite(system_section,",",user_section,NULL));
|
|
|
|
|
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"custom");
|
|
|
|
|
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->OSSysSectionTree)),&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->OSSysSectionTree));
|
|
|
|
|
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_OS_ONLY);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserDevicesTree)),&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->SeparateUserDevicesTree));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_OS_ONLY:{
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_USRDATA_ONLY:{
|
|
|
|
|
@ -1921,7 +1954,15 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_COMPLETED:{
|
|
|
|
|
@ -1935,10 +1976,9 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
case -2: { // Cancel/repeat
|
|
|
|
|
switch (page){
|
|
|
|
|
switch (page){
|
|
|
|
|
case YON_PAGE_COMPLETION:
|
|
|
|
|
case YON_PAGE_INSTALL_ERROR:{
|
|
|
|
|
// GtkWidget *dialog = gtk_dialog_new();
|
|
|
|
|
gtk_main_quit();
|
|
|
|
|
}break;
|
|
|
|
|
default:{
|
|
|
|
|
@ -1982,7 +2022,9 @@ void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_siz
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
char *selected_size=NULL;
|
|
|
|
|
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)){
|
|
|
|
|
int size = gtk_combo_box_get_active(size_type);
|
|
|
|
|
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->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->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->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->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->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);
|
|
|
|
|
|