]> git.sesse.net Git - vlc/commitdiff
Qt: v4l2 control: drop v4l2.ui. auto-detect instance.
authorFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 24 Sep 2010 21:01:23 +0000 (23:01 +0200)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 24 Sep 2010 21:03:02 +0000 (23:03 +0200)
modules/gui/qt4/Modules.am
modules/gui/qt4/components/extended_panels.cpp
modules/gui/qt4/components/extended_panels.hpp
modules/gui/qt4/ui/v4l2.ui [deleted file]

index 0222e59c8b9d5a7bef663f30cbdac509e2b76df3..60355813d170af0e7ddbcff828cb421d2cec8ca7 100644 (file)
@@ -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 \
index 3d363a1a466f289d7012f7a2fc34ae1b6a64f6a5..18a10dd24584d2008334f116d4f06dba3acff41c 100644 (file)
@@ -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()) );
     }
 }
 
index 89721a47bba718f90717835c6d5e15c04d0e303d..d38d138f6fa61c6037037d89b784b76f015a6f14 100644 (file)
@@ -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 (file)
index ec18b20..0000000
+++ /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>