diff --git a/app/inputhelp.cpp b/app/inputhelp.cpp index e3db46323..14bff295e 100644 --- a/app/inputhelp.cpp +++ b/app/inputhelp.cpp @@ -224,6 +224,7 @@ QVector InputHelp::logHeader( bool isHtml ) { QVector retLines; retLines.push_back( QStringLiteral( "Input App: %1 - %2 (%3)" ).arg( CoreUtils::appVersion() ).arg( InputUtils::appPlatform() ).arg( CoreUtils::appVersionCode() ) ); + retLines.push_back( QStringLiteral( "Data Dir: %1" ).arg( InputUtils::appDataDir() ) ); retLines.push_back( QStringLiteral( "System: %1" ).arg( QSysInfo::prettyProductName() ) ); retLines.push_back( QStringLiteral( "Mergin URL: %1" ).arg( mMerginApi->apiRoot() ) ); retLines.push_back( QStringLiteral( "Mergin User: %1" ).arg( mMerginApi->userAuth()->username() ) ); diff --git a/app/inpututils.cpp b/app/inpututils.cpp index 8d151ffb5..7ec4756f2 100644 --- a/app/inpututils.cpp +++ b/app/inpututils.cpp @@ -600,6 +600,12 @@ bool InputUtils::isMobilePlatform() return platform == QStringLiteral( "android" ) || platform == QStringLiteral( "ios" ); } +QString InputUtils::appDataDir() +{ + QString dataDir = QString::fromLocal8Bit( qgetenv( "QGIS_QUICK_DATA_PATH" ) ) ; + return dataDir; +} + void InputUtils::onQgsLogMessageReceived( const QString &message, const QString &tag, Qgis::MessageLevel level ) { QString levelStr; diff --git a/app/inpututils.h b/app/inpututils.h index 27e95b3ed..d9bfda744 100644 --- a/app/inpututils.h +++ b/app/inpututils.h @@ -169,6 +169,8 @@ class InputUtils: public QObject static QString appPlatform(); static bool isMobilePlatform(); + static QString appDataDir(); + /** * Converts string in rational number format to double. * @param rationalValue String - expecting value in format "numerator/denominator" (e.g "123/100"). diff --git a/app/main.cpp b/app/main.cpp index bf5ec74a0..c97bedf78 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -251,6 +251,16 @@ static void init_qgis( const QString &pkgPath ) qDebug( "qgis providers:\n%s", QgsProviderRegistry::instance()->pluginList().toLatin1().data() ); } +static void init_pg( const QString &dataDir ) +{ + QFileInfo pgFile( QStringLiteral( "%1/pg_service.conf" ).arg( dataDir ) ); + if ( pgFile.exists() && pgFile.isReadable() ) + { + qputenv( "PGSYSCONFDIR", dataDir.toUtf8() ); + CoreUtils::log( QStringLiteral( "PostgreSQL" ), QStringLiteral( "found pg_service.conf, setting PGSYSCONFDIR" ) ); + } +} + void initDeclarative() { qmlRegisterUncreatableType( "lc", 1, 0, "MerginUserAuth", "" ); @@ -455,6 +465,9 @@ int main( int argc, char *argv[] ) #endif InputProjUtils inputProjUtils; inputProjUtils.initProjLib( appBundleDir, dataDir, projectDir ); + + init_pg( dataDir ); + init_qgis( appBundleDir ); // AppSettings has to be initialized after QGIS app init (because of correct reading/writing QSettings).