diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c
index 150e9e8..edc1857 100644
--- a/source/ubl-settings-update.c
+++ b/source/ubl-settings-update.c
@@ -1085,21 +1085,8 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
return;
}
- char *sign_level= "";
- if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->SignDefaultCheck))){
- GtkTreeModel *model = GTK_TREE_MODEL(window->SignList);
- GtkTreeIter iter;
- for_iter (model,&iter){
- int status;
- char *target;
- gtk_tree_model_get(model,&iter,0,&status,1,&target,-1);
- if (status){
- char *temp = yon_char_unite(sign_level,!yon_char_is_empty(sign_level)?",":"",target,NULL);
- if (!yon_char_is_empty(sign_level)) free(sign_level);
- sign_level= temp;
- }
- }
- }
+ char *sign_level= (char*)gtk_entry_get_text(GTK_ENTRY(window->SignLevelCheckEntry));
+
char *usage = "";
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageDefaultCheck))){
usage = "All";
@@ -1506,14 +1493,32 @@ void on_sign_cell_toggled(GtkWidget *, char *path, repo_add_window *window){
GtkTreeIter check_iter;
if (gtk_tree_model_get_iter_from_string(model,&check_iter,path)){
int check_status;
- gtk_tree_model_get(model,&check_iter,0,&check_status,-1);
+ char *target;
+ gtk_tree_model_get(model,&check_iter,0,&check_status,1,&target,-1);
gtk_list_store_set(window->SignList,&check_iter,0,!check_status,-1);
+ char *active_signs = yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(window->SignLevelCheckEntry)));
+ if (!check_status){
+ char *temp = yon_char_unite(active_signs,!yon_char_is_empty(active_signs)?",":"",target,NULL);
+ gtk_entry_set_text(GTK_ENTRY(window->SignLevelCheckEntry),temp);
+ } else {
+ int parsed_size;
+ config_str parsed = yon_char_parse(active_signs,&parsed_size,",");
+ if (parsed_size){
+ int found = yon_char_parsed_check_exist(parsed,parsed_size,target);
+ if (found>-1){
+ parsed = yon_char_parsed_rip(parsed,&parsed_size,found);
+ }
+ char *temp = yon_char_parsed_to_string(parsed,parsed_size,",");
+ gtk_entry_set_text(GTK_ENTRY(window->SignLevelCheckEntry),temp);
+ }
+ }
}
}
void on_sign_check_toggled(GtkToggleButton *self, repo_add_window *window){
int status = gtk_toggle_button_get_active(self);
gtk_widget_set_sensitive(window->SignTree,!status);
+
}
repo_add_window *yon_repo_add_window_new(){
@@ -1542,6 +1547,7 @@ repo_add_window *yon_repo_add_window_new(){
window->RepoSourceAddButton = yon_gtk_builder_get_widget(builder,"RepoSourceAddButton");
window->SignDefaultCheck = yon_gtk_builder_get_widget(builder,"SignDefaultCheck");
window->SignTree = yon_gtk_builder_get_widget(builder,"SignTree");
+ window->SignLevelCheckEntry = yon_gtk_builder_get_widget(builder,"SignLevelCheckEntry");
window->SignCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"SignCell"));
window->SignList = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
@@ -1663,6 +1669,8 @@ mirror_add_window *yon_mirror_add_window_new(){
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
window->PathBox = yon_gtk_builder_get_widget(builder,"PathBox");
+ yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->NameEntry));
+ yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->TypeEntry));
window->sections = NULL;
window->name=NULL;
diff --git a/source/ubl-settings-update.h b/source/ubl-settings-update.h
index f2ab223..3608cc8 100644
--- a/source/ubl-settings-update.h
+++ b/source/ubl-settings-update.h
@@ -44,10 +44,10 @@
#define sha256_encrypt_command(target) yon_char_unite("echo -n \"",target,"\" | sha256sum | cut -f 1 -d ' '",NULL)
#define sha512_encrypt_command(target) yon_char_unite("echo -n \"",target,"\" | sha512sum | cut -f 1 -d ' '",NULL)
-#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get update REPOPUBLIC_NET REPOPUBLIC_WEB REPOSITORY[*] REPOPUBLIC_WEB REPOPUBLIC_WEB[*] REPOPUBLIC_CACHE REPOPUBLIC_CACHE[*] AUTOUPDATE AUTOUPDATE[mode] AUTOUPDATE[interval] AUTOUPDATE[repos] AUTOUPDATE[timestamp]",NULL)
-#define config_get_local_command "ubconfig --source system get update REPOPUBLIC_NET REPOPUBLIC_WEB REPOSITORY[*] REPOPUBLIC_WEB REPOPUBLIC_WEB[*] REPOPUBLIC_CACHE REPOPUBLIC_CACHE[*] AUTOUPDATE AUTOUPDATE[mode] AUTOUPDATE[interval] AUTOUPDATE[repos] AUTOUPDATE[timestamp]",NULL
-#define config_get_global_command "ubconfig --source global get update REPOPUBLIC_NET REPOPUBLIC_WEB REPOSITORY[*] REPOPUBLIC_WEB REPOPUBLIC_WEB[*] REPOPUBLIC_CACHE REPOPUBLIC_CACHE[*] AUTOUPDATE AUTOUPDATE[mode] AUTOUPDATE[interval] AUTOUPDATE[repos] AUTOUPDATE[timestamp]",NULL
-#define config_get_default_command "ubconfig --source default get update AUTOUPDATE[repos] AUTOUPDATE[interval] AUTOUPDATE[mode] AUTOUPDATE",NULL
+#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get [update] REPOPUBLIC_NET REPOPUBLIC_WEB REPOSITORY[*] REPOPUBLIC_WEB REPOPUBLIC_WEB[*] REPOPUBLIC_CACHE REPOPUBLIC_CACHE[*] AUTOUPDATE AUTOUPDATE[mode] AUTOUPDATE[interval] AUTOUPDATE[repos] AUTOUPDATE[timestamp]",NULL)
+#define config_get_local_command "ubconfig --source system get [update] REPOPUBLIC_NET REPOPUBLIC_WEB REPOSITORY[*] REPOPUBLIC_WEB REPOPUBLIC_WEB[*] REPOPUBLIC_CACHE REPOPUBLIC_CACHE[*] AUTOUPDATE AUTOUPDATE[mode] AUTOUPDATE[interval] AUTOUPDATE[repos] AUTOUPDATE[timestamp]",NULL
+#define config_get_global_command "ubconfig --source global get [update] REPOPUBLIC_NET REPOPUBLIC_WEB REPOSITORY[*] REPOPUBLIC_WEB REPOPUBLIC_WEB[*] REPOPUBLIC_CACHE REPOPUBLIC_CACHE[*] AUTOUPDATE AUTOUPDATE[mode] AUTOUPDATE[interval] AUTOUPDATE[repos] AUTOUPDATE[timestamp]",NULL
+#define config_get_default_command "ubconfig --source default get [update] AUTOUPDATE[repos] AUTOUPDATE[interval] AUTOUPDATE[mode] AUTOUPDATE",NULL
#define config_get_command_no_repos(config,target) yon_char_unite("ubconfig --source ",config," get update",target,NULL)
#define config_get_global_only_parameters ""
@@ -176,6 +176,7 @@ typedef struct {
GtkWidget *SignDefaultCheck;
GtkWidget *SignTree;
+ GtkWidget *SignLevelCheckEntry;
GtkCellRenderer *SignCell;
GtkListStore *SignList;
diff --git a/ubl-settings-update-repo-add.glade b/ubl-settings-update-repo-add.glade
index 179149d..50f3c2b 100644
--- a/ubl-settings-update-repo-add.glade
+++ b/ubl-settings-update-repo-add.glade
@@ -463,6 +463,42 @@ Configuration - configuration path
1
+
+
+
+ False
+ True
+ 2
+
+
diff --git a/ubl-settings-update.glade b/ubl-settings-update.glade
index f0abaab..53d7722 100644
--- a/ubl-settings-update.glade
+++ b/ubl-settings-update.glade
@@ -610,6 +610,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0
+
+
+ True
+ False
+
+
+ False
+ True
+ 1
+
+
26
@@ -643,7 +654,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 1
+ 2
@@ -678,7 +689,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 2
+ 3
+
+
+
+
+ True
+ False
+
+
+ False
+ True
+ 4
@@ -697,7 +719,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 3
+ 5
@@ -717,7 +739,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 4
+ 6
@@ -737,7 +759,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 5
+ 7
@@ -1117,6 +1139,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0
+
+
+ True
+ False
+
+
+ False
+ True
+ 1
+
+
26
@@ -1133,7 +1166,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 1
+ 2
@@ -1153,7 +1186,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 2
+ 3
@@ -1173,7 +1206,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 3
+ 4
@@ -1420,7 +1453,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
True
False
vertical
- 5
+ 7
26
@@ -1440,6 +1473,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0
+
+
+ True
+ False
+
+
+ False
+ True
+ 1
+
+
26
@@ -1456,7 +1500,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 1
+ 2
@@ -1476,7 +1520,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 2
+ 3
@@ -1496,7 +1540,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 3
+ 4
+
+
+
+
+ True
+ False
+
+
+ False
+ True
+ 5
@@ -1515,7 +1570,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 4
+ 6