Update Qt validity in options when changing Android device settings

When changing the Android device settings and pressing "Apply", the
information in the "Qt Versions" tab is no longer correct.

The Abi information is parsed from the mkspec, and that depends on the
NDK setting in the environment.
When the NDK in the device settings changes, it updates the toolchains,
and that triggers a re-validation of the Qt info in
QtOptionsPageWidget::validInformation, but since the Android Qt version
already has tried parsing the mkspec, and got (possibly empty) Abi
information, it never is parsed and updated again.

We need a way to force BaseQtVersion to update these things again.

Fixes: QTCREATORBUG-23095
Change-Id: I9cb55ad1a73db942804637344e4c856c7e95afd3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Eike Ziller
2019-11-18 16:57:44 +01:00
parent 20f050303a
commit 15b2765dff
6 changed files with 15 additions and 0 deletions

View File

@@ -49,7 +49,12 @@ namespace Internal {
AndroidQtVersion::AndroidQtVersion()
: QtSupport::BaseQtVersion()
, m_guard(std::make_unique<QObject>())
{
QObject::connect(AndroidConfigurations::instance(),
&AndroidConfigurations::aboutToUpdate,
m_guard.get(),
[this] { resetCache(); });
}
bool AndroidQtVersion::isValid() const