|
|
|
|
@ -10,7 +10,9 @@ config main_config;
|
|
|
|
|
* [RU]
|
|
|
|
|
* Закрывает окно, в котором расположен виджет [self].
|
|
|
|
|
*/
|
|
|
|
|
void on_close_subwindow(GtkWidget *self){
|
|
|
|
|
void on_close_subwindow(GtkWidget *self, char *window){
|
|
|
|
|
if(window)
|
|
|
|
|
yon_window_config_custom_window_set(GTK_WINDOW(gtk_widget_get_toplevel(self)),window);
|
|
|
|
|
gtk_widget_destroy(gtk_widget_get_toplevel(self));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -281,6 +283,7 @@ void on_inspector_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
window->UpdateButton=yon_gtk_builder_get_widget(builder,"UpdateButton");
|
|
|
|
|
window->LoggingTerminal=yon_gtk_builder_get_widget(builder,"LoggingTerminal");
|
|
|
|
|
window->JournalActionsBox=yon_gtk_builder_get_widget(builder,"JournalActionsBox");
|
|
|
|
|
yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"InspectorWindow");
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL);
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->list);
|
|
|
|
|
@ -305,6 +308,7 @@ void on_inspector_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(window->ShowAllBootsButton),"clicked", G_CALLBACK(on_inspector_update),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->ShowAllUnitsButton),"clicked", G_CALLBACK(on_inspector_update),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->ShowInitTreeButton),"clicked", G_CALLBACK(on_inspector_update),window);
|
|
|
|
|
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)),&model,&iter)){
|
|
|
|
|
gtk_tree_model_get(model,&iter,0,&name,1,&paths,-1);
|
|
|
|
|
if (strcmp(name,"journald")){
|
|
|
|
|
@ -455,7 +459,7 @@ void on_rules_accept(GtkWidget *self, dictionary *dict){
|
|
|
|
|
!public_read&&public_write&&public_exec ? 3 : \
|
|
|
|
|
0;
|
|
|
|
|
gtk_entry_set_text(entry,yon_char_unite(yon_char_from_int(owner),yon_char_from_int(group),yon_char_from_int(public),NULL));
|
|
|
|
|
gtk_widget_destroy(window->Window);
|
|
|
|
|
on_close_subwindow(window->Window,"RulesWindow");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_rules_update(GtkWidget *self, logrotate_rules_window *window){
|
|
|
|
|
@ -513,11 +517,12 @@ void on_rules_open(GtkWidget *self,GtkEntry *entry){
|
|
|
|
|
window->FinalEntry=yon_gtk_builder_get_widget(builder,"FinalEntry");
|
|
|
|
|
window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
|
|
|
|
|
window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton");
|
|
|
|
|
yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"RulesWindow");
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL);
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"entry",entry);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"RulesWindow");
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_rules_accept),dict);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->UserReadCheck),"toggled",G_CALLBACK(on_rules_update),window);
|
|
|
|
|
@ -546,7 +551,7 @@ void on_filechooser_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
logrotate_filechooser_window *dialog = yon_dictionary_get_data(dict->first->next,logrotate_filechooser_window*);
|
|
|
|
|
char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog->FileChooser));
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->FileAmountEntry),filename);
|
|
|
|
|
gtk_widget_destroy(dialog->FileChooser);
|
|
|
|
|
on_close_subwindow(dialog->FileChooser,"FileDialog");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_filechooser_open(GtkWidget *self, logrotate_configure_window *window){
|
|
|
|
|
@ -556,6 +561,7 @@ void on_filechooser_open(GtkWidget *self, logrotate_configure_window *window){
|
|
|
|
|
dialog->FileOrDirCheck = yon_gtk_builder_get_widget(builder,"FileOrDirCheck");
|
|
|
|
|
dialog->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
|
|
|
|
dialog->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
|
|
|
|
yon_window_config_custom_window_set(GTK_WINDOW(dialog->FileChooser),"FileDialog");
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(window->MainWindow));
|
|
|
|
|
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
@ -563,7 +569,7 @@ void on_filechooser_open(GtkWidget *self, logrotate_configure_window *window){
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog);
|
|
|
|
|
g_signal_connect(G_OBJECT(dialog->FileOrDirCheck),"toggled",G_CALLBACK(on_filechooser_mode_switch),dialog);
|
|
|
|
|
g_signal_connect(G_OBJECT(dialog->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(dialog->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"FileDialog");
|
|
|
|
|
g_signal_connect(G_OBJECT(dialog->AcceptButton),"clicked",G_CALLBACK(on_filechooser_save),dict);
|
|
|
|
|
gtk_widget_show(dialog->FileChooser);
|
|
|
|
|
}
|
|
|
|
|
@ -854,7 +860,7 @@ void on_logrotate_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
}
|
|
|
|
|
paths=yon_char_replace(paths,",","\n");
|
|
|
|
|
gtk_list_store_set(main_config.logrotate_list,&iter,0,log_name,1,paths,2,gtk_entry_get_text(GTK_ENTRY(window->LogDescriptionEntry)),-1);
|
|
|
|
|
on_close_subwindow(window->MainWindow);
|
|
|
|
|
on_close_subwindow(window->MainWindow,"LogrotateWindow");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -923,6 +929,8 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
|
|
|
|
|
window->CommandAfterEntry=yon_gtk_builder_get_widget(builder,"CommandAfterEntry");
|
|
|
|
|
window->EndworkCommandEntry=yon_gtk_builder_get_widget(builder,"EndworkCommandEntry");
|
|
|
|
|
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
|
|
|
|
|
|
|
|
|
|
yon_window_config_custom_window_get(GTK_WINDOW(window->MainWindow),"LogrotateWindow");
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL);
|
|
|
|
|
if (dialog)
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(dialog->Window));
|
|
|
|
|
@ -1308,13 +1316,14 @@ void on_logrotate_tab_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
window->AddButton = yon_gtk_builder_get_widget(builder,"AddButton");
|
|
|
|
|
window->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton");
|
|
|
|
|
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
|
|
|
|
|
yon_window_config_custom_window_get(GTK_WINDOW(window->Window),"LogrotateTabWindow");
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL);
|
|
|
|
|
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree),GTK_TREE_MODEL(main_config.logrotate_list));
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(window->AppsMainTree),GTK_TREE_MODEL(main_config.logrotate_apps_list));
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"LogrotateTabWindow");
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_close_subwindow),"LogrotateTabWindow");
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_logrotate_add),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->RemoveButton),"clicked",G_CALLBACK(on_logrotate_remove),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->ConfigureButton),"clicked",G_CALLBACK(on_logrotate_edit),window);
|
|
|
|
|
@ -1461,7 +1470,7 @@ void on_journald_save(GtkWidget *self, journald_window *window){
|
|
|
|
|
yon_config_register(JOURNALD("MaxLevelConsole"),"logging",yon_char_from_int(forwardempty-1));
|
|
|
|
|
else
|
|
|
|
|
yon_config_remove_by_key(JOURNALD("MaxLevelConsole"));
|
|
|
|
|
on_close_subwindow(window->MainWindow);
|
|
|
|
|
on_close_subwindow(window->MainWindow,"JournaldWindow");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
journald_window *yon_journald_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
@ -1502,6 +1511,8 @@ journald_window *yon_journald_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
window->LowerTimeButton=yon_gtk_builder_get_widget(builder,"LowerTimeButton");
|
|
|
|
|
window->headerTopic=yon_gtk_builder_get_widget(builder,"headerTopic");
|
|
|
|
|
|
|
|
|
|
yon_window_config_custom_window_get(GTK_WINDOW(window->MainWindow),"JournaldWindow");
|
|
|
|
|
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
|
|
|
|
|
{
|
|
|
|
|
int sz;
|
|
|
|
|
@ -1511,7 +1522,7 @@ journald_window *yon_journald_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"JournaldWindow");
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_journald_save),window);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->LogIntervalCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),window->LogIntervalSpin);
|
|
|
|
|
@ -1631,11 +1642,15 @@ void on_log_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
if (!yon_char_is_empty(name)){
|
|
|
|
|
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))
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)),&model,&iter)){
|
|
|
|
|
gtk_list_store_append(widgets->list,&iter);
|
|
|
|
|
yon_window_config_custom_window_set(GTK_WINDOW(window->MainWindow),"AddWindow");
|
|
|
|
|
} else {
|
|
|
|
|
yon_window_config_custom_window_set(GTK_WINDOW(window->MainWindow),"EditWindow");
|
|
|
|
|
}
|
|
|
|
|
gtk_list_store_set(widgets->list,&iter,0,name,1,pathse,2,&desc ? desc : "",-1);
|
|
|
|
|
}
|
|
|
|
|
on_close_subwindow(self);
|
|
|
|
|
on_close_subwindow(self,NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_log_window *on_add_open(main_window *widgets){
|
|
|
|
|
@ -1660,7 +1675,6 @@ add_log_window *on_add_open(main_window *widgets){
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked", G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked", G_CALLBACK(on_log_save),dict);
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
@ -1728,6 +1742,8 @@ void on_log_add(GtkWidget *self, main_window *widgets){
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->list);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
add_log_window *window = on_add_open(widgets);
|
|
|
|
|
yon_window_config_custom_window_get(GTK_WINDOW(window->MainWindow),"AddWindow");
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked", G_CALLBACK(on_close_subwindow),"AddWindow");
|
|
|
|
|
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)));
|
|
|
|
|
gtk_widget_show(window->MainWindow);
|
|
|
|
|
gtk_widget_hide(window->StatisticsFrame);
|
|
|
|
|
@ -1740,6 +1756,8 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)),&model,&iter)){
|
|
|
|
|
add_log_window *window = on_add_open(widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked", G_CALLBACK(on_close_subwindow),"EditWindow");
|
|
|
|
|
yon_window_config_custom_window_get(GTK_WINDOW(window->MainWindow),"EditWindow");
|
|
|
|
|
gtk_widget_show(window->MainWindow);
|
|
|
|
|
gtk_widget_hide(window->StatisticsFrame);
|
|
|
|
|
char *name;
|
|
|
|
|
|