Diffstat (limited to 'korganizer/koeditordetails.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | korganizer/koeditordetails.cpp | 35 |
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 | ||
200 | KOEditorDetails::~KOEditorDetails() | 211 | KOEditorDetails::~KOEditorDetails() |
201 | { | 212 | { |
202 | } | 213 | } |
203 | 214 | ||
204 | void KOEditorDetails::removeAttendee() | 215 | void KOEditorDetails::removeAttendee() |
205 | { | 216 | { |
@@ -216,21 +227,27 @@ void KOEditorDetails::removeAttendee() | |||
216 | updateAttendeeInput(); | 227 | updateAttendeeInput(); |
217 | } | 228 | } |
218 | 229 | ||
219 | 230 | ||
220 | void KOEditorDetails::openAddressBook() | 231 | void 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 | ||
284 | void 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 | ||
267 | void KOEditorDetails::insertAttendee(Attendee *a) | 302 | void 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 | ||
273 | void KOEditorDetails::setDefaults() | 308 | void KOEditorDetails::setDefaults() |