/*****************************************************************************
- * open.hpp : Panels for the open dialogs
+ * open_panels.hpp : Panels for the open dialogs
****************************************************************************
* Copyright (C) 2006-2009 the VideoLAN team
* Copyright (C) 2007 Société des arts technologiques
enum
{
- V4L_DEVICE,
V4L2_DEVICE,
PVR_DEVICE,
- DVB_DEVICE,
- BDA_DEVICE,
+ DTV_DEVICE,
DSHOW_DEVICE,
SCREEN_DEVICE,
JACK_DEVICE
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 )
{
}
virtual ~OpenPanel() {};
virtual void clear() = 0;
+ virtual void onFocus() {}
+ virtual void onAccept() {}
protected:
intf_thread_t *p_intf;
public slots:
class FileOpenBox: public QFileDialog
{
- Q_OBJECT;
+ Q_OBJECT
public:
FileOpenBox( QWidget *parent, const QString &caption,
const QString &directory, const QString &filter ):
class FileOpenPanel: public OpenPanel
{
- Q_OBJECT;
+ Q_OBJECT
public:
FileOpenPanel( QWidget *, intf_thread_t * );
virtual ~FileOpenPanel();
virtual void clear() ;
virtual void accept() ;
protected:
- bool eventFilter(QObject *obj, QEvent *event)
+ bool eventFilter(QObject *, QEvent *event)
{
if( event->type() == QEvent::Hide ||
event->type() == QEvent::HideToParent )
}
return false;
}
+ virtual void dropEvent( QDropEvent *);
+ virtual void dragEnterEvent( QDragEnterEvent * );
+ virtual void dragMoveEvent( QDragMoveEvent * );
+ virtual void dragLeaveEvent( QDragLeaveEvent * );
private:
Ui::OpenFile ui;
FileOpenBox *dialogBox;
class NetOpenPanel: public OpenPanel
{
- Q_OBJECT;
+ Q_OBJECT
public:
NetOpenPanel( QWidget *, intf_thread_t * );
virtual ~NetOpenPanel();
virtual void clear() ;
+ virtual void onFocus();
+ virtual void onAccept();
private:
Ui::OpenNetwork ui;
- QStringListModel *mrlList;
+ bool b_recentList;
public slots:
virtual void updateMRL();
-private slots:
- void updateCompleter();
+};
+
+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,
+ BRD
+ };
public:
DiscOpenPanel( QWidget *, intf_thread_t * );
virtual ~DiscOpenPanel();
virtual void clear() ;
virtual void accept() ;
+#if defined( WIN32 ) || defined( __OS2__ )
+ virtual void onFocus();
+#endif
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:
class CaptureOpenPanel: public OpenPanel
{
- Q_OBJECT;
+ Q_OBJECT
public:
CaptureOpenPanel( QWidget *, intf_thread_t * );
virtual ~CaptureOpenPanel();
bool isInitialized;
QString advMRL;
+ QStringList configList;
QDialog *adv;
#ifdef WIN32
- QRadioButton *bdas, *bdat, *bdac, *bdaa;
- QSpinBox *bdaCard, *bdaFreq, *bdaSrate;
- QLabel *bdaSrateLabel, *bdaBandLabel;
- QComboBox *bdaBandBox;
StringListConfigControl *vdevDshowW, *adevDshowW;
QLineEdit *dshowVSizeLine;
#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, *dvbBandBox;
- QSpinBox *dvbCard, *dvbFreq, *dvbSrate;
- QSpinBox *jackChannels, *jackCaching;
+ QSpinBox *pvrFreq;
+ QComboBox *v4l2VideoDevice, *v4l2AudioDevice;
+ QComboBox *pvrDevice, *pvrAudioDevice;
+ QComboBox *v4l2StdBox, *pvrNormBox;
+ QSpinBox *jackChannels;
QCheckBox *jackPace, *jackConnect;
QLineEdit *jackPortsSelected;
#endif
+ QRadioButton *dvbc, *dvbs, *dvbs2, *dvbt, *dvbt2, *atsc, *cqam;
+ QLabel *dvbBandLabel, *dvbSrateLabel, *dvbModLabel;
+ QComboBox *dvbQamBox, *dvbPskBox, *dvbBandBox;
+ QSpinBox *dvbCard, *dvbFreq, *dvbSrate;
QDoubleSpinBox *screenFPS;
public slots: