00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef OCONTACTFIELDS_H
00031 #define OCONTACTFIELDS_H
00032
00033 class QStringList;
00034
00035
00036 #include <opie2/opimcontact.h>
00037
00038
00039 #include <qmap.h>
00040 #include <qstring.h>
00041
00042 #define CONTACT_FIELD_ORDER_NAME "opie-contactfield-order"
00043 #define DEFAULT_FIELD_ORDER "__________"
00044
00045 namespace Opie
00046 {
00047 class OPimContactFields
00048 {
00049
00050 public:
00051 OPimContactFields();
00052 ~OPimContactFields();
00058 void setFieldOrder( int num, int index );
00059
00068 int getFieldOrder( int num, int defIndex );
00069
00071 void saveToRecord( OPimContact& );
00073 void loadFromRecord( const OPimContact& );
00074
00075 private:
00076 QString fieldOrder;
00077 QString globalFieldOrder;
00078 bool changedFieldOrder;
00079
00080 public:
00081 static QStringList personalfields( bool sorted = true, bool translated = false );
00082 static QStringList phonefields( bool sorted = true, bool translated = false );
00083 static QStringList detailsfields( bool sorted = true, bool translated = false );
00084 static QStringList fields( bool sorted = true, bool translated = false );
00085
00086 static QStringList trpersonalfields( bool sorted = true );
00087 static QStringList untrpersonalfields( bool sorted = true );
00088 static QStringList trphonefields( bool sorted = true );
00089 static QStringList untrphonefields( bool sorted = true );
00090 static QStringList trdetailsfields( bool sorted = true );
00091 static QStringList untrdetailsfields( bool sorted = true );
00092 static QStringList trfields( bool sorted = true );
00093 static QStringList untrfields( bool sorted = true );
00094
00095 static QMap<int, QString> idToTrFields();
00096 static QMap<QString, int> trFieldsToId();
00097 static QMap<int, QString> idToUntrFields();
00098 static QMap<QString, int> untrFieldsToId();
00099
00100 };
00101 }
00102 #endif