From b8f3971ed4b8b3383ef863d24c06184cff4853e8 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 2 May 2024 11:20:49 +0600 Subject: [PATCH] Hostname and domain parameters are re-reading after closing of domain window --- source/ubl-settings-system.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 8b78da3..884dd89 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -24,7 +24,8 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ if (response == GTK_RESPONSE_ACCEPT){ char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); if (!yon_char_is_empty(file)){ - path=file; + path=yon_char_unite("'",file,"'",NULL); + main_config.custom_load_path = path; } gtk_widget_destroy(dialog); } else { @@ -724,6 +725,26 @@ void on_check_domain_connected(GtkWidget *self, main_window *widgets){ gtk_entry_set_icon_tooltip_markup(GTK_ENTRY(widgets->DomainEntry),GTK_ENTRY_ICON_SECONDARY,DOMAIN_DISCONNECTED_LABEL); main_config.domain_connected=0; } + YON_CONFIG_TYPE type; + switch(main_config.load_mode){ + case 0: type=YON_CONFIG_GLOBAL; + yon_config_load_config(type,yon_config_parameter_prepare_command(DOMAIN_get_command,"global",NULL,NULL), yon_config_parameter_prepare_command(HOSTNAME_get_command,"global",NULL,NULL),NULL); + break; + case 1: type=YON_CONFIG_LOCAL; + yon_config_load_config(type,yon_config_parameter_prepare_command(DOMAIN_get_command,"system",NULL,NULL), yon_config_parameter_prepare_command(HOSTNAME_get_command,"system",NULL,NULL),NULL); + break; + case 3: type=YON_CONFIG_CUSTOM; + if (!yon_char_is_empty(main_config.custom_load_path)) + yon_config_load_config(type,yon_config_parameter_prepare_command(DOMAIN_get_command,main_config.custom_load_path,NULL,NULL), yon_config_parameter_prepare_command(HOSTNAME_get_command,main_config.custom_load_path,NULL,NULL),NULL); + break; + } + char *hostname = yon_config_get_by_key(hostname_parameter); + char *domain = yon_config_get_by_key(DOMAIN); + if (!yon_char_is_empty(hostname)) + gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),hostname); + if (!yon_char_is_empty(domain)) + gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),domain); + } main_window *yon_main_window_complete(main_window *widgets){