summaryrefslogtreecommitdiff
authoreilers <eilers>2003-01-05 14:50:40 (UTC)
committer eilers <eilers>2003-01-05 14:50:40 (UTC)
commitf887403341dd82d46d26695acc308cc8801cd6aa (patch) (unidiff)
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
@@ -32,66 +32,78 @@ AddressBookPluginConfig::AddressBookPluginConfig( QWidget *parent, const char*
32 : TodayConfigWidget(parent, name ) { 32 : TodayConfigWidget(parent, name ) {
33 33
34 QVBoxLayout * layout = new QVBoxLayout( this ); 34 QVBoxLayout * layout = new QVBoxLayout( this );
35 layout->setMargin( 20 ); 35 layout->setMargin( 20 );
36 36
37 QHBox *box1 = new QHBox( this ); 37 QHBox *box1 = new QHBox( this );
38 38
39 QLabel* TextLabel6 = new QLabel( box1, "TextLabel6" ); 39 QLabel* TextLabel6 = new QLabel( box1, "TextLabel6" );
40 TextLabel6->setText( tr( "Max Lines " ) ); 40 TextLabel6->setText( tr( "Max Lines " ) );
41 41
42 SpinBox2 = new QSpinBox( box1, "SpinBox2" ); 42 SpinBox2 = new QSpinBox( box1, "SpinBox2" );
43 SpinBox2->setMaxValue( 40 ); 43 SpinBox2->setMaxValue( 40 );
44 QWhatsThis::add( SpinBox2 , tr( "Set the maximum number of lines that should be shown for each" ) ); 44 QWhatsThis::add( SpinBox2 , tr( "Set the maximum number of lines that should be shown for each" ) );
45 45
46 QHBox *box2 = new QHBox( this ); 46 QHBox *box2 = new QHBox( this );
47 47
48 QLabel* clipLabel = new QLabel( box2, "" ); 48 QLabel* clipLabel = new QLabel( box2, "" );
49 clipLabel->setText( tr( "Clip line after X chars" ) ); 49 clipLabel->setText( tr( "Clip line after X chars" ) );
50 50
51 SpinBoxClip = new QSpinBox( box2, "SpinClip" ); 51 SpinBoxClip = new QSpinBox( box2, "SpinClip" );
52 SpinBoxClip->setMaxValue( 200 ); 52 SpinBoxClip->setMaxValue( 200 );
53 QWhatsThis::add( SpinBoxClip , tr( "After how many chars should be the info about the task be cut off" ) ); 53 QWhatsThis::add( SpinBoxClip , tr( "After how many chars should be the info about the task be cut off" ) );
54 54
55 QHBox *box3 = new QHBox( this ); 55 QHBox *box3 = new QHBox( this );
56 56
57 QLabel* daysLabel = new QLabel( box3, "" ); 57 QLabel* daysLabel = new QLabel( box3, "" );
58 daysLabel->setText( tr( "Days look ahead" ) ); 58 daysLabel->setText( tr( "Days look ahead" ) );
59 59
60 SpinDaysClip = new QSpinBox( box3, "SpinDays" ); 60 SpinDaysClip = new QSpinBox( box3, "SpinDays" );
61 SpinDaysClip->setMaxValue( 200 ); 61 SpinDaysClip->setMaxValue( 200 );
62 QWhatsThis::add( SpinDaysClip , tr( "How many days we should search forward" ) ); 62 QWhatsThis::add( SpinDaysClip , tr( "How many days we should search forward" ) );
63 63
64 QHBox *box4 = new QHBox( this );
65
66 QLabel* colorLabel = new QLabel( box4, "" );
67 colorLabel->setText( tr( "Set Entry Color \n(restart Today \nafter change!)" ) );
68
69 entryColor = new OColorButton( box4, red, "entryColor" );
70 QWhatsThis::add( entryColor , tr( "What color should be used for shown birthdays/anniversaries?" ) );
71
64 layout->addWidget( box1 ); 72 layout->addWidget( box1 );
65 layout->addWidget( box2 ); 73 layout->addWidget( box2 );
66 layout->addWidget( box3 ); 74 layout->addWidget( box3 );
75 layout->addWidget( box4 );
67 76
68 readConfig(); 77 readConfig();
69} 78}
70 79
71void AddressBookPluginConfig::readConfig() { 80void AddressBookPluginConfig::readConfig() {
72 Config cfg( "todayaddressplugin" ); 81 Config cfg( "todayaddressplugin" );
73 cfg.setGroup( "config" ); 82 cfg.setGroup( "config" );
74 m_max_lines_task = cfg.readNumEntry( "maxlinestask", 5 ); 83 m_max_lines_task = cfg.readNumEntry( "maxlinestask", 5 );
75 SpinBox2->setValue( m_max_lines_task ); 84 SpinBox2->setValue( m_max_lines_task );
76 m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 ); 85 m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 );
77 SpinBoxClip->setValue( m_maxCharClip ); 86 SpinBoxClip->setValue( m_maxCharClip );
78 m_daysLookAhead = cfg.readNumEntry( "dayslookahead", 14 ); 87 m_daysLookAhead = cfg.readNumEntry( "dayslookahead", 14 );
79 SpinDaysClip->setValue( m_daysLookAhead ); 88 SpinDaysClip->setValue( m_daysLookAhead );
89 m_entryColor = cfg.readEntry( "entrycolor", Qt::red.name() );
80} 90}
81 91
82 92
83void AddressBookPluginConfig::writeConfig() { 93void AddressBookPluginConfig::writeConfig() {
84 Config cfg( "todayaddressplugin" ); 94 Config cfg( "todayaddressplugin" );
85 cfg.setGroup( "config" ); 95 cfg.setGroup( "config" );
86 m_max_lines_task = SpinBox2->value(); 96 m_max_lines_task = SpinBox2->value();
87 cfg.writeEntry( "maxlinestask", m_max_lines_task ); 97 cfg.writeEntry( "maxlinestask", m_max_lines_task );
88 m_maxCharClip = SpinBoxClip->value(); 98 m_maxCharClip = SpinBoxClip->value();
89 cfg.writeEntry( "maxcharclip", m_maxCharClip ); 99 cfg.writeEntry( "maxcharclip", m_maxCharClip );
90 m_daysLookAhead = SpinDaysClip->value(); 100 m_daysLookAhead = SpinDaysClip->value();
91 cfg.writeEntry( "dayslookahead", m_daysLookAhead ); 101 cfg.writeEntry( "dayslookahead", m_daysLookAhead );
102 m_entryColor = entryColor->color().name();
103 cfg.writeEntry( "entrycolor", m_entryColor );
92 cfg.write(); 104 cfg.write();
93} 105}
94 106
95 107
96AddressBookPluginConfig::~AddressBookPluginConfig() { 108AddressBookPluginConfig::~AddressBookPluginConfig() {
97} 109}
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 @@
1/* 1/*
2 * addresspluginconfig.h 2 * addresspluginconfig.h
3 * 3 *
4 * copyright : (c) 2003 by Stefan Eilers 4 * copyright : (c) 2003 by Stefan Eilers
5 * email : eilers.stefan@epost.de 5 * email : eilers.stefan@epost.de
6 * 6 *
7 * This implementation was derived from the todolist plugin implementation 7 * This implementation was derived from the todolist plugin implementation
8 * 8 *
9 */ 9 */
10/*************************************************************************** 10/***************************************************************************
11 * * 11 * *
12 * This program is free software; you can redistribute it and/or modify * 12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by * 13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or * 14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. * 15 * (at your option) any later version. *
16 * * 16 * *
17 ***************************************************************************/ 17 ***************************************************************************/
18 18
19#ifndef ADDRESSBOOK_PLUGIN_CONFIG_H 19#ifndef ADDRESSBOOK_PLUGIN_CONFIG_H
20#define ADDRESSBOOK_PLUGIN_CONFIG_H 20#define ADDRESSBOOK_PLUGIN_CONFIG_H
21 21
22#include <qwidget.h> 22#include <qwidget.h>
23#include <qspinbox.h> 23#include <qspinbox.h>
24 24
25#include <opie/todayconfigwidget.h> 25#include <opie/todayconfigwidget.h>
26#include <opie/ocolorbutton.h>
26 27
27class AddressBookPluginConfig : public TodayConfigWidget { 28class AddressBookPluginConfig : public TodayConfigWidget {
28 29
29 30
30public: 31public:
31 32
32 AddressBookPluginConfig( QWidget *parent, const char *name ); 33 AddressBookPluginConfig( QWidget *parent, const char *name );
33 ~AddressBookPluginConfig(); 34 ~AddressBookPluginConfig();
34 35
35private: 36private:
36 /** 37 /**
37 * if changed then save 38 * if changed then save
38 */ 39 */
39 bool changed(); 40 bool changed();
40 void readConfig(); 41 void readConfig();
41 void writeConfig(); 42 void writeConfig();
42 43
43 QSpinBox* SpinBox2; 44 QSpinBox* SpinBox2;
44 QSpinBox* SpinBoxClip; 45 QSpinBox* SpinBoxClip;
45 QSpinBox* SpinDaysClip; 46 QSpinBox* SpinDaysClip;
47 OColorButton* entryColor;
46 48
47 // how many lines should be showed in the AddressBook section 49 // how many lines should be showed in the AddressBook section
48 int m_max_lines_task; 50 int m_max_lines_task;
49 // clip the lines after X chars 51 // clip the lines after X chars
50 int m_maxCharClip; 52 int m_maxCharClip;
51 // How many days look ahead 53 // How many days look ahead
52 int m_daysLookAhead; 54 int m_daysLookAhead;
53 55 // Entry Color
56 QString m_entryColor;
54}; 57};
55 58
56 59
57 60
58 61
59 62
60#endif 63#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
@@ -42,109 +42,110 @@ AddressBookPluginWidget::AddressBookPluginWidget( QWidget *parent, const char*
42 if ( m_contactdb ) { 42 if ( m_contactdb ) {
43 delete m_contactdb; 43 delete m_contactdb;
44 } 44 }
45 45
46 m_contactdb = new OContactAccess("addressplugin"); 46 m_contactdb = new OContactAccess("addressplugin");
47 47
48 connect( m_contactdb, SIGNAL( signalChanged( const OContactAccess * ) ), 48 connect( m_contactdb, SIGNAL( signalChanged( const OContactAccess * ) ),
49 this, SLOT( refresh( const OContactAccess * ) ) ); 49 this, SLOT( refresh( const OContactAccess * ) ) );
50 50
51 51
52 readConfig(); 52 readConfig();
53 getAddress(); 53 getAddress();
54} 54}
55 55
56AddressBookPluginWidget::~AddressBookPluginWidget() { 56AddressBookPluginWidget::~AddressBookPluginWidget() {
57 delete m_contactdb; 57 delete m_contactdb;
58} 58}
59 59
60void AddressBookPluginWidget::refresh( const OContactAccess* ) 60void AddressBookPluginWidget::refresh( const OContactAccess* )
61{ 61{
62 qWarning(" AddressBookPluginWidget::Database was changed externally ! "); 62 qWarning(" AddressBookPluginWidget::Database was changed externally ! ");
63 m_contactdb->reload(); 63 m_contactdb->reload();
64 getAddress(); 64 getAddress();
65} 65}
66 66
67 67
68void AddressBookPluginWidget::readConfig() { 68void AddressBookPluginWidget::readConfig() {
69 Config cfg( "todayaddressplugin" ); 69 Config cfg( "todayaddressplugin" );
70 cfg.setGroup( "config" ); 70 cfg.setGroup( "config" );
71 m_maxLinesTask = cfg.readNumEntry( "maxlinestask", 5 ); 71 m_maxLinesTask = cfg.readNumEntry( "maxlinestask", 5 );
72 m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 ); 72 m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 );
73 m_daysLookAhead = cfg.readNumEntry( "dayslookahead", 14 ); 73 m_daysLookAhead = cfg.readNumEntry( "dayslookahead", 14 );
74 m_entryColor = cfg.readEntry("entrycolor", Qt::red.name() );
74} 75}
75 76
76 77
77/** 78/**
78 * Get the addresss 79 * Get the addresss
79 */ 80 */
80void AddressBookPluginWidget::getAddress() { 81void AddressBookPluginWidget::getAddress() {
81 82
82 if ( ! layoutTodo ){ 83 if ( ! layoutTodo ){
83 layoutTodo = new QVBoxLayout( this ); 84 layoutTodo = new QVBoxLayout( this );
84 } 85 }
85 86
86 if ( ! addressLabel ) { 87 if ( ! addressLabel ) {
87 addressLabel = new OClickableLabel( this ); 88 addressLabel = new OClickableLabel( this );
88 connect( addressLabel, SIGNAL( clicked() ), this, SLOT( startAddressBook() ) ); 89 connect( addressLabel, SIGNAL( clicked() ), this, SLOT( startAddressBook() ) );
89 layoutTodo->addWidget( addressLabel ); 90 layoutTodo->addWidget( addressLabel );
90 } 91 }
91 92
92 QString output; 93 QString output;
93 94
94 // Check whether the database provide the search option.. 95 // Check whether the database provide the search option..
95 if ( ! m_contactdb->hasQuerySettings( OContactAccess::DateDiff ) ){ 96 if ( ! m_contactdb->hasQuerySettings( OContactAccess::DateDiff ) ){
96 97
97 // Define the query for birthdays and start search.. 98 // Define the query for birthdays and start search..
98 QDate lookAheadDate = QDate::currentDate().addDays( m_daysLookAhead ); 99 QDate lookAheadDate = QDate::currentDate().addDays( m_daysLookAhead );
99 qWarning("Searching from now (%s) until %s ! ", QDate::currentDate().toString().latin1(), 100 qWarning("Searching from now (%s) until %s ! ", QDate::currentDate().toString().latin1(),
100 lookAheadDate.toString().latin1() ); 101 lookAheadDate.toString().latin1() );
101 OContact querybirthdays; 102 OContact querybirthdays;
102 querybirthdays.setBirthday( lookAheadDate ); 103 querybirthdays.setBirthday( lookAheadDate );
103 104
104 int ammount = 0; 105 int ammount = 0;
105 106
106 m_list = m_contactdb->queryByExample( querybirthdays, OContactAccess::DateDiff ); 107 m_list = m_contactdb->queryByExample( querybirthdays, OContactAccess::DateDiff );
107 if ( m_list.count() > 0 ){ 108 if ( m_list.count() > 0 ){
108 output = QObject::tr( "Next birthdays in <b> %1 </b> days: <br>" ).arg( m_daysLookAhead ); 109 output = QObject::tr( "Next birthdays in <b> %1 </b> days: <br>" ).arg( m_daysLookAhead );
109 for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) { 110 for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) {
110 if ( ammount++ < m_maxLinesTask ){ 111 if ( ammount++ < m_maxLinesTask ){
111 // Now we want to calculate how many days until birthday. We have to set 112 // Now we want to calculate how many days until birthday. We have to set
112 // the correct year to calculate the day diff... 113 // the correct year to calculate the day diff...
113 QDate destdate = (*m_it).birthday(); 114 QDate destdate = (*m_it).birthday();
114 destdate.setYMD( QDate::currentDate().year(), destdate.month(), destdate.day() ); 115 destdate.setYMD( QDate::currentDate().year(), destdate.month(), destdate.day() );
115 if ( QDate::currentDate().daysTo(destdate) < 0 ) 116 if ( QDate::currentDate().daysTo(destdate) < 0 )
116 destdate.setYMD( QDate::currentDate().year()+1, destdate.month(), destdate.day() ); 117 destdate.setYMD( QDate::currentDate().year()+1, destdate.month(), destdate.day() );
117 118
118 output += "<font color=#e00000><b>-" + (*m_it).fullName() 119 output += "<font color=" + m_entryColor + "><b>-" + (*m_it).fullName()
119 + " (" 120 + " ("
120 + QString::number(QDate::currentDate().daysTo(destdate)) 121 + QString::number(QDate::currentDate().daysTo(destdate))
121 + " Days) </b></font><br>"; 122 + " Days) </b></font><br>";
122 } 123 }
123 } 124 }
124 } else { 125 } else {
125 output = QObject::tr( "No birthdays in <b> %1 </b> days! <br>" ).arg( m_daysLookAhead ); 126 output = QObject::tr( "No birthdays in <b> %1 </b> days! <br>" ).arg( m_daysLookAhead );
126 } 127 }
127 128
128 // Define the query for anniversaries and start search.. 129 // Define the query for anniversaries and start search..
129 OContact queryanniversaries; 130 OContact queryanniversaries;
130 queryanniversaries.setAnniversary( lookAheadDate ); 131 queryanniversaries.setAnniversary( lookAheadDate );
131 132
132 m_list = m_contactdb->queryByExample( queryanniversaries, OContactAccess::DateDiff ); 133 m_list = m_contactdb->queryByExample( queryanniversaries, OContactAccess::DateDiff );
133 134
134 ammount = 0; 135 ammount = 0;
135 if ( m_list.count() > 0 ){ 136 if ( m_list.count() > 0 ){
136 output += QObject::tr( "Next anniversaries in <b> %1 </b> days: <br>" ).arg( m_daysLookAhead ); 137 output += QObject::tr( "Next anniversaries in <b> %1 </b> days: <br>" ).arg( m_daysLookAhead );
137 for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) { 138 for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) {
138 if ( ammount++ < m_maxLinesTask ){ 139 if ( ammount++ < m_maxLinesTask ){
139 // Now we want to calculate how many days until anniversary. We have to set 140 // Now we want to calculate how many days until anniversary. We have to set
140 // the correct year to calculate the day diff... 141 // the correct year to calculate the day diff...
141 QDate destdate = (*m_it).anniversary(); 142 QDate destdate = (*m_it).anniversary();
142 destdate.setYMD( QDate::currentDate().year(), destdate.month(), destdate.day() ); 143 destdate.setYMD( QDate::currentDate().year(), destdate.month(), destdate.day() );
143 if ( QDate::currentDate().daysTo(destdate) < 0 ) 144 if ( QDate::currentDate().daysTo(destdate) < 0 )
144 destdate.setYMD( QDate::currentDate().year()+1, destdate.month(), destdate.day() ); 145 destdate.setYMD( QDate::currentDate().year()+1, destdate.month(), destdate.day() );
145 146
146 output += "<font color=#e00000><b>-" + (*m_it).fullName() 147 output += "<font color=#e00000><b>-" + (*m_it).fullName()
147 + " (" 148 + " ("
148 + QString::number(QDate::currentDate().daysTo( destdate ) ) 149 + QString::number(QDate::currentDate().daysTo( destdate ) )
149 + " Days) </b></font><br>"; 150 + " Days) </b></font><br>";
150 } 151 }
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
@@ -23,35 +23,36 @@
23#include <qwidget.h> 23#include <qwidget.h>
24#include <qlayout.h> 24#include <qlayout.h>
25 25
26#include <opie/ocontactaccess.h> 26#include <opie/ocontactaccess.h>
27#include <opie/oclickablelabel.h> 27#include <opie/oclickablelabel.h>
28 28
29 29
30class AddressBookPluginWidget : public QWidget { 30class AddressBookPluginWidget : public QWidget {
31 31
32 Q_OBJECT 32 Q_OBJECT
33 33
34public: 34public:
35 AddressBookPluginWidget( QWidget *parent, const char *name ); 35 AddressBookPluginWidget( QWidget *parent, const char *name );
36 ~AddressBookPluginWidget(); 36 ~AddressBookPluginWidget();
37 37
38protected slots: 38protected slots:
39 void startAddressBook(); 39 void startAddressBook();
40 void refresh( const OContactAccess* db ); 40 void refresh( const OContactAccess* db );
41 41
42private: 42private:
43 OClickableLabel* addressLabel; 43 OClickableLabel* addressLabel;
44 QVBoxLayout* layoutTodo; 44 QVBoxLayout* layoutTodo;
45 OContactAccess * m_contactdb; 45 OContactAccess * m_contactdb;
46 46
47 OContactAccess::List m_list; 47 OContactAccess::List m_list;
48 OContactAccess::List::Iterator m_it; 48 OContactAccess::List::Iterator m_it;
49 49
50 void readConfig(); 50 void readConfig();
51 void getAddress(); 51 void getAddress();
52 int m_maxLinesTask; 52 int m_maxLinesTask;
53 int m_maxCharClip; 53 int m_maxCharClip;
54 int m_daysLookAhead; 54 int m_daysLookAhead;
55 QString m_entryColor;
55}; 56};
56 57
57#endif 58#endif