task
[badge] / desktop / dialogday.cpp
1 #include "dialogday.h"
2 #include "ui_dialogday.h"
3 #include <QDebug>
4 #include "dialogtask.h"
5
6 DialogDay::DialogDay(QWidget *parent) :
7     QDialog(parent),
8     m_ui(new Ui::DialogDay)
9 {
10     m_ui->setupUi(this);
11 }
12
13 DialogDay::~DialogDay()
14 {
15     delete m_ui;
16 }
17
18 void DialogDay::changeEvent(QEvent *e)
19 {
20     QDialog::changeEvent(e);
21     switch (e->type()) {
22     case QEvent::LanguageChange:
23         m_ui->retranslateUi(this);
24         break;
25     default:
26         break;
27     }
28 }
29
30 void DialogDay::enableFirst(bool enable)
31 {
32     m_ui->timeEditFBegin->setEnabled(enable);
33     m_ui->timeEditEndF->setEnabled(enable);
34 }
35
36 void DialogDay::enableSecond(bool enable)
37 {
38     m_ui->timeEditSBegin->setEnabled(enable);
39     m_ui->timeEditEndS->setEnabled(enable);
40 }
41
42
43 TimeTable DialogDay::getTimes(TimeTable timetable)
44 {
45
46     m_ui->timeEditEntrance->setTime(timetable.entrance);
47     m_ui->timeEditExit->setTime(timetable.exit);
48     m_ui->checkBoxFirst->setChecked(false);
49     m_ui->checkBoxSecond->setChecked(false);
50
51     if (timetable.firstPause != timetable.endFirstPause) {
52         m_ui->checkBoxFirst->setChecked(true);
53         m_ui->timeEditFBegin->setTime(timetable.firstPause);
54         m_ui->timeEditFBegin->setEnabled(true);
55         m_ui->timeEditEndF->setTime(timetable.endFirstPause);
56         m_ui->timeEditEndF->setEnabled(true);
57     }
58     if (timetable.secondPause != timetable.endSecondPause) {
59         m_ui->checkBoxSecond->setChecked(true);
60         m_ui->timeEditSBegin->setTime(timetable.secondPause);
61         m_ui->timeEditSBegin->setEnabled(true);
62         m_ui->timeEditEndS->setTime(timetable.endSecondPause);
63         m_ui->timeEditEndS->setEnabled(true);
64     }
65
66
67     if (this->exec() == QDialog::Accepted) {
68
69             timetable.entrance = m_ui->timeEditEntrance->time();
70             timetable.exit = m_ui->timeEditExit->time();
71         if (m_ui->checkBoxFirst->isChecked()) {
72             timetable.firstPause = m_ui->timeEditFBegin->time();
73             timetable.endFirstPause = m_ui->timeEditEndF->time();
74         }
75         if (m_ui->checkBoxSecond->isChecked()) {
76             timetable.secondPause = m_ui->timeEditSBegin->time();
77             timetable.endSecondPause = m_ui->timeEditEndS->time();
78         }
79         return timetable;
80     }
81     timetable.setWrong(true);
82     return timetable;
83 }
84
85
86 void DialogDay::task()
87 {
88     DialogTask dialog;
89     dialog.exec();
90 }