m_zoneStart += move;
m_zoneEnd += move;
}
+ emit zoneMoved(m_zoneStart, m_zoneEnd);
m_view->setDocumentModified();
update();
} else {
p.setClipRect(e->rect());
const int projectEnd = (int)(m_duration * m_factor);
- p.fillRect(QRect(- offset(), e->rect().y(), projectEnd, e->rect().height()), QBrush(QColor(245, 245, 245)));
+ p.fillRect(QRect(0, 0, projectEnd - offset(), height()), QBrush(QColor(245, 245, 245)));
const int zoneStart = (int)(m_zoneStart * m_factor);
const int zoneEnd = (int)(m_zoneEnd * m_factor);
- p.fillRect(QRect(zoneStart - offset(), e->rect().y() + e->rect().height() / 2, zoneEnd - zoneStart, e->rect().height() / 2), QBrush(QColor(133, 255, 143)));
+ p.fillRect(QRect(zoneStart - offset(), height() / 2, zoneEnd - zoneStart, height() / 2), QBrush(QColor(133, 255, 143)));
const int value = m_view->cursorPos() * m_factor - offset();
const int minval = minimum();
public slots:
void slotMoveRuler(int newPos);
void slotCursorMoved(int oldpos, int newpos);
+
+signals:
+ void zoneMoved(int, int);
};
#endif
disconnect(transitionConfig, SIGNAL(transitionUpdated(Transition *, QDomElement)), trackView->projectView() , SLOT(slotTransitionUpdated(Transition *, QDomElement)));
disconnect(transitionConfig, SIGNAL(seekTimeline(int)), trackView->projectView() , SLOT(setCursorPos(int)));
disconnect(m_activeTimeline->projectView(), SIGNAL(activateDocumentMonitor()), m_projectMonitor, SLOT(activateMonitor()));
+ disconnect(trackView, SIGNAL(zoneMoved(int, int)), m_projectMonitor, SLOT(slotZoneMoved(int, int)));
effectStack->clear();
}
m_activeDocument->setRenderer(NULL);
connect(effectStack, SIGNAL(reloadEffects()), this, SLOT(slotReloadEffects()));
connect(trackView->projectView(), SIGNAL(activateDocumentMonitor()), m_projectMonitor, SLOT(activateMonitor()));
+ connect(trackView, SIGNAL(zoneMoved(int, int)), m_projectMonitor, SLOT(slotZoneMoved(int, int)));
+
trackView->projectView()->setContextMenu(m_timelineContextMenu, m_timelineContextClipMenu, m_timelineContextTransitionMenu);
m_activeTimeline = trackView;
if (m_renderWidget) m_renderWidget->setDocumentStandard(doc->getDocumentStandard());
ui.video_frame->setMinimumSize(0, 0);
}
+void Monitor::slotZoneMoved(int start, int end) {
+ m_ruler->setZone(start, end);
+}
+
// virtual
void Monitor::mousePressEvent(QMouseEvent * event) {
if (event->button() != Qt::RightButton) {
- slotPlay();
+ if (ui.video_frame->underMouse()) slotPlay();
} else m_contextMenu->popup(event->globalPos());
}
void saveSceneList(QString path, QDomElement info = QDomElement());
void slotStart();
void slotEnd();
+ void slotZoneMoved(int start, int end);
signals:
void renderPosition(int);
SmallRuler::SmallRuler(QWidget *parent)
: QWidget(parent), m_scale(1), m_maxval(25) {
+ m_zoneStart = 10;
+ m_zoneEnd = 60;
}
void SmallRuler::adjustScale(int maximum) {
update();
}
+void SmallRuler::setZone(int start, int end) {
+ m_zoneStart = start;
+ m_zoneEnd = end;
+ update();
+}
+
// virtual
void SmallRuler::mousePressEvent(QMouseEvent * event) {
const int pos = event->x() / m_scale;
double f, fend;
p.setPen(palette().dark().color());
+ const int zoneStart = (int)(m_zoneStart * m_scale);
+ const int zoneEnd = (int)(m_zoneEnd * m_scale);
+
+ p.fillRect(QRect(zoneStart, height() / 2, zoneEnd - zoneStart, height() / 2), QBrush(QColor(133, 255, 143)));
+
if (r.top() < 9) {
// draw the little marks
fend = m_scale * m_small;
virtual void mousePressEvent(QMouseEvent * event);
virtual void mouseMoveEvent(QMouseEvent * event);
void adjustScale(int maximum);
+ void setZone(int start, int end);
protected:
virtual void paintEvent(QPaintEvent *e);
int m_medium;
int m_small;
int m_maxval;
+ int m_zoneStart;
+ int m_zoneEnd;
public slots:
void slotNewValue(int value);
//m_scene->addRect(QRectF(0, 0, 100, 100), QPen(), QBrush(Qt::red));
m_ruler = new CustomRuler(doc->timecode(), m_trackview);
+ connect(m_ruler, SIGNAL(zoneMoved(int, int)), this, SIGNAL(zoneMoved(int, int)));
QHBoxLayout *layout = new QHBoxLayout;
view->ruler_frame->setLayout(layout);
int left_margin;
void cursorMoved();
void clipItemSelected(ClipItem*);
void transitionItemSelected(Transition*);
+ void zoneMoved(int, int);
};
#endif