Test parameters loading; Advanced installation parameters loading WIP

pull/94/head
parent ae97363e5b
commit 03ad034752
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -47,7 +47,6 @@ int yon_kernel_addon_save(main_window *widgets){
}
int yon_os_components_save(main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->OSSoftwareList);
int size = 0;
@ -69,6 +68,47 @@ int yon_os_components_save(main_window *widgets){
return 1;
}
void yon_os_components_init(main_window *widgets){
GtkTreeIter iter;
if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter)){
int base_size;
config_str base = yon_file_ls(system_base_modules_path,&base_size);
for (int i=0;i<base_size;i++){
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,base[i]);
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,base[i]);
yon_char_remove_last_symbol(base[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,base[i],2,version,3,description,-1);
}
int modules_size;
config_str modules = yon_file_ls(system_modules_path,&modules_size);
for (int i=0;i<modules_size;i++){
yon_char_remove_last_symbol(modules[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,base[i]);
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,base[i]);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,modules[i],2,version,3,description,-1);
}
}
char *modules = config(modules_parameter);
if (!yon_char_is_empty(modules)){
int parsed_size;
config_str parsed = yon_char_parse(modules,&parsed_size,",");
GtkTreeIter iter;
for_iter (GTK_TREE_MODEL(widgets->OSSoftwareList),&iter){
char *target;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter,1,&target,-1);
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_list_store_set(widgets->OSSoftwareList,0,1,-1);
} else {
gtk_list_store_set(widgets->OSSoftwareList,0,0,-1);
}
}
yon_char_parsed_free(parsed,parsed_size);
}
}
int yon_software_save(main_window *widgets){
GtkTreeIter iter;
@ -93,6 +133,40 @@ int yon_software_save(main_window *widgets){
return 1;
}
void yon_software_init(main_window *widgets){
GtkTreeIter iter;
if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->AdditionalSoftwareList),&iter)){
int size;
config_str parsed = NULL;
parsed = yon_resource_open_file(additional_software_path,&size);
for (int i=1;i<size;i++){
int module_size;
config_str module_parsed = yon_char_parse(parsed[i],&module_size,"|");
if (module_size){
gtk_list_store_append(widgets->AdditionalSoftwareList,&iter);
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,1,module_parsed[0],2,module_parsed[1],3,module_parsed[2],-1); //2,module_parsed[2]
yon_char_parsed_free(module_parsed,module_size);
}
}
if (size) yon_char_parsed_free(parsed,size);
}
char *modules = config(modules_extra_parameter);
int size;
config_str parsed = yon_char_parse(modules,&size,",");
for_iter(GTK_TREE_MODEL(widgets->AdditionalSoftwareList),&iter){
char *target;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->AdditionalSoftwareList),&iter,1,&target);
if (yon_char_parsed_check_exist(parsed,size,target)>-1){
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,-1);
} else {
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,0,-1);
}
}
yon_char_parsed_free(parsed,size);
}
int yon_pacman_software_save(main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
@ -106,10 +180,24 @@ int yon_pacman_software_save(main_window *widgets){
char *final = yon_char_parsed_to_string(parameters,size,",");
yon_char_parsed_free(parameters,size);
if (!yon_char_is_empty(final)){
char *parameter = config(modules_extra_parameter);
char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?",":"",final,NULL);
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
free(parameter_new);
yon_config_register(packages_parameter,packages_parameter_command,final);
} else {
yon_config_remove_by_key(packages_parameter);
}
return 1;
}
void yon_pacman_init(main_window *widgets){
char *pacman_packages = config(packages_parameter);
int size;
config_str parsed = yon_char_parse(pacman_packages,&size,",");
for (int i=0;i<size;i++){
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]);
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,parsed[i]);
GtkTreeIter iter;
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,description,-1);
}
yon_char_parsed_free(parsed,size);
}

