Diffstat (limited to 'core/pim/datebook/modules/weeklst/datebookweeklstevent.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/datebook/modules/weeklst/datebookweeklstevent.cpp | 183 |
1 files changed, 98 insertions, 85 deletions
diff --git a/core/pim/datebook/modules/weeklst/datebookweeklstevent.cpp b/core/pim/datebook/modules/weeklst/datebookweeklstevent.cpp index 797f766..881e8f1 100644 --- a/core/pim/datebook/modules/weeklst/datebookweeklstevent.cpp +++ b/core/pim/datebook/modules/weeklst/datebookweeklstevent.cpp | |||
@@ -1,85 +1,98 @@ | |||
1 | #include "datebookweeklstevent.h" | 1 | #include "datebookweeklstevent.h" |
2 | #include "datebooktypes.h" | 2 | #include "datebooktypes.h" |
3 | 3 | ||
4 | #include <opie2/odebug.h> | 4 | #include <opie2/odebug.h> |
5 | 5 | ||
6 | #include <qpe/ir.h> | 6 | #include <qpe/ir.h> |
7 | 7 | ||
8 | #include <qstring.h> | 8 | #include <qstring.h> |
9 | #include <qpopupmenu.h> | 9 | #include <qpopupmenu.h> |
10 | 10 | ||
11 | DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, | 11 | DateBookWeekLstEvent::DateBookWeekLstEvent(bool ap, const EffectiveEvent &ev, |
12 | int weeklistviewconfig, | 12 | int weeklistviewconfig, |
13 | QWidget* parent, | 13 | QWidget* parent, |
14 | const char* name, | 14 | const char* name, |
15 | WFlags fl ) : OClickableLabel(parent,name,fl), event(ev) | 15 | WFlags fl ) : OClickableLabel(parent,name,fl), event(ev), ampm(ap) |
16 | { | 16 | { |
17 | // old values... lastday = "__|__", middle=" |---", Firstday="00:00", | 17 | // old values... lastday = "__|__", middle=" |---", Firstday="00:00", |
18 | QString s,start,middle,end,day; | 18 | QString s,start,middle,end,day; |
19 | 19 | ||
20 | odebug << "weeklistviewconfig=" << weeklistviewconfig << oendl; | 20 | odebug << "weeklistviewconfig=" << weeklistviewconfig << oendl; |
21 | if(weeklistviewconfig==NONE) { // No times displayed. | 21 | if(weeklistviewconfig==NORMAL) { // "Normal", only display start time. |
22 | // start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute()); | 22 | if ( ampm ) { |
23 | // middle.sprintf("<--->"); | 23 | int shour = ev.start().hour(); |
24 | // end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute()); | 24 | int smin = ev.start().minute(); |
25 | // day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute()); | 25 | if ( shour >= 12 ) { |
26 | } else if(weeklistviewconfig==NORMAL) { // "Normal", only display start time. | 26 | if ( shour > 12 ) { |
27 | start.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); | 27 | shour -= 12; |
28 | middle.sprintf(" |---"); | 28 | } |
29 | end.sprintf("__|__"); | 29 | start.sprintf( "%.2d:%.2d PM", shour, smin ); |
30 | day.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); | 30 | day.sprintf("%.2d:%.2d PM",shour,smin); |
31 | } else if(weeklistviewconfig==EXTENDED) { // Extended mode, display start and end times. | 31 | } else { |
32 | start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute()); | 32 | if ( shour == 0 ) { |
33 | middle.sprintf("<--->"); | 33 | shour = 12; |
34 | end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute()); | 34 | } |
35 | day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute()); | 35 | start.sprintf( "%.2d:%.2d AM", shour, smin ); |
36 | } | 36 | day.sprintf("%.2d:%.2d AM",shour,smin); |
37 | 37 | } | |
38 | if(ev.event().type() == Event::Normal) { | 38 | } else { |
39 | if(ev.startDate()==ev.date() && ev.endDate()==ev.date()) { // day event. | 39 | start.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); |
40 | s=day; | 40 | day.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); |
41 | } else if(ev.startDate()==ev.date()) { // start event. | 41 | } |
42 | s=start; | 42 | middle.sprintf(" |---"); |
43 | } else if(ev.endDate()==ev.date()) { // end event. | 43 | end.sprintf("__|__"); |
44 | s=end; | 44 | } else if(weeklistviewconfig==EXTENDED) { // Extended mode, display start and end times. |
45 | } else { // middle day. | 45 | start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute()); |
46 | s=middle; | 46 | middle.sprintf("<--->"); |
47 | } | 47 | end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute()); |
48 | } else { | 48 | day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute()); |
49 | s=""; | 49 | } |
50 | } | 50 | |
51 | setText(QString(s) + " " + ev.description()); | 51 | if(ev.event().type() == Event::Normal) { |
52 | // connect(this, SIGNAL(clicked()), this, SLOT(editMe())); | 52 | if(ev.startDate()==ev.date() && ev.endDate()==ev.date()) { // day event. |
53 | setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) ); | 53 | s=day; |
54 | } | 54 | } else if(ev.startDate()==ev.date()) { // start event. |
55 | void DateBookWeekLstEvent::editMe() { | 55 | s=start; |
56 | emit editEvent(event.event()); | 56 | } else if(ev.endDate()==ev.date()) { // end event. |
57 | } | 57 | s=end; |
58 | void DateBookWeekLstEvent::duplicateMe() | 58 | } else { // middle day. |
59 | { | 59 | s=middle; |
60 | emit duplicateEvent(event.event()); | 60 | } |
61 | } | 61 | } else { |
62 | void DateBookWeekLstEvent::deleteMe() | 62 | s=""; |
63 | { | 63 | } |
64 | emit removeEvent(event.event()); | 64 | setText(QString(s) + " " + ev.description()); |
65 | emit redraw(); | 65 | // connect(this, SIGNAL(clicked()), this, SLOT(editMe())); |
66 | } | 66 | setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) ); |
67 | void DateBookWeekLstEvent::beamMe() | 67 | } |
68 | { | 68 | void DateBookWeekLstEvent::editMe() { |
69 | emit beamEvent( event.event() ); | 69 | emit editEvent(event.event()); |
70 | } | 70 | } |
71 | void DateBookWeekLstEvent::mousePressEvent( QMouseEvent *e ) | 71 | void DateBookWeekLstEvent::duplicateMe() |
72 | { | 72 | { |
73 | if (!event.event().isValidUid()) { | 73 | emit duplicateEvent(event.event()); |
74 | // this is just such a holiday event. | 74 | } |
75 | return; | 75 | void DateBookWeekLstEvent::deleteMe() |
76 | } | 76 | { |
77 | popmenue = new QPopupMenu; | 77 | emit removeEvent(event.event()); |
78 | 78 | emit redraw(); | |
79 | popmenue->insertItem( tr( "Edit" ), this, SLOT(editMe())); | 79 | } |
80 | popmenue->insertItem( tr( "Duplicate" ), this, SLOT(duplicateMe())); | 80 | void DateBookWeekLstEvent::beamMe() |
81 | popmenue->insertItem( tr( "Delete" ), this, SLOT(deleteMe())); | 81 | { |
82 | if(Ir::supported()) | 82 | emit beamEvent( event.event() ); |
83 | popmenue->insertItem( tr( "Beam" ), this, SLOT(beamMe())); | 83 | } |
84 | popmenue->popup( mapToGlobal( e->pos() )); | 84 | void DateBookWeekLstEvent::mousePressEvent( QMouseEvent *e ) |
85 | } | 85 | { |
86 | if (!event.event().isValidUid()) { | ||
87 | // this is just such a holiday event. | ||
88 | return; | ||
89 | } | ||
90 | popmenue = new QPopupMenu; | ||
91 | |||
92 | popmenue->insertItem( tr( "Edit" ), this, SLOT(editMe())); | ||
93 | popmenue->insertItem( tr( "Duplicate" ), this, SLOT(duplicateMe())); | ||
94 | popmenue->insertItem( tr( "Delete" ), this, SLOT(deleteMe())); | ||
95 | if(Ir::supported()) | ||
96 | popmenue->insertItem( tr( "Beam" ), this, SLOT(beamMe())); | ||
97 | popmenue->popup( mapToGlobal( e->pos() )); | ||
98 | } | ||