summaryrefslogtreecommitdiff
path: root/core/pim/datebook/modules/weeklst/datebookweeklstevent.cpp
Unidiff
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.cpp183
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
11DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, 11DateBookWeekLstEvent::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.
55void DateBookWeekLstEvent::editMe() { 55 s=start;
56 emit editEvent(event.event()); 56 } else if(ev.endDate()==ev.date()) { // end event.
57} 57 s=end;
58void DateBookWeekLstEvent::duplicateMe() 58 } else { // middle day.
59{ 59 s=middle;
60 emit duplicateEvent(event.event()); 60 }
61} 61 } else {
62void 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 ) );
67void DateBookWeekLstEvent::beamMe() 67}
68{ 68void DateBookWeekLstEvent::editMe() {
69 emit beamEvent( event.event() ); 69 emit editEvent(event.event());
70} 70}
71void DateBookWeekLstEvent::mousePressEvent( QMouseEvent *e ) 71void 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; 75void 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())); 80void 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() )); 84void 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}