info banner
[badge] / dialogsearch.cpp
1 #include "dialogsearch.h"
2 #include "ui_dialogsearch.h"
3 #include "dialogcalendar.h"
4 #include <QMessageBox>
5 #include "badgedata.h"
6 #include <QDebug>
7
8 DialogSearch::DialogSearch(QWidget *parent) :
9     QDialog(parent)/*,
10     ui(new Ui::DialogSearch)*/
11 {
12     //ui->setupUi(this);
13     setAttribute(Qt::WA_Maemo5StackedWindow);
14     this->resize(299, 229);
15
16     verticalLayout = new QVBoxLayout(this);
17     verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
18     verticalLayout->setContentsMargins(0, 0, 0, 0);
19     horizontalLayout = new QHBoxLayout();
20     horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
21     //label = new QLabel(widget);
22     //label->setObjectName(QString::fromUtf8("label"));
23
24     //horizontalLayout->addWidget(label);
25
26     pushButtonStart = new QMaemo5ValueButton("Start");
27     pushButtonStart->setValueLayout(QMaemo5ValueButton::ValueUnderText);
28     pushButtonStart->setPickSelector(new QMaemo5DatePickSelector());
29     pushButtonStart->setObjectName(QString::fromUtf8("pushButtonStart"));
30     //pushButtonStart->setMaximumSize(QSize(31, 26));
31
32     horizontalLayout->addWidget(pushButtonStart);
33
34     //dateEditStart = new QDateEdit(widget);
35     //dateEditStart->setObjectName(QString::fromUtf8("dateEditStart"));
36
37     //horizontalLayout->addWidget(dateEditStart);
38
39
40     verticalLayout->addLayout(horizontalLayout);
41
42     horizontalLayout_2 = new QHBoxLayout();
43     horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
44     //label_2 = new QLabel(widget);
45     //label_2->setObjectName(QString::fromUtf8("label_2"));
46
47     //horizontalLayout_2->addWidget(label_2);
48
49     //pushButtonEnd = new QPushButton(widget);
50
51
52     pushButtonEnd = new QMaemo5ValueButton("End");
53     pushButtonEnd->setValueLayout(QMaemo5ValueButton::ValueUnderText);
54     pushButtonEnd->setPickSelector(new QMaemo5DatePickSelector());
55     pushButtonEnd->setObjectName(QString::fromUtf8("pushButtonEnd"));
56     //pushButtonEnd->setMaximumSize(QSize(31, 26));
57
58     horizontalLayout_2->addWidget(pushButtonEnd);
59
60     //dateEditEnd = new QDateEdit(widget);
61    // dateEditEnd->setObjectName(QString::fromUtf8("dateEditEnd"));
62
63     //horizontalLayout_2->addWidget(dateEditEnd);
64
65
66     verticalLayout->addLayout(horizontalLayout_2);
67
68     horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
69
70     verticalLayout->addItem(horizontalSpacer);
71
72     buttonBox = new QDialogButtonBox(this);
73     buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
74     //buttonBox->setMaximumSize(QSize(16777215, 26));
75     buttonBox->setOrientation(Qt::Horizontal);
76     buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
77
78     verticalLayout->addWidget(buttonBox);
79
80     //label->raise();
81     pushButtonStart->raise();
82     //dateEditStart->raise();
83     //label_2->raise();
84     pushButtonEnd->raise();
85     //dateEditEnd->raise();
86     buttonBox->raise();
87     buttonBox->raise();
88
89     //retranslateUi(DialogSearch);
90     connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
91     //QObject::connect(buttonBox, SIGNAL(rejected()), DialogSearch, SLOT(reject()));
92     //connect(pushButtonStart, SIGNAL(clicked()), this, SLOT(start()));
93     //connect(pushButtonEnd, SIGNAL(clicked()), this, SLOT(end()));
94
95
96 }
97
98 DialogSearch::~DialogSearch()
99 {
100     //delete ui;
101 }
102
103 void DialogSearch::changeEvent(QEvent *e)
104 {
105     /*QDialog::changeEvent(e);
106     switch (e->type()) {
107     case QEvent::LanguageChange:
108         ui->retranslateUi(this);
109         break;
110     default:
111         break;
112     }*/
113 }
114
115
116
117 QTime DialogSearch::totalHours(bool &ok)
118 {
119
120     if (this->exec() == QDialog::Accepted) {
121         BadgeData data;
122         ok = true;
123         qDebug() << "S " << pushButtonStart->valueText() << " E " << pushButtonEnd->valueText() << endl;
124         return data.totalTime(QDate::fromString(pushButtonStart->valueText(), "yyyy-M-d"), QDate::fromString(pushButtonEnd->valueText(), "yyyy-M-d"));
125     }
126     ok = false;
127
128
129     return QTime(0, 0, 0, 0);
130 }
131
132 void DialogSearch::accept()
133 {
134
135     if (QDate::fromString(pushButtonEnd->valueText(), "yyyy-M-d") < QDate::fromString(pushButtonStart->valueText(), "yyyy-M-d")) {
136         QMessageBox::warning(this, tr("Badge"),
137                                         tr("End date must to be major or equal of start date.\n"));
138     }
139     else
140         QDialog::accept();
141 }