diff options
author | 2011-03-29 21:59:52 +0200 | |
---|---|---|
committer | 2011-03-29 21:59:52 +0200 | |
commit | ea4fc93a8d65414e2f8086287e71ff10169b5243 (patch) | |
tree | d97d5f4ee5e5b0939b9ad4102c541f7c05962caf /plugins | |
parent | 76e84be8041bd5b2641a76b4543d6dc86f3809c4 (diff) |
added file filters to "save playlist" dialog
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/gtkui/gtkui.c | 16 |
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 |