From 33275ecd65f0d9dae6d060f2fb9542dbb1798fc3 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 3 Aug 2023 10:55:27 +0600 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D1=83=20?= =?UTF-8?q?=D1=83=D1=81=D1=82=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B5=D0=B2=D1=8B=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D0=BE=D0=BC=20=D0=B4=D0=B8=D1=81=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/model/philos_utils.h | 1 + source/view_set_disk.c | 39 +++++++++++++++++++------------------ source/view_set_disk.h | 2 ++ 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/source/model/philos_utils.h b/source/model/philos_utils.h index 94f1b75..267205e 100644 --- a/source/model/philos_utils.h +++ b/source/model/philos_utils.h @@ -75,6 +75,7 @@ typedef struct { GtkWidget* lblWarningText; GtkWidget* WarrningWindow; GtkWidget* CancelWarrningButton; + GtkWidget* boxBlockGuiAddEdit; } temp_set_window; typedef struct { diff --git a/source/view_set_disk.c b/source/view_set_disk.c index eabc961..5bb7a35 100644 --- a/source/view_set_disk.c +++ b/source/view_set_disk.c @@ -25,22 +25,6 @@ void view_device_set_index(int _index) { view_device_index = _index; } -void view_device_check_activ_disk() { - if (strcmp(view_device_set_add_edit, "add") == 0) { - int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(obj_view_device_widgets->DeviceCombo)); - if (menu_id == -1) { - gtk_widget_set_sensitive(obj_view_device_widgets->btnSaveTempSave, 0); - } - else { - gtk_widget_set_sensitive(obj_view_device_widgets->btnSaveTempSave, 1); - gtk_combo_box_set_active(GTK_COMBO_BOX(obj_view_device_widgets->cmbDeviceSetStatus),0); - } - } - else { - gtk_widget_set_sensitive(obj_view_device_widgets->btnSaveTempSave, 1); - } -} - view_device_set_window *view_device_setup_window_base(char* __glade_path) { view_device_glade_path = __glade_path; if (obj_view_device_widgets == NULL) { @@ -68,6 +52,7 @@ view_device_set_window *view_device_setup_window_custom(view_device_set_window* obj_view_device_widgets->cmbDeviceSetStatus = yon_gtk_builder_get_widget(builder,"cmbDeviceSetStatus"); obj_view_device_widgets->DeviceCombo = yon_gtk_builder_get_widget(builder,"DeviceCombo"); obj_view_device_widgets->lblHeadQuotasEditDeviceWindow = yon_gtk_builder_get_widget(builder,"lblHeadQuotasEditDeviceWindow"); + obj_view_device_widgets->boxBlockGuiAddEditDevice = yon_gtk_builder_get_widget(builder,"boxBlockGuiAddEditDevice"); if (strcmp(view_device_set_add_edit, "add") == 0) { gtk_label_set_label(GTK_LABEL(obj_view_device_widgets->lblHeadQuotasEditDeviceWindow), _("Settings quotas - Addition")); gtk_widget_hide(obj_view_device_widgets->lblNameDevice); @@ -79,7 +64,7 @@ view_device_set_window *view_device_setup_window_custom(view_device_set_window* gtk_widget_hide(obj_view_device_widgets->DeviceCombo); } view_device_fill_gui(); - view_device_check_activ_disk(); + view_device_set_combo_box_device(); } void view_device_show(GtkWidget *self, char* __glade_path) { @@ -100,6 +85,7 @@ void view_device_save() { void view_device_event(view_device_set_window* view_device_view_device_widgets) { + g_signal_connect(G_OBJECT(obj_view_device_widgets->DeviceCombo), "changed", G_CALLBACK(view_device_set_combo_box_device), NULL); g_signal_connect(G_OBJECT(obj_view_device_widgets->Window), "destroy", G_CALLBACK(view_device_destroy), obj_view_device_widgets->Window); g_signal_connect(G_OBJECT(obj_view_device_widgets->btnTempCancel),"clicked",G_CALLBACK(view_device_on_destroy_subwindow), NULL); g_signal_connect(G_OBJECT(obj_view_device_widgets->spinWeeksSize), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); @@ -110,10 +96,25 @@ void view_device_event(view_device_set_window* view_device_view_device_widgets) g_signal_connect(G_OBJECT(obj_view_device_widgets->spinDaysFile), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); g_signal_connect(G_OBJECT(obj_view_device_widgets->spinHoursFile), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); g_signal_connect(G_OBJECT(obj_view_device_widgets->spinMinutesFile), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); - g_signal_connect(G_OBJECT(obj_view_device_widgets->DeviceCombo), "changed", G_CALLBACK(view_device_check_activ_disk), NULL); } - +void view_device_set_combo_box_device() { + if (strcmp(view_device_set_add_edit, "add")==0) { + int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(obj_view_device_widgets->DeviceCombo)); + if (disk_id == -1) { + gtk_widget_set_sensitive(obj_view_device_widgets->boxBlockGuiAddEditDevice, 0); + gtk_widget_set_sensitive(obj_view_device_widgets->btnSaveTempSave, 0); + } + else { + gtk_widget_set_sensitive(obj_view_device_widgets->boxBlockGuiAddEditDevice, 1); + gtk_widget_set_sensitive(obj_view_device_widgets->btnSaveTempSave, 1); + int status_id = gtk_combo_box_get_active(GTK_COMBO_BOX(obj_view_device_widgets->cmbDeviceSetStatus)); + if (status_id == -1) { + gtk_combo_box_set_active(GTK_COMBO_BOX(obj_view_device_widgets->cmbDeviceSetStatus), 0); + } + } + } +} void view_device_on_destroy_subwindow(GtkWidget *self) { if (self) { diff --git a/source/view_set_disk.h b/source/view_set_disk.h index 6b30a55..34c08dd 100644 --- a/source/view_set_disk.h +++ b/source/view_set_disk.h @@ -34,6 +34,7 @@ typedef struct { GtkWidget* DeviceCombo; GtkWidget* cmbDeviceSetStatus; GtkWidget* lblHeadQuotasEditDeviceWindow; + GtkWidget* boxBlockGuiAddEditDevice; char* name; } view_device_set_window; @@ -46,6 +47,7 @@ void view_device_update_gui_spin_time(); void view_device_fill_gui(); void view_device_set_index(int _index); void set_view_device_menu(char* _set_add_edit); +void view_device_set_combo_box_device(); void view_device_set_vector_device(vector* _vec_device); void set_view_device_menu(char* _set_add_edit); void view_device_show(GtkWidget *self, char* __glade_path);