-
Notifications
You must be signed in to change notification settings - Fork 0
/
selectexam.cpp
59 lines (43 loc) · 1.05 KB
/
selectexam.cpp
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
49
50
51
52
53
54
55
56
57
58
59
#include "selectexam.h"
#include "ui_selectexam.h"
#include "mainwindow.h"
SelectExam::SelectExam(mysqldriver * _db, QWidget *parent) :
QDialog(parent),
ui(new Ui::SelectExam),
db{_db}
{
ui->setupUi(this);
for(auto var : MainWindow::sSubjects) ui->subjects->addItem(var.second);
ui->subjects->setCurrentIndex(1);
}
SelectExam::~SelectExam()
{
delete ui;
}
void SelectExam::on_subjects_currentIndexChanged(const QString &arg1)
{
db->open();
Query q{db->exec("SELECT idegzamin FROM egzamin JOIN przedmiot ON idprzedmiot=idprzedmiotu WHERE nazwa='"+arg1+"';")};
db->close();
ui->results->clear();
for(const auto& var : q->data()) ui->results->addItem(QString::number(var[0].toUInt()));
}
void SelectExam::on_ok_clicked()
{
__ready();
}
void SelectExam::on_cancel_clicked()
{
IDresult = 0;
this->close();
}
void SelectExam::__ready()
{
if(ui->results->currentRow() < 0) return;
IDresult = ui->results->currentItem()->text().toUInt();
this->close();
}
void SelectExam::on_results_itemDoubleClicked(QListWidgetItem *item)
{
__ready();
}