@ -24,9 +24,9 @@ int yon_install_common_save(main_window *widgets){
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);
yon_config_register(part_fs_type_parameter,part_fs_type_parameter_command,file_system_type);
} else {
yon_config_remove_by_key(part_type_parameter);
yon_config_remove_by_key(part_fs_type_parameter);
}
return 1;
}
@ -67,18 +67,18 @@ int yon_install_separate_save(main_window *widgets){
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);
yon_config_register(part_fs_type_parameter,part_fs_type_parameter_command,file_system_type);
} else {
yon_config_remove_by_key(part_type_parameter);
yon_config_remove_by_key(part_fs_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_type_parameter);
yon_config_remove_by_key(part_fs_type_parameter);
yon_config_remove_by_key(part_format_parameter);
yon_config_remove_by_key(part_type_parameter);
yon_config_remove_by_key(part_fs_type_parameter);
yon_config_remove_by_key(part_format_parameter);
}
@ -123,16 +123,16 @@ int yon_install_same_partition_save(main_window *widgets){
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_register(part_fs_type_parameter,part_fs_type_parameter_command,file_system_type);
} else {
yon_config_remove_by_key(part_type_parameter);
yon_config_remove_by_key(part_fs_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);
yon_config_remove_by_key(part_fs_type_parameter);
}
return 1;
}
@ -174,7 +174,7 @@ int yon_advanced_sections_save(dictionary *dict){
char *fs_type_first = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(first_section->FileSystemTypeCombo));
char *fs_type_last = last_section&&!strcmp(format_last,"yes")?(char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(last_section->FileSystemTypeCombo)):NULL;
char *fs_type = yon_char_unite(fs_type_first,fs_type_last?",":NULL,fs_type_last,NULL);
yon_config_register(part_type_parameter,part_type_parameter_command,fs_type);
yon_config_register(part_fs_type_parameter,part_fs_type_parameter_command,fs_type);
char *part_crypt_first = gtk_combo_box_get_active(GTK_COMBO_BOX(first_section->EncryptionCombo))?(char*)gtk_entry_get_text(GTK_ENTRY(first_section->EncryptionEntry)):NULL;
char *part_crypt_last = last_section&&!strcmp(format_last,"yes")&&gtk_combo_box_get_active(GTK_COMBO_BOX(last_section->EncryptionCombo))?(char*)gtk_entry_get_text(GTK_ENTRY(first_section->EncryptionEntry)):NULL;
@ -245,6 +245,11 @@ int yon_install_advanced_save(main_window *widgets){
return 1;
}
void yon_install_advanced_init(main_window *){
// char *boot = config(boot_parameter);
// char *swap = config(swap_parameter);
}
void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_button, GtkComboBox *spin_combo){
GtkTreeModel *model;
GtkTreeIter iter;
@ -330,3 +335,220 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets){
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)),0.0);
}
}
void yon_devices_setup(main_window *widgets){
GtkTreeIter iter;
if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->DevicesList),&iter)) return;
int size;
config_str parsed = NULL;
parsed = yon_config_load(yon_debug_output("%s\n",get_devices_command),&size);
char *string = yon_char_parsed_to_string(parsed,size,"");
struct json_object *root;
struct json_object *blockdevices;
root = json_tokener_parse(string);
free(string);
json_object_object_get_ex(root, "blockdevices", &blockdevices);
for (long unsigned int i = 0; i < json_object_array_length(blockdevices); i++) {
struct json_object *device = json_object_array_get_idx(blockdevices, i);
struct json_object *path, *size, *model, *vendor, *serial;
json_object_object_get_ex(device, "path", &path);
json_object_object_get_ex(device, "size", &size);
json_object_object_get_ex(device, "model", &model);
json_object_object_get_ex(device, "vendor", &vendor);
json_object_object_get_ex(device, "serial", &serial);
gtk_list_store_append(widgets->DevicesList,&iter);
gtk_list_store_set(widgets->DevicesList,&iter,0,json_object_get_string(path),1,json_object_get_string(model),2,json_object_get_string(serial),3,json_object_get_string(size),4,json_object_get_string(vendor),-1);
}
yon_char_parsed_free(parsed,size);
}
void yon_install_init(main_window *widgets, enum YON_PAGES page){
yon_devices_setup(widgets);
GtkWidget *device_tree = NULL;
GtkWidget *partition_tree = NULL;
GtkWidget *format_switch = NULL;
GtkWidget *device_label = NULL;
GtkWidget *fs_type_combo = NULL;
GtkWidget *partition_size_spin = NULL;
GtkWidget *partition_size_combo = NULL;
GtkWidget *partition_mark_entry = NULL;
GtkWidget *partition_fs_mark_entry = NULL;
GtkWidget *partition_encryption_combo = NULL;
GtkWidget *partition_encryption_entry = NULL;
switch(page){
case YON_PAGE_INSTALL_COMMON:
device_tree = widgets->CommonInstallationDevicesTree;
device_label = widgets->CommonInstallationSectionNameEntry;
format_switch = widgets->CommonFormatSwitch;
fs_type_combo = widgets->CommonInstallationFilesystemTypeCombo;
break;
case YON_PAGE_INSTALL_SAME_PARTITION:
device_tree = widgets->NextInstallationSysDevicesTree;
partition_tree = widgets->NextInstallationSysSectionTree;
format_switch = widgets->NextInstallationFormatSwitch;
partition_size_spin = widgets->NextInstallationSizeSpin;
partition_size_combo = widgets->NextInstallationSizeTypeSpin;
partition_mark_entry = widgets->NextInstallationSectionNameEntry;
fs_type_combo = widgets->NextInstallationFilesystemTypeCombo;
break;
case YON_PAGE_INSTALL_SEPARATE:
device_tree = widgets->SamePlaceDeviceTree;
partition_tree = widgets->SamePlacePartTree;
format_switch = widgets->SameInstallationFormatSwitch;
partition_mark_entry = widgets->SameInstallationSectionNameEntry;
fs_type_combo = widgets->SameInstallationFilesystemTypeCombo;
break;
case YON_PAGE_INSTALL_ADVANCED:
yon_install_advanced_init(widgets);
return;
break;
case YON_PAGE_RECOVERY_GRUB_INSTALL:
device_tree = widgets->GrubInstallDevicesTree;
partition_tree = widgets->GrubInstallPartitionTree;
break;
case YON_PAGE_RECOVERY_GRUB_UPDATE:
device_tree = widgets->GrubUpdateDevicesTree;
partition_tree = widgets->GrubUpdatePartitionTree;
break;
case YON_PAGE_RECOVERY_OS_ONLY:
device_tree = widgets->OSDevicesTree;
partition_tree = widgets->OSSysSectionTree;
format_switch = widgets->OSFormatSwitch;
partition_size_spin = widgets->OSFormatSizeSpin;
partition_size_combo = widgets->OSFormatSizeCombo;
partition_mark_entry = widgets->OSFormatPartitionEntry;
fs_type_combo = widgets->OSFilesystemTypeCombo;
partition_fs_mark_entry = widgets->OSFormatFSMarkEntry;
partition_encryption_combo = widgets->OSFormatEncryptionCombo;
partition_encryption_entry = widgets->OSFormatEncryptionEntry;
break;
case YON_PAGE_RECOVERY_USRDATA_ONLY:
device_tree = widgets->UserdataDevicesTree;
partition_tree = widgets->UserdataSysSectionTree;
format_switch = widgets->OSFormatSwitch;
partition_size_spin = widgets->UserdataFormatSwitch;
partition_size_combo = widgets->UserdataFormatSizeCombo;
partition_mark_entry = widgets->UserdataFormatPartitionEntry;
fs_type_combo = widgets->UserdataFilesystemTypeCombo;
partition_fs_mark_entry = widgets->UserdataFormatFSMarkEntry;
partition_encryption_combo = widgets->UserdataFormatEncryptionCombo;
partition_encryption_entry = widgets->UserdataFormatEncryptionEntry;
break;
default:return;
}
char *device = config(AUTOINSTALL_DEVICE);
char *part = config(part_parameter);
if (!yon_char_is_empty(device)){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->DevicesList);
for_iter(model,&iter){
char *target;
gtk_tree_model_get(model,&iter,0,&target,-1);
if (!yon_char_is_empty(target)&&!strcmp(target,device)){
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(device_tree)),&iter);
break;
}
}
if (partition_tree&&!yon_char_is_empty(part)){
model = GTK_TREE_MODEL(widgets->PartitionsList);
for_iter(model,&iter){
char *target;
gtk_tree_model_get(model,&iter,0,&target,-1);
if (!yon_char_is_empty(target)&&!strcmp(target,device)){
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(partition_tree)),&iter);
break;
}
}
}
}
if (format_switch){
char *format = config(part_format_parameter);
if (!strcmp(format,"yes")){
gtk_switch_set_active(GTK_SWITCH(format_switch),1);
if (device_label){
char *parameter = config(part_label_parameter);
if (!yon_char_is_empty(parameter)){
gtk_entry_set_text(GTK_ENTRY(device_label),parameter);
} else {
gtk_entry_set_text(GTK_ENTRY(device_label),"");
}
}
if (fs_type_combo){
char *parameter = config(part_fs_type_parameter);
if (!yon_char_is_empty(parameter)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(fs_type_combo),parameter);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(fs_type_combo),0);
}
}
if (partition_size_spin&&partition_size_combo){
char *parameter = config(part_size_parameter);
if (!yon_char_is_empty(parameter)){
gtk_spin_button_set_value(GTK_SPIN_BUTTON(partition_size_spin),atol(parameter));
gtk_combo_box_set_active(GTK_COMBO_BOX(partition_size_combo),yon_get_size_get_from_letter(parameter[strlen(parameter)-1]));
} else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(partition_size_spin),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(partition_size_combo),0);
}
}
if (partition_mark_entry){
char *parameter = config(part_fs_label_parameter);
if (!yon_char_is_empty(parameter)){
gtk_entry_set_text(GTK_ENTRY(partition_mark_entry),parameter);
} else {
gtk_entry_set_text(GTK_ENTRY(partition_mark_entry),"");
}
}
if (partition_fs_mark_entry){
char *parameter = config(part_fs_label_parameter);
if (!yon_char_is_empty(parameter)){
gtk_entry_set_text(GTK_ENTRY(partition_fs_mark_entry),parameter);
} else {
gtk_entry_set_text(GTK_ENTRY(partition_fs_mark_entry),"");
}
}
if (partition_encryption_combo && partition_encryption_entry){
char *parameter = config(part_crypt_parameter);
if (!yon_char_is_empty(parameter)&&!strstr(parameter,",")){
char *password = yon_char_new(parameter);
char *crypt = yon_char_divide_search(password,":",-1);
gtk_combo_box_set_active_id(GTK_COMBO_BOX(partition_encryption_combo),crypt);
gtk_entry_set_text(GTK_ENTRY(partition_encryption_entry),password);
free(password);
free(crypt);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(partition_encryption_combo),0);
gtk_entry_set_text(GTK_ENTRY(partition_encryption_entry),"");
}
}
} else {
gtk_switch_set_active(GTK_SWITCH(format_switch),0);
}
}
}
void on_install_advanced_add_new(GtkWidget *, main_window *){
}
void on_install_advanced_device_chosen(GtkCellRenderer, gchar *, main_window *){
}
void on_install_advanced_partition_chosen(GtkCellRenderer, gchar *, main_window *){
}

