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