diff options
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 53 |
1 files changed, 6 insertions, 47 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp index cd45d8cb2..3e930198f 100644 --- a/src/qmmpui/playlistmodel.cpp +++ b/src/qmmpui/playlistmodel.cpp @@ -809,60 +809,19 @@ void PlayListModel::doCurrentVisibleRequest() void PlayListModel::loadPlaylist(const QString &f_name) { - if(!QFile::exists(f_name)) - return; - PlayListFormat* prs = PlayListParser::findByPath(f_name); - if(!prs) - return; - - QFile file(f_name); - if (!file.open(QIODevice::ReadOnly)) - { - qWarning("PlayListModel: %s", qPrintable(file.errorString())); - return; - } - - //clear(); - QStringList list = prs->decode(QTextStream(&file).readAll()); - if(list.isEmpty()) - { - qWarning("PlayListModel: error opening %s",qPrintable(f_name)); - } - for (int i = 0; i < list.size(); ++i) - { - if(list.at(i).contains("://")) - continue; - - if (QFileInfo(list.at(i)).isRelative()) - list[i].prepend(QFileInfo(f_name).canonicalPath () + QDir::separator ()); - } + QStringList list = PlayListParser::loadPlaylist(f_name); m_loader->add(list); - file.close(); } -void PlayListModel::savePlaylist(const QString & f_name) +void PlayListModel::savePlaylist(const QString &f_name) { - PlayListFormat* prs = PlayListParser::findByPath(f_name); - if (!prs) - return; - - QFile file(f_name); - if (file.open(QIODevice::WriteOnly)) + QList <PlayListTrack *> songs; + for(int i = 0; i < m_container->count(); ++i) { - QTextStream ts(&file); - QList <PlayListTrack *> songs; - for(int i = 0; i < m_container->count(); ++i) - { - if(!isTrack(i)) - continue; + if(isTrack(i)) songs << m_container->track(i); - } - ts << prs->encode(songs); - file.close(); } - else - qWarning("Error opening %s",f_name.toLocal8Bit().data()); - + PlayListParser::savePlayList(songs, f_name); } bool PlayListModel::isRepeatableList() const |
