aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
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
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')
-rw-r--r--src/qmmpui/playlistmodel.cpp16
-rw-r--r--src/qmmpui/playlistmodel.h8
2 files changed, 24 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);
+ }
+}
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index b8a095a69..6b838f9c1 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -311,6 +311,10 @@ public slots:
*/
void removeAt (int i);
/*!
+ * Removes item \b item from playlist
+ */
+ void removeItem (PlayListItem *item);
+ /*!
* Inverts selection (selects unselected items and unselects selected items)
*/
void invertSelection();
@@ -417,6 +421,10 @@ public slots:
* "%g" - genre, "%f" - file name, "%F" - full path, "%y" - year)
*/
void setFormat(const QString &format);
+ /*!
+ * Removes invalid items from playlist
+ */
+ void clearInvalidItems();
private:
/*!