-rw-r--r-- | kabc/addresseeview.cpp | 28 |
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 @@ -392,2 +392,3 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) KABC::Picture picture = mAddressee.photo(); + if (picture.undefined() ) picture = mAddressee.logo(); bool picAvailintern = false; @@ -402,5 +403,30 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) 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 { |