26 #include <hbdataform.h> |
26 #include <hbdataform.h> |
27 #include <hbdataformmodel.h> |
27 #include <hbdataformmodel.h> |
28 #include <hbdataformmodelitem.h> |
28 #include <hbdataformmodelitem.h> |
29 #include <hblabel.h> |
29 #include <hblabel.h> |
30 #include <hbpushbutton.h> |
30 #include <hbpushbutton.h> |
31 #include <HbMenu.h> |
31 #include <hbmenu.h> |
32 #include <hbaction.h> |
32 #include <hbaction.h> |
33 #include <HbMessageBox.h> |
33 #include <hbmessagebox.h> |
34 #include <HbListWidget> |
34 #include <HbListWidget> |
35 #include <HbListWidgetItem> |
35 #include <HbListWidgetItem> |
36 #include <HbGroupBox> |
36 #include <HbGroupBox> |
37 #include <hbpushbutton.h> |
37 #include <hbpushbutton.h> |
38 #include <hbmainwindow.h> |
38 #include <hbmainwindow.h> |
39 #include <hbabstractviewitem.h> |
39 #include <hbabstractviewitem.h> |
40 #include <HbMessageBox> |
40 #include <HbMessageBox> |
41 |
41 |
42 #include <memory> |
42 #include <memory> |
43 |
43 |
|
44 #include <../../inc/cpsecplugins.h> |
|
45 |
44 #include "cpsecurityview.h" |
46 #include "cpsecurityview.h" |
45 #include "cpsecmodview.h" |
47 #include "cpsecmodview.h" |
46 #include "cpcertview.h" |
48 #include "cpcertview.h" |
47 #include "cpsecmodmodel.h" |
49 #include "cpsecmodmodel.h" |
48 #include "cpsecmoduleinfoview.h" |
50 #include "cpsecmoduleinfoview.h" |
120 std::auto_ptr<HbListWidgetItem> emptyWidget(q_check_ptr(new HbListWidgetItem())); |
124 std::auto_ptr<HbListWidgetItem> emptyWidget(q_check_ptr(new HbListWidgetItem())); |
121 emptyWidget->setText("(no security modules)"); |
125 emptyWidget->setText("(no security modules)"); |
122 listSecView->addItem(emptyWidget.get()); |
126 listSecView->addItem(emptyWidget.get()); |
123 emptyWidget.release(); |
127 emptyWidget.release(); |
124 } |
128 } |
125 |
129 RDEBUG("0", 0); |
126 std::auto_ptr<HbGroupBox> certificatesList(q_check_ptr(new HbGroupBox())); |
130 std::auto_ptr<HbGroupBox> certificatesList(q_check_ptr(new HbGroupBox())); |
127 certificatesList->setHeading(hbTrId("txt_certificate_manager_setlabel_certificates")); |
131 certificatesList->setHeading(hbTrId("txt_certificate_manager_setlabel_certificates")); |
128 certificatesList->setContentWidget(listCertView); |
132 certificatesList->setContentWidget(listCertView); |
129 certificatesList->setCollapsed(true); |
133 certificatesList->setCollapsed(true); |
130 layout->addItem(certificatesList.get()); |
134 layout->addItem(certificatesList.get()); |
141 securityModuleList->setContentWidget(listSecView); |
145 securityModuleList->setContentWidget(listSecView); |
142 securityModuleList->setCollapsed(true); |
146 securityModuleList->setCollapsed(true); |
143 layout->addItem(securityModuleList.get()); |
147 layout->addItem(securityModuleList.get()); |
144 securityModuleList.release(); |
148 securityModuleList.release(); |
145 |
149 |
|
150 mContextMenu = q_check_ptr(new HbMenu()); |
|
151 |
146 setLayout(layout.get()); |
152 setLayout(layout.get()); |
147 layout.release(); |
153 layout.release(); |
148 } |
154 } |
149 |
155 |
150 |
156 |
151 CpSecurityView::~CpSecurityView() |
157 CpSecurityView::~CpSecurityView() |
152 { |
158 { |
153 if(mSecModView) |
159 if(mSecModView) |
154 { |
160 { |
155 mSecModView->deleteLater(); |
161 mSecModView->deleteLater(); |
156 mSecModView= NULL; |
|
157 } |
162 } |
158 |
163 |
159 if(mPreView) |
164 if(mPreView) |
160 { |
165 { |
161 mPreView->deleteLater(); |
166 mPreView->deleteLater(); |
162 mPreView= NULL; |
|
163 } |
167 } |
164 |
168 |
165 if(mCertView) |
169 if(mCertView) |
166 { |
170 { |
167 mCertView->deleteLater(); |
171 mCertView->deleteLater(); |
168 mCertView= NULL; |
|
169 } |
172 } |
170 |
173 |
171 if(mCurrentView) |
174 if(mCurrentView) |
172 { |
175 { |
173 mCurrentView->deleteLater(); |
176 mCurrentView->deleteLater(); |
174 mCurrentView= NULL; |
|
175 } |
177 } |
176 |
178 |
177 delete mSecModUIModel; |
179 delete mSecModUIModel; |
178 mSecModUIModel = NULL; |
180 |
|
181 delete mNote; |
|
182 delete mContextMenu; |
179 } |
183 } |
180 |
184 |
181 void CpSecurityView::showCodeView() |
185 void CpSecurityView::showCodeView() |
182 { |
186 { |
|
187 RDEBUG("0", 0); |
183 try |
188 try |
184 { |
189 { |
185 mSecModView = q_check_ptr(new CpSecModView(mPos, *mSecModUIModel)); |
190 mSecModView = q_check_ptr(new CpSecModView(mPos, *mSecModUIModel)); |
186 QObject::connect(mSecModView , SIGNAL(aboutToClose()), this, SLOT(viewDone())); |
191 QObject::connect(mSecModView , SIGNAL(aboutToClose()), this, SLOT(viewDone())); |
187 mPreView = mainWindow()->currentView(); //suppose mPreView is member variable of CpSecurityView |
192 mPreView = mainWindow()->currentView(); //suppose mPreView is member variable of CpSecurityView |
261 } |
269 } |
262 } |
270 } |
263 |
271 |
264 void CpSecurityView::indicateLongPress(HbAbstractViewItem *item,QPointF coords) |
272 void CpSecurityView::indicateLongPress(HbAbstractViewItem *item,QPointF coords) |
265 { |
273 { |
266 try |
274 RDEBUG("0", 0); |
267 { |
275 try |
268 std::auto_ptr<HbMenu> contextMenu(q_check_ptr(new HbMenu())); |
276 { |
|
277 mContextMenu->clearActions(); |
269 mPos = item->modelIndex().row(); |
278 mPos = item->modelIndex().row(); |
270 |
279 |
271 std::auto_ptr<HbAction> openModule(q_check_ptr(new HbAction("Open"))); |
280 std::auto_ptr<HbAction> openModule(q_check_ptr(new HbAction("Open"))); |
272 connect(openModule.get(), SIGNAL(triggered()), this, SLOT( showCodeView())); |
281 connect(openModule.get(), SIGNAL(triggered()), this, SLOT( showCodeView())); |
273 contextMenu->addAction(openModule.get()); |
282 mContextMenu->addAction(openModule.get()); |
274 openModule.release(); |
283 openModule.release(); |
275 |
284 |
276 if(mSecModUIModel->IsTokenDeletable(mPos)) |
285 if(mSecModUIModel->IsTokenDeletable(mPos)) |
277 { |
286 { |
278 std::auto_ptr<HbAction> deleteModule(q_check_ptr(new HbAction("Delete"))); |
287 std::auto_ptr<HbAction> deleteModule(q_check_ptr(new HbAction("Delete"))); |
279 connect(deleteModule.get(), SIGNAL(triggered()), this, SLOT( deleteModule())); |
288 connect(deleteModule.get(), SIGNAL(triggered()), this, SLOT( deleteModule())); |
280 contextMenu->addAction(deleteModule.get()); |
289 mContextMenu->addAction(deleteModule.get()); |
281 deleteModule.release(); |
290 deleteModule.release(); |
282 } |
291 } |
283 |
292 |
284 std::auto_ptr<HbAction> moduleInfo(q_check_ptr(new HbAction("Module Info"))); |
293 std::auto_ptr<HbAction> moduleInfo(q_check_ptr(new HbAction("Module Info"))); |
285 connect(moduleInfo.get(), SIGNAL(triggered()), this, SLOT( moduleDetails())); |
294 connect(moduleInfo.get(), SIGNAL(triggered()), this, SLOT( moduleDetails())); |
286 contextMenu->addAction(moduleInfo.get()); |
295 mContextMenu->addAction(moduleInfo.get()); |
287 moduleInfo.release(); |
296 moduleInfo.release(); |
288 |
297 |
289 contextMenu->open(); |
298 mContextMenu->setPreferredPos(coords); |
290 contextMenu->setPreferredPos(coords); |
299 mContextMenu->open(); |
291 } |
300 } |
292 catch(const std::exception& exception) |
301 catch(const std::exception& exception) |
293 { |
302 { |
294 HbMessageBox::information(exception.what()); |
303 HbMessageBox::information(exception.what()); |
295 } |
304 } |
296 } |
305 } |
297 |
306 |
298 void CpSecurityView::deleteModule() |
307 void CpSecurityView::deleteModule() |
299 { |
308 { |
300 try |
309 RDEBUG("0", 0); |
301 { |
310 try |
302 HbMessageBox note(HbMessageBox::MessageTypeQuestion); |
311 { |
303 note.setHeadingWidget(q_check_ptr(new HbLabel(tr("Delete...")))); |
312 |
304 note.setText("Delete keystore and password?"); |
313 delete mNote; |
305 note.setPrimaryAction(q_check_ptr(new HbAction("Yes"))); |
314 mNote = NULL; |
306 note.setSecondaryAction(q_check_ptr(new HbAction("No"))); |
315 |
307 note.setTimeout(HbPopup::NoTimeout); |
316 mNote = new HbMessageBox(HbMessageBox::MessageTypeQuestion); |
308 note.setIconVisible (EFalse); |
317 mNote->setHeadingWidget(q_check_ptr(new HbLabel(tr("Delete...")))); |
309 HbAction* result = note.exec(); |
318 mNote->setText("Delete keystore and password?"); |
310 |
319 mNote->setPrimaryAction(q_check_ptr(new HbAction("Yes"))); |
311 if (result != note.primaryAction()) |
320 mNote->setSecondaryAction(q_check_ptr(new HbAction("No"))); |
312 { |
321 mNote->setTimeout(HbPopup::NoTimeout); |
313 return; |
322 mNote->setIconVisible (EFalse); |
314 } |
323 mNote->open(this,SLOT(dialogClosed(HbAction*))); |
315 |
324 } |
|
325 catch(const std::exception& exception) |
|
326 { |
|
327 HbMessageBox *box = new HbMessageBox(exception.what()); |
|
328 box->setAttribute(Qt::WA_DeleteOnClose); |
|
329 box->open(); |
|
330 } |
|
331 |
|
332 } |
|
333 void CpSecurityView::dialogClosed(HbAction* action) |
|
334 { |
|
335 RDEBUG("0", 0); |
|
336 if (action != mNote->primaryAction()) |
|
337 { |
|
338 return; |
|
339 } |
|
340 |
|
341 try |
|
342 { |
316 QT_TRAP_THROWING(mSecModUIModel->DeleteKeysL(mPos)); |
343 QT_TRAP_THROWING(mSecModUIModel->DeleteKeysL(mPos)); |
317 } |
344 } |
318 catch(const std::exception& exception) |
345 catch(const std::exception& exception) |
319 { |
346 { |
320 HbMessageBox::information(exception.what()); |
347 HbMessageBox *box = new HbMessageBox(exception.what()); |
321 } |
348 box->setAttribute(Qt::WA_DeleteOnClose); |
322 // refresh current view |
349 box->open(); |
|
350 } |
323 } |
351 } |
324 |
352 |
325 void CpSecurityView::moduleDetails() |
353 void CpSecurityView::moduleDetails() |
326 { |
354 { |
|
355 RDEBUG("0", 0); |
327 try |
356 try |
328 { |
357 { |
329 QVector< QPair<QString,QString> > securityDetails; |
358 QVector< QPair<QString,QString> > securityDetails; |
330 QT_TRAP_THROWING(securityDetails = mSecModUIModel->SecModDetailsL(mPos)); |
359 QT_TRAP_THROWING(securityDetails = mSecModUIModel->SecModDetailsL(mPos)); |
331 mModuleinfoView = q_check_ptr(new CpSecmoduleInfoView(securityDetails)); |
360 mModuleinfoView = q_check_ptr(new CpSecmoduleInfoView(securityDetails)); |