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.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/microkde/kdecore/kstandarddirs.cpp b/microkde/kdecore/kstandarddirs.cpp
index f3584d7..cf0d1ee 100644
--- a/microkde/kdecore/kstandarddirs.cpp
+++ b/microkde/kdecore/kstandarddirs.cpp
@@ -1262,49 +1262,61 @@ void KStandardDirs::addKDEDefaults()
QString execPrefix(__KDE_EXECPREFIX);
if (execPrefix!="NONE")
kdedirList.append(execPrefix);
#endif
QString localKdeDir;
//US if (getuid())
if (true)
{
localKdeDir = readEnvPath("MICROKDEHOME");
if (!localKdeDir.isEmpty())
{
#ifdef _WIN32_
if (localKdeDir.at(localKdeDir.length()-1) != '\\')
localKdeDir += '\\';
#else
if (localKdeDir.at(localKdeDir.length()-1) != '/')
localKdeDir += '/';
#endif
//QMessageBox::information( 0,"localKdeDir",localKdeDir, 1 );
}
else
{
- KConfig cfg ( QDir::homeDirPath() + "/.microkdehome" );
+ QString confFile;
+#ifdef DESKTOP_VERSION
+ confFile = qApp->applicationDirPath ()+ "/.microkdehome" ;
+ 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/" );
}
}
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 += '/';
}
else
{
//US struct passwd *pw = getpwuid(0);
//US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/";
qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed");
}
}
//US localKdeDir = appDir();