From 3f84322a2da502f95be386372da9f75ed17df574 Mon Sep 17 00:00:00 2001 From: zautrix Date: Thu, 08 Jul 2004 11:20:17 +0000 Subject: Fixes for resource plugin handling on wintendo --- (limited to 'microkde') diff --git a/microkde/kconfig.cpp b/microkde/kconfig.cpp index 737b3f2..4cbec94 100644 --- a/microkde/kconfig.cpp +++ b/microkde/kconfig.cpp @@ -14,8 +14,8 @@ QString KConfig::mGroup = ""; KConfig::KConfig( const QString &fileName ) : mFileName( fileName ), mDirty( false ) { - kdDebug() << "KConfig::KConfig(): '" << fileName << "'" << endl; - + + mTempGroup = ""; load(); } @@ -25,10 +25,22 @@ KConfig::~KConfig() { sync(); } +// we need the temp group for plugins on windows +void KConfig::setTempGroup( const QString &group ) +{ + mTempGroup = group; + + if ( mTempGroup.right( 1 ) != "/" ) mTempGroup += "/"; +} + + +QString KConfig::tempGroup() const { + return mTempGroup; +} void KConfig::setGroup( const QString &group ) { - kdDebug() << "KConfig::setGroup(): '" << group << "'" << endl; + mGroup = group; @@ -69,7 +81,7 @@ QValueList KConfig::readIntListEntry( const QString & key) if (ok2 == false) { - kdDebug() << "KConfig::readIntListEntry: error while reading one of the intvalues." << endl; + qDebug("KConfig::readIntListEntry: error while reading one of the intvalues."); } @@ -227,7 +239,7 @@ void KConfig::writeEntry( const QString &key, const QDateTime &dt ) void KConfig::load() { - kdDebug() << "KConfig::load(): " << mFileName << endl; + QFile f( mFileName ); if ( !f.open( IO_ReadOnly ) ) { diff --git a/microkde/kconfig.h b/microkde/kconfig.h index bfedf53..a01b1a5 100644 --- a/microkde/kconfig.h +++ b/microkde/kconfig.h @@ -15,6 +15,9 @@ class KConfig KConfig( const QString & ); ~KConfig(); + void setTempGroup( const QString &group ); + QString tempGroup() const; + void setGroup( const QString & ); //US @@ -87,6 +90,7 @@ class KConfig private: static QString mGroup; + QString mTempGroup; QString mFileName; diff --git a/microkde/kresources/managerimpl.cpp b/microkde/kresources/managerimpl.cpp index 1baa6be..785b6b4 100644 --- a/microkde/kresources/managerimpl.cpp +++ b/microkde/kresources/managerimpl.cpp @@ -253,13 +253,18 @@ Resource* ManagerImpl::readResourceConfig( const QString& identifier, // qDebug("ManagerImpl::readResourceConfig() %s", identifier.latin1()); mConfig->setGroup( "Resource_" + identifier ); - +#ifdef _WIN32_ + // we use plugins on win32. the group is stored in a static variable + // such that gourp info not avail on win32 plugins + // to fix that, it would be a looooot of work + mConfig->setTempGroup( "Resource_" + identifier ); +#endif QString type = mConfig->readEntry( "ResourceType" ); QString name = mConfig->readEntry( "ResourceName" ); Resource *resource = mFactory->resource( type, mConfig ); if ( !resource ) { - kdDebug(5650) << "Failed to create resource with id " << identifier << endl; - return 0; + qDebug("Failed to create resource with id %s ",identifier.latin1() ); + return 0; } if ( resource->identifier().isEmpty() ) diff --git a/microkde/kresources/resource.cpp b/microkde/kresources/resource.cpp index 7827a67..991d53d 100644 --- a/microkde/kresources/resource.cpp +++ b/microkde/kresources/resource.cpp @@ -53,6 +53,13 @@ Resource::Resource( const KConfig* config ) //US compiler claimed that const discards qualifier KConfig* cfg = (KConfig*)config; if ( cfg ) { +#ifdef _WIN32_ + // we use plugins on win32. the group is stored in a static variable + // such that group info not available on win32 plugins + // to fix that, it would be a looooot of work + if ( !cfg->tempGroup().isEmpty() ) + cfg->setGroup( cfg->tempGroup() ); +#endif d->mType = cfg->readEntry( "ResourceType" ); d->mName = cfg->readEntry( "ResourceName" ); d->mReadOnly = cfg->readBoolEntry( "ResourceIsReadOnly", false ); -- cgit v0.9.0.2