aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-07-27 13:24:37 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-07-27 13:24:37 +0000
commit43bf74b188eec00b88435e68567da94e14cb3f5e (patch)
tree0dc6771035e00e41e9452a4930b64269c0f3bd47 /src/qmmpui/playlistmodel.cpp
parenta6b00949afe5faa080aeca1a17ad598a629fe493 (diff)
downloadqmmp-43bf74b188eec00b88435e68567da94e14cb3f5e.tar.gz
qmmp-43bf74b188eec00b88435e68567da94e14cb3f5e.tar.bz2
qmmp-43bf74b188eec00b88435e68567da94e14cb3f5e.zip
added 'remove invalid files' action'
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1084 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
-rw-r--r--src/qmmpui/playlistmodel.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 9049759a5..e0fc19ea3 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -286,6 +286,12 @@ void PlayListModel::removeAt (int i)
}
}
+void PlayListModel::removeItem (PlayListItem *item)
+{
+ if(m_items.contains(item))
+ removeAt (m_items.indexOf(item));
+}
+
void PlayListModel::removeSelection(bool inverted)
{
int i = 0;
@@ -1004,3 +1010,13 @@ void PlayListModel::setFormat(const QString &format)
PlaylistSettings::instance()->setFormat(format);
emit settingsChanged();
}
+
+void PlayListModel::clearInvalidItems()
+{
+ foreach(PlayListItem *item, m_items)
+ {
+ if(!item->url().contains("://") &&
+ !(QFile::exists(item->url()) && Decoder::supports(item->url())))
+ removeItem(item);
+ }
+}