Previously, it was happening after setting the default window icon.
For macOS, refactor libraryPaths update to ensure both QT_PLUGIN_PATH
and qt.conf are properly honored (fixes 4.5 year old bug), with
prioritization of qgis libs or libs shipped with .app bundle.
Only run for default profile and only if
not run before. Moves settings and symbols from
QGIS 2.x to QGIS 3 default profile
* --version-migration flag to force migration
So it's more inline with the std::as_const implementation which
it fills in for, and allows us to 'polyfill' other c++>11
features into the qgis:: namespace.
- use .isEmpty() instead of == QLatin1String( "" ) to check for
empty strings
- use .clear() instead of = QLatin1String( "" ) to empty a string
- remove unnecessary QString initializations
All user settings/plugins, etc are now loaded from APPDATA for each
platform and no longer .qgis3 and are isolated from each other.
This allows for different profiles depending on what the user of QGIS
needs, e.g test, prod, demo, etc
Profile menu allows for switching between profiles, or creating new
ones.
The Qt variants of these GTK themes are VERY broken
for apps like QGIS. E.g. oversized controls like
spinbox widgets prevent actually showing any actual CONTENT
in these widgets, leaving a very bad impression of QGIS
Keeping a consistent DE theme is nice and all, but if
it leaves QGIS in an unusable state then it's misguided.
*Blame resides with gnome's obsession with "touch friendly"
tablet style widgets
* [feature] QgsSettings QGIS QSettings replacement
This is the new QgsSettings class that adds an (optional)
Global Settings additional ini file where a system administrator
can store default values for the settings and provide
pre-configuration.
If an ini file named qgis_global_settings.ini is found
in the pkgDataPath directory it is automatically loaded,
this path can be overriden by a command line argument
( --globalsettingsfile path ) and through an environment
variable (QGIS_GLOBAL_SETTINGS_FILE).
qgis_app.dll (inspired by Nathan's PR #4156)
On install each shortcut/configuration gets a own copy of the (small)
exe. That exe is started through the batch file that originally was
used to start the app at runtime. Argument --exit will cause the wrapper
to just dump the environment to an .env file next to the copy of the
.exe. The created shortcuts now point at those .exes instead of the
batch files.
At runtime the .exes source their .env file to get a working environment
to run QGIS (ie. qgis_app.dll). This for example allows the application
to be pinned to the taskbar and avoids the of necessity of batch files
at runtime to start the app.
Motivations:
- consistency - we generally use expanded names, and this also
matches Qt API which uses Database instead of Db
- avoids unpredictable capitalization throughout API (mix of "Db"
and "DB")