@ -191,6 +191,15 @@ void yon_kernel_setup(main_window *widgets){
}
g_list_free(list);
char *modules = config(modules_extra_parameter);
char *enabled = config(KERNEL_BOOT_parameter);
int parsed_size;
config_str modules_parsed = NULL;
if (!yon_char_is_empty(modules)){
modules_parsed = yon_char_parse(modules,&parsed_size,",");
}
int size;
config_str kernels = yon_resource_open_file(kernel_list_path,&size);
gtk_size_group_add_widget(widgets->KernelSizeGroup,widgets->KernelTagsLabel);
@ -212,6 +221,15 @@ void yon_kernel_setup(main_window *widgets){
yon_kernel_row_setup(row,name,modules,package,tags,description);
yon_char_parsed_free(parsed,parsed_size);
if (yon_char_parsed_check_exist(modules_parsed,parsed_size,name)>-1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
if (!yon_char_is_empty(enabled)&&!strcmp(name,enabled)){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->EnableRadio),1);
}
}
yon_kernel_resize(widgets);
@ -234,6 +252,14 @@ void yon_kernel_addon_setup(main_window *widgets){
}
g_list_free(list);
char *modules = config(modules_extra_parameter);
int parsed_size;
config_str modules_parsed = NULL;
if (!yon_char_is_empty(modules)){
modules_parsed = yon_char_parse(modules,&parsed_size,",");
}
int size;
config_str kernels = yon_resource_open_file(kernel_list_addon_path,&size);
@ -256,6 +282,12 @@ void yon_kernel_addon_setup(main_window *widgets){
yon_kernel_row_setup(row,name,modules,package,tags,description);
yon_char_parsed_free(parsed,parsed_size);
if (yon_char_parsed_check_exist(modules_parsed,parsed_size,name)>-1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
}
yon_kernel_addon_resize(widgets);

@ -244,4 +244,49 @@ void on_keyboard_clicked (GtkWidget *, main_window *widgets){
g_signal_connect(G_OBJECT(window->ActiveToggle),"toggled",G_CALLBACK(on_layout_toggle),window);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_keyboard_accept),widgets);
gtk_widget_show(window->MainWindow);
}
void yon_keyboard_init(main_window *widgets){
int size;
config_str parsed = NULL;
GtkTreeIter iter;
parsed = yon_config_load(yon_debug_output("%s\n",get_layouts_command),&size);
GtkTreeIter itar;
for (int i=0;i<size;i++){
yon_char_remove_last_symbol(parsed[i],'\n');
int layout_size;
config_str layout = yon_char_parse(parsed[i],&layout_size,"|");
if (layout_size){
char *layout_id = yon_char_new(layout[0]);
gtk_tree_store_append(widgets->LayoutList,&iter,NULL);
gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1);
yon_char_parsed_free(layout,layout_size);
char *command = get_layouts_local_command(layout_id);
config_str layout_local = yon_config_load(yon_debug_output("%s\n",command),&layout_size);
free(command);
free(layout_id);
for (int j=0;j<layout_size;j++){
yon_char_remove_last_symbol(layout_local[j],'\n');
int parsed_size;
config_str layouts_parsed = yon_char_parse(layout_local[j],&parsed_size,"|");
if (parsed_size){
gtk_tree_store_append(widgets->LayoutList,&itar,&iter);
gtk_tree_store_set(widgets->LayoutList,&itar,0,layouts_parsed[0],1,_(layouts_parsed[1]),2,1,3,0,-1);
yon_char_parsed_free(layouts_parsed,parsed_size);
}
}
if (layout_size==-1) {
gtk_tree_store_set(widgets->LayoutList,&iter,2,1,-1);
}
yon_char_parsed_free(layout_local,layout_size);
}
}
yon_char_parsed_free(parsed,size);
config_str models = yon_config_load(yon_debug_output("%s\n",get_models_command),&size);
for (int i=0;i<size;i+=2){
models[i] = yon_char_divide_search(models[i],"\n",-1);
models[i+1] = yon_char_divide_search(models[i+1],"\n",-1);
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),models[i],_(models[i+1]));
}
if (size) yon_char_parsed_free(models,size);
}

