---
lib/signond/SignOn/secure-storage-ui.h | 4 +++-
src/signond/credentialsaccessmanager.cpp | 9 +++++++++
src/signond/credentialsaccessmanager.h | 1 +
src/signond/signonui_interface.cpp | 3 +++
src/signond/signonui_interface.h | 1 +
5 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/lib/signond/SignOn/secure-storage-ui.h
b/lib/signond/SignOn/secure-storage-ui.h
index 3d99f4a..3a3be49 100644
--- a/lib/signond/SignOn/secure-storage-ui.h
+++ b/lib/signond/SignOn/secure-storage-ui.h
@@ -58,8 +58,10 @@ enum UiInteractionType
*/
enum UiReplyType
{
- ClearPasswordsStorage, /**< User decides to clear the passwords'
+ ClearPasswordsStorage = 0, /**< User decides to clear the passwords'
storage. */
+ NoKeyPresentAccepted, /**< User has accepted the notification about
+ unavailability of storage keys. */
UiRejected, /**< Ui closed by user. */
};
diff --git a/src/signond/credentialsaccessmanager.cpp
b/src/signond/credentialsaccessmanager.cpp
index 489c707..f837fbe 100644
--- a/src/signond/credentialsaccessmanager.cpp
+++ b/src/signond/credentialsaccessmanager.cpp
@@ -478,6 +478,9 @@ void CredentialsAccessManager::onKeyDisabled(const
SignOn::Key key)
}
connect(m_secureStorageUiAdaptor,
+ SIGNAL(noKeyPresentAccepted()),
+ SLOT(onNoKeyPresentAccepted()));
+ connect(m_secureStorageUiAdaptor,
SIGNAL(uiClosed()),
SLOT(onSecureStorageUiClosed()));
connect(m_secureStorageUiAdaptor,
@@ -648,6 +651,12 @@ QSet<SignOn::Key>
CredentialsAccessManager::authorizedInsertedKeys() const
intersect(authorizedKeys.toSet());
}
+void CredentialsAccessManager::onNoKeyPresentAccepted()
+{
+ onSecureStorageUiClosed();
+ setCoreKeyAuthorizationMech(AuthorizedKeyRemovedFirst);
+}
+
void CredentialsAccessManager::onClearPasswordsStorage()
{
if (insertedKeys.isEmpty()) {
diff --git a/src/signond/credentialsaccessmanager.h
b/src/signond/credentialsaccessmanager.h
index fc326c8..5429c7b 100644
--- a/src/signond/credentialsaccessmanager.h
+++ b/src/signond/credentialsaccessmanager.h
@@ -316,6 +316,7 @@ private Q_SLOTS:
void onKeyAuthorized(const SignOn::Key key, bool authorized);
void onClearPasswordsStorage();
void onSecureStorageUiClosed();
+ void onNoKeyPresentAccepted();
protected:
void customEvent(QEvent *event);
diff --git a/src/signond/signonui_interface.cpp
b/src/signond/signonui_interface.cpp
index 4ec4186..8183d90 100644
--- a/src/signond/signonui_interface.cpp
+++ b/src/signond/signonui_interface.cpp
@@ -196,6 +196,9 @@ void
SignonSecureStorageUiAdaptor::callFinished(QDBusPendingCallWatcher *call)
}
switch (replyType) {
+ case SignOn::NoKeyPresentAccepted:
+ emit noKeyPresentAccepted();
+ break;
case SignOn::ClearPasswordsStorage:
emit clearPasswordsStorage();
break;
diff --git a/src/signond/signonui_interface.h b/src/signond/signonui_interface.h
index d90d83e..4e6c674 100644
--- a/src/signond/signonui_interface.h
+++ b/src/signond/signonui_interface.h
@@ -85,6 +85,7 @@ public:
void closeUi();
Q_SIGNALS:
+ void noKeyPresentAccepted();
void clearPasswordsStorage();
void uiClosed();
void error();
--
1.6.3.3
_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev
http://wiki.meego.com/Mailing_list_guidelines