screensaver/screensaverplugins/snsrbigclockscreensaverplugin/src/snsrbigclockscreensaver.cpp
author hgs
Mon, 13 Sep 2010 13:03:23 +0300
changeset 86 e4f038c420f7
parent 69 87476091b3f5
permissions -rw-r--r--
201036
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: Big clock Screensaver.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "snsrbigclockscreensaver.h"
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
    21
#include <e32std.h>
hgs
parents:
diff changeset
    22
#endif // Q_OS_SYMBIAN
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include <QDebug>
hgs
parents:
diff changeset
    25
#include <QTime>
hgs
parents:
diff changeset
    26
#include <QTimer>
69
hgs
parents: 62
diff changeset
    27
#include <XQSettingsManager> 
hgs
parents: 62
diff changeset
    28
#include <HbInstance>
hgs
parents: 62
diff changeset
    29
#include <HbMainWindow>
62
hgs
parents:
diff changeset
    30
69
hgs
parents: 62
diff changeset
    31
#include <screensaverdomaincrkeys.h>
62
hgs
parents:
diff changeset
    32
#include "snsranalogclockcontainer.h"
hgs
parents:
diff changeset
    33
#include "snsrdigitalclockcontainer.h"
hgs
parents:
diff changeset
    34
#include "snsroledanalogclockcontainer.h"
hgs
parents:
diff changeset
    35
#include "snsroleddigitalclockcontainer.h"
69
hgs
parents: 62
diff changeset
    36
#include "snsrblankcontainer.h"
62
hgs
parents:
diff changeset
    37
#include "snsrindicatormodel.h"
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
/*!
hgs
parents:
diff changeset
    40
    \class SnsrBigClockScreensaver
hgs
parents:
diff changeset
    41
    \ingroup group_snsrbigclockscreensaverplugin
hgs
parents:
diff changeset
    42
    \brief Screensaver with big digital clock.
hgs
parents:
diff changeset
    43
 */
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
/*!
hgs
parents:
diff changeset
    46
    Constructs a new SnsrBigClockScreensaver.
hgs
parents:
diff changeset
    47
 */
hgs
parents:
diff changeset
    48
SnsrBigClockScreensaver::SnsrBigClockScreensaver() :
hgs
parents:
diff changeset
    49
    mMainWindow(0),
hgs
parents:
diff changeset
    50
    mCurrentContainer(0),
69
hgs
parents: 62
diff changeset
    51
    mIndicatorModel(0),
hgs
parents: 62
diff changeset
    52
    m_setManager(0)
62
hgs
parents:
diff changeset
    53
{
hgs
parents:
diff changeset
    54
    mMainWindow = HbInstance::instance()->allMainWindows().at(0);
hgs
parents:
diff changeset
    55
    // for nice looking clock hand transformations
hgs
parents:
diff changeset
    56
    mMainWindow->setRenderHint(QPainter::SmoothPixmapTransform);
hgs
parents:
diff changeset
    57
    
hgs
parents:
diff changeset
    58
    // This model holds indicator status information and must exist as
hgs
parents:
diff changeset
    59
    // long as screensaver does.
hgs
parents:
diff changeset
    60
    mIndicatorModel = new SnsrIndicatorModel(this);
hgs
parents:
diff changeset
    61
}
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
/*!
hgs
parents:
diff changeset
    64
    Destructs the class.
hgs
parents:
diff changeset
    65
 */
hgs
parents:
diff changeset
    66
SnsrBigClockScreensaver::~SnsrBigClockScreensaver()
hgs
parents:
diff changeset
    67
{
69
hgs
parents: 62
diff changeset
    68
    mMainWindow->unsetOrientation( /*animate*/false );
62
hgs
parents:
diff changeset
    69
    // mCurrentContainer, mIndicatorModel - deleted by the parent
hgs
parents:
diff changeset
    70
}
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
/*!
hgs
parents:
diff changeset
    73
    @copydoc Screensaver::onInitialize()
hgs
parents:
diff changeset
    74
*/
hgs
parents:
diff changeset
    75
