camerauis/cameraxui/cxui/inc/cxuipostcaptureview.h
changeset 39 c5025ea871a1
parent 28 3075d9b614e6
child 40 2922f70fca82
equal deleted inserted replaced
38:0f0b4c1d7744 39:c5025ea871a1
     1 /*
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    18 #define CXUIPOSTCAPTUREVIEW_H
    18 #define CXUIPOSTCAPTUREVIEW_H
    19 
    19 
    20 #include <QObject>
    20 #include <QObject>
    21 #include <QList>
    21 #include <QList>
    22 #include <QTimer>
    22 #include <QTimer>
    23 #include <hbview.h>
       
    24 #include <xqappmgr.h>
    23 #include <xqappmgr.h>
       
    24 #include "cxuiview.h"
    25 
    25 
    26 class QGraphicsRectItem;
    26 class QGraphicsRectItem;
    27 class HbMainWindow;
    27 class HbMainWindow;
    28 class HbAction;
    28 class HbAction;
    29 class HbLabel;
    29 class HbLabel;
    33 
    33 
    34 
    34 
    35 /**
    35 /**
    36  * Post-capture view
    36  * Post-capture view
    37  */
    37  */
    38 class CxuiPostcaptureView : public HbView
    38 class CxuiPostcaptureView : public CxuiView
    39 {
    39 {
    40     Q_OBJECT
    40     Q_OBJECT
    41 
    41 
    42 public:
    42 public:
    43     CxuiPostcaptureView(QGraphicsItem *parent = 0);
    43     CxuiPostcaptureView(QGraphicsItem *parent = 0);
    64     void stopTimers();
    64     void stopTimers();
    65 
    65 
    66 protected slots:
    66 protected slots:
    67     void goToPrecaptureView();
    67     void goToPrecaptureView();
    68     void stopViewfinder();
    68     void stopViewfinder();
    69     void releaseCamera();
       
    70 
    69 
    71     // Control visibility
    70     void hideToolbar();
    72     void hideControls();
       
    73     void showControls();
       
    74     void toggleControls();
       
    75 
    71 
    76     // toolbar actions
    72     // toolbar actions
    77     void launchPhotosApp();
       
    78     void select();
    73     void select();
    79     void launchShare();
    74     void launchShare();
    80     void playVideo();
    75     void playVideo();
    81     void showDeleteNote();
    76     void showDeleteNote();
    82     void launchVideosApp();
       
    83 
    77 
    84     void handleDeleteDialogClosed(HbAction *action);
    78     void handleDeleteDialogClosed(HbAction *action);
    85 
    79 
    86 private:
    80 private:
    87     void launchNotSupportedNotification();
       
    88     QString getCurrentFilename();
    81     QString getCurrentFilename();
    89 
    82 
       
    83     void startTimers();
       
    84     void startPostcaptureTimer();
       
    85     void startReleaseTimers();
       
    86 
    90 private slots:
    87 private slots:
    91     void startTimers();
    88     void handleFocusGained();
    92     void handleFocusLost();
    89     void handleFocusLost();
    93 
    90 
    94 private: // data
    91 private: // data
    95     HbMainWindow *mMainWindow; // not own
       
    96     CxeEngine *mEngine; // not own
       
    97     CxuiDocumentLoader *mDocumentLoader; // not own
       
    98     HbToolBar *mStillToolbar;
    92     HbToolBar *mStillToolbar;
    99     HbToolBar *mVideoToolbar;
    93     HbToolBar *mVideoToolbar;
   100     HbToolBar *mEmbeddedToolbar;
    94     HbToolBar *mEmbeddedToolbar;
   101     QGraphicsRectItem *mBackgroundItem;
    95     QGraphicsRectItem *mBackgroundItem;
   102     HbLabel *mImageLabel;
    96     HbLabel *mImageLabel;
   103 
       
   104     QTimer mHideControlsTimeout;
       
   105 
    97 
   106     /**
    98     /**
   107      * Timer used to stop viewfinder after a delay if the user remains in
    99      * Timer used to stop viewfinder after a delay if the user remains in
   108      * post-capture view. Viewfinder is not stopped immediately when
   100      * post-capture view. Viewfinder is not stopped immediately when
   109      * capturing an image to improve the latency it takes to return to
   101      * capturing an image to improve the latency it takes to return to
   123     * Timer used to return back to precapture view after a time-out
   115     * Timer used to return back to precapture view after a time-out
   124     * Timer is disabled if show postcapture view setting is "continuous" i.e. -1
   116     * Timer is disabled if show postcapture view setting is "continuous" i.e. -1
   125     */
   117     */
   126     QTimer mPostcaptureTimer;
   118     QTimer mPostcaptureTimer;
   127 
   119 
   128     bool mControlsVisible;
   120     bool mTimersStarted;
   129 
   121 
   130     bool mTimersStarted;
       
   131     
       
   132     XQApplicationManager mAppManager;
   122     XQApplicationManager mAppManager;
       
   123 
       
   124     bool mDeleteNoteOpen;
   133 
   125 
   134 };
   126 };
   135 
   127 
   136 #endif // CXUIPOSTCAPTUREVIEW_H
   128 #endif // CXUIPOSTCAPTUREVIEW_H