summaryrefslogtreecommitdiff
path: root/core/pim/addressbook
authoreilers <eilers>2003-02-23 15:29:19 (UTC)
committer eilers <eilers>2003-02-23 15:29:19 (UTC)
commit3756fa1506f6cbf782a9ea38036fd7ea965a83d8 (patch) (side-by-side diff)
tree41ca42c2606ada15ecaebfde033de2eefab42c00 /core/pim/addressbook
parent20224076b50a7426e9c6c88ed245f54283108eff (diff)
downloadopie-3756fa1506f6cbf782a9ea38036fd7ea965a83d8.zip
opie-3756fa1506f6cbf782a9ea38036fd7ea965a83d8.tar.gz
opie-3756fa1506f6cbf782a9ea38036fd7ea965a83d8.tar.bz2
Added icons. Especially the main-contact table has an icon
to show whether it is a work-, home- number or if it is a mobile... The pictures may need improvements due to my incompetence in creating pictures.. Do we have anyone who may paint such stuff ?
Diffstat (limited to 'core/pim/addressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/TODO5
-rw-r--r--core/pim/addressbook/abtable.cpp137
-rw-r--r--core/pim/addressbook/abtable.h12
-rw-r--r--core/pim/addressbook/addressbook.cpp5
-rw-r--r--core/pim/addressbook/configdlg.cpp11
-rw-r--r--core/pim/addressbook/contacteditor.cpp3
-rw-r--r--core/pim/addressbook/ocontactfields.cpp14
7 files changed, 122 insertions, 65 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index f62b075..906b462 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -18,7 +18,8 @@ Feature requests:
Known Bugs:
-----------
-- Email-button: A lot of problems.. :(
+- Default Email-button: A lot of problems:
+ If on second tab: The combo chooser is on the top left of the screen ! :(
- Default Email-Button: Sometimes not hiding the textfields completely
Bugs but not in addressbook:
@@ -36,7 +37,6 @@ ContactEditor:
- Category is on the wrong position after changing to personal and back to normal
( Temporarily workaround: Category is never deactivated.. :S )
-- Personal and Business Web-page is not editable
Important:
----------
@@ -115,3 +115,4 @@ Fixed/Ready:
- Implement a picker/combo for the default email.
- Overview window cleanup needed..
- Store last settings of combo-boxes
+- Personal and Business Web-page is not editable
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index aec390d..55b1ba1 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -25,6 +25,7 @@
#include <qpe/stringutil.h>
#include <qpe/qcopenvelope_qws.h>
#include <qpe/timestring.h>
+#include <qpe/resource.h>
#include <opie/orecordlist.h>
@@ -214,17 +215,19 @@ bool AbTable::selectContact( int UID )
void AbTable::insertIntoTable( const OContact& cnt, int row )
{
// qWarning( "void AbTable::insertIntoTable( const OContact& cnt, %d )", row );
- QString strName,
- strContact;
+ QString strName;
+ ContactItem contactItem;
strName = findContactName( cnt );
- strContact = findContactContact( cnt, row );
+ contactItem = findContactContact( cnt, row );
AbTableItem *ati;
- ati = new AbTableItem( this, QTableItem::Never, strName, strContact);
+ ati = new AbTableItem( this, QTableItem::Never, strName, contactItem.value );
contactList.insert( ati, cnt );
setItem( row, 0, ati );
- ati = new AbTableItem( this, QTableItem::Never, strContact, strName);
+ ati = new AbTableItem( this, QTableItem::Never, contactItem.value, strName);
+ if ( !contactItem.icon.isNull() )
+ ati->setPixmap( contactItem.icon );
setItem( row, 1, ati );
//### cannot do this; table only has two columns at this point
@@ -306,14 +309,18 @@ void AbTable::refresh()
{
// qWarning( "void AbTable::refresh()" );
int rows = numRows();
- QString value;
AbTableItem *abi;
+ ContactItem contactItem;
setPaintingEnabled( FALSE );
for ( int r = 0; r < rows; ++r ) {
abi = static_cast<AbTableItem*>( item(r, 0) );
- value = findContactContact( contactList[abi], r );
- static_cast<AbTableItem*>( item(r, 1) )->setItem( value, abi->text() );
+ contactItem = findContactContact( contactList[abi], r );
+ static_cast<AbTableItem*>( item(r, 1) )->setItem( contactItem.value, abi->text() );
+ if ( !contactItem.icon.isNull() )
+ static_cast<AbTableItem*>( item(r, 1) )->
+ setPixmap( contactItem.icon );
+
}
resort();
setPaintingEnabled( TRUE );
@@ -618,130 +625,156 @@ void AbTable::rowHeightChanged( int row )
if ( enablePainting )
QTable::rowHeightChanged( row );
}
-QString AbTable::findContactContact( const OContact &entry, int /* row */ )
+ContactItem AbTable::findContactContact( const OContact &entry, int /* row */ )
{
- QString value;
- value = "";
+
+ ContactItem item;
+
+ item.value = "";
+
for ( QValueList<int>::ConstIterator it = intFields.begin();
it != intFields.end(); ++it ) {
switch ( *it ) {
default:
break;
case Qtopia::Title:
- value = entry.title();
+ item.value = entry.title();
break;
case Qtopia::Suffix:
- value = entry.suffix();
+ item.value = entry.suffix();
break;
case Qtopia::FileAs:
- value = entry.fileAs();
+ item.value = entry.fileAs();
break;
case Qtopia::DefaultEmail:
- value = entry.defaultEmail();
+ item.value = entry.defaultEmail();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/email" );
+ break;
case Qtopia::Emails:
- value = entry.emails();
+ item.value = entry.emails();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/email" );
break;
case Qtopia::HomeStreet:
- value = entry.homeStreet();
+ item.value = entry.homeStreet();
break;
case Qtopia::HomeCity:
- value = entry.homeCity();
+ item.value = entry.homeCity();
break;
case Qtopia::HomeState:
- value = entry.homeState();
+ item.value = entry.homeState();
break;
case Qtopia::HomeZip:
- value = entry.homeZip();
+ item.value = entry.homeZip();
break;
case Qtopia::HomeCountry:
- value = entry.homeCountry();
+ item.value = entry.homeCountry();
break;
case Qtopia::HomePhone:
- value = entry.homePhone();
+ item.value = entry.homePhone();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/phonehome" );
break;
case Qtopia::HomeFax:
- value = entry.homeFax();
+ item.value = entry.homeFax();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/faxhome" );
break;
case Qtopia::HomeMobile:
- value = entry.homeMobile();
+ item.value = entry.homeMobile();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/mobilehome" );
break;
case Qtopia::HomeWebPage:
- value = entry.homeWebpage();
+ item.value = entry.homeWebpage();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/webpagehome" );
break;
case Qtopia::Company:
- value = entry.company();
+ item.value = entry.company();
break;
case Qtopia::BusinessCity:
- value = entry.businessCity();
+ item.value = entry.businessCity();
break;
case Qtopia::BusinessStreet:
- value = entry.businessStreet();
+ item.value = entry.businessStreet();
break;
case Qtopia::BusinessZip:
- value = entry.businessZip();
+ item.value = entry.businessZip();
break;
case Qtopia::BusinessCountry:
- value = entry.businessCountry();
+ item.value = entry.businessCountry();
break;
case Qtopia::BusinessWebPage:
- value = entry.businessWebpage();
+ item.value = entry.businessWebpage();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/webpagework" );
break;
case Qtopia::JobTitle:
- value = entry.jobTitle();
+ item.value = entry.jobTitle();
break;
case Qtopia::Department:
- value = entry.department();
+ item.value = entry.department();
break;
case Qtopia::Office:
- value = entry.office();
+ item.value = entry.office();
break;
case Qtopia::BusinessPhone:
- value = entry.businessPhone();
+ item.value = entry.businessPhone();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/phonework" );
break;
case Qtopia::BusinessFax:
- value = entry.businessFax();
+ item.value = entry.businessFax();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/faxwork" );
break;
case Qtopia::BusinessMobile:
- value = entry.businessMobile();
+ item.value = entry.businessMobile();
+ if ( !item.value.isEmpty() )
+ item.icon = Resource::loadPixmap( "addressbook/mobilework" );
break;
case Qtopia::BusinessPager:
- value = entry.businessPager();
+ item.value = entry.businessPager();
break;
case Qtopia::Profession:
- value = entry.profession();
+ item.value = entry.profession();
break;
case Qtopia::Assistant:
- value = entry.assistant();
+ item.value = entry.assistant();
break;
case Qtopia::Manager:
- value = entry.manager();
+ item.value = entry.manager();
break;
case Qtopia::Spouse:
- value = entry.spouse();
+ item.value = entry.spouse();
break;
case Qtopia::Gender:
- value = entry.gender();
+ item.value = entry.gender();
break;
case Qtopia::Birthday:
- if ( ! entry.birthday().isNull() )
- value = TimeString::numberDateString( entry.birthday() );
+ if ( ! entry.birthday().isNull() ){
+ item.value = TimeString::numberDateString( entry.birthday() );
+ }
break;
case Qtopia::Anniversary:
- if ( ! entry.anniversary().isNull() )
- value = TimeString::numberDateString( entry.anniversary() );
+ if ( ! entry.anniversary().isNull() ){
+ item.value = TimeString::numberDateString( entry.anniversary() );
+ }
break;
case Qtopia::Nickname:
- value = entry.nickname();
+ item.value = entry.nickname();
break;
case Qtopia::Children:
- value = entry.children();
+ item.value = entry.children();
break;
case Qtopia::Notes:
- value = entry.notes();
+ item.value = entry.notes();
break;
}
- if ( !value.isEmpty() )
+ if ( !item.value.isEmpty() )
break;
}
- return value;
+ return item;
}
diff --git a/core/pim/addressbook/abtable.h b/core/pim/addressbook/abtable.h
index 9825665..092e86f 100644
--- a/core/pim/addressbook/abtable.h
+++ b/core/pim/addressbook/abtable.h
@@ -30,6 +30,7 @@
#include <qtable.h>
#include <qstringlist.h>
#include <qcombobox.h>
+#include <qpixmap.h>
class AbTableItem : public QTableItem
{
@@ -46,6 +47,15 @@ private:
QString sortKey;
};
+// This is a simple container, storing all contact
+// information
+class ContactItem
+{
+ public:
+ QPixmap icon;
+ QString value;
+};
+
class AbPickItem : public QTableItem
{
public:
@@ -115,7 +125,7 @@ protected slots:
private:
void insertIntoTable( const OContact &cnt, int row );
- QString findContactContact( const OContact &entry, int row );
+ ContactItem findContactContact( const OContact &entry, int row );
void fitColumns();
void resizeRows();
void realignTable();
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index ad8315d..881b839 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -201,7 +201,8 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
edit->insertSeparator();
- a = new QAction( tr("My Personal Details"), QString::null, 0, 0, 0, TRUE );
+ a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ),
+ QString::null, 0, this, 0 );
actionPersonal = a;
connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) );
a->addTo( edit );
@@ -214,7 +215,7 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) );
a->addTo( edit );
#endif
- a = new QAction( tr( "Config" ), Resource::loadPixmap( "today/config" ), QString::null,
+ a = new QAction( tr( "Config" ), Resource::loadPixmap( "addressbook/configure" ), QString::null,
0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) );
a->addTo( edit );
diff --git a/core/pim/addressbook/configdlg.cpp b/core/pim/addressbook/configdlg.cpp
index afba688..f5c0c5b 100644
--- a/core/pim/addressbook/configdlg.cpp
+++ b/core/pim/addressbook/configdlg.cpp
@@ -1,9 +1,13 @@
#include "configdlg.h"
#include "ocontactfields.h"
+
#include <qcheckbox.h>
#include <qradiobutton.h>
#include <qlistbox.h>
#include <qpushbutton.h>
+#include <qiconset.h>
+
+#include <qpe/resource.h>
#include <opie/ocontact.h>
@@ -17,6 +21,13 @@ ConfigDlg::ConfigDlg( QWidget *parent, const char *name):
allFieldListBox->insertItem( contFields[i] );
}
+ // Set Pics to Buttons and Tabs
+ m_upButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/up" ) ) );
+ m_downButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/down" ) ) );
+ m_addButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/add" ) ) );
+ m_removeButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/sub" ) ) );
+
+
// Get the translation maps between Field ID and translated strings
m_mapStrToID = OContactFields::trFieldsToId();
m_mapIDToStr = OContactFields::idToTrFields();
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index 9efb8c0..97573af 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -548,10 +548,9 @@ void ContactEditor::init() {
// Create Labels and lineedit fields for every dynamic entry
QStringList::ConstIterator it = slDynamicEntries.begin();
- QStringList::ConstIterator trit = trlDynamicEntries.begin();
QMap<QString, int> mapStrToID = OContactFields::untrFieldsToId();
QMap<int, QString> mapIdToStr = OContactFields::idToTrFields();
- for (i = counter; it != slDynamicEntries.end(); i++, ++it, ++trit) {
+ for (i = counter; it != slDynamicEntries.end(); i++, ++it ) {
if (((*it) == "Anniversary") ||
((*it) == "Birthday")|| ((*it) == "Gender")) continue;
diff --git a/core/pim/addressbook/ocontactfields.cpp b/core/pim/addressbook/ocontactfields.cpp
index 18b68c4..ffb88e8 100644
--- a/core/pim/addressbook/ocontactfields.cpp
+++ b/core/pim/addressbook/ocontactfields.cpp
@@ -72,6 +72,8 @@ QStringList OContactFields::trphonefields( bool sorted )
list.append( mapIdToStr[Qtopia::BusinessPhone] );
list.append( mapIdToStr[Qtopia::BusinessFax] );
list.append( mapIdToStr[Qtopia::BusinessMobile] );
+ list.append( mapIdToStr[Qtopia::BusinessPager] );
+ list.append( mapIdToStr[Qtopia::BusinessWebPage] );
list.append( mapIdToStr[Qtopia::DefaultEmail] );
list.append( mapIdToStr[Qtopia::Emails] );
@@ -79,6 +81,8 @@ QStringList OContactFields::trphonefields( bool sorted )
list.append( mapIdToStr[Qtopia::HomePhone] );
list.append( mapIdToStr[Qtopia::HomeFax] );
list.append( mapIdToStr[Qtopia::HomeMobile] );
+ // list.append( mapIdToStr[Qtopia::HomePager] );
+ list.append( mapIdToStr[Qtopia::HomeWebPage] );
if (sorted) list.sort();
@@ -98,6 +102,8 @@ QStringList OContactFields::untrphonefields( bool sorted )
list.append( mapIdToStr[ Qtopia::BusinessPhone ] );
list.append( mapIdToStr[ Qtopia::BusinessFax ] );
list.append( mapIdToStr[ Qtopia::BusinessMobile ] );
+ list.append( mapIdToStr[ Qtopia::BusinessPager ] );
+ list.append( mapIdToStr[ Qtopia::BusinessWebPage ] );
list.append( mapIdToStr[ Qtopia::DefaultEmail ] );
list.append( mapIdToStr[ Qtopia::Emails ] );
@@ -105,6 +111,8 @@ QStringList OContactFields::untrphonefields( bool sorted )
list.append( mapIdToStr[ Qtopia::HomePhone ] );
list.append( mapIdToStr[ Qtopia::HomeFax ] );
list.append( mapIdToStr[ Qtopia::HomeMobile ] );
+ //list.append( mapIdToStr[Qtopia::HomePager] );
+ list.append( mapIdToStr[Qtopia::HomeWebPage] );
if (sorted) list.sort();
@@ -139,15 +147,12 @@ QStringList OContactFields::trfields( bool sorted )
list.append( mapIdToStr[Qtopia::BusinessState] );
list.append( mapIdToStr[Qtopia::BusinessZip] );
list.append( mapIdToStr[Qtopia::BusinessCountry] );
- list.append( mapIdToStr[Qtopia::BusinessPager] );
- list.append( mapIdToStr[Qtopia::BusinessWebPage] );
list.append( mapIdToStr[Qtopia::HomeStreet] );
list.append( mapIdToStr[Qtopia::HomeCity] );
list.append( mapIdToStr[Qtopia::HomeState] );
list.append( mapIdToStr[Qtopia::HomeZip] );
list.append( mapIdToStr[Qtopia::HomeCountry] );
- list.append( mapIdToStr[Qtopia::HomeWebPage] );
list += trdetailsfields( sorted );
@@ -186,15 +191,12 @@ QStringList OContactFields::untrfields( bool sorted )
list.append( mapIdToStr[ Qtopia::BusinessState ] );
list.append( mapIdToStr[ Qtopia::BusinessZip ] );
list.append( mapIdToStr[ Qtopia::BusinessCountry ] );
- list.append( mapIdToStr[ Qtopia::BusinessPager ] );
- list.append( mapIdToStr[ Qtopia::BusinessWebPage ] );
list.append( mapIdToStr[ Qtopia::HomeStreet ] );
list.append( mapIdToStr[ Qtopia::HomeCity ] );
list.append( mapIdToStr[ Qtopia::HomeState ] );
list.append( mapIdToStr[ Qtopia::HomeZip ] );
list.append( mapIdToStr[ Qtopia::HomeCountry ] );
- list.append( mapIdToStr[ Qtopia::HomeWebPage] );
list += untrdetailsfields( sorted );