]> git.sesse.net Git - kdenlive/blobdiff - src/recmonitor.h
Replace uppercase enums into camel into.
[kdenlive] / src / recmonitor.h
index fe1d90fb2fb0bd3611ebcc83fcabbf232ae7b574..62d9459424954faae2230466f861f3555c4b18d9 100644 (file)
@@ -26,7 +26,8 @@
 #ifndef RECMONITOR_H
 #define RECMONITOR_H
 
-#include "abstractmonitor.h"
+#include "widgets/abstractmonitor.h"
+#include "definitions.h"
 #include "ui_recmonitor_ui.h"
 
 #include <QToolBar>
 #include <KDateTime>
 #include <kdeversion.h>
 #include <KComboBox>
-
-#if KDE_IS_VERSION(4,2,0)
 #include <kcapacitybar.h>
+
+#if KDE_IS_VERSION(4,7,0)
+#include <KMessageWidget>
 #endif
 
 class MonitorManager;
@@ -54,19 +56,23 @@ class RecMonitor : public AbstractMonitor, public Ui::RecMonitor_UI
     Q_OBJECT
 
 public:
-    explicit RecMonitor(QString name, MonitorManager *manager, QWidget *parent = 0);
-    virtual ~RecMonitor();
+    explicit RecMonitor(Kdenlive::MonitorId name, MonitorManager *manager, QWidget *parent = 0);
+    ~RecMonitor();
 
-    const QString name() const;
     AbstractRender *abstractRender();
     void analyseFrames(bool analyse);
-    enum CAPTUREDEVICE {FIREWIRE = 0, VIDEO4LINUX = 1, SCREENGRAB = 2, BLACKMAGIC = 3};
+    enum CaptureDevice {
+        Firewire = 0,
+        Video4Linux = 1,
+        ScreenBag = 2,
+        BlackMagic = 3
+    };
 
 protected:
-    virtual void mousePressEvent(QMouseEvent * event);
+    void mousePressEvent(QMouseEvent * event);
+    void mouseDoubleClickEvent(QMouseEvent * event);
 
 private:
-    QString m_name;
     KDateTime m_captureTime;
     /** @brief Provide feedback about dvgrab operations */
     QLabel m_dvinfo;
@@ -76,10 +82,8 @@ private:
     KComboBox m_logger;
     QString m_capturePath;
 
-#if KDE_IS_VERSION(4,2,0)
     KCapacityBar *m_freeSpace;
     QTimer m_spaceTimer;
-#endif
 
     KUrl m_captureFile;
     KIcon m_playIcon;
@@ -102,13 +106,25 @@ private:
 
     MonitorManager *m_manager;
     MltDeviceCapture *m_captureDevice;
-    VideoPreviewContainer *m_videoBox;
+    VideoContainer *m_videoBox;
+    QAction *m_addCapturedClip;
+    QAction *m_previewSettings;
+    QString m_error;
+
+#if KDE_IS_VERSION(4,7,0)
+    KMessageWidget *m_infoMessage;
+#endif
+
     bool m_analyse;
     void checkDeviceAvailability();
     QPixmap mergeSideBySide(const QPixmap& pix, const QString &txt);
     void manageCapturedFiles();
     /** @brief Build MLT producer for device, using path as profile. */
     void buildMltDevice(const QString &path);
+    /** @brief Create string containing an XML playlist for v4l capture. */
+    const QString getV4lXmlPlaylist(const MltVideoProfile &profile, bool *isXml);
+    /** @brief Display an error message to user. */
+    void showWarningMessage(const QString &text, bool logAction = false);
 
 private slots:
     void slotStartPreview(bool play = true);
@@ -120,12 +136,14 @@ private slots:
     void slotDisconnect();
     //void slotStartGrab(const QRect &rect);
     void slotConfigure();
-    void slotReadDvgrabInfo();
+    void slotReadProcessInfo();
     void slotUpdateFreeSpace();
     void slotSetInfoMessage(const QString &message);
     void slotDroppedFrames(int dropped);
     /** @brief Change setting for preview while recording. */
-    void slotChangeRecordingPreview(int ix);
+    void slotChangeRecordingPreview(bool enable);
+    /** @brief Show last jog error log. */
+    void slotShowLog();
 
 public slots:
     void refreshRecMonitor(bool visible);
@@ -134,6 +152,8 @@ public slots:
     void start();
     void slotStopCapture();
     void slotUpdateCaptureFolder(const QString &currentProjectFolder);
+    void slotMouseSeek(int eventDelta, bool fast);
+    void slotSwitchFullScreen();
 
 signals:
     void renderPosition(int);