diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 5271f73..096c688 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -27,19 +27,25 @@ void yon_config_local_load(GtkWidget *self, main_window *widgets){ gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ConsoleFontCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0); yon_load_proceed(YON_CONFIG_LOCAL); - gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),yon_config_get_by_key(hostname_parameter)); + char *hostname = yon_config_get_by_key(hostname_parameter); + if (!yon_char_is_empty(hostname)){ + gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),hostname); + } int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->languagelist),&iter); for(;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->languagelist),&iter)){ gtk_list_store_set(widgets->languagelist,&iter,2,0,-1); } char *id = yon_config_get_by_key(id_parameter); - if (!strcmp(id,"random")) + if (id&&!strcmp(id,"random")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),1); - else if (!strcmp(id,"hardware")) + else if (id&&!strcmp(id,"hardware")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),2); - else { + else if (id){ gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),id); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),3); + } else { + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),0); + gtk_widget_set_sensitive(widgets->IDEntry,0); } char *code; @@ -95,19 +101,25 @@ void yon_config_global_load(GtkWidget *self, main_window *widgets){ gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ConsoleFontCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0); yon_load_proceed(YON_CONFIG_GLOBAL); - gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),yon_config_get_by_key(hostname_parameter)); + char *hostname = yon_config_get_by_key(hostname_parameter); + if (!yon_char_is_empty(hostname)){ + gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),hostname); + } int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->languagelist),&iter); for(;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->languagelist),&iter)){ gtk_list_store_set(widgets->languagelist,&iter,2,0,-1); } char *id = yon_config_get_by_key(id_parameter); - if (!strcmp(id,"random")) + if (id&&!strcmp(id,"random")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),1); - else if (!strcmp(id,"hardware")) + else if (id&&!strcmp(id,"hardware")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),2); - else { + else if (id){ gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),id); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),3); + } else { + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),0); + gtk_widget_set_sensitive(widgets->IDEntry,0); } char *code;