bool SnsrBigClockScreensaver::onInitialize()
hgs
parents:
diff changeset
    76
{
hgs
parents:
diff changeset
    77
    qDebug() << "SnsrBigClockScreensaver::onInitialize()";
hgs
parents:
diff changeset
    78
    return true;
hgs
parents:
diff changeset
    79
}
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
/*!
hgs
parents:
diff changeset
    82
    @copydoc Screensaver::onForeground()
hgs
parents:
diff changeset
    83
 */
hgs
parents:
diff changeset
    84
bool SnsrBigClockScreensaver::onForeground()
hgs
parents:
diff changeset
    85
{
hgs
parents:
diff changeset
    86
    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onForeground")
hgs
parents:
diff changeset
    87
    qDebug() << "SnsrBigClockScreensaver::onForeground()";
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
    removeCurrentContainer();
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
    SnsrBigClockContainer* newContainer( 0 );
hgs
parents:
diff changeset
    92
    if (clockFormat() == ClockFormatAnalog) {
hgs
parents:
diff changeset
    93
        newContainer = new SnsrAnalogClockContainer();
hgs
parents:
diff changeset
    94
    }
hgs
parents:
diff changeset
    95
    else {
hgs
parents:
diff changeset
    96
        newContainer = new SnsrDigitalClockContainer();
hgs
parents:
diff changeset
    97
    }
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
    setCurrentContainer( newContainer );
69
hgs
parents: 62
diff changeset
   100
    
62
hgs
parents:
diff changeset
   101
    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onForeground")
hgs
parents:
diff changeset
   102
    return true;
hgs
parents:
diff changeset
   103
}
hgs
parents:
diff changeset
   104
hgs
parents:
diff changeset
   105
/*!
hgs
parents:
diff changeset
   106
    @copydoc Screensaver::onPartialForeground()
hgs
parents:
diff changeset
   107
 */
hgs
parents:
diff changeset
   108
bool SnsrBigClockScreensaver::onPartialForeground()
hgs
parents:
diff changeset
   109
{
hgs
parents:
diff changeset
   110
    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onPartialForeground")
hgs
parents:
diff changeset
   111
    qDebug() << "SnsrBigClockScreensaver::onPartialForeground()";
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
    removeCurrentContainer();
hgs
parents:
diff changeset
   114
    
hgs
parents:
diff changeset
   115
    SnsrBigClockContainer* newContainer( 0 );
69
hgs
parents: 62
diff changeset
   116
        
hgs
parents: 62
diff changeset
   117
    // Check ScreensaverStatus from repository
hgs
parents: 62
diff changeset
   118
    XQSettingsManager::Error error;
hgs
parents: 62
diff changeset
   119
    int screensaverOn = 1; 
hgs
parents: 62
diff changeset
   120
    XQCentralRepositorySettingsKey settingsKey(
hgs
parents: 62
diff changeset
   121
            KCRUidScreensaverSettings.iUid, KScreensaverStatus ); // TUid as same repository used in control panel via Symbian APIs 
hgs
parents: 62
diff changeset
   122
    m_setManager = new XQSettingsManager(this);
hgs
parents: 62
diff changeset
   123
    if (m_setManager) {
hgs
parents: 62
diff changeset
   124
        screensaverOn = m_setManager->readItemValue(settingsKey, XQSettingsManager::TypeInt).toInt();
hgs
parents: 62
diff changeset
   125
        error = m_setManager->error();
hgs
parents: 62
diff changeset
   126
        if (error != XQSettingsManager::NoError) {
hgs
parents: 62
diff changeset
   127
            qDebug("Error reading value from XQSettingsManager.. error = %d", error);
hgs
parents: 62
diff changeset
   128
        }
hgs
parents: 62
diff changeset
   129
        delete m_setManager;
hgs
parents: 62
diff changeset
   130
    }
hgs
parents: 62
diff changeset
   131
    
hgs
parents: 62
diff changeset
   132
    if (screensaverOn) {
hgs
parents: 62
diff changeset
   133
        if (clockFormat() == ClockFormatAnalog) {
hgs
parents: 62
diff changeset
   134
            newContainer = new SnsrOledAnalogClockContainer();
hgs
parents: 62
diff changeset
   135
        }
hgs
parents: 62
diff changeset
   136
        else {
hgs
parents: 62
diff changeset
   137
            newContainer = new SnsrOledDigitalClockContainer();
hgs
parents: 62
diff changeset
   138
        }
62
hgs
parents:
diff changeset
   139
    }
hgs
parents:
diff changeset
   140
    else {
69
hgs
parents: 62
diff changeset
   141
        newContainer = new SnsrBlankContainer();
62
hgs
parents:
diff changeset
   142
    }
69
hgs
parents: 62
diff changeset
   143
    
62
hgs
parents:
diff changeset
   144
    setCurrentContainer( newContainer );
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onPartialForeground")
hgs
parents:
diff changeset
   147
    return true;
hgs
parents:
diff changeset
   148
}
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
/*!
hgs
parents:
diff changeset
   151
    @copydoc Screensaver::onBackground()
hgs
parents:
diff changeset
   152
 */
