Skip to content

Commit d652a80

Browse files
committed
mapserver QGIS_OPTIONS_PATH support, fixes #10327
1 parent f57d406 commit d652a80

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

src/app/main.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -634,9 +634,9 @@ int main( int argc, char *argv[] )
634634

635635
//
636636
// Set up the QSettings environment must be done after qapp is created
637-
QCoreApplication::setOrganizationName( "QGIS" );
638-
QCoreApplication::setOrganizationDomain( "qgis.org" );
639-
QCoreApplication::setApplicationName( "QGIS2" );
637+
QCoreApplication::setOrganizationName( QgsApplication::QGIS_ORGANIZATION_NAME );
638+
QCoreApplication::setOrganizationDomain( QgsApplication::QGIS_ORGANIZATION_DOMAIN );
639+
QCoreApplication::setApplicationName( QgsApplication::QGIS_APPLICATION_NAME );
640640
QCoreApplication::setAttribute( Qt::AA_DontShowIconsInMenus, false );
641641

642642
QSettings* customizationsettings;

src/core/qgsapplication.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ QString ABISYM( QgsApplication::mBuildOutputPath );
6464
QStringList ABISYM( QgsApplication::mGdalSkipList );
6565
int ABISYM( QgsApplication::mMaxThreads );
6666

67+
const char* QgsApplication::QGIS_ORGANIZATION_NAME = "QGIS";
68+
const char* QgsApplication::QGIS_ORGANIZATION_DOMAIN = "qgis.org";
69+
const char* QgsApplication::QGIS_APPLICATION_NAME = "QGIS2";
70+
6771
/*!
6872
\class QgsApplication
6973
\brief The QgsApplication class manages application-wide information.

src/core/qgsapplication.h

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ class CORE_EXPORT QgsApplication : public QApplication
3535
{
3636
Q_OBJECT
3737
public:
38+
static const char* QGIS_ORGANIZATION_NAME;
39+
static const char* QGIS_ORGANIZATION_DOMAIN;
40+
static const char* QGIS_APPLICATION_NAME;
3841
//! @note customConfigDir parameter added in v1.6
3942
QgsApplication( int & argc, char ** argv, bool GUIenabled, QString customConfigPath = QString() );
4043
virtual ~QgsApplication();

src/mapserver/qgis_map_serv.cpp

+13
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,20 @@ int main( int argc, char * argv[] )
243243
qInstallMsgHandler( dummyMessageHandler );
244244
#endif
245245

246+
QString optionsPath = getenv( "QGIS_OPTIONS_PATH" );
247+
if ( !optionsPath.isEmpty() )
248+
{
249+
QgsDebugMsg( "Options PATH: " + optionsPath );
250+
QSettings::setDefaultFormat( QSettings::IniFormat );
251+
QSettings::setPath( QSettings::IniFormat, QSettings::UserScope, optionsPath );
252+
}
253+
246254
QgsApplication qgsapp( argc, argv, getenv( "DISPLAY" ) );
247255

256+
QCoreApplication::setOrganizationName( QgsApplication::QGIS_ORGANIZATION_NAME );
257+
QCoreApplication::setOrganizationDomain( QgsApplication::QGIS_ORGANIZATION_DOMAIN );
258+
QCoreApplication::setApplicationName( QgsApplication::QGIS_APPLICATION_NAME );
259+
248260
//Default prefix path may be altered by environment variable
249261
QgsApplication::init();
250262
#if !defined(Q_OS_WIN)
@@ -267,6 +279,7 @@ int main( int argc, char * argv[] )
267279
QgsDebugMsg( "Plugin PATH: " + QgsApplication::pluginPath() );
268280
QgsDebugMsg( "PkgData PATH: " + QgsApplication::pkgDataPath() );
269281
QgsDebugMsg( "User DB PATH: " + QgsApplication::qgisUserDbFilePath() );
282+
QgsDebugMsg( "SVG PATHS: " + QgsApplication::svgPaths().join( ":" ) );
270283

271284
QgsDebugMsg( qgsapp.applicationDirPath() + "/qgis_wms_server.log" );
272285
QgsApplication::createDB(); //init qgis.db (e.g. necessary for user crs)

0 commit comments

Comments
 (0)