camerauis/cameraxui/cxengine/src/cxeenginedesktop.cpp
author hgs
Fri, 23 Jul 2010 11:35:41 +0300
changeset 45 24fd82631616
permissions -rw-r--r--
201029
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 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:
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
#include "cxeenginedesktop.h"
hgs
parents:
diff changeset
    18
#include "cxecameradevicecontroldesktop.h"
hgs
parents:
diff changeset
    19
#include "cxestillcapturecontroldesktop.h"
hgs
parents:
diff changeset
    20
#include "cxevideocapturecontroldesktop.h"
hgs
parents:
diff changeset
    21
#include "cxeviewfindercontroldesktop.h"
hgs
parents:
diff changeset
    22
#include "cxefilenamegeneratordesktop.h"
hgs
parents:
diff changeset
    23
#include "cxeautofocuscontroldesktop.h"
hgs
parents:
diff changeset
    24
#include "cxezoomcontroldesktop.h"
hgs
parents:
diff changeset
    25
#include "cxequalitypresetsdesktop.h"
hgs
parents:
diff changeset
    26
#include "cxutils.h"
hgs
parents:
diff changeset
    27
#include "cxesettingsimp.h"
hgs
parents:
diff changeset
    28
#include "cxefeaturemanagerimp.h"
hgs
parents:
diff changeset
    29
#include "cxesettingsstoredesktop.h"
hgs
parents:
diff changeset
    30
#include "cxesensoreventhandlerdesktop.h"
hgs
parents:
diff changeset
    31
#include "cxefilesavethreaddesktop.h"
hgs
parents:
diff changeset
    32
#include "cxecameradevicedesktop.h"
hgs
parents:
diff changeset
    33
#include "cxememorymonitor.h"
hgs
parents:
diff changeset
    34
#include "cxegeotaggingtrail.h"
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
//  Member Functions
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
CxeEngineDesktop::CxeEngineDesktop()
hgs
parents:
diff changeset
    40
    : mCameraDeviceControl(NULL),
hgs
parents:
diff changeset
    41
      mViewfinderControl(NULL),
hgs
parents:
diff changeset
    42
      mSnapshotControl(NULL),
hgs
parents:
diff changeset
    43
      mStillCaptureControl(NULL),
hgs
parents:
diff changeset
    44
      mVideoCaptureControl(NULL),
hgs
parents:
diff changeset
    45
      mAutoFocusControl(NULL),
hgs
parents:
diff changeset
    46
      mZoomControl(NULL),
hgs
parents:
diff changeset
    47
      mImageDataQueue(NULL),
hgs
parents:
diff changeset
    48
      mSettings(NULL),
hgs
parents:
diff changeset
    49
      mFeatureManager(NULL),
hgs
parents:
diff changeset
    50
      mFilenameGenerator(NULL),
hgs
parents:
diff changeset
    51
      mSensorEventHandler(NULL),
hgs
parents:
diff changeset
    52
      mQualityPresets(NULL),
hgs
parents:
diff changeset
    53
      mFileSaveThread(NULL),
hgs
parents:
diff changeset
    54
      mCameraDevice(NULL),
hgs
parents:
diff changeset
    55
      mDiskMonitor(NULL),
hgs
parents:
diff changeset
    56
      mMemoryMonitor(NULL),
hgs
parents:
diff changeset
    57
      mGeoTaggingTrail(NULL)
hgs
parents:
diff changeset
    58
{
hgs
parents:
diff changeset
    59
    CX_DEBUG_IN_FUNCTION();
hgs
parents:
diff changeset
    60
}
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
/*!
hgs
parents:
diff changeset
    64
    Create all control classes and connect relevant signals
hgs
parents:
diff changeset
    65
*/
hgs
parents:
diff changeset
    66
void CxeEngineDesktop::construct()
hgs
parents:
diff changeset
    67
{
hgs
parents:
diff changeset
    68
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
    createControls();
hgs
parents:
diff changeset
    71
    connectSignals();
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents:
diff changeset
    74
}
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
/*!
hgs
parents:
diff changeset
    78
    Create all control classes
hgs
parents:
diff changeset
    79
*/
hgs
parents:
diff changeset
    80
