X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fcomponents%2Fopen_panels.hpp;h=0160972bad15e4e307ddfb93500f903a4eb205bc;hb=1ce4f166a9653d8ee369862ee3111cce91af815d;hp=76b8c5c39af638cc37f940b918344f97a51963e6;hpb=3005a8a9d1b1f926f1b8c0582db35a82f5ffe307;p=vlc diff --git a/modules/gui/qt4/components/open_panels.hpp b/modules/gui/qt4/components/open_panels.hpp index 76b8c5c39a..0160972bad 100644 --- a/modules/gui/qt4/components/open_panels.hpp +++ b/modules/gui/qt4/components/open_panels.hpp @@ -46,19 +46,6 @@ #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, @@ -75,10 +62,11 @@ class QWidget; class QLineEdit; class QString; class QStringListModel; +class QEvent; class OpenPanel: public QWidget { - Q_OBJECT; + Q_OBJECT public: OpenPanel( QWidget *p, intf_thread_t *_p_intf ) : QWidget( p ) { @@ -91,13 +79,13 @@ protected: public slots: virtual void updateMRL() = 0; signals: - void mrlUpdated( QStringList, QString ); - void methodChanged( QString method ); + void mrlUpdated( const QStringList&, const QString& ); + void methodChanged( const QString& method ); }; class FileOpenBox: public QFileDialog { - Q_OBJECT; + Q_OBJECT public: FileOpenBox( QWidget *parent, const QString &caption, const QString &directory, const QString &filter ): @@ -110,7 +98,7 @@ public slots: class FileOpenPanel: public OpenPanel { - Q_OBJECT; + Q_OBJECT public: FileOpenPanel( QWidget *, intf_thread_t * ); virtual ~FileOpenPanel(); @@ -122,12 +110,15 @@ protected: if( event->type() == QEvent::Hide || event->type() == QEvent::HideToParent ) { - msg_Warn( p_intf, "here" ); event->accept(); return true; } return false; } + virtual void dropEvent( QDropEvent *); + virtual void dragEnterEvent( QDragEnterEvent * ); + virtual void dragMoveEvent( QDragMoveEvent * ); + virtual void dragLeaveEvent( QDragLeaveEvent * ); private: Ui::OpenFile ui; FileOpenBox *dialogBox; @@ -137,13 +128,14 @@ public slots: private slots: void browseFileSub(); void browseFile(); - void deleteFile(); + void removeFile(); + void updateButtons(); void toggleSubtitleFrame( bool ); }; class NetOpenPanel: public OpenPanel { - Q_OBJECT; + Q_OBJECT public: NetOpenPanel( QWidget *, intf_thread_t * ); virtual ~NetOpenPanel(); @@ -154,13 +146,28 @@ private: public slots: virtual void updateMRL(); private slots: - void updateProtocol( int ); - void updateCompleter(); + void updateModel(); +}; + +class UrlValidator : public QValidator +{ + Q_OBJECT +public: + UrlValidator( QObject *parent ) : QValidator( parent ) { } + void fixup( QString& ) const; + QValidator::State validate( QString&, int& ) const; }; class DiscOpenPanel: public OpenPanel { - Q_OBJECT; + Q_OBJECT + enum DiscType + { + None, + Dvd, + Vcd, + Cdda + }; public: DiscOpenPanel( QWidget *, intf_thread_t * ); virtual ~DiscOpenPanel(); @@ -169,7 +176,7 @@ public: private: Ui::OpenDisk ui; char *psz_dvddiscpath, *psz_vcddiscpath, *psz_cddadiscpath; - bool b_firstdvd, b_firstvcd, b_firstcdda; + DiscType m_discType; public slots: virtual void updateMRL() ; private slots: @@ -181,7 +188,7 @@ private slots: class CaptureOpenPanel: public OpenPanel { - Q_OBJECT; + Q_OBJECT public: CaptureOpenPanel( QWidget *, intf_thread_t * ); virtual ~CaptureOpenPanel(); @@ -193,7 +200,7 @@ private: QString advMRL; QDialog *adv; #ifdef WIN32 - QRadioButton *bdas, *bdat, *bdac, *bdaa; + QRadioButton *bdas, *bdat, *bdac, *bdaa, *bdaq; QSpinBox *bdaCard, *bdaFreq, *bdaSrate; QLabel *bdaSrateLabel, *bdaBandLabel; QComboBox *bdaBandBox; @@ -201,17 +208,18 @@ private: QLineEdit *dshowVSizeLine; #else QRadioButton *dvbs, *dvbt, *dvbc; + QLabel *dvbBandLabel, *dvbSrateLabel; QSpinBox *v4lFreq, *pvrFreq, *pvrBitr; QLineEdit *v4lVideoDevice, *v4lAudioDevice; - QLineEdit *v4l2VideoDevice, *v4l2AudioDevice; + QComboBox *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; + QDoubleSpinBox *screenFPS; public slots: virtual void updateMRL();