Loading fixes

pull/95/head
parent 3c2696a1e7
commit 1c65cfca78
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -31,6 +31,7 @@ int yon_kernel_save(main_window *widgets){
} }
int yon_kernel_addon_save(main_window *widgets){ int yon_kernel_addon_save(main_window *widgets){
yon_kernel_save(widgets);
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
char *install_modules = ""; char *install_modules = "";
for(GList *iter = list;iter;iter = iter->next){ for(GList *iter = list;iter;iter = iter->next){
@ -44,7 +45,7 @@ int yon_kernel_addon_save(main_window *widgets){
if (!yon_char_is_empty(install_modules)){ if (!yon_char_is_empty(install_modules)){
char *parameter = config(modules_extra_parameter); char *parameter = config(modules_extra_parameter);
char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?",":"",install_modules,NULL); char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?" ":"",install_modules,NULL);
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new); yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
free(parameter_new); free(parameter_new);
} }
@ -246,6 +247,7 @@ int yon_pacman_software_save(main_window *widgets){
} }
void yon_pacman_init(main_window *widgets){ void yon_pacman_init(main_window *widgets){
gtk_list_store_clear(widgets->PacmanSoftwareChosenList);
char *pacman_packages = config(packages_parameter); char *pacman_packages = config(packages_parameter);
int size; int size;

@ -243,7 +243,7 @@ void yon_layout_build(char *key, GHashTable *value, main_window *widgets){
for (iterator=list;iterator;iterator=iterator->next){ for (iterator=list;iterator;iterator=iterator->next){
if (!yon_char_is_empty((char*)iterator->data)){ if (!yon_char_is_empty((char*)iterator->data)){
gtk_tree_store_append(widgets->LayoutList,&iter,&parent); gtk_tree_store_append(widgets->LayoutList,&iter,&parent);
gtk_tree_store_set(widgets->LayoutList,&iter,0,(char*)iterator->data,1,_((char*)g_hash_table_lookup(value,iterator->data)),2,1,3,0,4,1,-1); gtk_tree_store_set(widgets->LayoutList,&iter,0,(char*)iterator->data,1,_((char*)g_hash_table_lookup(value,iterator->data)),2,1,3,0,4,0,-1);
} }
} }
} }
@ -314,12 +314,22 @@ void yon_keyboard_init(main_window *widgets){
gtk_tree_store_set(widgets->LayoutList,&iter,4,0,-1); gtk_tree_store_set(widgets->LayoutList,&iter,4,0,-1);
} }
for (int valid2 = gtk_tree_model_iter_children(model,&chiter,&iter);valid2;valid2 = gtk_tree_model_iter_next(model,&chiter)){
gtk_tree_model_get(model,&chiter,0,&target,-1);
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_tree_store_set(widgets->LayoutList,&chiter,2,1,3,1,-1);
if (!strcmp(variant,target)){
gtk_tree_store_set(widgets->LayoutList,&chiter,4,1,-1);
}
} else {
gtk_tree_store_set(widgets->LayoutList,&chiter,3,0,4,0,-1);
}
}
} else { } else {
gtk_tree_store_set(widgets->LayoutList,&iter,3,0,4,0,-1); gtk_tree_store_set(widgets->LayoutList,&iter,3,0,4,0,-1);
} }
for (int valid2 = gtk_tree_model_iter_children(model,&chiter,&iter);valid2;valid2 = gtk_tree_model_iter_next(model,&chiter)){
}
} }
} else { } else {

@ -210,6 +210,24 @@ int yon_network_save(main_window *widgets){
} else { } else {
yon_config_remove_by_key(NTPSERVERS_parameter); yon_config_remove_by_key(NTPSERVERS_parameter);
} }
if (gtk_switch_get_active(GTK_SWITCH(widgets->HostnameSensitiveSwitch))){
int autohostname = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck));
char *hostname = NULL;
if (autohostname) {
hostname = "auto";
} else {
hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry));
}
if (yon_char_is_empty(hostname)){
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->HotnameEntry);
return 0;
}
yon_config_register(hostname_parameter,hostname_parameter_command,hostname);
} else {
yon_config_remove_by_key(hostname_parameter);
}
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->NetworkConnectionsBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->NetworkConnectionsBox));
GList *iter; GList *iter;
for (iter=list;iter;iter=iter->next){ for (iter=list;iter;iter=iter->next){
@ -284,36 +302,90 @@ void yon_network_init(main_window *widgets){
} }
yon_char_parsed_free(network_types,size); yon_char_parsed_free(network_types,size);
char *domain = config(DOMAIN_parameter);
char *domain_admanger = config(DOMAIN_admanger_parameter);
char *ntp = config(NTPSERVERS_parameter);
char *hostname = config(hostname_parameter);
if (!yon_char_is_empty(domain)){
gtk_switch_set_active(GTK_SWITCH(widgets->NetworkDomainSwitch),1);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkDomainNameEntry),domain);
if (!yon_char_is_empty(domain_admanger)){
char *domain_password = yon_char_new(domain_admanger);
char *domain_admin = yon_char_divide_search(domain_password,":",-1);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkDomainAdminEntry),domain_admin);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkDomainPasswordEntry),domain_password);
}
}
if (!yon_char_is_empty(ntp)){
gtk_switch_set_active(GTK_SWITCH(widgets->NetworkNTPServerSwitch),1);
gtk_widget_set_sensitive(widgets->NetworkNTPEntry,0);
if (!strcmp(ntp,"dhcp")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),1);
} else if (!strcmp(ntp,"default")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),2);
} else if (!strcmp(ntp,"ntp-ru")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),3);
} else if (!strcmp(ntp,"no")||!strcmp(ntp,"disable")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),5);
} else if (!strcmp(ntp,"stop")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),6);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),4);
gtk_widget_set_sensitive(widgets->NetworkNTPEntry,1);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkNTPEntry),ntp);
}
} else {
gtk_widget_set_sensitive(widgets->NetworkNTPEntry,0);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkNTPEntry),"");
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),0);
}
gtk_entry_set_text(GTK_ENTRY(widgets->HotnameEntry),"");
if (!yon_char_is_empty(hostname)){
gtk_switch_set_active(GTK_SWITCH(widgets->HostnameSensitiveSwitch),1);
if (!strcmp(hostname,"auto")){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck),1);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck),0);
gtk_entry_set_text(GTK_ENTRY(widgets->HotnameEntry),hostname);
}
}
config_str parameters = yon_config_get_all_by_key(NETWORK_parameter_search,&size); config_str parameters = yon_config_get_all_by_key(NETWORK_parameter_search,&size);
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
char *parameter = yon_char_new(parameters[i]); char *parameter = yon_char_new(parameters[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1); char *parameter_name = yon_char_divide_search(parameter,"=",-1);
char *key = yon_config_parameter_get_key(parameter_name); char *key = yon_config_parameter_get_key(parameter_name);
char *key_type = yon_char_divide_search(key,"@",-1); char *key_sub = key+yon_char_find_last(key,'[');
char *subkey = yon_config_parameter_get_key(key_sub);
char *key_type = yon_char_divide_search(subkey,"@",-1);
if (!strcmp(key_type,"connmod")){ if (!strcmp(subkey,"connmod")){
network_info *info = yon_network_info_new(); network_info *info = yon_network_info_new();
gtk_box_pack_start(GTK_BOX(widgets->NetworkConnectionsBox),info->MainBox,0,0,0); gtk_box_pack_start(GTK_BOX(widgets->NetworkConnectionsBox),info->MainBox,0,0,0);
gtk_widget_show(info->MainBox); gtk_widget_show(info->MainBox);
int connection_size; int connection_size;
config_str connection = yon_char_parse(parameter,&connection_size," "); config_str connection = yon_char_parse(parameter,&connection_size," ");
for (int k=0;k<connection_size;k++){ if (yon_char_parsed_check_exist(connection,connection_size,"ipv4.method")>-1){
if (!strcmp(connection[k],"ipv4.method")){ gtk_switch_set_active(GTK_SWITCH(info->AutoGetIPSwitch),1);
gtk_switch_set_active(GTK_SWITCH(info->AutoGetIPSwitch),0); } else {
} else if (!strcmp(connection[k],"ipv4.addr")){ int addr_active = yon_char_parsed_check_exist(connection,connection_size,"ipv4.addr");
char *mask = yon_char_new(connection[++k]); if (addr_active>-1){
char *ip = yon_char_divide_search(mask,"/",-1); char *mask = yon_char_new(connection[addr_active+1]);
gtk_entry_set_text(GTK_ENTRY(info->MaskEntry),mask); char *ip = yon_char_divide_search(mask,"/",-1);
gtk_entry_set_text(GTK_ENTRY(info->IpAdressEntry),ip); gtk_entry_set_text(GTK_ENTRY(info->MaskEntry),mask);
free(mask); gtk_entry_set_text(GTK_ENTRY(info->IpAdressEntry),ip);
free(ip); free(mask);
free(ip);
} else if (!strcmp(connection[k],"ipv4.gateway")){ }
gtk_entry_set_text(GTK_ENTRY(info->GatewayEntry),connection[++k]); addr_active = yon_char_parsed_check_exist(connection,connection_size,"ipv4.gateway");
if (addr_active>-1){
gtk_entry_set_text(GTK_ENTRY(info->GatewayEntry),connection[addr_active+1]);
} else if (!strcmp(connection[k],"ipv4.dns")){ }
gtk_entry_set_text(GTK_ENTRY(info->DNSEntry),connection[++k]); addr_active = yon_char_parsed_check_exist(connection,connection_size,"ipv4.dns");
if (addr_active>-1){
gtk_entry_set_text(GTK_ENTRY(info->DNSEntry),connection[addr_active+1]);
} }
} }
@ -321,9 +393,9 @@ void yon_network_init(main_window *widgets){
GList *list = g_hash_table_get_keys(main_config.network_types); GList *list = g_hash_table_get_keys(main_config.network_types);
GList *iter; GList *iter;
for (iter=list;iter;iter=iter->next){ for (iter=list;iter;iter=iter->next){
if (g_hash_table_contains(g_hash_table_lookup(main_config.network_types,(char*)iter->data),key)){ if (g_hash_table_contains(g_hash_table_lookup(main_config.network_types,(char*)iter->data),key_type)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->TypeCombo),(char*)iter->data); gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->TypeCombo),(char*)iter->data);
gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->ConnectionCombo),key); gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->ConnectionCombo),key_type);
break; break;
} }
} }

