00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef DEVICEWIDGETIMPL_H
00019 #define DEVICEWIDGETIMPL_H
00020
00021 #include <devicewidget.h>
00022
00023 #include "pluginfactory.h"
00024
00025 class ConfigData;
00026 class QtVision;
00027
00028
00033 class DeviceWidgetImpl : public DeviceWidget
00034 {
00035 Q_OBJECT
00036
00037 public:
00038 DeviceWidgetImpl(QWidget *, ConfigData*, QtVision *);
00039 ~DeviceWidgetImpl();
00040
00042 void device(QtVision *);
00044 void setCurrentDevice();
00045 bool deviceChanged();
00046
00047 enum RegionNPS
00048 {
00049 region_ntsc = 1,
00050 region_pal = 2,
00051 region_pal_60 = 3,
00052 region_secam = 4
00053 };
00054
00055 protected slots:
00056 void slotChangeSources(const QString &);
00057
00058 private:
00059 void scanDevices();
00060 void updateRegionStatus();
00061 bool deviceIsTuner(const QString &);
00062
00063
00064 typedef QMap<PluginDesc,QStringList> DeviceMap;
00065 typedef QMap<QString,QStringList> SourceMap;
00066
00067 QMap<QString,bool> _devTuner;
00068 QMap<QString,bool> _devNeedsNorm;
00069
00070 DeviceMap _devs;
00071 SourceMap _srcs;
00072
00073 QtVision *_qtv;
00074 ConfigData *_cfg;
00075 bool _devChanged, _srcChanged;
00076
00077 private slots:
00078 void slotDeviceChanged();
00079 void slotSourceChanged();
00080 };
00081
00082 #endif