X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitor.h;h=31a56ccb3825d9ab771ebafd2f7b82670e602658;hb=23b97051124400cc52ec2b3dfc579d1033d73907;hp=0ee477871b1631d9f51713f862e437df117207bf;hpb=55ee9b1caa8224c762f4324b169ad13c0ee73000;p=kdenlive diff --git a/src/monitor.h b/src/monitor.h index 0ee47787..31a56ccb 100644 --- a/src/monitor.h +++ b/src/monitor.h @@ -28,7 +28,6 @@ #include #include "gentime.h" -#include "ui_monitor_ui.h" #include "timecodedisplay.h" #if defined(Q_WS_MAC) || defined(USE_OPEN_GL) #include "videoglwidget.h" @@ -45,16 +44,44 @@ class ClipItem; class QGraphicsView; class QGraphicsPixmapItem; +class Monitor; + +class VideoContainer : public QFrame +{ + Q_OBJECT +public: + VideoContainer(Monitor *parent = 0); + void switchFullScreen(); + +protected: + virtual void mouseDoubleClickEvent(QMouseEvent * event); + virtual void mousePressEvent(QMouseEvent * event); + virtual void mouseReleaseEvent(QMouseEvent *event); + virtual void mouseMoveEvent(QMouseEvent *event); + virtual void wheelEvent(QWheelEvent * event); + +private: + Qt::WindowFlags m_baseFlags; + Monitor *m_monitor; +}; + class MonitorRefresh : public QWidget { Q_OBJECT public: MonitorRefresh(QWidget *parent = 0); - virtual void paintEvent(QPaintEvent *event); void setRenderer(Render* render); +protected: + virtual void paintEvent(QPaintEvent *event); + private: Render *m_renderer; + +signals: + void switchFullScreen(); + void switchPlay(); + void mouseSeek(int, bool); }; class Overlay : public QLabel @@ -89,6 +116,7 @@ public: void updateTimecodeFormat(); void updateMarkers(DocClipBase *source); MonitorScene *getEffectScene(); + QWidget *container(); protected: virtual void mousePressEvent(QMouseEvent * event); @@ -109,7 +137,6 @@ protected: //virtual void paintEvent(QPaintEvent * event); private: - Ui::Monitor_UI m_ui; QString m_name; MonitorManager *m_monitorManager; DocClipBase *m_currentClip; @@ -133,6 +160,7 @@ private: QPoint m_DragStartPosition; MonitorScene *m_effectScene; QGraphicsView *m_effectView; + VideoContainer *m_videoBox; /** Selected clip/transition in timeline. Used for looping it. */ AbstractClipItem *m_selectedClip; /** true if selected clip is transition, false = selected clip is clip. @@ -140,10 +168,11 @@ private: bool m_loopClipTransition; #if defined(Q_WS_MAC) || defined(USE_OPEN_GL) VideoGLWidget *m_glWidget; - bool createOpenGlWidget(QVBoxLayout *rendererBox, const QString profile); + bool createOpenGlWidget(QWidget *parent, const QString profile); #endif GenTime getSnapForPos(bool previous); + Qt::WindowFlags m_baseFlags; private slots: void seekCursor(int pos); @@ -197,6 +226,8 @@ public slots: void slotSetSelectedClip(AbstractClipItem *item); void slotSetSelectedClip(ClipItem *item); void slotSetSelectedClip(Transition *item); + void slotMouseSeek(int eventDelta, bool fast); + void slotSwitchFullScreen(); signals: void renderPosition(int);