From af8aca311a267b623cc336cdc4cf16fba3b254c8 Mon Sep 17 00:00:00 2001 From: nils Date: Sun, 8 Jan 2012 01:05:32 +0000 Subject: added member mkeylist to gpgcontext for use in getkeybyfpr and getkeybyid git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@730 34ebc366-c3a9-4b3c-9f84-69acf7962910 --- gpgcontext.cpp | 14 ++++++++++---- gpgcontext.h | 4 ++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gpgcontext.cpp b/gpgcontext.cpp index c06b4b5..14ee25b 100644 --- a/gpgcontext.cpp +++ b/gpgcontext.cpp @@ -96,6 +96,8 @@ GpgContext::GpgContext() debug = false; } + connect(this,SIGNAL(keyDBChanged()),this,SLOT(refreshKeyList())); + refreshKeyList(); } /** Destructor @@ -741,13 +743,17 @@ QString GpgContext::beautifyFingerprint(QString fingerprint) return fingerprint; } +void GpgContext::refreshKeyList() { + mKeyList = this->listKeys(); +} + /** * note: privkey status is not returned */ GpgKey GpgContext::getKeyByFpr(QString fpr) { - GpgKeyList list = this->listKeys(); - foreach (GpgKey key, list) { + //GpgKeyList list = this->listKeys(); + foreach (GpgKey key, mKeyList) { if(key.fpr == fpr) { return key; } @@ -762,8 +768,8 @@ GpgKey GpgContext::getKeyByFpr(QString fpr) { */ GpgKey GpgContext::getKeyById(QString id) { - GpgKeyList list = this->listKeys(); - foreach (GpgKey key, list) { + //GpgKeyList list = this->listKeys(); + foreach (GpgKey key, mKeyList) { if(key.id == id) { return key; } diff --git a/gpgcontext.h b/gpgcontext.h index b442142..54ddb12 100644 --- a/gpgcontext.h +++ b/gpgcontext.h @@ -149,6 +149,9 @@ public: signals: void keyDBChanged(); +private slots: + void refreshKeyList(); + private: gpgme_ctx_t mCtx; gpgme_data_t in, out; @@ -157,6 +160,7 @@ private: QByteArray mPasswordCache; QSettings settings; bool debug; + GpgKeyList mKeyList; int checkErr(gpgme_error_t err) const; int checkErr(gpgme_error_t err, QString comment) const; -- cgit v1.2.3