diff -r 6c59112cfd31 -r 38bf5461e270 ipsservices/nmimapclientplugin/src/nmimapclientplugin.cpp --- 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();