void CxeEngineDesktop::createControls()
hgs
parents:
diff changeset
    81
{
hgs
parents:
diff changeset
    82
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
    if (!mVideoCaptureControl) {
hgs
parents:
diff changeset
    85
        CxeCameraDeviceControlDesktop *deviceControl =
hgs
parents:
diff changeset
    86
                new CxeCameraDeviceControlDesktop();
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
        mCameraDeviceControl = deviceControl;
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
        mQualityPresets = new CxeQualityPresetsDesktop();
hgs
parents:
diff changeset
    91
        CX_DEBUG_ASSERT(mQualityPresets);
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
        CxeSettingsStoreDesktop *settingsStore = new CxeSettingsStoreDesktop();
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
        //ownership of settings store transferred to the settings.
hgs
parents:
diff changeset
    96
        mSettings = new CxeSettingsImp(settingsStore);
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
        // Loading current camera mode value from settings store and updating
hgs
parents:
diff changeset
    99
        // devicecontrol
hgs
parents:
diff changeset
   100
        Cxe::CameraMode cameraMode = mSettings->get<Cxe::CameraMode>(CxeSettingIds::CAMERA_MODE, Cxe::ImageMode);
hgs
parents:
diff changeset
   101
        // set current camera mode to devicecontrol.
hgs
parents:
diff changeset
   102
        mCameraDeviceControl->setMode(cameraMode);
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
        static_cast<CxeSettingsImp*>(mSettings)->loadSettings(mode());
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
        mFeatureManager = new CxeFeatureManagerImp(*mSettings);
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
        mMemoryMonitor = new CxeMemoryMonitor(*mFeatureManager);
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
        // sensor event handler initialization
hgs
parents:
diff changeset
   111
        mSensorEventHandler = new CxeSensorEventHandlerDesktop();
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
        mFilenameGenerator = new CxeFilenameGeneratorDesktop();
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
        mFileSaveThread = new CxeFileSaveThreadDesktop(this);
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
        mCameraDevice = new CxeCameraDeviceDesktop();
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
        mViewfinderControl = new CxeViewfinderControlDesktop(*mCameraDevice);
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
        mAutoFocusControl = new CxeAutoFocusControlDesktop();
hgs
parents:
diff changeset
   122
        
hgs
parents:
diff changeset
   123
        mStillCaptureControl = new CxeStillCaptureControlDesktop(
hgs
parents:
diff changeset
   124
            *mCameraDevice, *mViewfinderControl,
hgs
parents:
diff changeset
   125
            *mCameraDeviceControl, *mFilenameGenerator,
hgs
parents:
diff changeset
   126
            *mAutoFocusControl, *mFileSaveThread);
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
        mZoomControl = new CxeZoomControlDesktop(*mCameraDeviceControl);
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
        mVideoCaptureControl = new CxeVideoCaptureControlDesktop(
hgs
parents:
diff changeset
   131
            *mCameraDevice,*mViewfinderControl,
hgs
parents:
diff changeset
   132
            *mCameraDeviceControl, *mFilenameGenerator,
hgs
parents:
diff changeset
   133
            *mQualityPresets);
hgs
parents:
diff changeset
   134
   
hgs
parents:
diff changeset
   135
        mGeoTaggingTrail = new CxeGeoTaggingTrail(*mStillCaptureControl,
hgs
parents:
diff changeset
   136
                                                  *mVideoCaptureControl, *mSettings);
hgs
parents:
diff changeset
   137
    }
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents:
diff changeset
   140
}
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
/*!
hgs
parents:
diff changeset
   143
    Connect internal signals for control classes
hgs
parents:
diff changeset
   144
*/
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
void CxeEngineDesktop::connectSignals()
hgs
parents:
diff changeset
   147
{
hgs
parents:
diff changeset
   148
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
    // connecting scene setting change callbacks to ViewfinderControl
hgs
parents:
diff changeset
   151
    connect(mSettings,
hgs
parents:
diff changeset
   152
            SIGNAL(settingValueChanged(const QString&,QVariant)),
hgs
parents:
diff changeset
   153
            mViewfinderControl,
hgs
parents:
diff changeset
   154
            SLOT(handleSettingValueChanged(const QString&,QVariant)));
hgs
parents:
diff changeset
   155
hgs
parents:
diff changeset
   156
    connect(mSettings,
hgs
parents:
diff changeset
   157
            SIGNAL(sceneChanged(CxeScene&)),
hgs
parents:
diff changeset
   158
            mViewfinderControl,
hgs
parents:
diff changeset
   159
            SLOT(handleSceneChanged(CxeScene&)));
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
    // enabling scene setting change callbacks to Autofocus control
hgs
parents:
diff changeset
   162
    connect(mSettings,
hgs
parents:
diff changeset
   163
            SIGNAL(sceneChanged(CxeScene&)),
hgs
parents:
diff changeset
   164
            mAutoFocusControl,
hgs
parents:
diff changeset
   165
            SLOT(handleSceneChanged(CxeScene&)));
hgs
parents:
diff changeset
   166
hgs
parents:
diff changeset
   167
    // connecting Autofocus state change callbacks to stillcapturecontrol
hgs
parents:
diff changeset
   168
    connect(mAutoFocusControl,
hgs
parents:
diff changeset
   169
            SIGNAL(stateChanged(CxeAutoFocusControl::State, CxeError::Id)),
hgs
parents:
diff changeset
   170
            mStillCaptureControl,
hgs
parents:
diff changeset
   171
            SLOT(handleAutofocusStateChanged(CxeAutoFocusControl::State,CxeError::Id)));
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
    // Connect signals for ECam events
hgs
parents:
diff changeset
   174
    connect(mCameraDeviceControl,
hgs
parents:
diff changeset
   175
            SIGNAL(cameraEvent(int,int)),
hgs
parents:
diff changeset
   176
            mVideoCaptureControl,
hgs
parents:
diff changeset
   177
            SLOT(handleCameraEvent(int,int)));
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
    connect(mCameraDeviceControl,
hgs
parents:
diff changeset
   180
            SIGNAL(cameraEvent(int,int)),
hgs
parents:
diff changeset
   181
            mAutoFocusControl,
hgs
parents:
diff changeset
   182
            SLOT(handleCameraEvent(int,int)));
hgs
parents:
diff changeset
   183
hgs
parents:
diff changeset
   184
    // Connect signal for device ready events
hgs
parents:
diff changeset
   185
    connect(mCameraDeviceControl,
hgs
parents:
diff changeset
   186
            SIGNAL(deviceReady()),
hgs
parents:
diff changeset
   187
            this,
hgs
parents:
diff changeset
   188
            SLOT(doInit()));
hgs
parents:
diff changeset
   189
hgs
parents:
diff changeset
   190
    // Connect image and video init complete signals to
hgs
parents:
diff changeset
   191
    // CameraDeviceControl initModeComplete
hgs
parents:
diff changeset
   192
    connect(mStillCaptureControl,
hgs
parents:
diff changeset
   193
            SIGNAL(imagePrepareComplete(CxeError::Id)),
hgs
parents:
diff changeset
   194
            mCameraDeviceControl,
hgs
parents:
diff changeset
   195
            SIGNAL(initModeComplete(CxeError::Id)));
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
    connect(mVideoCaptureControl,
hgs
parents:
diff changeset
   198
            SIGNAL(videoPrepareComplete(CxeError::Id)),
hgs
parents:
diff changeset
   199
            mCameraDeviceControl,
hgs
parents:
diff changeset
   200
            SIGNAL(initModeComplete(CxeError::Id)));
hgs
parents:
diff changeset
   201
hgs
parents:
diff changeset
   202
    // Zoom is prepared once the image/video emits prepare zoom signals
hgs
parents:
diff changeset
   203
    connect(mStillCaptureControl,
hgs
parents:
diff changeset
   204
            SIGNAL(prepareZoomForStill(int)),
hgs
parents:
diff changeset
   205
            mZoomControl,
hgs
parents:
diff changeset
   206
            SLOT(prepareZoomForStill(int)));
hgs
parents:
diff changeset
   207
    
hgs
parents:
diff changeset
   208
    connect(mVideoCaptureControl,
hgs
parents:
diff changeset
   209
            SIGNAL(prepareZoomForVideo()),
hgs
parents:
diff changeset
   210
            mZoomControl,
hgs
parents:
diff changeset
   211
            SLOT(prepareZoomForVideo()));
hgs
parents:
diff changeset
   212
hgs
parents:
diff changeset
   213
    // connect camera device control prepare for release signal to stop location trail slot
hgs
parents:
diff changeset
   214
    connect(mCameraDevice,
hgs
parents:
diff changeset
   215
            SIGNAL(prepareForRelease()),
hgs
parents:
diff changeset
   216
            mGeoTaggingTrail,
hgs
parents:
diff changeset
   217
            SLOT(stop()), Qt::UniqueConnection);
hgs
parents:
diff changeset
   218
hgs
parents:
diff changeset
   219
    // init camera device control. We init the camera device control
hgs
parents:
diff changeset
   220
    // when all necessary engine classes are constructed.
hgs
parents:
diff changeset
   221
    mCameraDeviceControl->init();
hgs
parents:
diff changeset
   222
hgs
parents:
diff changeset
   223
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents:
diff changeset
   224
}
hgs
parents:
diff changeset
   225