@ -293,14 +293,32 @@ enum YON_PAGES yon_recovery_get_next(main_window *widgets){
void yon_page_init(main_window *widgets, enum YON_PAGES page){
switch(page){
case YON_PAGE_OS_COMPONENTS:
yon_os_components_init(widgets);
break;
case YON_PAGE_KERNEL:
yon_kernel_setup(widgets);
break;
case YON_PAGE_KERNEL_ADDON:
yon_kernel_addon_setup(widgets);
break;
case YON_PAGE_SOFTWARE:
yon_software_init(widgets);
break;
case YON_PAGE_PACMAN_SOFTWARE:
yon_pacman_init(widgets);
break;
case YON_PAGE_REGION:
yon_region_init(widgets);
break;
case YON_PAGE_KEYBOARD:
yon_keyboard_init(widgets);
break;
case YON_PAGE_USERS:
yon_user_init(widgets);
break;
case YON_PAGE_STARTUP:
yon_startup_services_setup(widgets);
break;
case YON_PAGE_BOOTLOADER:
yon_bootloader_init(widgets);
break;
@ -316,6 +334,7 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_RECOVERY_OS_ONLY:
case YON_PAGE_RECOVERY_USRDATA_ONLY:
case YON_PAGE_INSTALLATION_BEGIN:
yon_install_init(widgets,page);
break;
default: break;
}

@ -63,3 +63,43 @@ void on_region_changed(GtkComboBox *self, main_window *widgets){
}
free(active);
}
void yon_region_init(main_window *widgets){
int size;
config_str parsed = NULL;
int langsize;
config_str lang = default_langs(&langsize);
GtkTreeIter iter;
gtk_list_store_clear(widgets->LanguagesList);
parsed = yon_file_open(languages_path,&size);
for (int i=0;i<size;i++){
int cur_size;
yon_char_remove_last_symbol(parsed[i],'\n')
config_str cur = yon_char_parse(parsed[i],&cur_size,";");
if (cur_size){
gtk_list_store_append(widgets->LanguagesList,&iter);
gtk_list_store_set(widgets->LanguagesList,&iter,0,0,1,_(cur[1]),2,cur[0],-1);
}
yon_char_parsed_free(cur,cur_size);
}
yon_char_parsed_free(parsed,size);
if (lang)
yon_char_parsed_free(lang,langsize);
parsed = yon_dir_get_contents(zone_path,&size);
for (int i=0;i<size;i++){
if (!strstr(parsed[i],".")&&strcmp(parsed[i],"posix")&&strcmp(parsed[i],"right")){
char *path = yon_char_append(zone_path,parsed[i]);
if (yon_file_is_directory(path)){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->RegionCombo),parsed[i],_(parsed[i]));
}
free(path);
}
}
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0);
yon_char_parsed_free(parsed,size);
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0);
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
}

@ -172,7 +172,7 @@
// char *part = NULL;
// if (page!=YON_PAGE_INSTALL_COMMON)
// part = config(part_parameter);
// char *fs_type = config(part_type_parameter);
// char *fs_type = config(part_fs_type_parameter);
// char *device_label = config(device_label_parameter);
// char *format = config(part_format_parameter);
// char *part_size = config(part_size_parameter);

