X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fcomponents%2Fopen_panels.hpp;h=fee9feec06fead8c7f8832d52db51fbb7457aa9d;hb=a1c69e8ee4a1e2128006b7b008751cd1609c96d9;hp=f63a42afe0a51e247b48f88cd9860afd89180b1b;hpb=6ebae83db81a80cdc3cead264455074702223ac0;p=vlc diff --git a/modules/gui/qt4/components/open_panels.hpp b/modules/gui/qt4/components/open_panels.hpp index f63a42afe0..fee9feec06 100644 --- a/modules/gui/qt4/components/open_panels.hpp +++ b/modules/gui/qt4/components/open_panels.hpp @@ -1,7 +1,7 @@ /***************************************************************************** * open.hpp : Panels for the open dialogs **************************************************************************** - * Copyright (C) 2006-2007 the VideoLAN team + * Copyright (C) 2006-2009 the VideoLAN team * Copyright (C) 2007 Société des arts technologiques * Copyright (C) 2007 Savoir-faire Linux * $Id$ @@ -32,36 +32,20 @@ # include "config.h" #endif -#include - -#include +#include "components/preferences_widgets.hpp" #include "ui/open_file.h" #include "ui/open_disk.h" #include "ui/open_net.h" #include "ui/open_capture.h" -#include "components/preferences_widgets.hpp" +#include #include #define setSpinBoxFreq( spinbox ){ spinbox->setRange ( 0, INT_MAX ); \ spinbox->setAccelerated( true ); } -enum -{ - NO_PROTO, - HTTP_PROTO, - HTTPS_PROTO, - MMS_PROTO, - FTP_PROTO, - RTSP_PROTO, - RTP_PROTO, - UDP_PROTO, - RTMP_PROTO -}; - - enum { V4L_DEVICE, @@ -74,13 +58,10 @@ enum JACK_DEVICE }; -static const char *psz_devModule[] = { "v4l", "v4l2", "pvr", "dvb", "bda", - "dshow", "screen", "jack" }; - - class QWidget; class QLineEdit; class QString; +class QStringListModel; class OpenPanel: public QWidget { @@ -97,8 +78,8 @@ protected: public slots: virtual void updateMRL() = 0; signals: - void mrlUpdated( QString ); - void methodChanged( QString method ); + void mrlUpdated( const QStringList&, const QString& ); + void methodChanged( const QString& method ); }; class FileOpenBox: public QFileDialog @@ -106,12 +87,14 @@ class FileOpenBox: public QFileDialog Q_OBJECT; public: FileOpenBox( QWidget *parent, const QString &caption, - const QString &directory, const QString &filter ): - QFileDialog( parent, caption, directory, filter ) {} + const QString &directory, const QString &filter ): + QFileDialog( parent, caption, directory, filter ) {} public slots: - void accept(); + void accept(){} + void reject(){} }; + class FileOpenPanel: public OpenPanel { Q_OBJECT; @@ -120,17 +103,29 @@ public: virtual ~FileOpenPanel(); virtual void clear() ; virtual void accept() ; +protected: + bool eventFilter(QObject *obj, QEvent *event) + { + if( event->type() == QEvent::Hide || + event->type() == QEvent::HideToParent ) + { + event->accept(); + return true; + } + return false; + } private: Ui::OpenFile ui; - QStringList browse( QString ); FileOpenBox *dialogBox; - QLineEdit *lineFileEdit; - QStringList fileCompleteList ; + void BuildOldPanel(); public slots: virtual void updateMRL(); private slots: void browseFileSub(); - void toggleSubtitleFrame(); + void browseFile(); + void removeFile(); + void updateButtons(); + void toggleSubtitleFrame( bool ); }; class NetOpenPanel: public OpenPanel @@ -142,10 +137,11 @@ public: virtual void clear() ; private: Ui::OpenNetwork ui; + QStringListModel *mrlList; public slots: virtual void updateMRL(); private slots: - void updateProtocol( int ); + void updateCompleter(); }; class DiscOpenPanel: public OpenPanel @@ -178,31 +174,35 @@ public: virtual void clear() ; private: Ui::OpenCapture ui; + bool isInitialized; + QString advMRL; QDialog *adv; #ifdef WIN32 - QRadioButton *bdas, *bdat, *bdac; + QRadioButton *bdas, *bdat, *bdac, *bdaa; QSpinBox *bdaCard, *bdaFreq, *bdaSrate; QLabel *bdaSrateLabel, *bdaBandLabel; QComboBox *bdaBandBox; StringListConfigControl *vdevDshowW, *adevDshowW; QLineEdit *dshowVSizeLine; - QGridLayout * devLayout; #else QRadioButton *dvbs, *dvbt, *dvbc; + QLabel *dvbBandLabel, *dvbSrateLabel; QSpinBox *v4lFreq, *pvrFreq, *pvrBitr; QLineEdit *v4lVideoDevice, *v4lAudioDevice; QLineEdit *v4l2VideoDevice, *v4l2AudioDevice; QLineEdit *pvrDevice, *pvrRadioDevice; - QComboBox *v4lNormBox, *v4l2StdBox, *pvrNormBox; + QComboBox *v4lNormBox, *v4l2StdBox, *pvrNormBox, *dvbBandBox; QSpinBox *dvbCard, *dvbFreq, *dvbSrate; QSpinBox *jackChannels, *jackCaching; QCheckBox *jackPace, *jackConnect; QLineEdit *jackPortsSelected; #endif + QSpinBox *screenFPS; public slots: virtual void updateMRL(); + void initialize(); private slots: void updateButtons(); void advancedDialog();