00001 #ifndef MYTHSETTINGS_H
00002 #define MYTHSETTINGS_H
00003
00004 #include "libmyth/settings.h"
00005 #include "libmyth/mythcontext.h"
00006 #include "libmythtv/videodisplayprofile.h"
00007 #include "themeinfo.h"
00008
00009 class ThemeSelector : public HostImageSelect
00010 {
00011 public:
00012 ThemeSelector(QString label);
00013
00014 private:
00015 bool parseThemeInfo(QFileInfo *theme, QString &name, QFileInfo &preview);
00016 };
00017
00018 class PlaybackSettings : public ConfigurationWizard
00019 {
00020 public:
00021 PlaybackSettings();
00022 };
00023
00024 class OSDSettings: virtual public ConfigurationWizard
00025 {
00026 public:
00027 OSDSettings();
00028 };
00029
00030 class GeneralSettings : public ConfigurationWizard
00031 {
00032 public:
00033 GeneralSettings();
00034 };
00035
00036 class EPGSettings : public ConfigurationWizard
00037 {
00038 public:
00039 EPGSettings();
00040 };
00041
00042 class AppearanceSettings : public ConfigurationWizard
00043 {
00044 public:
00045 AppearanceSettings();
00046 };
00047
00048 class MainGeneralSettings : public ConfigurationWizard
00049 {
00050 public:
00051 MainGeneralSettings();
00052 };
00053
00054 class GeneralRecPrioritiesSettings : public ConfigurationWizard
00055 {
00056 public:
00057 GeneralRecPrioritiesSettings();
00058 };
00059
00060 class XboxSettings : public ConfigurationWizard
00061 {
00062 public:
00063 XboxSettings();
00064 };
00065
00066 class PlaybackProfileItemConfig : public QObject, public ConfigurationWizard
00067 {
00068 Q_OBJECT
00069
00070 public:
00071 PlaybackProfileItemConfig(ProfileItem &_item);
00072
00073 virtual void load(void);
00074 virtual void save(void);
00075
00076 private slots:
00077 void decoderChanged(const QString &dec);
00078 void vrenderChanged(const QString &renderer);
00079 void orenderChanged(const QString &renderer);
00080 void deint0Changed(const QString &deint);
00081 void deint1Changed(const QString &deint);
00082
00083 private:
00084 ProfileItem &item;
00085 TransComboBoxSetting *cmp[2];
00086 TransSpinBoxSetting *width[2];
00087 TransSpinBoxSetting *height[2];
00088 TransComboBoxSetting *decoder;
00089 TransSpinBoxSetting *max_cpus;
00090 TransComboBoxSetting *vidrend;
00091 TransComboBoxSetting *osdrend;
00092 TransCheckBoxSetting *osdfade;
00093 TransComboBoxSetting *deint0;
00094 TransComboBoxSetting *deint1;
00095 TransLineEditSetting *filters;
00096 };
00097
00098 class PlaybackProfileConfig : public VerticalConfigurationGroup
00099 {
00100 Q_OBJECT
00101
00102 public:
00103 PlaybackProfileConfig(const QString &profilename);
00104 virtual ~PlaybackProfileConfig();
00105
00106 virtual void load(void);
00107 virtual void save(void);
00108
00109 void swap(int indexA, int intexB);
00110
00111 private slots:
00112 void pressed(QString);
00113 void priorityChanged(const QString &name, int);
00114
00115 private:
00116 void InitLabel(uint);
00117 void InitUI(void);
00118
00119 private:
00120 item_list_t items;
00121 item_list_t del_items;
00122 QString profile_name;
00123 bool needs_save;
00124 uint groupid;
00125
00126 VerticalConfigurationGroup *last_main;
00127 vector<TransLabelSetting*> labels;
00128 vector<TransButtonSetting*> editProf;
00129 vector<TransButtonSetting*> delProf;
00130 vector<TransSpinBoxSetting*> priority;
00131 };
00132
00133 class PlaybackProfileConfigs : public TriggeredConfigurationGroup
00134 {
00135 Q_OBJECT
00136
00137 public:
00138 PlaybackProfileConfigs(const QString &str);
00139 virtual ~PlaybackProfileConfigs();
00140
00141 private:
00142 void InitUI(void);
00143
00144 private slots:
00145 void btnPress(QString);
00146 void triggerChanged(const QString&);
00147
00148 private:
00149 QStringList profiles;
00150 HostComboBox *grouptrigger;
00151 };
00152
00153 #ifdef USING_IVTV
00154 class PVR350VideoDevice : public PathSetting, public HostDBStorage
00155 {
00156 public:
00157 PVR350VideoDevice();
00158
00159 uint fillSelectionsFromDir(const QDir &dir,
00160 uint minor_min, uint minor_max,
00161 QString card, QString driver,
00162 bool allow_duplicates);
00163 private:
00164 QMap<uint, uint> minor_list;
00165 };
00166 #endif // USING_IVTV
00167
00168 #endif