@ -115,7 +115,7 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){
return yon_os_components_save(widgets); return yon_os_components_save(widgets);
break; break;
case YON_PAGE_KERNEL: case YON_PAGE_KERNEL:
return yon_kernel_save(widgets); // return yon_kernel_save(widgets);
break; break;
case YON_PAGE_KERNEL_ADDON: case YON_PAGE_KERNEL_ADDON:
return yon_kernel_addon_save(widgets); return yon_kernel_addon_save(widgets);

@ -14,9 +14,9 @@
// free(result); // free(result);
// } // }
// void yon_save_proceed(char *path, YON_CONFIG_TYPE type){ void yon_config_save_proceed(char *path, YON_CONFIG_TYPE type){
// yon_debug_output("%s\n",yon_config_save_simple(type,path)); yon_debug_output("%s\n",yon_config_save_simple(type,path));
// } }
void yon_load_proceed(YON_CONFIG_TYPE type){ void yon_load_proceed(YON_CONFIG_TYPE type){
if (type!=YON_CONFIG_CUSTOM){ if (type!=YON_CONFIG_CUSTOM){
@ -76,22 +76,22 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){
main_config.load_mode=YON_CONFIG_CUSTOM; main_config.load_mode=YON_CONFIG_CUSTOM;
} }
// void on_config_global_local_save(GtkWidget *,main_window *widgets){ void on_config_global_local_save(GtkWidget *,main_window *widgets){
// yon_save_proceed(NULL,YON_CONFIG_BOTH); yon_config_save_proceed(NULL,YON_CONFIG_BOTH);
// gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED);
// } }
// void on_config_local_save(GtkWidget *,main_window *widgets){ void on_config_local_save(GtkWidget *,main_window *widgets){
// yon_save_proceed("system",YON_CONFIG_LOCAL); yon_config_save_proceed("system",YON_CONFIG_LOCAL);
// gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED);
//
// }
// void on_config_global_save(GtkWidget *,main_window *widgets){ }
// yon_save_proceed("global",YON_CONFIG_GLOBAL);
// gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED); void on_config_global_save(GtkWidget *,main_window *widgets){
// yon_config_save_proceed("global",YON_CONFIG_GLOBAL);
// } gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED);
}
// void on_config_custom_save(GtkWidget *, main_window *widgets){ // void on_config_custom_save(GtkWidget *, main_window *widgets){
// char *path = NULL; // char *path = NULL;

@ -76,11 +76,13 @@ void yon_startup_services_setup(main_window *widgets){
int pos = yon_char_parsed_check_exist(parsed,parsed_size,target_parsed[i]); int pos = yon_char_parsed_check_exist(parsed,parsed_size,target_parsed[i]);
if (pos>-1){ if (pos>-1){
found++; found++;
parsed = yon_char_parsed_rip(parsed,&parsed_size,pos); parsed = yon_char_parsed_rip(parsed,&parsed_size,pos);
} }
} }
if (found == target_size){ if (found == target_size){
gtk_list_store_set(widgets->StartupList,&iter,0,1,-1); gtk_list_store_set(widgets->StartupList,&iter,0,1,-1);
} else {
gtk_list_store_set(widgets->StartupList,&iter,0,0,-1);
} }
yon_char_parsed_free(target_parsed,target_size); yon_char_parsed_free(target_parsed,target_size);
} else { } else {

@ -186,11 +186,11 @@ layout && /description:/ {\
#define packages_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[packages]" #define packages_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[packages]"
#define device_typevfs_parameter "AUTOINSTALL[device_typevfs]" #define device_typevfs_parameter "AUTOINSTALL[device_typevfs]"
#define device_typevfs_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device_typevfs]" #define device_typevfs_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device_typevfs]"
#define NTPSERVERS_parameter "AOUTINSTALL[ubconfig set [network] NTPSERVERS]" #define NTPSERVERS_parameter "AUTOINSTALL[ubconfig set [network] NTPSERVERS]"
#define NTPSERVERS_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] NTPSERVERS']" #define NTPSERVERS_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] NTPSERVERS']"
#define DOMAIN_parameter "AOUTINSTALL[ubconfig set [network] DOMAIN]" #define DOMAIN_parameter "AUTOINSTALL[ubconfig set [network] DOMAIN]"
#define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN']" #define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN']"
#define DOMAIN_admanger_parameter "AOUTINSTALL[ubconfig set [network] DOMAIN[admanger]]" #define DOMAIN_admanger_parameter "AUTOINSTALL[ubconfig set [network] DOMAIN[admanger]]"
#define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['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_all "AUTOINSTALL[ubconfig set [users] USERADD[*]]"
#define USERADD_parameter_search "AUTOINSTALL[ubconfig set [users] USERADD[" #define USERADD_parameter_search "AUTOINSTALL[ubconfig set [users] USERADD["

Loading…
Cancel
Save