diff options
Diffstat (limited to 'launcher/ui/pages/BasePageProvider.h')
-rw-r--r-- | launcher/ui/pages/BasePageProvider.h | 47 |
1 files changed, 18 insertions, 29 deletions
diff --git a/launcher/ui/pages/BasePageProvider.h b/launcher/ui/pages/BasePageProvider.h index 873e8dce..4c3ecd6c 100644 --- a/launcher/ui/pages/BasePageProvider.h +++ b/launcher/ui/pages/BasePageProvider.h @@ -15,54 +15,43 @@ #pragma once -#include "ui/pages/BasePage.h" -#include <memory> #include <functional> +#include <memory> +#include "ui/pages/BasePage.h" -class BasePageProvider -{ -public: - virtual QList<BasePage *> getPages() = 0; +class BasePageProvider { + public: + virtual QList<BasePage*> getPages() = 0; virtual QString dialogTitle() = 0; }; -class GenericPageProvider : public BasePageProvider -{ - typedef std::function<BasePage *()> PageCreator; -public: - explicit GenericPageProvider(const QString &dialogTitle) - : m_dialogTitle(dialogTitle) - { - } +class GenericPageProvider : public BasePageProvider { + typedef std::function<BasePage*()> PageCreator; + + public: + explicit GenericPageProvider(const QString& dialogTitle) : m_dialogTitle(dialogTitle) {} virtual ~GenericPageProvider() {} - QList<BasePage *> getPages() override + QList<BasePage*> getPages() override { - QList<BasePage *> pages; - for (PageCreator creator : m_creators) - { + QList<BasePage*> pages; + for (PageCreator creator : m_creators) { pages.append(creator()); } return pages; } QString dialogTitle() override { return m_dialogTitle; } - void setDialogTitle(const QString &title) - { - m_dialogTitle = title; - } - void addPageCreator(PageCreator page) - { - m_creators.append(page); - } + void setDialogTitle(const QString& title) { m_dialogTitle = title; } + void addPageCreator(PageCreator page) { m_creators.append(page); } - template<typename PageClass> + template <typename PageClass> void addPage() { - addPageCreator([](){return new PageClass();}); + addPageCreator([]() { return new PageClass(); }); } -private: + private: QList<PageCreator> m_creators; QString m_dialogTitle; }; |