diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index c8dc232..5172548 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -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; } diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 8b70319..6a198c3 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -13,7 +13,7 @@ #define ADD_WEB_LABEL _("Add repository for publication") #define EDIT_WEB_LABEL _("Edit repository for publication") - #define PASSWORD_MISMATCH_LABEL _("passwords do not match") + #define PASSWORD_MISMATCH_LABEL _("Passwords do not match") #define REPO_TOOLTIP_LABEL _("file://\t\t- Directory URL prefix for repository\n\ ftp://\t\t- FTP URL prefix for repository\n\ diff --git a/ubl-settings-update-web-publication-add.glade b/ubl-settings-update-web-publication-add.glade index 1c041da..2f4e60f 100644 --- a/ubl-settings-update-web-publication-add.glade +++ b/ubl-settings-update-web-publication-add.glade @@ -376,7 +376,6 @@ False False User password - False False * ****** diff --git a/ubl-settings-update.glade b/ubl-settings-update.glade index 476d005..f0abaab 100644 --- a/ubl-settings-update.glade +++ b/ubl-settings-update.glade @@ -83,6 +83,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +