|
|
|
|
@ -72,81 +72,45 @@ int yon_load_proceed(YON_CONFIG_TYPE type){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_config_local_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),DEFAULT_LABEL);
|
|
|
|
|
int size;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
config_str rtn = yon_file_open(get_id_command,&size);
|
|
|
|
|
rtn[0]=yon_char_divide_search(rtn[0],"\n",-1);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),*rtn);
|
|
|
|
|
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);
|
|
|
|
|
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 (id&&!strcmp(id,"random"))
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),1);
|
|
|
|
|
else if (id&&!strcmp(id,"hardware"))
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),2);
|
|
|
|
|
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);
|
|
|
|
|
if (getuid()==0){
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
}
|
|
|
|
|
main_config.load_mode=1;
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *code;
|
|
|
|
|
char *cons_font = yon_config_get_by_key(console_font_parameter);
|
|
|
|
|
if (cons_font){
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->fontlist),&iter);
|
|
|
|
|
for(;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->fontlist),&iter)){
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->fontlist),&iter,0,&code,-1);
|
|
|
|
|
if (code&&!strcmp(code,cons_font)) gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widgets->ConsoleFontCombo),&iter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
char *lang = yon_config_get_by_key(language_parameter);
|
|
|
|
|
char *avlocale = yon_config_get_by_key(locale_parameter);
|
|
|
|
|
int locsize;
|
|
|
|
|
if (avlocale);
|
|
|
|
|
config_str locale_parsed = yon_char_parse(avlocale,&locsize,",");
|
|
|
|
|
gboolean is_active;
|
|
|
|
|
char *locale_string="";
|
|
|
|
|
char *loc_name;
|
|
|
|
|
if (lang){
|
|
|
|
|
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_tree_model_get(GTK_TREE_MODEL(widgets->languagelist),&iter,0,&loc_name,1,&code,2,&is_active,-1);
|
|
|
|
|
if (code&&!strcmp(code,lang)) gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widgets->LanguageCombo),&iter);
|
|
|
|
|
if (avlocale)
|
|
|
|
|
for (int i=0;i<locsize;i++)
|
|
|
|
|
if (!strcmp(code,locale_parsed[i])) {
|
|
|
|
|
gtk_list_store_set(widgets->languagelist,&iter,2,1,-1);
|
|
|
|
|
locale_string = yon_char_unite(strcmp(locale_string,"") ? yon_char_append(locale_string,"; ") : locale_string, loc_name,NULL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strcmp(locale_string,"")) gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),locale_string);
|
|
|
|
|
void yon_config_global_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
yon_load_proceed(YON_CONFIG_GLOBAL);
|
|
|
|
|
if (getuid()==0){
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
}
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
main_config.load_mode=0;
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_config_custom_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
if (!yon_load_proceed(YON_CONFIG_CUSTOM))
|
|
|
|
|
return;
|
|
|
|
|
if (getuid()==0){
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
}
|
|
|
|
|
main_config.load_mode=1;
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_config_global_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
void yon_interface_update(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->HostnameEntry),G_CALLBACK(on_hostname_changed),widgets);
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->ConsoleFontCombo),G_CALLBACK(on_console_font_changed),widgets);
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->LanguageCombo),G_CALLBACK(on_language_changed),widgets);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),DEFAULT_LABEL);
|
|
|
|
|
@ -157,7 +121,6 @@ void yon_config_global_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),*rtn);
|
|
|
|
|
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);
|
|
|
|
|
char *hostname = yon_config_get_by_key(hostname_parameter);
|
|
|
|
|
if (!yon_char_is_empty(hostname)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),hostname);
|
|
|
|
|
@ -211,12 +174,9 @@ void yon_config_global_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
if (strcmp(locale_string,"")) gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),locale_string);
|
|
|
|
|
}
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
if (getuid()==0){
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
}
|
|
|
|
|
main_config.load_mode=0;
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->HostnameEntry),G_CALLBACK(on_hostname_changed),widgets);
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ConsoleFontCombo),G_CALLBACK(on_console_font_changed),widgets);
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->LanguageCombo),G_CALLBACK(on_language_changed),widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_config_global_local_save(){
|
|
|
|
|
@ -231,81 +191,6 @@ void yon_config_global_local_save(){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_config_custom_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
if (!yon_load_proceed(YON_CONFIG_CUSTOM))
|
|
|
|
|
return;
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),DEFAULT_LABEL);
|
|
|
|
|
int size;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
config_str rtn = yon_file_open(get_id_command,&size);
|
|
|
|
|
rtn[0]=yon_char_divide_search(rtn[0],"\n",-1);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),*rtn);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ConsoleFontCombo),0);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
|
|
|
|
|
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 (id&&!strcmp(id,"random"))
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),1);
|
|
|
|
|
else if (id&&!strcmp(id,"hardware"))
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),2);
|
|
|
|
|
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;
|
|
|
|
|
char *cons_font = yon_config_get_by_key(console_font_parameter);
|
|
|
|
|
if (cons_font){
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->fontlist),&iter);
|
|
|
|
|
for(;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->fontlist),&iter)){
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->fontlist),&iter,0,&code,-1);
|
|
|
|
|
if (code&&!strcmp(code,cons_font)) gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widgets->ConsoleFontCombo),&iter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
char *lang = yon_config_get_by_key(language_parameter);
|
|
|
|
|
char *avlocale = yon_config_get_by_key(locale_parameter);
|
|
|
|
|
int locsize;
|
|
|
|
|
if (avlocale);
|
|
|
|
|
config_str locale_parsed = yon_char_parse(avlocale,&locsize,",");
|
|
|
|
|
gboolean is_active;
|
|
|
|
|
char *locale_string="";
|
|
|
|
|
char *loc_name;
|
|
|
|
|
if (lang){
|
|
|
|
|
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_tree_model_get(GTK_TREE_MODEL(widgets->languagelist),&iter,0,&loc_name,1,&code,2,&is_active,-1);
|
|
|
|
|
if (code&&!strcmp(code,lang)) gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widgets->LanguageCombo),&iter);
|
|
|
|
|
if (avlocale)
|
|
|
|
|
for (int i=0;i<locsize;i++)
|
|
|
|
|
if (!strcmp(code,locale_parsed[i])) {
|
|
|
|
|
gtk_list_store_set(widgets->languagelist,&iter,2,1,-1);
|
|
|
|
|
locale_string = yon_char_unite(strcmp(locale_string,"") ? yon_char_append(locale_string,"; ") : locale_string, loc_name,NULL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strcmp(locale_string,"")) gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),locale_string);
|
|
|
|
|
}
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
if (getuid()==0){
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
}
|
|
|
|
|
main_config.load_mode=1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_config_local_save(){
|
|
|
|
|
main_config.save_config=1;
|
|
|
|
|
int changed = yon_config_get_status(id_parameter)==1;
|
|
|
|
|
@ -546,6 +431,7 @@ void on_domain_connect(GtkWidget *self, dictionary *dict){
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window));
|
|
|
|
|
gtk_widget_show(dialog->Window);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_status_clicked(GtkWidget *self, connection_window *window){
|
|
|
|
|
@ -596,16 +482,22 @@ gboolean on_main_window_domain_status_update(connection_window *window){
|
|
|
|
|
} else {
|
|
|
|
|
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(window->AdressEntry),GTK_ENTRY_ICON_SECONDARY,domain_disconnected_icon);
|
|
|
|
|
}
|
|
|
|
|
g_mutex_lock(&main_config.ThreadMutex);
|
|
|
|
|
update_thread_buzy = 0;
|
|
|
|
|
return GDK_EVENT_PROPAGATE;
|
|
|
|
|
g_mutex_unlock(&main_config.ThreadMutex);
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// gboolean yon_update_thread(GtkWidget *self, GdkEvent *event, connection_window *window){
|
|
|
|
|
gboolean yon_update_thread(GtkWidget *self, connection_window *window){
|
|
|
|
|
g_mutex_lock(&main_config.ThreadMutex);
|
|
|
|
|
if (!update_thread_buzy){
|
|
|
|
|
update_thread_buzy=1;
|
|
|
|
|
g_mutex_unlock(&main_config.ThreadMutex);
|
|
|
|
|
pthread_t thread_id;
|
|
|
|
|
pthread_create(&thread_id, NULL, (void *)on_main_window_domain_status_update,window);
|
|
|
|
|
g_idle_add((GSourceFunc)on_main_window_domain_status_update,window);
|
|
|
|
|
} else {
|
|
|
|
|
g_mutex_unlock(&main_config.ThreadMutex);
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|