diff -r 3255e7d5bd67 -r 989397f9511c cpsecplugins/cpadvancedsecplugin/src/advsecsettingssecuritymoduledetailview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpsecplugins/cpadvancedsecplugin/src/advsecsettingssecuritymoduledetailview.cpp Thu Oct 14 13:56:11 2010 +0300 @@ -0,0 +1,114 @@ +/* +* 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: Security module detail view in advanced security settings +* +*/ + +#include "advsecsettingssecuritymoduledetailview.h" +#include "advsecsettingssecuritymodulemodel.h" +#include +#include +#include +#include +#include +#include + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// AdvSecSettingsSecurityModuleDetailView::AdvSecSettingsSecurityModuleDetailView() +// --------------------------------------------------------------------------- +// +AdvSecSettingsSecurityModuleDetailView::AdvSecSettingsSecurityModuleDetailView( + AdvSecSettingsSecurityModuleModel &model, QGraphicsItem *parent) : + AdvSecSettingsViewBase(0, parent), mModel(model), mModuleIndex(0), + mViewLabel(0), mDetailsText(0) +{ + QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical); + + mViewLabel = new HbGroupBox; + layout->addItem(mViewLabel); + + HbScrollArea *scrollArea = new HbScrollArea; + mDetailsText = new HbLabel; + mDetailsText->setTextWrapping(Hb::TextWordWrap); + scrollArea->setContentWidget(mDetailsText); + scrollArea->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOn); + layout->addItem(scrollArea); + + setLayout(layout); + + connect(&mModel, SIGNAL(detailsCompleted(QMap)), + this, SLOT(detailsCompleted(QMap))); + connect(&mModel, SIGNAL(deleteCompleted()), + this, SLOT(displayPreviousView())); +} + +// --------------------------------------------------------------------------- +// AdvSecSettingsSecurityModuleDetailView::~AdvSecSettingsSecurityModuleDetailView() +// --------------------------------------------------------------------------- +// +AdvSecSettingsSecurityModuleDetailView::~AdvSecSettingsSecurityModuleDetailView() +{ +} + +// --------------------------------------------------------------------------- +// AdvSecSettingsSecurityModuleDetailView::setSecurityModule() +// --------------------------------------------------------------------------- +// +void AdvSecSettingsSecurityModuleDetailView::setSecurityModule(int index) +{ + mModuleIndex = index; + // TODO: remove + mDetailsText->setPlainText(tr("TODO: Add info for module %1").arg(index)); + + menu()->clearActions(); + if (mModel.isDeletable(index)) { + HbAction *deleteAction = new HbAction(hbTrId("txt_common_menu_delete")); + connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteSecurityModule())); + menu()->addAction(deleteAction); + } +} + +// --------------------------------------------------------------------------- +// AdvSecSettingsSecurityModuleDetailView::detailsCompleted() +// --------------------------------------------------------------------------- +// +void AdvSecSettingsSecurityModuleDetailView::detailsCompleted(QMap /*details*/) +{ + // TODO: implement +} + +// --------------------------------------------------------------------------- +// AdvSecSettingsSecurityModuleDetailView::deleteSecurityModule() +// --------------------------------------------------------------------------- +// +void AdvSecSettingsSecurityModuleDetailView::deleteSecurityModule() +{ + Q_ASSERT(mViewLabel != 0); + // TODO: localized UI string needed + QString confirmText(tr("Delete %1?").arg(mViewLabel->heading())); + displayQuestionNote(confirmText, this, SLOT(deleteConfirmationAccepted())); +} + +// --------------------------------------------------------------------------- +// AdvSecSettingsSecurityModuleDetailView::deleteConfirmationAccepted() +// --------------------------------------------------------------------------- +// +void AdvSecSettingsSecurityModuleDetailView::deleteConfirmationAccepted() +{ + mModel.deleteModule(mModuleIndex); +} +