//m_ruler->setPixelPerMark(3);
- ui.video_frame->setAttribute(Qt::WA_PaintOnScreen);
- render = new Render(m_name, (int) ui.video_frame->winId(), -1, this);
+ QVBoxLayout *rendererBox = new QVBoxLayout(ui.video_frame);
+ m_monitorRefresh = new MonitorRefresh(ui.video_frame);
+ rendererBox->addWidget(m_monitorRefresh);
+ m_monitorRefresh->setAttribute(Qt::WA_PaintOnScreen);
+ render = new Render(m_name, (int) m_monitorRefresh->winId(), -1, this);
+ m_monitorRefresh->setRenderer(render);
+
connect(render, SIGNAL(durationChanged(int)), this, SLOT(adjustRulerSize(int)));
connect(render, SIGNAL(rendererPosition(int)), this, SLOT(seekCursor(int)));
connect(render, SIGNAL(rendererStopped(int)), this, SLOT(rendererStopped(int)));
render->saveSceneList(path, e);
}
-/* Commented out, takes huge CPU resources
+MonitorRefresh::MonitorRefresh(QWidget* parent): QWidget(parent), m_renderer(NULL) {
+
+}
+
+void MonitorRefresh::setRenderer(Render* render) {
+ m_renderer = render;
+}
-void Monitor::paintEvent(QPaintEvent * event) {
- if (render != NULL && m_isActive) render->doRefresh();
- QWidget::paintEvent(event);
-}*/
+void MonitorRefresh::paintEvent(QPaintEvent * event) {
+ if (m_renderer != NULL) m_renderer->doRefresh();
+}
#include "monitor.moc"
class MonitorManager;
+class MonitorRefresh : public QWidget {
+ Q_OBJECT
+public:
+ MonitorRefresh(QWidget* parent);
+ virtual void paintEvent(QPaintEvent * event);
+ void setRenderer(Render* render);
+private:
+ Render *m_renderer;
+};
+
class Monitor : public QWidget {
Q_OBJECT
private:
Ui::Monitor_UI ui;
MonitorManager *m_monitorManager;
+ MonitorRefresh *m_monitorRefresh;
QString m_name;
double m_scale;
int m_length;
void adjustRulerSize(int length);
void seekCursor(int pos);
void rendererStopped(int pos);
-
+
public slots:
void slotOpenFile(const QString &);