From 735cb90ffe894f957c0c0fec8419f8c8de4c785e Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 23 Apr 2024 10:50:50 +0600 Subject: [PATCH] Reverting of terminals --- source/ubl-settings-system.c | 36 +++++++++++++++++++++------ source/ubl-settings-system.h | 3 --- ubl-settings-system-domain-view.glade | 2 +- ubl-settings-system-domain.glade | 1 + 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 06986b0..acf82b4 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; @@ -479,6 +479,7 @@ void on_domain_connect(GtkWidget *self, dictionary *dict){ yon_ubl_status_highlight_incorrect(window->AdressEntry); return; } + g_source_remove(window->timer_id); char *login = (char*)gtk_entry_get_text(GTK_ENTRY(window->LoginEntry)); char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); char *kerberos = (char*)gtk_entry_get_text(GTK_ENTRY(window->KerberosServerEntry)); @@ -488,24 +489,38 @@ 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)); - 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)),""); + int size_; + yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_disconnect_command(adress,login,password),NULL,NULL); 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)); - yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_info(target)),""); + int size_; + yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_info(target),NULL,NULL); } + 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); - yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domains_seek_command),""); + int size_; + yon_terminal_integrated_start(dialog->ExecuteTerminal,domains_seek_command,NULL,NULL); + gtk_widget_show(dialog->Window); } @@ -513,8 +528,11 @@ 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); - yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,get_domain_info_command),""); + int size_; + yon_terminal_integrated_start(window->ExecuteTerminal,get_domain_info_command,NULL,NULL); } } } @@ -577,8 +595,12 @@ 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)); - yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_disconnect_command(adress,login,password)),""); + int size_; + yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_disconnect_command(adress,login,password),NULL,NULL); gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress); on_subwindow_close(window->Window); } diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h index 38638f3..60a9018 100644 --- a/source/ubl-settings-system.h +++ b/source/ubl-settings-system.h @@ -80,15 +80,12 @@ #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 71ebbdf..85e96e3 100644 --- a/ubl-settings-system-domain-view.glade +++ b/ubl-settings-system-domain-view.glade @@ -42,7 +42,7 @@ True - True + False natural adjustment1 natural diff --git a/ubl-settings-system-domain.glade b/ubl-settings-system-domain.glade index 02f3faa..9afca55 100644 --- a/ubl-settings-system-domain.glade +++ b/ubl-settings-system-domain.glade @@ -5,6 +5,7 @@ False + True com.ublinux.ubl-settings-repomanager