hgs
parents:
diff changeset
   226
CxeEngineDesktop::~CxeEngineDesktop()
hgs
parents:
diff changeset
   227
{
hgs
parents:
diff changeset
   228
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents:
diff changeset
   229
hgs
parents:
diff changeset
   230
    delete mGeoTaggingTrail;
hgs
parents:
diff changeset
   231
    delete mAutoFocusControl;
hgs
parents:
diff changeset
   232
    delete mZoomControl;
hgs
parents:
diff changeset
   233
    delete mStillCaptureControl;
hgs
parents:
diff changeset
   234
    delete mVideoCaptureControl;
hgs
parents:
diff changeset
   235
    delete mViewfinderControl;
hgs
parents:
diff changeset
   236
    delete mFilenameGenerator;
hgs
parents:
diff changeset
   237
    delete mMemoryMonitor;
hgs
parents:
diff changeset
   238
    delete mFeatureManager;
hgs
parents:
diff changeset
   239
    delete mSettings;
hgs
parents:
diff changeset
   240
    delete mCameraDeviceControl;
hgs
parents:
diff changeset
   241
    delete mQualityPresets;
hgs
parents:
diff changeset
   242
    delete mCameraDevice;
hgs
parents:
diff changeset
   243
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents:
diff changeset
   244
}
hgs
parents:
diff changeset
   245
