[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/kontact/plugins/planner
From:       Oral Timocin <oral.timocin () kdemail ! net>
Date:       2008-10-01 13:17:00
Message-ID: 1222867020.688823.1135.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 866616 by timocin:

Layout for Birthdays from KABC is complete

 M  +78 -11    planner.cpp  


--- trunk/KDE/kdepim/kontact/plugins/planner/planner.cpp #866615:866616
@@ -634,12 +634,14 @@
 
   Q_FOREACH( KABC::Addressee addressee, mAddressBook->allAddressees() ){
     QDate birthday = addressee.birthday().date();
-    if ( birthday.isValid() && mBirthdayConList && birthday == date ) {
+    if ( birthday.isValid() && mBirthdayConList &&
+          birthday.day() == date.day() && birthday.month() == date.month() ) {
       SDEntry entry;
       entry.type = IncidenceTypeContact;
       entry.category = CategoryBirthday;
       entry.date = birthday;
       entry.addressee = addressee;
+      entry.yearsOld = QDate::currentDate().year() - birthday.year();
       mDates.append( entry );
     }
   }
@@ -669,32 +671,97 @@
   KIconLoader loader( "kdepim" );
 //   initSdList( date );
 
+  QPixmap birthdayIcon = loader.loadIcon( "user-identity", KIconLoader::Small );
+  QPixmap anniversaryIcon = loader.loadIcon( "favorites", KIconLoader::Small );
+  QPixmap holidayIcon = loader.loadIcon( "favorites", KIconLoader::Small );
+  QPixmap specialOccasionsIcon = loader.loadIcon( "user-identity", KIconLoader::Small );
   ++counter;
   Q_FOREACH( SDEntry entry, mDates ){
 
     mPlannerGrid->setColumnMinimumWidth( 0, 40 );
 
     //Show Sd icon
-    QPixmap re = loader.loadIcon( "user-identity", KIconLoader::Small );
     QLabel *label = new QLabel( this );
-    label->setPixmap( re );
+    switch( entry.category ){
+      case CategoryBirthday:
+        label->setPixmap( birthdayIcon );
+        break;
+      case CategoryAnniversary:
+        label->setPixmap( anniversaryIcon );
+        break;
+      case CategoryHoliday:
+        label->setPixmap( holidayIcon );
+        break;
+      case CategoryOther:
+        label->setPixmap( specialOccasionsIcon );
+      break;
+    }
     label->setMaximumWidth( label->minimumSizeHint().width() );
     label->setAlignment( Qt::AlignTop );
     mPlannerGrid->addWidget( label, counter, 1 );
     mLabels.append( label );
 
     mPlannerGrid->setColumnMinimumWidth( 2, 15 );
-    mPlannerGrid->setColumnMinimumWidth( 3, 15 );
+
+    QString catName;
+    switch( entry.category ){
+      case CategoryBirthday:
+        catName = i18n( "Birthday" );
+        break;
+      case CategoryAnniversary:
+        catName = i18n( "Anniversary" );
+        break;
+      case CategoryHoliday:
+        catName = i18n( "Holiday" );
+        break;
+      case CategoryOther:
+        catName = i18n( "Special Occasion" );
+        break;
+    }
+    label = new QLabel( this );
+    label->setText( catName );
+    label->setAlignment( Qt::AlignLeft | Qt::AlignVCenter );
+    mPlannerGrid->addWidget( label, counter, 3 );
+    mLabels.append( label );
+
     mPlannerGrid->setColumnMinimumWidth( 4, 15 );
 
-    KUrlLabel *urlLabel = new KUrlLabel( this );
-    urlLabel->installEventFilter( this );
-    urlLabel->setUrl( entry.addressee.uid() );
-    urlLabel->setText( entry.addressee.realName() );
-    urlLabel->setTextFormat( Qt::RichText );
-    mPlannerGrid->addWidget( urlLabel, counter, 5 );
-    mLabels.append( urlLabel );
+    if( entry.type == IncidenceTypeContact){
+      KUrlLabel *urlLabel = new KUrlLabel( this );
+      urlLabel->installEventFilter( this );
+      urlLabel->setUrl( entry.addressee.uid() );
+      urlLabel->setText( entry.addressee.realName() );
+      urlLabel->setTextFormat( Qt::RichText );
+      if( !mUnderline ){
+          urlLabel->setUnderline( false );
+        }
+      mPlannerGrid->addWidget( urlLabel, counter, 5 );
+      mLabels.append( urlLabel );
+    } else {
+      label = new QLabel( this );
+      label->setText( entry.summary );
+      label->setTextFormat( Qt::RichText );
+      mPlannerGrid->addWidget( label, counter, 5 );
+      mLabels.append( label );
+      if ( !entry.desc.isEmpty() ) {
+        label->setToolTip( entry.desc );
+      }
+    }
 
+    mPlannerGrid->setColumnMinimumWidth( 6, 15 );
+
+    if( entry.category == CategoryBirthday || entry.category == CategoryAnniversary ){
+      label = new QLabel( this );
+      if( entry.yearsOld <= 0 ){
+        label->setText( "" );
+      } else {
+        label->setText( i18np( "one year", "%1 years", entry.yearsOld) );
+      }
+      label->setAlignment( Qt::AlignLeft | Qt::AlignVCenter );
+      mPlannerGrid->addWidget( label, counter, 7 );
+      mLabels.append( label );
+    }
+
     ++counter;
   }
   return counter;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic