|
|
|
@ -125,8 +125,8 @@ void on_file_chooser_file_activate(GtkFileChooser *self, repo_add_window *window
|
|
|
|
gtk_list_store_append(window->PackagesList,&iter);
|
|
|
|
gtk_list_store_append(window->PackagesList,&iter);
|
|
|
|
gtk_list_store_set(window->PackagesList,&iter,1,filename,2,path,-1);
|
|
|
|
gtk_list_store_set(window->PackagesList,&iter,1,filename,2,path,-1);
|
|
|
|
free(filename);
|
|
|
|
free(filename);
|
|
|
|
g_slist_free(list);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
g_slist_free(list);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gtk_widget_destroy(gtk_widget_get_toplevel(GTK_WIDGET(self)));
|
|
|
|
gtk_widget_destroy(gtk_widget_get_toplevel(GTK_WIDGET(self)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -721,7 +721,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
char *repo_string = yon_char_parsed_to_string(repos,size,", ");
|
|
|
|
char *repo_string = yon_char_parsed_to_string(repos,size,", ");
|
|
|
|
char *archs_string = yon_char_parsed_to_string(archs,arch_size,", ");
|
|
|
|
char *archs_string = yon_char_parsed_to_string(archs,arch_size,", ");
|
|
|
|
char *info = get_storage_info_label(target,repo_string,archs_string);
|
|
|
|
char *info = get_storage_info_label(target,repo_string,archs_string);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info);
|
|
|
|
gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),info);
|
|
|
|
int lvlsize;
|
|
|
|
int lvlsize;
|
|
|
|
config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,2);
|
|
|
|
config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,2);
|
|
|
|
for (int i=0;i<lvlsize;i++){
|
|
|
|
for (int i=0;i<lvlsize;i++){
|
|
|
|
@ -742,7 +742,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
char *archs_string = yon_char_parsed_to_string(archs,arch_size,", ");
|
|
|
|
char *archs_string = yon_char_parsed_to_string(archs,arch_size,", ");
|
|
|
|
char *sign = yon_signature_get(GTK_TREE_VIEW(widgets->ReposTree),&iter);
|
|
|
|
char *sign = yon_signature_get(GTK_TREE_VIEW(widgets->ReposTree),&iter);
|
|
|
|
char *info = get_repo_info_label(name,archs_string,sign);
|
|
|
|
char *info = get_repo_info_label(name,archs_string,sign);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info);
|
|
|
|
gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),info);
|
|
|
|
int lvlsize;
|
|
|
|
int lvlsize;
|
|
|
|
config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,3);
|
|
|
|
config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,3);
|
|
|
|
for (int i=0;i<lvlsize;i++){
|
|
|
|
for (int i=0;i<lvlsize;i++){
|
|
|
|
@ -761,7 +761,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
char *trg;
|
|
|
|
char *trg;
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itor,2,&trg,-1);
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itor,2,&trg,-1);
|
|
|
|
char *info = get_arch_info_label(trg,name);
|
|
|
|
char *info = get_arch_info_label(trg,name);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info);
|
|
|
|
gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),info);
|
|
|
|
char *packages;
|
|
|
|
char *packages;
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
char *arch = yon_char_new(target);
|
|
|
|
char *arch = yon_char_new(target);
|
|
|
|
@ -807,7 +807,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_package_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
void on_package_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),"");
|
|
|
|
gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),"");
|
|
|
|
GtkTreeIter iter,itar;
|
|
|
|
GtkTreeIter iter,itar;
|
|
|
|
GtkTreeModel *model, *model2;
|
|
|
|
GtkTreeModel *model, *model2;
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoFileTree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoFileTree)),&model,&iter)){
|
|
|
|
@ -827,10 +827,22 @@ void on_package_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
char *command = get_package_info_command(yon_char_unite(path,"/",filename,NULL));
|
|
|
|
char *command = get_package_info_command(yon_char_unite(path,"/",filename,NULL));
|
|
|
|
yon_debug_output("%s\n",command);
|
|
|
|
yon_debug_output("%s\n",command);
|
|
|
|
config_str parsed = yon_config_load(command,&size);
|
|
|
|
config_str parsed = yon_config_load(command,&size);
|
|
|
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(parsed[i])&&strcmp(parsed[i],"\n")&&strstr(parsed[i],":")){
|
|
|
|
|
|
|
|
char *title = yon_char_divide_search(parsed[i],":",-1);
|
|
|
|
|
|
|
|
char *temp = parsed[i];
|
|
|
|
|
|
|
|
if (strstr(temp,"@")||strstr(temp,"<")||strstr(temp,">")) temp = g_markup_escape_text(temp,strlen(temp));
|
|
|
|
|
|
|
|
temp = yon_char_replace(temp,">",">");
|
|
|
|
|
|
|
|
temp = yon_char_replace(temp,"<","<");
|
|
|
|
|
|
|
|
parsed[i] = yon_char_unite("<b>",title,":</b>",temp,NULL);
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(temp)) free(temp);
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(title)) free(title);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
char *full = yon_char_parsed_to_string(parsed,size,"");
|
|
|
|
char *full = yon_char_parsed_to_string(parsed,size,"");
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),full);
|
|
|
|
gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),full);
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
free(full);
|
|
|
|
if (!yon_char_is_empty(full)) free(full);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -873,6 +885,11 @@ void on_key_generate_accept(GtkWidget *self, key_creation_window* window){
|
|
|
|
const char *email = gtk_entry_get_text(GTK_ENTRY(window->EmailEntry));
|
|
|
|
const char *email = gtk_entry_get_text(GTK_ENTRY(window->EmailEntry));
|
|
|
|
char *strength = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->KeyStrengthSpin)));
|
|
|
|
char *strength = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->KeyStrengthSpin)));
|
|
|
|
const char *comment = gtk_entry_get_text(GTK_ENTRY(window->CommentsEntry));
|
|
|
|
const char *comment = gtk_entry_get_text(GTK_ENTRY(window->CommentsEntry));
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(name)&&strlen(name)<5){
|
|
|
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NAME_SHORT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->NameEntry);
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
GtkWidget *highlight_target=NULL;
|
|
|
|
GtkWidget *highlight_target=NULL;
|
|
|
|
if (yon_char_is_empty(name)){
|
|
|
|
if (yon_char_is_empty(name)){
|
|
|
|
highlight_target=window->NameEntry;
|
|
|
|
highlight_target=window->NameEntry;
|
|
|
|
@ -882,8 +899,6 @@ void on_key_generate_accept(GtkWidget *self, key_creation_window* window){
|
|
|
|
highlight_target=window->EmailEntry;
|
|
|
|
highlight_target=window->EmailEntry;
|
|
|
|
} else if (yon_char_is_empty(strength)){
|
|
|
|
} else if (yon_char_is_empty(strength)){
|
|
|
|
highlight_target=window->KeyStrengthSpin;
|
|
|
|
highlight_target=window->KeyStrengthSpin;
|
|
|
|
} else if (yon_char_is_empty(comment)){
|
|
|
|
|
|
|
|
highlight_target=window->CommentsEntry;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (highlight_target){
|
|
|
|
if (highlight_target){
|
|
|
|
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),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
@ -905,12 +920,14 @@ void on_key_generate_accept(GtkWidget *self, key_creation_window* window){
|
|
|
|
ex_status = system(yon_debug_output("%s\n",yon_generate_key_command(type,name,email,strength,comment,expire,password)));
|
|
|
|
ex_status = system(yon_debug_output("%s\n",yon_generate_key_command(type,name,email,strength,comment,expire,password)));
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_INCORRECT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_INCORRECT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->PasswordConfirmationEntry);
|
|
|
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->PasswordEntry);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!ex_status)
|
|
|
|
if (!ex_status)
|
|
|
|
yon_ubl_status_box_render(KEY_CREATION_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
yon_ubl_status_box_render(KEY_CREATION_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
yon_ubl_status_box_render(KEY_CREATION_FAILURE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
yon_ubl_status_box_render(KEY_CREATION_FAILURE_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
gtk_widget_destroy(window->Window);
|
|
|
|
gtk_widget_destroy(window->Window);
|
|
|
|
yon_sign_list_update();
|
|
|
|
yon_sign_list_update();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -934,6 +951,11 @@ key_creation_window *yon_key_creation_window_new(){
|
|
|
|
window->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry");
|
|
|
|
window->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry");
|
|
|
|
window->PasswordConfirmationEntry = yon_gtk_builder_get_widget(builder,"PasswordConfirmationEntry");
|
|
|
|
window->PasswordConfirmationEntry = yon_gtk_builder_get_widget(builder,"PasswordConfirmationEntry");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordConfirmationEntry));
|
|
|
|
|
|
|
|
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordEntry));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->ExpireCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),window->ExpireButton);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->ExpireCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),window->ExpireEntry);
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(window->ExpireButton),"clicked",G_CALLBACK(on_calendar_open),window);
|
|
|
|
g_signal_connect(G_OBJECT(window->ExpireButton),"clicked",G_CALLBACK(on_calendar_open),window);
|
|
|
|
g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_key_generate_accept),window);
|
|
|
|
g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_key_generate_accept),window);
|
|
|
|
@ -949,6 +971,7 @@ key_creation_window *yon_key_creation_window_new(){
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->EncryptionCombo),parsed[2],parsed[0]);
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->EncryptionCombo),parsed[2],parsed[0]);
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->EncryptionCombo),"RSA");
|
|
|
|
return window;
|
|
|
|
return window;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|