diff -r 09b1ac925e3f -r 03674e5abf46 cpsecplugins/cpadvancedsecplugin/src/cpsecurityview.cpp --- a/cpsecplugins/cpadvancedsecplugin/src/cpsecurityview.cpp Tue Aug 31 16:04:40 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,388 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0"" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include <../../inc/cpsecplugins.h> - -#include "cpsecurityview.h" -#include "cpsecmodview.h" -#include "cpcertview.h" -#include "cpsecmodmodel.h" -#include "cpsecmoduleinfoview.h" - -CpSecurityView::CpSecurityView(QGraphicsItem *parent /*= 0*/) - : CpBaseSettingView(0,parent), - mSecModUIModel(NULL), - mSecModView(NULL), - mPreView(NULL), - mCertView(NULL), - mCurrentView(NULL), - mPos(0), - mNote(NULL) - { - RDEBUG("0", 0); - setTitle(hbTrId("txt_certificate_manager_setlabel_advanced_security")); - - std::auto_ptr layout(q_check_ptr(new QGraphicsLinearLayout(Qt::Vertical))); - HbListWidget* listCertView = q_check_ptr(new HbListWidget(this)); - - std::auto_ptr authcert(q_check_ptr(new HbListWidgetItem())); - authcert->setText(hbTrId("txt_certificate_manager_list_authority_certificate")); - - std::auto_ptr trustedsitecert(q_check_ptr(new HbListWidgetItem())); - trustedsitecert->setText(hbTrId("txt_certificate_manager_list_trusted_site_certific")); - - std::auto_ptr personalcert(q_check_ptr(new HbListWidgetItem())); - personalcert->setText(hbTrId("txt_certificate_manager_list_personal_certificates")); - - std::auto_ptr devicecert(q_check_ptr(new HbListWidgetItem())); - devicecert->setText(hbTrId("txt_certificate_manager_list_device_certificates")); - - listCertView->addItem(authcert.get()); - authcert.release(); - listCertView->addItem(trustedsitecert.get()); - trustedsitecert.release(); - listCertView->addItem(personalcert.get()); - personalcert.release(); - listCertView->addItem(devicecert.get()); - devicecert.release(); - - connect(listCertView, SIGNAL(released(QModelIndex)), this, SLOT(displayCert(QModelIndex))); - - HbListWidget* listSecView = q_check_ptr(new HbListWidget(this)); - QMap keystoreLabels; - RDEBUG("0", 0); - try - { - QT_TRAP_THROWING( - mSecModUIModel = CSecModUIModel::NewL(); - keystoreLabels = mSecModUIModel->LoadTokenLabelsL(); ) - } - catch(const std::exception& exception) - { - QString error(exception.what()); - HbMessageBox::information(error); - QT_RETHROW; - } - - QMapIterator labelIter(keystoreLabels); - if(keystoreLabels.count() != 0) - { - while(labelIter.hasNext()) - { - labelIter.next(); - std::auto_ptr widget(q_check_ptr(new HbListWidgetItem())); - widget->setText(labelIter.key()); - widget->setSecondaryText(labelIter.value()); - listSecView->addItem(widget.get()); - widget.release(); - } - connect(listSecView, SIGNAL(activated(QModelIndex)), this, SLOT(showCodeView(QModelIndex))); - connect(listSecView, SIGNAL(longPressed(HbAbstractViewItem*, QPointF )), this, SLOT(indicateLongPress(HbAbstractViewItem*, QPointF))); - } - else - { - std::auto_ptr emptyWidget(q_check_ptr(new HbListWidgetItem())); - emptyWidget->setText("(no security modules)"); - listSecView->addItem(emptyWidget.get()); - emptyWidget.release(); - } - RDEBUG("0", 0); - std::auto_ptr certificatesList(q_check_ptr(new HbGroupBox())); - certificatesList->setHeading(hbTrId("txt_certificate_manager_setlabel_certificates")); - certificatesList->setContentWidget(listCertView); - certificatesList->setCollapsed(true); - layout->addItem(certificatesList.get()); - certificatesList.release(); - - std::auto_ptr protectedContentList(q_check_ptr(new HbGroupBox())); - protectedContentList->setHeading("Protected Content"); - protectedContentList->setCollapsed(true); - layout->addItem(protectedContentList.get()); - protectedContentList.release(); - - std::auto_ptr securityModuleList(q_check_ptr(new HbGroupBox())); - securityModuleList->setHeading("Security Module"); - securityModuleList->setContentWidget(listSecView); - securityModuleList->setCollapsed(true); - layout->addItem(securityModuleList.get()); - securityModuleList.release(); - - mContextMenu = q_check_ptr(new HbMenu()); - - setLayout(layout.get()); - layout.release(); - } - - -CpSecurityView::~CpSecurityView() - { - if(mSecModView) - { - mSecModView->deleteLater(); - } - - if(mPreView) - { - mPreView->deleteLater(); - } - - if(mCertView) - { - mCertView->deleteLater(); - } - - if(mCurrentView) - { - mCurrentView->deleteLater(); - } - - delete mSecModUIModel; - - delete mNote; - delete mContextMenu; - } - -void CpSecurityView::showCodeView() - { - RDEBUG("0", 0); - try - { - mSecModView = q_check_ptr(new CpSecModView(mPos, *mSecModUIModel)); - QObject::connect(mSecModView , SIGNAL(aboutToClose()), this, SLOT(viewDone())); - mPreView = mainWindow()->currentView(); //suppose mPreView is member variable of CpSecurityView - mainWindow()->addView(mSecModView); - mainWindow()->setCurrentView(mSecModView); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } - -void CpSecurityView::showCodeView( const QModelIndex& aModelIndex) - { - mPos = aModelIndex.row(); - showCodeView(); - } - -void CpSecurityView::showWIMview() - { - RDEBUG("0", 0); - try - { - QObject::connect(mSecModView , SIGNAL(aboutToClose()), this, SLOT(viewDone())); - mPreView = mainWindow()->currentView(); //suppose mPreView is member variable of CpSecurityView - mainWindow()->addView(mSecModView); - mainWindow()->setCurrentView(mSecModView); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } - -void CpSecurityView::viewDone() - { - try - { - mainWindow()->removeView(mSecModView); - mSecModView->deleteLater(); - mSecModView= NULL; - mainWindow()->setCurrentView(mPreView); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } - -void CpSecurityView::displayCert(const QModelIndex& modelIndex) - { - RDEBUG("0", 0); - try - { - mCertView = q_check_ptr(new CpCertView(modelIndex)); - connect(mCertView , SIGNAL(aboutToClose()), this, SLOT(displayPrevious())); - mPreView = mainWindow()->currentView(); - mainWindow()->addView(mCertView); - mainWindow()->setCurrentView(mCertView); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } - -void CpSecurityView::displayPrevious() - { - RDEBUG("0", 0); - try - { - mainWindow()->removeView(mCertView); - mCertView->deleteLater(); - mCertView= NULL; - mainWindow()->setCurrentView(mPreView); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } - -void CpSecurityView::indicateLongPress(HbAbstractViewItem *item,QPointF coords) - { - RDEBUG("0", 0); - try - { - mContextMenu->clearActions(); - mPos = item->modelIndex().row(); - - std::auto_ptr openModule(q_check_ptr(new HbAction("Open"))); - connect(openModule.get(), SIGNAL(triggered()), this, SLOT( showCodeView())); - mContextMenu->addAction(openModule.get()); - openModule.release(); - - if(mSecModUIModel->IsTokenDeletable(mPos)) - { - std::auto_ptr deleteModule(q_check_ptr(new HbAction("Delete"))); - connect(deleteModule.get(), SIGNAL(triggered()), this, SLOT( deleteModule())); - mContextMenu->addAction(deleteModule.get()); - deleteModule.release(); - } - - std::auto_ptr moduleInfo(q_check_ptr(new HbAction("Module Info"))); - connect(moduleInfo.get(), SIGNAL(triggered()), this, SLOT( moduleDetails())); - mContextMenu->addAction(moduleInfo.get()); - moduleInfo.release(); - - mContextMenu->setPreferredPos(coords); - mContextMenu->open(); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } - -void CpSecurityView::deleteModule() - { - RDEBUG("0", 0); - try - { - - delete mNote; - mNote = NULL; - - mNote = new HbMessageBox(HbMessageBox::MessageTypeQuestion); - mNote->setHeadingWidget(q_check_ptr(new HbLabel(tr("Delete...")))); - mNote->setText("Delete keystore and password?"); - mNote->setPrimaryAction(q_check_ptr(new HbAction("Yes"))); - mNote->setSecondaryAction(q_check_ptr(new HbAction("No"))); - mNote->setTimeout(HbPopup::NoTimeout); - mNote->setIconVisible (EFalse); - mNote->open(this,SLOT(dialogClosed(HbAction*))); - } - catch(const std::exception& exception) - { - HbMessageBox *box = new HbMessageBox(exception.what()); - box->setAttribute(Qt::WA_DeleteOnClose); - box->open(); - } - -} -void CpSecurityView::dialogClosed(HbAction* action) -{ - RDEBUG("0", 0); - if (action != mNote->primaryAction()) - { - return; - } - - try - { - QT_TRAP_THROWING(mSecModUIModel->DeleteKeysL(mPos)); - } - catch(const std::exception& exception) - { - HbMessageBox *box = new HbMessageBox(exception.what()); - box->setAttribute(Qt::WA_DeleteOnClose); - box->open(); - } - } - -void CpSecurityView::moduleDetails() - { - RDEBUG("0", 0); - try - { - QVector< QPair > securityDetails; - QT_TRAP_THROWING(securityDetails = mSecModUIModel->SecModDetailsL(mPos)); - mModuleinfoView = q_check_ptr(new CpSecmoduleInfoView(securityDetails)); - - connect(mModuleinfoView , SIGNAL(aboutToClose()), this, SLOT(displayPreviousFromModInfo())); - mPreView = mainWindow()->currentView(); - mainWindow()->addView(mModuleinfoView); - mainWindow()->setCurrentView(mModuleinfoView); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } - -void CpSecurityView::displayPreviousFromModInfo() - { - RDEBUG("0", 0); - try - { - mainWindow()->removeView(mModuleinfoView); - mCertView->deleteLater(); - mCertView= NULL; - mainWindow()->setCurrentView(mPreView); - } - catch(const std::exception& exception) - { - HbMessageBox::information(exception.what()); - } - } -