camerauis/cameraxui/cxui/src/cxuipostcaptureview.cpp
author hgs
Fri, 17 Sep 2010 16:35:28 +0300
changeset 58 ddba9caa7f32
parent 46 c826656d6714
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
     2
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
#include <QDebug>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include <QPixmap>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include <QTimer>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <QFileInfo>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <QApplication>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <QGraphicsRectItem>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <QBrush>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <QDir>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <QProcess>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <hblabel.h>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include <hbmainwindow.h>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <hbtoolbar.h>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <hbaction.h>
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include <hbmessagebox.h>
58
hgs
parents: 46
diff changeset
    32
#include <afactivitystorage.h>
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
46
hgs
parents: 42
diff changeset
    34
#include <xqaiwdecl.h>
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
    35
#include <shareui.h>
41
hgs
parents: 40
diff changeset
    36
#include <thumbnailmanager_qt.h>
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#include "cxeviewfindercontrol.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
#include "cxuienums.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#include "cxuipostcaptureview.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#include "cxeengine.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
#include "cxecameradevicecontrol.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
#include "cxestillcapturecontrol.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
#include "cxevideocapturecontrol.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
#include "cxestillimage.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#include "cxutils.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
#include "cxefeaturemanager.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
#include "cxuidocumentloader.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
#include "cxesettings.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
#include "cxenamespace.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
#include "cxuiserviceprovider.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    53
#ifdef Q_OS_SYMBIAN
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
#include "OstTraceDefinitions.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
#ifdef OST_TRACE_COMPILER_IN_USE
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
#include "cxuipostcaptureviewTraces.h"
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
#endif
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    58
#endif //Q_OS_SYMBIAN
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
using namespace CxUiLayout;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
using namespace Cxe;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
41
hgs
parents: 40
diff changeset
    65
namespace {
hgs
parents: 40
diff changeset
    66
    const QString FILENAME_KEY = "filename";
hgs
parents: 40
diff changeset
    67
    const int CXUI_STOP_VIEWFINDER_TIMEOUT = 5000; //  5 seconds
hgs
parents: 40
diff changeset
    68
    const int CXUI_RELEASE_CAMERA_TIMEOUT = 60000; // 60 seconds
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    69
}
41
hgs
parents: 40
diff changeset
    70
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    72
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    73
* Constructor.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    74
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
CxuiPostcaptureView::CxuiPostcaptureView(QGraphicsItem *parent) :
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
    76
    CxuiView(parent),
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
    mStillToolbar(NULL),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
    mVideoToolbar(NULL),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
    mEmbeddedToolbar(NULL),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
    mBackgroundItem(NULL),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
    mImageLabel(NULL),
40
hgs
parents: 39
diff changeset
    82
    mShareUi(NULL),
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
    mStopViewfinderTimer(this),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
    mReleaseCameraTimer(this),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
    mPostcaptureTimer(this),
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
    86
    mTimersStarted(false),
41
hgs
parents: 40
diff changeset
    87
    mDeleteNoteOpen(false),
hgs
parents: 40
diff changeset
    88
    mFilename(QString::null),
hgs
parents: 40
diff changeset
    89
    mThumbnailManager(NULL)
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
    CX_DEBUG_IN_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    96
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    97
* Destructor.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
    98
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
CxuiPostcaptureView::~CxuiPostcaptureView()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
    QCoreApplication::instance()->removeEventFilter(this);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
    stopTimers();
41
hgs
parents: 40
diff changeset
   104
    delete mThumbnailManager;
