summaryrefslogtreecommitdiffabout
path: root/microkde/kresources
Unidiff
Diffstat (limited to 'microkde/kresources') (more/less context) (show whitespace changes)
-rw-r--r--microkde/kresources/manager.h20
-rw-r--r--microkde/kresources/managerimpl.cpp22
-rw-r--r--microkde/kresources/syncwidget.cpp46
-rw-r--r--microkde/kresources/syncwidget.h62
4 files changed, 144 insertions, 6 deletions
diff --git a/microkde/kresources/manager.h b/microkde/kresources/manager.h
index b5e97fc..7e9e19a 100644
--- a/microkde/kresources/manager.h
+++ b/microkde/kresources/manager.h
@@ -1,12 +1,13 @@
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 Copyright (c) 2004 Ulf Schenk
7 8
8 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 11 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version. 12 version 2 of the License, or (at your option) any later version.
12 13
@@ -18,12 +19,19 @@
18 You should have received a copy of the GNU Library General Public License 19 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 20 along with this library; see the file COPYING.LIB. If not, write to
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 21 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. 22 Boston, MA 02111-1307, USA.
22*/ 23*/
23 24
25/*
26Enhanced Version of the file for platform independent KDE tools.
27Copyright (c) 2004 Ulf Schenk
28
29$Id$
30*/
31
24#ifndef KRESOURCES_MANAGER_H 32#ifndef KRESOURCES_MANAGER_H
25#define KRESOURCES_MANAGER_H 33#define KRESOURCES_MANAGER_H
26 34
27#include <qdict.h> 35#include <qdict.h>
28#include <qstringlist.h> 36#include <qstringlist.h>
29 37
@@ -156,18 +164,23 @@ class Manager : private ManagerImplListener
156 it.mList = mImpl->resourceList(); 164 it.mList = mImpl->resourceList();
157 return it; 165 return it;
158 } 166 }
159 167
160 bool isEmpty() const { return mImpl->resourceList()->isEmpty(); } 168 bool isEmpty() const { return mImpl->resourceList()->isEmpty(); }
161 169
162 Manager( const QString &family ) 170 /**
171 Return true, if the manager manages syncable resources.
172 */
173 bool manageSyncable() { return mImpl->manageSyncable(); }
174
175 Manager( const QString &family, bool syncable )
163 { 176 {
164 mFactory = Factory::self( family ); 177 mFactory = Factory::self( family );
165 // The managerimpl will use the same Factory object as the manager 178 // The managerimpl will use the same Factory object as the manager
166 // because of the Factory::self() pattern 179 // because of the Factory::self() pattern
167 mImpl = new ManagerImpl( family ); 180 mImpl = new ManagerImpl( family, syncable );
168 mImpl->setListener( this ); 181 mImpl->setListener( this );
169 182
170 mListeners = new QPtrList<ManagerListener<T> >; 183 mListeners = new QPtrList<ManagerListener<T> >;
171 } 184 }
172 185
173 virtual ~Manager() 186 virtual ~Manager()
@@ -244,16 +257,17 @@ class Manager : private ManagerImplListener
244 not added to the manager, the application has to do that. 257 not added to the manager, the application has to do that.
245 Returns a pointer to a resource object or a null pointer 258 Returns a pointer to a resource object or a null pointer
246 if resource type doesn't exist. 259 if resource type doesn't exist.
247 260
248 @param type The type of the resource, one of those returned 261 @param type The type of the resource, one of those returned
249 by @ref resourceTypeNames() 262 by @ref resourceTypeNames()
263 * @param syncable If the resource should support syncing capabilities.
250 */ 264 */
251 T *createResource( const QString& type ) 265 T *createResource( const QString& type )
252 { 266 {
253 return (T *)( mFactory->resource( type, 0 ) ); 267 return (T *)( mFactory->resource( type, 0, mImpl->manageSyncable() ) );
254 } 268 }
255 269
256 /** 270 /**
257 Returns a list of the names of all available resource types. 271 Returns a list of the names of all available resource types.
258 */ 272 */
259 QStringList resourceTypeNames() const 273 QStringList resourceTypeNames() const
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
@@ -18,12 +18,19 @@
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/*
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>
27#include <kdebug.h> 34#include <kdebug.h>
28#include <kconfig.h> 35#include <kconfig.h>
29#include <kstandarddirs.h> 36#include <kstandarddirs.h>
@@ -31,14 +38,14 @@
31#include "resource.h" 38#include "resource.h"
32#include "factory.h" 39#include "factory.h"
33#include "managerimpl.h" 40#include "managerimpl.h"
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
@@ -258,13 +265,13 @@ Resource* ManagerImpl::readResourceConfig( const QString& identifier,
258 // such that gourp info not avail on win32 plugins 265 // such that gourp info not avail on win32 plugins
259 // to fix that, it would be a looooot of work 266 // to fix that, it would be a looooot of work
260 mConfig->setTempGroup( "Resource_" + identifier ); 267 mConfig->setTempGroup( "Resource_" + 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;
268 } 275 }
269 276
270 if ( resource->identifier().isEmpty() ) 277 if ( resource->identifier().isEmpty() )
@@ -353,6 +360,15 @@ Resource* ManagerImpl::getResource( const QString& identifier )
353 for ( it = mResources.begin(); it != mResources.end(); ++it ) { 360 for ( it = mResources.begin(); it != mResources.end(); ++it ) {
354 if ( (*it)->identifier() == identifier ) 361 if ( (*it)->identifier() == identifier )
355 return *it; 362 return *it;
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
diff --git a/microkde/kresources/syncwidget.cpp b/microkde/kresources/syncwidget.cpp
new file mode 100644
index 0000000..9bb0df6
--- a/dev/null
+++ b/microkde/kresources/syncwidget.cpp
@@ -0,0 +1,46 @@
1/*
2 This file is part of libkresources.
3
4 Copyright (c) 2004 Ulf Schenk
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.
20*/
21
22// $Id$
23
24#include "syncwidget.h"
25
26using namespace KRES;
27
28
29SyncWidget::SyncWidget( QWidget *parent, const char *name )
30 : QWidget( parent, name )
31{
32}
33
34void SyncWidget::setInEditMode( bool )
35{
36}
37
38void SyncWidget::loadSettings( Resource * )
39{
40}
41
42void SyncWidget::saveSettings( Resource * )
43{
44}
45
46
diff --git a/microkde/kresources/syncwidget.h b/microkde/kresources/syncwidget.h
new file mode 100644
index 0000000..e94252c
--- a/dev/null
+++ b/microkde/kresources/syncwidget.h
@@ -0,0 +1,62 @@
1/*
2 This file is part of libkresources.
3 Copyright (c) 2004 Ulf Schenk
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
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
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19*/
20
21// $Id$
22
23#ifndef KRESOURCES_SYNCWIDGET_H
24#define KRESOURCES_SYNCWIDGET_H
25
26#include <qwidget.h>
27
28#include <kconfig.h>
29
30#include "resource.h"
31
32namespace KRES {
33
34class SyncWidget : public QWidget
35{
36 Q_OBJECT
37
38public:
39 SyncWidget( QWidget *parent = 0, const char *name = 0 );
40
41 /**
42 Sets the widget to 'edit' mode. Reimplement this method if you are
43 interested in the mode change (to disable some GUI element for
44 example). By default the widget is in 'create new' mode.
45 */
46 virtual void setInEditMode( bool value );
47
48public slots:
49 virtual void loadSettings( Resource *resource );
50 virtual void saveSettings( Resource *resource );
51
52signals:
53//US void setReadOnly( bool value );
54//US void setPersistentReadOnly( bool value );
55
56
57protected:
58//US Resource* mResource;
59};
60
61}
62#endif