[vlc-commits] commit: Qt: v4l2 control: drop v4l2.ui. auto-detect instance. ( Francois Cartegnie )

git at videolan.org git at videolan.org
Sat Sep 25 22:29:49 CEST 2010


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Fri Sep 24 23:01:23 2010 +0200| [d43b6be00d16cc30b3f33e5657d8860f4e59ec89] | committer: Francois Cartegnie 

Qt: v4l2 control: drop v4l2.ui. auto-detect instance.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d43b6be00d16cc30b3f33e5657d8860f4e59ec89
---

 modules/gui/qt4/Modules.am                     |    2 -
 modules/gui/qt4/components/extended_panels.cpp |   28 ++++++++++++-------
 modules/gui/qt4/components/extended_panels.hpp |    3 +-
 modules/gui/qt4/ui/v4l2.ui                     |   34 ------------------------
 4 files changed, 18 insertions(+), 49 deletions(-)

diff --git a/modules/gui/qt4/Modules.am b/modules/gui/qt4/Modules.am
index 0222e59..6035581 100644
--- a/modules/gui/qt4/Modules.am
+++ b/modules/gui/qt4/Modules.am
@@ -69,7 +69,6 @@ nodist_SOURCES_qt4 = \
 		util/qvlcapp.moc.cpp \
 		resources.cpp \
 		ui/equalizer.h \
-		ui/v4l2.h \
 		ui/video_effects.h \
 		ui/open_file.h \
 		ui/open_disk.h \
@@ -344,7 +343,6 @@ noinst_HEADERS = \
 EXTRA_DIST += \
 	vlc.qrc \
 	ui/equalizer.ui \
-	ui/v4l2.ui \
 	ui/video_effects.ui \
 	ui/open_file.ui \
 	ui/open_disk.ui \
diff --git a/modules/gui/qt4/components/extended_panels.cpp b/modules/gui/qt4/components/extended_panels.cpp
index 3d363a1..18a10dd 100644
--- a/modules/gui/qt4/components/extended_panels.cpp
+++ b/modules/gui/qt4/components/extended_panels.cpp
@@ -35,6 +35,7 @@
 #include <QGridLayout>
 #include <QSignalMapper>
 #include <QComboBox>
+#include <QTimer>
 
 #include "components/extended_panels.hpp"
 #include "dialogs/preferences.hpp"
@@ -633,13 +634,16 @@ void ExtVideo::gotoConf( QObject* src )
  **********************************************************************/
 
 ExtV4l2::ExtV4l2( intf_thread_t *_p_intf, QWidget *_parent )
-    : QWidget( _parent ), p_intf( _p_intf )
+    : QWidget( _parent ), p_intf( _p_intf ), box( NULL )
 {
-    ui.setupUi( this );
-
-    BUTTONACT( ui.refresh, Refresh() );
-
-    box = NULL;
+    QVBoxLayout *layout = new QVBoxLayout( this );
+    help = new QLabel( qtr("No v4l2 instance found.\n"
+      "Please check that the device has been opened with VLC and is playing.\n\n"
+      "Controls will automatically appear here.")
+      , this );
+    help->setAlignment( Qt::AlignHCenter | Qt::AlignVCenter );
+    layout->addWidget( help );
+    setLayout( layout );
 }
 
 void ExtV4l2::showEvent( QShowEvent *event )
@@ -651,10 +655,10 @@ void ExtV4l2::showEvent( QShowEvent *event )
 void ExtV4l2::Refresh( void )
 {
     vlc_object_t *p_obj = (vlc_object_t*)vlc_object_find_name( p_intf, "v4l2", FIND_ANYWHERE );
-    ui.help->hide();
+    help->hide();
     if( box )
     {
-        ui.vboxLayout->removeWidget( box );
+        layout()->removeWidget( box );
         delete box;
         box = NULL;
     }
@@ -666,13 +670,13 @@ void ExtV4l2::Refresh( void )
         if( i_ret < 0 )
         {
             msg_Err( p_intf, "Oops, v4l2 object doesn't have a 'controls' variable." );
-            ui.help->show();
+            help->show();
             vlc_object_release( p_obj );
             return;
         }
 
         box = new QGroupBox( this );
-        ui.vboxLayout->addWidget( box );
+        layout()->addWidget( box );
         QVBoxLayout *layout = new QVBoxLayout( box );
         box->setLayout( layout );
 
@@ -780,7 +784,9 @@ void ExtV4l2::Refresh( void )
     else
     {
         msg_Dbg( p_intf, "Couldn't find v4l2 instance" );
-        ui.help->show();
+        help->show();
+        if ( isVisible() )
+            QTimer::singleShot( 2000, this, SLOT(Refresh()) );
     }
 }
 
diff --git a/modules/gui/qt4/components/extended_panels.hpp b/modules/gui/qt4/components/extended_panels.hpp
index 89721a4..d38d138 100644
--- a/modules/gui/qt4/components/extended_panels.hpp
+++ b/modules/gui/qt4/components/extended_panels.hpp
@@ -33,7 +33,6 @@
 
 #include "ui/equalizer.h"
 #include "ui/video_effects.h"
-#include "ui/v4l2.h"
 
 #include <QTabWidget>
 
@@ -75,8 +74,8 @@ public:
 
 private:
     intf_thread_t *p_intf;
-    Ui::ExtV4l2Widget ui;
     QGroupBox *box;
+    QLabel *help;
 
 private slots:
     void Refresh( void );
diff --git a/modules/gui/qt4/ui/v4l2.ui b/modules/gui/qt4/ui/v4l2.ui
deleted file mode 100644
index ec18b20..0000000
--- a/modules/gui/qt4/ui/v4l2.ui
+++ /dev/null
@@ -1,34 +0,0 @@
-<ui version="4.0" >
- <class>ExtV4l2Widget</class>
- <widget class="QWidget" name="ExtV4l2Widget" >
-  <property name="geometry" >
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>405</width>
-    <height>300</height>
-   </rect>
-  </property>
-  <property name="windowTitle" >
-   <string>Form</string>
-  </property>
-  <layout class="QVBoxLayout" >
-   <item>
-    <widget class="QPushButton" name="refresh" >
-     <property name="text" >
-      <string>Refresh</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLabel" name="help" >
-     <property name="text" >
-      <string>No v4l2 instance found. Press the refresh button to try again.</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>



More information about the vlc-commits mailing list