small onboarding cleanup

albatross
Adeeb Shihadeh 2020-11-25 00:01:05 -08:00
parent 394dc66a19
commit c8ab38a8a8
2 changed files with 15 additions and 19 deletions

View File

@ -2,6 +2,7 @@
#include <QString>
#include <QPushButton>
#include <QGridLayout>
#include <QVBoxLayout>
#include "onboarding.hpp"
#include "common/params.h"
@ -10,7 +11,6 @@
QLabel * title_label(QString text) {
QLabel *l = new QLabel(text);
l->setStyleSheet(R"(font-size: 100px;)");
l->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
return l;
}
@ -30,8 +30,7 @@ QWidget * OnboardingWindow::terms_screen() {
background-color: #292929;
)");
main_layout->addWidget(terms, 1, 0, 1, -1);
main_layout->addWidget(new QPushButton("Decline"), 2, 0);
main_layout->setRowStretch(1, 1);
QPushButton *accept_btn = new QPushButton("Accept");
main_layout->addWidget(accept_btn, 2, 1);
@ -40,6 +39,8 @@ QWidget * OnboardingWindow::terms_screen() {
updateActiveScreen();
});
main_layout->addWidget(new QPushButton("Decline"), 2, 0);
QWidget *widget = new QWidget;
widget->setLayout(main_layout);
widget->setStyleSheet(R"(
@ -56,14 +57,16 @@ QWidget * OnboardingWindow::terms_screen() {
QWidget * OnboardingWindow::training_screen() {
QGridLayout *main_layout = new QGridLayout();
QVBoxLayout *main_layout = new QVBoxLayout();
main_layout->setMargin(30);
main_layout->setSpacing(30);
main_layout->addWidget(title_label("Training Guide"), 0, 0);
main_layout->addWidget(title_label("Training Guide"));
main_layout->addWidget(new QLabel(), 1); // just a spacer
QPushButton *btn = new QPushButton("Continue");
main_layout->addWidget(btn, 1, 0);
main_layout->addWidget(btn);
QObject::connect(btn, &QPushButton::released, [=]() {
Params().write_db_value("CompletedTrainingVersion", LATEST_TRAINING_VERSION);
updateActiveScreen();
@ -81,24 +84,18 @@ void OnboardingWindow::updateActiveScreen() {
bool training_done = params.get("CompletedTrainingVersion", false).compare(LATEST_TRAINING_VERSION) == 0;
if (!accepted_terms) {
swidget->setCurrentIndex(0);
setCurrentIndex(0);
} else if (!training_done) {
swidget->setCurrentIndex(1);
setCurrentIndex(1);
} else {
emit onboardingDone();
}
}
OnboardingWindow::OnboardingWindow(QWidget *parent) : QWidget(parent) {
QVBoxLayout * top_layout = new QVBoxLayout;
OnboardingWindow::OnboardingWindow(QWidget *parent) {
addWidget(terms_screen());
addWidget(training_screen());
swidget = new QStackedWidget();
swidget->addWidget(terms_screen());
swidget->addWidget(training_screen());
top_layout->addWidget(swidget);
setLayout(top_layout);
setStyleSheet(R"(
* {
background-color: black;

View File

@ -7,7 +7,7 @@
#define LATEST_TERMS_VERSION "2"
#define LATEST_TRAINING_VERSION "0.2.0"
class OnboardingWindow : public QWidget {
class OnboardingWindow : public QStackedWidget {
Q_OBJECT
public:
@ -16,7 +16,6 @@ public:
private:
QWidget * terms_screen();
QWidget * training_screen();
QStackedWidget *swidget;
signals:
void onboardingDone();