hgs
parents:
diff changeset
   153
bool SnsrBigClockScreensaver::onBackground()
hgs
parents:
diff changeset
   154
{
hgs
parents:
diff changeset
   155
    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onBackground")
hgs
parents:
diff changeset
   156
    qDebug() << "SnsrBigClockScreensaver::onBackground()";
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
    removeCurrentContainer();
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onBackground")
hgs
parents:
diff changeset
   161
    return true;
hgs
parents:
diff changeset
   162
}
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
/*!
hgs
parents:
diff changeset
   165
    @copydoc Screensaver::onPowerSave()
hgs
parents:
diff changeset
   166
 */
hgs
parents:
diff changeset
   167
bool SnsrBigClockScreensaver::onPowerSave()
hgs
parents:
diff changeset
   168
{
hgs
parents:
diff changeset
   169
    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onPowerSave")
hgs
parents:
diff changeset
   170
    qDebug() << "SnsrBigClockScreensaver::onPowerSave()";
hgs
parents:
diff changeset
   171
hgs
parents:
diff changeset
   172
    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onPowerSave")
hgs
parents:
diff changeset
   173
    return false;
hgs
parents:
diff changeset
   174
}
hgs
parents:
diff changeset
   175
hgs
parents:
diff changeset
   176
/*!
hgs
parents:
diff changeset
   177
    @copydoc Screensaver::onClose()
hgs
parents:
diff changeset
   178
 */
hgs
parents:
diff changeset
   179
bool SnsrBigClockScreensaver::onClose()
hgs
parents:
diff changeset
   180
{
hgs
parents:
diff changeset
   181
    SCREENSAVER_TEST_FUNC_ENTRY("SnsrBigClockScreensaver::onClose")
hgs
parents:
diff changeset
   182
    qDebug() << "SnsrBigClockScreensaver::onClose()";
hgs
parents:
diff changeset
   183
hgs
parents:
diff changeset
   184
    bool ret(false);
hgs
parents:
diff changeset
   185
    if (onBackground()) {
hgs
parents:
diff changeset
   186
        delete mCurrentContainer;
hgs
parents:
diff changeset
   187
        mCurrentContainer = 0;
hgs
parents:
diff changeset
   188
        ret = true;
hgs
parents:
diff changeset
   189
    }
hgs
parents:
diff changeset
   190
hgs
parents:
diff changeset
   191
    SCREENSAVER_TEST_FUNC_EXIT("SnsrBigClockScreensaver::onClose")
hgs
parents:
diff changeset
   192
    return ret;
hgs
parents:
diff changeset
   193
}
hgs
parents:
diff changeset
   194
