diff --git a/src/models/keycache.h b/src/models/keycache.h --- a/src/models/keycache.h +++ b/src/models/keycache.h @@ -131,6 +131,9 @@ std::vector findIssuers(const std::vector &keys, Options options = RecursiveSearch) const; std::vector findIssuers(std::vector::const_iterator first, std::vector::const_iterator last, Options options = RecursiveSearch) const; + /** Check if at least one keylisting was finished. */ + bool initialized() const; + public Q_SLOTS: void clear(); void startKeyListing(GpgME::Protocol proto = GpgME::UnknownProtocol) diff --git a/src/models/keycache.cpp b/src/models/keycache.cpp --- a/src/models/keycache.cpp +++ b/src/models/keycache.cpp @@ -105,7 +105,7 @@ friend class ::Kleo::KeyCache; KeyCache *const q; public: - explicit Private(KeyCache *qq) : q(qq) + explicit Private(KeyCache *qq) : q(qq), m_initalized(false) { connect(&m_autoKeyListingTimer, SIGNAL(timeout()), q, SLOT(startKeyListing())); updateAutoKeyListingTimer(); @@ -199,6 +199,7 @@ std::vector< std::pair > email; std::vector subkeyid; } by; + bool m_initalized; }; shared_ptr KeyCache::instance() @@ -273,6 +274,7 @@ { Q_EMIT q->keyListingDone(result); q->enableFileSystemWatcher(true); + m_initalized = true; } const Key &KeyCache::findByFingerprint(const char *fpr) const @@ -1059,6 +1061,11 @@ return error; } +bool KeyCache::initialized() const +{ + return d->m_initalized; +} + #include "moc_keycache_p.cpp" #include "moc_keycache.cpp"