summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdecore/kstandarddirs.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/microkde/kdecore/kstandarddirs.cpp b/microkde/kdecore/kstandarddirs.cpp
index 4ab1a68..d5bfefd 100644
--- a/microkde/kdecore/kstandarddirs.cpp
+++ b/microkde/kdecore/kstandarddirs.cpp
@@ -1214,193 +1214,198 @@ QString readEnvPath(const char *env)
1214 if (c_path.isEmpty()) 1214 if (c_path.isEmpty())
1215 return QString::null; 1215 return QString::null;
1216 return QFile::decodeName(c_path); 1216 return QFile::decodeName(c_path);
1217 //#endif 1217 //#endif
1218 1218
1219} 1219}
1220 1220
1221void KStandardDirs::addKDEDefaults() 1221void KStandardDirs::addKDEDefaults()
1222{ 1222{
1223 1223
1224 //qDebug("ERROR: KStandardDirs::addKDEDefaults() called "); 1224 //qDebug("ERROR: KStandardDirs::addKDEDefaults() called ");
1225 //return; 1225 //return;
1226 QStringList kdedirList; 1226 QStringList kdedirList;
1227 1227
1228 // begin KDEDIRS 1228 // begin KDEDIRS
1229 QString kdedirs = readEnvPath("MICROKDEDIRS"); 1229 QString kdedirs = readEnvPath("MICROKDEDIRS");
1230 if (!kdedirs.isEmpty()) 1230 if (!kdedirs.isEmpty())
1231 { 1231 {
1232 tokenize(kdedirList, kdedirs, ":"); 1232 tokenize(kdedirList, kdedirs, ":");
1233 } 1233 }
1234 else 1234 else
1235 { 1235 {
1236 QString kdedir = readEnvPath("MICROKDEDIR"); 1236 QString kdedir = readEnvPath("MICROKDEDIR");
1237 if (!kdedir.isEmpty()) 1237 if (!kdedir.isEmpty())
1238 { 1238 {
1239 kdedir = KShell::tildeExpand(kdedir); 1239 kdedir = KShell::tildeExpand(kdedir);
1240 kdedirList.append(kdedir); 1240 kdedirList.append(kdedir);
1241 } 1241 }
1242 } 1242 }
1243//US kdedirList.append(KDEDIR); 1243//US kdedirList.append(KDEDIR);
1244//US for embedded, add qtopia dir as kdedir 1244//US for embedded, add qtopia dir as kdedir
1245 1245
1246#ifndef DESKTOP_VERSION 1246#ifndef DESKTOP_VERSION
1247 QString tmp = readEnvPath("QPEDIR"); 1247 QString tmp = readEnvPath("QPEDIR");
1248 if (!tmp.isEmpty()) 1248 if (!tmp.isEmpty())
1249 kdedirList.append(tmp); 1249 kdedirList.append(tmp);
1250 1250
1251 tmp = readEnvPath("QTDIR"); 1251 tmp = readEnvPath("QTDIR");
1252 if (!tmp.isEmpty()) 1252 if (!tmp.isEmpty())
1253 kdedirList.append(tmp); 1253 kdedirList.append(tmp);
1254 1254
1255 tmp = readEnvPath("OPIEDIR"); 1255 tmp = readEnvPath("OPIEDIR");
1256 if (!tmp.isEmpty()) 1256 if (!tmp.isEmpty())
1257 kdedirList.append(tmp); 1257 kdedirList.append(tmp);
1258 1258
1259#endif 1259#endif
1260 1260
1261#ifdef __KDE_EXECPREFIX 1261#ifdef __KDE_EXECPREFIX
1262 QString execPrefix(__KDE_EXECPREFIX); 1262 QString execPrefix(__KDE_EXECPREFIX);
1263 if (execPrefix!="NONE") 1263 if (execPrefix!="NONE")
1264 kdedirList.append(execPrefix); 1264 kdedirList.append(execPrefix);
1265#endif 1265#endif
1266 1266
1267 QString localKdeDir; 1267 QString localKdeDir;
1268 1268
1269//US if (getuid()) 1269//US if (getuid())
1270 if (true) 1270 if (true)
1271 { 1271 {
1272 localKdeDir = readEnvPath("MICROKDEHOME"); 1272 localKdeDir = readEnvPath("MICROKDEHOME");
1273 if (!localKdeDir.isEmpty()) 1273 if (!localKdeDir.isEmpty())
1274 { 1274 {
1275#ifdef _WIN32_ 1275#ifdef _WIN32_
1276 if (localKdeDir.at(localKdeDir.length()-1) != '\\') 1276 if (localKdeDir.at(localKdeDir.length()-1) != '\\')
1277 localKdeDir += '\\'; 1277 localKdeDir += '\\';
1278#else 1278#else
1279 if (localKdeDir.at(localKdeDir.length()-1) != '/') 1279 if (localKdeDir.at(localKdeDir.length()-1) != '/')
1280 localKdeDir += '/'; 1280 localKdeDir += '/';
1281#endif 1281#endif
1282 //QMessageBox::information( 0,"localKdeDir",localKdeDir, 1 ); 1282 //QMessageBox::information( 0,"localKdeDir",localKdeDir, 1 );
1283 } 1283 }
1284 else 1284 else
1285 { 1285 {
1286 QString confFile; 1286 QString confFile;
1287#ifdef DESKTOP_VERSION 1287#ifdef DESKTOP_VERSION
1288 confFile = qApp->applicationDirPath ()+ "/.microkdehome" ; 1288 confFile = qApp->applicationDirPath ()+ "/.microkdehome" ;
1289 QFileInfo fi ( confFile ); 1289 QFileInfo fi ( confFile );
1290 if ( !fi.exists() ) 1290 if ( !fi.exists() )
1291 confFile = QDir::homeDirPath() + "/.microkdehome"; 1291 confFile = QDir::homeDirPath() + "/.microkdehome";
1292 else 1292 else
1293 qDebug("Loading path info from " + confFile ); 1293 qDebug("Loading path info from " + confFile );
1294 1294
1295#else 1295#else
1296 confFile = QDir::homeDirPath() + "/.microkdehome"; 1296 confFile = QDir::homeDirPath() + "/.microkdehome";
1297#endif 1297#endif
1298 KConfig cfg ( confFile ); 1298 KConfig cfg ( confFile );
1299 cfg.setGroup("Global"); 1299 cfg.setGroup("Global");
1300 localKdeDir = cfg.readEntry( "MICROKDEHOME", QDir::homeDirPath() + "/kdepim/" ); 1300 localKdeDir = cfg.readEntry( "MICROKDEHOME", QDir::homeDirPath() + "/kdepim/" );
1301#ifdef DESKTOP_VERSION 1301#ifdef DESKTOP_VERSION
1302 if ( localKdeDir.startsWith( "LOCAL:" ) ) { 1302 if ( localKdeDir.startsWith( "LOCAL:" ) ) {
1303#ifdef _WIN32_ 1303#ifdef _WIN32_
1304 localKdeDir = qApp->applicationDirPath () + "\\"+ localKdeDir.mid( 6 ); 1304 localKdeDir = qApp->applicationDirPath () + "\\"+ localKdeDir.mid( 6 );
1305#else 1305#else
1306 localKdeDir = qApp->applicationDirPath () + "/"+ localKdeDir.mid( 6 ); 1306 localKdeDir = qApp->applicationDirPath () + "/"+ localKdeDir.mid( 6 );
1307#endif 1307#endif
1308 qDebug("Using local conf dir %s ",localKdeDir.latin1() ); 1308 qDebug("Using local conf dir %s ",localKdeDir.latin1() );
1309 // <stdlib.h> 1309 // <stdlib.h>
1310#ifdef _WIN32_
1311 QString envSt = "LOCALMICROKDEHOME="+localKdeDir;
1312 _putenv( envSt.latin1());
1313#else
1310 setenv( "LOCALMICROKDEHOME", localKdeDir.latin1(), 1 ); 1314 setenv( "LOCALMICROKDEHOME", localKdeDir.latin1(), 1 );
1315#endif
1311 } 1316 }
1312#endif 1317#endif
1313 } 1318 }
1314 } 1319 }
1315 else 1320 else
1316 { 1321 {
1317 // We treat root different to prevent root messing up the 1322 // We treat root different to prevent root messing up the
1318 // file permissions in the users home directory. 1323 // file permissions in the users home directory.
1319 localKdeDir = readEnvPath("MICROKDEROOTHOME"); 1324 localKdeDir = readEnvPath("MICROKDEROOTHOME");
1320 if (!localKdeDir.isEmpty()) 1325 if (!localKdeDir.isEmpty())
1321 { 1326 {
1322 if (localKdeDir.at(localKdeDir.length()-1) != '/') 1327 if (localKdeDir.at(localKdeDir.length()-1) != '/')
1323 localKdeDir += '/'; 1328 localKdeDir += '/';
1324 } 1329 }
1325 else 1330 else
1326 { 1331 {
1327//US struct passwd *pw = getpwuid(0); 1332//US struct passwd *pw = getpwuid(0);
1328//US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/"; 1333//US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/";
1329 qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed"); 1334 qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed");
1330 } 1335 }
1331 1336
1332 } 1337 }
1333 1338
1334//US localKdeDir = appDir(); 1339//US localKdeDir = appDir();
1335 1340
1336//US 1341//US
1337// qDebug("KStandardDirs::addKDEDefaults: localKdeDir=%s", localKdeDir.latin1()); 1342// qDebug("KStandardDirs::addKDEDefaults: localKdeDir=%s", localKdeDir.latin1());
1338 if (localKdeDir != "-/") 1343 if (localKdeDir != "-/")
1339 { 1344 {
1340 localKdeDir = KShell::tildeExpand(localKdeDir); 1345 localKdeDir = KShell::tildeExpand(localKdeDir);
1341 addPrefix(localKdeDir); 1346 addPrefix(localKdeDir);
1342 } 1347 }
1343 1348
1344 for (QStringList::ConstIterator it = kdedirList.begin(); 1349 for (QStringList::ConstIterator it = kdedirList.begin();
1345 it != kdedirList.end(); it++) 1350 it != kdedirList.end(); it++)
1346 { 1351 {
1347 QString dir = KShell::tildeExpand(*it); 1352 QString dir = KShell::tildeExpand(*it);
1348 addPrefix(dir); 1353 addPrefix(dir);
1349 } 1354 }
1350 // end KDEDIRS 1355 // end KDEDIRS
1351 1356
1352 // begin XDG_CONFIG_XXX 1357 // begin XDG_CONFIG_XXX
1353 QStringList xdgdirList; 1358 QStringList xdgdirList;
1354 QString xdgdirs = readEnvPath("XDG_CONFIG_DIRS"); 1359 QString xdgdirs = readEnvPath("XDG_CONFIG_DIRS");
1355 if (!xdgdirs.isEmpty()) 1360 if (!xdgdirs.isEmpty())
1356 { 1361 {
1357 tokenize(xdgdirList, xdgdirs, ":"); 1362 tokenize(xdgdirList, xdgdirs, ":");
1358 } 1363 }
1359 else 1364 else
1360 { 1365 {
1361 xdgdirList.clear(); 1366 xdgdirList.clear();
1362 xdgdirList.append("/etc/xdg"); 1367 xdgdirList.append("/etc/xdg");
1363 } 1368 }
1364 1369
1365 QString localXdgDir = readEnvPath("XDG_CONFIG_HOME"); 1370 QString localXdgDir = readEnvPath("XDG_CONFIG_HOME");
1366 if (!localXdgDir.isEmpty()) 1371 if (!localXdgDir.isEmpty())
1367 { 1372 {
1368 if (localXdgDir.at(localXdgDir.length()-1) != '/') 1373 if (localXdgDir.at(localXdgDir.length()-1) != '/')
1369 localXdgDir += '/'; 1374 localXdgDir += '/';
1370 } 1375 }
1371 else 1376 else
1372 { 1377 {
1373//US if (getuid()) 1378//US if (getuid())
1374 if (true) 1379 if (true)
1375 { 1380 {
1376 localXdgDir = QDir::homeDirPath() + "/.config/"; 1381 localXdgDir = QDir::homeDirPath() + "/.config/";
1377 } 1382 }
1378 else 1383 else
1379 { 1384 {
1380//US struct passwd *pw = getpwuid(0); 1385//US struct passwd *pw = getpwuid(0);
1381//US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.config/"; 1386//US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.config/";
1382 qDebug("KStandardDirs::addKDEDefaults: 2 has to be fixed"); 1387 qDebug("KStandardDirs::addKDEDefaults: 2 has to be fixed");
1383 } 1388 }
1384 } 1389 }
1385 1390
1386 localXdgDir = KShell::tildeExpand(localXdgDir); 1391 localXdgDir = KShell::tildeExpand(localXdgDir);
1387 addXdgConfigPrefix(localXdgDir); 1392 addXdgConfigPrefix(localXdgDir);
1388 1393
1389 for (QStringList::ConstIterator it = xdgdirList.begin(); 1394 for (QStringList::ConstIterator it = xdgdirList.begin();
1390 it != xdgdirList.end(); it++) 1395 it != xdgdirList.end(); it++)
1391 { 1396 {
1392 QString dir = KShell::tildeExpand(*it); 1397 QString dir = KShell::tildeExpand(*it);
1393 addXdgConfigPrefix(dir); 1398 addXdgConfigPrefix(dir);
1394 } 1399 }
1395 // end XDG_CONFIG_XXX 1400 // end XDG_CONFIG_XXX
1396 1401
1397 // begin XDG_DATA_XXX 1402 // begin XDG_DATA_XXX
1398 xdgdirs = readEnvPath("XDG_DATA_DIRS"); 1403 xdgdirs = readEnvPath("XDG_DATA_DIRS");
1399 if (!xdgdirs.isEmpty()) 1404 if (!xdgdirs.isEmpty())
1400 { 1405 {
1401 tokenize(xdgdirList, xdgdirs, ":"); 1406 tokenize(xdgdirList, xdgdirs, ":");
1402 } 1407 }
1403 else 1408 else
1404 { 1409 {
1405 xdgdirList.clear(); 1410 xdgdirList.clear();
1406 for (QStringList::ConstIterator it = kdedirList.begin(); 1411 for (QStringList::ConstIterator it = kdedirList.begin();