@ -101,4 +101,57 @@ yon_user_struct *yon_user_struct_new(){
g_signal_connect(G_OBJECT(user->PasswordButton),"clicked",G_CALLBACK(yon_password_new),user);
g_signal_connect(G_OBJECT(user->RemoveButton),"clicked",G_CALLBACK(on_user_remove_clicked),user);
return user;
}
void yon_user_init(main_window *widgets){
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserRootPasswordEntry));
char *root_password = config(root_password_parameter);
char *autologin = config(autologin_parameter);
if (!yon_char_is_empty(root_password)){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),1);
gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),root_password);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),0);
gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),"");
}
if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"yes")||!strcmp(autologin,"enable"))){
gtk_switch_set_active(GTK_SWITCH(widgets->UserAutologinSwitch),1);
} else {
gtk_switch_set_active(GTK_SWITCH(widgets->UserAutologinSwitch),0);
}
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->UserAddBox));
GList *iter;
for (iter = list; iter; iter = iter->next){
yon_user_struct *user = g_object_get_data(G_OBJECT(iter->data),"yon_user_struct");
gtk_widget_destroy(user->MainBox);
free(user);
}
int users_size;
config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&users_size);
if (!users_size){
yon_user_struct *user = yon_user_struct_new();
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),ADMINISTRATOR_LABEL);
gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),"superadmin");
}
for (int i=0;i<users_size;i++){
yon_user_struct *user = yon_user_struct_new();
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
int parsed_size;
char *parameter = yon_char_new(users[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1);
char *key = yon_config_parameter_get_key(parameter_name);
config_str parsed = yon_char_parse(parameter,&parsed_size,":");
gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),key);
if (parsed_size>0)
gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),parsed[0]);
if (parsed_size>5){
gtk_entry_set_text(GTK_ENTRY(user->PasswordEntry),parsed[5]);
gtk_combo_box_set_active(GTK_COMBO_BOX(user->PasswordCombo),1);
}
gtk_widget_show(user->MainBox);
}
}

