cpsecplugins/cpadvancedsecplugin/src/advsecsettingssecuritymoduledetailview.cpp
author hgs
Thu, 14 Oct 2010 13:56:11 +0300
changeset 63 989397f9511c
permissions -rw-r--r--
201039_03
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
63
989397f9511c 201039_03
hgs
parents:
diff changeset
     1
/*
989397f9511c 201039_03
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
989397f9511c 201039_03
hgs
parents:
diff changeset
     3
* All rights reserved.
989397f9511c 201039_03
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
989397f9511c 201039_03
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0""
989397f9511c 201039_03
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
989397f9511c 201039_03
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
989397f9511c 201039_03
hgs
parents:
diff changeset
     8
*
989397f9511c 201039_03
hgs
parents:
diff changeset
     9
* Initial Contributors:
989397f9511c 201039_03
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
989397f9511c 201039_03
hgs
parents:
diff changeset
    11
*
989397f9511c 201039_03
hgs
parents:
diff changeset
    12
* Contributors:
989397f9511c 201039_03
hgs
parents:
diff changeset
    13
*
989397f9511c 201039_03
hgs
parents:
diff changeset
    14
* Description:  Security module detail view in advanced security settings
989397f9511c 201039_03
hgs
parents:
diff changeset
    15
*
989397f9511c 201039_03
hgs
parents:
diff changeset
    16
*/
989397f9511c 201039_03
hgs
parents:
diff changeset
    17
989397f9511c 201039_03
hgs
parents:
diff changeset
    18
#include "advsecsettingssecuritymoduledetailview.h"
989397f9511c 201039_03
hgs
parents:
diff changeset
    19
#include "advsecsettingssecuritymodulemodel.h"
989397f9511c 201039_03
hgs
parents:
diff changeset
    20
#include <QGraphicsLinearLayout>
989397f9511c 201039_03
hgs
parents:
diff changeset
    21
#include <HbGroupBox>
989397f9511c 201039_03
hgs
parents:
diff changeset
    22
#include <HbScrollArea>
989397f9511c 201039_03
hgs
parents:
diff changeset
    23
#include <HbMenu>
989397f9511c 201039_03
hgs
parents:
diff changeset
    24
#include <HbAction>
989397f9511c 201039_03
hgs
parents:
diff changeset
    25
#include <HbLabel>
989397f9511c 201039_03
hgs
parents:
diff changeset
    26
989397f9511c 201039_03
hgs
parents:
diff changeset
    27
989397f9511c 201039_03
hgs
parents:
diff changeset
    28
// ======== MEMBER FUNCTIONS ========
989397f9511c 201039_03
hgs
parents:
diff changeset
    29
989397f9511c 201039_03
hgs
parents:
diff changeset
    30
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    31
// AdvSecSettingsSecurityModuleDetailView::AdvSecSettingsSecurityModuleDetailView()
989397f9511c 201039_03
hgs
parents:
diff changeset
    32
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    33
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    34
AdvSecSettingsSecurityModuleDetailView::AdvSecSettingsSecurityModuleDetailView(
989397f9511c 201039_03
hgs
parents:
diff changeset
    35
    AdvSecSettingsSecurityModuleModel &model, QGraphicsItem *parent) :
989397f9511c 201039_03
hgs
parents:
diff changeset
    36
    AdvSecSettingsViewBase(0, parent), mModel(model), mModuleIndex(0),
989397f9511c 201039_03
hgs
parents:
diff changeset
    37
    mViewLabel(0), mDetailsText(0)
989397f9511c 201039_03
hgs
parents:
diff changeset
    38
{
989397f9511c 201039_03
hgs
parents:
diff changeset
    39
    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
989397f9511c 201039_03
hgs
parents:
diff changeset
    40
989397f9511c 201039_03
hgs
parents:
diff changeset
    41
    mViewLabel = new HbGroupBox;
989397f9511c 201039_03
hgs
parents:
diff changeset
    42
    layout->addItem(mViewLabel);
989397f9511c 201039_03
hgs
parents:
diff changeset
    43
989397f9511c 201039_03
hgs
parents:
diff changeset
    44
    HbScrollArea *scrollArea = new HbScrollArea;
989397f9511c 201039_03
hgs
parents:
diff changeset
    45
    mDetailsText = new HbLabel;
989397f9511c 201039_03
hgs
parents:
diff changeset
    46
    mDetailsText->setTextWrapping(Hb::TextWordWrap);
989397f9511c 201039_03
hgs
parents:
diff changeset
    47
    scrollArea->setContentWidget(mDetailsText);
989397f9511c 201039_03
hgs
parents:
diff changeset
    48
    scrollArea->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOn);
989397f9511c 201039_03
hgs
parents:
diff changeset
    49
    layout->addItem(scrollArea);
989397f9511c 201039_03
hgs
parents:
diff changeset
    50
989397f9511c 201039_03
hgs
parents:
diff changeset
    51
    setLayout(layout);
989397f9511c 201039_03
hgs
parents:
diff changeset
    52
989397f9511c 201039_03
hgs
parents:
diff changeset
    53
    connect(&mModel, SIGNAL(detailsCompleted(QMap<int,QString>)),
989397f9511c 201039_03
hgs
parents:
diff changeset
    54
        this, SLOT(detailsCompleted(QMap<int,QString>)));
