diff options
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/playlistmanager.cpp | 5 | ||||
| -rw-r--r-- | src/qmmpui/playlistmanager.h | 4 | ||||
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 16 | ||||
| -rw-r--r-- | src/qmmpui/playlistmodel.h | 5 |
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(); |
