-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmultiimportdialog.h
48 lines (38 loc) · 1.08 KB
/
multiimportdialog.h
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
46
47
48
#ifndef IKOOSKAR_UI_MULTIIMPORTDIALOG_H
#define IKOOSKAR_UI_MULTIIMPORTDIALOG_H
#include "Shared/student.h"
#include <QDialog>
#include <QList>
namespace ikoOSKAR {
namespace UI {
using namespace Shared;
namespace Ui {
class MultiImportDialog;
}
class MultiImportDialog : public QDialog {
Q_OBJECT
public:
explicit MultiImportDialog(QWidget* parent = nullptr);
~MultiImportDialog();
private slots:
void handleXlsPath(QString* xlsFilePath);
void handleParsedXls(QList<Student*>*);
void handleGradeAndSection(int grade, const QString& section);
void handleConfirmation();
void handleError(const QString& errorMessage);
private:
enum PageState {
FILE_PICKER = 0,
SPINNER,
CLASS_PICKER,
PREVIEW
};
Ui::MultiImportDialog* ui;
PageState page;
QList<Student*>* parsedStudents;
void prevPage();
void nextPage();
};
} // namespace UI
} // namespace ikoOSKAR
#endif // IKOOSKAR_UI_MULTIIMPORTDIALOG_H