-rw-r--r-- | core/pim/datebook/dateentry.ui | 40 | ||||
-rw-r--r-- | core/pim/datebook/dateentryimpl.cpp | 38 |
2 files changed, 61 insertions, 17 deletions
diff --git a/core/pim/datebook/dateentry.ui b/core/pim/datebook/dateentry.ui index dc5195f..1a712ec 100644 --- a/core/pim/datebook/dateentry.ui +++ b/core/pim/datebook/dateentry.ui | |||
@@ -34,25 +34,25 @@ | |||
34 | <y>0</y> | 34 | <y>0</y> |
35 | <width>242</width> | 35 | <width>242</width> |
36 | <height>339</height> | 36 | <height>339</height> |
37 | </rect> | 37 | </rect> |
38 | </property> | 38 | </property> |
39 | <property stdset="1"> | 39 | <property stdset="1"> |
40 | <name>caption</name> | 40 | <name>caption</name> |
41 | <string>New Event</string> | 41 | <string>New Event</string> |
42 | </property> | 42 | </property> |
43 | <grid> | 43 | <grid> |
44 | <property stdset="1"> | 44 | <property stdset="1"> |
45 | <name>margin</name> | 45 | <name>margin</name> |
46 | <number>0</number> | 46 | <number>2</number> |
47 | </property> | 47 | </property> |
48 | <property stdset="1"> | 48 | <property stdset="1"> |
49 | <name>spacing</name> | 49 | <name>spacing</name> |
50 | <number>0</number> | 50 | <number>0</number> |
51 | </property> | 51 | </property> |
52 | <widget row="1" column="0" > | 52 | <widget row="1" column="0" > |
53 | <class>QLabel</class> | 53 | <class>QLabel</class> |
54 | <property stdset="1"> | 54 | <property stdset="1"> |
55 | <name>name</name> | 55 | <name>name</name> |
56 | <cstring>TextLabel2</cstring> | 56 | <cstring>TextLabel2</cstring> |
57 | </property> | 57 | </property> |
58 | <property stdset="1"> | 58 | <property stdset="1"> |
@@ -138,25 +138,25 @@ | |||
138 | <name>duplicatesEnabled</name> | 138 | <name>duplicatesEnabled</name> |
139 | <bool>false</bool> | 139 | <bool>false</bool> |
140 | </property> | 140 | </property> |
141 | </widget> | 141 | </widget> |
142 | <widget row="0" column="0" > | 142 | <widget row="0" column="0" > |
143 | <class>QLabel</class> | 143 | <class>QLabel</class> |
144 | <property stdset="1"> | 144 | <property stdset="1"> |
145 | <name>name</name> | 145 | <name>name</name> |
146 | <cstring>TextLabel1</cstring> | 146 | <cstring>TextLabel1</cstring> |
147 | </property> | 147 | </property> |
148 | <property stdset="1"> | 148 | <property stdset="1"> |
149 | <name>text</name> | 149 | <name>text</name> |
150 | <string>Description</string> | 150 | <string>Description </string> |
151 | </property> | 151 | </property> |
152 | </widget> | 152 | </widget> |
153 | <widget row="1" column="1" rowspan="1" colspan="3" > | 153 | <widget row="1" column="1" rowspan="1" colspan="3" > |
154 | <class>QComboBox</class> | 154 | <class>QComboBox</class> |
155 | <item> | 155 | <item> |
156 | <property> | 156 | <property> |
157 | <name>text</name> | 157 | <name>text</name> |
158 | <string></string> | 158 | <string></string> |
159 | </property> | 159 | </property> |
160 | </item> | 160 | </item> |
161 | <item> | 161 | <item> |
162 | <property> | 162 | <property> |
@@ -200,25 +200,25 @@ | |||
200 | <name>name</name> | 200 | <name>name</name> |
201 | <cstring>comboCategory</cstring> | 201 | <cstring>comboCategory</cstring> |
202 | </property> | 202 | </property> |
203 | </widget> | 203 | </widget> |
204 | <widget row="3" column="0" rowspan="2"> | 204 | <widget row="3" column="0" rowspan="2"> |
205 | <class>QLabel</class> | 205 | <class>QLabel</class> |
206 | <property stdset="1"> | 206 | <property stdset="1"> |
207 | <name>name</name> | 207 | <name>name</name> |
208 | <cstring>TextLabel3</cstring> | 208 | <cstring>TextLabel3</cstring> |
209 | </property> | 209 | </property> |
210 | <property stdset="1"> | 210 | <property stdset="1"> |
211 | <name>text</name> | 211 | <name>text</name> |
212 | <string>Start - End</string> | 212 | <string>Start - End </string> |
213 | </property> | 213 | </property> |
214 | </widget> | 214 | </widget> |
215 | <widget row="3" column="1" > | 215 | <widget row="3" column="1" > |
216 | <class>QPushButton</class> | 216 | <class>QPushButton</class> |
217 | <property stdset="1"> | 217 | <property stdset="1"> |
218 | <name>name</name> | 218 | <name>name</name> |
219 | <cstring>buttonStart</cstring> | 219 | <cstring>buttonStart</cstring> |
220 | </property> | 220 | </property> |
221 | <property stdset="1"> | 221 | <property stdset="1"> |
222 | <name>text</name> | 222 | <name>text</name> |
223 | <string>Jan 02 00</string> | 223 | <string>Jan 02 00</string> |
224 | </property> | 224 | </property> |
@@ -256,57 +256,79 @@ | |||
256 | <width>70</width> | 256 | <width>70</width> |
257 | <height>32767</height> | 257 | <height>32767</height> |
258 | </size> | 258 | </size> |
259 | </property> | 259 | </property> |
260 | <property stdset="1"> | 260 | <property stdset="1"> |
261 | <name>alignment</name> | 261 | <name>alignment</name> |
262 | <set>AlignHCenter</set> | 262 | <set>AlignHCenter</set> |
263 | </property> | 263 | </property> |
264 | <property> | 264 | <property> |
265 | <name>hAlign</name> | 265 | <name>hAlign</name> |
266 | </property> | 266 | </property> |
267 | </widget> | 267 | </widget> |
268 | <spacer row="3" column="2" rowspan="2" colspan="1" > | ||
269 | <property> | ||
270 | <name>name</name> | ||
271 | <cstring>Spacer1_2</cstring> | ||
272 | </property> | ||
273 | <property stdset="1"> | ||
274 | <name>orientation</name> | ||
275 | <enum>Horizontal</enum> | ||
276 | </property> | ||
277 | <property stdset="1"> | ||
278 | <name>sizeType</name> | ||
279 | <enum>Expanding</enum> | ||
280 | </property> | ||
281 | <property> | ||
282 | <name>sizeHint</name> | ||
283 | <size> | ||
284 | <width>20</width> | ||
285 | <height>20</height> | ||
286 | </size> | ||
287 | </property> | ||
288 | </spacer> | ||
289 | |||
268 | <widget row="5" column="1" colspan="3"> | 290 | <widget row="5" column="1" colspan="3"> |
269 | <class>TimePicker</class> | 291 | <class>TimePicker</class> |
270 | <property stdset="1"> | 292 | <property stdset="1"> |
271 | <name>name</name> | 293 | <name>name</name> |
272 | <cstring>timePickerStart</cstring> | 294 | <cstring>timePickerStart</cstring> |
273 | </property> | 295 | </property> |
274 | </widget> | 296 | </widget> |
275 | <widget row="3" column="2" colspan="2"> | 297 | <widget row="3" column="3" colspan="1"> |
276 | <class>QPushButton</class> | 298 | <class>QPushButton</class> |
277 | <property stdset="1"> | 299 | <property stdset="1"> |
278 | <name>name</name> | 300 | <name>name</name> |
279 | <cstring>buttonEnd</cstring> | 301 | <cstring>buttonEnd</cstring> |
280 | </property> | 302 | </property> |
281 | <property stdset="1"> | 303 | <property stdset="1"> |
282 | <name>text</name> | 304 | <name>text</name> |
283 | <string>Jan 02 00</string> | 305 | <string>Jan 02 00</string> |
284 | </property> | 306 | </property> |
285 | <property stdset="1"> | 307 | <property stdset="1"> |
286 | <name>minimumSize</name> | 308 | <name>minimumSize</name> |
287 | <size> | 309 | <size> |
288 | <width>70</width> | 310 | <width>70</width> |
289 | <height>0</height> | 311 | <height>0</height> |
290 | </size> | 312 | </size> |
291 | </property> | 313 | </property> |
292 | <property stdset="1"> | 314 | <property stdset="1"> |
293 | <name>maximumSize</name> | 315 | <name>maximumSize</name> |
294 | <size> | 316 | <size> |
295 | <width>70</width> | 317 | <width>70</width> |
296 | <height>32767</height> | 318 | <height>32767</height> |
297 | </size> | 319 | </size> |
298 | </property> | 320 | </property> |
299 | </widget> | 321 | </widget> |
300 | <widget row="4" column="2" colspan="2"> | 322 | <widget row="4" column="3" colspan="1"> |
301 | <class>QLineEdit</class> | 323 | <class>QLineEdit</class> |
302 | <property stdset="1"> | 324 | <property stdset="1"> |
303 | <name>name</name> | 325 | <name>name</name> |
304 | <cstring>comboEnd</cstring> | 326 | <cstring>comboEnd</cstring> |
305 | </property> | 327 | </property> |
306 | <property stdset="1"> | 328 | <property stdset="1"> |
307 | <name>minimumSize</name> | 329 | <name>minimumSize</name> |
308 | <size> | 330 | <size> |
309 | <width>70</width> | 331 | <width>70</width> |
310 | <height>0</height> | 332 | <height>0</height> |
311 | </size> | 333 | </size> |
312 | </property> | 334 | </property> |
@@ -320,25 +342,25 @@ | |||
320 | <property stdset="1"> | 342 | <property stdset="1"> |
321 | <name>alignment</name> | 343 | <name>alignment</name> |
322 | <set>AlignHCenter</set> | 344 | <set>AlignHCenter</set> |
323 | </property> | 345 | </property> |
324 | <property> | 346 | <property> |
325 | <name>hAlign</name> | 347 | <name>hAlign</name> |
326 | </property> | 348 | </property> |
327 | </widget> | 349 | </widget> |
328 | <widget row="5" column="0" > | 350 | <widget row="5" column="0" > |
329 | <class>QLabel</class> | 351 | <class>QLabel</class> |
330 | <property stdset="1"> | 352 | <property stdset="1"> |
331 | <name>name</name> | 353 | <name>name</name> |
332 | <cstring>TextLabel3_2</cstring> | 354 | <cstring>TimePickerLabel</cstring> |
333 | </property> | 355 | </property> |
334 | <property stdset="1"> | 356 | <property stdset="1"> |
335 | <name>text</name> | 357 | <name>text</name> |
336 | <string>Start time</string> | 358 | <string>Start time</string> |
337 | </property> | 359 | </property> |
338 | </widget> | 360 | </widget> |
339 | <widget row="6" column="0" > | 361 | <widget row="6" column="0" > |
340 | <class>QCheckBox</class> | 362 | <class>QCheckBox</class> |
341 | <property stdset="1"> | 363 | <property stdset="1"> |
342 | <name>name</name> | 364 | <name>name</name> |
343 | <cstring>checkAllDay</cstring> | 365 | <cstring>checkAllDay</cstring> |
344 | </property> | 366 | </property> |
@@ -554,24 +576,30 @@ | |||
554 | <sender>comboStart</sender> | 576 | <sender>comboStart</sender> |
555 | <signal>textChanged(const QString &)</signal> | 577 | <signal>textChanged(const QString &)</signal> |
556 | <receiver>DateEntryBase</receiver> | 578 | <receiver>DateEntryBase</receiver> |
557 | <slot>startTimeEdited( const QString & )</slot> | 579 | <slot>startTimeEdited( const QString & )</slot> |
558 | </connection> | 580 | </connection> |
559 | <connection> | 581 | <connection> |
560 | <sender>checkAllDay</sender> | 582 | <sender>checkAllDay</sender> |
561 | <signal>toggled(bool)</signal> | 583 | <signal>toggled(bool)</signal> |
562 | <receiver>comboEnd</receiver> | 584 | <receiver>comboEnd</receiver> |
563 | <slot>setDisabled(bool)</slot> | 585 | <slot>setDisabled(bool)</slot> |
564 | </connection> | 586 | </connection> |
565 | <connection> | 587 | <connection> |
588 | <sender>checkAllDay</sender> | ||
589 | <signal>toggled(bool)</signal> | ||
590 | <receiver>timePickerStart</receiver> | ||
591 | <slot>setDisabled(bool)</slot> | ||
592 | </connection> | ||
593 | <connection> | ||
566 | <sender>checkAlarm</sender> | 594 | <sender>checkAlarm</sender> |
567 | <signal>toggled(bool)</signal> | 595 | <signal>toggled(bool)</signal> |
568 | <receiver>comboSound</receiver> | 596 | <receiver>comboSound</receiver> |
569 | <slot>setEnabled(bool)</slot> | 597 | <slot>setEnabled(bool)</slot> |
570 | </connection> | 598 | </connection> |
571 | <connection> | 599 | <connection> |
572 | <sender>checkAllDay</sender> | 600 | <sender>checkAllDay</sender> |
573 | <signal>toggled(bool)</signal> | 601 | <signal>toggled(bool)</signal> |
574 | <receiver>comboStart</receiver> | 602 | <receiver>comboStart</receiver> |
575 | <slot>setDisabled(bool)</slot> | 603 | <slot>setDisabled(bool)</slot> |
576 | </connection> | 604 | </connection> |
577 | <slot access="public">endDateChanged( const QString & )</slot> | 605 | <slot access="public">endDateChanged( const QString & )</slot> |
diff --git a/core/pim/datebook/dateentryimpl.cpp b/core/pim/datebook/dateentryimpl.cpp index f2f17c6..e14e2f5 100644 --- a/core/pim/datebook/dateentryimpl.cpp +++ b/core/pim/datebook/dateentryimpl.cpp | |||
@@ -59,31 +59,47 @@ DateEntry::DateEntry( bool startOnMonday, const QDateTime &start, | |||
59 | ampm( whichClock ), | 59 | ampm( whichClock ), |
60 | startWeekOnMonday( startOnMonday ) | 60 | startWeekOnMonday( startOnMonday ) |
61 | { | 61 | { |
62 | init(); | 62 | init(); |
63 | setDates(start,end); | 63 | setDates(start,end); |
64 | setFocusProxy(comboDescription); | 64 | setFocusProxy(comboDescription); |
65 | } | 65 | } |
66 | 66 | ||
67 | bool DateEntry::eventFilter(QObject *obj, QEvent *ev ) | 67 | bool DateEntry::eventFilter(QObject *obj, QEvent *ev ) |
68 | { | 68 | { |
69 | if( ev->type() == QEvent::FocusIn ){ | 69 | if( ev->type() == QEvent::FocusIn ){ |
70 | if( obj == comboStart ){ | 70 | if( obj == comboStart ){ |
71 | TextLabel3_2->setText( tr("Start Time" ) ); | 71 | timePickerStart->setHour(startTime.hour()); |
72 | timePickerStart->setMinute(startTime.minute()); | ||
73 | TimePickerLabel->setText( tr("Start Time" ) ); | ||
72 | m_showStart= true; | 74 | m_showStart= true; |
73 | }else if( obj == comboEnd ){ | 75 | }else if( obj == comboEnd ){ |
74 | TextLabel3_2->setText( tr("End Time") ); | 76 | timePickerStart->setHour(endTime.hour()); |
77 | timePickerStart->setMinute(endTime.minute()); | ||
78 | TimePickerLabel->setText( tr("End Time") ); | ||
75 | m_showStart = false; | 79 | m_showStart = false; |
76 | } | 80 | } |
81 | } else if( ev->type() == QEvent::FocusOut ){ | ||
82 | if( obj == comboEnd ){ | ||
83 | QString s; | ||
84 | s.sprintf("%.2d:%.2d",endTime.hour(), endTime.minute()); | ||
85 | comboEnd->setText(s); | ||
86 | } | ||
87 | else if( obj == comboStart ){ | ||
88 | QString s; | ||
89 | s.sprintf("%.2d:%.2d",startTime.hour(), startTime.minute()); | ||
90 | comboStart->setText(s); | ||
91 | } | ||
77 | } | 92 | } |
93 | |||
78 | return false; | 94 | return false; |
79 | } | 95 | } |
80 | 96 | ||
81 | static void addOrPick( QComboBox* combo, const QString& t ) | 97 | static void addOrPick( QComboBox* combo, const QString& t ) |
82 | { | 98 | { |
83 | // Pick an item if one excists | 99 | // Pick an item if one excists |
84 | for (int i=0; i<combo->count(); i++) { | 100 | for (int i=0; i<combo->count(); i++) { |
85 | if ( combo->text(i) == t ) { | 101 | if ( combo->text(i) == t ) { |
86 | combo->setCurrentItem(i); | 102 | combo->setCurrentItem(i); |
87 | return; | 103 | return; |
88 | } | 104 | } |
89 | } | 105 | } |
@@ -259,35 +275,36 @@ static QTime parseTime( const QString& s, bool ampm ) | |||
259 | minute = 59; | 275 | minute = 59; |
260 | } else if ( hour < 0 ) | 276 | } else if ( hour < 0 ) |
261 | hour = 0; | 277 | hour = 0; |
262 | tmpTime.setHMS( hour, minute, 0 ); | 278 | tmpTime.setHMS( hour, minute, 0 ); |
263 | return tmpTime; | 279 | return tmpTime; |
264 | } | 280 | } |
265 | 281 | ||
266 | /* | 282 | /* |
267 | * public slot | 283 | * public slot |
268 | */ | 284 | */ |
269 | void DateEntry::endTimeChanged( const QString &s ) | 285 | void DateEntry::endTimeChanged( const QString &s ) |
270 | { | 286 | { |
271 | QTime tmpTime = parseTime(s,ampm); | 287 | endTimeChanged( parseTime(s,ampm) ); |
272 | if ( endDate > startDate || tmpTime >= startTime ) { | 288 | } |
273 | endTime = tmpTime; | 289 | |
290 | void DateEntry::endTimeChanged( const QTime &t ) { | ||
291 | if ( endDate > startDate || t >= startTime ) { | ||
292 | endTime = t; | ||
274 | } else { | 293 | } else { |
275 | endTime = startTime; | 294 | endTime = startTime; |
276 | //comboEnd->setCurrentItem( comboStart->currentItem() ); | 295 | //comboEnd->setCurrentItem( comboStart->currentItem() ); |
277 | } | 296 | } |
278 | 297 | timePickerStart->setHour(endTime.hour()); | |
279 | } | 298 | timePickerStart->setMinute(endTime.minute()); |
280 | |||
281 | void DateEntry::endTimeChanged( const QTime &t ) { | ||
282 | } | 299 | } |
283 | 300 | ||
284 | /* | 301 | /* |
285 | * public slot | 302 | * public slot |
286 | */ | 303 | */ |
287 | void DateEntry::startDateChanged( int y, int m, int d ) | 304 | void DateEntry::startDateChanged( int y, int m, int d ) |
288 | { | 305 | { |
289 | QDate prev = startDate; | 306 | QDate prev = startDate; |
290 | startDate.setYMD( y, m, d ); | 307 | startDate.setYMD( y, m, d ); |
291 | if ( rp.type == Event::Weekly && | 308 | if ( rp.type == Event::Weekly && |
292 | startDate.dayOfWeek() != prev.dayOfWeek() ) { | 309 | startDate.dayOfWeek() != prev.dayOfWeek() ) { |
293 | // if we change the start of a weekly repeating event | 310 | // if we change the start of a weekly repeating event |
@@ -317,27 +334,26 @@ void DateEntry::startTimeEdited( const QString &s ) | |||
317 | 334 | ||
318 | void DateEntry::startTimeChanged( const QTime &t ) | 335 | void DateEntry::startTimeChanged( const QTime &t ) |
319 | { | 336 | { |
320 | int duration=startTime.secsTo(endTime); | 337 | int duration=startTime.secsTo(endTime); |
321 | startTime = t; | 338 | startTime = t; |
322 | endTime=t.addSecs(duration); | 339 | endTime=t.addSecs(duration); |
323 | } | 340 | } |
324 | void DateEntry::startTimePicked( const QTime &t ) { | 341 | void DateEntry::startTimePicked( const QTime &t ) { |
325 | if(m_showStart ){ | 342 | if(m_showStart ){ |
326 | startTimeChanged(t); | 343 | startTimeChanged(t); |
327 | updateTimeEdit(true,true); | 344 | updateTimeEdit(true,true); |
328 | }else{ | 345 | }else{ |
329 | endTime = t; | 346 | endTimeChanged(t); |
330 | updateTimeEdit(false, true ); | 347 | updateTimeEdit(false, true ); |
331 | |||
332 | } | 348 | } |
333 | } | 349 | } |
334 | 350 | ||
335 | /* | 351 | /* |
336 | * public slot | 352 | * public slot |
337 | */ | 353 | */ |
338 | void DateEntry::typeChanged( const QString &s ) | 354 | void DateEntry::typeChanged( const QString &s ) |
339 | { | 355 | { |
340 | bool b = s != "All Day"; | 356 | bool b = s != "All Day"; |
341 | buttonStart->setEnabled( b ); | 357 | buttonStart->setEnabled( b ); |
342 | comboStart->setEnabled( b ); | 358 | comboStart->setEnabled( b ); |
343 | comboEnd->setEnabled( b ); | 359 | comboEnd->setEnabled( b ); |