cpsecplugins/cpadvancedsecplugin/src/advsecsettingsmainview.cpp
author hgs
Wed, 20 Oct 2010 14:51:23 +0300
changeset 66 67b3e3c1fc87
parent 63 989397f9511c
permissions -rw-r--r--
201041
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:  Advanced security settings main view
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 "advsecsettingsmainview.h"
989397f9511c 201039_03
hgs
parents:
diff changeset
    19
#include "advsecsettingscertificatelistview.h"
989397f9511c 201039_03
hgs
parents:
diff changeset
    20
#include "advsecsettingssecuritymodulemodel.h"
989397f9511c 201039_03
hgs
parents:
diff changeset
    21
#include "advsecsettingssecuritymoduleview.h"
989397f9511c 201039_03
hgs
parents:
diff changeset
    22
#include <QGraphicsLinearLayout>
989397f9511c 201039_03
hgs
parents:
diff changeset
    23
#include <HbGroupBox>
989397f9511c 201039_03
hgs
parents:
diff changeset
    24
#include <HbListWidget>
989397f9511c 201039_03
hgs
parents:
diff changeset
    25
#include <HbListWidgetItem>
989397f9511c 201039_03
hgs
parents:
diff changeset
    26
#include <QDebug>
989397f9511c 201039_03
hgs
parents:
diff changeset
    27
989397f9511c 201039_03
hgs
parents:
diff changeset
    28
const int KAuthorityCertsRow = 0;
989397f9511c 201039_03
hgs
parents:
diff changeset
    29
const int KTrustedSiteCertsRow = 1;
989397f9511c 201039_03
hgs
parents:
diff changeset
    30
const int KPersonalCertsRow = 2;
989397f9511c 201039_03
hgs
parents:
diff changeset
    31
const int KDeviceCertsRow = 3;
989397f9511c 201039_03
hgs
parents:
diff changeset
    32
989397f9511c 201039_03
hgs
parents:
diff changeset
    33
989397f9511c 201039_03
hgs
parents:
diff changeset
    34
// ======== MEMBER FUNCTIONS ========
989397f9511c 201039_03
hgs
parents:
diff changeset
    35
989397f9511c 201039_03
hgs
parents:
diff changeset
    36
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    37
// AdvSecSettingsMainView::AdvSecSettingsMainView()
989397f9511c 201039_03
hgs
parents:
diff changeset
    38
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    39
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    40
AdvSecSettingsMainView::AdvSecSettingsMainView(
989397f9511c 201039_03
hgs
parents:
diff changeset
    41
    QGraphicsItem *parent) : AdvSecSettingsViewBase(0, parent),
989397f9511c 201039_03
hgs
parents:
diff changeset
    42
    mSecModModel(0), mCertListView(0), mSecModView(0),
989397f9511c 201039_03
hgs
parents:
diff changeset
    43
    mSecModGroupBox(0), mSecModList(0), mContextMenu(0)
