equal
deleted
inserted
replaced
41 Creates list of folder paths where plug-ins can be loaded from. |
41 Creates list of folder paths where plug-ins can be loaded from. |
42 \return folder path list. |
42 \return folder path list. |
43 */ |
43 */ |
44 QStringList pluginFolders() |
44 QStringList pluginFolders() |
45 { |
45 { |
46 NMLOG(QString("NmMailboxSettingsManager - HELPER FUNCTIONS - pluginFolders")); |
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 NMLOG(QString("NmMailboxSettingsManager - HELPER FUNCTIONS - pluginFolders - OK")); |
|
62 return pluginDirectories; |
61 return pluginDirectories; |
63 } |
62 } |
64 |
63 |
65 |
64 |
66 // ======== MEMBER FUNCTIONS ======== |
65 // ======== MEMBER FUNCTIONS ======== |
69 Contructor of NmMailboxSettingsManager. |
68 Contructor of NmMailboxSettingsManager. |
70 */ |
69 */ |
71 NmMailboxSettingsManager::NmMailboxSettingsManager() |
70 NmMailboxSettingsManager::NmMailboxSettingsManager() |
72 : mDataManager(0) |
71 : mDataManager(0) |
73 { |
72 { |
|
73 NM_FUNCTION; |
|
74 |
74 QScopedPointer<NmDataManager> dataManager(new NmDataManager()); |
75 QScopedPointer<NmDataManager> dataManager(new NmDataManager()); |
75 loadPlugins(); |
76 loadPlugins(); |
76 mDataManager = dataManager.take(); |
77 mDataManager = dataManager.take(); |
77 } |
78 } |
78 |
79 |
80 /*! |
81 /*! |
81 Destructor of NmMailboxSettingsManager. |
82 Destructor of NmMailboxSettingsManager. |
82 */ |
83 */ |
83 NmMailboxSettingsManager::~NmMailboxSettingsManager() |
84 NmMailboxSettingsManager::~NmMailboxSettingsManager() |
84 { |
85 { |
|
86 NM_FUNCTION; |
|
87 |
85 unloadPlugins(); |
88 unloadPlugins(); |
86 qDeleteAll(mPluginLoaders); |
89 qDeleteAll(mPluginLoaders); |
87 mPluginLoaders.clear(); |
90 mPluginLoaders.clear(); |
88 NmIcons::freeIcons(); |
91 NmIcons::freeIcons(); |
89 delete mDataManager; |
92 delete mDataManager; |
96 \param mailboxList List to be popuplated with mailbox entries. |
99 \param mailboxList List to be popuplated with mailbox entries. |
97 |
100 |
98 */ |
101 */ |
99 void NmMailboxSettingsManager::listMailboxes(QList<NmMailbox *> &mailboxList) |
102 void NmMailboxSettingsManager::listMailboxes(QList<NmMailbox *> &mailboxList) |
100 { |
103 { |
|
104 NM_FUNCTION; |
|
105 |
101 mDataManager->listMailboxes(mailboxList); |
106 mDataManager->listMailboxes(mailboxList); |
102 } |
107 } |
103 |
108 |
104 |
109 |
105 /*! |
110 /*! |
108 \param mailboxId Id of the mailbox. |
113 \param mailboxId Id of the mailbox. |
109 \return Icon for the mailbox. |
114 \return Icon for the mailbox. |
110 */ |
115 */ |
111 HbIcon &NmMailboxSettingsManager::mailboxIcon(const NmId &mailboxId) const |
116 HbIcon &NmMailboxSettingsManager::mailboxIcon(const NmId &mailboxId) const |
112 { |
117 { |
|
118 NM_FUNCTION; |
|
119 |
113 Q_UNUSED(mailboxId); |
120 Q_UNUSED(mailboxId); |
114 // TODO: use some branding feature when it is available. |
121 // TODO: use some branding feature when it is available. |
115 return NmIcons::getIcon(NmIcons::NmIconDefaultMailbox); |
122 return NmIcons::getIcon(NmIcons::NmIconDefaultMailbox); |
116 } |
123 } |
117 |
124 |
126 the model. |
133 the model. |
127 */ |
134 */ |
128 void NmMailboxSettingsManager::populateModel(HbDataFormModel &model, |
135 void NmMailboxSettingsManager::populateModel(HbDataFormModel &model, |
129 HbDataForm &form, const NmId &mailboxId) const |
136 HbDataForm &form, const NmId &mailboxId) const |
130 { |
137 { |
131 NMLOG(QString("NmMailboxSettingsManager::populateModel")); |
138 NM_FUNCTION; |
132 |
139 |
133 NmSettingsPluginInterface *plugin = 0; |
140 NmSettingsPluginInterface *plugin = 0; |
134 |
141 |
135 foreach (QPluginLoader *loader, mPluginLoaders) { |
142 foreach (QPluginLoader *loader, mPluginLoaders) { |
136 QObject *pluginInstance = loader->instance(); |
143 QObject *pluginInstance = loader->instance(); |
137 plugin = qobject_cast<NmSettingsPluginInterface *>(pluginInstance); |
144 plugin = qobject_cast<NmSettingsPluginInterface *>(pluginInstance); |
163 pluginInstance, SLOT(aboutToClose())); |
170 pluginInstance, SLOT(aboutToClose())); |
164 |
171 |
165 break; |
172 break; |
166 } |
173 } |
167 } |
174 } |
168 NMLOG(QString("NmMailboxSettingsManager::populateModel - OK")); |
|
169 } |
175 } |
170 |
176 |
171 |
177 |
172 /*! |
178 /*! |
173 Loads plug-ins which implements NmSettingsPluginInterface and are registered |
179 Loads plug-ins which implements NmSettingsPluginInterface and are registered |
174 to <code>/resource/qt/plugins/nmail/settings</code> folder. |
180 to <code>/resource/qt/plugins/nmail/settings</code> folder. |
175 */ |
181 */ |
176 void NmMailboxSettingsManager::loadPlugins() |
182 void NmMailboxSettingsManager::loadPlugins() |
177 { |
183 { |
178 NMLOG(QString("NmMailboxSettingsManager::loadPlugins")); |
184 NM_FUNCTION; |
179 |
185 |
180 QStringList directories(pluginFolders()); |
186 QStringList directories(pluginFolders()); |
181 |
187 |
182 foreach (const QString &directoryPath, directories) { |
188 foreach (const QString &directoryPath, directories) { |
183 QDir directory(directoryPath); |
189 QDir directory(directoryPath); |
184 QFileInfoList fileList(directory.entryInfoList()); |
190 QFileInfoList fileList(directory.entryInfoList()); |
188 new QPluginLoader(fileInfo.absoluteFilePath())); |
194 new QPluginLoader(fileInfo.absoluteFilePath())); |
189 mPluginLoaders.append(loader.data()); |
195 mPluginLoaders.append(loader.data()); |
190 loader.take(); |
196 loader.take(); |
191 } |
197 } |
192 } |
198 } |
193 |
|
194 NMLOG(QString("NmMailboxSettingsManager::loadPlugins - OK")); |
|
195 } |
199 } |
196 |
200 |
197 |
201 |
198 /*! |
202 /*! |
199 Unloads plug-ins to ensure that the root component is deleted. |
203 Unloads plug-ins to ensure that the root component is deleted. |
200 */ |
204 */ |
201 void NmMailboxSettingsManager::unloadPlugins() |
205 void NmMailboxSettingsManager::unloadPlugins() |
202 { |
206 { |
203 NMLOG(QString("NmMailboxSettingsManager::unloadPlugins")); |
207 NM_FUNCTION; |
204 |
208 |
205 foreach (QPluginLoader *loader, mPluginLoaders) { |
209 foreach (QPluginLoader *loader, mPluginLoaders) { |
206 loader->unload(); |
210 loader->unload(); |
207 } |
211 } |
208 |
|
209 NMLOG(QString("NmMailboxSettingsManager::unloadPlugins - OK")); |
|
210 } |
212 } |
211 |
213 |
212 // End of file. |
214 // End of file. |