summaryrefslogtreecommitdiffabout
path: root/microkde
authorzautrix <zautrix>2004-10-03 18:03:18 (UTC)
committer zautrix <zautrix>2004-10-03 18:03:18 (UTC)
commitdd8f6efd23350b101065ddb64f35920f24010185 (patch) (unidiff)
tree76475452c6c8854178a84e5fff863a21a8e117d3 /microkde
parent2a7b61c2b45a0a0344ae65633b2578b4cde1753f (diff)
downloadkdepimpi-dd8f6efd23350b101065ddb64f35920f24010185.zip
kdepimpi-dd8f6efd23350b101065ddb64f35920f24010185.tar.gz
kdepimpi-dd8f6efd23350b101065ddb64f35920f24010185.tar.bz2
Fixes for desktop. Fixed kdehomedir on wintendo
Diffstat (limited to 'microkde') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdecore/kstandarddirs.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/microkde/kdecore/kstandarddirs.cpp b/microkde/kdecore/kstandarddirs.cpp
index 7f2a326..1c3e0ae 100644
--- a/microkde/kdecore/kstandarddirs.cpp
+++ b/microkde/kdecore/kstandarddirs.cpp
@@ -1,140 +1,141 @@
1/* This file is part of the KDE libraries 1/* This file is part of the KDE libraries
2 Copyright (C) 1999 Sirtaj Singh Kang <taj@kde.org> 2 Copyright (C) 1999 Sirtaj Singh Kang <taj@kde.org>
3 Copyright (C) 1999 Stephan Kulow <coolo@kde.org> 3 Copyright (C) 1999 Stephan Kulow <coolo@kde.org>
4 Copyright (C) 1999 Waldo Bastian <bastian@kde.org> 4 Copyright (C) 1999 Waldo Bastian <bastian@kde.org>
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License version 2 as published by the Free Software Foundation. 8 License version 2 as published by the Free Software Foundation.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 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 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, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22 * Author: Stephan Kulow <coolo@kde.org> and Sirtaj Singh Kang <taj@kde.org> 22 * Author: Stephan Kulow <coolo@kde.org> and Sirtaj Singh Kang <taj@kde.org>
23 * Version:$Id$ 23 * Version:$Id$
24 * Generated:Thu Mar 5 16:05:28 EST 1998 24 * Generated:Thu Mar 5 16:05:28 EST 1998
25 */ 25 */
26 26
27//US #include "config.h" 27//US #include "config.h"
28 28
29#include <stdlib.h> 29#include <stdlib.h>
30#include <assert.h> 30#include <assert.h>
31//US#include <errno.h> 31//US#include <errno.h>
32//US #ifdef HAVE_SYS_STAT_H 32//US #ifdef HAVE_SYS_STAT_H
33//US #include <sys/stat.h> 33//US #include <sys/stat.h>
34//US #endif 34//US #endif
35//US#include <sys/types.h> 35//US#include <sys/types.h>
36//US#include <dirent.h> 36//US#include <dirent.h>
37//US#include <pwd.h> 37//US#include <pwd.h>
38 38
39#include <qregexp.h> 39#include <qregexp.h>
40#include <qasciidict.h> 40#include <qasciidict.h>
41#include <qdict.h> 41#include <qdict.h>
42#include <qdir.h> 42#include <qdir.h>
43#include <qfileinfo.h> 43#include <qfileinfo.h>
44#include <qstring.h> 44#include <qstring.h>
45#include <qmessagebox.h>
45#include <qapplication.h> 46#include <qapplication.h>
46 47
47#include <qstringlist.h> 48#include <qstringlist.h>
48 49
49#include "kstandarddirs.h" 50#include "kstandarddirs.h"
50#include "kconfig.h" 51#include "kconfig.h"
51#include "kdebug.h" 52#include "kdebug.h"
52//US #include "kinstance.h" 53//US #include "kinstance.h"
53#include "kshell.h" 54#include "kshell.h"
54//US#include <sys/param.h> 55//US#include <sys/param.h>
55//US#include <unistd.h> 56//US#include <unistd.h>
56 57
57//US 58//US
58QString KStandardDirs::mAppDir = QString::null; 59QString KStandardDirs::mAppDir = QString::null;
59 60
60 61
61template class QDict<QStringList>; 62template class QDict<QStringList>;
62 63
63#if 0 64#if 0
64#include <qtextedit.h> 65#include <qtextedit.h>
65void ddd( QString op ) 66void ddd( QString op )
66{ 67{
67 static QTextEdit * dot = 0; 68 static QTextEdit * dot = 0;
68 if ( ! dot ) 69 if ( ! dot )
69 dot = new QTextEdit(); 70 dot = new QTextEdit();
70 71
71 dot->show(); 72 dot->show();
72 73
73 dot->append( op ); 74 dot->append( op );
74 75
75} 76}
76#endif 77#endif
77class KStandardDirs::KStandardDirsPrivate 78class KStandardDirs::KStandardDirsPrivate
78{ 79{
79public: 80public:
80 KStandardDirsPrivate() 81 KStandardDirsPrivate()
81 : restrictionsActive(false), 82 : restrictionsActive(false),
82 dataRestrictionActive(false) 83 dataRestrictionActive(false)
83 { } 84 { }
84 85
85 bool restrictionsActive; 86 bool restrictionsActive;
86 bool dataRestrictionActive; 87 bool dataRestrictionActive;
87 QAsciiDict<bool> restrictions; 88 QAsciiDict<bool> restrictions;
88 QStringList xdgdata_prefixes; 89 QStringList xdgdata_prefixes;
89 QStringList xdgconf_prefixes; 90 QStringList xdgconf_prefixes;
90}; 91};
91 92
92static const char* const types[] = {"html", "icon", "apps", "sound", 93static const char* const types[] = {"html", "icon", "apps", "sound",
93 "data", "locale", "services", "mime", 94 "data", "locale", "services", "mime",
94 "servicetypes", "config", "exe", "tmp", 95 "servicetypes", "config", "exe", "tmp",
95 "wallpaper", "lib", "pixmap", "templates", 96 "wallpaper", "lib", "pixmap", "templates",
96 "module", "qtplugins", 97 "module", "qtplugins",
97 "xdgdata-apps", "xdgdata-dirs", "xdgconf-menu", 0 }; 98 "xdgdata-apps", "xdgdata-dirs", "xdgconf-menu", 0 };
98 99
99static int tokenize( QStringList& token, const QString& str, 100static int tokenize( QStringList& token, const QString& str,
100 const QString& delim ); 101 const QString& delim );
101 102
102KStandardDirs::KStandardDirs( ) : addedCustoms(false) 103KStandardDirs::KStandardDirs( ) : addedCustoms(false)
103{ 104{
104 d = new KStandardDirsPrivate; 105 d = new KStandardDirsPrivate;
105 dircache.setAutoDelete(true); 106 dircache.setAutoDelete(true);
106 relatives.setAutoDelete(true); 107 relatives.setAutoDelete(true);
107 absolutes.setAutoDelete(true); 108 absolutes.setAutoDelete(true);
108 savelocations.setAutoDelete(true); 109 savelocations.setAutoDelete(true);
109 addKDEDefaults(); 110 addKDEDefaults();
110} 111}
111 112
112KStandardDirs::~KStandardDirs() 113KStandardDirs::~KStandardDirs()
113{ 114{
114 delete d; 115 delete d;
115} 116}
116 117
117bool KStandardDirs::isRestrictedResource(const char *type, const QString& relPath) const 118bool KStandardDirs::isRestrictedResource(const char *type, const QString& relPath) const
118{ 119{
119 if (!d || !d->restrictionsActive) 120 if (!d || !d->restrictionsActive)
120 return false; 121 return false;
121 122
122 if (d->restrictions[type]) 123 if (d->restrictions[type])
123 return true; 124 return true;
124 125
125 if (strcmp(type, "data")==0) 126 if (strcmp(type, "data")==0)
126 { 127 {
127 applyDataRestrictions(relPath); 128 applyDataRestrictions(relPath);
128 if (d->dataRestrictionActive) 129 if (d->dataRestrictionActive)
129 { 130 {
130 d->dataRestrictionActive = false; 131 d->dataRestrictionActive = false;
131 return true; 132 return true;
132 } 133 }
133 } 134 }
134 return false; 135 return false;
135} 136}
136 137
137void KStandardDirs::applyDataRestrictions(const QString &relPath) const 138void KStandardDirs::applyDataRestrictions(const QString &relPath) const
138{ 139{
139 QString key; 140 QString key;
140 int i = relPath.find('/'); 141 int i = relPath.find('/');
@@ -1111,257 +1112,267 @@ bool KStandardDirs::makeDir(const QString& dir2, int mode)
1111 // bail out if we encountered a problem 1112 // bail out if we encountered a problem
1112//US if (stat(baseEncoded, &st) != 0) 1113//US if (stat(baseEncoded, &st) != 0)
1113 QFileInfo baseEncodedInfo(baseEncoded); 1114 QFileInfo baseEncodedInfo(baseEncoded);
1114 if (!baseEncodedInfo.exists()) 1115 if (!baseEncodedInfo.exists())
1115 { 1116 {
1116 // Directory does not exist.... 1117 // Directory does not exist....
1117 // Or maybe a dangling symlink ? 1118 // Or maybe a dangling symlink ?
1118//US if (lstat(baseEncoded, &st) == 0) 1119//US if (lstat(baseEncoded, &st) == 0)
1119 if (baseEncodedInfo.isSymLink()) { 1120 if (baseEncodedInfo.isSymLink()) {
1120//US (void)unlink(baseEncoded); // try removing 1121//US (void)unlink(baseEncoded); // try removing
1121 QFile(baseEncoded).remove(); 1122 QFile(baseEncoded).remove();
1122 } 1123 }
1123 1124
1124 //US if ( mkdir(baseEncoded, (mode_t) mode) != 0) 1125 //US if ( mkdir(baseEncoded, (mode_t) mode) != 0)
1125 QDir dirObj; 1126 QDir dirObj;
1126 if ( dirObj.mkdir(baseEncoded) != true ) 1127 if ( dirObj.mkdir(baseEncoded) != true )
1127 { 1128 {
1128 //US perror("trying to create local folder"); 1129 //US perror("trying to create local folder");
1129 return false; // Couldn't create it :-( 1130 return false; // Couldn't create it :-(
1130 } 1131 }
1131 } 1132 }
1132 i = pos + 1; 1133 i = pos + 1;
1133 } 1134 }
1134 return true; 1135 return true;
1135#endif 1136#endif
1136 1137
1137 // ******************************************** 1138 // ********************************************
1138 // new code for WIN32 1139 // new code for WIN32
1139 QDir dirObj; 1140 QDir dirObj;
1140 1141
1141 1142
1142 // we want an absolute path 1143 // we want an absolute path
1143#ifndef _WIN32_ 1144#ifndef _WIN32_
1144 if (dir.at(0) != '/') 1145 if (dir.at(0) != '/')
1145 return false; 1146 return false;
1146#endif 1147#endif
1147 1148
1148 QString target = dir; 1149 QString target = dir;
1149 uint len = target.length(); 1150 uint len = target.length();
1150#ifndef _WIN32_ 1151#ifndef _WIN32_
1151 // append trailing slash if missing 1152 // append trailing slash if missing
1152 if (dir.at(len - 1) != '/') 1153 if (dir.at(len - 1) != '/')
1153 target += '/'; 1154 target += '/';
1154#endif 1155#endif
1155 1156
1156 QString base(""); 1157 QString base("");
1157 uint i = 1; 1158 uint i = 1;
1158 1159
1159 while( i < len ) 1160 while( i < len )
1160 { 1161 {
1161//US struct stat st; 1162//US struct stat st;
1162#ifndef _WIN32_ 1163#ifndef _WIN32_
1163 int pos = target.find('/', i); 1164 int pos = target.find('/', i);
1164#else 1165#else
1165 int pos = target.find('\\', i); 1166 int pos = target.find('\\', i);
1166#endif 1167#endif
1167 if ( pos < 0 ) 1168 if ( pos < 0 )
1168 return true; 1169 return true;
1169 base += target.mid(i - 1, pos - i + 1); 1170 base += target.mid(i - 1, pos - i + 1);
1170 //QMessageBox::information( 0,"cap111", base, 1 ); 1171 //QMessageBox::information( 0,"cap111", base, 1 );
1171/*US 1172/*US
1172 QCString baseEncoded = QFile::encodeName(base); 1173 QCString baseEncoded = QFile::encodeName(base);
1173 // bail out if we encountered a problem 1174 // bail out if we encountered a problem
1174 if (stat(baseEncoded, &st) != 0) 1175 if (stat(baseEncoded, &st) != 0)
1175 { 1176 {
1176 // Directory does not exist.... 1177 // Directory does not exist....
1177 // Or maybe a dangling symlink ? 1178 // Or maybe a dangling symlink ?
1178 if (lstat(baseEncoded, &st) == 0) 1179 if (lstat(baseEncoded, &st) == 0)
1179 (void)unlink(baseEncoded); // try removing 1180 (void)unlink(baseEncoded); // try removing
1180 1181
1181 1182
1182 if ( mkdir(baseEncoded, (mode_t) mode) != 0) { 1183 if ( mkdir(baseEncoded, (mode_t) mode) != 0) {
1183 perror("trying to create local folder"); 1184 perror("trying to create local folder");
1184 return false; // Couldn't create it :-( 1185 return false; // Couldn't create it :-(
1185 } 1186 }
1186 } 1187 }
1187*/ 1188*/
1188 1189
1189 if (dirObj.exists(base) == false) 1190 if (dirObj.exists(base) == false)
1190 { 1191 {
1191 //qDebug("KStandardDirs::makeDir try to create : %s" , base.latin1()); 1192 //qDebug("KStandardDirs::makeDir try to create : %s" , base.latin1());
1192 if (dirObj.mkdir(base) != true) 1193 if (dirObj.mkdir(base) != true)
1193 { 1194 {
1194 qDebug("KStandardDirs::makeDir could not create: %s" , base.latin1()); 1195 qDebug("KStandardDirs::makeDir could not create: %s" , base.latin1());
1195 return false; 1196 return false;
1196 } 1197 }
1197 } 1198 }
1198 1199
1199 i = pos + 1; 1200 i = pos + 1;
1200 } 1201 }
1201 return true; 1202 return true;
1202 1203
1203} 1204}
1204 1205
1205static QString readEnvPath(const char *env) 1206static QString readEnvPath(const char *env)
1206{ 1207{
1207#ifdef _WIN32_ 1208 //#ifdef _WIN32_
1208 return ""; 1209 // return "";
1209#else 1210 //#else
1210 QCString c_path = getenv(env); 1211 QCString c_path;
1211 if (c_path.isEmpty()) 1212 if ( getenv(env) != NULL )
1212 return QString::null; 1213 c_path = QString ( getenv(env) );
1213 return QFile::decodeName(c_path); 1214 if (c_path.isEmpty())
1214#endif 1215 return QString::null;
1216 return QFile::decodeName(c_path);
1217 //#endif
1218
1215} 1219}
1216 1220
1217void KStandardDirs::addKDEDefaults() 1221void KStandardDirs::addKDEDefaults()
1218{ 1222{
1223
1219 //qDebug("ERROR: KStandardDirs::addKDEDefaults() called "); 1224 //qDebug("ERROR: KStandardDirs::addKDEDefaults() called ");
1220 //return; 1225 //return;
1221 QStringList kdedirList; 1226 QStringList kdedirList;
1222 1227
1223 // begin KDEDIRS 1228 // begin KDEDIRS
1224 QString kdedirs = readEnvPath("MICROKDEDIRS"); 1229 QString kdedirs = readEnvPath("MICROKDEDIRS");
1225 if (!kdedirs.isEmpty()) 1230 if (!kdedirs.isEmpty())
1226 { 1231 {
1227 tokenize(kdedirList, kdedirs, ":"); 1232 tokenize(kdedirList, kdedirs, ":");
1228 } 1233 }
1229 else 1234 else
1230 { 1235 {
1231 QString kdedir = readEnvPath("MICROKDEDIR"); 1236 QString kdedir = readEnvPath("MICROKDEDIR");
1232 if (!kdedir.isEmpty()) 1237 if (!kdedir.isEmpty())
1233 { 1238 {
1234 kdedir = KShell::tildeExpand(kdedir); 1239 kdedir = KShell::tildeExpand(kdedir);
1235 kdedirList.append(kdedir); 1240 kdedirList.append(kdedir);
1236 } 1241 }
1237 } 1242 }
1238//US kdedirList.append(KDEDIR); 1243//US kdedirList.append(KDEDIR);
1239//US for embedded, add qtopia dir as kdedir 1244//US for embedded, add qtopia dir as kdedir
1240 1245
1241#ifndef DESKTOP_VERSION 1246#ifndef DESKTOP_VERSION
1242 QString tmp = readEnvPath("QPEDIR"); 1247 QString tmp = readEnvPath("QPEDIR");
1243 if (!tmp.isEmpty()) 1248 if (!tmp.isEmpty())
1244 kdedirList.append(tmp); 1249 kdedirList.append(tmp);
1245 1250
1246 tmp = readEnvPath("QTDIR"); 1251 tmp = readEnvPath("QTDIR");
1247 if (!tmp.isEmpty()) 1252 if (!tmp.isEmpty())
1248 kdedirList.append(tmp); 1253 kdedirList.append(tmp);
1249 1254
1250 tmp = readEnvPath("OPIEDIR"); 1255 tmp = readEnvPath("OPIEDIR");
1251 if (!tmp.isEmpty()) 1256 if (!tmp.isEmpty())
1252 kdedirList.append(tmp); 1257 kdedirList.append(tmp);
1253 1258
1254#endif 1259#endif
1255 1260
1256#ifdef __KDE_EXECPREFIX 1261#ifdef __KDE_EXECPREFIX
1257 QString execPrefix(__KDE_EXECPREFIX); 1262 QString execPrefix(__KDE_EXECPREFIX);
1258 if (execPrefix!="NONE") 1263 if (execPrefix!="NONE")
1259 kdedirList.append(execPrefix); 1264 kdedirList.append(execPrefix);
1260#endif 1265#endif
1261 1266
1262 QString localKdeDir; 1267 QString localKdeDir;
1263 1268
1264//US if (getuid()) 1269//US if (getuid())
1265 if (true) 1270 if (true)
1266 { 1271 {
1267 localKdeDir = readEnvPath("MICROKDEHOME"); 1272 localKdeDir = readEnvPath("MICROKDEHOME");
1268 if (!localKdeDir.isEmpty()) 1273 if (!localKdeDir.isEmpty())
1269 { 1274 {
1275#ifdef _WIN32_
1276 if (localKdeDir.at(localKdeDir.length()-1) != '\\')
1277 localKdeDir += '\\';
1278#else
1270 if (localKdeDir.at(localKdeDir.length()-1) != '/') 1279 if (localKdeDir.at(localKdeDir.length()-1) != '/')
1271 localKdeDir += '/'; 1280 localKdeDir += '/';
1281#endif
1282 //QMessageBox::information( 0,"localKdeDir",localKdeDir, 1 );
1272 } 1283 }
1273 else 1284 else
1274 { 1285 {
1275 localKdeDir = QDir::homeDirPath() + "/kdepim/"; 1286 localKdeDir = QDir::homeDirPath() + "/kdepim/";
1276 } 1287 }
1277 } 1288 }
1278 else 1289 else
1279 { 1290 {
1280 // We treat root different to prevent root messing up the 1291 // We treat root different to prevent root messing up the
1281 // file permissions in the users home directory. 1292 // file permissions in the users home directory.
1282 localKdeDir = readEnvPath("MICROKDEROOTHOME"); 1293 localKdeDir = readEnvPath("MICROKDEROOTHOME");
1283 if (!localKdeDir.isEmpty()) 1294 if (!localKdeDir.isEmpty())
1284 { 1295 {
1285 if (localKdeDir.at(localKdeDir.length()-1) != '/') 1296 if (localKdeDir.at(localKdeDir.length()-1) != '/')
1286 localKdeDir += '/'; 1297 localKdeDir += '/';
1287 } 1298 }
1288 else 1299 else
1289 { 1300 {
1290//US struct passwd *pw = getpwuid(0); 1301//US struct passwd *pw = getpwuid(0);
1291//US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/"; 1302//US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/";
1292 qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed"); 1303 qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed");
1293 } 1304 }
1294 1305
1295 } 1306 }
1296 1307
1297//US localKdeDir = appDir(); 1308//US localKdeDir = appDir();
1298 1309
1299//US 1310//US
1300// qDebug("KStandardDirs::addKDEDefaults: localKdeDir=%s", localKdeDir.latin1()); 1311// qDebug("KStandardDirs::addKDEDefaults: localKdeDir=%s", localKdeDir.latin1());
1301 if (localKdeDir != "-/") 1312 if (localKdeDir != "-/")
1302 { 1313 {
1303 localKdeDir = KShell::tildeExpand(localKdeDir); 1314 localKdeDir = KShell::tildeExpand(localKdeDir);
1304 addPrefix(localKdeDir); 1315 addPrefix(localKdeDir);
1305 } 1316 }
1306 1317
1307 for (QStringList::ConstIterator it = kdedirList.begin(); 1318 for (QStringList::ConstIterator it = kdedirList.begin();
1308 it != kdedirList.end(); it++) 1319 it != kdedirList.end(); it++)
1309 { 1320 {
1310 QString dir = KShell::tildeExpand(*it); 1321 QString dir = KShell::tildeExpand(*it);
1311 addPrefix(dir); 1322 addPrefix(dir);
1312 } 1323 }
1313 // end KDEDIRS 1324 // end KDEDIRS
1314 1325
1315 // begin XDG_CONFIG_XXX 1326 // begin XDG_CONFIG_XXX
1316 QStringList xdgdirList; 1327 QStringList xdgdirList;
1317 QString xdgdirs = readEnvPath("XDG_CONFIG_DIRS"); 1328 QString xdgdirs = readEnvPath("XDG_CONFIG_DIRS");
1318 if (!xdgdirs.isEmpty()) 1329 if (!xdgdirs.isEmpty())
1319 { 1330 {
1320 tokenize(xdgdirList, xdgdirs, ":"); 1331 tokenize(xdgdirList, xdgdirs, ":");
1321 } 1332 }
1322 else 1333 else
1323 { 1334 {
1324 xdgdirList.clear(); 1335 xdgdirList.clear();
1325 xdgdirList.append("/etc/xdg"); 1336 xdgdirList.append("/etc/xdg");
1326 } 1337 }
1327 1338
1328 QString localXdgDir = readEnvPath("XDG_CONFIG_HOME"); 1339 QString localXdgDir = readEnvPath("XDG_CONFIG_HOME");
1329 if (!localXdgDir.isEmpty()) 1340 if (!localXdgDir.isEmpty())
1330 { 1341 {
1331 if (localXdgDir.at(localXdgDir.length()-1) != '/') 1342 if (localXdgDir.at(localXdgDir.length()-1) != '/')
1332 localXdgDir += '/'; 1343 localXdgDir += '/';
1333 } 1344 }
1334 else 1345 else
1335 { 1346 {
1336//US if (getuid()) 1347//US if (getuid())
1337 if (true) 1348 if (true)
1338 { 1349 {
1339 localXdgDir = QDir::homeDirPath() + "/.config/"; 1350 localXdgDir = QDir::homeDirPath() + "/.config/";
1340 } 1351 }
1341 else 1352 else
1342 { 1353 {
1343//US struct passwd *pw = getpwuid(0); 1354//US struct passwd *pw = getpwuid(0);
1344//US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.config/"; 1355//US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.config/";
1345 qDebug("KStandardDirs::addKDEDefaults: 2 has to be fixed"); 1356 qDebug("KStandardDirs::addKDEDefaults: 2 has to be fixed");
1346 } 1357 }
1347 } 1358 }
1348 1359
1349 localXdgDir = KShell::tildeExpand(localXdgDir); 1360 localXdgDir = KShell::tildeExpand(localXdgDir);
1350 addXdgConfigPrefix(localXdgDir); 1361 addXdgConfigPrefix(localXdgDir);
1351 1362
1352 for (QStringList::ConstIterator it = xdgdirList.begin(); 1363 for (QStringList::ConstIterator it = xdgdirList.begin();
1353 it != xdgdirList.end(); it++) 1364 it != xdgdirList.end(); it++)
1354 { 1365 {
1355 QString dir = KShell::tildeExpand(*it); 1366 QString dir = KShell::tildeExpand(*it);
1356 addXdgConfigPrefix(dir); 1367 addXdgConfigPrefix(dir);
1357 } 1368 }
1358 // end XDG_CONFIG_XXX 1369 // end XDG_CONFIG_XXX
1359 1370
1360 // begin XDG_DATA_XXX 1371 // begin XDG_DATA_XXX
1361 xdgdirs = readEnvPath("XDG_DATA_DIRS"); 1372 xdgdirs = readEnvPath("XDG_DATA_DIRS");
1362 if (!xdgdirs.isEmpty()) 1373 if (!xdgdirs.isEmpty())
1363 { 1374 {
1364 tokenize(xdgdirList, xdgdirs, ":"); 1375 tokenize(xdgdirList, xdgdirs, ":");
1365 } 1376 }
1366 else 1377 else
1367 { 1378 {