|
|
|
|
@ -68,7 +68,10 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
config_str parsed = yon_char_parse(current,&cur_size,";");
|
|
|
|
|
if (cur_size){
|
|
|
|
|
gtk_list_store_append(widgets->ReposList,&iter);
|
|
|
|
|
gtk_list_store_set(widgets->ReposList,&iter,0,cur_size>3?0:1,1,key,2,parsed[0],3,cur_size>1?parsed[1]:"",4,cur_size>2?parsed[2]:"",-1);
|
|
|
|
|
char *temp = yon_char_replace(parsed[0],",","\n");
|
|
|
|
|
free(parsed[0]);
|
|
|
|
|
parsed[0] = temp;
|
|
|
|
|
gtk_list_store_set(widgets->ReposList,&iter,0,cur_size>3&&!strcmp(parsed[3],"")?1:0,1,key,2,parsed[0],3,cur_size>1?parsed[1]:"",4,cur_size>2?parsed[2]:"",-1);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
free(key);
|
|
|
|
|
@ -109,27 +112,23 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// config_str mirror_list = yon_config_get_all_by_key(REPOPUBLIC_CACHE_search,&size);
|
|
|
|
|
// if (size){
|
|
|
|
|
// for (int i=0;i<size;i++){
|
|
|
|
|
// char *cur = yon_char_new(mirror_list);
|
|
|
|
|
// char *key = yon_char_divide_search(cur,"=",-1);
|
|
|
|
|
|
|
|
|
|
// int cur_size;
|
|
|
|
|
// config_str parsed = yon_char_parse(cur,&cur_size,",");
|
|
|
|
|
// if (cur_size){
|
|
|
|
|
// char *urls_render = "";
|
|
|
|
|
// for (int j=0;j<cur_size;j++){
|
|
|
|
|
// char *type = yon_char_divide_search(parsed[j],"@",-1);
|
|
|
|
|
// char *temp = yon_char_unite(urls_render,!yon_char_is_empty(urls_render)?",":"",parsed[j],NULL);
|
|
|
|
|
// if (!yon_char_is_empty(urls_render)) free(urls_render);
|
|
|
|
|
// urls_render = temp;
|
|
|
|
|
// }
|
|
|
|
|
// gtk_list_store_append(widgets->MirrorList,&iter);
|
|
|
|
|
// gtk_list_store_set(widgets->MirrorList,&iter,,-1);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
config_str mirror_list = yon_config_get_all_by_key(REPOPUBLIC_CACHE_search,&size);
|
|
|
|
|
if (size){
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
char *cur = yon_char_new(mirror_list[i]);
|
|
|
|
|
char *key = yon_char_divide_search(cur,"=",-1);
|
|
|
|
|
if (yon_char_is_empty(key)) continue;
|
|
|
|
|
free(yon_char_divide_search(key,"[",-1));
|
|
|
|
|
key[strlen(key)-1]='\0';
|
|
|
|
|
|
|
|
|
|
gtk_list_store_append(widgets->MirrorList,&iter);
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(cur,&cur_size,",");
|
|
|
|
|
if (cur_size){
|
|
|
|
|
gtk_list_store_set(widgets->MirrorList,&iter,0,key,2,yon_char_parsed_to_string(parsed,cur_size,"\n"),-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *autoupdate_config = config(AUTOUPDATE);
|
|
|
|
|
if (!yon_char_is_empty(autoupdate_config)&&!strcmp(autoupdate_config,"enable")){
|
|
|
|
|
@ -147,6 +146,18 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *autoupdate_repos = config(AUTOUPDATE_repos);
|
|
|
|
|
if (!yon_char_is_empty(autoupdate_repos)){
|
|
|
|
|
int parsed_size;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
config_str parsed = yon_char_parse(autoupdate_repos,&parsed_size,",");
|
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
|
gtk_list_store_append(GTK_LIST_STORE(widgets->UpdateRepoList),&iter);
|
|
|
|
|
gtk_list_store_set(widgets->UpdateRepoList,&iter,1,parsed[i],-1);
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
autoupdate_config = config(AUTOUPDATE_interval);
|
|
|
|
|
if (!yon_char_is_empty(autoupdate_config)){
|
|
|
|
|
if (!strcmp(autoupdate_config,"boot")){
|
|
|
|
|
@ -172,11 +183,11 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
char *key = yon_char_divide_search(cur,"=",-1);
|
|
|
|
|
free(yon_char_divide_search(key,"[",-1));
|
|
|
|
|
key[strlen(key)-1]='\0';
|
|
|
|
|
char *path = yon_char_divide_search(key,":",-1);
|
|
|
|
|
char *path = !strstr(key,"=") ? NULL : yon_char_divide_search(key,":",-1);
|
|
|
|
|
int repos_size;
|
|
|
|
|
config_str repos = yon_char_parse(key,&repos_size,",");
|
|
|
|
|
config_str repos = yon_char_parse(path,&repos_size,",");
|
|
|
|
|
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,1,path,2,yon_char_parsed_to_string(repos,repos_size,"\n"),-1);
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,1,key,2,yon_char_parsed_to_string(repos,repos_size,"\n"),-1);
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(cur,&cur_size,":");
|
|
|
|
|
if (cur_size){
|
|
|
|
|
@ -395,7 +406,7 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
|
|
|
|
|
// int usage_level_enable_install = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageEnableInsallCheck));
|
|
|
|
|
// int usage_level_sysupgrade = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageSysupgradeCheck));
|
|
|
|
|
|
|
|
|
|
char *final = yon_char_unite(sources,";",sign_level_package,",",sign_level_condiition,";",enabled?"":"disable",NULL);
|
|
|
|
|
char *final = yon_char_unite(sources,";",sign_level_package,",",sign_level_condiition,";",";",enabled?"":"disable",NULL);
|
|
|
|
|
|
|
|
|
|
yon_config_register(REPOSITORY(repo_name),REOSITORY_command(repo_name),final);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
@ -418,10 +429,24 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){
|
|
|
|
|
char *username = (char*)gtk_entry_get_text(GTK_ENTRY(window->UsernameEntry));
|
|
|
|
|
char *user_password = (char*)gtk_entry_get_text(GTK_ENTRY(window->UserPasswordEntry));
|
|
|
|
|
|
|
|
|
|
char *name = "";
|
|
|
|
|
char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->PathEntry));
|
|
|
|
|
char *full_name = "";
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
for_iter (GTK_TREE_MODEL(window->list),&iter){
|
|
|
|
|
int chosen;
|
|
|
|
|
char *repos;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(window->list),0,&chosen,1,&repos,-1);
|
|
|
|
|
if (chosen){
|
|
|
|
|
char *temp = yon_char_unite(full_name,yon_char_is_empty(full_name)?"":",",repos,NULL);
|
|
|
|
|
if (!yon_char_is_empty(full_name)) free(full_name);
|
|
|
|
|
full_name = temp;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
char *final_name = yon_char_is_empty(full_name) ? name : yon_char_unite(name,":",full_name,NULL);
|
|
|
|
|
char *final = yon_char_unite(enabled?"enable":"disable",":",enable_browser?"listing":"",":",port_enabled?port:"",":",username_check?username:"",username_check?user_password:"",NULL);
|
|
|
|
|
yon_config_register(REPOPUBLIC_WEB_full(name),REPOPUBLIC_WEB_command(name),final);
|
|
|
|
|
yon_config_register(REPOPUBLIC_WEB_full(final_name),REPOPUBLIC_WEB_command(final_name),final);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
gtk_widget_destroy(window->Window);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_accept(GtkWidget *,dictionary *dict){
|
|
|
|
|
@ -432,7 +457,7 @@ void on_mirror_accept(GtkWidget *,dictionary *dict){
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(window->PathBox));
|
|
|
|
|
for (guint i=0;i<g_list_length(list);i++){
|
|
|
|
|
GList *container = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,i)));
|
|
|
|
|
char *cur = (char*)gtk_label_get_text(GTK_LABEL(g_list_nth_data(container,1)));
|
|
|
|
|
char *cur = (char*)gtk_entry_get_text(GTK_ENTRY(g_list_nth_data(container,0)));
|
|
|
|
|
char *temp = yon_char_unite(paths,!yon_char_is_empty(paths)?",":"",cur,NULL);
|
|
|
|
|
if (!yon_char_is_empty(paths)) free(paths);
|
|
|
|
|
paths = temp;
|
|
|
|
|
@ -441,6 +466,7 @@ void on_mirror_accept(GtkWidget *,dictionary *dict){
|
|
|
|
|
g_list_free(list);
|
|
|
|
|
yon_config_register(REPOPUBLIC_CACHE_full(name),REPOPUBLIC_CACHE_full_command(name),paths);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
gtk_widget_destroy(window->Window);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_path_removed(GtkWidget *, GtkWidget *target){
|
|
|
|
|
@ -483,7 +509,7 @@ void on_mirror_path_add(GtkWidget *, mirror_add_window *window){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_source_add(GtkWidget *, repo_add_window *window){
|
|
|
|
|
const char *target = gtk_entry_get_text(GTK_ENTRY(window->RepoSourceEntry));
|
|
|
|
|
char *target = (char*)gtk_entry_get_text(GTK_ENTRY(window->RepoSourceEntry));
|
|
|
|
|
if (yon_char_is_empty(target)){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->RepoSourceEntry);
|
|
|
|
|
@ -549,6 +575,7 @@ web_publication_add_window *yon_web_publication_add_window_new(){
|
|
|
|
|
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
|
|
|
|
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
|
|
|
|
window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
|
|
|
|
|
window->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|