Added storage window repositories signature on-open selection if it was signed

pull/41/head
parent 465d475d6b
commit 2f49c37c72

@ -77,8 +77,24 @@ void yon_storage_config_update(storage_config_window *window){
gtk_combo_box_set_active(GTK_COMBO_BOX(gtk_builder_get_object(builder,"SignatureCombo")),0); gtk_combo_box_set_active(GTK_COMBO_BOX(gtk_builder_get_object(builder,"SignatureCombo")),0);
g_signal_connect(gtk_builder_get_object(builder,"SignatureButton"),"clicked",G_CALLBACK(on_repo_signed),window); g_signal_connect(gtk_builder_get_object(builder,"SignatureButton"),"clicked",G_CALLBACK(on_repo_signed),window);
g_signal_connect(gtk_builder_get_object(builder,"RepoRemoveButton"),"clicked",G_CALLBACK(on_repo_removed),window); g_signal_connect(gtk_builder_get_object(builder,"RepoRemoveButton"),"clicked",G_CALLBACK(on_repo_removed),window);
g_signal_connect(gtk_builder_get_object(builder,"SignatureCombo"),"changed",G_CALLBACK(on_repo_sign_changed),window);
gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(builder,"RepoNameEntry")),repo); gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(builder,"RepoNameEntry")),repo);
char *storage = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->StoragePathCombo));
int sign_size;
char *command = yon_repo_get_signature(storage,repo);
yon_debug_output("%s\n",command);
config_str sign = yon_config_load(command,&sign_size);
if (sign_size>0){
yon_char_remove_last_symbol(sign[2],'\n');
char *mail = strstr(sign[2],"\"");
if (!yon_char_is_empty(mail)){
char *email = yon_char_new(mail);
yon_char_remove_brackets(email);
gtk_combo_box_set_active_id(GTK_COMBO_BOX(gtk_builder_get_object(builder,"SignatureCombo")),email);
free(email);
}
yon_char_parsed_free(sign,sign_size);
}
g_signal_connect(gtk_builder_get_object(builder,"SignatureCombo"),"changed",G_CALLBACK(on_repo_sign_changed),window);
} }
} }
} }

Loading…
Cancel
Save