ipsservices/nmimapclientplugin/src/nmimapclientplugin.cpp
changeset 76 38bf5461e270
parent 51 d845db10c0d4
--- a/ipsservices/nmimapclientplugin/src/nmimapclientplugin.cpp	Thu Sep 30 11:43:07 2010 +0300
+++ b/ipsservices/nmimapclientplugin/src/nmimapclientplugin.cpp	Thu Oct 14 17:33:43 2010 +0300
@@ -146,16 +146,32 @@
 }
 
 /*!
+    Public method to access from extensionmanager to launch settings.
+    Opens mailbox settings.
+ */
+void NmImapClientPlugin::launchSettings(const NmId &mailboxId)
+{
+    NMLOG("NmImapClientPlugin::launchSettings()-->");
+    // Check if this request is for the IMAP protocol.
+    if (mailboxId.pluginId32() == this->pluginId()) {
+        settings(mailboxId);
+    }
+}
+
+/*!
     Slot connected to options menu settings NmAction.
     Opens mailbox settings.
  */
-void NmImapClientPlugin::settings()
+void NmImapClientPlugin::settings(const NmId &mailboxId)
 {
     NMLOG("NmImapClientPlugin::settings()-->");
-
-    const NmId &id = mMenuRequest.mailboxId();
-    NmMailboxMetaData *mailbox = mUiEngine->mailboxById(id);
-
+    
+    NmId id = mMenuRequest.mailboxId();
+    if (mailboxId.id()) {
+        id = mailboxId;
+    }
+    NmMailboxMetaData *mailbox = mUiEngine->mailboxById(id);    
+    
     if (mailbox) {
         if (!mSettingsViewLauncher) {
             mSettingsViewLauncher = new NmSettingsViewLauncher();