From b53d4b6b58287ee47a3532a6e14952b7b31591c8 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 25 Feb 2017 02:19:50 +0100 Subject: [PATCH] refs #887, added QWizardPage derived class to call dependent functions (QWizardPage provides virtual functions for that) --- .../components/copyconfigurationcomponent.cpp | 13 +++++++++++ .../components/copyconfigurationcomponent.h | 23 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/blackgui/components/copyconfigurationcomponent.cpp b/src/blackgui/components/copyconfigurationcomponent.cpp index f72dd8f51..13ddd176a 100644 --- a/src/blackgui/components/copyconfigurationcomponent.cpp +++ b/src/blackgui/components/copyconfigurationcomponent.cpp @@ -181,5 +181,18 @@ namespace BlackGui const int width = this->width() * 0.45; ui->cb_OtherVersions->setFixedWidth(width); } + + void CCopyConfigurationWizardPage::initializePage() + { + Q_ASSERT_X(m_config, Q_FUNC_INFO, "Missing config"); + m_config->initCurrentDirectories(); + } + + bool CCopyConfigurationWizardPage::validatePage() + { + Q_ASSERT_X(m_config, Q_FUNC_INFO, "Missing config"); + m_config->copySelectedFiles(); + return true; + } } // ns } // ns diff --git a/src/blackgui/components/copyconfigurationcomponent.h b/src/blackgui/components/copyconfigurationcomponent.h index 4fc4b87b3..67623c890 100644 --- a/src/blackgui/components/copyconfigurationcomponent.h +++ b/src/blackgui/components/copyconfigurationcomponent.h @@ -14,6 +14,7 @@ #include "blackgui/blackguiexport.h" #include +#include #include namespace Ui { class CCopyConfigurationComponent; } @@ -69,6 +70,28 @@ namespace BlackGui QStringList m_versionDirs; QScopedPointer ui; }; + + /** + * Wizard page for CCopyConfigurationComponent + */ + class CCopyConfigurationWizardPage : public QWizardPage + { + public: + //! Constructors + using QWizardPage::QWizardPage; + + //! Set config + void setConfigComponent(CCopyConfigurationComponent *config) { m_config = config; } + + //! \copydoc QWizardPage::initializePage + virtual void initializePage() override; + + //! \copydoc QWizardPage::validatePage + virtual bool validatePage() override; + + private: + CCopyConfigurationComponent *m_config = nullptr; + }; } // ns } // ns