summaryrefslogtreecommitdiff
path: root/core
authoreilers <eilers>2003-01-03 13:39:22 (UTC)
committer eilers <eilers>2003-01-03 13:39:22 (UTC)
commit5f5e9f321fe606b1175314c9a06da6286f0f92c0 (patch) (side-by-side diff)
tree2707025e5f8b6a7969ca5dfe5085be5cb13670b2 /core
parent49c60b1422902963d33ae79fdab3554b2991ddf5 (diff)
downloadopie-5f5e9f321fe606b1175314c9a06da6286f0f92c0.zip
opie-5f5e9f321fe606b1175314c9a06da6286f0f92c0.tar.gz
opie-5f5e9f321fe606b1175314c9a06da6286f0f92c0.tar.bz2
Now it shows how many days are left until birthday/anniversary !
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/plugins/addressbook/addresspluginwidget.cpp30
1 files changed, 26 insertions, 4 deletions
diff --git a/core/pim/today/plugins/addressbook/addresspluginwidget.cpp b/core/pim/today/plugins/addressbook/addresspluginwidget.cpp
index 015ac6a..0d4cec8 100644
--- a/core/pim/today/plugins/addressbook/addresspluginwidget.cpp
+++ b/core/pim/today/plugins/addressbook/addresspluginwidget.cpp
@@ -86,64 +86,86 @@ void AddressBookPluginWidget::getAddress() {
if ( ! addressLabel ) {
addressLabel = new OClickableLabel( this );
connect( addressLabel, SIGNAL( clicked() ), this, SLOT( startAddressBook() ) );
layoutTodo->addWidget( addressLabel );
}
QString output;
// Check whether the database provide the search option..
if ( ! m_contactdb->hasQuerySettings( OContactAccess::DateDiff ) ){
// Define the query for birthdays and start search..
QDate lookAheadDate = QDate::currentDate().addDays( m_daysLookAhead );
qWarning("Searching from now (%s) until %s ! ", QDate::currentDate().toString().latin1(),
lookAheadDate.toString().latin1() );
OContact querybirthdays;
querybirthdays.setBirthday( lookAheadDate );
int ammount = 0;
m_list = m_contactdb->queryByExample( querybirthdays, OContactAccess::DateDiff );
if ( m_list.count() > 0 ){
output = QObject::tr( "Next birthdays in <b> %1 </b> days: <br>" ).arg( m_daysLookAhead );
for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) {
- if ( ammount++ < m_maxLinesTask )
- output += "<font color=#e00000><b>-" + (*m_it).fullName() + "</b></font><br>";
+ if ( ammount++ < m_maxLinesTask ){
+ // Now we want to calculate how many days until birthday. We have to set
+ // the correct year to calculate the day diff...
+ QDate destdate = (*m_it).birthday();
+ destdate.setYMD( QDate::currentDate().year(), destdate.month(), destdate.day() );
+ if ( QDate::currentDate().daysTo(destdate) < 0 )
+ destdate.setYMD( QDate::currentDate().year()+1, destdate.month(), destdate.day() );
+
+ output += "<font color=#e00000><b>-" + (*m_it).fullName()
+ + " ("
+ + QString::number(QDate::currentDate().daysTo(destdate))
+ + " Days) </b></font><br>";
+ }
}
} else {
output = QObject::tr( "No birthdays in <b> %1 </b> days! <br>" ).arg( m_daysLookAhead );
}
// Define the query for anniversaries and start search..
OContact queryanniversaries;
queryanniversaries.setAnniversary( lookAheadDate );
m_list = m_contactdb->queryByExample( queryanniversaries, OContactAccess::DateDiff );
ammount = 0;
if ( m_list.count() > 0 ){
output += QObject::tr( "Next anniversaries in <b> %1 </b> days: <br>" ).arg( m_daysLookAhead );
for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) {
- if ( ammount++ < m_maxLinesTask )
- output += "<font color=#e00000><b>-" + (*m_it).fullName() + "</b></font><br>";
+ if ( ammount++ < m_maxLinesTask ){
+ // Now we want to calculate how many days until anniversary. We have to set
+ // the correct year to calculate the day diff...
+ QDate destdate = (*m_it).anniversary();
+ destdate.setYMD( QDate::currentDate().year(), destdate.month(), destdate.day() );
+ if ( QDate::currentDate().daysTo(destdate) < 0 )
+ destdate.setYMD( QDate::currentDate().year()+1, destdate.month(), destdate.day() );
+
+ output += "<font color=#e00000><b>-" + (*m_it).fullName()
+ + " ("
+ + QString::number(QDate::currentDate().daysTo( destdate ) )
+ + " Days) </b></font><br>";
+ }
}
} else {
output += QObject::tr( "No anniversaries in <b> %1 </b> days! <br>" ).arg( m_daysLookAhead );
}
}else{
// Libopie seems to be old..
output = QObject::tr( "Database does not provide this search query ! Please upgrade libOpie !<br>" );
}
addressLabel->setText( output );
}
/**
* start the todolist
*/
void AddressBookPluginWidget::startAddressBook() {
QCopEnvelope e( "QPE/System", "execute(QString)" );
e << QString( "addressbook" );
}