Commit 1b751c44 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4 - Open Capture: work on DirectShow Capture cards.

parent cff5d79c
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
#include "components/open_panels.hpp" #include "components/open_panels.hpp"
#include "dialogs/open.hpp" #include "dialogs/open.hpp"
#include "dialogs_provider.hpp" #include "dialogs_provider.hpp"
#include "components/preferences_widgets.hpp"
#include <QFileDialog> #include <QFileDialog>
#include <QDialogButtonBox> #include <QDialogButtonBox>
...@@ -792,44 +791,30 @@ CaptureOpenPanel::CaptureOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) : ...@@ -792,44 +791,30 @@ CaptureOpenPanel::CaptureOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
addModuleAndLayouts( DSHOW_DEVICE, dshow, "DirectShow" ); addModuleAndLayouts( DSHOW_DEVICE, dshow, "DirectShow" );
/* dshow Main */ /* dshow Main */
int line = 0;
QLabel *dshowVDeviceLabel = new QLabel( qtr( "Video Device Name " ) ); module_config_t *p_config =
dshowDevLayout->addWidget( dshowVDeviceLabel, 0, 0 ); config_FindConfig( VLC_OBJECT(p_intf), "dshow-vdev" );
vdevDshowW = new StringListConfigControl(
QLabel *dshowADeviceLabel = new QLabel( qtr( "Audio Device Name " ) ); VLC_OBJECT(p_intf), p_config, this, false, dshowDevLayout, line );
dshowDevLayout->addWidget( dshowADeviceLabel, 1, 0 ); line++;
QComboBox *dshowVDevice = new QComboBox; p_config = config_FindConfig( VLC_OBJECT(p_intf), "dshow-adev" );
dshowDevLayout->addWidget( dshowVDevice, 0, 1 ); adevDshowW = new StringListConfigControl(
VLC_OBJECT(p_intf), p_config, this, false, dshowDevLayout, line );
QComboBox *dshowADevice = new QComboBox; line++;
dshowDevLayout->addWidget( dshowADevice, 1, 1 );
QPushButton *dshowVRefresh = new QPushButton( qtr( "Update List" ) );
dshowDevLayout->addWidget( dshowVRefresh, 0, 2 );
QPushButton *dshowARefresh = new QPushButton( qtr( "Update List" ) );
dshowDevLayout->addWidget( dshowARefresh, 1, 2 );
QPushButton *dshowVConfig = new QPushButton( qtr( "Configure" ) );
dshowDevLayout->addWidget( dshowVConfig, 0, 3 );
QPushButton *dshowAConfig = new QPushButton( qtr( "Configure" ) );
dshowDevLayout->addWidget( dshowAConfig, 1, 3 );
/* dshow Properties */ /* dshow Properties */
QLabel *dshowVSizeLabel = new QLabel( qtr( "Video size" ) ); QLabel *dshowVSizeLabel = new QLabel( qtr( "Video size" ) );
dshowPropLayout->addWidget( dshowVSizeLabel, 0, 0 ); dshowPropLayout->addWidget( dshowVSizeLabel, 0, 0 );
QLineEdit *dshowVSizeLine = new QLineEdit; dshowVSizeLine = new QLineEdit;
dshowPropLayout->addWidget( dshowVSizeLine, 0, 1); dshowPropLayout->addWidget( dshowVSizeLine, 0, 1);
dshowPropLayout->addItem( new QSpacerItem( 20, 20, QSizePolicy::Expanding ), dshowPropLayout->addItem( new QSpacerItem( 20, 20, QSizePolicy::Expanding ),
1, 0, 3, 1 ); 1, 0, 3, 1 );
/* dshow CONNECTs */ /* dshow CONNECTs */
CuMRL( dshowVDevice, currentIndexChanged ( int ) ); CuMRL( vdevDshowW->combo, currentIndexChanged ( int ) );
CuMRL( dshowADevice, currentIndexChanged ( int ) ); CuMRL( adevDshowW->combo, currentIndexChanged ( int ) );
CuMRL( dshowVSizeLine, textChanged( QString ) ); CuMRL( dshowVSizeLine, textChanged( QString ) );
} }
...@@ -991,6 +976,11 @@ void CaptureOpenPanel::updateMRL() ...@@ -991,6 +976,11 @@ void CaptureOpenPanel::updateMRL()
bdaBandBox->currentIndex() ).toInt() ); bdaBandBox->currentIndex() ).toInt() );
break; break;
case DSHOW_DEVICE: case DSHOW_DEVICE:
mrl = "dshow://";
mrl += " :dshow-vdev=" + QString("%1").arg( vdevDshowW->getValue() );
mrl += " :dshow-adev=" + QString("%1").arg( adevDshowW->getValue() );
if( dshowVSizeLine->isModified() )
mrl += " :dshow-size=" + dshowVSizeLine->text();
break; break;
#endif #endif
case SCREEN_DEVICE: case SCREEN_DEVICE:
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
#include "ui/open_net.h" #include "ui/open_net.h"
#include "ui/open_capture.h" #include "ui/open_capture.h"
#include "components/preferences_widgets.hpp"
#ifdef HAVE_LIMITS_H #ifdef HAVE_LIMITS_H
# include <limits.h> # include <limits.h>
#endif #endif
...@@ -160,6 +162,8 @@ private: ...@@ -160,6 +162,8 @@ private:
QSpinBox *bdaCard, *bdaFreq, *bdaSrate; QSpinBox *bdaCard, *bdaFreq, *bdaSrate;
QLabel *bdaSrateLabel, *bdaBandLabel; QLabel *bdaSrateLabel, *bdaBandLabel;
QComboBox *bdaBandBox; QComboBox *bdaBandBox;
StringListConfigControl *vdevDshowW, *adevDshowW;
QLineEdit *dshowVSizeLine;
#else #else
QRadioButton *dvbs, *dvbt, *dvbc; QRadioButton *dvbs, *dvbt, *dvbc;
QSpinBox *v4lFreq, *pvrFreq, *pvrBitr; QSpinBox *v4lFreq, *pvrFreq, *pvrBitr;
......
...@@ -354,6 +354,7 @@ StringListConfigControl::StringListConfigControl( vlc_object_t *_p_this, ...@@ -354,6 +354,7 @@ StringListConfigControl::StringListConfigControl( vlc_object_t *_p_this,
label = new QLabel( qtr(p_item->psz_text) ); label = new QLabel( qtr(p_item->psz_text) );
combo = new QComboBox(); combo = new QComboBox();
combo->setMinimumWidth( 80 ); combo->setMinimumWidth( 80 );
combo->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Preferred );
finish( bycat ); finish( bycat );
if( !l ) if( !l )
{ {
......
...@@ -375,10 +375,10 @@ public: ...@@ -375,10 +375,10 @@ public:
virtual QString getValue(); virtual QString getValue();
virtual void hide() { combo->hide(); if( label ) label->hide(); } virtual void hide() { combo->hide(); if( label ) label->hide(); }
virtual void show() { combo->show(); if( label ) label->show(); } virtual void show() { combo->show(); if( label ) label->show(); }
QComboBox *combo;
private: private:
void finish( bool ); void finish( bool );
QLabel *label; QLabel *label;
QComboBox *combo;
private slots: private slots:
void actionRequested( int ); void actionRequested( int );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment