author | ulf69 <ulf69> | 2004-10-01 18:10:17 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-10-01 18:10:17 (UTC) |
commit | 7810fe355bd75c83bcdaed646cd1dde8d3c94fcb (patch) (unidiff) | |
tree | 7f425b9d7ba5109a289414c2903fff7c5182f700 | |
parent | ae6aaaf2ec81317d275ebaabba2de188279b58cd (diff) | |
download | kdepimpi-7810fe355bd75c83bcdaed646cd1dde8d3c94fcb.zip kdepimpi-7810fe355bd75c83bcdaed646cd1dde8d3c94fcb.tar.gz kdepimpi-7810fe355bd75c83bcdaed646cd1dde8d3c94fcb.tar.bz2 |
added env variables QTDIR and OPIEDIR to search for libraries.
This is a fix for pdaXROM users that have not set QPEDIR
-rw-r--r-- | microkde/kdecore/kstandarddirs.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/microkde/kdecore/kstandarddirs.cpp b/microkde/kdecore/kstandarddirs.cpp index 500426b..7f2a326 100644 --- a/microkde/kdecore/kstandarddirs.cpp +++ b/microkde/kdecore/kstandarddirs.cpp | |||
@@ -1050,385 +1050,396 @@ QString KStandardDirs::saveLocation(const char *type, | |||
1050 | qDebug("save location %s doesn't exist", fullPath.latin1()); | 1050 | qDebug("save location %s doesn't exist", fullPath.latin1()); |
1051 | #endif | 1051 | #endif |
1052 | return fullPath; | 1052 | return fullPath; |
1053 | } | 1053 | } |
1054 | if(!makeDir(fullPath, 0700)) { | 1054 | if(!makeDir(fullPath, 0700)) { |
1055 | qWarning("failed to create %s", fullPath.latin1()); | 1055 | qWarning("failed to create %s", fullPath.latin1()); |
1056 | return fullPath; | 1056 | return fullPath; |
1057 | } | 1057 | } |
1058 | dircache.remove(type); | 1058 | dircache.remove(type); |
1059 | } | 1059 | } |
1060 | return fullPath; | 1060 | return fullPath; |
1061 | } | 1061 | } |
1062 | 1062 | ||
1063 | QString KStandardDirs::relativeLocation(const char *type, const QString &absPath) | 1063 | QString KStandardDirs::relativeLocation(const char *type, const QString &absPath) |
1064 | { | 1064 | { |
1065 | QString fullPath = absPath; | 1065 | QString fullPath = absPath; |
1066 | int i = absPath.findRev('/'); | 1066 | int i = absPath.findRev('/'); |
1067 | if (i != -1) | 1067 | if (i != -1) |
1068 | { | 1068 | { |
1069 | fullPath = realPath(absPath.left(i+1))+absPath.mid(i+1); // Normalize | 1069 | fullPath = realPath(absPath.left(i+1))+absPath.mid(i+1); // Normalize |
1070 | } | 1070 | } |
1071 | 1071 | ||
1072 | QStringList candidates = resourceDirs(type); | 1072 | QStringList candidates = resourceDirs(type); |
1073 | 1073 | ||
1074 | for (QStringList::ConstIterator it = candidates.begin(); | 1074 | for (QStringList::ConstIterator it = candidates.begin(); |
1075 | it != candidates.end(); it++) | 1075 | it != candidates.end(); it++) |
1076 | if (fullPath.startsWith(*it)) | 1076 | if (fullPath.startsWith(*it)) |
1077 | { | 1077 | { |
1078 | return fullPath.mid((*it).length()); | 1078 | return fullPath.mid((*it).length()); |
1079 | } | 1079 | } |
1080 | 1080 | ||
1081 | return absPath; | 1081 | return absPath; |
1082 | } | 1082 | } |
1083 | 1083 | ||
1084 | 1084 | ||
1085 | bool KStandardDirs::makeDir(const QString& dir2, int mode) | 1085 | bool KStandardDirs::makeDir(const QString& dir2, int mode) |
1086 | { | 1086 | { |
1087 | QString dir = QDir::convertSeparators( dir2 ); | 1087 | QString dir = QDir::convertSeparators( dir2 ); |
1088 | #if 0 | 1088 | #if 0 |
1089 | //LR | 1089 | //LR |
1090 | 1090 | ||
1091 | // we want an absolute path | 1091 | // we want an absolute path |
1092 | if (dir.at(0) != '/') | 1092 | if (dir.at(0) != '/') |
1093 | return false; | 1093 | return false; |
1094 | 1094 | ||
1095 | QString target = dir; | 1095 | QString target = dir; |
1096 | uint len = target.length(); | 1096 | uint len = target.length(); |
1097 | 1097 | ||
1098 | // append trailing slash if missing | 1098 | // append trailing slash if missing |
1099 | if (dir.at(len - 1) != '/') | 1099 | if (dir.at(len - 1) != '/') |
1100 | target += '/'; | 1100 | target += '/'; |
1101 | 1101 | ||
1102 | QString base(""); | 1102 | QString base(""); |
1103 | uint i = 1; | 1103 | uint i = 1; |
1104 | 1104 | ||
1105 | while( i < len ) | 1105 | while( i < len ) |
1106 | { | 1106 | { |
1107 | //US struct stat st; | 1107 | //US struct stat st; |
1108 | int pos = target.find('/', i); | 1108 | int pos = target.find('/', i); |
1109 | base += target.mid(i - 1, pos - i + 1); | 1109 | base += target.mid(i - 1, pos - i + 1); |
1110 | QCString baseEncoded = QFile::encodeName(base); | 1110 | QCString baseEncoded = QFile::encodeName(base); |
1111 | // bail out if we encountered a problem | 1111 | // bail out if we encountered a problem |
1112 | //US if (stat(baseEncoded, &st) != 0) | 1112 | //US if (stat(baseEncoded, &st) != 0) |
1113 | QFileInfo baseEncodedInfo(baseEncoded); | 1113 | QFileInfo baseEncodedInfo(baseEncoded); |
1114 | if (!baseEncodedInfo.exists()) | 1114 | if (!baseEncodedInfo.exists()) |
1115 | { | 1115 | { |
1116 | // Directory does not exist.... | 1116 | // Directory does not exist.... |
1117 | // Or maybe a dangling symlink ? | 1117 | // Or maybe a dangling symlink ? |
1118 | //US if (lstat(baseEncoded, &st) == 0) | 1118 | //US if (lstat(baseEncoded, &st) == 0) |
1119 | if (baseEncodedInfo.isSymLink()) { | 1119 | if (baseEncodedInfo.isSymLink()) { |
1120 | //US (void)unlink(baseEncoded); // try removing | 1120 | //US (void)unlink(baseEncoded); // try removing |
1121 | QFile(baseEncoded).remove(); | 1121 | QFile(baseEncoded).remove(); |
1122 | } | 1122 | } |
1123 | 1123 | ||
1124 | //US if ( mkdir(baseEncoded, (mode_t) mode) != 0) | 1124 | //US if ( mkdir(baseEncoded, (mode_t) mode) != 0) |
1125 | QDir dirObj; | 1125 | QDir dirObj; |
1126 | if ( dirObj.mkdir(baseEncoded) != true ) | 1126 | if ( dirObj.mkdir(baseEncoded) != true ) |
1127 | { | 1127 | { |
1128 | //US perror("trying to create local folder"); | 1128 | //US perror("trying to create local folder"); |
1129 | return false; // Couldn't create it :-( | 1129 | return false; // Couldn't create it :-( |
1130 | } | 1130 | } |
1131 | } | 1131 | } |
1132 | i = pos + 1; | 1132 | i = pos + 1; |
1133 | } | 1133 | } |
1134 | return true; | 1134 | return true; |
1135 | #endif | 1135 | #endif |
1136 | 1136 | ||
1137 | // ******************************************** | 1137 | // ******************************************** |
1138 | // new code for WIN32 | 1138 | // new code for WIN32 |
1139 | QDir dirObj; | 1139 | QDir dirObj; |
1140 | 1140 | ||
1141 | 1141 | ||
1142 | // we want an absolute path | 1142 | // we want an absolute path |
1143 | #ifndef _WIN32_ | 1143 | #ifndef _WIN32_ |
1144 | if (dir.at(0) != '/') | 1144 | if (dir.at(0) != '/') |
1145 | return false; | 1145 | return false; |
1146 | #endif | 1146 | #endif |
1147 | 1147 | ||
1148 | QString target = dir; | 1148 | QString target = dir; |
1149 | uint len = target.length(); | 1149 | uint len = target.length(); |
1150 | #ifndef _WIN32_ | 1150 | #ifndef _WIN32_ |
1151 | // append trailing slash if missing | 1151 | // append trailing slash if missing |
1152 | if (dir.at(len - 1) != '/') | 1152 | if (dir.at(len - 1) != '/') |
1153 | target += '/'; | 1153 | target += '/'; |
1154 | #endif | 1154 | #endif |
1155 | 1155 | ||
1156 | QString base(""); | 1156 | QString base(""); |
1157 | uint i = 1; | 1157 | uint i = 1; |
1158 | 1158 | ||
1159 | while( i < len ) | 1159 | while( i < len ) |
1160 | { | 1160 | { |
1161 | //US struct stat st; | 1161 | //US struct stat st; |
1162 | #ifndef _WIN32_ | 1162 | #ifndef _WIN32_ |
1163 | int pos = target.find('/', i); | 1163 | int pos = target.find('/', i); |
1164 | #else | 1164 | #else |
1165 | int pos = target.find('\\', i); | 1165 | int pos = target.find('\\', i); |
1166 | #endif | 1166 | #endif |
1167 | if ( pos < 0 ) | 1167 | if ( pos < 0 ) |
1168 | return true; | 1168 | return true; |
1169 | base += target.mid(i - 1, pos - i + 1); | 1169 | base += target.mid(i - 1, pos - i + 1); |
1170 | //QMessageBox::information( 0,"cap111", base, 1 ); | 1170 | //QMessageBox::information( 0,"cap111", base, 1 ); |
1171 | /*US | 1171 | /*US |
1172 | QCString baseEncoded = QFile::encodeName(base); | 1172 | QCString baseEncoded = QFile::encodeName(base); |
1173 | // bail out if we encountered a problem | 1173 | // bail out if we encountered a problem |
1174 | if (stat(baseEncoded, &st) != 0) | 1174 | if (stat(baseEncoded, &st) != 0) |
1175 | { | 1175 | { |
1176 | // Directory does not exist.... | 1176 | // Directory does not exist.... |
1177 | // Or maybe a dangling symlink ? | 1177 | // Or maybe a dangling symlink ? |
1178 | if (lstat(baseEncoded, &st) == 0) | 1178 | if (lstat(baseEncoded, &st) == 0) |
1179 | (void)unlink(baseEncoded); // try removing | 1179 | (void)unlink(baseEncoded); // try removing |
1180 | 1180 | ||
1181 | 1181 | ||
1182 | if ( mkdir(baseEncoded, (mode_t) mode) != 0) { | 1182 | if ( mkdir(baseEncoded, (mode_t) mode) != 0) { |
1183 | perror("trying to create local folder"); | 1183 | perror("trying to create local folder"); |
1184 | return false; // Couldn't create it :-( | 1184 | return false; // Couldn't create it :-( |
1185 | } | 1185 | } |
1186 | } | 1186 | } |
1187 | */ | 1187 | */ |
1188 | 1188 | ||
1189 | if (dirObj.exists(base) == false) | 1189 | if (dirObj.exists(base) == false) |
1190 | { | 1190 | { |
1191 | //qDebug("KStandardDirs::makeDir try to create : %s" , base.latin1()); | 1191 | //qDebug("KStandardDirs::makeDir try to create : %s" , base.latin1()); |
1192 | if (dirObj.mkdir(base) != true) | 1192 | if (dirObj.mkdir(base) != true) |
1193 | { | 1193 | { |
1194 | qDebug("KStandardDirs::makeDir could not create: %s" , base.latin1()); | 1194 | qDebug("KStandardDirs::makeDir could not create: %s" , base.latin1()); |
1195 | return false; | 1195 | return false; |
1196 | } | 1196 | } |
1197 | } | 1197 | } |
1198 | 1198 | ||
1199 | i = pos + 1; | 1199 | i = pos + 1; |
1200 | } | 1200 | } |
1201 | return true; | 1201 | return true; |
1202 | 1202 | ||
1203 | } | 1203 | } |
1204 | 1204 | ||
1205 | static QString readEnvPath(const char *env) | 1205 | static QString readEnvPath(const char *env) |
1206 | { | 1206 | { |
1207 | #ifdef _WIN32_ | 1207 | #ifdef _WIN32_ |
1208 | return ""; | 1208 | return ""; |
1209 | #else | 1209 | #else |
1210 | QCString c_path = getenv(env); | 1210 | QCString c_path = getenv(env); |
1211 | if (c_path.isEmpty()) | 1211 | if (c_path.isEmpty()) |
1212 | return QString::null; | 1212 | return QString::null; |
1213 | return QFile::decodeName(c_path); | 1213 | return QFile::decodeName(c_path); |
1214 | #endif | 1214 | #endif |
1215 | } | 1215 | } |
1216 | 1216 | ||
1217 | void KStandardDirs::addKDEDefaults() | 1217 | void KStandardDirs::addKDEDefaults() |
1218 | { | 1218 | { |
1219 | //qDebug("ERROR: KStandardDirs::addKDEDefaults() called "); | 1219 | //qDebug("ERROR: KStandardDirs::addKDEDefaults() called "); |
1220 | //return; | 1220 | //return; |
1221 | QStringList kdedirList; | 1221 | QStringList kdedirList; |
1222 | 1222 | ||
1223 | // begin KDEDIRS | 1223 | // begin KDEDIRS |
1224 | QString kdedirs = readEnvPath("MICROKDEDIRS"); | 1224 | QString kdedirs = readEnvPath("MICROKDEDIRS"); |
1225 | if (!kdedirs.isEmpty()) | 1225 | if (!kdedirs.isEmpty()) |
1226 | { | 1226 | { |
1227 | tokenize(kdedirList, kdedirs, ":"); | 1227 | tokenize(kdedirList, kdedirs, ":"); |
1228 | } | 1228 | } |
1229 | else | 1229 | else |
1230 | { | 1230 | { |
1231 | QString kdedir = readEnvPath("MICROKDEDIR"); | 1231 | QString kdedir = readEnvPath("MICROKDEDIR"); |
1232 | if (!kdedir.isEmpty()) | 1232 | if (!kdedir.isEmpty()) |
1233 | { | 1233 | { |
1234 | kdedir = KShell::tildeExpand(kdedir); | 1234 | kdedir = KShell::tildeExpand(kdedir); |
1235 | kdedirList.append(kdedir); | 1235 | kdedirList.append(kdedir); |
1236 | } | 1236 | } |
1237 | } | 1237 | } |
1238 | //US kdedirList.append(KDEDIR); | 1238 | //US kdedirList.append(KDEDIR); |
1239 | //US for embedded, add qtopia dir as kdedir | 1239 | //US for embedded, add qtopia dir as kdedir |
1240 | 1240 | ||
1241 | #ifndef DESKTOP_VERSION | 1241 | #ifndef DESKTOP_VERSION |
1242 | kdedirList.append(readEnvPath("QPEDIR" )); | 1242 | QString tmp = readEnvPath("QPEDIR"); |
1243 | if (!tmp.isEmpty()) | ||
1244 | kdedirList.append(tmp); | ||
1245 | |||
1246 | tmp = readEnvPath("QTDIR"); | ||
1247 | if (!tmp.isEmpty()) | ||
1248 | kdedirList.append(tmp); | ||
1249 | |||
1250 | tmp = readEnvPath("OPIEDIR"); | ||
1251 | if (!tmp.isEmpty()) | ||
1252 | kdedirList.append(tmp); | ||
1253 | |||
1243 | #endif | 1254 | #endif |
1244 | 1255 | ||
1245 | #ifdef __KDE_EXECPREFIX | 1256 | #ifdef __KDE_EXECPREFIX |
1246 | QString execPrefix(__KDE_EXECPREFIX); | 1257 | QString execPrefix(__KDE_EXECPREFIX); |
1247 | if (execPrefix!="NONE") | 1258 | if (execPrefix!="NONE") |
1248 | kdedirList.append(execPrefix); | 1259 | kdedirList.append(execPrefix); |
1249 | #endif | 1260 | #endif |
1250 | 1261 | ||
1251 | QString localKdeDir; | 1262 | QString localKdeDir; |
1252 | 1263 | ||
1253 | //US if (getuid()) | 1264 | //US if (getuid()) |
1254 | if (true) | 1265 | if (true) |
1255 | { | 1266 | { |
1256 | localKdeDir = readEnvPath("MICROKDEHOME"); | 1267 | localKdeDir = readEnvPath("MICROKDEHOME"); |
1257 | if (!localKdeDir.isEmpty()) | 1268 | if (!localKdeDir.isEmpty()) |
1258 | { | 1269 | { |
1259 | if (localKdeDir.at(localKdeDir.length()-1) != '/') | 1270 | if (localKdeDir.at(localKdeDir.length()-1) != '/') |
1260 | localKdeDir += '/'; | 1271 | localKdeDir += '/'; |
1261 | } | 1272 | } |
1262 | else | 1273 | else |
1263 | { | 1274 | { |
1264 | localKdeDir = QDir::homeDirPath() + "/kdepim/"; | 1275 | localKdeDir = QDir::homeDirPath() + "/kdepim/"; |
1265 | } | 1276 | } |
1266 | } | 1277 | } |
1267 | else | 1278 | else |
1268 | { | 1279 | { |
1269 | // We treat root different to prevent root messing up the | 1280 | // We treat root different to prevent root messing up the |
1270 | // file permissions in the users home directory. | 1281 | // file permissions in the users home directory. |
1271 | localKdeDir = readEnvPath("MICROKDEROOTHOME"); | 1282 | localKdeDir = readEnvPath("MICROKDEROOTHOME"); |
1272 | if (!localKdeDir.isEmpty()) | 1283 | if (!localKdeDir.isEmpty()) |
1273 | { | 1284 | { |
1274 | if (localKdeDir.at(localKdeDir.length()-1) != '/') | 1285 | if (localKdeDir.at(localKdeDir.length()-1) != '/') |
1275 | localKdeDir += '/'; | 1286 | localKdeDir += '/'; |
1276 | } | 1287 | } |
1277 | else | 1288 | else |
1278 | { | 1289 | { |
1279 | //US struct passwd *pw = getpwuid(0); | 1290 | //US struct passwd *pw = getpwuid(0); |
1280 | //US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/"; | 1291 | //US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/"; |
1281 | qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed"); | 1292 | qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed"); |
1282 | } | 1293 | } |
1283 | 1294 | ||
1284 | } | 1295 | } |
1285 | 1296 | ||
1286 | //US localKdeDir = appDir(); | 1297 | //US localKdeDir = appDir(); |
1287 | 1298 | ||
1288 | //US | 1299 | //US |
1289 | // qDebug("KStandardDirs::addKDEDefaults: localKdeDir=%s", localKdeDir.latin1()); | 1300 | // qDebug("KStandardDirs::addKDEDefaults: localKdeDir=%s", localKdeDir.latin1()); |
1290 | if (localKdeDir != "-/") | 1301 | if (localKdeDir != "-/") |
1291 | { | 1302 | { |
1292 | localKdeDir = KShell::tildeExpand(localKdeDir); | 1303 | localKdeDir = KShell::tildeExpand(localKdeDir); |
1293 | addPrefix(localKdeDir); | 1304 | addPrefix(localKdeDir); |
1294 | } | 1305 | } |
1295 | 1306 | ||
1296 | for (QStringList::ConstIterator it = kdedirList.begin(); | 1307 | for (QStringList::ConstIterator it = kdedirList.begin(); |
1297 | it != kdedirList.end(); it++) | 1308 | it != kdedirList.end(); it++) |
1298 | { | 1309 | { |
1299 | QString dir = KShell::tildeExpand(*it); | 1310 | QString dir = KShell::tildeExpand(*it); |
1300 | addPrefix(dir); | 1311 | addPrefix(dir); |
1301 | } | 1312 | } |
1302 | // end KDEDIRS | 1313 | // end KDEDIRS |
1303 | 1314 | ||
1304 | // begin XDG_CONFIG_XXX | 1315 | // begin XDG_CONFIG_XXX |
1305 | QStringList xdgdirList; | 1316 | QStringList xdgdirList; |
1306 | QString xdgdirs = readEnvPath("XDG_CONFIG_DIRS"); | 1317 | QString xdgdirs = readEnvPath("XDG_CONFIG_DIRS"); |
1307 | if (!xdgdirs.isEmpty()) | 1318 | if (!xdgdirs.isEmpty()) |
1308 | { | 1319 | { |
1309 | tokenize(xdgdirList, xdgdirs, ":"); | 1320 | tokenize(xdgdirList, xdgdirs, ":"); |
1310 | } | 1321 | } |
1311 | else | 1322 | else |
1312 | { | 1323 | { |
1313 | xdgdirList.clear(); | 1324 | xdgdirList.clear(); |
1314 | xdgdirList.append("/etc/xdg"); | 1325 | xdgdirList.append("/etc/xdg"); |
1315 | } | 1326 | } |
1316 | 1327 | ||
1317 | QString localXdgDir = readEnvPath("XDG_CONFIG_HOME"); | 1328 | QString localXdgDir = readEnvPath("XDG_CONFIG_HOME"); |
1318 | if (!localXdgDir.isEmpty()) | 1329 | if (!localXdgDir.isEmpty()) |
1319 | { | 1330 | { |
1320 | if (localXdgDir.at(localXdgDir.length()-1) != '/') | 1331 | if (localXdgDir.at(localXdgDir.length()-1) != '/') |
1321 | localXdgDir += '/'; | 1332 | localXdgDir += '/'; |
1322 | } | 1333 | } |
1323 | else | 1334 | else |
1324 | { | 1335 | { |
1325 | //US if (getuid()) | 1336 | //US if (getuid()) |
1326 | if (true) | 1337 | if (true) |
1327 | { | 1338 | { |
1328 | localXdgDir = QDir::homeDirPath() + "/.config/"; | 1339 | localXdgDir = QDir::homeDirPath() + "/.config/"; |
1329 | } | 1340 | } |
1330 | else | 1341 | else |
1331 | { | 1342 | { |
1332 | //US struct passwd *pw = getpwuid(0); | 1343 | //US struct passwd *pw = getpwuid(0); |
1333 | //US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.config/"; | 1344 | //US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.config/"; |
1334 | qDebug("KStandardDirs::addKDEDefaults: 2 has to be fixed"); | 1345 | qDebug("KStandardDirs::addKDEDefaults: 2 has to be fixed"); |
1335 | } | 1346 | } |
1336 | } | 1347 | } |
1337 | 1348 | ||
1338 | localXdgDir = KShell::tildeExpand(localXdgDir); | 1349 | localXdgDir = KShell::tildeExpand(localXdgDir); |
1339 | addXdgConfigPrefix(localXdgDir); | 1350 | addXdgConfigPrefix(localXdgDir); |
1340 | 1351 | ||
1341 | for (QStringList::ConstIterator it = xdgdirList.begin(); | 1352 | for (QStringList::ConstIterator it = xdgdirList.begin(); |
1342 | it != xdgdirList.end(); it++) | 1353 | it != xdgdirList.end(); it++) |
1343 | { | 1354 | { |
1344 | QString dir = KShell::tildeExpand(*it); | 1355 | QString dir = KShell::tildeExpand(*it); |
1345 | addXdgConfigPrefix(dir); | 1356 | addXdgConfigPrefix(dir); |
1346 | } | 1357 | } |
1347 | // end XDG_CONFIG_XXX | 1358 | // end XDG_CONFIG_XXX |
1348 | 1359 | ||
1349 | // begin XDG_DATA_XXX | 1360 | // begin XDG_DATA_XXX |
1350 | xdgdirs = readEnvPath("XDG_DATA_DIRS"); | 1361 | xdgdirs = readEnvPath("XDG_DATA_DIRS"); |
1351 | if (!xdgdirs.isEmpty()) | 1362 | if (!xdgdirs.isEmpty()) |
1352 | { | 1363 | { |
1353 | tokenize(xdgdirList, xdgdirs, ":"); | 1364 | tokenize(xdgdirList, xdgdirs, ":"); |
1354 | } | 1365 | } |
1355 | else | 1366 | else |
1356 | { | 1367 | { |
1357 | xdgdirList.clear(); | 1368 | xdgdirList.clear(); |
1358 | for (QStringList::ConstIterator it = kdedirList.begin(); | 1369 | for (QStringList::ConstIterator it = kdedirList.begin(); |
1359 | it != kdedirList.end(); it++) | 1370 | it != kdedirList.end(); it++) |
1360 | { | 1371 | { |
1361 | QString dir = *it; | 1372 | QString dir = *it; |
1362 | if (dir.at(dir.length()-1) != '/') | 1373 | if (dir.at(dir.length()-1) != '/') |
1363 | dir += '/'; | 1374 | dir += '/'; |
1364 | xdgdirList.append(dir+"share/"); | 1375 | xdgdirList.append(dir+"share/"); |
1365 | } | 1376 | } |
1366 | 1377 | ||
1367 | xdgdirList.append("/usr/local/share/"); | 1378 | xdgdirList.append("/usr/local/share/"); |
1368 | xdgdirList.append("/usr/share/"); | 1379 | xdgdirList.append("/usr/share/"); |
1369 | } | 1380 | } |
1370 | 1381 | ||
1371 | localXdgDir = readEnvPath("XDG_DATA_HOME"); | 1382 | localXdgDir = readEnvPath("XDG_DATA_HOME"); |
1372 | if (!localXdgDir.isEmpty()) | 1383 | if (!localXdgDir.isEmpty()) |
1373 | { | 1384 | { |
1374 | if (localXdgDir.at(localXdgDir.length()-1) != '/') | 1385 | if (localXdgDir.at(localXdgDir.length()-1) != '/') |
1375 | localXdgDir += '/'; | 1386 | localXdgDir += '/'; |
1376 | } | 1387 | } |
1377 | else | 1388 | else |
1378 | { | 1389 | { |
1379 | //US if (getuid()) | 1390 | //US if (getuid()) |
1380 | if (true) | 1391 | if (true) |
1381 | { | 1392 | { |
1382 | localXdgDir = QDir::homeDirPath() + "/.local/share/"; | 1393 | localXdgDir = QDir::homeDirPath() + "/.local/share/"; |
1383 | } | 1394 | } |
1384 | else | 1395 | else |
1385 | { | 1396 | { |
1386 | //US struct passwd *pw = getpwuid(0); | 1397 | //US struct passwd *pw = getpwuid(0); |
1387 | //US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.local/share/"; | 1398 | //US localXdgDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.local/share/"; |
1388 | qDebug("KStandardDirs::addKDEDefaults: 3 has to be fixed"); | 1399 | qDebug("KStandardDirs::addKDEDefaults: 3 has to be fixed"); |
1389 | } | 1400 | } |
1390 | } | 1401 | } |
1391 | 1402 | ||
1392 | localXdgDir = KShell::tildeExpand(localXdgDir); | 1403 | localXdgDir = KShell::tildeExpand(localXdgDir); |
1393 | addXdgDataPrefix(localXdgDir); | 1404 | addXdgDataPrefix(localXdgDir); |
1394 | 1405 | ||
1395 | for (QStringList::ConstIterator it = xdgdirList.begin(); | 1406 | for (QStringList::ConstIterator it = xdgdirList.begin(); |
1396 | it != xdgdirList.end(); it++) | 1407 | it != xdgdirList.end(); it++) |
1397 | { | 1408 | { |
1398 | QString dir = KShell::tildeExpand(*it); | 1409 | QString dir = KShell::tildeExpand(*it); |
1399 | 1410 | ||
1400 | addXdgDataPrefix(dir); | 1411 | addXdgDataPrefix(dir); |
1401 | } | 1412 | } |
1402 | // end XDG_DATA_XXX | 1413 | // end XDG_DATA_XXX |
1403 | 1414 | ||
1404 | 1415 | ||
1405 | uint index = 0; | 1416 | uint index = 0; |
1406 | while (types[index] != 0) { | 1417 | while (types[index] != 0) { |
1407 | addResourceType(types[index], kde_default(types[index])); | 1418 | addResourceType(types[index], kde_default(types[index])); |
1408 | index++; | 1419 | index++; |
1409 | } | 1420 | } |
1410 | 1421 | ||
1411 | addResourceDir("home", QDir::homeDirPath()); | 1422 | addResourceDir("home", QDir::homeDirPath()); |
1412 | } | 1423 | } |
1413 | 1424 | ||
1414 | void KStandardDirs::checkConfig() const | 1425 | void KStandardDirs::checkConfig() const |
1415 | { | 1426 | { |
1416 | /*US | 1427 | /*US |
1417 | if (!addedCustoms && KGlobal::_instance && KGlobal::_instance->_config) | 1428 | if (!addedCustoms && KGlobal::_instance && KGlobal::_instance->_config) |
1418 | const_cast<KStandardDirs*>(this)->addCustomized(KGlobal::_instance->_config); | 1429 | const_cast<KStandardDirs*>(this)->addCustomized(KGlobal::_instance->_config); |
1419 | */ | 1430 | */ |
1420 | if (!addedCustoms && KGlobal::config()) | 1431 | if (!addedCustoms && KGlobal::config()) |
1421 | const_cast<KStandardDirs*>(this)->addCustomized(KGlobal::config()); | 1432 | const_cast<KStandardDirs*>(this)->addCustomized(KGlobal::config()); |
1422 | } | 1433 | } |
1423 | 1434 | ||
1424 | bool KStandardDirs::addCustomized(KConfig *config) | 1435 | bool KStandardDirs::addCustomized(KConfig *config) |
1425 | { | 1436 | { |
1426 | if (addedCustoms) // there are already customized entries | 1437 | if (addedCustoms) // there are already customized entries |
1427 | return false; // we just quite and hope they are the right ones | 1438 | return false; // we just quite and hope they are the right ones |
1428 | 1439 | ||
1429 | // save the numbers of config directories. If this changes, | 1440 | // save the numbers of config directories. If this changes, |
1430 | // we will return true to give KConfig a chance to reparse | 1441 | // we will return true to give KConfig a chance to reparse |
1431 | uint configdirs = resourceDirs("config").count(); | 1442 | uint configdirs = resourceDirs("config").count(); |
1432 | 1443 | ||
1433 | // reading the prefixes in | 1444 | // reading the prefixes in |
1434 | QString oldGroup = config->group(); | 1445 | QString oldGroup = config->group(); |