X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitoreditwidget.cpp;h=0595477f87bfee4d792d3f9d88e6acb15de85bea;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=76109ba546a3774ea92e1d0936d87f5fecc84190;hpb=8e225862f4187b61d93f6fb58ff0bd2f998a0860;p=kdenlive diff --git a/src/monitoreditwidget.cpp b/src/monitoreditwidget.cpp index 76109ba5..0595477f 100644 --- a/src/monitoreditwidget.cpp +++ b/src/monitoreditwidget.cpp @@ -22,21 +22,32 @@ #include "monitorscene.h" #include "kdenlivesettings.h" +#include "onmonitoritems/onmonitorrectitem.h" +#include "onmonitoritems/onmonitorpathitem.h" + #include #include #include #include +#include +#include #include + MonitorEditWidget::MonitorEditWidget(Render* renderer, QWidget* parent) : QWidget(parent) { + setAutoFillBackground(true); + setAttribute(Qt::WA_PaintOnScreen, false); + setAttribute(Qt::WA_OpaquePaintEvent, false); + setContentsMargins(0, 0, 0, 0); + setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); m_ui.setupUi(this); - m_scene = new MonitorScene(renderer); m_view = new QGraphicsView(m_scene, m_ui.frameVideo); - m_view->setRenderHints(QFlags()); + m_view->setFrameShape(QFrame::NoFrame); + //m_view->setRenderHints(QFlags()); m_view->scale(((double) renderer->renderWidth()) / renderer->frameRenderWidth(), 1.0); m_view->setMouseTracking(true); m_scene->setUp(); @@ -49,6 +60,7 @@ MonitorEditWidget::MonitorEditWidget(Render* renderer, QWidget* parent) : m_visibilityAction = new QAction(KIcon("video-display"), i18n("Show/Hide edit mode"), this); m_visibilityAction->setCheckable(true); + m_visibilityAction->setChecked(KdenliveSettings::showOnMonitorScene()); m_visibilityAction->setVisible(false); m_ui.buttonDirectUpdate->setIcon(KIcon("transform-scale")); @@ -61,7 +73,7 @@ MonitorEditWidget::MonitorEditWidget(Render* renderer, QWidget* parent) : m_ui.buttonZoomOriginal->setToolTip(i18n("Original size")); connect(m_ui.sliderZoom, SIGNAL(valueChanged(int)), m_scene, SLOT(slotZoom(int))); - connect(m_scene, SIGNAL(zoomChanged(int)), m_ui.sliderZoom, SLOT(setValue(int))); + connect(m_scene, SIGNAL(zoomChanged(int)), this, SLOT(slotZoom(int))); connect(m_ui.buttonZoomFit, SIGNAL(clicked()), m_scene, SLOT(slotZoomFit())); connect(m_ui.buttonZoomOriginal, SIGNAL(clicked()), m_scene, SLOT(slotZoomOriginal())); m_scene->slotZoomFit(); @@ -72,18 +84,26 @@ MonitorEditWidget::MonitorEditWidget(Render* renderer, QWidget* parent) : MonitorEditWidget::~MonitorEditWidget() { + KdenliveSettings::setShowOnMonitorScene(m_visibilityAction->isChecked()); delete m_view; delete m_scene; delete m_visibilityAction; } +void MonitorEditWidget::slotZoom(int value) +{ + m_ui.sliderZoom->blockSignals(true); + m_ui.sliderZoom->setValue(value); + m_ui.sliderZoom->blockSignals(false); +} + void MonitorEditWidget::resetProfile(Render* renderer) { m_view->scale(((double) renderer->renderWidth()) / renderer->frameRenderWidth(), 1.0); m_scene->resetProfile(); } -MonitorScene* MonitorEditWidget::getScene() +MonitorScene* MonitorEditWidget::getScene() const { return m_scene; }