summaryrefslogtreecommitdiff
path: root/core/pim/addressbook/abtable.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/addressbook/abtable.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/abtable.cpp31
1 files changed, 20 insertions, 11 deletions
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index 539d6ba..52aff36 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -608,12 +608,16 @@ void AbTable::rowHeightChanged( int row )
ContactItem AbTable::findContactContact( const Opie::OPimContact &entry, int /* row */ )
{
- ContactItem item;
+ int iconsize = fontMetrics().height();
+ QImage icon;
+ ContactItem item;
item.value = "";
for ( QValueList<int>::ConstIterator it = intFields.begin();
it != intFields.end(); ++it ) {
+ icon.reset();
+
switch ( *it ) {
default:
break;
@@ -629,12 +633,12 @@ ContactItem AbTable::findContactContact( const Opie::OPimContact &entry, int /*
case Qtopia::DefaultEmail:
item.value = entry.defaultEmail();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/email" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/email" );
break;
case Qtopia::Emails:
item.value = entry.emails();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/email" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/email" );
break;
case Qtopia::HomeStreet:
item.value = entry.homeStreet();
@@ -654,22 +658,22 @@ ContactItem AbTable::findContactContact( const Opie::OPimContact &entry, int /*
case Qtopia::HomePhone:
item.value = entry.homePhone();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/phonehome" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/phonehome" );
break;
case Qtopia::HomeFax:
item.value = entry.homeFax();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/faxhome" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/faxhome" );
break;
case Qtopia::HomeMobile:
item.value = entry.homeMobile();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/mobilehome" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/mobilehome" );
break;
case Qtopia::HomeWebPage:
item.value = entry.homeWebpage();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/webpagehome" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/webpagehome" );
break;
case Qtopia::Company:
item.value = entry.company();
@@ -689,7 +693,7 @@ ContactItem AbTable::findContactContact( const Opie::OPimContact &entry, int /*
case Qtopia::BusinessWebPage:
item.value = entry.businessWebpage();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/webpagework" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/webpagework" );
break;
case Qtopia::JobTitle:
item.value = entry.jobTitle();
@@ -703,17 +707,17 @@ ContactItem AbTable::findContactContact( const Opie::OPimContact &entry, int /*
case Qtopia::BusinessPhone:
item.value = entry.businessPhone();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/phonework" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/phonework" );
break;
case Qtopia::BusinessFax:
item.value = entry.businessFax();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/faxwork" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/faxwork" );
break;
case Qtopia::BusinessMobile:
item.value = entry.businessMobile();
if ( !item.value.isEmpty() )
- item.icon = Opie::Core::OResource::loadPixmap( "addressbook/mobilework" );
+ icon = Opie::Core::OResource::loadPixmap( "addressbook/mobilework" );
break;
case Qtopia::BusinessPager:
item.value = entry.businessPager();
@@ -753,6 +757,11 @@ ContactItem AbTable::findContactContact( const Opie::OPimContact &entry, int /*
item.value = entry.notes();
break;
}
+
+ if ( !icon.isNull() ) {
+ item.icon = icon.smoothScale( iconsize, iconsize );
+ }
+
if ( !item.value.isEmpty() )
break;
}