You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ubl-settings-diskquota/source/view_temp_u_g_p.c

151 lines
6.5 KiB

#include "view_temp_u_g_p.h"
temp_set_window *temp_widgets = NULL;
char* path_project = NULL;
char* flag_temp_u_g_p;
char* set_add_edit;
char* _glade_path = NULL;
temp_set_window *get_widget_temp() {
return temp_widgets;
}
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_event(temp_widgets);
temp_init_windows();
temp_localization(temp_widgets);
}
return temp_widgets;
}
temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuilder *builder) {
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->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");
temp_widgets->lblOpenUserGroup = yon_gtk_builder_get_widget(builder, "lblOpenUserGroup");
temp_widgets->lblHeadQuotasEditWindow = yon_gtk_builder_get_widget(builder, "lblHeadQuotasEditWindow");
if (strcmp(flag_temp_u_g_p,"project")==0) {
if (strcmp(set_add_edit, "add")==0) {
gtk_widget_hide(temp_widgets->btnOpenUserGroup);
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_label_set_label(GTK_LABEL(temp_widgets->lblHeadQuotasEditWindow), _("Settings disk quotas - Editing"));
}
}
else {
if (strcmp(flag_temp_u_g_p,"user")==0) {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblOpenUserGroup), _("Users"));
}
else if (strcmp(flag_temp_u_g_p,"group")==0) {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblOpenUserGroup), _("Groups"));
}
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_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);
temp_init_windows();
}
else {
temp_setup_window_base(_glade_path);
gtk_widget_show(temp_widgets->Window);
}
}
void temp_localization(temp_set_window* temp_widgets) {
}
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->btnOpenUserGroup),"clicked",G_CALLBACK(wrapper_show_file_manager),NULL);
}
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) {
temp_widgets = NULL;
}
void temp_on_destroy_subwindow(GtkWidget *self) {
gtk_widget_destroy(gtk_widget_get_toplevel(self));
temp_widgets = 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;
}
void btn_ok_file_manager(GtkWidget *self) {
path_project = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(temp_widgets->wndChooseFileWallpaper));
destroy_file_manager(self);
}