Repeated records fixes at monitoring tab

pull/62/head
parent 2f42349905
commit 1700a22f78

@ -1658,7 +1658,9 @@ void on_log_save(GtkWidget *self, dictionary *dict){
char *pathse=NULL; char *pathse=NULL;
for (int i=0;i<g_list_length(list);i++){ for (int i=0;i<g_list_length(list);i++){
GList *paths = gtk_container_get_children((GtkContainer*)g_list_nth_data(list,i)); GList *paths = gtk_container_get_children((GtkContainer*)g_list_nth_data(list,i));
pathse=yon_char_unite(pathse ? yon_char_append(pathse,"\n"):"",gtk_entry_get_text((GtkEntry*)g_list_nth_data(paths,1)),NULL); char *cur = (char*)gtk_entry_get_text((GtkEntry*)g_list_nth_data(paths,1));
if (strcmp(cur,""))
pathse=yon_char_unite(pathse ? yon_char_append(pathse,"\n"):"",cur,NULL);
} }
GtkTreeIter iter; GtkTreeIter iter;
char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->NameEntry)); char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->NameEntry));
@ -1667,6 +1669,27 @@ void on_log_save(GtkWidget *self, dictionary *dict){
GtkTreeModel *model = GTK_TREE_MODEL(widgets->list); GtkTreeModel *model = GTK_TREE_MODEL(widgets->list);
GtkTreeIter iter; GtkTreeIter iter;
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)),&model,&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); gtk_list_store_append(widgets->list,&iter);
int stat; int stat;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->list),&iter,3,&stat,-1); 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->ControlSectionBox=yon_gtk_builder_get_widget(builder,"ControlSectionBox");
window->LogPathsBox=yon_gtk_builder_get_widget(builder,"LogPathsBox"); window->LogPathsBox=yon_gtk_builder_get_widget(builder,"LogPathsBox");
window->NameEntry=yon_gtk_builder_get_widget(builder,"NameEntry"); 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_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
dictionary *dict = NULL; dictionary *dict = NULL;
@ -2140,11 +2164,9 @@ main_window *setup_window(){
widgets->ServicesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ServicesList")); widgets->ServicesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ServicesList"));
widgets->UpgradePermissionsMenuItem = yon_gtk_builder_get_widget(builder,"UpgradePermissionsMenuItem"); 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"); 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); gtk_window_set_title(GTK_WINDOW(widgets->Window),TITLE_LABEL);
GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2"); GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");

@ -164,6 +164,7 @@ typedef struct {
typedef struct { typedef struct {
GtkWidget *MainWindow; GtkWidget *MainWindow;
GtkWidget *StatusBox;
GtkWidget *adjustment1; GtkWidget *adjustment1;
GtkWidget *adjustment2; GtkWidget *adjustment2;
GtkWidget *CancelButton; GtkWidget *CancelButton;

@ -3,6 +3,13 @@
<interface domain="ubl-settings-logging"> <interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css --> <!-- interface-css-provider-path ubl-settings-logging.css -->
<object class="GtkSizeGroup">
<widgets>
<widget name="label1"/>
<widget name="label2"/>
<widget name="label3"/>
</widgets>
</object>
<object class="GtkAdjustment" id="adjustment1"> <object class="GtkAdjustment" id="adjustment1">
<property name="upper">1024</property> <property name="upper">1024</property>
<property name="step-increment">1</property> <property name="step-increment">1</property>
@ -28,26 +35,6 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">emblem-ok-symbolic</property> <property name="icon-name">emblem-ok-symbolic</property>
</object> </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.sort-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.sort-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.sort-symbolic</property>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object>
<object class="GtkDialog" id="MainWindow"> <object class="GtkDialog" id="MainWindow">
<property name="width-request">450</property> <property name="width-request">450</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -57,9 +44,6 @@
<child internal-child="vbox"> <child internal-child="vbox">
<object class="GtkBox"> <object class="GtkBox">
<property name="can-focus">False</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="margin-bottom">5</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
@ -103,6 +87,91 @@
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</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="margin-start">5</property>
<property name="margin-end">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame" id="StatisticsFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="top-padding">5</property>
<property name="bottom-padding">12</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Log size:</property>
<property name="xalign">0</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="LogSizeLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">0.0 Mb</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Statistics</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -190,6 +259,8 @@
<object class="GtkViewport"> <object class="GtkViewport">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</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-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">5</property> <property name="margin-top">5</property>
@ -260,19 +331,6 @@
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
@ -372,66 +430,23 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkFrame" id="StatisticsFrame"> <object class="GtkSeparator">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="top-padding">5</property>
<property name="bottom-padding">12</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Log size:</property> <property name="margin-top">5</property>
<property name="xalign">0</property> <property name="margin-bottom">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">0</property> <property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="LogSizeLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">0.0 Mb</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing> </packing>
</child> </child>
</object> </object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Statistics</property>
</object>
</child>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack-type">end</property> <property name="position">1</property>
<property name="position">4</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -476,11 +491,24 @@
</object> </object>
</child> </child>
</object> </object>
<object class="GtkSizeGroup"> <object class="GtkImage" id="image5">
<widgets> <property name="visible">True</property>
<widget name="label1"/> <property name="can-focus">False</property>
<widget name="label2"/> <property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
<widget name="label3"/> </object>
</widgets> <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.sort-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.sort-symbolic</property>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object> </object>
</interface> </interface>

@ -703,7 +703,7 @@ msgstr "Воскресенье*"
#: source/ubl-strings.h:177 #: source/ubl-strings.h:177
msgid "Same record already exists" msgid "Same record already exists"
msgstr "Журнал с такими путями уже добавлен" msgstr "Такая запись уже существует"
#: source/ubl-strings.h:178 #: source/ubl-strings.h:178
msgid "Empty important field" msgid "Empty important field"

Loading…
Cancel
Save