X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitoreditwidget.cpp;h=d09a13c4c9cdb7da9559cad9312e96d5faf1821c;hb=6d1acdab58d8e6472d5b1f04a868e26f19b6f668;hp=25df13dd2827b30a7b9bfe005731bc839e8f7db0;hpb=81be3bf632b306ffd8795f0c81d4372e358e88d2;p=kdenlive diff --git a/src/monitoreditwidget.cpp b/src/monitoreditwidget.cpp index 25df13dd..d09a13c4 100644 --- a/src/monitoreditwidget.cpp +++ b/src/monitoreditwidget.cpp @@ -32,10 +32,15 @@ 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->setFrameShape(QFrame::NoFrame); m_view->setRenderHints(QFlags()); m_view->scale(((double) renderer->renderWidth()) / renderer->frameRenderWidth(), 1.0); m_view->setMouseTracking(true); @@ -49,6 +54,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 +67,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,11 +78,19 @@ 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); @@ -121,8 +135,10 @@ void MonitorEditWidget::addCustomButton(const QIcon& icon, const QString& text, void MonitorEditWidget::removeCustomControls() { QLayoutItem *child; - while ((child = m_customControlsLayout->takeAt(0)) != 0) + while ((child = m_customControlsLayout->takeAt(0)) != 0) { + if (child->widget()) delete child->widget(); delete child; + } } void MonitorEditWidget::slotSetDirectUpdate(bool directUpdate)