summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-10-07 01:10:30 (UTC)
committer ulf69 <ulf69>2004-10-07 01:10:30 (UTC)
commitf434ef382b60c1a420dd0e037d119d082e478491 (patch) (unidiff)
treec68247486b6f714d0d8e01d8b503a4d36c9325e3
parent3338b7239dc2e5cdff95ebc76b6905e6385a5833 (diff)
downloadkdepimpi-f434ef382b60c1a420dd0e037d119d082e478491.zip
kdepimpi-f434ef382b60c1a420dd0e037d119d082e478491.tar.gz
kdepimpi-f434ef382b60c1a420dd0e037d119d082e478491.tar.bz2
added methods to collect birthday data via QCop (from kopi)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp69
-rw-r--r--kaddressbook/kabcore.h1
2 files changed, 70 insertions, 0 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 9041e45..d9eb391 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -272,48 +272,49 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
272 SLOT( executeContact( const QString& ) ) ); 272 SLOT( executeContact( const QString& ) ) );
273 273
274 connect( mViewManager, SIGNAL( deleteRequest( ) ), 274 connect( mViewManager, SIGNAL( deleteRequest( ) ),
275 SLOT( deleteContacts( ) ) ); 275 SLOT( deleteContacts( ) ) );
276 connect( mViewManager, SIGNAL( modified() ), 276 connect( mViewManager, SIGNAL( modified() ),
277 SLOT( setModified() ) ); 277 SLOT( setModified() ) );
278 278
279 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); 279 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) );
280 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); 280 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) );
281 281
282 connect( mXXPortManager, SIGNAL( modified() ), 282 connect( mXXPortManager, SIGNAL( modified() ),
283 SLOT( setModified() ) ); 283 SLOT( setModified() ) );
284 284
285 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), 285 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ),
286 SLOT( incrementalSearch( const QString& ) ) ); 286 SLOT( incrementalSearch( const QString& ) ) );
287 connect( mIncSearchWidget, SIGNAL( fieldChanged() ), 287 connect( mIncSearchWidget, SIGNAL( fieldChanged() ),
288 mJumpButtonBar, SLOT( recreateButtons() ) ); 288 mJumpButtonBar, SLOT( recreateButtons() ) );
289 289
290 connect( mDetails, SIGNAL( sendEmail( const QString& ) ), 290 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
291 SLOT( sendMail( const QString& ) ) ); 291 SLOT( sendMail( const QString& ) ) );
292 292
293 293
294 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); 294 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&)));
295 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); 295 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)));
296 connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&)));
296 297
297 298
298#ifndef KAB_EMBEDDED 299#ifndef KAB_EMBEDDED
299 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), 300 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
300 mXXPortManager, SLOT( importVCard( const KURL& ) ) ); 301 mXXPortManager, SLOT( importVCard( const KURL& ) ) );
301 302
302 connect( mDetails, SIGNAL( browse( const QString& ) ), 303 connect( mDetails, SIGNAL( browse( const QString& ) ),
303 SLOT( browse( const QString& ) ) ); 304 SLOT( browse( const QString& ) ) );
304 305
305 306
306 mAddressBookService = new KAddressBookService( this ); 307 mAddressBookService = new KAddressBookService( this );
307 308
308#endif //KAB_EMBEDDED 309#endif //KAB_EMBEDDED
309 mEditorDialog = 0; 310 mEditorDialog = 0;
310 createAddresseeEditorDialog( this ); 311 createAddresseeEditorDialog( this );
311 setModified( false ); 312 setModified( false );
312} 313}
313 314
314KABCore::~KABCore() 315KABCore::~KABCore()
315{ 316{
316 // save(); 317 // save();
317 //saveSettings(); 318 //saveSettings();
318 //KABPrefs::instance()->writeConfig(); 319 //KABPrefs::instance()->writeConfig();
319 delete AddresseeConfig::instance(); 320 delete AddresseeConfig::instance();
@@ -2134,48 +2135,116 @@ void KABCore::configureResources()
2134 2135
2135 2136
2136/* this method will be called through the QCop interface from Ko/Pi to select addresses 2137/* this method will be called through the QCop interface from Ko/Pi to select addresses
2137 * for the attendees list of an event. 2138 * for the attendees list of an event.
2138 */ 2139 */
2139void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) 2140void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid)
2140{ 2141{
2141 QStringList nameList; 2142 QStringList nameList;
2142 QStringList emailList; 2143 QStringList emailList;
2143 QStringList uidList; 2144 QStringList uidList;
2144 2145
2145 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 2146 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
2146 uint i=0; 2147 uint i=0;
2147 for (i=0; i < list.count(); i++) 2148 for (i=0; i < list.count(); i++)
2148 { 2149 {
2149 nameList.append(list[i].realName()); 2150 nameList.append(list[i].realName());
2150 emailList.append(list[i].preferredEmail()); 2151 emailList.append(list[i].preferredEmail());
2151 uidList.append(list[i].uid()); 2152 uidList.append(list[i].uid());
2152 } 2153 }
2153 2154
2154 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); 2155 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList);
2155 2156
2156} 2157}
2157 2158
2159/* this method will be called through the QCop interface from Ko/Pi to select birthdays
2160 * to put them into the calendar.
2161 */
2162void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid)
2163{
2164 // qDebug("KABCore::requestForBirthdayList");
2165 QStringList birthdayList;
2166 QStringList anniversaryList;
2167 QStringList realNameList;
2168 QStringList preferredEmailList;
2169 QStringList assembledNameList;
2170 QStringList uidList;
2171
2172 KABC::AddressBook::Iterator it;
2173
2174 int count = 0;
2175 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2176 ++count;
2177 }
2178 QProgressBar bar(count,0 );
2179 int w = 300;
2180 if ( QApplication::desktop()->width() < 320 )
2181 w = 220;
2182 int h = bar.sizeHint().height() ;
2183 int dw = QApplication::desktop()->width();
2184 int dh = QApplication::desktop()->height();
2185 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2186 bar.show();
2187 bar.setCaption (i18n("collecting birthdays - close to abort!") );
2188 qApp->processEvents();
2189
2190 QDate bday;
2191 QString anni;
2192 QString formattedbday;
2193
2194 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it )
2195 {
2196 if ( ! bar.isVisible() )
2197 return;
2198 bar.setProgress( count++ );
2199 qApp->processEvents();
2200 bday = (*it).birthday().date();
2201 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" );
2202
2203 if ( bday.isValid() || !anni.isEmpty())
2204 {
2205 if (bday.isValid())
2206 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate);
2207 else
2208 formattedbday = "NOTVALID";
2209 if (anni.isEmpty())
2210 anni = "INVALID";
2211
2212 birthdayList.append(formattedbday);
2213 anniversaryList.append(anni); //should be ISODate
2214 realNameList.append((*it).realName());
2215 preferredEmailList.append((*it).preferredEmail());
2216 assembledNameList.append((*it).assembledName());
2217 uidList.append((*it).uid());
2218
2219 qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() );
2220 }
2221 }
2222
2223 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList);
2224
2225}
2226
2158/* this method will be called through the QCop interface from other apps to show details of a contact. 2227/* this method will be called through the QCop interface from other apps to show details of a contact.
2159 */ 2228 */
2160void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) 2229void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid)
2161{ 2230{
2162 qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); 2231 qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1());
2163 2232
2164 QString foundUid = QString::null; 2233 QString foundUid = QString::null;
2165 if ( ! uid.isEmpty() ) { 2234 if ( ! uid.isEmpty() ) {
2166 Addressee adrr = mAddressBook->findByUid( uid ); 2235 Addressee adrr = mAddressBook->findByUid( uid );
2167 if ( !adrr.isEmpty() ) { 2236 if ( !adrr.isEmpty() ) {
2168 foundUid = uid; 2237 foundUid = uid;
2169 } 2238 }
2170 if ( email == "sendbacklist" ) { 2239 if ( email == "sendbacklist" ) {
2171 //qDebug("ssssssssssssssssssssssend "); 2240 //qDebug("ssssssssssssssssssssssend ");
2172 QStringList nameList; 2241 QStringList nameList;
2173 QStringList emailList; 2242 QStringList emailList;
2174 QStringList uidList; 2243 QStringList uidList;
2175 nameList.append(adrr.realName()); 2244 nameList.append(adrr.realName());
2176 emailList = adrr.emails(); 2245 emailList = adrr.emails();
2177 uidList.append( adrr.preferredEmail()); 2246 uidList.append( adrr.preferredEmail());
2178 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList); 2247 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList);
2179 return; 2248 return;
2180 } 2249 }
2181 2250
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index e6f286b..c9c0d38 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -314,48 +314,49 @@ class KABCore : public QWidget, public KSyncInterface
314 314
315 /** 315 /**
316 Launches the configuration dialog. 316 Launches the configuration dialog.
317 */ 317 */
318 void openConfigDialog(); 318 void openConfigDialog();
319 319
320 /** 320 /**
321 Launches the ldap search dialog. 321 Launches the ldap search dialog.
322 */ 322 */
323 void openLDAPDialog(); 323 void openLDAPDialog();
324 324
325 /** 325 /**
326 Creates a KAddressBookPrinter, which will display the print 326 Creates a KAddressBookPrinter, which will display the print
327 dialog and do the printing. 327 dialog and do the printing.
328 */ 328 */
329 void print(); 329 void print();
330 330
331 /** 331 /**
332 Registers a new GUI client, so plugins can register its actions. 332 Registers a new GUI client, so plugins can register its actions.
333 */ 333 */
334 void addGUIClient( KXMLGUIClient *client ); 334 void addGUIClient( KXMLGUIClient *client );
335 335
336 void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid); 336 void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid);
337 void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); 337 void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid);
338 void requestForBirthdayList(const QString& sourceChannel, const QString& sessionuid);
338 339
339 340
340 signals: 341 signals:
341 void contactSelected( const QString &name ); 342 void contactSelected( const QString &name );
342 void contactSelected( const QPixmap &pixmap ); 343 void contactSelected( const QPixmap &pixmap );
343 public slots: 344 public slots:
344 void setDetailsVisible( bool visible ); 345 void setDetailsVisible( bool visible );
345 void setDetailsToState(); 346 void setDetailsToState();
346 // void slotSyncMenu( int ); 347 // void slotSyncMenu( int );
347 private slots: 348 private slots:
348 void setJumpButtonBarVisible( bool visible ); 349 void setJumpButtonBarVisible( bool visible );
349 void importFromOL(); 350 void importFromOL();
350 void extensionModified( const KABC::Addressee::List &list ); 351 void extensionModified( const KABC::Addressee::List &list );
351 void extensionChanged( int id ); 352 void extensionChanged( int id );
352 void clipboardDataChanged(); 353 void clipboardDataChanged();
353 void updateActionMenu(); 354 void updateActionMenu();
354 void configureKeyBindings(); 355 void configureKeyBindings();
355 void removeVoice(); 356 void removeVoice();
356#ifdef KAB_EMBEDDED 357#ifdef KAB_EMBEDDED
357 void configureResources(); 358 void configureResources();
358#endif //KAB_EMBEDDED 359#endif //KAB_EMBEDDED
359 360
360 void slotEditorDestroyed( const QString &uid ); 361 void slotEditorDestroyed( const QString &uid );
361 void configurationChanged(); 362 void configurationChanged();