Additional installation options WIP

pull/74/head
parent 1d14ee059f
commit 61ddb71578

@ -1310,29 +1310,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)){
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 {
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(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(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);
@ -1765,7 +1765,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);
@ -1777,6 +1777,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: {
@ -1809,44 +1810,50 @@ 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;
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 {
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->GrubInstallDevicesTree));
return;
} }
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);
} 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);
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 (!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_REGION);
} 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));
@ -1858,27 +1865,36 @@ 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; if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserSysSectionTree)),&model2,&itar)){
} else { 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;
} else {
}
} else {
} }
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;
@ -1940,7 +1956,6 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
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:{

@ -998,6 +998,7 @@ and help you install UBLinux on your computer</property>
</child> </child>
<child> <child>
<object class="GtkRadioButton" id="InstallationWindowsRadio"> <object class="GtkRadioButton" id="InstallationWindowsRadio">
<property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">False</property> <property name="receives-default">False</property>
<property name="draw-indicator">True</property> <property name="draw-indicator">True</property>
@ -4386,7 +4387,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>
@ -4424,7 +4424,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>
@ -4472,8 +4471,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>

Loading…
Cancel
Save