--- 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