NFC support
[badge] / dialogday.cpp
1 #include "dialogday.h"
2 #include "ui_dialogday.h"
3 #include <QDebug>
4 #include <QtMaemo5/QMaemo5TimePickSelector>
5 #include <QtMaemo5/QMaemo5ValueButton>
6
7 DialogDay::DialogDay(QWidget *parent) :
8     QDialog(parent)/*,
9     m_ui(new Ui::DialogDay)*/
10 {
11     //m_ui->setupUi(this);
12     setAttribute(Qt::WA_Maemo5StackedWindow);
13
14
15     this->resize(319, 236);
16
17     gridLayout = new QGridLayout(this);
18     gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
19     horizontalLayout = new QHBoxLayout();
20     horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
21     label = new QLabel(this);
22     label->setObjectName(QString::fromUtf8("label"));
23
24     horizontalLayout->addWidget(label);
25
26     timeEditEntrance = new QMaemo5ValueButton("Entrance");
27     //timeEditEntrance->setIcon(QIcon::fromTheme("chat_smiley_tongue"));
28     timeEditEntrance->setValueLayout(QMaemo5ValueButton::ValueUnderText);
29     timeEditEntrance->setPickSelector(new QMaemo5TimePickSelector());
30     timeEditEntrance->setObjectName(QString::fromUtf8("timeEditEntrance"));
31     //timeEditEntrance->setMinimumSize(QSize(100, 0));
32     horizontalLayout->addWidget(timeEditEntrance);
33
34
35     label_2 = new QLabel(this);
36     label_2->setObjectName(QString::fromUtf8("label_2"));
37
38     horizontalLayout->addWidget(label_2);
39
40     timeEditExit = new QMaemo5ValueButton("Exit");
41     timeEditExit->setPickSelector(new QMaemo5TimePickSelector());
42     timeEditExit->setValueLayout(QMaemo5ValueButton::ValueUnderText);
43     timeEditExit->setObjectName(QString::fromUtf8("timeEditExit"));
44     timeEditExit->setMinimumSize(QSize(100, 0));
45
46     horizontalLayout->addWidget(timeEditExit);
47
48
49     gridLayout->addLayout(horizontalLayout, 0, 0, 1, 1);
50
51     checkBoxFirst = new QCheckBox(this);
52     checkBoxFirst->setObjectName(QString::fromUtf8("checkBoxFirst"));
53
54     gridLayout->addWidget(checkBoxFirst, 1, 0, 1, 1);
55
56     horizontalLayout_2 = new QHBoxLayout();
57     horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
58     label_3 = new QLabel(this);
59     label_3->setObjectName(QString::fromUtf8("label_3"));
60
61     horizontalLayout_2->addWidget(label_3);
62
63     timeEditFBegin = new QMaemo5ValueButton("First Pause Begin");
64     timeEditFBegin->setPickSelector(new QMaemo5TimePickSelector());
65     timeEditFBegin->setObjectName(QString::fromUtf8("timeEditFBegin"));
66     timeEditFBegin->setEnabled(false);
67     timeEditFBegin->setMinimumSize(QSize(100, 0));
68
69     horizontalLayout_2->addWidget(timeEditFBegin);
70
71     label_4 = new QLabel(this);
72     label_4->setObjectName(QString::fromUtf8("label_4"));
73
74     horizontalLayout_2->addWidget(label_4);
75
76     timeEditEndF = new QMaemo5ValueButton("First Pause End");
77     timeEditEndF->setPickSelector(new QMaemo5TimePickSelector());
78     timeEditEndF->setObjectName(QString::fromUtf8("timeEditEndF"));
79     timeEditEndF->setEnabled(false);
80     timeEditEndF->setMinimumSize(QSize(100, 0));
81
82     horizontalLayout_2->addWidget(timeEditEndF);
83
84
85     gridLayout->addLayout(horizontalLayout_2, 2, 0, 1, 1);
86
87     checkBoxSecond = new QCheckBox(this);
88     checkBoxSecond->setObjectName(QString::fromUtf8("checkBoxSecond"));
89
90     gridLayout->addWidget(checkBoxSecond, 3, 0, 1, 1);
91
92     horizontalLayout_3 = new QHBoxLayout();
93     horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
94     label_5 = new QLabel(this);
95     label_5->setObjectName(QString::fromUtf8("label_5"));
96
97     horizontalLayout_3->addWidget(label_5);
98
99     timeEditSBegin = new QMaemo5ValueButton("Second Pause Begin");
100     timeEditSBegin->setPickSelector(new QMaemo5TimePickSelector());
101     timeEditSBegin->setObjectName(QString::fromUtf8("timeEditSBegin"));
102     timeEditSBegin->setEnabled(false);
103     timeEditSBegin->setMinimumSize(QSize(100, 0));
104
105     horizontalLayout_3->addWidget(timeEditSBegin);
106
107     label_6 = new QLabel(this);
108     label_6->setObjectName(QString::fromUtf8("label_6"));
109
110     horizontalLayout_3->addWidget(label_6);
111
112     timeEditEndS = new QMaemo5ValueButton("Second Pause End");
113     timeEditEndS->setPickSelector(new QMaemo5TimePickSelector());
114     timeEditEndS->setObjectName(QString::fromUtf8("timeEditEndS"));
115     timeEditEndS->setEnabled(false);
116     timeEditEndS->setMinimumSize(QSize(100, 0));
117
118     horizontalLayout_3->addWidget(timeEditEndS);
119
120
121     gridLayout->addLayout(horizontalLayout_3, 4, 0, 1, 1);
122
123     buttonBox = new QDialogButtonBox(this);
124     buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
125     buttonBox->setOrientation(Qt::Horizontal);
126     buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
127
128     gridLayout->addWidget(buttonBox, 5, 0, 1, 1);
129
130
131     //retranslateUi(this);
132     connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
133     connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
134     connect(checkBoxFirst, SIGNAL(clicked(bool)), this, SLOT(enableFirst(bool)));
135     connect(checkBoxSecond, SIGNAL(clicked(bool)), this, SLOT(enableSecond(bool)));
136
137     //QMetaObject::connectSlotsByName(this);
138
139    /* QVBoxLayout *lay = new QVBoxLayout(this);
140
141     QMaemo5ValueButton *v3 = new QMaemo5ValueButton(tr("Picker"));
142     v3->setIcon(QIcon::fromTheme("chat_smiley_tongue"));
143     v3->setValueLayout(QMaemo5ValueButton::ValueUnderText);
144     v3->setPickSelector(new QMaemo5TimePickSelector());
145     //buttons->addButton(v3);
146     lay->addWidget(v3);*/
147
148
149
150 }
151
152 DialogDay::~DialogDay()
153 {
154     //delete m_ui;
155 }
156
157 void DialogDay::changeEvent(QEvent *e)
158 {
159     /*QDialog::changeEvent(e);
160     switch (e->type()) {
161     case QEvent::LanguageChange:
162         m_ui->retranslateUi(this);
163         break;
164     default:
165         break;
166     }*/
167 }
168
169 void DialogDay::enableFirst(bool enable)
170 {
171     timeEditFBegin->setEnabled(enable);
172     timeEditEndF->setEnabled(enable);
173 }
174
175 void DialogDay::enableSecond(bool enable)
176 {
177     timeEditSBegin->setEnabled(enable);
178     timeEditEndS->setEnabled(enable);
179 }
180
181
182 TimeTable DialogDay::getTimes(TimeTable timetable)
183 {
184     //qDebug () << "ENT " << timetable.entrance.toString("hh:mm") << endl;
185     timeEditEntrance->setValueText(timetable.entrance.toString("hh:mm") /*+ ":00"*/);
186     timeEditExit->setValueText(timetable.exit.toString("hh:mm")/* + ":00"*/);
187     timeEditFBegin->setValueText(timetable.firstPause.toString("hh:mm") /*+ ":00" */);
188     timeEditEndF->setValueText(timetable.endFirstPause.toString("hh:mm")/* + ":00"*/ );
189     timeEditSBegin->setValueText(timetable.secondPause.toString("hh:mm") /*+ ":00"*/);
190     timeEditEndS->setValueText(timetable.endSecondPause.toString("hh:mm")/* + ":00"*/);
191
192     checkBoxFirst->setChecked(false);
193     checkBoxSecond->setChecked(false);
194
195     if (timetable.firstPause != timetable.endFirstPause) {
196         checkBoxFirst->setChecked(true);
197         timeEditFBegin->setValueText(timetable.firstPause.toString("hh:mm")/* + ":00"*/);
198         timeEditFBegin->setEnabled(true);
199         timeEditEndF->setValueText(timetable.endFirstPause.toString("hh:mm") /*+ ":00"*/);
200         timeEditEndF->setEnabled(true);
201     }
202     if (timetable.secondPause != timetable.endSecondPause) {
203         checkBoxSecond->setChecked(true);
204         timeEditSBegin->setValueText(timetable.secondPause.toString("hh:mm") /*+ ":00"*/);
205         timeEditSBegin->setEnabled(true);
206         timeEditEndS->setValueText(timetable.endSecondPause.toString("hh:mm")/* + ":00"*/);
207         timeEditEndS->setEnabled(true);
208     }
209
210
211     if (this->exec() == QDialog::Accepted) {
212
213
214         timetable.entrance =  QTime::fromString(timeEditEntrance->valueText(), "hh:mm");
215         timetable.exit =  QTime::fromString(timeEditExit->valueText(), "hh:mm");
216         if (checkBoxFirst->isChecked()) {
217
218             timetable.firstPause = QTime::fromString(timeEditFBegin->valueText(), "hh:mm");
219             timetable.endFirstPause = QTime::fromString(timeEditEndF->valueText(), "hh:mm");
220         }
221         if (checkBoxSecond->isChecked()) {
222             timetable.secondPause = QTime::fromString(timeEditSBegin->valueText(), "hh:mm");
223             timetable.endSecondPause = QTime::fromString(timeEditEndS->valueText(), "hh:mm");
224         }
225         return timetable;
226     }
227     timetable.setWrong(true);
228     return timetable;
229 }
230
231