|
|
|
|
@ -395,6 +395,10 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
int repos_size;
|
|
|
|
|
config_str repos = yon_char_parse(key,&repos_size,",");
|
|
|
|
|
|
|
|
|
|
char *repos_paths = yon_char_parsed_to_string(repos,repos_size,",");
|
|
|
|
|
char *full_path = yon_char_unite(path,!yon_char_is_empty(repos_paths)?":":"",!yon_char_is_empty(repos_paths)?repos_paths:"",NULL);
|
|
|
|
|
if (!yon_char_is_empty(repos_paths)) free(repos_paths);
|
|
|
|
|
if (!repos_size){
|
|
|
|
|
int temp_size;
|
|
|
|
|
config_str contents = yon_dir_get_contents(path,&temp_size);
|
|
|
|
|
@ -409,7 +413,10 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,1,path,2,yon_char_parsed_to_string(repos,repos_size,"\n"),-1);
|
|
|
|
|
repos_paths = yon_char_parsed_to_string(repos,repos_size,"\n");
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,1,path,2,repos_paths,8,full_path,-1);
|
|
|
|
|
free(repos_paths);
|
|
|
|
|
free(full_path);
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(cur,&cur_size,":");
|
|
|
|
|
if (cur_size){
|
|
|
|
|
@ -875,14 +882,13 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->WebPublicationTree)),NULL,&iter)){
|
|
|
|
|
char *storage;
|
|
|
|
|
char *repos;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->WebPublicationList),&iter,1,&storage,2,&repos,-1);
|
|
|
|
|
char *full;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->WebPublicationList),&iter,1,&storage,2,&repos,8,&full,-1);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->PathEntry),storage);
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
char *full_name = storage;
|
|
|
|
|
if(!yon_char_is_empty(repos)){
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_char_parse(repos,&size,"\n");
|
|
|
|
|
full_name = yon_char_unite(storage,":",yon_char_replace(repos,"\n",","),NULL);
|
|
|
|
|
if (size){
|
|
|
|
|
GtkTreeIter itar;
|
|
|
|
|
for_iter(GTK_TREE_MODEL(window->list),&itar){
|
|
|
|
|
@ -894,8 +900,8 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
window->name = full_name;
|
|
|
|
|
char *parameter = config(REPOPUBLIC_WEB_full(full_name));
|
|
|
|
|
window->name = full;
|
|
|
|
|
char *parameter = config(REPOPUBLIC_WEB_full(full));
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_char_parse(parameter,&size,":");
|
|
|
|
|
if (size){
|
|
|
|
|
@ -914,6 +920,7 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->UsernameCheck),1);
|
|
|
|
|
}
|
|
|
|
|
if (size>4&&!yon_char_is_empty(parsed[4])){
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(window->UserPasswordCombo),1);
|
|
|
|
|
if (!strcmp(parsed[4],"sha256")||!strcmp(parsed[4],"sha512")){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->UserPasswordCombo),parsed[4]);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->UserPasswordEntry),parsed[5]);
|
|
|
|
|
@ -1040,7 +1047,7 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
|
|
|
|
|
repo_add_window *window = yon_dictionary_get_data(dict->first->next,repo_add_window*);
|
|
|
|
|
|
|
|
|
|
if (!window->sections) {
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(window->SourceListBox));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
@ -1149,7 +1156,7 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){
|
|
|
|
|
int username_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsernameCheck));
|
|
|
|
|
char *username = (char*)gtk_entry_get_text(GTK_ENTRY(window->UsernameEntry));
|
|
|
|
|
char *user_password = yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(window->UserPasswordEntry)));
|
|
|
|
|
char *encryption = user_password[5]=='|'?yon_char_divide(user_password,6):NULL;
|
|
|
|
|
char *encryption = user_password[6]=='|'?yon_char_divide(user_password,6):NULL;
|
|
|
|
|
if (username_check&&yon_char_is_empty(username)){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->UsernameEntry);
|
|
|
|
|
@ -1185,7 +1192,13 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
char *final_name = yon_char_is_empty(full_name)||!disabled ? 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?yon_char_is_empty(encryption)? user_password:encryption:"",":",username_check?!yon_char_is_empty(encryption)?user_password:"":"",NULL);
|
|
|
|
|
char *final = yon_char_unite(enabled?"enable":"disable",":",
|
|
|
|
|
enable_browser?"listing":"",":",
|
|
|
|
|
port_enabled?port:"",":",
|
|
|
|
|
username_check?username:"",":",
|
|
|
|
|
username_check?yon_char_is_empty(encryption)? user_password:encryption:"",":",
|
|
|
|
|
username_check?!yon_char_is_empty(encryption)?user_password:"":"",
|
|
|
|
|
NULL);
|
|
|
|
|
if (!yon_char_is_empty(window->name)&&strcmp(final_name,window->name)){
|
|
|
|
|
yon_config_remove_by_key(REPOPUBLIC_WEB_full(window->name));
|
|
|
|
|
}
|
|
|
|
|
@ -1198,7 +1211,7 @@ void on_mirror_accept(GtkWidget *,dictionary *dict){
|
|
|
|
|
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
|
|
|
|
|
mirror_add_window *window = yon_dictionary_get_data(dict->first->next,mirror_add_window*);
|
|
|
|
|
if (!window->sections) {
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(gtk_widget_get_parent(gtk_widget_get_parent(gtk_widget_get_parent((window->PathBox))))));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|