summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/datenavigator.cpp8
-rw-r--r--korganizer/datenavigator.h1
-rw-r--r--korganizer/koviewmanager.cpp4
-rw-r--r--korganizer/mainwindow.cpp4
-rw-r--r--korganizer/navigatorbar.h1
5 files changed, 12 insertions, 6 deletions
diff --git a/korganizer/datenavigator.cpp b/korganizer/datenavigator.cpp
index d2824de..8b7c993 100644
--- a/korganizer/datenavigator.cpp
+++ b/korganizer/datenavigator.cpp
@@ -1,292 +1,300 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include "datenavigator.h" 24#include "datenavigator.h"
25 25
26#include "koglobals.h" 26#include "koglobals.h"
27 27
28#include <kcalendarsystem.h> 28#include <kcalendarsystem.h>
29 29
30#include <kdebug.h> 30#include <kdebug.h>
31#include <kglobal.h> 31#include <kglobal.h>
32#include <klocale.h> 32#include <klocale.h>
33 33
34using namespace KCal; 34using namespace KCal;
35 35
36DateNavigator::DateNavigator( QObject *parent, const char *name , KOViewManager * v) 36DateNavigator::DateNavigator( QObject *parent, const char *name , KOViewManager * v)
37 : QObject( parent, name ) 37 : QObject( parent, name )
38{ 38{
39 mViewManager = v; 39 mViewManager = v;
40 mSelectedDates.append( QDate::currentDate() ); 40 mSelectedDates.append( QDate::currentDate() );
41} 41}
42 42
43DateNavigator::~DateNavigator() 43DateNavigator::~DateNavigator()
44{ 44{
45} 45}
46 46
47void DateNavigator::slotMonthSelect( int m ) 47void DateNavigator::slotMonthSelect( int m )
48{ 48{
49 QDate firstSelected = mSelectedDates.first(); 49 QDate firstSelected = mSelectedDates.first();
50 int weekDay = firstSelected.dayOfWeek(); 50 int weekDay = firstSelected.dayOfWeek();
51 int diff = m - firstSelected.month() ; 51 int diff = m - firstSelected.month() ;
52 firstSelected = KOGlobals::self()->calendarSystem()->addMonths( firstSelected, diff ); 52 firstSelected = KOGlobals::self()->calendarSystem()->addMonths( firstSelected, diff );
53 53
54 if ( mSelectedDates.first().day() == 1 && mSelectedDates.count() > 27 ) 54 if ( mSelectedDates.first().day() == 1 && mSelectedDates.count() > 27 )
55 selectMonthByDate( firstSelected ); 55 selectMonthByDate( firstSelected );
56 else 56 else
57 selectWeekByDay( weekDay, firstSelected ); 57 selectWeekByDay( weekDay, firstSelected );
58 58
59} 59}
60 60
61void DateNavigator::slotDaySelect( QDate d ) 61void DateNavigator::slotDaySelect( QDate d )
62{ 62{
63 QDate firstSelected = mSelectedDates.first(); 63 QDate firstSelected = mSelectedDates.first();
64 int weekDay = firstSelected.dayOfWeek(); 64 int weekDay = firstSelected.dayOfWeek();
65 //int diff = firstSelected.daysTo( d ) ; 65 //int diff = firstSelected.daysTo( d ) ;
66 firstSelected = firstSelected.addDays( firstSelected .daysTo( d ) ); 66 firstSelected = firstSelected.addDays( firstSelected .daysTo( d ) );
67 67
68 selectWeekByDay( weekDay, firstSelected ); 68 selectWeekByDay( weekDay, firstSelected );
69 69
70} 70}
71 71
72void DateNavigator::selectMonthByDate( const QDate & firstSelected ) 72void DateNavigator::selectMonthByDate( const QDate & firstSelected )
73{ 73{
74 74
75 int monthDay = firstSelected.day(); 75 int monthDay = firstSelected.day();
76 QDate date = firstSelected.addDays( 1-monthDay ); 76 QDate date = firstSelected.addDays( 1-monthDay );
77 selectDates( date , date.daysInMonth ()); 77 selectDates( date , date.daysInMonth ());
78 78
79} 79}
80void DateNavigator::selectMonth() 80void DateNavigator::selectMonth()
81{ 81{
82 82
83 QDate date =mSelectedDates.first(); 83 QDate date =mSelectedDates.first();
84 selectMonthByDate( date ); 84 selectMonthByDate( date );
85} 85}
86 86
87DateList DateNavigator::selectedDates() 87DateList DateNavigator::selectedDates()
88{ 88{
89 return mSelectedDates; 89 return mSelectedDates;
90} 90}
91 91
92int DateNavigator::datesCount() const 92int DateNavigator::datesCount() const
93{ 93{
94 return mSelectedDates.count(); 94 return mSelectedDates.count();
95} 95}
96 96
97void DateNavigator::selectDates( const DateList& dateList ) 97void DateNavigator::selectDates( const DateList& dateList )
98{ 98{
99 if (dateList.count() > 0) { 99 if (dateList.count() > 0) {
100 mSelectedDates = dateList; 100 mSelectedDates = dateList;
101 emitSelected(); 101 emitSelected();
102 } 102 }
103} 103}
104 104
105void DateNavigator::selectDate( const QDate &date ) 105void DateNavigator::selectDate( const QDate &date )
106{ 106{
107 QDate d = date; 107 QDate d = date;
108 108
109 if ( !d.isValid() ) { 109 if ( !d.isValid() ) {
110 d = QDate::currentDate(); 110 d = QDate::currentDate();
111 } 111 }
112 112
113 mSelectedDates.clear(); 113 mSelectedDates.clear();
114 mSelectedDates.append( d ); 114 mSelectedDates.append( d );
115 115
116 emitSelected(); 116 emitSelected();
117} 117}
118 118
119void DateNavigator::selectDates( int count ) 119void DateNavigator::selectDates( int count )
120{ 120{
121 121
122 QDate d = mSelectedDates.first(); 122 QDate d = mSelectedDates.first();
123 selectDates( d, count ); 123 selectDates( d, count );
124} 124}
125 125
126void DateNavigator::selectDates( const QDate &d, int count ) 126void DateNavigator::selectDates( const QDate &d, int count )
127{ 127{
128 DateList dates; 128 DateList dates;
129 129
130 int i; 130 int i;
131 for( i = 0; i < count; ++i ) { 131 for( i = 0; i < count; ++i ) {
132 dates.append( d.addDays( i ) ); 132 dates.append( d.addDays( i ) );
133 } 133 }
134 134
135 mSelectedDates = dates; 135 mSelectedDates = dates;
136 136
137 emitSelected(); 137 emitSelected();
138} 138}
139 139
140void DateNavigator::selectWeekByDay( int weekDay, const QDate &d ) 140void DateNavigator::selectWeekByDay( int weekDay, const QDate &d )
141{ 141{
142 // qDebug("selectWeekByDay( %d %s ", weekDay, d.toString().latin1()); 142 // qDebug("selectWeekByDay( %d %s ", weekDay, d.toString().latin1());
143 int dateCount = mSelectedDates.count(); 143 int dateCount = mSelectedDates.count();
144 bool weekStart = ( weekDay == KGlobal::locale()->weekStartDay() ); 144 bool weekStart = ( weekDay == KGlobal::locale()->weekStartDay() );
145 if ( weekDay == 1 && dateCount == 5 ) selectWorkWeek( d ); 145 if ( weekDay == 1 && dateCount == 5 ) selectWorkWeek( d );
146 else if ( weekStart && dateCount == 7 ) selectWeek( d ); 146 else if ( weekStart && dateCount == 7 ) selectWeek( d );
147 else selectDates( d, dateCount ); 147 else selectDates( d, dateCount );
148} 148}
149 149
150void DateNavigator::selectWeek() 150void DateNavigator::selectWeek()
151{ 151{
152 QDate d = mSelectedDates.first(); 152 QDate d = mSelectedDates.first();
153 selectWeek( d ); 153 selectWeek( d );
154} 154}
155void DateNavigator::selectWeek( int num ) 155void DateNavigator::selectWeek( int num )
156{ 156{
157 int year = mSelectedDates.first().year(); 157 int year = mSelectedDates.first().year();
158 QDate d = QDate ( year, 1,1);
159 while ( d.dayOfWeek() != 4 )
160 d = d.addDays( 1 );
161 selectWeek( d.addDays ( (num-1) *7 ) );
162}
163void DateNavigator::selectWeekFromMonthView( int num )
164{
165 int year = mSelectedDates.first().year();
158 if ( mSelectedDates.first().dayOfYear() > 300 && num < 10 ) 166 if ( mSelectedDates.first().dayOfYear() > 300 && num < 10 )
159 ++year; 167 ++year;
160 if ( mSelectedDates.first().dayOfYear() < 70 && num > 40 ) 168 if ( mSelectedDates.first().dayOfYear() < 70 && num > 40 )
161 --year; 169 --year;
162 QDate d = QDate ( year, 1,1); 170 QDate d = QDate ( year, 1,1);
163 while ( d.dayOfWeek() != 4 ) 171 while ( d.dayOfWeek() != 4 )
164 d = d.addDays( 1 ); 172 d = d.addDays( 1 );
165 selectWeek( d.addDays ( (num-1) *7 ) ); 173 selectWeek( d.addDays ( (num-1) *7 ) );
166} 174}
167void DateNavigator::selectWeek( const QDate &d ) 175void DateNavigator::selectWeek( const QDate &d )
168{ 176{
169 int dayOfWeek = KOGlobals::self()->calendarSystem()->dayOfWeek( d ); 177 int dayOfWeek = KOGlobals::self()->calendarSystem()->dayOfWeek( d );
170 178
171 int weekStart = KGlobal::locale()->weekStartDay(); 179 int weekStart = KGlobal::locale()->weekStartDay();
172 QDate firstDate = d.addDays( weekStart - dayOfWeek ); 180 QDate firstDate = d.addDays( weekStart - dayOfWeek );
173 181
174 if ( weekStart != 1 && dayOfWeek < weekStart ) { 182 if ( weekStart != 1 && dayOfWeek < weekStart ) {
175 firstDate = firstDate.addDays(-7 ); 183 firstDate = firstDate.addDays(-7 );
176 } 184 }
177 185
178 186
179 selectDates( firstDate, 7 ); 187 selectDates( firstDate, 7 );
180} 188}
181 189
182void DateNavigator::selectWorkWeek() 190void DateNavigator::selectWorkWeek()
183{ 191{
184 QDate d = mSelectedDates.first(); 192 QDate d = mSelectedDates.first();
185 selectWorkWeek( d ); 193 selectWorkWeek( d );
186} 194}
187 195
188void DateNavigator::selectWorkWeek( const QDate &d ) 196void DateNavigator::selectWorkWeek( const QDate &d )
189{ 197{
190 int dayOfWeek = KOGlobals::self()->calendarSystem()->dayOfWeek( d ); 198 int dayOfWeek = KOGlobals::self()->calendarSystem()->dayOfWeek( d );
191 199
192 QDate firstDate = d.addDays( 1 - dayOfWeek ); 200 QDate firstDate = d.addDays( 1 - dayOfWeek );
193 201
194 int weekStart = KGlobal::locale()->weekStartDay(); 202 int weekStart = KGlobal::locale()->weekStartDay();
195 if ( weekStart != 1 && dayOfWeek >= weekStart ) { 203 if ( weekStart != 1 && dayOfWeek >= weekStart ) {
196 firstDate = firstDate.addDays( 7 ); 204 firstDate = firstDate.addDays( 7 );
197 } 205 }
198 206
199 selectDates( firstDate, 5 ); 207 selectDates( firstDate, 5 );
200} 208}
201 209
202void DateNavigator::selectTodayMonth() 210void DateNavigator::selectTodayMonth()
203{ 211{
204 QDate date = QDate::currentDate().addDays( 1-QDate::currentDate().day() ); 212 QDate date = QDate::currentDate().addDays( 1-QDate::currentDate().day() );
205 selectDates( date , date.daysInMonth ()); 213 selectDates( date , date.daysInMonth ());
206 214
207} 215}
208void DateNavigator::selectToday() 216void DateNavigator::selectToday()
209{ 217{
210 QDate d = QDate::currentDate(); 218 QDate d = QDate::currentDate();
211 219
212 int dateCount = mSelectedDates.count(); 220 int dateCount = mSelectedDates.count();
213 if ( dateCount == 5 && d.dayOfWeek() < 6 ) selectWorkWeek( d ); 221 if ( dateCount == 5 && d.dayOfWeek() < 6 ) selectWorkWeek( d );
214 else if ( dateCount == 7 ) selectWeek( d ); 222 else if ( dateCount == 7 ) selectWeek( d );
215 else selectDates( d, dateCount ); 223 else selectDates( d, dateCount );
216} 224}
217 225
218void DateNavigator::selectPreviousYear() 226void DateNavigator::selectPreviousYear()
219{ 227{
220 QDate firstSelected = mSelectedDates.first(); 228 QDate firstSelected = mSelectedDates.first();
221 int weekDay = firstSelected.dayOfWeek(); 229 int weekDay = firstSelected.dayOfWeek();
222 firstSelected = KOGlobals::self()->calendarSystem()->addYears( firstSelected, -1 ); 230 firstSelected = KOGlobals::self()->calendarSystem()->addYears( firstSelected, -1 );
223 231
224 selectWeekByDay( weekDay, firstSelected ); 232 selectWeekByDay( weekDay, firstSelected );
225} 233}
226 234
227void DateNavigator::selectPreviousMonth() 235void DateNavigator::selectPreviousMonth()
228{ 236{
229 QDate firstSelected = mSelectedDates.first(); 237 QDate firstSelected = mSelectedDates.first();
230 int weekDay = firstSelected.dayOfWeek(); 238 int weekDay = firstSelected.dayOfWeek();
231 firstSelected = KOGlobals::self()->calendarSystem()->addMonths( firstSelected, -1 ); 239 firstSelected = KOGlobals::self()->calendarSystem()->addMonths( firstSelected, -1 );
232 240
233 241
234 if ( mSelectedDates.first().day() == 1 && mSelectedDates.count() > 27 ) 242 if ( mSelectedDates.first().day() == 1 && mSelectedDates.count() > 27 )
235 selectMonthByDate( firstSelected ); 243 selectMonthByDate( firstSelected );
236 else 244 else
237 selectWeekByDay( weekDay, firstSelected ); 245 selectWeekByDay( weekDay, firstSelected );
238} 246}
239 247
240void DateNavigator::selectNextMonth() 248void DateNavigator::selectNextMonth()
241{ 249{
242 QDate firstSelected = mSelectedDates.first(); 250 QDate firstSelected = mSelectedDates.first();
243 int weekDay = firstSelected.dayOfWeek(); 251 int weekDay = firstSelected.dayOfWeek();
244 252
245 firstSelected = KOGlobals::self()->calendarSystem()->addMonths( firstSelected, 1 ); 253 firstSelected = KOGlobals::self()->calendarSystem()->addMonths( firstSelected, 1 );
246 254
247 if ( mSelectedDates.first().day() == 1 && mSelectedDates.count() > 27 ) 255 if ( mSelectedDates.first().day() == 1 && mSelectedDates.count() > 27 )
248 selectMonthByDate( firstSelected ); 256 selectMonthByDate( firstSelected );
249 else 257 else
250 selectWeekByDay( weekDay, firstSelected ); 258 selectWeekByDay( weekDay, firstSelected );
251 259
252} 260}
253 261
254void DateNavigator::selectNextYear() 262void DateNavigator::selectNextYear()
255{ 263{
256 QDate firstSelected = mSelectedDates.first(); 264 QDate firstSelected = mSelectedDates.first();
257 int weekDay = firstSelected.dayOfWeek(); 265 int weekDay = firstSelected.dayOfWeek();
258 firstSelected = KOGlobals::self()->calendarSystem()->addYears( firstSelected, 1 ); 266 firstSelected = KOGlobals::self()->calendarSystem()->addYears( firstSelected, 1 );
259 267
260 selectWeekByDay( weekDay, firstSelected ); 268 selectWeekByDay( weekDay, firstSelected );
261} 269}
262 270
263void DateNavigator::selectPrevious() 271void DateNavigator::selectPrevious()
264{ 272{
265 int offset = -7; 273 int offset = -7;
266 if ( datesCount() == 1 ) { 274 if ( datesCount() == 1 ) {
267 offset = -1; 275 offset = -1;
268 } 276 }
269 if ( mViewManager ) 277 if ( mViewManager )
270 if ( mViewManager->showsNextDays() ) 278 if ( mViewManager->showsNextDays() )
271 offset = -datesCount(); 279 offset = -datesCount();
272 selectDates( mSelectedDates.first().addDays( offset ), datesCount() ); 280 selectDates( mSelectedDates.first().addDays( offset ), datesCount() );
273} 281}
274 282
275void DateNavigator::selectNext() 283void DateNavigator::selectNext()
276{ 284{
277 int offset = 7; 285 int offset = 7;
278 if ( datesCount() == 1 ) { 286 if ( datesCount() == 1 ) {
279 offset = 1; 287 offset = 1;
280 } 288 }
281 if ( mViewManager ) 289 if ( mViewManager )
282 if ( mViewManager->showsNextDays() ) 290 if ( mViewManager->showsNextDays() )
283 offset = datesCount(); 291 offset = datesCount();
284 selectDates( mSelectedDates.first().addDays( offset ), datesCount() ); 292 selectDates( mSelectedDates.first().addDays( offset ), datesCount() );
285} 293}
286 294
287void DateNavigator::emitSelected() 295void DateNavigator::emitSelected()
288{ 296{
289 emit datesSelected( mSelectedDates ); 297 emit datesSelected( mSelectedDates );
290} 298}
291 299
292//#include "datenavigator.moc" 300//#include "datenavigator.moc"
diff --git a/korganizer/datenavigator.h b/korganizer/datenavigator.h
index 4a19e17..4265e84 100644
--- a/korganizer/datenavigator.h
+++ b/korganizer/datenavigator.h
@@ -1,90 +1,91 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23#ifndef DATENAVIGATOR_H 23#ifndef DATENAVIGATOR_H
24#define DATENAVIGATOR_H 24#define DATENAVIGATOR_H
25 25
26#include <libkcal/incidencebase.h> 26#include <libkcal/incidencebase.h>
27 27
28#include <qobject.h> 28#include <qobject.h>
29#include "koviewmanager.h" 29#include "koviewmanager.h"
30 30
31/** 31/**
32 This class controls date navigation. All requests to move the views to another 32 This class controls date navigation. All requests to move the views to another
33 date are sent to the DateNavigator. The DateNavigator processes the new 33 date are sent to the DateNavigator. The DateNavigator processes the new
34 selection of dates and emits the required signals for the views. 34 selection of dates and emits the required signals for the views.
35*/ 35*/
36class DateNavigator : public QObject 36class DateNavigator : public QObject
37{ 37{
38 Q_OBJECT 38 Q_OBJECT
39 public: 39 public:
40 DateNavigator( QObject *parent = 0, const char *name = 0 , KOViewManager * v = 0); 40 DateNavigator( QObject *parent = 0, const char *name = 0 , KOViewManager * v = 0);
41 ~DateNavigator(); 41 ~DateNavigator();
42 42
43 KCal::DateList selectedDates(); 43 KCal::DateList selectedDates();
44 44
45 int datesCount() const; 45 int datesCount() const;
46 46
47 public slots: 47 public slots:
48 void selectDates( const KCal::DateList & ); 48 void selectDates( const KCal::DateList & );
49 void selectDate( const QDate & ); 49 void selectDate( const QDate & );
50 50
51 void selectDates( int count ); 51 void selectDates( int count );
52 void selectDates( const QDate &, int count ); 52 void selectDates( const QDate &, int count );
53 53
54 void selectWeek(); 54 void selectWeek();
55 void selectWeek( int weeknum ); 55 void selectWeek( int weeknum );
56 void selectWeekFromMonthView( int weeknum );
56 void selectWeek( const QDate & ); 57 void selectWeek( const QDate & );
57 58
58 void selectWorkWeek(); 59 void selectWorkWeek();
59 void selectWorkWeek( const QDate & ); 60 void selectWorkWeek( const QDate & );
60 61
61 void selectWeekByDay( int weekDay, const QDate & ); 62 void selectWeekByDay( int weekDay, const QDate & );
62 63
63 void selectToday(); 64 void selectToday();
64 void selectTodayMonth(); 65 void selectTodayMonth();
65 66
66 void selectPreviousYear(); 67 void selectPreviousYear();
67 void selectPreviousMonth(); 68 void selectPreviousMonth();
68 void selectNextMonth(); 69 void selectNextMonth();
69 void selectNextYear(); 70 void selectNextYear();
70 71
71 void selectMonth(); 72 void selectMonth();
72 void selectMonthByDate( const QDate & ); 73 void selectMonthByDate( const QDate & );
73 74
74 void selectPrevious(); 75 void selectPrevious();
75 void selectNext(); 76 void selectNext();
76 void slotMonthSelect( int ); 77 void slotMonthSelect( int );
77 void slotDaySelect( QDate d ); 78 void slotDaySelect( QDate d );
78 79
79 signals: 80 signals:
80 void datesSelected( const KCal::DateList & ); 81 void datesSelected( const KCal::DateList & );
81 82
82 protected: 83 protected:
83 void emitSelected(); 84 void emitSelected();
84 85
85 private: 86 private:
86 KOViewManager * mViewManager; 87 KOViewManager * mViewManager;
87 KCal::DateList mSelectedDates; 88 KCal::DateList mSelectedDates;
88}; 89};
89 90
90#endif 91#endif
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index b551e2a..90be237 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -1,667 +1,665 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 3
4 Copyright (c) 2001 4 Copyright (c) 2001
5 Cornelius Schumacher <schumacher@kde.org> 5 Cornelius Schumacher <schumacher@kde.org>
6 6
7 This program is free software; you can redistribute it and/or modify 7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or 9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version. 10 (at your option) any later version.
11 11
12 This program is distributed in the hope that it will be useful, 12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
15 GNU General Public License for more details. 15 GNU General Public License for more details.
16 16
17 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software 18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 20
21 As a special exception, permission is given to link this program 21 As a special exception, permission is given to link this program
22 with any edition of Qt, and distribute the resulting executable, 22 with any edition of Qt, and distribute the resulting executable,
23 without including the source code for Qt in the source distribution. 23 without including the source code for Qt in the source distribution.
24*/ 24*/
25 25
26#include <qwidgetstack.h> 26#include <qwidgetstack.h>
27 27
28#include <kconfig.h> 28#include <kconfig.h>
29#include <kglobal.h> 29#include <kglobal.h>
30#ifndef DESKTOP_VERSION 30#ifndef DESKTOP_VERSION
31#include <qpe/qpeapplication.h> 31#include <qpe/qpeapplication.h>
32#else 32#else
33#include <qapplication.h> 33#include <qapplication.h>
34#endif 34#endif
35#include <qdatetime.h> 35#include <qdatetime.h>
36#include "calendarview.h" 36#include "calendarview.h"
37#include "datenavigator.h" 37#include "datenavigator.h"
38#include "kotodoview.h" 38#include "kotodoview.h"
39#include "koagendaview.h" 39#include "koagendaview.h"
40#include "kodialogmanager.h" 40#include "kodialogmanager.h"
41#include "komonthview.h" 41#include "komonthview.h"
42#include "kolistview.h" 42#include "kolistview.h"
43#include "kowhatsnextview.h" 43#include "kowhatsnextview.h"
44#include "kojournalview.h" 44#include "kojournalview.h"
45#include "kotimespanview.h" 45#include "kotimespanview.h"
46#include "koprefs.h" 46#include "koprefs.h"
47#include "navigatorbar.h" 47#include "navigatorbar.h"
48#include "kdatenavigator.h" 48#include "kdatenavigator.h"
49 49
50#include "koviewmanager.h" 50#include "koviewmanager.h"
51//extern bool externFlagMonthviewBlockPainting; 51//extern bool externFlagMonthviewBlockPainting;
52 52
53//bool globalFlagBlockPainting = false; 53//bool globalFlagBlockPainting = false;
54int globalFlagBlockAgenda = 0; 54int globalFlagBlockAgenda = 0;
55int globalFlagBlockLabel = 0; 55int globalFlagBlockLabel = 0;
56int globalFlagBlockAgendaItemPaint = 1; 56int globalFlagBlockAgendaItemPaint = 1;
57int globalFlagBlockAgendaItemUpdate = 1; 57int globalFlagBlockAgendaItemUpdate = 1;
58 58
59 59
60KOViewManager::KOViewManager( CalendarView *mainView ) : 60KOViewManager::KOViewManager( CalendarView *mainView ) :
61 QObject(), mMainView( mainView ) 61 QObject(), mMainView( mainView )
62{ 62{
63 mCurrentView = 0; 63 mCurrentView = 0;
64 64
65 mWhatsNextView = 0; 65 mWhatsNextView = 0;
66 mTodoView = 0; 66 mTodoView = 0;
67 mAgendaView = 0; 67 mAgendaView = 0;
68 mMonthView = 0; 68 mMonthView = 0;
69 mListView = 0; 69 mListView = 0;
70 mJournalView = 0; 70 mJournalView = 0;
71 mTimeSpanView = 0; 71 mTimeSpanView = 0;
72 mCurrentAgendaView = 0 ; 72 mCurrentAgendaView = 0 ;
73 mFlagShowNextxDays = false; 73 mFlagShowNextxDays = false;
74} 74}
75 75
76KOViewManager::~KOViewManager() 76KOViewManager::~KOViewManager()
77{ 77{
78} 78}
79 79
80 80
81KOrg::BaseView *KOViewManager::currentView() 81KOrg::BaseView *KOViewManager::currentView()
82{ 82{
83 return mCurrentView; 83 return mCurrentView;
84} 84}
85 85
86void KOViewManager::readSettings(KConfig *config) 86void KOViewManager::readSettings(KConfig *config)
87{ 87{
88 config->setGroup("General"); 88 config->setGroup("General");
89 QString view = config->readEntry("Current View"); 89 QString view = config->readEntry("Current View");
90 if (view == "WhatsNext") showWhatsNextView(); 90 if (view == "WhatsNext") showWhatsNextView();
91 else if (view == "Month") showMonthView(); 91 else if (view == "Month") showMonthView();
92 else if (view == "List") showListView(); 92 else if (view == "List") showListView();
93 else if (view == "Journal") showJournalView(); 93 else if (view == "Journal") showJournalView();
94 else if (view == "TimeSpan") showTimeSpanView(); 94 else if (view == "TimeSpan") showTimeSpanView();
95 else if (view == "Todo") showTodoView(); 95 else if (view == "Todo") showTodoView();
96 else { 96 else {
97 showAgendaView(); 97 showAgendaView();
98 } 98 }
99} 99}
100 100
101void KOViewManager::showDateView( int view, QDate date) 101void KOViewManager::showDateView( int view, QDate date)
102{ 102{
103 static int lastMode = 0; 103 static int lastMode = 0;
104 static int lastCount = 0; 104 static int lastCount = 0;
105 static bool lastNDMode = false; 105 static bool lastNDMode = false;
106 static QDate lastDate; 106 static QDate lastDate;
107 //qDebug("date %d %s", view, date.toString().latin1()); 107 //qDebug("date %d %s", view, date.toString().latin1());
108 108
109 //qDebug("%d %d ", lastNDMode, mFlagShowNextxDays ); 109 //qDebug("%d %d ", lastNDMode, mFlagShowNextxDays );
110 bool savemFlagShowNextxDays = mFlagShowNextxDays; 110 bool savemFlagShowNextxDays = mFlagShowNextxDays;
111 mFlagShowNextxDays = false; 111 mFlagShowNextxDays = false;
112 if ( view == 3 ) { 112 if ( view == 3 ) {
113 //mCurrentAgendaView = 1 ; 113 //mCurrentAgendaView = 1 ;
114 lastDate = mMainView->dateNavigator()->selectedDates().first(); 114 lastDate = mMainView->dateNavigator()->selectedDates().first();
115 lastCount = mMainView->dateNavigator()->selectedDates().count(); 115 lastCount = mMainView->dateNavigator()->selectedDates().count();
116 lastNDMode = savemFlagShowNextxDays; 116 lastNDMode = savemFlagShowNextxDays;
117 mMainView->showDay( date ); 117 mMainView->showDay( date );
118 } else if (view == 4 ) { 118 } else if (view == 4 ) {
119 mCurrentAgendaView = 7 ; 119 mCurrentAgendaView = 7 ;
120 mMainView->dateNavigator()->selectDates( date, 7 ); 120 mMainView->dateNavigator()->selectDates( date, 7 );
121 } else if (view == 5 ) { 121 } else if (view == 5 ) {
122 mCurrentAgendaView = 14 ; 122 mCurrentAgendaView = 14 ;
123 mMainView->dateNavigator()->selectDates( date, 14); 123 mMainView->dateNavigator()->selectDates( date, 14);
124 } else if (view == 6 ) { 124 } else if (view == 6 ) {
125 //mMainView->dateNavigator()->selectDates( date, 7 ); 125 //mMainView->dateNavigator()->selectDates( date, 7 );
126 showMonthView(); 126 showMonthView();
127 } else if (view == 7 ) { 127 } else if (view == 7 ) {
128 mMainView->dateNavigator()->selectDate( date ); 128 mMainView->dateNavigator()->selectDate( date );
129 showJournalView(); 129 showJournalView();
130 } else if (view == 8 ) { 130 } else if (view == 8 ) {
131 globalFlagBlockAgenda = 1; 131 globalFlagBlockAgenda = 1;
132 if ( mCurrentAgendaView != 3 ) 132 if ( mCurrentAgendaView != 3 )
133 mCurrentAgendaView = -1; 133 mCurrentAgendaView = -1;
134 showAgendaView(KOPrefs::instance()->mFullViewMonth); 134 showAgendaView(KOPrefs::instance()->mFullViewMonth);
135 globalFlagBlockAgenda = 2; 135 globalFlagBlockAgenda = 2;
136 mMainView->dateNavigator()->selectDates( date , 136 mMainView->dateNavigator()->selectDates( date ,
137 KOPrefs::instance()->mNextXDays ); 137 KOPrefs::instance()->mNextXDays );
138 mFlagShowNextxDays = true; 138 mFlagShowNextxDays = true;
139 mCurrentAgendaView = 3 ; 139 mCurrentAgendaView = 3 ;
140 } if (view == 9) { // return behaviour, for getting back from mode == 3 (single day mode ) 140 } if (view == 9) { // return behaviour, for getting back from mode == 3 (single day mode )
141 if ( lastMode ) { 141 if ( lastMode ) {
142 mCurrentAgendaView = lastCount ; 142 mCurrentAgendaView = lastCount ;
143 mMainView->dateNavigator()->selectDates( lastDate, lastCount); 143 mMainView->dateNavigator()->selectDates( lastDate, lastCount);
144 mFlagShowNextxDays = lastNDMode; 144 mFlagShowNextxDays = lastNDMode;
145 if ( mFlagShowNextxDays ) { 145 if ( mFlagShowNextxDays ) {
146 mCurrentAgendaView = 3 ; 146 mCurrentAgendaView = 3 ;
147 } 147 }
148 } else 148 } else
149 showWeekView(); 149 showWeekView();
150 } else if (view == 10) { 150 } else if (view == 10) {
151 mMainView->dateNavigator()->selectDates( date,mMainView->dateNavigator()->selectedDates().count() ); 151 mMainView->dateNavigator()->selectDates( date,mMainView->dateNavigator()->selectedDates().count() );
152 } 152 }
153 lastMode = view; 153 lastMode = view;
154} 154}
155 155
156 156
157 157
158void KOViewManager::writeSettings(KConfig *config) 158void KOViewManager::writeSettings(KConfig *config)
159{ 159{
160 config->setGroup("General"); 160 config->setGroup("General");
161 161
162 QString view; 162 QString view;
163 if (mCurrentView == mWhatsNextView) view = "WhatsNext"; 163 if (mCurrentView == mWhatsNextView) view = "WhatsNext";
164 else if (mCurrentView == mMonthView) view = "Month"; 164 else if (mCurrentView == mMonthView) view = "Month";
165 else if (mCurrentView == mListView) view = "List"; 165 else if (mCurrentView == mListView) view = "List";
166 else if (mCurrentView == mJournalView) view = "Journal"; 166 else if (mCurrentView == mJournalView) view = "Journal";
167 else if (mCurrentView == mTimeSpanView) view = "TimeSpan"; 167 else if (mCurrentView == mTimeSpanView) view = "TimeSpan";
168 else if (mCurrentView == mTodoView) view = "Todo"; 168 else if (mCurrentView == mTodoView) view = "Todo";
169 else view = "Agenda"; 169 else view = "Agenda";
170 170
171 config->writeEntry("Current View",view); 171 config->writeEntry("Current View",view);
172 172
173 if (mAgendaView) { 173 if (mAgendaView) {
174 mAgendaView->writeSettings(config); 174 mAgendaView->writeSettings(config);
175 } 175 }
176 if (mTimeSpanView) { 176 if (mTimeSpanView) {
177 mTimeSpanView->writeSettings(config); 177 mTimeSpanView->writeSettings(config);
178 } 178 }
179 if (mListView) { 179 if (mListView) {
180 mListView->writeSettings(config); 180 mListView->writeSettings(config);
181 } 181 }
182 if (mTodoView) { 182 if (mTodoView) {
183 mTodoView->saveLayout(config,"Todo View"); 183 mTodoView->saveLayout(config,"Todo View");
184 } 184 }
185} 185}
186 186
187void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen ) 187void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen )
188{ 188{
189 189
190 //mFlagShowNextxDays = false; 190 //mFlagShowNextxDays = false;
191 //if(view == mCurrentView) return; 191 //if(view == mCurrentView) return;
192 if ( view == 0 ) { 192 if ( view == 0 ) {
193 view = mCurrentView; 193 view = mCurrentView;
194 if ( view == 0 ) 194 if ( view == 0 )
195 return; 195 return;
196 } 196 }
197 bool full = fullScreen; 197 bool full = fullScreen;
198 if(view == mCurrentView && view != mWhatsNextView ) { 198 if(view == mCurrentView && view != mWhatsNextView ) {
199 if ( mCurrentAgendaView < 0 ) 199 if ( mCurrentAgendaView < 0 )
200 return; 200 return;
201 full = mMainView->leftFrame()->isVisible(); 201 full = mMainView->leftFrame()->isVisible();
202 } else { 202 } else {
203 if ( view == mMonthView && mMonthView) 203 if ( view == mMonthView && mMonthView)
204 ;//mMonthView->skipResize = true ; 204 ;//mMonthView->skipResize = true ;
205 mCurrentView = view; 205 mCurrentView = view;
206 // bool full = fullScreen; 206 // bool full = fullScreen;
207 bool isFull = !mMainView->leftFrame()->isVisible(); 207 bool isFull = !mMainView->leftFrame()->isVisible();
208 if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen ) 208 if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen )
209 full = true; 209 full = true;
210 if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen ) 210 if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen )
211 full = false; 211 full = false;
212 } 212 }
213 if ( mAgendaView ) mAgendaView->deleteSelectedDateTime(); 213 if ( mAgendaView ) mAgendaView->deleteSelectedDateTime();
214 //raiseCurrentView( full ); 214 //raiseCurrentView( full );
215 mMainView->processIncidenceSelection( 0 ); 215 mMainView->processIncidenceSelection( 0 );
216 //mMainView->updateView(); 216 //mMainView->updateView();
217 raiseCurrentView( full, true ); 217 raiseCurrentView( full, true );
218 mMainView->adaptNavigationUnits(); 218 mMainView->adaptNavigationUnits();
219} 219}
220 220
221void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView ) 221void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView )
222{ 222{
223 mCurrentAgendaView = 0; 223 mCurrentAgendaView = 0;
224 if ( fullScreen ) { 224 if ( fullScreen ) {
225 mMainView->leftFrame()->hide(); 225 mMainView->leftFrame()->hide();
226 } else { 226 } else {
227 mMainView->leftFrame()->show(); 227 mMainView->leftFrame()->show();
228 } 228 }
229 emit signalFullScreen( !fullScreen ); 229 emit signalFullScreen( !fullScreen );
230 if ( callUpdateView ) 230 if ( callUpdateView )
231 mMainView->updateView(); 231 mMainView->updateView();
232 232
233 if ( globalFlagBlockAgenda == 5 ) { 233 if ( globalFlagBlockAgenda == 5 ) {
234 globalFlagBlockAgenda = 4; 234 globalFlagBlockAgenda = 4;
235 globalFlagBlockAgendaItemPaint = 1; 235 globalFlagBlockAgendaItemPaint = 1;
236 } 236 }
237 mMainView->viewStack()->raiseWidget(mCurrentView); 237 mMainView->viewStack()->raiseWidget(mCurrentView);
238 if ( globalFlagBlockAgenda == 4 ) { 238 if ( globalFlagBlockAgenda == 4 ) {
239 if ( mCurrentView == mAgendaView ) { 239 if ( mCurrentView == mAgendaView ) {
240 //globalFlagBlockAgenda =1 ; 240 //globalFlagBlockAgenda =1 ;
241 if ( KOPrefs::instance()->mSetTimeToDayStartAt ) 241 if ( KOPrefs::instance()->mSetTimeToDayStartAt )
242 mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); 242 mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins );
243 else if ( KOPrefs::instance()->mCenterOnCurrentTime ) 243 else if ( KOPrefs::instance()->mCenterOnCurrentTime )
244 mAgendaView->setStartHour( QTime::currentTime ().hour() ); 244 mAgendaView->setStartHour( QTime::currentTime ().hour() );
245 qApp->processEvents(); 245 qApp->processEvents();
246 //qDebug("qApp->processEvents() "); 246 //qDebug("qApp->processEvents() ");
247 globalFlagBlockAgenda = 0; 247 globalFlagBlockAgenda = 0;
248 mAgendaView->repaintAgenda(); 248 mAgendaView->repaintAgenda();
249 249
250 } 250 }
251 globalFlagBlockAgenda = 0; 251 globalFlagBlockAgenda = 0;
252 } 252 }
253 emit signalAgendaView( mCurrentView == mAgendaView ); 253 emit signalAgendaView( mCurrentView == mAgendaView );
254 //qDebug("raiseCurrentView ende "); 254 //qDebug("raiseCurrentView ende ");
255 255
256} 256}
257 257
258void KOViewManager::updateView() 258void KOViewManager::updateView()
259{ 259{
260 // qDebug("KOViewManager::updateView() "); 260 // qDebug("KOViewManager::updateView() ");
261 // if we are updating mTodoView, we get endless recursion 261 // if we are updating mTodoView, we get endless recursion
262 if ( mTodoView == mCurrentView ) 262 if ( mTodoView == mCurrentView )
263 return; 263 return;
264 if ( mCurrentView ) mCurrentView->updateView(); 264 if ( mCurrentView ) mCurrentView->updateView();
265 265
266} 266}
267 267
268void KOViewManager::updateView(const QDate &start, const QDate &end) 268void KOViewManager::updateView(const QDate &start, const QDate &end)
269{ 269{
270 // kdDebug() << "KOViewManager::updateView()" << endl; 270 // kdDebug() << "KOViewManager::updateView()" << endl;
271 271
272 if (mCurrentView) mCurrentView->showDates(start, end); 272 if (mCurrentView) mCurrentView->showDates(start, end);
273 273
274 if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView(); 274 if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView();
275} 275}
276 276
277 277
278void KOViewManager::updateWNview() 278void KOViewManager::updateWNview()
279{ 279{
280 if ( mCurrentView == mWhatsNextView && mWhatsNextView ) 280 if ( mCurrentView == mWhatsNextView && mWhatsNextView )
281 mWhatsNextView->updateView(); 281 mWhatsNextView->updateView();
282 282
283} 283}
284void KOViewManager::showWhatsNextView() 284void KOViewManager::showWhatsNextView()
285{ 285{
286 if (!mWhatsNextView) { 286 if (!mWhatsNextView) {
287 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(), 287 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(),
288 "KOViewManager::WhatsNextView"); 288 "KOViewManager::WhatsNextView");
289 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog()); 289 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog());
290 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig())); 290 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig()));
291 addView(mWhatsNextView); 291 addView(mWhatsNextView);
292 connect(this, SIGNAL( printWNV() ), 292 connect(this, SIGNAL( printWNV() ),
293 mWhatsNextView, SLOT( printMe() ) ); 293 mWhatsNextView, SLOT( printMe() ) );
294 } 294 }
295 globalFlagBlockAgenda = 1; 295 globalFlagBlockAgenda = 1;
296 showView(mWhatsNextView, true ); 296 showView(mWhatsNextView, true );
297 //mWhatsNextView->updateView(); 297 //mWhatsNextView->updateView();
298 298
299} 299}
300 300
301void KOViewManager::showListView() 301void KOViewManager::showListView()
302{ 302{
303 if (!mListView) { 303 if (!mListView) {
304 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView"); 304 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView");
305 addView(mListView); 305 addView(mListView);
306 306
307 connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)), 307 connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)),
308 mMainView, SLOT(showIncidence(Incidence *))); 308 mMainView, SLOT(showIncidence(Incidence *)));
309 connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)), 309 connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)),
310 mMainView, SLOT(editIncidence(Incidence *))); 310 mMainView, SLOT(editIncidence(Incidence *)));
311 connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)), 311 connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)),
312 mMainView, SLOT(deleteIncidence(Incidence *))); 312 mMainView, SLOT(deleteIncidence(Incidence *)));
313 connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ), 313 connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ),
314 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 314 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
315 connect( mListView, SIGNAL( signalNewEvent() ), 315 connect( mListView, SIGNAL( signalNewEvent() ),
316 mMainView, SLOT( newEvent() ) ); 316 mMainView, SLOT( newEvent() ) );
317 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig())); 317 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig()));
318 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), 318 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ),
319 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 319 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
320 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), 320 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ),
321 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 321 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
322 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 322 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
323 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 323 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
324 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 324 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
325 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 325 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
326 } 326 }
327 // bool temp = mFlagShowNextxDays; 327 // bool temp = mFlagShowNextxDays;
328 //globalFlagBlockPainting = true; 328 //globalFlagBlockPainting = true;
329 globalFlagBlockAgenda = 1; 329 globalFlagBlockAgenda = 1;
330 if ( KOPrefs::instance()->mListViewMonthTimespan ) { 330 if ( KOPrefs::instance()->mListViewMonthTimespan ) {
331 mMainView->setBlockShowDates( true ); 331 mMainView->setBlockShowDates( true );
332 mMainView->dateNavigator()->selectMonth(); 332 mMainView->dateNavigator()->selectMonth();
333 mMainView->setBlockShowDates( false ); 333 mMainView->setBlockShowDates( false );
334 } 334 }
335 showView(mListView, KOPrefs::instance()->mFullViewTodo); 335 showView(mListView, KOPrefs::instance()->mFullViewTodo);
336 //mFlagShowNextxDays = temp; 336 //mFlagShowNextxDays = temp;
337} 337}
338 338
339void KOViewManager::showAgendaView( bool fullScreen ) 339void KOViewManager::showAgendaView( bool fullScreen )
340{ 340{
341 341
342 mMainView->dialogManager()->hideSearchDialog(); 342 mMainView->dialogManager()->hideSearchDialog();
343 // qDebug("KOViewManager::showAgendaView "); 343 // qDebug("KOViewManager::showAgendaView ");
344 bool full; 344 bool full;
345 full = fullScreen; 345 full = fullScreen;
346 if (!mAgendaView) { 346 if (!mAgendaView) {
347 full = false; 347 full = false;
348 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView"); 348 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView");
349 addView(mAgendaView); 349 addView(mAgendaView);
350#ifndef DESKTOP_VERSION 350#ifndef DESKTOP_VERSION
351 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold ); 351 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold );
352#endif 352#endif
353 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )), 353 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )),
354 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) )); 354 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) ));
355 355
356 // SIGNALS/SLOTS FOR DAY/WEEK VIEW 356 // SIGNALS/SLOTS FOR DAY/WEEK VIEW
357 357
358 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate ))); 358 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate )));
359 359
360 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)), 360 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)),
361 mMainView, SLOT(newTodoDateTime(QDateTime,bool))); 361 mMainView, SLOT(newTodoDateTime(QDateTime,bool)));
362 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), 362 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)),
363 mMainView, SLOT(newEvent(QDateTime))); 363 mMainView, SLOT(newEvent(QDateTime)));
364 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), 364 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)),
365 mMainView, SLOT(newEvent(QDateTime,QDateTime))); 365 mMainView, SLOT(newEvent(QDateTime,QDateTime)));
366 connect(mAgendaView,SIGNAL(newEventSignal(QDate)), 366 connect(mAgendaView,SIGNAL(newEventSignal(QDate)),
367 mMainView, SLOT(newEvent(QDate))); 367 mMainView, SLOT(newEvent(QDate)));
368 368
369 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)), 369 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)),
370 mMainView, SLOT(editIncidence(Incidence *))); 370 mMainView, SLOT(editIncidence(Incidence *)));
371 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)), 371 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)),
372 mMainView, SLOT(showIncidence(Incidence *))); 372 mMainView, SLOT(showIncidence(Incidence *)));
373 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)), 373 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)),
374 mMainView, SLOT(deleteIncidence(Incidence *))); 374 mMainView, SLOT(deleteIncidence(Incidence *)));
375 375
376 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ), 376 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ),
377 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 377 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
378 378
379 connect(mAgendaView, SIGNAL( toggleExpand() ), 379 connect(mAgendaView, SIGNAL( toggleExpand() ),
380 mMainView, SLOT( toggleExpand() ) ); 380 mMainView, SLOT( toggleExpand() ) );
381 381
382 connect(mMainView, SIGNAL( calendarViewExpanded( bool ) ), 382 connect(mMainView, SIGNAL( calendarViewExpanded( bool ) ),
383 mAgendaView, SLOT( setExpandedButton( bool ) ) ); 383 mAgendaView, SLOT( setExpandedButton( bool ) ) );
384 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ), 384 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ),
385 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ; 385 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ;
386 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ), 386 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ),
387 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ; 387 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ;
388 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig())); 388 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig()));
389 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView, 389 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView,
390 SLOT( updateTodo( Todo *, int ) ) ); 390 SLOT( updateTodo( Todo *, int ) ) );
391 connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )), 391 connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )),
392 mMainView, SIGNAL( todoModified( Todo *, int ))); 392 mMainView, SIGNAL( todoModified( Todo *, int )));
393 connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 393 connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
394 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 394 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
395 connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 395 connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
396 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 396 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
397 connect( mAgendaView, SIGNAL( selectWeekNum( int ) ), 397 connect( mAgendaView, SIGNAL( selectWeekNum( int ) ),
398 mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); 398 mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) );
399 mAgendaView->readSettings(); 399 mAgendaView->readSettings();
400 mAgendaView->updateConfig(); 400 mAgendaView->updateConfig();
401 } 401 }
402 402
403 showView( mAgendaView, full); 403 showView( mAgendaView, full);
404 404
405} 405}
406 406
407void KOViewManager::showDayView() 407void KOViewManager::showDayView()
408{ 408{
409 mFlagShowNextxDays = false; 409 mFlagShowNextxDays = false;
410 globalFlagBlockLabel = 1; 410 globalFlagBlockLabel = 1;
411 globalFlagBlockAgenda = 1; 411 globalFlagBlockAgenda = 1;
412 if ( mCurrentAgendaView != 1 ) 412 if ( mCurrentAgendaView != 1 )
413 mCurrentAgendaView = -1; 413 mCurrentAgendaView = -1;
414 showAgendaView(); 414 showAgendaView();
415 qApp->processEvents(); 415 qApp->processEvents();
416 globalFlagBlockAgenda = 2; 416 globalFlagBlockAgenda = 2;
417 globalFlagBlockLabel = 0; 417 globalFlagBlockLabel = 0;
418 mMainView->dateNavigator()->selectDates( 1 ); 418 mMainView->dateNavigator()->selectDates( 1 );
419 mCurrentAgendaView = 1 ; 419 mCurrentAgendaView = 1 ;
420 420
421} 421}
422 422
423void KOViewManager::showWorkWeekView() 423void KOViewManager::showWorkWeekView()
424{ 424{
425 mFlagShowNextxDays = false; 425 mFlagShowNextxDays = false;
426 globalFlagBlockAgenda = 1; 426 globalFlagBlockAgenda = 1;
427 globalFlagBlockLabel = 1; 427 globalFlagBlockLabel = 1;
428 if ( mCurrentAgendaView != 5 ) 428 if ( mCurrentAgendaView != 5 )
429 mCurrentAgendaView = -1; 429 mCurrentAgendaView = -1;
430 showAgendaView(); 430 showAgendaView();
431 qApp->processEvents(); 431 qApp->processEvents();
432 globalFlagBlockAgenda = 2; 432 globalFlagBlockAgenda = 2;
433 globalFlagBlockLabel = 0; 433 globalFlagBlockLabel = 0;
434 mMainView->dateNavigator()->selectWorkWeek(); 434 mMainView->dateNavigator()->selectWorkWeek();
435 mCurrentAgendaView = 5 ; 435 mCurrentAgendaView = 5 ;
436 436
437} 437}
438 438
439void KOViewManager::showWeekView() 439void KOViewManager::showWeekView()
440{ 440{
441 /* 441 /*
442 globalFlagBlockAgenda = 2; 442 globalFlagBlockAgenda = 2;
443 qDebug("4globalFlagBlockAgenda = 2; "); 443 qDebug("4globalFlagBlockAgenda = 2; ");
444 //globalFlagBlockPainting = true; 444 //globalFlagBlockPainting = true;
445 mMainView->dateNavigator()->selectWeek(); 445 mMainView->dateNavigator()->selectWeek();
446 showAgendaView(); 446 showAgendaView();
447 */ 447 */
448 448
449 449
450 mFlagShowNextxDays = false; 450 mFlagShowNextxDays = false;
451 globalFlagBlockAgenda = 1; 451 globalFlagBlockAgenda = 1;
452 globalFlagBlockLabel = 1; 452 globalFlagBlockLabel = 1;
453 if ( mCurrentAgendaView != 7 ) 453 if ( mCurrentAgendaView != 7 )
454 mCurrentAgendaView = -1; 454 mCurrentAgendaView = -1;
455 showAgendaView(); 455 showAgendaView();
456 qApp->processEvents(); 456 qApp->processEvents();
457 globalFlagBlockAgenda = 2; 457 globalFlagBlockAgenda = 2;
458 globalFlagBlockLabel = 0; 458 globalFlagBlockLabel = 0;
459 mMainView->dateNavigator()->selectWeek(); 459 mMainView->dateNavigator()->selectWeek();
460 mCurrentAgendaView = 7 ; 460 mCurrentAgendaView = 7 ;
461} 461}
462 462
463void KOViewManager::showNextXView() 463void KOViewManager::showNextXView()
464{ 464{
465 465
466 globalFlagBlockAgenda = 1; 466 globalFlagBlockAgenda = 1;
467 if ( mCurrentAgendaView != 3 ) 467 if ( mCurrentAgendaView != 3 )
468 mCurrentAgendaView = -1; 468 mCurrentAgendaView = -1;
469 showAgendaView(KOPrefs::instance()->mFullViewMonth); 469 showAgendaView(KOPrefs::instance()->mFullViewMonth);
470 globalFlagBlockAgenda = 2; 470 globalFlagBlockAgenda = 2;
471 mMainView->dateNavigator()->selectDates( QDate::currentDate(), 471 mMainView->dateNavigator()->selectDates( QDate::currentDate(),
472 KOPrefs::instance()->mNextXDays ); 472 KOPrefs::instance()->mNextXDays );
473 mFlagShowNextxDays = true; 473 mFlagShowNextxDays = true;
474 mCurrentAgendaView = 3 ; 474 mCurrentAgendaView = 3 ;
475} 475}
476bool KOViewManager::showsNextDays() 476bool KOViewManager::showsNextDays()
477{ 477{
478 return mFlagShowNextxDays; 478 return mFlagShowNextxDays;
479} 479}
480void KOViewManager::showMonthView() 480void KOViewManager::showMonthView()
481 { 481 {
482 if (!mMonthView) { 482 if (!mMonthView) {
483 mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView"); 483 mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView");
484 484
485 addView(mMonthView); 485 addView(mMonthView);
486 // mMonthView->show(); 486 // mMonthView->show();
487 // SIGNALS/SLOTS FOR MONTH VIEW 487 // SIGNALS/SLOTS FOR MONTH VIEW
488 connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), 488 connect(mMonthView, SIGNAL(newEventSignal(QDateTime)),
489 mMainView, SLOT(newEvent(QDateTime))); 489 mMainView, SLOT(newEvent(QDateTime)));
490 490
491 connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), 491 connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)),
492 mMainView, SLOT(showIncidence(Incidence *))); 492 mMainView, SLOT(showIncidence(Incidence *)));
493 connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)), 493 connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)),
494 mMainView, SLOT(editIncidence(Incidence *))); 494 mMainView, SLOT(editIncidence(Incidence *)));
495 connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)), 495 connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)),
496 mMainView, SLOT(deleteIncidence(Incidence *))); 496 mMainView, SLOT(deleteIncidence(Incidence *)));
497 497
498 connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ), 498 connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ),
499 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 499 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
500 connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), 500 connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ),
501 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 501 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
502 connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), 502 connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ),
503 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 503 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
504 504
505 connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 505 connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
506 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 506 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
507 connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 507 connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
508 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 508 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
509 connect( mMonthView, SIGNAL( selectWeekNum( int ) ), 509 connect( mMonthView, SIGNAL( selectWeekNum( int ) ),
510 mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); 510 mMainView->dateNavigator(), SLOT ( selectWeekFromMonthView( int ) ) );
511 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), 511 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ),
512 mMainView, SLOT ( showDay( QDate ) ) ); 512 mMainView, SLOT ( showDay( QDate ) ) );
513 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); 513 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig()));
514 connect( mMonthView, SIGNAL(nextMonth() ), 514 connect( mMonthView, SIGNAL(nextMonth() ),
515 mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) ); 515 mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) );
516 connect( mMonthView, SIGNAL(prevMonth() ), 516 connect( mMonthView, SIGNAL(prevMonth() ),
517 mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) ); 517 mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) );
518 connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ), 518 connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ),
519 mMainView->dateNavigator(), SLOT( selectPreviousYear() ) ); 519 mMainView->dateNavigator(), SLOT( selectPreviousYear() ) );
520 connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ), 520 connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ),
521 mMainView->dateNavigator(), SLOT( selectNextYear() ) ); 521 mMainView->dateNavigator(), SLOT( selectNextYear() ) );
522 connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ), 522 connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ),
523 mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) ); 523 mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) );
524 connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ), 524 connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ),
525 mMainView->dateNavigator(), SLOT( selectNextMonth() ) ); 525 mMainView->dateNavigator(), SLOT( selectNextMonth() ) );
526 connect( mMonthView->navigatorBar(), SIGNAL( selectWeek( int ) ),
527 mMainView->dateNavigator(), SLOT( selectWeek( int ) ) );
528 526
529 connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), 527 connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ),
530 mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) ); 528 mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) );
531 529
532 530
533 connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ), 531 connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ),
534 mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) ); 532 mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) );
535 533
536 } 534 }
537 535
538 globalFlagBlockAgenda = 1; 536 globalFlagBlockAgenda = 1;
539 //mFlagShowNextxDays = false; 537 //mFlagShowNextxDays = false;
540 // if(mMonthView == mCurrentView) return; 538 // if(mMonthView == mCurrentView) return;
541 if ( KOPrefs::instance()->mMonthViewWeek ) 539 if ( KOPrefs::instance()->mMonthViewWeek )
542 mMainView->dateNavigator()->selectWeek(); 540 mMainView->dateNavigator()->selectWeek();
543 else 541 else
544 mMainView->dateNavigator()->selectMonth(); 542 mMainView->dateNavigator()->selectMonth();
545 543
546 showView(mMonthView, true ); 544 showView(mMonthView, true );
547 545
548} 546}
549 547
550void KOViewManager::showTodoView() 548void KOViewManager::showTodoView()
551{ 549{
552 //mFlagShowNextxDays = false; 550 //mFlagShowNextxDays = false;
553 if ( !mTodoView ) { 551 if ( !mTodoView ) {
554 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), 552 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(),
555 "KOViewManager::TodoView" ); 553 "KOViewManager::TodoView" );
556 554
557 addView( mTodoView ); 555 addView( mTodoView );
558 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); 556 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold );
559 557
560 // SIGNALS/SLOTS FOR TODO VIEW 558 // SIGNALS/SLOTS FOR TODO VIEW
561 connect( mTodoView, SIGNAL( newTodoSignal() ), 559 connect( mTodoView, SIGNAL( newTodoSignal() ),
562 mMainView, SLOT( newTodo() ) ); 560 mMainView, SLOT( newTodo() ) );
563 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), 561 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ),
564 mMainView, SLOT( newSubTodo( Todo *) ) ); 562 mMainView, SLOT( newSubTodo( Todo *) ) );
565 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), 563 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ),
566 mMainView, SLOT( showTodo( Todo * ) ) ); 564 mMainView, SLOT( showTodo( Todo * ) ) );
567 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), 565 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ),
568 mMainView, SLOT( editTodo( Todo * ) ) ); 566 mMainView, SLOT( editTodo( Todo * ) ) );
569 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), 567 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ),
570 mMainView, SLOT( deleteTodo( Todo * ) ) ); 568 mMainView, SLOT( deleteTodo( Todo * ) ) );
571 connect( mTodoView, SIGNAL( purgeCompletedSignal() ), 569 connect( mTodoView, SIGNAL( purgeCompletedSignal() ),
572 mMainView, SLOT( purgeCompleted() ) ); 570 mMainView, SLOT( purgeCompleted() ) );
573 571
574 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), 572 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ),
575 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 573 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
576 574
577 connect( mMainView, SIGNAL( configChanged() ), mTodoView, 575 connect( mMainView, SIGNAL( configChanged() ), mTodoView,
578 SLOT( updateConfig() ) ); 576 SLOT( updateConfig() ) );
579 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView, 577 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView,
580 SLOT( updateTodo( Todo *, int ) ) ); 578 SLOT( updateTodo( Todo *, int ) ) );
581 connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ), 579 connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ),
582 mMainView, SIGNAL ( todoModified( Todo *, int ) ) ); 580 mMainView, SIGNAL ( todoModified( Todo *, int ) ) );
583 connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ), 581 connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ),
584 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 582 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
585 connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ), 583 connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ),
586 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 584 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
587 connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ), 585 connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ),
588 mMainView, SLOT ( todo_unsub( Todo * ) ) ); 586 mMainView, SLOT ( todo_unsub( Todo * ) ) );
589 connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), 587 connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ),
590 mMainView, SLOT ( todo_resub( Todo *, Todo *) ) ); 588 mMainView, SLOT ( todo_resub( Todo *, Todo *) ) );
591 connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ), 589 connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ),
592 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 590 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
593 connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ), 591 connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ),
594 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 592 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
595 KConfig *config = KOGlobals::config(); 593 KConfig *config = KOGlobals::config();
596 mTodoView->restoreLayout(config,"Todo View"); 594 mTodoView->restoreLayout(config,"Todo View");
597 mTodoView->setNavigator( mMainView->dateNavigator() ); 595 mTodoView->setNavigator( mMainView->dateNavigator() );
598 } 596 }
599 597
600 globalFlagBlockAgenda = 1; 598 globalFlagBlockAgenda = 1;
601 showView( mTodoView, true ); 599 showView( mTodoView, true );
602 600
603} 601}
604 602
605void KOViewManager::showJournalView() 603void KOViewManager::showJournalView()
606{ 604{
607 //mFlagShowNextxDays = false; 605 //mFlagShowNextxDays = false;
608 if (!mJournalView) { 606 if (!mJournalView) {
609 mJournalView = new KOJournalView(mMainView->calendar(),mMainView->viewStack(), 607 mJournalView = new KOJournalView(mMainView->calendar(),mMainView->viewStack(),
610 "KOViewManager::JournalView"); 608 "KOViewManager::JournalView");
611 connect( mMainView, SIGNAL( configChanged() ), mJournalView, 609 connect( mMainView, SIGNAL( configChanged() ), mJournalView,
612 SLOT( updateConfig() ) ); 610 SLOT( updateConfig() ) );
613 connect(mJournalView, SIGNAL(deleteJournal(Journal *) ), mMainView,SLOT(deleteJournal(Journal *)) ); 611 connect(mJournalView, SIGNAL(deleteJournal(Journal *) ), mMainView,SLOT(deleteJournal(Journal *)) );
614 addView(mJournalView); 612 addView(mJournalView);
615 } 613 }
616 614
617 showView(mJournalView); 615 showView(mJournalView);
618 mMainView->dateNavigator()->selectDates( 1 ); 616 mMainView->dateNavigator()->selectDates( 1 );
619} 617}
620 618
621void KOViewManager::showTimeSpanView() 619void KOViewManager::showTimeSpanView()
622{ 620{
623 //mFlagShowNextxDays = false; 621 //mFlagShowNextxDays = false;
624 if (!mTimeSpanView) { 622 if (!mTimeSpanView) {
625 mTimeSpanView = new KOTimeSpanView(mMainView->calendar(),mMainView->viewStack(), 623 mTimeSpanView = new KOTimeSpanView(mMainView->calendar(),mMainView->viewStack(),
626 "KOViewManager::TimeSpanView"); 624 "KOViewManager::TimeSpanView");
627 addView(mTimeSpanView); 625 addView(mTimeSpanView);
628 626
629 mTimeSpanView->readSettings(); 627 mTimeSpanView->readSettings();
630 } 628 }
631 629
632 showView(mTimeSpanView); 630 showView(mTimeSpanView);
633} 631}
634 632
635Incidence *KOViewManager::currentSelection() 633Incidence *KOViewManager::currentSelection()
636{ 634{
637 if (!mCurrentView) return 0; 635 if (!mCurrentView) return 0;
638 if ( mCurrentView == mListView ) { 636 if ( mCurrentView == mListView ) {
639 if ( mListView->currentItem() ) 637 if ( mListView->currentItem() )
640 return mListView->currentItem(); 638 return mListView->currentItem();
641 } 639 }
642 return mCurrentView->selectedIncidences().first(); 640 return mCurrentView->selectedIncidences().first();
643} 641}
644 642
645QDate KOViewManager::currentSelectionDate() 643QDate KOViewManager::currentSelectionDate()
646{ 644{
647 QDate qd; 645 QDate qd;
648 if (mCurrentView) { 646 if (mCurrentView) {
649 DateList qvl = mCurrentView->selectedDates(); 647 DateList qvl = mCurrentView->selectedDates();
650 if (!qvl.isEmpty()) qd = qvl.first(); 648 if (!qvl.isEmpty()) qd = qvl.first();
651 } 649 }
652 return qd; 650 return qd;
653} 651}
654 652
655void KOViewManager::addView(KOrg::BaseView *view) 653void KOViewManager::addView(KOrg::BaseView *view)
656{ 654{
657#if QT_VERSION >= 0x030000 655#if QT_VERSION >= 0x030000
658 mMainView->viewStack()->addWidget( view ); 656 mMainView->viewStack()->addWidget( view );
659#else 657#else
660 mMainView->viewStack()->addWidget( view, 1 ); 658 mMainView->viewStack()->addWidget( view, 1 );
661#endif 659#endif
662} 660}
663 661
664void KOViewManager::setDocumentId( const QString &id ) 662void KOViewManager::setDocumentId( const QString &id )
665{ 663{
666 if (mTodoView) mTodoView->setDocumentId( id ); 664 if (mTodoView) mTodoView->setDocumentId( id );
667} 665}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 119e28a..7810bf9 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1,2049 +1,2049 @@
1#include <stdlib.h> 1#include <stdlib.h>
2 2
3#include <qaction.h> 3#include <qaction.h>
4#include <qpopupmenu.h> 4#include <qpopupmenu.h>
5#include <qpainter.h> 5#include <qpainter.h>
6#include <qwhatsthis.h> 6#include <qwhatsthis.h>
7#include <qpushbutton.h> 7#include <qpushbutton.h>
8#include <qmessagebox.h> 8#include <qmessagebox.h>
9#include <qlineedit.h> 9#include <qlineedit.h>
10#include <qtextcodec.h> 10#include <qtextcodec.h>
11#include <qfile.h> 11#include <qfile.h>
12#include <qdir.h> 12#include <qdir.h>
13#include <qapp.h> 13#include <qapp.h>
14#include <qfileinfo.h> 14#include <qfileinfo.h>
15#include <qlabel.h> 15#include <qlabel.h>
16#include <qspinbox.h> 16#include <qspinbox.h>
17#include <qcheckbox.h> 17#include <qcheckbox.h>
18#include <qmap.h> 18#include <qmap.h>
19#include <qwmatrix.h> 19#include <qwmatrix.h>
20#include <qtextbrowser.h> 20#include <qtextbrowser.h>
21#include <qtextstream.h> 21#include <qtextstream.h>
22#ifndef DESKTOP_VERSION 22#ifndef DESKTOP_VERSION
23#include <qpe/global.h> 23#include <qpe/global.h>
24#include <qpe/qpemenubar.h> 24#include <qpe/qpemenubar.h>
25#include <qpe/qpetoolbar.h> 25#include <qpe/qpetoolbar.h>
26#include <qpe/resource.h> 26#include <qpe/resource.h>
27#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
28#include <qtopia/alarmserver.h> 28#include <qtopia/alarmserver.h>
29#include <qtopia/qcopenvelope_qws.h> 29#include <qtopia/qcopenvelope_qws.h>
30#include <unistd.h> // for sleep 30#include <unistd.h> // for sleep
31#else 31#else
32#include <qmenubar.h> 32#include <qmenubar.h>
33#include <qtoolbar.h> 33#include <qtoolbar.h>
34#include <qapplication.h> 34#include <qapplication.h>
35//#include <resource.h> 35//#include <resource.h>
36 36
37#endif 37#endif
38#include <libkcal/calendarlocal.h> 38#include <libkcal/calendarlocal.h>
39#include <libkcal/todo.h> 39#include <libkcal/todo.h>
40#include <libkcal/phoneformat.h> 40#include <libkcal/phoneformat.h>
41#include <libkdepim/ksyncprofile.h> 41#include <libkdepim/ksyncprofile.h>
42#include <libkdepim/phoneaccess.h> 42#include <libkdepim/phoneaccess.h>
43#include <libkcal/kincidenceformatter.h> 43#include <libkcal/kincidenceformatter.h>
44#include <libkdepim/kpimglobalprefs.h> 44#include <libkdepim/kpimglobalprefs.h>
45 45
46#include "calendarview.h" 46#include "calendarview.h"
47#include "koviewmanager.h" 47#include "koviewmanager.h"
48#include "datenavigator.h" 48#include "datenavigator.h"
49#include "koagendaview.h" 49#include "koagendaview.h"
50#include "koagenda.h" 50#include "koagenda.h"
51#include "kodialogmanager.h" 51#include "kodialogmanager.h"
52#include "kdialogbase.h" 52#include "kdialogbase.h"
53#include "kapplication.h" 53#include "kapplication.h"
54#include "kofilterview.h" 54#include "kofilterview.h"
55#include "kstandarddirs.h" 55#include "kstandarddirs.h"
56#include "koprefs.h" 56#include "koprefs.h"
57#include "kfiledialog.h" 57#include "kfiledialog.h"
58#include "koglobals.h" 58#include "koglobals.h"
59#include "kglobal.h" 59#include "kglobal.h"
60#include "klocale.h" 60#include "klocale.h"
61#include "kconfig.h" 61#include "kconfig.h"
62#include "simplealarmclient.h" 62#include "simplealarmclient.h"
63#include "externalapphandler.h" 63#include "externalapphandler.h"
64 64
65using namespace KCal; 65using namespace KCal;
66#ifndef _WIN32_ 66#ifndef _WIN32_
67#include <unistd.h> 67#include <unistd.h>
68#else 68#else
69#ifdef _OL_IMPORT_ 69#ifdef _OL_IMPORT_
70#include "koimportoldialog.h" 70#include "koimportoldialog.h"
71#endif 71#endif
72#endif 72#endif
73#include "mainwindow.h" 73#include "mainwindow.h"
74 74
75 75
76class KOex2phonePrefs : public QDialog 76class KOex2phonePrefs : public QDialog
77{ 77{
78 public: 78 public:
79 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 79 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
80 QDialog( parent, name, true ) 80 QDialog( parent, name, true )
81 { 81 {
82 setCaption( i18n("Export to phone options") ); 82 setCaption( i18n("Export to phone options") );
83 QVBoxLayout* lay = new QVBoxLayout( this ); 83 QVBoxLayout* lay = new QVBoxLayout( this );
84 lay->setSpacing( 3 ); 84 lay->setSpacing( 3 );
85 lay->setMargin( 3 ); 85 lay->setMargin( 3 );
86 QLabel *lab; 86 QLabel *lab;
87 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 87 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
88 lab->setAlignment (AlignHCenter ); 88 lab->setAlignment (AlignHCenter );
89 QHBox* temphb; 89 QHBox* temphb;
90 temphb = new QHBox( this ); 90 temphb = new QHBox( this );
91 new QLabel( i18n("I/O device: "), temphb ); 91 new QLabel( i18n("I/O device: "), temphb );
92 mPhoneDevice = new QLineEdit( temphb); 92 mPhoneDevice = new QLineEdit( temphb);
93 lay->addWidget( temphb ); 93 lay->addWidget( temphb );
94 temphb = new QHBox( this ); 94 temphb = new QHBox( this );
95 new QLabel( i18n("Connection: "), temphb ); 95 new QLabel( i18n("Connection: "), temphb );
96 mPhoneConnection = new QLineEdit( temphb); 96 mPhoneConnection = new QLineEdit( temphb);
97 lay->addWidget( temphb ); 97 lay->addWidget( temphb );
98 temphb = new QHBox( this ); 98 temphb = new QHBox( this );
99 new QLabel( i18n("Model(opt.): "), temphb ); 99 new QLabel( i18n("Model(opt.): "), temphb );
100 mPhoneModel = new QLineEdit( temphb); 100 mPhoneModel = new QLineEdit( temphb);
101 lay->addWidget( temphb ); 101 lay->addWidget( temphb );
102 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); 102 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this );
103 mWriteBackFuture->setChecked( true ); 103 mWriteBackFuture->setChecked( true );
104 lay->addWidget( mWriteBackFuture ); 104 lay->addWidget( mWriteBackFuture );
105 temphb = new QHBox( this ); 105 temphb = new QHBox( this );
106 new QLabel( i18n("Max. weeks in future: ") , temphb ); 106 new QLabel( i18n("Max. weeks in future: ") , temphb );
107 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); 107 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb);
108 mWriteBackFutureWeeks->setValue( 8 ); 108 mWriteBackFutureWeeks->setValue( 8 );
109 lay->addWidget( temphb ); 109 lay->addWidget( temphb );
110 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); 110 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) );
111 lab->setAlignment (AlignHCenter ); 111 lab->setAlignment (AlignHCenter );
112 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 112 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
113 lay->addWidget( ok ); 113 lay->addWidget( ok );
114 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 114 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
115 lay->addWidget( cancel ); 115 lay->addWidget( cancel );
116 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 116 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
117 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 117 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
118 resize( 220, 240 ); 118 resize( 220, 240 );
119 qApp->processEvents(); 119 qApp->processEvents();
120 int dw = QApplication::desktop()->width(); 120 int dw = QApplication::desktop()->width();
121 int dh = QApplication::desktop()->height(); 121 int dh = QApplication::desktop()->height();
122 move( (dw-width())/2, (dh - height() )/2 ); 122 move( (dw-width())/2, (dh - height() )/2 );
123 } 123 }
124 124
125public: 125public:
126 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 126 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
127 QCheckBox* mWriteBackFuture; 127 QCheckBox* mWriteBackFuture;
128 QSpinBox* mWriteBackFutureWeeks; 128 QSpinBox* mWriteBackFutureWeeks;
129}; 129};
130 130
131int globalFlagBlockStartup; 131int globalFlagBlockStartup;
132MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : 132MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
133 QMainWindow( parent, name ) 133 QMainWindow( parent, name )
134{ 134{
135 135
136 136
137#ifdef DESKTOP_VERSION 137#ifdef DESKTOP_VERSION
138 setFont( QFont("Arial"), 14 ); 138 setFont( QFont("Arial"), 14 );
139#endif 139#endif
140 mClosed = false; 140 mClosed = false;
141 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 141 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
142 QString confFile = locateLocal("config","korganizerrc"); 142 QString confFile = locateLocal("config","korganizerrc");
143 QFileInfo finf ( confFile ); 143 QFileInfo finf ( confFile );
144 bool showWarning = !finf.exists(); 144 bool showWarning = !finf.exists();
145 setIcon(SmallIcon( "ko24" ) ); 145 setIcon(SmallIcon( "ko24" ) );
146 mBlockAtStartup = true; 146 mBlockAtStartup = true;
147 mFlagKeyPressed = false; 147 mFlagKeyPressed = false;
148 setCaption("KOrganizer/Pi"); 148 setCaption("KOrganizer/Pi");
149 KOPrefs *p = KOPrefs::instance(); 149 KOPrefs *p = KOPrefs::instance();
150 KPimGlobalPrefs::instance()->setGlobalConfig(); 150 KPimGlobalPrefs::instance()->setGlobalConfig();
151 if ( p->mHourSize > 22 ) 151 if ( p->mHourSize > 22 )
152 p->mHourSize = 22; 152 p->mHourSize = 22;
153 QMainWindow::ToolBarDock tbd; 153 QMainWindow::ToolBarDock tbd;
154 if ( p->mToolBarHor ) { 154 if ( p->mToolBarHor ) {
155 if ( p->mToolBarUp ) 155 if ( p->mToolBarUp )
156 tbd = Bottom; 156 tbd = Bottom;
157 else 157 else
158 tbd = Top; 158 tbd = Top;
159 } 159 }
160 else { 160 else {
161 if ( p->mToolBarUp ) 161 if ( p->mToolBarUp )
162 tbd = Right; 162 tbd = Right;
163 else 163 else
164 tbd = Left; 164 tbd = Left;
165 } 165 }
166 if ( KOPrefs::instance()->mUseAppColors ) 166 if ( KOPrefs::instance()->mUseAppColors )
167 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 167 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
168 globalFlagBlockStartup = 1; 168 globalFlagBlockStartup = 1;
169 iconToolBar = new QPEToolBar( this ); 169 iconToolBar = new QPEToolBar( this );
170 addToolBar (iconToolBar , tbd ); 170 addToolBar (iconToolBar , tbd );
171 mCalendarModifiedFlag = false; 171 mCalendarModifiedFlag = false;
172 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); 172 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this );
173 splash->setAlignment ( AlignCenter ); 173 splash->setAlignment ( AlignCenter );
174 setCentralWidget( splash ); 174 setCentralWidget( splash );
175#ifndef DESKTOP_VERSION 175#ifndef DESKTOP_VERSION
176 showMaximized(); 176 showMaximized();
177#endif 177#endif
178 178
179 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); 179 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ());
180 setDefaultPreferences(); 180 setDefaultPreferences();
181 mCalendar = new CalendarLocal(); 181 mCalendar = new CalendarLocal();
182 mView = new CalendarView( mCalendar, this,"mCalendar " ); 182 mView = new CalendarView( mCalendar, this,"mCalendar " );
183 mView->hide(); 183 mView->hide();
184 //mView->resize(splash->size() ); 184 //mView->resize(splash->size() );
185 initActions(); 185 initActions();
186 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu); 186 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu);
187 mSyncManager->setBlockSave(false); 187 mSyncManager->setBlockSave(false);
188 mView->setSyncManager(mSyncManager); 188 mView->setSyncManager(mSyncManager);
189#ifndef DESKTOP_VERSION 189#ifndef DESKTOP_VERSION
190 iconToolBar->show(); 190 iconToolBar->show();
191 qApp->processEvents(); 191 qApp->processEvents();
192#endif 192#endif
193 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); 193 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ());
194 int vh = height() ; 194 int vh = height() ;
195 int vw = width(); 195 int vw = width();
196 //qDebug("Toolbar hei %d ",iconToolBar->height() ); 196 //qDebug("Toolbar hei %d ",iconToolBar->height() );
197 if ( iconToolBar->orientation () == Qt:: Horizontal ) { 197 if ( iconToolBar->orientation () == Qt:: Horizontal ) {
198 vh -= iconToolBar->height(); 198 vh -= iconToolBar->height();
199 } else { 199 } else {
200 vw -= iconToolBar->height(); 200 vw -= iconToolBar->height();
201 } 201 }
202 //mView->setMaximumSize( splash->size() ); 202 //mView->setMaximumSize( splash->size() );
203 //mView->resize( splash->size() ); 203 //mView->resize( splash->size() );
204 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 204 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
205 mView->readSettings(); 205 mView->readSettings();
206 bool newFile = false; 206 bool newFile = false;
207 if( !QFile::exists( defaultFileName() ) ) { 207 if( !QFile::exists( defaultFileName() ) ) {
208 QFileInfo finfo ( defaultFileName() ); 208 QFileInfo finfo ( defaultFileName() );
209 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); 209 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics");
210 qDebug("oldfile %s ", oldFile.latin1()); 210 qDebug("oldfile %s ", oldFile.latin1());
211 QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n"; 211 QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n";
212 finfo.setFile( oldFile ); 212 finfo.setFile( oldFile );
213 if (finfo.exists() ) { 213 if (finfo.exists() ) {
214 KMessageBox::information( this, message); 214 KMessageBox::information( this, message);
215 mView->openCalendar( oldFile ); 215 mView->openCalendar( oldFile );
216 qApp->processEvents(); 216 qApp->processEvents();
217 } else { 217 } else {
218 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); 218 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics");
219 finfo.setFile( oldFile ); 219 finfo.setFile( oldFile );
220 if (finfo.exists() ) { 220 if (finfo.exists() ) {
221 KMessageBox::information( this, message); 221 KMessageBox::information( this, message);
222 mView->openCalendar( oldFile ); 222 mView->openCalendar( oldFile );
223 qApp->processEvents(); 223 qApp->processEvents();
224 } 224 }
225 } 225 }
226 mView->saveCalendar( defaultFileName() ); 226 mView->saveCalendar( defaultFileName() );
227 newFile = true; 227 newFile = true;
228 } 228 }
229 229
230 QTime neededSaveTime = QDateTime::currentDateTime().time(); 230 QTime neededSaveTime = QDateTime::currentDateTime().time();
231 mView->openCalendar( defaultFileName() ); 231 mView->openCalendar( defaultFileName() );
232 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 232 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
233 qDebug("KO: Calendar loading time: %d ms",msNeeded ); 233 qDebug("KO: Calendar loading time: %d ms",msNeeded );
234 234
235 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) { 235 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) {
236 KOPrefs::instance()->setAllDefaults(); 236 KOPrefs::instance()->setAllDefaults();
237 int count = mView->addCategories(); 237 int count = mView->addCategories();
238 } 238 }
239 processIncidenceSelection( 0 ); 239 processIncidenceSelection( 0 );
240 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), 240 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ),
241 SLOT( processIncidenceSelection( Incidence * ) ) ); 241 SLOT( processIncidenceSelection( Incidence * ) ) );
242 connect( mView, SIGNAL( modifiedChanged( bool ) ), 242 connect( mView, SIGNAL( modifiedChanged( bool ) ),
243 SLOT( slotModifiedChanged( bool ) ) ); 243 SLOT( slotModifiedChanged( bool ) ) );
244 244
245 245
246 connect( mView, SIGNAL( tempDisableBR(bool) ), 246 connect( mView, SIGNAL( tempDisableBR(bool) ),
247 SLOT( disableBR(bool) ) ); 247 SLOT( disableBR(bool) ) );
248 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) ); 248 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) );
249 mView->setModified( false ); 249 mView->setModified( false );
250 mBlockAtStartup = false; 250 mBlockAtStartup = false;
251 mView->setModified( false ); 251 mView->setModified( false );
252 setCentralWidget( mView ); 252 setCentralWidget( mView );
253 globalFlagBlockStartup = 0; 253 globalFlagBlockStartup = 0;
254 mView->show(); 254 mView->show();
255 delete splash; 255 delete splash;
256 if ( newFile ) 256 if ( newFile )
257 mView->updateConfig(); 257 mView->updateConfig();
258 // qApp->processEvents(); 258 // qApp->processEvents();
259 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 259 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
260 //fillSyncMenu(); 260 //fillSyncMenu();
261 261
262 262
263 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) ); 263 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) );
264 connect(mView , SIGNAL( save() ), this, SLOT( save() ) ); 264 connect(mView , SIGNAL( save() ), this, SLOT( save() ) );
265 connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) ); 265 connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) );
266 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); 266 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
267 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); 267 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
268 mSyncManager->setDefaultFileName( defaultFileName()); 268 mSyncManager->setDefaultFileName( defaultFileName());
269 connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) ); 269 connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) );
270 mSyncManager->fillSyncMenu(); 270 mSyncManager->fillSyncMenu();
271 271
272 272
273 273
274 mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins ); 274 mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins );
275 if ( showWarning ) { 275 if ( showWarning ) {
276 KMessageBox::information( this, 276 KMessageBox::information( this,
277 "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information"); 277 "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information");
278 qApp->processEvents(); 278 qApp->processEvents();
279 mView->dialogManager()->showSyncOptions(); 279 mView->dialogManager()->showSyncOptions();
280 } 280 }
281 281
282 //US listen for result adressed from Ka/Pi 282 //US listen for result adressed from Ka/Pi
283#ifndef DESKTOP_VERSION 283#ifndef DESKTOP_VERSION
284 connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 284 connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
285#endif 285#endif
286#ifndef DESKTOP_VERSION 286#ifndef DESKTOP_VERSION
287 infrared = 0; 287 infrared = 0;
288#endif 288#endif
289 updateWeek( mView->startDate() ); 289 updateWeek( mView->startDate() );
290 connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), 290 connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ),
291 SLOT( updateWeekNum( const KCal::DateList & ) ) ); 291 SLOT( updateWeekNum( const KCal::DateList & ) ) );
292 mBRdisabled = false; 292 mBRdisabled = false;
293 //toggleBeamReceive(); 293 //toggleBeamReceive();
294} 294}
295MainWindow::~MainWindow() 295MainWindow::~MainWindow()
296{ 296{
297 //qDebug("MainWindow::~MainWindow() "); 297 //qDebug("MainWindow::~MainWindow() ");
298 //save toolbar location 298 //save toolbar location
299 delete mCalendar; 299 delete mCalendar;
300 delete mSyncManager; 300 delete mSyncManager;
301#ifndef DESKTOP_VERSION 301#ifndef DESKTOP_VERSION
302 if ( infrared ) 302 if ( infrared )
303 delete infrared; 303 delete infrared;
304#endif 304#endif
305 305
306 306
307} 307}
308 308
309void MainWindow::disableBR(bool b) 309void MainWindow::disableBR(bool b)
310{ 310{
311#ifndef DESKTOP_VERSION 311#ifndef DESKTOP_VERSION
312 if ( b ) { 312 if ( b ) {
313 if ( infrared ) { 313 if ( infrared ) {
314 toggleBeamReceive(); 314 toggleBeamReceive();
315 mBRdisabled = true; 315 mBRdisabled = true;
316 } 316 }
317 mBRdisabled = true; 317 mBRdisabled = true;
318 } else { 318 } else {
319 if ( mBRdisabled ) { 319 if ( mBRdisabled ) {
320 mBRdisabled = false; 320 mBRdisabled = false;
321 //makes no sense,because other cal ap is probably running 321 //makes no sense,because other cal ap is probably running
322 // toggleBeamReceive(); 322 // toggleBeamReceive();
323 } 323 }
324 } 324 }
325#endif 325#endif
326 326
327} 327}
328bool MainWindow::beamReceiveEnabled() 328bool MainWindow::beamReceiveEnabled()
329{ 329{
330#ifndef DESKTOP_VERSION 330#ifndef DESKTOP_VERSION
331 return ( infrared != 0 ); 331 return ( infrared != 0 );
332#endif 332#endif
333 return false; 333 return false;
334} 334}
335 335
336void MainWindow::toggleBeamReceive() 336void MainWindow::toggleBeamReceive()
337{ 337{
338 if ( mBRdisabled ) 338 if ( mBRdisabled )
339 return; 339 return;
340#ifndef DESKTOP_VERSION 340#ifndef DESKTOP_VERSION
341 if ( infrared ) { 341 if ( infrared ) {
342 qDebug("disable BeamReceive "); 342 qDebug("disable BeamReceive ");
343 delete infrared; 343 delete infrared;
344 infrared = 0; 344 infrared = 0;
345 brAction->setOn(false); 345 brAction->setOn(false);
346 return; 346 return;
347 } 347 }
348 qDebug("enable BeamReceive "); 348 qDebug("enable BeamReceive ");
349 brAction->setOn(true); 349 brAction->setOn(true);
350 infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ; 350 infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ;
351 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(recieve( const QCString&, const QByteArray& ))); 351 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(recieve( const QCString&, const QByteArray& )));
352#endif 352#endif
353} 353}
354void MainWindow::showMaximized () 354void MainWindow::showMaximized ()
355{ 355{
356#ifndef DESKTOP_VERSION 356#ifndef DESKTOP_VERSION
357 if ( ! globalFlagBlockStartup ) 357 if ( ! globalFlagBlockStartup )
358 if ( mClosed ) 358 if ( mClosed )
359 mView->goToday(); 359 mView->goToday();
360#endif 360#endif
361 QWidget::showMaximized () ; 361 QWidget::showMaximized () ;
362 mClosed = false; 362 mClosed = false;
363} 363}
364void MainWindow::closeEvent( QCloseEvent* ce ) 364void MainWindow::closeEvent( QCloseEvent* ce )
365{ 365{
366 366
367 367
368 368
369 if ( ! KOPrefs::instance()->mAskForQuit ) { 369 if ( ! KOPrefs::instance()->mAskForQuit ) {
370 saveOnClose(); 370 saveOnClose();
371 mClosed = true; 371 mClosed = true;
372 ce->accept(); 372 ce->accept();
373 return; 373 return;
374 374
375 } 375 }
376 376
377 switch( QMessageBox::information( this, "KO/Pi", 377 switch( QMessageBox::information( this, "KO/Pi",
378 i18n("Do you really want\nto close KO/Pi?"), 378 i18n("Do you really want\nto close KO/Pi?"),
379 i18n("Close"), i18n("No"), 379 i18n("Close"), i18n("No"),
380 0, 0 ) ) { 380 0, 0 ) ) {
381 case 0: 381 case 0:
382 saveOnClose(); 382 saveOnClose();
383 mClosed = true; 383 mClosed = true;
384 ce->accept(); 384 ce->accept();
385 break; 385 break;
386 case 1: 386 case 1:
387 ce->ignore(); 387 ce->ignore();
388 break; 388 break;
389 case 2: 389 case 2:
390 390
391 default: 391 default:
392 break; 392 break;
393 } 393 }
394 394
395 395
396} 396}
397 397
398void MainWindow::recieve( const QCString& cmsg, const QByteArray& data ) 398void MainWindow::recieve( const QCString& cmsg, const QByteArray& data )
399{ 399{
400 QDataStream stream( data, IO_ReadOnly ); 400 QDataStream stream( data, IO_ReadOnly );
401 // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" ); 401 // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" );
402 //QString datamess; 402 //QString datamess;
403 //qDebug("message "); 403 //qDebug("message ");
404 qDebug("KO: QCOP message received: %s ", cmsg.data() ); 404 qDebug("KO: QCOP message received: %s ", cmsg.data() );
405 405
406 if ( cmsg == "setDocument(QString)" ) { 406 if ( cmsg == "setDocument(QString)" ) {
407 QDataStream stream( data, IO_ReadOnly ); 407 QDataStream stream( data, IO_ReadOnly );
408 QString fileName; 408 QString fileName;
409 stream >> fileName; 409 stream >> fileName;
410 //qDebug("filename %s ", fileName.latin1()); 410 //qDebug("filename %s ", fileName.latin1());
411 showMaximized(); 411 showMaximized();
412 raise(); 412 raise();
413 KOPrefs::instance()->mLastSyncedLocalFile = fileName ; 413 KOPrefs::instance()->mLastSyncedLocalFile = fileName ;
414 mSyncManager->slotSyncMenu( 1002 ); 414 mSyncManager->slotSyncMenu( 1002 );
415 return; 415 return;
416 } 416 }
417 417
418 if ( cmsg == "-writeFile" ) { 418 if ( cmsg == "-writeFile" ) {
419 // I made from the "-writeFile" an "-writeAlarm" 419 // I made from the "-writeFile" an "-writeAlarm"
420 mView->viewManager()->showWhatsNextView(); 420 mView->viewManager()->showWhatsNextView();
421 mCalendar->checkAlarmForIncidence( 0, true); 421 mCalendar->checkAlarmForIncidence( 0, true);
422 showMaximized(); 422 showMaximized();
423 raise(); 423 raise();
424 return; 424 return;
425 425
426 } 426 }
427 if ( cmsg == "-writeFileSilent" ) { 427 if ( cmsg == "-writeFileSilent" ) {
428 // I made from the "-writeFile" an "-writeAlarm" 428 // I made from the "-writeFile" an "-writeAlarm"
429 // mView->viewManager()->showWhatsNextView(); 429 // mView->viewManager()->showWhatsNextView();
430 mCalendar->checkAlarmForIncidence( 0, true); 430 mCalendar->checkAlarmForIncidence( 0, true);
431 //showMaximized(); 431 //showMaximized();
432 //raise(); 432 //raise();
433 hide(); 433 hide();
434 return; 434 return;
435 } 435 }
436 if ( cmsg == "-newCountdown" ) { 436 if ( cmsg == "-newCountdown" ) {
437 qDebug("newCountdown "); 437 qDebug("newCountdown ");
438 438
439 } 439 }
440 QString msg ; 440 QString msg ;
441 QString allmsg = cmsg; 441 QString allmsg = cmsg;
442 while ( allmsg.length() > 0 ) { 442 while ( allmsg.length() > 0 ) {
443 int nextC = allmsg.find( "-", 1 ); 443 int nextC = allmsg.find( "-", 1 );
444 if ( nextC == -1 ) { 444 if ( nextC == -1 ) {
445 msg = allmsg; 445 msg = allmsg;
446 allmsg = ""; 446 allmsg = "";
447 } else{ 447 } else{
448 msg = allmsg.left( nextC ); 448 msg = allmsg.left( nextC );
449 allmsg = allmsg.mid( nextC, allmsg.length()-nextC ); 449 allmsg = allmsg.mid( nextC, allmsg.length()-nextC );
450 } 450 }
451 //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() ); 451 //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() );
452 if ( msg == "-newEvent" ) { 452 if ( msg == "-newEvent" ) {
453 mView->newEvent(); 453 mView->newEvent();
454 } 454 }
455 if ( msg == "-newTodo" ) { 455 if ( msg == "-newTodo" ) {
456 mView->newTodo(); 456 mView->newTodo();
457 457
458 } 458 }
459 if ( msg == "-showWN" ) { 459 if ( msg == "-showWN" ) {
460 mView->viewManager()->showWhatsNextView(); 460 mView->viewManager()->showWhatsNextView();
461 } 461 }
462 if ( msg == "-showTodo" ) { 462 if ( msg == "-showTodo" ) {
463 mView->viewManager()->showTodoView(); 463 mView->viewManager()->showTodoView();
464 } 464 }
465 if ( msg == "-showList" ) { 465 if ( msg == "-showList" ) {
466 mView->viewManager()->showListView(); 466 mView->viewManager()->showListView();
467 } 467 }
468 else if ( msg == "-showDay" ) { 468 else if ( msg == "-showDay" ) {
469 mView->viewManager()->showDayView(); 469 mView->viewManager()->showDayView();
470 } 470 }
471 else if ( msg == "-showWWeek" ) { 471 else if ( msg == "-showWWeek" ) {
472 mView->viewManager()->showWorkWeekView(); 472 mView->viewManager()->showWorkWeekView();
473 } 473 }
474 else if ( msg == "-ringSync" ) { 474 else if ( msg == "-ringSync" ) {
475 mSyncManager->multiSync( false ); 475 mSyncManager->multiSync( false );
476 } 476 }
477 else if ( msg == "-showWeek" ) { 477 else if ( msg == "-showWeek" ) {
478 mView->viewManager()->showWeekView(); 478 mView->viewManager()->showWeekView();
479 } 479 }
480 else if ( msg == "-showTodo" ) { 480 else if ( msg == "-showTodo" ) {
481 mView->viewManager()->showTodoView(); 481 mView->viewManager()->showTodoView();
482 } 482 }
483 else if ( msg == "-showJournal" ) { 483 else if ( msg == "-showJournal" ) {
484 mView->dateNavigator()->selectDates( 1 ); 484 mView->dateNavigator()->selectDates( 1 );
485 mView->dateNavigator()->selectToday(); 485 mView->dateNavigator()->selectToday();
486 mView->viewManager()->showJournalView(); 486 mView->viewManager()->showJournalView();
487 } 487 }
488 else if ( msg == "-showKO" ) { 488 else if ( msg == "-showKO" ) {
489 mView->viewManager()->showNextXView(); 489 mView->viewManager()->showNextXView();
490 } 490 }
491 else if ( msg == "-showWNext" || msg == "nextView()" ) { 491 else if ( msg == "-showWNext" || msg == "nextView()" ) {
492 mView->viewManager()->showWhatsNextView(); 492 mView->viewManager()->showWhatsNextView();
493 } 493 }
494 else if ( msg == "-showNextXView" ) { 494 else if ( msg == "-showNextXView" ) {
495 mView->viewManager()->showNextXView(); 495 mView->viewManager()->showNextXView();
496 } 496 }
497 497
498 498
499 } 499 }
500 500
501 showMaximized(); 501 showMaximized();
502 raise(); 502 raise();
503} 503}
504 504
505QPixmap MainWindow::loadPixmap( QString name ) 505QPixmap MainWindow::loadPixmap( QString name )
506{ 506{
507 return SmallIcon( name ); 507 return SmallIcon( name );
508 508
509} 509}
510void MainWindow::initActions() 510void MainWindow::initActions()
511{ 511{
512 //KOPrefs::instance()->mShowFullMenu 512 //KOPrefs::instance()->mShowFullMenu
513 iconToolBar->clear(); 513 iconToolBar->clear();
514 KOPrefs *p = KOPrefs::instance(); 514 KOPrefs *p = KOPrefs::instance();
515 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); 515 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar );
516 516
517 QPopupMenu *viewMenu = new QPopupMenu( this ); 517 QPopupMenu *viewMenu = new QPopupMenu( this );
518 QPopupMenu *actionMenu = new QPopupMenu( this ); 518 QPopupMenu *actionMenu = new QPopupMenu( this );
519 QPopupMenu *importMenu = new QPopupMenu( this ); 519 QPopupMenu *importMenu = new QPopupMenu( this );
520 selectFilterMenu = new QPopupMenu( this ); 520 selectFilterMenu = new QPopupMenu( this );
521 selectFilterMenu->setCheckable( true ); 521 selectFilterMenu->setCheckable( true );
522 syncMenu = new QPopupMenu( this ); 522 syncMenu = new QPopupMenu( this );
523 configureAgendaMenu = new QPopupMenu( this ); 523 configureAgendaMenu = new QPopupMenu( this );
524 configureToolBarMenu = new QPopupMenu( this ); 524 configureToolBarMenu = new QPopupMenu( this );
525 QPopupMenu *helpMenu = new QPopupMenu( this ); 525 QPopupMenu *helpMenu = new QPopupMenu( this );
526 if ( KOPrefs::instance()->mShowFullMenu ) { 526 if ( KOPrefs::instance()->mShowFullMenu ) {
527 QMenuBar *menuBar1; 527 QMenuBar *menuBar1;
528 menuBar1 = menuBar(); 528 menuBar1 = menuBar();
529 menuBar1->insertItem( i18n("File"), importMenu ); 529 menuBar1->insertItem( i18n("File"), importMenu );
530 menuBar1->insertItem( i18n("View"), viewMenu ); 530 menuBar1->insertItem( i18n("View"), viewMenu );
531 menuBar1->insertItem( i18n("Actions"), actionMenu ); 531 menuBar1->insertItem( i18n("Actions"), actionMenu );
532#ifdef DESKTOP_VERSION 532#ifdef DESKTOP_VERSION
533 menuBar1->insertItem( i18n("Synchronize"), syncMenu ); 533 menuBar1->insertItem( i18n("Synchronize"), syncMenu );
534 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 534 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu );
535#else 535#else
536 menuBar1->insertItem( i18n("Sync"), syncMenu ); 536 menuBar1->insertItem( i18n("Sync"), syncMenu );
537 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); 537 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu );
538#endif 538#endif
539 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); 539 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu );
540 menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); 540 menuBar1->insertItem( i18n("Filter"),selectFilterMenu );
541 menuBar1->insertItem( i18n("Help"), helpMenu ); 541 menuBar1->insertItem( i18n("Help"), helpMenu );
542 } else { 542 } else {
543 QPEMenuBar *menuBar1; 543 QPEMenuBar *menuBar1;
544 menuBar1 = new QPEMenuBar( iconToolBar ); 544 menuBar1 = new QPEMenuBar( iconToolBar );
545 QPopupMenu *menuBar = new QPopupMenu( this ); 545 QPopupMenu *menuBar = new QPopupMenu( this );
546 menuBar1->insertItem( i18n("ME"), menuBar); 546 menuBar1->insertItem( i18n("ME"), menuBar);
547 menuBar->insertItem( i18n("File"), importMenu ); 547 menuBar->insertItem( i18n("File"), importMenu );
548 menuBar->insertItem( i18n("View"), viewMenu ); 548 menuBar->insertItem( i18n("View"), viewMenu );
549 menuBar->insertItem( i18n("Actions"), actionMenu ); 549 menuBar->insertItem( i18n("Actions"), actionMenu );
550 menuBar->insertItem( i18n("Synchronize"), syncMenu ); 550 menuBar->insertItem( i18n("Synchronize"), syncMenu );
551 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 551 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu );
552 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); 552 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu );
553 menuBar->insertItem( i18n("Filter"),selectFilterMenu ); 553 menuBar->insertItem( i18n("Filter"),selectFilterMenu );
554 menuBar->insertItem( i18n("Help"), helpMenu ); 554 menuBar->insertItem( i18n("Help"), helpMenu );
555 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); 555 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() );
556 menuBar1->setMaximumSize( menuBar1->sizeHint( )); 556 menuBar1->setMaximumSize( menuBar1->sizeHint( ));
557 } 557 }
558 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 558 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
559 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); 559 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) );
560 QIconSet icon; 560 QIconSet icon;
561 int pixWid = 22, pixHei = 22; 561 int pixWid = 22, pixHei = 22;
562 QString pathString = ""; 562 QString pathString = "";
563 if ( !p->mToolBarMiniIcons ) { 563 if ( !p->mToolBarMiniIcons ) {
564 if ( QApplication::desktop()->width() < 480 ) { 564 if ( QApplication::desktop()->width() < 480 ) {
565 pathString += "icons16/"; 565 pathString += "icons16/";
566 pixWid = 18; pixHei = 16; 566 pixWid = 18; pixHei = 16;
567 } 567 }
568 } else { 568 } else {
569 pathString += "iconsmini/"; 569 pathString += "iconsmini/";
570 pixWid = 18; pixHei = 16; 570 pixWid = 18; pixHei = 16;
571 } 571 }
572 mWeekBgColor = iconToolBar->backgroundColor(); 572 mWeekBgColor = iconToolBar->backgroundColor();
573 mWeekPixmap.resize( pixWid , pixHei ); 573 mWeekPixmap.resize( pixWid , pixHei );
574 mWeekPixmap.fill( mWeekBgColor ); 574 mWeekPixmap.fill( mWeekBgColor );
575 icon = mWeekPixmap; 575 icon = mWeekPixmap;
576 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); 576 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this );
577 mWeekAction->addTo( iconToolBar ); 577 mWeekAction->addTo( iconToolBar );
578 mWeekFont = font(); 578 mWeekFont = font();
579 579
580 int fontPoint = mWeekFont.pointSize(); 580 int fontPoint = mWeekFont.pointSize();
581 QFontMetrics f( mWeekFont ); 581 QFontMetrics f( mWeekFont );
582 int fontWid = f.width( "30" ); 582 int fontWid = f.width( "30" );
583 while ( fontWid > pixWid ) { 583 while ( fontWid > pixWid ) {
584 --fontPoint; 584 --fontPoint;
585 mWeekFont.setPointSize( fontPoint ); 585 mWeekFont.setPointSize( fontPoint );
586 QFontMetrics f( mWeekFont ); 586 QFontMetrics f( mWeekFont );
587 fontWid = f.width( "30" ); 587 fontWid = f.width( "30" );
588 qDebug("dec-- "); 588 qDebug("dec-- ");
589 } 589 }
590 590
591 connect( mWeekAction, SIGNAL( activated() ), 591 connect( mWeekAction, SIGNAL( activated() ),
592 this, SLOT( weekAction() ) ); 592 this, SLOT( weekAction() ) );
593 593
594 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); 594 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) );
595 595
596 //#endif 596 //#endif
597 // ****************** 597 // ******************
598 QAction *action; 598 QAction *action;
599 // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); 599 // QPopupMenu *configureMenu= new QPopupMenu( menuBar );
600 configureToolBarMenu->setCheckable( true ); 600 configureToolBarMenu->setCheckable( true );
601 601
602 602
603 configureAgendaMenu->setCheckable( true ); 603 configureAgendaMenu->setCheckable( true );
604 int iii ; 604 int iii ;
605 for ( iii = 1;iii<= 10 ;++iii ){ 605 for ( iii = 1;iii<= 10 ;++iii ){
606 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); 606 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 );
607 } 607 }
608 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); 608 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu );
609 609
610 connect( configureAgendaMenu, SIGNAL( aboutToShow()), 610 connect( configureAgendaMenu, SIGNAL( aboutToShow()),
611 this, SLOT( showConfigureAgenda( ) ) ); 611 this, SLOT( showConfigureAgenda( ) ) );
612 612
613 icon = loadPixmap( pathString + "configure" ); 613 icon = loadPixmap( pathString + "configure" );
614 action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this ); 614 action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this );
615 action->addTo( actionMenu ); 615 action->addTo( actionMenu );
616 connect( action, SIGNAL( activated() ), 616 connect( action, SIGNAL( activated() ),
617 mView, SLOT( edit_options() ) ); 617 mView, SLOT( edit_options() ) );
618 actionMenu->insertSeparator(); 618 actionMenu->insertSeparator();
619 619
620 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); 620 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this );
621 action->addTo( actionMenu ); 621 action->addTo( actionMenu );
622 connect( action, SIGNAL( activated() ), 622 connect( action, SIGNAL( activated() ),
623 mView, SLOT( undo_delete() ) ); 623 mView, SLOT( undo_delete() ) );
624 actionMenu->insertSeparator(); 624 actionMenu->insertSeparator();
625 625
626 icon = loadPixmap( pathString + "newevent" ); 626 icon = loadPixmap( pathString + "newevent" );
627 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); 627 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
628 configureToolBarMenu->insertSeparator(); 628 configureToolBarMenu->insertSeparator();
629 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); 629 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
630 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); 630 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this );
631 ne_action->addTo( actionMenu ); 631 ne_action->addTo( actionMenu );
632 connect( ne_action, SIGNAL( activated() ), 632 connect( ne_action, SIGNAL( activated() ),
633 mView, SLOT( newEvent() ) ); 633 mView, SLOT( newEvent() ) );
634 icon = loadPixmap( pathString + "newtodo" ); 634 icon = loadPixmap( pathString + "newtodo" );
635 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 635 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
636 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 636 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
637 nt_action->addTo( actionMenu ); 637 nt_action->addTo( actionMenu );
638 connect( nt_action, SIGNAL( activated() ), 638 connect( nt_action, SIGNAL( activated() ),
639 mView, SLOT( newTodo() ) ); 639 mView, SLOT( newTodo() ) );
640 640
641 icon = loadPixmap( pathString + "today" ); 641 icon = loadPixmap( pathString + "today" );
642 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); 642 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this );
643 today_action->addTo( viewMenu ); 643 today_action->addTo( viewMenu );
644 connect( today_action, SIGNAL( activated() ), 644 connect( today_action, SIGNAL( activated() ),
645 mView, SLOT( goToday() ) ); 645 mView, SLOT( goToday() ) );
646 viewMenu->insertSeparator(); 646 viewMenu->insertSeparator();
647 647
648 icon = loadPixmap( pathString + "navi" ); 648 icon = loadPixmap( pathString + "navi" );
649 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); 649 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
650 action->addTo( viewMenu ); 650 action->addTo( viewMenu );
651 connect( action, SIGNAL( activated() ), 651 connect( action, SIGNAL( activated() ),
652 mView, SLOT( toggleDateNavigatorWidget() ) ); 652 mView, SLOT( toggleDateNavigatorWidget() ) );
653 mToggleNav = action ; 653 mToggleNav = action ;
654 icon = loadPixmap( pathString + "filter" ); 654 icon = loadPixmap( pathString + "filter" );
655 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); 655 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this );
656 action->addTo( viewMenu ); 656 action->addTo( viewMenu );
657 connect( action, SIGNAL( activated() ), 657 connect( action, SIGNAL( activated() ),
658 mView, SLOT( toggleFilter() ) ); 658 mView, SLOT( toggleFilter() ) );
659 mToggleFilter = action; 659 mToggleFilter = action;
660 icon = loadPixmap( pathString + "allday" ); 660 icon = loadPixmap( pathString + "allday" );
661 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); 661 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this );
662 action->addTo( viewMenu ); 662 action->addTo( viewMenu );
663 connect( action, SIGNAL( activated() ), 663 connect( action, SIGNAL( activated() ),
664 mView, SLOT( toggleAllDaySize() ) ); 664 mView, SLOT( toggleAllDaySize() ) );
665 mToggleAllday = action; 665 mToggleAllday = action;
666 666
667 667
668 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 668 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
669 mToggleNav, SLOT( setEnabled ( bool ) ) ); 669 mToggleNav, SLOT( setEnabled ( bool ) ) );
670 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 670 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
671 mToggleFilter, SLOT( setEnabled ( bool ) ) ); 671 mToggleFilter, SLOT( setEnabled ( bool ) ) );
672 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), 672 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ),
673 mToggleAllday, SLOT( setEnabled ( bool ) ) ); 673 mToggleAllday, SLOT( setEnabled ( bool ) ) );
674 674
675 viewMenu->insertSeparator(); 675 viewMenu->insertSeparator();
676 icon = loadPixmap( pathString + "picker" ); 676 icon = loadPixmap( pathString + "picker" );
677 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); 677 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this );
678 action->addTo( viewMenu ); 678 action->addTo( viewMenu );
679 connect( action, SIGNAL( activated() ), 679 connect( action, SIGNAL( activated() ),
680 mView, SLOT( showDatePicker() ) ); 680 mView, SLOT( showDatePicker() ) );
681 action->addTo( iconToolBar ); 681 action->addTo( iconToolBar );
682 viewMenu->insertSeparator(); 682 viewMenu->insertSeparator();
683 icon = loadPixmap( pathString + "list" ); 683 icon = loadPixmap( pathString + "list" );
684 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); 684 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 );
685 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); 685 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this );
686 showlist_action->addTo( viewMenu ); 686 showlist_action->addTo( viewMenu );
687 connect( showlist_action, SIGNAL( activated() ), 687 connect( showlist_action, SIGNAL( activated() ),
688 mView->viewManager(), SLOT( showListView() ) ); 688 mView->viewManager(), SLOT( showListView() ) );
689 689
690 690
691 icon = loadPixmap( pathString + "day" ); 691 icon = loadPixmap( pathString + "day" );
692 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); 692 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 );
693 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); 693 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this );
694 day1_action->addTo( viewMenu ); 694 day1_action->addTo( viewMenu );
695 // action->addTo( toolBar ); 695 // action->addTo( toolBar );
696 connect( day1_action, SIGNAL( activated() ), 696 connect( day1_action, SIGNAL( activated() ),
697 mView->viewManager(), SLOT( showDayView() ) ); 697 mView->viewManager(), SLOT( showDayView() ) );
698 698
699 icon = loadPixmap( pathString + "workweek" ); 699 icon = loadPixmap( pathString + "workweek" );
700 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); 700 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 );
701 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); 701 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this );
702 day5_action->addTo( viewMenu ); 702 day5_action->addTo( viewMenu );
703 connect( day5_action, SIGNAL( activated() ), 703 connect( day5_action, SIGNAL( activated() ),
704 mView->viewManager(), SLOT( showWorkWeekView() ) ); 704 mView->viewManager(), SLOT( showWorkWeekView() ) );
705 705
706 icon = loadPixmap( pathString + "week" ); 706 icon = loadPixmap( pathString + "week" );
707 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); 707 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 );
708 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); 708 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this );
709 day7_action->addTo( viewMenu ); 709 day7_action->addTo( viewMenu );
710 connect( day7_action, SIGNAL( activated() ), 710 connect( day7_action, SIGNAL( activated() ),
711 mView->viewManager(), SLOT( showWeekView() ) ); 711 mView->viewManager(), SLOT( showWeekView() ) );
712 712
713 icon = loadPixmap( pathString + "month" ); 713 icon = loadPixmap( pathString + "month" );
714 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); 714 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 );
715 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); 715 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this );
716 month_action->addTo( viewMenu ); 716 month_action->addTo( viewMenu );
717 connect( month_action, SIGNAL( activated() ), 717 connect( month_action, SIGNAL( activated() ),
718 mView->viewManager(), SLOT( showMonthView() ) ); 718 mView->viewManager(), SLOT( showMonthView() ) );
719 719
720 icon = loadPixmap( pathString + "todo" ); 720 icon = loadPixmap( pathString + "todo" );
721 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); 721 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 );
722 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); 722 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this );
723 todoview_action->addTo( viewMenu ); 723 todoview_action->addTo( viewMenu );
724 connect( todoview_action, SIGNAL( activated() ), 724 connect( todoview_action, SIGNAL( activated() ),
725 mView->viewManager(), SLOT( showTodoView() ) ); 725 mView->viewManager(), SLOT( showTodoView() ) );
726 726
727 icon = loadPixmap( pathString + "journal" ); 727 icon = loadPixmap( pathString + "journal" );
728 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); 728 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 );
729 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); 729 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this );
730 viewjournal_action->addTo( viewMenu ); 730 viewjournal_action->addTo( viewMenu );
731 connect( viewjournal_action, SIGNAL( activated() ), 731 connect( viewjournal_action, SIGNAL( activated() ),
732 mView->viewManager(), SLOT( showJournalView() ) ); 732 mView->viewManager(), SLOT( showJournalView() ) );
733 733
734 icon = loadPixmap( pathString + "xdays" ); 734 icon = loadPixmap( pathString + "xdays" );
735 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 ); 735 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 );
736 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); 736 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this );
737 xdays_action->addTo( viewMenu ); 737 xdays_action->addTo( viewMenu );
738 connect( xdays_action, SIGNAL( activated() ), 738 connect( xdays_action, SIGNAL( activated() ),
739 mView->viewManager(), SLOT( showNextXView() ) ); 739 mView->viewManager(), SLOT( showNextXView() ) );
740 740
741 icon = loadPixmap( pathString + "whatsnext" ); 741 icon = loadPixmap( pathString + "whatsnext" );
742 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 ); 742 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 );
743 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); 743 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this );
744 whatsnext_action->addTo( viewMenu ); 744 whatsnext_action->addTo( viewMenu );
745 connect( whatsnext_action, SIGNAL( activated() ), 745 connect( whatsnext_action, SIGNAL( activated() ),
746 mView->viewManager(), SLOT( showWhatsNextView() ) ); 746 mView->viewManager(), SLOT( showWhatsNextView() ) );
747 747
748#if 0 748#if 0
749 action = new QAction( "view_timespan", "Time Span", 0, this ); 749 action = new QAction( "view_timespan", "Time Span", 0, this );
750 action->addTo( viewMenu ); 750 action->addTo( viewMenu );
751 connect( action, SIGNAL( activated() ), 751 connect( action, SIGNAL( activated() ),
752 mView->viewManager(), SLOT( showTimeSpanView() ) ); 752 mView->viewManager(), SLOT( showTimeSpanView() ) );
753#endif 753#endif
754 754
755 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, 755 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0,
756 this ); 756 this );
757 mNewSubTodoAction->addTo( actionMenu ); 757 mNewSubTodoAction->addTo( actionMenu );
758 connect( mNewSubTodoAction, SIGNAL( activated() ), 758 connect( mNewSubTodoAction, SIGNAL( activated() ),
759 mView, SLOT( newSubTodo() ) ); 759 mView, SLOT( newSubTodo() ) );
760 760
761 actionMenu->insertSeparator(); 761 actionMenu->insertSeparator();
762 762
763 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); 763 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this );
764 mShowAction->addTo( actionMenu ); 764 mShowAction->addTo( actionMenu );
765 connect( mShowAction, SIGNAL( activated() ), 765 connect( mShowAction, SIGNAL( activated() ),
766 mView, SLOT( showIncidence() ) ); 766 mView, SLOT( showIncidence() ) );
767 767
768 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); 768 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this );
769 mEditAction->addTo( actionMenu ); 769 mEditAction->addTo( actionMenu );
770 connect( mEditAction, SIGNAL( activated() ), 770 connect( mEditAction, SIGNAL( activated() ),
771 mView, SLOT( editIncidence() ) ); 771 mView, SLOT( editIncidence() ) );
772 772
773 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); 773 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this );
774 mDeleteAction->addTo( actionMenu ); 774 mDeleteAction->addTo( actionMenu );
775 connect( mDeleteAction, SIGNAL( activated() ), 775 connect( mDeleteAction, SIGNAL( activated() ),
776 mView, SLOT( deleteIncidence() ) ); 776 mView, SLOT( deleteIncidence() ) );
777 777
778 778
779 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); 779 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this );
780 mCloneAction->addTo( actionMenu ); 780 mCloneAction->addTo( actionMenu );
781 connect( mCloneAction, SIGNAL( activated() ), 781 connect( mCloneAction, SIGNAL( activated() ),
782 mView, SLOT( cloneIncidence() ) ); 782 mView, SLOT( cloneIncidence() ) );
783 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); 783 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this );
784 mMoveAction->addTo( actionMenu ); 784 mMoveAction->addTo( actionMenu );
785 connect( mMoveAction, SIGNAL( activated() ), 785 connect( mMoveAction, SIGNAL( activated() ),
786 mView, SLOT( moveIncidence() ) ); 786 mView, SLOT( moveIncidence() ) );
787 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); 787 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this );
788 mBeamAction->addTo( actionMenu ); 788 mBeamAction->addTo( actionMenu );
789 connect( mBeamAction, SIGNAL( activated() ), 789 connect( mBeamAction, SIGNAL( activated() ),
790 mView, SLOT( beamIncidence() ) ); 790 mView, SLOT( beamIncidence() ) );
791 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); 791 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this );
792 mCancelAction->addTo( actionMenu ); 792 mCancelAction->addTo( actionMenu );
793 connect( mCancelAction, SIGNAL( activated() ), 793 connect( mCancelAction, SIGNAL( activated() ),
794 mView, SLOT( toggleCancelIncidence() ) ); 794 mView, SLOT( toggleCancelIncidence() ) );
795 795
796 actionMenu->insertSeparator(); 796 actionMenu->insertSeparator();
797 797
798 action = new QAction( "purge_completed", i18n("Purge Completed"), 0, 798 action = new QAction( "purge_completed", i18n("Purge Completed"), 0,
799 this ); 799 this );
800 action->addTo( actionMenu ); 800 action->addTo( actionMenu );
801 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); 801 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) );
802 802
803 icon = loadPixmap( pathString + "search" ); 803 icon = loadPixmap( pathString + "search" );
804 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); 804 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this );
805 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4); 805 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4);
806 search_action->addTo( actionMenu ); 806 search_action->addTo( actionMenu );
807 connect( search_action, SIGNAL( activated() ), 807 connect( search_action, SIGNAL( activated() ),
808 mView->dialogManager(), SLOT( showSearchDialog() ) ); 808 mView->dialogManager(), SLOT( showSearchDialog() ) );
809 809
810 810
811 811
812 if ( KOPrefs::instance()->mShowFullMenu ) { 812 if ( KOPrefs::instance()->mShowFullMenu ) {
813 actionMenu->insertSeparator(); 813 actionMenu->insertSeparator();
814 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); 814 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu );
815 815
816 } 816 }
817 // actionMenu->insertSeparator(); 817 // actionMenu->insertSeparator();
818 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, 818 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0,
819 this ); 819 this );
820 action->addTo( importMenu ); 820 action->addTo( importMenu );
821 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); 821 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) );
822 action = new QAction( "import_quick", i18n("Import last file"), 0, 822 action = new QAction( "import_quick", i18n("Import last file"), 0,
823 this ); 823 this );
824 action->addTo( importMenu ); 824 action->addTo( importMenu );
825 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); 825 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) );
826 importMenu->insertSeparator(); 826 importMenu->insertSeparator();
827 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, 827 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0,
828 this ); 828 this );
829 action->addTo( importMenu ); 829 action->addTo( importMenu );
830 connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); 830 connect( action, SIGNAL( activated() ), SLOT( importBday() ) );
831#ifndef DESKTOP_VERSION 831#ifndef DESKTOP_VERSION
832 importMenu->insertSeparator(); 832 importMenu->insertSeparator();
833 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, 833 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
834 this ); 834 this );
835 action->addTo( importMenu ); 835 action->addTo( importMenu );
836 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); 836 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
837#else 837#else
838#ifdef _OL_IMPORT_ 838#ifdef _OL_IMPORT_
839 importMenu->insertSeparator(); 839 importMenu->insertSeparator();
840 action = new QAction( "import_ol", i18n("Import from OL"), 0, 840 action = new QAction( "import_ol", i18n("Import from OL"), 0,
841 this ); 841 this );
842 action->addTo( importMenu ); 842 action->addTo( importMenu );
843 connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); 843 connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
844#endif 844#endif
845#endif 845#endif
846 846
847 importMenu->insertSeparator(); 847 importMenu->insertSeparator();
848 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, 848 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
849 this ); 849 this );
850 action->addTo( importMenu ); 850 action->addTo( importMenu );
851 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); 851 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
852 852
853 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, 853 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0,
854 this ); 854 this );
855 action->addTo( importMenu ); 855 action->addTo( importMenu );
856 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); 856 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
857 857
858 importMenu->insertSeparator(); 858 importMenu->insertSeparator();
859 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, 859 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0,
860 this ); 860 this );
861 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); 861 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) );
862 862
863 863
864 //LR 864 //LR
865 QPopupMenu *ex2phone = new QPopupMenu( this ); 865 QPopupMenu *ex2phone = new QPopupMenu( this );
866 ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 866 ex2phone->insertItem(i18n("Complete calendar..."), 1 );
867 ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 867 ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
868 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) ); 868 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) );
869 importMenu->insertItem( i18n("Export to phone"), ex2phone ); 869 importMenu->insertItem( i18n("Export to phone"), ex2phone );
870 870
871 importMenu->insertSeparator(); 871 importMenu->insertSeparator();
872 action = new QAction( "manage cat", i18n("Manage new categories..."), 0, 872 action = new QAction( "manage cat", i18n("Manage new categories..."), 0,
873 this ); 873 this );
874 action->addTo( importMenu ); 874 action->addTo( importMenu );
875 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); 875 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) );
876#ifndef DESKTOP_VERSION 876#ifndef DESKTOP_VERSION
877 importMenu->insertSeparator(); 877 importMenu->insertSeparator();
878 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, 878 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0,
879 this ); 879 this );
880 brAction->addTo( importMenu ); 880 brAction->addTo( importMenu );
881 brAction->setToggleAction (true ) ; 881 brAction->setToggleAction (true ) ;
882 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); 882 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) );
883 883
884 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, 884 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0,
885 this ); 885 this );
886 action->addTo( importMenu ); 886 action->addTo( importMenu );
887 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); 887 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) );
888 888
889 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, 889 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0,
890 this ); 890 this );
891 action->addTo( importMenu ); 891 action->addTo( importMenu );
892 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); 892 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) );
893#else 893#else
894 importMenu->insertSeparator(); 894 importMenu->insertSeparator();
895 icon = loadPixmap( pathString + "print" ); 895 icon = loadPixmap( pathString + "print" );
896 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); 896 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this );
897 action->addTo( importMenu ); 897 action->addTo( importMenu );
898 connect( action, SIGNAL( activated() ), 898 connect( action, SIGNAL( activated() ),
899 this, SLOT( printCal() ) ); 899 this, SLOT( printCal() ) );
900 900
901 icon = loadPixmap( pathString + "print" ); 901 icon = loadPixmap( pathString + "print" );
902 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); 902 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this );
903 action->addTo( importMenu ); 903 action->addTo( importMenu );
904 connect( action, SIGNAL( activated() ), 904 connect( action, SIGNAL( activated() ),
905 this, SLOT( printSel() ) ); 905 this, SLOT( printSel() ) );
906 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); 906 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this );
907 action->addTo( importMenu ); 907 action->addTo( importMenu );
908 connect( action, SIGNAL( activated() ), 908 connect( action, SIGNAL( activated() ),
909 mView->viewManager(), SIGNAL( printWNV() ) ); 909 mView->viewManager(), SIGNAL( printWNV() ) );
910#endif 910#endif
911 importMenu->insertSeparator(); 911 importMenu->insertSeparator();
912 action = new QAction( "beam all", i18n("Save"), 0, 912 action = new QAction( "beam all", i18n("Save"), 0,
913 this ); 913 this );
914 action->addTo( importMenu ); 914 action->addTo( importMenu );
915 connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); 915 connect( action, SIGNAL( activated() ), this, SLOT( save() ) );
916 action = new QAction( "beam all", i18n("Exit (+save)"), 0, 916 action = new QAction( "beam all", i18n("Exit (+save)"), 0,
917 this ); 917 this );
918 action->addTo( importMenu ); 918 action->addTo( importMenu );
919 connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); 919 connect( action, SIGNAL( activated() ), this, SLOT( close() ) );
920 920
921 //menuBar->insertItem( "Configure",configureMenu ); 921 //menuBar->insertItem( "Configure",configureMenu );
922 //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); 922 //configureMenu->insertItem( "Toolbar",configureToolBarMenu );
923 icon = loadPixmap( "korganizer/korganizer" ); 923 icon = loadPixmap( "korganizer/korganizer" );
924 924
925 action = new QAction( "Whats New", i18n("What's new?"), 0,this ); 925 action = new QAction( "Whats New", i18n("What's new?"), 0,this );
926 action->addTo( helpMenu ); 926 action->addTo( helpMenu );
927 connect( action, SIGNAL( activated() ), 927 connect( action, SIGNAL( activated() ),
928 SLOT( whatsNew() ) ); 928 SLOT( whatsNew() ) );
929 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); 929 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this );
930 action->addTo( helpMenu ); 930 action->addTo( helpMenu );
931 connect( action, SIGNAL( activated() ), 931 connect( action, SIGNAL( activated() ),
932 SLOT( features() ) ); 932 SLOT( features() ) );
933 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); 933 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this );
934 action->addTo( helpMenu ); 934 action->addTo( helpMenu );
935 connect( action, SIGNAL( activated() ), 935 connect( action, SIGNAL( activated() ),
936 SLOT( keyBindings() ) ); 936 SLOT( keyBindings() ) );
937 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); 937 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this );
938 action->addTo( helpMenu ); 938 action->addTo( helpMenu );
939 connect( action, SIGNAL( activated() ), 939 connect( action, SIGNAL( activated() ),
940 SLOT( synchowto() ) ); 940 SLOT( synchowto() ) );
941 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); 941 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this );
942 action->addTo( helpMenu ); 942 action->addTo( helpMenu );
943 connect( action, SIGNAL( activated() ), 943 connect( action, SIGNAL( activated() ),
944 SLOT( kdesynchowto() ) ); 944 SLOT( kdesynchowto() ) );
945 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); 945 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this );
946 action->addTo( helpMenu ); 946 action->addTo( helpMenu );
947 connect( action, SIGNAL( activated() ), 947 connect( action, SIGNAL( activated() ),
948 SLOT( multisynchowto() ) ); 948 SLOT( multisynchowto() ) );
949 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); 949 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this );
950 action->addTo( helpMenu ); 950 action->addTo( helpMenu );
951 connect( action, SIGNAL( activated() ), 951 connect( action, SIGNAL( activated() ),
952 SLOT( aboutAutoSaving() ) ); 952 SLOT( aboutAutoSaving() ) );
953 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this ); 953 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this );
954 action->addTo( helpMenu ); 954 action->addTo( helpMenu );
955 connect( action, SIGNAL( activated() ), 955 connect( action, SIGNAL( activated() ),
956 SLOT( aboutKnownBugs() ) ); 956 SLOT( aboutKnownBugs() ) );
957 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this ); 957 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this );
958 action->addTo( helpMenu ); 958 action->addTo( helpMenu );
959 connect( action, SIGNAL( activated() ), 959 connect( action, SIGNAL( activated() ),
960 SLOT( usertrans() ) ); 960 SLOT( usertrans() ) );
961 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this ); 961 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this );
962 action->addTo( helpMenu ); 962 action->addTo( helpMenu );
963 connect( action, SIGNAL( activated() ), 963 connect( action, SIGNAL( activated() ),
964 SLOT( faq() ) ); 964 SLOT( faq() ) );
965 action = new QAction( "licence", i18n("Licence..."), 0, this ); 965 action = new QAction( "licence", i18n("Licence..."), 0, this );
966 action->addTo( helpMenu ); 966 action->addTo( helpMenu );
967 connect( action, SIGNAL( activated() ), 967 connect( action, SIGNAL( activated() ),
968 SLOT( licence() ) ); 968 SLOT( licence() ) );
969 action = new QAction( "about", i18n("About..."), 0, this ); 969 action = new QAction( "about", i18n("About..."), 0, this );
970 action->addTo( helpMenu ); 970 action->addTo( helpMenu );
971 connect( action, SIGNAL( activated() ), 971 connect( action, SIGNAL( activated() ),
972 SLOT( about() ) ); 972 SLOT( about() ) );
973 //menuBar->insertSeparator(); 973 //menuBar->insertSeparator();
974 974
975 // ****************************************************** 975 // ******************************************************
976 // menubar icons 976 // menubar icons
977 977
978 978
979 iconToolBar->setHorizontalStretchable (true ); 979 iconToolBar->setHorizontalStretchable (true );
980 //menuBar->insertItem( iconToolBar ); 980 //menuBar->insertItem( iconToolBar );
981 //xdays_action 981 //xdays_action
982 if (p-> mShowIconNewEvent) 982 if (p-> mShowIconNewEvent)
983 ne_action->addTo( iconToolBar ); 983 ne_action->addTo( iconToolBar );
984 if (p->mShowIconNewTodo ) 984 if (p->mShowIconNewTodo )
985 nt_action->addTo( iconToolBar ); 985 nt_action->addTo( iconToolBar );
986 if (p-> mShowIconSearch) 986 if (p-> mShowIconSearch)
987 search_action->addTo( iconToolBar ); 987 search_action->addTo( iconToolBar );
988 if (p-> mShowIconNext) 988 if (p-> mShowIconNext)
989 whatsnext_action->addTo( iconToolBar ); 989 whatsnext_action->addTo( iconToolBar );
990 if (p-> mShowIconNextDays) 990 if (p-> mShowIconNextDays)
991 xdays_action->addTo( iconToolBar ); 991 xdays_action->addTo( iconToolBar );
992 if (p-> mShowIconList) 992 if (p-> mShowIconList)
993 showlist_action->addTo( iconToolBar ); 993 showlist_action->addTo( iconToolBar );
994 if (p-> mShowIconDay1) 994 if (p-> mShowIconDay1)
995 day1_action->addTo( iconToolBar ); 995 day1_action->addTo( iconToolBar );
996 if (p-> mShowIconDay5) 996 if (p-> mShowIconDay5)
997 day5_action->addTo( iconToolBar ); 997 day5_action->addTo( iconToolBar );
998 if (p-> mShowIconDay7) 998 if (p-> mShowIconDay7)
999 day7_action->addTo( iconToolBar ); 999 day7_action->addTo( iconToolBar );
1000 if (p-> mShowIconMonth) 1000 if (p-> mShowIconMonth)
1001 month_action->addTo( iconToolBar ); 1001 month_action->addTo( iconToolBar );
1002 if (p-> mShowIconTodoview) 1002 if (p-> mShowIconTodoview)
1003 todoview_action->addTo( iconToolBar ); 1003 todoview_action->addTo( iconToolBar );
1004 if (p-> mShowIconJournal) 1004 if (p-> mShowIconJournal)
1005 viewjournal_action->addTo( iconToolBar ); 1005 viewjournal_action->addTo( iconToolBar );
1006 icon = loadPixmap( pathString + "2leftarrowB" ); 1006 icon = loadPixmap( pathString + "2leftarrowB" );
1007 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14); 1007 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14);
1008 if (p-> mShowIconBackFast) { 1008 if (p-> mShowIconBackFast) {
1009 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this ); 1009 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this );
1010 connect( action, SIGNAL( activated() ), 1010 connect( action, SIGNAL( activated() ),
1011 mView, SLOT( goPreviousMonth() ) ); 1011 mView, SLOT( goPreviousMonth() ) );
1012 action->addTo( iconToolBar ); 1012 action->addTo( iconToolBar );
1013 } 1013 }
1014 icon = loadPixmap( pathString + "1leftarrowB" ); 1014 icon = loadPixmap( pathString + "1leftarrowB" );
1015 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15); 1015 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15);
1016 if (p-> mShowIconBack) { 1016 if (p-> mShowIconBack) {
1017 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this ); 1017 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this );
1018 connect( action, SIGNAL( activated() ), 1018 connect( action, SIGNAL( activated() ),
1019 mView, SLOT( goPrevious() ) ); 1019 mView, SLOT( goPrevious() ) );
1020 action->addTo( iconToolBar ); 1020 action->addTo( iconToolBar );
1021 } 1021 }
1022 icon = loadPixmap( pathString + "today" ); 1022 icon = loadPixmap( pathString + "today" );
1023 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130); 1023 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130);
1024 if (p-> mShowIconToday) 1024 if (p-> mShowIconToday)
1025 today_action->addTo( iconToolBar ); 1025 today_action->addTo( iconToolBar );
1026 icon = loadPixmap( pathString + "1rightarrowB" ); 1026 icon = loadPixmap( pathString + "1rightarrowB" );
1027 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220); 1027 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220);
1028 if (p-> mShowIconForward) { 1028 if (p-> mShowIconForward) {
1029 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this ); 1029 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this );
1030 connect( action, SIGNAL( activated() ), 1030 connect( action, SIGNAL( activated() ),
1031 mView, SLOT( goNext() ) ); 1031 mView, SLOT( goNext() ) );
1032 action->addTo( iconToolBar ); 1032 action->addTo( iconToolBar );
1033 } 1033 }
1034 icon = loadPixmap( pathString + "2rightarrowB" ); 1034 icon = loadPixmap( pathString + "2rightarrowB" );
1035 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230); 1035 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230);
1036 if (p-> mShowIconForwardFast) { 1036 if (p-> mShowIconForwardFast) {
1037 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this ); 1037 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this );
1038 connect( action, SIGNAL( activated() ), 1038 connect( action, SIGNAL( activated() ),
1039 mView, SLOT( goNextMonth() ) ); 1039 mView, SLOT( goNextMonth() ) );
1040 action->addTo( iconToolBar ); 1040 action->addTo( iconToolBar );
1041 } 1041 }
1042 1042
1043 1043
1044 configureToolBarMenu->insertItem(i18n("What's This?"), 300); 1044 configureToolBarMenu->insertItem(i18n("What's This?"), 300);
1045 1045
1046 if (p-> mShowIconNewEvent) 1046 if (p-> mShowIconNewEvent)
1047 configureToolBarMenu->setItemChecked( 10, true ); 1047 configureToolBarMenu->setItemChecked( 10, true );
1048 if (p->mShowIconNewTodo ) 1048 if (p->mShowIconNewTodo )
1049 configureToolBarMenu->setItemChecked( 20, true ); 1049 configureToolBarMenu->setItemChecked( 20, true );
1050 if (p-> mShowIconSearch) 1050 if (p-> mShowIconSearch)
1051 configureToolBarMenu->setItemChecked( 120, true ); 1051 configureToolBarMenu->setItemChecked( 120, true );
1052 if (p-> mShowIconList) 1052 if (p-> mShowIconList)
1053 configureToolBarMenu->setItemChecked( 30, true ); 1053 configureToolBarMenu->setItemChecked( 30, true );
1054 if (p-> mShowIconDay1) 1054 if (p-> mShowIconDay1)
1055 configureToolBarMenu->setItemChecked( 40, true ); 1055 configureToolBarMenu->setItemChecked( 40, true );
1056 if (p-> mShowIconDay5) 1056 if (p-> mShowIconDay5)
1057 configureToolBarMenu->setItemChecked( 50, true ); 1057 configureToolBarMenu->setItemChecked( 50, true );
1058 if (p-> mShowIconDay7) 1058 if (p-> mShowIconDay7)
1059 configureToolBarMenu->setItemChecked( 60, true ); 1059 configureToolBarMenu->setItemChecked( 60, true );
1060 if (p-> mShowIconMonth) 1060 if (p-> mShowIconMonth)
1061 configureToolBarMenu->setItemChecked( 70, true ); 1061 configureToolBarMenu->setItemChecked( 70, true );
1062 if (p-> mShowIconTodoview) 1062 if (p-> mShowIconTodoview)
1063 configureToolBarMenu->setItemChecked( 80, true ); 1063 configureToolBarMenu->setItemChecked( 80, true );
1064 if (p-> mShowIconBackFast) 1064 if (p-> mShowIconBackFast)
1065 configureToolBarMenu->setItemChecked( 200, true ); 1065 configureToolBarMenu->setItemChecked( 200, true );
1066 if (p-> mShowIconBack) 1066 if (p-> mShowIconBack)
1067 configureToolBarMenu->setItemChecked( 210, true ); 1067 configureToolBarMenu->setItemChecked( 210, true );
1068 if (p-> mShowIconToday) 1068 if (p-> mShowIconToday)
1069 configureToolBarMenu->setItemChecked( 130, true ); 1069 configureToolBarMenu->setItemChecked( 130, true );
1070 if (p-> mShowIconForward) 1070 if (p-> mShowIconForward)
1071 configureToolBarMenu->setItemChecked( 220, true ); 1071 configureToolBarMenu->setItemChecked( 220, true );
1072 if (p-> mShowIconForwardFast) 1072 if (p-> mShowIconForwardFast)
1073 configureToolBarMenu->setItemChecked( 230, true ); 1073 configureToolBarMenu->setItemChecked( 230, true );
1074 if (p-> mShowIconNextDays) 1074 if (p-> mShowIconNextDays)
1075 configureToolBarMenu->setItemChecked( 100, true ); 1075 configureToolBarMenu->setItemChecked( 100, true );
1076 if (p-> mShowIconNext) 1076 if (p-> mShowIconNext)
1077 configureToolBarMenu->setItemChecked( 110, true ); 1077 configureToolBarMenu->setItemChecked( 110, true );
1078 if (p-> mShowIconJournal) 1078 if (p-> mShowIconJournal)
1079 configureToolBarMenu->setItemChecked( 90, true ); 1079 configureToolBarMenu->setItemChecked( 90, true );
1080 if (p-> mShowIconWhatsThis) 1080 if (p-> mShowIconWhatsThis)
1081 configureToolBarMenu->setItemChecked( 300, true ); 1081 configureToolBarMenu->setItemChecked( 300, true );
1082 1082
1083 QLabel* dummy = new QLabel( iconToolBar ); 1083 QLabel* dummy = new QLabel( iconToolBar );
1084 dummy->setBackgroundColor( iconToolBar->backgroundColor() ); 1084 dummy->setBackgroundColor( iconToolBar->backgroundColor() );
1085 if (!p-> mShowIconStretch) 1085 if (!p-> mShowIconStretch)
1086 iconToolBar->setStretchableWidget ( dummy ) ; 1086 iconToolBar->setStretchableWidget ( dummy ) ;
1087 else 1087 else
1088 configureToolBarMenu->setItemChecked( 5, true ); 1088 configureToolBarMenu->setItemChecked( 5, true );
1089 if (p-> mShowIconWhatsThis) 1089 if (p-> mShowIconWhatsThis)
1090 QWhatsThis::whatsThisButton ( iconToolBar ); 1090 QWhatsThis::whatsThisButton ( iconToolBar );
1091 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) ); 1091 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) );
1092 configureAgenda( p->mHourSize ); 1092 configureAgenda( p->mHourSize );
1093 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) ); 1093 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) );
1094} 1094}
1095 1095
1096void MainWindow::exportToPhone( int mode ) 1096void MainWindow::exportToPhone( int mode )
1097{ 1097{
1098 1098
1099 //ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 1099 //ex2phone->insertItem(i18n("Complete calendar..."), 1 );
1100 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 1100 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
1101 KOex2phonePrefs ex2phone; 1101 KOex2phonePrefs ex2phone;
1102 1102
1103 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); 1103 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection );
1104 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); 1104 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice );
1105 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1105 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel );
1106 if ( mode == 1 ) 1106 if ( mode == 1 )
1107 ex2phone.setCaption(i18n("Export complete calendar")); 1107 ex2phone.setCaption(i18n("Export complete calendar"));
1108 if ( mode == 2 ) 1108 if ( mode == 2 )
1109 ex2phone.setCaption(i18n("Export filtered calendar")); 1109 ex2phone.setCaption(i18n("Export filtered calendar"));
1110 1110
1111 if ( !ex2phone.exec() ) { 1111 if ( !ex2phone.exec() ) {
1112 return; 1112 return;
1113 } 1113 }
1114 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 1114 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
1115 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 1115 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
1116 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 1116 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
1117 1117
1118 int inFuture = 0; 1118 int inFuture = 0;
1119 if ( ex2phone.mWriteBackFuture->isChecked() ) 1119 if ( ex2phone.mWriteBackFuture->isChecked() )
1120 inFuture = ex2phone.mWriteBackFutureWeeks->value(); 1120 inFuture = ex2phone.mWriteBackFutureWeeks->value();
1121 QPtrList<Incidence> delSel; 1121 QPtrList<Incidence> delSel;
1122 if ( mode == 1 ) 1122 if ( mode == 1 )
1123 delSel = mCalendar->rawIncidences(); 1123 delSel = mCalendar->rawIncidences();
1124 if ( mode == 2 ) 1124 if ( mode == 2 )
1125 delSel = mCalendar->incidences(); 1125 delSel = mCalendar->incidences();
1126 CalendarLocal* cal = new CalendarLocal(); 1126 CalendarLocal* cal = new CalendarLocal();
1127 cal->setLocalTime(); 1127 cal->setLocalTime();
1128 Incidence *incidence = delSel.first(); 1128 Incidence *incidence = delSel.first();
1129 QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); 1129 QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
1130 QDateTime end = cur.addDays( ( inFuture +1 ) *7 ); 1130 QDateTime end = cur.addDays( ( inFuture +1 ) *7 );
1131 while ( incidence ) { 1131 while ( incidence ) {
1132 if ( incidence->type() != "Journal" ) { 1132 if ( incidence->type() != "Journal" ) {
1133 bool add = true; 1133 bool add = true;
1134 if ( inFuture ) { 1134 if ( inFuture ) {
1135 QDateTime dt; 1135 QDateTime dt;
1136 if ( incidence->type() == "Todo" ) { 1136 if ( incidence->type() == "Todo" ) {
1137 Todo * t = (Todo*)incidence; 1137 Todo * t = (Todo*)incidence;
1138 if ( t->hasDueDate() ) 1138 if ( t->hasDueDate() )
1139 dt = t->dtDue(); 1139 dt = t->dtDue();
1140 else 1140 else
1141 dt = cur.addSecs( 62 ); 1141 dt = cur.addSecs( 62 );
1142 } 1142 }
1143 else { 1143 else {
1144 bool ok; 1144 bool ok;
1145 dt = incidence->getNextOccurence( cur, &ok ); 1145 dt = incidence->getNextOccurence( cur, &ok );
1146 if ( !ok ) 1146 if ( !ok )
1147 dt = cur.addSecs( -62 ); 1147 dt = cur.addSecs( -62 );
1148 } 1148 }
1149 if ( dt < cur || dt > end ) { 1149 if ( dt < cur || dt > end ) {
1150 add = false; 1150 add = false;
1151 } 1151 }
1152 } 1152 }
1153 if ( add ) { 1153 if ( add ) {
1154 Incidence *in = incidence->clone(); 1154 Incidence *in = incidence->clone();
1155 cal->addIncidence( in ); 1155 cal->addIncidence( in );
1156 } 1156 }
1157 } 1157 }
1158 incidence = delSel.next(); 1158 incidence = delSel.next();
1159 } 1159 }
1160 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 1160 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
1161 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 1161 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
1162 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1162 KPimGlobalPrefs::instance()->mEx2PhoneModel );
1163 1163
1164 setCaption( i18n("Writing to phone...")); 1164 setCaption( i18n("Writing to phone..."));
1165 if ( PhoneFormat::writeToPhone( cal ) ) 1165 if ( PhoneFormat::writeToPhone( cal ) )
1166 setCaption( i18n("Export to phone successful!")); 1166 setCaption( i18n("Export to phone successful!"));
1167 else 1167 else
1168 setCaption( i18n("Error exporting to phone!")); 1168 setCaption( i18n("Error exporting to phone!"));
1169 delete cal; 1169 delete cal;
1170} 1170}
1171 1171
1172 1172
1173void MainWindow::setDefaultPreferences() 1173void MainWindow::setDefaultPreferences()
1174{ 1174{
1175 KOPrefs *p = KOPrefs::instance(); 1175 KOPrefs *p = KOPrefs::instance();
1176 1176
1177 p->mCompactDialogs = true; 1177 p->mCompactDialogs = true;
1178 p->mConfirm = true; 1178 p->mConfirm = true;
1179 // p->mEnableQuickTodo = false; 1179 // p->mEnableQuickTodo = false;
1180 1180
1181} 1181}
1182 1182
1183QString MainWindow::resourcePath() 1183QString MainWindow::resourcePath()
1184{ 1184{
1185 return KGlobal::iconLoader()->iconPath(); 1185 return KGlobal::iconLoader()->iconPath();
1186} 1186}
1187 1187
1188void MainWindow::displayText( QString text ,QString cap ) 1188void MainWindow::displayText( QString text ,QString cap )
1189{ 1189{
1190 QDialog dia( this, "name", true ); ; 1190 QDialog dia( this, "name", true ); ;
1191 dia.setCaption( cap ); 1191 dia.setCaption( cap );
1192 QVBoxLayout* lay = new QVBoxLayout( &dia ); 1192 QVBoxLayout* lay = new QVBoxLayout( &dia );
1193 lay->setSpacing( 3 ); 1193 lay->setSpacing( 3 );
1194 lay->setMargin( 3 ); 1194 lay->setMargin( 3 );
1195 QTextBrowser tb ( &dia ); 1195 QTextBrowser tb ( &dia );
1196 lay->addWidget( &tb ); 1196 lay->addWidget( &tb );
1197 tb.setText( text ); 1197 tb.setText( text );
1198#ifdef DESKTOP_VERSION 1198#ifdef DESKTOP_VERSION
1199 dia.resize( 640, 480); 1199 dia.resize( 640, 480);
1200#else 1200#else
1201 dia.showMaximized(); 1201 dia.showMaximized();
1202#endif 1202#endif
1203 dia.exec(); 1203 dia.exec();
1204} 1204}
1205 1205
1206void MainWindow::features() 1206void MainWindow::features()
1207{ 1207{
1208 1208
1209 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" ); 1209 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" );
1210} 1210}
1211 1211
1212void MainWindow::usertrans() 1212void MainWindow::usertrans()
1213{ 1213{
1214 1214
1215 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" ); 1215 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" );
1216} 1216}
1217 1217
1218void MainWindow::kdesynchowto() 1218void MainWindow::kdesynchowto()
1219{ 1219{
1220 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 1220 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
1221} 1221}
1222void MainWindow::multisynchowto() 1222void MainWindow::multisynchowto()
1223{ 1223{
1224 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 1224 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
1225} 1225}
1226void MainWindow::synchowto() 1226void MainWindow::synchowto()
1227{ 1227{
1228 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 1228 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
1229} 1229}
1230void MainWindow::faq() 1230void MainWindow::faq()
1231{ 1231{
1232 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" ); 1232 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" );
1233 1233
1234} 1234}
1235void MainWindow::whatsNew() 1235void MainWindow::whatsNew()
1236{ 1236{
1237 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 1237 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
1238 1238
1239} 1239}
1240void MainWindow::licence() 1240void MainWindow::licence()
1241{ 1241{
1242 KApplication::showLicence(); 1242 KApplication::showLicence();
1243 1243
1244} 1244}
1245void MainWindow::about() 1245void MainWindow::about()
1246{ 1246{
1247 QString version; 1247 QString version;
1248#include <../version> 1248#include <../version>
1249 QMessageBox::about( this, i18n("About KOrganizer/Pi"), 1249 QMessageBox::about( this, i18n("About KOrganizer/Pi"),
1250 i18n("KOrganizer/Platform-independent\n") + 1250 i18n("KOrganizer/Platform-independent\n") +
1251 "(KO/Pi) " + version + " - " + 1251 "(KO/Pi) " + version + " - " +
1252 1252
1253#ifdef DESKTOP_VERSION 1253#ifdef DESKTOP_VERSION
1254 i18n("Desktop Edition\n") + 1254 i18n("Desktop Edition\n") +
1255#else 1255#else
1256 i18n("PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n") + 1256 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") +
1257#endif 1257#endif
1258 i18n("(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n") ); 1258 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.net --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") );
1259} 1259}
1260void MainWindow::keyBindings() 1260void MainWindow::keyBindings()
1261{ 1261{
1262 QString cap = i18n("KO/Pi Keys + Colors"); 1262 QString cap = i18n("KO/Pi Keys + Colors");
1263 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + 1263 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") +
1264 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ 1264 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+
1265 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + 1265 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") +
1266 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ 1266 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+
1267 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ 1267 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+
1268 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ 1268 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+
1269 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ 1269 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+
1270 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ 1270 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+
1271 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ 1271 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+
1272 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ 1272 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+
1273 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ 1273 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+
1274 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ 1274 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+
1275 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ 1275 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+
1276 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+ 1276 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+
1277 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ 1277 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+
1278 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ 1278 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+
1279 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ 1279 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+
1280 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ 1280 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+
1281 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ 1281 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+
1282 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ 1282 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+
1283 i18n("<p><h3>In agenda view:</h3></p>\n") + 1283 i18n("<p><h3>In agenda view:</h3></p>\n") +
1284 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ 1284 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+
1285 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ 1285 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+
1286 i18n("<p><h3>In todo view:</h3></p>\n") + 1286 i18n("<p><h3>In todo view:</h3></p>\n") +
1287 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ 1287 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+
1288 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ 1288 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+
1289 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ 1289 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+
1290 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ 1290 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+
1291 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1291 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1292 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ 1292 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+
1293 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ 1293 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+
1294 i18n("<p><h3>In list view:</h3></p>\n") + 1294 i18n("<p><h3>In list view:</h3></p>\n") +
1295 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1295 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1296 i18n("<p><b>return</b>: Select item+one step down</p>\n")+ 1296 i18n("<p><b>return</b>: Select item+one step down</p>\n")+
1297 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ 1297 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+
1298 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ 1298 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+
1299 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ 1299 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+
1300 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ 1300 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+
1301 i18n("<p><h3>In event/todo viewer:</h3></p>\n") + 1301 i18n("<p><h3>In event/todo viewer:</h3></p>\n") +
1302 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ 1302 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+
1303 i18n("<p><b>A</b>: Show agenda view.</p>\n")+ 1303 i18n("<p><b>A</b>: Show agenda view.</p>\n")+
1304 i18n("<p><b>E</b>: Edit item</p>\n") + 1304 i18n("<p><b>E</b>: Edit item</p>\n") +
1305 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + 1305 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") +
1306 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + 1306 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") +
1307 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ 1307 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+
1308 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ 1308 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+
1309 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ 1309 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+
1310 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ 1310 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+
1311 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ 1311 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+
1312 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + 1312 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") +
1313 i18n("<p><b>White</b>: Item readonly</p>\n"); 1313 i18n("<p><b>White</b>: Item readonly</p>\n");
1314 displayText( text, cap); 1314 displayText( text, cap);
1315} 1315}
1316void MainWindow::aboutAutoSaving() 1316void MainWindow::aboutAutoSaving()
1317{ 1317{
1318 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"); 1318 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");
1319 1319
1320 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); 1320 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text);
1321 1321
1322} 1322}
1323void MainWindow::aboutKnownBugs() 1323void MainWindow::aboutKnownBugs()
1324{ 1324{
1325 QMessageBox* msg; 1325 QMessageBox* msg;
1326 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), 1326 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"),
1327 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")+ 1327 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")+
1328 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ 1328 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+
1329 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") + 1329 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") +
1330 i18n("\nor report them in the bugtracker on\n") + 1330 i18n("\nor report them in the bugtracker on\n") +
1331 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), 1331 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"),
1332 QMessageBox::NoIcon, 1332 QMessageBox::NoIcon,
1333 QMessageBox::Ok, 1333 QMessageBox::Ok,
1334 QMessageBox::NoButton, 1334 QMessageBox::NoButton,
1335 QMessageBox::NoButton); 1335 QMessageBox::NoButton);
1336 msg->exec(); 1336 msg->exec();
1337 delete msg; 1337 delete msg;
1338 1338
1339} 1339}
1340 1340
1341QString MainWindow::defaultFileName() 1341QString MainWindow::defaultFileName()
1342{ 1342{
1343 return locateLocal( "data", "korganizer/mycalendar.ics" ); 1343 return locateLocal( "data", "korganizer/mycalendar.ics" );
1344} 1344}
1345QString MainWindow::syncFileName() 1345QString MainWindow::syncFileName()
1346{ 1346{
1347#ifdef DESKTOP_VERSION 1347#ifdef DESKTOP_VERSION
1348 return locateLocal( "tmp", "synccalendar.ics" ); 1348 return locateLocal( "tmp", "synccalendar.ics" );
1349#else 1349#else
1350 return QString( "/tmp/synccalendar.ics" ); 1350 return QString( "/tmp/synccalendar.ics" );
1351#endif 1351#endif
1352} 1352}
1353void MainWindow::updateWeek(QDate seda) 1353void MainWindow::updateWeek(QDate seda)
1354{ 1354{
1355 int weekNum = 0; 1355 int weekNum = 0;
1356 QDate d = QDate ( seda.year(), 1,1); 1356 QDate d = QDate ( seda.year(), 1,1);
1357 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday 1357 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday
1358 if ( seda.addDays(6).year() != seda.year() ) { 1358 if ( seda.addDays(6).year() != seda.year() ) {
1359 if ( seda.year() != d.year() ) { 1359 if ( seda.year() != d.year() ) {
1360 if ( d.dayOfWeek() > 4 ) 1360 if ( d.dayOfWeek() > 4 )
1361 d = QDate ( seda.year(), 1,1); 1361 d = QDate ( seda.year(), 1,1);
1362 else 1362 else
1363 weekNum = 1; 1363 weekNum = 1;
1364 } else { 1364 } else {
1365 QDate dd( seda.year()+1, 1,1); 1365 QDate dd( seda.year()+1, 1,1);
1366 if ( dd.dayOfWeek() <= 4 ) 1366 if ( dd.dayOfWeek() <= 4 )
1367 weekNum = 1; 1367 weekNum = 1;
1368 } 1368 }
1369 } 1369 }
1370 if ( weekNum == 0 ){ 1370 if ( weekNum == 0 ){
1371 int dow = d.dayOfWeek(); 1371 int dow = d.dayOfWeek();
1372 if ( dow <= 4 ) 1372 if ( dow <= 4 )
1373 d = d.addDays( 1-dow ); 1373 d = d.addDays( 1-dow );
1374 else // 5,6,7 1374 else // 5,6,7
1375 d = d.addDays( 8-dow ); 1375 d = d.addDays( 8-dow );
1376 // we have the first week of the year.we are on monday 1376 // we have the first week of the year.we are on monday
1377 weekNum = d.daysTo( seda ) / 7 +1; 1377 weekNum = d.daysTo( seda ) / 7 +1;
1378 } 1378 }
1379 1379
1380 mWeekPixmap.fill( mWeekBgColor ); 1380 mWeekPixmap.fill( mWeekBgColor );
1381 QPainter p ( &mWeekPixmap ); 1381 QPainter p ( &mWeekPixmap );
1382 p.setFont( mWeekFont ); 1382 p.setFont( mWeekFont );
1383 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); 1383 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) );
1384 p.end(); 1384 p.end();
1385 QIconSet icon3 ( mWeekPixmap ); 1385 QIconSet icon3 ( mWeekPixmap );
1386 mWeekAction->setIconSet ( icon3 ); 1386 mWeekAction->setIconSet ( icon3 );
1387 1387
1388} 1388}
1389void MainWindow::updateWeekNum(const DateList &selectedDates) 1389void MainWindow::updateWeekNum(const DateList &selectedDates)
1390{ 1390{
1391 updateWeek( selectedDates.first() ); 1391 updateWeek( selectedDates.first() );
1392} 1392}
1393void MainWindow::processIncidenceSelection( Incidence *incidence ) 1393void MainWindow::processIncidenceSelection( Incidence *incidence )
1394{ 1394{
1395 1395
1396 if ( !incidence ) { 1396 if ( !incidence ) {
1397 enableIncidenceActions( false ); 1397 enableIncidenceActions( false );
1398 1398
1399 mNewSubTodoAction->setEnabled( false ); 1399 mNewSubTodoAction->setEnabled( false );
1400 setCaptionToDates(); 1400 setCaptionToDates();
1401 return; 1401 return;
1402 1402
1403 } 1403 }
1404 1404
1405 //KGlobal::locale()->formatDateTime(nextA, true); 1405 //KGlobal::locale()->formatDateTime(nextA, true);
1406 QString startString = ""; 1406 QString startString = "";
1407 if ( incidence->type() != "Todo" ) { 1407 if ( incidence->type() != "Todo" ) {
1408 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { 1408 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) {
1409 if ( incidence->doesFloat() ) { 1409 if ( incidence->doesFloat() ) {
1410 startString += ": "+incidence->dtStartDateStr( true ); 1410 startString += ": "+incidence->dtStartDateStr( true );
1411 startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); 1411 startString += " --- "+((Event*)incidence)->dtEndDateStr( true );
1412 1412
1413 } else { 1413 } else {
1414 startString = ": "+incidence->dtStartStr(true); 1414 startString = ": "+incidence->dtStartStr(true);
1415 startString += " --- "+((Event*)incidence)->dtEndStr(true); 1415 startString += " --- "+((Event*)incidence)->dtEndStr(true);
1416 1416
1417 } 1417 }
1418 1418
1419 } else { 1419 } else {
1420 if ( incidence->dtStart().time() != incidence->dtEnd().time() ) 1420 if ( incidence->dtStart().time() != incidence->dtEnd().time() )
1421 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ 1421 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+
1422 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); 1422 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time());
1423 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) { 1423 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) {
1424 bool ok; 1424 bool ok;
1425 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); 1425 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok );
1426 if ( ok ) { 1426 if ( ok ) {
1427 int years = noc.date().year() - incidence->dtStart().date().year(); 1427 int years = noc.date().year() - incidence->dtStart().date().year();
1428 startString += i18n(" (%1 y.)"). arg( years ); 1428 startString += i18n(" (%1 y.)"). arg( years );
1429 } 1429 }
1430 } 1430 }
1431 else 1431 else
1432 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); 1432 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true);
1433 } 1433 }
1434 1434
1435 } 1435 }
1436 else 1436 else
1437 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); 1437 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed");
1438 if ( !incidence->location().isEmpty() ) 1438 if ( !incidence->location().isEmpty() )
1439 startString += " (" +incidence->location()+")"; 1439 startString += " (" +incidence->location()+")";
1440 setCaption( incidence->summary()+startString); 1440 setCaption( incidence->summary()+startString);
1441 1441
1442 enableIncidenceActions( true ); 1442 enableIncidenceActions( true );
1443 1443
1444 if ( incidence->type() == "Event" ) { 1444 if ( incidence->type() == "Event" ) {
1445 mShowAction->setText( i18n("Show Event...") ); 1445 mShowAction->setText( i18n("Show Event...") );
1446 mEditAction->setText( i18n("Edit Event...") ); 1446 mEditAction->setText( i18n("Edit Event...") );
1447 mDeleteAction->setText( i18n("Delete Event...") ); 1447 mDeleteAction->setText( i18n("Delete Event...") );
1448 1448
1449 mNewSubTodoAction->setEnabled( false ); 1449 mNewSubTodoAction->setEnabled( false );
1450 } else if ( incidence->type() == "Todo" ) { 1450 } else if ( incidence->type() == "Todo" ) {
1451 mShowAction->setText( i18n("Show Todo...") ); 1451 mShowAction->setText( i18n("Show Todo...") );
1452 mEditAction->setText( i18n("Edit Todo...") ); 1452 mEditAction->setText( i18n("Edit Todo...") );
1453 mDeleteAction->setText( i18n("Delete Todo...") ); 1453 mDeleteAction->setText( i18n("Delete Todo...") );
1454 1454
1455 mNewSubTodoAction->setEnabled( true ); 1455 mNewSubTodoAction->setEnabled( true );
1456 } else { 1456 } else {
1457 mShowAction->setText( i18n("Show...") ); 1457 mShowAction->setText( i18n("Show...") );
1458 mShowAction->setText( i18n("Edit...") ); 1458 mShowAction->setText( i18n("Edit...") );
1459 mShowAction->setText( i18n("Delete...") ); 1459 mShowAction->setText( i18n("Delete...") );
1460 1460
1461 mNewSubTodoAction->setEnabled( false ); 1461 mNewSubTodoAction->setEnabled( false );
1462 } 1462 }
1463} 1463}
1464 1464
1465void MainWindow::enableIncidenceActions( bool enabled ) 1465void MainWindow::enableIncidenceActions( bool enabled )
1466{ 1466{
1467 mShowAction->setEnabled( enabled ); 1467 mShowAction->setEnabled( enabled );
1468 mEditAction->setEnabled( enabled ); 1468 mEditAction->setEnabled( enabled );
1469 mDeleteAction->setEnabled( enabled ); 1469 mDeleteAction->setEnabled( enabled );
1470 1470
1471 mCloneAction->setEnabled( enabled ); 1471 mCloneAction->setEnabled( enabled );
1472 mMoveAction->setEnabled( enabled ); 1472 mMoveAction->setEnabled( enabled );
1473 mBeamAction->setEnabled( enabled ); 1473 mBeamAction->setEnabled( enabled );
1474 mCancelAction->setEnabled( enabled ); 1474 mCancelAction->setEnabled( enabled );
1475} 1475}
1476 1476
1477void MainWindow::importOL() 1477void MainWindow::importOL()
1478{ 1478{
1479#ifdef _OL_IMPORT_ 1479#ifdef _OL_IMPORT_
1480 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); 1480 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this );
1481 id->exec(); 1481 id->exec();
1482 delete id; 1482 delete id;
1483 mView->updateView(); 1483 mView->updateView();
1484#endif 1484#endif
1485} 1485}
1486void MainWindow::importBday() 1486void MainWindow::importBday()
1487{ 1487{
1488 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1488 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1489 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), 1489 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
1490 i18n("Import!"), i18n("Cancel"), 0, 1490 i18n("Import!"), i18n("Cancel"), 0,
1491 0, 1 ); 1491 0, 1 );
1492 if ( result == 0 ) { 1492 if ( result == 0 ) {
1493 mView->importBday(); 1493 mView->importBday();
1494 1494
1495 } 1495 }
1496 1496
1497 1497
1498} 1498}
1499void MainWindow::importQtopia() 1499void MainWindow::importQtopia()
1500{ 1500{
1501#ifndef DESKTOP_VERSION 1501#ifndef DESKTOP_VERSION
1502 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1502 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1503 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"), 1503 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"),
1504 i18n("Import!"), i18n("Cancel"), 0, 1504 i18n("Import!"), i18n("Cancel"), 0,
1505 0, 1 ); 1505 0, 1 );
1506 if ( result == 0 ) { 1506 if ( result == 0 ) {
1507 QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); 1507 QString datebook = Global::applicationFileName( "datebook", "datebook.xml");
1508 QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); 1508 QString todolist = Global::applicationFileName( "todolist", "todolist.xml");
1509 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; 1509 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml";
1510 mView->importQtopia( categories, datebook, todolist ); 1510 mView->importQtopia( categories, datebook, todolist );
1511 } 1511 }
1512#else 1512#else
1513 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1513 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1514 i18n("Not supported \non desktop!\n"), 1514 i18n("Not supported \non desktop!\n"),
1515 i18n("Ok"), i18n("Cancel"), 0, 1515 i18n("Ok"), i18n("Cancel"), 0,
1516 0, 1 ); 1516 0, 1 );
1517 1517
1518#endif 1518#endif
1519} 1519}
1520 1520
1521void MainWindow::saveOnClose() 1521void MainWindow::saveOnClose()
1522{ 1522{
1523 KOPrefs *p = KOPrefs::instance(); 1523 KOPrefs *p = KOPrefs::instance();
1524 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); 1524 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal );
1525 p->mToolBarUp = iconToolBar->x() > width()/2 || 1525 p->mToolBarUp = iconToolBar->x() > width()/2 ||
1526 iconToolBar->y() > height()/2; 1526 iconToolBar->y() > height()/2;
1527 mView->writeSettings(); 1527 mView->writeSettings();
1528 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName())) 1528 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
1529 save(); 1529 save();
1530} 1530}
1531void MainWindow::slotModifiedChanged( bool changed ) 1531void MainWindow::slotModifiedChanged( bool changed )
1532{ 1532{
1533 if ( mBlockAtStartup ) 1533 if ( mBlockAtStartup )
1534 return; 1534 return;
1535 1535
1536 int msec; 1536 int msec;
1537 // we store the changes after 1 minute, 1537 // we store the changes after 1 minute,
1538 // and for safety reasons after 10 minutes again 1538 // and for safety reasons after 10 minutes again
1539 if ( !mSyncManager->blockSave() ) 1539 if ( !mSyncManager->blockSave() )
1540 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1540 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1541 else 1541 else
1542 msec = 1000 * 600; 1542 msec = 1000 * 600;
1543 mSaveTimer.start( msec, true ); // 1 minute 1543 mSaveTimer.start( msec, true ); // 1 minute
1544 qDebug("KO: Saving File in %d secs!", msec/1000); 1544 qDebug("KO: Saving File in %d secs!", msec/1000);
1545 mCalendarModifiedFlag = true; 1545 mCalendarModifiedFlag = true;
1546} 1546}
1547void MainWindow::saveStopTimer() 1547void MainWindow::saveStopTimer()
1548{ 1548{
1549 mSaveTimer.stop(); 1549 mSaveTimer.stop();
1550 if (mSaveTimer.isActive() ) 1550 if (mSaveTimer.isActive() )
1551 qDebug("ti active "); 1551 qDebug("ti active ");
1552 else 1552 else
1553 qDebug("KO: Save timer stopped"); 1553 qDebug("KO: Save timer stopped");
1554} 1554}
1555void MainWindow::save() 1555void MainWindow::save()
1556{ 1556{
1557 if ( !mCalendarModifiedFlag ) { 1557 if ( !mCalendarModifiedFlag ) {
1558 qDebug("KO: Calendar not modified. Nothing saved."); 1558 qDebug("KO: Calendar not modified. Nothing saved.");
1559 return; 1559 return;
1560 } 1560 }
1561 if ( mSyncManager->blockSave() ) 1561 if ( mSyncManager->blockSave() )
1562 return; 1562 return;
1563 mSyncManager->setBlockSave(true); 1563 mSyncManager->setBlockSave(true);
1564 if ( mView->checkFileVersion( defaultFileName()) ) { 1564 if ( mView->checkFileVersion( defaultFileName()) ) {
1565 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1565 QTime neededSaveTime = QDateTime::currentDateTime().time();
1566 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1566 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1567 qDebug("KO: Start saving data to file!"); 1567 qDebug("KO: Start saving data to file!");
1568 mView->saveCalendar( defaultFileName() ); 1568 mView->saveCalendar( defaultFileName() );
1569 mCalendarModifiedFlag = false; 1569 mCalendarModifiedFlag = false;
1570 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 1570 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
1571 qDebug("KO: Needed %d ms for saving.",msNeeded ); 1571 qDebug("KO: Needed %d ms for saving.",msNeeded );
1572 QString savemes; 1572 QString savemes;
1573 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); 1573 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
1574 setCaption(savemes); 1574 setCaption(savemes);
1575 } else 1575 } else
1576 setCaption(i18n("Saving cancelled!")); 1576 setCaption(i18n("Saving cancelled!"));
1577 mSyncManager->setBlockSave( false ); 1577 mSyncManager->setBlockSave( false );
1578} 1578}
1579 1579
1580void MainWindow::keyReleaseEvent ( QKeyEvent * e) 1580void MainWindow::keyReleaseEvent ( QKeyEvent * e)
1581{ 1581{
1582 if ( !e->isAutoRepeat() ) { 1582 if ( !e->isAutoRepeat() ) {
1583 mFlagKeyPressed = false; 1583 mFlagKeyPressed = false;
1584 } 1584 }
1585} 1585}
1586void MainWindow::keyPressEvent ( QKeyEvent * e ) 1586void MainWindow::keyPressEvent ( QKeyEvent * e )
1587{ 1587{
1588 qApp->processEvents(); 1588 qApp->processEvents();
1589 if ( e->isAutoRepeat() && !mFlagKeyPressed ) { 1589 if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
1590 e->ignore(); 1590 e->ignore();
1591 // qDebug(" ignore %d",e->isAutoRepeat() ); 1591 // qDebug(" ignore %d",e->isAutoRepeat() );
1592 return; 1592 return;
1593 } 1593 }
1594 if (! e->isAutoRepeat() ) 1594 if (! e->isAutoRepeat() )
1595 mFlagKeyPressed = true; 1595 mFlagKeyPressed = true;
1596 KOPrefs *p = KOPrefs::instance(); 1596 KOPrefs *p = KOPrefs::instance();
1597 bool showSelectedDates = false; 1597 bool showSelectedDates = false;
1598 int size; 1598 int size;
1599 int pro = 0; 1599 int pro = 0;
1600 //qDebug("MainWindow::keyPressEvent "); 1600 //qDebug("MainWindow::keyPressEvent ");
1601 switch ( e->key() ) { 1601 switch ( e->key() ) {
1602 case Qt::Key_Right: 1602 case Qt::Key_Right:
1603 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1603 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1604 mView->goNextMonth(); 1604 mView->goNextMonth();
1605 else 1605 else
1606 mView->goNext(); 1606 mView->goNext();
1607 showSelectedDates = true; 1607 showSelectedDates = true;
1608 break; 1608 break;
1609 case Qt::Key_Left: 1609 case Qt::Key_Left:
1610 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1610 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1611 mView->goPreviousMonth(); 1611 mView->goPreviousMonth();
1612 else 1612 else
1613 mView->goPrevious(); 1613 mView->goPrevious();
1614 showSelectedDates = true; 1614 showSelectedDates = true;
1615 break; 1615 break;
1616 case Qt::Key_Down: 1616 case Qt::Key_Down:
1617 mView->viewManager()->agendaView()->scrollOneHourDown(); 1617 mView->viewManager()->agendaView()->scrollOneHourDown();
1618 break; 1618 break;
1619 case Qt::Key_Up: 1619 case Qt::Key_Up:
1620 mView->viewManager()->agendaView()->scrollOneHourUp(); 1620 mView->viewManager()->agendaView()->scrollOneHourUp();
1621 break; 1621 break;
1622 case Qt::Key_I: 1622 case Qt::Key_I:
1623 mView->showIncidence(); 1623 mView->showIncidence();
1624 break; 1624 break;
1625 case Qt::Key_Delete: 1625 case Qt::Key_Delete:
1626 case Qt::Key_Backspace: 1626 case Qt::Key_Backspace:
1627 mView->deleteIncidence(); 1627 mView->deleteIncidence();
1628 break; 1628 break;
1629 case Qt::Key_D: 1629 case Qt::Key_D:
1630 mView->viewManager()->showDayView(); 1630 mView->viewManager()->showDayView();
1631 showSelectedDates = true; 1631 showSelectedDates = true;
1632 break; 1632 break;
1633 case Qt::Key_O: 1633 case Qt::Key_O:
1634 mView->toggleFilerEnabled( ); 1634 mView->toggleFilerEnabled( );
1635 break; 1635 break;
1636 case Qt::Key_0: 1636 case Qt::Key_0:
1637 case Qt::Key_1: 1637 case Qt::Key_1:
1638 case Qt::Key_2: 1638 case Qt::Key_2:
1639 case Qt::Key_3: 1639 case Qt::Key_3:
1640 case Qt::Key_4: 1640 case Qt::Key_4:
1641 case Qt::Key_5: 1641 case Qt::Key_5:
1642 case Qt::Key_6: 1642 case Qt::Key_6:
1643 case Qt::Key_7: 1643 case Qt::Key_7:
1644 case Qt::Key_8: 1644 case Qt::Key_8:
1645 case Qt::Key_9: 1645 case Qt::Key_9:
1646 pro = e->key()-48; 1646 pro = e->key()-48;
1647 if ( pro == 0 ) 1647 if ( pro == 0 )
1648 pro = 10; 1648 pro = 10;
1649 if ( e->state() == Qt::ControlButton) 1649 if ( e->state() == Qt::ControlButton)
1650 pro += 10; 1650 pro += 10;
1651 break; 1651 break;
1652 case Qt::Key_M: 1652 case Qt::Key_M:
1653 mView->viewManager()->showMonthView(); 1653 mView->viewManager()->showMonthView();
1654 showSelectedDates = true; 1654 showSelectedDates = true;
1655 break; 1655 break;
1656 case Qt::Key_Insert: 1656 case Qt::Key_Insert:
1657 mView->newEvent(); 1657 mView->newEvent();
1658 break; 1658 break;
1659 case Qt::Key_S : 1659 case Qt::Key_S :
1660 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1660 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1661 mView->newSubTodo(); 1661 mView->newSubTodo();
1662 else 1662 else
1663 mView->dialogManager()->showSearchDialog(); 1663 mView->dialogManager()->showSearchDialog();
1664 break; 1664 break;
1665 case Qt::Key_Y : 1665 case Qt::Key_Y :
1666 case Qt::Key_Z : 1666 case Qt::Key_Z :
1667 mView->viewManager()->showWorkWeekView(); 1667 mView->viewManager()->showWorkWeekView();
1668 showSelectedDates = true; 1668 showSelectedDates = true;
1669 break; 1669 break;
1670 case Qt::Key_U : 1670 case Qt::Key_U :
1671 mView->viewManager()->showWeekView(); 1671 mView->viewManager()->showWeekView();
1672 showSelectedDates = true; 1672 showSelectedDates = true;
1673 break; 1673 break;
1674 case Qt::Key_H : 1674 case Qt::Key_H :
1675 keyBindings(); 1675 keyBindings();
1676 break; 1676 break;
1677 case Qt::Key_W: 1677 case Qt::Key_W:
1678 mView->viewManager()->showWhatsNextView(); 1678 mView->viewManager()->showWhatsNextView();
1679 break; 1679 break;
1680 case Qt::Key_L: 1680 case Qt::Key_L:
1681 mView->viewManager()->showListView(); 1681 mView->viewManager()->showListView();
1682 break; 1682 break;
1683 case Qt::Key_N: 1683 case Qt::Key_N:
1684 mView->viewManager()->showNextXView(); 1684 mView->viewManager()->showNextXView();
1685 showSelectedDates = true; 1685 showSelectedDates = true;
1686 break; 1686 break;
1687 case Qt::Key_V: 1687 case Qt::Key_V:
1688 mView->viewManager()->showTodoView(); 1688 mView->viewManager()->showTodoView();
1689 break; 1689 break;
1690 case Qt::Key_C: 1690 case Qt::Key_C:
1691 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() ); 1691 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() );
1692 break; 1692 break;
1693 case Qt::Key_P: 1693 case Qt::Key_P:
1694 mView->showDatePicker( ); 1694 mView->showDatePicker( );
1695 break; 1695 break;
1696 case Qt::Key_F: 1696 case Qt::Key_F:
1697 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1697 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1698 mView->editFilters(); 1698 mView->editFilters();
1699 else 1699 else
1700 mView->toggleFilter(); 1700 mView->toggleFilter();
1701 break; 1701 break;
1702 case Qt::Key_X: 1702 case Qt::Key_X:
1703 mView->toggleDateNavigatorWidget(); 1703 mView->toggleDateNavigatorWidget();
1704 break; 1704 break;
1705 case Qt::Key_Space: 1705 case Qt::Key_Space:
1706 mView->toggleExpand(); 1706 mView->toggleExpand();
1707 break; 1707 break;
1708 case Qt::Key_A: 1708 case Qt::Key_A:
1709 mView->toggleAllDaySize(); 1709 mView->toggleAllDaySize();
1710 break; 1710 break;
1711 case Qt::Key_T: 1711 case Qt::Key_T:
1712 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1712 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1713 mView->newTodo(); 1713 mView->newTodo();
1714 else { 1714 else {
1715 mView->goToday(); 1715 mView->goToday();
1716 showSelectedDates = true; 1716 showSelectedDates = true;
1717 } 1717 }
1718 break; 1718 break;
1719 case Qt::Key_J: 1719 case Qt::Key_J:
1720 mView->viewManager()->showJournalView(); 1720 mView->viewManager()->showJournalView();
1721 break; 1721 break;
1722 case Qt::Key_B: 1722 case Qt::Key_B:
1723 mView->editIncidenceDescription();; 1723 mView->editIncidenceDescription();;
1724 break; 1724 break;
1725 // case Qt::Key_Return: 1725 // case Qt::Key_Return:
1726 case Qt::Key_E: 1726 case Qt::Key_E:
1727 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1727 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1728 mView->newEvent(); 1728 mView->newEvent();
1729 else 1729 else
1730 mView->editIncidence(); 1730 mView->editIncidence();
1731 break; 1731 break;
1732 case Qt::Key_Plus: 1732 case Qt::Key_Plus:
1733 size = p->mHourSize +2; 1733 size = p->mHourSize +2;
1734 if ( size <= 22 ) 1734 if ( size <= 22 )
1735 configureAgenda( size ); 1735 configureAgenda( size );
1736 break; 1736 break;
1737 case Qt::Key_Minus: 1737 case Qt::Key_Minus:
1738 size = p->mHourSize - 2; 1738 size = p->mHourSize - 2;
1739 if ( size >= 4 ) 1739 if ( size >= 4 )
1740 configureAgenda( size ); 1740 configureAgenda( size );
1741 break; 1741 break;
1742 1742
1743 1743
1744 default: 1744 default:
1745 e->ignore(); 1745 e->ignore();
1746 } 1746 }
1747 if ( pro > 0 ) { 1747 if ( pro > 0 ) {
1748 mView->selectFilter( pro-1 ); 1748 mView->selectFilter( pro-1 );
1749 } 1749 }
1750 if ( showSelectedDates ) { 1750 if ( showSelectedDates ) {
1751 ;// setCaptionToDates(); 1751 ;// setCaptionToDates();
1752 } 1752 }
1753 1753
1754} 1754}
1755 1755
1756void MainWindow::fillFilterMenu() 1756void MainWindow::fillFilterMenu()
1757{ 1757{
1758 selectFilterMenu->clear(); 1758 selectFilterMenu->clear();
1759 bool disable = false; 1759 bool disable = false;
1760 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 ); 1760 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 );
1761 selectFilterMenu->insertSeparator(); 1761 selectFilterMenu->insertSeparator();
1762 if ( mView->filterView()->filtersEnabled() ) { 1762 if ( mView->filterView()->filtersEnabled() ) {
1763 selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 1 ); 1763 selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 1 );
1764 } 1764 }
1765 else { 1765 else {
1766 selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 1 ); 1766 selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 1 );
1767 disable = true; 1767 disable = true;
1768 } 1768 }
1769 selectFilterMenu->insertSeparator(); 1769 selectFilterMenu->insertSeparator();
1770 QPtrList<CalFilter> fili = mView->filters(); 1770 QPtrList<CalFilter> fili = mView->filters();
1771 CalFilter *curfilter = mView->filterView()->selectedFilter(); 1771 CalFilter *curfilter = mView->filterView()->selectedFilter();
1772 CalFilter *filter = fili.first(); 1772 CalFilter *filter = fili.first();
1773 int iii = 2; 1773 int iii = 2;
1774 while(filter) { 1774 while(filter) {
1775 selectFilterMenu->insertItem( filter->name(), iii ); 1775 selectFilterMenu->insertItem( filter->name(), iii );
1776 if ( filter == curfilter) 1776 if ( filter == curfilter)
1777 selectFilterMenu->setItemChecked( iii, true ); 1777 selectFilterMenu->setItemChecked( iii, true );
1778 if ( disable ) 1778 if ( disable )
1779 selectFilterMenu->setItemEnabled( iii, false ); 1779 selectFilterMenu->setItemEnabled( iii, false );
1780 filter = fili.next(); 1780 filter = fili.next();
1781 ++iii; 1781 ++iii;
1782 } 1782 }
1783} 1783}
1784void MainWindow::selectFilter( int fil ) 1784void MainWindow::selectFilter( int fil )
1785{ 1785{
1786 if ( fil == 0 ) { 1786 if ( fil == 0 ) {
1787 mView->editFilters( ); 1787 mView->editFilters( );
1788 } else if ( fil == 1 ){ 1788 } else if ( fil == 1 ){
1789 mView->toggleFilerEnabled( ); 1789 mView->toggleFilerEnabled( );
1790 } else { 1790 } else {
1791 mView->selectFilter( fil-2 ); 1791 mView->selectFilter( fil-2 );
1792 } 1792 }
1793} 1793}
1794void MainWindow::configureToolBar( int item ) 1794void MainWindow::configureToolBar( int item )
1795{ 1795{
1796 1796
1797 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) ); 1797 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) );
1798 KOPrefs *p = KOPrefs::instance(); 1798 KOPrefs *p = KOPrefs::instance();
1799 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 ); 1799 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 );
1800 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 ); 1800 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 );
1801 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 ); 1801 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 );
1802 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 ); 1802 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 );
1803 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 ); 1803 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 );
1804 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 ); 1804 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 );
1805 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 ); 1805 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 );
1806 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 ); 1806 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 );
1807 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 ); 1807 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 );
1808 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 ); 1808 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 );
1809 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 ); 1809 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 );
1810 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 ); 1810 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 );
1811 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 ); 1811 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 );
1812 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 ); 1812 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 );
1813 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 ); 1813 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 );
1814 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 ); 1814 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 );
1815 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 ); 1815 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 );
1816 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 ); 1816 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 );
1817 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 ); 1817 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 );
1818 // initActions(); 1818 // initActions();
1819} 1819}
1820 1820
1821void MainWindow::setCaptionToDates() 1821void MainWindow::setCaptionToDates()
1822{ 1822{
1823 QString selDates; 1823 QString selDates;
1824 selDates = KGlobal::locale()->formatDate(mView->startDate(), true); 1824 selDates = KGlobal::locale()->formatDate(mView->startDate(), true);
1825 if (mView->startDate() < mView->endDate() ) 1825 if (mView->startDate() < mView->endDate() )
1826 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); 1826 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true);
1827 else { 1827 else {
1828 QString addString; 1828 QString addString;
1829 if ( mView->startDate() == QDateTime::currentDateTime().date() ) 1829 if ( mView->startDate() == QDateTime::currentDateTime().date() )
1830 addString = i18n("Today"); 1830 addString = i18n("Today");
1831 else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) ) 1831 else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) )
1832 addString = i18n("Tomorrow"); 1832 addString = i18n("Tomorrow");
1833 if ( !addString.isEmpty() ) 1833 if ( !addString.isEmpty() )
1834 selDates = addString+", "+selDates ; 1834 selDates = addString+", "+selDates ;
1835 } 1835 }
1836 setCaption( i18n("Dates: ") + selDates ); 1836 setCaption( i18n("Dates: ") + selDates );
1837 1837
1838} 1838}
1839void MainWindow::showConfigureAgenda( ) 1839void MainWindow::showConfigureAgenda( )
1840{ 1840{
1841 int iii; 1841 int iii;
1842 for ( iii = 1;iii<= 10 ;++iii ){ 1842 for ( iii = 1;iii<= 10 ;++iii ){
1843 configureAgendaMenu->setItemChecked( (iii+1)*2, false ); 1843 configureAgendaMenu->setItemChecked( (iii+1)*2, false );
1844 } 1844 }
1845 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true ); 1845 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true );
1846} 1846}
1847void MainWindow::configureAgenda( int item ) 1847void MainWindow::configureAgenda( int item )
1848{ 1848{
1849 if ( KOPrefs::instance()->mHourSize == item ) 1849 if ( KOPrefs::instance()->mHourSize == item )
1850 return; 1850 return;
1851 KOPrefs::instance()->mHourSize=item; 1851 KOPrefs::instance()->mHourSize=item;
1852 mView->viewManager()->agendaView()->updateConfig(); 1852 mView->viewManager()->agendaView()->updateConfig();
1853} 1853}
1854 1854
1855void MainWindow::saveCalendar() 1855void MainWindow::saveCalendar()
1856{ 1856{
1857 QString fn = KOPrefs::instance()->mLastSaveFile; 1857 QString fn = KOPrefs::instance()->mLastSaveFile;
1858 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this ); 1858 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this );
1859 1859
1860 if ( fn == "" ) 1860 if ( fn == "" )
1861 return; 1861 return;
1862 QFileInfo info; 1862 QFileInfo info;
1863 info.setFile( fn ); 1863 info.setFile( fn );
1864 QString mes; 1864 QString mes;
1865 bool createbup = true; 1865 bool createbup = true;
1866 if ( info. exists() ) { 1866 if ( info. exists() ) {
1867 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ; 1867 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ;
1868 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 1868 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
1869 i18n("Overwrite!"), i18n("Cancel"), 0, 1869 i18n("Overwrite!"), i18n("Cancel"), 0,
1870 0, 1 ); 1870 0, 1 );
1871 if ( result != 0 ) { 1871 if ( result != 0 ) {
1872 createbup = false; 1872 createbup = false;
1873 } 1873 }
1874 } 1874 }
1875 if ( createbup ) { 1875 if ( createbup ) {
1876 mView->saveCalendar( fn ); 1876 mView->saveCalendar( fn );
1877 mes = i18n("KO/Pi:Saved %1").arg(fn); 1877 mes = i18n("KO/Pi:Saved %1").arg(fn);
1878 KOPrefs::instance()->mLastSaveFile = fn; 1878 KOPrefs::instance()->mLastSaveFile = fn;
1879 setCaption(mes); 1879 setCaption(mes);
1880 } 1880 }
1881} 1881}
1882void MainWindow::loadCalendar() 1882void MainWindow::loadCalendar()
1883{ 1883{
1884 1884
1885 QString fn = KOPrefs::instance()->mLastLoadFile; 1885 QString fn = KOPrefs::instance()->mLastLoadFile;
1886 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this ); 1886 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this );
1887 1887
1888 if ( fn == "" ) 1888 if ( fn == "" )
1889 return; 1889 return;
1890 QFileInfo info; 1890 QFileInfo info;
1891 info.setFile( fn ); 1891 info.setFile( fn );
1892 QString mess; 1892 QString mess;
1893 bool loadbup = true; 1893 bool loadbup = true;
1894 if ( info. exists() ) { 1894 if ( info. exists() ) {
1895 mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); 1895 mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
1896 int result = QMessageBox::warning( this, "KO/Pi: Warning!", 1896 int result = QMessageBox::warning( this, "KO/Pi: Warning!",
1897 mess, 1897 mess,
1898 i18n("Load!"), i18n("Cancel"), 0, 1898 i18n("Load!"), i18n("Cancel"), 0,
1899 0, 1 ); 1899 0, 1 );
1900 if ( result != 0 ) { 1900 if ( result != 0 ) {
1901 loadbup = false; 1901 loadbup = false;
1902 } 1902 }
1903 } else { 1903 } else {
1904 QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1904 QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1905 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0, 1905 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0,
1906 0, 1 ); 1906 0, 1 );
1907 1907
1908 return; 1908 return;
1909 } 1909 }
1910 if ( loadbup ) { 1910 if ( loadbup ) {
1911 mView->openCalendar( fn ); 1911 mView->openCalendar( fn );
1912 KOPrefs::instance()->mLastLoadFile = fn; 1912 KOPrefs::instance()->mLastLoadFile = fn;
1913 mess = i18n("KO/Pi:Loaded %1").arg(fn) ; 1913 mess = i18n("KO/Pi:Loaded %1").arg(fn) ;
1914 setCaption(mess); 1914 setCaption(mess);
1915 } 1915 }
1916 1916
1917} 1917}
1918void MainWindow::quickImportIcal() 1918void MainWindow::quickImportIcal()
1919{ 1919{
1920 importFile( KOPrefs::instance()->mLastImportFile, false ); 1920 importFile( KOPrefs::instance()->mLastImportFile, false );
1921} 1921}
1922void MainWindow::importFile( QString fn, bool quick ) 1922void MainWindow::importFile( QString fn, bool quick )
1923{ 1923{
1924 QFileInfo info; 1924 QFileInfo info;
1925 info.setFile( fn ); 1925 info.setFile( fn );
1926 QString mess; 1926 QString mess;
1927 bool loadbup = true; 1927 bool loadbup = true;
1928 if ( !info. exists() ) { 1928 if ( !info. exists() ) {
1929 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30)); 1929 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30));
1930 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1930 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1931 mess ); 1931 mess );
1932 return; 1932 return;
1933 } 1933 }
1934 int result = 0; 1934 int result = 0;
1935 if ( !quick ) { 1935 if ( !quick ) {
1936 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 )); 1936 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 ));
1937 result = QMessageBox::warning( this, "KO/Pi: Warning!", 1937 result = QMessageBox::warning( this, "KO/Pi: Warning!",
1938 mess, 1938 mess,
1939 "Import", "Cancel", 0, 1939 "Import", "Cancel", 0,
1940 0, 1 ); 1940 0, 1 );
1941 } 1941 }
1942 if ( result == 0 ) { 1942 if ( result == 0 ) {
1943 if ( mView->openCalendar( fn, true )) { 1943 if ( mView->openCalendar( fn, true )) {
1944 KOPrefs::instance()->mLastImportFile = fn; 1944 KOPrefs::instance()->mLastImportFile = fn;
1945 setCaption(i18n("Imported file successfully")); 1945 setCaption(i18n("Imported file successfully"));
1946 } else { 1946 } else {
1947 setCaption(i18n("Error importing file")); 1947 setCaption(i18n("Error importing file"));
1948 } 1948 }
1949 } 1949 }
1950} 1950}
1951 1951
1952void MainWindow::importIcal() 1952void MainWindow::importIcal()
1953{ 1953{
1954 1954
1955 QString fn =KOPrefs::instance()->mLastImportFile; 1955 QString fn =KOPrefs::instance()->mLastImportFile;
1956 1956
1957 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this ); 1957 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this );
1958 if ( fn == "" ) 1958 if ( fn == "" )
1959 return; 1959 return;
1960 importFile( fn, true ); 1960 importFile( fn, true );
1961 1961
1962} 1962}
1963 1963
1964void MainWindow::exportVCalendar() 1964void MainWindow::exportVCalendar()
1965{ 1965{
1966 QString fn = KOPrefs::instance()->mLastVcalFile; 1966 QString fn = KOPrefs::instance()->mLastVcalFile;
1967 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this ); 1967 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this );
1968 if ( fn == "" ) 1968 if ( fn == "" )
1969 return; 1969 return;
1970 QFileInfo info; 1970 QFileInfo info;
1971 info.setFile( fn ); 1971 info.setFile( fn );
1972 QString mes; 1972 QString mes;
1973 bool createbup = true; 1973 bool createbup = true;
1974 if ( info. exists() ) { 1974 if ( info. exists() ) {
1975 mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); 1975 mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) );
1976 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 1976 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
1977 i18n("Overwrite!"), i18n("Cancel"), 0, 1977 i18n("Overwrite!"), i18n("Cancel"), 0,
1978 0, 1 ); 1978 0, 1 );
1979 if ( result != 0 ) { 1979 if ( result != 0 ) {
1980 createbup = false; 1980 createbup = false;
1981 } 1981 }
1982 } 1982 }
1983 if ( createbup ) { 1983 if ( createbup ) {
1984 if ( mView->exportVCalendar( fn ) ) { 1984 if ( mView->exportVCalendar( fn ) ) {
1985 KOPrefs::instance()->mLastVcalFile = fn; 1985 KOPrefs::instance()->mLastVcalFile = fn;
1986 if ( fn.length() > 20 ) 1986 if ( fn.length() > 20 )
1987 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ; 1987 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ;
1988 else 1988 else
1989 mes = i18n("KO/Pi:Exported to %1").arg(fn ); 1989 mes = i18n("KO/Pi:Exported to %1").arg(fn );
1990 setCaption(mes); 1990 setCaption(mes);
1991 } 1991 }
1992 } 1992 }
1993 1993
1994} 1994}
1995 1995
1996void MainWindow::syncFileRequest() 1996void MainWindow::syncFileRequest()
1997{ 1997{
1998 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) { 1998 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) {
1999 mSyncManager->slotSyncMenu( 999 ); 1999 mSyncManager->slotSyncMenu( 999 );
2000 } 2000 }
2001 save(); 2001 save();
2002} 2002}
2003void MainWindow::getFile( bool success ) 2003void MainWindow::getFile( bool success )
2004{ 2004{
2005 if ( ! success ) { 2005 if ( ! success ) {
2006 setCaption( i18n("Error receiving file. Nothing changed!") ); 2006 setCaption( i18n("Error receiving file. Nothing changed!") );
2007 return; 2007 return;
2008 } 2008 }
2009 mView->openCalendar( defaultFileName() ); 2009 mView->openCalendar( defaultFileName() );
2010 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) { 2010 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) {
2011 mSyncManager->slotSyncMenu( 999 ); 2011 mSyncManager->slotSyncMenu( 999 );
2012 } 2012 }
2013 setCaption( i18n("Pi-Sync successful!") ); 2013 setCaption( i18n("Pi-Sync successful!") );
2014} 2014}
2015 2015
2016void MainWindow::printSel( ) 2016void MainWindow::printSel( )
2017{ 2017{
2018 mView->viewManager()->agendaView()->agenda()->printSelection(); 2018 mView->viewManager()->agendaView()->agenda()->printSelection();
2019} 2019}
2020 2020
2021void MainWindow::printCal() 2021void MainWindow::printCal()
2022{ 2022{
2023 mView->print();//mCp->showDialog(); 2023 mView->print();//mCp->showDialog();
2024} 2024}
2025 2025
2026 2026
2027#include "libkdepim/kdatepicker.h" 2027#include "libkdepim/kdatepicker.h"
2028#include <kdatetbl.h> 2028#include <kdatetbl.h>
2029void MainWindow::weekAction() 2029void MainWindow::weekAction()
2030{ 2030{
2031 int month; 2031 int month;
2032 KPopupFrame* popup = new KPopupFrame(this); 2032 KPopupFrame* popup = new KPopupFrame(this);
2033 int size = 12; 2033 int size = 12;
2034 if ( QApplication::desktop()->width() >= 480 ) 2034 if ( QApplication::desktop()->width() >= 480 )
2035 size = 18; 2035 size = 18;
2036 KDateInternalWeekPicker* picker = new KDateInternalWeekPicker(size, popup); 2036 KDateInternalWeekPicker* picker = new KDateInternalWeekPicker(size, popup);
2037 // ----- 2037 // -----
2038 picker->resize(picker->sizeHint()); 2038 picker->resize(picker->sizeHint());
2039 popup->setMainWidget(picker); 2039 popup->setMainWidget(picker);
2040 picker->setFocus(); 2040 picker->setFocus();
2041 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int))); 2041 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int)));
2042 if(popup->exec(iconToolBar->mapToGlobal(QPoint(0, iconToolBar->height())))) 2042 if(popup->exec(iconToolBar->mapToGlobal(QPoint(0, iconToolBar->height()))))
2043 { 2043 {
2044 month = picker->getResult(); 2044 month = picker->getResult();
2045 emit selectWeek ( month ); 2045 emit selectWeek ( month );
2046 //qDebug("weekSelected %d ", month); 2046 //qDebug("weekSelected %d ", month);
2047 } 2047 }
2048 delete popup; 2048 delete popup;
2049} 2049}
diff --git a/korganizer/navigatorbar.h b/korganizer/navigatorbar.h
index ee4c06d..93240a6 100644
--- a/korganizer/navigatorbar.h
+++ b/korganizer/navigatorbar.h
@@ -1,66 +1,65 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 3
4 Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> 4 Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24#ifndef NAVIGATORBAR_H 24#ifndef NAVIGATORBAR_H
25#define NAVIGATORBAR_H 25#define NAVIGATORBAR_H
26 26
27#include <libkcal/incidencebase.h> 27#include <libkcal/incidencebase.h>
28 28
29#include <qwidget.h> 29#include <qwidget.h>
30 30
31class QPushButton; 31class QPushButton;
32class QFrame; 32class QFrame;
33class QLabel; 33class QLabel;
34 34
35class NavigatorBar: public QWidget 35class NavigatorBar: public QWidget
36{ 36{
37 Q_OBJECT 37 Q_OBJECT
38 public: 38 public:
39 NavigatorBar( const QDate & date, QWidget *parent = 0, const char *name = 0 ); 39 NavigatorBar( const QDate & date, QWidget *parent = 0, const char *name = 0 );
40 ~NavigatorBar(); 40 ~NavigatorBar();
41 41
42 public slots: 42 public slots:
43 void selectDates( const KCal::DateList & ); 43 void selectDates( const KCal::DateList & );
44 void selectMonth(); 44 void selectMonth();
45 45
46 signals: 46 signals:
47 void goNextMonth(); 47 void goNextMonth();
48 void goPrevMonth(); 48 void goPrevMonth();
49 void goNextYear(); 49 void goNextYear();
50 void goPrevYear(); 50 void goPrevYear();
51 void monthSelected( int ); 51 void monthSelected( int );
52 void selectWeek( int );
53 52
54 private: 53 private:
55 QFrame *mCtrlFrame; 54 QFrame *mCtrlFrame;
56 55
57 QPushButton *mPrevYear; 56 QPushButton *mPrevYear;
58 QPushButton *mPrevMonth; 57 QPushButton *mPrevMonth;
59 QPushButton *mNextMonth; 58 QPushButton *mNextMonth;
60 QPushButton *mNextYear; 59 QPushButton *mNextYear;
61 QPushButton *mSelectMonth; 60 QPushButton *mSelectMonth;
62 61
63 //QLabel *mDateLabel; 62 //QLabel *mDateLabel;
64}; 63};
65 64
66#endif 65#endif