From cf9442c184f1cd4b3e8baba517fc757085cd5ea5 Mon Sep 17 00:00:00 2001 From: Lincoln Ramsay Date: Thu, 12 Apr 2012 10:41:55 +1000 Subject: Allow setting the config file location explicitly. This is a workaround for platforms where QStandardPaths is either broken or returning paths that aren't useful. Change-Id: I4f7fbb0ea068d0bf13dc4f572ddbd25ad6048053 Reviewed-by: Zsolt Simon --- src/sensors/qsensormanager.cpp | 10 ++++++---- src/sensors/sensors.pro | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/sensors/qsensormanager.cpp b/src/sensors/qsensormanager.cpp index 351900c4..92c49009 100644 --- a/src/sensors/qsensormanager.cpp +++ b/src/sensors/qsensormanager.cpp @@ -92,13 +92,15 @@ public: void readConfigFile() { defaultIdentifierForTypeLoaded = true; +#ifdef QTSENSORS_CONFIG_PATH + QString config = QString::fromLocal8Bit(QTSENSORS_CONFIG_PATH); +#else QStringList configs = QStandardPaths::standardLocations(QStandardPaths::ConfigLocation); - // This list shouldn't be empty... but sometimes it is! - if (configs.count() == 0) configs << QString(); + if (configs.count() == 0) return; // QStandardPaths is broken? QString config = configs.at(configs.count()-1); - // This variable shouldn't be empty... but sometimes it is! - if (config.isEmpty()) config = QLatin1String("/etc/xdg"); + if (config.isEmpty()) return; // QStandardPaths is broken? config += QLatin1String("/Nokia/Sensors.conf"); +#endif if (!QFile::exists(config)) return; QFile cfgfile(config); if (!cfgfile.open(QFile::ReadOnly)) return; diff --git a/src/sensors/sensors.pro b/src/sensors/sensors.pro index d5b6b796..dc5f8db9 100644 --- a/src/sensors/sensors.pro +++ b/src/sensors/sensors.pro @@ -12,6 +12,7 @@ MODULE_PRI = ../../modules/qt_sensors.pri QT = core core-private DEFINES += QT_BUILD_SENSORS_LIB QT_MAKEDLL +!isEmpty(SENSORS_CONFIG_PATH):DEFINES += "QTSENSORS_CONFIG_PATH=\\\"$$SENSORS_CONFIG_PATH\\\"" load(qt_module_config) HEADERS += qtsensorsversion.h -- cgit v1.2.3