00001 /********************************************************************** 00002 ** Copyright (C) 2003 Michael 'Mickey' Lauer. All rights reserved. 00003 ** 00004 ** This file is part of Opie Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 **********************************************************************/ 00015 00016 #ifndef MAINWINDOW_H 00017 #define MAINWINDOW_H 00018 00019 #include <qmainwindow.h> 00020 #include <qimage.h> 00021 #include <qpixmap.h> 00022 #include <qdatetime.h> 00023 00024 class QAction; 00025 class QActionGroup; 00026 class QIconSet; 00027 class QTimerEvent; 00028 class QToolButton; 00029 class QLabel; 00030 class MainWindowBase; 00031 class QCopChannel; 00032 class PreviewWidget; 00033 00034 class CameraMainWindow: public QMainWindow 00035 { 00036 Q_OBJECT 00037 00038 public: 00039 CameraMainWindow( QWidget * parent = 0, const char * name = "mainwindow", WFlags f = 0 ); 00040 virtual ~CameraMainWindow(); 00041 00042 public slots: 00043 void changeZoom( int ); 00044 void systemMessage( const QCString&, const QByteArray& ); 00045 void showContextMenu(); 00046 void resoMenuItemClicked( QAction* ); 00047 void qualityMenuItemClicked( QAction* ); 00048 void zoomMenuItemClicked( QAction* ); 00049 void flipMenuItemClicked( QAction* ); 00050 void outputToMenuItemClicked( QAction* ); 00051 void outputMenuItemClicked( QAction* ); 00052 void prefixItemChoosen(); 00053 void appendSettingsChoosen(); 00054 void shutterClicked(); 00055 00056 void updateCaption(); 00057 00058 protected: 00059 void init(); 00060 void startVideoCapture(); 00061 void stopVideoCapture(); 00062 void postProcessVideo( const QString&, const QString& ); 00063 void performCapture( const QString& ); 00064 00065 virtual void timerEvent( QTimerEvent* ); 00066 00067 protected slots: 00068 void doSomething(); // solely for debugging purposes 00069 00070 private: 00071 PreviewWidget* preview; 00072 int _rotation; 00073 QCopChannel* _sysChannel; 00074 00075 QActionGroup* resog; 00076 QActionGroup* qualityg; 00077 QActionGroup* zoomg; 00078 QActionGroup* flipg; 00079 QActionGroup* outputTog; 00080 QAction* custom; 00081 QAction* docfolder; 00082 QActionGroup* outputg; 00083 00084 QString flip; 00085 int quality; 00086 int zoom; 00087 int captureX; 00088 int captureY; 00089 QString captureFormat; 00090 00091 QString outputTo; 00092 QString prefix; 00093 bool appendSettings; 00094 00095 bool _capturing; 00096 int _pics; 00097 int _videos; 00098 00099 QTime _time; 00100 int _videopics; 00101 int _capturefd; 00102 int _framerate; 00103 unsigned char* _capturebuf; 00104 }; 00105 00106 #endif
1.4.2