summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-19 16:07:52 (UTC)
committer zautrix <zautrix>2005-02-19 16:07:52 (UTC)
commite15d171a0630656b6e4a66d6cab6a7d64a37434b (patch) (unidiff)
treef406dd7fc0d4300f18294bc7fbe7b06ab4524481
parent4858dcb045afc57ce98877cca787c4430146bea8 (diff)
downloadkdepimpi-e15d171a0630656b6e4a66d6cab6a7d64a37434b.zip
kdepimpi-e15d171a0630656b6e4a66d6cab6a7d64a37434b.tar.gz
kdepimpi-e15d171a0630656b6e4a66d6cab6a7d64a37434b.tar.bz2
mday mv fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt4
-rw-r--r--desktop/rpm/kdepim_rpm2
-rw-r--r--korganizer/komonthview.cpp8
-rw-r--r--version2
4 files changed, 11 insertions, 5 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 01d9e27..3c757a1 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,194 +1,198 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 2.0.9 ************
4
5Made month view icons for multiday events a bit nicer.
6
3********** VERSION 2.0.8 ************ 7********** VERSION 2.0.8 ************
4 8
5Fixed a problem in dependency info in the ipk files for the Zaurus. 9Fixed a problem in dependency info in the ipk files for the Zaurus.
6 10
7Added icon for the stealth new week view and made navigation more user friendly in monthview by adding a prev/next week button to the navigator bar. 11Added icon for the stealth new week view and made navigation more user friendly in monthview by adding a prev/next week button to the navigator bar.
8 12
9Added a "go today" button to the datepicker. 13Added a "go today" button to the datepicker.
10 14
11Added "created" and "last modified" to event/todo viewer (and What'sThis viewer) 15Added "created" and "last modified" to event/todo viewer (and What'sThis viewer)
12and made it configureable to show these values. 16and made it configureable to show these values.
13 17
14Fixed a problem for events (from external iCal files) that do have a duration but no end date. 18Fixed a problem for events (from external iCal files) that do have a duration but no end date.
15 19
16 20
17********** VERSION 2.0.7 ************ 21********** VERSION 2.0.7 ************
18 22
19Added global application font settings 23Added global application font settings
20(for all KDE-Pim/Pi apps) to the general settings. 24(for all KDE-Pim/Pi apps) to the general settings.
21 25
22Fixed a problem in OM/Pi when trying to login to some IMAP servers 26Fixed a problem in OM/Pi when trying to login to some IMAP servers
23(like the IMAP server of Apple: mail.mac.com ) 27(like the IMAP server of Apple: mail.mac.com )
24 28
25Added recurring todos to KO/Pi. 29Added recurring todos to KO/Pi.
26 30
27 31
28********** VERSION 2.0.6 ************ 32********** VERSION 2.0.6 ************
29 33
30Some bugfixes in the pi-sync mode. 34Some bugfixes in the pi-sync mode.
31Added German translation for pi-sync mode. 35Added German translation for pi-sync mode.
32 36
33KO/Pi: 37KO/Pi:
34Made the todolist using alternate background. 38Made the todolist using alternate background.
35 39
36Other minor fixes in KO/Pi. 40Other minor fixes in KO/Pi.
37 41
38 42
39********** VERSION 2.0.5 ************ 43********** VERSION 2.0.5 ************
40 44
41Bugfixes in KO/Pi. 45Bugfixes in KO/Pi.
42 46
43********** VERSION 2.0.4 ************ 47********** VERSION 2.0.4 ************
44 48
45KO/Pi: 49KO/Pi:
46Fixed problem loading translations for summary/location edit boxes in event/todo editor. 50Fixed problem loading translations for summary/location edit boxes in event/todo editor.
47 51
48Added a general "select week number" to the toolbar. 52Added a general "select week number" to the toolbar.
49 53
50Fixed some small problem of the new features introduced in version 2.0.3. 54Fixed some small problem of the new features introduced in version 2.0.3.
51 55
52Made it possible to specify one specific category as category color, 56Made it possible to specify one specific category as category color,
53if more than one categories are selected. 57if more than one categories are selected.
54 58
55Fixed a bug in saving colors for categories with non-ascii characters. 59Fixed a bug in saving colors for categories with non-ascii characters.
56(Like, e.g. German Umlauts). 60(Like, e.g. German Umlauts).
57Propably you have to set your colors again for those categories. 61Propably you have to set your colors again for those categories.
58 62
59 63
60********** VERSION 2.0.3 ************ 64********** VERSION 2.0.3 ************
61 65
62KO/Pi: 66KO/Pi:
63Added feature for changing alarm settings for many items at once: 67Added feature for changing alarm settings for many items at once:
64Open list view (or search dialog), select the desired items and choose in 68Open list view (or search dialog), select the desired items and choose in
65the popup menu: Set alarm for selected... 69the popup menu: Set alarm for selected...
66 70
67Added to the event/todo viewer the option to send an email to 71Added to the event/todo viewer the option to send an email to
68all attendees or all selected (with RSVP) attendees. 72all attendees or all selected (with RSVP) attendees.
69 73
70Made the week-month mode changing in month view faster. 74Made the week-month mode changing in month view faster.
71 75
72Made month view better useable with keyboard. 76Made month view better useable with keyboard.
73Now TAB key jumps to next cell with an event/todo. 77Now TAB key jumps to next cell with an event/todo.
74Scroll in cell with coursor keys, scroll in time (next week) with 78Scroll in cell with coursor keys, scroll in time (next week) with
75Shift/Control + coursorkeys. 79Shift/Control + coursorkeys.
76 80
77Fixed bug that the todo view flat mode was reset after first view update. 81Fixed bug that the todo view flat mode was reset after first view update.
78 82
79If a todo is displayed closed in the todo view, 83If a todo is displayed closed in the todo view,
80it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties. 84it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties.
81 85
82Added info about the numbers of years to the caption (title) information about a birthday event. 86Added info about the numbers of years to the caption (title) information about a birthday event.
83 87
84Made completion date in todo editor editable. 88Made completion date in todo editor editable.
85 89
86Added possibility to save/load templates for journals. 90Added possibility to save/load templates for journals.
87(Which is just a simple "save text to file" or "insert text from file". 91(Which is just a simple "save text to file" or "insert text from file".
88 92
89********** VERSION 2.0.2 ************ 93********** VERSION 2.0.2 ************
90 94
91KO/Pi: 95KO/Pi:
92Fixed the layout problem of the day label buttons 96Fixed the layout problem of the day label buttons
93of the agenda view introduced in version 2.0.1. 97of the agenda view introduced in version 2.0.1.
94 98
95Added WhatsThis support for the todo view and the list view. 99Added WhatsThis support for the todo view and the list view.
96 100
97Added a quite useful feature to the montview. 101Added a quite useful feature to the montview.
98Just click on the week numbers on the left. 102Just click on the week numbers on the left.
99And in the top right corner of month view/agenda view 103And in the top right corner of month view/agenda view
100there is now a "week number quick selector". 104there is now a "week number quick selector".
101(Click on the black triangle). 105(Click on the black triangle).
102 106
103Made the quite difficult timezone change in KO/Pi easy. 107Made the quite difficult timezone change in KO/Pi easy.
104 108
105OM/Pi: 109OM/Pi:
106Fixed too small icons on desktop. 110Fixed too small icons on desktop.
107Fixed non visible icons in mainwindow on Z with fastload enabled. 111Fixed non visible icons in mainwindow on Z with fastload enabled.
108Added signature file setting to smtp account config. 112Added signature file setting to smtp account config.
109And the signature can be edited and saved in the edit mail dialog. 113And the signature can be edited and saved in the edit mail dialog.
110That does mean: 114That does mean:
111Simply edit the signature for the selected smtp account in the 115Simply edit the signature for the selected smtp account in the
112edit new mail dialog and press the "save signature" button there. 116edit new mail dialog and press the "save signature" button there.
113Then the signature is saved to the file specified in the smtp account settings. 117Then the signature is saved to the file specified in the smtp account settings.
114If there is no file specified, it is saved automatically to the file 118If there is no file specified, it is saved automatically to the file
115kdepim/apps/kopiemail/<accountname>.sig. 119kdepim/apps/kopiemail/<accountname>.sig.
116 120
117 121
118 122
119********** VERSION 2.0.1 ************ 123********** VERSION 2.0.1 ************
120 124
121Oooops ... I forgot to test on the Zaurus 5500 ... 125Oooops ... I forgot to test on the Zaurus 5500 ...
122 126
123Fixed many problems of new (english) strings (and german translations) 127Fixed many problems of new (english) strings (and german translations)
124introduced in the latest versions, where the text was not fitting on the 128introduced in the latest versions, where the text was not fitting on the
125240x320 display of the Zaurus 5500. 129240x320 display of the Zaurus 5500.
126 130
127KO/Pi: 131KO/Pi:
128Added a popup menu ( press pen and hold to get popup ) to the agenda view 132Added a popup menu ( press pen and hold to get popup ) to the agenda view
129with many useful items (add event/todo, show next week, two weeks, month, journal). 133with many useful items (add event/todo, show next week, two weeks, month, journal).
130 134
131Added items to the todolist popup menu for: 135Added items to the todolist popup menu for:
132Display all opened, all closed or all todos flat. 136Display all opened, all closed or all todos flat.
133The "flat" view makes is possible to sort all todos after ,e.g., prio or date. 137The "flat" view makes is possible to sort all todos after ,e.g., prio or date.
134Made the reparenting of todos on the desktop possible via Drag&Drop. 138Made the reparenting of todos on the desktop possible via Drag&Drop.
135Fixed several bugs in setting the completed datetime for todos. 139Fixed several bugs in setting the completed datetime for todos.
136Added info about completed datetime of todos to the todo viewer. 140Added info about completed datetime of todos to the todo viewer.
137Now displaying a completed todo (with completed datetime set) in the agenda view 141Now displaying a completed todo (with completed datetime set) in the agenda view
138at the time of the completion. Such that now it is possible to see in the agenda view 142at the time of the completion. Such that now it is possible to see in the agenda view
139when what todo was completed. 143when what todo was completed.
140Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos. 144Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos.
141Now the behaviour is: 145Now the behaviour is:
142Setting a parent to complete sets all (sub)childs to complete. 146Setting a parent to complete sets all (sub)childs to complete.
143Setting a parent to uncomplete does not change the childs. 147Setting a parent to uncomplete does not change the childs.
144Setting a child to uncomplete sets all parent to uncomplete. 148Setting a child to uncomplete sets all parent to uncomplete.
145Setting a child to complete does not change the parents. 149Setting a child to complete does not change the parents.
146 150
147Smart updating and double buffering of the daymatrix. 151Smart updating and double buffering of the daymatrix.
148Showing holidays in the day matrix. 152Showing holidays in the day matrix.
149Many other small performance updates. 153Many other small performance updates.
150 154
151Made day labels in agenda clickable. By clicking a label, the day is displayed in single day mode. 155Made day labels in agenda clickable. By clicking a label, the day is displayed in single day mode.
152 156
153Now the translation file usertranslation.txt is supposed to be in utf8 format. 157Now the translation file usertranslation.txt is supposed to be in utf8 format.
154If you want to translate a language from western europe, just change the germantranslation.txt file. Please read the updated Usertranslation HowTo in KO/Pi Help menu. 158If you want to translate a language from western europe, just change the germantranslation.txt file. Please read the updated Usertranslation HowTo in KO/Pi Help menu.
155 159
156 160
157********** VERSION 2.0.0 ************ 161********** VERSION 2.0.0 ************
158 162
159Stable release 2.0.0! 163Stable release 2.0.0!
160 164
161KO/Pi: 165KO/Pi:
162Fixed problem in edit dialog recreation at startup. 166Fixed problem in edit dialog recreation at startup.
163Made "toggle view*" menu items enabled context sensitive. 167Made "toggle view*" menu items enabled context sensitive.
164Changed agenda size menu to items 1-10. 168Changed agenda size menu to items 1-10.
165Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down. 169Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down.
166Usebility enhancements in the KO/Pi menus. 170Usebility enhancements in the KO/Pi menus.
167Birthday import now adds year to summary. 171Birthday import now adds year to summary.
168What's Next view shows age in years for birthday. 172What's Next view shows age in years for birthday.
169 173
170OM/Pi: 174OM/Pi:
171Added three info lines to display subject, from and to of selected mails. 175Added three info lines to display subject, from and to of selected mails.
172 176
173KA/Pi: 177KA/Pi:
174Fixed jump bar behaviour on Zaurus. 178Fixed jump bar behaviour on Zaurus.
175Now KA/Pi search field supports searching for a range of starting characters. 179Now KA/Pi search field supports searching for a range of starting characters.
176E.g. to search for all contact beginning with b to n, type 180E.g. to search for all contact beginning with b to n, type
177b-n 181b-n
178in the search field. 182in the search field.
179 183
180********** VERSION 1.9.20 ************ 184********** VERSION 1.9.20 ************
181 185
182KO/Pi: 186KO/Pi:
183Added for the "dislplay one day" agenda mode 187Added for the "dislplay one day" agenda mode
184info in the caption and in the day lables: 188info in the caption and in the day lables:
185Now it is displayed, if the selected day is from "day before yesterday" 189Now it is displayed, if the selected day is from "day before yesterday"
186to "day after tomorrow". 190to "day after tomorrow".
187Made it possible to delete a Todo, which has sub-todos. 191Made it possible to delete a Todo, which has sub-todos.
188Fixed two small problems in the todo view. 192Fixed two small problems in the todo view.
189Added missing German translation for filter edit and print dialog. 193Added missing German translation for filter edit and print dialog.
190Made search dialog closeable by cancel key. 194Made search dialog closeable by cancel key.
191 195
192Made it possible to select in the date picker the (ligt grey ) 196Made it possible to select in the date picker the (ligt grey )
193dates of the prev./next month with the mouse. 197dates of the prev./next month with the mouse.
194 198
diff --git a/desktop/rpm/kdepim_rpm b/desktop/rpm/kdepim_rpm
index 4d81192..05f61c4 100644
--- a/desktop/rpm/kdepim_rpm
+++ b/desktop/rpm/kdepim_rpm
@@ -1,84 +1,84 @@
1Summary: A collection of PIM programs 1Summary: A collection of PIM programs
2Name: KDE-Pim-Pi 2Name: KDE-Pim-Pi
3Version: 2.0.8 3Version: 2.0.9
4Release: SuSE_9.2 4Release: SuSE_9.2
5Copyright:GPL 5Copyright:GPL
6Group: Productivity/Pim 6Group: Productivity/Pim
7Source:http://sourceforge.net/projects/kdepimpi/ 7Source:http://sourceforge.net/projects/kdepimpi/
8URL:http://sourceforge.net/projects/kdepimpi/ 8URL:http://sourceforge.net/projects/kdepimpi/
9Packager: zautrix 9Packager: zautrix
10 10
11%description 11%description
12This package contains the platform-independent PIM programs from 12This package contains the platform-independent PIM programs from
13www.pi-sync.net, compiled for SuSE 9.2: 13www.pi-sync.net, compiled for SuSE 9.2:
14KTimeTacker/Pi 14KTimeTacker/Pi
15KPhone/Pi 15KPhone/Pi
16KAddressbook/Pi 16KAddressbook/Pi
17KOrganizer/Pi 17KOrganizer/Pi
18PasswordManager/Pi 18PasswordManager/Pi
19KOPieMail/Pi 19KOPieMail/Pi
20 20
21These applications do not need anything from the KDE-desktop 21These applications do not need anything from the KDE-desktop
22at all to run on Linux. However, there is a dependency from 22at all to run on Linux. However, there is a dependency from
23two KDE libs, because a small command line program is included 23two KDE libs, because a small command line program is included
24to make it possible to sync with the KDE-desktop applications. 24to make it possible to sync with the KDE-desktop applications.
25 25
26These applications are independent from the KDE-desktop 26These applications are independent from the KDE-desktop
27environment. That means, nothing of your existing 27environment. That means, nothing of your existing
28KDE-desktop setup will be changed, or any data 28KDE-desktop setup will be changed, or any data
29(calendar-addressbook) used by the KDE-desktop 29(calendar-addressbook) used by the KDE-desktop
30applications will be changed or accessed. 30applications will be changed or accessed.
31These applications stores their data and config in 31These applications stores their data and config in
32$HOME/kdepim/ 32$HOME/kdepim/
33However, because the same file format is used, 33However, because the same file format is used,
34an easy exchange of data with the KDE-desktop 34an easy exchange of data with the KDE-desktop
35is possible. 35is possible.
36A small command line program is included 36A small command line program is included
37to make it possible to sync with the KDE-desktop applications. 37to make it possible to sync with the KDE-desktop applications.
38You do not need to call this program from the commandline, 38You do not need to call this program from the commandline,
39it is called from the KDE-Pim/Pi apps when you choose there: 39it is called from the KDE-Pim/Pi apps when you choose there:
40Sync with KDE_Desktop. 40Sync with KDE_Desktop.
41If something is going wrong, please start the 41If something is going wrong, please start the
42KDE-Pim/Pi program itself from the console to get detailed output. 42KDE-Pim/Pi program itself from the console to get detailed output.
43 43
44After installation, you should have a 44After installation, you should have a
45PIM-pi 45PIM-pi
46folder in your KDE start menu, where you can 46folder in your KDE start menu, where you can
47start the applications from. 47start the applications from.
48 48
49These programs makes it possible to sync your Zaurus easily 49These programs makes it possible to sync your Zaurus easily
50(with the KDE-Pim/Pi programs running on the Zaurus) 50(with the KDE-Pim/Pi programs running on the Zaurus)
51with the KDE-desktop calendar/addressbook data. 51with the KDE-desktop calendar/addressbook data.
52If you want to use that, you have to update your 52If you want to use that, you have to update your
53KDE-desktop to version 3.3.0 or higher. 53KDE-desktop to version 3.3.0 or higher.
54SuSE 9.2 contains KDE 3.3.0 such that no update is needed. 54SuSE 9.2 contains KDE 3.3.0 such that no update is needed.
55Actually - after the (non difficult) configuration is set up - 55Actually - after the (non difficult) configuration is set up -
56with two mouseklicks on the Zaurus, 56with two mouseklicks on the Zaurus,
57the Zaurus syncs with the corresponding KDE-Pim/Pi 57the Zaurus syncs with the corresponding KDE-Pim/Pi
58program on the Linux Desktop which syncs automatically 58program on the Linux Desktop which syncs automatically
59with the KDE-desktop data. 59with the KDE-desktop data.
60 60
61If you want to use the KDE-desktop calendar/addressbook applications, 61If you want to use the KDE-desktop calendar/addressbook applications,
62just install these apps in this package and use them as a syncing tool for the 62just install these apps in this package and use them as a syncing tool for the
63Zaurus <-> KDE-desktop sync. 63Zaurus <-> KDE-desktop sync.
64The sync requires a network connection from your Zaurus to 64The sync requires a network connection from your Zaurus to
65the PC. A detailed Sync HowTo is available in the 65the PC. A detailed Sync HowTo is available in the
66Help menu of the applications. 66Help menu of the applications.
67 67
68These applications makes it also possible, that you can sync 68These applications makes it also possible, that you can sync
69(or just export the data to) your mobile phone with your 69(or just export the data to) your mobile phone with your
70data of the KDE-desktop calendar/addressbook applications. 70data of the KDE-desktop calendar/addressbook applications.
71This is tested and working for Nokia mobile phones, 71This is tested and working for Nokia mobile phones,
72it may work with others as well. 72it may work with others as well.
73(More info about that: -> Sync HowTo) 73(More info about that: -> Sync HowTo)
74 74
75NOTE: 75NOTE:
76When using SuSE 9.1 you have to update your KDE to 3.3.x 76When using SuSE 9.1 you have to update your KDE to 3.3.x
77and you have to make an online update in SuSE 9.1 to make it 77and you have to make an online update in SuSE 9.1 to make it
78possible to get the infrared connection working, such that 78possible to get the infrared connection working, such that
79you can sync your (Nokia) mobile phone via infrared. 79you can sync your (Nokia) mobile phone via infrared.
80 80
81%files 81%files
82/opt/kde3/share/applnk/PIM-pi/ 82/opt/kde3/share/applnk/PIM-pi/
83/opt/kdepimpi/ 83/opt/kdepimpi/
84/usr/lib/libmicro* 84/usr/lib/libmicro*
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index f558084..ddac6e4 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -59,405 +59,407 @@
59#ifdef DESKTOP_VERSION 59#ifdef DESKTOP_VERSION
60QToolTipGroup *MonthViewCell::mToolTipGroup = 0; 60QToolTipGroup *MonthViewCell::mToolTipGroup = 0;
61#endif 61#endif
62class KNOWhatsThis :public QWhatsThis 62class KNOWhatsThis :public QWhatsThis
63{ 63{
64public: 64public:
65 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { }; 65 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { };
66 //~KNOWhatsThis( ) {qDebug("~KNOWhatsThis( ) "); }; 66 //~KNOWhatsThis( ) {qDebug("~KNOWhatsThis( ) "); };
67 67
68protected: 68protected:
69 virtual QString text( const QPoint& p) 69 virtual QString text( const QPoint& p)
70 { 70 {
71 return _wid->getWhatsThisText(p) ; 71 return _wid->getWhatsThisText(p) ;
72 }; 72 };
73private: 73private:
74 KNoScrollListBox* _wid; 74 KNoScrollListBox* _wid;
75 75
76}; 76};
77 77
78 78
79KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) 79KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
80 : QListBox(parent, name, WRepaintNoErase) 80 : QListBox(parent, name, WRepaintNoErase)
81{ 81{
82#ifndef DESKTOP_VERSION 82#ifndef DESKTOP_VERSION
83 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 83 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
84#endif 84#endif
85 mWT = new KNOWhatsThis(this); 85 mWT = new KNOWhatsThis(this);
86} 86}
87KNoScrollListBox::~KNoScrollListBox() 87KNoScrollListBox::~KNoScrollListBox()
88{ 88{
89 89
90} 90}
91QString KNoScrollListBox::getWhatsThisText(QPoint p) 91QString KNoScrollListBox::getWhatsThisText(QPoint p)
92{ 92{
93 QListBoxItem* item = itemAt ( p ); 93 QListBoxItem* item = itemAt ( p );
94 if ( ! item ) { 94 if ( ! item ) {
95 return i18n("Click in the cell\nto add an event!"); 95 return i18n("Click in the cell\nto add an event!");
96 } 96 }
97 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(), 97 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(),
98 KOPrefs::instance()->mWTshowDetails, 98 KOPrefs::instance()->mWTshowDetails,
99 KOPrefs::instance()->mWTshowCreated, 99 KOPrefs::instance()->mWTshowCreated,
100 KOPrefs::instance()->mWTshowChanged); 100 KOPrefs::instance()->mWTshowChanged);
101} 101}
102void KNoScrollListBox::keyPressEvent(QKeyEvent *e) 102void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
103{ 103{
104 104
105 switch(e->key()) { 105 switch(e->key()) {
106 case Key_Right: 106 case Key_Right:
107 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 107 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
108 { 108 {
109 e->ignore(); 109 e->ignore();
110 return; 110 return;
111 } 111 }
112 scrollBy(10,0); 112 scrollBy(10,0);
113 break; 113 break;
114 case Key_Left: 114 case Key_Left:
115 if (e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 115 if (e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
116 { 116 {
117 e->ignore(); 117 e->ignore();
118 return; 118 return;
119 } 119 }
120 scrollBy(-10,0); 120 scrollBy(-10,0);
121 break; 121 break;
122 case Key_Up: 122 case Key_Up:
123 if( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { 123 if( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) {
124 e->ignore(); 124 e->ignore();
125 break; 125 break;
126 } 126 }
127 setCurrentItem((currentItem()+count()-1)%count()); 127 setCurrentItem((currentItem()+count()-1)%count());
128 if(!itemVisible(currentItem())) { 128 if(!itemVisible(currentItem())) {
129 if((unsigned int) currentItem() == (count()-1)) { 129 if((unsigned int) currentItem() == (count()-1)) {
130 setTopItem(currentItem()-numItemsVisible()+1); 130 setTopItem(currentItem()-numItemsVisible()+1);
131 } else { 131 } else {
132 setTopItem(topItem()-1); 132 setTopItem(topItem()-1);
133 } 133 }
134 } 134 }
135 break; 135 break;
136 case Key_Down: 136 case Key_Down:
137 if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { 137 if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) {
138 e->ignore(); 138 e->ignore();
139 break; 139 break;
140 } 140 }
141 setCurrentItem((currentItem()+1)%count()); 141 setCurrentItem((currentItem()+1)%count());
142 if(!itemVisible(currentItem())) { 142 if(!itemVisible(currentItem())) {
143 if(currentItem() == 0) { 143 if(currentItem() == 0) {
144 setTopItem(0); 144 setTopItem(0);
145 } else { 145 } else {
146 setTopItem(topItem()+1); 146 setTopItem(topItem()+1);
147 } 147 }
148 } 148 }
149 break; 149 break;
150 case Key_I: 150 case Key_I:
151 QTimer::singleShot( 11, this, SLOT ( oneDown() ) ); 151 QTimer::singleShot( 11, this, SLOT ( oneDown() ) );
152 e->ignore(); 152 e->ignore();
153 break; 153 break;
154 case Key_Shift: 154 case Key_Shift:
155 emit shiftDown(); 155 emit shiftDown();
156 break; 156 break;
157 default: 157 default:
158 e->ignore(); 158 e->ignore();
159 break; 159 break;
160 } 160 }
161} 161}
162 162
163void KNoScrollListBox::oneDown() 163void KNoScrollListBox::oneDown()
164{ 164{
165 setCurrentItem((currentItem()+1)%count()); 165 setCurrentItem((currentItem()+1)%count());
166 if(!itemVisible(currentItem())) { 166 if(!itemVisible(currentItem())) {
167 if(currentItem() == 0) { 167 if(currentItem() == 0) {
168 setTopItem(0); 168 setTopItem(0);
169 } else { 169 } else {
170 setTopItem(topItem()+1); 170 setTopItem(topItem()+1);
171 } 171 }
172 } 172 }
173} 173}
174void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e) 174void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e)
175{ 175{
176 switch(e->key()) { 176 switch(e->key()) {
177 case Key_Shift: 177 case Key_Shift:
178 emit shiftUp(); 178 emit shiftUp();
179 break; 179 break;
180 default: 180 default:
181 break; 181 break;
182 } 182 }
183} 183}
184 184
185void KNoScrollListBox::mousePressEvent(QMouseEvent *e) 185void KNoScrollListBox::mousePressEvent(QMouseEvent *e)
186{ 186{
187 QListBox::mousePressEvent(e); 187 QListBox::mousePressEvent(e);
188 188
189 if(e->button() == RightButton) { 189 if(e->button() == RightButton) {
190 emit rightClick(); 190 emit rightClick();
191 } 191 }
192} 192}
193 193
194MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s) 194MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s)
195 : QListBoxItem() 195 : QListBoxItem()
196{ 196{
197 setText( s ); 197 setText( s );
198 198
199 mIncidence = incidence; 199 mIncidence = incidence;
200 mDate = qd; 200 mDate = qd;
201 mRecur = false; 201 mRecur = false;
202 mAlarm = false; 202 mAlarm = false;
203 mReply = false; 203 mReply = false;
204 mInfo = false; 204 mInfo = false;
205} 205}
206 206
207void MonthViewItem::paint(QPainter *p) 207void MonthViewItem::paint(QPainter *p)
208{ 208{
209#if QT_VERSION >= 0x030000 209#if QT_VERSION >= 0x030000
210 bool sel = isSelected(); 210 bool sel = isSelected();
211#else 211#else
212 bool sel = selected(); 212 bool sel = selected();
213#endif 213#endif
214 214
215 215
216 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) 216 if (KOPrefs::instance()->mMonthViewUsesCategoryColor)
217 { 217 {
218 p->setBackgroundColor( palette().color( QPalette::Normal, \ 218 p->setBackgroundColor( palette().color( QPalette::Normal, \
219 sel ? QColorGroup::Highlight : QColorGroup::Background ) ); 219 sel ? QColorGroup::Highlight : QColorGroup::Background ) );
220 p->eraseRect( 0, 0, listBox()->maxItemWidth(), height( listBox() ) ); 220 p->eraseRect( 0, 0, listBox()->maxItemWidth(), height( listBox() ) );
221 } 221 }
222 int x = 1; 222 int x = 1;
223 //int y = 3;//(height() - mRecurPixmap.height()) /2; 223 //int y = 3;//(height() - mRecurPixmap.height()) /2;
224 int size = PIXMAP_SIZE; 224 int size = PIXMAP_SIZE;
225 if ( QApplication::desktop()->width() < 300 ) 225 if ( QApplication::desktop()->width() < 300 )
226 size = 3; 226 size = 3;
227 int y = (height( listBox () ) - size -1 ) /2; 227 int y = (height( listBox () ) - size -1 ) /2;
228 228
229 if ( KOPrefs::instance()->mMonthShowIcons ) { 229 if ( KOPrefs::instance()->mMonthShowIcons ) {
230 if ( mInfo ) { 230 if ( mInfo ) {
231 p->fillRect ( x, y,size,size, Qt::darkGreen ); 231 p->fillRect ( x, y,size,size, Qt::darkGreen );
232 x += size + 1; 232 x += size + 1;
233 } 233 }
234 if ( mRecur ) { 234 if ( mRecur ) {
235 p->fillRect ( x, y,size,size, Qt::blue ); 235 p->fillRect ( x, y,size,size, Qt::blue );
236 x += size + 1; 236 x += size + 1;
237 } 237 }
238 if ( mAlarm ) { 238 if ( mAlarm ) {
239 p->fillRect ( x, y,size,size, Qt::red ); 239 p->fillRect ( x, y,size,size, Qt::red );
240 x += size + 1; 240 x += size + 1;
241 } 241 }
242 if ( mReply ) { 242 if ( mReply ) {
243 p->fillRect ( x, y,size,size, Qt::yellow ); 243 p->fillRect ( x, y,size,size, Qt::yellow );
244 x += size + 1; 244 x += size + 1;
245 } 245 }
246 } 246 }
247 if ( mMultiday ) { 247 if ( mMultiday ) {
248 int yyy = y+(size/2); 248 int yyy = y+(size/2);
249 int sizeM = size+2; 249 int sizeM = size+2;
250 p->setBrush( QBrush::SolidPattern ); 250 p->setBrush( QBrush::SolidPattern );
251 p->drawLine ( x+sizeM/2, yyy, x +sizeM +sizeM/2-2, yyy ) ; 251 p->drawLine ( x+1, yyy, x +sizeM +sizeM/2-1, yyy ) ;
252 if ( mMultiday == 2 || mMultiday == 3 ) { 252 if ( mMultiday == 2 || mMultiday == 3 ) {
253 QPointArray pa ( 3 ); 253 QPointArray pa ( 3 );
254 pa.setPoint (0, x, yyy ); 254 pa.setPoint (0, x, yyy );
255 pa.setPoint (1, x+sizeM/2, yyy+sizeM/2 ); 255 pa.setPoint (1, x+sizeM/2, yyy+sizeM/2 );
256 pa.setPoint (2, x+sizeM/2, yyy-sizeM/2 ); 256 pa.setPoint (2, x+sizeM/2, yyy-sizeM/2 );
257 p->drawPolygon( pa ); 257 p->drawPolygon( pa );
258 } 258 }
259 if ( mMultiday == 2 || mMultiday == 1 ) { 259 if ( mMultiday == 2 || mMultiday == 1 ) {
260 QPointArray pa ( 3 ); 260 QPointArray pa ( 3 );
261 pa.setPoint (0, x+sizeM +sizeM/2, yyy ); 261 pa.setPoint (0, x+sizeM +sizeM/2, yyy );
262 pa.setPoint (1, x+sizeM, yyy+sizeM/2 ); 262 pa.setPoint (1, x+sizeM, yyy+sizeM/2 );
263 pa.setPoint (2, x+sizeM, yyy-sizeM/2 ); 263 pa.setPoint (2, x+sizeM, yyy-sizeM/2 );
264 p->drawPolygon( pa ); 264 p->drawPolygon( pa );
265 } 265 }
266 if ( mMultiday == 1 ) { 266 if ( mMultiday == 1 ) {
267 p->fillRect ( x, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) ); 267 // p->fillRect ( x, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) );
268 268
269 p->drawLine ( x+1, yyy-sizeM/2, x+1, yyy+sizeM/2 );
269 } 270 }
270 if ( mMultiday == 3 ) { 271 if ( mMultiday == 3 ) {
271 p->fillRect ( x+sizeM, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) ); 272 // p->fillRect ( x+sizeM, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) );
273 p->drawLine ( x+sizeM +sizeM/2-1, yyy-sizeM/2, x+sizeM +sizeM/2-1, yyy+sizeM/2 );
272 274
273 } 275 }
274 x += sizeM/2 + 1; 276 x += sizeM/2 + 1;
275 x += sizeM + 1; 277 x += sizeM + 1;
276 } 278 }
277 QFontMetrics fm = p->fontMetrics(); 279 QFontMetrics fm = p->fontMetrics();
278 int yPos; 280 int yPos;
279 int pmheight = size; 281 int pmheight = size;
280 if( pmheight < fm.height() ) 282 if( pmheight < fm.height() )
281 yPos = fm.ascent() + fm.leading()/2; 283 yPos = fm.ascent() + fm.leading()/2;
282 else 284 else
283 yPos = pmheight/2 - fm.height()/2 + fm.ascent(); 285 yPos = pmheight/2 - fm.height()/2 + fm.ascent();
284 p->setPen( palette().color( QPalette::Normal, sel ? \ 286 p->setPen( palette().color( QPalette::Normal, sel ? \
285 QColorGroup::HighlightedText : QColorGroup::Foreground ) ); 287 QColorGroup::HighlightedText : QColorGroup::Foreground ) );
286 p->drawText( x, yPos, text() ); 288 p->drawText( x, yPos, text() );
287 if ( mIncidence->cancelled() ) { 289 if ( mIncidence->cancelled() ) {
288 int wid = fm.width( text() ); 290 int wid = fm.width( text() );
289 p->drawLine( x, yPos- fm.height()/2+3,x+wid, yPos- fm.height()/2 +3); 291 p->drawLine( x, yPos- fm.height()/2+3,x+wid, yPos- fm.height()/2 +3);
290 } 292 }
291 293
292} 294}
293 295
294int MonthViewItem::height(const QListBox *lb) const 296int MonthViewItem::height(const QListBox *lb) const
295{ 297{
296 if ( lb ) 298 if ( lb )
297 return lb->fontMetrics().lineSpacing()+1; 299 return lb->fontMetrics().lineSpacing()+1;
298 return 10; 300 return 10;
299} 301}
300 302
301int MonthViewItem::width(const QListBox *lb) const 303int MonthViewItem::width(const QListBox *lb) const
302{ 304{
303 int size = PIXMAP_SIZE; 305 int size = PIXMAP_SIZE;
304 if ( QApplication::desktop()->width() < 300 ) 306 if ( QApplication::desktop()->width() < 300 )
305 size = 3; 307 size = 3;
306 int x = 1; 308 int x = 1;
307 if ( KOPrefs::instance()->mMonthShowIcons ) { 309 if ( KOPrefs::instance()->mMonthShowIcons ) {
308 if ( mInfo ) { 310 if ( mInfo ) {
309 x += size + 1; 311 x += size + 1;
310 } 312 }
311 if( mRecur ) { 313 if( mRecur ) {
312 x += size+1; 314 x += size+1;
313 } 315 }
314 if( mAlarm ) { 316 if( mAlarm ) {
315 x += size+1; 317 x += size+1;
316 } 318 }
317 if( mReply ) { 319 if( mReply ) {
318 x += size+1; 320 x += size+1;
319 } 321 }
320 } 322 }
321 if( mMultiday ) { 323 if( mMultiday ) {
322 x += size+1+2+size/2; 324 x += size+1+2+size/2;
323 } 325 }
324 326
325 return( x + lb->fontMetrics().width( text() ) + 1 ); 327 return( x + lb->fontMetrics().width( text() ) + 1 );
326} 328}
327 329
328 330
329MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par ) 331MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par )
330 : QWidget( par ), 332 : QWidget( par ),
331 mMonthView( parent ) 333 mMonthView( parent )
332{ 334{
333 335
334 QVBoxLayout *topLayout = new QVBoxLayout( this ); 336 QVBoxLayout *topLayout = new QVBoxLayout( this );
335 337
336 // mLabel = new QLabel( this );QPushButton 338 // mLabel = new QLabel( this );QPushButton
337 mLabel = new QPushButton( this ); 339 mLabel = new QPushButton( this );
338 //mLabel->setFrameStyle( QFrame::Panel | QFrame::Plain ); 340 //mLabel->setFrameStyle( QFrame::Panel | QFrame::Plain );
339 //mLabel->setLineWidth( 1 ); 341 //mLabel->setLineWidth( 1 );
340 //mLabel->setAlignment( AlignCenter ); 342 //mLabel->setAlignment( AlignCenter );
341 mLabel->setFlat( true ); 343 mLabel->setFlat( true );
342 mLabel->setFocusPolicy(NoFocus); 344 mLabel->setFocusPolicy(NoFocus);
343 mItemList = new KNoScrollListBox( this ); 345 mItemList = new KNoScrollListBox( this );
344 mItemList->setMinimumSize( 10, 10 ); 346 mItemList->setMinimumSize( 10, 10 );
345 mItemList->setFrameStyle( QFrame::Panel | QFrame::Plain ); 347 mItemList->setFrameStyle( QFrame::Panel | QFrame::Plain );
346 mItemList->setLineWidth( 1 ); 348 mItemList->setLineWidth( 1 );
347 topLayout->addWidget( mItemList ); 349 topLayout->addWidget( mItemList );
348 mLabel->raise(); 350 mLabel->raise();
349 // QColor( 0,0,255 ) QColor( 160,1600,255 ) 351 // QColor( 0,0,255 ) QColor( 160,1600,255 )
350 mStandardPalette = palette(); 352 mStandardPalette = palette();
351 mStandardPalette.setColor(QColorGroup::Base, mStandardPalette.color( QPalette::Normal, QColorGroup::Background ) ); 353 mStandardPalette.setColor(QColorGroup::Base, mStandardPalette.color( QPalette::Normal, QColorGroup::Background ) );
352 354
353 enableScrollBars( false ); 355 enableScrollBars( false );
354 updateConfig(); 356 updateConfig();
355 //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() )); 357 //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() ));
356 connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() )); 358 connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() ));
357 connect( mItemList, SIGNAL( doubleClicked( QListBoxItem *) ), 359 connect( mItemList, SIGNAL( doubleClicked( QListBoxItem *) ),
358 SLOT( defaultAction( QListBoxItem * ) ) ); 360 SLOT( defaultAction( QListBoxItem * ) ) );
359 connect( mItemList, SIGNAL( rightButtonPressed( QListBoxItem *, 361 connect( mItemList, SIGNAL( rightButtonPressed( QListBoxItem *,
360 const QPoint &) ), 362 const QPoint &) ),
361 SLOT( contextMenu( QListBoxItem * ) ) ); 363 SLOT( contextMenu( QListBoxItem * ) ) );
362 connect( mItemList, SIGNAL( highlighted( QListBoxItem *) ), 364 connect( mItemList, SIGNAL( highlighted( QListBoxItem *) ),
363 SLOT( selection( QListBoxItem * ) ) ); 365 SLOT( selection( QListBoxItem * ) ) );
364 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), 366 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ),
365 SLOT( cellClicked( QListBoxItem * ) ) ); 367 SLOT( cellClicked( QListBoxItem * ) ) );
366 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), 368 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ),
367 SLOT( selection( QListBoxItem * ) ) ); 369 SLOT( selection( QListBoxItem * ) ) );
368} 370}
369#ifdef DESKTOP_VERSION 371#ifdef DESKTOP_VERSION
370QToolTipGroup *MonthViewCell::toolTipGroup() 372QToolTipGroup *MonthViewCell::toolTipGroup()
371{ 373{
372 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0); 374 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0);
373 return mToolTipGroup; 375 return mToolTipGroup;
374} 376}
375#endif 377#endif
376 378
377void MonthViewCell::setDate( const QDate &date ) 379void MonthViewCell::setDate( const QDate &date )
378{ 380{
379 // kdDebug() << "MonthViewCell::setDate(): " << date.toString() << endl; 381 // kdDebug() << "MonthViewCell::setDate(): " << date.toString() << endl;
380 mDate = date; 382 mDate = date;
381 383
382 384
383 385
384 //resizeEvent( 0 ); 386 //resizeEvent( 0 );
385} 387}
386 388
387QDate MonthViewCell::date() const 389QDate MonthViewCell::date() const
388{ 390{
389 return mDate; 391 return mDate;
390} 392}
391 393
392void MonthViewCell::setPrimary( bool primary ) 394void MonthViewCell::setPrimary( bool primary )
393{ 395{
394 mPrimary = primary; 396 mPrimary = primary;
395 //setMyPalette(); 397 //setMyPalette();
396} 398}
397void MonthViewCell::setMyPalette() 399void MonthViewCell::setMyPalette()
398{ 400{
399 401
400 if ( mHoliday) { 402 if ( mHoliday) {
401 setPalette( mHolidayPalette ); 403 setPalette( mHolidayPalette );
402 } else { 404 } else {
403 if ( mPrimary ) { 405 if ( mPrimary ) {
404 setPalette( mPrimaryPalette ); 406 setPalette( mPrimaryPalette );
405 } else { 407 } else {
406 setPalette( mNonPrimaryPalette ); 408 setPalette( mNonPrimaryPalette );
407 } 409 }
408 } 410 }
409 QPalette pal = palette(); 411 QPalette pal = palette();
410 412
411 mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) )); 413 mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) ));
412} 414}
413QPalette MonthViewCell::getPalette () 415QPalette MonthViewCell::getPalette ()
414{ 416{
415 if ( !KOPrefs::instance()->mMonthViewUsesDayColors ) 417 if ( !KOPrefs::instance()->mMonthViewUsesDayColors )
416 return mStandardPalette; 418 return mStandardPalette;
417 if ( mHoliday) { 419 if ( mHoliday) {
418 return mHolidayPalette ; 420 return mHolidayPalette ;
419 } else { 421 } else {
420 if ( mPrimary ) { 422 if ( mPrimary ) {
421 return mPrimaryPalette ; 423 return mPrimaryPalette ;
422 } 424 }
423 } 425 }
424 return mNonPrimaryPalette; 426 return mNonPrimaryPalette;
425} 427}
426bool MonthViewCell::isPrimary() const 428bool MonthViewCell::isPrimary() const
427{ 429{
428 return mPrimary; 430 return mPrimary;
429} 431}
430 432
431void MonthViewCell::setHoliday( bool holiday ) 433void MonthViewCell::setHoliday( bool holiday )
432{ 434{
433 mHoliday = holiday; 435 mHoliday = holiday;
434 //setMyPalette(); 436 //setMyPalette();
435} 437}
436 438
437void MonthViewCell::setHoliday( const QString &holiday ) 439void MonthViewCell::setHoliday( const QString &holiday )
438{ 440{
439 mHolidayString = holiday; 441 mHolidayString = holiday;
440 442
441 if ( !holiday.isEmpty() ) { 443 if ( !holiday.isEmpty() ) {
442 setHoliday( true ); 444 setHoliday( true );
443 } 445 }
444} 446}
445void MonthViewCell::keyPressEvent ( QKeyEvent * e ) 447void MonthViewCell::keyPressEvent ( QKeyEvent * e )
446{ 448{
447 449
448 e->ignore(); 450 e->ignore();
449 451
450} 452}
451 453
452void MonthViewCell::startUpdateCell() 454void MonthViewCell::startUpdateCell()
453{ 455{
454 456
455 mItemList->setFocusPolicy(NoFocus); 457 mItemList->setFocusPolicy(NoFocus);
456 if ( !mMonthView->isUpdatePossible() ) 458 if ( !mMonthView->isUpdatePossible() )
457 return; 459 return;
458 460
459 /* 461 /*
460 if ( !isVisible() ){ 462 if ( !isVisible() ){
461 return; 463 return;
462 } 464 }
463 */ 465 */
diff --git a/version b/version
index b130b34..dc90642 100644
--- a/version
+++ b/version
@@ -1 +1 @@
version = "2.0.8"; version = "2.0.9";