[vlc-devel] [PATCH 2/2] Puzzle: Puzzle filter - GUI

Vianney Boyer vlcvboyer at gmail.com
Fri Jul 26 20:05:40 CEST 2013


Hi,

this is the GUI part of puzzle video filter.

I've reduced the controls quantity in order to match with VLC 
philosophy. However you can adjust the others settings by editing 
configuration file.

I've created another tab dedicated to games video filters as I'm working 
on 2 other games and other tabs are full...

Regards

Vianney


---
  modules/gui/qt4/components/extended_panels.cpp |   6 +-
  modules/gui/qt4/ui/video_effects.ui            | 227 
+++++++++++++++----------
  2 files changed, 144 insertions(+), 89 deletions(-)

diff --git a/modules/gui/qt4/components/extended_panels.cpp 
b/modules/gui/qt4/components/extended_panels.cpp
index 5197d28..a25d9bc 100644
--- a/modules/gui/qt4/components/extended_panels.cpp
+++ b/modules/gui/qt4/components/extended_panels.cpp
@@ -165,7 +165,11 @@ ExtVideo::ExtVideo( intf_thread_t *_p_intf, 
QTabWidget *_parent ) :
      SETUP_VFILTER( puzzle )
      SETUP_VFILTER_OPTION( puzzleRowsSpin, valueChanged( int ) )
      SETUP_VFILTER_OPTION( puzzleColsSpin, valueChanged( int ) )
-    SETUP_VFILTER_OPTION( puzzleBlackSlotCheck, stateChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzleBorderSlider, valueChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzlePreviewCheck, stateChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzlePreviewSizeSlider, valueChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzleRotationCombo, currentIndexChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzleModeCombo, currentIndexChanged( int ) )

      SETUP_VFILTER( magnify )

diff --git a/modules/gui/qt4/ui/video_effects.ui 
b/modules/gui/qt4/ui/video_effects.ui
index 4fdd469..ba4bdba 100644
--- a/modules/gui/qt4/ui/video_effects.ui
+++ b/modules/gui/qt4/ui/video_effects.ui
@@ -716,13 +716,6 @@
      <string>Geometry</string>
     </attribute>
     <layout class="QGridLayout" name="gridLayout_13">
-    <item row="0" column="0">
-     <widget class="QCheckBox" name="magnifyEnable">
-      <property name="text">
-       <string>Interactive Zoom</string>
-      </property>
-     </widget>
-    </item>
      <item row="0" column="1" rowspan="3">
       <widget class="QGroupBox" name="wallEnable">
        <property name="title">
@@ -808,14 +801,7 @@
        </layout>
       </widget>
      </item>
-    <item row="4" column="1">
-     <widget class="QCheckBox" name="freezeEnable">
-      <property name="text">
-       <string>Freeze an area selected by mouse pointer</string>
-      </property>
-     </widget>
-    </item>
-    <item row="2" column="0" rowspan="4">
+    <item row="2" column="0" rowspan="3">
       <widget class="QGroupBox" name="rotateEnable">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
@@ -871,78 +857,18 @@
        </layout>
       </widget>
      </item>
-    <item row="3" column="1">
-     <widget class="QGroupBox" name="puzzleEnable">
-      <property name="title">
-       <string>Puzzle game</string>
-      </property>
-      <property name="checkable">
-       <bool>true</bool>
+    <item row="0" column="0">
+     <widget class="QCheckBox" name="magnifyEnable">
+      <property name="text">
+       <string>Interactive Zoom</string>
        </property>
-      <property name="checked">
-       <bool>false</bool>
+     </widget>
+    </item>
+    <item row="3" column="1">
+     <widget class="QCheckBox" name="freezeEnable">
+      <property name="text">
+       <string>Freeze an area selected by mouse pointer</string>
        </property>
