summaryrefslogtreecommitdiffabout
path: root/kabc
Unidiff
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/formatfactory.cpp2
-rw-r--r--kabc/formatplugin.h5
-rw-r--r--kabc/kabcE.pro2
-rw-r--r--kabc/stdaddressbook.cpp6
4 files changed, 9 insertions, 6 deletions
diff --git a/kabc/formatfactory.cpp b/kabc/formatfactory.cpp
index f107ebf..f2f03c6 100644
--- a/kabc/formatfactory.cpp
+++ b/kabc/formatfactory.cpp
@@ -1,138 +1,136 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21#include <kdebug.h> 21#include <kdebug.h>
22#include <klocale.h> 22#include <klocale.h>
23#include <ksimpleconfig.h> 23#include <ksimpleconfig.h>
24#include <kstandarddirs.h> 24#include <kstandarddirs.h>
25#include <kstaticdeleter.h> 25#include <kstaticdeleter.h>
26 26
27#include <qfile.h> 27#include <qfile.h>
28#include <qstringlist.h> 28#include <qstringlist.h>
29 29
30#include "vcardformatplugin.h" 30#include "vcardformatplugin.h"
31 31
32#include "formatfactory.h" 32#include "formatfactory.h"
33 33
34using namespace KABC; 34using namespace KABC;
35 35
36FormatFactory *FormatFactory::mSelf = 0; 36FormatFactory *FormatFactory::mSelf = 0;
37static KStaticDeleter<FormatFactory> factoryDeleter; 37static KStaticDeleter<FormatFactory> factoryDeleter;
38 38
39FormatFactory *FormatFactory::self() 39FormatFactory *FormatFactory::self()
40{ 40{
41 kdDebug(5700) << "FormatFactory::self()" << endl;
42
43 if ( !mSelf ) { 41 if ( !mSelf ) {
44//US factoryDeleter.setObject( mSelf, new FormatFactory ); 42//US factoryDeleter.setObject( mSelf, new FormatFactory );
45 mSelf = factoryDeleter.setObject( new FormatFactory ); 43 mSelf = factoryDeleter.setObject( new FormatFactory );
46 } 44 }
47 return mSelf; 45 return mSelf;
48} 46}
49 47
50FormatFactory::FormatFactory() 48FormatFactory::FormatFactory()
51{ 49{
52 mFormatList.setAutoDelete( true ); 50 mFormatList.setAutoDelete( true );
53 51
54 // dummy entry for default format 52 // dummy entry for default format
55 FormatInfo *info = new FormatInfo; 53 FormatInfo *info = new FormatInfo;
56 info->library = "<NoLibrary>"; 54 info->library = "<NoLibrary>";
57 info->nameLabel = i18n( "vCard" ); 55 info->nameLabel = i18n( "vCard" );
58 info->descriptionLabel = i18n( "vCard Format" ); 56 info->descriptionLabel = i18n( "vCard Format" );
59 mFormatList.insert( "vcard", info ); 57 mFormatList.insert( "vcard", info );
60 58
61/*US lets enter all resources directly instead of using teh desktopfiles. 59/*US lets enter all resources directly instead of using teh desktopfiles.
62 60
63 QStringList list = KGlobal::dirs()->findAllResources( "data" ,"kabc/formats/*.desktop", true, true ); 61 QStringList list = KGlobal::dirs()->findAllResources( "data" ,"kabc/formats/*.desktop", true, true );
64 for ( QStringList::ConstIterator it = list.begin(); it != list.end(); ++it ) 62 for ( QStringList::ConstIterator it = list.begin(); it != list.end(); ++it )
65 { 63 {
66//US KSimpleConfig config( *it, true ); 64//US KSimpleConfig config( *it, true );
67 KConfig config( *it ); 65 KConfig config( *it );
68 66
69 if ( !config.hasGroup( "Misc" ) || !config.hasGroup( "Plugin" ) ) 67 if ( !config.hasGroup( "Misc" ) || !config.hasGroup( "Plugin" ) )
70 continue; 68 continue;
71 69
72 info = new FormatInfo; 70 info = new FormatInfo;
73 71
74 config.setGroup( "Plugin" ); 72 config.setGroup( "Plugin" );
75 QString type = config.readEntry( "Type" ); 73 QString type = config.readEntry( "Type" );
76 info->library = config.readEntry( "X-KDE-Library" ); 74 info->library = config.readEntry( "X-KDE-Library" );
77 75
78 config.setGroup( "Misc" ); 76 config.setGroup( "Misc" );
79 info->nameLabel = config.readEntry( "Name" ); 77 info->nameLabel = config.readEntry( "Name" );
80 info->descriptionLabel = config.readEntry( "Comment", i18n( "No description available." ) ); 78 info->descriptionLabel = config.readEntry( "Comment", i18n( "No description available." ) );
81 79
82 mFormatList.insert( type, info ); 80 mFormatList.insert( type, info );
83 } 81 }
84*/ 82*/
85 //US we already have vcard as default format. 83 //US we already have vcard as default format.
86 info = new FormatInfo; 84 info = new FormatInfo;
87 info->library = i18n("microkabcformat_binary"); 85 info->library = i18n("microkabcformat_binary");
88 info->nameLabel = i18n( "Binary" ); 86 info->nameLabel = i18n( "Binary" );
89 info->descriptionLabel = i18n( "No description available." ); 87 info->descriptionLabel = i18n( "No description available." );
90 mFormatList.insert( "binary", info ); 88 mFormatList.insert( "binary", info );
91 89
92} 90}
93 91
94FormatFactory::~FormatFactory() 92FormatFactory::~FormatFactory()
95{ 93{
96 mFormatList.clear(); 94 mFormatList.clear();
97} 95}
98 96
99QStringList FormatFactory::formats() 97QStringList FormatFactory::formats()
100{ 98{
101 QStringList retval; 99 QStringList retval;
102 100
103 // make sure 'vcard' is the first entry 101 // make sure 'vcard' is the first entry
104 retval << "vcard"; 102 retval << "vcard";
105 103
106 QDictIterator<FormatInfo> it( mFormatList ); 104 QDictIterator<FormatInfo> it( mFormatList );
107 for ( ; it.current(); ++it ) 105 for ( ; it.current(); ++it )
108 if ( it.currentKey() != "vcard" ) 106 if ( it.currentKey() != "vcard" )
109 retval << it.currentKey(); 107 retval << it.currentKey();
110 108
111 return retval; 109 return retval;
112} 110}
113 111
114FormatInfo *FormatFactory::info( const QString &type ) 112FormatInfo *FormatFactory::info( const QString &type )
115{ 113{
116 if ( type.isEmpty() ) 114 if ( type.isEmpty() )
117 return 0; 115 return 0;
118 else 116 else
119 return mFormatList[ type ]; 117 return mFormatList[ type ];
120} 118}
121 119
122FormatPlugin *FormatFactory::format( const QString& type ) 120FormatPlugin *FormatFactory::format( const QString& type )
123{ 121{
124 FormatPlugin *format = 0; 122 FormatPlugin *format = 0;
125 123
126 if ( type.isEmpty() ) 124 if ( type.isEmpty() )
127 return 0; 125 return 0;
128 126
129 if ( type == "vcard" ) { 127 if ( type == "vcard" ) {
130 format = new VCardFormatPlugin; 128 format = new VCardFormatPlugin;
131 format->setType( type ); 129 format->setType( type );
132 format->setNameLabel( i18n( "vCard" ) ); 130 format->setNameLabel( i18n( "vCard" ) );
133 format->setDescriptionLabel( i18n( "vCard Format" ) ); 131 format->setDescriptionLabel( i18n( "vCard Format" ) );
134 return format; 132 return format;
135 } 133 }
136 134
137 FormatInfo *fi = mFormatList[ type ]; 135 FormatInfo *fi = mFormatList[ type ];
138 if (!fi) 136 if (!fi)
diff --git a/kabc/formatplugin.h b/kabc/formatplugin.h
index d784daf..40a6922 100644
--- a/kabc/formatplugin.h
+++ b/kabc/formatplugin.h
@@ -1,81 +1,80 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27 27
28#ifndef KABC_FORMATPLUGIN_H 28#ifndef KABC_FORMATPLUGIN_H
29#define KABC_FORMATPLUGIN_H 29#define KABC_FORMATPLUGIN_H
30 30
31#include <qfile.h> 31#include <qfile.h>
32 32
33//US #include "plugin.h" 33#include "plugin.h"
34#include "resource.h" 34#include "resource.h"
35 35
36namespace KABC { 36namespace KABC {
37 37
38class AddressBook; 38class AddressBook;
39class Addressee; 39class Addressee;
40 40
41/** 41/**
42 * @short Base class for address book formats. 42 * @short Base class for address book formats.
43 * 43 *
44 * This class provides an abstract interface for ResourceFile and 44 * This class provides an abstract interface for ResourceFile and
45 * ResourceDir formats. 45 * ResourceDir formats.
46 * 46 *
47 * @internal 47 * @internal
48 */ 48 */
49//US class FormatPlugin : public Plugin 49class FormatPlugin : public Plugin
50class FormatPlugin
51{ 50{
52public: 51public:
53 52
54 /** 53 /**
55 * Load single addressee from file. 54 * Load single addressee from file.
56 */ 55 */
57 virtual bool load( Addressee &, QFile *file ) = 0; 56 virtual bool load( Addressee &, QFile *file ) = 0;
58 57
59 /** 58 /**
60 * Load whole addressbook from file. 59 * Load whole addressbook from file.
61 */ 60 */
62 virtual bool loadAll( AddressBook *, Resource *, QFile *file ) = 0; 61 virtual bool loadAll( AddressBook *, Resource *, QFile *file ) = 0;
63 62
64 /** 63 /**
65 * Save a single Addressee to file. 64 * Save a single Addressee to file.
66 */ 65 */
67 virtual void save( const Addressee &, QFile *file ) = 0; 66 virtual void save( const Addressee &, QFile *file ) = 0;
68 67
69 /** 68 /**
70 * Save whole addressbook to file. 69 * Save whole addressbook to file.
71 */ 70 */
72 virtual void saveAll( AddressBook *, Resource *, QFile *file ) = 0; 71 virtual void saveAll( AddressBook *, Resource *, QFile *file ) = 0;
73 72
74 /** 73 /**
75 * Checks if given file contains the right format 74 * Checks if given file contains the right format
76 */ 75 */
77 virtual bool checkFormat( QFile *file ) const = 0; 76 virtual bool checkFormat( QFile *file ) const = 0;
78}; 77};
79 78
80} 79}
81#endif 80#endif
diff --git a/kabc/kabcE.pro b/kabc/kabcE.pro
index 6a3bbf1..840afb9 100644
--- a/kabc/kabcE.pro
+++ b/kabc/kabcE.pro
@@ -1,102 +1,102 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2CONFIG += qt warn_on 2CONFIG += qt warn_on
3TARGET = microkabc 3TARGET = microkabc
4 4
5 5
6INCLUDEPATH += . ./vcard/include ./vcard/include/generated ../microkde ../microkde/kdecore ../microkde/kdeui ../microkde/kio/kfile ../qtcompat 6INCLUDEPATH += . ./vcard/include ./vcard/include/generated ../microkde ../microkde/kdecore ../microkde/kdeui ../microkde/kio/kfile ../qtcompat $(QPEDIR)/include
7OBJECTS_DIR = obj/$(PLATFORM) 7OBJECTS_DIR = obj/$(PLATFORM)
8MOC_DIR = moc/$(PLATFORM) 8MOC_DIR = moc/$(PLATFORM)
9DESTDIR = $(QPEDIR)/lib 9DESTDIR = $(QPEDIR)/lib
10LIBS += -lmicrokde 10LIBS += -lmicrokde
11#LIBS += -lldap 11#LIBS += -lldap
12LIBS += -L$(QPEDIR)/lib 12LIBS += -L$(QPEDIR)/lib
13DEFINES += KAB_EMBEDDED 13DEFINES += KAB_EMBEDDED
14 14
15INTERFACES = \ 15INTERFACES = \
16 16
17HEADERS = \ 17HEADERS = \
18 address.h \ 18 address.h \
19 addressbook.h \ 19 addressbook.h \
20 addressee.h \ 20 addressee.h \
21 addresseedialog.h \ 21 addresseedialog.h \
22 addresseelist.h \ 22 addresseelist.h \
23 agent.h \ 23 agent.h \
24 distributionlist.h \ 24 distributionlist.h \
25 distributionlistdialog.h \ 25 distributionlistdialog.h \
26 distributionlisteditor.h \ 26 distributionlisteditor.h \
27 field.h \ 27 field.h \
28 formatfactory.h \ 28 formatfactory.h \
29 formatplugin.h \ 29 formatplugin.h \
30 geo.h \ 30 geo.h \
31 key.h \ 31 key.h \
32 phonenumber.h \ 32 phonenumber.h \
33 picture.h \ 33 picture.h \
34 plugin.h \ 34 plugin.h \
35 resource.h \ 35 resource.h \
36 secrecy.h \ 36 secrecy.h \
37 sound.h \ 37 sound.h \
38 stdaddressbook.h \ 38 stdaddressbook.h \
39 timezone.h \ 39 timezone.h \
40 vcardconverter.h \ 40 vcardconverter.h \
41 vcard21parser.h \ 41 vcard21parser.h \
42 vcardformatimpl.h \ 42 vcardformatimpl.h \
43 vcardformatplugin.h \ 43 vcardformatplugin.h \
44 vcardparser/vcardline.h \ 44 vcardparser/vcardline.h \
45 vcardparser/vcard.h \ 45 vcardparser/vcard.h \
46 vcardparser/vcardtool.h \ 46 vcardparser/vcardtool.h \
47 vcardparser/vcardparser.h \ 47 vcardparser/vcardparser.h \
48 vcard/include/VCardAdrParam.h \ 48 vcard/include/VCardAdrParam.h \
49 vcard/include/VCardAdrValue.h \ 49 vcard/include/VCardAdrValue.h \
50 vcard/include/VCardAgentParam.h \ 50 vcard/include/VCardAgentParam.h \
51 vcard/include/VCardContentLine.h \ 51 vcard/include/VCardContentLine.h \
52 vcard/include/VCardDateParam.h \ 52 vcard/include/VCardDateParam.h \
53 vcard/include/VCardDateValue.h \ 53 vcard/include/VCardDateValue.h \
54 vcard/include/VCardEmailParam.h \ 54 vcard/include/VCardEmailParam.h \
55 vcard/include/VCardGeoValue.h \ 55 vcard/include/VCardGeoValue.h \
56 vcard/include/VCardGroup.h \ 56 vcard/include/VCardGroup.h \
57 vcard/include/VCardImageParam.h \ 57 vcard/include/VCardImageParam.h \
58 vcard/include/VCardImageValue.h \ 58 vcard/include/VCardImageValue.h \
59 vcard/include/VCardLangValue.h \ 59 vcard/include/VCardLangValue.h \
60 vcard/include/VCardNValue.h \ 60 vcard/include/VCardNValue.h \
61 vcard/include/VCardParam.h \ 61 vcard/include/VCardParam.h \
62 vcard/include/VCardPhoneNumberValue.h \ 62 vcard/include/VCardPhoneNumberValue.h \
63 vcard/include/VCardSourceParam.h \ 63 vcard/include/VCardSourceParam.h \
64 vcard/include/VCardTelParam.h \ 64 vcard/include/VCardTelParam.h \
65 vcard/include/VCardTextParam.h \ 65 vcard/include/VCardTextParam.h \
66 vcard/include/VCardTextNSParam.h \ 66 vcard/include/VCardTextNSParam.h \
67 vcard/include/VCardTextValue.h \ 67 vcard/include/VCardTextValue.h \
68 vcard/include/VCardTextBinParam.h \ 68 vcard/include/VCardTextBinParam.h \
69 vcard/include/VCardURIValue.h \ 69 vcard/include/VCardURIValue.h \
70 vcard/include/VCardVCard.h \ 70 vcard/include/VCardVCard.h \
71 vcard/include/VCardEntity.h \ 71 vcard/include/VCardEntity.h \
72 vcard/include/VCardValue.h \ 72 vcard/include/VCardValue.h \
73 vcard/include/VCardSoundValue.h \ 73 vcard/include/VCardSoundValue.h \
74 vcard/include/VCardAgentValue.h \ 74 vcard/include/VCardAgentValue.h \
75 vcard/include/VCardTelValue.h \ 75 vcard/include/VCardTelValue.h \
76 vcard/include/VCardTextBinValue.h \ 76 vcard/include/VCardTextBinValue.h \
77 vcard/include/VCardOrgValue.h \ 77 vcard/include/VCardOrgValue.h \
78 vcard/include/VCardUTCValue.h \ 78 vcard/include/VCardUTCValue.h \
79 vcard/include/VCardClassValue.h \ 79 vcard/include/VCardClassValue.h \
80 vcard/include/VCardFloatValue.h \ 80 vcard/include/VCardFloatValue.h \
81 vcard/include/VCardTextListValue.h \ 81 vcard/include/VCardTextListValue.h \
82 vcard/include/generated/AdrParam-generated.h \ 82 vcard/include/generated/AdrParam-generated.h \
83 vcard/include/generated/AdrValue-generated.h \ 83 vcard/include/generated/AdrValue-generated.h \
84 vcard/include/generated/AgentParam-generated.h \ 84 vcard/include/generated/AgentParam-generated.h \
85 vcard/include/generated/ContentLine-generated.h \ 85 vcard/include/generated/ContentLine-generated.h \
86 vcard/include/generated/DateParam-generated.h \ 86 vcard/include/generated/DateParam-generated.h \
87 vcard/include/generated/DateValue-generated.h \ 87 vcard/include/generated/DateValue-generated.h \
88 vcard/include/generated/EmailParam-generated.h \ 88 vcard/include/generated/EmailParam-generated.h \
89 vcard/include/generated/GeoValue-generated.h \ 89 vcard/include/generated/GeoValue-generated.h \
90 vcard/include/generated/Group-generated.h \ 90 vcard/include/generated/Group-generated.h \
91 vcard/include/generated/ImageParam-generated.h \ 91 vcard/include/generated/ImageParam-generated.h \
92 vcard/include/generated/ImageValue-generated.h \ 92 vcard/include/generated/ImageValue-generated.h \
93 vcard/include/generated/LangValue-generated.h \ 93 vcard/include/generated/LangValue-generated.h \
94 vcard/include/generated/NValue-generated.h \ 94 vcard/include/generated/NValue-generated.h \
95 vcard/include/generated/Param-generated.h \ 95 vcard/include/generated/Param-generated.h \
96 vcard/include/generated/PhoneNumberValue-generated.h \ 96 vcard/include/generated/PhoneNumberValue-generated.h \
97 vcard/include/generated/SourceParam-generated.h \ 97 vcard/include/generated/SourceParam-generated.h \
98 vcard/include/generated/TelParam-generated.h \ 98 vcard/include/generated/TelParam-generated.h \
99 vcard/include/generated/TextParam-generated.h \ 99 vcard/include/generated/TextParam-generated.h \
100 vcard/include/generated/TextNSParam-generated.h \ 100 vcard/include/generated/TextNSParam-generated.h \
101 vcard/include/generated/TextValue-generated.h \ 101 vcard/include/generated/TextValue-generated.h \
102 vcard/include/generated/TextBinParam-generated.h \ 102 vcard/include/generated/TextBinParam-generated.h \
diff --git a/kabc/stdaddressbook.cpp b/kabc/stdaddressbook.cpp
index 8faaaef..144a9dc 100644
--- a/kabc/stdaddressbook.cpp
+++ b/kabc/stdaddressbook.cpp
@@ -1,131 +1,137 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27 27
28/*US 28/*US
29#include <stdlib.h> 29#include <stdlib.h>
30 30
31#include <kapplication.h> 31#include <kapplication.h>
32#include <kcrash.h> 32#include <kcrash.h>
33#include <ksimpleconfig.h> 33#include <ksimpleconfig.h>
34*/ 34*/
35 35
36#ifndef DESKTOP_VERSION
37#include <qpe/global.h>
38#else
39#include <qdir.h>
40#endif
41
36#include "resource.h" 42#include "resource.h"
37#include <kresources/manager.h> 43#include <kresources/manager.h>
38#include <kdebug.h> 44#include <kdebug.h>
39#include <klocale.h> 45#include <klocale.h>
40#include <kstaticdeleter.h> 46#include <kstaticdeleter.h>
41#include <kstandarddirs.h> 47#include <kstandarddirs.h>
42 48
43#include "stdaddressbook.h" 49#include "stdaddressbook.h"
44 50
45using namespace KABC; 51using namespace KABC;
46 52
47StdAddressBook *StdAddressBook::mSelf = 0; 53StdAddressBook *StdAddressBook::mSelf = 0;
48bool StdAddressBook::mAutomaticSave = true; 54bool StdAddressBook::mAutomaticSave = true;
49 55
50static KStaticDeleter<StdAddressBook> addressBookDeleter; 56static KStaticDeleter<StdAddressBook> addressBookDeleter;
51 57
52QString StdAddressBook::fileName() 58QString StdAddressBook::fileName()
53{ 59{
54 return locateLocal( "data", "kabc/std.vcf" ); 60 return locateLocal( "data", "kabc/std.vcf" );
55} 61}
56 62
57QString StdAddressBook::directoryName() 63QString StdAddressBook::directoryName()
58{ 64{
59 return locateLocal( "data", "kabc/stdvcf" ); 65 return locateLocal( "data", "kabc/stdvcf" );
60} 66}
61 67
62void StdAddressBook::handleCrash() 68void StdAddressBook::handleCrash()
63{ 69{
64 StdAddressBook::self()->cleanUp(); 70 StdAddressBook::self()->cleanUp();
65} 71}
66 72
67StdAddressBook *StdAddressBook::self() 73StdAddressBook *StdAddressBook::self()
68{ 74{
69 75
70 if ( !mSelf ) 76 if ( !mSelf )
71 { 77 {
72 QString appdir = StdAddressBook::setTempAppDir(); 78 QString appdir = StdAddressBook::setTempAppDir();
73 79
74 kdDebug(5700) << "StdAddressBook::self()" << endl; 80 kdDebug(5700) << "StdAddressBook::self()" << endl;
75// US im am not sure why I have to use the other format here?? 81// US im am not sure why I have to use the other format here??
76#ifdef KAB_EMBEDDED 82#ifdef KAB_EMBEDDED
77 mSelf = addressBookDeleter.setObject( new StdAddressBook ); 83 mSelf = addressBookDeleter.setObject( new StdAddressBook );
78#else //KAB_EMBEDDED 84#else //KAB_EMBEDDED
79 addressBookDeleter.setObject( mSelf, new StdAddressBook ); 85 addressBookDeleter.setObject( mSelf, new StdAddressBook );
80#endif //KAB_EMBEDDED 86#endif //KAB_EMBEDDED
81 KStandardDirs::setAppDir( appdir ); 87 KStandardDirs::setAppDir( appdir );
82 } 88 }
83 89
84 return mSelf; 90 return mSelf;
85} 91}
86 92
87QString StdAddressBook::setTempAppDir() 93QString StdAddressBook::setTempAppDir()
88{ 94{
89 QString appDIR = KStandardDirs::appDir(); 95 QString appDIR = KStandardDirs::appDir();
90#ifdef DESKTOP_VERSION 96#ifdef DESKTOP_VERSION
91 QString appdir = QDir::homeDirPath(); 97 QString appdir = QDir::homeDirPath();
92 if ( appdir.right(1) == "\\" || appdir.right(1) == "/" ) 98 if ( appdir.right(1) == "\\" || appdir.right(1) == "/" )
93 appdir += "kaddressbook/"; 99 appdir += "kaddressbook/";
94 else 100 else
95 appdir += "/kaddressbook/"; 101 appdir += "/kaddressbook/";
96 KStandardDirs::setAppDir( QDir::convertSeparators( appdir )); 102 KStandardDirs::setAppDir( QDir::convertSeparators( appdir ));
97#else 103#else
98 KStandardDirs::setAppDir( Global::applicationFileName( "kaddressbook", "" ) ); 104 KStandardDirs::setAppDir( Global::applicationFileName( "kaddressbook", "" ) );
99#endif 105#endif
100 106
101 return appDIR; 107 return appDIR;
102} 108}
103StdAddressBook *StdAddressBook::self( bool onlyFastResources ) 109StdAddressBook *StdAddressBook::self( bool onlyFastResources )
104{ 110{
105 111
106 if ( !mSelf ) 112 if ( !mSelf )
107 { 113 {
108 QString appdir =StdAddressBook::setTempAppDir(); 114 QString appdir =StdAddressBook::setTempAppDir();
109#ifdef KAB_EMBEDDED 115#ifdef KAB_EMBEDDED
110 mSelf = addressBookDeleter.setObject( new StdAddressBook( onlyFastResources ) ); 116 mSelf = addressBookDeleter.setObject( new StdAddressBook( onlyFastResources ) );
111#else //KAB_EMBEDDED 117#else //KAB_EMBEDDED
112 addressBookDeleter.setObject( mSelf, new StdAddressBook( onlyFastResources ) ); 118 addressBookDeleter.setObject( mSelf, new StdAddressBook( onlyFastResources ) );
113#endif //KAB_EMBEDDED 119#endif //KAB_EMBEDDED
114 KStandardDirs::setAppDir( appdir ); 120 KStandardDirs::setAppDir( appdir );
115 } 121 }
116 return mSelf; 122 return mSelf;
117} 123}
118 124
119StdAddressBook::StdAddressBook() 125StdAddressBook::StdAddressBook()
120//US : AddressBook( "kabcrc" ) 126//US : AddressBook( "kabcrc" )
121 : AddressBook( locateLocal( "config", "kabcrc") ) 127 : AddressBook( locateLocal( "config", "kabcrc") )
122{ 128{
123 129
124 init( false ); 130 init( false );
125} 131}
126 132
127StdAddressBook::StdAddressBook( bool onlyFastResources ) 133StdAddressBook::StdAddressBook( bool onlyFastResources )
128//US : AddressBook( "kabcrc" ) 134//US : AddressBook( "kabcrc" )
129 : AddressBook( locateLocal( "config", "kabcrc") ) 135 : AddressBook( locateLocal( "config", "kabcrc") )
130{ 136{
131 137