-rw-r--r-- | kaddressbook/kabcore.cpp | 143 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 2 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 4 | ||||
-rw-r--r-- | korganizer/koprefs.h | 3 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 25 | ||||
-rw-r--r-- | libkdepim/kpimglobalprefs.cpp | 7 | ||||
-rw-r--r-- | libkdepim/kpimglobalprefs.h | 3 | ||||
-rw-r--r-- | libkdepim/libkdepim.pro | 6 | ||||
-rw-r--r-- | libkdepim/libkdepimE.pro | 6 | ||||
-rw-r--r-- | libkdepim/phoneaccess.cpp | 153 | ||||
-rw-r--r-- | libkdepim/phoneaccess.h | 42 |
11 files changed, 371 insertions, 23 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index f8359de..185cf46 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -1,283 +1,331 @@ | |||
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 | /* | 24 | /* |
25 | Enhanced Version of the file for platform independent KDE tools. | 25 | Enhanced Version of the file for platform independent KDE tools. |
26 | Copyright (c) 2004 Ulf Schenk | 26 | Copyright (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> | ||
38 | #include <qlineedit.h> | ||
39 | #include <qcheckbox.h> | ||
40 | #include <qpushbutton.h> | ||
37 | #include <qprogressbar.h> | 41 | #include <qprogressbar.h> |
38 | 42 | ||
39 | #ifndef KAB_EMBEDDED | 43 | #ifndef KAB_EMBEDDED |
40 | #include <qclipboard.h> | 44 | #include <qclipboard.h> |
41 | #include <qdir.h> | 45 | #include <qdir.h> |
42 | #include <qfile.h> | 46 | #include <qfile.h> |
43 | #include <qapplicaton.h> | 47 | #include <qapplicaton.h> |
44 | #include <qprogressbar.h> | 48 | #include <qprogressbar.h> |
45 | #include <qlayout.h> | 49 | #include <qlayout.h> |
46 | #include <qregexp.h> | 50 | #include <qregexp.h> |
47 | #include <qvbox.h> | 51 | #include <qvbox.h> |
48 | #include <kabc/addresseelist.h> | 52 | #include <kabc/addresseelist.h> |
49 | #include <kabc/errorhandler.h> | 53 | #include <kabc/errorhandler.h> |
50 | #include <kabc/resource.h> | 54 | #include <kabc/resource.h> |
51 | #include <kabc/vcardconverter.h> | 55 | #include <kabc/vcardconverter.h> |
52 | #include <kapplication.h> | 56 | #include <kapplication.h> |
53 | #include <kactionclasses.h> | 57 | #include <kactionclasses.h> |
54 | #include <kcmultidialog.h> | 58 | #include <kcmultidialog.h> |
55 | #include <kdebug.h> | 59 | #include <kdebug.h> |
56 | #include <kdeversion.h> | 60 | #include <kdeversion.h> |
57 | #include <kkeydialog.h> | 61 | #include <kkeydialog.h> |
58 | #include <kmessagebox.h> | 62 | #include <kmessagebox.h> |
59 | #include <kprinter.h> | 63 | #include <kprinter.h> |
60 | #include <kprotocolinfo.h> | 64 | #include <kprotocolinfo.h> |
61 | #include <kresources/selectdialog.h> | 65 | #include <kresources/selectdialog.h> |
62 | #include <kstandarddirs.h> | 66 | #include <kstandarddirs.h> |
63 | #include <ktempfile.h> | 67 | #include <ktempfile.h> |
64 | #include <kxmlguiclient.h> | 68 | #include <kxmlguiclient.h> |
65 | #include <kaboutdata.h> | 69 | #include <kaboutdata.h> |
66 | #include <libkdepim/categoryselectdialog.h> | 70 | #include <libkdepim/categoryselectdialog.h> |
67 | 71 | ||
68 | #include "addresseeutil.h" | 72 | #include "addresseeutil.h" |
69 | #include "addresseeeditordialog.h" | 73 | #include "addresseeeditordialog.h" |
70 | #include "extensionmanager.h" | 74 | #include "extensionmanager.h" |
71 | #include "kstdaction.h" | 75 | #include "kstdaction.h" |
72 | #include "kaddressbookservice.h" | 76 | #include "kaddressbookservice.h" |
73 | #include "ldapsearchdialog.h" | 77 | #include "ldapsearchdialog.h" |
74 | #include "printing/printingwizard.h" | 78 | #include "printing/printingwizard.h" |
75 | #else // KAB_EMBEDDED | 79 | #else // KAB_EMBEDDED |
76 | 80 | ||
77 | #include <kapplication.h> | 81 | #include <kapplication.h> |
78 | #include "KDGanttMinimizeSplitter.h" | 82 | #include "KDGanttMinimizeSplitter.h" |
79 | #include "kaddressbookmain.h" | 83 | #include "kaddressbookmain.h" |
80 | #include "kactioncollection.h" | 84 | #include "kactioncollection.h" |
81 | #include "addresseedialog.h" | 85 | #include "addresseedialog.h" |
82 | //US | 86 | //US |
83 | #include <addresseeview.h> | 87 | #include <addresseeview.h> |
84 | 88 | ||
85 | #include <qapp.h> | 89 | #include <qapp.h> |
86 | #include <qmenubar.h> | 90 | #include <qmenubar.h> |
87 | //#include <qtoolbar.h> | 91 | //#include <qtoolbar.h> |
88 | #include <qmessagebox.h> | 92 | #include <qmessagebox.h> |
89 | #include <kdebug.h> | 93 | #include <kdebug.h> |
90 | #include <kiconloader.h> // needed for SmallIcon | 94 | #include <kiconloader.h> // needed for SmallIcon |
91 | #include <kresources/kcmkresources.h> | 95 | #include <kresources/kcmkresources.h> |
92 | #include <ktoolbar.h> | 96 | #include <ktoolbar.h> |
93 | 97 | ||
94 | 98 | ||
95 | //#include <qlabel.h> | 99 | //#include <qlabel.h> |
96 | 100 | ||
97 | 101 | ||
98 | #ifndef DESKTOP_VERSION | 102 | #ifndef DESKTOP_VERSION |
99 | #include <qpe/ir.h> | 103 | #include <qpe/ir.h> |
100 | #include <qpe/qpemenubar.h> | 104 | #include <qpe/qpemenubar.h> |
101 | #include <qtopia/qcopenvelope_qws.h> | 105 | #include <qtopia/qcopenvelope_qws.h> |
102 | #else | 106 | #else |
103 | 107 | ||
104 | #include <qmenubar.h> | 108 | #include <qmenubar.h> |
105 | #endif | 109 | #endif |
106 | 110 | ||
107 | #endif // KAB_EMBEDDED | 111 | #endif // KAB_EMBEDDED |
108 | #include "kcmconfigs/kcmkabconfig.h" | 112 | #include "kcmconfigs/kcmkabconfig.h" |
109 | #include "kcmconfigs/kcmkdepimconfig.h" | 113 | #include "kcmconfigs/kcmkdepimconfig.h" |
110 | #include "kpimglobalprefs.h" | 114 | #include "kpimglobalprefs.h" |
111 | #include "externalapphandler.h" | 115 | #include "externalapphandler.h" |
112 | 116 | ||
113 | 117 | ||
114 | #include <kresources/selectdialog.h> | 118 | #include <kresources/selectdialog.h> |
115 | #include <kmessagebox.h> | 119 | #include <kmessagebox.h> |
116 | 120 | ||
117 | #include <picture.h> | 121 | #include <picture.h> |
118 | #include <resource.h> | 122 | #include <resource.h> |
119 | 123 | ||
120 | //US#include <qsplitter.h> | 124 | //US#include <qsplitter.h> |
121 | #include <qmap.h> | 125 | #include <qmap.h> |
122 | #include <qdir.h> | 126 | #include <qdir.h> |
123 | #include <qfile.h> | 127 | #include <qfile.h> |
124 | #include <qvbox.h> | 128 | #include <qvbox.h> |
125 | #include <qlayout.h> | 129 | #include <qlayout.h> |
126 | #include <qclipboard.h> | 130 | #include <qclipboard.h> |
127 | #include <qtextstream.h> | 131 | #include <qtextstream.h> |
128 | 132 | ||
129 | #include <libkdepim/categoryselectdialog.h> | 133 | #include <libkdepim/categoryselectdialog.h> |
130 | #include <kabc/vcardconverter.h> | 134 | #include <kabc/vcardconverter.h> |
131 | 135 | ||
132 | 136 | ||
133 | #include "addresseeutil.h" | 137 | #include "addresseeutil.h" |
134 | #include "undocmds.h" | 138 | #include "undocmds.h" |
135 | #include "addresseeeditordialog.h" | 139 | #include "addresseeeditordialog.h" |
136 | #include "viewmanager.h" | 140 | #include "viewmanager.h" |
137 | #include "details/detailsviewcontainer.h" | 141 | #include "details/detailsviewcontainer.h" |
138 | #include "kabprefs.h" | 142 | #include "kabprefs.h" |
139 | #include "xxportmanager.h" | 143 | #include "xxportmanager.h" |
140 | #include "incsearchwidget.h" | 144 | #include "incsearchwidget.h" |
141 | #include "jumpbuttonbar.h" | 145 | #include "jumpbuttonbar.h" |
142 | #include "extensionmanager.h" | 146 | #include "extensionmanager.h" |
143 | #include "addresseeconfig.h" | 147 | #include "addresseeconfig.h" |
144 | #include <kcmultidialog.h> | 148 | #include <kcmultidialog.h> |
145 | 149 | ||
146 | #ifdef _WIN32_ | 150 | #ifdef _WIN32_ |
147 | 151 | ||
148 | #include "kaimportoldialog.h" | 152 | #include "kaimportoldialog.h" |
149 | #else | 153 | #else |
150 | #include <unistd.h> | 154 | #include <unistd.h> |
151 | #endif | 155 | #endif |
152 | // sync includes | 156 | // sync includes |
153 | #include <libkdepim/ksyncprofile.h> | 157 | #include <libkdepim/ksyncprofile.h> |
154 | #include <libkdepim/ksyncprefsdialog.h> | 158 | #include <libkdepim/ksyncprefsdialog.h> |
155 | 159 | ||
160 | class KAex2phonePrefs : public QDialog | ||
161 | { | ||
162 | public: | ||
163 | KAex2phonePrefs( QWidget *parent=0, const char *name=0 ) : | ||
164 | QDialog( parent, name, true ) | ||
165 | { | ||
166 | setCaption( i18n("Export to phone options") ); | ||
167 | QVBoxLayout* lay = new QVBoxLayout( this ); | ||
168 | lay->setSpacing( 3 ); | ||
169 | lay->setMargin( 3 ); | ||
170 | QLabel *lab; | ||
171 | lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); | ||
172 | lab->setAlignment (AlignHCenter ); | ||
173 | QHBox* temphb; | ||
174 | temphb = new QHBox( this ); | ||
175 | new QLabel( i18n("I/O device: "), temphb ); | ||
176 | mPhoneDevice = new QLineEdit( temphb); | ||
177 | lay->addWidget( temphb ); | ||
178 | temphb = new QHBox( this ); | ||
179 | new QLabel( i18n("Connection: "), temphb ); | ||
180 | mPhoneConnection = new QLineEdit( temphb); | ||
181 | lay->addWidget( temphb ); | ||
182 | temphb = new QHBox( this ); | ||
183 | new QLabel( i18n("Model(opt.): "), temphb ); | ||
184 | mPhoneModel = new QLineEdit( temphb); | ||
185 | lay->addWidget( temphb ); | ||
186 | mWriteToSim= new QCheckBox( i18n("Write Contacts to SIM card\n(if not, write to phone memory)"), this ); | ||
187 | lay->addWidget( mWriteToSim ); | ||
188 | lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ncontact data on phone!"), this ) ); | ||
189 | lab->setAlignment (AlignHCenter ); | ||
190 | QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); | ||
191 | lay->addWidget( ok ); | ||
192 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); | ||
193 | lay->addWidget( cancel ); | ||
194 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); | ||
195 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); | ||
196 | resize( 220, 240 ); | ||
197 | |||
198 | } | ||
199 | |||
200 | public: | ||
201 | QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; | ||
202 | QCheckBox* mWriteToSim; | ||
203 | }; | ||
156 | 204 | ||
157 | bool pasteWithNewUid = true; | 205 | bool pasteWithNewUid = true; |
158 | 206 | ||
159 | #ifdef KAB_EMBEDDED | 207 | #ifdef KAB_EMBEDDED |
160 | KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name ) | 208 | KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name ) |
161 | : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), | 209 | : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), |
162 | mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/ | 210 | mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/ |
163 | mReadWrite( readWrite ), mModified( false ), mMainWindow(client) | 211 | mReadWrite( readWrite ), mModified( false ), mMainWindow(client) |
164 | #else //KAB_EMBEDDED | 212 | #else //KAB_EMBEDDED |
165 | KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name ) | 213 | KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name ) |
166 | : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), | 214 | : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), |
167 | mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ), | 215 | mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ), |
168 | mReadWrite( readWrite ), mModified( false ) | 216 | mReadWrite( readWrite ), mModified( false ) |
169 | #endif //KAB_EMBEDDED | 217 | #endif //KAB_EMBEDDED |
170 | { | 218 | { |
171 | // syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); | 219 | // syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); |
172 | // syncManager->setBlockSave(false); | 220 | // syncManager->setBlockSave(false); |
173 | mExtensionBarSplitter = 0; | 221 | mExtensionBarSplitter = 0; |
174 | mIsPart = !parent->inherits( "KAddressBookMain" ); | 222 | mIsPart = !parent->inherits( "KAddressBookMain" ); |
175 | 223 | ||
176 | mAddressBook = KABC::StdAddressBook::self(); | 224 | mAddressBook = KABC::StdAddressBook::self(); |
177 | KABC::StdAddressBook::setAutomaticSave( false ); | 225 | KABC::StdAddressBook::setAutomaticSave( false ); |
178 | 226 | ||
179 | #ifndef KAB_EMBEDDED | 227 | #ifndef KAB_EMBEDDED |
180 | mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); | 228 | mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); |
181 | #endif //KAB_EMBEDDED | 229 | #endif //KAB_EMBEDDED |
182 | 230 | ||
183 | connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), | 231 | connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), |
184 | SLOT( addressBookChanged() ) ); | 232 | SLOT( addressBookChanged() ) ); |
185 | 233 | ||
186 | #if 0 | 234 | #if 0 |
187 | // LP moved to addressbook init method | 235 | // LP moved to addressbook init method |
188 | mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, | 236 | mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, |
189 | "X-Department", "KADDRESSBOOK" ); | 237 | "X-Department", "KADDRESSBOOK" ); |
190 | mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, | 238 | mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, |
191 | "X-Profession", "KADDRESSBOOK" ); | 239 | "X-Profession", "KADDRESSBOOK" ); |
192 | mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, | 240 | mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, |
193 | "X-AssistantsName", "KADDRESSBOOK" ); | 241 | "X-AssistantsName", "KADDRESSBOOK" ); |
194 | mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, | 242 | mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, |
195 | "X-ManagersName", "KADDRESSBOOK" ); | 243 | "X-ManagersName", "KADDRESSBOOK" ); |
196 | mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, | 244 | mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, |
197 | "X-SpousesName", "KADDRESSBOOK" ); | 245 | "X-SpousesName", "KADDRESSBOOK" ); |
198 | mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, | 246 | mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, |
199 | "X-Office", "KADDRESSBOOK" ); | 247 | "X-Office", "KADDRESSBOOK" ); |
200 | mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, | 248 | mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, |
201 | "X-IMAddress", "KADDRESSBOOK" ); | 249 | "X-IMAddress", "KADDRESSBOOK" ); |
202 | mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, | 250 | mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, |
203 | "X-Anniversary", "KADDRESSBOOK" ); | 251 | "X-Anniversary", "KADDRESSBOOK" ); |
204 | 252 | ||
205 | //US added this field to become compatible with Opie/qtopia addressbook | 253 | //US added this field to become compatible with Opie/qtopia addressbook |
206 | // values can be "female" or "male" or "". An empty field represents undefined. | 254 | // values can be "female" or "male" or "". An empty field represents undefined. |
207 | mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, | 255 | mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, |
208 | "X-Gender", "KADDRESSBOOK" ); | 256 | "X-Gender", "KADDRESSBOOK" ); |
209 | mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, | 257 | mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, |
210 | "X-Children", "KADDRESSBOOK" ); | 258 | "X-Children", "KADDRESSBOOK" ); |
211 | mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, | 259 | mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, |
212 | "X-FreeBusyUrl", "KADDRESSBOOK" ); | 260 | "X-FreeBusyUrl", "KADDRESSBOOK" ); |
213 | #endif | 261 | #endif |
214 | initGUI(); | 262 | initGUI(); |
215 | 263 | ||
216 | mIncSearchWidget->setFocus(); | 264 | mIncSearchWidget->setFocus(); |
217 | 265 | ||
218 | 266 | ||
219 | connect( mViewManager, SIGNAL( selected( const QString& ) ), | 267 | connect( mViewManager, SIGNAL( selected( const QString& ) ), |
220 | SLOT( setContactSelected( const QString& ) ) ); | 268 | SLOT( setContactSelected( const QString& ) ) ); |
221 | connect( mViewManager, SIGNAL( executed( const QString& ) ), | 269 | connect( mViewManager, SIGNAL( executed( const QString& ) ), |
222 | SLOT( executeContact( const QString& ) ) ); | 270 | SLOT( executeContact( const QString& ) ) ); |
223 | 271 | ||
224 | connect( mViewManager, SIGNAL( deleteRequest( ) ), | 272 | connect( mViewManager, SIGNAL( deleteRequest( ) ), |
225 | SLOT( deleteContacts( ) ) ); | 273 | SLOT( deleteContacts( ) ) ); |
226 | connect( mViewManager, SIGNAL( modified() ), | 274 | connect( mViewManager, SIGNAL( modified() ), |
227 | SLOT( setModified() ) ); | 275 | SLOT( setModified() ) ); |
228 | 276 | ||
229 | connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); | 277 | connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); |
230 | connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); | 278 | connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); |
231 | 279 | ||
232 | connect( mXXPortManager, SIGNAL( modified() ), | 280 | connect( mXXPortManager, SIGNAL( modified() ), |
233 | SLOT( setModified() ) ); | 281 | SLOT( setModified() ) ); |
234 | 282 | ||
235 | connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), | 283 | connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), |
236 | SLOT( incrementalSearch( const QString& ) ) ); | 284 | SLOT( incrementalSearch( const QString& ) ) ); |
237 | connect( mIncSearchWidget, SIGNAL( fieldChanged() ), | 285 | connect( mIncSearchWidget, SIGNAL( fieldChanged() ), |
238 | mJumpButtonBar, SLOT( recreateButtons() ) ); | 286 | mJumpButtonBar, SLOT( recreateButtons() ) ); |
239 | 287 | ||
240 | connect( mDetails, SIGNAL( sendEmail( const QString& ) ), | 288 | connect( mDetails, SIGNAL( sendEmail( const QString& ) ), |
241 | SLOT( sendMail( const QString& ) ) ); | 289 | SLOT( sendMail( const QString& ) ) ); |
242 | 290 | ||
243 | 291 | ||
244 | connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); | 292 | connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); |
245 | connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); | 293 | connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); |
246 | 294 | ||
247 | 295 | ||
248 | #ifndef KAB_EMBEDDED | 296 | #ifndef KAB_EMBEDDED |
249 | connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), | 297 | connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), |
250 | mXXPortManager, SLOT( importVCard( const KURL& ) ) ); | 298 | mXXPortManager, SLOT( importVCard( const KURL& ) ) ); |
251 | 299 | ||
252 | connect( mDetails, SIGNAL( browse( const QString& ) ), | 300 | connect( mDetails, SIGNAL( browse( const QString& ) ), |
253 | SLOT( browse( const QString& ) ) ); | 301 | SLOT( browse( const QString& ) ) ); |
254 | 302 | ||
255 | 303 | ||
256 | mAddressBookService = new KAddressBookService( this ); | 304 | mAddressBookService = new KAddressBookService( this ); |
257 | 305 | ||
258 | #endif //KAB_EMBEDDED | 306 | #endif //KAB_EMBEDDED |
259 | mEditorDialog = 0; | 307 | mEditorDialog = 0; |
260 | createAddresseeEditorDialog( this ); | 308 | createAddresseeEditorDialog( this ); |
261 | setModified( false ); | 309 | setModified( false ); |
262 | } | 310 | } |
263 | 311 | ||
264 | KABCore::~KABCore() | 312 | KABCore::~KABCore() |
265 | { | 313 | { |
266 | // save(); | 314 | // save(); |
267 | //saveSettings(); | 315 | //saveSettings(); |
268 | //KABPrefs::instance()->writeConfig(); | 316 | //KABPrefs::instance()->writeConfig(); |
269 | delete AddresseeConfig::instance(); | 317 | delete AddresseeConfig::instance(); |
270 | mAddressBook = 0; | 318 | mAddressBook = 0; |
271 | KABC::StdAddressBook::close(); | 319 | KABC::StdAddressBook::close(); |
272 | 320 | ||
273 | delete syncManager; | 321 | delete syncManager; |
274 | } | 322 | } |
275 | 323 | ||
276 | void KABCore::restoreSettings() | 324 | void KABCore::restoreSettings() |
277 | { | 325 | { |
278 | mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; | 326 | mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; |
279 | 327 | ||
280 | bool state; | 328 | bool state; |
281 | 329 | ||
282 | if (mMultipleViewsAtOnce) | 330 | if (mMultipleViewsAtOnce) |
283 | state = KABPrefs::instance()->mDetailsPageVisible; | 331 | state = KABPrefs::instance()->mDetailsPageVisible; |
@@ -385,355 +433,445 @@ KABC::Field *KABCore::currentSearchField() const | |||
385 | } | 433 | } |
386 | 434 | ||
387 | QStringList KABCore::selectedUIDs() const | 435 | QStringList KABCore::selectedUIDs() const |
388 | { | 436 | { |
389 | return mViewManager->selectedUids(); | 437 | return mViewManager->selectedUids(); |
390 | } | 438 | } |
391 | 439 | ||
392 | KABC::Resource *KABCore::requestResource( QWidget *parent ) | 440 | KABC::Resource *KABCore::requestResource( QWidget *parent ) |
393 | { | 441 | { |
394 | QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); | 442 | QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); |
395 | 443 | ||
396 | QPtrList<KRES::Resource> kresResources; | 444 | QPtrList<KRES::Resource> kresResources; |
397 | QPtrListIterator<KABC::Resource> resIt( kabcResources ); | 445 | QPtrListIterator<KABC::Resource> resIt( kabcResources ); |
398 | KABC::Resource *resource; | 446 | KABC::Resource *resource; |
399 | while ( ( resource = resIt.current() ) != 0 ) { | 447 | while ( ( resource = resIt.current() ) != 0 ) { |
400 | ++resIt; | 448 | ++resIt; |
401 | if ( !resource->readOnly() ) { | 449 | if ( !resource->readOnly() ) { |
402 | KRES::Resource *res = static_cast<KRES::Resource*>( resource ); | 450 | KRES::Resource *res = static_cast<KRES::Resource*>( resource ); |
403 | if ( res ) | 451 | if ( res ) |
404 | kresResources.append( res ); | 452 | kresResources.append( res ); |
405 | } | 453 | } |
406 | } | 454 | } |
407 | 455 | ||
408 | KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, parent ); | 456 | KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, parent ); |
409 | return static_cast<KABC::Resource*>( res ); | 457 | return static_cast<KABC::Resource*>( res ); |
410 | } | 458 | } |
411 | 459 | ||
412 | #ifndef KAB_EMBEDDED | 460 | #ifndef KAB_EMBEDDED |
413 | KAboutData *KABCore::createAboutData() | 461 | KAboutData *KABCore::createAboutData() |
414 | #else //KAB_EMBEDDED | 462 | #else //KAB_EMBEDDED |
415 | void KABCore::createAboutData() | 463 | void KABCore::createAboutData() |
416 | #endif //KAB_EMBEDDED | 464 | #endif //KAB_EMBEDDED |
417 | { | 465 | { |
418 | #ifndef KAB_EMBEDDED | 466 | #ifndef KAB_EMBEDDED |
419 | KAboutData *about = new KAboutData( "kaddressbook", I18N_NOOP( "KAddressBook" ), | 467 | KAboutData *about = new KAboutData( "kaddressbook", I18N_NOOP( "KAddressBook" ), |
420 | "3.1", I18N_NOOP( "The KDE Address Book" ), | 468 | "3.1", I18N_NOOP( "The KDE Address Book" ), |
421 | KAboutData::License_GPL_V2, | 469 | KAboutData::License_GPL_V2, |
422 | I18N_NOOP( "(c) 1997-2003, The KDE PIM Team" ) ); | 470 | I18N_NOOP( "(c) 1997-2003, The KDE PIM Team" ) ); |
423 | about->addAuthor( "Tobias Koenig", I18N_NOOP( "Current maintainer " ), "tokoe@kde.org" ); | 471 | about->addAuthor( "Tobias Koenig", I18N_NOOP( "Current maintainer " ), "tokoe@kde.org" ); |
424 | about->addAuthor( "Don Sanders", I18N_NOOP( "Original author " ) ); | 472 | about->addAuthor( "Don Sanders", I18N_NOOP( "Original author " ) ); |
425 | about->addAuthor( "Cornelius Schumacher", | 473 | about->addAuthor( "Cornelius Schumacher", |
426 | I18N_NOOP( "Co-maintainer, libkabc port, CSV import/export " ), | 474 | I18N_NOOP( "Co-maintainer, libkabc port, CSV import/export " ), |
427 | "schumacher@kde.org" ); | 475 | "schumacher@kde.org" ); |
428 | about->addAuthor( "Mike Pilone", I18N_NOOP( "GUI and framework redesign " ), | 476 | about->addAuthor( "Mike Pilone", I18N_NOOP( "GUI and framework redesign " ), |
429 | "mpilone@slac.com" ); | 477 | "mpilone@slac.com" ); |
430 | about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) ); | 478 | about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) ); |
431 | about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) ); | 479 | about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) ); |
432 | about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ), | 480 | about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ), |
433 | "michel@klaralvdalens-datakonsult.se" ); | 481 | "michel@klaralvdalens-datakonsult.se" ); |
434 | about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ), | 482 | about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ), |
435 | "hansen@kde.org" ); | 483 | "hansen@kde.org" ); |
436 | 484 | ||
437 | return about; | 485 | return about; |
438 | #endif //KAB_EMBEDDED | 486 | #endif //KAB_EMBEDDED |
439 | 487 | ||
440 | QString version; | 488 | QString version; |
441 | #include <../version> | 489 | #include <../version> |
442 | QMessageBox::about( this, "About KAddressbook/Pi", | 490 | QMessageBox::about( this, "About KAddressbook/Pi", |
443 | "KAddressbook/Platform-independent\n" | 491 | "KAddressbook/Platform-independent\n" |
444 | "(KA/Pi) " +version + " - " + | 492 | "(KA/Pi) " +version + " - " + |
445 | #ifdef DESKTOP_VERSION | 493 | #ifdef DESKTOP_VERSION |
446 | "Desktop Edition\n" | 494 | "Desktop Edition\n" |
447 | #else | 495 | #else |
448 | "PDA-Edition\n" | 496 | "PDA-Edition\n" |
449 | "for: Zaurus 5500 / 7x0 / 8x0\n" | 497 | "for: Zaurus 5500 / 7x0 / 8x0\n" |
450 | #endif | 498 | #endif |
451 | 499 | ||
452 | "(c) 2004 Ulf Schenk\n" | 500 | "(c) 2004 Ulf Schenk\n" |
453 | "(c) 2004 Lutz Rogowski\n" | 501 | "(c) 2004 Lutz Rogowski\n" |
454 | "(c) 1997-2003, The KDE PIM Team\n" | 502 | "(c) 1997-2003, The KDE PIM Team\n" |
455 | "Tobias Koenig Current maintainer\ntokoe@kde.org\n" | 503 | "Tobias Koenig Current maintainer\ntokoe@kde.org\n" |
456 | "Don Sanders Original author\n" | 504 | "Don Sanders Original author\n" |
457 | "Cornelius Schumacher Co-maintainer\nschumacher@kde.org\n" | 505 | "Cornelius Schumacher Co-maintainer\nschumacher@kde.org\n" |
458 | "Mike Pilone GUI and framework redesign\nmpilone@slac.com\n" | 506 | "Mike Pilone GUI and framework redesign\nmpilone@slac.com\n" |
459 | "Greg Stern DCOP interface\n" | 507 | "Greg Stern DCOP interface\n" |
460 | "Mark Westcot Contact pinning\n" | 508 | "Mark Westcot Contact pinning\n" |
461 | "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n" | 509 | "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n" |
462 | "Steffen Hansen LDAP Lookup\nhansen@kde.org\n" | 510 | "Steffen Hansen LDAP Lookup\nhansen@kde.org\n" |
463 | #ifdef _WIN32_ | 511 | #ifdef _WIN32_ |
464 | "(c) 2004 Lutz Rogowski Import from OL\nrogowski@kde.org\n" | 512 | "(c) 2004 Lutz Rogowski Import from OL\nrogowski@kde.org\n" |
465 | #endif | 513 | #endif |
466 | ); | 514 | ); |
467 | } | 515 | } |
468 | 516 | ||
469 | void KABCore::setContactSelected( const QString &uid ) | 517 | void KABCore::setContactSelected( const QString &uid ) |
470 | { | 518 | { |
471 | KABC::Addressee addr = mAddressBook->findByUid( uid ); | 519 | KABC::Addressee addr = mAddressBook->findByUid( uid ); |
472 | if ( !mDetails->isHidden() ) | 520 | if ( !mDetails->isHidden() ) |
473 | mDetails->setAddressee( addr ); | 521 | mDetails->setAddressee( addr ); |
474 | 522 | ||
475 | if ( !addr.isEmpty() ) { | 523 | if ( !addr.isEmpty() ) { |
476 | emit contactSelected( addr.formattedName() ); | 524 | emit contactSelected( addr.formattedName() ); |
477 | KABC::Picture pic = addr.photo(); | 525 | KABC::Picture pic = addr.photo(); |
478 | if ( pic.isIntern() ) { | 526 | if ( pic.isIntern() ) { |
479 | //US emit contactSelected( pic.data() ); | 527 | //US emit contactSelected( pic.data() ); |
480 | //US instead use: | 528 | //US instead use: |
481 | QPixmap px; | 529 | QPixmap px; |
482 | if (pic.data().isNull() != true) | 530 | if (pic.data().isNull() != true) |
483 | { | 531 | { |
484 | px.convertFromImage(pic.data()); | 532 | px.convertFromImage(pic.data()); |
485 | } | 533 | } |
486 | 534 | ||
487 | emit contactSelected( px ); | 535 | emit contactSelected( px ); |
488 | } | 536 | } |
489 | } | 537 | } |
490 | 538 | ||
491 | 539 | ||
492 | mExtensionManager->setSelectionChanged(); | 540 | mExtensionManager->setSelectionChanged(); |
493 | 541 | ||
494 | // update the actions | 542 | // update the actions |
495 | bool selected = !uid.isEmpty(); | 543 | bool selected = !uid.isEmpty(); |
496 | 544 | ||
497 | if ( mReadWrite ) { | 545 | if ( mReadWrite ) { |
498 | mActionCut->setEnabled( selected ); | 546 | mActionCut->setEnabled( selected ); |
499 | mActionPaste->setEnabled( selected ); | 547 | mActionPaste->setEnabled( selected ); |
500 | } | 548 | } |
501 | 549 | ||
502 | mActionCopy->setEnabled( selected ); | 550 | mActionCopy->setEnabled( selected ); |
503 | mActionDelete->setEnabled( selected ); | 551 | mActionDelete->setEnabled( selected ); |
504 | mActionEditAddressee->setEnabled( selected ); | 552 | mActionEditAddressee->setEnabled( selected ); |
505 | mActionMail->setEnabled( selected ); | 553 | mActionMail->setEnabled( selected ); |
506 | mActionMailVCard->setEnabled( selected ); | 554 | mActionMailVCard->setEnabled( selected ); |
507 | //if (mActionBeam) | 555 | //if (mActionBeam) |
508 | //mActionBeam->setEnabled( selected ); | 556 | //mActionBeam->setEnabled( selected ); |
509 | 557 | ||
510 | if (mActionBeamVCard) | 558 | if (mActionBeamVCard) |
511 | mActionBeamVCard->setEnabled( selected ); | 559 | mActionBeamVCard->setEnabled( selected ); |
512 | 560 | ||
561 | mActionExport2phone->setEnabled( selected ); | ||
513 | mActionWhoAmI->setEnabled( selected ); | 562 | mActionWhoAmI->setEnabled( selected ); |
514 | mActionCategories->setEnabled( selected ); | 563 | mActionCategories->setEnabled( selected ); |
515 | } | 564 | } |
516 | 565 | ||
517 | void KABCore::sendMail() | 566 | void KABCore::sendMail() |
518 | { | 567 | { |
519 | sendMail( mViewManager->selectedEmails().join( ", " ) ); | 568 | sendMail( mViewManager->selectedEmails().join( ", " ) ); |
520 | } | 569 | } |
521 | 570 | ||
522 | void KABCore::sendMail( const QString& emaillist ) | 571 | void KABCore::sendMail( const QString& emaillist ) |
523 | { | 572 | { |
524 | // the parameter has the form "name1 <abc@aol.com>,name2 <abc@aol.com>;... " | 573 | // the parameter has the form "name1 <abc@aol.com>,name2 <abc@aol.com>;... " |
525 | if (emaillist.contains(",") > 0) | 574 | if (emaillist.contains(",") > 0) |
526 | ExternalAppHandler::instance()->mailToMultipleContacts( emaillist, QString::null ); | 575 | ExternalAppHandler::instance()->mailToMultipleContacts( emaillist, QString::null ); |
527 | else | 576 | else |
528 | ExternalAppHandler::instance()->mailToOneContact( emaillist ); | 577 | ExternalAppHandler::instance()->mailToOneContact( emaillist ); |
529 | } | 578 | } |
530 | 579 | ||
531 | 580 | ||
532 | 581 | ||
533 | void KABCore::mailVCard() | 582 | void KABCore::mailVCard() |
534 | { | 583 | { |
535 | QStringList uids = mViewManager->selectedUids(); | 584 | QStringList uids = mViewManager->selectedUids(); |
536 | if ( !uids.isEmpty() ) | 585 | if ( !uids.isEmpty() ) |
537 | mailVCard( uids ); | 586 | mailVCard( uids ); |
538 | } | 587 | } |
539 | 588 | ||
540 | void KABCore::mailVCard( const QStringList& uids ) | 589 | void KABCore::mailVCard( const QStringList& uids ) |
541 | { | 590 | { |
542 | QStringList urls; | 591 | QStringList urls; |
543 | 592 | ||
544 | // QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); | 593 | // QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); |
545 | 594 | ||
546 | QString dirName = "/tmp/" + KApplication::randomString( 8 ); | 595 | QString dirName = "/tmp/" + KApplication::randomString( 8 ); |
547 | 596 | ||
548 | 597 | ||
549 | 598 | ||
550 | QDir().mkdir( dirName, true ); | 599 | QDir().mkdir( dirName, true ); |
551 | 600 | ||
552 | for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { | 601 | for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { |
553 | KABC::Addressee a = mAddressBook->findByUid( *it ); | 602 | KABC::Addressee a = mAddressBook->findByUid( *it ); |
554 | 603 | ||
555 | if ( a.isEmpty() ) | 604 | if ( a.isEmpty() ) |
556 | continue; | 605 | continue; |
557 | 606 | ||
558 | QString name = a.givenName() + "_" + a.familyName() + ".vcf"; | 607 | QString name = a.givenName() + "_" + a.familyName() + ".vcf"; |
559 | 608 | ||
560 | QString fileName = dirName + "/" + name; | 609 | QString fileName = dirName + "/" + name; |
561 | 610 | ||
562 | QFile outFile(fileName); | 611 | QFile outFile(fileName); |
563 | 612 | ||
564 | if ( outFile.open(IO_WriteOnly) ) { // file opened successfully | 613 | if ( outFile.open(IO_WriteOnly) ) { // file opened successfully |
565 | KABC::VCardConverter converter; | 614 | KABC::VCardConverter converter; |
566 | QString vcard; | 615 | QString vcard; |
567 | 616 | ||
568 | converter.addresseeToVCard( a, vcard ); | 617 | converter.addresseeToVCard( a, vcard ); |
569 | 618 | ||
570 | QTextStream t( &outFile ); // use a text stream | 619 | QTextStream t( &outFile ); // use a text stream |
571 | t.setEncoding( QTextStream::UnicodeUTF8 ); | 620 | t.setEncoding( QTextStream::UnicodeUTF8 ); |
572 | t << vcard; | 621 | t << vcard; |
573 | 622 | ||
574 | outFile.close(); | 623 | outFile.close(); |
575 | 624 | ||
576 | urls.append( fileName ); | 625 | urls.append( fileName ); |
577 | } | 626 | } |
578 | } | 627 | } |
579 | 628 | ||
580 | bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); | 629 | bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); |
581 | 630 | ||
582 | 631 | ||
583 | /*US | 632 | /*US |
584 | kapp->invokeMailer( QString::null, QString::null, QString::null, | 633 | kapp->invokeMailer( QString::null, QString::null, QString::null, |
585 | QString::null, // subject | 634 | QString::null, // subject |
586 | QString::null, // body | 635 | QString::null, // body |
587 | QString::null, | 636 | QString::null, |
588 | urls ); // attachments | 637 | urls ); // attachments |
589 | */ | 638 | */ |
590 | 639 | ||
591 | } | 640 | } |
592 | 641 | ||
593 | /** | 642 | /** |
594 | Beams the "WhoAmI contact. | 643 | Beams the "WhoAmI contact. |
595 | */ | 644 | */ |
596 | void KABCore::beamMySelf() | 645 | void KABCore::beamMySelf() |
597 | { | 646 | { |
598 | KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); | 647 | KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); |
599 | if (!a.isEmpty()) | 648 | if (!a.isEmpty()) |
600 | { | 649 | { |
601 | QStringList uids; | 650 | QStringList uids; |
602 | uids << a.uid(); | 651 | uids << a.uid(); |
603 | 652 | ||
604 | beamVCard(uids); | 653 | beamVCard(uids); |
605 | } else { | 654 | } else { |
606 | KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) ); | 655 | KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) ); |
607 | 656 | ||
608 | 657 | ||
609 | } | 658 | } |
610 | } | 659 | } |
611 | 660 | ||
661 | void KABCore::export2phone() | ||
662 | { | ||
663 | |||
664 | KAex2phonePrefs ex2phone; | ||
665 | ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); | ||
666 | ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); | ||
667 | ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); | ||
668 | |||
669 | if ( !ex2phone.exec() ) { | ||
670 | return; | ||
671 | } | ||
672 | KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); | ||
673 | KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); | ||
674 | KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); | ||
675 | |||
676 | #if 0 | ||
677 | PhoneFormat::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, | ||
678 | KPimGlobalPrefs::instance()->mEx2PhoneConnection, | ||
679 | KPimGlobalPrefs::instance()->mEx2PhoneModel ); | ||
680 | |||
681 | |||
682 | |||
683 | |||
684 | |||
685 | QString fileName = "/tmp/kapibeamfile.vcf"; | ||
686 | |||
687 | |||
688 | //QDir().mkdir( dirName, true ); | ||
689 | |||
690 | |||
691 | KABC::VCardConverter converter; | ||
692 | QString description; | ||
693 | QString datastream; | ||
694 | for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { | ||
695 | KABC::Addressee a = mAddressBook->findByUid( *it ); | ||
696 | |||
697 | if ( a.isEmpty() ) | ||
698 | continue; | ||
699 | |||
700 | if (description.isEmpty()) | ||
701 | description = a.formattedName(); | ||
702 | |||
703 | QString vcard; | ||
704 | converter.addresseeToVCard( a, vcard ); | ||
705 | int start = 0; | ||
706 | int next; | ||
707 | while ( (next = vcard.find("TYPE=", start) )>= 0 ) { | ||
708 | int semi = vcard.find(";", next); | ||
709 | int dopp = vcard.find(":", next); | ||
710 | int sep; | ||
711 | if ( semi < dopp && semi >= 0 ) | ||
712 | sep = semi ; | ||
713 | else | ||
714 | sep = dopp; | ||
715 | datastream +=vcard.mid( start, next - start); | ||
716 | datastream +=vcard.mid( next+5,sep -next -5 ).upper(); | ||
717 | start = sep; | ||
718 | } | ||
719 | datastream += vcard.mid( start,vcard.length() ); | ||
720 | } | ||
721 | #ifndef DESKTOP_VERSION | ||
722 | QFile outFile(fileName); | ||
723 | if ( outFile.open(IO_WriteOnly) ) { | ||
724 | datastream.replace ( QRegExp("VERSION:3.0") , "VERSION:2.1" ); | ||
725 | QTextStream t( &outFile ); // use a text stream | ||
726 | t.setEncoding( QTextStream::UnicodeUTF8 ); | ||
727 | t <<datastream; | ||
728 | outFile.close(); | ||
729 | Ir *ir = new Ir( this ); | ||
730 | connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) ); | ||
731 | ir->send( fileName, description, "text/x-vCard" ); | ||
732 | } else { | ||
733 | qDebug("Error open temp beam file "); | ||
734 | return; | ||
735 | } | ||
736 | #endif | ||
737 | |||
738 | |||
739 | |||
740 | |||
741 | setCaption( i18n("Writing to phone...")); | ||
742 | if ( PhoneFormat::writeToPhone( cal ) ) | ||
743 | setCaption( i18n("Export to phone successful!")); | ||
744 | else | ||
745 | setCaption( i18n("Error exporting to phone!")); | ||
746 | #endif | ||
747 | |||
748 | |||
749 | } | ||
612 | void KABCore::beamVCard() | 750 | void KABCore::beamVCard() |
613 | { | 751 | { |
614 | QStringList uids = mViewManager->selectedUids(); | 752 | QStringList uids = mViewManager->selectedUids(); |
615 | if ( !uids.isEmpty() ) | 753 | if ( !uids.isEmpty() ) |
616 | beamVCard( uids ); | 754 | beamVCard( uids ); |
617 | } | 755 | } |
618 | 756 | ||
619 | 757 | ||
620 | void KABCore::beamVCard(const QStringList& uids) | 758 | void KABCore::beamVCard(const QStringList& uids) |
621 | { | 759 | { |
622 | /*US | 760 | /*US |
623 | QString beamFilename; | 761 | QString beamFilename; |
624 | Opie::OPimContact c; | 762 | Opie::OPimContact c; |
625 | if ( actionPersonal->isOn() ) { | 763 | if ( actionPersonal->isOn() ) { |
626 | beamFilename = addressbookPersonalVCardName(); | 764 | beamFilename = addressbookPersonalVCardName(); |
627 | if ( !QFile::exists( beamFilename ) ) | 765 | if ( !QFile::exists( beamFilename ) ) |
628 | return; // can't beam a non-existent file | 766 | return; // can't beam a non-existent file |
629 | Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null, | 767 | Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null, |
630 | beamFilename ); | 768 | beamFilename ); |
631 | Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true ); | 769 | Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true ); |
632 | Opie::OPimContactAccess::List allList = access->allRecords(); | 770 | Opie::OPimContactAccess::List allList = access->allRecords(); |
633 | Opie::OPimContactAccess::List::Iterator it = allList.begin(); // Just take first | 771 | Opie::OPimContactAccess::List::Iterator it = allList.begin(); // Just take first |
634 | c = *it; | 772 | c = *it; |
635 | 773 | ||
636 | delete access; | 774 | delete access; |
637 | } else { | 775 | } else { |
638 | unlink( beamfile ); // delete if exists | 776 | unlink( beamfile ); // delete if exists |
639 | mkdir("/tmp/obex/", 0755); | 777 | mkdir("/tmp/obex/", 0755); |
640 | c = m_abView -> currentEntry(); | 778 | c = m_abView -> currentEntry(); |
641 | Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null, | 779 | Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null, |
642 | beamfile ); | 780 | beamfile ); |
643 | Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true ); | 781 | Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true ); |
644 | access->add( c ); | 782 | access->add( c ); |
645 | access->save(); | 783 | access->save(); |
646 | delete access; | 784 | delete access; |
647 | 785 | ||
648 | beamFilename = beamfile; | 786 | beamFilename = beamfile; |
649 | } | 787 | } |
650 | 788 | ||
651 | owarn << "Beaming: " << beamFilename << oendl; | 789 | owarn << "Beaming: " << beamFilename << oendl; |
652 | */ | 790 | */ |
653 | 791 | ||
654 | #if 0 | 792 | #if 0 |
655 | QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); | 793 | QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); |
656 | 794 | ||
657 | QString dirName = tmpdir + "/" + KApplication::randomString( 8 ); | 795 | QString dirName = tmpdir + "/" + KApplication::randomString( 8 ); |
658 | 796 | ||
659 | QString name = "contact.vcf"; | 797 | QString name = "contact.vcf"; |
660 | 798 | ||
661 | QString fileName = dirName + "/" + name; | 799 | QString fileName = dirName + "/" + name; |
662 | #endif | 800 | #endif |
663 | // LR: we should use the /tmp dir, because: /tmp = RAM, (HOME)/kdepim = flash memory | 801 | // LR: we should use the /tmp dir, because: /tmp = RAM, (HOME)/kdepim = flash memory |
664 | // | 802 | // |
665 | QString fileName = "/tmp/kapibeamfile.vcf"; | 803 | QString fileName = "/tmp/kapibeamfile.vcf"; |
666 | 804 | ||
667 | 805 | ||
668 | //QDir().mkdir( dirName, true ); | 806 | //QDir().mkdir( dirName, true ); |
669 | 807 | ||
670 | 808 | ||
671 | KABC::VCardConverter converter; | 809 | KABC::VCardConverter converter; |
672 | QString description; | 810 | QString description; |
673 | QString datastream; | 811 | QString datastream; |
674 | for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { | 812 | for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { |
675 | KABC::Addressee a = mAddressBook->findByUid( *it ); | 813 | KABC::Addressee a = mAddressBook->findByUid( *it ); |
676 | 814 | ||
677 | if ( a.isEmpty() ) | 815 | if ( a.isEmpty() ) |
678 | continue; | 816 | continue; |
679 | 817 | ||
680 | if (description.isEmpty()) | 818 | if (description.isEmpty()) |
681 | description = a.formattedName(); | 819 | description = a.formattedName(); |
682 | 820 | ||
683 | QString vcard; | 821 | QString vcard; |
684 | converter.addresseeToVCard( a, vcard ); | 822 | converter.addresseeToVCard( a, vcard ); |
685 | int start = 0; | 823 | int start = 0; |
686 | int next; | 824 | int next; |
687 | while ( (next = vcard.find("TYPE=", start) )>= 0 ) { | 825 | while ( (next = vcard.find("TYPE=", start) )>= 0 ) { |
688 | int semi = vcard.find(";", next); | 826 | int semi = vcard.find(";", next); |
689 | int dopp = vcard.find(":", next); | 827 | int dopp = vcard.find(":", next); |
690 | int sep; | 828 | int sep; |
691 | if ( semi < dopp && semi >= 0 ) | 829 | if ( semi < dopp && semi >= 0 ) |
692 | sep = semi ; | 830 | sep = semi ; |
693 | else | 831 | else |
694 | sep = dopp; | 832 | sep = dopp; |
695 | datastream +=vcard.mid( start, next - start); | 833 | datastream +=vcard.mid( start, next - start); |
696 | datastream +=vcard.mid( next+5,sep -next -5 ).upper(); | 834 | datastream +=vcard.mid( next+5,sep -next -5 ).upper(); |
697 | start = sep; | 835 | start = sep; |
698 | } | 836 | } |
699 | datastream += vcard.mid( start,vcard.length() ); | 837 | datastream += vcard.mid( start,vcard.length() ); |
700 | } | 838 | } |
701 | #ifndef DESKTOP_VERSION | 839 | #ifndef DESKTOP_VERSION |
702 | QFile outFile(fileName); | 840 | QFile outFile(fileName); |
703 | if ( outFile.open(IO_WriteOnly) ) { | 841 | if ( outFile.open(IO_WriteOnly) ) { |
704 | datastream.replace ( QRegExp("VERSION:3.0") , "VERSION:2.1" ); | 842 | datastream.replace ( QRegExp("VERSION:3.0") , "VERSION:2.1" ); |
705 | QTextStream t( &outFile ); // use a text stream | 843 | QTextStream t( &outFile ); // use a text stream |
706 | t.setEncoding( QTextStream::UnicodeUTF8 ); | 844 | t.setEncoding( QTextStream::UnicodeUTF8 ); |
707 | t <<datastream; | 845 | t <<datastream; |
708 | outFile.close(); | 846 | outFile.close(); |
709 | Ir *ir = new Ir( this ); | 847 | Ir *ir = new Ir( this ); |
710 | connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) ); | 848 | connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) ); |
711 | ir->send( fileName, description, "text/x-vCard" ); | 849 | ir->send( fileName, description, "text/x-vCard" ); |
712 | } else { | 850 | } else { |
713 | qDebug("Error open temp beam file "); | 851 | qDebug("Error open temp beam file "); |
714 | return; | 852 | return; |
715 | } | 853 | } |
716 | #endif | 854 | #endif |
717 | 855 | ||
718 | } | 856 | } |
719 | 857 | ||
720 | void KABCore::beamDone( Ir *ir ) | 858 | void KABCore::beamDone( Ir *ir ) |
721 | { | 859 | { |
722 | #ifndef DESKTOP_VERSION | 860 | #ifndef DESKTOP_VERSION |
723 | delete ir; | 861 | delete ir; |
724 | #endif | 862 | #endif |
725 | } | 863 | } |
726 | 864 | ||
727 | 865 | ||
728 | void KABCore::browse( const QString& url ) | 866 | void KABCore::browse( const QString& url ) |
729 | { | 867 | { |
730 | #ifndef KAB_EMBEDDED | 868 | #ifndef KAB_EMBEDDED |
731 | kapp->invokeBrowser( url ); | 869 | kapp->invokeBrowser( url ); |
732 | #else //KAB_EMBEDDED | 870 | #else //KAB_EMBEDDED |
733 | qDebug("KABCore::browse must be fixed"); | 871 | qDebug("KABCore::browse must be fixed"); |
734 | #endif //KAB_EMBEDDED | 872 | #endif //KAB_EMBEDDED |
735 | } | 873 | } |
736 | 874 | ||
737 | void KABCore::selectAllContacts() | 875 | void KABCore::selectAllContacts() |
738 | { | 876 | { |
739 | mViewManager->setSelected( QString::null, true ); | 877 | mViewManager->setSelected( QString::null, true ); |
@@ -1479,256 +1617,260 @@ void KABCore::initGUI() | |||
1479 | mViewManager = new ViewManager( this, mExtensionBarSplitter ); | 1617 | mViewManager = new ViewManager( this, mExtensionBarSplitter ); |
1480 | mDetails = new ViewContainer( mMiniSplitter ); | 1618 | mDetails = new ViewContainer( mMiniSplitter ); |
1481 | mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); | 1619 | mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); |
1482 | #else | 1620 | #else |
1483 | if ( QApplication::desktop()->width() > 480 ) { | 1621 | if ( QApplication::desktop()->width() > 480 ) { |
1484 | topLayout = new QHBoxLayout( this ); | 1622 | topLayout = new QHBoxLayout( this ); |
1485 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); | 1623 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); |
1486 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); | 1624 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); |
1487 | } else { | 1625 | } else { |
1488 | 1626 | ||
1489 | topLayout = new QHBoxLayout( this ); | 1627 | topLayout = new QHBoxLayout( this ); |
1490 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); | 1628 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); |
1491 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); | 1629 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); |
1492 | } | 1630 | } |
1493 | 1631 | ||
1494 | topLayout->addWidget(mMiniSplitter ); | 1632 | topLayout->addWidget(mMiniSplitter ); |
1495 | mViewManager = new ViewManager( this, mMiniSplitter ); | 1633 | mViewManager = new ViewManager( this, mMiniSplitter ); |
1496 | mDetails = new ViewContainer( mMiniSplitter ); | 1634 | mDetails = new ViewContainer( mMiniSplitter ); |
1497 | 1635 | ||
1498 | 1636 | ||
1499 | mExtensionManager = new ExtensionManager( this, mMiniSplitter ); | 1637 | mExtensionManager = new ExtensionManager( this, mMiniSplitter ); |
1500 | #endif | 1638 | #endif |
1501 | //eh->hide(); | 1639 | //eh->hide(); |
1502 | // topLayout->addWidget(mExtensionManager ); | 1640 | // topLayout->addWidget(mExtensionManager ); |
1503 | 1641 | ||
1504 | 1642 | ||
1505 | /*US | 1643 | /*US |
1506 | #ifndef KAB_NOSPLITTER | 1644 | #ifndef KAB_NOSPLITTER |
1507 | QHBoxLayout *topLayout = new QHBoxLayout( this ); | 1645 | QHBoxLayout *topLayout = new QHBoxLayout( this ); |
1508 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); | 1646 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); |
1509 | topLayout->setSpacing( 10 ); | 1647 | topLayout->setSpacing( 10 ); |
1510 | 1648 | ||
1511 | mDetailsSplitter = new QSplitter( this ); | 1649 | mDetailsSplitter = new QSplitter( this ); |
1512 | 1650 | ||
1513 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); | 1651 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); |
1514 | 1652 | ||
1515 | mViewManager = new ViewManager( this, viewSpace ); | 1653 | mViewManager = new ViewManager( this, viewSpace ); |
1516 | viewSpace->setStretchFactor( mViewManager, 1 ); | 1654 | viewSpace->setStretchFactor( mViewManager, 1 ); |
1517 | 1655 | ||
1518 | mDetails = new ViewContainer( mDetailsSplitter ); | 1656 | mDetails = new ViewContainer( mDetailsSplitter ); |
1519 | 1657 | ||
1520 | topLayout->addWidget( mDetailsSplitter ); | 1658 | topLayout->addWidget( mDetailsSplitter ); |
1521 | topLayout->setStretchFactor( mDetailsSplitter, 100 ); | 1659 | topLayout->setStretchFactor( mDetailsSplitter, 100 ); |
1522 | #else //KAB_NOSPLITTER | 1660 | #else //KAB_NOSPLITTER |
1523 | QHBoxLayout *topLayout = new QHBoxLayout( this ); | 1661 | QHBoxLayout *topLayout = new QHBoxLayout( this ); |
1524 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); | 1662 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); |
1525 | topLayout->setSpacing( 10 ); | 1663 | topLayout->setSpacing( 10 ); |
1526 | 1664 | ||
1527 | // mDetailsSplitter = new QSplitter( this ); | 1665 | // mDetailsSplitter = new QSplitter( this ); |
1528 | 1666 | ||
1529 | QVBox *viewSpace = new QVBox( this ); | 1667 | QVBox *viewSpace = new QVBox( this ); |
1530 | 1668 | ||
1531 | mViewManager = new ViewManager( this, viewSpace ); | 1669 | mViewManager = new ViewManager( this, viewSpace ); |
1532 | viewSpace->setStretchFactor( mViewManager, 1 ); | 1670 | viewSpace->setStretchFactor( mViewManager, 1 ); |
1533 | 1671 | ||
1534 | mDetails = new ViewContainer( this ); | 1672 | mDetails = new ViewContainer( this ); |
1535 | 1673 | ||
1536 | topLayout->addWidget( viewSpace ); | 1674 | topLayout->addWidget( viewSpace ); |
1537 | // topLayout->setStretchFactor( mDetailsSplitter, 100 ); | 1675 | // topLayout->setStretchFactor( mDetailsSplitter, 100 ); |
1538 | topLayout->addWidget( mDetails ); | 1676 | topLayout->addWidget( mDetails ); |
1539 | #endif //KAB_NOSPLITTER | 1677 | #endif //KAB_NOSPLITTER |
1540 | */ | 1678 | */ |
1541 | 1679 | ||
1542 | syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); | 1680 | syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); |
1543 | syncManager->setBlockSave(false); | 1681 | syncManager->setBlockSave(false); |
1544 | 1682 | ||
1545 | 1683 | ||
1546 | #endif //KAB_EMBEDDED | 1684 | #endif //KAB_EMBEDDED |
1547 | initActions(); | 1685 | initActions(); |
1548 | 1686 | ||
1549 | #ifdef KAB_EMBEDDED | 1687 | #ifdef KAB_EMBEDDED |
1550 | addActionsManually(); | 1688 | addActionsManually(); |
1551 | //US make sure the export and import menues are initialized before creating the xxPortManager. | 1689 | //US make sure the export and import menues are initialized before creating the xxPortManager. |
1552 | mXXPortManager = new XXPortManager( this, this ); | 1690 | mXXPortManager = new XXPortManager( this, this ); |
1553 | 1691 | ||
1554 | // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); | 1692 | // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); |
1555 | //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); | 1693 | //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); |
1556 | // mActionQuit->plug ( mMainWindow->toolBar()); | 1694 | // mActionQuit->plug ( mMainWindow->toolBar()); |
1557 | //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); | 1695 | //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); |
1558 | //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); | 1696 | //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); |
1559 | // mIncSearchWidget->hide(); | 1697 | // mIncSearchWidget->hide(); |
1560 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), | 1698 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), |
1561 | SLOT( incrementalSearch( const QString& ) ) ); | 1699 | SLOT( incrementalSearch( const QString& ) ) ); |
1562 | 1700 | ||
1563 | 1701 | ||
1564 | mJumpButtonBar = new JumpButtonBar( this, this ); | 1702 | mJumpButtonBar = new JumpButtonBar( this, this ); |
1565 | 1703 | ||
1566 | topLayout->addWidget( mJumpButtonBar ); | 1704 | topLayout->addWidget( mJumpButtonBar ); |
1567 | //US topLayout->setStretchFactor( mJumpButtonBar, 10 ); | 1705 | //US topLayout->setStretchFactor( mJumpButtonBar, 10 ); |
1568 | 1706 | ||
1569 | // mMainWindow->getIconToolBar()->raise(); | 1707 | // mMainWindow->getIconToolBar()->raise(); |
1570 | 1708 | ||
1571 | #endif //KAB_EMBEDDED | 1709 | #endif //KAB_EMBEDDED |
1572 | 1710 | ||
1573 | } | 1711 | } |
1574 | void KABCore::initActions() | 1712 | void KABCore::initActions() |
1575 | { | 1713 | { |
1576 | //US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); | 1714 | //US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); |
1577 | 1715 | ||
1578 | #ifndef KAB_EMBEDDED | 1716 | #ifndef KAB_EMBEDDED |
1579 | connect( QApplication::clipboard(), SIGNAL( dataChanged() ), | 1717 | connect( QApplication::clipboard(), SIGNAL( dataChanged() ), |
1580 | SLOT( clipboardDataChanged() ) ); | 1718 | SLOT( clipboardDataChanged() ) ); |
1581 | #endif //KAB_EMBEDDED | 1719 | #endif //KAB_EMBEDDED |
1582 | 1720 | ||
1583 | // file menu | 1721 | // file menu |
1584 | if ( mIsPart ) { | 1722 | if ( mIsPart ) { |
1585 | mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this, | 1723 | mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this, |
1586 | SLOT( sendMail() ), actionCollection(), | 1724 | SLOT( sendMail() ), actionCollection(), |
1587 | "kaddressbook_mail" ); | 1725 | "kaddressbook_mail" ); |
1588 | mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this, | 1726 | mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this, |
1589 | SLOT( print() ), actionCollection(), "kaddressbook_print" ); | 1727 | SLOT( print() ), actionCollection(), "kaddressbook_print" ); |
1590 | 1728 | ||
1591 | } else { | 1729 | } else { |
1592 | mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); | 1730 | mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); |
1593 | mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); | 1731 | mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); |
1594 | } | 1732 | } |
1595 | 1733 | ||
1596 | 1734 | ||
1597 | mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, | 1735 | mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, |
1598 | SLOT( save() ), actionCollection(), "file_sync" ); | 1736 | SLOT( save() ), actionCollection(), "file_sync" ); |
1599 | 1737 | ||
1600 | mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, | 1738 | mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, |
1601 | SLOT( newContact() ), actionCollection(), "file_new_contact" ); | 1739 | SLOT( newContact() ), actionCollection(), "file_new_contact" ); |
1602 | 1740 | ||
1603 | mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, | 1741 | mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, |
1604 | this, SLOT( mailVCard() ), | 1742 | this, SLOT( mailVCard() ), |
1605 | actionCollection(), "file_mail_vcard"); | 1743 | actionCollection(), "file_mail_vcard"); |
1606 | 1744 | ||
1745 | mActionExport2phone = new KAction( i18n( "Selected to phone" ), "ex2phone", 0, this, | ||
1746 | SLOT( export2phone() ), actionCollection(), | ||
1747 | "kaddressbook_ex2phone" ); | ||
1748 | |||
1607 | mActionBeamVCard = 0; | 1749 | mActionBeamVCard = 0; |
1608 | mActionBeam = 0; | 1750 | mActionBeam = 0; |
1609 | 1751 | ||
1610 | #ifndef DESKTOP_VERSION | 1752 | #ifndef DESKTOP_VERSION |
1611 | if ( Ir::supported() ) { | 1753 | if ( Ir::supported() ) { |
1612 | mActionBeamVCard = new KAction( i18n( "Beam selected v&Card(s)" ), "beam", 0, this, | 1754 | mActionBeamVCard = new KAction( i18n( "Beam selected v&Card(s)" ), "beam", 0, this, |
1613 | SLOT( beamVCard() ), actionCollection(), | 1755 | SLOT( beamVCard() ), actionCollection(), |
1614 | "kaddressbook_beam_vcard" ); | 1756 | "kaddressbook_beam_vcard" ); |
1615 | 1757 | ||
1616 | mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, | 1758 | mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, |
1617 | SLOT( beamMySelf() ), actionCollection(), | 1759 | SLOT( beamMySelf() ), actionCollection(), |
1618 | "kaddressbook_beam_myself" ); | 1760 | "kaddressbook_beam_myself" ); |
1619 | } | 1761 | } |
1620 | #endif | 1762 | #endif |
1621 | 1763 | ||
1622 | mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, | 1764 | mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, |
1623 | this, SLOT( editContact2() ), | 1765 | this, SLOT( editContact2() ), |
1624 | actionCollection(), "file_properties" ); | 1766 | actionCollection(), "file_properties" ); |
1625 | 1767 | ||
1626 | #ifdef KAB_EMBEDDED | 1768 | #ifdef KAB_EMBEDDED |
1627 | // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); | 1769 | // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); |
1628 | mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, | 1770 | mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, |
1629 | mMainWindow, SLOT( exit() ), | 1771 | mMainWindow, SLOT( exit() ), |
1630 | actionCollection(), "quit" ); | 1772 | actionCollection(), "quit" ); |
1631 | #endif //KAB_EMBEDDED | 1773 | #endif //KAB_EMBEDDED |
1632 | 1774 | ||
1633 | // edit menu | 1775 | // edit menu |
1634 | if ( mIsPart ) { | 1776 | if ( mIsPart ) { |
1635 | mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, | 1777 | mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, |
1636 | SLOT( copyContacts() ), actionCollection(), | 1778 | SLOT( copyContacts() ), actionCollection(), |
1637 | "kaddressbook_copy" ); | 1779 | "kaddressbook_copy" ); |
1638 | mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, | 1780 | mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, |
1639 | SLOT( cutContacts() ), actionCollection(), | 1781 | SLOT( cutContacts() ), actionCollection(), |
1640 | "kaddressbook_cut" ); | 1782 | "kaddressbook_cut" ); |
1641 | mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, | 1783 | mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, |
1642 | SLOT( pasteContacts() ), actionCollection(), | 1784 | SLOT( pasteContacts() ), actionCollection(), |
1643 | "kaddressbook_paste" ); | 1785 | "kaddressbook_paste" ); |
1644 | mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, | 1786 | mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, |
1645 | SLOT( selectAllContacts() ), actionCollection(), | 1787 | SLOT( selectAllContacts() ), actionCollection(), |
1646 | "kaddressbook_select_all" ); | 1788 | "kaddressbook_select_all" ); |
1647 | mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, | 1789 | mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, |
1648 | SLOT( undo() ), actionCollection(), | 1790 | SLOT( undo() ), actionCollection(), |
1649 | "kaddressbook_undo" ); | 1791 | "kaddressbook_undo" ); |
1650 | mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, | 1792 | mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, |
1651 | this, SLOT( redo() ), actionCollection(), | 1793 | this, SLOT( redo() ), actionCollection(), |
1652 | "kaddressbook_redo" ); | 1794 | "kaddressbook_redo" ); |
1653 | } else { | 1795 | } else { |
1654 | mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); | 1796 | mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); |
1655 | mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); | 1797 | mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); |
1656 | mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); | 1798 | mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); |
1657 | mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); | 1799 | mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); |
1658 | mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); | 1800 | mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); |
1659 | mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); | 1801 | mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); |
1660 | } | 1802 | } |
1661 | 1803 | ||
1662 | mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", | 1804 | mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", |
1663 | Key_Delete, this, SLOT( deleteContacts() ), | 1805 | Key_Delete, this, SLOT( deleteContacts() ), |
1664 | actionCollection(), "edit_delete" ); | 1806 | actionCollection(), "edit_delete" ); |
1665 | 1807 | ||
1666 | mActionUndo->setEnabled( false ); | 1808 | mActionUndo->setEnabled( false ); |
1667 | mActionRedo->setEnabled( false ); | 1809 | mActionRedo->setEnabled( false ); |
1668 | 1810 | ||
1669 | // settings menu | 1811 | // settings menu |
1670 | #ifdef KAB_EMBEDDED | 1812 | #ifdef KAB_EMBEDDED |
1671 | //US special menuentry to configure the addressbook resources. On KDE | 1813 | //US special menuentry to configure the addressbook resources. On KDE |
1672 | // you do that through the control center !!! | 1814 | // you do that through the control center !!! |
1673 | mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, | 1815 | mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, |
1674 | SLOT( configureResources() ), actionCollection(), | 1816 | SLOT( configureResources() ), actionCollection(), |
1675 | "kaddressbook_configure_resources" ); | 1817 | "kaddressbook_configure_resources" ); |
1676 | #endif //KAB_EMBEDDED | 1818 | #endif //KAB_EMBEDDED |
1677 | 1819 | ||
1678 | if ( mIsPart ) { | 1820 | if ( mIsPart ) { |
1679 | mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, | 1821 | mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, |
1680 | SLOT( openConfigDialog() ), actionCollection(), | 1822 | SLOT( openConfigDialog() ), actionCollection(), |
1681 | "kaddressbook_configure" ); | 1823 | "kaddressbook_configure" ); |
1682 | 1824 | ||
1683 | mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, | 1825 | mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, |
1684 | this, SLOT( configureKeyBindings() ), actionCollection(), | 1826 | this, SLOT( configureKeyBindings() ), actionCollection(), |
1685 | "kaddressbook_configure_shortcuts" ); | 1827 | "kaddressbook_configure_shortcuts" ); |
1686 | #ifdef KAB_EMBEDDED | 1828 | #ifdef KAB_EMBEDDED |
1687 | mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); | 1829 | mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); |
1688 | mActionConfigureToolbars->setEnabled( false ); | 1830 | mActionConfigureToolbars->setEnabled( false ); |
1689 | #endif //KAB_EMBEDDED | 1831 | #endif //KAB_EMBEDDED |
1690 | 1832 | ||
1691 | } else { | 1833 | } else { |
1692 | mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); | 1834 | mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); |
1693 | 1835 | ||
1694 | mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); | 1836 | mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); |
1695 | } | 1837 | } |
1696 | 1838 | ||
1697 | mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, | 1839 | mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, |
1698 | actionCollection(), "options_show_jump_bar" ); | 1840 | actionCollection(), "options_show_jump_bar" ); |
1699 | connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); | 1841 | connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); |
1700 | 1842 | ||
1701 | mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, | 1843 | mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, |
1702 | actionCollection(), "options_show_details" ); | 1844 | actionCollection(), "options_show_details" ); |
1703 | connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); | 1845 | connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); |
1704 | 1846 | ||
1705 | // misc | 1847 | // misc |
1706 | // only enable LDAP lookup if we can handle the protocol | 1848 | // only enable LDAP lookup if we can handle the protocol |
1707 | #ifndef KAB_EMBEDDED | 1849 | #ifndef KAB_EMBEDDED |
1708 | if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { | 1850 | if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { |
1709 | new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, | 1851 | new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, |
1710 | this, SLOT( openLDAPDialog() ), actionCollection(), | 1852 | this, SLOT( openLDAPDialog() ), actionCollection(), |
1711 | "ldap_lookup" ); | 1853 | "ldap_lookup" ); |
1712 | } | 1854 | } |
1713 | #else //KAB_EMBEDDED | 1855 | #else //KAB_EMBEDDED |
1714 | //qDebug("KABCore::initActions() LDAP has to be implemented"); | 1856 | //qDebug("KABCore::initActions() LDAP has to be implemented"); |
1715 | #endif //KAB_EMBEDDED | 1857 | #endif //KAB_EMBEDDED |
1716 | 1858 | ||
1717 | 1859 | ||
1718 | mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, | 1860 | mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, |
1719 | SLOT( setWhoAmI() ), actionCollection(), | 1861 | SLOT( setWhoAmI() ), actionCollection(), |
1720 | "set_personal" ); | 1862 | "set_personal" ); |
1721 | 1863 | ||
1722 | 1864 | ||
1723 | 1865 | ||
1724 | 1866 | ||
1725 | mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, | 1867 | mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, |
1726 | SLOT( setCategories() ), actionCollection(), | 1868 | SLOT( setCategories() ), actionCollection(), |
1727 | "edit_set_categories" ); | 1869 | "edit_set_categories" ); |
1728 | 1870 | ||
1729 | mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, | 1871 | mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, |
1730 | SLOT( removeVoice() ), actionCollection(), | 1872 | SLOT( removeVoice() ), actionCollection(), |
1731 | "remove_voice" ); | 1873 | "remove_voice" ); |
1732 | mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, | 1874 | mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, |
1733 | SLOT( importFromOL() ), actionCollection(), | 1875 | SLOT( importFromOL() ), actionCollection(), |
1734 | "import_OL" ); | 1876 | "import_OL" ); |
@@ -1779,256 +1921,257 @@ void KABCore::addActionsManually() | |||
1779 | // tb->insertWidget(-1, 0, mIncSearchWidget); | 1921 | // tb->insertWidget(-1, 0, mIncSearchWidget); |
1780 | 1922 | ||
1781 | #else | 1923 | #else |
1782 | //US setup toolbar | 1924 | //US setup toolbar |
1783 | QPEMenuBar *menuBarTB = new QPEMenuBar( tb ); | 1925 | QPEMenuBar *menuBarTB = new QPEMenuBar( tb ); |
1784 | QPopupMenu *popupBarTB = new QPopupMenu( this ); | 1926 | QPopupMenu *popupBarTB = new QPopupMenu( this ); |
1785 | menuBarTB->insertItem( "ME", popupBarTB); | 1927 | menuBarTB->insertItem( "ME", popupBarTB); |
1786 | tb->insertWidget(-1, 0, menuBarTB); | 1928 | tb->insertWidget(-1, 0, menuBarTB); |
1787 | mIncSearchWidget = new IncSearchWidget( tb ); | 1929 | mIncSearchWidget = new IncSearchWidget( tb ); |
1788 | 1930 | ||
1789 | tb->enableMoving(false); | 1931 | tb->enableMoving(false); |
1790 | popupBarTB->insertItem( "&File", fileMenu ); | 1932 | popupBarTB->insertItem( "&File", fileMenu ); |
1791 | popupBarTB->insertItem( "&Edit", editMenu ); | 1933 | popupBarTB->insertItem( "&Edit", editMenu ); |
1792 | popupBarTB->insertItem( "&View", viewMenu ); | 1934 | popupBarTB->insertItem( "&View", viewMenu ); |
1793 | popupBarTB->insertItem( "&Settings", settingsMenu ); | 1935 | popupBarTB->insertItem( "&Settings", settingsMenu ); |
1794 | popupBarTB->insertItem( i18n("Synchronize"), syncMenu ); | 1936 | popupBarTB->insertItem( i18n("Synchronize"), syncMenu ); |
1795 | mViewManager->getFilterAction()->plug ( popupBarTB); | 1937 | mViewManager->getFilterAction()->plug ( popupBarTB); |
1796 | popupBarTB->insertItem( "&Change selected", changeMenu ); | 1938 | popupBarTB->insertItem( "&Change selected", changeMenu ); |
1797 | popupBarTB->insertItem( "&Help", helpMenu ); | 1939 | popupBarTB->insertItem( "&Help", helpMenu ); |
1798 | if (QApplication::desktop()->width() > 320 ) { | 1940 | if (QApplication::desktop()->width() > 320 ) { |
1799 | // mViewManager->getFilterAction()->plug ( tb); | 1941 | // mViewManager->getFilterAction()->plug ( tb); |
1800 | } | 1942 | } |
1801 | #endif | 1943 | #endif |
1802 | // mActionQuit->plug ( mMainWindow->toolBar()); | 1944 | // mActionQuit->plug ( mMainWindow->toolBar()); |
1803 | 1945 | ||
1804 | 1946 | ||
1805 | 1947 | ||
1806 | //US Now connect the actions with the menue entries. | 1948 | //US Now connect the actions with the menue entries. |
1807 | mActionPrint->plug( fileMenu ); | 1949 | mActionPrint->plug( fileMenu ); |
1808 | mActionMail->plug( fileMenu ); | 1950 | mActionMail->plug( fileMenu ); |
1809 | fileMenu->insertSeparator(); | 1951 | fileMenu->insertSeparator(); |
1810 | 1952 | ||
1811 | mActionNewContact->plug( fileMenu ); | 1953 | mActionNewContact->plug( fileMenu ); |
1812 | mActionNewContact->plug( tb ); | 1954 | mActionNewContact->plug( tb ); |
1813 | 1955 | ||
1814 | mActionEditAddressee->plug( fileMenu ); | 1956 | mActionEditAddressee->plug( fileMenu ); |
1815 | if ((KGlobal::getDesktopSize() > KGlobal::Small ) || | 1957 | if ((KGlobal::getDesktopSize() > KGlobal::Small ) || |
1816 | (!KABPrefs::instance()->mMultipleViewsAtOnce )) | 1958 | (!KABPrefs::instance()->mMultipleViewsAtOnce )) |
1817 | mActionEditAddressee->plug( tb ); | 1959 | mActionEditAddressee->plug( tb ); |
1818 | 1960 | ||
1819 | fileMenu->insertSeparator(); | 1961 | fileMenu->insertSeparator(); |
1820 | mActionSave->plug( fileMenu ); | 1962 | mActionSave->plug( fileMenu ); |
1821 | fileMenu->insertItem( "&Import", ImportMenu ); | 1963 | fileMenu->insertItem( "&Import", ImportMenu ); |
1822 | fileMenu->insertItem( "&Export", ExportMenu ); | 1964 | fileMenu->insertItem( "&Export", ExportMenu ); |
1823 | fileMenu->insertSeparator(); | 1965 | fileMenu->insertSeparator(); |
1824 | mActionMailVCard->plug( fileMenu ); | 1966 | mActionMailVCard->plug( fileMenu ); |
1825 | #ifndef DESKTOP_VERSION | 1967 | #ifndef DESKTOP_VERSION |
1826 | if ( Ir::supported() ) mActionBeamVCard->plug( fileMenu ); | 1968 | if ( Ir::supported() ) mActionBeamVCard->plug( fileMenu ); |
1827 | if ( Ir::supported() ) mActionBeam->plug(fileMenu ); | 1969 | if ( Ir::supported() ) mActionBeam->plug(fileMenu ); |
1828 | #endif | 1970 | #endif |
1829 | fileMenu->insertSeparator(); | 1971 | fileMenu->insertSeparator(); |
1830 | mActionQuit->plug( fileMenu ); | 1972 | mActionQuit->plug( fileMenu ); |
1831 | #ifdef _WIN32_ | 1973 | #ifdef _WIN32_ |
1832 | mActionImportOL->plug( ImportMenu ); | 1974 | mActionImportOL->plug( ImportMenu ); |
1833 | #endif | 1975 | #endif |
1834 | // edit menu | 1976 | // edit menu |
1835 | mActionUndo->plug( editMenu ); | 1977 | mActionUndo->plug( editMenu ); |
1836 | mActionRedo->plug( editMenu ); | 1978 | mActionRedo->plug( editMenu ); |
1837 | editMenu->insertSeparator(); | 1979 | editMenu->insertSeparator(); |
1838 | mActionCut->plug( editMenu ); | 1980 | mActionCut->plug( editMenu ); |
1839 | mActionCopy->plug( editMenu ); | 1981 | mActionCopy->plug( editMenu ); |
1840 | mActionPaste->plug( editMenu ); | 1982 | mActionPaste->plug( editMenu ); |
1841 | mActionDelete->plug( editMenu ); | 1983 | mActionDelete->plug( editMenu ); |
1842 | editMenu->insertSeparator(); | 1984 | editMenu->insertSeparator(); |
1843 | mActionSelectAll->plug( editMenu ); | 1985 | mActionSelectAll->plug( editMenu ); |
1844 | 1986 | ||
1845 | mActionRemoveVoice->plug( changeMenu ); | 1987 | mActionRemoveVoice->plug( changeMenu ); |
1846 | // settings menu | 1988 | // settings menu |
1847 | //US special menuentry to configure the addressbook resources. On KDE | 1989 | //US special menuentry to configure the addressbook resources. On KDE |
1848 | // you do that through the control center !!! | 1990 | // you do that through the control center !!! |
1849 | mActionConfigResources->plug( settingsMenu ); | 1991 | mActionConfigResources->plug( settingsMenu ); |
1850 | settingsMenu->insertSeparator(); | 1992 | settingsMenu->insertSeparator(); |
1851 | 1993 | ||
1852 | mActionConfigKAddressbook->plug( settingsMenu ); | 1994 | mActionConfigKAddressbook->plug( settingsMenu ); |
1853 | 1995 | ||
1854 | if ( mIsPart ) { | 1996 | if ( mIsPart ) { |
1855 | mActionConfigShortcuts->plug( settingsMenu ); | 1997 | mActionConfigShortcuts->plug( settingsMenu ); |
1856 | mActionConfigureToolbars->plug( settingsMenu ); | 1998 | mActionConfigureToolbars->plug( settingsMenu ); |
1857 | 1999 | ||
1858 | } else { | 2000 | } else { |
1859 | mActionKeyBindings->plug( settingsMenu ); | 2001 | mActionKeyBindings->plug( settingsMenu ); |
1860 | } | 2002 | } |
1861 | 2003 | ||
1862 | settingsMenu->insertSeparator(); | 2004 | settingsMenu->insertSeparator(); |
1863 | 2005 | ||
1864 | mActionJumpBar->plug( settingsMenu ); | 2006 | mActionJumpBar->plug( settingsMenu ); |
1865 | mActionDetails->plug( settingsMenu ); | 2007 | mActionDetails->plug( settingsMenu ); |
1866 | if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) | 2008 | if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) |
1867 | mActionDetails->plug( tb ); | 2009 | mActionDetails->plug( tb ); |
1868 | settingsMenu->insertSeparator(); | 2010 | settingsMenu->insertSeparator(); |
1869 | 2011 | ||
1870 | mActionWhoAmI->plug( settingsMenu ); | 2012 | mActionWhoAmI->plug( settingsMenu ); |
1871 | mActionCategories->plug( settingsMenu ); | 2013 | mActionCategories->plug( settingsMenu ); |
1872 | 2014 | ||
1873 | mActionLicence->plug( helpMenu ); | 2015 | mActionLicence->plug( helpMenu ); |
1874 | mActionFaq->plug( helpMenu ); | 2016 | mActionFaq->plug( helpMenu ); |
1875 | mActionAboutKAddressbook->plug( helpMenu ); | 2017 | mActionAboutKAddressbook->plug( helpMenu ); |
1876 | 2018 | ||
1877 | if (KGlobal::getDesktopSize() > KGlobal::Small ) { | 2019 | if (KGlobal::getDesktopSize() > KGlobal::Small ) { |
1878 | 2020 | ||
1879 | mActionSave->plug( tb ); | 2021 | mActionSave->plug( tb ); |
1880 | mViewManager->getFilterAction()->plug ( tb); | 2022 | mViewManager->getFilterAction()->plug ( tb); |
1881 | if (KGlobal::getDesktopSize() == KGlobal::Desktop ) { | 2023 | if (KGlobal::getDesktopSize() == KGlobal::Desktop ) { |
1882 | mActionUndo->plug( tb ); | 2024 | mActionUndo->plug( tb ); |
1883 | mActionDelete->plug( tb ); | 2025 | mActionDelete->plug( tb ); |
1884 | mActionRedo->plug( tb ); | 2026 | mActionRedo->plug( tb ); |
1885 | } | 2027 | } |
1886 | } | 2028 | } |
1887 | //mActionQuit->plug ( tb ); | 2029 | //mActionQuit->plug ( tb ); |
1888 | // tb->insertWidget(-1, 0, mIncSearchWidget, 6); | 2030 | // tb->insertWidget(-1, 0, mIncSearchWidget, 6); |
1889 | 2031 | ||
1890 | //US link the searchwidget first to this. | 2032 | //US link the searchwidget first to this. |
1891 | // The real linkage to the toolbar happens later. | 2033 | // The real linkage to the toolbar happens later. |
1892 | //US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); | 2034 | //US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); |
1893 | //US tb->insertItem( mIncSearchWidget ); | 2035 | //US tb->insertItem( mIncSearchWidget ); |
1894 | /*US | 2036 | /*US |
1895 | mIncSearchWidget = new IncSearchWidget( tb ); | 2037 | mIncSearchWidget = new IncSearchWidget( tb ); |
1896 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), | 2038 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), |
1897 | SLOT( incrementalSearch( const QString& ) ) ); | 2039 | SLOT( incrementalSearch( const QString& ) ) ); |
1898 | 2040 | ||
1899 | mJumpButtonBar = new JumpButtonBar( this, this ); | 2041 | mJumpButtonBar = new JumpButtonBar( this, this ); |
1900 | 2042 | ||
1901 | //US topLayout->addWidget( mJumpButtonBar ); | 2043 | //US topLayout->addWidget( mJumpButtonBar ); |
1902 | this->layout()->add( mJumpButtonBar ); | 2044 | this->layout()->add( mJumpButtonBar ); |
1903 | */ | 2045 | */ |
1904 | 2046 | ||
1905 | #endif //KAB_EMBEDDED | 2047 | #endif //KAB_EMBEDDED |
1906 | 2048 | ||
2049 | mActionExport2phone->plug( ExportMenu ); | ||
1907 | connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); | 2050 | connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); |
1908 | syncManager->fillSyncMenu(); | 2051 | syncManager->fillSyncMenu(); |
1909 | 2052 | ||
1910 | } | 2053 | } |
1911 | void KABCore::showLicence() | 2054 | void KABCore::showLicence() |
1912 | { | 2055 | { |
1913 | KApplication::showLicence(); | 2056 | KApplication::showLicence(); |
1914 | } | 2057 | } |
1915 | void KABCore::removeVoice() | 2058 | void KABCore::removeVoice() |
1916 | { | 2059 | { |
1917 | 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 ) | 2060 | 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 ) |
1918 | return; | 2061 | return; |
1919 | KABC::Addressee::List list = mViewManager->selectedAddressees(); | 2062 | KABC::Addressee::List list = mViewManager->selectedAddressees(); |
1920 | KABC::Addressee::List::Iterator it; | 2063 | KABC::Addressee::List::Iterator it; |
1921 | for ( it = list.begin(); it != list.end(); ++it ) { | 2064 | for ( it = list.begin(); it != list.end(); ++it ) { |
1922 | PhoneNumber::List phoneNumbers = (*it).phoneNumbers(); | 2065 | PhoneNumber::List phoneNumbers = (*it).phoneNumbers(); |
1923 | PhoneNumber::List::Iterator phoneIt; | 2066 | PhoneNumber::List::Iterator phoneIt; |
1924 | bool found = false; | 2067 | bool found = false; |
1925 | for ( phoneIt = phoneNumbers.begin(); phoneIt != phoneNumbers.end(); ++phoneIt ) { | 2068 | for ( phoneIt = phoneNumbers.begin(); phoneIt != phoneNumbers.end(); ++phoneIt ) { |
1926 | if ( (*phoneIt).type() & PhoneNumber::Voice) { // voice found | 2069 | if ( (*phoneIt).type() & PhoneNumber::Voice) { // voice found |
1927 | if ((*phoneIt).type() - PhoneNumber::Voice ) { | 2070 | if ((*phoneIt).type() - PhoneNumber::Voice ) { |
1928 | (*phoneIt).setType((*phoneIt).type() - PhoneNumber::Voice ); | 2071 | (*phoneIt).setType((*phoneIt).type() - PhoneNumber::Voice ); |
1929 | (*it).insertPhoneNumber( (*phoneIt) ); | 2072 | (*it).insertPhoneNumber( (*phoneIt) ); |
1930 | found = true; | 2073 | found = true; |
1931 | } | 2074 | } |
1932 | } | 2075 | } |
1933 | 2076 | ||
1934 | } | 2077 | } |
1935 | if ( found ) | 2078 | if ( found ) |
1936 | contactModified((*it) ); | 2079 | contactModified((*it) ); |
1937 | } | 2080 | } |
1938 | } | 2081 | } |
1939 | 2082 | ||
1940 | 2083 | ||
1941 | 2084 | ||
1942 | void KABCore::clipboardDataChanged() | 2085 | void KABCore::clipboardDataChanged() |
1943 | { | 2086 | { |
1944 | 2087 | ||
1945 | if ( mReadWrite ) | 2088 | if ( mReadWrite ) |
1946 | mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); | 2089 | mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); |
1947 | 2090 | ||
1948 | } | 2091 | } |
1949 | 2092 | ||
1950 | void KABCore::updateActionMenu() | 2093 | void KABCore::updateActionMenu() |
1951 | { | 2094 | { |
1952 | UndoStack *undo = UndoStack::instance(); | 2095 | UndoStack *undo = UndoStack::instance(); |
1953 | RedoStack *redo = RedoStack::instance(); | 2096 | RedoStack *redo = RedoStack::instance(); |
1954 | 2097 | ||
1955 | if ( undo->isEmpty() ) | 2098 | if ( undo->isEmpty() ) |
1956 | mActionUndo->setText( i18n( "Undo" ) ); | 2099 | mActionUndo->setText( i18n( "Undo" ) ); |
1957 | else | 2100 | else |
1958 | mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); | 2101 | mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); |
1959 | 2102 | ||
1960 | mActionUndo->setEnabled( !undo->isEmpty() ); | 2103 | mActionUndo->setEnabled( !undo->isEmpty() ); |
1961 | 2104 | ||
1962 | if ( !redo->top() ) | 2105 | if ( !redo->top() ) |
1963 | mActionRedo->setText( i18n( "Redo" ) ); | 2106 | mActionRedo->setText( i18n( "Redo" ) ); |
1964 | else | 2107 | else |
1965 | mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); | 2108 | mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); |
1966 | 2109 | ||
1967 | mActionRedo->setEnabled( !redo->isEmpty() ); | 2110 | mActionRedo->setEnabled( !redo->isEmpty() ); |
1968 | } | 2111 | } |
1969 | 2112 | ||
1970 | void KABCore::configureKeyBindings() | 2113 | void KABCore::configureKeyBindings() |
1971 | { | 2114 | { |
1972 | #ifndef KAB_EMBEDDED | 2115 | #ifndef KAB_EMBEDDED |
1973 | KKeyDialog::configure( actionCollection(), true ); | 2116 | KKeyDialog::configure( actionCollection(), true ); |
1974 | #else //KAB_EMBEDDED | 2117 | #else //KAB_EMBEDDED |
1975 | qDebug("KABCore::configureKeyBindings() not implemented"); | 2118 | qDebug("KABCore::configureKeyBindings() not implemented"); |
1976 | #endif //KAB_EMBEDDED | 2119 | #endif //KAB_EMBEDDED |
1977 | } | 2120 | } |
1978 | 2121 | ||
1979 | #ifdef KAB_EMBEDDED | 2122 | #ifdef KAB_EMBEDDED |
1980 | void KABCore::configureResources() | 2123 | void KABCore::configureResources() |
1981 | { | 2124 | { |
1982 | KRES::KCMKResources dlg( this, "" , 0 ); | 2125 | KRES::KCMKResources dlg( this, "" , 0 ); |
1983 | 2126 | ||
1984 | if ( !dlg.exec() ) | 2127 | if ( !dlg.exec() ) |
1985 | return; | 2128 | return; |
1986 | KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); | 2129 | KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); |
1987 | } | 2130 | } |
1988 | #endif //KAB_EMBEDDED | 2131 | #endif //KAB_EMBEDDED |
1989 | 2132 | ||
1990 | 2133 | ||
1991 | /* this method will be called through the QCop interface from Ko/Pi to select addresses | 2134 | /* this method will be called through the QCop interface from Ko/Pi to select addresses |
1992 | * for the attendees list of an event. | 2135 | * for the attendees list of an event. |
1993 | */ | 2136 | */ |
1994 | void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) | 2137 | void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) |
1995 | { | 2138 | { |
1996 | QStringList nameList; | 2139 | QStringList nameList; |
1997 | QStringList emailList; | 2140 | QStringList emailList; |
1998 | QStringList uidList; | 2141 | QStringList uidList; |
1999 | 2142 | ||
2000 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); | 2143 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); |
2001 | uint i=0; | 2144 | uint i=0; |
2002 | for (i=0; i < list.count(); i++) | 2145 | for (i=0; i < list.count(); i++) |
2003 | { | 2146 | { |
2004 | nameList.append(list[i].realName()); | 2147 | nameList.append(list[i].realName()); |
2005 | emailList.append(list[i].preferredEmail()); | 2148 | emailList.append(list[i].preferredEmail()); |
2006 | uidList.append(list[i].uid()); | 2149 | uidList.append(list[i].uid()); |
2007 | } | 2150 | } |
2008 | 2151 | ||
2009 | bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); | 2152 | bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); |
2010 | 2153 | ||
2011 | } | 2154 | } |
2012 | 2155 | ||
2013 | /* this method will be called through the QCop interface from other apps to show details of a contact. | 2156 | /* this method will be called through the QCop interface from other apps to show details of a contact. |
2014 | */ | 2157 | */ |
2015 | void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) | 2158 | void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) |
2016 | { | 2159 | { |
2017 | qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); | 2160 | qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); |
2018 | 2161 | ||
2019 | QString foundUid = QString::null; | 2162 | QString foundUid = QString::null; |
2020 | if ( ! uid.isEmpty() ) { | 2163 | if ( ! uid.isEmpty() ) { |
2021 | Addressee adrr = mAddressBook->findByUid( uid ); | 2164 | Addressee adrr = mAddressBook->findByUid( uid ); |
2022 | if ( !adrr.isEmpty() ) { | 2165 | if ( !adrr.isEmpty() ) { |
2023 | foundUid = uid; | 2166 | foundUid = uid; |
2024 | } | 2167 | } |
2025 | if ( email == "sendbacklist" ) { | 2168 | if ( email == "sendbacklist" ) { |
2026 | //qDebug("ssssssssssssssssssssssend "); | 2169 | //qDebug("ssssssssssssssssssssssend "); |
2027 | QStringList nameList; | 2170 | QStringList nameList; |
2028 | QStringList emailList; | 2171 | QStringList emailList; |
2029 | QStringList uidList; | 2172 | QStringList uidList; |
2030 | nameList.append(adrr.realName()); | 2173 | nameList.append(adrr.realName()); |
2031 | emailList = adrr.emails(); | 2174 | emailList = adrr.emails(); |
2032 | uidList.append( adrr.preferredEmail()); | 2175 | uidList.append( adrr.preferredEmail()); |
2033 | bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList); | 2176 | bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList); |
2034 | return; | 2177 | return; |
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index 941458d..e6f286b 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h | |||
@@ -49,433 +49,435 @@ class KAddressBookMain; | |||
49 | //US class QAction; | 49 | //US class QAction; |
50 | #endif //KAB_EMBEDDED | 50 | #endif //KAB_EMBEDDED |
51 | class KCMultiDialog; | 51 | class KCMultiDialog; |
52 | class KXMLGUIClient; | 52 | class KXMLGUIClient; |
53 | class ExtensionManager; | 53 | class ExtensionManager; |
54 | class XXPortManager; | 54 | class XXPortManager; |
55 | class JumpButtonBar; | 55 | class JumpButtonBar; |
56 | class IncSearchWidget; | 56 | class IncSearchWidget; |
57 | class KDGanttMinimizeSplitter; | 57 | class KDGanttMinimizeSplitter; |
58 | class KAction; | 58 | class KAction; |
59 | class KActionCollection; | 59 | class KActionCollection; |
60 | class KToggleAction; | 60 | class KToggleAction; |
61 | class KSyncProfile; | 61 | class KSyncProfile; |
62 | 62 | ||
63 | class QAction; | 63 | class QAction; |
64 | class QMenuBar; | 64 | class QMenuBar; |
65 | class QSplitter; | 65 | class QSplitter; |
66 | class ViewContainer; | 66 | class ViewContainer; |
67 | class ViewManager; | 67 | class ViewManager; |
68 | class AddresseeEditorDialog; | 68 | class AddresseeEditorDialog; |
69 | class Ir; | 69 | class Ir; |
70 | 70 | ||
71 | class KABCore : public QWidget, public KSyncInterface | 71 | class KABCore : public QWidget, public KSyncInterface |
72 | { | 72 | { |
73 | Q_OBJECT | 73 | Q_OBJECT |
74 | 74 | ||
75 | public: | 75 | public: |
76 | KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name = 0 ); | 76 | KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name = 0 ); |
77 | 77 | ||
78 | 78 | ||
79 | ~KABCore(); | 79 | ~KABCore(); |
80 | 80 | ||
81 | 81 | ||
82 | #ifdef KAB_EMBEDDED | 82 | #ifdef KAB_EMBEDDED |
83 | //US added functionality | 83 | //US added functionality |
84 | QPopupMenu* getViewMenu() {return viewMenu;} | 84 | QPopupMenu* getViewMenu() {return viewMenu;} |
85 | QPopupMenu* getFilterMenu() {return filterMenu;} | 85 | QPopupMenu* getFilterMenu() {return filterMenu;} |
86 | QPopupMenu* getSettingsMenu() {return settingsMenu;} | 86 | QPopupMenu* getSettingsMenu() {return settingsMenu;} |
87 | void addActionsManually(); | 87 | void addActionsManually(); |
88 | #endif //KAB_EMBEDDED | 88 | #endif //KAB_EMBEDDED |
89 | /** | 89 | /** |
90 | Restores the global settings. | 90 | Restores the global settings. |
91 | */ | 91 | */ |
92 | void restoreSettings(); | 92 | void restoreSettings(); |
93 | 93 | ||
94 | /** | 94 | /** |
95 | Saves the global settings. | 95 | Saves the global settings. |
96 | */ | 96 | */ |
97 | void saveSettings(); | 97 | void saveSettings(); |
98 | 98 | ||
99 | /** | 99 | /** |
100 | Returns a pointer to the StdAddressBook of the application. | 100 | Returns a pointer to the StdAddressBook of the application. |
101 | */ | 101 | */ |
102 | KABC::AddressBook *addressBook() const; | 102 | KABC::AddressBook *addressBook() const; |
103 | 103 | ||
104 | /** | 104 | /** |
105 | Returns a pointer to the KConfig object of the application. | 105 | Returns a pointer to the KConfig object of the application. |
106 | */ | 106 | */ |
107 | static KConfig *config(); | 107 | static KConfig *config(); |
108 | 108 | ||
109 | /** | 109 | /** |
110 | Returns a pointer to the global KActionCollection object. So | 110 | Returns a pointer to the global KActionCollection object. So |
111 | other classes can register their actions easily. | 111 | other classes can register their actions easily. |
112 | */ | 112 | */ |
113 | KActionCollection *actionCollection() const; | 113 | KActionCollection *actionCollection() const; |
114 | 114 | ||
115 | /** | 115 | /** |
116 | Returns the current search field of the Incremental Search Widget. | 116 | Returns the current search field of the Incremental Search Widget. |
117 | */ | 117 | */ |
118 | KABC::Field *currentSearchField() const; | 118 | KABC::Field *currentSearchField() const; |
119 | 119 | ||
120 | /** | 120 | /** |
121 | Returns the uid list of the currently selected contacts. | 121 | Returns the uid list of the currently selected contacts. |
122 | */ | 122 | */ |
123 | QStringList selectedUIDs() const; | 123 | QStringList selectedUIDs() const; |
124 | 124 | ||
125 | /** | 125 | /** |
126 | Displays the ResourceSelectDialog and returns the selected | 126 | Displays the ResourceSelectDialog and returns the selected |
127 | resource or a null pointer if no resource was selected by | 127 | resource or a null pointer if no resource was selected by |
128 | the user. | 128 | the user. |
129 | */ | 129 | */ |
130 | KABC::Resource *requestResource( QWidget *parent ); | 130 | KABC::Resource *requestResource( QWidget *parent ); |
131 | 131 | ||
132 | #ifndef KAB_EMBEDDED | 132 | #ifndef KAB_EMBEDDED |
133 | static KAboutData *createAboutData(); | 133 | static KAboutData *createAboutData(); |
134 | #endif //KAB_EMBEDDED | 134 | #endif //KAB_EMBEDDED |
135 | 135 | ||
136 | #ifdef KAB_EMBEDDED | 136 | #ifdef KAB_EMBEDDED |
137 | inline QPopupMenu* getImportMenu() { return ImportMenu;} | 137 | inline QPopupMenu* getImportMenu() { return ImportMenu;} |
138 | inline QPopupMenu* getExportMenu() { return ExportMenu;} | 138 | inline QPopupMenu* getExportMenu() { return ExportMenu;} |
139 | #endif //KAB_EMBEDDED | 139 | #endif //KAB_EMBEDDED |
140 | 140 | ||
141 | public slots: | 141 | public slots: |
142 | #ifdef KAB_EMBEDDED | 142 | #ifdef KAB_EMBEDDED |
143 | void createAboutData(); | 143 | void createAboutData(); |
144 | #endif //KAB_EMBEDDED | 144 | #endif //KAB_EMBEDDED |
145 | 145 | ||
146 | void statusMessage(QString, int time = 0 ); | 146 | void statusMessage(QString, int time = 0 ); |
147 | void showLicence(); | 147 | void showLicence(); |
148 | void faq(); | 148 | void faq(); |
149 | 149 | ||
150 | /** | 150 | /** |
151 | Is called whenever a contact is selected in the view. | 151 | Is called whenever a contact is selected in the view. |
152 | */ | 152 | */ |
153 | void setContactSelected( const QString &uid ); | 153 | void setContactSelected( const QString &uid ); |
154 | 154 | ||
155 | /** | 155 | /** |
156 | Opens the preferred mail composer with all selected contacts as | 156 | Opens the preferred mail composer with all selected contacts as |
157 | arguments. | 157 | arguments. |
158 | */ | 158 | */ |
159 | void sendMail(); | 159 | void sendMail(); |
160 | 160 | ||
161 | /** | 161 | /** |
162 | Opens the preferred mail composer with the given contacts as | 162 | Opens the preferred mail composer with the given contacts as |
163 | arguments. | 163 | arguments. |
164 | */ | 164 | */ |
165 | void sendMail( const QString& email ); | 165 | void sendMail( const QString& email ); |
166 | 166 | ||
167 | 167 | ||
168 | void mailVCard(); | 168 | void mailVCard(); |
169 | void mailVCard(const QStringList& uids); | 169 | void mailVCard(const QStringList& uids); |
170 | 170 | ||
171 | /** | 171 | /** |
172 | Beams the "WhoAmI contact. | 172 | Beams the "WhoAmI contact. |
173 | */ | 173 | */ |
174 | void beamMySelf(); | 174 | void beamMySelf(); |
175 | 175 | ||
176 | void beamVCard(); | 176 | void beamVCard(); |
177 | void export2phone(); | ||
177 | void beamVCard(const QStringList& uids); | 178 | void beamVCard(const QStringList& uids); |
178 | void beamDone( Ir *ir ); | 179 | void beamDone( Ir *ir ); |
179 | 180 | ||
180 | 181 | ||
181 | /** | 182 | /** |
182 | Starts the preferred web browser with the given URL as argument. | 183 | Starts the preferred web browser with the given URL as argument. |
183 | */ | 184 | */ |
184 | void browse( const QString& url ); | 185 | void browse( const QString& url ); |
185 | 186 | ||
186 | /** | 187 | /** |
187 | Select all contacts in the view. | 188 | Select all contacts in the view. |
188 | */ | 189 | */ |
189 | void selectAllContacts(); | 190 | void selectAllContacts(); |
190 | 191 | ||
191 | /** | 192 | /** |
192 | Deletes all selected contacts from the address book. | 193 | Deletes all selected contacts from the address book. |
193 | */ | 194 | */ |
194 | void deleteContacts(); | 195 | void deleteContacts(); |
195 | 196 | ||
196 | /** | 197 | /** |
197 | Deletes given contacts from the address book. | 198 | Deletes given contacts from the address book. |
198 | 199 | ||
199 | @param uids The uids of the contacts, which shall be deleted. | 200 | @param uids The uids of the contacts, which shall be deleted. |
200 | */ | 201 | */ |
201 | void deleteContacts( const QStringList &uids ); | 202 | void deleteContacts( const QStringList &uids ); |
202 | 203 | ||
203 | /** | 204 | /** |
204 | Copys the selected contacts into clipboard for later pasting. | 205 | Copys the selected contacts into clipboard for later pasting. |
205 | */ | 206 | */ |
206 | void copyContacts(); | 207 | void copyContacts(); |
207 | 208 | ||
208 | /** | 209 | /** |
209 | Cuts the selected contacts and stores them for later pasting. | 210 | Cuts the selected contacts and stores them for later pasting. |
210 | */ | 211 | */ |
211 | void cutContacts(); | 212 | void cutContacts(); |
212 | 213 | ||
213 | /** | 214 | /** |
214 | Paste contacts from clipboard into the address book. | 215 | Paste contacts from clipboard into the address book. |
215 | */ | 216 | */ |
216 | void pasteContacts(); | 217 | void pasteContacts(); |
217 | 218 | ||
218 | /** | 219 | /** |
219 | Paste given contacts into the address book. | 220 | Paste given contacts into the address book. |
220 | 221 | ||
221 | @param list The list of addressee, which shall be pasted. | 222 | @param list The list of addressee, which shall be pasted. |
222 | */ | 223 | */ |
223 | void pasteContacts( KABC::Addressee::List &list ); | 224 | void pasteContacts( KABC::Addressee::List &list ); |
224 | 225 | ||
225 | /** | 226 | /** |
226 | Sets the whoAmI contact, that is used by many other programs to | 227 | Sets the whoAmI contact, that is used by many other programs to |
227 | get personal information about the current user. | 228 | get personal information about the current user. |
228 | */ | 229 | */ |
229 | void setWhoAmI(); | 230 | void setWhoAmI(); |
230 | 231 | ||
231 | /** | 232 | /** |
232 | Displays the category dialog and applies the result to all | 233 | Displays the category dialog and applies the result to all |
233 | selected contacts. | 234 | selected contacts. |
234 | */ | 235 | */ |
235 | void setCategories(); | 236 | void setCategories(); |
236 | 237 | ||
237 | /** | 238 | /** |
238 | Sets the field list of the Incremental Search Widget. | 239 | Sets the field list of the Incremental Search Widget. |
239 | */ | 240 | */ |
240 | void setSearchFields( const KABC::Field::List &fields ); | 241 | void setSearchFields( const KABC::Field::List &fields ); |
241 | 242 | ||
242 | /** | 243 | /** |
243 | Search with the current search field for a contact, that matches | 244 | Search with the current search field for a contact, that matches |
244 | the given text, and selects it in the view. | 245 | the given text, and selects it in the view. |
245 | */ | 246 | */ |
246 | void incrementalSearch( const QString& text ); | 247 | void incrementalSearch( const QString& text ); |
247 | 248 | ||
248 | /** | 249 | /** |
249 | Marks the address book as modified. | 250 | Marks the address book as modified. |
250 | */ | 251 | */ |
251 | void setModified(); | 252 | void setModified(); |
252 | /** | 253 | /** |
253 | Marks the address book as modified without refreshing the view. | 254 | Marks the address book as modified without refreshing the view. |
254 | */ | 255 | */ |
255 | void setModifiedWOrefresh(); | 256 | void setModifiedWOrefresh(); |
256 | 257 | ||
257 | /** | 258 | /** |
258 | Marks the address book as modified concerning the argument. | 259 | Marks the address book as modified concerning the argument. |
259 | */ | 260 | */ |
260 | void setModified( bool modified ); | 261 | void setModified( bool modified ); |
261 | 262 | ||
262 | /** | 263 | /** |
263 | Returns whether the address book is modified. | 264 | Returns whether the address book is modified. |
264 | */ | 265 | */ |
265 | bool modified() const; | 266 | bool modified() const; |
266 | 267 | ||
267 | /** | 268 | /** |
268 | Called whenever an contact is modified in the contact editor | 269 | Called whenever an contact is modified in the contact editor |
269 | dialog or the quick edit. | 270 | dialog or the quick edit. |
270 | */ | 271 | */ |
271 | void contactModified( const KABC::Addressee &addr ); | 272 | void contactModified( const KABC::Addressee &addr ); |
272 | 273 | ||
273 | /** | 274 | /** |
274 | DCOP METHODS. | 275 | DCOP METHODS. |
275 | */ | 276 | */ |
276 | void addEmail( QString addr ); | 277 | void addEmail( QString addr ); |
277 | void importVCard( const KURL& url, bool showPreview ); | 278 | void importVCard( const KURL& url, bool showPreview ); |
278 | void importVCard( const QString& vCard, bool showPreview ); | 279 | void importVCard( const QString& vCard, bool showPreview ); |
279 | void newContact(); | 280 | void newContact(); |
280 | QString getNameByPhone( const QString& phone ); | 281 | QString getNameByPhone( const QString& phone ); |
281 | /** | 282 | /** |
282 | END DCOP METHODS | 283 | END DCOP METHODS |
283 | */ | 284 | */ |
284 | 285 | ||
285 | /** | 286 | /** |
286 | Saves the contents of the AddressBook back to disk. | 287 | Saves the contents of the AddressBook back to disk. |
287 | */ | 288 | */ |
288 | void save(); | 289 | void save(); |
289 | 290 | ||
290 | /** | 291 | /** |
291 | Undos the last command using the undo stack. | 292 | Undos the last command using the undo stack. |
292 | */ | 293 | */ |
293 | void undo(); | 294 | void undo(); |
294 | 295 | ||
295 | /** | 296 | /** |
296 | Redos the last command that was undone, using the redo stack. | 297 | Redos the last command that was undone, using the redo stack. |
297 | */ | 298 | */ |
298 | void redo(); | 299 | void redo(); |
299 | 300 | ||
300 | /** | 301 | /** |
301 | Shows the edit dialog for the given uid. If the uid is QString::null, | 302 | Shows the edit dialog for the given uid. If the uid is QString::null, |
302 | the method will try to find a selected addressee in the view. | 303 | the method will try to find a selected addressee in the view. |
303 | */ | 304 | */ |
304 | void editContact( const QString &uid /*US = QString::null*/ ); | 305 | void editContact( const QString &uid /*US = QString::null*/ ); |
305 | //US added a second method without defaultparameter | 306 | //US added a second method without defaultparameter |
306 | void editContact2(); | 307 | void editContact2(); |
307 | 308 | ||
308 | /** | 309 | /** |
309 | Shows or edits the detail view for the given uid. If the uid is QString::null, | 310 | Shows or edits the detail view for the given uid. If the uid is QString::null, |
310 | the method will try to find a selected addressee in the view. | 311 | the method will try to find a selected addressee in the view. |
311 | */ | 312 | */ |
312 | void executeContact( const QString &uid /*US = QString::null*/ ); | 313 | void executeContact( const QString &uid /*US = QString::null*/ ); |
313 | 314 | ||
314 | /** | 315 | /** |
315 | Launches the configuration dialog. | 316 | Launches the configuration dialog. |
316 | */ | 317 | */ |
317 | void openConfigDialog(); | 318 | void openConfigDialog(); |
318 | 319 | ||
319 | /** | 320 | /** |
320 | Launches the ldap search dialog. | 321 | Launches the ldap search dialog. |
321 | */ | 322 | */ |
322 | void openLDAPDialog(); | 323 | void openLDAPDialog(); |
323 | 324 | ||
324 | /** | 325 | /** |
325 | Creates a KAddressBookPrinter, which will display the print | 326 | Creates a KAddressBookPrinter, which will display the print |
326 | dialog and do the printing. | 327 | dialog and do the printing. |
327 | */ | 328 | */ |
328 | void print(); | 329 | void print(); |
329 | 330 | ||
330 | /** | 331 | /** |
331 | Registers a new GUI client, so plugins can register its actions. | 332 | Registers a new GUI client, so plugins can register its actions. |
332 | */ | 333 | */ |
333 | void addGUIClient( KXMLGUIClient *client ); | 334 | void addGUIClient( KXMLGUIClient *client ); |
334 | 335 | ||
335 | void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid); | 336 | void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid); |
336 | void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); | 337 | void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); |
337 | 338 | ||
338 | 339 | ||
339 | signals: | 340 | signals: |
340 | void contactSelected( const QString &name ); | 341 | void contactSelected( const QString &name ); |
341 | void contactSelected( const QPixmap &pixmap ); | 342 | void contactSelected( const QPixmap &pixmap ); |
342 | public slots: | 343 | public slots: |
343 | void setDetailsVisible( bool visible ); | 344 | void setDetailsVisible( bool visible ); |
344 | void setDetailsToState(); | 345 | void setDetailsToState(); |
345 | // void slotSyncMenu( int ); | 346 | // void slotSyncMenu( int ); |
346 | private slots: | 347 | private slots: |
347 | void setJumpButtonBarVisible( bool visible ); | 348 | void setJumpButtonBarVisible( bool visible ); |
348 | void importFromOL(); | 349 | void importFromOL(); |
349 | void extensionModified( const KABC::Addressee::List &list ); | 350 | void extensionModified( const KABC::Addressee::List &list ); |
350 | void extensionChanged( int id ); | 351 | void extensionChanged( int id ); |
351 | void clipboardDataChanged(); | 352 | void clipboardDataChanged(); |
352 | void updateActionMenu(); | 353 | void updateActionMenu(); |
353 | void configureKeyBindings(); | 354 | void configureKeyBindings(); |
354 | void removeVoice(); | 355 | void removeVoice(); |
355 | #ifdef KAB_EMBEDDED | 356 | #ifdef KAB_EMBEDDED |
356 | void configureResources(); | 357 | void configureResources(); |
357 | #endif //KAB_EMBEDDED | 358 | #endif //KAB_EMBEDDED |
358 | 359 | ||
359 | void slotEditorDestroyed( const QString &uid ); | 360 | void slotEditorDestroyed( const QString &uid ); |
360 | void configurationChanged(); | 361 | void configurationChanged(); |
361 | void addressBookChanged(); | 362 | void addressBookChanged(); |
362 | 363 | ||
363 | private: | 364 | private: |
364 | void initGUI(); | 365 | void initGUI(); |
365 | void initActions(); | 366 | void initActions(); |
366 | 367 | ||
367 | AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent, | 368 | AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent, |
368 | const char *name = 0 ); | 369 | const char *name = 0 ); |
369 | 370 | ||
370 | KXMLGUIClient *mGUIClient; | 371 | KXMLGUIClient *mGUIClient; |
371 | 372 | ||
372 | KABC::AddressBook *mAddressBook; | 373 | KABC::AddressBook *mAddressBook; |
373 | 374 | ||
374 | ViewManager *mViewManager; | 375 | ViewManager *mViewManager; |
375 | // QSplitter *mDetailsSplitter; | 376 | // QSplitter *mDetailsSplitter; |
376 | KDGanttMinimizeSplitter *mExtensionBarSplitter; | 377 | KDGanttMinimizeSplitter *mExtensionBarSplitter; |
377 | ViewContainer *mDetails; | 378 | ViewContainer *mDetails; |
378 | KDGanttMinimizeSplitter* mMiniSplitter; | 379 | KDGanttMinimizeSplitter* mMiniSplitter; |
379 | XXPortManager *mXXPortManager; | 380 | XXPortManager *mXXPortManager; |
380 | JumpButtonBar *mJumpButtonBar; | 381 | JumpButtonBar *mJumpButtonBar; |
381 | IncSearchWidget *mIncSearchWidget; | 382 | IncSearchWidget *mIncSearchWidget; |
382 | ExtensionManager *mExtensionManager; | 383 | ExtensionManager *mExtensionManager; |
383 | 384 | ||
384 | KCMultiDialog *mConfigureDialog; | 385 | KCMultiDialog *mConfigureDialog; |
385 | 386 | ||
386 | #ifndef KAB_EMBEDDED | 387 | #ifndef KAB_EMBEDDED |
387 | LDAPSearchDialog *mLdapSearchDialog; | 388 | LDAPSearchDialog *mLdapSearchDialog; |
388 | #endif //KAB_EMBEDDED | 389 | #endif //KAB_EMBEDDED |
389 | // QDict<AddresseeEditorDialog> mEditorDict; | 390 | // QDict<AddresseeEditorDialog> mEditorDict; |
390 | AddresseeEditorDialog *mEditorDialog; | 391 | AddresseeEditorDialog *mEditorDialog; |
391 | bool mReadWrite; | 392 | bool mReadWrite; |
392 | bool mModified; | 393 | bool mModified; |
393 | bool mIsPart; | 394 | bool mIsPart; |
394 | bool mMultipleViewsAtOnce; | 395 | bool mMultipleViewsAtOnce; |
395 | 396 | ||
396 | 397 | ||
397 | //US file menu | 398 | //US file menu |
398 | KAction *mActionMail; | 399 | KAction *mActionMail; |
399 | KAction *mActionBeam; | 400 | KAction *mActionBeam; |
401 | KAction *mActionExport2phone; | ||
400 | KAction* mActionPrint; | 402 | KAction* mActionPrint; |
401 | KAction* mActionNewContact; | 403 | KAction* mActionNewContact; |
402 | KAction *mActionSave; | 404 | KAction *mActionSave; |
403 | KAction *mActionEditAddressee; | 405 | KAction *mActionEditAddressee; |
404 | KAction *mActionMailVCard; | 406 | KAction *mActionMailVCard; |
405 | KAction *mActionBeamVCard; | 407 | KAction *mActionBeamVCard; |
406 | 408 | ||
407 | KAction *mActionQuit; | 409 | KAction *mActionQuit; |
408 | 410 | ||
409 | //US edit menu | 411 | //US edit menu |
410 | KAction *mActionCopy; | 412 | KAction *mActionCopy; |
411 | KAction *mActionCut; | 413 | KAction *mActionCut; |
412 | KAction *mActionPaste; | 414 | KAction *mActionPaste; |
413 | KAction *mActionSelectAll; | 415 | KAction *mActionSelectAll; |
414 | KAction *mActionUndo; | 416 | KAction *mActionUndo; |
415 | KAction *mActionRedo; | 417 | KAction *mActionRedo; |
416 | KAction *mActionDelete; | 418 | KAction *mActionDelete; |
417 | 419 | ||
418 | //US settings menu | 420 | //US settings menu |
419 | KAction *mActionConfigResources; | 421 | KAction *mActionConfigResources; |
420 | KAction *mActionConfigKAddressbook; | 422 | KAction *mActionConfigKAddressbook; |
421 | KAction *mActionConfigShortcuts; | 423 | KAction *mActionConfigShortcuts; |
422 | KAction *mActionConfigureToolbars; | 424 | KAction *mActionConfigureToolbars; |
423 | KAction *mActionKeyBindings; | 425 | KAction *mActionKeyBindings; |
424 | KToggleAction *mActionJumpBar; | 426 | KToggleAction *mActionJumpBar; |
425 | KToggleAction *mActionDetails; | 427 | KToggleAction *mActionDetails; |
426 | KAction *mActionWhoAmI; | 428 | KAction *mActionWhoAmI; |
427 | KAction *mActionCategories; | 429 | KAction *mActionCategories; |
428 | KAction *mActionAboutKAddressbook; | 430 | KAction *mActionAboutKAddressbook; |
429 | KAction *mActionLicence; | 431 | KAction *mActionLicence; |
430 | KAction *mActionFaq; | 432 | KAction *mActionFaq; |
431 | 433 | ||
432 | KAction *mActionDeleteView; | 434 | KAction *mActionDeleteView; |
433 | 435 | ||
434 | QPopupMenu *viewMenu; | 436 | QPopupMenu *viewMenu; |
435 | QPopupMenu *filterMenu; | 437 | QPopupMenu *filterMenu; |
436 | QPopupMenu *settingsMenu; | 438 | QPopupMenu *settingsMenu; |
437 | QPopupMenu *changeMenu; | 439 | QPopupMenu *changeMenu; |
438 | //US QAction *mActionSave; | 440 | //US QAction *mActionSave; |
439 | QPopupMenu *ImportMenu; | 441 | QPopupMenu *ImportMenu; |
440 | QPopupMenu *ExportMenu; | 442 | QPopupMenu *ExportMenu; |
441 | //LR additional methods | 443 | //LR additional methods |
442 | KAction *mActionRemoveVoice; | 444 | KAction *mActionRemoveVoice; |
443 | KAction * mActionImportOL; | 445 | KAction * mActionImportOL; |
444 | 446 | ||
445 | #ifndef KAB_EMBEDDED | 447 | #ifndef KAB_EMBEDDED |
446 | KAddressBookService *mAddressBookService; | 448 | KAddressBookService *mAddressBookService; |
447 | #endif //KAB_EMBEDDED | 449 | #endif //KAB_EMBEDDED |
448 | 450 | ||
449 | class KABCorePrivate; | 451 | class KABCorePrivate; |
450 | KABCorePrivate *d; | 452 | KABCorePrivate *d; |
451 | //US bool mBlockSaveFlag; | 453 | //US bool mBlockSaveFlag; |
452 | 454 | ||
453 | #ifdef KAB_EMBEDDED | 455 | #ifdef KAB_EMBEDDED |
454 | KAddressBookMain *mMainWindow; // should be the same like mGUIClient | 456 | KAddressBookMain *mMainWindow; // should be the same like mGUIClient |
455 | #endif //KAB_EMBEDDED | 457 | #endif //KAB_EMBEDDED |
456 | 458 | ||
457 | //this are the overwritten callbackmethods from the syncinterface | 459 | //this are the overwritten callbackmethods from the syncinterface |
458 | virtual bool sync(KSyncManager* manager, QString filename, int mode); | 460 | virtual bool sync(KSyncManager* manager, QString filename, int mode); |
459 | virtual bool syncExternal(KSyncManager* manager, QString resource); | 461 | virtual bool syncExternal(KSyncManager* manager, QString resource); |
460 | 462 | ||
461 | //called by the syncmanager to indicate that the work has to marked as dirty. | 463 | //called by the syncmanager to indicate that the work has to marked as dirty. |
462 | virtual void sync_setModified(); | 464 | virtual void sync_setModified(); |
463 | //called by the syncmanager to ask if the dirty flag is set. | 465 | //called by the syncmanager to ask if the dirty flag is set. |
464 | virtual bool sync_isModified(); | 466 | virtual bool sync_isModified(); |
465 | //called by the syncmanager to indicate that the work has to be saved. | 467 | //called by the syncmanager to indicate that the work has to be saved. |
466 | virtual void sync_save(); | 468 | virtual void sync_save(); |
467 | 469 | ||
468 | // LR ******************************* | 470 | // LR ******************************* |
469 | // sync stuff! | 471 | // sync stuff! |
470 | QPopupMenu *syncMenu; | 472 | QPopupMenu *syncMenu; |
471 | KSyncManager* syncManager; | 473 | KSyncManager* syncManager; |
472 | int mGlobalSyncMode; | 474 | int mGlobalSyncMode; |
473 | bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode); | 475 | bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode); |
474 | KABC::Addressee getLastSyncAddressee(); | 476 | KABC::Addressee getLastSyncAddressee(); |
475 | QDateTime mLastAddressbookSync; | 477 | QDateTime mLastAddressbookSync; |
476 | int takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full ); | 478 | int takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full ); |
477 | // ********************* | 479 | // ********************* |
478 | 480 | ||
479 | }; | 481 | }; |
480 | 482 | ||
481 | #endif | 483 | #endif |
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index 716a125..84e3d00 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp | |||
@@ -1,213 +1,209 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 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 <time.h> | 24 | #include <time.h> |
25 | #ifndef _WIN32_ | 25 | #ifndef _WIN32_ |
26 | #include <unistd.h> | 26 | #include <unistd.h> |
27 | #endif | 27 | #endif |
28 | #include <qdir.h> | 28 | #include <qdir.h> |
29 | #include <qtextstream.h> | 29 | #include <qtextstream.h> |
30 | #include <qtextcodec.h> | 30 | #include <qtextcodec.h> |
31 | #include <qstring.h> | 31 | #include <qstring.h> |
32 | #include <qregexp.h> | 32 | #include <qregexp.h> |
33 | #include <qfont.h> | 33 | #include <qfont.h> |
34 | #include <qcolor.h> | 34 | #include <qcolor.h> |
35 | #include <qstringlist.h> | 35 | #include <qstringlist.h> |
36 | #include <stdlib.h> | 36 | #include <stdlib.h> |
37 | 37 | ||
38 | #include <kglobal.h> | 38 | #include <kglobal.h> |
39 | #include <kconfig.h> | 39 | #include <kconfig.h> |
40 | #include <klocale.h> | 40 | #include <klocale.h> |
41 | #include <kdebug.h> | 41 | #include <kdebug.h> |
42 | #include <kemailsettings.h> | 42 | #include <kemailsettings.h> |
43 | #include <kstaticdeleter.h> | 43 | #include <kstaticdeleter.h> |
44 | #include <libkdepim/kpimglobalprefs.h> | 44 | #include <libkdepim/kpimglobalprefs.h> |
45 | 45 | ||
46 | #include "koprefs.h" | 46 | #include "koprefs.h" |
47 | #include "mainwindow.h" | 47 | #include "mainwindow.h" |
48 | 48 | ||
49 | const char *germanwords[][2] = { | 49 | const char *germanwords[][2] = { |
50 | #include "wordsgerman.h" | 50 | #include "wordsgerman.h" |
51 | "", "" | 51 | "", "" |
52 | }; | 52 | }; |
53 | 53 | ||
54 | KOPrefs *KOPrefs::mInstance = 0; | 54 | KOPrefs *KOPrefs::mInstance = 0; |
55 | static KStaticDeleter<KOPrefs> insd; | 55 | static KStaticDeleter<KOPrefs> insd; |
56 | 56 | ||
57 | KOPrefs::KOPrefs() : | 57 | KOPrefs::KOPrefs() : |
58 | KPimPrefs("korganizerrc") | 58 | KPimPrefs("korganizerrc") |
59 | { | 59 | { |
60 | mCategoryColors.setAutoDelete(true); | 60 | mCategoryColors.setAutoDelete(true); |
61 | mLocaleDict = 0; | 61 | mLocaleDict = 0; |
62 | fillMailDefaults(); | 62 | fillMailDefaults(); |
63 | mDefaultCategoryColor = QColor(175,210,255);//196,196,196); | 63 | mDefaultCategoryColor = QColor(175,210,255);//196,196,196); |
64 | QColor defaultHolidayColor = QColor(255,0,0); | 64 | QColor defaultHolidayColor = QColor(255,0,0); |
65 | QColor defaultHighlightColor = QColor(129,112,255);//64,64,255); | 65 | QColor defaultHighlightColor = QColor(129,112,255);//64,64,255); |
66 | QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128); | 66 | QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128); |
67 | QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160); | 67 | QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160); |
68 | QColor defaultTodoDueTodayColor = QColor(255,220,100); | 68 | QColor defaultTodoDueTodayColor = QColor(255,220,100); |
69 | QColor defaultTodoOverdueColor = QColor(255,153,125); | 69 | QColor defaultTodoOverdueColor = QColor(255,153,125); |
70 | 70 | ||
71 | mTimeBarFont = QFont("helvetica",10);//,QFont::Bold); | 71 | mTimeBarFont = QFont("helvetica",10);//,QFont::Bold); |
72 | mDefaultViewFont = QFont("helvetica",10); | 72 | mDefaultViewFont = QFont("helvetica",10); |
73 | mDefaultMonthViewFont = QFont("helvetica",8); | 73 | mDefaultMonthViewFont = QFont("helvetica",8); |
74 | mMarcusBainsFont= QFont("helvetica",10); | 74 | mMarcusBainsFont= QFont("helvetica",10); |
75 | mDateNavigatorFont= QFont("helvetica",10, QFont::Bold); | 75 | mDateNavigatorFont= QFont("helvetica",10, QFont::Bold); |
76 | mEditBoxFont = QFont("helvetica",12); | 76 | mEditBoxFont = QFont("helvetica",12); |
77 | mJornalViewFont = QFont("helvetica",12); | 77 | mJornalViewFont = QFont("helvetica",12); |
78 | 78 | ||
79 | KPrefs::setCurrentGroup("General"); | 79 | KPrefs::setCurrentGroup("General"); |
80 | 80 | ||
81 | 81 | ||
82 | addItemString("Ex2PhoneDevice",&mEx2PhoneDevice,"/dev/ircomm"); | ||
83 | addItemString("Ex2PhoneConnection",&mEx2PhoneConnection,"irda"); | ||
84 | addItemString("Ex2PhoneModel",&mEx2PhoneModel,"6310i"); | ||
85 | |||
86 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); | 82 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); |
87 | 83 | ||
88 | addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true); | 84 | addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true); |
89 | addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true); | 85 | addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true); |
90 | addItemBool("ShowIconSearch",&mShowIconSearch,true); | 86 | addItemBool("ShowIconSearch",&mShowIconSearch,true); |
91 | addItemBool("ShowIconList",&mShowIconList,true); | 87 | addItemBool("ShowIconList",&mShowIconList,true); |
92 | addItemBool("ShowIconDay1",&mShowIconDay1,true); | 88 | addItemBool("ShowIconDay1",&mShowIconDay1,true); |
93 | addItemBool("ShowIconDay5",&mShowIconDay5,true); | 89 | addItemBool("ShowIconDay5",&mShowIconDay5,true); |
94 | addItemBool("ShowIconDay7",&mShowIconDay7,true); | 90 | addItemBool("ShowIconDay7",&mShowIconDay7,true); |
95 | addItemBool("ShowIconMonth",&mShowIconMonth,true); | 91 | addItemBool("ShowIconMonth",&mShowIconMonth,true); |
96 | addItemBool("ShowIconTodoview",&mShowIconTodoview,true); | 92 | addItemBool("ShowIconTodoview",&mShowIconTodoview,true); |
97 | addItemBool("ShowIconBackFast",&mShowIconBackFast,true); | 93 | addItemBool("ShowIconBackFast",&mShowIconBackFast,true); |
98 | addItemBool("ShowIconBack",&mShowIconBack,true); | 94 | addItemBool("ShowIconBack",&mShowIconBack,true); |
99 | addItemBool("ShowIconToday",&mShowIconToday,true); | 95 | addItemBool("ShowIconToday",&mShowIconToday,true); |
100 | addItemBool("ShowIconForward",&mShowIconForward,true); | 96 | addItemBool("ShowIconForward",&mShowIconForward,true); |
101 | addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true); | 97 | addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true); |
102 | addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,false); | 98 | addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,false); |
103 | addItemBool("ShowIconNextDays",&mShowIconNextDays,true); | 99 | addItemBool("ShowIconNextDays",&mShowIconNextDays,true); |
104 | addItemBool("ShowIconNext",&mShowIconNext,true); | 100 | addItemBool("ShowIconNext",&mShowIconNext,true); |
105 | addItemBool("ShowIconJournal",&mShowIconJournal,true); | 101 | addItemBool("ShowIconJournal",&mShowIconJournal,true); |
106 | addItemBool("ShowIconStretch",&mShowIconStretch,true); | 102 | addItemBool("ShowIconStretch",&mShowIconStretch,true); |
107 | addItemBool("LanguageChanged",&mLanguageChanged,false); | 103 | addItemBool("LanguageChanged",&mLanguageChanged,false); |
108 | 104 | ||
109 | addItemBool("AskForQuit",&mAskForQuit,false); | 105 | addItemBool("AskForQuit",&mAskForQuit,false); |
110 | 106 | ||
111 | #ifndef DESKTOP_VERSION | 107 | #ifndef DESKTOP_VERSION |
112 | addItemBool("ShowFullMenu",&mShowFullMenu,false); | 108 | addItemBool("ShowFullMenu",&mShowFullMenu,false); |
113 | #else | 109 | #else |
114 | addItemBool("ShowFullMenu",&mShowFullMenu,true); | 110 | addItemBool("ShowFullMenu",&mShowFullMenu,true); |
115 | #endif | 111 | #endif |
116 | addItemBool("ToolBarHor",&mToolBarHor, true ); | 112 | addItemBool("ToolBarHor",&mToolBarHor, true ); |
117 | addItemBool("ToolBarUp",&mToolBarUp, false ); | 113 | addItemBool("ToolBarUp",&mToolBarUp, false ); |
118 | addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false ); | 114 | addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false ); |
119 | addItemInt("Whats Next Days",&mWhatsNextDays,3); | 115 | addItemInt("Whats Next Days",&mWhatsNextDays,3); |
120 | addItemInt("Whats Next Prios",&mWhatsNextPrios,1); | 116 | addItemInt("Whats Next Prios",&mWhatsNextPrios,1); |
121 | 117 | ||
122 | addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true); | 118 | addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true); |
123 | addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true); | 119 | addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true); |
124 | addItemInt("AllDay Size",&mAllDaySize,28); | 120 | addItemInt("AllDay Size",&mAllDaySize,28); |
125 | QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav"; | 121 | QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav"; |
126 | addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm ); | 122 | addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm ); |
127 | 123 | ||
128 | addItemStringList("LocationDefaults",&mLocationDefaults ); | 124 | addItemStringList("LocationDefaults",&mLocationDefaults ); |
129 | addItemStringList("EventSummary User",&mEventSummaryUser); | 125 | addItemStringList("EventSummary User",&mEventSummaryUser); |
130 | addItemStringList("TodoSummary User",&mTodoSummaryUser); | 126 | addItemStringList("TodoSummary User",&mTodoSummaryUser); |
131 | 127 | ||
132 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); | 128 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); |
133 | addItemBool("Enable Project View",&mEnableProjectView,false); | 129 | addItemBool("Enable Project View",&mEnableProjectView,false); |
134 | addItemBool("Auto Save",&mAutoSave,false); | 130 | addItemBool("Auto Save",&mAutoSave,false); |
135 | addItemInt("Auto Save Interval",&mAutoSaveInterval,3); | 131 | addItemInt("Auto Save Interval",&mAutoSaveInterval,3); |
136 | addItemBool("Confirm Deletes",&mConfirm,true); | 132 | addItemBool("Confirm Deletes",&mConfirm,true); |
137 | addItemString("Archive File",&mArchiveFile); | 133 | addItemString("Archive File",&mArchiveFile); |
138 | addItemString("Html Export File",&mHtmlExportFile, | 134 | addItemString("Html Export File",&mHtmlExportFile, |
139 | QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html")); | 135 | QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html")); |
140 | addItemBool("Html With Save",&mHtmlWithSave,false); | 136 | addItemBool("Html With Save",&mHtmlWithSave,false); |
141 | 137 | ||
142 | KPrefs::setCurrentGroup("Personal Settings"); | 138 | KPrefs::setCurrentGroup("Personal Settings"); |
143 | 139 | ||
144 | addItemInt("Mail Client",&mMailClient,MailClientKMail); | 140 | addItemInt("Mail Client",&mMailClient,MailClientKMail); |
145 | addItemBool("Use Control Center Email",&mEmailControlCenter,false); | 141 | addItemBool("Use Control Center Email",&mEmailControlCenter,false); |
146 | addItemBool("Bcc",&mBcc,false); | 142 | addItemBool("Bcc",&mBcc,false); |
147 | 143 | ||
148 | KPrefs::setCurrentGroup("Time & Date"); | 144 | KPrefs::setCurrentGroup("Time & Date"); |
149 | 145 | ||
150 | // addItemString("Time Zone",&mTimeZone,"+0100"); | 146 | // addItemString("Time Zone",&mTimeZone,"+0100"); |
151 | addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") ); | 147 | addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") ); |
152 | // addItemInt("TimeZoneOffset",&mTimeZoneOffset,60); | 148 | // addItemInt("TimeZoneOffset",&mTimeZoneOffset,60); |
153 | addItemBool("UseDaylightsaving",&mUseDaylightsaving,true); | 149 | addItemBool("UseDaylightsaving",&mUseDaylightsaving,true); |
154 | addItemInt("DaylightsavingStart",&mDaylightsavingStart,90); | 150 | addItemInt("DaylightsavingStart",&mDaylightsavingStart,90); |
155 | addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304); | 151 | addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304); |
156 | 152 | ||
157 | 153 | ||
158 | addItemInt("Default Start Time",&mStartTime,10); | 154 | addItemInt("Default Start Time",&mStartTime,10); |
159 | addItemInt("Default Duration",&mDefaultDuration,2); | 155 | addItemInt("Default Duration",&mDefaultDuration,2); |
160 | addItemInt("Default Alarm Time",&mAlarmTime,3); | 156 | addItemInt("Default Alarm Time",&mAlarmTime,3); |
161 | addItemInt("Daylight Savings",&mDaylightSavings,0); | 157 | addItemInt("Daylight Savings",&mDaylightSavings,0); |
162 | KPrefs::setCurrentGroup("AlarmSettings"); | 158 | KPrefs::setCurrentGroup("AlarmSettings"); |
163 | addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20); | 159 | addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20); |
164 | addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7); | 160 | addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7); |
165 | addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5); | 161 | addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5); |
166 | addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3); | 162 | addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3); |
167 | 163 | ||
168 | 164 | ||
169 | KPrefs::setCurrentGroup("Calendar"); | 165 | KPrefs::setCurrentGroup("Calendar"); |
170 | 166 | ||
171 | addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar); | 167 | addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar); |
172 | 168 | ||
173 | KPrefs::setCurrentGroup("Fonts"); | 169 | KPrefs::setCurrentGroup("Fonts"); |
174 | // qDebug(" KPrefs::setCurrentGroup(Fonts); "); | 170 | // qDebug(" KPrefs::setCurrentGroup(Fonts); "); |
175 | addItemFont("TimeBar Font",&mTimeBarFont); | 171 | addItemFont("TimeBar Font",&mTimeBarFont); |
176 | addItemFont("MonthView Font",&mMonthViewFont); | 172 | addItemFont("MonthView Font",&mMonthViewFont); |
177 | addItemFont("AgendaView Font",&mAgendaViewFont); | 173 | addItemFont("AgendaView Font",&mAgendaViewFont); |
178 | addItemFont("MarcusBains Font",&mMarcusBainsFont); | 174 | addItemFont("MarcusBains Font",&mMarcusBainsFont); |
179 | addItemFont("TimeLabels Font",&mTimeLabelsFont); | 175 | addItemFont("TimeLabels Font",&mTimeLabelsFont); |
180 | addItemFont("TodoView Font",&mTodoViewFont); | 176 | addItemFont("TodoView Font",&mTodoViewFont); |
181 | addItemFont("ListView Font",&mListViewFont); | 177 | addItemFont("ListView Font",&mListViewFont); |
182 | addItemFont("DateNavigator Font",&mDateNavigatorFont); | 178 | addItemFont("DateNavigator Font",&mDateNavigatorFont); |
183 | addItemFont("EditBox Font",&mEditBoxFont); | 179 | addItemFont("EditBox Font",&mEditBoxFont); |
184 | addItemFont("JournalView Font",&mJornalViewFont); | 180 | addItemFont("JournalView Font",&mJornalViewFont); |
185 | addItemFont("WhatsNextView Font",&mWhatsNextFont); | 181 | addItemFont("WhatsNextView Font",&mWhatsNextFont); |
186 | addItemFont("EventView Font",&mEventViewFont); | 182 | addItemFont("EventView Font",&mEventViewFont); |
187 | 183 | ||
188 | // KPrefs::setCurrentGroup("SyncProfiles"); | 184 | // KPrefs::setCurrentGroup("SyncProfiles"); |
189 | // addItemString("LocalMachineName",&mLocalMachineName, "undefined"); | 185 | // addItemString("LocalMachineName",&mLocalMachineName, "undefined"); |
190 | // addItemStringList("SyncProfileNames",&mSyncProfileNames); | 186 | // addItemStringList("SyncProfileNames",&mSyncProfileNames); |
191 | // addItemStringList("ExternSyncProfiles",&mExternSyncProfileNames); | 187 | // addItemStringList("ExternSyncProfiles",&mExternSyncProfileNames); |
192 | 188 | ||
193 | KPrefs::setCurrentGroup("RemoteSyncing"); | 189 | KPrefs::setCurrentGroup("RemoteSyncing"); |
194 | // addItemBool("UsePasswd",&mUsePassWd,false); | 190 | // addItemBool("UsePasswd",&mUsePassWd,false); |
195 | // addItemBool("WriteBackFile",&mWriteBackFile,true); | 191 | // addItemBool("WriteBackFile",&mWriteBackFile,true); |
196 | // addItemBool("WriteBackExistingOnly",&mWriteBackExistingOnly,false); | 192 | // addItemBool("WriteBackExistingOnly",&mWriteBackExistingOnly,false); |
197 | // addItemBool("AskForPreferences",&mAskForPreferences,true); | 193 | // addItemBool("AskForPreferences",&mAskForPreferences,true); |
198 | // addItemBool("ShowSyncSummary",&mShowSyncSummary,true); | 194 | // addItemBool("ShowSyncSummary",&mShowSyncSummary,true); |
199 | addItemString("PassiveSyncPort",&mPassiveSyncPort,"9197" ); | 195 | addItemString("PassiveSyncPort",&mPassiveSyncPort,"9197" ); |
200 | addItemString("PassiveSyncPw",&mPassiveSyncPw,"abc" ); | 196 | addItemString("PassiveSyncPw",&mPassiveSyncPw,"abc" ); |
201 | addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); | 197 | addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); |
202 | addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); | 198 | addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); |
203 | addItemBool("ShowSyncEvents",&mShowSyncEvents,false); | 199 | addItemBool("ShowSyncEvents",&mShowSyncEvents,false); |
204 | addItemInt("LastSyncTime",&mLastSyncTime,0); | 200 | addItemInt("LastSyncTime",&mLastSyncTime,0); |
205 | addItemInt("SyncAlgoPrefs",&mSyncAlgoPrefs,3); | 201 | addItemInt("SyncAlgoPrefs",&mSyncAlgoPrefs,3); |
206 | addItemInt("RingSyncAlgoPrefs",&mRingSyncAlgoPrefs,3); | 202 | addItemInt("RingSyncAlgoPrefs",&mRingSyncAlgoPrefs,3); |
207 | 203 | ||
208 | #ifdef _WIN32_ | 204 | #ifdef _WIN32_ |
209 | QString hdp= locateLocal("data","korganizer")+"\\\\"; | 205 | QString hdp= locateLocal("data","korganizer")+"\\\\"; |
210 | #else | 206 | #else |
211 | QString hdp= locateLocal("data","korganizer")+"/"; | 207 | QString hdp= locateLocal("data","korganizer")+"/"; |
212 | #endif | 208 | #endif |
213 | // addItemString("RemoteIP",&mRemoteIP, "192.168.0.65"); | 209 | // addItemString("RemoteIP",&mRemoteIP, "192.168.0.65"); |
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index a1ba8b3..d9ac851 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h | |||
@@ -85,232 +85,229 @@ class KOPrefs : public KPimPrefs | |||
85 | bool mEmailControlCenter; | 85 | bool mEmailControlCenter; |
86 | 86 | ||
87 | bool mBcc; | 87 | bool mBcc; |
88 | bool mAutoSave; | 88 | bool mAutoSave; |
89 | int mAutoSaveInterval; | 89 | int mAutoSaveInterval; |
90 | bool mConfirm; | 90 | bool mConfirm; |
91 | 91 | ||
92 | bool mEnableGroupScheduling; | 92 | bool mEnableGroupScheduling; |
93 | bool mEnableProjectView; | 93 | bool mEnableProjectView; |
94 | 94 | ||
95 | int mDefaultFormat; | 95 | int mDefaultFormat; |
96 | int mMailClient; | 96 | int mMailClient; |
97 | 97 | ||
98 | QString mTimeZone; | 98 | QString mTimeZone; |
99 | //QString mTimeZoneName; // e.g. +00:04:00 Indian/Mauritius | 99 | //QString mTimeZoneName; // e.g. +00:04:00 Indian/Mauritius |
100 | //int mTimeZoneOffset; // e.g. -240 min | 100 | //int mTimeZoneOffset; // e.g. -240 min |
101 | int mStartTime; | 101 | int mStartTime; |
102 | int mDefaultDuration; | 102 | int mDefaultDuration; |
103 | int mAlarmTime; | 103 | int mAlarmTime; |
104 | int mDaylightSavings; | 104 | int mDaylightSavings; |
105 | 105 | ||
106 | int mWorkingHoursStart; | 106 | int mWorkingHoursStart; |
107 | int mWorkingHoursEnd; | 107 | int mWorkingHoursEnd; |
108 | bool mExcludeHolidays; | 108 | bool mExcludeHolidays; |
109 | bool mExcludeSaturdays; | 109 | bool mExcludeSaturdays; |
110 | bool mMarcusBainsShowSeconds; | 110 | bool mMarcusBainsShowSeconds; |
111 | 111 | ||
112 | QFont mTimeBarFont; | 112 | QFont mTimeBarFont; |
113 | QFont mMonthViewFont; | 113 | QFont mMonthViewFont; |
114 | QFont mAgendaViewFont; | 114 | QFont mAgendaViewFont; |
115 | QFont mMarcusBainsFont; | 115 | QFont mMarcusBainsFont; |
116 | QFont mTimeLabelsFont; | 116 | QFont mTimeLabelsFont; |
117 | QFont mTodoViewFont; | 117 | QFont mTodoViewFont; |
118 | QFont mListViewFont; | 118 | QFont mListViewFont; |
119 | QFont mDateNavigatorFont; | 119 | QFont mDateNavigatorFont; |
120 | QFont mEditBoxFont; | 120 | QFont mEditBoxFont; |
121 | QFont mJornalViewFont; | 121 | QFont mJornalViewFont; |
122 | QFont mWhatsNextFont; | 122 | QFont mWhatsNextFont; |
123 | QFont mEventViewFont; | 123 | QFont mEventViewFont; |
124 | 124 | ||
125 | 125 | ||
126 | 126 | ||
127 | 127 | ||
128 | QColor mHolidayColor; | 128 | QColor mHolidayColor; |
129 | QColor mHighlightColor; | 129 | QColor mHighlightColor; |
130 | QColor mEventColor; | 130 | QColor mEventColor; |
131 | QColor mAgendaBgColor; | 131 | QColor mAgendaBgColor; |
132 | QColor mWorkingHoursColor; | 132 | QColor mWorkingHoursColor; |
133 | QColor mTodoDueTodayColor; | 133 | QColor mTodoDueTodayColor; |
134 | QColor mTodoOverdueColor; | 134 | QColor mTodoOverdueColor; |
135 | QColor mMonthViewEvenColor; | 135 | QColor mMonthViewEvenColor; |
136 | QColor mMonthViewOddColor; | 136 | QColor mMonthViewOddColor; |
137 | QColor mMonthViewHolidayColor; | 137 | QColor mMonthViewHolidayColor; |
138 | bool mMonthViewUsesDayColors; | 138 | bool mMonthViewUsesDayColors; |
139 | bool mMonthViewSatSunTog; | 139 | bool mMonthViewSatSunTog; |
140 | QColor mAppColor1; | 140 | QColor mAppColor1; |
141 | QColor mAppColor2; | 141 | QColor mAppColor2; |
142 | bool mUseAppColors; | 142 | bool mUseAppColors; |
143 | 143 | ||
144 | int mDayBegins; | 144 | int mDayBegins; |
145 | int mHourSize; | 145 | int mHourSize; |
146 | int mAllDaySize; | 146 | int mAllDaySize; |
147 | bool mShowFullMenu; | 147 | bool mShowFullMenu; |
148 | bool mDailyRecur; | 148 | bool mDailyRecur; |
149 | bool mWeeklyRecur; | 149 | bool mWeeklyRecur; |
150 | bool mMonthDailyRecur; | 150 | bool mMonthDailyRecur; |
151 | bool mMonthWeeklyRecur; | 151 | bool mMonthWeeklyRecur; |
152 | bool mMonthShowIcons; | 152 | bool mMonthShowIcons; |
153 | bool mMonthShowShort; | 153 | bool mMonthShowShort; |
154 | bool mEnableToolTips; | 154 | bool mEnableToolTips; |
155 | bool mEnableMonthScroll; | 155 | bool mEnableMonthScroll; |
156 | bool mFullViewMonth; | 156 | bool mFullViewMonth; |
157 | bool mMonthViewUsesCategoryColor; | 157 | bool mMonthViewUsesCategoryColor; |
158 | bool mFullViewTodo; | 158 | bool mFullViewTodo; |
159 | bool mShowCompletedTodo; | 159 | bool mShowCompletedTodo; |
160 | bool mMarcusBainsEnabled; | 160 | bool mMarcusBainsEnabled; |
161 | int mNextXDays; | 161 | int mNextXDays; |
162 | int mWhatsNextDays; | 162 | int mWhatsNextDays; |
163 | int mWhatsNextPrios; | 163 | int mWhatsNextPrios; |
164 | bool mEnableQuickTodo; | 164 | bool mEnableQuickTodo; |
165 | bool mLanguageChanged; | 165 | bool mLanguageChanged; |
166 | 166 | ||
167 | bool mCompactDialogs; | 167 | bool mCompactDialogs; |
168 | bool mVerticalScreen; | 168 | bool mVerticalScreen; |
169 | 169 | ||
170 | bool mShowIconNewTodo; | 170 | bool mShowIconNewTodo; |
171 | bool mShowIconNewEvent; | 171 | bool mShowIconNewEvent; |
172 | bool mShowIconSearch; | 172 | bool mShowIconSearch; |
173 | bool mShowIconList; | 173 | bool mShowIconList; |
174 | bool mShowIconDay1; | 174 | bool mShowIconDay1; |
175 | bool mShowIconDay5; | 175 | bool mShowIconDay5; |
176 | bool mShowIconDay7; | 176 | bool mShowIconDay7; |
177 | bool mShowIconMonth; | 177 | bool mShowIconMonth; |
178 | bool mShowIconTodoview; | 178 | bool mShowIconTodoview; |
179 | bool mShowIconBackFast; | 179 | bool mShowIconBackFast; |
180 | bool mShowIconBack; | 180 | bool mShowIconBack; |
181 | bool mShowIconToday; | 181 | bool mShowIconToday; |
182 | bool mShowIconForward; | 182 | bool mShowIconForward; |
183 | bool mShowIconForwardFast; | 183 | bool mShowIconForwardFast; |
184 | bool mShowIconWhatsThis; | 184 | bool mShowIconWhatsThis; |
185 | bool mShowIconNextDays; | 185 | bool mShowIconNextDays; |
186 | bool mShowIconNext; | 186 | bool mShowIconNext; |
187 | bool mShowIconJournal; | 187 | bool mShowIconJournal; |
188 | 188 | ||
189 | bool mShowIconStretch; | 189 | bool mShowIconStretch; |
190 | 190 | ||
191 | bool mToolBarHor; | 191 | bool mToolBarHor; |
192 | bool mToolBarUp; | 192 | bool mToolBarUp; |
193 | bool mToolBarMiniIcons; | 193 | bool mToolBarMiniIcons; |
194 | 194 | ||
195 | bool mAskForQuit; | 195 | bool mAskForQuit; |
196 | bool mUsePassWd; | 196 | bool mUsePassWd; |
197 | bool mWriteBackFile; | 197 | bool mWriteBackFile; |
198 | int mWriteBackInFuture; | 198 | int mWriteBackInFuture; |
199 | bool mAskForPreferences; | 199 | bool mAskForPreferences; |
200 | bool mShowSyncSummary; | 200 | bool mShowSyncSummary; |
201 | bool mShowSyncEvents; | 201 | bool mShowSyncEvents; |
202 | bool mShowTodoInAgenda; | 202 | bool mShowTodoInAgenda; |
203 | bool mWriteBackExistingOnly; | 203 | bool mWriteBackExistingOnly; |
204 | 204 | ||
205 | QString mRemoteIP; | 205 | QString mRemoteIP; |
206 | QString mRemoteUser; | 206 | QString mRemoteUser; |
207 | QString mRemotePassWd; | 207 | QString mRemotePassWd; |
208 | QString mRemoteFile; | 208 | QString mRemoteFile; |
209 | QString mLocalTempFile; | 209 | QString mLocalTempFile; |
210 | QString mPhoneDevice; | 210 | QString mPhoneDevice; |
211 | QString mPhoneConnection; | 211 | QString mPhoneConnection; |
212 | QString mPhoneModel; | 212 | QString mPhoneModel; |
213 | QString mEx2PhoneDevice; | ||
214 | QString mEx2PhoneConnection; | ||
215 | QString mEx2PhoneModel; | ||
216 | 213 | ||
217 | int mLastSyncTime; | 214 | int mLastSyncTime; |
218 | int mSyncAlgoPrefs; | 215 | int mSyncAlgoPrefs; |
219 | int mRingSyncAlgoPrefs; | 216 | int mRingSyncAlgoPrefs; |
220 | QStringList mSyncProfileNames; | 217 | QStringList mSyncProfileNames; |
221 | QStringList mExternSyncProfiles; | 218 | QStringList mExternSyncProfiles; |
222 | QString mLocalMachineName; | 219 | QString mLocalMachineName; |
223 | void setCategoryColor(QString cat,const QColor & color); | 220 | void setCategoryColor(QString cat,const QColor & color); |
224 | QColor *categoryColor(QString cat); | 221 | QColor *categoryColor(QString cat); |
225 | 222 | ||
226 | QString mArchiveFile; | 223 | QString mArchiveFile; |
227 | QString mHtmlExportFile; | 224 | QString mHtmlExportFile; |
228 | bool mHtmlWithSave; | 225 | bool mHtmlWithSave; |
229 | 226 | ||
230 | QStringList mSelectedPlugins; | 227 | QStringList mSelectedPlugins; |
231 | 228 | ||
232 | QString mLastImportFile; | 229 | QString mLastImportFile; |
233 | QString mLastVcalFile; | 230 | QString mLastVcalFile; |
234 | QString mLastSaveFile; | 231 | QString mLastSaveFile; |
235 | QString mLastLoadFile; | 232 | QString mLastLoadFile; |
236 | QString mLastSyncedLocalFile; | 233 | QString mLastSyncedLocalFile; |
237 | 234 | ||
238 | 235 | ||
239 | QString mDefaultAlarmFile; | 236 | QString mDefaultAlarmFile; |
240 | int mIMIPScheduler; | 237 | int mIMIPScheduler; |
241 | int mIMIPSend; | 238 | int mIMIPSend; |
242 | QStringList mAdditionalMails; | 239 | QStringList mAdditionalMails; |
243 | int mIMIPAutoRefresh; | 240 | int mIMIPAutoRefresh; |
244 | int mIMIPAutoInsertReply; | 241 | int mIMIPAutoInsertReply; |
245 | int mIMIPAutoInsertRequest; | 242 | int mIMIPAutoInsertRequest; |
246 | int mIMIPAutoFreeBusy; | 243 | int mIMIPAutoFreeBusy; |
247 | int mIMIPAutoFreeBusyReply; | 244 | int mIMIPAutoFreeBusyReply; |
248 | 245 | ||
249 | QStringList mTodoTemplates; | 246 | QStringList mTodoTemplates; |
250 | QStringList mEventTemplates; | 247 | QStringList mEventTemplates; |
251 | 248 | ||
252 | int mDestination; | 249 | int mDestination; |
253 | 250 | ||
254 | 251 | ||
255 | bool mEditOnDoubleClick; | 252 | bool mEditOnDoubleClick; |
256 | bool mViewChangeHoldFullscreen; | 253 | bool mViewChangeHoldFullscreen; |
257 | bool mViewChangeHoldNonFullscreen; | 254 | bool mViewChangeHoldNonFullscreen; |
258 | bool mCenterOnCurrentTime; | 255 | bool mCenterOnCurrentTime; |
259 | bool mSetTimeToDayStartAt; | 256 | bool mSetTimeToDayStartAt; |
260 | bool mHighlightCurrentDay; | 257 | bool mHighlightCurrentDay; |
261 | bool mUseHighlightLightColor; | 258 | bool mUseHighlightLightColor; |
262 | bool mListViewMonthTimespan; | 259 | bool mListViewMonthTimespan; |
263 | bool mWNViewShowsParents; | 260 | bool mWNViewShowsParents; |
264 | bool mWNViewShowLocation; | 261 | bool mWNViewShowLocation; |
265 | bool mTodoViewShowsPercentage; | 262 | bool mTodoViewShowsPercentage; |
266 | bool mTodoViewUsesCatColors; | 263 | bool mTodoViewUsesCatColors; |
267 | bool mTodoViewUsesSmallFont; | 264 | bool mTodoViewUsesSmallFont; |
268 | bool mTodoViewUsesForegroundColor; | 265 | bool mTodoViewUsesForegroundColor; |
269 | bool mMonthViewUsesForegroundColor; | 266 | bool mMonthViewUsesForegroundColor; |
270 | 267 | ||
271 | bool mHightlightDateTimeEdit; | 268 | bool mHightlightDateTimeEdit; |
272 | bool mShortDateInViewer; | 269 | bool mShortDateInViewer; |
273 | 270 | ||
274 | QStringList mLocationDefaults; | 271 | QStringList mLocationDefaults; |
275 | QStringList mEventSummaryUser; | 272 | QStringList mEventSummaryUser; |
276 | QStringList mTodoSummaryUser; | 273 | QStringList mTodoSummaryUser; |
277 | 274 | ||
278 | bool mUseInternalAlarmNotification; | 275 | bool mUseInternalAlarmNotification; |
279 | int mAlarmPlayBeeps; | 276 | int mAlarmPlayBeeps; |
280 | int mAlarmSuspendTime; | 277 | int mAlarmSuspendTime; |
281 | int mAlarmSuspendCount; | 278 | int mAlarmSuspendCount; |
282 | int mAlarmBeepInterval; | 279 | int mAlarmBeepInterval; |
283 | 280 | ||
284 | QString mPassiveSyncPort; | 281 | QString mPassiveSyncPort; |
285 | QString mPassiveSyncPw; | 282 | QString mPassiveSyncPw; |
286 | QString mActiveSyncPort; | 283 | QString mActiveSyncPort; |
287 | QString mActiveSyncIP; | 284 | QString mActiveSyncIP; |
288 | 285 | ||
289 | 286 | ||
290 | //US I copied the following settings into KPimGlobalPrefs | 287 | //US I copied the following settings into KPimGlobalPrefs |
291 | // that allows us later to easily remove the settings from here. | 288 | // that allows us later to easily remove the settings from here. |
292 | int mPreferredDate; | 289 | int mPreferredDate; |
293 | QString mUserDateFormatLong; | 290 | QString mUserDateFormatLong; |
294 | QString mUserDateFormatShort; | 291 | QString mUserDateFormatShort; |
295 | int mPreferredLanguage; | 292 | int mPreferredLanguage; |
296 | int mPreferredTime; | 293 | int mPreferredTime; |
297 | bool mWeekStartsOnSunday; | 294 | bool mWeekStartsOnSunday; |
298 | QString mTimeZoneId; | 295 | QString mTimeZoneId; |
299 | bool mUseDaylightsaving; | 296 | bool mUseDaylightsaving; |
300 | int mDaylightsavingStart; | 297 | int mDaylightsavingStart; |
301 | int mDaylightsavingEnd; | 298 | int mDaylightsavingEnd; |
302 | 299 | ||
303 | 300 | ||
304 | private: | 301 | private: |
305 | QDict<QColor> mCategoryColors; | 302 | QDict<QColor> mCategoryColors; |
306 | QColor mDefaultCategoryColor; | 303 | QColor mDefaultCategoryColor; |
307 | 304 | ||
308 | QFont mDefaultTimeBarFont; | 305 | QFont mDefaultTimeBarFont; |
309 | QFont mDefaultViewFont; | 306 | QFont mDefaultViewFont; |
310 | QFont mDefaultMonthViewFont; | 307 | QFont mDefaultMonthViewFont; |
311 | 308 | ||
312 | QString mName; | 309 | QString mName; |
313 | QString mEmail; | 310 | QString mEmail; |
314 | }; | 311 | }; |
315 | 312 | ||
316 | #endif | 313 | #endif |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index bd14fbf..2f286e0 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -1,234 +1,234 @@ | |||
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 <libkcal/kincidenceformatter.h> | 42 | #include <libkcal/kincidenceformatter.h> |
43 | #include <libkdepim/kpimglobalprefs.h> | 43 | #include <libkdepim/kpimglobalprefs.h> |
44 | 44 | ||
45 | #include "calendarview.h" | 45 | #include "calendarview.h" |
46 | #include "koviewmanager.h" | 46 | #include "koviewmanager.h" |
47 | #include "datenavigator.h" | 47 | #include "datenavigator.h" |
48 | #include "koagendaview.h" | 48 | #include "koagendaview.h" |
49 | #include "koagenda.h" | 49 | #include "koagenda.h" |
50 | #include "kodialogmanager.h" | 50 | #include "kodialogmanager.h" |
51 | #include "kdialogbase.h" | 51 | #include "kdialogbase.h" |
52 | #include "kapplication.h" | 52 | #include "kapplication.h" |
53 | #include "kofilterview.h" | 53 | #include "kofilterview.h" |
54 | #include "kstandarddirs.h" | 54 | #include "kstandarddirs.h" |
55 | #include "koprefs.h" | 55 | #include "koprefs.h" |
56 | #include "kfiledialog.h" | 56 | #include "kfiledialog.h" |
57 | #include "koglobals.h" | 57 | #include "koglobals.h" |
58 | #include "kglobal.h" | 58 | #include "kglobal.h" |
59 | #include "klocale.h" | 59 | #include "klocale.h" |
60 | #include "kconfig.h" | 60 | #include "kconfig.h" |
61 | #include "simplealarmclient.h" | 61 | #include "simplealarmclient.h" |
62 | #include "externalapphandler.h" | 62 | #include "externalapphandler.h" |
63 | 63 | ||
64 | using namespace KCal; | 64 | using namespace KCal; |
65 | #ifndef _WIN32_ | 65 | #ifndef _WIN32_ |
66 | #include <unistd.h> | 66 | #include <unistd.h> |
67 | #else | 67 | #else |
68 | #include "koimportoldialog.h" | 68 | #include "koimportoldialog.h" |
69 | #endif | 69 | #endif |
70 | #include "mainwindow.h" | 70 | #include "mainwindow.h" |
71 | 71 | ||
72 | class KOex2phonePrefs : public QDialog | 72 | class KOex2phonePrefs : public QDialog |
73 | { | 73 | { |
74 | public: | 74 | public: |
75 | KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : | 75 | KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : |
76 | QDialog( parent, name, true ) | 76 | QDialog( parent, name, true ) |
77 | { | 77 | { |
78 | setCaption( i18n("Export to phone options") ); | 78 | setCaption( i18n("Export to phone options") ); |
79 | QVBoxLayout* lay = new QVBoxLayout( this ); | 79 | QVBoxLayout* lay = new QVBoxLayout( this ); |
80 | lay->setSpacing( 3 ); | 80 | lay->setSpacing( 3 ); |
81 | lay->setMargin( 3 ); | 81 | lay->setMargin( 3 ); |
82 | QLabel *lab; | 82 | QLabel *lab; |
83 | lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); | 83 | lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); |
84 | lab->setAlignment (AlignHCenter ); | 84 | lab->setAlignment (AlignHCenter ); |
85 | QHBox* temphb; | 85 | QHBox* temphb; |
86 | temphb = new QHBox( this ); | 86 | temphb = new QHBox( this ); |
87 | new QLabel( i18n("I/O device: "), temphb ); | 87 | new QLabel( i18n("I/O device: "), temphb ); |
88 | mPhoneDevice = new QLineEdit( temphb); | 88 | mPhoneDevice = new QLineEdit( temphb); |
89 | lay->addWidget( temphb ); | 89 | lay->addWidget( temphb ); |
90 | temphb = new QHBox( this ); | 90 | temphb = new QHBox( this ); |
91 | new QLabel( i18n("Connection: "), temphb ); | 91 | new QLabel( i18n("Connection: "), temphb ); |
92 | mPhoneConnection = new QLineEdit( temphb); | 92 | mPhoneConnection = new QLineEdit( temphb); |
93 | lay->addWidget( temphb ); | 93 | lay->addWidget( temphb ); |
94 | temphb = new QHBox( this ); | 94 | temphb = new QHBox( this ); |
95 | new QLabel( i18n("Model(opt.): "), temphb ); | 95 | new QLabel( i18n("Model(opt.): "), temphb ); |
96 | mPhoneModel = new QLineEdit( temphb); | 96 | mPhoneModel = new QLineEdit( temphb); |
97 | lay->addWidget( temphb ); | 97 | lay->addWidget( temphb ); |
98 | mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); | 98 | mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); |
99 | mWriteBackFuture->setChecked( true ); | 99 | mWriteBackFuture->setChecked( true ); |
100 | lay->addWidget( mWriteBackFuture ); | 100 | lay->addWidget( mWriteBackFuture ); |
101 | temphb = new QHBox( this ); | 101 | temphb = new QHBox( this ); |
102 | new QLabel( i18n("Max. weeks in future: ") , temphb ); | 102 | new QLabel( i18n("Max. weeks in future: ") , temphb ); |
103 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); | 103 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); |
104 | mWriteBackFutureWeeks->setValue( 8 ); | 104 | mWriteBackFutureWeeks->setValue( 8 ); |
105 | lay->addWidget( temphb ); | 105 | lay->addWidget( temphb ); |
106 | lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\n todo/calendar data on phone!"), this ) ); | 106 | lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); |
107 | lab->setAlignment (AlignHCenter ); | 107 | lab->setAlignment (AlignHCenter ); |
108 | QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); | 108 | QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); |
109 | lay->addWidget( ok ); | 109 | lay->addWidget( ok ); |
110 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); | 110 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); |
111 | lay->addWidget( cancel ); | 111 | lay->addWidget( cancel ); |
112 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); | 112 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); |
113 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); | 113 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); |
114 | resize( 220, 240 ); | 114 | resize( 220, 240 ); |
115 | 115 | ||
116 | } | 116 | } |
117 | 117 | ||
118 | public: | 118 | public: |
119 | QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; | 119 | QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; |
120 | QCheckBox* mWriteBackFuture; | 120 | QCheckBox* mWriteBackFuture; |
121 | QSpinBox* mWriteBackFutureWeeks; | 121 | QSpinBox* mWriteBackFutureWeeks; |
122 | }; | 122 | }; |
123 | 123 | ||
124 | int globalFlagBlockStartup; | 124 | int globalFlagBlockStartup; |
125 | MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : | 125 | MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : |
126 | QMainWindow( parent, name ) | 126 | QMainWindow( parent, name ) |
127 | { | 127 | { |
128 | mPassWordPiSync = "abc"; | 128 | mPassWordPiSync = "abc"; |
129 | #ifdef DESKTOP_VERSION | 129 | #ifdef DESKTOP_VERSION |
130 | setFont( QFont("Arial"), 14 ); | 130 | setFont( QFont("Arial"), 14 ); |
131 | #endif | 131 | #endif |
132 | mSyncActionDialog = 0; | 132 | mSyncActionDialog = 0; |
133 | mServerSocket = 0; | 133 | mServerSocket = 0; |
134 | mClosed = false; | 134 | mClosed = false; |
135 | //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; | 135 | //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; |
136 | QString confFile = locateLocal("config","korganizerrc"); | 136 | QString confFile = locateLocal("config","korganizerrc"); |
137 | QFileInfo finf ( confFile ); | 137 | QFileInfo finf ( confFile ); |
138 | bool showWarning = !finf.exists(); | 138 | bool showWarning = !finf.exists(); |
139 | setIcon(SmallIcon( "ko24" ) ); | 139 | setIcon(SmallIcon( "ko24" ) ); |
140 | mBlockAtStartup = true; | 140 | mBlockAtStartup = true; |
141 | mFlagKeyPressed = false; | 141 | mFlagKeyPressed = false; |
142 | setCaption("KOrganizer/Pi"); | 142 | setCaption("KOrganizer/Pi"); |
143 | KOPrefs *p = KOPrefs::instance(); | 143 | KOPrefs *p = KOPrefs::instance(); |
144 | KPimGlobalPrefs::instance()->setGlobalConfig(); | 144 | KPimGlobalPrefs::instance()->setGlobalConfig(); |
145 | // if ( QApplication::desktop()->height() > 480 ) { | 145 | // if ( QApplication::desktop()->height() > 480 ) { |
146 | // if ( p->mHourSize == 4 ) | 146 | // if ( p->mHourSize == 4 ) |
147 | // p->mHourSize = 6; | 147 | // p->mHourSize = 6; |
148 | // } | 148 | // } |
149 | if ( p->mHourSize > 18 ) | 149 | if ( p->mHourSize > 18 ) |
150 | p->mHourSize = 18; | 150 | p->mHourSize = 18; |
151 | QMainWindow::ToolBarDock tbd; | 151 | QMainWindow::ToolBarDock tbd; |
152 | if ( p->mToolBarHor ) { | 152 | if ( p->mToolBarHor ) { |
153 | if ( p->mToolBarUp ) | 153 | if ( p->mToolBarUp ) |
154 | tbd = Bottom; | 154 | tbd = Bottom; |
155 | else | 155 | else |
156 | tbd = Top; | 156 | tbd = Top; |
157 | } | 157 | } |
158 | else { | 158 | else { |
159 | if ( p->mToolBarUp ) | 159 | if ( p->mToolBarUp ) |
160 | tbd = Right; | 160 | tbd = Right; |
161 | else | 161 | else |
162 | tbd = Left; | 162 | tbd = Left; |
163 | } | 163 | } |
164 | if ( KOPrefs::instance()->mUseAppColors ) | 164 | if ( KOPrefs::instance()->mUseAppColors ) |
165 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); | 165 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); |
166 | globalFlagBlockStartup = 1; | 166 | globalFlagBlockStartup = 1; |
167 | iconToolBar = new QPEToolBar( this ); | 167 | iconToolBar = new QPEToolBar( this ); |
168 | addToolBar (iconToolBar , tbd ); | 168 | addToolBar (iconToolBar , tbd ); |
169 | mBlockSaveFlag = false; | 169 | mBlockSaveFlag = false; |
170 | mCalendarModifiedFlag = false; | 170 | mCalendarModifiedFlag = false; |
171 | 171 | ||
172 | QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); | 172 | QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); |
173 | splash->setAlignment ( AlignCenter ); | 173 | splash->setAlignment ( AlignCenter ); |
174 | setCentralWidget( splash ); | 174 | setCentralWidget( splash ); |
175 | #ifndef DESKTOP_VERSION | 175 | #ifndef DESKTOP_VERSION |
176 | showMaximized(); | 176 | showMaximized(); |
177 | #endif | 177 | #endif |
178 | //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); | 178 | //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); |
179 | setDefaultPreferences(); | 179 | setDefaultPreferences(); |
180 | mCalendar = new CalendarLocal(); | 180 | mCalendar = new CalendarLocal(); |
181 | mView = new CalendarView( mCalendar, this,"mCalendar " ); | 181 | mView = new CalendarView( mCalendar, this,"mCalendar " ); |
182 | mView->hide(); | 182 | mView->hide(); |
183 | //mView->resize(splash->size() ); | 183 | //mView->resize(splash->size() ); |
184 | initActions(); | 184 | initActions(); |
185 | #ifndef DESKTOP_VERSION | 185 | #ifndef DESKTOP_VERSION |
186 | iconToolBar->show(); | 186 | iconToolBar->show(); |
187 | qApp->processEvents(); | 187 | qApp->processEvents(); |
188 | #endif | 188 | #endif |
189 | //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); | 189 | //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); |
190 | int vh = height() ; | 190 | int vh = height() ; |
191 | int vw = width(); | 191 | int vw = width(); |
192 | //qDebug("Toolbar hei %d ",iconToolBar->height() ); | 192 | //qDebug("Toolbar hei %d ",iconToolBar->height() ); |
193 | if ( iconToolBar->orientation () == Qt:: Horizontal ) { | 193 | if ( iconToolBar->orientation () == Qt:: Horizontal ) { |
194 | vh -= iconToolBar->height(); | 194 | vh -= iconToolBar->height(); |
195 | } else { | 195 | } else { |
196 | vw -= iconToolBar->height(); | 196 | vw -= iconToolBar->height(); |
197 | } | 197 | } |
198 | //mView->setMaximumSize( splash->size() ); | 198 | //mView->setMaximumSize( splash->size() ); |
199 | //mView->resize( splash->size() ); | 199 | //mView->resize( splash->size() ); |
200 | //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); | 200 | //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); |
201 | mView->readSettings(); | 201 | mView->readSettings(); |
202 | bool newFile = false; | 202 | bool newFile = false; |
203 | if( !QFile::exists( defaultFileName() ) ) { | 203 | if( !QFile::exists( defaultFileName() ) ) { |
204 | QFileInfo finfo ( defaultFileName() ); | 204 | QFileInfo finfo ( defaultFileName() ); |
205 | QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); | 205 | QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); |
206 | qDebug("oldfile %s ", oldFile.latin1()); | 206 | 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"; | 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"; |
208 | finfo.setFile( oldFile ); | 208 | finfo.setFile( oldFile ); |
209 | if (finfo.exists() ) { | 209 | if (finfo.exists() ) { |
210 | KMessageBox::information( this, message); | 210 | KMessageBox::information( this, message); |
211 | mView->openCalendar( oldFile ); | 211 | mView->openCalendar( oldFile ); |
212 | qApp->processEvents(); | 212 | qApp->processEvents(); |
213 | } else { | 213 | } else { |
214 | oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); | 214 | oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); |
215 | finfo.setFile( oldFile ); | 215 | finfo.setFile( oldFile ); |
216 | if (finfo.exists() ) { | 216 | if (finfo.exists() ) { |
217 | KMessageBox::information( this, message); | 217 | KMessageBox::information( this, message); |
218 | mView->openCalendar( oldFile ); | 218 | mView->openCalendar( oldFile ); |
219 | qApp->processEvents(); | 219 | qApp->processEvents(); |
220 | } | 220 | } |
221 | } | 221 | } |
222 | mView->saveCalendar( defaultFileName() ); | 222 | mView->saveCalendar( defaultFileName() ); |
223 | newFile = true; | 223 | newFile = true; |
224 | } | 224 | } |
225 | 225 | ||
226 | QTime neededSaveTime = QDateTime::currentDateTime().time(); | 226 | QTime neededSaveTime = QDateTime::currentDateTime().time(); |
227 | mView->openCalendar( defaultFileName() ); | 227 | mView->openCalendar( defaultFileName() ); |
228 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); | 228 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); |
229 | qDebug("KO: Calendar loading time: %d ms",msNeeded ); | 229 | qDebug("KO: Calendar loading time: %d ms",msNeeded ); |
230 | 230 | ||
231 | if ( KOPrefs::instance()->mLanguageChanged ) { | 231 | if ( KOPrefs::instance()->mLanguageChanged ) { |
232 | KOPrefs::instance()->setCategoryDefaults(); | 232 | KOPrefs::instance()->setCategoryDefaults(); |
233 | int count = mView->addCategories(); | 233 | int count = mView->addCategories(); |
234 | KOPrefs::instance()->mLanguageChanged = false; | 234 | KOPrefs::instance()->mLanguageChanged = false; |
@@ -1046,320 +1046,321 @@ int MainWindow::ringSync() | |||
1046 | #ifndef _WIN32_ | 1046 | #ifndef _WIN32_ |
1047 | sleep (1); | 1047 | sleep (1); |
1048 | #endif | 1048 | #endif |
1049 | } | 1049 | } |
1050 | 1050 | ||
1051 | } | 1051 | } |
1052 | 1052 | ||
1053 | } | 1053 | } |
1054 | delete temp; | 1054 | delete temp; |
1055 | return syncedProfiles; | 1055 | return syncedProfiles; |
1056 | } | 1056 | } |
1057 | 1057 | ||
1058 | void MainWindow::multiSync( bool askforPrefs ) | 1058 | void MainWindow::multiSync( bool askforPrefs ) |
1059 | { | 1059 | { |
1060 | if (mBlockSaveFlag) | 1060 | if (mBlockSaveFlag) |
1061 | return; | 1061 | return; |
1062 | mBlockSaveFlag = true; | 1062 | mBlockSaveFlag = true; |
1063 | QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); | 1063 | QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); |
1064 | if ( QMessageBox::information( this, i18n("KO/Pi Sync"), | 1064 | if ( QMessageBox::information( this, i18n("KO/Pi Sync"), |
1065 | question, | 1065 | question, |
1066 | i18n("Yes"), i18n("No"), | 1066 | i18n("Yes"), i18n("No"), |
1067 | 0, 0 ) != 0 ) { | 1067 | 0, 0 ) != 0 ) { |
1068 | mBlockSaveFlag = false; | 1068 | mBlockSaveFlag = false; |
1069 | setCaption(i18n("Aborted! Nothing synced!")); | 1069 | setCaption(i18n("Aborted! Nothing synced!")); |
1070 | return; | 1070 | return; |
1071 | } | 1071 | } |
1072 | mView->setSyncDevice(i18n("Multiple profiles") ); | 1072 | mView->setSyncDevice(i18n("Multiple profiles") ); |
1073 | KOPrefs::instance()->mSyncAlgoPrefs = KOPrefs::instance()->mRingSyncAlgoPrefs; | 1073 | KOPrefs::instance()->mSyncAlgoPrefs = KOPrefs::instance()->mRingSyncAlgoPrefs; |
1074 | if ( askforPrefs ) { | 1074 | if ( askforPrefs ) { |
1075 | mView->edit_sync_options(); | 1075 | mView->edit_sync_options(); |
1076 | KOPrefs::instance()->mRingSyncAlgoPrefs = KOPrefs::instance()->mSyncAlgoPrefs; | 1076 | KOPrefs::instance()->mRingSyncAlgoPrefs = KOPrefs::instance()->mSyncAlgoPrefs; |
1077 | } | 1077 | } |
1078 | setCaption(i18n("Multiple sync started.") ); | 1078 | setCaption(i18n("Multiple sync started.") ); |
1079 | qApp->processEvents(); | 1079 | qApp->processEvents(); |
1080 | int num = ringSync() ; | 1080 | int num = ringSync() ; |
1081 | if ( num > 1 ) | 1081 | if ( num > 1 ) |
1082 | ringSync(); | 1082 | ringSync(); |
1083 | mBlockSaveFlag = false; | 1083 | mBlockSaveFlag = false; |
1084 | if ( num ) | 1084 | if ( num ) |
1085 | save(); | 1085 | save(); |
1086 | if ( num ) | 1086 | if ( num ) |
1087 | setCaption(i18n("%1 profiles synced. Multiple sync completed!").arg(num) ); | 1087 | setCaption(i18n("%1 profiles synced. Multiple sync completed!").arg(num) ); |
1088 | else | 1088 | else |
1089 | setCaption(i18n("Nothing synced! No profiles defined for multisync!")); | 1089 | setCaption(i18n("Nothing synced! No profiles defined for multisync!")); |
1090 | return; | 1090 | return; |
1091 | } | 1091 | } |
1092 | void MainWindow::slotSyncMenu( int action ) | 1092 | void MainWindow::slotSyncMenu( int action ) |
1093 | { | 1093 | { |
1094 | qDebug("syncaction %d ", action); | 1094 | qDebug("syncaction %d ", action); |
1095 | if ( action == 0 ) { | 1095 | if ( action == 0 ) { |
1096 | 1096 | ||
1097 | // seems to be a Qt2 event handling bug | 1097 | // seems to be a Qt2 event handling bug |
1098 | // syncmenu.clear causes a segfault at first time | 1098 | // syncmenu.clear causes a segfault at first time |
1099 | // when we call it after the main event loop, it is ok | 1099 | // when we call it after the main event loop, it is ok |
1100 | // same behaviour when calling OM/Pi via QCOP for the first time | 1100 | // same behaviour when calling OM/Pi via QCOP for the first time |
1101 | QTimer::singleShot ( 1, this, SLOT ( confSync() ) ); | 1101 | QTimer::singleShot ( 1, this, SLOT ( confSync() ) ); |
1102 | //confSync(); | 1102 | //confSync(); |
1103 | 1103 | ||
1104 | return; | 1104 | return; |
1105 | } | 1105 | } |
1106 | if ( action == 1 ) { | 1106 | if ( action == 1 ) { |
1107 | multiSync( true ); | 1107 | multiSync( true ); |
1108 | return; | 1108 | return; |
1109 | } | 1109 | } |
1110 | if ( action == 2 ) { | 1110 | if ( action == 2 ) { |
1111 | enableQuick(); | 1111 | enableQuick(); |
1112 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); | 1112 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); |
1113 | return; | 1113 | return; |
1114 | } | 1114 | } |
1115 | if ( action == 3 ) { | 1115 | if ( action == 3 ) { |
1116 | delete mServerSocket; | 1116 | delete mServerSocket; |
1117 | mServerSocket = 0; | 1117 | mServerSocket = 0; |
1118 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); | 1118 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); |
1119 | return; | 1119 | return; |
1120 | } | 1120 | } |
1121 | 1121 | ||
1122 | if (mBlockSaveFlag) | 1122 | if (mBlockSaveFlag) |
1123 | return; | 1123 | return; |
1124 | mBlockSaveFlag = true; | 1124 | mBlockSaveFlag = true; |
1125 | mCurrentSyncProfile = action - 1000 ; | 1125 | mCurrentSyncProfile = action - 1000 ; |
1126 | mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] ); | 1126 | mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] ); |
1127 | mView->setSyncName( KOPrefs::instance()->mLocalMachineName ); | 1127 | mView->setSyncName( KOPrefs::instance()->mLocalMachineName ); |
1128 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); | 1128 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); |
1129 | KSyncProfile* temp = new KSyncProfile (); | 1129 | KSyncProfile* temp = new KSyncProfile (); |
1130 | temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]); | 1130 | temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]); |
1131 | temp->readConfig(&config); | 1131 | temp->readConfig(&config); |
1132 | KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences(); | 1132 | KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences(); |
1133 | KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs(); | 1133 | KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs(); |
1134 | KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile(); | 1134 | KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile(); |
1135 | KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting(); | 1135 | KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting(); |
1136 | KOPrefs::instance()->mWriteBackInFuture = 0; | 1136 | KOPrefs::instance()->mWriteBackInFuture = 0; |
1137 | if ( temp->getWriteBackFuture() ) | 1137 | if ( temp->getWriteBackFuture() ) |
1138 | KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); | 1138 | KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); |
1139 | KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync(); | 1139 | KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync(); |
1140 | if ( action == 1000 ) { | 1140 | if ( action == 1000 ) { |
1141 | syncSharp(); | 1141 | syncSharp(); |
1142 | 1142 | ||
1143 | } else if ( action == 1001 ) { | 1143 | } else if ( action == 1001 ) { |
1144 | syncLocalFile(); | 1144 | syncLocalFile(); |
1145 | 1145 | ||
1146 | } else if ( action == 1002 ) { | 1146 | } else if ( action == 1002 ) { |
1147 | quickSyncLocalFile(); | 1147 | quickSyncLocalFile(); |
1148 | 1148 | ||
1149 | } else if ( action >= 1003 ) { | 1149 | } else if ( action >= 1003 ) { |
1150 | if ( temp->getIsLocalFileSync() ) { | 1150 | if ( temp->getIsLocalFileSync() ) { |
1151 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) | 1151 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) |
1152 | KOPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileName(); | 1152 | KOPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileName(); |
1153 | } else { | 1153 | } else { |
1154 | if ( temp->getIsPhoneSync() ) { | 1154 | if ( temp->getIsPhoneSync() ) { |
1155 | KOPrefs::instance()->mPhoneDevice = temp->getPhoneDevice( ) ; | 1155 | KOPrefs::instance()->mPhoneDevice = temp->getPhoneDevice( ) ; |
1156 | KOPrefs::instance()->mPhoneConnection = temp->getPhoneConnection( ); | 1156 | KOPrefs::instance()->mPhoneConnection = temp->getPhoneConnection( ); |
1157 | KOPrefs::instance()->mPhoneModel = temp->getPhoneModel( ); | 1157 | KOPrefs::instance()->mPhoneModel = temp->getPhoneModel( ); |
1158 | syncPhone(); | 1158 | syncPhone(); |
1159 | } else if ( temp->getIsPiSync() ) { | 1159 | } else if ( temp->getIsPiSync() ) { |
1160 | mPassWordPiSync = temp->getRemotePw(); | 1160 | mPassWordPiSync = temp->getRemotePw(); |
1161 | KOPrefs::instance()->mActiveSyncPort = temp->getRemotePort(); | 1161 | KOPrefs::instance()->mActiveSyncPort = temp->getRemotePort(); |
1162 | KOPrefs::instance()->mActiveSyncIP = temp->getRemoteIP(); | 1162 | KOPrefs::instance()->mActiveSyncIP = temp->getRemoteIP(); |
1163 | syncPi(); | 1163 | syncPi(); |
1164 | } else | 1164 | } else |
1165 | syncRemote( temp ); | 1165 | syncRemote( temp ); |
1166 | 1166 | ||
1167 | } | 1167 | } |
1168 | } | 1168 | } |
1169 | delete temp; | 1169 | delete temp; |
1170 | mBlockSaveFlag = false; | 1170 | mBlockSaveFlag = false; |
1171 | } | 1171 | } |
1172 | void MainWindow::exportToPhone( int mode ) | 1172 | void MainWindow::exportToPhone( int mode ) |
1173 | { | 1173 | { |
1174 | 1174 | ||
1175 | //ex2phone->insertItem(i18n("Complete calendar..."), 1 ); | 1175 | //ex2phone->insertItem(i18n("Complete calendar..."), 1 ); |
1176 | //ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); | 1176 | //ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); |
1177 | KOex2phonePrefs ex2phone; | 1177 | KOex2phonePrefs ex2phone; |
1178 | ex2phone.mPhoneConnection->setText( KOPrefs::instance()->mEx2PhoneConnection ); | 1178 | |
1179 | ex2phone.mPhoneDevice->setText( KOPrefs::instance()->mEx2PhoneDevice ); | 1179 | ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); |
1180 | ex2phone.mPhoneModel->setText( KOPrefs::instance()->mEx2PhoneModel ); | 1180 | ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); |
1181 | ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); | ||
1181 | if ( mode == 1 ) | 1182 | if ( mode == 1 ) |
1182 | ex2phone.setCaption(i18n("Export complete calendar")); | 1183 | ex2phone.setCaption(i18n("Export complete calendar")); |
1183 | if ( mode == 2 ) | 1184 | if ( mode == 2 ) |
1184 | ex2phone.setCaption(i18n("Export filtered calendar")); | 1185 | ex2phone.setCaption(i18n("Export filtered calendar")); |
1185 | 1186 | ||
1186 | if ( !ex2phone.exec() ) { | 1187 | if ( !ex2phone.exec() ) { |
1187 | return; | 1188 | return; |
1188 | } | 1189 | } |
1189 | KOPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); | 1190 | KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); |
1190 | KOPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); | 1191 | KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); |
1191 | KOPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); | 1192 | KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); |
1192 | 1193 | ||
1193 | int inFuture = 0; | 1194 | int inFuture = 0; |
1194 | if ( ex2phone.mWriteBackFuture->isChecked() ) | 1195 | if ( ex2phone.mWriteBackFuture->isChecked() ) |
1195 | inFuture = ex2phone.mWriteBackFutureWeeks->value(); | 1196 | inFuture = ex2phone.mWriteBackFutureWeeks->value(); |
1196 | QPtrList<Incidence> delSel; | 1197 | QPtrList<Incidence> delSel; |
1197 | if ( mode == 1 ) | 1198 | if ( mode == 1 ) |
1198 | delSel = mCalendar->rawIncidences(); | 1199 | delSel = mCalendar->rawIncidences(); |
1199 | if ( mode == 2 ) | 1200 | if ( mode == 2 ) |
1200 | delSel = mCalendar->incidences(); | 1201 | delSel = mCalendar->incidences(); |
1201 | CalendarLocal* cal = new CalendarLocal(); | 1202 | CalendarLocal* cal = new CalendarLocal(); |
1202 | cal->setLocalTime(); | 1203 | cal->setLocalTime(); |
1203 | Incidence *incidence = delSel.first(); | 1204 | Incidence *incidence = delSel.first(); |
1204 | QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); | 1205 | QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); |
1205 | QDateTime end = cur.addDays( ( inFuture +1 ) *7 ); | 1206 | QDateTime end = cur.addDays( ( inFuture +1 ) *7 ); |
1206 | while ( incidence ) { | 1207 | while ( incidence ) { |
1207 | if ( incidence->type() != "Journal" ) { | 1208 | if ( incidence->type() != "Journal" ) { |
1208 | bool add = true; | 1209 | bool add = true; |
1209 | if ( inFuture ) { | 1210 | if ( inFuture ) { |
1210 | QDateTime dt; | 1211 | QDateTime dt; |
1211 | if ( incidence->type() == "Todo" ) { | 1212 | if ( incidence->type() == "Todo" ) { |
1212 | Todo * t = (Todo*)incidence; | 1213 | Todo * t = (Todo*)incidence; |
1213 | if ( t->hasDueDate() ) | 1214 | if ( t->hasDueDate() ) |
1214 | dt = t->dtDue(); | 1215 | dt = t->dtDue(); |
1215 | else | 1216 | else |
1216 | dt = cur.addSecs( 62 ); | 1217 | dt = cur.addSecs( 62 ); |
1217 | } | 1218 | } |
1218 | else { | 1219 | else { |
1219 | bool ok; | 1220 | bool ok; |
1220 | dt = incidence->getNextOccurence( cur, &ok ); | 1221 | dt = incidence->getNextOccurence( cur, &ok ); |
1221 | if ( !ok ) | 1222 | if ( !ok ) |
1222 | dt = cur.addSecs( -62 ); | 1223 | dt = cur.addSecs( -62 ); |
1223 | } | 1224 | } |
1224 | if ( dt < cur || dt > end ) { | 1225 | if ( dt < cur || dt > end ) { |
1225 | add = false; | 1226 | add = false; |
1226 | } | 1227 | } |
1227 | } | 1228 | } |
1228 | if ( add ) { | 1229 | if ( add ) { |
1229 | Incidence *in = incidence->clone(); | 1230 | Incidence *in = incidence->clone(); |
1230 | cal->addIncidence( in ); | 1231 | cal->addIncidence( in ); |
1231 | } | 1232 | } |
1232 | } | 1233 | } |
1233 | incidence = delSel.next(); | 1234 | incidence = delSel.next(); |
1234 | } | 1235 | } |
1235 | PhoneFormat::writeConfig( KOPrefs::instance()->mEx2PhoneDevice, | 1236 | PhoneFormat::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, |
1236 | KOPrefs::instance()->mEx2PhoneConnection, | 1237 | KPimGlobalPrefs::instance()->mEx2PhoneConnection, |
1237 | KOPrefs::instance()->mEx2PhoneModel ); | 1238 | KPimGlobalPrefs::instance()->mEx2PhoneModel ); |
1238 | 1239 | ||
1239 | setCaption( i18n("Writing to phone...")); | 1240 | setCaption( i18n("Writing to phone...")); |
1240 | if ( PhoneFormat::writeToPhone( cal ) ) | 1241 | if ( PhoneFormat::writeToPhone( cal ) ) |
1241 | setCaption( i18n("Export to phone successful!")); | 1242 | setCaption( i18n("Export to phone successful!")); |
1242 | else | 1243 | else |
1243 | setCaption( i18n("Error exporting to phone!")); | 1244 | setCaption( i18n("Error exporting to phone!")); |
1244 | delete cal; | 1245 | delete cal; |
1245 | } | 1246 | } |
1246 | 1247 | ||
1247 | 1248 | ||
1248 | void MainWindow::setDefaultPreferences() | 1249 | void MainWindow::setDefaultPreferences() |
1249 | { | 1250 | { |
1250 | KOPrefs *p = KOPrefs::instance(); | 1251 | KOPrefs *p = KOPrefs::instance(); |
1251 | 1252 | ||
1252 | p->mCompactDialogs = true; | 1253 | p->mCompactDialogs = true; |
1253 | p->mConfirm = true; | 1254 | p->mConfirm = true; |
1254 | // p->mEnableQuickTodo = false; | 1255 | // p->mEnableQuickTodo = false; |
1255 | 1256 | ||
1256 | } | 1257 | } |
1257 | 1258 | ||
1258 | QString MainWindow::resourcePath() | 1259 | QString MainWindow::resourcePath() |
1259 | { | 1260 | { |
1260 | return KGlobal::iconLoader()->iconPath(); | 1261 | return KGlobal::iconLoader()->iconPath(); |
1261 | } | 1262 | } |
1262 | 1263 | ||
1263 | void MainWindow::displayText( QString text ,QString cap ) | 1264 | void MainWindow::displayText( QString text ,QString cap ) |
1264 | { | 1265 | { |
1265 | QDialog dia( this, "name", true ); ; | 1266 | QDialog dia( this, "name", true ); ; |
1266 | dia.setCaption( cap ); | 1267 | dia.setCaption( cap ); |
1267 | QVBoxLayout* lay = new QVBoxLayout( &dia ); | 1268 | QVBoxLayout* lay = new QVBoxLayout( &dia ); |
1268 | lay->setSpacing( 3 ); | 1269 | lay->setSpacing( 3 ); |
1269 | lay->setMargin( 3 ); | 1270 | lay->setMargin( 3 ); |
1270 | QTextBrowser tb ( &dia ); | 1271 | QTextBrowser tb ( &dia ); |
1271 | lay->addWidget( &tb ); | 1272 | lay->addWidget( &tb ); |
1272 | tb.setText( text ); | 1273 | tb.setText( text ); |
1273 | #ifdef DESKTOP_VERSION | 1274 | #ifdef DESKTOP_VERSION |
1274 | dia.resize( 640, 480); | 1275 | dia.resize( 640, 480); |
1275 | #else | 1276 | #else |
1276 | dia.showMaximized(); | 1277 | dia.showMaximized(); |
1277 | #endif | 1278 | #endif |
1278 | dia.exec(); | 1279 | dia.exec(); |
1279 | } | 1280 | } |
1280 | void MainWindow::displayFile( QString fn, QString cap ) | 1281 | void MainWindow::displayFile( QString fn, QString cap ) |
1281 | { | 1282 | { |
1282 | QString fileName = resourcePath() + fn; | 1283 | QString fileName = resourcePath() + fn; |
1283 | QString text; | 1284 | QString text; |
1284 | QFile file( fileName ); | 1285 | QFile file( fileName ); |
1285 | if (!file.open( IO_ReadOnly ) ) { | 1286 | if (!file.open( IO_ReadOnly ) ) { |
1286 | return ; | 1287 | return ; |
1287 | 1288 | ||
1288 | } | 1289 | } |
1289 | QTextStream ts( &file ); | 1290 | QTextStream ts( &file ); |
1290 | text = ts.read(); | 1291 | text = ts.read(); |
1291 | file.close(); | 1292 | file.close(); |
1292 | displayText( text, cap); | 1293 | displayText( text, cap); |
1293 | } | 1294 | } |
1294 | void MainWindow::features() | 1295 | void MainWindow::features() |
1295 | { | 1296 | { |
1296 | 1297 | ||
1297 | displayFile( "featuresKOPI.txt",i18n("KO/Pi Features and hints") ); | 1298 | displayFile( "featuresKOPI.txt",i18n("KO/Pi Features and hints") ); |
1298 | } | 1299 | } |
1299 | 1300 | ||
1300 | void MainWindow::usertrans() | 1301 | void MainWindow::usertrans() |
1301 | { | 1302 | { |
1302 | 1303 | ||
1303 | displayFile( "usertranslationHOWTO.txt",i18n("KO/Pi User translation HowTo") ); | 1304 | displayFile( "usertranslationHOWTO.txt",i18n("KO/Pi User translation HowTo") ); |
1304 | } | 1305 | } |
1305 | 1306 | ||
1306 | void MainWindow::synchowto() | 1307 | void MainWindow::synchowto() |
1307 | { | 1308 | { |
1308 | #if 0 | 1309 | #if 0 |
1309 | QPtrList<Incidence> er = mCalendar->rawIncidences(); | 1310 | QPtrList<Incidence> er = mCalendar->rawIncidences(); |
1310 | Incidence* inR = er.first(); | 1311 | Incidence* inR = er.first(); |
1311 | VCalFormat vf; | 1312 | VCalFormat vf; |
1312 | QString strout; | 1313 | QString strout; |
1313 | while ( inR ) { | 1314 | while ( inR ) { |
1314 | if ( inR->type() == "Todo" ) | 1315 | if ( inR->type() == "Todo" ) |
1315 | strout = vf.todoToString( (Todo *) inR ); | 1316 | strout = vf.todoToString( (Todo *) inR ); |
1316 | if ( inR->type() == "Event" ) | 1317 | if ( inR->type() == "Event" ) |
1317 | strout = vf.eventToString( (Event *) inR ); | 1318 | strout = vf.eventToString( (Event *) inR ); |
1318 | qDebug("incidence: \n%s\n ente\n\n",strout.latin1() ); | 1319 | qDebug("incidence: \n%s\n ente\n\n",strout.latin1() ); |
1319 | inR = er.next(); | 1320 | inR = er.next(); |
1320 | } | 1321 | } |
1321 | #endif | 1322 | #endif |
1322 | displayFile( "howtoSYNC.txt",i18n("KO/Pi Synchronization HowTo") ); | 1323 | displayFile( "howtoSYNC.txt",i18n("KO/Pi Synchronization HowTo") ); |
1323 | } | 1324 | } |
1324 | void MainWindow::faq() | 1325 | void MainWindow::faq() |
1325 | { | 1326 | { |
1326 | displayFile( "kopiFAQ.txt",i18n("KO/Pi FAQ") ); | 1327 | displayFile( "kopiFAQ.txt",i18n("KO/Pi FAQ") ); |
1327 | 1328 | ||
1328 | } | 1329 | } |
1329 | void MainWindow::whatsNew() | 1330 | void MainWindow::whatsNew() |
1330 | { | 1331 | { |
1331 | displayFile( "kopiWhatsNew.txt",i18n("KO/Pi Version Info") ); | 1332 | displayFile( "kopiWhatsNew.txt",i18n("KO/Pi Version Info") ); |
1332 | 1333 | ||
1333 | } | 1334 | } |
1334 | void MainWindow::licence() | 1335 | void MainWindow::licence() |
1335 | { | 1336 | { |
1336 | KApplication::showLicence(); | 1337 | KApplication::showLicence(); |
1337 | 1338 | ||
1338 | } | 1339 | } |
1339 | void MainWindow::about() | 1340 | void MainWindow::about() |
1340 | { | 1341 | { |
1341 | QString version; | 1342 | QString version; |
1342 | #include <../version> | 1343 | #include <../version> |
1343 | QMessageBox::about( this, i18n("About KOrganizer/Pi"), | 1344 | QMessageBox::about( this, i18n("About KOrganizer/Pi"), |
1344 | i18n("KOrganizer/Platform-independent\n") + | 1345 | i18n("KOrganizer/Platform-independent\n") + |
1345 | "(KO/Pi) " + version + " - " + | 1346 | "(KO/Pi) " + version + " - " + |
1346 | 1347 | ||
1347 | #ifdef DESKTOP_VERSION | 1348 | #ifdef DESKTOP_VERSION |
1348 | i18n("Desktop Edition\n") + | 1349 | i18n("Desktop Edition\n") + |
1349 | #else | 1350 | #else |
1350 | i18n("PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n") + | 1351 | i18n("PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n") + |
1351 | #endif | 1352 | #endif |
1352 | 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") ); | 1353 | 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") ); |
1353 | } | 1354 | } |
1354 | void MainWindow::keyBindings() | 1355 | void MainWindow::keyBindings() |
1355 | { | 1356 | { |
1356 | QString cap = i18n("Key bindings KOrganizer/Pi"); | 1357 | QString cap = i18n("Key bindings KOrganizer/Pi"); |
1357 | QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + | 1358 | QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + |
1358 | i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ | 1359 | i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ |
1359 | i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + | 1360 | i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + |
1360 | i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ | 1361 | i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ |
1361 | i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ | 1362 | i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ |
1362 | i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ | 1363 | i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ |
1363 | i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ | 1364 | i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ |
1364 | i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ | 1365 | i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ |
1365 | i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ | 1366 | i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ |
diff --git a/libkdepim/kpimglobalprefs.cpp b/libkdepim/kpimglobalprefs.cpp index b2b7663..b71e18d 100644 --- a/libkdepim/kpimglobalprefs.cpp +++ b/libkdepim/kpimglobalprefs.cpp | |||
@@ -1,133 +1,140 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of libkdepim. | 2 | This file is part of libkdepim. |
3 | Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | /* | 24 | /* |
25 | Enhanced Version of the file for platform independent KDE tools. | 25 | Enhanced Version of the file for platform independent KDE tools. |
26 | Copyright (c) 2004 Ulf Schenk | 26 | Copyright (c) 2004 Ulf Schenk |
27 | 27 | ||
28 | $Id$ | 28 | $Id$ |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include <kglobal.h> | 31 | #include <kglobal.h> |
32 | #include <kconfig.h> | 32 | #include <kconfig.h> |
33 | #include <klocale.h> | 33 | #include <klocale.h> |
34 | #include <kdebug.h> | 34 | #include <kdebug.h> |
35 | #include <kstaticdeleter.h> | 35 | #include <kstaticdeleter.h> |
36 | 36 | ||
37 | #include <qregexp.h> | 37 | #include <qregexp.h> |
38 | #include "kpimglobalprefs.h" | 38 | #include "kpimglobalprefs.h" |
39 | 39 | ||
40 | KPimGlobalPrefs *KPimGlobalPrefs::sInstance = 0; | 40 | KPimGlobalPrefs *KPimGlobalPrefs::sInstance = 0; |
41 | static KStaticDeleter<KPimGlobalPrefs> staticDeleter; | 41 | static KStaticDeleter<KPimGlobalPrefs> staticDeleter; |
42 | 42 | ||
43 | 43 | ||
44 | KPimGlobalPrefs::KPimGlobalPrefs( const QString &name ) | 44 | KPimGlobalPrefs::KPimGlobalPrefs( const QString &name ) |
45 | : KPrefs("microkdeglobalrc") | 45 | : KPrefs("microkdeglobalrc") |
46 | { | 46 | { |
47 | 47 | ||
48 | KPrefs::setCurrentGroup("Locale"); | 48 | KPrefs::setCurrentGroup("Locale"); |
49 | addItemInt("PreferredLanguage",&mPreferredLanguage,0); | 49 | addItemInt("PreferredLanguage",&mPreferredLanguage,0); |
50 | addItemInt("PreferredTime",&mPreferredTime,0); | 50 | addItemInt("PreferredTime",&mPreferredTime,0); |
51 | addItemInt("PreferredDate",&mPreferredDate,0); | 51 | addItemInt("PreferredDate",&mPreferredDate,0); |
52 | addItemBool("WeekStartsOnSunday",&mWeekStartsOnSunday,false); | 52 | addItemBool("WeekStartsOnSunday",&mWeekStartsOnSunday,false); |
53 | //addItemBool("QuickSavingWOUnicode",&mUseQuicksave,false); | 53 | //addItemBool("QuickSavingWOUnicode",&mUseQuicksave,false); |
54 | // addItemBool("ShortDateInViewer",&mShortDateInViewer,false); | 54 | // addItemBool("ShortDateInViewer",&mShortDateInViewer,false); |
55 | addItemString("UserDateFormatLong", &mUserDateFormatLong, "%A %d %b %y"); | 55 | addItemString("UserDateFormatLong", &mUserDateFormatLong, "%A %d %b %y"); |
56 | addItemString("UserDateFormatShort", &mUserDateFormatShort, "%aK %d.%m.%y"); | 56 | addItemString("UserDateFormatShort", &mUserDateFormatShort, "%aK %d.%m.%y"); |
57 | 57 | ||
58 | KPrefs::setCurrentGroup("Time & Date"); | 58 | KPrefs::setCurrentGroup("Time & Date"); |
59 | 59 | ||
60 | addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") ); | 60 | addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") ); |
61 | addItemBool("UseDaylightsaving",&mUseDaylightsaving,true); | 61 | addItemBool("UseDaylightsaving",&mUseDaylightsaving,true); |
62 | addItemInt("DaylightsavingStart",&mDaylightsavingStart,90); | 62 | addItemInt("DaylightsavingStart",&mDaylightsavingStart,90); |
63 | addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304); | 63 | addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304); |
64 | 64 | ||
65 | 65 | ||
66 | 66 | ||
67 | 67 | ||
68 | KPrefs::setCurrentGroup( "ExternalApplications" ); | 68 | KPrefs::setCurrentGroup( "ExternalApplications" ); |
69 | 69 | ||
70 | addItemInt( "EmailChannelType", &mEmailClient, OMPI_EMC ); | 70 | addItemInt( "EmailChannelType", &mEmailClient, OMPI_EMC ); |
71 | addItemString( "EmailChannel", &mEmailOtherChannel, "" ); | 71 | addItemString( "EmailChannel", &mEmailOtherChannel, "" ); |
72 | addItemString( "EmailChannelMessage", &mEmailOtherMessage, "" ); | 72 | addItemString( "EmailChannelMessage", &mEmailOtherMessage, "" ); |
73 | addItemString( "EmailChannelParameters", &mEmailOtherMessageParameters, "" ); | 73 | addItemString( "EmailChannelParameters", &mEmailOtherMessageParameters, "" ); |
74 | addItemString( "EmailChannelMessage2", &mEmailOtherMessage2, "" ); | 74 | addItemString( "EmailChannelMessage2", &mEmailOtherMessage2, "" ); |
75 | addItemString( "EmailChannelParameters2", &mEmailOtherMessageParameters2, "" ); | 75 | addItemString( "EmailChannelParameters2", &mEmailOtherMessageParameters2, "" ); |
76 | 76 | ||
77 | addItemInt( "PhoneChannelType", &mPhoneClient, KPPI_PHC ); | 77 | addItemInt( "PhoneChannelType", &mPhoneClient, KPPI_PHC ); |
78 | addItemString( "PhoneChannel", &mPhoneOtherChannel, "" ); | 78 | addItemString( "PhoneChannel", &mPhoneOtherChannel, "" ); |
79 | addItemString( "PhoneChannelMessage", &mPhoneOtherMessage, "" ); | 79 | addItemString( "PhoneChannelMessage", &mPhoneOtherMessage, "" ); |
80 | addItemString( "PhoneChannelParameters", &mPhoneOtherMessageParameters, "" ); | 80 | addItemString( "PhoneChannelParameters", &mPhoneOtherMessageParameters, "" ); |
81 | 81 | ||
82 | addItemInt( "FaxChannelType", &mFaxClient, NONE_FAC ); | 82 | addItemInt( "FaxChannelType", &mFaxClient, NONE_FAC ); |
83 | addItemString( "FaxChannel", &mFaxOtherChannel, "" ); | 83 | addItemString( "FaxChannel", &mFaxOtherChannel, "" ); |
84 | addItemString( "FaxChannelMessage", &mFaxOtherMessage, "" ); | 84 | addItemString( "FaxChannelMessage", &mFaxOtherMessage, "" ); |
85 | addItemString( "FaxChannelParameters", &mFaxOtherMessageParameters, "" ); | 85 | addItemString( "FaxChannelParameters", &mFaxOtherMessageParameters, "" ); |
86 | 86 | ||
87 | addItemInt( "SMSChannelType", &mSMSClient, NONE_SMC ); | 87 | addItemInt( "SMSChannelType", &mSMSClient, NONE_SMC ); |
88 | addItemString( "SMSChannel", &mSMSOtherChannel, "" ); | 88 | addItemString( "SMSChannel", &mSMSOtherChannel, "" ); |
89 | addItemString( "SMSChannelMessage", &mSMSOtherMessage, "" ); | 89 | addItemString( "SMSChannelMessage", &mSMSOtherMessage, "" ); |
90 | addItemString( "SMSChannelParameters", &mSMSOtherMessageParameters, "" ); | 90 | addItemString( "SMSChannelParameters", &mSMSOtherMessageParameters, "" ); |
91 | 91 | ||
92 | addItemInt( "PagerChannelType", &mPagerClient, NONE_PAC ); | 92 | addItemInt( "PagerChannelType", &mPagerClient, NONE_PAC ); |
93 | addItemString( "PagerChannel", &mPagerOtherChannel, "" ); | 93 | addItemString( "PagerChannel", &mPagerOtherChannel, "" ); |
94 | addItemString( "PagerChannelMessage", &mPagerOtherMessage, "" ); | 94 | addItemString( "PagerChannelMessage", &mPagerOtherMessage, "" ); |
95 | addItemString( "PagerChannelParameters", &mPagerOtherMessageParameters, "" ); | 95 | addItemString( "PagerChannelParameters", &mPagerOtherMessageParameters, "" ); |
96 | 96 | ||
97 | addItemInt( "SIPChannelType", &mSipClient, NONE_SIC ); | 97 | addItemInt( "SIPChannelType", &mSipClient, NONE_SIC ); |
98 | addItemString( "SIPChannel", &mSipOtherChannel, "" ); | 98 | addItemString( "SIPChannel", &mSipOtherChannel, "" ); |
99 | addItemString( "SIPChannelMessage", &mSipOtherMessage, "" ); | 99 | addItemString( "SIPChannelMessage", &mSipOtherMessage, "" ); |
100 | addItemString( "SIPChannelParameters", &mSipOtherMessageParameters, "" ); | 100 | addItemString( "SIPChannelParameters", &mSipOtherMessageParameters, "" ); |
101 | 101 | ||
102 | |||
103 | KPrefs::setCurrentGroup( "PhoneAccess" ); | ||
104 | addItemString("Ex2PhoneDevice",&mEx2PhoneDevice,"/dev/ircomm"); | ||
105 | addItemString("Ex2PhoneConnection",&mEx2PhoneConnection,"irda"); | ||
106 | addItemString("Ex2PhoneModel",&mEx2PhoneModel,"6310i"); | ||
107 | |||
108 | |||
102 | } | 109 | } |
103 | 110 | ||
104 | void KPimGlobalPrefs::setGlobalConfig() | 111 | void KPimGlobalPrefs::setGlobalConfig() |
105 | { | 112 | { |
106 | 113 | ||
107 | KGlobal::locale()->setHore24Format( !mPreferredTime ); | 114 | KGlobal::locale()->setHore24Format( !mPreferredTime ); |
108 | KGlobal::locale()->setWeekStartMonday( !mWeekStartsOnSunday ); | 115 | KGlobal::locale()->setWeekStartMonday( !mWeekStartsOnSunday ); |
109 | KGlobal::locale()->setIntDateFormat( (KLocale::IntDateFormat)mPreferredDate ); | 116 | KGlobal::locale()->setIntDateFormat( (KLocale::IntDateFormat)mPreferredDate ); |
110 | KGlobal::locale()->setLanguage( mPreferredLanguage ); | 117 | KGlobal::locale()->setLanguage( mPreferredLanguage ); |
111 | QString dummy = mUserDateFormatLong; | 118 | QString dummy = mUserDateFormatLong; |
112 | KGlobal::locale()->setDateFormat(dummy.replace( QRegExp("K"), QString(",") )); | 119 | KGlobal::locale()->setDateFormat(dummy.replace( QRegExp("K"), QString(",") )); |
113 | dummy = mUserDateFormatShort; | 120 | dummy = mUserDateFormatShort; |
114 | KGlobal::locale()->setDateFormatShort(dummy.replace( QRegExp("K"), QString(",") )); | 121 | KGlobal::locale()->setDateFormatShort(dummy.replace( QRegExp("K"), QString(",") )); |
115 | KGlobal::locale()->setDaylightSaving( mUseDaylightsaving, | 122 | KGlobal::locale()->setDaylightSaving( mUseDaylightsaving, |
116 | mDaylightsavingStart, | 123 | mDaylightsavingStart, |
117 | mDaylightsavingEnd ); | 124 | mDaylightsavingEnd ); |
118 | KGlobal::locale()->setTimezone( mTimeZoneId ); | 125 | KGlobal::locale()->setTimezone( mTimeZoneId ); |
119 | 126 | ||
120 | } | 127 | } |
121 | KPimGlobalPrefs::~KPimGlobalPrefs() | 128 | KPimGlobalPrefs::~KPimGlobalPrefs() |
122 | { | 129 | { |
123 | } | 130 | } |
124 | 131 | ||
125 | KPimGlobalPrefs *KPimGlobalPrefs::instance() | 132 | KPimGlobalPrefs *KPimGlobalPrefs::instance() |
126 | { | 133 | { |
127 | if ( !sInstance ) { | 134 | if ( !sInstance ) { |
128 | sInstance = staticDeleter.setObject( new KPimGlobalPrefs() ); | 135 | sInstance = staticDeleter.setObject( new KPimGlobalPrefs() ); |
129 | sInstance->readConfig(); | 136 | sInstance->readConfig(); |
130 | } | 137 | } |
131 | 138 | ||
132 | return sInstance; | 139 | return sInstance; |
133 | } | 140 | } |
diff --git a/libkdepim/kpimglobalprefs.h b/libkdepim/kpimglobalprefs.h index 84ba689..f6b6628 100644 --- a/libkdepim/kpimglobalprefs.h +++ b/libkdepim/kpimglobalprefs.h | |||
@@ -4,132 +4,135 @@ | |||
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 | /* | 24 | /* |
25 | Enhanced Version of the file for platform independent KDE tools. | 25 | Enhanced Version of the file for platform independent KDE tools. |
26 | Copyright (c) 2004 Ulf Schenk | 26 | Copyright (c) 2004 Ulf Schenk |
27 | 27 | ||
28 | $Id$ | 28 | $Id$ |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #ifndef KPIMGLOBALPREFS_H | 31 | #ifndef KPIMGLOBALPREFS_H |
32 | #define KPIMGLOBALPREFS_H | 32 | #define KPIMGLOBALPREFS_H |
33 | 33 | ||
34 | #include "kprefs.h" | 34 | #include "kprefs.h" |
35 | 35 | ||
36 | class KPimGlobalPrefs : public KPrefs | 36 | class KPimGlobalPrefs : public KPrefs |
37 | { | 37 | { |
38 | public: | 38 | public: |
39 | 39 | ||
40 | void setGlobalConfig(); | 40 | void setGlobalConfig(); |
41 | static KPimGlobalPrefs *instance(); | 41 | static KPimGlobalPrefs *instance(); |
42 | 42 | ||
43 | 43 | ||
44 | virtual ~KPimGlobalPrefs(); | 44 | virtual ~KPimGlobalPrefs(); |
45 | 45 | ||
46 | 46 | ||
47 | enum EMailClients { | 47 | enum EMailClients { |
48 | NONE_EMC = 0, | 48 | NONE_EMC = 0, |
49 | OTHER_EMC = 1, | 49 | OTHER_EMC = 1, |
50 | OMPI_EMC = 2, | 50 | OMPI_EMC = 2, |
51 | QTOPIA_EMC = 3, | 51 | QTOPIA_EMC = 3, |
52 | OPIE_EMC = 4 | 52 | OPIE_EMC = 4 |
53 | }; | 53 | }; |
54 | 54 | ||
55 | enum PhoneClients { | 55 | enum PhoneClients { |
56 | NONE_PHC = 0, | 56 | NONE_PHC = 0, |
57 | OTHER_PHC = 1, | 57 | OTHER_PHC = 1, |
58 | KPPI_PHC = 2 | 58 | KPPI_PHC = 2 |
59 | }; | 59 | }; |
60 | 60 | ||
61 | enum FaxClients { | 61 | enum FaxClients { |
62 | NONE_FAC = 0, | 62 | NONE_FAC = 0, |
63 | OTHER_FAC = 1 | 63 | OTHER_FAC = 1 |
64 | }; | 64 | }; |
65 | 65 | ||
66 | enum SMSClients { | 66 | enum SMSClients { |
67 | NONE_SMC = 0, | 67 | NONE_SMC = 0, |
68 | OTHER_SMC = 1 | 68 | OTHER_SMC = 1 |
69 | }; | 69 | }; |
70 | 70 | ||
71 | enum PagerClients { | 71 | enum PagerClients { |
72 | NONE_PAC = 0, | 72 | NONE_PAC = 0, |
73 | OTHER_PAC = 1 | 73 | OTHER_PAC = 1 |
74 | }; | 74 | }; |
75 | 75 | ||
76 | enum SIPClients { | 76 | enum SIPClients { |
77 | NONE_SIC = 0, | 77 | NONE_SIC = 0, |
78 | OTHER_SIC = 1 | 78 | OTHER_SIC = 1 |
79 | }; | 79 | }; |
80 | 80 | ||
81 | private: | 81 | private: |
82 | KPimGlobalPrefs( const QString &name = QString::null ); | 82 | KPimGlobalPrefs( const QString &name = QString::null ); |
83 | 83 | ||
84 | static KPimGlobalPrefs *sInstance; | 84 | static KPimGlobalPrefs *sInstance; |
85 | 85 | ||
86 | 86 | ||
87 | public: | 87 | public: |
88 | //US I copied the following "locale" settings from KOPrefs | 88 | //US I copied the following "locale" settings from KOPrefs |
89 | int mPreferredDate; | 89 | int mPreferredDate; |
90 | QString mUserDateFormatLong; | 90 | QString mUserDateFormatLong; |
91 | QString mUserDateFormatShort; | 91 | QString mUserDateFormatShort; |
92 | int mPreferredLanguage; | 92 | int mPreferredLanguage; |
93 | int mPreferredTime; | 93 | int mPreferredTime; |
94 | bool mWeekStartsOnSunday; | 94 | bool mWeekStartsOnSunday; |
95 | QString mTimeZoneId; | 95 | QString mTimeZoneId; |
96 | bool mUseDaylightsaving; | 96 | bool mUseDaylightsaving; |
97 | int mDaylightsavingStart; | 97 | int mDaylightsavingStart; |
98 | int mDaylightsavingEnd; | 98 | int mDaylightsavingEnd; |
99 | 99 | ||
100 | int mEmailClient; | 100 | int mEmailClient; |
101 | QString mEmailOtherChannel; | 101 | QString mEmailOtherChannel; |
102 | QString mEmailOtherMessage; | 102 | QString mEmailOtherMessage; |
103 | QString mEmailOtherMessageParameters; | 103 | QString mEmailOtherMessageParameters; |
104 | QString mEmailOtherMessage2; | 104 | QString mEmailOtherMessage2; |
105 | QString mEmailOtherMessageParameters2; | 105 | QString mEmailOtherMessageParameters2; |
106 | 106 | ||
107 | int mPhoneClient; | 107 | int mPhoneClient; |
108 | QString mPhoneOtherChannel; | 108 | QString mPhoneOtherChannel; |
109 | QString mPhoneOtherMessage; | 109 | QString mPhoneOtherMessage; |
110 | QString mPhoneOtherMessageParameters; | 110 | QString mPhoneOtherMessageParameters; |
111 | 111 | ||
112 | int mFaxClient; | 112 | int mFaxClient; |
113 | QString mFaxOtherChannel; | 113 | QString mFaxOtherChannel; |
114 | QString mFaxOtherMessage; | 114 | QString mFaxOtherMessage; |
115 | QString mFaxOtherMessageParameters; | 115 | QString mFaxOtherMessageParameters; |
116 | 116 | ||
117 | int mSMSClient; | 117 | int mSMSClient; |
118 | QString mSMSOtherChannel; | 118 | QString mSMSOtherChannel; |
119 | QString mSMSOtherMessage; | 119 | QString mSMSOtherMessage; |
120 | QString mSMSOtherMessageParameters; | 120 | QString mSMSOtherMessageParameters; |
121 | 121 | ||
122 | int mPagerClient; | 122 | int mPagerClient; |
123 | QString mPagerOtherChannel; | 123 | QString mPagerOtherChannel; |
124 | QString mPagerOtherMessage; | 124 | QString mPagerOtherMessage; |
125 | QString mPagerOtherMessageParameters; | 125 | QString mPagerOtherMessageParameters; |
126 | 126 | ||
127 | int mSipClient; | 127 | int mSipClient; |
128 | QString mSipOtherChannel; | 128 | QString mSipOtherChannel; |
129 | QString mSipOtherMessage; | 129 | QString mSipOtherMessage; |
130 | QString mSipOtherMessageParameters; | 130 | QString mSipOtherMessageParameters; |
131 | 131 | ||
132 | QString mEx2PhoneDevice; | ||
133 | QString mEx2PhoneConnection; | ||
134 | QString mEx2PhoneModel; | ||
132 | 135 | ||
133 | }; | 136 | }; |
134 | 137 | ||
135 | #endif | 138 | #endif |
diff --git a/libkdepim/libkdepim.pro b/libkdepim/libkdepim.pro index eac19ea..84af7ad 100644 --- a/libkdepim/libkdepim.pro +++ b/libkdepim/libkdepim.pro | |||
@@ -1,59 +1,61 @@ | |||
1 | TEMPLATE= lib | 1 | TEMPLATE= lib |
2 | CONFIG = qt warn_on | 2 | CONFIG = qt warn_on |
3 | DEFINES +=KORG_NOKABC | 3 | DEFINES +=KORG_NOKABC |
4 | TARGET = microkdepim | 4 | TARGET = microkdepim |
5 | INCLUDEPATH += ../microkde ../microkde/kdecore ../microkde/kdeui . .. | 5 | INCLUDEPATH += ../microkde ../microkde/kdecore ../microkde/kdeui . .. |
6 | DESTDIR=../bin | 6 | DESTDIR=../bin |
7 | 7 | ||
8 | DEFINES += DESKTOP_VERSION | 8 | DEFINES += DESKTOP_VERSION |
9 | include( ../variables.pri ) | 9 | include( ../variables.pri ) |
10 | unix : { | 10 | unix : { |
11 | OBJECTS_DIR = obj/unix | 11 | OBJECTS_DIR = obj/unix |
12 | MOC_DIR = moc/unix | 12 | MOC_DIR = moc/unix |
13 | } | 13 | } |
14 | win32: { | 14 | win32: { |
15 | DEFINES += _WIN32_ | 15 | DEFINES += _WIN32_ |
16 | OBJECTS_DIR = obj/win | 16 | OBJECTS_DIR = obj/win |
17 | MOC_DIR = moc/win | 17 | MOC_DIR = moc/win |
18 | } | 18 | } |
19 | INTERFACES = \ | 19 | INTERFACES = \ |
20 | 20 | ||
21 | HEADERS = \ | 21 | HEADERS = \ |
22 | categoryeditdialog.h \ | 22 | categoryeditdialog.h \ |
23 | categoryeditdialog_base.h \ | 23 | categoryeditdialog_base.h \ |
24 | categoryselectdialog.h \ | 24 | categoryselectdialog.h \ |
25 | categoryselectdialog_base.h \ | 25 | categoryselectdialog_base.h \ |
26 | externalapphandler.h \ | 26 | externalapphandler.h \ |
27 | kdateedit.h \ | 27 | kdateedit.h \ |
28 | kdatepicker.h \ | 28 | kdatepicker.h \ |
29 | kinputdialog.h \ | 29 | kinputdialog.h \ |
30 | kpimprefs.h \ | 30 | kpimprefs.h \ |
31 | kpimglobalprefs.h \ | 31 | kpimglobalprefs.h \ |
32 | kprefsdialog.h \ | 32 | kprefsdialog.h \ |
33 | kprefswidget.h \ | 33 | kprefswidget.h \ |
34 | ksyncmanager.h \ | 34 | ksyncmanager.h \ |
35 | ksyncprofile.h \ | 35 | ksyncprofile.h \ |
36 | ksyncprefsdialog.h \ | 36 | ksyncprefsdialog.h \ |
37 | kcmconfigs/kcmkdepimconfig.h \ | 37 | kcmconfigs/kcmkdepimconfig.h \ |
38 | kcmconfigs/kdepimconfigwidget.h | 38 | kcmconfigs/kdepimconfigwidget.h \ |
39 | phoneaccess.h | ||
39 | 40 | ||
40 | SOURCES = \ | 41 | SOURCES = \ |
41 | categoryeditdialog.cpp \ | 42 | categoryeditdialog.cpp \ |
42 | categoryeditdialog_base.cpp \ | 43 | categoryeditdialog_base.cpp \ |
43 | categoryselectdialog.cpp \ | 44 | categoryselectdialog.cpp \ |
44 | categoryselectdialog_base.cpp \ | 45 | categoryselectdialog_base.cpp \ |
45 | externalapphandler.cpp \ | 46 | externalapphandler.cpp \ |
46 | kdateedit.cpp \ | 47 | kdateedit.cpp \ |
47 | kdatepicker.cpp \ | 48 | kdatepicker.cpp \ |
48 | kinputdialog.cpp \ | 49 | kinputdialog.cpp \ |
49 | kpimprefs.cpp \ | 50 | kpimprefs.cpp \ |
50 | kpimglobalprefs.cpp \ | 51 | kpimglobalprefs.cpp \ |
51 | kprefsdialog.cpp \ | 52 | kprefsdialog.cpp \ |
52 | kprefswidget.cpp \ | 53 | kprefswidget.cpp \ |
53 | ksyncmanager.cpp \ | 54 | ksyncmanager.cpp \ |
54 | ksyncprofile.cpp \ | 55 | ksyncprofile.cpp \ |
55 | ksyncprefsdialog.cpp \ | 56 | ksyncprefsdialog.cpp \ |
56 | kcmconfigs/kcmkdepimconfig.cpp \ | 57 | kcmconfigs/kcmkdepimconfig.cpp \ |
57 | kcmconfigs/kdepimconfigwidget.cpp | 58 | kcmconfigs/kdepimconfigwidget.cpp \ |
59 | phoneaccess.cpp | ||
58 | 60 | ||
59 | 61 | ||
diff --git a/libkdepim/libkdepimE.pro b/libkdepim/libkdepimE.pro index 156e247..f3db68e 100644 --- a/libkdepim/libkdepimE.pro +++ b/libkdepim/libkdepimE.pro | |||
@@ -1,55 +1,57 @@ | |||
1 | TEMPLATE= lib | 1 | TEMPLATE= lib |
2 | CONFIG += qt warn_on | 2 | CONFIG += qt warn_on |
3 | TARGET = microkdepim | 3 | TARGET = microkdepim |
4 | INCLUDEPATH += . $(KDEPIMDIR) $(KDEPIMDIR)/microkde $(KDEPIMDIR)/qtcompat $(KDEPIMDIR)/microkde/kdecore $(KDEPIMDIR)/microkde/kdeui $(QPEDIR)/include | 4 | INCLUDEPATH += . $(KDEPIMDIR) $(KDEPIMDIR)/microkde $(KDEPIMDIR)/qtcompat $(KDEPIMDIR)/microkde/kdecore $(KDEPIMDIR)/microkde/kdeui $(QPEDIR)/include |
5 | LIBS += -lmicrokde | 5 | LIBS += -lmicrokde |
6 | #LIBS += -lmicrokcal | 6 | #LIBS += -lmicrokcal |
7 | LIBS += -L$(QPEDIR)/lib | 7 | LIBS += -L$(QPEDIR)/lib |
8 | OBJECTS_DIR = obj/$(PLATFORM) | 8 | OBJECTS_DIR = obj/$(PLATFORM) |
9 | MOC_DIR = moc/$(PLATFORM) | 9 | MOC_DIR = moc/$(PLATFORM) |
10 | DESTDIR=$(QPEDIR)/lib | 10 | DESTDIR=$(QPEDIR)/lib |
11 | 11 | ||
12 | 12 | ||
13 | INTERFACES = \ | 13 | INTERFACES = \ |
14 | 14 | ||
15 | HEADERS = \ | 15 | HEADERS = \ |
16 | categoryeditdialog.h \ | 16 | categoryeditdialog.h \ |
17 | categoryeditdialog_base.h \ | 17 | categoryeditdialog_base.h \ |
18 | categoryselectdialog.h \ | 18 | categoryselectdialog.h \ |
19 | categoryselectdialog_base.h \ | 19 | categoryselectdialog_base.h \ |
20 | externalapphandler.h \ | 20 | externalapphandler.h \ |
21 | kdateedit.h \ | 21 | kdateedit.h \ |
22 | kdatepicker.h \ | 22 | kdatepicker.h \ |
23 | kinputdialog.h \ | 23 | kinputdialog.h \ |
24 | kpimprefs.h \ | 24 | kpimprefs.h \ |
25 | kpimglobalprefs.h \ | 25 | kpimglobalprefs.h \ |
26 | kprefsdialog.h \ | 26 | kprefsdialog.h \ |
27 | kprefswidget.h \ | 27 | kprefswidget.h \ |
28 | ksyncmanager.h \ | 28 | ksyncmanager.h \ |
29 | ksyncprofile.h \ | 29 | ksyncprofile.h \ |
30 | ksyncprefsdialog.h \ | 30 | ksyncprefsdialog.h \ |
31 | kcmconfigs/kcmkdepimconfig.h \ | 31 | kcmconfigs/kcmkdepimconfig.h \ |
32 | kcmconfigs/kdepimconfigwidget.h | 32 | kcmconfigs/kdepimconfigwidget.h \ |
33 | phoneaccess.h | ||
33 | 34 | ||
34 | 35 | ||
35 | 36 | ||
36 | SOURCES = \ | 37 | SOURCES = \ |
37 | categoryeditdialog.cpp \ | 38 | categoryeditdialog.cpp \ |
38 | categoryeditdialog_base.cpp \ | 39 | categoryeditdialog_base.cpp \ |
39 | categoryselectdialog.cpp \ | 40 | categoryselectdialog.cpp \ |
40 | categoryselectdialog_base.cpp \ | 41 | categoryselectdialog_base.cpp \ |
41 | externalapphandler.cpp \ | 42 | externalapphandler.cpp \ |
42 | kdateedit.cpp \ | 43 | kdateedit.cpp \ |
43 | kinputdialog.cpp \ | 44 | kinputdialog.cpp \ |
44 | kdatepicker.cpp \ | 45 | kdatepicker.cpp \ |
45 | kpimprefs.cpp \ | 46 | kpimprefs.cpp \ |
46 | kpimglobalprefs.cpp \ | 47 | kpimglobalprefs.cpp \ |
47 | kprefsdialog.cpp \ | 48 | kprefsdialog.cpp \ |
48 | kprefswidget.cpp \ | 49 | kprefswidget.cpp \ |
49 | ksyncmanager.cpp \ | 50 | ksyncmanager.cpp \ |
50 | ksyncprofile.cpp \ | 51 | ksyncprofile.cpp \ |
51 | ksyncprefsdialog.cpp \ | 52 | ksyncprefsdialog.cpp \ |
52 | kcmconfigs/kcmkdepimconfig.cpp \ | 53 | kcmconfigs/kcmkdepimconfig.cpp \ |
53 | kcmconfigs/kdepimconfigwidget.cpp | 54 | kcmconfigs/kdepimconfigwidget.cpp \ |
55 | phoneaccess.cpp | ||
54 | 56 | ||
55 | 57 | ||
diff --git a/libkdepim/phoneaccess.cpp b/libkdepim/phoneaccess.cpp new file mode 100644 index 0000000..c0bd6cc --- a/dev/null +++ b/libkdepim/phoneaccess.cpp | |||
@@ -0,0 +1,153 @@ | |||
1 | /* | ||
2 | This file is part of libkdepim. | ||
3 | |||
4 | Copyright (c) 2004 Lutz Rogowski <rogowski@kde.org> | ||
5 | |||
6 | This library is free software; you can redistribute it and/or | ||
7 | modify it under the terms of the GNU Library General Public | ||
8 | License as published by the Free Software Foundation; either | ||
9 | version 2 of the License, or (at your option) any later version. | ||
10 | |||
11 | This library is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | Library General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU Library General Public License | ||
17 | along with this library; see the file COPYING.LIB. If not, write to | ||
18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | Boston, MA 02111-1307, USA. | ||
20 | */ | ||
21 | |||
22 | |||
23 | #include <qstring.h> | ||
24 | #include <qapplication.h> | ||
25 | #include <qptrlist.h> | ||
26 | #include <qregexp.h> | ||
27 | #include <qfile.h> | ||
28 | #include <qtextstream.h> | ||
29 | #include <qtextcodec.h> | ||
30 | #include <qdir.h> | ||
31 | #include <kmessagebox.h> | ||
32 | #include <stdlib.h> | ||
33 | #include "phoneaccess.h" | ||
34 | |||
35 | void PhoneAccess::writeConfig( QString device, QString connection, QString model ) | ||
36 | { | ||
37 | #ifdef _WIN32_ | ||
38 | QString fileName = qApp->applicationDirPath () +"\\gammurc"; | ||
39 | #else | ||
40 | QString fileName = QDir::homeDirPath() +"/.gammurc"; | ||
41 | #endif | ||
42 | //qDebug("save %d ", load ); | ||
43 | QString content; | ||
44 | bool write = false; | ||
45 | bool addPort = true, addConnection = true, addModel = true; | ||
46 | QFile file( fileName ); | ||
47 | if ( QFile::exists( fileName) ) { | ||
48 | if (!file.open( IO_ReadOnly ) ) { | ||
49 | qDebug("Error: cannot open %s ", fileName.latin1() ); | ||
50 | return; | ||
51 | } | ||
52 | QString line; | ||
53 | while ( file.readLine( line, 1024 ) > 0 ) { | ||
54 | //qDebug("*%s* ", line.latin1() ); | ||
55 | if ( line.left(7 ) == "[gammu]" ) { | ||
56 | ; | ||
57 | } else | ||
58 | if ( line.left(4 ) == "port" ) { | ||
59 | if ( line == "port = " + device+"\n" ) { | ||
60 | content += line ; | ||
61 | addPort = false; | ||
62 | //qDebug("port found" ); | ||
63 | } | ||
64 | |||
65 | } else if ( line.left(5 ) == "model" ) { | ||
66 | if ( line == "model = " + model +"\n") { | ||
67 | content += line ; | ||
68 | addModel = false; | ||
69 | //qDebug("model found" ); | ||
70 | } | ||
71 | |||
72 | } else if ( line.left( 10 ) == "connection" ) { | ||
73 | if ( line == "connection = " + connection +"\n") { | ||
74 | addConnection = false; | ||
75 | content += line ; | ||
76 | //qDebug("con found" ); | ||
77 | } | ||
78 | |||
79 | } else { | ||
80 | content += line ; | ||
81 | } | ||
82 | } | ||
83 | file.close(); | ||
84 | } else { | ||
85 | if ( ! connection.isEmpty() ) { | ||
86 | addConnection = true; | ||
87 | } | ||
88 | if ( ! device.isEmpty() ) { | ||
89 | addPort = true; | ||
90 | |||
91 | } | ||
92 | if ( ! model.isEmpty() ) { | ||
93 | addModel = true; | ||
94 | } | ||
95 | } | ||
96 | |||
97 | if ( addConnection ) { | ||
98 | if ( ! write ) | ||
99 | content += "[gammu]\n"; | ||
100 | write = true; | ||
101 | content += "connection = "; | ||
102 | content += connection; | ||
103 | content += "\n"; | ||
104 | } | ||
105 | if ( addPort ) { | ||
106 | if ( ! write ) | ||
107 | content += "[gammu]\n"; | ||
108 | write = true; | ||
109 | content += "port = "; | ||
110 | content += device; | ||
111 | content += "\n"; | ||
112 | |||
113 | } | ||
114 | if ( addModel ) { | ||
115 | if ( ! write ) | ||
116 | content += "[gammu]\n"; | ||
117 | write = true; | ||
118 | content += "model = "; | ||
119 | content += model; | ||
120 | content += "\n"; | ||
121 | } | ||
122 | if ( write ) { | ||
123 | if (!file.open( IO_WriteOnly ) ) { | ||
124 | qDebug("Error: cannot write file %s ", fileName.latin1() ); | ||
125 | return; | ||
126 | } | ||
127 | qDebug("Writing file %s ", fileName.latin1() ); | ||
128 | QTextStream ts( &file ); | ||
129 | ts << content ; | ||
130 | file.close(); | ||
131 | } | ||
132 | |||
133 | } | ||
134 | |||
135 | |||
136 | bool PhoneAccess::writeToPhone( QString fileName) | ||
137 | { | ||
138 | |||
139 | #ifdef DESKTOP_VERSION | ||
140 | QString command ="./kammu --restore " + fileName ; | ||
141 | #else | ||
142 | QString command ="kammu --restore " + fileName ; | ||
143 | #endif | ||
144 | int ret; | ||
145 | while ( (ret = system ( command.latin1())) != 0 ) { | ||
146 | qDebug("Error S::command returned %d. asking users", ret); | ||
147 | int retval = KMessageBox::warningContinueCancel(0, | ||
148 | i18n("Error accessing device!\nPlease turn on connection\nand retry!"),i18n("KO/Pi phone access"),i18n("Retry"),i18n("Cancel")); | ||
149 | if ( retval != KMessageBox::Continue ) | ||
150 | return false; | ||
151 | } | ||
152 | return true; | ||
153 | } | ||
diff --git a/libkdepim/phoneaccess.h b/libkdepim/phoneaccess.h new file mode 100644 index 0000000..b7c4732 --- a/dev/null +++ b/libkdepim/phoneaccess.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | This file is part of libkcal. | ||
3 | |||
4 | Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> | ||
5 | |||
6 | This library is free software; you can redistribute it and/or | ||
7 | modify it under the terms of the GNU Library General Public | ||
8 | License as published by the Free Software Foundation; either | ||
9 | version 2 of the License, or (at your option) any later version. | ||
10 | |||
11 | This library is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | Library General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU Library General Public License | ||
17 | along with this library; see the file COPYING.LIB. If not, write to | ||
18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | Boston, MA 02111-1307, USA. | ||
20 | */ | ||
21 | #ifndef PHONEACCESS_H | ||
22 | #define PHONEACCESS_H | ||
23 | |||
24 | #include <qstring.h> | ||
25 | |||
26 | |||
27 | |||
28 | /** | ||
29 | This class implements the calendar format used by Phone. | ||
30 | */ | ||
31 | |||
32 | class PhoneAccess : public QObject { | ||
33 | public: | ||
34 | |||
35 | static void writeConfig( QString device,QString connection, QString model ); | ||
36 | static bool writeToPhone( QString fileName ); | ||
37 | |||
38 | }; | ||
39 | |||
40 | |||
41 | |||
42 | #endif | ||