author | zautrix <zautrix> | 2004-09-07 20:33:23 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-09-07 20:33:23 (UTC) |
commit | 64a8ef1629f523df3006de5cb2b9882a50d96a05 (patch) (side-by-side diff) | |
tree | b931dc5397b4eec926603080b20eddda131999ff | |
parent | 9d5c8750ae671e73ec8ebc0a71f30fd30680f2c0 (diff) | |
download | kdepimpi-64a8ef1629f523df3006de5cb2b9882a50d96a05.zip kdepimpi-64a8ef1629f523df3006de5cb2b9882a50d96a05.tar.gz kdepimpi-64a8ef1629f523df3006de5cb2b9882a50d96a05.tar.bz2 |
Fixed Kopi-Kapi external app communication
-rw-r--r-- | kabc/addressbook.cpp | 2 | ||||
-rw-r--r-- | kabc/stdaddressbook.cpp | 14 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 19 | ||||
-rw-r--r-- | korganizer/koeventviewer.cpp | 50 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 2 | ||||
-rw-r--r-- | libkdepim/externalapphandler.cpp | 2 |
6 files changed, 68 insertions, 21 deletions
diff --git a/kabc/addressbook.cpp b/kabc/addressbook.cpp index c61b387..47d298a 100644 --- a/kabc/addressbook.cpp +++ b/kabc/addressbook.cpp @@ -426,9 +426,9 @@ Addressee::List AddressBook::findByName( const QString &name ) Addressee::List results; Iterator it; for ( it = begin(); it != end(); ++it ) { - if ( name == (*it).name() ) { + if ( name == (*it).realName() ) { results.append( *it ); } } diff --git a/kabc/stdaddressbook.cpp b/kabc/stdaddressbook.cpp index 760820e..9f38f08 100644 --- a/kabc/stdaddressbook.cpp +++ b/kabc/stdaddressbook.cpp @@ -62,10 +62,13 @@ StdAddressBook *StdAddressBook::self() if ( !mSelf ) { QString appdir = StdAddressBook::setTempAppDir(); - - kdDebug(5700) << "StdAddressBook::self()" << endl; + qDebug("****************************************************** "); + qDebug("****************************************************** "); + qDebug("****************************************************** "); + qDebug("****************************************************** "); + qDebug("****************************************************** "); // US im am not sure why I have to use the other format here?? #ifdef KAB_EMBEDDED mSelf = addressBookDeleter.setObject( new StdAddressBook ); #else //KAB_EMBEDDED @@ -99,8 +102,15 @@ StdAddressBook *StdAddressBook::self( bool onlyFastResources ) { if ( !mSelf ) { + qDebug("++++++++++++++++++++++++++++++++++++++++++++++++ "); + qDebug("++++++++++++++++++++++++++++++++++++++++++++++++ "); + qDebug("++++++++++++++++++++++++++++++++++++++++++++++++ "); + qDebug("++++++++++++++++++++++++++++++++++++++++++++++++ "); + qDebug("++++++++++++++++++++++++++++++++++++++++++++++++ "); + qDebug("++++++++++++++++++++++++++++++++++++++++++++++++ "); + qDebug("++++++++++++++++++++++++++++++++++++++++++++++++ "); QString appdir =StdAddressBook::setTempAppDir(); #ifdef KAB_EMBEDDED mSelf = addressBookDeleter.setObject( new StdAddressBook( onlyFastResources ) ); #else //KAB_EMBEDDED diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 4299ebd..2f9f1df 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -2040,9 +2040,9 @@ void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QSt /* this method will be called through the QCop interface from other apps to show details of a contact. */ void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) { -// qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); + //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); QString foundUid = QString::null; if (uid.isEmpty()) { @@ -2054,23 +2054,24 @@ void KABCore::requestForDetails(const QString& sourceChannel, const QString& ses namelist = mAddressBook->findByName( name ); if (!email.isEmpty()) emaillist = mAddressBook->findByEmail( email ); - + qDebug("count %d %d ", namelist.count(),emaillist.count() ); //check if we have a match in Namelist and Emaillist - if ((namelist.count() == 0) && (emaillist.count() > 0)) - foundUid == emaillist[0].uid(); + if ((namelist.count() == 0) && (emaillist.count() > 0)) { + foundUid = emaillist[0].uid(); + } else if ((namelist.count() > 0) && (emaillist.count() == 0)) - foundUid == namelist[0].uid(); + foundUid = namelist[0].uid(); else { for (int i = 0; i < namelist.count(); i++) { for (int j = 0; j < emaillist.count(); j++) { if (namelist[i] == emaillist[j]) { - foundUid == namelist[i].uid(); + foundUid = namelist[i].uid(); } } } } @@ -2081,16 +2082,18 @@ void KABCore::requestForDetails(const QString& sourceChannel, const QString& ses } if (!foundUid.isEmpty()) { + // raise Ka/Pi if it is in the background #ifndef DESKTOP_VERSION #ifndef KORG_NODCOP - QCopEnvelope e("QPE/Application/kapi", "raise()"); + //QCopEnvelope e("QPE/Application/kapi", "raise()"); #endif #endif - + mMainWindow->showMaximized(); + mMainWindow-> raise(); mViewManager->setSelected( "", false); mViewManager->refreshView( "" ); mViewManager->setSelected( foundUid, true ); diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 1f69700..0866939 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp @@ -49,11 +49,15 @@ #ifndef KORG_NOKABC #include <kabc/stdaddressbook.h> #define size count #endif -#ifndef DESKTOP_VERSION + +#ifdef DESKTOP_VERSION +#include <kabc/addresseedialog.h> +#else //DESKTOP_VERSION +#include <externalapphandler.h> #include <qtopia/qcopenvelope_qws.h> -#endif +#endif //DESKTOP_VERSION KOEventViewer::KOEventViewer(QWidget *parent,const char *name) : QTextBrowser(parent,name) { @@ -67,18 +71,17 @@ KOEventViewer::~KOEventViewer() void KOEventViewer::setSource(const QString& n) { - if ( n.left(3) == "uid" ) { + if ( n.left(3) == "uid" ) +#ifdef DESKTOP_VERSION + { KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true ); KABC::AddressBook::Iterator it; for( it = AddressBook->begin(); it != AddressBook->end(); ++it ) { // LR I do not understand, why the uid string is different on zaurus and desktop -#ifdef DESKTOP_VERSION QString uid = "uid://"+(*it).uid(); -#else - QString uid = "uid:"+(*it).uid(); -#endif + //qDebug("for *%s* +%s+ ", n.latin1(), uid.latin1()); if (n == uid ) { //qDebug("found %s ",(*it).mobileHomePhone().latin1() ); QDialog dia( this,"dia123", true ); @@ -98,12 +101,30 @@ void KOEventViewer::setSource(const QString& n) } } return; } +#else + { + QPtrList<Attendee> attendees = mCurrentIncidence->attendees(); + if (attendees.count()) { + Attendee *a; + for(a=attendees.first();a;a=attendees.next()) { + if ( "uid:"+a->uid() == n ) { + bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI(a->name(), a->email(), ""); + return; + } + } + } + return; + } + //requestNameEmailUidListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/); + // the result should now arrive through method insertAttendees + //QString uid = "uid:"+(*it).uid(); +#endif if ( n.left(6) == "mailto" ) { // qDebug("KOEventViewer::setSource %s ", n.mid(7).latin1()); #ifndef DESKTOP_VERSION - QCopEnvelope e("QPE/Application/kmpi", "newMail(QString)" ); + QCopEnvelope e("QPE/Application/ompi", "newMail(QString)" ); e << n.mid(7); #endif } @@ -382,8 +403,9 @@ void KOEventViewer::formatAttendees(Incidence *event) addTag("h3",i18n("Organizer")); mText.append("<ul><li>"); #ifndef KORG_NOKABC +#ifdef DESKTOP_VERSION KABC::AddressBook *add_book = KABC::StdAddressBook::self(); KABC::Addressee::List addressList; addressList = add_book->findByEmail(event->organizer()); KABC::Addressee o = addressList.first(); @@ -393,8 +415,13 @@ void KOEventViewer::formatAttendees(Incidence *event) mText += "</a>\n"; } else { mText.append(event->organizer()); } +#else //DESKTOP_VERSION + mText.append(event->organizer()); +#endif //DESKTOP_VERSION + + #else mText.append(event->organizer()); #endif @@ -409,8 +436,9 @@ void KOEventViewer::formatAttendees(Incidence *event) Attendee *a; mText.append("<ul>"); for(a=attendees.first();a;a=attendees.next()) { #ifndef KORG_NOKABC +#ifdef DESKTOP_VERSION if (a->name().isEmpty()) { addressList = add_book->findByEmail(a->email()); KABC::Addressee o = addressList.first(); if (!o.isEmpty() && addressList.size()<2) { @@ -427,8 +455,14 @@ void KOEventViewer::formatAttendees(Incidence *event) if (!a->name().isEmpty()) mText += a->name(); else mText += a->email(); mText += "</a>\n"; } +#else //DESKTOP_VERSION + mText += "<li><a href=\"uid:" + a->uid() + "\">"; + if (!a->name().isEmpty()) mText += a->name(); + else mText += a->email(); + mText += "</a>\n"; +#endif //DESKTOP_VERSION #else //qDebug("nokabc "); mText += "<li><a href=\"uid:" + a->uid() + "\">"; if (!a->name().isEmpty()) mText += a->name(); diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index d4fadcb..7978b46 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -201,9 +201,11 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : mView->dialogManager()->showSyncOptions(); } //US listen for result adressed from Ka/Pi +#ifndef DESKTOP_VERSION connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); +#endif } MainWindow::~MainWindow() { //qDebug("MainWindow::~MainWindow() "); diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp index bd83626..6100097 100644 --- a/libkdepim/externalapphandler.cpp +++ b/libkdepim/externalapphandler.cpp @@ -305,9 +305,8 @@ bool QCopListTransferItem::appMessage( const QCString& cmsg, const QByteArray& d QStringList list3; QString uid; stream >> uid >> list1 >> list2 >> list3; - emit receivedMessageFromTarget(uid, list1, list2, list3); return true; @@ -969,9 +968,8 @@ void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& paramete void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data ) { bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); - if (!res) res = mDisplayDetails->appMessage( cmsg, data ); // if (!res) |