aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/qtcreator/qmldesigner/studio_templates/projects/common/app.qmlproject.tpl2
-rw-r--r--src/plugins/android/androiddeployqtstep.cpp3
-rw-r--r--src/plugins/android/androiddevice.cpp36
-rw-r--r--src/plugins/android/androiddevice.h9
-rw-r--r--src/plugins/android/androidplugin.cpp13
-rw-r--r--src/plugins/android/androidplugin.h3
-rw-r--r--src/plugins/coreplugin/locator/directoryfilter.cpp2
-rw-r--r--src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp12
-rw-r--r--src/plugins/qmljseditor/qmljssemantichighlighter.cpp32
-rw-r--r--src/plugins/qmljseditor/qmljssemantichighlighter.h4
-rw-r--r--tests/system/suite_general/tst_cmake_speedcrunch/test.py2
-rw-r--r--tests/system/suite_general/tst_cmake_speedcrunch/testdata/projecttree_speedcrunch.tsv245
12 files changed, 273 insertions, 90 deletions
diff --git a/share/qtcreator/qmldesigner/studio_templates/projects/common/app.qmlproject.tpl b/share/qtcreator/qmldesigner/studio_templates/projects/common/app.qmlproject.tpl
index 60aa8715873..47f83a1b428 100644
--- a/share/qtcreator/qmldesigner/studio_templates/projects/common/app.qmlproject.tpl
+++ b/share/qtcreator/qmldesigner/studio_templates/projects/common/app.qmlproject.tpl
@@ -90,7 +90,7 @@ Project {
/* Required for deployment */
targetDirectory: "/opt/%{ProjectName}"
- qdsVersion: "3.0"
+ qdsVersion: "3.2"
@if %{IsQt6Project}
/* If any modules the project imports require widgets (e.g. QtCharts), widgetApp must be true */
diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp
index 4bed100402d..6cfe8d9f806 100644
--- a/src/plugins/android/androiddeployqtstep.cpp
+++ b/src/plugins/android/androiddeployqtstep.cpp
@@ -182,7 +182,8 @@ bool AndroidDeployQtStep::init()
return false;
}
- if (!selectedAbis.isEmpty() && !dev->canSupportAbis(selectedAbis)) {
+ const bool abiListNotEmpty = !selectedAbis.isEmpty() && !dev->supportedAbis().isEmpty();
+ if (abiListNotEmpty && !dev->canSupportAbis(selectedAbis)) {
const QString error = tr("The deployment device \"%1\" does not support the "
"architectures used by the kit.\n"
"The kit supports \"%2\", but the device uses \"%3\".")
diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp
index 8609fc7a89f..d0b782df442 100644
--- a/src/plugins/android/androiddevice.cpp
+++ b/src/plugins/android/androiddevice.cpp
@@ -35,6 +35,8 @@
#include <coreplugin/icore.h>
+#include <extensionsystem/iplugin.h>
+
#include <projectexplorer/devicesupport/devicemanager.h>
#include <projectexplorer/devicesupport/idevicewidget.h>
#include <projectexplorer/kitinformation.h>
@@ -588,6 +590,8 @@ void AndroidDeviceManager::setupDevicesWatcher()
m_adbDeviceWatcherProcess->setCommand(command);
m_adbDeviceWatcherProcess->setEnvironment(AndroidConfigurations::toolsEnvironment(m_androidConfig));
m_adbDeviceWatcherProcess->start();
+ qCDebug(androidDeviceLog).noquote() << "ADB device watcher started:"
+ << command.toUserOutput();
// Setup AVD filesystem watcher to listen for changes when an avd is created/deleted,
// or started/stopped
@@ -611,6 +615,28 @@ void AndroidDeviceManager::setupDevicesWatcher()
updateAvdsList();
}
+void AndroidDeviceManager::shutdownDevicesWatcher()
+{
+ m_avdsFutureWatcher.waitForFinished();
+ m_removeAvdFutureWatcher.waitForFinished();
+
+ if (m_adbDeviceWatcherProcess) {
+ m_adbDeviceWatcherProcess->terminate();
+ m_adbDeviceWatcherProcess->waitForFinished();
+ m_adbDeviceWatcherProcess.reset();
+
+ // Despite terminate/waitForFinished, the process may still
+ // be around and remain if Qt Creator finishes too early.
+ QTimer::singleShot(1000, this, [this] { emit devicesWatcherShutdownFinished(); });
+ }
+}
+
+ExtensionSystem::IPlugin::ShutdownFlag AndroidDeviceManager::devicesShutdownFlag() const
+{
+ return m_adbDeviceWatcherProcess ? ExtensionSystem::IPlugin::AsynchronousShutdown
+ : ExtensionSystem::IPlugin::SynchronousShutdown;
+}
+
void AndroidDeviceManager::HandleAvdsListChange()
{
DeviceManager *const devMgr = DeviceManager::instance();
@@ -764,16 +790,6 @@ AndroidDeviceManager::AndroidDeviceManager(QObject *parent)
m_androidConfig(AndroidConfigurations::currentConfig()),
m_avdManager(m_androidConfig)
{
- connect(qApp, &QCoreApplication::aboutToQuit, this, [this]() {
- if (m_adbDeviceWatcherProcess) {
- m_adbDeviceWatcherProcess->terminate();
- m_adbDeviceWatcherProcess->waitForFinished();
- m_adbDeviceWatcherProcess.reset();
- }
- m_avdsFutureWatcher.waitForFinished();
- m_removeAvdFutureWatcher.waitForFinished();
- });
-
connect(&m_removeAvdFutureWatcher, &QFutureWatcherBase::finished,
this, &AndroidDeviceManager::handleAvdRemoved);
}
diff --git a/src/plugins/android/androiddevice.h b/src/plugins/android/androiddevice.h
index d10663e1590..574e2756f1a 100644
--- a/src/plugins/android/androiddevice.h
+++ b/src/plugins/android/androiddevice.h
@@ -30,6 +30,8 @@
#include "androidconfigurations.h"
#include "androiddeviceinfo.h"
+#include <extensionsystem/iplugin.h>
+
#include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/devicesupport/idevicefactory.h>
@@ -106,9 +108,13 @@ private:
class AndroidDeviceManager : public QObject
{
+ Q_OBJECT
+
public:
static AndroidDeviceManager *instance();
void setupDevicesWatcher();
+ void shutdownDevicesWatcher();
+ ExtensionSystem::IPlugin::ShutdownFlag devicesShutdownFlag() const;
void updateAvdsList();
IDevice::DeviceState getDeviceState(const QString &serial, IDevice::MachineType type) const;
void updateDeviceState(const ProjectExplorer::IDevice::ConstPtr &device);
@@ -120,6 +126,9 @@ public:
QString getRunningAvdsSerialNumber(const QString &name) const;
+signals:
+ void devicesWatcherShutdownFinished();
+
private:
AndroidDeviceManager(QObject *parent = nullptr);
void HandleDevicesListChange(const QString &serialNumber);
diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp
index 3207b0c38a4..bda2f80587e 100644
--- a/src/plugins/android/androidplugin.cpp
+++ b/src/plugins/android/androidplugin.cpp
@@ -160,6 +160,19 @@ bool AndroidPlugin::initialize(const QStringList &arguments, QString *errorMessa
return true;
}
+AndroidPlugin::ShutdownFlag AndroidPlugin::aboutToShutdown()
+{
+ AndroidDeviceManager *dm = AndroidDeviceManager::instance();
+ const IPlugin::ShutdownFlag sf = dm->devicesShutdownFlag();
+
+ if (sf == AsynchronousShutdown)
+ connect(dm, &AndroidDeviceManager::devicesWatcherShutdownFinished,
+ this, &ExtensionSystem::IPlugin::asynchronousShutdownFinished);
+
+ dm->shutdownDevicesWatcher();
+ return sf;
+}
+
void AndroidPlugin::kitsRestored()
{
const bool qtForAndroidInstalled
diff --git a/src/plugins/android/androidplugin.h b/src/plugins/android/androidplugin.h
index d4ad726cf05..3d46ca08674 100644
--- a/src/plugins/android/androidplugin.h
+++ b/src/plugins/android/androidplugin.h
@@ -44,6 +44,9 @@ class AndroidPlugin final : public ExtensionSystem::IPlugin
class AndroidPluginPrivate *d = nullptr;
+public:
+ ShutdownFlag aboutToShutdown() final;
+
#ifdef WITH_TESTS
private slots:
void testAndroidSdkManagerProgressParser_data();
diff --git a/src/plugins/coreplugin/locator/directoryfilter.cpp b/src/plugins/coreplugin/locator/directoryfilter.cpp
index b5e69451667..cb010653afb 100644
--- a/src/plugins/coreplugin/locator/directoryfilter.cpp
+++ b/src/plugins/coreplugin/locator/directoryfilter.cpp
@@ -141,10 +141,10 @@ void DirectoryFilter::restoreState(const QByteArray &state)
setIncludedByDefault(defaultFilter);
locker.unlock();
- updateFileIterator();
} else {
ILocatorFilter::restoreState(state);
}
+ updateFileIterator();
}
bool DirectoryFilter::openConfigDialog(QWidget *parent, bool &needsRefresh)
diff --git a/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp b/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp
index fd17d9b5bc3..00987711c56 100644
--- a/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp
+++ b/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp
@@ -51,6 +51,11 @@ ChooseFromPropertyListFilter::ChooseFromPropertyListFilter(const NodeMetaInfo &i
// -> InstanceList
// Pass
// -> Effect
+ // Particle3D
+ // -> ParticleEmitter3D
+ // ParticleAbstractShape3D
+ // -> ParticleEmitter3D
+ // -> Attractor3D
const TypeName textureType = "QtQuick3D.Texture";
if (insertInfo.isSubclassOf(textureType)) {
@@ -92,6 +97,13 @@ ChooseFromPropertyListFilter::ChooseFromPropertyListFilter(const NodeMetaInfo &i
} else if (insertInfo.isSubclassOf("QtQuick3D.Pass")) {
if (parentInfo.isSubclassOf("QtQuick3D.Effect"))
propertyList.append("passes");
+ } else if (insertInfo.isSubclassOf("QtQuick3D.Particles3D.Particle3D")) {
+ if (parentInfo.isSubclassOf("QtQuick3D.Particles3D.ParticleEmitter3D"))
+ propertyList.append("particle");
+ } else if (insertInfo.isSubclassOf("QQuick3DParticleAbstractShape")) {
+ if (parentInfo.isSubclassOf("QtQuick3D.Particles3D.ParticleEmitter3D")
+ || parentInfo.isSubclassOf("QtQuick3D.Particles3D.Attractor3D"))
+ propertyList.append("shape");
}
}
diff --git a/src/plugins/qmljseditor/qmljssemantichighlighter.cpp b/src/plugins/qmljseditor/qmljssemantichighlighter.cpp
index 1d3e2c13ddf..8909c471e0e 100644
--- a/src/plugins/qmljseditor/qmljssemantichighlighter.cpp
+++ b/src/plugins/qmljseditor/qmljssemantichighlighter.cpp
@@ -175,9 +175,11 @@ class CollectionTask : protected Visitor
{
public:
CollectionTask(QFutureInterface<SemanticHighlighter::Use> &futureInterface,
- const QmlJSTools::SemanticInfo &semanticInfo)
+ const QmlJSTools::SemanticInfo &semanticInfo,
+ const TextEditor::FontSettings &fontSettings)
: m_futureInterface(futureInterface)
, m_semanticInfo(semanticInfo)
+ , m_fontSettings(fontSettings)
, m_scopeChain(semanticInfo.scopeChain())
, m_scopeBuilder(&m_scopeChain)
, m_lineOfLastUse(0)
@@ -408,13 +410,11 @@ protected:
length = end-begin;
}
- const TextEditor::FontSettings &fontSettings = TextEditor::TextEditorSettings::fontSettings();
-
QTextCharFormat format;
if (d.isWarning())
- format = fontSettings.toTextCharFormat(TextEditor::C_WARNING);
+ format = m_fontSettings.toTextCharFormat(TextEditor::C_WARNING);
else
- format = fontSettings.toTextCharFormat(TextEditor::C_ERROR);
+ format = m_fontSettings.toTextCharFormat(TextEditor::C_ERROR);
format.setToolTip(d.message);
@@ -445,17 +445,15 @@ protected:
length = end-begin;
}
- const TextEditor::FontSettings &fontSettings = TextEditor::TextEditorSettings::fontSettings();
-
QTextCharFormat format;
if (d.severity == Severity::Warning
|| d.severity == Severity::MaybeWarning
|| d.severity == Severity::ReadingTypeInfoWarning) {
- format = fontSettings.toTextCharFormat(TextEditor::C_WARNING);
+ format = m_fontSettings.toTextCharFormat(TextEditor::C_WARNING);
} else if (d.severity == Severity::Error || d.severity == Severity::MaybeError) {
- format = fontSettings.toTextCharFormat(TextEditor::C_ERROR);
+ format = m_fontSettings.toTextCharFormat(TextEditor::C_ERROR);
} else if (d.severity == Severity::Hint) {
- format = fontSettings.toTextCharFormat(TextEditor::C_WARNING);
+ format = m_fontSettings.toTextCharFormat(TextEditor::C_WARNING);
format.setUnderlineColor(Qt::darkGreen);
}
@@ -534,6 +532,7 @@ private:
QFutureInterface<SemanticHighlighter::Use> &m_futureInterface;
const QmlJSTools::SemanticInfo &m_semanticInfo;
+ const TextEditor::FontSettings &m_fontSettings;
ScopeChain m_scopeChain;
ScopeBuilder m_scopeBuilder;
QStringList m_stateNames;
@@ -565,8 +564,11 @@ void SemanticHighlighter::rerun(const QmlJSTools::SemanticInfo &semanticInfo)
m_watcher.cancel();
m_startRevision = m_document->document()->revision();
- auto future = Utils::runAsync(QThread::LowestPriority, &SemanticHighlighter::run,
- this, semanticInfo);
+ auto future = Utils::runAsync(QThread::LowestPriority,
+ &SemanticHighlighter::run,
+ this,
+ semanticInfo,
+ TextEditor::TextEditorSettings::fontSettings());
m_watcher.setFuture(future);
m_futureSynchronizer.addFuture(future);
}
@@ -600,9 +602,11 @@ void SemanticHighlighter::finished()
m_document->syntaxHighlighter(), m_watcher.future());
}
-void SemanticHighlighter::run(QFutureInterface<SemanticHighlighter::Use> &futureInterface, const QmlJSTools::SemanticInfo &semanticInfo)
+void SemanticHighlighter::run(QFutureInterface<SemanticHighlighter::Use> &futureInterface,
+ const QmlJSTools::SemanticInfo &semanticInfo,
+ const TextEditor::FontSettings &fontSettings)
{
- CollectionTask task(futureInterface, semanticInfo);
+ CollectionTask task(futureInterface, semanticInfo, fontSettings);
reportMessagesInfo(task.diagnosticRanges(), task.extraFormats());
task.run();
}
diff --git a/src/plugins/qmljseditor/qmljssemantichighlighter.h b/src/plugins/qmljseditor/qmljssemantichighlighter.h
index f36b9b5518a..c47b2afdb88 100644
--- a/src/plugins/qmljseditor/qmljssemantichighlighter.h
+++ b/src/plugins/qmljseditor/qmljssemantichighlighter.h
@@ -82,7 +82,9 @@ public:
private:
void applyResults(int from, int to);
void finished();
- void run(QFutureInterface<Use> &futureInterface, const QmlJSTools::SemanticInfo &semanticInfo);
+ void run(QFutureInterface<Use> &futureInterface,
+ const QmlJSTools::SemanticInfo &semanticInfo,
+ const TextEditor::FontSettings &fontSettings);
QFutureWatcher<Use> m_watcher;
QmlJSEditorDocument *m_document;
diff --git a/tests/system/suite_general/tst_cmake_speedcrunch/test.py b/tests/system/suite_general/tst_cmake_speedcrunch/test.py
index e6f07b22c5a..9a9e88d3c95 100644
--- a/tests/system/suite_general/tst_cmake_speedcrunch/test.py
+++ b/tests/system/suite_general/tst_cmake_speedcrunch/test.py
@@ -65,7 +65,7 @@ def main():
compareProjectTree(naviTreeView % "speedcrunch( \[\S+\])?", treeFile)
# Invoke a rebuild of the application
- invokeMenuItem("Build", "Rebuild All Projects")
+ selectFromLocator("t rebuild", "Rebuild (Rebuild All Projects)")
# Wait for, and test if the build succeeded
waitForCompile(300000)
diff --git a/tests/system/suite_general/tst_cmake_speedcrunch/testdata/projecttree_speedcrunch.tsv b/tests/system/suite_general/tst_cmake_speedcrunch/testdata/projecttree_speedcrunch.tsv
index 8236d245f58..2fd1d59bb2b 100644
--- a/tests/system/suite_general/tst_cmake_speedcrunch/testdata/projecttree_speedcrunch.tsv
+++ b/tests/system/suite_general/tst_cmake_speedcrunch/testdata/projecttree_speedcrunch.tsv
@@ -1,33 +1,41 @@
"text" "nestinglevel"
"CMakeLists.txt" "0"
"speedcrunch" "0"
+"Header Files" "1"
+"genericdock.h" "2"
"Source Files" "1"
"core" "2"
"book.cpp" "3"
"constants.cpp" "3"
"evaluator.cpp" "3"
"functions.cpp" "3"
+"manualserver.cpp" "3"
"numberformatter.cpp" "3"
+"opcode.cpp" "3"
+"pageserver.cpp" "3"
+"session.cpp" "3"
+"sessionhistory.cpp" "3"
"settings.cpp" "3"
+"userfunction.cpp" "3"
+"variable.cpp" "3"
"gui" "2"
"aboutbox.cpp" "3"
-"application.cpp" "3"
-"autohidelabel.cpp" "3"
+"bitfieldwidget.cpp" "3"
"bookdock.cpp" "3"
-"constantsdock.cpp" "3"
"constantswidget.cpp" "3"
"editor.cpp" "3"
-"functionsdock.cpp" "3"
"functionswidget.cpp" "3"
-"historydock.cpp" "3"
"historywidget.cpp" "3"
+"keypad.cpp" "3"
"mainwindow.cpp" "3"
+"manualwindow.cpp" "3"
"resultdisplay.cpp" "3"
"syntaxhighlighter.cpp" "3"
-"tipwidget.cpp" "3"
+"userfunctionlistwidget.cpp" "3"
"variablelistwidget.cpp" "3"
-"variablesdock.cpp" "3"
"math" "2"
+"cmath.cpp" "3"
+"cnumberparser.cpp" "3"
"floatcommon.c" "3"
"floatconst.c" "3"
"floatconvert.c" "3"
@@ -35,6 +43,7 @@
"floatexp.c" "3"
"floatgamma.c" "3"
"floathmath.c" "3"
+"floatincgamma.c" "3"
"floatio.c" "3"
"floatipower.c" "3"
"floatlog.c" "3"
@@ -46,18 +55,140 @@
"floattrig.c" "3"
"hmath.cpp" "3"
"number.c" "3"
-"resources" "2"
-"speedcrunch.rc" "3"
-"thirdparty" "2"
-"binreloc.c" "3"
+"quantity.cpp" "3"
+"rational.cpp" "3"
+"units.cpp" "3"
"main.cpp" "2"
+"/" "2"
+"color-schemes" "3"
+"Solarized Dark.json" "4"
+"Solarized Light.json" "4"
+"Standard.json" "4"
+"Sublime.json" "4"
+"Terminal.json" "4"
+"Tomorrow Night Blue.json" "4"
+"Tomorrow Night Bright.json" "4"
+"Tomorrow Night Eighties.json" "4"
+"Tomorrow Night.json" "4"
+"Tomorrow.json" "4"
+"locale" "3"
+"ar.qm" "4"
+"ca_ES.qm" "4"
+"cs_CZ.qm" "4"
+"da.qm" "4"
+"de_DE.qm" "4"
+"el.qm" "4"
+"en_GB.qm" "4"
+"en_US.qm" "4"
+"es_AR.qm" "4"
+"es_ES.qm" "4"
+"et_EE.qm" "4"
+"eu_ES.qm" "4"
+"fi_FI.qm" "4"
+"fr_FR.qm" "4"
+"he_IL.qm" "4"
+"hu_HU.qm" "4"
+"id_ID.qm" "4"
+"it_IT.qm" "4"
+"ja_JP.qm" "4"
+"ko_KR.qm" "4"
+"lt.qm" "4"
+"lv_LV.qm" "4"
+"nb_NO.qm" "4"
+"nl_NL.qm" "4"
+"pl_PL.qm" "4"
+"pt_BR.qm" "4"
+"pt_PT.qm" "4"
+"ro_RO.qm" "4"
+"ru_RU.qm" "4"
+"sk.qm" "4"
+"sv_SE.qm" "4"
+"tr_TR.qm" "4"
+"uz_Latn_UZ.qm" "4"
+"vi.qm" "4"
+"zh_CN.qm" "4"
+"speedcrunch.png" "3"
+"<Other Locations>" "1"
+"manual.qrc" "3"
+"/manual" "4"
+"manual-de_DE.qch" "5"
+"manual-de_DE.qhc" "5"
+"manual-en_US.qch" "5"
+"manual-en_US.qhc" "5"
+"manual-es_ES.qch" "5"
+"manual-es_ES.qhc" "5"
+"manual-fr_FR.qch" "5"
+"manual-fr_FR.qhc" "5"
+"testcmath" "0"
+"Source Files" "1"
+"math" "2"
+"cmath.cpp" "3"
+"cnumberparser.cpp" "3"
+"floatcommon.c" "3"
+"floatconst.c" "3"
+"floatconvert.c" "3"
+"floaterf.c" "3"
+"floatexp.c" "3"
+"floatgamma.c" "3"
+"floathmath.c" "3"
+"floatio.c" "3"
+"floatipower.c" "3"
+"floatlog.c" "3"
+"floatlogic.c" "3"
+"floatlong.c" "3"
+"floatnum.c" "3"
+"floatpower.c" "3"
+"floatseries.c" "3"
+"floattrig.c" "3"
+"hmath.cpp" "3"
+"number.c" "3"
+"quantity.cpp" "3"
+"rational.cpp" "3"
+"units.cpp" "3"
+"tests" "2"
+"testcmath.cpp" "3"
+"testdmath" "0"
+"Source Files" "1"
+"math" "2"
+"cmath.cpp" "3"
+"cnumberparser.cpp" "3"
+"floatcommon.c" "3"
+"floatconst.c" "3"
+"floatconvert.c" "3"
+"floaterf.c" "3"
+"floatexp.c" "3"
+"floatgamma.c" "3"
+"floathmath.c" "3"
+"floatio.c" "3"
+"floatipower.c" "3"
+"floatlog.c" "3"
+"floatlogic.c" "3"
+"floatlong.c" "3"
+"floatnum.c" "3"
+"floatpower.c" "3"
+"floatseries.c" "3"
+"floattrig.c" "3"
+"hmath.cpp" "3"
+"number.c" "3"
+"quantity.cpp" "3"
+"rational.cpp" "3"
+"units.cpp" "3"
+"tests" "2"
+"testdmath.cpp" "3"
"testevaluator" "0"
"Source Files" "1"
"core" "2"
"evaluator.cpp" "3"
"functions.cpp" "3"
+"numberformatter.cpp" "3"
+"session.cpp" "3"
+"sessionhistory.cpp" "3"
"settings.cpp" "3"
+"userfunction.cpp" "3"
+"variable.cpp" "3"
"math" "2"
+"cmath.cpp" "3"
+"cnumberparser.cpp" "3"
"floatcommon.c" "3"
"floatconst.c" "3"
"floatconvert.c" "3"
@@ -76,6 +207,9 @@
"floattrig.c" "3"
"hmath.cpp" "3"
"number.c" "3"
+"quantity.cpp" "3"
+"rational.cpp" "3"
+"units.cpp" "3"
"tests" "2"
"testevaluator.cpp" "3"
"testfloatnum" "0"
@@ -103,6 +237,8 @@
"testhmath" "0"
"Source Files" "1"
"math" "2"
+"cmath.cpp" "3"
+"cnumberparser.cpp" "3"
"floatcommon.c" "3"
"floatconst.c" "3"
"floatconvert.c" "3"
@@ -121,58 +257,45 @@
"floattrig.c" "3"
"hmath.cpp" "3"
"number.c" "3"
+"quantity.cpp" "3"
+"rational.cpp" "3"
+"units.cpp" "3"
"tests" "2"
"testhmath.cpp" "3"
-"<Headers>" "0"
-"core" "1"
-"book.h" "2"
-"constants.h" "2"
-"errors.h" "2"
-"evaluator.h" "2"
-"functions.h" "2"
-"numberformatter.h" "2"
-"settings.h" "2"
-"gui" "1"
-"aboutbox.h" "2"
-"application.h" "2"
-"autohidelabel.h" "2"
-"bookdock.h" "2"
-"constantsdock.h" "2"
-"constantswidget.h" "2"
-"editor.h" "2"
-"functionsdock.h" "2"
-"functionswidget.h" "2"
-"historydock.h" "2"
-"historywidget.h" "2"
-"mainwindow.h" "2"
-"resultdisplay.h" "2"
-"syntaxhighlighter.h" "2"
-"tipwidget.h" "2"
-"variablelistwidget.h" "2"
-"variablesdock.h" "2"
-"math" "1"
-"floatcommon.h" "2"
-"floatconfig.h" "2"
-"floatconst.h" "2"
-"floatconvert.h" "2"
-"floaterf.h" "2"
-"floatexp.h" "2"
-"floatgamma.h" "2"
-"floathmath.h" "2"
-"floatincgamma.h" "2"
-"floatio.h" "2"
-"floatipower.h" "2"
-"floatlog.h" "2"
-"floatlogic.h" "2"
-"floatlong.h" "2"
-"floatnum.h" "2"
-"floatpower.h" "2"
-"floatseries.h" "2"
-"floattrig.h" "2"
-"hmath.h" "2"
-"number.h" "2"
-"thirdparty" "1"
-"binreloc.h" "2"
+"testser" "0"
+"Source Files" "1"
+"core" "2"
+"numberformatter.cpp" "3"
+"settings.cpp" "3"
+"math" "2"
+"cmath.cpp" "3"
+"cnumberparser.cpp" "3"
+"floatcommon.c" "3"
+"floatconst.c" "3"
+"floatconvert.c" "3"
+"floaterf.c" "3"
+"floatexp.c" "3"
+"floatgamma.c" "3"
+"floathmath.c" "3"
+"floatio.c" "3"
+"floatipower.c" "3"
+"floatlog.c" "3"
+"floatlogic.c" "3"
+"floatlong.c" "3"
+"floatnum.c" "3"
+"floatpower.c" "3"
+"floatseries.c" "3"
+"floattrig.c" "3"
+"hmath.cpp" "3"
+"number.c" "3"
+"quantity.cpp" "3"
+"rational.cpp" "3"
+"units.cpp" "3"
+"tests" "2"
+"testser.cpp" "3"
+"src" "1"
+"CMakeLists.txt" "2"
"CMake Modules" "0"
"cmake_uninstall.cmake.in" "1"
"SourceFiles.cmake" "1"
+"<Other Locations>" "1"