]> git.sesse.net Git - kdenlive/blobdiff - src/monitor.cpp
don't use proxy when exporting frame:
[kdenlive] / src / monitor.cpp
index 27e1758b65f7c68f687e1858e6dd15fd2c4f7795..96be7c035602ef7976de92fe4342f945b33481cb 100644 (file)
@@ -456,7 +456,9 @@ void Monitor::mousePressEvent(QMouseEvent * event)
             m_dragStarted = true;
             m_DragStartPosition = event->pos();
         }
-    } else m_contextMenu->popup(event->globalPos());
+    } else if (!m_effectWidget || !m_effectWidget->isVisible()) {
+        m_contextMenu->popup(event->globalPos());
+    }
 }
 
 void Monitor::slotSwitchFullScreen()
@@ -559,12 +561,18 @@ void Monitor::slotSetThumbFrame()
         return;
     }
     m_currentClip->setClipThumbFrame((uint) render->seekFramePosition());
-    emit refreshClipThumbnail(m_currentClip->getId());
+    emit refreshClipThumbnail(m_currentClip->getId(), true);
 }
 
 void Monitor::slotExtractCurrentFrame()
 {
-    QImage frame = render->extractFrame(render->seekFramePosition());
+    QImage frame;
+    // check if we are using a proxy
+    if (m_currentClip && !m_currentClip->getProperty("proxy").isEmpty() && m_currentClip->getProperty("proxy") != "-") {
+        // using proxy, use original clip url to get frame
+        frame = render->extractFrame(render->seekFramePosition(), m_currentClip->fileURL().path());
+    }
+    else frame = render->extractFrame(render->seekFramePosition());
     KFileDialog *fs = new KFileDialog(KUrl(), "image/png", this);
     fs->setOperationMode(KFileDialog::Saving);
     fs->setMode(KFile::File);
@@ -1038,7 +1046,7 @@ void MonitorRefresh::setRenderer(Render* render)
 
 void MonitorRefresh::paintEvent(QPaintEvent *event)
 {
-    Q_UNUSED(event);
+    Q_UNUSED(event)
     if (m_renderer) m_renderer->doRefresh();
 }
 
@@ -1140,7 +1148,7 @@ void VideoContainer::wheelEvent(QWheelEvent * event)
 
 void VideoContainer::mouseDoubleClickEvent(QMouseEvent * event)
 {
-    Q_UNUSED(event);
+    Q_UNUSED(event)
 
     if (!KdenliveSettings::openglmonitors())
         switchFullScreen();