Browse Source

Fix Enter key behavior when add new torrent

PR #19787.
Closes #19760.
adaptive-webui-19844
Vladimir Golovnev 1 year ago committed by GitHub
parent
commit
ee9390fecd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      src/gui/properties/propertieswidget.cpp
  2. 30
      src/gui/torrentcontentwidget.cpp
  3. 7
      src/gui/torrentcontentwidget.h

1
src/gui/properties/propertieswidget.cpp

@ -82,6 +82,7 @@ PropertiesWidget::PropertiesWidget(QWidget *parent) @@ -82,6 +82,7 @@ PropertiesWidget::PropertiesWidget(QWidget *parent)
m_ui->contentFilterLayout->insertWidget(3, m_contentFilterLine);
m_ui->filesList->setDoubleClickAction(TorrentContentWidget::DoubleClickAction::Open);
m_ui->filesList->setOpenByEnterKey(true);
// SIGNAL/SLOTS
connect(m_ui->selectAllButton, &QPushButton::clicked, m_ui->filesList, &TorrentContentWidget::checkAll);

30
src/gui/torrentcontentwidget.cpp

@ -89,10 +89,6 @@ TorrentContentWidget::TorrentContentWidget(QWidget *parent) @@ -89,10 +89,6 @@ TorrentContentWidget::TorrentContentWidget(QWidget *parent)
const auto *renameFileHotkey = new QShortcut(Qt::Key_F2, this, nullptr, nullptr, Qt::WidgetShortcut);
connect(renameFileHotkey, &QShortcut::activated, this, &TorrentContentWidget::renameSelectedFile);
const auto *openFileHotkeyReturn = new QShortcut(Qt::Key_Return, this, nullptr, nullptr, Qt::WidgetShortcut);
connect(openFileHotkeyReturn, &QShortcut::activated, this, &TorrentContentWidget::openSelectedFile);
const auto *openFileHotkeyEnter = new QShortcut(Qt::Key_Enter, this, nullptr, nullptr, Qt::WidgetShortcut);
connect(openFileHotkeyEnter, &QShortcut::activated, this, &TorrentContentWidget::openSelectedFile);
connect(model(), &QAbstractItemModel::modelReset, this, &TorrentContentWidget::expandRecursively);
}
@ -118,6 +114,32 @@ void TorrentContentWidget::refresh() @@ -118,6 +114,32 @@ void TorrentContentWidget::refresh()
setUpdatesEnabled(true);
}
bool TorrentContentWidget::openByEnterKey() const
{
return m_openFileHotkeyEnter;
}
void TorrentContentWidget::setOpenByEnterKey(const bool value)
{
if (value == openByEnterKey())
return;
if (value)
{
m_openFileHotkeyReturn = new QShortcut(Qt::Key_Return, this, nullptr, nullptr, Qt::WidgetShortcut);
connect(m_openFileHotkeyReturn, &QShortcut::activated, this, &TorrentContentWidget::openSelectedFile);
m_openFileHotkeyEnter = new QShortcut(Qt::Key_Enter, this, nullptr, nullptr, Qt::WidgetShortcut);
connect(m_openFileHotkeyEnter, &QShortcut::activated, this, &TorrentContentWidget::openSelectedFile);
}
else
{
delete m_openFileHotkeyEnter;
m_openFileHotkeyEnter = nullptr;
delete m_openFileHotkeyReturn;
m_openFileHotkeyReturn = nullptr;
}
}
TorrentContentWidget::DoubleClickAction TorrentContentWidget::doubleClickAction() const
{
return m_doubleClickAction;

7
src/gui/torrentcontentwidget.h

@ -34,6 +34,8 @@ @@ -34,6 +34,8 @@
#include "base/bittorrent/downloadpriority.h"
#include "base/pathfwd.h"
class QShortcut;
namespace BitTorrent
{
class Torrent;
@ -78,6 +80,9 @@ public: @@ -78,6 +80,9 @@ public:
BitTorrent::TorrentContentHandler *contentHandler() const;
void refresh();
bool openByEnterKey() const;
void setOpenByEnterKey(bool value);
DoubleClickAction doubleClickAction() const;
void setDoubleClickAction(DoubleClickAction action);
@ -118,4 +123,6 @@ private: @@ -118,4 +123,6 @@ private:
TorrentContentFilterModel *m_filterModel;
DoubleClickAction m_doubleClickAction = DoubleClickAction::Rename;
ColumnsVisibilityMode m_columnsVisibilityMode = ColumnsVisibilityMode::Editable;
QShortcut *m_openFileHotkeyEnter = nullptr;
QShortcut *m_openFileHotkeyReturn = nullptr;
};

Loading…
Cancel
Save