989397f9511c 201039_03
hgs
parents:
diff changeset
    44
{
989397f9511c 201039_03
hgs
parents:
diff changeset
    45
    Q_ASSERT(mSecModModel == 0);
989397f9511c 201039_03
hgs
parents:
diff changeset
    46
    mSecModModel = new AdvSecSettingsSecurityModuleModel(this);
989397f9511c 201039_03
hgs
parents:
diff changeset
    47
    connect(mSecModModel, SIGNAL(initializeCompleted()), this, SLOT(securityModuleInitialized()));
989397f9511c 201039_03
hgs
parents:
diff changeset
    48
    connect(mSecModModel, SIGNAL(errorOccurred(int)), this, SLOT(displayError(int)));
989397f9511c 201039_03
hgs
parents:
diff changeset
    49
    mSecModModel->initialize();
989397f9511c 201039_03
hgs
parents:
diff changeset
    50
989397f9511c 201039_03
hgs
parents:
diff changeset
    51
	QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
989397f9511c 201039_03
hgs
parents:
diff changeset
    52
    HbGroupBox *groupBox = 0;
989397f9511c 201039_03
hgs
parents:
diff changeset
    53
989397f9511c 201039_03
hgs
parents:
diff changeset
    54
    // View title
989397f9511c 201039_03
hgs
parents:
diff changeset
    55
    groupBox = new HbGroupBox;
989397f9511c 201039_03
hgs
parents:
diff changeset
    56
    groupBox->setHeading(hbTrId("txt_certificate_manager_setlabel_advanced_security"));
989397f9511c 201039_03
hgs
parents:
diff changeset
    57
    layout->addItem(groupBox);
989397f9511c 201039_03
hgs
parents:
diff changeset
    58
989397f9511c 201039_03
hgs
parents:
diff changeset
    59
    // Certificates group
989397f9511c 201039_03
hgs
parents:
diff changeset
    60
    groupBox = new HbGroupBox;
989397f9511c 201039_03
hgs
parents:
diff changeset
    61
    groupBox->setHeading(hbTrId("txt_certificate_manager_setlabel_certificates"));
989397f9511c 201039_03
hgs
parents:
diff changeset
    62
    groupBox->setContentWidget(createCertificatesTopLevel());
989397f9511c 201039_03
hgs
parents:
diff changeset
    63
    groupBox->setCollapsed(true);
989397f9511c 201039_03
hgs
parents:
diff changeset
    64
    layout->addItem(groupBox);
989397f9511c 201039_03
hgs
parents:
diff changeset
    65
989397f9511c 201039_03
hgs
parents:
diff changeset
    66
    // Protected content group
989397f9511c 201039_03
hgs
parents:
diff changeset
    67
    groupBox = new HbGroupBox;
989397f9511c 201039_03
hgs
parents:
diff changeset
    68
    // TODO: localized UI string needed
989397f9511c 201039_03
hgs
parents:
diff changeset
    69
    groupBox->setHeading("Protected Content");
989397f9511c 201039_03
hgs
parents:
diff changeset
    70
    groupBox->setContentWidget(createProtectedContentTopLevel());
989397f9511c 201039_03
hgs
parents:
diff changeset
    71
    groupBox->setCollapsed(true);
989397f9511c 201039_03
hgs
parents:
diff changeset
    72
    layout->addItem(groupBox);
989397f9511c 201039_03
hgs
parents:
diff changeset
    73
989397f9511c 201039_03
hgs
parents:
diff changeset
    74
    // Security module group
989397f9511c 201039_03
hgs
parents:
diff changeset
    75
    Q_ASSERT(mSecModGroupBox == 0);
989397f9511c 201039_03
hgs
parents:
diff changeset
    76
    mSecModGroupBox = new HbGroupBox;
989397f9511c 201039_03
hgs
parents:
diff changeset
    77
    // TODO: localized UI string needed
989397f9511c 201039_03
hgs
parents:
diff changeset
    78
    mSecModGroupBox->setHeading("Security Module");
989397f9511c 201039_03
hgs
parents:
diff changeset
    79
    mSecModGroupBox->setVisible(false); // set in securityModuleInitialized()
989397f9511c 201039_03
hgs
parents:
diff changeset
    80
    layout->addItem(mSecModGroupBox);
989397f9511c 201039_03
hgs
parents:
diff changeset
    81
989397f9511c 201039_03
hgs
parents:
diff changeset
    82
    setLayout(layout);
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
// AdvSecSettingsMainView::~AdvSecSettingsMainView()
989397f9511c 201039_03
hgs
parents:
diff changeset
    87
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    88
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    89
AdvSecSettingsMainView::~AdvSecSettingsMainView()
989397f9511c 201039_03
hgs
parents:
diff changeset
    90
	{
989397f9511c 201039_03
hgs
parents:
diff changeset
    91
	}
989397f9511c 201039_03
hgs
parents:
diff changeset
    92
989397f9511c 201039_03
hgs
parents:
diff changeset
    93
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    94
// AdvSecSettingsMainView::displayCertListView()
989397f9511c 201039_03
hgs
parents:
diff changeset
    95
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
    96
//
989397f9511c 201039_03
hgs
parents:
diff changeset
    97
void AdvSecSettingsMainView::displayCertListView(const QModelIndex& modelIndex)
989397f9511c 201039_03
hgs
parents:
diff changeset
    98
{
989397f9511c 201039_03
hgs
parents:
diff changeset
    99
    if (!mCertListView) {
989397f9511c 201039_03
hgs
parents:
diff changeset
   100
        mCertListView = new AdvSecSettingsCertificateListView(this);
989397f9511c 201039_03
hgs
parents:
diff changeset
   101
    }
989397f9511c 201039_03
hgs
parents:
diff changeset
   102
989397f9511c 201039_03
hgs
parents:
diff changeset
   103
    AdvSecSettingsCertificate::CertificateType type =
989397f9511c 201039_03
hgs
parents:
diff changeset
   104
        AdvSecSettingsCertificate::AuthorityCertificate;
989397f9511c 201039_03
hgs
parents:
diff changeset
   105
    switch (modelIndex.row()) {
989397f9511c 201039_03
hgs
parents:
diff changeset
   106
    case KAuthorityCertsRow:
989397f9511c 201039_03
hgs
parents:
diff changeset
   107
        type = AdvSecSettingsCertificate::AuthorityCertificate;
989397f9511c 201039_03
hgs
parents:
diff changeset
   108
        break;
989397f9511c 201039_03
hgs
parents:
diff changeset
   109
    case KTrustedSiteCertsRow:
989397f9511c 201039_03
hgs
parents:
diff changeset
   110
        type = AdvSecSettingsCertificate::TrustedSiteCertificate;
989397f9511c 201039_03
hgs
parents:
diff changeset
   111
        break;
989397f9511c 201039_03
hgs
parents:
diff changeset
   112
    case KPersonalCertsRow:
989397f9511c 201039_03
hgs
parents:
diff changeset
   113
        type = AdvSecSettingsCertificate::PersonalCertificate;
989397f9511c 201039_03
hgs
parents:
diff changeset
   114
        break;
989397f9511c 201039_03
hgs
parents:
diff changeset
   115
    case KDeviceCertsRow:
989397f9511c 201039_03
hgs
parents:
diff changeset
   116
        type = AdvSecSettingsCertificate::DeviceCertificate;
989397f9511c 201039_03
hgs
parents:
diff changeset
   117
        break;
989397f9511c 201039_03
hgs
parents:
diff changeset
   118
    default:
989397f9511c 201039_03
hgs
parents:
diff changeset
   119
        break;
989397f9511c 201039_03
hgs
parents:
diff changeset
   120
    }
989397f9511c 201039_03
hgs
parents:
diff changeset
   121
989397f9511c 201039_03
hgs
parents:
diff changeset
   122
    mCertListView->displayCertificates(type);
989397f9511c 201039_03
hgs
parents:
diff changeset
   123
    displayView(mCertListView);
989397f9511c 201039_03
hgs
parents:
diff changeset
   124
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   125
989397f9511c 201039_03
hgs
parents:
diff changeset
   126
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   127
// AdvSecSettingsMainView::displaySecurityModuleView()
989397f9511c 201039_03
hgs
parents:
diff changeset
   128
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   129
//
989397f9511c 201039_03
hgs
parents:
diff changeset
   130
void AdvSecSettingsMainView::displaySecurityModuleView(const QModelIndex& modelIndex)
989397f9511c 201039_03
hgs
parents:
diff changeset
   131
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   132
    if (!mSecModView) {
989397f9511c 201039_03
hgs
parents:
diff changeset
   133
        mSecModView = new AdvSecSettingsSecurityModuleView(*mSecModModel, this);
989397f9511c 201039_03
hgs
parents:
diff changeset
   134
    }
989397f9511c 201039_03
hgs
parents:
diff changeset
   135
989397f9511c 201039_03
hgs
parents:
diff changeset
   136
    int row = modelIndex.row();
989397f9511c 201039_03
hgs
parents:
diff changeset
   137
    mSecModView->setSecurityModule(mSecModList->item(row)->text(), row);
989397f9511c 201039_03
hgs
parents:
diff changeset
   138
    displayView(mSecModView);
989397f9511c 201039_03
hgs
parents:
diff changeset
   139
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   140
989397f9511c 201039_03
hgs
parents:
diff changeset
   141
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   142
// AdvSecSettingsMainView::securityModuleInitialized()
989397f9511c 201039_03
hgs
parents:
diff changeset
   143
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   144
//
989397f9511c 201039_03
hgs
parents:
diff changeset
   145
void AdvSecSettingsMainView::securityModuleInitialized()
989397f9511c 201039_03
hgs
parents:
diff changeset
   146
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   147
    if (isSecurityModulesAvailable()) {
989397f9511c 201039_03
hgs
parents:
diff changeset
   148
        mSecModGroupBox->setContentWidget(createSecurityModuleTopLevel());
989397f9511c 201039_03
hgs
parents:
diff changeset
   149
        mSecModGroupBox->setCollapsed(true);
989397f9511c 201039_03
hgs
parents:
diff changeset
   150
        mSecModGroupBox->setVisible(true);
989397f9511c 201039_03
hgs
parents:
diff changeset
   151
    }
989397f9511c 201039_03
hgs
parents:
diff changeset
   152
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   153
989397f9511c 201039_03
hgs
parents:
diff changeset
   154
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   155
// AdvSecSettingsMainView::
989397f9511c 201039_03
hgs
parents:
diff changeset
   156
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   157
//
989397f9511c 201039_03
hgs
parents:
diff changeset
   158
HbWidget *AdvSecSettingsMainView::createCertificatesTopLevel()
989397f9511c 201039_03
hgs
parents:
diff changeset
   159
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   160
    HbListWidget *list = new HbListWidget;
989397f9511c 201039_03
hgs
parents:
diff changeset
   161
    HbListWidgetItem *item = 0;
989397f9511c 201039_03
hgs
parents:
diff changeset
   162
989397f9511c 201039_03
hgs
parents:
diff changeset
   163
    // KAuthorityCertsRow
989397f9511c 201039_03
hgs
parents:
diff changeset
   164
    item = new HbListWidgetItem;
989397f9511c 201039_03
hgs
parents:
diff changeset
   165
    item->setText(hbTrId("txt_certificate_manager_list_authority_certificate"));
989397f9511c 201039_03
hgs
parents:
diff changeset
   166
    list->addItem(item);
989397f9511c 201039_03
hgs
parents:
diff changeset
   167
989397f9511c 201039_03
hgs
parents:
diff changeset
   168
    // KTrustedSiteCertsRow
989397f9511c 201039_03
hgs
parents:
diff changeset
   169
    item = new HbListWidgetItem;
989397f9511c 201039_03
hgs
parents:
diff changeset
   170
    item->setText(hbTrId("txt_certificate_manager_list_trusted_site_certific"));
989397f9511c 201039_03
hgs
parents:
diff changeset
   171
    list->addItem(item);
989397f9511c 201039_03
hgs
parents:
diff changeset
   172
989397f9511c 201039_03
hgs
parents:
diff changeset
   173
    // KPersonalCertsRow
989397f9511c 201039_03
hgs
parents:
diff changeset
   174
    item = new HbListWidgetItem;
989397f9511c 201039_03
hgs
parents:
diff changeset
   175
    item->setText(hbTrId("txt_certificate_manager_list_personal_certificates"));
989397f9511c 201039_03
hgs
parents:
diff changeset
   176
    list->addItem(item);
989397f9511c 201039_03
hgs
parents:
diff changeset
   177
989397f9511c 201039_03
hgs
parents:
diff changeset
   178
    // KDeviceCertsRow
989397f9511c 201039_03
hgs
parents:
diff changeset
   179
    item = new HbListWidgetItem;
989397f9511c 201039_03
hgs
parents:
diff changeset
   180
    item->setText(hbTrId("txt_certificate_manager_list_device_certificates"));
989397f9511c 201039_03
hgs
parents:
diff changeset
   181
    list->addItem(item);
989397f9511c 201039_03
hgs
parents:
diff changeset
   182
989397f9511c 201039_03
hgs
parents:
diff changeset
   183
    connect(list, SIGNAL(released(QModelIndex)), this, SLOT(displayCertListView(QModelIndex)));
989397f9511c 201039_03
hgs
parents:
diff changeset
   184
989397f9511c 201039_03
hgs
parents:
diff changeset
   185
    return list;
989397f9511c 201039_03
hgs
parents:
diff changeset
   186
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   187
989397f9511c 201039_03
hgs
parents:
diff changeset
   188
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   189
// AdvSecSettingsMainView::
989397f9511c 201039_03
hgs
parents:
diff changeset
   190
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   191
//
989397f9511c 201039_03
hgs
parents:
diff changeset
   192
HbWidget *AdvSecSettingsMainView::createProtectedContentTopLevel()
989397f9511c 201039_03
hgs
parents:
diff changeset
   193
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   194
    HbListWidget* list = new HbListWidget;
989397f9511c 201039_03
hgs
parents:
diff changeset
   195
989397f9511c 201039_03
hgs
parents:
diff changeset
   196
    // TODO: implement
989397f9511c 201039_03
hgs
parents:
diff changeset
   197
989397f9511c 201039_03
hgs
parents:
diff changeset
   198
    return list;
989397f9511c 201039_03
hgs
parents:
diff changeset
   199
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   200
989397f9511c 201039_03
hgs
parents:
diff changeset
   201
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   202
// AdvSecSettingsMainView::
989397f9511c 201039_03
hgs
parents:
diff changeset
   203
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   204
//
989397f9511c 201039_03
hgs
parents:
diff changeset
   205
HbWidget *AdvSecSettingsMainView::createSecurityModuleTopLevel()
989397f9511c 201039_03
hgs
parents:
diff changeset
   206
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   207
    Q_ASSERT(mSecModList == 0);
989397f9511c 201039_03
hgs
parents:
diff changeset
   208
    mSecModList = new HbListWidget;
989397f9511c 201039_03
hgs
parents:
diff changeset
   209
989397f9511c 201039_03
hgs
parents:
diff changeset
   210
    QMap<QString, QString> labelAndLocation = mSecModModel->moduleLabelsAndLocations();
989397f9511c 201039_03
hgs
parents:
diff changeset
   211
    QMapIterator<QString, QString> iter(labelAndLocation);
989397f9511c 201039_03
hgs
parents:
diff changeset
   212
    while (iter.hasNext()) {
989397f9511c 201039_03
hgs
parents:
diff changeset
   213
        iter.next();
989397f9511c 201039_03
hgs
parents:
diff changeset
   214
        HbListWidgetItem *item = new HbListWidgetItem;
989397f9511c 201039_03
hgs
parents:
diff changeset
   215
        item->setText(iter.key());
989397f9511c 201039_03
hgs
parents:
diff changeset
   216
        item->setSecondaryText(iter.value());
989397f9511c 201039_03
hgs
parents:
diff changeset
   217
        mSecModList->addItem(item);
989397f9511c 201039_03
hgs
parents:
diff changeset
   218
    }
989397f9511c 201039_03
hgs
parents:
diff changeset
   219
989397f9511c 201039_03
hgs
parents:
diff changeset
   220
    connect(mSecModList, SIGNAL(activated(QModelIndex)),
989397f9511c 201039_03
hgs
parents:
diff changeset
   221
        this, SLOT(displaySecurityModuleView(QModelIndex)));
989397f9511c 201039_03
hgs
parents:
diff changeset
   222
    connect(mSecModList, SIGNAL(longPressed(HbAbstractViewItem*, QPointF)),
989397f9511c 201039_03
hgs
parents:
diff changeset
   223
        this, SLOT(indicateLongPress(HbAbstractViewItem*, QPointF)));   // TODO: implement
989397f9511c 201039_03
hgs
parents:
diff changeset
   224
989397f9511c 201039_03
hgs
parents:
diff changeset
   225
    return mSecModList;
989397f9511c 201039_03
hgs
parents:
diff changeset
   226
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   227
989397f9511c 201039_03
hgs
parents:
diff changeset
   228
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   229
// AdvSecSettingsMainView::isSecurityModulesAvailable()
989397f9511c 201039_03
hgs
parents:
diff changeset
   230
// ---------------------------------------------------------------------------
989397f9511c 201039_03
hgs
parents:
diff changeset
   231
//
989397f9511c 201039_03
hgs
parents:
diff changeset
   232
bool AdvSecSettingsMainView::isSecurityModulesAvailable()
989397f9511c 201039_03
hgs
parents:
diff changeset
   233
{
989397f9511c 201039_03
hgs
parents:
diff changeset
   234
    return (mSecModModel && mSecModModel->moduleCount());
989397f9511c 201039_03
hgs
parents:
diff changeset
   235
}
989397f9511c 201039_03
hgs
parents:
diff changeset
   236