From 2f1c7947540ed5eb39d4f726945c60c3bfd06968 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 27 Jul 2023 16:58:43 +0600 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B4=D0=B8=D1=81=D0=BA=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/model/my_device.c | 25 +++++++++++++++++++------ source/model/my_device.h | 2 +- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/source/model/my_device.c b/source/model/my_device.c index 96153ab..10a47f9 100644 --- a/source/model/my_device.c +++ b/source/model/my_device.c @@ -53,13 +53,26 @@ void device_disk_parsed() { philos_free_string_array(&responce, size); } -void device_fill_disk(GtkWidget *combo_box_text) -{ - if (vec_disk.vectorList.total > 0) { - for (int index = 0; index < vec_disk.vectorList.total; index++) +void device_fill_disk(GtkWidget *combo_box_text, vector* vec_filt) +{ + vector vec; + vector_init(&vec); + vec.pfVectorCopy(&vec, &vec_disk); + for (int i = 0; i < vec_filt->vectorList.total; i++) { + disk_status* _config_disk_remove = (disk_status*)vec_filt->pfVectorGet(vec_filt, i); + for (int index = 0; index < vec.vectorList.total; index++) { + device_config* _config_disk = (device_config*)vec.pfVectorGet(&vec, index); + if (strstr(_config_disk->name_disk, _config_disk_remove->device)) { + vec.pfVectorDelete(&vec, index); + } + } + } + + if (vec.vectorList.total > 0) { + for (int index = 0; index < vec.vectorList.total; index++) { - device_config* obj_device_config = (device_config*)vec_disk.pfVectorGet(&vec_disk, index); - gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), yon_char_new(obj_device_config->description_disk)); + device_config* _config_disk_remove = (device_config*)vec.pfVectorGet(&vec, index); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), yon_char_new(_config_disk_remove->description_disk)); } } } diff --git a/source/model/my_device.h b/source/model/my_device.h index 89219b4..4fea28b 100644 --- a/source/model/my_device.h +++ b/source/model/my_device.h @@ -16,7 +16,7 @@ typedef struct { void device_disk_parsed(); vector *get_device_vec(); -void device_fill_disk(GtkWidget* combo_box_text); +void device_fill_disk(GtkWidget* combo_box_text, vector* vec_filt); size_t get_mem_total(); float get_size_pow_memory(size_t size_memory, int size); size_t get_resurs_total(char* cmd);