aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/uihelper.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-12-22 10:46:29 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-12-22 10:46:29 +0000
commit954146ff9b69591f0cf3895e96922bb55ad88502 (patch)
treeb495690d6ed2a6b5251fd1e8a428b550354a0cba /src/qmmpui/uihelper.cpp
parent2b286b3f3713a224839b9444579046556b608c58 (diff)
downloadqmmp-954146ff9b69591f0cf3895e96922bb55ad88502.tar.gz
qmmp-954146ff9b69591f0cf3895e96922bb55ad88502.tar.bz2
qmmp-954146ff9b69591f0cf3895e96922bb55ad88502.zip
playlist format api cleanup
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3088 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/uihelper.cpp')
-rw-r--r--src/qmmpui/uihelper.cpp59
1 files changed, 25 insertions, 34 deletions
diff --git a/src/qmmpui/uihelper.cpp b/src/qmmpui/uihelper.cpp
index c9247640e..2dfb7b9e8 100644
--- a/src/qmmpui/uihelper.cpp
+++ b/src/qmmpui/uihelper.cpp
@@ -147,51 +147,42 @@ void UiHelper::addDirectory(QWidget *parent, PlayListModel *model)
void UiHelper::loadPlayList(QWidget *parent, PlayListModel *model)
{
- QStringList l;
- QList<PlayListFormat*> *p_list = PlayListParser::formats();
- if (!p_list->isEmpty())
+ if(PlayListParser::nameFilters().isEmpty())
{
- foreach(PlayListFormat* fmt, *p_list)
- l << fmt->getExtensions();
-
- QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")";
- //TODO use nonmodal dialog and multiplier playlists
- QString f_name = FileDialog::getOpenFileName(parent ,tr("Open Playlist"),m_lastDir,mask);
- if (!f_name.isEmpty())
- {
- model->clear();
- model->loadPlaylist(f_name);
- model->setName(QFileInfo(f_name).baseName());
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
+ qWarning("UiHelper: There is no registered playlist parsers");
+ return;
}
- else
+
+ QString mask = tr("Playlist Files") + " (" + PlayListParser::nameFilters().join(" ") + ")";
+ //TODO use nonmodal dialog and multiplier playlists
+ QString f_name = FileDialog::getOpenFileName(parent ,tr("Open Playlist"), m_lastDir, mask);
+ if (!f_name.isEmpty())
{
- qWarning("Error: There is no registered playlist parsers");
+ model->clear();
+ model->loadPlaylist(f_name);
+ model->setName(QFileInfo(f_name).baseName());
+ m_lastDir = QFileInfo(f_name).absoluteDir().path();
}
}
void UiHelper::savePlayList(QWidget *parent, PlayListModel *model)
{
- QStringList l;
- QList<PlayListFormat*> *p_list = PlayListParser::formats();
- if (!p_list->isEmpty())
+ if(PlayListParser::nameFilters().isEmpty())
{
- foreach(PlayListFormat* fmt,*p_list)
- l << fmt->getExtensions();
-
- QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")";
- QString f_name = FileDialog::getSaveFileName(parent, tr("Save Playlist"),m_lastDir + "/" +
- model->name() + "." + l[0],mask);
+ qWarning("UiHelper: There is no registered playlist parsers");
+ return;
+ }
+ QString ext = PlayListParser::nameFilters().at(0);
+ ext.replace("*.", "."); //extract extension from name filter
+ QString mask = tr("Playlist Files") + " (" + PlayListParser::nameFilters().join(" ") + ")";
+ QString f_name = FileDialog::getSaveFileName(parent, tr("Save Playlist"),m_lastDir + "/" +
+ model->name() + ext,mask);
- if (!f_name.isEmpty())
- {
- model->savePlaylist(f_name);
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
+ if (!f_name.isEmpty())
+ {
+ model->savePlaylist(f_name);
+ m_lastDir = QFileInfo(f_name).absoluteDir().path();
}
- else
- qWarning("Error: There is no registered playlist parsers");
}
void UiHelper::jumpToTrack(QWidget *parent, PlayListModel *model)