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 "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<Ui::SetupWizard>()}, 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()

View File

@ -17,8 +17,6 @@
#pragma once
#include "ui_SetupWizardBase.h"
#include "gui/config/AppConfig.h"
#include <QDialog>
@ -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::SetupWizard> ui;
AppConfig &m_appConfig;
public slots:

View File

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