diff options
Diffstat (limited to 'src/libs')
29 files changed, 164 insertions, 189 deletions
diff --git a/src/libs/3rdparty/cplusplus/Lexer.cpp b/src/libs/3rdparty/cplusplus/Lexer.cpp index fc1b72cb7db..deafe432b6a 100644 --- a/src/libs/3rdparty/cplusplus/Lexer.cpp +++ b/src/libs/3rdparty/cplusplus/Lexer.cpp @@ -25,7 +25,7 @@ #include "cppassert.h" -#include <utils/executeondestruction.h> +#include <QScopeGuard> #include <cctype> @@ -756,9 +756,9 @@ void Lexer::scanStringLiteral(Token *tok, unsigned char hint) void Lexer::scanRawStringLiteral(Token *tok, unsigned char hint) { - Utils::ExecuteOnDestruction suffixCleaner; - if (!control()) - suffixCleaner.reset([this] { _expectedRawStringSuffix.clear(); }); + QScopeGuard cleanup([this] { _expectedRawStringSuffix.clear(); }); + if (control()) + cleanup.dismiss(); const char *yytext = _currentChar; @@ -827,7 +827,7 @@ void Lexer::scanRawStringLiteral(Token *tok, unsigned char hint) tok->f.kind = T_RAW_STRING_LITERAL; if (!control() && !closed) { - suffixCleaner.reset([]{}); + cleanup.dismiss(); s._tokenKind = tok->f.kind; _expectedRawStringSuffix.prepend(')'); _expectedRawStringSuffix.append('"'); diff --git a/src/libs/advanceddockingsystem/dockwidgettab.cpp b/src/libs/advanceddockingsystem/dockwidgettab.cpp index 4531e0da2da..1775da373f4 100644 --- a/src/libs/advanceddockingsystem/dockwidgettab.cpp +++ b/src/libs/advanceddockingsystem/dockwidgettab.cpp @@ -187,7 +187,7 @@ namespace ADS void DockWidgetTabPrivate::moveTab(QMouseEvent *event) { event->accept(); - QPoint distance = event->globalPos() - m_globalDragStartMousePosition; + QPoint distance = event->globalPosition().toPoint() - m_globalDragStartMousePosition; distance.setY(0); auto targetPos = distance + m_tabDragStartPosition; targetPos.rx() = qMax(targetPos.x(), 0); @@ -294,7 +294,7 @@ namespace ADS { if (event->button() == Qt::LeftButton) { event->accept(); - d->saveDragStartMousePosition(event->globalPos()); + d->saveDragStartMousePosition(event->globalPosition().toPoint()); d->m_dragState = DraggingMousePressed; emit clicked(); return; @@ -314,7 +314,7 @@ namespace ADS case DraggingTab: // End of tab moving, emit signal if (d->m_dockArea) { - emit moved(event->globalPos()); + emit moved(event->globalPosition().toPoint()); } break; @@ -354,7 +354,7 @@ namespace ADS auto mappedPos = mapToParent(event->pos()); bool mouseOutsideBar = (mappedPos.x() < 0) || (mappedPos.x() > parentWidget()->rect().right()); // Maybe a fixed drag distance is better here ? - int dragDistanceY = qAbs(d->m_globalDragStartMousePosition.y() - event->globalPos().y()); + int dragDistanceY = qAbs(d->m_globalDragStartMousePosition.y() - event->globalPosition().toPoint().y()); if (dragDistanceY >= DockManager::startDragDistance() || mouseOutsideBar) { // If this is the last dock area in a dock container with only // one single dock widget it does not make sense to move it to a new @@ -382,7 +382,7 @@ namespace ADS } return; } else if (d->m_dockArea->openDockWidgetsCount() > 1 - && (event->globalPos() - d->m_globalDragStartMousePosition).manhattanLength() + && (event->globalPosition().toPoint() - d->m_globalDragStartMousePosition).manhattanLength() >= QApplication::startDragDistance()) // Wait a few pixels before start moving { // If we start dragging the tab, we save its initial position to @@ -502,7 +502,7 @@ namespace ADS // sense to move it to a new floating widget and leave this one empty if ((!d->m_dockArea->dockContainer()->isFloating() || d->m_dockArea->dockWidgetsCount() > 1) && d->m_dockWidget->features().testFlag(DockWidget::DockWidgetFloatable)) { - d->saveDragStartMousePosition(event->globalPos()); + d->saveDragStartMousePosition(event->globalPosition().toPoint()); d->startFloating(DraggingInactive); } diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index ef27d9eace8..f4e8dbdbd0c 100644 --- a/src/libs/cplusplus/pp-engine.cpp +++ b/src/libs/cplusplus/pp-engine.cpp @@ -30,7 +30,6 @@ #include <cplusplus/Literals.h> #include <cplusplus/cppassert.h> -#include <utils/executeondestruction.h> #include <utils/filepath.h> #include <utils/scopedswap.h> @@ -40,6 +39,7 @@ #include <QLoggingCategory> #include <QTime> #include <QPair> +#include <QScopeGuard> #include <cctype> #include <deque> @@ -1513,14 +1513,15 @@ bool Preprocessor::collectActualArguments(PPToken *tk, QVector<QVector<PPToken> Q_ASSERT(tk); Q_ASSERT(actuals); - ExecuteOnDestruction removeBlockedName; - if (m_state.m_tokenBuffer) { - removeBlockedName.reset([this] { - if (m_state.m_tokenBuffer && !m_state.m_tokenBuffer->blockedMacroNames.empty()) - m_state.m_tokenBuffer->blockedMacroNames.pop_back(); - }); + QScopeGuard cleanup([this] { + if (m_state.m_tokenBuffer && !m_state.m_tokenBuffer->blockedMacroNames.empty()) + m_state.m_tokenBuffer->blockedMacroNames.pop_back(); + }); + + if (m_state.m_tokenBuffer) m_state.m_tokenBuffer->blockedMacroNames.push_back(parentMacroName); - } + else + cleanup.dismiss(); lex(tk); // consume the identifier diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index ae2dbf8903b..45b9807958e 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -10,6 +10,17 @@ #include "pluginspec.h" #include "pluginspec_p.h" +#include <utils/algorithm.h> +#include <utils/benchmarker.h> +#include <utils/fileutils.h> +#include <utils/futuresynchronizer.h> +#include <utils/hostosinfo.h> +#include <utils/mimeutils.h> +#include <utils/process.h> +#include <utils/qtcassert.h> +#include <utils/qtcsettings.h> +#include <utils/threadutils.h> + #include <QCoreApplication> #include <QCryptographicHash> #include <QDateTime> @@ -23,23 +34,12 @@ #include <QMessageBox> #include <QMetaProperty> #include <QPushButton> +#include <QScopeGuard> #include <QSysInfo> #include <QTextStream> #include <QTimer> #include <QWriteLocker> -#include <utils/algorithm.h> -#include <utils/benchmarker.h> -#include <utils/executeondestruction.h> -#include <utils/fileutils.h> -#include <utils/futuresynchronizer.h> -#include <utils/hostosinfo.h> -#include <utils/mimeutils.h> -#include <utils/process.h> -#include <utils/qtcassert.h> -#include <utils/qtcsettings.h> -#include <utils/threadutils.h> - #ifdef WITH_TESTS #include <utils/hostosinfo.h> #include <QTest> @@ -399,7 +399,7 @@ static QString filled(const QString &s, int min) QString PluginManager::systemInformation() { QString result; - CommandLine qtDiag(FilePath::fromString(QLibraryInfo::location(QLibraryInfo::BinariesPath)) + CommandLine qtDiag(FilePath::fromString(QLibraryInfo::path(QLibraryInfo::BinariesPath)) .pathAppended("qtdiag").withExecutableSuffix()); Process qtDiagProc; qtDiagProc.setCommand(qtDiag); @@ -1268,8 +1268,7 @@ void PluginManagerPrivate::startTests() continue; // plugin not loaded const QVector<QObject *> testObjects = plugin->createTestObjects(); - ExecuteOnDestruction deleteTestObjects([&]() { qDeleteAll(testObjects); }); - Q_UNUSED(deleteTestObjects) + const QScopeGuard cleanup([&] { qDeleteAll(testObjects); }); const bool hasDuplicateTestObjects = testObjects.size() != Utils::filteredUnique(testObjects).size(); diff --git a/src/libs/qmleditorwidgets/contextpanewidget.cpp b/src/libs/qmleditorwidgets/contextpanewidget.cpp index 8d675bf95b1..93d124b6a5d 100644 --- a/src/libs/qmleditorwidgets/contextpanewidget.cpp +++ b/src/libs/qmleditorwidgets/contextpanewidget.cpp @@ -44,7 +44,7 @@ DragWidget::DragWidget(QWidget *parent) : QFrame(parent) void DragWidget::mousePressEvent(QMouseEvent * event) { if (event->button() == Qt::LeftButton) { - m_startPos = event->globalPos() - parentWidget()->mapToGlobal((pos())); + m_startPos = event->globalPosition().toPoint() - parentWidget()->mapToGlobal((pos())); m_opacityEffect = new QGraphicsOpacityEffect; setGraphicsEffect(m_opacityEffect); event->accept(); @@ -77,7 +77,7 @@ void DragWidget::mouseMoveEvent(QMouseEvent * event) { if (event->buttons() & Qt::LeftButton) { if (m_startPos != QPoint(-1, -1)) { - QPoint newPos = parentWidget()->mapFromGlobal(event->globalPos() - m_startPos); + QPoint newPos = parentWidget()->mapFromGlobal(event->globalPosition().toPoint() - m_startPos); newPos.setX(limit(newPos.x(), 20, parentWidget()->width() - 20 - width())); newPos.setY(limit(newPos.y(), 2, parentWidget()->height() - 20 - height())); diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index 51be467387d..78d93fb6c5d 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -649,6 +649,7 @@ QList<StaticAnalysis::Type> Check::defaultDisabledMessages() HintBinaryOperatorSpacing, HintOneStatementPerLine, HintExtraParentheses, + WarnAliasReferRootHierarchy, // QmlDesigner related WarnImperativeCodeNotEditableInVisualDesigner, @@ -748,6 +749,7 @@ void Check::enableQmlDesignerChecks() enableMessage(WarnReferenceToParentItemNotSupportedByVisualDesigner); enableMessage(ErrUnsupportedRootTypeInVisualDesigner); enableMessage(ErrInvalidIdeInVisualDesigner); + enableMessage(WarnAliasReferRootHierarchy); //## triggers too often ## check.enableMessage(StaticAnalysis::WarnUndefinedValueForVisualDesigner); } diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp index 6bcfe7ee25c..66a670d1b8a 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp @@ -114,9 +114,9 @@ ModelManagerInterface::ModelManagerInterface(QObject *parent) qRegisterMetaType<QmlJS::PathsAndLanguages>("QmlJS::PathsAndLanguages"); m_defaultProjectInfo.qtQmlPath = - FilePath::fromUserInput(QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath)); + FilePath::fromUserInput(QLibraryInfo::path(QLibraryInfo::Qml2ImportsPath)); m_defaultProjectInfo.qmllsPath = ModelManagerInterface::qmllsForBinPath( - FilePath::fromUserInput(QLibraryInfo::location(QLibraryInfo::BinariesPath)), + FilePath::fromUserInput(QLibraryInfo::path(QLibraryInfo::BinariesPath)), QLibraryInfo::version()); m_defaultProjectInfo.qtVersionString = QLibraryInfo::version().toString(); diff --git a/src/libs/solutions/tasking/CMakeLists.txt b/src/libs/solutions/tasking/CMakeLists.txt index f70c910e042..926343e9c8b 100644 --- a/src/libs/solutions/tasking/CMakeLists.txt +++ b/src/libs/solutions/tasking/CMakeLists.txt @@ -5,7 +5,9 @@ add_qtc_library(Tasking OBJECT SOURCES barrier.cpp barrier.h concurrentcall.h - networkquery.cpp networkquery.h + networkquery.cpp tasking_global.h tasktree.cpp tasktree.h + EXPLICIT_MOC + networkquery.h ) diff --git a/src/libs/solutions/tasking/tasktree.cpp b/src/libs/solutions/tasking/tasktree.cpp index 2a4c7cefd98..43a47121b2a 100644 --- a/src/libs/solutions/tasking/tasktree.cpp +++ b/src/libs/solutions/tasking/tasktree.cpp @@ -1750,9 +1750,9 @@ TaskTree::TaskTree() { } -TaskTree::TaskTree(const Group &root) : TaskTree() +TaskTree::TaskTree(const Group &recipe) : TaskTree() { - setupRoot(root); + setRecipe(recipe); } TaskTree::~TaskTree() @@ -1763,27 +1763,27 @@ TaskTree::~TaskTree() delete d; } -void TaskTree::setupRoot(const Group &root) +void TaskTree::setRecipe(const Group &recipe) { QTC_ASSERT(!isRunning(), qWarning("The TaskTree is already running, ignoring..."); return); - QTC_ASSERT(!d->m_guard.isLocked(), qWarning("The setupRoot() is called from one of the" - "TaskTree handlers, ingoring..."); return); + QTC_ASSERT(!d->m_guard.isLocked(), qWarning("The setRecipe() is called from one of the" + "TaskTree handlers, ignoring..."); return); d->m_storages.clear(); - d->m_root.reset(new TaskNode(d, root, nullptr)); + d->m_root.reset(new TaskNode(d, recipe, nullptr)); } void TaskTree::start() { QTC_ASSERT(!isRunning(), qWarning("The TaskTree is already running, ignoring..."); return); QTC_ASSERT(!d->m_guard.isLocked(), qWarning("The start() is called from one of the" - "TaskTree handlers, ingoring..."); return); + "TaskTree handlers, ignoring..."); return); d->start(); } void TaskTree::stop() { QTC_ASSERT(!d->m_guard.isLocked(), qWarning("The stop() is called from one of the" - "TaskTree handlers, ingoring..."); return); + "TaskTree handlers, ignoring..."); return); d->stop(); } diff --git a/src/libs/solutions/tasking/tasktree.h b/src/libs/solutions/tasking/tasktree.h index dcd7b86ac18..11cc2708dd4 100644 --- a/src/libs/solutions/tasking/tasktree.h +++ b/src/libs/solutions/tasking/tasktree.h @@ -378,10 +378,10 @@ class TASKING_EXPORT TaskTree final : public QObject public: TaskTree(); - TaskTree(const Group &root); + TaskTree(const Group &recipe); ~TaskTree(); - void setupRoot(const Group &root); + void setRecipe(const Group &recipe); void start(); void stop(); diff --git a/src/libs/utils/CMakeLists.txt b/src/libs/utils/CMakeLists.txt index aa6a3e199e6..a0ec62ac244 100644 --- a/src/libs/utils/CMakeLists.txt +++ b/src/libs/utils/CMakeLists.txt @@ -43,7 +43,6 @@ add_qtc_library(Utils environmentfwd.h environmentmodel.cpp environmentmodel.h execmenu.cpp execmenu.h - executeondestruction.h expected.h externalterminalprocessimpl.cpp externalterminalprocessimpl.h fadingindicator.cpp fadingindicator.h diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index 999385e1ca9..5ba4922d668 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -2347,7 +2347,7 @@ void IntegersAspect::setDefaultValue(const QList<int> &value) */ TextDisplay::TextDisplay(AspectContainer *container) - : BaseAspect(container) + : BaseAspect(container), d(new Internal::TextDisplayPrivate) {} /*! diff --git a/src/libs/utils/basetreeview.cpp b/src/libs/utils/basetreeview.cpp index 3ccbf1f86e8..14d17257841 100644 --- a/src/libs/utils/basetreeview.cpp +++ b/src/libs/utils/basetreeview.cpp @@ -587,7 +587,7 @@ ItemViewEvent::ItemViewEvent(QEvent *ev, QAbstractItemView *view) case QEvent::DragEnter: case QEvent::DragMove: case QEvent::Drop: - m_pos = static_cast<QDropEvent *>(ev)->pos(); + m_pos = static_cast<QDropEvent *>(ev)->position().toPoint(); m_index = view->indexAt(m_pos); break; default: diff --git a/src/libs/utils/buildablehelperlibrary.cpp b/src/libs/utils/buildablehelperlibrary.cpp index cafd5b0452c..a134cb785d8 100644 --- a/src/libs/utils/buildablehelperlibrary.cpp +++ b/src/libs/utils/buildablehelperlibrary.cpp @@ -31,7 +31,7 @@ FilePath BuildableHelperLibrary::qtChooserToQmakePath(const FilePath &qtChooser) int pos = output.indexOf(toolDir); if (pos == -1) return {}; - pos += toolDir.count(); + pos += toolDir.size(); int end = output.indexOf('\"', pos); if (end == -1) return {}; diff --git a/src/libs/utils/deviceshell.cpp b/src/libs/utils/deviceshell.cpp index f96c5da8f2d..99ddecdeec9 100644 --- a/src/libs/utils/deviceshell.cpp +++ b/src/libs/utils/deviceshell.cpp @@ -8,7 +8,6 @@ #include "qtcassert.h" #include <QLoggingCategory> -#include <QScopeGuard> Q_LOGGING_CATEGORY(deviceShellLog, "qtc.utils.deviceshell", QtWarningMsg) diff --git a/src/libs/utils/differ.cpp b/src/libs/utils/differ.cpp index 9dc2ce8454e..f929efbeeb0 100644 --- a/src/libs/utils/differ.cpp +++ b/src/libs/utils/differ.cpp @@ -24,8 +24,8 @@ namespace Utils { static int commonPrefix(const QString &text1, const QString &text2) { int i = 0; - const int text1Count = text1.count(); - const int text2Count = text2.count(); + const int text1Count = text1.size(); + const int text2Count = text2.size(); const int maxCount = qMin(text1Count, text2Count); while (i < maxCount) { if (text1.at(i) != text2.at(i)) @@ -38,8 +38,8 @@ static int commonPrefix(const QString &text1, const QString &text2) static int commonSuffix(const QString &text1, const QString &text2) { int i = 0; - const int text1Count = text1.count(); - const int text2Count = text2.count(); + const int text1Count = text1.size(); + const int text2Count = text2.size(); const int maxCount = qMin(text1Count, text2Count); while (i < maxCount) { if (text1.at(text1Count - i - 1) != text2.at(text2Count - i - 1)) @@ -52,8 +52,8 @@ static int commonSuffix(const QString &text1, const QString &text2) static int commonOverlap(const QString &text1, const QString &text2) { int i = 0; - const int text1Count = text1.count(); - const int text2Count = text2.count(); + const int text1Count = text1.size(); + const int text2Count = text2.size(); const int maxCount = qMin(text1Count, text2Count); while (i < maxCount) { if (QStringView(text1).mid(text1Count - maxCount + i) == QStringView(text2).left(maxCount - i)) @@ -66,7 +66,7 @@ static int commonOverlap(const QString &text1, const QString &text2) static QList<Diff> decode(const QList<Diff> &diffList, const QStringList &lines) { QList<Diff> newDiffList; - newDiffList.reserve(diffList.count()); + newDiffList.reserve(diffList.size()); for (const Diff &diff : diffList) { QString text; for (QChar c : diff.text) { @@ -80,7 +80,7 @@ static QList<Diff> decode(const QList<Diff> &diffList, const QStringList &lines) static QList<Diff> squashEqualities(const QList<Diff> &diffList) { - if (diffList.count() < 3) // we need at least 3 items + if (diffList.size() < 3) // we need at least 3 items return diffList; QList<Diff> newDiffList; @@ -88,20 +88,20 @@ static QList<Diff> squashEqualities(const QList<Diff> &diffList) Diff thisDiff = diffList.at(1); Diff nextDiff = diffList.at(2); int i = 2; - while (i < diffList.count()) { + while (i < diffList.size()) { if (prevDiff.command == Diff::Equal && nextDiff.command == Diff::Equal) { if (thisDiff.text.endsWith(prevDiff.text)) { thisDiff.text = prevDiff.text - + thisDiff.text.left(thisDiff.text.count() - - prevDiff.text.count()); + + thisDiff.text.left(thisDiff.text.size() + - prevDiff.text.size()); nextDiff.text = prevDiff.text + nextDiff.text; } else if (thisDiff.text.startsWith(nextDiff.text)) { prevDiff.text += nextDiff.text; - thisDiff.text = thisDiff.text.mid(nextDiff.text.count()) + thisDiff.text = thisDiff.text.mid(nextDiff.text.size()) + nextDiff.text; i++; - if (i < diffList.count()) + if (i < diffList.size()) nextDiff = diffList.at(i); newDiffList.append(prevDiff); } else { @@ -113,11 +113,11 @@ static QList<Diff> squashEqualities(const QList<Diff> &diffList) prevDiff = thisDiff; thisDiff = nextDiff; i++; - if (i < diffList.count()) + if (i < diffList.size()) nextDiff = diffList.at(i); } newDiffList.append(prevDiff); - if (i == diffList.count()) + if (i == diffList.size()) newDiffList.append(thisDiff); return newDiffList; } @@ -132,9 +132,9 @@ static QList<Diff> cleanupOverlaps(const QList<Diff> &diffList) // DEL(XXXXABC), INS(DEFXXXX) -> INS(DEF), EQ(XXXX), DEL(ABC) QList<Diff> newDiffList; int i = 0; - while (i < diffList.count()) { + while (i < diffList.size()) { Diff thisDiff = diffList.at(i); - Diff nextDiff = i < diffList.count() - 1 + Diff nextDiff = i < diffList.size() - 1 ? diffList.at(i + 1) : Diff(Diff::Equal); if (thisDiff.command == Diff::Delete @@ -142,9 +142,9 @@ static QList<Diff> cleanupOverlaps(const QList<Diff> &diffList) const int delInsOverlap = commonOverlap(thisDiff.text, nextDiff.text); const int insDelOverlap = commonOverlap(nextDiff.text, thisDiff.text); if (delInsOverlap >= insDelOverlap) { - if (delInsOverlap > thisDiff.text.count() / 2 - || delInsOverlap > nextDiff.text.count() / 2) { - thisDiff.text = thisDiff.text.left(thisDiff.text.count() - delInsOverlap); + if (delInsOverlap > thisDiff.text.size() / 2 + || delInsOverlap > nextDiff.text.size() / 2) { + thisDiff.text = thisDiff.text.left(thisDiff.text.size() - delInsOverlap); const Diff equality(Diff::Equal, nextDiff.text.left(delInsOverlap)); nextDiff.text = nextDiff.text.mid(delInsOverlap); newDiffList.append(thisDiff); @@ -155,9 +155,9 @@ static QList<Diff> cleanupOverlaps(const QList<Diff> &diffList) newDiffList.append(nextDiff); } } else { - if (insDelOverlap > thisDiff.text.count() / 2 - || insDelOverlap > nextDiff.text.count() / 2) { - nextDiff.text = nextDiff.text.left(nextDiff.text.count() - insDelOverlap); + if (insDelOverlap > thisDiff.text.size() / 2 + || insDelOverlap > nextDiff.text.size() / 2) { + nextDiff.text = nextDiff.text.left(nextDiff.text.size() - insDelOverlap); const Diff equality(Diff::Equal, thisDiff.text.left(insDelOverlap)); thisDiff.text = thisDiff.text.mid(insDelOverlap); newDiffList.append(nextDiff); @@ -186,7 +186,7 @@ static int cleanupSemanticsScore(const QString &text1, const QString &text2) if (text1.isEmpty() || text2.isEmpty()) // Edges return 6; - const QChar char1 = text1[text1.count() - 1]; + const QChar char1 = text1[text1.size() - 1]; const QChar char2 = text2[0]; const bool nonAlphaNumeric1 = !char1.isLetterOrNumber(); const bool nonAlphaNumeric2 = !char2.isLetterOrNumber(); @@ -256,19 +256,19 @@ QList<Diff> Differ::moveWhitespaceIntoEqualities(const QList<Diff> &input) { QList<Diff> output = input; - for (int i = 0; i < output.count(); i++) { + for (int i = 0; i < output.size(); i++) { Diff diff = output[i]; if (diff.command != Diff::Equal) { if (i > 0) { // check previous equality Diff &previousDiff = output[i - 1]; - const int previousDiffCount = previousDiff.text.count(); + const int previousDiffCount = previousDiff.text.size(); if (previousDiff.command == Diff::Equal && previousDiffCount && isWhitespace(previousDiff.text.at(previousDiffCount - 1))) { // previous diff ends with whitespace int j = 0; - while (j < diff.text.count()) { + while (j < diff.text.size()) { if (!isWhitespace(diff.text.at(j))) break; ++j; @@ -280,10 +280,10 @@ QList<Diff> Differ::moveWhitespaceIntoEqualities(const QList<Diff> &input) } } } - if (i < output.count() - 1) { // check next equality - const int diffCount = diff.text.count(); + if (i < output.size() - 1) { // check next equality + const int diffCount = diff.text.size(); Diff &nextDiff = output[i + 1]; - const int nextDiffCount = nextDiff.text.count(); + const int nextDiffCount = nextDiff.text.size(); if (nextDiff.command == Diff::Equal && nextDiffCount && (isWhitespace(nextDiff.text.at(0)) || isNewLine(nextDiff.text.at(0)))) { @@ -331,7 +331,7 @@ static QString encodeReducedWhitespace(const QString &input, int inputIndex = 0; int outputIndex = 0; - while (inputIndex < input.count()) { + while (inputIndex < input.size()) { QChar c = input.at(inputIndex); if (isWhitespace(c)) { @@ -339,7 +339,7 @@ static QString encodeReducedWhitespace(const QString &input, codeMap->insert(outputIndex, QString(c)); ++inputIndex; - while (inputIndex < input.count()) { + while (inputIndex < input.size()) { QChar reducedChar = input.at(inputIndex); if (!isWhitespace(reducedChar)) @@ -372,10 +372,10 @@ static QList<Diff> decodeReducedWhitespace(const QList<Diff> &input, auto it = codeMap.constBegin(); const auto itEnd = codeMap.constEnd(); for (Diff diff : input) { - const int diffCount = diff.text.count(); + const int diffCount = diff.text.size(); while ((it != itEnd) && (it.key() < counter + diffCount)) { const int reversePosition = diffCount + counter - it.key(); - const int updatedDiffCount = diff.text.count(); + const int updatedDiffCount = diff.text.size(); diff.text.replace(updatedDiffCount - reversePosition, 1, it.value()); ++it; } @@ -502,8 +502,8 @@ static QString encodeExpandedWhitespace(const QString &leftEquality, rightCodeMap->clear(); QString output; - const int leftCount = leftEquality.count(); - const int rightCount = rightEquality.count(); + const int leftCount = leftEquality.size(); + const int rightCount = rightEquality.size(); int leftIndex = 0; int rightIndex = 0; while (leftIndex < leftCount && rightIndex < rightCount) { @@ -534,8 +534,8 @@ static QString encodeExpandedWhitespace(const QString &leftEquality, } if (!leftWhitespaces.isEmpty() && !rightWhitespaces.isEmpty()) { - const int replacementPosition = output.count(); - const int replacementSize = qMax(leftWhitespaces.count(), rightWhitespaces.count()); + const int replacementPosition = output.size(); + const int replacementSize = qMax(leftWhitespaces.size(), rightWhitespaces.size()); const QString replacement(replacementSize, ' '); leftCodeMap->insert(replacementPosition, {replacementSize, leftWhitespaces}); rightCodeMap->insert(replacementPosition, {replacementSize, rightWhitespaces}); @@ -574,14 +574,14 @@ static QList<Diff> decodeExpandedWhitespace(const QList<Diff> &input, auto it = codeMap.constBegin(); const auto itEnd = codeMap.constEnd(); for (Diff diff : input) { - const int diffCount = diff.text.count(); + const int diffCount = diff.text.size(); while ((it != itEnd) && (it.key() < counter + diffCount)) { const int replacementSize = it.value().first; const int reversePosition = diffCount + counter - it.key(); if (reversePosition < replacementSize) return QList<Diff>(); // replacement exceeds one Diff const QString replacement = it.value().second; - const int updatedDiffCount = diff.text.count(); + const int updatedDiffCount = diff.text.size(); diff.text.replace(updatedDiffCount - reversePosition, replacementSize, replacement); ++it; @@ -619,8 +619,8 @@ static bool diffWithWhitespaceExpandedInEqualities(const QList<Diff> &leftInput, leftOutput->clear(); rightOutput->clear(); - const int leftCount = leftInput.count(); - const int rightCount = rightInput.count(); + const int leftCount = leftInput.size(); + const int rightCount = rightInput.size(); int l = 0; int r = 0; @@ -649,10 +649,10 @@ static bool diffWithWhitespaceExpandedInEqualities(const QList<Diff> &leftInput, // join code map positions with common maps for (auto it = leftCodeMap.cbegin(), end = leftCodeMap.cend(); it != end; ++it) - commonLeftCodeMap.insert(leftText.count() + it.key(), it.value()); + commonLeftCodeMap.insert(leftText.size() + it.key(), it.value()); for (auto it = rightCodeMap.cbegin(), end = rightCodeMap.cend(); it != end; ++it) - commonRightCodeMap.insert(rightText.count() + it.key(), it.value()); + commonRightCodeMap.insert(rightText.size() + it.key(), it.value()); leftText.append(commonEquality); rightText.append(commonEquality); @@ -739,8 +739,8 @@ void Differ::ignoreWhitespaceBetweenEqualities(const QList<Diff> &leftInput, leftOutput->clear(); rightOutput->clear(); - const int leftCount = leftInput.count(); - const int rightCount = rightInput.count(); + const int leftCount = leftInput.size(); + const int rightCount = rightInput.size(); int l = 0; int r = 0; @@ -836,8 +836,8 @@ void Differ::diffBetweenEqualities(const QList<Diff> &leftInput, leftOutput->clear(); rightOutput->clear(); - const int leftCount = leftInput.count(); - const int rightCount = rightInput.count(); + const int leftCount = leftInput.size(); + const int rightCount = rightInput.size(); int l = 0; int r = 0; @@ -1000,8 +1000,8 @@ QList<Diff> Differ::preprocess1AndDiff(const QString &text1, const QString &text const int suffixCount = commonSuffix(newText1, newText2); if (suffixCount) { suffix = newText1.right(suffixCount); - newText1 = newText1.left(newText1.count() - suffixCount); - newText2 = newText2.left(newText2.count() - suffixCount); + newText1 = newText1.left(newText1.size() - suffixCount); + newText2 = newText2.left(newText2.size() - suffixCount); } QList<Diff> diffList = preprocess2AndDiff(newText1, newText2); if (prefixCount) @@ -1025,28 +1025,27 @@ QList<Diff> Differ::preprocess2AndDiff(const QString &text1, const QString &text return diffList; } - if (text1.count() != text2.count()) - { - const QString longtext = text1.count() > text2.count() ? text1 : text2; - const QString shorttext = text1.count() > text2.count() ? text2 : text1; + if (text1.size() != text2.size()) { + const QString longtext = text1.size() > text2.size() ? text1 : text2; + const QString shorttext = text1.size() > text2.size() ? text2 : text1; const int i = longtext.indexOf(shorttext); if (i != -1) { - const Diff::Command command = (text1.count() > text2.count()) + const Diff::Command command = (text1.size() > text2.size()) ? Diff::Delete : Diff::Insert; diffList.append(Diff(command, longtext.left(i))); diffList.append(Diff(Diff::Equal, shorttext)); - diffList.append(Diff(command, longtext.mid(i + shorttext.count()))); + diffList.append(Diff(command, longtext.mid(i + shorttext.size()))); return diffList; } - if (shorttext.count() == 1) { + if (shorttext.size() == 1) { diffList.append(Diff(Diff::Delete, text1)); diffList.append(Diff(Diff::Insert, text2)); return diffList; } } - if (m_currentDiffMode != Differ::CharMode && text1.count() > 80 && text2.count() > 80) + if (m_currentDiffMode != Differ::CharMode && text1.size() > 80 && text2.size() > 80) return diffNonCharMode(text1, text2); return diffMyers(text1, text2); @@ -1054,8 +1053,8 @@ QList<Diff> Differ::preprocess2AndDiff(const QString &text1, const QString &text QList<Diff> Differ::diffMyers(const QString &text1, const QString &text2) { - const int n = text1.count(); - const int m = text2.count(); + const int n = text1.size(); + const int m = text2.size(); const bool odd = (n + m) % 2; const int D = odd ? (n + m) / 2 + 1 : (n + m) / 2; const int delta = n - m; @@ -1191,12 +1190,12 @@ QList<Diff> Differ::diffNonCharMode(const QString &text1, const QString &text2) QString lastDelete; QString lastInsert; QList<Diff> newDiffList; - for (int i = 0; i <= diffList.count(); i++) { + for (int i = 0; i <= diffList.size(); i++) { if (m_future && m_future->isCanceled()) { m_currentDiffMode = diffMode; return {}; } - const Diff diffItem = i < diffList.count() + const Diff diffItem = i < diffList.size() ? diffList.at(i) : Diff(Diff::Equal); // dummy, ensure we process to the end // even when diffList doesn't end with equality @@ -1240,14 +1239,14 @@ int Differ::findSubtextEnd(const QString &text, if (m_currentDiffMode == Differ::LineMode) { int subtextEnd = text.indexOf('\n', subtextStart); if (subtextEnd == -1) - subtextEnd = text.count() - 1; + subtextEnd = text.size() - 1; return ++subtextEnd; } else if (m_currentDiffMode == Differ::WordMode) { if (!text.at(subtextStart).isLetter()) return subtextStart + 1; int i = subtextStart + 1; - const int count = text.count(); + const int count = text.size(); while (i < count && text.at(i).isLetter()) i++; return i; @@ -1262,7 +1261,7 @@ QString Differ::encode(const QString &text, int subtextStart = 0; int subtextEnd = -1; QString codes; - while (subtextEnd < text.count()) { + while (subtextEnd < text.size()) { subtextEnd = findSubtextEnd(text, subtextStart); const QString line = text.mid(subtextStart, subtextEnd - subtextStart); subtextStart = subtextEnd; @@ -1271,8 +1270,8 @@ QString Differ::encode(const QString &text, codes += QChar(static_cast<ushort>(lineToCode->value(line))); } else { lines->append(line); - lineToCode->insert(line, lines->count() - 1); - codes += QChar(static_cast<ushort>(lines->count() - 1)); + lineToCode->insert(line, lines->size() - 1); + codes += QChar(static_cast<ushort>(lines->size() - 1)); } } return codes; @@ -1283,8 +1282,8 @@ QList<Diff> Differ::merge(const QList<Diff> &diffList) QString lastDelete; QString lastInsert; QList<Diff> newDiffList; - for (int i = 0; i <= diffList.count(); i++) { - Diff diff = i < diffList.count() + for (int i = 0; i <= diffList.size(); i++) { + Diff diff = i < diffList.size() ? diffList.at(i) : Diff(Diff::Equal); // dummy, ensure we process to the end // even when diffList doesn't end with equality @@ -1314,8 +1313,8 @@ QList<Diff> Differ::merge(const QList<Diff> &diffList) const int suffixCount = commonSuffix(lastDelete, lastInsert); if (suffixCount) { const QString suffix = lastDelete.right(suffixCount); - lastDelete = lastDelete.left(lastDelete.count() - suffixCount); - lastInsert = lastInsert.left(lastInsert.count() - suffixCount); + lastDelete = lastDelete.left(lastDelete.size() - suffixCount); + lastInsert = lastInsert.left(lastInsert.size() - suffixCount); diff.text.prepend(suffix); } @@ -1342,7 +1341,7 @@ QList<Diff> Differ::merge(const QList<Diff> &diffList) } QList<Diff> squashedDiffList = squashEqualities(newDiffList); - if (squashedDiffList.count() != newDiffList.count()) + if (squashedDiffList.size() != newDiffList.size()) return merge(squashedDiffList); return squashedDiffList; @@ -1363,8 +1362,8 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList) int inserts = 0; // equality index, equality data QList<EqualityData> equalities; - for (int i = 0; i <= diffList.count(); i++) { - const Diff diff = i < diffList.count() + for (int i = 0; i <= diffList.size(); i++) { + const Diff diff = i < diffList.size() ? diffList.at(i) : Diff(Diff::Equal); // dummy, ensure we process to the end // even when diffList doesn't end with equality @@ -1374,10 +1373,10 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList) previousData.deletesAfter = deletes; previousData.insertsAfter = inserts; } - if (i < diffList.count()) { // don't insert dummy + if (i < diffList.size()) { // don't insert dummy EqualityData data; data.equalityIndex = i; - data.textCount = diff.text.count(); + data.textCount = diff.text.size(); data.deletesBefore = deletes; data.insertsBefore = inserts; equalities.append(data); @@ -1386,15 +1385,15 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList) } } else { if (diff.command == Diff::Delete) - deletes += diff.text.count(); + deletes += diff.text.size(); else if (diff.command == Diff::Insert) - inserts += diff.text.count(); + inserts += diff.text.size(); } } QMap<int, bool> equalitiesToBeSplit; int i = 0; - while (i < equalities.count()) { + while (i < equalities.size()) { const EqualityData &data = equalities.at(i); if (data.textCount <= qMax(data.deletesBefore, data.insertsBefore) && data.textCount <= qMax(data.deletesAfter, data.insertsAfter)) { @@ -1403,7 +1402,7 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList) previousData.deletesAfter += data.textCount + data.deletesAfter; previousData.insertsAfter += data.textCount + data.insertsAfter; } - if (i < equalities.count() - 1) { + if (i < equalities.size() - 1) { EqualityData &nextData = equalities[i + 1]; nextData.deletesBefore += data.textCount + data.deletesBefore; nextData.insertsBefore += data.textCount + data.insertsBefore; @@ -1418,7 +1417,7 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList) } QList<Diff> newDiffList; - for (int i = 0; i < diffList.count(); i++) { + for (int i = 0; i < diffList.size(); i++) { const Diff &diff = diffList.at(i); if (equalitiesToBeSplit.contains(i)) { newDiffList.append(Diff(Diff::Delete, diff.text)); @@ -1433,7 +1432,7 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList) QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList) { - if (diffList.count() < 3) // we need at least 3 items + if (diffList.size() < 3) // we need at least 3 items return diffList; QList<Diff> newDiffList; @@ -1441,7 +1440,7 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList) Diff thisDiff = diffList.at(1); Diff nextDiff = diffList.at(2); int i = 2; - while (i < diffList.count()) { + while (i < diffList.size()) { if (prevDiff.command == Diff::Equal && nextDiff.command == Diff::Equal) { @@ -1453,9 +1452,9 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList) // Shift the edit as far left as possible const int suffixCount = commonSuffix(equality1, edit); if (suffixCount) { - const QString commonString = edit.mid(edit.count() - suffixCount); - equality1 = equality1.left(equality1.count() - suffixCount); - edit = commonString + edit.left(edit.count() - suffixCount); + const QString commonString = edit.mid(edit.size() - suffixCount); + equality1 = equality1.left(equality1.size() - suffixCount); + edit = commonString + edit.left(edit.size() - suffixCount); equality2 = commonString + equality2; } @@ -1488,7 +1487,7 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList) newDiffList.append(prevDiff); // append modified equality1 if (bestEquality2.isEmpty()) { i++; - if (i < diffList.count()) + if (i < diffList.size()) nextDiff = diffList.at(i); // omit equality2 } } else { @@ -1497,11 +1496,11 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList) prevDiff = thisDiff; thisDiff = nextDiff; i++; - if (i < diffList.count()) + if (i < diffList.size()) nextDiff = diffList.at(i); } newDiffList.append(prevDiff); - if (i == diffList.count()) + if (i == diffList.size()) newDiffList.append(thisDiff); return newDiffList; } diff --git a/src/libs/utils/executeondestruction.h b/src/libs/utils/executeondestruction.h deleted file mode 100644 index 82832afb9a9..00000000000 --- a/src/libs/utils/executeondestruction.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#pragma once - -#include <functional> - -namespace Utils { - -class ExecuteOnDestruction -{ -public: - ExecuteOnDestruction() noexcept : destructionCode([] {}) {} - ExecuteOnDestruction(std::function<void()> code) : destructionCode(std::move(code)) {} - ~ExecuteOnDestruction() { if (destructionCode) destructionCode(); } - - void reset(std::function<void()> code) { destructionCode = std::move(code); } - -private: - std::function<void()> destructionCode; -}; - -} // Utils diff --git a/src/libs/utils/filenamevalidatinglineedit.cpp b/src/libs/utils/filenamevalidatinglineedit.cpp index 5602e72d1a1..47721b23120 100644 --- a/src/libs/utils/filenamevalidatinglineedit.cpp +++ b/src/libs/utils/filenamevalidatinglineedit.cpp @@ -151,12 +151,12 @@ bool FileNameValidatingLineEdit::validateFileNameExtension(const QString &fileNa if (!requiredExtensions.isEmpty()) { for (const QString &requiredExtension : requiredExtensions) { QString extension = QLatin1Char('.') + requiredExtension; - if (fileName.endsWith(extension, Qt::CaseSensitive) && extension.count() < fileName.count()) + if (fileName.endsWith(extension, Qt::CaseSensitive) && extension.size() < fileName.size()) return true; } if (errorMessage) { - if (requiredExtensions.count() == 1) + if (requiredExtensions.size() == 1) *errorMessage = Tr::tr("File extension %1 is required:").arg(requiredExtensions.first()); else *errorMessage = Tr::tr("File extensions %1 are required:").arg(requiredExtensions.join(QLatin1String(", "))); diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index 2cecc2810b9..0c6a321c714 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -133,7 +133,7 @@ bool FileSaverBase::write(const QByteArray &bytes) { if (m_hasError) return false; - return setResult(m_file->write(bytes) == bytes.count()); + return setResult(m_file->write(bytes) == bytes.size()); } bool FileSaverBase::setResult(bool ok) diff --git a/src/libs/utils/highlightingitemdelegate.cpp b/src/libs/utils/highlightingitemdelegate.cpp index a8b144dbdb3..22d55e23bf0 100644 --- a/src/libs/utils/highlightingitemdelegate.cpp +++ b/src/libs/utils/highlightingitemdelegate.cpp @@ -201,7 +201,7 @@ void HighlightingItemDelegate::drawText(QPainter *painter, static QString replaceNewLine(QString text) { static const QChar nl = '\n'; - for (int i = 0; i < text.count(); ++i) + for (int i = 0; i < text.size(); ++i) if (text.at(i) == nl) text[i] = QChar::LineSeparator; return text; diff --git a/src/libs/utils/macroexpander.cpp b/src/libs/utils/macroexpander.cpp index 4dc18b23f6b..3ab7d92e9a6 100644 --- a/src/libs/utils/macroexpander.cpp +++ b/src/libs/utils/macroexpander.cpp @@ -77,7 +77,7 @@ public: MacroExpander::PrefixFunction pf = it.value(); if (found) *found = true; - return pf(QString::fromUtf8(variable.mid(it.key().count()))); + return pf(QString::fromUtf8(variable.mid(it.key().size()))); } } if (found) diff --git a/src/libs/utils/networkaccessmanager.cpp b/src/libs/utils/networkaccessmanager.cpp index 53de288fabb..81ca77379e9 100644 --- a/src/libs/utils/networkaccessmanager.cpp +++ b/src/libs/utils/networkaccessmanager.cpp @@ -4,13 +4,9 @@ #include "networkaccessmanager.h" #include <QCoreApplication> -#include <QLibraryInfo> #include <QLocale> #include <QNetworkReply> - -#ifdef Q_OS_UNIX -#include <sys/utsname.h> -#endif +#include <QSysInfo> /*! \class Utils::NetworkAccessManager @@ -75,5 +71,4 @@ QNetworkReply* NetworkAccessManager::createRequest(Operation op, const QNetworkR return QNetworkAccessManager::createRequest(op, req, outgoingData); } - } // namespace utils diff --git a/src/libs/utils/networkaccessmanager.h b/src/libs/utils/networkaccessmanager.h index bd6987474c9..725757c2fe6 100644 --- a/src/libs/utils/networkaccessmanager.h +++ b/src/libs/utils/networkaccessmanager.h @@ -7,10 +7,6 @@ #include <QNetworkAccessManager> -QT_BEGIN_NAMESPACE -class QUrl; -QT_END_NAMESPACE - namespace Utils { class QTCREATOR_UTILS_EXPORT NetworkAccessManager : public QNetworkAccessManager diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp index 2bcdffb5864..f8b3d8cec79 100644 --- a/src/libs/utils/outputformatter.cpp +++ b/src/libs/utils/outputformatter.cpp @@ -449,7 +449,7 @@ void OutputFormatter::append(const QString &text, const QTextCharFormat &format) d->cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::KeepAnchor); startPos = crPos + 1; } - if (startPos < text.count()) + if (startPos < text.size()) d->cursor.insertText(text.mid(startPos), format); } diff --git a/src/libs/utils/process.cpp b/src/libs/utils/process.cpp index 85d3fa54ed0..970b0b4a296 100644 --- a/src/libs/utils/process.cpp +++ b/src/libs/utils/process.cpp @@ -66,7 +66,7 @@ public: return std::invoke(std::forward<Function>(function), std::forward<Args>(args)...); QElapsedTimer timer; timer.start(); - auto cleanup = qScopeGuard([this, &timer] { + const QScopeGuard cleanup([this, &timer] { const qint64 currentNsecs = timer.nsecsElapsed(); const bool mainThread = isMainThread(); const int hitThisAll = m_hitThisAll.fetch_add(1) + 1; @@ -134,7 +134,7 @@ private: } static QString formatField(int number, int fieldWidth, const QString &suffix = {}) { - return QString("%1%2").arg(number, fieldWidth - suffix.count()).arg(suffix); + return QString("%1%2").arg(number, fieldWidth - suffix.size()).arg(suffix); } static int toMs(quint64 nsesc) // nanoseconds to miliseconds diff --git a/src/libs/utils/projectintropage.cpp b/src/libs/utils/projectintropage.cpp index dba9a801e4b..0b1a0a63557 100644 --- a/src/libs/utils/projectintropage.cpp +++ b/src/libs/utils/projectintropage.cpp @@ -303,7 +303,7 @@ bool ProjectIntroPage::validateProjectName(const QString &name, QString *errorMe // if pos is set by validate it is cought at the bottom where it shows // a more detailed error message - if (validatorState != QValidator::Acceptable && (pos == -1 || pos >= name.count())) { + if (validatorState != QValidator::Acceptable && (pos == -1 || pos >= name.size())) { if (errorMessage) { if (d->m_projectNameValidatorUserMessage.isEmpty()) *errorMessage = Tr::tr("Project name is invalid."); diff --git a/src/libs/utils/templateengine.cpp b/src/libs/utils/templateengine.cpp index e5636960dea..a917ea27cb8 100644 --- a/src/libs/utils/templateengine.cpp +++ b/src/libs/utils/templateengine.cpp @@ -235,9 +235,9 @@ QString TemplateEngine::processText(MacroExpander *expander, const QString &inpu // Expand \n, \t and handle line continuation: QString result; - result.reserve(out.count()); + result.reserve(out.size()); bool isEscaped = false; - for (int i = 0; i < out.count(); ++i) { + for (int i = 0; i < out.size(); ++i) { const QChar c = out.at(i); if (isEscaped) { diff --git a/src/libs/utils/terminalcommand.cpp b/src/libs/utils/terminalcommand.cpp index 102fc42e05d..bb1492515f3 100644 --- a/src/libs/utils/terminalcommand.cpp +++ b/src/libs/utils/terminalcommand.cpp @@ -112,7 +112,14 @@ const char kTerminalExecuteOptionsKey[] = "General/Terminal/ExecuteOptions"; TerminalCommand TerminalCommand::terminalEmulator() { if (s_settings && HostOsInfo::isAnyUnixHost() && s_settings->contains(kTerminalCommandKey)) { - return {FilePath::fromSettings(s_settings->value(kTerminalCommandKey)), + FilePath command = FilePath::fromSettings(s_settings->value(kTerminalCommandKey)); + + // TODO Remove some time after Qt Creator 11 + // Work around Qt Creator <= 10 writing the default terminal to the settings. + if (HostOsInfo::isMacHost() && command.endsWith("openTerminal.py")) + command = FilePath::fromString("Terminal.app"); + + return {command, s_settings->value(kTerminalOpenOptionsKey).toString(), s_settings->value(kTerminalExecuteOptionsKey).toString()}; } diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index df23fc3ba24..d117b7057cb 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -109,7 +109,6 @@ Project { "environmentmodel.h", "execmenu.cpp", "execmenu.h", - "executeondestruction.h", "externalterminalprocessimpl.cpp", "externalterminalprocessimpl.h", "fadingindicator.cpp", |