X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frecmonitor.h;h=1ab5b6e49b356f984c9d883a124423049b38d2ba;hb=e3b4bf11679a3a195be8896f465b1616581f1fb3;hp=20bba7b36b707b6dd69b8f0034d813e5cdf19ba8;hpb=6e9157080b18e4f0a967ab0c3d3a72d01936678c;p=kdenlive diff --git a/src/recmonitor.h b/src/recmonitor.h index 20bba7b3..1ab5b6e4 100644 --- a/src/recmonitor.h +++ b/src/recmonitor.h @@ -17,10 +17,17 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ +/** +* @class RecMonitor +* @brief Records video via dvgrab, video4linux and recordmydesktop +* @author Jean-Baptiste Mardelle +*/ #ifndef RECMONITOR_H #define RECMONITOR_H +#include "ui_recmonitor_ui.h" + #include #include #include @@ -29,42 +36,74 @@ #include #include #include +#include +#include -#include "ui_recmonitor_ui.h" -#include "smallruler.h" +#if KDE_IS_VERSION(4,2,0) +#include +#endif -class RecMonitor : public QWidget { +class RecMonitor : public QWidget, public Ui::RecMonitor_UI +{ Q_OBJECT public: - RecMonitor(QString name, QWidget *parent = 0); + explicit 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); private: - Ui::RecMonitor_UI ui; - QString m_tmpFolder; QString m_name; - bool m_isActive; + KDateTime m_captureTime; + QLabel m_dvinfo; +#if KDE_IS_VERSION(4,2,0) + KCapacityBar *m_freeSpace; + QTimer m_spaceTimer; +#endif KUrl m_captureFile; + KIcon m_playIcon; + KIcon m_pauseIcon; - QProcess *captureProcess; - QProcess *displayProcess; - QTimer *m_initTimer; + QProcess *m_captureProcess; + QProcess *m_displayProcess; bool m_isCapturing; + /** did the user capture something ? */ + bool m_didCapture; + bool m_isPlaying; QStringList m_captureArgs; QStringList m_displayArgs; + QAction *m_recAction; + QAction *m_playAction; + QAction *m_fwdAction; + QAction *m_rewAction; + QAction *m_stopAction; + QAction *m_discAction; + void checkDeviceAvailability(); + QPixmap mergeSideBySide(const QPixmap& pix, const QString txt); + void manageCapturedFiles(); private slots: - void slotSwitchCapture(); - void slotCapture(); + void slotStartCapture(bool play = true); + void slotStopCapture(); + void slotRecord(); void slotProcessStatus(QProcess::ProcessState status); + void slotVideoDeviceChanged(int ix); + void slotRewind(); + void slotForward(); + void slotDisconnect(); + //void slotStartGrab(const QRect &rect); + void slotConfigure(); + void slotReadDvgrabInfo(); + void slotUpdateFreeSpace(); public slots: void refreshRecMonitor(bool visible); @@ -72,11 +111,13 @@ public slots: void start(); void activateRecMonitor(); void slotPlay(); + void slotUpdateCaptureFolder(); signals: void renderPosition(int); void durationChanged(int); void addProjectClip(KUrl); + void showConfigDialog(int, int); }; #endif