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

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

@ -7,6 +7,11 @@ char* _glade_path = NULL;
vector* vec_temp = NULL;
config_all* _all_config_temp = NULL;
int table_index = 0;
char* disk = NULL;
void set_disk(char* _disk) {
disk = _disk;
}
void set_all_config(config_all* _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->entryCatalogProject = yon_gtk_builder_get_widget(builder, "entryCatalogProject");
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->boxProjectAddEdit = yon_gtk_builder_get_widget(builder, "boxProjectAddEdit");
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->lblCatalogProjectEdit = yon_gtk_builder_get_widget(builder, "lblCatalogProjectEdit");
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_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->lblSetUGPData);
gtk_widget_hide(temp_widgets->btnOpenUserGroup);
gtk_widget_hide(temp_widgets->boxTempDevice);
if (strcmp(set_add_edit, "add")==0) {
gtk_widget_hide(temp_widgets->lblCatalogProjectEdit);
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) {
if (temp_widgets != NULL) {
gtk_widget_show(temp_widgets->Window);
set_activ_project_id();
temp_init_windows();
event_toggled_all();
}
else {
temp_setup_window_base(_glade_path);
gtk_widget_show(temp_widgets->Window);
set_activ_project_id();
event_toggled_all();
}
}
@ -152,8 +160,10 @@ void temp_event(temp_set_window* temp_widgets) {
if (strcmp(flag_temp_u_g_p,"project")==0) {
g_signal_connect(G_OBJECT(temp_widgets->btnOpenUserGroup),"clicked",G_CALLBACK(wrapper_show_file_manager),NULL);
if (strstr(flag_temp_u_g_p,"prjquota")) {
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 {
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,
0
);
if (strcmp(flag_temp_u_g_p,"project") == 0) {
if (strcmp(set_add_edit, "add")==0) {
if (strstr(flag_temp_u_g_p,"prjquota")) {
if (strstr(set_add_edit, "add")) {
}
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->lblProjectIdValueEdit), format_actors(&_config->actors));
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectName), actors);
}
}
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) {
config_u_g_p* _config = malloc(sizeof(config_u_g_p));
if (_config) {
_config = get_temp_gui_data_base(_config);
vec_temp->pfVectorAdd(vec_temp, _config);
}
model_null_str_writing(_config);
get_temp_gui_data_base(_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,
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 {
_config->UNIX_file = yon_char_new(disk);
}
return _config;
}
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));
if (active) {
@ -382,4 +409,30 @@ void set_widget_config(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, size
(*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);
temp_set_window* get_widget_temp();
void set_disk(char* _disk);
temp_set_window *temp_setup_window_base(char* _glade_path);
void temp_on_destroy_subwindow(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);
void get_add_gui_data_base(config_all* all_config);
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