#ifndef RECMONITOR_H
#define RECMONITOR_H
+#include "ui_recmonitor_ui.h"
+
#include <QToolBar>
#include <QTimer>
#include <QProcess>
#include <KIcon>
#include <KAction>
#include <KRestrictedLine>
+#include <KDateTime>
+#include <kdeversion.h>
-#include "ui_recmonitor_ui.h"
-#include "smallruler.h"
-#include "regiongrabber.h"
+#if KDE_IS_VERSION(4,2,0)
+#include <kcapacitybar.h>
+#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};
virtual void mousePressEvent(QMouseEvent * event);
private:
- Ui::RecMonitor_UI ui;
- QString m_tmpFolder;
QString m_name;
- RegionGrabber *rgnGrab;
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_stopAction;
QAction *m_discAction;
void checkDeviceAvailability();
- QPixmap mergeSideBySide( const QPixmap& pix, const QString txt );
+ QPixmap mergeSideBySide(const QPixmap& pix, const QString txt);
+ void manageCapturedFiles();
private slots:
void slotStartCapture(bool play = true);
void slotRewind();
void slotForward();
void slotDisconnect();
- void slotStartGrab(const QRect &rect);
+ //void slotStartGrab(const QRect &rect);
+ void slotConfigure();
+ void slotReadDvgrabInfo();
+ void slotUpdateFreeSpace();
public slots:
void refreshRecMonitor(bool visible);
void start();
void activateRecMonitor();
void slotPlay();
+ void slotUpdateCaptureFolder();
signals:
void renderPosition(int);
void durationChanged(int);
void addProjectClip(KUrl);
+ void showConfigDialog(int, int);
};
#endif