hgs
parents:
diff changeset
   195
/*!
hgs
parents:
diff changeset
   196
    @copydoc Screensaver::onHandleActiveIndicators
hgs
parents:
diff changeset
   197
 */
hgs
parents:
diff changeset
   198
void SnsrBigClockScreensaver::onHandleActiveIndicators(
hgs
parents:
diff changeset
   199
        const QList<HbIndicatorInterface*> &activeIndicators)
hgs
parents:
diff changeset
   200
{
hgs
parents:
diff changeset
   201
    mIndicatorModel->handleActiveIndicators(activeIndicators);
hgs
parents:
diff changeset
   202
}
hgs
parents:
diff changeset
   203
hgs
parents:
diff changeset
   204
/*!
hgs
parents:
diff changeset
   205
    @copydoc Screensaver::onHandleActivatedIndicator
hgs
parents:
diff changeset
   206
 */
hgs
parents:
diff changeset
   207
void SnsrBigClockScreensaver::onHandleActivatedIndicator(
hgs
parents:
diff changeset
   208
        HbIndicatorInterface *activatedIndicator)
hgs
parents:
diff changeset
   209
{
hgs
parents:
diff changeset
   210
    mIndicatorModel->handleActivatedIndicator(activatedIndicator);
hgs
parents:
diff changeset
   211
}
hgs
parents:
diff changeset
   212
hgs
parents:
diff changeset
   213
/*!
hgs
parents:
diff changeset
   214
    @copydoc Screensaver::onHandleDeactivatedIndicator
hgs
parents:
diff changeset
   215
 */
hgs
parents:
diff changeset
   216
void SnsrBigClockScreensaver::onHandleDeactivatedIndicator(
hgs
parents:
diff changeset
   217
        HbIndicatorInterface *deactivatedIndicator)
hgs
parents:
diff changeset
   218
{
hgs
parents:
diff changeset
   219
    mIndicatorModel->handleDeactivatedIndicator(deactivatedIndicator);
hgs
parents:
diff changeset
   220
}
hgs
parents:
diff changeset
   221
69
hgs
parents: 62
diff changeset
   222
/*!
86
hgs
parents: 69
diff changeset
   223
    @copydoc Screensaver::currentPowerMode
hgs
parents: 69
diff changeset
   224
 */
hgs
parents: 69
diff changeset
   225
Screensaver::ScreenPowerMode SnsrBigClockScreensaver::currentPowerMode()
hgs
parents: 69
diff changeset
   226
{
hgs
parents: 69
diff changeset
   227
    Screensaver::ScreenPowerMode mode( Screensaver::ScreenModeFullPower );
hgs
parents: 69
diff changeset
   228
    if ( mCurrentContainer ) {
hgs
parents: 69
diff changeset
   229
        mode = mCurrentContainer->displayPowerMode();
hgs
parents: 69
diff changeset
   230
    }
hgs
parents: 69
diff changeset
   231
    else {
hgs
parents: 69
diff changeset
   232
        qWarning() << "No current container when current power mode queried.";
hgs
parents: 69
diff changeset
   233
    }
hgs
parents: 69
diff changeset
   234
    return mode;
hgs
parents: 69
diff changeset
   235
}
hgs
parents: 69
diff changeset
   236
hgs
parents: 69
diff changeset
   237
/*!
69
hgs
parents: 62
diff changeset
   238
    @copydoc Screensaver::getActiveScreenRows
hgs
parents: 62
diff changeset
   239
 */
hgs
parents: 62
diff changeset
   240
