From f0cc3689b3b210e9e27e0367112790fd45565ee7 Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Mon, 6 Oct 2014 00:03:13 -0500 Subject: Add support for the environment variables TQT_HOME_DIR and TQT_SYSTEM_DIR --- src/tools/qsettings.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/tools') 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 // 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()); } -- cgit v1.2.3