diff options
Diffstat (limited to 'src/ui/widgets/KeyTable.cpp')
-rw-r--r-- | src/ui/widgets/KeyTable.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ui/widgets/KeyTable.cpp b/src/ui/widgets/KeyTable.cpp index 0254840e..1ba44232 100644 --- a/src/ui/widgets/KeyTable.cpp +++ b/src/ui/widgets/KeyTable.cpp @@ -28,7 +28,9 @@ #include "ui/widgets/KeyTable.h" +#include "core/function/gpg/GpgKeyGetter.h" #include "ui/UserInterfaceUtils.h" +#include "ui/dialog/keypair_details/KeyDetailsDialog.h" namespace GpgFrontend::UI { @@ -73,6 +75,16 @@ KeyTable::KeyTable(QWidget* parent, QSharedPointer<GpgKeyTableModel> model, emit(&proxy_model_) ->SignalColumnTypeChange(column_filter_ & global_column_filter); }); + connect(this, &QTableView::doubleClicked, this, + [this](const QModelIndex& index) { + auto key = + GpgKeyGetter::GetInstance().GetKey(GetKeyIdByRow(index.row())); + if (!key.IsGood()) { + QMessageBox::critical(this, tr("Error"), tr("Key Not Found.")); + return; + } + new KeyDetailsDialog(key, this); + }); } void KeyTable::SetFilterKeyword(const QString& keyword) { |