diff --git a/src/gui/torrentcontentwidget.cpp b/src/gui/torrentcontentwidget.cpp index 472537bf2..ec377cfe8 100644 --- a/src/gui/torrentcontentwidget.cpp +++ b/src/gui/torrentcontentwidget.cpp @@ -72,8 +72,8 @@ TorrentContentWidget::TorrentContentWidget(QWidget *parent) : QTreeView(parent) { setDragEnabled(true); - setDragDropMode(QAbstractItemView::DragOnly); setExpandsOnDoubleClick(false); + setSelectionMode(QAbstractItemView::MultiSelection); setSortingEnabled(true); setUniformRowHeights(true); header()->setSortIndicator(0, Qt::AscendingOrder); @@ -249,6 +249,16 @@ void TorrentContentWidget::keyPressEvent(QKeyEvent *event) model()->setData(index, state, Qt::CheckStateRole); } +void TorrentContentWidget::mousePressEvent(QMouseEvent *event) +{ + if (event->modifiers().testFlag(Qt::AltModifier)) + setDragDropMode(QAbstractItemView::DragOnly); + else + setDragDropMode(QAbstractItemView::NoDragDrop); + + QTreeView::mousePressEvent(event); +} + void TorrentContentWidget::renameSelectedFile() { const QModelIndexList selectedIndexes = selectionModel()->selectedRows(0); diff --git a/src/gui/torrentcontentwidget.h b/src/gui/torrentcontentwidget.h index 1e9f0835c..4aeaefeae 100644 --- a/src/gui/torrentcontentwidget.h +++ b/src/gui/torrentcontentwidget.h @@ -104,6 +104,7 @@ signals: private: void setModel(QAbstractItemModel *model) override; void keyPressEvent(QKeyEvent *event) override; + void mousePressEvent(QMouseEvent *event) override; void wheelEvent(QWheelEvent *event) override; QModelIndex currentNameCell() const; void displayColumnHeaderMenu();