summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kabcore.cpp
Unidiff
Diffstat (limited to 'kaddressbook/kabcore.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp254
1 files changed, 143 insertions, 111 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index a7ca0ce..2a54900 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -21,7 +21,7 @@
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 "kabcore.h" 24#include "kabcore.h"
25 25
26#include <stdaddressbook.h> 26#include <stdaddressbook.h>
27#include <klocale.h> 27#include <klocale.h>
@@ -78,8 +78,14 @@
78 78
79#include <kcmkabconfig.h> 79#include <kcmkabconfig.h>
80 80
81//US#include <qpe/resource.h> // needed for Resource::loadPixmap
82//#include <qlabel.h> 81//#include <qlabel.h>
82
83
84#ifdef Q_WS_QWS
85#include <qtopia/services.h>
86#include <qtopia/qcopenvelope_qws.h>
87#endif
88
83#endif // KAB_EMBEDDED 89#endif // KAB_EMBEDDED
84#include <kcmkabconfig.h> 90#include <kcmkabconfig.h>
85 91
@@ -91,11 +97,17 @@
91#include <resource.h> 97#include <resource.h>
92 98
93//US#include <qsplitter.h> 99//US#include <qsplitter.h>
100#include <qmap.h>
101#include <qdir.h>
102#include <qfile.h>
94#include <qvbox.h> 103#include <qvbox.h>
95#include <qlayout.h> 104#include <qlayout.h>
96#include <qclipboard.h> 105#include <qclipboard.h>
106#include <qtextstream.h>
97 107
98#include <libkdepim/categoryselectdialog.h> 108#include <libkdepim/categoryselectdialog.h>
109#include <kabc/vcardconverter.h>
110
99 111
100#include "addresseeutil.h" 112#include "addresseeutil.h"
101#include "undocmds.h" 113#include "undocmds.h"
@@ -129,10 +141,7 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
129 mReadWrite( readWrite ), mModified( false ) 141 mReadWrite( readWrite ), mModified( false )
130#endif //KAB_EMBEDDED 142#endif //KAB_EMBEDDED
131{ 143{
132#ifdef KAB_EMBEDDED 144
133 //US we define here our own global actioncollection.
134 //mActionCollection = new KActionCollection(this);
135#endif //KAB_EMBEDDED
136 mExtensionBarSplitter = 0; 145 mExtensionBarSplitter = 0;
137 mIsPart = !parent->inherits( "KAddressBookMain" ); 146 mIsPart = !parent->inherits( "KAddressBookMain" );
138 147
@@ -142,7 +151,7 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
142#ifndef KAB_EMBEDDED 151#ifndef KAB_EMBEDDED
143 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); 152 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler );
144#endif //KAB_EMBEDDED 153#endif //KAB_EMBEDDED
145 154
146 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), 155 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
147 SLOT( addressBookChanged() ) ); 156 SLOT( addressBookChanged() ) );
148 157
@@ -162,8 +171,8 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
162 "X-IMAddress", "KADDRESSBOOK" ); 171 "X-IMAddress", "KADDRESSBOOK" );
163 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, 172 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal,
164 "X-Anniversary", "KADDRESSBOOK" ); 173 "X-Anniversary", "KADDRESSBOOK" );
165 174
166 //US added this field to become compatible with Opie/qtopia addressbook 175 //US added this field to become compatible with Opie/qtopia addressbook
167 // values can be "female" or "male" or "". An empty field represents undefined. 176 // values can be "female" or "male" or "". An empty field represents undefined.
168 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, 177 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal,
169 "X-Gender", "KADDRESSBOOK" ); 178 "X-Gender", "KADDRESSBOOK" );
@@ -195,13 +204,14 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
195 SLOT( incrementalSearch( const QString& ) ) ); 204 SLOT( incrementalSearch( const QString& ) ) );
196 connect( mIncSearchWidget, SIGNAL( fieldChanged() ), 205 connect( mIncSearchWidget, SIGNAL( fieldChanged() ),
197 mJumpButtonBar, SLOT( recreateButtons() ) ); 206 mJumpButtonBar, SLOT( recreateButtons() ) );
198 207
208 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
209 SLOT( sendMail( const QString& ) ) );
210
199#ifndef KAB_EMBEDDED 211#ifndef KAB_EMBEDDED
200 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), 212 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
201 mXXPortManager, SLOT( importVCard( const KURL& ) ) ); 213 mXXPortManager, SLOT( importVCard( const KURL& ) ) );
202 214
203 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
204 SLOT( sendMail( const QString& ) ) );
205 connect( mDetails, SIGNAL( browse( const QString& ) ), 215 connect( mDetails, SIGNAL( browse( const QString& ) ),
206 SLOT( browse( const QString& ) ) ); 216 SLOT( browse( const QString& ) ) );
207 217
@@ -221,12 +231,6 @@ KABCore::~KABCore()
221 delete AddresseeConfig::instance(); 231 delete AddresseeConfig::instance();
222 mAddressBook = 0; 232 mAddressBook = 0;
223 KABC::StdAddressBook::close(); 233 KABC::StdAddressBook::close();
224
225#ifdef KAB_EMBEDDED
226 //US we define here our own global actioncollection.
227 // delete mActionCollection;
228#endif //KAB_EMBEDDED
229
230} 234}
231 235
232void KABCore::restoreSettings() 236void KABCore::restoreSettings()
@@ -235,7 +239,7 @@ void KABCore::restoreSettings()
235 239
236 mActionJumpBar->setChecked( state ); 240 mActionJumpBar->setChecked( state );
237 setJumpButtonBarVisible( state ); 241 setJumpButtonBarVisible( state );
238 242
239 state = KABPrefs::instance()->mDetailsPageVisible; 243 state = KABPrefs::instance()->mDetailsPageVisible;
240 244
241 mActionDetails->setChecked( state ); 245 mActionDetails->setChecked( state );
@@ -294,9 +298,9 @@ void KABCore::saveSettings()
294#endif //KAB_EMBEDDED 298#endif //KAB_EMBEDDED
295 mExtensionManager->saveSettings(); 299 mExtensionManager->saveSettings();
296 mViewManager->saveSettings(); 300 mViewManager->saveSettings();
297 301
298 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); 302 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem();
299 303
300} 304}
301 305
302KABC::AddressBook *KABCore::addressBook() const 306KABC::AddressBook *KABCore::addressBook() const
@@ -378,9 +382,9 @@ void KABCore::createAboutData()
378 382
379 return about; 383 return about;
380#endif //KAB_EMBEDDED 384#endif //KAB_EMBEDDED
381 385
382 QString version; 386 QString version;
383#include <../version> 387#include <../version>
384 QMessageBox::about( this, "About KAddressbook/Pi", 388 QMessageBox::about( this, "About KAddressbook/Pi",
385 "KAddressbook/Platform-independent\n" 389 "KAddressbook/Platform-independent\n"
386 "(KA/Pi) " +version + " - " + 390 "(KA/Pi) " +version + " - " +
@@ -390,7 +394,7 @@ void KABCore::createAboutData()
390 "PDA-Edition\n" 394 "PDA-Edition\n"
391 "for: Zaurus 5500 / 7x0 / 8x0\n" 395 "for: Zaurus 5500 / 7x0 / 8x0\n"
392#endif 396#endif
393 397
394 "(c) 2004 Ulf Schenk\n" 398 "(c) 2004 Ulf Schenk\n"
395 "(c) 1997-2003, The KDE PIM Team\n" 399 "(c) 1997-2003, The KDE PIM Team\n"
396 "Tobias Koenig Current maintainer tokoe@kde.org\n" 400 "Tobias Koenig Current maintainer tokoe@kde.org\n"
@@ -418,13 +422,13 @@ void KABCore::setContactSelected( const QString &uid )
418 KABC::Picture pic = addr.photo(); 422 KABC::Picture pic = addr.photo();
419 if ( pic.isIntern() ) { 423 if ( pic.isIntern() ) {
420//US emit contactSelected( pic.data() ); 424//US emit contactSelected( pic.data() );
421//US instead use: 425//US instead use:
422 QPixmap px; 426 QPixmap px;
423 if (pic.data().isNull() != true) 427 if (pic.data().isNull() != true)
424 { 428 {
425 px.convertFromImage(pic.data()); 429 px.convertFromImage(pic.data());
426 } 430 }
427 431
428 emit contactSelected( px ); 432 emit contactSelected( px );
429 } 433 }
430 } 434 }
@@ -451,38 +455,50 @@ void KABCore::setContactSelected( const QString &uid )
451 455
452void KABCore::sendMail() 456void KABCore::sendMail()
453{ 457{
454#ifndef KAB_EMBEDDED
455 sendMail( mViewManager->selectedEmails().join( ", " ) ); 458 sendMail( mViewManager->selectedEmails().join( ", " ) );
456#else //KAB_EMBEDDED
457 qDebug("KABCore::sendMail() ust be fixed");
458#endif //KAB_EMBEDDED
459} 459}
460 460
461void KABCore::sendMail( const QString& email ) 461void KABCore::sendMail( const QString& email )
462{ 462{
463#ifndef KAB_EMBEDDED 463//US original kde implementation : kapp->invokeMailer( email, "" );
464 kapp->invokeMailer( email, "" ); 464
465#else //KAB_EMBEDDED 465/*US original qtopia implementation
466 qDebug("KABCore::sendMail(const QString& email) ust be fixed"); 466 PimContact c = abList->currentEntry();
467#endif //KAB_EMBEDDED 467 QString name = c.fileAs();
468 QString email = c.defaultEmail();
469#ifndef QT_NO_COP
470 QCopEnvelope e(Service::channel("Email"), "writeMail(QString,QString)");
471 e << name << email;
472#else
473*/
474
475
476#ifndef QT_NO_COP
477 QCString channel = KABPrefs::instance()->mEmailChannel.latin1();
478 qDebug("Using QCopEnvelope e(\"" + channel + "\", \"writeMail(QMap(QString,QString))\")");
479
480 QCopEnvelope e(channel, "writeMail(QString,QString)");
481 //US we need no names in the To field. The emailadresses are enough
482 e << "" << email;
483#else
484 KMessageBox::sorry( this, i18n( "This version does not support sending emails." ) );
485#endif
468} 486}
469 487
470void KABCore::mailVCard() 488void KABCore::mailVCard()
471{ 489{
472#ifndef KAB_EMBEDDED
473 QStringList uids = mViewManager->selectedUids(); 490 QStringList uids = mViewManager->selectedUids();
474 if ( !uids.isEmpty() ) 491 if ( !uids.isEmpty() )
475 mailVCard( uids ); 492 mailVCard( uids );
476#else //KAB_EMBEDDED
477 qDebug("KABCore::mailVCard() must be fixed");
478#endif //KAB_EMBEDDED
479} 493}
480 494
481void KABCore::mailVCard( const QStringList& uids ) 495void KABCore::mailVCard( const QStringList& uids )
482{ 496{
483#ifndef KAB_EMBEDDED
484 QStringList urls; 497 QStringList urls;
485 498
499 QString tmpdir = locateLocal("tmp", KGlobal::getAppName());
500
501/*US
486 // Create a temp dir, so that we can put the files in it with proper names 502 // Create a temp dir, so that we can put the files in it with proper names
487 KTempFile tempDir; 503 KTempFile tempDir;
488 if ( tempDir.status() != 0 ) { 504 if ( tempDir.status() != 0 ) {
@@ -492,6 +508,11 @@ void KABCore::mailVCard( const QStringList& uids )
492 508
493 QString dirName = tempDir.name(); 509 QString dirName = tempDir.name();
494 tempDir.unlink(); 510 tempDir.unlink();
511*/
512 QString dirName = tmpdir + "/" + KApplication::randomString( 8 );
513
514
515
495 QDir().mkdir( dirName, true ); 516 QDir().mkdir( dirName, true );
496 517
497 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { 518 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) {
@@ -520,15 +541,26 @@ void KABCore::mailVCard( const QStringList& uids )
520 urls.append( fileName ); 541 urls.append( fileName );
521 } 542 }
522 } 543 }
523 544/*US
524 kapp->invokeMailer( QString::null, QString::null, QString::null, 545 kapp->invokeMailer( QString::null, QString::null, QString::null,
525 QString::null, // subject 546 QString::null, // subject
526 QString::null, // body 547 QString::null, // body
527 QString::null, 548 QString::null,
528 urls ); // attachments 549 urls ); // attachments
529#else //KAB_EMBEDDED 550*/
530 qDebug("KABCore::mailVCard( must be fixed"); 551#ifndef QT_NO_COP
531#endif //KAB_EMBEDDED 552 QCString channel = KABPrefs::instance()->mEmailChannel.latin1();
553 qDebug("Using QCopEnvelope e(\"" + channel + "\", \"writeMail(QMap(QString,QString))\")");
554
555 QMap<QString, QString> parameterMap;
556 parameterMap.insert("ATTACHMENT<n>", urls.join(", "));
557
558 QCopEnvelope e(channel, "writeMail(QMap(QString,QString))");
559 e << parameterMap;
560#else
561 KMessageBox::sorry( this, i18n( "This version does not support sending emails." ) );
562#endif
563
532 564
533} 565}
534 566
@@ -752,7 +784,7 @@ void KABCore::setModified( bool modified )
752 784
753 mViewManager->refreshView(); 785 mViewManager->refreshView();
754 mDetails->refreshView(); 786 mDetails->refreshView();
755 787
756} 788}
757 789
758bool KABCore::modified() const 790bool KABCore::modified() const
@@ -762,7 +794,7 @@ bool KABCore::modified() const
762 794
763void KABCore::contactModified( const KABC::Addressee &addr ) 795void KABCore::contactModified( const KABC::Addressee &addr )
764{ 796{
765 797
766 Command *command = 0; 798 Command *command = 0;
767 QString uid; 799 QString uid;
768 800
@@ -806,14 +838,14 @@ void KABCore::newContact()
806 KABC::Addressee addr; 838 KABC::Addressee addr;
807 addr.setResource( resource ); 839 addr.setResource( resource );
808 mEditorDialog->setAddressee( addr ); 840 mEditorDialog->setAddressee( addr );
809 KApplication::execDialog ( mEditorDialog ); 841 KApplication::execDialog ( mEditorDialog );
810 842
811 } else 843 } else
812 return; 844 return;
813 845
814 // mEditorDict.insert( dialog->addressee().uid(), dialog ); 846 // mEditorDict.insert( dialog->addressee().uid(), dialog );
815 847
816 848
817} 849}
818 850
819void KABCore::addEmail( QString aStr ) 851void KABCore::addEmail( QString aStr )
@@ -888,7 +920,7 @@ void KABCore::importVCard( const QString &vCard, bool showPreview )
888 mXXPortManager->importVCard( vCard, showPreview ); 920 mXXPortManager->importVCard( vCard, showPreview );
889} 921}
890 922
891//US added a second method without defaultparameter 923//US added a second method without defaultparameter
892void KABCore::editContact2() { 924void KABCore::editContact2() {
893 editContact( QString::null ); 925 editContact( QString::null );
894} 926}
@@ -981,14 +1013,14 @@ void KABCore::setDetailsVisible( bool visible )
981 1013
982void KABCore::extensionModified( const KABC::Addressee::List &list ) 1014void KABCore::extensionModified( const KABC::Addressee::List &list )
983{ 1015{
984 1016
985 if ( list.count() != 0 ) { 1017 if ( list.count() != 0 ) {
986 KABC::Addressee::List::ConstIterator it; 1018 KABC::Addressee::List::ConstIterator it;
987 for ( it = list.begin(); it != list.end(); ++it ) 1019 for ( it = list.begin(); it != list.end(); ++it )
988 mAddressBook->insertAddressee( *it ); 1020 mAddressBook->insertAddressee( *it );
989 if ( list.count() > 1 ) 1021 if ( list.count() > 1 )
990 setModified(); 1022 setModified();
991 else 1023 else
992 setModifiedWOrefresh(); 1024 setModifiedWOrefresh();
993 } 1025 }
994 if ( list.count() == 0 ) 1026 if ( list.count() == 0 )
@@ -996,7 +1028,7 @@ void KABCore::extensionModified( const KABC::Addressee::List &list )
996 else 1028 else
997 mViewManager->refreshView( list[ 0 ].uid() ); 1029 mViewManager->refreshView( list[ 0 ].uid() );
998 1030
999 1031
1000 1032
1001} 1033}
1002 1034
@@ -1028,7 +1060,7 @@ QString KABCore::getNameByPhone( const QString &phone )
1028 qDebug("KABCore::getNameByPhone finsih method"); 1060 qDebug("KABCore::getNameByPhone finsih method");
1029 return ""; 1061 return "";
1030#endif //KAB_EMBEDDED 1062#endif //KAB_EMBEDDED
1031 1063
1032} 1064}
1033 1065
1034void KABCore::openConfigDialog() 1066void KABCore::openConfigDialog()
@@ -1185,7 +1217,7 @@ void KABCore::initGUI()
1185 mXXPortManager = new XXPortManager( this, this ); 1217 mXXPortManager = new XXPortManager( this, this );
1186 1218
1187#else //KAB_EMBEDDED 1219#else //KAB_EMBEDDED
1188 //US initialize viewMenu before settingup viewmanager. 1220 //US initialize viewMenu before settingup viewmanager.
1189 // Viewmanager needs this menu to plugin submenues. 1221 // Viewmanager needs this menu to plugin submenues.
1190 viewMenu = new QPopupMenu( this ); 1222 viewMenu = new QPopupMenu( this );
1191 settingsMenu = new QPopupMenu( this ); 1223 settingsMenu = new QPopupMenu( this );
@@ -1202,17 +1234,17 @@ void KABCore::initGUI()
1202 1234
1203 // = new QHBoxLayout( this ); 1235 // = new QHBoxLayout( this );
1204// QBoxLayout *topLayout = (QBoxLayout*)layout(); 1236// QBoxLayout *topLayout = (QBoxLayout*)layout();
1205 1237
1206// QWidget *mainBox = new QWidget( this ); 1238// QWidget *mainBox = new QWidget( this );
1207// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); 1239// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox);
1208 1240
1209#ifdef DESKTOP_VERSION 1241#ifdef DESKTOP_VERSION
1210 topLayout = new QHBoxLayout( this ); 1242 topLayout = new QHBoxLayout( this );
1211 1243
1212 1244
1213 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1245 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1214 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1246 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1215 1247
1216 topLayout->addWidget(mMiniSplitter ); 1248 topLayout->addWidget(mMiniSplitter );
1217 1249
1218 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); 1250 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter );
@@ -1231,18 +1263,18 @@ void KABCore::initGUI()
1231 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 1263 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
1232 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1264 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1233 } 1265 }
1234 1266
1235 topLayout->addWidget(mMiniSplitter ); 1267 topLayout->addWidget(mMiniSplitter );
1236 mViewManager = new ViewManager( this, mMiniSplitter ); 1268 mViewManager = new ViewManager( this, mMiniSplitter );
1237 mDetails = new ViewContainer( mMiniSplitter ); 1269 mDetails = new ViewContainer( mMiniSplitter );
1238 1270
1239 1271
1240 mExtensionManager = new ExtensionManager( this, mMiniSplitter ); 1272 mExtensionManager = new ExtensionManager( this, mMiniSplitter );
1241#endif 1273#endif
1242 //eh->hide(); 1274 //eh->hide();
1243 // topLayout->addWidget(mExtensionManager ); 1275 // topLayout->addWidget(mExtensionManager );
1244 1276
1245 1277
1246/*US 1278/*US
1247#ifndef KAB_NOSPLITTER 1279#ifndef KAB_NOSPLITTER
1248 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1280 QHBoxLayout *topLayout = new QHBoxLayout( this );
@@ -1257,7 +1289,7 @@ void KABCore::initGUI()
1257 viewSpace->setStretchFactor( mViewManager, 1 ); 1289 viewSpace->setStretchFactor( mViewManager, 1 );
1258 1290
1259 mDetails = new ViewContainer( mDetailsSplitter ); 1291 mDetails = new ViewContainer( mDetailsSplitter );
1260 1292
1261 topLayout->addWidget( mDetailsSplitter ); 1293 topLayout->addWidget( mDetailsSplitter );
1262 topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1294 topLayout->setStretchFactor( mDetailsSplitter, 100 );
1263#else //KAB_NOSPLITTER 1295#else //KAB_NOSPLITTER
@@ -1280,7 +1312,7 @@ void KABCore::initGUI()
1280#endif //KAB_NOSPLITTER 1312#endif //KAB_NOSPLITTER
1281*/ 1313*/
1282 1314
1283 1315
1284#endif //KAB_EMBEDDED 1316#endif //KAB_EMBEDDED
1285 initActions(); 1317 initActions();
1286 1318
@@ -1298,26 +1330,26 @@ void KABCore::initGUI()
1298 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1330 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1299 SLOT( incrementalSearch( const QString& ) ) ); 1331 SLOT( incrementalSearch( const QString& ) ) );
1300 1332
1301 1333
1302 mJumpButtonBar = new JumpButtonBar( this, this ); 1334 mJumpButtonBar = new JumpButtonBar( this, this );
1303 1335
1304 topLayout->addWidget( mJumpButtonBar ); 1336 topLayout->addWidget( mJumpButtonBar );
1305//US topLayout->setStretchFactor( mJumpButtonBar, 10 ); 1337//US topLayout->setStretchFactor( mJumpButtonBar, 10 );
1306 1338
1307// mMainWindow->getIconToolBar()->raise(); 1339// mMainWindow->getIconToolBar()->raise();
1308 1340
1309#endif //KAB_EMBEDDED 1341#endif //KAB_EMBEDDED
1310 1342
1311} 1343}
1312void KABCore::initActions() 1344void KABCore::initActions()
1313{ 1345{
1314//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1346//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1315 1347
1316#ifndef KAB_EMBEDDED 1348#ifndef KAB_EMBEDDED
1317 connect( QApplication::clipboard(), SIGNAL( dataChanged() ), 1349 connect( QApplication::clipboard(), SIGNAL( dataChanged() ),
1318 SLOT( clipboardDataChanged() ) ); 1350 SLOT( clipboardDataChanged() ) );
1319#endif //KAB_EMBEDDED 1351#endif //KAB_EMBEDDED
1320 1352
1321 // file menu 1353 // file menu
1322 if ( mIsPart ) { 1354 if ( mIsPart ) {
1323 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this, 1355 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this,
@@ -1330,13 +1362,13 @@ void KABCore::initActions()
1330 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); 1362 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() );
1331 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); 1363 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() );
1332 } 1364 }
1333 1365
1334 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, 1366 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this,
1335 SLOT( save() ), actionCollection(), "file_sync" ); 1367 SLOT( save() ), actionCollection(), "file_sync" );
1336 1368
1337 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, 1369 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this,
1338 SLOT( newContact() ), actionCollection(), "file_new_contact" ); 1370 SLOT( newContact() ), actionCollection(), "file_new_contact" );
1339 1371
1340 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, 1372 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0,
1341 this, SLOT( mailVCard() ), 1373 this, SLOT( mailVCard() ),
1342 actionCollection(), "file_mail_vcard"); 1374 actionCollection(), "file_mail_vcard");
@@ -1351,7 +1383,7 @@ void KABCore::initActions()
1351 mMainWindow, SLOT( exit() ), 1383 mMainWindow, SLOT( exit() ),
1352 actionCollection(), "quit" ); 1384 actionCollection(), "quit" );
1353#endif //KAB_EMBEDDED 1385#endif //KAB_EMBEDDED
1354 1386
1355 // edit menu 1387 // edit menu
1356 if ( mIsPart ) { 1388 if ( mIsPart ) {
1357 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, 1389 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this,
@@ -1387,7 +1419,7 @@ void KABCore::initActions()
1387 1419
1388 mActionUndo->setEnabled( false ); 1420 mActionUndo->setEnabled( false );
1389 mActionRedo->setEnabled( false ); 1421 mActionRedo->setEnabled( false );
1390 1422
1391 // settings menu 1423 // settings menu
1392#ifdef KAB_EMBEDDED 1424#ifdef KAB_EMBEDDED
1393//US special menuentry to configure the addressbook resources. On KDE 1425//US special menuentry to configure the addressbook resources. On KDE
@@ -1396,12 +1428,12 @@ void KABCore::initActions()
1396 SLOT( configureResources() ), actionCollection(), 1428 SLOT( configureResources() ), actionCollection(),
1397 "kaddressbook_configure_resources" ); 1429 "kaddressbook_configure_resources" );
1398#endif //KAB_EMBEDDED 1430#endif //KAB_EMBEDDED
1399 1431
1400 if ( mIsPart ) { 1432 if ( mIsPart ) {
1401 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1433 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1402 SLOT( openConfigDialog() ), actionCollection(), 1434 SLOT( openConfigDialog() ), actionCollection(),
1403 "kaddressbook_configure" ); 1435 "kaddressbook_configure" );
1404 1436
1405 mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, 1437 mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0,
1406 this, SLOT( configureKeyBindings() ), actionCollection(), 1438 this, SLOT( configureKeyBindings() ), actionCollection(),
1407 "kaddressbook_configure_shortcuts" ); 1439 "kaddressbook_configure_shortcuts" );
@@ -1409,33 +1441,33 @@ void KABCore::initActions()
1409 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); 1441 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() );
1410 mActionConfigureToolbars->setEnabled( false ); 1442 mActionConfigureToolbars->setEnabled( false );
1411#endif //KAB_EMBEDDED 1443#endif //KAB_EMBEDDED
1412 1444
1413 } else { 1445 } else {
1414 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); 1446 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() );
1415 1447
1416 mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); 1448 mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() );
1417 } 1449 }
1418 1450
1419 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, 1451 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0,
1420 actionCollection(), "options_show_jump_bar" ); 1452 actionCollection(), "options_show_jump_bar" );
1421 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); 1453 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) );
1422 1454
1423 mActionDetails = new KToggleAction( i18n( "Show Details" ), 0, 0, 1455 mActionDetails = new KToggleAction( i18n( "Show Details" ), 0, 0,
1424 actionCollection(), "options_show_details" ); 1456 actionCollection(), "options_show_details" );
1425 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); 1457 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) );
1426 1458
1427 // misc 1459 // misc
1428 // only enable LDAP lookup if we can handle the protocol 1460 // only enable LDAP lookup if we can handle the protocol
1429#ifndef KAB_EMBEDDED 1461#ifndef KAB_EMBEDDED
1430 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { 1462 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) {
1431 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, 1463 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0,
1432 this, SLOT( openLDAPDialog() ), actionCollection(), 1464 this, SLOT( openLDAPDialog() ), actionCollection(),
1433 "ldap_lookup" ); 1465 "ldap_lookup" );
1434 } 1466 }
1435#else //KAB_EMBEDDED 1467#else //KAB_EMBEDDED
1436 //qDebug("KABCore::initActions() LDAP has to be implemented"); 1468 //qDebug("KABCore::initActions() LDAP has to be implemented");
1437#endif //KAB_EMBEDDED 1469#endif //KAB_EMBEDDED
1438 1470
1439 1471
1440 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 1472 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
1441 SLOT( setWhoAmI() ), actionCollection(), 1473 SLOT( setWhoAmI() ), actionCollection(),
@@ -1457,7 +1489,7 @@ void KABCore::initActions()
1457 this, SLOT( createAboutData() ), actionCollection(), 1489 this, SLOT( createAboutData() ), actionCollection(),
1458 "kaddressbook_about_data" ); 1490 "kaddressbook_about_data" );
1459#endif //KAB_EMBEDDED 1491#endif //KAB_EMBEDDED
1460 1492
1461 clipboardDataChanged(); 1493 clipboardDataChanged();
1462 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1494 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
1463 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1495 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
@@ -1478,7 +1510,7 @@ void KABCore::addActionsManually()
1478 1510
1479#ifdef DESKTOP_VERSION 1511#ifdef DESKTOP_VERSION
1480 QMenuBar* mb = mMainWindow->menuBar(); 1512 QMenuBar* mb = mMainWindow->menuBar();
1481 1513
1482 //US setup menubar. 1514 //US setup menubar.
1483 //Disable the following block if you do not want to have a menubar. 1515 //Disable the following block if you do not want to have a menubar.
1484 mb->insertItem( "&File", fileMenu ); 1516 mb->insertItem( "&File", fileMenu );
@@ -1489,15 +1521,15 @@ void KABCore::addActionsManually()
1489 mb->insertItem( "&Help", helpMenu ); 1521 mb->insertItem( "&Help", helpMenu );
1490 mIncSearchWidget = new IncSearchWidget( tb ); 1522 mIncSearchWidget = new IncSearchWidget( tb );
1491 // tb->insertWidget(-1, 0, mIncSearchWidget); 1523 // tb->insertWidget(-1, 0, mIncSearchWidget);
1492 1524
1493#else 1525#else
1494 //US setup toolbar 1526 //US setup toolbar
1495 QMenuBar *menuBarTB = new QMenuBar( tb ); 1527 QMenuBar *menuBarTB = new QMenuBar( tb );
1496 QPopupMenu *popupBarTB = new QPopupMenu( this ); 1528 QPopupMenu *popupBarTB = new QPopupMenu( this );
1497 menuBarTB->insertItem( "ME", popupBarTB); 1529 menuBarTB->insertItem( "ME", popupBarTB);
1498 tb->insertWidget(-1, 0, menuBarTB); 1530 tb->insertWidget(-1, 0, menuBarTB);
1499 mIncSearchWidget = new IncSearchWidget( tb ); 1531 mIncSearchWidget = new IncSearchWidget( tb );
1500 1532
1501 tb->enableMoving(false); 1533 tb->enableMoving(false);
1502 popupBarTB->insertItem( "&File", fileMenu ); 1534 popupBarTB->insertItem( "&File", fileMenu );
1503 popupBarTB->insertItem( "&Edit", editMenu ); 1535 popupBarTB->insertItem( "&Edit", editMenu );
@@ -1518,10 +1550,10 @@ void KABCore::addActionsManually()
1518 mActionPrint->plug( fileMenu ); 1550 mActionPrint->plug( fileMenu );
1519 mActionMail->plug( fileMenu ); 1551 mActionMail->plug( fileMenu );
1520 fileMenu->insertSeparator(); 1552 fileMenu->insertSeparator();
1521 1553
1522 mActionNewContact->plug( fileMenu ); 1554 mActionNewContact->plug( fileMenu );
1523 mActionNewContact->plug( tb ); 1555 mActionNewContact->plug( tb );
1524 1556
1525 mActionEditAddressee->plug( fileMenu ); 1557 mActionEditAddressee->plug( fileMenu );
1526 fileMenu->insertSeparator(); 1558 fileMenu->insertSeparator();
1527 mActionSave->plug( fileMenu ); 1559 mActionSave->plug( fileMenu );
@@ -1533,7 +1565,7 @@ void KABCore::addActionsManually()
1533 mActionQuit->plug( fileMenu ); 1565 mActionQuit->plug( fileMenu );
1534#ifdef _WIN32_ 1566#ifdef _WIN32_
1535 mActionImportOL->plug( ImportMenu ); 1567 mActionImportOL->plug( ImportMenu );
1536#endif 1568#endif
1537 // edit menu 1569 // edit menu
1538 mActionUndo->plug( editMenu ); 1570 mActionUndo->plug( editMenu );
1539 mActionRedo->plug( editMenu ); 1571 mActionRedo->plug( editMenu );
@@ -1544,7 +1576,7 @@ void KABCore::addActionsManually()
1544 mActionDelete->plug( editMenu ); 1576 mActionDelete->plug( editMenu );
1545 editMenu->insertSeparator(); 1577 editMenu->insertSeparator();
1546 mActionSelectAll->plug( editMenu ); 1578 mActionSelectAll->plug( editMenu );
1547 1579
1548 mActionRemoveVoice->plug( changeMenu ); 1580 mActionRemoveVoice->plug( changeMenu );
1549 // settings menu 1581 // settings menu
1550//US special menuentry to configure the addressbook resources. On KDE 1582//US special menuentry to configure the addressbook resources. On KDE
@@ -1553,32 +1585,32 @@ void KABCore::addActionsManually()
1553 settingsMenu->insertSeparator(); 1585 settingsMenu->insertSeparator();
1554 1586
1555 mActionConfigKAddressbook->plug( settingsMenu ); 1587 mActionConfigKAddressbook->plug( settingsMenu );
1556 1588
1557 if ( mIsPart ) { 1589 if ( mIsPart ) {
1558 mActionConfigShortcuts->plug( settingsMenu ); 1590 mActionConfigShortcuts->plug( settingsMenu );
1559 mActionConfigureToolbars->plug( settingsMenu ); 1591 mActionConfigureToolbars->plug( settingsMenu );
1560 1592
1561 } else { 1593 } else {
1562 mActionKeyBindings->plug( settingsMenu ); 1594 mActionKeyBindings->plug( settingsMenu );
1563 } 1595 }
1564 1596
1565 settingsMenu->insertSeparator(); 1597 settingsMenu->insertSeparator();
1566 1598
1567 mActionJumpBar->plug( settingsMenu ); 1599 mActionJumpBar->plug( settingsMenu );
1568 mActionDetails->plug( settingsMenu ); 1600 mActionDetails->plug( settingsMenu );
1569 settingsMenu->insertSeparator(); 1601 settingsMenu->insertSeparator();
1570 1602
1571 mActionWhoAmI->plug( settingsMenu ); 1603 mActionWhoAmI->plug( settingsMenu );
1572 mActionCategories->plug( settingsMenu ); 1604 mActionCategories->plug( settingsMenu );
1573 1605
1574 mActionAboutKAddressbook->plug( helpMenu ); 1606 mActionAboutKAddressbook->plug( helpMenu );
1575 1607
1576 1608
1577 if (QApplication::desktop()->width() > 320 ) { 1609 if (QApplication::desktop()->width() > 320 ) {
1578 1610
1579 mActionEditAddressee->plug( tb ); 1611 mActionEditAddressee->plug( tb );
1580 mActionSave->plug( tb ); 1612 mActionSave->plug( tb );
1581 mViewManager->getFilterAction()->plug ( tb); 1613 mViewManager->getFilterAction()->plug ( tb);
1582 if (QApplication::desktop()->width() > 480 ) { 1614 if (QApplication::desktop()->width() > 480 ) {
1583 mActionUndo->plug( tb ); 1615 mActionUndo->plug( tb );
1584 mActionDelete->plug( tb ); 1616 mActionDelete->plug( tb );
@@ -1587,22 +1619,22 @@ void KABCore::addActionsManually()
1587 } 1619 }
1588 //mActionQuit->plug ( tb ); 1620 //mActionQuit->plug ( tb );
1589 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 1621 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
1590 1622
1591 //US link the searchwidget first to this. 1623 //US link the searchwidget first to this.
1592 // The real linkage to the toolbar happens later. 1624 // The real linkage to the toolbar happens later.
1593//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 1625//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
1594//US tb->insertItem( mIncSearchWidget ); 1626//US tb->insertItem( mIncSearchWidget );
1595/*US 1627/*US
1596 mIncSearchWidget = new IncSearchWidget( tb ); 1628 mIncSearchWidget = new IncSearchWidget( tb );
1597 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1629 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1598 SLOT( incrementalSearch( const QString& ) ) ); 1630 SLOT( incrementalSearch( const QString& ) ) );
1599 1631
1600 mJumpButtonBar = new JumpButtonBar( this, this ); 1632 mJumpButtonBar = new JumpButtonBar( this, this );
1601 1633
1602//US topLayout->addWidget( mJumpButtonBar ); 1634//US topLayout->addWidget( mJumpButtonBar );
1603 this->layout()->add( mJumpButtonBar ); 1635 this->layout()->add( mJumpButtonBar );
1604*/ 1636*/
1605 1637
1606#endif //KAB_EMBEDDED 1638#endif //KAB_EMBEDDED
1607} 1639}
1608void KABCore::removeVoice() 1640void KABCore::removeVoice()
@@ -1623,7 +1655,7 @@ void KABCore::removeVoice()
1623 found = true; 1655 found = true;
1624 } 1656 }
1625 } 1657 }
1626 1658
1627 } 1659 }
1628 if ( found ) 1660 if ( found )
1629 contactModified((*it) ); 1661 contactModified((*it) );
@@ -1634,7 +1666,7 @@ void KABCore::removeVoice()
1634 1666
1635void KABCore::clipboardDataChanged() 1667void KABCore::clipboardDataChanged()
1636{ 1668{
1637 1669
1638 if ( mReadWrite ) 1670 if ( mReadWrite )
1639 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); 1671 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() );
1640 1672
@@ -1673,7 +1705,7 @@ void KABCore::configureKeyBindings()
1673void KABCore::configureResources() 1705void KABCore::configureResources()
1674{ 1706{
1675 KRES::KCMKResources dlg( this, "" , 0 ); 1707 KRES::KCMKResources dlg( this, "" , 0 );
1676 1708
1677 if ( !dlg.exec() ) 1709 if ( !dlg.exec() )
1678 return; 1710 return;
1679 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); 1711 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );