This PR adds (optional) synchronization of the master password
with the OS password manager (AKA wallet/keychain).
A set of new menu items has been added in the options ->
authentication -> utilities to manage the new behavior.
Notifications are handled by the message bar unless the
password r/w operation is triggered from a modal dialog,
in this case the notifications will be routed through
the recently exposed QgisApp::showSystemNotification
that uses the OS tray notifications.
This new feature requires libqt5keychain, and was tested
with v. 0.5+
And add a new CLANG_TIDY_EXE cmake option. If this is set to the
path to the clang_tidy executable then a bunch of clang-tidy
checks will be run during compilation.
Qt5 allows runtime detection of touch devices. This commit reworks
the current touch map tool by pulling its behavior into the normal
pan tool when a touch device is detected.
It avoids the need for a seperate map tool for touch interaction,
and also avoids having this tool always appear on the Windows
builds (regardless of the presence of a touch device)
* Instanciate QgsServerInterface even if HAVE_SERVER_PYTHON_PLUGINS is
not defined
* Pass QgsServerInterface in module registration methods.
* Add QgsServer initialisation test
#Please enter the commit message for your changes. Lines starting
Instead of finding Python interpreter, library and framework on Mac,
rely upon the reported paths of the interpreter (executable) to decipher
whether a framework is being used, then ensure any such framework has
its versioned subdirectory Headers used for includes and the base
Python library used directly in linking. This removes ambiguity in
framework searching, allowing just the PYTHON_EXECUTABLE (user-defined
or from FindPythonInterp module) to control which Python is used.
Anything which is going to disappear can be #ifdef'd with this definition. This
is an additional hint if your 3rd party code is prepared for the next level of
QGIS.
For a start it's used to disable old labelling which causes deadlocks when used
with PyQt5-Python3.