diff --git a/libublsettingsui-gtk3-saving.glade b/libublsettingsui-gtk3-saving.glade
index b1b7b1e..1514e56 100644
--- a/libublsettingsui-gtk3-saving.glade
+++ b/libublsettingsui-gtk3-saving.glade
@@ -36,14 +36,14 @@
+
+
-
-
- 4
- 5
+ 5
+ 6
1
@@ -139,8 +139,8 @@
250
- 4
- 5
+ 5
+ 6
2
@@ -156,8 +156,8 @@
250
- 4
- 5
+ 5
+ 6
3
@@ -170,7 +170,9 @@
- 7
+ 5
+ 6
+ 4
@@ -252,7 +254,24 @@
-
- liststore1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c
index e939bff..8426de4 100644
--- a/source/libublsettingsui-gtk3.c
+++ b/source/libublsettingsui-gtk3.c
@@ -113,7 +113,7 @@ void on_about(GtkWidget *self, char *version_application){
}
//functions
-void (*save_success_function)(void*)=NULL;
+void (*save_success_function)(void*,config_str,int)=NULL;
void *save_success_argument=NULL;
void yon_save_window_set_postsave_function(void *function, void *data){
@@ -124,20 +124,11 @@ void yon_save_window_set_postsave_function(void *function, void *data){
void on_save_window_parameter_switched(GtkCellRendererToggle *self, gchar *path, template_saving_window *window){
GtkTreeIter iter,itar;
if (path){
- if (gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->filteredModel),&itar,path)){
- char *seek_name;
- gtk_tree_model_get(window->filteredModel,&itar,1,&seek_name,-1);
- int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter);
- for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&iter)){
- char *name;
- gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,1,&name,-1);
- if (!strcmp(seek_name,name)){
- gboolean is_active;
- gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&is_active,-1);
- gtk_list_store_set(window->list,&iter,0,!is_active,-1);
- }
- }
- }
+ if (gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->list),&itar,path)){
+ gboolean is_active;
+ gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&is_active,-1);
+ gtk_list_store_set(window->list,&itar,0,!is_active,-1);
+ }
}
int once_active=0;
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter);
@@ -151,7 +142,6 @@ void on_save_window_parameter_switched(GtkCellRendererToggle *self, gchar *path,
}
if (!once_active) gtk_widget_set_sensitive(window->SaveButton,0);
else gtk_widget_set_sensitive(window->SaveButton,1);
- gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(window->filteredModel));
}
@@ -173,189 +163,113 @@ template_debug_window *template_debugger_window_new(){
}
void on_save_parameters(GtkWidget *self, template_saving_window *window){
- char *append_command = yon_char_unite("ubconfig --target ",template_config->load_mode==1?"global":"system"," set ",NULL);
- char *remove_command = yon_char_unite("ubconfig --target ",template_config->load_mode==1?"global":"system"," remove ",NULL);
- dictionary *final_append=NULL;
- dictionary *final_remove=NULL;
GtkTreeIter iter;
- int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter);
- for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&iter)){
- gboolean is_active,can_save;
- char *parameter,*old_value,*new_value,*section;
- gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&is_active,1,¶meter,2,&old_value,3,&new_value,5,&can_save,6,§ion,-1);
- if (is_active&&can_save){
- if(!yon_char_is_empty(parameter)){
- if (yon_char_is_empty(new_value)){ // empty new value - delete
- if (yon_dictionary_get(&final_remove,section)){
- final_remove->data = yon_char_unite((char*)final_remove->data," ",parameter,NULL);
- } else {
- yon_dictionary_add_or_create_if_exists_with_data(final_remove,section, parameter);
- }
- } else { // non-empty new value - add
- if (yon_dictionary_get(&final_append,section)){
- final_append->data=yon_char_unite((char*)final_append->data," ",yon_char_unite(parameter,"=\'",new_value,"\'",NULL),NULL);
- } else {
- yon_dictionary_add_or_create_if_exists_with_data(final_append,section, yon_char_unite(parameter,"=",new_value[0]!='\''?"\'":"",new_value,new_value[strlen(new_value)-1]!='\''?"\'":"",NULL));
- }
- }
- }
+ GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(window->ParametersTree));
+ int valid = gtk_tree_model_get_iter_first(model,&iter);
+ int saved_size=0;
+ config_str saved_parameters=NULL;
+ for (;valid;valid = gtk_tree_model_iter_next(model,&iter)){
+ char *parameter;
+ int is_active;
+ gtk_tree_model_get(model,&iter,0,&is_active,1,¶meter,-1);
+ if (is_active){
+ yon_char_parsed_add_or_create_if_exists(saved_parameters,&saved_size,parameter);
}
+
}
- // if (debug_output==1){
- // template_debug_window *debug_window = template_debugger_window_new();
- // gtk_widget_show(debug_window->Window);
- // dictionary *dict = NULL;
- // char *final_command_line = "";
- // if (final_remove){
- // for_dictionaries(dict,final_remove){
- // char *final_command = yon_char_unite(remove_command," ",dict->key," ",(char*)dict->data,NULL);
- // char *temp = yon_char_unite(final_command_line,!yon_char_is_empty(final_command_line)?";echo \"":"echo \"",final_command,"\";",final_command,NULL);
- // if (!yon_char_is_empty(final_command_line))
- // free(final_command_line);
- // final_command_line=temp;
- // free(final_command);
- // }
- // }
- // if (final_append){
- // for_dictionaries(dict,final_append){
- // char *final_command = yon_char_unite(append_command," ",dict->key," ",(char*)dict->data,NULL);
- // char *temp = yon_char_unite(final_command_line,!yon_char_is_empty(final_command_line)?";echo \"":"echo \"",final_command,"\";",final_command,NULL);
- // if (!yon_char_is_empty(final_command_line))
- // free(final_command_line);
- // final_command_line=temp;
- // free(final_command);
- // }
- // }
- // if (window->type==YON_CONFIG_BOTH) {
- // if (template_config->load_mode==1){
- // yon_config_save_registered("system");
- // } else if (template_config->load_mode==0){
- // yon_config_save_registered("global");
- // }
- // }
- // if (!yon_char_is_empty(final_command_line)){
- // if (debug_output)
- // printf("%s\n",final_command_line);
- // yon_terminal_integrated_start(debug_window->Vte,final_command_line,NULL,NULL);
- // }
- // } else
- {
- dictionary *dict = NULL;
- if (final_remove){
- for_dictionaries(dict,final_remove){
- char *final_command = yon_char_unite(remove_command," ",dict->key," ",(char*)dict->data,NULL);
- system(final_command);
- printf("%s\n",final_command);
- free(final_command);
- }
+ int size=0;
+ config_str commands = yon_config_get_save_parameters_by_list(&size,saved_parameters,saved_size);
+ char *target = yon_config_get_type_path(window->type);
+ if (target){
+ if (yon_char_is_empty(target)){
+ yon_char_parsed_prepend_strings(commands,size,ubconfig_dull_command);
}
- if (final_append){
- for_dictionaries(dict,final_append){
- char *final_command = yon_char_unite(append_command," ",dict->key," ",(char*)dict->data,NULL);
- system(final_command);
- printf("%s\n",final_command);
- free(final_command);
- }
+ yon_char_parsed_prepend_strings(commands,size,ubconfig_set_command(target));
+ } else return;
+ char *final_command = yon_char_parsed_to_string(commands,size,";");
+ FILE *file = popen(final_command,"r");
+ int file_save;
+ config_str file_return = yon_config_load_file(file,&file_save);
+ 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");
+ on_subwindow_close(self);
+}
+
+struct loaded_config {
+ dictionary_fields(loaded_config);
+ char *section;
+};
+
+struct loaded_config *yon_config_convert_parameter(config_str parsed, int size){
+ struct loaded_config *loaded=NULL;
+ for (int i=0;ikey=key;
+ loaded->first=loaded;
+ loaded->next=NULL;
+ loaded->prev=NULL;
+ loaded->section=NULL;
+ loaded->data=value;
+ } else {
+ loaded->next = (struct loaded_config*)malloc(sizeof(struct loaded_config));
+ struct loaded_config *next=loaded->next;
+ next->first=loaded->first;
+ next->prev=loaded;
+ next->key=key;
+ next->first=loaded->first;
+ next->next=NULL;
+ next->section=NULL;
+ next->data=value;
+ loaded=next;
}
- if (window->type==YON_CONFIG_BOTH) {
- if (template_config->load_mode==1){
- yon_config_save_registered("system");
- } else if (template_config->load_mode==0){
- yon_config_save_registered("global");
+ }
+ return loaded;
+}
+
+struct loaded_config *yon_config_get_compared(char *command, int *final_size){
+ if (command){
+ *final_size=0;
+ int size;
+ config_str config = yon_config_load(command,&size);
+ config_str temporary = NULL;
+ int temp_size;
+ if (config&&size>0){
+ for (int i=0;itype == YON_CONFIG_GLOBAL)
- yon_ubl_status_box_render(GLOBAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
- else if (window->type == YON_CONFIG_LOCAL)
- yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
- else if (window->type == YON_CONFIG_BOTH)
- yon_ubl_status_box_render(GLOBAL_LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
- textdomain(template_app_information.app_locale);
- yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"SaveWindow");
- on_subwindow_close(self);
}
template_saving_window *yon_save_proceed(char *path,YON_CONFIG_TYPE type, ...){
- if (((type==YON_CONFIG_LOCAL&& template_config->load_mode==1)||(type==YON_CONFIG_GLOBAL&& template_config->load_mode==0))){
- yon_config_save_registered(path);
- textdomain(template_ui_LocaleName);
- if (type == YON_CONFIG_GLOBAL)
- yon_ubl_status_box_render(GLOBAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
- else if (type == YON_CONFIG_LOCAL)
- yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
- else if (type == YON_CONFIG_BOTH)
- yon_ubl_status_box_render(GLOBAL_LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
- textdomain(template_app_information.app_locale);
- return NULL;
- } else {
char *config_to_save = NULL;
- if (type==YON_CONFIG_GLOBAL) config_to_save="global";
- else if (type==YON_CONFIG_LOCAL) config_to_save="system";
- else if (type==YON_CONFIG_BOTH) {
- if (template_config->load_mode==1){
- config_to_save="global";
- } else if (template_config->load_mode==0){
- config_to_save="system";
- }
- }
- config_str config_compare=NULL;
+ config_to_save = yon_config_get_type_path(type);
+ struct loaded_config *config_compare=NULL;
int compare_size=0;
va_list args;
va_start(args,type);
- char *cur_section = NULL;
- dictionary *section_commands=NULL;
- while ((cur_section=va_arg(args,char*))){
- char *cur_parameter = va_arg(args,char*);
- yon_dictionary_add_or_create_if_exists_with_data(section_commands,cur_section,cur_parameter);
- }
- struct loaded_config {
- dictionary *dict;
- char *section;
- };
-
- struct loaded_config loaded;
- loaded.dict = yon_dictionary_new();
- dictionary *dct;
- for_dictionaries(dct,section_commands){
- char *command = yon_char_unite(ubconfig_load_command," ", config_to_save," get ", dct->key," ", yon_dictionary_get_data(dct,char*),NULL);
- FILE *output = popen(command, "r");
- char **output_strings = NULL;
- output_strings = malloc(sizeof(char*));
- int i = 0;
- char str[4096];
- memset(str, 0, 4096);
- while (fgets(str, 4096, output))
- {
- if (!yon_char_is_empty(str)&& strcmp(str,"(null)\n")!=0)
- {
- char *final_str = yon_char_new(str);
- char *key = yon_char_divide_search(final_str,"=",-1);
- final_str=yon_char_divide_search(final_str,"\n",-1);
- if ((final_str[0]=='\''&&final_str[strlen(final_str)-1]=='\'')||(final_str[0]=='\"'&&final_str[strlen(final_str)-1]=='\"')){
- final_str[strlen(final_str)-1] = '\0';
- free(yon_char_divide(final_str,0));
- }
- char *str_copy = yon_char_unite(key,"=",final_str,NULL);
- dictionary *found=NULL;
- if (!(found=yon_dictionary_get(&loaded.dict,key))){
- yon_dictionary_add_or_create_if_exists_with_data(loaded.dict,NULL,yon_char_new(dct->key));
- yon_dictionary_add_or_create_if_exists_with_data(loaded.dict,key,yon_char_new(final_str));
- yon_char_parsed_add_or_create_if_exists(config_compare,&compare_size,yon_char_new(str_copy));
- } else{
- int element = yon_char_parsed_check_exist(config_compare,compare_size,(char*)loaded.dict->data);
- if (element>-1){
- free(config_compare[element]);
- config_compare[element]=yon_char_new(str_copy);
- loaded.dict->data = yon_char_new(final_str);
- }
- }
- }
- }
+ char *compare_command="";
+ char *cur_command;
+ while ((cur_command=va_arg(args,char*))){
+ compare_command = yon_char_unite(compare_command,!yon_char_is_empty(compare_command)?";":"",cur_command,NULL);
}
+ config_compare = yon_config_get_compared(compare_command,&compare_size); ///////////////////////////////////////////////
+
GtkBuilder *builder = gtk_builder_new_from_resource(ui_glade_path_saving);
template_saving_window *window = malloc(sizeof(template_saving_window));
window->Window = yon_gtk_builder_get_widget(builder,"Window");
@@ -371,6 +285,16 @@ template_saving_window *yon_save_proceed(char *path,YON_CONFIG_TYPE type, ...){
window->OldValueCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"OldValueCell"));
window->NewValueColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"NewValueColumn"));
window->NewValueCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"NewValueCell"));
+ window->type=type;
+ window->filteredModel = GTK_TREE_MODEL(gtk_builder_get_object(builder,"listfilter1"));
+ yon_window_config_custom_window_setup(GTK_WINDOW(window->Window),"SaveWindow");
+ gtk_window_set_icon_name(GTK_WINDOW(window->Window),yon_char_append("com.ublinux.",template_app_information.app_tech_name));
+ gtk_window_set_title(GTK_WINDOW(window->Window),template_app_information.app_title);
+ gtk_label_set_text(GTK_LABEL(window->HeaderTopic),template_app_information.app_title);
+ gtk_image_set_from_pixbuf(GTK_IMAGE(window->HeaderImage),gtk_icon_theme_load_icon_for_scale(gtk_icon_theme_get_default(),yon_char_append("com.ublinux.",template_app_information.app_tech_name),32,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL));
+ g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+ g_signal_connect(G_OBJECT(window->SaveButton),"clicked", G_CALLBACK(on_save_parameters),window);
+ g_signal_connect(G_OBJECT(window->ToggleCell),"toggled", G_CALLBACK(on_save_window_parameter_switched),window);
textdomain(template_ui_LocaleName);
if (type==YON_CONFIG_BOTH){
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(window->StatusBox),"savingTarget",SAVING_GLOBAL_LOCAL_STATE_LABEL,BACKGROUND_IMAGE_INFO_TYPE);
@@ -382,115 +306,66 @@ template_saving_window *yon_save_proceed(char *path,YON_CONFIG_TYPE type, ...){
}
textdomain(template_app_information.app_locale);
- window->type=type;
- window->filteredModel = GTK_TREE_MODEL(gtk_builder_get_object(builder,"listfilter1"));
- gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(window->filteredModel),5);
- yon_window_config_custom_window_setup(GTK_WINDOW(window->Window),"SaveWindow");
- gtk_window_set_icon_name(GTK_WINDOW(window->Window),yon_char_append("com.ublinux.",template_app_information.app_tech_name));
- gtk_window_set_title(GTK_WINDOW(window->Window),template_app_information.app_title);
- gtk_label_set_text(GTK_LABEL(window->HeaderTopic),template_app_information.app_title);
- gtk_image_set_from_pixbuf(GTK_IMAGE(window->HeaderImage),gtk_icon_theme_load_icon_for_scale(gtk_icon_theme_get_default(),yon_char_append("com.ublinux.",template_app_information.app_tech_name),32,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL));
- g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
- g_signal_connect(G_OBJECT(window->SaveButton),"clicked", G_CALLBACK(on_save_parameters),window);
- g_signal_connect(G_OBJECT(window->ToggleCell),"toggled", G_CALLBACK(on_save_window_parameter_switched),window);
- int config_size=0;
- config_str config_strings = yon_config_get_all(&config_size);
- if (config_strings){ //untracked parameters
- GtkTreeIter iter;
- gtk_tree_view_set_model(GTK_TREE_VIEW(window->ParametersTree),NULL);
- config_str compare_keys = NULL;
- compare_keys = yon_char_parsed_copy(config_compare,compare_size);
- int compare_keys_size=compare_size;
- yon_char_parsed_divide_search_full(compare_keys,compare_keys_size,"=",-1);
- int config_keys_size=0;
- config_str config_keys = yon_config_get_all_keys(&config_keys_size);
- int final_size=0;
- GdkRGBA rgba;
- rgba.alpha=0.8;
- rgba.red=1;
- rgba.blue=0.3;
- rgba.green=0.65;
- char *rgba_string = gdk_rgba_to_string(&rgba);
- for (int i=0;ikey);
+ gboolean status=0;
+ status = yon_config_get_status(current->key);
+ if (dict&&!yon_char_is_empty((char*)dict->data)&&status!=-2){
+ if (strcmp((char*)dict->data,(char*)current->data)){
+ GtkTreeIter iter;
+ if (status==0||status==-2) status = 0;
+ else status=1;
+ char *compare_string = yon_char_unite("",(char*)dict->data,"\n",(char*)current->data,NULL);
gtk_list_store_append(window->list,&iter);
- gtk_list_store_set(window->list,&iter,0,0,1,compare_keys[i],5,1,-1);
- for (int j=0;jfirst,compare_keys[i])->prev->data;
- char *combined = yon_char_unite("",compare_value,"\n",NULL);
- gtk_list_store_set(window->list,&iter,2,compare_value,4,rgba_string,6,cur_section,7,combined,-1);
- free(combined);
- }
- free(compare_value);
- free(compare_name);
- }
- if (yon_config_check_ignore(compare_keys[i])){
- gtk_list_store_set(window->list,&iter,0,0,1,compare_keys[i],4,NULL,5,0,-1);
-
- }
-
- }
- char *name,*value;
- for (int i=0;ilist),&iter);
- for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&iter)){ // found parameter
- gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,1,&name,2,&value,-1);
- if (!yon_char_is_empty(name)&&!strcmp(name,config_keys[i])){
- if (!yon_config_check_ignore(name)){
- char *combined = yon_char_unite("",value,"\n",compare_value,NULL);
- gtk_list_store_set(window->list,&iter,3,compare_value,4,NULL,6,section,7,combined,-1);
- free(combined);
- if ((value&&!strcmp(value,compare_value))){
- gtk_list_store_set(window->list,&iter,0,0,3,value,5,0,-1);
- } else {
- if (yon_config_get_status(name)!=0){
- gtk_list_store_set(window->list,&iter,0,1,5,1,-1);
- }
- };
- };
- found=1;
- break;
- }
- }
- if (!found){ // new parameter
- if (!yon_config_check_ignore(compare_name)&&!yon_char_is_empty(compare_value)){
- GtkTreeIter itar;
- gtk_list_store_append(window->list,&itar);
- char *combined = yon_char_append("\n",compare_value);
- gtk_list_store_set(window->list,&itar,0,0,1,compare_name,3,compare_value,5,1,6,section,7,combined,-1);
- if (yon_config_get_status(compare_name)==1){
- gtk_list_store_set(window->list,&itar,0,1,-1);
- }
- free(combined);
- }
- }
- free(compare_value);
- free(compare_name);
+ gtk_list_store_set(window->list,&iter,0,status,1,current->key,2,(char*)dict->data,3,(char*)current->data,4,compare_string,6,1,-1);
+ free(compare_string);
+ }
+ } else if ((strcmp((char*)current->data,""))&&status!=-2){
+ GtkTreeIter iter;
+ if (status==0||status==-2) status = 0;
+ else status=1;
+ char *compare_string = yon_char_unite("\n",(char*)current->data,NULL);
+ gtk_list_store_append(window->list,&iter);
+ gtk_list_store_set(window->list,&iter,0,status,1,current->key,3,(char*)current->data,4,compare_string,6,1,-1);
+ free(compare_string);
}
- free(rgba_string);
- if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->filteredModel),&iter)){
- gtk_widget_destroy(window->Window);
- textdomain(template_ui_LocaleName);
- yon_ubl_status_box_render(NOTHING_TO_SAVE_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
- textdomain(template_app_information.app_locale);
- return NULL;
+ }
+ for_dictionaries(current,config_compare){
+ GtkTreeIter iter;
+ dictionary *dict = yon_dictionary_get((dictionary**)¤t_loaded,current->key);
+ if (!dict){
+ GdkRGBA rgba;
+ rgba.alpha=0.8;
+ rgba.red=1;
+ rgba.blue=0.3;
+ rgba.green=0.65;
+ char *rgba_string = gdk_rgba_to_string(&rgba);
+ int status=0;
+ char *compare_string = yon_char_unite((char*)current->data,"\n",NULL);
+ gtk_list_store_append(window->list,&iter);
+ gtk_list_store_set(window->list,&iter,0,0,1,current->key,3,(char*)current->data,4,compare_string,5,rgba_string,6,1,-1);
+ free(compare_string);
}
- gtk_tree_view_set_model(GTK_TREE_VIEW(window->ParametersTree),window->filteredModel);
}
-
+ GtkTreeIter iter;
+ if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter)){
+ gtk_widget_destroy(window->Window);
+ textdomain(template_ui_LocaleName);
+ yon_ubl_status_box_render(NOTHING_TO_SAVE_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
+ textdomain(template_app_information.app_locale);
+ return NULL;
+ }
+ gtk_tree_view_set_model(GTK_TREE_VIEW(window->ParametersTree),GTK_TREE_MODEL(window->list));
gtk_widget_show(window->Window);
on_save_window_parameter_switched(NULL,NULL,window);
return window;
-
- }
-
}
int yon_confirmation_dialog_call(GtkWidget *self,dialog_confirmation_data *data){
diff --git a/source/libublsettingsui-gtk3.h b/source/libublsettingsui-gtk3.h
index a8acc81..cbfdd7b 100644
--- a/source/libublsettingsui-gtk3.h
+++ b/source/libublsettingsui-gtk3.h
@@ -93,6 +93,8 @@
#define SAVE_MODE_HDD_HOME_LABEL _("HDD sandbox with profile saving")
#endif
+#define dull_parameter_get_command "ubconfig --source global get users PARAMETER"
+
#define SAVE_MODE_GET_COMMAND "ubconfig --raw --source system get [config] SYSTEMBOOT_STATEMODE"
typedef enum SAVE_MODE_TYPE {