summaryrefslogtreecommitdiffabout
path: root/korganizer/koeditordetails.cpp
Unidiff
Diffstat (limited to 'korganizer/koeditordetails.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/koeditordetails.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/korganizer/koeditordetails.cpp b/korganizer/koeditordetails.cpp
index c0e7bdd..8e2fabe 100644
--- a/korganizer/koeditordetails.cpp
+++ b/korganizer/koeditordetails.cpp
@@ -32,17 +32,23 @@
32#include <qapp.h> 32#include <qapp.h>
33 33
34#include <klocale.h> 34#include <klocale.h>
35#include <kglobal.h> 35#include <kglobal.h>
36#include <kiconloader.h> 36#include <kiconloader.h>
37#include <kstandarddirs.h> 37#include <kstandarddirs.h>
38#include <kmessagebox.h> 38#include <kmessagebox.h>
39#ifndef KORG_NOKABC 39#ifndef KORG_NOKABC
40
41#ifdef DESKTOP_VERSION
40#include <kabc/addresseedialog.h> 42#include <kabc/addresseedialog.h>
43#else //DESKTOP_VERSION
44#include <externalapphandler.h>
45#endif //DESKTOP_VERSION
46
41#endif 47#endif
42 48
43#include <libkcal/incidence.h> 49#include <libkcal/incidence.h>
44 50
45#include "koprefs.h" 51#include "koprefs.h"
46 52
47#include "koeditordetails.h" 53#include "koeditordetails.h"
48 54
@@ -190,16 +196,21 @@ KOEditorDetails::KOEditorDetails (int spacing,QWidget* parent,const char* name)
190// topLayout->setRowStretch(1,5); 196// topLayout->setRowStretch(1,5);
191// topLayout->setColStretch(0,0); 197// topLayout->setColStretch(0,0);
192 198
193#ifdef KORG_NOKABC 199#ifdef KORG_NOKABC
194 mAddressBookButton->hide(); 200 mAddressBookButton->hide();
195#endif 201#endif
196 202
197 updateAttendeeInput(); 203 updateAttendeeInput();
204
205//US listen for arriving address resultsets
206 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
207 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
208
198} 209}
199 210
200KOEditorDetails::~KOEditorDetails() 211KOEditorDetails::~KOEditorDetails()
201{ 212{
202} 213}
203 214
204void KOEditorDetails::removeAttendee() 215void KOEditorDetails::removeAttendee()
205{ 216{
@@ -216,21 +227,27 @@ void KOEditorDetails::removeAttendee()
216 updateAttendeeInput(); 227 updateAttendeeInput();
217} 228}
218 229
219 230
220void KOEditorDetails::openAddressBook() 231void KOEditorDetails::openAddressBook()
221{ 232{
222#ifndef KORG_NOKABC 233#ifndef KORG_NOKABC
223 234
235#ifdef DESKTOP_VERSION
224 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 236 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
225 uint i=0; 237 uint i=0;
226 for (i=0; i < list.count(); i++) { 238 for (i=0; i < list.count(); i++) {
227 insertAttendee( new Attendee( list[i].realName(), list[i].preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,list[i].uid()) ); 239 insertAttendee( new Attendee( list[i].realName(), list[i].preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,list[i].uid()) );
228 } 240 }
241#else
242 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/);
243 // the result should now arrive through method insertAttendees
244#endif
245
229 246
230#if 0 247#if 0
231 KABC::Addressee a = KABC::AddresseeDialog::getAddressee(this); 248 KABC::Addressee a = KABC::AddresseeDialog::getAddressee(this);
232 if (!a.isEmpty()) { 249 if (!a.isEmpty()) {
233 insertAttendee( new Attendee( a.realName(), a.preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,a.uid()) ); 250 insertAttendee( new Attendee( a.realName(), a.preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,a.uid()) );
234 } 251 }
235#endif 252#endif
236#endif 253#endif
@@ -258,16 +275,34 @@ void KOEditorDetails::addNewAttendee()
258 } 275 }
259 } 276 }
260#endif 277#endif
261 278
262 Attendee *a = new Attendee(i18n("(EmptyName)"),i18n("(EmptyEmail)")); 279 Attendee *a = new Attendee(i18n("(EmptyName)"),i18n("(EmptyEmail)"));
263 insertAttendee(a); 280 insertAttendee(a);
264} 281}
265 282
283//the map includes name/email pairs, that comes from Ka/Pi
284void KOEditorDetails::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList)
285{
286 if (uid == this->name())
287 {
288 for ( int i = 0; i < nameList.count(); i++)
289 {
290 QString _name = nameList[i];
291 QString _email = emailList[i];
292 QString _uid = uidList[i];
293
294 Attendee *a = new Attendee(_name,_email,false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant, _uid);
295 insertAttendee(a);
296 }
297 }
298
299}
300
266 301
267void KOEditorDetails::insertAttendee(Attendee *a) 302void KOEditorDetails::insertAttendee(Attendee *a)
268{ 303{
269 AttendeeListItem *item = new AttendeeListItem(a,mListView); 304 AttendeeListItem *item = new AttendeeListItem(a,mListView);
270 mListView->setSelected( item, true ); 305 mListView->setSelected( item, true );
271} 306}
272 307
273void KOEditorDetails::setDefaults() 308void KOEditorDetails::setDefaults()