diff --git a/modules/gui/skins2/commands/cmd_playlist.cpp b/modules/gui/skins2/commands/cmd_playlist.cpp index be36a5ccc887e8eeca04023582df8cc8c10aa148..ec2118a550664b84b0625531702c4c4c6926f1df 100644 --- a/modules/gui/skins2/commands/cmd_playlist.cpp +++ b/modules/gui/skins2/commands/cmd_playlist.cpp @@ -101,10 +101,17 @@ void CmdPlaylistSave::execute() playlist_t *pPlaylist = getIntf()->p_sys->p_playlist; if( pPlaylist != NULL ) { - // FIXME: when the PLS export will be working, we'll need to remove - // this hardcoding... - msg_Err( getIntf(), "need to fix playlist save" ); -// playlist_Export( pPlaylist, m_file.c_str(), "export-m3u" ); + static const char psz_xspf[] = "export-xspf", + psz_m3u[] = "export-m3u"; + const char *psz_module; + if( m_file.find( ".xsp", 0 ) != string::npos ) + psz_module = psz_xspf; + else + { + psz_module = psz_m3u; + if( m_file.find( ".m3u", 0 ) == string::npos ) + m_file.append( ".m3u" ); + } + playlist_Export( pPlaylist, m_file.c_str(), pPlaylist->p_local_category, psz_module ); } } - diff --git a/modules/gui/skins2/src/dialogs.cpp b/modules/gui/skins2/src/dialogs.cpp index a367f9d57d8fc01be85aec3ba48d7f6b5e34fa96..60d961cac94d2e8544a7b02b606337c4e0fef135 100644 --- a/modules/gui/skins2/src/dialogs.cpp +++ b/modules/gui/skins2/src/dialogs.cpp @@ -237,7 +237,7 @@ void Dialogs::showPlaylistLoad() void Dialogs::showPlaylistSave() { - showFileGeneric( _("Save playlist"), _("M3U file|*.m3u|XSPF playlist|*.xspf"), + showFileGeneric( _("Save playlist"), _("XSPF playlist|*.xspf|M3U file|*.m3u"), showPlaylistSaveCB, kSAVE ); }