summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-01-25 15:12:21 (UTC)
committer zautrix <zautrix>2005-01-25 15:12:21 (UTC)
commitfe4e6e85abc2ec90cc80108fc7434899b6e13048 (patch) (unidiff)
tree9a3cf83ecf8796d0020076e4e8e275d193fb2584
parent165d969ce6ac38c5e3d7b5c629af0b00d0fff017 (diff)
downloadkdepimpi-fe4e6e85abc2ec90cc80108fc7434899b6e13048.zip
kdepimpi-fe4e6e85abc2ec90cc80108fc7434899b6e13048.tar.gz
kdepimpi-fe4e6e85abc2ec90cc80108fc7434899b6e13048.tar.bz2
small fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp11
-rw-r--r--kaddressbook/kaddressbook.pro31
-rw-r--r--kaddressbook/mainembedded.cpp30
-rw-r--r--kdepim-desktop.pro2
-rw-r--r--korganizer/koprefsdialog.cpp2
-rw-r--r--korganizer/korganizer.pro32
-rw-r--r--korganizer/main.cpp29
-rw-r--r--korganizer/mainwindow.cpp8
8 files changed, 72 insertions, 73 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 505cbf4..590cc82 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -1,351 +1,352 @@
1/* 1/*
2 This file is part of KAddressbook. 2 This file is part of KAddressbook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@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/*s 24/*s
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$Id$
29*/ 29*/
30 30
31#include "kabcore.h" 31#include "kabcore.h"
32 32
33#include <stdaddressbook.h> 33#include <stdaddressbook.h>
34#include <klocale.h> 34#include <klocale.h>
35#include <kfiledialog.h> 35#include <kfiledialog.h>
36#include <qtimer.h> 36#include <qtimer.h>
37#include <qlabel.h> 37#include <qlabel.h>
38#include <qregexp.h> 38#include <qregexp.h>
39#include <qlineedit.h> 39#include <qlineedit.h>
40#include <qcheckbox.h> 40#include <qcheckbox.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qprogressbar.h> 42#include <qprogressbar.h>
43#include <libkdepim/phoneaccess.h> 43#include <libkdepim/phoneaccess.h>
44 44
45#ifndef KAB_EMBEDDED 45#ifndef KAB_EMBEDDED
46#include <qclipboard.h> 46#include <qclipboard.h>
47#include <qdir.h> 47#include <qdir.h>
48#include <qfile.h> 48#include <qfile.h>
49#include <qapplicaton.h> 49#include <qapplicaton.h>
50#include <qprogressbar.h> 50#include <qprogressbar.h>
51#include <qlayout.h> 51#include <qlayout.h>
52#include <qregexp.h> 52#include <qregexp.h>
53#include <qvbox.h> 53#include <qvbox.h>
54#include <kabc/addresseelist.h> 54#include <kabc/addresseelist.h>
55#include <kabc/errorhandler.h> 55#include <kabc/errorhandler.h>
56#include <kabc/resource.h> 56#include <kabc/resource.h>
57#include <kabc/vcardconverter.h> 57#include <kabc/vcardconverter.h>
58#include <kapplication.h> 58#include <kapplication.h>
59#include <kactionclasses.h> 59#include <kactionclasses.h>
60#include <kcmultidialog.h> 60#include <kcmultidialog.h>
61#include <kdebug.h> 61#include <kdebug.h>
62#include <kdeversion.h> 62#include <kdeversion.h>
63#include <kkeydialog.h> 63#include <kkeydialog.h>
64#include <kmessagebox.h> 64#include <kmessagebox.h>
65#include <kprinter.h> 65#include <kprinter.h>
66#include <kprotocolinfo.h> 66#include <kprotocolinfo.h>
67#include <kresources/selectdialog.h> 67#include <kresources/selectdialog.h>
68#include <kstandarddirs.h> 68#include <kstandarddirs.h>
69#include <ktempfile.h> 69#include <ktempfile.h>
70#include <kxmlguiclient.h> 70#include <kxmlguiclient.h>
71#include <kaboutdata.h> 71#include <kaboutdata.h>
72#include <libkdepim/categoryselectdialog.h> 72#include <libkdepim/categoryselectdialog.h>
73 73
74#include "addresseeutil.h" 74#include "addresseeutil.h"
75#include "addresseeeditordialog.h" 75#include "addresseeeditordialog.h"
76#include "extensionmanager.h" 76#include "extensionmanager.h"
77#include "kstdaction.h" 77#include "kstdaction.h"
78#include "kaddressbookservice.h" 78#include "kaddressbookservice.h"
79#include "ldapsearchdialog.h" 79#include "ldapsearchdialog.h"
80#include "printing/printingwizard.h" 80#include "printing/printingwizard.h"
81#else // KAB_EMBEDDED 81#else // KAB_EMBEDDED
82 82
83#include <kapplication.h> 83#include <kapplication.h>
84#include "KDGanttMinimizeSplitter.h" 84#include "KDGanttMinimizeSplitter.h"
85#include "kaddressbookmain.h" 85#include "kaddressbookmain.h"
86#include "kactioncollection.h" 86#include "kactioncollection.h"
87#include "addresseedialog.h" 87#include "addresseedialog.h"
88//US 88//US
89#include <addresseeview.h> 89#include <addresseeview.h>
90 90
91#include <qapp.h> 91#include <qapp.h>
92#include <qmenubar.h> 92#include <qmenubar.h>
93//#include <qtoolbar.h> 93//#include <qtoolbar.h>
94#include <qmessagebox.h> 94#include <qmessagebox.h>
95#include <kdebug.h> 95#include <kdebug.h>
96#include <kiconloader.h> // needed for SmallIcon 96#include <kiconloader.h> // needed for SmallIcon
97#include <kresources/kcmkresources.h> 97#include <kresources/kcmkresources.h>
98#include <ktoolbar.h> 98#include <ktoolbar.h>
99 99
100 100
101//#include <qlabel.h> 101//#include <qlabel.h>
102 102
103 103
104#ifndef DESKTOP_VERSION 104#ifndef DESKTOP_VERSION
105#include <qpe/ir.h> 105#include <qpe/ir.h>
106#include <qpe/qpemenubar.h> 106#include <qpe/qpemenubar.h>
107#include <qtopia/qcopenvelope_qws.h> 107#include <qtopia/qcopenvelope_qws.h>
108#else 108#else
109 109
110#include <qmenubar.h> 110#include <qmenubar.h>
111#endif 111#endif
112 112
113#endif // KAB_EMBEDDED 113#endif // KAB_EMBEDDED
114#include "kcmconfigs/kcmkabconfig.h" 114#include "kcmconfigs/kcmkabconfig.h"
115#include "kcmconfigs/kcmkdepimconfig.h" 115#include "kcmconfigs/kcmkdepimconfig.h"
116#include "kpimglobalprefs.h" 116#include "kpimglobalprefs.h"
117#include "externalapphandler.h" 117#include "externalapphandler.h"
118#include "xxportselectdialog.h" 118#include "xxportselectdialog.h"
119 119
120 120
121#include <kresources/selectdialog.h> 121#include <kresources/selectdialog.h>
122#include <kmessagebox.h> 122#include <kmessagebox.h>
123 123
124#include <picture.h> 124#include <picture.h>
125#include <resource.h> 125#include <resource.h>
126 126
127//US#include <qsplitter.h> 127//US#include <qsplitter.h>
128#include <qmap.h> 128#include <qmap.h>
129#include <qdir.h> 129#include <qdir.h>
130#include <qfile.h> 130#include <qfile.h>
131#include <qvbox.h> 131#include <qvbox.h>
132#include <qlayout.h> 132#include <qlayout.h>
133#include <qclipboard.h> 133#include <qclipboard.h>
134#include <qtextstream.h> 134#include <qtextstream.h>
135#include <qradiobutton.h> 135#include <qradiobutton.h>
136#include <qbuttongroup.h> 136#include <qbuttongroup.h>
137 137
138#include <libkdepim/categoryselectdialog.h> 138#include <libkdepim/categoryselectdialog.h>
139#include <libkdepim/categoryeditdialog.h> 139#include <libkdepim/categoryeditdialog.h>
140#include <kabc/vcardconverter.h> 140#include <kabc/vcardconverter.h>
141 141
142 142
143#include "addresseeutil.h" 143#include "addresseeutil.h"
144#include "undocmds.h" 144#include "undocmds.h"
145#include "addresseeeditordialog.h" 145#include "addresseeeditordialog.h"
146#include "viewmanager.h" 146#include "viewmanager.h"
147#include "details/detailsviewcontainer.h" 147#include "details/detailsviewcontainer.h"
148#include "kabprefs.h" 148#include "kabprefs.h"
149#include "xxportmanager.h" 149#include "xxportmanager.h"
150#include "incsearchwidget.h" 150#include "incsearchwidget.h"
151#include "jumpbuttonbar.h" 151#include "jumpbuttonbar.h"
152#include "extensionmanager.h" 152#include "extensionmanager.h"
153#include "addresseeconfig.h" 153#include "addresseeconfig.h"
154#include "nameeditdialog.h" 154#include "nameeditdialog.h"
155#include <kcmultidialog.h> 155#include <kcmultidialog.h>
156 156
157#ifdef _WIN32_ 157#ifdef _WIN32_
158 158#ifdef _OL_IMPORT_
159#include "kaimportoldialog.h" 159#include "kaimportoldialog.h"
160#endif
160#else 161#else
161#include <unistd.h> 162#include <unistd.h>
162#endif 163#endif
163// sync includes 164// sync includes
164#include <libkdepim/ksyncprofile.h> 165#include <libkdepim/ksyncprofile.h>
165#include <libkdepim/ksyncprefsdialog.h> 166#include <libkdepim/ksyncprefsdialog.h>
166 167
167 168
168class KABCatPrefs : public QDialog 169class KABCatPrefs : public QDialog
169{ 170{
170 public: 171 public:
171 KABCatPrefs( QWidget *parent=0, const char *name=0 ) : 172 KABCatPrefs( QWidget *parent=0, const char *name=0 ) :
172 QDialog( parent, name, true ) 173 QDialog( parent, name, true )
173 { 174 {
174 setCaption( i18n("Manage new Categories") ); 175 setCaption( i18n("Manage new Categories") );
175 QVBoxLayout* lay = new QVBoxLayout( this ); 176 QVBoxLayout* lay = new QVBoxLayout( this );
176 lay->setSpacing( 3 ); 177 lay->setSpacing( 3 );
177 lay->setMargin( 3 ); 178 lay->setMargin( 3 );
178 QLabel * lab = new QLabel( i18n("After importing/loading/syncing\nthere may be new categories in\naddressees\nwhich are not in the category list.\nPlease choose what to do:\n "), this ); 179 QLabel * lab = new QLabel( i18n("After importing/loading/syncing\nthere may be new categories in\naddressees\nwhich are not in the category list.\nPlease choose what to do:\n "), this );
179 lay->addWidget( lab ); 180 lay->addWidget( lab );
180 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this ); 181 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this );
181 lay->addWidget( format ); 182 lay->addWidget( format );
182 format->setExclusive ( true ) ; 183 format->setExclusive ( true ) ;
183 addCatBut = new QRadioButton(i18n("Add to category list"), format ); 184 addCatBut = new QRadioButton(i18n("Add to category list"), format );
184 new QRadioButton(i18n("Remove from addressees"), format ); 185 new QRadioButton(i18n("Remove from addressees"), format );
185 addCatBut->setChecked( true ); 186 addCatBut->setChecked( true );
186 QPushButton * ok = new QPushButton( i18n("OK"), this ); 187 QPushButton * ok = new QPushButton( i18n("OK"), this );
187 lay->addWidget( ok ); 188 lay->addWidget( ok );
188 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 189 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
189 lay->addWidget( cancel ); 190 lay->addWidget( cancel );
190 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 191 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
191 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 192 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
192 resize( 200, 200 ); 193 resize( 200, 200 );
193 } 194 }
194 195
195 bool addCat() { return addCatBut->isChecked(); } 196 bool addCat() { return addCatBut->isChecked(); }
196private: 197private:
197 QRadioButton* addCatBut; 198 QRadioButton* addCatBut;
198}; 199};
199 200
200class KABFormatPrefs : public QDialog 201class KABFormatPrefs : public QDialog
201{ 202{
202 public: 203 public:
203 KABFormatPrefs( QWidget *parent=0, const char *name=0 ) : 204 KABFormatPrefs( QWidget *parent=0, const char *name=0 ) :
204 QDialog( parent, name, true ) 205 QDialog( parent, name, true )
205 { 206 {
206 setCaption( i18n("Set formatted name") ); 207 setCaption( i18n("Set formatted name") );
207 QVBoxLayout* lay = new QVBoxLayout( this ); 208 QVBoxLayout* lay = new QVBoxLayout( this );
208 lay->setSpacing( 3 ); 209 lay->setSpacing( 3 );
209 lay->setMargin( 3 ); 210 lay->setMargin( 3 );
210 QLabel * lab = new QLabel( i18n("You can set the formatted name\nfor a list of contacts in one go."), this ); 211 QLabel * lab = new QLabel( i18n("You can set the formatted name\nfor a list of contacts in one go."), this );
211 lay->addWidget( lab ); 212 lay->addWidget( lab );
212 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("Set formatted name to:"), this ); 213 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("Set formatted name to:"), this );
213 lay->addWidget( format ); 214 lay->addWidget( format );
214 format->setExclusive ( true ) ; 215 format->setExclusive ( true ) ;
215 simple = new QRadioButton(i18n("Simple: James Bond"), format ); 216 simple = new QRadioButton(i18n("Simple: James Bond"), format );
216 full = new QRadioButton(i18n("Full: Mr. James 007 Bond I"), format ); 217 full = new QRadioButton(i18n("Full: Mr. James 007 Bond I"), format );
217 reverse = new QRadioButton(i18n("Reverse: Bond, James"), format ); 218 reverse = new QRadioButton(i18n("Reverse: Bond, James"), format );
218 company = new QRadioButton(i18n("Organization: MI6"), format ); 219 company = new QRadioButton(i18n("Organization: MI6"), format );
219 simple->setChecked( true ); 220 simple->setChecked( true );
220 setCompany = new QCheckBox(i18n("Set formatted name to\norganization, if name empty"), this); 221 setCompany = new QCheckBox(i18n("Set formatted name to\norganization, if name empty"), this);
221 lay->addWidget( setCompany ); 222 lay->addWidget( setCompany );
222 QPushButton * ok = new QPushButton( i18n("Select contact list"), this ); 223 QPushButton * ok = new QPushButton( i18n("Select contact list"), this );
223 lay->addWidget( ok ); 224 lay->addWidget( ok );
224 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 225 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
225 lay->addWidget( cancel ); 226 lay->addWidget( cancel );
226 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 227 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
227 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 228 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
228 //resize( 200, 200 ); 229 //resize( 200, 200 );
229 230
230 } 231 }
231public: 232public:
232 QRadioButton* simple, *full, *reverse, *company; 233 QRadioButton* simple, *full, *reverse, *company;
233 QCheckBox* setCompany; 234 QCheckBox* setCompany;
234}; 235};
235 236
236 237
237 238
238class KAex2phonePrefs : public QDialog 239class KAex2phonePrefs : public QDialog
239{ 240{
240 public: 241 public:
241 KAex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 242 KAex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
242 QDialog( parent, name, true ) 243 QDialog( parent, name, true )
243 { 244 {
244 setCaption( i18n("Export to phone options") ); 245 setCaption( i18n("Export to phone options") );
245 QVBoxLayout* lay = new QVBoxLayout( this ); 246 QVBoxLayout* lay = new QVBoxLayout( this );
246 lay->setSpacing( 3 ); 247 lay->setSpacing( 3 );
247 lay->setMargin( 3 ); 248 lay->setMargin( 3 );
248 QLabel *lab; 249 QLabel *lab;
249 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 250 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
250 lab->setAlignment (AlignHCenter ); 251 lab->setAlignment (AlignHCenter );
251 QHBox* temphb; 252 QHBox* temphb;
252 temphb = new QHBox( this ); 253 temphb = new QHBox( this );
253 new QLabel( i18n("I/O device: "), temphb ); 254 new QLabel( i18n("I/O device: "), temphb );
254 mPhoneDevice = new QLineEdit( temphb); 255 mPhoneDevice = new QLineEdit( temphb);
255 lay->addWidget( temphb ); 256 lay->addWidget( temphb );
256 temphb = new QHBox( this ); 257 temphb = new QHBox( this );
257 new QLabel( i18n("Connection: "), temphb ); 258 new QLabel( i18n("Connection: "), temphb );
258 mPhoneConnection = new QLineEdit( temphb); 259 mPhoneConnection = new QLineEdit( temphb);
259 lay->addWidget( temphb ); 260 lay->addWidget( temphb );
260 temphb = new QHBox( this ); 261 temphb = new QHBox( this );
261 new QLabel( i18n("Model(opt.): "), temphb ); 262 new QLabel( i18n("Model(opt.): "), temphb );
262 mPhoneModel = new QLineEdit( temphb); 263 mPhoneModel = new QLineEdit( temphb);
263 lay->addWidget( temphb ); 264 lay->addWidget( temphb );
264 // mWriteToSim = new QCheckBox( i18n("Write Contacts to SIM card\n(if not, write to phone memory)"), this ); 265 // mWriteToSim = new QCheckBox( i18n("Write Contacts to SIM card\n(if not, write to phone memory)"), this );
265 // lay->addWidget( mWriteToSim ); 266 // lay->addWidget( mWriteToSim );
266 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ncontact data on phone!"), this ) ); 267 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ncontact data on phone!"), this ) );
267 lab->setAlignment (AlignHCenter); 268 lab->setAlignment (AlignHCenter);
268 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 269 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
269 lay->addWidget( ok ); 270 lay->addWidget( ok );
270 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 271 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
271 lay->addWidget( cancel ); 272 lay->addWidget( cancel );
272 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 273 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
273 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 274 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
274 resize( 220, 240 ); 275 resize( 220, 240 );
275 276
276 } 277 }
277 278
278public: 279public:
279 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 280 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
280 QCheckBox* mWriteToSim; 281 QCheckBox* mWriteToSim;
281}; 282};
282 283
283 284
284bool pasteWithNewUid = true; 285bool pasteWithNewUid = true;
285 286
286#ifdef KAB_EMBEDDED 287#ifdef KAB_EMBEDDED
287KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name ) 288KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name )
288 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), 289 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ),
289 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/ 290 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/
290 mReadWrite( readWrite ), mModified( false ), mMainWindow(client) 291 mReadWrite( readWrite ), mModified( false ), mMainWindow(client)
291#else //KAB_EMBEDDED 292#else //KAB_EMBEDDED
292KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name ) 293KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name )
293 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), 294 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ),
294 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ), 295 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ),
295 mReadWrite( readWrite ), mModified( false ) 296 mReadWrite( readWrite ), mModified( false )
296#endif //KAB_EMBEDDED 297#endif //KAB_EMBEDDED
297{ 298{
298 // syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); 299 // syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu);
299 // syncManager->setBlockSave(false); 300 // syncManager->setBlockSave(false);
300 mMiniSplitter = 0; 301 mMiniSplitter = 0;
301 mExtensionBarSplitter = 0; 302 mExtensionBarSplitter = 0;
302 mIsPart = !parent->inherits( "KAddressBookMain" ); 303 mIsPart = !parent->inherits( "KAddressBookMain" );
303 mAddressBook = KABC::StdAddressBook::self(); 304 mAddressBook = KABC::StdAddressBook::self();
304 KABC::StdAddressBook::setAutomaticSave( false ); 305 KABC::StdAddressBook::setAutomaticSave( false );
305 306
306#ifndef KAB_EMBEDDED 307#ifndef KAB_EMBEDDED
307 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); 308 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler );
308#endif //KAB_EMBEDDED 309#endif //KAB_EMBEDDED
309 310
310 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), 311 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
311 SLOT( addressBookChanged() ) ); 312 SLOT( addressBookChanged() ) );
312 313
313#if 0 314#if 0
314 // LP moved to addressbook init method 315 // LP moved to addressbook init method
315 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, 316 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization,
316 "X-Department", "KADDRESSBOOK" ); 317 "X-Department", "KADDRESSBOOK" );
317 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, 318 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization,
318 "X-Profession", "KADDRESSBOOK" ); 319 "X-Profession", "KADDRESSBOOK" );
319 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, 320 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization,
320 "X-AssistantsName", "KADDRESSBOOK" ); 321 "X-AssistantsName", "KADDRESSBOOK" );
321 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, 322 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization,
322 "X-ManagersName", "KADDRESSBOOK" ); 323 "X-ManagersName", "KADDRESSBOOK" );
323 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, 324 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal,
324 "X-SpousesName", "KADDRESSBOOK" ); 325 "X-SpousesName", "KADDRESSBOOK" );
325 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, 326 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal,
326 "X-Office", "KADDRESSBOOK" ); 327 "X-Office", "KADDRESSBOOK" );
327 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, 328 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal,
328 "X-IMAddress", "KADDRESSBOOK" ); 329 "X-IMAddress", "KADDRESSBOOK" );
329 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, 330 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal,
330 "X-Anniversary", "KADDRESSBOOK" ); 331 "X-Anniversary", "KADDRESSBOOK" );
331 332
332 //US added this field to become compatible with Opie/qtopia addressbook 333 //US added this field to become compatible with Opie/qtopia addressbook
333 // values can be "female" or "male" or "". An empty field represents undefined. 334 // values can be "female" or "male" or "". An empty field represents undefined.
334 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, 335 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal,
335 "X-Gender", "KADDRESSBOOK" ); 336 "X-Gender", "KADDRESSBOOK" );
336 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, 337 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal,
337 "X-Children", "KADDRESSBOOK" ); 338 "X-Children", "KADDRESSBOOK" );
338 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, 339 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal,
339 "X-FreeBusyUrl", "KADDRESSBOOK" ); 340 "X-FreeBusyUrl", "KADDRESSBOOK" );
340#endif 341#endif
341 initGUI(); 342 initGUI();
342 343
343 mIncSearchWidget->setFocus(); 344 mIncSearchWidget->setFocus();
344 345
345 346
346 connect( mViewManager, SIGNAL( selected( const QString& ) ), 347 connect( mViewManager, SIGNAL( selected( const QString& ) ),
347 SLOT( setContactSelected( const QString& ) ) ); 348 SLOT( setContactSelected( const QString& ) ) );
348 connect( mViewManager, SIGNAL( executed( const QString& ) ), 349 connect( mViewManager, SIGNAL( executed( const QString& ) ),
349 SLOT( executeContact( const QString& ) ) ); 350 SLOT( executeContact( const QString& ) ) );
350 351
351 connect( mViewManager, SIGNAL( deleteRequest( ) ), 352 connect( mViewManager, SIGNAL( deleteRequest( ) ),
@@ -1102,385 +1103,385 @@ void KABCore::setCategories()
1102 uids = dlgx.uids(); 1103 uids = dlgx.uids();
1103 else 1104 else
1104 return; 1105 return;
1105 if ( uids.isEmpty() ) 1106 if ( uids.isEmpty() )
1106 return; 1107 return;
1107 // qDebug("count %d ", uids.count()); 1108 // qDebug("count %d ", uids.count());
1108 1109
1109 1110
1110 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true ); 1111 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true );
1111 if ( !dlg.exec() ) { 1112 if ( !dlg.exec() ) {
1112 message( i18n("Setting categories cancelled") ); 1113 message( i18n("Setting categories cancelled") );
1113 return; 1114 return;
1114 } 1115 }
1115 bool merge = false; 1116 bool merge = false;
1116 QString msg = i18n( "Merge with existing categories?" ); 1117 QString msg = i18n( "Merge with existing categories?" );
1117 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes ) 1118 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes )
1118 merge = true; 1119 merge = true;
1119 1120
1120 message( i18n("Setting categories ... please wait!") ); 1121 message( i18n("Setting categories ... please wait!") );
1121 QStringList categories = dlg.selectedCategories(); 1122 QStringList categories = dlg.selectedCategories();
1122 1123
1123 //QStringList uids = mViewManager->selectedUids(); 1124 //QStringList uids = mViewManager->selectedUids();
1124 QStringList::Iterator it; 1125 QStringList::Iterator it;
1125 for ( it = uids.begin(); it != uids.end(); ++it ) { 1126 for ( it = uids.begin(); it != uids.end(); ++it ) {
1126 KABC::Addressee addr = mAddressBook->findByUid( *it ); 1127 KABC::Addressee addr = mAddressBook->findByUid( *it );
1127 if ( !addr.isEmpty() ) { 1128 if ( !addr.isEmpty() ) {
1128 if ( !merge ) 1129 if ( !merge )
1129 addr.setCategories( categories ); 1130 addr.setCategories( categories );
1130 else { 1131 else {
1131 QStringList addrCategories = addr.categories(); 1132 QStringList addrCategories = addr.categories();
1132 QStringList::Iterator catIt; 1133 QStringList::Iterator catIt;
1133 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) { 1134 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) {
1134 if ( !addrCategories.contains( *catIt ) ) 1135 if ( !addrCategories.contains( *catIt ) )
1135 addrCategories.append( *catIt ); 1136 addrCategories.append( *catIt );
1136 } 1137 }
1137 addr.setCategories( addrCategories ); 1138 addr.setCategories( addrCategories );
1138 } 1139 }
1139 mAddressBook->insertAddressee( addr ); 1140 mAddressBook->insertAddressee( addr );
1140 } 1141 }
1141 } 1142 }
1142 1143
1143 if ( uids.count() > 0 ) 1144 if ( uids.count() > 0 )
1144 setModified( true ); 1145 setModified( true );
1145 message( i18n("Setting categories completed!") ); 1146 message( i18n("Setting categories completed!") );
1146} 1147}
1147 1148
1148void KABCore::setSearchFields( const KABC::Field::List &fields ) 1149void KABCore::setSearchFields( const KABC::Field::List &fields )
1149{ 1150{
1150 mIncSearchWidget->setFields( fields ); 1151 mIncSearchWidget->setFields( fields );
1151} 1152}
1152 1153
1153void KABCore::incrementalSearch( const QString& text ) 1154void KABCore::incrementalSearch( const QString& text )
1154{ 1155{
1155 mViewManager->doSearch( text, mIncSearchWidget->currentField() ); 1156 mViewManager->doSearch( text, mIncSearchWidget->currentField() );
1156} 1157}
1157 1158
1158void KABCore::setModified() 1159void KABCore::setModified()
1159{ 1160{
1160 setModified( true ); 1161 setModified( true );
1161} 1162}
1162 1163
1163void KABCore::setModifiedWOrefresh() 1164void KABCore::setModifiedWOrefresh()
1164{ 1165{
1165 // qDebug("KABCore::setModifiedWOrefresh() "); 1166 // qDebug("KABCore::setModifiedWOrefresh() ");
1166 mModified = true; 1167 mModified = true;
1167 mActionSave->setEnabled( mModified ); 1168 mActionSave->setEnabled( mModified );
1168 1169
1169 1170
1170} 1171}
1171void KABCore::setModified( bool modified ) 1172void KABCore::setModified( bool modified )
1172{ 1173{
1173 mModified = modified; 1174 mModified = modified;
1174 mActionSave->setEnabled( mModified ); 1175 mActionSave->setEnabled( mModified );
1175 1176
1176 if ( modified ) 1177 if ( modified )
1177 mJumpButtonBar->recreateButtons(); 1178 mJumpButtonBar->recreateButtons();
1178 1179
1179 mViewManager->refreshView(); 1180 mViewManager->refreshView();
1180 1181
1181} 1182}
1182 1183
1183bool KABCore::modified() const 1184bool KABCore::modified() const
1184{ 1185{
1185 return mModified; 1186 return mModified;
1186} 1187}
1187 1188
1188void KABCore::contactModified( const KABC::Addressee &addr ) 1189void KABCore::contactModified( const KABC::Addressee &addr )
1189{ 1190{
1190 addrModified( addr ); 1191 addrModified( addr );
1191#if 0 // debug only 1192#if 0 // debug only
1192 KABC::Addressee ad = addr; 1193 KABC::Addressee ad = addr;
1193 ad.computeCsum( "123"); 1194 ad.computeCsum( "123");
1194#endif 1195#endif
1195} 1196}
1196 1197
1197void KABCore::addrModified( const KABC::Addressee &addr ,bool updateDetails ) 1198void KABCore::addrModified( const KABC::Addressee &addr ,bool updateDetails )
1198{ 1199{
1199 1200
1200 Command *command = 0; 1201 Command *command = 0;
1201 QString uid; 1202 QString uid;
1202 1203
1203 // check if it exists already 1204 // check if it exists already
1204 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() ); 1205 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() );
1205 if ( origAddr.isEmpty() ) 1206 if ( origAddr.isEmpty() )
1206 command = new PwNewCommand( mAddressBook, addr ); 1207 command = new PwNewCommand( mAddressBook, addr );
1207 else { 1208 else {
1208 command = new PwEditCommand( mAddressBook, origAddr, addr ); 1209 command = new PwEditCommand( mAddressBook, origAddr, addr );
1209 uid = addr.uid(); 1210 uid = addr.uid();
1210 } 1211 }
1211 1212
1212 UndoStack::instance()->push( command ); 1213 UndoStack::instance()->push( command );
1213 RedoStack::instance()->clear(); 1214 RedoStack::instance()->clear();
1214 if ( updateDetails ) 1215 if ( updateDetails )
1215 mDetails->setAddressee( addr ); 1216 mDetails->setAddressee( addr );
1216 setModified( true ); 1217 setModified( true );
1217} 1218}
1218 1219
1219void KABCore::newContact() 1220void KABCore::newContact()
1220{ 1221{
1221 1222
1222 1223
1223 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources(); 1224 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources();
1224 1225
1225 QPtrList<KRES::Resource> kresResources; 1226 QPtrList<KRES::Resource> kresResources;
1226 QPtrListIterator<KABC::Resource> it( kabcResources ); 1227 QPtrListIterator<KABC::Resource> it( kabcResources );
1227 KABC::Resource *resource; 1228 KABC::Resource *resource;
1228 while ( ( resource = it.current() ) != 0 ) { 1229 while ( ( resource = it.current() ) != 0 ) {
1229 ++it; 1230 ++it;
1230 if ( !resource->readOnly() ) { 1231 if ( !resource->readOnly() ) {
1231 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 1232 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
1232 if ( res ) 1233 if ( res )
1233 kresResources.append( res ); 1234 kresResources.append( res );
1234 } 1235 }
1235 } 1236 }
1236 1237
1237 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this ); 1238 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this );
1238 resource = static_cast<KABC::Resource*>( res ); 1239 resource = static_cast<KABC::Resource*>( res );
1239 1240
1240 if ( resource ) { 1241 if ( resource ) {
1241 KABC::Addressee addr; 1242 KABC::Addressee addr;
1242 addr.setResource( resource ); 1243 addr.setResource( resource );
1243 mEditorDialog->setAddressee( addr ); 1244 mEditorDialog->setAddressee( addr );
1244 KApplication::execDialog ( mEditorDialog ); 1245 KApplication::execDialog ( mEditorDialog );
1245 1246
1246 } else 1247 } else
1247 return; 1248 return;
1248 1249
1249 // mEditorDict.insert( dialog->addressee().uid(), dialog ); 1250 // mEditorDict.insert( dialog->addressee().uid(), dialog );
1250 1251
1251 1252
1252} 1253}
1253 1254
1254void KABCore::addEmail( QString aStr ) 1255void KABCore::addEmail( QString aStr )
1255{ 1256{
1256#ifndef KAB_EMBEDDED 1257#ifndef KAB_EMBEDDED
1257 QString fullName, email; 1258 QString fullName, email;
1258 1259
1259 KABC::Addressee::parseEmailAddress( aStr, fullName, email ); 1260 KABC::Addressee::parseEmailAddress( aStr, fullName, email );
1260 1261
1261 // Try to lookup the addressee matching the email address 1262 // Try to lookup the addressee matching the email address
1262 bool found = false; 1263 bool found = false;
1263 QStringList emailList; 1264 QStringList emailList;
1264 KABC::AddressBook::Iterator it; 1265 KABC::AddressBook::Iterator it;
1265 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) { 1266 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) {
1266 emailList = (*it).emails(); 1267 emailList = (*it).emails();
1267 if ( emailList.contains( email ) > 0 ) { 1268 if ( emailList.contains( email ) > 0 ) {
1268 found = true; 1269 found = true;
1269 (*it).setNameFromString( fullName ); 1270 (*it).setNameFromString( fullName );
1270 editContact( (*it).uid() ); 1271 editContact( (*it).uid() );
1271 } 1272 }
1272 } 1273 }
1273 1274
1274 if ( !found ) { 1275 if ( !found ) {
1275 KABC::Addressee addr; 1276 KABC::Addressee addr;
1276 addr.setNameFromString( fullName ); 1277 addr.setNameFromString( fullName );
1277 addr.insertEmail( email, true ); 1278 addr.insertEmail( email, true );
1278 1279
1279 mAddressBook->insertAddressee( addr ); 1280 mAddressBook->insertAddressee( addr );
1280 mViewManager->refreshView( addr.uid() ); 1281 mViewManager->refreshView( addr.uid() );
1281 editContact( addr.uid() ); 1282 editContact( addr.uid() );
1282 } 1283 }
1283#else //KAB_EMBEDDED 1284#else //KAB_EMBEDDED
1284 qDebug("KABCore::addEmail finsih method"); 1285 qDebug("KABCore::addEmail finsih method");
1285#endif //KAB_EMBEDDED 1286#endif //KAB_EMBEDDED
1286} 1287}
1287 1288
1288void KABCore::importVCard( const KURL &url, bool showPreview ) 1289void KABCore::importVCard( const KURL &url, bool showPreview )
1289{ 1290{
1290 mXXPortManager->importVCard( url, showPreview ); 1291 mXXPortManager->importVCard( url, showPreview );
1291} 1292}
1292void KABCore::importFromOL() 1293void KABCore::importFromOL()
1293{ 1294{
1294#ifdef _WIN32_ 1295#ifdef _OL_IMPORT_
1295 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this ); 1296 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this );
1296 idgl->exec(); 1297 idgl->exec();
1297 KABC::Addressee::List list = idgl->getAddressList(); 1298 KABC::Addressee::List list = idgl->getAddressList();
1298 if ( list.count() > 0 ) { 1299 if ( list.count() > 0 ) {
1299 KABC::Addressee::List listNew; 1300 KABC::Addressee::List listNew;
1300 KABC::Addressee::List listExisting; 1301 KABC::Addressee::List listExisting;
1301 KABC::Addressee::List::Iterator it; 1302 KABC::Addressee::List::Iterator it;
1302 KABC::AddressBook::Iterator iter; 1303 KABC::AddressBook::Iterator iter;
1303 for ( it = list.begin(); it != list.end(); ++it ) { 1304 for ( it = list.begin(); it != list.end(); ++it ) {
1304 if ( mAddressBook->findByUid((*it).uid() ).isEmpty()) 1305 if ( mAddressBook->findByUid((*it).uid() ).isEmpty())
1305 listNew.append( (*it) ); 1306 listNew.append( (*it) );
1306 else 1307 else
1307 listExisting.append( (*it) ); 1308 listExisting.append( (*it) );
1308 } 1309 }
1309 if ( listExisting.count() > 0 ) 1310 if ( listExisting.count() > 0 )
1310 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() )); 1311 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() ));
1311 if ( listNew.count() > 0 ) { 1312 if ( listNew.count() > 0 ) {
1312 pasteWithNewUid = false; 1313 pasteWithNewUid = false;
1313 pasteContacts( listNew ); 1314 pasteContacts( listNew );
1314 pasteWithNewUid = true; 1315 pasteWithNewUid = true;
1315 } 1316 }
1316 } 1317 }
1317 delete idgl; 1318 delete idgl;
1318#endif 1319#endif
1319} 1320}
1320 1321
1321void KABCore::importVCard( const QString &vCard, bool showPreview ) 1322void KABCore::importVCard( const QString &vCard, bool showPreview )
1322{ 1323{
1323 mXXPortManager->importVCard( vCard, showPreview ); 1324 mXXPortManager->importVCard( vCard, showPreview );
1324} 1325}
1325 1326
1326//US added a second method without defaultparameter 1327//US added a second method without defaultparameter
1327void KABCore::editContact2() { 1328void KABCore::editContact2() {
1328 editContact( QString::null ); 1329 editContact( QString::null );
1329} 1330}
1330 1331
1331void KABCore::editContact( const QString &uid ) 1332void KABCore::editContact( const QString &uid )
1332{ 1333{
1333 1334
1334 if ( mExtensionManager->isQuickEditVisible() ) 1335 if ( mExtensionManager->isQuickEditVisible() )
1335 return; 1336 return;
1336 1337
1337 // First, locate the contact entry 1338 // First, locate the contact entry
1338 QString localUID = uid; 1339 QString localUID = uid;
1339 if ( localUID.isNull() ) { 1340 if ( localUID.isNull() ) {
1340 QStringList uidList = mViewManager->selectedUids(); 1341 QStringList uidList = mViewManager->selectedUids();
1341 if ( uidList.count() > 0 ) 1342 if ( uidList.count() > 0 )
1342 localUID = *( uidList.at( 0 ) ); 1343 localUID = *( uidList.at( 0 ) );
1343 } 1344 }
1344 1345
1345 KABC::Addressee addr = mAddressBook->findByUid( localUID ); 1346 KABC::Addressee addr = mAddressBook->findByUid( localUID );
1346 if ( !addr.isEmpty() ) { 1347 if ( !addr.isEmpty() ) {
1347 mEditorDialog->setAddressee( addr ); 1348 mEditorDialog->setAddressee( addr );
1348 KApplication::execDialog ( mEditorDialog ); 1349 KApplication::execDialog ( mEditorDialog );
1349 } 1350 }
1350} 1351}
1351 1352
1352/** 1353/**
1353 Shows or edits the detail view for the given uid. If the uid is QString::null, 1354 Shows or edits the detail view for the given uid. If the uid is QString::null,
1354 the method will try to find a selected addressee in the view. 1355 the method will try to find a selected addressee in the view.
1355 */ 1356 */
1356void KABCore::executeContact( const QString &uid /*US = QString::null*/ ) 1357void KABCore::executeContact( const QString &uid /*US = QString::null*/ )
1357{ 1358{
1358 if ( mMultipleViewsAtOnce ) 1359 if ( mMultipleViewsAtOnce )
1359 { 1360 {
1360 editContact( uid ); 1361 editContact( uid );
1361 } 1362 }
1362 else 1363 else
1363 { 1364 {
1364 setDetailsVisible( true ); 1365 setDetailsVisible( true );
1365 mActionDetails->setChecked(true); 1366 mActionDetails->setChecked(true);
1366 } 1367 }
1367 1368
1368} 1369}
1369 1370
1370void KABCore::save() 1371void KABCore::save()
1371{ 1372{
1372 if (syncManager->blockSave()) 1373 if (syncManager->blockSave())
1373 return; 1374 return;
1374 if ( !mModified ) 1375 if ( !mModified )
1375 return; 1376 return;
1376 1377
1377 syncManager->setBlockSave(true); 1378 syncManager->setBlockSave(true);
1378 QString text = i18n( "There was an error while attempting to save\n the " 1379 QString text = i18n( "There was an error while attempting to save\n the "
1379 "address book. Please check that some \nother application is " 1380 "address book. Please check that some \nother application is "
1380 "not using it. " ); 1381 "not using it. " );
1381 message(i18n("Saving ... please wait! "), false); 1382 message(i18n("Saving ... please wait! "), false);
1382 //qApp->processEvents(); 1383 //qApp->processEvents();
1383#ifndef KAB_EMBEDDED 1384#ifndef KAB_EMBEDDED
1384 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook ); 1385 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook );
1385 if ( !b || !b->save() ) { 1386 if ( !b || !b->save() ) {
1386 KMessageBox::error( this, text, i18n( "Unable to Save" ) ); 1387 KMessageBox::error( this, text, i18n( "Unable to Save" ) );
1387 } 1388 }
1388#else //KAB_EMBEDDED 1389#else //KAB_EMBEDDED
1389 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook ); 1390 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook );
1390 if ( !b || !b->save() ) { 1391 if ( !b || !b->save() ) {
1391 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok")); 1392 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok"));
1392 } 1393 }
1393#endif //KAB_EMBEDDED 1394#endif //KAB_EMBEDDED
1394 1395
1395 message(i18n("Addressbook saved!")); 1396 message(i18n("Addressbook saved!"));
1396 setModified( false ); 1397 setModified( false );
1397 syncManager->setBlockSave(false); 1398 syncManager->setBlockSave(false);
1398} 1399}
1399 1400
1400 1401
1401void KABCore::undo() 1402void KABCore::undo()
1402{ 1403{
1403 UndoStack::instance()->undo(); 1404 UndoStack::instance()->undo();
1404 1405
1405 // Refresh the view 1406 // Refresh the view
1406 mViewManager->refreshView(); 1407 mViewManager->refreshView();
1407} 1408}
1408 1409
1409void KABCore::redo() 1410void KABCore::redo()
1410{ 1411{
1411 RedoStack::instance()->redo(); 1412 RedoStack::instance()->redo();
1412 1413
1413 // Refresh the view 1414 // Refresh the view
1414 mViewManager->refreshView(); 1415 mViewManager->refreshView();
1415} 1416}
1416 1417
1417void KABCore::setJumpButtonBarVisible( bool visible ) 1418void KABCore::setJumpButtonBarVisible( bool visible )
1418{ 1419{
1419 if (mMultipleViewsAtOnce) 1420 if (mMultipleViewsAtOnce)
1420 { 1421 {
1421 if ( visible ) 1422 if ( visible )
1422 mJumpButtonBar->show(); 1423 mJumpButtonBar->show();
1423 else 1424 else
1424 mJumpButtonBar->hide(); 1425 mJumpButtonBar->hide();
1425 } 1426 }
1426 else 1427 else
1427 { 1428 {
1428 // show the jumpbar only if "the details are hidden" == "viewmanager are shown" 1429 // show the jumpbar only if "the details are hidden" == "viewmanager are shown"
1429 if (mViewManager->isVisible()) 1430 if (mViewManager->isVisible())
1430 { 1431 {
1431 if ( visible ) 1432 if ( visible )
1432 mJumpButtonBar->show(); 1433 mJumpButtonBar->show();
1433 else 1434 else
1434 mJumpButtonBar->hide(); 1435 mJumpButtonBar->hide();
1435 } 1436 }
1436 else 1437 else
1437 { 1438 {
1438 mJumpButtonBar->hide(); 1439 mJumpButtonBar->hide();
1439 } 1440 }
1440 } 1441 }
1441} 1442}
1442 1443
1443 1444
1444void KABCore::setDetailsToState() 1445void KABCore::setDetailsToState()
1445{ 1446{
1446 setDetailsVisible( mActionDetails->isChecked() ); 1447 setDetailsVisible( mActionDetails->isChecked() );
1447} 1448}
1448void KABCore::setDetailsToggle() 1449void KABCore::setDetailsToggle()
1449{ 1450{
1450 mActionDetails->setChecked( !mActionDetails->isChecked() ); 1451 mActionDetails->setChecked( !mActionDetails->isChecked() );
1451 setDetailsToState(); 1452 setDetailsToState();
1452} 1453}
1453 1454
1454 1455
1455 1456
1456void KABCore::setDetailsVisible( bool visible ) 1457void KABCore::setDetailsVisible( bool visible )
1457{ 1458{
1458 if (visible && mDetails->isHidden()) 1459 if (visible && mDetails->isHidden())
1459 { 1460 {
1460 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 1461 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
1461 if ( addrList.count() > 0 ) 1462 if ( addrList.count() > 0 )
1462 mDetails->setAddressee( addrList[ 0 ] ); 1463 mDetails->setAddressee( addrList[ 0 ] );
1463 } 1464 }
1464 1465
1465 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between 1466 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between
1466 // the listview and the detailview. We do that by changing the splitbar size. 1467 // the listview and the detailview. We do that by changing the splitbar size.
1467 if (mMultipleViewsAtOnce) 1468 if (mMultipleViewsAtOnce)
1468 { 1469 {
1469 if ( visible ) 1470 if ( visible )
1470 mDetails->show(); 1471 mDetails->show();
1471 else 1472 else
1472 mDetails->hide(); 1473 mDetails->hide();
1473 } 1474 }
1474 else 1475 else
1475 { 1476 {
1476 if ( visible ) { 1477 if ( visible ) {
1477 mViewManager->hide(); 1478 mViewManager->hide();
1478 mDetails->show(); 1479 mDetails->show();
1479 mIncSearchWidget->setFocus(); 1480 mIncSearchWidget->setFocus();
1480 } 1481 }
1481 else { 1482 else {
1482 mViewManager->show(); 1483 mViewManager->show();
1483 mDetails->hide(); 1484 mDetails->hide();
1484 mViewManager->setFocusAV(); 1485 mViewManager->setFocusAV();
1485 } 1486 }
1486 setJumpButtonBarVisible( !visible ); 1487 setJumpButtonBarVisible( !visible );
@@ -1977,441 +1978,441 @@ void KABCore::initActions()
1977// you do that through the control center !!! 1978// you do that through the control center !!!
1978 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, 1979 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this,
1979 SLOT( configureResources() ), actionCollection(), 1980 SLOT( configureResources() ), actionCollection(),
1980 "kaddressbook_configure_resources" ); 1981 "kaddressbook_configure_resources" );
1981#endif //KAB_EMBEDDED 1982#endif //KAB_EMBEDDED
1982 1983
1983 if ( mIsPart ) { 1984 if ( mIsPart ) {
1984 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1985 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1985 SLOT( openConfigDialog() ), actionCollection(), 1986 SLOT( openConfigDialog() ), actionCollection(),
1986 "kaddressbook_configure" ); 1987 "kaddressbook_configure" );
1987 1988
1988 //US not implemented yet 1989 //US not implemented yet
1989 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, 1990 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0,
1990 // this, SLOT( configureKeyBindings() ), actionCollection(), 1991 // this, SLOT( configureKeyBindings() ), actionCollection(),
1991 // "kaddressbook_configure_shortcuts" ); 1992 // "kaddressbook_configure_shortcuts" );
1992#ifdef KAB_EMBEDDED 1993#ifdef KAB_EMBEDDED
1993 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); 1994 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() );
1994 mActionConfigureToolbars->setEnabled( false ); 1995 mActionConfigureToolbars->setEnabled( false );
1995#endif //KAB_EMBEDDED 1996#endif //KAB_EMBEDDED
1996 1997
1997 } else { 1998 } else {
1998 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); 1999 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() );
1999 2000
2000 //US not implemented yet 2001 //US not implemented yet
2001 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); 2002 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() );
2002 } 2003 }
2003 2004
2004 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, 2005 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0,
2005 actionCollection(), "options_show_jump_bar" ); 2006 actionCollection(), "options_show_jump_bar" );
2006 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); 2007 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) );
2007 2008
2008 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, 2009 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0,
2009 actionCollection(), "options_show_details" ); 2010 actionCollection(), "options_show_details" );
2010 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); 2011 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) );
2011 2012
2012 2013
2013 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this, 2014 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this,
2014 SLOT( toggleBeamReceive() ), actionCollection(), 2015 SLOT( toggleBeamReceive() ), actionCollection(),
2015 "kaddressbook_beam_rec" ); 2016 "kaddressbook_beam_rec" );
2016 2017
2017 2018
2018 // misc 2019 // misc
2019 // only enable LDAP lookup if we can handle the protocol 2020 // only enable LDAP lookup if we can handle the protocol
2020#ifndef KAB_EMBEDDED 2021#ifndef KAB_EMBEDDED
2021 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { 2022 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) {
2022 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, 2023 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0,
2023 this, SLOT( openLDAPDialog() ), actionCollection(), 2024 this, SLOT( openLDAPDialog() ), actionCollection(),
2024 "ldap_lookup" ); 2025 "ldap_lookup" );
2025 } 2026 }
2026#else //KAB_EMBEDDED 2027#else //KAB_EMBEDDED
2027 //qDebug("KABCore::initActions() LDAP has to be implemented"); 2028 //qDebug("KABCore::initActions() LDAP has to be implemented");
2028#endif //KAB_EMBEDDED 2029#endif //KAB_EMBEDDED
2029 2030
2030 2031
2031 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 2032 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
2032 SLOT( setWhoAmI() ), actionCollection(), 2033 SLOT( setWhoAmI() ), actionCollection(),
2033 "set_personal" ); 2034 "set_personal" );
2034 2035
2035 2036
2036 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, 2037 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this,
2037 SLOT( setCategories() ), actionCollection(), 2038 SLOT( setCategories() ), actionCollection(),
2038 "edit_set_categories" ); 2039 "edit_set_categories" );
2039 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this, 2040 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this,
2040 SLOT( editCategories() ), actionCollection(), 2041 SLOT( editCategories() ), actionCollection(),
2041 "edit__categories" ); 2042 "edit__categories" );
2042 2043
2043 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, 2044 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this,
2044 SLOT( removeVoice() ), actionCollection(), 2045 SLOT( removeVoice() ), actionCollection(),
2045 "remove_voice" ); 2046 "remove_voice" );
2046 mActionSetFormattedName = new KAction( i18n( "Set formatted name..." ), 0, this, 2047 mActionSetFormattedName = new KAction( i18n( "Set formatted name..." ), 0, this,
2047 SLOT( setFormattedName() ), actionCollection(), 2048 SLOT( setFormattedName() ), actionCollection(),
2048 "set_formatted" ); 2049 "set_formatted" );
2049 2050
2050 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this, 2051 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this,
2051 SLOT( manageCategories() ), actionCollection(), 2052 SLOT( manageCategories() ), actionCollection(),
2052 "remove_voice" ); 2053 "remove_voice" );
2053 2054
2054 2055
2055 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, 2056 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this,
2056 SLOT( importFromOL() ), actionCollection(), 2057 SLOT( importFromOL() ), actionCollection(),
2057 "import_OL" ); 2058 "import_OL" );
2058#ifdef KAB_EMBEDDED 2059#ifdef KAB_EMBEDDED
2059 mActionLicence = new KAction( i18n( "Licence" ), 0, 2060 mActionLicence = new KAction( i18n( "Licence" ), 0,
2060 this, SLOT( showLicence() ), actionCollection(), 2061 this, SLOT( showLicence() ), actionCollection(),
2061 "licence_about_data" ); 2062 "licence_about_data" );
2062 mActionFaq = new KAction( i18n( "Faq" ), 0, 2063 mActionFaq = new KAction( i18n( "Faq" ), 0,
2063 this, SLOT( faq() ), actionCollection(), 2064 this, SLOT( faq() ), actionCollection(),
2064 "faq_about_data" ); 2065 "faq_about_data" );
2065 mActionWN = new KAction( i18n( "What's New?" ), 0, 2066 mActionWN = new KAction( i18n( "What's New?" ), 0,
2066 this, SLOT( whatsnew() ), actionCollection(), 2067 this, SLOT( whatsnew() ), actionCollection(),
2067 "wn" ); 2068 "wn" );
2068 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0, 2069 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0,
2069 this, SLOT( synchowto() ), actionCollection(), 2070 this, SLOT( synchowto() ), actionCollection(),
2070 "sync" ); 2071 "sync" );
2071 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0, 2072 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0,
2072 this, SLOT( kdesynchowto() ), actionCollection(), 2073 this, SLOT( kdesynchowto() ), actionCollection(),
2073 "kdesync" ); 2074 "kdesync" );
2074 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0, 2075 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0,
2075 this, SLOT( multisynchowto() ), actionCollection(), 2076 this, SLOT( multisynchowto() ), actionCollection(),
2076 "multisync" ); 2077 "multisync" );
2077 2078
2078 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, 2079 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0,
2079 this, SLOT( createAboutData() ), actionCollection(), 2080 this, SLOT( createAboutData() ), actionCollection(),
2080 "kaddressbook_about_data" ); 2081 "kaddressbook_about_data" );
2081#endif //KAB_EMBEDDED 2082#endif //KAB_EMBEDDED
2082 2083
2083 clipboardDataChanged(); 2084 clipboardDataChanged();
2084 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2085 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2085 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2086 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2086} 2087}
2087 2088
2088//US we need this function, to plug all actions into the correct menues. 2089//US we need this function, to plug all actions into the correct menues.
2089// KDE uses a XML format to plug the actions, but we work her without this overhead. 2090// KDE uses a XML format to plug the actions, but we work her without this overhead.
2090void KABCore::addActionsManually() 2091void KABCore::addActionsManually()
2091{ 2092{
2092//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 2093//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
2093 2094
2094#ifdef KAB_EMBEDDED 2095#ifdef KAB_EMBEDDED
2095 QPopupMenu *fileMenu = new QPopupMenu( this ); 2096 QPopupMenu *fileMenu = new QPopupMenu( this );
2096 QPopupMenu *editMenu = new QPopupMenu( this ); 2097 QPopupMenu *editMenu = new QPopupMenu( this );
2097 QPopupMenu *helpMenu = new QPopupMenu( this ); 2098 QPopupMenu *helpMenu = new QPopupMenu( this );
2098 2099
2099 KToolBar* tb = mMainWindow->toolBar(); 2100 KToolBar* tb = mMainWindow->toolBar();
2100 2101
2101#ifndef DESKTOP_VERSION 2102#ifndef DESKTOP_VERSION
2102 if ( KABPrefs::instance()->mFullMenuBarVisible ) { 2103 if ( KABPrefs::instance()->mFullMenuBarVisible ) {
2103#endif 2104#endif
2104 QMenuBar* mb = mMainWindow->menuBar(); 2105 QMenuBar* mb = mMainWindow->menuBar();
2105 2106
2106 //US setup menubar. 2107 //US setup menubar.
2107 //Disable the following block if you do not want to have a menubar. 2108 //Disable the following block if you do not want to have a menubar.
2108 mb->insertItem( i18n("&File"), fileMenu ); 2109 mb->insertItem( i18n("&File"), fileMenu );
2109 mb->insertItem( i18n("&Edit"), editMenu ); 2110 mb->insertItem( i18n("&Edit"), editMenu );
2110 mb->insertItem( i18n("&View"), viewMenu ); 2111 mb->insertItem( i18n("&View"), viewMenu );
2111 mb->insertItem( i18n("&Settings"), settingsMenu ); 2112 mb->insertItem( i18n("&Settings"), settingsMenu );
2112 mb->insertItem( i18n("Synchronize"), syncMenu ); 2113 mb->insertItem( i18n("Synchronize"), syncMenu );
2113 //mb->insertItem( i18n("&Change"), changeMenu ); 2114 //mb->insertItem( i18n("&Change"), changeMenu );
2114 mb->insertItem( i18n("&Help"), helpMenu ); 2115 mb->insertItem( i18n("&Help"), helpMenu );
2115 mIncSearchWidget = new IncSearchWidget( tb ); 2116 mIncSearchWidget = new IncSearchWidget( tb );
2116 // tb->insertWidget(-1, 0, mIncSearchWidget); 2117 // tb->insertWidget(-1, 0, mIncSearchWidget);
2117#ifndef DESKTOP_VERSION 2118#ifndef DESKTOP_VERSION
2118 } else { 2119 } else {
2119 //US setup toolbar 2120 //US setup toolbar
2120 QPEMenuBar *menuBarTB = new QPEMenuBar( tb ); 2121 QPEMenuBar *menuBarTB = new QPEMenuBar( tb );
2121 QPopupMenu *popupBarTB = new QPopupMenu( this ); 2122 QPopupMenu *popupBarTB = new QPopupMenu( this );
2122 menuBarTB->insertItem( "ME", popupBarTB); 2123 menuBarTB->insertItem( "ME", popupBarTB);
2123 tb->insertWidget(-1, 0, menuBarTB); 2124 tb->insertWidget(-1, 0, menuBarTB);
2124 mIncSearchWidget = new IncSearchWidget( tb ); 2125 mIncSearchWidget = new IncSearchWidget( tb );
2125 2126
2126 tb->enableMoving(false); 2127 tb->enableMoving(false);
2127 popupBarTB->insertItem( i18n("&File"), fileMenu ); 2128 popupBarTB->insertItem( i18n("&File"), fileMenu );
2128 popupBarTB->insertItem( i18n("&Edit"), editMenu ); 2129 popupBarTB->insertItem( i18n("&Edit"), editMenu );
2129 popupBarTB->insertItem( i18n("&View"), viewMenu ); 2130 popupBarTB->insertItem( i18n("&View"), viewMenu );
2130 popupBarTB->insertItem( i18n("&Settings"), settingsMenu ); 2131 popupBarTB->insertItem( i18n("&Settings"), settingsMenu );
2131 popupBarTB->insertItem( i18n("Synchronize"), syncMenu ); 2132 popupBarTB->insertItem( i18n("Synchronize"), syncMenu );
2132 mViewManager->getFilterAction()->plug ( popupBarTB); 2133 mViewManager->getFilterAction()->plug ( popupBarTB);
2133 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu ); 2134 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu );
2134 popupBarTB->insertItem( i18n("&Help"), helpMenu ); 2135 popupBarTB->insertItem( i18n("&Help"), helpMenu );
2135 if (QApplication::desktop()->width() > 320 ) { 2136 if (QApplication::desktop()->width() > 320 ) {
2136 // mViewManager->getFilterAction()->plug ( tb); 2137 // mViewManager->getFilterAction()->plug ( tb);
2137 } 2138 }
2138 } 2139 }
2139#endif 2140#endif
2140 // mActionQuit->plug ( mMainWindow->toolBar()); 2141 // mActionQuit->plug ( mMainWindow->toolBar());
2141 2142
2142 2143
2143 2144
2144 //US Now connect the actions with the menue entries. 2145 //US Now connect the actions with the menue entries.
2145#ifdef DESKTOP_VERSION 2146#ifdef DESKTOP_VERSION
2146 mActionPrint->plug( fileMenu ); 2147 mActionPrint->plug( fileMenu );
2147 mActionPrintDetails->plug( fileMenu ); 2148 mActionPrintDetails->plug( fileMenu );
2148 fileMenu->insertSeparator(); 2149 fileMenu->insertSeparator();
2149#endif 2150#endif
2150 mActionMail->plug( fileMenu ); 2151 mActionMail->plug( fileMenu );
2151 fileMenu->insertSeparator(); 2152 fileMenu->insertSeparator();
2152 2153
2153 mActionNewContact->plug( fileMenu ); 2154 mActionNewContact->plug( fileMenu );
2154 mActionNewContact->plug( tb ); 2155 mActionNewContact->plug( tb );
2155 2156
2156 mActionEditAddressee->plug( fileMenu ); 2157 mActionEditAddressee->plug( fileMenu );
2157 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) || 2158 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) ||
2158 // (!KABPrefs::instance()->mMultipleViewsAtOnce )) 2159 // (!KABPrefs::instance()->mMultipleViewsAtOnce ))
2159 mActionEditAddressee->plug( tb ); 2160 mActionEditAddressee->plug( tb );
2160 2161
2161 fileMenu->insertSeparator(); 2162 fileMenu->insertSeparator();
2162 mActionSave->plug( fileMenu ); 2163 mActionSave->plug( fileMenu );
2163 fileMenu->insertItem( "&Import", ImportMenu ); 2164 fileMenu->insertItem( "&Import", ImportMenu );
2164 fileMenu->insertItem( "&Export", ExportMenu ); 2165 fileMenu->insertItem( "&Export", ExportMenu );
2165 fileMenu->insertItem( i18n("&Change"), changeMenu ); 2166 fileMenu->insertItem( i18n("&Change"), changeMenu );
2166#ifndef DESKTOP_VERSION 2167#ifndef DESKTOP_VERSION
2167 if ( Ir::supported() ) fileMenu->insertItem( i18n("&Beam"), beamMenu ); 2168 if ( Ir::supported() ) fileMenu->insertItem( i18n("&Beam"), beamMenu );
2168#endif 2169#endif
2169#if 0 2170#if 0
2170 // PENDING fix MailVCard 2171 // PENDING fix MailVCard
2171 fileMenu->insertSeparator(); 2172 fileMenu->insertSeparator();
2172 mActionMailVCard->plug( fileMenu ); 2173 mActionMailVCard->plug( fileMenu );
2173#endif 2174#endif
2174#ifndef DESKTOP_VERSION 2175#ifndef DESKTOP_VERSION
2175 if ( Ir::supported() ) mActionBR->plug( beamMenu ); 2176 if ( Ir::supported() ) mActionBR->plug( beamMenu );
2176 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu ); 2177 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu );
2177 if ( Ir::supported() ) mActionBeam->plug( beamMenu ); 2178 if ( Ir::supported() ) mActionBeam->plug( beamMenu );
2178#endif 2179#endif
2179 fileMenu->insertSeparator(); 2180 fileMenu->insertSeparator();
2180 mActionQuit->plug( fileMenu ); 2181 mActionQuit->plug( fileMenu );
2181#ifdef _WIN32_ 2182#ifdef _OL_IMPORT_
2182 mActionImportOL->plug( ImportMenu ); 2183 mActionImportOL->plug( ImportMenu );
2183#endif 2184#endif
2184 // edit menu 2185 // edit menu
2185 mActionUndo->plug( editMenu ); 2186 mActionUndo->plug( editMenu );
2186 mActionRedo->plug( editMenu ); 2187 mActionRedo->plug( editMenu );
2187 editMenu->insertSeparator(); 2188 editMenu->insertSeparator();
2188 mActionCut->plug( editMenu ); 2189 mActionCut->plug( editMenu );
2189 mActionCopy->plug( editMenu ); 2190 mActionCopy->plug( editMenu );
2190 mActionPaste->plug( editMenu ); 2191 mActionPaste->plug( editMenu );
2191 mActionDelete->plug( editMenu ); 2192 mActionDelete->plug( editMenu );
2192 editMenu->insertSeparator(); 2193 editMenu->insertSeparator();
2193 mActionSelectAll->plug( editMenu ); 2194 mActionSelectAll->plug( editMenu );
2194 2195
2195 mActionSetFormattedName->plug( changeMenu ); 2196 mActionSetFormattedName->plug( changeMenu );
2196 mActionRemoveVoice->plug( changeMenu ); 2197 mActionRemoveVoice->plug( changeMenu );
2197 // settings menu 2198 // settings menu
2198//US special menuentry to configure the addressbook resources. On KDE 2199//US special menuentry to configure the addressbook resources. On KDE
2199// you do that through the control center !!! 2200// you do that through the control center !!!
2200 mActionConfigResources->plug( settingsMenu ); 2201 mActionConfigResources->plug( settingsMenu );
2201 settingsMenu->insertSeparator(); 2202 settingsMenu->insertSeparator();
2202 2203
2203 mActionConfigKAddressbook->plug( settingsMenu ); 2204 mActionConfigKAddressbook->plug( settingsMenu );
2204 2205
2205 if ( mIsPart ) { 2206 if ( mIsPart ) {
2206 //US not implemented yet 2207 //US not implemented yet
2207 //mActionConfigShortcuts->plug( settingsMenu ); 2208 //mActionConfigShortcuts->plug( settingsMenu );
2208 //mActionConfigureToolbars->plug( settingsMenu ); 2209 //mActionConfigureToolbars->plug( settingsMenu );
2209 2210
2210 } else { 2211 } else {
2211 //US not implemented yet 2212 //US not implemented yet
2212 //mActionKeyBindings->plug( settingsMenu ); 2213 //mActionKeyBindings->plug( settingsMenu );
2213 } 2214 }
2214 2215
2215 settingsMenu->insertSeparator(); 2216 settingsMenu->insertSeparator();
2216 2217
2217 mActionJumpBar->plug( settingsMenu ); 2218 mActionJumpBar->plug( settingsMenu );
2218 mActionDetails->plug( settingsMenu ); 2219 mActionDetails->plug( settingsMenu );
2219 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) 2220 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop )
2220 mActionDetails->plug( tb ); 2221 mActionDetails->plug( tb );
2221 settingsMenu->insertSeparator(); 2222 settingsMenu->insertSeparator();
2222#ifndef DESKTOP_VERSION 2223#ifndef DESKTOP_VERSION
2223 if ( Ir::supported() ) mActionBR->plug(settingsMenu ); 2224 if ( Ir::supported() ) mActionBR->plug(settingsMenu );
2224#endif
2225 settingsMenu->insertSeparator(); 2225 settingsMenu->insertSeparator();
2226#endif
2226 2227
2227 mActionWhoAmI->plug( settingsMenu ); 2228 mActionWhoAmI->plug( settingsMenu );
2228 mActionEditCategories->plug( settingsMenu ); 2229 mActionEditCategories->plug( settingsMenu );
2229 mActionEditCategories->plug( changeMenu ); 2230 mActionEditCategories->plug( changeMenu );
2230 mActionCategories->plug( changeMenu ); 2231 mActionCategories->plug( changeMenu );
2231 mActionManageCategories->plug( changeMenu ); 2232 mActionManageCategories->plug( changeMenu );
2232 2233
2233 mActionCategories->plug( settingsMenu ); 2234 mActionCategories->plug( settingsMenu );
2234 mActionManageCategories->plug( settingsMenu ); 2235 mActionManageCategories->plug( settingsMenu );
2235 2236
2236 2237
2237 mActionWN->plug( helpMenu ); 2238 mActionWN->plug( helpMenu );
2238 mActionSyncHowto->plug( helpMenu ); 2239 mActionSyncHowto->plug( helpMenu );
2239 mActionKdeSyncHowto->plug( helpMenu ); 2240 mActionKdeSyncHowto->plug( helpMenu );
2240 mActionMultiSyncHowto->plug( helpMenu ); 2241 mActionMultiSyncHowto->plug( helpMenu );
2241 mActionFaq->plug( helpMenu ); 2242 mActionFaq->plug( helpMenu );
2242 mActionLicence->plug( helpMenu ); 2243 mActionLicence->plug( helpMenu );
2243 mActionAboutKAddressbook->plug( helpMenu ); 2244 mActionAboutKAddressbook->plug( helpMenu );
2244 2245
2245 if (KGlobal::getDesktopSize() > KGlobal::Small ) { 2246 if (KGlobal::getDesktopSize() > KGlobal::Small ) {
2246 2247
2247 mActionSave->plug( tb ); 2248 mActionSave->plug( tb );
2248 mViewManager->getFilterAction()->plug ( tb); 2249 mViewManager->getFilterAction()->plug ( tb);
2249 //LR hide filteraction on started in 480x640 2250 //LR hide filteraction on started in 480x640
2250 if (QApplication::desktop()->width() == 480 ) { 2251 if (QApplication::desktop()->width() == 480 ) {
2251 mViewManager->getFilterAction()->setComboWidth( 0 ); 2252 mViewManager->getFilterAction()->setComboWidth( 0 );
2252 } 2253 }
2253 mActionUndo->plug( tb ); 2254 mActionUndo->plug( tb );
2254 mActionDelete->plug( tb ); 2255 mActionDelete->plug( tb );
2255 mActionRedo->plug( tb ); 2256 mActionRedo->plug( tb );
2256 } else { 2257 } else {
2257 mActionSave->plug( tb ); 2258 mActionSave->plug( tb );
2258 tb->enableMoving(false); 2259 tb->enableMoving(false);
2259 } 2260 }
2260 //mActionQuit->plug ( tb ); 2261 //mActionQuit->plug ( tb );
2261 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 2262 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
2262 2263
2263 //US link the searchwidget first to this. 2264 //US link the searchwidget first to this.
2264 // The real linkage to the toolbar happens later. 2265 // The real linkage to the toolbar happens later.
2265//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 2266//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
2266//US tb->insertItem( mIncSearchWidget ); 2267//US tb->insertItem( mIncSearchWidget );
2267/*US 2268/*US
2268 mIncSearchWidget = new IncSearchWidget( tb ); 2269 mIncSearchWidget = new IncSearchWidget( tb );
2269 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 2270 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
2270 SLOT( incrementalSearch( const QString& ) ) ); 2271 SLOT( incrementalSearch( const QString& ) ) );
2271 2272
2272 mJumpButtonBar = new JumpButtonBar( this, this ); 2273 mJumpButtonBar = new JumpButtonBar( this, this );
2273 2274
2274//US topLayout->addWidget( mJumpButtonBar ); 2275//US topLayout->addWidget( mJumpButtonBar );
2275 this->layout()->add( mJumpButtonBar ); 2276 this->layout()->add( mJumpButtonBar );
2276*/ 2277*/
2277 2278
2278#endif //KAB_EMBEDDED 2279#endif //KAB_EMBEDDED
2279 2280
2280 mActionExport2phone->plug( ExportMenu ); 2281 mActionExport2phone->plug( ExportMenu );
2281 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); 2282 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) );
2282 syncManager->fillSyncMenu(); 2283 syncManager->fillSyncMenu();
2283 2284
2284} 2285}
2285void KABCore::showLicence() 2286void KABCore::showLicence()
2286{ 2287{
2287 KApplication::showLicence(); 2288 KApplication::showLicence();
2288} 2289}
2289 2290
2290void KABCore::manageCategories( ) 2291void KABCore::manageCategories( )
2291{ 2292{
2292 KABCatPrefs* cp = new KABCatPrefs(); 2293 KABCatPrefs* cp = new KABCatPrefs();
2293 cp->show(); 2294 cp->show();
2294 int w =cp->sizeHint().width() ; 2295 int w =cp->sizeHint().width() ;
2295 int h = cp->sizeHint().height() ; 2296 int h = cp->sizeHint().height() ;
2296 int dw = QApplication::desktop()->width(); 2297 int dw = QApplication::desktop()->width();
2297 int dh = QApplication::desktop()->height(); 2298 int dh = QApplication::desktop()->height();
2298 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2299 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2299 if ( !cp->exec() ) { 2300 if ( !cp->exec() ) {
2300 delete cp; 2301 delete cp;
2301 return; 2302 return;
2302 } 2303 }
2303 int count = 0; 2304 int count = 0;
2304 int cc = 0; 2305 int cc = 0;
2305 message( i18n("Please wait, processing categories...")); 2306 message( i18n("Please wait, processing categories..."));
2306 if ( cp->addCat() ) { 2307 if ( cp->addCat() ) {
2307 KABC::AddressBook::Iterator it; 2308 KABC::AddressBook::Iterator it;
2308 QStringList catList = KABPrefs::instance()->mCustomCategories; 2309 QStringList catList = KABPrefs::instance()->mCustomCategories;
2309 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2310 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2310 ++cc; 2311 ++cc;
2311 if ( cc %10 == 0) 2312 if ( cc %10 == 0)
2312 message(i18n("Processing contact #%1").arg(cc)); 2313 message(i18n("Processing contact #%1").arg(cc));
2313 QStringList catIncList = (*it).categories(); 2314 QStringList catIncList = (*it).categories();
2314 int i; 2315 int i;
2315 for( i = 0; i< catIncList.count(); ++i ) { 2316 for( i = 0; i< catIncList.count(); ++i ) {
2316 if ( !catList.contains (catIncList[i])) { 2317 if ( !catList.contains (catIncList[i])) {
2317 catList.append( catIncList[i] ); 2318 catList.append( catIncList[i] );
2318 //qDebug("add cat %s ", catIncList[i].latin1()); 2319 //qDebug("add cat %s ", catIncList[i].latin1());
2319 ++count; 2320 ++count;
2320 } 2321 }
2321 } 2322 }
2322 } 2323 }
2323 catList.sort(); 2324 catList.sort();
2324 KABPrefs::instance()->mCustomCategories = catList; 2325 KABPrefs::instance()->mCustomCategories = catList;
2325 KABPrefs::instance()->writeConfig(); 2326 KABPrefs::instance()->writeConfig();
2326 message(QString::number( count )+ i18n(" categories added to list! ")); 2327 message(QString::number( count )+ i18n(" categories added to list! "));
2327 } else { 2328 } else {
2328 QStringList catList = KABPrefs::instance()->mCustomCategories; 2329 QStringList catList = KABPrefs::instance()->mCustomCategories;
2329 QStringList catIncList; 2330 QStringList catIncList;
2330 QStringList newCatList; 2331 QStringList newCatList;
2331 KABC::AddressBook::Iterator it; 2332 KABC::AddressBook::Iterator it;
2332 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2333 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2333 ++cc; 2334 ++cc;
2334 if ( cc %10 == 0) 2335 if ( cc %10 == 0)
2335 message(i18n("Processing contact #%1").arg(cc)); 2336 message(i18n("Processing contact #%1").arg(cc));
2336 QStringList catIncList = (*it).categories(); 2337 QStringList catIncList = (*it).categories();
2337 int i; 2338 int i;
2338 if ( catIncList.count() ) { 2339 if ( catIncList.count() ) {
2339 newCatList.clear(); 2340 newCatList.clear();
2340 for( i = 0; i< catIncList.count(); ++i ) { 2341 for( i = 0; i< catIncList.count(); ++i ) {
2341 if ( catList.contains (catIncList[i])) { 2342 if ( catList.contains (catIncList[i])) {
2342 newCatList.append( catIncList[i] ); 2343 newCatList.append( catIncList[i] );
2343 } 2344 }
2344 } 2345 }
2345 newCatList.sort(); 2346 newCatList.sort();
2346 (*it).setCategories( newCatList ); 2347 (*it).setCategories( newCatList );
2347 mAddressBook->insertAddressee( (*it) ); 2348 mAddressBook->insertAddressee( (*it) );
2348 } 2349 }
2349 } 2350 }
2350 setModified( true ); 2351 setModified( true );
2351 mViewManager->refreshView(); 2352 mViewManager->refreshView();
2352 message( i18n("Removing categories done!")); 2353 message( i18n("Removing categories done!"));
2353 } 2354 }
2354 delete cp; 2355 delete cp;
2355} 2356}
2356void KABCore::removeVoice() 2357void KABCore::removeVoice()
2357{ 2358{
2358 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No ) 2359 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No )
2359 return; 2360 return;
2360 XXPortSelectDialog dlg( this, false, this ); 2361 XXPortSelectDialog dlg( this, false, this );
2361 if ( !dlg.exec() ) 2362 if ( !dlg.exec() )
2362 return; 2363 return;
2363 mAddressBook->setUntagged(); 2364 mAddressBook->setUntagged();
2364 dlg.tagSelected(); 2365 dlg.tagSelected();
2365 message(i18n("Removing voice..."), false ); 2366 message(i18n("Removing voice..."), false );
2366 KABC::AddressBook::Iterator it; 2367 KABC::AddressBook::Iterator it;
2367 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2368 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2368 if ( (*it).tagged() ) { 2369 if ( (*it).tagged() ) {
2369 (*it).removeVoice(); 2370 (*it).removeVoice();
2370 } 2371 }
2371 } 2372 }
2372 message(i18n("Refreshing view...") ); 2373 message(i18n("Refreshing view...") );
2373 qApp->processEvents(); 2374 qApp->processEvents();
2374 mViewManager->refreshView( "" ); 2375 mViewManager->refreshView( "" );
2375 Addressee add; 2376 Addressee add;
2376 mDetails->setAddressee( add ); 2377 mDetails->setAddressee( add );
2377 message(i18n("Remove voice completed!") ); 2378 message(i18n("Remove voice completed!") );
2378 2379
2379 2380
2380 2381
2381} 2382}
2382 2383
2383void KABCore::setFormattedName() 2384void KABCore::setFormattedName()
2384{ 2385{
2385 KABFormatPrefs setpref; 2386 KABFormatPrefs setpref;
2386 if ( !setpref.exec() ) { 2387 if ( !setpref.exec() ) {
2387 return; 2388 return;
2388 } 2389 }
2389 XXPortSelectDialog dlg( this, false, this ); 2390 XXPortSelectDialog dlg( this, false, this );
2390 if ( !dlg.exec() ) 2391 if ( !dlg.exec() )
2391 return; 2392 return;
2392 mAddressBook->setUntagged(); 2393 mAddressBook->setUntagged();
2393 dlg.tagSelected(); 2394 dlg.tagSelected();
2394 int count = 0; 2395 int count = 0;
2395 KABC::AddressBook::Iterator it; 2396 KABC::AddressBook::Iterator it;
2396 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2397 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2397 if ( (*it).tagged() ) { 2398 if ( (*it).tagged() ) {
2398 ++count; 2399 ++count;
2399 if ( count %10 == 0 ) 2400 if ( count %10 == 0 )
2400 message(i18n("Changing contact #%1").arg( count ) ); 2401 message(i18n("Changing contact #%1").arg( count ) );
2401 qApp->processEvents(); 2402 qApp->processEvents();
2402 QString fName; 2403 QString fName;
2403 if ( setpref.simple->isChecked() ) 2404 if ( setpref.simple->isChecked() )
2404 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName ); 2405 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName );
2405 else if ( setpref.full->isChecked() ) 2406 else if ( setpref.full->isChecked() )
2406 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName ); 2407 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName );
2407 else if ( setpref.reverse->isChecked() ) 2408 else if ( setpref.reverse->isChecked() )
2408 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName ); 2409 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName );
2409 else 2410 else
2410 fName = (*it).organization(); 2411 fName = (*it).organization();
2411 if ( setpref.setCompany->isChecked() ) 2412 if ( setpref.setCompany->isChecked() )
2412 if ( fName.isEmpty() || fName =="," ) 2413 if ( fName.isEmpty() || fName =="," )
2413 fName = (*it).organization(); 2414 fName = (*it).organization();
2414 (*it).setFormattedName( fName ); 2415 (*it).setFormattedName( fName );
2415 } 2416 }
2416 } 2417 }
2417 message(i18n("Refreshing view...") ); 2418 message(i18n("Refreshing view...") );
diff --git a/kaddressbook/kaddressbook.pro b/kaddressbook/kaddressbook.pro
index fbbc026..e73de06 100644
--- a/kaddressbook/kaddressbook.pro
+++ b/kaddressbook/kaddressbook.pro
@@ -1,184 +1,177 @@
1 TEMPLATE= app 1 TEMPLATE= app
2 CONFIG = qt warn_on 2 CONFIG = qt warn_on
3 TARGET = kapi 3 TARGET = kapi
4DESTDIR= ../bin 4DESTDIR= ../bin
5 5
6include( ../variables.pri ) 6include( ../variables.pri )
7 7
8 8
9INCLUDEPATH += . ./details ./features ./xxport ../libkdepim ../microkde ../microkde/kdecore ../microkde/kutils ../microkde/kio/kfile ../microkde/kio/kio ../microkde/kdeui ../microkde/kresources ../kabc ../ interfaces 9INCLUDEPATH += . ./details ./features ./xxport ../libkdepim ../microkde ../microkde/kdecore ../microkde/kutils ../microkde/kio/kfile ../microkde/kio/kio ../microkde/kdeui ../microkde/kresources ../kabc ../ interfaces
10DEFINES += KAB_EMBEDDED KAB_NOSPLITTER DESKTOP_VERSION 10DEFINES += KAB_EMBEDDED KAB_NOSPLITTER DESKTOP_VERSION
11 11
12unix : { 12unix : {
13LIBS += ../bin/libmicrokdepim.so 13LIBS += ../bin/libmicrokdepim.so
14LIBS += ../bin/libmicrokde.so 14LIBS += ../bin/libmicrokde.so
15LIBS += ../bin/libmicrokabc.so 15LIBS += ../bin/libmicrokabc.so
16LIBS += ../bin/libmicrokcal.so 16LIBS += ../bin/libmicrokcal.so
17#LIBS += -lldap 17#LIBS += -lldap
18OBJECTS_DIR = obj/unix 18OBJECTS_DIR = obj/unix
19MOC_DIR = moc/unix 19MOC_DIR = moc/unix
20} 20}
21win32: { 21win32: {
22RC_FILE = winicons.rc 22RC_FILE = winicons.rc
23DEFINES += _WIN32_ 23DEFINES += _WIN32_
24LIBS += ../bin/microkdepim.lib 24LIBS += ../bin/microkdepim.lib
25LIBS += ../bin/microkcal.lib 25LIBS += ../bin/microkcal.lib
26LIBS += ../bin/microkde.lib 26LIBS += ../bin/microkde.lib
27LIBS += ../bin/microkabc.lib 27LIBS += ../bin/microkabc.lib
28QMAKE_LINK += /NODEFAULTLIB:LIBC 28QMAKE_LINK += /NODEFAULTLIB:LIBC
29OBJECTS_DIR = obj/win 29OBJECTS_DIR = obj/win
30MOC_DIR = moc/win 30MOC_DIR = moc/win
31#olimport section
32#blabla: {
33
31LIBS += mfc71u.lib 34LIBS += mfc71u.lib
35DEFINES += _OL_IMPORT_
36HEADERS = ../outport/msoutl9.h \
37 kaimportoldialog.h
38SOURCES = ../outport/msoutl9.cpp \
39 kaimportoldialog.cpp
40#}
41#olimport section end
32} 42}
33 43
34
35
36
37
38
39
40
41INTERFACES = \ 44INTERFACES = \
42# filteredit_base.ui \ 45# filteredit_base.ui \
43# kofilterview_base.ui \ 46# kofilterview_base.ui \
44 47
45HEADERS = \ 48HEADERS += \
46features/mergewidget.h \ 49features/mergewidget.h \
47features/distributionlistwidget.h \ 50features/distributionlistwidget.h \
48kcmconfigs/addresseewidget.h \ 51kcmconfigs/addresseewidget.h \
49kcmconfigs/extensionconfigdialog.h \ 52kcmconfigs/extensionconfigdialog.h \
50kcmconfigs/kcmkabconfig.h \ 53kcmconfigs/kcmkabconfig.h \
51kcmconfigs/kabconfigwidget.h \ 54kcmconfigs/kabconfigwidget.h \
52addresseeeditordialog.h \ 55addresseeeditordialog.h \
53addresseeeditorwidget.h \ 56addresseeeditorwidget.h \
54addresseditwidget.h \ 57addresseditwidget.h \
55addresseeconfig.h \ 58addresseeconfig.h \
56addresseeutil.h \ 59addresseeutil.h \
57emaileditwidget.h \ 60emaileditwidget.h \
58filtereditdialog.h \ 61filtereditdialog.h \
59kaddressbookmain.h \ 62kaddressbookmain.h \
60kabprefs.h \ 63kabprefs.h \
61kabcore.h \ 64kabcore.h \
62viewmanager.h \ 65viewmanager.h \
63extensionmanager.h \ 66extensionmanager.h \
64extensionwidget.h \ 67extensionwidget.h \
65kaddressbookview.h \ 68kaddressbookview.h \
66geowidget.h \ 69geowidget.h \
67imagewidget.h \ 70imagewidget.h \
68incsearchwidget.h \ 71incsearchwidget.h \
69jumpbuttonbar.h \ 72jumpbuttonbar.h \
70phoneeditwidget.h \ 73phoneeditwidget.h \
71secrecywidget.h \ 74secrecywidget.h \
72keywidget.h \ 75keywidget.h \
73nameeditdialog.h \ 76nameeditdialog.h \
74filter.h \ 77filter.h \
75addviewdialog.h \ 78addviewdialog.h \
76configurewidget.h \ 79configurewidget.h \
77viewconfigurewidget.h \ 80viewconfigurewidget.h \
78viewconfigurefieldspage.h \ 81viewconfigurefieldspage.h \
79viewconfigurefilterpage.h \ 82viewconfigurefilterpage.h \
80typecombo.h \ 83typecombo.h \
81undo.h \ 84undo.h \
82undocmds.h \ 85undocmds.h \
83xxportmanager.h \ 86xxportmanager.h \
84xxportobject.h \ 87xxportobject.h \
85xxportselectdialog.h \ 88xxportselectdialog.h \
86details/detailsviewcontainer.h \ 89details/detailsviewcontainer.h \
87details/look_basic.h \ 90details/look_basic.h \
88details/look_html.h \ 91details/look_html.h \
89views/kaddressbookiconview.h \ 92views/kaddressbookiconview.h \
90views/kaddressbooktableview.h \ 93views/kaddressbooktableview.h \
91views/kaddressbookcardview.h \ 94views/kaddressbookcardview.h \
92views/configuretableviewdialog.h \ 95views/configuretableviewdialog.h \
93views/configurecardviewdialog.h \ 96views/configurecardviewdialog.h \
94views/cardview.h \ 97views/cardview.h \
95views/colorlistbox.h \ 98views/colorlistbox.h \
96views/contactlistview.h \ 99views/contactlistview.h \
97xxport/vcard_xxport.h \ 100xxport/vcard_xxport.h \
98xxport/kde2_xxport.h \ 101xxport/kde2_xxport.h \
99xxport/csv_xxport.h \ 102xxport/csv_xxport.h \
100xxport/csvimportdialog.h \ 103xxport/csvimportdialog.h \
101xxport/opie_xxport.h \ 104xxport/opie_xxport.h \
102xxport/qtopia_xxport.h \ 105xxport/qtopia_xxport.h \
103xxport/sharpdtm_xxport.h \ 106xxport/sharpdtm_xxport.h \
104#details/look_details.h \ 107#details/look_details.h \
105#mainwindoiw.h \ 108#mainwindoiw.h \
106# alarmclient.h \ 109# alarmclient.h \
107# calendarview.h \ 110# calendarview.h \
108# customlistviewitem.h \ 111# customlistviewitem.h \
109# datenavigator.h 112# datenavigator.h
110 113
111SOURCES = \ 114SOURCES += \
112addresseeeditordialog.cpp \ 115addresseeeditordialog.cpp \
113addresseeeditorwidget.cpp \ 116addresseeeditorwidget.cpp \
114addresseditwidget.cpp \ 117addresseditwidget.cpp \
115addresseeconfig.cpp \ 118addresseeconfig.cpp \
116addresseeutil.cpp \ 119addresseeutil.cpp \
117extensionmanager.cpp \ 120extensionmanager.cpp \
118features/mergewidget.cpp \ 121features/mergewidget.cpp \
119features/distributionlistwidget.cpp \ 122features/distributionlistwidget.cpp \
120kcmconfigs/addresseewidget.cpp \ 123kcmconfigs/addresseewidget.cpp \
121kcmconfigs/extensionconfigdialog.cpp \ 124kcmconfigs/extensionconfigdialog.cpp \
122kcmconfigs/kcmkabconfig.cpp \ 125kcmconfigs/kcmkabconfig.cpp \
123kcmconfigs/kabconfigwidget.cpp \ 126kcmconfigs/kabconfigwidget.cpp \
124emaileditwidget.cpp \ 127emaileditwidget.cpp \
125filtereditdialog.cpp \ 128filtereditdialog.cpp \
126mainembedded.cpp \ 129mainembedded.cpp \
127kaddressbookmain.cpp \ 130kaddressbookmain.cpp \
128kabcore.cpp \ 131kabcore.cpp \
129kabprefs.cpp \ 132kabprefs.cpp \
130viewmanager.cpp \ 133viewmanager.cpp \
131kaddressbookview.cpp \ 134kaddressbookview.cpp \
132extensionwidget.cpp \ 135extensionwidget.cpp \
133geowidget.cpp \ 136geowidget.cpp \
134imagewidget.cpp \ 137imagewidget.cpp \
135incsearchwidget.cpp \ 138incsearchwidget.cpp \
136jumpbuttonbar.cpp \ 139jumpbuttonbar.cpp \
137phoneeditwidget.cpp \ 140phoneeditwidget.cpp \
138secrecywidget.cpp \ 141secrecywidget.cpp \
139keywidget.cpp \ 142keywidget.cpp \
140nameeditdialog.cpp \ 143nameeditdialog.cpp \
141filter.cpp \ 144filter.cpp \
142addviewdialog.cpp \ 145addviewdialog.cpp \
143configurewidget.cpp \ 146configurewidget.cpp \
144viewconfigurewidget.cpp \ 147viewconfigurewidget.cpp \
145viewconfigurefieldspage.cpp \ 148viewconfigurefieldspage.cpp \
146viewconfigurefilterpage.cpp \ 149viewconfigurefilterpage.cpp \
147undo.cpp \ 150undo.cpp \
148undocmds.cpp \ 151undocmds.cpp \
149xxportmanager.cpp \ 152xxportmanager.cpp \
150xxportobject.cpp \ 153xxportobject.cpp \
151xxportselectdialog.cpp \ 154xxportselectdialog.cpp \
152details/detailsviewcontainer.cpp \ 155details/detailsviewcontainer.cpp \
153details/look_basic.cpp \ 156details/look_basic.cpp \
154details/look_html.cpp \ 157details/look_html.cpp \
155views/kaddressbookiconview.cpp \ 158views/kaddressbookiconview.cpp \
156views/kaddressbooktableview.cpp \ 159views/kaddressbooktableview.cpp \
157views/kaddressbookcardview.cpp \ 160views/kaddressbookcardview.cpp \
158views/configuretableviewdialog.cpp \ 161views/configuretableviewdialog.cpp \
159views/configurecardviewdialog.cpp \ 162views/configurecardviewdialog.cpp \
160views/cardview.cpp \ 163views/cardview.cpp \
161views/contactlistview.cpp \ 164views/contactlistview.cpp \
162views/colorlistbox.cpp \ 165views/colorlistbox.cpp \
163xxport/vcard_xxport.cpp \ 166xxport/vcard_xxport.cpp \
164xxport/kde2_xxport.cpp \ 167xxport/kde2_xxport.cpp \
165xxport/csv_xxport.cpp \ 168xxport/csv_xxport.cpp \
166xxport/csvimportdialog.cpp \ 169xxport/csvimportdialog.cpp \
167xxport/opie_xxport.cpp \ 170xxport/opie_xxport.cpp \
168xxport/qtopia_xxport.cpp \ 171xxport/qtopia_xxport.cpp \
169xxport/sharpdtm_xxport.cpp \ 172xxport/sharpdtm_xxport.cpp \
170#details/look_details.cpp \ 173#details/look_details.cpp \
171#mainwindow.cpp \ 174#mainwindow.cpp \
172# calendarview.cpp \ 175# calendarview.cpp \
173# timespanview.cpp 176# timespanview.cpp
174 177
175
176
177win32: {
178HEADERS += ../outport/msoutl9.h \
179 kaimportoldialog.h
180
181SOURCES += ../outport/msoutl9.cpp \
182 kaimportoldialog.cpp
183}
184
diff --git a/kaddressbook/mainembedded.cpp b/kaddressbook/mainembedded.cpp
index 1e03dba..d9968f3 100644
--- a/kaddressbook/mainembedded.cpp
+++ b/kaddressbook/mainembedded.cpp
@@ -1,100 +1,102 @@
1#ifndef DESKTOP_VERSION 1#ifndef DESKTOP_VERSION
2#include <qpe/qpeapplication.h> 2#include <qpe/qpeapplication.h>
3#include <qcopchannel_qws.h> 3#include <qcopchannel_qws.h>
4#include <stdlib.h> 4#include <stdlib.h>
5#else 5#else
6#include <qapplication.h> 6#include <qapplication.h>
7#include <qwindowsstyle.h> 7#include <qwindowsstyle.h>
8#include <qplatinumstyle.h> 8#include <qplatinumstyle.h>
9#include <qmainwindow.h> 9#include <qmainwindow.h>
10#include <qmessagebox.h>
11#include <stdlib.h>
10#endif 12#endif
11 13
12#include <qtextcodec.h> 14#include <qtextcodec.h>
13#include <kstandarddirs.h> 15#include <kstandarddirs.h>
14#include <qregexp.h> 16#include <qregexp.h>
15#include <kglobal.h> 17#include <kglobal.h>
16#include <stdio.h> 18#include <stdio.h>
17#include <qdir.h> 19#include <qdir.h>
18#include "kabprefs.h" 20#include "kabprefs.h"
19#include "kaddressbookmain.h" 21#include "kaddressbookmain.h"
20#include "externalapphandler.h" 22#include "externalapphandler.h"
21#include <libkdepim/kpimglobalprefs.h> 23#include <libkdepim/kpimglobalprefs.h>
22void dumpMissing(); 24void dumpMissing();
23int main( int argc, char **argv ) 25int main( int argc, char **argv )
24{ 26{
25#ifndef DESKTOP_VERSION 27#ifndef DESKTOP_VERSION
26 QPEApplication a( argc, argv ); 28 QPEApplication a( argc, argv );
27 a.setKeepRunning (); 29 a.setKeepRunning ();
28#else 30#else
29 QApplication a( argc, argv ); 31 QApplication a( argc, argv );
30 QApplication::setStyle( new QPlatinumStyle ()); 32 QApplication::setStyle( new QPlatinumStyle ());
31 QString hdir = QDir::homeDirPath(); 33#ifdef _WIN32_
32 // there is a bug when creating dirs for WIN 98 34 QString hdir ( getenv( "HOME") );
33 // it is difficult to fix, because we have no WIN 98 runnung 35 if ( hdir.isEmpty() ) {
34 // such that we try it to create the dirs at startup here 36 QString hd ("C:/" );
35 if ( hdir == "C:\\" ) { // win 98 or ME 37 //QMessageBox::information(0,"hh",QDir::homeDirPath()+" xx" +hd );
36 QDir app_dir; 38 if ( QDir::homeDirPath().lower() == hd.lower() ) {
37 if ( !app_dir.exists("C:\\kdepim") ) 39 _putenv( "HOME=C:");
38 app_dir.mkdir ("C:\\kdepim"); 40 //QMessageBox::information(0,"hh",QString ( getenv( "HOME") ) );
39 if ( !app_dir.exists("C:\\kdepim\\apps") ) 41 }
40 app_dir.mkdir ("C:\\kdepim\\apps"); 42 } else {
41 if ( !app_dir.exists("C:\\kdepim\\config") ) 43 QDir app_dir;
42 app_dir.mkdir ("C:\\kdepim\\config"); 44 if ( !app_dir.exists(hdir) )
43 if ( !app_dir.exists("C:\\kdepim\\apps\\kaddressbook") ) 45 app_dir.mkdir (hdir);
44 app_dir.mkdir ("C:\\kdepim\\apps\\kaddressbook");
45 } 46 }
46#endif 47#endif
48#endif
47 49
48 bool exitHelp = false; 50 bool exitHelp = false;
49 if ( argc > 1 ) { 51 if ( argc > 1 ) {
50 QString command = argv[1]; 52 QString command = argv[1];
51 if ( command == "-help" ){ 53 if ( command == "-help" ){
52 printf("KA/E command line commands:\n"); 54 printf("KA/E command line commands:\n");
53 printf(" no command: Start KA/E in usual way\n"); 55 printf(" no command: Start KA/E in usual way\n");
54 printf(" -help: This output\n"); 56 printf(" -help: This output\n");
55 printf(" KA/E is exiting now. Bye!\n"); 57 printf(" KA/E is exiting now. Bye!\n");
56 exitHelp = true; 58 exitHelp = true;
57 } 59 }
58 } 60 }
59 if ( ! exitHelp ) { 61 if ( ! exitHelp ) {
60 62
61 KGlobal::setAppName( "kaddressbook" ); 63 KGlobal::setAppName( "kaddressbook" );
62#ifndef DESKTOP_VERSION 64#ifndef DESKTOP_VERSION
63 if ( QApplication::desktop()->width() > 320 ) 65 if ( QApplication::desktop()->width() > 320 )
64 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons22/"); 66 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons22/");
65 else 67 else
66 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons16/"); 68 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons16/");
67#else 69#else
68 QString fileName ; 70 QString fileName ;
69 fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/icons22/"; 71 fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/icons22/";
70 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); 72 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
71 QApplication::addLibraryPath ( qApp->applicationDirPath () ); 73 QApplication::addLibraryPath ( qApp->applicationDirPath () );
72 74
73#endif 75#endif
74 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kaddressbook"))); 76 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kaddressbook")));
75 // init language 77 // init language
76 KPimGlobalPrefs::instance()->setGlobalConfig(); 78 KPimGlobalPrefs::instance()->setGlobalConfig();
77 KAddressBookMain m ; 79 KAddressBookMain m ;
78//US MainWindow m; 80//US MainWindow m;
79#ifndef DESKTOP_VERSION 81#ifndef DESKTOP_VERSION
80 QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 82 QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
81#endif 83#endif
82 84
83 85
84#ifndef DESKTOP_VERSION 86#ifndef DESKTOP_VERSION
85 a.showMainWidget( &m ); 87 a.showMainWidget( &m );
86 88
87#else 89#else
88 a.setMainWidget( &m ); 90 a.setMainWidget( &m );
89 m.resize (640, 480 ); 91 m.resize (640, 480 );
90 m.show(); 92 m.show();
91#endif 93#endif
92 a.exec(); 94 a.exec();
93 95
94 dumpMissing(); 96 dumpMissing();
95 97
96 KPimGlobalPrefs::instance()->writeConfig(); 98 KPimGlobalPrefs::instance()->writeConfig();
97 } 99 }
98 qDebug("KA: Bye! "); 100 qDebug("KA: Bye! ");
99} 101}
100 102
diff --git a/kdepim-desktop.pro b/kdepim-desktop.pro
index b0d60b7..da3a966 100644
--- a/kdepim-desktop.pro
+++ b/kdepim-desktop.pro
@@ -1,8 +1,8 @@
1 1
2 2
3TEMPLATE = subdirs 3TEMPLATE = subdirs
4SUBDIRS = libical libkcal kabc libkdepim microkde korganizer kaddressbook kabc/plugins/file kabc/plugins/dir kabc/plugins/file kabc/plugins/qtopia gammu/emb/common gammu/emb/gammu 4SUBDIRS = libical libkcal kabc libkdepim microkde korganizer kaddressbook kabc/plugins/file kabc/plugins/dir kabc/plugins/qtopia gammu/emb/common gammu/emb/gammu
5unix:{ 5unix:{
6SUBDIRS += kmicromail/libetpan kmicromail/libmailwrapper kmicromail pwmanager/libcrypt/cipher pwmanager/libcrypt/error pwmanager/libcrypt/mpi pwmanager/libcrypt/zlib pwmanager/pwmanager 6SUBDIRS += kmicromail/libetpan kmicromail/libmailwrapper kmicromail pwmanager/libcrypt/cipher pwmanager/libcrypt/error pwmanager/libcrypt/mpi pwmanager/libcrypt/zlib pwmanager/pwmanager
7} 7}
8 8
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index 8aa24ee..ea73fd0 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -1,290 +1,292 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 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 <qlayout.h> 24#include <qlayout.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qlineedit.h> 28#include <qlineedit.h>
29#include <qfont.h> 29#include <qfont.h>
30#include <qslider.h> 30#include <qslider.h>
31#include <qfile.h> 31#include <qfile.h>
32#include <qtextstream.h> 32#include <qtextstream.h>
33#include <qcombobox.h> 33#include <qcombobox.h>
34#include <qvbox.h> 34#include <qvbox.h>
35#include <qhbox.h> 35#include <qhbox.h>
36#include <qregexp.h> 36#include <qregexp.h>
37#include <qspinbox.h> 37#include <qspinbox.h>
38#include <qdatetime.h> 38#include <qdatetime.h>
39#include <qcheckbox.h> 39#include <qcheckbox.h>
40#include <qradiobutton.h> 40#include <qradiobutton.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qstrlist.h> 42#include <qstrlist.h>
43#include <qapplication.h> 43#include <qapplication.h>
44 44
45#include <kcolorbutton.h> 45#include <kcolorbutton.h>
46#include <kdebug.h> 46#include <kdebug.h>
47#include <klocale.h> 47#include <klocale.h>
48#include <kglobal.h> 48#include <kglobal.h>
49#include <kfontdialog.h> 49#include <kfontdialog.h>
50#include <kfiledialog.h> 50#include <kfiledialog.h>
51#include <kmessagebox.h> 51#include <kmessagebox.h>
52#include <kcolordialog.h> 52#include <kcolordialog.h>
53#include <kiconloader.h> 53#include <kiconloader.h>
54#include <kemailsettings.h> 54#include <kemailsettings.h>
55#include <kstandarddirs.h> 55#include <kstandarddirs.h>
56 56
57#include <kurlrequester.h> 57#include <kurlrequester.h>
58#include <klineedit.h> 58#include <klineedit.h>
59 59
60#if defined(USE_SOLARIS) 60#if defined(USE_SOLARIS)
61#include <sys/param.h> 61#include <sys/param.h>
62 62
63#define ZONEINFODIR "/usr/share/lib/zoneinfo" 63#define ZONEINFODIR "/usr/share/lib/zoneinfo"
64#define INITFILE "/etc/default/init" 64#define INITFILE "/etc/default/init"
65#endif 65#endif
66 66
67#include "koprefs.h" 67#include "koprefs.h"
68 68
69#include "koprefsdialog.h" 69#include "koprefsdialog.h"
70#include "kpimglobalprefs.h" 70#include "kpimglobalprefs.h"
71 71
72 72
73KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) : 73KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) :
74 KPrefsDialog(KOPrefs::instance(),parent,name,true) 74 KPrefsDialog(KOPrefs::instance(),parent,name,true)
75{ 75{
76 76
77 setCaption( i18n("Preferences - some settings need a restart (nr)")); 77 setCaption( i18n("Preferences - some settings need a restart (nr)"));
78 mCategoryDict.setAutoDelete(true); 78 mCategoryDict.setAutoDelete(true);
79 79
80 KGlobal::locale()->insertCatalogue("timezones"); 80 KGlobal::locale()->insertCatalogue("timezones");
81 81
82 setupGlobalTab(); 82 setupGlobalTab();
83 setupMainTab(); 83 setupMainTab();
84 // setupLocaleTab(); 84 // setupLocaleTab();
85 //setupTimeZoneTab(); 85 //setupTimeZoneTab();
86 setupTimeTab(); 86 setupTimeTab();
87 //setupLocaleDateTab(); 87 //setupLocaleDateTab();
88 setupFontsTab(); 88 setupFontsTab();
89 setupColorsTab(); 89 setupColorsTab();
90 setupViewsTab(); 90 setupViewsTab();
91 //setupSyncTab(); 91 //setupSyncTab();
92 //setupSyncAlgTab(); 92 //setupSyncAlgTab();
93 //setupPrinterTab(); 93 //setupPrinterTab();
94 //setupGroupSchedulingTab(); 94 //setupGroupSchedulingTab();
95 //setupGroupAutomationTab(); 95 //setupGroupAutomationTab();
96 96
97#ifndef DESKTOP_VERSION
97 if ( QApplication::desktop()->height() == 480 ) 98 if ( QApplication::desktop()->height() == 480 )
98 hideButtons(); 99 hideButtons();
100#endif
99} 101}
100 102
101 103
102KOPrefsDialog::~KOPrefsDialog() 104KOPrefsDialog::~KOPrefsDialog()
103{ 105{
104} 106}
105void KOPrefsDialog::setupGlobalTab() 107void KOPrefsDialog::setupGlobalTab()
106{ 108{
107 QFrame *topFrame = addPage(i18n("Global"),0,0); 109 QFrame *topFrame = addPage(i18n("Global"),0,0);
108 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), topFrame, "KCMKdeLibConfig" ); 110 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), topFrame, "KCMKdeLibConfig" );
109 QVBoxLayout *topLayout = new QVBoxLayout(topFrame); 111 QVBoxLayout *topLayout = new QVBoxLayout(topFrame);
110 topLayout->addWidget( kdelibcfg ); 112 topLayout->addWidget( kdelibcfg );
111 113
112 114
113} 115}
114void KOPrefsDialog::setupLocaleDateTab() 116void KOPrefsDialog::setupLocaleDateTab()
115{ 117{
116#if 0 118#if 0
117QFrame *topFrame = addPage(i18n("Date Format"),0,0); 119QFrame *topFrame = addPage(i18n("Date Format"),0,0);
118 QGridLayout *topLayout = new QGridLayout(topFrame,3,2); 120 QGridLayout *topLayout = new QGridLayout(topFrame,3,2);
119 topLayout->setSpacing(spacingHint()); 121 topLayout->setSpacing(spacingHint());
120 topLayout->setMargin(marginHint()); 122 topLayout->setMargin(marginHint());
121 int iii = 0; 123 int iii = 0;
122 124
123 125
124 KPrefsDialogWidRadios *syncPrefsGroup = 126 KPrefsDialogWidRadios *syncPrefsGroup =
125 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame); 127 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame);
126 QString format; 128 QString format;
127 if ( QApplication::desktop()->width() < 480 ) 129 if ( QApplication::desktop()->width() < 480 )
128 format = "(%d.%m.%Y)"; 130 format = "(%d.%m.%Y)";
129 else 131 else
130 format = "(%d.%m.%Y|%A %d %B %Y)"; 132 format = "(%d.%m.%Y|%A %d %B %Y)";
131 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 133 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
132 if ( QApplication::desktop()->width() < 480 ) 134 if ( QApplication::desktop()->width() < 480 )
133 format = "(%m.%d.%Y)"; 135 format = "(%m.%d.%Y)";
134 else 136 else
135 format = "(%m.%d.%Y|%A %B %d %Y)"; 137 format = "(%m.%d.%Y|%A %B %d %Y)";
136 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 138 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
137 if ( QApplication::desktop()->width() < 480 ) 139 if ( QApplication::desktop()->width() < 480 )
138 format = "(%Y-%m-%d)"; 140 format = "(%Y-%m-%d)";
139 else 141 else
140 format = "(%Y-%m-%d|%A %Y %B %d)"; 142 format = "(%Y-%m-%d|%A %Y %B %d)";
141 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 143 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
142 syncPrefsGroup->addRadio(i18n("User defined")); 144 syncPrefsGroup->addRadio(i18n("User defined"));
143 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 145 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
144 ++iii; 146 ++iii;
145 ++iii; 147 ++iii;
146 QLabel * lab; 148 QLabel * lab;
147 mUserDateFormatLong = new QLineEdit(topFrame); 149 mUserDateFormatLong = new QLineEdit(topFrame);
148 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 150 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
149 topLayout->addWidget(lab ,iii,0); 151 topLayout->addWidget(lab ,iii,0);
150 topLayout->addWidget(mUserDateFormatLong,iii,1); 152 topLayout->addWidget(mUserDateFormatLong,iii,1);
151 ++iii; 153 ++iii;
152 mUserDateFormatShort = new QLineEdit(topFrame); 154 mUserDateFormatShort = new QLineEdit(topFrame);
153 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 155 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
154 topLayout->addWidget(lab ,iii,0); 156 topLayout->addWidget(lab ,iii,0);
155 topLayout->addWidget(mUserDateFormatShort,iii,1); 157 topLayout->addWidget(mUserDateFormatShort,iii,1);
156 ++iii; 158 ++iii;
157 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); 159 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
158 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 160 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
159 ++iii; 161 ++iii;
160 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); 162 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame);
161 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 163 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
162 ++iii; 164 ++iii;
163 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame); 165 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame);
164 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 166 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
165 ++iii; 167 ++iii;
166#endif 168#endif
167 169
168} 170}
169 171
170void KOPrefsDialog::setupLocaleTab() 172void KOPrefsDialog::setupLocaleTab()
171{ 173{
172#if 0 174#if 0
173 QFrame *topFrame = addPage(i18n("Locale"),0,0); 175 QFrame *topFrame = addPage(i18n("Locale"),0,0);
174 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 176 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
175 topLayout->setSpacing(spacingHint()); 177 topLayout->setSpacing(spacingHint());
176 topLayout->setMargin(marginHint()); 178 topLayout->setMargin(marginHint());
177 int iii = 0; 179 int iii = 0;
178 KPrefsDialogWidRadios *syncPrefsGroup = 180 KPrefsDialogWidRadios *syncPrefsGroup =
179 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame); 181 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame);
180 syncPrefsGroup->addRadio(i18n("English")); 182 syncPrefsGroup->addRadio(i18n("English"));
181 syncPrefsGroup->addRadio(i18n("German")); 183 syncPrefsGroup->addRadio(i18n("German"));
182 syncPrefsGroup->addRadio(i18n("French")); 184 syncPrefsGroup->addRadio(i18n("French"));
183 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); 185 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
184 if ( QApplication::desktop()->width() < 300 ) 186 if ( QApplication::desktop()->width() < 300 )
185 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 187 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
186 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 188 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
187 ++iii; 189 ++iii;
188 190
189 syncPrefsGroup = 191 syncPrefsGroup =
190 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame); 192 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame);
191 if ( QApplication::desktop()->width() > 300 ) 193 if ( QApplication::desktop()->width() > 300 )
192 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 194 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
193 syncPrefsGroup->addRadio(i18n("24:00")); 195 syncPrefsGroup->addRadio(i18n("24:00"));
194 syncPrefsGroup->addRadio(i18n("12:00am")); 196 syncPrefsGroup->addRadio(i18n("12:00am"));
195 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 197 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
196 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 198 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
197 ++iii; 199 ++iii;
198 KPrefsDialogWidBool *sb; 200 KPrefsDialogWidBool *sb;
199 if ( QApplication::desktop()->width() < 300 ) { 201 if ( QApplication::desktop()->width() < 300 ) {
200 sb = 202 sb =
201 addWidBool(i18n("Week starts on Sunday"), 203 addWidBool(i18n("Week starts on Sunday"),
202 &(KOPrefs::instance()->mWeekStartsOnSunday),topFrame); 204 &(KOPrefs::instance()->mWeekStartsOnSunday),topFrame);
203 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 205 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
204 ++iii; 206 ++iii;
205 sb = 207 sb =
206 addWidBool(i18n("Use short date in (WN/E) view"), 208 addWidBool(i18n("Use short date in (WN/E) view"),
207 &(KOPrefs::instance()->mShortDateInViewer),topFrame); 209 &(KOPrefs::instance()->mShortDateInViewer),topFrame);
208 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 210 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
209 } 211 }
210 else { 212 else {
211 QWidget * hb = new QWidget( topFrame ); 213 QWidget * hb = new QWidget( topFrame );
212 QHBoxLayout *hbLayout = new QHBoxLayout(hb); 214 QHBoxLayout *hbLayout = new QHBoxLayout(hb);
213 sb = 215 sb =
214 addWidBool(i18n("Week starts on Sunday"), 216 addWidBool(i18n("Week starts on Sunday"),
215 &(KOPrefs::instance()->mWeekStartsOnSunday),hb); 217 &(KOPrefs::instance()->mWeekStartsOnSunday),hb);
216 hbLayout->addWidget(sb->checkBox() ); 218 hbLayout->addWidget(sb->checkBox() );
217 sb = 219 sb =
218 addWidBool(i18n("Use short date in (WN/E) view"), 220 addWidBool(i18n("Use short date in (WN/E) view"),
219 &(KOPrefs::instance()->mShortDateInViewer),hb); 221 &(KOPrefs::instance()->mShortDateInViewer),hb);
220 hbLayout->addWidget(sb->checkBox() ); 222 hbLayout->addWidget(sb->checkBox() );
221 topLayout->addMultiCellWidget(hb, iii,iii,0,1); 223 topLayout->addMultiCellWidget(hb, iii,iii,0,1);
222 224
223 } 225 }
224 // KPrefsDialogWidBool *sb; //#ifndef DESKTOP_VERSION 226 // KPrefsDialogWidBool *sb; //#ifndef DESKTOP_VERSION
225#if 0 227#if 0
226 ++iii; 228 ++iii;
227 sb = 229 sb =
228 addWidBool(i18n("Quick load/save (w/o Unicode)"), 230 addWidBool(i18n("Quick load/save (w/o Unicode)"),
229 &(KOPrefs::instance()->mUseQuicksave),topFrame); 231 &(KOPrefs::instance()->mUseQuicksave),topFrame);
230 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 232 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
231#endif 233#endif
232#endif 234#endif
233} 235}
234void KOPrefsDialog::showSyncPage() 236void KOPrefsDialog::showSyncPage()
235{ 237{
236 showPage ( 0 ) ; 238 showPage ( 0 ) ;
237 kdelibcfg->showTimeZoneTab() ; 239 kdelibcfg->showTimeZoneTab() ;
238 240
239} 241}
240void KOPrefsDialog::setupSyncAlgTab() 242void KOPrefsDialog::setupSyncAlgTab()
241{ 243{
242#if 0 244#if 0
243 QLabel * lab; 245 QLabel * lab;
244 QFrame *topFrame = addPage(i18n("Sync Prefs"),0,0); 246 QFrame *topFrame = addPage(i18n("Sync Prefs"),0,0);
245 mSetupSyncAlgTab = topFrame; 247 mSetupSyncAlgTab = topFrame;
246 QGridLayout *topLayout = new QGridLayout(topFrame,6,2); 248 QGridLayout *topLayout = new QGridLayout(topFrame,6,2);
247 topLayout->setSpacing(spacingHint()); 249 topLayout->setSpacing(spacingHint());
248 topLayout->setMargin(marginHint()); 250 topLayout->setMargin(marginHint());
249 int iii = 0; 251 int iii = 0;
250 252
251 KPrefsDialogWidBool *sb = 253 KPrefsDialogWidBool *sb =
252 addWidBool(i18n("Ask for preferences before syncing"), 254 addWidBool(i18n("Ask for preferences before syncing"),
253 &(KOPrefs::instance()->mAskForPreferences),topFrame); 255 &(KOPrefs::instance()->mAskForPreferences),topFrame);
254 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 256 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
255 257
256 ++iii; 258 ++iii;
257 259
258 KPrefsDialogWidRadios *syncPrefsGroup = 260 KPrefsDialogWidRadios *syncPrefsGroup =
259 addWidRadios(i18n("Sync preferences:"),&(KOPrefs::instance()->mSyncAlgoPrefs), 261 addWidRadios(i18n("Sync preferences:"),&(KOPrefs::instance()->mSyncAlgoPrefs),
260 topFrame); 262 topFrame);
261 syncPrefsGroup->addRadio(i18n("Take local entry on conflict")); 263 syncPrefsGroup->addRadio(i18n("Take local entry on conflict"));
262 syncPrefsGroup->addRadio(i18n("Take remote entry on conflict")); 264 syncPrefsGroup->addRadio(i18n("Take remote entry on conflict"));
263 syncPrefsGroup->addRadio(i18n("Take newest entry on conflict")); 265 syncPrefsGroup->addRadio(i18n("Take newest entry on conflict"));
264 syncPrefsGroup->addRadio(i18n("Ask for every entry on conflict")); 266 syncPrefsGroup->addRadio(i18n("Ask for every entry on conflict"));
265 syncPrefsGroup->addRadio(i18n("Force take local entry always")); 267 syncPrefsGroup->addRadio(i18n("Force take local entry always"));
266 syncPrefsGroup->addRadio(i18n("Force take remote entry always")); 268 syncPrefsGroup->addRadio(i18n("Force take remote entry always"));
267 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 269 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
268 ++iii; 270 ++iii;
269 sb = 271 sb =
270 addWidBool(i18n("Show summary after syncing"), 272 addWidBool(i18n("Show summary after syncing"),
271 &(KOPrefs::instance()->mShowSyncSummary),topFrame); 273 &(KOPrefs::instance()->mShowSyncSummary),topFrame);
272 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 274 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
273 275
274 ++iii; 276 ++iii;
275#endif 277#endif
276 278
277 279
278 280
279} 281}
280 282
281 283
282void KOPrefsDialog::setupSyncTab() 284void KOPrefsDialog::setupSyncTab()
283{ 285{
284#if 0 286#if 0
285 QLabel * lab; 287 QLabel * lab;
286 QFrame *topFrame = addPage(i18n("Sync Network"),0,0); 288 QFrame *topFrame = addPage(i18n("Sync Network"),0,0);
287 QGridLayout *topLayout = new QGridLayout(topFrame,6,2); 289 QGridLayout *topLayout = new QGridLayout(topFrame,6,2);
288 topLayout->setSpacing(spacingHint()); 290 topLayout->setSpacing(spacingHint());
289 topLayout->setMargin(marginHint()); 291 topLayout->setMargin(marginHint());
290 lab = new QLabel(i18n("Remote syncing (via ssh/scp)\nnetwork settings "), topFrame); 292 lab = new QLabel(i18n("Remote syncing (via ssh/scp)\nnetwork settings "), topFrame);
diff --git a/korganizer/korganizer.pro b/korganizer/korganizer.pro
index c2602b2..4d67dca 100644
--- a/korganizer/korganizer.pro
+++ b/korganizer/korganizer.pro
@@ -1,193 +1,191 @@
1 TEMPLATE= app 1 TEMPLATE= app
2 CONFIG = qt warn_on 2 CONFIG += qt warn_off
3 TARGET = kopi 3 TARGET = kopi
4OBJECTS_DIR = _obj/ 4OBJECTS_DIR = _obj/
5MOC_DIR = _moc 5MOC_DIR = _moc
6DESTDIR= ../bin 6DESTDIR= ../bin
7 7
8include( ../variables.pri ) 8include( ../variables.pri )
9 9
10INCLUDEPATH += ../microkde ../ interfaces ../microkde/kdecore ../microkde/kdeui ../microkde/kio/kfile ../microkde/kio/kio ../libkdepim 10INCLUDEPATH += ../microkde ../ interfaces ../microkde/kdecore ../microkde/kdeui ../microkde/kio/kfile ../microkde/kio/kio ../libkdepim
11#../qtcompat 11#../qtcompat
12DEFINES += KORG_NODND KORG_NOPLUGINS KORG_NOARCHIVE KORG_NOMAIL 12DEFINES += KORG_NODND KORG_NOPLUGINS KORG_NOARCHIVE KORG_NOMAIL
13DEFINES += KORG_NODCOP KORG_NOKALARMD KORG_NORESOURCEVIEW KORG_NOSPLITTER 13DEFINES += KORG_NODCOP KORG_NOKALARMD KORG_NORESOURCEVIEW KORG_NOSPLITTER
14#KORG_NOPRINTER KORG_NOKABC 14#KORG_NOPRINTER KORG_NOKABC
15DEFINES += KORG_NOLVALTERNATION 15DEFINES += KORG_NOLVALTERNATION
16DEFINES += DESKTOP_VERSION 16DEFINES += DESKTOP_VERSION
17unix : { 17unix : {
18LIBS += ../bin/libmicrokdepim.so 18LIBS += ../bin/libmicrokdepim.so
19LIBS += ../bin/libmicrokcal.so 19LIBS += ../bin/libmicrokcal.so
20LIBS += ../bin/libmicrokde.so 20LIBS += ../bin/libmicrokde.so
21LIBS += ../bin/libmicrokabc.so 21LIBS += ../bin/libmicrokabc.so
22#LIBS += -lbluetooth 22#LIBS += -lbluetooth
23#LIBS += -lsdp 23#LIBS += -lsdp
24 24
25#LIBS += -lldap 25#LIBS += -lldap
26OBJECTS_DIR = obj/unix 26OBJECTS_DIR = obj/unix
27MOC_DIR = moc/unix 27MOC_DIR = moc/unix
28} 28}
29win32: { 29win32: {
30RC_FILE = winicons.rc 30RC_FILE = winicons.rc
31DEFINES += _WIN32_ 31DEFINES += _WIN32_
32LIBS += ../bin/microkdepim.lib 32LIBS += ../bin/microkdepim.lib
33LIBS += ../bin/microkcal.lib 33LIBS += ../bin/microkcal.lib
34LIBS += ../bin/microkde.lib 34LIBS += ../bin/microkde.lib
35LIBS += ../bin/microkabc.lib 35LIBS += ../bin/microkabc.lib
36LIBS += ../libical/lib/ical.lib 36LIBS += ../libical/lib/ical.lib
37LIBS += ../libical/lib/icalss.lib 37LIBS += ../libical/lib/icalss.lib
38#LIBS += atls.lib 38#LIBS += atls.lib
39LIBS += mfc71u.lib
40QMAKE_LINK += /NODEFAULTLIB:LIBC 39QMAKE_LINK += /NODEFAULTLIB:LIBC
41#QMAKE_LINK += /NODEFAULTLIB:MSVCRT 40#QMAKE_LINK += /NODEFAULTLIB:MSVCRT
42#QMAKE_LINK += /NODEFAULTLIB:uafxcw.lib 41#QMAKE_LINK += /NODEFAULTLIB:uafxcw.lib
43OBJECTS_DIR = obj/win 42OBJECTS_DIR = obj/win
44MOC_DIR = moc/win 43MOC_DIR = moc/win
44#olimport section
45#blabla: {
46LIBS += mfc71u.lib
47DEFINES += _OL_IMPORT_
48
49HEADERS += ../outport/msoutl9.h \
50 koimportoldialog.h
51SOURCES += ../outport/msoutl9.cpp \
52 koimportoldialog.cpp
53#}
54#olimport section end
55
45} 56}
46 57
47 58
48INTERFACES = kofilterview_base.ui 59INTERFACES = kofilterview_base.ui
49#filteredit_base.ui 60#filteredit_base.ui
50 61
51# kdateedit.h \ 62# kdateedit.h \
52 63
53HEADERS = \ 64HEADERS += \
54 filteredit_base.h \ 65 filteredit_base.h \
55 alarmclient.h \ 66 alarmclient.h \
56 calendarview.h \ 67 calendarview.h \
57 customlistviewitem.h \ 68 customlistviewitem.h \
58 datenavigator.h \ 69 datenavigator.h \
59 docprefs.h \ 70 docprefs.h \
60 filtereditdialog.h \ 71 filtereditdialog.h \
61 incomingdialog.h \ 72 incomingdialog.h \
62 incomingdialog_base.h \ 73 incomingdialog_base.h \
63 interfaces/korganizer/baseview.h \ 74 interfaces/korganizer/baseview.h \
64 interfaces/korganizer/calendarviewbase.h \ 75 interfaces/korganizer/calendarviewbase.h \
65 journalentry.h \ 76 journalentry.h \
66 kdatenavigator.h \ 77 kdatenavigator.h \
67 koagenda.h \ 78 koagenda.h \
68 koagendaitem.h \ 79 koagendaitem.h \
69 koagendaview.h \ 80 koagendaview.h \
70 kocounterdialog.h \ 81 kocounterdialog.h \
71 kodaymatrix.h \ 82 kodaymatrix.h \
72 kodialogmanager.h \ 83 kodialogmanager.h \
73 koeditordetails.h \ 84 koeditordetails.h \
74 koeditorgeneral.h \ 85 koeditorgeneral.h \
75 koeditorgeneralevent.h \ 86 koeditorgeneralevent.h \
76 koeditorgeneraltodo.h \ 87 koeditorgeneraltodo.h \
77 koeditorrecurrence.h \ 88 koeditorrecurrence.h \
78 koeventeditor.h \ 89 koeventeditor.h \
79 koeventpopupmenu.h \ 90 koeventpopupmenu.h \
80 koeventview.h \ 91 koeventview.h \
81 koeventviewer.h \ 92 koeventviewer.h \
82 koeventviewerdialog.h \ 93 koeventviewerdialog.h \
83 kofilterview.h \ 94 kofilterview.h \
84 koglobals.h \ 95 koglobals.h \
85 koincidenceeditor.h \ 96 koincidenceeditor.h \
86 kojournalview.h \ 97 kojournalview.h \
87 kolistview.h \ 98 kolistview.h \
88 kolocationbox.h \ 99 kolocationbox.h \
89 komonthview.h \ 100 komonthview.h \
90 koprefs.h \ 101 koprefs.h \
91 koprefsdialog.h \ 102 koprefsdialog.h \
92 kotimespanview.h \ 103 kotimespanview.h \
93 kotodoeditor.h \ 104 kotodoeditor.h \
94 kotodoview.h \ 105 kotodoview.h \
95 kotodoviewitem.h \ 106 kotodoviewitem.h \
96 koviewmanager.h \ 107 koviewmanager.h \
97 kowhatsnextview.h \ 108 kowhatsnextview.h \
98 ktimeedit.h \ 109 ktimeedit.h \
99 lineview.h \ 110 lineview.h \
100 mainwindow.h \ 111 mainwindow.h \
101 navigatorbar.h \ 112 navigatorbar.h \
102 outgoingdialog.h \ 113 outgoingdialog.h \
103 outgoingdialog_base.h \ 114 outgoingdialog_base.h \
104 publishdialog.h \ 115 publishdialog.h \
105 publishdialog_base.h \ 116 publishdialog_base.h \
106 savetemplatedialog.h \ 117 savetemplatedialog.h \
107 searchdialog.h \ 118 searchdialog.h \
108 simplealarmclient.h \ 119 simplealarmclient.h \
109 statusdialog.h \ 120 statusdialog.h \
110 timeline.h \ 121 timeline.h \
111 timespanview.h \ 122 timespanview.h \
112 version.h \ 123 version.h \
113 ../kalarmd/alarmdialog.h \ 124 ../kalarmd/alarmdialog.h \
114 125
115 126
116SOURCES = \ 127SOURCES += \
117filteredit_base.cpp \ 128filteredit_base.cpp \
118 calendarview.cpp \ 129 calendarview.cpp \
119 datenavigator.cpp \ 130 datenavigator.cpp \
120 docprefs.cpp \ 131 docprefs.cpp \
121 filtereditdialog.cpp \ 132 filtereditdialog.cpp \
122 incomingdialog.cpp \ 133 incomingdialog.cpp \
123 incomingdialog_base.cpp \ 134 incomingdialog_base.cpp \
124 journalentry.cpp \ 135 journalentry.cpp \
125 kdatenavigator.cpp \ 136 kdatenavigator.cpp \
126 koagenda.cpp \ 137 koagenda.cpp \
127 koagendaitem.cpp \ 138 koagendaitem.cpp \
128 koagendaview.cpp \ 139 koagendaview.cpp \
129 kocounterdialog.cpp \ 140 kocounterdialog.cpp \
130 kodaymatrix.cpp \ 141 kodaymatrix.cpp \
131 kodialogmanager.cpp \ 142 kodialogmanager.cpp \
132 koeditordetails.cpp \ 143 koeditordetails.cpp \
133 koeditorgeneral.cpp \ 144 koeditorgeneral.cpp \
134 koeditorgeneralevent.cpp \ 145 koeditorgeneralevent.cpp \
135 koeditorgeneraltodo.cpp \ 146 koeditorgeneraltodo.cpp \
136 koeditorrecurrence.cpp \ 147 koeditorrecurrence.cpp \
137 koeventeditor.cpp \ 148 koeventeditor.cpp \
138 koeventpopupmenu.cpp \ 149 koeventpopupmenu.cpp \
139 koeventview.cpp \ 150 koeventview.cpp \
140 koeventviewer.cpp \ 151 koeventviewer.cpp \
141 koeventviewerdialog.cpp \ 152 koeventviewerdialog.cpp \
142 kofilterview.cpp \ 153 kofilterview.cpp \
143 koglobals.cpp \ 154 koglobals.cpp \
144 koincidenceeditor.cpp \ 155 koincidenceeditor.cpp \
145 kojournalview.cpp \ 156 kojournalview.cpp \
146 kolistview.cpp \ 157 kolistview.cpp \
147 kolocationbox.cpp \ 158 kolocationbox.cpp \
148 komonthview.cpp \ 159 komonthview.cpp \
149 koprefs.cpp \ 160 koprefs.cpp \
150 koprefsdialog.cpp \ 161 koprefsdialog.cpp \
151 kotimespanview.cpp \ 162 kotimespanview.cpp \
152 kotodoeditor.cpp \ 163 kotodoeditor.cpp \
153 kotodoview.cpp \ 164 kotodoview.cpp \
154 kotodoviewitem.cpp \ 165 kotodoviewitem.cpp \
155 koviewmanager.cpp \ 166 koviewmanager.cpp \
156 kowhatsnextview.cpp \ 167 kowhatsnextview.cpp \
157 ktimeedit.cpp \ 168 ktimeedit.cpp \
158 lineview.cpp \ 169 lineview.cpp \
159 main.cpp \ 170 main.cpp \
160 mainwindow.cpp \ 171 mainwindow.cpp \
161 navigatorbar.cpp \ 172 navigatorbar.cpp \
162 outgoingdialog.cpp \ 173 outgoingdialog.cpp \
163 outgoingdialog_base.cpp \ 174 outgoingdialog_base.cpp \
164 publishdialog.cpp \ 175 publishdialog.cpp \
165 publishdialog_base.cpp \ 176 publishdialog_base.cpp \
166 savetemplatedialog.cpp \ 177 savetemplatedialog.cpp \
167 searchdialog.cpp \ 178 searchdialog.cpp \
168 simplealarmclient.cpp \ 179 simplealarmclient.cpp \
169 statusdialog.cpp \ 180 statusdialog.cpp \
170 timeline.cpp \ 181 timeline.cpp \
171 timespanview.cpp \ 182 timespanview.cpp \
172 ../kalarmd/alarmdialog.cpp 183 ../kalarmd/alarmdialog.cpp
173 184
174HEADERS += calprintbase.h calprinter.h calprintplugins.h cellitem.h 185HEADERS += calprintbase.h calprinter.h calprintplugins.h cellitem.h
175INTERFACES += calprintdayconfig_base.ui \ 186INTERFACES += calprintdayconfig_base.ui \
176 calprintmonthconfig_base.ui \ 187 calprintmonthconfig_base.ui \
177 calprinttodoconfig_base.ui \ 188 calprinttodoconfig_base.ui \
178 calprintweekconfig_base.ui 189 calprintweekconfig_base.ui
179SOURCES += calprintbase.cpp calprinter.cpp calprintplugins.cpp cellitem.cpp 190SOURCES += calprintbase.cpp calprinter.cpp calprintplugins.cpp cellitem.cpp
180 191
181
182
183win32: {
184HEADERS += ../outport/msoutl9.h \
185 koimportoldialog.h
186
187
188SOURCES += ../outport/msoutl9.cpp \
189 koimportoldialog.cpp
190
191
192}
193
diff --git a/korganizer/main.cpp b/korganizer/main.cpp
index 2481ca4..4b207d9 100644
--- a/korganizer/main.cpp
+++ b/korganizer/main.cpp
@@ -1,109 +1,110 @@
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#endif 15#endif
15#include <qtextcodec.h> 16#include <qtextcodec.h>
16 17
17#include <qdir.h> 18#include <qdir.h>
18#include <kstandarddirs.h> 19#include <kstandarddirs.h>
19#include <kglobal.h> 20#include <kglobal.h>
20#include <stdio.h> 21#include <stdio.h>
21#include "mainwindow.h" 22#include "mainwindow.h"
22#include <libkdepim/kpimglobalprefs.h> 23#include <libkdepim/kpimglobalprefs.h>
23void dumpMissing(); 24void dumpMissing();
24int main( int argc, char **argv ) 25int main( int argc, char **argv )
25{ 26{
26#ifndef DESKTOP_VERSION 27#ifndef DESKTOP_VERSION
27 QPEApplication a( argc, argv ); 28 QPEApplication a( argc, argv );
28 a.setKeepRunning (); 29 a.setKeepRunning ();
29#else 30#else
30 QApplication a( argc, argv ); 31 QApplication a( argc, argv );
31 QApplication::setStyle( new QPlatinumStyle ()); 32 QApplication::setStyle( new QPlatinumStyle ());
32 QString hdir = QDir::homeDirPath(); 33#ifdef _WIN32_
33 // there is a bug when creating dirs for WIN 98 34 QString hdir ( getenv( "HOME") );
34 // it is difficult to fix, because we have no WIN 98 runnung 35 if ( hdir.isEmpty() ) {
35 // such that we try it to create the dirs at startup here 36 QString hd ("C:/" );
36 if ( hdir == "C:\\" ) { // win 98 or ME 37 //QMessageBox::information(0,"hh",QDir::homeDirPath()+" xx" +hd );
37 QDir app_dir; 38 if ( QDir::homeDirPath().lower() == hd.lower() ) {
38 if ( !app_dir.exists("C:\\kdepim") ) 39 _putenv( "HOME=C:");
39 app_dir.mkdir ("C:\\kdepim"); 40 //QMessageBox::information(0,"hh",QString ( getenv( "HOME") ) );
40 if ( !app_dir.exists("C:\\kdepim\\apps") ) 41 }
41 app_dir.mkdir ("C:\\kdepim\\apps"); 42 } else {
42 if ( !app_dir.exists("C:\\kdepim\\config") ) 43 QDir app_dir;
43 app_dir.mkdir ("C:\\kdepim\\config"); 44 if ( !app_dir.exists(hdir) )
44 if ( !app_dir.exists("C:\\kdepim\\apps\\korganizer") ) 45 app_dir.mkdir (hdir);
45 app_dir.mkdir ("C:\\kdepim\\apps\\korganizer");
46 } 46 }
47#endif 47#endif
48#endif
48 bool exitHelp = false; 49 bool exitHelp = false;
49 if ( argc > 1 ) { 50 if ( argc > 1 ) {
50 QString command = argv[1]; 51 QString command = argv[1];
51 if ( command == "-help" ){ 52 if ( command == "-help" ){
52 printf("KO/Pi command line commands:\n"); 53 printf("KO/Pi command line commands:\n");
53 printf(" no command: Start KO/Pi in usual way\n"); 54 printf(" no command: Start KO/Pi in usual way\n");
54 printf(" -help: This output\n"); 55 printf(" -help: This output\n");
55 printf("Next Option: Open or Show after start:\n"); 56 printf("Next Option: Open or Show after start:\n");
56 printf(" -newTodo: New Todo dialog\n"); 57 printf(" -newTodo: New Todo dialog\n");
57 printf(" -newEvent: New Event dialog\n"); 58 printf(" -newEvent: New Event dialog\n");
58 printf(" -showList: List view\n"); 59 printf(" -showList: List view\n");
59 printf(" -showDay: Day view\n"); 60 printf(" -showDay: Day view\n");
60 printf(" -showWWeek: Work Week view\n"); 61 printf(" -showWWeek: Work Week view\n");
61 printf(" -showWeek: Week view\n"); 62 printf(" -showWeek: Week view\n");
62 printf(" -showTodo: Todo view\n"); 63 printf(" -showTodo: Todo view\n");
63 printf(" -showJournal: Journal view\n"); 64 printf(" -showJournal: Journal view\n");
64 printf(" -showKO: Next Days view\n"); 65 printf(" -showKO: Next Days view\n");
65 printf(" -showWNext: What's Next view\n"); 66 printf(" -showWNext: What's Next view\n");
66 printf(" -showNextXView: Next X View\n"); 67 printf(" -showNextXView: Next X View\n");
67 printf(" -new[Y] and -show[X] may be used togehther\n"); 68 printf(" -new[Y] and -show[X] may be used togehther\n");
68 printf(" KO/Pi is exiting now. Bye!\n"); 69 printf(" KO/Pi is exiting now. Bye!\n");
69 exitHelp = true; 70 exitHelp = true;
70 } 71 }
71 } 72 }
72 if ( ! exitHelp ) { 73 if ( ! exitHelp ) {
73 KGlobal::setAppName( "korganizer" ); 74 KGlobal::setAppName( "korganizer" );
74 QString fileName ; 75 QString fileName ;
75#ifndef DESKTOP_VERSION 76#ifndef DESKTOP_VERSION
76 fileName = getenv("QPEDIR"); 77 fileName = getenv("QPEDIR");
77 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/korganizer/"); 78 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/korganizer/");
78#else 79#else
79 fileName = qApp->applicationDirPath () + "/kdepim/korganizer/"; 80 fileName = qApp->applicationDirPath () + "/kdepim/korganizer/";
80 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); 81 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
81#endif 82#endif
82 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "korganizer"))); 83 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "korganizer")));
83 MainWindow m; 84 MainWindow m;
84#ifndef DESKTOP_VERSION 85#ifndef DESKTOP_VERSION
85 86
86 QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&m, SLOT(recieve( const QCString&, const QByteArray& ))); 87 QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&m, SLOT(recieve( const QCString&, const QByteArray& )));
87 a.showMainWidget(&m ); 88 a.showMainWidget(&m );
88#else 89#else
89 a.setMainWidget(&m ); 90 a.setMainWidget(&m );
90 m.show(); 91 m.show();
91 //m.resize( 800, 600 ); 92 //m.resize( 800, 600 );
92 QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit())); 93 QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
93#endif 94#endif
94 if ( argc > 1 ) { 95 if ( argc > 1 ) {
95 QCString command = argv[1]; 96 QCString command = argv[1];
96 if ( argc > 2 ) 97 if ( argc > 2 )
97 command += argv[2]; 98 command += argv[2];
98 qApp->processEvents(); 99 qApp->processEvents();
99 m.recieve(command, QByteArray() ); 100 m.recieve(command, QByteArray() );
100 101
101 } 102 }
102 103
103 a.exec(); 104 a.exec();
104 dumpMissing(); 105 dumpMissing();
105 106
106 KPimGlobalPrefs::instance()->writeConfig(); 107 KPimGlobalPrefs::instance()->writeConfig();
107 } 108 }
108 qDebug("KO: Bye! "); 109 qDebug("KO: Bye! ");
109} 110}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 7b07a2e..26ea1e2 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1,262 +1,264 @@
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#include "koimportoldialog.h" 70#include "koimportoldialog.h"
70#endif 71#endif
72#endif
71#include "mainwindow.h" 73#include "mainwindow.h"
72 74
73class KOex2phonePrefs : public QDialog 75class KOex2phonePrefs : public QDialog
74{ 76{
75 public: 77 public:
76 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 78 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
77 QDialog( parent, name, true ) 79 QDialog( parent, name, true )
78 { 80 {
79 setCaption( i18n("Export to phone options") ); 81 setCaption( i18n("Export to phone options") );
80 QVBoxLayout* lay = new QVBoxLayout( this ); 82 QVBoxLayout* lay = new QVBoxLayout( this );
81 lay->setSpacing( 3 ); 83 lay->setSpacing( 3 );
82 lay->setMargin( 3 ); 84 lay->setMargin( 3 );
83 QLabel *lab; 85 QLabel *lab;
84 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 86 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
85 lab->setAlignment (AlignHCenter ); 87 lab->setAlignment (AlignHCenter );
86 QHBox* temphb; 88 QHBox* temphb;
87 temphb = new QHBox( this ); 89 temphb = new QHBox( this );
88 new QLabel( i18n("I/O device: "), temphb ); 90 new QLabel( i18n("I/O device: "), temphb );
89 mPhoneDevice = new QLineEdit( temphb); 91 mPhoneDevice = new QLineEdit( temphb);
90 lay->addWidget( temphb ); 92 lay->addWidget( temphb );
91 temphb = new QHBox( this ); 93 temphb = new QHBox( this );
92 new QLabel( i18n("Connection: "), temphb ); 94 new QLabel( i18n("Connection: "), temphb );
93 mPhoneConnection = new QLineEdit( temphb); 95 mPhoneConnection = new QLineEdit( temphb);
94 lay->addWidget( temphb ); 96 lay->addWidget( temphb );
95 temphb = new QHBox( this ); 97 temphb = new QHBox( this );
96 new QLabel( i18n("Model(opt.): "), temphb ); 98 new QLabel( i18n("Model(opt.): "), temphb );
97 mPhoneModel = new QLineEdit( temphb); 99 mPhoneModel = new QLineEdit( temphb);
98 lay->addWidget( temphb ); 100 lay->addWidget( temphb );
99 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); 101 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this );
100 mWriteBackFuture->setChecked( true ); 102 mWriteBackFuture->setChecked( true );
101 lay->addWidget( mWriteBackFuture ); 103 lay->addWidget( mWriteBackFuture );
102 temphb = new QHBox( this ); 104 temphb = new QHBox( this );
103 new QLabel( i18n("Max. weeks in future: ") , temphb ); 105 new QLabel( i18n("Max. weeks in future: ") , temphb );
104 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); 106 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb);
105 mWriteBackFutureWeeks->setValue( 8 ); 107 mWriteBackFutureWeeks->setValue( 8 );
106 lay->addWidget( temphb ); 108 lay->addWidget( temphb );
107 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); 109 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) );
108 lab->setAlignment (AlignHCenter ); 110 lab->setAlignment (AlignHCenter );
109 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 111 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
110 lay->addWidget( ok ); 112 lay->addWidget( ok );
111 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 113 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
112 lay->addWidget( cancel ); 114 lay->addWidget( cancel );
113 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 115 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
114 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 116 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
115 resize( 220, 240 ); 117 resize( 220, 240 );
116 qApp->processEvents(); 118 qApp->processEvents();
117 int dw = QApplication::desktop()->width(); 119 int dw = QApplication::desktop()->width();
118 int dh = QApplication::desktop()->height(); 120 int dh = QApplication::desktop()->height();
119 move( (dw-width())/2, (dh - height() )/2 ); 121 move( (dw-width())/2, (dh - height() )/2 );
120 } 122 }
121 123
122public: 124public:
123 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 125 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
124 QCheckBox* mWriteBackFuture; 126 QCheckBox* mWriteBackFuture;
125 QSpinBox* mWriteBackFutureWeeks; 127 QSpinBox* mWriteBackFutureWeeks;
126}; 128};
127 129
128int globalFlagBlockStartup; 130int globalFlagBlockStartup;
129MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : 131MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
130 QMainWindow( parent, name ) 132 QMainWindow( parent, name )
131{ 133{
132 134
133#ifdef DESKTOP_VERSION 135#ifdef DESKTOP_VERSION
134 setFont( QFont("Arial"), 14 ); 136 setFont( QFont("Arial"), 14 );
135#endif 137#endif
136 mClosed = false; 138 mClosed = false;
137 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 139 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
138 QString confFile = locateLocal("config","korganizerrc"); 140 QString confFile = locateLocal("config","korganizerrc");
139 QFileInfo finf ( confFile ); 141 QFileInfo finf ( confFile );
140 bool showWarning = !finf.exists(); 142 bool showWarning = !finf.exists();
141 setIcon(SmallIcon( "ko24" ) ); 143 setIcon(SmallIcon( "ko24" ) );
142 mBlockAtStartup = true; 144 mBlockAtStartup = true;
143 mFlagKeyPressed = false; 145 mFlagKeyPressed = false;
144 setCaption("KOrganizer/Pi"); 146 setCaption("KOrganizer/Pi");
145 KOPrefs *p = KOPrefs::instance(); 147 KOPrefs *p = KOPrefs::instance();
146 KPimGlobalPrefs::instance()->setGlobalConfig(); 148 KPimGlobalPrefs::instance()->setGlobalConfig();
147 if ( p->mHourSize > 18 ) 149 if ( p->mHourSize > 18 )
148 p->mHourSize = 18; 150 p->mHourSize = 18;
149 QMainWindow::ToolBarDock tbd; 151 QMainWindow::ToolBarDock tbd;
150 if ( p->mToolBarHor ) { 152 if ( p->mToolBarHor ) {
151 if ( p->mToolBarUp ) 153 if ( p->mToolBarUp )
152 tbd = Bottom; 154 tbd = Bottom;
153 else 155 else
154 tbd = Top; 156 tbd = Top;
155 } 157 }
156 else { 158 else {
157 if ( p->mToolBarUp ) 159 if ( p->mToolBarUp )
158 tbd = Right; 160 tbd = Right;
159 else 161 else
160 tbd = Left; 162 tbd = Left;
161 } 163 }
162 if ( KOPrefs::instance()->mUseAppColors ) 164 if ( KOPrefs::instance()->mUseAppColors )
163 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 165 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
164 globalFlagBlockStartup = 1; 166 globalFlagBlockStartup = 1;
165 iconToolBar = new QPEToolBar( this ); 167 iconToolBar = new QPEToolBar( this );
166 addToolBar (iconToolBar , tbd ); 168 addToolBar (iconToolBar , tbd );
167 mCalendarModifiedFlag = false; 169 mCalendarModifiedFlag = false;
168 170
169 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); 171 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this );
170 splash->setAlignment ( AlignCenter ); 172 splash->setAlignment ( AlignCenter );
171 setCentralWidget( splash ); 173 setCentralWidget( splash );
172#ifndef DESKTOP_VERSION 174#ifndef DESKTOP_VERSION
173 showMaximized(); 175 showMaximized();
174#endif 176#endif
175 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); 177 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ());
176 setDefaultPreferences(); 178 setDefaultPreferences();
177 mCalendar = new CalendarLocal(); 179 mCalendar = new CalendarLocal();
178 mView = new CalendarView( mCalendar, this,"mCalendar " ); 180 mView = new CalendarView( mCalendar, this,"mCalendar " );
179 mView->hide(); 181 mView->hide();
180 //mView->resize(splash->size() ); 182 //mView->resize(splash->size() );
181 initActions(); 183 initActions();
182 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu); 184 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu);
183 mSyncManager->setBlockSave(false); 185 mSyncManager->setBlockSave(false);
184 mView->setSyncManager(mSyncManager); 186 mView->setSyncManager(mSyncManager);
185#ifndef DESKTOP_VERSION 187#ifndef DESKTOP_VERSION
186 iconToolBar->show(); 188 iconToolBar->show();
187 qApp->processEvents(); 189 qApp->processEvents();
188#endif 190#endif
189 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); 191 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ());
190 int vh = height() ; 192 int vh = height() ;
191 int vw = width(); 193 int vw = width();
192 //qDebug("Toolbar hei %d ",iconToolBar->height() ); 194 //qDebug("Toolbar hei %d ",iconToolBar->height() );
193 if ( iconToolBar->orientation () == Qt:: Horizontal ) { 195 if ( iconToolBar->orientation () == Qt:: Horizontal ) {
194 vh -= iconToolBar->height(); 196 vh -= iconToolBar->height();
195 } else { 197 } else {
196 vw -= iconToolBar->height(); 198 vw -= iconToolBar->height();
197 } 199 }
198 //mView->setMaximumSize( splash->size() ); 200 //mView->setMaximumSize( splash->size() );
199 //mView->resize( splash->size() ); 201 //mView->resize( splash->size() );
200 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 202 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
201 mView->readSettings(); 203 mView->readSettings();
202 bool newFile = false; 204 bool newFile = false;
203 if( !QFile::exists( defaultFileName() ) ) { 205 if( !QFile::exists( defaultFileName() ) ) {
204 QFileInfo finfo ( defaultFileName() ); 206 QFileInfo finfo ( defaultFileName() );
205 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); 207 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics");
206 qDebug("oldfile %s ", oldFile.latin1()); 208 qDebug("oldfile %s ", oldFile.latin1());
207 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"; 209 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";
208 finfo.setFile( oldFile ); 210 finfo.setFile( oldFile );
209 if (finfo.exists() ) { 211 if (finfo.exists() ) {
210 KMessageBox::information( this, message); 212 KMessageBox::information( this, message);
211 mView->openCalendar( oldFile ); 213 mView->openCalendar( oldFile );
212 qApp->processEvents(); 214 qApp->processEvents();
213 } else { 215 } else {
214 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); 216 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics");
215 finfo.setFile( oldFile ); 217 finfo.setFile( oldFile );
216 if (finfo.exists() ) { 218 if (finfo.exists() ) {
217 KMessageBox::information( this, message); 219 KMessageBox::information( this, message);
218 mView->openCalendar( oldFile ); 220 mView->openCalendar( oldFile );
219 qApp->processEvents(); 221 qApp->processEvents();
220 } 222 }
221 } 223 }
222 mView->saveCalendar( defaultFileName() ); 224 mView->saveCalendar( defaultFileName() );
223 newFile = true; 225 newFile = true;
224 } 226 }
225 227
226 QTime neededSaveTime = QDateTime::currentDateTime().time(); 228 QTime neededSaveTime = QDateTime::currentDateTime().time();
227 mView->openCalendar( defaultFileName() ); 229 mView->openCalendar( defaultFileName() );
228 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 230 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
229 qDebug("KO: Calendar loading time: %d ms",msNeeded ); 231 qDebug("KO: Calendar loading time: %d ms",msNeeded );
230 232
231 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) { 233 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) {
232 KOPrefs::instance()->setCategoryDefaults(); 234 KOPrefs::instance()->setCategoryDefaults();
233 int count = mView->addCategories(); 235 int count = mView->addCategories();
234 } 236 }
235 processIncidenceSelection( 0 ); 237 processIncidenceSelection( 0 );
236 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), 238 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ),
237 SLOT( processIncidenceSelection( Incidence * ) ) ); 239 SLOT( processIncidenceSelection( Incidence * ) ) );
238 connect( mView, SIGNAL( modifiedChanged( bool ) ), 240 connect( mView, SIGNAL( modifiedChanged( bool ) ),
239 SLOT( slotModifiedChanged( bool ) ) ); 241 SLOT( slotModifiedChanged( bool ) ) );
240 242
241 243
242 connect( mView, SIGNAL( tempDisableBR(bool) ), 244 connect( mView, SIGNAL( tempDisableBR(bool) ),
243 SLOT( disableBR(bool) ) ); 245 SLOT( disableBR(bool) ) );
244 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) ); 246 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) );
245 mView->setModified( false ); 247 mView->setModified( false );
246 mBlockAtStartup = false; 248 mBlockAtStartup = false;
247 mView->setModified( false ); 249 mView->setModified( false );
248 setCentralWidget( mView ); 250 setCentralWidget( mView );
249 globalFlagBlockStartup = 0; 251 globalFlagBlockStartup = 0;
250 mView->show(); 252 mView->show();
251 delete splash; 253 delete splash;
252 if ( newFile ) 254 if ( newFile )
253 mView->updateConfig(); 255 mView->updateConfig();
254 // qApp->processEvents(); 256 // qApp->processEvents();
255 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 257 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
256 //fillSyncMenu(); 258 //fillSyncMenu();
257 259
258 260
259 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) ); 261 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) );
260 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); 262 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
261 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); 263 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
262 mSyncManager->setDefaultFileName( defaultFileName()); 264 mSyncManager->setDefaultFileName( defaultFileName());
@@ -589,385 +591,385 @@ void MainWindow::initActions()
589 ne_action->addTo( actionMenu ); 591 ne_action->addTo( actionMenu );
590 connect( ne_action, SIGNAL( activated() ), 592 connect( ne_action, SIGNAL( activated() ),
591 mView, SLOT( newEvent() ) ); 593 mView, SLOT( newEvent() ) );
592 icon = loadPixmap( pathString + "newtodo" ); 594 icon = loadPixmap( pathString + "newtodo" );
593 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 595 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
594 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 596 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
595 nt_action->addTo( actionMenu ); 597 nt_action->addTo( actionMenu );
596 connect( nt_action, SIGNAL( activated() ), 598 connect( nt_action, SIGNAL( activated() ),
597 mView, SLOT( newTodo() ) ); 599 mView, SLOT( newTodo() ) );
598 icon = loadPixmap( pathString + "navi" ); 600 icon = loadPixmap( pathString + "navi" );
599 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); 601 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
600 action->addTo( viewMenu ); 602 action->addTo( viewMenu );
601 connect( action, SIGNAL( activated() ), 603 connect( action, SIGNAL( activated() ),
602 mView, SLOT( toggleDateNavigatorWidget() ) ); 604 mView, SLOT( toggleDateNavigatorWidget() ) );
603 icon = loadPixmap( pathString + "filter" ); 605 icon = loadPixmap( pathString + "filter" );
604 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); 606 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this );
605 action->addTo( viewMenu ); 607 action->addTo( viewMenu );
606 connect( action, SIGNAL( activated() ), 608 connect( action, SIGNAL( activated() ),
607 mView, SLOT( toggleFilter() ) ); 609 mView, SLOT( toggleFilter() ) );
608 action = new QAction( i18n("Toggle Allday"), i18n("Toggle Allday"), 0, this ); 610 action = new QAction( i18n("Toggle Allday"), i18n("Toggle Allday"), 0, this );
609 action->addTo( viewMenu ); 611 action->addTo( viewMenu );
610 connect( action, SIGNAL( activated() ), 612 connect( action, SIGNAL( activated() ),
611 mView, SLOT( toggleAllDaySize() ) ); 613 mView, SLOT( toggleAllDaySize() ) );
612 614
613 viewMenu->insertSeparator(); 615 viewMenu->insertSeparator();
614 icon = loadPixmap( pathString + "picker" ); 616 icon = loadPixmap( pathString + "picker" );
615 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); 617 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this );
616 action->addTo( viewMenu ); 618 action->addTo( viewMenu );
617 connect( action, SIGNAL( activated() ), 619 connect( action, SIGNAL( activated() ),
618 mView, SLOT( showDatePicker() ) ); 620 mView, SLOT( showDatePicker() ) );
619 action->addTo( iconToolBar ); 621 action->addTo( iconToolBar );
620 viewMenu->insertSeparator(); 622 viewMenu->insertSeparator();
621 icon = loadPixmap( pathString + "list" ); 623 icon = loadPixmap( pathString + "list" );
622 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); 624 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 );
623 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); 625 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this );
624 showlist_action->addTo( viewMenu ); 626 showlist_action->addTo( viewMenu );
625 connect( showlist_action, SIGNAL( activated() ), 627 connect( showlist_action, SIGNAL( activated() ),
626 mView->viewManager(), SLOT( showListView() ) ); 628 mView->viewManager(), SLOT( showListView() ) );
627 629
628 630
629 icon = loadPixmap( pathString + "day" ); 631 icon = loadPixmap( pathString + "day" );
630 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); 632 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 );
631 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); 633 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this );
632 day1_action->addTo( viewMenu ); 634 day1_action->addTo( viewMenu );
633 // action->addTo( toolBar ); 635 // action->addTo( toolBar );
634 connect( day1_action, SIGNAL( activated() ), 636 connect( day1_action, SIGNAL( activated() ),
635 mView->viewManager(), SLOT( showDayView() ) ); 637 mView->viewManager(), SLOT( showDayView() ) );
636 638
637 icon = loadPixmap( pathString + "workweek" ); 639 icon = loadPixmap( pathString + "workweek" );
638 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); 640 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 );
639 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); 641 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this );
640 day5_action->addTo( viewMenu ); 642 day5_action->addTo( viewMenu );
641 connect( day5_action, SIGNAL( activated() ), 643 connect( day5_action, SIGNAL( activated() ),
642 mView->viewManager(), SLOT( showWorkWeekView() ) ); 644 mView->viewManager(), SLOT( showWorkWeekView() ) );
643 645
644 icon = loadPixmap( pathString + "week" ); 646 icon = loadPixmap( pathString + "week" );
645 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); 647 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 );
646 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); 648 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this );
647 day7_action->addTo( viewMenu ); 649 day7_action->addTo( viewMenu );
648 connect( day7_action, SIGNAL( activated() ), 650 connect( day7_action, SIGNAL( activated() ),
649 mView->viewManager(), SLOT( showWeekView() ) ); 651 mView->viewManager(), SLOT( showWeekView() ) );
650 652
651 icon = loadPixmap( pathString + "month" ); 653 icon = loadPixmap( pathString + "month" );
652 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); 654 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 );
653 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); 655 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this );
654 month_action->addTo( viewMenu ); 656 month_action->addTo( viewMenu );
655 connect( month_action, SIGNAL( activated() ), 657 connect( month_action, SIGNAL( activated() ),
656 mView->viewManager(), SLOT( showMonthView() ) ); 658 mView->viewManager(), SLOT( showMonthView() ) );
657 659
658 icon = loadPixmap( pathString + "todo" ); 660 icon = loadPixmap( pathString + "todo" );
659 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); 661 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 );
660 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); 662 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this );
661 todoview_action->addTo( viewMenu ); 663 todoview_action->addTo( viewMenu );
662 connect( todoview_action, SIGNAL( activated() ), 664 connect( todoview_action, SIGNAL( activated() ),
663 mView->viewManager(), SLOT( showTodoView() ) ); 665 mView->viewManager(), SLOT( showTodoView() ) );
664 666
665 icon = loadPixmap( pathString + "journal" ); 667 icon = loadPixmap( pathString + "journal" );
666 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); 668 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 );
667 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); 669 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this );
668 viewjournal_action->addTo( viewMenu ); 670 viewjournal_action->addTo( viewMenu );
669 connect( viewjournal_action, SIGNAL( activated() ), 671 connect( viewjournal_action, SIGNAL( activated() ),
670 mView->viewManager(), SLOT( showJournalView() ) ); 672 mView->viewManager(), SLOT( showJournalView() ) );
671 673
672 icon = loadPixmap( pathString + "xdays" ); 674 icon = loadPixmap( pathString + "xdays" );
673 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 ); 675 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 );
674 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); 676 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this );
675 xdays_action->addTo( viewMenu ); 677 xdays_action->addTo( viewMenu );
676 connect( xdays_action, SIGNAL( activated() ), 678 connect( xdays_action, SIGNAL( activated() ),
677 mView->viewManager(), SLOT( showNextXView() ) ); 679 mView->viewManager(), SLOT( showNextXView() ) );
678 680
679 icon = loadPixmap( pathString + "whatsnext" ); 681 icon = loadPixmap( pathString + "whatsnext" );
680 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 ); 682 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 );
681 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); 683 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this );
682 whatsnext_action->addTo( viewMenu ); 684 whatsnext_action->addTo( viewMenu );
683 connect( whatsnext_action, SIGNAL( activated() ), 685 connect( whatsnext_action, SIGNAL( activated() ),
684 mView->viewManager(), SLOT( showWhatsNextView() ) ); 686 mView->viewManager(), SLOT( showWhatsNextView() ) );
685 687
686#if 0 688#if 0
687 action = new QAction( "view_timespan", "Time Span", 0, this ); 689 action = new QAction( "view_timespan", "Time Span", 0, this );
688 action->addTo( viewMenu ); 690 action->addTo( viewMenu );
689 connect( action, SIGNAL( activated() ), 691 connect( action, SIGNAL( activated() ),
690 mView->viewManager(), SLOT( showTimeSpanView() ) ); 692 mView->viewManager(), SLOT( showTimeSpanView() ) );
691#endif 693#endif
692 694
693 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, 695 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0,
694 this ); 696 this );
695 mNewSubTodoAction->addTo( actionMenu ); 697 mNewSubTodoAction->addTo( actionMenu );
696 connect( mNewSubTodoAction, SIGNAL( activated() ), 698 connect( mNewSubTodoAction, SIGNAL( activated() ),
697 mView, SLOT( newSubTodo() ) ); 699 mView, SLOT( newSubTodo() ) );
698 700
699 actionMenu->insertSeparator(); 701 actionMenu->insertSeparator();
700 702
701 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); 703 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this );
702 mShowAction->addTo( actionMenu ); 704 mShowAction->addTo( actionMenu );
703 connect( mShowAction, SIGNAL( activated() ), 705 connect( mShowAction, SIGNAL( activated() ),
704 mView, SLOT( showIncidence() ) ); 706 mView, SLOT( showIncidence() ) );
705 707
706 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); 708 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this );
707 mEditAction->addTo( actionMenu ); 709 mEditAction->addTo( actionMenu );
708 connect( mEditAction, SIGNAL( activated() ), 710 connect( mEditAction, SIGNAL( activated() ),
709 mView, SLOT( editIncidence() ) ); 711 mView, SLOT( editIncidence() ) );
710 712
711 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); 713 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this );
712 mDeleteAction->addTo( actionMenu ); 714 mDeleteAction->addTo( actionMenu );
713 connect( mDeleteAction, SIGNAL( activated() ), 715 connect( mDeleteAction, SIGNAL( activated() ),
714 mView, SLOT( deleteIncidence() ) ); 716 mView, SLOT( deleteIncidence() ) );
715 717
716 718
717 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); 719 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this );
718 mCloneAction->addTo( actionMenu ); 720 mCloneAction->addTo( actionMenu );
719 connect( mCloneAction, SIGNAL( activated() ), 721 connect( mCloneAction, SIGNAL( activated() ),
720 mView, SLOT( cloneIncidence() ) ); 722 mView, SLOT( cloneIncidence() ) );
721 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); 723 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this );
722 mMoveAction->addTo( actionMenu ); 724 mMoveAction->addTo( actionMenu );
723 connect( mMoveAction, SIGNAL( activated() ), 725 connect( mMoveAction, SIGNAL( activated() ),
724 mView, SLOT( moveIncidence() ) ); 726 mView, SLOT( moveIncidence() ) );
725 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); 727 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this );
726 mBeamAction->addTo( actionMenu ); 728 mBeamAction->addTo( actionMenu );
727 connect( mBeamAction, SIGNAL( activated() ), 729 connect( mBeamAction, SIGNAL( activated() ),
728 mView, SLOT( beamIncidence() ) ); 730 mView, SLOT( beamIncidence() ) );
729 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); 731 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this );
730 mCancelAction->addTo( actionMenu ); 732 mCancelAction->addTo( actionMenu );
731 connect( mCancelAction, SIGNAL( activated() ), 733 connect( mCancelAction, SIGNAL( activated() ),
732 mView, SLOT( toggleCancelIncidence() ) ); 734 mView, SLOT( toggleCancelIncidence() ) );
733 735
734 actionMenu->insertSeparator(); 736 actionMenu->insertSeparator();
735 737
736 action = new QAction( "purge_completed", i18n("Purge Completed"), 0, 738 action = new QAction( "purge_completed", i18n("Purge Completed"), 0,
737 this ); 739 this );
738 action->addTo( actionMenu ); 740 action->addTo( actionMenu );
739 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); 741 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) );
740 742
741 icon = loadPixmap( pathString + "search" ); 743 icon = loadPixmap( pathString + "search" );
742 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); 744 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this );
743 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4); 745 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4);
744 search_action->addTo( actionMenu ); 746 search_action->addTo( actionMenu );
745 connect( search_action, SIGNAL( activated() ), 747 connect( search_action, SIGNAL( activated() ),
746 mView->dialogManager(), SLOT( showSearchDialog() ) ); 748 mView->dialogManager(), SLOT( showSearchDialog() ) );
747 749
748 icon = loadPixmap( pathString + "today" ); 750 icon = loadPixmap( pathString + "today" );
749 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130); 751 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130);
750 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); 752 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this );
751 today_action->addTo( actionMenu ); 753 today_action->addTo( actionMenu );
752 connect( today_action, SIGNAL( activated() ), 754 connect( today_action, SIGNAL( activated() ),
753 mView, SLOT( goToday() ) ); 755 mView, SLOT( goToday() ) );
754 756
755 if ( KOPrefs::instance()->mShowFullMenu ) { 757 if ( KOPrefs::instance()->mShowFullMenu ) {
756 actionMenu->insertSeparator(); 758 actionMenu->insertSeparator();
757 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); 759 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu );
758 760
759 } 761 }
760 // actionMenu->insertSeparator(); 762 // actionMenu->insertSeparator();
761 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, 763 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0,
762 this ); 764 this );
763 action->addTo( importMenu ); 765 action->addTo( importMenu );
764 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); 766 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) );
765 action = new QAction( "import_quick", i18n("Import last file"), 0, 767 action = new QAction( "import_quick", i18n("Import last file"), 0,
766 this ); 768 this );
767 action->addTo( importMenu ); 769 action->addTo( importMenu );
768 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); 770 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) );
769 importMenu->insertSeparator(); 771 importMenu->insertSeparator();
770 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, 772 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0,
771 this ); 773 this );
772 action->addTo( importMenu ); 774 action->addTo( importMenu );
773 connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); 775 connect( action, SIGNAL( activated() ), SLOT( importBday() ) );
774#ifndef DESKTOP_VERSION 776#ifndef DESKTOP_VERSION
775 importMenu->insertSeparator(); 777 importMenu->insertSeparator();
776 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, 778 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
777 this ); 779 this );
778 action->addTo( importMenu ); 780 action->addTo( importMenu );
779 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); 781 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
780#else 782#else
781#ifdef _WIN32_ 783#ifdef _OL_IMPORT_
782 importMenu->insertSeparator(); 784 importMenu->insertSeparator();
783 action = new QAction( "import_ol", i18n("Import from OL"), 0, 785 action = new QAction( "import_ol", i18n("Import from OL"), 0,
784 this ); 786 this );
785 action->addTo( importMenu ); 787 action->addTo( importMenu );
786 connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); 788 connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
787#endif 789#endif
788#endif 790#endif
789 791
790 importMenu->insertSeparator(); 792 importMenu->insertSeparator();
791 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, 793 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
792 this ); 794 this );
793 action->addTo( importMenu ); 795 action->addTo( importMenu );
794 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); 796 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
795 797
796 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, 798 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0,
797 this ); 799 this );
798 action->addTo( importMenu ); 800 action->addTo( importMenu );
799 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); 801 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
800 802
801 importMenu->insertSeparator(); 803 importMenu->insertSeparator();
802 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, 804 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0,
803 this ); 805 this );
804 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); 806 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) );
805 807
806 808
807 //LR 809 //LR
808 QPopupMenu *ex2phone = new QPopupMenu( this ); 810 QPopupMenu *ex2phone = new QPopupMenu( this );
809 ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 811 ex2phone->insertItem(i18n("Complete calendar..."), 1 );
810 ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 812 ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
811 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) ); 813 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) );
812 importMenu->insertItem( i18n("Export to phone"), ex2phone ); 814 importMenu->insertItem( i18n("Export to phone"), ex2phone );
813 815
814 importMenu->insertSeparator(); 816 importMenu->insertSeparator();
815 action = new QAction( "manage cat", i18n("Manage new categories..."), 0, 817 action = new QAction( "manage cat", i18n("Manage new categories..."), 0,
816 this ); 818 this );
817 action->addTo( importMenu ); 819 action->addTo( importMenu );
818 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); 820 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) );
819#ifndef DESKTOP_VERSION 821#ifndef DESKTOP_VERSION
820 importMenu->insertSeparator(); 822 importMenu->insertSeparator();
821 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, 823 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0,
822 this ); 824 this );
823 brAction->addTo( importMenu ); 825 brAction->addTo( importMenu );
824 brAction->setToggleAction (true ) ; 826 brAction->setToggleAction (true ) ;
825 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); 827 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) );
826 828
827 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, 829 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0,
828 this ); 830 this );
829 action->addTo( importMenu ); 831 action->addTo( importMenu );
830 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); 832 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) );
831 833
832 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, 834 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0,
833 this ); 835 this );
834 action->addTo( importMenu ); 836 action->addTo( importMenu );
835 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); 837 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) );
836#else 838#else
837 importMenu->insertSeparator(); 839 importMenu->insertSeparator();
838 icon = loadPixmap( pathString + "print" ); 840 icon = loadPixmap( pathString + "print" );
839 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); 841 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this );
840 action->addTo( importMenu ); 842 action->addTo( importMenu );
841 connect( action, SIGNAL( activated() ), 843 connect( action, SIGNAL( activated() ),
842 this, SLOT( printCal() ) ); 844 this, SLOT( printCal() ) );
843 845
844 icon = loadPixmap( pathString + "print" ); 846 icon = loadPixmap( pathString + "print" );
845 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); 847 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this );
846 action->addTo( importMenu ); 848 action->addTo( importMenu );
847 connect( action, SIGNAL( activated() ), 849 connect( action, SIGNAL( activated() ),
848 this, SLOT( printSel() ) ); 850 this, SLOT( printSel() ) );
849 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); 851 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this );
850 action->addTo( importMenu ); 852 action->addTo( importMenu );
851 connect( action, SIGNAL( activated() ), 853 connect( action, SIGNAL( activated() ),
852 mView->viewManager(), SIGNAL( printWNV() ) ); 854 mView->viewManager(), SIGNAL( printWNV() ) );
853#endif 855#endif
854 importMenu->insertSeparator(); 856 importMenu->insertSeparator();
855 action = new QAction( "beam all", i18n("Save"), 0, 857 action = new QAction( "beam all", i18n("Save"), 0,
856 this ); 858 this );
857 action->addTo( importMenu ); 859 action->addTo( importMenu );
858 connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); 860 connect( action, SIGNAL( activated() ), this, SLOT( save() ) );
859 action = new QAction( "beam all", i18n("Exit (+save)"), 0, 861 action = new QAction( "beam all", i18n("Exit (+save)"), 0,
860 this ); 862 this );
861 action->addTo( importMenu ); 863 action->addTo( importMenu );
862 connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); 864 connect( action, SIGNAL( activated() ), this, SLOT( close() ) );
863 865
864 //menuBar->insertItem( "Configure",configureMenu ); 866 //menuBar->insertItem( "Configure",configureMenu );
865 //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); 867 //configureMenu->insertItem( "Toolbar",configureToolBarMenu );
866 icon = loadPixmap( "korganizer/korganizer" ); 868 icon = loadPixmap( "korganizer/korganizer" );
867 869
868 action = new QAction( "Whats New", i18n("What's new?"), 0,this ); 870 action = new QAction( "Whats New", i18n("What's new?"), 0,this );
869 action->addTo( helpMenu ); 871 action->addTo( helpMenu );
870 connect( action, SIGNAL( activated() ), 872 connect( action, SIGNAL( activated() ),
871 SLOT( whatsNew() ) ); 873 SLOT( whatsNew() ) );
872 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); 874 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this );
873 action->addTo( helpMenu ); 875 action->addTo( helpMenu );
874 connect( action, SIGNAL( activated() ), 876 connect( action, SIGNAL( activated() ),
875 SLOT( features() ) ); 877 SLOT( features() ) );
876 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); 878 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this );
877 action->addTo( helpMenu ); 879 action->addTo( helpMenu );
878 connect( action, SIGNAL( activated() ), 880 connect( action, SIGNAL( activated() ),
879 SLOT( keyBindings() ) ); 881 SLOT( keyBindings() ) );
880 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); 882 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this );
881 action->addTo( helpMenu ); 883 action->addTo( helpMenu );
882 connect( action, SIGNAL( activated() ), 884 connect( action, SIGNAL( activated() ),
883 SLOT( synchowto() ) ); 885 SLOT( synchowto() ) );
884 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); 886 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this );
885 action->addTo( helpMenu ); 887 action->addTo( helpMenu );
886 connect( action, SIGNAL( activated() ), 888 connect( action, SIGNAL( activated() ),
887 SLOT( kdesynchowto() ) ); 889 SLOT( kdesynchowto() ) );
888 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); 890 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this );
889 action->addTo( helpMenu ); 891 action->addTo( helpMenu );
890 connect( action, SIGNAL( activated() ), 892 connect( action, SIGNAL( activated() ),
891 SLOT( multisynchowto() ) ); 893 SLOT( multisynchowto() ) );
892 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); 894 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this );
893 action->addTo( helpMenu ); 895 action->addTo( helpMenu );
894 connect( action, SIGNAL( activated() ), 896 connect( action, SIGNAL( activated() ),
895 SLOT( aboutAutoSaving() ) ); 897 SLOT( aboutAutoSaving() ) );
896 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this ); 898 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this );
897 action->addTo( helpMenu ); 899 action->addTo( helpMenu );
898 connect( action, SIGNAL( activated() ), 900 connect( action, SIGNAL( activated() ),
899 SLOT( aboutKnownBugs() ) ); 901 SLOT( aboutKnownBugs() ) );
900 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this ); 902 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this );
901 action->addTo( helpMenu ); 903 action->addTo( helpMenu );
902 connect( action, SIGNAL( activated() ), 904 connect( action, SIGNAL( activated() ),
903 SLOT( usertrans() ) ); 905 SLOT( usertrans() ) );
904 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this ); 906 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this );
905 action->addTo( helpMenu ); 907 action->addTo( helpMenu );
906 connect( action, SIGNAL( activated() ), 908 connect( action, SIGNAL( activated() ),
907 SLOT( faq() ) ); 909 SLOT( faq() ) );
908 action = new QAction( "licence", i18n("Licence..."), 0, this ); 910 action = new QAction( "licence", i18n("Licence..."), 0, this );
909 action->addTo( helpMenu ); 911 action->addTo( helpMenu );
910 connect( action, SIGNAL( activated() ), 912 connect( action, SIGNAL( activated() ),
911 SLOT( licence() ) ); 913 SLOT( licence() ) );
912 action = new QAction( "about", i18n("About..."), 0, this ); 914 action = new QAction( "about", i18n("About..."), 0, this );
913 action->addTo( helpMenu ); 915 action->addTo( helpMenu );
914 connect( action, SIGNAL( activated() ), 916 connect( action, SIGNAL( activated() ),
915 SLOT( about() ) ); 917 SLOT( about() ) );
916 //menuBar->insertSeparator(); 918 //menuBar->insertSeparator();
917 919
918 // ****************************************************** 920 // ******************************************************
919 // menubar icons 921 // menubar icons
920 922
921 923
922 iconToolBar->setHorizontalStretchable (true ); 924 iconToolBar->setHorizontalStretchable (true );
923 //menuBar->insertItem( iconToolBar ); 925 //menuBar->insertItem( iconToolBar );
924 //xdays_action 926 //xdays_action
925 if (p-> mShowIconNewEvent) 927 if (p-> mShowIconNewEvent)
926 ne_action->addTo( iconToolBar ); 928 ne_action->addTo( iconToolBar );
927 if (p->mShowIconNewTodo ) 929 if (p->mShowIconNewTodo )
928 nt_action->addTo( iconToolBar ); 930 nt_action->addTo( iconToolBar );
929 if (p-> mShowIconSearch) 931 if (p-> mShowIconSearch)
930 search_action->addTo( iconToolBar ); 932 search_action->addTo( iconToolBar );
931 if (p-> mShowIconNext) 933 if (p-> mShowIconNext)
932 whatsnext_action->addTo( iconToolBar ); 934 whatsnext_action->addTo( iconToolBar );
933 if (p-> mShowIconNextDays) 935 if (p-> mShowIconNextDays)
934 xdays_action->addTo( iconToolBar ); 936 xdays_action->addTo( iconToolBar );
935 if (p-> mShowIconList) 937 if (p-> mShowIconList)
936 showlist_action->addTo( iconToolBar ); 938 showlist_action->addTo( iconToolBar );
937 if (p-> mShowIconDay1) 939 if (p-> mShowIconDay1)
938 day1_action->addTo( iconToolBar ); 940 day1_action->addTo( iconToolBar );
939 if (p-> mShowIconDay5) 941 if (p-> mShowIconDay5)
940 day5_action->addTo( iconToolBar ); 942 day5_action->addTo( iconToolBar );
941 if (p-> mShowIconDay7) 943 if (p-> mShowIconDay7)
942 day7_action->addTo( iconToolBar ); 944 day7_action->addTo( iconToolBar );
943 if (p-> mShowIconMonth) 945 if (p-> mShowIconMonth)
944 month_action->addTo( iconToolBar ); 946 month_action->addTo( iconToolBar );
945 if (p-> mShowIconTodoview) 947 if (p-> mShowIconTodoview)
946 todoview_action->addTo( iconToolBar ); 948 todoview_action->addTo( iconToolBar );
947 if (p-> mShowIconJournal) 949 if (p-> mShowIconJournal)
948 viewjournal_action->addTo( iconToolBar ); 950 viewjournal_action->addTo( iconToolBar );
949 icon = loadPixmap( pathString + "2leftarrowB" ); 951 icon = loadPixmap( pathString + "2leftarrowB" );
950 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14); 952 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14);
951 if (p-> mShowIconBackFast) { 953 if (p-> mShowIconBackFast) {
952 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this ); 954 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this );
953 connect( action, SIGNAL( activated() ), 955 connect( action, SIGNAL( activated() ),
954 mView, SLOT( goPreviousMonth() ) ); 956 mView, SLOT( goPreviousMonth() ) );
955 action->addTo( iconToolBar ); 957 action->addTo( iconToolBar );
956 } 958 }
957 icon = loadPixmap( pathString + "1leftarrowB" ); 959 icon = loadPixmap( pathString + "1leftarrowB" );
958 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15); 960 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15);
959 if (p-> mShowIconBack) { 961 if (p-> mShowIconBack) {
960 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this ); 962 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this );
961 connect( action, SIGNAL( activated() ), 963 connect( action, SIGNAL( activated() ),
962 mView, SLOT( goPrevious() ) ); 964 mView, SLOT( goPrevious() ) );
963 action->addTo( iconToolBar ); 965 action->addTo( iconToolBar );
964 } 966 }
965 if (p-> mShowIconToday) 967 if (p-> mShowIconToday)
966 today_action->addTo( iconToolBar ); 968 today_action->addTo( iconToolBar );
967 icon = loadPixmap( pathString + "1rightarrowB" ); 969 icon = loadPixmap( pathString + "1rightarrowB" );
968 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220); 970 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220);
969 if (p-> mShowIconForward) { 971 if (p-> mShowIconForward) {
970 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this ); 972 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this );
971 connect( action, SIGNAL( activated() ), 973 connect( action, SIGNAL( activated() ),
972 mView, SLOT( goNext() ) ); 974 mView, SLOT( goNext() ) );
973 action->addTo( iconToolBar ); 975 action->addTo( iconToolBar );
@@ -1178,386 +1180,386 @@ void MainWindow::whatsNew()
1178 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 1180 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
1179 1181
1180} 1182}
1181void MainWindow::licence() 1183void MainWindow::licence()
1182{ 1184{
1183 KApplication::showLicence(); 1185 KApplication::showLicence();
1184 1186
1185} 1187}
1186void MainWindow::about() 1188void MainWindow::about()
1187{ 1189{
1188 QString version; 1190 QString version;
1189#include <../version> 1191#include <../version>
1190 QMessageBox::about( this, i18n("About KOrganizer/Pi"), 1192 QMessageBox::about( this, i18n("About KOrganizer/Pi"),
1191 i18n("KOrganizer/Platform-independent\n") + 1193 i18n("KOrganizer/Platform-independent\n") +
1192 "(KO/Pi) " + version + " - " + 1194 "(KO/Pi) " + version + " - " +
1193 1195
1194#ifdef DESKTOP_VERSION 1196#ifdef DESKTOP_VERSION
1195 i18n("Desktop Edition\n") + 1197 i18n("Desktop Edition\n") +
1196#else 1198#else
1197 i18n("PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n") + 1199 i18n("PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n") +
1198#endif 1200#endif
1199 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") ); 1201 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") );
1200} 1202}
1201void MainWindow::keyBindings() 1203void MainWindow::keyBindings()
1202{ 1204{
1203 QString cap = i18n("KO/Pi Keys + Colors"); 1205 QString cap = i18n("KO/Pi Keys + Colors");
1204 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + 1206 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") +
1205 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ 1207 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+
1206 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + 1208 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") +
1207 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ 1209 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+
1208 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ 1210 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+
1209 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ 1211 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+
1210 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ 1212 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+
1211 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ 1213 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+
1212 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ 1214 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+
1213 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ 1215 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+
1214 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ 1216 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+
1215 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ 1217 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+
1216 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ 1218 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+
1217 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+ 1219 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+
1218 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ 1220 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+
1219 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ 1221 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+
1220 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ 1222 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+
1221 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ 1223 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+
1222 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ 1224 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+
1223 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ 1225 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+
1224 i18n("<p><h3>In agenda view:</h3></p>\n") + 1226 i18n("<p><h3>In agenda view:</h3></p>\n") +
1225 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ 1227 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+
1226 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ 1228 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+
1227 i18n("<p><h3>In todo view:</h3></p>\n") + 1229 i18n("<p><h3>In todo view:</h3></p>\n") +
1228 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ 1230 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+
1229 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ 1231 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+
1230 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ 1232 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+
1231 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ 1233 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+
1232 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1234 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1233 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ 1235 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+
1234 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ 1236 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+
1235 i18n("<p><h3>In list view:</h3></p>\n") + 1237 i18n("<p><h3>In list view:</h3></p>\n") +
1236 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1238 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1237 i18n("<p><b>return</b>: Select item+one step down</p>\n")+ 1239 i18n("<p><b>return</b>: Select item+one step down</p>\n")+
1238 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ 1240 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+
1239 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ 1241 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+
1240 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ 1242 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+
1241 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ 1243 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+
1242 i18n("<p><h3>In event/todo viewer:</h3></p>\n") + 1244 i18n("<p><h3>In event/todo viewer:</h3></p>\n") +
1243 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ 1245 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+
1244 i18n("<p><b>A</b>: Show agenda view.</p>\n")+ 1246 i18n("<p><b>A</b>: Show agenda view.</p>\n")+
1245 i18n("<p><b>E</b>: Edit item</p>\n") + 1247 i18n("<p><b>E</b>: Edit item</p>\n") +
1246 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + 1248 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") +
1247 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + 1249 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") +
1248 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ 1250 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+
1249 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ 1251 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+
1250 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ 1252 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+
1251 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ 1253 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+
1252 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ 1254 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+
1253 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + 1255 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") +
1254 i18n("<p><b>White</b>: Item readonly</p>\n"); 1256 i18n("<p><b>White</b>: Item readonly</p>\n");
1255 displayText( text, cap); 1257 displayText( text, cap);
1256} 1258}
1257void MainWindow::aboutAutoSaving() 1259void MainWindow::aboutAutoSaving()
1258{ 1260{
1259 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"); 1261 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");
1260 1262
1261 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); 1263 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text);
1262 1264
1263} 1265}
1264void MainWindow::aboutKnownBugs() 1266void MainWindow::aboutKnownBugs()
1265{ 1267{
1266 QMessageBox* msg; 1268 QMessageBox* msg;
1267 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), 1269 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"),
1268 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")+ 1270 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")+
1269 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ 1271 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+
1270 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") + 1272 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") +
1271 i18n("\nor report them in the bugtracker on\n") + 1273 i18n("\nor report them in the bugtracker on\n") +
1272 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), 1274 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"),
1273 QMessageBox::NoIcon, 1275 QMessageBox::NoIcon,
1274 QMessageBox::Ok, 1276 QMessageBox::Ok,
1275 QMessageBox::NoButton, 1277 QMessageBox::NoButton,
1276 QMessageBox::NoButton); 1278 QMessageBox::NoButton);
1277 msg->exec(); 1279 msg->exec();
1278 delete msg; 1280 delete msg;
1279 1281
1280} 1282}
1281 1283
1282QString MainWindow::defaultFileName() 1284QString MainWindow::defaultFileName()
1283{ 1285{
1284 return locateLocal( "data", "korganizer/mycalendar.ics" ); 1286 return locateLocal( "data", "korganizer/mycalendar.ics" );
1285} 1287}
1286QString MainWindow::syncFileName() 1288QString MainWindow::syncFileName()
1287{ 1289{
1288#ifdef DESKTOP_VERSION 1290#ifdef DESKTOP_VERSION
1289 return locateLocal( "tmp", "synccalendar.ics" ); 1291 return locateLocal( "tmp", "synccalendar.ics" );
1290#else 1292#else
1291 return QString( "/tmp/synccalendar.ics" ); 1293 return QString( "/tmp/synccalendar.ics" );
1292#endif 1294#endif
1293} 1295}
1294 1296
1295void MainWindow::processIncidenceSelection( Incidence *incidence ) 1297void MainWindow::processIncidenceSelection( Incidence *incidence )
1296{ 1298{
1297 if ( !incidence ) { 1299 if ( !incidence ) {
1298 enableIncidenceActions( false ); 1300 enableIncidenceActions( false );
1299 1301
1300 mNewSubTodoAction->setEnabled( false ); 1302 mNewSubTodoAction->setEnabled( false );
1301 setCaptionToDates(); 1303 setCaptionToDates();
1302 return; 1304 return;
1303 1305
1304 } 1306 }
1305 1307
1306 //KGlobal::locale()->formatDateTime(nextA, true); 1308 //KGlobal::locale()->formatDateTime(nextA, true);
1307 QString startString = ""; 1309 QString startString = "";
1308 if ( incidence->type() != "Todo" ) { 1310 if ( incidence->type() != "Todo" ) {
1309 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { 1311 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) {
1310 if ( incidence->doesFloat() ) { 1312 if ( incidence->doesFloat() ) {
1311 startString += ": "+incidence->dtStartDateStr( true ); 1313 startString += ": "+incidence->dtStartDateStr( true );
1312 startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); 1314 startString += " --- "+((Event*)incidence)->dtEndDateStr( true );
1313 1315
1314 } else { 1316 } else {
1315 startString = ": "+incidence->dtStartStr(true); 1317 startString = ": "+incidence->dtStartStr(true);
1316 startString += " --- "+((Event*)incidence)->dtEndStr(true); 1318 startString += " --- "+((Event*)incidence)->dtEndStr(true);
1317 1319
1318 } 1320 }
1319 1321
1320 } else { 1322 } else {
1321 if ( incidence->dtStart().time() != incidence->dtEnd().time() ) 1323 if ( incidence->dtStart().time() != incidence->dtEnd().time() )
1322 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ 1324 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+
1323 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); 1325 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time());
1324 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); 1326 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true);
1325 } 1327 }
1326 1328
1327 } 1329 }
1328 else 1330 else
1329 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); 1331 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed");
1330 if ( !incidence->location().isEmpty() ) 1332 if ( !incidence->location().isEmpty() )
1331 startString += " (" +incidence->location()+")"; 1333 startString += " (" +incidence->location()+")";
1332 setCaption( incidence->summary()+startString); 1334 setCaption( incidence->summary()+startString);
1333 1335
1334 enableIncidenceActions( true ); 1336 enableIncidenceActions( true );
1335 1337
1336 if ( incidence->type() == "Event" ) { 1338 if ( incidence->type() == "Event" ) {
1337 mShowAction->setText( i18n("Show Event...") ); 1339 mShowAction->setText( i18n("Show Event...") );
1338 mEditAction->setText( i18n("Edit Event...") ); 1340 mEditAction->setText( i18n("Edit Event...") );
1339 mDeleteAction->setText( i18n("Delete Event...") ); 1341 mDeleteAction->setText( i18n("Delete Event...") );
1340 1342
1341 mNewSubTodoAction->setEnabled( false ); 1343 mNewSubTodoAction->setEnabled( false );
1342 } else if ( incidence->type() == "Todo" ) { 1344 } else if ( incidence->type() == "Todo" ) {
1343 mShowAction->setText( i18n("Show Todo...") ); 1345 mShowAction->setText( i18n("Show Todo...") );
1344 mEditAction->setText( i18n("Edit Todo...") ); 1346 mEditAction->setText( i18n("Edit Todo...") );
1345 mDeleteAction->setText( i18n("Delete Todo...") ); 1347 mDeleteAction->setText( i18n("Delete Todo...") );
1346 1348
1347 mNewSubTodoAction->setEnabled( true ); 1349 mNewSubTodoAction->setEnabled( true );
1348 } else { 1350 } else {
1349 mShowAction->setText( i18n("Show...") ); 1351 mShowAction->setText( i18n("Show...") );
1350 mShowAction->setText( i18n("Edit...") ); 1352 mShowAction->setText( i18n("Edit...") );
1351 mShowAction->setText( i18n("Delete...") ); 1353 mShowAction->setText( i18n("Delete...") );
1352 1354
1353 mNewSubTodoAction->setEnabled( false ); 1355 mNewSubTodoAction->setEnabled( false );
1354 } 1356 }
1355} 1357}
1356 1358
1357void MainWindow::enableIncidenceActions( bool enabled ) 1359void MainWindow::enableIncidenceActions( bool enabled )
1358{ 1360{
1359 mShowAction->setEnabled( enabled ); 1361 mShowAction->setEnabled( enabled );
1360 mEditAction->setEnabled( enabled ); 1362 mEditAction->setEnabled( enabled );
1361 mDeleteAction->setEnabled( enabled ); 1363 mDeleteAction->setEnabled( enabled );
1362 1364
1363 mCloneAction->setEnabled( enabled ); 1365 mCloneAction->setEnabled( enabled );
1364 mMoveAction->setEnabled( enabled ); 1366 mMoveAction->setEnabled( enabled );
1365 mBeamAction->setEnabled( enabled ); 1367 mBeamAction->setEnabled( enabled );
1366 mCancelAction->setEnabled( enabled ); 1368 mCancelAction->setEnabled( enabled );
1367} 1369}
1368 1370
1369void MainWindow::importOL() 1371void MainWindow::importOL()
1370{ 1372{
1371#ifdef _WIN32_ 1373#ifdef _OL_IMPORT_
1372 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); 1374 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this );
1373 id->exec(); 1375 id->exec();
1374 delete id; 1376 delete id;
1375 mView->updateView(); 1377 mView->updateView();
1376#endif 1378#endif
1377} 1379}
1378void MainWindow::importBday() 1380void MainWindow::importBday()
1379{ 1381{
1380 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1382 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1381 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), 1383 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
1382 i18n("Import!"), i18n("Cancel"), 0, 1384 i18n("Import!"), i18n("Cancel"), 0,
1383 0, 1 ); 1385 0, 1 );
1384 if ( result == 0 ) { 1386 if ( result == 0 ) {
1385 mView->importBday(); 1387 mView->importBday();
1386 1388
1387 } 1389 }
1388 1390
1389 1391
1390} 1392}
1391void MainWindow::importQtopia() 1393void MainWindow::importQtopia()
1392{ 1394{
1393#ifndef DESKTOP_VERSION 1395#ifndef DESKTOP_VERSION
1394 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1396 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1395 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"), 1397 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"),
1396 i18n("Import!"), i18n("Cancel"), 0, 1398 i18n("Import!"), i18n("Cancel"), 0,
1397 0, 1 ); 1399 0, 1 );
1398 if ( result == 0 ) { 1400 if ( result == 0 ) {
1399 QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); 1401 QString datebook = Global::applicationFileName( "datebook", "datebook.xml");
1400 QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); 1402 QString todolist = Global::applicationFileName( "todolist", "todolist.xml");
1401 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; 1403 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml";
1402 mView->importQtopia( categories, datebook, todolist ); 1404 mView->importQtopia( categories, datebook, todolist );
1403 } 1405 }
1404#else 1406#else
1405 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1407 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1406 i18n("Not supported \non desktop!\n"), 1408 i18n("Not supported \non desktop!\n"),
1407 i18n("Ok"), i18n("Cancel"), 0, 1409 i18n("Ok"), i18n("Cancel"), 0,
1408 0, 1 ); 1410 0, 1 );
1409 1411
1410#endif 1412#endif
1411} 1413}
1412 1414
1413void MainWindow::saveOnClose() 1415void MainWindow::saveOnClose()
1414{ 1416{
1415 KOPrefs *p = KOPrefs::instance(); 1417 KOPrefs *p = KOPrefs::instance();
1416 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); 1418 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal );
1417 p->mToolBarUp = iconToolBar->x() > width()/2 || 1419 p->mToolBarUp = iconToolBar->x() > width()/2 ||
1418 iconToolBar->y() > height()/2; 1420 iconToolBar->y() > height()/2;
1419 mView->writeSettings(); 1421 mView->writeSettings();
1420 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName())) 1422 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
1421 save(); 1423 save();
1422} 1424}
1423void MainWindow::slotModifiedChanged( bool changed ) 1425void MainWindow::slotModifiedChanged( bool changed )
1424{ 1426{
1425 if ( mBlockAtStartup ) 1427 if ( mBlockAtStartup )
1426 return; 1428 return;
1427 int msec; 1429 int msec;
1428 // we store the changes after 1 minute, 1430 // we store the changes after 1 minute,
1429 // and for safety reasons after 10 minutes again 1431 // and for safety reasons after 10 minutes again
1430 if ( !mSyncManager->blockSave() ) 1432 if ( !mSyncManager->blockSave() )
1431 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1433 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1432 else 1434 else
1433 msec = 1000 * 600; 1435 msec = 1000 * 600;
1434 mSaveTimer.start( msec, true ); // 1 minute 1436 mSaveTimer.start( msec, true ); // 1 minute
1435 qDebug("KO: Saving File in %d secs!", msec/1000); 1437 qDebug("KO: Saving File in %d secs!", msec/1000);
1436 mCalendarModifiedFlag = true; 1438 mCalendarModifiedFlag = true;
1437} 1439}
1438void MainWindow::save() 1440void MainWindow::save()
1439{ 1441{
1440 if ( mSyncManager->blockSave() ) 1442 if ( mSyncManager->blockSave() )
1441 return; 1443 return;
1442 mSyncManager->setBlockSave(true); 1444 mSyncManager->setBlockSave(true);
1443 if ( mView->checkFileVersion( defaultFileName()) ) { 1445 if ( mView->checkFileVersion( defaultFileName()) ) {
1444 1446
1445 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1447 QTime neededSaveTime = QDateTime::currentDateTime().time();
1446 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1448 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1447 qDebug("KO: Start saving data to file!"); 1449 qDebug("KO: Start saving data to file!");
1448 mView->saveCalendar( defaultFileName() ); 1450 mView->saveCalendar( defaultFileName() );
1449 1451
1450 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 1452 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
1451 qDebug("KO: Needed %d ms for saving.",msNeeded ); 1453 qDebug("KO: Needed %d ms for saving.",msNeeded );
1452 QString savemes; 1454 QString savemes;
1453 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); 1455 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
1454 setCaption(savemes); 1456 setCaption(savemes);
1455 } else 1457 } else
1456 setCaption(i18n("Saving cancelled!")); 1458 setCaption(i18n("Saving cancelled!"));
1457 mCalendarModifiedFlag = false; 1459 mCalendarModifiedFlag = false;
1458 mSyncManager->setBlockSave( false ); 1460 mSyncManager->setBlockSave( false );
1459} 1461}
1460 1462
1461void MainWindow::keyReleaseEvent ( QKeyEvent * e) 1463void MainWindow::keyReleaseEvent ( QKeyEvent * e)
1462{ 1464{
1463 if ( !e->isAutoRepeat() ) { 1465 if ( !e->isAutoRepeat() ) {
1464 mFlagKeyPressed = false; 1466 mFlagKeyPressed = false;
1465 } 1467 }
1466} 1468}
1467void MainWindow::keyPressEvent ( QKeyEvent * e ) 1469void MainWindow::keyPressEvent ( QKeyEvent * e )
1468{ 1470{
1469 qApp->processEvents(); 1471 qApp->processEvents();
1470 if ( e->isAutoRepeat() && !mFlagKeyPressed ) { 1472 if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
1471 e->ignore(); 1473 e->ignore();
1472 // qDebug(" ignore %d",e->isAutoRepeat() ); 1474 // qDebug(" ignore %d",e->isAutoRepeat() );
1473 return; 1475 return;
1474 } 1476 }
1475 if (! e->isAutoRepeat() ) 1477 if (! e->isAutoRepeat() )
1476 mFlagKeyPressed = true; 1478 mFlagKeyPressed = true;
1477 KOPrefs *p = KOPrefs::instance(); 1479 KOPrefs *p = KOPrefs::instance();
1478 bool showSelectedDates = false; 1480 bool showSelectedDates = false;
1479 int size; 1481 int size;
1480 int pro = 0; 1482 int pro = 0;
1481 //qDebug("MainWindow::keyPressEvent "); 1483 //qDebug("MainWindow::keyPressEvent ");
1482 switch ( e->key() ) { 1484 switch ( e->key() ) {
1483 case Qt::Key_Right: 1485 case Qt::Key_Right:
1484 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1486 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1485 mView->goNextMonth(); 1487 mView->goNextMonth();
1486 else 1488 else
1487 mView->goNext(); 1489 mView->goNext();
1488 showSelectedDates = true; 1490 showSelectedDates = true;
1489 break; 1491 break;
1490 case Qt::Key_Left: 1492 case Qt::Key_Left:
1491 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1493 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1492 mView->goPreviousMonth(); 1494 mView->goPreviousMonth();
1493 else 1495 else
1494 mView->goPrevious(); 1496 mView->goPrevious();
1495 showSelectedDates = true; 1497 showSelectedDates = true;
1496 break; 1498 break;
1497 case Qt::Key_Down: 1499 case Qt::Key_Down:
1498 mView->viewManager()->agendaView()->scrollOneHourDown(); 1500 mView->viewManager()->agendaView()->scrollOneHourDown();
1499 break; 1501 break;
1500 case Qt::Key_Up: 1502 case Qt::Key_Up:
1501 mView->viewManager()->agendaView()->scrollOneHourUp(); 1503 mView->viewManager()->agendaView()->scrollOneHourUp();
1502 break; 1504 break;
1503 case Qt::Key_I: 1505 case Qt::Key_I:
1504 mView->showIncidence(); 1506 mView->showIncidence();
1505 break; 1507 break;
1506 case Qt::Key_Delete: 1508 case Qt::Key_Delete:
1507 case Qt::Key_Backspace: 1509 case Qt::Key_Backspace:
1508 mView->deleteIncidence(); 1510 mView->deleteIncidence();
1509 break; 1511 break;
1510 case Qt::Key_D: 1512 case Qt::Key_D:
1511 mView->viewManager()->showDayView(); 1513 mView->viewManager()->showDayView();
1512 showSelectedDates = true; 1514 showSelectedDates = true;
1513 break; 1515 break;
1514 case Qt::Key_O: 1516 case Qt::Key_O:
1515 mView->toggleFilerEnabled( ); 1517 mView->toggleFilerEnabled( );
1516 break; 1518 break;
1517 case Qt::Key_0: 1519 case Qt::Key_0:
1518 case Qt::Key_1: 1520 case Qt::Key_1:
1519 case Qt::Key_2: 1521 case Qt::Key_2:
1520 case Qt::Key_3: 1522 case Qt::Key_3:
1521 case Qt::Key_4: 1523 case Qt::Key_4:
1522 case Qt::Key_5: 1524 case Qt::Key_5:
1523 case Qt::Key_6: 1525 case Qt::Key_6:
1524 case Qt::Key_7: 1526 case Qt::Key_7:
1525 case Qt::Key_8: 1527 case Qt::Key_8:
1526 case Qt::Key_9: 1528 case Qt::Key_9:
1527 pro = e->key()-48; 1529 pro = e->key()-48;
1528 if ( pro == 0 ) 1530 if ( pro == 0 )
1529 pro = 10; 1531 pro = 10;
1530 if ( e->state() == Qt::ControlButton) 1532 if ( e->state() == Qt::ControlButton)
1531 pro += 10; 1533 pro += 10;
1532 break; 1534 break;
1533 case Qt::Key_M: 1535 case Qt::Key_M:
1534 mView->viewManager()->showMonthView(); 1536 mView->viewManager()->showMonthView();
1535 showSelectedDates = true; 1537 showSelectedDates = true;
1536 break; 1538 break;
1537 case Qt::Key_Insert: 1539 case Qt::Key_Insert:
1538 mView->newEvent(); 1540 mView->newEvent();
1539 break; 1541 break;
1540 case Qt::Key_S : 1542 case Qt::Key_S :
1541 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1543 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1542 mView->newSubTodo(); 1544 mView->newSubTodo();
1543 else 1545 else
1544 mView->dialogManager()->showSearchDialog(); 1546 mView->dialogManager()->showSearchDialog();
1545 break; 1547 break;
1546 case Qt::Key_Y : 1548 case Qt::Key_Y :
1547 case Qt::Key_Z : 1549 case Qt::Key_Z :
1548 mView->viewManager()->showWorkWeekView(); 1550 mView->viewManager()->showWorkWeekView();
1549 showSelectedDates = true; 1551 showSelectedDates = true;
1550 break; 1552 break;
1551 case Qt::Key_U : 1553 case Qt::Key_U :
1552 mView->viewManager()->showWeekView(); 1554 mView->viewManager()->showWeekView();
1553 showSelectedDates = true; 1555 showSelectedDates = true;
1554 break; 1556 break;
1555 case Qt::Key_H : 1557 case Qt::Key_H :
1556 keyBindings(); 1558 keyBindings();
1557 break; 1559 break;
1558 case Qt::Key_W: 1560 case Qt::Key_W:
1559 mView->viewManager()->showWhatsNextView(); 1561 mView->viewManager()->showWhatsNextView();
1560 break; 1562 break;
1561 case Qt::Key_L: 1563 case Qt::Key_L:
1562 mView->viewManager()->showListView(); 1564 mView->viewManager()->showListView();
1563 break; 1565 break;