refactor: setupwizard ui is not longer the base of the class

This commit is contained in:
sithlord48 2024-10-18 20:05:49 -04:00 committed by Nick Bolton
parent afff2eb6ac
commit 199f682e27
3 changed files with 24 additions and 17 deletions

View file

@ -16,6 +16,7 @@
*/ */
#include "SetupWizard.h" #include "SetupWizard.h"
#include "ui_SetupWizard.h"
#include "gui/styles.h" #include "gui/styles.h"
#include "gui/validators/ScreenNameValidator.h" #include "gui/validators/ScreenNameValidator.h"
@ -23,33 +24,35 @@
using namespace deskflow::gui; using namespace deskflow::gui;
SetupWizard::SetupWizard(AppConfig &appConfig) : m_appConfig(appConfig) SetupWizard::SetupWizard(AppConfig &appConfig) : ui{std::make_unique<Ui::SetupWizard>()}, m_appConfig(appConfig)
{ {
setupUi(this); ui->setupUi(this);
setWindowTitle(QString("Setup %1").arg(DESKFLOW_APP_NAME)); setWindowTitle(QString("Setup %1").arg(DESKFLOW_APP_NAME));
m_pLabelError->setStyleSheet(kStyleErrorActiveLabel); ui->m_pLabelError->setStyleSheet(kStyleErrorActiveLabel);
m_pLineEditName->setText(appConfig.screenName()); ui->m_pLineEditName->setText(appConfig.screenName());
m_pLineEditName->setValidator( ui->m_pLineEditName->setValidator(
new validators::ScreenNameValidator(m_pLineEditName, new validators::ValidationError(this, m_pLabelError)) new validators::ScreenNameValidator(ui->m_pLineEditName, new validators::ValidationError(this, ui->m_pLabelError))
); );
connect(m_pButtonApply, &QPushButton::clicked, this, &SetupWizard::accept); connect(ui->m_pButtonApply, &QPushButton::clicked, this, &SetupWizard::accept);
connect(m_pLineEditName, &QLineEdit::textChanged, this, &SetupWizard::onLineEditNameChanged); connect(ui->m_pLineEditName, &QLineEdit::textChanged, this, &SetupWizard::onLineEditNameChanged);
} }
SetupWizard::~SetupWizard() = default;
void SetupWizard::accept() void SetupWizard::accept()
{ {
m_appConfig.setWizardHasRun(); m_appConfig.setWizardHasRun();
m_appConfig.setScreenName(m_pLineEditName->text()); m_appConfig.setScreenName(ui->m_pLineEditName->text());
QDialog::accept(); QDialog::accept();
} }
void SetupWizard::onLineEditNameChanged(const QString &error) void SetupWizard::onLineEditNameChanged(const QString &error)
{ {
m_pButtonApply->setEnabled(m_pLineEditName->hasAcceptableInput()); ui->m_pButtonApply->setEnabled(ui->m_pLineEditName->hasAcceptableInput());
} }
void SetupWizard::reject() void SetupWizard::reject()

View file

@ -17,8 +17,6 @@
#pragma once #pragma once
#include "ui_SetupWizardBase.h"
#include "gui/config/AppConfig.h" #include "gui/config/AppConfig.h"
#include <QDialog> #include <QDialog>
@ -26,18 +24,24 @@
class MainWindow; class MainWindow;
class SetupWizard : public QDialog, public Ui::SetupWizardBase namespace Ui {
class SetupWizard;
}
class SetupWizard : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit SetupWizard(AppConfig &appConfig); explicit SetupWizard(AppConfig &appConfig);
~SetupWizard();
protected: protected:
void accept(); void accept() override;
void reject(); void reject() override;
private: private:
std::unique_ptr<Ui::SetupWizard> ui;
AppConfig &m_appConfig; AppConfig &m_appConfig;
public slots: public slots:

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>SetupWizardBase</class> <class>SetupWizard</class>
<widget class="QDialog" name="SetupWizardBase"> <widget class="QDialog" name="SetupWizard">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>