@ -348,6 +348,7 @@ main_window *yon_main_window_complete(){
widgets->CommonInstallationDevicesTree = yon_gtk_builder_get_widget(builder,"CommonInstallationDevicesTree");
widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo");
widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry");
widgets->CommonFormatSwitch = yon_gtk_builder_get_widget(builder,"CommonFormatSwitch");
widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton");
widgets->SamePlaceDeviceTree = yon_gtk_builder_get_widget(builder,"SamePlaceDeviceTree");
@ -368,6 +369,8 @@ main_window *yon_main_window_complete(){
widgets->NextInstallationSysSectionTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysSectionTree");
widgets->GpartedNextInstallationButton = yon_gtk_builder_get_widget(builder,"GpartedNextInstallationButton");
widgets->AdvancedDevicesCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedDevicesCell"));
widgets->AdvancedPartitionsCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedPartitionsCell"));
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");
@ -393,10 +396,26 @@ main_window *yon_main_window_complete(){
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->OSFormatSwitch = yon_gtk_builder_get_widget(builder,"OSFormatSwitch");
widgets->OSFormatSizeSpin = yon_gtk_builder_get_widget(builder,"OSFormatSizeSpin");
widgets->OSFormatSizeCombo = yon_gtk_builder_get_widget(builder,"OSFormatSizeCombo");
widgets->OSFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"OSFormatPartitionEntry");
widgets->OSFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"OSFilesystemTypeCombo");
widgets->OSFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"OSFormatFSMarkEntry");
widgets->OSFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionCombo");
widgets->OSFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionEntry");
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->UserdataFormatSwitch = yon_gtk_builder_get_widget(builder,"UserdataFormatSwitch");
widgets->UserdataFormatSizeSpin = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeSpin");
widgets->UserdataFormatSizeCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeCombo");
widgets->UserdataFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatPartitionEntry");
widgets->UserdataFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"UserdataFilesystemTypeCombo");
widgets->UserdataFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatFSMarkEntry");
widgets->UserdataFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionCombo");
widgets->UserdataFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionEntry");
widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter"));
widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter"));
@ -539,7 +558,6 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->GpartedSameButton),"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);
@ -612,15 +630,12 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->NetworkConnectionsAddButton),"clicked",G_CALLBACK(on_connection_add),widgets);
g_signal_connect(G_OBJECT(widgets->NetworkNTPCombo),"changed",G_CALLBACK(on_ntp_sync),widgets);
{
yon_user_struct *user = yon_user_struct_new();
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),ADMINISTRATOR_LABEL);
gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),"superadmin");
}
g_signal_connect(G_OBJECT(widgets->AdvancedAddButton),"clicked",G_CALLBACK(on_install_advanced_add_new),widgets);
g_signal_connect(G_OBJECT(widgets->AdvancedDevicesCell),"toggled",G_CALLBACK(on_install_advanced_device_chosen),widgets);
g_signal_connect(G_OBJECT(widgets->AdvancedPartitionsCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets);
{
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserRootPasswordEntry));
if (main_config.lock_load_global == 1){
gtk_widget_set_sensitive(widgets->LoadGlobalConfigurationMenuItem,0);
@ -637,12 +652,11 @@ main_window *yon_main_window_complete(){
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets->ConfigurationModeMenuItem),1);
}
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0);
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
gtk_window_set_title(GTK_WINDOW(widgets->MainWindow),TITLE_LABEL);
gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path);
}
{
int size;
config_str parsed = NULL;
parsed = yon_file_open(licence_path,&size);
@ -652,7 +666,9 @@ main_window *yon_main_window_complete(){
free(licence);
yon_char_parsed_free(parsed,size);
}
}
{
int size;
config_str slides = yon_char_parsed_new(&size,slide_repeat_path);
widgets->regions_original = gdk_pixbuf_new_from_resource(regions_path,NULL);
widgets->keyboard_original = gdk_pixbuf_new_from_resource(keyboard_path,NULL);
@ -675,142 +691,10 @@ main_window *yon_main_window_complete(){
pix = gdk_pixbuf_scale_simple((GdkPixbuf*)g_list_nth_data(widgets->slides_original,0),600,400,GDK_INTERP_BILINEAR);
gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),pix);
g_object_unref(pix);
int langsize;
config_str lang = default_langs(&langsize);
GtkTreeIter iter;
gtk_list_store_clear(widgets->LanguagesList);
parsed = yon_file_open(languages_path,&size);
for (int i=0;i<size;i++){
int cur_size;
yon_char_remove_last_symbol(parsed[i],'\n')
config_str cur = yon_char_parse(parsed[i],&cur_size,";");
if (cur_size){
gtk_list_store_append(widgets->LanguagesList,&iter);
gtk_list_store_set(widgets->LanguagesList,&iter,0,0,1,_(cur[1]),2,cur[0],-1);
}
yon_char_parsed_free(cur,cur_size);
}
yon_char_parsed_free(parsed,size);
if (lang)
yon_char_parsed_free(lang,langsize);
parsed = yon_dir_get_contents(zone_path,&size);
for (int i=0;i<size;i++){
if (!strstr(parsed[i],".")&&strcmp(parsed[i],"posix")&&strcmp(parsed[i],"right")){
char *path = yon_char_append(zone_path,parsed[i]);
if (yon_file_is_directory(path)){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->RegionCombo),parsed[i],_(parsed[i]));
}
free(path);
}
}
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0);
yon_char_parsed_free(parsed,size);
parsed = yon_config_load(yon_debug_output("%s\n",get_layouts_command),&size);
GtkTreeIter itar;
for (int i=0;i<size;i++){
yon_char_remove_last_symbol(parsed[i],'\n');
int layout_size;
config_str layout = yon_char_parse(parsed[i],&layout_size,"|");
if (layout_size){
char *layout_id = yon_char_new(layout[0]);
gtk_tree_store_append(widgets->LayoutList,&iter,NULL);
gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1);
yon_char_parsed_free(layout,layout_size);
char *command = get_layouts_local_command(layout_id);
config_str layout_local = yon_config_load(yon_debug_output("%s\n",command),&layout_size);
free(command);
free(layout_id);
for (int j=0;j<layout_size;j++){
yon_char_remove_last_symbol(layout_local[j],'\n');
int parsed_size;
config_str layouts_parsed = yon_char_parse(layout_local[j],&parsed_size,"|");
if (parsed_size){
gtk_tree_store_append(widgets->LayoutList,&itar,&iter);
gtk_tree_store_set(widgets->LayoutList,&itar,0,layouts_parsed[0],1,_(layouts_parsed[1]),2,1,3,0,-1);
yon_char_parsed_free(layouts_parsed,parsed_size);
}
}
if (layout_size==-1) {
gtk_tree_store_set(widgets->LayoutList,&iter,2,1,-1);
}
yon_char_parsed_free(layout_local,layout_size);
}
}
yon_char_parsed_free(parsed,size);
{
parsed = yon_config_load(yon_debug_output("%s\n",get_devices_command),&size);
char *string = yon_char_parsed_to_string(parsed,size,"");
struct json_object *root;
struct json_object *blockdevices;
root = json_tokener_parse(string);
free(string);
json_object_object_get_ex(root, "blockdevices", &blockdevices);
for (long unsigned int i = 0; i < json_object_array_length(blockdevices); i++) {
struct json_object *device = json_object_array_get_idx(blockdevices, i);
struct json_object *path, *size, *model, *vendor, *serial;
json_object_object_get_ex(device, "path", &path);
json_object_object_get_ex(device, "size", &size);
json_object_object_get_ex(device, "model", &model);
json_object_object_get_ex(device, "vendor", &vendor);
json_object_object_get_ex(device, "serial", &serial);
gtk_list_store_append(widgets->DevicesList,&iter);
gtk_list_store_set(widgets->DevicesList,&iter,0,json_object_get_string(path),1,json_object_get_string(model),2,json_object_get_string(serial),3,json_object_get_string(size),4,json_object_get_string(vendor),-1);
}
yon_char_parsed_free(parsed,size);
}
{
int base_size;
config_str base = yon_file_ls(system_base_modules_path,&base_size);
for (int i=0;i<base_size;i++){
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,base[i]);
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,base[i]);
yon_char_remove_last_symbol(base[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,base[i],2,version,3,description,-1);
}
int modules_size;
config_str modules = yon_file_ls(system_modules_path,&modules_size);
for (int i=0;i<modules_size;i++){
yon_char_remove_last_symbol(modules[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,base[i]);
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,base[i]);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,modules[i],2,version,3,description,-1);
}
}
parsed = yon_resource_open_file(additional_software_path,&size);
for (int i=1;i<size;i++){
int module_size;
config_str module_parsed = yon_char_parse(parsed[i],&module_size,"|");
if (module_size){
gtk_list_store_append(widgets->AdditionalSoftwareList,&iter);
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,1,module_parsed[0],2,module_parsed[1],3,module_parsed[2],-1); //2,module_parsed[2]
yon_char_parsed_free(module_parsed,module_size);
}
}
if (size) yon_char_parsed_free(parsed,size);
config_str models = yon_config_load(yon_debug_output("%s\n",get_models_command),&size);
for (int i=0;i<size;i+=2){
models[i] = yon_char_divide_search(models[i],"\n",-1);
models[i+1] = yon_char_divide_search(models[i+1],"\n",-1);
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),models[i],_(models[i+1]));
}
if (size) yon_char_parsed_free(models,size);
gtk_builder_connect_signals(builder,NULL);
// yon_load_proceed(YON_CONFIG_DEFAULT);
// yon_interface_update(widgets);
yon_kernel_setup(widgets);
yon_kernel_addon_setup(widgets);
yon_startup_services_setup(widgets);
}
gtk_builder_connect_signals(builder,NULL);
// yon_load_proceed(YON_CONFIG_DEFAULT);
// yon_interface_update(widgets);
return widgets;
}

