-rw-r--r-- | kaddressbook/kabcore.cpp | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 11eeabc..980e436 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -307,32 +307,84 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const | |||
307 | mAddressBookService = new KAddressBookService( this ); | 307 | mAddressBookService = new KAddressBookService( this ); |
308 | 308 | ||
309 | #endif //KAB_EMBEDDED | 309 | #endif //KAB_EMBEDDED |
310 | 310 | ||
311 | mMessageTimer = new QTimer( this ); | 311 | mMessageTimer = new QTimer( this ); |
312 | connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); | 312 | connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); |
313 | mEditorDialog = 0; | 313 | mEditorDialog = 0; |
314 | createAddresseeEditorDialog( this ); | 314 | createAddresseeEditorDialog( this ); |
315 | setModified( false ); | 315 | setModified( false ); |
316 | mBRdisabled = 0; | ||
317 | #ifndef DESKTOP_VERSION | ||
318 | infrared = 0; | ||
319 | #endif | ||
320 | toggleBeamReceive( ); | ||
316 | } | 321 | } |
317 | 322 | ||
318 | KABCore::~KABCore() | 323 | KABCore::~KABCore() |
319 | { | 324 | { |
320 | // save(); | 325 | // save(); |
321 | //saveSettings(); | 326 | //saveSettings(); |
322 | //KABPrefs::instance()->writeConfig(); | 327 | //KABPrefs::instance()->writeConfig(); |
323 | delete AddresseeConfig::instance(); | 328 | delete AddresseeConfig::instance(); |
324 | mAddressBook = 0; | 329 | mAddressBook = 0; |
325 | KABC::StdAddressBook::close(); | 330 | KABC::StdAddressBook::close(); |
326 | 331 | ||
327 | delete syncManager; | 332 | delete syncManager; |
333 | if ( infrared ) | ||
334 | delete infrared; | ||
335 | } | ||
336 | void KABCore::receive( const QCString& cmsg, const QByteArray& data ) | ||
337 | { | ||
338 | qDebug("KA: QCOP message received: %s ", cmsg.data() ); | ||
339 | if ( cmsg == "setDocument(QString)" ) { | ||
340 | QDataStream stream( data, IO_ReadOnly ); | ||
341 | QString fileName; | ||
342 | stream >> fileName; | ||
343 | recieve( fileName ); | ||
344 | return; | ||
345 | } | ||
346 | } | ||
347 | void KABCore::toggleBeamReceive( ) | ||
348 | { | ||
349 | if ( mBRdisabled ) | ||
350 | return; | ||
351 | #ifndef DESKTOP_VERSION | ||
352 | if ( infrared ) { | ||
353 | qDebug("AB disable BeamReceive "); | ||
354 | delete infrared; | ||
355 | infrared = 0; | ||
356 | mActionBR->setChecked(false); | ||
357 | return; | ||
358 | } | ||
359 | qDebug("AB enable BeamReceive "); | ||
360 | mActionBR->setChecked(true); | ||
328 | 361 | ||
362 | infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ; | ||
363 | QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& ))); | ||
364 | #endif | ||
329 | } | 365 | } |
330 | 366 | ||
367 | |||
368 | void KABCore::disableBR(bool b) | ||
369 | { | ||
370 | if ( b ) { | ||
371 | if ( infrared ) { | ||
372 | toggleBeamReceive( ); | ||
373 | mBRdisabled = true; | ||
374 | } | ||
375 | } else { | ||
376 | if ( mBRdisabled ) { | ||
377 | mBRdisabled = false; | ||
378 | toggleBeamReceive( ); | ||
379 | } | ||
380 | } | ||
381 | |||
382 | } | ||
331 | void KABCore::recieve( QString fn ) | 383 | void KABCore::recieve( QString fn ) |
332 | { | 384 | { |
333 | //qDebug("KABCore::recieve "); | 385 | //qDebug("KABCore::recieve "); |
334 | int count = mAddressBook->importFromFile( fn, true ); | 386 | int count = mAddressBook->importFromFile( fn, true ); |
335 | mViewManager->refreshView(); | 387 | mViewManager->refreshView(); |
336 | message(i18n("%1 contact(s) received!").arg( count )); | 388 | message(i18n("%1 contact(s) received!").arg( count )); |
337 | topLevelWidget()->showMaximized(); | 389 | topLevelWidget()->showMaximized(); |
338 | topLevelWidget()->raise(); | 390 | topLevelWidget()->raise(); |
@@ -1779,16 +1831,22 @@ void KABCore::initActions() | |||
1779 | mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, | 1831 | mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, |
1780 | actionCollection(), "options_show_jump_bar" ); | 1832 | actionCollection(), "options_show_jump_bar" ); |
1781 | connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); | 1833 | connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); |
1782 | 1834 | ||
1783 | mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, | 1835 | mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, |
1784 | actionCollection(), "options_show_details" ); | 1836 | actionCollection(), "options_show_details" ); |
1785 | connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); | 1837 | connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); |
1786 | 1838 | ||
1839 | |||
1840 | mActionBR = new KToggleAction( i18n( "Beam receice enabled" ), "beam", 0, this, | ||
1841 | SLOT( toggleBeamReceive() ), actionCollection(), | ||
1842 | "kaddressbook_beam_rec" ); | ||
1843 | |||
1844 | |||
1787 | // misc | 1845 | // misc |
1788 | // only enable LDAP lookup if we can handle the protocol | 1846 | // only enable LDAP lookup if we can handle the protocol |
1789 | #ifndef KAB_EMBEDDED | 1847 | #ifndef KAB_EMBEDDED |
1790 | if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { | 1848 | if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { |
1791 | new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, | 1849 | new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, |
1792 | this, SLOT( openLDAPDialog() ), actionCollection(), | 1850 | this, SLOT( openLDAPDialog() ), actionCollection(), |
1793 | "ldap_lookup" ); | 1851 | "ldap_lookup" ); |
1794 | } | 1852 | } |
@@ -1949,16 +2007,18 @@ void KABCore::addActionsManually() | |||
1949 | 2007 | ||
1950 | settingsMenu->insertSeparator(); | 2008 | settingsMenu->insertSeparator(); |
1951 | 2009 | ||
1952 | mActionJumpBar->plug( settingsMenu ); | 2010 | mActionJumpBar->plug( settingsMenu ); |
1953 | mActionDetails->plug( settingsMenu ); | 2011 | mActionDetails->plug( settingsMenu ); |
1954 | if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) | 2012 | if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) |
1955 | mActionDetails->plug( tb ); | 2013 | mActionDetails->plug( tb ); |
1956 | settingsMenu->insertSeparator(); | 2014 | settingsMenu->insertSeparator(); |
2015 | mActionBR->plug(settingsMenu ); | ||
2016 | settingsMenu->insertSeparator(); | ||
1957 | 2017 | ||
1958 | mActionWhoAmI->plug( settingsMenu ); | 2018 | mActionWhoAmI->plug( settingsMenu ); |
1959 | mActionCategories->plug( settingsMenu ); | 2019 | mActionCategories->plug( settingsMenu ); |
1960 | 2020 | ||
1961 | 2021 | ||
1962 | mActionWN->plug( helpMenu ); | 2022 | mActionWN->plug( helpMenu ); |
1963 | mActionSyncHowto->plug( helpMenu ); | 2023 | mActionSyncHowto->plug( helpMenu ); |
1964 | mActionLicence->plug( helpMenu ); | 2024 | mActionLicence->plug( helpMenu ); |
@@ -2742,16 +2802,17 @@ bool KABCore::sync(KSyncManager* manager, QString filename, int mode) | |||
2742 | } | 2802 | } |
2743 | 2803 | ||
2744 | 2804 | ||
2745 | //this is a overwritten callbackmethods from the syncinterface | 2805 | //this is a overwritten callbackmethods from the syncinterface |
2746 | bool KABCore::syncExternal(KSyncManager* manager, QString resource) | 2806 | bool KABCore::syncExternal(KSyncManager* manager, QString resource) |
2747 | { | 2807 | { |
2748 | if ( resource == "phone" ) | 2808 | if ( resource == "phone" ) |
2749 | return syncPhone(); | 2809 | return syncPhone(); |
2810 | disableBR( true ); | ||
2750 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); | 2811 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); |
2751 | 2812 | ||
2752 | AddressBook abLocal( resource,"syncContact"); | 2813 | AddressBook abLocal( resource,"syncContact"); |
2753 | bool syncOK = false; | 2814 | bool syncOK = false; |
2754 | if ( abLocal.load() ) { | 2815 | if ( abLocal.load() ) { |
2755 | qDebug("AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1()); | 2816 | qDebug("AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1()); |
2756 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; | 2817 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; |
2757 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false ); | 2818 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false ); |
@@ -2762,16 +2823,17 @@ bool KABCore::syncExternal(KSyncManager* manager, QString resource) | |||
2762 | abLocal.saveAB(); | 2823 | abLocal.saveAB(); |
2763 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ); | 2824 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ); |
2764 | } | 2825 | } |
2765 | } | 2826 | } |
2766 | setModified(); | 2827 | setModified(); |
2767 | } | 2828 | } |
2768 | if ( syncOK ) | 2829 | if ( syncOK ) |
2769 | mViewManager->refreshView(); | 2830 | mViewManager->refreshView(); |
2831 | disableBR( false ); | ||
2770 | return syncOK; | 2832 | return syncOK; |
2771 | 2833 | ||
2772 | } | 2834 | } |
2773 | void KABCore::message( QString m ) | 2835 | void KABCore::message( QString m ) |
2774 | { | 2836 | { |
2775 | topLevelWidget()->setCaption( m ); | 2837 | topLevelWidget()->setCaption( m ); |
2776 | mMessageTimer->start( 15000, true ); | 2838 | mMessageTimer->start( 15000, true ); |
2777 | } | 2839 | } |