Fixed domain windows closing

pull/62/head
parent b8960fe96a
commit 64944ef1a2

@ -448,9 +448,10 @@ void on_domain_connect(GtkWidget *self, dictionary *dict){
gtk_label_set_text(GTK_LABEL(dialog->HeadLabel),DOMAIN_CONNECTING_LABEL); gtk_label_set_text(GTK_LABEL(dialog->HeadLabel),DOMAIN_CONNECTING_LABEL);
gtk_window_set_title(GTK_WINDOW(dialog->Window),DOMAIN_CONNECTING_LABEL); gtk_window_set_title(GTK_WINDOW(dialog->Window),DOMAIN_CONNECTING_LABEL);
yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_connect_command(adress,login,password,final)); yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_connect_command(adress,login,password,final));
gtk_window_set_transient_for(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window));
gtk_widget_show(dialog->Window); gtk_widget_show(dialog->Window);
gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress); gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress);
gtk_widget_destroy(window->Window);
free(window);
} }
@ -566,9 +567,10 @@ void on_domain_disconnect(GtkWidget *self, dictionary *dict){
gtk_label_set_text(GTK_LABEL(dialog->HeadLabel),DISCONNECTION_LABEL); gtk_label_set_text(GTK_LABEL(dialog->HeadLabel),DISCONNECTION_LABEL);
gtk_window_set_title(GTK_WINDOW(dialog->Window),DISCONNECTION_LABEL); gtk_window_set_title(GTK_WINDOW(dialog->Window),DISCONNECTION_LABEL);
yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_disconnect_command(adress,login,password)); yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_disconnect_command(adress,login,password));
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); gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress);
gtk_widget_show(dialog->Window);
gtk_widget_destroy(window->Window);
free(window);
} }
domain_window *yon_domain_window_new(){ domain_window *yon_domain_window_new(){
@ -591,28 +593,28 @@ domain_window *yon_domain_window_new(){
void on_domain_opened(GtkWidget *self, main_window *widgets){ void on_domain_opened(GtkWidget *self, main_window *widgets){
if (main_config.domain_connected){ if (main_config.domain_connected){
domain_window *window = yon_domain_window_new(); domain_window *window = yon_domain_window_new();
gtk_label_set_text(GTK_LABEL(window->HeadLabel),DOMAIN_CONNECTING_LABEL); gtk_label_set_text(GTK_LABEL(window->HeadLabel),DOMAIN_CONNECTING_LABEL);
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),DISCONNECTION_LABEL,"com.ublinux.ubl-settings-system","DomainWindow"); yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),DISCONNECTION_LABEL,"com.ublinux.ubl-settings-system","DomainWindow");
char *domain = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->DomainEntry)); char *domain = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->DomainEntry));
char *password = yon_config_get_by_key(DOMAIN_ADMANGER); char *password = yon_config_get_by_key(DOMAIN_ADMANGER);
char *login = yon_char_divide_search(password,":",-1); char *login = yon_char_divide_search(password,":",-1);
char *dns = config(DOMAIN_DNS); char *dns = config(DOMAIN_DNS);
if (!yon_char_is_empty(login)) if (!yon_char_is_empty(login))
gtk_entry_set_text(GTK_ENTRY(window->LoginEntry),login); gtk_entry_set_text(GTK_ENTRY(window->LoginEntry),login);
if (!yon_char_is_empty(password)) if (!yon_char_is_empty(password))
gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password); gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password);
if (!yon_char_is_empty(domain)) if (!yon_char_is_empty(domain))
gtk_entry_set_text(GTK_ENTRY(window->AdressEntry),domain); gtk_entry_set_text(GTK_ENTRY(window->AdressEntry),domain);
if (!yon_char_is_empty(dns)) if (!yon_char_is_empty(dns))
gtk_entry_set_text(GTK_ENTRY(window->DNSEntry),dns); gtk_entry_set_text(GTK_ENTRY(window->DNSEntry),dns);
dictionary *dict = NULL; dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_domain_disconnect),dict); g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_domain_disconnect),dict);
g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(on_check_domain_connected),widgets); g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(on_check_domain_connected),widgets);
gtk_widget_show(window->Window); gtk_widget_show(window->Window);
} else { } else {
connection_window *window = yon_connection_window_new(); connection_window *window = yon_connection_window_new();
gtk_label_set_text(GTK_LABEL(window->HeadLabel),DOMAIN_CONNECTING_LABEL); gtk_label_set_text(GTK_LABEL(window->HeadLabel),DOMAIN_CONNECTING_LABEL);

Loading…
Cancel
Save