diff --git a/cockatrice/src/server/remote/remote_decklist_tree_widget.cpp b/cockatrice/src/server/remote/remote_decklist_tree_widget.cpp index 63b6a1ad8..314d7687b 100644 --- a/cockatrice/src/server/remote/remote_decklist_tree_widget.cpp +++ b/cockatrice/src/server/remote/remote_decklist_tree_widget.cpp @@ -300,6 +300,7 @@ RemoteDeckList_TreeWidget::RemoteDeckList_TreeWidget(AbstractClient *_client, QW header()->setSectionResizeMode(QHeaderView::ResizeToContents); setUniformRowHeights(true); + setSelectionMode(QAbstractItemView::ExtendedSelection); setSortingEnabled(true); proxyModel->sort(0, Qt::AscendingOrder); header()->setSortIndicator(0, Qt::AscendingOrder); @@ -315,6 +316,15 @@ RemoteDeckList_TreeModel::Node *RemoteDeckList_TreeWidget::getCurrentItem() cons return getNode(selectionModel()->currentIndex()); } +QList RemoteDeckList_TreeWidget::getCurrentSelection() const +{ + auto list = QList(); + for (const auto &row : selectionModel()->selectedRows()) { + list << getNode(row); + } + return list; +} + RemoteDeckList_TreeModel::DirectoryNode *RemoteDeckList_TreeWidget::getNodeByPath(const QString &path) const { return treeModel->getRoot()->getNodeByPath(path.split("/")); diff --git a/cockatrice/src/server/remote/remote_decklist_tree_widget.h b/cockatrice/src/server/remote/remote_decklist_tree_widget.h index dae77b0d6..59a3e4950 100644 --- a/cockatrice/src/server/remote/remote_decklist_tree_widget.h +++ b/cockatrice/src/server/remote/remote_decklist_tree_widget.h @@ -118,6 +118,7 @@ public: RemoteDeckList_TreeWidget(AbstractClient *_client, QWidget *parent = nullptr); RemoteDeckList_TreeModel::Node *getNode(const QModelIndex &ind) const; RemoteDeckList_TreeModel::Node *getCurrentItem() const; + QList getCurrentSelection() const; RemoteDeckList_TreeModel::DirectoryNode *getNodeByPath(const QString &path) const; RemoteDeckList_TreeModel::FileNode *getNodeById(int id) const; void addFileToTree(const ServerInfo_DeckStorage_TreeItem &file, RemoteDeckList_TreeModel::DirectoryNode *parent);