diff options
Diffstat (limited to 'src/plugins/Ui/qsui/listwidget.cpp')
| -rw-r--r-- | src/plugins/Ui/qsui/listwidget.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/plugins/Ui/qsui/listwidget.cpp b/src/plugins/Ui/qsui/listwidget.cpp index 2ace2d171..0ced7bdbb 100644 --- a/src/plugins/Ui/qsui/listwidget.cpp +++ b/src/plugins/Ui/qsui/listwidget.cpp @@ -587,6 +587,55 @@ void ListWidget::setFilterString(const QString &str) updateList(PlayListModel::STRUCTURE); } +void ListWidget::clear() +{ + if(m_filterMode) + { + m_model->removeTracks(m_filteredItems); + m_filteredItems.clear(); + } + else + { + m_model->clear(); + } +} + +void ListWidget::removeSelected() +{ + if(m_filterMode) + { + QList<PlayListItem *> items; + for(PlayListItem *item : m_filteredItems) + { + if(item->isSelected()) + items << item; + } + m_model->removeTracks(items); + } + else + { + m_model->removeSelected(); + } +} + +void ListWidget::removeUnselected() +{ + if(m_filterMode) + { + QList<PlayListItem *> items; + for(PlayListItem *item : m_filteredItems) + { + if(!item->isSelected()) + items << item; + } + m_model->removeTracks(items); + } + else + { + m_model->removeUnselected(); + } +} + void ListWidget::updateSkin() { m_drawer.loadSystemColors(); |
