summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-03-29 21:59:52 +0200
committerGravatar waker <wakeroid@gmail.com>2011-03-29 21:59:52 +0200
commitea4fc93a8d65414e2f8086287e71ff10169b5243 (patch)
treed97d5f4ee5e5b0939b9ad4102c541f7c05962caf /plugins
parent76e84be8041bd5b2641a76b4543d6dc86f3809c4 (diff)
added file filters to "save playlist" dialog
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkui/gtkui.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index 7700e20f..fb2c157b 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -676,6 +676,22 @@ save_playlist_as (void) {
gtk_file_filter_set_name (flt, _("DeaDBeeF playlist files (*.dbpl)"));
gtk_file_filter_add_pattern (flt, "*.dbpl");
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dlg), flt);
+ DB_playlist_t **plug = deadbeef->plug_get_playlist_list ();
+ for (int i = 0; plug[i]; i++) {
+ if (plug[i]->extensions && plug[i]->load) {
+ const char **exts = plug[i]->extensions;
+ if (exts && plug[i]->save) {
+ for (int e = 0; exts[e]; e++) {
+ char s[100];
+ flt = gtk_file_filter_new ();
+ gtk_file_filter_set_name (flt, exts[e]);
+ snprintf (s, sizeof (s), "*.%s", exts[e]);
+ gtk_file_filter_add_pattern (flt, s);
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dlg), flt);
+ }
+ }
+ }
+ }
int res = gtk_dialog_run (GTK_DIALOG (dlg));
// store folder