summaryrefslogtreecommitdiffabout
path: root/kabc/stdaddressbook.cpp
Unidiff
Diffstat (limited to 'kabc/stdaddressbook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/stdaddressbook.cpp17
1 files changed, 3 insertions, 14 deletions
diff --git a/kabc/stdaddressbook.cpp b/kabc/stdaddressbook.cpp
index 144a9dc..075f12f 100644
--- a/kabc/stdaddressbook.cpp
+++ b/kabc/stdaddressbook.cpp
@@ -1,152 +1,141 @@
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
29#include <stdlib.h>
30
31#include <kapplication.h>
32#include <kcrash.h>
33#include <ksimpleconfig.h>
34*/
35
36#ifndef DESKTOP_VERSION
37#include <qpe/global.h>
38#else
39#include <qdir.h> 28#include <qdir.h>
40#endif
41
42#include "resource.h" 29#include "resource.h"
43#include <kresources/manager.h> 30#include <kresources/manager.h>
44#include <kdebug.h> 31#include <kdebug.h>
45#include <klocale.h> 32#include <klocale.h>
46#include <kstaticdeleter.h> 33#include <kstaticdeleter.h>
47#include <kstandarddirs.h> 34#include <kstandarddirs.h>
48 35
49#include "stdaddressbook.h" 36#include "stdaddressbook.h"
50 37
51using namespace KABC; 38using namespace KABC;
52 39
53StdAddressBook *StdAddressBook::mSelf = 0; 40StdAddressBook *StdAddressBook::mSelf = 0;
54bool StdAddressBook::mAutomaticSave = true; 41bool StdAddressBook::mAutomaticSave = true;
55 42
56static KStaticDeleter<StdAddressBook> addressBookDeleter; 43static KStaticDeleter<StdAddressBook> addressBookDeleter;
57 44
58QString StdAddressBook::fileName() 45QString StdAddressBook::fileName()
59{ 46{
60 return locateLocal( "data", "kabc/std.vcf" ); 47 return locateLocal( "data", "kabc/std.vcf" );
61} 48}
62 49
63QString StdAddressBook::directoryName() 50QString StdAddressBook::directoryName()
64{ 51{
65 return locateLocal( "data", "kabc/stdvcf" ); 52 return locateLocal( "data", "kabc/stdvcf" );
66} 53}
67 54
68void StdAddressBook::handleCrash() 55void StdAddressBook::handleCrash()
69{ 56{
70 StdAddressBook::self()->cleanUp(); 57 StdAddressBook::self()->cleanUp();
71} 58}
72 59
73StdAddressBook *StdAddressBook::self() 60StdAddressBook *StdAddressBook::self()
74{ 61{
75 62
76 if ( !mSelf ) 63 if ( !mSelf )
77 { 64 {
78 QString appdir = StdAddressBook::setTempAppDir(); 65 QString appdir = StdAddressBook::setTempAppDir();
79 66
80 kdDebug(5700) << "StdAddressBook::self()" << endl; 67 kdDebug(5700) << "StdAddressBook::self()" << endl;
81// US im am not sure why I have to use the other format here?? 68// US im am not sure why I have to use the other format here??
82#ifdef KAB_EMBEDDED 69#ifdef KAB_EMBEDDED
83 mSelf = addressBookDeleter.setObject( new StdAddressBook ); 70 mSelf = addressBookDeleter.setObject( new StdAddressBook );
84#else //KAB_EMBEDDED 71#else //KAB_EMBEDDED
85 addressBookDeleter.setObject( mSelf, new StdAddressBook ); 72 addressBookDeleter.setObject( mSelf, new StdAddressBook );
86#endif //KAB_EMBEDDED 73#endif //KAB_EMBEDDED
87 KStandardDirs::setAppDir( appdir ); 74 KStandardDirs::setAppDir( appdir );
88 } 75 }
89 76
90 return mSelf; 77 return mSelf;
91} 78}
92 79
93QString StdAddressBook::setTempAppDir() 80QString StdAddressBook::setTempAppDir()
94{ 81{
95 QString appDIR = KStandardDirs::appDir(); 82 QString appDIR = KStandardDirs::appDir();
96#ifdef DESKTOP_VERSION 83#ifdef DESKTOP_VERSION
97 QString appdir = QDir::homeDirPath(); 84 QString appdir = QDir::homeDirPath();
98 if ( appdir.right(1) == "\\" || appdir.right(1) == "/" ) 85 if ( appdir.right(1) == "\\" || appdir.right(1) == "/" )
99 appdir += "kaddressbook/"; 86 appdir += "kaddressbook/";
100 else 87 else
101 appdir += "/kaddressbook/"; 88 appdir += "/kaddressbook/";
102 KStandardDirs::setAppDir( QDir::convertSeparators( appdir )); 89 KStandardDirs::setAppDir( QDir::convertSeparators( appdir ));
103#else 90#else
104 KStandardDirs::setAppDir( Global::applicationFileName( "kaddressbook", "" ) ); 91 QString appdir = QDir::homeDirPath() + "/kdepim/apps/kaddressbook";
92
93 KStandardDirs::setAppDir( appdir );
105#endif 94#endif
106 95
107 return appDIR; 96 return appDIR;
108} 97}
109StdAddressBook *StdAddressBook::self( bool onlyFastResources ) 98StdAddressBook *StdAddressBook::self( bool onlyFastResources )
110{ 99{
111 100
112 if ( !mSelf ) 101 if ( !mSelf )
113 { 102 {
114 QString appdir =StdAddressBook::setTempAppDir(); 103 QString appdir =StdAddressBook::setTempAppDir();
115#ifdef KAB_EMBEDDED 104#ifdef KAB_EMBEDDED
116 mSelf = addressBookDeleter.setObject( new StdAddressBook( onlyFastResources ) ); 105 mSelf = addressBookDeleter.setObject( new StdAddressBook( onlyFastResources ) );
117#else //KAB_EMBEDDED 106#else //KAB_EMBEDDED
118 addressBookDeleter.setObject( mSelf, new StdAddressBook( onlyFastResources ) ); 107 addressBookDeleter.setObject( mSelf, new StdAddressBook( onlyFastResources ) );
119#endif //KAB_EMBEDDED 108#endif //KAB_EMBEDDED
120 KStandardDirs::setAppDir( appdir ); 109 KStandardDirs::setAppDir( appdir );
121 } 110 }
122 return mSelf; 111 return mSelf;
123} 112}
124 113
125StdAddressBook::StdAddressBook() 114StdAddressBook::StdAddressBook()
126//US : AddressBook( "kabcrc" ) 115//US : AddressBook( "kabcrc" )
127 : AddressBook( locateLocal( "config", "kabcrc") ) 116 : AddressBook( locateLocal( "config", "kabcrc") )
128{ 117{
129 118
130 init( false ); 119 init( false );
131} 120}
132 121
133StdAddressBook::StdAddressBook( bool onlyFastResources ) 122StdAddressBook::StdAddressBook( bool onlyFastResources )
134//US : AddressBook( "kabcrc" ) 123//US : AddressBook( "kabcrc" )
135 : AddressBook( locateLocal( "config", "kabcrc") ) 124 : AddressBook( locateLocal( "config", "kabcrc") )
136{ 125{
137 126
138 init( onlyFastResources ); 127 init( onlyFastResources );
139} 128}
140 129
141StdAddressBook::~StdAddressBook() 130StdAddressBook::~StdAddressBook()
142{ 131{
143 if ( mAutomaticSave ) 132 if ( mAutomaticSave )
144 save(); 133 save();
145} 134}
146 135
147void StdAddressBook::init( bool ) 136void StdAddressBook::init( bool )
148{ 137{
149 KRES::Manager<Resource> *manager = resourceManager(); 138 KRES::Manager<Resource> *manager = resourceManager();
150 KRES::Manager<Resource>::ActiveIterator it; 139 KRES::Manager<Resource>::ActiveIterator it;
151 140
152 for ( it = manager->activeBegin(); it != manager->activeEnd(); ++it ) { 141 for ( it = manager->activeBegin(); it != manager->activeEnd(); ++it ) {