989397f9511c 201039_03
hgs
parents:
diff changeset
    55
    connect(&mModel, SIGNAL(deleteCompleted()),
989397f9511c 201039_03
hgs
parents:
diff changeset
    56
        this, SLOT(displayPreviousView()));
989397f9511c 201039_03
hgs
parents:
diff changeset
    57
}
989397f9511c 201039_03
hgs
parents:
diff changeset
    58
989397f9511c 201039_03
hgs
parents:
diff changeset
    59
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    60
// AdvSecSettingsSecurityModuleDetailView::~AdvSecSettingsSecurityModuleDetailView()
989397f9511c 201039_03
hgs
parents:
diff changeset
    61
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    62
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    63
AdvSecSettingsSecurityModuleDetailView::~AdvSecSettingsSecurityModuleDetailView()
989397f9511c 201039_03
hgs
parents:
diff changeset
    64
{
989397f9511c 201039_03
hgs
parents:
diff changeset
    65
}
989397f9511c 201039_03
hgs
parents:
diff changeset
    66
989397f9511c 201039_03
hgs
parents:
diff changeset
    67
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    68
// AdvSecSettingsSecurityModuleDetailView::setSecurityModule()
989397f9511c 201039_03
hgs
parents:
diff changeset
    69
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    70
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    71
void AdvSecSettingsSecurityModuleDetailView::setSecurityModule(int index)
989397f9511c 201039_03
hgs
parents:
diff changeset
    72
{
989397f9511c 201039_03
hgs
parents:
diff changeset
    73
    mModuleIndex = index;
989397f9511c 201039_03
hgs
parents:
diff changeset
    74
    // TODO: remove
989397f9511c 201039_03
hgs
parents:
diff changeset
    75
    mDetailsText->setPlainText(tr("TODO: Add info for module %1").arg(index));
989397f9511c 201039_03
hgs
parents:
diff changeset
    76
989397f9511c 201039_03
hgs
parents:
diff changeset
    77
    menu()->clearActions();
989397f9511c 201039_03
hgs
parents:
diff changeset
    78
    if (mModel.isDeletable(index)) {
989397f9511c 201039_03
hgs
parents:
diff changeset
    79
        HbAction *deleteAction = new HbAction(hbTrId("txt_common_menu_delete"));
989397f9511c 201039_03
hgs
parents:
diff changeset
    80
        connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteSecurityModule()));
989397f9511c 201039_03
hgs
parents:
diff changeset
    81
        menu()->addAction(deleteAction);
989397f9511c 201039_03
hgs
parents:
diff changeset
    82
    }
989397f9511c 201039_03
hgs
parents:
diff changeset
    83
}
989397f9511c 201039_03
hgs
parents:
diff changeset
    84
989397f9511c 201039_03
hgs
parents:
diff changeset
    85
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    86
// AdvSecSettingsSecurityModuleDetailView::detailsCompleted()
989397f9511c 201039_03
hgs
parents:
diff changeset
    87
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    88
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    89
void AdvSecSettingsSecurityModuleDetailView::detailsCompleted(QMap<int,QString> /*details*/)
989397f9511c 201039_03
hgs
parents:
diff changeset
    90
{
989397f9511c 201039_03
hgs
parents:
diff changeset
    91
    // TODO: implement
989397f9511c 201039_03
hgs
parents:
diff changeset
    92
}
989397f9511c 201039_03
hgs
parents:
diff changeset
    93
989397f9511c 201039_03
hgs
parents:
diff changeset
    94
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    95
// AdvSecSettingsSecurityModuleDetailView::deleteSecurityModule()
989397f9511c 201039_03
hgs
parents:
diff changeset
    96
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    97
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    98
void AdvSecSettingsSecurityModuleDetailView::deleteSecurityModule()
989397f9511c 201039_03
hgs
parents:
diff changeset
    99
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   100
    Q_ASSERT(mViewLabel != 0);
989397f9511c 201039_03
hgs
parents:
diff changeset
   101
    // TODO: localized UI string needed
989397f9511c 201039_03
hgs
parents:
diff changeset
   102
    QString confirmText(tr("Delete %1?").arg(mViewLabel->heading()));
989397f9511c 201039_03
hgs
parents:
diff changeset
   103
    displayQuestionNote(confirmText, this, SLOT(deleteConfirmationAccepted()));
989397f9511c 201039_03
hgs
parents:
diff changeset
   104
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   105
989397f9511c 201039_03
hgs
parents:
diff changeset
   106
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   107
// AdvSecSettingsSecurityModuleDetailView::deleteConfirmationAccepted()
989397f9511c 201039_03
hgs
parents:
diff changeset
   108
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   109
//
989397f9511c 201039_03
hgs
parents:
diff changeset
   110
void AdvSecSettingsSecurityModuleDetailView::deleteConfirmationAccepted()
989397f9511c 201039_03
hgs
parents:
diff changeset
   111
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   112
    mModel.deleteModule(mModuleIndex);
989397f9511c 201039_03
hgs
parents:
diff changeset
   113
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   114