void SnsrBigClockScreensaver::getActiveScreenRows(int *firstActiveRow, int *lastActiveRow)
hgs
parents: 62
diff changeset
   241
{
hgs
parents: 62
diff changeset
   242
    if ( mCurrentContainer ) {
hgs
parents: 62
diff changeset
   243
        mCurrentContainer->getActiveScreenRows( firstActiveRow, lastActiveRow );
hgs
parents: 62
diff changeset
   244
    }
hgs
parents: 62
diff changeset
   245
    else {
hgs
parents: 62
diff changeset
   246
        qWarning() << "No current container when active rows queried.";
hgs
parents: 62
diff changeset
   247
    }
hgs
parents: 62
diff changeset
   248
}
hgs
parents: 62
diff changeset
   249
hgs
parents: 62
diff changeset
   250
/*!
hgs
parents: 62
diff changeset
   251
    @copydoc Screensaver::updateLayout
hgs
parents: 62
diff changeset
   252
 */
hgs
parents: 62
diff changeset
   253
void SnsrBigClockScreensaver::updateLayout()
hgs
parents: 62
diff changeset
   254
{
hgs
parents: 62
diff changeset
   255
    if ( mCurrentContainer ) {
hgs
parents: 62
diff changeset
   256
        if ( mCurrentContainer->isOrientationLocked() ) {
hgs
parents: 62
diff changeset
   257
            mMainWindow->setOrientation( mMainWindow->orientation(), /*animate*/false );
hgs
parents: 62
diff changeset
   258
        }
hgs
parents: 62
diff changeset
   259
        else {
hgs
parents: 62
diff changeset
   260
            mMainWindow->unsetOrientation( /*animate*/false );
hgs
parents: 62
diff changeset
   261
        }
hgs
parents: 62
diff changeset
   262
        mCurrentContainer->changeLayout( mMainWindow->orientation() );
hgs
parents: 62
diff changeset
   263
    }
hgs
parents: 62
diff changeset
   264
    else {
hgs
parents: 62
diff changeset
   265
        qWarning() << "No current container when updateLayout called.";
hgs
parents: 62
diff changeset
   266
    }
hgs
parents: 62
diff changeset
   267
}
hgs
parents: 62
diff changeset
   268
hgs
parents: 62
diff changeset
   269
/*!
86
hgs
parents: 69
diff changeset
   270
    Update clock time when timer is triggered
69
hgs
parents: 62
diff changeset
   271
 */
86
hgs
parents: 69
diff changeset
   272
void SnsrBigClockScreensaver::updateTime()
69
hgs
parents: 62
diff changeset
   273
{
86
hgs
parents: 69
diff changeset
   274
    if ( mCurrentContainer ) {
hgs
parents: 69
diff changeset
   275
        mCurrentContainer->update();
hgs
parents: 69
diff changeset
   276
        
hgs
parents: 69
diff changeset
   277
        // Move the active area of display device if current container uses the power save mode.
hgs
parents: 69
diff changeset
   278
        if ( mCurrentContainer->displayPowerMode() == Screensaver::ScreenModeLowPower ) {
hgs
parents: 69
diff changeset
   279
            emit activeAreaMoved();
hgs
parents: 69
diff changeset
   280
        }
hgs
parents: 69
diff changeset
   281
    }
69
hgs
parents: 62
diff changeset
   282
}
62
hgs
parents:
diff changeset
   283
hgs
parents:
diff changeset
   284
/*!
hgs
parents:
diff changeset
   285
    Determines the curent clock format settings.
hgs
parents:
diff changeset
   286
    \retval ClockFormat.
hgs
parents:
diff changeset
   287
 */
hgs
parents:
diff changeset
   288
