summaryrefslogtreecommitdiffabout
path: root/microkde
Unidiff
Diffstat (limited to 'microkde') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kresources/factory.cpp26
-rw-r--r--microkde/kresources/managerimpl.cpp2
-rw-r--r--microkde/microkde.pro8
3 files changed, 35 insertions, 1 deletions
diff --git a/microkde/kresources/factory.cpp b/microkde/kresources/factory.cpp
index a3b7fff..5fbfa68 100644
--- a/microkde/kresources/factory.cpp
+++ b/microkde/kresources/factory.cpp
@@ -1,256 +1,282 @@
1/* 1/*
2 This file is part of libkresources. 2 This file is part of libkresources.
3 3
4 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 4 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
5 Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org> 5 Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org>
6 Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> 6 Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org>
7 7
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version. 11 version 2 of the License, or (at your option) any later version.
12 12
13 This library is distributed in the hope that it will be useful, 13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Library General Public License for more details. 16 Library General Public License for more details.
17 17
18 You should have received a copy of the GNU Library General Public License 18 You should have received a copy of the GNU Library General Public License
19 along with this library; see the file COPYING.LIB. If not, write to 19 along with this library; see the file COPYING.LIB. If not, write to
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. 21 Boston, MA 02111-1307, USA.
22*/ 22*/
23 23
24#include <kdebug.h> 24#include <kdebug.h>
25#include <klocale.h> 25#include <klocale.h>
26#include <ksimpleconfig.h> 26#include <ksimpleconfig.h>
27#include <kstandarddirs.h> 27#include <kstandarddirs.h>
28#include <kstaticdeleter.h> 28#include <kstaticdeleter.h>
29//#ifndef DESKTOP_VERSION 29//#ifndef DESKTOP_VERSION
30#include <klibloader.h> 30#include <klibloader.h>
31//#endif 31//#endif
32#include <qfile.h> 32#include <qfile.h>
33 33
34#include "resource.h" 34#include "resource.h"
35#include "factory.h" 35#include "factory.h"
36 36
37#ifdef STATIC_RESOURCES
38#include <file/resourcefile.h>
39#include <dir/resourcedir.h>
40#include <qtopia/resourceqtopia.h>
41#endif
37using namespace KRES; 42using namespace KRES;
38 43
39QDict<Factory> *Factory::mSelves = 0; 44QDict<Factory> *Factory::mSelves = 0;
40static KStaticDeleter< QDict<Factory> > staticDeleter; 45static KStaticDeleter< QDict<Factory> > staticDeleter;
41 46
42Factory *Factory::self( const QString& resourceFamily) 47Factory *Factory::self( const QString& resourceFamily)
43{ 48{
44 49
45 50
46 Factory *factory = 0; 51 Factory *factory = 0;
47 if ( !mSelves ) 52 if ( !mSelves )
48 { 53 {
49 mSelves = staticDeleter.setObject( new QDict<Factory> ); 54 mSelves = staticDeleter.setObject( new QDict<Factory> );
50 } 55 }
51 56
52 factory = mSelves->find( resourceFamily ); 57 factory = mSelves->find( resourceFamily );
53 58
54 if ( !factory ) { 59 if ( !factory ) {
55 factory = new Factory( resourceFamily); 60 factory = new Factory( resourceFamily);
56 mSelves->insert( resourceFamily, factory ); 61 mSelves->insert( resourceFamily, factory );
57 } 62 }
58 63
59 return factory; 64 return factory;
60} 65}
61 66
62Factory::Factory( const QString& resourceFamily) : 67Factory::Factory( const QString& resourceFamily) :
63 mResourceFamily( resourceFamily ) 68 mResourceFamily( resourceFamily )
64{ 69{
65//US so far we have three types available for resourceFamily "contact" 70//US so far we have three types available for resourceFamily "contact"
66// and that are "file", "dir", "ldap" 71// and that are "file", "dir", "ldap"
67/*US 72/*US
68 73
69 KTrader::OfferList plugins = KTrader::self()->query( "KResources/Plugin", QString( "[X-KDE-ResourceFamily] == '%1'" ) 74 KTrader::OfferList plugins = KTrader::self()->query( "KResources/Plugin", QString( "[X-KDE-ResourceFamily] == '%1'" )
70 .arg( resourceFamily ) ); 75 .arg( resourceFamily ) );
71 KTrader::OfferList::ConstIterator it; 76 KTrader::OfferList::ConstIterator it;
72 for ( it = plugins.begin(); it != plugins.end(); ++it ) { 77 for ( it = plugins.begin(); it != plugins.end(); ++it ) {
73 QVariant type = (*it)->property( "X-KDE-ResourceType" ); 78 QVariant type = (*it)->property( "X-KDE-ResourceType" );
74 if ( !type.toString().isEmpty() ) 79 if ( !type.toString().isEmpty() )
75 mTypeMap.insert( type.toString(), *it ); 80 mTypeMap.insert( type.toString(), *it );
76 } 81 }
77*/ 82*/
78 83
79//US new 84//US new
80 PluginInfo* info = new PluginInfo; 85 PluginInfo* info = new PluginInfo;
81 info->library = "microkabc_file"; 86 info->library = "microkabc_file";
82 info->nameLabel = i18n( "file" ); 87 info->nameLabel = i18n( "file" );
83 info->descriptionLabel = i18n( "One file" ); 88 info->descriptionLabel = i18n( "One file" );
84 mTypeMap.insert( "file", info ); 89 mTypeMap.insert( "file", info );
85 90
86 info = new PluginInfo; 91 info = new PluginInfo;
87 info->library = "microkabc_dir"; 92 info->library = "microkabc_dir";
88 info->nameLabel = i18n( "dir" ); 93 info->nameLabel = i18n( "dir" );
89 info->descriptionLabel = i18n( "A directory with many files" ); 94 info->descriptionLabel = i18n( "A directory with many files" );
90 mTypeMap.insert( "dir", info ); 95 mTypeMap.insert( "dir", info );
91 96
92 info = new PluginInfo; 97 info = new PluginInfo;
93 info->library = "microkabc_ldap"; 98 info->library = "microkabc_ldap";
94 info->nameLabel = i18n( "ldap" ); 99 info->nameLabel = i18n( "ldap" );
95 info->descriptionLabel = i18n( "Connect to a directory server" ); 100 info->descriptionLabel = i18n( "Connect to a directory server" );
96 mTypeMap.insert( "ldap", info ); 101 mTypeMap.insert( "ldap", info );
97 102
98 //US add opie plugin only, if the library exists. 103 //US add opie plugin only, if the library exists.
99 /*US 104 /*US
100 QString libname = "microkabc_opie"; 105 QString libname = "microkabc_opie";
101 QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); 106 QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
102 if ( !path.isEmpty() ) 107 if ( !path.isEmpty() )
103 { 108 {
104 info = new PluginInfo; 109 info = new PluginInfo;
105 info->library = libname; 110 info->library = libname;
106 info->nameLabel = i18n( "opie" ); 111 info->nameLabel = i18n( "opie" );
107 info->descriptionLabel = i18n( "Opie PIM Addressbook." ); 112 info->descriptionLabel = i18n( "Opie PIM Addressbook." );
108 mTypeMap.insert( "opie", info ); 113 mTypeMap.insert( "opie", info );
109 } 114 }
110 */ 115 */
111 //US add qtopia plugin only, if the library exists. 116 //US add qtopia plugin only, if the library exists.
112 QString libname = "microkabc_qtopia"; 117 QString libname = "microkabc_qtopia";
113 QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); 118 QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
114 if ( !path.isEmpty() ) 119 if ( !path.isEmpty() )
115 { 120 {
116 info = new PluginInfo; 121 info = new PluginInfo;
117 info->library = libname; 122 info->library = libname;
118 info->nameLabel = i18n( "qtopia" ); 123 info->nameLabel = i18n( "qtopia" );
119 info->descriptionLabel = i18n( "Qtopia PIM Addressbook." ); 124 info->descriptionLabel = i18n( "Qtopia PIM Addressbook." );
120 mTypeMap.insert( "qtopia", info ); 125 mTypeMap.insert( "qtopia", info );
121 } 126 }
122 127
123 //US add sharp plugin only, if the library exists. 128 //US add sharp plugin only, if the library exists.
124 libname = "microkabc_sharpdtm"; 129 libname = "microkabc_sharpdtm";
125 path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); 130 path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
126 if ( !path.isEmpty() ) 131 if ( !path.isEmpty() )
127 { 132 {
128 info = new PluginInfo; 133 info = new PluginInfo;
129 info->library = libname; 134 info->library = libname;
130 info->nameLabel = i18n( "sharp" ); 135 info->nameLabel = i18n( "sharp" );
131 info->descriptionLabel = i18n( "Sharp DTM Addressbook." ); 136 info->descriptionLabel = i18n( "Sharp DTM Addressbook." );
132 mTypeMap.insert( "sharp", info ); 137 mTypeMap.insert( "sharp", info );
133 } 138 }
134 139
135 140
136} 141}
137 142
138Factory::~Factory() 143Factory::~Factory()
139{ 144{
140} 145}
141 146
142QStringList Factory::typeNames() const 147QStringList Factory::typeNames() const
143{ 148{
144//US method QMap::keys() not available yet. SO collect the data manually 149//US method QMap::keys() not available yet. SO collect the data manually
145//US return mTypeMap.keys(); 150//US return mTypeMap.keys();
146 151
147 QStringList result; 152 QStringList result;
148 153
149 QMap<QString, PluginInfo*>::ConstIterator it; 154 QMap<QString, PluginInfo*>::ConstIterator it;
150 for( it = mTypeMap.begin(); it != mTypeMap.end(); ++it ) { 155 for( it = mTypeMap.begin(); it != mTypeMap.end(); ++it ) {
151 result << it.key().latin1(); 156 result << it.key().latin1();
152// qDebug("Factory::typeNames() : %s ", it.key().latin1()); 157// qDebug("Factory::typeNames() : %s ", it.key().latin1());
153 158
154 } 159 }
155 return result; 160 return result;
156} 161}
157 162
158ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent ) 163ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent )
159{ 164{
160 if ( type.isEmpty() || !mTypeMap.contains( type ) ) 165 if ( type.isEmpty() || !mTypeMap.contains( type ) )
161 return 0; 166 return 0;
162 167
163//US KService::Ptr ptr = mTypeMap[ type ]; 168//US KService::Ptr ptr = mTypeMap[ type ];
164//US KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); 169//US KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() );
165 PluginInfo* pi = mTypeMap[ type ]; 170 PluginInfo* pi = mTypeMap[ type ];
166 KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); 171 KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() );
167 if ( !factory ) { 172 if ( !factory ) {
168 qDebug("KRES::Factory::configWidget(): Factory creation failed for library %s", pi->library.latin1()); 173 qDebug("KRES::Factory::configWidget(): Factory creation failed for library %s", pi->library.latin1());
169 kdDebug() << "KRES::Factory::configWidget(): Factory creation failed" << endl; 174 kdDebug() << "KRES::Factory::configWidget(): Factory creation failed" << endl;
170 return 0; 175 return 0;
171 } 176 }
172 177
173 PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); 178 PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory );
174 179
175 if ( !pluginFactory ) { 180 if ( !pluginFactory ) {
176 qDebug("KRES::Factory::configWidget(): no plugin factory for library %s", pi->library.latin1()); 181 qDebug("KRES::Factory::configWidget(): no plugin factory for library %s", pi->library.latin1());
177 kdDebug() << "KRES::Factory::configWidget(): no plugin factory." << endl; 182 kdDebug() << "KRES::Factory::configWidget(): no plugin factory." << endl;
178 return 0; 183 return 0;
179 } 184 }
180 185
181 ConfigWidget *wdg = pluginFactory->configWidget( parent ); 186 ConfigWidget *wdg = pluginFactory->configWidget( parent );
182 if ( !wdg ) { 187 if ( !wdg ) {
183//US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; 188//US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl;
184 qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); 189 qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1());
185 return 0; 190 return 0;
186 } 191 }
187 return wdg; 192 return wdg;
188 193
189} 194}
190 195
191QString Factory::typeName( const QString &type ) const 196QString Factory::typeName( const QString &type ) const
192{ 197{
193 if ( type.isEmpty() || !mTypeMap.contains( type ) ) 198 if ( type.isEmpty() || !mTypeMap.contains( type ) )
194 return QString(); 199 return QString();
195 200
196 201
197//US KService::Ptr ptr = mTypeMap[ type ]; 202//US KService::Ptr ptr = mTypeMap[ type ];
198//US return ptr->name(); 203//US return ptr->name();
199 PluginInfo* pi = mTypeMap[ type ]; 204 PluginInfo* pi = mTypeMap[ type ];
200 return pi->nameLabel; 205 return pi->nameLabel;
201 206
202} 207}
203 208
204QString Factory::typeDescription( const QString &type ) const 209QString Factory::typeDescription( const QString &type ) const
205{ 210{
206 if ( type.isEmpty() || !mTypeMap.contains( type ) ) 211 if ( type.isEmpty() || !mTypeMap.contains( type ) )
207 return QString(); 212 return QString();
208 213
209//US KService::Ptr ptr = mTypeMap[ type ]; 214//US KService::Ptr ptr = mTypeMap[ type ];
210//US return ptr->comment(); 215//US return ptr->comment();
211 PluginInfo* pi = mTypeMap[ type ]; 216 PluginInfo* pi = mTypeMap[ type ];
212 return pi->descriptionLabel; 217 return pi->descriptionLabel;
213} 218}
214 219
215Resource *Factory::resource( const QString& type, const KConfig *config ) 220Resource *Factory::resource( const QString& type, const KConfig *config )
216{ 221{
217 222
218 223
219 if ( type.isEmpty() || !mTypeMap.contains( type ) ) 224 if ( type.isEmpty() || !mTypeMap.contains( type ) )
220 return 0; 225 return 0;
221 226
227#ifdef STATIC_RESOURCES
228 qDebug("NEW STATIC RESOURCE %s", type.latin1());
229 Resource *resource = 0;
230 if ( type == "file" ) {
231 resource = (Resource *) new KABC::ResourceFile( config );
232 } else if ( type == "dir" ) {
233 resource = new KABC::ResourceDir( config );
234 } else if ( type == "qtopia" ) {
235 resource = new KABC::ResourceQtopia( config );
236 }
237 if ( !resource)
238 qDebug("Factory::resource:: resources are statically linked. resource type %s is not supported ",type.latin1() );
239 else
240 resource->setType( type );
241 return resource;
242#else
243
244
245
222/*US load the lib not dynamicly. !! 246/*US load the lib not dynamicly. !!
223 KService::Ptr ptr = mTypeMap[ type ]; 247 KService::Ptr ptr = mTypeMap[ type ];
224 KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); 248 KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() );
225 if ( !factory ) { 249 if ( !factory ) {
226 kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl; 250 kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl;
227 return 0; 251 return 0;
228 } 252 }
229*/ 253*/
230 PluginInfo* pi = mTypeMap[ type ]; 254 PluginInfo* pi = mTypeMap[ type ];
231 KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); 255 KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() );
232 if ( !factory ) { 256 if ( !factory ) {
233 qDebug("KRES::Factory::resource(): Factory creation failed for library %s", pi->library.latin1()); 257 qDebug("KRES::Factory::resource(): Factory creation failed for library %s", pi->library.latin1());
234 kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl; 258 kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl;
235 return 0; 259 return 0;
236 } 260 }
237 261
238 PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); 262 PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory );
239 263
240 if ( !pluginFactory ) { 264 if ( !pluginFactory ) {
241 qDebug("KRES::Factory::resource(): no plugin factory for library %s", pi->library.latin1()); 265 qDebug("KRES::Factory::resource(): no plugin factory for library %s", pi->library.latin1());
242 kdDebug() << "KRES::Factory::resource(): no plugin factory." << endl; 266 kdDebug() << "KRES::Factory::resource(): no plugin factory." << endl;
243 return 0; 267 return 0;
244 } 268 }
245 269
246 Resource *resource = pluginFactory->resource( config ); 270 Resource *resource = pluginFactory->resource( config );
247 if ( !resource ) { 271 if ( !resource ) {
248//US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; 272//US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl;
249 qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); 273 qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1());
250 return 0; 274 return 0;
251 } 275 }
252 276
253 resource->setType( type ); 277 resource->setType( type );
254 278
255 return resource; 279 return resource;
280
281#endif
256} 282}
diff --git a/microkde/kresources/managerimpl.cpp b/microkde/kresources/managerimpl.cpp
index 566b8f4..a6d2007 100644
--- a/microkde/kresources/managerimpl.cpp
+++ b/microkde/kresources/managerimpl.cpp
@@ -1,170 +1,172 @@
1/* 1/*
2 This file is part of libkresources. 2 This file is part of libkresources.
3 3
4 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 4 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
5 Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org> 5 Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org>
6 Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> 6 Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org>
7 7
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version. 11 version 2 of the License, or (at your option) any later version.
12 12
13 This library is distributed in the hope that it will be useful, 13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Library General Public License for more details. 16 Library General Public License for more details.
17 17
18 You should have received a copy of the GNU Library General Public License 18 You should have received a copy of the GNU Library General Public License
19 along with this library; see the file COPYING.LIB. If not, write to 19 along with this library; see the file COPYING.LIB. If not, write to
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. 21 Boston, MA 02111-1307, USA.
22*/ 22*/
23 23
24/* 24/*
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$Id$
29*/ 29*/
30 30
31#include <kglobal.h> 31#include <kglobal.h>
32 32
33#include <kapplication.h> 33#include <kapplication.h>
34#include <kdebug.h> 34#include <kdebug.h>
35#include <kconfig.h> 35#include <kconfig.h>
36#include <kstandarddirs.h> 36#include <kstandarddirs.h>
37#include <qfile.h> 37#include <qfile.h>
38 38
39#include "resource.h" 39#include "resource.h"
40#include "factory.h" 40#include "factory.h"
41#include "managerimpl.h" 41#include "managerimpl.h"
42 42
43
44
43using namespace KRES; 45using namespace KRES;
44 46
45ManagerImpl::ManagerImpl( const QString &family ) 47ManagerImpl::ManagerImpl( const QString &family )
46 : mFamily( family ), mConfig( 0 ), mStdConfig( 0 ), mStandard( 0 ), 48 : mFamily( family ), mConfig( 0 ), mStdConfig( 0 ), mStandard( 0 ),
47 mFactory( 0 ) 49 mFactory( 0 )
48 50
49{ 51{
50 kdDebug(5650) << "ManagerImpl::ManagerImpl()" << endl; 52 kdDebug(5650) << "ManagerImpl::ManagerImpl()" << endl;
51 53
52 54
53} 55}
54 56
55ManagerImpl::~ManagerImpl() 57ManagerImpl::~ManagerImpl()
56{ 58{
57 kdDebug(5650) << "ManagerImpl::~ManagerImpl()" << endl; 59 kdDebug(5650) << "ManagerImpl::~ManagerImpl()" << endl;
58 60
59 Resource::List::ConstIterator it; 61 Resource::List::ConstIterator it;
60 for ( it = mResources.begin(); it != mResources.end(); ++it ) { 62 for ( it = mResources.begin(); it != mResources.end(); ++it ) {
61 delete *it; 63 delete *it;
62 } 64 }
63 65
64 delete mStdConfig; 66 delete mStdConfig;
65} 67}
66 68
67void ManagerImpl::createStandardConfig() 69void ManagerImpl::createStandardConfig()
68{ 70{
69 if ( !mStdConfig ) { 71 if ( !mStdConfig ) {
70 QString file = locateLocal( "data", KGlobal::getAppName() 72 QString file = locateLocal( "data", KGlobal::getAppName()
71 + "/kresources/" + mFamily + "rc" ); 73 + "/kresources/" + mFamily + "rc" );
72 if ( mFamily == "tmpcontact" ) { 74 if ( mFamily == "tmpcontact" ) {
73 if (QFile::exists ( file ) ){ 75 if (QFile::exists ( file ) ){
74 QFile::remove ( file ); 76 QFile::remove ( file );
75 qDebug("removed tmp rc file: %s ", file.latin1()); 77 qDebug("removed tmp rc file: %s ", file.latin1());
76 } 78 }
77 } 79 }
78 mStdConfig = new KConfig( file ); 80 mStdConfig = new KConfig( file );
79 } 81 }
80 82
81 mConfig = mStdConfig; 83 mConfig = mStdConfig;
82} 84}
83 85
84void ManagerImpl::readConfig( KConfig *cfg ) 86void ManagerImpl::readConfig( KConfig *cfg )
85{ 87{
86 kdDebug(5650) << "ManagerImpl::readConfig()" << endl; 88 kdDebug(5650) << "ManagerImpl::readConfig()" << endl;
87 89
88 delete mFactory; 90 delete mFactory;
89 mFactory = Factory::self( mFamily ); 91 mFactory = Factory::self( mFamily );
90 92
91 if ( !cfg ) { 93 if ( !cfg ) {
92 createStandardConfig(); 94 createStandardConfig();
93 } else { 95 } else {
94 mConfig = cfg; 96 mConfig = cfg;
95 } 97 }
96 98
97 mStandard = 0; 99 mStandard = 0;
98 100
99 mConfig->setGroup( "General" ); 101 mConfig->setGroup( "General" );
100 102
101 QStringList keys = mConfig->readListEntry( "ResourceKeys" ); 103 QStringList keys = mConfig->readListEntry( "ResourceKeys" );
102 keys += mConfig->readListEntry( "PassiveResourceKeys" ); 104 keys += mConfig->readListEntry( "PassiveResourceKeys" );
103 105
104 QString standardKey = mConfig->readEntry( "Standard" ); 106 QString standardKey = mConfig->readEntry( "Standard" );
105 107
106 for ( QStringList::Iterator it = keys.begin(); it != keys.end(); ++it ) { 108 for ( QStringList::Iterator it = keys.begin(); it != keys.end(); ++it ) {
107 readResourceConfig( *it, false ); 109 readResourceConfig( *it, false );
108 } 110 }
109 111
110} 112}
111 113
112void ManagerImpl::writeConfig( KConfig *cfg ) 114void ManagerImpl::writeConfig( KConfig *cfg )
113{ 115{
114//USqDebug("ManagerImpl::writeConfig begin this= %ul cfg=%ul", this, cfg); 116//USqDebug("ManagerImpl::writeConfig begin this= %ul cfg=%ul", this, cfg);
115 117
116 118
117 kdDebug(5650) << "ManagerImpl::writeConfig()" << endl; 119 kdDebug(5650) << "ManagerImpl::writeConfig()" << endl;
118 120
119 if ( !cfg ) { 121 if ( !cfg ) {
120 createStandardConfig(); 122 createStandardConfig();
121 } else { 123 } else {
122 mConfig = cfg; 124 mConfig = cfg;
123 } 125 }
124 126
125 QStringList activeKeys; 127 QStringList activeKeys;
126 QStringList passiveKeys; 128 QStringList passiveKeys;
127 129
128 // First write all keys, collect active and passive keys on the way 130 // First write all keys, collect active and passive keys on the way
129 Resource::List::Iterator it; 131 Resource::List::Iterator it;
130 for ( it = mResources.begin(); it != mResources.end(); ++it ) { 132 for ( it = mResources.begin(); it != mResources.end(); ++it ) {
131 writeResourceConfig( *it, false ); 133 writeResourceConfig( *it, false );
132 134
133 QString key = (*it)->identifier(); 135 QString key = (*it)->identifier();
134 if( (*it)->isActive() ) 136 if( (*it)->isActive() )
135 activeKeys.append( key ); 137 activeKeys.append( key );
136 else 138 else
137 passiveKeys.append( key ); 139 passiveKeys.append( key );
138 } 140 }
139 141
140 // And then the general group 142 // And then the general group
141 143
142 kdDebug(5650) << "Saving general info" << endl; 144 kdDebug(5650) << "Saving general info" << endl;
143 mConfig->setGroup( "General" ); 145 mConfig->setGroup( "General" );
144 mConfig->writeEntry( "ResourceKeys", activeKeys ); 146 mConfig->writeEntry( "ResourceKeys", activeKeys );
145 mConfig->writeEntry( "PassiveResourceKeys", passiveKeys ); 147 mConfig->writeEntry( "PassiveResourceKeys", passiveKeys );
146 if ( mStandard ) 148 if ( mStandard )
147 mConfig->writeEntry( "Standard", mStandard->identifier() ); 149 mConfig->writeEntry( "Standard", mStandard->identifier() );
148 else 150 else
149 mConfig->writeEntry( "Standard", "" ); 151 mConfig->writeEntry( "Standard", "" );
150 152
151 mConfig->sync(); 153 mConfig->sync();
152 kdDebug(5650) << "ManagerImpl::save() finished" << endl; 154 kdDebug(5650) << "ManagerImpl::save() finished" << endl;
153 155
154//US qDebug("ManagerImpl::writeConfig end this= %ul cfg=%ul", this, cfg); 156//US qDebug("ManagerImpl::writeConfig end this= %ul cfg=%ul", this, cfg);
155 157
156} 158}
157 159
158void ManagerImpl::add( Resource *resource, bool useDCOP ) 160void ManagerImpl::add( Resource *resource, bool useDCOP )
159{ 161{
160 //qDebug("ManagerImpl::add begin this= %ul resource=%ul", this, resource); 162 //qDebug("ManagerImpl::add begin this= %ul resource=%ul", this, resource);
161 163
162 resource->setActive( true ); 164 resource->setActive( true );
163 165
164 if ( mResources.isEmpty() ) { 166 if ( mResources.isEmpty() ) {
165 mStandard = resource; 167 mStandard = resource;
166 } 168 }
167 169
168 mResources.append( resource ); 170 mResources.append( resource );
169 171
170 writeResourceConfig( resource, true ); 172 writeResourceConfig( resource, true );
diff --git a/microkde/microkde.pro b/microkde/microkde.pro
index 9016260..783ec34 100644
--- a/microkde/microkde.pro
+++ b/microkde/microkde.pro
@@ -1,148 +1,154 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on 2 CONFIG += qt warn_on
3include( ../variables.pri )
3#INCLUDEPATH += $(QTDIR)/include . 4#INCLUDEPATH += $(QTDIR)/include .
4#DEPENDPATH += $(QTDIR)/include 5#DEPENDPATH += $(QTDIR)/include
5INCLUDEPATH += . ../ ../kabc ./kdecore ./kdeui ./kio/kfile ./kio/kio 6INCLUDEPATH += . ../ ../kabc ./kdecore ./kdeui ./kio/kfile ./kio/kio
6#LIBS += -lqtcompat 7#LIBS += -lqtcompat
7 8
8 TARGET = microkde 9 TARGET = microkde
9DESTDIR= ../bin 10DESTDIR= ../bin
10DEFINES += DESKTOP_VERSION KDE_QT_ONLY 11DEFINES += DESKTOP_VERSION KDE_QT_ONLY
11unix : { 12unix : {
13staticlib: {
14INCLUDEPATH += ../kabc/plugins
15DEFINES += STATIC_RESOURCES
16}
17
18
12OBJECTS_DIR = obj/unix 19OBJECTS_DIR = obj/unix
13MOC_DIR = moc/unix 20MOC_DIR = moc/unix
14} 21}
15win32: { 22win32: {
16DEFINES += _WIN32_ 23DEFINES += _WIN32_
17OBJECTS_DIR = obj/win 24OBJECTS_DIR = obj/win
18MOC_DIR = moc/win 25MOC_DIR = moc/win
19} 26}
20include( ../variables.pri )
21 27
22 28
23 29
24HEADERS = \ 30HEADERS = \
25qlayoutengine_p.h \ 31qlayoutengine_p.h \
26KDGanttMinimizeSplitter.h \ 32KDGanttMinimizeSplitter.h \
27 kapplication.h \ 33 kapplication.h \
28 kaudioplayer.h \ 34 kaudioplayer.h \
29 kcalendarsystem.h \ 35 kcalendarsystem.h \
30 kcalendarsystemgregorian.h \ 36 kcalendarsystemgregorian.h \
31 kcolorbutton.h \ 37 kcolorbutton.h \
32 kcolordialog.h \ 38 kcolordialog.h \
33 kcombobox.h \ 39 kcombobox.h \
34 kconfig.h \ 40 kconfig.h \
35 kdatetbl.h \ 41 kdatetbl.h \
36 kdebug.h \ 42 kdebug.h \
37 kdialog.h \ 43 kdialog.h \
38 kdialogbase.h \ 44 kdialogbase.h \
39 keditlistbox.h \ 45 keditlistbox.h \
40 kemailsettings.h \ 46 kemailsettings.h \
41 kfiledialog.h \ 47 kfiledialog.h \
42 kfontdialog.h \ 48 kfontdialog.h \
43 kglobal.h \ 49 kglobal.h \
44 kglobalsettings.h \ 50 kglobalsettings.h \
45 kiconloader.h \ 51 kiconloader.h \
46 klineedit.h \ 52 klineedit.h \
47 klineeditdlg.h \ 53 klineeditdlg.h \
48 kmessagebox.h \ 54 kmessagebox.h \
49 knotifyclient.h \ 55 knotifyclient.h \
50 kprinter.h \ 56 kprinter.h \
51 kprocess.h \ 57 kprocess.h \
52 krestrictedline.h \ 58 krestrictedline.h \
53 krun.h \ 59 krun.h \
54 ksimpleconfig.h \ 60 ksimpleconfig.h \
55 kstaticdeleter.h \ 61 kstaticdeleter.h \
56 ksystemtray.h \ 62 ksystemtray.h \
57 ktempfile.h \ 63 ktempfile.h \
58 ktextedit.h \ 64 ktextedit.h \
59 kunload.h \ 65 kunload.h \
60 kurl.h \ 66 kurl.h \
61 kdeui/kguiitem.h \ 67 kdeui/kguiitem.h \
62 kdeui/kcmodule.h \ 68 kdeui/kcmodule.h \
63 kdeui/kbuttonbox.h \ 69 kdeui/kbuttonbox.h \
64 kdeui/klistbox.h \ 70 kdeui/klistbox.h \
65 kdeui/klistview.h \ 71 kdeui/klistview.h \
66 kdeui/kjanuswidget.h \ 72 kdeui/kjanuswidget.h \
67 kdeui/kseparator.h \ 73 kdeui/kseparator.h \
68 kdeui/knuminput.h \ 74 kdeui/knuminput.h \
69 kdeui/knumvalidator.h \ 75 kdeui/knumvalidator.h \
70 kdeui/ksqueezedtextlabel.h \ 76 kdeui/ksqueezedtextlabel.h \
71 kio/job.h \ 77 kio/job.h \
72 kio/kio/kdirwatch.h \ 78 kio/kio/kdirwatch.h \
73 kio/kio/kdirwatch_p.h \ 79 kio/kio/kdirwatch_p.h \
74 kio/kfile/kurlrequester.h \ 80 kio/kfile/kurlrequester.h \
75 kresources/resource.h \ 81 kresources/resource.h \
76 kresources/factory.h \ 82 kresources/factory.h \
77 kresources/managerimpl.h \ 83 kresources/managerimpl.h \
78 kresources/manager.h \ 84 kresources/manager.h \
79 kresources/selectdialog.h \ 85 kresources/selectdialog.h \
80 kresources/configpage.h \ 86 kresources/configpage.h \
81 kresources/configwidget.h \ 87 kresources/configwidget.h \
82 kresources/configdialog.h \ 88 kresources/configdialog.h \
83 kresources/kcmkresources.h \ 89 kresources/kcmkresources.h \
84 kdecore/kmdcodec.h \ 90 kdecore/kmdcodec.h \
85 kdecore/kconfigbase.h \ 91 kdecore/kconfigbase.h \
86 kdecore/klocale.h \ 92 kdecore/klocale.h \
87 kdecore/kcatalogue.h \ 93 kdecore/kcatalogue.h \
88 kdecore/ksharedptr.h \ 94 kdecore/ksharedptr.h \
89 kdecore/kshell.h \ 95 kdecore/kshell.h \
90 kdecore/kstandarddirs.h \ 96 kdecore/kstandarddirs.h \
91 kdecore/kstringhandler.h \ 97 kdecore/kstringhandler.h \
92 kdecore/kshortcut.h \ 98 kdecore/kshortcut.h \
93 kutils/kcmultidialog.h \ 99 kutils/kcmultidialog.h \
94 kdeui/kxmlguiclient.h \ 100 kdeui/kxmlguiclient.h \
95 kdeui/kstdaction.h \ 101 kdeui/kstdaction.h \
96 kdeui/kmainwindow.h \ 102 kdeui/kmainwindow.h \
97 kdeui/ktoolbar.h \ 103 kdeui/ktoolbar.h \
98 kdeui/ktoolbarbutton.h \ 104 kdeui/ktoolbarbutton.h \
99 kdeui/ktoolbarhandler.h \ 105 kdeui/ktoolbarhandler.h \
100 kdeui/kaction.h \ 106 kdeui/kaction.h \
101 kdeui/kactionclasses.h \ 107 kdeui/kactionclasses.h \
102 kdeui/kactioncollection.h \ 108 kdeui/kactioncollection.h \
103 kdecore/kprefs.h \ 109 kdecore/kprefs.h \
104 kdecore/klibloader.h \ 110 kdecore/klibloader.h \
105 kidmanager.h 111 kidmanager.h
106 112
107 113
108# kdecore/klibloader.h \ 114# kdecore/klibloader.h \
109 115
110 116
111SOURCES = \ 117SOURCES = \
112KDGanttMinimizeSplitter.cpp \ 118KDGanttMinimizeSplitter.cpp \
113 kapplication.cpp \ 119 kapplication.cpp \
114 kcalendarsystem.cpp \ 120 kcalendarsystem.cpp \
115 kcalendarsystemgregorian.cpp \ 121 kcalendarsystemgregorian.cpp \
116 kcolorbutton.cpp \ 122 kcolorbutton.cpp \
117 kcolordialog.cpp \ 123 kcolordialog.cpp \
118 kconfig.cpp \ 124 kconfig.cpp \
119 kdatetbl.cpp \ 125 kdatetbl.cpp \
120 kdialog.cpp \ 126 kdialog.cpp \
121 kdialogbase.cpp \ 127 kdialogbase.cpp \
122 keditlistbox.cpp \ 128 keditlistbox.cpp \
123 kemailsettings.cpp \ 129 kemailsettings.cpp \
124 kfontdialog.cpp \ 130 kfontdialog.cpp \
125 kfiledialog.cpp \ 131 kfiledialog.cpp \
126 kglobal.cpp \ 132 kglobal.cpp \
127 kglobalsettings.cpp \ 133 kglobalsettings.cpp \
128 kiconloader.cpp \ 134 kiconloader.cpp \
129 kmessagebox.cpp \ 135 kmessagebox.cpp \
130 ktextedit.cpp \ 136 ktextedit.cpp \
131 kprocess.cpp \ 137 kprocess.cpp \
132 krun.cpp \ 138 krun.cpp \
133 ksystemtray.cpp \ 139 ksystemtray.cpp \
134 ktempfile.cpp \ 140 ktempfile.cpp \
135 kurl.cpp \ 141 kurl.cpp \
136 kdecore/kcatalogue.cpp \ 142 kdecore/kcatalogue.cpp \
137 kdecore/klocale.cpp \ 143 kdecore/klocale.cpp \
138 kdecore/kmdcodec.cpp \ 144 kdecore/kmdcodec.cpp \
139 kdecore/kshell.cpp \ 145 kdecore/kshell.cpp \
140 kdecore/kstandarddirs.cpp \ 146 kdecore/kstandarddirs.cpp \
141 kdecore/kstringhandler.cpp \ 147 kdecore/kstringhandler.cpp \
142 kdeui/kbuttonbox.cpp \ 148 kdeui/kbuttonbox.cpp \
143 kdeui/kcmodule.cpp \ 149 kdeui/kcmodule.cpp \
144 kdeui/kguiitem.cpp \ 150 kdeui/kguiitem.cpp \
145 kdeui/kjanuswidget.cpp \ 151 kdeui/kjanuswidget.cpp \
146 kdeui/klistbox.cpp \ 152 kdeui/klistbox.cpp \
147 kdeui/klistview.cpp \ 153 kdeui/klistview.cpp \
148 kdeui/knuminput.cpp \ 154 kdeui/knuminput.cpp \