-rw-r--r-- | kabc/addresseeview.cpp | 160 | ||||
-rw-r--r-- | kabc/addresseeview.h | 3 |
2 files changed, 148 insertions, 15 deletions
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp index 667a5e2..202a718 100644 --- a/kabc/addresseeview.cpp +++ b/kabc/addresseeview.cpp @@ -56,6 +56,7 @@ //US static int kphoneInstalled = 0; using namespace KABC; +bool AddresseeView::sFullDetailsMode = false; AddresseeView::AddresseeView( QWidget *parent, const char *name ) : QTextBrowser( parent, name ) @@ -100,9 +101,15 @@ void AddresseeView::printMe() } void AddresseeView::setSource(const QString& n) { - //qDebug("********AddresseeView::setSource %s", n.latin1()); - - if ( n.left( 6 ) == "mailto" ) + qDebug("********AddresseeView::setSource %s", n.latin1()); + + if ( n == "allDetails" ) { + sFullDetailsMode = true; + setAddressee( mCurrentContact ); + } else if ( n == "notAllDetails" ) { + sFullDetailsMode = false; + setAddressee( mCurrentContact ); + } else if ( n.left( 6 ) == "mailto" ) ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); else if ( n.left( 7 ) == "phoneto" ) ExternalAppHandler::instance()->callByPhone( n.mid(8) ); @@ -122,7 +129,7 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) // mAddressee = addr; // clear view //setText( QString::null ); - + mCurrentContact = mAddressee; if ( mAddressee.isEmpty() ) { setText( QString::null); return; @@ -187,15 +194,7 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) } } - if ( !mAddressee.url().url().isEmpty() ) { - dynamicPart += QString( - "<tr><td align=\"right\"><b>%1</b></td>" - "<td align=\"left\">%2</td></tr>" ) - .arg( i18n( "Homepage" ) ) -//US .arg( KStringHandler::tagURLs( mAddressee.url().url() ) ); - .arg( mAddressee.url().url() ); - //qDebug("AddresseeView::setAddressee has to be verified."); - } + KABC::Address::List addresses = mAddressee.addresses(); KABC::Address::List::ConstIterator addrIt; @@ -224,9 +223,133 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) } } + QString notes; - if ( !mAddressee.note().isEmpty() ) { + if ( sFullDetailsMode ) { notes = QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\"><a href=\"notAllDetails\">%4</a></td></tr>" ) + .arg( i18n("Details:") ) + .arg( i18n("Click here to hide!") ); + + QString tempX = mAddressee.secrecy().asString(); + + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( "" ) + .arg( tempX ); + + + tempX = mAddressee.categories().join(" - "); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Category" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Profession" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Office" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Department" ) ) + .arg( tempX ); + } + + tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Manager" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Assistant" ) ) + .arg( tempX ); + } + if ( !mAddressee.url().url().isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Homepage" ) ) + .arg( mAddressee.url().url() ); + } + tempX = mAddressee.nickName(); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Nickname" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Messanger" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Gender" ) ) + .arg( i18n(tempX) ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" ); + if ( !tempX.isEmpty() ) { + QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d"); + tempX = KGlobal::locale()->formatDate(dt, true); + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Anniversary" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Spouse" ) ) + .arg( tempX ); + } + tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" ); + if ( !tempX.isEmpty() ) { + notes += QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\">%2</td></tr>" ) + .arg( i18n( "Children" ) ) + .arg( tempX ); + } + + if ( !mAddressee.note().isEmpty() ) { + notes += QString( "<tr>" "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label "<td align=\"left\">%2</td>" // note @@ -235,6 +358,15 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) ); //qDebug("AddresseeView::setAddressee has to be verified."); } + } else { + notes = QString( + "<tr><td align=\"right\"><b>%1</b></td>" + "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" ) + .arg( i18n("Details:") ) + .arg( i18n("Click here to show!") ); + + + } QString aRole = ""; QString aOrga = ""; diff --git a/kabc/addresseeview.h b/kabc/addresseeview.h index e977d8f..a4de085 100644 --- a/kabc/addresseeview.h +++ b/kabc/addresseeview.h @@ -49,8 +49,9 @@ class AddresseeView : public QTextBrowser */ //KABC::Addressee addressee() const; void printMe(); - + static bool sFullDetailsMode; private: + Addressee mCurrentContact; //KABC::Addressee mAddressee; QString mText; QString getPhoneNumbers( KABC::PhoneNumber::List phones, bool preferred ); |