Добавлены функции для работы с вектором структур дисков

pull/24/head
Igor Belitskiy 2 years ago
parent c4113084ad
commit d734d67b93

@ -25,6 +25,13 @@ void model_clear_cfg(config_u_g_p* _config) {
free(_config->loaded_keys);
}
void model_clear_cfg_device(disk_status* _config) {
free(_config->device);
free(_config->fs);
free(_config->mount_point);
free(_config->name);
}
void model_free_vector_string(vector* vec_str) {
if (vec_str->vectorList.total> 0) {
for (int i = 0; i < vec_str->vectorList.total; i++) {
@ -117,7 +124,7 @@ int fill_tree_view_project(config_all* all_config,hotebook* widget , char* str_f
return flag_searhc;
}
int fill_tree_view_user_group(config_all* all_config, char* disk, hotebook* widget,char* str_fill ,int flag_gui_add) {
int fill_tree_view_user_group(config_all* all_config, hotebook* widget, char* str_fill ,int flag_gui_add) {
GtkTreeModel *model = GTK_TREE_MODEL(widget->liststore);
if (flag_gui_add == 0) {
g_object_ref(widget->liststore);
@ -135,7 +142,7 @@ int fill_tree_view_user_group(config_all* all_config, char* disk, hotebook* widg
if (vec_temp->vectorList.total > 0) {
for (int i = 0; i < vec_temp->vectorList.total; i++) {
config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, i);
if (strcmp(_config->type_arr, str_fill) == 0 && strstr(_config->UNIX_file, disk)) {
if (strcmp(_config->type_arr, str_fill) == 0) {
GtkTreeIter iter;
flag_searhc++;
gtk_list_store_append(widget->liststore,&iter);
@ -248,4 +255,42 @@ int fill_tree_view_generate(vector* vec_fill, vector* vec_status_disk, char* str
return 1;
}
int pars_status_device(disk_status* _config) {
if (_config->status == 2) {
return 1;
}
return 0;
}
int fill_tree_view_device(vector* vec_device, hotebook* widget, int flag_gui_add) {
GtkTreeModel *model = GTK_TREE_MODEL(widget->liststore);
if (flag_gui_add == 0) {
g_object_ref(widget->liststore);
// gtk_tree_view_set_model(GTK_TREE_VIEW(widget->tree_view), NULL);
gtk_list_store_clear(widget->liststore);
}
int flag_searhc = 0;
if (vec_device->vectorList.total > 0) {
for (int i = 0; i < vec_device->vectorList.total; i++) {
disk_status* _config = (disk_status*)vec_device->pfVectorGet(vec_device, i);
GtkTreeIter iter;
flag_searhc++;
gtk_list_store_append(widget->liststore,&iter);
char* deferring_size = wrapper_str_time(_config->deferring_size);
char* deferring_file = wrapper_str_time(_config->deferring_file);
gtk_list_store_set(widget->liststore,&iter,
0,pars_status_device(_config),
1,_config->device,
2,_config->mount_point,
3,_config->fs,
4,_config->name,
5,deferring_size,
6,deferring_file,
-1);
}
}
if (flag_gui_add != 0) {
gtk_tree_view_set_model(GTK_TREE_VIEW(widget->tree_view), model);
}
return flag_searhc;
}

@ -42,9 +42,15 @@ typedef struct {
int count_remove;
int flag_not_data;
} config_all;
typedef struct{
char* device;
int status;
size_t deferring_size;
size_t deferring_file;
char* fs;
char* mount_point;
char* name;
} disk_status;
typedef struct{
@ -56,13 +62,15 @@ typedef struct{
int flag_load;
} config_gui;
void model_clear_cfg_device(disk_status* _config);
char* wrapper_str_time(size_t seconds);
void model_null_str_writing(config_u_g_p* _config);
void model_clear_cfg(config_u_g_p* _config);
void model_array_size_memory();
char* format_actors(vector* vec_actors);
void model_free_vector_string(vector* vec_str);
int fill_tree_view_user_group(config_all* all_config, char* disk, hotebook* widget,char* str_fill , int flag_gui_add);
int fill_tree_view_user_group(config_all* all_config, hotebook* widget,char* str_fill , int flag_gui_add);
int fill_tree_view_project(config_all* all_config, hotebook* widget, char* str_fill , int flag_gui_add);
int fill_tree_view_generate(vector* vec_fill, vector* vec_status_disk, char* str_fill, GtkWidget* tree_view, GtkListStore* liststoreGeneral);
int fill_tree_view_device(vector* vec_device, hotebook* widget, int flag_gui_add);
#endif

@ -73,7 +73,7 @@ typedef struct {
GtkWidget* lblSetNameDevice;
GtkWidget* boxProjectAddEditboxProjectId;
GtkWidget* entryUser;
GtkWidget* UserDeviceCombo;
} temp_set_window;
typedef struct {

Loading…
Cancel
Save