diff options
author | Britney Fransen <brfransen@gmail.com> | 2019-03-19 20:11:10 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2019-03-19 20:11:10 (GMT) |
commit | 73cfb83a5baecfe0529fda59ca57233d8843f783 (patch) | |
tree | 2dba2103a6f6e43912fc645ca8b48a85ab500ad2 /abs/core/mythinstall/MythVantage-app/mythinstall/mythconfigdialogs.h | |
parent | 7b41a9288f5d1332c8136df798bb8ca2465bc21c (diff) | |
parent | 448cb8d0708224d78c24ce3615dc7eef44d4689b (diff) | |
download | linhes_pkgbuild-73cfb83a5baecfe0529fda59ca57233d8843f783.zip linhes_pkgbuild-73cfb83a5baecfe0529fda59ca57233d8843f783.tar.gz linhes_pkgbuild-73cfb83a5baecfe0529fda59ca57233d8843f783.tar.bz2 |
Merge branch 'testing'
Diffstat (limited to 'abs/core/mythinstall/MythVantage-app/mythinstall/mythconfigdialogs.h')
-rw-r--r-- | abs/core/mythinstall/MythVantage-app/mythinstall/mythconfigdialogs.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/mythconfigdialogs.h b/abs/core/mythinstall/MythVantage-app/mythinstall/mythconfigdialogs.h new file mode 100644 index 0000000..4d9969c --- /dev/null +++ b/abs/core/mythinstall/MythVantage-app/mythinstall/mythconfigdialogs.h @@ -0,0 +1,83 @@ +// -*- Mode: c++ -*- + +#ifndef MYTH_CONFIG_DIALOGS_H +#define MYTH_CONFIG_DIALOGS_H + +// Qt headers +#include <QObject> +#include <QString> + +// MythTV headers +#include "mythexp.h" +#include "mythdialogs.h" +#include "mythstorage.h" +#include "mythconfiggroups.h" + +class MPUBLIC ConfigurationDialogWidget : public MythDialog +{ + Q_OBJECT + + public: + ConfigurationDialogWidget(MythMainWindow *parent, + const char *widgetName) : + MythDialog(parent, widgetName) { } + + virtual void keyPressEvent(QKeyEvent *e); + + signals: + void editButtonPressed(void); + void deleteButtonPressed(void); +}; + +/** \class ConfigurationDialog + * \brief A ConfigurationDialog that uses a ConfigurationGroup + * all children on one page in a vertical layout. + */ +class MPUBLIC ConfigurationDialog : public Storage +{ + public: + ConfigurationDialog() : dialog(NULL), cfgGrp(new ConfigurationGroup()) { } + virtual ~ConfigurationDialog(); + + // Make a modal dialog containing configWidget + virtual MythDialog *dialogWidget(MythMainWindow *parent, + const char *widgetName); + + // Show a dialogWidget, and save if accepted + virtual DialogCode exec(bool saveOnExec = true, bool doLoad = true); + + virtual void addChild(Configurable *child); + + virtual Setting *byName(const QString &settingName) + { return cfgGrp->byName(settingName); } + + void setLabel(const QString &label); + + // Storage + virtual void Load(void) { cfgGrp->Load(); } + virtual void Save(void) { cfgGrp->Save(); } + virtual void Save(QString destination) { cfgGrp->Save(destination); } + + protected: + typedef std::vector<Configurable*> ChildList; + + ChildList cfgChildren; + std::vector<QWidget*> childwidget; + MythDialog *dialog; + ConfigurationGroup *cfgGrp; +}; + +/** \class ConfigurationWizard + * \brief A ConfigurationDialog that uses a ConfigurationGroup + * with one child per page. + */ +class MPUBLIC ConfigurationWizard : public ConfigurationDialog +{ + public: + ConfigurationWizard() : ConfigurationDialog() {} + + virtual MythDialog *dialogWidget(MythMainWindow *parent, + const char *widgetName); +}; + +#endif // MYTH_CONFIG_DIALOGS_H |