beta
[badge] / dialogsearch.cpp
1 #include "dialogsearch.h"
2 #include "ui_dialogsearch.h"
3 #include "dialogcalendar.h"
4 #include <QMessageBox>
5 #include "badgedata.h"
6
7 DialogSearch::DialogSearch(QWidget *parent) :
8     QDialog(parent),
9     ui(new Ui::DialogSearch)
10 {
11     ui->setupUi(this);
12     //move(, 0);
13     //showMaximized();
14 }
15
16 DialogSearch::~DialogSearch()
17 {
18     delete ui;
19 }
20
21 void DialogSearch::changeEvent(QEvent *e)
22 {
23     QDialog::changeEvent(e);
24     switch (e->type()) {
25     case QEvent::LanguageChange:
26         ui->retranslateUi(this);
27         break;
28     default:
29         break;
30     }
31 }
32
33 void DialogSearch::start()
34 {
35     DialogCalendar cal;
36     ui->dateEditStart->setDate(cal.getDate(ui->dateEditStart->date()));
37 }
38
39 void DialogSearch::end()
40 {
41     DialogCalendar cal;
42     ui->dateEditEnd->setDate(cal.getDate(ui->dateEditEnd->date()));
43 }
44
45 QTime DialogSearch::totalHours(bool &ok)
46 {
47
48     if (this->exec() == QDialog::Accepted) {
49         BadgeData data;
50         ok = true;
51         return data.totalTime(ui->dateEditStart->date(), ui->dateEditEnd->date());
52     }
53     ok = false;
54
55
56     return QTime(0, 0, 0, 0);
57 }
58
59 void DialogSearch::accept()
60 {
61     if (ui->dateEditEnd->date() < ui->dateEditStart->date()) {
62         QMessageBox::warning(this, tr("Badge"),
63                                         tr("End date must to be major or equal of start date.\n"));
64     }
65     else
66         QDialog::accept();
67 }