--- a/camerauis/cameraxui/cxui/inc/cxuiviewmanager.h Thu May 13 21:30:19 2010 +0300
+++ b/camerauis/cameraxui/cxui/inc/cxuiviewmanager.h Thu Jul 15 01:55:05 2010 +0300
@@ -24,22 +24,17 @@
#include "cxeviewfindercontrol.h"
#include "cxenamespace.h"
#include "cxeerror.h"
-#include "cxuiapplicationframeworkmonitor.h"
-
+#include "cxuiapplicationstate.h"
class QGraphicsSceneMouseEvent;
class HbMainWindow;
class CxuiApplication;
class CxuiCaptureKeyHandler;
class CxuiPrecaptureView;
-class CxuiStillPrecaptureView;
-class CxuiVideoPrecaptureView;
-class CxuiPostcaptureView;
class CxeEngine;
class CxuiDocumentLoader;
-class CxuiErrorManager; // class that handles all errors in ui.
-class CxuiStandby;
-class CxuiSceneModeView;
+class CxuiErrorManager;
+class CxuiView;
class CxuiViewManager : public QObject
{
@@ -49,83 +44,57 @@
CxuiViewManager(CxuiApplication &application, HbMainWindow &mainWindow, CxeEngine &engine);
~CxuiViewManager();
- void prepareWindow();
-
- /**
- * Get a pointer to the document loader instance.
- */
- CxuiDocumentLoader* documentLoader();
-
public slots:
void changeToPostcaptureView();
void changeToPrecaptureView();
void switchCamera();
- void createPostcaptureView();
void showScenesView();
private slots:
void toForeground();
- void handleForegroundStateChanged(CxuiApplicationFrameworkMonitor::ForegroundState state);
- void handleBatteryEmpty();
- void aboutToLooseFocus();
- void aboutToGainFocus();
+ void handleApplicationStateChanged(CxuiApplicationState::State newState,
+ CxuiApplicationState::State oldState);
+ void startStandbyTimer();
+ void stopStandbyTimer();
signals:
- void focusGained();
- void focusLost();
- void batteryEmpty();
- void disableStandbyTimer();
- void startStandbyTimer();
+ void normalStateEntered();
+ void normalStateExited();
+ void standbyExitRequested();
protected:
bool eventFilter(QObject *object, QEvent *event);
private:
- void createStillPrecaptureView();
- void createVideoPrecaptureView();
+ CxuiView *currentView() const;
+ void initStartupView();
+ CxuiView *createView(const QString &viewName);
CxuiPrecaptureView* getPrecaptureView(Cxe::CameraMode mode, Cxe::CameraIndex camera);
- void createSceneModesView();
-
- /*
- * connects all necessary signals for precapture view
- */
+ void connectSignals(QObject *view);
+ void disconnectSignals(QObject *view = NULL);
void connectPreCaptureSignals();
+ void connectPostCaptureSignals();
+ void connectSceneModeSignals();
+ void connectCaptureKeySignals();
- /*
- * disconnects signals
- */
- void disconnectSignals();
-
- /*
- * connects all necessary signals for postcapture view
- */
- void connectPostCaptureSignals();
-
-
- /*
- * connects capture key handler signals to the current view.
- */
- void connectCaptureKeySignals();
+ void handleExitingNormalState();
+ void clearAllActivities();
private:
//data
CxuiApplication &mApplication;
HbMainWindow &mMainWindow;
- CxuiStillPrecaptureView *mStillPrecaptureView;
- CxuiVideoPrecaptureView *mVideoPrecaptureView;
- CxuiPostcaptureView *mPostcaptureView;
+ QMap<QString, CxuiView*> mViews;
+ QMap<QString, QString> mDocmlFilesByView;
CxeEngine &mEngine;
CxuiCaptureKeyHandler *mKeyHandler;
- CxuiApplicationFrameworkMonitor *mApplicationMonitor;
-
-private:
CxuiDocumentLoader *mCameraDocumentLoader;
- CxuiStandby *mStandbyHandler;
+ CxuiApplicationState *mApplicationState;
CxuiErrorManager *mErrorManager;
- CxuiSceneModeView *mSceneModeView;
+ QTimer mStandbyTimer;
};
#endif // CXUIVIEWMANAGER_H