summaryrefslogtreecommitdiffabout
path: root/microkde/kresources/managerimpl.cpp
Unidiff
Diffstat (limited to 'microkde/kresources/managerimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kresources/managerimpl.cpp70
1 files changed, 43 insertions, 27 deletions
diff --git a/microkde/kresources/managerimpl.cpp b/microkde/kresources/managerimpl.cpp
index 785b6b4..3655f50 100644
--- a/microkde/kresources/managerimpl.cpp
+++ b/microkde/kresources/managerimpl.cpp
@@ -1,6 +1,6 @@
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>
@@ -21,6 +21,13 @@
21 Boston, MA 02111-1307, USA. 21 Boston, MA 02111-1307, USA.
22*/ 22*/
23 23
24/*
25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk
27
28$Id$
29*/
30
24#include <kglobal.h> 31#include <kglobal.h>
25 32
26#include <kapplication.h> 33#include <kapplication.h>
@@ -34,14 +41,14 @@
34 41
35using namespace KRES; 42using namespace KRES;
36 43
37ManagerImpl::ManagerImpl( const QString &family ) 44ManagerImpl::ManagerImpl( const QString &family, bool syncable )
38 : mFamily( family ), mConfig( 0 ), mStdConfig( 0 ), mStandard( 0 ), 45 : mFamily( family ), mSyncable(syncable), mConfig( 0 ), mStdConfig( 0 ), mStandard( 0 ),
39 mFactory( 0 ) 46 mFactory( 0 )
40 47
41{ 48{
42 kdDebug(5650) << "ManagerImpl::ManagerImpl()" << endl; 49 kdDebug(5650) << "ManagerImpl::ManagerImpl()" << endl;
43 50
44 51
45} 52}
46 53
47ManagerImpl::~ManagerImpl() 54ManagerImpl::~ManagerImpl()
@@ -52,18 +59,18 @@ ManagerImpl::~ManagerImpl()
52 for ( it = mResources.begin(); it != mResources.end(); ++it ) { 59 for ( it = mResources.begin(); it != mResources.end(); ++it ) {
53 delete *it; 60 delete *it;
54 } 61 }
55 62
56 delete mStdConfig; 63 delete mStdConfig;
57} 64}
58 65
59void ManagerImpl::createStandardConfig() 66void ManagerImpl::createStandardConfig()
60{ 67{
61 if ( !mStdConfig ) { 68 if ( !mStdConfig ) {
62 QString file = locateLocal( "data", KGlobal::getAppName() 69 QString file = locateLocal( "data", KGlobal::getAppName()
63 + "/kresources/" + mFamily + "rc" ); 70 + "/kresources/" + mFamily + "rc" );
64 mStdConfig = new KConfig( file ); 71 mStdConfig = new KConfig( file );
65 } 72 }
66 73
67 mConfig = mStdConfig; 74 mConfig = mStdConfig;
68} 75}
69 76
@@ -79,7 +86,7 @@ void ManagerImpl::readConfig( KConfig *cfg )
79 } else { 86 } else {
80 mConfig = cfg; 87 mConfig = cfg;
81 } 88 }
82 89
83 mStandard = 0; 90 mStandard = 0;
84 91
85 mConfig->setGroup( "General" ); 92 mConfig->setGroup( "General" );
@@ -92,14 +99,14 @@ void ManagerImpl::readConfig( KConfig *cfg )
92 for ( QStringList::Iterator it = keys.begin(); it != keys.end(); ++it ) { 99 for ( QStringList::Iterator it = keys.begin(); it != keys.end(); ++it ) {
93 readResourceConfig( *it, false ); 100 readResourceConfig( *it, false );
94 } 101 }
95 102
96} 103}
97 104
98void ManagerImpl::writeConfig( KConfig *cfg ) 105void ManagerImpl::writeConfig( KConfig *cfg )
99{ 106{
100//USqDebug("ManagerImpl::writeConfig begin this= %ul cfg=%ul", this, cfg); 107//USqDebug("ManagerImpl::writeConfig begin this= %ul cfg=%ul", this, cfg);
101 108
102 109
103 kdDebug(5650) << "ManagerImpl::writeConfig()" << endl; 110 kdDebug(5650) << "ManagerImpl::writeConfig()" << endl;
104 111
105 if ( !cfg ) { 112 if ( !cfg ) {
@@ -107,7 +114,7 @@ void ManagerImpl::writeConfig( KConfig *cfg )
107 } else { 114 } else {
108 mConfig = cfg; 115 mConfig = cfg;
109 } 116 }
110 117
111 QStringList activeKeys; 118 QStringList activeKeys;
112 QStringList passiveKeys; 119 QStringList passiveKeys;
113 120
@@ -129,22 +136,22 @@ void ManagerImpl::writeConfig( KConfig *cfg )
129 mConfig->setGroup( "General" ); 136 mConfig->setGroup( "General" );
130 mConfig->writeEntry( "ResourceKeys", activeKeys ); 137 mConfig->writeEntry( "ResourceKeys", activeKeys );
131 mConfig->writeEntry( "PassiveResourceKeys", passiveKeys ); 138 mConfig->writeEntry( "PassiveResourceKeys", passiveKeys );
132 if ( mStandard ) 139 if ( mStandard )
133 mConfig->writeEntry( "Standard", mStandard->identifier() ); 140 mConfig->writeEntry( "Standard", mStandard->identifier() );
134 else 141 else
135 mConfig->writeEntry( "Standard", "" ); 142 mConfig->writeEntry( "Standard", "" );
136 143
137 mConfig->sync(); 144 mConfig->sync();
138 kdDebug(5650) << "ManagerImpl::save() finished" << endl; 145 kdDebug(5650) << "ManagerImpl::save() finished" << endl;
139 146
140//US qDebug("ManagerImpl::writeConfig end this= %ul cfg=%ul", this, cfg); 147//US qDebug("ManagerImpl::writeConfig end this= %ul cfg=%ul", this, cfg);
141 148
142} 149}
143 150
144void ManagerImpl::add( Resource *resource, bool useDCOP ) 151void ManagerImpl::add( Resource *resource, bool useDCOP )
145{ 152{
146qDebug("ManagerImpl::add begin this= %ul resource=%ul", this, resource); 153qDebug("ManagerImpl::add begin this= %ul resource=%ul", this, resource);
147 154
148 resource->setActive( true ); 155 resource->setActive( true );
149 156
150 if ( mResources.isEmpty() ) { 157 if ( mResources.isEmpty() ) {
@@ -155,7 +162,7 @@ qDebug("ManagerImpl::add begin this= %ul resource=%ul", this, resource);
155 162
156 writeResourceConfig( resource, true ); 163 writeResourceConfig( resource, true );
157 164
158 qDebug("ManagerImpl::add end this= %ul resource=%ul", this, resource); 165 qDebug("ManagerImpl::add end this= %ul resource=%ul", this, resource);
159 166
160} 167}
161 168
@@ -178,12 +185,12 @@ void ManagerImpl::setActive( Resource *resource, bool active )
178 } 185 }
179} 186}
180 187
181Resource *ManagerImpl::standardResource() 188Resource *ManagerImpl::standardResource()
182{ 189{
183 return mStandard; 190 return mStandard;
184} 191}
185 192
186void ManagerImpl::setStandardResource( Resource *resource ) 193void ManagerImpl::setStandardResource( Resource *resource )
187{ 194{
188 mStandard = resource; 195 mStandard = resource;
189} 196}
@@ -249,7 +256,7 @@ Resource* ManagerImpl::readResourceConfig( const QString& identifier,
249 bool checkActive ) 256 bool checkActive )
250{ 257{
251 kdDebug() << "ManagerImpl::readResourceConfig() " << identifier << endl; 258 kdDebug() << "ManagerImpl::readResourceConfig() " << identifier << endl;
252 259
253// qDebug("ManagerImpl::readResourceConfig() %s", identifier.latin1()); 260// qDebug("ManagerImpl::readResourceConfig() %s", identifier.latin1());
254 261
255 mConfig->setGroup( "Resource_" + identifier ); 262 mConfig->setGroup( "Resource_" + identifier );
@@ -261,7 +268,7 @@ Resource* ManagerImpl::readResourceConfig( const QString& identifier,
261#endif 268#endif
262 QString type = mConfig->readEntry( "ResourceType" ); 269 QString type = mConfig->readEntry( "ResourceType" );
263 QString name = mConfig->readEntry( "ResourceName" ); 270 QString name = mConfig->readEntry( "ResourceName" );
264 Resource *resource = mFactory->resource( type, mConfig ); 271 Resource *resource = mFactory->resource( type, mConfig, mSyncable );
265 if ( !resource ) { 272 if ( !resource ) {
266 qDebug("Failed to create resource with id %s ",identifier.latin1() ); 273 qDebug("Failed to create resource with id %s ",identifier.latin1() );
267 return 0; 274 return 0;
@@ -305,7 +312,7 @@ void ManagerImpl::writeResourceConfig( Resource *resource,
305 mConfig->writeEntry( "Standard", resource->identifier() ); 312 mConfig->writeEntry( "Standard", resource->identifier() );
306 else if ( resource != mStandard && standardKey == key ) 313 else if ( resource != mStandard && standardKey == key )
307 mConfig->writeEntry( "Standard", "" ); 314 mConfig->writeEntry( "Standard", "" );
308 315
309 if ( checkActive ) { 316 if ( checkActive ) {
310 QStringList activeKeys = mConfig->readListEntry( "ResourceKeys" ); 317 QStringList activeKeys = mConfig->readListEntry( "ResourceKeys" );
311 if ( resource->isActive() && !activeKeys.contains( key ) ) { 318 if ( resource->isActive() && !activeKeys.contains( key ) ) {
@@ -325,7 +332,7 @@ void ManagerImpl::removeResource( Resource *resource )
325 QString key = resource->identifier(); 332 QString key = resource->identifier();
326 333
327 if ( !mConfig ) createStandardConfig(); 334 if ( !mConfig ) createStandardConfig();
328 335
329 mConfig->setGroup( "General" ); 336 mConfig->setGroup( "General" );
330 QStringList activeKeys = mConfig->readListEntry( "ResourceKeys" ); 337 QStringList activeKeys = mConfig->readListEntry( "ResourceKeys" );
331 if ( activeKeys.contains( key ) ) { 338 if ( activeKeys.contains( key ) ) {
@@ -356,3 +363,12 @@ Resource* ManagerImpl::getResource( const QString& identifier )
356 } 363 }
357 return 0; 364 return 0;
358} 365}
366
367/**
368 Return true, if the manager manages syncable resources.
369*/
370bool ManagerImpl::manageSyncable() const
371{
372 return mSyncable;
373}
374