emailuis/nmsettingui/src/nmmailboxsettingsmanager.cpp
changeset 75 47d84de1c893
parent 54 997a02608b3a
equal deleted inserted replaced
72:64e38f08e49c 75:47d84de1c893
    42   \return folder path list.
    42   \return folder path list.
    43 */
    43 */
    44 QStringList pluginFolders()
    44 QStringList pluginFolders()
    45 {
    45 {
    46     NM_FUNCTION;
    46     NM_FUNCTION;
    47     
    47 
    48     const QString nmSettingsPluginFolderPath("resource/qt/plugins/nmail/settings");
    48     const QString nmSettingsPluginFolderPath("resource/qt/plugins/nmail/settings");
    49     QStringList pluginDirectories;
    49     QStringList pluginDirectories;
    50     QFileInfoList driveList = QDir::drives();
    50     QFileInfoList driveList = QDir::drives();
    51 
    51 
    52     foreach(const QFileInfo &driveInfo, driveList) {
    52     foreach(const QFileInfo &driveInfo, driveList) {
    55 
    55 
    56         if (QFileInfo(pluginDirectory).exists()) {
    56         if (QFileInfo(pluginDirectory).exists()) {
    57             pluginDirectories.append(pluginDirectory);
    57             pluginDirectories.append(pluginDirectory);
    58         }
    58         }
    59     }
    59     }
    60     
    60 
    61     return pluginDirectories;
    61     return pluginDirectories;
    62 }
    62 }
    63 
    63 
    64 
    64 
    65 // ======== MEMBER FUNCTIONS ========
    65 // ======== MEMBER FUNCTIONS ========
    66 
    66 
    67 /*!
    67 /*!
    68     Contructor of NmMailboxSettingsManager.
    68     Contructor of NmMailboxSettingsManager.
    69 */
    69 */
    70 NmMailboxSettingsManager::NmMailboxSettingsManager()
    70 NmMailboxSettingsManager::NmMailboxSettingsManager()
    71 : mDataManager(0)
    71 : mDataManager(NULL)
    72 {
    72 {
    73     NM_FUNCTION;
    73     NM_FUNCTION;
    74     
    74 
    75     QScopedPointer<NmDataManager> dataManager(new NmDataManager());
    75     QScopedPointer<NmDataManager> dataManager(new NmDataManager());
    76     loadPlugins();
    76     loadPlugins();
    77     mDataManager = dataManager.take();
    77     mDataManager = dataManager.take();
    78 }
    78 }
    79 
    79 
    82     Destructor of NmMailboxSettingsManager.
    82     Destructor of NmMailboxSettingsManager.
    83 */
    83 */
    84 NmMailboxSettingsManager::~NmMailboxSettingsManager()
    84 NmMailboxSettingsManager::~NmMailboxSettingsManager()
    85 {
    85 {
    86     NM_FUNCTION;
    86     NM_FUNCTION;
    87     
    87 
    88     unloadPlugins();
    88     unloadPlugins();
    89     qDeleteAll(mPluginLoaders);
    89     qDeleteAll(mPluginLoaders);
    90     mPluginLoaders.clear();
    90     mPluginLoaders.clear();
    91     NmIcons::freeIcons();
    91     NmIcons::freeIcons();
    92     delete mDataManager;
    92     delete mDataManager;
   100 
   100 
   101 */
   101 */
   102 void NmMailboxSettingsManager::listMailboxes(QList<NmMailbox *> &mailboxList)
   102 void NmMailboxSettingsManager::listMailboxes(QList<NmMailbox *> &mailboxList)
   103 {
   103 {
   104     NM_FUNCTION;
   104     NM_FUNCTION;
   105     
   105 
   106     mDataManager->listMailboxes(mailboxList);
   106     mDataManager->listMailboxes(mailboxList);
   107 }
   107 }
   108 
   108 
   109 
   109 
   110 /*!
   110 /*!
   114     \return Icon for the mailbox.
   114     \return Icon for the mailbox.
   115 */
   115 */
   116 HbIcon &NmMailboxSettingsManager::mailboxIcon(const NmId &mailboxId) const
   116 HbIcon &NmMailboxSettingsManager::mailboxIcon(const NmId &mailboxId) const
   117 {
   117 {
   118     NM_FUNCTION;
   118     NM_FUNCTION;
   119     
   119 
   120     Q_UNUSED(mailboxId);
   120     Q_UNUSED(mailboxId);
   121     // TODO: use some branding feature when it is available.
   121     // TODO: use some branding feature when it is available.
   122     return NmIcons::getIcon(NmIcons::NmIconDefaultMailbox);
   122     return NmIcons::getIcon(NmIcons::NmIconDefaultMailbox);
   123 }
   123 }
   124 
   124 
   134 */
   134 */
   135 void NmMailboxSettingsManager::populateModel(HbDataFormModel &model,
   135 void NmMailboxSettingsManager::populateModel(HbDataFormModel &model,
   136     HbDataForm &form, const NmId &mailboxId) const
   136     HbDataForm &form, const NmId &mailboxId) const
   137 {
   137 {
   138     NM_FUNCTION;
   138     NM_FUNCTION;
   139     
   139 
   140     NmSettingsPluginInterface *plugin = 0;
   140     NmSettingsPluginInterface *plugin = NULL;
   141 
   141 
   142     foreach (QPluginLoader *loader, mPluginLoaders) {
   142     foreach (QPluginLoader *loader, mPluginLoaders) {
   143         QObject *pluginInstance = loader->instance();
   143         QObject *pluginInstance = loader->instance();
   144         plugin = qobject_cast<NmSettingsPluginInterface *>(pluginInstance);
   144         plugin = qobject_cast<NmSettingsPluginInterface *>(pluginInstance);
   145 
   145 
   180     to <code>/resource/qt/plugins/nmail/settings</code> folder.
   180     to <code>/resource/qt/plugins/nmail/settings</code> folder.
   181 */
   181 */
   182 void NmMailboxSettingsManager::loadPlugins()
   182 void NmMailboxSettingsManager::loadPlugins()
   183 {
   183 {
   184     NM_FUNCTION;
   184     NM_FUNCTION;
   185     
   185 
   186     QStringList directories(pluginFolders());
   186     QStringList directories(pluginFolders());
   187 
   187 
   188     foreach (const QString &directoryPath, directories) {
   188     foreach (const QString &directoryPath, directories) {
   189         QDir directory(directoryPath);
   189         QDir directory(directoryPath);
   190         QFileInfoList fileList(directory.entryInfoList());
   190         QFileInfoList fileList(directory.entryInfoList());
   203     Unloads plug-ins to ensure that the root component is deleted.
   203     Unloads plug-ins to ensure that the root component is deleted.
   204 */
   204 */
   205 void NmMailboxSettingsManager::unloadPlugins()
   205 void NmMailboxSettingsManager::unloadPlugins()
   206 {
   206 {
   207     NM_FUNCTION;
   207     NM_FUNCTION;
   208     
   208 
   209     foreach (QPluginLoader *loader, mPluginLoaders) {
   209     foreach (QPluginLoader *loader, mPluginLoaders) {
   210         loader->unload();
   210         loader->unload();
   211     }
   211     }
   212 }
   212 }
   213 
   213