Add windows fixes

pull/13/head
parent fd5935ef9d
commit 12e9e78a15

@ -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);

@ -41,7 +41,7 @@
#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]"
#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]"
#define config_get_default_command "REPOSITORY[*]"
#define config_get_default_command "ubconfig --source global get update AUTOUPDATE[repos]"
#define config_get_global_only_parameters ""
#define config_get_local_only_parameters ""
@ -161,6 +161,7 @@ typedef struct {
GtkWidget *UserPasswordEntry;
GtkWidget *AcceptButton;
GtkWidget *CancelButton;
GtkListStore *list;
} web_publication_add_window;
typedef struct {

@ -159,12 +159,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkBox" id="BoxMain">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>

Loading…
Cancel
Save