From 842f74bf9dbf077c51e120e4169eaedb8a7951fb Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Sun, 20 Feb 2011 23:32:44 +0000 Subject: [PATCH] Cleanup monitor overlay info (for marker and zone text) svn path=/trunk/kdenlive/; revision=5443 --- src/monitor.cpp | 22 +++++++++++++++++----- src/monitor.h | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/monitor.cpp b/src/monitor.cpp index dbe67719..819f0b27 100644 --- a/src/monitor.cpp +++ b/src/monitor.cpp @@ -204,7 +204,7 @@ Monitor::Monitor(QString name, MonitorManager *manager, QString profile, QWidget } QWidget *spacer = new QWidget(this); - spacer->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); + spacer->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); m_toolbar->addWidget(spacer); m_timePos = new TimecodeDisplay(m_monitorManager->timecode(), this); m_toolbar->addWidget(m_timePos); @@ -886,13 +886,24 @@ void Monitor::slotSwitchMonitorInfo(bool show) if (m_monitorRefresh == NULL) { // Using OpenGL display #if defined(Q_WS_MAC) || defined(USE_OPEN_GL) - m_overlay = new Overlay(m_glWidget); + if (m_glWidget->layout()) delete m_glWidget->layout(); + m_overlay = new Overlay(); + QVBoxLayout *layout = new QVBoxLayout; + layout->addStretch(10); + layout->addWidget(m_overlay); + m_glWidget->setLayout(layout); #endif } else { - m_overlay = new Overlay(m_monitorRefresh); + if (m_monitorRefresh->layout()) delete m_monitorRefresh->layout(); + m_overlay = new Overlay(); + QVBoxLayout *layout = new QVBoxLayout; + layout->addStretch(10); + layout->addWidget(m_overlay); + m_monitorRefresh->setLayout(layout); m_overlay->raise(); m_overlay->setHidden(true); } + checkOverlay(); } else { delete m_overlay; m_overlay = NULL; @@ -1000,6 +1011,7 @@ MonitorRefresh::MonitorRefresh(QWidget* parent) : // MonitorRefresh is used as container for the SDL display (it's window id is passed to SDL) setAttribute(Qt::WA_PaintOnScreen); setAttribute(Qt::WA_OpaquePaintEvent); + setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); //setAttribute(Qt::WA_NoSystemBackground); } @@ -1018,12 +1030,12 @@ Overlay::Overlay(QWidget* parent) : QLabel(parent) { setAttribute(Qt::WA_TransparentForMouseEvents); - //setAttribute(Qt::WA_OpaquePaintEvent); - //setAttribute(Qt::WA_NoSystemBackground); setAutoFillBackground(true); setBackgroundRole(QPalette::Base); + setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); } + void Overlay::setOverlayText(const QString &text, bool isZone) { setHidden(true); diff --git a/src/monitor.h b/src/monitor.h index faaf5021..ecf7df82 100644 --- a/src/monitor.h +++ b/src/monitor.h @@ -91,7 +91,7 @@ class Overlay : public QLabel { Q_OBJECT public: - Overlay(QWidget* parent); + Overlay(QWidget* parent = 0); void setOverlayText(const QString &, bool isZone = true); private: -- 2.39.2