1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#include "datebookweeklstevent.h"
#include "datebooktypes.h"
#include <opie2/odebug.h>
#include <qpe/ir.h>
#include <qstring.h>
#include <qpopupmenu.h>
DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev,
int weeklistviewconfig,
QWidget* parent,
const char* name,
WFlags fl ) : OClickableLabel(parent,name,fl), event(ev)
{
// old values... lastday = "__|__", middle=" |---", Firstday="00:00",
QString s,start,middle,end,day;
odebug << "weeklistviewconfig=" << weeklistviewconfig << oendl;
if(weeklistviewconfig==NONE) { // No times displayed.
// start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute());
// middle.sprintf("<--->");
// end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute());
// day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute());
} else if(weeklistviewconfig==NORMAL) { // "Normal", only display start time.
start.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute());
middle.sprintf(" |---");
end.sprintf("__|__");
day.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute());
} else if(weeklistviewconfig==EXTENDED) { // Extended mode, display start and end times.
start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute());
middle.sprintf("<--->");
end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute());
day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute());
}
if(ev.event().type() == Event::Normal) {
if(ev.startDate()==ev.date() && ev.endDate()==ev.date()) { // day event.
s=day;
} else if(ev.startDate()==ev.date()) { // start event.
s=start;
} else if(ev.endDate()==ev.date()) { // end event.
s=end;
} else { // middle day.
s=middle;
}
} else {
s="";
}
setText(QString(s) + " " + ev.description());
// connect(this, SIGNAL(clicked()), this, SLOT(editMe()));
setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) );
}
void DateBookWeekLstEvent::editMe() {
emit editEvent(event.event());
}
void DateBookWeekLstEvent::duplicateMe()
{
emit duplicateEvent(event.event());
}
void DateBookWeekLstEvent::deleteMe()
{
emit removeEvent(event.event());
emit redraw();
}
void DateBookWeekLstEvent::beamMe()
{
emit beamEvent( event.event() );
}
void DateBookWeekLstEvent::mousePressEvent( QMouseEvent *e )
{
if (!event.event().isValidUid()) {
// this is just such a holiday event.
return;
}
popmenue = new QPopupMenu;
popmenue->insertItem( tr( "Edit" ), this, SLOT(editMe()));
popmenue->insertItem( tr( "Duplicate" ), this, SLOT(duplicateMe()));
popmenue->insertItem( tr( "Delete" ), this, SLOT(deleteMe()));
if(Ir::supported())
popmenue->insertItem( tr( "Beam" ), this, SLOT(beamMe()));
popmenue->popup( mapToGlobal( e->pos() ));
}
|