From a4619c469ce2dac2bf60e7f35e867b45102abed6 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 24 Dec 2025 10:26:17 +0000 Subject: [PATCH] fixed two 'Back' buttons when cancelling from system cofiguration pages --- source/ubinstall-gtk-page-switch.c | 50 ++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index d3746d6..0aa35fc 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -453,30 +453,48 @@ void on_page_prev_clicked(GtkWidget *, main_window *widgets){ } void on_page_cancel_clicked(GtkWidget *, main_window *widgets){ - gtk_widget_hide(widgets->BackButton); - gtk_widget_hide(widgets->SourceButton); - gtk_widget_show(widgets->NextButton); - gtk_widget_show(widgets->StartScenarioButton); - gtk_widget_set_sensitive(widgets->CancelInstallButton,0); - gtk_widget_set_sensitive(widgets->BackButton,1); - gtk_widget_set_sensitive(widgets->NextButton,1); - gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); - yon_page_update(widgets); if (main_config.install_thread){ dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); data->action_text=INTERRUPT_TEXT_LABEL; data->title=WARNING_TITLE_LABEL; if (yon_confirmation_dialog_call(widgets->MainWindow,data)==GTK_RESPONSE_ACCEPT ){ - if (main_config.install_thread){ - gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_LICENCE); - on_page_prev_clicked(NULL,widgets); - gtk_widget_hide(gtk_widget_get_parent(widgets->InstallationProgress)); - gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); - pthread_cancel((pthread_t)main_config.install_thread); - } + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_LICENCE); + on_page_prev_clicked(NULL,widgets); + gtk_widget_hide(gtk_widget_get_parent(widgets->InstallationProgress)); + gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); + pthread_cancel((pthread_t)main_config.install_thread); + + gtk_widget_hide(widgets->BackButton); + gtk_widget_hide(widgets->SourceButton); + gtk_widget_show(widgets->NextButton); + gtk_widget_show(widgets->StartScenarioButton); + gtk_widget_set_sensitive(widgets->CancelInstallButton,0); + gtk_widget_set_sensitive(widgets->BackButton,1); + gtk_widget_set_sensitive(widgets->NextButton,1); + gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); + gtk_widget_show(widgets->NextButton); + gtk_widget_show(widgets->BackButton); + gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL); + GtkWidget *image = gtk_button_get_image(GTK_BUTTON(widgets->NextButton)); + gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_right_icon_path,GTK_ICON_SIZE_BUTTON); + yon_page_update(widgets); } } else { + gtk_widget_hide(widgets->BackButton); + gtk_widget_hide(widgets->SourceButton); + gtk_widget_show(widgets->NextButton); + gtk_widget_show(widgets->StartScenarioButton); + gtk_widget_set_sensitive(widgets->CancelInstallButton,0); + gtk_widget_set_sensitive(widgets->BackButton,1); + gtk_widget_set_sensitive(widgets->NextButton,1); + gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); + gtk_widget_show(widgets->NextButton); + gtk_widget_show(widgets->BackButton); + gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL); + GtkWidget *image = gtk_button_get_image(GTK_BUTTON(widgets->NextButton)); + gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_right_icon_path,GTK_ICON_SIZE_BUTTON); + yon_page_update(widgets); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_LICENCE); on_page_prev_clicked(NULL,widgets); }