diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp index e92b6a9a51b..6a89d713ce7 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp @@ -25,6 +25,8 @@ #include "layoutnodeinstance.h" +#include + namespace QmlDesigner { namespace Internal { diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 857a016a5ea..102e3851d04 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -28,6 +28,7 @@ #include #include +#include #include #include #include diff --git a/src/plugins/debugger/analyzer/analyzermanager.h b/src/plugins/debugger/analyzer/analyzermanager.h index 3bddc13dd61..cafcbf76613 100644 --- a/src/plugins/debugger/analyzer/analyzermanager.h +++ b/src/plugins/debugger/analyzer/analyzermanager.h @@ -63,6 +63,7 @@ DEBUGGER_EXPORT void showCannotStartDialog(const QString &toolName); // Register a tool for a given start mode. DEBUGGER_EXPORT void registerPerspective(const QByteArray &perspectiveId, const Utils::Perspective *perspective); +DEBUGGER_EXPORT void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enable); DEBUGGER_EXPORT void registerToolbar(const QByteArray &perspectiveId, const Utils::ToolbarDescription &desc); DEBUGGER_EXPORT void enableMainWindow(bool on); diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index 870ab8c38b5..343f5f63700 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -50,6 +50,7 @@ #include #include #include +#include #include using namespace Debugger; @@ -142,6 +143,16 @@ void DebuggerMainWindow::onModeChanged(Core::Id mode) } } +void DebuggerMainWindow::setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled) +{ + const int index = m_perspectiveChooser->findData(perspectiveId); + QTC_ASSERT(index != -1, return); + auto model = qobject_cast(m_perspectiveChooser->model()); + QTC_ASSERT(model, return); + QStandardItem *item = model->item(index, 0); + item->setFlags(enabled ? item->flags() | Qt::ItemIsEnabled : item->flags() & ~Qt::ItemIsEnabled ); +} + void DebuggerMainWindow::resetCurrentPerspective() { loadPerspectiveHelper(m_currentPerspectiveId, false); diff --git a/src/plugins/debugger/debuggermainwindow.h b/src/plugins/debugger/debuggermainwindow.h index 52d6235f558..8710d2bff33 100644 --- a/src/plugins/debugger/debuggermainwindow.h +++ b/src/plugins/debugger/debuggermainwindow.h @@ -136,6 +136,8 @@ public: void onModeChanged(Core::Id mode); + void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled); + private: QDockWidget *registerDockWidget(const QByteArray &dockId, QWidget *widget); void loadPerspectiveHelper(const QByteArray &perspectiveId, bool fromStoredSettings = true); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 3cb7b11f019..13e04e39dc9 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -3569,6 +3569,11 @@ void registerPerspective(const QByteArray &perspectiveId, const Perspective *per dd->m_mainWindow->registerPerspective(perspectiveId, perspective); } +void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled) +{ + dd->m_mainWindow->setPerspectiveEnabled(perspectiveId, enabled); +} + void selectPerspective(const QByteArray &perspectiveId) { if (dd->m_mainWindow->currentPerspective() == perspectiveId) diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs index fe7108e8c36..c732facdf4b 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs @@ -46,6 +46,7 @@ QtcPlugin { cpp.defines: base.concat([ 'QML_BUILD_STATIC_LIB', + 'QBS_ENABLE_PROJECT_FILE_UPDATES', // TODO: Take from installed qbscore module 'QBS_INSTALL_DIR="' + (project.useExternalQbs ? FileInfo.fromWindowsSeparators(project.qbs_install_dir) diff --git a/src/plugins/qmljseditor/qmljsoutline.cpp b/src/plugins/qmljseditor/qmljsoutline.cpp index 9cd3e78eae6..435725c0b27 100644 --- a/src/plugins/qmljseditor/qmljsoutline.cpp +++ b/src/plugins/qmljseditor/qmljsoutline.cpp @@ -125,12 +125,12 @@ void QmlJSOutlineWidget::setEditor(QmlJSEditorWidget *editor) m_filterModel->setSourceModel(m_editor->qmlJsEditorDocument()->outlineModel()); m_treeView->expandAll(); - connect(m_editor->qmlJsEditorDocument()->outlineModel(), &QAbstractItemModel::modelAboutToBeReset, [this]() { - if (m_treeView && m_treeView->selectionModel()) + connect(m_editor->qmlJsEditorDocument()->outlineModel(), &QAbstractItemModel::modelAboutToBeReset, m_treeView, [this]() { + if (m_treeView->selectionModel()) m_treeView->selectionModel()->blockSignals(true); }); - connect(m_editor->qmlJsEditorDocument()->outlineModel(), &QAbstractItemModel::modelReset, [this]() { - if (m_treeView && m_treeView->selectionModel()) + connect(m_editor->qmlJsEditorDocument()->outlineModel(), &QAbstractItemModel::modelReset, m_treeView, [this]() { + if (m_treeView->selectionModel()) m_treeView->selectionModel()->blockSignals(false); });