From 41fa59f16426b44260561929e5c481bc74fa99a7 Mon Sep 17 00:00:00 2001 From: Gabriele Date: Thu, 16 Apr 2015 18:36:53 +0200 Subject: [PATCH] Allow to Open files from the properties pane by pressing "Enter" Allow to open only one file at a time and ignore keypresses when multiple items are selected. --- src/gui/properties/propertieswidget.cpp | 10 ++++++++++ src/gui/properties/propertieswidget.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/gui/properties/propertieswidget.cpp b/src/gui/properties/propertieswidget.cpp index c34fb0102..382c12684 100644 --- a/src/gui/properties/propertieswidget.cpp +++ b/src/gui/properties/propertieswidget.cpp @@ -142,6 +142,8 @@ PropertiesWidget::PropertiesWidget(QWidget *parent, MainWindow* main_window, Tra connect(listWebSeeds, SIGNAL(doubleClicked(QModelIndex)), SLOT(editWebSeed())); deleteHotkeyWeb = new QShortcut(QKeySequence(QKeySequence::Delete), listWebSeeds, 0, 0, Qt::WidgetShortcut); connect(deleteHotkeyWeb, SIGNAL(activated()), SLOT(deleteSelectedUrlSeeds())); + openHotkeyFile = new QShortcut(QKeySequence("Return"), filesList, 0, 0, Qt::WidgetShortcut); + connect(openHotkeyFile, SIGNAL(activated()), SLOT(openSelectedFile())); } PropertiesWidget::~PropertiesWidget() { @@ -157,6 +159,7 @@ PropertiesWidget::~PropertiesWidget() { delete editHotkeyFile; delete editHotkeyWeb; delete deleteHotkeyWeb; + delete openHotkeyFile; qDebug() << Q_FUNC_INFO << "EXIT"; } @@ -751,6 +754,13 @@ void PropertiesWidget::renameSelectedFile() { } } +void PropertiesWidget::openSelectedFile() { + const QModelIndexList selectedIndexes = filesList->selectionModel()->selectedRows(0); + if (selectedIndexes.size() != 1) + return; + openDoubleClickedFile(selectedIndexes.first()); +} + void PropertiesWidget::askWebSeed() { bool ok; // Ask user for a new url seed diff --git a/src/gui/properties/propertieswidget.h b/src/gui/properties/propertieswidget.h index 23cb8c46d..a89bf8d8c 100644 --- a/src/gui/properties/propertieswidget.h +++ b/src/gui/properties/propertieswidget.h @@ -92,6 +92,7 @@ protected slots: void showPiecesDownloaded(bool show); void showPiecesAvailability(bool show); void renameSelectedFile(); + void openSelectedFile(); public slots: void setVisibility(bool visible); @@ -126,6 +127,7 @@ private: QShortcut *editHotkeyFile; QShortcut *editHotkeyWeb; QShortcut *deleteHotkeyWeb; + QShortcut *openHotkeyFile; private slots: void filterText(const QString& filter);