00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef SETTINGSDIALOG_H
00019 #define SETTINGSDIALOG_H
00020
00021 #include <qobject.h>
00022
00023 #include <kdialogbase.h>
00024
00025 class ChannelWidgetImpl;
00026 class ConfigData;
00027 class DeviceWidgetImpl;
00028 class GeneralWidget;
00029 class PictureWidget;
00030 class PluginWidgetImpl;
00031 class QtVision;
00032 class QTimer;
00033 class QVSourcePlugin;
00034
00039 class SettingsDialog : public KDialogBase
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 enum Page
00045 {
00046 page_general = 0,
00047 page_device = 1,
00048 page_picture = 2,
00049 page_channels = 3,
00050 page_plugins = 4
00051 };
00052
00053 SettingsDialog(QWidget *, char *, bool, ConfigData *, QtVision *qtv);
00054 ~SettingsDialog();
00055
00056 void setCurrentDevice();
00057
00058 signals:
00059 void optionsModified(ConfigData *newConfig);
00060
00061 void hueChanged(int);
00062 void colourChanged(int);
00063 void brightnessChanged(int);
00064 void whitenessChanged(int);
00065 void contrastChanged(int);
00066
00067 protected slots:
00068 void slotApply();
00069 void slotDefault();
00070 void slotCancel();
00071 void slotOk();
00072 void slotHelp();
00073
00074 private:
00075 void setupGeneralPage();
00076 void setupDevicePage();
00077 void setupPicturePage();
00078 void setupChannelsPage();
00079 void setupPluginsPage();
00080
00081 void setGeneralOptions(ConfigData *);
00082 void setDeviceOptions(ConfigData *);
00083 void setPictureOptions(ConfigData *);
00084 void setChannelOptions(ConfigData *);
00085 void setPluginOptions(ConfigData *);
00086
00087
00088 bool checkValues();
00089
00090 GeneralWidget *generalWidget;
00091 DeviceWidgetImpl *deviceWidgetImpl;
00092 PictureWidget *pictureWidget;
00093 ChannelWidgetImpl *channelWidgetImpl;
00094 PluginWidgetImpl *pluginWidgetImpl;
00095 bool m_inputValid;
00096 ConfigData *newConfig;
00097 QtVision *qtv;
00098 QTimer *_ptimer;
00099
00100 private slots:
00101 void slotHueChanged(int);
00102 void slotColourChanged(int);
00103 void slotBrightnessChanged(int);
00104 void slotWhitenessChanged(int);
00105 void slotContrastChanged(int);
00106 void slotDeviceChanged(QVSourcePlugin *);
00107
00108
00109 void updatePicture();
00110 };
00111
00112 #endif
00113