From c4113084ad5feb6a4b18d11f0887f5d10e927e59 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Wed, 26 Jul 2023 14:57:18 +0600 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D1=82=D0=B0=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D0=BF=D0=BE=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8E=20=D1=84=D1=83?= =?UTF-8?q?=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=D0=B0=20=D0=B2?= =?UTF-8?q?=20=D0=BE=D0=BA=D0=BD=D0=BE=20=D1=83=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/view_set_disk.c | 168 +++++++++++++++++++++++++++-------------- source/view_set_disk.h | 9 +++ 2 files changed, 119 insertions(+), 58 deletions(-) diff --git a/source/view_set_disk.c b/source/view_set_disk.c index 27c7bb4..ac63fcc 100644 --- a/source/view_set_disk.c +++ b/source/view_set_disk.c @@ -4,15 +4,14 @@ view_device_set_window *obj_view_device_widgets = NULL; char* view_device_glade_path = NULL; int view_device_index = 0; char* view_device_set_add_edit = NULL; - - - +vector* vec_device = NULL; void set_view_device_menu(char* _set_add_edit) { view_device_set_add_edit = _set_add_edit; } - - +void view_device_set_vector_device(vector* _vec_device) { + vec_device = _vec_device; +} view_device_set_window* get_widget_view_device() { return obj_view_device_widgets; } @@ -46,6 +45,7 @@ view_device_set_window *view_device_setup_window_custom(view_device_set_window* obj_view_device_widgets->spinMinutesSize = yon_gtk_builder_get_widget(builder,"spinMinutesSize"); obj_view_device_widgets->lblNameDevice = yon_gtk_builder_get_widget(builder,"lblNameDevice"); obj_view_device_widgets->DeviceCombo = yon_gtk_builder_get_widget(builder,"DeviceCombo"); + obj_view_device_widgets->cmbDeviceSetStatus = yon_gtk_builder_get_widget(builder,"cmbDeviceSetStatus"); if (strcmp(view_device_set_add_edit, "add") == 0) { gtk_widget_hide(obj_view_device_widgets->lblNameDevice); device_fill_disk(obj_view_device_widgets->DeviceCombo); @@ -53,6 +53,7 @@ view_device_set_window *view_device_setup_window_custom(view_device_set_window* else { gtk_widget_hide(obj_view_device_widgets->DeviceCombo); } + view_device_fill_gui(); } void view_device_show(GtkWidget *self, char* __glade_path) { @@ -65,11 +66,25 @@ void view_device_show(GtkWidget *self, char* __glade_path) { } } +void view_device_save() { + view_device_get_gui_data(); + view_device_on_destroy_subwindow(obj_view_device_widgets->Window); +} + void view_device_event(view_device_set_window* view_device_view_device_widgets) { - g_signal_connect(G_OBJECT(obj_view_device_widgets->Window), "destroy", G_CALLBACK(view_device_destroy), NULL); - g_signal_connect(G_OBJECT(obj_view_device_widgets->btnSaveTempSave),"clicked",G_CALLBACK(view_device_on_destroy_subwindow), 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); + g_signal_connect(G_OBJECT(obj_view_device_widgets->spinDaysSize), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); + g_signal_connect(G_OBJECT(obj_view_device_widgets->spinHoursSize), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); + g_signal_connect(G_OBJECT(obj_view_device_widgets->spinMinutesSize), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); + g_signal_connect(G_OBJECT(obj_view_device_widgets->spinWeeksFile), "value-changed", G_CALLBACK(view_device_update_gui_spin_time), NULL); + 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); } + + void view_device_on_destroy_subwindow(GtkWidget *self) { if (self) { gtk_widget_destroy(gtk_widget_get_toplevel(self)); @@ -84,12 +99,94 @@ void view_device_destroy(GtkWidget *self) { } } -void view_device_get_gui() { - //char* disk = yon_char_new(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX(obj_view_device_widgets->DeviceCombo))); - //disk = yon_char_divide_search(disk, " ", -1); - //int status = gtk_combo_box_get_active_id(GTK_COMBO_BOX(obj_view_device_widgets->cmbDeviceSetStatus)); +void view_device_update_gui_spin_time() { } + +void view_device_fill_gui() { + size_t second_file = 0; + size_t second_size = 0; + if (strcmp(view_device_set_add_edit, "edit") == 0) { + if (view_device_index != -1) { + disk_status* _config = (disk_status*)vec_device->pfVectorGet(vec_device, view_device_index); + second_size = _config->deferring_size; + second_file = _config->deferring_file; + gtk_combo_box_set_active(GTK_COMBO_BOX(obj_view_device_widgets->cmbDeviceSetStatus), _config->status); + gtk_label_set_label(GTK_LABEL(obj_view_device_widgets->lblNameDevice), _config->device); + } + } + view_device_set_time_spin(second_file, second_size); +} +void view_device_get_spin_time(size_t* second_file, size_t* second_size) { + int spin_week_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize)); + int spin_days_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize)); + int spin_hours_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize)); + int spin_minutes_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize)); + *second_size = spin_week_size*7*24*3600+spin_days_size*24*3600+spin_hours_size*3600+spin_minutes_size*60; + int spin_week_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile)); + int spin_days_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile)); + int spin_hours_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile)); + int spin_minutes_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile)); + *second_file = spin_week_file*7*24*3600+spin_days_file*24*3600+spin_hours_file*3600+spin_minutes_file*60; + view_device_set_time_spin(*second_file, *second_size); +} + +void view_device_get_gui_data() { + char* disk = NULL; + int status_id = gtk_combo_box_get_active(GTK_COMBO_BOX(obj_view_device_widgets->cmbDeviceSetStatus)); + disk_status* _config = NULL; + size_t second_file = 0; + size_t second_size = 0; + view_device_get_spin_time(&second_file, &second_size); + if (view_device_index != -1) { + _config = (disk_status*)vec_device->pfVectorGet(vec_device, view_device_index); + + } + else { + _config = malloc(sizeof(disk_status)); + disk = yon_char_new(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(obj_view_device_widgets->DeviceCombo))); + _config->device = yon_char_divide_search(disk, " ", -1); + _config->fs = disk; + _config->mount_point = yon_char_new(""); + _config->name = yon_char_new(""); + + } + _config->deferring_size = second_size; + _config->deferring_file = second_file; + _config->status = status_id; + if (view_device_index == -1) { + vec_device->pfVectorAdd(vec_device, _config); + } + +} +void view_device_set_time_spin(size_t seconds_file, size_t seconds_size) { + me_time t_file = time_convert(seconds_file); + me_time t_size = time_convert(seconds_size); + if (seconds_file!=-1) { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile), t_file.weeks); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile), t_file.days); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile), t_file.hours); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile), t_file.minutes); + } + else { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile), 0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile), 0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile), 0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile), 0); + } + if (seconds_size!=-1) { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize), t_size.weeks); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize), t_size.days); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize), t_size.hours); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize), t_size.minutes); + } + else { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize), 0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize), 0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize), 0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize), 0); + } +} /* void get_status_disk(hotebook* widgets) { int menu_id_disk = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->comboBox)); @@ -139,52 +236,7 @@ void template_set_status_disk(GtkWidget* self,hotebook* widgets) { all_config.flag_set_data = 1; } } -void get_spin_time_gui(vector* vec_u_g_p, hotebook* view_device_widgets) { - if (index_selected != -1) { - config_u_g_p* _config = (config_u_g_p*)vec_u_g_p->pfVectorGet(vec_u_g_p, index_selected); - int spin_week_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize)); - int spin_days_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize)); - int spin_hours_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize)); - int spin_minutes_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize)); - size_t second_size = spin_week_size*7*24*3600+spin_days_size*24*3600+spin_hours_size*3600+spin_minutes_size*60; - int spin_week_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile)); - int spin_days_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile)); - int spin_hours_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile)); - int spin_minutes_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile)); - size_t second_file = spin_week_file*7*24*3600+spin_days_file*24*3600+spin_hours_file*3600+spin_minutes_file*60; - set_time_spin(second_file, second_size); - _config->deferring_size = second_size; - _config->deferring_file = second_file; - vec_u_g_p->pfVectorSet(vec_u_g_p, index_selected, _config); - } -} -void set_time_spin(size_t seconds_file, size_t seconds_size) { - me_time t_file = time_convert(seconds_file); - me_time t_size = time_convert(seconds_size); - if (seconds_file!=-1) { - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile), t_file.weeks); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile), t_file.days); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile), t_file.hours); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile), t_file.minutes); - } - else { - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile), 0); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile), 0); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile), 0); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile), 0); - } - if (seconds_size!=-1) { - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize), t_size.weeks); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize), t_size.days); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize), t_size.hours); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize), t_size.minutes); - } - else { - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize), 0); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize), 0); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize), 0); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize), 0); - } -} + + */ \ No newline at end of file diff --git a/source/view_set_disk.h b/source/view_set_disk.h index e22bbc1..1220ae5 100644 --- a/source/view_set_disk.h +++ b/source/view_set_disk.h @@ -30,9 +30,18 @@ typedef struct { GtkWidget* spinMinutesSize; GtkWidget* lblNameDevice; GtkWidget* DeviceCombo; + GtkWidget* cmbDeviceSetStatus; char* name; } view_device_set_window; +view_device_set_window* get_widget_view_device(); +void view_device_get_gui_data(); +void view_device_set_time_spin(size_t seconds_file, size_t seconds_size); +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_vector_device(vector* _vec_device); void set_view_device_menu(char* _set_add_edit); void view_device_show(GtkWidget *self, char* __glade_path); void view_device_event(view_device_set_window* view_device_view_device_widgets);