From 6e59c351d311055e64f094e1c572406184794876 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 28 Apr 2026 10:16:34 +0600 Subject: [PATCH] Devices and partitions update improvements --- source/ubinstall-gtk-installation.c | 37 ++++++++++++++++++++++++++++- source/ubinstall-gtk.c | 29 ++++++++++++++-------- source/ubinstall-gtk.h | 4 +++- 3 files changed, 58 insertions(+), 12 deletions(-) diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index 23abf14..6307345 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -194,11 +194,46 @@ void yon_size_changed(GtkSpinButton *self, main_window *widgets){ } } -void *yon_partitions_list_load(main_window *){ +void yon_gparted_update_unlock(main_window *widgets){ + gtk_widget_set_sensitive(widgets->CommonInstallationDevicesTree,1); + gtk_widget_set_sensitive(widgets->NextInstallationSysDevicesTree,1); + gtk_widget_set_sensitive(widgets->NextInstallationSysSectionTree,1); + gtk_widget_set_sensitive(widgets->SamePlaceDeviceTree,1); + gtk_widget_set_sensitive(widgets->SamePlacePartTree,1); + gtk_widget_set_sensitive(widgets->GrubInstallDevicesTree,1); + gtk_widget_set_sensitive(widgets->GrubInstallPartitionTree,1); + gtk_widget_set_sensitive(widgets->GrubUpdateDevicesTree,1); + gtk_widget_set_sensitive(widgets->GrubUpdatePartitionTree,1); + gtk_widget_set_sensitive(widgets->OSDevicesTree,1); + gtk_widget_set_sensitive(widgets->OSSysSectionTree,1); + gtk_widget_set_sensitive(widgets->UserdataDevicesTree,1); + gtk_widget_set_sensitive(widgets->UserdataSysSectionTree,1); + + gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,1); + gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,1); + yon_devices_setup(widgets); +} + +void *yon_partitions_list_load(main_window *widgets){ main_config.partitions = yon_config_load(yon_debug_output("%s\n",get_parts_for_device_command),&main_config.part_size); for (int i=0;iOSUpdateGpartedButton,0); gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,0); gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,0); + + gtk_widget_set_sensitive(widgets->CommonInstallationDevicesTree,0); + gtk_widget_set_sensitive(widgets->NextInstallationSysDevicesTree,0); + gtk_widget_set_sensitive(widgets->NextInstallationSysSectionTree,0); + gtk_widget_set_sensitive(widgets->SamePlaceDeviceTree,0); + gtk_widget_set_sensitive(widgets->SamePlacePartTree,0); + gtk_widget_set_sensitive(widgets->GrubInstallDevicesTree,0); + gtk_widget_set_sensitive(widgets->GrubInstallPartitionTree,0); + gtk_widget_set_sensitive(widgets->GrubUpdateDevicesTree,0); + gtk_widget_set_sensitive(widgets->GrubUpdatePartitionTree,0); + gtk_widget_set_sensitive(widgets->OSDevicesTree,0); + gtk_widget_set_sensitive(widgets->OSSysSectionTree,0); + gtk_widget_set_sensitive(widgets->UserdataDevicesTree,0); + gtk_widget_set_sensitive(widgets->UserdataSysSectionTree,0); + if (main_config.devices_size) yon_char_parsed_free(main_config.devices,main_config.devices_size); - main_config.devices = yon_config_load(get_devices_command,&main_config.devices_size); + g_thread_new("devices_thread",(GThreadFunc)yon_devices_list_load,widgets); - yon_devices_setup(widgets); - gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,1); - gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,1); + if (main_config.part_size) yon_char_parsed_free(main_config.partitions,main_config.part_size); + g_thread_new("Partitions_thread",(GThreadFunc)yon_partitions_list_load,widgets); + } void on_reboot_accepted(main_window *widgets){ diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index a2509e0..806b870 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1646,4 +1646,6 @@ void yon_db_unlock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main void on_config_install_success(GtkWidget *self, int state, main_window *widgets); void *on_quick_install_start(void *data); void on_autoinstall_start(GtkWidget *self, main_window *widgets); -void *on_auto_install_start(void *data); \ No newline at end of file +void *on_auto_install_start(void *data); +void yon_gparted_update_unlock(main_window *widgets); +void *yon_devices_list_load(main_window *widgets); \ No newline at end of file