#ifndef STUDYSETTINGSDIALOG_H #define STUDYSETTINGSDIALOG_H #include "../study/StudySettings.h" #include 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