From 1700a22f78006a48fd73ef67ca42136e14d74090 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 22 Nov 2023 15:05:49 +0600 Subject: [PATCH] Repeated records fixes at monitoring tab --- source/ubl-settings-logging.c | 30 +- source/ubl-settings-logging.h | 1 + ubl-settings-logging-add.glade | 536 +++++++++++++++++---------------- ubl-settings-logging_ru.po | 2 +- 4 files changed, 310 insertions(+), 259 deletions(-) diff --git a/source/ubl-settings-logging.c b/source/ubl-settings-logging.c index b971224..fcaf15f 100644 --- a/source/ubl-settings-logging.c +++ b/source/ubl-settings-logging.c @@ -1658,7 +1658,9 @@ void on_log_save(GtkWidget *self, dictionary *dict){ char *pathse=NULL; for (int i=0;iNameEntry)); @@ -1667,6 +1669,27 @@ void on_log_save(GtkWidget *self, dictionary *dict){ GtkTreeModel *model = GTK_TREE_MODEL(widgets->list); GtkTreeIter iter; if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)),&model,&iter)){ + int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->list),&iter); + for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->list),&iter)){ + char *paths=NULL; + char *name; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->list),&iter,0,&name,1,&paths,-1); + if (!strcmp(gtk_entry_get_text(GTK_ENTRY(window->NameEntry)),name)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),REPEATED_PATHS_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->NameEntry); + return; + } + int paths_size=0; + config_str paths_parsed = yon_char_parse(paths,&paths_size,"\n"); + int pathse_size=0; + config_str pathse_parsed = yon_char_parse(pathse,&pathse_size,"\n"); + + if (yon_char_parsed_includes_char_parsed(pathse_parsed,paths_parsed,pathse_size,paths_size)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),REPEATED_PATHS_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->LogPathsBox); + return; + } + } gtk_list_store_append(widgets->list,&iter); int stat; gtk_tree_model_get(GTK_TREE_MODEL(widgets->list),&iter,3,&stat,-1); @@ -1698,6 +1721,7 @@ add_log_window *on_add_open(main_window *widgets){ window->ControlSectionBox=yon_gtk_builder_get_widget(builder,"ControlSectionBox"); window->LogPathsBox=yon_gtk_builder_get_widget(builder,"LogPathsBox"); window->NameEntry=yon_gtk_builder_get_widget(builder,"NameEntry"); + window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox"); gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); dictionary *dict = NULL; @@ -2140,11 +2164,9 @@ main_window *setup_window(){ widgets->ServicesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ServicesList")); widgets->UpgradePermissionsMenuItem = yon_gtk_builder_get_widget(builder,"UpgradePermissionsMenuItem"); - widgets->PermissionsLock = yon_gtk_builder_get_widget(builder,"PermissionsLock"); widgets->MainTree = yon_gtk_builder_get_widget(builder,"MainTree"); - - gtk_lock_button_set_permission(GTK_LOCK_BUTTON(widgets->PermissionsLock),main_config.permissions); + gtk_window_set_title(GTK_WINDOW(widgets->Window),TITLE_LABEL); GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2"); diff --git a/source/ubl-settings-logging.h b/source/ubl-settings-logging.h index 80010b8..1d338de 100644 --- a/source/ubl-settings-logging.h +++ b/source/ubl-settings-logging.h @@ -164,6 +164,7 @@ typedef struct { typedef struct { GtkWidget *MainWindow; + GtkWidget *StatusBox; GtkWidget *adjustment1; GtkWidget *adjustment2; GtkWidget *CancelButton; diff --git a/ubl-settings-logging-add.glade b/ubl-settings-logging-add.glade index 27a9496..4124d45 100644 --- a/ubl-settings-logging-add.glade +++ b/ubl-settings-logging-add.glade @@ -3,6 +3,13 @@ + + + + + + + 1024 1 @@ -28,26 +35,6 @@ False emblem-ok-symbolic - - True - False - com.ublinux.ubl-settings-logging.sort-symbolic - - - True - False - com.ublinux.ubl-settings-logging.sort-symbolic - - - True - False - com.ublinux.ubl-settings-logging.sort-symbolic - - - True - False - com.ublinux.ubl-settings-logging.sort-symbolic - 450 False @@ -57,9 +44,6 @@ False - 5 - 5 - 5 5 vertical 5 @@ -103,29 +87,160 @@ 0 + + + True + False + vertical + + + + + + False + True + 0 + + True False + 5 + 5 vertical - 5 - + + True + False + 0.019999999552965164 + in + + + True + False + 5 + 12 + 5 + 5 + + + True + False + 5 + + + True + False + Log size: + 0 + + + False + True + 0 + + + + + True + False + 0.0 Mb + + + True + True + 1 + + + + + + + + + True + False + Statistics + + + + + False + True + end + 0 + + + + True False vertical 5 - + True False + vertical 5 - + True False - Log/Journal: - 0 + 5 + + + True + False + Log/Journal: + 0 + + + False + True + 0 + + + + + True + False + 0 + False + + Log file + + + + True + True + 1 + + + + + True + False + Name: + + + False + True + 2 + + + + + True + True + + + False + True + 3 + + False @@ -134,14 +249,34 @@ - + True - False - 0 - False - - Log file - + True + never + in + 150 + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + vertical + + + + + + + True @@ -150,10 +285,34 @@ - + True False - Name: + 5 + + + True + False + Description: + 0 + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + False @@ -161,80 +320,65 @@ 2 - - - True - True - - - False - True - 3 - - - False + True True 0 + + + True + True + 1 + + + + + True + False + 5 - + True - True - never - in - 150 - - - True - False - 5 - 5 - 5 - 5 - - - True - False - vertical - - - - - - - + False + Control: + 0 - True + False True - 1 + 0 True False - 5 + 19 - + + Logrotate True - False - Description: - 0 + True + True + image5 - False + True True 0 - + + Metalog True + False True + True + image7 True @@ -242,196 +386,67 @@ 1 - - - False - True - 2 - - - - - True - True - 0 - - - - - True - True - 0 - - - - - True - False - 5 - 5 - - - False - True - 1 - - - - - True - False - 5 - - - True - False - Control: - 0 - - - False - True - 0 - - - - - True - False - 19 - - - Logrotate - True - True - True - image5 - - - True - True - 0 - - - - - Metalog - True - False - True - True - image7 - - - True - True - 1 - - - - - Syslog-ng - True - False - True - True - image6 - - - True - True - 2 - - - - - Journald - True - True - True - image8 - - - False - True - 3 - - - - - True - True - 4 - - - - - False - True - 2 - - - - - True - False - 0.019999999552965164 - in - - - True - False - 5 - 12 - 5 - 5 - - - True - False - 5 - + + Syslog-ng True - False - Log size: - 0 + False + True + True + image6 - False + True True - 0 + 2 - + + Journald True - False - 0.0 Mb + True + True + image8 - True + False True - 1 + 3 + + True + True + 4 + + + False + True + 2 + - - + + True False - Statistics + 5 + 5 + + False + True + 3 + False True - end - 4 + 1 @@ -476,11 +491,24 @@ - - - - - - + + True + False + com.ublinux.ubl-settings-logging.sort-symbolic + + + True + False + com.ublinux.ubl-settings-logging.sort-symbolic + + + True + False + com.ublinux.ubl-settings-logging.sort-symbolic + + + True + False + com.ublinux.ubl-settings-logging.sort-symbolic diff --git a/ubl-settings-logging_ru.po b/ubl-settings-logging_ru.po index 9e3d3f4..1ffaaf0 100644 --- a/ubl-settings-logging_ru.po +++ b/ubl-settings-logging_ru.po @@ -703,7 +703,7 @@ msgstr "Воскресенье*" #: source/ubl-strings.h:177 msgid "Same record already exists" -msgstr "Журнал с такими путями уже добавлен" +msgstr "Такая запись уже существует" #: source/ubl-strings.h:178 msgid "Empty important field"