hgs
parents:
diff changeset
   246
CxeCameraDeviceControl &CxeEngineDesktop::cameraDeviceControl()
hgs
parents:
diff changeset
   247
{
hgs
parents:
diff changeset
   248
    return *mCameraDeviceControl;
hgs
parents:
diff changeset
   249
}
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
CxeViewfinderControl &CxeEngineDesktop::viewfinderControl()
hgs
parents:
diff changeset
   252
{
hgs
parents:
diff changeset
   253
    return *mViewfinderControl;
hgs
parents:
diff changeset
   254
}
hgs
parents:
diff changeset
   255
hgs
parents:
diff changeset
   256
CxeSnapshotControl &CxeEngineDesktop::snapshotControl()
hgs
parents:
diff changeset
   257
{
hgs
parents:
diff changeset
   258
    return *mSnapshotControl;
hgs
parents:
diff changeset
   259
}
hgs
parents:
diff changeset
   260
hgs
parents:
diff changeset
   261
CxeStillCaptureControl &CxeEngineDesktop::stillCaptureControl()
hgs
parents:
diff changeset
   262
{
hgs
parents:
diff changeset
   263
    return *mStillCaptureControl;
hgs
parents:
diff changeset
   264
}
hgs
parents:
diff changeset
   265
hgs
parents:
diff changeset
   266
CxeVideoCaptureControl &CxeEngineDesktop::videoCaptureControl()
hgs
parents:
diff changeset
   267
{
hgs
parents:
diff changeset
   268
    return *mVideoCaptureControl;
hgs
parents:
diff changeset
   269
}
hgs
parents:
diff changeset
   270
hgs
parents:
diff changeset
   271
CxeAutoFocusControl &CxeEngineDesktop::autoFocusControl()
hgs
parents:
diff changeset
   272
{
hgs
parents:
diff changeset
   273
    return *mAutoFocusControl;
hgs
parents:
diff changeset
   274
}
hgs
parents:
diff changeset
   275
hgs
parents:
diff changeset
   276
CxeZoomControl &CxeEngineDesktop::zoomControl()
hgs
parents:
diff changeset
   277
{
hgs
parents:
diff changeset
   278
    return *mZoomControl;
hgs
parents:
diff changeset
   279
}
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
// Get the settings handle
hgs
parents:
diff changeset
   282
CxeSettings &CxeEngineDesktop::settings()
hgs
parents:
diff changeset
   283
{
hgs
parents:
diff changeset
   284
    return *mSettings;
hgs
parents:
diff changeset
   285
}
hgs
parents:
diff changeset
   286
hgs
parents:
diff changeset
   287
