summaryrefslogtreecommitdiff
path: root/src/settings/StudySettingsDialog.h
blob: 121767b34f6a16516da53f55eb90e925f0cb03b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef STUDYSETTINGSDIALOG_H
#define STUDYSETTINGSDIALOG_H

#include "../study/StudySettings.h"

#include <QtWidgets>

class StudySettingsDialog : public QDialog
{
    Q_OBJECT

public:
    StudySettingsDialog(QWidget *parent = 0);
    const StudySettings getSettings();

private:
    void initData();
    void createUi();
    void updateControls();
    void addUpperGridLine(QGridLayout* layout, int row, const QString& label, QWidget* widget,
                            const QString& unitLabel = "");
    void addLimitsGridLine(QGridLayout* layout, int row, const QString& label, QWidget* widget);
    QSpinBox* createSpinBox(int min, int max);
    void createButtonBox();
    void createControls();
    QBoxLayout* createMainLayout();
    QGridLayout*createUpperLayout();
    QGroupBox* createLimitsGroup();

private slots:
    void dialogButtonClicked( QAbstractButton* aButton );

private:
    StudySettings settings;
    QSpinBox* dayShiftBox;
    QCheckBox* showRandomlyCB;
    QSpinBox* newCardsShareBox;
    QSpinBox* randomnessBox;
    QSpinBox* cardsDayLimitBox;
    QSpinBox* newCardsDayLimitBox;
    QSpinBox* limitForAddingNewCardsBox;
    QDialogButtonBox* buttonBox;
};

#endif