|
|
|
The KDE addressbook
|
|
|
|
===================
|
|
|
|
|
|
|
|
The format that kab uses is plain ASCII, written by an QConfigDB object.
|
|
|
|
|
|
|
|
In general, the QConfigDB class provides an easy way to read and
|
|
|
|
write hierarchical structured files storing data of basic C++ data
|
|
|
|
types. The files may be edited manually if the syntax is not
|
|
|
|
violated.
|
|
|
|
|
|
|
|
kab handles address book entries. Each entry is meant to represent a
|
|
|
|
person. Thus, for each entry, it is possible to store more than one
|
|
|
|
address (like home or business addresses).
|
|
|
|
|
|
|
|
An addressbook database file contains two sections, one to store the
|
|
|
|
users entries, called "entries", and one to store the configuration,
|
|
|
|
called "config". Every subsection of the "entries" section is one
|
|
|
|
entry, containing
|
|
|
|
- a section "addresses", where in turn each subsection is one address
|
|
|
|
related to the person
|
|
|
|
- a number of key-value pairs storing data of the person.
|
|
|
|
|
|
|
|
An example entry could look like this:
|
|
|
|
|
|
|
|
[15]
|
|
|
|
# subsections:
|
|
|
|
[addresses]
|
|
|
|
# subsections:
|
|
|
|
[1]
|
|
|
|
# key-value-pairs:
|
|
|
|
address="..."
|
|
|
|
country=""
|
|
|
|
deliverylabel=""
|
|
|
|
headline="street address"
|
|
|
|
org=""
|
|
|
|
orgsubunit=""
|
|
|
|
orgunit=""
|
|
|
|
position=""
|
|
|
|
state=""
|
|
|
|
town=""
|
|
|
|
zip=""
|
|
|
|
[END 1]
|
|
|
|
[2]
|
|
|
|
# key-value-pairs:
|
|
|
|
address="..."
|
|
|
|
country=""
|
|
|
|
deliverylabel=""
|
|
|
|
headline="business address"
|
|
|
|
org=""
|
|
|
|
orgsubunit=""
|
|
|
|
orgunit=""
|
|
|
|
position=""
|
|
|
|
state=""
|
|
|
|
town=""
|
|
|
|
zip=""
|
|
|
|
[END 2]
|
|
|
|
[END addresses]
|
|
|
|
# key-value-pairs:
|
|
|
|
URLs="http://www.kde.org\e"
|
|
|
|
birthday="0, 0, 0"
|
|
|
|
comment=""
|
|
|
|
custom=""
|
|
|
|
emails="kde-devel@kde.org\ekde-announce@lists.netcentral.net\e"
|
|
|
|
firstname=""
|
|
|
|
fn="KDE Mailing-Listen"
|
|
|
|
keywords=""
|
|
|
|
lastname=""
|
|
|
|
middlename=""
|
|
|
|
nameprefix=""
|
|
|
|
rank=""
|
|
|
|
talk=""
|
|
|
|
telephone=""
|
|
|
|
title=""
|
|
|
|
user1=""
|
|
|
|
user2=""
|
|
|
|
user3=""
|
|
|
|
user4=""
|
|
|
|
[END 15]
|
|
|
|
|
|
|
|
To get a overview of the meanings of the fields, just have a look at
|
|
|
|
addressbook.h. If you plan to access kab databases, you should use the
|
|
|
|
kab API that is defined in kabapi.h and link libkabs.so to your
|
|
|
|
application. (read README.KABAPI).
|
|
|
|
|
|
|
|
Mirko Boehm, Mai 2001.
|