40
hgs
parents: 39
diff changeset
   105
    delete mShareUi;
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   109
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   110
* Second phase construction.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   111
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
void CxuiPostcaptureView::construct(HbMainWindow *mainwindow, CxeEngine *engine,
41
hgs
parents: 40
diff changeset
   113
                                    CxuiDocumentLoader *documentLoader,
58
hgs
parents: 46
diff changeset
   114
                                    CxuiCaptureKeyHandler *keyHandler)
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
{
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   116
    Q_UNUSED(keyHandler);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
58
hgs
parents: 46
diff changeset
   119
    CxuiView::construct(mainwindow, engine, documentLoader, NULL);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
    // set back action to go back to pre-capture
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
    HbAction *backAction = new HbAction(Hb::BackNaviAction, this);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
    connect(backAction, SIGNAL(triggered()), this, SLOT(goToPrecaptureView()));
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
    setNavigationAction(backAction);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
    // creates black background item
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
    createBackground();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
    CX_DEBUG_ASSERT(mDocumentLoader);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
    QGraphicsWidget *widget = 0;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
    widget = mDocumentLoader->findWidget(POST_CAPTURE_SNAPSHOT_LABEL);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
    mImageLabel = qobject_cast<HbLabel *>(widget);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
    CX_DEBUG_ASSERT(mImageLabel);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
40
hgs
parents: 39
diff changeset
   135
    mShareUi = new ShareUi();
hgs
parents: 39
diff changeset
   136
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
    // get toolbar pointers from the documentloader
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
    widget = mDocumentLoader->findWidget(STILL_POST_CAPTURE_TOOLBAR);
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   139
    // This resize is a workaround to get toolbar shown correctly.
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   140
    widget->resize(60, 300);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
    mStillToolbar = qobject_cast<HbToolBar *> (widget);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
    CX_DEBUG_ASSERT(mStillToolbar);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
    widget = mDocumentLoader->findWidget(VIDEO_POST_CAPTURE_TOOLBAR);
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   145
    // This resize is a workaround to get toolbar shown correctly.
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   146
    widget->resize(60, 300);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
    mVideoToolbar = qobject_cast<HbToolBar *> (widget);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
    CX_DEBUG_ASSERT(mVideoToolbar);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
    widget = mDocumentLoader->findWidget(EMBEDDED_POST_CAPTURE_TOOLBAR);
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   151
    // This resize is a workaround to get toolbar shown correctly.
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   152
    widget->resize(60, 300);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
    mEmbeddedToolbar = qobject_cast<HbToolBar *> (widget);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
    CX_DEBUG_ASSERT(mEmbeddedToolbar);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
    mStopViewfinderTimer.setSingleShot(true);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
    connect(&mStopViewfinderTimer, SIGNAL(timeout()),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
            this, SLOT(stopViewfinder()));
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
    mReleaseCameraTimer.setSingleShot(true);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
    connect(&mReleaseCameraTimer, SIGNAL(timeout()),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
            this, SLOT(releaseCamera()));
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
    mPostcaptureTimer.setSingleShot(true);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
    connect(&mPostcaptureTimer, SIGNAL(timeout()),
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
            this, SLOT(goToPrecaptureView()));
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    // set focus flags
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
    setFlag(QGraphicsItem::ItemIsFocusable);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
    setFocusPolicy(Qt::StrongFocus);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
    QCoreApplication::instance()->installEventFilter(this);
58
hgs
parents: 46
diff changeset
   173
hgs
parents: 46
diff changeset
   174
    connect(mEngine, SIGNAL(fileSaved(CxeError::Id, const QString&)), this, SLOT(handleFileSaved()));
hgs
parents: 46
diff changeset
   175
hgs
parents: 46
diff changeset
   176
    if (CxuiServiceProvider::isCameraEmbedded()) {
hgs
parents: 46
diff changeset
   177
        setTitle(CxuiServiceProvider::instance()->windowTitle());
hgs
parents: 46
diff changeset
   178
    }
hgs
parents: 46
diff changeset
   179
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   183
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   184
* Handle pressing capture key.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   185
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
void CxuiPostcaptureView::handleCaptureKeyPressed()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   190
    if (!mDeleteNoteOpen) {
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   191
        goToPrecaptureView();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   192
    }
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   197
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   198
* Handle pressing auto focus key.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   199
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
void CxuiPostcaptureView::handleAutofocusKeyPressed()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   204
    if (!mDeleteNoteOpen) {
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   205
        goToPrecaptureView();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   206
    }
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
/*!
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
    Slot for starting video playing.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
 */
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
void CxuiPostcaptureView::playVideo()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
{
41
hgs
parents: 40
diff changeset
   216
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents: 40
diff changeset
   217
hgs
parents: 40
diff changeset
   218
    stopTimers();
hgs
parents: 40
diff changeset
   219
    releaseCamera();
hgs
parents: 40
diff changeset
   220
hgs
parents: 40
diff changeset
   221
    QString videoFile(getCurrentFilename());
hgs
parents: 40
diff changeset
   222
46
hgs
parents: 42
diff changeset
   223
    XQAiwRequest *videoRequest = mAppManager.create(XQI_VIDEO_PLAY, XQOP_VIDEO_PLAY, true);
41
hgs
parents: 40
diff changeset
   224
hgs
parents: 40
diff changeset
   225
    if (videoRequest) {
hgs
parents: 40
diff changeset
   226
        QVariantList fileList;
hgs
parents: 40
diff changeset
   227
        fileList.append(QVariant(videoFile));
hgs
parents: 40
diff changeset
   228
        videoRequest->setArguments(fileList);
hgs
parents: 40
diff changeset
   229
hgs
parents: 40
diff changeset
   230
        CX_DEBUG(("CxuiPostcaptureView: sending request"));
hgs
parents: 40
diff changeset
   231
        QVariant result;
hgs
parents: 40
diff changeset
   232
        bool res = videoRequest->send(result);
hgs
parents: 40
diff changeset
   233
        if (res) {
hgs
parents: 40
diff changeset
   234
            CX_DEBUG(("CxuiPostcaptureView: request sent, received \"%s\"",
46
hgs
parents: 42
diff changeset
   235
                      qPrintable(result.toString())));
41
hgs
parents: 40
diff changeset
   236
        } else {
hgs
parents: 40
diff changeset
   237
            CX_DEBUG(("CxuiPostcaptureView: request sending failed, error=%d",
hgs
parents: 40
diff changeset
   238
                      videoRequest->lastError()));
hgs
parents: 40
diff changeset
   239
        }
hgs
parents: 40
diff changeset
   240
        delete videoRequest;
hgs
parents: 40
diff changeset
   241
        videoRequest = NULL;
hgs
parents: 40
diff changeset
   242
    }
hgs
parents: 40
diff changeset
   243
hgs
parents: 40
diff changeset
   244
    CX_DEBUG_EXIT_FUNCTION();
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   245
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   248
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   249
* Show delete query.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   250
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
void CxuiPostcaptureView::showDeleteNote()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
    hideControls();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   257
    QString text(mEngine->mode() == Cxe::VideoMode
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   258
               ? hbTrId("txt_cam_other_delete_video_clip")
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   259
               : hbTrId("txt_cam_other_delete_image"));
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   260
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   261
    HbMessageBox::question(text,
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   262
                           this,
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   263
                           SLOT(handleDeleteDialogClosed(int)),
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   264
                           HbMessageBox::Yes | HbMessageBox::No);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   266
    mDeleteNoteOpen = true;
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   267
    CX_DEBUG_EXIT_FUNCTION();
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   268
}
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   269
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   270
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   271
* Handle closing delete query dialog.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   272
* @param action HbMessageBox::Yes if user accepted the delete query, HbMessageBox::No if not.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   273
*/
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   274
void CxuiPostcaptureView::handleDeleteDialogClosed(int action)
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   275
{
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   276
    CX_DEBUG_ENTER_FUNCTION();
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   277
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   278
    hideControls();
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   279
    mDeleteNoteOpen = false;
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   280
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   281
    // Check that user confirmed delete
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   282
    if (action == HbMessageBox::Yes) {
46
hgs
parents: 42
diff changeset
   283
        QFileInfo fileInfo(getCurrentFilename());
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
        if (fileInfo.exists()) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
            //! @todo
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
            // We can retry deletion if file deletion does'nt succeed,
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
            // but this is left out for the time being since the user
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
            // can't delete it so early that it's not saved yet or
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
            // is being harvested by MdS etc.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
            QDir dir = fileInfo.absolutePath();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
            bool ok = dir.remove(fileInfo.fileName());
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   292
            CX_DEBUG(("Delete file [%s], status %d", qPrintable(fileInfo.fileName()), ok));
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
            // Go back to precapture view
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
            goToPrecaptureView();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
        }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   299
    CX_DEBUG_EXIT_FUNCTION();
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
58
hgs
parents: 46
diff changeset
   302
/*!
hgs
parents: 46
diff changeset
   303
 *  Handle file saving complete event. Toolbar is shown when file is saved.
hgs
parents: 46
diff changeset
   304
 */
hgs
parents: 46
diff changeset
   305
void CxuiPostcaptureView::handleFileSaved()
hgs
parents: 46
diff changeset
   306
{
hgs
parents: 46
diff changeset
   307
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents: 46
diff changeset
   308
    showControls();
hgs
parents: 46
diff changeset
   309
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents: 46
diff changeset
   310
}
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
/*!
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
    Slot for handling image/video sharing.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
 */
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
void CxuiPostcaptureView::launchShare()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
    CX_DEBUG_ENTER_FUNCTION();
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   318
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
    stopTimers();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
    releaseCamera();
40
hgs
parents: 39
diff changeset
   321
    hideControls();
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
    QString filename = getCurrentFilename();
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   323
    QStringList filelist;
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   324
    filelist.append(filename);
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   325
40
hgs
parents: 39
diff changeset
   326
    mShareUi->send(filelist, true);
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   327
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   331
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   332
* Go to pre-capture view.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   333
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
void CxuiPostcaptureView::goToPrecaptureView()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   338
    // Cannot return to pre-capture while stopping in video mode
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
    if (mEngine->mode() != Cxe::VideoMode ||
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
        mEngine->videoCaptureControl().state() != CxeVideoCaptureControl::Stopping) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
        stopTimers();
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   342
        // Re-enabling starting timers the next time we enter post capture view.
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   343
        mTimersStarted = false;
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   344
41
hgs
parents: 40
diff changeset
   345
        // reset saved filename
hgs
parents: 40
diff changeset
   346
        mFilename = QString::null;
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
        // Switch to pre-capture view
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
        emit changeToPrecaptureView();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   355
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   356
* Stop viewfinder.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   357
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
void CxuiPostcaptureView::stopViewfinder()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
    if (mMainWindow->currentView() == this) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
        mEngine->viewfinderControl().stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
    mStopViewfinderTimer.stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   370
/*!
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   371
* Hides toolbar.
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   372
*/
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   373
void CxuiPostcaptureView::hideToolbar()
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
    if (mStillToolbar) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
        mStillToolbar->hide();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
    if (mVideoToolbar) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
        mVideoToolbar->hide();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
    if (mEmbeddedToolbar) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
        mEmbeddedToolbar->hide();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   388
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   389
* Handle events.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   390
* Needed for restarting timers.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   391
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
bool CxuiPostcaptureView::eventFilter(QObject *object, QEvent *event)
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
    Q_UNUSED(object)
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
    bool eventWasConsumed = false;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
    switch (event->type())
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
    {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
    case QEvent::GraphicsSceneMouseRelease:
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
        mHideControlsTimeout.start();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
        break;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
    case QEvent::GraphicsSceneMousePress:
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
        mHideControlsTimeout.stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
        // stop the postcapture timer
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
        mPostcaptureTimer.stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
        break;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
    default:
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
        break;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
    return eventWasConsumed;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
/*!
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   415
* Paint method.
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   416
* Used for performance tracing purposes.
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
*/
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   418
void CxuiPostcaptureView::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
{
46
hgs
parents: 42
diff changeset
   420
    // Performance trace for checking shot to snapshot time.
hgs
parents: 42
diff changeset
   421
    // Guard that we actually have the snapshot set before outputting the trace.
hgs
parents: 42
diff changeset
   422
    if (mImageLabel && !mImageLabel->icon().isNull()) {
hgs
parents: 42
diff changeset
   423
        OstTrace0(camerax_performance, CXUIPOSTCAPTUREVIEW_SNAPSHOT_DRAW, "msg: e_CX_SHOT_TO_SNAPSHOT 0");
hgs
parents: 42
diff changeset
   424
    }
hgs
parents: 42
diff changeset
   425
41
hgs
parents: 40
diff changeset
   426
    QGraphicsWidget::paint(painter, option, widget);
hgs
parents: 40
diff changeset
   427
}
hgs
parents: 40
diff changeset
   428
hgs
parents: 40
diff changeset
   429
/*!
hgs
parents: 40
diff changeset
   430
 * Restore view state from activity.
hgs
parents: 40
diff changeset
   431
 * @param activityId Activity id
hgs
parents: 40
diff changeset
   432
 * @param data Activity data
hgs
parents: 40
diff changeset
   433
 */
hgs
parents: 40
diff changeset
   434
void CxuiPostcaptureView::restoreActivity(const QString &activityId, const QVariant &data)
hgs
parents: 40
diff changeset
   435
{
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   436
    Q_UNUSED(activityId);
41
hgs
parents: 40
diff changeset
   437
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents: 40
diff changeset
   438
hgs
parents: 40
diff changeset
   439
    // get filename. if filename is not found (toString() returns empty string)
hgs
parents: 40
diff changeset
   440
    // we will go back to pre-capture in updateSnapshotImage()
hgs
parents: 40
diff changeset
   441
    mFilename = data.toMap()[FILENAME_KEY].toString();
46
hgs
parents: 42
diff changeset
   442
    CX_DEBUG(("Got filename [%s] from activity", qPrintable(mFilename)));
41
hgs
parents: 40
diff changeset
   443
hgs
parents: 40
diff changeset
   444
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents: 40
diff changeset
   445
}
hgs
parents: 40
diff changeset
   446
hgs
parents: 40
diff changeset
   447
/*!
hgs
parents: 40
diff changeset
   448
 * Save view state to activity.
hgs
parents: 40
diff changeset
   449
 */
hgs
parents: 40
diff changeset
   450
void CxuiPostcaptureView::saveActivity()
hgs
parents: 40
diff changeset
   451
{
hgs
parents: 40
diff changeset
   452
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents: 40
diff changeset
   453
    QVariantMap data;
hgs
parents: 40
diff changeset
   454
    QVariantHash params;
58
hgs
parents: 46
diff changeset
   455
    AfActivityStorage activityStorage;
41
hgs
parents: 40
diff changeset
   456
hgs
parents: 40
diff changeset
   457
    QString filename = getCurrentFilename();
46
hgs
parents: 42
diff changeset
   458
    CX_DEBUG(("Saving filename [%s]", qPrintable(filename)));
41
hgs
parents: 40
diff changeset
   459
    data.insert(FILENAME_KEY, filename);
hgs
parents: 40
diff changeset
   460
hgs
parents: 40
diff changeset
   461
    QImage img(mMainWindow->rect().size(), QImage::Format_ARGB32_Premultiplied);
hgs
parents: 40
diff changeset
   462
    QPainter p(&img);
hgs
parents: 40
diff changeset
   463
    mMainWindow->render(&p, mMainWindow->rect(), mMainWindow->rect());
hgs
parents: 40
diff changeset
   464
hgs
parents: 40
diff changeset
   465
    QPixmap screenshot = QPixmap::fromImage(img);
hgs
parents: 40
diff changeset
   466
hgs
parents: 40
diff changeset
   467
    params.insert("screenshot", screenshot);
hgs
parents: 40
diff changeset
   468
    if (mEngine->mode() == Cxe::ImageMode) {
58
hgs
parents: 46
diff changeset
   469
        activityStorage.removeActivity(CxuiActivityIds::STILL_POSTCAPTURE_ACTIVITY);
hgs
parents: 46
diff changeset
   470
        activityStorage.saveActivity(CxuiActivityIds::STILL_POSTCAPTURE_ACTIVITY, data, params);
41
hgs
parents: 40
diff changeset
   471
    } else {
58
hgs
parents: 46
diff changeset
   472
        activityStorage.removeActivity(CxuiActivityIds::VIDEO_POSTCAPTURE_ACTIVITY);
hgs
parents: 46
diff changeset
   473
        activityStorage.saveActivity(CxuiActivityIds::VIDEO_POSTCAPTURE_ACTIVITY, data, params);
41
hgs
parents: 40
diff changeset
   474
    }
hgs
parents: 40
diff changeset
   475
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents: 40
diff changeset
   476
}
hgs
parents: 40
diff changeset
   477
hgs
parents: 40
diff changeset
   478
/*!
58
hgs
parents: 46
diff changeset
   479
 * Clear activity from activity storage.
41
hgs
parents: 40
diff changeset
   480
 */
hgs
parents: 40
diff changeset
   481
void CxuiPostcaptureView::clearActivity()
hgs
parents: 40
diff changeset
   482
{
hgs
parents: 40
diff changeset
   483
    CX_DEBUG_ENTER_FUNCTION();
58
hgs
parents: 46
diff changeset
   484
    AfActivityStorage activityStorage;
hgs
parents: 46
diff changeset
   485
    activityStorage.removeActivity(CxuiActivityIds::STILL_POSTCAPTURE_ACTIVITY);
hgs
parents: 46
diff changeset
   486
    activityStorage.removeActivity(CxuiActivityIds::VIDEO_POSTCAPTURE_ACTIVITY);
41
hgs
parents: 40
diff changeset
   487
    CX_DEBUG_EXIT_FUNCTION();
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   490
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   491
* Show event for this view.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   492
* Update snapshot and start timers.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   493
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
void CxuiPostcaptureView::showEvent(QShowEvent *event)
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
    QGraphicsWidget::showEvent(event);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
    if (event->type() == QEvent::Show) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
        QCoreApplication::instance()->installEventFilter(this);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
46
hgs
parents: 42
diff changeset
   503
        // Update snapshot for current file.
hgs
parents: 42
diff changeset
   504
        // If the current file does not exist anymore, return to pre-capture view.
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
        updateSnapshotImage();
46
hgs
parents: 42
diff changeset
   506
hgs
parents: 42
diff changeset
   507
        // If the image / video has been deleted, control returned to pre-capture view.
hgs
parents: 42
diff changeset
   508
        // No point to start timers or show controls then.
hgs
parents: 42
diff changeset
   509
        if (mMainWindow->currentView() == this) {
58
hgs
parents: 46
diff changeset
   510
            setTitleBarVisible(true);
hgs
parents: 46
diff changeset
   511
            setStatusBarVisible(true);
46
hgs
parents: 42
diff changeset
   512
            startTimers();
hgs
parents: 42
diff changeset
   513
        }
hgs
parents: 42
diff changeset
   514
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
        event->accept();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
42
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   521
/*!
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   522
* Hide event.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   523
* Release snapshot and stop timers.
feebad15db8c 201027_1
hgs
parents: 41
diff changeset
   524
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
void CxuiPostcaptureView::hideEvent(QHideEvent *event)
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
    QGraphicsWidget::hideEvent(event);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
    if (event->type() == QEvent::Hide) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
        // remove event filter to disable unnecessary actions
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
        QCoreApplication::instance()->removeEventFilter(this);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   535
        // Clear the snapshot.
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   536
        mImageLabel->setIcon(HbIcon());
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   537
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
        stopTimers();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
        // Hide controls to make sure title bar reacts to show()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
        // when this view is reactivated.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
        hideControls();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
        event->accept();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
/*! Shows toolbar.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
    Toolbar that is shown is selected based on current mode.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
 */
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
void CxuiPostcaptureView::showToolbar(){
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
    if (CxuiServiceProvider::isCameraEmbedded()) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
        mEmbeddedToolbar->setVisible(true);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
        mStillToolbar->setVisible(false);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
        mVideoToolbar->setVisible(false);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
    } else {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
        mEmbeddedToolbar->setVisible(false);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
        if (mEngine->mode() == ImageMode) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
            mVideoToolbar->setVisible(false);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
            mStillToolbar->setVisible(true);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
            mStillToolbar->show();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
        } else {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
            mStillToolbar->setVisible(false);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
            mVideoToolbar->setVisible(true);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   568
            mVideoToolbar->show();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   569
        }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   570
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   571
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   572
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
/*!
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
    Creates black background item. If snapshot smaller than the screen size,
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
    background is visible.
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
 */
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
void CxuiPostcaptureView::createBackground()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   582
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   583
    if (!mBackgroundItem) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   584
        mBackgroundItem = new QGraphicsRectItem(this);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   585
        QBrush blackBrush = QBrush(Qt::black);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   586
        mBackgroundItem->setBrush(blackBrush);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   587
        mBackgroundItem->setRect(mMainWindow->sceneRect());
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   588
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   589
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   590
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   591
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   592
41
hgs
parents: 40
diff changeset
   593
/*!
hgs
parents: 40
diff changeset
   594
 * Updates snapshot image. In normal case snapshot is retrieved from engine
hgs
parents: 40
diff changeset
   595
 * but if we are restoring camera to post-capture through activity, then
hgs
parents: 40
diff changeset
   596
 * we get snapshot from thumbnail manager.
hgs
parents: 40
diff changeset
   597
 */
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
void CxuiPostcaptureView::updateSnapshotImage()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
46
hgs
parents: 42
diff changeset
   602
    if (isFileDeleted()) {
hgs
parents: 42
diff changeset
   603
        // File deleted, go to pre-capture view.
hgs
parents: 42
diff changeset
   604
        CX_DEBUG(("File has been deleted, going back to pre-capture"));
hgs
parents: 42
diff changeset
   605
        goToPrecaptureView();
hgs
parents: 42
diff changeset
   606
hgs
parents: 42
diff changeset
   607
    } else if (!mFilename.isNull()) {
41
hgs
parents: 40
diff changeset
   608
        // filename set, we are restoring activity
46
hgs
parents: 42
diff changeset
   609
        if (!mThumbnailManager) {
hgs
parents: 42
diff changeset
   610
            mThumbnailManager = new ThumbnailManager();
hgs
parents: 42
diff changeset
   611
            connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
hgs
parents: 42
diff changeset
   612
                    this, SLOT(handleThumbnailReady(QPixmap)));
hgs
parents: 42
diff changeset
   613
            mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge);
hgs
parents: 42
diff changeset
   614
        }
hgs
parents: 42
diff changeset
   615
        mThumbnailManager->getThumbnail(mFilename);
hgs
parents: 42
diff changeset
   616
        CX_DEBUG(("Thumbnail requested"));
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
    } else {
46
hgs
parents: 42
diff changeset
   619
        // Normal use of post-capture view
41
hgs
parents: 40
diff changeset
   620
        QPixmap snapshot;
hgs
parents: 40
diff changeset
   621
        if (mEngine->mode() == ImageMode) {
46
hgs
parents: 42
diff changeset
   622
hgs
parents: 42
diff changeset
   623
            if (mEngine->stillCaptureControl().imageCount() > 0) {
41
hgs
parents: 40
diff changeset
   624
                snapshot = mEngine->stillCaptureControl()[0].snapshot();
hgs
parents: 40
diff changeset
   625
            }
hgs
parents: 40
diff changeset
   626
        } else {
hgs
parents: 40
diff changeset
   627
            snapshot = mEngine->videoCaptureControl().snapshot();
hgs
parents: 40
diff changeset
   628
        }
46
hgs
parents: 42
diff changeset
   629
hgs
parents: 42
diff changeset
   630
        // Update the snapshot image
hgs
parents: 42
diff changeset
   631
        handleThumbnailReady(snapshot);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   632
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   634
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   635
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   636
46
hgs
parents: 42
diff changeset
   637
/*!
hgs
parents: 42
diff changeset
   638
* Check if the file we show this post-capture view for is deleted.
hgs
parents: 42
diff changeset
   639
* This can happen e.g. if we send camera to background and delete
hgs
parents: 42
diff changeset
   640
* the file in other application. When used as activity, we may also
hgs
parents: 42
diff changeset
   641
* get the name of already deleted file as activity parameter.
hgs
parents: 42
diff changeset
   642
* @return True if the current file is deleted, false if not.
hgs
parents: 42
diff changeset
   643
*/
hgs
parents: 42
diff changeset
   644
bool CxuiPostcaptureView::isFileDeleted()
hgs
parents: 42
diff changeset
   645
{
hgs
parents: 42
diff changeset
   646
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents: 42
diff changeset
   647
hgs
parents: 42
diff changeset
   648
    bool deleted(false);
hgs
parents: 42
diff changeset
   649
hgs
parents: 42
diff changeset
   650
    // Check how we entered this view.
hgs
parents: 42
diff changeset
   651
    if (mFilename.isNull()) {
hgs
parents: 42
diff changeset
   652
        CX_DEBUG(("Checking engine filename"));
hgs
parents: 42
diff changeset
   653
        // Normally entered post-capture view.
hgs
parents: 42
diff changeset
   654
        if (mEngine->mode() == ImageMode) {
hgs
parents: 42
diff changeset
   655
            // Check that the image have been saved already.
hgs
parents: 42
diff changeset
   656
            // If not, it cannot have been deleted in that case.
hgs
parents: 42
diff changeset
   657
            CxeStillImage &image(mEngine->stillCaptureControl()[0]);
hgs
parents: 42
diff changeset
   658
            CX_DEBUG(("Image filename [%s]", qPrintable(image.filename())));
hgs
parents: 42
diff changeset
   659
            CX_DEBUG(("Image file saved: %d exists: %d", image.saved(), QFile::exists(image.filename())));
hgs
parents: 42
diff changeset
   660
            deleted = image.saved() && !QFile::exists(image.filename());
hgs
parents: 42
diff changeset
   661
        } else {
hgs
parents: 42
diff changeset
   662
            // Check that video has been stopped fully.
hgs
parents: 42
diff changeset
   663
            // If it's still stopping, QFile may not work.
hgs
parents: 42
diff changeset
   664
            CX_DEBUG(("Video filename [%s]", qPrintable(mEngine->videoCaptureControl().filename())));
hgs
parents: 42
diff changeset
   665
            deleted = mEngine->videoCaptureControl().state() != CxeVideoCaptureControl::Stopping
hgs
parents: 42
diff changeset
   666
                   && !QFile::exists(mEngine->videoCaptureControl().filename());
hgs
parents: 42
diff changeset
   667
        }
hgs
parents: 42
diff changeset
   668
    } else {
hgs
parents: 42
diff changeset
   669
        // Started as activity, check the filename given when restoring activity.
hgs
parents: 42
diff changeset
   670
        CX_DEBUG(("Checking filename saved in activity"));
hgs
parents: 42
diff changeset
   671
        deleted = !QFile::exists(mFilename);
hgs
parents: 42
diff changeset
   672
    }
hgs
parents: 42
diff changeset
   673
hgs
parents: 42
diff changeset
   674
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents: 42
diff changeset
   675
    return deleted;
hgs
parents: 42
diff changeset
   676
}
hgs
parents: 42
diff changeset
   677
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   678
/* !
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   679
 * gets the filename of the current file
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   680
 */
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   681
QString CxuiPostcaptureView::getCurrentFilename()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   682
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   683
    CX_DEBUG_ENTER_FUNCTION();
46
hgs
parents: 42
diff changeset
   684
    QString filename;
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   685
41
hgs
parents: 40
diff changeset
   686
    if (!mFilename.isNull()) {
hgs
parents: 40
diff changeset
   687
        // post-capture started by activity, engine doesn't contain correct
hgs
parents: 40
diff changeset
   688
        // filename anymore so use the stored one
hgs
parents: 40
diff changeset
   689
        CX_DEBUG(("Using filename saved in activity"));
46
hgs
parents: 42
diff changeset
   690
        filename = mFilename;
hgs
parents: 42
diff changeset
   691
    } else {
hgs
parents: 42
diff changeset
   692
        CX_DEBUG(("Getting filename from engine"));
hgs
parents: 42
diff changeset
   693
        if (mEngine->mode() == Cxe::VideoMode) {
hgs
parents: 42
diff changeset
   694
            filename = mEngine->videoCaptureControl().filename();
hgs
parents: 42
diff changeset
   695
        } else {
hgs
parents: 42
diff changeset
   696
            //!@todo Currently only gets index 0 from the still capture control.
hgs
parents: 42
diff changeset
   697
            CxeStillCaptureControl& stillCaptureControl = mEngine->stillCaptureControl();
hgs
parents: 42
diff changeset
   698
            if (stillCaptureControl.imageCount() > 0) {
hgs
parents: 42
diff changeset
   699
                filename = stillCaptureControl[0].filename();
hgs
parents: 42
diff changeset
   700
            }
hgs
parents: 42
diff changeset
   701
        }
41
hgs
parents: 40
diff changeset
   702
    }
hgs
parents: 40
diff changeset
   703
46
hgs
parents: 42
diff changeset
   704
    CX_DEBUG(("Got filename [%s]", qPrintable(filename)));
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   705
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   706
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   707
    return filename;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   708
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   709
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   710
/*!
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   711
    Sends current capture to client app and closes camera
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   712
*/
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   713
void CxuiPostcaptureView::select()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   714
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   715
    CxuiServiceProvider *serviceProvider = CxuiServiceProvider::instance();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   716
    if (!serviceProvider) {
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   717
        return;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   718
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   719
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   720
    QString filename = getCurrentFilename();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   721
    serviceProvider->sendFilenameToClientAndExit(filename);
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   722
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   723
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   724
/*!
41
hgs
parents: 40
diff changeset
   725
* Handle exiting standby.
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   726
*/
41
hgs
parents: 40
diff changeset
   727
void CxuiPostcaptureView::exitStandby()
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   728
{
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   729
    CX_DEBUG_ENTER_FUNCTION();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   730
41
hgs
parents: 40
diff changeset
   731
    // Common functionality first.
hgs
parents: 40
diff changeset
   732
    CxuiView::exitStandby();
hgs
parents: 40
diff changeset
   733
46
hgs
parents: 42
diff changeset
   734
    // Update snapshot and check the current file is not deleted.
hgs
parents: 42
diff changeset
   735
    updateSnapshotImage();
hgs
parents: 42
diff changeset
   736
hgs
parents: 42
diff changeset
   737
    if (mMainWindow->currentView() == this) {
hgs
parents: 42
diff changeset
   738
        showControls();
hgs
parents: 42
diff changeset
   739
    }
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   740
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   741
    CX_DEBUG_EXIT_FUNCTION();
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   744
/*!
41
hgs
parents: 40
diff changeset
   745
* Handle entering standby.
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   746
*/
41
hgs
parents: 40
diff changeset
   747
void CxuiPostcaptureView::enterStandby()
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   748
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   749
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   750
41
hgs
parents: 40
diff changeset
   751
    // Common functionality (release camera).
hgs
parents: 40
diff changeset
   752
    CxuiView::enterStandby();
hgs
parents: 40
diff changeset
   753
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   754
    stopTimers();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   755
    hideControls();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   756
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   757
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   758
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   759
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   760
/*!
41
hgs
parents: 40
diff changeset
   761
 * Handle thumbnail received from ThumbnailManager.
hgs
parents: 40
diff changeset
   762
 *
hgs
parents: 40
diff changeset
   763
 * @param thumbnail Thumbnail as QPixmap
hgs
parents: 40
diff changeset
   764
 */
46
hgs
parents: 42
diff changeset
   765
void CxuiPostcaptureView::handleThumbnailReady(QPixmap thumbnail)
41
hgs
parents: 40
diff changeset
   766
{
hgs
parents: 40
diff changeset
   767
    CX_DEBUG_ENTER_FUNCTION();
hgs
parents: 40
diff changeset
   768
hgs
parents: 40
diff changeset
   769
    if (thumbnail.isNull()) {
46
hgs
parents: 42
diff changeset
   770
        CX_DEBUG(("[WARNING] Received null thumbnail from TNM, going to pre-capture."));
41
hgs
parents: 40
diff changeset
   771
        // null thumbnail, go to precapture
hgs
parents: 40
diff changeset
   772
        goToPrecaptureView();
hgs
parents: 40
diff changeset
   773
    } else if (mImageLabel) {
hgs
parents: 40
diff changeset
   774
        mImageLabel->setIcon(HbIcon(QIcon(thumbnail)));
hgs
parents: 40
diff changeset
   775
    }
hgs
parents: 40
diff changeset
   776
hgs
parents: 40
diff changeset
   777
    CX_DEBUG_EXIT_FUNCTION();
hgs
parents: 40
diff changeset
   778
}
hgs
parents: 40
diff changeset
   779
hgs
parents: 40
diff changeset
   780
/*!
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   781
    Start the timers
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   782
*/
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   783
void CxuiPostcaptureView::startTimers()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   784
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   785
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   786
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   787
    // we start timers only once in a given postcapture view session
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   788
    if(!mTimersStarted) {
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   789
        startPostcaptureTimer();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   790
        startReleaseTimers();
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   791
        mTimersStarted = true;
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   792
    }
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   793
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   794
    CX_DEBUG_EXIT_FUNCTION();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   795
}
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   796
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   797
/*!
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   798
    Start the timer to return to pre-capture view
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   799
*/
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   800
void CxuiPostcaptureView::startPostcaptureTimer()
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   801
{
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   802
    CX_DEBUG_ENTER_FUNCTION();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   803
41
hgs
parents: 40
diff changeset
   804
    if (!mFilename.isNull()) {
hgs
parents: 40
diff changeset
   805
        // restored from activity, don't do post-capture timeout
hgs
parents: 40
diff changeset
   806
        CX_DEBUG_EXIT_FUNCTION();
hgs
parents: 40
diff changeset
   807
        return;
hgs
parents: 40
diff changeset
   808
    }
hgs
parents: 40
diff changeset
   809
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   810
    int postCaptureTimeout = 0;
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   811
    QString settingId;
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   812
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   813
    if (mEngine->mode() == ImageMode) {
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   814
        settingId = CxeSettingIds::STILL_SHOWCAPTURED;
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   815
    } else {
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   816
        settingId = CxeSettingIds::VIDEO_SHOWCAPTURED;
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   817
    }
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   818
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   819
    if (!CxuiServiceProvider::isCameraEmbedded()) {
46
hgs
parents: 42
diff changeset
   820
        postCaptureTimeout = mEngine->settings().get<int>(settingId, 0);
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   821
46
hgs
parents: 42
diff changeset
   822
        if (postCaptureTimeout > 0) {
39
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   823
            mPostcaptureTimer.start(postCaptureTimeout);
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   824
        } else {
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   825
            // do nothing
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   826
        }
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   827
    }
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   828
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   829
    CX_DEBUG_EXIT_FUNCTION();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   830
}
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   831
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   832
/*!
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   833
    Start the timers to stop viewfinder and release the camera
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   834
*/
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   835
void CxuiPostcaptureView::startReleaseTimers()
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   836
{
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   837
    CX_DEBUG_ENTER_FUNCTION();
c5025ea871a1 201021_1
hgs
parents: 38
diff changeset
   838
41
hgs
parents: 40
diff changeset
   839
    // Release camera and stop viewfinder if user stays in postcapture long enough.
hgs
parents: 40
diff changeset
   840
    // Battery could otherwise drain fast.
hgs
parents: 40
diff changeset
   841
    mReleaseCameraTimer.start(CXUI_RELEASE_CAMERA_TIMEOUT);
hgs
parents: 40
diff changeset
   842
    mStopViewfinderTimer.start(CXUI_STOP_VIEWFINDER_TIMEOUT);
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   843
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   844
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   845
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   846
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   847
void CxuiPostcaptureView::stopTimers()
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   848
{
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   849
    CX_DEBUG_ENTER_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   850
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   851
    // stop all the timers
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   852
    mHideControlsTimeout.stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   853
    mReleaseCameraTimer.stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   854
    mPostcaptureTimer.stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   855
    mStopViewfinderTimer.stop();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   856
41
hgs
parents: 40
diff changeset
   857
    //!@note mTimersStarted is intentionally not reset here.
28
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   858
    // Once the timers are stopped, they are not to be started again until
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   859
    // we come from precapture view again.
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   860
    // E.g. returning from background could otherwise restart the timers and
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   861
    // if post-capture timer would be on, user could be confused: camera
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   862
    // shows up with  post-capture view, after couple  seconds it disappears
3075d9b614e6 201017_1
hgs
parents: 19
diff changeset
   863
    // and we return to pre-capture view. That's not what we want.
19
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   864
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   865
    CX_DEBUG_EXIT_FUNCTION();
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   866
}
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   867
d9aefe59d544 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   868
// end of file