diff --git a/source/ubl-settings-repomanager.c b/source/ubl-settings-repomanager.c index 141e4fe..9bcb1f9 100644 --- a/source/ubl-settings-repomanager.c +++ b/source/ubl-settings-repomanager.c @@ -539,19 +539,15 @@ void on_repo_configure_done(GtkWidget *self, dictionary *dict){ void on_repo_load_local(GtkWidget *self, main_window *widgets){ GtkFileFilter *file_filter = gtk_file_filter_new(); - GtkWidget *chooser = gtk_file_chooser_dialog_new(LOAD_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_OPEN,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); - gtk_file_filter_add_pattern(file_filter,"*db.tar.gz"); - gtk_file_filter_set_name(file_filter, "*db.tar.gz"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser),file_filter); + GtkWidget *chooser = gtk_file_chooser_dialog_new(LOAD_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); + // gtk_file_filter_add_pattern(file_filter,"*db.tar.gz"); + // gtk_file_filter_set_name(file_filter, "*db.tar.gz"); + // gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser),file_filter); gtk_window_set_icon_name(GTK_WINDOW(chooser),"com.ublinux.ubl-settings-repomanager"); int res = gtk_dialog_run(GTK_DIALOG(chooser)); if (res==GTK_RESPONSE_ACCEPT){ char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser)); - while (1){ - char *ret = yon_char_divide_search(filename,"/",-1); - if (strcmp(ret,filename)==0) break; - } yon_repo_append(widgets,filename,YON_REPO_LINE_REPO_TYPE); } on_close_subwindow(chooser); @@ -647,11 +643,18 @@ void yon_repo_remove(main_window *widgets){ } else yon_ubl_status_box_render(NOTHING_CHOSEN_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); } +gboolean yon_check_file_pattern(GtkFileFilterInfo *info){ + if (!strstr(info->filename,".sig")&&strstr(info->filename,".pkg.tar.")) + return 1; + else return 0; +} + void yon_add_file(main_window *widgets){ GtkWidget *chooser = gtk_file_chooser_dialog_new(ADD_PACKAGE_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_OPEN,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); GtkFileFilter *file_filter = gtk_file_filter_new(); file_filter = gtk_file_filter_new(); - gtk_file_filter_add_pattern(file_filter,"*.pkg.tar.*"); + // gtk_file_filter_add_pattern(file_filter,"*.pkg.tar.*"); + gtk_file_filter_add_custom(file_filter,GTK_FILE_FILTER_FILENAME,(GtkFileFilterFunc)yon_check_file_pattern,NULL,NULL); gtk_file_filter_set_name(file_filter,".pkg.tar.*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser),file_filter); file_filter = gtk_file_filter_new(); diff --git a/ubl-settings-repomanager.glade b/ubl-settings-repomanager.glade index 31e4f0a..138f0d7 100644 --- a/ubl-settings-repomanager.glade +++ b/ubl-settings-repomanager.glade @@ -773,6 +773,7 @@ translated and supported by community. True + False True True Delete repository @@ -829,6 +830,7 @@ translated and supported by community. True + False True True Add package @@ -846,6 +848,7 @@ translated and supported by community. True + False True True Remove package