summaryrefslogtreecommitdiffabout
path: root/microkde/kdecore/kstandarddirs.cpp
Side-by-side diff
Diffstat (limited to 'microkde/kdecore/kstandarddirs.cpp') (more/less context) (show whitespace changes)
-rw-r--r--microkde/kdecore/kstandarddirs.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/microkde/kdecore/kstandarddirs.cpp b/microkde/kdecore/kstandarddirs.cpp
index cf0d1ee..810c889 100644
--- a/microkde/kdecore/kstandarddirs.cpp
+++ b/microkde/kdecore/kstandarddirs.cpp
@@ -1289,24 +1289,34 @@ void KStandardDirs::addKDEDefaults()
QFileInfo fi ( confFile );
if ( !fi.exists() )
confFile = QDir::homeDirPath() + "/.microkdehome";
else
qDebug("Loading path info from " + confFile );
#else
confFile = QDir::homeDirPath() + "/.microkdehome";
#endif
KConfig cfg ( confFile );
cfg.setGroup("Global");
localKdeDir = cfg.readEntry( "MICROKDEHOME", QDir::homeDirPath() + "/kdepim/" );
+#ifdef DESKTOP_VERSION
+ if ( localKdeDir.startsWith( "LOCAL:" ) ) {
+#ifdef _WIN32_
+ localKdeDir = qApp->applicationDirPath () + "\\"+ localKdeDir.mid( 6 );
+#else
+ localKdeDir = qApp->applicationDirPath () + "/"+ localKdeDir.mid( 6 );
+#endif
+ qDebug("Using local conf dir %s ",localKdeDir.latin1() );
+ }
+#endif
}
}
else
{
// We treat root different to prevent root messing up the
// file permissions in the users home directory.
localKdeDir = readEnvPath("MICROKDEROOTHOME");
if (!localKdeDir.isEmpty())
{
if (localKdeDir.at(localKdeDir.length()-1) != '/')
localKdeDir += '/';
}