1 #ifndef MAIN_DESKTOP_H 2 #define MAIN_DESKTOP_H 3 4 #include <QWidget> 5 #include <QDebug> 6 #include <QPixmap> 7 #include <QDateTime> 8 #include <QString> 9 #include <QTimer> 10 #include <QPalette> 11 #include <QPixmap> 12 #include <QDir> 13 #include <QFileDialog> 14 #include <QMessageBox> 15 #include <QScreen> 16 #include "setfirst.h" 17 #include "dashboard.h" 18 #include "reverselinewidget.h" 19 #define os_test Q_OS_LINUX 20 21 #if defined(Q_OS_LINUX) 22 #define PATH_SDCARD "/mnt/sdcard/mmcblk1p1/" 23 #define PATH_SD_DEV "/dev/mmcblk1p1" 24 #define HAVA_TWO_CAMERA 1 //While move to cfg 25 #define CAMERA_FONT 0 //While move to cfg 26 #define CAMERA_BACK 1 //While move to cfg 27 #define LOG_BUF_SIZE 1024 28 #define VIEW_WEITH 1024 29 #define VIEW_HEIGHT 600 30 #define TEST_CAMERA_ID 0 31 //#define CAMERA_TEST 1 32 #define Double_Camera_Test 0; 33 34 #include <linux/videodev2.h> 35 #include <sys/ioctl.h> 36 #include <sys/mman.h> 37 #include <fcntl.h> 38 #include <unistd.h> 39 #include <string.h> 40 #include <errno.h> 41 #include <stdlib.h> 42 #include <stdio.h> 43 #include <linux/fb.h> 44 45 #include "hwdisp2.h" 46 #include "aw_ini_parser.h" 47 #include <sdklog.h> 48 #include "CameraDebug.h" 49 #include "hwdisp2.h" 50 51 #include "V4L2CameraDevice2.h" 52 #include "CallbackNotifier.h" 53 #include "PreviewWindow.h" 54 #include "CameraHardware2.h" 55 #include "audio_hal.h" 56 #ifdef REC_ENCODE 57 #include "awrecorder.h" 58 #endif 59 #include <stdio.h> 60 #include <stdlib.h> 61 #include <string.h> 62 #include <unistd.h> 63 #include <signal.h> 64 #include <sys/types.h> 65 #include <sys/ipc.h> 66 #include <sys/msg.h> 67 #include <errno.h> 68 #include <sys/time.h> 69 #ifndef CDX_V27 70 #include "log.h" 71 #endif 72 #include <stdio.h> 73 #include <stdlib.h> 74 #include <string.h> 75 #include "vencoder.h" 76 #include "CdxMuxer.h" 77 #include <time.h> 78 79 #include "Rtc.h" 80 #include "StorageManager.h" 81 #include "DvrFactory.h" 82 #include "CameraFileCfg.h" 83 #include <sys/socket.h> 84 #include <sys/un.h> 85 #include "Fat.h" 86 #include "DebugLevelThread.h" 87 #include "DvrRecordManager.h" 88 using namespace android; 89 90 #define RECORD_TEST 1 91 //#define AUDIO_TEST 92 #define MAX_TEST_CAMERA 8 93 #define MAX_RED_VIDEOS 6 94 95 96 #include "NetlinkManager.h" 97 #include "NetlinkHandler.h" 98 #include "NetlinkEvent.h" 99 #include "cameraseldlg.h" 100 #include "recordseldlg.h" 101 #include "iwidget.h" 102 103 void testaut_event_cb_func(NetlinkEvent *evt,void *usrdata); 104 extern "C" int aut_adb_main(int argc, char **argv); 105 106 #endif 107 namespace Ui { 108 class main_desktop; 109 } 110 111 class main_desktop : public IWidget 112 { 113 Q_OBJECT 114 Q_PLUGIN_METADATA(IID PLUGIN_INTERFACE_iid FILE "cameraui.json") 115 public: 116 explicit main_desktop(QWidget *parent = 0); 117 ~main_desktop(); 118 119 QString id(); 120 protected: 121 void paintEvent(QPaintEvent *event); 122 private://用于检测是否有动作 123 void mouseMoveEvent(QMouseEvent *event); 124 void mouseDoubleClickEvent(QMouseEvent *event); 125 void mousePressEvent(QMouseEvent *event); 126 void mouseReleaseEvent(QMouseEvent *event) ; 127 128 void on_mouse_active(); 129 private: 130 Ui::main_desktop *ui; 131 bool m_bCameraState;//camera state:true=front,false=rear 132 bool isRecording; 133 QTimer *mouseMoveTime; 134 QPixmap screenshot_pic; 135 void accept(); 136 public slots: 137 void timerUpdate(void); 138 // void cameraChange(); 139 public slots: 140 void on_mouse_no_active_10_second(); 141 void on_main_desktop_disvisible(); 142 void on_main_desktop_visible(); 143 144 public slots: 145 void on_recordButton_clicked(); 146 147 void on_camera_change_Button_clicked(); 148 149 void on_setFirstButton_clicked(); 150 151 void on_movieButton_clicked(); 152 153 void on_cameraButton_clicked(); 154 155 void on_reverseLine_repaint(); 156 157 void on_sdcard_delete(); 158 159 void on_sdcard_insert(); 160 161 private: 162 SetFirst *m_pSettingDesktop; 163 CameraSelDlg *m_pCamSelDlg; 164 RecordSelDlg *m_pRedselDlg; 165 dvr_factory *m_pDvrs[MAX_TEST_CAMERA]; 166 int m_iVideoStateCfg[MAX_TEST_CAMERA]; 167 bool m_bPreview; 168 // dashBoard *dashboards; 169 reverseLineWidget* reverseLinewidget; 170 171 private: 172 void setButtonVisible(); 173 void setButtonDisvisible(); 174 void FormInCenter(); 175 public: 176 177 178 int startAllCameraWithPreview(int camera_no /* nouse now*/); 179 int m_iCurCamera; videoshow()180 void videoshow() 181 { 182 startAllCameraWithPreview(0); 183 } 184 void CameraSwitch(int iCameraId); 185 void RecordCamSel(int *piCameras); 186 int m_iRedCameraState[MAX_TEST_CAMERA];//save the record state for cameras[0:stop 1:start 0xff: invalid value] 187 #ifdef AUTEVENT 188 signals: 189 void usb_is_mount(); 190 void usb_is_umount(); 191 // static void testaut_event_cb_func1(NetlinkEvent *evt,void *usrdata); 192 #endif 193 #if defined(Q_OS_LINUX) 194 Mutex mObjectLock; 195 #endif 196 private slots: 197 void on_pushButtonHome_clicked(); 198 void on_pushButton_clicked(); 199 }; 200 201 #endif // MAIN_DESKTOP_H 202 203