]> git.sesse.net Git - vlc/commitdiff
Actions on cropping UI. This doesn't work yet, because I am unsure of the good way...
authorJean-Baptiste Kempf <jb@videolan.org>
Mon, 31 Mar 2008 07:13:26 +0000 (00:13 -0700)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 31 Mar 2008 07:13:26 +0000 (00:13 -0700)
modules/gui/qt4/components/extended_panels.cpp
modules/gui/qt4/components/extended_panels.hpp

index 9638e6bd4e0eba2c42bc44f859bc010db3efe13f..25583c00d4d0d8ebf685923628006d45dde11b94 100755 (executable)
@@ -45,8 +45,6 @@
 #include <vlc_vout.h>
 #include <vlc_osd.h>
 
-#include <iostream>
-#include <string.h>
 
 #if 0
 class ConfClickHandler : public QObject
@@ -207,15 +205,45 @@ ExtVideo::ExtVideo( intf_thread_t *_p_intf, QTabWidget *_parent ) :
 
 #undef SETUP_VFILTER
 #undef SETUP_VFILTER_OPTION
+
+    CONNECT( ui.cropTopPx, valueChanged( int ), this, cropChange() );
+    CONNECT( ui.cropBotPx, valueChanged( int ), this, cropChange() );
+    CONNECT( ui.cropLeftPx, valueChanged( int ), this, cropChange() );
+    CONNECT( ui.cropRightPx, valueChanged( int ), this, cropChange() );
+    CONNECT( ui.topBotCropSync, toggled( bool ),
+             ui.cropBotPx, setDisabled( bool ) );
+    CONNECT( ui.leftRightCropSync, toggled( bool ),
+             ui.cropRightPx, setDisabled( bool ) );
 }
 
 ExtVideo::~ExtVideo()
 {
 }
 
+void ExtVideo::cropChange()
+{
+    char *psz_crop;
+    unsigned int height, width; //TODO set the variables if vout exists...
+
+    p_vout = ( vout_thread_t * )vlc_object_find( p_intf,
+                                VLC_OBJECT_VOUT, FIND_CHILD );
+    if( p_vout )
+    {
+        height = p_vout->i_window_height;
+        width = p_vout->i_window_width;
+        sprintf( psz_crop,"%ix%i+%i+%i",
+                width - ui.cropLeftPx->value() - ui.cropRightPx->value(),
+                height - ui.cropBotPx->value() - ui.cropTopPx->value(),
+                ui.cropLeftPx->value(),
+                ui.cropTopPx->value() );
+
+        //    var_Set( p_vout, "crop-geometry", qtu( qs_crop ) );
+    }
+
+}
+
 void ExtVideo::ChangeVFiltersString( char *psz_name, vlc_bool_t b_add )
 {
-    vout_thread_t *p_vout;
     char *psz_parser, *psz_string;
     const char *psz_filter_type;
 
index 60a2fd42506ff74798cdab0e95faada86341dd7b..b632488cca10391c1854623c43d171152e9285bf 100644 (file)
@@ -53,12 +53,14 @@ private:
     Ui::ExtVideoWidget ui;
     QSignalMapper* filterMapper;
     intf_thread_t *p_intf;
+    vout_thread_t *p_vout;
     void initComboBoxItems( QObject* );
     void setWidgetValue( QObject* );
     void ChangeVFiltersString( char *psz_name, vlc_bool_t b_add );
 private slots:
     void updateFilters();
     void updateFilterOptions();
+    void cropChange();
 };
 
 class ExtV4l2 : public QWidget