#include "monitorscene.h"
#include "renderer.h"
-#include "onmonitoritems/onmonitorrectitem.h"
#include "kdenlivesettings.h"
#include <QGraphicsView>
#include <QGraphicsPixmapItem>
#include <QGraphicsSceneMouseEvent>
+
MonitorScene::MonitorScene(Render *renderer, QObject* parent) :
QGraphicsScene(parent),
m_renderer(renderer),
void MonitorScene::slotUpdateBackground()
{
if (m_view && m_view->isVisible()) {
- if (m_lastUpdate.msecsTo(QTime::currentTime()) > 100) {
+ if (m_lastUpdate.msecsTo(QTime::currentTime()) > 50) {
m_background->setPixmap(QPixmap::fromImage(m_backgroundImage));
m_lastUpdate = QTime::currentTime();
}
slotZoom(qMin(300, (int)(m_zoom * 100 + by + 0.5)));
}
-void MonitorScene::slotSetCursor(const QCursor &cursor)
+void MonitorScene::mousePressEvent(QGraphicsSceneMouseEvent* event)
{
- if (m_view)
- m_view->setCursor(cursor);
-}
+ QGraphicsScene::mousePressEvent(event);
-
-void MonitorScene::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
- emit mousePressed(event);
-
- if (!event->isAccepted())
- QGraphicsScene::mousePressEvent(event);
+ if (!event->isAccepted() && event->buttons() & Qt::LeftButton && event->modifiers() == Qt::ControlModifier)
+ m_view->setDragMode(QGraphicsView::ScrollHandDrag);
}
void MonitorScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
- emit mouseMoved(event);
-
- if (!event->isAccepted())
- QGraphicsScene::mouseMoveEvent(event);
+ QGraphicsScene::mouseMoveEvent(event);
}
-void MonitorScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+void MonitorScene::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
{
- emit mouseReleased(event);
-
- if (!event->isAccepted())
- QGraphicsScene::mouseReleaseEvent(event);
+ QGraphicsScene::mouseReleaseEvent(event);
+ m_view->setDragMode(QGraphicsView::NoDrag);
}
-
void MonitorScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event)
{
Q_UNUSED(event);