Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

datebookweeklstevent.cpp

Go to the documentation of this file.
00001 #include "datebookweeklstevent.h"
00002 #include "datebooktypes.h"
00003 
00004 #include <opie2/odebug.h>
00005 
00006 #include <qpe/ir.h>
00007 
00008 #include <qstring.h>
00009 #include <qpopupmenu.h>
00010 
00011 DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev,
00012                         int weeklistviewconfig,
00013                         QWidget* parent,
00014                         const char* name,
00015                         WFlags fl ) : OClickableLabel(parent,name,fl), event(ev)
00016 {
00017     // old values... lastday = "__|__", middle="   |---", Firstday="00:00",
00018     QString s,start,middle,end,day;
00019 
00020     odebug << "weeklistviewconfig=" << weeklistviewconfig << oendl;
00021     if(weeklistviewconfig==NONE) {  // No times displayed.
00022 //      start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute());
00023 //      middle.sprintf("<--->");
00024 //      end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute());
00025 //      day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute());
00026     } else if(weeklistviewconfig==NORMAL) { // "Normal", only display start time.
00027         start.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute());
00028         middle.sprintf("   |---");
00029         end.sprintf("__|__");
00030         day.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute());
00031     } else if(weeklistviewconfig==EXTENDED) { // Extended mode, display start and end times.
00032         start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute());
00033         middle.sprintf("<--->");
00034         end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute());
00035         day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute());
00036     }
00037 
00038     if(ev.event().type() == Event::Normal) {
00039         if(ev.startDate()==ev.date() && ev.endDate()==ev.date()) {  // day event.
00040             s=day;
00041         } else if(ev.startDate()==ev.date()) {  // start event.
00042             s=start;
00043         } else if(ev.endDate()==ev.date()) { // end event.
00044             s=end;
00045         } else {    // middle day.
00046             s=middle;
00047         }
00048     } else {
00049         s="";
00050     }
00051     setText(QString(s) + " " + ev.description());
00052 //  connect(this, SIGNAL(clicked()), this, SLOT(editMe()));
00053     setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) );
00054 }
00055 void DateBookWeekLstEvent::editMe() {
00056     emit editEvent(event.event());
00057 }
00058 void DateBookWeekLstEvent::duplicateMe()
00059 {
00060        emit duplicateEvent(event.event());
00061 }
00062 void DateBookWeekLstEvent::deleteMe()
00063 {
00064        emit removeEvent(event.event());
00065        emit redraw();
00066 }
00067 void DateBookWeekLstEvent::beamMe()
00068 {
00069     emit beamEvent( event.event() );
00070 }
00071 void DateBookWeekLstEvent::mousePressEvent( QMouseEvent *e )
00072 {
00073     if (!event.event().isValidUid()) {
00074         // this is just such a holiday event.
00075         return;
00076     }
00077     popmenue = new QPopupMenu;
00078 
00079     popmenue->insertItem( tr( "Edit" ), this, SLOT(editMe()));
00080     popmenue->insertItem( tr( "Duplicate" ), this, SLOT(duplicateMe()));
00081     popmenue->insertItem( tr( "Delete" ), this, SLOT(deleteMe()));
00082     if(Ir::supported())
00083         popmenue->insertItem( tr( "Beam" ), this, SLOT(beamMe()));
00084     popmenue->popup( mapToGlobal( e->pos() ));
00085 }

Generated on Sat Nov 5 16:15:49 2005 for OPIE by  doxygen 1.4.2