]> git.sesse.net Git - kdenlive/blobdiff - src/recmonitor.h
* Clip Markers are now displayed over the clip monitor
[kdenlive] / src / recmonitor.h
index c2f2c37ab3651cff660bd3cc84a0dfc03b2124f1..ba44c3059de15981075f74b0f2f81b3c9b828828 100644 (file)
 #include <KIcon>
 #include <KAction>
 #include <KRestrictedLine>
+#include <KDateTime>
 
 #include "ui_recmonitor_ui.h"
 #include "smallruler.h"
+#include "regiongrabber.h"
 
 class RecMonitor : public QWidget {
     Q_OBJECT
 
 public:
     RecMonitor(QString name, QWidget *parent = 0);
+    virtual ~RecMonitor();
+
     QString name() const;
 
+    enum CAPTUREDEVICE {FIREWIRE = 0, VIDEO4LINUX = 1, SCREENGRAB = 2};
 
 protected:
     virtual void mousePressEvent(QMouseEvent * event);
@@ -48,9 +53,9 @@ private:
     Ui::RecMonitor_UI ui;
     QString m_tmpFolder;
     QString m_name;
-
+    RegionGrabber *rgnGrab;
     bool m_isActive;
-
+    KDateTime m_captureTime;
 
     KUrl m_captureFile;
     KIcon m_playIcon;
@@ -60,6 +65,8 @@ private:
     QProcess *displayProcess;
     QTimer *m_initTimer;
     bool m_isCapturing;
+    /** did the user capture something ? */
+    bool m_didCapture;
     bool m_isPlaying;
     QStringList m_captureArgs;
     QStringList m_displayArgs;
@@ -69,6 +76,9 @@ private:
     QAction *m_rewAction;
     QAction *m_stopAction;
     QAction *m_discAction;
+    void checkDeviceAvailability();
+    QPixmap mergeSideBySide(const QPixmap& pix, const QString txt);
+    void manageCapturedFiles();
 
 private slots:
     void slotStartCapture(bool play = true);
@@ -79,6 +89,8 @@ private slots:
     void slotRewind();
     void slotForward();
     void slotDisconnect();
+    //void slotStartGrab(const QRect &rect);
+    void slotConfigure();
 
 public slots:
     void refreshRecMonitor(bool visible);
@@ -91,6 +103,7 @@ signals:
     void renderPosition(int);
     void durationChanged(int);
     void addProjectClip(KUrl);
+    void showConfigDialog(int, int);
 };
 
 #endif