SnsrBigClockScreensaver::ClockFormat SnsrBigClockScreensaver::clockFormat()
hgs
parents:
diff changeset
   289
{
hgs
parents:
diff changeset
   290
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   291
    if (TLocale().ClockFormat() == EClockAnalog) {
hgs
parents:
diff changeset
   292
        return ClockFormatAnalog;
hgs
parents:
diff changeset
   293
    } else {
hgs
parents:
diff changeset
   294
        return ClockFormatDigital;
hgs
parents:
diff changeset
   295
    }
hgs
parents:
diff changeset
   296
#else
hgs
parents:
diff changeset
   297
    // windows build - change the format every 30 seconds for testing purposes
hgs
parents:
diff changeset
   298
    if (QTime::currentTime().second() < 30) {
hgs
parents:
diff changeset
   299
        return ClockFormatAnalog;
hgs
parents:
diff changeset
   300
    } else {
hgs
parents:
diff changeset
   301
        return ClockFormatDigital;
hgs
parents:
diff changeset
   302
    }
hgs
parents:
diff changeset
   303
#endif // Q_OS_SYMBIAN
hgs
parents:
diff changeset
   304
}
hgs
parents:
diff changeset
   305
hgs
parents:
diff changeset
   306
void SnsrBigClockScreensaver::removeCurrentContainer()
hgs
parents:
diff changeset
   307
{
hgs
parents:
diff changeset
   308
    if ( mCurrentContainer ) {
hgs
parents:
diff changeset
   309
        disconnect(
hgs
parents:
diff changeset
   310
            &mTimer, SIGNAL(timeout()),
86
hgs
parents: 69
diff changeset
   311
            this, SLOT(updateTime())
62
hgs
parents:
diff changeset
   312
            );
hgs
parents:
diff changeset
   313
        disconnect( 
hgs
parents:
diff changeset
   314
            mCurrentContainer, SIGNAL(unlockRequested()), 
hgs
parents:
diff changeset
   315
            this, SIGNAL(unlockRequested()) );
69
hgs
parents: 62
diff changeset
   316
        if (mTimer.timerId()!= -1) {
hgs
parents: 62
diff changeset
   317
            mTimer.stop();
hgs
parents: 62
diff changeset
   318
        }
62
hgs
parents:
diff changeset
   319
        emit viewChanged(0);
hgs
parents:
diff changeset
   320
        
hgs
parents:
diff changeset
   321
        delete mCurrentContainer;
hgs
parents:
diff changeset
   322
        mCurrentContainer = 0;
hgs
parents:
diff changeset
   323
    }
69
hgs
parents: 62
diff changeset
   324
    
hgs
parents: 62
diff changeset
   325
    mMainWindow->unsetOrientation( /*animate*/false );
62
hgs
parents:
diff changeset
   326
}
hgs
parents:
diff changeset
   327
hgs
parents:
diff changeset
   328
void SnsrBigClockScreensaver::setCurrentContainer( SnsrBigClockContainer* newContainer )
hgs
parents:
diff changeset
   329
{
hgs
parents:
diff changeset
   330
    mCurrentContainer = newContainer;
69
hgs
parents: 62
diff changeset
   331
    mCurrentContainer->setParent(this);
86
hgs
parents: 69
diff changeset
   332
    connect( &mTimer, SIGNAL(timeout()), SLOT(updateTime()) );
62
hgs
parents:
diff changeset
   333
    connect( mCurrentContainer, SIGNAL(unlockRequested()), SIGNAL(unlockRequested()) );
86
hgs
parents: 69
diff changeset
   334
    
69
hgs
parents: 62
diff changeset
   335
    mCurrentContainer->setIndicatorModel(*mIndicatorModel);
hgs
parents: 62
diff changeset
   336
hgs
parents: 62
diff changeset
   337
    int updateInterval = mCurrentContainer->updateIntervalInMilliseconds(); 
hgs
parents: 62
diff changeset
   338
    // blankcontainer is empty one, don't start timer with -1 return value
hgs
parents: 62
diff changeset
   339
    if ( updateInterval != -1) {
hgs
parents: 62
diff changeset
   340
        mTimer.start(updateInterval);
hgs
parents: 62
diff changeset
   341
    }
62
hgs
parents:
diff changeset
   342
    
hgs
parents:
diff changeset
   343
    emit viewChanged(mCurrentContainer);
hgs
parents:
diff changeset
   344
}
hgs
parents:
diff changeset
   345