|
|
|
@ -9,7 +9,45 @@ config_all* _all_config_temp = NULL;
|
|
|
|
|
int table_index = 0;
|
|
|
|
|
char* disk = NULL;
|
|
|
|
|
|
|
|
|
|
vector* temp_vec_actors;
|
|
|
|
|
vector* temp_vec_actors = NULL;
|
|
|
|
|
|
|
|
|
|
void temp_check_activ_disk() {
|
|
|
|
|
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(temp_widgets->UserDeviceCombo));
|
|
|
|
|
if (menu_id == -1) {
|
|
|
|
|
gtk_widget_set_sensitive(temp_widgets->entryCatalogProject, 0);
|
|
|
|
|
gtk_widget_set_sensitive(temp_widgets->btnReviewProject, 0);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_widget_set_sensitive(temp_widgets->entryCatalogProject, 1);
|
|
|
|
|
gtk_widget_set_sensitive(temp_widgets->btnReviewProject, 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void destroy_show_warning(GtkWidget *self) {
|
|
|
|
|
gtk_widget_destroy(gtk_widget_get_toplevel(self));
|
|
|
|
|
temp_widgets->WarrningWindow = NULL;
|
|
|
|
|
temp_widgets->CancelWarrningButton = NULL;
|
|
|
|
|
temp_widgets->lblWarningText = NULL;
|
|
|
|
|
block_btn_save();
|
|
|
|
|
}
|
|
|
|
|
void show_warning() {
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(_glade_path);
|
|
|
|
|
char* text_mess = yon_char_new("");
|
|
|
|
|
temp_widgets->WarrningWindow = yon_gtk_builder_get_widget(builder,"WarrningWindow");
|
|
|
|
|
temp_widgets->lblWarningText = yon_gtk_builder_get_widget(builder,"lblWarningText");
|
|
|
|
|
temp_widgets->CancelWarrningButton = yon_gtk_builder_get_widget(builder,"CancelWarrningButton");
|
|
|
|
|
char* str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo));
|
|
|
|
|
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
|
|
|
|
|
disk_status* _config = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);
|
|
|
|
|
if (strstr(str_disk, _config->device)) {
|
|
|
|
|
text_mess = _("The selected directory is not located on the target device");
|
|
|
|
|
text_mess = yon_char_unite(text_mess, " ", _config->device, NULL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_label_set_label(GTK_LABEL(temp_widgets->lblWarningText), text_mess);
|
|
|
|
|
gtk_widget_show(temp_widgets->WarrningWindow);
|
|
|
|
|
g_signal_connect(G_OBJECT(temp_widgets->WarrningWindow), "destroy", G_CALLBACK(destroy_show_warning), temp_widgets->WarrningWindow);
|
|
|
|
|
g_signal_connect(G_OBJECT(temp_widgets->CancelWarrningButton),"clicked",G_CALLBACK(destroy_show_warning),temp_widgets->WarrningWindow);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void set_disk(char* _disk) {
|
|
|
|
|
disk = yon_char_new(_disk);
|
|
|
|
@ -27,8 +65,6 @@ void set_vector(vector* _vec_temp) {
|
|
|
|
|
vec_temp = _vec_temp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void temp_set_index(int _index) {
|
|
|
|
|
table_index = _index;
|
|
|
|
|
}
|
|
|
|
@ -49,6 +85,23 @@ temp_set_window *temp_setup_window_base(char* __glade_path) {
|
|
|
|
|
return temp_widgets;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void temp_check_path() {
|
|
|
|
|
char* str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo));
|
|
|
|
|
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
|
|
|
|
|
disk_status* _config = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);
|
|
|
|
|
if (strstr(str_disk, _config->device)) {
|
|
|
|
|
const char* str_path = gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryCatalogProject));
|
|
|
|
|
if (strstr(str_path,_config->mount_point)) {
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_widget_set_sensitive(temp_widgets->btnSaveTempSave, 0);
|
|
|
|
|
show_warning();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
block_btn_save();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
@ -89,6 +142,27 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
|
|
|
|
|
table_u_g_set_glade_path(_glade_path);
|
|
|
|
|
temp_settings();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void temp_select_disk() {
|
|
|
|
|
block_btn_save();
|
|
|
|
|
char* str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo));
|
|
|
|
|
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
|
|
|
|
|
disk_status* _config = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);
|
|
|
|
|
if (strstr(str_disk, _config->device)) {
|
|
|
|
|
if (_config->status == 2) {
|
|
|
|
|
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus), _("On"));
|
|
|
|
|
}
|
|
|
|
|
else if (_config->status == 1){
|
|
|
|
|
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus), _("Off"));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_label_set_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus), _("Not set"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void temp_settings() {
|
|
|
|
|
char *split_simvol = " ";
|
|
|
|
|
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
|
|
|
|
@ -106,7 +180,6 @@ void temp_settings() {
|
|
|
|
|
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);
|
|
|
|
@ -148,8 +221,7 @@ void temp_settings() {
|
|
|
|
|
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"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -200,12 +272,12 @@ void temp_event(temp_set_window* temp_widgets) {
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(temp_widgets->UserDeviceCombo), "changed", G_CALLBACK(temp_select_disk), 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->entryCatalogProject), "changed", G_CALLBACK(temp_check_path), 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);
|
|
|
|
|
}
|
|
|
|
@ -258,17 +330,25 @@ 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/");
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(temp_widgets->wndChooseFileWallpaper), _("Please select folder"));
|
|
|
|
|
char* str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo));
|
|
|
|
|
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
|
|
|
|
|
disk_status* _config = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);
|
|
|
|
|
if (strstr(str_disk, _config->device)) {
|
|
|
|
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(temp_widgets->wndChooseFileWallpaper),_config->mount_point);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
if (temp_vec_actors) {
|
|
|
|
|
model_free_vector_string(temp_vec_actors);
|
|
|
|
|
vectorFree(temp_vec_actors);
|
|
|
|
|
temp_vec_actors = NULL;
|
|
|
|
|
}
|
|
|
|
|
temp_widgets = NULL;
|
|
|
|
|
temp_vec_actors = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -439,10 +519,11 @@ int check_save() {
|
|
|
|
|
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));
|
|
|
|
|
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(temp_widgets->UserDeviceCombo));
|
|
|
|
|
if (!active1 && !active2 && !active3 && !active4) {
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
if (((!strcmp(value1, "0") || !strcmp(value1, "")) && active1)
|
|
|
|
|
if (menu_id == -1 || ((!strcmp(value1, "0") || !strcmp(value1, "")) && active1)
|
|
|
|
|
|| ((!strcmp(value2, "0") || !strcmp(value2, "")) && active2)
|
|
|
|
|
|| ((!strcmp(value3, "0") || !strcmp(value3, "")) && active3)
|
|
|
|
|
|| ((!strcmp(value4, "0") || !strcmp(value4, "")) && active4)) {
|
|
|
|
@ -475,6 +556,7 @@ int check_save_project() {
|
|
|
|
|
|
|
|
|
|
int wrapper_check_save() {
|
|
|
|
|
if (strstr(flag_temp_u_g_p,"prjquota")) {
|
|
|
|
|
temp_check_activ_disk();
|
|
|
|
|
int flag_save_project = check_save_project();
|
|
|
|
|
int flag_save = check_save();
|
|
|
|
|
if (flag_save_project && flag_save) {
|
|
|
|
|