-rw-r--r-- | core/pim/addressbook/abtable.cpp | 31 | ||||
-rw-r--r-- | core/pim/addressbook/configdlg.cpp | 9 |
2 files changed, 24 insertions, 16 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 @@ -547,214 +547,223 @@ void AbTable::viewportPaintEvent( QPaintEvent* e ) { void AbTable::paintCell(QPainter* p, int row, int col, const QRect& cr, bool ) { const QColorGroup &cg = colorGroup(); p->save(); // odebug << "Paint row: " << row << oendl; Opie::OPimContact act_contact = m_viewList[row]; // Paint alternating background bars if ( (row % 2 ) == 0 ) { p->fillRect( 0, 0, cr.width(), cr.height(), cg.brush( QColorGroup::Base ) ); p->setPen( QPen( cg.text() ) ); } else { p->fillRect( 0, 0, cr.width(), cr.height(), cg.brush( QColorGroup::Background ) ); p->setPen( QPen( cg.buttonText() ) ); } QFont f = p->font(); QFontMetrics fm(f); int marg = 2; int x = 0; int y = ( cr.height() - 14 ) / 2; QString nameText = act_contact.fileAs(); switch( col ){ case 0: p->drawText( x + marg,2 + fm.ascent(), nameText ); break; case 1:{ ContactItem contactItem = findContactContact( act_contact, 0 ); QPixmap contactPic = contactItem.icon; /* pixmap( row, col ); */ QString contactText = contactItem.value; if ( !contactPic.isNull() ) { p->drawPixmap( x + marg, y, contactPic ); p->drawText( x + marg + contactPic.width() + 4,2 + fm.ascent(), contactText ); } else { p->drawText( x + marg,2 + fm.ascent(), contactText ); } } break; } p->restore(); } void AbTable::rowHeightChanged( int row ) { if ( enablePainting ) QTable::rowHeightChanged( 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; case Qtopia::Title: item.value = entry.title(); break; case Qtopia::Suffix: item.value = entry.suffix(); break; case Qtopia::FileAs: item.value = entry.fileAs(); break; 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(); break; case Qtopia::HomeCity: item.value = entry.homeCity(); break; case Qtopia::HomeState: item.value = entry.homeState(); break; case Qtopia::HomeZip: item.value = entry.homeZip(); break; case Qtopia::HomeCountry: item.value = entry.homeCountry(); break; 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(); break; case Qtopia::BusinessCity: item.value = entry.businessCity(); break; case Qtopia::BusinessStreet: item.value = entry.businessStreet(); break; case Qtopia::BusinessZip: item.value = entry.businessZip(); break; case Qtopia::BusinessCountry: item.value = entry.businessCountry(); break; 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(); break; case Qtopia::Department: item.value = entry.department(); break; case Qtopia::Office: item.value = entry.office(); break; 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(); break; case Qtopia::Profession: item.value = entry.profession(); break; case Qtopia::Assistant: item.value = entry.assistant(); break; case Qtopia::Manager: item.value = entry.manager(); break; case Qtopia::Spouse: item.value = entry.spouse(); break; case Qtopia::Gender: item.value = entry.gender(); break; case Qtopia::Birthday: if ( ! entry.birthday().isNull() ){ item.value = TimeString::numberDateString( entry.birthday() ); } break; case Qtopia::Anniversary: if ( ! entry.anniversary().isNull() ){ item.value = TimeString::numberDateString( entry.anniversary() ); } break; case Qtopia::Nickname: item.value = entry.nickname(); break; case Qtopia::Children: item.value = entry.children(); break; case Qtopia::Notes: item.value = entry.notes(); break; } + + if ( !icon.isNull() ) { + item.icon = icon.smoothScale( iconsize, iconsize ); + } + if ( !item.value.isEmpty() ) break; } return item; } diff --git a/core/pim/addressbook/configdlg.cpp b/core/pim/addressbook/configdlg.cpp index a491fc7..648ad52 100644 --- a/core/pim/addressbook/configdlg.cpp +++ b/core/pim/addressbook/configdlg.cpp @@ -1,95 +1,94 @@ #include "configdlg.h" #include <opie2/odebug.h> #include <opie2/opimcontact.h> #include <opie2/opimcontactfields.h> #include <opie2/oresource.h> #include <qcheckbox.h> #include <qradiobutton.h> #include <qlistbox.h> #include <qpushbutton.h> ConfigDlg::ConfigDlg( QWidget *parent, const char *name): ConfigDlg_Base(parent, name, true ) { contFields = Opie::OPimContactFields::trfields(); // We add all Fields into the Listbox for (uint i=0; i < contFields.count(); i++) { allFieldListBox->insertItem( contFields[i] ); } // Reset Widget Flags: This was not changeable by designer :( setWFlags ( WStyle_ContextHelp ); // Set Pics to Buttons and Tabs - m_upButton->setIconSet( QIconSet( Opie::Core::OResource::loadPixmap( "addressbook/up" ) ) ); - m_downButton->setIconSet( QIconSet( Opie::Core::OResource::loadPixmap( "addressbook/down" ) ) ); - m_addButton->setIconSet( QIconSet( Opie::Core::OResource::loadPixmap( "addressbook/add" ) ) ); - m_removeButton->setIconSet( QIconSet( Opie::Core::OResource::loadPixmap( "addressbook/sub" ) ) ); - + m_upButton->setPixmap( Opie::Core::OResource::loadPixmap( "up", Opie::Core::OResource::SmallIcon ) ); + m_downButton->setPixmap( Opie::Core::OResource::loadPixmap( "down", Opie::Core::OResource::SmallIcon ) ); + m_addButton->setPixmap( Opie::Core::OResource::loadPixmap( "addressbook/add", Opie::Core::OResource::SmallIcon ) ); + m_removeButton->setPixmap( Opie::Core::OResource::loadPixmap( "addressbook/sub", Opie::Core::OResource::SmallIcon ) ); // Get the translation maps between Field ID and translated strings m_mapStrToID = Opie::OPimContactFields::trFieldsToId(); m_mapIDToStr = Opie::OPimContactFields::idToTrFields(); connect ( m_addButton, SIGNAL( clicked() ), this, SLOT( slotItemAdd() ) ); connect ( m_removeButton, SIGNAL( clicked() ), this, SLOT( slotItemRemove() ) ); connect ( m_upButton, SIGNAL( clicked() ), this, SLOT( slotItemUp() ) ); connect ( m_downButton, SIGNAL( clicked() ), this, SLOT( slotItemDown() ) ); } void ConfigDlg::slotItemUp() { odebug << "void ConfigDlg::slotItemUp()" << oendl; int i = fieldListBox->currentItem(); if ( i > 0 ) { QString item = fieldListBox->currentText(); fieldListBox->removeItem( i ); fieldListBox->insertItem( item, i-1 ); fieldListBox->setCurrentItem( i-1 ); } } void ConfigDlg::slotItemDown() { odebug << "void ConfigDlg::slotItemDown()" << oendl; int i = fieldListBox->currentItem(); if ( i < (int)fieldListBox->count() - 1 ) { QString item = fieldListBox->currentText(); fieldListBox->removeItem( i ); fieldListBox->insertItem( item, i+1 ); fieldListBox->setCurrentItem( i+1 ); } } void ConfigDlg::slotItemAdd() { odebug << "void ConfigDlg::slotItemAdd()" << oendl; int i = allFieldListBox->currentItem(); if ( i > 0 ) { QString item = allFieldListBox->currentText(); odebug << "Adding " << item << oendl; fieldListBox->insertItem( item ); } } void ConfigDlg::slotItemRemove() { odebug << "void ConfigDlg::slotItemRemove()" << oendl; int i = fieldListBox->currentItem(); if ( i > 0 ) { fieldListBox->removeItem( i ); } } void ConfigDlg::setConfig( const AbConfig& cnf ) { m_config = cnf; |