summaryrefslogtreecommitdiffstats
path: root/opensuse/core/tqt3/qtrc-path.diff
blob: 315474eacef3c16bb4b0a5be0abf28d857df1753 (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
48
49
Index: src/tools/qsettings.cpp
===================================================================
--- src/tools/qsettings.cpp.orig
+++ 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 @@ TQSettingsPrivate::TQSettingsPrivate( TQ
     Q_UNUSED( format );
 #endif
 
-    TQString appSettings(TQDir::homeDirPath() + "/.qt/");
-    TQString defPath;
+    TQString home;
+    home = getenv("TQT_HOME_DIR");
+    if ( !home.isEmpty() ){
+       home += "/";
+       TQFileInfo i( home + "qtrc" );
+       if ( !i.isReadable() )
+         home = TQDir::homeDirPath() + "/.qt/";
+    }else
+       home = TQDir::homeDirPath() + "/.qt/";
+    TQString appSettings(home);
+
+    TQString defPath("/etc/X11/");
 #ifdef Q_WS_WIN
 #ifdef Q_OS_TEMP
 	TCHAR path[MAX_PATH];
@@ -517,6 +528,15 @@ TQSettingsPrivate::TQSettingsPrivate( TQ
 
     if ( !!defPath )
 	searchPaths.append(defPath);
+
+    TQString system;
+    system = getenv("TQT_SYSTEM_DIR");
+    if ( !system.isEmpty() && system[0] == '/') {
+       TQFileInfo i( system + "/qtrc" );
+       if ( i.isReadable() )
+           searchPaths.append(system);
+    }
+
     searchPaths.append(dir.path());
 }