summaryrefslogtreecommitdiff
authorzecke <zecke>2002-06-25 19:55:53 (UTC)
committer zecke <zecke>2002-06-25 19:55:53 (UTC)
commitaf4a3940dd672423da28b54e5d955cc5d33cecda (patch) (side-by-side diff)
treecb5fcfe4835c86353e9d54b1050c7dfb23898bf1
parent8635f264c15b05152fc1a44f798c154472a4b227 (diff)
downloadopie-af4a3940dd672423da28b54e5d955cc5d33cecda.zip
opie-af4a3940dd672423da28b54e5d955cc5d33cecda.tar.gz
opie-af4a3940dd672423da28b54e5d955cc5d33cecda.tar.bz2
All day events are not from 00:00 to 23:59 they're all day now.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookday.cpp52
-rw-r--r--core/pim/datebook/datebookday.h31
-rw-r--r--core/pim/datebook/datebookweek.cpp52
-rw-r--r--core/pim/datebook/datebookweek.h16
-rw-r--r--core/pim/datebook/datebookweeklst.cpp5
5 files changed, 107 insertions, 49 deletions
diff --git a/core/pim/datebook/datebookday.cpp b/core/pim/datebook/datebookday.cpp
index 9cc5fcd..5474cfc 100644
--- a/core/pim/datebook/datebookday.cpp
+++ b/core/pim/datebook/datebookday.cpp
@@ -563,13 +563,13 @@ void DateBookDay::keyPressEvent(QKeyEvent *e)
//===========================================================================
DateBookDayWidget::DateBookDayWidget( const EffectiveEvent &e,
DateBookDay *db )
: QWidget( db->dayView()->viewport() ), ev( e ), dateBook( db )
{
- bool whichClock = db->dayView()->whichClock();
+
// why would someone use "<"? Oh well, fix it up...
// I wonder what other things may be messed up...
QString strDesc = ev.description();
int where = strDesc.find( "<" );
while ( where != -1 ) {
@@ -594,33 +594,20 @@ DateBookDayWidget::DateBookDayWidget( const EffectiveEvent &e,
strNote.remove( where, 1 );
strNote.insert( where, "&#60;" );
where = strNote.find( "<", where );
}
text = "<b>" + strDesc + "</b><br>" + "<i>"
- + strCat + "</i>"
- + "<br><b>" + tr("Start") + "</b>: ";
-
-
- if ( e.startDate() != ev.date() ) {
- // multi-day event. Show start date
- text += TimeString::longDateString( e.startDate() );
- } else {
- // Show start time.
- text += TimeString::timeString( ev.start(), whichClock, FALSE );
- }
+ + strCat + "</i><br>";
+ if (ev.event().type() == Event::Normal )
+ setEventText( text );
+ else
+ setAllDayText( text );
- text += "<br><b>" + tr("End") + "</b>: ";
- if ( e.endDate() != ev.date() ) {
- // multi-day event. Show end date
- text += TimeString::longDateString( e.endDate() );
- } else {
- // Show end time.
- text += TimeString::timeString( ev.end(), whichClock, FALSE );
- }
text += "<br><br>" + strNote;
+
setBackgroundMode( PaletteBase );
QTime start = ev.start();
QTime end = ev.end();
int y = start.hour()*60+start.minute();
int h = end.hour()*60+end.minute()-y;
@@ -632,12 +619,36 @@ DateBookDayWidget::DateBookDayWidget( const EffectiveEvent &e,
geom.setY( y );
geom.setHeight( h );
geom.setX( 0 );
geom.setWidth(dateBook->dayView()->columnWidth(0)-1);
}
+void DateBookDayWidget::setAllDayText( QString &text ) {
+ text += "<b>" + tr("This is an all day event.") + "</b><br>";
+}
+void DateBookDayWidget::setEventText( QString& text ) {
+ bool whichClock = dateBook->dayView()->whichClock();
+ text += "<b>" + tr("Start") + "</b>: ";
+ if ( ev.startDate() != ev.date() ) {
+ // multi-day event. Show start date
+ text += TimeString::longDateString( ev.startDate() );
+ } else {
+ // Show start time.
+ text += TimeString::timeString( ev.start(), whichClock, FALSE );
+ }
+
+ text += "<br><b>" + tr("End") + "</b>: ";
+ if ( ev.endDate() != ev.date() ) {
+ // multi-day event. Show end date
+ text += TimeString::longDateString( ev.endDate() );
+ } else {
+ // Show end time.
+ text += TimeString::timeString( ev.end(), whichClock, FALSE );
+ }
+
+}
DateBookDayWidget::~DateBookDayWidget()
{
}
void DateBookDayWidget::paintEvent( QPaintEvent *e )
@@ -686,12 +697,13 @@ void DateBookDayWidget::paintEvent( QPaintEvent *e )
d = 20;
}
if ( ev.event().hasRepeat() ) {
p.drawPixmap( width() - 16, y, Resource::loadPixmap( "repeat" ) );
d = 20;
+ y += 20;
}
QSimpleRichText rt( text, font() );
rt.setWidth( geom.width() - d - 6 );
rt.draw( &p, 7, 0, e->region(), colorGroup() );
}
diff --git a/core/pim/datebook/datebookday.h b/core/pim/datebook/datebookday.h
index be7cc45..db1cd04 100644
--- a/core/pim/datebook/datebookday.h
+++ b/core/pim/datebook/datebookday.h
@@ -37,13 +37,13 @@ class QResizeEvent;
class DateBookDayView : public QTable
{
Q_OBJECT
public:
DateBookDayView( bool hourClock, QWidget *parent, const char *name );
bool whichClock() const;
-
+
void setRowStyle( int style );
public slots:
void moveUp();
void moveDown();
@@ -52,13 +52,13 @@ signals:
void sigCapturedKey( const QString &txt );
protected slots:
void slotChangeClock( bool );
protected:
virtual void paintCell( QPainter *p, int row, int col, const QRect &cr, bool selected );
virtual void paintFocus( QPainter *p, const QRect &cr );
-
+
virtual void resizeEvent( QResizeEvent *e );
void keyPressEvent( QKeyEvent *e );
void initHeader();
private:
bool ampm;
};
@@ -73,23 +73,34 @@ public:
~DateBookDayWidget();
const QRect &geometry() { return geom; }
void setGeometry( const QRect &r );
const EffectiveEvent &event() const { return ev; }
-
+
signals:
void deleteMe( const Event &e );
void editMe( const Event &e );
void beamMe( const Event &e );
protected:
void paintEvent( QPaintEvent *e );
void mousePressEvent( QMouseEvent *e );
private:
+ /**
+ * Sets the text for an all day Event
+ * All day events have no time associated
+ */
+ void setAllDayText( QString& text );
+
+ /**
+ * Sets the EventText
+ * it got a start and an end Time
+ */
+ void setEventText( QString& text );
const EffectiveEvent ev;
DateBookDay *dateBook;
QString text;
QRect geom;
};
@@ -103,40 +114,40 @@ public:
~DateBookDayTimeMarker();
const QRect &geometry() { return geom; }
void setGeometry( const QRect &r );
void setTime( const QTime &t );
-signals:
+signals:
protected:
void paintEvent( QPaintEvent *e );
private:
QRect geom;
QTime time;
DateBookDay *dateBook;
};
//reimplemented the compareItems function so that it sorts DayWidgets by geometry heights
class WidgetListClass : public QList<DateBookDayWidget>
-{
+{
private:
-
- int compareItems( QCollection::Item s1, QCollection::Item s2 )
- {
+
+ int compareItems( QCollection::Item s1, QCollection::Item s2 )
+ {
//hmm, don't punish me for that ;)
if (reinterpret_cast<DateBookDayWidget*>(s1)->geometry().height() > reinterpret_cast<DateBookDayWidget*>(s2)->geometry().height())
- {
+ {
return -1;
} else
{
return 1;
}
}
-
+
};
class DateBookDay : public QVBox
{
Q_OBJECT
diff --git a/core/pim/datebook/datebookweek.cpp b/core/pim/datebook/datebookweek.cpp
index 6532ba4..e16f516 100644
--- a/core/pim/datebook/datebookweek.cpp
+++ b/core/pim/datebook/datebookweek.cpp
@@ -458,12 +458,39 @@ void DateBookWeek::getEvents()
QValueList<EffectiveEvent> eventList = db->getEffectiveEvents(startWeek,
endWeek);
view->showEvents( eventList );
view->moveToHour( startTime );
}
+void DateBookWeek::generateAllDayTooltext( QString& text ) {
+ text += "<b>" + tr("This is an all day event.") + "</b><br>";
+}
+
+void DateBookWeek::generateNormalTooltext( QString& str,
+ const EffectiveEvent &ev ) {
+ str += "<b>" + QObject::tr("Start") + "</b>: ";
+
+ if ( ev.startDate() != ev.date() ) {
+ // multi-day event. Show start date
+ str += TimeString::longDateString( ev.startDate() );
+ } else {
+ // Show start time.
+ str += TimeString::timeString(ev.start(), ampm, FALSE );
+ }
+
+
+ str += "<br><b>" + QObject::tr("End") + "</b>: ";
+ if ( ev.endDate() != ev.date() ) {
+ // multi-day event. Show end date
+ str += TimeString::longDateString( ev.endDate() );
+ } else {
+ // Show end time.
+ str += TimeString::timeString( ev.end(), ampm, FALSE );
+ }
+}
+
void DateBookWeek::slotShowEvent( const EffectiveEvent &ev )
{
if ( tHide->isActive() )
tHide->stop();
// why would someone use "<"? Oh well, fix it up...
@@ -492,32 +519,21 @@ void DateBookWeek::slotShowEvent( const EffectiveEvent &ev )
strNote.remove( where, 1 );
strNote.insert( where, "&#60;" );
where = strNote.find( "<", where );
}
QString str = "<b>" + strDesc + "</b><br>" + "<i>"
- + strCat + "</i>"
- + "<br>" + TimeString::longDateString( ev.date() )
- + "<br><b>" + QObject::tr("Start") + "</b>: ";
+ + strCat + "</i>"
+ + "<br>" + TimeString::longDateString( ev.date() )
+ + "<br>";
- if ( ev.startDate() != ev.date() ) {
- // multi-day event. Show start date
- str += TimeString::longDateString( ev.startDate() );
- } else {
- // Show start time.
- str += TimeString::timeString(ev.start(), ampm, FALSE );
- }
+ if (ev.event().type() == Event::Normal )
+ generateNormalTooltext( str, ev );
+ else
+ generateAllDayTooltext( str );
- str += "<br><b>" + QObject::tr("End") + "</b>: ";
- if ( ev.endDate() != ev.date() ) {
- // multi-day event. Show end date
- str += TimeString::longDateString( ev.endDate() );
- } else {
- // Show end time.
- str += TimeString::timeString( ev.end(), ampm, FALSE );
- }
str += "<br><br>" + strNote;
lblDesc->setText( str );
lblDesc->resize( lblDesc->sizeHint() );
// move the label so it is "centerd" horizontally...
lblDesc->move( QMAX(0,(width() - lblDesc->width()) / 2), 0 );
diff --git a/core/pim/datebook/datebookweek.h b/core/pim/datebook/datebookweek.h
index 6e675f1..acbc2c7 100644
--- a/core/pim/datebook/datebookweek.h
+++ b/core/pim/datebook/datebookweek.h
@@ -130,12 +130,28 @@ private slots:
void slotShowEvent( const EffectiveEvent & );
void slotHideEvent();
void slotYearChanged( int );
private:
void getEvents();
+
+ /**
+ * Wow that's a hell lot of code duplication
+ * in datebook. I vote for a common base class
+ * but never the less. This add a note
+ * that the Event is an all day event
+ *
+ */
+ void generateAllDayTooltext( QString& text );
+
+ /**
+ * This will add the times to the text
+ * It will be shown in the Tooltip bubble
+ */
+ void generateNormalTooltext( QString& text,
+ const EffectiveEvent &ev);
int year;
int _week;
int dow;
DateBookWeekHeader *header;
DateBookWeekView *view;
DateBookDB *db;
diff --git a/core/pim/datebook/datebookweeklst.cpp b/core/pim/datebook/datebookweeklst.cpp
index 29519c1..5eefc27 100644
--- a/core/pim/datebook/datebookweeklst.cpp
+++ b/core/pim/datebook/datebookweeklst.cpp
@@ -151,13 +151,16 @@ DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev,
if ( ev.endDate() == ev.date() ) { // last day
strcpy(s, "__|__");
} else {
strcpy(s, " |---");
}
} else {
- sprintf(s,"%.2d:%.2d",ev.start().hour(),ev.start().minute());
+ if(ev.event().type() == Event::Normal )
+ sprintf(s,"%.2d:%.2d",ev.start().hour(),ev.start().minute());
+ else
+ sprintf(s," ");
}
setText(QString(s) + " " + ev.description());
connect(this, SIGNAL(clicked()), this, SLOT(editMe()));
setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) );
}
void DateBookWeekLstEvent::editMe() {