CxeFeatureManager& CxeEngineDesktop::featureManager()
hgs
parents:
diff changeset
   288
{
hgs
parents:
diff changeset
   289
    return *mFeatureManager;
hgs
parents:
diff changeset
   290
}
hgs
parents:
diff changeset
   291
hgs
parents:
diff changeset
   292
/*
hgs
parents:
diff changeset
   293
* Returns true, if the engine is ready or else false.
hgs
parents:
diff changeset
   294
*/
hgs
parents:
diff changeset
   295
bool CxeEngineDesktop::isEngineReady()
hgs
parents:
diff changeset
   296
{
hgs
parents:
diff changeset
   297
    bool ready = true;
hgs
parents:
diff changeset
   298
    return ready;
hgs
parents:
diff changeset
   299
}
hgs
parents:
diff changeset
   300
hgs
parents:
diff changeset
   301
/*!
hgs
parents:
diff changeset
   302
* Get memory monitor utility handle.
hgs
parents:
diff changeset
   303
*/
hgs
parents:
diff changeset
   304
CxeMemoryMonitor &CxeEngineDesktop::memoryMonitor()
hgs
parents:
diff changeset
   305
{
hgs
parents:
diff changeset
   306
    return *mMemoryMonitor;
hgs
parents:
diff changeset
   307
}
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
/*!
hgs
parents:
diff changeset
   310
 * Get geotaggingtrail handle
hgs
parents:
diff changeset
   311
 */
hgs
parents:
diff changeset
   312
CxeGeoTaggingTrail &CxeEngineDesktop::geoTaggingTrail()
hgs
parents:
diff changeset
   313
{
hgs
parents:
diff changeset
   314
    return *mGeoTaggingTrail;
hgs
parents:
diff changeset
   315
}
hgs
parents:
diff changeset
   316
hgs
parents:
diff changeset
   317
Cxe::CameraMode CxeEngineDesktop::mode() const
hgs
parents:
diff changeset
   318
{
hgs
parents:
diff changeset
   319
    return mCameraDeviceControl->mode();
hgs
parents:
diff changeset
   320
}
hgs
parents:
diff changeset
   321
hgs
parents:
diff changeset
   322
/*!
hgs
parents:
diff changeset
   323
 * Set camera mode.
hgs
parents:
diff changeset
   324
 */
hgs
parents:
diff changeset
   325
void CxeEngineDesktop::setMode(Cxe::CameraMode mode)
hgs
parents:
diff changeset
   326
{
hgs
parents:
diff changeset
   327
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents:
diff changeset
   328
    mCameraDeviceControl->setMode(mode);
hgs
parents:
diff changeset
   329
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents:
diff changeset
   330
}
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
void CxeEngineDesktop::initMode(Cxe::CameraMode cameraMode)
hgs
parents:
diff changeset
   333
{
hgs
parents:
diff changeset
   334
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents:
diff changeset
   335
hgs
parents:
diff changeset
   336
    mCameraDeviceControl->setMode(cameraMode);
hgs
parents:
diff changeset
   337
hgs
parents:
diff changeset
   338
    // load settings whenever we change mode or start camera or switch camera
hgs
parents:
diff changeset
   339
    CxeSettingsImp *settingsImp = qobject_cast<CxeSettingsImp*>(mSettings);
hgs
parents:
diff changeset
   340
    if (settingsImp) {
hgs
parents:
diff changeset
   341
        settingsImp->loadSettings(mode());
hgs
parents:
diff changeset
   342
    }
hgs
parents:
diff changeset
   343
hgs
parents:
diff changeset
   344
    if (cameraMode == Cxe::ImageMode) {
hgs
parents:
diff changeset
   345
        mVideoCaptureControl->deinit();
hgs
parents:
diff changeset
   346
        mStillCaptureControl->init();
hgs
parents:
diff changeset
   347
    } else {
hgs
parents:
diff changeset
   348
        mStillCaptureControl->deinit();
hgs
parents:
diff changeset
   349
        mVideoCaptureControl->init();
hgs
parents:
diff changeset
   350
    }
hgs
parents:
diff changeset
   351
    mFilenameGenerator->init(cameraMode);
hgs
parents:
diff changeset
   352
hgs
parents:
diff changeset
   353
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents:
diff changeset
   354
}
hgs
parents:
diff changeset
   355
hgs
parents:
diff changeset
   356
// End of file