From 886f9be488970798b2725ad2e9ddf26b5cadee07 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 16 Jan 2021 15:52:48 +0000 Subject: library: add context menu git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9639 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/General/library/librarymodel.cpp | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/plugins/General/library/librarymodel.cpp') diff --git a/src/plugins/General/library/librarymodel.cpp b/src/plugins/General/library/librarymodel.cpp index fef15669f..d02e9ba27 100644 --- a/src/plugins/General/library/librarymodel.cpp +++ b/src/plugins/General/library/librarymodel.cpp @@ -26,8 +26,11 @@ #include #include #include +#include #include #include +#include +#include #include "librarymodel.h" #define CONNECTION_NAME "qmmp_library_view" @@ -303,6 +306,39 @@ void LibraryModel::refresh() endResetModel(); } +void LibraryModel::add(const QModelIndexList &indexes) +{ + QList tracks; + + for(const QModelIndex &index : indexes) + { + if(index.isValid()) + { + tracks << getTracks(index); + } + } + + PlayListManager::instance()->add(tracks); +} + +void LibraryModel::showInformation(const QModelIndexList &indexes, QWidget *parent) +{ + QList tracks; + + for(const QModelIndex &index : indexes) + { + if(index.isValid()) + { + tracks << getTracks(index); + } + } + + DetailsDialog *dialog = new DetailsDialog(tracks, parent); + dialog->setAttribute(Qt::WA_DeleteOnClose, true); + dialog->show(); + connect(dialog, &QObject::destroyed, [=]() { qDeleteAll(tracks); }); +} + QList LibraryModel::getTracks(const QModelIndex &index) const { QSqlDatabase db = QSqlDatabase::database(CONNECTION_NAME); -- cgit v1.2.3-13-gbd6f