From a95c0dbfbfeb1496546f6fd87a64aa53c4da0834 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 17 Jul 2025 18:04:28 +0600 Subject: [PATCH] WIP format widgets changes, user window changes --- source/ubinstall-gtk-installation.c | 122 +-- source/ubinstall-gtk-keyboard.c | 23 + source/ubinstall-gtk-password.c | 42 - source/ubinstall-gtk-saving.c | 106 ++- source/ubinstall-gtk-users.c | 23 +- source/ubinstall-gtk.c | 302 ++++--- source/ubinstall-gtk.h | 138 ++-- ubinstall-gtk.glade | 1160 ++++++++++++++++----------- 8 files changed, 1099 insertions(+), 817 deletions(-) diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index 0d7f8ea..1066501 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -8,20 +8,22 @@ int yon_install_common_save(main_window *widgets){ yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->CommonInstallationDevicesTree)); return 0; } - char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->CommonInstallationFilesystemTypeCombo)); - char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->CommonInstallationSectionNameEntry)); char *device; yon_config_remove_by_key(part_size_parameter); yon_config_remove_by_key(part_parameter); gtk_tree_model_get(model,&iter,0,&device,-1); yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"fast"); yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->CommonSectionSensitiveCheck))){ - yon_config_register(device_label_parameter,device_label_parameter_command,device_name); + + char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->CommonInstallationSectionNameEntry)); + if (!yon_char_is_empty(device_name)){ + yon_config_register(part_label_parameter,part_label_parameter_command,device_name); } else { - yon_config_remove_by_key(device_label_parameter); + yon_config_remove_by_key(part_label_parameter); } - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->CommonFilesystemSensitiveCheck))){ + + char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->CommonInstallationFilesystemTypeCombo)); + if (!yon_char_is_empty(file_system_type)){ yon_config_register(part_type_parameter,part_type_parameter_command,file_system_type); } else { yon_config_remove_by_key(part_type_parameter); @@ -32,52 +34,59 @@ int yon_install_common_save(main_window *widgets){ int yon_install_separate_save(main_window *widgets){ GtkTreeModel *model; GtkTreeIter iter; - if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->InstallationNearSysDevicesTree)),&model,&iter)){ + if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->NextInstallationSysDevicesTree)),&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->CommonInstallationDevicesTree)); return 0; } char *device; gtk_tree_model_get(model,&iter,0,&device,-1); - if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->InstallationNearSysSectionTree)),&model,&iter)){ + if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->NextInstallationSysSectionTree)),&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->CommonInstallationDevicesTree)); return 0; } - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->NextSizeSensitiveCheck))){ - double part_size = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->InstallationNearSizeSpin)); + if (gtk_switch_get_active(GTK_SWITCH(widgets->NextInstallationFormatSwitch))){ + yon_config_register(part_format_parameter,part_format_parameter_command,"yes"); + double part_size = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)); if (part_size){ - char *size_letter = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->InstallationNearSizeTypeSpin)); + char *size_letter = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin)); char *size_final = yon_char_append(yon_char_from_long((long)part_size),size_letter); yon_config_register(part_size_parameter,part_size_parameter_command,size_final); - } else yon_config_remove_by_key(part_size_parameter); - } else yon_config_remove_by_key(part_size_parameter); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->NextLabelSensitiveCheck))){ - char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NextInstallationSectionNameEntry)); - yon_config_register(device_label_parameter,device_label_parameter_command,device_name); + } else { + yon_config_remove_by_key(part_size_parameter); + } + + char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NextInstallationSectionNameEntry)); + if (!yon_char_is_empty(device_name)){ + yon_config_register(part_label_parameter,part_label_parameter_command,device_name); + } else { + yon_config_remove_by_key(part_label_parameter); + + } + + char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->NextInstallationFilesystemTypeCombo)); + if (!yon_char_is_empty(file_system_type)){ + yon_config_register(part_type_parameter,part_type_parameter_command,file_system_type); + + } else { + yon_config_remove_by_key(part_type_parameter); + + } } else { - yon_config_remove_by_key(device_label_parameter); + yon_config_register(part_format_parameter,part_format_parameter_command,"no"); + yon_config_remove_by_key(part_label_parameter); + yon_config_remove_by_key(part_type_parameter); + yon_config_remove_by_key(part_format_parameter); + yon_config_remove_by_key(part_type_parameter); + yon_config_remove_by_key(part_format_parameter); } + char *part; gtk_tree_model_get(model,&iter,0,&part,-1); yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"next"); yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device); yon_config_register(part_parameter,part_parameter_command,part); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->NextFSTypeSensitiveCheck))){ - if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->NextInstallationFormatCheck))){ - yon_config_register(device_format_parameter,device_format_parameter_command,"no"); - yon_config_remove_by_key(part_type_parameter); - } else { - char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->NextInstallationFilesystemTypeCombo)); - yon_config_register(part_type_parameter,part_type_parameter_command,file_system_type); - yon_config_remove_by_key(device_format_parameter); - } - if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->NextInstallationFormatCheck))) - yon_config_register(device_format_parameter,device_format_parameter_command,"no"); - } else { - yon_config_remove_by_key(part_type_parameter); - yon_config_remove_by_key(device_format_parameter); - } return 1; } @@ -103,26 +112,27 @@ int yon_install_same_partition_save(main_window *widgets){ yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device); yon_config_register(part_parameter,part_parameter_command,part); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SameLabelSensitiveCheck))){ + if (gtk_switch_get_active(GTK_SWITCH(widgets->SameInstallationFormatSwitch))){ + yon_config_register(part_format_parameter,part_format_parameter_command,"yes"); char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->SameInstallationSectionNameEntry)); - yon_config_register(device_label_parameter,device_label_parameter_command,device_name); - } else { - yon_config_remove_by_key(device_label_parameter); - } + if (!yon_char_is_empty(device_name)){ + yon_config_register(part_label_parameter,part_label_parameter_command,device_name); + } else { + yon_config_remove_by_key(part_label_parameter); + } - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SameFSTypeSensitiveCheck))){ - if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SameInstallationFormatCheck))){ - yon_config_register(device_format_parameter,device_format_parameter_command,"no"); - yon_config_remove_by_key(part_type_parameter); - } else { - char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->SameInstallationFilesystemTypeCombo)); + char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->SameInstallationFilesystemTypeCombo)); + if (!yon_char_is_empty(file_system_type)){ yon_config_register(part_type_parameter,part_type_parameter_command,file_system_type); - yon_config_remove_by_key(device_format_parameter); - } - } else { - yon_config_remove_by_key(device_format_parameter); + } else { yon_config_remove_by_key(part_type_parameter); + } + } else { + yon_config_register(part_format_parameter,part_format_parameter_command,"no"); + yon_config_remove_by_key(part_label_parameter); + yon_config_remove_by_key(part_format_parameter); + yon_config_remove_by_key(part_type_parameter); } return 1; } @@ -151,10 +161,10 @@ int yon_advanced_sections_save(dictionary *dict){ char *size = yon_char_unite(size_first,size_last?",":NULL,size_last,NULL); yon_config_register(part_size_parameter,part_size_parameter_command,size); - char *device_label_first = (char*)gtk_entry_get_text(GTK_ENTRY(first_section->SectionMarkEntry)); - char *device_label_last = last_section&&!strcmp(format_last,"yes")?(char*)gtk_entry_get_text(GTK_ENTRY(last_section->SectionMarkEntry)):NULL; - char *device_label = yon_char_unite(device_label_first,device_label_last?",":NULL,device_label_last,NULL); - yon_config_register(device_label_parameter,device_label_parameter_command,device_label); + char *part_label_first = (char*)gtk_entry_get_text(GTK_ENTRY(first_section->SectionMarkEntry)); + char *part_label_last = last_section&&!strcmp(format_last,"yes")?(char*)gtk_entry_get_text(GTK_ENTRY(last_section->SectionMarkEntry)):NULL; + char *part_label = yon_char_unite(part_label_first,part_label_last?",":NULL,part_label_last,NULL); + yon_config_register(part_label_parameter,part_label_parameter_command,part_label); char *fs_label_first = (char*)gtk_entry_get_text(GTK_ENTRY(first_section->FileSystemMarkentry)); char *fs_label_last = last_section&&!strcmp(format_last,"yes")?(char*)gtk_entry_get_text(GTK_ENTRY(last_section->FileSystemMarkentry)):NULL; @@ -258,8 +268,8 @@ void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_but } void on_partition_changed(GtkWidget *self, main_window *widgets){ - if (self==widgets->InstallationNearSysSectionTree||self == widgets->InstallationNearSizeTypeSpin){ - yon_set_max_size_from_partition(GTK_TREE_VIEW(widgets->InstallationNearSysSectionTree),GTK_SPIN_BUTTON(widgets->InstallationNearSizeSpin),GTK_COMBO_BOX(widgets->InstallationNearSizeTypeSpin)); + if (self==widgets->NextInstallationSysSectionTree||self == widgets->NextInstallationSizeTypeSpin){ + yon_set_max_size_from_partition(GTK_TREE_VIEW(widgets->NextInstallationSysSectionTree),GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin),GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin)); } } @@ -334,7 +344,7 @@ void on_partition_changed(GtkWidget *self, main_window *widgets){ // free_space_string = yon_char_append(yon_char_from_double(free_space)," "); // free_space_string[strlen(free_space_string)-1]=*(yon_size_get_mod(sz)); // } -// gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->InstallationNearSizeSpin)),0.0); +// gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)),0.0); // gtk_list_store_append(widgets->PartitionsList,&iter); // gtk_list_store_set(widgets->PartitionsList,&iter,0,json_object_get_string(path),1,json_object_get_string(size),2,free_space_string,3,json_object_get_string(fstype),-1); // } @@ -394,8 +404,8 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets){ yon_char_parsed_free(parsed,parsed_size); } } - gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->InstallationNearSizeSpin),0.0); - gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->InstallationNearSizeSpin)),0.0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin),0.0); + gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)),0.0); } } diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c index b83ea1e..0d4c290 100644 --- a/source/ubinstall-gtk-keyboard.c +++ b/source/ubinstall-gtk-keyboard.c @@ -1,5 +1,28 @@ #include "ubinstall-gtk.h" +void on_layout_toggle_button_switch(GtkWidget *self, main_window *widgets){ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self))){ + gtk_widget_set_sensitive(widgets->DefaultLayoutRadio,1); + gtk_widget_set_sensitive(widgets->ManualLayoutRadio,1); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){ + gtk_widget_set_sensitive(widgets->LayoutTree,1); + gtk_widget_set_sensitive(widgets->AddButton,1); + gtk_widget_set_sensitive(widgets->RemoveButton,1); + } else { + gtk_widget_set_sensitive(widgets->LayoutTree,0); + gtk_widget_set_sensitive(widgets->AddButton,0); + gtk_widget_set_sensitive(widgets->RemoveButton,0); + } + } else { + gtk_widget_set_sensitive(widgets->DefaultLayoutRadio,0); + gtk_widget_set_sensitive(widgets->ManualLayoutRadio,0); + gtk_widget_set_sensitive(widgets->LayoutTree,0); + gtk_widget_set_sensitive(widgets->AddButton,0); + gtk_widget_set_sensitive(widgets->RemoveButton,0); + + } +} + int yon_keyboard_save(main_window *widgets){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){ GtkTreeIter iter; diff --git a/source/ubinstall-gtk-password.c b/source/ubinstall-gtk-password.c index a90df7d..f52114a 100644 --- a/source/ubinstall-gtk-password.c +++ b/source/ubinstall-gtk-password.c @@ -1,44 +1,2 @@ #include "ubinstall-gtk.h" - -// void yon_password_set_sensitive_from_toggle(GtkWidget *self, main_window *widgets){ -// GtkWidget *combo = NULL; -// GtkWidget *entry = NULL; -// if (self == widgets->PasswordSensitiveCheck){ -// combo = widgets->PasswordCombo; -// entry = widgets->PasswordEntry; -// } else { -// combo = widgets->AdminPasswordCombo; -// entry = widgets->AdminPasswordEntry; -// } -// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self))){ -// gtk_widget_set_sensitive(combo,1); -// if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo))){ -// gtk_widget_set_sensitive(entry,1); -// } else { -// gtk_widget_set_sensitive(entry,0); -// } -// } else { -// gtk_widget_set_sensitive(combo,0); -// gtk_widget_set_sensitive(entry,0); -// -// } -// } - -// void yon_password_combo_set_sensitive(GtkWidget *self, main_window *widgets){ -// GtkWidget *entry = NULL; -// GtkWidget *toggle = NULL; -// if (self == widgets->PasswordCombo){ -// entry = widgets->PasswordEntry; -// toggle = widgets->PasswordSensitiveCheck; -// } else if (self == widgets->AdminPasswordCombo){ -// entry = widgets->AdminPasswordEntry; -// toggle = widgets->RootPasswordSensitiveCheck; -// } -// if (gtk_combo_box_get_active(GTK_COMBO_BOX(self))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggle))){ -// gtk_widget_set_sensitive(entry,1); -// } else { -// gtk_widget_set_sensitive(entry,0); -// -// } -// } diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index 93685b9..a825145 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -174,7 +174,7 @@ // part = config(part_parameter); // char *fs_type = config(part_type_parameter); // char *device_label = config(device_label_parameter); -// char *format = config(device_format_parameter); +// char *format = config(part_format_parameter); // char *part_size = config(part_size_parameter); // GtkListStore *device_list = widgets->DevicesList; // GtkListStore *part_list=widgets->PartitionsList; @@ -186,13 +186,13 @@ // } break; // // case YON_PAGE_INSTALL_SEPARATE:{ -// device_tree = widgets->InstallationNearSysDevicesTree; -// part_tree = widgets->InstallationNearSysSectionTree; +// device_tree = widgets->NextInstallationSysDevicesTree; +// part_tree = widgets->NextInstallationSysSectionTree; // if (!yon_char_is_empty(part_size)){ -// gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->InstallationNearSizeSpin),atof(part_size)); -// if (part_size[strlen(part_size)-1]=='M') gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->InstallationNearSizeTypeSpin),0); -// if (part_size[strlen(part_size)-1]=='G') gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->InstallationNearSizeTypeSpin),1); -// if (part_size[strlen(part_size)-1]=='T') gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->InstallationNearSizeTypeSpin),2); +// gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin),atof(part_size)); +// if (part_size[strlen(part_size)-1]=='M') gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin),0); +// if (part_size[strlen(part_size)-1]=='G') gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin),1); +// if (part_size[strlen(part_size)-1]=='T') gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin),2); // } // if (format&&!strcmp(format,"yes")) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->NextInstallationFormatCheck),1); // else gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->NextInstallationFormatCheck),main_config.format_default); @@ -391,10 +391,10 @@ // if (!strcmp(user_name,"root")){ // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UserRootOnlyCheck),1); // } else { -// gtk_entry_set_text(GTK_ENTRY(widgets->LoginEntry),user_name); +// gtk_entry_set_text(GTK_ENTRY(widgets->UserLoginEntry),user_name); // } // } else { -// gtk_entry_set_text(GTK_ENTRY(widgets->LoginEntry),""); +// gtk_entry_set_text(GTK_ENTRY(widgets->UserLoginEntry),""); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck),0); // } // if (!yon_char_is_empty(user_gecos)){ @@ -412,13 +412,13 @@ // } // } // if ((def_size>0&&!strcmp(default_password[0],user_password))||yon_char_is_empty(user_password)){ -// gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->PasswordCombo),0); -// gtk_entry_set_text(GTK_ENTRY(widgets->PasswordEntry),""); +// gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserPasswordCombo),0); +// gtk_entry_set_text(GTK_ENTRY(widgets->UserPasswordEntry),""); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->PasswordSensitiveCheck),0); // // } else if (!yon_char_is_empty(user_password)){ -// gtk_entry_set_text(GTK_ENTRY(widgets->PasswordEntry),user_password); -// gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->PasswordCombo),1); +// gtk_entry_set_text(GTK_ENTRY(widgets->UserPasswordEntry),user_password); +// gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserPasswordCombo),1); // } // if ((def_size>0&&!strcmp(default_password[0],user_password))||yon_char_is_empty(user_password)){ // gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo),0); @@ -431,11 +431,11 @@ // } // if (!yon_char_is_empty(autologin)){ // if (!strcmp(autologin,"yes")) -// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck),1); +// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UserAutologinSwitch),1); // else -// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck),0); +// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UserAutologinSwitch),0); // } else { -// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck),main_config.autologin_default); +// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UserAutologinSwitch),main_config.autologin_default); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutologinSensitiveCheck),0); // } // if (!yon_char_is_empty(hostname)){ @@ -472,20 +472,76 @@ gboolean on_install_error(main_window *widgets){ return 0; } +enum INSTALL_TYPE{ + INSTALL_COMMON, + INSTALL_PART, + INSTALL_NEXT, + INSTALL_ADVANCED, + INSTALL_GRUB_INSTALL, + INSTALL_GRUB_UPDATE, + INSTALL_SYSTEM_ONLY, + INSTALL_USER_ONLY, + INSTALL_ERROR +}; + +/**Функция получения текущего режима установки + * + */ +enum INSTALL_TYPE yon_ubl_get_install_mode(){ + char *value = config(AUTOINSTALL_TYPE_INSTALL); + if (!strcmp(value,"common")){ + return INSTALL_COMMON; + } else if (!strcmp(value,"part")){ + return INSTALL_PART; + } else if (!strcmp(value,"next")){ + return INSTALL_NEXT; + } else if (!strcmp(value,"advanced")){ + return INSTALL_ADVANCED; + } else if (!strcmp(value,"grub_install")){ + return INSTALL_GRUB_INSTALL; + } else if (!strcmp(value,"grub_update")){ + return INSTALL_GRUB_UPDATE; + } else if (!strcmp(value,"system_only")){ + return INSTALL_SYSTEM_ONLY; + } else if (!strcmp(value,"data_only")){ + return INSTALL_USER_ONLY; + } + return INSTALL_ERROR; +} void *on_config_save(void *data){ main_window *widgets = (main_window*)data; int size=0; - config_str parameters = yon_config_get_selection_by_key_no_ignored(&size, - AUTOINSTALL_TYPE_INSTALL, - AUTOINSTALL_DEVICE, - device_format_parameter, - device_label_parameter, - part_parameter, - part_type_parameter, - part_size_parameter, - NULL); + config_str parameters = NULL; + enum INSTALL_TYPE install_mode = yon_ubl_get_install_mode(); + switch(install_mode){ + case INSTALL_COMMON: + parameters = yon_config_get_selection_by_key_no_ignored(&size,install_common_parameters,NULL); + break; + case INSTALL_PART: + parameters = yon_config_get_selection_by_key_no_ignored(&size,install_part_parameters,NULL); + break; + case INSTALL_NEXT: + parameters = yon_config_get_selection_by_key_no_ignored(&size,install_next_parameters,NULL); + break; + case INSTALL_ADVANCED: + parameters = yon_config_get_selection_by_key_no_ignored(&size,install_advanced_parameters,NULL); + break; + case INSTALL_GRUB_INSTALL: + case INSTALL_GRUB_UPDATE: + parameters = yon_config_get_selection_by_key_no_ignored(&size,install_grub_install_update_parameters,NULL); + break; + case INSTALL_SYSTEM_ONLY: + parameters = yon_config_get_selection_by_key_no_ignored(&size,install_system_only_parameters,NULL); + break; + case INSTALL_USER_ONLY: + parameters = yon_config_get_selection_by_key_no_ignored(&size,install_userdata_only_parameters,NULL); + break; + default: + yon_ubl_status_box_render(ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); + return 0; + } FILE *file = fopen(progress_path,"w"); if (file) fclose(file); diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index 14d4d3a..9695f84 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -9,26 +9,25 @@ int yon_users_save(main_window *widgets){ yon_config_register(user_gecos_parameter,user_gecos_parameter_command,username); } - if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->LoginEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck))){ + if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserLoginEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck))){ yon_config_remove_by_key(user_name_parameter); } else { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserRootOnlyCheck))){ yon_config_register(user_name_parameter,user_name_parameter_command,"root"); } else { - char *login = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->LoginEntry)); + char *login = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserLoginEntry)); if (login){}; yon_config_register(user_name_parameter,user_name_parameter_command,login); } } - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PasswordSensitiveCheck))){ - if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->PasswordCombo))==1){ - if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->PasswordEntry)))){ + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->UserPasswordCombo))==1){ + if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserPasswordEntry)))){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - yon_ubl_status_highlight_incorrect(widgets->PasswordEntry); + yon_ubl_status_highlight_incorrect(widgets->UserPasswordEntry); return 0; } else { - char *password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->PasswordEntry)); + char *password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserPasswordEntry)); if (password){}; yon_config_register(user_password_parameter,user_password_parameter_command,password); @@ -37,12 +36,7 @@ int yon_users_save(main_window *widgets){ } else { yon_config_remove_by_key(user_password_parameter); } - }else { - yon_config_remove_by_key(user_password_parameter); - } - - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RootPasswordSensitiveCheck))){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo))==1){ if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry)))){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); @@ -57,9 +51,6 @@ int yon_users_save(main_window *widgets){ } else { yon_config_remove_by_key(root_password_parameter); } - } else { - yon_config_remove_by_key(root_password_parameter); - } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->HostnameSensitiveCheck))){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck))){ @@ -80,7 +71,7 @@ int yon_users_save(main_window *widgets){ } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinSensitiveCheck))){ - char *autologin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck))?"yes":"no"; + char *autologin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserAutologinSwitch))?"yes":"no"; yon_config_register(autologin_parameter,autologin_parameter_command,autologin); } else { yon_config_remove_by_key(autologin_parameter); diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index dd35e3a..da34acb 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -6,29 +6,6 @@ int cur_slide=0; // //functions -// void on_layout_toggle_button_switch(GtkWidget *self, main_window *widgets){ -// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self))){ -// gtk_widget_set_sensitive(widgets->DefaultLayoutRadio,1); -// gtk_widget_set_sensitive(widgets->ManualLayoutRadio,1); -// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){ -// gtk_widget_set_sensitive(widgets->LayoutTree,1); -// gtk_widget_set_sensitive(widgets->AddButton,1); -// gtk_widget_set_sensitive(widgets->RemoveButton,1); -// } else { -// gtk_widget_set_sensitive(widgets->LayoutTree,0); -// gtk_widget_set_sensitive(widgets->AddButton,0); -// gtk_widget_set_sensitive(widgets->RemoveButton,0); -// } -// } else { -// gtk_widget_set_sensitive(widgets->DefaultLayoutRadio,0); -// gtk_widget_set_sensitive(widgets->ManualLayoutRadio,0); -// gtk_widget_set_sensitive(widgets->LayoutTree,0); -// gtk_widget_set_sensitive(widgets->AddButton,0); -// gtk_widget_set_sensitive(widgets->RemoveButton,0); -// -// } -// } - void on_toggle_button_switch_on(GtkWidget *, GtkToggleButton *toggle){ gtk_toggle_button_set_active(toggle,1); } @@ -281,170 +258,180 @@ main_window *yon_main_window_complete(){ gtk_builder_add_callback_symbol(builder,"on_toggle_button_switch_on",G_CALLBACK(on_toggle_button_switch_on)); // Custom widgets configuration widgets->builder = builder; + gtk_builder_set_translation_domain(builder,template_ui_LocaleName); + { widgets->DevicesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"DevicesList")); widgets->LanguagesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList")); + + widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList")); + widgets->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow"); + widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook"); + + widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL); + widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL); + + widgets->SaveButton = yon_gtk_builder_get_widget(builder,"SaveButton"); + + widgets->LoadGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadGlobalConfigurationMenuItem"); + widgets->LoadLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadLocalConfigurationMenuItem"); + widgets->LoadExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadExternalConfigurationMenuItem"); + + widgets->SaveGlobalLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalLocalConfigurationMenuItem"); + widgets->SaveGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalConfigurationMenuItem"); + widgets->SaveLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveLocalConfigurationMenuItem"); + widgets->SaveExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveExternalConfigurationMenuItem"); + + widgets->SlidesImage = yon_gtk_builder_get_widget(builder,"SlidesImage"); + + widgets->LicenceLabel = yon_gtk_builder_get_widget(builder,"LicenceLabel"); + + widgets->menu1=yon_gtk_builder_get_widget(builder,"menu1"); + widgets->menu2=yon_gtk_builder_get_widget(builder,"menu2"); + widgets->ConfigurationModeMenuItem = yon_gtk_builder_get_widget(builder,"ConfigurationModeMenuItem"); + + widgets->CancelInstallButton=yon_gtk_builder_get_widget(builder,"CancelInstallButton"); + widgets->BackButton=yon_gtk_builder_get_widget(builder,"BackButton"); + widgets->NextButton=yon_gtk_builder_get_widget(builder,"NextButton"); + widgets->WelcomeToggle=yon_gtk_builder_get_widget(builder,"WelcomeToggle"); widgets->LicenceToggle=yon_gtk_builder_get_widget(builder,"LicenceToggle"); - widgets->StartScenarioButton=yon_gtk_builder_get_widget(builder,"StartScenarioButton"); - widgets->SourceButton=yon_gtk_builder_get_widget(builder,"SourceButton"); - widgets->SkipInstallationButton=yon_gtk_builder_get_widget(builder,"SkipInstallationButton"); widgets->LocationToggle=yon_gtk_builder_get_widget(builder,"LocationToggle"); widgets->KeyboardToggle=yon_gtk_builder_get_widget(builder,"KeyboardToggle"); widgets->SectionsToggle=yon_gtk_builder_get_widget(builder,"SectionsToggle"); - widgets->UsersToggle=yon_gtk_builder_get_widget(builder,"USersToggle"); + widgets->UsersToggle=yon_gtk_builder_get_widget(builder,"UsersToggle"); widgets->SummaryToggle=yon_gtk_builder_get_widget(builder,"SummaryToggle"); widgets->CompletionToggle=yon_gtk_builder_get_widget(builder,"CompletionToggle"); widgets->InstallationToggle=yon_gtk_builder_get_widget(builder,"InstallationToggle"); - widgets->LanguageCombo=yon_gtk_builder_get_widget(builder,"LanguageCombo"); - widgets->RegionCombo=yon_gtk_builder_get_widget(builder,"RegionCombo"); - widgets->ZoneCombo=yon_gtk_builder_get_widget(builder,"ZoneCombo"); - widgets->AvailableLanguagesEntry=yon_gtk_builder_get_widget(builder,"AvailableLanguagesEntry"); - widgets->AvailableLanguagesButton=yon_gtk_builder_get_widget(builder,"AvailableLanguagesButton"); - widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo"); - widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo"); - widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo"); - widgets->DefaultLayoutRadio=yon_gtk_builder_get_widget(builder,"DefaultLayoutRadio"); - widgets->ManualLayoutRadio=yon_gtk_builder_get_widget(builder,"ManualLayoutRadio"); - widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree"); - widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton"); - widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton"); + + widgets->StartScenarioButton=yon_gtk_builder_get_widget(builder,"StartScenarioButton"); + + widgets->SourceButton=yon_gtk_builder_get_widget(builder,"SourceButton"); + widgets->SkipInstallationButton=yon_gtk_builder_get_widget(builder,"SkipInstallationButton"); + widgets->InstallationRadio=yon_gtk_builder_get_widget(builder,"InstallationRadio"); widgets->InstallationNearRadio=yon_gtk_builder_get_widget(builder,"InstallationNearRadio"); widgets->InstallationLinuxRadio=yon_gtk_builder_get_widget(builder,"InstallationLinuxRadio"); widgets->InstallationWindowsRadio=yon_gtk_builder_get_widget(builder,"InstallationWindowsRadio"); widgets->InstallationOptionsRadio=yon_gtk_builder_get_widget(builder,"InstallationOptionsRadio"); - widgets->UserNameEntry=yon_gtk_builder_get_widget(builder,"UserNameEntry"); - widgets->LoginEntry=yon_gtk_builder_get_widget(builder,"LoginEntry"); - widgets->PasswordCombo=yon_gtk_builder_get_widget(builder,"PasswordCombo"); - widgets->PasswordEntry=yon_gtk_builder_get_widget(builder,"PasswordEntry"); - widgets->PasswordButton=yon_gtk_builder_get_widget(builder,"PasswordButton"); - widgets->AutologinCheck=yon_gtk_builder_get_widget(builder,"AutologinCheck"); - widgets->AdminPasswordCombo=yon_gtk_builder_get_widget(builder,"AdminPasswordCombo"); - widgets->AdminPasswordEntry=yon_gtk_builder_get_widget(builder,"AdminPasswordEntry"); - widgets->AdminPasswordButton=yon_gtk_builder_get_widget(builder,"AdminPasswordButton"); - widgets->HotnameEntry=yon_gtk_builder_get_widget(builder,"HotnameEntry"); - widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck"); - widgets->CancelInstallButton=yon_gtk_builder_get_widget(builder,"CancelInstallButton"); - widgets->BackButton=yon_gtk_builder_get_widget(builder,"BackButton"); - widgets->NextButton=yon_gtk_builder_get_widget(builder,"NextButton"); - widgets->mainSettingsButton=yon_gtk_builder_get_widget(builder,"mainSettingsButton"); - widgets->menu1=yon_gtk_builder_get_widget(builder,"menu1"); - widgets->menu2=yon_gtk_builder_get_widget(builder,"menu2"); - widgets->RegionImage = yon_gtk_builder_get_widget(builder,"RegionImage"); - widgets->RegionBox = yon_gtk_builder_get_widget(builder,"RegionBox"); - widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect"); - widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage"); - widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox"); - widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook"); - widgets->LicenceLabel = yon_gtk_builder_get_widget(builder,"LicenceLabel"); - widgets->SlidesImage = yon_gtk_builder_get_widget(builder,"SlidesImage"); + widgets->GrubInstallRadio = yon_gtk_builder_get_widget(builder,"GrubInstallRadio"); + widgets->GrubUpdateRadio = yon_gtk_builder_get_widget(builder,"GrubUpdateRadio"); + widgets->SeparateRadio = yon_gtk_builder_get_widget(builder,"SeparateRadio"); + widgets->OSRadio = yon_gtk_builder_get_widget(builder,"OSRadio"); + widgets->UserDataOnlyRadio = yon_gtk_builder_get_widget(builder,"UserDataOnlyRadio"); + widgets->CommonInstallationDevicesTree = yon_gtk_builder_get_widget(builder,"CommonInstallationDevicesTree"); - widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree"); + widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo"); + widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry"); + widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton"); widgets->SamePlaceDeviceTree = yon_gtk_builder_get_widget(builder,"SamePlaceDeviceTree"); widgets->SamePlacePartTree = yon_gtk_builder_get_widget(builder,"SamePlacePartTree"); - - widgets->InstallationNearSysDevicesTree = yon_gtk_builder_get_widget(builder,"InstallationNearSysDevicesTree"); - widgets->InstallationNearSysSectionTree = yon_gtk_builder_get_widget(builder,"InstallationNearSysSectionTree"); - widgets->InstallationNearSizeSpin = yon_gtk_builder_get_widget(builder,"InstallationNearSizeSpin"); - widgets->InstallationNearSizeTypeSpin = yon_gtk_builder_get_widget(builder,"InstallationNearSizeTypeSpin"); - - widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress"); - widgets->InstallationLabel = yon_gtk_builder_get_widget(builder,"InstallationLabel"); - widgets->ReadShortLogButton = yon_gtk_builder_get_widget(builder,"ReadShortLogButton"); - widgets->PackageInstallationProgress = yon_gtk_builder_get_widget(builder,"PackageInstallationProgress"); - widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel"); - widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton"); - + widgets->SameInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"SameInstallationFormatSwitch"); + widgets->SameInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"SameInstallationFormatRevealer"); widgets->SameInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"SameInstallationFilesystemTypeCombo"); - widgets->SameInstallationFormatCheck = yon_gtk_builder_get_widget(builder,"SameInstallationFormatCheck"); widgets->SameInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"SameInstallationSectionNameEntry"); - widgets->NextInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"NextInstallationFilesystemTypeCombo"); - widgets->NextInstallationFormatCheck = yon_gtk_builder_get_widget(builder,"NextInstallationFormatCheck"); - widgets->NextInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"NextInstallationSectionNameEntry"); - widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo"); - widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry"); - - widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton"); - widgets->GpartedNearButton = yon_gtk_builder_get_widget(builder,"GpartedNearButton"); widgets->GpartedSameButton = yon_gtk_builder_get_widget(builder,"GpartedSameButton"); - widgets->ConfigurationModeMenuItem = yon_gtk_builder_get_widget(builder,"ConfigurationModeMenuItem"); - widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL); - widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL); - - widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); - widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell")); - - widgets->GrubInstallRadio = yon_gtk_builder_get_widget(builder,"GrubInstallRadio"); - widgets->GrubUpdateRadio = yon_gtk_builder_get_widget(builder,"GrubUpdateRadio"); - widgets->SeparateRadio = yon_gtk_builder_get_widget(builder,"SeparateRadio"); - widgets->OSRadio = yon_gtk_builder_get_widget(builder,"OSRadio"); - widgets->UserDataOnlyRadio = yon_gtk_builder_get_widget(builder,"UserDataOnlyRadio"); + widgets->NextInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"NextInstallationFilesystemTypeCombo"); + widgets->NextInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSwitch"); + widgets->NextInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"NextInstallationFormatRevealer"); + widgets->NextInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"NextInstallationSectionNameEntry"); + widgets->NextInstallationSizeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeSpin"); + widgets->NextInstallationSizeTypeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeCombo"); + widgets->NextInstallationSysDevicesTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysDevicesTree"); + widgets->NextInstallationSysSectionTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysSectionTree"); + widgets->GpartedNextInstallationButton = yon_gtk_builder_get_widget(builder,"GpartedNextInstallationButton"); + + widgets->AdvancedDeviceTree = yon_gtk_builder_get_widget(builder,"AdvancedDeviceTree"); + widgets->AdvancedVirtualDeviceCombo = yon_gtk_builder_get_widget(builder,"AdvancedVirtualDeviceCombo"); + widgets->AdvancedPartitionTree = yon_gtk_builder_get_widget(builder,"AdvancedPartitionTree"); + widgets->AdvancedPartitionAddBox = yon_gtk_builder_get_widget(builder,"AdvancedPartitionAddBox"); + widgets->AdvancedAddButton = yon_gtk_builder_get_widget(builder,"AdvancedAddButton"); + widgets->AdvancedLoadTypeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeSwitch"); + widgets->AdvancedBiosSectorSwitch = yon_gtk_builder_get_widget(builder,"AdvancedBiosSectorSwitch"); + widgets->AdvancedEFISwitch = yon_gtk_builder_get_widget(builder,"AdvancedEFISwitch"); + widgets->AdvancedSwapSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapSwitch"); + widgets->AdvancedSwapAutoSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapAutoSwitch"); + widgets->AdvancedSwapRamSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapRamSwitch"); + widgets->AdvancedSwapFixedSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSwitch"); + widgets->AdvancedSwapFixedSpin = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSpin"); - widgets->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->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton"); - 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->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton"); - widgets->GpartedSeparateButton = yon_gtk_builder_get_widget(builder,"GpartedSeparateButton"); - widgets->SeparateDevicesTree = yon_gtk_builder_get_widget(builder,"SeparateDevicesTree"); - widgets->SeparateSysSectionTree = yon_gtk_builder_get_widget(builder,"SeparateSysSectionTree"); - widgets->GpartedSeparateUserButton = yon_gtk_builder_get_widget(builder,"GpartedSeparateUserButton"); - widgets->SeparateUserDevicesTree = yon_gtk_builder_get_widget(builder,"SeparateUserDevicesTree"); - widgets->SeparateUserSysSectionTree = yon_gtk_builder_get_widget(builder,"SeparateUserSysSectionTree"); - - widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton"); widgets->OSDevicesTree = yon_gtk_builder_get_widget(builder,"OSDevicesTree"); widgets->OSSysSectionTree = yon_gtk_builder_get_widget(builder,"OSSysSectionTree"); + widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton"); - widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"GpartedUserdataButton"); widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree"); widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree"); + widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"UserdataGpartedButton"); - widgets->SaveButton = yon_gtk_builder_get_widget(builder,"SaveButton"); - - widgets->LoadGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadGlobalConfigurationMenuItem"); - widgets->LoadLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadLocalConfigurationMenuItem"); - widgets->LoadExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadExternalConfigurationMenuItem"); - - widgets->SaveGlobalLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalLocalConfigurationMenuItem"); - widgets->SaveGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalConfigurationMenuItem"); - widgets->SaveLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveLocalConfigurationMenuItem"); - widgets->SaveExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveExternalConfigurationMenuItem"); - - widgets->LanguagesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList")); widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter")); widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter")); widgets->LayoutList = GTK_TREE_STORE(gtk_builder_get_object(builder,"LayoutList")); - widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList")); - widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList")); - + widgets->LanguageCombo=yon_gtk_builder_get_widget(builder,"LanguageCombo"); + widgets->RegionCombo=yon_gtk_builder_get_widget(builder,"RegionCombo"); + widgets->ZoneCombo=yon_gtk_builder_get_widget(builder,"ZoneCombo"); + widgets->AvailableLanguagesEntry=yon_gtk_builder_get_widget(builder,"AvailableLanguagesEntry"); + widgets->AvailableLanguagesButton=yon_gtk_builder_get_widget(builder,"AvailableLanguagesButton"); + widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo"); + widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo"); + widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo"); + widgets->DefaultLayoutRadio=yon_gtk_builder_get_widget(builder,"DefaultLayoutRadio"); + widgets->ManualLayoutRadio=yon_gtk_builder_get_widget(builder,"ManualLayoutRadio"); + widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree"); + widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton"); + widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton"); widgets->RegionSensitiveCheck = yon_gtk_builder_get_widget(builder,"RegionSensitiveCheck"); widgets->LanguagesSensitiveCheck = yon_gtk_builder_get_widget(builder,"LanguagesSensitiveCheck"); widgets->MainLanguageSensitiveCheck = yon_gtk_builder_get_widget(builder,"MainLanguageSensitiveCheck"); widgets->KeyboardModelSensitiveCheck = yon_gtk_builder_get_widget(builder,"KeyboardModelSensitiveCheck"); widgets->OptionsSensitiveCheck = yon_gtk_builder_get_widget(builder,"OptionsSensitiveCheck"); widgets->LayoutSensitiveCheck = yon_gtk_builder_get_widget(builder,"LayoutSensitiveCheck"); + + widgets->UserNameEntry=yon_gtk_builder_get_widget(builder,"UserNameEntry"); + widgets->UserLoginEntry=yon_gtk_builder_get_widget(builder,"UserLoginEntry"); + widgets->UserPasswordCombo=yon_gtk_builder_get_widget(builder,"UserPasswordCombo"); + widgets->UserPasswordEntry=yon_gtk_builder_get_widget(builder,"UserPasswordEntry"); + widgets->UserPasswordButton=yon_gtk_builder_get_widget(builder,"UserPasswordButton"); + widgets->UserAutologinSwitch=yon_gtk_builder_get_widget(builder,"UserAutologinSwitch"); + widgets->AdminPasswordCombo=yon_gtk_builder_get_widget(builder,"AdminPasswordCombo"); + widgets->AdminPasswordEntry=yon_gtk_builder_get_widget(builder,"AdminPasswordEntry"); + widgets->AdminPasswordButton=yon_gtk_builder_get_widget(builder,"AdminPasswordButton"); widgets->UsernameSensitiveCheck = yon_gtk_builder_get_widget(builder,"UsernameSensitiveCheck"); widgets->LoginSensitiveCheck = yon_gtk_builder_get_widget(builder,"LoginSensitiveCheck"); widgets->UserRootOnlyCheck = yon_gtk_builder_get_widget(builder,"UserRootOnlyCheck"); - widgets->PasswordSensitiveCheck = yon_gtk_builder_get_widget(builder,"PasswordSensitiveCheck"); widgets->AutologinSensitiveCheck = yon_gtk_builder_get_widget(builder,"AutologinSensitiveCheck"); - widgets->RootPasswordSensitiveCheck = yon_gtk_builder_get_widget(builder,"RootPasswordSensitiveCheck"); - widgets->HostnameSensitiveCheck = yon_gtk_builder_get_widget(builder,"HostnameSensitiveCheck"); - widgets->CommonFilesystemSensitiveCheck = yon_gtk_builder_get_widget(builder,"CommonFilesystemSensitiveCheck"); - widgets->CommonSectionSensitiveCheck = yon_gtk_builder_get_widget(builder,"CommonSectionSensitiveCheck"); - widgets->NextSizeSensitiveCheck = yon_gtk_builder_get_widget(builder,"NextSizeSensitiveCheck"); - widgets->NextFSTypeSensitiveCheck = yon_gtk_builder_get_widget(builder,"NextFSTypeSensitiveCheck"); - widgets->NextLabelSensitiveCheck = yon_gtk_builder_get_widget(builder,"NextLabelSensitiveCheck"); - widgets->SameFSTypeSensitiveCheck = yon_gtk_builder_get_widget(builder,"SameFSTypeSensitiveCheck"); - widgets->SameLabelSensitiveCheck = yon_gtk_builder_get_widget(builder,"SameLabelSensitiveCheck"); + + widgets->HotnameEntry=yon_gtk_builder_get_widget(builder,"HotnameEntry"); + widgets->mainSettingsButton=yon_gtk_builder_get_widget(builder,"mainSettingsButton"); + widgets->RegionImage = yon_gtk_builder_get_widget(builder,"RegionImage"); + widgets->RegionBox = yon_gtk_builder_get_widget(builder,"RegionBox"); + widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect"); + widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage"); + widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox"); + + widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList")); + widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree"); + widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell")); + + + widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress"); + widgets->InstallationLabel = yon_gtk_builder_get_widget(builder,"InstallationLabel"); + widgets->ReadShortLogButton = yon_gtk_builder_get_widget(builder,"ReadShortLogButton"); + widgets->PackageInstallationProgress = yon_gtk_builder_get_widget(builder,"PackageInstallationProgress"); + widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel"); + widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton"); + widgets->KernelsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"KernelsList")); widgets->KernelsTree = yon_gtk_builder_get_widget(builder,"KernelsTree"); @@ -474,22 +461,10 @@ main_window *yon_main_window_complete(){ widgets->NetworkNTPEntry = yon_gtk_builder_get_widget(builder,"NetworkNTPEntry"); widgets->NetworkConnectionsBox = yon_gtk_builder_get_widget(builder,"NetworkConnectionsBox"); widgets->NetworkConnectionsAddButton = yon_gtk_builder_get_widget(builder,"NetworkConnectionsAddButton"); + widgets->HostnameSensitiveCheck = yon_gtk_builder_get_widget(builder,"HostnameSensitiveCheck"); + widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck"); widgets->network_connections = NULL; - - widgets->AdvancedDeviceTree = yon_gtk_builder_get_widget(builder,"AdvancedDeviceTree"); - widgets->AdvancedVirtualDeviceCombo = yon_gtk_builder_get_widget(builder,"AdvancedVirtualDeviceCombo"); - widgets->AdvancedPartitionTree = yon_gtk_builder_get_widget(builder,"AdvancedPartitionTree"); - widgets->AdvancedPartitionAddBox = yon_gtk_builder_get_widget(builder,"AdvancedPartitionAddBox"); - widgets->AdvancedAddButton = yon_gtk_builder_get_widget(builder,"AdvancedAddButton"); - widgets->AdvancedLoadTypeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeSwitch"); - widgets->AdvancedBiosSectorSwitch = yon_gtk_builder_get_widget(builder,"AdvancedBiosSectorSwitch"); - widgets->AdvancedEFISwitch = yon_gtk_builder_get_widget(builder,"AdvancedEFISwitch"); - widgets->AdvancedSwapSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapSwitch"); - widgets->AdvancedSwapAutoSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapAutoSwitch"); - widgets->AdvancedSwapRamSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapRamSwitch"); - widgets->AdvancedSwapFixedSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSwitch"); - widgets->AdvancedSwapFixedSpin = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSpin"); - + } g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets); GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2"); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->DocumentationMenuItem),"menuitemmiddle"); @@ -511,34 +486,33 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->GpartedCommonButton),"clicked",G_CALLBACK(on_gparted_open),NULL); g_signal_connect(G_OBJECT(widgets->GpartedSameButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->GpartedNearButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->GpartedNextInstallationButton),"clicked",G_CALLBACK(on_gparted_open),NULL); // g_signal_connect(G_OBJECT(widgets->Notebook),"switch-page",G_CALLBACK(on_page_changed),widgets); // g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets); g_signal_connect(G_OBJECT(widgets->NextButton),"clicked",G_CALLBACK(on_page_next_clicked),widgets); g_signal_connect(G_OBJECT(widgets->BackButton),"clicked",G_CALLBACK(on_page_prev_clicked),widgets); // g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_navigation_clicked),widgets); - // g_signal_connect(G_OBJECT(widgets->AvailableLanguagesButton),"clicked",G_CALLBACK(on_language_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->AvailableLanguagesButton),"clicked",G_CALLBACK(on_language_clicked),widgets); g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(on_region_changed),widgets); - // g_signal_connect(G_OBJECT(widgets->LayoutSensitiveCheck),"toggled",G_CALLBACK(on_layout_toggle_button_switch),widgets); + g_signal_connect(G_OBJECT(widgets->LayoutSensitiveCheck),"toggled",G_CALLBACK(on_layout_toggle_button_switch),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->GrubInstallDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->GrubUpdateDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->InstallationNearSysDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationSysDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->SamePlaceDeviceTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->OSDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->SeparateDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"toggled",G_CALLBACK(on_configuration_mode_switch),widgets); // g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),widgets); // g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),widgets); g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); - g_signal_connect(G_OBJECT(widgets->InstallationNearSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); - g_signal_connect(G_OBJECT(widgets->InstallationNearSizeTypeSpin),"changed",G_CALLBACK(on_partition_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_changed),widgets); // gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),3); // g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets); @@ -548,18 +522,15 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry); - g_signal_connect(G_OBJECT(widgets->NextInstallationFormatCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->NextInstallationFilesystemTypeCombo); - g_signal_connect(G_OBJECT(widgets->SameInstallationFormatCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->SameInstallationFilesystemTypeCombo); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->NextInstallationFormatRevealer),GTK_SWITCH(widgets->NextInstallationFormatSwitch)); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->SameInstallationFormatRevealer),GTK_SWITCH(widgets->SameInstallationFormatSwitch)); + // g_signal_connect(G_OBJECT(widgets->HostnameSensitiveCheck),"toggled",G_CALLBACK(on_autohostname_sensitiveness_check),widgets); // g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(on_autohostname_check),widgets); // g_signal_connect(G_OBJECT(widgets->HotnameEntry),"changed",G_CALLBACK(on_hostname_entry_changed),widgets); - // g_signal_connect(G_OBJECT(widgets->PasswordCombo),"changed",G_CALLBACK(yon_password_combo_set_sensitive),widgets); - // g_signal_connect(G_OBJECT(widgets->AdminPasswordCombo),"changed",G_CALLBACK(yon_password_combo_set_sensitive),widgets); - // g_signal_connect(G_OBJECT(widgets->RootPasswordSensitiveCheck),"toggled",G_CALLBACK(yon_password_set_sensitive_from_toggle),widgets); - // g_signal_connect(G_OBJECT(widgets->PasswordSensitiveCheck),"toggled",G_CALLBACK(yon_password_set_sensitive_from_toggle),widgets); { - yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->PasswordEntry)); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserPasswordEntry)); yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->AdminPasswordEntry)); if (main_config.lock_load_global == 1){ @@ -744,6 +715,7 @@ int main(int argc, char *argv[]){ widgets = yon_main_window_complete(); if (widgets){}; char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); + yon_window_config_setup(GTK_WINDOW(widgets->MainWindow)); yon_window_config_load(path); main_config.launch_arguments=yon_char_parsed_copy(argv,argc); main_config.launch_size=argc; diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index c781494..3344940 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -120,16 +120,14 @@ NULL #define lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[lang]" #define locale_parameter "AUTOINSTALL[locale]" #define locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[locale]" -#define device_format_parameter "AUTOINSTALL[device_format]" -#define device_format_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device_format]" -#define device_label_parameter "AUTOINSTALL[part_label]" -#define device_label_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_label]" #define part_size_parameter "AUTOINSTALL[part_size]" #define part_size_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_size]" #define part_type_parameter "AUTOINSTALL[part_fs_type]" #define part_type_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_fs_type]" #define part_format_parameter "AUTOINSTALL[part_format]" #define part_format_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_format]" +#define part_label_parameter "AUTOINSTALL[part_label]" +#define part_label_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_label]" #define part_fs_label_parameter "AUTOINSTALL[part_fs_label]" #define part_fs_label_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_fs_label]" #define part_crypt_parameter "AUTOINSTALL[part_crypt]" @@ -171,10 +169,10 @@ NULL #define full_log_path "/var/log/ubinstall.log" -#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[device_label] AUTOINSTALL[locale]",NULL) -#define config_get_local_command "ubconfig --source system --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[device_label] AUTOINSTALL[locale]" -#define config_get_global_command yon_char_new("ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[device_label] AUTOINSTALL[locale]") -#define config_get_default_command "ubconfig --source default --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[device_label] AUTOINSTALL[locale]" +#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]",NULL) +#define config_get_local_command "ubconfig --source system --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]" +#define config_get_global_command yon_char_new("ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]") +#define config_get_default_command "ubconfig --source default --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]" #define config_get_global_only_parameters "" #define config_get_local_only_parameters "" @@ -183,6 +181,65 @@ NULL #define default_langs(size) yon_char_parsed_new(size,"en_US.UTF-8","ru_RU.UTF-8",NULL); +#define install_common_parameters \ + AUTOINSTALL_TYPE_INSTALL,\ + AUTOINSTALL_DEVICE,\ + part_format_parameter,\ + part_label_parameter,\ + part_type_parameter + +#define install_part_parameters \ + AUTOINSTALL_TYPE_INSTALL,\ + AUTOINSTALL_DEVICE,\ + part_format_parameter,\ + part_fs_label_parameter,\ + part_parameter,\ + part_type_parameter,\ + part_fs_label_parameter + +#define install_next_parameters \ + AUTOINSTALL_TYPE_INSTALL,\ + AUTOINSTALL_DEVICE,\ + part_format_parameter,\ + part_fs_label_parameter,\ + part_parameter,\ + part_type_parameter,\ + part_size_parameter + +#define install_advanced_parameters \ + AUTOINSTALL_TYPE_INSTALL,\ + AUTOINSTALL_DEVICE,\ + part_format_parameter,\ + part_label_parameter,\ + part_parameter,\ + part_type_parameter,\ + part_size_parameter + +#define install_grub_install_update_parameters \ + AUTOINSTALL_TYPE_INSTALL,\ + AUTOINSTALL_DEVICE,\ + part_parameter + +#define install_system_only_parameters \ + AUTOINSTALL_TYPE_INSTALL,\ + AUTOINSTALL_DEVICE,\ + part_format_parameter,\ + part_label_parameter,\ + part_parameter,\ + part_type_parameter,\ + part_size_parameter,\ + part_crypt_parameter + +#define install_userdata_only_parameters \ + AUTOINSTALL_TYPE_INSTALL,\ + AUTOINSTALL_DEVICE,\ + part_format_parameter,\ + part_label_parameter,\ + part_parameter,\ + part_type_parameter,\ + part_size_parameter,\ + part_crypt_parameter + typedef char* string; __attribute__((unused)) static \ string version_application; @@ -307,17 +364,19 @@ typedef struct { GtkWidget *LayoutTree; GtkWidget *AddButton; GtkWidget *RemoveButton; + GtkWidget *InstallationRadio; GtkWidget *InstallationNearRadio; GtkWidget *InstallationLinuxRadio; GtkWidget *InstallationWindowsRadio; GtkWidget *InstallationOptionsRadio; + GtkWidget *UserNameEntry; - GtkWidget *LoginEntry; - GtkWidget *PasswordCombo; - GtkWidget *PasswordEntry; - GtkWidget *PasswordButton; - GtkWidget *AutologinCheck; + GtkWidget *UserLoginEntry; + GtkWidget *UserPasswordCombo; + GtkWidget *UserPasswordEntry; + GtkWidget *UserPasswordButton; + GtkWidget *UserAutologinSwitch; GtkWidget *AdminPasswordCombo; GtkWidget *AdminPasswordEntry; GtkWidget *AdminPasswordButton; @@ -338,22 +397,28 @@ typedef struct { GtkWidget *LicenceLabel; GtkWidget *SlidesImage; - GtkWidget *SameInstallationFilesystemTypeCombo; - GtkWidget *SameInstallationFormatCheck; - GtkWidget *SameInstallationSectionNameEntry; - GtkWidget *NextInstallationFilesystemTypeCombo; - GtkWidget *NextInstallationFormatCheck; - GtkWidget *NextInstallationSectionNameEntry; + GtkWidget *CommonInstallationDevicesTree; GtkWidget *CommonInstallationFilesystemTypeCombo; GtkWidget *CommonInstallationSectionNameEntry; + GtkWidget *GpartedCommonButton; - GtkWidget *InstallationNearSysDevicesTree; - GtkWidget *InstallationNearSysSectionTree; - GtkWidget *InstallationNearSizeSpin; - GtkWidget *InstallationNearSizeTypeSpin; + GtkWidget *NextInstallationSysDevicesTree; + GtkWidget *NextInstallationSysSectionTree; + GtkWidget *NextInstallationFormatSwitch; + GtkWidget *NextInstallationFormatRevealer; + GtkWidget *NextInstallationSizeSpin; + GtkWidget *NextInstallationSizeTypeSpin; + GtkWidget *NextInstallationFilesystemTypeCombo; + GtkWidget *NextInstallationSectionNameEntry; + GtkWidget *GpartedNextInstallationButton; GtkWidget *SamePlaceDeviceTree; GtkWidget *SamePlacePartTree; + GtkWidget *SameInstallationFormatSwitch; + GtkWidget *SameInstallationFormatRevealer; + GtkWidget *SameInstallationFilesystemTypeCombo; + GtkWidget *SameInstallationSectionNameEntry; + GtkWidget *GpartedSameButton; GtkWidget *InstallationProgress; GtkWidget *InstallationLabel; @@ -362,9 +427,6 @@ typedef struct { GtkWidget *PackageInstallationLabel; GtkWidget *ReadFullLogButton; - GtkWidget *GpartedCommonButton; - GtkWidget *GpartedNearButton; - GtkWidget *GpartedSameButton; GtkWidget *ConfigurationModeMenuItem; GtkWidget *AboutMenuItem; @@ -372,7 +434,6 @@ typedef struct { GtkCellRenderer *AdditionalSoftwareCell; - GtkWidget *CommonInstallationDevicesTree; GtkWidget *AdditionalSoftwareTree; GtkWidget *GrubInstallRadio; @@ -389,13 +450,6 @@ typedef struct { GtkWidget *GrubUpdateDevicesTree; GtkWidget *GrubUpdatePartitionTree; - GtkWidget *GpartedSeparateButton; - GtkWidget *SeparateDevicesTree; - GtkWidget *SeparateSysSectionTree; - GtkWidget *GpartedSeparateUserButton; - GtkWidget *SeparateUserDevicesTree; - GtkWidget *SeparateUserSysSectionTree; - GtkWidget *GpartedOSButton; GtkWidget *OSDevicesTree; GtkWidget *OSSysSectionTree; @@ -421,17 +475,8 @@ typedef struct { GtkWidget *UsernameSensitiveCheck; GtkWidget *LoginSensitiveCheck; GtkWidget *UserRootOnlyCheck; - GtkWidget *PasswordSensitiveCheck; GtkWidget *AutologinSensitiveCheck; - GtkWidget *RootPasswordSensitiveCheck; GtkWidget *HostnameSensitiveCheck; - GtkWidget *CommonFilesystemSensitiveCheck; - GtkWidget *CommonSectionSensitiveCheck; - GtkWidget *NextSizeSensitiveCheck; - GtkWidget *NextFSTypeSensitiveCheck; - GtkWidget *NextLabelSensitiveCheck; - GtkWidget *SameFSTypeSensitiveCheck; - GtkWidget *SameLabelSensitiveCheck; GtkWidget *KernelsTree; GtkListStore *KernelsList; @@ -539,7 +584,7 @@ typedef struct{ GtkWidget *StatusBox; GtkWidget *UserCancelButton; GtkWidget *UserOkButton; - GtkWidget *PasswordEntry; + GtkWidget *UserPasswordEntry; GtkWidget *RepeatPasswordEntry; GtkWidget *PasswordHashEntry; GtkWidget *HashBox; @@ -653,8 +698,6 @@ void on_page_next_clicked(GtkWidget *, main_window *widgets); void on_page_prev_clicked(GtkWidget *, main_window *widgets); void yon_load_proceed(YON_CONFIG_TYPE type); void _yon_saving_threaded(char *final_command); -void yon_password_combo_set_sensitive(GtkWidget *self, main_window *widgets); -void yon_password_set_sensitive_from_toggle(GtkWidget *self, main_window *widgets); void on_layout_toggle_button_switch(GtkWidget *self, main_window *widgets); enum YON_PAGES yon_page_get_next(main_window *widgets,enum YON_PAGES page); enum YON_PAGES yon_page_get_prev(enum YON_PAGES page); @@ -687,4 +730,5 @@ int yon_advanced_sections_save(dictionary *dict); void yon_configuration_mode_check(main_window *widgets); void on_configuration_mode_switch(GtkWidget *self,main_window *widgets); void *_yon_installation_start(main_window *widgets); -int yon_installation_start(main_window *widgets); \ No newline at end of file +int yon_installation_start(main_window *widgets); +enum INSTALL_TYPE yon_ubl_get_install_mode(); \ No newline at end of file diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index ed605d0..a667648 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -1,5 +1,5 @@ - + @@ -201,6 +201,16 @@ False com.ublinux.libublsettingsui-gtk3.properties-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.edit-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.edit-symbolic + True False @@ -525,7 +535,7 @@ agreement - + True False False @@ -2330,6 +2340,7 @@ and help you install UBLinux on your computer True True in + 128 True @@ -2508,107 +2519,248 @@ and help you install UBLinux on your computer True False vertical - 5 True False + 5 + 5 + 5 + 5 + 5 + 5 + vertical 5 - + True - True - False - True - + False + 5 + + + True + True + + + False + True + end + 0 + + True False - Account name: - 0 + Root only + + False + True + 1 + False True - 0 - - - - - True - False - True - Administrator - - - - True - True - 2 + 1 - - - False - True - 0 - - - - - True - False - 5 - + True - True - False - True - + False + vertical + 5 - + True False - Login: - 0 + + False + True + 0 + + + + + True + False + slide-up + True + + + True + False + vertical + 5 + + + True + False + 5 + + + True + False + True + Administrator + + + + True + True + 1 + + + + + True + False + Account name: + + + False + True + 3 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + False + Login: + 0 + + + False + True + 0 + + + + + True + False + True + superadmin + + + + True + True + 1 + + + + + False + True + 1 + + + + + True + False + 5 + + + True + False + Password: + 0 + + + False + True + 0 + + + + + True + False + True + 0 + + Default + Set a password + + + + + False + True + 1 + + + + + True + False + True + False + + ublinux + password + + + True + True + 2 + + + + + True + True + True + image22 + + + + False + True + 3 + + + + + False + True + 2 + + + + + + + False + True + 1 + False True - 0 - - - - - Root only - True - True - False - True - - - False - True - 1 - - - - - True - False - True - superadmin - - - - True - True 2 @@ -2616,203 +2768,127 @@ and help you install UBLinux on your computer False True - 1 + 2 - - - True - False - 5 - - - True - True - False - True - - - True - False - Password: - 0 - - - - - False - True - 0 - - - - - True - False - True - 0 - - Default - Set a password - - - - - False - True - 2 - - - - - True - False - True - False - - ublinux - password - - - True - True - 3 - - + + + + False + True + 3 + + + + + True + False + 5 + + + True + True False True - 2 + 0 - + True False - 5 - - - True - True - False - True - - - - - - - False - True - 0 - - - - - Automatic login without password prompt - True - False - True - False - True - - - False - True - 1 - - + Automatic login without password prompt False True - 3 + 1 + + + False + True + 4 + + + + + True + False + 5 - + True False - 5 - - - True - True - False - True - - - True - False - Administrator password (root): - 0 - - - - - False - True - 0 - - - - - True - False - True - 0 - - Default - Set a password - - - - - False - True - 2 - - - - - True - False - True - False - - ublinux - password - - - True - True - 3 - - + Administrator password (root): + 0 False True - 4 + 0 - + True + False False + 0 + + Default + Set a password + + False True - 5 + 1 + + + + + True + False + True + False + + ublinux + password + + + True + True + 2 + + + + + True + True + True + image21 + + + + False + True + 3 False True - 2 + 5 @@ -4382,104 +4458,186 @@ or continue working in the UBLinux Live environment. True False - 5 + vertical - + True - True - False - True - + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical + 5 - + True False - Choose file system type for the section: + 5 + + + True + False + True + True + + + False + True + 0 + + + + + True + False + Format + + + False + True + 1 + + + + False + True + 1 + - - - False - True - 0 - - - - - True - False - True - 1 - - ext3 - ext4 - fat16 - fat32 - exfat - riserfs - udf - xfs - zfs - - - - - True - True - 2 - - - - - False - True - 1 - - - - - True - False - 5 - - - True - True - False - True - - + True False - Section name: + vertical + 5 + + + True + False + + + False + True + 0 + + + + + True + False + none + True + + + True + False + vertical + 5 + + + True + False + 5 + + + True + False + Device label: + + + False + True + 3 + + + + + True + True + + + True + True + 4 + + + + + True + False + File system type: + + + False + True + 5 + + + + + True + False + 1 + + ext3 + ext4 + fat16 + fat32 + exfat + riserfs + udf + xfs + zfs + + + + True + True + 6 + + + + + False + True + 0 + + + + + + + False + True + 1 + + + + False + True + 2 + False True - 0 - - - - - True - False - True - - - - True - True 2 + False True - 2 + 3 @@ -4675,7 +4833,7 @@ installed. - + True True True @@ -4707,7 +4865,7 @@ installed. 105 350 - + True True DevicesList @@ -4812,7 +4970,7 @@ installed. 128 350 - + True True PartitionsList @@ -4891,25 +5049,60 @@ installed. 1 + + + False + True + 1 + + + + + True + False + vertical True False + 5 + 5 + 5 + 5 + 5 + 5 + vertical 5 - + True - True - False - True - - + False + 5 True False - Specify the size of the new partition for UBLinux OS: + Partition: + 0 + + + False + True + 0 + + + + + True + False + label + 0 + + False + True + 1 + @@ -4919,37 +5112,194 @@ installed. - + True - False - True - 0,0 - PartitionSize - 1 + False + 5 + + + True + True + + + False + True + 0 + + + + + True + False + Format + + + False + True + 1 + + False True - 2 + 1 - + True - False - True - 1 - - Mb - Gb - Tb - - + False + vertical + 5 + + + True + False + + + False + True + 0 + + + + + True + False + + + True + False + vertical + 5 + + + True + False + 5 + + + True + False + Size: + + + False + True + 0 + + + + + True + True + 16 + PartitionSize + 16 + + + False + True + 1 + + + + + True + False + 1 + + Mb + Gb + Tb + + + + False + True + 2 + + + + + True + False + Partition mark: + + + False + True + 3 + + + + + True + True + + + False + True + 4 + + + + + True + False + File system type: + + + False + True + 5 + + + + + True + False + 1 + + ext3 + ext4 + fat16 + fat32 + exfat + riserfs + udf + xfs + zfs + + + + True + True + 6 + + + + + False + True + 1 + + + + + + + False + True + 1 + + False True - 3 + 2 @@ -4959,130 +5309,14 @@ installed. 2 + False True - 1 - - - - - True - False - 5 - - - True - True - False - True - - - - True - True - Choose file system type for the section: - - - - - False - True - 0 - - - - - True - False - True - 1 - - ext3 - ext4 - fat16 - fat32 - exfat - riserfs - udf - xfs - zfs - - - - - True - True - 2 - - - - - Format - True - False - True - False - True - - - False - True - 3 - - - - - False - True - 2 - - - - - True - False - 5 - - - True - True - False - True - - - - True - False - Section name: - - - - - False - True - 0 - - - - - True - False - True - - - - True - True - 2 - - - - - False - True - 3 + 4 @@ -5497,7 +5731,7 @@ installed. - True + False True 1 @@ -5538,7 +5772,7 @@ installed. - + True False label @@ -5563,7 +5797,7 @@ installed. False 5 - + True True @@ -5610,11 +5844,9 @@ installed. - + True False - none - True True @@ -5641,9 +5873,7 @@ installed. True - False True - True @@ -5666,7 +5896,6 @@ installed. True - False False 1 @@ -5680,7 +5909,6 @@ installed. xfs zfs - True @@ -8696,7 +8924,7 @@ separately into the selected partition. - + True True True @@ -9080,7 +9308,7 @@ separately into the selected partition. True False - Partition mark: + Partition label: False