blob: 3ed8a86a017339f02845a653c3a70cb099ce6a93 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
--- src/tools/qsettings.cpp
+++ src/tools/qsettings.cpp
@@ -39,6 +39,7 @@
**********************************************************************/
#include "qplatformdefs.h"
+#include <stdlib.h>
// POSIX Large File Support redefines open -> open64
static inline int qt_open( const char *pathname, int flags, mode_t mode )
@@ -468,8 +469,18 @@
Q_UNUSED( format );
#endif
- QString appSettings(QDir::homeDirPath() + "/.qt/");
- QString defPath;
+ QString home;
+ home = getenv("QT_HOME_DIR");
+ if ( !home.isEmpty() ){
+ home += "/";
+ QFileInfo i( home + "qtrc" );
+ if ( !i.isReadable() )
+ home = QDir::homeDirPath() + "/.qt/";
+ }else
+ home = QDir::homeDirPath() + "/.qt/";
+ QString appSettings(home);
+
+ QString defPath("/etc/X11/");
#ifdef Q_WS_WIN
#ifdef Q_OS_TEMP
TCHAR path[MAX_PATH];
@@ -517,6 +528,15 @@
if ( !!defPath )
searchPaths.append(defPath);
+
+ QString system;
+ system = getenv("QT_SYSTEM_DIR");
+ if ( !system.isEmpty() && system[0] == '/') {
+ QFileInfo i( system + "/qtrc" );
+ if ( i.isReadable() )
+ searchPaths.append(system);
+ }
+
searchPaths.append(dir.path());
}
|