aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/KeyTable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widgets/KeyTable.cpp')
-rw-r--r--src/ui/widgets/KeyTable.cpp12
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) {