6 files changed, 57 insertions, 18 deletions
diff --git a/core/pim/today/plugins/datebook/datebookevent.cpp b/core/pim/today/plugins/datebook/datebookevent.cpp index 0a0d186..8277529 100644 --- a/core/pim/today/plugins/datebook/datebookevent.cpp +++ b/core/pim/today/plugins/datebook/datebookevent.cpp @@ -57,9 +57,12 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, msg += "<br>All day"; } else { // start time of event - msg += "<br>" + ampmTime(QTime( (ev).event().start().time() ) ) + QDate tempDate = (ev).event().start().date(); + msg += "<br>" + + ampmTime( QTime( (ev).event().start().time() ) ) // end time of event - + "<b> - </b>" + ampmTime(QTime( (ev).event().end().time() ) ); + + "<b> - </b>" + ampmTime( QTime( (ev).event().end().time() ) ) + + differDate( tempDate ); } // include possible note or not @@ -95,6 +98,23 @@ QString DateBookEvent::ampmTime( QTime tm ) { } } +QString DateBookEvent::differDate( QDate date ) { + QDate currentDate = QDate::currentDate(); + QString returnText = "<font color = #407DD9><b> "; + int differDate = currentDate.daysTo( date ); + if ( currentDate.dayOfWeek() == date.dayOfWeek() ) { + returnText += "" ; + // not working right for recurring events + //} else if ( differDate == 1 ) { + //returnText += tr( "tomorrow" ); + } else { + //returnText += tr( "in %1 days" ).arg( differDate ); + returnText += " [ " + date.dayName( date.dayOfWeek() ) + " ] "; + } + returnText += "</b></font>"; + return returnText; +} + /** * starts the edit dialog as known from datebook diff --git a/core/pim/today/plugins/datebook/datebookevent.h b/core/pim/today/plugins/datebook/datebookevent.h index 7b0371a..f8a9c03 100644 --- a/core/pim/today/plugins/datebook/datebookevent.h +++ b/core/pim/today/plugins/datebook/datebookevent.h @@ -26,21 +26,22 @@ class DateBookEvent: public OClickableLabel { Q_OBJECT public: - DateBookEvent(const EffectiveEvent &ev, - QWidget* parent = 0, - bool show_location = 0, - bool show_notes = 0, - int maxCharClip = 0, - const char* name = 0, - WFlags fl = 0); + DateBookEvent( const EffectiveEvent &ev, + QWidget* parent = 0, + bool show_location = 0, + bool show_notes = 0, + int maxCharClip = 0, + const char* name = 0, + WFlags fl = 0 ); signals: - void editEvent(const Event &e); + void editEvent( const Event &e ); private slots: - void editEventSlot(const Event &e); + void editEventSlot( const Event &e ); void editMe(); private: DateBookDB *db; - QString ampmTime(QTime); + QString ampmTime( QTime ); + QString differDate( QDate date ); const EffectiveEvent event; bool ampm; }; diff --git a/core/pim/today/plugins/datebook/datebookpluginconfig.cpp b/core/pim/today/plugins/datebook/datebookpluginconfig.cpp index e93c82c..0fc38de 100644 --- a/core/pim/today/plugins/datebook/datebookpluginconfig.cpp +++ b/core/pim/today/plugins/datebook/datebookpluginconfig.cpp @@ -35,6 +35,8 @@ DatebookPluginConfig::DatebookPluginConfig( QWidget* parent, const char* name) CheckBox3 = new QCheckBox ( box3, "CheckBox3" ); QWhatsThis::add( CheckBox3 , tr( "Check this if only appointments later then current time should be shown" ) ); + + QHBox *box4 = new QHBox( this ); QLabel *TextLabel3 = new QLabel( box4, "TextLabel3" ); TextLabel3->setText( tr( "How many \nappointment\n" @@ -44,10 +46,21 @@ DatebookPluginConfig::DatebookPluginConfig( QWidget* parent, const char* name) SpinBox1->setMaxValue( 10 ); SpinBox1->setValue( 5 ); + + QHBox *box5 = new QHBox( this ); + QLabel *TextLabelDays = new QLabel( box5 ); + TextLabelDays->setText( tr( "How many more days" ) ); + SpinBox2 = new QSpinBox( box5, "SpinBox2" ); + QWhatsThis::add( SpinBox2 , tr( "How many more days should be in the range" ) ); + SpinBox2->setMaxValue( 7 ); + SpinBox2->setSuffix( tr( " day(s)" ) ); + SpinBox2->setSpecialValueText ( tr("only today") ); + layout->addWidget( box1 ); layout->addWidget( box2 ); layout->addWidget( box3 ); layout->addWidget( box4 ); + layout->addWidget( box5 ); readConfig(); } @@ -64,6 +77,8 @@ void DatebookPluginConfig::readConfig() { CheckBox2->setChecked( m_show_notes ); m_only_later = cfg.readNumEntry( "onlylater", 1 ); CheckBox3->setChecked( m_only_later ); + m_more_days = cfg.readNumEntry( "moredays", 0 ); + SpinBox2->setValue( m_more_days ); } @@ -77,8 +92,10 @@ void DatebookPluginConfig::writeConfig() { cfg.writeEntry( "showlocation", m_show_location); m_show_notes = CheckBox2->isChecked(); cfg.writeEntry( "shownotes", m_show_notes ); - m_only_later = CheckBox3->isChecked(); + m_only_later = CheckBox3->isChecked(); cfg.writeEntry( "onlylater", m_only_later ); + m_more_days = SpinBox2->value(); + cfg.writeEntry( "moredays", m_more_days ); cfg.write(); } diff --git a/core/pim/today/plugins/datebook/datebookpluginconfig.h b/core/pim/today/plugins/datebook/datebookpluginconfig.h index feba9ee..6c32ae9 100644 --- a/core/pim/today/plugins/datebook/datebookpluginconfig.h +++ b/core/pim/today/plugins/datebook/datebookpluginconfig.h @@ -28,6 +28,8 @@ private: QCheckBox* CheckBox1; QCheckBox* CheckBox3; QSpinBox* SpinBox1; + QSpinBox* SpinBox2; + // how many lines should be showed in the datebook section int m_max_lines_meet; @@ -37,12 +39,9 @@ private: int m_show_notes; // should only later appointments be shown or all for the current day. int m_only_later; - + int m_more_days; }; - - - #endif diff --git a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp index a8ce059..c6aa2a6 100644 --- a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp +++ b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp @@ -47,6 +47,7 @@ void DatebookPluginWidget::readConfig() { m_show_location = cfg.readNumEntry( "showlocation", 1 ); m_show_notes = cfg.readNumEntry( "shownotes", 0 ); m_onlyLater = cfg.readNumEntry( "onlylater", 1 ); + m_moreDays = cfg.readNumEntry( "moredays", 0 ); } @@ -68,7 +69,7 @@ void DatebookPluginWidget::getDates() { db = new DateBookDB; - QValueList<EffectiveEvent> list = db->getEffectiveEvents( date, date ); + QValueList<EffectiveEvent> list = db->getEffectiveEvents( date, date.addDays( m_moreDays ) ); qBubbleSort( list ); diff --git a/core/pim/today/plugins/datebook/datebookpluginwidget.h b/core/pim/today/plugins/datebook/datebookpluginwidget.h index 1720bb2..3ebbc3d 100644 --- a/core/pim/today/plugins/datebook/datebookpluginwidget.h +++ b/core/pim/today/plugins/datebook/datebookpluginwidget.h @@ -46,6 +46,7 @@ private: bool m_show_notes; // should only later appointments be shown or all for the current day. bool m_onlyLater; + int m_moreDays; }; |