Merge pull request 'master' (#129) from YanTheKaller/ubl-settings-logging:master into master

Reviewed-on: #129
pull/139/head v2.6
Dmitry Razumov 5 months ago
commit bcd458ce5a

@ -13,7 +13,7 @@ include_directories(${VTE291_INCLUDE_DIRS})
link_directories(${VTE291_LIBRARY_DIRS})
add_definitions(${VTE291_CFLAGS_OTHER})
pkg_check_modules(POLKIT REQUIRED polkit-agent-1)
pkg_check_modules(POLKIT REQUIRED polkit-gobject-1)
include_directories(${POLKIT_INCLUDE_DIRS})
link_directories(${POLKIT_LIBRARY_DIRS})
add_definitions(${POLKIT_CFLAGS_OTHER})
@ -29,10 +29,6 @@ if(WEBKIT_LIBRARIES_FOUND)
add_definitions(${WEBKIT_CFLAGS_OTHER})
endif()
configure_file(ubl-cmake.in ubl-cmake.h)
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h DESTINATION ./)
set(GRESOURCE_C resources.c)
set(GRESOURCE_XML gresource.xml)
@ -76,21 +72,21 @@ add_custom_target(
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
-O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
-Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection")
string(FIND "${CMAKE_CXX_FLAGS}" "-D_FORTIFY_SOURCE" FORTIFY_FOUND)
if(FORTIFY_FOUND EQUAL -1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wp,-D_FORTIFY_SOURCE=2")
endif()
set(SOURCE_FILES
ubl-settings-logging.c
ubl-settings-logging.h
ubl-strings.h
ubl-utils.h
ubl-utils.c
${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h
)
set(LIBRARIES
@ -98,7 +94,10 @@ set(LIBRARIES
${WEBKIT_LIBRARIES}
${VTE291_LIBRARIES}
${POLKIT_LIBRARIES}
pthread)
pthread
ublsettings
ublsettings-gtk3
ublsettingsui-gtk3)
add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C})

@ -1 +0,0 @@
#cmakedefine WEBKIT_FOUND

File diff suppressed because it is too large Load Diff

@ -1,6 +1,5 @@
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include "ubl-utils.h"
#include <locale.h>
#include <stdio.h>
#include <unistd.h>
@ -12,7 +11,9 @@
#include <sys/types.h>
#include <sys/select.h>
#include <pwd.h>
#include "../compile/ubl-cmake.h"
#include <libublsettings.h>
#include <libublsettings-gtk3.h>
#include <libublsettingsui-gtk3.h>
#ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h>
#endif
@ -39,16 +40,25 @@
#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
#define journals_list_path "/usr/share/ubl-settings-logging/csv/journals_list.csv"
#define services_list_path "/usr/share/ubl-settings-logging/csv/logging_services.csv"
#define icon_path "com.ublinux.ubl-settings-logging"
#define logrotate_config_command "ls /etc/logrotate.d/ |sed -e 's/ */\\n/g'"
#define journald_size_command "journalctl --disk-usage | grep -oE \"[0-9]{1,}.[0-9]{1,}[A-Z]\""
#define logrotate_size_command(paths) yon_char_unite("du ",paths," |grep -oE '^[0-9]{1,}'",NULL)
#define logrotate_size_command(paths) yon_debug_output("%s\n",yon_char_unite("du ",paths," |grep -oE '^[0-9]{1,}'",NULL))
#define logrotate_config_path "/etc/logrotate.d/"
#define custom_logs_saving_file_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/logwatcher.csv",NULL)
#define read_log_command(command) yon_debug_output("%s\n",yon_char_unite("sed -r \"s/\\x1B\\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g\" ",command,NULL))
#define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-logging"
#define config_get_command(source) yon_char_unite("ubconfig --source ",source," get logging LOGROTATE[*] JOURNALD[*]",NULL)
#define config_get_default_command ""
#define config_get_global_only_parameters ""
#define config_get_local_only_parameters ""
#define JOURNALD(key) yon_char_unite("JOURNALD[",key,"]",NULL)
#define LOGROTATE(key) yon_char_unite("LOGROTATE[",key,"]",NULL)
@ -61,13 +71,25 @@
#define get_journal_all_units_command "clear;systemd-analyze blame --no-pager"
#define get_journal_init_tree_command "clear;systemd-analyze critical-chain --no-pager"
#define get_file_folder_size(path) yon_char_append("du -hsc ",path)
#define get_all_files_in_path(path) yon_char_append("find ",path)
#define group_list_path "/etc/group"
#define edit_icon_name "document-edit-symbolic"
#define add_icon_name "com.ublinux.ubl-settings-logging.increase-symbolic"
#define remove_icon_name "com.ublinux.libublsettingsui-gtk3.trash-symbolic"
#define minus_icon_name "com.ublinux.ubl-settings-logging.decrease-symbolic"
#define import_icon_name "com.ublinux.ubl-settings-logging.back-symbolic"
#define settings_icon_name "com.ublinux.ubl-settings-logging.settings-symbolic"
#define start_icon_name "com.ublinux.ubl-settings-logging.play-symbolic"
#define stop_icon_name "com.ublinux.ubl-settings-logging.stop-symbolic"
#define enable_icon_name "com.ublinux.ubl-settings-logging.check-symbolic"
#define disable_icon_name "com.ublinux.ubl-settings-logging.uncheck-symbolic"
#define check_command_is_legit(command) !system(yon_char_unite("bash -c \"set -u; command -v ",command,"\"",NULL))
#define yon_add_space_if_exists(string) yon_char_is_empty(string) ? "" : yon_char_append(",",string)
typedef char* string;
string version_application;
@ -75,23 +97,17 @@ string version_application;
char *local;
typedef struct {
char **envp;
int always_open_documentation;
int win_pos_x;
int win_pos_y;
int win_width;
int win_height;
int socket_id;
int load_socket_id;
int save_socket_id;
GSourceFunc func;
void *data;
} queue_func;
int lock_help;
int lock_save_local;
int lock_save_global;
int lock_load_global;
typedef struct {
template_config_fields
config_str launch_arguments;
int launch_size;
char **envp;
int load_mode;
int save_config;
GtkListStore *logrotate_list;
GtkListStore *logrotate_apps_list;
@ -105,37 +121,18 @@ typedef struct {
pthread_t inspector_thread;
int remove_thread;
PolkitAuthorizationResult *authorization_result;
PolkitSubject *process;
queue_func** queue;
int queue_size;
GMutex authorized_mutex;
} config;
typedef struct {
//Standard
GtkWidget *Window;
GtkWidget *HatLabel;
GtkWidget *PlugBox;
GtkWidget *HeadOverlay;
GtkWidget *HeadImage;
GtkWidget *HeadBox;
GtkWidget *HeadTitleLabel;
GtkWidget *HeadInfoLabel;
GtkWidget *StatusBox;
GtkWidget *StatusIcon;
GtkWidget *StatusLabel;
GtkWidget *SaveLabel;
GtkWidget *SaveMenuItem;
GtkWidget *SaveGlobalMenuItem;
GtkWidget *SaveLocalMenuItem;
GtkWidget *RightBox;
GtkWidget *LoadLabel;
GtkWidget *LoadGlobalMenuItem;
GtkWidget *LoadLocalMenuItem;
GtkWidget *LeftBox;
GtkWidget *DocumentationMenuItem;
GtkWidget *AboutMenuItem;
template_window_fields
GtkWidget *MainTree;
GtkWidget *InspectButton;
@ -154,6 +151,8 @@ typedef struct {
GtkWidget *UpgradePermissionsMenuItem;
GtkWidget *PermissionsLock;
// Custom
rmb_menu_window *LogsRMBMenu;
rmb_menu_window *ServicesRMBMenu;
} main_window;
@ -252,6 +251,8 @@ typedef struct {
GtkWidget *CancelButton;
GtkWidget *SaveButton;
GtkWidget *StatusBox;
rmb_menu_window *Menu;
rmb_menu_window *AppsMenu;
} logrotate_window;
typedef struct {
@ -372,4 +373,89 @@ typedef struct {
YON_CONFIG_TYPE type;
} saving_window;
typedef int (*RmbCheck)(void*);
main_window *setup_window();
void on_save_window_parameter_switched(GtkCellRendererToggle *self, gchar *path, saving_window *window);
char *yon_size_get_letter_from_int(int size);
int yon_size_get_int_from_letter(char size);
// void yon_polkit_authorized_action(GCallback *func);
void yon_logs_custom_save(main_window *widgets);
void update_loaded_logrotate();
int yon_load_proceed(YON_CONFIG_TYPE type);
void on_load_global();
void on_load_local();
void on_config_custom_load(GtkWidget *,main_window *widgets);
void on_save_global_local();
void on_save_global();
void on_save_local();
void on_config_custom_save(GtkWidget *, main_window *);
void on_save_done(main_window *widgets, config_str output, int size);
void on_save_failed(main_window *, config_str , int );
void on_inspector_jornald_read_async(inspector_window *window);
void on_inspector_update(GtkWidget *self, inspector_window *window);
GtkWidget *yon_inspector_add_terminal(inspector_window *window,char *page_name,int mode);
void on_inspector_close(GtkWidget *self, inspector_window *window);
void on_inspector_open(GtkWidget *self, main_window *widgets);
void on_logrotate_configuration_path_filechooser_selection_changed(GtkWidget *self, logrotate_filechooser_window *dialog);
void on_logrotate_filechooser_file_dir_toggled(GtkWidget *self, logrotate_filechooser_window *dialog);
void on_logrotate_configuration_path_filechooser_save_edit(GtkWidget *self, dictionary *dict);
void on_logrotate_configuration_path_filechooser_save(GtkWidget *self, dictionary *dict);
void on_logrotate_configuration_path_filechooser_open(GtkWidget *self, logrotate_configure_window *window);
void on_logrotate_configuration_path_add(GtkWidget *self, logrotate_configure_window *window);
void on_path_editing_done(GtkCellRendererText* self,gchar* gtkpath,gchar* new_text,logrotate_configure_window *window);
void on_path_editing_cancel(GtkCellRendererText* self,logrotate_configure_window *window);
void on_logrotate_configuration_path_edit(GtkWidget *self, logrotate_configure_window *window);
void on_logrotate_configuration_path_remove(GtkWidget *self, logrotate_configure_window *window);
void on_combo_activate_first(GtkComboBox *self, GtkWidget *target);
void on_combo_activate_second(GtkComboBox *self, GtkWidget *target);
void on_file_amount_checked(GtkToggleButton *self, logrotate_configure_window *window);
void on_rules_accept(GtkWidget *self, dictionary *dict);
void on_rules_update(GtkWidget *self, logrotate_rules_window *window);
void on_rules_open(GtkWidget *self,GtkEntry *entry);
void on_filechooser_mode_switch(GtkWidget *self, logrotate_filechooser_window *window);
void on_filechooser_save(GtkWidget *self, dictionary *dict);
void on_filechooser_open(GtkWidget *self, logrotate_configure_window *window);
void on_logrotate_period_check_toggled(GtkToggleButton *self,logrotate_configure_window *window);
void on_logrotate_paths_cursor_changed(GtkWidget *self, logrotate_configure_window *window);
int on_logrotate_check_repeats(GtkWidget *self, logrotate_configure_window *window);
void on_logrotate_save(GtkWidget *self, dictionary *dict);
logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_window *dialog, char *log_name);
void on_logrotate_add(GtkWidget *self, logrotate_window *dialog);
void on_logrotate_edit(GtkWidget *self, logrotate_window *window);
void on_logrotate_remove(GtkWidget *self, logrotate_window *window);
void on_logrotate_apps_configure(GtkWidget *self, logrotate_window *window);
void on_log_edit_logrotate_settings(GtkWidget *self, dictionary *dict);
void on_logrotate_tab_selection_changed(GtkWidget *self, logrotate_window *window);
void on_logrotate_applications_tab_selection_changed(GtkWidget *self, logrotate_window *window);
void on_logrotate_tab_open(GtkWidget *self, main_window *widgets);
void yon_combo_compress_check(GtkComboBox *self, journald_window *window);
void on_journald_reset(GtkWidget *self, journald_window *window);
void on_journald_save(GtkWidget *self, journald_window *window);
journald_window *yon_journald_open(GtkWidget *self, main_window *widgets);
void on_journald_open(GtkWidget *self, main_window *widgets);
void on_log_save(GtkWidget *self, dictionary *dict);
add_log_window *on_add_open(main_window *widgets);
void on_log_path_remove(GtkWidget *self, add_log_window *window);
void on_log_path_filechooser_selection_changed(GtkWidget *self, logrotate_filechooser_window *dialog);
void on_log_path_filechooser_toggled(GtkWidget *self, logrotate_filechooser_window *dialog);
void on_log_path_filechooser_save(GtkWidget *self, dictionary *dict);
void on_log_path_filechooser_open(GtkWidget *self, GtkEntry *entry);
void on_log_path_choose(GtkWidget *self,add_log_window *window);
void on_log_path_append(GtkWidget *self, add_log_window *window);
void on_log_add(GtkWidget *self, main_window *widgets);
void on_log_edit(GtkWidget *self,main_window *widgets);
void on_log_remove(GtkWidget *self, main_window *widgets);
void on_service_edit(GtkWidget *self,main_window *widgets);
void on_main_window_tree_selection_changed(GtkWidget *self,main_window *widgets);
void on_main_window_services_tree_selection_changed(GtkWidget *self,main_window *widgets);
void on_start_stop_clicked(GtkButton *self, main_window *widgets);
void on_enable_disable_clicked(GtkButton *self, main_window *widgets);
void on_permissions_changed();
void config_init();
void yon_main_window_complete(template_main_window **window);
void on_logrotate_apps_configure_activate(GtkWidget *, GtkTreePath*, GtkTreeViewColumn*,logrotate_window *window);
void on_logrotate_edit_activate(GtkWidget*,GtkTreePath*,GtkTreeViewColumn*, logrotate_window *window);
void on_logrotate_closed(GtkWidget *,logrotate_window *window);
void on_rules_changed(GtkEditable *editable, const gchar *text, gint length, gint *position);
int main(int argc, char *argv[]);

@ -1,41 +1,14 @@
#define VERSION_LABEL yon_char_unite(_("Version:")," ",version_application,"\n",NULL)
#define HELP_LABEL yon_char_unite(_("ubl-settings-loggign version:")," ", version_application,"\n",_("Logs and events"),"\n",_("Usage:"), " ubl-settings-logging ",_("[OPTIONS]"),"\n",_("Options:"),"\n\t--help, -h\t\t\t",_("Show this help"),"\n\t--version, -V\t\t\t",_("Show package version"),"\n\t--lock-help\t\t\t",_("Lock this help menu"),"\n\t--lock-save\t\t\t",_("Lock configuration saving"),"\n\t--lock-save-local\t\t",_("Lock local configration saving"),"\n\t--lock-save-global\t\t",_("Lock global configration saving"),"\n\t--lock-load-global\t\t",_("Lock global configration loading"),"\n\t--clear-config\t\t\t",_("Clear application configuration"),"\n",NULL)
#define TITLE_LABEL _("Logs and events")
#define TITLE_INFO_LABEL _("Logs and events configuration")
#define SUCCESS_LABEL _("Operation succeeded")
#define ROOT_WARNING_LABEL _("Warning! Application was launched without root - root-dependent actions are locked")
#define ABOUT_LABEL _("About")
#define DOCUMENTATION_LABEL _("Documentation")
#define SAVE_LOCAL_LABEL _("Save to local configuration")
#define SAVE_GLOBAL_LABEL _("Save to global configuration")
#define SAVE_CONFIGURATION_LABEL _("Save to global and local configuration")
#define SAVE_LABEL _("Save")
#define LOAD_LOCAL_LABEL _("Load local configuration")
#define LOAD_GLOBAL_LABEL _("Load global configuration")
#define LOAD_LABEL _("Load")
#define CANCEL_LABEL _("Cancel")
#define HELP_TITLE_LABEL _("Would you like to read documentation in the Web?")
#define HELP_INFO_LABEL _("You will be redirected to documentation website where documentation is\ntranslated and supported by community.")
#define HELP_ALWAYS_OPEN_LABEL _("Always redirect to online documentation")
#define OPEN_HELP_LABEL _("Open documentation")
#define PROJECT_HOME_LABEL _("Project Home Page")
#define NOTHING_CHOSEN_LABEL _("Nothing were chosen")
#define FILTER_NAME_CONFIG_LABEL yon_char_append(_("Configuration file")," *.ini")
#define CHOOSE_CUSTOM_CONFIG_LABEL _("Choose custom configuration file")
#define GLOBAL_LOAD_SUCCESS_LABEL _("Global configuration loading succseeded.")
#define LOCAL_LOAD_SUCCESS_LABEL _("Local configuration loading succseeded.")
#define LOAD_FAILED_LABEL _("Config loading failed")
#define GLOBAL_LOCAL_SAVE_SUCCESS_LABEL _("Local and global configuration saving succseeded.")
#define GLOBAL_SAVE_SUCCESS_LABEL _("Global configuration saving succseeded.")
#define LOCAL_SAVE_SUCCESS_LABEL _("Local configuration saving succseeded.")
#define ACCEPT_LABEL _("Accept")
#define CHOOSE_DIR_NOT_FILE_LABEL _("Choose directory instead of file")
@ -70,6 +43,7 @@
#define SYSLOG_DESCRIPTION_LABEL _("System log")
#define XORG_DESCRIPTION_LABEL _("X.org display server log")
#define XSESSION_DESCRIPTION_LABEL _("Graphics X session log")
#define SAVE_LABEL _("Save")
//ubl-settings-logging-inspector.glade
#define INSPECTOR_TITLE_LABEL _("Logs and events - log inspector")
@ -201,6 +175,7 @@
#define EMPTY_IMPORTANT_LABEL _("Empty important field")
#define REPEAT_PATHS_LABEL _("Repeating paths")
#define WRITE_IMPORTANT_LABEL _("Write down all important fields")
#define COMMAND_INVALID_LABEL _("Command is invalid")
//ubl-settings-logging-logrotate-table.glade
#define TABLE_TITLE_LABEL _("Logs and events - logrotate table")
@ -218,6 +193,7 @@
#define LOG_FILE_LABEL _("Log file")
#define NAME_LABEL _("Name:")
#define TOTAL_LOG_SIZE_LABEL _("Log size:")
#define NO_FILES_FOUND_LABEL _("Journal/log files were not found")
//ubl-settings-logging-rules.glade
#define RULES_TITLE_LABEL _("Logs and events - rules")
@ -237,3 +213,6 @@
#define FILECHOOSER_TITLE_LABEL _("Logs and events - choose a path")
#define SAVE_TITLE_LABEL _("Logs and events - saving")
#define AUTHTORIZED_LABEL _("Authorization has been elevated")
#define UNAUTHTORIZED_LABEL _("Authorization has been unelevated")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -2,6 +2,21 @@
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.increase-symbolic</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.zoom-symbolic</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.decrease-symbolic</property>
</object>
<object class="GtkBox" id="PathBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -23,6 +38,7 @@
<object class="GtkEntry" id="PathEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">url</property>
</object>
<packing>
<property name="expand">True</property>
@ -78,19 +94,4 @@
</packing>
</child>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.increase-symbolic</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.zoom-symbolic</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.decrease-symbolic</property>
</object>
</interface>

@ -21,7 +21,7 @@
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
@ -59,38 +59,15 @@
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child internal-child="action_area">
<object class="GtkButtonBox">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
<placeholder/>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
<placeholder/>
</child>
</object>
<packing>
@ -119,8 +96,8 @@
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-start">4</property>
<property name="margin-end">4</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
@ -499,6 +476,31 @@
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
@ -101,7 +101,6 @@
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>

@ -62,7 +62,7 @@
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
@ -86,7 +86,6 @@
</object>
<object class="GtkWindow" id="MainWindow">
<property name="width-request">800</property>
<property name="height-request">600</property>
<property name="can-focus">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
@ -667,7 +666,7 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="input-purpose">alpha</property>
<property name="placeholder-text" translatable="yes">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -965,62 +964,6 @@
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="ResetButton">
<property name="label" translatable="yes">Reset</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
@ -1057,6 +1000,43 @@
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ResetButton">
<property name="label" translatable="yes">Reset</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</property>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">3</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
@ -22,7 +22,7 @@
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
@ -339,48 +339,6 @@
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="spacing">5</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
@ -394,7 +352,6 @@
<object class="GtkHeaderBar" id="headerBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>
@ -424,6 +381,31 @@
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>

@ -34,6 +34,7 @@
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment6">
<property name="lower">1</property>
<property name="upper">999999999</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
@ -81,7 +82,7 @@
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
@ -104,7 +105,6 @@
<property name="can-focus">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
<property name="skip-taskbar-hint">True</property>
<property name="skip-pager-hint">True</property>
<child>
<object class="GtkBox">
@ -184,6 +184,7 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="input-purpose">name</property>
</object>
<packing>
<property name="expand">True</property>
@ -220,6 +221,7 @@
<object class="GtkEntry" id="LogDescriptionEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">name</property>
</object>
<packing>
<property name="expand">True</property>
@ -1232,6 +1234,7 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="max-length">3</property>
</object>
<packing>
<property name="expand">False</property>
@ -1470,6 +1473,7 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="input-purpose">name</property>
</object>
<packing>
<property name="expand">False</property>
@ -1667,6 +1671,7 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="input-purpose">email</property>
</object>
<packing>
<property name="expand">False</property>
@ -1784,6 +1789,7 @@
<object class="GtkEntry" id="CommandBeforeOnceEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1820,6 +1826,7 @@
<object class="GtkEntry" id="CommandAfterOnceEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1856,6 +1863,7 @@
<object class="GtkEntry" id="CommandBeforeEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1892,6 +1900,7 @@
<object class="GtkEntry" id="CommandAfterEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1928,6 +1937,7 @@
<object class="GtkEntry" id="EndworkCommandEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -2072,48 +2082,6 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image9</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image8</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
@ -2127,7 +2095,6 @@
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>
@ -2157,6 +2124,31 @@
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image8</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image9</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>

@ -25,172 +25,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<!-- interface-license-type gplv2 -->
<!-- interface-name ubl-settings-logging -->
<!-- interface-copyright UBGroup -->
<object class="GtkAboutDialog" id="AboutWindow">
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="window-position">center</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
<property name="type-hint">dialog</property>
<property name="urgency-hint">True</property>
<property name="program-name">ubl-settings-logging</property>
<property name="version">1.1</property>
<property name="copyright" translatable="yes">Copyright © 2022 - 2023, UBSoft LLC</property>
<property name="comments" translatable="yes">Logs and events</property>
<property name="website">https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-logging</property>
<property name="website-label" translatable="yes">Project Home Page</property>
<property name="license" translatable="yes">Это приложение распространяется без каких-либо гарантий.
Подробнее в &lt;a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"&gt;GNU General Public License, версии 2 или позднее&lt;/a&gt;.</property>
<property name="authors">UBGroup</property>
<property name="artists">UBGroup</property>
<property name="logo-icon-name">com.ublinux.ubl-settings-logging</property>
<property name="wrap-license">True</property>
<property name="license-type">gpl-2-0</property>
<child internal-child="vbox">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="buttonBoxHide">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerAboutTopic">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
</child>
</object>
<object class="GtkBox" id="HeaderBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="pixel-size">64</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="HeaderTitleLabel">
<property name="width-request">255</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">end</property>
<property name="label" translatable="yes">Logs and events</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="size" value="15360"/>
</attributes>
<style>
<class name="textHead"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="HeaderInfoLabel">
<property name="width-request">255</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="label" translatable="yes">Logs and events configuration</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="size" value="12288"/>
</attributes>
<style>
<class name="textHead"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<object class="GtkListStore" id="LogrotateList">
<columns>
<!-- column-name gchararray1 -->
@ -213,457 +47,77 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<column type="gchararray"/>
<!-- column-name StopCommand -->
<column type="gchararray"/>
<!-- column-name LaunchCommand -->
<column type="gchararray"/>
<!-- column-name PauseCommand -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.view-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.settings-symbolic</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">value-increase-symbolic</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.trash-symbolic</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.play-symbolic</property>
</object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.check-symbolic</property>
</object>
<object class="GtkImage" id="image7">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.settings-symbolic</property>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">emblem-ok-symbolic</property>
</object>
<object class="GtkApplicationWindow" id="helpConfirmationWindow">
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="default-width">450</property>
<property name="icon-name">dialog-question-symbolic</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="xpad">20</property>
<property name="ypad">20</property>
<property name="icon-name">dialog-question-symbolic</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="helpHeader">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin-top">10</property>
<property name="margin-bottom">5</property>
<property name="label" translatable="yes">Would you like to read documentation in the Web?</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
<style>
<class name="fgnb"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="helpText">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<property name="margin-right">10</property>
<property name="margin-end">10</property>
<property name="label" translatable="yes">You will be redirected to documentation website where documentation is
translated and supported by community.</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<style>
<class name="fgnb"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="AlwaysOpenDocumentationCheckbox">
<property name="label" translatable="yes">Always redirect to online documentation</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="halign">end</property>
<property name="draw-indicator">True</property>
<style>
<class name="label"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="fgnb"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="fgnb"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">30</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="CancelHelpButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image8</property>
<style>
<class name="button"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ReadHelpButton">
<property name="label" translatable="yes">Open documentation</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image9</property>
<style>
<class name="button"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="SettingsBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="webHeaderNameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Logs and events</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
</child>
</object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name LogName -->
<column type="gchararray"/>
<!-- column-name Path -->
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
<!-- column-name IsStandard -->
<column type="gint"/>
<!-- column-name StandardPathsAmount -->
<column type="gint"/>
</columns>
<data>
<row>
<col id="0">journald</col>
<col id="1">/var/log/journal/</col>
<col id="2" translatable="yes">System event log</col>
<col id="3">1</col>
<col id="4">1</col>
</row>
</data>
</object>
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="reserve-toggle-size">False</property>
<child>
<object class="GtkMenuItem" id="LoadGlobalConfigurationMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Load global configuration</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="LoadLocalConfigurationMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Load local configuration</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
</object>
<object class="GtkMenu" id="menu2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="take-focus">False</property>
<property name="reserve-toggle-size">False</property>
<child>
<object class="GtkCheckMenuItem" id="UpgradePermissionsMenuItem">
<property name="can-focus">False</property>
<property name="label" translatable="yes">Upgrade permissions to root</property>
</object>
</child>
</object>
<object class="GtkMenu" id="menu3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="reserve-toggle-size">False</property>
<child>
<object class="GtkMenuItem" id="SaveGlobalLocalConfigurationMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save to global and local configuration</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="SaveGlobalConfigurationMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save to global configuration</property>
<style>
<class name="menuitemmiddle"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="SaveLocalConfigurationMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save to local configuration</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
<!-- column-name LaunchCommand -->
<column type="gchararray"/>
<!-- column-name PauseCommand -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkWindow" id="MainWindow">
<property name="width-request">800</property>
<property name="height-request">600</property>
<property name="can-focus">False</property>
<property name="default-width">800</property>
<property name="default-height">600</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
<child>
<object class="GtkBox" id="plugBox">
<property name="visible">True</property>
<object class="GtkCheckMenuItem" id="UpgradePermissionsMenuItem">
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="label" translatable="yes">Upgrade permissions to root</property>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox" id="mainStatusBox">
<property name="icon-name">com.ublinux.ubl-settings-logging.view-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImage" id="mainStatusIcon">
<property name="icon-name">com.ublinux.ubl-settings-logging.settings-symbolic</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="pixel-size">25</property>
<property name="icon-name">value-increase-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="mainStatusLabel">
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="foreground" value="#4d4d4d4d4d4d"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<property name="icon-name">com.ublinux.ubl-settings-logging.trash-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="standartHead">
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkOverlay" id="HeadOverlay">
<property name="height-request">81</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.play-symbolic</property>
</object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImage" id="HeadBackgroundImage">
<property name="icon-name">com.ublinux.ubl-settings-logging.check-symbolic</property>
</object>
<object class="GtkImage" id="image7">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
<property name="icon-name">com.ublinux.ubl-settings-logging.settings-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name LogName -->
<column type="gchararray"/>
<!-- column-name Path -->
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
<!-- column-name IsStandard -->
<column type="gint"/>
<!-- column-name StandardPathsAmount -->
<column type="gint"/>
</columns>
<data>
<row>
<col id="0">journald</col>
<col id="1">/var/log/journal/</col>
<col id="2" translatable="yes">System event log</col>
<col id="3">1</col>
<col id="4">1</col>
</row>
</data>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkBox" id="PlugBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
@ -775,9 +229,6 @@ translated and supported by community.</property>
<property name="can-focus">True</property>
<property name="model">liststore1</property>
<property name="tooltip-column">2</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="resizable">True</property>
@ -939,9 +390,6 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">ServicesList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="sizing">fixed</property>
@ -1031,190 +479,4 @@ translated and supported by community.</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkBox" id="HeaderRightBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkMenuButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="focus-on-click">False</property>
<property name="receives-default">True</property>
<property name="popup">menu3</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="headerSaveConfigLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">pan-down-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkMenuButton" id="mainSettingsButton">
<property name="visible">True</property>
<property name="app-paintable">True</property>
<property name="can-focus">True</property>
<property name="focus-on-click">False</property>
<property name="receives-default">True</property>
<property name="draw-indicator">True</property>
<property name="popup">menu2</property>
<property name="direction">none</property>
<child>
<placeholder/>
</child>
<style>
<class name="noborder"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="HeaderLeftBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkMenuButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="focus-on-click">False</property>
<property name="receives-default">True</property>
<property name="popup">menu1</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="headerLoadConfigLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Load</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">pan-down-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>
</object>
</child>
</object>
</interface>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save