6 files changed, 57 insertions, 18 deletions
diff --git a/core/pim/today/plugins/datebook/datebookevent.cpp b/core/pim/today/plugins/datebook/datebookevent.cpp index 0a0d186..8277529 100644 --- a/core/pim/today/plugins/datebook/datebookevent.cpp +++ b/core/pim/today/plugins/datebook/datebookevent.cpp | |||
@@ -1,116 +1,136 @@ | |||
1 | /* | 1 | /* |
2 | * datebookevent.cpp | 2 | * datebookevent.cpp |
3 | * | 3 | * |
4 | * copyright : (c) 2002 by Maximilian Reiß | 4 | * copyright : (c) 2002 by Maximilian Reiß |
5 | * email : harlekin@handhelds.org | 5 | * email : harlekin@handhelds.org |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * * | 9 | * * |
10 | * This program is free software; you can redistribute it and/or modify * | 10 | * This program is free software; you can redistribute it and/or modify * |
11 | * it under the terms of the GNU General Public License as published by * | 11 | * it under the terms of the GNU General Public License as published by * |
12 | * the Free Software Foundation; either version 2 of the License, or * | 12 | * the Free Software Foundation; either version 2 of the License, or * |
13 | * (at your option) any later version. * | 13 | * (at your option) any later version. * |
14 | * * | 14 | * * |
15 | ***************************************************************************/ | 15 | ***************************************************************************/ |
16 | 16 | ||
17 | #include "datebookevent.h" | 17 | #include "datebookevent.h" |
18 | #include <qpe/config.h> | 18 | #include <qpe/config.h> |
19 | #include <qpe/timestring.h> | 19 | #include <qpe/timestring.h> |
20 | #include <qpe/qcopenvelope_qws.h> | 20 | #include <qpe/qcopenvelope_qws.h> |
21 | #include <qpe/qpeapplication.h> | 21 | #include <qpe/qpeapplication.h> |
22 | 22 | ||
23 | #include <opie/odevice.h> | 23 | #include <opie/odevice.h> |
24 | 24 | ||
25 | using namespace Opie; | 25 | using namespace Opie; |
26 | 26 | ||
27 | DateBookEvent::DateBookEvent(const EffectiveEvent &ev, | 27 | DateBookEvent::DateBookEvent(const EffectiveEvent &ev, |
28 | QWidget* parent, | 28 | QWidget* parent, |
29 | bool show_location, | 29 | bool show_location, |
30 | bool show_notes, | 30 | bool show_notes, |
31 | int maxCharClip, | 31 | int maxCharClip, |
32 | const char* name, | 32 | const char* name, |
33 | WFlags fl) : | 33 | WFlags fl) : |
34 | OClickableLabel(parent,name,fl), event(ev) { | 34 | OClickableLabel(parent,name,fl), event(ev) { |
35 | 35 | ||
36 | setAlignment( AlignTop ); | 36 | setAlignment( AlignTop ); |
37 | 37 | ||
38 | QString msg; | 38 | QString msg; |
39 | 39 | ||
40 | Config config( "qpe" ); | 40 | Config config( "qpe" ); |
41 | config.setGroup( "Time" ); | 41 | config.setGroup( "Time" ); |
42 | // if 24 h format | 42 | // if 24 h format |
43 | ampm = config.readBoolEntry( "AMPM", TRUE ); | 43 | ampm = config.readBoolEntry( "AMPM", TRUE ); |
44 | 44 | ||
45 | msg += "<B>" + (ev).description() + "</B>"; | 45 | msg += "<B>" + (ev).description() + "</B>"; |
46 | if ( (ev).event().hasAlarm() ) { | 46 | if ( (ev).event().hasAlarm() ) { |
47 | msg += " <b>[with alarm]</b>"; | 47 | msg += " <b>[with alarm]</b>"; |
48 | } | 48 | } |
49 | 49 | ||
50 | // include location or not | 50 | // include location or not |
51 | if ( show_location ) { | 51 | if ( show_location ) { |
52 | msg += "<BR><i>" + (ev).location() + "</i>"; | 52 | msg += "<BR><i>" + (ev).location() + "</i>"; |
53 | } | 53 | } |
54 | 54 | ||
55 | if ( ( TimeString::timeString( QTime( (ev).event().start().time() ) ) == "00:00" ) | 55 | if ( ( TimeString::timeString( QTime( (ev).event().start().time() ) ) == "00:00" ) |
56 | && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) { | 56 | && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) { |
57 | msg += "<br>All day"; | 57 | msg += "<br>All day"; |
58 | } else { | 58 | } else { |
59 | // start time of event | 59 | // start time of event |
60 | msg += "<br>" + ampmTime(QTime( (ev).event().start().time() ) ) | 60 | QDate tempDate = (ev).event().start().date(); |
61 | msg += "<br>" | ||
62 | + ampmTime( QTime( (ev).event().start().time() ) ) | ||
61 | // end time of event | 63 | // end time of event |
62 | + "<b> - </b>" + ampmTime(QTime( (ev).event().end().time() ) ); | 64 | + "<b> - </b>" + ampmTime( QTime( (ev).event().end().time() ) ) |
65 | + differDate( tempDate ); | ||
63 | } | 66 | } |
64 | 67 | ||
65 | // include possible note or not | 68 | // include possible note or not |
66 | if ( show_notes ) { | 69 | if ( show_notes ) { |
67 | msg += "<br> <i>note</i>:" +( (ev).notes() ).mid( 0, maxCharClip ); | 70 | msg += "<br> <i>note</i>:" +( (ev).notes() ).mid( 0, maxCharClip ); |
68 | } | 71 | } |
69 | setText( msg ); | 72 | setText( msg ); |
70 | connect( this, SIGNAL( clicked() ), this, SLOT( editMe() ) ); | 73 | connect( this, SIGNAL( clicked() ), this, SLOT( editMe() ) ); |
71 | } | 74 | } |
72 | 75 | ||
73 | 76 | ||
74 | /** | 77 | /** |
75 | * AM/PM timestring conversion. | 78 | * AM/PM timestring conversion. |
76 | * @param tm the timestring | 79 | * @param tm the timestring |
77 | * @return formatted to am/pm is system is set to it | 80 | * @return formatted to am/pm is system is set to it |
78 | */ | 81 | */ |
79 | QString DateBookEvent::ampmTime( QTime tm ) { | 82 | QString DateBookEvent::ampmTime( QTime tm ) { |
80 | QString s; | 83 | QString s; |
81 | if( ampm ) { | 84 | if( ampm ) { |
82 | int hour = tm.hour(); | 85 | int hour = tm.hour(); |
83 | if ( hour == 0 ) { | 86 | if ( hour == 0 ) { |
84 | hour = 12; | 87 | hour = 12; |
85 | } | 88 | } |
86 | if ( hour > 12 ) { | 89 | if ( hour > 12 ) { |
87 | hour -= 12; | 90 | hour -= 12; |
88 | } | 91 | } |
89 | s.sprintf( "%2d:%02d %s", hour, tm.minute(), | 92 | s.sprintf( "%2d:%02d %s", hour, tm.minute(), |
90 | (tm.hour() >= 12) ? "PM" : "AM" ); | 93 | (tm.hour() >= 12) ? "PM" : "AM" ); |
91 | return s; | 94 | return s; |
92 | } else { | 95 | } else { |
93 | s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); | 96 | s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); |
94 | return s; | 97 | return s; |
95 | } | 98 | } |
96 | } | 99 | } |
97 | 100 | ||
101 | QString DateBookEvent::differDate( QDate date ) { | ||
102 | QDate currentDate = QDate::currentDate(); | ||
103 | QString returnText = "<font color = #407DD9><b> "; | ||
104 | int differDate = currentDate.daysTo( date ); | ||
105 | if ( currentDate.dayOfWeek() == date.dayOfWeek() ) { | ||
106 | returnText += "" ; | ||
107 | // not working right for recurring events | ||
108 | //} else if ( differDate == 1 ) { | ||
109 | //returnText += tr( "tomorrow" ); | ||
110 | } else { | ||
111 | //returnText += tr( "in %1 days" ).arg( differDate ); | ||
112 | returnText += " [ " + date.dayName( date.dayOfWeek() ) + " ] "; | ||
113 | } | ||
114 | returnText += "</b></font>"; | ||
115 | return returnText; | ||
116 | } | ||
117 | |||
98 | 118 | ||
99 | /** | 119 | /** |
100 | * starts the edit dialog as known from datebook | 120 | * starts the edit dialog as known from datebook |
101 | */ | 121 | */ |
102 | void DateBookEvent::editEventSlot( const Event &e ) { | 122 | void DateBookEvent::editEventSlot( const Event &e ) { |
103 | 123 | ||
104 | if ( ODevice::inst()->system() == System_Zaurus ) { | 124 | if ( ODevice::inst()->system() == System_Zaurus ) { |
105 | QCopEnvelope env( "QPE/Application/datebook", "raise()" ); | 125 | QCopEnvelope env( "QPE/Application/datebook", "raise()" ); |
106 | } else { | 126 | } else { |
107 | QCopEnvelope env( "QPE/Datebook", "editEvent(int)" ); | 127 | QCopEnvelope env( "QPE/Datebook", "editEvent(int)" ); |
108 | env << e.uid(); | 128 | env << e.uid(); |
109 | } | 129 | } |
110 | } | 130 | } |
111 | 131 | ||
112 | 132 | ||
113 | void DateBookEvent::editMe() { | 133 | void DateBookEvent::editMe() { |
114 | emit editEvent( event.event() ); | 134 | emit editEvent( event.event() ); |
115 | } | 135 | } |
116 | 136 | ||
diff --git a/core/pim/today/plugins/datebook/datebookevent.h b/core/pim/today/plugins/datebook/datebookevent.h index 7b0371a..f8a9c03 100644 --- a/core/pim/today/plugins/datebook/datebookevent.h +++ b/core/pim/today/plugins/datebook/datebookevent.h | |||
@@ -1,48 +1,49 @@ | |||
1 | /* | 1 | /* |
2 | * datebookplugin.h | 2 | * datebookplugin.h |
3 | * | 3 | * |
4 | * copyright : (c) 2002 by Maximilian Reiß | 4 | * copyright : (c) 2002 by Maximilian Reiß |
5 | * email : harlekin@handhelds.org | 5 | * email : harlekin@handhelds.org |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * * | 9 | * * |
10 | * This program is free software; you can redistribute it and/or modify * | 10 | * This program is free software; you can redistribute it and/or modify * |
11 | * it under the terms of the GNU General Public License as published by * | 11 | * it under the terms of the GNU General Public License as published by * |
12 | * the Free Software Foundation; either version 2 of the License, or * | 12 | * the Free Software Foundation; either version 2 of the License, or * |
13 | * (at your option) any later version. * | 13 | * (at your option) any later version. * |
14 | * * | 14 | * * |
15 | ***************************************************************************/ | 15 | ***************************************************************************/ |
16 | 16 | ||
17 | #ifndef DATEBOOKEVENT_PLUGIN_H | 17 | #ifndef DATEBOOKEVENT_PLUGIN_H |
18 | #define DATEBOOKEVENT_PLUGIN_H | 18 | #define DATEBOOKEVENT_PLUGIN_H |
19 | 19 | ||
20 | #include <opie/oclickablelabel.h> | 20 | #include <opie/oclickablelabel.h> |
21 | #include <qpe/datebookdb.h> | 21 | #include <qpe/datebookdb.h> |
22 | 22 | ||
23 | 23 | ||
24 | class DateBookEvent: public OClickableLabel { | 24 | class DateBookEvent: public OClickableLabel { |
25 | 25 | ||
26 | Q_OBJECT | 26 | Q_OBJECT |
27 | 27 | ||
28 | public: | 28 | public: |
29 | DateBookEvent(const EffectiveEvent &ev, | 29 | DateBookEvent( const EffectiveEvent &ev, |
30 | QWidget* parent = 0, | 30 | QWidget* parent = 0, |
31 | bool show_location = 0, | 31 | bool show_location = 0, |
32 | bool show_notes = 0, | 32 | bool show_notes = 0, |
33 | int maxCharClip = 0, | 33 | int maxCharClip = 0, |
34 | const char* name = 0, | 34 | const char* name = 0, |
35 | WFlags fl = 0); | 35 | WFlags fl = 0 ); |
36 | signals: | 36 | signals: |
37 | void editEvent(const Event &e); | 37 | void editEvent( const Event &e ); |
38 | private slots: | 38 | private slots: |
39 | void editEventSlot(const Event &e); | 39 | void editEventSlot( const Event &e ); |
40 | void editMe(); | 40 | void editMe(); |
41 | private: | 41 | private: |
42 | DateBookDB *db; | 42 | DateBookDB *db; |
43 | QString ampmTime(QTime); | 43 | QString ampmTime( QTime ); |
44 | QString differDate( QDate date ); | ||
44 | const EffectiveEvent event; | 45 | const EffectiveEvent event; |
45 | bool ampm; | 46 | bool ampm; |
46 | }; | 47 | }; |
47 | 48 | ||
48 | #endif | 49 | #endif |
diff --git a/core/pim/today/plugins/datebook/datebookpluginconfig.cpp b/core/pim/today/plugins/datebook/datebookpluginconfig.cpp index e93c82c..0fc38de 100644 --- a/core/pim/today/plugins/datebook/datebookpluginconfig.cpp +++ b/core/pim/today/plugins/datebook/datebookpluginconfig.cpp | |||
@@ -1,86 +1,103 @@ | |||
1 | 1 | ||
2 | 2 | ||
3 | #include "datebookpluginconfig.h" | 3 | #include "datebookpluginconfig.h" |
4 | 4 | ||
5 | #include <qpe/config.h> | 5 | #include <qpe/config.h> |
6 | 6 | ||
7 | #include <qlayout.h> | 7 | #include <qlayout.h> |
8 | #include <qtoolbutton.h> | 8 | #include <qtoolbutton.h> |
9 | #include <qlabel.h> | 9 | #include <qlabel.h> |
10 | #include <qhbox.h> | 10 | #include <qhbox.h> |
11 | #include <qwhatsthis.h> | 11 | #include <qwhatsthis.h> |
12 | #include <qvbox.h> | 12 | #include <qvbox.h> |
13 | 13 | ||
14 | DatebookPluginConfig::DatebookPluginConfig( QWidget* parent, const char* name) | 14 | DatebookPluginConfig::DatebookPluginConfig( QWidget* parent, const char* name) |
15 | : TodayConfigWidget( parent, name ) { | 15 | : TodayConfigWidget( parent, name ) { |
16 | 16 | ||
17 | QVBoxLayout * layout = new QVBoxLayout( this ); | 17 | QVBoxLayout * layout = new QVBoxLayout( this ); |
18 | layout->setMargin( 20 ); | 18 | layout->setMargin( 20 ); |
19 | 19 | ||
20 | QHBox *box1 = new QHBox( this ); | 20 | QHBox *box1 = new QHBox( this ); |
21 | QLabel* TextLabel4 = new QLabel( box1, "TextLabel4" ); | 21 | QLabel* TextLabel4 = new QLabel( box1, "TextLabel4" ); |
22 | TextLabel4->setText( tr( "Show location" ) ); | 22 | TextLabel4->setText( tr( "Show location" ) ); |
23 | CheckBox1 = new QCheckBox( box1, "CheckBox1" ); | 23 | CheckBox1 = new QCheckBox( box1, "CheckBox1" ); |
24 | QWhatsThis::add( CheckBox1 , tr( "Check this if the location of an appointment should be shown for each one" ) ); | 24 | QWhatsThis::add( CheckBox1 , tr( "Check this if the location of an appointment should be shown for each one" ) ); |
25 | 25 | ||
26 | QHBox *box2 = new QHBox( this ); | 26 | QHBox *box2 = new QHBox( this ); |
27 | QLabel* TextLabel5 = new QLabel( box2 , "TextLabel5" ); | 27 | QLabel* TextLabel5 = new QLabel( box2 , "TextLabel5" ); |
28 | TextLabel5->setText( tr( "Show notes" ) ); | 28 | TextLabel5->setText( tr( "Show notes" ) ); |
29 | CheckBox2 = new QCheckBox( box2, "CheckBox2" ); | 29 | CheckBox2 = new QCheckBox( box2, "CheckBox2" ); |
30 | QWhatsThis::add( CheckBox2 , tr( "Check this if the note attached to an appointment should be shown for each one" ) ); | 30 | QWhatsThis::add( CheckBox2 , tr( "Check this if the note attached to an appointment should be shown for each one" ) ); |
31 | 31 | ||
32 | QHBox *box3 = new QHBox( this ); | 32 | QHBox *box3 = new QHBox( this ); |
33 | QLabel* TextLabel6 = new QLabel( box3, "All Day"); | 33 | QLabel* TextLabel6 = new QLabel( box3, "All Day"); |
34 | TextLabel6->setText( tr( "Show only later\n appointments") ); | 34 | TextLabel6->setText( tr( "Show only later\n appointments") ); |
35 | CheckBox3 = new QCheckBox ( box3, "CheckBox3" ); | 35 | CheckBox3 = new QCheckBox ( box3, "CheckBox3" ); |
36 | QWhatsThis::add( CheckBox3 , tr( "Check this if only appointments later then current time should be shown" ) ); | 36 | QWhatsThis::add( CheckBox3 , tr( "Check this if only appointments later then current time should be shown" ) ); |
37 | 37 | ||
38 | |||
39 | |||
38 | QHBox *box4 = new QHBox( this ); | 40 | QHBox *box4 = new QHBox( this ); |
39 | QLabel *TextLabel3 = new QLabel( box4, "TextLabel3" ); | 41 | QLabel *TextLabel3 = new QLabel( box4, "TextLabel3" ); |
40 | TextLabel3->setText( tr( "How many \nappointment\n" | 42 | TextLabel3->setText( tr( "How many \nappointment\n" |
41 | "should be \nshown?" ) ); | 43 | "should be \nshown?" ) ); |
42 | SpinBox1 = new QSpinBox( box4, "SpinBox1" ); | 44 | SpinBox1 = new QSpinBox( box4, "SpinBox1" ); |
43 | QWhatsThis::add( SpinBox1 , tr( "How many appointments should be shown maximal. In chronical order" ) ); | 45 | QWhatsThis::add( SpinBox1 , tr( "How many appointments should be shown maximal. In chronical order" ) ); |
44 | SpinBox1->setMaxValue( 10 ); | 46 | SpinBox1->setMaxValue( 10 ); |
45 | SpinBox1->setValue( 5 ); | 47 | SpinBox1->setValue( 5 ); |
46 | 48 | ||
49 | |||
50 | QHBox *box5 = new QHBox( this ); | ||
51 | QLabel *TextLabelDays = new QLabel( box5 ); | ||
52 | TextLabelDays->setText( tr( "How many more days" ) ); | ||
53 | SpinBox2 = new QSpinBox( box5, "SpinBox2" ); | ||
54 | QWhatsThis::add( SpinBox2 , tr( "How many more days should be in the range" ) ); | ||
55 | SpinBox2->setMaxValue( 7 ); | ||
56 | SpinBox2->setSuffix( tr( " day(s)" ) ); | ||
57 | SpinBox2->setSpecialValueText ( tr("only today") ); | ||
58 | |||
47 | layout->addWidget( box1 ); | 59 | layout->addWidget( box1 ); |
48 | layout->addWidget( box2 ); | 60 | layout->addWidget( box2 ); |
49 | layout->addWidget( box3 ); | 61 | layout->addWidget( box3 ); |
50 | layout->addWidget( box4 ); | 62 | layout->addWidget( box4 ); |
63 | layout->addWidget( box5 ); | ||
51 | 64 | ||
52 | readConfig(); | 65 | readConfig(); |
53 | } | 66 | } |
54 | 67 | ||
55 | void DatebookPluginConfig::readConfig() { | 68 | void DatebookPluginConfig::readConfig() { |
56 | Config cfg( "todaydatebookplugin" ); | 69 | Config cfg( "todaydatebookplugin" ); |
57 | cfg.setGroup( "config" ); | 70 | cfg.setGroup( "config" ); |
58 | 71 | ||
59 | m_max_lines_meet = cfg.readNumEntry( "maxlinesmeet", 5 ); | 72 | m_max_lines_meet = cfg.readNumEntry( "maxlinesmeet", 5 ); |
60 | SpinBox1->setValue( m_max_lines_meet ); | 73 | SpinBox1->setValue( m_max_lines_meet ); |
61 | m_show_location = cfg.readNumEntry( "showlocation", 1 ); | 74 | m_show_location = cfg.readNumEntry( "showlocation", 1 ); |
62 | CheckBox1->setChecked( m_show_location ); | 75 | CheckBox1->setChecked( m_show_location ); |
63 | m_show_notes = cfg.readNumEntry( "shownotes", 0 ); | 76 | m_show_notes = cfg.readNumEntry( "shownotes", 0 ); |
64 | CheckBox2->setChecked( m_show_notes ); | 77 | CheckBox2->setChecked( m_show_notes ); |
65 | m_only_later = cfg.readNumEntry( "onlylater", 1 ); | 78 | m_only_later = cfg.readNumEntry( "onlylater", 1 ); |
66 | CheckBox3->setChecked( m_only_later ); | 79 | CheckBox3->setChecked( m_only_later ); |
80 | m_more_days = cfg.readNumEntry( "moredays", 0 ); | ||
81 | SpinBox2->setValue( m_more_days ); | ||
67 | } | 82 | } |
68 | 83 | ||
69 | 84 | ||
70 | void DatebookPluginConfig::writeConfig() { | 85 | void DatebookPluginConfig::writeConfig() { |
71 | Config cfg( "todaydatebookplugin" ); | 86 | Config cfg( "todaydatebookplugin" ); |
72 | cfg.setGroup( "config" ); | 87 | cfg.setGroup( "config" ); |
73 | 88 | ||
74 | m_max_lines_meet = SpinBox1->value(); | 89 | m_max_lines_meet = SpinBox1->value(); |
75 | cfg.writeEntry( "maxlinesmeet", m_max_lines_meet); | 90 | cfg.writeEntry( "maxlinesmeet", m_max_lines_meet); |
76 | m_show_location = CheckBox1->isChecked(); | 91 | m_show_location = CheckBox1->isChecked(); |
77 | cfg.writeEntry( "showlocation", m_show_location); | 92 | cfg.writeEntry( "showlocation", m_show_location); |
78 | m_show_notes = CheckBox2->isChecked(); | 93 | m_show_notes = CheckBox2->isChecked(); |
79 | cfg.writeEntry( "shownotes", m_show_notes ); | 94 | cfg.writeEntry( "shownotes", m_show_notes ); |
80 | m_only_later = CheckBox3->isChecked(); | 95 | m_only_later = CheckBox3->isChecked(); |
81 | cfg.writeEntry( "onlylater", m_only_later ); | 96 | cfg.writeEntry( "onlylater", m_only_later ); |
97 | m_more_days = SpinBox2->value(); | ||
98 | cfg.writeEntry( "moredays", m_more_days ); | ||
82 | cfg.write(); | 99 | cfg.write(); |
83 | } | 100 | } |
84 | 101 | ||
85 | DatebookPluginConfig::~DatebookPluginConfig() { | 102 | DatebookPluginConfig::~DatebookPluginConfig() { |
86 | } | 103 | } |
diff --git a/core/pim/today/plugins/datebook/datebookpluginconfig.h b/core/pim/today/plugins/datebook/datebookpluginconfig.h index feba9ee..6c32ae9 100644 --- a/core/pim/today/plugins/datebook/datebookpluginconfig.h +++ b/core/pim/today/plugins/datebook/datebookpluginconfig.h | |||
@@ -1,48 +1,47 @@ | |||
1 | 1 | ||
2 | #ifndef DATEBOOK_PLUGIN_CONFIG_H | 2 | #ifndef DATEBOOK_PLUGIN_CONFIG_H |
3 | #define DATEBOOK_PLUGIN_CONFIG_H | 3 | #define DATEBOOK_PLUGIN_CONFIG_H |
4 | 4 | ||
5 | 5 | ||
6 | #include <qcheckbox.h> | 6 | #include <qcheckbox.h> |
7 | #include <qspinbox.h> | 7 | #include <qspinbox.h> |
8 | 8 | ||
9 | #include <opie/todayconfigwidget.h> | 9 | #include <opie/todayconfigwidget.h> |
10 | 10 | ||
11 | class DatebookPluginConfig : public TodayConfigWidget { | 11 | class DatebookPluginConfig : public TodayConfigWidget { |
12 | 12 | ||
13 | 13 | ||
14 | 14 | ||
15 | public: | 15 | public: |
16 | DatebookPluginConfig( QWidget *parent, const char *name ); | 16 | DatebookPluginConfig( QWidget *parent, const char *name ); |
17 | ~DatebookPluginConfig(); | 17 | ~DatebookPluginConfig(); |
18 | 18 | ||
19 | void writeConfig(); | 19 | void writeConfig(); |
20 | private: | 20 | private: |
21 | /** | 21 | /** |
22 | * if changed then save | 22 | * if changed then save |
23 | */ | 23 | */ |
24 | bool changed(); | 24 | bool changed(); |
25 | void readConfig(); | 25 | void readConfig(); |
26 | 26 | ||
27 | QCheckBox* CheckBox2; | 27 | QCheckBox* CheckBox2; |
28 | QCheckBox* CheckBox1; | 28 | QCheckBox* CheckBox1; |
29 | QCheckBox* CheckBox3; | 29 | QCheckBox* CheckBox3; |
30 | QSpinBox* SpinBox1; | 30 | QSpinBox* SpinBox1; |
31 | QSpinBox* SpinBox2; | ||
32 | |||
31 | 33 | ||
32 | // how many lines should be showed in the datebook section | 34 | // how many lines should be showed in the datebook section |
33 | int m_max_lines_meet; | 35 | int m_max_lines_meet; |
34 | // If location is to be showed too, 1 to activate it. | 36 | // If location is to be showed too, 1 to activate it. |
35 | int m_show_location; | 37 | int m_show_location; |
36 | // if notes should be shown | 38 | // if notes should be shown |
37 | int m_show_notes; | 39 | int m_show_notes; |
38 | // should only later appointments be shown or all for the current day. | 40 | // should only later appointments be shown or all for the current day. |
39 | int m_only_later; | 41 | int m_only_later; |
40 | 42 | int m_more_days; | |
41 | 43 | ||
42 | }; | 44 | }; |
43 | 45 | ||
44 | 46 | ||
45 | |||
46 | |||
47 | |||
48 | #endif | 47 | #endif |
diff --git a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp index a8ce059..c6aa2a6 100644 --- a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp +++ b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp | |||
@@ -1,111 +1,112 @@ | |||
1 | /* | 1 | /* |
2 | * datebookpluginwidget.cpp | 2 | * datebookpluginwidget.cpp |
3 | * | 3 | * |
4 | * copyright : (c) 2002 by Maximilian Reiß | 4 | * copyright : (c) 2002 by Maximilian Reiß |
5 | * email : harlekin@handhelds.org | 5 | * email : harlekin@handhelds.org |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * * | 9 | * * |
10 | * This program is free software; you can redistribute it and/or modify * | 10 | * This program is free software; you can redistribute it and/or modify * |
11 | * it under the terms of the GNU General Public License as published by * | 11 | * it under the terms of the GNU General Public License as published by * |
12 | * the Free Software Foundation; either version 2 of the License, or * | 12 | * the Free Software Foundation; either version 2 of the License, or * |
13 | * (at your option) any later version. * | 13 | * (at your option) any later version. * |
14 | * * | 14 | * * |
15 | ***************************************************************************/ | 15 | ***************************************************************************/ |
16 | 16 | ||
17 | 17 | ||
18 | #include "datebookpluginwidget.h" | 18 | #include "datebookpluginwidget.h" |
19 | #include "datebookevent.h" | 19 | #include "datebookevent.h" |
20 | 20 | ||
21 | #include <qpe/timestring.h> | 21 | #include <qpe/timestring.h> |
22 | #include <qpe/config.h> | 22 | #include <qpe/config.h> |
23 | 23 | ||
24 | #include <qdatetime.h> | 24 | #include <qdatetime.h> |
25 | #include <qlabel.h> | 25 | #include <qlabel.h> |
26 | #include <qlayout.h> | 26 | #include <qlayout.h> |
27 | #include <qtl.h> | 27 | #include <qtl.h> |
28 | #include <qscrollview.h> | 28 | #include <qscrollview.h> |
29 | #include <qtimer.h> | 29 | #include <qtimer.h> |
30 | 30 | ||
31 | DatebookPluginWidget::DatebookPluginWidget( QWidget *parent, const char* name) | 31 | DatebookPluginWidget::DatebookPluginWidget( QWidget *parent, const char* name) |
32 | : QWidget(parent, name ) { | 32 | : QWidget(parent, name ) { |
33 | db = 0l; | 33 | db = 0l; |
34 | readConfig(); | 34 | readConfig(); |
35 | getDates(); | 35 | getDates(); |
36 | } | 36 | } |
37 | 37 | ||
38 | DatebookPluginWidget::~DatebookPluginWidget() { | 38 | DatebookPluginWidget::~DatebookPluginWidget() { |
39 | delete db; | 39 | delete db; |
40 | } | 40 | } |
41 | 41 | ||
42 | 42 | ||
43 | void DatebookPluginWidget::readConfig() { | 43 | void DatebookPluginWidget::readConfig() { |
44 | Config cfg( "todaydatebookplugin" ); | 44 | Config cfg( "todaydatebookplugin" ); |
45 | cfg.setGroup( "config" ); | 45 | cfg.setGroup( "config" ); |
46 | m_max_lines_meet = cfg.readNumEntry( "maxlinesmeet", 5 ); | 46 | m_max_lines_meet = cfg.readNumEntry( "maxlinesmeet", 5 ); |
47 | m_show_location = cfg.readNumEntry( "showlocation", 1 ); | 47 | m_show_location = cfg.readNumEntry( "showlocation", 1 ); |
48 | m_show_notes = cfg.readNumEntry( "shownotes", 0 ); | 48 | m_show_notes = cfg.readNumEntry( "shownotes", 0 ); |
49 | m_onlyLater = cfg.readNumEntry( "onlylater", 1 ); | 49 | m_onlyLater = cfg.readNumEntry( "onlylater", 1 ); |
50 | m_moreDays = cfg.readNumEntry( "moredays", 0 ); | ||
50 | } | 51 | } |
51 | 52 | ||
52 | 53 | ||
53 | /** | 54 | /** |
54 | * Get all events that are in the datebook xml file for today | 55 | * Get all events that are in the datebook xml file for today |
55 | */ | 56 | */ |
56 | void DatebookPluginWidget::getDates() { | 57 | void DatebookPluginWidget::getDates() { |
57 | 58 | ||
58 | 59 | ||
59 | QDate date = QDate::currentDate(); | 60 | QDate date = QDate::currentDate(); |
60 | 61 | ||
61 | QVBoxLayout* layoutDates = new QVBoxLayout( this ); | 62 | QVBoxLayout* layoutDates = new QVBoxLayout( this ); |
62 | layoutDates->setSpacing( 1 ); | 63 | layoutDates->setSpacing( 1 ); |
63 | layoutDates->setMargin( 1 ); | 64 | layoutDates->setMargin( 1 ); |
64 | 65 | ||
65 | if ( db ) { | 66 | if ( db ) { |
66 | delete db; | 67 | delete db; |
67 | } | 68 | } |
68 | 69 | ||
69 | db = new DateBookDB; | 70 | db = new DateBookDB; |
70 | 71 | ||
71 | QValueList<EffectiveEvent> list = db->getEffectiveEvents( date, date ); | 72 | QValueList<EffectiveEvent> list = db->getEffectiveEvents( date, date.addDays( m_moreDays ) ); |
72 | 73 | ||
73 | qBubbleSort( list ); | 74 | qBubbleSort( list ); |
74 | 75 | ||
75 | Config config( "qpe" ); | 76 | Config config( "qpe" ); |
76 | 77 | ||
77 | int count=0; | 78 | int count=0; |
78 | 79 | ||
79 | if ( list.count() > 0 ) { | 80 | if ( list.count() > 0 ) { |
80 | 81 | ||
81 | for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); it!=list.end(); ++it ) { | 82 | for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); it!=list.end(); ++it ) { |
82 | 83 | ||
83 | if ( count <= m_max_lines_meet ) { | 84 | if ( count <= m_max_lines_meet ) { |
84 | QTime time = QTime::currentTime(); | 85 | QTime time = QTime::currentTime(); |
85 | 86 | ||
86 | if ( !m_onlyLater ) { | 87 | if ( !m_onlyLater ) { |
87 | count++; | 88 | count++; |
88 | DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes ); | 89 | DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes ); |
89 | layoutDates->addWidget( l ); | 90 | layoutDates->addWidget( l ); |
90 | QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) ); | 91 | QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) ); |
91 | } else if ( ( time.toString() <= TimeString::dateString( (*it).event().end() ) ) ) { | 92 | } else if ( ( time.toString() <= TimeString::dateString( (*it).event().end() ) ) ) { |
92 | count++; | 93 | count++; |
93 | // show only later appointments | 94 | // show only later appointments |
94 | DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes ); | 95 | DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes ); |
95 | layoutDates->addWidget( l ); | 96 | layoutDates->addWidget( l ); |
96 | QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) ); | 97 | QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) ); |
97 | } | 98 | } |
98 | } | 99 | } |
99 | } | 100 | } |
100 | if ( m_onlyLater && count == 0 ) { | 101 | if ( m_onlyLater && count == 0 ) { |
101 | QLabel* noMoreEvents = new QLabel( this ); | 102 | QLabel* noMoreEvents = new QLabel( this ); |
102 | noMoreEvents->setText( QObject::tr( "No more appointments today" ) ); | 103 | noMoreEvents->setText( QObject::tr( "No more appointments today" ) ); |
103 | layoutDates->addWidget( noMoreEvents ); | 104 | layoutDates->addWidget( noMoreEvents ); |
104 | } | 105 | } |
105 | } else { | 106 | } else { |
106 | QLabel* noEvents = new QLabel( this ); | 107 | QLabel* noEvents = new QLabel( this ); |
107 | noEvents->setText( QObject::tr( "No appointments today" ) ); | 108 | noEvents->setText( QObject::tr( "No appointments today" ) ); |
108 | layoutDates->addWidget( noEvents ); | 109 | layoutDates->addWidget( noEvents ); |
109 | } | 110 | } |
110 | } | 111 | } |
111 | 112 | ||
diff --git a/core/pim/today/plugins/datebook/datebookpluginwidget.h b/core/pim/today/plugins/datebook/datebookpluginwidget.h index 1720bb2..3ebbc3d 100644 --- a/core/pim/today/plugins/datebook/datebookpluginwidget.h +++ b/core/pim/today/plugins/datebook/datebookpluginwidget.h | |||
@@ -1,52 +1,53 @@ | |||
1 | /* | 1 | /* |
2 | * datebookpluginwidget.h | 2 | * datebookpluginwidget.h |
3 | * | 3 | * |
4 | * copyright : (c) 2002 by Maximilian Reiß | 4 | * copyright : (c) 2002 by Maximilian Reiß |
5 | * email : harlekin@handhelds.org | 5 | * email : harlekin@handhelds.org |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * * | 9 | * * |
10 | * This program is free software; you can redistribute it and/or modify * | 10 | * This program is free software; you can redistribute it and/or modify * |
11 | * it under the terms of the GNU General Public License as published by * | 11 | * it under the terms of the GNU General Public License as published by * |
12 | * the Free Software Foundation; either version 2 of the License, or * | 12 | * the Free Software Foundation; either version 2 of the License, or * |
13 | * (at your option) any later version. * | 13 | * (at your option) any later version. * |
14 | * * | 14 | * * |
15 | ***************************************************************************/ | 15 | ***************************************************************************/ |
16 | 16 | ||
17 | #ifndef DATEBOOK_PLUGIN_WIDGET_H | 17 | #ifndef DATEBOOK_PLUGIN_WIDGET_H |
18 | #define DATEBOOK_PLUGIN_WIDGET_H | 18 | #define DATEBOOK_PLUGIN_WIDGET_H |
19 | 19 | ||
20 | #include <qstring.h> | 20 | #include <qstring.h> |
21 | #include <qwidget.h> | 21 | #include <qwidget.h> |
22 | 22 | ||
23 | #include <qpe/datebookdb.h> | 23 | #include <qpe/datebookdb.h> |
24 | #include <opie/oclickablelabel.h> | 24 | #include <opie/oclickablelabel.h> |
25 | 25 | ||
26 | 26 | ||
27 | class DatebookPluginWidget : public QWidget { | 27 | class DatebookPluginWidget : public QWidget { |
28 | 28 | ||
29 | Q_OBJECT | 29 | Q_OBJECT |
30 | 30 | ||
31 | public: | 31 | public: |
32 | DatebookPluginWidget( QWidget *parent, const char *name ); | 32 | DatebookPluginWidget( QWidget *parent, const char *name ); |
33 | ~DatebookPluginWidget(); | 33 | ~DatebookPluginWidget(); |
34 | 34 | ||
35 | 35 | ||
36 | private: | 36 | private: |
37 | DateBookDB* db; | 37 | DateBookDB* db; |
38 | void readConfig(); | 38 | void readConfig(); |
39 | void getDates(); | 39 | void getDates(); |
40 | 40 | ||
41 | // how many lines should be showed in the datebook section | 41 | // how many lines should be showed in the datebook section |
42 | int m_max_lines_meet; | 42 | int m_max_lines_meet; |
43 | // If location is to be showed too, 1 to activate it. | 43 | // If location is to be showed too, 1 to activate it. |
44 | bool m_show_location; | 44 | bool m_show_location; |
45 | // if notes should be shown | 45 | // if notes should be shown |
46 | bool m_show_notes; | 46 | bool m_show_notes; |
47 | // should only later appointments be shown or all for the current day. | 47 | // should only later appointments be shown or all for the current day. |
48 | bool m_onlyLater; | 48 | bool m_onlyLater; |
49 | int m_moreDays; | ||
49 | 50 | ||
50 | }; | 51 | }; |
51 | 52 | ||
52 | #endif | 53 | #endif |