From 83daef8af1cc61883ceafbccc47626e661a74833 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 3 Aug 2023 10:24:44 +0600 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=84=D0=BB=D0=B0=D0=B3=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/view_filters.c | 63 ++++++++++++++---------- source/view_filters.h | 2 + ubl-settings-diskquota.glade | 92 ++++++++++++++++++++++++++---------- 3 files changed, 107 insertions(+), 50 deletions(-) diff --git a/source/view_filters.c b/source/view_filters.c index 188baa9..66f6ab6 100644 --- a/source/view_filters.c +++ b/source/view_filters.c @@ -3,10 +3,10 @@ char* flag_filters_u_g_p = NULL; filters_window *filters_widgets = NULL; GtkTreeView* _tree_view = NULL; const int len_user_group = 8; -const int len_project = 9; +const int len_project = 10; gboolean flag_filters_user[8]; gboolean flag_filters_group[8]; -gboolean flag_filters_project[9]; +gboolean flag_filters_project[10]; filters_window *filters_setup_window(char* glade_path){ if (filters_widgets == NULL) { filters_widgets = malloc(sizeof(filters_window)); @@ -26,16 +26,18 @@ filters_window *filters_setup_window(char* glade_path){ filters_widgets->chbFilterHardLimitFileDelay = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitFileDelay"); filters_widgets->chbProjectName = yon_gtk_builder_get_widget(builder,"chbProjectName"); filters_widgets->chbFilterDevice = yon_gtk_builder_get_widget(builder,"chbFilterDevice"); + filters_widgets->chkFilterID = yon_gtk_builder_get_widget(builder,"chkFilterID"); + filters_widgets->chbFilterCatalog = yon_gtk_builder_get_widget(builder,"chbFilterCatalog"); if (strcmp(flag_filters_u_g_p, "prjquota")==0) { - gtk_button_set_label(GTK_BUTTON(filters_widgets->chbFilterName), _("ID")); + gtk_widget_hide(filters_widgets->chbFilterName); } else { gtk_widget_hide(filters_widgets->chbProjectName); + gtk_widget_hide(filters_widgets->chkFilterID); + gtk_widget_hide(filters_widgets->chbFilterCatalog); } - filters_event(filters_widgets); } - filters_set_flag(); return filters_widgets; } @@ -67,15 +69,16 @@ gboolean* filters_get_flag_group() { gboolean* filters_get_flag_project() { - flag_filters_project[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterName)); - flag_filters_project[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterDevice)); - flag_filters_project[2] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitSize)); - flag_filters_project[3] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSize)); - flag_filters_project[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitFile)); - flag_filters_project[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFile)); - flag_filters_project[6] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSizeDelay)); - flag_filters_project[7] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFileDelay)); - flag_filters_project[8] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbProjectName)); + flag_filters_project[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterDevice)); + flag_filters_project[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterCatalog)); + flag_filters_project[2] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chkFilterID)); + flag_filters_project[3] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbProjectName)); + flag_filters_project[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitSize)); + flag_filters_project[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSize)); + flag_filters_project[6] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitFile)); + flag_filters_project[7] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFile)); + flag_filters_project[8] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSizeDelay)); + flag_filters_project[9] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFileDelay)); return flag_filters_project; } @@ -157,6 +160,7 @@ void filters_init_flag() { flag_filters_project[i] = 1; } flag_filters_project[8] = 1; + flag_filters_project[9] = 1; } void filters_set_flag() { @@ -172,15 +176,26 @@ void filters_set_flag() { array_flags = flag_filters_group; } } - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterName),array_flags[0] ); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterDevice), array_flags[1]); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitSize), array_flags[2]); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSize), array_flags[3]); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitFile), array_flags[4]); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFile), array_flags[5]); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSizeDelay), array_flags[6]); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFileDelay), array_flags[7]); - if (strcmp(flag_filters_u_g_p,"prjquota")==0) { - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbProjectName), array_flags[8]); + if (strcmp(flag_filters_u_g_p,"prjquota")) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterName),array_flags[0] ); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterDevice), array_flags[1]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitSize), array_flags[2]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSize), array_flags[3]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitFile), array_flags[4]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFile), array_flags[5]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSizeDelay), array_flags[6]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFileDelay), array_flags[7]); + } + else if (strcmp(flag_filters_u_g_p,"prjquota")==0) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterDevice),array_flags[0] ); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterCatalog), array_flags[1]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chkFilterID), array_flags[2]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbProjectName), array_flags[3]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitSize), array_flags[4]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSize), array_flags[5]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitFile), array_flags[6]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFile), array_flags[7]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSizeDelay), array_flags[8]); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFileDelay), array_flags[9]); } } \ No newline at end of file diff --git a/source/view_filters.h b/source/view_filters.h index 84ca6b8..66a3544 100644 --- a/source/view_filters.h +++ b/source/view_filters.h @@ -31,6 +31,8 @@ typedef struct { GtkWidget* chbFilterHardLimitFileDelay; GtkWidget* chbProjectName; GtkWidget* chbFilterDevice; + GtkWidget* chkFilterID; + GtkWidget* chbFilterCatalog; char* name; } filters_window; diff --git a/ubl-settings-diskquota.glade b/ubl-settings-diskquota.glade index 90f25dc..a4850cc 100644 --- a/ubl-settings-diskquota.glade +++ b/ubl-settings-diskquota.glade @@ -4936,13 +4936,68 @@ limit - - Device + True - True - False - 0 - True + False + vertical + + + Device + True + True + False + 0 + True + + + False + True + 0 + + + + + Catalog + True + True + False + True + + + False + True + 1 + + + + + ID + True + True + False + True + + + False + True + 4 + + + + + Project Name + True + True + False + start + True + + + False + True + 5 + + False @@ -4951,8 +5006,8 @@ limit - - Project Name + + Soft limit (volume) True True False @@ -4966,8 +5021,8 @@ limit - - Soft limit (volume) + + Hard limit (volume) True True False @@ -4977,7 +5032,7 @@ limit False True - 4 + 3 @@ -5026,21 +5081,6 @@ limit 5 - - - Hard limit (volume) - True - True - False - start - True - - - False - True - 5 - - Postponing the hard limit (volume)