From 04fed14903ad421a74fac41aa2a9c892f4667ae7 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 5 Dec 2025 15:29:15 +0600 Subject: [PATCH] Fixed database update --- source/ubl-settings-kernel.c | 48 ++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 15028f1..962bd52 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -1356,7 +1356,6 @@ void config_init(){ main_config.local_load_success_localised = LOCAL_LOAD_SUCCESS_LABEL; main_config.global_load_success_localised = GLOBAL_LOAD_SUCCESS_LABEL; textdomain(LocaleName); - yon_packages_init(); } @@ -1548,8 +1547,9 @@ void on_paned_position_changed(GtkWidget *, GdkEvent*,main_window *widgets){ } void on_database_update(void *,void *widgets){ - yon_terminal_window_launch(GTK_WINDOW(((main_window*)widgets)->Window),pacman_update_command,yon_char_get_localised_from_lib(SUCCESS_LABEL),yon_char_get_localised_from_lib(FAIL_LABEL)); -} + terminal_window_struct *window = yon_terminal_window_launch(GTK_WINDOW(((main_window*)widgets)->Window),pacman_update_command,yon_char_get_localised_from_lib(SUCCESS_LABEL),yon_char_get_localised_from_lib(FAIL_LABEL)); + g_signal_connect(G_OBJECT(window->window),"destroy",G_CALLBACK(on_update_clicked),widgets); + } /**yon_main_window_complete(main_window *widgets) @@ -1623,30 +1623,36 @@ void yon_main_window_complete(main_window *widgets){ yon_root_button_setup((template_main_window*)widgets,main_config.launch_arguments,main_config.launch_size); gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(widgets->InstallationProgress),0.1); gtk_paned_add2(GTK_PANED(widgets->TerminalPaned),widgets->TerminalRevealer); - if (getuid()){ - on_update_clicked(NULL,widgets); - gtk_widget_set_sensitive(widgets->BuildingButton,0); - } - GdkRGBA rgba; - vte_terminal_get_color_background_for_draw(VTE_TERMINAL(widgets->InstallTerminal),&rgba); - vte_terminal_set_color_cursor(VTE_TERMINAL(widgets->InstallTerminal),&rgba); + GdkRGBA rgba; + vte_terminal_get_color_background_for_draw(VTE_TERMINAL(widgets->InstallTerminal),&rgba); + vte_terminal_set_color_cursor(VTE_TERMINAL(widgets->InstallTerminal),&rgba); + + glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal)); + vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20); - glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal)); - vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20); + if (system(yon_check_database_command)){ + dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); + data->action_text=TITLE_LABEL; + data->action_text=DATABASE_UNACCESSIBLE_LABEL; + if (yon_confirmation_dialog_call(widgets->HeadOverlay,data)!=GTK_RESPONSE_CANCEL){ + on_database_update(NULL,widgets); + } else { + on_update_clicked(NULL,widgets); - if (system(yon_check_database_command)){ - dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); - data->action_text=DATABASE_UNACCESSIBLE_LABEL; - data->function = on_database_update; - data->data = widgets; - yon_confirmation_dialog_call(widgets->HeadOverlay,data); } + } else { + on_update_clicked(NULL,widgets); + + } - // gtk_button_clicked(GTK_BUTTON(widgets->MoreButton)); - // yon_terminal_integrated_start(widgets->InstallTerminal,pacman_update_command); + if (getuid()){ + gtk_widget_set_sensitive(widgets->BuildingButton,0); + } + // gtk_button_clicked(GTK_BUTTON(widgets->MoreButton)); + // yon_terminal_integrated_start(widgets->InstallTerminal,pacman_update_command); - yon_save_window_set_postsave_function(on_save_done,widgets); + yon_save_window_set_postsave_function(on_save_done,widgets); yon_gtk_widget_set_scroll_window_for_scroll(gtk_widget_get_parent(widgets->InstallTerminal),GTK_SCROLLBAR(widgets->TerminalScroll)); } yon_load_proceed(YON_CONFIG_LOCAL);