diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index a11cb58..06986b0 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -464,7 +464,7 @@ domain_info_window *yon_information_window_new(){ yon_gtk_widget_set_scroll_window_for_scroll(window->Window,GTK_SCROLLBAR(window->TerminalScroll)); GdkRGBA rgba; vte_terminal_get_color_background_for_draw(VTE_TERMINAL(window->ExecuteTerminal),&rgba); - vte_terminal_set_color_cursor(VTE_TERMINAL(window->ExecuteTerminal),&rgba); + // vte_terminal_set_color_cursor(VTE_TERMINAL(window->ExecuteTerminal),&rgba); yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,TITLE_LABEL,"com.ublinux.ubl-settings-system","InfoWindow"); return window; @@ -488,38 +488,24 @@ void on_domain_connect(GtkWidget *self, dictionary *dict){ client = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->ClientCombo)); } char *final = yon_char_unite(!yon_char_is_empty(kerberos)?kerberos_addition_command(kerberos):"",!yon_char_is_empty(kerberos)?" ":"",!yon_char_is_empty(dns)?dns_addition_command(dns):"",!yon_char_is_empty(dns)?" ":"",!yon_char_is_empty(client)?client_addition_command(client):"",!yon_char_is_empty(client)?" ":"",NULL); - - int size; - domain_info_window *dialog = yon_information_window_new(); - gtk_window_set_title(GTK_WINDOW(dialog->Window),DOMAIN_CONNECTING_LABEL); - gtk_label_set_text(GTK_LABEL(dialog->HeadLabel),DOMAIN_CONNECTING_LABEL); yon_debug_output(domain_connect_command(adress,login,password,final)); - int size_; - yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_connect_command(adress,login,password,final),NULL,NULL); + yon_debug_output(terminal_command_start(TITLE_LABEL,domain_connect_command(adress,login,password,final))); + yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_connect_command(adress,login,password,final)),""); gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress); - gtk_widget_show(dialog->Window); } void on_status_clicked(GtkWidget *self, connection_window *window){ - domain_info_window *dialog = yon_information_window_new(); char *target = (char*)gtk_entry_get_text(GTK_ENTRY(window->AdressEntry)); if (!yon_char_is_empty(target)){ - yon_ubl_status_box_spawn(GTK_CONTAINER(dialog->StatusBox),LOADING_LABEL,10,BACKGROUND_IMAGE_INFO_TYPE); yon_debug_output(domain_info(target)); - int size_; - yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_info(target),NULL,NULL); + yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_info(target)),""); } - gtk_widget_show(dialog->Window); } void on_find_domains_clicked(GtkWidget *self, connection_window *window){ - domain_info_window *dialog = yon_information_window_new(); - yon_ubl_status_box_spawn(GTK_CONTAINER(dialog->StatusBox),LOADING_LABEL,10,BACKGROUND_IMAGE_INFO_TYPE); yon_debug_output(domains_seek_command); - int size_; - yon_terminal_integrated_start(dialog->ExecuteTerminal,domains_seek_command,NULL,NULL); - gtk_widget_show(dialog->Window); + yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domains_seek_command),""); } @@ -527,11 +513,8 @@ void on_main_window_domain_status_clicked(GtkWidget *self, GtkEntryIconPosition if (icon_pos==GTK_ENTRY_ICON_SECONDARY){ char *target = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->DomainEntry)); if (!yon_char_is_empty(target)){ - domain_info_window *window = yon_information_window_new(); - gtk_widget_show(window->Window); yon_debug_output(get_domain_info_command); - int size_; - yon_terminal_integrated_start(window->ExecuteTerminal,get_domain_info_command,NULL,NULL); + yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,get_domain_info_command),""); } } } @@ -551,7 +534,7 @@ gboolean on_main_window_domain_status_update(connection_window *window){ return 1; } -gboolean yon_update_thread(GtkWidget *self, GdkEventFocus *event, connection_window *window){ +gboolean yon_update_thread(connection_window *window){ pthread_t thread_id; pthread_create(&thread_id, NULL, (void *)on_main_window_domain_status_update,window); return 1; @@ -578,10 +561,7 @@ connection_window *yon_connection_window_new(){ g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->StatusEntry),"clicked",G_CALLBACK(on_status_clicked),window); g_signal_connect(G_OBJECT(window->FindEntry),"clicked",G_CALLBACK(on_find_domains_clicked),window); - g_signal_connect(G_OBJECT(window->AdressEntry),"focus-out-event",G_CALLBACK(yon_update_thread),window); - if (!yon_char_is_empty((char*)gtk_entry_get_text(GTK_ENTRY(window->AdressEntry)))){ - yon_update_thread(NULL,NULL,window); - } + window->timer_id = g_timeout_add(1000,(GSourceFunc)yon_update_thread,window); return window; } @@ -597,13 +577,10 @@ void on_domain_disconnect(GtkWidget *self, dictionary *dict){ yon_ubl_status_highlight_incorrect(window->AdressEntry); return; } - int size; - domain_info_window *dialog = yon_information_window_new(); - gtk_widget_show(dialog->Window); yon_debug_output(domain_disconnect_command(adress,login,password)); - int size_; - yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_disconnect_command(adress,login,password),NULL,NULL); + yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_disconnect_command(adress,login,password)),""); gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress); + on_subwindow_close(window->Window); } domain_window *yon_domain_window_new(){ @@ -643,7 +620,6 @@ void on_domain_opened(GtkWidget *self, main_window *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); 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); gtk_widget_show(window->Window); } else { @@ -770,7 +746,6 @@ main_window *yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->DomainEntry),"focus-out-event",G_CALLBACK(on_domain_address_save),NULL); gtk_widget_set_size_request(widgets->Window,800,440); - on_check_domain_connected(NULL,widgets); // g_timeout_add(1000,(GSourceFunc)on_check_domain_connected,widgets); diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h index 60a9018..38638f3 100644 --- a/source/ubl-settings-system.h +++ b/source/ubl-settings-system.h @@ -80,12 +80,15 @@ #define domain_check_alive(target) yon_char_unite("timeout --kill-after=0.1 2 dig +time=1 +tries=1 +noall -t SRV _ldap._tcp.",target," @",target," &>/dev/null",NULL) +#define terminal_command_start(title,command) yon_char_unite("vte-2.91 --name=vte --cursor-shape=ibeam --cursor-blink=off --keep --no-pty --title=\"",title,"\" --no-shell --icon-title --no-context-menu --use-theme-colors --whole-window-transparent --no-geometry-hints -- ", command, NULL) + #define DOMAIN "DOMAIN" #define DOMAIN_ADMANGER "DOMAIN[admanger]" #define DOMAIN_SERVER "DOMAIN[server]" #define DOMAIN_DNS "DOMAIN[dns]" #define DOMAIN_CLIENT "DOMAIN[client]" + typedef char* string; string version_application; diff --git a/ubl-settings-system-domain-view.glade b/ubl-settings-system-domain-view.glade index 85e96e3..71ebbdf 100644 --- a/ubl-settings-system-domain-view.glade +++ b/ubl-settings-system-domain-view.glade @@ -42,7 +42,7 @@ True - False + True natural adjustment1 natural diff --git a/ubl-settings-system-domain.glade b/ubl-settings-system-domain.glade index 9afca55..02f3faa 100644 --- a/ubl-settings-system-domain.glade +++ b/ubl-settings-system-domain.glade @@ -5,7 +5,6 @@ False - True com.ublinux.ubl-settings-repomanager