aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
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);
+ }
+}