6 files changed, 46 insertions, 7 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 @@ -56,11 +56,14 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) { 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 if ( show_notes ) { @@ -94,8 +97,25 @@ QString DateBookEvent::ampmTime( QTime tm ) { return s; } } +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 @@ -40,8 +40,9 @@ private slots: void editMe(); private: DateBookDB *db; 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 @@ -34,8 +34,10 @@ DatebookPluginConfig::DatebookPluginConfig( QWidget* parent, const char* name) TextLabel6->setText( tr( "Show only later\n appointments") ); 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" "should be \nshown?" ) ); @@ -43,12 +45,23 @@ DatebookPluginConfig::DatebookPluginConfig( QWidget* parent, const char* name) QWhatsThis::add( SpinBox1 , tr( "How many appointments should be shown maximal. In chronical order" ) ); 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(); } @@ -63,8 +76,10 @@ void DatebookPluginConfig::readConfig() { m_show_notes = cfg.readNumEntry( "shownotes", 0 ); 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 ); } void DatebookPluginConfig::writeConfig() { @@ -78,8 +93,10 @@ void DatebookPluginConfig::writeConfig() { m_show_notes = CheckBox2->isChecked(); cfg.writeEntry( "shownotes", m_show_notes ); m_only_later = CheckBox3->isChecked(); cfg.writeEntry( "onlylater", m_only_later ); + m_more_days = SpinBox2->value(); + cfg.writeEntry( "moredays", m_more_days ); cfg.write(); } DatebookPluginConfig::~DatebookPluginConfig() { 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 @@ -27,8 +27,10 @@ private: QCheckBox* CheckBox2; QCheckBox* CheckBox1; QCheckBox* CheckBox3; QSpinBox* SpinBox1; + QSpinBox* SpinBox2; + // how many lines should be showed in the datebook section int m_max_lines_meet; // If location is to be showed too, 1 to activate it. @@ -36,13 +38,10 @@ private: // if notes should be shown 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 @@ -46,8 +46,9 @@ void DatebookPluginWidget::readConfig() { m_max_lines_meet = cfg.readNumEntry( "maxlinesmeet", 5 ); 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 ); } /** @@ -67,9 +68,9 @@ 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 ); Config config( "qpe" ); 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 @@ -45,8 +45,9 @@ private: // if notes should be shown bool m_show_notes; // should only later appointments be shown or all for the current day. bool m_onlyLater; + int m_moreDays; }; #endif |