refactor: setupwizard ui is not longer the base of the class
This commit is contained in:
parent
afff2eb6ac
commit
199f682e27
3 changed files with 24 additions and 17 deletions
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
Loading…
Reference in a new issue