|
|
|
@ -143,6 +143,7 @@ void yon_logs_custom_save(main_window *widgets){
|
|
|
|
char *final_strings=NULL;
|
|
|
|
char *final_strings=NULL;
|
|
|
|
for (;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->list),&iter)){
|
|
|
|
for (;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->list),&iter)){
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->list),&iter,0,&name,1,&paths,2,&description,3,&standard,4,&standard_paths,-1);
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->list),&iter,0,&name,1,&paths,2,&description,3,&standard,4,&standard_paths,-1);
|
|
|
|
|
|
|
|
if (paths){
|
|
|
|
if (standard!=1){
|
|
|
|
if (standard!=1){
|
|
|
|
for (int i=0;i<standard_paths;i++)
|
|
|
|
for (int i=0;i<standard_paths;i++)
|
|
|
|
free(yon_char_divide_search(paths,",",-1));
|
|
|
|
free(yon_char_divide_search(paths,",",-1));
|
|
|
|
@ -150,6 +151,8 @@ void yon_logs_custom_save(main_window *widgets){
|
|
|
|
final_strings = yon_char_unite(final_strings?yon_char_append(final_strings,"\n"):"",name?name:"",";",paths?paths:"",";",description?description:"",NULL);
|
|
|
|
final_strings = yon_char_unite(final_strings?yon_char_append(final_strings,"\n"):"",name?name:"",";",paths?paths:"",";",description?description:"",NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
free(paths);
|
|
|
|
|
|
|
|
}
|
|
|
|
FILE *fl = fopen(custom_logs_saving_file_path,"w");
|
|
|
|
FILE *fl = fopen(custom_logs_saving_file_path,"w");
|
|
|
|
if (final_strings)
|
|
|
|
if (final_strings)
|
|
|
|
fputs(final_strings,fl);
|
|
|
|
fputs(final_strings,fl);
|
|
|
|
@ -233,6 +236,46 @@ void on_save_local(){
|
|
|
|
|
|
|
|
|
|
|
|
// Inspector functions
|
|
|
|
// Inspector functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_inspector_jornald_read_async(inspector_window *window){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FILE *fl;
|
|
|
|
|
|
|
|
switch(window->last_mode){
|
|
|
|
|
|
|
|
case 0:
|
|
|
|
|
|
|
|
fl = popen(get_journal_output_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
|
|
|
|
fl = popen(get_journal_output_since_boot_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
|
|
|
|
fl = popen(get_journal_output_followed_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
|
|
|
|
fl = popen(get_journal_output_kernel_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
|
|
|
|
fl = popen(get_journal_output_prioritied_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
|
|
|
|
fl = popen(get_journal_all_boots_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
|
|
|
|
fl = popen(get_journal_all_units_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 7:
|
|
|
|
|
|
|
|
fl = popen(get_journal_init_tree_command,"r");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
char output[4092];
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
|
|
|
// while (1){
|
|
|
|
|
|
|
|
// if(fgets(output,4092,fl)){
|
|
|
|
|
|
|
|
// gtk_list_store_append(window->list, &iter);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gtk_list_store_set(window->list,&iter,0,&);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_inspector_update(GtkWidget *self, inspector_window *window){
|
|
|
|
void on_inspector_update(GtkWidget *self, inspector_window *window){
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
GtkTextIter titer,titerend;
|
|
|
|
GtkTextIter titer,titerend;
|
|
|
|
@ -1758,6 +1801,11 @@ void on_log_save(GtkWidget *self, dictionary *dict){
|
|
|
|
int fo=0;
|
|
|
|
int fo=0;
|
|
|
|
int so=0;
|
|
|
|
int so=0;
|
|
|
|
int paths_size;
|
|
|
|
int paths_size;
|
|
|
|
|
|
|
|
if (!pathse){
|
|
|
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->LogPathsBox);
|
|
|
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
config_str paths_parsed = yon_char_parse(pathse,&paths_size,"\n");
|
|
|
|
config_str paths_parsed = yon_char_parse(pathse,&paths_size,"\n");
|
|
|
|
if (yon_char_parsed_check_repeats(paths_parsed,paths_size,&fo,&so)){
|
|
|
|
if (yon_char_parsed_check_repeats(paths_parsed,paths_size,&fo,&so)){
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(window->LogPathsBox));
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(window->LogPathsBox));
|
|
|
|
|