diff options
author | saturneric <[email protected]> | 2024-07-28 15:24:14 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-07-28 15:24:14 +0000 |
commit | cb15c1a06a033a6cf34be1baf9c48f6dade05e04 (patch) | |
tree | 90d24ace99d1a175b04ffbf33b66d1da68f34590 /src/ui/widgets/KeyTable.cpp | |
parent | feat: log pattern should be different at release mode (diff) | |
download | GpgFrontend-cb15c1a06a033a6cf34be1baf9c48f6dade05e04.tar.gz GpgFrontend-cb15c1a06a033a6cf34be1baf9c48f6dade05e04.zip |
feat: double-click key table row wil show detail dialog
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) { |