update(min * m_factor - 2, 0, (max - min) * m_factor + 4, height());
}
-void CustomRuler::mouseReleaseEvent(QMouseEvent * event)
+void CustomRuler::mouseReleaseEvent(QMouseEvent * /*event*/)
{
m_mouseMove = NO_MOVE;
}
m_waitingThumbs.clear();
}
+//virtual
+void CustomTrackView::keyPressEvent(QKeyEvent * event)
+{
+ if (event->key() == Qt::Key_Up) {
+ slotTrackUp();
+ event->accept();
+ } else if (event->key() == Qt::Key_Down) {
+ slotTrackDown();
+ event->accept();
+ } else QWidget::keyPressEvent(event);
+}
+
void CustomTrackView::setDocumentModified()
{
m_document->setModified(true);
}
m_cursorLine->setLine(m_cursorLine->line().x1(), 0, m_cursorLine->line().x1(), maxHeight);
setSceneRect(0, 0, sceneRect().width(), maxHeight);
+
+ m_selectedTrack = qMin(m_selectedTrack, m_document->tracksCount() - 1);
viewport()->update();
emit tracksChanged();
//QTimer::singleShot(500, this, SIGNAL(trackHeightChanged()));
if (m_selectedTrack > m_document->tracksCount() - 2) m_selectedTrack = 0;
else m_selectedTrack++;
emit updateTrackHeaders();
+ QRectF rect(mapToScene(QPoint()).x(), m_selectedTrack * m_tracksHeight, 10, m_tracksHeight);
+ ensureVisible(rect);
viewport()->update();
}
if (m_selectedTrack > 0) m_selectedTrack--;
else m_selectedTrack = m_document->tracksCount() - 1;
emit updateTrackHeaders();
+ QRectF rect(mapToScene(QPoint()).x(), m_selectedTrack * m_tracksHeight, 10, m_tracksHeight);
+ ensureVisible(rect);
viewport()->update();
}
return m_selectedTrack;
}
+void CustomTrackView::slotSelectTrack(int ix)
+{
+ m_selectedTrack = qMax(0, ix);
+ m_selectedTrack = qMin(ix, m_document->tracksCount() - 1);
+ emit updateTrackHeaders();
+ QRectF rect(mapToScene(QPoint()).x(), m_selectedTrack * m_tracksHeight, 10, m_tracksHeight);
+ ensureVisible(rect);
+ viewport()->update();
+}
+
void clipNameChanged(const QString id, const QString name);
void slotTrackUp();
void slotTrackDown();
+ void slotSelectTrack(int ix);
protected:
virtual void drawBackground(QPainter * painter, const QRectF & rect);
virtual void dragLeaveEvent(QDragLeaveEvent * event);
virtual void dropEvent(QDropEvent * event);
virtual void wheelEvent(QWheelEvent * e);
+ virtual void keyPressEvent(QKeyEvent * event);
virtual QStringList mimeTypes() const;
virtual Qt::DropActions supportedDropActions() const;
{
}*/
+// virtual
+void HeaderTrack::mousePressEvent(QMouseEvent * event)
+{
+ emit selectTrack(m_index);
+ QWidget::mousePressEvent(event);
+}
+
void HeaderTrack::setSelectedIndex(int ix)
{
if (m_index == ix) {
void adjustSize(int height);
void setSelectedIndex(int ix);
+protected:
+ virtual void mousePressEvent(QMouseEvent * event);
+
private:
int m_index;
TRACKTYPE m_type;
void deleteTrack(int);
void changeTrack(int);
void renameTrack(int);
+ void selectTrack(int);
};
#endif
connect(transcodeClip, SIGNAL(triggered(bool)), this, SLOT(slotTranscodeClip()));
KAction *markIn = collection->addAction("mark_in");
- markIn->setText(i18n("Set In Point"));
+ markIn->setText(i18n("Set Zone In"));
markIn->setShortcut(Qt::Key_I);
connect(markIn, SIGNAL(triggered(bool)), this, SLOT(slotSetInPoint()));
KAction *markOut = collection->addAction("mark_out");
- markOut->setText(i18n("Set Out Point"));
+ markOut->setText(i18n("Set Zone Out"));
markOut->setShortcut(Qt::Key_O);
connect(markOut, SIGNAL(triggered(bool)), this, SLOT(slotSetOutPoint()));
collection->addAction("monitor_seek_backward", monitorSeekBackward);
connect(monitorSeekBackward, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotRewind()));
- KAction* trackUp = new KAction(KIcon(), i18n("Previous Track"), this);
- trackUp->setShortcut(Qt::Key_Up);
- collection->addAction("track_up", trackUp);
- connect(trackUp, SIGNAL(triggered(bool)), this, SLOT(slotTrackUp()));
-
- KAction* trackDown = new KAction(KIcon(), i18n("Next Track"), this);
- trackDown->setShortcut(Qt::Key_Down);
- collection->addAction("track_down", trackDown);
- connect(trackDown, SIGNAL(triggered(bool)), this, SLOT(slotTrackDown()));
-
KAction* monitorSeekBackwardOneFrame = new KAction(KIcon("media-skip-backward"), i18n("Rewind 1 Frame"), this);
monitorSeekBackwardOneFrame->setShortcut(Qt::Key_Left);
collection->addAction("monitor_seek_backward-one-frame", monitorSeekBackwardOneFrame);
{
if (m_clipMonitor->isActive()) {
m_clipMonitor->slotSetZoneStart();
- } else m_activeTimeline->projectView()->setInPoint();
+ } else m_projectMonitor->slotSetZoneStart();
+ //else m_activeTimeline->projectView()->setInPoint();
}
void MainWindow::slotSetOutPoint()
{
if (m_clipMonitor->isActive()) {
m_clipMonitor->slotSetZoneEnd();
- } else m_activeTimeline->projectView()->setOutPoint();
+ } else m_projectMonitor->slotSetZoneEnd();
+ // else m_activeTimeline->projectView()->setOutPoint();
}
void MainWindow::slotGetNewLumaStuff()
return pixmap;
}
-void MainWindow::slotTrackUp()
-{
- if (m_activeTimeline) m_activeTimeline->projectView()->slotTrackUp();
-}
-
-void MainWindow::slotTrackDown()
-{
- if (m_activeTimeline) m_activeTimeline->projectView()->slotTrackDown();
-}
#include "mainwindow.moc"
void slotUpdateTrackInfo();
/** \brief Change color scheme */
void slotChangePalette(QAction *action, const QString &themename = QString());
- void slotTrackUp();
- void slotTrackDown();
signals:
Q_SCRIPTABLE void abortRenderJob(const QString &url);
delete m_trackview;
}
+//virtual
+void TrackView::keyPressEvent(QKeyEvent * event)
+{
+ if (event->key() == Qt::Key_Up) {
+ m_trackview->slotTrackUp();
+ event->accept();
+ } else if (event->key() == Qt::Key_Down) {
+ m_trackview->slotTrackDown();
+ event->accept();
+ } else QWidget::keyPressEvent(event);
+}
+
int TrackView::duration() const
{
return m_trackview->duration();
connect(header, SIGNAL(switchTrackVideo(int)), m_trackview, SLOT(slotSwitchTrackVideo(int)));
connect(header, SIGNAL(switchTrackAudio(int)), m_trackview, SLOT(slotSwitchTrackAudio(int)));
connect(header, SIGNAL(switchTrackLock(int)), m_trackview, SLOT(slotSwitchTrackLock(int)));
-
+ connect(header, SIGNAL(selectTrack(int)), m_trackview, SLOT(slotSelectTrack(int)));
connect(header, SIGNAL(deleteTrack(int)), this, SIGNAL(deleteTrack(int)));
connect(header, SIGNAL(insertTrack(int)), this, SIGNAL(insertTrack(int)));
connect(header, SIGNAL(changeTrack(int)), this, SIGNAL(changeTrack(int)));
int inPoint() const;
int fitZoom() const;
+protected:
+ virtual void keyPressEvent(QKeyEvent * event);
+
public slots:
void slotDeleteClip(const QString &clipId);
void slotChangeZoom(int horizontal, int vertical = -1);