summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (show whitespace changes)
-rw-r--r--kabc/addresseeview.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp
index f3cfb23..05d604f 100644
--- a/kabc/addresseeview.cpp
+++ b/kabc/addresseeview.cpp
@@ -391,4 +391,5 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee )
QString picString = "";
KABC::Picture picture = mAddressee.photo();
+ if (picture.undefined() ) picture = mAddressee.logo();
bool picAvailintern = false;
bool picAvailUrl = false;
@@ -401,7 +402,32 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee )
if ( picAvailintern ) {
QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() );
+ int wid = picture.data().width();
+ int hei = picture.data().height();
+ if ( wid > 128 || hei > 128 ) {
+ if ( wid > hei ) {
+ hei = (hei*128)/wid;
+ wid = 128;
+ } else {
+ wid = (wid*128)/hei;
+ hei = 128;
+ }
+ }
+ picString = QString("<img src=\"myimage\" width=\"%1\" height=\"%2\">").arg(wid).arg(hei);
} else {
if ( picAvailUrl ) {
- QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() ));
+ QPixmap picPix( picture.url() );
+ QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", picPix );
+ int wid = picPix.width();
+ int hei = picPix.height();
+ if ( wid > 128 || hei > 128 ) {
+ if ( wid > hei ) {
+ hei = (hei*128)/wid;
+ wid = 128;
+ } else {
+ wid = (wid*128)/hei;
+ hei = 128;
+ }
+ }
+ picString = QString("<img src=\"myimage\" width=\"%1\" height=\"%2\">").arg(wid).arg(hei);
} else {
if ( !mAddressee.custom( "KADDRESSBOOK", "X-Children" ).isEmpty() ) {