Show status info for key, uid and signature, in tooltips.
Status like IsExpired, IsInvalid ...
This commit is contained in:
@@ -250,6 +250,7 @@ void K7Main::DisplayKeys(const vector<GpgME::Key>& kList, const WString& grpLabe
|
|||||||
{
|
{
|
||||||
const GpgME::Key k = kList.at(i);
|
const GpgME::Key k = kList.at(i);
|
||||||
WTreeTableNode * keyNode = new WTreeTableNode(k.userID(0).name());
|
WTreeTableNode * keyNode = new WTreeTableNode(k.userID(0).name());
|
||||||
|
keyNode->setToolTip(Tools::GetKeyStatus(k));
|
||||||
WLink ln;
|
WLink ln;
|
||||||
ln.setUrl(WString(L"javascript:void(0)").toUTF8());
|
ln.setUrl(WString(L"javascript:void(0)").toUTF8());
|
||||||
WAnchor * anc = new WAnchor(ln, k.shortKeyID());
|
WAnchor * anc = new WAnchor(ln, k.shortKeyID());
|
||||||
@@ -317,6 +318,7 @@ void K7Main::DisplayUids(const WString& fullKeyID, bool secret)
|
|||||||
{
|
{
|
||||||
UserID uid = k.userID(i);
|
UserID uid = k.userID(i);
|
||||||
WTreeTableNode * uidNode = new WTreeTableNode(uid.name());
|
WTreeTableNode * uidNode = new WTreeTableNode(uid.name());
|
||||||
|
uidNode->setToolTip(Tools::GetUidStatus(uid));
|
||||||
TreeTableNodeText * ttntUidEmail = new TreeTableNodeText(uid.email(), uidNode, 1);
|
TreeTableNodeText * ttntUidEmail = new TreeTableNodeText(uid.email(), uidNode, 1);
|
||||||
uidNode->setColumnWidget(1, unique_ptr<TreeTableNodeText> (ttntUidEmail));
|
uidNode->setColumnWidget(1, unique_ptr<TreeTableNodeText> (ttntUidEmail));
|
||||||
// Show key certify popup on double click
|
// Show key certify popup on double click
|
||||||
@@ -336,6 +338,7 @@ void K7Main::DisplayUids(const WString& fullKeyID, bool secret)
|
|||||||
const WString signer = WString(sig.signerName()) + _SPACE_
|
const WString signer = WString(sig.signerName()) + _SPACE_
|
||||||
+ WString(sig.signerKeyID());
|
+ WString(sig.signerKeyID());
|
||||||
WTreeTableNode * sigNode = new WTreeTableNode(signer);
|
WTreeTableNode * sigNode = new WTreeTableNode(signer);
|
||||||
|
sigNode->setToolTip(Tools::GetSigStatus(sig));
|
||||||
TreeTableNodeText * ttntEmail = new TreeTableNodeText(sig.signerEmail(), sigNode, 1);
|
TreeTableNodeText * ttntEmail = new TreeTableNodeText(sig.signerEmail(), sigNode, 1);
|
||||||
sigNode->setColumnWidget(1, unique_ptr<TreeTableNodeText> (ttntEmail));
|
sigNode->setColumnWidget(1, unique_ptr<TreeTableNodeText> (ttntEmail));
|
||||||
WString exp = TR("Expiration") + _SPACE_ + _COLON_ + _SPACE_;
|
WString exp = TR("Expiration") + _SPACE_ + _COLON_ + _SPACE_;
|
||||||
@@ -376,6 +379,7 @@ void K7Main::DisplaySubKeys(const WString& fullKeyID, bool secret)
|
|||||||
{
|
{
|
||||||
Subkey sk = k.subkey(i);
|
Subkey sk = k.subkey(i);
|
||||||
WTreeTableNode * skNode = new WTreeTableNode(sk.keyID());
|
WTreeTableNode * skNode = new WTreeTableNode(sk.keyID());
|
||||||
|
skNode->setToolTip(Tools::GetKeyStatus(k));
|
||||||
TreeTableNodeText * ttntFpr = new TreeTableNodeText(sk.fingerprint(), skNode, 1);
|
TreeTableNodeText * ttntFpr = new TreeTableNodeText(sk.fingerprint(), skNode, 1);
|
||||||
skNode->setColumnWidget(1, unique_ptr<TreeTableNodeText> (ttntFpr));
|
skNode->setColumnWidget(1, unique_ptr<TreeTableNodeText> (ttntFpr));
|
||||||
WString exp = sk.neverExpires() ? TR("Never") : MakeDateTimeLabel(sk.expirationTime());
|
WString exp = sk.neverExpires() ? TR("Never") : MakeDateTimeLabel(sk.expirationTime());
|
||||||
|
|||||||
56
Tools.cpp
56
Tools.cpp
@@ -33,3 +33,59 @@ int Tools::ToInt(const string& s) {
|
|||||||
buffer >> num;
|
buffer >> num;
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WString Tools::TexttualBool(bool value)
|
||||||
|
{
|
||||||
|
const WString res = value
|
||||||
|
? WString::tr("Yes")
|
||||||
|
: WString::tr("No");
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
WString Tools::GetKeyStatus(const GpgME::Key& k)
|
||||||
|
{
|
||||||
|
const WString nl("\n");
|
||||||
|
const WString sep(" : ");
|
||||||
|
WString status(WString::tr("KeyStatusFor"));
|
||||||
|
status += WString(" ");
|
||||||
|
status += WString(k.keyID()) + WString(" :") + nl + nl;
|
||||||
|
status += WString(WString::tr("KeyStatusIsBad")) + sep + TexttualBool(k.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("KeyStatusIsNull")) + sep + TexttualBool(k.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("KeyStatusIsInvalid")) + sep + TexttualBool(k.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("KeyStatusIsDisabled")) + sep + TexttualBool(k.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("KeyStatusIsExpired")) + sep + TexttualBool(k.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("KeyStatusIsRevoked")) + sep + TexttualBool(k.isBad());
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
WString Tools::GetUidStatus(const GpgME::UserID& uid)
|
||||||
|
{
|
||||||
|
const WString nl("\n");
|
||||||
|
const WString sep(" : ");
|
||||||
|
WString status(WString::tr("UserStatus"));
|
||||||
|
status += WString(" :") + nl + nl;
|
||||||
|
status += WString(WString::tr("UserStatusIsBad")) + sep + TexttualBool(uid.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("UserStatusIsNull")) + sep + TexttualBool(uid.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("UserStatusIsInvalid")) + sep + TexttualBool(uid.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("UserStatusIsRevoked")) + sep + TexttualBool(uid.isBad());
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
WString Tools::GetSigStatus(const GpgME::UserID::Signature& sig)
|
||||||
|
{
|
||||||
|
const WString nl("\n");
|
||||||
|
const WString sep(" : ");
|
||||||
|
WString status(WString::tr("SigStatus"));
|
||||||
|
status += WString(" :") + nl + nl;
|
||||||
|
status += WString(WString::tr("SigStatusIsBad")) + sep + TexttualBool(sig.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("SigStatusIsNull")) + sep + TexttualBool(sig.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("SigStatusIsInvalid")) + sep + TexttualBool(sig.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("SigStatusIsExportable")) + sep + TexttualBool(sig.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("SigStatusIsExpired")) + sep + TexttualBool(sig.isBad()) + nl;
|
||||||
|
status += WString(WString::tr("SigStatusIsRevokation")) + sep + TexttualBool(sig.isBad());
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
6
Tools.h
6
Tools.h
@@ -38,6 +38,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
static int ToInt(const string& s);
|
static int ToInt(const string& s);
|
||||||
|
|
||||||
|
static WString TexttualBool(bool value);
|
||||||
|
|
||||||
|
static WString GetKeyStatus(const GpgME::Key& k);
|
||||||
|
static WString GetUidStatus(const GpgME::UserID& uid);
|
||||||
|
static WString GetSigStatus(const GpgME::UserID::Signature& sig);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -81,4 +81,27 @@
|
|||||||
<message id='CertificationFailure'>Key certification failed</message>
|
<message id='CertificationFailure'>Key certification failed</message>
|
||||||
|
|
||||||
<message id='PrepareCopy'>Click to be able to copy next</message>
|
<message id='PrepareCopy'>Click to be able to copy next</message>
|
||||||
|
|
||||||
|
<message id='KeyStatusFor'>Status for key</message>
|
||||||
|
<message id='KeyStatusIsBad'>Bad</message>
|
||||||
|
<message id='KeyStatusIsNull'>Null</message>
|
||||||
|
<message id='KeyStatusIsInvalid'>Invalid</message>
|
||||||
|
<message id='KeyStatusIsDisabled'>Disabled</message>
|
||||||
|
<message id='KeyStatusIsExpired'>Expired</message>
|
||||||
|
<message id='KeyStatusIsRevoked'>Revoked</message>
|
||||||
|
|
||||||
|
<message id='UserStatus'>User status</message>
|
||||||
|
<message id='UserStatusIsBad'>Bad</message>
|
||||||
|
<message id='UserStatusIsNull'>Null</message>
|
||||||
|
<message id='UserStatusIsInvalid'>Invalid</message>
|
||||||
|
<message id='UserStatusIsRevoked'>Revoked</message>
|
||||||
|
|
||||||
|
<message id='SigStatus'>Signature status</message>
|
||||||
|
<message id='SigStatusIsBad'>Bad</message>
|
||||||
|
<message id='SigStatusIsNull'>Null</message>
|
||||||
|
<message id='SigStatusIsInvalid'>Invalid</message>
|
||||||
|
<message id='SigStatusIsExportable'>Exportable</message>
|
||||||
|
<message id='SigStatusIsExpired'>Expired</message>
|
||||||
|
<message id='SigStatusIsRevokation'>Revokation</message>
|
||||||
|
|
||||||
</messages>
|
</messages>
|
||||||
@@ -81,4 +81,27 @@
|
|||||||
<message id='CertificationFailure'>Échec de certification de la clé</message>
|
<message id='CertificationFailure'>Échec de certification de la clé</message>
|
||||||
|
|
||||||
<message id='PrepareCopy'>Cliquez pour pouvoir ensuite copier</message>
|
<message id='PrepareCopy'>Cliquez pour pouvoir ensuite copier</message>
|
||||||
|
|
||||||
|
<message id='KeyStatusFor'>État de la clé</message>
|
||||||
|
<message id='KeyStatusIsBad'>Mauvais</message>
|
||||||
|
<message id='KeyStatusIsNull'>Null</message>
|
||||||
|
<message id='KeyStatusIsInvalid'>Invalide</message>
|
||||||
|
<message id='KeyStatusIsDisabled'>Désactivé</message>
|
||||||
|
<message id='KeyStatusIsExpired'>Expiré</message>
|
||||||
|
<message id='KeyStatusIsRevoked'>Revoqué</message>
|
||||||
|
|
||||||
|
<message id='UserStatus'>État de l'utilisateur</message>
|
||||||
|
<message id='UserStatusIsBad'>Mauvais</message>
|
||||||
|
<message id='UserStatusIsNull'>Null</message>
|
||||||
|
<message id='UserStatusIsInvalid'>Invalide</message>
|
||||||
|
<message id='UserStatusIsRevoked'>Revoqué</message>
|
||||||
|
|
||||||
|
<message id='SigStatus'>État de la signature</message>
|
||||||
|
<message id='SigStatusIsBad'>Mauvais</message>
|
||||||
|
<message id='SigStatusIsNull'>Null</message>
|
||||||
|
<message id='SigStatusIsInvalid'>Invalide</message>
|
||||||
|
<message id='SigStatusIsExportable'>Exportable</message>
|
||||||
|
<message id='SigStatusIsExpired'>Expiré</message>
|
||||||
|
<message id='SigStatusIsRevokation'>Revocation</message>
|
||||||
|
|
||||||
</messages>
|
</messages>
|
||||||
|
|||||||
Reference in New Issue
Block a user