-rw-r--r-- | kaddressbook/kabcore.cpp | 62 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 11 | ||||
-rw-r--r-- | kaddressbook/kaddressbookmain.cpp | 12 | ||||
-rw-r--r-- | kaddressbook/kaddressbookmain.h | 1 | ||||
-rw-r--r-- | kaddressbook/mainembedded.cpp | 7 |
5 files changed, 76 insertions, 17 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 11eeabc..980e436 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -312,8 +312,13 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); mEditorDialog = 0; createAddresseeEditorDialog( this ); setModified( false ); + mBRdisabled = 0; +#ifndef DESKTOP_VERSION + infrared = 0; +#endif + toggleBeamReceive( ); } KABCore::~KABCore() { @@ -324,11 +329,58 @@ KABCore::~KABCore() mAddressBook = 0; KABC::StdAddressBook::close(); delete syncManager; + if ( infrared ) + delete infrared; +} +void KABCore::receive( const QCString& cmsg, const QByteArray& data ) +{ + qDebug("KA: QCOP message received: %s ", cmsg.data() ); + if ( cmsg == "setDocument(QString)" ) { + QDataStream stream( data, IO_ReadOnly ); + QString fileName; + stream >> fileName; + recieve( fileName ); + return; + } +} +void KABCore::toggleBeamReceive( ) +{ + if ( mBRdisabled ) + return; +#ifndef DESKTOP_VERSION + if ( infrared ) { + qDebug("AB disable BeamReceive "); + delete infrared; + infrared = 0; + mActionBR->setChecked(false); + return; + } + qDebug("AB enable BeamReceive "); + mActionBR->setChecked(true); + infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ; + QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& ))); +#endif } + +void KABCore::disableBR(bool b) +{ + if ( b ) { + if ( infrared ) { + toggleBeamReceive( ); + mBRdisabled = true; + } + } else { + if ( mBRdisabled ) { + mBRdisabled = false; + toggleBeamReceive( ); + } + } + +} void KABCore::recieve( QString fn ) { //qDebug("KABCore::recieve "); int count = mAddressBook->importFromFile( fn, true ); @@ -1783,8 +1835,14 @@ void KABCore::initActions() mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, actionCollection(), "options_show_details" ); connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); + + mActionBR = new KToggleAction( i18n( "Beam receice enabled" ), "beam", 0, this, + SLOT( toggleBeamReceive() ), actionCollection(), + "kaddressbook_beam_rec" ); + + // misc // only enable LDAP lookup if we can handle the protocol #ifndef KAB_EMBEDDED if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { @@ -1953,8 +2011,10 @@ void KABCore::addActionsManually() mActionDetails->plug( settingsMenu ); if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) mActionDetails->plug( tb ); settingsMenu->insertSeparator(); + mActionBR->plug(settingsMenu ); + settingsMenu->insertSeparator(); mActionWhoAmI->plug( settingsMenu ); mActionCategories->plug( settingsMenu ); @@ -2746,8 +2806,9 @@ bool KABCore::sync(KSyncManager* manager, QString filename, int mode) bool KABCore::syncExternal(KSyncManager* manager, QString resource) { if ( resource == "phone" ) return syncPhone(); + disableBR( true ); QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); AddressBook abLocal( resource,"syncContact"); bool syncOK = false; @@ -2766,8 +2827,9 @@ bool KABCore::syncExternal(KSyncManager* manager, QString resource) setModified(); } if ( syncOK ) mViewManager->refreshView(); + disableBR( false ); return syncOK; } void KABCore::message( QString m ) diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index c7be343..fcbe1e8 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h @@ -33,8 +33,11 @@ #include <qwidget.h> #include <qpopupmenu.h> #include <ksyncmanager.h> +#ifndef DESKTOP_VERSION +#include <qcopchannel_qws.h> +#endif namespace KABC { class AddressBook; } @@ -351,8 +354,11 @@ class KABCore : public QWidget, public KSyncInterface void setDetailsVisible( bool visible ); void setDetailsToState(); // void slotSyncMenu( int ); private slots: + void receive( const QCString& cmsg, const QByteArray& data ); + void toggleBeamReceive( ); + void disableBR(bool); void setJumpButtonBarVisible( bool visible ); void setCaptionBack(); void importFromOL(); void extensionModified( const KABC::Addressee::List &list ); @@ -369,8 +375,12 @@ class KABCore : public QWidget, public KSyncInterface void configurationChanged(); void addressBookChanged(); private: + bool mBRdisabled; +#ifndef DESKTOP_VERSION + QCopChannel* infrared; +#endif QTimer *mMessageTimer; void initGUI(); void initActions(); QString getPhoneFile(); @@ -407,8 +417,9 @@ class KABCore : public QWidget, public KSyncInterface //US file menu KAction *mActionMail; KAction *mActionBeam; + KToggleAction *mActionBR; KAction *mActionExport2phone; KAction* mActionPrint; KAction* mActionNewContact; KAction *mActionSave; diff --git a/kaddressbook/kaddressbookmain.cpp b/kaddressbook/kaddressbookmain.cpp index 8c4ca09..f48f214 100644 --- a/kaddressbook/kaddressbookmain.cpp +++ b/kaddressbook/kaddressbookmain.cpp @@ -91,19 +91,9 @@ KAddressBookMain::KAddressBookMain() : DCOPObject( "KAddressBookIface" ), KMainW KAddressBookMain::~KAddressBookMain() { // mCore->saveSettings(); } -void KAddressBookMain::recieve( const QCString& cmsg, const QByteArray& data ) -{ - qDebug("KA: QCOP message received: %s ", cmsg.data() ); - if ( cmsg == "setDocument(QString)" ) { - QDataStream stream( data, IO_ReadOnly ); - QString fileName; - stream >> fileName; - mCore->recieve( fileName ); - return; - } -} + void KAddressBookMain::showMinimized () { QWidget::showMinimized () ; } diff --git a/kaddressbook/kaddressbookmain.h b/kaddressbook/kaddressbookmain.h index 40d2bdd..b6d9b4b 100644 --- a/kaddressbook/kaddressbookmain.h +++ b/kaddressbook/kaddressbookmain.h @@ -80,9 +80,8 @@ class KAddressBookMain : public KMainWindow, virtual public KAddressBookIface virtual void newContact(); virtual QString getNameByPhone( QString phone ); virtual void save(); virtual void exit(); - void recieve( const QCString& cmsg, const QByteArray& data ); protected: void initActions(); #ifdef KAB_EMBEDDED //US new method to setup menues and toolbars on embedded systems diff --git a/kaddressbook/mainembedded.cpp b/kaddressbook/mainembedded.cpp index 6dd97b8..a2ff1e9 100644 --- a/kaddressbook/mainembedded.cpp +++ b/kaddressbook/mainembedded.cpp @@ -78,19 +78,16 @@ int main( int argc, char **argv ) KPimGlobalPrefs::instance()->setGlobalConfig(); } #ifndef DESKTOP_VERSION a.showMainWidget( &m ); - QCopChannel* c1 = new QCopChannel("QPE/Application/addressbook",&m, "channelAB" ) ; - QObject::connect( c1, SIGNAL (received ( const QCString &, const QByteArray & )),&m, SLOT(recieve( const QCString&, const QByteArray& ))); + #else a.setMainWidget( &m ); m.resize (640, 480 ); m.show(); #endif a.exec(); -#ifndef DESKTOP_VERSION - delete c1; -#endif + } qDebug("KA: Bye! "); } |