camerauis/cameraxui/cxui/src/cxuistandby.cpp
changeset 43 0e652f8f1fbd
parent 28 3075d9b614e6
child 45 24fd82631616
--- a/camerauis/cameraxui/cxui/src/cxuistandby.cpp	Thu May 13 21:30:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <QTimer>
-#include <QApplication>
-#include <QGraphicsSceneEvent>
-#include <hblabel.h>
-#include <hbdialog.h>
-#include <QGraphicsRectItem>
-#include <QColor>
-
-#include "cxutils.h"
-#include "cxeengine.h"
-#include "cxuienums.h"
-#include "cxuistandby.h"
-#include "cxuidocumentloader.h"
-#include "cxeviewfindercontrol.h"
-#include "cxuicapturekeyhandler.h"
-#include "cxestillcapturecontrol.h"
-#include "cxevideocapturecontrol.h"
-
-
-
-/*
-* CxuiStandby::CxuiStandby
-*/
-CxuiStandby::CxuiStandby(CxuiCaptureKeyHandler &keyHandler,CxuiDocumentLoader *documentLoader, CxeEngine *engine)
-: mKeyHandler(keyHandler),
-  mDocumentLoader(documentLoader),
-  mEngine(engine),
-  mStandbyPopup(NULL),
-  mStandbyDialogVisible(false)
-{
-    CX_DEBUG_ENTER_FUNCTION();
-    CX_ASSERT_ALWAYS(engine);
-
-    // initialize standby timer
-    mStandbyTimer = new QTimer(this);
-
-    // install event filter for application wide events
-    QCoreApplication::instance()->installEventFilter(this);
-
-    CX_ASSERT_ALWAYS(mStandbyTimer);
-    connect(mStandbyTimer, SIGNAL(timeout()), this, SLOT(toStandby()));
-    mStandbyTimer->setSingleShot(true);
-
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-
-
-/*
-* CxuiStandby::~CxuiStandby()
-*/
-CxuiStandby::~CxuiStandby()
-{
-    CX_DEBUG_IN_FUNCTION();
-    // remove the event filter
-    QCoreApplication::instance()->removeEventFilter(this);
-    // stop standby timer
-    stopTimer();
-}
-
-
-/*
-* stops standby timer
-*/
-void CxuiStandby::stopTimer()
-{
-    if(mStandbyTimer) {
-        mStandbyTimer->stop();
-    }
-}
-
-/*
-* starts standby timer
-*/
-void CxuiStandby::startTimer()
-{
-    if(mStandbyTimer) {
-        mStandbyTimer->start(CXUI_STANDBY_CAMERA_TIMEOUT);
-    }
-}
-
-
-/*
-* handles mouse press events
-* returns if mouse key press is consumed.
-*/
-bool CxuiStandby::handleMouseEvent()
-{
-    bool keyHandled = false;
-
-    // close the dialog if it's visible
-    if (mStandbyDialogVisible && mStandbyPopup) {
-        CX_DEBUG(( "closing the popup mStandbyDialogVisible = : %d", mStandbyDialogVisible ));
-        mStandbyPopup->close();
-        keyHandled = true;
-    } else if (mStandbyTimer && mStandbyTimer->isActive()) {
-        // restart the timer only if it's running
-        startTimer();
-    }
-
-    return keyHandled;
-}
-
-
-/*
-* switching to standby.
-*/
-void CxuiStandby::toStandby()
-{
-    CX_DEBUG_ENTER_FUNCTION();
-
-    if (proceedToStandy()) {
-
-        // signal for ui classes to prepare for standby
-        emit aboutToEnterStandby();
-
-        mStandbyDialogVisible = true;
-
-        if (mStandbyPopup == NULL) {
-            CX_DEBUG(("Loading standby DocML"));
-            bool ok = false;
-            // Use document loader to create popup
-            mDocumentLoader->load(CxUiLayout::STANDBY_POPUP_XML, &ok);
-            CX_DEBUG(("standby load ok=%d", ok));
-            mStandbyPopup = qobject_cast<HbDialog*>(mDocumentLoader->findWidget(CxUiLayout::STANDBY_POPUP));
-            CX_ASSERT_ALWAYS(mStandbyPopup);
-            mStandbyPopup->setTimeout(HbDialog::NoTimeout);
-            mStandbyPopup->setBackgroundFaded(false);
-            mStandbyPopup->setPreferredPos(QPointF(0,0));
-            // color of standby text is set in the code. It cannot be done in docml
-            HbLabel* label = qobject_cast<HbLabel*>(mDocumentLoader->findWidget(CxUiLayout::STANDBY_TEXT_WIDGET));
-            label->setTextColor(Qt::white);
-
-            // connecting "abouttoclose" signal to dismissStandby
-            connect(mStandbyPopup, SIGNAL(aboutToClose()), this, SLOT(dismissStandby()));
-
-            // HbDialog's default background item is replaced with black rectangle
-            QGraphicsRectItem *backgroundItem = new QGraphicsRectItem();
-            QBrush blackBrush = QBrush(Qt::black);
-            backgroundItem->setBrush(blackBrush);
-            QGraphicsItem *origBgItem = mStandbyPopup->backgroundItem();
-            backgroundItem->setRect(origBgItem->boundingRect());
-            mStandbyPopup->setBackgroundItem(backgroundItem);
-
-        }
-
-        CX_ASSERT_ALWAYS(mStandbyPopup);
-
-        mStandbyPopup->show();
-        // connecting half press or full press key signal to dismiss standby
-        connect(&mKeyHandler, SIGNAL(autofocusKeyPressed()), mStandbyPopup, SLOT(close()));
-        connect(&mKeyHandler, SIGNAL(captureKeyPressed()),   mStandbyPopup, SLOT(close()));
-    }
-
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-
-/*
-* dismisses standby
-*/
-void CxuiStandby::dismissStandby()
-{
-    CX_DEBUG_ENTER_FUNCTION();
-
-    if(mStandbyDialogVisible) {
-        // stop the standby timer and close the pop-up
-        mStandbyDialogVisible = false;
-        //restart timer
-        startTimer();
-        // signal for ui classes to prepare for standby exit
-        emit aboutToExitStandby();
-    }
-
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-
-
-/*
-* checks if we can swtich to standby
-*/
-bool CxuiStandby::proceedToStandy()
-{
-    CX_DEBUG_ENTER_FUNCTION();
-    CX_ASSERT_ALWAYS(mEngine);
-
-    bool ok = false;
-    if(!mStandbyDialogVisible &&
-        mEngine->isEngineReady()) {
-        CX_DEBUG(("show standby dialog"));
-        ok = true;
-    }
-
-    CX_DEBUG(( "CxuiStandby::proceedToStandy proceedToStandy: %d", ok ));
-
-    return ok;
-}
-
-
-
-/*
-*  Event filter which filters application wide mouse events.
-*/
-
-bool CxuiStandby::eventFilter(QObject *object, QEvent *event)
-{
-    Q_UNUSED(object);
-
-    bool eventWasConsumed = false;
-    switch (event->type()) {
-        case QEvent::GraphicsSceneMouseMove:
-        case QEvent::GraphicsSceneMousePress:
-        case QEvent::GraphicsSceneMouseRelease:
-            eventWasConsumed = handleMouseEvent();
-            break;
-        default:
-            break;
-    }
-    return eventWasConsumed;
-}
-
-// end of file