summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-02-06 21:07:31 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-02-06 21:07:31 +0100
commit3c2408e13c67c8ed3d8ecfc6b227e66bb75be224 (patch)
tree1877af2ce9d58b50216fe4f4718c8385cb32d42f /plugins
parentaa50a77c0fe42821cdd2258d56ed88c725887522 (diff)
"save playlist as" dialog now suggests default filename, and prompts for overwrite confirmation
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkui/callbacks.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 33134c4d..a2ec0ca9 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -881,6 +881,10 @@ void
save_playlist_as (void) {
GtkWidget *dlg = gtk_file_chooser_dialog_new ("Save Playlist As", GTK_WINDOW (mainwin), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_OK, NULL);
+ gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dlg), TRUE);
+ gtk_file_chooser_set_create_folders (GTK_FILE_CHOOSER (dlg), TRUE);
+ gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dlg), "untitled.dbpl");
+
GtkFileFilter* flt;
flt = gtk_file_filter_new ();
gtk_file_filter_set_name (flt, "DeaDBeeF playlist files (*.dbpl)");
@@ -893,6 +897,8 @@ save_playlist_as (void) {
gtk_widget_destroy (dlg);
if (fname) {
+// the code below cannot be used, because it breaks gtk overwrite confirmation
+#if 0
// check extension and append .dbpl if none
size_t sz = strlen (fname);
char ext[] = ".dbpl";
@@ -908,6 +914,7 @@ save_playlist_as (void) {
g_free (fname);
fname = n;
}
+#endif
int res = deadbeef->pl_save (fname);
if (res >= 0 && strlen (fname) < 1024) {
strcpy (last_playlist_save_name, fname);