-rw-r--r-- | bin/kdepim/WhatsNew.txt | 2 | ||||
-rw-r--r-- | bin/kdepim/kaddressbook/germantranslation.txt | 6 | ||||
-rw-r--r-- | kabc/addressee.cpp | 25 | ||||
-rw-r--r-- | kabc/addressee.h | 5 | ||||
-rw-r--r-- | kabc/field.cpp | 20 | ||||
-rw-r--r-- | kabc/phonenumber.cpp | 13 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbooktableview.cpp | 2 |
7 files changed, 61 insertions, 12 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 53eb428..bc0c62a 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,53 +1,55 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 2.0.26 ************ | 3 | ********** VERSION 2.0.26 ************ |
4 | 4 | ||
5 | And again fixed some bugs. | 5 | And again fixed some bugs. |
6 | Added two more fields to the KA/Pi view config: | ||
7 | A "Mobile (home)" and a "Mobile (work)" field. | ||
6 | 8 | ||
7 | ********** VERSION 2.0.25 ************ | 9 | ********** VERSION 2.0.25 ************ |
8 | 10 | ||
9 | And again fixed some bugs. | 11 | And again fixed some bugs. |
10 | 12 | ||
11 | ********** VERSION 2.0.24 ************ | 13 | ********** VERSION 2.0.24 ************ |
12 | 14 | ||
13 | Fixed again a lot of small bugs. | 15 | Fixed again a lot of small bugs. |
14 | Some performance optimizations in date navigator. | 16 | Some performance optimizations in date navigator. |
15 | Month view displays now multi days events on top of each cell, such that it is more likely that all multi days items of one event are in the same row. | 17 | Month view displays now multi days events on top of each cell, such that it is more likely that all multi days items of one event are in the same row. |
16 | 18 | ||
17 | ********** VERSION 2.0.23 ************ | 19 | ********** VERSION 2.0.23 ************ |
18 | 20 | ||
19 | Fixed again a lot of small and strange bugs, e.g. the missing toolbar of KA/Pi after a new installation. | 21 | Fixed again a lot of small and strange bugs, e.g. the missing toolbar of KA/Pi after a new installation. |
20 | Fixed the (agenda) layout of KO/Pi on 5500er. | 22 | Fixed the (agenda) layout of KO/Pi on 5500er. |
21 | Some usebility enhancements (e.g. reselection the current item of the todo view after some changes). | 23 | Some usebility enhancements (e.g. reselection the current item of the todo view after some changes). |
22 | 24 | ||
23 | ********** VERSION 2.0.22 ************ | 25 | ********** VERSION 2.0.22 ************ |
24 | 26 | ||
25 | KO/Pi: | 27 | KO/Pi: |
26 | Fix for creating events/todos via the abgenda context menu. | 28 | Fix for creating events/todos via the abgenda context menu. |
27 | Added option to split toolbar to 3 toolbars. | 29 | Added option to split toolbar to 3 toolbars. |
28 | (Toolbar moving s disabled for this option due to a bug in Qt somewhere). | 30 | (Toolbar moving s disabled for this option due to a bug in Qt somewhere). |
29 | Added option to show one small filter-view-toolbar. | 31 | Added option to show one small filter-view-toolbar. |
30 | Added a print option to the desktop version: | 32 | Added a print option to the desktop version: |
31 | Now you can print out the view of the "Event Viewer". | 33 | Now you can print out the view of the "Event Viewer". |
32 | That means you can print all data of one particular event/todo. | 34 | That means you can print all data of one particular event/todo. |
33 | Added scaling options to printout of Event Viewer and What'sNext View. | 35 | Added scaling options to printout of Event Viewer and What'sNext View. |
34 | Fixed some problems in the month view in "week start sunday" mode. | 36 | Fixed some problems in the month view in "week start sunday" mode. |
35 | KA/Pi: | 37 | KA/Pi: |
36 | Added two more config options. | 38 | Added two more config options. |
37 | Fixed resizing problem of address request dialog when orientation was switched. | 39 | Fixed resizing problem of address request dialog when orientation was switched. |
38 | Cleaned up the menu structure. | 40 | Cleaned up the menu structure. |
39 | Fixed some more problems. | 41 | Fixed some more problems. |
40 | 42 | ||
41 | Fixed the annoying problem that scrolling continued after the key was released in KO/Pi Monthview and the KA/Pi views. | 43 | Fixed the annoying problem that scrolling continued after the key was released in KO/Pi Monthview and the KA/Pi views. |
42 | 44 | ||
43 | And, this is a really cool option (Ben did suggest it): | 45 | And, this is a really cool option (Ben did suggest it): |
44 | Now KO/Pi and KA/Pi can be run from a USB stick: | 46 | Now KO/Pi and KA/Pi can be run from a USB stick: |
45 | All data is read from and written to the stick. | 47 | All data is read from and written to the stick. |
46 | You can enable this in the global configure option TAB with: | 48 | You can enable this in the global configure option TAB with: |
47 | Save using LOCAL storage. | 49 | Save using LOCAL storage. |
48 | Just put KDE-Pim/Pi on a memory stick and you can access all your PIM data on every computer with Windows XP. It will work with the ME and Linux versions as well. I will put a memory stick version for teh next stable release online. | 50 | Just put KDE-Pim/Pi on a memory stick and you can access all your PIM data on every computer with Windows XP. It will work with the ME and Linux versions as well. I will put a memory stick version for teh next stable release online. |
49 | 51 | ||
50 | ********** VERSION 2.0.21 ************ | 52 | ********** VERSION 2.0.21 ************ |
51 | 53 | ||
52 | Fixed another SMTP problem in OM/Pi. | 54 | Fixed another SMTP problem in OM/Pi. |
53 | Some small changed in the new datenavigator in KO/Pi. | 55 | Some small changed in the new datenavigator in KO/Pi. |
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt index e54e140..f67a34d 100644 --- a/bin/kdepim/kaddressbook/germantranslation.txt +++ b/bin/kdepim/kaddressbook/germantranslation.txt | |||
@@ -708,55 +708,55 @@ | |||
708 | { "Please restart to get the \nchanged resources (re)loaded!\n","Bitte starten Sie jetzt\ndas Programm neu, um die geänderten\nResourcen neu zu laden!\n" }, | 708 | { "Please restart to get the \nchanged resources (re)loaded!\n","Bitte starten Sie jetzt\ndas Programm neu, um die geänderten\nResourcen neu zu laden!\n" }, |
709 | { "The selected file does not\ninclude a valid vCard.\nPlease check the file and try again.\n","Die gewählte Datei enthält\nkeine gültige vCard.\nBitte prüfen Sie die Datei\nund versuchen es erneut.\n" }, | 709 | { "The selected file does not\ninclude a valid vCard.\nPlease check the file and try again.\n","Die gewählte Datei enthält\nkeine gültige vCard.\nBitte prüfen Sie die Datei\nund versuchen es erneut.\n" }, |
710 | { "Unable to load resource '%1'","Resource kann nicht geladen werden: '%1'" }, | 710 | { "Unable to load resource '%1'","Resource kann nicht geladen werden: '%1'" }, |
711 | { "Some changes are only\neffective after a restart!\n","Einige Änderungen werden erst\nnach einem Neustart übernommen!\n" }, | 711 | { "Some changes are only\neffective after a restart!\n","Einige Änderungen werden erst\nnach einem Neustart übernommen!\n" }, |
712 | { "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." }, | 712 | { "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." }, |
713 | { "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." }, | 713 | { "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." }, |
714 | { "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." }, | 714 | { "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." }, |
715 | { "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" }, | 715 | { "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" }, |
716 | { "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." }, | 716 | { "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." }, |
717 | { "Error","Fehler" }, | 717 | { "Error","Fehler" }, |
718 | { ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." }, | 718 | { ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." }, |
719 | { "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." }, | 719 | { "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." }, |
720 | { "Warning","Warnung" }, | 720 | { "Warning","Warnung" }, |
721 | { "Select week number","Wähle Wochen Nummer" }, | 721 | { "Select week number","Wähle Wochen Nummer" }, |
722 | { "Februar","Februar" }, | 722 | { "Februar","Februar" }, |
723 | { "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, | 723 | { "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, |
724 | { "Password for remote access:","Passwort für fernen Zugriff:" }, | 724 | { "Password for remote access:","Passwort für fernen Zugriff:" }, |
725 | { "Remote IP address:","Ferne IP Adresse:" }, | 725 | { "Remote IP address:","Ferne IP Adresse:" }, |
726 | { "Remote port number:","Ferne Port Nummer:" }, | 726 | { "Remote port number:","Ferne Port Nummer:" }, |
727 | { "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, | 727 | { "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, |
728 | { "Remote from: ","Fern von: " }, | 728 | { "Remote from: ","Fern von: " }, |
729 | { "Local from: ","Lokal von: " }, | 729 | { "Local from: ","Lokal von: " }, |
730 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" }, | 730 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" }, |
731 | { "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, | 731 | { "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, |
732 | { "Write back","Schreibe zurück" }, | 732 | { "Write back","Schreibe zurück" }, |
733 | { "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, | 733 | { "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, |
734 | { "Received sync request","Sync Anfrage erhalten" }, | 734 | { "Received sync request","Sync Anfrage erhalten" }, |
735 | { "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." }, | 735 | { "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." }, |
736 | { "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, | 736 | { "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, |
737 | { "Data saved to temp file!","Daten in temp Datei gespeichert!" }, | 737 | { "Data saved to temp file!","Daten in temp Datei gespeichert!" }, |
738 | { "Sending file...","Sende Datei..." }, | 738 | { "Sending file...","Sende Datei..." }, |
739 | { "Waiting for synced file...","Warte auf gesyncte Daten..." }, | 739 | { "Waiting for synced file...","Warte auf gesyncte Daten..." }, |
740 | { "Receiving synced file...","Gesyncte Daten erhalten..." }, | 740 | { "Receiving synced file...","Gesyncte Daten erhalten..." }, |
741 | { "Received %1 bytes","%1 Bytes erhalten" }, | 741 | { "Received %1 bytes","%1 Bytes erhalten" }, |
742 | { "Writing file to disk...","Speichere Datei..." }, | 742 | { "Writing file to disk...","Speichere Datei..." }, |
743 | { "Pi-Sync successful!","Pi-Sync erfolgreich!" }, | 743 | { "Pi-Sync successful!","Pi-Sync erfolgreich!" }, |
744 | { "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, | 744 | { "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, |
745 | { "Synchronize!","Synchronisiere!" }, | 745 | { "Synchronize!","Synchronisiere!" }, |
746 | { "High clock skew!","Großer Uhrzeitunterschied!" }, | 746 | { "High clock skew!","Großer Uhrzeitunterschied!" }, |
747 | { "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, | 747 | { "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, |
748 | { "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" }, | 748 | { "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" }, |
749 | { "Change search field enable jump bar","Ändere Suchfeld um Jumpbar anzuzeigen" }, | 749 | { "Change search field enable jump bar","Ändere Suchfeld um Jumpbar anzuzeigen" }, |
750 | { "Search with '*' prefix (wildcard)","Suche mit '*' Prefix (Wildcard)" }, | 750 | { "Search with '*' prefix (wildcard)","Suche mit '*' Prefix (Wildcard)" }, |
751 | { "Shrink searchfield in portrait view","Verkleinere Suchfeld im Portraitmodus" }, | 751 | { "Shrink searchfield in portrait view","Verkleinere Suchfeld im Portraitmodus" }, |
752 | { "Edit new contact","Bearbeite neuen Kontakt" }, | 752 | { "Edit new contact","Bearbeite neuen Kontakt" }, |
753 | { "Edit ","Bearbeite " }, | 753 | { "Edit ","Bearbeite " }, |
754 | { "No contact changed!","Kein Kontakt verändert" }, | 754 | { "No contact changed!","Kein Kontakt verändert" }, |
755 | { "%1 contacts changed!","%1 Kontakte geändert!" }, | 755 | { "%1 contacts changed!","%1 Kontakte geändert!" }, |
756 | { "","" }, | 756 | { "Mobile (home)","Handy (Arbeit)" }, |
757 | { "","" }, | 757 | { "Mobile (work)","Handy (Privat)" }, |
758 | { "","" }, | 758 | { "Def.Formatted Name","Def. Format. Name" }, |
759 | { "","" }, | 759 | { "","" }, |
760 | { "","" }, | 760 | { "","" }, |
761 | { "","" }, | 761 | { "","" }, |
762 | { "","" }, \ No newline at end of file | 762 | { "","" }, \ No newline at end of file |
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index 39d14bb..7f592e9 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp | |||
@@ -6,96 +6,97 @@ | |||
6 | This library is free software; you can redistribute it and/or | 6 | This library is free software; you can redistribute it and/or |
7 | modify it under the terms of the GNU Library General Public | 7 | modify it under the terms of the GNU Library General Public |
8 | License as published by the Free Software Foundation; either | 8 | License as published by the Free Software Foundation; either |
9 | version 2 of the License, or (at your option) any later version. | 9 | version 2 of the License, or (at your option) any later version. |
10 | 10 | ||
11 | This library is distributed in the hope that it will be useful, | 11 | This library is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | Library General Public License for more details. | 14 | Library General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU Library General Public License | 16 | You should have received a copy of the GNU Library General Public License |
17 | along with this library; see the file COPYING.LIB. If not, write to | 17 | along with this library; see the file COPYING.LIB. If not, write to |
18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 | Boston, MA 02111-1307, USA. | 19 | Boston, MA 02111-1307, USA. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | /* | 22 | /* |
23 | Enhanced Version of the file for platform independent KDE tools. | 23 | Enhanced Version of the file for platform independent KDE tools. |
24 | Copyright (c) 2004 Ulf Schenk | 24 | Copyright (c) 2004 Ulf Schenk |
25 | 25 | ||
26 | $Id$ | 26 | $Id$ |
27 | */ | 27 | */ |
28 | 28 | ||
29 | #include <kconfig.h> | 29 | #include <kconfig.h> |
30 | 30 | ||
31 | #include <ksharedptr.h> | 31 | #include <ksharedptr.h> |
32 | #include <kdebug.h> | 32 | #include <kdebug.h> |
33 | #include <kapplication.h> | 33 | #include <kapplication.h> |
34 | #include <klocale.h> | 34 | #include <klocale.h> |
35 | #include <kidmanager.h> | 35 | #include <kidmanager.h> |
36 | //US | 36 | //US |
37 | #include <kstandarddirs.h> | 37 | #include <kstandarddirs.h> |
38 | #include <libkcal/syncdefines.h> | 38 | #include <libkcal/syncdefines.h> |
39 | 39 | ||
40 | //US #include "resource.h" | 40 | //US #include "resource.h" |
41 | #include "addressee.h" | 41 | #include "addressee.h" |
42 | 42 | ||
43 | using namespace KABC; | 43 | using namespace KABC; |
44 | 44 | ||
45 | static bool matchBinaryPattern( int value, int pattern ); | 45 | static bool matchBinaryPattern( int value, int pattern ); |
46 | static bool matchBinaryPatternA( int value, int pattern ); | 46 | static bool matchBinaryPatternA( int value, int pattern ); |
47 | static bool matchBinaryPatternP( int value, int pattern ); | 47 | static bool matchBinaryPatternP( int value, int pattern ); |
48 | 48 | ||
49 | struct Addressee::AddresseeData : public KShared | 49 | struct Addressee::AddresseeData : public KShared |
50 | { | 50 | { |
51 | QString uid; | 51 | QString uid; |
52 | QString name; | 52 | QString name; |
53 | QString formattedName; | 53 | QString formattedName; |
54 | QString defaultFormattedName; | ||
54 | QString familyName; | 55 | QString familyName; |
55 | QString givenName; | 56 | QString givenName; |
56 | QString additionalName; | 57 | QString additionalName; |
57 | QString prefix; | 58 | QString prefix; |
58 | QString suffix; | 59 | QString suffix; |
59 | QString nickName; | 60 | QString nickName; |
60 | QDateTime birthday; | 61 | QDateTime birthday; |
61 | QString mailer; | 62 | QString mailer; |
62 | TimeZone timeZone; | 63 | TimeZone timeZone; |
63 | Geo geo; | 64 | Geo geo; |
64 | QString title; | 65 | QString title; |
65 | QString role; | 66 | QString role; |
66 | QString organization; | 67 | QString organization; |
67 | QString note; | 68 | QString note; |
68 | QString productId; | 69 | QString productId; |
69 | QDateTime revision; | 70 | QDateTime revision; |
70 | QString sortString; | 71 | QString sortString; |
71 | QString externalUID; | 72 | QString externalUID; |
72 | QString originalExternalUID; | 73 | QString originalExternalUID; |
73 | KURL url; | 74 | KURL url; |
74 | Secrecy secrecy; | 75 | Secrecy secrecy; |
75 | Picture logo; | 76 | Picture logo; |
76 | Picture photo; | 77 | Picture photo; |
77 | Sound sound; | 78 | Sound sound; |
78 | Agent agent; | 79 | Agent agent; |
79 | QString mExternalId; | 80 | QString mExternalId; |
80 | PhoneNumber::List phoneNumbers; | 81 | PhoneNumber::List phoneNumbers; |
81 | Address::List addresses; | 82 | Address::List addresses; |
82 | Key::List keys; | 83 | Key::List keys; |
83 | QStringList emails; | 84 | QStringList emails; |
84 | QStringList categories; | 85 | QStringList categories; |
85 | QStringList custom; | 86 | QStringList custom; |
86 | int mTempSyncStat; | 87 | int mTempSyncStat; |
87 | Resource *resource; | 88 | Resource *resource; |
88 | 89 | ||
89 | bool empty :1; | 90 | bool empty :1; |
90 | bool changed :1; | 91 | bool changed :1; |
91 | bool tagged :1; | 92 | bool tagged :1; |
92 | }; | 93 | }; |
93 | 94 | ||
94 | Addressee::Addressee() | 95 | Addressee::Addressee() |
95 | { | 96 | { |
96 | mData = new AddresseeData; | 97 | mData = new AddresseeData; |
97 | mData->empty = true; | 98 | mData->empty = true; |
98 | mData->changed = false; | 99 | mData->changed = false; |
99 | mData->resource = 0; | 100 | mData->resource = 0; |
100 | mData->mExternalId = ":"; | 101 | mData->mExternalId = ":"; |
101 | mData->revision = QDateTime ( QDate( 2003,1,1)); | 102 | mData->revision = QDateTime ( QDate( 2003,1,1)); |
@@ -702,107 +703,123 @@ QString Addressee::originalExternalUID() const | |||
702 | void Addressee::setUid( const QString &id ) | 703 | void Addressee::setUid( const QString &id ) |
703 | { | 704 | { |
704 | if ( id == mData->uid ) return; | 705 | if ( id == mData->uid ) return; |
705 | detach(); | 706 | detach(); |
706 | //qDebug("****setuid %s ", id.latin1()); | 707 | //qDebug("****setuid %s ", id.latin1()); |
707 | mData->empty = false; | 708 | mData->empty = false; |
708 | mData->uid = id; | 709 | mData->uid = id; |
709 | } | 710 | } |
710 | 711 | ||
711 | const QString Addressee::uid() const | 712 | const QString Addressee::uid() const |
712 | { | 713 | { |
713 | if ( mData->uid.isEmpty() ) | 714 | if ( mData->uid.isEmpty() ) |
714 | mData->uid = KApplication::randomString( 10 ); | 715 | mData->uid = KApplication::randomString( 10 ); |
715 | 716 | ||
716 | return mData->uid; | 717 | return mData->uid; |
717 | } | 718 | } |
718 | 719 | ||
719 | QString Addressee::uidLabel() | 720 | QString Addressee::uidLabel() |
720 | { | 721 | { |
721 | return i18n("Unique Identifier"); | 722 | return i18n("Unique Identifier"); |
722 | } | 723 | } |
723 | 724 | ||
724 | void Addressee::setName( const QString &name ) | 725 | void Addressee::setName( const QString &name ) |
725 | { | 726 | { |
726 | if ( name == mData->name ) return; | 727 | if ( name == mData->name ) return; |
727 | detach(); | 728 | detach(); |
728 | mData->empty = false; | 729 | mData->empty = false; |
729 | mData->name = name; | 730 | mData->name = name; |
730 | } | 731 | } |
731 | 732 | ||
732 | QString Addressee::name() const | 733 | QString Addressee::name() const |
733 | { | 734 | { |
734 | return mData->name; | 735 | return mData->name; |
735 | } | 736 | } |
736 | 737 | ||
737 | QString Addressee::nameLabel() | 738 | QString Addressee::nameLabel() |
738 | { | 739 | { |
739 | return i18n("Name"); | 740 | return i18n("Name"); |
740 | } | 741 | } |
741 | 742 | ||
742 | 743 | ||
743 | void Addressee::setFormattedName( const QString &formattedName ) | 744 | void Addressee::setFormattedName( const QString &formattedName ) |
744 | { | 745 | { |
745 | if ( formattedName == mData->formattedName ) return; | 746 | if ( formattedName == mData->formattedName ) return; |
746 | detach(); | 747 | detach(); |
747 | mData->empty = false; | 748 | mData->empty = false; |
748 | mData->formattedName = formattedName; | 749 | mData->formattedName = formattedName; |
749 | } | 750 | } |
751 | void Addressee::setDefaultFormattedName( const QString &formattedName ) | ||
752 | { | ||
753 | if ( formattedName == mData->defaultFormattedName ) return; | ||
754 | detach(); | ||
755 | mData->empty = false; | ||
756 | mData->defaultFormattedName = formattedName; | ||
757 | } | ||
750 | 758 | ||
751 | QString Addressee::formattedName() const | 759 | QString Addressee::formattedName() const |
752 | { | 760 | { |
753 | return mData->formattedName; | 761 | return mData->formattedName; |
754 | } | 762 | } |
763 | QString Addressee::defaultFormattedName() const | ||
764 | { | ||
765 | return mData->defaultFormattedName; | ||
766 | } | ||
755 | 767 | ||
756 | QString Addressee::formattedNameLabel() | 768 | QString Addressee::formattedNameLabel() |
757 | { | 769 | { |
758 | return i18n("Formatted Name"); | 770 | return i18n("Formatted Name"); |
759 | } | 771 | } |
760 | 772 | ||
773 | QString Addressee::defaultFormattedNameLabel() | ||
774 | { | ||
775 | return i18n("Def.Formatted Name"); | ||
776 | } | ||
777 | |||
761 | 778 | ||
762 | void Addressee::setFamilyName( const QString &familyName ) | 779 | void Addressee::setFamilyName( const QString &familyName ) |
763 | { | 780 | { |
764 | if ( familyName == mData->familyName ) return; | 781 | if ( familyName == mData->familyName ) return; |
765 | detach(); | 782 | detach(); |
766 | mData->empty = false; | 783 | mData->empty = false; |
767 | mData->familyName = familyName; | 784 | mData->familyName = familyName; |
768 | } | 785 | } |
769 | 786 | ||
770 | QString Addressee::familyName() const | 787 | QString Addressee::familyName() const |
771 | { | 788 | { |
772 | return mData->familyName; | 789 | return mData->familyName; |
773 | } | 790 | } |
774 | 791 | ||
775 | QString Addressee::familyNameLabel() | 792 | QString Addressee::familyNameLabel() |
776 | { | 793 | { |
777 | return i18n("Family Name"); | 794 | return i18n("Family Name"); |
778 | } | 795 | } |
779 | 796 | ||
780 | 797 | ||
781 | void Addressee::setGivenName( const QString &givenName ) | 798 | void Addressee::setGivenName( const QString &givenName ) |
782 | { | 799 | { |
783 | if ( givenName == mData->givenName ) return; | 800 | if ( givenName == mData->givenName ) return; |
784 | detach(); | 801 | detach(); |
785 | mData->empty = false; | 802 | mData->empty = false; |
786 | mData->givenName = givenName; | 803 | mData->givenName = givenName; |
787 | } | 804 | } |
788 | 805 | ||
789 | QString Addressee::givenName() const | 806 | QString Addressee::givenName() const |
790 | { | 807 | { |
791 | return mData->givenName; | 808 | return mData->givenName; |
792 | } | 809 | } |
793 | 810 | ||
794 | QString Addressee::givenNameLabel() | 811 | QString Addressee::givenNameLabel() |
795 | { | 812 | { |
796 | return i18n("Given Name"); | 813 | return i18n("Given Name"); |
797 | } | 814 | } |
798 | 815 | ||
799 | 816 | ||
800 | void Addressee::setAdditionalName( const QString &additionalName ) | 817 | void Addressee::setAdditionalName( const QString &additionalName ) |
801 | { | 818 | { |
802 | if ( additionalName == mData->additionalName ) return; | 819 | if ( additionalName == mData->additionalName ) return; |
803 | detach(); | 820 | detach(); |
804 | mData->empty = false; | 821 | mData->empty = false; |
805 | mData->additionalName = additionalName; | 822 | mData->additionalName = additionalName; |
806 | } | 823 | } |
807 | 824 | ||
808 | QString Addressee::additionalName() const | 825 | QString Addressee::additionalName() const |
@@ -935,96 +952,104 @@ QString Addressee::businessAddressStreetLabel() | |||
935 | 952 | ||
936 | 953 | ||
937 | QString Addressee::businessAddressLocalityLabel() | 954 | QString Addressee::businessAddressLocalityLabel() |
938 | { | 955 | { |
939 | return i18n("Business Address Locality"); | 956 | return i18n("Business Address Locality"); |
940 | } | 957 | } |
941 | 958 | ||
942 | 959 | ||
943 | QString Addressee::businessAddressRegionLabel() | 960 | QString Addressee::businessAddressRegionLabel() |
944 | { | 961 | { |
945 | return i18n("Business Address Region"); | 962 | return i18n("Business Address Region"); |
946 | } | 963 | } |
947 | 964 | ||
948 | 965 | ||
949 | QString Addressee::businessAddressPostalCodeLabel() | 966 | QString Addressee::businessAddressPostalCodeLabel() |
950 | { | 967 | { |
951 | return i18n("Business Address Postal Code"); | 968 | return i18n("Business Address Postal Code"); |
952 | } | 969 | } |
953 | 970 | ||
954 | 971 | ||
955 | QString Addressee::businessAddressCountryLabel() | 972 | QString Addressee::businessAddressCountryLabel() |
956 | { | 973 | { |
957 | return i18n("Business Address Country"); | 974 | return i18n("Business Address Country"); |
958 | } | 975 | } |
959 | 976 | ||
960 | 977 | ||
961 | QString Addressee::businessAddressLabelLabel() | 978 | QString Addressee::businessAddressLabelLabel() |
962 | { | 979 | { |
963 | return i18n("Business Address Label"); | 980 | return i18n("Business Address Label"); |
964 | } | 981 | } |
965 | 982 | ||
966 | 983 | ||
967 | QString Addressee::homePhoneLabel() | 984 | QString Addressee::homePhoneLabel() |
968 | { | 985 | { |
969 | return i18n("Home Phone"); | 986 | return i18n("Home Phone"); |
970 | } | 987 | } |
971 | 988 | ||
972 | 989 | ||
973 | QString Addressee::businessPhoneLabel() | 990 | QString Addressee::businessPhoneLabel() |
974 | { | 991 | { |
975 | return i18n("Business Phone"); | 992 | return i18n("Business Phone"); |
976 | } | 993 | } |
977 | 994 | ||
978 | 995 | ||
979 | QString Addressee::mobilePhoneLabel() | 996 | QString Addressee::mobilePhoneLabel() |
980 | { | 997 | { |
981 | return i18n("Mobile Phone"); | 998 | return i18n("Mobile Phone"); |
982 | } | 999 | } |
1000 | QString Addressee::mobileWorkPhoneLabel() | ||
1001 | { | ||
1002 | return i18n("Mobile (work)"); | ||
1003 | } | ||
1004 | QString Addressee::mobileHomePhoneLabel() | ||
1005 | { | ||
1006 | return i18n("Mobile (home)"); | ||
1007 | } | ||
983 | 1008 | ||
984 | 1009 | ||
985 | QString Addressee::homeFaxLabel() | 1010 | QString Addressee::homeFaxLabel() |
986 | { | 1011 | { |
987 | return i18n("Home Fax"); | 1012 | return i18n("Home Fax"); |
988 | } | 1013 | } |
989 | 1014 | ||
990 | 1015 | ||
991 | QString Addressee::businessFaxLabel() | 1016 | QString Addressee::businessFaxLabel() |
992 | { | 1017 | { |
993 | return i18n("Business Fax"); | 1018 | return i18n("Business Fax"); |
994 | } | 1019 | } |
995 | 1020 | ||
996 | 1021 | ||
997 | QString Addressee::carPhoneLabel() | 1022 | QString Addressee::carPhoneLabel() |
998 | { | 1023 | { |
999 | return i18n("Car Phone"); | 1024 | return i18n("Car Phone"); |
1000 | } | 1025 | } |
1001 | 1026 | ||
1002 | 1027 | ||
1003 | QString Addressee::isdnLabel() | 1028 | QString Addressee::isdnLabel() |
1004 | { | 1029 | { |
1005 | return i18n("ISDN"); | 1030 | return i18n("ISDN"); |
1006 | } | 1031 | } |
1007 | 1032 | ||
1008 | 1033 | ||
1009 | QString Addressee::pagerLabel() | 1034 | QString Addressee::pagerLabel() |
1010 | { | 1035 | { |
1011 | return i18n("Pager"); | 1036 | return i18n("Pager"); |
1012 | } | 1037 | } |
1013 | 1038 | ||
1014 | QString Addressee::sipLabel() | 1039 | QString Addressee::sipLabel() |
1015 | { | 1040 | { |
1016 | return i18n("SIP"); | 1041 | return i18n("SIP"); |
1017 | } | 1042 | } |
1018 | 1043 | ||
1019 | QString Addressee::emailLabel() | 1044 | QString Addressee::emailLabel() |
1020 | { | 1045 | { |
1021 | return i18n("Email Address"); | 1046 | return i18n("Email Address"); |
1022 | } | 1047 | } |
1023 | 1048 | ||
1024 | 1049 | ||
1025 | void Addressee::setMailer( const QString &mailer ) | 1050 | void Addressee::setMailer( const QString &mailer ) |
1026 | { | 1051 | { |
1027 | if ( mailer == mData->mailer ) return; | 1052 | if ( mailer == mData->mailer ) return; |
1028 | detach(); | 1053 | detach(); |
1029 | mData->empty = false; | 1054 | mData->empty = false; |
1030 | mData->mailer = mailer; | 1055 | mData->mailer = mailer; |
diff --git a/kabc/addressee.h b/kabc/addressee.h index 8051fec..0d688f8 100644 --- a/kabc/addressee.h +++ b/kabc/addressee.h | |||
@@ -109,104 +109,107 @@ class Addressee | |||
109 | void computeCsum(const QString &dev); | 109 | void computeCsum(const QString &dev); |
110 | ulong getCsum4List( const QStringList & attList); | 110 | ulong getCsum4List( const QStringList & attList); |
111 | /** | 111 | /** |
112 | Return, if the address book entry is empty. | 112 | Return, if the address book entry is empty. |
113 | */ | 113 | */ |
114 | bool isEmpty() const; | 114 | bool isEmpty() const; |
115 | void setExternalUID( const QString &id ); | 115 | void setExternalUID( const QString &id ); |
116 | const QString externalUID() const; | 116 | const QString externalUID() const; |
117 | void setOriginalExternalUID( const QString &id ); | 117 | void setOriginalExternalUID( const QString &id ); |
118 | QString originalExternalUID() const; | 118 | QString originalExternalUID() const; |
119 | void mergeContact( const Addressee& ad, bool isSubSet ); | 119 | void mergeContact( const Addressee& ad, bool isSubSet ); |
120 | void simplifyEmails(); | 120 | void simplifyEmails(); |
121 | void simplifyAddresses(); | 121 | void simplifyAddresses(); |
122 | void simplifyPhoneNumbers(); | 122 | void simplifyPhoneNumbers(); |
123 | void simplifyPhoneNumberTypes(); | 123 | void simplifyPhoneNumberTypes(); |
124 | bool removeVoice(); | 124 | bool removeVoice(); |
125 | bool containsAdr(const Addressee& addr ); | 125 | bool containsAdr(const Addressee& addr ); |
126 | 126 | ||
127 | /** | 127 | /** |
128 | Set unique identifier. | 128 | Set unique identifier. |
129 | */ | 129 | */ |
130 | void setUid( const QString &uid ); | 130 | void setUid( const QString &uid ); |
131 | /** | 131 | /** |
132 | Return unique identifier. | 132 | Return unique identifier. |
133 | */ | 133 | */ |
134 | const QString uid() const; | 134 | const QString uid() const; |
135 | /** | 135 | /** |
136 | Return translated label for uid field. | 136 | Return translated label for uid field. |
137 | */ | 137 | */ |
138 | static QString uidLabel(); | 138 | static QString uidLabel(); |
139 | 139 | ||
140 | /** | 140 | /** |
141 | Set name. | 141 | Set name. |
142 | */ | 142 | */ |
143 | void setName( const QString &name ); | 143 | void setName( const QString &name ); |
144 | /** | 144 | /** |
145 | Return name. | 145 | Return name. |
146 | */ | 146 | */ |
147 | QString name() const; | 147 | QString name() const; |
148 | /** | 148 | /** |
149 | Return translated label for name field. | 149 | Return translated label for name field. |
150 | */ | 150 | */ |
151 | static QString nameLabel(); | 151 | static QString nameLabel(); |
152 | 152 | ||
153 | /** | 153 | /** |
154 | Set formatted name. | 154 | Set formatted name. |
155 | */ | 155 | */ |
156 | void setFormattedName( const QString &formattedName ); | 156 | void setFormattedName( const QString &formattedName ); |
157 | void setDefaultFormattedName( const QString &formattedName ); | ||
157 | /** | 158 | /** |
158 | Return formatted name. | 159 | Return formatted name. |
159 | */ | 160 | */ |
160 | QString formattedName() const; | 161 | QString formattedName() const; |
162 | QString defaultFormattedName() const; | ||
161 | /** | 163 | /** |
162 | Return translated label for formattedName field. | 164 | Return translated label for formattedName field. |
163 | */ | 165 | */ |
164 | static QString formattedNameLabel(); | 166 | static QString formattedNameLabel(); |
167 | static QString defaultFormattedNameLabel(); | ||
165 | 168 | ||
166 | /** | 169 | /** |
167 | Set family name. | 170 | Set family name. |
168 | */ | 171 | */ |
169 | void setFamilyName( const QString &familyName ); | 172 | void setFamilyName( const QString &familyName ); |
170 | /** | 173 | /** |
171 | Return family name. | 174 | Return family name. |
172 | */ | 175 | */ |
173 | QString familyName() const; | 176 | QString familyName() const; |
174 | /** | 177 | /** |
175 | Return translated label for familyName field. | 178 | Return translated label for familyName field. |
176 | */ | 179 | */ |
177 | static QString familyNameLabel(); | 180 | static QString familyNameLabel(); |
178 | 181 | ||
179 | /** | 182 | /** |
180 | Set given name. | 183 | Set given name. |
181 | */ | 184 | */ |
182 | void setGivenName( const QString &givenName ); | 185 | void setGivenName( const QString &givenName ); |
183 | /** | 186 | /** |
184 | Return given name. | 187 | Return given name. |
185 | */ | 188 | */ |
186 | QString givenName() const; | 189 | QString givenName() const; |
187 | /** | 190 | /** |
188 | Return translated label for givenName field. | 191 | Return translated label for givenName field. |
189 | */ | 192 | */ |
190 | static QString givenNameLabel(); | 193 | static QString givenNameLabel(); |
191 | 194 | ||
192 | /** | 195 | /** |
193 | Set additional names. | 196 | Set additional names. |
194 | */ | 197 | */ |
195 | void setAdditionalName( const QString &additionalName ); | 198 | void setAdditionalName( const QString &additionalName ); |
196 | /** | 199 | /** |
197 | Return additional names. | 200 | Return additional names. |
198 | */ | 201 | */ |
199 | QString additionalName() const; | 202 | QString additionalName() const; |
200 | /** | 203 | /** |
201 | Return translated label for additionalName field. | 204 | Return translated label for additionalName field. |
202 | */ | 205 | */ |
203 | static QString additionalNameLabel(); | 206 | static QString additionalNameLabel(); |
204 | 207 | ||
205 | /** | 208 | /** |
206 | Set honorific prefixes. | 209 | Set honorific prefixes. |
207 | */ | 210 | */ |
208 | void setPrefix( const QString &prefix ); | 211 | void setPrefix( const QString &prefix ); |
209 | /** | 212 | /** |
210 | Return honorific prefixes. | 213 | Return honorific prefixes. |
211 | */ | 214 | */ |
212 | QString prefix() const; | 215 | QString prefix() const; |
@@ -283,96 +286,98 @@ class Addressee | |||
283 | Return translated label for homeAddressLabel field. | 286 | Return translated label for homeAddressLabel field. |
284 | */ | 287 | */ |
285 | static QString homeAddressLabelLabel(); | 288 | static QString homeAddressLabelLabel(); |
286 | 289 | ||
287 | /** | 290 | /** |
288 | Return translated label for businessAddressStreet field. | 291 | Return translated label for businessAddressStreet field. |
289 | */ | 292 | */ |
290 | static QString businessAddressStreetLabel(); | 293 | static QString businessAddressStreetLabel(); |
291 | 294 | ||
292 | /** | 295 | /** |
293 | Return translated label for businessAddressLocality field. | 296 | Return translated label for businessAddressLocality field. |
294 | */ | 297 | */ |
295 | static QString businessAddressLocalityLabel(); | 298 | static QString businessAddressLocalityLabel(); |
296 | 299 | ||
297 | /** | 300 | /** |
298 | Return translated label for businessAddressRegion field. | 301 | Return translated label for businessAddressRegion field. |
299 | */ | 302 | */ |
300 | static QString businessAddressRegionLabel(); | 303 | static QString businessAddressRegionLabel(); |
301 | 304 | ||
302 | /** | 305 | /** |
303 | Return translated label for businessAddressPostalCode field. | 306 | Return translated label for businessAddressPostalCode field. |
304 | */ | 307 | */ |
305 | static QString businessAddressPostalCodeLabel(); | 308 | static QString businessAddressPostalCodeLabel(); |
306 | 309 | ||
307 | /** | 310 | /** |
308 | Return translated label for businessAddressCountry field. | 311 | Return translated label for businessAddressCountry field. |
309 | */ | 312 | */ |
310 | static QString businessAddressCountryLabel(); | 313 | static QString businessAddressCountryLabel(); |
311 | 314 | ||
312 | /** | 315 | /** |
313 | Return translated label for businessAddressLabel field. | 316 | Return translated label for businessAddressLabel field. |
314 | */ | 317 | */ |
315 | static QString businessAddressLabelLabel(); | 318 | static QString businessAddressLabelLabel(); |
316 | 319 | ||
317 | /** | 320 | /** |
318 | Return translated label for homePhone field. | 321 | Return translated label for homePhone field. |
319 | */ | 322 | */ |
320 | static QString homePhoneLabel(); | 323 | static QString homePhoneLabel(); |
321 | 324 | ||
322 | /** | 325 | /** |
323 | Return translated label for businessPhone field. | 326 | Return translated label for businessPhone field. |
324 | */ | 327 | */ |
325 | static QString businessPhoneLabel(); | 328 | static QString businessPhoneLabel(); |
326 | 329 | ||
327 | /** | 330 | /** |
328 | Return translated label for mobilePhone field. | 331 | Return translated label for mobilePhone field. |
329 | */ | 332 | */ |
330 | static QString mobilePhoneLabel(); | 333 | static QString mobilePhoneLabel(); |
334 | static QString mobileWorkPhoneLabel(); | ||
335 | static QString mobileHomePhoneLabel(); | ||
331 | 336 | ||
332 | /** | 337 | /** |
333 | Return translated label for homeFax field. | 338 | Return translated label for homeFax field. |
334 | */ | 339 | */ |
335 | static QString homeFaxLabel(); | 340 | static QString homeFaxLabel(); |
336 | 341 | ||
337 | /** | 342 | /** |
338 | Return translated label for businessFax field. | 343 | Return translated label for businessFax field. |
339 | */ | 344 | */ |
340 | static QString businessFaxLabel(); | 345 | static QString businessFaxLabel(); |
341 | 346 | ||
342 | /** | 347 | /** |
343 | Return translated label for carPhone field. | 348 | Return translated label for carPhone field. |
344 | */ | 349 | */ |
345 | static QString carPhoneLabel(); | 350 | static QString carPhoneLabel(); |
346 | 351 | ||
347 | /** | 352 | /** |
348 | Return translated label for isdn field. | 353 | Return translated label for isdn field. |
349 | */ | 354 | */ |
350 | static QString isdnLabel(); | 355 | static QString isdnLabel(); |
351 | 356 | ||
352 | /** | 357 | /** |
353 | Return translated label for pager field. | 358 | Return translated label for pager field. |
354 | */ | 359 | */ |
355 | static QString pagerLabel(); | 360 | static QString pagerLabel(); |
356 | 361 | ||
357 | /** | 362 | /** |
358 | Return translated label for sip field. | 363 | Return translated label for sip field. |
359 | */ | 364 | */ |
360 | static QString sipLabel(); | 365 | static QString sipLabel(); |
361 | 366 | ||
362 | /** | 367 | /** |
363 | Return translated label for email field. | 368 | Return translated label for email field. |
364 | */ | 369 | */ |
365 | static QString emailLabel(); | 370 | static QString emailLabel(); |
366 | 371 | ||
367 | /** | 372 | /** |
368 | Set mail client. | 373 | Set mail client. |
369 | */ | 374 | */ |
370 | void setMailer( const QString &mailer ); | 375 | void setMailer( const QString &mailer ); |
371 | /** | 376 | /** |
372 | Return mail client. | 377 | Return mail client. |
373 | */ | 378 | */ |
374 | QString mailer() const; | 379 | QString mailer() const; |
375 | /** | 380 | /** |
376 | Return translated label for mailer field. | 381 | Return translated label for mailer field. |
377 | */ | 382 | */ |
378 | static QString mailerLabel(); | 383 | static QString mailerLabel(); |
diff --git a/kabc/field.cpp b/kabc/field.cpp index 89d0b77..5c561c3 100644 --- a/kabc/field.cpp +++ b/kabc/field.cpp | |||
@@ -41,298 +41,313 @@ class Field::FieldImpl | |||
41 | public: | 41 | public: |
42 | FieldImpl( int fieldId, int category = 0, | 42 | FieldImpl( int fieldId, int category = 0, |
43 | const QString &label = QString::null, | 43 | const QString &label = QString::null, |
44 | const QString &key = QString::null, | 44 | const QString &key = QString::null, |
45 | const QString &app = QString::null ) | 45 | const QString &app = QString::null ) |
46 | : mFieldId( fieldId ), mCategory( category ), mLabel( label ), | 46 | : mFieldId( fieldId ), mCategory( category ), mLabel( label ), |
47 | mKey( key ), mApp( app ) {} | 47 | mKey( key ), mApp( app ) {} |
48 | 48 | ||
49 | enum FieldId | 49 | enum FieldId |
50 | { | 50 | { |
51 | CustomField, | 51 | CustomField, |
52 | FormattedName, | 52 | FormattedName, |
53 | FamilyName, | 53 | FamilyName, |
54 | GivenName, | 54 | GivenName, |
55 | AdditionalName, | 55 | AdditionalName, |
56 | Prefix, | 56 | Prefix, |
57 | Suffix, | 57 | Suffix, |
58 | NickName, | 58 | NickName, |
59 | Birthday, | 59 | Birthday, |
60 | Category, | 60 | Category, |
61 | HomeAddressStreet, | 61 | HomeAddressStreet, |
62 | HomeAddressLocality, | 62 | HomeAddressLocality, |
63 | HomeAddressRegion, | 63 | HomeAddressRegion, |
64 | HomeAddressPostalCode, | 64 | HomeAddressPostalCode, |
65 | HomeAddressCountry, | 65 | HomeAddressCountry, |
66 | HomeAddressLabel, | 66 | HomeAddressLabel, |
67 | BusinessAddressStreet, | 67 | BusinessAddressStreet, |
68 | BusinessAddressLocality, | 68 | BusinessAddressLocality, |
69 | BusinessAddressRegion, | 69 | BusinessAddressRegion, |
70 | BusinessAddressPostalCode, | 70 | BusinessAddressPostalCode, |
71 | BusinessAddressCountry, | 71 | BusinessAddressCountry, |
72 | BusinessAddressLabel, | 72 | BusinessAddressLabel, |
73 | HomePhone, | 73 | HomePhone, |
74 | BusinessPhone, | 74 | BusinessPhone, |
75 | MobilePhone, | 75 | MobilePhone, |
76 | HomeFax, | 76 | HomeFax, |
77 | BusinessFax, | 77 | BusinessFax, |
78 | CarPhone, | 78 | CarPhone, |
79 | Isdn, | 79 | Isdn, |
80 | Pager, | 80 | Pager, |
81 | Email, | 81 | Email, |
82 | Mailer, | 82 | Mailer, |
83 | Title, | 83 | Title, |
84 | Role, | 84 | Role, |
85 | Organization, | 85 | Organization, |
86 | Note, | 86 | Note, |
87 | Url, | 87 | Url, |
88 | Resource, | 88 | Resource, |
89 | Sip | 89 | Sip, |
90 | DefaultFormattedName, | ||
91 | MobileWorkPhone, | ||
92 | MobileHomePhone | ||
90 | }; | 93 | }; |
91 | 94 | ||
92 | int fieldId() { return mFieldId; } | 95 | int fieldId() { return mFieldId; } |
93 | int category() { return mCategory; } | 96 | int category() { return mCategory; } |
94 | 97 | ||
95 | QString label() { return mLabel; } | 98 | QString label() { return mLabel; } |
96 | QString key() { return mKey; } | 99 | QString key() { return mKey; } |
97 | QString app() { return mApp; } | 100 | QString app() { return mApp; } |
98 | 101 | ||
99 | private: | 102 | private: |
100 | int mFieldId; | 103 | int mFieldId; |
101 | int mCategory; | 104 | int mCategory; |
102 | 105 | ||
103 | QString mLabel; | 106 | QString mLabel; |
104 | QString mKey; | 107 | QString mKey; |
105 | QString mApp; | 108 | QString mApp; |
106 | }; | 109 | }; |
107 | 110 | ||
108 | 111 | ||
109 | Field::List Field::mAllFields; | 112 | Field::List Field::mAllFields; |
110 | Field::List Field::mDefaultFields; | 113 | Field::List Field::mDefaultFields; |
111 | Field::List Field::mCustomFields; | 114 | Field::List Field::mCustomFields; |
112 | 115 | ||
113 | 116 | ||
114 | Field::Field( FieldImpl *impl ) | 117 | Field::Field( FieldImpl *impl ) |
115 | { | 118 | { |
116 | mImpl = impl; | 119 | mImpl = impl; |
117 | } | 120 | } |
118 | 121 | ||
119 | Field::~Field() | 122 | Field::~Field() |
120 | { | 123 | { |
121 | delete mImpl; | 124 | delete mImpl; |
122 | } | 125 | } |
123 | 126 | ||
124 | QString Field::label() | 127 | QString Field::label() |
125 | { | 128 | { |
126 | switch ( mImpl->fieldId() ) { | 129 | switch ( mImpl->fieldId() ) { |
127 | case FieldImpl::FormattedName: | 130 | case FieldImpl::FormattedName: |
128 | return Addressee::formattedNameLabel(); | 131 | return Addressee::formattedNameLabel(); |
132 | case FieldImpl::DefaultFormattedName: | ||
133 | return Addressee::defaultFormattedNameLabel(); | ||
129 | case FieldImpl::FamilyName: | 134 | case FieldImpl::FamilyName: |
130 | return Addressee::familyNameLabel(); | 135 | return Addressee::familyNameLabel(); |
131 | case FieldImpl::GivenName: | 136 | case FieldImpl::GivenName: |
132 | return Addressee::givenNameLabel(); | 137 | return Addressee::givenNameLabel(); |
133 | case FieldImpl::AdditionalName: | 138 | case FieldImpl::AdditionalName: |
134 | return Addressee::additionalNameLabel(); | 139 | return Addressee::additionalNameLabel(); |
135 | case FieldImpl::Prefix: | 140 | case FieldImpl::Prefix: |
136 | return Addressee::prefixLabel(); | 141 | return Addressee::prefixLabel(); |
137 | case FieldImpl::Suffix: | 142 | case FieldImpl::Suffix: |
138 | return Addressee::suffixLabel(); | 143 | return Addressee::suffixLabel(); |
139 | case FieldImpl::NickName: | 144 | case FieldImpl::NickName: |
140 | return Addressee::nickNameLabel(); | 145 | return Addressee::nickNameLabel(); |
141 | case FieldImpl::Birthday: | 146 | case FieldImpl::Birthday: |
142 | return Addressee::birthdayLabel(); | 147 | return Addressee::birthdayLabel(); |
143 | case FieldImpl::HomeAddressStreet: | 148 | case FieldImpl::HomeAddressStreet: |
144 | return Addressee::homeAddressStreetLabel(); | 149 | return Addressee::homeAddressStreetLabel(); |
145 | case FieldImpl::HomeAddressLocality: | 150 | case FieldImpl::HomeAddressLocality: |
146 | return Addressee::homeAddressLocalityLabel(); | 151 | return Addressee::homeAddressLocalityLabel(); |
147 | case FieldImpl::HomeAddressRegion: | 152 | case FieldImpl::HomeAddressRegion: |
148 | return Addressee::homeAddressRegionLabel(); | 153 | return Addressee::homeAddressRegionLabel(); |
149 | case FieldImpl::HomeAddressPostalCode: | 154 | case FieldImpl::HomeAddressPostalCode: |
150 | return Addressee::homeAddressPostalCodeLabel(); | 155 | return Addressee::homeAddressPostalCodeLabel(); |
151 | case FieldImpl::HomeAddressCountry: | 156 | case FieldImpl::HomeAddressCountry: |
152 | return Addressee::homeAddressCountryLabel(); | 157 | return Addressee::homeAddressCountryLabel(); |
153 | case FieldImpl::HomeAddressLabel: | 158 | case FieldImpl::HomeAddressLabel: |
154 | return Addressee::homeAddressLabelLabel(); | 159 | return Addressee::homeAddressLabelLabel(); |
155 | case FieldImpl::BusinessAddressStreet: | 160 | case FieldImpl::BusinessAddressStreet: |
156 | return Addressee::businessAddressStreetLabel(); | 161 | return Addressee::businessAddressStreetLabel(); |
157 | case FieldImpl::BusinessAddressLocality: | 162 | case FieldImpl::BusinessAddressLocality: |
158 | return Addressee::businessAddressLocalityLabel(); | 163 | return Addressee::businessAddressLocalityLabel(); |
159 | case FieldImpl::BusinessAddressRegion: | 164 | case FieldImpl::BusinessAddressRegion: |
160 | return Addressee::businessAddressRegionLabel(); | 165 | return Addressee::businessAddressRegionLabel(); |
161 | case FieldImpl::BusinessAddressPostalCode: | 166 | case FieldImpl::BusinessAddressPostalCode: |
162 | return Addressee::businessAddressPostalCodeLabel(); | 167 | return Addressee::businessAddressPostalCodeLabel(); |
163 | case FieldImpl::BusinessAddressCountry: | 168 | case FieldImpl::BusinessAddressCountry: |
164 | return Addressee::businessAddressCountryLabel(); | 169 | return Addressee::businessAddressCountryLabel(); |
165 | case FieldImpl::BusinessAddressLabel: | 170 | case FieldImpl::BusinessAddressLabel: |
166 | return Addressee::businessAddressLabelLabel(); | 171 | return Addressee::businessAddressLabelLabel(); |
167 | case FieldImpl::HomePhone: | 172 | case FieldImpl::HomePhone: |
168 | return Addressee::homePhoneLabel(); | 173 | return Addressee::homePhoneLabel(); |
169 | case FieldImpl::BusinessPhone: | 174 | case FieldImpl::BusinessPhone: |
170 | return Addressee::businessPhoneLabel(); | 175 | return Addressee::businessPhoneLabel(); |
171 | case FieldImpl::MobilePhone: | 176 | case FieldImpl::MobilePhone: |
172 | return Addressee::mobilePhoneLabel(); | 177 | return Addressee::mobilePhoneLabel(); |
178 | case FieldImpl::MobileHomePhone: | ||
179 | return Addressee::mobileHomePhoneLabel(); | ||
180 | case FieldImpl::MobileWorkPhone: | ||
181 | return Addressee::mobileWorkPhoneLabel(); | ||
173 | case FieldImpl::HomeFax: | 182 | case FieldImpl::HomeFax: |
174 | return Addressee::homeFaxLabel(); | 183 | return Addressee::homeFaxLabel(); |
175 | case FieldImpl::BusinessFax: | 184 | case FieldImpl::BusinessFax: |
176 | return Addressee::businessFaxLabel(); | 185 | return Addressee::businessFaxLabel(); |
177 | case FieldImpl::CarPhone: | 186 | case FieldImpl::CarPhone: |
178 | return Addressee::carPhoneLabel(); | 187 | return Addressee::carPhoneLabel(); |
179 | case FieldImpl::Isdn: | 188 | case FieldImpl::Isdn: |
180 | return Addressee::isdnLabel(); | 189 | return Addressee::isdnLabel(); |
181 | case FieldImpl::Pager: | 190 | case FieldImpl::Pager: |
182 | return Addressee::pagerLabel(); | 191 | return Addressee::pagerLabel(); |
183 | case FieldImpl::Email: | 192 | case FieldImpl::Email: |
184 | return Addressee::emailLabel(); | 193 | return Addressee::emailLabel(); |
185 | case FieldImpl::Mailer: | 194 | case FieldImpl::Mailer: |
186 | return Addressee::mailerLabel(); | 195 | return Addressee::mailerLabel(); |
187 | case FieldImpl::Title: | 196 | case FieldImpl::Title: |
188 | return Addressee::titleLabel(); | 197 | return Addressee::titleLabel(); |
189 | case FieldImpl::Role: | 198 | case FieldImpl::Role: |
190 | return Addressee::roleLabel(); | 199 | return Addressee::roleLabel(); |
191 | case FieldImpl::Organization: | 200 | case FieldImpl::Organization: |
192 | return Addressee::organizationLabel(); | 201 | return Addressee::organizationLabel(); |
193 | case FieldImpl::Note: | 202 | case FieldImpl::Note: |
194 | return Addressee::noteLabel(); | 203 | return Addressee::noteLabel(); |
195 | case FieldImpl::Url: | 204 | case FieldImpl::Url: |
196 | return Addressee::urlLabel(); | 205 | return Addressee::urlLabel(); |
197 | case FieldImpl::Resource: | 206 | case FieldImpl::Resource: |
198 | return Addressee::resourceLabel(); | 207 | return Addressee::resourceLabel(); |
199 | case FieldImpl::Category: | 208 | case FieldImpl::Category: |
200 | return Addressee::categoryLabel(); | 209 | return Addressee::categoryLabel(); |
201 | case FieldImpl::Sip: | 210 | case FieldImpl::Sip: |
202 | return Addressee::sipLabel(); | 211 | return Addressee::sipLabel(); |
203 | case FieldImpl::CustomField: | 212 | case FieldImpl::CustomField: |
204 | return mImpl->label(); | 213 | return mImpl->label(); |
205 | default: | 214 | default: |
206 | return i18n("Unknown Field"); | 215 | return i18n("Unknown Field"); |
207 | } | 216 | } |
208 | } | 217 | } |
209 | 218 | ||
210 | int Field::category() | 219 | int Field::category() |
211 | { | 220 | { |
212 | return mImpl->category(); | 221 | return mImpl->category(); |
213 | } | 222 | } |
214 | 223 | ||
215 | QString Field::categoryLabel( int category ) | 224 | QString Field::categoryLabel( int category ) |
216 | { | 225 | { |
217 | switch ( category ) { | 226 | switch ( category ) { |
218 | case All: | 227 | case All: |
219 | return i18n("All"); | 228 | return i18n("All"); |
220 | case Frequent: | 229 | case Frequent: |
221 | return i18n("Frequent"); | 230 | return i18n("Frequent"); |
222 | case Address: | 231 | case Address: |
223 | return i18n("Address"); | 232 | return i18n("Address"); |
224 | case Email: | 233 | case Email: |
225 | return i18n("Email"); | 234 | return i18n("Email"); |
226 | case Personal: | 235 | case Personal: |
227 | return i18n("Personal"); | 236 | return i18n("Personal"); |
228 | case Organization: | 237 | case Organization: |
229 | return i18n("Organization"); | 238 | return i18n("Organization"); |
230 | case CustomCategory: | 239 | case CustomCategory: |
231 | return i18n("Custom"); | 240 | return i18n("Custom"); |
232 | default: | 241 | default: |
233 | return i18n("Undefined"); | 242 | return i18n("Undefined"); |
234 | } | 243 | } |
235 | } | 244 | } |
236 | 245 | ||
237 | QString Field::value( const KABC::Addressee &a ) | 246 | QString Field::value( const KABC::Addressee &a ) |
238 | { | 247 | { |
239 | switch ( mImpl->fieldId() ) { | 248 | switch ( mImpl->fieldId() ) { |
240 | case FieldImpl::FormattedName: | 249 | case FieldImpl::FormattedName: |
241 | return a.formattedName(); | 250 | return a.formattedName(); |
251 | case FieldImpl::DefaultFormattedName: | ||
252 | return a.defaultFormattedName(); | ||
242 | case FieldImpl::FamilyName: | 253 | case FieldImpl::FamilyName: |
243 | return a.familyName(); | 254 | return a.familyName(); |
244 | case FieldImpl::GivenName: | 255 | case FieldImpl::GivenName: |
245 | return a.givenName(); | 256 | return a.givenName(); |
246 | case FieldImpl::AdditionalName: | 257 | case FieldImpl::AdditionalName: |
247 | return a.additionalName(); | 258 | return a.additionalName(); |
248 | case FieldImpl::Prefix: | 259 | case FieldImpl::Prefix: |
249 | return a.prefix(); | 260 | return a.prefix(); |
250 | case FieldImpl::Suffix: | 261 | case FieldImpl::Suffix: |
251 | return a.suffix(); | 262 | return a.suffix(); |
252 | case FieldImpl::NickName: | 263 | case FieldImpl::NickName: |
253 | return a.nickName(); | 264 | return a.nickName(); |
254 | case FieldImpl::Mailer: | 265 | case FieldImpl::Mailer: |
255 | return a.mailer(); | 266 | return a.mailer(); |
256 | case FieldImpl::Title: | 267 | case FieldImpl::Title: |
257 | return a.title(); | 268 | return a.title(); |
258 | case FieldImpl::Role: | 269 | case FieldImpl::Role: |
259 | return a.role(); | 270 | return a.role(); |
260 | case FieldImpl::Organization: | 271 | case FieldImpl::Organization: |
261 | return a.organization(); | 272 | return a.organization(); |
262 | case FieldImpl::Note: | 273 | case FieldImpl::Note: |
263 | return a.note(); | 274 | return a.note(); |
264 | case FieldImpl::Email: | 275 | case FieldImpl::Email: |
265 | return a.preferredEmail(); | 276 | return a.preferredEmail(); |
266 | case FieldImpl::Birthday: | 277 | case FieldImpl::Birthday: |
267 | if ( a.birthday().isValid() ) { | 278 | if ( a.birthday().isValid() ) { |
268 | //the generated code had the following format: return a.birthday().date().toString( Qt::ISODate ); | 279 | //the generated code had the following format: return a.birthday().date().toString( Qt::ISODate ); |
269 | // But Qt::IsoDate was not specified. | 280 | // But Qt::IsoDate was not specified. |
270 | // QString _oldFormat = KGlobal::locale()->dateFormat(); | 281 | // QString _oldFormat = KGlobal::locale()->dateFormat(); |
271 | // KGlobal::locale()->setDateFormat("%Y-%m-%d"); // = Qt::ISODate | 282 | // KGlobal::locale()->setDateFormat("%Y-%m-%d"); // = Qt::ISODate |
272 | QString dt = KGlobal::locale()->formatDate(a.birthday().date(), false, KLocale::ISODate); | 283 | QString dt = KGlobal::locale()->formatDate(a.birthday().date(), false, KLocale::ISODate); |
273 | // KGlobal::locale()->setDateFormat(_oldFormat); | 284 | // KGlobal::locale()->setDateFormat(_oldFormat); |
274 | return dt; | 285 | return dt; |
275 | } | 286 | } |
276 | else | 287 | else |
277 | return QString::null; | 288 | return QString::null; |
278 | case FieldImpl::Url: | 289 | case FieldImpl::Url: |
279 | return a.url().prettyURL(); | 290 | return a.url().prettyURL(); |
280 | //US | 291 | //US |
281 | case FieldImpl::Resource: | 292 | case FieldImpl::Resource: |
282 | return a.resource()->resourceName(); | 293 | return a.resource()->resourceName(); |
283 | case FieldImpl::Category: | 294 | case FieldImpl::Category: |
284 | return a.categories().join(","); | 295 | return a.categories().join(","); |
285 | case FieldImpl::HomePhone: | 296 | case FieldImpl::HomePhone: |
286 | return a.phoneNumber( PhoneNumber::Home ).number(); | 297 | return a.phoneNumber( PhoneNumber::Home ).number(); |
287 | case FieldImpl::BusinessPhone: | 298 | case FieldImpl::BusinessPhone: |
288 | return a.phoneNumber( PhoneNumber::Work ).number(); | 299 | return a.phoneNumber( PhoneNumber::Work ).number(); |
289 | case FieldImpl::MobilePhone: | 300 | case FieldImpl::MobilePhone: |
290 | return a.phoneNumber( PhoneNumber::Cell ).number(); | 301 | return a.phoneNumber( PhoneNumber::Cell ).number(); |
302 | case FieldImpl::MobileWorkPhone: | ||
303 | return a.phoneNumber( PhoneNumber::Cell | PhoneNumber::Work ).number(); | ||
304 | case FieldImpl::MobileHomePhone: | ||
305 | return a.phoneNumber( PhoneNumber::Cell | PhoneNumber::Home ).number(); | ||
291 | case FieldImpl::HomeFax: | 306 | case FieldImpl::HomeFax: |
292 | return a.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax ).number(); | 307 | return a.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax ).number(); |
293 | case FieldImpl::BusinessFax: | 308 | case FieldImpl::BusinessFax: |
294 | return a.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax ).number(); | 309 | return a.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax ).number(); |
295 | case FieldImpl::CarPhone: | 310 | case FieldImpl::CarPhone: |
296 | return a.phoneNumber( PhoneNumber::Car ).number(); | 311 | return a.phoneNumber( PhoneNumber::Car ).number(); |
297 | case FieldImpl::Isdn: | 312 | case FieldImpl::Isdn: |
298 | return a.phoneNumber( PhoneNumber::Isdn ).number(); | 313 | return a.phoneNumber( PhoneNumber::Isdn ).number(); |
299 | case FieldImpl::Pager: | 314 | case FieldImpl::Pager: |
300 | return a.phoneNumber( PhoneNumber::Pager ).number(); | 315 | return a.phoneNumber( PhoneNumber::Pager ).number(); |
301 | case FieldImpl::Sip: | 316 | case FieldImpl::Sip: |
302 | return a.phoneNumber( PhoneNumber::Sip ).number(); | 317 | return a.phoneNumber( PhoneNumber::Sip ).number(); |
303 | case FieldImpl::HomeAddressStreet: | 318 | case FieldImpl::HomeAddressStreet: |
304 | return a.address( Address::Home ).street(); | 319 | return a.address( Address::Home ).street(); |
305 | case FieldImpl::HomeAddressLocality: | 320 | case FieldImpl::HomeAddressLocality: |
306 | return a.address( Address::Home ).locality(); | 321 | return a.address( Address::Home ).locality(); |
307 | case FieldImpl::HomeAddressRegion: | 322 | case FieldImpl::HomeAddressRegion: |
308 | return a.address( Address::Home ).region(); | 323 | return a.address( Address::Home ).region(); |
309 | case FieldImpl::HomeAddressPostalCode: | 324 | case FieldImpl::HomeAddressPostalCode: |
310 | return a.address( Address::Home ).postalCode(); | 325 | return a.address( Address::Home ).postalCode(); |
311 | case FieldImpl::HomeAddressCountry: | 326 | case FieldImpl::HomeAddressCountry: |
312 | return a.address( Address::Home ).country(); | 327 | return a.address( Address::Home ).country(); |
313 | case FieldImpl::BusinessAddressStreet: | 328 | case FieldImpl::BusinessAddressStreet: |
314 | return a.address( Address::Work ).street(); | 329 | return a.address( Address::Work ).street(); |
315 | case FieldImpl::BusinessAddressLocality: | 330 | case FieldImpl::BusinessAddressLocality: |
316 | return a.address( Address::Work ).locality(); | 331 | return a.address( Address::Work ).locality(); |
317 | case FieldImpl::BusinessAddressRegion: | 332 | case FieldImpl::BusinessAddressRegion: |
318 | return a.address( Address::Work ).region(); | 333 | return a.address( Address::Work ).region(); |
319 | case FieldImpl::BusinessAddressPostalCode: | 334 | case FieldImpl::BusinessAddressPostalCode: |
320 | return a.address( Address::Work ).postalCode(); | 335 | return a.address( Address::Work ).postalCode(); |
321 | case FieldImpl::BusinessAddressCountry: | 336 | case FieldImpl::BusinessAddressCountry: |
322 | return a.address( Address::Work ).country(); | 337 | return a.address( Address::Work ).country(); |
323 | case FieldImpl::CustomField: | 338 | case FieldImpl::CustomField: |
324 | return a.custom( mImpl->app(), mImpl->key() ); | 339 | return a.custom( mImpl->app(), mImpl->key() ); |
325 | default: | 340 | default: |
326 | return QString::null; | 341 | return QString::null; |
327 | } | 342 | } |
328 | } | 343 | } |
329 | 344 | ||
330 | bool Field::setValue( KABC::Addressee &a, const QString &value ) | 345 | bool Field::setValue( KABC::Addressee &a, const QString &value ) |
331 | { | 346 | { |
332 | switch ( mImpl->fieldId() ) { | 347 | switch ( mImpl->fieldId() ) { |
333 | case FieldImpl::FormattedName: | 348 | case FieldImpl::FormattedName: |
334 | a.setFormattedName( value ); | 349 | a.setFormattedName( value ); |
335 | return true; | 350 | return true; |
336 | case FieldImpl::FamilyName: | 351 | case FieldImpl::FamilyName: |
337 | a.setFamilyName( value ); | 352 | a.setFamilyName( value ); |
338 | return true; | 353 | return true; |
@@ -348,119 +363,122 @@ bool Field::setValue( KABC::Addressee &a, const QString &value ) | |||
348 | case FieldImpl::Suffix: | 363 | case FieldImpl::Suffix: |
349 | a.setSuffix( value ); | 364 | a.setSuffix( value ); |
350 | return true; | 365 | return true; |
351 | case FieldImpl::NickName: | 366 | case FieldImpl::NickName: |
352 | a.setNickName( value ); | 367 | a.setNickName( value ); |
353 | return true; | 368 | return true; |
354 | case FieldImpl::Mailer: | 369 | case FieldImpl::Mailer: |
355 | a.setMailer( value ); | 370 | a.setMailer( value ); |
356 | return true; | 371 | return true; |
357 | case FieldImpl::Title: | 372 | case FieldImpl::Title: |
358 | a.setTitle( value ); | 373 | a.setTitle( value ); |
359 | return true; | 374 | return true; |
360 | case FieldImpl::Role: | 375 | case FieldImpl::Role: |
361 | a.setRole( value ); | 376 | a.setRole( value ); |
362 | return true; | 377 | return true; |
363 | case FieldImpl::Organization: | 378 | case FieldImpl::Organization: |
364 | a.setOrganization( value ); | 379 | a.setOrganization( value ); |
365 | return true; | 380 | return true; |
366 | case FieldImpl::Note: | 381 | case FieldImpl::Note: |
367 | a.setNote( value ); | 382 | a.setNote( value ); |
368 | return true; | 383 | return true; |
369 | case FieldImpl::Birthday: | 384 | case FieldImpl::Birthday: |
370 | //US | 385 | //US |
371 | //the generated code had the following format: return a.setBirthday( QDate::fromString( value, Qt::ISODate ) ); | 386 | //the generated code had the following format: return a.setBirthday( QDate::fromString( value, Qt::ISODate ) ); |
372 | // But Qt::IsoDate and QDate::fromString was not specified. Do I have the wrong QT version ? | 387 | // But Qt::IsoDate and QDate::fromString was not specified. Do I have the wrong QT version ? |
373 | { | 388 | { |
374 | QDate dt = KGlobal::locale()->readDate( value, "%Y-%m-%d"); // = Qt::ISODate | 389 | QDate dt = KGlobal::locale()->readDate( value, "%Y-%m-%d"); // = Qt::ISODate |
375 | a.setBirthday(dt); | 390 | a.setBirthday(dt); |
376 | } | 391 | } |
377 | return true; | 392 | return true; |
378 | case FieldImpl::CustomField: | 393 | case FieldImpl::CustomField: |
379 | a.insertCustom( mImpl->app(), mImpl->key(), value ); | 394 | a.insertCustom( mImpl->app(), mImpl->key(), value ); |
380 | //US never copy the resourcename back to the adressee. | 395 | //US never copy the resourcename back to the adressee. |
381 | case FieldImpl::Resource: | 396 | case FieldImpl::Resource: |
382 | default: | 397 | default: |
383 | return false; | 398 | return false; |
384 | } | 399 | } |
385 | } | 400 | } |
386 | 401 | ||
387 | bool Field::isCustom() | 402 | bool Field::isCustom() |
388 | { | 403 | { |
389 | return mImpl->fieldId() == FieldImpl::CustomField; | 404 | return mImpl->fieldId() == FieldImpl::CustomField; |
390 | } | 405 | } |
391 | 406 | ||
392 | Field::List Field::allFields() | 407 | Field::List Field::allFields() |
393 | { | 408 | { |
394 | if ( mAllFields.isEmpty() ) { | 409 | if ( mAllFields.isEmpty() ) { |
395 | createField( FieldImpl::FormattedName, Frequent ); | 410 | createField( FieldImpl::FormattedName, Frequent ); |
411 | createField( FieldImpl::DefaultFormattedName, Frequent ); | ||
396 | createField( FieldImpl::FamilyName, Frequent ); | 412 | createField( FieldImpl::FamilyName, Frequent ); |
397 | createField( FieldImpl::GivenName, Frequent ); | 413 | createField( FieldImpl::GivenName, Frequent ); |
398 | createField( FieldImpl::AdditionalName ); | 414 | createField( FieldImpl::AdditionalName ); |
399 | createField( FieldImpl::Prefix ); | 415 | createField( FieldImpl::Prefix ); |
400 | createField( FieldImpl::Suffix ); | 416 | createField( FieldImpl::Suffix ); |
401 | createField( FieldImpl::NickName, Personal ); | 417 | createField( FieldImpl::NickName, Personal ); |
402 | createField( FieldImpl::Birthday, Personal ); | 418 | createField( FieldImpl::Birthday, Personal ); |
403 | createField( FieldImpl::Category ); | 419 | createField( FieldImpl::Category ); |
404 | createField( FieldImpl::HomeAddressStreet, Address|Personal ); | 420 | createField( FieldImpl::HomeAddressStreet, Address|Personal ); |
405 | createField( FieldImpl::HomeAddressLocality, Address|Personal ); | 421 | createField( FieldImpl::HomeAddressLocality, Address|Personal ); |
406 | createField( FieldImpl::HomeAddressRegion, Address|Personal ); | 422 | createField( FieldImpl::HomeAddressRegion, Address|Personal ); |
407 | createField( FieldImpl::HomeAddressPostalCode, Address|Personal ); | 423 | createField( FieldImpl::HomeAddressPostalCode, Address|Personal ); |
408 | createField( FieldImpl::HomeAddressCountry, Address|Personal ); | 424 | createField( FieldImpl::HomeAddressCountry, Address|Personal ); |
409 | createField( FieldImpl::HomeAddressLabel, Address|Personal ); | 425 | createField( FieldImpl::HomeAddressLabel, Address|Personal ); |
410 | createField( FieldImpl::BusinessAddressStreet, Address|Organization ); | 426 | createField( FieldImpl::BusinessAddressStreet, Address|Organization ); |
411 | createField( FieldImpl::BusinessAddressLocality, Address|Organization ); | 427 | createField( FieldImpl::BusinessAddressLocality, Address|Organization ); |
412 | createField( FieldImpl::BusinessAddressRegion, Address|Organization ); | 428 | createField( FieldImpl::BusinessAddressRegion, Address|Organization ); |
413 | createField( FieldImpl::BusinessAddressPostalCode, Address|Organization ); | 429 | createField( FieldImpl::BusinessAddressPostalCode, Address|Organization ); |
414 | createField( FieldImpl::BusinessAddressCountry, Address|Organization ); | 430 | createField( FieldImpl::BusinessAddressCountry, Address|Organization ); |
415 | createField( FieldImpl::BusinessAddressLabel, Address|Organization ); | 431 | createField( FieldImpl::BusinessAddressLabel, Address|Organization ); |
416 | createField( FieldImpl::HomePhone, Personal|Frequent ); | 432 | createField( FieldImpl::HomePhone, Personal|Frequent ); |
417 | createField( FieldImpl::BusinessPhone, Organization|Frequent ); | 433 | createField( FieldImpl::BusinessPhone, Organization|Frequent ); |
418 | createField( FieldImpl::MobilePhone, Frequent ); | 434 | createField( FieldImpl::MobilePhone, Frequent ); |
435 | createField( FieldImpl::MobileHomePhone, Frequent ); | ||
436 | createField( FieldImpl::MobileWorkPhone, Frequent ); | ||
419 | createField( FieldImpl::HomeFax ); | 437 | createField( FieldImpl::HomeFax ); |
420 | createField( FieldImpl::BusinessFax ); | 438 | createField( FieldImpl::BusinessFax ); |
421 | createField( FieldImpl::CarPhone ); | 439 | createField( FieldImpl::CarPhone ); |
422 | createField( FieldImpl::Isdn ); | 440 | createField( FieldImpl::Isdn ); |
423 | createField( FieldImpl::Pager ); | 441 | createField( FieldImpl::Pager ); |
424 | createField( FieldImpl::Email, Email|Frequent ); | 442 | createField( FieldImpl::Email, Email|Frequent ); |
425 | createField( FieldImpl::Mailer, Email ); | 443 | createField( FieldImpl::Mailer, Email ); |
426 | createField( FieldImpl::Title, Organization ); | 444 | createField( FieldImpl::Title, Organization ); |
427 | createField( FieldImpl::Role, Organization ); | 445 | createField( FieldImpl::Role, Organization ); |
428 | createField( FieldImpl::Organization, Organization ); | 446 | createField( FieldImpl::Organization, Organization ); |
429 | createField( FieldImpl::Note ); | 447 | createField( FieldImpl::Note ); |
430 | createField( FieldImpl::Url ); | 448 | createField( FieldImpl::Url ); |
431 | createField( FieldImpl::Resource ); | 449 | createField( FieldImpl::Resource ); |
432 | createField( FieldImpl::Sip ); | 450 | createField( FieldImpl::Sip ); |
433 | } | 451 | } |
434 | 452 | ||
435 | return mAllFields; | 453 | return mAllFields; |
436 | } | 454 | } |
437 | 455 | ||
438 | Field::List Field::defaultFields() | 456 | Field::List Field::defaultFields() |
439 | { | 457 | { |
440 | if ( mDefaultFields.isEmpty() ) { | 458 | if ( mDefaultFields.isEmpty() ) { |
441 | createDefaultField( FieldImpl::GivenName ); | 459 | createDefaultField( FieldImpl::GivenName ); |
442 | createDefaultField( FieldImpl::FamilyName ); | 460 | createDefaultField( FieldImpl::FamilyName ); |
443 | createDefaultField( FieldImpl::Email ); | 461 | createDefaultField( FieldImpl::Email ); |
444 | } | 462 | } |
445 | 463 | ||
446 | return mDefaultFields; | 464 | return mDefaultFields; |
447 | } | 465 | } |
448 | 466 | ||
449 | void Field::createField( int id, int category ) | 467 | void Field::createField( int id, int category ) |
450 | { | 468 | { |
451 | mAllFields.append( new Field( new FieldImpl( id, category ) ) ); | 469 | mAllFields.append( new Field( new FieldImpl( id, category ) ) ); |
452 | } | 470 | } |
453 | 471 | ||
454 | void Field::createDefaultField( int id, int category ) | 472 | void Field::createDefaultField( int id, int category ) |
455 | { | 473 | { |
456 | mDefaultFields.append( new Field( new FieldImpl( id, category ) ) ); | 474 | mDefaultFields.append( new Field( new FieldImpl( id, category ) ) ); |
457 | } | 475 | } |
458 | 476 | ||
459 | void Field::deleteFields() | 477 | void Field::deleteFields() |
460 | { | 478 | { |
461 | Field::List::ConstIterator it; | 479 | Field::List::ConstIterator it; |
462 | 480 | ||
463 | for( it = mAllFields.begin(); it != mAllFields.end(); ++it ) { | 481 | for( it = mAllFields.begin(); it != mAllFields.end(); ++it ) { |
464 | delete (*it); | 482 | delete (*it); |
465 | } | 483 | } |
466 | mAllFields.clear(); | 484 | mAllFields.clear(); |
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp index 041effc..4c6231d 100644 --- a/kabc/phonenumber.cpp +++ b/kabc/phonenumber.cpp | |||
@@ -132,105 +132,104 @@ void PhoneNumber::setType( int type ) | |||
132 | int PhoneNumber::type() const | 132 | int PhoneNumber::type() const |
133 | { | 133 | { |
134 | return mType; | 134 | return mType; |
135 | } | 135 | } |
136 | 136 | ||
137 | QString PhoneNumber::typeLabel() const | 137 | QString PhoneNumber::typeLabel() const |
138 | { | 138 | { |
139 | QString label; | 139 | QString label; |
140 | bool first = true; | 140 | bool first = true; |
141 | 141 | ||
142 | TypeList list = typeList(); | 142 | TypeList list = typeList(); |
143 | 143 | ||
144 | TypeList::Iterator it; | 144 | TypeList::Iterator it; |
145 | for ( it = list.begin(); it != list.end(); ++it ) { | 145 | for ( it = list.begin(); it != list.end(); ++it ) { |
146 | if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { | 146 | if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { |
147 | label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); | 147 | label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); |
148 | if ( first ) | 148 | if ( first ) |
149 | first = false; | 149 | first = false; |
150 | } | 150 | } |
151 | } | 151 | } |
152 | 152 | ||
153 | return label; | 153 | return label; |
154 | } | 154 | } |
155 | 155 | ||
156 | QString PhoneNumber::label() const | 156 | QString PhoneNumber::label() const |
157 | { | 157 | { |
158 | return typeLabel( type() ); | 158 | return typeLabel( type() ); |
159 | } | 159 | } |
160 | 160 | ||
161 | PhoneNumber::TypeList PhoneNumber::typeList() | 161 | PhoneNumber::TypeList PhoneNumber::typeList() |
162 | { | 162 | { |
163 | TypeList list; | 163 | TypeList list; |
164 | 164 | ||
165 | list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video | 165 | list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video |
166 | << Bbs << Modem << Car << Isdn << Pcs << Pager << Sip; | 166 | << Bbs << Modem << Car << Isdn << Pcs << Pager << Sip; |
167 | 167 | ||
168 | return list; | 168 | return list; |
169 | } | 169 | } |
170 | 170 | ||
171 | QString PhoneNumber::label( int type ) | 171 | QString PhoneNumber::label( int type ) |
172 | { | 172 | { |
173 | return typeLabel( type ); | 173 | return typeLabel( type ); |
174 | } | 174 | } |
175 | 175 | ||
176 | QString PhoneNumber::typeLabel( int type ) | 176 | QString PhoneNumber::typeLabel( int type ) |
177 | { | 177 | { |
178 | QString typeString; | 178 | QString typeString; |
179 | 179 | ||
180 | |||
181 | if ((type & Cell) == Cell) | ||
182 | typeString += i18n("Mobile") +" "; | ||
180 | if ((type & Home) == Home) | 183 | if ((type & Home) == Home) |
181 | typeString += i18n("Home"); | 184 | typeString += i18n("Home")+" "; |
182 | else if ((type & Work) == Work) | 185 | else if ((type & Work) == Work) |
183 | typeString += i18n("Work"); | 186 | typeString += i18n("Work")+" "; |
184 | 187 | ||
185 | if (!typeString.isEmpty()) | 188 | if ((type & Sip) == Sip) |
186 | typeString += " "; | ||
187 | if ((type & Cell) == Cell) | ||
188 | typeString += i18n("Mobile") +" "; | ||
189 | if ((type & Sip) == Sip) | ||
190 | typeString += i18n("SIP")+" "; | 189 | typeString += i18n("SIP")+" "; |
191 | if ((type & Car) == Car) | 190 | if ((type & Car) == Car) |
192 | typeString += i18n("Car")+" "; | 191 | typeString += i18n("Car")+" "; |
193 | 192 | ||
194 | if ((type & Fax) == Fax) | 193 | if ((type & Fax) == Fax) |
195 | typeString += i18n("Fax"); | 194 | typeString += i18n("Fax"); |
196 | else if ((type & Msg) == Msg) | 195 | else if ((type & Msg) == Msg) |
197 | typeString += i18n("Messenger"); | 196 | typeString += i18n("Messenger"); |
198 | else if ((type & Video) == Video) | 197 | else if ((type & Video) == Video) |
199 | typeString += i18n("Video"); | 198 | typeString += i18n("Video"); |
200 | else if ((type & Bbs) == Bbs) | 199 | else if ((type & Bbs) == Bbs) |
201 | typeString += i18n("Mailbox"); | 200 | typeString += i18n("Mailbox"); |
202 | else if ((type & Modem) == Modem) | 201 | else if ((type & Modem) == Modem) |
203 | typeString += i18n("Modem"); | 202 | typeString += i18n("Modem"); |
204 | else if ((type & Isdn) == Isdn) | 203 | else if ((type & Isdn) == Isdn) |
205 | typeString += i18n("ISDN"); | 204 | typeString += i18n("ISDN"); |
206 | else if ((type & Pcs) == Pcs) | 205 | else if ((type & Pcs) == Pcs) |
207 | typeString += i18n("PCS"); | 206 | typeString += i18n("PCS"); |
208 | else if ((type & Pager) == Pager) | 207 | else if ((type & Pager) == Pager) |
209 | typeString += i18n("Pager"); | 208 | typeString += i18n("Pager"); |
210 | // add the prefered flag | 209 | // add the prefered flag |
211 | /* | 210 | /* |
212 | if ((type & Pref) == Pref) | 211 | if ((type & Pref) == Pref) |
213 | typeString += i18n("(p)"); | 212 | typeString += i18n("(p)"); |
214 | */ | 213 | */ |
215 | //if we still have no match, return "other" | 214 | //if we still have no match, return "other" |
216 | if (typeString.isEmpty()) { | 215 | if (typeString.isEmpty()) { |
217 | if ((type & Voice) == Voice) | 216 | if ((type & Voice) == Voice) |
218 | return i18n("Voice"); | 217 | return i18n("Voice"); |
219 | else | 218 | else |
220 | return i18n("Other"); | 219 | return i18n("Other"); |
221 | } | 220 | } |
222 | 221 | ||
223 | return typeString.stripWhiteSpace(); | 222 | return typeString.stripWhiteSpace(); |
224 | } | 223 | } |
225 | 224 | ||
226 | QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone ) | 225 | QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone ) |
227 | { | 226 | { |
228 | return s << phone.mId << phone.mType << phone.mNumber; | 227 | return s << phone.mId << phone.mType << phone.mNumber; |
229 | } | 228 | } |
230 | 229 | ||
231 | QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone ) | 230 | QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone ) |
232 | { | 231 | { |
233 | s >> phone.mId >> phone.mType >> phone.mNumber; | 232 | s >> phone.mId >> phone.mType >> phone.mNumber; |
234 | 233 | ||
235 | return s; | 234 | return s; |
236 | } | 235 | } |
diff --git a/kaddressbook/views/kaddressbooktableview.cpp b/kaddressbook/views/kaddressbooktableview.cpp index e322473..565cd1d 100644 --- a/kaddressbook/views/kaddressbooktableview.cpp +++ b/kaddressbook/views/kaddressbooktableview.cpp | |||
@@ -141,97 +141,97 @@ void KAddressBookTableView::reconstructListView() | |||
141 | } | 141 | } |
142 | 142 | ||
143 | void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) | 143 | void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) |
144 | { | 144 | { |
145 | mListView->clear(); | 145 | mListView->clear(); |
146 | if ( s.isEmpty() || s == "*" ) { | 146 | if ( s.isEmpty() || s == "*" ) { |
147 | refresh(); | 147 | refresh(); |
148 | return; | 148 | return; |
149 | } | 149 | } |
150 | QRegExp re = getRegExp( s ); | 150 | QRegExp re = getRegExp( s ); |
151 | if (!re.isValid()) | 151 | if (!re.isValid()) |
152 | return; | 152 | return; |
153 | KABC::Addressee::List addresseeList = addressees(); | 153 | KABC::Addressee::List addresseeList = addressees(); |
154 | KABC::Addressee::List::Iterator it; | 154 | KABC::Addressee::List::Iterator it; |
155 | if ( field ) { | 155 | if ( field ) { |
156 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 156 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
157 | if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) | 157 | if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) |
158 | continue; | 158 | continue; |
159 | #if QT_VERSION >= 0x030000 | 159 | #if QT_VERSION >= 0x030000 |
160 | if (re.search(field->value( *it ).lower()) == 0) | 160 | if (re.search(field->value( *it ).lower()) == 0) |
161 | #else | 161 | #else |
162 | if (re.match(field->value( *it ).lower()) != -1) | 162 | if (re.match(field->value( *it ).lower()) != -1) |
163 | #endif | 163 | #endif |
164 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 164 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
165 | 165 | ||
166 | } | 166 | } |
167 | } else { | 167 | } else { |
168 | KABC::Field::List fieldList = allFields(); | 168 | KABC::Field::List fieldList = allFields(); |
169 | KABC::Field::List::ConstIterator fieldIt; | 169 | KABC::Field::List::ConstIterator fieldIt; |
170 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 170 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
171 | if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) | 171 | if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) |
172 | continue; | 172 | continue; |
173 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { | 173 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { |
174 | #if QT_VERSION >= 0x030000 | 174 | #if QT_VERSION >= 0x030000 |
175 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) | 175 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) |
176 | #else | 176 | #else |
177 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) | 177 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) |
178 | #endif | 178 | #endif |
179 | { | 179 | { |
180 | //qDebug("match %s %s %s", pattern.latin1(), (*fieldIt)->value( *it ).latin1(), (*fieldIt)->label().latin1() ); | 180 | //qDebug("match %s %s %s", pattern.latin1(), (*fieldIt)->value( *it ).latin1(), (*fieldIt)->label().latin1() ); |
181 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 181 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
182 | break; | 182 | break; |
183 | } | 183 | } |
184 | } | 184 | } |
185 | } | 185 | } |
186 | } | 186 | } |
187 | // Sometimes the background pixmap gets messed up when we add lots | 187 | // Sometimes the background pixmap gets messed up when we add lots |
188 | // of items. | 188 | // of items. |
189 | mListView->repaint(); | 189 | //mListView->repaint(); |
190 | if ( mListView->firstChild() ) { | 190 | if ( mListView->firstChild() ) { |
191 | mListView->setCurrentItem ( mListView->firstChild() ); | 191 | mListView->setCurrentItem ( mListView->firstChild() ); |
192 | mListView->setSelected ( mListView->firstChild(), true ); | 192 | mListView->setSelected ( mListView->firstChild(), true ); |
193 | } | 193 | } |
194 | else | 194 | else |
195 | emit selected(QString::null); | 195 | emit selected(QString::null); |
196 | 196 | ||
197 | } | 197 | } |
198 | void KAddressBookTableView::writeConfig(KConfig *config) | 198 | void KAddressBookTableView::writeConfig(KConfig *config) |
199 | { | 199 | { |
200 | KAddressBookView::writeConfig(config); | 200 | KAddressBookView::writeConfig(config); |
201 | 201 | ||
202 | mListView->saveLayout(config, config->group()); | 202 | mListView->saveLayout(config, config->group()); |
203 | } | 203 | } |
204 | 204 | ||
205 | void KAddressBookTableView::readConfig(KConfig *config) | 205 | void KAddressBookTableView::readConfig(KConfig *config) |
206 | { | 206 | { |
207 | KAddressBookView::readConfig( config ); | 207 | KAddressBookView::readConfig( config ); |
208 | // The config could have changed the fields, so we need to reconstruct | 208 | // The config could have changed the fields, so we need to reconstruct |
209 | // the listview. | 209 | // the listview. |
210 | reconstructListView(); | 210 | reconstructListView(); |
211 | 211 | ||
212 | // costum colors? | 212 | // costum colors? |
213 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) | 213 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) |
214 | { | 214 | { |
215 | QPalette p( mListView->palette() ); | 215 | QPalette p( mListView->palette() ); |
216 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); | 216 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); |
217 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); | 217 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); |
218 | c = p.color(QPalette::Normal, QColorGroup::Text ); | 218 | c = p.color(QPalette::Normal, QColorGroup::Text ); |
219 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); | 219 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); |
220 | c = p.color(QPalette::Normal, QColorGroup::Button ); | 220 | c = p.color(QPalette::Normal, QColorGroup::Button ); |
221 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); | 221 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); |
222 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); | 222 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); |
223 | p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) ); | 223 | p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) ); |
224 | c = p.color(QPalette::Normal, QColorGroup::Highlight ); | 224 | c = p.color(QPalette::Normal, QColorGroup::Highlight ); |
225 | p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) ); | 225 | p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) ); |
226 | c = p.color(QPalette::Normal, QColorGroup::HighlightedText ); | 226 | c = p.color(QPalette::Normal, QColorGroup::HighlightedText ); |
227 | p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) ); | 227 | p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) ); |
228 | #ifndef KAB_EMBEDDED | 228 | #ifndef KAB_EMBEDDED |
229 | c = KGlobalSettings::alternateBackgroundColor(); | 229 | c = KGlobalSettings::alternateBackgroundColor(); |
230 | #else //KAB_EMBEDDED | 230 | #else //KAB_EMBEDDED |
231 | c = QColor(240, 240, 240); | 231 | c = QColor(240, 240, 240); |
232 | #endif //KAB_EMBEDDED | 232 | #endif //KAB_EMBEDDED |
233 | c = config->readColorEntry ("AlternatingBackgroundColor", &c); | 233 | c = config->readColorEntry ("AlternatingBackgroundColor", &c); |
234 | mListView->setAlternateColor(c); | 234 | mListView->setAlternateColor(c); |
235 | 235 | ||
236 | 236 | ||
237 | //US mListView->viewport()->setPalette( p ); | 237 | //US mListView->viewport()->setPalette( p ); |