summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp64
-rw-r--r--kaddressbook/kabcore.h11
-rw-r--r--kaddressbook/kaddressbookmain.cpp12
-rw-r--r--kaddressbook/kaddressbookmain.h1
-rw-r--r--kaddressbook/mainembedded.cpp7
5 files changed, 77 insertions, 18 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 11eeabc..980e436 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -312,7 +312,12 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) );
mEditorDialog = 0;
createAddresseeEditorDialog( this );
- setModified( false );
+ setModified( false );
+ mBRdisabled = 0;
+#ifndef DESKTOP_VERSION
+ infrared = 0;
+#endif
+ toggleBeamReceive( );
}
KABCore::~KABCore()
@@ -325,9 +330,56 @@ KABCore::~KABCore()
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 ");
@@ -1784,6 +1836,12 @@ void KABCore::initActions()
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
@@ -1954,6 +2012,8 @@ void KABCore::addActionsManually()
if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop )
mActionDetails->plug( tb );
settingsMenu->insertSeparator();
+ mActionBR->plug(settingsMenu );
+ settingsMenu->insertSeparator();
mActionWhoAmI->plug( settingsMenu );
mActionCategories->plug( settingsMenu );
@@ -2747,6 +2807,7 @@ bool KABCore::syncExternal(KSyncManager* manager, QString resource)
{
if ( resource == "phone" )
return syncPhone();
+ disableBR( true );
QString mCurrentSyncDevice = manager->getCurrentSyncDevice();
AddressBook abLocal( resource,"syncContact");
@@ -2767,6 +2828,7 @@ bool KABCore::syncExternal(KSyncManager* manager, QString resource)
}
if ( syncOK )
mViewManager->refreshView();
+ disableBR( false );
return syncOK;
}
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index c7be343..fcbe1e8 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -34,6 +34,9 @@
#include <qwidget.h>
#include <qpopupmenu.h>
#include <ksyncmanager.h>
+#ifndef DESKTOP_VERSION
+#include <qcopchannel_qws.h>
+#endif
namespace KABC {
class AddressBook;
@@ -352,6 +355,9 @@ class KABCore : public QWidget, public KSyncInterface
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();
@@ -370,6 +376,10 @@ class KABCore : public QWidget, public KSyncInterface
void addressBookChanged();
private:
+ bool mBRdisabled;
+#ifndef DESKTOP_VERSION
+ QCopChannel* infrared;
+#endif
QTimer *mMessageTimer;
void initGUI();
void initActions();
@@ -408,6 +418,7 @@ class KABCore : public QWidget, public KSyncInterface
//US file menu
KAction *mActionMail;
KAction *mActionBeam;
+ KToggleAction *mActionBR;
KAction *mActionExport2phone;
KAction* mActionPrint;
KAction* mActionNewContact;
diff --git a/kaddressbook/kaddressbookmain.cpp b/kaddressbook/kaddressbookmain.cpp
index 8c4ca09..f48f214 100644
--- a/kaddressbook/kaddressbookmain.cpp
+++ b/kaddressbook/kaddressbookmain.cpp
@@ -92,17 +92,7 @@ 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
@@ -81,7 +81,6 @@ class KAddressBookMain : public KMainWindow, virtual public KAddressBookIface
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
diff --git a/kaddressbook/mainembedded.cpp b/kaddressbook/mainembedded.cpp
index 6dd97b8..a2ff1e9 100644
--- a/kaddressbook/mainembedded.cpp
+++ b/kaddressbook/mainembedded.cpp
@@ -79,17 +79,14 @@ int main( int argc, char **argv )
}
#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! ");