diff options
author | Eike Ziller <eike.ziller@qt.io> | 2017-11-14 13:04:54 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2017-11-14 13:04:54 +0000 |
commit | 1cbaa97d9001c5541024f80cfb80c6035e41a50a (patch) | |
tree | 4c50ab40397d4a458e9df95c2dfcf4354d69bbb0 /src | |
parent | a846b1b6a5d26caf79be7f5eb9d836ff606c2a36 (diff) | |
parent | 2d30d3ddd68669f51bd19a0f26811ccfb3234636 (diff) | |
download | qt-creator-1cbaa97d9001c5541024f80cfb80c6035e41a50a.tar.gz |
Merge "Merge remote-tracking branch 'origin/4.5'"
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/cpptools/cpplocatorfilter.cpp | 18 | ||||
-rw-r--r-- | src/plugins/cpptools/cpplocatorfilter_test.cpp | 19 | ||||
-rw-r--r-- | src/plugins/debugger/cdb/cdbengine.cpp | 5 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.cpp | 1 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.cpp | 5 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.h | 1 | ||||
-rw-r--r-- | src/plugins/ios/iosrunner.cpp | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/targetsetuppage.cpp | 9 | ||||
-rw-r--r-- | src/plugins/qmldesigner/components/formeditor/formeditorview.cpp | 8 | ||||
-rw-r--r-- | src/plugins/qmldesigner/designmodewidget.cpp | 8 | ||||
-rw-r--r-- | src/plugins/qtsupport/baseqtversion.cpp | 7 | ||||
m--------- | src/shared/qbs | 0 |
12 files changed, 66 insertions, 16 deletions
diff --git a/src/plugins/cpptools/cpplocatorfilter.cpp b/src/plugins/cpptools/cpplocatorfilter.cpp index ba31251bf3..a2b94c2df1 100644 --- a/src/plugins/cpptools/cpplocatorfilter.cpp +++ b/src/plugins/cpptools/cpplocatorfilter.cpp @@ -73,19 +73,23 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor( QList<Core::LocatorFilterEntry> betterEntries; QList<Core::LocatorFilterEntry> bestEntries; const Qt::CaseSensitivity caseSensitivityForPrefix = caseSensitivity(entry); - bool hasColonColon = entry.contains(QLatin1String("::")); const IndexItem::ItemType wanted = matchTypes(); const QRegularExpression regexp = createRegExp(entry); if (!regexp.isValid()) return goodEntries; + const bool hasColonColon = entry.contains("::"); + const QRegularExpression shortRegexp = + hasColonColon ? createRegExp(entry.mid(entry.lastIndexOf("::") + 2)) : regexp; m_data->filterAllFiles([&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult { if (future.isCanceled()) return IndexItem::Break; const IndexItem::ItemType type = info->type(); if (type & wanted) { - QString matchString = hasColonColon ? info->scopedSymbolName() : info->symbolName(); + const QString symbolName = info->symbolName(); + QString matchString = hasColonColon ? info->scopedSymbolName() : symbolName; + int matchOffset = hasColonColon ? matchString.size() - symbolName.size() : 0; if (type == IndexItem::Function) matchString += info->symbolType(); QRegularExpressionMatch match = regexp.match(matchString); @@ -94,9 +98,15 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor( // Highlight the matched characters, therefore it may be necessary // to update the match if the displayName is different from matchString - if (matchString != filterEntry.displayName) - match = regexp.match(filterEntry.displayName); + if (matchString.midRef(matchOffset) != filterEntry.displayName) { + match = shortRegexp.match(filterEntry.displayName); + matchOffset = 0; + } filterEntry.highlightInfo = highlightInfo(match); + if (matchOffset > 0) { + for (int &start : filterEntry.highlightInfo.starts) + start -= matchOffset; + } if (matchString.startsWith(entry, caseSensitivityForPrefix)) bestEntries.append(filterEntry); diff --git a/src/plugins/cpptools/cpplocatorfilter_test.cpp b/src/plugins/cpptools/cpplocatorfilter_test.cpp index 1b309fbe8a..b5cc9041b1 100644 --- a/src/plugins/cpptools/cpplocatorfilter_test.cpp +++ b/src/plugins/cpptools/cpplocatorfilter_test.cpp @@ -231,6 +231,25 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data() << ResultData(_("myFunction(bool, int)"), _("MyNamespace (file1.cpp)")) ); + QTest::newRow("CppFunctionsFilter-WithClassPrefix") + << testFile + << cppFunctionsFilter + << _("MyClass::func") + << (QList<ResultData>() + << ResultData(_("functionDefinedInClass(bool, int)"), _("MyClass (file1.cpp)")) + << ResultData(_("functionDefinedOutSideClass(char)"), _("MyClass (file1.cpp)")) + << ResultData(_("functionDefinedInClass(bool, int)"), + _("MyNamespace::MyClass (file1.cpp)")) + << ResultData(_("functionDefinedInClass(bool, int)"), + _("<anonymous namespace>::MyClass (file1.cpp)")) + << ResultData(_("functionDefinedOutSideClass(char)"), + _("MyNamespace::MyClass (file1.cpp)")) + << ResultData(_("functionDefinedOutSideClass(char)"), + _("<anonymous namespace>::MyClass (file1.cpp)")) + << ResultData(_("functionDefinedOutSideClassAndNamespace(float)"), + _("MyNamespace::MyClass (file1.cpp)")) + ); + QTest::newRow("CppClassesFilter") << testFile << cppClassesFilter diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 38d5a759f3..4949694ecc 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -881,7 +881,10 @@ void CdbEngine::doInterruptInferior(SpecialStopMode sm) QTC_ASSERT(!m_signalOperation, notifyInferiorStopFailed(); return;); if (DebuggerRunTool *rt = runTool()) { - if (IDevice::ConstPtr device = rt->device()) + IDevice::ConstPtr device = rt->device(); + if (!device) + device = runParameters().inferior.device; + if (device) m_signalOperation = device->signalOperation(); } m_specialStopMode = sm; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 657f2f31f2..6707e00b00 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -2087,6 +2087,7 @@ RunControl *DebuggerPluginPrivate::attachToRunningProcess(Kit *kit, debugger->setAttachPid(ProcessHandle(process.pid)); debugger->setRunControlName(tr("Process %1").arg(process.pid)); debugger->setInferiorExecutable(process.exe); + debugger->setInferiorDevice(device); debugger->setStartMode(AttachExternal); debugger->setCloseMode(DetachAtClose); debugger->setContinueAfterAttach(contAfterAttach); diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index 40b92d0bac..011ab9ae89 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -437,6 +437,11 @@ void DebuggerRunTool::setInferiorEnvironment(const Utils::Environment &env) m_runParameters.inferior.environment = env; } +void DebuggerRunTool::setInferiorDevice(IDevice::ConstPtr device) +{ + m_runParameters.inferior.device = device; +} + void DebuggerRunTool::setRunControlName(const QString &name) { m_runParameters.displayName = name; diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h index 422756fb48..1795b9bf68 100644 --- a/src/plugins/debugger/debuggerruncontrol.h +++ b/src/plugins/debugger/debuggerruncontrol.h @@ -84,6 +84,7 @@ public: void setInferior(const ProjectExplorer::Runnable &runnable); void setInferiorExecutable(const QString &executable); void setInferiorEnvironment(const Utils::Environment &env); // Used by GammaRay plugin + void setInferiorDevice(ProjectExplorer::IDevice::ConstPtr device); // Used by cdbengine void setRunControlName(const QString &name); void setStartMessage(const QString &msg); void appendInferiorCommandLineArgument(const QString &arg); diff --git a/src/plugins/ios/iosrunner.cpp b/src/plugins/ios/iosrunner.cpp index 7f993865ba..e5707e664d 100644 --- a/src/plugins/ios/iosrunner.cpp +++ b/src/plugins/ios/iosrunner.cpp @@ -406,6 +406,7 @@ void IosQmlProfilerSupport::start() QTcpServer server; QTC_ASSERT(server.listen(QHostAddress::LocalHost) || server.listen(QHostAddress::LocalHostIPv6), return); + serverUrl.setScheme(urlTcpScheme()); serverUrl.setHost(server.serverAddress().toString()); Port qmlPort = m_runner->qmlServerPort(); diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp index b44cdf8194..0336d83377 100644 --- a/src/plugins/projectexplorer/targetsetuppage.cpp +++ b/src/plugins/projectexplorer/targetsetuppage.cpp @@ -317,10 +317,11 @@ void TargetSetupPage::setProjectImporter(ProjectImporter *importer) if (importer == m_importer) return; + reset(); // Reset before changing the importer! + m_importer = importer; m_importWidget->setVisible(m_importer); - reset(); setupWidgets(); } @@ -358,12 +359,12 @@ void TargetSetupPage::handleKitAddition(Kit *k) void TargetSetupPage::handleKitRemoval(Kit *k) { - if (m_importer) - m_importer->cleanupKit(k); - if (isUpdating()) return; + if (m_importer) + m_importer->cleanupKit(k); + removeWidget(k); updateVisibility(); } diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index 99dc162f18..1956dadb34 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -291,9 +291,15 @@ void FormEditorView::nodeIdChanged(const ModelNode& node, const QString &/*newId if (itemNode.isValid() && node.nodeSourceType() == ModelNode::NodeWithoutSource) { FormEditorItem *item = m_scene->itemForQmlItemNode(itemNode); - if (item) + if (item) { + if (node.isSelected()) { + m_currentTool->setItems(scene()->itemsForQmlItemNodes(toQmlItemNodeList(selectedModelNodes()))); + m_scene->update(); + } item->update(); + } } + } void FormEditorView::selectedNodesChanged(const QList<ModelNode> &selectedNodeList, diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index f89f88c64d..216ad00074 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -511,16 +511,12 @@ QWidget *DesignModeWidget::createCenterWidget() QWidget *DesignModeWidget::createCrumbleBarFrame() { - QFrame *frame = new QFrame(this); - frame->setStyleSheet("background-color: #4e4e4e;"); - frame->setFrameShape(QFrame::NoFrame); + auto *frame = new Utils::StyledBar(this); + frame->setSingleRow(false); QHBoxLayout *layout = new QHBoxLayout(frame); layout->setMargin(0); layout->setSpacing(0); - frame->setLayout(layout); layout->addWidget(m_crumbleBar->crumblePath()); - frame->setProperty("panelwidget", true); - frame->setProperty("panelwidget_singlerow", false); return frame; } diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 6f38c5deed..8c5c051199 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -486,10 +486,17 @@ QSet<Id> BaseQtVersion::availableFeatures() const return features; features.unite(versionedIds(Constants::FEATURE_QT_QUICK_PREFIX, 2, 9)); + features.unite(versionedIds(Constants::FEATURE_QT_QUICK_CONTROLS_2_PREFIX, 2, 2)); if (qtVersion().matches(5, 9)) return features; + features.unite(versionedIds(Constants::FEATURE_QT_QUICK_PREFIX, 2, 10)); + features.unite(versionedIds(Constants::FEATURE_QT_QUICK_CONTROLS_2_PREFIX, 2, 3)); + + if (qtVersion().matches(5, 10)) + return features; + return features; } diff --git a/src/shared/qbs b/src/shared/qbs -Subproject 4d4cb193e40ff0dd55b2a201ab4fc783dabe121 +Subproject 2e4d332924e17225d08ac11891828e6fefc3529 |