aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/playlistmanager.cpp5
-rw-r--r--src/qmmpui/playlistmanager.h4
-rw-r--r--src/qmmpui/playlistmodel.cpp16
-rw-r--r--src/qmmpui/playlistmodel.h5
4 files changed, 25 insertions, 5 deletions
diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp
index 1c7e7ab79..c755ecc42 100644
--- a/src/qmmpui/playlistmanager.cpp
+++ b/src/qmmpui/playlistmanager.cpp
@@ -457,3 +457,8 @@ void PlayListManager::removeInvalidItems()
{
m_selected->removeInvalidItems();
}
+
+void PlayListManager::removeDuplicates()
+{
+ m_selected->removeDuplicates();
+}
diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h
index 0a33b577a..ffcc3ab33 100644
--- a/src/qmmpui/playlistmanager.h
+++ b/src/qmmpui/playlistmanager.h
@@ -191,6 +191,10 @@ public slots:
* This is a convenience function and is the same as calling \b selectedPlayList()->clearInvalidItems()
*/
void removeInvalidItems();
+ /*!
+ * This is a convenience function and is the same as calling \b selectedPlayList()->removeDuplicates()
+ */
+ void removeDuplicates();
private:
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 007eee910..53ba242c8 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright(C) 2006-2009 by Ilya Kotov *
+ * Copyright(C) 2006-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -414,7 +414,7 @@ FileLoader * PlayListModel::createFileLoader()
FileLoader* f_loader = new FileLoader(this);
// f_loader->setStackSize(20 * 1024 * 1024);
m_running_loaders << f_loader;
- connect(f_loader,SIGNAL(newPlayListItem(PlayListItem*)), SLOT(add(PlayListItem*)),Qt::QueuedConnection);
+ connect(f_loader,SIGNAL(newPlayListItem(PlayListItem*)),SLOT(add(PlayListItem*)),Qt::QueuedConnection);
connect(f_loader,SIGNAL(finished()),this,SLOT(preparePlayState()));
connect(f_loader,SIGNAL(finished()),f_loader,SLOT(deleteLater()));
return f_loader;
@@ -920,3 +920,15 @@ void PlayListModel::removeInvalidItems()
removeItem(item);
}
}
+
+void PlayListModel::removeDuplicates()
+{
+ for(int i = 0; i < m_items.size(); ++i)
+ {
+ for(int j = i + 1; j < m_items.size(); ++j)
+ {
+ if(m_items.at(i)->url() == m_items.at(j)->url())
+ removeItem(m_items.at(j));
+ }
+ }
+}
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index 6f9e9f9d1..f63dec6b2 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2009 by Ilya Kotov *
+ * Copyright (C) 2006-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -403,7 +403,7 @@ public slots:
/*!
* Removes duplicate items by URL.
*/
- //void removeDuplicates();
+ void removeDuplicates();
private:
/*!
@@ -432,7 +432,6 @@ private:
*/
void removeSelection(bool inverted = false);
-
private slots:
void preparePlayState();