]> git.sesse.net Git - kdenlive/blobdiff - src/recmonitor.cpp
Fix typos (patch from yurchor)
[kdenlive] / src / recmonitor.cpp
index fb4fa0fe66008a81d2cb5208e4a13a86f5a7ac42..3a850f2481b8353201bd53604cbb72d181b374d4 100644 (file)
@@ -30,6 +30,8 @@
 #include <KComboBox>
 #include <KIO/NetAccess>
 #include <KFileItem>
+#include <KMessageBox>
+#include <KApplication>
 
 #if KDE_IS_VERSION(4,2,0)
 #include <KDiskFreeSpaceInfo>
@@ -112,6 +114,7 @@ RecMonitor::RecMonitor(QString name, QWidget *parent) :
     m_captureProcess = new QProcess;
 
     connect(m_captureProcess, SIGNAL(stateChanged(QProcess::ProcessState)), this, SLOT(slotProcessStatus(QProcess::ProcessState)));
+    connect(m_captureProcess, SIGNAL(readyReadStandardError()), this, SLOT(slotReadDvgrabInfo()));
 
     QStringList env = QProcess::systemEnvironment();
     env << "SDL_WINDOWID=" + QString::number(video_frame->winId());
@@ -140,7 +143,9 @@ RecMonitor::RecMonitor(QString name, QWidget *parent) :
 
 RecMonitor::~RecMonitor()
 {
+#if KDE_IS_VERSION(4,2,0)
     m_spaceTimer.stop();
+#endif
     delete m_captureProcess;
     delete m_displayProcess;
 }
@@ -158,7 +163,11 @@ void RecMonitor::slotConfigure()
 void RecMonitor::slotUpdateCaptureFolder()
 {
     if (m_captureProcess) m_captureProcess->setWorkingDirectory(KdenliveSettings::capturefolder());
-    slotVideoDeviceChanged(device_selector->currentIndex());
+    if (m_captureProcess->state() != QProcess::NotRunning) {
+        if (device_selector->currentIndex() == FIREWIRE)
+            KMessageBox::information(this, i18n("You need to disconnect and reconnect in the capture monitor to apply your changes"), i18n("Capturing"));
+        else KMessageBox::information(this, i18n("You need to stop capture before your changes can be applied"), i18n("Capturing"));
+    } else slotVideoDeviceChanged(device_selector->currentIndex());
     kDebug() << "// UPDATE CAPT FOLD: " << KdenliveSettings::capturefolder();
 
 #if KDE_IS_VERSION(4,2,0)
@@ -246,6 +255,7 @@ QPixmap RecMonitor::mergeSideBySide(const QPixmap& pix, const QString txt)
     res.fill(Qt::transparent);
     p.begin(&res);
     p.drawPixmap(0, 0, pix);
+    p.setPen(kapp->palette().text().color());
     p.drawText(QRect(pixWidth + 8, 0, strWidth, strHeight), 0, txt);
     p.end();
     return res;
@@ -271,7 +281,7 @@ void RecMonitor::slotDisconnect()
         m_didCapture = false;
         slotStartCapture(false);
         m_discAction->setIcon(KIcon("network-disconnect"));
-        m_discAction->setText(i18n("Disonnect"));
+        m_discAction->setText(i18n("Disconnect"));
         m_recAction->setEnabled(true);
         m_stopAction->setEnabled(true);
         m_playAction->setEnabled(true);
@@ -379,7 +389,7 @@ void RecMonitor::slotStartCapture(bool play)
         m_captureProcess->setStandardOutputProcess(m_displayProcess);
         m_captureProcess->setWorkingDirectory(KdenliveSettings::capturefolder());
         kDebug() << "Capture: Running dvgrab " << m_captureArgs.join(" ");
-        connect(m_captureProcess, SIGNAL(readyReadStandardError()), this, SLOT(slotReadDvgrabInfo()));
+
         m_captureProcess->start(KdenliveSettings::dvgrab_path(), m_captureArgs);
         if (play) m_captureProcess->write(" ", 1);
         m_discAction->setEnabled(true);
@@ -437,7 +447,9 @@ void RecMonitor::slotRecord()
         m_isCapturing = true;
         m_didCapture = true;
         m_captureProcess->write("c\n", 3);
+#if KDE_IS_VERSION(4,2,0)
         m_spaceTimer.start();
+#endif
         return;
     }
     if (m_captureProcess->state() == QProcess::NotRunning) {
@@ -579,9 +591,9 @@ void RecMonitor::slotProcessStatus(QProcess::ProcessState status)
             else video_frame->setPixmap(mergeSideBySide(KIcon("video-display").pixmap(QSize(50, 50)), i18n("Press record button\nto start screen capture\nFiles will be saved in:\n%1", KdenliveSettings::capturefolder())));
         }
         m_isCapturing = false;
-        m_spaceTimer.stop();
 
 #if KDE_IS_VERSION(4,2,0)
+        m_spaceTimer.stop();
         // update free space info
         slotUpdateFreeSpace();
 #endif
@@ -696,4 +708,5 @@ void RecMonitor::slotReadDvgrabInfo()
     m_dvinfo.updateGeometry();
 }
 
-#include "recmonitor.moc"
\ No newline at end of file
+#include "recmonitor.moc"
+