4 files changed, 107 insertions, 52 deletions
diff --git a/core/pim/today/plugins/addressbook/addresspluginconfig.cpp b/core/pim/today/plugins/addressbook/addresspluginconfig.cpp index a234236..9c65e7d 100644 --- a/core/pim/today/plugins/addressbook/addresspluginconfig.cpp +++ b/core/pim/today/plugins/addressbook/addresspluginconfig.cpp @@ -26,4 +26,5 @@ #include <qlabel.h> #include <qwhatsthis.h> +#include <qvgroupbox.h> @@ -34,24 +35,42 @@ AddressBookPluginConfig::AddressBookPluginConfig( QWidget *parent, const char* layout->setMargin( 20 ); - QHBox *box1 = new QHBox( this ); +#if 0 + // Informational stuff + QHBox *box4 = new QHBox( this ); + QLabel* colorLabel = new QLabel( box4, "" ); + colorLabel->setText( tr( "To activate settings: Restart application !" ) ); +#endif + + // Buttongroup to enable/disable shown stuff + QVGroupBox* b_group = new QVGroupBox( this, "name" ); + b_group -> setTitle( tr("Enable/Disable Views") ); + m_showBirthdayButton = new QRadioButton( b_group ); + m_showBirthdayButton -> setText( tr( "Show &Birthdays" ) ); + m_showAnniversaryButton = new QRadioButton( b_group ); + m_showAnniversaryButton -> setText( tr( "Show &Anniveraries" ) ); + + QWhatsThis::add( m_showBirthdayButton , tr( "The next birthdays will just be shown, if enabled!" ) ); + QWhatsThis::add( m_showAnniversaryButton , tr( "The next anniversaries will just be shown, if enabled !" ) ); + // Max lines settings + QHBox *box1 = new QHBox( this ); QLabel* TextLabel6 = new QLabel( box1, "TextLabel6" ); TextLabel6->setText( tr( "Max Lines: " ) ); - SpinBox2 = new QSpinBox( box1, "SpinBox2" ); SpinBox2->setMaxValue( 40 ); QWhatsThis::add( SpinBox2 , tr( "Set the maximum number of lines that should be shown for each anniversaries/birthdays" ) ); +#if 0 + // Clip settings (currently not used) QHBox *box2 = new QHBox( this ); - QLabel* clipLabel = new QLabel( box2, "" ); clipLabel->setText( tr( "Clip line after X chars: " ) ); - SpinBoxClip = new QSpinBox( box2, "SpinClip" ); SpinBoxClip->setMaxValue( 200 ); QWhatsThis::add( SpinBoxClip , tr( "After how many chars should be the info about the task be cut off" ) ); +#endif + // Look ahead settings QHBox *box3 = new QHBox( this ); - QLabel* daysLabel = new QLabel( box3, "" ); daysLabel->setText( tr( "Days look ahead: " ) ); @@ -60,18 +79,13 @@ AddressBookPluginConfig::AddressBookPluginConfig( QWidget *parent, const char* QWhatsThis::add( SpinDaysClip , tr( "How many days we should search forward" ) ); - QHBox *box4 = new QHBox( this ); - - QLabel* colorLabel = new QLabel( box4, "" ); - colorLabel->setText( tr( "To activate settings: Restart application !" ) ); - + // Headline color settings QHBox *box5 = new QHBox( this ); - QLabel* colorLabel2 = new QLabel( box5, "" ); colorLabel2->setText( tr( "Set Headline Color: " ) ); headlineColor = new OColorButton( box5, black , "headlineColor" ); QWhatsThis::add( headlineColor , tr( "Colors for the headlines !" ) ); - QHBox *box6 = new QHBox( this ); + // Entry color settings QLabel* colorLabel3= new QLabel( box6, "" ); colorLabel3->setText( tr( "Set Entry Color: " ) ); @@ -79,6 +93,6 @@ AddressBookPluginConfig::AddressBookPluginConfig( QWidget *parent, const char* QWhatsThis::add( entryColor , tr( "This color will be used for shown birthdays/anniversaries !" ) ); + // Urgent color settings QHBox *box7 = new QHBox( this ); - QLabel* colorLabel5 = new QLabel( box7, "" ); colorLabel5->setText( tr( "Set Urgent\nColor if below " ) ); @@ -92,7 +106,8 @@ AddressBookPluginConfig::AddressBookPluginConfig( QWidget *parent, const char* - layout->addWidget( box4 ); + layout->addWidget( b_group ); + // layout->addWidget( box4 ); layout->addWidget( box1 ); - layout->addWidget( box2 ); + // layout->addWidget( box2 ); layout->addWidget( box3 ); layout->addWidget( box5 ); @@ -109,6 +124,6 @@ void AddressBookPluginConfig::readConfig() { m_max_lines_task = cfg.readNumEntry( "maxlinestask", 5 ); SpinBox2->setValue( m_max_lines_task ); - m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 ); - SpinBoxClip->setValue( m_maxCharClip ); +// m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 ); +// SpinBoxClip->setValue( m_maxCharClip ); m_daysLookAhead = cfg.readNumEntry( "dayslookahead", 14 ); SpinDaysClip->setValue( m_daysLookAhead ); @@ -122,4 +137,8 @@ void AddressBookPluginConfig::readConfig() { m_urgentColor = cfg.readEntry( "urgentcolor", Qt::red.name() ); urgentColor->setColor( QColor( m_urgentColor ) ); + + m_showBirthdayButton->setChecked( cfg.readBoolEntry( "showBirthdays", true ) ); + m_showAnniversaryButton->setChecked( cfg.readBoolEntry( "showAnniversaries", true ) ); + } @@ -130,6 +149,6 @@ void AddressBookPluginConfig::writeConfig() { m_max_lines_task = SpinBox2->value(); cfg.writeEntry( "maxlinestask", m_max_lines_task ); - m_maxCharClip = SpinBoxClip->value(); - cfg.writeEntry( "maxcharclip", m_maxCharClip ); +// m_maxCharClip = SpinBoxClip->value(); +// cfg.writeEntry( "maxcharclip", m_maxCharClip ); m_daysLookAhead = SpinDaysClip->value(); cfg.writeEntry( "dayslookahead", m_daysLookAhead ); @@ -145,4 +164,8 @@ void AddressBookPluginConfig::writeConfig() { m_urgentColor = urgentColor->color().name(); cfg.writeEntry( "urgentcolor", m_urgentColor ); + + cfg.writeEntry( "showBirthdays", m_showBirthdayButton->isChecked() ); + cfg.writeEntry( "showAnniversaries", m_showAnniversaryButton->isChecked() ); + cfg.write(); } diff --git a/core/pim/today/plugins/addressbook/addresspluginconfig.h b/core/pim/today/plugins/addressbook/addresspluginconfig.h index ea03368..5e07aa3 100644 --- a/core/pim/today/plugins/addressbook/addresspluginconfig.h +++ b/core/pim/today/plugins/addressbook/addresspluginconfig.h @@ -22,4 +22,5 @@ #include <qwidget.h> #include <qspinbox.h> +#include <qradiobutton.h> #include <opie/todayconfigwidget.h> @@ -49,4 +50,6 @@ private: OColorButton* headlineColor; OColorButton* urgentColor; + QRadioButton* m_showBirthdayButton; + QRadioButton* m_showAnniversaryButton; // how many lines should be showed in the AddressBook section diff --git a/core/pim/today/plugins/addressbook/addresspluginwidget.cpp b/core/pim/today/plugins/addressbook/addresspluginwidget.cpp index 7d87fca..498de28 100644 --- a/core/pim/today/plugins/addressbook/addresspluginwidget.cpp +++ b/core/pim/today/plugins/addressbook/addresspluginwidget.cpp @@ -76,4 +76,6 @@ void AddressBookPluginWidget::readConfig() { m_headlineColor = cfg.readEntry( "headlinecolor", Qt::black.name() ); m_urgentColor = cfg.readEntry( "urgentcolor", Qt::red.name() ); + m_showBirthdays = cfg.readBoolEntry( "showBirthdays", true ); + m_showAnniversaries = cfg.readBoolEntry( "showAnniversaries", true ); } @@ -97,40 +99,59 @@ void AddressBookPluginWidget::getAddress() { // 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(), + // The following if-statement was replaced due to a bug in some + // implementations of libopie. The replacement should work everywhere..(eilers) + // if ( !m_contactdb->hasQuerySettings( OContactAccess::DateDiff ) ){ + if ( !( m_contactdb->querySettings() & OContactAccess::DateDiff ) ){ + // Libopie seems to be old.. + output = QObject::tr( "Database does not provide this search query ! Please upgrade libOpie !<br>" ); + addressLabel->setText( output ); + return; + } + + // Define the query for birthdays and start search.. + QDate lookAheadDate = QDate::currentDate().addDays( m_daysLookAhead ); + int ammount = 0; + if ( m_showBirthdays ){ + 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 ); + + m_list = m_contactdb->queryByExample( querybirthdays, + OContactAccess::DateDiff ); if ( m_list.count() > 0 ){ output = "<font color=" + m_headlineColor + ">" - + QObject::tr( "Next birthdays in <b> %1 </b> days:" ).arg( m_daysLookAhead ) + + QObject::tr( "Next birthdays in <b> %1 </b> days:" ) + .arg( m_daysLookAhead ) + "</font> <br>"; for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) { if ( ammount++ < m_maxLinesTask ){ - // Now we want to calculate how many days until birthday. We have to set + // 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() ); + 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() ); + destdate.setYMD( QDate::currentDate().year()+1, + destdate.month(), destdate.day() ); if ( QDate::currentDate().daysTo(destdate) < m_urgentDays ) - output += "<font color=" + m_urgentColor + "><b>-" + (*m_it).fullName() + output += "<font color=" + m_urgentColor + "><b>-" + + (*m_it).fullName() + " (" - + QString::number(QDate::currentDate().daysTo(destdate)) + + QString::number(QDate::currentDate() + .daysTo(destdate)) + " Days) </b></font><br>"; else - output += "<font color=" + m_entryColor + "><b>-" + (*m_it).fullName() + output += "<font color=" + m_entryColor + "><b>-" + + (*m_it).fullName() + " (" - + QString::number(QDate::currentDate().daysTo(destdate)) + + QString::number(QDate::currentDate() + .daysTo(destdate)) + " Days) </b></font><br>"; } @@ -138,8 +159,11 @@ void AddressBookPluginWidget::getAddress() { } else { output = "<font color=" + m_headlineColor + ">" - + QObject::tr( "No birthdays in <b> %1 </b> days!" ).arg( m_daysLookAhead ) + + QObject::tr( "No birthdays in <b> %1 </b> days!" ) + .arg( m_daysLookAhead ) + "</font> <br>"; } + } + if ( m_showAnniversaries ){ // Define the query for anniversaries and start search.. OContact queryanniversaries; @@ -151,24 +175,31 @@ void AddressBookPluginWidget::getAddress() { if ( m_list.count() > 0 ){ output += "<font color=" + m_headlineColor + ">" - + QObject::tr( "Next anniversaries in <b> %1 </b> days:" ).arg( m_daysLookAhead ) + + QObject::tr( "Next anniversaries in <b> %1 </b> days:" ) + .arg( m_daysLookAhead ) + "</font> <br>"; for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) { 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... + // 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() ); + 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() ); + destdate.setYMD( QDate::currentDate().year()+1, + destdate.month(), destdate.day() ); if ( QDate::currentDate().daysTo(destdate) < m_urgentDays ) - output += "<font color=" + m_urgentColor + "><b>-" + (*m_it).fullName() + output += "<font color=" + m_urgentColor + "><b>-" + + (*m_it).fullName() + " (" - + QString::number(QDate::currentDate().daysTo( destdate ) ) + + QString::number(QDate::currentDate() + .daysTo( destdate ) ) + " Days) </b></font><br>"; else - output += "<font color=" + m_entryColor + "><b>-" + (*m_it).fullName() + output += "<font color=" + m_entryColor + "><b>-" + + (*m_it).fullName() + " (" - + QString::number(QDate::currentDate().daysTo( destdate ) ) + + QString::number(QDate::currentDate() + .daysTo( destdate ) ) + " Days) </b></font><br>"; } @@ -176,14 +207,10 @@ void AddressBookPluginWidget::getAddress() { } else { output += "<font color=" + m_headlineColor + ">" - + QObject::tr( "No anniversaries in <b> %1 </b> days!" ).arg( m_daysLookAhead ) + + QObject::tr( "No anniversaries in <b> %1 </b> days!" ) + .arg( m_daysLookAhead ) + "</font> <br>"; } - - - }else{ - // Libopie seems to be old.. - output = QObject::tr( "Database does not provide this search query ! Please upgrade libOpie !<br>" ); } - + addressLabel->setText( output ); } diff --git a/core/pim/today/plugins/addressbook/addresspluginwidget.h b/core/pim/today/plugins/addressbook/addresspluginwidget.h index 63f2a2b..cf2ecce 100644 --- a/core/pim/today/plugins/addressbook/addresspluginwidget.h +++ b/core/pim/today/plugins/addressbook/addresspluginwidget.h @@ -59,4 +59,6 @@ private: QString m_headlineColor; QString m_urgentColor; + bool m_showBirthdays; + bool m_showAnniversaries; }; |