]> git.sesse.net Git - kdenlive/blobdiff - src/monitor.cpp
Fix dvd wizard crash:
[kdenlive] / src / monitor.cpp
index 2142f76e312ad551392273bc2659f0aeee1b1b1e..9c6217d20409a2477f386479299d546fdfb64e01 100644 (file)
 #include <QIntValidator>
 
 
-Monitor::Monitor(QString name, MonitorManager *manager, QWidget *parent) :
+Monitor::Monitor(QString name, MonitorManager *manager, QString profile, QWidget *parent) :
         QWidget(parent),
         render(NULL),
         m_name(name),
         m_monitorManager(manager),
         m_currentClip(NULL),
-        m_ruler(new SmallRuler()),
+        m_ruler(new SmallRuler(m_monitorManager)),
         m_overlay(NULL),
         m_isActive(false),
         m_scale(1),
@@ -130,12 +130,14 @@ Monitor::Monitor(QString name, MonitorManager *manager, QWidget *parent) :
 
     //m_ruler->setPixelPerMark(3);
 
+    if (profile.isEmpty()) profile = KdenliveSettings::current_profile();
+
     QVBoxLayout *rendererBox = new QVBoxLayout(m_ui.video_frame);
     rendererBox->setContentsMargins(0, 0, 0, 0);
 #ifdef Q_WS_MAC
     m_glWidget = new VideoGLWidget(m_ui.video_frame);
     rendererBox->addWidget(m_glWidget);
-    render = new Render(m_name, (int) m_ui.video_frame->winId(), -1, this);
+    render = new Render(m_name, (int) m_ui.video_frame->winId(), -1, profile, this);
     m_glWidget->setImageAspectRatio(render->dar());
     m_glWidget->setBackgroundColor(KdenliveSettings::window_background());
     m_glWidget->resize(m_ui.video_frame->size());
@@ -144,7 +146,7 @@ Monitor::Monitor(QString name, MonitorManager *manager, QWidget *parent) :
 #else
     m_monitorRefresh = new MonitorRefresh(m_ui.video_frame);
     rendererBox->addWidget(m_monitorRefresh);
-    render = new Render(m_name, (int) m_monitorRefresh->winId(), -1, this);
+    render = new Render(m_name, (int) m_monitorRefresh->winId(), -1, profile, this);
     m_monitorRefresh->setRenderer(render);
 #endif
 
@@ -386,7 +388,8 @@ void Monitor::mouseReleaseEvent(QMouseEvent * event)
 {
     if (m_dragStarted) {
         if (m_ui.video_frame->underMouse()) {
-            slotPlay();
+            if (isActive()) slotPlay();
+            else activateMonitor();
         } else QWidget::mouseReleaseEvent(event);
         m_dragStarted = false;
     }
@@ -781,10 +784,10 @@ void Monitor::slotSaveZone()
 }
 
 
-void Monitor::resetProfile()
+void Monitor::resetProfile(const QString profile)
 {
     if (render == NULL) return;
-    render->resetProfile();
+    render->resetProfile(profile);
 }
 
 void Monitor::saveSceneList(QString path, QDomElement info)