-      <layout class="QGridLayout" name="gridLayout_3">
-       <item row="0" column="0">
-        <widget class="QLabel" name="label_27">
-         <property name="text">
-          <string>Rows</string>
-         </property>
-         <property name="buddy">
-          <cstring>puzzleRowsSpin</cstring>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="1">
-        <widget class="QSpinBox" name="puzzleRowsSpin">
-         <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-         </property>
-         <property name="minimum">
-          <number>2</number>
-         </property>
-         <property name="maximum">
-          <number>16</number>
-         </property>
-         <property name="value">
-          <number>4</number>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="0">
-        <widget class="QLabel" name="label_26">
-         <property name="text">
-          <string>Columns</string>
-         </property>
-         <property name="buddy">
-          <cstring>puzzleColsSpin</cstring>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="1">
-        <widget class="QSpinBox" name="puzzleColsSpin">
-         <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-         </property>
-         <property name="minimum">
-          <number>2</number>
-         </property>
-         <property name="maximum">
-          <number>16</number>
-         </property>
-         <property name="value">
-          <number>4</number>
-         </property>
-        </widget>
-       </item>
-       <item row="2" column="0" colspan="2">
-        <widget class="QCheckBox" name="puzzleBlackSlotCheck">
-         <property name="text">
-          <string>Black Slot</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
       </widget>
      </item>
     </layout>
@@ -1815,6 +1741,134 @@
      </item>
     </layout>
    </widget>
+  <widget class="QWidget" name="tab_4">
+   <attribute name="title">
+    <string>Game</string>
+   </attribute>
+   <widget class="QGroupBox" name="puzzleEnable">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>10</y>
+      <width>521</width>
+      <height>111</height>
+     </rect>
+    </property>
+    <property name="sizePolicy">
+     <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+      <horstretch>0</horstretch>
+      <verstretch>0</verstretch>
+     </sizepolicy>
+    </property>
+    <property name="title">
+     <string>Puzzle</string>
+    </property>
+    <property name="checkable">
+     <bool>true</bool>
+    </property>
+    <property name="checked">
+     <bool>false</bool>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_21">
+     <item row="4" column="1" colspan="4">
+      <widget class="QSlider" name="puzzlePreviewSizeSlider">
+       <property name="maximum">
+        <number>100</number>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="tickPosition">
+        <enum>QSlider::TicksBelow</enum>
+       </property>
+       <property name="tickInterval">
+        <number>10</number>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="0">
+      <widget class="QCheckBox" name="puzzlePreviewCheck">
+       <property name="text">
+        <string>Preview</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0">
+      <widget class="QLabel" name="label_26">
+       <property name="text">
+        <string>border</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" colspan="4">
+      <widget class="QSlider" name="puzzleBorderSlider">
+       <property name="maximum">
+        <number>25</number>
+       </property>
+       <property name="pageStep">
+        <number>5</number>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="tickPosition">
+        <enum>QSlider::TicksBelow</enum>
+       </property>
+       <property name="tickInterval">
+        <number>5</number>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0" colspan="2">
+      <widget class="QComboBox" name="puzzleModeCombo"/>
+     </item>
+     <item row="1" column="2">
+      <widget class="QSpinBox" name="puzzleRowsSpin">
+       <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string> row</string>
+       </property>
+       <property name="prefix">
+        <string/>
+       </property>
+       <property name="minimum">
+        <number>1</number>
+       </property>
+       <property name="maximum">
+        <number>20</number>
+       </property>
+       <property name="value">
+        <number>4</number>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="4">
+      <widget class="QComboBox" name="puzzleRotationCombo"/>
+     </item>
+     <item row="1" column="3">
+      <widget class="QSpinBox" name="puzzleColsSpin">
+       <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string> col</string>
+       </property>
+       <property name="minimum">
+        <number>1</number>
+       </property>
+       <property name="maximum">
+        <number>20</number>
+       </property>
+       <property name="value">
+        <number>4</number>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+  </widget>
   </widget>
   <customwidgets>
    <customwidget>
@@ -1844,9 +1898,6 @@
    <tabstop>rotateEnable</tabstop>
    <tabstop>rotateAngleDial</tabstop>
    <tabstop>transformTypeCombo</tabstop>
-  <tabstop>puzzleRowsSpin</tabstop>
-  <tabstop>puzzleColsSpin</tabstop>
-  <tabstop>puzzleBlackSlotCheck</tabstop>
    <tabstop>colorthresEnable</tabstop>
    <tabstop>colorthresColorText</tabstop>
    <tabstop>colorthresSaturationthresSlider</tabstop>
-- 
1.8.1.2


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20130726/09a23285/attachment.html>


More information about the vlc-devel mailing list