From 2b6c0960be90f990564421f6d7f97f8703b9c459 Mon Sep 17 00:00:00 2001 From: SET Date: Fri, 13 Nov 2020 22:40:53 +0100 Subject: [PATCH] Improve changing certification trust level. The editing combobox should be available only for - all keys that do not have an associated secret key - the secret keys managed by the user. --- K7Main.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/K7Main.cpp b/K7Main.cpp index 8ff9675..45195fd 100644 --- a/K7Main.cpp +++ b/K7Main.cpp @@ -273,8 +273,11 @@ void K7Main::DisplayKeys(const vector& kList, const WString& grpLabe * Here we allow the owner trust level of primary keys to be changed anytime. * Kleopatra doesn't do that for primary keys having ultimate trust level. */ - lblOwnerTrust->doubleClicked().connect(std::bind(&KeyEdit::OnOwnerTrustDoubleClicked, m_keyEdit, keyNode, k.hasSecret())); - lblOwnerTrust->setToolTip(TR("TTTDoubleCLick")); + bool isOurKey = m_keyEdit->IsOurKey(k.primaryFingerprint()); + if (!isOurKey || (isOurKey && k.hasSecret())) { + lblOwnerTrust->doubleClicked().connect(std::bind(&KeyEdit::OnOwnerTrustDoubleClicked, m_keyEdit, keyNode, k.hasSecret())); + lblOwnerTrust->setToolTip(TR("TTTDoubleCLick")); + } } keyNode->setColumnWidget(2, unique_ptr (lblOwnerTrust)); TreeTableNodeText * ttntFpr = new TreeTableNodeText(k.primaryFingerprint(), keyNode, 3);