diff options
author | Francois Andriot <albator78@libertysurf.fr> | 2014-10-06 00:03:13 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2014-10-06 00:03:13 -0500 |
commit | f0cc3689b3b210e9e27e0367112790fd45565ee7 (patch) | |
tree | 21d6900268f1a9c0d73570aa194f52cabbec46e0 /src | |
parent | dc8f5371804c0006ebefc8c0f72be442e6311ce4 (diff) | |
download | qt3-f0cc3689b3b210e9e27e0367112790fd45565ee7.tar.gz qt3-f0cc3689b3b210e9e27e0367112790fd45565ee7.zip |
Add support for the environment variables TQT_HOME_DIR and TQT_SYSTEM_DIR
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/qsettings.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/tools/qsettings.cpp b/src/tools/qsettings.cpp index 1ce2675..81ad25f 100644 --- a/src/tools/qsettings.cpp +++ b/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,7 +469,19 @@ QSettingsPrivate::QSettingsPrivate( QSettings::Format format ) Q_UNUSED( format ); #endif - QString appSettings(QDir::homeDirPath() + "/.qt/"); + 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; #ifdef Q_WS_WIN #ifdef Q_OS_TEMP @@ -517,6 +530,16 @@ QSettingsPrivate::QSettingsPrivate( QSettings::Format format ) 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()); } |