-rw-r--r-- | korganizer/calendarview.cpp | 11 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 3 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 4 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 171 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 |
6 files changed, 114 insertions, 77 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index d0de233..c0f3be7 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -1,516 +1,517 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | 3 | ||
4 | Requires the Qt and KDE widget libraries, available at no cost at | 4 | Requires the Qt and KDE widget libraries, available at no cost at |
5 | http://www.troll.no and http://www.kde.org respectively | 5 | http://www.troll.no and http://www.kde.org respectively |
6 | 6 | ||
7 | Copyright (c) 1997, 1998, 1999 | 7 | Copyright (c) 1997, 1998, 1999 |
8 | Preston Brown (preton.brown@yale.edu) | 8 | Preston Brown (preton.brown@yale.edu) |
9 | Fester Zigterman (F.J.F.ZigtermanRustenburg@student.utwente.nl) | 9 | Fester Zigterman (F.J.F.ZigtermanRustenburg@student.utwente.nl) |
10 | Ian Dawes (iadawes@globalserve.net) | 10 | Ian Dawes (iadawes@globalserve.net) |
11 | Laszlo Boloni (boloni@cs.purdue.edu) | 11 | Laszlo Boloni (boloni@cs.purdue.edu) |
12 | 12 | ||
13 | Copyright (c) 2000, 2001, 2002 | 13 | Copyright (c) 2000, 2001, 2002 |
14 | Cornelius Schumacher <schumacher@kde.org> | 14 | Cornelius Schumacher <schumacher@kde.org> |
15 | 15 | ||
16 | This program is free software; you can redistribute it and/or modify | 16 | This program is free software; you can redistribute it and/or modify |
17 | it under the terms of the GNU General Public License as published by | 17 | it under the terms of the GNU General Public License as published by |
18 | the Free Software Foundation; either version 2 of the License, or | 18 | the Free Software Foundation; either version 2 of the License, or |
19 | (at your option) any later version. | 19 | (at your option) any later version. |
20 | 20 | ||
21 | This program is distributed in the hope that it will be useful, | 21 | This program is distributed in the hope that it will be useful, |
22 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 22 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
23 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the | 23 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the |
24 | GNU General Public License for more details. | 24 | GNU General Public License for more details. |
25 | 25 | ||
26 | You should have received a copy of the GNU General Public License | 26 | You should have received a copy of the GNU General Public License |
27 | along with this program; if not, write to the Free Software | 27 | along with this program; if not, write to the Free Software |
28 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 28 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include <stdlib.h> | 31 | #include <stdlib.h> |
32 | 32 | ||
33 | #include <qapplication.h> | 33 | #include <qapplication.h> |
34 | #include <qradiobutton.h> | 34 | #include <qradiobutton.h> |
35 | #include <qbuttongroup.h> | 35 | #include <qbuttongroup.h> |
36 | #include <qlayout.h> | 36 | #include <qlayout.h> |
37 | #include <qclipboard.h> | 37 | #include <qclipboard.h> |
38 | #include <qcursor.h> | 38 | #include <qcursor.h> |
39 | #include <qmessagebox.h> | 39 | #include <qmessagebox.h> |
40 | #include <qprogressbar.h> | 40 | #include <qprogressbar.h> |
41 | #include <qmultilineedit.h> | 41 | #include <qmultilineedit.h> |
42 | #include <qtimer.h> | 42 | #include <qtimer.h> |
43 | #include <qwidgetstack.h> | 43 | #include <qwidgetstack.h> |
44 | #include <qptrlist.h> | 44 | #include <qptrlist.h> |
45 | #include <qregexp.h> | 45 | #include <qregexp.h> |
46 | #include <qgroupbox.h> | 46 | #include <qgroupbox.h> |
47 | #include <qfile.h> | 47 | #include <qfile.h> |
48 | #include <qdir.h> | 48 | #include <qdir.h> |
49 | #ifndef KORG_NOSPLITTER | 49 | #ifndef KORG_NOSPLITTER |
50 | #include <qsplitter.h> | 50 | #include <qsplitter.h> |
51 | #endif | 51 | #endif |
52 | 52 | ||
53 | #include <kglobal.h> | 53 | #include <kglobal.h> |
54 | #include <kdebug.h> | 54 | #include <kdebug.h> |
55 | #include <kstandarddirs.h> | 55 | #include <kstandarddirs.h> |
56 | #include <kfiledialog.h> | 56 | #include <kfiledialog.h> |
57 | #include <kmessagebox.h> | 57 | #include <kmessagebox.h> |
58 | #include <knotifyclient.h> | 58 | #include <knotifyclient.h> |
59 | #include <kconfig.h> | 59 | #include <kconfig.h> |
60 | 60 | ||
61 | #include <libkdepim/ksyncprefsdialog.h> | 61 | #include <libkdepim/ksyncprefsdialog.h> |
62 | #include <krun.h> | 62 | #include <krun.h> |
63 | #include <kdirwatch.h> | 63 | #include <kdirwatch.h> |
64 | #include <libkdepim/kdatepicker.h> | 64 | #include <libkdepim/kdatepicker.h> |
65 | #include <libkdepim/ksyncprofile.h> | 65 | #include <libkdepim/ksyncprofile.h> |
66 | #include <libkdepim/kpimglobalprefs.h> | 66 | #include <libkdepim/kpimglobalprefs.h> |
67 | 67 | ||
68 | #include <libkcal/vcaldrag.h> | 68 | #include <libkcal/vcaldrag.h> |
69 | #include <libkcal/icaldrag.h> | 69 | #include <libkcal/icaldrag.h> |
70 | #include <libkcal/icalformat.h> | 70 | #include <libkcal/icalformat.h> |
71 | #include <libkcal/vcalformat.h> | 71 | #include <libkcal/vcalformat.h> |
72 | #include <libkcal/scheduler.h> | 72 | #include <libkcal/scheduler.h> |
73 | #include <libkcal/calendarlocal.h> | 73 | #include <libkcal/calendarlocal.h> |
74 | #include <libkcal/journal.h> | 74 | #include <libkcal/journal.h> |
75 | #include <libkcal/calfilter.h> | 75 | #include <libkcal/calfilter.h> |
76 | #include <libkcal/attendee.h> | 76 | #include <libkcal/attendee.h> |
77 | #include <libkcal/dndfactory.h> | 77 | #include <libkcal/dndfactory.h> |
78 | #include <libkcal/freebusy.h> | 78 | #include <libkcal/freebusy.h> |
79 | #include <libkcal/filestorage.h> | 79 | #include <libkcal/filestorage.h> |
80 | #include <libkcal/calendarresources.h> | 80 | #include <libkcal/calendarresources.h> |
81 | #include <libkcal/qtopiaformat.h> | 81 | #include <libkcal/qtopiaformat.h> |
82 | #include "../kalarmd/alarmdialog.h" | 82 | #include "../kalarmd/alarmdialog.h" |
83 | 83 | ||
84 | #ifndef DESKTOP_VERSION | 84 | #ifndef DESKTOP_VERSION |
85 | #include <libkcal/sharpformat.h> | 85 | #include <libkcal/sharpformat.h> |
86 | #include <externalapphandler.h> | 86 | #include <externalapphandler.h> |
87 | #endif | 87 | #endif |
88 | #include <libkcal/phoneformat.h> | 88 | #include <libkcal/phoneformat.h> |
89 | #ifndef KORG_NOMAIL | 89 | #ifndef KORG_NOMAIL |
90 | #include "komailclient.h" | 90 | #include "komailclient.h" |
91 | #endif | 91 | #endif |
92 | #ifndef KORG_NOPRINTER | 92 | #ifndef KORG_NOPRINTER |
93 | #include "calprinter.h" | 93 | #include "calprinter.h" |
94 | #endif | 94 | #endif |
95 | #ifndef KORG_NOPLUGINS | 95 | #ifndef KORG_NOPLUGINS |
96 | #include "kocore.h" | 96 | #include "kocore.h" |
97 | #endif | 97 | #endif |
98 | #include "koeventeditor.h" | 98 | #include "koeventeditor.h" |
99 | #include "kotodoeditor.h" | 99 | #include "kotodoeditor.h" |
100 | #include "koprefs.h" | 100 | #include "koprefs.h" |
101 | #include "koeventviewerdialog.h" | 101 | #include "koeventviewerdialog.h" |
102 | #include "publishdialog.h" | 102 | #include "publishdialog.h" |
103 | #include "kofilterview.h" | 103 | #include "kofilterview.h" |
104 | #include "koglobals.h" | 104 | #include "koglobals.h" |
105 | #include "koviewmanager.h" | 105 | #include "koviewmanager.h" |
106 | #include "koagendaview.h" | 106 | #include "koagendaview.h" |
107 | #include "kodialogmanager.h" | 107 | #include "kodialogmanager.h" |
108 | #include "outgoingdialog.h" | 108 | #include "outgoingdialog.h" |
109 | #include "incomingdialog.h" | 109 | #include "incomingdialog.h" |
110 | #include "datenavigatorcontainer.h" | 110 | #include "datenavigatorcontainer.h" |
111 | #include "statusdialog.h" | 111 | #include "statusdialog.h" |
112 | #include "kdatenavigator.h" | 112 | #include "kdatenavigator.h" |
113 | #include "kotodoview.h" | 113 | #include "kotodoview.h" |
114 | #include "datenavigator.h" | 114 | #include "datenavigator.h" |
115 | #include "resourceview.h" | 115 | #include "resourceview.h" |
116 | #include "navigatorbar.h" | 116 | #include "navigatorbar.h" |
117 | #include "searchdialog.h" | 117 | #include "searchdialog.h" |
118 | #include "mainwindow.h" | 118 | #include "mainwindow.h" |
119 | #include "categoryeditdialog.h" | ||
119 | 120 | ||
120 | #include "calendarview.h" | 121 | #include "calendarview.h" |
121 | #ifndef DESKTOP_VERSION | 122 | #ifndef DESKTOP_VERSION |
122 | #include <qtopia/alarmserver.h> | 123 | #include <qtopia/alarmserver.h> |
123 | #endif | 124 | #endif |
124 | #ifndef _WIN32_ | 125 | #ifndef _WIN32_ |
125 | #include <stdlib.h> | 126 | #include <stdlib.h> |
126 | #include <stdio.h> | 127 | #include <stdio.h> |
127 | #include <unistd.h> | 128 | #include <unistd.h> |
128 | #else | 129 | #else |
129 | #include <qprocess.h> | 130 | #include <qprocess.h> |
130 | #endif | 131 | #endif |
131 | 132 | ||
132 | #ifdef DESKTOP_VERSION | 133 | #ifdef DESKTOP_VERSION |
133 | #include <kabc/stdaddressbook.h> | 134 | #include <kabc/stdaddressbook.h> |
134 | #endif | 135 | #endif |
135 | using namespace KOrg; | 136 | using namespace KOrg; |
136 | using namespace KCal; | 137 | using namespace KCal; |
137 | extern int globalFlagBlockAgenda; | 138 | extern int globalFlagBlockAgenda; |
138 | extern int globalFlagBlockStartup; | 139 | extern int globalFlagBlockStartup; |
139 | 140 | ||
140 | 141 | ||
141 | MissedAlarmTextBrowser::MissedAlarmTextBrowser(QWidget *parent, QPtrList<Incidence> alarms,QDateTime start ) : QTextBrowser(parent) | 142 | MissedAlarmTextBrowser::MissedAlarmTextBrowser(QWidget *parent, QPtrList<Incidence> alarms,QDateTime start ) : QTextBrowser(parent) |
142 | 143 | ||
143 | { | 144 | { |
144 | mAlarms = alarms; | 145 | mAlarms = alarms; |
145 | viewport()->setBackgroundColor( QColor( 255, 255, 255 ) ); | 146 | viewport()->setBackgroundColor( QColor( 255, 255, 255 ) ); |
146 | QString mText = "<table width=\"100%\">\n"; | 147 | QString mText = "<table width=\"100%\">\n"; |
147 | //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; | 148 | //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; |
148 | #ifdef DESKTOP_VERSION | 149 | #ifdef DESKTOP_VERSION |
149 | mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>"; | 150 | mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>"; |
150 | #else | 151 | #else |
151 | mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h3>"; | 152 | mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h3>"; |
152 | #endif | 153 | #endif |
153 | // mText += "<img src=\""; | 154 | // mText += "<img src=\""; |
154 | // mText += ipath; | 155 | // mText += ipath; |
155 | // mText += "\">"; | 156 | // mText += "\">"; |
156 | //mEventDate = QDate::currentDate(); | 157 | //mEventDate = QDate::currentDate(); |
157 | #ifdef DESKTOP_VERSION | 158 | #ifdef DESKTOP_VERSION |
158 | mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h2>"; | 159 | mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h2>"; |
159 | #else | 160 | #else |
160 | mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h3>"; | 161 | mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h3>"; |
161 | #endif | 162 | #endif |
162 | //mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>"; | 163 | //mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>"; |
163 | 164 | ||
164 | Incidence * inc = getNextInc( start ); | 165 | Incidence * inc = getNextInc( start ); |
165 | int time = 0; | 166 | int time = 0; |
166 | //mText += "<table>"; | 167 | //mText += "<table>"; |
167 | while ( inc ) { | 168 | while ( inc ) { |
168 | QDateTime dt ; | 169 | QDateTime dt ; |
169 | QString tempText = "<a "; | 170 | QString tempText = "<a "; |
170 | bool ok; | 171 | bool ok; |
171 | dt = inc->getNextOccurence( start, &ok ); | 172 | dt = inc->getNextOccurence( start, &ok ); |
172 | if ( !ok ) continue; | 173 | if ( !ok ) continue; |
173 | if ( inc->typeID() == eventID ) { | 174 | if ( inc->typeID() == eventID ) { |
174 | tempText += "href=\"event:"; | 175 | tempText += "href=\"event:"; |
175 | } else if ( inc->typeID() == todoID ) { | 176 | } else if ( inc->typeID() == todoID ) { |
176 | tempText += "href=\"todo:"; | 177 | tempText += "href=\"todo:"; |
177 | } | 178 | } |
178 | tempText += inc->uid() + "\">"; | 179 | tempText += inc->uid() + "\">"; |
179 | if ( inc->typeID() == todoID ) | 180 | if ( inc->typeID() == todoID ) |
180 | tempText += i18n("Todo: "); | 181 | tempText += i18n("Todo: "); |
181 | if ( inc->summary().length() > 0 ) | 182 | if ( inc->summary().length() > 0 ) |
182 | tempText += inc->summary(); | 183 | tempText += inc->summary(); |
183 | else | 184 | else |
184 | tempText += i18n("-no summary-"); | 185 | tempText += i18n("-no summary-"); |
185 | QString timestr; | 186 | QString timestr; |
186 | if (!inc->doesFloat()) | 187 | if (!inc->doesFloat()) |
187 | timestr = KGlobal::locale()->formatDateTime( dt, KOPrefs::instance()->mShortDateInViewer) +": "; | 188 | timestr = KGlobal::locale()->formatDateTime( dt, KOPrefs::instance()->mShortDateInViewer) +": "; |
188 | else | 189 | else |
189 | timestr = KGlobal::locale()->formatDate( dt.date() , KOPrefs::instance()->mShortDateInViewer) +": "; | 190 | timestr = KGlobal::locale()->formatDate( dt.date() , KOPrefs::instance()->mShortDateInViewer) +": "; |
190 | if ( dt.date() < QDate::currentDate() && time == 0 ) { | 191 | if ( dt.date() < QDate::currentDate() && time == 0 ) { |
191 | mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>"; | 192 | mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>"; |
192 | mText += "<table>"; | 193 | mText += "<table>"; |
193 | time = 1; | 194 | time = 1; |
194 | } | 195 | } |
195 | if ( dt.date() == QDate::currentDate() && time <= 1 ) { | 196 | if ( dt.date() == QDate::currentDate() && time <= 1 ) { |
196 | if ( time > 0 ) | 197 | if ( time > 0 ) |
197 | mText +="</table>"; | 198 | mText +="</table>"; |
198 | mText += "</td></tr>\n<tr bgcolor=\"#FFDC64\"><td>"; | 199 | mText += "</td></tr>\n<tr bgcolor=\"#FFDC64\"><td>"; |
199 | mText += "<table>"; | 200 | mText += "<table>"; |
200 | time = 2; | 201 | time = 2; |
201 | 202 | ||
202 | } | 203 | } |
203 | if ( dt.date() > QDate::currentDate() && time <= 2 ) { | 204 | if ( dt.date() > QDate::currentDate() && time <= 2 ) { |
204 | if ( time > 0 ) | 205 | if ( time > 0 ) |
205 | mText +="</table>"; | 206 | mText +="</table>"; |
206 | mText += "</td></tr>\n<tr bgcolor=\"#6AFF6A\"><td>"; | 207 | mText += "</td></tr>\n<tr bgcolor=\"#6AFF6A\"><td>"; |
207 | mText += "<table>"; | 208 | mText += "<table>"; |
208 | time = 3; | 209 | time = 3; |
209 | } | 210 | } |
210 | mText +="<tr><td><b>"; | 211 | mText +="<tr><td><b>"; |
211 | mText += timestr; | 212 | mText += timestr; |
212 | mText += "</b></td><td>"; | 213 | mText += "</b></td><td>"; |
213 | mText += tempText; | 214 | mText += tempText; |
214 | mText += "</td></tr>\n"; | 215 | mText += "</td></tr>\n"; |
215 | inc = getNextInc( start ); | 216 | inc = getNextInc( start ); |
216 | } | 217 | } |
217 | mText +="</table>"; | 218 | mText +="</table>"; |
218 | setText( mText ); | 219 | setText( mText ); |
219 | } | 220 | } |
220 | 221 | ||
221 | MissedAlarmTextBrowser::~MissedAlarmTextBrowser() | 222 | MissedAlarmTextBrowser::~MissedAlarmTextBrowser() |
222 | { | 223 | { |
223 | //qDebug("delete MissedAlarmTextBrowser::~MissedAlarmTextBrowser() "); | 224 | //qDebug("delete MissedAlarmTextBrowser::~MissedAlarmTextBrowser() "); |
224 | } | 225 | } |
225 | Incidence * MissedAlarmTextBrowser::getNextInc( QDateTime start ) | 226 | Incidence * MissedAlarmTextBrowser::getNextInc( QDateTime start ) |
226 | { | 227 | { |
227 | QDateTime dt ; | 228 | QDateTime dt ; |
228 | Incidence * retInc; | 229 | Incidence * retInc; |
229 | Incidence * inc = mAlarms.first(); | 230 | Incidence * inc = mAlarms.first(); |
230 | if ( inc == 0 ) | 231 | if ( inc == 0 ) |
231 | return 0; | 232 | return 0; |
232 | bool ok; | 233 | bool ok; |
233 | dt = inc->getNextOccurence( start, &ok ); | 234 | dt = inc->getNextOccurence( start, &ok ); |
234 | if ( ! ok ) return 0; | 235 | if ( ! ok ) return 0; |
235 | QDateTime dtn ; | 236 | QDateTime dtn ; |
236 | retInc = inc; | 237 | retInc = inc; |
237 | inc = mAlarms.next(); | 238 | inc = mAlarms.next(); |
238 | while ( inc ) { | 239 | while ( inc ) { |
239 | dtn = inc->getNextOccurence( start, &ok ); | 240 | dtn = inc->getNextOccurence( start, &ok ); |
240 | if ( ! ok ) return 0; | 241 | if ( ! ok ) return 0; |
241 | if ( dtn < dt ) { | 242 | if ( dtn < dt ) { |
242 | dt = dtn; | 243 | dt = dtn; |
243 | retInc = inc; | 244 | retInc = inc; |
244 | } | 245 | } |
245 | inc = mAlarms.next(); | 246 | inc = mAlarms.next(); |
246 | } | 247 | } |
247 | mAlarms.remove( retInc ); | 248 | mAlarms.remove( retInc ); |
248 | return retInc; | 249 | return retInc; |
249 | 250 | ||
250 | } | 251 | } |
251 | void MissedAlarmTextBrowser::setSource(const QString & n) | 252 | void MissedAlarmTextBrowser::setSource(const QString & n) |
252 | { | 253 | { |
253 | if (n.startsWith("event:")) { | 254 | if (n.startsWith("event:")) { |
254 | #ifdef DESKTOP_VERSION | 255 | #ifdef DESKTOP_VERSION |
255 | emit showIncidence(n.mid(8)); | 256 | emit showIncidence(n.mid(8)); |
256 | #else | 257 | #else |
257 | emit showIncidence(n.mid(6)); | 258 | emit showIncidence(n.mid(6)); |
258 | #endif | 259 | #endif |
259 | return; | 260 | return; |
260 | } else if (n.startsWith("todo:")) { | 261 | } else if (n.startsWith("todo:")) { |
261 | #ifdef DESKTOP_VERSION | 262 | #ifdef DESKTOP_VERSION |
262 | emit showIncidence(n.mid(7)); | 263 | emit showIncidence(n.mid(7)); |
263 | #else | 264 | #else |
264 | emit showIncidence(n.mid(5)); | 265 | emit showIncidence(n.mid(5)); |
265 | #endif | 266 | #endif |
266 | return; | 267 | return; |
267 | } | 268 | } |
268 | } | 269 | } |
269 | 270 | ||
270 | 271 | ||
271 | class KOBeamPrefs : public QDialog | 272 | class KOBeamPrefs : public QDialog |
272 | { | 273 | { |
273 | public: | 274 | public: |
274 | KOBeamPrefs( QWidget *parent=0, const char *name=0 ) : | 275 | KOBeamPrefs( QWidget *parent=0, const char *name=0 ) : |
275 | QDialog( parent, name, true ) | 276 | QDialog( parent, name, true ) |
276 | { | 277 | { |
277 | setCaption( i18n("Beam Options") ); | 278 | setCaption( i18n("Beam Options") ); |
278 | QVBoxLayout* lay = new QVBoxLayout( this ); | 279 | QVBoxLayout* lay = new QVBoxLayout( this ); |
279 | lay->setSpacing( 3 ); | 280 | lay->setSpacing( 3 ); |
280 | lay->setMargin( 3 ); | 281 | lay->setMargin( 3 ); |
281 | QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this ); | 282 | QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this ); |
282 | lay->addWidget( format ); | 283 | lay->addWidget( format ); |
283 | format->setExclusive ( true ) ; | 284 | format->setExclusive ( true ) ; |
284 | QButtonGroup* time = new QButtonGroup(1, Horizontal, i18n("Time format"), this ); | 285 | QButtonGroup* time = new QButtonGroup(1, Horizontal, i18n("Time format"), this ); |
285 | lay->addWidget( time ); time->setExclusive ( true ) ; | 286 | lay->addWidget( time ); time->setExclusive ( true ) ; |
286 | vcal = new QRadioButton(" vCalendar ", format ); | 287 | vcal = new QRadioButton(" vCalendar ", format ); |
287 | ical = new QRadioButton(" iCalendar ", format ); | 288 | ical = new QRadioButton(" iCalendar ", format ); |
288 | vcal->setChecked( true ); | 289 | vcal->setChecked( true ); |
289 | tz = new QRadioButton(i18n(" With timezone "), time ); | 290 | tz = new QRadioButton(i18n(" With timezone "), time ); |
290 | local = new QRadioButton(i18n(" Local time "), time ); | 291 | local = new QRadioButton(i18n(" Local time "), time ); |
291 | tz->setChecked( true ); | 292 | tz->setChecked( true ); |
292 | QPushButton * ok = new QPushButton( i18n("Beam via IR!"), this ); | 293 | QPushButton * ok = new QPushButton( i18n("Beam via IR!"), this ); |
293 | lay->addWidget( ok ); | 294 | lay->addWidget( ok ); |
294 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); | 295 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); |
295 | lay->addWidget( cancel ); | 296 | lay->addWidget( cancel ); |
296 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); | 297 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); |
297 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); | 298 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); |
298 | resize( 200, 200 ); | 299 | resize( 200, 200 ); |
299 | } | 300 | } |
300 | 301 | ||
301 | bool beamVcal() { return vcal->isChecked(); } | 302 | bool beamVcal() { return vcal->isChecked(); } |
302 | bool beamLocal() { return local->isChecked(); } | 303 | bool beamLocal() { return local->isChecked(); } |
303 | private: | 304 | private: |
304 | QRadioButton* vcal, *ical, *local, *tz; | 305 | QRadioButton* vcal, *ical, *local, *tz; |
305 | }; | 306 | }; |
306 | class KOCatPrefs : public QDialog | 307 | class KOCatPrefs : public QDialog |
307 | { | 308 | { |
308 | public: | 309 | public: |
309 | KOCatPrefs( QWidget *parent=0, const char *name=0 ) : | 310 | KOCatPrefs( QWidget *parent=0, const char *name=0 ) : |
310 | QDialog( parent, name, true ) | 311 | QDialog( parent, name, true ) |
311 | { | 312 | { |
312 | setCaption( i18n("Manage new Categories") ); | 313 | setCaption( i18n("Manage new Categories") ); |
313 | QVBoxLayout* lay = new QVBoxLayout( this ); | 314 | QVBoxLayout* lay = new QVBoxLayout( this ); |
314 | lay->setSpacing( 3 ); | 315 | lay->setSpacing( 3 ); |
315 | lay->setMargin( 3 ); | 316 | lay->setMargin( 3 ); |
316 | QLabel * lab = new QLabel( i18n("After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n "), this ); | 317 | QLabel * lab = new QLabel( i18n("After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:"), this ); |
317 | lay->addWidget( lab ); | 318 | lay->addWidget( lab ); |
318 | QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this ); | 319 | QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this ); |
319 | lay->addWidget( format ); | 320 | lay->addWidget( format ); |
320 | format->setExclusive ( true ) ; | 321 | format->setExclusive ( true ) ; |
321 | addCatBut = new QRadioButton(i18n("Add to category list"), format ); | 322 | addCatBut = new QRadioButton(i18n("Add to category list"), format ); |
322 | new QRadioButton(i18n("Remove from Events/Todos"), format ); | 323 | new QRadioButton(i18n("Remove from Events/Todos"), format ); |
323 | addCatBut->setChecked( true ); | 324 | addCatBut->setChecked( true ); |
324 | QPushButton * ok = new QPushButton( i18n("OK"), this ); | 325 | QPushButton * ok = new QPushButton( i18n("Change category list now!"), this ); |
325 | lay->addWidget( ok ); | 326 | lay->addWidget( ok ); |
326 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); | 327 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); |
327 | lay->addWidget( cancel ); | 328 | lay->addWidget( cancel ); |
328 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); | 329 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); |
329 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); | 330 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); |
330 | resize( 200, 200 ); | 331 | resize( 200, 200 ); |
331 | } | 332 | } |
332 | 333 | ||
333 | bool addCat() { return addCatBut->isChecked(); } | 334 | bool addCat() { return addCatBut->isChecked(); } |
334 | private: | 335 | private: |
335 | QRadioButton* addCatBut; | 336 | QRadioButton* addCatBut; |
336 | }; | 337 | }; |
337 | 338 | ||
338 | 339 | ||
339 | 340 | ||
340 | CalendarView::CalendarView( CalendarResources *calendar, | 341 | CalendarView::CalendarView( CalendarResources *calendar, |
341 | QWidget *parent, const char *name ) | 342 | QWidget *parent, const char *name ) |
342 | : CalendarViewBase( parent, name ), | 343 | : CalendarViewBase( parent, name ), |
343 | mCalendar( calendar ), | 344 | mCalendar( calendar ), |
344 | mResourceManager( calendar->resourceManager() ) | 345 | mResourceManager( calendar->resourceManager() ) |
345 | { | 346 | { |
346 | 347 | ||
347 | mEventEditor = 0; | 348 | mEventEditor = 0; |
348 | mTodoEditor = 0; | 349 | mTodoEditor = 0; |
349 | 350 | ||
350 | init(); | 351 | init(); |
351 | } | 352 | } |
352 | 353 | ||
353 | CalendarView::CalendarView( Calendar *calendar, | 354 | CalendarView::CalendarView( Calendar *calendar, |
354 | QWidget *parent, const char *name ) | 355 | QWidget *parent, const char *name ) |
355 | : CalendarViewBase( parent, name ), | 356 | : CalendarViewBase( parent, name ), |
356 | mCalendar( calendar ), | 357 | mCalendar( calendar ), |
357 | mResourceManager( 0 ) | 358 | mResourceManager( 0 ) |
358 | { | 359 | { |
359 | 360 | ||
360 | mEventEditor = 0; | 361 | mEventEditor = 0; |
361 | mTodoEditor = 0; | 362 | mTodoEditor = 0; |
362 | init(); | 363 | init(); |
363 | } | 364 | } |
364 | 365 | ||
365 | void CalendarView::init() | 366 | void CalendarView::init() |
366 | { | 367 | { |
367 | mNextAlarmDateTime = QDateTime::currentDateTime(); | 368 | mNextAlarmDateTime = QDateTime::currentDateTime(); |
368 | setFocusPolicy ( NoFocus ); | 369 | setFocusPolicy ( NoFocus ); |
369 | mViewerCallerIsSearchDialog = false; | 370 | mViewerCallerIsSearchDialog = false; |
370 | mBlockShowDates = false; | 371 | mBlockShowDates = false; |
371 | 372 | ||
372 | mDatePickerMode = 0; | 373 | mDatePickerMode = 0; |
373 | mCurrentSyncDevice = ""; | 374 | mCurrentSyncDevice = ""; |
374 | mViewManager = new KOViewManager( this ); | 375 | mViewManager = new KOViewManager( this ); |
375 | mDialogManager = new KODialogManager( this ); | 376 | mDialogManager = new KODialogManager( this ); |
376 | mEventViewerDialog = 0; | 377 | mEventViewerDialog = 0; |
377 | mModified = false; | 378 | mModified = false; |
378 | mReadOnly = false; | 379 | mReadOnly = false; |
379 | mSelectedIncidence = 0; | 380 | mSelectedIncidence = 0; |
380 | mCalPrinter = 0; | 381 | mCalPrinter = 0; |
381 | mFilters.setAutoDelete(true); | 382 | mFilters.setAutoDelete(true); |
382 | 383 | ||
383 | mCalendar->registerObserver( this ); | 384 | mCalendar->registerObserver( this ); |
384 | // TODO: Make sure that view is updated, when calendar is changed. | 385 | // TODO: Make sure that view is updated, when calendar is changed. |
385 | 386 | ||
386 | mStorage = new FileStorage( mCalendar ); | 387 | mStorage = new FileStorage( mCalendar ); |
387 | mNavigator = new DateNavigator( this, "datevav", mViewManager ); | 388 | mNavigator = new DateNavigator( this, "datevav", mViewManager ); |
388 | 389 | ||
389 | QBoxLayout *topLayout = (QBoxLayout*)layout(); | 390 | QBoxLayout *topLayout = (QBoxLayout*)layout(); |
390 | #ifndef KORG_NOSPLITTER | 391 | #ifndef KORG_NOSPLITTER |
391 | // create the main layout frames. | 392 | // create the main layout frames. |
392 | mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner"); | 393 | mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner"); |
393 | topLayout->addWidget(mPanner); | 394 | topLayout->addWidget(mPanner); |
394 | 395 | ||
395 | mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner, | 396 | mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner, |
396 | "CalendarView::LeftFrame"); | 397 | "CalendarView::LeftFrame"); |
397 | mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize); | 398 | mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize); |
398 | 399 | ||
399 | mDateNavigator = new DateNavigatorContainer( mLeftSplitter, | 400 | mDateNavigator = new DateNavigatorContainer( mLeftSplitter, |
400 | "CalendarView::DateNavigator" ); | 401 | "CalendarView::DateNavigator" ); |
401 | 402 | ||
402 | mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize); | 403 | mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize); |
403 | mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2"); | 404 | mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2"); |
404 | mTodoList->setNavigator( mNavigator ); | 405 | mTodoList->setNavigator( mNavigator ); |
405 | mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView"); | 406 | mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView"); |
406 | 407 | ||
407 | #ifdef KORG_NORESOURCEVIEW | 408 | #ifdef KORG_NORESOURCEVIEW |
408 | mResourceView = 0; | 409 | mResourceView = 0; |
409 | #else | 410 | #else |
410 | if ( mResourceManager ) { | 411 | if ( mResourceManager ) { |
411 | mResourceView = new ResourceView( mResourceManager, mLeftSplitter ); | 412 | mResourceView = new ResourceView( mResourceManager, mLeftSplitter ); |
412 | mResourceView->updateView(); | 413 | mResourceView->updateView(); |
413 | connect( mResourceView, SIGNAL( resourcesChanged() ), | 414 | connect( mResourceView, SIGNAL( resourcesChanged() ), |
414 | SLOT( updateView() ) ); | 415 | SLOT( updateView() ) ); |
415 | } else { | 416 | } else { |
416 | mResourceView = 0; | 417 | mResourceView = 0; |
417 | } | 418 | } |
418 | #endif | 419 | #endif |
419 | QWidget *rightBox = new QWidget( mPanner ); | 420 | QWidget *rightBox = new QWidget( mPanner ); |
420 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); | 421 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); |
421 | 422 | ||
422 | mRightFrame = new QWidgetStack( rightBox ); | 423 | mRightFrame = new QWidgetStack( rightBox ); |
423 | rightLayout->addWidget( mRightFrame, 1 ); | 424 | rightLayout->addWidget( mRightFrame, 1 ); |
424 | 425 | ||
425 | mLeftFrame = mLeftSplitter; | 426 | mLeftFrame = mLeftSplitter; |
426 | #else | 427 | #else |
427 | //QWidget *mainBox = new QWidget( this ); | 428 | //QWidget *mainBox = new QWidget( this ); |
428 | //QWidget *leftFrame = new QWidget( mainBox ); | 429 | //QWidget *leftFrame = new QWidget( mainBox ); |
429 | //QBoxLayout * mainBoxLayout; | 430 | //QBoxLayout * mainBoxLayout; |
430 | if ( KOPrefs::instance()->mVerticalScreen ) { | 431 | if ( KOPrefs::instance()->mVerticalScreen ) { |
431 | //mainBoxLayout = new QVBoxLayout(mainBox); | 432 | //mainBoxLayout = new QVBoxLayout(mainBox); |
432 | //leftFrameLayout = new QHBoxLayout(leftFrame ); | 433 | //leftFrameLayout = new QHBoxLayout(leftFrame ); |
433 | mMainFrame = new KDGanttMinimizeSplitter( Qt::Vertical, this ); | 434 | mMainFrame = new KDGanttMinimizeSplitter( Qt::Vertical, this ); |
434 | mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); | 435 | mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); |
435 | mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mMainFrame);; | 436 | mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mMainFrame);; |
436 | mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); | 437 | mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); |
437 | } else { | 438 | } else { |
438 | //mainBoxLayout = new QHBoxLayout(mainBox); | 439 | //mainBoxLayout = new QHBoxLayout(mainBox); |
439 | //leftFrameLayout = new QVBoxLayout(leftFrame ); | 440 | //leftFrameLayout = new QVBoxLayout(leftFrame ); |
440 | mMainFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, this); | 441 | mMainFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, this); |
441 | mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left); | 442 | mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left); |
442 | mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mMainFrame); | 443 | mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mMainFrame); |
443 | mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); | 444 | mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); |
444 | } | 445 | } |
445 | mMainFrame->setSizePolicy( QSizePolicy (QSizePolicy::Expanding,QSizePolicy::Expanding) ); | 446 | mMainFrame->setSizePolicy( QSizePolicy (QSizePolicy::Expanding,QSizePolicy::Expanding) ); |
446 | //QBoxLayout * leftFrameLayout; | 447 | //QBoxLayout * leftFrameLayout; |
447 | topLayout->addWidget( mMainFrame ); | 448 | topLayout->addWidget( mMainFrame ); |
448 | #ifdef DESKTOP_VERSION | 449 | #ifdef DESKTOP_VERSION |
449 | mDateScrollBar = new QScrollBar ( 0, 364, 1,30, 200,QScrollBar::Horizontal, this ); | 450 | mDateScrollBar = new QScrollBar ( 0, 364, 1,30, 200,QScrollBar::Horizontal, this ); |
450 | topLayout->addWidget( mDateScrollBar ); | 451 | topLayout->addWidget( mDateScrollBar ); |
451 | connect( mDateScrollBar, SIGNAL( valueChanged ( int ) ),this, SLOT( scrollBarValue( int )) ); | 452 | connect( mDateScrollBar, SIGNAL( valueChanged ( int ) ),this, SLOT( scrollBarValue( int )) ); |
452 | if ( QApplication::desktop()->width() < 800 ) | 453 | if ( QApplication::desktop()->width() < 800 ) |
453 | mDateScrollBar->hide(); | 454 | mDateScrollBar->hide(); |
454 | #endif | 455 | #endif |
455 | //mainBoxLayout->addWidget (mLeftFrame); | 456 | //mainBoxLayout->addWidget (mLeftFrame); |
456 | mDateNavigator = new DateNavigatorContainer( mLeftFrame, | 457 | mDateNavigator = new DateNavigatorContainer( mLeftFrame, |
457 | "CalendarView::DateNavigator" ); | 458 | "CalendarView::DateNavigator" ); |
458 | #if 0 | 459 | #if 0 |
459 | // FIXME | 460 | // FIXME |
460 | mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE, | 461 | mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE, |
461 | "CalendarView::DateNavigator", QDate::currentDate()); | 462 | "CalendarView::DateNavigator", QDate::currentDate()); |
462 | #endif | 463 | #endif |
463 | // mDateNavigator->blockSignals( true ); | 464 | // mDateNavigator->blockSignals( true ); |
464 | //leftFrameLayout->addWidget( mDateNavigator ); | 465 | //leftFrameLayout->addWidget( mDateNavigator ); |
465 | mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall"); | 466 | mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall"); |
466 | mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView"); | 467 | mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView"); |
467 | mCalEditView = new KOCalEditView(mLeftFrame,"CalendarView::CaleditView"); | 468 | mCalEditView = new KOCalEditView(mLeftFrame,"CalendarView::CaleditView"); |
468 | connect( mCalEditView, SIGNAL( calendarEnabled (int,bool) ),mCalendar, SLOT( setCalendarEnabled(int,bool)) ); | 469 | connect( mCalEditView, SIGNAL( calendarEnabled (int,bool) ),mCalendar, SLOT( setCalendarEnabled(int,bool)) ); |
469 | connect( mCalEditView, SIGNAL( alarmEnabled(int,bool) ),mCalendar, SLOT( setAlarmEnabled(int,bool)) ); | 470 | connect( mCalEditView, SIGNAL( alarmEnabled(int,bool) ),mCalendar, SLOT( setAlarmEnabled(int,bool)) ); |
470 | connect( mCalEditView, SIGNAL( calendarReadonly(int,bool) ),mCalendar, SLOT( setReadOnly(int,bool)) ); | 471 | connect( mCalEditView, SIGNAL( calendarReadonly(int,bool) ),mCalendar, SLOT( setReadOnly(int,bool)) ); |
471 | connect( mCalEditView, SIGNAL( setCalendarDefault(int) ),mCalendar, SLOT( setDefaultCalendar(int)) ); | 472 | connect( mCalEditView, SIGNAL( setCalendarDefault(int) ),mCalendar, SLOT( setDefaultCalendar(int)) ); |
472 | connect( mCalEditView, SIGNAL( setCalendarDefault(int) ),mViewManager, SLOT( setDefaultCalendar(int)) ); | 473 | connect( mCalEditView, SIGNAL( setCalendarDefault(int) ),mViewManager, SLOT( setDefaultCalendar(int)) ); |
473 | connect( mCalEditView, SIGNAL( removeCalendar(int) ),mCalendar, SLOT( setCalendarRemove(int)) ); | 474 | connect( mCalEditView, SIGNAL( removeCalendar(int) ),mCalendar, SLOT( setCalendarRemove(int)) ); |
474 | connect( mCalEditView, SIGNAL( calendarAdded(int) ),this, SLOT( addCalendarId(int)) ); | 475 | connect( mCalEditView, SIGNAL( calendarAdded(int) ),this, SLOT( addCalendarId(int)) ); |
475 | connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateView()) ); | 476 | connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateView()) ); |
476 | connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateUnmanagedViews()) ); | 477 | connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateUnmanagedViews()) ); |
477 | 478 | ||
478 | mTodoList->setNavigator( mNavigator ); | 479 | mTodoList->setNavigator( mNavigator ); |
479 | #if 0 | 480 | #if 0 |
480 | if ( QApplication::desktop()->width() < 480 ) { | 481 | if ( QApplication::desktop()->width() < 480 ) { |
481 | leftFrameLayout->addWidget(mFilterView); | 482 | leftFrameLayout->addWidget(mFilterView); |
482 | leftFrameLayout->addWidget(mTodoList, 2 ); | 483 | leftFrameLayout->addWidget(mTodoList, 2 ); |
483 | 484 | ||
484 | } else { | 485 | } else { |
485 | leftFrameLayout->addWidget(mTodoList,2 ); | 486 | leftFrameLayout->addWidget(mTodoList,2 ); |
486 | leftFrameLayout->addWidget(mFilterView ); | 487 | leftFrameLayout->addWidget(mFilterView ); |
487 | } | 488 | } |
488 | #endif | 489 | #endif |
489 | mFilterView->hide(); | 490 | mFilterView->hide(); |
490 | mCalEditView->hide(); | 491 | mCalEditView->hide(); |
491 | QWidget *rightBox = new QWidget( mMainFrame ); | 492 | QWidget *rightBox = new QWidget( mMainFrame ); |
492 | //mainBoxLayout->addWidget ( rightBox, 10 ); | 493 | //mainBoxLayout->addWidget ( rightBox, 10 ); |
493 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); | 494 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); |
494 | mRightFrame = new QWidgetStack( rightBox ); | 495 | mRightFrame = new QWidgetStack( rightBox ); |
495 | rightLayout->addWidget( mRightFrame, 10 ); | 496 | rightLayout->addWidget( mRightFrame, 10 ); |
496 | 497 | ||
497 | //mLeftFrame = (QWidget *)leftFrame; | 498 | //mLeftFrame = (QWidget *)leftFrame; |
498 | if ( KOPrefs::instance()->mVerticalScreen ) { | 499 | if ( KOPrefs::instance()->mVerticalScreen ) { |
499 | //mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() ); | 500 | //mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() ); |
500 | //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() ); | 501 | //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() ); |
501 | //mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); | 502 | //mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); |
502 | //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); | 503 | //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); |
503 | } else { | 504 | } else { |
504 | //mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() ); | 505 | //mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() ); |
505 | //mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); | 506 | //mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); |
506 | //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); | 507 | //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); |
507 | } | 508 | } |
508 | if ( !KOPrefs::instance()->mShowDateNavigator) | 509 | if ( !KOPrefs::instance()->mShowDateNavigator) |
509 | mDateNavigator->hide(); | 510 | mDateNavigator->hide(); |
510 | //qDebug("Calendarview Size %d %d ", width(), height()); | 511 | //qDebug("Calendarview Size %d %d ", width(), height()); |
511 | #endif | 512 | #endif |
512 | 513 | ||
513 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), | 514 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), |
514 | SLOT( showDates( const KCal::DateList & ) ) ); | 515 | SLOT( showDates( const KCal::DateList & ) ) ); |
515 | 516 | ||
516 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), | 517 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), |
@@ -2629,384 +2630,390 @@ void CalendarView::updateUnmanagedViews() | |||
2629 | { | 2630 | { |
2630 | mDateNavigator->updateDayMatrix(); | 2631 | mDateNavigator->updateDayMatrix(); |
2631 | } | 2632 | } |
2632 | 2633 | ||
2633 | int CalendarView::msgItemDelete(const QString name) | 2634 | int CalendarView::msgItemDelete(const QString name) |
2634 | { | 2635 | { |
2635 | return KMessageBox::warningContinueCancel(this,name +"\n\n"+ | 2636 | return KMessageBox::warningContinueCancel(this,name +"\n\n"+ |
2636 | i18n("This item will be\npermanently deleted."), | 2637 | i18n("This item will be\npermanently deleted."), |
2637 | i18n("KO/Pi Confirmation"),i18n("Delete")); | 2638 | i18n("KO/Pi Confirmation"),i18n("Delete")); |
2638 | } | 2639 | } |
2639 | 2640 | ||
2640 | 2641 | ||
2641 | void CalendarView::edit_cut() | 2642 | void CalendarView::edit_cut() |
2642 | { | 2643 | { |
2643 | Event *anEvent=0; | 2644 | Event *anEvent=0; |
2644 | 2645 | ||
2645 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); | 2646 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); |
2646 | 2647 | ||
2647 | if (mViewManager->currentView()->isEventView()) { | 2648 | if (mViewManager->currentView()->isEventView()) { |
2648 | if ( incidence && incidence->typeID() == eventID ) { | 2649 | if ( incidence && incidence->typeID() == eventID ) { |
2649 | anEvent = static_cast<Event *>(incidence); | 2650 | anEvent = static_cast<Event *>(incidence); |
2650 | } | 2651 | } |
2651 | } | 2652 | } |
2652 | 2653 | ||
2653 | if (!anEvent) { | 2654 | if (!anEvent) { |
2654 | KNotifyClient::beep(); | 2655 | KNotifyClient::beep(); |
2655 | return; | 2656 | return; |
2656 | } | 2657 | } |
2657 | DndFactory factory( mCalendar ); | 2658 | DndFactory factory( mCalendar ); |
2658 | factory.cutIncidence(anEvent); | 2659 | factory.cutIncidence(anEvent); |
2659 | changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); | 2660 | changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); |
2660 | } | 2661 | } |
2661 | 2662 | ||
2662 | void CalendarView::edit_copy() | 2663 | void CalendarView::edit_copy() |
2663 | { | 2664 | { |
2664 | Event *anEvent=0; | 2665 | Event *anEvent=0; |
2665 | 2666 | ||
2666 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); | 2667 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); |
2667 | 2668 | ||
2668 | if (mViewManager->currentView()->isEventView()) { | 2669 | if (mViewManager->currentView()->isEventView()) { |
2669 | if ( incidence && incidence->typeID() == eventID ) { | 2670 | if ( incidence && incidence->typeID() == eventID ) { |
2670 | anEvent = static_cast<Event *>(incidence); | 2671 | anEvent = static_cast<Event *>(incidence); |
2671 | } | 2672 | } |
2672 | } | 2673 | } |
2673 | 2674 | ||
2674 | if (!anEvent) { | 2675 | if (!anEvent) { |
2675 | KNotifyClient::beep(); | 2676 | KNotifyClient::beep(); |
2676 | return; | 2677 | return; |
2677 | } | 2678 | } |
2678 | DndFactory factory( mCalendar ); | 2679 | DndFactory factory( mCalendar ); |
2679 | factory.copyIncidence(anEvent); | 2680 | factory.copyIncidence(anEvent); |
2680 | } | 2681 | } |
2681 | 2682 | ||
2682 | void CalendarView::edit_paste() | 2683 | void CalendarView::edit_paste() |
2683 | { | 2684 | { |
2684 | QDate date = mNavigator->selectedDates().first(); | 2685 | QDate date = mNavigator->selectedDates().first(); |
2685 | 2686 | ||
2686 | DndFactory factory( mCalendar ); | 2687 | DndFactory factory( mCalendar ); |
2687 | Event *pastedEvent = (Event *)factory.pasteIncidence( date ); | 2688 | Event *pastedEvent = (Event *)factory.pasteIncidence( date ); |
2688 | 2689 | ||
2689 | changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); | 2690 | changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); |
2690 | } | 2691 | } |
2691 | void CalendarView::edit_global_options() | 2692 | void CalendarView::edit_global_options() |
2692 | { | 2693 | { |
2693 | QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; | 2694 | QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; |
2694 | emit save(); | 2695 | emit save(); |
2695 | emit saveStopTimer(); | 2696 | emit saveStopTimer(); |
2696 | mDialogManager->showGlobalOptionsDialog(); | 2697 | mDialogManager->showGlobalOptionsDialog(); |
2697 | if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { | 2698 | if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { |
2698 | emit saveStopTimer(); | 2699 | emit saveStopTimer(); |
2699 | if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"), | 2700 | if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"), |
2700 | i18n("Timezone settings"),i18n("Reload"))) { | 2701 | i18n("Timezone settings"),i18n("Reload"))) { |
2701 | qDebug("KO: TZ reload cancelled "); | 2702 | qDebug("KO: TZ reload cancelled "); |
2702 | mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | 2703 | mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); |
2703 | return; | 2704 | return; |
2704 | } | 2705 | } |
2705 | qDebug("KO: Timezone change "); | 2706 | qDebug("KO: Timezone change "); |
2706 | loadCalendars(); | 2707 | loadCalendars(); |
2707 | setModified(true); | 2708 | setModified(true); |
2708 | } | 2709 | } |
2709 | else | 2710 | else |
2710 | qDebug("KO: No tz change "); | 2711 | qDebug("KO: No tz change "); |
2711 | } | 2712 | } |
2712 | void CalendarView::edit_options() | 2713 | void CalendarView::edit_options() |
2713 | { | 2714 | { |
2714 | mDialogManager->showOptionsDialog(); | 2715 | mDialogManager->showOptionsDialog(); |
2715 | } | 2716 | } |
2716 | 2717 | ||
2717 | 2718 | ||
2718 | void CalendarView::slotSelectPickerDate( QDate d) | 2719 | void CalendarView::slotSelectPickerDate( QDate d) |
2719 | { | 2720 | { |
2720 | mDateFrame->hide(); | 2721 | mDateFrame->hide(); |
2721 | if ( mDatePickerMode == 1 ) { | 2722 | if ( mDatePickerMode == 1 ) { |
2722 | mNavigator->slotDaySelect( d ); | 2723 | mNavigator->slotDaySelect( d ); |
2723 | } else if ( mDatePickerMode == 2 ) { | 2724 | } else if ( mDatePickerMode == 2 ) { |
2724 | if ( mMoveIncidence->typeID() == todoID ) { | 2725 | if ( mMoveIncidence->typeID() == todoID ) { |
2725 | Todo * to = (Todo *) mMoveIncidence; | 2726 | Todo * to = (Todo *) mMoveIncidence; |
2726 | QTime tim; | 2727 | QTime tim; |
2727 | int len = 0; | 2728 | int len = 0; |
2728 | if ( to->hasStartDate() && to->hasDueDate() ) | 2729 | if ( to->hasStartDate() && to->hasDueDate() ) |
2729 | len = to->dtStart().secsTo( to->dtDue()); | 2730 | len = to->dtStart().secsTo( to->dtDue()); |
2730 | if ( to->hasDueDate() ) | 2731 | if ( to->hasDueDate() ) |
2731 | tim = to->dtDue().time(); | 2732 | tim = to->dtDue().time(); |
2732 | else { | 2733 | else { |
2733 | tim = QTime ( 0,0,0 ); | 2734 | tim = QTime ( 0,0,0 ); |
2734 | to->setFloats( true ); | 2735 | to->setFloats( true ); |
2735 | to->setHasDueDate( true ); | 2736 | to->setHasDueDate( true ); |
2736 | } | 2737 | } |
2737 | QDateTime dt ( d,tim ); | 2738 | QDateTime dt ( d,tim ); |
2738 | to->setDtDue( dt ); | 2739 | to->setDtDue( dt ); |
2739 | 2740 | ||
2740 | if ( to->hasStartDate() ) { | 2741 | if ( to->hasStartDate() ) { |
2741 | if ( len>0 ) | 2742 | if ( len>0 ) |
2742 | to->setDtStart(to->dtDue().addSecs( -len )); | 2743 | to->setDtStart(to->dtDue().addSecs( -len )); |
2743 | else | 2744 | else |
2744 | if (to->dtStart() > to->dtDue() ) | 2745 | if (to->dtStart() > to->dtDue() ) |
2745 | to->setDtStart(to->dtDue().addDays( -3 )); | 2746 | to->setDtStart(to->dtDue().addDays( -3 )); |
2746 | } | 2747 | } |
2747 | 2748 | ||
2748 | todoChanged( to ); | 2749 | todoChanged( to ); |
2749 | } else { | 2750 | } else { |
2750 | if ( mMoveIncidence->doesRecur() ) { | 2751 | if ( mMoveIncidence->doesRecur() ) { |
2751 | #if 0 | 2752 | #if 0 |
2752 | // PENDING implement this | 2753 | // PENDING implement this |
2753 | Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate ); | 2754 | Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate ); |
2754 | mCalendar()->addIncidence( newInc ); | 2755 | mCalendar()->addIncidence( newInc ); |
2755 | if ( mMoveIncidence->typeID() == todoID ) | 2756 | if ( mMoveIncidence->typeID() == todoID ) |
2756 | emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED ); | 2757 | emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED ); |
2757 | else | 2758 | else |
2758 | emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED); | 2759 | emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED); |
2759 | mMoveIncidence = newInc; | 2760 | mMoveIncidence = newInc; |
2760 | 2761 | ||
2761 | #endif | 2762 | #endif |
2762 | } | 2763 | } |
2763 | QTime tim = mMoveIncidence->dtStart().time(); | 2764 | QTime tim = mMoveIncidence->dtStart().time(); |
2764 | int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd()); | 2765 | int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd()); |
2765 | QDateTime dt ( d,tim ); | 2766 | QDateTime dt ( d,tim ); |
2766 | mMoveIncidence->setDtStart( dt ); | 2767 | mMoveIncidence->setDtStart( dt ); |
2767 | ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) ); | 2768 | ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) ); |
2768 | changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED); | 2769 | changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED); |
2769 | } | 2770 | } |
2770 | 2771 | ||
2771 | mMoveIncidence->setRevision( mMoveIncidence->revision()+1 ); | 2772 | mMoveIncidence->setRevision( mMoveIncidence->revision()+1 ); |
2772 | } | 2773 | } |
2773 | } | 2774 | } |
2774 | 2775 | ||
2775 | void CalendarView::removeCategories() | 2776 | void CalendarView::removeCategories() |
2776 | { | 2777 | { |
2777 | QPtrList<Incidence> incList = mCalendar->rawIncidences(); | 2778 | QPtrList<Incidence> incList = mCalendar->rawIncidences(); |
2778 | QStringList catList = KOPrefs::instance()->mCustomCategories; | 2779 | QStringList catList = KOPrefs::instance()->mCustomCategories; |
2779 | QStringList catIncList; | 2780 | QStringList catIncList; |
2780 | QStringList newCatList; | 2781 | QStringList newCatList; |
2781 | Incidence* inc = incList.first(); | 2782 | Incidence* inc = incList.first(); |
2782 | int i; | 2783 | int i; |
2783 | int count = 0; | 2784 | int count = 0; |
2784 | while ( inc ) { | 2785 | while ( inc ) { |
2785 | newCatList.clear(); | 2786 | newCatList.clear(); |
2786 | catIncList = inc->categories() ; | 2787 | catIncList = inc->categories() ; |
2787 | for( i = 0; i< catIncList.count(); ++i ) { | 2788 | for( i = 0; i< catIncList.count(); ++i ) { |
2788 | if ( catList.contains (catIncList[i])) | 2789 | if ( catList.contains (catIncList[i])) |
2789 | newCatList.append( catIncList[i] ); | 2790 | newCatList.append( catIncList[i] ); |
2790 | } | 2791 | } |
2791 | newCatList.sort(); | 2792 | newCatList.sort(); |
2792 | inc->setCategories( newCatList.join(",") ); | 2793 | inc->setCategories( newCatList.join(",") ); |
2793 | inc = incList.next(); | 2794 | inc = incList.next(); |
2794 | } | 2795 | } |
2795 | } | 2796 | } |
2796 | 2797 | ||
2797 | int CalendarView::addCategories() | 2798 | int CalendarView::addCategories() |
2798 | { | 2799 | { |
2799 | QPtrList<Incidence> incList = mCalendar->rawIncidences(); | 2800 | QPtrList<Incidence> incList = mCalendar->rawIncidences(); |
2800 | QStringList catList = KOPrefs::instance()->mCustomCategories; | 2801 | QStringList catList = KOPrefs::instance()->mCustomCategories; |
2801 | QStringList catIncList; | 2802 | QStringList catIncList; |
2802 | Incidence* inc = incList.first(); | 2803 | Incidence* inc = incList.first(); |
2803 | int i; | 2804 | int i; |
2804 | int count = 0; | 2805 | int count = 0; |
2805 | while ( inc ) { | 2806 | while ( inc ) { |
2806 | catIncList = inc->categories() ; | 2807 | catIncList = inc->categories() ; |
2807 | for( i = 0; i< catIncList.count(); ++i ) { | 2808 | for( i = 0; i< catIncList.count(); ++i ) { |
2808 | if ( !catList.contains (catIncList[i])) { | 2809 | if ( !catList.contains (catIncList[i])) { |
2809 | catList.append( catIncList[i] ); | 2810 | catList.append( catIncList[i] ); |
2810 | //qDebug("add cat %s ", catIncList[i].latin1()); | 2811 | //qDebug("add cat %s ", catIncList[i].latin1()); |
2811 | ++count; | 2812 | ++count; |
2812 | } | 2813 | } |
2813 | } | 2814 | } |
2814 | inc = incList.next(); | 2815 | inc = incList.next(); |
2815 | } | 2816 | } |
2816 | catList.sort(); | 2817 | catList.sort(); |
2817 | KOPrefs::instance()->mCustomCategories = catList; | 2818 | KOPrefs::instance()->mCustomCategories = catList; |
2818 | return count; | 2819 | return count; |
2819 | } | 2820 | } |
2820 | 2821 | ||
2822 | void CalendarView::editCategories() | ||
2823 | { | ||
2824 | qDebug("CalendarView::editCategories() "); | ||
2825 | KPIM::CategoryEditDialog ced (KOPrefs::instance(),this ); | ||
2826 | ced.exec(); | ||
2827 | } | ||
2821 | void CalendarView::manageCategories() | 2828 | void CalendarView::manageCategories() |
2822 | { | 2829 | { |
2823 | KOCatPrefs* cp = new KOCatPrefs(); | 2830 | KOCatPrefs* cp = new KOCatPrefs(); |
2824 | cp->show(); | 2831 | cp->show(); |
2825 | int w =cp->sizeHint().width() ; | 2832 | int w =cp->sizeHint().width() ; |
2826 | int h = cp->sizeHint().height() ; | 2833 | int h = cp->sizeHint().height() ; |
2827 | int dw = QApplication::desktop()->width(); | 2834 | int dw = QApplication::desktop()->width(); |
2828 | int dh = QApplication::desktop()->height(); | 2835 | int dh = QApplication::desktop()->height(); |
2829 | cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); | 2836 | cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); |
2830 | if ( !cp->exec() ) { | 2837 | if ( !cp->exec() ) { |
2831 | delete cp; | 2838 | delete cp; |
2832 | return; | 2839 | return; |
2833 | } | 2840 | } |
2834 | int count = 0; | 2841 | int count = 0; |
2835 | if ( cp->addCat() ) { | 2842 | if ( cp->addCat() ) { |
2836 | count = addCategories(); | 2843 | count = addCategories(); |
2837 | if ( count ) { | 2844 | if ( count ) { |
2838 | topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! ")); | 2845 | topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! ")); |
2839 | writeSettings(); | 2846 | writeSettings(); |
2840 | } else | 2847 | } else |
2841 | topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! ")); | 2848 | topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! ")); |
2842 | } else { | 2849 | } else { |
2843 | removeCategories(); | 2850 | removeCategories(); |
2844 | updateView(); | 2851 | updateView(); |
2845 | } | 2852 | } |
2846 | delete cp; | 2853 | delete cp; |
2847 | } | 2854 | } |
2848 | 2855 | ||
2849 | void CalendarView::beamIncidence(Incidence * Inc) | 2856 | void CalendarView::beamIncidence(Incidence * Inc) |
2850 | { | 2857 | { |
2851 | QPtrList<Incidence> delSel ; | 2858 | QPtrList<Incidence> delSel ; |
2852 | delSel.append(Inc); | 2859 | delSel.append(Inc); |
2853 | beamIncidenceList( delSel ); | 2860 | beamIncidenceList( delSel ); |
2854 | } | 2861 | } |
2855 | void CalendarView::beamCalendar() | 2862 | void CalendarView::beamCalendar() |
2856 | { | 2863 | { |
2857 | QPtrList<Incidence> delSel = mCalendar->rawIncidences(); | 2864 | QPtrList<Incidence> delSel = mCalendar->rawIncidences(); |
2858 | //qDebug("beamCalendar() "); | 2865 | //qDebug("beamCalendar() "); |
2859 | beamIncidenceList( delSel ); | 2866 | beamIncidenceList( delSel ); |
2860 | } | 2867 | } |
2861 | void CalendarView::beamFilteredCalendar() | 2868 | void CalendarView::beamFilteredCalendar() |
2862 | { | 2869 | { |
2863 | QPtrList<Incidence> delSel = mCalendar->incidences(); | 2870 | QPtrList<Incidence> delSel = mCalendar->incidences(); |
2864 | //qDebug("beamFilteredCalendar() "); | 2871 | //qDebug("beamFilteredCalendar() "); |
2865 | beamIncidenceList( delSel ); | 2872 | beamIncidenceList( delSel ); |
2866 | } | 2873 | } |
2867 | void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel ) | 2874 | void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel ) |
2868 | { | 2875 | { |
2869 | 2876 | ||
2870 | KOBeamPrefs beamDialog; | 2877 | KOBeamPrefs beamDialog; |
2871 | if ( beamDialog.exec () == QDialog::Rejected ) | 2878 | if ( beamDialog.exec () == QDialog::Rejected ) |
2872 | return; | 2879 | return; |
2873 | #ifdef DESKTOP_VERSION | 2880 | #ifdef DESKTOP_VERSION |
2874 | QString fn = locateLocal( "tmp", "kopibeamfile" ); | 2881 | QString fn = locateLocal( "tmp", "kopibeamfile" ); |
2875 | #else | 2882 | #else |
2876 | QString fn = "/tmp/kopibeamfile"; | 2883 | QString fn = "/tmp/kopibeamfile"; |
2877 | #endif | 2884 | #endif |
2878 | QString mes; | 2885 | QString mes; |
2879 | bool createbup = true; | 2886 | bool createbup = true; |
2880 | if ( createbup ) { | 2887 | if ( createbup ) { |
2881 | QString description = "\n"; | 2888 | QString description = "\n"; |
2882 | CalendarLocal* cal = new CalendarLocal(); | 2889 | CalendarLocal* cal = new CalendarLocal(); |
2883 | if ( beamDialog.beamLocal() ) | 2890 | if ( beamDialog.beamLocal() ) |
2884 | cal->setLocalTime(); | 2891 | cal->setLocalTime(); |
2885 | else | 2892 | else |
2886 | cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | 2893 | cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); |
2887 | Incidence *incidence = delSel.first(); | 2894 | Incidence *incidence = delSel.first(); |
2888 | bool addText = false; | 2895 | bool addText = false; |
2889 | if ( delSel.count() < 10 ) | 2896 | if ( delSel.count() < 10 ) |
2890 | addText = true; | 2897 | addText = true; |
2891 | else { | 2898 | else { |
2892 | description.sprintf(i18n(" %d items?"),delSel.count() ); | 2899 | description.sprintf(i18n(" %d items?"),delSel.count() ); |
2893 | } | 2900 | } |
2894 | while ( incidence ) { | 2901 | while ( incidence ) { |
2895 | Incidence *in = incidence->clone(); | 2902 | Incidence *in = incidence->clone(); |
2896 | if ( ! in->summary().isEmpty() ) { | 2903 | if ( ! in->summary().isEmpty() ) { |
2897 | in->setDescription(""); | 2904 | in->setDescription(""); |
2898 | } else { | 2905 | } else { |
2899 | in->setSummary( in->description().left(20)); | 2906 | in->setSummary( in->description().left(20)); |
2900 | in->setDescription(""); | 2907 | in->setDescription(""); |
2901 | } | 2908 | } |
2902 | if ( addText ) | 2909 | if ( addText ) |
2903 | description += in->summary() + "\n"; | 2910 | description += in->summary() + "\n"; |
2904 | cal->addIncidence( in ); | 2911 | cal->addIncidence( in ); |
2905 | incidence = delSel.next(); | 2912 | incidence = delSel.next(); |
2906 | } | 2913 | } |
2907 | if ( beamDialog.beamVcal() ) { | 2914 | if ( beamDialog.beamVcal() ) { |
2908 | fn += ".vcs"; | 2915 | fn += ".vcs"; |
2909 | FileStorage storage( cal, fn, new VCalFormat ); | 2916 | FileStorage storage( cal, fn, new VCalFormat ); |
2910 | storage.save(); | 2917 | storage.save(); |
2911 | } else { | 2918 | } else { |
2912 | fn += ".ics"; | 2919 | fn += ".ics"; |
2913 | FileStorage storage( cal, fn, new ICalFormat( ) ); | 2920 | FileStorage storage( cal, fn, new ICalFormat( ) ); |
2914 | storage.save(); | 2921 | storage.save(); |
2915 | } | 2922 | } |
2916 | delete cal; | 2923 | delete cal; |
2917 | mes = i18n("KO/Pi: Ready for beaming"); | 2924 | mes = i18n("KO/Pi: Ready for beaming"); |
2918 | topLevelWidget()->setCaption(mes); | 2925 | topLevelWidget()->setCaption(mes); |
2919 | KApplication::convert2latin1( fn ); | 2926 | KApplication::convert2latin1( fn ); |
2920 | #ifndef DESKTOP_VERSION | 2927 | #ifndef DESKTOP_VERSION |
2921 | Ir *ir = new Ir( this ); | 2928 | Ir *ir = new Ir( this ); |
2922 | connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); | 2929 | connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); |
2923 | ir->send( fn, description, "text/x-vCalendar" ); | 2930 | ir->send( fn, description, "text/x-vCalendar" ); |
2924 | #endif | 2931 | #endif |
2925 | } | 2932 | } |
2926 | } | 2933 | } |
2927 | void CalendarView::beamDone( Ir *ir ) | 2934 | void CalendarView::beamDone( Ir *ir ) |
2928 | { | 2935 | { |
2929 | #ifndef DESKTOP_VERSION | 2936 | #ifndef DESKTOP_VERSION |
2930 | delete ir; | 2937 | delete ir; |
2931 | #endif | 2938 | #endif |
2932 | topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") ); | 2939 | topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") ); |
2933 | topLevelWidget()->raise(); | 2940 | topLevelWidget()->raise(); |
2934 | } | 2941 | } |
2935 | 2942 | ||
2936 | void CalendarView::moveIncidence(Incidence * inc ) | 2943 | void CalendarView::moveIncidence(Incidence * inc ) |
2937 | { | 2944 | { |
2938 | if ( !inc ) return; | 2945 | if ( !inc ) return; |
2939 | showDatePickerPopup(); | 2946 | showDatePickerPopup(); |
2940 | mDatePickerMode = 2; | 2947 | mDatePickerMode = 2; |
2941 | mMoveIncidence = inc ; | 2948 | mMoveIncidence = inc ; |
2942 | QDate da; | 2949 | QDate da; |
2943 | if ( mMoveIncidence->typeID() == todoID ) { | 2950 | if ( mMoveIncidence->typeID() == todoID ) { |
2944 | Todo * to = (Todo *) mMoveIncidence; | 2951 | Todo * to = (Todo *) mMoveIncidence; |
2945 | if ( to->hasDueDate() ) | 2952 | if ( to->hasDueDate() ) |
2946 | da = to->dtDue().date(); | 2953 | da = to->dtDue().date(); |
2947 | else | 2954 | else |
2948 | da = QDate::currentDate(); | 2955 | da = QDate::currentDate(); |
2949 | } else { | 2956 | } else { |
2950 | da = mMoveIncidence->dtStart().date(); | 2957 | da = mMoveIncidence->dtStart().date(); |
2951 | } | 2958 | } |
2952 | //PENDING set date for recurring incidence to date of recurrence | 2959 | //PENDING set date for recurring incidence to date of recurrence |
2953 | //mMoveIncidenceOldDate; | 2960 | //mMoveIncidenceOldDate; |
2954 | mDatePicker->setDate( da ); | 2961 | mDatePicker->setDate( da ); |
2955 | } | 2962 | } |
2956 | void CalendarView::showDatePickerPopup() | 2963 | void CalendarView::showDatePickerPopup() |
2957 | { | 2964 | { |
2958 | if ( mDateFrame->isVisible() ) | 2965 | if ( mDateFrame->isVisible() ) |
2959 | mDateFrame->hide(); | 2966 | mDateFrame->hide(); |
2960 | else { | 2967 | else { |
2961 | int offX = 0, offY = 0; | 2968 | int offX = 0, offY = 0; |
2962 | #ifdef DESKTOP_VERSION | 2969 | #ifdef DESKTOP_VERSION |
2963 | int w =mDatePicker->sizeHint().width() ; | 2970 | int w =mDatePicker->sizeHint().width() ; |
2964 | int h = mDatePicker->sizeHint().height() ; | 2971 | int h = mDatePicker->sizeHint().height() ; |
2965 | int dw = topLevelWidget()->width(); | 2972 | int dw = topLevelWidget()->width(); |
2966 | int dh = topLevelWidget()->height(); | 2973 | int dh = topLevelWidget()->height(); |
2967 | offX = topLevelWidget()->x(); | 2974 | offX = topLevelWidget()->x(); |
2968 | offY = topLevelWidget()->y(); | 2975 | offY = topLevelWidget()->y(); |
2969 | #else | 2976 | #else |
2970 | int w =mDatePicker->sizeHint().width() ; | 2977 | int w =mDatePicker->sizeHint().width() ; |
2971 | int h = mDatePicker->sizeHint().height() ; | 2978 | int h = mDatePicker->sizeHint().height() ; |
2972 | int dw = QApplication::desktop()->width(); | 2979 | int dw = QApplication::desktop()->width(); |
2973 | int dh = QApplication::desktop()->height(); | 2980 | int dh = QApplication::desktop()->height(); |
2974 | #endif | 2981 | #endif |
2975 | mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h ); | 2982 | mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h ); |
2976 | mDateFrame->show(); | 2983 | mDateFrame->show(); |
2977 | } | 2984 | } |
2978 | } | 2985 | } |
2979 | void CalendarView::showDatePicker( ) | 2986 | void CalendarView::showDatePicker( ) |
2980 | { | 2987 | { |
2981 | showDatePickerPopup(); | 2988 | showDatePickerPopup(); |
2982 | mDatePickerMode = 1; | 2989 | mDatePickerMode = 1; |
2983 | mDatePicker->setDate( mNavigator->selectedDates().first() ); | 2990 | mDatePicker->setDate( mNavigator->selectedDates().first() ); |
2984 | } | 2991 | } |
2985 | 2992 | ||
2986 | void CalendarView::showEventEditor() | 2993 | void CalendarView::showEventEditor() |
2987 | { | 2994 | { |
2988 | #ifdef DESKTOP_VERSION | 2995 | #ifdef DESKTOP_VERSION |
2989 | int x,y,w,h; | 2996 | int x,y,w,h; |
2990 | x = mEventEditor->geometry().x(); | 2997 | x = mEventEditor->geometry().x(); |
2991 | y = mEventEditor->geometry().y(); | 2998 | y = mEventEditor->geometry().y(); |
2992 | w = mEventEditor->width(); | 2999 | w = mEventEditor->width(); |
2993 | h = mEventEditor->height(); | 3000 | h = mEventEditor->height(); |
2994 | mEventEditor->show(); | 3001 | mEventEditor->show(); |
2995 | mEventEditor->setGeometry(x,y,w,h); | 3002 | mEventEditor->setGeometry(x,y,w,h); |
2996 | #else | 3003 | #else |
2997 | if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) { | 3004 | if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) { |
2998 | topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); | 3005 | topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); |
2999 | qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() ); | 3006 | qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() ); |
3000 | qApp->processEvents(); | 3007 | qApp->processEvents(); |
3001 | delete mEventEditor; | 3008 | delete mEventEditor; |
3002 | mEventEditor = mDialogManager->getEventEditor(); | 3009 | mEventEditor = mDialogManager->getEventEditor(); |
3003 | topLevelWidget()->setCaption( i18n("") ); | 3010 | topLevelWidget()->setCaption( i18n("") ); |
3004 | } | 3011 | } |
3005 | mEventEditor->showMaximized(); | 3012 | mEventEditor->showMaximized(); |
3006 | #endif | 3013 | #endif |
3007 | } | 3014 | } |
3008 | void CalendarView::showTodoEditor() | 3015 | void CalendarView::showTodoEditor() |
3009 | { | 3016 | { |
3010 | #ifdef DESKTOP_VERSION | 3017 | #ifdef DESKTOP_VERSION |
3011 | int x,y,w,h; | 3018 | int x,y,w,h; |
3012 | x = mTodoEditor->geometry().x(); | 3019 | x = mTodoEditor->geometry().x(); |
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index f7e5366..3323a98 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h | |||
@@ -296,362 +296,363 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
296 | /** create new todo */ | 296 | /** create new todo */ |
297 | void newTodo(); | 297 | void newTodo(); |
298 | void newTodoDateTime(QDateTime, bool allday); | 298 | void newTodoDateTime(QDateTime, bool allday); |
299 | /** create new todo with a parent todo */ | 299 | /** create new todo with a parent todo */ |
300 | void newSubTodo(); | 300 | void newSubTodo(); |
301 | /** create new todo with a parent todo */ | 301 | /** create new todo with a parent todo */ |
302 | void newSubTodo(Todo *); | 302 | void newSubTodo(Todo *); |
303 | /** Delete todo */ | 303 | /** Delete todo */ |
304 | void deleteTodo(Todo *); | 304 | void deleteTodo(Todo *); |
305 | 305 | ||
306 | 306 | ||
307 | /** Check if clipboard contains vCalendar event. The signal pasteEnabled() is | 307 | /** Check if clipboard contains vCalendar event. The signal pasteEnabled() is |
308 | * emitted as result. */ | 308 | * emitted as result. */ |
309 | void checkClipboard(); | 309 | void checkClipboard(); |
310 | 310 | ||
311 | /** using the KConfig associated with the kapp variable, read in the | 311 | /** using the KConfig associated with the kapp variable, read in the |
312 | * settings from the config file. | 312 | * settings from the config file. |
313 | */ | 313 | */ |
314 | void readSettings(); | 314 | void readSettings(); |
315 | 315 | ||
316 | /** write current state to config file. */ | 316 | /** write current state to config file. */ |
317 | void writeSettings(); | 317 | void writeSettings(); |
318 | 318 | ||
319 | /** read settings for calendar filters */ | 319 | /** read settings for calendar filters */ |
320 | void readFilterSettings(KConfig *config); | 320 | void readFilterSettings(KConfig *config); |
321 | 321 | ||
322 | /** write settings for calendar filters */ | 322 | /** write settings for calendar filters */ |
323 | void writeFilterSettings(KConfig *config); | 323 | void writeFilterSettings(KConfig *config); |
324 | 324 | ||
325 | /** passes on the message that an event has changed to the currently | 325 | /** passes on the message that an event has changed to the currently |
326 | * activated view so that it can make appropriate display changes. */ | 326 | * activated view so that it can make appropriate display changes. */ |
327 | void changeEventDisplay(Event *, int); | 327 | void changeEventDisplay(Event *, int); |
328 | void changeIncidenceDisplay(Incidence *, int); | 328 | void changeIncidenceDisplay(Incidence *, int); |
329 | void changeTodoDisplay(Todo *, int); | 329 | void changeTodoDisplay(Todo *, int); |
330 | 330 | ||
331 | void eventAdded(Event *); | 331 | void eventAdded(Event *); |
332 | void eventChanged(Event *); | 332 | void eventChanged(Event *); |
333 | void eventToBeDeleted(Event *); | 333 | void eventToBeDeleted(Event *); |
334 | void eventDeleted(); | 334 | void eventDeleted(); |
335 | 335 | ||
336 | void todoAdded(Todo *); | 336 | void todoAdded(Todo *); |
337 | void todoChanged(Todo *); | 337 | void todoChanged(Todo *); |
338 | void todoToBeDeleted(Todo *); | 338 | void todoToBeDeleted(Todo *); |
339 | void todoDeleted(); | 339 | void todoDeleted(); |
340 | 340 | ||
341 | void updateView(const QDate &start, const QDate &end); | 341 | void updateView(const QDate &start, const QDate &end); |
342 | void updateView(); | 342 | void updateView(); |
343 | void clearAllViews(); | 343 | void clearAllViews(); |
344 | 344 | ||
345 | /** Full update of visible todo views */ | 345 | /** Full update of visible todo views */ |
346 | void updateTodoViews(); | 346 | void updateTodoViews(); |
347 | 347 | ||
348 | void updateUnmanagedViews(); | 348 | void updateUnmanagedViews(); |
349 | 349 | ||
350 | /** cut the current appointment to the clipboard */ | 350 | /** cut the current appointment to the clipboard */ |
351 | void edit_cut(); | 351 | void edit_cut(); |
352 | 352 | ||
353 | /** copy the current appointment(s) to the clipboard */ | 353 | /** copy the current appointment(s) to the clipboard */ |
354 | void edit_copy(); | 354 | void edit_copy(); |
355 | 355 | ||
356 | /** paste the current vobject(s) in the clipboard buffer into calendar */ | 356 | /** paste the current vobject(s) in the clipboard buffer into calendar */ |
357 | void edit_paste(); | 357 | void edit_paste(); |
358 | 358 | ||
359 | /** edit viewing and configuration options. */ | 359 | /** edit viewing and configuration options. */ |
360 | void edit_options(); | 360 | void edit_options(); |
361 | void edit_global_options(); | 361 | void edit_global_options(); |
362 | /** | 362 | /** |
363 | Functions for printing, previewing a print, and setting up printing | 363 | Functions for printing, previewing a print, and setting up printing |
364 | parameters. | 364 | parameters. |
365 | */ | 365 | */ |
366 | void print(); | 366 | void print(); |
367 | void printSetup(); | 367 | void printSetup(); |
368 | void printPreview(); | 368 | void printPreview(); |
369 | 369 | ||
370 | /** Export as iCalendar file */ | 370 | /** Export as iCalendar file */ |
371 | void exportICalendar(); | 371 | void exportICalendar(); |
372 | 372 | ||
373 | /** Export as vCalendar file */ | 373 | /** Export as vCalendar file */ |
374 | bool exportVCalendar( QString fn); | 374 | bool exportVCalendar( QString fn); |
375 | 375 | ||
376 | /** pop up a dialog to show an existing appointment. */ | 376 | /** pop up a dialog to show an existing appointment. */ |
377 | void appointment_show(); | 377 | void appointment_show(); |
378 | /** | 378 | /** |
379 | * pop up an Appointment Dialog to edit an existing appointment.Get | 379 | * pop up an Appointment Dialog to edit an existing appointment.Get |
380 | * information on the appointment from the list of unique IDs that is | 380 | * information on the appointment from the list of unique IDs that is |
381 | * currently in the View, called currIds. | 381 | * currently in the View, called currIds. |
382 | */ | 382 | */ |
383 | void appointment_edit(); | 383 | void appointment_edit(); |
384 | /** | 384 | /** |
385 | * pop up dialog confirming deletion of currently selected event in the | 385 | * pop up dialog confirming deletion of currently selected event in the |
386 | * View. | 386 | * View. |
387 | */ | 387 | */ |
388 | void appointment_delete(); | 388 | void appointment_delete(); |
389 | 389 | ||
390 | /** mails the currently selected event to a particular user as a vCalendar | 390 | /** mails the currently selected event to a particular user as a vCalendar |
391 | attachment. */ | 391 | attachment. */ |
392 | void action_mail(); | 392 | void action_mail(); |
393 | 393 | ||
394 | /* frees a subtodo from it's relation */ | 394 | /* frees a subtodo from it's relation */ |
395 | void todo_unsub( Todo * ); | 395 | void todo_unsub( Todo * ); |
396 | void todo_resub( Todo * parent, Todo * sub ); | 396 | void todo_resub( Todo * parent, Todo * sub ); |
397 | 397 | ||
398 | /** Take ownership of selected event. */ | 398 | /** Take ownership of selected event. */ |
399 | void takeOverEvent(); | 399 | void takeOverEvent(); |
400 | 400 | ||
401 | /** Take ownership of all events in calendar. */ | 401 | /** Take ownership of all events in calendar. */ |
402 | void takeOverCalendar(); | 402 | void takeOverCalendar(); |
403 | 403 | ||
404 | /** query whether or not the calendar is "dirty". */ | 404 | /** query whether or not the calendar is "dirty". */ |
405 | bool isModified(); | 405 | bool isModified(); |
406 | /** set the state of calendar. Modified means "dirty", i.e. needing a save. */ | 406 | /** set the state of calendar. Modified means "dirty", i.e. needing a save. */ |
407 | void setModified(bool modified=true); | 407 | void setModified(bool modified=true); |
408 | 408 | ||
409 | /** query if the calendar is read-only. */ | 409 | /** query if the calendar is read-only. */ |
410 | bool isReadOnly(); | 410 | bool isReadOnly(); |
411 | /** set state of calendar to read-only */ | 411 | /** set state of calendar to read-only */ |
412 | void setReadOnly(bool readOnly=true); | 412 | void setReadOnly(bool readOnly=true); |
413 | 413 | ||
414 | void eventUpdated(Incidence *); | 414 | void eventUpdated(Incidence *); |
415 | 415 | ||
416 | /* iTIP scheduling actions */ | 416 | /* iTIP scheduling actions */ |
417 | void schedule_publish(Incidence *incidence = 0); | 417 | void schedule_publish(Incidence *incidence = 0); |
418 | void schedule_request(Incidence *incidence = 0); | 418 | void schedule_request(Incidence *incidence = 0); |
419 | void schedule_refresh(Incidence *incidence = 0); | 419 | void schedule_refresh(Incidence *incidence = 0); |
420 | void schedule_cancel(Incidence *incidence = 0); | 420 | void schedule_cancel(Incidence *incidence = 0); |
421 | void schedule_add(Incidence *incidence = 0); | 421 | void schedule_add(Incidence *incidence = 0); |
422 | void schedule_reply(Incidence *incidence = 0); | 422 | void schedule_reply(Incidence *incidence = 0); |
423 | void schedule_counter(Incidence *incidence = 0); | 423 | void schedule_counter(Incidence *incidence = 0); |
424 | void schedule_declinecounter(Incidence *incidence = 0); | 424 | void schedule_declinecounter(Incidence *incidence = 0); |
425 | void schedule_publish_freebusy(int daysToPublish = 30); | 425 | void schedule_publish_freebusy(int daysToPublish = 30); |
426 | 426 | ||
427 | void openAddressbook(); | 427 | void openAddressbook(); |
428 | 428 | ||
429 | void editFilters(); | 429 | void editFilters(); |
430 | void toggleFilerEnabled(); | 430 | void toggleFilerEnabled(); |
431 | QPtrList<CalFilter> filters(); | 431 | QPtrList<CalFilter> filters(); |
432 | void toggleFilter(); | 432 | void toggleFilter(); |
433 | void showFilter(bool visible); | 433 | void showFilter(bool visible); |
434 | void updateFilter(); | 434 | void updateFilter(); |
435 | void filterEdited(); | 435 | void filterEdited(); |
436 | void selectFilter( int ); | 436 | void selectFilter( int ); |
437 | KOFilterView *filterView(); | 437 | KOFilterView *filterView(); |
438 | 438 | ||
439 | void showIntro(); | 439 | void showIntro(); |
440 | 440 | ||
441 | /** Move the curdatepient view date to today */ | 441 | /** Move the curdatepient view date to today */ |
442 | void goToday(); | 442 | void goToday(); |
443 | 443 | ||
444 | /** Move to the next date(s) in the current view */ | 444 | /** Move to the next date(s) in the current view */ |
445 | void goNext(); | 445 | void goNext(); |
446 | 446 | ||
447 | /** Move to the previous date(s) in the current view */ | 447 | /** Move to the previous date(s) in the current view */ |
448 | void goPrevious(); | 448 | void goPrevious(); |
449 | /** Move to the next date(s) in the current view */ | 449 | /** Move to the next date(s) in the current view */ |
450 | void goNextMonth(); | 450 | void goNextMonth(); |
451 | 451 | ||
452 | /** Move to the previous date(s) in the current view */ | 452 | /** Move to the previous date(s) in the current view */ |
453 | void goPreviousMonth(); | 453 | void goPreviousMonth(); |
454 | 454 | ||
455 | void toggleExpand(); | 455 | void toggleExpand(); |
456 | void toggleDateNavigatorWidget(); | 456 | void toggleDateNavigatorWidget(); |
457 | void toggleAllDaySize(); | 457 | void toggleAllDaySize(); |
458 | void dialogClosing(Incidence *); | 458 | void dialogClosing(Incidence *); |
459 | 459 | ||
460 | /** Look for new messages in the inbox */ | 460 | /** Look for new messages in the inbox */ |
461 | void lookForIncomingMessages(); | 461 | void lookForIncomingMessages(); |
462 | /** Look for new messages in the outbox */ | 462 | /** Look for new messages in the outbox */ |
463 | void lookForOutgoingMessages(); | 463 | void lookForOutgoingMessages(); |
464 | 464 | ||
465 | void processMainViewSelection( Incidence * ); | 465 | void processMainViewSelection( Incidence * ); |
466 | void processTodoListSelection( Incidence * ); | 466 | void processTodoListSelection( Incidence * ); |
467 | 467 | ||
468 | void processIncidenceSelection( Incidence * ); | 468 | void processIncidenceSelection( Incidence * ); |
469 | 469 | ||
470 | void purgeCompleted(); | 470 | void purgeCompleted(); |
471 | bool removeCompletedSubTodos( Todo* ); | 471 | bool removeCompletedSubTodos( Todo* ); |
472 | void slotCalendarChanged(); | 472 | void slotCalendarChanged(); |
473 | bool importBday(); | 473 | bool importBday(); |
474 | bool addAnniversary( QDate data, QString name, KCal::Attendee* a , bool birthday ); | 474 | bool addAnniversary( QDate data, QString name, KCal::Attendee* a , bool birthday ); |
475 | bool importQtopia( const QString &categoriesFile, | 475 | bool importQtopia( const QString &categoriesFile, |
476 | const QString &datebookFile, | 476 | const QString &datebookFile, |
477 | const QString &tasklistFile ); | 477 | const QString &tasklistFile ); |
478 | void syncExternal( int mode ); | 478 | void syncExternal( int mode ); |
479 | void slotSelectPickerDate( QDate ) ; | 479 | void slotSelectPickerDate( QDate ) ; |
480 | void showDatePicker() ; | 480 | void showDatePicker() ; |
481 | void showDatePickerPopup() ; | 481 | void showDatePickerPopup() ; |
482 | void moveIncidence(Incidence *) ; | 482 | void moveIncidence(Incidence *) ; |
483 | void beamIncidence(Incidence *) ; | 483 | void beamIncidence(Incidence *) ; |
484 | void beamCalendar() ; | 484 | void beamCalendar() ; |
485 | void beamFilteredCalendar() ; | 485 | void beamFilteredCalendar() ; |
486 | void beamIncidenceList(QPtrList<Incidence>) ; | 486 | void beamIncidenceList(QPtrList<Incidence>) ; |
487 | void manageCategories(); | 487 | void manageCategories(); |
488 | void editCategories(); | ||
488 | int addCategories(); | 489 | int addCategories(); |
489 | void removeCategories(); | 490 | void removeCategories(); |
490 | void setSyncDevice( QString ); | 491 | void setSyncDevice( QString ); |
491 | void setSyncName( QString ); | 492 | void setSyncName( QString ); |
492 | void showDay( QDate ); | 493 | void showDay( QDate ); |
493 | void undo_delete(); | 494 | void undo_delete(); |
494 | protected slots: | 495 | protected slots: |
495 | void resetFocus(); | 496 | void resetFocus(); |
496 | void scrollBarValue(int); | 497 | void scrollBarValue(int); |
497 | void slotViewerClosed(); | 498 | void slotViewerClosed(); |
498 | void timerAlarm(); | 499 | void timerAlarm(); |
499 | void suspendAlarm(); | 500 | void suspendAlarm(); |
500 | void beamDone( Ir *ir ); | 501 | void beamDone( Ir *ir ); |
501 | /** Select a view or adapt the current view to display the specified dates. */ | 502 | /** Select a view or adapt the current view to display the specified dates. */ |
502 | void showDates( const KCal::DateList & ); | 503 | void showDates( const KCal::DateList & ); |
503 | void selectWeekNum ( int ); | 504 | void selectWeekNum ( int ); |
504 | 505 | ||
505 | public: | 506 | public: |
506 | // show a standard warning | 507 | // show a standard warning |
507 | // returns KMsgBox::yesNoCancel() | 508 | // returns KMsgBox::yesNoCancel() |
508 | int msgCalModified(); | 509 | int msgCalModified(); |
509 | virtual bool sync(KSyncManager* manager, QString filename, int mode); | 510 | virtual bool sync(KSyncManager* manager, QString filename, int mode); |
510 | 511 | ||
511 | virtual bool syncExternal(KSyncManager* manager, QString resource); | 512 | virtual bool syncExternal(KSyncManager* manager, QString resource); |
512 | virtual void removeSyncInfo( QString syncProfile); | 513 | virtual void removeSyncInfo( QString syncProfile); |
513 | void setSyncManager(KSyncManager* manager); | 514 | void setSyncManager(KSyncManager* manager); |
514 | void setLoadedFileVersion(QDateTime); | 515 | void setLoadedFileVersion(QDateTime); |
515 | bool checkFileVersion(QString fn); | 516 | bool checkFileVersion(QString fn); |
516 | bool checkAllFileVersions(); | 517 | bool checkAllFileVersions(); |
517 | bool checkFileChanged(QString fn); | 518 | bool checkFileChanged(QString fn); |
518 | Event* getLastSyncEvent(); | 519 | Event* getLastSyncEvent(); |
519 | /** Adapt navigation units correpsonding to step size of navigation of the | 520 | /** Adapt navigation units correpsonding to step size of navigation of the |
520 | * current view. | 521 | * current view. |
521 | */ | 522 | */ |
522 | void adaptNavigationUnits(); | 523 | void adaptNavigationUnits(); |
523 | bool synchronizeCalendar( Calendar* local, Calendar* remote, int mode ); | 524 | bool synchronizeCalendar( Calendar* local, Calendar* remote, int mode ); |
524 | int takeEvent( Incidence* local, Incidence* remote, int mode, bool full = false ); | 525 | int takeEvent( Incidence* local, Incidence* remote, int mode, bool full = false ); |
525 | //Attendee* getYourAttendee(Event *event); | 526 | //Attendee* getYourAttendee(Event *event); |
526 | void setBlockShowDates( bool b ) { mBlockShowDates = b ;} | 527 | void setBlockShowDates( bool b ) { mBlockShowDates = b ;} |
527 | void setScrollBarStep(int val ); | 528 | void setScrollBarStep(int val ); |
528 | 529 | ||
529 | protected: | 530 | protected: |
530 | void schedule(Scheduler::Method, Incidence *incidence = 0); | 531 | void schedule(Scheduler::Method, Incidence *incidence = 0); |
531 | 532 | ||
532 | // returns KMsgBox::OKCandel() | 533 | // returns KMsgBox::OKCandel() |
533 | int msgItemDelete(const QString name); | 534 | int msgItemDelete(const QString name); |
534 | void showEventEditor(); | 535 | void showEventEditor(); |
535 | void showTodoEditor(); | 536 | void showTodoEditor(); |
536 | Todo *selectedTodo(); | 537 | Todo *selectedTodo(); |
537 | private: | 538 | private: |
538 | #ifdef DESKTOP_VERSION | 539 | #ifdef DESKTOP_VERSION |
539 | QScrollBar * mDateScrollBar; | 540 | QScrollBar * mDateScrollBar; |
540 | #endif | 541 | #endif |
541 | QDateTime mNextAlarmDateTime; | 542 | QDateTime mNextAlarmDateTime; |
542 | bool mViewerCallerIsSearchDialog; | 543 | bool mViewerCallerIsSearchDialog; |
543 | bool mBlockShowDates; | 544 | bool mBlockShowDates; |
544 | KSyncManager* mSyncManager; | 545 | KSyncManager* mSyncManager; |
545 | AlarmDialog * mAlarmDialog; | 546 | AlarmDialog * mAlarmDialog; |
546 | QString mAlarmNotification; | 547 | QString mAlarmNotification; |
547 | QString mSuspendAlarmNotification; | 548 | QString mSuspendAlarmNotification; |
548 | QTimer* mSuspendTimer; | 549 | QTimer* mSuspendTimer; |
549 | QTimer* mAlarmTimer; | 550 | QTimer* mAlarmTimer; |
550 | QTimer* mRecheckAlarmTimer; | 551 | QTimer* mRecheckAlarmTimer; |
551 | void computeAlarm( QString ); | 552 | void computeAlarm( QString ); |
552 | void startAlarm( QString, QString ); | 553 | void startAlarm( QString, QString ); |
553 | void setSyncEventsReadOnly(); | 554 | void setSyncEventsReadOnly(); |
554 | 555 | ||
555 | QDateTime loadedFileVersion; | 556 | QDateTime loadedFileVersion; |
556 | void checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* toDelete ); | 557 | void checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* toDelete ); |
557 | void checkExternalId( Incidence * inc ); | 558 | void checkExternalId( Incidence * inc ); |
558 | int mGlobalSyncMode; | 559 | int mGlobalSyncMode; |
559 | QString mCurrentSyncDevice; | 560 | QString mCurrentSyncDevice; |
560 | QString mCurrentSyncName; | 561 | QString mCurrentSyncName; |
561 | void init(); | 562 | void init(); |
562 | int mDatePickerMode; | 563 | int mDatePickerMode; |
563 | bool mFlagEditDescription; | 564 | bool mFlagEditDescription; |
564 | QDateTime mLastCalendarSync; | 565 | QDateTime mLastCalendarSync; |
565 | void createPrinter(); | 566 | void createPrinter(); |
566 | 567 | ||
567 | void calendarModified( bool, Calendar * ); | 568 | void calendarModified( bool, Calendar * ); |
568 | 569 | ||
569 | CalPrinter *mCalPrinter; | 570 | CalPrinter *mCalPrinter; |
570 | 571 | ||
571 | QSplitter *mPanner; | 572 | QSplitter *mPanner; |
572 | QSplitter *mLeftSplitter; | 573 | QSplitter *mLeftSplitter; |
573 | KDGanttMinimizeSplitter *mLeftFrame, *mMainFrame; | 574 | KDGanttMinimizeSplitter *mLeftFrame, *mMainFrame; |
574 | QWidgetStack *mRightFrame; | 575 | QWidgetStack *mRightFrame; |
575 | 576 | ||
576 | KDatePicker* mDatePicker; | 577 | KDatePicker* mDatePicker; |
577 | QVBox* mDateFrame; | 578 | QVBox* mDateFrame; |
578 | 579 | ||
579 | DateNavigatorContainer *mDateNavigator; // widget showing small month view. | 580 | DateNavigatorContainer *mDateNavigator; // widget showing small month view. |
580 | 581 | ||
581 | KOFilterView *mFilterView; | 582 | KOFilterView *mFilterView; |
582 | KOCalEditView *mCalEditView; | 583 | KOCalEditView *mCalEditView; |
583 | 584 | ||
584 | ResourceView *mResourceView; | 585 | ResourceView *mResourceView; |
585 | 586 | ||
586 | // calendar object for this viewing instance | 587 | // calendar object for this viewing instance |
587 | Calendar *mCalendar; | 588 | Calendar *mCalendar; |
588 | 589 | ||
589 | CalendarResourceManager *mResourceManager; | 590 | CalendarResourceManager *mResourceManager; |
590 | 591 | ||
591 | FileStorage *mStorage; | 592 | FileStorage *mStorage; |
592 | 593 | ||
593 | DateNavigator *mNavigator; | 594 | DateNavigator *mNavigator; |
594 | 595 | ||
595 | KOViewManager *mViewManager; | 596 | KOViewManager *mViewManager; |
596 | KODialogManager *mDialogManager; | 597 | KODialogManager *mDialogManager; |
597 | 598 | ||
598 | // Calendar filters | 599 | // Calendar filters |
599 | QPtrList<CalFilter> mFilters; | 600 | QPtrList<CalFilter> mFilters; |
600 | 601 | ||
601 | // various housekeeping variables. | 602 | // various housekeeping variables. |
602 | bool mModified; // flag indicating if calendar is modified | 603 | bool mModified; // flag indicating if calendar is modified |
603 | bool mReadOnly; // flag indicating if calendar is read-only | 604 | bool mReadOnly; // flag indicating if calendar is read-only |
604 | QDate mSaveSingleDate; | 605 | QDate mSaveSingleDate; |
605 | 606 | ||
606 | Incidence *mSelectedIncidence; | 607 | Incidence *mSelectedIncidence; |
607 | Incidence *mMoveIncidence; | 608 | Incidence *mMoveIncidence; |
608 | QDate mMoveIncidenceOldDate; | 609 | QDate mMoveIncidenceOldDate; |
609 | KOTodoView *mTodoList; | 610 | KOTodoView *mTodoList; |
610 | KOEventEditor * mEventEditor; | 611 | KOEventEditor * mEventEditor; |
611 | KOTodoEditor * mTodoEditor; | 612 | KOTodoEditor * mTodoEditor; |
612 | KOEventViewerDialog * mEventViewerDialog; | 613 | KOEventViewerDialog * mEventViewerDialog; |
613 | void keyPressEvent ( QKeyEvent *e) ; | 614 | void keyPressEvent ( QKeyEvent *e) ; |
614 | //QMap<Incidence*,KOIncidenceEditor*> mDialogList; | 615 | //QMap<Incidence*,KOIncidenceEditor*> mDialogList; |
615 | }; | 616 | }; |
616 | 617 | ||
617 | 618 | ||
618 | class CalendarViewVisitor : public Incidence::Visitor | 619 | class CalendarViewVisitor : public Incidence::Visitor |
619 | { | 620 | { |
620 | public: | 621 | public: |
621 | CalendarViewVisitor() : mView( 0 ) {} | 622 | CalendarViewVisitor() : mView( 0 ) {} |
622 | 623 | ||
623 | bool act( Incidence *incidence, CalendarView *view ) | 624 | bool act( Incidence *incidence, CalendarView *view ) |
624 | { | 625 | { |
625 | mView = view; | 626 | mView = view; |
626 | return incidence->accept( *this ); | 627 | return incidence->accept( *this ); |
627 | } | 628 | } |
628 | 629 | ||
629 | protected: | 630 | protected: |
630 | CalendarView *mView; | 631 | CalendarView *mView; |
631 | }; | 632 | }; |
632 | 633 | ||
633 | class ShowIncidenceVisitor : public CalendarViewVisitor | 634 | class ShowIncidenceVisitor : public CalendarViewVisitor |
634 | { | 635 | { |
635 | protected: | 636 | protected: |
636 | bool visit( Event *event ) { mView->showEvent( event ); return true; } | 637 | bool visit( Event *event ) { mView->showEvent( event ); return true; } |
637 | bool visit( Todo *todo ) { mView->showTodo( todo ); return true; } | 638 | bool visit( Todo *todo ) { mView->showTodo( todo ); return true; } |
638 | bool visit( Journal * j ) { mView->showJournal( j );return true; } | 639 | bool visit( Journal * j ) { mView->showJournal( j );return true; } |
639 | }; | 640 | }; |
640 | 641 | ||
641 | class EditIncidenceVisitor : public CalendarViewVisitor | 642 | class EditIncidenceVisitor : public CalendarViewVisitor |
642 | { | 643 | { |
643 | protected: | 644 | protected: |
644 | bool visit( Event *event ) { mView->editEvent( event ); return true; } | 645 | bool visit( Event *event ) { mView->editEvent( event ); return true; } |
645 | bool visit( Todo *todo ) { mView->editTodo( todo ); return true; } | 646 | bool visit( Todo *todo ) { mView->editTodo( todo ); return true; } |
646 | bool visit( Journal *j ) { mView->editJournal( j); return true; } | 647 | bool visit( Journal *j ) { mView->editJournal( j); return true; } |
647 | }; | 648 | }; |
648 | 649 | ||
649 | class DeleteIncidenceVisitor : public CalendarViewVisitor | 650 | class DeleteIncidenceVisitor : public CalendarViewVisitor |
650 | { | 651 | { |
651 | protected: | 652 | protected: |
652 | bool visit( Event *event ) { mView->deleteEvent( event ); return true; } | 653 | bool visit( Event *event ) { mView->deleteEvent( event ); return true; } |
653 | bool visit( Todo *todo ) { mView->deleteTodo( todo ); return true; } | 654 | bool visit( Todo *todo ) { mView->deleteTodo( todo ); return true; } |
654 | bool visit( Journal * j) {mView->deleteJournal( j ); return true; } | 655 | bool visit( Journal * j) {mView->deleteJournal( j ); return true; } |
655 | }; | 656 | }; |
656 | 657 | ||
657 | #endif | 658 | #endif |
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 43e1113..517677c 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp | |||
@@ -249,385 +249,386 @@ bool ListItemVisitor::visit(Journal * j) | |||
249 | 249 | ||
250 | KOListView::KOListView(Calendar *calendar, QWidget *parent, | 250 | KOListView::KOListView(Calendar *calendar, QWidget *parent, |
251 | const char *name) | 251 | const char *name) |
252 | : KOEventView(calendar, parent, name) | 252 | : KOEventView(calendar, parent, name) |
253 | { | 253 | { |
254 | 254 | ||
255 | mActiveItem = 0; | 255 | mActiveItem = 0; |
256 | mForceShowCompletedTodos = false; | 256 | mForceShowCompletedTodos = false; |
257 | mListView = new KOListViewListView(this); | 257 | mListView = new KOListViewListView(this); |
258 | mListView->addColumn(i18n("Summary")); | 258 | mListView->addColumn(i18n("Summary")); |
259 | mListView->addColumn(i18n("Start Date")); | 259 | mListView->addColumn(i18n("Start Date")); |
260 | mListView->addColumn(i18n("Start Time")); | 260 | mListView->addColumn(i18n("Start Time")); |
261 | mListView->addColumn(i18n("End Date")); | 261 | mListView->addColumn(i18n("End Date")); |
262 | mListView->addColumn(i18n("End Time")); | 262 | mListView->addColumn(i18n("End Time")); |
263 | mListView->addColumn(i18n("Alarm")); // alarm set? | 263 | mListView->addColumn(i18n("Alarm")); // alarm set? |
264 | mListView->addColumn(i18n("Recurs")); // recurs? | 264 | mListView->addColumn(i18n("Recurs")); // recurs? |
265 | mListView->addColumn(i18n("Due Date")); | 265 | mListView->addColumn(i18n("Due Date")); |
266 | mListView->addColumn(i18n("Due Time")); | 266 | mListView->addColumn(i18n("Due Time")); |
267 | mListView->addColumn(i18n("Cancelled")); | 267 | mListView->addColumn(i18n("Cancelled")); |
268 | mListView->addColumn(i18n("Categories")); | 268 | mListView->addColumn(i18n("Categories")); |
269 | mListView->addColumn(i18n("Calendar")); | 269 | mListView->addColumn(i18n("Calendar")); |
270 | 270 | ||
271 | mListView->setColumnAlignment(0,AlignLeft); | 271 | mListView->setColumnAlignment(0,AlignLeft); |
272 | mListView->setColumnAlignment(1,AlignLeft); | 272 | mListView->setColumnAlignment(1,AlignLeft); |
273 | mListView->setColumnAlignment(2,AlignHCenter); | 273 | mListView->setColumnAlignment(2,AlignHCenter); |
274 | mListView->setColumnAlignment(3,AlignLeft); | 274 | mListView->setColumnAlignment(3,AlignLeft); |
275 | mListView->setColumnAlignment(4,AlignHCenter); | 275 | mListView->setColumnAlignment(4,AlignHCenter); |
276 | mListView->setColumnAlignment(5,AlignLeft); | 276 | mListView->setColumnAlignment(5,AlignLeft); |
277 | mListView->setColumnAlignment(6,AlignLeft); | 277 | mListView->setColumnAlignment(6,AlignLeft); |
278 | mListView->setColumnAlignment(7,AlignLeft); | 278 | mListView->setColumnAlignment(7,AlignLeft); |
279 | mListView->setColumnAlignment(8,AlignLeft); | 279 | mListView->setColumnAlignment(8,AlignLeft); |
280 | mListView->setColumnAlignment(9,AlignLeft); | 280 | mListView->setColumnAlignment(9,AlignLeft); |
281 | mListView->setColumnAlignment(10,AlignLeft); | 281 | mListView->setColumnAlignment(10,AlignLeft); |
282 | mListView->setColumnAlignment(11,AlignLeft); | 282 | mListView->setColumnAlignment(11,AlignLeft); |
283 | mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this); | 283 | mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this); |
284 | 284 | ||
285 | int iii = 0; | 285 | int iii = 0; |
286 | for ( iii = 0; iii< 12 ; ++iii ) | 286 | for ( iii = 0; iii< 12 ; ++iii ) |
287 | mListView->setColumnWidthMode( iii, QListView::Manual ); | 287 | mListView->setColumnWidthMode( iii, QListView::Manual ); |
288 | 288 | ||
289 | QBoxLayout *layoutTop = new QVBoxLayout(this); | 289 | QBoxLayout *layoutTop = new QVBoxLayout(this); |
290 | layoutTop->addWidget(mListView); | 290 | layoutTop->addWidget(mListView); |
291 | mListView->setFont ( KOPrefs::instance()->mListViewFont ); | 291 | mListView->setFont ( KOPrefs::instance()->mListViewFont ); |
292 | mPopupMenu = eventPopup(); | 292 | mPopupMenu = eventPopup(); |
293 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 293 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
294 | i18n("Select all"),this, | 294 | i18n("Select all"),this, |
295 | SLOT(allSelection()),true); | 295 | SLOT(allSelection()),true); |
296 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 296 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
297 | i18n("Deselect all"),this, | 297 | i18n("Deselect all"),this, |
298 | SLOT(clearSelection()),true); | 298 | SLOT(clearSelection()),true); |
299 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 299 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
300 | i18n("Delete all selected"),this, | 300 | i18n("Delete all selected"),this, |
301 | SLOT(deleteAll()),true); | 301 | SLOT(deleteAll()),true); |
302 | 302 | ||
303 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 303 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
304 | i18n("Hide all selected"),this, | 304 | i18n("Hide all selected"),this, |
305 | SLOT(hideAll()),true); | 305 | SLOT(hideAll()),true); |
306 | 306 | ||
307 | mPopupMenu->insertSeparator(); | 307 | mPopupMenu->insertSeparator(); |
308 | #ifdef DESKTOP_VERSION | 308 | #ifdef DESKTOP_VERSION |
309 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 309 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
310 | i18n("Print complete list"),this, | 310 | i18n("Print complete list"),this, |
311 | SLOT(printList()),true); | 311 | SLOT(printList()),true); |
312 | mPopupMenu->insertSeparator(); | 312 | mPopupMenu->insertSeparator(); |
313 | #endif | 313 | #endif |
314 | mCalPopup = new QPopupMenu ( this ); | 314 | mCalPopup = new QPopupMenu ( this ); |
315 | mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup ); | 315 | mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup ); |
316 | 316 | ||
317 | QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this, | 317 | QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this, |
318 | SLOT( populateCalPopup() )); | 318 | SLOT( populateCalPopup() )); |
319 | QObject::connect(mCalPopup,SIGNAL(activated( int )),this, | 319 | QObject::connect(mCalPopup,SIGNAL(activated( int )),this, |
320 | SLOT( setCalendar( int ) )); | 320 | SLOT( setCalendar( int ) )); |
321 | QPopupMenu * exportPO = new QPopupMenu ( this ); | 321 | QPopupMenu * exportPO = new QPopupMenu ( this ); |
322 | mPopupMenu->insertItem( i18n("Export selected"), exportPO ); | 322 | mPopupMenu->insertItem( i18n("Export selected"), exportPO ); |
323 | exportPO->insertItem( i18n("As iCal (ics) file..."),this, | 323 | exportPO->insertItem( i18n("As iCal (ics) file..."),this, |
324 | SLOT(saveToFile())); | 324 | SLOT(saveToFile())); |
325 | exportPO->insertItem( i18n("As vCal (vcs) file..."),this, | 325 | exportPO->insertItem( i18n("As vCal (vcs) file..."),this, |
326 | SLOT(saveToFileVCS())); | 326 | SLOT(saveToFileVCS())); |
327 | exportPO->insertItem( i18n("Journal/Details..."),this, | 327 | exportPO->insertItem( i18n("Journal/Details..."),this, |
328 | SLOT(saveDescriptionToFile())); | 328 | SLOT(saveDescriptionToFile())); |
329 | // mPopupMenu->insertSeparator(); | 329 | // mPopupMenu->insertSeparator(); |
330 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 330 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
331 | i18n("Add Categ. to selected..."),this, | 331 | i18n("Add Categ. to selected..."),this, |
332 | SLOT(addCat()),true); | 332 | SLOT(addCat()),true); |
333 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 333 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
334 | i18n("Set Categ. for selected..."),this, | 334 | i18n("Set Categ. for selected..."),this, |
335 | SLOT(setCat()),true); | 335 | SLOT(setCat()),true); |
336 | //mPopupMenu->insertSeparator(); | 336 | //mPopupMenu->insertSeparator(); |
337 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 337 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
338 | i18n("Set alarm for selected..."),this, | 338 | i18n("Set alarm for selected..."),this, |
339 | SLOT(setAlarm()),true); | 339 | SLOT(setAlarm()),true); |
340 | 340 | ||
341 | 341 | ||
342 | 342 | ||
343 | #ifndef DESKTOP_VERSION | 343 | #ifndef DESKTOP_VERSION |
344 | mPopupMenu->insertSeparator(); | 344 | mPopupMenu->insertSeparator(); |
345 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 345 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
346 | i18n("Beam selected via IR"),this, | 346 | i18n("Beam selected via IR"),this, |
347 | SLOT(beamSelected()),true); | 347 | SLOT(beamSelected()),true); |
348 | #endif | 348 | #endif |
349 | /* | 349 | /* |
350 | mPopupMenu = new QPopupMenu; | 350 | mPopupMenu = new QPopupMenu; |
351 | mPopupMenu->insertItem(i18n("Edit Event"), this, | 351 | mPopupMenu->insertItem(i18n("Edit Event"), this, |
352 | SLOT (editEvent())); | 352 | SLOT (editEvent())); |
353 | mPopupMenu->insertItem(SmallIcon("delete"), i18n("Delete Event"), this, | 353 | mPopupMenu->insertItem(SmallIcon("delete"), i18n("Delete Event"), this, |
354 | SLOT (deleteEvent())); | 354 | SLOT (deleteEvent())); |
355 | mPopupMenu->insertSeparator(); | 355 | mPopupMenu->insertSeparator(); |
356 | mPopupMenu->insertItem(i18n("Show Dates"), this, | 356 | mPopupMenu->insertItem(i18n("Show Dates"), this, |
357 | SLOT(showDates())); | 357 | SLOT(showDates())); |
358 | mPopupMenu->insertItem(i18n("Hide Dates"), this, | 358 | mPopupMenu->insertItem(i18n("Hide Dates"), this, |
359 | SLOT(hideDates())); | 359 | SLOT(hideDates())); |
360 | */ | 360 | */ |
361 | QObject::connect(mListView,SIGNAL( newEvent()), | 361 | QObject::connect(mListView,SIGNAL( newEvent()), |
362 | this,SIGNAL(signalNewEvent())); | 362 | this,SIGNAL(signalNewEvent())); |
363 | QObject::connect(mListView,SIGNAL(doubleClicked(QListViewItem *)), | 363 | QObject::connect(mListView,SIGNAL(doubleClicked(QListViewItem *)), |
364 | this,SLOT(defaultItemAction(QListViewItem *))); | 364 | this,SLOT(defaultItemAction(QListViewItem *))); |
365 | QObject::connect(mListView,SIGNAL(rightButtonPressed( QListViewItem *, | 365 | QObject::connect(mListView,SIGNAL(rightButtonPressed( QListViewItem *, |
366 | const QPoint &, int )), | 366 | const QPoint &, int )), |
367 | this,SLOT(popupMenu(QListViewItem *,const QPoint &,int))); | 367 | this,SLOT(popupMenu(QListViewItem *,const QPoint &,int))); |
368 | QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)), | 368 | QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)), |
369 | SLOT(processSelectionChange(QListViewItem *))); | 369 | SLOT(processSelectionChange(QListViewItem *))); |
370 | QObject::connect(mListView,SIGNAL(showIncidence(Incidence *)), | 370 | QObject::connect(mListView,SIGNAL(showIncidence(Incidence *)), |
371 | SIGNAL(showIncidenceSignal(Incidence *)) ); | 371 | SIGNAL(showIncidenceSignal(Incidence *)) ); |
372 | 372 | ||
373 | readSettings(KOGlobals::config(),"KOListView Layout"); | 373 | readSettings(KOGlobals::config(),"KOListView Layout"); |
374 | } | 374 | } |
375 | 375 | ||
376 | KOListView::~KOListView() | 376 | KOListView::~KOListView() |
377 | { | 377 | { |
378 | delete mPopupMenu; | 378 | delete mPopupMenu; |
379 | #if QT_VERSION >= 0x030000 | 379 | #if QT_VERSION >= 0x030000 |
380 | 380 | ||
381 | #else | 381 | #else |
382 | delete mKOListViewWhatsThis; | 382 | delete mKOListViewWhatsThis; |
383 | #endif | 383 | #endif |
384 | } | 384 | } |
385 | 385 | ||
386 | QString KOListView::getWhatsThisText(QPoint p) | 386 | QString KOListView::getWhatsThisText(QPoint p) |
387 | { | 387 | { |
388 | KOListViewItem* item = ( KOListViewItem* ) mListView->itemAt( p ); | 388 | KOListViewItem* item = ( KOListViewItem* ) mListView->itemAt( p ); |
389 | if ( item ) | 389 | if ( item ) |
390 | return KIncidenceFormatter::instance()->getFormattedText( item->data(), | 390 | return KIncidenceFormatter::instance()->getFormattedText( item->data(), |
391 | KOPrefs::instance()->mWTshowDetails, | 391 | KOPrefs::instance()->mWTshowDetails, |
392 | KOPrefs::instance()->mWTshowCreated, | 392 | KOPrefs::instance()->mWTshowCreated, |
393 | KOPrefs::instance()->mWTshowChanged); | 393 | KOPrefs::instance()->mWTshowChanged); |
394 | return i18n("That is the list view" ); | 394 | return i18n("That is the list view" ); |
395 | 395 | ||
396 | } | 396 | } |
397 | 397 | ||
398 | void KOListView::setCalendar( int c ) | 398 | void KOListView::setCalendar( int c ) |
399 | { | 399 | { |
400 | int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"), | 400 | int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"), |
401 | i18n("This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!").arg( KOPrefs::instance()->calName( c ) ), | 401 | i18n("This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!").arg( KOPrefs::instance()->calName( c ) ), |
402 | i18n("Continue"), i18n("Cancel"), 0, | 402 | i18n("Continue"), i18n("Cancel"), 0, |
403 | 0, 1 ); | 403 | 0, 1 ); |
404 | if ( result != 0 ) { | 404 | if ( result != 0 ) { |
405 | return; | 405 | return; |
406 | } | 406 | } |
407 | 407 | ||
408 | QPtrList<Incidence> delSel = getSelectedIncidences() ; | 408 | QPtrList<Incidence> delSel = getSelectedIncidences() ; |
409 | int icount = delSel.count(); | 409 | int icount = delSel.count(); |
410 | if ( icount ) { | 410 | if ( icount ) { |
411 | Incidence *incidence = delSel.first(); | 411 | Incidence *incidence = delSel.first(); |
412 | while ( incidence ) { | 412 | while ( incidence ) { |
413 | incidence->setCalID( c ); | 413 | incidence->setCalID( c ); |
414 | KOListViewItem * item = getItemForEvent( incidence ); | 414 | KOListViewItem * item = getItemForEvent( incidence ); |
415 | if ( item ) { | 415 | if ( item ) { |
416 | ListItemVisitor v(item, mStartDate ); | 416 | ListItemVisitor v(item, mStartDate ); |
417 | incidence->accept(v); | 417 | incidence->accept(v); |
418 | } | 418 | } |
419 | incidence = delSel.next(); | 419 | incidence = delSel.next(); |
420 | } | 420 | } |
421 | } | 421 | } |
422 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | 422 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; |
423 | KopiCalendarFile * cal = calendars.first(); | 423 | KopiCalendarFile * cal = calendars.first(); |
424 | while ( cal ) { | 424 | while ( cal ) { |
425 | mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); | 425 | mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); |
426 | mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); | 426 | mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); |
427 | mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); | 427 | mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); |
428 | if ( cal->isStandard ) | 428 | if ( cal->isStandard ) |
429 | mCalendar->setDefaultCalendar( cal->mCalNumber ); | 429 | mCalendar->setDefaultCalendar( cal->mCalNumber ); |
430 | cal = calendars.next(); | 430 | cal = calendars.next(); |
431 | } | 431 | } |
432 | mCalendar->setSyncEventsReadOnly(); | 432 | mCalendar->setSyncEventsReadOnly(); |
433 | mCalendar->reInitAlarmSettings(); | 433 | mCalendar->reInitAlarmSettings(); |
434 | 434 | ||
435 | } | 435 | } |
436 | void KOListView::populateCalPopup() | 436 | void KOListView::populateCalPopup() |
437 | { | 437 | { |
438 | mCalPopup->clear(); | 438 | mCalPopup->clear(); |
439 | KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); | 439 | KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); |
440 | while ( kkf ) { | 440 | while ( kkf ) { |
441 | mCalPopup->insertItem( kkf->mName, kkf->mCalNumber); | 441 | int index = mCalPopup->insertItem( kkf->mName, kkf->mCalNumber); |
442 | mCalPopup->setItemEnabled( index, !kkf->isReadOnly ); | ||
442 | kkf = KOPrefs::instance()->mCalendars.next(); | 443 | kkf = KOPrefs::instance()->mCalendars.next(); |
443 | } | 444 | } |
444 | } | 445 | } |
445 | void KOListView::updateList() | 446 | void KOListView::updateList() |
446 | { | 447 | { |
447 | // qDebug(" KOListView::updateList() "); | 448 | // qDebug(" KOListView::updateList() "); |
448 | 449 | ||
449 | } | 450 | } |
450 | 451 | ||
451 | void KOListView::clearList() | 452 | void KOListView::clearList() |
452 | { | 453 | { |
453 | clear (); | 454 | clear (); |
454 | } | 455 | } |
455 | void KOListView::addCat( ) | 456 | void KOListView::addCat( ) |
456 | { | 457 | { |
457 | setCategories( false ); | 458 | setCategories( false ); |
458 | } | 459 | } |
459 | void KOListView::setCat() | 460 | void KOListView::setCat() |
460 | { | 461 | { |
461 | setCategories( true ); | 462 | setCategories( true ); |
462 | } | 463 | } |
463 | 464 | ||
464 | void KOListView::setAlarm() | 465 | void KOListView::setAlarm() |
465 | { | 466 | { |
466 | KOAlarmPrefs kap( this); | 467 | KOAlarmPrefs kap( this); |
467 | if ( !kap.exec() ) | 468 | if ( !kap.exec() ) |
468 | return; | 469 | return; |
469 | QStringList itemList; | 470 | QStringList itemList; |
470 | QPtrList<KOListViewItem> sel ; | 471 | QPtrList<KOListViewItem> sel ; |
471 | QListViewItem *qitem = mListView->firstChild (); | 472 | QListViewItem *qitem = mListView->firstChild (); |
472 | while ( qitem ) { | 473 | while ( qitem ) { |
473 | if ( qitem->isSelected() ) { | 474 | if ( qitem->isSelected() ) { |
474 | Incidence* inc = ((KOListViewItem *) qitem)->data(); | 475 | Incidence* inc = ((KOListViewItem *) qitem)->data(); |
475 | if ( inc->typeID() != journalID ) { | 476 | if ( inc->typeID() != journalID ) { |
476 | if ( inc->typeID() == todoID ) { | 477 | if ( inc->typeID() == todoID ) { |
477 | if ( ((Todo*)inc)->hasDueDate() ) | 478 | if ( ((Todo*)inc)->hasDueDate() ) |
478 | sel.append(((KOListViewItem *)qitem)); | 479 | sel.append(((KOListViewItem *)qitem)); |
479 | } else | 480 | } else |
480 | sel.append(((KOListViewItem *)qitem)); | 481 | sel.append(((KOListViewItem *)qitem)); |
481 | } | 482 | } |
482 | } | 483 | } |
483 | qitem = qitem->nextSibling(); | 484 | qitem = qitem->nextSibling(); |
484 | } | 485 | } |
485 | int count = 0; | 486 | int count = 0; |
486 | KOListViewItem * item, *temp; | 487 | KOListViewItem * item, *temp; |
487 | item = sel.first(); | 488 | item = sel.first(); |
488 | Incidence* inc; | 489 | Incidence* inc; |
489 | while ( item ) { | 490 | while ( item ) { |
490 | inc = item->data(); | 491 | inc = item->data(); |
491 | ++count; | 492 | ++count; |
492 | if (kap.mAlarmButton->isChecked()) { | 493 | if (kap.mAlarmButton->isChecked()) { |
493 | if (inc->alarms().count() == 0) | 494 | if (inc->alarms().count() == 0) |
494 | inc->newAlarm(); | 495 | inc->newAlarm(); |
495 | QPtrList<Alarm> alarms = inc->alarms(); | 496 | QPtrList<Alarm> alarms = inc->alarms(); |
496 | Alarm *alarm; | 497 | Alarm *alarm; |
497 | for (alarm = alarms.first(); alarm; alarm = alarms.next() ) { | 498 | for (alarm = alarms.first(); alarm; alarm = alarms.next() ) { |
498 | alarm->setEnabled(true); | 499 | alarm->setEnabled(true); |
499 | int j = kap.mAlarmTimeEdit->value()* -60; | 500 | int j = kap.mAlarmTimeEdit->value()* -60; |
500 | if (kap.mAlarmIncrCombo->currentItem() == 1) | 501 | if (kap.mAlarmIncrCombo->currentItem() == 1) |
501 | j = j * 60; | 502 | j = j * 60; |
502 | else if (kap.mAlarmIncrCombo->currentItem() == 2) | 503 | else if (kap.mAlarmIncrCombo->currentItem() == 2) |
503 | j = j * (60 * 24); | 504 | j = j * (60 * 24); |
504 | alarm->setStartOffset( j ); | 505 | alarm->setStartOffset( j ); |
505 | 506 | ||
506 | if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) { | 507 | if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) { |
507 | alarm->setProcedureAlarm(kap.mAlarmProgram); | 508 | alarm->setProcedureAlarm(kap.mAlarmProgram); |
508 | } | 509 | } |
509 | else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn()) | 510 | else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn()) |
510 | alarm->setAudioAlarm(kap.mAlarmSound); | 511 | alarm->setAudioAlarm(kap.mAlarmSound); |
511 | else | 512 | else |
512 | alarm->setType(Alarm::Invalid); | 513 | alarm->setType(Alarm::Invalid); |
513 | //alarm->setAudioAlarm("default"); | 514 | //alarm->setAudioAlarm("default"); |
514 | // TODO: Deal with multiple alarms | 515 | // TODO: Deal with multiple alarms |
515 | break; // For now, stop after the first alarm | 516 | break; // For now, stop after the first alarm |
516 | } | 517 | } |
517 | } else { | 518 | } else { |
518 | Alarm* alarm = inc->alarms().first(); | 519 | Alarm* alarm = inc->alarms().first(); |
519 | if ( alarm ) { | 520 | if ( alarm ) { |
520 | alarm->setEnabled(false); | 521 | alarm->setEnabled(false); |
521 | alarm->setType(Alarm::Invalid); | 522 | alarm->setType(Alarm::Invalid); |
522 | } | 523 | } |
523 | } | 524 | } |
524 | ListItemVisitor v(item, mStartDate ); | 525 | ListItemVisitor v(item, mStartDate ); |
525 | inc->accept(v); | 526 | inc->accept(v); |
526 | item = sel.next(); | 527 | item = sel.next(); |
527 | } | 528 | } |
528 | topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) ); | 529 | topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) ); |
529 | qDebug("KO: Set alarm for %d items", count); | 530 | qDebug("KO: Set alarm for %d items", count); |
530 | calendar()->reInitAlarmSettings(); | 531 | calendar()->reInitAlarmSettings(); |
531 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); | 532 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); |
532 | } | 533 | } |
533 | void KOListView::setCategories( bool removeOld ) | 534 | void KOListView::setCategories( bool removeOld ) |
534 | { | 535 | { |
535 | 536 | ||
536 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); | 537 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); |
537 | csd->setColorEnabled(); | 538 | csd->setColorEnabled(); |
538 | if (! csd->exec()) { | 539 | if (! csd->exec()) { |
539 | delete csd; | 540 | delete csd; |
540 | return; | 541 | return; |
541 | } | 542 | } |
542 | QStringList catList = csd->selectedCategories(); | 543 | QStringList catList = csd->selectedCategories(); |
543 | delete csd; | 544 | delete csd; |
544 | // if ( catList.count() == 0 ) | 545 | // if ( catList.count() == 0 ) |
545 | // return; | 546 | // return; |
546 | //catList.sort(); | 547 | //catList.sort(); |
547 | QString categoriesStr = catList.join(","); | 548 | QString categoriesStr = catList.join(","); |
548 | int i; | 549 | int i; |
549 | QStringList itemList; | 550 | QStringList itemList; |
550 | QPtrList<KOListViewItem> sel ; | 551 | QPtrList<KOListViewItem> sel ; |
551 | QListViewItem *qitem = mListView->firstChild (); | 552 | QListViewItem *qitem = mListView->firstChild (); |
552 | while ( qitem ) { | 553 | while ( qitem ) { |
553 | if ( qitem->isSelected() ) { | 554 | if ( qitem->isSelected() ) { |
554 | sel.append(((KOListViewItem *)qitem)); | 555 | sel.append(((KOListViewItem *)qitem)); |
555 | } | 556 | } |
556 | qitem = qitem->nextSibling(); | 557 | qitem = qitem->nextSibling(); |
557 | } | 558 | } |
558 | KOListViewItem * item, *temp; | 559 | KOListViewItem * item, *temp; |
559 | item = sel.first(); | 560 | item = sel.first(); |
560 | if( item ) { | 561 | if( item ) { |
561 | Incidence* inc = item->data() ; | 562 | Incidence* inc = item->data() ; |
562 | bool setSub = false; | 563 | bool setSub = false; |
563 | if( inc->typeID() == todoID && sel.count() == 1 && inc->relations().count() > 0 ) { | 564 | if( inc->typeID() == todoID && sel.count() == 1 && inc->relations().count() > 0 ) { |
564 | int result = KMessageBox::warningYesNoCancel(this, | 565 | int result = KMessageBox::warningYesNoCancel(this, |
565 | i18n("The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?").arg( inc->summary().left ( 25 ) ), | 566 | i18n("The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?").arg( inc->summary().left ( 25 ) ), |
566 | i18n("Todo has subtodos"), | 567 | i18n("Todo has subtodos"), |
567 | i18n("Yes"), | 568 | i18n("Yes"), |
568 | i18n("No")); | 569 | i18n("No")); |
569 | if (result == KMessageBox::Cancel) item = 0; | 570 | if (result == KMessageBox::Cancel) item = 0; |
570 | if (result == KMessageBox::Yes) setSub = true; | 571 | if (result == KMessageBox::Yes) setSub = true; |
571 | } | 572 | } |
572 | while ( item ) { | 573 | while ( item ) { |
573 | inc = item->data(); | 574 | inc = item->data(); |
574 | if ( removeOld ) { | 575 | if ( removeOld ) { |
575 | inc->setCategories( catList, setSub ); | 576 | inc->setCategories( catList, setSub ); |
576 | } else { | 577 | } else { |
577 | inc->addCategories( catList, setSub ); | 578 | inc->addCategories( catList, setSub ); |
578 | } | 579 | } |
579 | ListItemVisitor v(item, mStartDate ); | 580 | ListItemVisitor v(item, mStartDate ); |
580 | inc->accept(v); | 581 | inc->accept(v); |
581 | item = sel.next(); | 582 | item = sel.next(); |
582 | } | 583 | } |
583 | } | 584 | } |
584 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); | 585 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); |
585 | } | 586 | } |
586 | 587 | ||
587 | void KOListView::beamSelected() | 588 | void KOListView::beamSelected() |
588 | { | 589 | { |
589 | QPtrList<Incidence> delSel = getSelectedIncidences() ; | 590 | QPtrList<Incidence> delSel = getSelectedIncidences() ; |
590 | int icount = delSel.count(); | 591 | int icount = delSel.count(); |
591 | if ( icount ) { | 592 | if ( icount ) { |
592 | emit beamIncidenceList( delSel ); | 593 | emit beamIncidenceList( delSel ); |
593 | return; | 594 | return; |
594 | QString fn ; | 595 | QString fn ; |
595 | fn = QDir::homeDirPath()+"/kopitempbeamfile.vcs"; | 596 | fn = QDir::homeDirPath()+"/kopitempbeamfile.vcs"; |
596 | QString mes; | 597 | QString mes; |
597 | bool createbup = true; | 598 | bool createbup = true; |
598 | if ( createbup ) { | 599 | if ( createbup ) { |
599 | QString description = "\n"; | 600 | QString description = "\n"; |
600 | CalendarLocal* cal = new CalendarLocal(); | 601 | CalendarLocal* cal = new CalendarLocal(); |
601 | cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | 602 | cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); |
602 | Incidence *incidence = delSel.first(); | 603 | Incidence *incidence = delSel.first(); |
603 | while ( incidence ) { | 604 | while ( incidence ) { |
604 | Incidence *in = incidence->clone(); | 605 | Incidence *in = incidence->clone(); |
605 | description += in->summary() + "\n"; | 606 | description += in->summary() + "\n"; |
606 | cal->addIncidence( in ); | 607 | cal->addIncidence( in ); |
607 | incidence = delSel.next(); | 608 | incidence = delSel.next(); |
608 | } | 609 | } |
609 | FileStorage storage( cal, fn, new VCalFormat ); | 610 | FileStorage storage( cal, fn, new VCalFormat ); |
610 | storage.save(); | 611 | storage.save(); |
611 | delete cal; | 612 | delete cal; |
612 | mes = i18n("KO/Pi: Ready for beaming"); | 613 | mes = i18n("KO/Pi: Ready for beaming"); |
613 | topLevelWidget()->setCaption(mes); | 614 | topLevelWidget()->setCaption(mes); |
614 | 615 | ||
615 | #ifndef DESKTOP_VERSION | 616 | #ifndef DESKTOP_VERSION |
616 | Ir *ir = new Ir( this ); | 617 | Ir *ir = new Ir( this ); |
617 | connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); | 618 | connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); |
618 | ir->send( fn, description, "text/x-vCalendar" ); | 619 | ir->send( fn, description, "text/x-vCalendar" ); |
619 | #endif | 620 | #endif |
620 | } | 621 | } |
621 | } | 622 | } |
622 | } | 623 | } |
623 | void KOListView::beamDone( Ir *ir ) | 624 | void KOListView::beamDone( Ir *ir ) |
624 | { | 625 | { |
625 | #ifndef DESKTOP_VERSION | 626 | #ifndef DESKTOP_VERSION |
626 | delete ir; | 627 | delete ir; |
627 | #endif | 628 | #endif |
628 | topLevelWidget()->setCaption(i18n("KO/Pi:Beaming done")); | 629 | topLevelWidget()->setCaption(i18n("KO/Pi:Beaming done")); |
629 | } | 630 | } |
630 | 631 | ||
631 | void KOListView::saveDescriptionToFile() | 632 | void KOListView::saveDescriptionToFile() |
632 | { | 633 | { |
633 | 634 | ||
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 873a776..8d354c8 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -412,398 +412,398 @@ void KOTodoListView::keyPressEvent ( QKeyEvent * e ) | |||
412 | QListViewItem* cn; | 412 | QListViewItem* cn; |
413 | if ( e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter ) { | 413 | if ( e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter ) { |
414 | cn = currentItem(); | 414 | cn = currentItem(); |
415 | if ( cn ) { | 415 | if ( cn ) { |
416 | KOTodoViewItem* ci = (KOTodoViewItem*)( cn ); | 416 | KOTodoViewItem* ci = (KOTodoViewItem*)( cn ); |
417 | if ( ci ){ | 417 | if ( ci ){ |
418 | if ( e->state() == ShiftButton ) | 418 | if ( e->state() == ShiftButton ) |
419 | ci->setOn( false ); | 419 | ci->setOn( false ); |
420 | else | 420 | else |
421 | ci->setOn( true ); | 421 | ci->setOn( true ); |
422 | cn = cn->itemBelow(); | 422 | cn = cn->itemBelow(); |
423 | if ( cn ) { | 423 | if ( cn ) { |
424 | setCurrentItem ( cn ); | 424 | setCurrentItem ( cn ); |
425 | ensureItemVisible ( cn ); | 425 | ensureItemVisible ( cn ); |
426 | } | 426 | } |
427 | 427 | ||
428 | } | 428 | } |
429 | } | 429 | } |
430 | 430 | ||
431 | return; | 431 | return; |
432 | } | 432 | } |
433 | 433 | ||
434 | if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || mName != "todolistsmall" ) { | 434 | if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || mName != "todolistsmall" ) { |
435 | switch ( e->key() ) { | 435 | switch ( e->key() ) { |
436 | case Qt::Key_Down: | 436 | case Qt::Key_Down: |
437 | case Qt::Key_Up: | 437 | case Qt::Key_Up: |
438 | QListView::keyPressEvent ( e ); | 438 | QListView::keyPressEvent ( e ); |
439 | break; | 439 | break; |
440 | case Qt::Key_Left: | 440 | case Qt::Key_Left: |
441 | case Qt::Key_Right: | 441 | case Qt::Key_Right: |
442 | QListView::keyPressEvent ( e ); | 442 | QListView::keyPressEvent ( e ); |
443 | e->accept(); | 443 | e->accept(); |
444 | return; | 444 | return; |
445 | break; | 445 | break; |
446 | default: | 446 | default: |
447 | e->ignore(); | 447 | e->ignore(); |
448 | break; | 448 | break; |
449 | } | 449 | } |
450 | return; | 450 | return; |
451 | } | 451 | } |
452 | e->ignore(); | 452 | e->ignore(); |
453 | } | 453 | } |
454 | void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e) | 454 | void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e) |
455 | { | 455 | { |
456 | QListView::contentsMouseReleaseEvent(e); | 456 | QListView::contentsMouseReleaseEvent(e); |
457 | mMousePressed = false; | 457 | mMousePressed = false; |
458 | } | 458 | } |
459 | 459 | ||
460 | void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e) | 460 | void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e) |
461 | { | 461 | { |
462 | if (!e) return; | 462 | if (!e) return; |
463 | 463 | ||
464 | QPoint vp = contentsToViewport(e->pos()); | 464 | QPoint vp = contentsToViewport(e->pos()); |
465 | 465 | ||
466 | QListViewItem *item = itemAt(vp); | 466 | QListViewItem *item = itemAt(vp); |
467 | 467 | ||
468 | emit double_Clicked(item); | 468 | emit double_Clicked(item); |
469 | if (!item) return; | 469 | if (!item) return; |
470 | 470 | ||
471 | emit doubleClicked(item,vp,0); | 471 | emit doubleClicked(item,vp,0); |
472 | } | 472 | } |
473 | 473 | ||
474 | ///////////////////////////////////////////////////////////////////////////// | 474 | ///////////////////////////////////////////////////////////////////////////// |
475 | 475 | ||
476 | KOQuickTodo::KOQuickTodo(QWidget *parent) : | 476 | KOQuickTodo::KOQuickTodo(QWidget *parent) : |
477 | QLineEdit(parent) | 477 | QLineEdit(parent) |
478 | { | 478 | { |
479 | setText(i18n("Click to add a new Todo")); | 479 | setText(i18n("Click to add a new Todo")); |
480 | } | 480 | } |
481 | 481 | ||
482 | void KOQuickTodo::focusInEvent(QFocusEvent *ev) | 482 | void KOQuickTodo::focusInEvent(QFocusEvent *ev) |
483 | { | 483 | { |
484 | if ( text()==i18n("Click to add a new Todo") ) | 484 | if ( text()==i18n("Click to add a new Todo") ) |
485 | setText(""); | 485 | setText(""); |
486 | QLineEdit::focusInEvent(ev); | 486 | QLineEdit::focusInEvent(ev); |
487 | } | 487 | } |
488 | 488 | ||
489 | void KOQuickTodo::focusOutEvent(QFocusEvent *ev) | 489 | void KOQuickTodo::focusOutEvent(QFocusEvent *ev) |
490 | { | 490 | { |
491 | setText(i18n("Click to add a new Todo")); | 491 | setText(i18n("Click to add a new Todo")); |
492 | QLineEdit::focusOutEvent(ev); | 492 | QLineEdit::focusOutEvent(ev); |
493 | } | 493 | } |
494 | 494 | ||
495 | ///////////////////////////////////////////////////////////////////////////// | 495 | ///////////////////////////////////////////////////////////////////////////// |
496 | 496 | ||
497 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : | 497 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : |
498 | KOrg::BaseView(calendar,parent,name) | 498 | KOrg::BaseView(calendar,parent,name) |
499 | { | 499 | { |
500 | mCategoryPopupMenu = 0; | 500 | mCategoryPopupMenu = 0; |
501 | mPendingUpdateBeforeRepaint = false; | 501 | mPendingUpdateBeforeRepaint = false; |
502 | isFlatDisplay = false; | 502 | isFlatDisplay = false; |
503 | mNavigator = 0; | 503 | mNavigator = 0; |
504 | QBoxLayout *topLayout = new QVBoxLayout(this); | 504 | QBoxLayout *topLayout = new QVBoxLayout(this); |
505 | mName = QString ( name ); | 505 | mName = QString ( name ); |
506 | mBlockUpdate = false; | 506 | mBlockUpdate = false; |
507 | mQuickAdd = new KOQuickTodo(this); | 507 | mQuickAdd = new KOQuickTodo(this); |
508 | topLayout->addWidget(mQuickAdd); | 508 | topLayout->addWidget(mQuickAdd); |
509 | 509 | ||
510 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); | 510 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); |
511 | 511 | ||
512 | mTodoListView = new KOTodoListView(calendar,this, name ); | 512 | mTodoListView = new KOTodoListView(calendar,this, name ); |
513 | topLayout->addWidget(mTodoListView); | 513 | topLayout->addWidget(mTodoListView); |
514 | //mTodoListView->header()->setMaximumHeight(30); | 514 | //mTodoListView->header()->setMaximumHeight(30); |
515 | mTodoListView->setRootIsDecorated(true); | 515 | mTodoListView->setRootIsDecorated(true); |
516 | mTodoListView->setAllColumnsShowFocus(true); | 516 | mTodoListView->setAllColumnsShowFocus(true); |
517 | 517 | ||
518 | mTodoListView->setShowSortIndicator(true); | 518 | mTodoListView->setShowSortIndicator(true); |
519 | 519 | ||
520 | mTodoListView->addColumn(i18n("Todo")); | 520 | mTodoListView->addColumn(i18n("Todo")); |
521 | mTodoListView->addColumn(i18n("Prio")); | 521 | mTodoListView->addColumn(i18n("Prio")); |
522 | mTodoListView->setColumnAlignment(1,AlignHCenter); | 522 | mTodoListView->setColumnAlignment(1,AlignHCenter); |
523 | mTodoListView->addColumn(i18n("Complete")); | 523 | mTodoListView->addColumn(i18n("Complete")); |
524 | mTodoListView->setColumnAlignment(2,AlignCenter); | 524 | mTodoListView->setColumnAlignment(2,AlignCenter); |
525 | 525 | ||
526 | mTodoListView->addColumn(i18n("Due Date")); | 526 | mTodoListView->addColumn(i18n("Due Date")); |
527 | mTodoListView->setColumnAlignment(3,AlignLeft); | 527 | mTodoListView->setColumnAlignment(3,AlignLeft); |
528 | mTodoListView->addColumn(i18n("Due Time")); | 528 | mTodoListView->addColumn(i18n("Due Time")); |
529 | mTodoListView->setColumnAlignment(4,AlignHCenter); | 529 | mTodoListView->setColumnAlignment(4,AlignHCenter); |
530 | 530 | ||
531 | mTodoListView->addColumn(i18n("Start Date")); | 531 | mTodoListView->addColumn(i18n("Start Date")); |
532 | mTodoListView->setColumnAlignment(5,AlignLeft); | 532 | mTodoListView->setColumnAlignment(5,AlignLeft); |
533 | mTodoListView->addColumn(i18n("Start Time")); | 533 | mTodoListView->addColumn(i18n("Start Time")); |
534 | mTodoListView->setColumnAlignment(6,AlignHCenter); | 534 | mTodoListView->setColumnAlignment(6,AlignHCenter); |
535 | 535 | ||
536 | mTodoListView->addColumn(i18n("Cancelled")); | 536 | mTodoListView->addColumn(i18n("Cancelled")); |
537 | mTodoListView->addColumn(i18n("Categories")); | 537 | mTodoListView->addColumn(i18n("Categories")); |
538 | mTodoListView->addColumn(i18n("Calendar")); | 538 | mTodoListView->addColumn(i18n("Calendar")); |
539 | #if 0 | 539 | #if 0 |
540 | mTodoListView->addColumn(i18n("Sort Id")); | 540 | mTodoListView->addColumn(i18n("Sort Id")); |
541 | mTodoListView->setColumnAlignment(4,AlignHCenter); | 541 | mTodoListView->setColumnAlignment(4,AlignHCenter); |
542 | #endif | 542 | #endif |
543 | 543 | ||
544 | mTodoListView->setMinimumHeight( 60 ); | 544 | mTodoListView->setMinimumHeight( 60 ); |
545 | mTodoListView->setItemsRenameable( true ); | 545 | mTodoListView->setItemsRenameable( true ); |
546 | mTodoListView->setRenameable( 0 ); | 546 | mTodoListView->setRenameable( 0 ); |
547 | mTodoListView->setColumnWidth( 0, 120 ); | 547 | mTodoListView->setColumnWidth( 0, 120 ); |
548 | int iii = 0; | 548 | int iii = 0; |
549 | for ( iii = 0; iii< 10 ; ++iii ) | 549 | for ( iii = 0; iii< 10 ; ++iii ) |
550 | mTodoListView->setColumnWidthMode( iii, QListView::Manual ); | 550 | mTodoListView->setColumnWidthMode( iii, QListView::Manual ); |
551 | 551 | ||
552 | 552 | ||
553 | mKOTodoViewWhatsThis = new KOTodoViewWhatsThis(mTodoListView->viewport(),this); | 553 | mKOTodoViewWhatsThis = new KOTodoViewWhatsThis(mTodoListView->viewport(),this); |
554 | 554 | ||
555 | mPriorityPopupMenu = new QPopupMenu(this); | 555 | mPriorityPopupMenu = new QPopupMenu(this); |
556 | for (int i = 1; i <= 5; i++) { | 556 | for (int i = 1; i <= 5; i++) { |
557 | QString label = QString ("%1").arg (i); | 557 | QString label = QString ("%1").arg (i); |
558 | mPriority[mPriorityPopupMenu->insertItem (label)] = i; | 558 | mPriority[mPriorityPopupMenu->insertItem (label)] = i; |
559 | } | 559 | } |
560 | connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int))); | 560 | connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int))); |
561 | 561 | ||
562 | mPercentageCompletedPopupMenu = new QPopupMenu(this); | 562 | mPercentageCompletedPopupMenu = new QPopupMenu(this); |
563 | for (int i = 0; i <= 100; i+=20) { | 563 | for (int i = 0; i <= 100; i+=20) { |
564 | QString label = QString ("%1 %").arg (i); | 564 | QString label = QString ("%1 %").arg (i); |
565 | mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i; | 565 | mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i; |
566 | } | 566 | } |
567 | connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int))); | 567 | connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int))); |
568 | 568 | ||
569 | 569 | ||
570 | 570 | ||
571 | mItemPopupMenu = new QPopupMenu(this); | 571 | mItemPopupMenu = new QPopupMenu(this); |
572 | mItemPopupMenu->insertItem(i18n("Show..."), this, | 572 | mItemPopupMenu->insertItem(i18n("Show..."), this, |
573 | SLOT (showTodo())); | 573 | SLOT (showTodo())); |
574 | mItemPopupMenu->insertItem(i18n("Edit..."), this, | 574 | mItemPopupMenu->insertItem(i18n("Edit..."), this, |
575 | SLOT (editTodo())); | 575 | SLOT (editTodo())); |
576 | mItemPopupMenu->insertItem( i18n("Delete"), this, | 576 | mItemPopupMenu->insertItem( i18n("Delete"), this, |
577 | SLOT (deleteTodo())); | 577 | SLOT (deleteTodo())); |
578 | mItemPopupMenu->insertItem( i18n("Clone..."), this, | 578 | mItemPopupMenu->insertItem( i18n("Clone..."), this, |
579 | SLOT (cloneTodo())); | 579 | SLOT (cloneTodo())); |
580 | mItemPopupMenu->insertItem( i18n("Move..."), this, | 580 | mItemPopupMenu->insertItem( i18n("Move..."), this, |
581 | SLOT (moveTodo())); | 581 | SLOT (moveTodo())); |
582 | #ifndef DESKTOP_VERSION | 582 | #ifndef DESKTOP_VERSION |
583 | mItemPopupMenu->insertItem( i18n("Beam..."), this, | 583 | mItemPopupMenu->insertItem( i18n("Beam..."), this, |
584 | SLOT (beamTodo())); | 584 | SLOT (beamTodo())); |
585 | #endif | 585 | #endif |
586 | mItemPopupMenu->insertItem( i18n("Toggle Cancel"), this, | 586 | mItemPopupMenu->insertItem( i18n("Toggle Cancel"), this, |
587 | SLOT (cancelTodo())); | 587 | SLOT (cancelTodo())); |
588 | mItemPopupMenu->insertSeparator(); | 588 | mItemPopupMenu->insertSeparator(); |
589 | mItemPopupMenu->insertItem( i18n("Start/Stop todo..."), this, | 589 | mItemPopupMenu->insertItem( i18n("Start/Stop todo..."), this, |
590 | SLOT (toggleRunningItem())); | 590 | SLOT (toggleRunningItem())); |
591 | mItemPopupMenu->insertSeparator(); | 591 | mItemPopupMenu->insertSeparator(); |
592 | /* | 592 | /* |
593 | mItemPopupMenu->insertItem( i18n("New Todo..."), this, | 593 | mItemPopupMenu->insertItem( i18n("New Todo..."), this, |
594 | SLOT (newTodo())); | 594 | SLOT (newTodo())); |
595 | */ | 595 | */ |
596 | mItemPopupMenu->insertItem(i18n("New Sub-Todo..."), this, | 596 | mItemPopupMenu->insertItem(i18n("New Sub-Todo..."), this, |
597 | SLOT (newSubTodo())); | 597 | SLOT (newSubTodo())); |
598 | mItemPopupMenu->insertItem(i18n("Unparent Todo"), this, | 598 | mItemPopupMenu->insertItem(i18n("Unparent Todo"), this, |
599 | SLOT (unparentTodo()),0,21); | 599 | SLOT (unparentTodo()),0,21); |
600 | mItemPopupMenu->insertItem(i18n("Reparent Todo"), this, | 600 | mItemPopupMenu->insertItem(i18n("Reparent Todo"), this, |
601 | SLOT (reparentTodo()),0,22); | 601 | SLOT (reparentTodo()),0,22); |
602 | mItemPopupMenu->insertSeparator(); | 602 | mItemPopupMenu->insertSeparator(); |
603 | #if 0 | 603 | #if 0 |
604 | mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed"), | 604 | mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed..."), |
605 | this, SLOT( purgeCompleted() ) ); | 605 | this, SLOT( purgeCompleted() ) ); |
606 | mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"), | 606 | mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"), |
607 | this, SLOT( toggleCompleted() ),0, 33 ); | 607 | this, SLOT( toggleCompleted() ),0, 33 ); |
608 | mItemPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), | 608 | mItemPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), |
609 | this, SLOT( toggleQuickTodo() ),0, 34 ); | 609 | this, SLOT( toggleQuickTodo() ),0, 34 ); |
610 | mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), | 610 | mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), |
611 | this, SLOT( toggleRunning() ),0, 35 ); | 611 | this, SLOT( toggleRunning() ),0, 35 ); |
612 | 612 | ||
613 | #endif | 613 | #endif |
614 | mPopupMenu = new QPopupMenu(this); | 614 | mPopupMenu = new QPopupMenu(this); |
615 | mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this, | 615 | mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this, |
616 | SLOT (newTodo()),0,1); | 616 | SLOT (newTodo()),0,1); |
617 | mPopupMenu->insertItem(i18n("delete completed To-Dos","Purge Completed"), | 617 | mPopupMenu->insertItem(i18n("delete completed To-Dos","Purge Completed..."), |
618 | this, SLOT(purgeCompleted()),0,2); | 618 | this, SLOT(purgeCompleted()),0,2); |
619 | mPopupMenu->insertItem(i18n("Show Completed"), | 619 | mPopupMenu->insertItem(i18n("Show Completed"), |
620 | this, SLOT( toggleCompleted() ),0,3 ); | 620 | this, SLOT( toggleCompleted() ),0,3 ); |
621 | mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), | 621 | mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), |
622 | this, SLOT( toggleRunning() ),0,5 ); | 622 | this, SLOT( toggleRunning() ),0,5 ); |
623 | mPopupMenu->insertItem(i18n(" set all open","Display all opened"), | 623 | mPopupMenu->insertItem(i18n(" set all open","Display all opened"), |
624 | this, SLOT( setAllOpen() ),0,6 ); | 624 | this, SLOT( setAllOpen() ),0,6 ); |
625 | mPopupMenu->insertItem(i18n(" set all close","Display all closed"), | 625 | mPopupMenu->insertItem(i18n(" set all close","Display all closed"), |
626 | this, SLOT( setAllClose() ),0,7 ); | 626 | this, SLOT( setAllClose() ),0,7 ); |
627 | mPopupMenu->insertItem(i18n(" set all flat","Display all flat"), | 627 | mPopupMenu->insertItem(i18n(" set all flat","Display all flat"), |
628 | this, SLOT( setAllFlat() ),0,8 ); | 628 | this, SLOT( setAllFlat() ),0,8 ); |
629 | mPopupMenu->insertSeparator(); | 629 | mPopupMenu->insertSeparator(); |
630 | mPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), | 630 | mPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), |
631 | this, SLOT( toggleQuickTodo() ),0,4 ); | 631 | this, SLOT( toggleQuickTodo() ),0,4 ); |
632 | mDocPrefs = new DocPrefs( name ); | 632 | mDocPrefs = new DocPrefs( name ); |
633 | 633 | ||
634 | mItemPopupMenu->insertItem(i18n("Todo View"),mPopupMenu ); | 634 | mItemPopupMenu->insertItem(i18n("Todo View"),mPopupMenu ); |
635 | mPopupMenu->setCheckable( true ); | 635 | mPopupMenu->setCheckable( true ); |
636 | mItemPopupMenu->setCheckable( true ); | 636 | mItemPopupMenu->setCheckable( true ); |
637 | 637 | ||
638 | 638 | ||
639 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); | 639 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); |
640 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); | 640 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); |
641 | 641 | ||
642 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); | 642 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); |
643 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); | 643 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); |
644 | 644 | ||
645 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); | 645 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); |
646 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); | 646 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); |
647 | 647 | ||
648 | 648 | ||
649 | // Double clicking conflicts with opening/closing the subtree | 649 | // Double clicking conflicts with opening/closing the subtree |
650 | connect( mTodoListView, SIGNAL( doubleClicked( QListViewItem *) ), | 650 | connect( mTodoListView, SIGNAL( doubleClicked( QListViewItem *) ), |
651 | SLOT( editItem( QListViewItem *) ) ); | 651 | SLOT( editItem( QListViewItem *) ) ); |
652 | /* | 652 | /* |
653 | connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *, | 653 | connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *, |
654 | const QPoint &,int ) ), | 654 | const QPoint &,int ) ), |
655 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); | 655 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); |
656 | */ | 656 | */ |
657 | connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *, | 657 | connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *, |
658 | const QPoint &,int ) ), | 658 | const QPoint &,int ) ), |
659 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); | 659 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); |
660 | connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ), | 660 | connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ), |
661 | SLOT( itemClicked( QListViewItem * ) ) ); | 661 | SLOT( itemClicked( QListViewItem * ) ) ); |
662 | connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ), | 662 | connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ), |
663 | SLOT( itemDoubleClicked( QListViewItem * ) ) ); | 663 | SLOT( itemDoubleClicked( QListViewItem * ) ) ); |
664 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), | 664 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), |
665 | SLOT( updateView() ) ); | 665 | SLOT( updateView() ) ); |
666 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), | 666 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), |
667 | SLOT( todoModified(Todo *, int) ) ); | 667 | SLOT( todoModified(Todo *, int) ) ); |
668 | connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ), | 668 | connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ), |
669 | SLOT( itemStateChanged( QListViewItem * ) ) ); | 669 | SLOT( itemStateChanged( QListViewItem * ) ) ); |
670 | connect( mTodoListView, SIGNAL( collapsed( QListViewItem * ) ), | 670 | connect( mTodoListView, SIGNAL( collapsed( QListViewItem * ) ), |
671 | SLOT( itemStateChanged( QListViewItem * ) ) ); | 671 | SLOT( itemStateChanged( QListViewItem * ) ) ); |
672 | connect( mTodoListView, SIGNAL( paintNeeded() ), | 672 | connect( mTodoListView, SIGNAL( paintNeeded() ), |
673 | SLOT( paintNeeded()) ); | 673 | SLOT( paintNeeded()) ); |
674 | 674 | ||
675 | #if 0 | 675 | #if 0 |
676 | connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)), | 676 | connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)), |
677 | SLOT(selectionChanged(QListViewItem *))); | 677 | SLOT(selectionChanged(QListViewItem *))); |
678 | connect(mTodoListView,SIGNAL(clicked(QListViewItem *)), | 678 | connect(mTodoListView,SIGNAL(clicked(QListViewItem *)), |
679 | SLOT(selectionChanged(QListViewItem *))); | 679 | SLOT(selectionChanged(QListViewItem *))); |
680 | connect(mTodoListView,SIGNAL(pressed(QListViewItem *)), | 680 | connect(mTodoListView,SIGNAL(pressed(QListViewItem *)), |
681 | SLOT(selectionChanged(QListViewItem *))); | 681 | SLOT(selectionChanged(QListViewItem *))); |
682 | #endif | 682 | #endif |
683 | 683 | ||
684 | connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) )); | 684 | connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) )); |
685 | connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) )); | 685 | connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) )); |
686 | connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) )); | 686 | connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) )); |
687 | 687 | ||
688 | connect( mTodoListView, SIGNAL(selectionChanged() ), | 688 | connect( mTodoListView, SIGNAL(selectionChanged() ), |
689 | SLOT( processSelectionChange() ) ); | 689 | SLOT( processSelectionChange() ) ); |
690 | connect( mQuickAdd, SIGNAL( returnPressed () ), | 690 | connect( mQuickAdd, SIGNAL( returnPressed () ), |
691 | SLOT( addQuickTodo() ) ); | 691 | SLOT( addQuickTodo() ) ); |
692 | 692 | ||
693 | } | 693 | } |
694 | 694 | ||
695 | KOTodoView::~KOTodoView() | 695 | KOTodoView::~KOTodoView() |
696 | { | 696 | { |
697 | 697 | ||
698 | #if QT_VERSION >= 0x030000 | 698 | #if QT_VERSION >= 0x030000 |
699 | 699 | ||
700 | #else | 700 | #else |
701 | delete mKOTodoViewWhatsThis; | 701 | delete mKOTodoViewWhatsThis; |
702 | #endif | 702 | #endif |
703 | 703 | ||
704 | delete mDocPrefs; | 704 | delete mDocPrefs; |
705 | } | 705 | } |
706 | QString KOTodoView::getWhatsThisText(QPoint p) | 706 | QString KOTodoView::getWhatsThisText(QPoint p) |
707 | { | 707 | { |
708 | KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); | 708 | KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); |
709 | if ( item ) | 709 | if ( item ) |
710 | return KIncidenceFormatter::instance()->getFormattedText( item->todo(), | 710 | return KIncidenceFormatter::instance()->getFormattedText( item->todo(), |
711 | KOPrefs::instance()->mWTshowDetails, | 711 | KOPrefs::instance()->mWTshowDetails, |
712 | KOPrefs::instance()->mWTshowCreated, | 712 | KOPrefs::instance()->mWTshowCreated, |
713 | KOPrefs::instance()->mWTshowChanged); | 713 | KOPrefs::instance()->mWTshowChanged); |
714 | return i18n("That is the todo view" ); | 714 | return i18n("That is the todo view" ); |
715 | 715 | ||
716 | } | 716 | } |
717 | 717 | ||
718 | void KOTodoView::jumpToDate () | 718 | void KOTodoView::jumpToDate () |
719 | { | 719 | { |
720 | // if (mActiveItem) { | 720 | // if (mActiveItem) { |
721 | // mActiveItem->todo()); | 721 | // mActiveItem->todo()); |
722 | // if ( mActiveItem->todo()->hasDueDate() ) | 722 | // if ( mActiveItem->todo()->hasDueDate() ) |
723 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); | 723 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); |
724 | } | 724 | } |
725 | void KOTodoView::paintNeeded() | 725 | void KOTodoView::paintNeeded() |
726 | { | 726 | { |
727 | if ( mPendingUpdateBeforeRepaint ) { | 727 | if ( mPendingUpdateBeforeRepaint ) { |
728 | updateView(); | 728 | updateView(); |
729 | mPendingUpdateBeforeRepaint = false; | 729 | mPendingUpdateBeforeRepaint = false; |
730 | } | 730 | } |
731 | } | 731 | } |
732 | void KOTodoView::paintEvent(QPaintEvent * pevent) | 732 | void KOTodoView::paintEvent(QPaintEvent * pevent) |
733 | { | 733 | { |
734 | if ( mPendingUpdateBeforeRepaint ) { | 734 | if ( mPendingUpdateBeforeRepaint ) { |
735 | updateView(); | 735 | updateView(); |
736 | mPendingUpdateBeforeRepaint = false; | 736 | mPendingUpdateBeforeRepaint = false; |
737 | } | 737 | } |
738 | KOrg::BaseView::paintEvent( pevent); | 738 | KOrg::BaseView::paintEvent( pevent); |
739 | } | 739 | } |
740 | 740 | ||
741 | void KOTodoView::updateView() | 741 | void KOTodoView::updateView() |
742 | { | 742 | { |
743 | pendingSubtodo = 0; | 743 | pendingSubtodo = 0; |
744 | if ( mBlockUpdate ) { | 744 | if ( mBlockUpdate ) { |
745 | return; | 745 | return; |
746 | } | 746 | } |
747 | if ( !isVisible() ) { | 747 | if ( !isVisible() ) { |
748 | mPendingUpdateBeforeRepaint = true; | 748 | mPendingUpdateBeforeRepaint = true; |
749 | return; | 749 | return; |
750 | } | 750 | } |
751 | storeCurrentItem(); | 751 | storeCurrentItem(); |
752 | //qDebug("KOTodoView::updateView() %x", this); | 752 | //qDebug("KOTodoView::updateView() %x", this); |
753 | if ( isFlatDisplay ) { | 753 | if ( isFlatDisplay ) { |
754 | displayAllFlat(); | 754 | displayAllFlat(); |
755 | resetCurrentItem(); | 755 | resetCurrentItem(); |
756 | return; | 756 | return; |
757 | } | 757 | } |
758 | //qDebug("update "); | 758 | //qDebug("update "); |
759 | // kdDebug() << "KOTodoView::updateView()" << endl; | 759 | // kdDebug() << "KOTodoView::updateView()" << endl; |
760 | QFont fo = KOPrefs::instance()->mTodoViewFont; | 760 | QFont fo = KOPrefs::instance()->mTodoViewFont; |
761 | 761 | ||
762 | 762 | ||
763 | mTodoListView->clear(); | 763 | mTodoListView->clear(); |
764 | if ( mName == "todolistsmall" ) { | 764 | if ( mName == "todolistsmall" ) { |
765 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { | 765 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { |
766 | int ps = fo.pointSize() -2; | 766 | int ps = fo.pointSize() -2; |
767 | if ( ps > 12 ) | 767 | if ( ps > 12 ) |
768 | ps -= 2; | 768 | ps -= 2; |
769 | fo.setPointSize( ps ); | 769 | fo.setPointSize( ps ); |
770 | } | 770 | } |
771 | } | 771 | } |
772 | 772 | ||
773 | mTodoListView->setFont( fo ); | 773 | mTodoListView->setFont( fo ); |
774 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); | 774 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); |
775 | //mTodoListView->header()->setMaximumHeight(fm.height()); | 775 | //mTodoListView->header()->setMaximumHeight(fm.height()); |
776 | QPtrList<Todo> todoList = calendar()->todos(); | 776 | QPtrList<Todo> todoList = calendar()->todos(); |
777 | 777 | ||
778 | /* | 778 | /* |
779 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; | 779 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; |
780 | Event *t; | 780 | Event *t; |
781 | for(t = todoList.first(); t; t = todoList.next()) { | 781 | for(t = todoList.first(); t; t = todoList.next()) { |
782 | kdDebug() << " " << t->getSummary() << endl; | 782 | kdDebug() << " " << t->getSummary() << endl; |
783 | 783 | ||
784 | if (t->getRelatedTo()) { | 784 | if (t->getRelatedTo()) { |
785 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; | 785 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; |
786 | } | 786 | } |
787 | 787 | ||
788 | QPtrList<Event> l = t->getRelations(); | 788 | QPtrList<Event> l = t->getRelations(); |
789 | Event *c; | 789 | Event *c; |
790 | for(c=l.first();c;c=l.next()) { | 790 | for(c=l.first();c;c=l.next()) { |
791 | kdDebug() << " - relation: " << c->getSummary() << endl; | 791 | kdDebug() << " - relation: " << c->getSummary() << endl; |
792 | } | 792 | } |
793 | } | 793 | } |
794 | */ | 794 | */ |
795 | 795 | ||
796 | // Put for each Event a KOTodoViewItem in the list view. Don't rely on a | 796 | // Put for each Event a KOTodoViewItem in the list view. Don't rely on a |
797 | // specific order of events. That means that we have to generate parent items | 797 | // specific order of events. That means that we have to generate parent items |
798 | // recursively for proper hierarchical display of Todos. | 798 | // recursively for proper hierarchical display of Todos. |
799 | mTodoMap.clear(); | 799 | mTodoMap.clear(); |
800 | Todo *todo; | 800 | Todo *todo; |
801 | todo = todoList.first();// todo; todo = todoList.next()) { | 801 | todo = todoList.first();// todo; todo = todoList.next()) { |
802 | while ( todo ) { | 802 | while ( todo ) { |
803 | bool next = true; | 803 | bool next = true; |
804 | // qDebug("todo %s ", todo->summary().latin1()); | 804 | // qDebug("todo %s ", todo->summary().latin1()); |
805 | Incidence *incidence = todo->relatedTo(); | 805 | Incidence *incidence = todo->relatedTo(); |
806 | while ( incidence ) { | 806 | while ( incidence ) { |
807 | if ( incidence->typeID() == todoID ) { | 807 | if ( incidence->typeID() == todoID ) { |
808 | //qDebug("related %s ",incidence->summary().latin1() ); | 808 | //qDebug("related %s ",incidence->summary().latin1() ); |
809 | if ( !(todoList.contains ( ((Todo* )incidence ) ) ) && incidence->calEnabled() ) { | 809 | if ( !(todoList.contains ( ((Todo* )incidence ) ) ) && incidence->calEnabled() ) { |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 23537a6..a5d8824 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -465,859 +465,880 @@ void MainWindow::toggleBeamReceive() | |||
465 | brAction->setOn(true); | 465 | brAction->setOn(true); |
466 | infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ; | 466 | infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ; |
467 | QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(recieve( const QCString&, const QByteArray& ))); | 467 | QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(recieve( const QCString&, const QByteArray& ))); |
468 | #endif | 468 | #endif |
469 | } | 469 | } |
470 | void MainWindow::showMaximized () | 470 | void MainWindow::showMaximized () |
471 | { | 471 | { |
472 | #ifndef DESKTOP_VERSION | 472 | #ifndef DESKTOP_VERSION |
473 | if ( ! globalFlagBlockStartup ) | 473 | if ( ! globalFlagBlockStartup ) |
474 | if ( mClosed ) | 474 | if ( mClosed ) |
475 | mView->goToday(); | 475 | mView->goToday(); |
476 | #endif | 476 | #endif |
477 | QWidget::showMaximized () ; | 477 | QWidget::showMaximized () ; |
478 | mClosed = false; | 478 | mClosed = false; |
479 | } | 479 | } |
480 | void MainWindow::closeEvent( QCloseEvent* ce ) | 480 | void MainWindow::closeEvent( QCloseEvent* ce ) |
481 | { | 481 | { |
482 | 482 | ||
483 | 483 | ||
484 | 484 | ||
485 | if ( ! KOPrefs::instance()->mAskForQuit ) { | 485 | if ( ! KOPrefs::instance()->mAskForQuit ) { |
486 | saveOnClose(); | 486 | saveOnClose(); |
487 | mClosed = true; | 487 | mClosed = true; |
488 | ce->accept(); | 488 | ce->accept(); |
489 | return; | 489 | return; |
490 | 490 | ||
491 | } | 491 | } |
492 | 492 | ||
493 | switch( QMessageBox::information( this, "KO/Pi", | 493 | switch( QMessageBox::information( this, "KO/Pi", |
494 | i18n("Do you really want\nto close KO/Pi?"), | 494 | i18n("Do you really want\nto close KO/Pi?"), |
495 | i18n("Close"), i18n("No"), | 495 | i18n("Close"), i18n("No"), |
496 | 0, 0 ) ) { | 496 | 0, 0 ) ) { |
497 | case 0: | 497 | case 0: |
498 | saveOnClose(); | 498 | saveOnClose(); |
499 | mClosed = true; | 499 | mClosed = true; |
500 | ce->accept(); | 500 | ce->accept(); |
501 | break; | 501 | break; |
502 | case 1: | 502 | case 1: |
503 | ce->ignore(); | 503 | ce->ignore(); |
504 | break; | 504 | break; |
505 | case 2: | 505 | case 2: |
506 | 506 | ||
507 | default: | 507 | default: |
508 | break; | 508 | break; |
509 | } | 509 | } |
510 | 510 | ||
511 | 511 | ||
512 | } | 512 | } |
513 | 513 | ||
514 | void MainWindow::recieve( const QCString& cmsg, const QByteArray& data ) | 514 | void MainWindow::recieve( const QCString& cmsg, const QByteArray& data ) |
515 | { | 515 | { |
516 | QDataStream stream( data, IO_ReadOnly ); | 516 | QDataStream stream( data, IO_ReadOnly ); |
517 | // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" ); | 517 | // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" ); |
518 | //QString datamess; | 518 | //QString datamess; |
519 | //qDebug("message "); | 519 | //qDebug("message "); |
520 | qDebug("KO: QCOP message received: %s ", cmsg.data() ); | 520 | qDebug("KO: QCOP message received: %s ", cmsg.data() ); |
521 | 521 | ||
522 | if ( cmsg == "setDocument(QString)" ) { | 522 | if ( cmsg == "setDocument(QString)" ) { |
523 | QDataStream stream( data, IO_ReadOnly ); | 523 | QDataStream stream( data, IO_ReadOnly ); |
524 | QString fileName; | 524 | QString fileName; |
525 | stream >> fileName; | 525 | stream >> fileName; |
526 | //qDebug("filename %s ", fileName.latin1()); | 526 | //qDebug("filename %s ", fileName.latin1()); |
527 | showMaximized(); | 527 | showMaximized(); |
528 | raise(); | 528 | raise(); |
529 | KOPrefs::instance()->mLastSyncedLocalFile = fileName ; | 529 | KOPrefs::instance()->mLastSyncedLocalFile = fileName ; |
530 | mSyncManager->slotSyncMenu( 1002 ); | 530 | mSyncManager->slotSyncMenu( 1002 ); |
531 | return; | 531 | return; |
532 | } | 532 | } |
533 | 533 | ||
534 | if ( cmsg == "-writeFile" ) { | 534 | if ( cmsg == "-writeFile" ) { |
535 | // I made from the "-writeFile" an "-writeAlarm" | 535 | // I made from the "-writeFile" an "-writeAlarm" |
536 | mView->viewManager()->showWhatsNextView(); | 536 | mView->viewManager()->showWhatsNextView(); |
537 | mCalendar->checkAlarmForIncidence( 0, true); | 537 | mCalendar->checkAlarmForIncidence( 0, true); |
538 | showMaximized(); | 538 | showMaximized(); |
539 | raise(); | 539 | raise(); |
540 | return; | 540 | return; |
541 | 541 | ||
542 | } | 542 | } |
543 | if ( cmsg == "-writeFileSilent" ) { | 543 | if ( cmsg == "-writeFileSilent" ) { |
544 | // I made from the "-writeFile" an "-writeAlarm" | 544 | // I made from the "-writeFile" an "-writeAlarm" |
545 | // mView->viewManager()->showWhatsNextView(); | 545 | // mView->viewManager()->showWhatsNextView(); |
546 | mCalendar->checkAlarmForIncidence( 0, true); | 546 | mCalendar->checkAlarmForIncidence( 0, true); |
547 | //showMaximized(); | 547 | //showMaximized(); |
548 | //raise(); | 548 | //raise(); |
549 | hide(); | 549 | hide(); |
550 | return; | 550 | return; |
551 | } | 551 | } |
552 | if ( cmsg == "-newCountdown" ) { | 552 | if ( cmsg == "-newCountdown" ) { |
553 | qDebug("newCountdown "); | 553 | qDebug("newCountdown "); |
554 | 554 | ||
555 | } | 555 | } |
556 | QString msg ; | 556 | QString msg ; |
557 | QString allmsg = cmsg; | 557 | QString allmsg = cmsg; |
558 | while ( allmsg.length() > 0 ) { | 558 | while ( allmsg.length() > 0 ) { |
559 | int nextC = allmsg.find( "-", 1 ); | 559 | int nextC = allmsg.find( "-", 1 ); |
560 | if ( nextC == -1 ) { | 560 | if ( nextC == -1 ) { |
561 | msg = allmsg; | 561 | msg = allmsg; |
562 | allmsg = ""; | 562 | allmsg = ""; |
563 | } else{ | 563 | } else{ |
564 | msg = allmsg.left( nextC ); | 564 | msg = allmsg.left( nextC ); |
565 | allmsg = allmsg.mid( nextC, allmsg.length()-nextC ); | 565 | allmsg = allmsg.mid( nextC, allmsg.length()-nextC ); |
566 | } | 566 | } |
567 | //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() ); | 567 | //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() ); |
568 | if ( msg == "-newEvent" ) { | 568 | if ( msg == "-newEvent" ) { |
569 | QTimer::singleShot( 0, mView, SLOT ( newEvent())); | 569 | QTimer::singleShot( 0, mView, SLOT ( newEvent())); |
570 | } | 570 | } |
571 | if ( msg == "-newTodo" ) { | 571 | if ( msg == "-newTodo" ) { |
572 | QTimer::singleShot( 0, mView, SLOT ( newTodo())); | 572 | QTimer::singleShot( 0, mView, SLOT ( newTodo())); |
573 | } | 573 | } |
574 | if ( msg == "-showWN" ) { | 574 | if ( msg == "-showWN" ) { |
575 | mView->viewManager()->showWhatsNextView(); | 575 | mView->viewManager()->showWhatsNextView(); |
576 | } | 576 | } |
577 | if ( msg == "-showTodo" ) { | 577 | if ( msg == "-showTodo" ) { |
578 | mView->viewManager()->showTodoView(); | 578 | mView->viewManager()->showTodoView(); |
579 | } | 579 | } |
580 | if ( msg == "-showList" ) { | 580 | if ( msg == "-showList" ) { |
581 | mView->viewManager()->showListView(); | 581 | mView->viewManager()->showListView(); |
582 | } | 582 | } |
583 | else if ( msg == "-showDay" ) { | 583 | else if ( msg == "-showDay" ) { |
584 | mView->viewManager()->showDayView(); | 584 | mView->viewManager()->showDayView(); |
585 | } | 585 | } |
586 | else if ( msg == "-showWWeek" ) { | 586 | else if ( msg == "-showWWeek" ) { |
587 | mView->viewManager()->showWorkWeekView(); | 587 | mView->viewManager()->showWorkWeekView(); |
588 | } | 588 | } |
589 | else if ( msg == "-ringSync" ) { | 589 | else if ( msg == "-ringSync" ) { |
590 | QTimer::singleShot( 0, this, SLOT (startMultiSync())); | 590 | QTimer::singleShot( 0, this, SLOT (startMultiSync())); |
591 | } | 591 | } |
592 | else if ( msg == "-showWeek" ) { | 592 | else if ( msg == "-showWeek" ) { |
593 | mView->viewManager()->showWeekView(); | 593 | mView->viewManager()->showWeekView(); |
594 | } | 594 | } |
595 | else if ( msg == "-showTodo" ) { | 595 | else if ( msg == "-showTodo" ) { |
596 | mView->viewManager()->showTodoView(); | 596 | mView->viewManager()->showTodoView(); |
597 | } | 597 | } |
598 | else if ( msg == "-showJournal" ) { | 598 | else if ( msg == "-showJournal" ) { |
599 | mView->dateNavigator()->selectDates( 1 ); | 599 | mView->dateNavigator()->selectDates( 1 ); |
600 | mView->dateNavigator()->selectToday(); | 600 | mView->dateNavigator()->selectToday(); |
601 | mView->viewManager()->showJournalView(); | 601 | mView->viewManager()->showJournalView(); |
602 | } | 602 | } |
603 | else if ( msg == "-showKO" ) { | 603 | else if ( msg == "-showKO" ) { |
604 | mView->viewManager()->showNextXView(); | 604 | mView->viewManager()->showNextXView(); |
605 | } | 605 | } |
606 | else if ( msg == "-showWNext" ) { | 606 | else if ( msg == "-showWNext" ) { |
607 | mView->viewManager()->showWhatsNextView(); | 607 | mView->viewManager()->showWhatsNextView(); |
608 | } | 608 | } |
609 | else if ( msg == "nextView()" ) { | 609 | else if ( msg == "nextView()" ) { |
610 | mView->viewManager()->showNextView(); | 610 | mView->viewManager()->showNextView(); |
611 | } | 611 | } |
612 | else if ( msg == "-showNextXView" ) { | 612 | else if ( msg == "-showNextXView" ) { |
613 | mView->viewManager()->showNextXView(); | 613 | mView->viewManager()->showNextXView(); |
614 | } | 614 | } |
615 | 615 | ||
616 | 616 | ||
617 | } | 617 | } |
618 | 618 | ||
619 | showMaximized(); | 619 | showMaximized(); |
620 | raise(); | 620 | raise(); |
621 | } | 621 | } |
622 | void MainWindow::startMultiSync() | 622 | void MainWindow::startMultiSync() |
623 | { | 623 | { |
624 | QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); | 624 | QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); |
625 | if ( QMessageBox::information( this, i18n("KDE-Pim Sync"), | 625 | if ( QMessageBox::information( this, i18n("KDE-Pim Sync"), |
626 | question, | 626 | question, |
627 | i18n("Yes"), i18n("No"), | 627 | i18n("Yes"), i18n("No"), |
628 | 0, 0 ) != 0 ) { | 628 | 0, 0 ) != 0 ) { |
629 | setCaption(i18n("Aborted! Nothing synced!")); | 629 | setCaption(i18n("Aborted! Nothing synced!")); |
630 | return; | 630 | return; |
631 | } | 631 | } |
632 | mSyncManager->multiSync( false ); | 632 | mSyncManager->multiSync( false ); |
633 | #ifndef DESKTOP_VERSION | 633 | #ifndef DESKTOP_VERSION |
634 | QCopEnvelope e("QPE/Application/kapi", "doRingSync"); | 634 | QCopEnvelope e("QPE/Application/kapi", "doRingSync"); |
635 | #endif | 635 | #endif |
636 | } | 636 | } |
637 | QPixmap MainWindow::loadPixmap( QString name ) | 637 | QPixmap MainWindow::loadPixmap( QString name ) |
638 | { | 638 | { |
639 | return SmallIcon( name ); | 639 | return SmallIcon( name ); |
640 | 640 | ||
641 | } | 641 | } |
642 | void MainWindow::setUsesBigPixmaps ( bool b ) | 642 | void MainWindow::setUsesBigPixmaps ( bool b ) |
643 | { | 643 | { |
644 | qDebug("KO: MainWindow::setUsesBigPixmaps %d called", b); | 644 | qDebug("KO: MainWindow::setUsesBigPixmaps %d called", b); |
645 | if ( b ) | 645 | if ( b ) |
646 | qDebug("KO: BigPixmaps are not supported "); | 646 | qDebug("KO: BigPixmaps are not supported "); |
647 | } | 647 | } |
648 | void MainWindow::initActions() | 648 | void MainWindow::initActions() |
649 | { | 649 | { |
650 | //KOPrefs::instance()->mShowFullMenu | 650 | //KOPrefs::instance()->mShowFullMenu |
651 | iconToolBar->clear(); | 651 | iconToolBar->clear(); |
652 | KOPrefs *p = KOPrefs::instance(); | 652 | KOPrefs *p = KOPrefs::instance(); |
653 | //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); | 653 | //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); |
654 | 654 | ||
655 | QPopupMenu *viewMenu = new QPopupMenu( this ); | 655 | QPopupMenu *viewMenu = new QPopupMenu( this ); |
656 | QPopupMenu *actionMenu = new QPopupMenu( this ); | 656 | QPopupMenu *actionMenu = new QPopupMenu( this ); |
657 | #ifdef DESKTOP_VERSION | ||
658 | mCurrentItemMenu = actionMenu; | ||
659 | #else | ||
660 | mCurrentItemMenu = new QPopupMenu ( this ); | ||
661 | #endif | ||
657 | QPopupMenu *importMenu = new QPopupMenu( this ); | 662 | QPopupMenu *importMenu = new QPopupMenu( this ); |
658 | QPopupMenu *importMenu_X = new QPopupMenu( this ); | 663 | QPopupMenu *importMenu_X = new QPopupMenu( this ); |
659 | QPopupMenu *exportMenu_X = new QPopupMenu( this ); | 664 | QPopupMenu *exportMenu_X = new QPopupMenu( this ); |
660 | QPopupMenu *beamMenu_X = new QPopupMenu( this ); | 665 | QPopupMenu *beamMenu_X = new QPopupMenu( this ); |
661 | selectFilterMenu = new QPopupMenu( this ); | 666 | selectFilterMenu = new QPopupMenu( this ); |
662 | selectFilterMenu->setCheckable( true ); | 667 | selectFilterMenu->setCheckable( true ); |
663 | syncMenu = new QPopupMenu( this ); | 668 | syncMenu = new QPopupMenu( this ); |
664 | configureAgendaMenu = new QPopupMenu( this ); | 669 | configureAgendaMenu = new QPopupMenu( this ); |
665 | configureToolBarMenu = new QPopupMenu( this ); | 670 | configureToolBarMenu = new QPopupMenu( this ); |
666 | QPopupMenu *helpMenu = new QPopupMenu( this ); | 671 | QPopupMenu *helpMenu = new QPopupMenu( this ); |
667 | QIconSet icon; | 672 | QIconSet icon; |
668 | int pixWid = 22, pixHei = 22; | 673 | int pixWid = 22, pixHei = 22; |
669 | QString pathString = ""; | 674 | QString pathString = ""; |
670 | if ( !p->mToolBarMiniIcons ) { | 675 | if ( !p->mToolBarMiniIcons ) { |
671 | if ( QApplication::desktop()->width() < 480 /*|| QApplication::desktop()->height() < 320*/) { | 676 | if ( QApplication::desktop()->width() < 480 /*|| QApplication::desktop()->height() < 320*/) { |
672 | pathString += "icons16/"; | 677 | pathString += "icons16/"; |
673 | pixWid = 18; pixHei = 16; | 678 | pixWid = 18; pixHei = 16; |
674 | } | 679 | } |
675 | } else { | 680 | } else { |
676 | pathString += "iconsmini/"; | 681 | pathString += "iconsmini/"; |
677 | pixWid = 18; pixHei = 16; | 682 | pixWid = 18; pixHei = 16; |
678 | } | 683 | } |
679 | if ( KOPrefs::instance()->mShowFullMenu ) { | 684 | if ( KOPrefs::instance()->mShowFullMenu ) { |
680 | QMenuBar *menuBar1; | 685 | QMenuBar *menuBar1; |
681 | menuBar1 = menuBar(); | 686 | menuBar1 = menuBar(); |
682 | menuBar1->insertItem( i18n("File"), importMenu ); | 687 | menuBar1->insertItem( i18n("File"), importMenu ); |
683 | menuBar1->insertItem( i18n("View"), viewMenu ); | 688 | menuBar1->insertItem( i18n("View"), viewMenu ); |
684 | menuBar1->insertItem( i18n("Actions"), actionMenu ); | 689 | menuBar1->insertItem( i18n("Actions"), actionMenu ); |
685 | #ifdef DESKTOP_VERSION | 690 | #ifdef DESKTOP_VERSION |
686 | menuBar1->insertItem( i18n("Synchronize"), syncMenu ); | 691 | menuBar1->insertItem( i18n("Synchronize"), syncMenu ); |
687 | menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); | 692 | menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); |
688 | #else | 693 | #else |
689 | menuBar1->insertItem( i18n("Sync"), syncMenu ); | 694 | menuBar1->insertItem( i18n("Sync"), syncMenu ); |
690 | menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); | 695 | menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); |
691 | #endif | 696 | #endif |
692 | //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); | 697 | //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); |
693 | menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); | 698 | menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); |
694 | menuBar1->insertItem( i18n("Help"), helpMenu ); | 699 | menuBar1->insertItem( i18n("Help"), helpMenu ); |
695 | } else { | 700 | } else { |
696 | QPEMenuBar *menuBar1; | 701 | QPEMenuBar *menuBar1; |
697 | menuBar1 = new QPEMenuBar( iconToolBar ); | 702 | menuBar1 = new QPEMenuBar( iconToolBar ); |
698 | QPopupMenu *menuBar = new QPopupMenu( this ); | 703 | QPopupMenu *menuBar = new QPopupMenu( this ); |
699 | icon = loadPixmap( pathString + "z_menu" ); | 704 | icon = loadPixmap( pathString + "z_menu" ); |
700 | menuBar1->insertItem( icon.pixmap(), menuBar); | 705 | menuBar1->insertItem( icon.pixmap(), menuBar); |
701 | //menuBar1->insertItem( i18n("ME"), menuBar); | 706 | //menuBar1->insertItem( i18n("ME"), menuBar); |
702 | menuBar->insertItem( i18n("File"), importMenu ); | 707 | menuBar->insertItem( i18n("File"), importMenu ); |
703 | menuBar->insertItem( i18n("View"), viewMenu ); | 708 | menuBar->insertItem( i18n("View"), viewMenu ); |
704 | menuBar->insertItem( i18n("Actions"), actionMenu ); | 709 | menuBar->insertItem( i18n("Actions"), actionMenu ); |
705 | menuBar->insertItem( i18n("Synchronize"), syncMenu ); | 710 | menuBar->insertItem( i18n("Synchronize"), syncMenu ); |
706 | menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); | 711 | menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); |
707 | menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); | 712 | menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); |
708 | menuBar->insertItem( i18n("Filter"),selectFilterMenu ); | 713 | menuBar->insertItem( i18n("Filter"),selectFilterMenu ); |
709 | menuBar->insertItem( i18n("Help"), helpMenu ); | 714 | menuBar->insertItem( i18n("Help"), helpMenu ); |
710 | //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); | 715 | //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); |
711 | menuBar1->setMaximumSize( menuBar1->sizeHint( )); | 716 | menuBar1->setMaximumSize( menuBar1->sizeHint( )); |
712 | } | 717 | } |
713 | connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); | 718 | connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); |
714 | connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); | 719 | connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); |
715 | 720 | ||
716 | 721 | ||
717 | mWeekBgColor = iconToolBar->backgroundColor(); | 722 | mWeekBgColor = iconToolBar->backgroundColor(); |
718 | mWeekPixmap.resize( pixWid , pixHei ); | 723 | mWeekPixmap.resize( pixWid , pixHei ); |
719 | mWeekPixmap.fill( mWeekBgColor ); | 724 | mWeekPixmap.fill( mWeekBgColor ); |
720 | icon = mWeekPixmap; | 725 | icon = mWeekPixmap; |
721 | mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); | 726 | mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); |
722 | if ( p-> mShowIconWeekNum ) | 727 | if ( p-> mShowIconWeekNum ) |
723 | mWeekAction->addTo( iconToolBar ); | 728 | mWeekAction->addTo( iconToolBar ); |
724 | mWeekFont = font(); | 729 | mWeekFont = font(); |
725 | 730 | ||
726 | int fontPoint = mWeekFont.pointSize(); | 731 | int fontPoint = mWeekFont.pointSize(); |
727 | QFontMetrics f( mWeekFont ); | 732 | QFontMetrics f( mWeekFont ); |
728 | int fontWid = f.width( "30" ); | 733 | int fontWid = f.width( "30" ); |
729 | while ( fontWid > pixWid ) { | 734 | while ( fontWid > pixWid ) { |
730 | --fontPoint; | 735 | --fontPoint; |
731 | mWeekFont.setPointSize( fontPoint ); | 736 | mWeekFont.setPointSize( fontPoint ); |
732 | QFontMetrics f( mWeekFont ); | 737 | QFontMetrics f( mWeekFont ); |
733 | fontWid = f.width( "30" ); | 738 | fontWid = f.width( "30" ); |
734 | //qDebug("dec-- "); | 739 | //qDebug("dec-- "); |
735 | } | 740 | } |
736 | 741 | ||
737 | connect( mWeekAction, SIGNAL( activated() ), | 742 | connect( mWeekAction, SIGNAL( activated() ), |
738 | this, SLOT( weekAction() ) ); | 743 | this, SLOT( weekAction() ) ); |
739 | 744 | ||
740 | connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); | 745 | connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); |
741 | if ( p->mShowIconFilterview ) { | 746 | if ( p->mShowIconFilterview ) { |
742 | icon = loadPixmap( pathString + "filter" ); | 747 | icon = loadPixmap( pathString + "filter" ); |
743 | actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this ); | 748 | actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this ); |
744 | connect( actionFilterMenuTB, SIGNAL( activated() ), | 749 | connect( actionFilterMenuTB, SIGNAL( activated() ), |
745 | this, SLOT( fillFilterMenuTB() ) ); | 750 | this, SLOT( fillFilterMenuTB() ) ); |
746 | actionFilterMenuTB->addTo( iconToolBar ); | 751 | actionFilterMenuTB->addTo( iconToolBar ); |
747 | selectFilterMenuTB = new QPopupMenu( this ); | 752 | selectFilterMenuTB = new QPopupMenu( this ); |
748 | selectFilterMenuTB->setCheckable( true ); | 753 | selectFilterMenuTB->setCheckable( true ); |
749 | connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); | 754 | connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); |
750 | } | 755 | } |
751 | 756 | ||
752 | //#endif | 757 | //#endif |
753 | // ****************** | 758 | // ****************** |
754 | QAction *action; | 759 | QAction *action; |
755 | // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); | 760 | // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); |
756 | configureToolBarMenu->setCheckable( true ); | 761 | configureToolBarMenu->setCheckable( true ); |
757 | 762 | ||
758 | 763 | ||
759 | configureAgendaMenu->setCheckable( true ); | 764 | configureAgendaMenu->setCheckable( true ); |
760 | int iii ; | 765 | int iii ; |
761 | for ( iii = 1;iii<= 10 ;++iii ){ | 766 | for ( iii = 1;iii<= 10 ;++iii ){ |
762 | configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); | 767 | configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); |
763 | } | 768 | } |
764 | //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); | 769 | //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); |
765 | 770 | ||
766 | connect( configureAgendaMenu, SIGNAL( aboutToShow()), | 771 | connect( configureAgendaMenu, SIGNAL( aboutToShow()), |
767 | this, SLOT( showConfigureAgenda( ) ) ); | 772 | this, SLOT( showConfigureAgenda( ) ) ); |
773 | icon = loadPixmap( pathString + "today" ); | ||
774 | QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); | ||
775 | today_action->addTo( actionMenu ); | ||
776 | connect( today_action, SIGNAL( activated() ), | ||
777 | mView, SLOT( goToday() ) ); | ||
778 | |||
779 | icon = loadPixmap( pathString + "picker" ); | ||
780 | QAction* dPickerAction = new QAction( i18n("Select Date..."), icon, i18n("Select Date..."), 0, this ); | ||
781 | dPickerAction->addTo( actionMenu ); | ||
782 | connect( dPickerAction, SIGNAL( activated() ), | ||
783 | mView, SLOT( showDatePicker() ) ); | ||
784 | |||
785 | icon = loadPixmap( pathString + "search" ); | ||
786 | QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); | ||
787 | search_action->addTo( actionMenu ); | ||
788 | connect( search_action, SIGNAL( activated() ), | ||
789 | mView->dialogManager(), SLOT( showSearchDialog() ) ); | ||
768 | 790 | ||
769 | icon = loadPixmap( pathString + "configure" ); | ||
770 | action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this ); | ||
771 | action->addTo( actionMenu ); | ||
772 | connect( action, SIGNAL( activated() ), | ||
773 | mView, SLOT( edit_options() ) ); | ||
774 | icon = loadPixmap( pathString + "configure" ); | ||
775 | action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this ); | ||
776 | action->addTo( actionMenu ); | ||
777 | connect( action, SIGNAL( activated() ), | ||
778 | mView, SLOT( edit_global_options() ) ); | ||
779 | actionMenu->insertSeparator(); | 791 | actionMenu->insertSeparator(); |
792 | |||
793 | |||
780 | 794 | ||
781 | action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); | 795 | action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); |
782 | action->addTo( actionMenu ); | 796 | action->addTo( actionMenu ); |
783 | connect( action, SIGNAL( activated() ), | 797 | connect( action, SIGNAL( activated() ), |
784 | mView, SLOT( undo_delete() ) ); | 798 | mView, SLOT( undo_delete() ) ); |
785 | actionMenu->insertSeparator(); | ||
786 | 799 | ||
787 | icon = loadPixmap( pathString + "newevent" ); | 800 | icon = loadPixmap( pathString + "newevent" ); |
788 | configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); | 801 | configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); |
789 | configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 ); | 802 | configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 ); |
790 | configureToolBarMenu->insertSeparator(); | 803 | configureToolBarMenu->insertSeparator(); |
791 | configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 ); | 804 | configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 ); |
792 | configureToolBarMenu->insertSeparator(); | 805 | configureToolBarMenu->insertSeparator(); |
793 | configureToolBarMenu->insertItem(i18n("Week Number"), 400); | 806 | configureToolBarMenu->insertItem(i18n("Week Number"), 400); |
794 | configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); | 807 | configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); |
808 | |||
809 | #ifndef DESKTOP_VERSION | ||
810 | actionMenu->insertItem ( i18n("Selected Item"), mCurrentItemMenu); | ||
811 | #endif | ||
812 | mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); | ||
813 | mShowAction->addTo( mCurrentItemMenu ); | ||
814 | connect( mShowAction, SIGNAL( activated() ), | ||
815 | mView, SLOT( showIncidence() ) ); | ||
816 | |||
817 | mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); | ||
818 | mEditAction->addTo( mCurrentItemMenu ); | ||
819 | connect( mEditAction, SIGNAL( activated() ), | ||
820 | mView, SLOT( editIncidence() ) ); | ||
821 | |||
822 | mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); | ||
823 | mDeleteAction->addTo( mCurrentItemMenu ); | ||
824 | connect( mDeleteAction, SIGNAL( activated() ), | ||
825 | mView, SLOT( deleteIncidence() ) ); | ||
826 | |||
827 | |||
828 | mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); | ||
829 | mCloneAction->addTo( mCurrentItemMenu ); | ||
830 | connect( mCloneAction, SIGNAL( activated() ), | ||
831 | mView, SLOT( cloneIncidence() ) ); | ||
832 | mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); | ||
833 | mMoveAction->addTo( mCurrentItemMenu ); | ||
834 | connect( mMoveAction, SIGNAL( activated() ), | ||
835 | mView, SLOT( moveIncidence() ) ); | ||
836 | mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); | ||
837 | mBeamAction->addTo(mCurrentItemMenu ); | ||
838 | connect( mBeamAction, SIGNAL( activated() ), | ||
839 | mView, SLOT( beamIncidence() ) ); | ||
840 | mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); | ||
841 | mCancelAction->addTo( mCurrentItemMenu ); | ||
842 | connect( mCancelAction, SIGNAL( activated() ), | ||
843 | mView, SLOT( toggleCancelIncidence() ) ); | ||
844 | #ifdef DESKTOP_VERSION | ||
845 | actionMenu->insertSeparator(); | ||
846 | #endif | ||
847 | |||
848 | |||
795 | QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); | 849 | QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); |
796 | ne_action->addTo( actionMenu ); | 850 | ne_action->addTo( actionMenu ); |
797 | connect( ne_action, SIGNAL( activated() ), | 851 | connect( ne_action, SIGNAL( activated() ), |
798 | mView, SLOT( newEvent() ) ); | 852 | mView, SLOT( newEvent() ) ); |
799 | icon = loadPixmap( pathString + "newtodo" ); | 853 | icon = loadPixmap( pathString + "newtodo" ); |
800 | configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); | 854 | configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); |
801 | QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); | 855 | QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); |
802 | nt_action->addTo( actionMenu ); | 856 | nt_action->addTo( actionMenu ); |
803 | connect( nt_action, SIGNAL( activated() ), | 857 | connect( nt_action, SIGNAL( activated() ), |
804 | mView, SLOT( newTodo() ) ); | 858 | mView, SLOT( newTodo() ) ); |
805 | 859 | ||
806 | icon = loadPixmap( pathString + "today" ); | 860 | |
807 | QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); | ||
808 | today_action->addTo( viewMenu ); | ||
809 | connect( today_action, SIGNAL( activated() ), | ||
810 | mView, SLOT( goToday() ) ); | ||
811 | viewMenu->insertSeparator(); | ||
812 | 861 | ||
813 | // *********************** | 862 | // *********************** |
814 | if ( KOPrefs::instance()->mVerticalScreen ) { | 863 | if ( KOPrefs::instance()->mVerticalScreen ) { |
815 | icon = SmallIcon( "1updownarrow" ); | 864 | icon = SmallIcon( "1updownarrow" ); |
816 | } else { | 865 | } else { |
817 | icon = SmallIcon("1leftrightarrow" ); | 866 | icon = SmallIcon("1leftrightarrow" ); |
818 | } | 867 | } |
819 | configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 ); | 868 | configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 ); |
820 | QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this ); | 869 | QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this ); |
821 | FSaction->addTo( viewMenu ); | 870 | FSaction->addTo( viewMenu ); |
822 | connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() )); | 871 | connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() )); |
823 | 872 | ||
824 | 873 | ||
825 | icon = loadPixmap( pathString + "filter" ); | 874 | icon = loadPixmap( pathString + "filter" ); |
826 | configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 ); | 875 | configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 ); |
827 | icon = loadPixmap( pathString + "configure" ); | 876 | icon = loadPixmap( pathString + "configure" ); |
828 | action = new QAction( i18n("Toggle Resource View"), icon, i18n("Toggle Resource View"), 0, this ); | 877 | action = new QAction( i18n("Toggle Resource View"), icon, i18n("Toggle Resource View"), 0, this ); |
829 | action->addTo( viewMenu ); | 878 | action->addTo( viewMenu ); |
830 | connect( action, SIGNAL( activated() ), | 879 | connect( action, SIGNAL( activated() ), |
831 | mView, SLOT( toggleFilter() ) ); | 880 | mView, SLOT( toggleFilter() ) ); |
832 | mToggleFilter = action; | 881 | mToggleFilter = action; |
833 | icon = loadPixmap( pathString + "navi" ); | 882 | icon = loadPixmap( pathString + "navi" ); |
834 | configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 ); | 883 | configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 ); |
835 | action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); | 884 | action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); |
836 | action->addTo( viewMenu ); | 885 | action->addTo( viewMenu ); |
837 | connect( action, SIGNAL( activated() ), | 886 | connect( action, SIGNAL( activated() ), |
838 | mView, SLOT( toggleDateNavigatorWidget() ) ); | 887 | mView, SLOT( toggleDateNavigatorWidget() ) ); |
839 | mToggleNav = action ; | 888 | mToggleNav = action ; |
840 | icon = loadPixmap( pathString + "allday" ); | 889 | icon = loadPixmap( pathString + "allday" ); |
841 | configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 ); | 890 | configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 ); |
842 | action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); | 891 | action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); |
843 | action->addTo( viewMenu ); | 892 | action->addTo( viewMenu ); |
844 | connect( action, SIGNAL( activated() ), | 893 | connect( action, SIGNAL( activated() ), |
845 | mView, SLOT( toggleAllDaySize() ) ); | 894 | mView, SLOT( toggleAllDaySize() ) ); |
846 | mToggleAllday = action; | 895 | mToggleAllday = action; |
847 | 896 | ||
848 | 897 | ||
849 | connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), | 898 | connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), |
850 | mToggleNav, SLOT( setEnabled ( bool ) ) ); | 899 | mToggleNav, SLOT( setEnabled ( bool ) ) ); |
851 | //connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), | 900 | //connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), |
852 | // mToggleFilter, SLOT( setEnabled ( bool ) ) ); | 901 | // mToggleFilter, SLOT( setEnabled ( bool ) ) ); |
853 | connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), | 902 | connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), |
854 | mToggleAllday, SLOT( setEnabled ( bool ) ) ); | 903 | mToggleAllday, SLOT( setEnabled ( bool ) ) ); |
855 | // connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), | 904 | // connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), |
856 | // configureAgendaMenu, SLOT( setEnabled ( bool ) ) ); | 905 | // configureAgendaMenu, SLOT( setEnabled ( bool ) ) ); |
857 | 906 | ||
858 | viewMenu->insertSeparator(); | 907 | |
859 | icon = loadPixmap( pathString + "picker" ); | 908 | dPickerAction->addTo( iconToolBar ); |
860 | action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); | ||
861 | action->addTo( viewMenu ); | ||
862 | connect( action, SIGNAL( activated() ), | ||
863 | mView, SLOT( showDatePicker() ) ); | ||
864 | action->addTo( iconToolBar ); | ||
865 | viewMenu->insertSeparator(); | 909 | viewMenu->insertSeparator(); |
866 | 910 | ||
867 | if ( p-> mShowIconToggleFull ) | 911 | if ( p-> mShowIconToggleFull ) |
868 | FSaction->addTo( iconToolBar ); | 912 | FSaction->addTo( iconToolBar ); |
869 | if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar ); | 913 | if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar ); |
870 | 914 | ||
871 | //******************** | 915 | //******************** |
872 | if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar ); | 916 | if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar ); |
873 | 917 | ||
874 | 918 | ||
875 | icon = loadPixmap( pathString + "whatsnext" ); | 919 | icon = loadPixmap( pathString + "whatsnext" ); |
876 | configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 ); | 920 | configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 ); |
877 | QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); | 921 | QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); |
878 | whatsnext_action->addTo( viewMenu ); | 922 | whatsnext_action->addTo( viewMenu ); |
879 | connect( whatsnext_action, SIGNAL( activated() ), | 923 | connect( whatsnext_action, SIGNAL( activated() ), |
880 | mView->viewManager(), SLOT( showWhatsNextView() ) ); | 924 | mView->viewManager(), SLOT( showWhatsNextView() ) ); |
881 | 925 | ||
882 | icon = loadPixmap( pathString + "xdays" ); | 926 | icon = loadPixmap( pathString + "xdays" ); |
883 | configureToolBarMenu->insertItem(icon, i18n("Next days"), 100 ); | 927 | configureToolBarMenu->insertItem(icon, i18n("Next days"), 100 ); |
884 | QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); | 928 | QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); |
885 | xdays_action->addTo( viewMenu ); | 929 | xdays_action->addTo( viewMenu ); |
886 | connect( xdays_action, SIGNAL( activated() ), | 930 | connect( xdays_action, SIGNAL( activated() ), |
887 | mView->viewManager(), SLOT( showNextXView() ) ); | 931 | mView->viewManager(), SLOT( showNextXView() ) ); |
888 | 932 | ||
889 | 933 | ||
890 | icon = loadPixmap( pathString + "journal" ); | 934 | icon = loadPixmap( pathString + "journal" ); |
891 | configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); | 935 | configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); |
892 | QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); | 936 | QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); |
893 | viewjournal_action->addTo( viewMenu ); | 937 | viewjournal_action->addTo( viewMenu ); |
894 | connect( viewjournal_action, SIGNAL( activated() ), | 938 | connect( viewjournal_action, SIGNAL( activated() ), |
895 | mView->viewManager(), SLOT( showJournalView() ) ); | 939 | mView->viewManager(), SLOT( showJournalView() ) ); |
896 | 940 | ||
897 | 941 | ||
898 | icon = loadPixmap( pathString + "day" ); | 942 | icon = loadPixmap( pathString + "day" ); |
899 | configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); | 943 | configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); |
900 | QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); | 944 | QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); |
901 | day1_action->addTo( viewMenu ); | 945 | day1_action->addTo( viewMenu ); |
902 | // action->addTo( toolBar ); | 946 | // action->addTo( toolBar ); |
903 | connect( day1_action, SIGNAL( activated() ), | 947 | connect( day1_action, SIGNAL( activated() ), |
904 | mView->viewManager(), SLOT( showDayView() ) ); | 948 | mView->viewManager(), SLOT( showDayView() ) ); |
905 | 949 | ||
906 | icon = loadPixmap( pathString + "workweek" ); | 950 | icon = loadPixmap( pathString + "workweek" ); |
907 | configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); | 951 | configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); |
908 | QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); | 952 | QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); |
909 | day5_action->addTo( viewMenu ); | 953 | day5_action->addTo( viewMenu ); |
910 | connect( day5_action, SIGNAL( activated() ), | 954 | connect( day5_action, SIGNAL( activated() ), |
911 | mView->viewManager(), SLOT( showWorkWeekView() ) ); | 955 | mView->viewManager(), SLOT( showWorkWeekView() ) ); |
912 | 956 | ||
913 | icon = loadPixmap( pathString + "week" ); | 957 | icon = loadPixmap( pathString + "week" ); |
914 | configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); | 958 | configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); |
915 | QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); | 959 | QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); |
916 | day7_action->addTo( viewMenu ); | 960 | day7_action->addTo( viewMenu ); |
917 | connect( day7_action, SIGNAL( activated() ), | 961 | connect( day7_action, SIGNAL( activated() ), |
918 | mView->viewManager(), SLOT( showWeekView() ) ); | 962 | mView->viewManager(), SLOT( showWeekView() ) ); |
919 | 963 | ||
920 | icon = loadPixmap( pathString + "workweek2" ); | 964 | icon = loadPixmap( pathString + "workweek2" ); |
921 | configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 ); | 965 | configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 ); |
922 | QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this ); | 966 | QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this ); |
923 | day6_action->addTo( viewMenu ); | 967 | day6_action->addTo( viewMenu ); |
924 | connect( day6_action, SIGNAL( activated() ), | 968 | connect( day6_action, SIGNAL( activated() ), |
925 | mView->viewManager(), SLOT( showMonthViewWeek() ) ); | 969 | mView->viewManager(), SLOT( showMonthViewWeek() ) ); |
926 | 970 | ||
927 | icon = loadPixmap( pathString + "month" ); | 971 | icon = loadPixmap( pathString + "month" ); |
928 | configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); | 972 | configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); |
929 | QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); | 973 | QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); |
930 | month_action->addTo( viewMenu ); | 974 | month_action->addTo( viewMenu ); |
931 | connect( month_action, SIGNAL( activated() ), | 975 | connect( month_action, SIGNAL( activated() ), |
932 | mView->viewManager(), SLOT( showMonthView() ) ); | 976 | mView->viewManager(), SLOT( showMonthView() ) ); |
933 | 977 | ||
934 | icon = loadPixmap( pathString + "list" ); | 978 | icon = loadPixmap( pathString + "list" ); |
935 | configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); | 979 | configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); |
936 | QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); | 980 | QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); |
937 | showlist_action->addTo( viewMenu ); | 981 | showlist_action->addTo( viewMenu ); |
938 | connect( showlist_action, SIGNAL( activated() ), | 982 | connect( showlist_action, SIGNAL( activated() ), |
939 | mView->viewManager(), SLOT( showListView() ) ); | 983 | mView->viewManager(), SLOT( showListView() ) ); |
940 | 984 | ||
941 | icon = loadPixmap( pathString + "todo" ); | 985 | icon = loadPixmap( pathString + "todo" ); |
942 | configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); | 986 | configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); |
943 | QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); | 987 | QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); |
944 | todoview_action->addTo( viewMenu ); | 988 | todoview_action->addTo( viewMenu ); |
945 | connect( todoview_action, SIGNAL( activated() ), | 989 | connect( todoview_action, SIGNAL( activated() ), |
946 | mView->viewManager(), SLOT( showTodoView() ) ); | 990 | mView->viewManager(), SLOT( showTodoView() ) ); |
947 | 991 | ||
948 | 992 | ||
949 | 993 | ||
950 | #if 0 | 994 | #if 0 |
951 | action = new QAction( "view_timespan", "Time Span", 0, this ); | 995 | action = new QAction( "view_timespan", "Time Span", 0, this ); |
952 | action->addTo( viewMenu ); | 996 | action->addTo( viewMenu ); |
953 | connect( action, SIGNAL( activated() ), | 997 | connect( action, SIGNAL( activated() ), |
954 | mView->viewManager(), SLOT( showTimeSpanView() ) ); | 998 | mView->viewManager(), SLOT( showTimeSpanView() ) ); |
955 | #endif | 999 | #endif |
956 | 1000 | ||
957 | mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, | 1001 | mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, |
958 | this ); | 1002 | this ); |
959 | mNewSubTodoAction->addTo( actionMenu ); | 1003 | mNewSubTodoAction->addTo( actionMenu ); |
960 | connect( mNewSubTodoAction, SIGNAL( activated() ), | 1004 | connect( mNewSubTodoAction, SIGNAL( activated() ), |
961 | mView, SLOT( newSubTodo() ) ); | 1005 | mView, SLOT( newSubTodo() ) ); |
962 | 1006 | ||
963 | actionMenu->insertSeparator(); | 1007 | action = new QAction( "purge_completed", i18n("Purge Completed..."), 0, |
964 | 1008 | this ); | |
965 | mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); | 1009 | action->addTo( actionMenu ); |
966 | mShowAction->addTo( actionMenu ); | 1010 | connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); |
967 | connect( mShowAction, SIGNAL( activated() ), | ||
968 | mView, SLOT( showIncidence() ) ); | ||
969 | 1011 | ||
970 | mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); | 1012 | |
971 | mEditAction->addTo( actionMenu ); | 1013 | configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5); |
972 | connect( mEditAction, SIGNAL( activated() ), | ||
973 | mView, SLOT( editIncidence() ) ); | ||
974 | 1014 | ||
975 | mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); | ||
976 | mDeleteAction->addTo( actionMenu ); | ||
977 | connect( mDeleteAction, SIGNAL( activated() ), | ||
978 | mView, SLOT( deleteIncidence() ) ); | ||
979 | 1015 | ||
980 | 1016 | ||
981 | mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); | ||
982 | mCloneAction->addTo( actionMenu ); | ||
983 | connect( mCloneAction, SIGNAL( activated() ), | ||
984 | mView, SLOT( cloneIncidence() ) ); | ||
985 | mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); | ||
986 | mMoveAction->addTo( actionMenu ); | ||
987 | connect( mMoveAction, SIGNAL( activated() ), | ||
988 | mView, SLOT( moveIncidence() ) ); | ||
989 | mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); | ||
990 | mBeamAction->addTo( actionMenu ); | ||
991 | connect( mBeamAction, SIGNAL( activated() ), | ||
992 | mView, SLOT( beamIncidence() ) ); | ||
993 | mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); | ||
994 | mCancelAction->addTo( actionMenu ); | ||
995 | connect( mCancelAction, SIGNAL( activated() ), | ||
996 | mView, SLOT( toggleCancelIncidence() ) ); | ||
997 | |||
998 | actionMenu->insertSeparator(); | 1017 | actionMenu->insertSeparator(); |
999 | 1018 | action = new QAction( "manage cat", i18n("Edit category list..."), 0, | |
1000 | action = new QAction( "purge_completed", i18n("Purge Completed"), 0, | ||
1001 | this ); | 1019 | this ); |
1002 | action->addTo( actionMenu ); | 1020 | action->addTo( actionMenu ); |
1003 | connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); | 1021 | connect( action, SIGNAL( activated() ), mView, SLOT( editCategories() ) ); |
1004 | 1022 | ||
1005 | icon = loadPixmap( pathString + "search" ); | 1023 | action = new QAction( "manage cat", i18n("Manage new categories..."), 0, |
1006 | QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); | 1024 | this ); |
1007 | configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5); | 1025 | action->addTo( actionMenu ); |
1008 | search_action->addTo( actionMenu ); | 1026 | connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); |
1009 | connect( search_action, SIGNAL( activated() ), | ||
1010 | mView->dialogManager(), SLOT( showSearchDialog() ) ); | ||
1011 | 1027 | ||
1012 | |||
1013 | 1028 | ||
1029 | actionMenu->insertSeparator(); | ||
1030 | icon = loadPixmap( pathString + "configure" ); | ||
1031 | action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this ); | ||
1032 | action->addTo( actionMenu ); | ||
1033 | connect( action, SIGNAL( activated() ), | ||
1034 | mView, SLOT( edit_options() ) ); | ||
1035 | icon = loadPixmap( pathString + "configure" ); | ||
1036 | action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this ); | ||
1037 | action->addTo( actionMenu ); | ||
1038 | connect( action, SIGNAL( activated() ), | ||
1039 | mView, SLOT( edit_global_options() ) ); | ||
1014 | if ( KOPrefs::instance()->mShowFullMenu ) { | 1040 | if ( KOPrefs::instance()->mShowFullMenu ) { |
1015 | actionMenu->insertSeparator(); | ||
1016 | actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); | 1041 | actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); |
1017 | 1042 | ||
1018 | } | 1043 | } |
1019 | // actionMenu->insertSeparator(); | 1044 | // actionMenu->insertSeparator(); |
1020 | action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, | 1045 | action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, |
1021 | this ); | 1046 | this ); |
1022 | action->addTo( importMenu_X ); | 1047 | action->addTo( importMenu_X ); |
1023 | connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); | 1048 | connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); |
1024 | action = new QAction( "import_quick", i18n("Import last file"), 0, | 1049 | action = new QAction( "import_quick", i18n("Import last file"), 0, |
1025 | this ); | 1050 | this ); |
1026 | action->addTo( importMenu_X ); | 1051 | action->addTo( importMenu_X ); |
1027 | connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); | 1052 | connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); |
1028 | importMenu_X->insertSeparator(); | 1053 | importMenu_X->insertSeparator(); |
1029 | action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, | 1054 | action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, |
1030 | this ); | 1055 | this ); |
1031 | action->addTo( importMenu_X ); | 1056 | action->addTo( importMenu_X ); |
1032 | connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); | 1057 | connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); |
1033 | //#ifndef DESKTOP_VERSION | 1058 | //#ifndef DESKTOP_VERSION |
1034 | importMenu_X->insertSeparator(); | 1059 | importMenu_X->insertSeparator(); |
1035 | action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, | 1060 | action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, |
1036 | this ); | 1061 | this ); |
1037 | action->addTo( importMenu_X ); | 1062 | action->addTo( importMenu_X ); |
1038 | connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); | 1063 | connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); |
1039 | //#else | 1064 | //#else |
1040 | #ifdef _OL_IMPORT_ | 1065 | #ifdef _OL_IMPORT_ |
1041 | importMenu_X->insertSeparator(); | 1066 | importMenu_X->insertSeparator(); |
1042 | action = new QAction( "import_ol", i18n("Import from OL"), 0, | 1067 | action = new QAction( "import_ol", i18n("Import from OL"), 0, |
1043 | this ); | 1068 | this ); |
1044 | action->addTo( importMenu_X ); | 1069 | action->addTo( importMenu_X ); |
1045 | connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); | 1070 | connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); |
1046 | #endif | 1071 | #endif |
1047 | //#endif | 1072 | //#endif |
1048 | 1073 | ||
1049 | //importMenu->insertSeparator(); | 1074 | //importMenu->insertSeparator(); |
1050 | #if 0 | 1075 | #if 0 |
1051 | action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, | 1076 | action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, |
1052 | this ); | 1077 | this ); |
1053 | action->addTo( importMenu ); | 1078 | action->addTo( importMenu ); |
1054 | connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); | 1079 | connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); |
1055 | #endif | 1080 | #endif |
1056 | action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, | 1081 | action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, |
1057 | this ); | 1082 | this ); |
1058 | action->addTo( importMenu ); | 1083 | action->addTo( importMenu ); |
1059 | connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); | 1084 | connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); |
1060 | importMenu->insertSeparator(); | 1085 | importMenu->insertSeparator(); |
1061 | importMenu->insertItem( i18n("Import"), importMenu_X ); | 1086 | importMenu->insertItem( i18n("Import"), importMenu_X ); |
1062 | //importMenu->insertSeparator(); | 1087 | //importMenu->insertSeparator(); |
1063 | action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, | 1088 | action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, |
1064 | this ); | 1089 | this ); |
1065 | action->addTo( exportMenu_X ); | 1090 | action->addTo( exportMenu_X ); |
1066 | connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); | 1091 | connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); |
1067 | 1092 | ||
1068 | 1093 | ||
1069 | //LR | 1094 | //LR |
1070 | QPopupMenu *ex2phone = new QPopupMenu( this ); | 1095 | QPopupMenu *ex2phone = new QPopupMenu( this ); |
1071 | ex2phone->insertItem(i18n("Complete calendar..."), 1 ); | 1096 | ex2phone->insertItem(i18n("Complete calendar..."), 1 ); |
1072 | ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); | 1097 | ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); |
1073 | connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) ); | 1098 | connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) ); |
1074 | exportMenu_X->insertItem( i18n("Export to phone"), ex2phone ); | 1099 | exportMenu_X->insertItem( i18n("Export to phone"), ex2phone ); |
1075 | 1100 | ||
1076 | importMenu->insertItem( i18n("Export"), exportMenu_X ); | 1101 | importMenu->insertItem( i18n("Export"), exportMenu_X ); |
1077 | #ifndef DESKTOP_VERSION | 1102 | #ifndef DESKTOP_VERSION |
1078 | //importMenu->insertSeparator(); | 1103 | //importMenu->insertSeparator(); |
1079 | brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, | 1104 | brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, |
1080 | this ); | 1105 | this ); |
1081 | brAction->addTo( beamMenu_X ); | 1106 | brAction->addTo( beamMenu_X ); |
1082 | brAction->setToggleAction (true ) ; | 1107 | brAction->setToggleAction (true ) ; |
1083 | connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); | 1108 | connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); |
1084 | 1109 | ||
1085 | action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, | 1110 | action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, |
1086 | this ); | 1111 | this ); |
1087 | action->addTo( beamMenu_X ); | 1112 | action->addTo( beamMenu_X ); |
1088 | connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); | 1113 | connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); |
1089 | 1114 | ||
1090 | action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, | 1115 | action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, |
1091 | this ); | 1116 | this ); |
1092 | action->addTo( beamMenu_X ); | 1117 | action->addTo( beamMenu_X ); |
1093 | connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); | 1118 | connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); |
1094 | importMenu->insertItem( i18n("Beam"), beamMenu_X ); | 1119 | importMenu->insertItem( i18n("Beam"), beamMenu_X ); |
1095 | #else | 1120 | #else |
1096 | //importMenu->insertSeparator(); | 1121 | //importMenu->insertSeparator(); |
1097 | icon = loadPixmap( pathString + "print" ); | 1122 | icon = loadPixmap( pathString + "print" ); |
1098 | action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); | 1123 | action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); |
1099 | action->addTo( beamMenu_X ); | 1124 | action->addTo( beamMenu_X ); |
1100 | connect( action, SIGNAL( activated() ), | 1125 | connect( action, SIGNAL( activated() ), |
1101 | this, SLOT( printCal() ) ); | 1126 | this, SLOT( printCal() ) ); |
1102 | 1127 | ||
1103 | icon = loadPixmap( pathString + "print" ); | 1128 | icon = loadPixmap( pathString + "print" ); |
1104 | action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); | 1129 | action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); |
1105 | action->addTo( beamMenu_X ); | 1130 | action->addTo( beamMenu_X ); |
1106 | connect( action, SIGNAL( activated() ), | 1131 | connect( action, SIGNAL( activated() ), |
1107 | this, SLOT( printSel() ) ); | 1132 | this, SLOT( printSel() ) ); |
1108 | action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); | 1133 | action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); |
1109 | action->addTo( beamMenu_X ); | 1134 | action->addTo( beamMenu_X ); |
1110 | connect( action, SIGNAL( activated() ), | 1135 | connect( action, SIGNAL( activated() ), |
1111 | mView->viewManager(), SLOT( slotprintWNV() ) ); | 1136 | mView->viewManager(), SLOT( slotprintWNV() ) ); |
1112 | 1137 | ||
1113 | 1138 | ||
1114 | icon = loadPixmap( pathString + "print" ); | 1139 | icon = loadPixmap( pathString + "print" ); |
1115 | action = new QAction( i18n("Print List View..."),icon,i18n("Print List View..."), 0, this ); | 1140 | action = new QAction( i18n("Print List View..."),icon,i18n("Print List View..."), 0, this ); |
1116 | action->addTo( beamMenu_X ); | 1141 | action->addTo( beamMenu_X ); |
1117 | connect( action, SIGNAL( activated() ), | 1142 | connect( action, SIGNAL( activated() ), |
1118 | this, SLOT( printListView() ) ); | 1143 | this, SLOT( printListView() ) ); |
1119 | 1144 | ||
1120 | action = new QAction( i18n("Print selected event / todo..."),icon,i18n("Print selected event / todo..."), 0, this ); | 1145 | action = new QAction( i18n("Print selected event / todo..."),icon,i18n("Print selected event / todo..."), 0, this ); |
1121 | action->addTo( beamMenu_X ); | 1146 | action->addTo( beamMenu_X ); |
1122 | connect( action, SIGNAL( activated() ), | 1147 | connect( action, SIGNAL( activated() ), |
1123 | mView, SLOT( slotprintSelInc() ) ); | 1148 | mView, SLOT( slotprintSelInc() ) ); |
1124 | 1149 | ||
1125 | importMenu->insertItem( i18n("Print"), beamMenu_X ); | 1150 | importMenu->insertItem( i18n("Print"), beamMenu_X ); |
1126 | #endif | 1151 | #endif |
1127 | importMenu->insertSeparator(); | 1152 | |
1128 | action = new QAction( "manage cat", i18n("Manage new categories..."), 0, | ||
1129 | this ); | ||
1130 | action->addTo( importMenu ); | ||
1131 | connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); | ||
1132 | importMenu->insertSeparator(); | 1153 | importMenu->insertSeparator(); |
1133 | action = new QAction( "beam all", i18n("Save"), 0, | 1154 | action = new QAction( "beam all", i18n("Save"), 0, |
1134 | this ); | 1155 | this ); |
1135 | action->addTo( importMenu ); | 1156 | action->addTo( importMenu ); |
1136 | connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); | 1157 | connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); |
1137 | action = new QAction( "beam all", i18n("Exit (+save)"), 0, | 1158 | action = new QAction( "beam all", i18n("Exit (+save)"), 0, |
1138 | this ); | 1159 | this ); |
1139 | action->addTo( importMenu ); | 1160 | action->addTo( importMenu ); |
1140 | connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); | 1161 | connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); |
1141 | 1162 | ||
1142 | //menuBar->insertItem( "Configure",configureMenu ); | 1163 | //menuBar->insertItem( "Configure",configureMenu ); |
1143 | //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); | 1164 | //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); |
1144 | icon = loadPixmap( "korganizer/korganizer" ); | 1165 | icon = loadPixmap( "korganizer/korganizer" ); |
1145 | 1166 | ||
1146 | action = new QAction( "Whats New", i18n("What's new?"), 0,this ); | 1167 | action = new QAction( "Whats New", i18n("What's new?"), 0,this ); |
1147 | action->addTo( helpMenu ); | 1168 | action->addTo( helpMenu ); |
1148 | connect( action, SIGNAL( activated() ), | 1169 | connect( action, SIGNAL( activated() ), |
1149 | SLOT( whatsNew() ) ); | 1170 | SLOT( whatsNew() ) ); |
1150 | action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); | 1171 | action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); |
1151 | action->addTo( helpMenu ); | 1172 | action->addTo( helpMenu ); |
1152 | connect( action, SIGNAL( activated() ), | 1173 | connect( action, SIGNAL( activated() ), |
1153 | SLOT( features() ) ); | 1174 | SLOT( features() ) ); |
1154 | action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); | 1175 | action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); |
1155 | action->addTo( helpMenu ); | 1176 | action->addTo( helpMenu ); |
1156 | connect( action, SIGNAL( activated() ), | 1177 | connect( action, SIGNAL( activated() ), |
1157 | SLOT( keyBindings() ) ); | 1178 | SLOT( keyBindings() ) ); |
1158 | action = new QAction( "Storage Howto", i18n("Storage HowTo..."), 0,this ); | 1179 | action = new QAction( "Storage Howto", i18n("Storage HowTo..."), 0,this ); |
1159 | action->addTo( helpMenu ); | 1180 | action->addTo( helpMenu ); |
1160 | connect( action, SIGNAL( activated() ), | 1181 | connect( action, SIGNAL( activated() ), |
1161 | SLOT( storagehowto() ) ); | 1182 | SLOT( storagehowto() ) ); |
1162 | action = new QAction( "Timetracking Howto", i18n("Timetracking HowTo..."), 0,this ); | 1183 | action = new QAction( "Timetracking Howto", i18n("Timetracking HowTo..."), 0,this ); |
1163 | action->addTo( helpMenu ); | 1184 | action->addTo( helpMenu ); |
1164 | connect( action, SIGNAL( activated() ), | 1185 | connect( action, SIGNAL( activated() ), |
1165 | SLOT( timetrackinghowto() ) ); | 1186 | SLOT( timetrackinghowto() ) ); |
1166 | action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); | 1187 | action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); |
1167 | action->addTo( helpMenu ); | 1188 | action->addTo( helpMenu ); |
1168 | connect( action, SIGNAL( activated() ), | 1189 | connect( action, SIGNAL( activated() ), |
1169 | SLOT( synchowto() ) ); | 1190 | SLOT( synchowto() ) ); |
1170 | action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); | 1191 | action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); |
1171 | action->addTo( helpMenu ); | 1192 | action->addTo( helpMenu ); |
1172 | connect( action, SIGNAL( activated() ), | 1193 | connect( action, SIGNAL( activated() ), |
1173 | SLOT( kdesynchowto() ) ); | 1194 | SLOT( kdesynchowto() ) ); |
1174 | action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); | 1195 | action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); |
1175 | action->addTo( helpMenu ); | 1196 | action->addTo( helpMenu ); |
1176 | connect( action, SIGNAL( activated() ), | 1197 | connect( action, SIGNAL( activated() ), |
1177 | SLOT( multisynchowto() ) ); | 1198 | SLOT( multisynchowto() ) ); |
1178 | action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); | 1199 | action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); |
1179 | action->addTo( helpMenu ); | 1200 | action->addTo( helpMenu ); |
1180 | connect( action, SIGNAL( activated() ), | 1201 | connect( action, SIGNAL( activated() ), |
1181 | SLOT( aboutAutoSaving() ) ); | 1202 | SLOT( aboutAutoSaving() ) ); |
1182 | action = new QAction( "Problemd", i18n("Known Problems..."), 0,this ); | 1203 | action = new QAction( "Problemd", i18n("Known Problems..."), 0,this ); |
1183 | action->addTo( helpMenu ); | 1204 | action->addTo( helpMenu ); |
1184 | connect( action, SIGNAL( activated() ), | 1205 | connect( action, SIGNAL( activated() ), |
1185 | SLOT( aboutKnownBugs() ) ); | 1206 | SLOT( aboutKnownBugs() ) ); |
1186 | action = new QAction( "Translate Howto", i18n("User translation..."), 0,this ); | 1207 | action = new QAction( "Translate Howto", i18n("User translation..."), 0,this ); |
1187 | action->addTo( helpMenu ); | 1208 | action->addTo( helpMenu ); |
1188 | connect( action, SIGNAL( activated() ), | 1209 | connect( action, SIGNAL( activated() ), |
1189 | SLOT( usertrans() ) ); | 1210 | SLOT( usertrans() ) ); |
1190 | action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this ); | 1211 | action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this ); |
1191 | action->addTo( helpMenu ); | 1212 | action->addTo( helpMenu ); |
1192 | connect( action, SIGNAL( activated() ), | 1213 | connect( action, SIGNAL( activated() ), |
1193 | SLOT( faq() ) ); | 1214 | SLOT( faq() ) ); |
1194 | action = new QAction( "licence", i18n("Licence..."), 0, this ); | 1215 | action = new QAction( "licence", i18n("Licence..."), 0, this ); |
1195 | action->addTo( helpMenu ); | 1216 | action->addTo( helpMenu ); |
1196 | connect( action, SIGNAL( activated() ), | 1217 | connect( action, SIGNAL( activated() ), |
1197 | SLOT( licence() ) ); | 1218 | SLOT( licence() ) ); |
1198 | action = new QAction( "about", i18n("About..."), 0, this ); | 1219 | action = new QAction( "about", i18n("About..."), 0, this ); |
1199 | action->addTo( helpMenu ); | 1220 | action->addTo( helpMenu ); |
1200 | connect( action, SIGNAL( activated() ), | 1221 | connect( action, SIGNAL( activated() ), |
1201 | SLOT( about() ) ); | 1222 | SLOT( about() ) ); |
1202 | //menuBar->insertSeparator(); | 1223 | //menuBar->insertSeparator(); |
1203 | 1224 | ||
1204 | // ****************************************************** | 1225 | // ****************************************************** |
1205 | // menubar icons | 1226 | // menubar icons |
1206 | 1227 | ||
1207 | 1228 | ||
1208 | 1229 | ||
1209 | //menuBar->insertItem( iconToolBar ); | 1230 | //menuBar->insertItem( iconToolBar ); |
1210 | //xdays_action | 1231 | //xdays_action |
1211 | if (p-> mShowIconNewEvent) | 1232 | if (p-> mShowIconNewEvent) |
1212 | ne_action->addTo( iconToolBar ); | 1233 | ne_action->addTo( iconToolBar ); |
1213 | if (p->mShowIconNewTodo ) | 1234 | if (p->mShowIconNewTodo ) |
1214 | nt_action->addTo( iconToolBar ); | 1235 | nt_action->addTo( iconToolBar ); |
1215 | if (p-> mShowIconSearch) | 1236 | if (p-> mShowIconSearch) |
1216 | search_action->addTo( iconToolBar ); | 1237 | search_action->addTo( iconToolBar ); |
1217 | if (p-> mShowIconWhatsThis) | 1238 | if (p-> mShowIconWhatsThis) |
1218 | QWhatsThis::whatsThisButton ( iconToolBar ); | 1239 | QWhatsThis::whatsThisButton ( iconToolBar ); |
1219 | if (p-> mShowIconNext) | 1240 | if (p-> mShowIconNext) |
1220 | whatsnext_action->addTo( viewToolBar ); | 1241 | whatsnext_action->addTo( viewToolBar ); |
1221 | if (p-> mShowIconNextDays) | 1242 | if (p-> mShowIconNextDays) |
1222 | xdays_action->addTo( viewToolBar ); | 1243 | xdays_action->addTo( viewToolBar ); |
1223 | if (p-> mShowIconJournal) | 1244 | if (p-> mShowIconJournal) |
1224 | viewjournal_action->addTo( viewToolBar ); | 1245 | viewjournal_action->addTo( viewToolBar ); |
1225 | if (p-> mShowIconDay1) | 1246 | if (p-> mShowIconDay1) |
1226 | day1_action->addTo( viewToolBar ); | 1247 | day1_action->addTo( viewToolBar ); |
1227 | if (p-> mShowIconDay5) | 1248 | if (p-> mShowIconDay5) |
1228 | day5_action->addTo( viewToolBar ); | 1249 | day5_action->addTo( viewToolBar ); |
1229 | if (p-> mShowIconDay7) | 1250 | if (p-> mShowIconDay7) |
1230 | day7_action->addTo( viewToolBar ); | 1251 | day7_action->addTo( viewToolBar ); |
1231 | if (p-> mShowIconDay6) | 1252 | if (p-> mShowIconDay6) |
1232 | day6_action->addTo( viewToolBar ); | 1253 | day6_action->addTo( viewToolBar ); |
1233 | if (p-> mShowIconMonth) | 1254 | if (p-> mShowIconMonth) |
1234 | month_action->addTo( viewToolBar ); | 1255 | month_action->addTo( viewToolBar ); |
1235 | if (p-> mShowIconList) | 1256 | if (p-> mShowIconList) |
1236 | showlist_action->addTo( viewToolBar ); | 1257 | showlist_action->addTo( viewToolBar ); |
1237 | if (p-> mShowIconTodoview) | 1258 | if (p-> mShowIconTodoview) |
1238 | todoview_action->addTo( viewToolBar ); | 1259 | todoview_action->addTo( viewToolBar ); |
1239 | 1260 | ||
1240 | icon = loadPixmap( pathString + "2leftarrowB" ); | 1261 | icon = loadPixmap( pathString + "2leftarrowB" ); |
1241 | configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200); | 1262 | configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200); |
1242 | if (p-> mShowIconBackFast) { | 1263 | if (p-> mShowIconBackFast) { |
1243 | action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this ); | 1264 | action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this ); |
1244 | connect( action, SIGNAL( activated() ), | 1265 | connect( action, SIGNAL( activated() ), |
1245 | mView, SLOT( goPreviousMonth() ) ); | 1266 | mView, SLOT( goPreviousMonth() ) ); |
1246 | action->addTo( navigatorToolBar ); | 1267 | action->addTo( navigatorToolBar ); |
1247 | } | 1268 | } |
1248 | icon = loadPixmap( pathString + "1leftarrowB" ); | 1269 | icon = loadPixmap( pathString + "1leftarrowB" ); |
1249 | configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210); | 1270 | configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210); |
1250 | if (p-> mShowIconBack) { | 1271 | if (p-> mShowIconBack) { |
1251 | action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this ); | 1272 | action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this ); |
1252 | connect( action, SIGNAL( activated() ), | 1273 | connect( action, SIGNAL( activated() ), |
1253 | mView, SLOT( goPrevious() ) ); | 1274 | mView, SLOT( goPrevious() ) ); |
1254 | action->addTo( navigatorToolBar ); | 1275 | action->addTo( navigatorToolBar ); |
1255 | } | 1276 | } |
1256 | icon = loadPixmap( pathString + "today" ); | 1277 | icon = loadPixmap( pathString + "today" ); |
1257 | configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130); | 1278 | configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130); |
1258 | if (p-> mShowIconToday) | 1279 | if (p-> mShowIconToday) |
1259 | today_action->addTo( navigatorToolBar ); | 1280 | today_action->addTo( navigatorToolBar ); |
1260 | icon = loadPixmap( pathString + "1rightarrowB" ); | 1281 | icon = loadPixmap( pathString + "1rightarrowB" ); |
1261 | configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220); | 1282 | configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220); |
1262 | if (p-> mShowIconForward) { | 1283 | if (p-> mShowIconForward) { |
1263 | action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this ); | 1284 | action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this ); |
1264 | connect( action, SIGNAL( activated() ), | 1285 | connect( action, SIGNAL( activated() ), |
1265 | mView, SLOT( goNext() ) ); | 1286 | mView, SLOT( goNext() ) ); |
1266 | action->addTo( navigatorToolBar ); | 1287 | action->addTo( navigatorToolBar ); |
1267 | } | 1288 | } |
1268 | icon = loadPixmap( pathString + "2rightarrowB" ); | 1289 | icon = loadPixmap( pathString + "2rightarrowB" ); |
1269 | configureToolBarMenu->insertItem(icon, i18n("Next month"), 230); | 1290 | configureToolBarMenu->insertItem(icon, i18n("Next month"), 230); |
1270 | if (p-> mShowIconForwardFast) { | 1291 | if (p-> mShowIconForwardFast) { |
1271 | action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this ); | 1292 | action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this ); |
1272 | connect( action, SIGNAL( activated() ), | 1293 | connect( action, SIGNAL( activated() ), |
1273 | mView, SLOT( goNextMonth() ) ); | 1294 | mView, SLOT( goNextMonth() ) ); |
1274 | action->addTo( navigatorToolBar ); | 1295 | action->addTo( navigatorToolBar ); |
1275 | } | 1296 | } |
1276 | 1297 | ||
1277 | 1298 | ||
1278 | configureToolBarMenu->insertItem(i18n("What's This?"), 300, 6); | 1299 | configureToolBarMenu->insertItem(i18n("What's This?"), 300, 6); |
1279 | 1300 | ||
1280 | 1301 | ||
1281 | if ( p->mShowIconNavigator ) configureToolBarMenu->setItemChecked( 22 , true); | 1302 | if ( p->mShowIconNavigator ) configureToolBarMenu->setItemChecked( 22 , true); |
1282 | if ( p->mShowIconAllday ) configureToolBarMenu->setItemChecked( 24 , true); | 1303 | if ( p->mShowIconAllday ) configureToolBarMenu->setItemChecked( 24 , true); |
1283 | if ( p->mShowIconFilterview ) configureToolBarMenu->setItemChecked( 26 , true); | 1304 | if ( p->mShowIconFilterview ) configureToolBarMenu->setItemChecked( 26 , true); |
1284 | if ( p->mShowIconToggleFull ) configureToolBarMenu->setItemChecked( 28 , true); | 1305 | if ( p->mShowIconToggleFull ) configureToolBarMenu->setItemChecked( 28 , true); |
1285 | 1306 | ||
1286 | if (p-> mShowIconNewEvent) | 1307 | if (p-> mShowIconNewEvent) |
1287 | configureToolBarMenu->setItemChecked( 10, true ); | 1308 | configureToolBarMenu->setItemChecked( 10, true ); |
1288 | if (p->mShowIconNewTodo ) | 1309 | if (p->mShowIconNewTodo ) |
1289 | configureToolBarMenu->setItemChecked( 20, true ); | 1310 | configureToolBarMenu->setItemChecked( 20, true ); |
1290 | if (p-> mShowIconSearch) | 1311 | if (p-> mShowIconSearch) |
1291 | configureToolBarMenu->setItemChecked( 120, true ); | 1312 | configureToolBarMenu->setItemChecked( 120, true ); |
1292 | if (p-> mShowIconList) | 1313 | if (p-> mShowIconList) |
1293 | configureToolBarMenu->setItemChecked( 30, true ); | 1314 | configureToolBarMenu->setItemChecked( 30, true ); |
1294 | if (p-> mShowIconDay1) | 1315 | if (p-> mShowIconDay1) |
1295 | configureToolBarMenu->setItemChecked( 40, true ); | 1316 | configureToolBarMenu->setItemChecked( 40, true ); |
1296 | if (p-> mShowIconDay5) | 1317 | if (p-> mShowIconDay5) |
1297 | configureToolBarMenu->setItemChecked( 50, true ); | 1318 | configureToolBarMenu->setItemChecked( 50, true ); |
1298 | if (p-> mShowIconDay6) | 1319 | if (p-> mShowIconDay6) |
1299 | configureToolBarMenu->setItemChecked( 75, true ); | 1320 | configureToolBarMenu->setItemChecked( 75, true ); |
1300 | if (p-> mShowIconDay7) | 1321 | if (p-> mShowIconDay7) |
1301 | configureToolBarMenu->setItemChecked( 60, true ); | 1322 | configureToolBarMenu->setItemChecked( 60, true ); |
1302 | if (p-> mShowIconMonth) | 1323 | if (p-> mShowIconMonth) |
1303 | configureToolBarMenu->setItemChecked( 70, true ); | 1324 | configureToolBarMenu->setItemChecked( 70, true ); |
1304 | if (p-> mShowIconTodoview) | 1325 | if (p-> mShowIconTodoview) |
1305 | configureToolBarMenu->setItemChecked( 80, true ); | 1326 | configureToolBarMenu->setItemChecked( 80, true ); |
1306 | if (p-> mShowIconBackFast) | 1327 | if (p-> mShowIconBackFast) |
1307 | configureToolBarMenu->setItemChecked( 200, true ); | 1328 | configureToolBarMenu->setItemChecked( 200, true ); |
1308 | if (p-> mShowIconBack) | 1329 | if (p-> mShowIconBack) |
1309 | configureToolBarMenu->setItemChecked( 210, true ); | 1330 | configureToolBarMenu->setItemChecked( 210, true ); |
1310 | if (p-> mShowIconToday) | 1331 | if (p-> mShowIconToday) |
1311 | configureToolBarMenu->setItemChecked( 130, true ); | 1332 | configureToolBarMenu->setItemChecked( 130, true ); |
1312 | if (p-> mShowIconForward) | 1333 | if (p-> mShowIconForward) |
1313 | configureToolBarMenu->setItemChecked( 220, true ); | 1334 | configureToolBarMenu->setItemChecked( 220, true ); |
1314 | if (p-> mShowIconForwardFast) | 1335 | if (p-> mShowIconForwardFast) |
1315 | configureToolBarMenu->setItemChecked( 230, true ); | 1336 | configureToolBarMenu->setItemChecked( 230, true ); |
1316 | if (p-> mShowIconNextDays) | 1337 | if (p-> mShowIconNextDays) |
1317 | configureToolBarMenu->setItemChecked( 100, true ); | 1338 | configureToolBarMenu->setItemChecked( 100, true ); |
1318 | if (p-> mShowIconNext) | 1339 | if (p-> mShowIconNext) |
1319 | configureToolBarMenu->setItemChecked( 110, true ); | 1340 | configureToolBarMenu->setItemChecked( 110, true ); |
1320 | if (p-> mShowIconJournal) | 1341 | if (p-> mShowIconJournal) |
1321 | configureToolBarMenu->setItemChecked( 90, true ); | 1342 | configureToolBarMenu->setItemChecked( 90, true ); |
1322 | if (p-> mShowIconWhatsThis) | 1343 | if (p-> mShowIconWhatsThis) |
1323 | configureToolBarMenu->setItemChecked( 300, true ); | 1344 | configureToolBarMenu->setItemChecked( 300, true ); |
@@ -1525,392 +1546,397 @@ void MainWindow::about() | |||
1525 | #endif | 1546 | #endif |
1526 | i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") ); | 1547 | i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") ); |
1527 | } | 1548 | } |
1528 | void MainWindow::keyBindings() | 1549 | void MainWindow::keyBindings() |
1529 | { | 1550 | { |
1530 | QString cap = i18n("KO/Pi Keys + Colors"); | 1551 | QString cap = i18n("KO/Pi Keys + Colors"); |
1531 | QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + | 1552 | QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + |
1532 | i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ | 1553 | i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ |
1533 | i18n("<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n") + | 1554 | i18n("<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n") + |
1534 | i18n("<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n") + | 1555 | i18n("<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n") + |
1535 | i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + | 1556 | i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + |
1536 | i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ | 1557 | i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ |
1537 | i18n("<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n")+ | 1558 | i18n("<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n")+ |
1538 | i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ | 1559 | i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ |
1539 | i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ | 1560 | i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ |
1540 | i18n("<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ")+ | 1561 | i18n("<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ")+ |
1541 | i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ | 1562 | i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ |
1542 | i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ | 1563 | i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ |
1543 | i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ | 1564 | i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ |
1544 | i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+ | 1565 | i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+ |
1545 | i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ | 1566 | i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ |
1546 | i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ | 1567 | i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ |
1547 | i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n")+ | 1568 | i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n")+ |
1548 | i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ | 1569 | i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ |
1549 | i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ | 1570 | i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ |
1550 | i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ | 1571 | i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ |
1551 | i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ | 1572 | i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ |
1552 | i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ | 1573 | i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ |
1553 | i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ | 1574 | i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ |
1554 | i18n("<p><h3>In agenda view:</h3></p>\n") + | 1575 | i18n("<p><h3>In agenda view:</h3></p>\n") + |
1555 | i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ | 1576 | i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ |
1556 | i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ | 1577 | i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ |
1557 | i18n("<p><h3>In todo view:</h3></p>\n") + | 1578 | i18n("<p><h3>In todo view:</h3></p>\n") + |
1558 | i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ | 1579 | i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ |
1559 | i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ | 1580 | i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ |
1560 | i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ | 1581 | i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ |
1561 | i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ | 1582 | i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ |
1562 | i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ | 1583 | i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ |
1563 | i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ | 1584 | i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ |
1564 | i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ | 1585 | i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ |
1565 | i18n("<p><h3>In list view:</h3></p>\n") + | 1586 | i18n("<p><h3>In list view:</h3></p>\n") + |
1566 | i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ | 1587 | i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ |
1567 | i18n("<p><b>return</b>: Select item+one step down</p>\n")+ | 1588 | i18n("<p><b>return</b>: Select item+one step down</p>\n")+ |
1568 | i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ | 1589 | i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ |
1569 | i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ | 1590 | i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ |
1570 | i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ | 1591 | i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ |
1571 | i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ | 1592 | i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ |
1572 | i18n("<p><h3>In event/todo viewer:</h3></p>\n") + | 1593 | i18n("<p><h3>In event/todo viewer:</h3></p>\n") + |
1573 | i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ | 1594 | i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ |
1574 | i18n("<p><b>A</b>: Show agenda view.</p>\n")+ | 1595 | i18n("<p><b>A</b>: Show agenda view.</p>\n")+ |
1575 | i18n("<p><b>E</b>: Edit item</p>\n") + | 1596 | i18n("<p><b>E</b>: Edit item</p>\n") + |
1576 | i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + | 1597 | i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + |
1577 | i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + | 1598 | i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + |
1578 | i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ | 1599 | i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ |
1579 | i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ | 1600 | i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ |
1580 | i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ | 1601 | i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ |
1581 | i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ | 1602 | i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ |
1582 | i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ | 1603 | i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ |
1583 | i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + | 1604 | i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + |
1584 | i18n("<p><b>White</b>: Item readonly</p>\n"); | 1605 | i18n("<p><b>White</b>: Item readonly</p>\n"); |
1585 | displayText( text, cap); | 1606 | displayText( text, cap); |
1586 | } | 1607 | } |
1587 | void MainWindow::aboutAutoSaving() | 1608 | void MainWindow::aboutAutoSaving() |
1588 | { | 1609 | { |
1589 | QString text = i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n"); | 1610 | QString text = i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n"); |
1590 | 1611 | ||
1591 | KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); | 1612 | KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); |
1592 | 1613 | ||
1593 | } | 1614 | } |
1594 | void MainWindow::aboutKnownBugs() | 1615 | void MainWindow::aboutKnownBugs() |
1595 | { | 1616 | { |
1596 | QMessageBox* msg; | 1617 | QMessageBox* msg; |
1597 | msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), | 1618 | msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), |
1598 | i18n("1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n")+ | 1619 | i18n("1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n")+ |
1599 | i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ | 1620 | i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ |
1600 | i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") + | 1621 | i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") + |
1601 | i18n("\nor report them in the bugtracker on\n") + | 1622 | i18n("\nor report them in the bugtracker on\n") + |
1602 | i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), | 1623 | i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), |
1603 | QMessageBox::NoIcon, | 1624 | QMessageBox::NoIcon, |
1604 | QMessageBox::Ok, | 1625 | QMessageBox::Ok, |
1605 | QMessageBox::NoButton, | 1626 | QMessageBox::NoButton, |
1606 | QMessageBox::NoButton); | 1627 | QMessageBox::NoButton); |
1607 | msg->exec(); | 1628 | msg->exec(); |
1608 | delete msg; | 1629 | delete msg; |
1609 | 1630 | ||
1610 | } | 1631 | } |
1611 | 1632 | ||
1612 | QString MainWindow::defaultFileName() | 1633 | QString MainWindow::defaultFileName() |
1613 | { | 1634 | { |
1614 | return locateLocal( "data", "korganizer/mycalendar.ics" ); | 1635 | return locateLocal( "data", "korganizer/mycalendar.ics" ); |
1615 | } | 1636 | } |
1616 | QString MainWindow::syncFileName() | 1637 | QString MainWindow::syncFileName() |
1617 | { | 1638 | { |
1618 | #ifdef DESKTOP_VERSION | 1639 | #ifdef DESKTOP_VERSION |
1619 | return locateLocal( "tmp", "synccalendar.ics" ); | 1640 | return locateLocal( "tmp", "synccalendar.ics" ); |
1620 | #else | 1641 | #else |
1621 | return QString( "/tmp/synccalendar.ics" ); | 1642 | return QString( "/tmp/synccalendar.ics" ); |
1622 | #endif | 1643 | #endif |
1623 | } | 1644 | } |
1624 | #include "koglobals.h" | 1645 | #include "koglobals.h" |
1625 | #include <kcalendarsystem.h> | 1646 | #include <kcalendarsystem.h> |
1626 | void MainWindow::updateWeek(QDate seda) | 1647 | void MainWindow::updateWeek(QDate seda) |
1627 | { | 1648 | { |
1628 | int weekNum = KGlobal::locale()->weekNum ( seda ); | 1649 | int weekNum = KGlobal::locale()->weekNum ( seda ); |
1629 | mWeekPixmap.fill( mWeekBgColor ); | 1650 | mWeekPixmap.fill( mWeekBgColor ); |
1630 | QPainter p ( &mWeekPixmap ); | 1651 | QPainter p ( &mWeekPixmap ); |
1631 | p.setFont( mWeekFont ); | 1652 | p.setFont( mWeekFont ); |
1632 | p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); | 1653 | p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); |
1633 | p.end(); | 1654 | p.end(); |
1634 | QIconSet icon3 ( mWeekPixmap ); | 1655 | QIconSet icon3 ( mWeekPixmap ); |
1635 | mWeekAction->setIconSet ( icon3 ); | 1656 | mWeekAction->setIconSet ( icon3 ); |
1636 | 1657 | ||
1637 | } | 1658 | } |
1638 | void MainWindow::updateWeekNum(const DateList &selectedDates) | 1659 | void MainWindow::updateWeekNum(const DateList &selectedDates) |
1639 | { | 1660 | { |
1640 | updateWeek( selectedDates.first() ); | 1661 | updateWeek( selectedDates.first() ); |
1641 | } | 1662 | } |
1642 | void MainWindow::processIncidenceSelection( Incidence *incidence ) | 1663 | void MainWindow::processIncidenceSelection( Incidence *incidence ) |
1643 | { | 1664 | { |
1644 | 1665 | ||
1645 | if ( !incidence ) { | 1666 | if ( !incidence ) { |
1646 | enableIncidenceActions( false ); | 1667 | enableIncidenceActions( false ); |
1647 | 1668 | ||
1648 | mNewSubTodoAction->setEnabled( false ); | 1669 | mNewSubTodoAction->setEnabled( false ); |
1649 | setCaptionToDates(); | 1670 | setCaptionToDates(); |
1650 | return; | 1671 | return; |
1651 | 1672 | ||
1652 | } | 1673 | } |
1653 | 1674 | ||
1654 | //KGlobal::locale()->formatDateTime(nextA, true); | 1675 | //KGlobal::locale()->formatDateTime(nextA, true); |
1655 | QString startString = ""; | 1676 | QString startString = ""; |
1656 | if ( incidence->typeID() != todoID ) { | 1677 | if ( incidence->typeID() != todoID ) { |
1657 | if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { | 1678 | if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { |
1658 | if ( incidence->doesFloat() ) { | 1679 | if ( incidence->doesFloat() ) { |
1659 | startString += ": "+incidence->dtStartDateStr( true ); | 1680 | startString += ": "+incidence->dtStartDateStr( true ); |
1660 | startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); | 1681 | startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); |
1661 | 1682 | ||
1662 | } else { | 1683 | } else { |
1663 | startString = ": "+incidence->dtStartStr(true); | 1684 | startString = ": "+incidence->dtStartStr(true); |
1664 | startString += " --- "+((Event*)incidence)->dtEndStr(true); | 1685 | startString += " --- "+((Event*)incidence)->dtEndStr(true); |
1665 | 1686 | ||
1666 | } | 1687 | } |
1667 | 1688 | ||
1668 | } else { | 1689 | } else { |
1669 | if ( incidence->dtStart().time() != incidence->dtEnd().time() ) | 1690 | if ( incidence->dtStart().time() != incidence->dtEnd().time() ) |
1670 | startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ | 1691 | startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ |
1671 | "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); | 1692 | "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); |
1672 | 1693 | ||
1673 | if ( incidence->isBirthday() || incidence->isAnniversary() ) { | 1694 | if ( incidence->isBirthday() || incidence->isAnniversary() ) { |
1674 | bool ok; | 1695 | bool ok; |
1675 | QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); | 1696 | QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); |
1676 | if ( ok ) { | 1697 | if ( ok ) { |
1677 | int years = noc.date().year() - incidence->dtStart().date().year(); | 1698 | int years = noc.date().year() - incidence->dtStart().date().year(); |
1678 | startString += i18n(" (%1 y.)"). arg( years ); | 1699 | startString += i18n(" (%1 y.)"). arg( years ); |
1679 | } | 1700 | } |
1680 | } | 1701 | } |
1681 | else | 1702 | else |
1682 | startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); | 1703 | startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); |
1683 | } | 1704 | } |
1684 | 1705 | ||
1685 | } | 1706 | } |
1686 | else | 1707 | else |
1687 | startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); | 1708 | startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); |
1688 | if ( !incidence->location().isEmpty() ) | 1709 | if ( !incidence->location().isEmpty() ) |
1689 | startString += " (" +incidence->location()+")"; | 1710 | startString += " (" +incidence->location()+")"; |
1690 | setCaption( incidence->summary()+startString); | 1711 | setCaption( incidence->summary()+startString); |
1691 | 1712 | ||
1692 | enableIncidenceActions( true ); | 1713 | enableIncidenceActions( true ); |
1693 | 1714 | ||
1694 | if ( incidence->typeID() == eventID ) { | 1715 | if ( incidence->typeID() == eventID ) { |
1695 | mShowAction->setText( i18n("Show Event...") ); | 1716 | mShowAction->setText( i18n("Show Event...") ); |
1696 | mEditAction->setText( i18n("Edit Event...") ); | 1717 | mEditAction->setText( i18n("Edit Event...") ); |
1697 | mDeleteAction->setText( i18n("Delete Event...") ); | 1718 | mDeleteAction->setText( i18n("Delete Event...") ); |
1698 | 1719 | ||
1699 | mNewSubTodoAction->setEnabled( false ); | 1720 | mNewSubTodoAction->setEnabled( false ); |
1700 | } else if ( incidence->typeID() == todoID ) { | 1721 | } else if ( incidence->typeID() == todoID ) { |
1701 | mShowAction->setText( i18n("Show Todo...") ); | 1722 | mShowAction->setText( i18n("Show Todo...") ); |
1702 | mEditAction->setText( i18n("Edit Todo...") ); | 1723 | mEditAction->setText( i18n("Edit Todo...") ); |
1703 | mDeleteAction->setText( i18n("Delete Todo...") ); | 1724 | mDeleteAction->setText( i18n("Delete Todo...") ); |
1704 | 1725 | ||
1705 | mNewSubTodoAction->setEnabled( true ); | 1726 | mNewSubTodoAction->setEnabled( true ); |
1706 | } else { | 1727 | } else { |
1707 | mShowAction->setText( i18n("Show...") ); | 1728 | mShowAction->setText( i18n("Show...") ); |
1708 | mShowAction->setText( i18n("Edit...") ); | 1729 | mShowAction->setText( i18n("Edit...") ); |
1709 | mShowAction->setText( i18n("Delete...") ); | 1730 | mShowAction->setText( i18n("Delete...") ); |
1710 | 1731 | ||
1711 | mNewSubTodoAction->setEnabled( false ); | 1732 | mNewSubTodoAction->setEnabled( false ); |
1712 | } | 1733 | } |
1713 | } | 1734 | } |
1714 | 1735 | ||
1715 | void MainWindow::enableIncidenceActions( bool enabled ) | 1736 | void MainWindow::enableIncidenceActions( bool enabled ) |
1716 | { | 1737 | { |
1738 | |||
1739 | #ifndef DESKTOP_VERSION | ||
1740 | mCurrentItemMenu->setEnabled( enabled ); | ||
1741 | #else | ||
1717 | mShowAction->setEnabled( enabled ); | 1742 | mShowAction->setEnabled( enabled ); |
1718 | mEditAction->setEnabled( enabled ); | 1743 | mEditAction->setEnabled( enabled ); |
1719 | mDeleteAction->setEnabled( enabled ); | 1744 | mDeleteAction->setEnabled( enabled ); |
1720 | 1745 | ||
1721 | mCloneAction->setEnabled( enabled ); | 1746 | mCloneAction->setEnabled( enabled ); |
1722 | mMoveAction->setEnabled( enabled ); | 1747 | mMoveAction->setEnabled( enabled ); |
1723 | mBeamAction->setEnabled( enabled ); | 1748 | mBeamAction->setEnabled( enabled ); |
1724 | mCancelAction->setEnabled( enabled ); | 1749 | mCancelAction->setEnabled( enabled ); |
1750 | #endif | ||
1725 | } | 1751 | } |
1726 | 1752 | ||
1727 | void MainWindow::importOL() | 1753 | void MainWindow::importOL() |
1728 | { | 1754 | { |
1729 | #ifdef _OL_IMPORT_ | 1755 | #ifdef _OL_IMPORT_ |
1730 | mView->clearAllViews(); | 1756 | mView->clearAllViews(); |
1731 | KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); | 1757 | KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); |
1732 | id->exec(); | 1758 | id->exec(); |
1733 | delete id; | 1759 | delete id; |
1734 | mView->calendar()->checkAlarmForIncidence( 0, true ); | 1760 | mView->calendar()->checkAlarmForIncidence( 0, true ); |
1735 | mView->updateView(); | 1761 | mView->updateView(); |
1736 | #endif | 1762 | #endif |
1737 | } | 1763 | } |
1738 | void MainWindow::importBday() | 1764 | void MainWindow::importBday() |
1739 | { | 1765 | { |
1740 | int result = QMessageBox::warning( this, i18n("KO/Pi import information!"), | 1766 | int result = QMessageBox::warning( this, i18n("KO/Pi import information!"), |
1741 | i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), | 1767 | i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), |
1742 | i18n("Import!"), i18n("Cancel"), 0, | 1768 | i18n("Import!"), i18n("Cancel"), 0, |
1743 | 0, 1 ); | 1769 | 0, 1 ); |
1744 | if ( result == 0 ) { | 1770 | if ( result == 0 ) { |
1745 | mView->importBday(); | 1771 | mView->importBday(); |
1746 | 1772 | ||
1747 | } | 1773 | } |
1748 | 1774 | ||
1749 | 1775 | ||
1750 | } | 1776 | } |
1751 | void MainWindow::importQtopia() | 1777 | void MainWindow::importQtopia() |
1752 | { | 1778 | { |
1753 | //#ifndef DESKTOP_VERSION | 1779 | //#ifndef DESKTOP_VERSION |
1754 | QString mess = i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"); | 1780 | QString mess = i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"); |
1755 | #ifdef DESKTOP_VERSION | 1781 | #ifdef DESKTOP_VERSION |
1756 | mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml"); | 1782 | mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml"); |
1757 | #endif | 1783 | #endif |
1758 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess, | 1784 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess, |
1759 | i18n("Import!"), i18n("Cancel"), 0, | 1785 | i18n("Import!"), i18n("Cancel"), 0, |
1760 | 0, 1 ); | 1786 | 0, 1 ); |
1761 | if ( result == 0 ) { | 1787 | if ( result == 0 ) { |
1762 | #ifndef DESKTOP_VERSION | 1788 | #ifndef DESKTOP_VERSION |
1763 | QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); | 1789 | QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); |
1764 | QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); | 1790 | QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); |
1765 | QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; | 1791 | QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; |
1766 | #else | 1792 | #else |
1767 | QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml"; | 1793 | QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml"; |
1768 | QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml"; | 1794 | QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml"; |
1769 | QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml"; | 1795 | QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml"; |
1770 | #endif | 1796 | #endif |
1771 | mView->importQtopia( categories, datebook, todolist ); | 1797 | mView->importQtopia( categories, datebook, todolist ); |
1772 | } | 1798 | } |
1773 | mView->calendar()->reInitAlarmSettings(); | 1799 | mView->calendar()->reInitAlarmSettings(); |
1774 | #if 0 | 1800 | #if 0 |
1775 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), | 1801 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), |
1776 | i18n("Not supported \non desktop!\n"), | 1802 | i18n("Not supported \non desktop!\n"), |
1777 | i18n("Ok"), i18n("Cancel"), 0, | 1803 | i18n("Ok"), i18n("Cancel"), 0, |
1778 | 0, 1 ); | 1804 | 0, 1 ); |
1779 | 1805 | ||
1780 | #endif | 1806 | #endif |
1781 | } | 1807 | } |
1782 | 1808 | ||
1783 | void MainWindow::saveOnClose() | 1809 | void MainWindow::saveOnClose() |
1784 | { | 1810 | { |
1785 | KOPrefs *p = KOPrefs::instance(); | 1811 | KOPrefs *p = KOPrefs::instance(); |
1786 | p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); | 1812 | p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); |
1787 | p->mToolBarHorV = ( viewToolBar->orientation () == Qt:: Horizontal ); | 1813 | p->mToolBarHorV = ( viewToolBar->orientation () == Qt:: Horizontal ); |
1788 | p->mToolBarHorN = ( navigatorToolBar->orientation () == Qt:: Horizontal ); | 1814 | p->mToolBarHorN = ( navigatorToolBar->orientation () == Qt:: Horizontal ); |
1789 | if ( filterToolBar ) { | 1815 | if ( filterToolBar ) { |
1790 | p->mToolBarHorF = ( filterToolBar->orientation () == Qt:: Horizontal ); | 1816 | p->mToolBarHorF = ( filterToolBar->orientation () == Qt:: Horizontal ); |
1791 | } | 1817 | } |
1792 | #ifdef DESKTOP_VERSION | 1818 | #ifdef DESKTOP_VERSION |
1793 | 1819 | ||
1794 | QPoint myP; | 1820 | QPoint myP; |
1795 | myP = mapFromGlobal( iconToolBar->mapToGlobal( QPoint( 0,0) ) ); | 1821 | myP = mapFromGlobal( iconToolBar->mapToGlobal( QPoint( 0,0) ) ); |
1796 | if ( p->mToolBarHor ) | 1822 | if ( p->mToolBarHor ) |
1797 | p->mToolBarUp = myP.y() > height()/2; | 1823 | p->mToolBarUp = myP.y() > height()/2; |
1798 | else | 1824 | else |
1799 | p->mToolBarUp = myP.x() > width()/2; | 1825 | p->mToolBarUp = myP.x() > width()/2; |
1800 | myP = mapFromGlobal( viewToolBar->mapToGlobal( QPoint( 0,0) ) ); | 1826 | myP = mapFromGlobal( viewToolBar->mapToGlobal( QPoint( 0,0) ) ); |
1801 | if ( p->mToolBarHorV ) | 1827 | if ( p->mToolBarHorV ) |
1802 | p->mToolBarUpV = myP.y() > height()/2; | 1828 | p->mToolBarUpV = myP.y() > height()/2; |
1803 | else | 1829 | else |
1804 | p->mToolBarUpV = myP.x() > width()/2 ; | 1830 | p->mToolBarUpV = myP.x() > width()/2 ; |
1805 | myP = mapFromGlobal( navigatorToolBar->mapToGlobal( QPoint( 0,0) ) ); | 1831 | myP = mapFromGlobal( navigatorToolBar->mapToGlobal( QPoint( 0,0) ) ); |
1806 | if ( p->mToolBarHorN ) | 1832 | if ( p->mToolBarHorN ) |
1807 | p->mToolBarUpN = myP.y() > height()/2; | 1833 | p->mToolBarUpN = myP.y() > height()/2; |
1808 | else | 1834 | else |
1809 | p->mToolBarUpN = myP.x() > width()/2 ; | 1835 | p->mToolBarUpN = myP.x() > width()/2 ; |
1810 | if ( filterToolBar ) { | 1836 | if ( filterToolBar ) { |
1811 | myP = mapFromGlobal( filterToolBar->mapToGlobal( QPoint( 0,0) ) ); | 1837 | myP = mapFromGlobal( filterToolBar->mapToGlobal( QPoint( 0,0) ) ); |
1812 | if ( p->mToolBarHorF ) | 1838 | if ( p->mToolBarHorF ) |
1813 | p->mToolBarUpF = myP.y() > height()/2; | 1839 | p->mToolBarUpF = myP.y() > height()/2; |
1814 | else | 1840 | else |
1815 | p->mToolBarUpF = myP.x() > width()/2 ; | 1841 | p->mToolBarUpF = myP.x() > width()/2 ; |
1816 | } | 1842 | } |
1817 | #else | 1843 | #else |
1818 | if ( p->mToolBarHor ) | 1844 | if ( p->mToolBarHor ) |
1819 | p->mToolBarUp = iconToolBar->y() > height()/2; | 1845 | p->mToolBarUp = iconToolBar->y() > height()/2; |
1820 | else | 1846 | else |
1821 | p->mToolBarUp = iconToolBar->x() > width()/2; | 1847 | p->mToolBarUp = iconToolBar->x() > width()/2; |
1822 | if ( p->mToolBarHorV ) | 1848 | if ( p->mToolBarHorV ) |
1823 | p->mToolBarUpV = viewToolBar->y() > height()/2; | 1849 | p->mToolBarUpV = viewToolBar->y() > height()/2; |
1824 | else | 1850 | else |
1825 | p->mToolBarUpV = viewToolBar->x() > width()/2 ; | 1851 | p->mToolBarUpV = viewToolBar->x() > width()/2 ; |
1826 | 1852 | ||
1827 | if ( p->mToolBarHorN ) | 1853 | if ( p->mToolBarHorN ) |
1828 | p->mToolBarUpN = navigatorToolBar->y() > height()/2; | 1854 | p->mToolBarUpN = navigatorToolBar->y() > height()/2; |
1829 | else | 1855 | else |
1830 | p->mToolBarUpN = navigatorToolBar->x() > width()/2 ; | 1856 | p->mToolBarUpN = navigatorToolBar->x() > width()/2 ; |
1831 | if ( filterToolBar ) { | 1857 | if ( filterToolBar ) { |
1832 | if ( p->mToolBarHorF ) | 1858 | if ( p->mToolBarHorF ) |
1833 | p->mToolBarUpF = filterToolBar->y() > height()/2; | 1859 | p->mToolBarUpF = filterToolBar->y() > height()/2; |
1834 | else | 1860 | else |
1835 | p->mToolBarUpF = filterToolBar->x() > width()/2 ; | 1861 | p->mToolBarUpF = filterToolBar->x() > width()/2 ; |
1836 | } | 1862 | } |
1837 | #endif | 1863 | #endif |
1838 | 1864 | ||
1839 | save(); | 1865 | save(); |
1840 | mView->writeSettings(); | 1866 | mView->writeSettings(); |
1841 | } | 1867 | } |
1842 | void MainWindow::slotModifiedChanged( bool changed ) | 1868 | void MainWindow::slotModifiedChanged( bool changed ) |
1843 | { | 1869 | { |
1844 | if ( mBlockAtStartup ) | 1870 | if ( mBlockAtStartup ) |
1845 | return; | 1871 | return; |
1846 | 1872 | ||
1847 | int msec; | 1873 | int msec; |
1848 | // we store the changes after 1 minute, | 1874 | // we store the changes after 1 minute, |
1849 | // and for safety reasons after 10 minutes again | 1875 | // and for safety reasons after 10 minutes again |
1850 | if ( !mSyncManager->blockSave() ) | 1876 | if ( !mSyncManager->blockSave() ) |
1851 | msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; | 1877 | msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; |
1852 | else | 1878 | else |
1853 | msec = 1000 * 600; | 1879 | msec = 1000 * 600; |
1854 | mSaveTimer.start( msec, true ); // 1 minute | 1880 | mSaveTimer.start( msec, true ); // 1 minute |
1855 | qDebug("KO: Saving File in %d secs!", msec/1000); | 1881 | qDebug("KO: Saving File in %d secs!", msec/1000); |
1856 | mCalendarModifiedFlag = true; | 1882 | mCalendarModifiedFlag = true; |
1857 | } | 1883 | } |
1858 | void MainWindow::saveStopTimer() | 1884 | void MainWindow::saveStopTimer() |
1859 | { | 1885 | { |
1860 | mSaveTimer.stop(); | 1886 | mSaveTimer.stop(); |
1861 | } | 1887 | } |
1862 | void MainWindow::backupAllFiles() | 1888 | void MainWindow::backupAllFiles() |
1863 | { | 1889 | { |
1864 | QDate reference ( 2000,1,1); | 1890 | QDate reference ( 2000,1,1); |
1865 | int daysTo = reference.daysTo ( QDate::currentDate() ); | 1891 | int daysTo = reference.daysTo ( QDate::currentDate() ); |
1866 | setCaption(i18n("Creating backup ... please wait ..." )); | 1892 | setCaption(i18n("Creating backup ... please wait ..." )); |
1867 | qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate); | 1893 | qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate); |
1868 | // we need the file path, the backup dir and the number of bups as param | 1894 | // we need the file path, the backup dir and the number of bups as param |
1869 | QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; | 1895 | QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; |
1870 | if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) | 1896 | if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) |
1871 | bupDir = KGlobalSettings::backupDataDir(); | 1897 | bupDir = KGlobalSettings::backupDataDir(); |
1872 | int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); | 1898 | int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); |
1873 | if ( retval == 0 ) { | 1899 | if ( retval == 0 ) { |
1874 | setCaption(i18n("Backup cancelled" )); | 1900 | setCaption(i18n("Backup cancelled" )); |
1875 | qDebug("KO: Backup cancelled. Will try again tomorrow "); | 1901 | qDebug("KO: Backup cancelled. Will try again tomorrow "); |
1876 | // retval == 0 : backup skipped for today, try again tomorrow | 1902 | // retval == 0 : backup skipped for today, try again tomorrow |
1877 | KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1; | 1903 | KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1; |
1878 | } else if ( retval == 1 ){ | 1904 | } else if ( retval == 1 ){ |
1879 | qDebug("KO: Backup created."); | 1905 | qDebug("KO: Backup created."); |
1880 | // backup ok | 1906 | // backup ok |
1881 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | 1907 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; |
1882 | KopiCalendarFile * cal = calendars.first(); | 1908 | KopiCalendarFile * cal = calendars.first(); |
1883 | cal = calendars.next(); | 1909 | cal = calendars.next(); |
1884 | while ( cal ) { | 1910 | while ( cal ) { |
1885 | if ( !cal->mErrorOnLoad ) { | 1911 | if ( !cal->mErrorOnLoad ) { |
1886 | int retval = KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); | 1912 | int retval = KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); |
1887 | } | 1913 | } |
1888 | cal = calendars.next(); | 1914 | cal = calendars.next(); |
1889 | } | 1915 | } |
1890 | KOPrefs::instance()->mLastBackupDate = daysTo; | 1916 | KOPrefs::instance()->mLastBackupDate = daysTo; |
1891 | setCaption(i18n("Backup succesfully finished" )); | 1917 | setCaption(i18n("Backup succesfully finished" )); |
1892 | } else if ( retval == 2 ){ | 1918 | } else if ( retval == 2 ){ |
1893 | setCaption(i18n("Backup globally disabled" )); | 1919 | setCaption(i18n("Backup globally disabled" )); |
1894 | qDebug("KO: Backup globally cancelled."); | 1920 | qDebug("KO: Backup globally cancelled."); |
1895 | // backup globally cancelled | 1921 | // backup globally cancelled |
1896 | KPimGlobalPrefs::instance()->mBackupEnabled = false; | 1922 | KPimGlobalPrefs::instance()->mBackupEnabled = false; |
1897 | } | 1923 | } |
1898 | // retval == 3: do nothing, try again later | 1924 | // retval == 3: do nothing, try again later |
1899 | } | 1925 | } |
1900 | void MainWindow::save() | 1926 | void MainWindow::save() |
1901 | { | 1927 | { |
1902 | if ( mView->viewManager()->journalView() ) | 1928 | if ( mView->viewManager()->journalView() ) |
1903 | mView->viewManager()->journalView()->checkModified(); | 1929 | mView->viewManager()->journalView()->checkModified(); |
1904 | if ( !mCalendarModifiedFlag ) { | 1930 | if ( !mCalendarModifiedFlag ) { |
1905 | qDebug("KO: Calendar not modified. Nothing saved."); | 1931 | qDebug("KO: Calendar not modified. Nothing saved."); |
1906 | return; | 1932 | return; |
1907 | } | 1933 | } |
1908 | if ( mSyncManager->blockSave() ) | 1934 | if ( mSyncManager->blockSave() ) |
1909 | return; | 1935 | return; |
1910 | mSyncManager->setBlockSave(true); | 1936 | mSyncManager->setBlockSave(true); |
1911 | if ( mView->checkAllFileVersions() ) { | 1937 | if ( mView->checkAllFileVersions() ) { |
1912 | if ( KPimGlobalPrefs::instance()->mBackupEnabled ){ | 1938 | if ( KPimGlobalPrefs::instance()->mBackupEnabled ){ |
1913 | QDate reference ( 2000,1,1); | 1939 | QDate reference ( 2000,1,1); |
1914 | int daysTo = reference.daysTo ( QDate::currentDate() ); | 1940 | int daysTo = reference.daysTo ( QDate::currentDate() ); |
1915 | if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) { | 1941 | if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) { |
1916 | backupAllFiles(); | 1942 | backupAllFiles(); |
@@ -2085,384 +2111,385 @@ void MainWindow::keyPressEvent ( QKeyEvent * e ) | |||
2085 | mView->viewManager()->showJournalView(); | 2111 | mView->viewManager()->showJournalView(); |
2086 | break; | 2112 | break; |
2087 | case Qt::Key_B: | 2113 | case Qt::Key_B: |
2088 | mView->editIncidenceDescription();; | 2114 | mView->editIncidenceDescription();; |
2089 | break; | 2115 | break; |
2090 | // case Qt::Key_Return: | 2116 | // case Qt::Key_Return: |
2091 | case Qt::Key_E: | 2117 | case Qt::Key_E: |
2092 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) | 2118 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) |
2093 | mView->newEvent(); | 2119 | mView->newEvent(); |
2094 | else | 2120 | else |
2095 | mView->editIncidence(); | 2121 | mView->editIncidence(); |
2096 | break; | 2122 | break; |
2097 | case Qt::Key_Plus: | 2123 | case Qt::Key_Plus: |
2098 | size = p->mHourSize +2; | 2124 | size = p->mHourSize +2; |
2099 | if ( size <= 22 ) | 2125 | if ( size <= 22 ) |
2100 | configureAgenda( size ); | 2126 | configureAgenda( size ); |
2101 | break; | 2127 | break; |
2102 | case Qt::Key_Minus: | 2128 | case Qt::Key_Minus: |
2103 | size = p->mHourSize - 2; | 2129 | size = p->mHourSize - 2; |
2104 | if ( size >= 4 ) | 2130 | if ( size >= 4 ) |
2105 | configureAgenda( size ); | 2131 | configureAgenda( size ); |
2106 | break; | 2132 | break; |
2107 | 2133 | ||
2108 | 2134 | ||
2109 | default: | 2135 | default: |
2110 | e->ignore(); | 2136 | e->ignore(); |
2111 | } | 2137 | } |
2112 | if ( pro > 0 ) { | 2138 | if ( pro > 0 ) { |
2113 | selectFilter( pro+1 ); | 2139 | selectFilter( pro+1 ); |
2114 | } | 2140 | } |
2115 | if ( showSelectedDates ) { | 2141 | if ( showSelectedDates ) { |
2116 | ;// setCaptionToDates(); | 2142 | ;// setCaptionToDates(); |
2117 | } | 2143 | } |
2118 | 2144 | ||
2119 | } | 2145 | } |
2120 | void MainWindow::fillFilterMenuTB() | 2146 | void MainWindow::fillFilterMenuTB() |
2121 | { | 2147 | { |
2122 | selectFilterMenuTB->clear(); | 2148 | selectFilterMenuTB->clear(); |
2123 | selectFilterMenuTB->insertItem(i18n ( "Edit Filters" ), 0 ); | 2149 | selectFilterMenuTB->insertItem(i18n ( "Edit Filters" ), 0 ); |
2124 | selectFilterMenuTB->insertSeparator(); | 2150 | selectFilterMenuTB->insertSeparator(); |
2125 | selectFilterMenuTB->insertItem(i18n ( "No Filter" ), 1 ); | 2151 | selectFilterMenuTB->insertItem(i18n ( "No Filter" ), 1 ); |
2126 | 2152 | ||
2127 | selectFilterMenuTB->insertSeparator(); | 2153 | selectFilterMenuTB->insertSeparator(); |
2128 | QPtrList<CalFilter> fili = mView->filters(); | 2154 | QPtrList<CalFilter> fili = mView->filters(); |
2129 | CalFilter *curfilter = mView->filterView()->selectedFilter(); | 2155 | CalFilter *curfilter = mView->filterView()->selectedFilter(); |
2130 | CalFilter *filter = fili.first(); | 2156 | CalFilter *filter = fili.first(); |
2131 | int iii = 2; | 2157 | int iii = 2; |
2132 | bool checkitem = mView->filterView()->filtersEnabled(); | 2158 | bool checkitem = mView->filterView()->filtersEnabled(); |
2133 | while(filter) { | 2159 | while(filter) { |
2134 | selectFilterMenuTB->insertItem( filter->name(), iii ); | 2160 | selectFilterMenuTB->insertItem( filter->name(), iii ); |
2135 | if ( filter == curfilter) | 2161 | if ( filter == curfilter) |
2136 | selectFilterMenuTB->setItemChecked( iii, checkitem ); | 2162 | selectFilterMenuTB->setItemChecked( iii, checkitem ); |
2137 | filter = fili.next(); | 2163 | filter = fili.next(); |
2138 | ++iii; | 2164 | ++iii; |
2139 | } | 2165 | } |
2140 | if ( !checkitem ) | 2166 | if ( !checkitem ) |
2141 | selectFilterMenuTB->setItemChecked( 1, true ); | 2167 | selectFilterMenuTB->setItemChecked( 1, true ); |
2142 | 2168 | ||
2143 | int x = 0; | 2169 | int x = 0; |
2144 | int y = iconToolBar->height(); | 2170 | int y = iconToolBar->height(); |
2145 | int dX = 0; | 2171 | int dX = 0; |
2146 | int dY = 0; | 2172 | int dY = 0; |
2147 | if ( iconToolBar->orientation () == Qt:: Horizontal ) { | 2173 | if ( iconToolBar->orientation () == Qt:: Horizontal ) { |
2148 | if ( iconToolBar->y() > height()/2 ) { | 2174 | if ( iconToolBar->y() > height()/2 ) { |
2149 | dY = selectFilterMenuTB->sizeHint().height()+8; | 2175 | dY = selectFilterMenuTB->sizeHint().height()+8; |
2150 | y = 0; | 2176 | y = 0; |
2151 | } | 2177 | } |
2152 | } else { | 2178 | } else { |
2153 | if ( iconToolBar->x() > width()/2 ) { // right side | 2179 | if ( iconToolBar->x() > width()/2 ) { // right side |
2154 | x=0; | 2180 | x=0; |
2155 | dX= selectFilterMenuTB->sizeHint().width()+8; | 2181 | dX= selectFilterMenuTB->sizeHint().width()+8; |
2156 | y = 0; | 2182 | y = 0; |
2157 | } else { | 2183 | } else { |
2158 | x= iconToolBar->width(); | 2184 | x= iconToolBar->width(); |
2159 | y = 0; | 2185 | y = 0; |
2160 | } | 2186 | } |
2161 | } | 2187 | } |
2162 | //qDebug("dax %d dy %d %d %d ", dX, dY, iconToolBar->x(), iconToolBar->y() ); | 2188 | //qDebug("dax %d dy %d %d %d ", dX, dY, iconToolBar->x(), iconToolBar->y() ); |
2163 | selectFilterMenuTB->popup(iconToolBar->mapToGlobal(QPoint(x,y)-QPoint( dX,dY))); | 2189 | selectFilterMenuTB->popup(iconToolBar->mapToGlobal(QPoint(x,y)-QPoint( dX,dY))); |
2164 | } | 2190 | } |
2165 | void MainWindow::fillFilterMenu() | 2191 | void MainWindow::fillFilterMenu() |
2166 | { | 2192 | { |
2167 | selectFilterMenu->clear(); | 2193 | selectFilterMenu->clear(); |
2168 | selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 ); | 2194 | selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 ); |
2169 | selectFilterMenu->insertSeparator(); | 2195 | selectFilterMenu->insertSeparator(); |
2170 | selectFilterMenu->insertItem(i18n ( "No Filter" ), 1 ); | 2196 | selectFilterMenu->insertItem(i18n ( "No Filter" ), 1 ); |
2171 | 2197 | ||
2172 | selectFilterMenu->insertSeparator(); | 2198 | selectFilterMenu->insertSeparator(); |
2173 | QPtrList<CalFilter> fili = mView->filters(); | 2199 | QPtrList<CalFilter> fili = mView->filters(); |
2174 | CalFilter *curfilter = mView->filterView()->selectedFilter(); | 2200 | CalFilter *curfilter = mView->filterView()->selectedFilter(); |
2175 | CalFilter *filter = fili.first(); | 2201 | CalFilter *filter = fili.first(); |
2176 | int iii = 2; | 2202 | int iii = 2; |
2177 | bool checkitem = mView->filterView()->filtersEnabled(); | 2203 | bool checkitem = mView->filterView()->filtersEnabled(); |
2178 | while(filter) { | 2204 | while(filter) { |
2179 | selectFilterMenu->insertItem( filter->name(), iii ); | 2205 | selectFilterMenu->insertItem( filter->name(), iii ); |
2180 | if ( filter == curfilter) | 2206 | if ( filter == curfilter) |
2181 | selectFilterMenu->setItemChecked( iii, checkitem ); | 2207 | selectFilterMenu->setItemChecked( iii, checkitem ); |
2182 | filter = fili.next(); | 2208 | filter = fili.next(); |
2183 | ++iii; | 2209 | ++iii; |
2184 | } | 2210 | } |
2185 | if ( !checkitem ) | 2211 | if ( !checkitem ) |
2186 | selectFilterMenu->setItemChecked( 1, true ); | 2212 | selectFilterMenu->setItemChecked( 1, true ); |
2187 | } | 2213 | } |
2188 | void MainWindow::fillFilterMenuPopup() | 2214 | void MainWindow::fillFilterMenuPopup() |
2189 | { | 2215 | { |
2190 | filterPopupMenu->clear(); | 2216 | filterPopupMenu->clear(); |
2191 | filterPopupMenu->insertItem(i18n ( "No Filter" ), 0 ); | 2217 | filterPopupMenu->insertItem(i18n ( "No Filter" ), 0 ); |
2192 | 2218 | ||
2193 | filterPopupMenu->insertSeparator(); | 2219 | filterPopupMenu->insertSeparator(); |
2194 | QPtrList<CalFilter> fili = mView->filters(); | 2220 | QPtrList<CalFilter> fili = mView->filters(); |
2195 | CalFilter *curfilter = mView->filterView()->selectedFilter(); | 2221 | CalFilter *curfilter = mView->filterView()->selectedFilter(); |
2196 | CalFilter *filter = fili.first(); | 2222 | CalFilter *filter = fili.first(); |
2197 | int iii = 1; | 2223 | int iii = 1; |
2198 | bool checkitem = mView->filterView()->filtersEnabled(); | 2224 | bool checkitem = mView->filterView()->filtersEnabled(); |
2199 | while(filter) { | 2225 | while(filter) { |
2200 | filterPopupMenu->insertItem( filter->name(), iii ); | 2226 | filterPopupMenu->insertItem( filter->name(), iii ); |
2201 | if ( filter == curfilter) | 2227 | if ( filter == curfilter) |
2202 | filterPopupMenu->setItemChecked( iii, checkitem ); | 2228 | filterPopupMenu->setItemChecked( iii, checkitem ); |
2203 | filter = fili.next(); | 2229 | filter = fili.next(); |
2204 | ++iii; | 2230 | ++iii; |
2205 | } | 2231 | } |
2206 | if ( !checkitem ) | 2232 | if ( !checkitem ) |
2207 | filterPopupMenu->setItemChecked( 0, true ); | 2233 | filterPopupMenu->setItemChecked( 0, true ); |
2208 | } | 2234 | } |
2209 | void MainWindow::selectFilter( int fil ) | 2235 | void MainWindow::selectFilter( int fil ) |
2210 | { | 2236 | { |
2211 | 2237 | ||
2212 | if ( fil == 0 ) { | 2238 | if ( fil == 0 ) { |
2213 | mView->editFilters( ); | 2239 | mView->editFilters( ); |
2214 | } else if ( fil == 1 ){ | 2240 | } else if ( fil == 1 ){ |
2215 | if ( mView->filterView()->filtersEnabled() ) | 2241 | if ( mView->filterView()->filtersEnabled() ) |
2216 | mView->toggleFilerEnabled( ); | 2242 | mView->toggleFilerEnabled( ); |
2217 | } else { | 2243 | } else { |
2218 | if ( !mView->filterView()->filtersEnabled() ) { | 2244 | if ( !mView->filterView()->filtersEnabled() ) { |
2219 | mView->filterView()->blockSignals( true ); | 2245 | mView->filterView()->blockSignals( true ); |
2220 | mView->toggleFilerEnabled( ); | 2246 | mView->toggleFilerEnabled( ); |
2221 | mView->filterView()->blockSignals( false ); | 2247 | mView->filterView()->blockSignals( false ); |
2222 | } | 2248 | } |
2223 | mView->selectFilter( fil-2 ); | 2249 | mView->selectFilter( fil-2 ); |
2224 | } | 2250 | } |
2225 | } | 2251 | } |
2226 | void MainWindow::updateFilterToolbar() | 2252 | void MainWindow::updateFilterToolbar() |
2227 | { | 2253 | { |
2228 | if ( filterMenubar ) { | 2254 | if ( filterMenubar ) { |
2229 | if ( !mView->filterView()->filtersEnabled() ) { | 2255 | if ( !mView->filterView()->filtersEnabled() ) { |
2230 | filterMenubar->changeItem( 0, i18n("No Filter") ); | 2256 | filterMenubar->changeItem( 0, i18n("No Filter") ); |
2231 | } else { | 2257 | } else { |
2232 | CalFilter *curfilter = mView->filterView()->selectedFilter(); | 2258 | CalFilter *curfilter = mView->filterView()->selectedFilter(); |
2233 | if ( curfilter ) { | 2259 | if ( curfilter ) { |
2234 | filterMenubar->changeItem( 0, curfilter->name() ); | 2260 | filterMenubar->changeItem( 0, curfilter->name() ); |
2235 | } | 2261 | } |
2236 | } | 2262 | } |
2237 | } | 2263 | } |
2238 | } | 2264 | } |
2239 | void MainWindow::selectFilterPopup( int fil ) | 2265 | void MainWindow::selectFilterPopup( int fil ) |
2240 | { | 2266 | { |
2241 | selectFilter( fil + 1 ); | 2267 | selectFilter( fil + 1 ); |
2242 | 2268 | ||
2243 | } | 2269 | } |
2244 | void MainWindow::configureToolBar( int item ) | 2270 | void MainWindow::configureToolBar( int item ) |
2245 | { | 2271 | { |
2246 | 2272 | ||
2247 | configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) ); | 2273 | configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) ); |
2248 | KOPrefs *p = KOPrefs::instance(); | 2274 | KOPrefs *p = KOPrefs::instance(); |
2249 | p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 ); | 2275 | p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 ); |
2250 | p-> mShowIconOnetoolbar = configureToolBarMenu->isItemChecked( 6 ); | 2276 | p-> mShowIconOnetoolbar = configureToolBarMenu->isItemChecked( 6 ); |
2251 | p-> mShowIconFilter = configureToolBarMenu->isItemChecked( 7 ); | 2277 | p-> mShowIconFilter = configureToolBarMenu->isItemChecked( 7 ); |
2252 | p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 ); | 2278 | p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 ); |
2253 | p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 ); | 2279 | p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 ); |
2254 | p->mShowIconNavigator = configureToolBarMenu->isItemChecked( 22 ); | 2280 | p->mShowIconNavigator = configureToolBarMenu->isItemChecked( 22 ); |
2255 | p->mShowIconAllday = configureToolBarMenu->isItemChecked( 24 ); | 2281 | p->mShowIconAllday = configureToolBarMenu->isItemChecked( 24 ); |
2256 | p->mShowIconFilterview = configureToolBarMenu->isItemChecked( 26 ); | 2282 | p->mShowIconFilterview = configureToolBarMenu->isItemChecked( 26 ); |
2257 | p->mShowIconToggleFull = configureToolBarMenu->isItemChecked( 28 ); | 2283 | p->mShowIconToggleFull = configureToolBarMenu->isItemChecked( 28 ); |
2258 | p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 ); | 2284 | p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 ); |
2259 | p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 ); | 2285 | p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 ); |
2260 | p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 ); | 2286 | p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 ); |
2261 | p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 ); | 2287 | p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 ); |
2262 | p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 ); | 2288 | p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 ); |
2263 | p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 ); | 2289 | p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 ); |
2264 | p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 ); | 2290 | p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 ); |
2265 | p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 ); | 2291 | p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 ); |
2266 | p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 ); | 2292 | p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 ); |
2267 | p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 ); | 2293 | p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 ); |
2268 | p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 ); | 2294 | p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 ); |
2269 | p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 ); | 2295 | p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 ); |
2270 | p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 ); | 2296 | p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 ); |
2271 | p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 ); | 2297 | p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 ); |
2272 | p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 ); | 2298 | p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 ); |
2273 | p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 ); | 2299 | p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 ); |
2274 | p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 ); | 2300 | p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 ); |
2275 | p-> mShowIconWeekNum= configureToolBarMenu->isItemChecked( 400 ); | 2301 | p-> mShowIconWeekNum= configureToolBarMenu->isItemChecked( 400 ); |
2276 | // initActions(); | 2302 | // initActions(); |
2303 | setCaption ( i18n("Toolbar changes needs a restart!") ); | ||
2277 | } | 2304 | } |
2278 | void MainWindow::setCaption ( const QString & c ) | 2305 | void MainWindow::setCaption ( const QString & c ) |
2279 | { | 2306 | { |
2280 | QString cap = c; | 2307 | QString cap = c; |
2281 | cap.replace( QRegExp("\n"), " " ); | 2308 | cap.replace( QRegExp("\n"), " " ); |
2282 | cap = cap.stripWhiteSpace(); | 2309 | cap = cap.stripWhiteSpace(); |
2283 | if ( cap.isEmpty() ) | 2310 | if ( cap.isEmpty() ) |
2284 | cap = "KO/Pi"; | 2311 | cap = "KO/Pi"; |
2285 | QWidget::setCaption( cap ); | 2312 | QWidget::setCaption( cap ); |
2286 | } | 2313 | } |
2287 | void MainWindow::setCaptionToDates() | 2314 | void MainWindow::setCaptionToDates() |
2288 | { | 2315 | { |
2289 | QString selDates; | 2316 | QString selDates; |
2290 | QDate date = mView->startDate(); | 2317 | QDate date = mView->startDate(); |
2291 | if ( ! date.isValid() ) { | 2318 | if ( ! date.isValid() ) { |
2292 | setCaption(""); | 2319 | setCaption(""); |
2293 | return; | 2320 | return; |
2294 | } | 2321 | } |
2295 | selDates = KGlobal::locale()->formatDate( date, true); | 2322 | selDates = KGlobal::locale()->formatDate( date, true); |
2296 | if (mView->startDate() < mView->endDate() ) | 2323 | if (mView->startDate() < mView->endDate() ) |
2297 | selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); | 2324 | selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); |
2298 | else { | 2325 | else { |
2299 | QString addString; | 2326 | QString addString; |
2300 | if ( date == QDateTime::currentDateTime().date() ) | 2327 | if ( date == QDateTime::currentDateTime().date() ) |
2301 | addString = i18n("Today"); | 2328 | addString = i18n("Today"); |
2302 | else if ( date == QDateTime::currentDateTime().date().addDays(1) ) | 2329 | else if ( date == QDateTime::currentDateTime().date().addDays(1) ) |
2303 | addString = i18n("Tomorrow"); | 2330 | addString = i18n("Tomorrow"); |
2304 | if ( !addString.isEmpty() ) | 2331 | if ( !addString.isEmpty() ) |
2305 | selDates = addString+", "+selDates ; | 2332 | selDates = addString+", "+selDates ; |
2306 | } | 2333 | } |
2307 | setCaption( i18n("Dates: ") + selDates ); | 2334 | setCaption( i18n("Dates: ") + selDates ); |
2308 | 2335 | ||
2309 | } | 2336 | } |
2310 | void MainWindow::showConfigureAgenda( ) | 2337 | void MainWindow::showConfigureAgenda( ) |
2311 | { | 2338 | { |
2312 | int iii; | 2339 | int iii; |
2313 | for ( iii = 1;iii<= 10 ;++iii ){ | 2340 | for ( iii = 1;iii<= 10 ;++iii ){ |
2314 | configureAgendaMenu->setItemChecked( (iii+1)*2, false ); | 2341 | configureAgendaMenu->setItemChecked( (iii+1)*2, false ); |
2315 | } | 2342 | } |
2316 | configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true ); | 2343 | configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true ); |
2317 | } | 2344 | } |
2318 | void MainWindow::configureAgenda( int item ) | 2345 | void MainWindow::configureAgenda( int item ) |
2319 | { | 2346 | { |
2320 | if ( KOPrefs::instance()->mHourSize == item ) | 2347 | if ( KOPrefs::instance()->mHourSize == item ) |
2321 | return; | 2348 | return; |
2322 | KOPrefs::instance()->mHourSize=item; | 2349 | KOPrefs::instance()->mHourSize=item; |
2323 | mView->viewManager()->agendaView()->updateConfig(); | 2350 | mView->viewManager()->agendaView()->updateConfig(); |
2324 | } | 2351 | } |
2325 | 2352 | ||
2326 | void MainWindow::saveCalendar() | 2353 | void MainWindow::saveCalendar() |
2327 | { | 2354 | { |
2328 | QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; | 2355 | QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; |
2329 | if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) | 2356 | if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) |
2330 | bupDir = KGlobalSettings::backupDataDir(); | 2357 | bupDir = KGlobalSettings::backupDataDir(); |
2331 | bupDir = KGlobal::formatMessage ( bupDir, 0 ); | 2358 | bupDir = KGlobal::formatMessage ( bupDir, 0 ); |
2332 | QString bupHint; | 2359 | QString bupHint; |
2333 | if ( !KPimGlobalPrefs::instance()->mBackupEnabled ) | 2360 | if ( !KPimGlobalPrefs::instance()->mBackupEnabled ) |
2334 | bupHint = i18n("(Hint: You can enable automatic backup in the global settings!)"); | 2361 | bupHint = i18n("(Hint: You can enable automatic backup in the global settings!)"); |
2335 | if ( KMessageBox::warningContinueCancel( this, i18n("This will <b>backup all calendar files</b> to the directory %1 %2").arg(bupDir).arg(bupHint),i18n("Information") ) != KMessageBox::Continue ) return; | 2362 | if ( KMessageBox::warningContinueCancel( this, i18n("This will <b>backup all calendar files</b> to the directory %1 %2").arg(bupDir).arg(bupHint),i18n("Information") ) != KMessageBox::Continue ) return; |
2336 | bool enabled = KPimGlobalPrefs::instance()->mBackupEnabled; | 2363 | bool enabled = KPimGlobalPrefs::instance()->mBackupEnabled; |
2337 | KPimGlobalPrefs::instance()->mBackupEnabled = false; | 2364 | KPimGlobalPrefs::instance()->mBackupEnabled = false; |
2338 | save(); | 2365 | save(); |
2339 | KPimGlobalPrefs::instance()->mBackupEnabled = enabled; | 2366 | KPimGlobalPrefs::instance()->mBackupEnabled = enabled; |
2340 | backupAllFiles(); | 2367 | backupAllFiles(); |
2341 | } | 2368 | } |
2342 | void MainWindow::loadCalendar() | 2369 | void MainWindow::loadCalendar() |
2343 | { | 2370 | { |
2344 | 2371 | ||
2345 | 2372 | ||
2346 | #if 0 | 2373 | #if 0 |
2347 | QString fn = KOPrefs::instance()->mLastLoadFile; | 2374 | QString fn = KOPrefs::instance()->mLastLoadFile; |
2348 | fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this ); | 2375 | fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this ); |
2349 | 2376 | ||
2350 | if ( fn == "" ) | 2377 | if ( fn == "" ) |
2351 | return; | 2378 | return; |
2352 | QFileInfo info; | 2379 | QFileInfo info; |
2353 | info.setFile( fn ); | 2380 | info.setFile( fn ); |
2354 | QString mess; | 2381 | QString mess; |
2355 | bool loadbup = true; | 2382 | bool loadbup = true; |
2356 | if ( info. exists() ) { | 2383 | if ( info. exists() ) { |
2357 | mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); | 2384 | mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); |
2358 | int result = QMessageBox::warning( this, "KO/Pi: Warning!", | 2385 | int result = QMessageBox::warning( this, "KO/Pi: Warning!", |
2359 | mess, | 2386 | mess, |
2360 | i18n("Load!"), i18n("Cancel"), 0, | 2387 | i18n("Load!"), i18n("Cancel"), 0, |
2361 | 0, 1 ); | 2388 | 0, 1 ); |
2362 | if ( result != 0 ) { | 2389 | if ( result != 0 ) { |
2363 | loadbup = false; | 2390 | loadbup = false; |
2364 | } | 2391 | } |
2365 | } else { | 2392 | } else { |
2366 | QMessageBox::warning( this, i18n("KO/Pi: Warning!"), | 2393 | QMessageBox::warning( this, i18n("KO/Pi: Warning!"), |
2367 | i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0, | 2394 | i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0, |
2368 | 0, 1 ); | 2395 | 0, 1 ); |
2369 | 2396 | ||
2370 | return; | 2397 | return; |
2371 | } | 2398 | } |
2372 | if ( loadbup ) { | 2399 | if ( loadbup ) { |
2373 | mView->openCalendar( fn ); | 2400 | mView->openCalendar( fn ); |
2374 | KOPrefs::instance()->mLastLoadFile = fn; | 2401 | KOPrefs::instance()->mLastLoadFile = fn; |
2375 | mess = i18n("KO/Pi:Loaded %1").arg(fn) ; | 2402 | mess = i18n("KO/Pi:Loaded %1").arg(fn) ; |
2376 | setCaption(mess); | 2403 | setCaption(mess); |
2377 | } | 2404 | } |
2378 | #endif | 2405 | #endif |
2379 | 2406 | ||
2380 | } | 2407 | } |
2381 | void MainWindow::quickImportIcal() | 2408 | void MainWindow::quickImportIcal() |
2382 | { | 2409 | { |
2383 | importFile( KOPrefs::instance()->mLastImportFile, false ); | 2410 | importFile( KOPrefs::instance()->mLastImportFile, false ); |
2384 | } | 2411 | } |
2385 | void MainWindow::importFile( QString fn, bool quick ) | 2412 | void MainWindow::importFile( QString fn, bool quick ) |
2386 | { | 2413 | { |
2387 | QFileInfo info; | 2414 | QFileInfo info; |
2388 | info.setFile( fn ); | 2415 | info.setFile( fn ); |
2389 | QString mess; | 2416 | QString mess; |
2390 | bool loadbup = true; | 2417 | bool loadbup = true; |
2391 | if ( !info. exists() ) { | 2418 | if ( !info. exists() ) { |
2392 | mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30)); | 2419 | mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30)); |
2393 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), | 2420 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), |
2394 | mess ); | 2421 | mess ); |
2395 | return; | 2422 | return; |
2396 | } | 2423 | } |
2397 | int result = 0; | 2424 | int result = 0; |
2398 | if ( !quick ) { | 2425 | if ( !quick ) { |
2399 | mess = i18n( "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); | 2426 | mess = i18n( "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); |
2400 | result = QMessageBox::warning( this, "KO/Pi: Warning!", | 2427 | result = QMessageBox::warning( this, "KO/Pi: Warning!", |
2401 | mess, | 2428 | mess, |
2402 | "Import", "Cancel", 0, | 2429 | "Import", "Cancel", 0, |
2403 | 0, 1 ); | 2430 | 0, 1 ); |
2404 | } | 2431 | } |
2405 | if ( result == 0 ) { | 2432 | if ( result == 0 ) { |
2406 | if ( mView->openCalendar( fn, true )) { | 2433 | if ( mView->openCalendar( fn, true )) { |
2407 | KOPrefs::instance()->mLastImportFile = fn; | 2434 | KOPrefs::instance()->mLastImportFile = fn; |
2408 | setCaption(i18n("Imported file successfully")); | 2435 | setCaption(i18n("Imported file successfully")); |
2409 | } else { | 2436 | } else { |
2410 | setCaption(i18n("Error importing file")); | 2437 | setCaption(i18n("Error importing file")); |
2411 | } | 2438 | } |
2412 | } | 2439 | } |
2413 | } | 2440 | } |
2414 | 2441 | ||
2415 | void MainWindow::importIcal() | 2442 | void MainWindow::importIcal() |
2416 | { | 2443 | { |
2417 | 2444 | ||
2418 | QString fn =KOPrefs::instance()->mLastImportFile; | 2445 | QString fn =KOPrefs::instance()->mLastImportFile; |
2419 | 2446 | ||
2420 | fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this ); | 2447 | fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this ); |
2421 | if ( fn == "" ) | 2448 | if ( fn == "" ) |
2422 | return; | 2449 | return; |
2423 | importFile( fn, true ); | 2450 | importFile( fn, true ); |
2424 | 2451 | ||
2425 | } | 2452 | } |
2426 | 2453 | ||
2427 | void MainWindow::exportVCalendar() | 2454 | void MainWindow::exportVCalendar() |
2428 | { | 2455 | { |
2429 | QString fn = KOPrefs::instance()->mLastVcalFile; | 2456 | QString fn = KOPrefs::instance()->mLastVcalFile; |
2430 | fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this ); | 2457 | fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this ); |
2431 | if ( fn == "" ) | 2458 | if ( fn == "" ) |
2432 | return; | 2459 | return; |
2433 | QFileInfo info; | 2460 | QFileInfo info; |
2434 | info.setFile( fn ); | 2461 | info.setFile( fn ); |
2435 | QString mes; | 2462 | QString mes; |
2436 | bool createbup = true; | 2463 | bool createbup = true; |
2437 | if ( info. exists() ) { | 2464 | if ( info. exists() ) { |
2438 | mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); | 2465 | mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); |
2439 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, | 2466 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, |
2440 | i18n("Overwrite!"), i18n("Cancel"), 0, | 2467 | i18n("Overwrite!"), i18n("Cancel"), 0, |
2441 | 0, 1 ); | 2468 | 0, 1 ); |
2442 | if ( result != 0 ) { | 2469 | if ( result != 0 ) { |
2443 | createbup = false; | 2470 | createbup = false; |
2444 | } | 2471 | } |
2445 | } | 2472 | } |
2446 | if ( createbup ) { | 2473 | if ( createbup ) { |
2447 | if ( mView->exportVCalendar( fn ) ) { | 2474 | if ( mView->exportVCalendar( fn ) ) { |
2448 | KOPrefs::instance()->mLastVcalFile = fn; | 2475 | KOPrefs::instance()->mLastVcalFile = fn; |
2449 | if ( fn.length() > 20 ) | 2476 | if ( fn.length() > 20 ) |
2450 | mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ; | 2477 | mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ; |
2451 | else | 2478 | else |
2452 | mes = i18n("KO/Pi:Exported to %1").arg(fn ); | 2479 | mes = i18n("KO/Pi:Exported to %1").arg(fn ); |
2453 | setCaption(mes); | 2480 | setCaption(mes); |
2454 | } | 2481 | } |
2455 | } | 2482 | } |
2456 | 2483 | ||
2457 | } | 2484 | } |
2458 | QString MainWindow::sentSyncFile() | 2485 | QString MainWindow::sentSyncFile() |
2459 | { | 2486 | { |
2460 | #ifdef DESKTOP_VERSION | 2487 | #ifdef DESKTOP_VERSION |
2461 | return locateLocal( "tmp", "copysynccal.ics" ); | 2488 | return locateLocal( "tmp", "copysynccal.ics" ); |
2462 | #else | 2489 | #else |
2463 | return QString( "/tmp/copysynccal.ics" ); | 2490 | return QString( "/tmp/copysynccal.ics" ); |
2464 | #endif | 2491 | #endif |
2465 | } | 2492 | } |
2466 | 2493 | ||
2467 | void MainWindow::syncFileRequest() | 2494 | void MainWindow::syncFileRequest() |
2468 | { | 2495 | { |
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index a4d0523..953774f 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h | |||
@@ -1,171 +1,172 @@ | |||
1 | #ifndef KORGE_MAINWINDOW_H | 1 | #ifndef KORGE_MAINWINDOW_H |
2 | #define KORGE_MAINWINDOW_H | 2 | #define KORGE_MAINWINDOW_H |
3 | 3 | ||
4 | #include <qmainwindow.h> | 4 | #include <qmainwindow.h> |
5 | #include <qtimer.h> | 5 | #include <qtimer.h> |
6 | #include <qdict.h> | 6 | #include <qdict.h> |
7 | #include <qfile.h> | 7 | #include <qfile.h> |
8 | #include <qmenubar.h> | 8 | #include <qmenubar.h> |
9 | #include <qtextstream.h> | 9 | #include <qtextstream.h> |
10 | #include <qregexp.h> | 10 | #include <qregexp.h> |
11 | 11 | ||
12 | #include <libkcal/incidence.h> | 12 | #include <libkcal/incidence.h> |
13 | #include <ksyncmanager.h> | 13 | #include <ksyncmanager.h> |
14 | #ifndef DESKTOP_VERSION | 14 | #ifndef DESKTOP_VERSION |
15 | #include <qcopchannel_qws.h> | 15 | #include <qcopchannel_qws.h> |
16 | #endif | 16 | #endif |
17 | class QAction; | 17 | class QAction; |
18 | class CalendarView; | 18 | class CalendarView; |
19 | class KSyncProfile; | 19 | class KSyncProfile; |
20 | #ifdef DESKTOP_VERSION | 20 | #ifdef DESKTOP_VERSION |
21 | 21 | ||
22 | #define QPEToolBar QToolBar | 22 | #define QPEToolBar QToolBar |
23 | #define QPEMenuBar QMenuBar | 23 | #define QPEMenuBar QMenuBar |
24 | #endif | 24 | #endif |
25 | class QPEToolBar; | 25 | class QPEToolBar; |
26 | class QPEMenuBar; | 26 | class QPEMenuBar; |
27 | 27 | ||
28 | 28 | ||
29 | namespace KCal { | 29 | namespace KCal { |
30 | class CalendarLocal; | 30 | class CalendarLocal; |
31 | } | 31 | } |
32 | 32 | ||
33 | using namespace KCal; | 33 | using namespace KCal; |
34 | 34 | ||
35 | class MainWindow : public QMainWindow | 35 | class MainWindow : public QMainWindow |
36 | { | 36 | { |
37 | Q_OBJECT | 37 | Q_OBJECT |
38 | public: | 38 | public: |
39 | MainWindow( QWidget *parent = 0, const char *name = 0, QString command = ""); | 39 | MainWindow( QWidget *parent = 0, const char *name = 0, QString command = ""); |
40 | ~MainWindow(); | 40 | ~MainWindow(); |
41 | bool beamReceiveEnabled(); | 41 | bool beamReceiveEnabled(); |
42 | static QString defaultFileName(); | 42 | static QString defaultFileName(); |
43 | static QString syncFileName(); | 43 | static QString syncFileName(); |
44 | static QString resourcePath(); | 44 | static QString resourcePath(); |
45 | public slots: | 45 | public slots: |
46 | void setUsesBigPixmaps ( bool ); | 46 | void setUsesBigPixmaps ( bool ); |
47 | void setCaption ( const QString & ); | 47 | void setCaption ( const QString & ); |
48 | void updateWeekNum(const KCal::DateList &); | 48 | void updateWeekNum(const KCal::DateList &); |
49 | void updateWeek(QDate); | 49 | void updateWeek(QDate); |
50 | void updateFilterToolbar(); | 50 | void updateFilterToolbar(); |
51 | virtual void showMaximized (); | 51 | virtual void showMaximized (); |
52 | void configureAgenda( int ); | 52 | void configureAgenda( int ); |
53 | void recieve( const QCString& msg, const QByteArray& data ); | 53 | void recieve( const QCString& msg, const QByteArray& data ); |
54 | protected slots: | 54 | protected slots: |
55 | void startMultiSync(); | 55 | void startMultiSync(); |
56 | void setCaptionToDates(); | 56 | void setCaptionToDates(); |
57 | void weekAction(); | 57 | void weekAction(); |
58 | void about(); | 58 | void about(); |
59 | void licence(); | 59 | void licence(); |
60 | void faq(); | 60 | void faq(); |
61 | void usertrans(); | 61 | void usertrans(); |
62 | void features(); | 62 | void features(); |
63 | void synchowto(); | 63 | void synchowto(); |
64 | void storagehowto(); | 64 | void storagehowto(); |
65 | void timetrackinghowto(); | 65 | void timetrackinghowto(); |
66 | void kdesynchowto(); | 66 | void kdesynchowto(); |
67 | void multisynchowto(); | 67 | void multisynchowto(); |
68 | void whatsNew(); | 68 | void whatsNew(); |
69 | void keyBindings(); | 69 | void keyBindings(); |
70 | void aboutAutoSaving();; | 70 | void aboutAutoSaving();; |
71 | void aboutKnownBugs(); | 71 | void aboutKnownBugs(); |
72 | 72 | ||
73 | void processIncidenceSelection( Incidence * ); | 73 | void processIncidenceSelection( Incidence * ); |
74 | 74 | ||
75 | void importQtopia(); | 75 | void importQtopia(); |
76 | void importBday(); | 76 | void importBday(); |
77 | void importOL(); | 77 | void importOL(); |
78 | void importIcal(); | 78 | void importIcal(); |
79 | void importFile( QString, bool ); | 79 | void importFile( QString, bool ); |
80 | void quickImportIcal(); | 80 | void quickImportIcal(); |
81 | 81 | ||
82 | void slotModifiedChanged( bool ); | 82 | void slotModifiedChanged( bool ); |
83 | 83 | ||
84 | void save(); | 84 | void save(); |
85 | void backupAllFiles(); | 85 | void backupAllFiles(); |
86 | void saveStopTimer(); | 86 | void saveStopTimer(); |
87 | void configureToolBar( int ); | 87 | void configureToolBar( int ); |
88 | void printSel(); | 88 | void printSel(); |
89 | void printCal(); | 89 | void printCal(); |
90 | void printListView(); | 90 | void printListView(); |
91 | void saveCalendar(); | 91 | void saveCalendar(); |
92 | void loadCalendar(); | 92 | void loadCalendar(); |
93 | void exportVCalendar(); | 93 | void exportVCalendar(); |
94 | void fillFilterMenu(); | 94 | void fillFilterMenu(); |
95 | void fillFilterMenuTB(); | 95 | void fillFilterMenuTB(); |
96 | void selectFilter( int ); | 96 | void selectFilter( int ); |
97 | void fillFilterMenuPopup(); | 97 | void fillFilterMenuPopup(); |
98 | void selectFilterPopup( int ); | 98 | void selectFilterPopup( int ); |
99 | void exportToPhone( int ); | 99 | void exportToPhone( int ); |
100 | void toggleBeamReceive(); | 100 | void toggleBeamReceive(); |
101 | void disableBR(bool); | 101 | void disableBR(bool); |
102 | signals: | 102 | signals: |
103 | void selectWeek ( int ); | 103 | void selectWeek ( int ); |
104 | private slots: | 104 | private slots: |
105 | void showConfigureAgenda(); | 105 | void showConfigureAgenda(); |
106 | void getFile( bool ); | 106 | void getFile( bool ); |
107 | void syncFileRequest(); | 107 | void syncFileRequest(); |
108 | 108 | ||
109 | protected: | 109 | protected: |
110 | void hideEvent ( QHideEvent * ); | 110 | void hideEvent ( QHideEvent * ); |
111 | QString sentSyncFile(); | 111 | QString sentSyncFile(); |
112 | void displayText( QString, QString); | 112 | void displayText( QString, QString); |
113 | void enableIncidenceActions( bool ); | 113 | void enableIncidenceActions( bool ); |
114 | 114 | ||
115 | private: | 115 | private: |
116 | bool mBRdisabled; | 116 | bool mBRdisabled; |
117 | #ifndef DESKTOP_VERSION | 117 | #ifndef DESKTOP_VERSION |
118 | QCopChannel* infrared; | 118 | QCopChannel* infrared; |
119 | #endif | 119 | #endif |
120 | QAction* brAction; | 120 | QAction* brAction; |
121 | KSyncManager* mSyncManager; | 121 | KSyncManager* mSyncManager; |
122 | bool mClosed; | 122 | bool mClosed; |
123 | void saveOnClose(); | 123 | void saveOnClose(); |
124 | bool mFlagKeyPressed; | 124 | bool mFlagKeyPressed; |
125 | bool mBlockAtStartup; | 125 | bool mBlockAtStartup; |
126 | QPEToolBar *iconToolBar; | 126 | QPEToolBar *iconToolBar; |
127 | QPEToolBar *viewToolBar; | 127 | QPEToolBar *viewToolBar; |
128 | QPEToolBar *navigatorToolBar; | 128 | QPEToolBar *navigatorToolBar; |
129 | QPEToolBar *filterToolBar; | 129 | QPEToolBar *filterToolBar; |
130 | QMenuBar *filterMenubar; | 130 | QMenuBar *filterMenubar; |
131 | QPopupMenu * filterPopupMenu; | 131 | QPopupMenu * filterPopupMenu; |
132 | QPopupMenu * mCurrentItemMenu; | ||
132 | void initActions(); | 133 | void initActions(); |
133 | void setDefaultPreferences(); | 134 | void setDefaultPreferences(); |
134 | void resizeEvent( QResizeEvent* e); | 135 | void resizeEvent( QResizeEvent* e); |
135 | void keyPressEvent ( QKeyEvent * ) ; | 136 | void keyPressEvent ( QKeyEvent * ) ; |
136 | void keyReleaseEvent ( QKeyEvent * ) ; | 137 | void keyReleaseEvent ( QKeyEvent * ) ; |
137 | QPopupMenu *configureToolBarMenu; | 138 | QPopupMenu *configureToolBarMenu; |
138 | QPopupMenu *selectFilterMenu; | 139 | QPopupMenu *selectFilterMenu; |
139 | QPopupMenu *selectFilterMenuTB; | 140 | QPopupMenu *selectFilterMenuTB; |
140 | QPopupMenu *configureAgendaMenu, *syncMenu; | 141 | QPopupMenu *configureAgendaMenu, *syncMenu; |
141 | CalendarLocal *mCalendar; | 142 | CalendarLocal *mCalendar; |
142 | CalendarView *mView; | 143 | CalendarView *mView; |
143 | QAction *mNewSubTodoAction; | 144 | QAction *mNewSubTodoAction; |
144 | QAction *mWeekAction; | 145 | QAction *mWeekAction; |
145 | QFont mWeekFont; | 146 | QFont mWeekFont; |
146 | QPixmap mWeekPixmap; | 147 | QPixmap mWeekPixmap; |
147 | QColor mWeekBgColor; | 148 | QColor mWeekBgColor; |
148 | 149 | ||
149 | QAction *mShowAction; | 150 | QAction *mShowAction; |
150 | QAction *mEditAction; | 151 | QAction *mEditAction; |
151 | QAction *mDeleteAction; | 152 | QAction *mDeleteAction; |
152 | QAction *mCloneAction; | 153 | QAction *mCloneAction; |
153 | QAction *mMoveAction; | 154 | QAction *mMoveAction; |
154 | QAction *mBeamAction; | 155 | QAction *mBeamAction; |
155 | QAction *mCancelAction; | 156 | QAction *mCancelAction; |
156 | 157 | ||
157 | QAction *mToggleNav; | 158 | QAction *mToggleNav; |
158 | QAction *mToggleFilter; | 159 | QAction *mToggleFilter; |
159 | QAction *mToggleAllday; | 160 | QAction *mToggleAllday; |
160 | QAction *actionFilterMenuTB; | 161 | QAction *actionFilterMenuTB; |
161 | 162 | ||
162 | void closeEvent( QCloseEvent* ce ); | 163 | void closeEvent( QCloseEvent* ce ); |
163 | QTimer mSaveTimer; | 164 | QTimer mSaveTimer; |
164 | //bool mBlockSaveFlag; | 165 | //bool mBlockSaveFlag; |
165 | bool mCalendarModifiedFlag; | 166 | bool mCalendarModifiedFlag; |
166 | QPixmap loadPixmap( QString ); | 167 | QPixmap loadPixmap( QString ); |
167 | QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80; | 168 | QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80; |
168 | }; | 169 | }; |
169 | 170 | ||
170 | 171 | ||
171 | #endif | 172 | #endif |