|
|
|
@ -139,12 +139,14 @@ void temp_show(GtkWidget *self, char* _glade_path) {
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -156,20 +158,26 @@ void temp_init_windows() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void temp_event(temp_set_window* temp_widgets) {
|
|
|
|
|
g_signal_connect(G_OBJECT(temp_widgets->btnTempCancel),"clicked",G_CALLBACK(temp_on_destroy_subwindow),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(temp_widgets->Window), "destroy", G_CALLBACK(temp_destroy), NULL);
|
|
|
|
|
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(table_u_g_show),_glade_path);
|
|
|
|
@ -186,7 +194,6 @@ void temp_on_destroy_subwindow(GtkWidget *self) {
|
|
|
|
|
gtk_widget_destroy(gtk_widget_get_toplevel(self));
|
|
|
|
|
temp_widgets = NULL;
|
|
|
|
|
model_free_vector_string(&temp_vec_actors);
|
|
|
|
|
vectorFree(&temp_vec_actors);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void event_toggled_all() {
|
|
|
|
@ -204,6 +211,16 @@ void event_toggled_all() {
|
|
|
|
|
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() {
|
|
|
|
@ -214,7 +231,12 @@ void wrapper_show_file_manager() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void temp_destroy(GtkWidget *self) {
|
|
|
|
|
temp_widgets = NULL;
|
|
|
|
|
if (self) {
|
|
|
|
|
gtk_widget_destroy(gtk_widget_get_toplevel(self));
|
|
|
|
|
model_free_vector_string(&temp_vec_actors);
|
|
|
|
|
temp_widgets = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -233,6 +255,7 @@ void destroy_file_manager(GtkWidget *self) {
|
|
|
|
|
temp_widgets->wndChooseFileWallpaper = NULL;
|
|
|
|
|
temp_widgets->btnFilemangerOk = NULL;
|
|
|
|
|
temp_widgets->btnFilemangerExit = NULL;
|
|
|
|
|
block_btn_save();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void btn_ok_file_manager(GtkWidget *self) {
|
|
|
|
@ -355,21 +378,96 @@ 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);
|
|
|
|
|
_config->actors.pfVectorCopy(&_config->actors, &temp_vec_actors);
|
|
|
|
|
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) {
|
|
|
|
|
get_actors_table(&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() {
|
|
|
|
@ -419,11 +517,17 @@ config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config) {
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
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));
|
|
|
|
@ -487,6 +591,6 @@ void set_activ_project_id() {
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_sensitive(temp_widgets->entryProjectId, !active);
|
|
|
|
|
gtk_widget_set_sensitive(temp_widgets->btnGenerateProject, !active);
|
|
|
|
|
|
|
|
|
|
block_btn_save();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|