connect(deleteAllClipMarkers, SIGNAL(triggered(bool)), this, SLOT(slotDeleteAllClipMarkers()));
KAction* editClipMarker = new KAction(KIcon("document-properties"), i18n("Edit Marker"), this);
+ editClipMarker->setData(QString("edit_marker"));
collection.addAction("edit_clip_marker", editClipMarker);
connect(editClipMarker, SIGNAL(triggered(bool)), this, SLOT(slotEditClipMarker()));
m_monitorRefresh(NULL),
m_effectWidget(NULL),
m_selectedClip(NULL),
- m_loopClipTransition(true)
+ m_loopClipTransition(true),
+ m_editMarker(NULL)
{
QVBoxLayout *layout = new QVBoxLayout;
m_contextMenu->addMenu(m_playMenu);
if (goMenu)
m_contextMenu->addMenu(goMenu);
- if (markerMenu)
+ if (markerMenu) {
m_contextMenu->addMenu(markerMenu);
+ QList <QAction *>list = markerMenu->actions();
+ for (int i = 0; i < list.count(); i++) {
+ if (list.at(i)->data().toString() == "edit_marker") {
+ m_editMarker = list.at(i);
+ break;
+ }
+ }
+ }
m_playMenu->addAction(playZone);
m_playMenu->addAction(loopZone);
void Monitor::mousePressEvent(QMouseEvent * event)
{
if (event->button() != Qt::RightButton) {
- if (m_videoBox->underMouse()) {
+ if (m_videoBox->underMouse() && (!m_overlay || !m_overlay->underMouse())) {
m_dragStarted = true;
m_DragStartPosition = event->pos();
}
#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
if (m_glWidget->layout()) delete m_glWidget->layout();
m_overlay = new Overlay();
+ connect(m_overlay, SIGNAL(editMarker()), this, SLOT(slotEditMarker()));
QVBoxLayout *layout = new QVBoxLayout;
layout->addStretch(10);
layout->addWidget(m_overlay);
} else {
if (m_monitorRefresh->layout()) delete m_monitorRefresh->layout();
m_overlay = new Overlay();
+ connect(m_overlay, SIGNAL(editMarker()), this, SLOT(slotEditMarker()));
QVBoxLayout *layout = new QVBoxLayout;
layout->addStretch(10);
layout->addWidget(m_overlay);
}
}
+void Monitor::slotEditMarker()
+{
+ if (m_editMarker) m_editMarker->trigger();
+}
+
void Monitor::updateTimecodeFormat()
{
m_timePos->slotUpdateTimeCodeFormat();
Overlay::Overlay(QWidget* parent) :
QLabel(parent)
{
- setAttribute(Qt::WA_TransparentForMouseEvents);
+ //setAttribute(Qt::WA_TransparentForMouseEvents);
setAutoFillBackground(true);
setBackgroundRole(QPalette::Base);
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+ setCursor(Qt::PointingHandCursor);
+}
+
+// virtual
+void Overlay::mouseReleaseEvent ( QMouseEvent * event )
+{
+ event->accept();
+}
+
+// virtual
+void Overlay::mousePressEvent( QMouseEvent * event )
+{
+ event->accept();
}
+// virtual
+void Overlay::mouseDoubleClickEvent ( QMouseEvent * event )
+{
+ emit editMarker();
+ event->accept();
+}
void Overlay::setOverlayText(const QString &text, bool isZone)
{