summaryrefslogtreecommitdiffabout
path: root/pluginopiekabc
Side-by-side diff
Diffstat (limited to 'pluginopiekabc') (more/less context) (ignore whitespace changes)
-rw-r--r--pluginopiekabc/opieaddressbook.cpp33
-rw-r--r--pluginopiekabc/opieaddressbook.h63
-rw-r--r--pluginopiekabc/opieaddressbookplugin.cpp71
-rw-r--r--pluginopiekabc/opieaddressbookplugin.h19
-rw-r--r--pluginopiekabc/opieaddressee.cpp21
-rw-r--r--pluginopiekabc/opieaddressee.h16
-rw-r--r--pluginopiekabc/pluginopiekabcE.pro27
7 files changed, 250 insertions, 0 deletions
diff --git a/pluginopiekabc/opieaddressbook.cpp b/pluginopiekabc/opieaddressbook.cpp
new file mode 100644
index 0000000..ff0ef63
--- a/dev/null
+++ b/pluginopiekabc/opieaddressbook.cpp
@@ -0,0 +1,33 @@
+#include "opieaddressbook.h"
+#include <qstringlist.h>
+#include <opie/ocontact.h>
+#include <opie/orecordlist.h>
+#include <stdio.h>
+
+using namespace KABC;
+
+OpieAddressBook *StdOpieAddressBook::mSelf = 0;
+
+OpieAddressBook::OpieAddressBook() {
+ access = new OContactAccess("Addressbook");
+}
+
+OpieAddressBook::~OpieAddressBook() {
+}
+
+
+StdOpieAddressBook::StdOpieAddressBook() {
+ access = new OContactAccess("Addressbook");
+}
+
+StdOpieAddressBook::~StdOpieAddressBook() {
+}
+
+OpieAddressBook *StdOpieAddressBook::self() {
+ if ( !mSelf ) {
+ mSelf = new StdOpieAddressBook();
+ }
+ return mSelf;
+}
+
+ \ No newline at end of file
diff --git a/pluginopiekabc/opieaddressbook.h b/pluginopiekabc/opieaddressbook.h
new file mode 100644
index 0000000..d2a3b38
--- a/dev/null
+++ b/pluginopiekabc/opieaddressbook.h
@@ -0,0 +1,63 @@
+/*
+ This file is part of libkabc.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef KABC_STDADDRESSBOOK_H
+#define KABC_STDADDRESSBOOK_H
+
+#include <opie/ocontactaccess.h>
+#include "opieaddressee.h"
+#include "opieaddress.h"
+
+namespace KABC {
+
+class AddressBook {
+
+ public:
+ AddressBook();
+ ~AddressBook();
+ Addressee::List findByEmail( const QString & );
+
+ protected:
+ OContactAccess *access;
+};
+
+
+class StdAddressBook : public AddressBook
+{
+ public:
+ /**
+ Return the standard addressbook object.
+ */
+ static AddressBook *self();
+
+
+ protected:
+ StdAddressBook();
+ ~StdAddressBook();
+
+ void init( bool onlyFastResources );
+
+ private:
+ static AddressBook *mSelf;
+ static bool mAutomaticSave;
+};
+
+}
+#endif
diff --git a/pluginopiekabc/opieaddressbookplugin.cpp b/pluginopiekabc/opieaddressbookplugin.cpp
new file mode 100644
index 0000000..0b22289
--- a/dev/null
+++ b/pluginopiekabc/opieaddressbookplugin.cpp
@@ -0,0 +1,71 @@
+#include <stdio.h>
+#include <qwidget.h>
+#include <qlayout.h>
+#include <qlistbox.h>
+#include <opie/ocontact.h>
+#include <opie/orecordlist.h>
+#include "opieaddressbookplugin.h"
+#include "opieaddressee.h"
+
+OpieAddressBookPlugin::OpieAddressBookPlugin() : ref(0) {
+
+ access = new OContactAccess("OpieAddressBookPlugin");
+
+}
+
+KABC::Addressee::List OpieAddressBookPlugin::getAddressees() {
+ KABC::Addressee::List results;
+ OContactAccess access("OpieAddressBookPlugin");
+ OContactAccess::List::Iterator it;
+ ORecordList<OContact> accessList = access.sorted(true,0,0,0);
+ for(it = accessList.begin(); it != accessList.end(); ++it ) {
+ OpieAddressee addressee( *it );
+ results.append(addressee);
+ }
+ return results;
+}
+
+QString OpieAddressBookPlugin::name() {
+ return QString::QString("OpieAddressBookPlugin");
+}
+
+
+KABC::Addressee::List OpieAddressBookPlugin::findByEmail(const QString &email) {
+printf("OpieAddressBookPlugin::findByEmail: email=%s\n", email.ascii());
+ KABC::Addressee::List results;
+
+ ORecordList<OContact> accessList = access->sorted(true,0,0,0);
+ OContactAccess::List::Iterator it;
+ for(it = accessList.begin(); it != accessList.end(); ++it ) {
+ OContact contact = *it;
+ QStringList emailList = contact.emailList();
+ QStringList foundEmails = emailList.grep(email,false);
+ if (foundEmails.count() >= 1) {
+ OpieAddressee a(contact);
+ printf("Found Contact %s\n", a.formattedName().ascii());
+ results.append(a);
+ }
+ }
+ return results;
+
+}
+
+QRESULT OpieAddressBookPlugin::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
+{
+printf("Start: OpieAddressBookPlugin::queryInterface\n");
+ *iface = 0;
+ if ( uuid == IID_QUnknown )
+ *iface = this;
+ else if ( uuid == IID_KOAddressBookInterface )
+ *iface = this;
+ if ( *iface )
+ (*iface)->addRef();
+ return QS_OK;
+printf("End: OpieAddressBookPlugin::queryInterface\n");
+}
+
+Q_EXPORT_INTERFACE()
+{
+ Q_CREATE_INSTANCE( OpieAddressBookPlugin )
+}
+
diff --git a/pluginopiekabc/opieaddressbookplugin.h b/pluginopiekabc/opieaddressbookplugin.h
new file mode 100644
index 0000000..1ad1c15
--- a/dev/null
+++ b/pluginopiekabc/opieaddressbookplugin.h
@@ -0,0 +1,19 @@
+#include <qwidget.h>
+#include <kabc/koaddressbookinterface.h>
+#include <kabc/addressee.h>
+#include <opie/ocontactaccess.h>
+
+struct OpieAddressBookPlugin : public KOAddressBookInterface {
+
+ public:
+
+ OpieAddressBookPlugin::OpieAddressBookPlugin();
+ QString name();
+ KABC::Addressee::List getAddressees();
+ KABC::Addressee::List findByEmail(const QString &email);
+ QRESULT queryInterface( const QUuid&, QUnknownInterface** );
+ Q_REFCOUNT
+ protected:
+ OContactAccess *access;
+ ulong ref;
+};
diff --git a/pluginopiekabc/opieaddressee.cpp b/pluginopiekabc/opieaddressee.cpp
new file mode 100644
index 0000000..3325152
--- a/dev/null
+++ b/pluginopiekabc/opieaddressee.cpp
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include "opieaddressee.h"
+
+OpieAddressee::OpieAddressee(const OContact & ocontact) {
+ setOContact(ocontact);
+}
+
+OpieAddressee::OpieAddressee() {
+ empty = true;
+}
+
+void OpieAddressee::setOContact(const OContact & ocontact) {
+ contact = ocontact;
+ QString id;
+ id.setNum(contact.uid());
+ fName = contact.lastName() + ", " + contact.firstName();
+ rName = contact.fullName();
+ pEmail = contact.defaultEmail();
+ empty = false;
+}
+
diff --git a/pluginopiekabc/opieaddressee.h b/pluginopiekabc/opieaddressee.h
new file mode 100644
index 0000000..b0e8b0d
--- a/dev/null
+++ b/pluginopiekabc/opieaddressee.h
@@ -0,0 +1,16 @@
+#include <opie/ocontact.h>
+#include <kabc/addressee.h>
+
+class OpieAddressee : public KABC::Addressee {
+
+ public:
+
+ OpieAddressee::OpieAddressee(const OContact & contact);
+ OpieAddressee::OpieAddressee();
+ void setOContact(const OContact & contact);
+
+ private:
+ OContact contact;
+ QString id;
+ bool empty;
+};
diff --git a/pluginopiekabc/pluginopiekabcE.pro b/pluginopiekabc/pluginopiekabcE.pro
new file mode 100644
index 0000000..52adaf1
--- a/dev/null
+++ b/pluginopiekabc/pluginopiekabcE.pro
@@ -0,0 +1,27 @@
+TEMPLATE = lib
+CONFIG += qt warn_on release
+
+TARGET = opiekabc
+OBJECTS_DIR = obj/$(PLATFORM)
+MOC_DIR = moc
+DESTDIR=$(QPEDIR)/plugins/korganizer
+INCLUDEPATH += $(QPEDIR)/include ../libkabcwrap $(OPIEDIR)/include
+DEFINES +=
+LIBS += -L$(QPEDIR)/lib
+LIBS += -lmicrokabc
+LIBS += -lopie
+LIBS += -lqpe
+LIBS += -lqte
+
+INTERFACES = \
+
+#select_attendee_base.ui
+
+HEADERS = \
+ opieaddressbookplugin.h \
+ opieaddressee.h
+
+SOURCES = \
+ opieaddressbookplugin.cpp \
+ opieaddressee.cpp
+