|
|
|
@ -170,6 +170,17 @@ template_debug_window *template_debugger_window_new(){
|
|
|
|
return window;
|
|
|
|
return window;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void _yon_saving_threaded(char *final_command){
|
|
|
|
|
|
|
|
FILE *file = popen(final_command,"r");
|
|
|
|
|
|
|
|
int file_save;
|
|
|
|
|
|
|
|
config_str file_return = yon_config_load_file(file,&file_save);
|
|
|
|
|
|
|
|
file_return = yon_char_parsed_append(file_return,&file_save,final_command);
|
|
|
|
|
|
|
|
if (save_success_function)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
save_success_function(save_success_argument,file_return,file_save);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_save_parameters(GtkWidget *self, template_saving_window *window){
|
|
|
|
void on_save_parameters(GtkWidget *self, template_saving_window *window){
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(window->ParametersTree));
|
|
|
|
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(window->ParametersTree));
|
|
|
|
@ -199,14 +210,8 @@ void on_save_parameters(GtkWidget *self, template_saving_window *window){
|
|
|
|
yon_char_parsed_prepend_strings(commands,size,ubconfig_set_command(window->custom_save_path));
|
|
|
|
yon_char_parsed_prepend_strings(commands,size,ubconfig_set_command(window->custom_save_path));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
char *final_command = yon_char_parsed_to_string(commands,size,";");
|
|
|
|
char *final_command = yon_char_parsed_to_string(commands,size,";");
|
|
|
|
FILE *file = popen(final_command,"r");
|
|
|
|
pthread_t thread_id;
|
|
|
|
int file_save;
|
|
|
|
pthread_create(&thread_id, NULL, (void *)_yon_saving_threaded,final_command);
|
|
|
|
config_str file_return = yon_config_load_file(file,&file_save);
|
|
|
|
|
|
|
|
file_return = yon_char_parsed_append(file_return,&file_save,final_command);
|
|
|
|
|
|
|
|
if (save_success_function)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
save_success_function(save_success_argument,file_return,file_save);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"SaveWindow");
|
|
|
|
yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"SaveWindow");
|
|
|
|
on_subwindow_close(self);
|
|
|
|
on_subwindow_close(self);
|
|
|
|
@ -253,7 +258,7 @@ struct loaded_config *yon_config_get_compared(char *command, int *final_size){
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
config_str config = yon_config_load(command,&size);
|
|
|
|
config_str config = yon_config_load(command,&size);
|
|
|
|
config_str temporary = NULL;
|
|
|
|
config_str temporary = NULL;
|
|
|
|
int temp_size;
|
|
|
|
int temp_size=0;
|
|
|
|
if (config&&size>0){
|
|
|
|
if (config&&size>0){
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
if (!yon_char_is_empty(config[i])&&strcmp(config[i],"(null)\n")){
|
|
|
|
if (!yon_char_is_empty(config[i])&&strcmp(config[i],"(null)\n")){
|
|
|
|
@ -302,7 +307,8 @@ template_saving_window *yon_save_proceed(char *path,YON_CONFIG_TYPE type, ...){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
path = file;
|
|
|
|
path = yon_char_unite("'",file,"'",NULL);
|
|
|
|
|
|
|
|
free(file);
|
|
|
|
gtk_widget_destroy(dialog);
|
|
|
|
gtk_widget_destroy(dialog);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
gtk_widget_destroy(dialog);
|
|
|
|
gtk_widget_destroy(dialog);
|
|
|
|
|