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 | |||
@@ -48,27 +48,30 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, | |||
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 | /** |
@@ -86,24 +89,41 @@ QString DateBookEvent::ampmTime( QTime tm ) { | |||
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 | } |
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 | |||
@@ -17,32 +17,33 @@ | |||
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 | |||
@@ -26,61 +26,78 @@ DatebookPluginConfig::DatebookPluginConfig( QWidget* parent, const char* name) | |||
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 | |||
@@ -19,30 +19,29 @@ public: | |||
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 | |||
@@ -38,46 +38,47 @@ DatebookPluginWidget::DatebookPluginWidget( QWidget *parent, const char* name) | |||
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 ) { |
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 | |||
@@ -37,16 +37,17 @@ 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 |