From bf62fc28d17e3dbeb57a1e929a3906d859e4b16a Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 28 Feb 2025 11:17:04 +0600 Subject: [PATCH] Fixed update window size and position saving --- source/ubl-settings-kernel.c | 65 +++++++++++++++++------------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 8dd612c..6c4a2ac 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -806,11 +806,11 @@ void on_module_install_clicked(GtkWidget *self,dictionary *dict){ } } else { if (!gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))){ - yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),self==tab->update_package_button?UPDATE_MODULE_TITLE_LABEL:INSTALL_MODULE_TITLE_LABEL,icon_path,"dialog"); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),self==tab->update_package_button?UPDATE_MODULE_TITLE_LABEL:INSTALL_MODULE_TITLE_LABEL,icon_path,self==tab->update_package_button?"update_dialog":"dialog"); action_text = KERNEL_MODULE_INSTALL_CONFIRMATION_LABEL(tab->name); gtk_label_set_text(GTK_LABEL(window->HeadLabel),INSTALL_MODULE_TITLE_LABEL); } else { - yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),self==tab->update_package_button?UPDATE_MODULE_TITLE_LABEL:INSTALL_MODULE_TITLE_LABEL,icon_path,"additions_dialog"); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),self==tab->update_package_button?UPDATE_MODULE_TITLE_LABEL:INSTALL_MODULE_TITLE_LABEL,icon_path,self==tab->update_package_button?"update_dialog":"additions_dialog"); action_text = ADDITION_MODULE_INSTALL_CONFIRMATION_LABEL(tab->name); gtk_label_set_text(GTK_LABEL(window->HeadLabel),INSTALL_ADDITION_MODULE_TITLE_LABEL); } @@ -819,28 +819,24 @@ void on_module_install_clicked(GtkWidget *self,dictionary *dict){ gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text); gtk_widget_show(window->Window); yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); - if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))){ + if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))||self==tab->update_module_button){ gtk_widget_hide(window->DependencesFrame); gtk_box_set_child_packing(GTK_BOX(gtk_widget_get_parent(window->DependencesFrame)),gtk_widget_get_parent(gtk_widget_get_parent(window->TopicLabel)),1,1,0,GTK_PACK_START); } else { - if (self!=tab->update_module_button){ - int size; - config_str additions = yon_resource_open_file(kernels_addon_path,&size); - GtkTreeIter iter; - for (int i=0;imodule_requirements_size;i++){ - gtk_list_store_append(window->liststore1,&iter); - for (int j=1;jmodule_requirements[i])) - gtk_list_store_set(window->liststore1,&iter,1,parsed[1],2,parsed[3],4,1,-1); - yon_char_parsed_free(parsed,cur_size); - } + int size; + config_str additions = yon_resource_open_file(kernels_addon_path,&size); + GtkTreeIter iter; + for (int i=0;imodule_requirements_size;i++){ + gtk_list_store_append(window->liststore1,&iter); + for (int j=1;jmodule_requirements[i])) + gtk_list_store_set(window->liststore1,&iter,1,parsed[1],2,parsed[3],4,1,-1); + yon_char_parsed_free(parsed,cur_size); } - yon_char_parsed_free(additions,size); - } else { - gtk_widget_hide(window->DependencesFrame); } + yon_char_parsed_free(additions,size); } } @@ -883,24 +879,25 @@ void on_package_install_clicked(GtkWidget *self,dictionary *dict){ } else { gtk_label_set_text(GTK_LABEL(window->HeadLabel),self==tab->update_package_button?UPDATE_PACKAGE_TITLE_LABEL:INSTALL_PACKAGE_TITLE_LABEL); gtk_label_set_text(GTK_LABEL(window->TopicLabel),KERNEL_PACKAGE_UPDATE_CONFIRMATION_LABEL(tab->package)); - yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),self==tab->update_package_button?UPDATE_PACKAGE_TITLE_LABEL:INSTALL_PACKAGE_TITLE_LABEL,icon_path,"dialog"); if (self!=tab->update_package_button){ - int size; - config_str additions = yon_resource_open_file(kernels_addon_path,&size); - GtkTreeIter iter; - for (int i=0;ipackage_requirements_size;i++){ - gtk_list_store_append(window->liststore1,&iter); - for (int j=1;jpackage_requirements[i])) - gtk_list_store_set(window->liststore1,&iter,2,parsed[3],-1); - yon_char_parsed_free(parsed,cur_size); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),INSTALL_PACKAGE_TITLE_LABEL,icon_path,"dialog"); + int size; + config_str additions = yon_resource_open_file(kernels_addon_path,&size); + GtkTreeIter iter; + for (int i=0;ipackage_requirements_size;i++){ + gtk_list_store_append(window->liststore1,&iter); + for (int j=1;jpackage_requirements[i])) + gtk_list_store_set(window->liststore1,&iter,2,parsed[3],-1); + yon_char_parsed_free(parsed,cur_size); + } + gtk_list_store_set(window->liststore1,&iter,0,1,1,tab->package_requirements[i],4,1,-1); } - gtk_list_store_set(window->liststore1,&iter,0,1,1,tab->package_requirements[i],4,1,-1); - } - yon_char_parsed_free(additions,size); + yon_char_parsed_free(additions,size); } else { + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),UPDATE_PACKAGE_TITLE_LABEL,icon_path,"update_dialog"); gtk_widget_hide(window->DependencesFrame); }