author | ulf69 <ulf69> | 2004-10-07 01:10:30 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-10-07 01:10:30 (UTC) |
commit | f434ef382b60c1a420dd0e037d119d082e478491 (patch) (unidiff) | |
tree | c68247486b6f714d0d8e01d8b503a4d36c9325e3 | |
parent | 3338b7239dc2e5cdff95ebc76b6905e6385a5833 (diff) | |
download | kdepimpi-f434ef382b60c1a420dd0e037d119d082e478491.zip kdepimpi-f434ef382b60c1a420dd0e037d119d082e478491.tar.gz kdepimpi-f434ef382b60c1a420dd0e037d119d082e478491.tar.bz2 |
added methods to collect birthday data via QCop (from kopi)
-rw-r--r-- | kaddressbook/kabcore.cpp | 69 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 1 |
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 | |||
@@ -284,24 +284,25 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const | |||
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 | ||
@@ -2146,24 +2147,92 @@ void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QSt | |||
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 | */ | ||
2162 | void 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 | */ |
2160 | void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) | 2229 | void 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 | } |
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index e6f286b..c9c0d38 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h | |||
@@ -326,24 +326,25 @@ class KABCore : public QWidget, public KSyncInterface | |||
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(); |