#include "view_temp_u_g_p.h" temp_set_window *temp_widgets = NULL; char* flag_temp_u_g_p; char* set_add_edit; char* _glade_path = NULL; vector* vec_temp = NULL; config_all* _all_config_temp = NULL; int table_index = 0; char* disk = NULL; vector* temp_vec_actors; void set_disk(char* _disk) { disk = yon_char_new(_disk); } void set_all_config(config_all* _all_config) { _all_config_temp = _all_config; } temp_set_window* get_widget_temp() { return temp_widgets; } void set_vector(vector* _vec_temp) { vec_temp = _vec_temp; } void temp_set_index(int _index) { table_index = _index; } temp_set_window *temp_setup_window_base(char* __glade_path) { _glade_path = __glade_path; if (temp_widgets == NULL) { temp_widgets = malloc(sizeof(temp_set_window)); GtkBuilder *builder = gtk_builder_new_from_resource(_glade_path); temp_widgets->Window = yon_gtk_builder_get_widget(builder,"QuotasEditWindow"); temp_widgets->btnSaveTempSave = yon_gtk_builder_get_widget(builder,"quotegroupSaveButton"); temp_widgets->btnTempCancel = yon_gtk_builder_get_widget(builder,"quotegroupCancelButton"); temp_setup_window_custom(temp_widgets, builder); temp_init_windows(); temp_localization(temp_widgets); temp_event(temp_widgets); } return temp_widgets; } temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuilder *builder) { temp_vec_actors = malloc(sizeof(vector)); vector_init(temp_vec_actors); table_u_g_get_actors(temp_vec_actors); temp_widgets->lblSetUGP = yon_gtk_builder_get_widget(builder, "lblSetUGP"); temp_widgets->btnOpenUserGroup = yon_gtk_builder_get_widget(builder, "btnOpenUserGroup"); temp_widgets->btnReviewProject = yon_gtk_builder_get_widget(builder, "btnReviewProject"); temp_widgets->btnGenerateProject = yon_gtk_builder_get_widget(builder, "btnGenerateProject"); 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->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"); temp_widgets->boxProjectAddEditboxProjectId = yon_gtk_builder_get_widget(builder, "boxProjectAddEditboxProjectId"); temp_widgets->lblOpenUserGroup = yon_gtk_builder_get_widget(builder, "lblOpenUserGroup"); temp_widgets->lblHeadQuotasEditWindow = yon_gtk_builder_get_widget(builder, "lblHeadQuotasEditWindow"); temp_widgets->quotegroupSizeSoftLimitCheck = yon_gtk_builder_get_widget(builder, "quotegroupSizeSoftLimitCheck"); temp_widgets->quotegroupSizeSoftLimitSpin = yon_gtk_builder_get_widget(builder, "quotegroupSizeSoftLimitSpin"); temp_widgets->quotegroupSizeSoftLimitCombo = yon_gtk_builder_get_widget(builder, "quotegroupSizeSoftLimitCombo"); temp_widgets->quotegroupSizeHardLimitCheck = yon_gtk_builder_get_widget(builder, "quotegroupSizeHardLimitCheck"); temp_widgets->quotegroupSizeHardLimitSpin = yon_gtk_builder_get_widget(builder, "quotegroupSizeHardLimitSpin"); temp_widgets->quotegroupSizeHardLimitCombo = yon_gtk_builder_get_widget(builder, "quotegroupSizeHardLimitCombo"); temp_widgets->quotegroupFilesSoftLimitCheck = yon_gtk_builder_get_widget(builder, "quotegroupFilesSoftLimitCheck"); temp_widgets->quotegroupFilesSoftLimitSpin = yon_gtk_builder_get_widget(builder, "quotegroupFilesSoftLimitSpin"); temp_widgets->quotegroupFilesHardLimitCheck = yon_gtk_builder_get_widget(builder, "quotegroupFilesHardLimitCheck"); temp_widgets->quotegroupFilesHardLimitSpin = yon_gtk_builder_get_widget(builder, "quotegroupFilesHardLimitSpin"); temp_widgets->entryProjectId = yon_gtk_builder_get_widget(builder, "entryProjectId"); 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"); temp_widgets->entryUser = yon_gtk_builder_get_widget(builder,"entryUser"); temp_widgets->UserDeviceCombo = yon_gtk_builder_get_widget(builder,"UserDeviceCombo"); 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() { device_fill_disk(temp_widgets->UserDeviceCombo); 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); gtk_widget_hide(temp_widgets->entryUser); if (strcmp(set_add_edit, "add")==0) { gtk_widget_hide(temp_widgets->lblCatalogProjectEdit); gtk_widget_hide(temp_widgets->lblProjectIdValueEdit); gtk_label_set_label(GTK_LABEL(temp_widgets->lblHeadQuotasEditWindow), _("Settings disk quotas - Addition")); } else { gtk_widget_hide(temp_widgets->btnReviewProject); gtk_widget_hide(temp_widgets->entryCatalogProject); gtk_widget_hide(temp_widgets->chbAuto); gtk_widget_hide(temp_widgets->entryProjectId); gtk_widget_hide(temp_widgets->btnGenerateProject); gtk_widget_hide(temp_widgets->UserDeviceCombo); gtk_label_set_label(GTK_LABEL(temp_widgets->lblHeadQuotasEditWindow), _("Settings disk quotas - Editing")); } } else { gtk_widget_hide(temp_widgets->boxProjectAddEditboxProjectId); if (strcmp(flag_temp_u_g_p, "usrquota")==0) { gtk_label_set_label(GTK_LABEL(temp_widgets->lblOpenUserGroup), _("Users")); gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetUGP), yon_char_unite(_("Users"),":",NULL)); } else if (strcmp(flag_temp_u_g_p, "grpquota")==0) { gtk_label_set_label(GTK_LABEL(temp_widgets->lblOpenUserGroup), _("Groups")); gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetUGP), yon_char_unite(_("Groups"),":",NULL)); } if (strcmp(set_add_edit, "add")==0) { gtk_widget_hide(temp_widgets->boxProject); gtk_widget_hide(temp_widgets->boxProjectAddEdit); gtk_widget_hide(temp_widgets->lblSetUGPData); gtk_label_set_label(GTK_LABEL(temp_widgets->lblHeadQuotasEditWindow), _("Settings disk quotas - Addition")); } else { gtk_widget_hide(temp_widgets->boxProject); gtk_widget_hide(temp_widgets->boxProjectAddEdit); gtk_widget_hide(temp_widgets->btnOpenUserGroup); gtk_widget_hide(temp_widgets->entryUser); gtk_widget_hide(temp_widgets->UserDeviceCombo); gtk_label_set_label(GTK_LABEL(temp_widgets->lblHeadQuotasEditWindow), _("Settings disk quotas - Editing")); } } } void set_temp_menu(char* _flag_temp_u_g_p, char* _set_add_edit) { flag_temp_u_g_p = _flag_temp_u_g_p; set_add_edit = _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(); block_btn_save(); } else { temp_setup_window_base(_glade_path); gtk_widget_show(temp_widgets->Window); set_activ_project_id(); event_toggled_all(); block_btn_save(); } } void temp_localization(temp_set_window* temp_widgets) { } void temp_init_windows() { } void wrapper_table_u_g_show() { table_u_g_get_actors(temp_vec_actors); table_u_g_show(NULL, _glade_path); } void temp_event(temp_set_window* temp_widgets) { g_signal_connect(G_OBJECT(temp_widgets->btnTempCancel),"clicked",G_CALLBACK(temp_destroy),temp_widgets->Window); g_signal_connect(G_OBJECT(temp_widgets->Window), "destroy", G_CALLBACK(temp_destroy), temp_widgets->Window); g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeSoftLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeHardLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesSoftLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesHardLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeSoftLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeHardLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesSoftLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesHardLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeSoftLimitCombo), "changed", G_CALLBACK(block_btn_save), NULL); g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeHardLimitCombo), "changed", G_CALLBACK(block_btn_save), 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); g_signal_connect(G_OBJECT(temp_widgets->entryCatalogProject), "changed", G_CALLBACK(block_btn_save), NULL); g_signal_connect(G_OBJECT(temp_widgets->entryProjectId), "changed", G_CALLBACK(block_btn_save), NULL); g_signal_connect(G_OBJECT(temp_widgets->entryProjectName), "changed", G_CALLBACK(block_btn_save), NULL); } else { g_signal_connect(G_OBJECT(temp_widgets->btnOpenUserGroup),"clicked",G_CALLBACK(wrapper_table_u_g_show),NULL); } } void temp_on_destroy_subwindow(GtkWidget *self) { if (self) { if (strcmp(set_add_edit, "add")==0) { get_add_gui_data_base(_all_config_temp); } else { get_edit_gui_data_base(_all_config_temp, table_index); } gtk_widget_destroy(gtk_widget_get_toplevel(self)); temp_widgets = NULL; } } void event_toggled_all() { philos_set_active_widgets(temp_widgets->quotegroupSizeSoftLimitCheck, temp_widgets->quotegroupSizeSoftLimitSpin, temp_widgets->quotegroupSizeSoftLimitCombo); philos_set_active_widgets(temp_widgets->quotegroupSizeHardLimitCheck, temp_widgets->quotegroupSizeHardLimitSpin, temp_widgets->quotegroupSizeHardLimitCombo ); philos_set_active_widgets(temp_widgets->quotegroupFilesSoftLimitCheck, temp_widgets->quotegroupFilesSoftLimitSpin, NULL ); philos_set_active_widgets(temp_widgets->quotegroupFilesHardLimitCheck, temp_widgets->quotegroupFilesHardLimitSpin, NULL); block_btn_save(); } void block_btn_save() { if (wrapper_check_save()) { gtk_widget_set_sensitive(temp_widgets->btnSaveTempSave, 1); } else { gtk_widget_set_sensitive(temp_widgets->btnSaveTempSave, 0); } } void wrapper_show_file_manager() { GtkBuilder *builder = gtk_builder_new_from_resource(_glade_path); show_file_manger(temp_widgets, builder); gtk_widget_show(temp_widgets->wndChooseFileWallpaper); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(temp_widgets->wndChooseFileWallpaper),"/home/"); } void temp_destroy(GtkWidget *self) { if (self) { gtk_widget_destroy(gtk_widget_get_toplevel(self)); model_free_vector_string(temp_vec_actors); vectorFree(temp_vec_actors); temp_vec_actors = NULL; temp_widgets = NULL; temp_vec_actors = NULL; } } void show_file_manger(temp_set_window* temp_widgets, GtkBuilder *builder) { temp_widgets->wndChooseFileWallpaper = yon_gtk_builder_get_widget(builder,"wndChooseFileWallpaper"); temp_widgets->btnFilemangerOk = yon_gtk_builder_get_widget(builder,"btnFilemangerOk"); temp_widgets->btnFilemangerExit = yon_gtk_builder_get_widget(builder,"btnFilemangerExit"); g_signal_connect(G_OBJECT(temp_widgets->btnFilemangerOk),"clicked",G_CALLBACK(btn_ok_file_manager), NULL); g_signal_connect(G_OBJECT(temp_widgets->btnFilemangerExit),"clicked",G_CALLBACK(destroy_file_manager), NULL); } void destroy_file_manager(GtkWidget *self) { gtk_widget_destroy(gtk_widget_get_toplevel(self)); temp_widgets->wndChooseFileWallpaper = NULL; temp_widgets->btnFilemangerOk = NULL; temp_widgets->btnFilemangerExit = NULL; block_btn_save(); } void btn_ok_file_manager(GtkWidget *self) { char* path_project = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(temp_widgets->wndChooseFileWallpaper)); gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryCatalogProject), path_project); destroy_file_manager(self); } void set_edit_gui_data_base(config_all* all_config, int index) { config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, index); if (_config && index >= 0) { set_widget(temp_widgets->quotegroupSizeSoftLimitCheck, temp_widgets->quotegroupSizeSoftLimitSpin, temp_widgets->quotegroupSizeSoftLimitCombo, _config->soft_restriction_size, _config->soft_restriction_size_pow ); set_widget(temp_widgets->quotegroupSizeHardLimitCheck, temp_widgets->quotegroupSizeHardLimitSpin, temp_widgets->quotegroupSizeHardLimitCombo, _config->severe_limitation_size, _config->severe_limitation_size_pow ); set_widget(temp_widgets->quotegroupFilesSoftLimitCheck, temp_widgets->quotegroupFilesSoftLimitSpin, NULL, _config->soft_restriction_file, 0 ); set_widget(temp_widgets->quotegroupFilesHardLimitCheck, temp_widgets->quotegroupFilesHardLimitSpin, NULL, _config->severe_limitation_file, 0 ); if (strstr(flag_temp_u_g_p,"prjquota")) { if (strstr(set_add_edit, "add")) { } else { 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); if (strcmp(actors,"-")!=0) { gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectName), actors); } } } 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->lblSetUGPData), format_actors(&_config->actors)); } } } } void set_widget(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, int value_spin, int pow_mem_size) { if (value_spin>0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),1); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), value_spin); if (combo) { gtk_combo_box_set_active(GTK_COMBO_BOX(combo), pow_mem_size); } } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0); if (combo) { gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); } } } void get_edit_gui_data_base(config_all* all_config, int index) { config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, index); if (_config && index >= 0) { get_temp_gui_data_base(_config); vec_temp->pfVectorSet(vec_temp, index, _config); } } void get_add_gui_data_base(config_all* all_config) { config_u_g_p* _config = malloc(sizeof(config_u_g_p)); model_null_str_writing(_config); get_temp_gui_data_base(_config); if (temp_vec_actors->vectorList.total != 0) { _config->actors.pfVectorCopy(&_config->actors, temp_vec_actors); } vec_temp->pfVectorAdd(vec_temp, _config); } void save(GtkWidget *self) { if (strcmp(set_add_edit, "add")==0) { temp_vec_actors = get_actors_table(temp_vec_actors); gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryUser), format_actors(temp_vec_actors)); table_u_g_on_hide_subwindow(self); block_btn_save(); } else { // get_actors_table(_actors); table_u_g_on_hide_subwindow(self); block_btn_save(); } } int check_save() { gboolean active1 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(temp_widgets->quotegroupSizeSoftLimitCheck)); gboolean active2 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(temp_widgets->quotegroupSizeHardLimitCheck)); gboolean active3 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(temp_widgets->quotegroupFilesSoftLimitCheck)); gboolean active4 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(temp_widgets->quotegroupFilesHardLimitCheck)); char* value1 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupSizeSoftLimitSpin)); char* value2 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupSizeHardLimitSpin)); char* value3 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupFilesSoftLimitSpin)); char* value4 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupFilesHardLimitSpin)); if (!active1 && !active2 && !active3 && !active4) { return 0; } if (((!strcmp(value1, "0") || !strcmp(value1, "")) && active1) || ((!strcmp(value2, "0") || !strcmp(value2, "")) && active2) || ((!strcmp(value3, "0") || !strcmp(value3, "")) && active3) || ((!strcmp(value4, "0") || !strcmp(value4, "")) && active4)) { return 0; } return 1; } int check_save_project() { gboolean active1 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(temp_widgets->chbAuto)); char* project_name = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryProjectName)); if (strcmp(set_add_edit, "add")==0) { char* file_dir = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryCatalogProject)); char* project_id = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryProjectId)); if (!strlen(file_dir) && (!strlen(project_id) && !active1) && !strlen(project_name)) { return 0; } else if (!strlen(project_id) && !active1) { return 0; } return 1; } else { if (strlen(project_name)<=1) { return 0; } return 1; } } int wrapper_check_save() { if (strstr(flag_temp_u_g_p,"prjquota")) { int flag_save_project = check_save_project(); int flag_save = check_save(); if (flag_save_project && flag_save) { return 1; } return 0; } else { if (strcmp(set_add_edit, "add")==0 && temp_vec_actors->vectorList.total != 0) { if (check_save()) { return 1; } return 0; } else { if (check_save()) { return 1; } return 0; } } } void table_u_g_event() { g_signal_connect(G_OBJECT(get_widget_table_u_g()->checkColUserGroup),"toggled",G_CALLBACK(chk_toggled_user_group),NULL); g_signal_connect(G_OBJECT(get_widget_table_u_g()->btnCancel), "clicked",G_CALLBACK(table_u_g_on_hide_subwindow),NULL); g_signal_connect(G_OBJECT(get_widget_table_u_g()->btnSave), "clicked",G_CALLBACK(save),NULL); g_signal_connect(G_OBJECT(get_widget_table_u_g()->Window), "destroy", G_CALLBACK(table_u_g_destroy), NULL); } config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config) { set_widget_config(temp_widgets->quotegroupSizeSoftLimitCheck, temp_widgets->quotegroupSizeSoftLimitSpin, temp_widgets->quotegroupSizeSoftLimitCombo, &_config->soft_restriction_size, &_config->soft_restriction_size_pow ); set_widget_config(temp_widgets->quotegroupSizeHardLimitCheck, temp_widgets->quotegroupSizeHardLimitSpin, temp_widgets->quotegroupSizeHardLimitCombo, &_config->severe_limitation_size, &_config->severe_limitation_size_pow ); set_widget_config(temp_widgets->quotegroupFilesSoftLimitCheck, temp_widgets->quotegroupFilesSoftLimitSpin, NULL, &_config->soft_restriction_file, NULL ); set_widget_config(temp_widgets->quotegroupFilesHardLimitCheck, temp_widgets->quotegroupFilesHardLimitSpin, NULL, &_config->severe_limitation_file, NULL ); // _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) { _config->actors.pfVectorSet(&_config->actors,0, yon_char_new(actors)); } else { _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)); if (strlen(id)) { _config->id = atoi(id); } else { _config->id = -1; } } if (strcmp(set_add_edit, "add")==0) { char* file_dir = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryCatalogProject)); char* activ_disk = yon_char_new(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo))); activ_disk = yon_char_divide_search(activ_disk, " ", -1); _config->UNIX_file = activ_disk; _config->type_arr = yon_char_new(flag_temp_u_g_p); } } else { if (strcmp(set_add_edit, "add")==0) { table_u_g_get_actors(&_config->actors); char* activ_disk = yon_char_new(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo))); activ_disk = yon_char_divide_search(activ_disk, " ", -1); _config->UNIX_file = activ_disk; _config->type_arr = yon_char_new(flag_temp_u_g_p); } } 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) { (*value) = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); if (combo) { if ((*value) != 0) { (*mem_size) = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); } else { (*mem_size) = -3; } } } else { (*value) = 0; if (combo) { (*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); block_btn_save(); }