Fixed domain check after connect/disconnect

pull/65/head
parent 8c2cd5f909
commit 9840b93cf4

@ -414,15 +414,19 @@ void on_language_changed(GtkComboBox *self, main_window *widgets){
} }
} }
void on_terminal_done(VteTerminal *terminal, gint status, GtkWidget *window){
if (!status){
gtk_widget_destroy(window);
}
}
void on_terminal_command_ended(VteTerminal *terminal, gint status, domain_info_window *window){ void on_terminal_command_ended(VteTerminal *terminal, gint status, domain_info_window *window){
textdomain(template_ui_LocaleName);
// yon_ubl_status_box_despawn_infinite(GTK_CONTAINER(window->StatusBox)); // yon_ubl_status_box_despawn_infinite(GTK_CONTAINER(window->StatusBox));
if (!status) if (!status){
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(window->StatusBox),"success",yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(window->StatusBox),"success",yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
else { } else {
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(window->StatusBox),"failure",yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(window->StatusBox),"failure",yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_FAIL_TYPE);
} }
textdomain(LocaleName);
} }
domain_info_window *yon_information_window_new(){ domain_info_window *yon_information_window_new(){
@ -468,10 +472,9 @@ 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));
g_signal_connect(G_OBJECT(dialog->ExecuteTerminal),"child-exited",G_CALLBACK(on_terminal_done),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);
on_config_reload(NULL,widgets); on_config_reload(NULL,widgets);
} }
@ -588,10 +591,9 @@ 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));
g_signal_connect(G_OBJECT(dialog->ExecuteTerminal),"child-exited",G_CALLBACK(on_terminal_done),window->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_show(dialog->Window);
gtk_widget_destroy(window->Window);
free(window);
on_config_reload(NULL,widgets); on_config_reload(NULL,widgets);
} }

Loading…
Cancel
Save