summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kolistview.cpp10
-rw-r--r--korganizer/main.cpp2
-rw-r--r--korganizer/mainwindow.cpp31
-rw-r--r--korganizer/mainwindow.h1
4 files changed, 42 insertions, 2 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index c705c73..0b2f9a4 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -6,299 +6,307 @@
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 24
25#include <qlistview.h> 25#include <qlistview.h>
26#include <qlayout.h> 26#include <qlayout.h>
27#include <qlabel.h> 27#include <qlabel.h>
28#include <qpopupmenu.h> 28#include <qpopupmenu.h>
29#include <qprogressbar.h> 29#include <qprogressbar.h>
30#include <qfileinfo.h> 30#include <qfileinfo.h>
31#include <qmessagebox.h> 31#include <qmessagebox.h>
32#include <qdialog.h> 32#include <qdialog.h>
33#include <qtextstream.h> 33#include <qtextstream.h>
34#include <qdir.h> 34#include <qdir.h>
35#include <qwhatsthis.h> 35#include <qwhatsthis.h>
36#include <qregexp.h> 36#include <qregexp.h>
37#include <qpainter.h> 37#include <qpainter.h>
38#include <qpaintdevicemetrics.h> 38#include <qpaintdevicemetrics.h>
39 39
40#include <klocale.h> 40#include <klocale.h>
41#include <kdebug.h> 41#include <kdebug.h>
42#include <kiconloader.h> 42#include <kiconloader.h>
43#include <kglobal.h> 43#include <kglobal.h>
44 44
45#include <libkdepim/kpimglobalprefs.h> 45#include <libkdepim/kpimglobalprefs.h>
46#include <libkcal/calendar.h> 46#include <libkcal/calendar.h>
47#include <libkcal/calendarlocal.h> 47#include <libkcal/calendarlocal.h>
48#include <libkcal/icalformat.h> 48#include <libkcal/icalformat.h>
49#include <libkcal/vcalformat.h> 49#include <libkcal/vcalformat.h>
50#include <libkcal/recurrence.h> 50#include <libkcal/recurrence.h>
51#include <libkcal/filestorage.h> 51#include <libkcal/filestorage.h>
52#include <libkdepim/categoryselectdialog.h> 52#include <libkdepim/categoryselectdialog.h>
53#include <libkcal/kincidenceformatter.h> 53#include <libkcal/kincidenceformatter.h>
54#ifndef DESKTOP_VERSION 54#ifndef DESKTOP_VERSION
55#include <qpe/qpeapplication.h> 55#include <qpe/qpeapplication.h>
56#else 56#else
57#include <qapplication.h> 57#include <qapplication.h>
58#endif 58#endif
59 59
60#ifndef KORG_NOPRINTER 60#ifndef KORG_NOPRINTER
61#include "calprinter.h" 61#include "calprinter.h"
62#endif 62#endif
63#include "koglobals.h" 63#include "koglobals.h"
64#include "koprefs.h" 64#include "koprefs.h"
65#include "kfiledialog.h" 65#include "kfiledialog.h"
66 66
67#include "kolistview.h" 67#include "kolistview.h"
68#include "koeventviewer.h" 68#include "koeventviewer.h"
69 69
70extern QPixmap* sgListViewCompletedPix[6];
71
70class KOListViewWhatsThis :public QWhatsThis 72class KOListViewWhatsThis :public QWhatsThis
71{ 73{
72public: 74public:
73 KOListViewWhatsThis( QWidget *wid, KOListView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { }; 75 KOListViewWhatsThis( QWidget *wid, KOListView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { };
74 76
75protected: 77protected:
76 virtual QString text( const QPoint& p) 78 virtual QString text( const QPoint& p)
77 { 79 {
78 return _view->getWhatsThisText(p) ; 80 return _view->getWhatsThisText(p) ;
79 } 81 }
80private: 82private:
81 QWidget* _wid; 83 QWidget* _wid;
82 KOListView * _view; 84 KOListView * _view;
83}; 85};
84 86
85 87
86ListItemVisitor::ListItemVisitor(KOListViewItem *item, QDate date ) 88ListItemVisitor::ListItemVisitor(KOListViewItem *item, QDate date )
87{ 89{
88 mItem = item; 90 mItem = item;
89 mDate = date; 91 mDate = date;
90} 92}
91 93
92ListItemVisitor::~ListItemVisitor() 94ListItemVisitor::~ListItemVisitor()
93{ 95{
94} 96}
95 97
96bool ListItemVisitor::visit(Event *e) 98bool ListItemVisitor::visit(Event *e)
97{ 99{
98 bool ok = false; 100 bool ok = false;
99 QString start, end; 101 QString start, end;
100 QDate ds, de; 102 QDate ds, de;
101 if ( e->doesRecur() ) { 103 if ( e->doesRecur() ) {
102 ds = e->getNextOccurence( QDateTime( mDate, QTime(0,0,0)), &ok ).date(); 104 ds = e->getNextOccurence( QDateTime( mDate, QTime(0,0,0)), &ok ).date();
103 if ( ok ) { 105 if ( ok ) {
104 int days = e->dtStart().date().daysTo(e->dtEnd().date() ); 106 int days = e->dtStart().date().daysTo(e->dtEnd().date() );
105 start = KGlobal::locale()->formatDate(ds,true); 107 start = KGlobal::locale()->formatDate(ds,true);
106 de = ds.addDays( days); 108 de = ds.addDays( days);
107 end = KGlobal::locale()->formatDate(de,true); 109 end = KGlobal::locale()->formatDate(de,true);
108 } 110 }
109 111
110 } 112 }
111 if ( ! ok ) { 113 if ( ! ok ) {
112 start =e->dtStartDateStr(); 114 start =e->dtStartDateStr();
113 end = e->dtEndDateStr(); 115 end = e->dtEndDateStr();
114 ds = e->dtStart().date(); 116 ds = e->dtStart().date();
115 de = e->dtEnd().date(); 117 de = e->dtEnd().date();
116 } 118 }
117 mItem->setText(0,e->summary()); 119 mItem->setText(0,e->summary());
118 mItem->setText(1,start); 120 mItem->setText(1,start);
119 if ( e->doesFloat() ) 121 if ( e->doesFloat() )
120 mItem->setText(2,"---"); 122 mItem->setText(2,"---");
121 else 123 else
122 mItem->setText(2,e->dtStartTimeStr()); 124 mItem->setText(2,e->dtStartTimeStr());
123 mItem->setText(3,end); 125 mItem->setText(3,end);
124 if ( e->doesFloat() ) 126 if ( e->doesFloat() )
125 mItem->setText(4,"---"); 127 mItem->setText(4,"---");
126 else 128 else
127 mItem->setText(4,e->dtEndTimeStr()); 129 mItem->setText(4,e->dtEndTimeStr());
128 if ( e->isAlarmEnabled() ) { 130 if ( e->isAlarmEnabled() ) {
129 mItem->setText(5,e->alarms().first()->offsetText() ); 131 mItem->setText(5,e->alarms().first()->offsetText() );
130 } else { 132 } else {
131 mItem->setText(5, i18n("No")); 133 mItem->setText(5, i18n("No"));
132 } 134 }
133 mItem->setText(6, e->recurrence()->recurrenceText()); 135 mItem->setText(6, e->recurrence()->recurrenceText());
134 if( ! e->doesRecur() ) 136 if( ! e->doesRecur() )
135 mItem->setSortKey( 6, "-" ); 137 mItem->setSortKey( 6, "-" );
136 mItem->setText(7,"---"); 138 mItem->setText(7,"---");
137 mItem->setText(8,"---"); 139 mItem->setText(8,"---");
138 mItem->setText(9, e->cancelled() ? i18n("Yes") : i18n("No")); 140 mItem->setText(9, e->cancelled() ? i18n("Yes") : i18n("No"));
139 mItem->setText(10,e->categoriesStr()); 141 mItem->setText(10,e->categoriesStr());
140 mItem->setText(11, KOPrefs::instance()->calName( e->calID() )); 142 mItem->setText(11, KOPrefs::instance()->calName( e->calID() ));
141 143
142 QString key; 144 QString key;
143 QTime t = e->doesFloat() ? QTime(0,0) : e->dtStart().time(); 145 QTime t = e->doesFloat() ? QTime(0,0) : e->dtStart().time();
144 key.sprintf("%04d%02d%02d%02d%02d",ds.year(),ds.month(),ds.day(),t.hour(),t.minute()); 146 key.sprintf("%04d%02d%02d%02d%02d",ds.year(),ds.month(),ds.day(),t.hour(),t.minute());
145 mItem->setSortKey(1,key); 147 mItem->setSortKey(1,key);
146 148
147 t = e->doesFloat() ? QTime(0,0) : e->dtEnd().time(); 149 t = e->doesFloat() ? QTime(0,0) : e->dtEnd().time();
148 key.sprintf("%04d%02d%02d%02d%02d",de.year(),de.month(),de.day(),t.hour(),t.minute()); 150 key.sprintf("%04d%02d%02d%02d%02d",de.year(),de.month(),de.day(),t.hour(),t.minute());
149 mItem->setSortKey(3,key); 151 mItem->setSortKey(3,key);
150 return true; 152 return true;
151} 153}
152 154
153bool ListItemVisitor::visit(Todo *t) 155bool ListItemVisitor::visit(Todo *t)
154{ 156{
155 mItem->setText(0,i18n("Todo: %1").arg(t->summary())); 157 mItem->setText(0,t->summary());
158 if ( t->isCompleted() ) {
159 mItem->setSortKey(0,"99"+ t->summary().left(10));
160 } else
161 mItem->setSortKey(0,QString::number( t->percentComplete() )+ t->summary().left(10));
162 mItem->setPixmap( 0, *(sgListViewCompletedPix[t->percentComplete()/20]));
156 if (t->hasStartDate()) { 163 if (t->hasStartDate()) {
157 mItem->setText(1,t->dtStartDateStr()); 164 mItem->setText(1,t->dtStartDateStr());
158 if (t->doesFloat()) { 165 if (t->doesFloat()) {
159 mItem->setText(2,"---"); 166 mItem->setText(2,"---");
160 } else { 167 } else {
161 mItem->setText(2,t->dtStartTimeStr()); 168 mItem->setText(2,t->dtStartTimeStr());
162 } 169 }
163 } else { 170 } else {
164 mItem->setText(1,"---"); 171 mItem->setText(1,"---");
165 mItem->setText(2,"---"); 172 mItem->setText(2,"---");
166 } 173 }
167 mItem->setText(3,"---"); 174 mItem->setText(3,"---");
168 mItem->setText(4,"---"); 175 mItem->setText(4,"---");
169 if ( t->isAlarmEnabled() ) { 176 if ( t->isAlarmEnabled() ) {
170 mItem->setText(5,t->alarms().first()->offsetText() ); 177 mItem->setText(5,t->alarms().first()->offsetText() );
171 } else { 178 } else {
172 mItem->setText(5, i18n("No")); 179 mItem->setText(5, i18n("No"));
173 } 180 }
174 mItem->setText(6, t->recurrence()->recurrenceText()); 181 mItem->setText(6, t->recurrence()->recurrenceText());
175 if( ! t->doesRecur() ) 182 if( ! t->doesRecur() )
176 mItem->setSortKey( 6, "-" ); 183 mItem->setSortKey( 6, "-" );
177 if (t->hasDueDate()) { 184 if (t->hasDueDate()) {
178 mItem->setText(7,t->dtDueDateStr()); 185 mItem->setText(7,t->dtDueDateStr());
179 if (t->doesFloat()) { 186 if (t->doesFloat()) {
180 mItem->setText(8,"---"); 187 mItem->setText(8,"---");
181 } else { 188 } else {
182 mItem->setText(8,t->dtDueTimeStr()); 189 mItem->setText(8,t->dtDueTimeStr());
183 } 190 }
184 } else { 191 } else {
185 mItem->setText(7,"---"); 192 mItem->setText(7,"---");
186 mItem->setText(8,"---"); 193 mItem->setText(8,"---");
187 } 194 }
188 mItem->setText(9, t->cancelled() ? i18n("Yes") : i18n("No")); 195 mItem->setText(9, t->cancelled() ? i18n("Yes") : i18n("No"));
189 mItem->setText(10,t->categoriesStr()); 196 mItem->setText(10,t->categoriesStr());
190 mItem->setText(11, KOPrefs::instance()->calName( t->calID() )); 197 mItem->setText(11, KOPrefs::instance()->calName( t->calID() ));
191 198
192 QString key; 199 QString key;
193 QDate d; 200 QDate d;
194 if (t->hasDueDate()) { 201 if (t->hasDueDate()) {
195 d = t->dtDue().date(); 202 d = t->dtDue().date();
196 QTime tm = t->doesFloat() ? QTime(0,0) : t->dtDue().time(); 203 QTime tm = t->doesFloat() ? QTime(0,0) : t->dtDue().time();
197 key.sprintf("%04d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute()); 204 key.sprintf("%04d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute());
198 mItem->setSortKey(7,key); 205 mItem->setSortKey(7,key);
199 } 206 }
200 if ( t->hasStartDate() ) { 207 if ( t->hasStartDate() ) {
201 d = t->dtStart().date(); 208 d = t->dtStart().date();
202 QTime tm = t->doesFloat() ? QTime(0,0) : t->dtStart().time(); 209 QTime tm = t->doesFloat() ? QTime(0,0) : t->dtStart().time();
203 key.sprintf("%04d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute()); 210 key.sprintf("%04d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute());
204 mItem->setSortKey(1,key); 211 mItem->setSortKey(1,key);
205 } 212 }
206 return true; 213 return true;
207} 214}
208 215
209bool ListItemVisitor::visit(Journal * j) 216bool ListItemVisitor::visit(Journal * j)
210{ 217{
211 QString des = j->description().left(30); 218 QString des = j->description().left(30);
212 des = des.simplifyWhiteSpace (); 219 des = des.simplifyWhiteSpace ();
213 des.replace (QRegExp ("\\n"),"" ); 220 des.replace (QRegExp ("\\n"),"" );
214 des.replace (QRegExp ("\\r"),"" ); 221 des.replace (QRegExp ("\\r"),"" );
215 mItem->setText(0,i18n("Journal: ")+des.left(25)); 222 mItem->setText(0,i18n("Journal: ")+des.left(25));
216 mItem->setText(1,j->dtStartDateStr()); 223 mItem->setText(1,j->dtStartDateStr());
217 mItem->setText(2,"---"); 224 mItem->setText(2,"---");
218 mItem->setText(3,"---"); 225 mItem->setText(3,"---");
219 mItem->setText(4,"---"); 226 mItem->setText(4,"---");
220 mItem->setText(5,"---"); 227 mItem->setText(5,"---");
221 mItem->setText(6,"---"); 228 mItem->setText(6,"---");
222 mItem->setText(7,j->dtStartDateStr()); 229 mItem->setText(7,j->dtStartDateStr());
223 mItem->setText(8,"---"); 230 mItem->setText(8,"---");
224 mItem->setText(9,"---"); 231 mItem->setText(9,"---");
225 mItem->setText(10,i18n("Last Modified: ")+ KGlobal::locale()->formatDateTime( j->lastModified() , true) ); 232 mItem->setText(10,i18n("Last Modified: ")+ KGlobal::locale()->formatDateTime( j->lastModified() , true) );
226 mItem->setText(11, KOPrefs::instance()->calName( j->calID() )); 233 mItem->setText(11, KOPrefs::instance()->calName( j->calID() ));
227 234
228 QString key; 235 QString key;
229 QDate d = j->dtStart().date(); 236 QDate d = j->dtStart().date();
230 key.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 237 key.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
231 mItem->setSortKey(1,key); 238 mItem->setSortKey(1,key);
232 mItem->setSortKey(7,key); 239 mItem->setSortKey(7,key);
233 240
234 return true; 241 return true;
235} 242}
236 243
237KOListView::KOListView(Calendar *calendar, QWidget *parent, 244KOListView::KOListView(Calendar *calendar, QWidget *parent,
238 const char *name) 245 const char *name)
239 : KOEventView(calendar, parent, name) 246 : KOEventView(calendar, parent, name)
240{ 247{
248
241 mActiveItem = 0; 249 mActiveItem = 0;
242 mListView = new KOListViewListView(this); 250 mListView = new KOListViewListView(this);
243 mListView->addColumn(i18n("Summary")); 251 mListView->addColumn(i18n("Summary"));
244 mListView->addColumn(i18n("Start Date")); 252 mListView->addColumn(i18n("Start Date"));
245 mListView->addColumn(i18n("Start Time")); 253 mListView->addColumn(i18n("Start Time"));
246 mListView->addColumn(i18n("End Date")); 254 mListView->addColumn(i18n("End Date"));
247 mListView->addColumn(i18n("End Time")); 255 mListView->addColumn(i18n("End Time"));
248 mListView->addColumn(i18n("Alarm")); // alarm set? 256 mListView->addColumn(i18n("Alarm")); // alarm set?
249 mListView->addColumn(i18n("Recurs")); // recurs? 257 mListView->addColumn(i18n("Recurs")); // recurs?
250 mListView->addColumn(i18n("Due Date")); 258 mListView->addColumn(i18n("Due Date"));
251 mListView->addColumn(i18n("Due Time")); 259 mListView->addColumn(i18n("Due Time"));
252 mListView->addColumn(i18n("Cancelled")); 260 mListView->addColumn(i18n("Cancelled"));
253 mListView->addColumn(i18n("Categories")); 261 mListView->addColumn(i18n("Categories"));
254 mListView->addColumn(i18n("Calendar")); 262 mListView->addColumn(i18n("Calendar"));
255 263
256 mListView->setColumnAlignment(0,AlignLeft); 264 mListView->setColumnAlignment(0,AlignLeft);
257 mListView->setColumnAlignment(1,AlignLeft); 265 mListView->setColumnAlignment(1,AlignLeft);
258 mListView->setColumnAlignment(2,AlignHCenter); 266 mListView->setColumnAlignment(2,AlignHCenter);
259 mListView->setColumnAlignment(3,AlignLeft); 267 mListView->setColumnAlignment(3,AlignLeft);
260 mListView->setColumnAlignment(4,AlignHCenter); 268 mListView->setColumnAlignment(4,AlignHCenter);
261 mListView->setColumnAlignment(5,AlignLeft); 269 mListView->setColumnAlignment(5,AlignLeft);
262 mListView->setColumnAlignment(6,AlignLeft); 270 mListView->setColumnAlignment(6,AlignLeft);
263 mListView->setColumnAlignment(7,AlignLeft); 271 mListView->setColumnAlignment(7,AlignLeft);
264 mListView->setColumnAlignment(8,AlignLeft); 272 mListView->setColumnAlignment(8,AlignLeft);
265 mListView->setColumnAlignment(9,AlignLeft); 273 mListView->setColumnAlignment(9,AlignLeft);
266 mListView->setColumnAlignment(10,AlignLeft); 274 mListView->setColumnAlignment(10,AlignLeft);
267 mListView->setColumnAlignment(11,AlignLeft); 275 mListView->setColumnAlignment(11,AlignLeft);
268 mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this); 276 mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this);
269 277
270 int iii = 0; 278 int iii = 0;
271 for ( iii = 0; iii< 12 ; ++iii ) 279 for ( iii = 0; iii< 12 ; ++iii )
272 mListView->setColumnWidthMode( iii, QListView::Manual ); 280 mListView->setColumnWidthMode( iii, QListView::Manual );
273 281
274 QBoxLayout *layoutTop = new QVBoxLayout(this); 282 QBoxLayout *layoutTop = new QVBoxLayout(this);
275 layoutTop->addWidget(mListView); 283 layoutTop->addWidget(mListView);
276 mListView->setFont ( KOPrefs::instance()->mListViewFont ); 284 mListView->setFont ( KOPrefs::instance()->mListViewFont );
277 mPopupMenu = eventPopup(); 285 mPopupMenu = eventPopup();
278 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 286 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
279 i18n("Select all"),this, 287 i18n("Select all"),this,
280 SLOT(allSelection()),true); 288 SLOT(allSelection()),true);
281 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 289 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
282 i18n("Deselect all"),this, 290 i18n("Deselect all"),this,
283 SLOT(clearSelection()),true); 291 SLOT(clearSelection()),true);
284 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 292 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
285 i18n("Delete all selected"),this, 293 i18n("Delete all selected"),this,
286 SLOT(deleteAll()),true); 294 SLOT(deleteAll()),true);
287 295
288 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 296 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
289 i18n("Hide all selected"),this, 297 i18n("Hide all selected"),this,
290 SLOT(hideAll()),true); 298 SLOT(hideAll()),true);
291 299
292 mPopupMenu->insertSeparator(); 300 mPopupMenu->insertSeparator();
293#ifdef DESKTOP_VERSION 301#ifdef DESKTOP_VERSION
294 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 302 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
295 i18n("Print complete list"),this, 303 i18n("Print complete list"),this,
296 SLOT(printList()),true); 304 SLOT(printList()),true);
297 mPopupMenu->insertSeparator(); 305 mPopupMenu->insertSeparator();
298#endif 306#endif
299 mCalPopup = new QPopupMenu ( this ); 307 mCalPopup = new QPopupMenu ( this );
300 mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup ); 308 mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup );
301 309
302 QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this, 310 QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this,
303 SLOT( populateCalPopup() )); 311 SLOT( populateCalPopup() ));
304 QObject::connect(mCalPopup,SIGNAL(activated( int )),this, 312 QObject::connect(mCalPopup,SIGNAL(activated( int )),this,
diff --git a/korganizer/main.cpp b/korganizer/main.cpp
index ee9589c..2bf46b9 100644
--- a/korganizer/main.cpp
+++ b/korganizer/main.cpp
@@ -1,88 +1,90 @@
1 1
2 2
3#ifndef DESKTOP_VERSION 3#ifndef DESKTOP_VERSION
4#include <qpe/qpeapplication.h> 4#include <qpe/qpeapplication.h>
5#include <qcopchannel_qws.h> 5#include <qcopchannel_qws.h>
6#include <qpe/global.h> 6#include <qpe/global.h>
7#include <stdlib.h> 7#include <stdlib.h>
8#else 8#else
9#include <qapplication.h> 9#include <qapplication.h>
10#include <qstring.h> 10#include <qstring.h>
11#include <qwindowsstyle.h> 11#include <qwindowsstyle.h>
12#include <qplatinumstyle.h> 12#include <qplatinumstyle.h>
13#include <qsgistyle.h> 13#include <qsgistyle.h>
14#include <stdlib.h> 14#include <stdlib.h>
15#endif 15#endif
16#include <qtextcodec.h> 16#include <qtextcodec.h>
17 17
18#include <qdir.h> 18#include <qdir.h>
19#include <kstandarddirs.h> 19#include <kstandarddirs.h>
20#include <kglobal.h> 20#include <kglobal.h>
21#include <stdio.h> 21#include <stdio.h>
22#include "mainwindow.h" 22#include "mainwindow.h"
23#include <libkdepim/kpimglobalprefs.h> 23#include <libkdepim/kpimglobalprefs.h>
24void dumpMissing(); 24void dumpMissing();
25
26
25int main( int argc, char **argv ) 27int main( int argc, char **argv )
26{ 28{
27#ifndef DESKTOP_VERSION 29#ifndef DESKTOP_VERSION
28 QPEApplication a( argc, argv ); 30 QPEApplication a( argc, argv );
29 a.setKeepRunning (); 31 a.setKeepRunning ();
30#else 32#else
31 QApplication a( argc, argv ); 33 QApplication a( argc, argv );
32 QApplication::setStyle( new QPlatinumStyle ()); 34 QApplication::setStyle( new QPlatinumStyle ());
33#ifdef _WIN32_ 35#ifdef _WIN32_
34 QString hdir ( getenv( "HOME") ); 36 QString hdir ( getenv( "HOME") );
35 if ( hdir.isEmpty() ) { 37 if ( hdir.isEmpty() ) {
36 QString hd ("C:/" ); 38 QString hd ("C:/" );
37 //QMessageBox::information(0,"hh",QDir::homeDirPath()+" xx" +hd ); 39 //QMessageBox::information(0,"hh",QDir::homeDirPath()+" xx" +hd );
38 if ( QDir::homeDirPath().lower() == hd.lower() ) { 40 if ( QDir::homeDirPath().lower() == hd.lower() ) {
39 _putenv( "HOME=C:"); 41 _putenv( "HOME=C:");
40 //QMessageBox::information(0,"hh",QString ( getenv( "HOME") ) ); 42 //QMessageBox::information(0,"hh",QString ( getenv( "HOME") ) );
41 } 43 }
42 } else { 44 } else {
43 QDir app_dir; 45 QDir app_dir;
44 if ( !app_dir.exists(hdir) ) 46 if ( !app_dir.exists(hdir) )
45 app_dir.mkdir (hdir); 47 app_dir.mkdir (hdir);
46 } 48 }
47#endif 49#endif
48#endif 50#endif
49 bool exitHelp = false; 51 bool exitHelp = false;
50 if ( argc > 1 ) { 52 if ( argc > 1 ) {
51 QString command = argv[1]; 53 QString command = argv[1];
52 if ( command == "-help" ){ 54 if ( command == "-help" ){
53 printf("KO/Pi command line commands:\n"); 55 printf("KO/Pi command line commands:\n");
54 printf(" no command: Start KO/Pi in usual way\n"); 56 printf(" no command: Start KO/Pi in usual way\n");
55 printf(" -help: This output\n"); 57 printf(" -help: This output\n");
56 printf("Next Option: Open or Show after start:\n"); 58 printf("Next Option: Open or Show after start:\n");
57 printf(" -newTodo: New Todo dialog\n"); 59 printf(" -newTodo: New Todo dialog\n");
58 printf(" -newEvent: New Event dialog\n"); 60 printf(" -newEvent: New Event dialog\n");
59 printf(" -showList: List view\n"); 61 printf(" -showList: List view\n");
60 printf(" -showDay: Day view\n"); 62 printf(" -showDay: Day view\n");
61 printf(" -showWWeek: Work Week view\n"); 63 printf(" -showWWeek: Work Week view\n");
62 printf(" -showWeek: Week view\n"); 64 printf(" -showWeek: Week view\n");
63 printf(" -showTodo: Todo view\n"); 65 printf(" -showTodo: Todo view\n");
64 printf(" -showJournal: Journal view\n"); 66 printf(" -showJournal: Journal view\n");
65 printf(" -showKO: Next Days view\n"); 67 printf(" -showKO: Next Days view\n");
66 printf(" -showWNext: What's Next view\n"); 68 printf(" -showWNext: What's Next view\n");
67 printf(" -showNextXView: Next X View\n"); 69 printf(" -showNextXView: Next X View\n");
68 printf(" -new[Y] and -show[X] may be used togehther\n"); 70 printf(" -new[Y] and -show[X] may be used togehther\n");
69 printf(" KO/Pi is exiting now. Bye!\n"); 71 printf(" KO/Pi is exiting now. Bye!\n");
70 exitHelp = true; 72 exitHelp = true;
71 } 73 }
72 } 74 }
73 if ( ! exitHelp ) { 75 if ( ! exitHelp ) {
74 KGlobal::setAppName( "korganizer" ); 76 KGlobal::setAppName( "korganizer" );
75 QString fileName ; 77 QString fileName ;
76#ifndef DESKTOP_VERSION 78#ifndef DESKTOP_VERSION
77 fileName = getenv("QPEDIR"); 79 fileName = getenv("QPEDIR");
78 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/korganizer/"); 80 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/korganizer/");
79#else 81#else
80 fileName = qApp->applicationDirPath () + "/kdepim/korganizer/"; 82 fileName = qApp->applicationDirPath () + "/kdepim/korganizer/";
81 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); 83 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
82#endif 84#endif
83 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "korganizer"))); 85 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "korganizer")));
84 86
85 QApplication::setFont( KPimGlobalPrefs::instance()->mApplicationFont ); 87 QApplication::setFont( KPimGlobalPrefs::instance()->mApplicationFont );
86 MainWindow m; 88 MainWindow m;
87#ifndef DESKTOP_VERSION 89#ifndef DESKTOP_VERSION
88 90
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index f945383..0367bea 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -68,133 +68,162 @@ using namespace KCal;
68#include <unistd.h> 68#include <unistd.h>
69#else 69#else
70#ifdef _OL_IMPORT_ 70#ifdef _OL_IMPORT_
71#include "koimportoldialog.h" 71#include "koimportoldialog.h"
72#endif 72#endif
73#endif 73#endif
74#include "mainwindow.h" 74#include "mainwindow.h"
75 75
76 76
77class KOex2phonePrefs : public QDialog 77class KOex2phonePrefs : public QDialog
78{ 78{
79 public: 79 public:
80 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 80 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
81 QDialog( parent, name, true ) 81 QDialog( parent, name, true )
82 { 82 {
83 setCaption( i18n("Export to phone options") ); 83 setCaption( i18n("Export to phone options") );
84 QVBoxLayout* lay = new QVBoxLayout( this ); 84 QVBoxLayout* lay = new QVBoxLayout( this );
85 lay->setSpacing( 3 ); 85 lay->setSpacing( 3 );
86 lay->setMargin( 3 ); 86 lay->setMargin( 3 );
87 QLabel *lab; 87 QLabel *lab;
88 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 88 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
89 lab->setAlignment (AlignHCenter ); 89 lab->setAlignment (AlignHCenter );
90 QHBox* temphb; 90 QHBox* temphb;
91 temphb = new QHBox( this ); 91 temphb = new QHBox( this );
92 new QLabel( i18n("I/O device: "), temphb ); 92 new QLabel( i18n("I/O device: "), temphb );
93 mPhoneDevice = new QLineEdit( temphb); 93 mPhoneDevice = new QLineEdit( temphb);
94 lay->addWidget( temphb ); 94 lay->addWidget( temphb );
95 temphb = new QHBox( this ); 95 temphb = new QHBox( this );
96 new QLabel( i18n("Connection: "), temphb ); 96 new QLabel( i18n("Connection: "), temphb );
97 mPhoneConnection = new QLineEdit( temphb); 97 mPhoneConnection = new QLineEdit( temphb);
98 lay->addWidget( temphb ); 98 lay->addWidget( temphb );
99 temphb = new QHBox( this ); 99 temphb = new QHBox( this );
100 new QLabel( i18n("Model(opt.): "), temphb ); 100 new QLabel( i18n("Model(opt.): "), temphb );
101 mPhoneModel = new QLineEdit( temphb); 101 mPhoneModel = new QLineEdit( temphb);
102 lay->addWidget( temphb ); 102 lay->addWidget( temphb );
103 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); 103 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this );
104 mWriteBackFuture->setChecked( true ); 104 mWriteBackFuture->setChecked( true );
105 lay->addWidget( mWriteBackFuture ); 105 lay->addWidget( mWriteBackFuture );
106 temphb = new QHBox( this ); 106 temphb = new QHBox( this );
107 new QLabel( i18n("Max. weeks in future: ") , temphb ); 107 new QLabel( i18n("Max. weeks in future: ") , temphb );
108 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); 108 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb);
109 mWriteBackFutureWeeks->setValue( 8 ); 109 mWriteBackFutureWeeks->setValue( 8 );
110 lay->addWidget( temphb ); 110 lay->addWidget( temphb );
111 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); 111 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) );
112 lab->setAlignment (AlignHCenter ); 112 lab->setAlignment (AlignHCenter );
113 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 113 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
114 lay->addWidget( ok ); 114 lay->addWidget( ok );
115 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 115 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
116 lay->addWidget( cancel ); 116 lay->addWidget( cancel );
117 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 117 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
118 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 118 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
119 resize( 220, 240 ); 119 resize( 220, 240 );
120 qApp->processEvents(); 120 qApp->processEvents();
121 int dw = QApplication::desktop()->width(); 121 int dw = QApplication::desktop()->width();
122 int dh = QApplication::desktop()->height(); 122 int dh = QApplication::desktop()->height();
123 move( (dw-width())/2, (dh - height() )/2 ); 123 move( (dw-width())/2, (dh - height() )/2 );
124 } 124 }
125 125
126public: 126public:
127 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 127 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
128 QCheckBox* mWriteBackFuture; 128 QCheckBox* mWriteBackFuture;
129 QSpinBox* mWriteBackFutureWeeks; 129 QSpinBox* mWriteBackFutureWeeks;
130}; 130};
131 131
132QPixmap* sgListViewCompletedPix[6];
133
134
132int globalFlagBlockStartup; 135int globalFlagBlockStartup;
133MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : 136MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
134 QMainWindow( parent, name ) 137 QMainWindow( parent, name )
135{ 138{
136 139 sgListViewCompletedPix[5] = &listviewPix;
140 sgListViewCompletedPix[0] = &listviewPix0;
141 sgListViewCompletedPix[1] = &listviewPix20;
142 sgListViewCompletedPix[2] = &listviewPix40;
143 sgListViewCompletedPix[3] = &listviewPix60;
144 sgListViewCompletedPix[4] = &listviewPix80;
145 if ( sgListViewCompletedPix[5]->height() < 5 ) {
146 int size = 12;
147 sgListViewCompletedPix[5]->resize( 11, 11 );
148 sgListViewCompletedPix[5]->fill( Qt::white );
149 QPainter p ( sgListViewCompletedPix[5] );
150 p.drawRect( 0,0,11,11);
151 int half = size/2;
152 int heihei = size/2;
153 int x = 1;
154 p.drawLine ( 2, 5, 4 , 7 ) ;
155 p.drawLine ( 4 , 7 , 8, 3) ;
156 int iii = 0;
157 for ( iii = 0; iii < 5; ++iii ) {
158 sgListViewCompletedPix[iii]->resize( 11, 11 );
159 sgListViewCompletedPix[iii]->fill( Qt::white );
160 QPainter p ( sgListViewCompletedPix[iii] );
161 p.drawRect( 0,0,11,11);
162 if ( iii )
163 p.fillRect( 1,1,iii*2,9,Qt::gray );
164 }
165 }
137 mClosed = false; 166 mClosed = false;
138 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 167 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
139 QString confFile = locateLocal("config","korganizerrc"); 168 QString confFile = locateLocal("config","korganizerrc");
140 QFileInfo finf ( confFile ); 169 QFileInfo finf ( confFile );
141 bool showWarning = !finf.exists(); 170 bool showWarning = !finf.exists();
142 setIcon(SmallIcon( "ko24" ) ); 171 setIcon(SmallIcon( "ko24" ) );
143 mBlockAtStartup = true; 172 mBlockAtStartup = true;
144 mFlagKeyPressed = false; 173 mFlagKeyPressed = false;
145 setCaption("KO/Pi"); 174 setCaption("KO/Pi");
146 KOPrefs *p = KOPrefs::instance(); 175 KOPrefs *p = KOPrefs::instance();
147 KPimGlobalPrefs::instance()->setGlobalConfig(); 176 KPimGlobalPrefs::instance()->setGlobalConfig();
148 p->mCurrentDisplayedView = 0; 177 p->mCurrentDisplayedView = 0;
149 if ( p->mHourSize > 22 ) 178 if ( p->mHourSize > 22 )
150 p->mHourSize = 22; 179 p->mHourSize = 22;
151 QMainWindow::ToolBarDock tbd; 180 QMainWindow::ToolBarDock tbd;
152 if ( p->mToolBarHor ) { 181 if ( p->mToolBarHor ) {
153 if ( p->mToolBarUp ) 182 if ( p->mToolBarUp )
154 tbd = Bottom; 183 tbd = Bottom;
155 else 184 else
156 tbd = Top; 185 tbd = Top;
157 } 186 }
158 else { 187 else {
159 if ( p->mToolBarUp ) 188 if ( p->mToolBarUp )
160 tbd = Right; 189 tbd = Right;
161 else 190 else
162 tbd = Left; 191 tbd = Left;
163 } 192 }
164 if ( KOPrefs::instance()->mUseAppColors ) 193 if ( KOPrefs::instance()->mUseAppColors )
165 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 194 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
166 globalFlagBlockStartup = 1; 195 globalFlagBlockStartup = 1;
167 iconToolBar = new QPEToolBar( this ); 196 iconToolBar = new QPEToolBar( this );
168 addToolBar (iconToolBar , tbd ); 197 addToolBar (iconToolBar , tbd );
169 198
170#ifdef DESKTOP_VERSION 199#ifdef DESKTOP_VERSION
171 if ( KOPrefs::instance()->mShowIconFilter ) 200 if ( KOPrefs::instance()->mShowIconFilter )
172#else 201#else
173 if ( KOPrefs::instance()->mShowIconFilter || !p->mShowIconOnetoolbar ) 202 if ( KOPrefs::instance()->mShowIconFilter || !p->mShowIconOnetoolbar )
174#endif 203#endif
175 204
176{ 205{
177 if ( p->mToolBarHorF ) { 206 if ( p->mToolBarHorF ) {
178 if ( p->mToolBarUpF ) 207 if ( p->mToolBarUpF )
179 tbd = Bottom; 208 tbd = Bottom;
180 else 209 else
181 tbd = Top; 210 tbd = Top;
182 } 211 }
183 else { 212 else {
184 if ( p->mToolBarUpF ) 213 if ( p->mToolBarUpF )
185 tbd = Right; 214 tbd = Right;
186 else 215 else
187 tbd = Left; 216 tbd = Left;
188 } 217 }
189 filterToolBar = new QPEToolBar ( this ); 218 filterToolBar = new QPEToolBar ( this );
190 filterMenubar = new QMenuBar( 0 ); 219 filterMenubar = new QMenuBar( 0 );
191 QFontMetrics fm ( filterMenubar->font() ); 220 QFontMetrics fm ( filterMenubar->font() );
192 221
193 filterPopupMenu = new QPopupMenu( this ); 222 filterPopupMenu = new QPopupMenu( this );
194 filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 ); 223 filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 );
195 QString addTest = "A"; 224 QString addTest = "A";
196 filterMenubar->setMinimumWidth( fm.width( i18n("No Filter")+addTest ) ); 225 filterMenubar->setMinimumWidth( fm.width( i18n("No Filter")+addTest ) );
197#ifdef DESKTOP_VERSION 226#ifdef DESKTOP_VERSION
198 addTest = "AAABBBCCCx"; 227 addTest = "AAABBBCCCx";
199#else 228#else
200 addTest = "AAx"; 229 addTest = "AAx";
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 1105783..9a8bc7f 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -101,68 +101,69 @@ class MainWindow : public QMainWindow
101 void selectWeek ( int ); 101 void selectWeek ( int );
102 private slots: 102 private slots:
103 void showConfigureAgenda(); 103 void showConfigureAgenda();
104 void getFile( bool ); 104 void getFile( bool );
105 void syncFileRequest(); 105 void syncFileRequest();
106 106
107 protected: 107 protected:
108 void hideEvent ( QHideEvent * ); 108 void hideEvent ( QHideEvent * );
109 QString sentSyncFile(); 109 QString sentSyncFile();
110 void displayText( QString, QString); 110 void displayText( QString, QString);
111 void enableIncidenceActions( bool ); 111 void enableIncidenceActions( bool );
112 112
113 private: 113 private:
114 bool mBRdisabled; 114 bool mBRdisabled;
115#ifndef DESKTOP_VERSION 115#ifndef DESKTOP_VERSION
116 QCopChannel* infrared; 116 QCopChannel* infrared;
117#endif 117#endif
118 QAction* brAction; 118 QAction* brAction;
119 KSyncManager* mSyncManager; 119 KSyncManager* mSyncManager;
120 bool mClosed; 120 bool mClosed;
121 void saveOnClose(); 121 void saveOnClose();
122 bool mFlagKeyPressed; 122 bool mFlagKeyPressed;
123 bool mBlockAtStartup; 123 bool mBlockAtStartup;
124 QPEToolBar *iconToolBar; 124 QPEToolBar *iconToolBar;
125 QPEToolBar *viewToolBar; 125 QPEToolBar *viewToolBar;
126 QPEToolBar *navigatorToolBar; 126 QPEToolBar *navigatorToolBar;
127 QPEToolBar *filterToolBar; 127 QPEToolBar *filterToolBar;
128 QMenuBar *filterMenubar; 128 QMenuBar *filterMenubar;
129 QPopupMenu * filterPopupMenu; 129 QPopupMenu * filterPopupMenu;
130 void initActions(); 130 void initActions();
131 void setDefaultPreferences(); 131 void setDefaultPreferences();
132 void resizeEvent( QResizeEvent* e); 132 void resizeEvent( QResizeEvent* e);
133 void keyPressEvent ( QKeyEvent * ) ; 133 void keyPressEvent ( QKeyEvent * ) ;
134 void keyReleaseEvent ( QKeyEvent * ) ; 134 void keyReleaseEvent ( QKeyEvent * ) ;
135 QPopupMenu *configureToolBarMenu; 135 QPopupMenu *configureToolBarMenu;
136 QPopupMenu *selectFilterMenu; 136 QPopupMenu *selectFilterMenu;
137 QPopupMenu *selectFilterMenuTB; 137 QPopupMenu *selectFilterMenuTB;
138 QPopupMenu *configureAgendaMenu, *syncMenu; 138 QPopupMenu *configureAgendaMenu, *syncMenu;
139 CalendarLocal *mCalendar; 139 CalendarLocal *mCalendar;
140 CalendarView *mView; 140 CalendarView *mView;
141 QAction *mNewSubTodoAction; 141 QAction *mNewSubTodoAction;
142 QAction *mWeekAction; 142 QAction *mWeekAction;
143 QFont mWeekFont; 143 QFont mWeekFont;
144 QPixmap mWeekPixmap; 144 QPixmap mWeekPixmap;
145 QColor mWeekBgColor; 145 QColor mWeekBgColor;
146 146
147 QAction *mShowAction; 147 QAction *mShowAction;
148 QAction *mEditAction; 148 QAction *mEditAction;
149 QAction *mDeleteAction; 149 QAction *mDeleteAction;
150 QAction *mCloneAction; 150 QAction *mCloneAction;
151 QAction *mMoveAction; 151 QAction *mMoveAction;
152 QAction *mBeamAction; 152 QAction *mBeamAction;
153 QAction *mCancelAction; 153 QAction *mCancelAction;
154 154
155 QAction *mToggleNav; 155 QAction *mToggleNav;
156 QAction *mToggleFilter; 156 QAction *mToggleFilter;
157 QAction *mToggleAllday; 157 QAction *mToggleAllday;
158 QAction *actionFilterMenuTB; 158 QAction *actionFilterMenuTB;
159 159
160 void closeEvent( QCloseEvent* ce ); 160 void closeEvent( QCloseEvent* ce );
161 QTimer mSaveTimer; 161 QTimer mSaveTimer;
162 //bool mBlockSaveFlag; 162 //bool mBlockSaveFlag;
163 bool mCalendarModifiedFlag; 163 bool mCalendarModifiedFlag;
164 QPixmap loadPixmap( QString ); 164 QPixmap loadPixmap( QString );
165 QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80;
165}; 166};
166 167
167 168
168#endif 169#endif