@ -113,6 +113,7 @@ NULL
#define modules_extra_parameter "AUTOINSTALL[modules_extra]"
#define modules_extra_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[modules_extra]"
/*------------------------------------------------------------*/
#define user_name_parameter "AUTOINSTALL[user_name]"
#define user_name_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[user_name]"
#define user_gecos_parameter "AUTOINSTALL[user_gecos]"
@ -139,10 +140,12 @@ 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 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_fs_type_parameter "AUTOINSTALL[part_fs_type]"
#define part_fs_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]"
@ -168,6 +171,7 @@ NULL
#define DOMAIN_admanger_parameter "AOUTINSTALL['ubconfig set [network] DOMAIN[admanger]']"
#define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN[admanger]']"
#define USERADD_parameter_all "AUTOINSTALL['ubconfig set [users] USERADD[*]']"
#define USERADD_parameter_search "AUTOINSTALL['ubconfig set [users] USERADD["
#define USERADD_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL)
#define USERADD_parameter_command(target) yon_char_unite("ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL)
#define KERNEL_BOOT_parameter "AUTOINSTALL['ubconfig set [boot] KERNEL_BOOT']"
@ -233,7 +237,7 @@ NULL
AUTOINSTALL_DEVICE,\
part_format_parameter,\
part_label_parameter,\
part_type_parameter
part_fs_type_parameter
#define install_part_parameters \
AUTOINSTALL_TYPE_INSTALL,\
@ -241,7 +245,7 @@ NULL
part_format_parameter,\
part_fs_label_parameter,\
part_parameter,\
part_type_parameter,\
part_fs_type_parameter,\
part_fs_label_parameter
#define install_next_parameters \
@ -250,7 +254,7 @@ NULL
part_format_parameter,\
part_fs_label_parameter,\
part_parameter,\
part_type_parameter,\
part_fs_type_parameter,\
part_size_parameter
#define install_advanced_parameters \
@ -259,7 +263,7 @@ NULL
part_format_parameter,\
part_label_parameter,\
part_parameter,\
part_type_parameter,\
part_fs_type_parameter,\
part_size_parameter
#define install_grub_install_update_parameters \
@ -273,7 +277,7 @@ NULL
part_format_parameter,\
part_label_parameter,\
part_parameter,\
part_type_parameter,\
part_fs_type_parameter,\
part_size_parameter,\
part_crypt_parameter
@ -283,7 +287,7 @@ NULL
part_format_parameter,\
part_label_parameter,\
part_parameter,\
part_type_parameter,\
part_fs_type_parameter,\
part_size_parameter,\
part_crypt_parameter
@ -455,6 +459,7 @@ typedef struct {
GtkWidget *CommonInstallationDevicesTree;
GtkWidget *CommonInstallationFilesystemTypeCombo;
GtkWidget *CommonInstallationSectionNameEntry;
GtkWidget *CommonFormatSwitch;
GtkWidget *GpartedCommonButton;
GtkWidget *NextInstallationSysDevicesTree;
@ -508,10 +513,26 @@ typedef struct {
GtkWidget *GpartedOSButton;
GtkWidget *OSDevicesTree;
GtkWidget *OSSysSectionTree;
GtkWidget *OSFormatSwitch;
GtkWidget *OSFormatSizeSpin;
GtkWidget *OSFormatSizeCombo;
GtkWidget *OSFormatPartitionEntry;
GtkWidget *OSFilesystemTypeCombo;
GtkWidget *OSFormatFSMarkEntry;
GtkWidget *OSFormatEncryptionCombo;
GtkWidget *OSFormatEncryptionEntry;
GtkWidget *GpartedUserdataButton;
GtkWidget *UserdataDevicesTree;
GtkWidget *UserdataSysSectionTree;
GtkWidget *UserdataFormatSwitch;
GtkWidget *UserdataFormatSizeSpin;
GtkWidget *UserdataFormatSizeCombo;
GtkWidget *UserdataFormatPartitionEntry;
GtkWidget *UserdataFilesystemTypeCombo;
GtkWidget *UserdataFormatFSMarkEntry;
GtkWidget *UserdataFormatEncryptionCombo;
GtkWidget *UserdataFormatEncryptionEntry;
GtkTreeModel *LanguagesFilter;
GtkTreeModel *LayoutsFilter;
@ -595,6 +616,8 @@ typedef struct {
GtkWidget *NetworkConnectionsAddButton;
GHashTable *network_connections;
GtkCellRenderer *AdvancedDevicesCell;
GtkCellRenderer *AdvancedPartitionsCell;
GtkWidget *AdvancedDeviceTree;
GtkWidget *AdvancedVirtualDeviceCombo;
GtkWidget *AdvancedPartitionTree;
@ -611,6 +634,7 @@ typedef struct {
GtkWidget *AdvancedSwapFixedSizeSwitch;
dictionary *advanced_sections;
GFile *install_progress_file;
GFileMonitor *install_progress_monitor;
GFile *install_info_file;
@ -964,4 +988,16 @@ void on_type_changed(GtkComboBox *self,network_info *info);
void yon_network_init(main_window *widgets);
void yon_page_init(main_window *widgets, enum YON_PAGES page);
void yon_bootloader_init(main_window *widgets);
void on_kernel_install_enabled(GtkWidget *, kernel_row *row);
void on_kernel_install_enabled(GtkWidget *, kernel_row *row);
void yon_user_init(main_window *widgets);
void yon_region_init(main_window *widgets);
void yon_keyboard_init(main_window *widgets);
void yon_install_init(main_window *widgets, enum YON_PAGES page);
void yon_install_advanced_init(main_window *widgets);
void yon_os_components_init(main_window *widgets);
void yon_pacman_init(main_window *widgets);
void yon_software_init(main_window *widgets);
void on_install_advanced_add_new(GtkWidget *, main_window *widgets);
void on_install_advanced_device_chosen(GtkCellRenderer, gchar *path, main_window *widgets);
void on_install_advanced_partition_chosen(GtkCellRenderer, gchar *path, main_window *widgets);
void yon_devices_setup(main_window *widgets);

@ -34,15 +34,15 @@
</object>
<object class="GtkListStore" id="DevicesList">
<columns>
<!-- column-name gchararray1 -->
<!-- column-name Device -->
<column type="gchararray"/>
<!-- column-name gchararray2 -->
<!-- column-name Description -->
<column type="gchararray"/>
<!-- column-name gchararray3 -->
<!-- column-name Label -->
<column type="gchararray"/>
<!-- column-name gchararray4 -->
<!-- column-name Size -->
<column type="gchararray"/>
<!-- column-name gchararray5 -->
<!-- column-name Serial -->
<column type="gchararray"/>
</columns>
</object>
@ -5330,15 +5330,15 @@ or continue working in the UBLinux Live environment.</property>
<property name="can-focus">False</property>
<property name="active">1</property>
<items>
<item translatable="yes">ext3</item>
<item translatable="yes">ext4</item>
<item translatable="yes">fat16</item>
<item translatable="yes">fat32</item>
<item translatable="yes">exfat</item>
<item translatable="yes">riserfs</item>
<item translatable="yes">udf</item>
<item translatable="yes">xfs</item>
<item translatable="yes">zfs</item>
<item id="ext3" translatable="yes">ext3</item>
<item id="ext4" translatable="yes">ext4</item>
<item id="fat16" translatable="yes">fat16</item>
<item id="fat32" translatable="yes">fat32</item>
<item id="exfat" translatable="yes">exfat</item>
<item id="riserfs" translatable="yes">riserfs</item>
<item id="udf" translatable="yes">udf</item>
<item id="xfs" translatable="yes">xfs</item>
<item id="zfs" translatable="yes">zfs</item>
</items>
</object>
<packing>
@ -5700,7 +5700,7 @@ installed.</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="label" translatable="yes">Choose a partition:</property>
<property name="xalign">0</property>
</object>
<packing>
@ -6381,7 +6381,7 @@ installed.</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="label" translatable="yes">Choose a partition:</property>
<property name="xalign">0</property>
</object>
<packing>
@ -6646,15 +6646,15 @@ installed.</property>
<property name="can-focus">False</property>
<property name="active">1</property>
<items>
<item translatable="yes">ext3</item>
<item translatable="yes">ext4</item>
<item translatable="yes">fat16</item>
<item translatable="yes">fat32</item>
<item translatable="yes">exfat</item>
<item translatable="yes">riserfs</item>
<item translatable="yes">udf</item>
<item translatable="yes">xfs</item>
<item translatable="yes">zfs</item>
<item id="ext3" translatable="yes">ext3</item>
<item id="ext4" translatable="yes">ext4</item>
<item id="fat16" translatable="yes">fat16</item>
<item id="fat32" translatable="yes">fat32</item>
<item id="exfat" translatable="yes">exfat</item>
<item id="riserfs" translatable="yes">riserfs</item>
<item id="udf" translatable="yes">udf</item>
<item id="xfs" translatable="yes">xfs</item>
<item id="zfs" translatable="yes">zfs</item>
</items>
</object>
<packing>
@ -6909,8 +6909,62 @@ separately into the selected partition.</property>
<object class="GtkTreeView" id="AdvancedDeviceTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<property name="model">DevicesList</property>
<property name="search-column">0</property>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Device</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Label</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Size</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Serial</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
@ -7003,8 +7057,62 @@ separately into the selected partition.</property>
<object class="GtkTreeView" id="AdvancedPartitionTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<property name="model">PartitionsList</property>
<property name="search-column">0</property>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Section</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Capacity</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Free space</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">File system</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Label</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
@ -8319,7 +8427,7 @@ separately into the selected partition.</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="label" translatable="yes">Choose a partition:</property>
<property name="xalign">0</property>
</object>
<packing>
@ -8694,7 +8802,7 @@ separately into the selected partition.</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="label" translatable="yes">Choose a partition:</property>
<property name="xalign">0</property>
</object>
<packing>
@ -9062,7 +9170,7 @@ separately into the selected partition.</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="label" translatable="yes">Choose a partition:</property>
<property name="xalign">0</property>
</object>
<packing>
@ -9789,7 +9897,7 @@ separately into the selected partition.</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a section:</property>
<property name="label" translatable="yes">Choose a partition:</property>
<property name="xalign">0</property>
</object>
<packing>

Loading…
Cancel
Save