From 199f682e27b289ba26ae221c5e5f09694aa6f624 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Fri, 18 Oct 2024 20:05:49 -0400 Subject: [PATCH] refactor: setupwizard ui is not longer the base of the class --- src/gui/src/SetupWizard.cpp | 23 +++++++++++-------- src/gui/src/SetupWizard.h | 14 +++++++---- .../{SetupWizardBase.ui => SetupWizard.ui} | 4 ++-- 3 files changed, 24 insertions(+), 17 deletions(-) rename src/gui/src/{SetupWizardBase.ui => SetupWizard.ui} (98%) diff --git a/src/gui/src/SetupWizard.cpp b/src/gui/src/SetupWizard.cpp index 03dbbf13e..d060db424 100644 --- a/src/gui/src/SetupWizard.cpp +++ b/src/gui/src/SetupWizard.cpp @@ -16,6 +16,7 @@ */ #include "SetupWizard.h" +#include "ui_SetupWizard.h" #include "gui/styles.h" #include "gui/validators/ScreenNameValidator.h" @@ -23,33 +24,35 @@ using namespace deskflow::gui; -SetupWizard::SetupWizard(AppConfig &appConfig) : m_appConfig(appConfig) +SetupWizard::SetupWizard(AppConfig &appConfig) : ui{std::make_unique()}, m_appConfig(appConfig) { - setupUi(this); + ui->setupUi(this); setWindowTitle(QString("Setup %1").arg(DESKFLOW_APP_NAME)); - m_pLabelError->setStyleSheet(kStyleErrorActiveLabel); + ui->m_pLabelError->setStyleSheet(kStyleErrorActiveLabel); - m_pLineEditName->setText(appConfig.screenName()); - m_pLineEditName->setValidator( - new validators::ScreenNameValidator(m_pLineEditName, new validators::ValidationError(this, m_pLabelError)) + ui->m_pLineEditName->setText(appConfig.screenName()); + ui->m_pLineEditName->setValidator( + new validators::ScreenNameValidator(ui->m_pLineEditName, new validators::ValidationError(this, ui->m_pLabelError)) ); - connect(m_pButtonApply, &QPushButton::clicked, this, &SetupWizard::accept); - connect(m_pLineEditName, &QLineEdit::textChanged, this, &SetupWizard::onLineEditNameChanged); + connect(ui->m_pButtonApply, &QPushButton::clicked, this, &SetupWizard::accept); + connect(ui->m_pLineEditName, &QLineEdit::textChanged, this, &SetupWizard::onLineEditNameChanged); } +SetupWizard::~SetupWizard() = default; + void SetupWizard::accept() { m_appConfig.setWizardHasRun(); - m_appConfig.setScreenName(m_pLineEditName->text()); + m_appConfig.setScreenName(ui->m_pLineEditName->text()); QDialog::accept(); } void SetupWizard::onLineEditNameChanged(const QString &error) { - m_pButtonApply->setEnabled(m_pLineEditName->hasAcceptableInput()); + ui->m_pButtonApply->setEnabled(ui->m_pLineEditName->hasAcceptableInput()); } void SetupWizard::reject() diff --git a/src/gui/src/SetupWizard.h b/src/gui/src/SetupWizard.h index 30fdb666b..c362481d7 100644 --- a/src/gui/src/SetupWizard.h +++ b/src/gui/src/SetupWizard.h @@ -17,8 +17,6 @@ #pragma once -#include "ui_SetupWizardBase.h" - #include "gui/config/AppConfig.h" #include @@ -26,18 +24,24 @@ class MainWindow; -class SetupWizard : public QDialog, public Ui::SetupWizardBase +namespace Ui { +class SetupWizard; +} + +class SetupWizard : public QDialog { Q_OBJECT public: explicit SetupWizard(AppConfig &appConfig); + ~SetupWizard(); protected: - void accept(); - void reject(); + void accept() override; + void reject() override; private: + std::unique_ptr ui; AppConfig &m_appConfig; public slots: diff --git a/src/gui/src/SetupWizardBase.ui b/src/gui/src/SetupWizard.ui similarity index 98% rename from src/gui/src/SetupWizardBase.ui rename to src/gui/src/SetupWizard.ui index 8041f9c56..e41e28524 100644 --- a/src/gui/src/SetupWizardBase.ui +++ b/src/gui/src/SetupWizard.ui @@ -1,7 +1,7 @@ - SetupWizardBase - + SetupWizard + 0