Исправил окно редактирования

pull/24/head
Igor Belitskiy 2 years ago
parent da9c631c85
commit 4467343fc6

@ -7,6 +7,11 @@ char* _glade_path = NULL;
vector* vec_temp = NULL; vector* vec_temp = NULL;
config_all* _all_config_temp = NULL; config_all* _all_config_temp = NULL;
int table_index = 0; int table_index = 0;
char* disk = NULL;
void set_disk(char* _disk) {
disk = _disk;
}
void set_all_config(config_all* _all_config) { void set_all_config(config_all* _all_config) {
_all_config_temp = _all_config; _all_config_temp = _all_config;
@ -47,7 +52,6 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
temp_widgets->lblSetUGPData = yon_gtk_builder_get_widget(builder, "lblSetUGPData"); temp_widgets->lblSetUGPData = yon_gtk_builder_get_widget(builder, "lblSetUGPData");
temp_widgets->entryCatalogProject = yon_gtk_builder_get_widget(builder, "entryCatalogProject"); temp_widgets->entryCatalogProject = yon_gtk_builder_get_widget(builder, "entryCatalogProject");
temp_widgets->chbAuto = yon_gtk_builder_get_widget(builder, "chbAuto"); temp_widgets->chbAuto = yon_gtk_builder_get_widget(builder, "chbAuto");
temp_widgets->btnGenerateProject = yon_gtk_builder_get_widget(builder, "btnGenerateProject");
temp_widgets->entryProjectName = yon_gtk_builder_get_widget(builder, "entryProjectName"); temp_widgets->entryProjectName = yon_gtk_builder_get_widget(builder, "entryProjectName");
temp_widgets->boxProjectAddEdit = yon_gtk_builder_get_widget(builder, "boxProjectAddEdit"); temp_widgets->boxProjectAddEdit = yon_gtk_builder_get_widget(builder, "boxProjectAddEdit");
temp_widgets->boxProject = yon_gtk_builder_get_widget(builder, "boxProject"); temp_widgets->boxProject = yon_gtk_builder_get_widget(builder, "boxProject");
@ -69,12 +73,14 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
temp_widgets->lblSetNameDevice = yon_gtk_builder_get_widget(builder, "lblSetNameDevice"); temp_widgets->lblSetNameDevice = yon_gtk_builder_get_widget(builder, "lblSetNameDevice");
temp_widgets->lblCatalogProjectEdit = yon_gtk_builder_get_widget(builder, "lblCatalogProjectEdit"); temp_widgets->lblCatalogProjectEdit = yon_gtk_builder_get_widget(builder, "lblCatalogProjectEdit");
temp_widgets->lblProjectIdValueEdit = yon_gtk_builder_get_widget(builder, "lblProjectIdValueEdit"); temp_widgets->lblProjectIdValueEdit = yon_gtk_builder_get_widget(builder, "lblProjectIdValueEdit");
temp_widgets->boxTempDevice = yon_gtk_builder_get_widget(builder, "boxTempDevice");
table_u_g_set_flag(flag_temp_u_g_p); table_u_g_set_flag(flag_temp_u_g_p);
table_u_g_set_glade_path(_glade_path); table_u_g_set_glade_path(_glade_path);
if (strcmp(flag_temp_u_g_p,"project")==0) { if (strcmp(flag_temp_u_g_p,"prjquota")==0) {
gtk_widget_hide(temp_widgets->lblSetUGP); gtk_widget_hide(temp_widgets->lblSetUGP);
gtk_widget_hide(temp_widgets->lblSetUGPData); gtk_widget_hide(temp_widgets->lblSetUGPData);
gtk_widget_hide(temp_widgets->btnOpenUserGroup); gtk_widget_hide(temp_widgets->btnOpenUserGroup);
gtk_widget_hide(temp_widgets->boxTempDevice);
if (strcmp(set_add_edit, "add")==0) { if (strcmp(set_add_edit, "add")==0) {
gtk_widget_hide(temp_widgets->lblCatalogProjectEdit); gtk_widget_hide(temp_widgets->lblCatalogProjectEdit);
gtk_widget_hide(temp_widgets->lblProjectIdValueEdit); gtk_widget_hide(temp_widgets->lblProjectIdValueEdit);
@ -124,12 +130,14 @@ void set_temp_menu(char* _flag_temp_u_g_p, char* _set_add_edit) {
void temp_show(GtkWidget *self, char* _glade_path) { void temp_show(GtkWidget *self, char* _glade_path) {
if (temp_widgets != NULL) { if (temp_widgets != NULL) {
gtk_widget_show(temp_widgets->Window); gtk_widget_show(temp_widgets->Window);
set_activ_project_id();
temp_init_windows(); temp_init_windows();
event_toggled_all(); event_toggled_all();
} }
else { else {
temp_setup_window_base(_glade_path); temp_setup_window_base(_glade_path);
gtk_widget_show(temp_widgets->Window); gtk_widget_show(temp_widgets->Window);
set_activ_project_id();
event_toggled_all(); event_toggled_all();
} }
} }
@ -152,8 +160,10 @@ void temp_event(temp_set_window* temp_widgets) {
if (strcmp(flag_temp_u_g_p,"project")==0) { if (strstr(flag_temp_u_g_p,"prjquota")) {
g_signal_connect(G_OBJECT(temp_widgets->btnOpenUserGroup),"clicked",G_CALLBACK(wrapper_show_file_manager),NULL); g_signal_connect(G_OBJECT(temp_widgets->btnReviewProject),"clicked",G_CALLBACK(wrapper_show_file_manager),NULL);
g_signal_connect(G_OBJECT(temp_widgets->btnGenerateProject),"clicked",G_CALLBACK(generate_id),NULL);
g_signal_connect(G_OBJECT(temp_widgets->chbAuto),"toggled",G_CALLBACK(set_activ_project_id),NULL);
} }
else { else {
g_signal_connect(G_OBJECT(temp_widgets->btnOpenUserGroup),"clicked",G_CALLBACK(table_u_g_show),_glade_path); g_signal_connect(G_OBJECT(temp_widgets->btnOpenUserGroup),"clicked",G_CALLBACK(table_u_g_show),_glade_path);
@ -252,17 +262,19 @@ void set_edit_gui_data_base(config_all* all_config, int index) {
_config->severe_limitation_file, _config->severe_limitation_file,
0 0
); );
if (strcmp(flag_temp_u_g_p,"project") == 0) { if (strstr(flag_temp_u_g_p,"prjquota")) {
if (strcmp(set_add_edit, "add")==0) { if (strstr(set_add_edit, "add")) {
} }
else { else {
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectId), fill_tree_view_id(_config->id)); char* id = fill_tree_view_id(_config->id);
char* actors = format_actors(&_config->actors);
gtk_label_set_label(GTK_LABEL(temp_widgets->lblProjectIdValueEdit), id);
gtk_label_set_label(GTK_LABEL(temp_widgets->lblCatalogProjectEdit), _config->UNIX_file); gtk_label_set_label(GTK_LABEL(temp_widgets->lblCatalogProjectEdit), _config->UNIX_file);
gtk_label_set_label(GTK_LABEL(temp_widgets->lblProjectIdValueEdit), format_actors(&_config->actors)); gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectName), actors);
} }
} }
else { else {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetNameDevice), disk);
} }
} }
@ -322,10 +334,9 @@ void get_edit_gui_data_base(config_all* all_config, int index) {
} }
void get_add_gui_data_base(config_all* all_config) { void get_add_gui_data_base(config_all* all_config) {
config_u_g_p* _config = malloc(sizeof(config_u_g_p)); config_u_g_p* _config = malloc(sizeof(config_u_g_p));
if (_config) { model_null_str_writing(_config);
_config = get_temp_gui_data_base(_config); get_temp_gui_data_base(_config);
vec_temp->pfVectorAdd(vec_temp, _config); vec_temp->pfVectorAdd(vec_temp, _config);
}
} }
@ -354,15 +365,31 @@ config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config) {
&_config->severe_limitation_file, &_config->severe_limitation_file,
NULL NULL
); );
if (strcmp(flag_temp_u_g_p,"project") == 0) { _config->type_arr = yon_char_new(flag_temp_u_g_p);
// _config->status_set= 0;
if (strcmp(flag_temp_u_g_p,"prjquota") == 0) {
_config->UNIX_file = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryCatalogProject));
char* actors = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryProjectName));
if (strlen(actors)>1) {
_config->actors.pfVectorAdd(&_config->actors,yon_char_new(actors));
}
gboolean active = active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(temp_widgets->chbAuto));
if (active) {
_config->id = -1;
}
else {
char* id = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryProjectId));
_config->id = atoi(id);
}
} }
else { else {
_config->UNIX_file = yon_char_new(disk);
} }
return _config; return _config;
} }
void set_widget_config(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, size_t* value, int* mem_size) { void set_widget_config(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, size_t* value, int* mem_size) {
gboolean active = active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check)); gboolean active = active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
if (active) { if (active) {
@ -382,4 +409,30 @@ void set_widget_config(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, size
(*mem_size) = -3; (*mem_size) = -3;
} }
} }
}
void generate_id() {
int max_id = -1;
if (vec_temp->vectorList.total> 0) {
for (int index = 0; index < vec_temp->vectorList.total; index++) {
config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, index);
if (_config->id > max_id) {
max_id = _config->id;
}
}
}
max_id++;
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectId), yon_char_from_int(max_id));
}
void set_activ_project_id() {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(temp_widgets->chbAuto));
if (active) {
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectId), "");
}
gtk_widget_set_sensitive(temp_widgets->entryProjectId, !active);
gtk_widget_set_sensitive(temp_widgets->btnGenerateProject, !active);
} }

@ -16,6 +16,7 @@
void temp_set_index(int _index); void temp_set_index(int _index);
temp_set_window* get_widget_temp(); temp_set_window* get_widget_temp();
void set_disk(char* _disk);
temp_set_window *temp_setup_window_base(char* _glade_path); temp_set_window *temp_setup_window_base(char* _glade_path);
void temp_on_destroy_subwindow(GtkWidget *self); void temp_on_destroy_subwindow(GtkWidget *self);
void temp_destroy(GtkWidget *self); void temp_destroy(GtkWidget *self);
@ -36,4 +37,6 @@ void set_edit_gui_data_base(config_all* all_config, int index);
config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config); config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config);
void get_add_gui_data_base(config_all* all_config); void get_add_gui_data_base(config_all* all_config);
void get_edit_gui_data_base(config_all* all_config, int index); void get_edit_gui_data_base(config_all* all_config, int index);
void set_widget(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, int value_spin, int pow_mem_size); void set_widget(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, int value_spin, int pow_mem_size);
void generate_id();
void set_activ_project_id();
Loading…
Cancel
Save