]> git.sesse.net Git - kdenlive/commitdiff
Allow to specity a base name for dvgrab captured files:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 26 Sep 2009 12:44:20 +0000 (12:44 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 26 Sep 2009 12:44:20 +0000 (12:44 +0000)
http://www.kdenlive.org/mantis/view.php?id=1141

svn path=/trunk/kdenlive/; revision=3933

src/clipitem.cpp
src/kdenlivesettings.kcfg
src/kdenlivesettingsdialog.cpp
src/recmonitor.cpp
src/widgets/configcapture_ui.ui

index ffd6c2266dfcf7820d2708c88279323655b16c4b..401c23ae7082337e0a7191abefc7f88ea9c59067 100644 (file)
@@ -769,7 +769,7 @@ void ClipItem::paint(QPainter *painter,
     QPen pen = painter->pen();
     pen.setColor(QColor(255, 255, 255, 200));
     pen.setStyle(Qt::DotLine);
-    
+
     for (; it != markers.end(); ++it) {
         pos = GenTime((int)((*it).time().frames(m_fps) / m_speed + 0.5), m_fps) - cropStart();
         if (pos > GenTime()) {
index 7f2f773853db07b09125cd5a3290e478488bf2ac..b6e721f00f3b6bcc638e4a24aaea5745963d8062 100644 (file)
       <label>Path for the dvgrab binary.</label>
       <default></default>
     </entry>
+
+    <entry name="dvgrabfilename" type="String">
+      <label>Default name for dvgrab capture.</label>
+      <default>capture</default>
+    </entry>
+    <entry name="dvgrabextra" type="String">
+      <label>Additionnal dvgrab parameters.</label>
+      <default></default>
+    </entry>
   </group>
 
   <group name="shuttle">
index ef8cad1dbc1aeb4dced1d66d98bf51316eef5fb6..5744bcdd44aec11e8a171f9bfa16ea66227ee5cc 100644 (file)
@@ -416,13 +416,25 @@ void KdenliveSettingsDialog::updateSettings()
     KdenliveSettings::setDefault_profile(m_defaultPath);
 
     bool resetProfile = false;
+    bool updateCapturePath = false;
 
     if (m_configEnv.capturefolderurl->url().path() != KdenliveSettings::capturefolder()) {
-        kDebug() << "/// CAPT FOLDER UPDATED";
         KdenliveSettings::setCapturefolder(m_configEnv.capturefolderurl->url().path());
-        emit updateCaptureFolder();
+        updateCapturePath = true;
     }
 
+    if (m_configCapture.kcfg_dvgrabfilename->text() != KdenliveSettings::dvgrabfilename()) {
+        KdenliveSettings::setDvgrabfilename(m_configCapture.kcfg_dvgrabfilename->text());
+        updateCapturePath = true;
+    }
+
+    if ((uint) m_configCapture.kcfg_firewireformat->currentIndex() != KdenliveSettings::firewireformat()) {
+        KdenliveSettings::setFirewireformat(m_configCapture.kcfg_firewireformat->currentIndex());
+        updateCapturePath = true;
+    }
+
+    if (updateCapturePath) emit updateCaptureFolder();
+
     QString value = m_configCapture.kcfg_rmd_alsa_device->itemData(m_configCapture.kcfg_rmd_alsa_device->currentIndex()).toString();
     if (value != KdenliveSettings::rmd_alsadevicename()) {
         KdenliveSettings::setRmd_alsadevicename(value);
index c0d1a4cee27d9bdd195b3ade67c5ec1f9864e83e..00699796da7a6b1357cfc08a4efda46ddfd1cf94 100644 (file)
@@ -195,14 +195,35 @@ void RecMonitor::slotVideoDeviceChanged(int ix)
         m_playAction->setEnabled(false);
         m_rewAction->setEnabled(false);
         m_fwdAction->setEnabled(false);
-        //m_ui.video_frame->setText(i18n("Plug your camcorder and\npress connect button\nto initialize connection"));
+
+        // Check that dvgab is available
         if (KdenliveSettings::dvgrab_path().isEmpty()) {
             QString dvgrabpath = KStandardDirs::findExe("dvgrab");
             if (dvgrabpath.isEmpty()) m_ui.video_frame->setPixmap(mergeSideBySide(KIcon("dialog-warning").pixmap(QSize(50, 50)), i18n("dvgrab utility not found,\n please install it for firewire capture")));
             else KdenliveSettings::setDvgrab_path(dvgrabpath);
+        } else {
+            // Show capture info
+            QString capturefile = KdenliveSettings::capturefolder();
+            if (!capturefile.endsWith("/")) capturefile.append("/");
+            QString capturename = KdenliveSettings::dvgrabfilename();
+            if (capturename.isEmpty()) capturename = "capture";
+            QString extension;
+            switch (KdenliveSettings::firewireformat()) {
+            case 0:
+                extension = ".dv";
+                break;
+            case 1:
+            case 2:
+                extension = ".avi";
+                break;
+            case 3:
+                extension = ".m2t";
+                break;
+            }
+            capturename.append("xxx" + extension);
+            capturefile.append(capturename);
+            m_ui.video_frame->setPixmap(mergeSideBySide(KIcon("network-connect").pixmap(QSize(50, 50)), i18n("Plug your camcorder and\npress connect button\nto initialize connection\nFiles will be saved in:\n%1", capturefile)));
         }
-
-        if (!KdenliveSettings::dvgrab_path().isEmpty()) m_ui.video_frame->setPixmap(mergeSideBySide(KIcon("network-connect").pixmap(QSize(50, 50)), i18n("Plug your camcorder and\npress connect button\nto initialize connection\nFiles will be saved in:\n%1", KdenliveSettings::capturefolder())));
         break;
     }
 }
@@ -293,45 +314,6 @@ void RecMonitor::slotStopCapture()
 
 void RecMonitor::slotStartCapture(bool play)
 {
-
-    /*
-    *captureProcess<<"dvgrab";
-
-    bool isHdv = false;
-
-    switch (m_recPanel->capture_format->currentItem()){
-        case 0:
-      *captureProcess<<"--format"<<"dv1";
-     break;
-        case 1:
-      *captureProcess<<"--format"<<"dv2";
-     break;
-        case 3:
-      *captureProcess<<"--format"<<"hdv";
-     isHdv = true;
-     break;
-        default:
-            *captureProcess<<"--format"<<"raw";
-     break;
-    }
-
-    if (KdenliveSettings::autosplit()) *captureProcess<<"--autosplit";
-    if (KdenliveSettings::timestamp()) *captureProcess<<"--timestamp";
-    *captureProcess<<"-i"<<"capture"<<"-";*/
-
-    /*
-        QStringList captureArgs;
-        captureArgs<<"--format"<<"hdv"<<"-i"<<"capture"<<"-";
-        QStringList displayArgs;
-
-        displayArgs<<"-f"<<"mpegts"<<"-x"<<QString::number(m_ui.video_frame->width())<<"-y"<<QString::number(m_ui.video_frame->height())<<"-";
-
-        captureProcess->setStandardOutputProcess(displayProcess);
-        m_ui.video_frame->setScaledContents(false);
-        captureProcess->start("dvgrab",captureArgs);
-        displayProcess->start("ffplay",  displayArgs);*/
-
-
     if (m_captureProcess->state() != QProcess::NotRunning) {
         if (m_ui.device_selector->currentIndex() == FIREWIRE) {
             if (m_isPlaying) {
@@ -350,6 +332,8 @@ void RecMonitor::slotStartCapture(bool play)
     m_captureArgs.clear();
     m_displayArgs.clear();
     m_isPlaying = false;
+    QString capturename = KdenliveSettings::dvgrabfilename();
+    QStringList dvargs = KdenliveSettings::dvgrabextra().simplified().split(" ", QString::SkipEmptyParts);
 
     switch (m_ui.device_selector->currentIndex()) {
     case FIREWIRE:
@@ -377,7 +361,13 @@ void RecMonitor::slotStartCapture(bool play)
         }
         if (KdenliveSettings::firewireautosplit()) m_captureArgs << "--autosplit";
         if (KdenliveSettings::firewiretimestamp()) m_captureArgs << "--timestamp";
-        m_captureArgs << "-i" << "capture" << "-";
+        if (!dvargs.isEmpty()) {
+            m_captureArgs << dvargs;
+        }
+        m_captureArgs << "-i";
+        if (capturename.isEmpty()) capturename = "capture";
+        m_captureArgs << capturename << "-";
+
         m_displayArgs << "-x" << QString::number(m_ui.video_frame->width()) << "-y" << QString::number(m_ui.video_frame->height()) << "-";
 
         m_captureProcess->setStandardOutputProcess(m_displayProcess);
@@ -453,21 +443,15 @@ void RecMonitor::slotRecord()
             path = KdenliveSettings::capturefolder() + "/capture" + num + '.' + extension;
             i++;
         }
-
         m_captureFile = KUrl(path);
 
         m_captureArgs.clear();
         m_displayArgs.clear();
         QString args;
+        QString capturename = KdenliveSettings::dvgrabfilename();
+        if (capturename.isEmpty()) capturename = "capture";
 
         switch (m_ui.device_selector->currentIndex()) {
-        case FIREWIRE:
-            m_captureArgs << "--format" << "hdv" << "-i" << "capture" << "-";
-            m_displayArgs << "-f" << "mpegts" << "-x" << QString::number(m_ui.video_frame->width()) << "-y" << QString::number(m_ui.video_frame->height()) << "-";
-            m_captureProcess->setStandardOutputProcess(m_displayProcess);
-            kDebug() << "Capture: Running dvgrab " << m_captureArgs.join(" ");
-            m_captureProcess->start(KdenliveSettings::dvgrab_path(), m_captureArgs);
-            break;
         case VIDEO4LINUX:
             m_captureArgs << KdenliveSettings::video4capture().simplified().split(' ') << KdenliveSettings::video4encoding().simplified().split(' ') << "-vcodec" << "mpeg4" << "-acodec" << "mp2" << "-y" << m_captureFile.path() << "-f" << "mpegts" << "-vcodec" << "mpeg4" << "-acodec" << "mp2" << "-";
             m_displayArgs << "-f" << "mpegts" << "-x" << QString::number(m_ui.video_frame->width()) << "-y" << QString::number(m_ui.video_frame->height()) << "-";
@@ -620,7 +604,9 @@ void RecMonitor::manageCapturedFiles()
     }
     QDir dir(KdenliveSettings::capturefolder());
     QStringList filters;
-    filters << "capture*" + extension;
+    QString capturename = KdenliveSettings::dvgrabfilename();
+    if (capturename.isEmpty()) capturename = "capture";
+    filters << capturename + "*" + extension;
     const QStringList result = dir.entryList(filters, QDir::Files, QDir::Time);
     KUrl::List capturedFiles;
     foreach(const QString &name, result) {
index 8591d3803a24f39f1eba9ce2311428d9beb74fa4..26453fafd98827f59845353c38a9460cc49198da 100644 (file)
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>ConfigCapture_UI</class>
- <widget class="QWidget" name="ConfigCapture_UI" >
-  <property name="geometry" >
+ <widget class="QWidget" name="ConfigCapture_UI">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>509</width>
-    <height>464</height>
+    <width>409</width>
+    <height>428</height>
    </rect>
   </property>
-  <layout class="QGridLayout" name="gridLayout_6" >
-   <item row="0" column="0" >
-    <widget class="QLabel" name="label" >
-     <property name="text" >
+  <layout class="QGridLayout" name="gridLayout_6">
+   <item row="0" column="0">
+    <widget class="QLabel" name="label">
+     <property name="text">
       <string>Default capture device</string>
      </property>
     </widget>
    </item>
-   <item row="0" column="1" >
-    <widget class="KComboBox" name="kcfg_defaultcapture" >
+   <item row="0" column="1">
+    <widget class="KComboBox" name="kcfg_defaultcapture">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
      <item>
-      <property name="text" >
+      <property name="text">
        <string>Firewire</string>
       </property>
      </item>
      <item>
-      <property name="text" >
+      <property name="text">
        <string>Video4Linux</string>
       </property>
      </item>
      <item>
-      <property name="text" >
+      <property name="text">
        <string>Screen Grab</string>
       </property>
      </item>
     </widget>
    </item>
-   <item row="1" column="0" colspan="2" >
-    <widget class="QTabWidget" name="tabWidget" >
-     <property name="minimumSize" >
+   <item row="1" column="0" colspan="2">
+    <widget class="QTabWidget" name="tabWidget">
+     <property name="minimumSize">
       <size>
        <width>401</width>
        <height>0</height>
       </size>
      </property>
-     <property name="currentIndex" >
+     <property name="currentIndex">
       <number>0</number>
      </property>
-     <widget class="QWidget" name="tab" >
-      <attribute name="title" >
+     <widget class="QWidget" name="tab">
+      <attribute name="title">
        <string>Firewire</string>
       </attribute>
-      <layout class="QGridLayout" name="gridLayout_2" >
-       <item row="0" column="0" colspan="3" >
-        <widget class="QLabel" name="dvgrab_info" >
-         <property name="frameShape" >
+      <layout class="QGridLayout" name="gridLayout_2">
+       <item row="0" column="0" colspan="3">
+        <widget class="QLabel" name="dvgrab_info">
+         <property name="frameShape">
           <enum>QFrame::StyledPanel</enum>
          </property>
-         <property name="frameShadow" >
+         <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
-         <property name="text" >
+         <property name="text">
           <string/>
          </property>
         </widget>
        </item>
-       <item row="1" column="0" >
-        <widget class="QLabel" name="label_2" >
-         <property name="text" >
+       <item row="1" column="0">
+        <widget class="QLabel" name="label_2">
+         <property name="text">
           <string>Capture format</string>
          </property>
         </widget>
        </item>
-       <item row="1" column="1" >
-        <widget class="KComboBox" name="kcfg_firewireformat" >
+       <item row="1" column="1">
+        <widget class="KComboBox" name="kcfg_firewireformat">
          <item>
-          <property name="text" >
+          <property name="text">
            <string>DV Raw</string>
           </property>
          </item>
          <item>
-          <property name="text" >
+          <property name="text">
            <string>DV AVI type 1</string>
           </property>
          </item>
          <item>
-          <property name="text" >
+          <property name="text">
            <string>DV AVI type 2</string>
           </property>
          </item>
          <item>
-          <property name="text" >
+          <property name="text">
            <string>HDV</string>
           </property>
          </item>
         </widget>
        </item>
-       <item row="1" column="2" >
-        <spacer name="horizontalSpacer" >
-         <property name="orientation" >
+       <item row="1" column="2">
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
           <enum>Qt::Horizontal</enum>
          </property>
-         <property name="sizeHint" stdset="0" >
+         <property name="sizeHint" stdset="0">
           <size>
            <width>241</width>
            <height>20</height>
          </property>
         </spacer>
        </item>
-       <item row="2" column="0" colspan="3" >
-        <widget class="QCheckBox" name="kcfg_firewireautosplit" >
-         <property name="text" >
+       <item row="2" column="0" colspan="3">
+        <widget class="QCheckBox" name="kcfg_firewireautosplit">
+         <property name="text">
           <string>Automatically start a new file on scene cut</string>
          </property>
         </widget>
        </item>
-       <item row="3" column="0" colspan="3" >
-        <widget class="QCheckBox" name="kcfg_firewiretimestamp" >
-         <property name="text" >
+       <item row="3" column="0" colspan="3">
+        <widget class="QCheckBox" name="kcfg_firewiretimestamp">
+         <property name="text">
           <string>Add recording time to captured file name</string>
          </property>
         </widget>
        </item>
-       <item row="4" column="1" >
-        <spacer name="verticalSpacer_2" >
-         <property name="orientation" >
+       <item row="4" column="0">
+        <widget class="QLabel" name="label_5">
+         <property name="text">
+          <string>Capture file name</string>
+         </property>
+        </widget>
+       </item>
+       <item row="4" column="1" colspan="2">
+        <widget class="QLineEdit" name="kcfg_dvgrabfilename"/>
+       </item>
+       <item row="5" column="0" colspan="2">
+        <widget class="QLabel" name="label_7">
+         <property name="text">
+          <string>dvgrab additional parameters</string>
+         </property>
+        </widget>
+       </item>
+       <item row="6" column="0" colspan="3">
+        <widget class="QLineEdit" name="kcfg_dvgrabextra"/>
+       </item>
+       <item row="7" column="1">
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
           <enum>Qt::Vertical</enum>
          </property>
-         <property name="sizeHint" stdset="0" >
+         <property name="sizeHint" stdset="0">
           <size>
            <width>20</width>
            <height>188</height>
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab_2" >
-      <attribute name="title" >
+     <widget class="QWidget" name="tab_2">
+      <attribute name="title">
        <string>Video4Linux</string>
       </attribute>
-      <layout class="QGridLayout" name="gridLayout" >
-       <item row="9" column="2" >
-        <spacer name="verticalSpacer" >
-         <property name="orientation" >
+      <layout class="QGridLayout" name="gridLayout">
+       <item row="9" column="2">
+        <spacer name="verticalSpacer">
+         <property name="orientation">
           <enum>Qt::Vertical</enum>
          </property>
-         <property name="sizeHint" stdset="0" >
+         <property name="sizeHint" stdset="0">
           <size>
            <width>20</width>
            <height>40</height>
          </property>
         </spacer>
        </item>
-       <item row="0" column="3" >
-        <widget class="QLabel" name="label_3" >
-         <property name="sizePolicy" >
-          <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+       <item row="0" column="3">
+        <widget class="QLabel" name="label_3">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
-         <property name="text" >
+         <property name="text">
           <string>Format</string>
          </property>
         </widget>
        </item>
-       <item row="0" column="0" >
-        <widget class="QLabel" name="label_14" >
-         <property name="text" >
+       <item row="0" column="0">
+        <widget class="QLabel" name="label_14">
+         <property name="text">
           <string>Video device</string>
          </property>
         </widget>
        </item>
-       <item row="2" column="1" colspan="2" >
-        <widget class="KLineEdit" name="kcfg_video4adevice" >
-         <property name="text" >
+       <item row="2" column="1" colspan="2">
+        <widget class="KLineEdit" name="kcfg_video4adevice">
+         <property name="text">
           <string>/dev/dsp</string>
          </property>
         </widget>
        </item>
-       <item row="2" column="3" >
-        <widget class="QLabel" name="label_9" >
-         <property name="sizePolicy" >
-          <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+       <item row="2" column="3">
+        <widget class="QLabel" name="label_9">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
-         <property name="text" >
+         <property name="text">
           <string>Format</string>
          </property>
         </widget>
        </item>
-       <item row="2" column="0" >
-        <widget class="QLabel" name="label_16" >
-         <property name="text" >
+       <item row="2" column="0">
+        <widget class="QLabel" name="label_16">
+         <property name="text">
           <string>Audio device</string>
          </property>
         </widget>
        </item>
-       <item row="5" column="0" colspan="2" >
-        <widget class="QLabel" name="label_11" >
-         <property name="sizePolicy" >
-          <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+       <item row="5" column="0" colspan="2">
+        <widget class="QLabel" name="label_11">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
-         <property name="text" >
+         <property name="text">
           <string>Capture params</string>
          </property>
         </widget>
        </item>
-       <item row="8" column="0" colspan="6" >
-        <widget class="KLineEdit" name="kcfg_video4encoding" />
+       <item row="8" column="0" colspan="6">
+        <widget class="KLineEdit" name="kcfg_video4encoding"/>
        </item>
-       <item row="7" column="0" colspan="2" >
-        <widget class="QLabel" name="label_12" >
-         <property name="sizePolicy" >
-          <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+       <item row="7" column="0" colspan="2">
+        <widget class="QLabel" name="label_12">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
-         <property name="text" >
+         <property name="text">
           <string>Encoding params</string>
          </property>
         </widget>
        </item>
-       <item row="2" column="4" colspan="2" >
-        <widget class="KLineEdit" name="kcfg_video4aformat" >
-         <property name="text" >
+       <item row="2" column="4" colspan="2">
+        <widget class="KLineEdit" name="kcfg_video4aformat">
+         <property name="text">
           <string>oss</string>
          </property>
         </widget>
        </item>
-       <item row="0" column="4" colspan="2" >
-        <widget class="KLineEdit" name="kcfg_video4vformat" >
-         <property name="text" >
+       <item row="0" column="4" colspan="2">
+        <widget class="KLineEdit" name="kcfg_video4vformat">
+         <property name="text">
           <string>video4linux2</string>
          </property>
         </widget>
        </item>
-       <item row="0" column="1" colspan="2" >
-        <widget class="KLineEdit" name="kcfg_video4vdevice" >
-         <property name="text" >
+       <item row="0" column="1" colspan="2">
+        <widget class="KLineEdit" name="kcfg_video4vdevice">
+         <property name="text">
           <string>/dev/video0</string>
          </property>
         </widget>
        </item>
-       <item row="6" column="0" colspan="6" >
-        <widget class="KLineEdit" name="kcfg_video4capture" >
-         <property name="sizePolicy" >
-          <sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
+       <item row="6" column="0" colspan="6">
+        <widget class="KLineEdit" name="kcfg_video4capture">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
         </widget>
        </item>
-       <item row="4" column="0" colspan="6" >
-        <widget class="Line" name="line_3" >
-         <property name="orientation" >
+       <item row="4" column="0" colspan="6">
+        <widget class="Line" name="line_3">
+         <property name="orientation">
           <enum>Qt::Horizontal</enum>
          </property>
         </widget>
        </item>
-       <item row="1" column="0" >
-        <widget class="QLabel" name="label_4" >
-         <property name="sizePolicy" >
-          <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+       <item row="1" column="0">
+        <widget class="QLabel" name="label_4">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
-         <property name="text" >
+         <property name="text">
           <string>Image size</string>
          </property>
         </widget>
        </item>
-       <item row="1" column="1" colspan="2" >
-        <widget class="KLineEdit" name="kcfg_video4size" >
-         <property name="text" >
+       <item row="1" column="1" colspan="2">
+        <widget class="KLineEdit" name="kcfg_video4size">
+         <property name="text">
           <string>320x240</string>
          </property>
         </widget>
        </item>
-       <item row="1" column="3" >
-        <widget class="QLabel" name="label_6" >
-         <property name="text" >
+       <item row="1" column="3">
+        <widget class="QLabel" name="label_6">
+         <property name="text">
           <string>Frame rate</string>
          </property>
         </widget>
        </item>
-       <item row="1" column="4" >
-        <widget class="QSpinBox" name="kcfg_video4rate" >
-         <property name="value" >
+       <item row="1" column="4">
+        <widget class="QSpinBox" name="kcfg_video4rate">
+         <property name="value">
           <number>15</number>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab_3" >
-      <attribute name="title" >
+     <widget class="QWidget" name="tab_3">
+      <attribute name="title">
        <string>Screen Grab</string>
       </attribute>
-      <layout class="QGridLayout" name="gridLayout_5" >
-       <item row="0" column="0" colspan="3" >
-        <widget class="QLabel" name="rmd_info" >
-         <property name="frameShape" >
+      <layout class="QGridLayout" name="gridLayout_5">
+       <item row="0" column="0" colspan="3">
+        <widget class="QLabel" name="rmd_info">
+         <property name="frameShape">
           <enum>QFrame::StyledPanel</enum>
          </property>
-         <property name="frameShadow" >
+         <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
-         <property name="text" >
+         <property name="text">
           <string/>
          </property>
         </widget>
        </item>
-       <item row="1" column="0" colspan="3" >
-        <widget class="QCheckBox" name="kcfg_rmd_capture_audio" >
-         <property name="text" >
+       <item row="1" column="0" colspan="3">
+        <widget class="QCheckBox" name="kcfg_rmd_capture_audio">
+         <property name="text">
           <string>Capture audio</string>
          </property>
         </widget>
        </item>
-       <item row="2" column="0" colspan="3" >
-        <widget class="QFrame" name="audio_group" >
-         <property name="frameShape" >
+       <item row="2" column="0" colspan="3">
+        <widget class="QFrame" name="audio_group">
+         <property name="frameShape">
           <enum>QFrame::StyledPanel</enum>
          </property>
-         <property name="frameShadow" >
+         <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
-         <layout class="QGridLayout" name="gridLayout_4" >
-          <item row="0" column="0" colspan="5" >
-           <layout class="QHBoxLayout" name="horizontalLayout_2" >
+         <layout class="QGridLayout" name="gridLayout_4">
+          <item row="0" column="0" colspan="5">
+           <layout class="QHBoxLayout" name="horizontalLayout_2">
             <item>
-             <widget class="QLabel" name="label_8" >
-              <property name="text" >
+             <widget class="QLabel" name="label_8">
+              <property name="text">
                <string>Audio channels</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="KIntSpinBox" name="kcfg_rmd_audio_channels" />
+             <widget class="KIntSpinBox" name="kcfg_rmd_audio_channels"/>
             </item>
             <item>
-             <spacer name="horizontalSpacer_3" >
-              <property name="orientation" >
+             <spacer name="horizontalSpacer_3">
+              <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
-              <property name="sizeHint" stdset="0" >
+              <property name="sizeHint" stdset="0">
                <size>
                 <width>40</width>
                 <height>20</height>
              </spacer>
             </item>
             <item>
-             <widget class="QLabel" name="label_22" >
-              <property name="text" >
+             <widget class="QLabel" name="label_22">
+              <property name="text">
                <string>Audio frequency</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="KComboBox" name="kcfg_rmd_audio_freq" >
+             <widget class="KComboBox" name="kcfg_rmd_audio_freq">
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>48000</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>41000</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>32000</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>22500</string>
                </property>
               </item>
               <item>
-               <property name="text" >
+               <property name="text">
                 <string>11250</string>
                </property>
               </item>
             </item>
            </layout>
           </item>
-          <item row="1" column="0" >
-           <widget class="QRadioButton" name="radioButton_2" >
-            <property name="text" >
+          <item row="1" column="0">
+           <widget class="QRadioButton" name="radioButton_2">
+            <property name="text">
              <string>ALSA</string>
             </property>
-            <property name="checked" >
+            <property name="checked">
              <bool>true</bool>
             </property>
            </widget>
           </item>
-          <item row="1" column="1" colspan="2" >
-           <widget class="KComboBox" name="kcfg_rmd_alsa_device" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+          <item row="1" column="1" colspan="2">
+           <widget class="KComboBox" name="kcfg_rmd_alsa_device">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
            </widget>
           </item>
-          <item row="1" column="3" >
-           <widget class="QLabel" name="label_17" >
-            <property name="text" >
+          <item row="1" column="3">
+           <widget class="QLabel" name="label_17">
+            <property name="text">
              <string>Buffer</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="4" >
-           <widget class="KIntSpinBox" name="kcfg_rmd_alsa_buffer" >
-            <property name="maximum" >
+          <item row="1" column="4">
+           <widget class="KIntSpinBox" name="kcfg_rmd_alsa_buffer">
+            <property name="maximum">
              <number>999</number>
             </property>
            </widget>
           </item>
-          <item row="2" column="0" >
-           <widget class="QRadioButton" name="kcfg_rmd_use_jack" >
-            <property name="text" >
+          <item row="2" column="0">
+           <widget class="QRadioButton" name="kcfg_rmd_use_jack">
+            <property name="text">
              <string>Jack</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="1" >
-           <widget class="QLabel" name="label_10" >
-            <property name="text" >
+          <item row="2" column="1">
+           <widget class="QLabel" name="label_10">
+            <property name="text">
              <string>Ports:</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="2" >
-           <widget class="KLineEdit" name="kcfg_rmd_jackports" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+          <item row="2" column="2">
+           <widget class="KLineEdit" name="kcfg_rmd_jackports">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
            </widget>
           </item>
-          <item row="2" column="3" >
-           <widget class="QLabel" name="label_21" >
-            <property name="text" >
+          <item row="2" column="3">
+           <widget class="QLabel" name="label_21">
+            <property name="text">
              <string>Buffer</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="4" >
-           <widget class="KDoubleNumInput" name="kcfg_rmd_jack_buffer" />
+          <item row="2" column="4">
+           <widget class="KDoubleNumInput" name="kcfg_rmd_jack_buffer"/>
           </item>
          </layout>
         </widget>
        </item>
-       <item row="3" column="0" colspan="3" >
-        <widget class="KComboBox" name="kcfg_rmd_capture_type" >
+       <item row="3" column="0" colspan="3">
+        <widget class="KComboBox" name="kcfg_rmd_capture_type">
          <item>
-          <property name="text" >
+          <property name="text">
            <string>Full screen capture</string>
           </property>
          </item>
          <item>
-          <property name="text" >
+          <property name="text">
            <string>Region capture</string>
           </property>
          </item>
         </widget>
        </item>
-       <item row="4" column="0" colspan="3" >
-        <widget class="QFrame" name="region_group" >
-         <property name="frameShape" >
+       <item row="4" column="0" colspan="3">
+        <widget class="QFrame" name="region_group">
+         <property name="frameShape">
           <enum>QFrame::StyledPanel</enum>
          </property>
-         <property name="frameShadow" >
+         <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
-         <layout class="QGridLayout" name="gridLayout_3" >
-          <item row="0" column="0" colspan="3" >
-           <layout class="QHBoxLayout" name="horizontalLayout" >
+         <layout class="QGridLayout" name="gridLayout_3">
+          <item row="0" column="0" colspan="3">
+           <layout class="QHBoxLayout" name="horizontalLayout">
             <item>
-             <widget class="QCheckBox" name="kcfg_rmd_follow_mouse" >
-              <property name="text" >
+             <widget class="QCheckBox" name="kcfg_rmd_follow_mouse">
+              <property name="text">
                <string>Follow mouse</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="QCheckBox" name="kcfg_rmd_hide_frame" >
-              <property name="text" >
+             <widget class="QCheckBox" name="kcfg_rmd_hide_frame">
+              <property name="text">
                <string>Hide frame</string>
               </property>
              </widget>
             </item>
             <item>
-             <spacer name="horizontalSpacer_4" >
-              <property name="orientation" >
+             <spacer name="horizontalSpacer_4">
+              <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
-              <property name="sizeHint" stdset="0" >
+              <property name="sizeHint" stdset="0">
                <size>
                 <width>40</width>
                 <height>20</height>
             </item>
            </layout>
           </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="label_19" >
-            <property name="text" >
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_19">
+            <property name="text">
              <string>Offset</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="1" >
-           <widget class="KIntSpinBox" name="kcfg_rmd_offsetx" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+          <item row="1" column="1">
+           <widget class="KIntSpinBox" name="kcfg_rmd_offsetx">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="minimum" >
+            <property name="minimum">
              <number>1</number>
             </property>
-            <property name="maximum" >
+            <property name="maximum">
              <number>5000</number>
             </property>
            </widget>
           </item>
-          <item row="1" column="2" >
-           <widget class="KIntSpinBox" name="kcfg_rmd_offsety" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+          <item row="1" column="2">
+           <widget class="KIntSpinBox" name="kcfg_rmd_offsety">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="minimum" >
+            <property name="minimum">
              <number>1</number>
             </property>
-            <property name="maximum" >
+            <property name="maximum">
              <number>5000</number>
             </property>
            </widget>
           </item>
-          <item row="2" column="0" >
-           <widget class="QLabel" name="label_20" >
-            <property name="text" >
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_20">
+            <property name="text">
              <string>Size</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="1" >
-           <widget class="KIntSpinBox" name="kcfg_rmd_width" >
-            <property name="maximum" >
+          <item row="2" column="1">
+           <widget class="KIntSpinBox" name="kcfg_rmd_width">
+            <property name="maximum">
              <number>5000</number>
             </property>
            </widget>
           </item>
-          <item row="2" column="2" >
-           <widget class="KIntSpinBox" name="kcfg_rmd_height" >
-            <property name="maximum" >
+          <item row="2" column="2">
+           <widget class="KIntSpinBox" name="kcfg_rmd_height">
+            <property name="maximum">
              <number>5000</number>
             </property>
            </widget>
          </layout>
         </widget>
        </item>
-       <item row="5" column="0" >
-        <widget class="QLabel" name="label_18" >
-         <property name="text" >
+       <item row="5" column="0">
+        <widget class="QLabel" name="label_18">
+         <property name="text">
           <string>Frame rate</string>
          </property>
         </widget>
        </item>
-       <item row="5" column="1" >
-        <widget class="KDoubleNumInput" name="kcfg_rmd_fps" />
+       <item row="5" column="1">
+        <widget class="KDoubleNumInput" name="kcfg_rmd_fps"/>
        </item>
-       <item row="5" column="2" >
-        <spacer name="horizontalSpacer_2" >
-         <property name="orientation" >
+       <item row="5" column="2">
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
           <enum>Qt::Horizontal</enum>
          </property>
-         <property name="sizeHint" stdset="0" >
+         <property name="sizeHint" stdset="0">
           <size>
            <width>237</width>
            <height>20</height>
          </property>
         </spacer>
        </item>
-       <item row="6" column="0" colspan="3" >
-        <widget class="QCheckBox" name="kcfg_rmd_fullshots" >
-         <property name="text" >
+       <item row="6" column="0" colspan="3">
+        <widget class="QCheckBox" name="kcfg_rmd_fullshots">
+         <property name="text">
           <string>Full shots</string>
          </property>
         </widget>
        </item>
-       <item row="7" column="0" colspan="3" >
-        <spacer name="verticalSpacer_3" >
-         <property name="orientation" >
+       <item row="7" column="0" colspan="3">
+        <spacer name="verticalSpacer_3">
+         <property name="orientation">
           <enum>Qt::Vertical</enum>
          </property>
-         <property name="sizeHint" stdset="0" >
+         <property name="sizeHint" stdset="0">
           <size>
            <width>383</width>
            <height>160</height>
  </widget>
  <customwidgets>
   <customwidget>
-   <class>KComboBox</class>
-   <extends>QComboBox</extends>
-   <header>kcombobox.h</header>
+   <class>KIntSpinBox</class>
+   <extends>QSpinBox</extends>
+   <header>knuminput.h</header>
   </customwidget>
   <customwidget>
    <class>KDoubleNumInput</class>
    <extends>QWidget</extends>
    <header>knuminput.h</header>
   </customwidget>
-  <customwidget>
-   <class>KIntSpinBox</class>
-   <extends>QSpinBox</extends>
-   <header>knuminput.h</header>
-  </customwidget>
   <customwidget>
    <class>KLineEdit</class>
    <extends>QLineEdit</extends>
    <header>klineedit.h</header>
   </customwidget>
+  <customwidget>
+   <class>KComboBox</class>
+   <extends>QComboBox</extends>
+   <header>kcombobox.h</header>
+  </customwidget>
  </customwidgets>
  <tabstops>
   <tabstop>kcfg_defaultcapture</tabstop>