|
|
|
@ -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");
|
|
|
|
@ -216,9 +235,15 @@ void tree_view_select(GtkWidget* self, vector* vec_temp, hotebook* widgets) {
|
|
|
|
|
else {
|
|
|
|
|
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) {
|
|
|
|
|