author | eilers <eilers> | 2003-01-05 14:50:40 (UTC) |
---|---|---|
committer | eilers <eilers> | 2003-01-05 14:50:40 (UTC) |
commit | f887403341dd82d46d26695acc308cc8801cd6aa (patch) (side-by-side diff) | |
tree | be64ebf1809706120972faac630577add4ad6d5e | |
parent | 3eecce3109b543a5abd6a36a420fa3f53cc23023 (diff) | |
download | opie-f887403341dd82d46d26695acc308cc8801cd6aa.zip opie-f887403341dd82d46d26695acc308cc8801cd6aa.tar.gz opie-f887403341dd82d46d26695acc308cc8801cd6aa.tar.bz2 |
Color for entries is now customizeable
4 files changed, 19 insertions, 2 deletions
diff --git a/core/pim/today/plugins/addressbook/addresspluginconfig.cpp b/core/pim/today/plugins/addressbook/addresspluginconfig.cpp index 686d72c..f00cffe 100644 --- a/core/pim/today/plugins/addressbook/addresspluginconfig.cpp +++ b/core/pim/today/plugins/addressbook/addresspluginconfig.cpp @@ -16,82 +16,94 @@ * * ***************************************************************************/ #include "addresspluginconfig.h" #include <qpe/config.h> #include <qlayout.h> #include <qhbox.h> #include <qtoolbutton.h> #include <qlabel.h> #include <qwhatsthis.h> AddressBookPluginConfig::AddressBookPluginConfig( QWidget *parent, const char* name) : TodayConfigWidget(parent, name ) { QVBoxLayout * layout = new QVBoxLayout( this ); layout->setMargin( 20 ); 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" ) ); 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" ) ); QHBox *box3 = new QHBox( this ); QLabel* daysLabel = new QLabel( box3, "" ); daysLabel->setText( tr( "Days look ahead" ) ); SpinDaysClip = new QSpinBox( box3, "SpinDays" ); SpinDaysClip->setMaxValue( 200 ); QWhatsThis::add( SpinDaysClip , tr( "How many days we should search forward" ) ); + QHBox *box4 = new QHBox( this ); + + QLabel* colorLabel = new QLabel( box4, "" ); + colorLabel->setText( tr( "Set Entry Color \n(restart Today \nafter change!)" ) ); + + entryColor = new OColorButton( box4, red, "entryColor" ); + QWhatsThis::add( entryColor , tr( "What color should be used for shown birthdays/anniversaries?" ) ); + layout->addWidget( box1 ); layout->addWidget( box2 ); layout->addWidget( box3 ); + layout->addWidget( box4 ); readConfig(); } void AddressBookPluginConfig::readConfig() { Config cfg( "todayaddressplugin" ); cfg.setGroup( "config" ); 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_daysLookAhead = cfg.readNumEntry( "dayslookahead", 14 ); SpinDaysClip->setValue( m_daysLookAhead ); + m_entryColor = cfg.readEntry( "entrycolor", Qt::red.name() ); } void AddressBookPluginConfig::writeConfig() { Config cfg( "todayaddressplugin" ); cfg.setGroup( "config" ); m_max_lines_task = SpinBox2->value(); cfg.writeEntry( "maxlinestask", m_max_lines_task ); m_maxCharClip = SpinBoxClip->value(); cfg.writeEntry( "maxcharclip", m_maxCharClip ); m_daysLookAhead = SpinDaysClip->value(); cfg.writeEntry( "dayslookahead", m_daysLookAhead ); + m_entryColor = entryColor->color().name(); + cfg.writeEntry( "entrycolor", m_entryColor ); cfg.write(); } AddressBookPluginConfig::~AddressBookPluginConfig() { } diff --git a/core/pim/today/plugins/addressbook/addresspluginconfig.h b/core/pim/today/plugins/addressbook/addresspluginconfig.h index 6f128d4..54c8b4f 100644 --- a/core/pim/today/plugins/addressbook/addresspluginconfig.h +++ b/core/pim/today/plugins/addressbook/addresspluginconfig.h @@ -1,60 +1,63 @@ /* * addresspluginconfig.h * * copyright : (c) 2003 by Stefan Eilers * email : eilers.stefan@epost.de * * This implementation was derived from the todolist plugin implementation * */ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef ADDRESSBOOK_PLUGIN_CONFIG_H #define ADDRESSBOOK_PLUGIN_CONFIG_H #include <qwidget.h> #include <qspinbox.h> #include <opie/todayconfigwidget.h> +#include <opie/ocolorbutton.h> class AddressBookPluginConfig : public TodayConfigWidget { public: AddressBookPluginConfig( QWidget *parent, const char *name ); ~AddressBookPluginConfig(); private: /** * if changed then save */ bool changed(); void readConfig(); void writeConfig(); QSpinBox* SpinBox2; QSpinBox* SpinBoxClip; QSpinBox* SpinDaysClip; + OColorButton* entryColor; // how many lines should be showed in the AddressBook section int m_max_lines_task; // clip the lines after X chars int m_maxCharClip; // How many days look ahead int m_daysLookAhead; - + // Entry Color + QString m_entryColor; }; #endif diff --git a/core/pim/today/plugins/addressbook/addresspluginwidget.cpp b/core/pim/today/plugins/addressbook/addresspluginwidget.cpp index 0d4cec8..c81beee 100644 --- a/core/pim/today/plugins/addressbook/addresspluginwidget.cpp +++ b/core/pim/today/plugins/addressbook/addresspluginwidget.cpp @@ -26,141 +26,142 @@ #include <qdatetime.h> #include <qpe/config.h> #include <qpe/timestring.h> #include <qpe/qcopenvelope_qws.h> #include <opie/ocontact.h> AddressBookPluginWidget::AddressBookPluginWidget( QWidget *parent, const char* name ) : QWidget( parent, name ) { addressLabel = 0l; m_contactdb = 0l; layoutTodo = 0l; // Hä ? Nonsense ! (se) if ( m_contactdb ) { delete m_contactdb; } m_contactdb = new OContactAccess("addressplugin"); connect( m_contactdb, SIGNAL( signalChanged( const OContactAccess * ) ), this, SLOT( refresh( const OContactAccess * ) ) ); readConfig(); getAddress(); } AddressBookPluginWidget::~AddressBookPluginWidget() { delete m_contactdb; } void AddressBookPluginWidget::refresh( const OContactAccess* ) { qWarning(" AddressBookPluginWidget::Database was changed externally ! "); m_contactdb->reload(); getAddress(); } void AddressBookPluginWidget::readConfig() { Config cfg( "todayaddressplugin" ); cfg.setGroup( "config" ); m_maxLinesTask = cfg.readNumEntry( "maxlinestask", 5 ); m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 ); m_daysLookAhead = cfg.readNumEntry( "dayslookahead", 14 ); + m_entryColor = cfg.readEntry("entrycolor", Qt::red.name() ); } /** * Get the addresss */ void AddressBookPluginWidget::getAddress() { if ( ! layoutTodo ){ layoutTodo = new QVBoxLayout( this ); } 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 ){ // 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() + output += "<font color=" + m_entryColor + "><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 ){ // 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 diff --git a/core/pim/today/plugins/addressbook/addresspluginwidget.h b/core/pim/today/plugins/addressbook/addresspluginwidget.h index 75e223a..fa464de 100644 --- a/core/pim/today/plugins/addressbook/addresspluginwidget.h +++ b/core/pim/today/plugins/addressbook/addresspluginwidget.h @@ -7,51 +7,52 @@ * This implementation was derived from the todolist plugin implementation * */ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef ADDRESSBOOK_PLUGIN_WIDGET_H #define ADDRESSBOOK_PLUGIN_WIDGET_H #include <qstring.h> #include <qwidget.h> #include <qlayout.h> #include <opie/ocontactaccess.h> #include <opie/oclickablelabel.h> class AddressBookPluginWidget : public QWidget { Q_OBJECT public: AddressBookPluginWidget( QWidget *parent, const char *name ); ~AddressBookPluginWidget(); protected slots: void startAddressBook(); void refresh( const OContactAccess* db ); private: OClickableLabel* addressLabel; QVBoxLayout* layoutTodo; OContactAccess * m_contactdb; OContactAccess::List m_list; OContactAccess::List::Iterator m_it; void readConfig(); void getAddress(); int m_maxLinesTask; int m_maxCharClip; int m_daysLookAhead; + QString m_entryColor; }; #endif |