summaryrefslogtreecommitdiff
authoreilers <eilers>2003-01-05 14:50:40 (UTC)
committer eilers <eilers>2003-01-05 14:50:40 (UTC)
commitf887403341dd82d46d26695acc308cc8801cd6aa (patch) (side-by-side diff)
treebe64ebf1809706120972faac630577add4ad6d5e
parent3eecce3109b543a5abd6a36a420fa3f53cc23023 (diff)
downloadopie-f887403341dd82d46d26695acc308cc8801cd6aa.zip
opie-f887403341dd82d46d26695acc308cc8801cd6aa.tar.gz
opie-f887403341dd82d46d26695acc308cc8801cd6aa.tar.bz2
Color for entries is now customizeable
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/plugins/addressbook/addresspluginconfig.cpp12
-rw-r--r--core/pim/today/plugins/addressbook/addresspluginconfig.h5
-rw-r--r--core/pim/today/plugins/addressbook/addresspluginwidget.cpp3
-rw-r--r--core/pim/today/plugins/addressbook/addresspluginwidget.h1
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