(&version)) {
bool ok;
const AndroidQtVersion::BuiltWith bw = androidQtVersion->builtWith(&ok);
if (ok) {
- const QString ndkPackage = ndkPackageMarker() + bw.ndkVersion.toString();
- return QStringList(ndkPackage)
- + packagesWithoutNdks(m_defaultSdkDepends.essentialPackages);
+ QStringList builtWithPackages;
+ builtWithPackages.append(ndkPackageMarker() + bw.ndkVersion.toString());
+ const QString apiVersion = QString::number(bw.apiVersion);
+ builtWithPackages.append(platformsPackageMarker() + "android-" + apiVersion);
+ builtWithPackages.append(essentialBuiltWithBuildToolsPackage(bw.apiVersion));
+
+ return builtWithPackages + packagesExcludingBuiltWithDefaults(
+ m_defaultSdkDepends.essentialPackages);
}
}
diff --git a/src/plugins/android/androidconstants.h b/src/plugins/android/androidconstants.h
index e2b15e6358d..813b6a924c0 100644
--- a/src/plugins/android/androidconstants.h
+++ b/src/plugins/android/androidconstants.h
@@ -78,6 +78,8 @@ const Utils::Id AndroidAvdPath = "AndroidAvdPath";
// SDK Tools
const char cmdlineToolsName[] = "cmdline-tools";
const char ndkPackageName[] = "ndk";
+const char platformsPackageName[] = "platforms";
+const char buildToolsPackageName[] = "build-tools";
// For AndroidQtVersion
const char ArmToolsDisplayName[] = "arm";
diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp
index c952ff90978..029cfd83524 100644
--- a/src/plugins/android/androidsdkmanager.cpp
+++ b/src/plugins/android/androidsdkmanager.cpp
@@ -405,7 +405,10 @@ void AndroidSdkManagerPrivate::reloadSdkPackages()
if (m_packageListingSuccessful) {
SdkManagerOutputParser parser(m_allPackages);
parser.parsePackageListing(packageListing);
+ } else {
+ qCWarning(sdkManagerLog) << "Failed parsing packages:" << packageListing;
}
+
emit m_sdkManager.packageReloadFinished();
}
diff --git a/src/plugins/autotest/qtest/datataglocatorfilter.cpp b/src/plugins/autotest/qtest/datataglocatorfilter.cpp
index bb0745d189e..e6a436666ce 100644
--- a/src/plugins/autotest/qtest/datataglocatorfilter.cpp
+++ b/src/plugins/autotest/qtest/datataglocatorfilter.cpp
@@ -70,7 +70,7 @@ DataTagLocatorFilter::DataTagLocatorFilter()
{
setId("Locate Qt Test data tags");
setDisplayName(Tr::tr("Locate Qt Test data tags"));
- setDescription(Tr::tr("Locates a Qt Test data tag found inside the active project."));
+ setDescription(Tr::tr("Locates Qt Test data tags found inside the active project."));
setDefaultShortcutString("qdt");
setPriority(Medium);
using namespace ProjectExplorer;
diff --git a/src/plugins/autotest/qtest/qttestframework.cpp b/src/plugins/autotest/qtest/qttestframework.cpp
index 009acc81ab1..17970e19d70 100644
--- a/src/plugins/autotest/qtest/qttestframework.cpp
+++ b/src/plugins/autotest/qtest/qttestframework.cpp
@@ -73,9 +73,10 @@ QtTestFramework::QtTestFramework()
useXMLOutput.setSettingsKey("UseXMLOutput");
useXMLOutput.setDefaultValue(true);
useXMLOutput.setLabelText(Tr::tr("Use XML output"));
- useXMLOutput.setToolTip(Tr::tr("XML output is recommended, because it avoids parsing issues, "
- "while plain text is more human readable.\n\nWarning: "
- "Plain text misses some information, such as duration."));
+ useXMLOutput.setToolTip(""
+ + Tr::tr("XML output is recommended, because it avoids parsing issues, "
+ "while plain text is more human readable.Warning: "
+ "Plain text misses some information, such as duration."));
verboseBench.setSettingsKey("VerboseBench");
verboseBench.setLabelText(Tr::tr("Verbose benchmarks"));
@@ -98,18 +99,22 @@ QtTestFramework::QtTestFramework()
quickCheckForDerivedTests.setDefaultValue(false);
quickCheckForDerivedTests.setLabelText(Tr::tr("Check for derived Qt Quick tests"));
quickCheckForDerivedTests.setToolTip(
- Tr::tr("Search for Qt Quick tests that are derived from TestCase.\nWarning: Enabling this "
- "feature significantly increases scan time."));
+ ""
+ + Tr::tr(
+ "Search for Qt Quick tests that are derived from TestCase.
Warning: Enabling this "
+ "feature significantly increases scan time."));
parseMessages.setSettingsKey("ParseMessages");
parseMessages.setDefaultValue(false);
parseMessages.setLabelText(Tr::tr("Find user-defined locations"));
parseMessages.setToolTip(
- Tr::tr("Parse messages for the pattern \"file://filepath:line\", where \":line\" is "
- "optional, and use this as location information.\n"
- "Warning: If the patterns are used in code, the location information for debug "
- "messages and other messages might improve,\n"
- "at the risk of some incorrect locations and lower performance."));
+ ""
+ + Tr::tr("Parse messages for the following pattern and use it as location information:"
+ "
file://filepath:line
"
+ "where \":line\" is optional."
+ "Warning: If the patterns are used in code, the location information for debug "
+ "messages and other messages might improve,"
+ "at the risk of some incorrect locations and lower performance."));
readSettings();
maxWarnings.setEnabler(&limitWarnings);
diff --git a/src/plugins/axivion/CMakeLists.txt b/src/plugins/axivion/CMakeLists.txt
index a71b984520f..561ad680e61 100644
--- a/src/plugins/axivion/CMakeLists.txt
+++ b/src/plugins/axivion/CMakeLists.txt
@@ -6,11 +6,14 @@ add_qtc_plugin(Axivion
axivion.qrc
axivionoutputpane.cpp axivionoutputpane.h
axivionplugin.cpp axivionplugin.h
- axivionprojectsettings.h axivionprojectsettings.cpp
+ axivionprojectsettings.cpp axivionprojectsettings.h
axivionsettings.cpp axivionsettings.h
axiviontr.h
credentialquery.h credentialquery.cpp
dashboard/dto.cpp dashboard/dto.h
dashboard/concat.cpp dashboard/concat.h
dashboard/error.h dashboard/error.cpp
+ dashboard/error.cpp dashboard/error.h
+ dynamiclistmodel.cpp dynamiclistmodel.h
+ issueheaderview.cpp issueheaderview.h
)
diff --git a/src/plugins/axivion/axivion.qbs b/src/plugins/axivion/axivion.qbs
index 7b8034c26c4..0e808f65806 100644
--- a/src/plugins/axivion/axivion.qbs
+++ b/src/plugins/axivion/axivion.qbs
@@ -23,8 +23,12 @@ QtcPlugin {
"axivionsettings.cpp",
"axivionsettings.h",
"axiviontr.h",
- "credentialquery.h",
"credentialquery.cpp",
+ "credentialquery.h",
+ "dynamiclistmodel.cpp",
+ "dynamiclistmodel.h",
+ "issueheaderview.cpp",
+ "issueheaderview.h",
]
cpp.includePaths: base.concat(["."]) // needed for the generated stuff below
diff --git a/src/plugins/axivion/axivion.qrc b/src/plugins/axivion/axivion.qrc
index c0d56f8f7b0..fa3ad146d37 100644
--- a/src/plugins/axivion/axivion.qrc
+++ b/src/plugins/axivion/axivion.qrc
@@ -14,5 +14,9 @@
images/button-mv@2x.png
images/button-sv.png
images/button-sv@2x.png
+ images/sortAsc.png
+ images/sortAsc@2x.png
+ images/sortDesc.png
+ images/sortDesc@2x.png
diff --git a/src/plugins/axivion/axivionoutputpane.cpp b/src/plugins/axivion/axivionoutputpane.cpp
index 9bd50784f3a..a13b63dd3a2 100644
--- a/src/plugins/axivion/axivionoutputpane.cpp
+++ b/src/plugins/axivion/axivionoutputpane.cpp
@@ -6,17 +6,21 @@
#include "axivionplugin.h"
#include "axiviontr.h"
#include "dashboard/dto.h"
+#include "issueheaderview.h"
+#include "dynamiclistmodel.h"
#include
+#include
#include
#include
#include
+#include
+#include
#include
#include
-#include
#include
#include
@@ -28,9 +32,7 @@
#include
#include
#include
-#include
#include
-#include
#include
#include