Сделал удаление дисков из программы

pull/24/head
Igor Belitskiy 2 years ago
parent b72a39dd66
commit 329de1ce25

@ -10,9 +10,22 @@ int note_selected = -1;
// 1 group
// 2 project
void update_time_table(vector* vec_temp) {
for (int index = 0; index < all_config.v_disk_status.vectorList.total; index++) {
disk_status* _config_device = (disk_status*)all_config.v_disk_status.pfVectorGet(&all_config.v_disk_status, index);
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 (strstr(_config->UNIX_file, _config_device->device)) {
_config->deferring_size = _config_device->deferring_size;
_config->deferring_file = _config_device->deferring_file;
}
}
}
}
void entry_user_disk(GtkWidget *self, int* flag_update) {
update_time_table(&all_config.v_user);
if (flag_update) {
all_config.flag_set_data = 1;
all_config.flag_save = 3;
@ -27,6 +40,7 @@ void entry_user_disk(GtkWidget *self, int* flag_update) {
}
void entry_device_disk(GtkWidget *self, int* flag_update) {
if (flag_update) {
all_config.flag_set_data = 1;
all_config.flag_save = 3;
@ -38,6 +52,9 @@ void entry_device_disk(GtkWidget *self, int* flag_update) {
g_object_ref(cfg_custom_gui.device.liststore);
gtk_list_store_clear(cfg_custom_gui.device.liststore);
}
entry_user_disk(0, 0);
entry_groups_disk(0, 0);
entry_project_disk(0, 0);
wrapper_fill_tree_view_generate(&all_config, &cfg_custom_gui);
tree_view_select_user(NULL);
tree_view_select_group(NULL);
@ -45,6 +62,7 @@ void entry_device_disk(GtkWidget *self, int* flag_update) {
}
void entry_groups_disk(GtkWidget *self,int* flag_update) {
update_time_table(&all_config.v_group);
if (flag_update) {
all_config.flag_set_data = 1;
all_config.flag_save = 3;
@ -59,6 +77,7 @@ void entry_groups_disk(GtkWidget *self,int* flag_update) {
}
void entry_project_disk(GtkWidget *self,int* flag_update) {
update_time_table(&all_config.v_project);
if (flag_update) {
all_config.flag_set_data = 1;
all_config.flag_save = 3;
@ -140,7 +159,7 @@ void wrapper_add_project_show() {
g_signal_connect(G_OBJECT(get_widget_temp()->btnSaveTempSave),"clicked",G_CALLBACK(entry_project_disk),&i);
}
void wrapper_edit_project_show() {
void wrapper_edit_project_show(GtkWidget* self, vector* vec_temp) {
int index = wrapper_select_tree_view(&cfg_custom_gui.project);
set_temp_menu("prjquota", "edit");
temp_set_index(index);
@ -152,7 +171,7 @@ void wrapper_edit_project_show() {
g_signal_connect(G_OBJECT(get_widget_temp()->btnSaveTempSave),"clicked",G_CALLBACK(entry_project_disk),&i);
}
void wrapper_edit_view_device_show() {
void wrapper_edit_view_device_show(GtkWidget* self) {
view_device_set_vector_device(&all_config.v_disk_status);
view_device_set_index(index_selected);
set_view_device_menu("edit");
@ -161,7 +180,7 @@ void wrapper_edit_view_device_show() {
g_signal_connect(G_OBJECT(get_widget_view_device()->btnSaveTempSave),"clicked",G_CALLBACK(entry_device_disk),&i);
}
void wrapper_add_view_device_show() {
void wrapper_add_view_device_show(GtkWidget* self) {
view_device_set_vector_device(&all_config.v_disk_status);
view_device_set_index(-1);
set_view_device_menu("add");
@ -217,8 +236,14 @@ void tree_view_select(GtkWidget* self, vector* vec_temp, hotebook* widgets) {
gtk_widget_set_sensitive(widgets->btnDel, 0);
gtk_widget_set_sensitive(widgets->btnEdit, 0);
}
}
void del_disk_to_vector_device(vector* vec_temp, char* str_disk) {
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 (strstr(_config->UNIX_file, str_disk)) {
vec_temp->pfVectorDelete(vec_temp, i);
}
}
}
void device_remove() {
if (note_selected == 3) {
@ -231,6 +256,9 @@ void device_remove() {
if (index!=-1) {
index_selected = -1;
disk_status* _config = (disk_status*)all_config.v_disk_status.pfVectorGet(&all_config.v_disk_status, index);
del_disk_to_vector_device(&all_config.v_user, _config->device);
del_disk_to_vector_device(&all_config.v_group, _config->device);
del_disk_to_vector_device(&all_config.v_general, _config->device);
model_clear_cfg_device(_config);
all_config.v_disk_status.pfVectorDelete(&all_config.v_disk_status, index);
all_config.flag_save = 1;
@ -238,10 +266,16 @@ void device_remove() {
}
}
}
entry_user_disk(0, 0);
entry_groups_disk(0, 0);
entry_project_disk(0, 0);
tree_view_select_user(NULL);
tree_view_select_group(NULL);
tree_view_select_project(NULL);
}
void template_remove(vector* vec_temp, hotebook* widgets) {
int index = wrapper_select_tree_view(widgets);
if (index!=-1) {
@ -345,20 +379,28 @@ void load_system_cfg() {
all_config.flag_load = 0;
load_template_load_cfg(&all_config, CMD_LOAD_SYSTEM);
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL, BACKGROUND_IMAGE_SUCCESS_TYPE);
entry_device_disk(0, 0);
entry_user_disk(0, 0);
entry_groups_disk(0, 0);
entry_device_disk(0, 0);
entry_project_disk(0, 0);
tree_view_select_user(NULL);
tree_view_select_group(NULL);
tree_view_select_project(NULL);
tree_view_select_device(NULL);
}
void load_global_cfg() {
all_config.flag_load = 1;
load_template_load_cfg(&all_config, CMD_LOAD_GLOBAL);
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
entry_device_disk(0, 0);
entry_user_disk(0, 0);
entry_groups_disk(0, 0);
entry_device_disk(0, 0);
entry_project_disk(0, 0);
tree_view_select_user(NULL);
tree_view_select_group(NULL);
tree_view_select_project(NULL);
tree_view_select_device(NULL);
}
void tree_view_select_device(GtkWidget* self) {

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

@ -66,6 +66,10 @@
#define DAYS _("d ")
#define HOURS _("h ")
#define MINUTES _("m ")
#define STR_ON _("On")
#define STR_OFF _("Off")
#define SAVE_FAILED_LABEL
#define STR_USER _("User");

@ -15,6 +15,7 @@
#include "model/my_device.h"
typedef struct {
GtkWidget* Window;
GtkWidget* btnSaveTempSave;
@ -37,6 +38,7 @@ typedef struct {
view_device_set_window* get_widget_view_device();
void view_device_get_gui_data();
void view_device_get_vector_u_g_p(vector* _vec_u_g_p);
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();

@ -84,14 +84,23 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
temp_widgets->boxTempDevice = yon_gtk_builder_get_widget(builder, "boxTempDevice");
temp_widgets->entryUser = yon_gtk_builder_get_widget(builder,"entryUser");
temp_widgets->UserDeviceCombo = yon_gtk_builder_get_widget(builder,"UserDeviceCombo");
temp_widgets->lblSetQuotasStatus = yon_gtk_builder_get_widget(builder,"lblSetQuotasStatus");
table_u_g_set_flag(flag_temp_u_g_p,set_add_edit);
table_u_g_set_glade_path(_glade_path);
temp_settings();
}
void temp_settings() {
char *split_simvol = " ";
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
disk_status* _config = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo), _config->device);
char* str_disk = yon_char_unite(_config->device,split_simvol,
_config->fs,
split_simvol,
_config->mount_point,
split_simvol,
_config->name, NULL);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo), yon_char_new(str_disk));
free(str_disk);
}
if (strcmp(flag_temp_u_g_p,"prjquota")==0) {
gtk_widget_hide(temp_widgets->lblSetUGP);
@ -319,6 +328,17 @@ void set_edit_gui_data_base(config_all* all_config, int index) {
_config->severe_limitation_file,
0
);
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
disk_status* _config_disk = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);
if (strstr(_config_disk->device, _config->UNIX_file)) {
if (_config_disk->status == 1) {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus), _("Off"));
}
else if (_config_disk->status == 2) {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus), _("On"));
}
}
}
if (strstr(flag_temp_u_g_p,"prjquota")) {
if (strstr(set_add_edit, "add")) {
}
@ -330,15 +350,17 @@ void set_edit_gui_data_base(config_all* all_config, int index) {
if (strcmp(actors,"-")!=0) {
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectName), actors);
}
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetNameDevice), _config->UNIX_file);
}
}
else {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetNameDevice), disk);
if (strcmp(set_add_edit, "add")==0) {
//table_u_g_get_actors(&temp_vec_actors);
}
else {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetNameDevice), _config->UNIX_file);
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetUGPData), format_actors(&_config->actors));
}
@ -502,9 +524,23 @@ config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config) {
&_config->severe_limitation_file,
NULL
);
char* str_disk = NULL;
if (strcmp(set_add_edit, "add")==0) {
str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo));
}
else {
char* str_disk = (char*)gtk_label_get_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus));
}
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
disk_status* _config_disk = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);
if (strstr(str_disk, _config_disk->device)) {
_config->deferring_size = _config_disk->deferring_size;
_config->deferring_file = _config_disk->deferring_file;
}
}
// _config->status_set= 0;
if (strstr(flag_temp_u_g_p,"prjquota")) {
char* actors = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryProjectName));
if (strlen(actors)>1) {
if (_config->actors.vectorList.total > 0) {

Loading…
Cancel
Save