From 07ab73fe7f0059767e8d4f7b70fcec0fdc4811a4 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 26 Sep 2022 16:52:16 +0300 Subject: [PATCH 01/96] QmlDesigner: Disable paste option for the original material Fixes: QDS-7526 Change-Id: Ifdc220685a4881dc3a397d9148022b9be7b5032a Reviewed-by: Reviewed-by: Mahmoud Badri --- .../MaterialBrowser.qml | 12 ++++++++--- .../materialbrowser/materialbrowsermodel.cpp | 21 +++++++++++++------ .../materialbrowser/materialbrowsermodel.h | 2 ++ .../materialbrowser/materialbrowserview.cpp | 2 +- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml index 20d970e4c59..d783a9bb056 100644 --- a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml +++ b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml @@ -39,6 +39,7 @@ Item { property var currentMaterial: null property int currentMaterialIdx: 0 property var currentBundleMaterial: null + property int copiedMaterialInternalId: -1 property var matSectionsModel: [] @@ -147,15 +148,20 @@ Item { StudioControls.MenuItem { text: modelData enabled: root.currentMaterial - onTriggered: materialBrowserModel.copyMaterialProperties(root.currentMaterialIdx, modelData) + onTriggered: { + root.copiedMaterialInternalId = root.currentMaterial.materialInternalId + materialBrowserModel.copyMaterialProperties(root.currentMaterialIdx, modelData) + } } } } StudioControls.MenuItem { text: qsTr("Paste properties") - enabled: root.currentMaterial && root.currentMaterial.materialType - === materialBrowserModel.copiedMaterialType + enabled: root.currentMaterial + && root.copiedMaterialInternalId !== root.currentMaterial.materialInternalId + && root.currentMaterial.materialType === materialBrowserModel.copiedMaterialType + && materialBrowserModel.isCopiedMaterialValid() onTriggered: materialBrowserModel.pasteMaterialProperties(root.currentMaterialIdx) } diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp index b5d85a4cb8b..dd828de352e 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp @@ -348,8 +348,8 @@ void MaterialBrowserModel::duplicateMaterial(int idx) void MaterialBrowserModel::copyMaterialProperties(int idx, const QString §ion) { - ModelNode mat = m_materialList.at(idx); - QString matType = QString::fromLatin1(mat.type()); + m_copiedMaterial = m_materialList.at(idx); + QString matType = QString::fromLatin1(m_copiedMaterial.type()); if (matType.startsWith("QtQuick3D.")) matType.remove("QtQuick3D."); @@ -358,7 +358,7 @@ void MaterialBrowserModel::copyMaterialProperties(int idx, const QString §io m_allPropsCopied = section == "All"; if (m_allPropsCopied || m_propertyGroupsObj.empty()) { - m_copiedMaterialProps = mat.properties(); + m_copiedMaterialProps = m_copiedMaterial.properties(); } else { QJsonObject propsSpecObj = m_propertyGroupsObj.value(m_copiedMaterialType).toObject(); if (propsSpecObj.contains(section)) { // should always be true @@ -366,14 +366,14 @@ void MaterialBrowserModel::copyMaterialProperties(int idx, const QString §io const QJsonArray propNames = propsSpecObj.value(section).toArray(); // auto == QJsonValueConstRef after 04dc959d49e5e3 / Qt 6.4, QJsonValueRef before for (const auto &propName : propNames) - m_copiedMaterialProps.append(mat.property(propName.toString().toLatin1())); + m_copiedMaterialProps.append(m_copiedMaterial.property(propName.toString().toLatin1())); if (section == "Base") { // add QtQuick3D.Material base props as well QJsonObject propsMatObj = m_propertyGroupsObj.value("Material").toObject(); const QJsonArray propNames = propsMatObj.value("Base").toArray(); // auto == QJsonValueConstRef after 04dc959d49e5e3 / Qt 6.4, QJsonValueRef before for (const auto &propName : propNames) - m_copiedMaterialProps.append(mat.property(propName.toString().toLatin1())); + m_copiedMaterialProps.append(m_copiedMaterial.property(propName.toString().toLatin1())); } } } @@ -381,7 +381,9 @@ void MaterialBrowserModel::copyMaterialProperties(int idx, const QString §io void MaterialBrowserModel::pasteMaterialProperties(int idx) { - emit pasteMaterialPropertiesTriggered(m_materialList.at(idx), m_copiedMaterialProps, m_allPropsCopied); + ModelNode targetMat = m_materialList.at(idx); + if (targetMat.isValid() && m_copiedMaterial.isValid() && targetMat != m_copiedMaterial) + emit pasteMaterialPropertiesTriggered(targetMat, m_copiedMaterialProps, m_allPropsCopied); } void MaterialBrowserModel::deleteMaterial(int idx) @@ -418,4 +420,11 @@ void MaterialBrowserModel::openMaterialEditor() QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("MaterialEditor", true); } +// This is provided as invokable instead of property, as it is difficult to know when ModelNode +// becomes invalid. Much simpler to evaluate this on demand. +bool MaterialBrowserModel::isCopiedMaterialValid() const +{ + return m_copiedMaterial.isValid(); +} + } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h index daa39c3539e..704cdcb644a 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h @@ -92,6 +92,7 @@ public: Q_INVOKABLE void addNewMaterial(); Q_INVOKABLE void applyToSelected(qint64 internalId, bool add = false); Q_INVOKABLE void openMaterialEditor(); + Q_INVOKABLE bool isCopiedMaterialValid() const; signals: void isEmptyChanged(); @@ -118,6 +119,7 @@ private: QStringList m_defaultMaterialSections; QStringList m_principledMaterialSections; QStringList m_customMaterialSections; + ModelNode m_copiedMaterial; QList m_copiedMaterialProps; QHash m_materialIndexHash; // internalId -> index QJsonObject m_propertyGroupsObj; diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index b88c0a77d75..13f7ad211d5 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -110,7 +110,7 @@ WidgetInfo MaterialBrowserView::widgetInfo() // apply pasted properties for (const AbstractProperty &prop : props) { - if (prop.name() == "objectName") + if (prop.name() == "objectName" || !prop.isValid()) continue; if (prop.isVariantProperty()) From 79994c85040338bbe11b021d173bcda247b2991a Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Mon, 26 Sep 2022 16:29:26 +0200 Subject: [PATCH 02/96] QmlDesigner: Fix gap between extended states Fix the gap between more than 4 extended states in a row. Change-Id: I9c8435de0cba74267a23a970e0967388692f5811 Reviewed-by: Reviewed-by: Thomas Hartmann --- share/qtcreator/qmldesigner/newstateseditor/Main.qml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/share/qtcreator/qmldesigner/newstateseditor/Main.qml b/share/qtcreator/qmldesigner/newstateseditor/Main.qml index 29feb5741db..5f4cfa1ab0e 100644 --- a/share/qtcreator/qmldesigner/newstateseditor/Main.qml +++ b/share/qtcreator/qmldesigner/newstateseditor/Main.qml @@ -747,8 +747,7 @@ Rectangle { height: extendGap.portraitOneColumn ? root.innerGridSpacing : Constants.thumbnailSize + 2 * root.extend color: StudioTheme.Values.themeStateHighlight - visible: extendBackground.radius !== 0 - && extendBackground.visible + visible: extendBackground.visible } StateThumbnail { From 3b4b8aec4b6642eb71e48f0ea78f77de400196bb Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 27 Sep 2022 09:04:00 +0200 Subject: [PATCH 03/96] QmlDesigner: Adjust caption for User Added Properties Section does not have a tooltip, yet. Task-number: QDS-7765 Change-Id: I5c0254cb81094be690fc5e9a076752f95f27a482 Reviewed-by: Tim Jenssen Reviewed-by: Reviewed-by: Pranta Ghosh Dastider Reviewed-by: Brook Cronin --- .../imports/HelperWidgets/DynamicPropertiesSection.qml | 2 +- .../components/propertyeditor/propertyeditorqmlbackend.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml index fedf76bdbbe..4e2ef4b044a 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/DynamicPropertiesSection.qml @@ -35,7 +35,7 @@ Section { id: root anchors.left: parent.left anchors.right: parent.right - caption: qsTr("User Added Properties") + caption: qsTr("Local Custom Properties") property DynamicPropertiesModel propertiesModel: null diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp index c38136cdd75..da6a477e683 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp @@ -725,7 +725,7 @@ QString PropertyEditorQmlBackend::templateGeneration(const NodeMetaInfo &type, QString qmlInnerTemplate = ""; qmlInnerTemplate += "Section {\n"; - qmlInnerTemplate += "caption: \""+ QObject::tr("User Added Properties") + "\"\n"; + qmlInnerTemplate += "caption: \"" + QObject::tr("Exposed Custom Properties") + "\"\n"; qmlInnerTemplate += anchorLeftRight; qmlInnerTemplate += "leftPadding: 0\n"; qmlInnerTemplate += "rightPadding: 0\n"; From 67112a581fe0864b99e8a45ae47611d714fb20a2 Mon Sep 17 00:00:00 2001 From: Mats Honkamaa Date: Tue, 27 Sep 2022 11:25:59 +0300 Subject: [PATCH 04/96] Doc: Fix branding issue \QC rendered as Qt Design Studio in places where it should be Qt Creator. Task-number: QDS-7712 Change-Id: I16df93bbb7881c280e96aede32f5619d1228b8f5 Reviewed-by: Leena Miettinen --- .../src/components/qtquick-data-models.qdoc | 2 +- .../src/components/qtquick-images.qdoc | 2 +- .../src/components/qtquick-positioning.qdoc | 4 ++-- .../studio-designer-developer-workflow.qdoc | 9 +++++---- .../overviews/qtquick-animation-overview.qdoc | 2 +- .../qtquick-production-quality-animation.qdoc | 2 +- .../src/overviews/qtquick-prototyping.qdoc | 2 +- .../src/overviews/qtquick-uis.qdoc | 4 ++-- .../src/qtdesignstudio-developer-topics.qdoc | 2 +- doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc | 16 ++++++++-------- doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc | 2 +- .../qtdesignstudio-optimized-3d-scenes.qdoc | 4 ++-- .../src/views/qtquick-navigator.qdoc | 4 ++-- .../src/views/qtquick-properties.qdoc | 2 +- .../src/views/studio-workspaces.qdoc | 6 +++--- 15 files changed, 32 insertions(+), 31 deletions(-) diff --git a/doc/qtdesignstudio/src/components/qtquick-data-models.qdoc b/doc/qtdesignstudio/src/components/qtquick-data-models.qdoc index 98b63439247..8b2f287eb24 100644 --- a/doc/qtdesignstudio/src/components/qtquick-data-models.qdoc +++ b/doc/qtdesignstudio/src/components/qtquick-data-models.qdoc @@ -161,7 +161,7 @@ When you add a \l{GridView}{Grid View}, \l{ListView}{List View}, or \l{PathView}{Path View}, the ListModel and the delegate component that creates an instance for each item in the model are added automatically. - For grid and list views, you can edit the list model in \QC. + For grid and list views, you can edit the list model in \QDS. \image qtquick-designer-listview-preview.png "Preview of a list view" diff --git a/doc/qtdesignstudio/src/components/qtquick-images.qdoc b/doc/qtdesignstudio/src/components/qtquick-images.qdoc index 1710566467b..b590308247b 100644 --- a/doc/qtdesignstudio/src/components/qtquick-images.qdoc +++ b/doc/qtdesignstudio/src/components/qtquick-images.qdoc @@ -50,7 +50,7 @@ \image qtquick-designer-image-type.png "Image component in different views" When you drag-and-drop an image file from \uicontrol Assets to \l Navigator - or the \l {2D} view, \QC automatically + or the \l {2D} view, \QDS automatically creates an instance of the Image component for you with the path to the image file set as the value of the \uicontrol Source field in \uicontrol Properties. diff --git a/doc/qtdesignstudio/src/components/qtquick-positioning.qdoc b/doc/qtdesignstudio/src/components/qtquick-positioning.qdoc index 21b3d663ae0..35e6d48624e 100644 --- a/doc/qtdesignstudio/src/components/qtquick-positioning.qdoc +++ b/doc/qtdesignstudio/src/components/qtquick-positioning.qdoc @@ -95,7 +95,7 @@ For more information on the JavaScript environment provided, see \l{Integrating QML and JavaScript}. - Bindings are a black box for \QC and using them might have a + Bindings are a black box for \QDS and using them might have a negative impact on performance, so consider setting anchors and margins for components, instead. For example, instead of setting \c {parent.width} for a component, you could anchor the component to its sibling components on the @@ -364,7 +364,7 @@ to right and top to bottom. Each component is positioned at the top-left corner of its cell with position (0, 0). - \QC generates the grid based on the positions of the child components in + \QDS generates the grid based on the positions of the child components in the \l {2D} view. You can modify the number of rows and columns in the \uicontrol Rows and \uicontrol Columns fields. diff --git a/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc b/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc index 629642abd70..aa4fb83d016 100644 --- a/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc +++ b/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc @@ -49,7 +49,7 @@ working Qt 6 application that you can build and run in Qt Creator using CMake. Therefore, you can open, build, and run the projects with Qt Creator. - \QDS continues to use the \e .qmlproject file format, while \QC uses a + \QDS continues to use the \e .qmlproject file format, while Qt Creator uses a \e CMakeLists.txt file as the project file. This enables you to share your project as a fully working C++ application with developers. @@ -68,9 +68,10 @@ \section1 Converting Project Structure for CMake - \QDS can generate \e CMakeLists.txt and other related files to use with \QC and to compile into - an executable application but only if the project has a certain folder structure. If you have a - \QDS QML project that doesn't have the CMake configuration, follow these steps to convert it's + \QDS can generate \e CMakeLists.txt and other related files to use with + Qt Creator and to compile into an executable application but only if the + project has a certain folder structure. If you have a \QDS QML project that + doesn't have the CMake configuration, follow these steps to convert it's file structure to correct format. \list 1 diff --git a/doc/qtdesignstudio/src/overviews/qtquick-animation-overview.qdoc b/doc/qtdesignstudio/src/overviews/qtquick-animation-overview.qdoc index 8816a05a526..d78d6cf2fa3 100644 --- a/doc/qtdesignstudio/src/overviews/qtquick-animation-overview.qdoc +++ b/doc/qtdesignstudio/src/overviews/qtquick-animation-overview.qdoc @@ -68,7 +68,7 @@ \section2 Timeline and Keyframe Based Animation - Timeline animation is based on \e keyframes. In \QC, keyframes determine the + Timeline animation is based on \e keyframes. In \QDS, keyframes determine the value of the property of a \l{glossary_component}{component} at a certain time. Animating properties enables their values to move through intermediate values instead of immediately changing to the target value. diff --git a/doc/qtdesignstudio/src/overviews/qtquick-production-quality-animation.qdoc b/doc/qtdesignstudio/src/overviews/qtquick-production-quality-animation.qdoc index bfdf435cf6e..07b9bc7eb82 100644 --- a/doc/qtdesignstudio/src/overviews/qtquick-production-quality-animation.qdoc +++ b/doc/qtdesignstudio/src/overviews/qtquick-production-quality-animation.qdoc @@ -70,7 +70,7 @@ \section1 Profiling UI Code You can use \l{Profiling QML Applications}{QML Profiler} that is integrated - into \QC to find causes for typical performance problems in your UI. For + into \QDS to find causes for typical performance problems in your UI. For example, your UI might be slow, unresponsive, or stuttering. Typically, such problems are caused by executing too much JavaScript in too few frames. All JavaScript must return before the GUI thread can proceed, and frames are diff --git a/doc/qtdesignstudio/src/overviews/qtquick-prototyping.qdoc b/doc/qtdesignstudio/src/overviews/qtquick-prototyping.qdoc index 1e9c7840009..468f24048bf 100644 --- a/doc/qtdesignstudio/src/overviews/qtquick-prototyping.qdoc +++ b/doc/qtdesignstudio/src/overviews/qtquick-prototyping.qdoc @@ -95,7 +95,7 @@ \li \l {Importing 3D Assets} - You can import exported assets into \QC. For a list of formats + You can import exported assets into \QDS. For a list of formats supported by each \l{Qt Quick 3D} version, see the module documentation. diff --git a/doc/qtdesignstudio/src/overviews/qtquick-uis.qdoc b/doc/qtdesignstudio/src/overviews/qtquick-uis.qdoc index 44316cc2608..abbdbed09ec 100644 --- a/doc/qtdesignstudio/src/overviews/qtquick-uis.qdoc +++ b/doc/qtdesignstudio/src/overviews/qtquick-uis.qdoc @@ -42,14 +42,14 @@ components, and states, you need. Create a descriptive wireframe and acquire a detailed UI specification before you start to make the process of creating the UI more efficient. - \QC enables you to turn your UI concept into a wireframe with + \QDS enables you to turn your UI concept into a wireframe with a scalable layout where all your screens and controls are in place. You can present your wireframe to developers and other stakeholders for discussion, review, and approval before continuing into the prototyping phase. \endtable - In \QC, you build UIs around the behavior of \l{glossary-component} + In \QDS, you build UIs around the behavior of \l{glossary-component} {components} and how they connect with one another. You can use preset components available in the \l Components view or combine them to create your own components. You can specify values for the \e properties of a diff --git a/doc/qtdesignstudio/src/qtdesignstudio-developer-topics.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-developer-topics.qdoc index e01fdd55232..03246e8daea 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-developer-topics.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-developer-topics.qdoc @@ -48,7 +48,7 @@ \li \l{Converting UI Projects to Applications} \QDS projects are useful for creating UIs. To use them for - application development in \QC, you have to convert + application development in Qt Creator, you have to convert them to Qt Quick Application projects that contain .pro, .cpp, and .qrc files. \li \l{Using External Tools} diff --git a/doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc index 751bff64abe..00b090667bd 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc @@ -41,7 +41,7 @@ \li \l {FAQ - Assets}{Assets} \li \l {FAQ - Components}{Components} \li \l {FAQ - Views}{Views} - \li \l {FAQ - Integration Between \QDS and \QC}{Integration Between \QDS and \QC} + \li \l {FAQ - Integration Between \QDS and Qt Creator}{Integration Between \QDS and Qt Creator} \li \l {FAQ - Performance}{Performance} \li \l {FAQ - Data Simulation}{Data Simulation} \endlist @@ -89,7 +89,7 @@ \section1 FAQ - Components - \section2 Can custom components be used? + \section2 Can I use custom components? Yes, you can create custom components and controls by using wizard templates or move component instances into separate files to turn them into new @@ -103,7 +103,7 @@ For more information, see \l {Importing 3D Assets}. - \section2 How to integrate custom C++ components into QDS? + \section2 How can I integrate custom C++ components into QDS? You must create your own QML module that contains the components and provides additional information about your components. For more information, @@ -121,21 +121,21 @@ For more information, see the \l {3D} view. - \section1 FAQ - Integration Between \QDS and \QC + \section1 FAQ - Integration Between \QDS and Qt Creator - \section2 Is there a way to automatically propagate name changes between \QDS and \QC? + \section2 Can I automatically propagate name changes between \QDS and Qt Creator? Unfortunately we do not automate renaming files between tools at the moment. If you decide to change the name of a property, alias, or signal in \QDS, - you need to manually change the name in \QC to maintain the connection. + you need to manually change the name in Qt Creator to maintain the connection. However, you can rename symbols in all files within a project. To rename a QML type in a project, select \uicontrol Tools > \uicontrol QML/JS > \uicontrol {Rename Symbol Under Cursor} or press \key Ctrl+Shift+R. For more information, see \l {Renaming Symbols}. - \section2 When turning your \QDS project into application in \QC, what is the best way to add .qml files? + \section2 How can I add .qml files to my project in Qt Creator? - Use the project wizard templates to create an application in \QC and copy + Use the project wizard templates to create an application in \QDS and copy your .qml files to the project folder. Then make some changes to the project configuration and source files, as instructed in \l {Converting UI Projects to Applications}. diff --git a/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc index 1f86ab5951b..a501611d8c9 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc @@ -316,7 +316,7 @@ deploys it to the \l{glossary-device}{device} specified in the selected \l{glossary-buildandrun-kit}{kit}, and runs it there. However, if you have not made any changes to the project since you last deployed - it, \QC simply runs it again. + it, \QDS simply runs it again. \endomit */ diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-optimized-3d-scenes.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-optimized-3d-scenes.qdoc index d51feb8a38b..8f1d1367e80 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-optimized-3d-scenes.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-optimized-3d-scenes.qdoc @@ -34,7 +34,7 @@ \title Creating Optimized 3D Scenes - In \QC, you can use various means to create a 3D scene. Your choice of + In \QDS, you can use various means to create a 3D scene. Your choice of strategy should always depend on the target platform of your scene. The way the content of your scene is authored can have dramatic effects on the runtime performance of your UI. The Optimal 3D Scene described @@ -110,7 +110,7 @@ The scene graph is the hierarchy of nodes that describe the scene to be rendered. - In \QC, the scene graph is represented by the tree-like view in + In \QDS, the scene graph is represented by the tree-like view in \uicontrol Navigator. You can also view the hierarchy of nodes in the \l {Code} view. By minimizing the size of the scene graph, you can minimize the effort needed when running the scene. In terms of diff --git a/doc/qtdesignstudio/src/views/qtquick-navigator.qdoc b/doc/qtdesignstudio/src/views/qtquick-navigator.qdoc index 4b0845be5c3..c2e40b729a0 100644 --- a/doc/qtdesignstudio/src/views/qtquick-navigator.qdoc +++ b/doc/qtdesignstudio/src/views/qtquick-navigator.qdoc @@ -129,7 +129,7 @@ \section1 Locking Components When designing complex applications, it is easy to accidentally modify - the properties of a component in one of the \QC views in ways that lead to + the properties of a component in one of the \QDS views in ways that lead to surprising results. For example, the \uicontrol {2D} view can become crowded and other components can get in the way when you are trying to select or transform a particular component, so that you end up transforming @@ -137,7 +137,7 @@ To lock components that you are not currently editing and their children, click \inlineimage icons/lockon.png - in \uicontrol Navigator. Locked components cannot be handled in any \QC + in \uicontrol Navigator. Locked components cannot be handled in any \QDS views. You can unlock the components when you want to edit them again. \image qtquick-designer-navigator-lock.gif "Locking components in Navigator" diff --git a/doc/qtdesignstudio/src/views/qtquick-properties.qdoc b/doc/qtdesignstudio/src/views/qtquick-properties.qdoc index c7599ffa7d6..a80201ea3ad 100644 --- a/doc/qtdesignstudio/src/views/qtquick-properties.qdoc +++ b/doc/qtdesignstudio/src/views/qtquick-properties.qdoc @@ -51,7 +51,7 @@ another preset component in the field. If you have specified values for properties that are not supported by the - new component type, \QC offers to remove them for you. If you'd rather do + new component type, \QDS offers to remove them for you. If you'd rather do this yourself, you can select the \inlineimage icons/action-icon.png (\uicontrol Actions) menu next to the property name, and then select \uicontrol Reset to remove the property values before trying again. diff --git a/doc/qtdesignstudio/src/views/studio-workspaces.qdoc b/doc/qtdesignstudio/src/views/studio-workspaces.qdoc index 444aca6b81d..420b4b601ae 100644 --- a/doc/qtdesignstudio/src/views/studio-workspaces.qdoc +++ b/doc/qtdesignstudio/src/views/studio-workspaces.qdoc @@ -30,7 +30,7 @@ \title Managing Workspaces - In the \uicontrol Design mode, you can arrange a set of \QC + In the \uicontrol Design mode, you can arrange a set of \QDS views as a \e workspace on the screen. To detach views: @@ -56,10 +56,10 @@ \section1 Saving Workspaces - The changes you make to a workspace are saved when you exit \QC. + The changes you make to a workspace are saved when you exit \QDS. Select \uicontrol View > \uicontrol Workspaces > \uicontrol Manage > \uicontrol {Restore last workspace on startup} - to restore the current workspace the next time you start \QC. + to restore the current workspace the next time you start \QDS. \image qtcreator-workspace-manager.png "Workspace Manager" From 4adb4911e6e5f22bb4d3de09e24410205aaf8e2a Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Mon, 12 Sep 2022 19:57:31 +0200 Subject: [PATCH 05/96] qds: fix crash when the view is gone found at: https://sentry.io/organizations/the-qt-company-00/issues/3571989716 Change-Id: I61faa33716b1f6f3e0cc04cd4871cba354ecec28 Reviewed-by: Tim Jenssen --- .../qmldesigner/components/propertyeditor/gradientmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp index 4c2bd68c98a..6dc40a183d2 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp @@ -468,7 +468,7 @@ QmlDesigner::AbstractView *GradientModel::view() const void GradientModel::resetPuppet() { - QTimer::singleShot(1000, [this]() { view()->resetPuppet(); }); + QTimer::singleShot(1000, view(), &QmlDesigner::AbstractView::resetPuppet); } QmlDesigner::ModelNode GradientModel::createGradientNode() From 76d55de400ca753793db00ac9089122c20b83ee6 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 28 Sep 2022 13:07:17 +0200 Subject: [PATCH 06/96] QmlDesigner: Fix crash Do not call validId in updateContext. Calling validId does mutate the model and will set an id if none exists. Since updateContext is called on selection change the user does not expect the model to mutate and when switching/creating documents this could even lead to a crash. Instead, we give the created MosueArea always an id and disable the menu in case there is no id. Task-number: QDS-7806 Change-Id: I3d5d1ce41025d94db3cfff48f483366e56b58a32 Reviewed-by: Mahmoud Badri Reviewed-by: Thomas Hartmann --- .../componentcore/designeractionmanager.cpp | 12 +++++++++++- .../components/componentcore/modelnodeoperations.cpp | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp index 71451396be2..0edb5487709 100644 --- a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp +++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp @@ -595,6 +595,8 @@ public: { menu()->clear(); + menu()->setEnabled(true); + const auto selection = selectionContext(); if (!selection.isValid()) return; @@ -604,11 +606,19 @@ public: return; ModelNode currentNode = selection.currentSingleSelectedNode(); + + if (!currentNode.isValid()) + return; + QmlObjectNode currentObjectNode(currentNode); QStringList signalsList = getSignalsList(currentNode); QList slotsList = getSlotsLists(currentNode); - currentNode.validId(); + + if (!currentNode.hasId()) { + menu()->setEnabled(false); + return; + } for (const ModelNode &connectionNode : currentObjectNode.getAllConnections()) { for (const AbstractProperty &property : connectionNode.properties()) { diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp index 331922ca222..0d5a10fb105 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp @@ -1638,6 +1638,7 @@ void addMouseAreaFill(const SelectionContext &selectionContext) QmlDesigner::ModelNode mouseAreaNode = selectionContext.view()->createModelNode("QtQuick.MouseArea", itemMetaInfo.majorVersion(), itemMetaInfo.minorVersion()); + mouseAreaNode.validId(); modelNode.defaultNodeListProperty().reparentHere(mouseAreaNode); QmlItemNode mouseAreaItemNode(mouseAreaNode); From e8ebd8e49742f71190ed34e4bea2817e1f4bad2c Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Wed, 28 Sep 2022 14:53:50 +0300 Subject: [PATCH 07/96] QmlDesigner: Fix material drag glitch on Mac Fixes: QDS-7461 Change-Id: I5b29742e7f27cbf14e689fd4b440480ebb1e6792 Reviewed-by: Miikka Heikkinen --- .../components/materialbrowser/materialbrowserwidget.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp index 1bdfbdd58eb..9b91254f0f8 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp @@ -141,6 +141,9 @@ bool MaterialBrowserWidget::eventFilter(QObject *obj, QEvent *event) m_bundleMaterialToDrag = {}; } } + } else if (event->type() == QMouseEvent::MouseButtonRelease) { + m_materialToDrag = {}; + m_bundleMaterialToDrag = {}; } return QObject::eventFilter(obj, event); From 0f49728c329a4bbf575a36b0b18e169dc4c82ac0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4=C3=A4tt=C3=A4?= Date: Mon, 19 Sep 2022 15:34:52 +0300 Subject: [PATCH 08/96] Fix backward compatibility issue with QmlProfiler Previous implementation uses MaxMessage and MaxRangeType constants to specify events with undefined message or range type. This causes backwards compatibility issue if new message or range types are added, because those constants are also written to files when saving profiler traces. Add UndefinedMessage and UndefinedRangeType constants and use those instead of the MaxMessage and MaxRangeType constants. This doesn't fix opening old traces, but the same problem won't happend again with new traces. Also update profiler autotests with fixed data. Task-number: QTCREATORBUG-28146 Change-Id: Ief003d39f871dd1ff2cc908e6a4d4b4678fd0868 Reviewed-by: Ulf Hermann Reviewed-by: --- .../qmlprofiler/debugmessagesmodel.cpp | 2 +- src/plugins/qmlprofiler/inputeventsmodel.cpp | 2 +- src/plugins/qmlprofiler/memoryusagemodel.cpp | 4 +-- src/plugins/qmlprofiler/pixmapcachemodel.cpp | 2 +- src/plugins/qmlprofiler/qmleventtype.h | 2 +- .../qmlprofileranimationsmodel.cpp | 2 +- .../qmlprofiler/qmlprofilereventtypes.h | 6 ++-- .../qmlprofiler/qmlprofilermodelmanager.cpp | 4 +-- .../qmlprofiler/qmlprofilerrangemodel.cpp | 2 +- .../qmlprofiler/qmlprofilertraceclient.cpp | 4 +-- .../qmlprofiler/qmlprofilertracefile.cpp | 14 ++++----- src/plugins/qmlprofiler/qmltypedevent.cpp | 28 +++++++++--------- src/plugins/qmlprofiler/quick3dmodel.cpp | 2 +- .../qmlprofiler/scenegraphtimelinemodel.cpp | 2 +- src/plugins/qmlprofiler/tests/check.dat | Bin 56639 -> 36752 bytes .../tests/debugmessagesmodel_test.cpp | 2 +- .../tests/flamegraphmodel_test.cpp | 2 +- .../tests/inputeventsmodel_test.cpp | 4 +-- .../tests/memoryusagemodel_test.cpp | 8 ++--- .../tests/pixmapcachemodel_test.cpp | 4 +-- .../qmlprofiler/tests/qmleventtype_test.cpp | 14 ++++----- .../tests/qmlprofileranimationsmodel_test.cpp | 2 +- ...qmlprofilerbindingloopsrenderpass_test.cpp | 2 +- .../tests/qmlprofilertraceclient_test.cpp | 4 +-- 24 files changed, 60 insertions(+), 58 deletions(-) diff --git a/src/plugins/qmlprofiler/debugmessagesmodel.cpp b/src/plugins/qmlprofiler/debugmessagesmodel.cpp index 1509c95c9d0..751a52e0115 100644 --- a/src/plugins/qmlprofiler/debugmessagesmodel.cpp +++ b/src/plugins/qmlprofiler/debugmessagesmodel.cpp @@ -32,7 +32,7 @@ namespace Internal { DebugMessagesModel::DebugMessagesModel(QmlProfilerModelManager *manager, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, DebugMessage, MaximumRangeType, ProfileDebugMessages, parent), + QmlProfilerTimelineModel(manager, DebugMessage, UndefinedRangeType, ProfileDebugMessages, parent), m_maximumMsgType(-1) { } diff --git a/src/plugins/qmlprofiler/inputeventsmodel.cpp b/src/plugins/qmlprofiler/inputeventsmodel.cpp index 5e2b7cb7652..088a9acdcb4 100644 --- a/src/plugins/qmlprofiler/inputeventsmodel.cpp +++ b/src/plugins/qmlprofiler/inputeventsmodel.cpp @@ -38,7 +38,7 @@ namespace Internal { InputEventsModel::InputEventsModel(QmlProfilerModelManager *manager, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, Event, MaximumRangeType, ProfileInputEvents, parent), + QmlProfilerTimelineModel(manager, Event, UndefinedRangeType, ProfileInputEvents, parent), m_keyTypeId(-1), m_mouseTypeId(-1) { } diff --git a/src/plugins/qmlprofiler/memoryusagemodel.cpp b/src/plugins/qmlprofiler/memoryusagemodel.cpp index 86620ed6d0d..dc239951dd8 100644 --- a/src/plugins/qmlprofiler/memoryusagemodel.cpp +++ b/src/plugins/qmlprofiler/memoryusagemodel.cpp @@ -34,7 +34,7 @@ namespace Internal { MemoryUsageModel::MemoryUsageModel(QmlProfilerModelManager *manager, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, MemoryAllocation, MaximumRangeType, ProfileMemory, parent) + QmlProfilerTimelineModel(manager, MemoryAllocation, UndefinedRangeType, ProfileMemory, parent) { // Register additional features. The base class already registers the main feature. // Don't register initializer, finalizer, or clearer as the base class has done so already. @@ -142,7 +142,7 @@ QVariantMap MemoryUsageModel::details(int index) const void MemoryUsageModel::loadEvent(const QmlEvent &event, const QmlEventType &type) { if (type.message() != MemoryAllocation) { - if (type.rangeType() != MaximumRangeType) { + if (type.rangeType() != UndefinedRangeType) { m_continuation = ContinueNothing; if (event.rangeStage() == RangeStart) m_rangeStack.push(RangeStackFrame(event.typeIndex(), event.timestamp())); diff --git a/src/plugins/qmlprofiler/pixmapcachemodel.cpp b/src/plugins/qmlprofiler/pixmapcachemodel.cpp index 5006ef31dfa..0bf214b9465 100644 --- a/src/plugins/qmlprofiler/pixmapcachemodel.cpp +++ b/src/plugins/qmlprofiler/pixmapcachemodel.cpp @@ -34,7 +34,7 @@ namespace Internal { PixmapCacheModel::PixmapCacheModel(QmlProfilerModelManager *manager, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, PixmapCacheEvent, MaximumRangeType, ProfilePixmapCache, + QmlProfilerTimelineModel(manager, PixmapCacheEvent, UndefinedRangeType, ProfilePixmapCache, parent) { } diff --git a/src/plugins/qmlprofiler/qmleventtype.h b/src/plugins/qmlprofiler/qmleventtype.h index 9eb9954075d..49f9012c171 100644 --- a/src/plugins/qmlprofiler/qmleventtype.h +++ b/src/plugins/qmlprofiler/qmleventtype.h @@ -39,7 +39,7 @@ class QmlEventType : public Timeline::TraceEventType { public: static const qint32 staticClassId = 0x716d6c74; // 'qmlt'; - QmlEventType(Message message = MaximumMessage, RangeType rangeType = MaximumRangeType, + QmlEventType(Message message = UndefinedMessage, RangeType rangeType = UndefinedRangeType, int detailType = -1, const QmlEventLocation &location = QmlEventLocation(), const QString &data = QString(), const QString &displayName = QString()); diff --git a/src/plugins/qmlprofiler/qmlprofileranimationsmodel.cpp b/src/plugins/qmlprofiler/qmlprofileranimationsmodel.cpp index bec3496a15d..32d40e0a100 100644 --- a/src/plugins/qmlprofiler/qmlprofileranimationsmodel.cpp +++ b/src/plugins/qmlprofiler/qmlprofileranimationsmodel.cpp @@ -42,7 +42,7 @@ namespace Internal { QmlProfilerAnimationsModel::QmlProfilerAnimationsModel(QmlProfilerModelManager *manager, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, Event, MaximumRangeType, ProfileAnimations, parent) + QmlProfilerTimelineModel(manager, Event, UndefinedRangeType, ProfileAnimations, parent) { m_minNextStartTimes[0] = m_minNextStartTimes[1] = 0; } diff --git a/src/plugins/qmlprofiler/qmlprofilereventtypes.h b/src/plugins/qmlprofiler/qmlprofilereventtypes.h index 0c4d92c07ab..b8bc25e5e99 100644 --- a/src/plugins/qmlprofiler/qmlprofilereventtypes.h +++ b/src/plugins/qmlprofiler/qmlprofilereventtypes.h @@ -30,7 +30,8 @@ namespace QmlProfiler { enum Message { - Event, + UndefinedMessage = 0xff, + Event = 0, RangeStart, RangeData, RangeLocation, @@ -72,7 +73,8 @@ enum Quick3DEventType { }; enum RangeType { - Painting, // old Qt4 paint events + UndefinedRangeType = 0xff, + Painting = 0, // old Qt4 paint events Compiling, Creating, Binding, diff --git a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp index a17de09d2dc..72e207847f8 100644 --- a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp +++ b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp @@ -393,7 +393,7 @@ QmlProfilerModelManager::rangeFilter(qint64 rangeStart, qint64 rangeEnd) const // Double-check if rangeStart has been crossed. Some versions of Qt send dirty data. qint64 adjustedTimestamp = event.timestamp(); if (event.timestamp() < rangeStart && !crossedRangeStart) { - if (type.rangeType() != MaximumRangeType) { + if (type.rangeType() != UndefinedRangeType) { if (event.rangeStage() == RangeStart) stack.push(event); else if (event.rangeStage() == RangeEnd && !stack.isEmpty()) @@ -414,7 +414,7 @@ QmlProfilerModelManager::rangeFilter(qint64 rangeStart, qint64 rangeEnd) const crossedRangeStart = true; } if (event.timestamp() > rangeEnd) { - if (type.rangeType() != MaximumRangeType) { + if (type.rangeType() != UndefinedRangeType) { if (event.rangeStage() == RangeEnd) { if (stack.isEmpty()) { QmlEvent endEvent(event); diff --git a/src/plugins/qmlprofiler/qmlprofilerrangemodel.cpp b/src/plugins/qmlprofiler/qmlprofilerrangemodel.cpp index 50c461ef1c8..f0ac6aab92a 100644 --- a/src/plugins/qmlprofiler/qmlprofilerrangemodel.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerrangemodel.cpp @@ -44,7 +44,7 @@ namespace Internal { QmlProfilerRangeModel::QmlProfilerRangeModel(QmlProfilerModelManager *manager, RangeType range, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, MaximumMessage, range, featureFromRangeType(range), parent) + QmlProfilerTimelineModel(manager, UndefinedMessage, range, featureFromRangeType(range), parent) { m_expandedRowTypes << -1; } diff --git a/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp b/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp index 8dcd41cbb4f..a7e01208c0e 100644 --- a/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp @@ -170,7 +170,7 @@ void QmlProfilerTraceClientPrivate::processCurrentEvent() // all ranges are perfectly nested. This is why we can defer the type resolution until either // the range ends or a child range starts. With only the information in RangeStart we wouldn't // be able to uniquely identify the event type. - Message rangeStage = currentEvent.type.rangeType() == MaximumRangeType ? + Message rangeStage = currentEvent.type.rangeType() == UndefinedRangeType ? currentEvent.type.message() : currentEvent.event.rangeStage(); switch (rangeStage) { case RangeStart: @@ -333,7 +333,7 @@ void QmlProfilerTraceClient::setRequestedFeatures(quint64 features) d->currentEvent.event.setTimestamp(context.timestamp > 0 ? context.timestamp : 0); d->currentEvent.event.setTypeIndex(-1); d->currentEvent.event.setString(text); - d->currentEvent.type = QmlEventType(DebugMessage, MaximumRangeType, type, + d->currentEvent.type = QmlEventType(DebugMessage, UndefinedRangeType, type, QmlEventLocation(context.file, context.line, 1)); d->currentEvent.serverTypeId = 0; d->processCurrentEvent(); diff --git a/src/plugins/qmlprofiler/qmlprofilertracefile.cpp b/src/plugins/qmlprofiler/qmlprofilertracefile.cpp index 7d5ecfaa25f..d9fe42d7ef1 100644 --- a/src/plugins/qmlprofiler/qmlprofilertracefile.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertracefile.cpp @@ -80,7 +80,7 @@ Q_STATIC_ASSERT(sizeof(MESSAGE_STRINGS) == MaximumMessage * sizeof(const char *) static QPair qmlTypeAsEnum(const QString &typeString) { - QPair ret(MaximumMessage, MaximumRangeType); + QPair ret(UndefinedMessage, UndefinedRangeType); for (int i = 0; i < MaximumMessage; ++i) { if (typeString == _(MESSAGE_STRINGS[i])) { @@ -96,7 +96,7 @@ static QPair qmlTypeAsEnum(const QString &typeString) } } - if (ret.first == MaximumMessage && ret.second == MaximumRangeType) { + if (ret.first == UndefinedMessage && ret.second == UndefinedRangeType) { bool isNumber = false; int type = typeString.toUInt(&isNumber); if (isNumber && type < MaximumRangeType) @@ -309,7 +309,7 @@ void QmlProfilerTraceFile::loadEventTypes(QXmlStreamReader &stream) int typeIndex = -1; - QPair messageAndRange(MaximumMessage, MaximumRangeType); + QPair messageAndRange(UndefinedMessage, UndefinedRangeType); int detailType = -1; QString displayName; QString data; @@ -317,7 +317,7 @@ void QmlProfilerTraceFile::loadEventTypes(QXmlStreamReader &stream) int line = 0, column = 0; auto clearType = [&](){ - messageAndRange = QPair(MaximumMessage, MaximumRangeType); + messageAndRange = QPair(UndefinedMessage, UndefinedRangeType); detailType = -1; displayName.clear(); data.clear(); @@ -389,7 +389,7 @@ void QmlProfilerTraceFile::loadEventTypes(QXmlStreamReader &stream) // confusing), even though they clearly aren't ranges. Convert that to something // sane here. if (detailType == 4) { - messageAndRange = QPair(Event, MaximumRangeType); + messageAndRange = QPair(Event, UndefinedRangeType); detailType = AnimationFrame; } } @@ -695,13 +695,13 @@ void QmlProfilerTraceFile::saveQtd(QIODevice *device) QStack stack; qint64 lastProgressTimestamp = traceStart(); modelManager()->replayQmlEvents([&](const QmlEvent &event, const QmlEventType &type) { - if (type.rangeType() != MaximumRangeType && event.rangeStage() == RangeStart) { + if (type.rangeType() != UndefinedRangeType && event.rangeStage() == RangeStart) { stack.push(event); return; } stream.writeStartElement(_("range")); - if (type.rangeType() != MaximumRangeType && event.rangeStage() == RangeEnd) { + if (type.rangeType() != UndefinedRangeType && event.rangeStage() == RangeEnd) { QmlEvent start = stack.pop(); stream.writeAttribute(_("startTime"), QString::number(start.timestamp())); stream.writeAttribute(_("duration"), diff --git a/src/plugins/qmlprofiler/qmltypedevent.cpp b/src/plugins/qmlprofiler/qmltypedevent.cpp index dade47c6dbd..e79080d48e8 100644 --- a/src/plugins/qmlprofiler/qmltypedevent.cpp +++ b/src/plugins/qmlprofiler/qmltypedevent.cpp @@ -36,10 +36,10 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) stream >> time >> messageType; - if (messageType < 0 || messageType > MaximumMessage) - messageType = MaximumMessage; + if (messageType < 0 || messageType >= MaximumMessage) + messageType = UndefinedMessage; - RangeType rangeType = MaximumRangeType; + RangeType rangeType = UndefinedRangeType; if (!stream.atEnd()) { stream >> subtype; if (subtype >= 0 && subtype < MaximumRangeType) @@ -54,7 +54,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) switch (messageType) { case Event: { - event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype); + event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype); switch (subtype) { case StartTrace: case EndTrace: { @@ -98,7 +98,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) break; } case Complete: { - event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype); + event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype); break; } case SceneGraphFrame: { @@ -110,7 +110,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) params.push_back(param); } - event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype); + event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype); event.event.setNumbers, qint64>(params); break; } @@ -125,7 +125,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) refcount = 1; } - event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype, + event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype, QmlEventLocation(filename, 0, 0)); event.event.setNumbers({width, height, refcount}); break; @@ -134,7 +134,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) qint64 delta; stream >> delta; - event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype); + event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype); event.event.setNumbers({delta}); break; } @@ -147,7 +147,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) // otherwise it's the old binding type of 4 bytes } - event.type = QmlEventType(MaximumMessage, rangeType, -1); + event.type = QmlEventType(UndefinedMessage, rangeType, -1); event.event.setRangeStage(RangeStart); break; } @@ -155,7 +155,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) QString data; stream >> data; - event.type = QmlEventType(MaximumMessage, rangeType, -1, QmlEventLocation(), data); + event.type = QmlEventType(UndefinedMessage, rangeType, -1, QmlEventLocation(), data); event.event.setRangeStage(RangeData); if (!stream.atEnd()) stream >> event.serverTypeId; @@ -173,13 +173,13 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) stream >> event.serverTypeId; } - event.type = QmlEventType(MaximumMessage, rangeType, -1, + event.type = QmlEventType(UndefinedMessage, rangeType, -1, QmlEventLocation(filename, line, column)); event.event.setRangeStage(RangeLocation); break; } case RangeEnd: { - event.type = QmlEventType(MaximumMessage, rangeType, -1); + event.type = QmlEventType(UndefinedMessage, rangeType, -1); event.event.setRangeStage(RangeEnd); break; } @@ -192,13 +192,13 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) stream >> param; params.push_back(param); } - event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype); + event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype); event.event.setNumbers, qint64>(params); break; } default: event.event.setNumbers({}); - event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype); + event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype); break; } diff --git a/src/plugins/qmlprofiler/quick3dmodel.cpp b/src/plugins/qmlprofiler/quick3dmodel.cpp index ac8f42d5338..be521818456 100644 --- a/src/plugins/qmlprofiler/quick3dmodel.cpp +++ b/src/plugins/qmlprofiler/quick3dmodel.cpp @@ -33,7 +33,7 @@ namespace Internal { Quick3DModel::Quick3DModel(QmlProfilerModelManager *manager, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, Quick3DEvent, MaximumRangeType, ProfileQuick3D, parent), + QmlProfilerTimelineModel(manager, Quick3DEvent, UndefinedRangeType, ProfileQuick3D, parent), m_maximumMsgType(-1) { } diff --git a/src/plugins/qmlprofiler/scenegraphtimelinemodel.cpp b/src/plugins/qmlprofiler/scenegraphtimelinemodel.cpp index 951cd3eb43a..8d868d16f37 100644 --- a/src/plugins/qmlprofiler/scenegraphtimelinemodel.cpp +++ b/src/plugins/qmlprofiler/scenegraphtimelinemodel.cpp @@ -77,7 +77,7 @@ Q_STATIC_ASSERT(sizeof(StageLabels) == SceneGraphTimelineModel::SceneGraphTimelineModel(QmlProfilerModelManager *manager, Timeline::TimelineModelAggregator *parent) : - QmlProfilerTimelineModel(manager, SceneGraphFrame, MaximumRangeType, ProfileSceneGraph, parent) + QmlProfilerTimelineModel(manager, SceneGraphFrame, UndefinedRangeType, ProfileSceneGraph, parent) { } diff --git a/src/plugins/qmlprofiler/tests/check.dat b/src/plugins/qmlprofiler/tests/check.dat index 7431903a1e91c8cb5019966bd1d957f6c3c05845..3895dfc182093321ffbbe8a2fab643829406a645 100644 GIT binary patch literal 36752 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 PXU^1c{IB1+appendEventType( - QmlEventType(MaximumMessage, + QmlEventType(UndefinedMessage, static_cast(static_cast(Javascript) - i), -1, QmlEventLocation("somefile.js", i, 20 - i), QString("funcfunc"))); diff --git a/src/plugins/qmlprofiler/tests/inputeventsmodel_test.cpp b/src/plugins/qmlprofiler/tests/inputeventsmodel_test.cpp index 141708f0639..941aca41101 100644 --- a/src/plugins/qmlprofiler/tests/inputeventsmodel_test.cpp +++ b/src/plugins/qmlprofiler/tests/inputeventsmodel_test.cpp @@ -41,8 +41,8 @@ static InputEventType inputType(int i) InputEventsModelTest::InputEventsModelTest(QObject *parent) : QObject(parent), model(&manager, &aggregator) { - keyTypeId = manager.appendEventType(QmlEventType(Event, MaximumRangeType, Key)); - mouseTypeId = manager.appendEventType(QmlEventType(Event, MaximumRangeType, Mouse)); + keyTypeId = manager.appendEventType(QmlEventType(Event, UndefinedRangeType, Key)); + mouseTypeId = manager.appendEventType(QmlEventType(Event, UndefinedRangeType, Mouse)); } void InputEventsModelTest::initTestCase() diff --git a/src/plugins/qmlprofiler/tests/memoryusagemodel_test.cpp b/src/plugins/qmlprofiler/tests/memoryusagemodel_test.cpp index 804c6d8fb1f..6e6eb9dce32 100644 --- a/src/plugins/qmlprofiler/tests/memoryusagemodel_test.cpp +++ b/src/plugins/qmlprofiler/tests/memoryusagemodel_test.cpp @@ -41,11 +41,11 @@ void MemoryUsageModelTest::initTestCase() heapPageTypeId = manager.numEventTypes(); - manager.appendEventType(QmlEventType(MemoryAllocation, MaximumRangeType, HeapPage)); + manager.appendEventType(QmlEventType(MemoryAllocation, UndefinedRangeType, HeapPage)); smallItemTypeId = manager.numEventTypes(); - manager.appendEventType(QmlEventType(MemoryAllocation, MaximumRangeType, SmallItem)); + manager.appendEventType(QmlEventType(MemoryAllocation, UndefinedRangeType, SmallItem)); largeItemTypeId = manager.numEventTypes(); - manager.appendEventType(QmlEventType(MemoryAllocation, MaximumRangeType, LargeItem)); + manager.appendEventType(QmlEventType(MemoryAllocation, UndefinedRangeType, LargeItem)); auto addMemoryEvents = [&]() { QmlEvent event; @@ -74,7 +74,7 @@ void MemoryUsageModelTest::initTestCase() addMemoryEvents(); rangeTypeId = manager.numEventTypes(); - manager.appendEventType(QmlEventType(MaximumMessage, Javascript, -1, + manager.appendEventType(QmlEventType(UndefinedMessage, Javascript, -1, QmlEventLocation(QString("somefile.js"), 10, 20), QString("funcfunc"))); diff --git a/src/plugins/qmlprofiler/tests/pixmapcachemodel_test.cpp b/src/plugins/qmlprofiler/tests/pixmapcachemodel_test.cpp index 97b124e016c..0aee302c81e 100644 --- a/src/plugins/qmlprofiler/tests/pixmapcachemodel_test.cpp +++ b/src/plugins/qmlprofiler/tests/pixmapcachemodel_test.cpp @@ -43,7 +43,7 @@ void PixmapCacheModelTest::initTestCase() for (int i = 0; i < MaximumPixmapEventType; ++i) { eventTypeIndices[i] = manager.numEventTypes(); - manager.appendEventType(QmlEventType(PixmapCacheEvent, MaximumRangeType, i, + manager.appendEventType(QmlEventType(PixmapCacheEvent, UndefinedRangeType, i, QmlEventLocation("dings.png", 0, 0))); } @@ -58,7 +58,7 @@ void PixmapCacheModelTest::initTestCase() for (int i = 0; i < MaximumPixmapEventType; ++i) { eventTypeIndices[i + MaximumPixmapEventType] = manager.numEventTypes(); - manager.appendEventType(QmlEventType(PixmapCacheEvent, MaximumRangeType, i, + manager.appendEventType(QmlEventType(PixmapCacheEvent, UndefinedRangeType, i, QmlEventLocation("blah.png", 0, 0))); } diff --git a/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp b/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp index 30157c7c7fd..a43a72581ba 100644 --- a/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp +++ b/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp @@ -37,8 +37,8 @@ QmlEventTypeTest::QmlEventTypeTest(QObject *parent) : QObject(parent) void QmlEventTypeTest::testAccessors() { QmlEventType type; - QCOMPARE(type.message(), MaximumMessage); - QCOMPARE(type.rangeType(), MaximumRangeType); + QCOMPARE(type.message(), UndefinedMessage); + QCOMPARE(type.rangeType(), UndefinedMessage); QCOMPARE(type.detailType(), -1); QVERIFY(!type.location().isValid()); QVERIFY(type.data().isEmpty()); @@ -56,9 +56,9 @@ void QmlEventTypeTest::testAccessors() type.setDisplayName("disdis"); QCOMPARE(type.displayName(), QString("disdis")); - QmlEventType type2(MaximumMessage, Javascript, 12, QmlEventLocation("lala.js", 2, 3), "nehhh", + QmlEventType type2(UndefinedMessage, Javascript, 12, QmlEventLocation("lala.js", 2, 3), "nehhh", "brbr"); - QCOMPARE(type2.message(), MaximumMessage); + QCOMPARE(type2.message(), UndefinedMessage); QCOMPARE(type2.rangeType(), Javascript); QCOMPARE(type2.detailType(), 12); QCOMPARE(type2.location(), QmlEventLocation("lala.js", 2, 3)); @@ -107,13 +107,13 @@ void QmlEventTypeTest::testFeature() for (int i = 0; i < MaximumMessage; ++i) { for (int j = 0; j < MaximumEventType; ++j) { - QmlEventType type(static_cast(i), MaximumRangeType, j); + QmlEventType type(static_cast(i), UndefinedRangeType, j); QCOMPARE(type.feature(), features[i][j]); } } for (int i = 0; i < MaximumRangeType; ++i) { - QmlEventType type(MaximumMessage, static_cast(i)); + QmlEventType type(UndefinedMessage, static_cast(i)); QCOMPARE(static_cast(type.feature()), featureFromRangeType(static_cast(i))); } @@ -121,7 +121,7 @@ void QmlEventTypeTest::testFeature() void QmlEventTypeTest::testStreamOps() { - QmlEventType type(MaximumMessage, Javascript, -1, QmlEventLocation("socken.js", 12, 13), + QmlEventType type(UndefinedMessage, Javascript, -1, QmlEventLocation("socken.js", 12, 13), "lalala", "lelele"); QBuffer wbuffer; diff --git a/src/plugins/qmlprofiler/tests/qmlprofileranimationsmodel_test.cpp b/src/plugins/qmlprofiler/tests/qmlprofileranimationsmodel_test.cpp index 1f16ddb6d5d..6a5773e4086 100644 --- a/src/plugins/qmlprofiler/tests/qmlprofileranimationsmodel_test.cpp +++ b/src/plugins/qmlprofiler/tests/qmlprofileranimationsmodel_test.cpp @@ -46,7 +46,7 @@ void QmlProfilerAnimationsModelTest::initTestCase() QmlEvent event; event.setTypeIndex(manager.appendEventType( - QmlEventType(Event, MaximumRangeType, AnimationFrame))); + QmlEventType(Event, UndefinedRangeType, AnimationFrame))); for (int i = 0; i < 10; ++i) { event.setTimestamp(i); diff --git a/src/plugins/qmlprofiler/tests/qmlprofilerbindingloopsrenderpass_test.cpp b/src/plugins/qmlprofiler/tests/qmlprofilerbindingloopsrenderpass_test.cpp index 642720f34b0..c1dfa963868 100644 --- a/src/plugins/qmlprofiler/tests/qmlprofilerbindingloopsrenderpass_test.cpp +++ b/src/plugins/qmlprofiler/tests/qmlprofilerbindingloopsrenderpass_test.cpp @@ -49,7 +49,7 @@ DummyModel::DummyModel(QmlProfilerModelManager *manager, void DummyModel::loadData() { - QmlEventType type(MaximumMessage, Binding); + QmlEventType type(UndefinedMessage, Binding); const int typeIndex = modelManager()->appendEventType(QmlEventType(type)); QCOMPARE(typeIndex, 0); diff --git a/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp b/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp index d986939f8c4..055e5ef000b 100644 --- a/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp +++ b/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp @@ -77,8 +77,8 @@ void QmlProfilerTraceClientTest::testMessageReceived() modelManager.replayQmlEvents([&](const QmlEvent &event, const QmlEventType &type) { qint64 timestamp; - qint32 message; - qint32 rangeType; + quint8 message; + quint8 rangeType; checkStream >> timestamp >> message >> rangeType; QCOMPARE(event.timestamp(), timestamp); QCOMPARE(type.message(), static_cast(message)); From b16d1e2b1141e1c1500f4b01f9b8ac2777997fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4=C3=A4tt=C3=A4?= Date: Mon, 26 Sep 2022 09:02:16 +0300 Subject: [PATCH 09/96] Add more checks for backwards compatibility Stop using MaximumXXXType in events where they might be saved into trace files. It makes older traces incompatible with new traces if new fields are added since new versions treat them as valid events. Instead use UndefinedXXXType that doesn't change if new fields are added. Add checks for event types greater or equal to MaximumXXXType where they are missing so that older versions do not process new unrecognized events. Fix opening old traces by checking missmatch between quick3d event and the range type. Fixes: QTCREATORBUG-28146 Change-Id: I8950da2d636ef1fedf4500916896a9ecae222166 Reviewed-by: Ulf Hermann Reviewed-by: --- src/plugins/qmlprofiler/inputeventsmodel.cpp | 2 ++ src/plugins/qmlprofiler/inputeventsmodel.h | 2 +- src/plugins/qmlprofiler/qmleventtype.cpp | 11 +++++-- .../qmlprofiler/qmlprofilereventtypes.h | 29 ++++++++++++------- .../qmlprofiler/qmlprofilertraceclient.cpp | 2 ++ src/plugins/qmlprofiler/qmltypedevent.cpp | 2 ++ src/plugins/qmlprofiler/quick3dmodel.cpp | 4 ++- .../qmlprofiler/tests/qmleventtype_test.cpp | 26 ++++++++--------- .../tests/qmlprofilertraceclient_test.cpp | 4 +++ 9 files changed, 55 insertions(+), 27 deletions(-) diff --git a/src/plugins/qmlprofiler/inputeventsmodel.cpp b/src/plugins/qmlprofiler/inputeventsmodel.cpp index 088a9acdcb4..748aeab6e08 100644 --- a/src/plugins/qmlprofiler/inputeventsmodel.cpp +++ b/src/plugins/qmlprofiler/inputeventsmodel.cpp @@ -154,6 +154,8 @@ int InputEventsModel::collapsedRow(int index) const void InputEventsModel::loadEvent(const QmlEvent &event, const QmlEventType &type) { + if (type.detailType() >= MaximumInputEventType) + return; m_data.insert(insert(event.timestamp(), 0, type.detailType()), Item(static_cast(event.number(0)), event.number(1), event.number(2))); diff --git a/src/plugins/qmlprofiler/inputeventsmodel.h b/src/plugins/qmlprofiler/inputeventsmodel.h index dbd1515894d..bdfcf1dc241 100644 --- a/src/plugins/qmlprofiler/inputeventsmodel.h +++ b/src/plugins/qmlprofiler/inputeventsmodel.h @@ -36,7 +36,7 @@ class InputEventsModel : public QmlProfilerTimelineModel public: struct Item { - Item(InputEventType type = MaximumInputEventType, int a = 0, int b = 0); + Item(InputEventType type = UndefinedInputEventType, int a = 0, int b = 0); InputEventType type; int a; int b; diff --git a/src/plugins/qmlprofiler/qmleventtype.cpp b/src/plugins/qmlprofiler/qmleventtype.cpp index 4963b684959..7557b81aa6b 100644 --- a/src/plugins/qmlprofiler/qmleventtype.cpp +++ b/src/plugins/qmlprofiler/qmleventtype.cpp @@ -39,7 +39,7 @@ static ProfileFeature qmlFeatureFromType(Message message, RangeType rangeType, i case AnimationFrame: return ProfileAnimations; default: - return MaximumProfileFeature; + return UndefinedProfileFeature; } } case PixmapCacheEvent: @@ -51,7 +51,11 @@ static ProfileFeature qmlFeatureFromType(Message message, RangeType rangeType, i case DebugMessage: return ProfileDebugMessages; case Quick3DEvent: - return ProfileQuick3D; + // Check if it's actually Quick3DEvent since old traces used MaximumMessage + // (whose value is now Quick3DEvent value) as undefined value + if (rangeType == UndefinedRangeType) + return ProfileQuick3D; + return featureFromRangeType(rangeType); default: return featureFromRangeType(rangeType); } @@ -68,6 +72,9 @@ QDataStream &operator>>(QDataStream &stream, QmlEventType &type) type.m_message = static_cast(message); type.m_rangeType = static_cast(rangeType); type.setFeature(qmlFeatureFromType(type.m_message, type.m_rangeType, type.m_detailType)); + // Update message if qmlFeatureFromType determined it is not Quick3D event + if (type.m_message == Quick3DEvent && type.feature() != ProfileQuick3D) + type.m_message = UndefinedMessage; return stream; } diff --git a/src/plugins/qmlprofiler/qmlprofilereventtypes.h b/src/plugins/qmlprofiler/qmlprofilereventtypes.h index b8bc25e5e99..d5f74750282 100644 --- a/src/plugins/qmlprofiler/qmlprofilereventtypes.h +++ b/src/plugins/qmlprofiler/qmlprofilereventtypes.h @@ -47,7 +47,8 @@ enum Message { }; enum EventType { - FramePaint, // unused + UndefinedEventType = 0xff, + FramePaint = 0, // unused Mouse, Key, AnimationFrame, // new Qt5 paint events @@ -58,7 +59,8 @@ enum EventType { }; enum Quick3DEventType { - Quick3DRenderFrame, + UndefinedQuick3DEventType = 0xff, + Quick3DRenderFrame = 0, Quick3DSynchronizeFrame, Quick3DPrepareFrame, Quick3DMeshLoad, @@ -85,7 +87,8 @@ enum RangeType { }; enum BindingType { - QmlBinding, + UndefinedBindingType = 0xff, + QmlBinding = 0, V8Binding, OptimizedBinding, QPainterEvent, @@ -94,7 +97,8 @@ enum BindingType { }; enum PixmapEventType { - PixmapSizeKnown, + UndefinedPixmapEventType = 0xff, + PixmapSizeKnown = 0, PixmapReferenceCountChanged, PixmapCacheCountChanged, PixmapLoadingStarted, @@ -105,7 +109,8 @@ enum PixmapEventType { }; enum InputEventType { - InputKeyPress, + UndefinedInputEventType = 0xff, + InputKeyPress = 0, InputKeyRelease, InputKeyUnknown, @@ -120,7 +125,8 @@ enum InputEventType { }; enum SceneGraphFrameType { - SceneGraphRendererFrame, // Render Thread + UndefinedSceheGraphFrameType = 0xff, + SceneGraphRendererFrame = 0, // Render Thread SceneGraphAdaptationLayerFrame, // Render Thread SceneGraphContextFrame, // Render Thread SceneGraphRenderLoopFrame, // Render Thread @@ -135,7 +141,8 @@ enum SceneGraphFrameType { }; enum MemoryType { - HeapPage, + UndefinedMemoryType = 0xff, + HeapPage = 0, LargeItem, SmallItem, @@ -143,14 +150,16 @@ enum MemoryType { }; enum AnimationThread { - GuiThread, + UndefinedAnimationThread = 0xff, + GuiThread = 0, RenderThread, MaximumAnimationThread }; enum ProfileFeature { - ProfileJavaScript, + UndefinedProfileFeature = 0xff, + ProfileJavaScript = 0, ProfileMemory, ProfilePixmapCache, ProfileSceneGraph, @@ -183,7 +192,7 @@ inline ProfileFeature featureFromRangeType(RangeType range) case Javascript: return ProfileJavaScript; default: - return MaximumProfileFeature; + return UndefinedProfileFeature; } } diff --git a/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp b/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp index a7e01208c0e..193b5c3414a 100644 --- a/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertraceclient.cpp @@ -350,6 +350,8 @@ void QmlProfilerTraceClient::setFlushInterval(quint32 flushInterval) bool QmlProfilerTraceClientPrivate::updateFeatures(quint8 feature) { + if (feature == UndefinedProfileFeature) + return true; quint64 flag = 1ULL << feature; if (!(requestedFeatures & flag)) return false; diff --git a/src/plugins/qmlprofiler/qmltypedevent.cpp b/src/plugins/qmlprofiler/qmltypedevent.cpp index e79080d48e8..105eb644abf 100644 --- a/src/plugins/qmlprofiler/qmltypedevent.cpp +++ b/src/plugins/qmlprofiler/qmltypedevent.cpp @@ -54,6 +54,8 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) switch (messageType) { case Event: { + if (subtype >= MaximumEventType) + subtype = UndefinedEventType; event.type = QmlEventType(static_cast(messageType), UndefinedRangeType, subtype); switch (subtype) { case StartTrace: diff --git a/src/plugins/qmlprofiler/quick3dmodel.cpp b/src/plugins/qmlprofiler/quick3dmodel.cpp index be521818456..aa5efd426e0 100644 --- a/src/plugins/qmlprofiler/quick3dmodel.cpp +++ b/src/plugins/qmlprofiler/quick3dmodel.cpp @@ -156,7 +156,9 @@ int Quick3DModel::collapsedRow(int index) const void Quick3DModel::loadEvent(const QmlEvent &event, const QmlEventType &type) { - auto detailType = type.detailType(); + int detailType = type.detailType(); + if (detailType >= MaximumQuick3DFrameType) + return; qint64 eventDuration = event.number(0); qint64 eventTime = event.timestamp() - eventDuration; QVector numbers = event.numbers>(); diff --git a/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp b/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp index a43a72581ba..7e82ae17c83 100644 --- a/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp +++ b/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp @@ -43,7 +43,7 @@ void QmlEventTypeTest::testAccessors() QVERIFY(!type.location().isValid()); QVERIFY(type.data().isEmpty()); QVERIFY(type.displayName().isEmpty()); - QCOMPARE(static_cast(type.feature()), MaximumProfileFeature); + QCOMPARE(static_cast(type.feature()), UndefinedProfileFeature); type.setLocation(QmlEventLocation("blah.js", 12, 13)); QCOMPARE(type.location().filename(), QString("blah.js")); @@ -71,23 +71,23 @@ void QmlEventTypeTest::testFeature() { const quint8 features[][MaximumEventType] = { // Event - {MaximumProfileFeature, ProfileInputEvents, ProfileInputEvents, - ProfileAnimations, MaximumProfileFeature, MaximumProfileFeature}, + {UndefinedProfileFeature, ProfileInputEvents, ProfileInputEvents, + ProfileAnimations, UndefinedProfileFeature, UndefinedProfileFeature}, // RangeStart - {MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature, - MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature}, + {UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature, + UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature}, // RangeData - {MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature, - MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature}, + {UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature, + UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature}, // RangeLocation - {MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature, - MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature}, + {UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature, + UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature}, // RangeEnd - {MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature, - MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature}, + {UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature, + UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature}, // Complete - {MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature, - MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature}, + {UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature, + UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature}, // PixmapCacheEvent {ProfilePixmapCache, ProfilePixmapCache, ProfilePixmapCache, ProfilePixmapCache, ProfilePixmapCache, ProfilePixmapCache}, diff --git a/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp b/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp index 055e5ef000b..dbb55fac793 100644 --- a/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp +++ b/src/plugins/qmlprofiler/tests/qmlprofilertraceclient_test.cpp @@ -80,6 +80,10 @@ void QmlProfilerTraceClientTest::testMessageReceived() quint8 message; quint8 rangeType; checkStream >> timestamp >> message >> rangeType; + QVERIFY(message != MaximumMessage); + QVERIFY(rangeType != MaximumRangeType); + QVERIFY(type.message() != MaximumMessage); + QVERIFY(type.rangeType() != MaximumRangeType); QCOMPARE(event.timestamp(), timestamp); QCOMPARE(type.message(), static_cast(message)); QCOMPARE(type.rangeType(), static_cast(rangeType)); From 3f6d8e8cd6aa3effc44025cca6e7b224cf213d9c Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Thu, 29 Sep 2022 10:57:52 +0200 Subject: [PATCH 10/96] QmlDesigner: Fix base state update Task-number: QDS-7799 Change-Id: I89216cdb8fb641e6b51c22b32e6a845e7952c601 Reviewed-by: Reviewed-by: Qt CI Bot Reviewed-by: Thomas Hartmann --- .../qmldesigner/components/stateseditornew/stateseditormodel.cpp | 1 + .../qmldesigner/components/stateseditornew/stateseditorview.h | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp b/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp index efe1c305f66..449a90f8ea0 100644 --- a/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp +++ b/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp @@ -95,6 +95,7 @@ void StatesEditorModel::reset() QAbstractListModel::endResetModel(); evaluateExtend(); + emit baseStateChanged(); } QVariant StatesEditorModel::data(const QModelIndex &index, int role) const diff --git a/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.h b/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.h index 5fc9ae5511a..4c55d927b71 100644 --- a/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.h +++ b/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.h @@ -122,7 +122,6 @@ public slots: void removeState(int nodeId); private: - StatesEditorWidget *statesEditorWidget() const; void resetModel(); void resetPropertyChangesModels(); void resetExtend(); From 502e94cbe9d964e624557ebd720918eb806159c8 Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Tue, 27 Sep 2022 17:52:52 +0200 Subject: [PATCH 11/96] QmlDesigner: Improve state group rename dialog If the user presses enter when having focus on the TextField inside the StateGroup rename dialog it will submit the change and close the dialog. If the user presses escape it will reject the change and close the dialog. Task-number: QDS-7764 Change-Id: I8626c7b9ca9bf6d087c226343b3e6833641da54c Reviewed-by: Reviewed-by: Thomas Hartmann --- .../qmldesigner/newstateseditor/Main.qml | 36 +++++++++++++++++-- .../HelperWidgets/ExpressionTextField.qml | 16 +++------ .../imports/StudioControls/DialogButton.qml | 21 ++++++++--- .../imports/StudioControls/TextField.qml | 12 ++++--- 4 files changed, 63 insertions(+), 22 deletions(-) diff --git a/share/qtcreator/qmldesigner/newstateseditor/Main.qml b/share/qtcreator/qmldesigner/newstateseditor/Main.qml index 5f4cfa1ab0e..540f70b4857 100644 --- a/share/qtcreator/qmldesigner/newstateseditor/Main.qml +++ b/share/qtcreator/qmldesigner/newstateseditor/Main.qml @@ -303,18 +303,50 @@ Rectangle { width: Math.min(300, root.width) - onApplied: { + function apply() { let renamed = statesEditorModel.renameActiveStateGroup(editTextField.text) if (renamed) editDialog.close() } + onApplied: editDialog.accept() + StudioControls.TextField { id: editTextField - text: statesEditorModel.activeStateGroup actionIndicatorVisible: false translationIndicatorVisible: false anchors.fill: parent + + onTextChanged: { + let btn = editDialog.standardButton(Dialog.Apply) + if (!btn) + return + + if (editDialog.previousString !== editTextField.text) { + btn.enabled = true + } else { + btn.enabled = false + } + } + + onAccepted: editDialog.accept() + onRejected: editDialog.reject() + } + + onAccepted: { + let renamed = statesEditorModel.renameActiveStateGroup(editTextField.text) + if (renamed) + editDialog.close() + } + + property string previousString + + onAboutToShow: { + editTextField.text = statesEditorModel.activeStateGroup + editDialog.previousString = statesEditorModel.activeStateGroup + + let btn = editDialog.standardButton(Dialog.Apply) + btn.enabled = false } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml index 7828e9b4272..889f94f4ac3 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml @@ -33,8 +33,6 @@ import StudioTheme 1.0 as StudioTheme StudioControls.TextField { id: textField - signal rejected - translationIndicator.visible: false actionIndicator.visible: false @@ -158,6 +156,11 @@ StudioControls.TextField { onPressed: listView.model = null + onRejected: { + if (textField.completionActive) + listView.model = null + } + Keys.priority: Keys.BeforeItem Keys.onPressed: function(event) { var text = textField.text @@ -244,15 +247,6 @@ StudioControls.TextField { } } - Keys.onEscapePressed: function(event) { - event.accepted = true - if (textField.completionActive) { - listView.model = null - } else { - textField.rejected() - } - } - Keys.onUpPressed: function(event) { listView.decrementCurrentIndex() event.accepted = false diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/DialogButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/DialogButton.qml index 6f0c33264fc..173b4ffdf3d 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/DialogButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/DialogButton.qml @@ -60,7 +60,7 @@ T.Button { states: [ State { name: "default" - when: !root.down && !root.hovered && !root.checked + when: root.enabled && !root.down && !root.hovered && !root.checked PropertyChanges { target: background @@ -75,7 +75,7 @@ T.Button { }, State { name: "hover" - when: root.hovered && !root.checked && !root.down + when: root.enabled && root.hovered && !root.checked && !root.down PropertyChanges { target: background @@ -88,8 +88,8 @@ T.Button { } }, State { - name: "pressed" - when: root.checked || root.down + name: "press" + when: root.enabled && (root.checked || root.down) PropertyChanges { target: background @@ -100,6 +100,19 @@ T.Button { target: textItem color: StudioTheme.Values.themeTextColor } + }, + State { + name: "disable" + when: !root.enabled + PropertyChanges { + target: background + color: StudioTheme.Values.themeControlBackgroundDisabled + border.color: StudioTheme.Values.themeControlOutlineDisabled + } + PropertyChanges { + target: textItem + color: StudioTheme.Values.themeTextColorDisabled + } } ] } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/TextField.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/TextField.qml index 0a683fa6d12..7d0dc041f19 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/TextField.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/TextField.qml @@ -52,6 +52,8 @@ T.TextField { property bool contextMenuAboutToShow: false + signal rejected + horizontalAlignment: Qt.AlignLeft verticalAlignment: Qt.AlignVCenter @@ -247,10 +249,10 @@ T.TextField { } ] - Keys.onPressed: function(event) { - if (event.key === Qt.Key_Escape) { - root.text = root.preFocusText - root.focus = false - } + Keys.onEscapePressed: function(event) { + event.accepted = true + root.text = root.preFocusText + root.rejected() + root.focus = false } } From 1c2ffde787fb7bcd15f0fd5091fc8cb3652077d5 Mon Sep 17 00:00:00 2001 From: Petri Virkkunen Date: Tue, 13 Sep 2022 09:24:25 +0300 Subject: [PATCH 12/96] Android: set release flag when building and deploying apk ...in Release builds Signed Release builds are now deployed correctly by giving androiddeployqt the --release flag during the Deployment step for Release builds. Unsigned Release apks are now correctly built under the release directory by giving androiddeployqt the --release flag during the Build step for Release builds instead of determining build type from whether or not the package is signed. Fixes: QTCREATORBUG-28163 Change-Id: I319bc95325c88fb84a5997c9237df65eb7983c0e Reviewed-by: Alessandro Portale Reviewed-by: Reviewed-by: Assam Boudjelthia --- src/plugins/android/androidbuildapkstep.cpp | 10 ++++++---- src/plugins/android/androiddeployqtstep.cpp | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index 868e7e4129d..75df1b3b0ff 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -608,14 +608,16 @@ bool AndroidBuildApkStep::init() if (m_buildAAB) arguments << "--aab" << "--jarsigner"; + if (buildType() == BuildConfiguration::Release) { + arguments << "--release"; + } + QStringList argumentsPasswordConcealed = arguments; if (m_signPackage) { - arguments << "--release" - << "--sign" << m_keystorePath.toString() << m_certificateAlias + arguments << "--sign" << m_keystorePath.toString() << m_certificateAlias << "--storepass" << m_keystorePasswd; - argumentsPasswordConcealed << "--release" - << "--sign" << "******" + argumentsPasswordConcealed << "--sign" << "******" << "--storepass" << "******"; if (!m_certificatePasswd.isEmpty()) { arguments << "--keypass" << m_certificatePasswd; diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index e5bde4a30b7..beeb851118f 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -261,6 +261,9 @@ bool AndroidDeployQtStep::init() m_androiddeployqtArgs.addArg("--gradle"); + if (buildType() == BuildConfiguration::Release) + m_androiddeployqtArgs.addArgs({"--release"}); + if (androidBuildApkStep && androidBuildApkStep->signPackage()) { // The androiddeployqt tool is not really written to do stand-alone installations. // This hack forces it to use the correct filename for the apk file when installing From bbd516f262cab7cf82ab5db661e58adf32a0df2c Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 30 Sep 2022 09:01:01 +0200 Subject: [PATCH 13/96] Core: Remove unused member Amends 847d8530558ef. Change-Id: Iae28f7a7dbfd0fe3623cddaf6342c82964e435e6 Reviewed-by: Alessandro Portale --- src/plugins/coreplugin/mimetypemagicdialog.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/coreplugin/mimetypemagicdialog.h b/src/plugins/coreplugin/mimetypemagicdialog.h index 023f878a53e..c45b9b70a92 100644 --- a/src/plugins/coreplugin/mimetypemagicdialog.h +++ b/src/plugins/coreplugin/mimetypemagicdialog.h @@ -75,7 +75,6 @@ private: QSpinBox *m_prioritySpinBox; QSpinBox *m_startRangeSpinBox; QSpinBox *m_endRangeSpinBox; - QSpacerItem *verticalSpacer; }; } // Core::Internal From 685cc1a2fc85343ecd3c7d2f5bcc532ebdd8f259 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 29 Sep 2022 17:11:01 +0200 Subject: [PATCH 14/96] AutoTools: Move to Tr::tr Change-Id: I605c2b5c812b500c1db2bdbfab26882ee55249d2 Reviewed-by: Alessandro Portale Reviewed-by: --- share/qtcreator/translations/qtcreator_cs.ts | 75 +------------ share/qtcreator/translations/qtcreator_da.ts | 66 +----------- share/qtcreator/translations/qtcreator_de.ts | 27 +---- share/qtcreator/translations/qtcreator_fr.ts | 72 +------------ share/qtcreator/translations/qtcreator_hr.ts | 35 +----- share/qtcreator/translations/qtcreator_ja.ts | 102 +----------------- share/qtcreator/translations/qtcreator_pl.ts | 66 +----------- share/qtcreator/translations/qtcreator_ru.ts | 28 +---- share/qtcreator/translations/qtcreator_uk.ts | 101 +---------------- .../qtcreator/translations/qtcreator_zh_CN.ts | 69 +----------- .../qtcreator/translations/qtcreator_zh_TW.ts | 72 +------------ .../autotoolsprojectmanager/autogenstep.cpp | 16 ++- .../autotoolsprojectmanager/autogenstep.h | 6 +- .../autoreconfstep.cpp | 16 ++- .../autotoolsprojectmanager/autoreconfstep.h | 6 +- .../autotoolsbuildconfiguration.cpp | 11 +- .../autotoolsbuildconfiguration.h | 6 +- .../autotoolsbuildsystem.cpp | 13 +-- .../autotoolsbuildsystem.h | 6 +- .../autotoolsprojectplugin.cpp | 39 ++++--- .../autotoolsprojectplugin.h | 22 +--- .../autotoolsprojectmanager/configurestep.cpp | 16 ++- .../autotoolsprojectmanager/configurestep.h | 6 +- .../makefileparser.cpp | 12 ++- .../autotoolsprojectmanager/makefileparser.h | 6 +- .../makefileparserthread.h | 6 +- .../autotoolsprojectmanager/makestep.cpp | 30 +++--- .../autotoolsprojectmanager/makestep.h | 6 +- 28 files changed, 106 insertions(+), 830 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_cs.ts b/share/qtcreator/translations/qtcreator_cs.ts index ee2b5662bc7..e3d02bf63eb 100644 --- a/share/qtcreator/translations/qtcreator_cs.ts +++ b/share/qtcreator/translations/qtcreator_cs.ts @@ -47485,15 +47485,12 @@ Nainstalujte, prosím, alespoň jedno SDK. - AutotoolsProjectManager::Internal::AutogenStepFactory + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - - AutotoolsProjectManager::Internal::AutogenStep Autogen Autogen @@ -47502,9 +47499,6 @@ Nainstalujte, prosím, alespoň jedno SDK. Configuration unchanged, skipping autogen step. Nastavení nezměněno. Přeskakuje se krok autogen. - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget Arguments: Argumenty: @@ -47514,17 +47508,11 @@ Nainstalujte, prosím, alespoň jedno SDK. AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf @@ -47533,21 +47521,11 @@ Nainstalujte, prosím, alespoň jedno SDK. Configuration unchanged, skipping autoreconf step. Nastavení nezměněno. Přeskakuje se krok autoreconf. - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - Argumenty: - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Default The name of the build configuration created by default for a autotools project. @@ -47565,9 +47543,6 @@ Nainstalujte, prosím, alespoň jedno SDK. New configuration name: Název nového nastavení: - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: Adresář pro sestavování: @@ -47584,9 +47559,6 @@ Nainstalujte, prosím, alespoň jedno SDK. <Invalid tool chain> <Neplatná sada nástrojů> - - - AutotoolsProjectManager::Internal::AutotoolsManager Failed opening project '%1': Project file does not exist Projekt %1 se nepodařil otevřít: Soubor s projektem neexistuje @@ -47599,54 +47571,32 @@ Nainstalujte, prosím, alespoň jedno SDK. Failed opening project '%1': Project is not a file Projekt '%1' se nepodařil otevřít: Daný projektový soubor není soubor - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Průvodce Autotools - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. Zadejte, prosím, adresář, ve kterém chcete vytvořit svůj projekt.. Doporučuje se, nepoužívat pro vytvoření projektu zdrojový adresář. Tím se zajistí, že zdrojový adresář zůstane volný, a umožní různá sestavení s rozdílnými nastaveními. - - Build directory: - Adresář pro sestavování: - Build Location Umístění sestavování - - - AutotoolsProjectManager::Internal::AutotoolsTarget Desktop Autotools Default target display name Stolní počítač - - - AutotoolsProjectManager::Internal::AutotoolsTargetFactory Default Build Výchozí sestavení - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. Configure - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Configure @@ -47655,21 +47605,11 @@ Nainstalujte, prosím, alespoň jedno SDK. Configuration unchanged, skipping configure step. Nastavení nezměněno, přeskakuje se krok nastavení. - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - Argumenty: - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. Nastavit - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 Zpracovává se %1 v adresáři %2 @@ -47678,17 +47618,11 @@ Nainstalujte, prosím, alespoň jedno SDK. Parsing directory %1 Zpracovává se adresář %1 - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - - AutotoolsProjectManager::Internal::MakeStep Make Make @@ -47701,13 +47635,6 @@ Nainstalujte, prosím, alespoň jedno SDK. Configuration is faulty. Check the Issues view for details. Nastavení je chybné. Prověřte, prosím, pohled na potíže kvůli podrobnostem. - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - Argumenty: - Make AutotoolsProjectManager::MakeStepConfigWidget display name. diff --git a/share/qtcreator/translations/qtcreator_da.ts b/share/qtcreator/translations/qtcreator_da.ts index 78f1eabde99..bf250badb8e 100644 --- a/share/qtcreator/translations/qtcreator_da.ts +++ b/share/qtcreator/translations/qtcreator_da.ts @@ -2406,7 +2406,7 @@ Advarsel: dette er en eksperimentel facilitet og kan lede til at test-eksekverba - AutotoolsProjectManager::Internal::AutogenStep + AutotoolsProjectManager Autogen Autogen @@ -2415,9 +2415,6 @@ Advarsel: dette er en eksperimentel facilitet og kan lede til at test-eksekverba Configuration unchanged, skipping autogen step. Konfiguration uændret, springer autogen-trin over. - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget Arguments: Argumenter: @@ -2427,17 +2424,11 @@ Advarsel: dette er en eksperimentel facilitet og kan lede til at test-eksekverba AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - - AutotoolsProjectManager::Internal::AutogenStepFactory Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf @@ -2446,29 +2437,16 @@ Advarsel: dette er en eksperimentel facilitet og kan lede til at test-eksekverba Configuration unchanged, skipping autoreconf step. Konfiguration uændret, springer autoreconf-trin over. - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - Argumenter: - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Default The name of the build configuration created by default for a autotools project. @@ -2478,9 +2456,6 @@ Advarsel: dette er en eksperimentel facilitet og kan lede til at test-eksekverba Build Byg - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: Bygmappe: @@ -2489,31 +2464,18 @@ Advarsel: dette er en eksperimentel facilitet og kan lede til at test-eksekverba Autotools Manager Autotools-håndtering - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Autotools-assistent - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. It is not recommended to use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. Indtast venligst mappen hvor du vil bygge dit projekt. Det anbefaler ikke at bruge kildemappen til bygning. Dette sikre at kildemappen forbliver ren og muliggør flere bygninger med forskellige indstillinger. - - Build directory: - Bygmappe: - Build Location Bygplacering - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Konfigurer @@ -2522,56 +2484,30 @@ Advarsel: dette er en eksperimentel facilitet og kan lede til at test-eksekverba Configuration unchanged, skipping configure step. Konfiguration uændret, springer konfigurationstrin over. - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - Argumenter: - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. Konfigurer - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. Konfigurer - - - AutotoolsProjectManager::Internal::MakeStep Make Make - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - Argumenter: - Make AutotoolsProjectManager::MakeStepConfigWidget display name. Make - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 Parser %1 i mappen %2 diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 1a9217ee998..9bcb48a4e14 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -18139,7 +18139,7 @@ should a repository require SSH-authentication (see documentation on SSH and the - AutotoolsProjectManager::Internal::AutogenStep + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. @@ -18157,9 +18157,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping autogen step. Unveränderte Konfiguration, autogen-Schritt wird übersprungen. - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. @@ -18169,24 +18166,14 @@ should a repository require SSH-authentication (see documentation on SSH and the Autoreconf Autoreconf - - Arguments: - Argumente: - Configuration unchanged, skipping autoreconf step. Unveränderte Konfiguration, autoreconf-Schritt wird übersprungen. - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Autotools-Assistent - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. It is not recommended to use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. Bitte geben Sie das Verzeichnis ein, in dem das Projekt erstellt werden soll. Es wird empfohlen, nicht das Quellverzeichnis zum Erstellen zu verwenden. Das ermöglicht es, das Projekt mehrmals mit verschiedenen Einstellungen zu erstellen. @@ -18199,9 +18186,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Build Location Build-Verzeichnis - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Display name for AutotoolsProjectManager::ConfigureStep id. @@ -18211,17 +18195,10 @@ should a repository require SSH-authentication (see documentation on SSH and the Configure Konfigurieren - - Arguments: - Argumente: - Configuration unchanged, skipping configure step. Unveränderte Konfiguration, configure-Schritt wird übersprungen. - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 Werte %1 im Verzeichnis %2 aus @@ -44782,7 +44759,7 @@ Wenn Sie noch keinen privaten Schlüssel besitzen, können Sie hier auch einen e - AutotoolsProjectManager::Internal::AutotoolsBuildConfiguration + AutotoolsProjectManager Autotools Manager Autotools-Verwaltung diff --git a/share/qtcreator/translations/qtcreator_fr.ts b/share/qtcreator/translations/qtcreator_fr.ts index 5bfe46aed94..50d18ff4106 100644 --- a/share/qtcreator/translations/qtcreator_fr.ts +++ b/share/qtcreator/translations/qtcreator_fr.ts @@ -45153,15 +45153,12 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e - AutotoolsProjectManager::Internal::AutogenStepFactory + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - - AutotoolsProjectManager::Internal::AutogenStep Autogen Autogen @@ -45170,9 +45167,6 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e Configuration unchanged, skipping autogen step. Configuration inchangée, étape autogen ignorée. - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget Arguments: Arguments : @@ -45182,17 +45176,11 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf @@ -45201,21 +45189,11 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e Configuration unchanged, skipping autoreconf step. Configuration inchangée, étape autoreconf ignorée. - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - Arguments : - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Default The name of the build configuration created by default for a autotools project. @@ -45233,9 +45211,6 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e New configuration name: Nom de la nouvelle configuration : - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: Répertoire de compilation : @@ -45252,9 +45227,6 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e <Invalid tool chain> <Chaîne d'outils invalide> - - - AutotoolsProjectManager::Internal::AutotoolsManager Failed opening project '%1': Project file does not exist Échec de l'ouverture du projet "%1' : le fichier du projet n"existe pas @@ -45267,47 +45239,28 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e Failed opening project '%1': Project is not a file Échec de l'ouverture du projet "%1" : le projet n'est pas un fichier - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Assistant Autotools - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. Veuillez spécifier le répertoire où vous voulez compiler votre projet. Qt Creator recommande de ne pas utiliser le répertoire source pour la compilation. Cela garantit que le répertoire source reste propre et permet des compilations multiples avec différents paramètres. - - Build directory: - Répertoire de compilation : - Build Location Emplacement de compilation - - - AutotoolsProjectManager::Internal::AutotoolsTarget Desktop Autotools Default target display name Desktop - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. Configurer - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Configurer @@ -45317,21 +45270,11 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e ignorée ? Configuration inchangée, étape de configuration sautée. - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - Arguments : - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. Configurer - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 Analyse, car c'est une action en court @@ -45341,17 +45284,11 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e Parsing directory %1 Analyse du répertoire %1 - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - - AutotoolsProjectManager::Internal::MakeStep Make Make @@ -45364,13 +45301,6 @@ si un dépôt requiert une authentification SSH (voir la documentation sur SSH e Configuration is faulty. Check the Issues view for details. La configuration est défectueuse, veuillez vérifier la vue des problèmes pour les détails. - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - Arguments : - Make AutotoolsProjectManager::MakeStepConfigWidget display name. diff --git a/share/qtcreator/translations/qtcreator_hr.ts b/share/qtcreator/translations/qtcreator_hr.ts index 52b30f02fc8..d733979252a 100644 --- a/share/qtcreator/translations/qtcreator_hr.ts +++ b/share/qtcreator/translations/qtcreator_hr.ts @@ -15521,7 +15521,7 @@ Check the test environment. - AutotoolsProjectManager::Internal::AutogenStep + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. @@ -15539,9 +15539,6 @@ Check the test environment. Configuration unchanged, skipping autogen step. - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. @@ -15551,17 +15548,10 @@ Check the test environment. Autoreconf - - Arguments: - Argumenti: - Configuration unchanged, skipping autoreconf step. - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Default The name of the build configuration created by default for a autotools project. @@ -15571,27 +15561,14 @@ Check the test environment. Build - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget - - Build directory: - - Autotools Manager - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. It is not recommended to use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. @@ -15604,9 +15581,6 @@ Check the test environment. Build Location Mjesto izgradnje - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Display name for AutotoolsProjectManager::ConfigureStep id. @@ -15616,17 +15590,10 @@ Check the test environment. Configure - - Arguments: - Argumenti: - Configuration unchanged, skipping configure step. - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index aa9f96e65ba..8c9cadfe3b9 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -12297,15 +12297,12 @@ in the system's browser for manual download. - AutotoolsProjectManager::Internal::AutogenStepFactory + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - - AutotoolsProjectManager::Internal::AutogenStep Autogen Autogen @@ -12318,66 +12315,29 @@ in the system's browser for manual download. Configuration unchanged, skipping autogen step. 設定が変更されていない為、autogen ステップをスキップします。 - - Autogen - Display name for AutotoolsProjectManager::AutogenStep id. - Autogen - - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget - - Arguments: - 引数: - Autogen AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf - - Arguments: - 引数: - Configuration unchanged, skipping autoreconf step. 設定が変更されていない為、autoreconf ステップをスキップします。 - - Autoreconf - Display name for AutotoolsProjectManager::AutoreconfStep id. - Autoreconf - - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - 引数: - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Default The name of the build configuration created by default for a autotools project. @@ -12387,9 +12347,6 @@ in the system's browser for manual download. Build ビルド - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: ビルドディレクトリ: @@ -12398,23 +12355,14 @@ in the system's browser for manual download. Autotools Manager Autotools マネージャ - - - AutotoolsProjectManager::Internal::AutotoolsManager Failed opening project "%1": Project is not a file プロジェクト "%1" が開けません: プロジェクトがファイルではありません - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Autotools ウィザード - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. プロジェクトをビルドするディレクトリを指定してください。Qt Creator ではソースディレクトリ内でのビルドは推奨していません。ソースディレクトリとビルドディレクトリを分ける事でソースをきれいに保ち、異なる設定での複数のビルドを行う事ができます。 @@ -12423,57 +12371,28 @@ in the system's browser for manual download. Please enter the directory in which you want to build your project. It is not recommended to use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. プロジェクトをビルドするためのディレクトリを入力してください。ビルドにソースディレクトリを使用することはお勧めしません。これにより、ソース・ディレクトリがクリーンな状態に保たれ、異なる設定での複数回のビルドが可能になります。 - - Build directory: - ビルドディレクトリ: - Build Location ビルドパス - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. 設定する - - - AutotoolsProjectManager::Internal::ConfigureStep Configure 設定する - - Arguments: - 引数: - Configuration unchanged, skipping configure step. 設定が変更されていない為、configure ステップをスキップします。 - - Configure - Display name for AutotoolsProjectManager::ConfigureStep id. - 設定する - - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - 引数: - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. 設定する - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 ディレクトリ %2 の %1 を解析中 @@ -12482,28 +12401,15 @@ in the system's browser for manual download. Parsing directory %1 ディレクトリ %1 を解析中 - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - - AutotoolsProjectManager::Internal::MakeStep Make Make - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - 引数: - Make AutotoolsProjectManager::MakeStepConfigWidget display name. @@ -48088,11 +47994,7 @@ Android パッケージソースディレクトリのファイルはビルドデ - AutotoolsProjectManager::Internal::AutotoolsBuildConfiguration - - Autotools Manager - Autotools マネージャ - + AutotoolsProjectManager BuildConfiguration diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts index a61f64966f7..5bddaf96398 100644 --- a/share/qtcreator/translations/qtcreator_pl.ts +++ b/share/qtcreator/translations/qtcreator_pl.ts @@ -21249,15 +21249,12 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt. - AutotoolsProjectManager::Internal::AutogenStepFactory + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - - AutotoolsProjectManager::Internal::AutogenStep Autogen Autogen @@ -21266,9 +21263,6 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt.Configuration unchanged, skipping autogen step. Konfiguracja niezmieniona, krok autogen pominięty. - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget Arguments: Argumenty: @@ -21278,17 +21272,11 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt.AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf @@ -21297,21 +21285,11 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt.Configuration unchanged, skipping autoreconf step. Konfiguracja niezmieniona, krok autoreconf pominięty. - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - Argumenty: - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Default The name of the build configuration created by default for a autotools project. @@ -21321,9 +21299,6 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt.Build Wersja - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: Katalog wersji: @@ -21332,39 +21307,23 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt.Autotools Manager Menedżer Autotools - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Kreator Autotools - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. Podaj katalog, w którym zbudować projekt. Zaleca się nie budować projektu w katalogu ze źródłami. Dzięki temu katalog ze źródłami pozostaje czysty i możliwe jest zbudowanie wielu wersji z różnymi ustawieniami, na podstawie tych samych źródeł. - - Build directory: - Katalog wersji: - Build Location Położenie wersji - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. Konfiguracja - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Konfiguracja @@ -21373,21 +21332,11 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt.Configuration unchanged, skipping configure step. Konfiguracja niezmieniona, krok konfiguracji pominięty. - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - Argumenty: - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. Konfiguracja - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 Parsowanie %1 w katalogu %2 @@ -21396,28 +21345,15 @@ Wersje Qt można dodać w: Opcje > Budowanie i uruchamianie > Wersje Qt.Parsing directory %1 Parsowanie katalogu %1 - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - - AutotoolsProjectManager::Internal::MakeStep Make Make - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - Argumenty: - Make AutotoolsProjectManager::MakeStepConfigWidget display name. diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index b7f138be074..43e121c3515 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -3543,7 +3543,7 @@ Warning: this is an experimental feature and might lead to failing to execute th - AutotoolsProjectManager::Internal::AutogenStep + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. @@ -3561,9 +3561,6 @@ Warning: this is an experimental feature and might lead to failing to execute th Configuration unchanged, skipping autogen step. Конфигурация не изменилась, этап autogen пропускается. - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. @@ -3573,31 +3570,18 @@ Warning: this is an experimental feature and might lead to failing to execute th Autoreconf Autoreconf - - Arguments: - Параметры: - Configuration unchanged, skipping autoreconf step. Конфигурация не изменилась, этап autoreconf пропускается. - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfiguration Autotools Manager Управление Autotools - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Мастер Autotools - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. It is not recommended to use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. Укажите каталог, в котором желаете собирать проект. Рекомендуется не использовать каталог с исходниками для сборки. Это позволит поддерживать каталог с исходниками в чистоте, а также даст возможность делать несколько сборок с различными настройками. @@ -3610,9 +3594,6 @@ Warning: this is an experimental feature and might lead to failing to execute th Build Location Каталог сборки - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Display name for AutotoolsProjectManager::ConfigureStep id. @@ -3622,17 +3603,10 @@ Warning: this is an experimental feature and might lead to failing to execute th Configure Configure - - Arguments: - Параметры: - Configuration unchanged, skipping configure step. Конфигурация не изменилась, этап configure пропускается. - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 Обрабатывается %1 в каталоге %2 diff --git a/share/qtcreator/translations/qtcreator_uk.ts b/share/qtcreator/translations/qtcreator_uk.ts index fdcd6b6d282..08267cdecaa 100644 --- a/share/qtcreator/translations/qtcreator_uk.ts +++ b/share/qtcreator/translations/qtcreator_uk.ts @@ -26355,19 +26355,12 @@ should a repository require SSH-authentication (see documentation on SSH and the - AutotoolsProjectManager::Internal::AutogenStepFactory + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - Autogen - Autogen - - - - AutotoolsProjectManager::Internal::AutogenStep Autogen Autogen @@ -26376,9 +26369,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping autogen step. Конфігурація не змінилась, пропускаємо крок autogen. - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget Arguments: Аргументи: @@ -26388,25 +26378,11 @@ should a repository require SSH-authentication (see documentation on SSH and the AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - Autogen - Autogen - - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - Autoreconf - Autoreconf - - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf @@ -26415,25 +26391,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping autoreconf step. Конфігурація не змінилась, пропускаємо крок autoreconf. - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - Аргументи: - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - Autoreconf - Autoreconf - - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Default The name of the build configuration created by default for a autotools project. @@ -26451,9 +26413,6 @@ should a repository require SSH-authentication (see documentation on SSH and the New configuration name: Назва нової конфігурації: - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: Тека збірки: @@ -26462,9 +26421,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Autotools Manager Управління Autotools - - - AutotoolsProjectManager::Internal::AutotoolsManager Failed opening project '%1': Project is not a file Збій відкриття проекту '%1': Проект не є файлом @@ -26473,43 +26429,23 @@ should a repository require SSH-authentication (see documentation on SSH and the Failed opening project "%1": Project is not a file Збій відкриття проекту "%1": Проект не є файлом - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Майстер Autotools - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. Будь ласка, введіть теку, в якій ви хочете зібрати ваш проект. Qt Creator рекомендує не використовувати теку з кодом для збірки. Це гарантуватиме, що тека з кодом лишатиметься чистою, та дозволить здійснювати декілька збірок з різними налаштуваннями. - - Build directory: - Тека збірки: - Build Location Розташування збірки - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. Configure - - Configure - Configure - - - - AutotoolsProjectManager::Internal::ConfigureStep Configure Configure @@ -26518,25 +26454,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping configure step. Конфігурація не змінилась, пропускаємо крок configure. - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - Аргументи: - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. Configure - - Configure - Configure - - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 Розбір %1 в теці %2 @@ -26545,21 +26467,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Parsing directory %1 Розбір теки %1 - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - Make - Make - - - - AutotoolsProjectManager::Internal::MakeStep Make Make @@ -26572,22 +26484,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration is faulty. Check the Issues view for details. Конфігурація збійна. Перевірте вид "Проблеми" для деталей. - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - Аргументи: - Make AutotoolsProjectManager::MakeStepConfigWidget display name. Make - - Make - Make - BinEditorDocument diff --git a/share/qtcreator/translations/qtcreator_zh_CN.ts b/share/qtcreator/translations/qtcreator_zh_CN.ts index 7e32dfa3128..28f18753195 100644 --- a/share/qtcreator/translations/qtcreator_zh_CN.ts +++ b/share/qtcreator/translations/qtcreator_zh_CN.ts @@ -44552,15 +44552,12 @@ Please choose a valid package name for your application (e.g. "org.example. - AutotoolsProjectManager::Internal::AutogenStepFactory + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - - AutotoolsProjectManager::Internal::AutogenStep Autogen Autogen @@ -44569,9 +44566,6 @@ Please choose a valid package name for your application (e.g. "org.example. Configuration unchanged, skipping autogen step. 配置未改变,跳过autogen步骤。 - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget Arguments: 参数: @@ -44581,17 +44575,11 @@ Please choose a valid package name for your application (e.g. "org.example. AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf @@ -44600,21 +44588,11 @@ Please choose a valid package name for your application (e.g. "org.example. Configuration unchanged, skipping autoreconf step. 配置未改变,跳过autoreconf步骤。 - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - 参数: - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Build 构建 @@ -44627,16 +44605,10 @@ Please choose a valid package name for your application (e.g. "org.example. New configuration name: 新配置名称: - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: 构建目录: - - - AutotoolsProjectManager::Internal::AutotoolsManager Failed opening project '%1': Project file does not exist 打开项目 '%1'失败: 项目文件不存在 @@ -44645,39 +44617,23 @@ Please choose a valid package name for your application (e.g. "org.example. Failed opening project '%1': Project already open 打开项目 '%1'失败:项目已经被打开 - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Autotool向导 - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. 请进入您想构建项目的目录。Qt Creator 建议不要使用源目录构建。这能确保源目录干净,并且可以针对不同设定多次构建。 - - Build directory: - 构建目录: - Build Location 构建路径 - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. 配置 - - - AutotoolsProjectManager::Internal::ConfigureStep Configure 配置 @@ -44686,21 +44642,11 @@ Please choose a valid package name for your application (e.g. "org.example. Configuration unchanged, skipping configure step. 配置未改变,跳过configure步骤。 - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - 参数: - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. 配置 - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 正在目录 %2中分析 %1 @@ -44709,17 +44655,11 @@ Please choose a valid package name for your application (e.g. "org.example. Parsing directory %1 正在分析目录 %1 - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - - AutotoolsProjectManager::Internal::MakeStep Make Make @@ -44732,13 +44672,6 @@ Please choose a valid package name for your application (e.g. "org.example. Configuration is faulty. Check the Issues view for details. 配置错误,请检查"问题"视图获得详细信息。 - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - 参数: - Make AutotoolsProjectManager::MakeStepConfigWidget display name. diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index 5f51f6b37fd..240f7042cf7 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -28156,15 +28156,12 @@ should a repository require SSH-authentication (see documentation on SSH and the - AutotoolsProjectManager::Internal::AutogenStepFactory + AutotoolsProjectManager Autogen Display name for AutotoolsProjectManager::AutogenStep id. Autogen - - - AutotoolsProjectManager::Internal::AutogenStep Autogen Autogen @@ -28173,9 +28170,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping autogen step. 設置未變更,跳過 autogen 步驟。 - - - AutotoolsProjectManager::Internal::AutogenStepConfigWidget Arguments: 參數: @@ -28185,17 +28179,11 @@ should a repository require SSH-authentication (see documentation on SSH and the AutotoolsProjectManager::AutogenStepConfigWidget display name. Autogen - - - AutotoolsProjectManager::Internal::AutoreconfStepFactory Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. Autoreconf - - - AutotoolsProjectManager::Internal::AutoreconfStep Autoreconf Autoreconf @@ -28204,21 +28192,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping autoreconf step. 設置未變更,跳過 autoreconf 步驟。 - - - AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget - - Arguments: - 參數: - Autoreconf AutotoolsProjectManager::AutoreconfStepConfigWidget display name. Autoreconf - - - AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory Build 建置 @@ -28231,9 +28209,6 @@ should a repository require SSH-authentication (see documentation on SSH and the New configuration name: 新設置名稱: - - - AutotoolsProjectManager::Internal::AutotoolsBuildSettingsWidget Build directory: 建置目錄: @@ -28246,9 +28221,6 @@ should a repository require SSH-authentication (see documentation on SSH and the <Invalid tool chain> <無效的工具鍊> - - - AutotoolsProjectManager::Internal::AutotoolsManager Failed opening project '%1': Project file does not exist 開啟專案 '%1' 失敗:專案檔不存在 @@ -28257,47 +28229,28 @@ should a repository require SSH-authentication (see documentation on SSH and the Failed opening project '%1': Project already open 開啟專案 '%1' 失敗:專案已經被開啟 - - - AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard Autotools Wizard Autotools 精靈 - - - AutotoolsProjectManager::Internal::BuildPathPage Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings. 請輸入您想建置專案的目錄。Qt Creator 建議您不要直接用源碼的目錄來做建置。這樣可以保持源碼目錄的乾淨,並且可以讓您用不同的設定進行多個建置。 - - Build directory: - 建置目錄: - Build Location 建置位置 - - - AutotoolsProjectManager::Internal::AutotoolsTarget Desktop Autotools Default target display name 桌面 - - - AutotoolsProjectManager::Internal::ConfigureStepFactory Configure Display name for AutotoolsProjectManager::ConfigureStep id. 設置 - - - AutotoolsProjectManager::Internal::ConfigureStep Configure 設置 @@ -28306,21 +28259,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping configure step. 設置未變更,跳過設置步驟。 - - - AutotoolsProjectManager::Internal::ConfigureStepConfigWidget - - Arguments: - 參數: - Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. 設置 - - - AutotoolsProjectManager::Internal::MakefileParser Parsing %1 in directory %2 在目錄 %2 剖析 %1 中 @@ -28329,17 +28272,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Parsing directory %1 剖析目錄 %1 中 - - - AutotoolsProjectManager::Internal::MakeStepFactory Make Display name for AutotoolsProjectManager::MakeStep id. Make - - - AutotoolsProjectManager::Internal::MakeStep Make Make @@ -28352,13 +28289,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration is faulty. Check the Issues view for details. 設置錯誤。請在錯誤檢視中看詳情。 - - - AutotoolsProjectManager::Internal::MakeStepConfigWidget - - Arguments: - 參數: - Make AutotoolsProjectManager::MakeStepConfigWidget display name. diff --git a/src/plugins/autotoolsprojectmanager/autogenstep.cpp b/src/plugins/autotoolsprojectmanager/autogenstep.cpp index d180d690944..a96c5bba21c 100644 --- a/src/plugins/autotoolsprojectmanager/autogenstep.cpp +++ b/src/plugins/autotoolsprojectmanager/autogenstep.cpp @@ -4,6 +4,7 @@ #include "autogenstep.h" #include "autotoolsprojectconstants.h" +#include "autotoolsprojectmanagertr.h" #include #include @@ -19,8 +20,7 @@ using namespace ProjectExplorer; using namespace Utils; -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { // AutogenStep @@ -35,8 +35,6 @@ namespace Internal { class AutogenStep final : public AbstractProcessStep { - Q_DECLARE_TR_FUNCTIONS(AutotoolsProjectManager::Internal::AutogenStep) - public: AutogenStep(BuildStepList *bsl, Id id); @@ -50,7 +48,7 @@ AutogenStep::AutogenStep(BuildStepList *bsl, Id id) : AbstractProcessStep(bsl, i { auto arguments = addAspect(); arguments->setSettingsKey("AutotoolsProjectManager.AutogenStep.AdditionalArguments"); - arguments->setLabelText(tr("Arguments:")); + arguments->setLabelText(Tr::tr("Arguments:")); arguments->setDisplayStyle(StringAspect::LineEditDisplay); arguments->setHistoryCompleter("AutotoolsPM.History.AutogenStepArgs"); @@ -86,7 +84,8 @@ void AutogenStep::doRun() } if (!m_runAutogen) { - emit addOutput(tr("Configuration unchanged, skipping autogen step."), BuildStep::OutputFormat::NormalMessage); + emit addOutput(Tr::tr("Configuration unchanged, skipping autogen step."), + OutputFormat::NormalMessage); emit finished(true); return; } @@ -106,10 +105,9 @@ void AutogenStep::doRun() AutogenStepFactory::AutogenStepFactory() { registerStep(Constants::AUTOGEN_STEP_ID); - setDisplayName(AutogenStep::tr("Autogen", "Display name for AutotoolsProjectManager::AutogenStep id.")); + setDisplayName(Tr::tr("Autogen", "Display name for AutotoolsProjectManager::AutogenStep id.")); setSupportedProjectType(Constants::AUTOTOOLS_PROJECT_ID); setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD); } -} // Internal -} // AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autogenstep.h b/src/plugins/autotoolsprojectmanager/autogenstep.h index ecb1cbc6917..05185d62cbe 100644 --- a/src/plugins/autotoolsprojectmanager/autogenstep.h +++ b/src/plugins/autotoolsprojectmanager/autogenstep.h @@ -5,8 +5,7 @@ #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { class AutogenStepFactory final : public ProjectExplorer::BuildStepFactory { @@ -14,5 +13,4 @@ public: AutogenStepFactory(); }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp b/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp index 6ffb12cc51c..65caaf13876 100644 --- a/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp +++ b/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp @@ -4,6 +4,7 @@ #include "autoreconfstep.h" #include "autotoolsprojectconstants.h" +#include "autotoolsprojectmanagertr.h" #include #include @@ -17,8 +18,7 @@ using namespace ProjectExplorer; using namespace Utils; -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { // AutoreconfStep class @@ -33,8 +33,6 @@ namespace Internal { class AutoreconfStep final : public AbstractProcessStep { - Q_DECLARE_TR_FUNCTIONS(AutotoolsProjectManager::Internal::AutoreconfStep) - public: AutoreconfStep(BuildStepList *bsl, Id id); @@ -49,7 +47,7 @@ AutoreconfStep::AutoreconfStep(BuildStepList *bsl, Id id) { auto arguments = addAspect(); arguments->setSettingsKey("AutotoolsProjectManager.AutoreconfStep.AdditionalArguments"); - arguments->setLabelText(tr("Arguments:")); + arguments->setLabelText(Tr::tr("Arguments:")); arguments->setValue("--force --install"); arguments->setDisplayStyle(StringAspect::LineEditDisplay); arguments->setHistoryCompleter("AutotoolsPM.History.AutoreconfStepArgs"); @@ -80,7 +78,8 @@ void AutoreconfStep::doRun() m_runAutoreconf = true; if (!m_runAutoreconf) { - emit addOutput(tr("Configuration unchanged, skipping autoreconf step."), OutputFormat::NormalMessage); + emit addOutput(Tr::tr("Configuration unchanged, skipping autoreconf step."), + OutputFormat::NormalMessage); emit finished(true); return; } @@ -100,10 +99,9 @@ void AutoreconfStep::doRun() AutoreconfStepFactory::AutoreconfStepFactory() { registerStep(Constants::AUTORECONF_STEP_ID); - setDisplayName(AutoreconfStep::tr("Autoreconf", "Display name for AutotoolsProjectManager::AutoreconfStep id.")); + setDisplayName(Tr::tr("Autoreconf", "Display name for AutotoolsProjectManager::AutoreconfStep id.")); setSupportedProjectType(Constants::AUTOTOOLS_PROJECT_ID); setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD); } -} // Internal -} // AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autoreconfstep.h b/src/plugins/autotoolsprojectmanager/autoreconfstep.h index 7c6ba164f10..9d97ecb99b1 100644 --- a/src/plugins/autotoolsprojectmanager/autoreconfstep.h +++ b/src/plugins/autotoolsprojectmanager/autoreconfstep.h @@ -5,8 +5,7 @@ #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { class AutoreconfStepFactory final : public ProjectExplorer::BuildStepFactory { @@ -14,5 +13,4 @@ public: AutoreconfStepFactory(); }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index cbf997dc435..8081905d124 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -4,6 +4,7 @@ #include "autotoolsbuildconfiguration.h" #include "autotoolsprojectconstants.h" +#include "autotoolsprojectmanagertr.h" #include #include @@ -14,15 +15,12 @@ using namespace ProjectExplorer; using namespace Utils; -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { // AutotoolsBuildConfiguration class AutotoolsBuildConfiguration : public BuildConfiguration { - Q_DECLARE_TR_FUNCTIONS(AutotoolsProjectManager::Internal::AutotoolsBuildConfiguration) - public: AutotoolsBuildConfiguration(Target *target, Id id) : BuildConfiguration(target, id) @@ -31,7 +29,7 @@ public: // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory. setBuildDirectory("/"); setBuildDirectoryHistoryCompleter("AutoTools.BuildDir.History"); - setConfigWidgetDisplayName(tr("Autotools Manager")); + setConfigWidgetDisplayName(Tr::tr("Autotools Manager")); // ### Build Steps Build ### const FilePath autogenFile = target->project()->projectDirectory() / "autogen.sh"; @@ -69,5 +67,4 @@ AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory() }); } -} // Internal -} // AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h index db25b711fc7..e5246ddd43a 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h @@ -5,8 +5,7 @@ #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { class AutotoolsBuildConfigurationFactory final : public ProjectExplorer::BuildConfigurationFactory { @@ -14,5 +13,4 @@ public: AutotoolsBuildConfigurationFactory(); }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.cpp index 74077fdc4ff..4d38b63fe47 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.cpp @@ -4,7 +4,6 @@ #include "autotoolsbuildsystem.h" #include "makefileparserthread.h" -#include "makestep.h" #include #include @@ -12,19 +11,18 @@ #include #include +#include using namespace ProjectExplorer; -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { AutotoolsBuildSystem::AutotoolsBuildSystem(Target *target) : BuildSystem(target) , m_cppCodeModelUpdater(new CppEditor::CppProjectUpdater) { - connect(target, &Target::activeBuildConfigurationChanged, this, [this]() { requestParse(); }); - - connect(target->project(), &Project::projectFileIsDirty, this, [this]() { requestParse(); }); + connect(target, &Target::activeBuildConfigurationChanged, this, [this] { requestParse(); }); + connect(target->project(), &Project::projectFileIsDirty, this, [this] { requestParse(); }); } AutotoolsBuildSystem::~AutotoolsBuildSystem() @@ -158,5 +156,4 @@ void AutotoolsBuildSystem::updateCppCodeModel() m_cppCodeModelUpdater->update({project(), kitInfo, activeParseEnvironment(), {rpp}}); } -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h index 145244bab09..50cb077044a 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildsystem.h @@ -9,8 +9,7 @@ namespace CppEditor { class CppProjectUpdater; } -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { class MakefileParserThread; @@ -46,5 +45,4 @@ private: CppEditor::CppProjectUpdater *m_cppCodeModelUpdater = nullptr; }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp index 56f0e8f2e27..3f4bfdded44 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp @@ -14,23 +14,36 @@ #include #include +#include #include #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { -AutotoolsProject::AutotoolsProject(const Utils::FilePath &fileName) - : Project(Constants::MAKEFILE_MIMETYPE, fileName) +/** + * @brief Implementation of the ProjectExplorer::Project interface. + * + * Loads the autotools project and embeds it into the QtCreator project tree. + * The class AutotoolsProject is the core of the autotools project plugin. + * It is responsible to parse the Makefile.am files and do trigger project + * updates if a Makefile.am file or a configure.ac file has been changed. + */ +class AutotoolsProject : public ProjectExplorer::Project { - setId(Constants::AUTOTOOLS_PROJECT_ID); - setProjectLanguages(Core::Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID)); - setDisplayName(projectDirectory().fileName()); +public: + explicit AutotoolsProject(const Utils::FilePath &fileName) + : Project(Constants::MAKEFILE_MIMETYPE, fileName) + { + setId(Constants::AUTOTOOLS_PROJECT_ID); + setProjectLanguages(Core::Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID)); + setDisplayName(projectDirectory().fileName()); - setHasMakeInstallEquivalent(true); + setHasMakeInstallEquivalent(true); + + setBuildSystemCreator([](ProjectExplorer::Target *t) { return new AutotoolsBuildSystem(t); }); + } +}; - setBuildSystemCreator([](ProjectExplorer::Target *t) { return new AutotoolsBuildSystem(t); }); -} class AutotoolsProjectPluginPrivate { @@ -50,8 +63,7 @@ AutotoolsProjectPlugin::~AutotoolsProjectPlugin() void AutotoolsProjectPlugin::extensionsInitialized() { } -bool AutotoolsProjectPlugin::initialize(const QStringList &arguments, - QString *errorString) +bool AutotoolsProjectPlugin::initialize(const QStringList &arguments, QString *errorString) { Q_UNUSED(arguments) Q_UNUSED(errorString) @@ -62,5 +74,4 @@ bool AutotoolsProjectPlugin::initialize(const QStringList &arguments, return true; } -} // namespace Internal -} // AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h index 6bd0fd64053..2c8eff6aa47 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h @@ -3,12 +3,9 @@ #pragma once -#include - #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { /** * @brief Implementation of the ExtensionsSystem::IPlugin interface. @@ -51,19 +48,4 @@ class AutotoolsProjectPlugin final : public ExtensionSystem::IPlugin class AutotoolsProjectPluginPrivate *d; }; -/** - * @brief Implementation of the ProjectExplorer::Project interface. - * - * Loads the autotools project and embeds it into the QtCreator project tree. - * The class AutotoolsProject is the core of the autotools project plugin. - * It is responsible to parse the Makefile.am files and do trigger project - * updates if a Makefile.am file or a configure.ac file has been changed. - */ -class AutotoolsProject : public ProjectExplorer::Project -{ -public: - explicit AutotoolsProject(const Utils::FilePath &fileName); -}; - -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/configurestep.cpp b/src/plugins/autotoolsprojectmanager/configurestep.cpp index 9926c7ab697..e2abc5c6569 100644 --- a/src/plugins/autotoolsprojectmanager/configurestep.cpp +++ b/src/plugins/autotoolsprojectmanager/configurestep.cpp @@ -3,8 +3,8 @@ #include "configurestep.h" -#include "autotoolsbuildconfiguration.h" #include "autotoolsprojectconstants.h" +#include "autotoolsprojectmanagertr.h" #include #include @@ -20,8 +20,7 @@ using namespace ProjectExplorer; using namespace Utils; -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { // Helper Function @@ -52,8 +51,6 @@ static QString projectDirRelativeToBuildDir(BuildConfiguration *bc) class ConfigureStep final : public AbstractProcessStep { - Q_DECLARE_TR_FUNCTIONS(AutotoolsProjectManager::Internal::ConfigureStep) - public: ConfigureStep(BuildStepList *bsl, Id id); @@ -73,7 +70,7 @@ ConfigureStep::ConfigureStep(BuildStepList *bsl, Id id) auto arguments = addAspect(); arguments->setDisplayStyle(StringAspect::LineEditDisplay); arguments->setSettingsKey("AutotoolsProjectManager.ConfigureStep.AdditionalArguments"); - arguments->setLabelText(tr("Arguments:")); + arguments->setLabelText(Tr::tr("Arguments:")); arguments->setHistoryCompleter("AutotoolsPM.History.ConfigureArgs"); connect(arguments, &BaseAspect::changed, this, [this] { @@ -116,7 +113,7 @@ void ConfigureStep::doRun() } if (!m_runConfigure) { - emit addOutput(tr("Configuration unchanged, skipping configure step."), OutputFormat::NormalMessage); + emit addOutput(Tr::tr("Configuration unchanged, skipping configure step."), OutputFormat::NormalMessage); emit finished(true); return; } @@ -142,10 +139,9 @@ void ConfigureStep::doRun() ConfigureStepFactory::ConfigureStepFactory() { registerStep(Constants::CONFIGURE_STEP_ID); - setDisplayName(ConfigureStep::tr("Configure", "Display name for AutotoolsProjectManager::ConfigureStep id.")); + setDisplayName(Tr::tr("Configure", "Display name for AutotoolsProjectManager::ConfigureStep id.")); setSupportedProjectType(Constants::AUTOTOOLS_PROJECT_ID); setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD); } -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/configurestep.h b/src/plugins/autotoolsprojectmanager/configurestep.h index 76864fe2ec3..ed59a3e53c8 100644 --- a/src/plugins/autotoolsprojectmanager/configurestep.h +++ b/src/plugins/autotoolsprojectmanager/configurestep.h @@ -5,8 +5,7 @@ #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { class ConfigureStepFactory final : public ProjectExplorer::BuildStepFactory { @@ -14,5 +13,4 @@ public: ConfigureStepFactory(); }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/makefileparser.cpp b/src/plugins/autotoolsprojectmanager/makefileparser.cpp index 85a9cb00b42..91169bb8f2e 100644 --- a/src/plugins/autotoolsprojectmanager/makefileparser.cpp +++ b/src/plugins/autotoolsprojectmanager/makefileparser.cpp @@ -3,6 +3,8 @@ #include "makefileparser.h" +#include "autotoolsprojectmanagertr.h" + #include #include #include @@ -11,7 +13,7 @@ #include #include -using namespace AutotoolsProjectManager::Internal; +namespace AutotoolsProjectManager::Internal { MakefileParser::MakefileParser(const QString &makefile) : m_makefile(makefile) { } @@ -40,7 +42,7 @@ bool MakefileParser::parse() QFileInfo info(m_makefile); m_makefiles.append(info.fileName()); - emit status(tr("Parsing %1 in directory %2").arg(info.fileName()).arg(info.absolutePath())); + emit status(Tr::tr("Parsing %1 in directory %2").arg(info.fileName()).arg(info.absolutePath())); m_textStream.setDevice(file); @@ -237,7 +239,7 @@ void MakefileParser::parseSubDirs() // Delegate the parsing of all sub directories to a local // makefile parser and merge the results - foreach (const QString& subDir, subDirs) { + for (const QString &subDir : qAsConst(subDirs)) { const QChar slash = QLatin1Char('/'); const QString subDirMakefile = path + slash + subDir + slash + makefileName; @@ -298,7 +300,7 @@ QStringList MakefileParser::directorySources(const QString &directory, return QStringList(); } - emit status(tr("Parsing directory %1").arg(directory)); + emit status(Tr::tr("Parsing directory %1").arg(directory)); QStringList list; // return value @@ -550,3 +552,5 @@ void MakefileParser::parseIncludePaths() m_cflags.removeDuplicates(); m_cxxflags.removeDuplicates(); } + +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/makefileparser.h b/src/plugins/autotoolsprojectmanager/makefileparser.h index 275340b321d..4ffb94de4c2 100644 --- a/src/plugins/autotoolsprojectmanager/makefileparser.h +++ b/src/plugins/autotoolsprojectmanager/makefileparser.h @@ -14,8 +14,7 @@ QT_FORWARD_DECLARE_CLASS(QDir) -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { /** * @brief Parses the autotools makefile Makefile.am. @@ -258,5 +257,4 @@ private: QTextStream m_textStream; ///< Textstream that represents the makefile }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/makefileparserthread.h b/src/plugins/autotoolsprojectmanager/makefileparserthread.h index 43cb6c67b6d..23901ecafa8 100644 --- a/src/plugins/autotoolsprojectmanager/makefileparserthread.h +++ b/src/plugins/autotoolsprojectmanager/makefileparserthread.h @@ -13,8 +13,7 @@ #include #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { /** * @brief Executes the makefile parser in the thread. @@ -129,5 +128,4 @@ private: ProjectExplorer::BuildSystem::ParseGuard m_guard; }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/makestep.cpp b/src/plugins/autotoolsprojectmanager/makestep.cpp index dba3e01825a..20ebe5b630e 100644 --- a/src/plugins/autotoolsprojectmanager/makestep.cpp +++ b/src/plugins/autotoolsprojectmanager/makestep.cpp @@ -9,28 +9,25 @@ using namespace AutotoolsProjectManager::Constants; -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { // MakeStep class MakeStep : public ProjectExplorer::MakeStep { public: - MakeStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id); -}; - -MakeStep::MakeStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id) - : ProjectExplorer::MakeStep(bsl, id) -{ - setAvailableBuildTargets({"all", "clean"}); - if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) { - setSelectedBuildTarget("clean"); - setIgnoreReturnValue(true); - } else { - setSelectedBuildTarget("all"); + MakeStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id) + : ProjectExplorer::MakeStep(bsl, id) + { + setAvailableBuildTargets({"all", "clean"}); + if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) { + setSelectedBuildTarget("clean"); + setIgnoreReturnValue(true); + } else { + setSelectedBuildTarget("all"); + } } -} +}; // MakeStepFactory @@ -41,5 +38,4 @@ MakeStepFactory::MakeStepFactory() setSupportedProjectType(AUTOTOOLS_PROJECT_ID); } -} // Internal -} // AutotoolsProjectManager +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/autotoolsprojectmanager/makestep.h b/src/plugins/autotoolsprojectmanager/makestep.h index 5ea0572fc9c..96c19d94832 100644 --- a/src/plugins/autotoolsprojectmanager/makestep.h +++ b/src/plugins/autotoolsprojectmanager/makestep.h @@ -5,8 +5,7 @@ #include -namespace AutotoolsProjectManager { -namespace Internal { +namespace AutotoolsProjectManager::Internal { class MakeStepFactory final : public ProjectExplorer::BuildStepFactory { @@ -14,5 +13,4 @@ public: MakeStepFactory(); }; -} // namespace Internal -} // namespace AutotoolsProjectManager +} // AutotoolsProjectManager::Internal From 58a4cd0804d8e970b9a582cc04d2b179bfd239e8 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 30 Sep 2022 07:33:49 +0200 Subject: [PATCH 15/96] CMakePM: Fix nullptr access Amends 1b1fc439540d9619f78bd1478d89db43d471fb75. Change-Id: Idfcf5bb2c58f37f366cb739475c7ba2d56d76e48 Reviewed-by: hjk --- src/plugins/cmakeprojectmanager/cmakekitinformation.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp index 22e963a1be4..9ddeb279914 100644 --- a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp +++ b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp @@ -1145,11 +1145,14 @@ Tasks CMakeConfigurationKitAspect::validate(const Kit *k) const { QTC_ASSERT(k, return Tasks()); + const CMakeTool *const cmake = CMakeKitAspect::cmakeTool(k); + if (!cmake) + return Tasks(); + const QtSupport::QtVersion *const version = QtSupport::QtKitAspect::qtVersion(k); const ToolChain *const tcC = ToolChainKitAspect::cToolChain(k); const ToolChain *const tcCxx = ToolChainKitAspect::cxxToolChain(k); const CMakeConfig config = configuration(k); - const CMakeTool *const cmake = CMakeKitAspect::cmakeTool(k); const bool isQt4 = version && version->qtVersion() < QVersionNumber(5, 0, 0); FilePath qmakePath; // This is relative to the cmake used for building. From 65d6c663e39a959ebfeeff7d7ab33a2fea1a0705 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 29 Sep 2022 16:45:31 +0200 Subject: [PATCH 16/96] Doc: Describe the Help > Change Log option Task-number: QTCREATORBUG-27876 Change-Id: I484070f77695652642c6b2a12a57b2d0ec691708 Reviewed-by: Eike Ziller --- doc/qtcreator/src/overview/creator-acknowledgements.qdoc | 6 +++--- doc/qtcreator/src/user-interface/creator-ui.qdoc | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc index 49b658e003c..2be1ed05ef0 100644 --- a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc +++ b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc @@ -15,9 +15,9 @@ \section1 Credits - We would like to thank our contributors, who are listed in the \QC - \l{https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/dist}{change logs} - for each release. + We would like to thank our contributors, who are listed in the \QC change + logs for each release. To view the change logs, select \uicontrol Help > + \uicontrol {Change Log}. \section1 Qbs diff --git a/doc/qtcreator/src/user-interface/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc index 8e966759d46..bd9285df447 100644 --- a/doc/qtcreator/src/user-interface/creator-ui.qdoc +++ b/doc/qtcreator/src/user-interface/creator-ui.qdoc @@ -86,6 +86,11 @@ QML code by debugging or profiling it. \endif + \section1 What's New? + + For information about new features and bug fixes in each \QC release, + select \uicontrol Help > \uicontrol {Change Log}. + \section1 For \macos Users \QC uses standard names and locations for standard features, such as From 479403e320c7c0a6fc2509c59605f5890439b80d Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 29 Sep 2022 17:23:03 +0200 Subject: [PATCH 17/96] Bookmark: Clean up translations Some unusual contexts went unnoticed so far. Change-Id: I6017d8ae92310ee3b56538d1fa5c52f0de0a4c8a Reviewed-by: Alessandro Portale --- share/qtcreator/translations/qtcreator_cs.ts | 35 +------------------ share/qtcreator/translations/qtcreator_da.ts | 31 +--------------- share/qtcreator/translations/qtcreator_de.ts | 31 +--------------- share/qtcreator/translations/qtcreator_es.ts | 31 +--------------- share/qtcreator/translations/qtcreator_fr.ts | 35 +------------------ share/qtcreator/translations/qtcreator_hr.ts | 29 ++------------- share/qtcreator/translations/qtcreator_hu.ts | 27 +------------- share/qtcreator/translations/qtcreator_it.ts | 31 +--------------- share/qtcreator/translations/qtcreator_ja.ts | 27 ++------------ share/qtcreator/translations/qtcreator_pl.ts | 27 ++------------ share/qtcreator/translations/qtcreator_ru.ts | 31 +--------------- share/qtcreator/translations/qtcreator_sl.ts | 35 +------------------ share/qtcreator/translations/qtcreator_uk.ts | 35 +------------------ .../qtcreator/translations/qtcreator_zh_CN.ts | 35 +------------------ .../qtcreator/translations/qtcreator_zh_TW.ts | 35 +------------------ .../makefileparserthread.cpp | 4 ++- src/plugins/bookmarks/bookmark.cpp | 15 ++++---- src/plugins/bookmarks/bookmark.h | 6 ++-- src/plugins/bookmarks/bookmarkfilter.cpp | 5 ++- src/plugins/bookmarks/bookmarkfilter.h | 7 ++-- src/plugins/bookmarks/bookmarkmanager.cpp | 6 ++-- src/plugins/bookmarks/bookmarkmanager.h | 14 ++------ src/plugins/bookmarks/bookmarksplugin.cpp | 6 ++-- src/plugins/bookmarks/bookmarksplugin.h | 6 ++-- 24 files changed, 47 insertions(+), 497 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_cs.ts b/share/qtcreator/translations/qtcreator_cs.ts index e3d02bf63eb..edd6997c7ac 100644 --- a/share/qtcreator/translations/qtcreator_cs.ts +++ b/share/qtcreator/translations/qtcreator_cs.ts @@ -44,7 +44,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Přidat záložku @@ -81,13 +81,6 @@ Add in folder: Přidat do složky: - - - BookmarkManager - - Bookmarks - Záložky - Remove Odstranit @@ -100,21 +93,6 @@ You are going to delete a Folder which will also<br>remove its content. Are you sure you would like to continue? Chystáte se smazat složku, přičemž se smaže<br>i její obsah. Jste si jistý, že přesto chcete pokračovat? - - New Folder - Nová složka - - - - BookmarkWidget - - Delete Folder - Smazat složku - - - Rename Folder - Přejmenovat složku - Show Bookmark Ukázat záložku @@ -143,17 +121,6 @@ Add Přidat - - Remove - Odstranit - - - - Bookmarks - - Bookmarks - Záložky - Move Up Posunout nahoru diff --git a/share/qtcreator/translations/qtcreator_da.ts b/share/qtcreator/translations/qtcreator_da.ts index bf250badb8e..f36c6a9a5cf 100644 --- a/share/qtcreator/translations/qtcreator_da.ts +++ b/share/qtcreator/translations/qtcreator_da.ts @@ -3883,7 +3883,7 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15. - BookmarkDialog + Bookmarks Add Bookmark Tilføj bogmærke @@ -3916,13 +3916,6 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15.Rename Folder Omdøb mappe - - - BookmarkManager - - Bookmarks - Bogmærker - Remove Fjern @@ -3931,25 +3924,10 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15.Deleting a folder also removes its content.<br>Do you want to continue? Sletning af en mappe fjerner også alt dens indhold.<br>Vil du fortsætte? - - New Folder - Ny mappe - Bookmark Bogmærke - - - BookmarkWidget - - Delete Folder - Slet mappe - - - Rename Folder - Omdøb mappe - Show Bookmark Vis bogmærke @@ -3966,9 +3944,6 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15.Rename Bookmark Omdøb bogmærke - - - Bookmarks Edit Bookmark Rediger bogmærke @@ -3981,10 +3956,6 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15.Line number: Linjenummer: - - Bookmarks - Bogmærker - Move Up Flyt op diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 9bcb48a4e14..b336df81650 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -25,7 +25,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Lesezeichen hinzufügen @@ -58,13 +58,6 @@ Add in folder: Im Verzeichnis: - - - BookmarkManager - - Bookmarks - Lesezeichen - Remove Entfernen @@ -73,25 +66,10 @@ Deleting a folder also removes its content.<br>Do you want to continue? Beim Löschen eines Verzeichnisses wird auch dessen Inhalt gelöscht.<br>Möchten Sie trotzdem fortsetzen? - - New Folder - Neues Verzeichnis - Bookmark Lesezeichen - - - BookmarkWidget - - Delete Folder - Verzeichnis löschen - - - Rename Folder - Verzeichnis umbenennen - Show Bookmark Lesezeichen anzeigen @@ -108,13 +86,6 @@ Rename Bookmark Lesezeichen umbenennen - - - Bookmarks - - Bookmarks - Lesezeichen - Move Up Nach oben diff --git a/share/qtcreator/translations/qtcreator_es.ts b/share/qtcreator/translations/qtcreator_es.ts index fd0f5a18bfc..1809eb692cc 100644 --- a/share/qtcreator/translations/qtcreator_es.ts +++ b/share/qtcreator/translations/qtcreator_es.ts @@ -89,7 +89,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Agregar marcador @@ -126,17 +126,10 @@ Rename Folder Renombrar directorio - - - BookmarkManager Bookmark Marcador - - Bookmarks - Marcadores - Remove Suprimir @@ -149,17 +142,6 @@ New Folder Nuevo directorio - - - BookmarkWidget - - Delete Folder - Suprimir directorio - - - Rename Folder - Renombrar directorio - Show Bookmark Mostrar marcador @@ -184,17 +166,6 @@ Add Agregar - - Remove - Suprimir - - - - Bookmarks - - Bookmarks - Marcadores - &Remove Bookmark Sup&rimir marcador diff --git a/share/qtcreator/translations/qtcreator_fr.ts b/share/qtcreator/translations/qtcreator_fr.ts index 50d18ff4106..892561e7269 100644 --- a/share/qtcreator/translations/qtcreator_fr.ts +++ b/share/qtcreator/translations/qtcreator_fr.ts @@ -48,7 +48,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Ajouter un signet @@ -85,17 +85,10 @@ Add in folder: Ajouter dans le dossier : - - - BookmarkManager Bookmark Signet - - Bookmarks - Signets - Remove Supprimer @@ -108,21 +101,6 @@ You are going to delete a Folder which will also<br>remove its content. Are you sure you would like to continue? Vous allez supprimer un dossier et tout ce qu'il contient.<br>Êtes vous sûr de vouloir continuer ? - - New Folder - Nouveau dossier - - - - BookmarkWidget - - Delete Folder - Supprimer le dossier - - - Rename Folder - Renommer le dossier - Show Bookmark Afficher le signet @@ -151,17 +129,6 @@ Add Ajouter - - Remove - Supprimer - - - - Bookmarks - - Bookmarks - Signets - Move Up Déplacer vers le haut diff --git a/share/qtcreator/translations/qtcreator_hr.ts b/share/qtcreator/translations/qtcreator_hr.ts index d733979252a..24388562824 100644 --- a/share/qtcreator/translations/qtcreator_hr.ts +++ b/share/qtcreator/translations/qtcreator_hr.ts @@ -9383,7 +9383,7 @@ should a repository require SSH-authentication (see documentation on SSH and the - BookmarkDialog + Bookmarks Add Bookmark Dodaj knjižnu oznaku @@ -16741,15 +16741,11 @@ Check the test environment. - BookmarkManager + Bookmarks Bookmark Knjižna oznaka - - Bookmarks - Knjižne oznake - Remove Ukloni @@ -16758,17 +16754,6 @@ Check the test environment. Deleting a folder also removes its content.<br>Do you want to continue? Brisanjem mape se uklanja i njen sadržaj.<br>Želiš li nastaviti? - - New Folder - Nova mapa - - - - Bookmarks - - Bookmarks - Knjižne oznake - Move Up Premjesti prema gore @@ -40861,15 +40846,7 @@ What do you want to do? - BookmarkWidget - - Delete Folder - Ukloni mapu - - - Rename Folder - Preimenuj mapu - + Bookmarks Show Bookmark Prikaži knjižnu oznaku diff --git a/share/qtcreator/translations/qtcreator_hu.ts b/share/qtcreator/translations/qtcreator_hu.ts index 5f485187fec..25dca57a887 100644 --- a/share/qtcreator/translations/qtcreator_hu.ts +++ b/share/qtcreator/translations/qtcreator_hu.ts @@ -77,7 +77,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Künyvjelző hozzáadása @@ -110,13 +110,6 @@ Rename Folder Dosszié átnevezése - - - BookmarkManager - - Bookmarks - Könyvjelzők - Remove Eltávolítás @@ -125,13 +118,6 @@ You are going to delete a Folder which will also<br>remove its content. Are you sure you would like to continue? Egy olyan irattárat fog törölni, mely <br>törölni fogja annak tartalmát is. Biztos benne, hogy folytatni szeretné? - - New Folder - Új dosszié - - - - BookmarkWidget Delete Folder Irattár törlése @@ -164,21 +150,10 @@ Add Hozzáadás - - Remove - Eltávolítás - - - - Bookmarks &Remove Bookmark Könyvjelző &eltávolítása - - Bookmarks - Könyvjelzők - Remove all Bookmarks Az összes könyvjelző eltávolítása diff --git a/share/qtcreator/translations/qtcreator_it.ts b/share/qtcreator/translations/qtcreator_it.ts index f675922862e..9dc5befdad6 100644 --- a/share/qtcreator/translations/qtcreator_it.ts +++ b/share/qtcreator/translations/qtcreator_it.ts @@ -98,7 +98,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Aggiungi un Segnalibro @@ -135,17 +135,10 @@ Rename Folder Rinomina la Cartella - - - BookmarkManager Bookmark Segnalibro - - Bookmarks - Segnalibri - Remove Rimuovi @@ -158,17 +151,6 @@ New Folder Nuova Cartella - - - BookmarkWidget - - Delete Folder - Cancella la Cartella - - - Rename Folder - Rinomina la Cartella - Show Bookmark Mostra il Segnalibro @@ -193,17 +175,6 @@ Add Aggiungi - - Remove - Rimuovi - - - - Bookmarks - - Bookmarks - Segnalibri - &Remove Bookmark &Rimuovi Segnalibro diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index 8c9cadfe3b9..5824aad2e46 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -7513,7 +7513,7 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ - BookmarkDialog + Bookmarks Add Bookmark ブックマークの追加 @@ -12877,10 +12877,6 @@ in the system's browser for manual download. Bookmarks - - Bookmarks - ブックマーク - Move Up 上に移動 @@ -33401,15 +33397,7 @@ When a problem is detected, the application is interrupted and can be debugged.< - BookmarkWidget - - Delete Folder - フォルダを削除する - - - Rename Folder - フォルダ名の変更 - + Bookmarks Show Bookmark ブックマークを開く @@ -33426,13 +33414,6 @@ When a problem is detected, the application is interrupted and can be debugged.< Rename Bookmark ブックマークの名前変更 - - - BookmarkManager - - Bookmarks - ブックマーク - Remove 削除 @@ -33441,10 +33422,6 @@ When a problem is detected, the application is interrupted and can be debugged.< Deleting a folder also removes its content.<br>Do you want to continue? フォルダを削除すると中身も削除されます。<br>続行しますか? - - New Folder - 新しいフォルダ - Bookmark ブックマーク diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts index 5bddaf96398..dfb4ed087f4 100644 --- a/share/qtcreator/translations/qtcreator_pl.ts +++ b/share/qtcreator/translations/qtcreator_pl.ts @@ -1378,7 +1378,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Dodaj zakładkę @@ -1986,10 +1986,6 @@ Przyczyna: %3 Bookmarks - - Bookmarks - Zakładki - Move Up Przenieś do góry @@ -9958,15 +9954,7 @@ Nie zostanie zastosowane do białych znaków w komentarzach i ciągach znakowych - BookmarkWidget - - Delete Folder - Usuń katalog - - - Rename Folder - Zmień nazwę katalogu - + Bookmarks Show Bookmark Pokaż zakładkę @@ -9983,13 +9971,6 @@ Nie zostanie zastosowane do białych znaków w komentarzach i ciągach znakowych Rename Bookmark Zmień nazwę zakładki - - - BookmarkManager - - Bookmarks - Zakładki - Remove Usuń @@ -9998,10 +9979,6 @@ Nie zostanie zastosowane do białych znaków w komentarzach i ciągach znakowych Deleting a folder also removes its content.<br>Do you want to continue? Usunięcie katalogu usuwa również jego zawartość.<br>Czy kontynuować? - - New Folder - Nowy katalog - Bookmark Zakładka diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index 43e121c3515..c150c2f49d4 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -5577,7 +5577,7 @@ For example, "Revision: 15" will leave the branch at revision 15. - BookmarkDialog + Bookmarks Add Bookmark Добавить закладку @@ -5610,13 +5610,6 @@ For example, "Revision: 15" will leave the branch at revision 15.Add in folder: Добавить в папку: - - - BookmarkManager - - Bookmarks - Закладки - Remove Удалить @@ -5625,25 +5618,10 @@ For example, "Revision: 15" will leave the branch at revision 15.Deleting a folder also removes its content.<br>Do you want to continue? Удаление папки приведёт к удалению её содержимого.<br>Желаете продолжить? - - New Folder - Новая папка - Bookmark Закладка - - - BookmarkWidget - - Delete Folder - Удалить папку - - - Rename Folder - Переименовать папку - Show Bookmark Показать закладку @@ -5660,13 +5638,6 @@ For example, "Revision: 15" will leave the branch at revision 15.Rename Bookmark Переименовать закладку - - - Bookmarks - - Bookmarks - Закладки - Edit Bookmark Изменение закладки diff --git a/share/qtcreator/translations/qtcreator_sl.ts b/share/qtcreator/translations/qtcreator_sl.ts index e36ea3677b6..c78944f2445 100644 --- a/share/qtcreator/translations/qtcreator_sl.ts +++ b/share/qtcreator/translations/qtcreator_sl.ts @@ -109,7 +109,7 @@ - BookmarkDialog + Bookmarks Add Bookmark Dodaj zaznamek @@ -149,13 +149,6 @@ Add in Folder: Dodaj v mapo: - - - BookmarkManager - - Bookmarks - Zaznamki - Remove Odstrani @@ -164,25 +157,10 @@ Deleting a folder also removes its content.<br>Do you want to continue? Izbris mape odstrani tudi njeno vsebino.<br>Ali želite nadaljevati? - - New Folder - Nova mapa - You are going to delete a Folder which will also<br>remove its content. Are you sure you would like to continue? Nameravate izbrisati mapo, pri čemer bo zbrisana<br>tudi njena vsebina. Ali res želite nadaljevati? - - - BookmarkWidget - - Delete Folder - Izbriši mapo - - - Rename Folder - Preimenuj mapo - Show Bookmark Prikaži zaznamek @@ -203,17 +181,6 @@ Add Dodaj - - Remove - Odstrani - - - - Bookmarks - - Bookmarks - Zaznamki - Move Up Premakni gor diff --git a/share/qtcreator/translations/qtcreator_uk.ts b/share/qtcreator/translations/qtcreator_uk.ts index 08267cdecaa..ce6aef153e3 100644 --- a/share/qtcreator/translations/qtcreator_uk.ts +++ b/share/qtcreator/translations/qtcreator_uk.ts @@ -806,7 +806,7 @@ Local pulls are not applied to the master branch. - BookmarkDialog + Bookmarks Add Bookmark Додати закладку @@ -839,13 +839,6 @@ Local pulls are not applied to the master branch. Add in folder: Додати в теку: - - - BookmarkManager - - Bookmarks - Закладки - Remove Видалити @@ -854,21 +847,6 @@ Local pulls are not applied to the master branch. Deleting a folder also removes its content.<br>Do you want to continue? Видалення теки призводить до видалення її вмісту.<br>Бажаєте продовжити? - - New Folder - Нова тека - - - - BookmarkWidget - - Delete Folder - Видалити теку - - - Rename Folder - Перейменувати теку - Show Bookmark Показати закладку @@ -889,17 +867,6 @@ Local pulls are not applied to the master branch. Add Додати - - Remove - Видалити - - - - Bookmarks - - Bookmarks - Закладки - Move Up Пересунути вгору diff --git a/share/qtcreator/translations/qtcreator_zh_CN.ts b/share/qtcreator/translations/qtcreator_zh_CN.ts index 28f18753195..f5fd36f27c2 100644 --- a/share/qtcreator/translations/qtcreator_zh_CN.ts +++ b/share/qtcreator/translations/qtcreator_zh_CN.ts @@ -114,7 +114,7 @@ - BookmarkDialog + Bookmarks Add Bookmark 添加书签 @@ -151,13 +151,6 @@ Add in folder: 添加到文件夹: - - - BookmarkManager - - Bookmarks - 书签 - Remove 删除 @@ -166,21 +159,6 @@ Deleting a folder also removes its content.<br>Do you want to continue? 删除文件夹会同时删除文件夹下的文件。<br>您确定继续吗? - - New Folder - 新文件夹 - - - - BookmarkWidget - - Delete Folder - 删除文件夹 - - - Rename Folder - 重命名文件夹 - Show Bookmark 显示书签 @@ -205,17 +183,6 @@ Add 添加 - - Remove - 删除 - - - - Bookmarks - - Bookmarks - 书签 - Move Up 向上移动 diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index 240f7042cf7..e807194fa89 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -32,7 +32,7 @@ - BookmarkDialog + Bookmarks Add Bookmark 新增書籤 @@ -65,13 +65,6 @@ Add in folder: 新增到資料夾: - - - BookmarkManager - - Bookmarks - 書籤 - Remove 移除 @@ -80,21 +73,6 @@ Deleting a folder also removes its content.<br>Do you want to continue? 刪除資料夾會同時移除它的內容。<br>您確定要繼續嗎? - - New Folder - 新資料夾 - - - - BookmarkWidget - - Delete Folder - 刪除資料夾 - - - Rename Folder - 重新命名資料夾 - Show Bookmark 顯示書籤 @@ -115,17 +93,6 @@ Add 新增 - - Remove - 移除 - - - - Bookmarks - - Bookmarks - 書籤 - Move Up 向上移動 diff --git a/src/plugins/autotoolsprojectmanager/makefileparserthread.cpp b/src/plugins/autotoolsprojectmanager/makefileparserthread.cpp index 685b73a70ed..6321db32d33 100644 --- a/src/plugins/autotoolsprojectmanager/makefileparserthread.cpp +++ b/src/plugins/autotoolsprojectmanager/makefileparserthread.cpp @@ -5,7 +5,7 @@ #include -using namespace AutotoolsProjectManager::Internal; +namespace AutotoolsProjectManager::Internal { MakefileParserThread::MakefileParserThread(ProjectExplorer::BuildSystem *bs) : m_parser(bs->projectFilePath().toString()), @@ -92,3 +92,5 @@ void MakefileParserThread::run() m_cflags = m_parser.cflags(); m_cxxflags = m_parser.cxxflags(); } + +} // AutotoolsProjectManager::Internal diff --git a/src/plugins/bookmarks/bookmark.cpp b/src/plugins/bookmarks/bookmark.cpp index fead3df3ed9..e99a2214357 100644 --- a/src/plugins/bookmarks/bookmark.cpp +++ b/src/plugins/bookmarks/bookmark.cpp @@ -2,25 +2,26 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "bookmark.h" + #include "bookmarkmanager.h" #include "bookmarks_global.h" +#include "bookmarkstr.h" #include -#include -#include #include -using namespace Bookmarks::Internal; using namespace Utils; +namespace Bookmarks::Internal { + Bookmark::Bookmark(int lineNumber, BookmarkManager *manager) : TextMark(FilePath(), lineNumber, Constants::BOOKMARKS_TEXT_MARK_CATEGORY), m_manager(manager) { - setColor(Utils::Theme::Bookmarks_TextMarkColor); - setIcon(Utils::Icons::BOOKMARK_TEXTEDITOR.icon()); - setDefaultToolTip(QApplication::translate("BookmarkManager", "Bookmark")); + setColor(Theme::Bookmarks_TextMarkColor); + setIcon(Icons::BOOKMARK_TEXTEDITOR.icon()); + setDefaultToolTip(Tr::tr("Bookmark")); setPriority(TextEditor::TextMark::NormalPriority); } @@ -94,3 +95,5 @@ QString Bookmark::note() const { return toolTip(); } + +} // Bookmarks::Internal diff --git a/src/plugins/bookmarks/bookmark.h b/src/plugins/bookmarks/bookmark.h index 38a177e484a..93f5b8a88ae 100644 --- a/src/plugins/bookmarks/bookmark.h +++ b/src/plugins/bookmarks/bookmark.h @@ -5,8 +5,7 @@ #include -namespace Bookmarks { -namespace Internal { +namespace Bookmarks::Internal { class BookmarkManager; @@ -35,5 +34,4 @@ private: QString m_lineText; }; -} // namespace Internal -} // namespace Bookmarks +} // Bookmarks::Internal diff --git a/src/plugins/bookmarks/bookmarkfilter.cpp b/src/plugins/bookmarks/bookmarkfilter.cpp index c17c134b379..493c5916d32 100644 --- a/src/plugins/bookmarks/bookmarkfilter.cpp +++ b/src/plugins/bookmarks/bookmarkfilter.cpp @@ -9,10 +9,11 @@ #include -using namespace Bookmarks::Internal; using namespace Core; using namespace Utils; +namespace Bookmarks::Internal { + BookmarkFilter::BookmarkFilter(BookmarkManager *manager) : m_manager(manager) { @@ -114,3 +115,5 @@ void BookmarkFilter::accept(const LocatorFilterEntry &selection, QString *newTex m_manager->gotoBookmark(bookmark); } } + +} // Bookmarks::Internal diff --git a/src/plugins/bookmarks/bookmarkfilter.h b/src/plugins/bookmarks/bookmarkfilter.h index fc7262bdfd4..bc068ac176b 100644 --- a/src/plugins/bookmarks/bookmarkfilter.h +++ b/src/plugins/bookmarks/bookmarkfilter.h @@ -5,14 +5,12 @@ #include -namespace Bookmarks { -namespace Internal { +namespace Bookmarks::Internal { class BookmarkManager; class BookmarkFilter : public Core::ILocatorFilter { - Q_OBJECT public: explicit BookmarkFilter(BookmarkManager *manager); void prepareSearch(const QString &entry) override; @@ -26,5 +24,4 @@ private: QList m_results; }; -} // namespace Internal -} // namespace Bookmarks +} // Bookmarks::Internal diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp index f3693ed51c3..41a46590b66 100644 --- a/src/plugins/bookmarks/bookmarkmanager.cpp +++ b/src/plugins/bookmarks/bookmarkmanager.cpp @@ -43,8 +43,7 @@ using namespace ProjectExplorer; using namespace Core; using namespace Utils; -namespace Bookmarks { -namespace Internal { +namespace Bookmarks::Internal { BookmarkDelegate::BookmarkDelegate(QObject *parent) : QStyledItemDelegate(parent) @@ -794,5 +793,4 @@ NavigationView BookmarkViewFactory::createWidget() return {view, view->createToolBarWidgets()}; } -} // namespace Internal -} // namespace Bookmarks +} // Bookmarks::Internal diff --git a/src/plugins/bookmarks/bookmarkmanager.h b/src/plugins/bookmarks/bookmarkmanager.h index da34b54dd31..0667c9633a3 100644 --- a/src/plugins/bookmarks/bookmarkmanager.h +++ b/src/plugins/bookmarks/bookmarkmanager.h @@ -16,8 +16,7 @@ namespace Core { class IContext; } -namespace Bookmarks { -namespace Internal { +namespace Bookmarks::Internal { class Bookmark; class BookmarksPlugin; @@ -102,17 +101,13 @@ private: class BookmarkView final : public Utils::ListView { - Q_OBJECT - public: explicit BookmarkView(BookmarkManager *manager); QList createToolBarWidgets(); -public slots: void gotoBookmark(const QModelIndex &index); -protected slots: void removeFromContextMenu(); void removeAll(); @@ -129,8 +124,6 @@ private: class BookmarkViewFactory : public Core::INavigationWidgetFactory { - Q_OBJECT - public: BookmarkViewFactory(BookmarkManager *bm); @@ -142,8 +135,6 @@ private: class BookmarkDelegate : public QStyledItemDelegate { - Q_OBJECT - public: BookmarkDelegate(QObject *parent = nullptr); @@ -156,5 +147,4 @@ private: mutable QPixmap m_selectedPixmap; }; -} // namespace Internal -} // namespace Bookmarks +} // Bookmarks::Internal diff --git a/src/plugins/bookmarks/bookmarksplugin.cpp b/src/plugins/bookmarks/bookmarksplugin.cpp index 33da6d8e798..f1b6a78ddf3 100644 --- a/src/plugins/bookmarks/bookmarksplugin.cpp +++ b/src/plugins/bookmarks/bookmarksplugin.cpp @@ -31,8 +31,7 @@ using namespace Utils; using namespace Bookmarks::Constants; -namespace Bookmarks { -namespace Internal { +namespace Bookmarks::Internal { class BookmarksPluginPrivate : public QObject { @@ -225,5 +224,4 @@ void BookmarksPluginPrivate::requestContextMenu(TextEditorWidget *widget, menu->addAction(&m_editBookmarkAction); } -} // namespace Internal -} // namespace Bookmarks +} // Bookmarks::Internal diff --git a/src/plugins/bookmarks/bookmarksplugin.h b/src/plugins/bookmarks/bookmarksplugin.h index 5a3172819b4..30e81a96857 100644 --- a/src/plugins/bookmarks/bookmarksplugin.h +++ b/src/plugins/bookmarks/bookmarksplugin.h @@ -5,8 +5,7 @@ #include -namespace Bookmarks { -namespace Internal { +namespace Bookmarks::Internal { class BookmarksPlugin final : public ExtensionSystem::IPlugin { @@ -20,5 +19,4 @@ class BookmarksPlugin final : public ExtensionSystem::IPlugin class BookmarksPluginPrivate *d = nullptr; }; -} // namespace Internal -} // namespace Bookmarks +} // Bookmarks::Internal From 191815e97439ff3f04b600396bc9352ff4eda547 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 29 Sep 2022 17:46:03 +0200 Subject: [PATCH 18/96] BinEditor: Clean up translation contexts Change-Id: Ibeb8c93ad1dfa816ccf1160abae8aac6781157d9 Reviewed-by: Alessandro Portale --- share/qtcreator/translations/qtcreator_da.ts | 9 +- share/qtcreator/translations/qtcreator_de.ts | 8 +- share/qtcreator/translations/qtcreator_hr.ts | 112 +------------------ share/qtcreator/translations/qtcreator_ja.ts | 112 +------------------ share/qtcreator/translations/qtcreator_pl.ts | 9 +- share/qtcreator/translations/qtcreator_ru.ts | 10 +- share/qtcreator/translations/qtcreator_uk.ts | 8 +- src/plugins/bineditor/bineditorconstants.h | 7 +- src/plugins/bineditor/bineditorplugin.cpp | 53 ++++----- src/plugins/bineditor/bineditorplugin.h | 13 +-- src/plugins/bineditor/bineditortr.h | 2 +- src/plugins/bineditor/bineditorwidget.cpp | 65 ++++++----- src/plugins/bineditor/bineditorwidget.h | 6 +- src/plugins/bineditor/markup.h | 2 +- 14 files changed, 86 insertions(+), 330 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_da.ts b/share/qtcreator/translations/qtcreator_da.ts index f36c6a9a5cf..8b0b0fe307c 100644 --- a/share/qtcreator/translations/qtcreator_da.ts +++ b/share/qtcreator/translations/qtcreator_da.ts @@ -3754,7 +3754,7 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15. - BinEditor::Internal::BinEditorDocument + BinEditor The Binary Editor cannot open empty files. Binær-redigeringen kan ikke åbne tomme filer. @@ -3771,9 +3771,6 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15.Cannot open %1: %2 Kan ikke åbne %1: %2 - - - BinEditor::Internal::BinEditorWidget Memory at 0x%1 Hukommelse ved 0x%1 @@ -3876,7 +3873,7 @@ F.eks., vil "Revision: 15" efterlade grenen ved revision 15. - BinEditorWidget::TextEditorWidget + BinEditor Zoom: %1% Zoom: %1% @@ -42916,7 +42913,7 @@ Spordataene er tabt. - BinEditor::Internal::BinEditorPluginPrivate + BinEditor &Undo &Fortryd diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index b336df81650..6fae864d90b 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -28146,7 +28146,7 @@ Der vom Kit mindestens benötigte API-Level ist %1. - BinEditor::Internal::BinEditorDocument + BinEditor The Binary Editor cannot open empty files. Der Binäreditor kann keine leeren Dateien öffnen. @@ -37451,7 +37451,7 @@ Fehler: %5 - BinEditor::Internal::BinEditorWidget + BinEditor Memory at 0x%1 Speicher bei 0x%1 @@ -37562,7 +37562,7 @@ Fehler: %5 - BinEditorWidget::TextEditorWidget + BinEditor Zoom: %1% Vergrößerung: %1% @@ -42482,7 +42482,7 @@ Die Dateien aus dem Quellverzeichnis des Android-Pakets werden in das Verzeichni - BinEditor::Internal::BinEditorPlugin + BinEditor &Undo &Rückgängig diff --git a/share/qtcreator/translations/qtcreator_hr.ts b/share/qtcreator/translations/qtcreator_hr.ts index 24388562824..4faaab46a3b 100644 --- a/share/qtcreator/translations/qtcreator_hr.ts +++ b/share/qtcreator/translations/qtcreator_hr.ts @@ -16431,7 +16431,7 @@ Check the test environment. - BinEditor::BinEditorWidget + BinEditor Memory at 0x%1 Memorija pri 0x%1 @@ -16593,7 +16593,7 @@ Check the test environment. - BinEditor::Internal::BinEditorDocument + BinEditor The Binary Editor cannot open empty files. Binarni uređivač ne može otvoriti prazne datoteke. @@ -16610,9 +16610,6 @@ Check the test environment. Cannot open %1: %2 Nije moguće otvoriti %1: %2 - - - BinEditor::Internal::BinEditorPlugin &Undo &Poništi @@ -16621,120 +16618,17 @@ Check the test environment. &Redo Po&novi - - - BinEditor::Internal::BinEditorWidget - - Memory at 0x%1 - Memorija pri 0x%1 - - - Decimal&nbsp;unsigned&nbsp;value: - Decimalna&nbsp;nepotpisana&nbsp;vrijednost: - - - Decimal&nbsp;signed&nbsp;value: - Decimalna&nbsp;potpisana&nbsp;vrijednost: - - - Previous&nbsp;decimal&nbsp;unsigned&nbsp;value: - Prethodna&nbsp;decimalna&nbsp;nepotpisana&nbsp;vrijednost: - - - Previous&nbsp;decimal&nbsp;signed&nbsp;value: - Prethodna&nbsp;decimalna&nbsp;potpisana&nbsp;vrijednost: - - - %1-bit&nbsp;Integer&nbsp;Type - %1-bit&nbsp;cjelobrojna&nbsp;vrsta - - - Little Endian - - - - Big Endian - - - - Binary&nbsp;value: - Binarna&nbsp;vrijednost: - - - Octal&nbsp;value: - Oktalna&nbsp;vrijednost: - - - Previous&nbsp;binary&nbsp;value: - Prethodna&nbsp;binarna&nbsp;vrijednost: - - - Previous&nbsp;octal&nbsp;value: - Prethodna&nbsp;oktalna&nbsp;vrijednost: - - - <i>double</i>&nbsp;value: - <i>dupla</i>&nbsp;vrijednost: - - - Previous <i>double</i>&nbsp;value: - Prethodna <i>dupla</i>&nbsp;vrijednost: - - - <i>float</i>&nbsp;value: - <i>pomična</i>&nbsp;vrijednost: - - - Previous <i>float</i>&nbsp;value: - Prethodna <i>pomična</i>&nbsp;vrijednost: - - - Copying Failed - Neuspjelo kopiranje - - - You cannot copy more than 4 MB of binary data. - Ne možeš kopirati više od 4 MB binarnih podataka. - - - Copy Selection as ASCII Characters - Kopiraj odabir kao ASCII znakove - - - Copy Selection as Hex Values - Kopiraj odabir kao heksadecimalne znakove - - - Set Data Breakpoint on Selection - Postavi točku prekida podataka na odabiru - Copy 0x%1 Kopiraj 0x%1 - - Jump to Address in This Window - Prijeđi na adresu u ovom prozoru - - - Jump to Address in New Window - Prijeđi na adresu u novom prozoru - Copy Value Kopiraj vrijednost - - Jump to Address 0x%1 in This Window - Prijeđi na adresu 0x%1 u ovom prozoru - - - Jump to Address 0x%1 in New Window - Prijeđi na adresu 0x%1 u novom prozoru - - BinEditorWidget::TextEditorWidget + BinEditor Zoom: %1% Zumiranje: %1% diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index 5824aad2e46..413c4c43512 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -38674,7 +38674,7 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop - BinEditor::BinEditorWidget + BinEditor Memory at 0x%1 0x%1 のメモリ @@ -38775,9 +38775,6 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop Jump to Address 0x%1 in New Window 新規ウィンドウでアドレス 0x%1 に移動 - - - BinEditor::Internal::BinEditorDocument The Binary Editor cannot open empty files. バイナリエディタでは空のファイルを開けません。 @@ -38794,9 +38791,6 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop Cannot open %1: %2 %1 を開けません: %2 - - - BinEditor::Internal::BinEditorPlugin &Undo 元に戻す(&U) @@ -48905,118 +48899,18 @@ The name of the release build configuration created by default for a qmake proje - BinEditor::Internal::BinEditorWidget - - Memory at 0x%1 - 0x%1 のメモリ - - - Decimal&nbsp;unsigned&nbsp;value: - 符号無し10進数: - - - Decimal&nbsp;signed&nbsp;value: - 符号付き10進数: - - - Previous&nbsp;decimal&nbsp;unsigned&nbsp;value: - 直前の符号無し10進数: - - - Previous&nbsp;decimal&nbsp;signed&nbsp;value: - 直前の符号付き10進数: - - - %1-bit&nbsp;Integer&nbsp;Type - %1 ビット整数型 - - - Little Endian - リトルエンディアン - - - Big Endian - ビッグエンディアン - - - Binary&nbsp;value: - 2進数: - - - Octal&nbsp;value: - 8進数: - - - Previous&nbsp;binary&nbsp;value: - 直前の2進数: - - - Previous&nbsp;octal&nbsp;value: - 直前の8進数: - - - <i>double</i>&nbsp;value: - <i>倍精度浮動小数点</i>数: - - - Previous <i>double</i>&nbsp;value: - 直前の<i>倍精度浮動小数点</i>数: - - - <i>float</i>&nbsp;value: - <i>単精度浮動小数点</i>数: - - - Previous <i>float</i>&nbsp;value: - 直前の<i>単精度浮動小数点</i>数: - - - Copying Failed - コピー失敗 - - - You cannot copy more than 4 MB of binary data. - 4MB より大きなバイナリデータはコピーできません。 - - - Copy Selection as ASCII Characters - 選択内容を ASCII 文字列としてコピーする - - - Copy Selection as Hex Values - 選択内容を16進数の値としてコピーする - - - Set Data Breakpoint on Selection - 選択した箇所にデータブレークポイントを設定 - + BinEditor Copy 0x%1 0x%1をコピー - - Jump to Address in This Window - ウィンドウ内でアドレスに移動 - - - Jump to Address in New Window - 新規ウィンドウでアドレスに移動 - Copy Value 値をコピー - - Jump to Address 0x%1 in This Window - ウィンドウ内でアドレス 0x%1 に移動 - - - Jump to Address 0x%1 in New Window - 新規ウィンドウでアドレス 0x%1 に移動 - - BinEditorWidget::TextEditorWidget + BinEditor Zoom: %1% 拡大率: %1% diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts index dfb4ed087f4..10b0b609871 100644 --- a/share/qtcreator/translations/qtcreator_pl.ts +++ b/share/qtcreator/translations/qtcreator_pl.ts @@ -30346,7 +30346,7 @@ Zainstaluj SDK o wersji %1 lub wyższej. - BinEditor::Internal::BinEditorDocument + BinEditor The Binary Editor cannot open empty files. Edytor plików binarnych nie może otwierać pustych plików. @@ -30363,9 +30363,6 @@ Zainstaluj SDK o wersji %1 lub wyższej. Cannot open %1: %2 Nie można otworzyć %1: %2 - - - BinEditor::Internal::BinEditorPlugin &Undo &Cofnij @@ -39906,7 +39903,7 @@ Uwaga: podczas używania zwykłego formatu tekstowego może brakować niektóryc - BinEditor::Internal::BinEditorWidget + BinEditor Memory at 0x%1 Pamięć w 0x%1 @@ -41618,7 +41615,7 @@ Błąd: %2 - BinEditorWidget::TextEditorWidget + BinEditor Zoom: %1% Powiększenie:%1% diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index c150c2f49d4..82e85def331 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -5429,7 +5429,7 @@ For example, "Revision: 15" will leave the branch at revision 15. - BinEditor::Internal::BinEditorDocument + BinEditor The Binary Editor cannot open empty files. Двоичный редактор не может открывать пустые файлы. @@ -5446,9 +5446,6 @@ For example, "Revision: 15" will leave the branch at revision 15.Cannot open %1: %2 Не удалось открыть %1: %2 - - - BinEditor::Internal::BinEditorPlugin &Undo &Отменить @@ -5457,9 +5454,6 @@ For example, "Revision: 15" will leave the branch at revision 15.&Redo &Повторить - - - BinEditor::Internal::BinEditorWidget Memory at 0x%1 Память с 0x%1 @@ -5570,7 +5564,7 @@ For example, "Revision: 15" will leave the branch at revision 15. - BinEditorWidget::TextEditorWidget + BinEditor Zoom: %1% Масштаб: %1% diff --git a/share/qtcreator/translations/qtcreator_uk.ts b/share/qtcreator/translations/qtcreator_uk.ts index ce6aef153e3..4adf387c5d3 100644 --- a/share/qtcreator/translations/qtcreator_uk.ts +++ b/share/qtcreator/translations/qtcreator_uk.ts @@ -43904,7 +43904,7 @@ Deploying local Qt libraries is incompatible with Android 5. - BinEditor::BinEditorWidget + BinEditor Memory at 0x%1 Пам'ять в 0x%1 @@ -44005,9 +44005,6 @@ Deploying local Qt libraries is incompatible with Android 5. Jump to Address 0x%1 in New Window Перейти до адреси 0x%1 в новому вікні - - - BinEditor::Internal::BinEditorDocument The Binary Editor cannot open empty files. Двійковий редактор не може відкривати порожні файли. @@ -44024,9 +44021,6 @@ Deploying local Qt libraries is incompatible with Android 5. Cannot open %1: %2 Неможливо відкрити %1: %2 - - - BinEditor::Internal::BinEditorPlugin &Undo &Повернути diff --git a/src/plugins/bineditor/bineditorconstants.h b/src/plugins/bineditor/bineditorconstants.h index 53e1281e719..4c8ef9b50c6 100644 --- a/src/plugins/bineditor/bineditorconstants.h +++ b/src/plugins/bineditor/bineditorconstants.h @@ -3,13 +3,10 @@ #pragma once -namespace BinEditor { -namespace Constants { +namespace BinEditor::Constants { const char C_BINEDITOR[] = "BinEditor.BinaryEditor"; -const char C_BINEDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("OpenWith::Editors", "Binary Editor"); const char C_BINEDITOR_MIMETYPE[] = "application/octet-stream"; const char C_ENCODING_SETTING[] = "BinEditor/TextEncoding"; -} // namespace Constants -} // namespace BinEditor +} // BinEditor::Constants diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 13bb6d5c963..0cdb355537b 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -2,26 +2,24 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "bineditorplugin.h" -#include "bineditorwidget.h" + #include "bineditorconstants.h" #include "bineditorservice.h" +#include "bineditortr.h" +#include "bineditorwidget.h" +#include #include + #include -#include -#include -#include -#include -#include -#include - -#include #include -#include #include #include +#include +#include #include +#include #include #include @@ -30,6 +28,7 @@ #include #include #include + #include #include @@ -38,13 +37,16 @@ using namespace Utils; using namespace Core; -namespace BinEditor { -namespace Internal { +namespace BinEditor::Internal { + +class BinEditorFactory final : public IEditorFactory +{ +public: + BinEditorFactory(); +}; class BinEditorFind : public IFindSupport { - Q_OBJECT - public: BinEditorFind(BinEditorWidget *widget) { @@ -232,31 +234,31 @@ public: { const qint64 size = filePath.fileSize(); if (size < 0) { - QString msg = tr("Cannot open %1: %2").arg(filePath.toUserOutput(), tr("File Error")); + QString msg = Tr::tr("Cannot open %1: %2").arg(filePath.toUserOutput(), Tr::tr("File Error")); // FIXME: Was: file.errorString(), but we don't have a file anymore. if (errorString) *errorString = msg; else - QMessageBox::critical(ICore::dialogParent(), tr("File Error"), msg); + QMessageBox::critical(ICore::dialogParent(), Tr::tr("File Error"), msg); return OpenResult::ReadError; } if (size == 0) { - QString msg = tr("The Binary Editor cannot open empty files."); + QString msg = Tr::tr("The Binary Editor cannot open empty files."); if (errorString) *errorString = msg; else - QMessageBox::critical(ICore::dialogParent(), tr("File Error"), msg); + QMessageBox::critical(ICore::dialogParent(), Tr::tr("File Error"), msg); return OpenResult::CannotHandle; } if (size / 16 >= qint64(1) << 31) { // The limit is 2^31 lines (due to QText* interfaces) * 16 bytes per line. - QString msg = tr("The file is too big for the Binary Editor (max. 32GB)."); + QString msg = Tr::tr("The file is too big for the Binary Editor (max. 32GB)."); if (errorString) *errorString = msg; else - QMessageBox::critical(ICore::dialogParent(), tr("File Error"), msg); + QMessageBox::critical(ICore::dialogParent(), Tr::tr("File Error"), msg); return OpenResult::CannotHandle; } @@ -279,8 +281,8 @@ public: if (dataSize != blockSize) data += QByteArray(blockSize - dataSize, 0); m_widget->addData(address, data); -// QMessageBox::critical(ICore::dialogParent(), tr("File Error"), -// tr("Cannot open %1: %2").arg( +// QMessageBox::critical(ICore::dialogParent(), Tr::tr("File Error"), +// Tr::tr("Cannot open %1: %2").arg( // fn.toUserOutput(), file.errorString())); } @@ -415,7 +417,7 @@ BinEditorPluginPrivate::BinEditorPluginPrivate() ExtensionSystem::PluginManager::addObject(&m_editorFactory); m_undoAction = new QAction(BinEditorPlugin::tr("&Undo"), this); - m_redoAction = new QAction(BinEditorPlugin::tr("&Redo"), this); + m_redoAction = new QAction(Tr::tr("&Redo"), this); m_copyAction = new QAction(this); m_selectAllAction = new QAction(this); @@ -442,7 +444,7 @@ static BinEditorPluginPrivate *dd = nullptr; BinEditorFactory::BinEditorFactory() { setId(Core::Constants::K_DEFAULT_BINARY_EDITOR_ID); - setDisplayName(QCoreApplication::translate("OpenWith::Editors", Constants::C_BINEDITOR_DISPLAY_NAME)); + setDisplayName(QCoreApplication::translate("OpenWith::Editors", "Binary Editor")); addMimeType(Constants::C_BINEDITOR_MIMETYPE); setEditorCreator([] { @@ -510,7 +512,6 @@ bool BinEditorPlugin::initialize(const QStringList &arguments, QString *errorMes return true; } -} // namespace Internal -} // namespace BinEditor +} // BinEditor::Internal #include "bineditorplugin.moc" diff --git a/src/plugins/bineditor/bineditorplugin.h b/src/plugins/bineditor/bineditorplugin.h index ecba761123d..8be06a521a4 100644 --- a/src/plugins/bineditor/bineditorplugin.h +++ b/src/plugins/bineditor/bineditorplugin.h @@ -6,10 +6,8 @@ #include "bineditorservice.h" #include -#include -namespace BinEditor { -namespace Internal { +namespace BinEditor::Internal { class BinEditorPlugin : public ExtensionSystem::IPlugin { @@ -22,12 +20,6 @@ class BinEditorPlugin : public ExtensionSystem::IPlugin void extensionsInitialized() final {} }; -class BinEditorFactory final : public Core::IEditorFactory -{ -public: - BinEditorFactory(); -}; - class FactoryServiceImpl : public QObject, public FactoryService { Q_OBJECT @@ -37,5 +29,4 @@ public: EditorService *createEditorService(const QString &title0, bool wantsEditor) final; }; -} // namespace Internal -} // namespace BinEditor +} // BinEditor::Internal diff --git a/src/plugins/bineditor/bineditortr.h b/src/plugins/bineditor/bineditortr.h index fd13b1cb81f..630d4d56e18 100644 --- a/src/plugins/bineditor/bineditortr.h +++ b/src/plugins/bineditor/bineditortr.h @@ -12,4 +12,4 @@ struct Tr Q_DECLARE_TR_FUNCTIONS(BinEditor) }; -} // namespace BinEditor +} // BinEditor diff --git a/src/plugins/bineditor/bineditorwidget.cpp b/src/plugins/bineditor/bineditorwidget.cpp index a6f77425ca9..5a3e47229ce 100644 --- a/src/plugins/bineditor/bineditorwidget.cpp +++ b/src/plugins/bineditor/bineditorwidget.cpp @@ -2,8 +2,10 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "bineditorwidget.h" + #include "bineditorconstants.h" #include "bineditorservice.h" +#include "bineditortr.h" #include "markup.h" #include @@ -42,8 +44,7 @@ using namespace Core; using namespace Utils; -namespace BinEditor { -namespace Internal { +namespace BinEditor::Internal { const QChar MidpointChar(u'\u00B7'); @@ -1218,7 +1219,7 @@ QString BinEditorWidget::toolTip(const QHelpEvent *helpEvent) const QString msg; QTextStream str(&msg); str << "

" - << tr("Memory at 0x%1").arg(address, 0, 16) << "

"; + << Tr::tr("Memory at 0x%1").arg(address, 0, 16) << "

"; for (const Markup &m : qAsConst(m_markup)) { if (m.covers(address) && !m.toolTip.isEmpty()) { @@ -1226,16 +1227,16 @@ QString BinEditorWidget::toolTip(const QHelpEvent *helpEvent) const break; } } - const QString msgDecimalUnsigned = tr("Decimal unsigned value:"); - const QString msgDecimalSigned = tr("Decimal signed value:"); - const QString msgOldDecimalUnsigned = tr("Previous decimal unsigned value:"); - const QString msgOldDecimalSigned = tr("Previous decimal signed value:"); + const QString msgDecimalUnsigned = Tr::tr("Decimal unsigned value:"); + const QString msgDecimalSigned = Tr::tr("Decimal signed value:"); + const QString msgOldDecimalUnsigned = Tr::tr("Previous decimal unsigned value:"); + const QString msgOldDecimalSigned = Tr::tr("Previous decimal signed value:"); // Table showing little vs. big endian integers for multi-byte if (intSize > 1) { str << ""; + << Tr::tr("%1-bit Integer Type").arg(8 * intSize) << ""; str << tableRowStartC << msgDecimalUnsigned << numericTableRowSepC << littleEndianValue << numericTableRowSepC << bigEndianValue << tableRowEndC << tableRowStartC << msgDecimalSigned @@ -1261,14 +1262,14 @@ QString BinEditorWidget::toolTip(const QHelpEvent *helpEvent) const str << tableRowStartC << msgDecimalSigned << numericTableRowSepC << littleEndianSigned << tableRowEndC; } - str << tableRowStartC << tr("Binary value:") << numericTableRowSepC; + str << tableRowStartC << Tr::tr("Binary value:") << numericTableRowSepC; str.setIntegerBase(2); str.setFieldWidth(8); str.setPadChar(QLatin1Char('0')); str << littleEndianValue; str.setFieldWidth(0); str << tableRowEndC << tableRowStartC - << tr("Octal value:") << numericTableRowSepC; + << Tr::tr("Octal value:") << numericTableRowSepC; str.setIntegerBase(8); str.setFieldWidth(3); str << littleEndianValue << tableRowEndC; @@ -1281,13 +1282,13 @@ QString BinEditorWidget::toolTip(const QHelpEvent *helpEvent) const str << tableRowStartC << msgOldDecimalSigned << numericTableRowSepC << littleEndianSignedOld << tableRowEndC; } - str << tableRowStartC << tr("Previous binary value:") + str << tableRowStartC << Tr::tr("Previous binary value:") << numericTableRowSepC; str.setIntegerBase(2); str.setFieldWidth(8); str << littleEndianValueOld; str.setFieldWidth(0); - str << tableRowEndC << tableRowStartC << tr("Previous octal value:") + str << tableRowEndC << tableRowStartC << Tr::tr("Previous octal value:") << numericTableRowSepC; str.setIntegerBase(8); str.setFieldWidth(3); @@ -1303,10 +1304,10 @@ QString BinEditorWidget::toolTip(const QHelpEvent *helpEvent) const double doubleValue, doubleValueOld; asDouble(selStart, doubleValue, false); asDouble(selStart, doubleValueOld, true); - str << tableRowStartC << tr("double value:") << numericTableRowSepC + str << tableRowStartC << Tr::tr("double value:") << numericTableRowSepC << doubleValue << tableRowEndC; if (doubleValue != doubleValueOld) - str << tableRowStartC << tr("Previous double value:") << numericTableRowSepC + str << tableRowStartC << Tr::tr("Previous double value:") << numericTableRowSepC << doubleValueOld << tableRowEndC; str << "
" - << tr("%1-bit Integer Type").arg(8 * intSize) << "" - << tr("Little Endian") << "" << tr("Big Endian") << "
" + << Tr::tr("Little Endian") << "" << Tr::tr("Big Endian") << "
"; } @@ -1317,10 +1318,10 @@ QString BinEditorWidget::toolTip(const QHelpEvent *helpEvent) const float floatValue, floatValueOld; asFloat(selStart, floatValue, false); asFloat(selStart, floatValueOld, true); - str << tableRowStartC << tr("float value:") << numericTableRowSepC + str << tableRowStartC << Tr::tr("float value:") << numericTableRowSepC << floatValue << tableRowEndC; if (floatValue != floatValueOld) - str << tableRowStartC << tr("Previous float value:") << numericTableRowSepC + str << tableRowStartC << Tr::tr("Previous float value:") << numericTableRowSepC << floatValueOld << tableRowEndC; str << ""; @@ -1441,8 +1442,7 @@ void BinEditorWidget::keyPressEvent(QKeyEvent *e) static void showZoomIndicator(QWidget *editor, const int newZoom) { Utils::FadingIndicator::showText(editor, - QCoreApplication::translate("BinEditorWidget::TextEditorWidget", - "Zoom: %1%").arg(newZoom), + Tr::tr("Zoom: %1%").arg(newZoom), Utils::FadingIndicator::SmallText); } @@ -1465,8 +1465,8 @@ void BinEditorWidget::copy(bool raw) int selEnd = selectionEnd(); const int selectionLength = selEnd - selStart + 1; if (selectionLength >> 22) { - QMessageBox::warning(this, tr("Copying Failed"), - tr("You cannot copy more than 4 MB of binary data.")); + QMessageBox::warning(this, Tr::tr("Copying Failed"), + Tr::tr("You cannot copy more than 4 MB of binary data.")); return; } QByteArray data = dataMid(selStart, selectionLength); @@ -1577,15 +1577,15 @@ void BinEditorWidget::contextMenuEvent(QContextMenuEvent *event) QPointer contextMenu(new QMenu(this)); - auto copyAsciiAction = new QAction(tr("Copy Selection as ASCII Characters"), contextMenu); - auto copyHexAction = new QAction(tr("Copy Selection as Hex Values"), contextMenu); + auto copyAsciiAction = new QAction(Tr::tr("Copy Selection as ASCII Characters"), contextMenu); + auto copyHexAction = new QAction(Tr::tr("Copy Selection as Hex Values"), contextMenu); auto copyBeValue = new QAction(contextMenu); auto copyLeValue = new QAction(contextMenu); auto jumpToBeAddressHereAction = new QAction(contextMenu); auto jumpToBeAddressNewWindowAction = new QAction(contextMenu); auto jumpToLeAddressHereAction = new QAction(contextMenu); auto jumpToLeAddressNewWindowAction = new QAction(contextMenu); - auto addWatchpointAction = new QAction(tr("Set Data Breakpoint on Selection"), contextMenu); + auto addWatchpointAction = new QAction(Tr::tr("Set Data Breakpoint on Selection"), contextMenu); contextMenu->addAction(copyAsciiAction); contextMenu->addAction(copyHexAction); contextMenu->addAction(addWatchpointAction); @@ -1596,11 +1596,11 @@ void BinEditorWidget::contextMenuEvent(QContextMenuEvent *event) quint64 leAddress = 0; if (byteCount <= 8) { asIntegers(selStart, byteCount, beAddress, leAddress); - copyBeValue->setText(tr("Copy 0x%1").arg(QString::number(beAddress, 16))); + copyBeValue->setText(Tr::tr("Copy 0x%1").arg(QString::number(beAddress, 16))); contextMenu->addAction(copyBeValue); // If the menu entries would be identical, show only one of them. if (beAddress != leAddress) { - copyLeValue->setText(tr("Copy 0x%1").arg(QString::number(leAddress, 16))); + copyLeValue->setText(Tr::tr("Copy 0x%1").arg(QString::number(leAddress, 16))); contextMenu->addAction(copyLeValue); } setupJumpToMenuAction(contextMenu, jumpToBeAddressHereAction, @@ -1611,9 +1611,9 @@ void BinEditorWidget::contextMenuEvent(QContextMenuEvent *event) jumpToLeAddressNewWindowAction, leAddress); } } else { - jumpToBeAddressHereAction->setText(tr("Jump to Address in This Window")); - jumpToBeAddressNewWindowAction->setText(tr("Jump to Address in New Window")); - copyBeValue->setText(tr("Copy Value")); + jumpToBeAddressHereAction->setText(Tr::tr("Jump to Address in This Window")); + jumpToBeAddressNewWindowAction->setText(Tr::tr("Jump to Address in New Window")); + copyBeValue->setText(Tr::tr("Copy Value")); jumpToBeAddressHereAction->setEnabled(false); jumpToBeAddressNewWindowAction->setEnabled(false); copyBeValue->setEnabled(false); @@ -1650,9 +1650,9 @@ void BinEditorWidget::contextMenuEvent(QContextMenuEvent *event) void BinEditorWidget::setupJumpToMenuAction(QMenu *menu, QAction *actionHere, QAction *actionNew, quint64 addr) { - actionHere->setText(tr("Jump to Address 0x%1 in This Window") + actionHere->setText(Tr::tr("Jump to Address 0x%1 in This Window") .arg(QString::number(addr, 16))); - actionNew->setText(tr("Jump to Address 0x%1 in New Window") + actionNew->setText(Tr::tr("Jump to Address 0x%1 in New Window") .arg(QString::number(addr, 16))); menu->addAction(actionHere); menu->addAction(actionNew); @@ -1735,5 +1735,4 @@ void BinEditorWidget::setMarkup(const QList &markup) viewport()->update(); } -} // namespace Internal -} // namespace BinEditor +} // BinEditor::Internal diff --git a/src/plugins/bineditor/bineditorwidget.h b/src/plugins/bineditor/bineditorwidget.h index 596f98b3c3f..c09885575df 100644 --- a/src/plugins/bineditor/bineditorwidget.h +++ b/src/plugins/bineditor/bineditorwidget.h @@ -31,8 +31,7 @@ namespace Core { class IEditor; } namespace TextEditor { class FontSettings; } -namespace BinEditor { -namespace Internal { +namespace BinEditor::Internal { class BinEditorWidgetPrivate; @@ -228,5 +227,4 @@ private: QList m_markup; }; -} // namespace Internal -} // namespace BinEditor +} // BinEditor::Internal diff --git a/src/plugins/bineditor/markup.h b/src/plugins/bineditor/markup.h index 026fa7e1e89..cbda93b1428 100644 --- a/src/plugins/bineditor/markup.h +++ b/src/plugins/bineditor/markup.h @@ -23,6 +23,6 @@ public: QString toolTip; }; -} // namespace BinEditor +} // BinEditor Q_DECLARE_METATYPE(BinEditor::Markup) From 38316079f3f9505b7ee92689a63331030d42c731 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 08:57:11 +0200 Subject: [PATCH 19/96] UnifiedDiffEditor: Early return inside jumpToOriginalFile() Change-Id: Ib397c316296db494b81a08214049884c45a3f5e5 Reviewed-by: Orgad Shaneh --- .../diffeditor/unifieddiffeditorwidget.cpp | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp index cd2c6e7986c..172688bf754 100644 --- a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp +++ b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp @@ -586,28 +586,26 @@ void UnifiedDiffEditorWidget::jumpToOriginalFile(const QTextCursor &cursor) } const int leftLineNumber = m_data.m_lineNumbers[LeftSide].value(blockNumber, qMakePair(-1, 0)).first; - if (leftLineNumber >= 0) { - if (leftFileName == rightFileName) { - for (const ChunkData &chunkData : fileData.chunks) { - - int newLeftLineNumber = chunkData.startingLineNumber[LeftSide]; - int newRightLineNumber = chunkData.startingLineNumber[RightSide]; - - for (const RowData &rowData : chunkData.rows) { - if (rowData.line[LeftSide].textLineType == TextLineData::TextLine) - newLeftLineNumber++; - if (rowData.line[RightSide].textLineType == TextLineData::TextLine) - newRightLineNumber++; - if (newLeftLineNumber == leftLineNumber) { - m_controller.jumpToOriginalFile(leftFileName, newRightLineNumber, 0); - return; - } - } - } - } else { - m_controller.jumpToOriginalFile(leftFileName, leftLineNumber, columnNumber); - } + if (leftLineNumber < 0) return; + if (leftFileName != rightFileName) { + m_controller.jumpToOriginalFile(leftFileName, leftLineNumber, columnNumber); + return; + } + + for (const ChunkData &chunkData : fileData.chunks) { + int newLeftLineNumber = chunkData.startingLineNumber[LeftSide]; + int newRightLineNumber = chunkData.startingLineNumber[RightSide]; + for (const RowData &rowData : chunkData.rows) { + if (rowData.line[LeftSide].textLineType == TextLineData::TextLine) + newLeftLineNumber++; + if (rowData.line[RightSide].textLineType == TextLineData::TextLine) + newRightLineNumber++; + if (newLeftLineNumber == leftLineNumber) { + m_controller.jumpToOriginalFile(leftFileName, newRightLineNumber, 0); + return; + } + } } } From 1359557f77a767490af96ca85cdc5ce12506c3d2 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 09:09:06 +0200 Subject: [PATCH 20/96] DiffEditor: Limit the usage of qMakePair Change-Id: I0f7f4235cba4e1f6df4245cb51a37ff82a8e5109 Reviewed-by: Orgad Shaneh --- src/libs/utils/differ.cpp | 6 ++---- src/plugins/diffeditor/diffeditor.cpp | 4 ++-- src/plugins/diffeditor/unifieddiffeditorwidget.cpp | 10 +++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/libs/utils/differ.cpp b/src/libs/utils/differ.cpp index d71e18f4935..8c37d420e7b 100644 --- a/src/libs/utils/differ.cpp +++ b/src/libs/utils/differ.cpp @@ -537,10 +537,8 @@ static QString encodeExpandedWhitespace(const QString &leftEquality, const int replacementPosition = output.count(); const int replacementSize = qMax(leftWhitespaces.count(), rightWhitespaces.count()); const QString replacement(replacementSize, ' '); - leftCodeMap->insert(replacementPosition, - qMakePair(replacementSize, leftWhitespaces)); - rightCodeMap->insert(replacementPosition, - qMakePair(replacementSize, rightWhitespaces)); + leftCodeMap->insert(replacementPosition, {replacementSize, leftWhitespaces}); + rightCodeMap->insert(replacementPosition, {replacementSize, rightWhitespaces}); output.append(replacement); } diff --git a/src/plugins/diffeditor/diffeditor.cpp b/src/plugins/diffeditor/diffeditor.cpp index bfcf077efd5..92540f6f078 100644 --- a/src/plugins/diffeditor/diffeditor.cpp +++ b/src/plugins/diffeditor/diffeditor.cpp @@ -416,8 +416,8 @@ void DiffEditor::prepareForReload() if (m_entriesComboBox->count() > 0) { m_currentFileChunk - = qMakePair(m_entriesComboBox->itemData(m_currentDiffFileIndex, Qt::UserRole).toString(), - m_entriesComboBox->itemData(m_currentDiffFileIndex, Qt::UserRole + 1).toString()); + = {m_entriesComboBox->itemData(m_currentDiffFileIndex, Qt::UserRole).toString(), + m_entriesComboBox->itemData(m_currentDiffFileIndex, Qt::UserRole + 1).toString()}; } else { m_currentFileChunk = {}; } diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp index 172688bf754..1c9a83a93bc 100644 --- a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp +++ b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp @@ -193,8 +193,8 @@ void UnifiedDiffEditorWidget::contextMenuEvent(QContextMenuEvent *e) if (currentChunkIndex > chunkIndex) break; - const int leftRow = m_data.m_lineNumbers[LeftSide].value(i, qMakePair(-1, -1)).second; - const int rightRow = m_data.m_lineNumbers[RightSide].value(i, qMakePair(-1, -1)).second; + const int leftRow = m_data.m_lineNumbers[LeftSide].value(i, {-1, -1}).second; + const int rightRow = m_data.m_lineNumbers[RightSide].value(i, {-1, -1}).second; if (leftRow >= 0) leftSelection.append(leftRow); @@ -288,7 +288,7 @@ void UnifiedDiffData::setLineNumber(DiffSide side, int blockNumber, int lineNumb { QTC_ASSERT(side < SideCount, return); const QString lineNumberString = QString::number(lineNumber); - m_lineNumbers[side].insert(blockNumber, qMakePair(lineNumber, rowNumberInChunk)); + m_lineNumbers[side].insert(blockNumber, {lineNumber, rowNumberInChunk}); m_lineNumberDigits[side] = qMax(m_lineNumberDigits[side], lineNumberString.count()); } @@ -579,13 +579,13 @@ void UnifiedDiffEditorWidget::jumpToOriginalFile(const QTextCursor &cursor) const int columnNumber = cursor.positionInBlock() - 1; // -1 for the first character in line - const int rightLineNumber = m_data.m_lineNumbers[RightSide].value(blockNumber, qMakePair(-1, 0)).first; + const int rightLineNumber = m_data.m_lineNumbers[RightSide].value(blockNumber, {-1, 0}).first; if (rightLineNumber >= 0) { m_controller.jumpToOriginalFile(rightFileName, rightLineNumber, columnNumber); return; } - const int leftLineNumber = m_data.m_lineNumbers[LeftSide].value(blockNumber, qMakePair(-1, 0)).first; + const int leftLineNumber = m_data.m_lineNumbers[LeftSide].value(blockNumber, {-1, 0}).first; if (leftLineNumber < 0) return; if (leftFileName != rightFileName) { From 08a7dbd046a1b883fd44e78d58b8b797f6681db8 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 30 Sep 2022 09:56:19 +0200 Subject: [PATCH 21/96] TextEditor: reorder TextEditorWidgetPrivate member initialization Change-Id: I369a0856c787873f2272cda92878f413648bad8d Reviewed-by: Eike Ziller --- src/plugins/texteditor/texteditor.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index dc28b7f3bfc..c75eb28bb41 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -889,6 +889,10 @@ void TextEditorWidgetFind::cancelCurrentSelectAll() TextEditorWidgetPrivate::TextEditorWidgetPrivate(TextEditorWidget *parent) : q(parent) + , m_overlay(new TextEditorOverlay(q)) + , m_snippetOverlay(new SnippetOverlay(q)) + , m_searchResultOverlay(new TextEditorOverlay(q)) + , m_refactorOverlay(new RefactorOverlay(q)) , m_marksVisible(false) , m_codeFoldingVisible(false) , m_codeFoldingSupported(false) @@ -901,10 +905,6 @@ TextEditorWidgetPrivate::TextEditorWidgetPrivate(TextEditorWidget *parent) , m_hoverHandlerRunner(parent, m_hoverHandlers) , m_clipboardAssistProvider(new ClipboardAssistProvider) , m_autoCompleter(new AutoCompleter) - , m_overlay(new TextEditorOverlay(q)) - , m_snippetOverlay(new SnippetOverlay(q)) - , m_searchResultOverlay(new TextEditorOverlay(q)) - , m_refactorOverlay(new RefactorOverlay(q)) { auto aggregate = new Aggregation::Aggregate; m_find = new TextEditorWidgetFind(q); From dda16c3abc2ee4492b9a1ac583d9d92da003a9bf Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 29 Sep 2022 17:59:47 +0200 Subject: [PATCH 22/96] Cvs: Move to Tr::tr Change-Id: Iba6cfa75745ec2644c1a3dd20949971d16f6dba7 Reviewed-by: Alessandro Portale --- share/qtcreator/translations/qtcreator_cs.ts | 29 +---- share/qtcreator/translations/qtcreator_da.ts | 20 +--- share/qtcreator/translations/qtcreator_de.ts | 13 +-- share/qtcreator/translations/qtcreator_es.ts | 19 +-- share/qtcreator/translations/qtcreator_fr.ts | 29 +---- share/qtcreator/translations/qtcreator_hr.ts | 19 +-- share/qtcreator/translations/qtcreator_hu.ts | 20 +--- share/qtcreator/translations/qtcreator_it.ts | 19 +-- share/qtcreator/translations/qtcreator_ja.ts | 38 +----- share/qtcreator/translations/qtcreator_pl.ts | 16 +-- share/qtcreator/translations/qtcreator_ru.ts | 14 +-- share/qtcreator/translations/qtcreator_sl.ts | 20 +--- share/qtcreator/translations/qtcreator_uk.ts | 20 +--- .../qtcreator/translations/qtcreator_zh_CN.ts | 27 +---- .../qtcreator/translations/qtcreator_zh_TW.ts | 20 +--- src/plugins/cvs/CMakeLists.txt | 1 - src/plugins/cvs/annotationhighlighter.cpp | 18 --- src/plugins/cvs/annotationhighlighter.h | 25 ---- src/plugins/cvs/cvs.qbs | 2 - src/plugins/cvs/cvseditor.cpp | 31 +++-- src/plugins/cvs/cvseditor.h | 6 +- src/plugins/cvs/cvsplugin.cpp | 110 +++++++++--------- src/plugins/cvs/cvsplugin.h | 6 +- src/plugins/cvs/cvssettings.cpp | 24 ++-- src/plugins/cvs/cvssettings.h | 8 +- src/plugins/cvs/cvssubmiteditor.cpp | 13 ++- src/plugins/cvs/cvssubmiteditor.h | 10 +- src/plugins/cvs/cvstr.h | 4 +- src/plugins/cvs/cvsutils.cpp | 6 +- src/plugins/cvs/cvsutils.h | 6 +- 30 files changed, 160 insertions(+), 433 deletions(-) delete mode 100644 src/plugins/cvs/annotationhighlighter.cpp delete mode 100644 src/plugins/cvs/annotationhighlighter.h diff --git a/share/qtcreator/translations/qtcreator_cs.ts b/share/qtcreator/translations/qtcreator_cs.ts index edd6997c7ac..375fd0d97ba 100644 --- a/share/qtcreator/translations/qtcreator_cs.ts +++ b/share/qtcreator/translations/qtcreator_cs.ts @@ -16733,7 +16733,7 @@ p, li { white-space: pre-wrap; }
- Cvs::Internal::SettingsPage + Cvs Prompt to submit Potvrdit předložení @@ -18602,7 +18602,7 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás - Cvs::Internal::CheckoutWizard + Cvs Checks out a project from a CVS repository. Odhlásí projekt ze skladiště CVS. @@ -18615,9 +18615,6 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás CVS Checkout Získání (checkout) skladiště CVS - - - Cvs::Internal::CheckoutWizardPage Location Umístění @@ -18630,16 +18627,6 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás Repository: Skladiště: - - - CvsPlugin - - Cannot find repository for '%1' - Nelze najít skladiště pro '%1' - - - - Cvs::Internal::CvsPlugin Parsing of the log output failed Nepodařilo se vyhodnotit výstup záznamu @@ -18965,9 +18952,6 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás CVS did not respond within timeout limit (%1 ms). Žádná odpověď od CVS v rámci časového omezení (%1 ms). - - - Cvs::Internal::CvsSubmitEditor Added Přidáno @@ -18984,9 +18968,6 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás CVS Submit Předložení CVS - - - Cvs::Internal::SettingsPageWidget CVS Command Příkaz CVS @@ -24595,7 +24576,7 @@ heslem, jež můžete zadat níže. - Cvs::Internal::CvsEditor + Cvs Annotate revision "%1" Opatřit anotacemi revizi "%1" @@ -33812,7 +33793,7 @@ Příznaky: %3 - Cvs::Internal::CvsDiffParameterWidget + Cvs Ignore whitespace Nevšímat si bílých znaků @@ -56718,7 +56699,7 @@ Lze používat části jmen, pokud jsou jednoznačné. - Cvs::Internal::CvsControl + Cvs &Edit Ú&pravy diff --git a/share/qtcreator/translations/qtcreator_da.ts b/share/qtcreator/translations/qtcreator_da.ts index 8b0b0fe307c..c58c2cb9f8f 100644 --- a/share/qtcreator/translations/qtcreator_da.ts +++ b/share/qtcreator/translations/qtcreator_da.ts @@ -10182,7 +10182,7 @@ Flag: %3 - Cvs::Internal::CvsControl + Cvs &Edit &Rediger @@ -10191,9 +10191,6 @@ Flag: %3 CVS Checkout CVS checkout - - - Cvs::Internal::CvsDiffConfig Ignore Whitespace Ignorer blanktegn @@ -10202,16 +10199,10 @@ Flag: %3 Ignore Blank Lines Ignorer tomme linjer - - - Cvs::Internal::CvsEditorWidget Annotate revision "%1" Annotate revision "%1" - - - Cvs::Internal::CvsPlugin Cannot find repository for "%1". Kan ikke finde repository for "%1". @@ -10480,9 +10471,6 @@ Flag: %3 No CVS executable specified. Ingen CVS-eksekverbar angivet. - - - Cvs::Internal::CvsSubmitEditor Added Tilføjet @@ -10495,9 +10483,6 @@ Flag: %3 Modified Ændret - - - Cvs::Internal::SettingsPage Configuration Konfiguration @@ -10542,9 +10527,6 @@ Flag: %3 CVS CVS - - - Cvs::Internal::SettingsPageWidget CVS Command CVS-kommando diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 6fae864d90b..baa5290a67b 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -263,7 +263,7 @@ - Cvs::Internal::CvsPlugin + Cvs &CVS &CVS @@ -524,9 +524,6 @@ The initial revision %1 cannot be described. Die erste Version (%1) kann nicht weiter beschrieben werden. - - - Cvs::Internal::CvsSubmitEditor Added Hinzugefügt @@ -539,9 +536,6 @@ Modified Geändert - - - Cvs::Internal::SettingsPage Configuration Konfiguration @@ -582,9 +576,6 @@ When checked, all files touched by a commit will be displayed when clicking on a revision number in the annotation view (retrieved via commit ID). Otherwise, only the respective file will be displayed. Wenn die Option aktiviert ist, werden beim Klick auf die Revisionsnummer in der Annotationsansicht alle Dateien angezeigt, die zu einem Commit gehören (mittels Commit-ID bestimmt). Ansonsten wird nur die betreffende Datei angezeigt. - - - Cvs::Internal::SettingsPageWidget CVS Command CVS-Kommando @@ -28653,7 +28644,7 @@ Möchten Sie sie jetzt auschecken? - Cvs::Internal::CvsEditorWidget + Cvs Annotate revision "%1" Annotation für Revision "%1" diff --git a/share/qtcreator/translations/qtcreator_es.ts b/share/qtcreator/translations/qtcreator_es.ts index 1809eb692cc..0f54c51e6d9 100644 --- a/share/qtcreator/translations/qtcreator_es.ts +++ b/share/qtcreator/translations/qtcreator_es.ts @@ -11217,7 +11217,7 @@ p, li { white-space: pre-wrap; } - Cvs::Internal::SettingsPage + Cvs Prompt to submit Preguntar antes de enviar @@ -12219,7 +12219,7 @@ p, li { white-space: pre-wrap; } - Cvs::Internal::CheckoutWizard + Cvs Checks out a project from a CVS repository. @@ -12228,9 +12228,6 @@ p, li { white-space: pre-wrap; } CVS Checkout - - - Cvs::Internal::CheckoutWizardPage Specify repository and path. @@ -12239,16 +12236,10 @@ p, li { white-space: pre-wrap; } Repository: Repositorio: - - - CvsPlugin Cannot find repository for '%1' - - - Cvs::Internal::CvsPlugin Parsing of the log output failed @@ -12439,9 +12430,6 @@ p, li { white-space: pre-wrap; } CVS did not respond within timeout limit (%1 ms). - - - Cvs::Internal::CvsSubmitEditor Added @@ -12458,9 +12446,6 @@ p, li { white-space: pre-wrap; } CVS Submit - - - Cvs::Internal::SettingsPageWidget CVS Command diff --git a/share/qtcreator/translations/qtcreator_fr.ts b/share/qtcreator/translations/qtcreator_fr.ts index 892561e7269..e52782e72ca 100644 --- a/share/qtcreator/translations/qtcreator_fr.ts +++ b/share/qtcreator/translations/qtcreator_fr.ts @@ -17884,7 +17884,7 @@ p, li { white-space: pre-wrap; } - Cvs::Internal::SettingsPage + Cvs Prompt to submit Invite lors du submit @@ -19194,7 +19194,7 @@ p, li { white-space: pre-wrap; } - Cvs::Internal::CheckoutWizard + Cvs Checks out a project from a CVS repository. Obtient un projet à partir d'un dépôt CVS. @@ -19207,9 +19207,6 @@ p, li { white-space: pre-wrap; } CVS Checkout Import CVS - - - Cvs::Internal::CheckoutWizardPage Location Emplacement @@ -19222,16 +19219,6 @@ p, li { white-space: pre-wrap; } Repository: Dépôt : - - - CvsPlugin - - Cannot find repository for '%1' - Impossible de trouver le dépot de "%1" - - - - Cvs::Internal::CvsPlugin Parsing of the log output failed Échec de l'analyse de la sortie @@ -19557,9 +19544,6 @@ p, li { white-space: pre-wrap; } CVS did not respond within timeout limit (%1 ms). CVS n'a pas répondu dans le temps imparti (%1 ms). - - - Cvs::Internal::CvsSubmitEditor Added Ajouté @@ -19576,9 +19560,6 @@ p, li { white-space: pre-wrap; } CVS Submit CVS Submit - - - Cvs::Internal::SettingsPageWidget CVS Command CVS Command @@ -24729,7 +24710,7 @@ avec un mot de passe, que vous pouvez renseigner ci-dessus. - Cvs::Internal::CvsEditor + Cvs Annotate revision "%1" Révision annotée "%1" @@ -38829,7 +38810,7 @@ Would you like to overwrite them? - Cvs::Internal::CvsDiffParameterWidget + Cvs Ignore whitespace Ignorer les espaces @@ -53553,7 +53534,7 @@ Les noms partiels peuvent êtres utilisé s'ils ne sont pas ambigües. - Cvs::Internal::CvsControl + Cvs &Edit &Édition diff --git a/share/qtcreator/translations/qtcreator_hr.ts b/share/qtcreator/translations/qtcreator_hr.ts index 4faaab46a3b..6ec3f67dd44 100644 --- a/share/qtcreator/translations/qtcreator_hr.ts +++ b/share/qtcreator/translations/qtcreator_hr.ts @@ -3609,7 +3609,7 @@ Ti se predznaci koriste kao dodatak trenutačnom direktoriju na Switch zaglavlju - Cvs::Internal::SettingsPage + Cvs Configuration Konfiguracija @@ -21653,7 +21653,7 @@ Oznake: %3 - Cvs::Internal::CvsDiffConfig + Cvs Ignore Whitespace @@ -21662,9 +21662,6 @@ Oznake: %3 Ignore Blank Lines - - - Cvs::Internal::CvsControl &Edit &Uredi @@ -21673,16 +21670,10 @@ Oznake: %3 CVS Checkout - - - Cvs::Internal::CvsEditorWidget Annotate revision "%1" - - - Cvs::Internal::CvsPlugin Cannot find repository for "%1". @@ -21927,9 +21918,6 @@ Oznake: %3 No CVS executable specified. - - - Cvs::Internal::CvsSubmitEditor Added @@ -21942,9 +21930,6 @@ Oznake: %3 Modified Posljednja promjena - - - Cvs::Internal::SettingsPageWidget CVS Command diff --git a/share/qtcreator/translations/qtcreator_hu.ts b/share/qtcreator/translations/qtcreator_hu.ts index 25dca57a887..3a476f8ef75 100644 --- a/share/qtcreator/translations/qtcreator_hu.ts +++ b/share/qtcreator/translations/qtcreator_hu.ts @@ -515,7 +515,7 @@ - Cvs::Internal::CvsPlugin + Cvs Parsing of the log output failed A log kimenet elemzése nem sikerült @@ -706,9 +706,6 @@ CVS did not respond within timeout limit (%1 ms). A CVS nem válaszolt az időtúllépési korláton belül (%1 ms). - - - Cvs::Internal::CvsSubmitEditor Added Hozzáadva @@ -725,9 +722,6 @@ CVS Submit CVS feltöltés - - - Cvs::Internal::CheckoutWizard Checks out a project from a CVS repository. Egy projekt megnézése egy CVS tárolóból. @@ -736,9 +730,6 @@ CVS Checkout CVS megnézés - - - Cvs::Internal::CheckoutWizardPage Specify repository and path. Határozza meg a tárolót és az útvonalat. @@ -747,9 +738,6 @@ Repository: Tároló: - - - Cvs::Internal::SettingsPage Prompt to submit Feltöltési prompt @@ -778,16 +766,10 @@ CVS CVS - - - Cvs::Internal::SettingsPageWidget CVS Command CVS parancs - - - CvsPlugin Cannot find repository for '%1' '%1' tárolóra nem található diff --git a/share/qtcreator/translations/qtcreator_it.ts b/share/qtcreator/translations/qtcreator_it.ts index 9dc5befdad6..89996eb4c86 100644 --- a/share/qtcreator/translations/qtcreator_it.ts +++ b/share/qtcreator/translations/qtcreator_it.ts @@ -11115,7 +11115,7 @@ p, li { white-space: pre-wrap; } - Cvs::Internal::SettingsPage + Cvs Prompt to submit Prompt del submit @@ -12079,7 +12079,7 @@ p, li { white-space: pre-wrap; } - Cvs::Internal::CheckoutWizard + Cvs Checks out a project from a CVS repository. @@ -12088,9 +12088,6 @@ p, li { white-space: pre-wrap; } CVS Checkout - - - Cvs::Internal::CheckoutWizardPage Specify repository and path. @@ -12099,16 +12096,10 @@ p, li { white-space: pre-wrap; } Repository: Deposito: - - - CvsPlugin Cannot find repository for '%1' - - - Cvs::Internal::CvsPlugin Parsing of the log output failed @@ -12299,9 +12290,6 @@ p, li { white-space: pre-wrap; } CVS did not respond within timeout limit (%1 ms). - - - Cvs::Internal::CvsSubmitEditor Added @@ -12318,9 +12306,6 @@ p, li { white-space: pre-wrap; } CVS Submit - - - Cvs::Internal::SettingsPageWidget CVS Command diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index 413c4c43512..fe955d4fdd7 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -2535,7 +2535,7 @@ These prefixes are used in addition to current file name on Switch Header/Source - Cvs::Internal::SettingsPage + Cvs Configuration 設定 @@ -15837,7 +15837,7 @@ Flags: %3 - Cvs::Internal::CvsControl + Cvs &Edit 編集(&E) @@ -15846,9 +15846,6 @@ Flags: %3 CVS Checkout CVS チェックアウト - - - Cvs::Internal::CvsPlugin Cannot find repository for "%1". "%1" にリポジトリが見つかりません。 @@ -15869,14 +15866,6 @@ Flags: %3 Ignore Blank Lines 空行を無視 - - &Edit - 編集(&E) - - - CVS Checkout - CVS チェックアウト - Diff Current File 現在のファイルの差分表示 @@ -16137,20 +16126,6 @@ Flags: %3 The initial revision %1 cannot be described. 初期リビジョン %1 に説明はありません。 - - - Cvs::Internal::CvsDiffParameterWidget - - Ignore Whitespace - 空白を無視 - - - Ignore Blank Lines - 空行を無視 - - - - Cvs::Internal::CvsSubmitEditor Added 追加 @@ -16163,17 +16138,10 @@ Flags: %3 Modified 変更 - - - Cvs::Internal::SettingsPageWidget CVS Command CVS コマンド - - CVS - CVS - Debugger @@ -39993,7 +39961,7 @@ Do you want to check them out now?
- Cvs::Internal::CvsEditorWidget + Cvs Annotate revision "%1" リビジョン "%1" のアノテーション diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts index 10b0b609871..01f3e91bd11 100644 --- a/share/qtcreator/translations/qtcreator_pl.ts +++ b/share/qtcreator/translations/qtcreator_pl.ts @@ -339,7 +339,7 @@ - Cvs::Internal::SettingsPage + Cvs CVS CVS @@ -2929,7 +2929,7 @@ Kontynuować? - Cvs::Internal::CvsPlugin + Cvs &CVS &CVS @@ -3202,9 +3202,6 @@ Kontynuować? The initial revision %1 cannot be described. Początkowa wersja %1 nie może być opisana. - - - Cvs::Internal::CvsSubmitEditor Added Dodano @@ -3217,9 +3214,6 @@ Kontynuować? Modified Zmodyfikowano - - - Cvs::Internal::SettingsPageWidget CVS Command Komenda CVS @@ -25311,7 +25305,7 @@ Więcej informacji w dokumentacji "Checking Code Syntax". - Cvs::Internal::CvsControl + Cvs &Edit &Edycja @@ -30896,7 +30890,7 @@ Do you want to check them out now? - Cvs::Internal::CvsEditorWidget + Cvs Annotate revision "%1" Dołącz adnotację do wersji "%1" @@ -41922,7 +41916,7 @@ Błąd: %2 - Cvs::Internal::CvsDiffConfig + Cvs Ignore Whitespace Ignoruj białe znaki diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index 82e85def331..e57961385d6 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -13821,14 +13821,11 @@ Do you want to display them anyway? - Cvs::Internal::CvsEditorWidget + Cvs Annotate revision "%1" Аннотация ревизии «%1» - - - Cvs::Internal::CvsPlugin &CVS &CVS @@ -14089,9 +14086,6 @@ Do you want to display them anyway? The initial revision %1 cannot be described. Невозможно описать начальную ревизию %1. - - - Cvs::Internal::CvsSubmitEditor Added Добавлен @@ -14104,9 +14098,6 @@ Do you want to display them anyway? Modified Изменён - - - Cvs::Internal::SettingsPage Configuration Настройка @@ -14147,9 +14138,6 @@ Do you want to display them anyway? When checked, all files touched by a commit will be displayed when clicking on a revision number in the annotation view (retrieved via commit ID). Otherwise, only the respective file will be displayed. Если включено, по щелчку на номере ревизии при просмотре аннотации (полученной по идентификатору фиксации) будут отображаться все зафиксированные файлы. В противном случае, только соответствующий файл. - - - Cvs::Internal::SettingsPageWidget CVS Command Команда CVS diff --git a/share/qtcreator/translations/qtcreator_sl.ts b/share/qtcreator/translations/qtcreator_sl.ts index c78944f2445..d84625d9ddc 100644 --- a/share/qtcreator/translations/qtcreator_sl.ts +++ b/share/qtcreator/translations/qtcreator_sl.ts @@ -10988,7 +10988,7 @@ p, li { white-space: pre-wrap; } - Cvs::Internal::SettingsPage + Cvs CVS CVS @@ -12350,7 +12350,7 @@ Za uporabo v polje Iskalnika vtipkajte to bližnjico in presledek ter nato iskan - Cvs::Internal::CheckoutWizard + Cvs Checks out a CVS repository and tries to load the contained project. Prevzame skladišče CVS in poskusi naložiti vsebovani projekt. @@ -12359,9 +12359,6 @@ Za uporabo v polje Iskalnika vtipkajte to bližnjico in presledek ter nato iskan CVS Checkout Prevzem iz CVS - - - Cvs::Internal::CheckoutWizardPage Location Mesto @@ -12374,9 +12371,6 @@ Za uporabo v polje Iskalnika vtipkajte to bližnjico in presledek ter nato iskan Repository: Skladišče: - - - Cvs::Internal::CvsPlugin Parsing of the log output failed Razčlenjevanje dnevnika ni uspelo. @@ -12665,9 +12659,6 @@ Za uporabo v polje Iskalnika vtipkajte to bližnjico in presledek ter nato iskan CVS did not respond within timeout limit (%1 ms). CVS se v za to namenjenem času (%1 ms) ni odzval. - - - Cvs::Internal::CvsSubmitEditor Added Dodana @@ -12680,9 +12671,6 @@ Za uporabo v polje Iskalnika vtipkajte to bližnjico in presledek ter nato iskan Modified Spremenjena - - - Cvs::Internal::SettingsPageWidget CVS Command Ukaz CVS @@ -15931,7 +15919,7 @@ Desetiška predznačena vrednost (najprej veliki konec): %4 - Cvs::Internal::CvsEditor + Cvs Annotate revision "%1" Dodaj opombo za revizijo »%1« @@ -23209,7 +23197,7 @@ Vedite: to lahko odstrani krajevno datoteko. - Cvs::Internal::CvsDiffParameterWidget + Cvs Ignore whitespace Prezri presledke diff --git a/share/qtcreator/translations/qtcreator_uk.ts b/share/qtcreator/translations/qtcreator_uk.ts index 4adf387c5d3..8540a1e01ac 100644 --- a/share/qtcreator/translations/qtcreator_uk.ts +++ b/share/qtcreator/translations/qtcreator_uk.ts @@ -24975,7 +24975,7 @@ These prefixes are used in addition to current file name on Switch Header/Source - Cvs::Internal::SettingsPage + Cvs Configuration Конфігурація @@ -26565,7 +26565,7 @@ should a repository require SSH-authentication (see documentation on SSH and the - Cvs::Internal::CheckoutWizardPage + Cvs Location Розташування @@ -26578,9 +26578,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Repository: Сховище: - - - Cvs::Internal::CvsPlugin Cannot find repository for '%1' Неможливо знайти сховище для '%1' @@ -26869,9 +26866,6 @@ should a repository require SSH-authentication (see documentation on SSH and the No cvs executable specified! Виконуваний модуль cvs не вказано! - - - Cvs::Internal::CvsDiffParameterWidget Ignore whitespace Ігнорувати пропуски @@ -26888,9 +26882,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Ignore Blank Lines Ігнорувати порожні рядки - - - Cvs::Internal::CvsSubmitEditor Added Додано @@ -26903,9 +26894,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Modified Змінено - - - Cvs::Internal::SettingsPageWidget CVS Command Команда CVS @@ -36054,7 +36042,7 @@ Partial names can be used if they are unambiguous. - Cvs::Internal::CvsControl + Cvs &Edit &Редагувати @@ -44562,7 +44550,7 @@ The statements may not contain '{' nor '}' characters. - Cvs::Internal::CvsEditorWidget + Cvs Annotate revision "%1" diff --git a/share/qtcreator/translations/qtcreator_zh_CN.ts b/share/qtcreator/translations/qtcreator_zh_CN.ts index f5fd36f27c2..da0ac9eea7e 100644 --- a/share/qtcreator/translations/qtcreator_zh_CN.ts +++ b/share/qtcreator/translations/qtcreator_zh_CN.ts @@ -16493,7 +16493,7 @@ Will not be applied to whitespace in comments and strings. - Cvs::Internal::SettingsPage + Cvs CVS Command: CVS 命令: @@ -17773,7 +17773,7 @@ Will not be applied to whitespace in comments and strings. - Cvs::Internal::CheckoutWizard + Cvs Checks out a project from a CVS repository. 从CVS仓库中检出项目。 @@ -17786,9 +17786,6 @@ Will not be applied to whitespace in comments and strings. CVS Checkout CVS Checkout - - - Cvs::Internal::CheckoutWizardPage Location 位置 @@ -17801,16 +17798,6 @@ Will not be applied to whitespace in comments and strings. Repository: 代码仓库: - - - CvsPlugin - - Cannot find repository for '%1' - 无法为'%1'找到仓库 - - - - Cvs::Internal::CvsPlugin Parsing of the log output failed 解析日志输出失败 @@ -18132,9 +18119,6 @@ Will not be applied to whitespace in comments and strings. CVS did not respond within timeout limit (%1 ms). CVS 在超时时间 (%1 毫秒)内无响应。 - - - Cvs::Internal::CvsSubmitEditor Added 已添加 @@ -18147,9 +18131,6 @@ Will not be applied to whitespace in comments and strings. Modified 已更改 - - - Cvs::Internal::SettingsPageWidget CVS Command CVS 命令 @@ -22457,7 +22438,7 @@ Previous decimal signed value (big endian): %4 - Cvs::Internal::CvsEditor + Cvs Annotate revision "%1" 注释修订版本 "%1" @@ -36067,7 +36048,7 @@ Would you like to overwrite them? - Cvs::Internal::CvsDiffParameterWidget + Cvs Ignore whitespace 忽略空白 diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index e807194fa89..772519edca7 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -10188,7 +10188,7 @@ Will not be applied to whitespace in comments and strings. - Cvs::Internal::SettingsPage + Cvs CVS CVS @@ -10788,7 +10788,7 @@ Will not be applied to whitespace in comments and strings. - Cvs::Internal::CheckoutWizard + Cvs Checks out a CVS repository and tries to load the contained project. 從 CVS 主目錄中取出,並試著載入裡面包含的專案。 @@ -10797,9 +10797,6 @@ Will not be applied to whitespace in comments and strings. CVS Checkout CVS 取出 - - - Cvs::Internal::CheckoutWizardPage Location 位置 @@ -10812,9 +10809,6 @@ Will not be applied to whitespace in comments and strings. Repository: 主目錄: - - - Cvs::Internal::CvsPlugin Parsing of the log output failed 剖析紀錄輸出失敗 @@ -11075,9 +11069,6 @@ Will not be applied to whitespace in comments and strings. No cvs executable specified! 未指定 cvs 的執行檔! - - - Cvs::Internal::CvsSubmitEditor Added 已新增 @@ -11090,9 +11081,6 @@ Will not be applied to whitespace in comments and strings. Modified 已變更 - - - Cvs::Internal::SettingsPageWidget CVS Command CVS 指令 @@ -13207,7 +13195,7 @@ For qmlproject projects, use the importPaths property to add import paths. - Cvs::Internal::CvsEditor + Cvs Annotate revision "%1" 註記版本 "%1" @@ -22338,7 +22326,7 @@ Would you like to overwrite them? - Cvs::Internal::CvsDiffParameterWidget + Cvs Ignore whitespace 忽略空白 diff --git a/src/plugins/cvs/CMakeLists.txt b/src/plugins/cvs/CMakeLists.txt index 47c91f8a720..1cc14dfc166 100644 --- a/src/plugins/cvs/CMakeLists.txt +++ b/src/plugins/cvs/CMakeLists.txt @@ -2,7 +2,6 @@ add_qtc_plugin(CVS PLUGIN_CLASS CvsPlugin PLUGIN_DEPENDS Core TextEditor VcsBase SOURCES - annotationhighlighter.cpp annotationhighlighter.h cvseditor.cpp cvseditor.h cvsplugin.cpp cvsplugin.h cvssettings.cpp cvssettings.h diff --git a/src/plugins/cvs/annotationhighlighter.cpp b/src/plugins/cvs/annotationhighlighter.cpp deleted file mode 100644 index 9efca576838..00000000000 --- a/src/plugins/cvs/annotationhighlighter.cpp +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#include "annotationhighlighter.h" - -using namespace Cvs; -using namespace Cvs::Internal; - -CvsAnnotationHighlighter::CvsAnnotationHighlighter(const ChangeNumbers &changeNumbers, - QTextDocument *document) : - VcsBase::BaseAnnotationHighlighter(changeNumbers, document) -{ } - -QString CvsAnnotationHighlighter::changeNumber(const QString &block) const -{ - const int pos = block.indexOf(QLatin1Char(' ')); - return pos > 1 ? block.left(pos) : QString(); -} diff --git a/src/plugins/cvs/annotationhighlighter.h b/src/plugins/cvs/annotationhighlighter.h deleted file mode 100644 index 2e7e85f1a79..00000000000 --- a/src/plugins/cvs/annotationhighlighter.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#pragma once - -#include - -namespace Cvs { -namespace Internal { - -// Annotation highlighter for cvs triggering on 'changenumber ' -class CvsAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter -{ - Q_OBJECT - -public: - explicit CvsAnnotationHighlighter(const ChangeNumbers &changeNumbers, - QTextDocument *document = nullptr); - -private: - QString changeNumber(const QString &block) const override; -}; - -} // namespace Internal -} // namespace Cvs diff --git a/src/plugins/cvs/cvs.qbs b/src/plugins/cvs/cvs.qbs index cbc1dbaa0f2..53fae819f28 100644 --- a/src/plugins/cvs/cvs.qbs +++ b/src/plugins/cvs/cvs.qbs @@ -11,8 +11,6 @@ QtcPlugin { Depends { name: "VcsBase" } files: [ - "annotationhighlighter.cpp", - "annotationhighlighter.h", "cvseditor.cpp", "cvseditor.h", "cvsplugin.cpp", diff --git a/src/plugins/cvs/cvseditor.cpp b/src/plugins/cvs/cvseditor.cpp index e8f77d6ab6e..147c3345e54 100644 --- a/src/plugins/cvs/cvseditor.cpp +++ b/src/plugins/cvs/cvseditor.cpp @@ -2,24 +2,42 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "cvseditor.h" + +#include "cvstr.h" #include "cvsutils.h" -#include "annotationhighlighter.h" - #include + +#include #include #include #include #include -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { // Match a CVS revision ("1.1.1.1") #define CVS_REVISION_PATTERN "[\\d\\.]+" #define CVS_REVISION_AT_START_PATTERN "^(" CVS_REVISION_PATTERN ") " +// Annotation highlighter for cvs triggering on 'changenumber ' +class CvsAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter +{ +public: + explicit CvsAnnotationHighlighter(const ChangeNumbers &changeNumbers, + QTextDocument *document = nullptr) : + VcsBase::BaseAnnotationHighlighter(changeNumbers, document) + { } + +private: + QString changeNumber(const QString &block) const override + { + const int pos = block.indexOf(QLatin1Char(' ')); + return pos > 1 ? block.left(pos) : QString(); + } +}; + CvsEditorWidget::CvsEditorWidget() : m_revisionAnnotationPattern(CVS_REVISION_AT_START_PATTERN), m_revisionLogPattern("^revision *(" CVS_REVISION_PATTERN ")$") @@ -36,7 +54,7 @@ CvsEditorWidget::CvsEditorWidget() : */ setDiffFilePattern("^[-+]{3} ([^\\t]+)"); setLogEntryPattern("^revision (.+)$"); - setAnnotateRevisionTextFormat(tr("Annotate revision \"%1\"")); + setAnnotateRevisionTextFormat(Tr::tr("Annotate revision \"%1\"")); setAnnotationEntryPattern("^(" CVS_REVISION_PATTERN ") "); } @@ -87,5 +105,4 @@ QStringList CvsEditorWidget::annotationPreviousVersions(const QString &revision) return QStringList(previousRevision(revision)); } -} -} +} // Cvs::Internal diff --git a/src/plugins/cvs/cvseditor.h b/src/plugins/cvs/cvseditor.h index f68fcd68a9d..44c7f209444 100644 --- a/src/plugins/cvs/cvseditor.h +++ b/src/plugins/cvs/cvseditor.h @@ -7,8 +7,7 @@ #include -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { class CvsEditorWidget : public VcsBase::VcsBaseEditorWidget { @@ -28,5 +27,4 @@ private: QString m_diffBaseDir; }; -} // namespace Internal -} // namespace Cvs +} // Cvs::Internal diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index 3f25126b0d7..6318f5eb5a6 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -2,10 +2,12 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "cvsplugin.h" + #include "cvseditor.h" -#include "cvssubmiteditor.h" -#include "cvsutils.h" #include "cvssettings.h" +#include "cvssubmiteditor.h" +#include "cvstr.h" +#include "cvsutils.h" #include #include @@ -58,8 +60,7 @@ using namespace VcsBase; using namespace Utils; using namespace std::placeholders; -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { const char CVS_CONTEXT[] = "CVS Context"; const char CMD_ID_CVS_MENU[] = "CVS.Menu"; @@ -151,9 +152,9 @@ public: VcsBaseEditorConfig(toolBar), m_settings(settings) { - mapSetting(addToggleButton("-w", CvsPlugin::tr("Ignore Whitespace")), + mapSetting(addToggleButton("-w", Tr::tr("Ignore Whitespace")), &settings.diffIgnoreWhiteSpace); - mapSetting(addToggleButton("-B", CvsPlugin::tr("Ignore Blank Lines")), + mapSetting(addToggleButton("-B", Tr::tr("Ignore Blank Lines")), &settings.diffIgnoreBlankLines); } @@ -202,8 +203,6 @@ public: class CvsPluginPrivate final : public VcsBasePluginPrivate { - Q_DECLARE_TR_FUNCTIONS(Cvs::Internal::CvsPlugin) - public: CvsPluginPrivate(); ~CvsPluginPrivate() final; @@ -447,7 +446,7 @@ void CvsPluginPrivate::vcsAnnotate(const FilePath &filePath, int line) QString CvsPluginPrivate::vcsOpenText() const { - return tr("&Edit"); + return Tr::tr("&Edit"); } VcsCommand *CvsPluginPrivate::createInitialCheckoutCommand(const QString &url, @@ -461,7 +460,7 @@ VcsCommand *CvsPluginPrivate::createInitialCheckoutCommand(const QString &url, args << QLatin1String("checkout") << url << extraArgs; auto command = VcsBaseClient::createVcsCommand(baseDirectory, Environment::systemEnvironment()); - command->setDisplayName(tr("CVS Checkout")); + command->setDisplayName(Tr::tr("CVS Checkout")); command->addJob({m_settings.binaryPath.filePath(), m_settings.addOptions(args)}, -1); return command; } @@ -519,28 +518,28 @@ CvsPluginPrivate::CvsPluginPrivate() const QString prefix = QLatin1String("cvs"); m_commandLocator = new CommandLocator("CVS", prefix, prefix, this); - m_commandLocator->setDescription(tr("Triggers a CVS version control operation.")); + m_commandLocator->setDescription(Tr::tr("Triggers a CVS version control operation.")); // Register actions ActionContainer *toolsContainer = ActionManager::actionContainer(M_TOOLS); ActionContainer *cvsMenu = ActionManager::createMenu(Id(CMD_ID_CVS_MENU)); - cvsMenu->menu()->setTitle(tr("&CVS")); + cvsMenu->menu()->setTitle(Tr::tr("&CVS")); toolsContainer->addMenu(cvsMenu); m_menuAction = cvsMenu->menu()->menuAction(); Command *command; - m_diffCurrentAction = new ParameterAction(tr("Diff Current File"), tr("Diff \"%1\""), ParameterAction::EnabledWithParameter, this); + m_diffCurrentAction = new ParameterAction(Tr::tr("Diff Current File"), Tr::tr("Diff \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_diffCurrentAction, CMD_ID_DIFF_CURRENT, context); command->setAttribute(Command::CA_UpdateText); - command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? tr("Meta+C,Meta+D") : tr("Alt+C,Alt+D"))); + command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Meta+C,Meta+D") : Tr::tr("Alt+C,Alt+D"))); connect(m_diffCurrentAction, &QAction::triggered, this, &CvsPluginPrivate::diffCurrentFile); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_filelogCurrentAction = new ParameterAction(tr("Filelog Current File"), tr("Filelog \"%1\""), ParameterAction::EnabledWithParameter, this); + m_filelogCurrentAction = new ParameterAction(Tr::tr("Filelog Current File"), Tr::tr("Filelog \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_filelogCurrentAction, CMD_ID_FILELOG_CURRENT, context); command->setAttribute(Command::CA_UpdateText); @@ -548,7 +547,7 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_annotateCurrentAction = new ParameterAction(tr("Annotate Current File"), tr("Annotate \"%1\""), ParameterAction::EnabledWithParameter, this); + m_annotateCurrentAction = new ParameterAction(Tr::tr("Annotate Current File"), Tr::tr("Annotate \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_annotateCurrentAction, CMD_ID_ANNOTATE_CURRENT, context); command->setAttribute(Command::CA_UpdateText); @@ -558,25 +557,25 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addSeparator(context); - m_addAction = new ParameterAction(tr("Add"), tr("Add \"%1\""), ParameterAction::EnabledWithParameter, this); + m_addAction = new ParameterAction(Tr::tr("Add"), Tr::tr("Add \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_addAction, CMD_ID_ADD, context); command->setAttribute(Command::CA_UpdateText); - command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? tr("Meta+C,Meta+A") : tr("Alt+C,Alt+A"))); + command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Meta+C,Meta+A") : Tr::tr("Alt+C,Alt+A"))); connect(m_addAction, &QAction::triggered, this, &CvsPluginPrivate::addCurrentFile); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_commitCurrentAction = new ParameterAction(tr("Commit Current File"), tr("Commit \"%1\""), ParameterAction::EnabledWithParameter, this); + m_commitCurrentAction = new ParameterAction(Tr::tr("Commit Current File"), Tr::tr("Commit \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_commitCurrentAction, CMD_ID_COMMIT_CURRENT, context); command->setAttribute(Command::CA_UpdateText); - command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? tr("Meta+C,Meta+C") : tr("Alt+C,Alt+C"))); + command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Meta+C,Meta+C") : Tr::tr("Alt+C,Alt+C"))); connect(m_commitCurrentAction, &QAction::triggered, this, &CvsPluginPrivate::startCommitCurrentFile); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_deleteAction = new ParameterAction(tr("Delete..."), tr("Delete \"%1\"..."), ParameterAction::EnabledWithParameter, this); + m_deleteAction = new ParameterAction(Tr::tr("Delete..."), Tr::tr("Delete \"%1\"..."), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_deleteAction, CMD_ID_DELETE_FILE, context); command->setAttribute(Command::CA_UpdateText); @@ -584,7 +583,7 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_revertAction = new ParameterAction(tr("Revert..."), tr("Revert \"%1\"..."), ParameterAction::EnabledWithParameter, this); + m_revertAction = new ParameterAction(Tr::tr("Revert..."), Tr::tr("Revert \"%1\"..."), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_revertAction, CMD_ID_REVERT, context); command->setAttribute(Command::CA_UpdateText); @@ -594,21 +593,21 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addSeparator(context); - m_editCurrentAction = new ParameterAction(tr("Edit"), tr("Edit \"%1\""), ParameterAction::EnabledWithParameter, this); + m_editCurrentAction = new ParameterAction(Tr::tr("Edit"), Tr::tr("Edit \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_editCurrentAction, CMD_ID_EDIT_FILE, context); command->setAttribute(Command::CA_UpdateText); connect(m_editCurrentAction, &QAction::triggered, this, &CvsPluginPrivate::editCurrentFile); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_uneditCurrentAction = new ParameterAction(tr("Unedit"), tr("Unedit \"%1\""), ParameterAction::EnabledWithParameter, this); + m_uneditCurrentAction = new ParameterAction(Tr::tr("Unedit"), Tr::tr("Unedit \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_uneditCurrentAction, CMD_ID_UNEDIT_FILE, context); command->setAttribute(Command::CA_UpdateText); connect(m_uneditCurrentAction, &QAction::triggered, this, &CvsPluginPrivate::uneditCurrentFile); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_uneditRepositoryAction = new QAction(tr("Unedit Repository"), this); + m_uneditRepositoryAction = new QAction(Tr::tr("Unedit Repository"), this); command = ActionManager::registerAction(m_uneditRepositoryAction, CMD_ID_UNEDIT_REPOSITORY, context); connect(m_uneditRepositoryAction, &QAction::triggered, this, &CvsPluginPrivate::uneditCurrentRepository); cvsMenu->addAction(command); @@ -616,7 +615,7 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addSeparator(context); - m_diffProjectAction = new ParameterAction(tr("Diff Project"), tr("Diff Project \"%1\""), ParameterAction::EnabledWithParameter, this); + m_diffProjectAction = new ParameterAction(Tr::tr("Diff Project"), Tr::tr("Diff Project \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_diffProjectAction, CMD_ID_DIFF_PROJECT, context); command->setAttribute(Command::CA_UpdateText); @@ -624,7 +623,7 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_statusProjectAction = new ParameterAction(tr("Project Status"), tr("Status of Project \"%1\""), ParameterAction::EnabledWithParameter, this); + m_statusProjectAction = new ParameterAction(Tr::tr("Project Status"), Tr::tr("Status of Project \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_statusProjectAction, CMD_ID_STATUS, context); command->setAttribute(Command::CA_UpdateText); @@ -632,21 +631,21 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_logProjectAction = new ParameterAction(tr("Log Project"), tr("Log Project \"%1\""), ParameterAction::EnabledWithParameter, this); + m_logProjectAction = new ParameterAction(Tr::tr("Log Project"), Tr::tr("Log Project \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_logProjectAction, CMD_ID_PROJECTLOG, context); command->setAttribute(Command::CA_UpdateText); connect(m_logProjectAction, &QAction::triggered, this, &CvsPluginPrivate::logProject); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_updateProjectAction = new ParameterAction(tr("Update Project"), tr("Update Project \"%1\""), ParameterAction::EnabledWithParameter, this); + m_updateProjectAction = new ParameterAction(Tr::tr("Update Project"), Tr::tr("Update Project \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_updateProjectAction, CMD_ID_UPDATE, context); command->setAttribute(Command::CA_UpdateText); connect(m_updateProjectAction, &QAction::triggered, this, &CvsPluginPrivate::updateProject); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_commitProjectAction = new ParameterAction(tr("Commit Project"), tr("Commit Project \"%1\""), ParameterAction::EnabledWithParameter, this); + m_commitProjectAction = new ParameterAction(Tr::tr("Commit Project"), Tr::tr("Commit Project \"%1\""), ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_commitProjectAction, CMD_ID_PROJECTCOMMIT, context); command->setAttribute(Command::CA_UpdateText); connect(m_commitProjectAction, &QAction::triggered, this, &CvsPluginPrivate::commitProject); @@ -655,14 +654,14 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addSeparator(context); - m_updateDirectoryAction = new ParameterAction(tr("Update Directory"), tr("Update Directory \"%1\""), Utils::ParameterAction::EnabledWithParameter, this); + m_updateDirectoryAction = new ParameterAction(Tr::tr("Update Directory"), Tr::tr("Update Directory \"%1\""), Utils::ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_updateDirectoryAction, CMD_ID_UPDATE_DIRECTORY, context); command->setAttribute(Command::CA_UpdateText); connect(m_updateDirectoryAction, &QAction::triggered, this, &CvsPluginPrivate::updateDirectory); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_commitDirectoryAction = new ParameterAction(tr("Commit Directory"), tr("Commit Directory \"%1\""), Utils::ParameterAction::EnabledWithParameter, this); + m_commitDirectoryAction = new ParameterAction(Tr::tr("Commit Directory"), Tr::tr("Commit Directory \"%1\""), Utils::ParameterAction::EnabledWithParameter, this); command = ActionManager::registerAction(m_commitDirectoryAction, CMD_ID_COMMIT_DIRECTORY, context); command->setAttribute(Command::CA_UpdateText); @@ -672,38 +671,38 @@ CvsPluginPrivate::CvsPluginPrivate() cvsMenu->addSeparator(context); - m_diffRepositoryAction = new QAction(tr("Diff Repository"), this); + m_diffRepositoryAction = new QAction(Tr::tr("Diff Repository"), this); command = ActionManager::registerAction(m_diffRepositoryAction, CMD_ID_REPOSITORYDIFF, context); connect(m_diffRepositoryAction, &QAction::triggered, this, &CvsPluginPrivate::diffRepository); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_statusRepositoryAction = new QAction(tr("Repository Status"), this); + m_statusRepositoryAction = new QAction(Tr::tr("Repository Status"), this); command = ActionManager::registerAction(m_statusRepositoryAction, CMD_ID_REPOSITORYSTATUS, context); connect(m_statusRepositoryAction, &QAction::triggered, this, &CvsPluginPrivate::statusRepository); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_logRepositoryAction = new QAction(tr("Repository Log"), this); + m_logRepositoryAction = new QAction(Tr::tr("Repository Log"), this); command = ActionManager::registerAction(m_logRepositoryAction, CMD_ID_REPOSITORYLOG, context); connect(m_logRepositoryAction, &QAction::triggered, this, &CvsPluginPrivate::logRepository); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_updateRepositoryAction = new QAction(tr("Update Repository"), this); + m_updateRepositoryAction = new QAction(Tr::tr("Update Repository"), this); command = ActionManager::registerAction(m_updateRepositoryAction, CMD_ID_REPOSITORYUPDATE, context); connect(m_updateRepositoryAction, &QAction::triggered, this, &CvsPluginPrivate::updateRepository); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_commitAllAction = new QAction(tr("Commit All Files"), this); + m_commitAllAction = new QAction(Tr::tr("Commit All Files"), this); command = ActionManager::registerAction(m_commitAllAction, CMD_ID_COMMIT_ALL, context); connect(m_commitAllAction, &QAction::triggered, this, &CvsPluginPrivate::startCommitAll); cvsMenu->addAction(command); m_commandLocator->appendCommand(command); - m_revertRepositoryAction = new QAction(tr("Revert Repository..."), this); + m_revertRepositoryAction = new QAction(Tr::tr("Revert Repository..."), this); command = ActionManager::registerAction(m_revertRepositoryAction, CMD_ID_REVERT_ALL, context); connect(m_revertRepositoryAction, &QAction::triggered, this, &CvsPluginPrivate::revertAll); @@ -843,8 +842,8 @@ void CvsPluginPrivate::revertAll() { const VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasTopLevel(), return); - const QString title = tr("Revert Repository"); - if (!messageBoxQuestion(title, tr("Revert all pending changes to the repository?"))) + const QString title = Tr::tr("Revert Repository"); + if (!messageBoxQuestion(title, Tr::tr("Revert all pending changes to the repository?"))) return; QStringList args; args << QLatin1String("update") << QLatin1String("-C") << state.topLevel().toString(); @@ -854,7 +853,7 @@ void CvsPluginPrivate::revertAll() emit repositoryChanged(state.topLevel()); else Core::AsynchronousMessageBox::warning(title, - tr("Revert failed: %1").arg(revertResponse.message)); + Tr::tr("Revert failed: %1").arg(revertResponse.message)); } void CvsPluginPrivate::revertCurrentFile() @@ -877,7 +876,7 @@ void CvsPluginPrivate::revertCurrentFile() } if (!messageBoxQuestion(QLatin1String("CVS Revert"), - tr("The file has been changed. Do you want to revert it?"))) + Tr::tr("The file has been changed. Do you want to revert it?"))) return; FileChangeBlocker fcb(FilePath::fromString(state.currentFile())); @@ -942,7 +941,7 @@ void CvsPluginPrivate::startCommit(const FilePath &workingDir, const QString &fi if (raiseSubmitEditor()) return; if (isCommitEditorOpen()) { - VcsOutputWindow::appendWarning(tr("Another commit is currently being executed.")); + VcsOutputWindow::appendWarning(Tr::tr("Another commit is currently being executed.")); return; } @@ -965,7 +964,7 @@ void CvsPluginPrivate::startCommit(const FilePath &workingDir, const QString &fi } } if (statusOutput.empty()) { - VcsOutputWindow::appendWarning(tr("There are no modified files.")); + VcsOutputWindow::appendWarning(Tr::tr("There are no modified files.")); return; } m_commitRepository = workingDir; @@ -1143,9 +1142,9 @@ bool CvsPluginPrivate::unedit(const FilePath &topLevel, const QStringList &files return false; if (modified) { const QString question = files.isEmpty() ? - tr("Would you like to discard your changes to the repository \"%1\"?").arg(topLevel.toUserOutput()) : - tr("Would you like to discard your changes to the file \"%1\"?").arg(files.front()); - if (!messageBoxQuestion(tr("Unedit"), question)) + Tr::tr("Would you like to discard your changes to the repository \"%1\"?").arg(topLevel.toUserOutput()) : + Tr::tr("Would you like to discard your changes to the file \"%1\"?").arg(files.front()); + if (!messageBoxQuestion(Tr::tr("Unedit"), question)) return false; } @@ -1211,7 +1210,7 @@ void CvsPluginPrivate::projectStatus() { const VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasProject(), return); - status(state.currentProjectTopLevel(), state.relativeCurrentProject(), tr("Project status")); + status(state.currentProjectTopLevel(), state.relativeCurrentProject(), Tr::tr("Project status")); } void CvsPluginPrivate::commitProject() @@ -1232,7 +1231,7 @@ void CvsPluginPrivate::statusRepository() { const VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasTopLevel(), return); - status(state.topLevel(), QString(), tr("Repository status")); + status(state.topLevel(), QString(), Tr::tr("Repository status")); } void CvsPluginPrivate::updateRepository() @@ -1248,7 +1247,7 @@ bool CvsPluginPrivate::describe(const QString &file, const QString &changeNr, QS FilePath toplevel; const bool manages = managesDirectory(FilePath::fromString(QFileInfo(file).absolutePath()), &toplevel); if (!manages || toplevel.isEmpty()) { - *errorMessage = tr("Cannot find repository for \"%1\".") + *errorMessage = Tr::tr("Cannot find repository for \"%1\".") .arg(QDir::toNativeSeparators(file)); return false; } @@ -1267,7 +1266,7 @@ bool CvsPluginPrivate::describe(const FilePath &toplevel, const QString &file, c // if desired. // Number must be > 1 if (isFirstRevision(changeNr)) { - *errorMessage = tr("The initial revision %1 cannot be described.").arg(changeNr); + *errorMessage = Tr::tr("The initial revision %1 cannot be described.").arg(changeNr); return false; } // Run log to obtain commit id and details @@ -1280,7 +1279,7 @@ bool CvsPluginPrivate::describe(const FilePath &toplevel, const QString &file, c } const QList fileLog = parseLogEntries(logResponse.stdOut); if (fileLog.empty() || fileLog.front().revisions.empty()) { - *errorMessage = tr("Parsing of the log output failed."); + *errorMessage = Tr::tr("Parsing of the log output failed."); return false; } if (m_settings.describeByCommitId.value()) { @@ -1302,7 +1301,7 @@ bool CvsPluginPrivate::describe(const FilePath &toplevel, const QString &file, c // Describe all files found, pass on dir to obtain correct absolute paths. const QList repoEntries = parseLogEntries(repoLogResponse.stdOut, QString(), commitId); if (repoEntries.empty()) { - *errorMessage = tr("Could not find commits of id \"%1\" on %2.").arg(commitId, dateS); + *errorMessage = Tr::tr("Could not find commits of id \"%1\" on %2.").arg(commitId, dateS); return false; } return describe(toplevel, repoEntries, errorMessage); @@ -1399,7 +1398,7 @@ CvsResponse CvsPluginPrivate::runCvs(const FilePath &workingDirectory, CvsResponse response; if (executable.isEmpty()) { response.result = CvsResponse::OtherError; - response.message =tr("No CVS executable specified."); + response.message = Tr::tr("No CVS executable specified."); return response; } @@ -1559,5 +1558,4 @@ void CvsPlugin::testLogResolving() } #endif -} // namespace Internal -} // namespace Cvs +} // namespace Cvs::Internal diff --git a/src/plugins/cvs/cvsplugin.h b/src/plugins/cvs/cvsplugin.h index 8145454ae4a..127393046eb 100644 --- a/src/plugins/cvs/cvsplugin.h +++ b/src/plugins/cvs/cvsplugin.h @@ -5,8 +5,7 @@ #include -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { class CvsPlugin final : public ExtensionSystem::IPlugin { @@ -26,5 +25,4 @@ private slots: #endif }; -} // namespace Cvs -} // namespace Internal +} // namespace Cvs::Internal diff --git a/src/plugins/cvs/cvssettings.cpp b/src/plugins/cvs/cvssettings.cpp index 9983bd0986e..f87204face3 100644 --- a/src/plugins/cvs/cvssettings.cpp +++ b/src/plugins/cvs/cvssettings.cpp @@ -3,6 +3,8 @@ #include "cvssettings.h" +#include "cvstr.h" + #include #include @@ -13,8 +15,7 @@ using namespace Utils; -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { // CvsSettings @@ -27,13 +28,13 @@ CvsSettings::CvsSettings() binaryPath.setDisplayStyle(StringAspect::PathChooserDisplay); binaryPath.setExpectedKind(PathChooser::ExistingCommand); binaryPath.setHistoryCompleter(QLatin1String("Cvs.Command.History")); - binaryPath.setDisplayName(tr("CVS Command")); - binaryPath.setLabelText(tr("CVS command:")); + binaryPath.setDisplayName(Tr::tr("CVS Command")); + binaryPath.setLabelText(Tr::tr("CVS command:")); registerAspect(&cvsRoot); cvsRoot.setDisplayStyle(StringAspect::LineEditDisplay); cvsRoot.setSettingsKey("Root"); - cvsRoot.setLabelText(tr("CVS root:")); + cvsRoot.setLabelText(Tr::tr("CVS root:")); registerAspect(&diffOptions); diffOptions.setDisplayStyle(StringAspect::LineEditDisplay); @@ -44,8 +45,8 @@ CvsSettings::CvsSettings() registerAspect(&describeByCommitId); describeByCommitId.setSettingsKey("DescribeByCommitId"); describeByCommitId.setDefaultValue(true); - describeByCommitId.setLabelText(tr("Describe all files matching commit id")); - describeByCommitId.setToolTip(tr("When checked, all files touched by a commit will be " + describeByCommitId.setLabelText(Tr::tr("Describe all files matching commit id")); + describeByCommitId.setToolTip(Tr::tr("When checked, all files touched by a commit will be " "displayed when clicking on a revision number in the annotation view " "(retrieved via commit ID). Otherwise, only the respective file will be displayed.")); @@ -72,7 +73,7 @@ QStringList CvsSettings::addOptions(const QStringList &args) const CvsSettingsPage::CvsSettingsPage(CvsSettings *settings) { setId(VcsBase::Constants::VCS_ID_CVS); - setDisplayName(CvsSettings::tr("CVS")); + setDisplayName(Tr::tr("CVS")); setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY); setSettings(settings); @@ -82,14 +83,14 @@ CvsSettingsPage::CvsSettingsPage(CvsSettings *settings) Column { Group { - title(CvsSettings::tr("Configuration")), + title(Tr::tr("Configuration")), Form { s.binaryPath, s.cvsRoot } }, Group { - title(CvsSettings::tr("Miscellaneous")), + title(Tr::tr("Miscellaneous")), Column { Form { s.timeout, @@ -104,5 +105,4 @@ CvsSettingsPage::CvsSettingsPage(CvsSettings *settings) }); } -} // Internal -} // Cvs +} // Cvs::Internal diff --git a/src/plugins/cvs/cvssettings.h b/src/plugins/cvs/cvssettings.h index b3a061c3239..5d0495a2a67 100644 --- a/src/plugins/cvs/cvssettings.h +++ b/src/plugins/cvs/cvssettings.h @@ -7,13 +7,10 @@ #include -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { class CvsSettings : public VcsBase::VcsBaseSettings { - Q_DECLARE_TR_FUNCTIONS(Cvs::Internal::SettingsPage) - public: Utils::StringAspect cvsRoot; Utils::StringAspect diffOptions; @@ -32,5 +29,4 @@ public: explicit CvsSettingsPage(CvsSettings *settings); }; -} // namespace Internal -} // namespace Cvs +} // Cvs::Internal diff --git a/src/plugins/cvs/cvssubmiteditor.cpp b/src/plugins/cvs/cvssubmiteditor.cpp index e9052b70a22..a80e17ce643 100644 --- a/src/plugins/cvs/cvssubmiteditor.cpp +++ b/src/plugins/cvs/cvssubmiteditor.cpp @@ -3,17 +3,20 @@ #include "cvssubmiteditor.h" +#include "cvstr.h" + #include #include -using namespace Cvs::Internal; using namespace VcsBase; +namespace Cvs::Internal { + CvsSubmitEditor::CvsSubmitEditor() : VcsBase::VcsBaseSubmitEditor(new SubmitEditorWidget), - m_msgAdded(tr("Added")), - m_msgRemoved(tr("Removed")), - m_msgModified(tr("Modified")) + m_msgAdded(Tr::tr("Added")), + m_msgRemoved(Tr::tr("Removed")), + m_msgModified(Tr::tr("Modified")) { } QString CvsSubmitEditor::stateName(State st) const @@ -39,3 +42,5 @@ void CvsSubmitEditor::setStateList(const StateFilePairs &statusOutput) model->addFile(it->second, stateName(it->first)); setFileModel(model); } + +} // Cvs::Internal diff --git a/src/plugins/cvs/cvssubmiteditor.h b/src/plugins/cvs/cvssubmiteditor.h index eb9a93c62f5..bbfa9dce17c 100644 --- a/src/plugins/cvs/cvssubmiteditor.h +++ b/src/plugins/cvs/cvssubmiteditor.h @@ -3,13 +3,12 @@ #pragma once +#include + #include #include -#include - -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { class CvsSubmitEditor : public VcsBase::VcsBaseSubmitEditor { @@ -33,5 +32,4 @@ private: const QString m_msgModified; }; -} // namespace Internal -} // namespace Cvs +} // Cvs::Internal diff --git a/src/plugins/cvs/cvstr.h b/src/plugins/cvs/cvstr.h index b987c5305b4..162f1d479aa 100644 --- a/src/plugins/cvs/cvstr.h +++ b/src/plugins/cvs/cvstr.h @@ -5,11 +5,11 @@ #include -namespace CVS { +namespace Cvs { struct Tr { Q_DECLARE_TR_FUNCTIONS(CVS) }; -} // namespace CVS +} // Cvs diff --git a/src/plugins/cvs/cvsutils.cpp b/src/plugins/cvs/cvsutils.cpp index 8c96f43f040..252e0f5c393 100644 --- a/src/plugins/cvs/cvsutils.cpp +++ b/src/plugins/cvs/cvsutils.cpp @@ -8,8 +8,7 @@ #include #include -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { CvsRevision::CvsRevision(const QString &rev) : revision(rev) { } @@ -210,5 +209,4 @@ bool isFirstRevision(const QString &r) return r.endsWith(QLatin1String(".1")); } -} // namespace Internal -} // namespace Cvs +} // Cvs::Internal diff --git a/src/plugins/cvs/cvsutils.h b/src/plugins/cvs/cvsutils.h index b6bf341bf9e..7ab357a019e 100644 --- a/src/plugins/cvs/cvsutils.h +++ b/src/plugins/cvs/cvsutils.h @@ -8,8 +8,7 @@ #include #include -namespace Cvs { -namespace Internal { +namespace Cvs::Internal { // Utilities to parse output of a CVS log. @@ -54,5 +53,4 @@ QString previousRevision(const QString &rev); // Revision number utilities: Is it "[1.2...].1"? bool isFirstRevision(const QString &r); -} // namespace Internal -} // namespace Cvs +} // Cvs::Internal From d2820ccdd3281d555d80dcebe8e1fb39caeaa0e5 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 09:42:22 +0200 Subject: [PATCH 23/96] ModelingLib: Limit the usage of qMakePair Change-Id: Ic89f2a9598faadbda964f71dbe84bfd5400aec4f Reviewed-by: hjk --- .../qmt/config/stereotypedefinitionparser.cpp | 264 +++++++++--------- .../modelinglib/qmt/config/textscanner.cpp | 4 +- src/libs/modelinglib/qmt/config/textscanner.h | 4 +- .../modelinglib/qmt/infrastructure/handles.h | 2 +- .../model_widgets_ui/propertiesviewmview.cpp | 6 +- .../qmt/stereotype/stereotypecontroller.cpp | 16 +- 6 files changed, 147 insertions(+), 149 deletions(-) diff --git a/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp b/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp index 2ae4cb34672..631b3b097c3 100644 --- a/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp +++ b/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp @@ -204,92 +204,88 @@ StereotypeDefinitionParser::~StereotypeDefinitionParser() void StereotypeDefinitionParser::parse(ITextSource *source) { TextScanner textScanner; - textScanner.setKeywords( - QList >() - << qMakePair(QString("icon"), KEYWORD_ICON) - << qMakePair(QString("id"), KEYWORD_ID) - << qMakePair(QString("title"), KEYWORD_TITLE) - << qMakePair(QString("elements"), KEYWORD_ELEMENTS) - << qMakePair(QString("stereotype"), KEYWORD_STEREOTYPE) - << qMakePair(QString("width"), KEYWORD_WIDTH) - << qMakePair(QString("height"), KEYWORD_HEIGHT) - << qMakePair(QString("minwidth"), KEYWORD_MINWIDTH) - << qMakePair(QString("minheight"), KEYWORD_MINHEIGHT) - << qMakePair(QString("locksize"), KEYWORD_LOCK_SIZE) - << qMakePair(QString("display"), KEYWORD_DISPLAY) - << qMakePair(QString("textalignment"), KEYWORD_TEXTALIGN) - << qMakePair(QString("basecolor"), KEYWORD_BASECOLOR) - << qMakePair(QString("shape"), KEYWORD_SHAPE) - << qMakePair(QString("outline"), KEYWORD_OUTLINE) - << qMakePair(QString("circle"), KEYWORD_CIRCLE) - << qMakePair(QString("ellipse"), KEYWORD_ELLIPSE) - << qMakePair(QString("line"), KEYWORD_LINE) - << qMakePair(QString("rect"), KEYWORD_RECT) - << qMakePair(QString("roundedrect"), KEYWORD_ROUNDEDRECT) - << qMakePair(QString("arc"), KEYWORD_ARC) - << qMakePair(QString("moveto"), KEYWORD_MOVETO) - << qMakePair(QString("lineto"), KEYWORD_LINETO) - << qMakePair(QString("arcmoveto"), KEYWORD_ARCMOVETO) - << qMakePair(QString("arcto"), KEYWORD_ARCTO) - << qMakePair(QString("close"), KEYWORD_CLOSE) - << qMakePair(QString("x"), KEYWORD_X) - << qMakePair(QString("y"), KEYWORD_Y) - << qMakePair(QString("x0"), KEYWORD_X0) - << qMakePair(QString("y0"), KEYWORD_Y0) - << qMakePair(QString("x1"), KEYWORD_X1) - << qMakePair(QString("y1"), KEYWORD_Y1) - << qMakePair(QString("radius"), KEYWORD_RADIUS) - << qMakePair(QString("radiusx"), KEYWORD_RADIUS_X) - << qMakePair(QString("radiusy"), KEYWORD_RADIUS_Y) - << qMakePair(QString("start"), KEYWORD_START) - << qMakePair(QString("span"), KEYWORD_SPAN) - << qMakePair(QString("toolbar"), KEYWORD_TOOLBAR) - << qMakePair(QString("priority"), KEYWORD_PRIORITY) - << qMakePair(QString("tools"), KEYWORD_TOOLS) - << qMakePair(QString("tool"), KEYWORD_TOOL) - << qMakePair(QString("element"), KEYWORD_ELEMENT) - << qMakePair(QString("separator"), KEYWORD_SEPARATOR) - << qMakePair(QString("relation"), KEYWORD_RELATION) - << qMakePair(QString("dependency"), KEYWORD_DEPENDENCY) - << qMakePair(QString("inheritance"), KEYWORD_INHERITANCE) - << qMakePair(QString("association"), KEYWORD_ASSOCIATION) - << qMakePair(QString("name"), KEYWORD_NAME) - << qMakePair(QString("direction"), KEYWORD_DIRECTION) - << qMakePair(QString("atob"), KEYWORD_ATOB) - << qMakePair(QString("btoa"), KEYWORD_BTOA) - << qMakePair(QString("bi"), KEYWORD_BI) - << qMakePair(QString("end"), KEYWORD_END) - << qMakePair(QString("a"), KEYWORD_A) - << qMakePair(QString("b"), KEYWORD_B) - << qMakePair(QString("role"), KEYWORD_ROLE) - << qMakePair(QString("cardinality"), KEYWORD_CARDINALITY) - << qMakePair(QString("navigable"), KEYWORD_NAVIGABLE) - << qMakePair(QString("relationship"), KEYWORD_RELATIONSHIP) - << qMakePair(QString("aggregation"), KEYWORD_AGGREGATION) - << qMakePair(QString("composition"), KEYWORD_COMPOSITION) - << qMakePair(QString("shaft"), KEYWORD_SHAFT) - << qMakePair(QString("head"), KEYWORD_HEAD) - << qMakePair(QString("diamond"), KEYWORD_DIAMOND) - << qMakePair(QString("triangle"), KEYWORD_TRIANGLE) - << qMakePair(QString("filled"), KEYWORD_FILLED) - << qMakePair(QString("pattern"), KEYWORD_PATTERN) - << qMakePair(QString("solid"), KEYWORD_SOLID) - << qMakePair(QString("dot"), KEYWORD_DOT) - << qMakePair(QString("dash"), KEYWORD_DASH) - << qMakePair(QString("dashdot"), KEYWORD_DASHDOT) - << qMakePair(QString("dashdotdot"), KEYWORD_DASHDOTDOT) - << qMakePair(QString("color"), KEYWORD_COLOR) - ); - textScanner.setOperators( - QList >() - << qMakePair(QString(";"), OPERATOR_SEMICOLON) - << qMakePair(QString("{"), OPERATOR_BRACE_OPEN) - << qMakePair(QString("}"), OPERATOR_BRACE_CLOSE) - << qMakePair(QString(":"), OPERATOR_COLON) - << qMakePair(QString(","), OPERATOR_COMMA) - << qMakePair(QString("."), OPERATOR_PERIOD) - << qMakePair(QString("-"), OPERATOR_MINUS) - ); + textScanner.setKeywords({{"icon", KEYWORD_ICON}, + {"id", KEYWORD_ID}, + {"title", KEYWORD_TITLE}, + {"elements", KEYWORD_ELEMENTS}, + {"stereotype", KEYWORD_STEREOTYPE}, + {"width", KEYWORD_WIDTH}, + {"height", KEYWORD_HEIGHT}, + {"minwidth", KEYWORD_MINWIDTH}, + {"minheight", KEYWORD_MINHEIGHT}, + {"locksize", KEYWORD_LOCK_SIZE}, + {"display", KEYWORD_DISPLAY}, + {"textalignment", KEYWORD_TEXTALIGN}, + {"basecolor", KEYWORD_BASECOLOR}, + {"shape", KEYWORD_SHAPE}, + {"outline", KEYWORD_OUTLINE}, + {"circle", KEYWORD_CIRCLE}, + {"ellipse", KEYWORD_ELLIPSE}, + {"line", KEYWORD_LINE}, + {"rect", KEYWORD_RECT}, + {"roundedrect", KEYWORD_ROUNDEDRECT}, + {"arc", KEYWORD_ARC}, + {"moveto", KEYWORD_MOVETO}, + {"lineto", KEYWORD_LINETO}, + {"arcmoveto", KEYWORD_ARCMOVETO}, + {"arcto", KEYWORD_ARCTO}, + {"close", KEYWORD_CLOSE}, + {"x", KEYWORD_X}, + {"y", KEYWORD_Y}, + {"x0", KEYWORD_X0}, + {"y0", KEYWORD_Y0}, + {"x1", KEYWORD_X1}, + {"y1", KEYWORD_Y1}, + {"radius", KEYWORD_RADIUS}, + {"radiusx", KEYWORD_RADIUS_X}, + {"radiusy", KEYWORD_RADIUS_Y}, + {"start", KEYWORD_START}, + {"span", KEYWORD_SPAN}, + {"toolbar", KEYWORD_TOOLBAR}, + {"priority", KEYWORD_PRIORITY}, + {"tools", KEYWORD_TOOLS}, + {"tool", KEYWORD_TOOL}, + {"element", KEYWORD_ELEMENT}, + {"separator", KEYWORD_SEPARATOR}, + {"relation", KEYWORD_RELATION}, + {"dependency", KEYWORD_DEPENDENCY}, + {"inheritance", KEYWORD_INHERITANCE}, + {"association", KEYWORD_ASSOCIATION}, + {"name", KEYWORD_NAME}, + {"direction", KEYWORD_DIRECTION}, + {"atob", KEYWORD_ATOB}, + {"btoa", KEYWORD_BTOA}, + {"bi", KEYWORD_BI}, + {"end", KEYWORD_END}, + {"a", KEYWORD_A}, + {"b", KEYWORD_B}, + {"role", KEYWORD_ROLE}, + {"cardinality", KEYWORD_CARDINALITY}, + {"navigable", KEYWORD_NAVIGABLE}, + {"relationship", KEYWORD_RELATIONSHIP}, + {"aggregation", KEYWORD_AGGREGATION}, + {"composition", KEYWORD_COMPOSITION}, + {"shaft", KEYWORD_SHAFT}, + {"head", KEYWORD_HEAD}, + {"diamond", KEYWORD_DIAMOND}, + {"triangle", KEYWORD_TRIANGLE}, + {"filled", KEYWORD_FILLED}, + {"pattern", KEYWORD_PATTERN}, + {"solid", KEYWORD_SOLID}, + {"dot", KEYWORD_DOT}, + {"dash", KEYWORD_DASH}, + {"dashdot", KEYWORD_DASHDOT}, + {"dashdotdot", KEYWORD_DASHDOTDOT}, + {"color", KEYWORD_COLOR}}); + + textScanner.setOperators({{";", OPERATOR_SEMICOLON}, + {"{", OPERATOR_BRACE_OPEN}, + {"}", OPERATOR_BRACE_CLOSE}, + {":", OPERATOR_COLON}, + {",", OPERATOR_COMMA}, + {".", OPERATOR_PERIOD}, + {"-", OPERATOR_MINUS}}); + textScanner.setSource(source); d->m_scanner = &textScanner; @@ -342,12 +338,12 @@ void StereotypeDefinitionParser::parseIcon() break; case KEYWORD_ELEMENTS: { - const static QHash elementNames = QHash() - << qMakePair(QString("package"), StereotypeIcon::ElementPackage) - << qMakePair(QString("component"), StereotypeIcon::ElementComponent) - << qMakePair(QString("class"), StereotypeIcon::ElementClass) - << qMakePair(QString("diagram"), StereotypeIcon::ElementDiagram) - << qMakePair(QString("item"), StereotypeIcon::ElementItem); + const static QHash elementNames + = {{"package", StereotypeIcon::ElementPackage}, + {"component", StereotypeIcon::ElementComponent}, + {"class", StereotypeIcon::ElementClass}, + {"diagram", StereotypeIcon::ElementDiagram}, + {"item", StereotypeIcon::ElementItem}}; parseEnums( parseIdentifierListProperty(), elementNames, token.sourcePos(), [&](StereotypeIcon::Element element) { elements.insert(element); }); @@ -370,12 +366,12 @@ void StereotypeDefinitionParser::parseIcon() break; case KEYWORD_LOCK_SIZE: { - const static QHash lockNames = QHash() - << qMakePair(QString("none"), StereotypeIcon::LockNone) - << qMakePair(QString("width"), StereotypeIcon::LockWidth) - << qMakePair(QString("height"), StereotypeIcon::LockHeight) - << qMakePair(QString("size"), StereotypeIcon::LockSize) - << qMakePair(QString("ratio"), StereotypeIcon::LockRatio); + const static QHash lockNames + = {{"none", StereotypeIcon::LockNone}, + {"width", StereotypeIcon::LockWidth}, + {"height", StereotypeIcon::LockHeight}, + {"size", StereotypeIcon::LockSize}, + {"ratio", StereotypeIcon::LockRatio}}; parseEnum( parseIdentifierProperty(), lockNames, token.sourcePos(), [&](StereotypeIcon::SizeLock lock) { stereotypeIcon.setSizeLock(lock); }); @@ -383,12 +379,12 @@ void StereotypeDefinitionParser::parseIcon() } case KEYWORD_DISPLAY: { - const static QHash displayNames = QHash() - << qMakePair(QString("none"), StereotypeIcon::DisplayNone) - << qMakePair(QString("label"), StereotypeIcon::DisplayLabel) - << qMakePair(QString("decoration"), StereotypeIcon::DisplayDecoration) - << qMakePair(QString("icon"), StereotypeIcon::DisplayIcon) - << qMakePair(QString("smart"), StereotypeIcon::DisplaySmart); + const static QHash displayNames + = {{"none", StereotypeIcon::DisplayNone}, + {"label", StereotypeIcon::DisplayLabel}, + {"decoration", StereotypeIcon::DisplayDecoration}, + {"icon", StereotypeIcon::DisplayIcon}, + {"smart", StereotypeIcon::DisplaySmart}}; parseEnum( parseIdentifierProperty(), displayNames, token.sourcePos(), [&](StereotypeIcon::Display display) { stereotypeIcon.setDisplay(display); }); @@ -396,11 +392,11 @@ void StereotypeDefinitionParser::parseIcon() } case KEYWORD_TEXTALIGN: { - const static QHash alignNames = QHash() - << qMakePair(QString("below"), StereotypeIcon::TextalignBelow) - << qMakePair(QString("center"), StereotypeIcon::TextalignCenter) - << qMakePair(QString("none"), StereotypeIcon::TextalignNone) - << qMakePair(QString("top"), StereotypeIcon::TextalignTop); + const static QHash alignNames + = {{"below", StereotypeIcon::TextalignBelow}, + {"center", StereotypeIcon::TextalignCenter}, + {"none", StereotypeIcon::TextalignNone}, + {"top", StereotypeIcon::TextalignTop}}; parseEnum( parseIdentifierProperty(), alignNames, token.sourcePos(), [&](StereotypeIcon::TextAlignment align) { stereotypeIcon.setTextAlignment(align); }); @@ -434,22 +430,22 @@ void StereotypeDefinitionParser::parseIcon() QPair StereotypeDefinitionParser::SCALED(int keyword) { - return qMakePair(keyword, IconCommandParameter(ShapeValueF::UnitScaled)); + return {keyword, IconCommandParameter(ShapeValueF::UnitScaled)}; } QPair StereotypeDefinitionParser::FIX(int keyword) { - return qMakePair(keyword, IconCommandParameter(ShapeValueF::UnitRelative)); + return {keyword, IconCommandParameter(ShapeValueF::UnitRelative)}; } QPair StereotypeDefinitionParser::ABSOLUTE(int keyword) { - return qMakePair(keyword, IconCommandParameter(ShapeValueF::UnitAbsolute)); + return {keyword, IconCommandParameter(ShapeValueF::UnitAbsolute)}; } QPair StereotypeDefinitionParser::BOOLEAN(int keyword) { - return qMakePair(keyword, IconCommandParameter(IconCommandParameter::Boolean)); + return {keyword, IconCommandParameter(IconCommandParameter::Boolean)}; } IconShape StereotypeDefinitionParser::parseIconShape() @@ -626,10 +622,10 @@ void StereotypeDefinitionParser::parseRelation(CustomRelation::Element element) break; case KEYWORD_DIRECTION: { - const static QHash directionNames = QHash() - << qMakePair(QString("atob"), CustomRelation::Direction::AtoB) - << qMakePair(QString("btoa"), CustomRelation::Direction::BToA) - << qMakePair(QString("bi"), CustomRelation::Direction::Bi); + const static QHash directionNames + = {{"atob", CustomRelation::Direction::AtoB}, + {"btoa", CustomRelation::Direction::BToA}, + {"bi", CustomRelation::Direction::Bi}}; if (element != CustomRelation::Element::Dependency) throwUnknownPropertyError(token); parseEnum( @@ -639,12 +635,12 @@ void StereotypeDefinitionParser::parseRelation(CustomRelation::Element element) } case KEYWORD_PATTERN: { - const static QHash patternNames = QHash() - << qMakePair(QString("solid"), CustomRelation::ShaftPattern::Solid) - << qMakePair(QString("dash"), CustomRelation::ShaftPattern::Dash) - << qMakePair(QString("dot"), CustomRelation::ShaftPattern::Dot) - << qMakePair(QString("dashdot"), CustomRelation::ShaftPattern::DashDot) - << qMakePair(QString("dashdotdot"), CustomRelation::ShaftPattern::DashDotDot); + const static QHash patternNames + = {{"solid", CustomRelation::ShaftPattern::Solid}, + {"dash", CustomRelation::ShaftPattern::Dash}, + {"dot", CustomRelation::ShaftPattern::Dot}, + {"dashdot", CustomRelation::ShaftPattern::DashDot}, + {"dashdotdot", CustomRelation::ShaftPattern::DashDotDot}}; if (element != CustomRelation::Element::Relation) throwUnknownPropertyError(token); parseEnum( @@ -743,10 +739,10 @@ void StereotypeDefinitionParser::parseRelationEnd(CustomRelation *relation) { if (relation->element() != CustomRelation::Element::Association) throwUnknownPropertyError(token); - const static QHash relationshipNames = QHash() - << qMakePair(QString("association"), CustomRelation::Relationship::Association) - << qMakePair(QString("aggregation"), CustomRelation::Relationship::Aggregation) - << qMakePair(QString("composition"), CustomRelation::Relationship::Composition); + const static QHash relationshipNames + = {{"association", CustomRelation::Relationship::Association}, + {"aggregation", CustomRelation::Relationship::Aggregation}, + {"composition", CustomRelation::Relationship::Composition}}; parseEnum( parseIdentifierProperty(), relationshipNames, token.sourcePos(), [&](CustomRelation::Relationship relationship) { relationEnd.setRelationship(relationship); }); @@ -756,13 +752,13 @@ void StereotypeDefinitionParser::parseRelationEnd(CustomRelation *relation) { if (relation->element() != CustomRelation::Element::Relation) throwUnknownPropertyError(token); - const static QHash headNames = QHash() - << qMakePair(QString("none"), CustomRelation::Head::None) - << qMakePair(QString("arrow"), CustomRelation::Head::Arrow) - << qMakePair(QString("triangle"), CustomRelation::Head::Triangle) - << qMakePair(QString("filledtriangle"), CustomRelation::Head::FilledTriangle) - << qMakePair(QString("diamond"), CustomRelation::Head::Diamond) - << qMakePair(QString("filleddiamond"), CustomRelation::Head::FilledDiamond); + const static QHash headNames + = {{"none", CustomRelation::Head::None}, + {"arrow", CustomRelation::Head::Arrow}, + {"triangle", CustomRelation::Head::Triangle}, + {"filledtriangle", CustomRelation::Head::FilledTriangle}, + {"diamond", CustomRelation::Head::Diamond}, + {"filleddiamond", CustomRelation::Head::FilledDiamond}}; parseEnum( parseIdentifierProperty(), headNames, token.sourcePos(), [&](CustomRelation::Head head) { relationEnd.setHead(head); }); diff --git a/src/libs/modelinglib/qmt/config/textscanner.cpp b/src/libs/modelinglib/qmt/config/textscanner.cpp index 576832202f7..7ff31a20ac5 100644 --- a/src/libs/modelinglib/qmt/config/textscanner.cpp +++ b/src/libs/modelinglib/qmt/config/textscanner.cpp @@ -52,14 +52,14 @@ TextScanner::~TextScanner() delete d; } -void TextScanner::setKeywords(const QList > &keywords) +void TextScanner::setKeywords(const QList> &keywords) { d->m_keywordToSubtypeMap.clear(); foreach (const DefTuple &tuple, keywords) d->m_keywordToSubtypeMap.insert(tuple.first.toLower(), tuple.second); } -void TextScanner::setOperators(const QList > &operators) +void TextScanner::setOperators(const QList> &operators) { d->m_operatorToSubtypeMap.clear(); d->m_maxOperatorLength = 0; diff --git a/src/libs/modelinglib/qmt/config/textscanner.h b/src/libs/modelinglib/qmt/config/textscanner.h index 55d6ca798b5..1a2df9540f5 100644 --- a/src/libs/modelinglib/qmt/config/textscanner.h +++ b/src/libs/modelinglib/qmt/config/textscanner.h @@ -36,8 +36,8 @@ public: explicit TextScanner(QObject *parent = nullptr); ~TextScanner() override; - void setKeywords(const QList > &keywords); - void setOperators(const QList > &operators); + void setKeywords(const QList> &keywords); + void setOperators(const QList> &operators); void setSource(ITextSource *textSource); SourcePos sourcePos() const; diff --git a/src/libs/modelinglib/qmt/infrastructure/handles.h b/src/libs/modelinglib/qmt/infrastructure/handles.h index 738aeec195f..94a5827a042 100644 --- a/src/libs/modelinglib/qmt/infrastructure/handles.h +++ b/src/libs/modelinglib/qmt/infrastructure/handles.h @@ -15,7 +15,7 @@ template class Handles { public: - typedef QList > value_type; + typedef QList> value_type; typedef typename value_type::iterator iterator; typedef typename value_type::const_iterator const_iterator; diff --git a/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp b/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp index 5c3a6340239..73fca46572a 100644 --- a/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp +++ b/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp @@ -1146,7 +1146,7 @@ void PropertiesView::MView::visitDSwimlane(const DSwimlane *swimlane) void PropertiesView::MView::onStereotypesChanged(const QString &stereotypes) { QList set = m_stereotypesController->fromString(stereotypes); - assignModelElement >(m_modelElements, SelectionMulti, set, + assignModelElement>(m_modelElements, SelectionMulti, set, &MElement::stereotypes, &MElement::setStereotypes); } @@ -1164,7 +1164,7 @@ void PropertiesView::MView::onNamespaceChanged(const QString ¨Namespace) void PropertiesView::MView::onTemplateParametersChanged(const QString &templateParameters) { QList templateParametersList = splitTemplateParameters(templateParameters); - assignModelElement >(m_modelElements, SelectionSingle, templateParametersList, + assignModelElement>(m_modelElements, SelectionSingle, templateParametersList, &MClass::templateParameters, &MClass::setTemplateParameters); } @@ -1191,7 +1191,7 @@ void PropertiesView::MView::onClassMembersChanged(QList &classMemb showMembers.insert(klass->uid()); } } - assignModelElement >(m_modelElements, SelectionSingle, classMembers, + assignModelElement>(m_modelElements, SelectionSingle, classMembers, &MClass::members, &MClass::setMembers); foreach (DElement *element, m_diagramElements) { if (showMembers.contains(element->modelUid())) { diff --git a/src/libs/modelinglib/qmt/stereotype/stereotypecontroller.cpp b/src/libs/modelinglib/qmt/stereotype/stereotypecontroller.cpp index 5695fda3df1..800046d4655 100644 --- a/src/libs/modelinglib/qmt/stereotype/stereotypecontroller.cpp +++ b/src/libs/modelinglib/qmt/stereotype/stereotypecontroller.cpp @@ -117,12 +117,14 @@ QString StereotypeController::findStereotypeIconId(StereotypeIcon::Element eleme const QList &stereotypes) const { foreach (const QString &stereotype, stereotypes) { - if (d->m_stereotypeToIconIdMap.contains(qMakePair(element, stereotype))) - return d->m_stereotypeToIconIdMap.value(qMakePair(element, stereotype)); - else if (d->m_stereotypeToIconIdMap.contains(qMakePair(StereotypeIcon::ElementAny, stereotype))) - return d->m_stereotypeToIconIdMap.value(qMakePair(StereotypeIcon::ElementAny, stereotype)); + auto it = d->m_stereotypeToIconIdMap.constFind({element, stereotype}); + if (it != d->m_stereotypeToIconIdMap.constEnd()) + return it.value(); + it = d->m_stereotypeToIconIdMap.constFind({StereotypeIcon::ElementAny, stereotype}); + if (it != d->m_stereotypeToIconIdMap.constEnd()) + return it.value(); } - return QString(); + return {}; } QList StereotypeController::filterStereotypesByIconId(const QString &stereotypeIconId, @@ -232,11 +234,11 @@ void StereotypeController::addStereotypeIcon(const StereotypeIcon &stereotypeIco { if (stereotypeIcon.elements().isEmpty()) { foreach (const QString &stereotype, stereotypeIcon.stereotypes()) - d->m_stereotypeToIconIdMap.insert(qMakePair(StereotypeIcon::ElementAny, stereotype), stereotypeIcon.id()); + d->m_stereotypeToIconIdMap.insert({StereotypeIcon::ElementAny, stereotype}, stereotypeIcon.id()); } else { foreach (StereotypeIcon::Element element, stereotypeIcon.elements()) { foreach (const QString &stereotype, stereotypeIcon.stereotypes()) - d->m_stereotypeToIconIdMap.insert(qMakePair(element, stereotype), stereotypeIcon.id()); + d->m_stereotypeToIconIdMap.insert({element, stereotype}, stereotypeIcon.id()); } } d->m_iconIdToStereotypeIconsMap.insert(stereotypeIcon.id(), stereotypeIcon); From 45a275e054655c5290cf4227c24dfed0a50cb8ae Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 29 Sep 2022 15:47:05 +0200 Subject: [PATCH 24/96] CMakePM: Use architecture and toolset for project import This fixes issues with Visual C++ generator, which needs the right parameters to pinpoint the right compilers. Also use CMAKE_TOOLCHAIN_FILE for qmake detection. Change-Id: I6edc84c7ed1a892fbc5545ff61dc06ac20720f0a Reviewed-by: Alessandro Portale --- .../cmakeprojectimporter.cpp | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp index be51a7d47cb..2c207226f2f 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp @@ -165,6 +165,14 @@ static CMakeConfig configurationFromPresetProbe( args.emplace_back("-G"); args.emplace_back(configurePreset.generator.value()); } + if (configurePreset.architecture && configurePreset.architecture.value().value) { + args.emplace_back("-A"); + args.emplace_back(configurePreset.architecture.value().value.value()); + } + if (configurePreset.toolset && configurePreset.toolset.value().value) { + args.emplace_back("-T"); + args.emplace_back(configurePreset.toolset.value().value.value()); + } if (configurePreset.cacheVariables) { const CMakeConfig cache = configurePreset.cacheVariables @@ -233,7 +241,9 @@ static FilePath qmakeFromCMakeCache(const CMakeConfig &config) prefixPath = config.stringValueOf("CMAKE_PREFIX_PATH"); } qCDebug(cmInputLog) << "PrefixPath:" << prefixPath; - if (prefixPath.isEmpty()) + + FilePath toolchainFile = config.filePathValueOf(QByteArray("CMAKE_TOOLCHAIN_FILE")); + if (prefixPath.isEmpty() && toolchainFile.isEmpty()) return FilePath(); // Run a CMake project that would do qmake probing @@ -284,9 +294,10 @@ static FilePath qmakeFromCMakeCache(const CMakeConfig &config) cmake.setTimeOutMessageBoxEnabled(false); QString cmakeGenerator = config.stringValueOf(QByteArray("CMAKE_GENERATOR")); + QString cmakeGeneratorPlatform = config.stringValueOf(QByteArray("CMAKE_GENERATOR_PLATFORM")); + QString cmakeGeneratorToolset = config.stringValueOf(QByteArray("CMAKE_GENERATOR_TOOLSET")); FilePath cmakeExecutable = config.filePathValueOf(QByteArray("CMAKE_COMMAND")); FilePath cmakeMakeProgram = config.filePathValueOf(QByteArray("CMAKE_MAKE_PROGRAM")); - FilePath toolchainFile = config.filePathValueOf(QByteArray("CMAKE_TOOLCHAIN_FILE")); FilePath hostPath = config.filePathValueOf(QByteArray("QT_HOST_PATH")); QStringList args; @@ -296,6 +307,14 @@ static FilePath qmakeFromCMakeCache(const CMakeConfig &config) args.push_back(qtcQMakeProbeDir.filePath("build").path()); args.push_back("-G"); args.push_back(cmakeGenerator); + if (!cmakeGeneratorPlatform.isEmpty()) { + args.push_back("-A"); + args.push_back(cmakeGeneratorPlatform); + } + if (!cmakeGeneratorToolset.isEmpty()) { + args.push_back("-T"); + args.push_back(cmakeGeneratorToolset); + } if (!cmakeMakeProgram.isEmpty()) { args.push_back(QStringLiteral("-DCMAKE_MAKE_PROGRAM=%1").arg(cmakeMakeProgram.toString())); @@ -303,7 +322,8 @@ static FilePath qmakeFromCMakeCache(const CMakeConfig &config) if (toolchainFile.isEmpty()) { args.push_back(QStringLiteral("-DCMAKE_PREFIX_PATH=%1").arg(prefixPath)); } else { - args.push_back(QStringLiteral("-DCMAKE_FIND_ROOT_PATH=%1").arg(prefixPath)); + if (!prefixPath.isEmpty()) + args.push_back(QStringLiteral("-DCMAKE_FIND_ROOT_PATH=%1").arg(prefixPath)); args.push_back(QStringLiteral("-DCMAKE_TOOLCHAIN_FILE=%1").arg(toolchainFile.toString())); } if (!hostPath.isEmpty()) { From ee4c998ff3d58ba693c873e97c4bf5468cb364f8 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 26 Sep 2022 18:59:04 +0200 Subject: [PATCH 25/96] CMakePM: Add supprot for CMakePresets version 3 This includes Condition and toolchainFile https://cmake.org/cmake/help/v3.21/manual/cmake-presets.7.html Task-number: QTCREATORBUG-24555 Change-Id: I1026390af67b2be1aa0c3b02b654fc19442d3c89 Reviewed-by: Alessandro Portale --- .../cmakebuildconfiguration.cpp | 55 ++++-- .../cmakeprojectimporter.cpp | 19 ++- .../cmakeprojectmanager/presetsmacros.cpp | 127 ++++++++++++++ .../cmakeprojectmanager/presetsmacros.h | 20 +++ .../cmakeprojectmanager/presetsparser.cpp | 158 ++++++++++++++++++ .../cmakeprojectmanager/presetsparser.h | 44 +++++ tests/manual/cmakepresets/CMakePresets.json | 34 +++- 7 files changed, 430 insertions(+), 27 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 119a5c1d3f8..784ebe419b2 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -1168,7 +1168,8 @@ static CommandLine defaultInitialCMakeCommand(const Kit *k, const QString buildT static void addCMakeConfigurePresetToInitialArguments(QStringList &initialArguments, const CMakeProject *project, const Kit *k, - const Utils::Environment &env) + const Utils::Environment &env, + const Utils::FilePath &buildDirectory) { const CMakeConfigItem presetItem = CMakeConfigurationKitAspect::cmakePresetConfigItem(k); @@ -1230,6 +1231,11 @@ static void addCMakeConfigurePresetToInitialArguments(QStringList &initialArgume initialArguments.append("--debug-output"); } + CMakePresets::Macros::updateToolchainFile(configurePreset, + env, + project->projectDirectory(), + buildDirectory); + // Merge the presets cache variables CMakeConfig cache; if (configurePreset.cacheVariables) @@ -1547,15 +1553,16 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id) CMakeProject *cmakeProject = static_cast(target->project()); setUserConfigureEnvironmentChanges(getEnvironmentItemsFromCMakeConfigurePreset(cmakeProject, k)); + updateAndEmitConfigureEnvironmentChanged(); QStringList initialCMakeArguments = cmd.splitArguments(); addCMakeConfigurePresetToInitialArguments(initialCMakeArguments, cmakeProject, k, - configureEnvironment()); + configureEnvironment(), + info.buildDirectory); m_buildSystem->setInitialCMakeArguments(initialCMakeArguments); m_buildSystem->setCMakeBuildType(buildType); - updateAndEmitConfigureEnvironmentChanged(); setBuildPresetToBuildSteps(target); }); @@ -1825,24 +1832,31 @@ void CMakeBuildConfiguration::setInitialBuildAndCleanSteps(const ProjectExplorer const CMakeConfigItem presetItem = CMakeConfigurationKitAspect::cmakePresetConfigItem( target->kit()); + int buildSteps = 1; if (!presetItem.isNull()) { const QString presetName = presetItem.expandedValue(target->kit()); const CMakeProject *project = static_cast(target->project()); const auto buildPresets = project->presetsData().buildPresets; - const int count = std::count_if(buildPresets.begin(), - buildPresets.end(), - [presetName](const PresetsDetails::BuildPreset &preset) { - return preset.configurePreset == presetName - && !preset.hidden.value(); - }); + const int count + = std::count_if(buildPresets.begin(), + buildPresets.end(), + [presetName, project](const PresetsDetails::BuildPreset &preset) { + bool enabled = true; + if (preset.condition) + enabled = CMakePresets::Macros::evaluatePresetCondition( + preset, project->projectDirectory()); - for (int i = 0; i < count; ++i) - appendInitialBuildStep(Constants::CMAKE_BUILD_STEP_ID); - - } else { - appendInitialBuildStep(Constants::CMAKE_BUILD_STEP_ID); + return preset.configurePreset == presetName + && !preset.hidden.value() && enabled; + }); + if (count != 0) + buildSteps = count; } + + for (int i = 0; i < buildSteps; ++i) + appendInitialBuildStep(Constants::CMAKE_BUILD_STEP_ID); + appendInitialCleanStep(Constants::CMAKE_BUILD_STEP_ID); } @@ -1858,10 +1872,15 @@ void CMakeBuildConfiguration::setBuildPresetToBuildSteps(const ProjectExplorer:: const CMakeProject *project = static_cast(target->project()); const auto allBuildPresets = project->presetsData().buildPresets; - const auto buildPresets - = Utils::filtered(allBuildPresets, [presetName](const PresetsDetails::BuildPreset &preset) { - return preset.configurePreset == presetName && !preset.hidden.value(); - }); + const auto buildPresets = Utils::filtered( + allBuildPresets, [presetName, project](const PresetsDetails::BuildPreset &preset) { + bool enabled = true; + if (preset.condition) + enabled = CMakePresets::Macros::evaluatePresetCondition(preset, + project->projectDirectory()); + + return preset.configurePreset == presetName && !preset.hidden.value() && enabled; + }); const QList buildStepList = Utils::filtered(buildSteps()->steps(), [](const BuildStep *bs) { diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp index 2c207226f2f..3e6b0ece8e4 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp @@ -123,6 +123,11 @@ FilePaths CMakeProjectImporter::importCandidates() if (configPreset.hidden.value()) continue; + if (configPreset.condition) { + if (!CMakePresets::Macros::evaluatePresetCondition(configPreset, projectFilePath())) + continue; + } + const FilePath configPresetDir = m_presetsTempDir.filePath(configPreset.name); configPresetDir.createDir(); candidates << configPresetDir; @@ -403,13 +408,15 @@ QList CMakeProjectImporter::examineDirectory(const FilePath &importPath, auto data = std::make_unique(); const QString presetName = importPath.fileName(); - PresetsDetails::ConfigurePreset configurePreset = Utils::findOrDefault(m_presetsData.configurePresets, [presetName](const PresetsDetails::ConfigurePreset &preset) { return preset.name == presetName; }); + Environment env = Environment::systemEnvironment(); + CMakePresets::Macros::expand(configurePreset, env, projectDirectory()); + if (configurePreset.displayName) data->cmakePresetDisplayname = configurePreset.displayName.value(); else @@ -435,14 +442,16 @@ QList CMakeProjectImporter::examineDirectory(const FilePath &importPath, QString binaryDir = importPath.toString(); if (configurePreset.binaryDir) { binaryDir = configurePreset.binaryDir.value(); - CMakePresets::Macros::expand(configurePreset, - Environment::systemEnvironment(), - projectDirectory(), - binaryDir); + CMakePresets::Macros::expand(configurePreset, env, projectDirectory(), binaryDir); } data->buildDirectory = Utils::FilePath::fromString(binaryDir); + CMakePresets::Macros::updateToolchainFile(configurePreset, + env, + projectDirectory(), + data->buildDirectory); + const CMakeConfig cache = configurePreset.cacheVariables ? configurePreset.cacheVariables.value() : CMakeConfig(); diff --git a/src/plugins/cmakeprojectmanager/presetsmacros.cpp b/src/plugins/cmakeprojectmanager/presetsmacros.cpp index 29ecdf946bf..37ef043c12e 100644 --- a/src/plugins/cmakeprojectmanager/presetsmacros.cpp +++ b/src/plugins/cmakeprojectmanager/presetsmacros.cpp @@ -12,6 +12,25 @@ namespace CMakeProjectManager::Internal::CMakePresets::Macros { +QString getHostSystemName() +{ + Utils::OsType osType = Utils::HostOsInfo::hostOs(); + + switch (osType) { + case Utils::OsTypeWindows: + return "Windows"; + case Utils::OsTypeLinux: + return "Linux"; + case Utils::OsTypeMac: + return "Darwin"; + case Utils::OsTypeOtherUnix: + return "Unix"; + case Utils::OsTypeOther: + return "Other"; + } + return "Other"; +} + void expandAllButEnv(const PresetsDetails::ConfigurePreset &preset, const Utils::FilePath &sourceDirectory, QString &value) @@ -25,6 +44,8 @@ void expandAllButEnv(const PresetsDetails::ConfigurePreset &preset, value.replace("${presetName}", preset.name); if (preset.generator) value.replace("${generator}", preset.generator.value()); + + value.replace("${hostSystemName}", getHostSystemName()); } void expandAllButEnv(const PresetsDetails::BuildPreset &preset, @@ -141,6 +162,106 @@ void expand(const PresetType &preset, value.replace(match.captured(1), env.value(match.captured(2))); } +void updateToolchainFile( + CMakeProjectManager::Internal::PresetsDetails::ConfigurePreset &configurePreset, + const Utils::Environment &env, + const Utils::FilePath &sourceDirectory, + const Utils::FilePath &buildDirectory) +{ + if (!configurePreset.toolchainFile) + return; + + QString toolchainFileName = configurePreset.toolchainFile.value(); + CMakePresets::Macros::expand(configurePreset, env, sourceDirectory, toolchainFileName); + + // Resolve the relative path first to source and afterwards to build directory + Utils::FilePath toolchainFile = Utils::FilePath::fromString(toolchainFileName); + if (toolchainFile.isRelativePath()) { + for (const auto &path : {sourceDirectory, buildDirectory}) { + Utils::FilePath probePath = toolchainFile.resolvePath(path); + if (probePath.exists() && probePath != path) { + toolchainFile = probePath; + break; + } + } + } + + if (!toolchainFile.exists()) + return; + + // toolchainFile takes precedence to CMAKE_TOOLCHAIN_FILE + CMakeConfig cache = configurePreset.cacheVariables ? configurePreset.cacheVariables.value() + : CMakeConfig(); + + auto it = std::find_if(cache.begin(), cache.end(), [](const CMakeConfigItem &item) { + return item.key == "CMAKE_TOOLCHAIN_FILE"; + }); + if (it != cache.end()) + it->value = toolchainFile.toString().toUtf8(); + else + cache << CMakeConfigItem("CMAKE_TOOLCHAIN_FILE", + CMakeConfigItem::FILEPATH, + toolchainFile.toString().toUtf8()); + + configurePreset.cacheVariables = cache; +} + +template +void expandConditionValues(const PresetType &preset, + const Utils::Environment &env, + const Utils::FilePath &sourceDirectory, + PresetsDetails::Condition &condition) +{ + if (condition.isEquals() || condition.isNotEquals()) { + if (condition.lhs) + expand(preset, env, sourceDirectory, condition.lhs.value()); + if (condition.rhs) + expand(preset, env, sourceDirectory, condition.rhs.value()); + } + + if (condition.isInList() || condition.isNotInList()) { + if (condition.string) + expand(preset, env, sourceDirectory, condition.string.value()); + if (condition.list) + for (QString &listValue : condition.list.value()) + expand(preset, env, sourceDirectory, listValue); + } + + if (condition.isMatches() || condition.isNotMatches()) { + if (condition.string) + expand(preset, env, sourceDirectory, condition.string.value()); + if (condition.regex) + expand(preset, env, sourceDirectory, condition.regex.value()); + } + + if (condition.isAnyOf() || condition.isAllOf()) { + if (condition.conditions) + for (PresetsDetails::Condition::ConditionPtr &c : condition.conditions.value()) + expandConditionValues(preset, env, sourceDirectory, *c); + } + + if (condition.isNot()) { + if (condition.condition) + expandConditionValues(preset, env, sourceDirectory, *condition.condition.value()); + } +} + +template +bool evaluatePresetCondition(const PresetType &preset, const Utils::FilePath &sourceDirectory) +{ + if (!preset.condition) + return true; + + Utils::Environment env = Utils::Environment::systemEnvironment(); + expand(preset, env, sourceDirectory); + + PresetsDetails::Condition condition = preset.condition.value(); + expandConditionValues(preset, env, sourceDirectory, condition); + + return condition.evaluate(); +} + + // Expand for PresetsDetails::ConfigurePreset template void expand(const PresetsDetails::ConfigurePreset &preset, Utils::Environment &env, @@ -155,6 +276,9 @@ template void expand(const PresetsDetails::Conf const Utils::FilePath &sourceDirectory, QString &value); +template bool evaluatePresetCondition( + const PresetsDetails::ConfigurePreset &preset, const Utils::FilePath &sourceDirectory); + // Expand for PresetsDetails::BuildPreset template void expand(const PresetsDetails::BuildPreset &preset, Utils::Environment &env, @@ -169,4 +293,7 @@ template void expand(const PresetsDetails::BuildPre const Utils::FilePath &sourceDirectory, QString &value); +template bool evaluatePresetCondition( + const PresetsDetails::BuildPreset &preset, const Utils::FilePath &sourceDirectory); + } // namespace CMakeProjectManager::Internal::CMakePresets::Macros diff --git a/src/plugins/cmakeprojectmanager/presetsmacros.h b/src/plugins/cmakeprojectmanager/presetsmacros.h index 9da2734da2a..0acf4d37cb6 100644 --- a/src/plugins/cmakeprojectmanager/presetsmacros.h +++ b/src/plugins/cmakeprojectmanager/presetsmacros.h @@ -12,6 +12,10 @@ class FilePath; namespace CMakeProjectManager::Internal { +namespace PresetsDetails { +class ConfigurePreset; +} + namespace CMakePresets::Macros { /** * Expands the CMakePresets Macros using Utils::Environment as target and source for parent environment values. @@ -40,6 +44,22 @@ void expand(const PresetType &preset, const Utils::FilePath &sourceDirectory, QString &value); +/** + * Updates the cacheVariables parameter of the configurePreset with the expandned toolchainFile parameter. + * Including macro expansion and relative paths resolving. + */ +void updateToolchainFile(PresetsDetails::ConfigurePreset &configurePreset, + const Utils::Environment &env, + const Utils::FilePath &sourceDirectory, + const Utils::FilePath &buildDirectory); + +/** + * Expands the condition values and then evaluates the condition object of the preset and returns + * the boolean result. + */ +template +bool evaluatePresetCondition(const PresetType &preset, const Utils::FilePath &sourceDirectory); + } // namespace CMakePresets::Macros } // namespace CMakeProjectManager::Internal diff --git a/src/plugins/cmakeprojectmanager/presetsparser.cpp b/src/plugins/cmakeprojectmanager/presetsparser.cpp index 970b05921a5..441709109db 100644 --- a/src/plugins/cmakeprojectmanager/presetsparser.cpp +++ b/src/plugins/cmakeprojectmanager/presetsparser.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "presetsparser.h" +#include "utils/algorithm.h" #include "cmakeprojectmanagertr.h" @@ -34,6 +35,102 @@ bool parseCMakeMinimumRequired(const QJsonValue &jsonValue, QVersionNumber &vers return true; } +std::optional parseCondition(const QJsonValue &jsonValue) +{ + std::optional condition; + + if (jsonValue.isUndefined()) + return condition; + + condition = PresetsDetails::Condition(); + + if (jsonValue.isNull()) { + condition->type = "null"; + return condition; + } + + if (jsonValue.isBool()) { + condition->type = "const"; + condition->constValue = jsonValue.toBool(); + return condition; + } + + if (!jsonValue.isObject()) + return condition; + + QJsonObject object = jsonValue.toObject(); + QString type = object.value("type").toString(); + if (type.isEmpty()) + return condition; + + if (type == "const") { + condition->type = type; + condition->constValue = object.value("const").toBool(); + return condition; + } + + for (const auto &equals : {QString("equals"), QString("notEquals")}) { + if (type == equals) { + condition->type = equals; + condition->lhs = object.value("lhs").toString(); + condition->rhs = object.value("rhs").toString(); + } + } + if (!condition->type.isEmpty()) + return condition; + + for (const auto &inList : {QString("inList"), QString("notInList")}) { + if (type == inList) { + condition->type = inList; + condition->string = object.value("string").toString(); + if (object.value("list").isArray()) { + condition->list = QStringList(); + const QJsonArray listArray = object.value("list").toArray(); + for (const QJsonValue &listValue : listArray) + condition->list.value() << listValue.toString(); + } + } + } + if (!condition->type.isEmpty()) + return condition; + + for (const auto &matches : {QString("matches"), QString("notMatches")}) { + if (type == matches) { + condition->type = matches; + condition->string = object.value("string").toString(); + condition->regex = object.value("regex").toString(); + } + } + if (!condition->type.isEmpty()) + return condition; + + for (const auto &anyOf : {QString("anyOf"), QString("allOf")}) { + if (type == anyOf) { + condition->type = anyOf; + if (object.value("conditions").isArray()) { + condition->conditions = std::vector(); + const QJsonArray conditionsArray = object.value("conditions").toArray(); + for (const QJsonValue &conditionsValue : conditionsArray) { + condition->conditions.value().emplace_back( + std::make_shared( + parseCondition(conditionsValue).value())); + } + } + } + } + if (!condition->type.isEmpty()) + return condition; + + if (type == "not") { + condition->type = type; + condition->condition = std::make_shared( + parseCondition(object.value("condition")).value()); + return condition; + } + + return condition; +} + bool parseConfigurePresets(const QJsonValue &jsonValue, QList &configurePresets) { @@ -68,6 +165,10 @@ bool parseConfigurePresets(const QJsonValue &jsonValue, preset.inherits.value() << inheritsValue; } } + + if (object.contains("condition")) + preset.condition = parseCondition(object.value("condition")); + if (object.contains("displayName")) preset.displayName = object.value("displayName").toString(); if (object.contains("description")) @@ -76,6 +177,8 @@ bool parseConfigurePresets(const QJsonValue &jsonValue, preset.generator = object.value("generator").toString(); if (object.contains("binaryDir")) preset.binaryDir = object.value("binaryDir").toString(); + if (object.contains("toolchainFile")) + preset.toolchainFile = object.value("toolchainFile").toString(); if (object.contains("cmakeExecutable")) preset.cmakeExecutable = object.value("cmakeExecutable").toString(); @@ -218,6 +321,10 @@ bool parseBuildPresets(const QJsonValue &jsonValue, preset.inherits.value() << inheritsValue; } } + + if (object.contains("condition")) + preset.condition = parseCondition(object.value("condition")); + if (object.contains("displayName")) preset.displayName = object.value("displayName").toString(); if (object.contains("description")) @@ -334,6 +441,9 @@ bool PresetsParser::parse(const Utils::FilePath &jsonFile, QString &errorMessage void PresetsDetails::ConfigurePreset::inheritFrom(const ConfigurePreset &other) { + if (!condition && other.condition && !other.condition.value().isNull()) + condition = other.condition; + if (!vendor && other.vendor) vendor = other.vendor; @@ -346,6 +456,9 @@ void PresetsDetails::ConfigurePreset::inheritFrom(const ConfigurePreset &other) if (!toolset && other.toolset) toolset = other.toolset; + if (!toolchainFile && other.toolchainFile) + toolchainFile = other.toolchainFile; + if (!binaryDir && other.binaryDir) binaryDir = other.binaryDir; @@ -370,6 +483,9 @@ void PresetsDetails::ConfigurePreset::inheritFrom(const ConfigurePreset &other) void PresetsDetails::BuildPreset::inheritFrom(const BuildPreset &other) { + if (!condition && other.condition && !other.condition.value().isNull()) + condition = other.condition; + if (!vendor && other.vendor) vendor = other.vendor; @@ -401,4 +517,46 @@ void PresetsDetails::BuildPreset::inheritFrom(const BuildPreset &other) nativeToolOptions = other.nativeToolOptions; } +bool PresetsDetails::Condition::evaluate() const +{ + if (isNull()) + return true; + + if (isConst() && constValue) + return constValue.value(); + + if (isEquals() && lhs && rhs) + return lhs.value() == rhs.value(); + + if (isNotEquals() && lhs && rhs) + return lhs.value() != rhs.value(); + + if (isInList() && string && list) + return list.value().contains(string.value()); + + if (isNotInList() && string && list) + return !list.value().contains(string.value()); + + if (isMatches() && string && regex) { + QRegularExpression qRegex(regex.value()); + return qRegex.match(string.value()).hasMatch(); + } + + if (isNotMatches() && string && regex) { + QRegularExpression qRegex(regex.value()); + return !qRegex.match(string.value()).hasMatch(); + } + + if (isAnyOf() && conditions) + return Utils::anyOf(conditions.value(), [](const ConditionPtr &c) { return c->evaluate(); }); + + if (isAllOf() && conditions) + return Utils::allOf(conditions.value(), [](const ConditionPtr &c) { return c->evaluate(); }); + + if (isNot() && condition) + return !condition.value()->evaluate(); + + return false; +} + } // CMakeProjectManager::Internal diff --git a/src/plugins/cmakeprojectmanager/presetsparser.h b/src/plugins/cmakeprojectmanager/presetsparser.h index 0dd65be7caa..5577620d5d8 100644 --- a/src/plugins/cmakeprojectmanager/presetsparser.h +++ b/src/plugins/cmakeprojectmanager/presetsparser.h @@ -43,6 +43,47 @@ public: std::optional find = false; }; +class Condition { +public: + QString type; + + bool isNull() const { return type == "null"; } + bool isConst() const { return type == "const"; } + bool isEquals() const { return type == "equals"; } + bool isNotEquals() const { return type == "notEquals"; } + bool isInList() const { return type == "inList"; } + bool isNotInList() const { return type == "notInList"; } + bool isMatches() const { return type == "matches"; } + bool isNotMatches() const { return type == "notMatches"; } + bool isAnyOf() const { return type == "anyOf"; } + bool isAllOf() const { return type == "allOf"; } + bool isNot() const { return type == "not"; } + + bool evaluate() const; + + // const + std::optional constValue; + + // equals, notEquals + std::optional lhs; + std::optional rhs; + + // inList, notInList + std::optional string; + std::optional list; + + // matches, notMatches + std::optional regex; + + using ConditionPtr = std::shared_ptr; + + // anyOf, allOf + std::optional> conditions; + + // not + std::optional condition; +}; + class ConfigurePreset { public: void inheritFrom(const ConfigurePreset &other); @@ -50,12 +91,14 @@ public: QString name; std::optional hidden = false; std::optional inherits; + std::optional condition; std::optional> vendor; std::optional displayName; std::optional description; std::optional generator; std::optional architecture; std::optional toolset; + std::optional toolchainFile; std::optional binaryDir; std::optional cmakeExecutable; std::optional cacheVariables; @@ -72,6 +115,7 @@ public: QString name; std::optional hidden = false; std::optional inherits; + std::optional condition; std::optional> vendor; std::optional displayName; std::optional description; diff --git a/tests/manual/cmakepresets/CMakePresets.json b/tests/manual/cmakepresets/CMakePresets.json index 9af5b24cd40..64e5a6bc965 100644 --- a/tests/manual/cmakepresets/CMakePresets.json +++ b/tests/manual/cmakepresets/CMakePresets.json @@ -1,8 +1,8 @@ { - "version": 2, + "version": 3, "cmakeMinimumRequired": { "major": 3, - "minor": 20, + "minor": 21, "patch": 0 }, "configurePresets": [ @@ -15,6 +15,11 @@ "CMAKE_BUILD_TYPE": "Release", "CMAKE_PREFIX_PATH": "c:/Qt/6.3.2/mingw_64" }, + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Windows" + }, "environment": { "PATH": "c:/Qt/Tools/mingw1120_64/bin;$penv{PATH}" }, @@ -36,8 +41,29 @@ "architecture" : { "value": "x64" }, - "cacheVariables": { - "CMAKE_PREFIX_PATH": "c:/Qt/6.3.2/msvc2019_64" + "toolchainFile" : "c:/Qt/6.3.2/msvc2019_64/lib/cmake/Qt6/qt.toolchain.cmake", + "condition" : { + "type": "not", + "condition": { + "type": "notEquals", + "lhs": "${hostSystemName}", + "rhs": "$env{HOST_SYSTEM_NAME}" + } + }, + "environment" : { + "HOST_SYSTEM_NAME": "Windows" + } + }, + { + "name": "linux-gcc", + "displayName": "Linux GCC", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build-${presetName}", + "toolchainFile" : "$penv{HOME}/Qt/6.3.2/gcc_64/lib/cmake/Qt6/qt.toolchain.cmake", + "condition" : { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Linux" } } ], From 1c8a1b9d82be58901f15b7a64879df575be88e31 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 28 Sep 2022 15:16:01 +0200 Subject: [PATCH 26/96] Squish: Fix script generation Handle whitespaces inside the application's name and arguments correctly. Change-Id: I5f3fc7c83e7b1e694e9f2a4583c6ac06b7528ff6 Reviewed-by: Christian Stenger Reviewed-by: David Schulz Reviewed-by: --- src/plugins/squish/scripthelper.cpp | 24 +++++++++++++----------- src/plugins/squish/scripthelper.h | 2 +- src/plugins/squish/squishtools.cpp | 2 +- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/plugins/squish/scripthelper.cpp b/src/plugins/squish/scripthelper.cpp index d6e18872098..0047ea37aa2 100644 --- a/src/plugins/squish/scripthelper.cpp +++ b/src/plugins/squish/scripthelper.cpp @@ -12,23 +12,25 @@ namespace Squish { namespace Internal { -static QByteArray startApplication(Language language, const QString &application, - const QStringList &args) +static QByteArray startApplication(Language language, + const QString &application, + const QString &args) { + const QString app = application.contains(' ') ? QString("\\\"" + application + "\\\"") + : application; + QStringList parameters; + parameters << app; + if (args.isEmpty()) + parameters << QString(args).replace('"', "\\\""); + switch (language) { case Language::Python: case Language::Perl: case Language::JavaScript: case Language::Ruby: - if (args.isEmpty()) - return QByteArray("startApplication(\"" + application.toUtf8() + "\")"); - return QByteArray("startApplication(\"" + application.toUtf8() + ' ' - + args.join(' ').toUtf8() + "\")"); + return QByteArray("startApplication(\"" + parameters.join(' ').toUtf8() + "\")"); case Language::Tcl: - if (args.isEmpty()) - return QByteArray("startApplication \"" + application.toUtf8() + "\""); - return QByteArray("startApplication \"" + application.toUtf8() + ' ' - + args.join(' ').toUtf8() + "\""); + return QByteArray("startApplication \"" + parameters.join(' ').toUtf8() + "\""); } return {}; } @@ -115,7 +117,7 @@ ScriptHelper::ScriptHelper(Language language) bool ScriptHelper::writeScriptFile(const Utils::FilePath &outScriptFile, const Utils::FilePath &snippetFile, const QString &application, - const QStringList &arguments) const + const QString &arguments) const { if (!snippetFile.isReadableFile()) return false; diff --git a/src/plugins/squish/scripthelper.h b/src/plugins/squish/scripthelper.h index 56dfdea5f31..34ed79bca92 100644 --- a/src/plugins/squish/scripthelper.h +++ b/src/plugins/squish/scripthelper.h @@ -21,7 +21,7 @@ public: bool writeScriptFile(const Utils::FilePath &outScriptFile, const Utils::FilePath &snippetFile, const QString &application, - const QStringList &arguments) const; + const QString &arguments) const; private: Language m_language; }; diff --git a/src/plugins/squish/squishtools.cpp b/src/plugins/squish/squishtools.cpp index a5fc9a2c2ab..463109eda60 100644 --- a/src/plugins/squish/squishtools.cpp +++ b/src/plugins/squish/squishtools.cpp @@ -739,7 +739,7 @@ void SquishTools::onRecorderFinished() "test" + m_suiteConf.scriptExtension()); bool result = helper.writeScriptFile(testFile, m_currentRecorderSnippetFile, m_suiteConf.aut(), - m_suiteConf.arguments().split(' ', Qt::SkipEmptyParts)); + m_suiteConf.arguments()); qCInfo(LOG) << "Wrote recorded test case" << testFile.toUserOutput() << " " << result; m_currentRecorderSnippetFile.removeFile(); m_currentRecorderSnippetFile.clear(); From d238c503992dd56f16c7820c362906a1460f91db Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 29 Sep 2022 16:05:48 +0300 Subject: [PATCH 27/96] QmlDesigner: Store current value at material property copy Now we store the current value of copied properties at copy time instead of just storing a reference to copied property. This ensures we paste the correct value. When copying all properties, properties set by base state, current state, and active timeline are copied. Fixes: QDS-7804 Change-Id: Id6315dde96b30304fde007a87da578faaab43233 Reviewed-by: Reviewed-by: Mahmoud Badri Reviewed-by: Qt CI Bot --- .../materialbrowser/materialbrowsermodel.cpp | 53 +++++++++++++++++-- .../materialbrowser/materialbrowsermodel.h | 17 ++++-- .../materialbrowser/materialbrowserview.cpp | 36 +++++++++---- 3 files changed, 86 insertions(+), 20 deletions(-) diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp index dd828de352e..e9af23eb804 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp @@ -29,7 +29,8 @@ #include #include #include -#include "variantproperty.h" +#include +#include #include "utils/qtcassert.h" namespace QmlDesigner { @@ -349,6 +350,9 @@ void MaterialBrowserModel::duplicateMaterial(int idx) void MaterialBrowserModel::copyMaterialProperties(int idx, const QString §ion) { m_copiedMaterial = m_materialList.at(idx); + + QTC_ASSERT(m_copiedMaterial.isValid(), return); + QString matType = QString::fromLatin1(m_copiedMaterial.type()); if (matType.startsWith("QtQuick3D.")) @@ -356,27 +360,66 @@ void MaterialBrowserModel::copyMaterialProperties(int idx, const QString §io setCopiedMaterialType(matType); m_allPropsCopied = section == "All"; + QmlObjectNode mat(m_copiedMaterial); + + QSet validProps; + PropertyNameList copiedProps; + + // Base state properties are always valid + const auto baseProps = m_copiedMaterial.propertyNames(); + for (const auto &baseProp : baseProps) + validProps.insert(baseProp); + + if (!mat.isInBaseState()) { + QmlPropertyChanges changes = mat.propertyChangeForCurrentState(); + if (changes.isValid()) { + const QList changedProps = changes.targetProperties(); + for (const auto &changedProp : changedProps) + validProps.insert(changedProp.name()); + } + } + + if (mat.timelineIsActive()) { + const QList keyframeGroups + = mat.currentTimeline().keyframeGroupsForTarget(m_copiedMaterial); + for (const auto &kfg : keyframeGroups) + validProps.insert(kfg.propertyName()); + } if (m_allPropsCopied || m_propertyGroupsObj.empty()) { - m_copiedMaterialProps = m_copiedMaterial.properties(); + copiedProps = validProps.values(); } else { QJsonObject propsSpecObj = m_propertyGroupsObj.value(m_copiedMaterialType).toObject(); if (propsSpecObj.contains(section)) { // should always be true - m_copiedMaterialProps.clear(); const QJsonArray propNames = propsSpecObj.value(section).toArray(); // auto == QJsonValueConstRef after 04dc959d49e5e3 / Qt 6.4, QJsonValueRef before for (const auto &propName : propNames) - m_copiedMaterialProps.append(m_copiedMaterial.property(propName.toString().toLatin1())); + copiedProps.append(propName.toString().toLatin1()); if (section == "Base") { // add QtQuick3D.Material base props as well QJsonObject propsMatObj = m_propertyGroupsObj.value("Material").toObject(); const QJsonArray propNames = propsMatObj.value("Base").toArray(); // auto == QJsonValueConstRef after 04dc959d49e5e3 / Qt 6.4, QJsonValueRef before for (const auto &propName : propNames) - m_copiedMaterialProps.append(m_copiedMaterial.property(propName.toString().toLatin1())); + copiedProps.append(propName.toString().toLatin1()); } } } + + m_copiedMaterialProps.clear(); + for (const auto &propName : copiedProps) { + PropertyCopyData data; + data.name = propName; + data.isValid = m_allPropsCopied || validProps.contains(propName); + data.isBinding = mat.hasBindingProperty(propName); + if (data.isValid) { + if (data.isBinding) + data.value = mat.expression(propName); + else + data.value = mat.modelValue(propName); + } + m_copiedMaterialProps.append(data); + } } void MaterialBrowserModel::pasteMaterialProperties(int idx) diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h index 704cdcb644a..c054d07527b 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h @@ -94,6 +94,14 @@ public: Q_INVOKABLE void openMaterialEditor(); Q_INVOKABLE bool isCopiedMaterialValid() const; + struct PropertyCopyData + { + PropertyName name; + QVariant value; + bool isBinding = false; + bool isValid = false; + }; + signals: void isEmptyChanged(); void hasQuick3DImportChanged(); @@ -106,9 +114,10 @@ signals: void applyToSelectedTriggered(const QmlDesigner::ModelNode &material, bool add = false); void addNewMaterialTriggered(); void duplicateMaterialTriggered(const QmlDesigner::ModelNode &material); - void pasteMaterialPropertiesTriggered(const QmlDesigner::ModelNode &material, - const QList &props, - bool all); + void pasteMaterialPropertiesTriggered( + const QmlDesigner::ModelNode &material, + const QList &props, + bool all); private: bool isMaterialVisible(int idx) const; @@ -120,7 +129,7 @@ private: QStringList m_principledMaterialSections; QStringList m_customMaterialSections; ModelNode m_copiedMaterial; - QList m_copiedMaterialProps; + QList m_copiedMaterialProps; QHash m_materialIndexHash; // internalId -> index QJsonObject m_propertyGroupsObj; diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index 13f7ad211d5..90ef925ac43 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -96,29 +96,43 @@ WidgetInfo MaterialBrowserView::widgetInfo() }); connect(matBrowserModel, &MaterialBrowserModel::pasteMaterialPropertiesTriggered, this, - [&] (const ModelNode &material, const QList &props, bool all) { + [&] (const ModelNode &material, + const QList &propDatas, + bool all) { QmlObjectNode mat(material); executeInTransaction(__FUNCTION__, [&] { if (all) { // all material properties copied // remove current properties - const PropertyNameList propNames = material.propertyNames(); - for (const PropertyName &propName : propNames) { + PropertyNameList propNames; + if (mat.isInBaseState()) { + propNames = material.propertyNames(); + } else { + QmlPropertyChanges changes = mat.propertyChangeForCurrentState(); + if (changes.isValid()) { + const QList changedProps = changes.targetProperties(); + for (const auto &changedProp : changedProps) + propNames.append(changedProp.name()); + } + } + for (const PropertyName &propName : qAsConst(propNames)) { if (propName != "objectName") mat.removeProperty(propName); } } // apply pasted properties - for (const AbstractProperty &prop : props) { - if (prop.name() == "objectName" || !prop.isValid()) + for (const QmlDesigner::MaterialBrowserModel::PropertyCopyData &propData : propDatas) { + if (propData.name == "objectName") continue; - if (prop.isVariantProperty()) - mat.setVariantProperty(prop.name(), prop.toVariantProperty().value()); - else if (prop.isBindingProperty()) - mat.setBindingProperty(prop.name(), prop.toBindingProperty().expression()); - else if (!all) - mat.removeProperty(prop.name()); + if (propData.isValid) { + if (propData.isBinding) + mat.setBindingProperty(propData.name, propData.value.toString()); + else + mat.setVariantProperty(propData.name, propData.value); + } else { + mat.removeProperty(propData.name); + } } }); }); From c42ae96ba8c65a1a0d76903dfabf478133a677ae Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 30 Sep 2022 08:37:46 +0200 Subject: [PATCH 28/96] Squish: Move wizard into plugin Avoids a soft assert when parsing the wizards without having the Squish plugin enabled. As the Squish wizard is using customized wizard generators that are only available if Squish is loaded we should limit the presence of the wizard file to this case. Change-Id: I091c1e429f28b07679245abdc9a638135af84761 Reviewed-by: Eike Ziller --- src/plugins/squish/squish.qrc | 1 + src/plugins/squish/squishplugin.cpp | 1 + .../projects/squish => src/plugins/squish/wizard}/wizard.json | 0 3 files changed, 2 insertions(+) rename {share/qtcreator/templates/wizards/projects/squish => src/plugins/squish/wizard}/wizard.json (100%) diff --git a/src/plugins/squish/squish.qrc b/src/plugins/squish/squish.qrc index d9c7130419d..830a60d5aa7 100644 --- a/src/plugins/squish/squish.qrc +++ b/src/plugins/squish/squish.qrc @@ -8,5 +8,6 @@ images/jumpTo@2x.png images/data.png images/data@2x.png + wizard/wizard.json diff --git a/src/plugins/squish/squishplugin.cpp b/src/plugins/squish/squishplugin.cpp index 5f3cfaea4e4..ced619fbca5 100644 --- a/src/plugins/squish/squishplugin.cpp +++ b/src/plugins/squish/squishplugin.cpp @@ -105,6 +105,7 @@ void SquishPluginPrivate::initializeMenuEntries() bool SquishPlugin::initialize(const QStringList &, QString *) { dd = new SquishPluginPrivate; + ProjectExplorer::JsonWizardFactory::addWizardPath(":/squish/wizard/"); return true; } diff --git a/share/qtcreator/templates/wizards/projects/squish/wizard.json b/src/plugins/squish/wizard/wizard.json similarity index 100% rename from share/qtcreator/templates/wizards/projects/squish/wizard.json rename to src/plugins/squish/wizard/wizard.json From 63f3921334b2607407f66340f52644954ce5bff9 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 29 Sep 2022 18:15:00 +0200 Subject: [PATCH 29/96] CPaster: Convert to Tr::tr Change-Id: I00242638e483aa9cb5b54473982eed137e859ff6 Reviewed-by: Alessandro Portale Reviewed-by: --- share/qtcreator/translations/qtcreator_cs.ts | 142 +-------------- share/qtcreator/translations/qtcreator_da.ts | 61 ------- share/qtcreator/translations/qtcreator_de.ts | 48 +---- share/qtcreator/translations/qtcreator_es.ts | 23 +-- share/qtcreator/translations/qtcreator_fr.ts | 166 +----------------- share/qtcreator/translations/qtcreator_hr.ts | 65 +------ share/qtcreator/translations/qtcreator_hu.ts | 25 +-- share/qtcreator/translations/qtcreator_it.ts | 23 +-- share/qtcreator/translations/qtcreator_ja.ts | 54 +----- share/qtcreator/translations/qtcreator_pl.ts | 59 +------ share/qtcreator/translations/qtcreator_ru.ts | 54 ------ share/qtcreator/translations/qtcreator_sl.ts | 35 +--- share/qtcreator/translations/qtcreator_uk.ts | 64 +------ .../qtcreator/translations/qtcreator_zh_CN.ts | 124 +------------ .../qtcreator/translations/qtcreator_zh_TW.ts | 47 +---- src/plugins/cpaster/cpasterplugin.cpp | 19 +- src/plugins/cpaster/dpastedotcomprotocol.cpp | 6 +- src/plugins/cpaster/dpastedotcomprotocol.h | 3 +- src/plugins/cpaster/fileshareprotocol.cpp | 10 +- src/plugins/cpaster/fileshareprotocol.h | 4 +- .../cpaster/fileshareprotocolsettingspage.cpp | 12 +- .../cpaster/fileshareprotocolsettingspage.h | 4 +- .../cpaster/pastebindotcomprotocol.cpp | 20 +-- src/plugins/cpaster/pastebindotcomprotocol.h | 3 +- src/plugins/cpaster/pasteselectdialog.cpp | 14 +- src/plugins/cpaster/pasteselectdialog.h | 1 - src/plugins/cpaster/pasteview.cpp | 27 +-- src/plugins/cpaster/pasteview.h | 4 +- src/plugins/cpaster/protocol.cpp | 24 +-- src/plugins/cpaster/protocol.h | 2 - src/plugins/cpaster/settings.cpp | 19 +- src/plugins/cpaster/settings.h | 4 +- .../cpaster/stickynotespasteprotocol.cpp | 13 +- .../cpaster/stickynotespasteprotocol.h | 8 +- src/plugins/cpaster/urlopenprotocol.cpp | 4 +- src/plugins/cpaster/urlopenprotocol.h | 3 +- 36 files changed, 145 insertions(+), 1049 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_cs.ts b/share/qtcreator/translations/qtcreator_cs.ts index 375fd0d97ba..31bbd36f7af 100644 --- a/share/qtcreator/translations/qtcreator_cs.ts +++ b/share/qtcreator/translations/qtcreator_cs.ts @@ -527,7 +527,7 @@ - CodePaster::CodepasterPlugin + CodePaster &Code Pasting &Vkládání kódu @@ -576,25 +576,6 @@ Empty snippet received for "%1". Přijat prázdný úryvek pro "%1". - - This protocol supports no listing - Tento protokol nepodporuje výpisy - - - Waiting for items - Čeká se na data - - - - CodePaster::PasteSelectDialog - - Paste: - Vložit: - - - Protocol: - Protokol: - Refresh Obnovit @@ -607,13 +588,6 @@ This protocol does not support listing Tento protokol nepodporuje výpisy - - - CodePaster::SettingsPage - - Username: - Uživatelské jméno: - Copy Paste URL to clipboard Kopírovat URL do schránky @@ -626,38 +600,6 @@ General Obecné - - CodePaster - CodePaster - - - Default Protocol: - Výchozí protokol: - - - Pastebin.ca - Pastebin.ca - - - Pastebin.com - Pastebin.com - - - Code Pasting - Vkládání kódu - - - Display Output pane after sending a post - Po odeslání ukázat výstupní tabulku - - - Copy-paste URL to clipboard - Kopírovat URL do schránky - - - Default protocol: - Výchozí protokol: - CommonOptionsPage @@ -18431,7 +18373,7 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás
- CodePaster::CodePasterProtocol + CodePaster No Server defined in the CodePaster preferences. V nastavení ke CodePaster nebyl stanoven žádný server. @@ -18444,9 +18386,6 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás No such paste Požadované vložení neexistuje - - - CodePaster::CodePasterSettingsPage CodePaster CodePaster @@ -18455,10 +18394,6 @@ Toho se dosáhne vložením této zkratky v zadávacím poli vyhledávače, nás <i>Note: Specify the host name for the CodePaster service without any protocol prepended (e.g. codepaster.mycompany.com).</i> <i>Poznámka: Zadejte název hostitelského počítače (serveru) pro službu CodePaster bez protokolové předpony (například: codepaster.mycompany.com).</i> - - Code Pasting - Vkládání kódu - Server: Server: @@ -21153,25 +21088,6 @@ S60 emulator run configuration default display name, %1 is base pro-File nameNastavit znovu výchozí - - CodePaster::FileShareProtocolSettingsWidget - - Form - Formulář - - - &Display: - &Zobrazit: - - - entries - Záznamy - - - The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted. - Protokol vložení založený na sdílení souborů umožňuje sdílení kousků kódu pomocí jednoduchých souborů na sdílené síťové diskové jednotce. Soubory nejsou nikdy mazány. - - Git::Internal::StashDialog @@ -24218,9 +24134,6 @@ heslem, jež můžete zadat níže. Code Pasting Úryvky kódu - - - CodePaster::FileShareProtocol Cannot open %1: %2 Nelze otevřít soubor '%1': %2 @@ -24245,23 +24158,10 @@ heslem, jež můžete zadat níže. Pasted: %1 Vloženo: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Sdílení souboru - - - CodePaster::PasteBinDotComSettings - - Pastebin.com - Pastebin.com - - - - CodePaster::PasteView <Comment> <Poznámka> @@ -24270,9 +24170,6 @@ heslem, jež můžete zadat níže. Paste Vložit - - - CodePaster::Protocol %1 - Configuration Error %1 - Chyba v nastavení @@ -33553,15 +33450,12 @@ správy verzí (%2) - CodePaster::PasteBinDotComProtocol + CodePaster <Unknown> Unknown user of paste. <Neznámý> - - - CodePaster::NetworkProtocol Checking connection Ověření spojení @@ -44369,7 +44263,7 @@ p, li { white-space: pre-wrap; } - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster Form Formulář @@ -44390,13 +44284,6 @@ p, li { white-space: pre-wrap; } entries záznamů - - - CodePaster::Internal::PasteBinComSettingsWidget - - Form - Formulář - <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> dovoluje posílání uživatelsky stanovených subdomén (například creator.pastebin.com). Zadejte požadovanou předponu. @@ -44409,9 +44296,6 @@ p, li { white-space: pre-wrap; } <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Poznámka: Přídavný modul toto použije pro posílání a stejně tak natahování.</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Protokol: @@ -44420,17 +44304,10 @@ p, li { white-space: pre-wrap; } Paste: Vložení: - - - CodePaster::Internal::ViewDialog Send to Codepaster Poslat na CodePaster - - Protocol: - Protokol: - &Username: &Uživatelské jméno: @@ -44479,9 +44356,6 @@ p, li { white-space: pre-wrap; } &Expires after: &Vyprší po: - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post Po odeslání ukázat výstupní tabulku @@ -44498,14 +44372,6 @@ p, li { white-space: pre-wrap; } Default protocol: Výchozí protokol: - - &Expires after: - &Vyprší po: - - - Days - dnech - CppTools::Internal::CppFileSettingsPage diff --git a/share/qtcreator/translations/qtcreator_da.ts b/share/qtcreator/translations/qtcreator_da.ts index c58c2cb9f8f..d1484ae1368 100644 --- a/share/qtcreator/translations/qtcreator_da.ts +++ b/share/qtcreator/translations/qtcreator_da.ts @@ -5610,9 +5610,6 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere Code Pasting Kodeindsætning
- - - CodePaster::AuthenticationDialog Username: Brugernavn: @@ -5621,9 +5618,6 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere Password: Adgangskode: - - - CodePaster::CodepasterPlugin &Code Pasting &Kodeindsætning @@ -5668,9 +5662,6 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere Empty snippet received for "%1". Tom snippet modtaget fra "%1". - - - CodePaster::FileShareProtocol Cannot open %1: %2 Kan ikke åbne %1: %2 @@ -5691,16 +5682,10 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere Pasted: %1 Indsatte: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Fildeling - - - CodePaster::Internal::FileShareProtocolSettingsWidget The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted. Den fildelingsbaseret indsætter-protokol giver mulighed for at dele kode-snippets ved brug af simple filer på et delt netværksdrev. Filer slettes aldrig. @@ -5717,9 +5702,6 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere entries poster - - - CodePaster::Internal::PasteBinComSettingsWidget <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> giver mulighed for at sende poster til brugerdefineret underdomæner (f.eks. creator.pastebin.com). Udfyld det ønsket præfiks. @@ -5732,9 +5714,6 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Bemærk: pluginet bruger dette til både at sende og hente.</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Protokol: @@ -5743,9 +5722,6 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere Paste: Indsæt: - - - CodePaster::Internal::SettingsPage Copy-paste URL to clipboard Kopiér-indsæt URL til udklipsholder @@ -5762,25 +5738,14 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere Display Output pane after sending a post Vis outputrude efter afsendelse af en post - - Username: - Brugernavn: - Days dag(e) - - - CodePaster::Internal::ViewDialog Send to Codepaster Send til kodeindsætter - - Protocol: - Protokol: - &Username: &Brugernavn: @@ -5797,14 +5762,6 @@ Men brug af de afslappede og udvidet regler betyder også at der ikke kan levere <Description> <beskrivelse> - - Days - dag(e) - - - &Expires after: - &Udløber efter: - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -5829,9 +5786,6 @@ p, li { white-space: pre-wrap; } Patch 2 Patch 2 - - - CodePaster::KdePasteProtocol Pasting to KDE paster needs authentication.<br/>Enter your KDE Identity credentials to continue. Indsætning til KDE-indsætter kræver autentifikation.<br/>Indtast din KDE-identitetslegitimationsoplysninger for at fortsætte. @@ -5840,9 +5794,6 @@ p, li { white-space: pre-wrap; } Login failed Indlogning mislykkedes - - - CodePaster::NetworkProtocol Pasting needs authentication.<br/>Enter your identity credentials to continue. Indsætning kræver autentifikation.<br/>Indtast din identitetslegitimationsoplysninger for at fortsætte. @@ -5859,9 +5810,6 @@ p, li { white-space: pre-wrap; } Connecting to %1... Opretter forbindelse til %1... - - - CodePaster::PasteSelectDialog Refresh Genindlæs @@ -5874,9 +5822,6 @@ p, li { white-space: pre-wrap; } This protocol does not support listing Denne protokol understøtter ikke visning - - - CodePaster::PasteView <Comment> <kommentar> @@ -5885,16 +5830,10 @@ p, li { white-space: pre-wrap; } Paste Indsæt - - - CodePaster::Protocol %1 - Configuration Error %1 - konfigurationsfejl - - - CodePaster::SettingsPage General Generelt diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index baa5290a67b..3f62d54795a 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -586,7 +586,7 @@ - CodePaster::CodepasterPlugin + CodePaster &Code Pasting &Code Pasting @@ -631,9 +631,6 @@ Empty snippet received for "%1". Leeren Text für "%1" erhalten. - - - CodePaster::PasteSelectDialog Refresh Aktualisieren @@ -646,9 +643,6 @@ This protocol does not support listing Dieses Protokoll stellt keine Liste zur Verfügung - - - CodePaster::SettingsPage General Allgemein @@ -10575,7 +10569,7 @@ Für CMake-Projekte stellen Sie sicher, dass die Variable QML_IMPORT_PATH in CMa - CodePaster::PasteView + CodePaster <Comment> <Kommentar> @@ -10733,7 +10727,7 @@ Für CMake-Projekte stellen Sie sicher, dass die Variable QML_IMPORT_PATH in CMa - CodePaster::FileShareProtocol + CodePaster Cannot open %1: %2 Die Datei %1 kann nicht geöffnet werden: %2 @@ -10754,16 +10748,10 @@ Für CMake-Projekte stellen Sie sicher, dass die Variable QML_IMPORT_PATH in CMa Pasted: %1 Ausschnitt: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Dateibasiert - - - CodePaster::Protocol %1 - Configuration Error %1 - Konfigurationsfehler @@ -11394,7 +11382,7 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. - CodePaster::NetworkProtocol + CodePaster Checking connection Prüfe Verbindung @@ -17112,7 +17100,7 @@ Außer: %3 - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted. Das dateibasierte Paster-Protokoll dient zum Austausch von Textauschnitten mittels einfacher Dateien auf einem Netzlaufwerk. Die Dateien werden nicht gelöscht. @@ -17129,9 +17117,6 @@ Außer: %3 entries Einträge - - - CodePaster::Internal::PasteBinComSettingsWidget <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> erlaubt das Senden an benutzerdefinierte Subdomänen (zum Beispiel creator.pastebin.com). Geben Sie das gewünschte Präfix an. @@ -17144,9 +17129,6 @@ Außer: %3 <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Hinweis: Es wird sowohl zum Senden als auch zum Abholen verwendet.</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Protokoll: @@ -17155,17 +17137,10 @@ Außer: %3 Paste: Ausschnitt: - - - CodePaster::Internal::ViewDialog Send to Codepaster An CodePaster senden - - Protocol: - Protokoll: - &Username: &Nutzername: @@ -17218,9 +17193,6 @@ p, li { white-space: pre-wrap; } Make public: Öffentlich machen: - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post Ausgabebereich nach Senden anzeigen @@ -17237,14 +17209,6 @@ p, li { white-space: pre-wrap; } Default protocol: Vorgabeprotokoll: - - &Expires after: - &Verfällt nach: - - - Days - Tagen - Make pasted content public by default Hochgeladene Inhalte standardmäßig öffentlich machen @@ -48802,7 +48766,7 @@ Wenn Sie noch keinen privaten Schlüssel besitzen, können Sie hier auch einen e - CodePaster::DPasteDotComProtocol + CodePaster %1: %2 %1: %2 diff --git a/share/qtcreator/translations/qtcreator_es.ts b/share/qtcreator/translations/qtcreator_es.ts index 0f54c51e6d9..87c605a567b 100644 --- a/share/qtcreator/translations/qtcreator_es.ts +++ b/share/qtcreator/translations/qtcreator_es.ts @@ -513,7 +513,7 @@ - CodePaster::CodepasterPlugin + CodePaster &CodePaster @@ -542,9 +542,6 @@ Waiting for items Esperando items - - - CodePaster::CustomFetcher CodePaster Error Error de CodePaster @@ -553,20 +550,10 @@ Could not fetch code No se pudo obtener el código - - - CodePaster::CustomPoster - - CodePaster Error - Error de CodePaster - Some error occured while posting Ocurrió algún error mientras se enviaba el código - - - CodePaster::PasteSelectDialog Paste: Pegar: @@ -576,9 +563,6 @@ Protocol: - - - CodePaster::SettingsPage CodePaster Server: Servidor CodePaster: @@ -12128,14 +12112,11 @@ p, li { white-space: pre-wrap; } - CodePaster::CodePasterProtocol + CodePaster No such paste - - - CodePaster::CodePasterSettingsPage CodePaster diff --git a/share/qtcreator/translations/qtcreator_fr.ts b/share/qtcreator/translations/qtcreator_fr.ts index e52782e72ca..477a51b6798 100644 --- a/share/qtcreator/translations/qtcreator_fr.ts +++ b/share/qtcreator/translations/qtcreator_fr.ts @@ -559,7 +559,7 @@ - CodePaster::CodepasterPlugin + CodePaster &CodePaster &CodePaster @@ -617,13 +617,6 @@ This protocol supports no listing Ce protocole ne prend en charge le listage - - Waiting for items - En attente des éléments - - - - CodePaster::CustomFetcher CodePaster Error Erreur dans CodePaster @@ -632,29 +625,10 @@ Could not fetch code Impossible de récuperer le code - - - CodePaster::CustomPoster - - CodePaster Error - Erreur dans CodePaster - Some error occured while posting Une erreur s'est produite lors de la publication - - - CodePaster::PasteSelectDialog - - Paste: - quelque chose de plus français pour la référence de paste? - Collage : - - - Protocol: - Protocole : - Refresh Rafraîchir @@ -667,61 +641,10 @@ This protocol does not support listing Ce protocole ne prend en charge le listage - - - CodePaster::SettingsPage General Général - - CodePaster Server: - Serveur CodePaster : - - - Username: - Nom d'utilisateur : - - - Copy Paste URL to clipboard - Copier l'URL dans le presse papier - - - Display Output Pane after sending a post - Afficher le résultat après publication - - - CodePaster - CodePaster - - - Default Protocol: - Protocole par défaut : - - - Pastebin.ca - Pastebin.ca - - - Pastebin.com - Pastebin.com - - - Code Pasting - Collage de code - - - Display Output pane after sending a post - Afficher le résultat après publication - - - Copy-paste URL to clipboard - Copier l'URL dans le presse papier - - - Default protocol: - Protocole par défaut : - CompletionSettingsPage @@ -19088,7 +19011,7 @@ p, li { white-space: pre-wrap; }
- CodePaster::CodePasterProtocol + CodePaster No Server defined in the CodePaster preferences! Aucun serveur définit dans les préférences CodePaster ! @@ -19109,9 +19032,6 @@ p, li { white-space: pre-wrap; } No such paste Aucun collage de ce type - - - CodePaster::CodePasterSettingsPage CodePaster CodePaster @@ -19120,10 +19040,6 @@ p, li { white-space: pre-wrap; } <i>Note: Specify the host name for the CodePaster service without any protocol prepended (e.g. codepaster.mycompany.com).</i> <i>Note : spécifier le nom d'hôte pour le service CodePaster sans aucun protocole (par exemple, codepaster.mycompany.com).</i> - - Code Pasting - Collage de code - Server: Serveur : @@ -21364,31 +21280,6 @@ S60 emulator run configuration default display name, %1 is base pro-File nameRestaurer les paramètres par défaut - - CodePaster::FileShareProtocolSettingsWidget - - Form - Formulaire - - - &Path: - Che&min : - - - &Display: - &Afficher : - - - entries - Entrées - - - The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted. - J'ai traduis "fileshare". Mais la phrase me semble lourde... -cédric : je pense qu'il faut laisser comme ça moi ou alors carrément enlever "basé sur le partage de fichiers" mais du coup on en perd en route ... (j'ai changé "Les fichiers" en "Ces fichiers", je trouve que ça fait moins pompeux. - Le protocole de collage basé sur le partage de fichier permet de partager des fragments de code en utilisant de simples fichiers sur un disque réseau partagé. Ces fichiers ne sont jamais effacés. - - Git::Internal::StashDialog @@ -24343,9 +24234,6 @@ avec un mot de passe, que vous pouvez renseigner ci-dessus. Code Pasting Collage de code - - - CodePaster::FileShareProtocol Cannot open %1: %2 Imposible d'ouvrir %1 : %2 @@ -24370,23 +24258,10 @@ avec un mot de passe, que vous pouvez renseigner ci-dessus. Pasted: %1 Copié : %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Fileshare - - - CodePaster::PasteBinDotComSettings - - Pastebin.com - Pastebin.com - - - - CodePaster::PasteView <Comment> <Commentaire> @@ -24395,9 +24270,6 @@ avec un mot de passe, que vous pouvez renseigner ci-dessus. Paste Coller - - - CodePaster::Protocol %1 - Configuration Error %1 - Erreur de configuration @@ -29168,7 +29040,7 @@ La liste du serveur était %2. - CodePaster::NetworkProtocol + CodePaster Checking connection Vérification de la connexion @@ -38770,7 +38642,7 @@ Would you like to overwrite them? - CodePaster::PasteBinDotComProtocol + CodePaster <Unknown> Unknown user of paste. @@ -43082,7 +42954,7 @@ Filtre : %2 - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster Form Formulaire @@ -43103,13 +42975,6 @@ Filtre : %2 entries Entrées - - - CodePaster::Internal::PasteBinComSettingsWidget - - Form - Formulaire - <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> permet d'envoyer d'envoyer des messages à des sous-domaines personnalisés (comme creator.pastebin.com). Remplissez le préfixe désiré. @@ -43122,9 +42987,6 @@ Filtre : %2 <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Note : le plug-in utilisera ceci pour poster et récupérer. </i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Protocole : @@ -43133,17 +42995,10 @@ Filtre : %2 Paste: Collage : - - - CodePaster::Internal::ViewDialog Send to Codepaster Envoyer sur Codepaster - - Protocol: - Protocole : - &Username: &Utilisateur : @@ -43192,9 +43047,6 @@ p, li { white-space: pre-wrap; } &Expires after: &Expire après : - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post Afficher le résultat après publication @@ -43211,14 +43063,6 @@ p, li { white-space: pre-wrap; } Default protocol: Protocole par défaut : - - &Expires after: - &Expire après : - - - Days - Jours - CppTools::Internal::CppFileSettingsPage diff --git a/share/qtcreator/translations/qtcreator_hr.ts b/share/qtcreator/translations/qtcreator_hr.ts index 6ec3f67dd44..aa0101eeb40 100644 --- a/share/qtcreator/translations/qtcreator_hr.ts +++ b/share/qtcreator/translations/qtcreator_hr.ts @@ -2939,7 +2939,7 @@ Za to upiši ovaj prečac i jedan razmak u polje za unos mjesta, a zatim riječ
- CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted. Protokol lijepljenja temeljen na programu za zajedničko korištenje datoteka, omogućuje dijeljenje isječaka kȏda pomoću jednostavnih datoteka na zajedničkom mrežnom pogonu. Datoteke se nikad ne brišu. @@ -2956,9 +2956,6 @@ Za to upiši ovaj prečac i jedan razmak u polje za unos mjesta, a zatim riječ entries unosa - - - CodePaster::Internal::PasteBinComSettingsWidget <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> omogućuje slanje članaka na prilagođene poddomene (npr. creator.pastebin.com). Unesi željeni prefiks. @@ -2971,9 +2968,6 @@ Za to upiši ovaj prečac i jedan razmak u polje za unos mjesta, a zatim riječ <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Napomena: Dodatak će koristiti prefiks za slanje i za dohvaćanje.</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Protokol: @@ -2982,17 +2976,10 @@ Za to upiši ovaj prečac i jedan razmak u polje za unos mjesta, a zatim riječ Paste: Zalijepi: - - - CodePaster::Internal::ViewDialog Send to Codepaster Pošalji na Codepaster - - Protocol: - Protokol: - &Username: &Korisničko ime: @@ -3041,9 +3028,6 @@ p, li { white-space: pre-wrap; } Patch 2 Zakrpa 2 - - - CodePaster::Internal::SettingsPage Copy-paste URL to clipboard Kopiraj-zalijepi URL u međuspremnik @@ -3052,10 +3036,6 @@ p, li { white-space: pre-wrap; } Default protocol: Zadani protokol: - - &Expires after: - &Isteći će nakon: - Display Output pane after sending a post Pirkaži ploču izrade nakon slanja članka @@ -3064,10 +3044,6 @@ p, li { white-space: pre-wrap; } Username: Korisničko ime: - - Days - dana - CppCodeModelInspectorDialog @@ -20454,18 +20430,11 @@ u kontrolu verzija (%2)
- CodePaster::AuthenticationDialog - - Username: - Korisničko ime: - + CodePaster Password: Lozinka: - - - CodePaster::CodepasterPlugin &Code Pasting &Lijepljenje kȏda @@ -20510,9 +20479,6 @@ u kontrolu verzija (%2) Empty snippet received for "%1". Dobiven je prazan isječak za "%1". - - - CodePaster::FileShareProtocol Cannot open %1: %2 Nije moguće otvoriti %1: %2 @@ -20533,16 +20499,10 @@ u kontrolu verzija (%2) Pasted: %1 Zalijepljeno: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Dijeljenje datoteka - - - CodePaster::KdePasteProtocol Pasting to KDE paster needs authentication.<br/>Enter your KDE Identity credentials to continue. Za lijepljenje u KDE paster je potrebna autenticikacija.<br/>Upiši tvoje podatke za KDE identifikaciju za nastavljanje. @@ -20551,16 +20511,10 @@ u kontrolu verzija (%2) Login failed Neuspjela prijava - - - CodePaster::PasteCodeDotXyzProtocol %1: %2 %1: %2 - - - CodePaster::PasteSelectDialog Refresh Aktualiziraj @@ -20573,9 +20527,6 @@ u kontrolu verzija (%2) This protocol does not support listing Ovaj protokol ne podržava popis - - - CodePaster::PasteView <Comment> <Komentar> @@ -20584,16 +20535,10 @@ u kontrolu verzija (%2) Paste Zalijepi - - - CodePaster::Protocol %1 - Configuration Error %1 – Greška u konfiguraciji - - - CodePaster::NetworkProtocol Pasting needs authentication.<br/>Enter your identity credentials to continue. Za lijepljenje je potrebna autenticikacija.<br/>Upiši tvoje podatke za identifikaciju za nastavljanje. @@ -20610,16 +20555,10 @@ u kontrolu verzija (%2) Connecting to %1... Povezivanje na %1 … - - - CodePaster::SettingsPage General Opće - - - CodePaster Code Pasting Lijepljenje kȏda diff --git a/share/qtcreator/translations/qtcreator_hu.ts b/share/qtcreator/translations/qtcreator_hu.ts index 3a476f8ef75..191fbb524f5 100644 --- a/share/qtcreator/translations/qtcreator_hu.ts +++ b/share/qtcreator/translations/qtcreator_hu.ts @@ -853,7 +853,7 @@ - CodePaster::0 + CodePaster &CodePaster &KódBeillesztő @@ -918,9 +918,6 @@ CodePaster KódBeillesztés - - - CodePaster::CodePasterProtocol No Server defined in the CodePaster preferences. Nincsen szerver definiálva a KódBeillesztő beállításokban. @@ -933,9 +930,6 @@ No such paste Nincs ilyen beillesztés - - - CodePaster::CodePasterSettingsPage CodePaster KódBeillesztés @@ -952,9 +946,6 @@ Note: Specify the host name for the CodePaster service without any protocol prepended (e.g. codepaster.mycompany.com). Megjegyzés: Határozza meg a hosz nevet a KódBeillesztő szolgáltatás számára. (például codepaster.mycompany.com). - - - CodePaster::CodepasterPlugin &Code Pasting &Kód beillesztés @@ -983,9 +974,6 @@ Waiting for items Elemekre várakozás - - - CodePaster::PasteSelectDialog Protocol: Protokoll: @@ -994,9 +982,6 @@ Paste: Beillesztés: - - - CodePaster::SettingsPage General Általános @@ -1005,10 +990,6 @@ Default Protocol: Alapértelmezett protokoll: - - CodePaster - KódBeillesztés - Pastebin.ca Pastebin.ca @@ -1029,10 +1010,6 @@ Display Output Pane after sending a post Kimeneti panel kijelzése egy küldés után - - Code Pasting - Kód beillesztés - CommonOptionsPage diff --git a/share/qtcreator/translations/qtcreator_it.ts b/share/qtcreator/translations/qtcreator_it.ts index 89996eb4c86..98c5e2e5c14 100644 --- a/share/qtcreator/translations/qtcreator_it.ts +++ b/share/qtcreator/translations/qtcreator_it.ts @@ -531,7 +531,7 @@
- CodePaster::CodepasterPlugin + CodePaster &CodePaster &CodePaster @@ -560,9 +560,6 @@ Waiting for items Sto aspettando gli elementi - - - CodePaster::CustomFetcher CodePaster Error Errore CodePaster @@ -571,20 +568,10 @@ Could not fetch code Non riesco a caricare il codice - - - CodePaster::CustomPoster - - CodePaster Error - Errore CodePaster - Some error occured while posting C'è stato un errore nella spedizione - - - CodePaster::PasteSelectDialog Paste: Incolla: @@ -594,9 +581,6 @@ Protocol: - - - CodePaster::SettingsPage CodePaster Server: Server CodePaster: @@ -11981,14 +11965,11 @@ p, li { white-space: pre-wrap; } - CodePaster::CodePasterProtocol + CodePaster No such paste - - - CodePaster::CodePasterSettingsPage CodePaster CodePaster diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index fe955d4fdd7..3c5af372adc 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -1814,7 +1814,7 @@ Local pulls are not applied to the master branch. - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster Form フォーム @@ -1835,13 +1835,6 @@ Local pulls are not applied to the master branch. entries エントリ - - - CodePaster::Internal::PasteBinComSettingsWidget - - Form - フォーム - <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> は、独自のサブドメイン(例:creator.pastebin.com)に送信する事もできます。希望するプレフィックスを入力してください。 @@ -1854,9 +1847,6 @@ Local pulls are not applied to the master branch. <i>Note: The plugin will use this for posting as well as fetching.</i> <i>注意: プラグインは受信時だけでなく送信時にも、この設定を使用します。</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: プロトコル: @@ -1865,17 +1855,10 @@ Local pulls are not applied to the master branch. Paste: 貼り付け: - - - CodePaster::Internal::ViewDialog Send to Codepaster Codepaster に送る - - Protocol: - プロトコル: - &Username: ユーザー名(&U): @@ -1928,9 +1911,6 @@ p, li { white-space: pre-wrap; } Make public: 公開する: - - - CodePaster::Internal::SettingsPage Copy-paste URL to clipboard 貼り付けた URL をクリップボードにコピーする @@ -1939,10 +1919,6 @@ p, li { white-space: pre-wrap; } Default protocol: 既定のプロトコル: - - &Expires after: - 有効期間(&E): - Display Output pane after sending a post 送信後にアウトプットペインを表示する @@ -1951,10 +1927,6 @@ p, li { white-space: pre-wrap; } Username: ユーザー名: - - Days - - Make pasted content public by default 貼り付けたコンテンツをデフォルトで公開 @@ -14827,9 +14799,6 @@ to version control (%2) Code Pasting コード貼り付け - - - CodePaster::CodepasterPlugin &Code Pasting コード貼り付け(&C) @@ -14874,9 +14843,6 @@ to version control (%2) Empty snippet received for "%1". "%1" から空のテンプレートを受信しました。 - - - CodePaster::FileShareProtocol Cannot open %1: %2 %1 を開けません: %2 @@ -14897,16 +14863,10 @@ to version control (%2) Pasted: %1 貼り付け: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Fileshare - - - CodePaster::PasteSelectDialog Refresh 更新 @@ -14919,9 +14879,6 @@ to version control (%2) This protocol does not support listing このプロトコルは一覧表示をサポートしていません - - - CodePaster::PasteView <Comment> <コメント> @@ -14930,16 +14887,10 @@ to version control (%2) Paste 貼り付け - - - CodePaster::Protocol %1 - Configuration Error %1 - 設定エラー - - - CodePaster::NetworkProtocol Checking connection 接続の確認 @@ -14948,9 +14899,6 @@ to version control (%2) Connecting to %1... %1 に接続中... - - - CodePaster::SettingsPage General 一般 diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts index 01f3e91bd11..23080705b2f 100644 --- a/share/qtcreator/translations/qtcreator_pl.ts +++ b/share/qtcreator/translations/qtcreator_pl.ts @@ -317,7 +317,7 @@ - CodePaster::PasteSelectDialog + CodePaster Refresh Odśwież @@ -330,9 +330,6 @@ This protocol does not support listing Ten protokół nie obsługuje wyświetlania zawartości - - - CodePaster::SettingsPage General Ogólne @@ -2766,7 +2763,7 @@ Kontynuować? - CodePaster::CodepasterPlugin + CodePaster &Code Pasting Wklejanie &kodu @@ -10989,9 +10986,6 @@ Dla projektów CMake, upewnij się, że zmienna QML_IMPORT_PATH jest obecna w CM Code Pasting Wklejanie kodu - - - CodePaster::PasteView <Comment> <Komentarz> @@ -12316,7 +12310,7 @@ które można ustawić poniżej. - CodePaster::FileShareProtocol + CodePaster Cannot open %1: %2 Nie można otworzyć %1: %2 @@ -12337,16 +12331,10 @@ które można ustawić poniżej. Pasted: %1 Wklejono: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Fileshare - - - CodePaster::Protocol %1 - Configuration Error %1 - Błąd konfiguracji @@ -13127,7 +13115,7 @@ Lista serwera: %2. - CodePaster::NetworkProtocol + CodePaster Checking connection Sprawdzanie połączenia @@ -19398,7 +19386,7 @@ Wykluczenia: %3 - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster Form Formularz @@ -19419,13 +19407,6 @@ Wykluczenia: %3 entries wpisów - - - CodePaster::Internal::PasteBinComSettingsWidget - - Form - Formularz - <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> pozwala wysyłać fragmenty kodu do własnych poddomen (np. creator.pastebin.com). Podaj przedrostek serwera. @@ -19438,9 +19419,6 @@ Wykluczenia: %3 <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Uwaga: wtyczka użyje go zarówno do wysyłania jak i pobierania fragmentów kodu.</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Protokół: @@ -19449,17 +19427,10 @@ Wykluczenia: %3 Paste: Wklej: - - - CodePaster::Internal::ViewDialog Send to Codepaster Wyślij do Codepaster - - Protocol: - Protokół: - &Username: Nazwa &użytkownika: @@ -19508,9 +19479,6 @@ p, li { white-space: pre-wrap; } Days Dni - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post Pokazuj panel z komunikatami po wysłaniu kodu @@ -19527,14 +19495,6 @@ p, li { white-space: pre-wrap; } Default protocol: Domyślny protokół: - - &Expires after: - Okr&es ważności: - - - Days - Dni - CppTools::Internal::CppFileSettingsPage @@ -41850,18 +41810,11 @@ Błąd: %2
- CodePaster::AuthenticationDialog - - Username: - Nazwa użytkownika: - + CodePaster Password: Hasło: - - - CodePaster::KdePasteProtocol Pasting to KDE paster needs authentication.<br/>Enter your KDE Identity credentials to continue. diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index e57961385d6..f98f65589d6 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -8351,9 +8351,6 @@ Set a valid executable first. Code Pasting Вставка кода - - - CodePaster::CodepasterPlugin &Code Pasting Вставка &Кода @@ -8398,16 +8395,10 @@ Set a valid executable first. Empty snippet received for "%1". Для «%1» получен пустой фрагмент. - - - CodePaster::DPasteDotComProtocol %1: %2 %1: %2 - - - CodePaster::FileShareProtocol Cannot open %1: %2 Не удалось открыть %1: %2 @@ -8428,16 +8419,10 @@ Set a valid executable first. Pasted: %1 Вставлен: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Общие файлы - - - CodePaster::Internal::FileShareProtocolSettingsWidget The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted. Протокол на базе общих файлов позволяет публиковать фрагменты кода используя обычные файлы на общем сетевом диске. Файлы никогда не удаляются. @@ -8454,9 +8439,6 @@ Set a valid executable first. entries записей - - - CodePaster::Internal::PasteBinComSettingsWidget <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> позволяет отправлять данные на пользовательские субдомены (например, creator.pastebin.com). Поэтому укажите желаемый префикс. @@ -8469,9 +8451,6 @@ Set a valid executable first. <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Модуль будет использовать префикс, как для отправки, так и для получения.</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Протокол: @@ -8480,9 +8459,6 @@ Set a valid executable first. Paste: Вставить: - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post Отправив данные, показать окно вывода @@ -8511,17 +8487,10 @@ Set a valid executable first. Make pasted content public by default По умолчанию публиковать вставляемую информацию - - - CodePaster::Internal::ViewDialog Send to Codepaster Отправить в Codepaster - - Protocol: - Протокол: - &Username: &Пользователь: @@ -8560,21 +8529,10 @@ p, li { white-space: pre-wrap; } Patch 2 - - &Expires after: - &Истекает через: - - - Days - дней - Make public: Публиковать: - - - CodePaster::NetworkProtocol Checking connection Проверка соединения @@ -8583,9 +8541,6 @@ p, li { white-space: pre-wrap; } Connecting to %1... Подключение к %1... - - - CodePaster::PasteSelectDialog Refresh Обновить @@ -8598,9 +8553,6 @@ p, li { white-space: pre-wrap; } This protocol does not support listing Данный протокол не поддерживает получение списка - - - CodePaster::PasteView Paste Вставить @@ -8609,16 +8561,10 @@ p, li { white-space: pre-wrap; } <Comment> <Комментарий> - - - CodePaster::Protocol %1 - Configuration Error %1 - ошибка конфигурации - - - CodePaster::SettingsPage General Основное diff --git a/share/qtcreator/translations/qtcreator_sl.ts b/share/qtcreator/translations/qtcreator_sl.ts index d84625d9ddc..da207332c60 100644 --- a/share/qtcreator/translations/qtcreator_sl.ts +++ b/share/qtcreator/translations/qtcreator_sl.ts @@ -467,7 +467,7 @@ - CodePaster::CodepasterPlugin + CodePaster &Code Pasting &Lepljenje kode @@ -496,9 +496,6 @@ Empty snippet received for "%1". Za »%1« je bil prejet prazen izrezek. - - - CodePaster::PasteSelectDialog Paste: Prilepi: @@ -520,9 +517,6 @@ This protocol does not support listing Protokol ne podpira izpisa seznama - - - CodePaster::SettingsPage Username: Uporabniško ime: @@ -12253,7 +12247,7 @@ Za uporabo v polje Iskalnika vtipkajte to bližnjico in presledek ter nato iskan - CodePaster::CodePasterProtocol + CodePaster No Server defined in the CodePaster preferences. V nastavitvah za CodePaster ni določenega nobenega strežnika. @@ -12266,9 +12260,6 @@ Za uporabo v polje Iskalnika vtipkajte to bližnjico in presledek ter nato iskan No such paste Tak prilepek ne obstaja - - - CodePaster::CodePasterSettingsPage CodePaster CodePaster @@ -13605,7 +13596,7 @@ Razlog: %2 - CodePaster::FileShareProtocolSettingsWidget + CodePaster Form Obrazec @@ -15641,9 +15632,6 @@ Desetiška predznačena vrednost (najprej veliki konec): %4 Code Pasting Prilepljanje kode - - - CodePaster::FileShareProtocol Cannot open %1: %2 Ni moč odpreti %1: %2 @@ -15668,23 +15656,14 @@ Desetiška predznačena vrednost (najprej veliki konec): %4 Unable to open a file for writing in %1: %2 Datoteke ni moč odpreti za pisanje v %1: %2 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Fileshare - - - CodePaster::PasteBinDotComSettings Pastebin.com Pastebin.com - - - CodePaster::PasteView <Comment> <komentar> @@ -15693,9 +15672,6 @@ Desetiška predznačena vrednost (najprej veliki konec): %4 Paste Prilepi - - - CodePaster::Protocol %1 - Configuration Error %1 - Napaka pri nastavitvi @@ -23045,16 +23021,13 @@ Vedite: to lahko odstrani krajevno datoteko. - CodePaster::PasteBinDotComProtocol + CodePaster <Unknown> Unknown user of paste. <neznano> - - - CodePaster::NetworkProtocol Checking connection Preverjanje povezave diff --git a/share/qtcreator/translations/qtcreator_uk.ts b/share/qtcreator/translations/qtcreator_uk.ts index 8540a1e01ac..d1eac66034b 100644 --- a/share/qtcreator/translations/qtcreator_uk.ts +++ b/share/qtcreator/translations/qtcreator_uk.ts @@ -1314,9 +1314,6 @@ Local pulls are not applied to the master branch. Code Pasting Вставка коду - - - CodePaster::CodePasterProtocol No Server defined in the CodePaster preferences. Не вказано сервер в налаштуваннях CodePaster. @@ -1329,9 +1326,6 @@ Local pulls are not applied to the master branch. No such paste Немає такої вставки - - - CodePaster::CodePasterSettingsPage CodePaster CodePaster @@ -1344,9 +1338,6 @@ Local pulls are not applied to the master branch. <i>Note: Specify the host name for the CodePaster service without any protocol prepended (e.g. codepaster.mycompany.com).</i> <i>Примітка: Задайте назву вузла сервісу, не вказуючи протокол (наприклад. codepaster.mycompany.com).</i> - - - CodePaster::CodepasterPlugin &Code Pasting Вставка &коду @@ -1395,9 +1386,6 @@ Local pulls are not applied to the master branch. Empty snippet received for "%1". Отримано порожній фрагмент для "%1". - - - CodePaster::FileShareProtocol Cannot open %1: %2 Неможливо відкрити %1: %2 @@ -1418,16 +1406,10 @@ Local pulls are not applied to the master branch. Pasted: %1 Вставлено: %1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare Fileshare - - - CodePaster::NetworkProtocol Checking connection Перевірка підключення @@ -1436,9 +1418,6 @@ Local pulls are not applied to the master branch. Connecting to %1... Підключення до %1... - - - CodePaster::PasteSelectDialog Refresh Оновити @@ -1451,9 +1430,6 @@ Local pulls are not applied to the master branch. This protocol does not support listing Цей протокол не підтримує отримання списку - - - CodePaster::PasteView <Comment> <Коментар> @@ -1462,9 +1438,6 @@ Local pulls are not applied to the master branch. Paste Вставити - - - CodePaster::Protocol %1 - Configuration Error %1 - помилка конфігурації @@ -1473,9 +1446,6 @@ Local pulls are not applied to the master branch. Settings... Налаштування... - - - CodePaster::SettingsPage General Загальне @@ -24729,7 +24699,7 @@ With cache simulation, further event counters are enabled: - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster Form Форма @@ -24750,13 +24720,6 @@ With cache simulation, further event counters are enabled: entries елементів - - - CodePaster::Internal::PasteBinComSettingsWidget - - Form - Форма - <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> дозволяє надсилати дані до піддоменів користувача (наприклад. creator.pastebin.com). Вкажіть бажаний префікс. @@ -24769,9 +24732,6 @@ With cache simulation, further event counters are enabled: <i>Note: The plugin will use this for posting as well as fetching.</i> <i>Примітка: Додаток буде використовувати цей префікс і для отримання даних.</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: Протокол: @@ -24780,17 +24740,10 @@ With cache simulation, further event counters are enabled: Paste: Вставка: - - - CodePaster::Internal::ViewDialog Send to Codepaster Надіслати до Codepaster - - Protocol: - Протокол: - &Username: &Ім'я користувача: @@ -24843,9 +24796,6 @@ p, li { white-space: pre-wrap; } Days днів - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post Показати панель виведення після надсилання @@ -24862,18 +24812,6 @@ p, li { white-space: pre-wrap; } Default protocol: Типовий протокол: - - &Expires after: - &Застаріє через: - - - Days - днів - - - Days - днів - CppTools::Internal::CppFileSettingsPage diff --git a/share/qtcreator/translations/qtcreator_zh_CN.ts b/share/qtcreator/translations/qtcreator_zh_CN.ts index da0ac9eea7e..9c5aea526b5 100644 --- a/share/qtcreator/translations/qtcreator_zh_CN.ts +++ b/share/qtcreator/translations/qtcreator_zh_CN.ts @@ -622,7 +622,7 @@
- CodePaster::CodepasterPlugin + CodePaster &Code Pasting 粘贴代码(&C) @@ -671,25 +671,6 @@ Empty snippet received for "%1". "%1"接收到空的片段。 - - This protocol supports no listing - 此协议不支持listing - - - Waiting for items - 等待数据项 - - - - CodePaster::PasteSelectDialog - - Paste: - 粘贴: - - - Protocol: - 协议: - Refresh 刷新 @@ -702,13 +683,6 @@ This protocol does not support listing 此协议不支持列表 - - - CodePaster::SettingsPage - - Username: - 用户名: - Copy Paste URL to clipboard 复制URL到剪贴板 @@ -721,30 +695,6 @@ General 概要 - - CodePaster - CodePaster - - - Default Protocol: - 默认协议: - - - Code Pasting - 代码粘贴 - - - Default protocol: - 默认协议: - - - Display Output pane after sending a post - 发送后显示输出对话框 - - - Copy-paste URL to clipboard - 复制/粘帖URL到剪贴板 - CompletionSettingsPage @@ -17629,7 +17579,7 @@ Will not be applied to whitespace in comments and strings.
- CodePaster::CodePasterProtocol + CodePaster No Server defined in the CodePaster preferences. 在CodePaster首选项中没有定义服务器。 @@ -17642,9 +17592,6 @@ Will not be applied to whitespace in comments and strings. No such paste 没有相关粘贴 - - - CodePaster::CodePasterSettingsPage CodePaster CodePaster @@ -17653,10 +17600,6 @@ Will not be applied to whitespace in comments and strings. <i>Note: Specify the host name for the CodePaster service without any protocol prepended (e.g. codepaster.mycompany.com).</i> <i>注意: 为CodePaster服务指定主机名,不包括任何协议前缀。(如 codepaster.mycompany.com).</i> - - Code Pasting - 代码粘贴 - Server: 服务器: @@ -22262,14 +22205,11 @@ Previous decimal signed value (big endian): %4 - CodePaster::PasteBinDotComSettings + CodePaster Pastebin.com Pastebin.com - - - CodePaster::PasteView <Comment> <注释> @@ -25493,30 +25433,6 @@ Preselects Qt for Simulator and mobile targets if available 关于Bauhaus - - CodePaster::FileShareProtocolSettingsWidget - - Form - 界面 - - - &Path: - 路径(&P): - - - &Display: - 显示(&D): - - - entries - - - - The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted. - 文件共享剪贴板允许在共享的驱动器上共享代码片段. -文件永远不会被删除. - - StartExternalQmlDialog @@ -25757,7 +25673,7 @@ with a password, which you can enter below. - CodePaster::FileShareProtocol + CodePaster Cannot open %1: %2 无法打开%1 : %2 @@ -25782,16 +25698,10 @@ with a password, which you can enter below. Pasted: %1 粘贴了 "%1" - - - CodePaster::FileShareProtocolSettingsPage Fileshare 文件共享 - - - CodePaster::Protocol %1 - Configuration Error %1 - 配置错误 @@ -27839,7 +27749,7 @@ Server list was %2. - CodePaster::NetworkProtocol + CodePaster Checking connection 正在检查连接 @@ -38744,7 +38654,7 @@ stderr was: %1 - CodePaster::PasteBinDotComProtocol + CodePaster <Unknown> Unknown user of paste. @@ -41705,7 +41615,7 @@ This option is useful when you want to try your application on devices which don - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster Form 界面 @@ -41726,13 +41636,6 @@ This option is useful when you want to try your application on devices which don entries - - - CodePaster::Internal::PasteBinComSettingsWidget - - Form - 界面 - <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> 允许发送主题到自定义子域名,(比如. creator.pastebin.com),请输入您希望的前缀。 @@ -41745,9 +41648,6 @@ This option is useful when you want to try your application on devices which don <i>Note: The plugin will use this for posting as well as fetching.</i> <i>注意: 插件将会使用它来获取和发布。</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: 协议: @@ -41756,17 +41656,10 @@ This option is useful when you want to try your application on devices which don Paste: 粘贴: - - - CodePaster::Internal::ViewDialog Send to Codepaster 发送到CodePaster - - Protocol: - 协议: - &Username: 用户名(&U): @@ -41807,9 +41700,6 @@ p, li { white-space: pre-wrap; } Patch 2 Patch 2 - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post 发送后显示输出对话框 diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index 772519edca7..0cff87067cb 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -346,7 +346,7 @@ - CodePaster::CodepasterPlugin + CodePaster &Code Pasting 貼上代碼(&C) @@ -395,9 +395,6 @@ Empty snippet received for "%1". 接收到 "%1" 的空片段。 - - - CodePaster::PasteSelectDialog Refresh 刷新 @@ -410,9 +407,6 @@ This protocol does not support listing 此協定不支援列表 - - - CodePaster::SettingsPage General 一般 @@ -10709,7 +10703,7 @@ Will not be applied to whitespace in comments and strings. - CodePaster::CodePasterProtocol + CodePaster No Server defined in the CodePaster preferences. 在 CodePaster 喜好設定中沒有定義伺服器。 @@ -10722,9 +10716,6 @@ Will not be applied to whitespace in comments and strings. No such paste 沒有相關貼上內容 - - - CodePaster::CodePasterSettingsPage CodePaster CodePaster @@ -13034,7 +13025,7 @@ For qmlproject projects, use the importPaths property to add import paths. - CodePaster::PasteView + CodePaster <Comment> <註解> @@ -14698,7 +14689,7 @@ with a password, which you can enter below. - CodePaster::FileShareProtocol + CodePaster Cannot open %1: %2 無法開啟 %1:%2 @@ -14719,16 +14710,10 @@ with a password, which you can enter below. Pasted: %1 已貼上:%1 - - - CodePaster::FileShareProtocolSettingsPage Fileshare 檔案共享 - - - CodePaster::Protocol %1 - Configuration Error %1 - 設置錯誤 @@ -16062,7 +16047,7 @@ Server list was %2. - CodePaster::NetworkProtocol + CodePaster Checking connection 正在檢查連線 @@ -26305,7 +26290,7 @@ Filter: %2 - CodePaster::Internal::FileShareProtocolSettingsWidget + CodePaster Form 表單 @@ -26327,13 +26312,6 @@ Filter: %2 entries 條目 - - - CodePaster::Internal::PasteBinComSettingsWidget - - Form - 表單 - <a href="http://pastebin.com">pastebin.com</a> allows for sending posts to custom subdomains (eg. creator.pastebin.com). Fill in the desired prefix. <a href="http://pastebin.com">pastebin.com</a> 允許傳送主題到自定義子域名,(比如. creator.pastebin.com). 輸入你希望的前綴. @@ -26346,9 +26324,6 @@ Filter: %2 <i>Note: The plugin will use this for posting as well as fetching.</i> <i>注意:外掛程式將會使用此項來發佈與抓取。</i> - - - CodePaster::Internal::PasteSelectDialog Protocol: 協定: @@ -26357,17 +26332,10 @@ Filter: %2 Paste: 貼上: - - - CodePaster::Internal::ViewDialog Send to Codepaster 傳送至 CodePaster - - Protocol: - 協定: - &Username: 使用者名稱(&U): @@ -26408,9 +26376,6 @@ p, li { white-space: pre-wrap; } Patch 2 Patch 2 - - - CodePaster::Internal::SettingsPage Display Output pane after sending a post 發送後顯示輸出窗格 diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index eaeb1e5c302..edc3913ccdc 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -3,6 +3,7 @@ #include "cpasterplugin.h" +#include "cpastertr.h" #include "dpastedotcomprotocol.h" #include "fileshareprotocol.h" #include "pastebindotcomprotocol.h" @@ -44,8 +45,6 @@ namespace CodePaster { class CodePasterPluginPrivate : public QObject { - Q_DECLARE_TR_FUNCTIONS(CodePaster::CodepasterPlugin) - public: CodePasterPluginPrivate(); @@ -149,24 +148,24 @@ CodePasterPluginPrivate::CodePasterPluginPrivate() ActionContainer *toolsContainer = ActionManager::actionContainer(Core::Constants::M_TOOLS); ActionContainer *cpContainer = ActionManager::createMenu("CodePaster"); - cpContainer->menu()->setTitle(tr("&Code Pasting")); + cpContainer->menu()->setTitle(Tr::tr("&Code Pasting")); toolsContainer->addMenu(cpContainer); Command *command; - m_postEditorAction = new QAction(tr("Paste Snippet..."), this); + m_postEditorAction = new QAction(Tr::tr("Paste Snippet..."), this); command = ActionManager::registerAction(m_postEditorAction, "CodePaster.Post"); - command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? tr("Meta+C,Meta+P") : tr("Alt+C,Alt+P"))); + command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Meta+C,Meta+P") : Tr::tr("Alt+C,Alt+P"))); connect(m_postEditorAction, &QAction::triggered, this, &CodePasterPluginPrivate::pasteSnippet); cpContainer->addAction(command); - m_fetchAction = new QAction(tr("Fetch Snippet..."), this); + m_fetchAction = new QAction(Tr::tr("Fetch Snippet..."), this); command = ActionManager::registerAction(m_fetchAction, "CodePaster.Fetch"); - command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? tr("Meta+C,Meta+F") : tr("Alt+C,Alt+F"))); + command->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Meta+C,Meta+F") : Tr::tr("Alt+C,Alt+F"))); connect(m_fetchAction, &QAction::triggered, this, &CodePasterPluginPrivate::fetch); cpContainer->addAction(command); - m_fetchUrlAction = new QAction(tr("Fetch from URL..."), this); + m_fetchUrlAction = new QAction(Tr::tr("Fetch from URL..."), this); command = ActionManager::registerAction(m_fetchUrlAction, "CodePaster.FetchUrl"); connect(m_fetchUrlAction, &QAction::triggered, this, &CodePasterPluginPrivate::fetchUrl); cpContainer->addAction(command); @@ -268,7 +267,7 @@ void CodePasterPluginPrivate::fetchUrl() QUrl url; do { bool ok = true; - url = QUrl(QInputDialog::getText(ICore::dialogParent(), tr("Fetch from URL"), tr("Enter URL:"), QLineEdit::Normal, QString(), &ok)); + url = QUrl(QInputDialog::getText(ICore::dialogParent(), Tr::tr("Fetch from URL"), Tr::tr("Enter URL:"), QLineEdit::Normal, QString(), &ok)); if (!ok) return; } while (!url.isValid()); @@ -357,7 +356,7 @@ void CodePasterPluginPrivate::finishFetch(const QString &titleDescription, } if (content.isEmpty()) { MessageManager::writeDisrupting( - tr("Empty snippet received for \"%1\".").arg(titleDescription)); + Tr::tr("Empty snippet received for \"%1\".").arg(titleDescription)); return; } // If the mime type has a preferred suffix (cpp/h/patch...), use that for diff --git a/src/plugins/cpaster/dpastedotcomprotocol.cpp b/src/plugins/cpaster/dpastedotcomprotocol.cpp index 3f87884e652..107343f8236 100644 --- a/src/plugins/cpaster/dpastedotcomprotocol.cpp +++ b/src/plugins/cpaster/dpastedotcomprotocol.cpp @@ -3,6 +3,8 @@ #include "dpastedotcomprotocol.h" +#include "cpastertr.h" + #include #include @@ -124,8 +126,8 @@ bool DPasteDotComProtocol::checkConfiguration(QString * /*errorMessage*/) void DPasteDotComProtocol::reportError(const QString &message) { - const QString fullMessage = tr("%1: %2").arg(protocolName(), message); + const QString fullMessage = Tr::tr("%1: %2").arg(protocolName(), message); Core::MessageManager::writeDisrupting(fullMessage); } -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/dpastedotcomprotocol.h b/src/plugins/cpaster/dpastedotcomprotocol.h index 34842dda877..88662243a60 100644 --- a/src/plugins/cpaster/dpastedotcomprotocol.h +++ b/src/plugins/cpaster/dpastedotcomprotocol.h @@ -9,7 +9,6 @@ namespace CodePaster { class DPasteDotComProtocol : public NetworkProtocol { - Q_OBJECT public: static QString protocolName(); @@ -30,4 +29,4 @@ private: static void reportError(const QString &message); }; -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/fileshareprotocol.cpp b/src/plugins/cpaster/fileshareprotocol.cpp index 0212924c932..5251c18538b 100644 --- a/src/plugins/cpaster/fileshareprotocol.cpp +++ b/src/plugins/cpaster/fileshareprotocol.cpp @@ -2,6 +2,8 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "fileshareprotocol.h" + +#include "cpastertr.h" #include "fileshareprotocolsettingspage.h" #include @@ -74,7 +76,7 @@ static bool parse(const QString &fileName, QFile file(fileName); if (!file.open(QIODevice::ReadOnly|QIODevice::Text)) { - *errorMessage = FileShareProtocol::tr("Cannot open %1: %2").arg(fileName, file.errorString()); + *errorMessage = Tr::tr("Cannot open %1: %2").arg(fileName, file.errorString()); return false; } QXmlStreamReader reader(&file); @@ -83,7 +85,7 @@ static bool parse(const QString &fileName, const auto elementName = reader.name(); // Check start element if (elementCount == 0 && elementName != QLatin1String(pasterElementC)) { - *errorMessage = FileShareProtocol::tr("%1 does not appear to be a paster file.").arg(fileName); + *errorMessage = Tr::tr("%1 does not appear to be a paster file.").arg(fileName); return false; } // Parse elements @@ -97,7 +99,7 @@ static bool parse(const QString &fileName, } } if (reader.hasError()) { - *errorMessage = FileShareProtocol::tr("Error in %1 at %2: %3") + *errorMessage = Tr::tr("Error in %1 at %2: %3") .arg(fileName).arg(reader.lineNumber()).arg(reader.errorString()); return false; } @@ -108,7 +110,7 @@ bool FileShareProtocol::checkConfiguration(QString *errorMessage) { if (m_settings.path.value().isEmpty()) { if (errorMessage) - *errorMessage = tr("Please configure a path."); + *errorMessage = Tr::tr("Please configure a path."); return false; } return true; diff --git a/src/plugins/cpaster/fileshareprotocol.h b/src/plugins/cpaster/fileshareprotocol.h index 00820122cfe..262a8f77c58 100644 --- a/src/plugins/cpaster/fileshareprotocol.h +++ b/src/plugins/cpaster/fileshareprotocol.h @@ -15,8 +15,6 @@ class FileShareProtocolSettingsPage; class FileShareProtocol : public Protocol { - Q_OBJECT - public: FileShareProtocol(); ~FileShareProtocol() override; @@ -40,4 +38,4 @@ private: FileShareProtocolSettingsPage *m_settingsPage; }; -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp index 3661f6d9e28..dbbdbb862b7 100644 --- a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp +++ b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp @@ -2,6 +2,8 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "fileshareprotocolsettingspage.h" + +#include "cpastertr.h" #include "cpasterconstants.h" #include @@ -21,13 +23,13 @@ FileShareProtocolSettings::FileShareProtocolSettings() path.setDisplayStyle(StringAspect::PathChooserDisplay); path.setExpectedKind(PathChooser::ExistingDirectory); path.setDefaultValue(TemporaryDirectory::masterDirectoryPath()); - path.setLabelText(tr("&Path:")); + path.setLabelText(Tr::tr("&Path:")); registerAspect(&displayCount); displayCount.setSettingsKey("DisplayCount"); displayCount.setDefaultValue(10); - displayCount.setSuffix(' ' + tr("entries")); - displayCount.setLabelText(tr("&Display:")); + displayCount.setSuffix(' ' + Tr::tr("entries")); + displayCount.setLabelText(Tr::tr("&Display:")); } // Settings page @@ -35,14 +37,14 @@ FileShareProtocolSettings::FileShareProtocolSettings() FileShareProtocolSettingsPage::FileShareProtocolSettingsPage(FileShareProtocolSettings *settings) { setId("X.CodePaster.FileSharePaster"); - setDisplayName(FileShareProtocolSettings::tr("Fileshare")); + setDisplayName(Tr::tr("Fileshare")); setCategory(Constants::CPASTER_SETTINGS_CATEGORY); setSettings(settings); setLayouter([&s = *settings](QWidget *widget) { using namespace Layouting; - auto label = new QLabel(FileShareProtocolSettings::tr( + auto label = new QLabel(Tr::tr( "The fileshare-based paster protocol allows for sharing code snippets using " "simple files on a shared network drive. Files are never deleted.")); label->setWordWrap(true); diff --git a/src/plugins/cpaster/fileshareprotocolsettingspage.h b/src/plugins/cpaster/fileshareprotocolsettingspage.h index 78197f75e09..625d8ac071d 100644 --- a/src/plugins/cpaster/fileshareprotocolsettingspage.h +++ b/src/plugins/cpaster/fileshareprotocolsettingspage.h @@ -11,8 +11,6 @@ namespace CodePaster { class FileShareProtocolSettings : public Utils::AspectContainer { - Q_DECLARE_TR_FUNCTIONS(CodePaster::FileShareProtocolSettings) - public: FileShareProtocolSettings(); @@ -26,4 +24,4 @@ public: explicit FileShareProtocolSettingsPage(FileShareProtocolSettings *settings); }; -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/pastebindotcomprotocol.cpp b/src/plugins/cpaster/pastebindotcomprotocol.cpp index 852f41188e6..9aef023ec88 100644 --- a/src/plugins/cpaster/pastebindotcomprotocol.cpp +++ b/src/plugins/cpaster/pastebindotcomprotocol.cpp @@ -14,17 +14,17 @@ enum { debug = 0 }; -static const char PASTEBIN_BASE[]="https://pastebin.com/"; -static const char PASTEBIN_API[]="api/api_post.php"; -static const char PASTEBIN_RAW[]="raw/"; -static const char PASTEBIN_ARCHIVE[]="archive"; - -static const char API_KEY[]="api_dev_key=516686fc461fb7f9341fd7cf2af6f829&"; // user: qtcreator_apikey - -static const char PROTOCOL_NAME[] = "Pastebin.Com"; - namespace CodePaster { +const char PASTEBIN_BASE[]="https://pastebin.com/"; +const char PASTEBIN_API[]="api/api_post.php"; +const char PASTEBIN_RAW[]="raw/"; +const char PASTEBIN_ARCHIVE[]="archive"; + +const char API_KEY[]="api_dev_key=516686fc461fb7f9341fd7cf2af6f829&"; // user: qtcreator_apikey + +const char PROTOCOL_NAME[] = "Pastebin.Com"; + QString PasteBinDotComProtocol::protocolName() { return QLatin1String(PROTOCOL_NAME); @@ -470,4 +470,4 @@ void PasteBinDotComProtocol::listFinished() m_listReply = nullptr; } -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/pastebindotcomprotocol.h b/src/plugins/cpaster/pastebindotcomprotocol.h index 658b26a2812..740fbca7447 100644 --- a/src/plugins/cpaster/pastebindotcomprotocol.h +++ b/src/plugins/cpaster/pastebindotcomprotocol.h @@ -9,7 +9,6 @@ namespace CodePaster { class PasteBinDotComProtocol : public NetworkProtocol { - Q_OBJECT public: static QString protocolName(); QString name() const override { return protocolName(); } @@ -39,4 +38,4 @@ private: bool m_hostChecked = false; }; -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/pasteselectdialog.cpp b/src/plugins/cpaster/pasteselectdialog.cpp index 9c7fc6ae058..3454824fbf4 100644 --- a/src/plugins/cpaster/pasteselectdialog.cpp +++ b/src/plugins/cpaster/pasteselectdialog.cpp @@ -3,6 +3,7 @@ #include "pasteselectdialog.h" +#include "cpastertr.h" #include "protocol.h" #include @@ -37,7 +38,7 @@ PasteSelectDialog::PasteSelectDialog(const QList &protocols, QWidget auto buttons = new QDialogButtonBox(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); - m_refreshButton = buttons->addButton(tr("Refresh"), QDialogButtonBox::ActionRole); + m_refreshButton = buttons->addButton(Tr::tr("Refresh"), QDialogButtonBox::ActionRole); m_listWidget->setSelectionMode(QAbstractItemView::SingleSelection); if (!Utils::HostOsInfo::isMacHost()) @@ -52,8 +53,8 @@ PasteSelectDialog::PasteSelectDialog(const QList &protocols, QWidget using namespace Utils::Layouting; Column { Form { - tr("Protocol:"), m_protocolBox, br, - tr("Paste:"), m_pasteEdit + Tr::tr("Protocol:"), m_protocolBox, br, + Tr::tr("Paste:"), m_pasteEdit }, m_listWidget, buttons @@ -126,7 +127,7 @@ void PasteSelectDialog::list() m_listWidget->clear(); if (Protocol::ensureConfiguration(protocol, this)) { - m_listWidget->addItem(new QListWidgetItem(tr("Waiting for items"))); + m_listWidget->addItem(new QListWidgetItem(Tr::tr("Waiting for items"))); protocol->list(); } } @@ -139,7 +140,8 @@ void PasteSelectDialog::protocolChanged(int i) list(); } else { m_listWidget->clear(); - m_listWidget->addItem(new QListWidgetItem(tr("This protocol does not support listing"))); + m_listWidget->addItem(new QListWidgetItem(Tr::tr("This protocol does not support listing"))); } } -} // namespace CodePaster + +} // CodePaster diff --git a/src/plugins/cpaster/pasteselectdialog.h b/src/plugins/cpaster/pasteselectdialog.h index caf4f581e96..8c82adbe4ac 100644 --- a/src/plugins/cpaster/pasteselectdialog.h +++ b/src/plugins/cpaster/pasteselectdialog.h @@ -19,7 +19,6 @@ class Protocol; class PasteSelectDialog : public QDialog { - Q_OBJECT public: explicit PasteSelectDialog(const QList &protocols, QWidget *parent = nullptr); diff --git a/src/plugins/cpaster/pasteview.cpp b/src/plugins/cpaster/pasteview.cpp index e75ee805dab..5d3d9816ef9 100644 --- a/src/plugins/cpaster/pasteview.cpp +++ b/src/plugins/cpaster/pasteview.cpp @@ -4,6 +4,7 @@ #include "pasteview.h" #include "columnindicatortextedit.h" +#include "cpastertr.h" #include "protocol.h" #include @@ -26,36 +27,36 @@ #include #include +namespace CodePaster { + const char groupC[] = "CPaster"; const char heightKeyC[] = "PasteViewHeight"; const char widthKeyC[] = "PasteViewWidth"; -namespace CodePaster { - PasteView::PasteView(const QList &protocols, const QString &mt, QWidget *parent) : QDialog(parent), m_protocols(protocols), - m_commentPlaceHolder(tr("")), + m_commentPlaceHolder(Tr::tr("")), m_mimeType(mt) { resize(670, 678); - setWindowTitle(tr("Send to Codepaster")); + setWindowTitle(Tr::tr("Send to Codepaster")); m_protocolBox = new QComboBox; for (const Protocol *p : protocols) m_protocolBox->addItem(p->name()); m_expirySpinBox = new QSpinBox; - m_expirySpinBox->setSuffix(tr(" Days")); + m_expirySpinBox->setSuffix(Tr::tr(" Days")); m_expirySpinBox->setRange(1, 365); m_uiUsername = new QLineEdit(this); - m_uiUsername->setPlaceholderText(tr("")); + m_uiUsername->setPlaceholderText(Tr::tr("")); m_uiDescription = new QLineEdit(this); - m_uiDescription->setPlaceholderText(tr("")); + m_uiDescription->setPlaceholderText(Tr::tr("")); QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -78,7 +79,7 @@ PasteView::PasteView(const QList &protocols, m_uiPatchView->setFont(font); m_uiPatchView->setReadOnly(true); - auto groupBox = new QGroupBox(tr("Parts to Send to Server")); + auto groupBox = new QGroupBox(Tr::tr("Parts to Send to Server")); groupBox->setFlat(true); m_plainTextEdit = new QPlainTextEdit; @@ -89,7 +90,7 @@ PasteView::PasteView(const QList &protocols, m_stackedWidget->setCurrentIndex(0); auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); - buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Paste")); + buttonBox->button(QDialogButtonBox::Ok)->setText(Tr::tr("Paste")); const bool __sortingEnabled = m_uiPatchList->isSortingEnabled(); m_uiPatchList->setSortingEnabled(false); @@ -104,10 +105,10 @@ PasteView::PasteView(const QList &protocols, Column { Form { - tr("Protocol:"), m_protocolBox, br, - tr("&Expires after:"), m_expirySpinBox, br, - tr("&Username:"), m_uiUsername, br, - tr("&Description:"), m_uiDescription, + Tr::tr("Protocol:"), m_protocolBox, br, + Tr::tr("&Expires after:"), m_expirySpinBox, br, + Tr::tr("&Username:"), m_uiUsername, br, + Tr::tr("&Description:"), m_uiDescription, }, m_uiComment, m_stackedWidget, diff --git a/src/plugins/cpaster/pasteview.h b/src/plugins/cpaster/pasteview.h index 108e8881515..e6c11763857 100644 --- a/src/plugins/cpaster/pasteview.h +++ b/src/plugins/cpaster/pasteview.h @@ -24,8 +24,6 @@ class Protocol; class PasteView : public QDialog { - Q_OBJECT - public: enum Mode { @@ -83,4 +81,4 @@ private: Mode m_mode = DiffChunkMode; }; -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/protocol.cpp b/src/plugins/cpaster/protocol.cpp index 4e0ca214652..7f76f0d81bc 100644 --- a/src/plugins/cpaster/protocol.cpp +++ b/src/plugins/cpaster/protocol.cpp @@ -3,6 +3,8 @@ #include "protocol.h" +#include "cpastertr.h" + #include #include @@ -13,18 +15,16 @@ #include #include +#include +#include +#include #include #include -#include #include - -#include -#include -#include - -#include -#include +#include #include +#include +#include #include @@ -140,7 +140,7 @@ bool Protocol::showConfigurationError(const Protocol *p, if (!parent) parent = Core::ICore::dialogParent(); - const QString title = tr("%1 - Configuration Error").arg(p->name()); + const QString title = Tr::tr("%1 - Configuration Error").arg(p->name()); QMessageBox mb(QMessageBox::Warning, title, message, QMessageBox::Cancel, parent); QPushButton *settingsButton = nullptr; if (showConfig) @@ -197,8 +197,8 @@ bool NetworkProtocol::httpStatus(QString url, QString *errorMessage, bool useHtt } std::unique_ptr reply(httpGet(url)); QMessageBox box(QMessageBox::Information, - tr("Checking connection"), - tr("Connecting to %1...").arg(url), + Tr::tr("Checking connection"), + Tr::tr("Connecting to %1...").arg(url), QMessageBox::Cancel, Core::ICore::dialogParent()); connect(reply.get(), &QNetworkReply::finished, &box, &QWidget::close); @@ -219,4 +219,4 @@ bool NetworkProtocol::httpStatus(QString url, QString *errorMessage, bool useHtt return false; } -} //namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/protocol.h b/src/plugins/cpaster/protocol.h index d4f0db9b396..f5e15dbf3e2 100644 --- a/src/plugins/cpaster/protocol.h +++ b/src/plugins/cpaster/protocol.h @@ -82,8 +82,6 @@ protected: class NetworkProtocol : public Protocol { - Q_OBJECT - public: NetworkProtocol() = default; diff --git a/src/plugins/cpaster/settings.cpp b/src/plugins/cpaster/settings.cpp index b9046d1b526..f86c62029d8 100644 --- a/src/plugins/cpaster/settings.cpp +++ b/src/plugins/cpaster/settings.cpp @@ -4,6 +4,7 @@ #include "settings.h" #include "cpasterconstants.h" +#include "cpastertr.h" #include @@ -19,12 +20,12 @@ Settings::Settings() registerAspect(&username); username.setDisplayStyle(StringAspect::LineEditDisplay); username.setSettingsKey("UserName"); - username.setLabelText(tr("Username:")); + username.setLabelText(Tr::tr("Username:")); registerAspect(&protocols); protocols.setSettingsKey("DefaultProtocol"); protocols.setDisplayStyle(SelectionAspect::DisplayStyle::ComboBox); - protocols.setLabelText(tr("Default protocol:")); + protocols.setLabelText(Tr::tr("Default protocol:")); protocols.setToSettingsTransformation([this](const QVariant &val) { return protocols.displayForIndex(val.toInt()); }); @@ -35,18 +36,18 @@ Settings::Settings() registerAspect(&expiryDays); expiryDays.setSettingsKey("ExpiryDays"); expiryDays.setDefaultValue(1); - expiryDays.setSuffix(tr(" Days")); - expiryDays.setLabelText(tr("&Expires after:")); + expiryDays.setSuffix(Tr::tr(" Days")); + expiryDays.setLabelText(Tr::tr("&Expires after:")); registerAspect(©ToClipboard); copyToClipboard.setSettingsKey("CopyToClipboard"); copyToClipboard.setDefaultValue(true); - copyToClipboard.setLabelText(tr("Copy-paste URL to clipboard")); + copyToClipboard.setLabelText(Tr::tr("Copy-paste URL to clipboard")); registerAspect(&displayOutput); displayOutput.setSettingsKey("DisplayOutput"); displayOutput.setDefaultValue(true); - displayOutput.setLabelText(tr("Display General Messages after sending a post")); + displayOutput.setLabelText(Tr::tr("Display General Messages after sending a post")); } // SettingsPage @@ -54,9 +55,9 @@ Settings::Settings() SettingsPage::SettingsPage(Settings *settings) { setId("A.CodePaster.General"); - setDisplayName(Settings::tr("General")); + setDisplayName(Tr::tr("General")); setCategory(Constants::CPASTER_SETTINGS_CATEGORY); - setDisplayCategory(Settings::tr("Code Pasting")); + setDisplayCategory(Tr::tr("Code Pasting")); setCategoryIconPath(":/cpaster/images/settingscategory_cpaster.png"); setSettings(settings); @@ -77,4 +78,4 @@ SettingsPage::SettingsPage(Settings *settings) }); } -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/settings.h b/src/plugins/cpaster/settings.h index 17184d45580..1e37f6f8126 100644 --- a/src/plugins/cpaster/settings.h +++ b/src/plugins/cpaster/settings.h @@ -11,8 +11,6 @@ namespace CodePaster { class Settings : public Utils::AspectContainer { - Q_DECLARE_TR_FUNCTIONS(CodePaster::Settings) - public: Settings(); @@ -29,4 +27,4 @@ public: SettingsPage(Settings *settings); }; -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/stickynotespasteprotocol.cpp b/src/plugins/cpaster/stickynotespasteprotocol.cpp index a48a419ed1d..3d7edd41cd1 100644 --- a/src/plugins/cpaster/stickynotespasteprotocol.cpp +++ b/src/plugins/cpaster/stickynotespasteprotocol.cpp @@ -2,8 +2,8 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "stickynotespasteprotocol.h" -#ifdef CPASTER_PLUGIN_GUI -#endif + +#include "cpastertr.h" #include #include @@ -21,7 +21,9 @@ enum { debug = 0 }; -static inline QByteArray expiryParameter(int daysRequested) +namespace CodePaster { + +static QByteArray expiryParameter(int daysRequested) { // Obtained by 'pastebin.kde.org/api/json/parameter/expire' on 26.03.2014 static const int expiryTimesSec[] = {1800, 21600, 86400, 604800, 2592000, 31536000}; @@ -31,8 +33,6 @@ static inline QByteArray expiryParameter(int daysRequested) return QByteArray("expire=") + QByteArray::number(*match); } -namespace CodePaster { - void StickyNotesPasteProtocol::setHostUrl(const QString &hostUrl) { m_hostUrl = hostUrl; @@ -246,5 +246,4 @@ void StickyNotesPasteProtocol::listFinished() m_listReply = nullptr; } - -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/stickynotespasteprotocol.h b/src/plugins/cpaster/stickynotespasteprotocol.h index 264be22fd06..e497fac2d8d 100644 --- a/src/plugins/cpaster/stickynotespasteprotocol.h +++ b/src/plugins/cpaster/stickynotespasteprotocol.h @@ -9,7 +9,6 @@ namespace CodePaster { class StickyNotesPasteProtocol : public NetworkProtocol { - Q_OBJECT public: unsigned capabilities() const override; @@ -22,15 +21,12 @@ public: const QString &description = QString()) override; void list() override; - - QString hostUrl() const { return m_hostUrl; } void setHostUrl(const QString &hostUrl); -protected: +private: bool checkConfiguration(QString *errorMessage = nullptr) override; -private: void fetchFinished(); void pasteFinished(); void listFinished(); @@ -46,4 +42,4 @@ private: bool m_hostChecked = false; }; -} // namespace CodePaster +} // CodePaster diff --git a/src/plugins/cpaster/urlopenprotocol.cpp b/src/plugins/cpaster/urlopenprotocol.cpp index 39d1a3beb65..64c2029cabd 100644 --- a/src/plugins/cpaster/urlopenprotocol.cpp +++ b/src/plugins/cpaster/urlopenprotocol.cpp @@ -7,7 +7,7 @@ #include -using namespace CodePaster; +namespace CodePaster { QString UrlOpenProtocol::name() const { @@ -45,3 +45,5 @@ void UrlOpenProtocol::paste(const QString &, ContentType, int, const QString &, const QString &, const QString &) { } + +} // CodePaster diff --git a/src/plugins/cpaster/urlopenprotocol.h b/src/plugins/cpaster/urlopenprotocol.h index d6d16e56b11..8bc5695b018 100644 --- a/src/plugins/cpaster/urlopenprotocol.h +++ b/src/plugins/cpaster/urlopenprotocol.h @@ -9,7 +9,6 @@ namespace CodePaster { class UrlOpenProtocol : public NetworkProtocol { - Q_OBJECT public: QString name() const override; unsigned capabilities() const override; @@ -22,4 +21,4 @@ private: QNetworkReply *m_fetchReply = nullptr; }; -} // namespace CodePaster +} // CodePaster From 00741a7216804c7ae2e7b5d144f11bfb1d45872f Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 12:06:57 +0200 Subject: [PATCH 30/96] ModelEditor: Replace QQueue with QList No QQueue's specific API was used anyway. Change-Id: I6ac2d02c43ce4e3700589a4df97dd3f0983d23b9 Reviewed-by: hjk --- src/plugins/modeleditor/pxnodeutilities.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/plugins/modeleditor/pxnodeutilities.cpp b/src/plugins/modeleditor/pxnodeutilities.cpp index fc3482b2708..55775228d14 100644 --- a/src/plugins/modeleditor/pxnodeutilities.cpp +++ b/src/plugins/modeleditor/pxnodeutilities.cpp @@ -15,7 +15,7 @@ #include #include -#include +#include #include #include @@ -76,8 +76,8 @@ qmt::MPackage *PxNodeUtilities::createBestMatchingPackagePath( suggestedParent = dynamic_cast(suggestedParent->owner()); } - QQueue > roots; - roots.append(qMakePair(d->diagramSceneController->modelController()->rootPackage(), 0)); + QList> + roots{{d->diagramSceneController->modelController()->rootPackage(), 0}}; int maxChainLength = -1; int minChainDepth = -1; @@ -94,7 +94,7 @@ qmt::MPackage *PxNodeUtilities::createBestMatchingPackagePath( if (auto childPackage = dynamic_cast(handle.target())) { // only accept root packages in the same path as the suggested parent package if (suggestedParents.contains(childPackage)) { - roots.append(qMakePair(childPackage, depth + 1)); + roots.push_back({childPackage, depth + 1}); break; } } @@ -160,8 +160,7 @@ qmt::MPackage *PxNodeUtilities::createBestMatchingPackagePath( qmt::MObject *PxNodeUtilities::findSameObject(const QStringList &relativeElements, const qmt::MObject *object) { - QQueue roots; - roots.append(d->diagramSceneController->modelController()->rootPackage()); + QList roots{d->diagramSceneController->modelController()->rootPackage()}; while (!roots.isEmpty()) { qmt::MPackage *package = roots.takeFirst(); From 738803a4dadac0c9325ba455028d21bca60021ff Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 11:12:51 +0200 Subject: [PATCH 31/96] Various plugins: Limit the usage of qMakePair Change-Id: I9113dd47fb4f9026f3a732aebbd0aee31651b727 Reviewed-by: hjk --- src/plugins/classview/classviewmanager.cpp | 2 +- src/plugins/debugger/debuggerengine.cpp | 3 +-- src/plugins/git/gerrit/gerritpushdialog.cpp | 2 +- src/plugins/valgrind/callgrind/callgrindparser.cpp | 4 ++-- src/plugins/valgrind/valgrindmemcheckparsertest.cpp | 12 +++++------- src/plugins/valgrind/valgrindmemcheckparsertest.h | 4 ++-- 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/plugins/classview/classviewmanager.cpp b/src/plugins/classview/classviewmanager.cpp index e72bbb29954..90301a7c87c 100644 --- a/src/plugins/classview/classviewmanager.cpp +++ b/src/plugins/classview/classviewmanager.cpp @@ -99,7 +99,7 @@ void ManagerPrivate::resetParser() QHash> projectData; for (const Project *project : SessionManager::projects()) { projectData.insert(project->projectFilePath(), - qMakePair(project->displayName(), project->files(Project::SourceFiles))); + {project->displayName(), project->files(Project::SourceFiles)}); } QMetaObject::invokeMethod(m_parser, [this, projectData]() { m_parser->resetData(projectData); diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 828ca013b1d..326fa93b733 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -2829,8 +2829,7 @@ void CppDebuggerEngine::validateRunParameters(DebuggerRunParameters &rp) if (it.key().startsWith('(')) { const QString expanded = rp.macroExpander->expand(it.value()); if (!expanded.isEmpty()) - globalRegExpSourceMap.push_back( - qMakePair(QRegularExpression(it.key()), expanded)); + globalRegExpSourceMap.push_back({QRegularExpression(it.key()), expanded}); } } if (globalRegExpSourceMap.isEmpty()) diff --git a/src/plugins/git/gerrit/gerritpushdialog.cpp b/src/plugins/git/gerrit/gerritpushdialog.cpp index 3e6365191f3..00fd6836ffb 100644 --- a/src/plugins/git/gerrit/gerritpushdialog.cpp +++ b/src/plugins/git/gerrit/gerritpushdialog.cpp @@ -305,7 +305,7 @@ void GerritPushDialog::setRemoteBranches(bool includeOld) const QStringList remoteBranches = GitClient::instance()->synchronousRepositoryBranches(remoteName, m_workingDir); for (const QString &branch : remoteBranches) - m_remoteBranches.insertMulti(remoteName, qMakePair(branch, QDate())); + m_remoteBranches.insertMulti(remoteName, {branch, {}}); if (remoteBranches.isEmpty()) { m_ui->targetBranchComboBox->setEditable(true); m_ui->targetBranchComboBox->setToolTip( diff --git a/src/plugins/valgrind/callgrind/callgrindparser.cpp b/src/plugins/valgrind/callgrind/callgrindparser.cpp index 3b188d4029f..e012168001f 100644 --- a/src/plugins/valgrind/callgrind/callgrindparser.cpp +++ b/src/plugins/valgrind/callgrind/callgrindparser.cpp @@ -320,11 +320,11 @@ Parser::Private::NamePair Parser::Private::parseName(const char *begin, const ch if (*current == '(') { current++; if ((nameShorthand = parseNameShorthand(¤t, end)) == -1) - return qMakePair(qint64(-1), QString()); // error + return {qint64(-1), {}}; // error } skipSpace(¤t, end); - return qMakePair(nameShorthand, QString::fromUtf8(QByteArray(current, end - current))); + return {nameShorthand, QString::fromUtf8(QByteArray(current, end - current))}; } /* diff --git a/src/plugins/valgrind/valgrindmemcheckparsertest.cpp b/src/plugins/valgrind/valgrindmemcheckparsertest.cpp index 8b3b446b8d4..0d4253c4d13 100644 --- a/src/plugins/valgrind/valgrindmemcheckparsertest.cpp +++ b/src/plugins/valgrind/valgrindmemcheckparsertest.cpp @@ -284,13 +284,11 @@ void ValgrindMemcheckParserTest::testMemcheckSample1() expectedErrors << error; } - QVector > expectedErrorCounts; - expectedErrorCounts.push_back(QPair(9, 2)); - - QVector > expectedSuppCounts; - expectedSuppCounts.push_back(qMakePair(QString("X on SUSE11 writev uninit padding"), static_cast(12))); - expectedSuppCounts.push_back(qMakePair(QString("dl-hack3-cond-1"), static_cast(2))); - expectedSuppCounts.push_back(qMakePair(QString("glibc-2.5.x-on-SUSE-10.2-(PPC)-2a"), static_cast(2))); + const QVector> expectedErrorCounts{{9, 2}}; + const QVector> expectedSuppCounts{ + {QString("X on SUSE11 writev uninit padding"), 12}, + {QString("dl-hack3-cond-1"), 2}, + {QString("glibc-2.5.x-on-SUSE-10.2-(PPC)-2a"), 2}}; Parser parser; Recorder rec(&parser); diff --git a/src/plugins/valgrind/valgrindmemcheckparsertest.h b/src/plugins/valgrind/valgrindmemcheckparsertest.h index 12966b3a46b..2343a6fcec1 100644 --- a/src/plugins/valgrind/valgrindmemcheckparsertest.h +++ b/src/plugins/valgrind/valgrindmemcheckparsertest.h @@ -51,12 +51,12 @@ public: void errorCount(qint64 unique, qint64 count) { - errorcounts.push_back(qMakePair(unique, count)); + errorcounts.push_back({unique, count}); } void suppressionCount(const QString &name, qint64 count) { - suppcounts.push_back(qMakePair(name, count)); + suppcounts.push_back({name, count}); } }; From d1e521d223f95097ae509344e552892b8f2ffaa3 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 11:40:32 +0200 Subject: [PATCH 32/96] Utils: Limit the usage of qMakePair Change-Id: I93eba395ddc580950a7eeb908555736ff48a3e3d Reviewed-by: hjk --- src/libs/utils/environment.cpp | 4 ++-- src/libs/utils/wizard.cpp | 32 ++++++++++++++++---------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/libs/utils/environment.cpp b/src/libs/utils/environment.cpp index d79c2dbe6cd..57b3b197244 100644 --- a/src/libs/utils/environment.cpp +++ b/src/libs/utils/environment.cpp @@ -61,7 +61,7 @@ void Environment::appendOrSet(const QString &key, const QString &value, const QS QTC_ASSERT(!key.contains('='), return ); const auto it = m_dict.findKey(key); if (it == m_dict.m_values.end()) { - m_dict.m_values.insert(DictKey(key, m_dict.nameCaseSensitivity()), qMakePair(value, true)); + m_dict.m_values.insert(DictKey(key, m_dict.nameCaseSensitivity()), {value, true}); } else { // Append unless it is already there const QString toAppend = sep + value; @@ -75,7 +75,7 @@ void Environment::prependOrSet(const QString &key, const QString &value, const Q QTC_ASSERT(!key.contains('='), return ); const auto it = m_dict.findKey(key); if (it == m_dict.m_values.end()) { - m_dict.m_values.insert(DictKey(key, m_dict.nameCaseSensitivity()), qMakePair(value, true)); + m_dict.m_values.insert(DictKey(key, m_dict.nameCaseSensitivity()), {value, true}); } else { // Prepend unless it is already there const QString toPrepend = value + sep; diff --git a/src/libs/utils/wizard.cpp b/src/libs/utils/wizard.cpp index b1072267f67..31ef7dce28e 100644 --- a/src/libs/utils/wizard.cpp +++ b/src/libs/utils/wizard.cpp @@ -208,8 +208,8 @@ void LinearProgressWidget::recreateLayout() { disableUpdates(); - QMap::ConstIterator it = m_itemToItemWidget.constBegin(); - QMap::ConstIterator itEnd = m_itemToItemWidget.constEnd(); + auto it = m_itemToItemWidget.constBegin(); + const auto itEnd = m_itemToItemWidget.constEnd(); while (it != itEnd) { it.value()->setVisible(false); ++it; @@ -243,8 +243,8 @@ void LinearProgressWidget::updateProgress() QList visitedItems = m_wizardProgress->visitedItems(); - QMap::ConstIterator it = m_itemToItemWidget.constBegin(); - QMap::ConstIterator itEnd = m_itemToItemWidget.constEnd(); + auto it = m_itemToItemWidget.constBegin(); + const auto itEnd = m_itemToItemWidget.constEnd(); while (it != itEnd) { WizardProgressItem *item = it.key(); ProgressItemWidget *itemWidget = it.value(); @@ -636,12 +636,12 @@ QList WizardProgressPrivate::singlePathBetween(WizardProgr if (item->nextItems().contains(toItem)) return {toItem}; - QHash > visitedItemsToParents; - QList > workingItems; // next to prev item + QHash> visitedItemsToParents; + QList> workingItems; // next to prev item - QList items = item->nextItems(); - for (int i = 0; i < items.count(); i++) - workingItems.append(qMakePair(items.at(i), item)); + const QList items = item->nextItems(); + for (WizardProgressItem *i : items) + workingItems.push_back({i, item}); while (!workingItems.isEmpty()) { QPair workingItem = workingItems.takeFirst(); @@ -651,16 +651,16 @@ QList WizardProgressPrivate::singlePathBetween(WizardProgr if (parents.count() > 1) continue; - QList items = workingItem.first->nextItems(); - for (int i = 0; i < items.count(); i++) - workingItems.append(qMakePair(items.at(i), workingItem.first)); + const QList items = workingItem.first->nextItems(); + for (WizardProgressItem *i : items) + workingItems.push_back({i, workingItem.first}); } QList path; WizardProgressItem *it = toItem; - QHash >::ConstIterator itItem = visitedItemsToParents.constFind(it); - QHash >::ConstIterator itEnd = visitedItemsToParents.constEnd(); + auto itItem = visitedItemsToParents.constFind(it); + const auto itEnd = visitedItemsToParents.constEnd(); while (itItem != itEnd) { path.prepend(itItem.key()); if (itItem.value().count() != 1) @@ -702,8 +702,8 @@ WizardProgress::~WizardProgress() { Q_D(WizardProgress); - QMap::ConstIterator it = d->m_itemToItem.constBegin(); - QMap::ConstIterator itEnd = d->m_itemToItem.constEnd(); + auto it = d->m_itemToItem.constBegin(); + const auto itEnd = d->m_itemToItem.constEnd(); while (it != itEnd) { delete it.key(); ++it; From ade4c33afc911f7ac9792c67d831c73b4aa6c3b1 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 30 Sep 2022 11:41:43 +0200 Subject: [PATCH 33/96] Core: Delay setting tab order a bit Must happen after the respective widgets have been attached to a parent widget. Amends 38f88f6310917809. Change-Id: Ib0841afb09cd12791422903c3bf38de2d0bd580c Reviewed-by: hjk --- src/plugins/coreplugin/find/findtoolbar.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/plugins/coreplugin/find/findtoolbar.cpp b/src/plugins/coreplugin/find/findtoolbar.cpp index bd4f9e91f5e..d6cc32d53e2 100644 --- a/src/plugins/coreplugin/find/findtoolbar.cpp +++ b/src/plugins/coreplugin/find/findtoolbar.cpp @@ -120,15 +120,6 @@ FindToolBar::FindToolBar(CurrentDocumentFind *currentDocumentFind) m_advancedButton->setText(QCoreApplication::translate("Core::Internal::FindWidget", "Advanced...")); m_advancedButton->setToolButtonStyle(Qt::ToolButtonTextOnly); - QWidget::setTabOrder(m_findEdit, m_replaceEdit); - QWidget::setTabOrder(m_replaceEdit, m_findPreviousButton); - QWidget::setTabOrder(m_findPreviousButton, m_findNextButton); - QWidget::setTabOrder(m_findNextButton, m_replaceButton); - QWidget::setTabOrder(m_replaceButton, m_replaceNextButton); - QWidget::setTabOrder(m_replaceNextButton, m_replaceAllButton); - QWidget::setTabOrder(m_replaceAllButton, m_advancedButton); - QWidget::setTabOrder(m_advancedButton, m_close); - auto replaceButtonsLayout = new QHBoxLayout(m_replaceButtonsWidget); replaceButtonsLayout->setSpacing(3); replaceButtonsLayout->setContentsMargins(0, 0, 0, 0); @@ -168,6 +159,15 @@ FindToolBar::FindToolBar(CurrentDocumentFind *currentDocumentFind) setProperty("topBorder", true); setSingleRow(false); + QWidget::setTabOrder(m_findEdit, m_replaceEdit); + QWidget::setTabOrder(m_replaceEdit, m_findPreviousButton); + QWidget::setTabOrder(m_findPreviousButton, m_findNextButton); + QWidget::setTabOrder(m_findNextButton, m_replaceButton); + QWidget::setTabOrder(m_replaceButton, m_replaceNextButton); + QWidget::setTabOrder(m_replaceNextButton, m_replaceAllButton); + QWidget::setTabOrder(m_replaceAllButton, m_advancedButton); + QWidget::setTabOrder(m_advancedButton, m_close); + connect(m_findEdit, &Utils::FancyLineEdit::editingFinished, this, &FindToolBar::invokeResetIncrementalSearch); connect(m_findEdit, &Utils::FancyLineEdit::textChanged, From 5d7c5e21c0866e15092cb7e0f0b05fb60349ad4c Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 29 Sep 2022 14:23:40 +0200 Subject: [PATCH 34/96] GenericProjectManager: Remove two uses of QFileInfo::exist Change-Id: Ibfa64783ecd7150200683126b432abc8703debc8 Reviewed-by: Christian Stenger --- src/plugins/genericprojectmanager/genericproject.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 9e33547445e..7916ee020d2 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -594,10 +594,10 @@ void GenericBuildSystem::updateDeploymentData() if (bc) deploymentFilePath = bc->buildDirectory().pathAppended(fileName); - bool hasDeploymentData = QFileInfo::exists(deploymentFilePath.toString()); + bool hasDeploymentData = deploymentFilePath.exists(); if (!hasDeploymentData) { deploymentFilePath = projectDirectory().pathAppended(fileName); - hasDeploymentData = QFileInfo::exists(deploymentFilePath.toString()); + hasDeploymentData = deploymentFilePath.exists(); } if (hasDeploymentData) { DeploymentData deploymentData; From 5da5830fa7730f6b580e9b7abb5f113232edac50 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 30 Sep 2022 14:10:26 +0300 Subject: [PATCH 35/96] QmlDesigner: Fix dragging material from bundle to camera/light Added check that target node is actually a model when applying material. Fixes: QDS-7843 Change-Id: I6e165280c8b79ebbf8316861fe0eb9b947eac3be Reviewed-by: Mahmoud Badri --- .../components/materialbrowser/materialbrowserview.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index 90ef925ac43..c2120d92817 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -202,7 +202,8 @@ void MaterialBrowserView::applyBundleMaterialToDropTarget(const ModelNode &bundl newMatNode = bundleMat; } - if (m_bundleMaterialDropTarget.isValid()) { + if (m_bundleMaterialDropTarget.isValid() + && m_bundleMaterialDropTarget.isSubclassOf("QtQuick3D.Model")) { QmlObjectNode qmlObjNode(m_bundleMaterialDropTarget); if (m_bundleMaterialAddToSelected) { // TODO: unify this logic as it exist elsewhere also From 3885b936b69e23d0049ae961a14581b488f2be6c Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 11:53:28 +0200 Subject: [PATCH 36/96] CorePlugin: Limit the usage of qMakePair and std::make_pair Change-Id: Ibf96ca29d2570841955366371f1bab11198b3e67 Reviewed-by: Eike Ziller Reviewed-by: --- src/plugins/coreplugin/editormanager/documentmodel.cpp | 4 ++-- src/plugins/coreplugin/locator/commandlocator.cpp | 2 +- src/plugins/coreplugin/mainwindow.cpp | 2 +- src/plugins/coreplugin/outputwindow.cpp | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/coreplugin/editormanager/documentmodel.cpp b/src/plugins/coreplugin/editormanager/documentmodel.cpp index 512939911c8..b9777b48da2 100644 --- a/src/plugins/coreplugin/editormanager/documentmodel.cpp +++ b/src/plugins/coreplugin/editormanager/documentmodel.cpp @@ -55,8 +55,8 @@ std::pair positionEntry(const QList &list, const auto to_insert = static_cast(std::distance(begin, std::lower_bound(begin, end, entry, &compare))); if (to_remove == to_insert) - return std::make_pair(-1, -1); - return std::make_pair(to_remove, to_insert); + return {-1, -1}; + return {to_remove, to_insert}; } } // namespace diff --git a/src/plugins/coreplugin/locator/commandlocator.cpp b/src/plugins/coreplugin/locator/commandlocator.cpp index 88acac6eaae..24842f443f3 100644 --- a/src/plugins/coreplugin/locator/commandlocator.cpp +++ b/src/plugins/coreplugin/locator/commandlocator.cpp @@ -61,7 +61,7 @@ void CommandLocator::prepareSearch(const QString &entry) continue; QAction *action = command->action(); if (action && action->isEnabled()) - d->commandsData.append(qMakePair(i, action->text())); + d->commandsData.append({i, action->text()}); } } diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 7a9991eb6ea..df8ef17c33a 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -1125,7 +1125,7 @@ void MainWindow::addContextObject(IContext *context) if (m_contextWidgets.find(widget) != m_contextWidgets.end()) return; - m_contextWidgets.insert(std::make_pair(widget, context)); + m_contextWidgets.insert({widget, context}); connect(context, &QObject::destroyed, this, [this, context] { removeContextObject(context); }); } diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp index 92c7be20366..b2ae43059f4 100644 --- a/src/plugins/coreplugin/outputwindow.cpp +++ b/src/plugins/coreplugin/outputwindow.cpp @@ -465,7 +465,7 @@ int OutputWindow::maxCharCount() const void OutputWindow::appendMessage(const QString &output, OutputFormat format) { if (d->queuedOutput.isEmpty() || d->queuedOutput.last().second != format) - d->queuedOutput << qMakePair(output, format); + d->queuedOutput.push_back({output, format}); else d->queuedOutput.last().first.append(output); if (!d->queueTimer.isActive()) @@ -482,7 +482,7 @@ void OutputWindow::registerPositionOf(unsigned taskId, int linkedOutputLines, in const int firstLine = blocknumber - linkedOutputLines - skipLines; const int lastLine = firstLine + linkedOutputLines - 1; - d->taskPositions.insert(taskId, qMakePair(firstLine, lastLine)); + d->taskPositions.insert(taskId, {firstLine, lastLine}); } bool OutputWindow::knowsPositionOf(unsigned taskId) const From 4c1f410881c49d8ac2bba9ca48a5c114cbb6cc12 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 10:35:15 +0200 Subject: [PATCH 37/96] TextEditorPlugin: Limit the usage of std::make_pair And qMakePair. Change-Id: Id92a662fa0674b9e9f835280bb9378c8d00549e8 Reviewed-by: Reviewed-by: David Schulz --- src/plugins/texteditor/basefilefind.cpp | 8 ++--- src/plugins/texteditor/refactoringchanges.cpp | 3 +- src/plugins/texteditor/texteditorplugin.cpp | 29 ++++++++++--------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp index b8a3ab24808..a225479c69d 100644 --- a/src/plugins/texteditor/basefilefind.cpp +++ b/src/plugins/texteditor/basefilefind.cpp @@ -379,8 +379,7 @@ QList> BaseFileFind::createPatternWidgets() d->m_exclusionCombo->setToolTip(msgFilePatternToolTip()); exclusionLabel->setBuddy(d->m_exclusionCombo); syncComboWithSettings(d->m_exclusionCombo, d->m_exclusionSetting); - return { qMakePair(filterLabel, d->m_filterCombo), - qMakePair(exclusionLabel, d->m_exclusionCombo) }; + return {{filterLabel, d->m_filterCombo}, {exclusionLabel, d->m_exclusionCombo}}; } void BaseFileFind::writeCommonSettings(QSettings *settings) @@ -508,10 +507,9 @@ FilePaths BaseFileFind::replaceAll(const QString &text, ChangeSet changeSet; RefactoringFilePtr file = refactoring.file(filePath); - QSet > processed; + QSet> processed; for (const SearchResultItem &item : changeItems) { - const QPair &p = qMakePair(item.mainRange().begin.line, - item.mainRange().begin.column); + const QPair p{item.mainRange().begin.line, item.mainRange().begin.column}; if (processed.contains(p)) continue; processed.insert(p); diff --git a/src/plugins/texteditor/refactoringchanges.cpp b/src/plugins/texteditor/refactoringchanges.cpp index d259674fb96..a4afd319821 100644 --- a/src/plugins/texteditor/refactoringchanges.cpp +++ b/src/plugins/texteditor/refactoringchanges.cpp @@ -43,8 +43,7 @@ RefactoringSelections RefactoringChanges::rangesToSelections(QTextDocument *docu start.setKeepPositionOnInsert(true); QTextCursor end(document); end.setPosition(qMin(range.end, document->characterCount() - 1)); - - selections.append(qMakePair(start, end)); + selections.push_back({start, end}); } return selections; diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 0e5d50b5d2f..674e6aab52b 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -261,20 +261,21 @@ void TextEditorPluginPrivate::updateSearchResultsFont(const FontSettings &settin const Format containingFunctionResultFormat = settings.formatFor(C_SEARCH_RESULT_CONTAINING_FUNCTION); window->setTextEditorFont(QFont(settings.family(), settings.fontSize() * settings.fontZoom() / 100), - {std::make_pair(SearchResultColor::Style::Default, - SearchResultColor(textFormat.background(), textFormat.foreground(), - defaultResultFormat.background(), defaultResultFormat.foreground(), - containingFunctionResultFormat.background(), containingFunctionResultFormat.foreground())), - std::make_pair(SearchResultColor::Style::Alt1, - SearchResultColor(textFormat.background(), textFormat.foreground(), - alt1ResultFormat.background(), alt1ResultFormat.foreground(), - containingFunctionResultFormat.background(), - containingFunctionResultFormat.foreground())), - std::make_pair(SearchResultColor::Style::Alt2, - SearchResultColor(textFormat.background(), textFormat.foreground(), - alt2ResultFormat.background(), alt2ResultFormat.foreground(), - containingFunctionResultFormat.background(), - containingFunctionResultFormat.foreground()))}); + {{SearchResultColor::Style::Default, + {textFormat.background(), textFormat.foreground(), + defaultResultFormat.background(), defaultResultFormat.foreground(), + containingFunctionResultFormat.background(), + containingFunctionResultFormat.foreground()}}, + {SearchResultColor::Style::Alt1, + {textFormat.background(), textFormat.foreground(), + alt1ResultFormat.background(), alt1ResultFormat.foreground(), + containingFunctionResultFormat.background(), + containingFunctionResultFormat.foreground()}}, + {SearchResultColor::Style::Alt2, + {textFormat.background(), textFormat.foreground(), + alt2ResultFormat.background(), alt2ResultFormat.foreground(), + containingFunctionResultFormat.background(), + containingFunctionResultFormat.foreground()}}}); } } From 9ac0ac9ca1b535f021e42cb34b49d06d49dbbad2 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 29 Sep 2022 16:06:46 +0200 Subject: [PATCH 38/96] Squish: Store opened suites into session Opened test suites will now be stored into the session and re-opened automatically when the session is loaded. Change-Id: I5b7e55bf511918cb2e9eeec6f943cc7baced0a8f Reviewed-by: David Schulz --- src/plugins/squish/squishfilehandler.cpp | 32 ++++++++++++++++++++++++ src/plugins/squish/squishfilehandler.h | 3 +++ 2 files changed, 35 insertions(+) diff --git a/src/plugins/squish/squishfilehandler.cpp b/src/plugins/squish/squishfilehandler.cpp index 6c3bfea6a06..435d3d70644 100644 --- a/src/plugins/squish/squishfilehandler.cpp +++ b/src/plugins/squish/squishfilehandler.cpp @@ -12,6 +12,8 @@ #include #include +#include +#include #include #include @@ -22,12 +24,17 @@ namespace Squish { namespace Internal { +static const char SK_OpenSuites[] = "SquishOpenSuites"; + static SquishFileHandler *m_instance = nullptr; SquishFileHandler::SquishFileHandler(QObject *parent) : QObject(parent) { m_instance = this; + auto sessionManager = ProjectExplorer::SessionManager::instance(); + connect(sessionManager, &ProjectExplorer::SessionManager::sessionLoaded, + this, &SquishFileHandler::onSessionLoaded); } SquishFileHandler *SquishFileHandler::instance() @@ -191,6 +198,7 @@ void SquishFileHandler::openTestSuites() } } emit suitesOpened(); + ProjectExplorer::SessionManager::setValue(SK_OpenSuites, m_suites.values()); } void SquishFileHandler::openTestSuite(const Utils::FilePath &suitePath, bool isReopen) @@ -221,6 +229,7 @@ void SquishFileHandler::openTestSuite(const Utils::FilePath &suitePath, bool isR m_suites.insert(suiteName, suitePathStr); emit testTreeItemCreated(item); } + ProjectExplorer::SessionManager::setValue(SK_OpenSuites, m_suites.values()); } void SquishFileHandler::closeTestSuite(const QString &suiteName) @@ -232,9 +241,16 @@ void SquishFileHandler::closeTestSuite(const QString &suiteName) // TODO remove file watcher m_suites.remove(suiteName); emit suiteTreeItemRemoved(suiteName); + ProjectExplorer::SessionManager::setValue(SK_OpenSuites, m_suites.values()); } void SquishFileHandler::closeAllTestSuites() +{ + closeAllInternal(); + ProjectExplorer::SessionManager::setValue(SK_OpenSuites, m_suites.values()); +} + +void SquishFileHandler::closeAllInternal() { // TODO close respective editors if there are any // TODO remove file watcher @@ -395,5 +411,21 @@ void SquishFileHandler::openObjectsMap(const QString &suiteName) } } +void SquishFileHandler::onSessionLoaded() +{ + // remove currently opened "silently" (without storing into session) + closeAllInternal(); + + const QVariant variant = ProjectExplorer::SessionManager::value(SK_OpenSuites); + const Utils::FilePaths suitePaths = Utils::transform(variant.toStringList(), + &Utils::FilePath::fromString); + + // open suites of the old session + for (const Utils::FilePath &fp : suitePaths) { + if (fp.exists()) + openTestSuite(fp); + } +} + } // namespace Internal } // namespace Squish diff --git a/src/plugins/squish/squishfilehandler.h b/src/plugins/squish/squishfilehandler.h index adaccbf0f46..e1ea6f29bb8 100644 --- a/src/plugins/squish/squishfilehandler.h +++ b/src/plugins/squish/squishfilehandler.h @@ -40,6 +40,9 @@ signals: void suitesOpened(); private: + void closeAllInternal(); + void onSessionLoaded(); + QMap m_suites; QStringList m_sharedFolders; From 9e27ea3bb3c3820308e357119e23302b9060ce7e Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 30 Sep 2022 13:30:57 +0200 Subject: [PATCH 39/96] Fix some compiler warnings Change-Id: I67135a49c7bc8169dd159cdab381c21f27be02f3 Reviewed-by: Christian Stenger --- src/libs/sqlite/sqlitevalue.h | 2 +- src/plugins/qmldesigner/designersettings.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/sqlite/sqlitevalue.h b/src/libs/sqlite/sqlitevalue.h index 46467cf745c..82f1076b084 100644 --- a/src/libs/sqlite/sqlitevalue.h +++ b/src/libs/sqlite/sqlitevalue.h @@ -333,7 +333,7 @@ private: if (value.isNull()) return VariantType{NullValue{}}; - switch (value.type()) { + switch (value.userType()) { case QVariant::Int: return VariantType{static_cast(value.toInt())}; case QVariant::LongLong: diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp index 874adf8e8fe..35b7afa3c7b 100644 --- a/src/plugins/qmldesigner/designersettings.cpp +++ b/src/plugins/qmldesigner/designersettings.cpp @@ -34,6 +34,7 @@ void DesignerSettings::insert(const QHash &settingsHash) QVariant DesignerSettings::value(const QByteArray &key, const QVariant &defaultValue) const { + Q_UNUSED(defaultValue) QMutexLocker locker(&m_mutex); return m_cache.value(key); } From 4f9a5ea89636577309f96cd16dbc2a742c37c7f7 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 30 Sep 2022 07:34:53 +0200 Subject: [PATCH 40/96] LanguageClient: Inform user of failed prepareRename request Also instantiate the search result window if we get an error and use it to display errors. Change-Id: I49dcdcc5ad2ace64391f8d2d849995b046032957 Reviewed-by: Reviewed-by: Qt CI Bot Reviewed-by: Christian Kandeler --- .../languageclientsymbolsupport.cpp | 36 ++++++++++++------- .../languageclientsymbolsupport.h | 3 ++ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/plugins/languageclient/languageclientsymbolsupport.cpp b/src/plugins/languageclient/languageclientsymbolsupport.cpp index 75e552e4684..56f66b49645 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.cpp +++ b/src/plugins/languageclient/languageclientsymbolsupport.cpp @@ -284,20 +284,22 @@ bool SymbolSupport::supportsRename(TextEditor::TextDocument *document) void SymbolSupport::renameSymbol(TextEditor::TextDocument *document, const QTextCursor &cursor) { - bool prepareSupported; - if (!LanguageClient::supportsRename(m_client, document, prepareSupported)) - return; - + const TextDocumentPositionParams params = generateDocPosParams(document, cursor); QTextCursor tc = cursor; tc.select(QTextCursor::WordUnderCursor); const QString oldSymbolName = tc.selectedText(); - const QString placeHolder = m_defaultSymbolMapper ? m_defaultSymbolMapper(oldSymbolName) + const QString placeholder = m_defaultSymbolMapper ? m_defaultSymbolMapper(oldSymbolName) : oldSymbolName; - if (prepareSupported) - requestPrepareRename(generateDocPosParams(document, cursor), placeHolder); - else - startRenameSymbol(generateDocPosParams(document, cursor), placeHolder); + bool prepareSupported; + if (!LanguageClient::supportsRename(m_client, document, prepareSupported)) { + const QString error = tr("Renaming is not supported with %1").arg(m_client->name()); + createSearch(params, placeholder)->finishSearch(true, error); + } else if (prepareSupported) { + requestPrepareRename(generateDocPosParams(document, cursor), placeholder); + } else { + startRenameSymbol(generateDocPosParams(document, cursor), placeholder); + } } void SymbolSupport::requestPrepareRename(const TextDocumentPositionParams ¶ms, @@ -307,8 +309,10 @@ void SymbolSupport::requestPrepareRename(const TextDocumentPositionParams ¶m request.setResponseCallback([this, params, placeholder]( const PrepareRenameRequest::Response &response) { const std::optional &error = response.error(); - if (error.has_value()) + if (error.has_value()) { m_client->log(*error); + createSearch(params, placeholder)->finishSearch(true, error->toString()); + } const std::optional &result = response.result(); if (result.has_value()) { @@ -361,8 +365,8 @@ QList generateReplaceItems(const WorkspaceEdit &edits) return generateSearchResultItems(rangesInDocument); } -void SymbolSupport::startRenameSymbol(const TextDocumentPositionParams &positionParams, - const QString &placeholder) +Core::SearchResult *SymbolSupport::createSearch(const TextDocumentPositionParams &positionParams, + const QString &placeholder) { Core::SearchResult *search = Core::SearchResultWindow::instance()->startNewSearch( tr("Find References with %1 for:").arg(m_client->name()), @@ -394,7 +398,13 @@ void SymbolSupport::startRenameSymbol(const TextDocumentPositionParams &position applyRename(checkedItems); }); - requestRename(positionParams, placeholder, search); + return search; +} + +void SymbolSupport::startRenameSymbol(const TextDocumentPositionParams &positionParams, + const QString &placeholder) +{ + requestRename(positionParams, placeholder, createSearch(positionParams, placeholder)); } void SymbolSupport::handleRenameResponse(Core::SearchResult *search, diff --git a/src/plugins/languageclient/languageclientsymbolsupport.h b/src/plugins/languageclient/languageclientsymbolsupport.h index 38a3049d839..38d40fa3689 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.h +++ b/src/plugins/languageclient/languageclientsymbolsupport.h @@ -60,6 +60,9 @@ private: const QString &placeholder); void requestRename(const LanguageServerProtocol::TextDocumentPositionParams &positionParams, const QString &newName, Core::SearchResult *search); + Core::SearchResult *createSearch( + const LanguageServerProtocol::TextDocumentPositionParams &positionParams, + const QString &placeholder); void startRenameSymbol(const LanguageServerProtocol::TextDocumentPositionParams ¶ms, const QString &placeholder); void handleRenameResponse(Core::SearchResult *search, From 395e40b8f3a50a327b65ccce9cf2443d2c641924 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Fri, 30 Sep 2022 14:44:42 +0300 Subject: [PATCH 41/96] QmlDesigner: Allow dropping bundle materials to Navigator Fixes: QDS-7844 Change-Id: If3c58f82797beabe76baf99ea2dddc59032729df Reviewed-by: Miikka Heikkinen --- .../components/materialbrowser/materialbrowserview.cpp | 1 - .../components/materialbrowser/materialbrowserwidget.cpp | 7 +++++-- .../components/navigator/choosefrompropertylistdialog.cpp | 7 ++++++- .../components/navigator/navigatortreemodel.cpp | 5 +++++ .../qmldesigner/components/navigator/navigatorview.cpp | 8 ++++++++ 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index c2120d92817..f159593d51a 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -481,7 +481,6 @@ void MaterialBrowserView::customNotification(const AbstractView *view, const QSt } else if (identifier == "drop_bundle_material") { m_bundleMaterialDropTarget = nodeList.first(); - ModelNode defaultMat = getBundleMaterialDefaultInstance(m_draggedBundleMaterial->type()); if (defaultMat.isValid()) applyBundleMaterialToDropTarget(defaultMat); diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp index 9b91254f0f8..333c579e26d 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp @@ -132,12 +132,15 @@ bool MaterialBrowserWidget::eventFilter(QObject *obj, QEvent *event) } else if (m_bundleMaterialToDrag != nullptr) { QMouseEvent *me = static_cast(event); if ((me->globalPos() - m_dragStartPoint).manhattanLength() > 20) { + QByteArray data; QMimeData *mimeData = new QMimeData; - mimeData->setData(Constants::MIME_TYPE_BUNDLE_MATERIAL, {}); + QDataStream stream(&data, QIODevice::WriteOnly); + stream << m_bundleMaterialToDrag->type(); + mimeData->setData(Constants::MIME_TYPE_BUNDLE_MATERIAL, data); mimeData->removeFormat("text/plain"); - model->startDrag(mimeData, m_bundleMaterialToDrag->icon().toLocalFile()); emit bundleMaterialDragStarted(m_bundleMaterialToDrag); + model->startDrag(mimeData, m_bundleMaterialToDrag->icon().toLocalFile()); m_bundleMaterialToDrag = {}; } } diff --git a/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp b/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp index 178f79e18a3..6d8a303f7c3 100644 --- a/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp +++ b/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp @@ -58,6 +58,8 @@ ChooseFromPropertyListFilter::ChooseFromPropertyListFilter(const NodeMetaInfo &i // -> Attractor3D // Material // -> Model + // BundleMaterial + // -> Model const TypeName textureType = "QtQuick3D.Texture"; if (insertInfo.isSubclassOf(textureType)) { @@ -107,7 +109,10 @@ ChooseFromPropertyListFilter::ChooseFromPropertyListFilter(const NodeMetaInfo &i || parentInfo.isSubclassOf("QtQuick3D.Particles3D.Attractor3D")) propertyList.append("shape"); } else if (insertInfo.isSubclassOf("QtQuick3D.Material")) { - if (parentInfo.isSubclassOf("QtQuick3D.Particles3D.Model")) + if (parentInfo.isSubclassOf("QtQuick3D.Model")) + propertyList.append("materials"); + } else if (insertInfo.typeName().startsWith("ComponentBundles.MaterialBundle")) { + if (parentInfo.isSubclassOf("QtQuick3D.Model")) propertyList.append("materials"); } } diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index d347854f004..d9c9d6699e7 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -465,6 +465,7 @@ QStringList NavigatorTreeModel::mimeTypes() const const static QStringList types({Constants::MIME_TYPE_MODELNODE_LIST, Constants::MIME_TYPE_ITEM_LIBRARY_INFO, Constants::MIME_TYPE_MATERIAL, + Constants::MIME_TYPE_BUNDLE_MATERIAL, Constants::MIME_TYPE_ASSETS}); return types; @@ -562,6 +563,10 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *mimeData, handleItemLibraryItemDrop(mimeData, rowNumber, dropModelIndex); } else if (mimeData->hasFormat(Constants::MIME_TYPE_MATERIAL)) { handleMaterialDrop(mimeData, rowNumber, dropModelIndex); + } else if (mimeData->hasFormat(Constants::MIME_TYPE_BUNDLE_MATERIAL)) { + ModelNode targetNode(modelNodeForIndex(dropModelIndex)); + if (targetNode.isValid()) + m_view->emitCustomNotification("drop_bundle_material", {targetNode}); // To MaterialBrowserView } else if (mimeData->hasFormat(Constants::MIME_TYPE_ASSETS)) { const QStringList assetsPaths = QString::fromUtf8(mimeData->data(Constants::MIME_TYPE_ASSETS)).split(','); NodeAbstractProperty targetProperty; diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index 64f7d056029..7b455a9ffd6 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -284,6 +284,14 @@ void NavigatorView::dragStarted(QMimeData *mimeData) m_widget->setDragType(matNode.metaInfo().typeName()); m_widget->update(); + } else if (mimeData->hasFormat(Constants::MIME_TYPE_BUNDLE_MATERIAL)) { + QByteArray data = mimeData->data(Constants::MIME_TYPE_BUNDLE_MATERIAL); + QDataStream stream(data); + TypeName bundleMatType; + stream >> bundleMatType; + + m_widget->setDragType(bundleMatType); + m_widget->update(); } } From b29c7bc4a61b3ebb051a69bf7a69d3c979b85f30 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Fri, 30 Sep 2022 09:55:58 +0200 Subject: [PATCH 42/96] FSEngine: Fix engine to handle root path correctly Change-Id: Idd5b75875a87e624675ed40cba668caf5013e6a9 Reviewed-by: Qt CI Bot Reviewed-by: Reviewed-by: Eike Ziller --- src/libs/utils/fsengine/fsenginehandler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/utils/fsengine/fsenginehandler.cpp b/src/libs/utils/fsengine/fsenginehandler.cpp index f2b649c48da..36cd0950ad6 100644 --- a/src/libs/utils/fsengine/fsenginehandler.cpp +++ b/src/libs/utils/fsengine/fsenginehandler.cpp @@ -52,11 +52,11 @@ QAbstractFileEngine *FSEngineHandler::create(const QString &fileName) const FilePath filePath = FilePath::fromString(fixedFileName); if (filePath.needsDevice()) return new FSEngineImpl(filePath); - - if (fixedFileName.compare(QDir::rootPath(), Qt::CaseInsensitive) == 0) - return new RootInjectFSEngine(fixedFileName); } + if (fixedFileName.compare(QDir::rootPath(), Qt::CaseInsensitive) == 0) + return new RootInjectFSEngine(fixedFileName); + return nullptr; } From b3890d1b7c6a15971862181000872dd4ef624637 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 30 Sep 2022 10:26:12 +0200 Subject: [PATCH 43/96] Squish: Fixup initial generated suite.conf Change-Id: I217b2e6a1d89356b0482b91af53a1dd313f4efdd Reviewed-by: David Schulz --- src/plugins/squish/squishwizardpages.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/squish/squishwizardpages.cpp b/src/plugins/squish/squishwizardpages.cpp index 55d6aa371a8..0a18a81495f 100644 --- a/src/plugins/squish/squishwizardpages.cpp +++ b/src/plugins/squish/squishwizardpages.cpp @@ -311,6 +311,8 @@ Core::GeneratedFiles SquishFileGenerator::fileList(Utils::MacroExpander *expande QString aut = expander->expand(QString{"%{AUT}"}); if (aut == Tr::tr("")) aut.clear(); + if (aut.contains(' ')) + aut = QString('"' + aut + '"'); const QString lang = expander->expand(QString{"%{Language}"}); const QString toolkit = expander->expand(QString{"%{Toolkit}"});; const Utils::FilePath suiteConf = projectDir.pathAppended("suite.conf"); From 8d67bc36a786444d9bf4322bf17694cecf106f01 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Thu, 29 Sep 2022 13:07:41 +0200 Subject: [PATCH 44/96] ToolChain: Cache validity Checking the validity of a toolchain can involve a call to a remote device. We cache the status now to speed up places that repeatedly check the validity like opening the Toolchain Settings Page Change-Id: I2b1d8aeba99fb9761d60d4710806bf4b767eaac9 Reviewed-by: hjk --- src/plugins/projectexplorer/toolchain.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp index 04d4bddc398..9c97e71ba31 100644 --- a/src/plugins/projectexplorer/toolchain.cpp +++ b/src/plugins/projectexplorer/toolchain.cpp @@ -70,6 +70,7 @@ public: ToolChain::MacrosCache m_predefinedMacrosCache; ToolChain::HeaderPathsCache m_headerPathsCache; + std::optional m_isValid; }; @@ -185,9 +186,10 @@ Abis ToolChain::supportedAbis() const bool ToolChain::isValid() const { - if (compilerCommand().isEmpty()) - return false; - return compilerCommand().isExecutableFile(); + if (!d->m_isValid.has_value()) + d->m_isValid = !compilerCommand().isEmpty() && compilerCommand().isExecutableFile(); + + return d->m_isValid.value_or(false); } QStringList ToolChain::includedFiles(const QStringList &flags, const QString &directory) const @@ -315,6 +317,8 @@ FilePath ToolChain::compilerCommand() const void ToolChain::setCompilerCommand(const FilePath &command) { + d->m_isValid.reset(); + if (command == d->m_compilerCommand) return; d->m_compilerCommand = command; @@ -379,6 +383,7 @@ bool ToolChain::fromMap(const QVariantMap &data) d->m_targetAbi = Abi::fromString(data.value(d->m_targetAbiKey).toString()); d->m_compilerCommand = FilePath::fromVariant(data.value(d->m_compilerCommandKey)); + d->m_isValid.reset(); return true; } From 34dc092642fcc62662e438afeb95d7af98c8a9af Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Thu, 29 Sep 2022 15:03:29 +0200 Subject: [PATCH 45/96] Docker: Improve File contents read speed Change-Id: Ic94715d2c362ac3aa75dabf4f95c74737abd6264 Reviewed-by: hjk --- src/plugins/docker/dockerdevice.cpp | 44 ++++++++++++++++------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index a28147c688c..2abd9ed946e 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -128,6 +128,8 @@ public: bool runInShell(const CommandLine &cmd, const QByteArray &stdInData = {}); QByteArray outputForRunInShell(const CommandLine &cmd); + std::optional fileContents(const FilePath &filePath, qint64 limit, qint64 offset); + void updateContainerAccess(); void changeMounts(QStringList newMounts); bool ensureReachable(const FilePath &other); @@ -1010,25 +1012,7 @@ std::optional DockerDevice::fileContents(const FilePath &filePath, qint64 offset) const { QTC_ASSERT(handlesFile(filePath), return {}); - updateContainerAccess(); - - QStringList args = {"if=" + filePath.path(), "status=none"}; - if (limit > 0 || offset > 0) { - const qint64 gcd = std::gcd(limit, offset); - args += {QString("bs=%1").arg(gcd), - QString("count=%1").arg(limit / gcd), - QString("seek=%1").arg(offset / gcd)}; - } - - QtcProcess proc; - proc.setCommand(d->withDockerExecCmd({"dd", args})); - proc.start(); - proc.waitForFinished(); - - if (proc.result() != ProcessResult::FinishedWithSuccess) - return {}; - QByteArray output = proc.readAllStandardOutput(); - return output; + return d->fileContents(filePath, limit, offset); } bool DockerDevice::writeFileContents(const FilePath &filePath, const QByteArray &data) const @@ -1048,6 +1032,28 @@ void DockerDevice::aboutToBeRemoved() const detector.undoAutoDetect(id().toString()); } +std::optional DockerDevicePrivate::fileContents(const FilePath &filePath, + qint64 limit, + qint64 offset) +{ + updateContainerAccess(); + + QStringList args = {"if=" + filePath.path(), "status=none"}; + if (limit > 0 || offset > 0) { + const qint64 gcd = std::gcd(limit, offset); + args += {QString("bs=%1").arg(gcd), + QString("count=%1").arg(limit / gcd), + QString("seek=%1").arg(offset / gcd)}; + } + + const ContainerShell::RunResult r = m_shell->outputForRunInShell({"dd", args}); + + if (r.exitCode != 0) + return {}; + + return r.stdOut; +} + void DockerDevicePrivate::fetchSystemEnviroment() { updateContainerAccess(); From 8a645e8a1debfb1c94e05fe5173f097e0ffd16fe Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 12:11:43 +0200 Subject: [PATCH 46/96] GitPlugin: Limit the usage of qMakePair Change-Id: I9a164d951c43a9fc30bbdfffada22d9876d35e3f Reviewed-by: Orgad Shaneh Reviewed-by: --- src/plugins/git/commitdata.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/git/commitdata.cpp b/src/plugins/git/commitdata.cpp index 679c2c5c470..9c6b948ac15 100644 --- a/src/plugins/git/commitdata.cpp +++ b/src/plugins/git/commitdata.cpp @@ -95,7 +95,7 @@ bool CommitData::checkLine(const QString &stateInfo, const QString &file) QTC_ASSERT(stateInfo.count() == 2, return false); if (stateInfo == "??") { - files.append(qMakePair(FileStates(UntrackedFile), file)); + files.push_back({FileStates(UntrackedFile), file}); return true; } @@ -110,22 +110,22 @@ bool CommitData::checkLine(const QString &stateInfo, const QString &file) if (xState == yState) { if (xState == UnmergedFile) xState = ModifiedFile; - files.append(qMakePair(xState | UnmergedFile | UnmergedUs | UnmergedThem, file)); + files.push_back({xState | UnmergedFile | UnmergedUs | UnmergedThem, file}); } else if (xState == UnmergedFile) { - files.append(qMakePair(yState | UnmergedFile | UnmergedThem, file)); + files.push_back({yState | UnmergedFile | UnmergedThem, file}); } else { - files.append(qMakePair(xState | UnmergedFile | UnmergedUs, file)); + files.push_back({xState | UnmergedFile | UnmergedUs, file}); } } else { if (xState != EmptyFileState) - files.append(qMakePair(xState | StagedFile, file)); + files.push_back({xState | StagedFile, file}); if (yState != EmptyFileState) { QString newFile = file; if (xState & (RenamedFile | CopiedFile)) newFile = file.mid(file.indexOf(" -> ") + 4); - files.append(qMakePair(yState, newFile)); + files.push_back({yState, newFile}); } } Utils::sort(files); From b1e877284833c849954a9fd81041918dcd699896 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 09:45:01 +0200 Subject: [PATCH 47/96] CppEditor: Inline clangbasechecks.ui Change-Id: I630f794377936139eade42f56a8bd46175e84143 Reviewed-by: Alessandro Portale Reviewed-by: --- src/plugins/cppeditor/CMakeLists.txt | 1 - src/plugins/cppeditor/clangbasechecks.ui | 48 ----------- .../clangdiagnosticconfigswidget.cpp | 79 +++++++++++++------ .../cppeditor/clangdiagnosticconfigswidget.h | 12 ++- src/plugins/cppeditor/cppeditor.qbs | 1 - 5 files changed, 61 insertions(+), 80 deletions(-) delete mode 100644 src/plugins/cppeditor/clangbasechecks.ui diff --git a/src/plugins/cppeditor/CMakeLists.txt b/src/plugins/cppeditor/CMakeLists.txt index 7f32e3faa7a..7d03b0c599e 100644 --- a/src/plugins/cppeditor/CMakeLists.txt +++ b/src/plugins/cppeditor/CMakeLists.txt @@ -11,7 +11,6 @@ add_qtc_plugin(CppEditor builtineditordocumentparser.cpp builtineditordocumentparser.h builtineditordocumentprocessor.cpp builtineditordocumentprocessor.h builtinindexingsupport.cpp builtinindexingsupport.h - clangbasechecks.ui clangdiagnosticconfig.cpp clangdiagnosticconfig.h clangdiagnosticconfigsmodel.cpp clangdiagnosticconfigsmodel.h clangdiagnosticconfigsselectionwidget.cpp clangdiagnosticconfigsselectionwidget.h diff --git a/src/plugins/cppeditor/clangbasechecks.ui b/src/plugins/cppeditor/clangbasechecks.ui deleted file mode 100644 index 784771564be..00000000000 --- a/src/plugins/cppeditor/clangbasechecks.ui +++ /dev/null @@ -1,48 +0,0 @@ - - - CppEditor::ClangBaseChecks - - - - 0 - 0 - 665 - 300 - - - - - - - - - - For appropriate options, consult the GCC or Clang manual pages or the <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html">GCC online documentation</a>. - - - true - - - - - - - Use diagnostic flags from build system - - - - - - - - - - - CppEditor::WrappableLineEdit - QLineEdit -
cppeditor/wrappablelineedit.h
-
-
- - -
diff --git a/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp b/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp index f53aca16502..d8007e0ceee 100644 --- a/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp +++ b/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp @@ -5,19 +5,25 @@ #include "clangdiagnosticconfigsmodel.h" #include "ui_clangdiagnosticconfigswidget.h" -#include "ui_clangbasechecks.h" +#include "wrappablelineedit.h" #include #include +#include #include #include +#include +#include #include +#include #include +using namespace Utils; + namespace CppEditor { -class ConfigNode : public Utils::TreeItem +class ConfigNode : public TreeItem { public: ConfigNode(const ClangDiagnosticConfig &config) @@ -34,11 +40,11 @@ public: ClangDiagnosticConfig config; }; -class GroupNode : public Utils::StaticTreeItem +class GroupNode : public StaticTreeItem { public: GroupNode(const QString &text) - : Utils::StaticTreeItem(text) + : StaticTreeItem(text) {} Qt::ItemFlags flags(int) const final { return {}; } @@ -49,11 +55,11 @@ public: return QApplication::palette().color(QPalette::ColorGroup::Normal, QPalette::ColorRole::Text); } - return Utils::StaticTreeItem::data(column, role); + return StaticTreeItem::data(column, role); } }; -class ConfigsModel : public Utils::TreeModel +class ConfigsModel : public TreeModel { Q_OBJECT @@ -66,7 +72,7 @@ public: rootItem()->appendChild(m_customRoot); for (const ClangDiagnosticConfig &config : configs) { - Utils::TreeItem *parent = config.isReadOnly() ? m_builtinRoot : m_customRoot; + TreeItem *parent = config.isReadOnly() ? m_builtinRoot : m_customRoot; parent->appendChild(new ConfigNode(config)); } } @@ -88,13 +94,13 @@ public: m_customRoot->appendChild(new ConfigNode(config)); } - void removeConfig(const Utils::Id &id) + void removeConfig(const Id &id) { ConfigNode *node = itemForConfigId(id); node->parent()->removeChildAt(node->indexInParent()); } - ConfigNode *itemForConfigId(const Utils::Id &id) const + ConfigNode *itemForConfigId(const Id &id) const { return findItemAtLevel<2>([id](const ConfigNode *node) { return node->config.id() == id; @@ -102,12 +108,41 @@ public: } private: - Utils::TreeItem *m_builtinRoot = nullptr; - Utils::TreeItem *m_customRoot = nullptr; + TreeItem *m_builtinRoot = nullptr; + TreeItem *m_customRoot = nullptr; +}; + +class ClangBaseChecksWidget : public QWidget +{ + Q_DECLARE_TR_FUNCTIONS(CppEditor::ClangBaseChecks) + +public: + ClangBaseChecksWidget() + { + auto label = new QLabel(tr("For appropriate options, consult the GCC or Clang manual " + "pages or the
" + "GCC online documentation.")); + label->setOpenExternalLinks(true); + + useFlagsFromBuildSystemCheckBox = new QCheckBox(tr("Use diagnostic flags from build system")); + + diagnosticOptionsTextEdit = new WrappableLineEdit; + + using namespace Layouting; + + Column { + label, + useFlagsFromBuildSystemCheckBox, + diagnosticOptionsTextEdit + }.attachTo(this); + } + + QCheckBox *useFlagsFromBuildSystemCheckBox; + WrappableLineEdit *diagnosticOptionsTextEdit; }; ClangDiagnosticConfigsWidget::ClangDiagnosticConfigsWidget(const ClangDiagnosticConfigs &configs, - const Utils::Id &configToSelect, + const Id &configToSelect, QWidget *parent) : QWidget(parent) , m_ui(new Ui::ClangDiagnosticConfigsWidget) @@ -126,11 +161,9 @@ ClangDiagnosticConfigsWidget::ClangDiagnosticConfigsWidget(const ClangDiagnostic this, &ClangDiagnosticConfigsWidget::sync); - m_clangBaseChecks = std::make_unique(); - m_clangBaseChecksWidget = new QWidget(); - m_clangBaseChecks->setupUi(m_clangBaseChecksWidget); + m_clangBaseChecks = new ClangBaseChecksWidget; - m_ui->tabWidget->addTab(m_clangBaseChecksWidget, tr("Clang Warnings")); + m_ui->tabWidget->addTab(m_clangBaseChecks, tr("Clang Warnings")); m_ui->tabWidget->setCurrentIndex(0); connect(m_ui->copyButton, &QPushButton::clicked, @@ -188,13 +221,13 @@ void ClangDiagnosticConfigsWidget::onRenameButtonClicked() const ClangDiagnosticConfig ClangDiagnosticConfigsWidget::currentConfig() const { - Utils::TreeItem *item = m_configsModel->itemForIndex(m_ui->configsView->currentIndex()); + TreeItem *item = m_configsModel->itemForIndex(m_ui->configsView->currentIndex()); return static_cast(item)->config; } void ClangDiagnosticConfigsWidget::onRemoveButtonClicked() { - const Utils::Id configToRemove = currentConfig().id(); + const Id configToRemove = currentConfig().id(); if (m_configsModel->customConfigsCount() == 1) m_ui->configsView->setCurrentIndex(m_configsModel->fallbackConfigIndex()); m_configsModel->removeConfig(configToRemove); @@ -270,7 +303,7 @@ void ClangDiagnosticConfigsWidget::sync() return; disconnectClangOnlyOptionsChanged(); - Utils::ExecuteOnDestruction e([this] { connectClangOnlyOptionsChanged(); }); + ExecuteOnDestruction e([this] { connectClangOnlyOptionsChanged(); }); // Update main button row const ClangDiagnosticConfig &config = currentConfig(); @@ -285,10 +318,10 @@ void ClangDiagnosticConfigsWidget::sync() ? m_notAcceptedOptions.value(config.id()) : config.clangOptions().join(QLatin1Char(' ')); setDiagnosticOptions(options); - m_clangBaseChecksWidget->setEnabled(!config.isReadOnly()); + m_clangBaseChecks->setEnabled(!config.isReadOnly()); if (config.isReadOnly()) { - m_ui->infoLabel->setType(Utils::InfoLabel::Information); + m_ui->infoLabel->setType(InfoLabel::Information); m_ui->infoLabel->setText(tr("Copy this configuration to customize it.")); m_ui->infoLabel->setFilled(false); } @@ -314,11 +347,11 @@ void ClangDiagnosticConfigsWidget::setDiagnosticOptions(const QString &options) void ClangDiagnosticConfigsWidget::updateValidityWidgets(const QString &errorMessage) { if (errorMessage.isEmpty()) { - m_ui->infoLabel->setType(Utils::InfoLabel::Information); + m_ui->infoLabel->setType(InfoLabel::Information); m_ui->infoLabel->setText(tr("Configuration passes sanity checks.")); m_ui->infoLabel->setFilled(false); } else { - m_ui->infoLabel->setType(Utils::InfoLabel::Error); + m_ui->infoLabel->setType(InfoLabel::Error); m_ui->infoLabel->setText(tr("%1").arg(errorMessage)); m_ui->infoLabel->setFilled(true); } diff --git a/src/plugins/cppeditor/clangdiagnosticconfigswidget.h b/src/plugins/cppeditor/clangdiagnosticconfigswidget.h index 3bbca8b777b..d8c89f78f07 100644 --- a/src/plugins/cppeditor/clangdiagnosticconfigswidget.h +++ b/src/plugins/cppeditor/clangdiagnosticconfigswidget.h @@ -17,12 +17,11 @@ class QTabWidget; QT_END_NAMESPACE namespace CppEditor { -class ClangDiagnosticConfig; -namespace Ui { -class ClangDiagnosticConfigsWidget; -class ClangBaseChecks; -} +class ClangDiagnosticConfig; +class ClangBaseChecksWidget; + +namespace Ui { class ClangDiagnosticConfigsWidget; } class ConfigsModel; @@ -64,8 +63,7 @@ private: ConfigsModel *m_configsModel = nullptr; QHash m_notAcceptedOptions; - std::unique_ptr m_clangBaseChecks; - QWidget *m_clangBaseChecksWidget = nullptr; + ClangBaseChecksWidget *m_clangBaseChecks = nullptr; }; } // CppEditor namespace diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index 28f1dc96ac1..11e13262bae 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -41,7 +41,6 @@ QtcPlugin { "builtineditordocumentprocessor.h", "builtinindexingsupport.cpp", "builtinindexingsupport.h", - "clangbasechecks.ui", // FIXME: Is this used at all? "clangdiagnosticconfig.cpp", "clangdiagnosticconfig.h", "clangdiagnosticconfigsmodel.cpp", From bea4dd861df6a6634a6c8e97cb6295b984956350 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 29 Sep 2022 17:06:55 +0200 Subject: [PATCH 48/96] Doc: Describe new locator options - Open as Centered Popup - Triggering all kinds of actions with the "t" filter Task-number: QTCREATORBUG-27876 Change-Id: I6aebe62726fae9ba68d4f841cce6ee4cf7434747 Reviewed-by: Eike Ziller --- doc/qtcreator/src/editors/creator-locator.qdoc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/qtcreator/src/editors/creator-locator.qdoc b/doc/qtcreator/src/editors/creator-locator.qdoc index 06f0be6c1a5..83bb4ff131a 100644 --- a/doc/qtcreator/src/editors/creator-locator.qdoc +++ b/doc/qtcreator/src/editors/creator-locator.qdoc @@ -8,7 +8,9 @@ \title Searching with the Locator - You can find the locator in the bottom left of the \QC window. + By default, you can find the locator in the bottom left of the \QC window. + To open it as a centered popup, click \inlineimage icons/magnifier.png + (\uicontrol Options) in it and select \uicontrol {Open as Centered Popup}. \image qtcreator-locator.png "List of locator filters" @@ -57,8 +59,8 @@ It is also possible to enter only a part of a search string. As you type, the locator shows the occurrences of that string regardless of where in the - name of an component it appears. Some locator filters, such as colon and - \c m, support \e fuzzy matching, which means that you can enter the + name of an component it appears. Some locator filters, such as colon, \c m, + and \c t, support \e fuzzy matching, which means that you can enter the uppercase letters to locate a symbol when using camel case or the letters after the underscore when using snake case. @@ -125,7 +127,7 @@ (\c {git}). For more information, see \l{Using Git}. \endif - \li Triggering menu items from the main menu (\c {t}) + \li Triggering actions (\c {t}) \li Searching for issues from the \l{https://bugreports.qt.io/} {Qt Project Bug Tracker} (\c bug). From 60d78e4bb0d037acb28f4a55b7d629b6bd21b0c6 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 30 Sep 2022 11:02:49 +0200 Subject: [PATCH 49/96] Squish: Cancel wizard early if settings are wrong Add an error label for the user and stop internal actions to avoid displaying error message dialogs with less helpful information. Change-Id: Ie0d075121fabb56b67300eaf6c0ebde674475b9c Reviewed-by: David Schulz --- src/plugins/squish/squishwizardpages.cpp | 21 +++++++++++++++++++-- src/plugins/squish/squishwizardpages.h | 3 +++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/plugins/squish/squishwizardpages.cpp b/src/plugins/squish/squishwizardpages.cpp index 0a18a81495f..8287482bf24 100644 --- a/src/plugins/squish/squishwizardpages.cpp +++ b/src/plugins/squish/squishwizardpages.cpp @@ -4,10 +4,12 @@ #include "squishwizardpages.h" #include "squishfilehandler.h" +#include "squishplugin.h" #include "squishsettings.h" #include "squishtools.h" #include "squishtr.h" +#include #include #include @@ -47,7 +49,7 @@ SquishToolkitsPage::SquishToolkitsPage() resize(400, 300); setTitle(Tr::tr("Create New Squish Test Suite")); - auto layout = new QHBoxLayout(this); + auto layout = new QVBoxLayout(this); auto groupBox = new QGroupBox(Tr::tr("Available GUI toolkits:"), this); auto buttonLayout = new QVBoxLayout(groupBox); @@ -63,6 +65,15 @@ SquishToolkitsPage::SquishToolkitsPage() } groupBox->setLayout(buttonLayout); layout->addWidget(groupBox); + + m_errorLabel = new Utils::InfoLabel(Tr::tr("Invalid Squish settings. Configure Squish " + "installation path inside " + "Preferences... > Squish > General to use " + "this wizard."), + Utils::InfoLabel::Error, this); + m_errorLabel->setVisible(false); + layout->addWidget(m_errorLabel); + auto hiddenLineEdit = new QLineEdit(this); hiddenLineEdit->setVisible(false); layout->addWidget(hiddenLineEdit); @@ -99,7 +110,13 @@ bool SquishToolkitsPage::handleReject() void SquishToolkitsPage::delayedInitialize() { - fetchServerSettings(); + const auto s = SquishPlugin::squishSettings(); + const Utils::FilePath server = s->squishPath.filePath().pathAppended( + Utils::HostOsInfo::withExecutableSuffix("bin/squishserver")); + if (server.isExecutableFile()) + fetchServerSettings(); + else + m_errorLabel->setVisible(true); } void SquishToolkitsPage::fetchServerSettings() diff --git a/src/plugins/squish/squishwizardpages.h b/src/plugins/squish/squishwizardpages.h index 84e8840680f..81cbbfc7e2f 100644 --- a/src/plugins/squish/squishwizardpages.h +++ b/src/plugins/squish/squishwizardpages.h @@ -13,6 +13,8 @@ class QComboBox; class QLineEdit; QT_END_NAMESPACE +namespace Utils { class InfoLabel; } + namespace Squish { namespace Internal { @@ -43,6 +45,7 @@ private: QButtonGroup *m_buttonGroup = nullptr; QLineEdit *m_hiddenLineEdit = nullptr; + Utils::InfoLabel *m_errorLabel = nullptr; }; class SquishScriptLanguagePageFactory : public ProjectExplorer::JsonWizardPageFactory From 243e473b4ccc8686910e30e13a3b89ada2815e86 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 30 Sep 2022 15:28:33 +0300 Subject: [PATCH 50/96] QmlDesigner: Fix timeline check when committing dynamic property value Timeline has to be recording for us to care about it at value commit. Otherwise, if there is timeline but it's not recording, we end up with soft assert and losing the dynamic typename, which causes isDynamic checks to fail later on that property. Change-Id: Ib63467ecc4fca1d14409d3c68bb3a5fcd13c10ce Reviewed-by: Thomas Hartmann Reviewed-by: Qt CI Bot --- .../components/propertyeditor/dynamicpropertiesproxymodel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/propertyeditor/dynamicpropertiesproxymodel.cpp b/src/plugins/qmldesigner/components/propertyeditor/dynamicpropertiesproxymodel.cpp index b5791ba2870..2c0772a5e1a 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/dynamicpropertiesproxymodel.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/dynamicpropertiesproxymodel.cpp @@ -335,7 +335,8 @@ void DynamicPropertyRow::commitValue(const QVariant &value) QByteArrayLiteral("DynamicPropertiesModel::commitValue")); try { QmlObjectNode objectNode = variantProperty.parentQmlObjectNode(); - if (view->currentState().isBaseState() && !objectNode.timelineIsActive()) { + if (view->currentState().isBaseState() + && !(objectNode.timelineIsActive() && objectNode.currentTimeline().isRecording())) { if (variantProperty.value() != value) variantProperty.setDynamicTypeNameAndValue(variantProperty.dynamicTypeName(), value); } else { From f65c42c7976b022f98f8e3d0120b293701909372 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 15:28:38 +0200 Subject: [PATCH 51/96] Various plugins: Limit the usage of std::make_pair Make the code less verbose. Change-Id: I22ceb8d74567d78042f537b185f8e504227c24c6 Reviewed-by: hjk --- src/plugins/qnx/qnxconfiguration.cpp | 2 +- src/plugins/qtsupport/qtoptionspage.cpp | 6 +++--- tests/auto/qml/codemodel/importscheck/tst_importscheck.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/qnx/qnxconfiguration.cpp b/src/plugins/qnx/qnxconfiguration.cpp index a147df4a6ba..b17c240a469 100644 --- a/src/plugins/qnx/qnxconfiguration.cpp +++ b/src/plugins/qnx/qnxconfiguration.cpp @@ -264,7 +264,7 @@ QnxConfiguration::QnxToolChainMap QnxConfiguration::createToolChain(const Target toolChain->resetToolChain(qccCompilerPath()); ToolChainManager::registerToolChain(toolChain); - toolChainMap.insert(std::make_pair(language, toolChain)); + toolChainMap.insert({language, toolChain}); } return toolChainMap; diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 8b2115f7c1d..ada5f3c842e 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -629,14 +629,14 @@ void QtOptionsPageWidget::addQtDir() if (BuildableHelperLibrary::isQtChooser(qtVersion)) qtVersion = BuildableHelperLibrary::qtChooserToQmakePath(qtVersion.symLinkTarget()); - auto checkAlreadyExists = [qtVersion](TreeItem *parent) { + auto checkAlreadyExists = [qtVersion](TreeItem *parent) -> QPair { for (int i = 0; i < parent->childCount(); ++i) { auto item = static_cast(parent->childAt(i)); if (item->version()->qmakeFilePath() == qtVersion) { - return std::make_pair(true, item->version()->displayName()); + return {true, item->version()->displayName()}; } } - return std::make_pair(false, QString()); + return {false, {}}; }; bool alreadyExists; diff --git a/tests/auto/qml/codemodel/importscheck/tst_importscheck.cpp b/tests/auto/qml/codemodel/importscheck/tst_importscheck.cpp index e7959540f21..45d5f51577e 100644 --- a/tests/auto/qml/codemodel/importscheck/tst_importscheck.cpp +++ b/tests/auto/qml/codemodel/importscheck/tst_importscheck.cpp @@ -311,13 +311,13 @@ void tst_ImportCheck::moduleMapping_data() QTest::newRow("check that QtQuick controls cannot be found with a mapping") << QString(TESTSRCDIR "/moduleMapping/importQtQuick.qml") << QString(TESTSRCDIR "/moduleMapping") - << StrStrHash({ std::make_pair(QStringLiteral("QtQuick.Controls"), QStringLiteral("MyControls")) }) + << StrStrHash({{QStringLiteral("QtQuick.Controls"), QStringLiteral("MyControls")}}) << QStringList({ "Item", "Button" }) << false; QTest::newRow("check that custom controls can be found with a mapping") << QString(TESTSRCDIR "/moduleMapping/importQtQuick.qml") << QString(TESTSRCDIR "/moduleMapping") - << StrStrHash({ std::make_pair(QStringLiteral("QtQuick.Controls"), QStringLiteral("MyControls")) }) + << StrStrHash({{QStringLiteral("QtQuick.Controls"), QStringLiteral("MyControls")}}) << QStringList({ "Item", "Oblong" }) // item is in QtQuick, and should still be found, as only // the QtQuick.Controls are redirected << true; From 4b1f1cb33502df5ab0597629c95cdce978d6476b Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 10:13:25 +0200 Subject: [PATCH 52/96] CppEditor: inline clangdiagnosticconfigswidget.ui Change-Id: Ic0800378b31eac71c743cda13e7306c0c1131129 Reviewed-by: Alessandro Portale --- src/plugins/cppeditor/CMakeLists.txt | 2 +- .../clangdiagnosticconfigswidget.cpp | 102 +++++++++++------- .../cppeditor/clangdiagnosticconfigswidget.h | 15 +-- .../cppeditor/clangdiagnosticconfigswidget.ui | 87 --------------- src/plugins/cppeditor/cppeditor.qbs | 1 - 5 files changed, 71 insertions(+), 136 deletions(-) delete mode 100644 src/plugins/cppeditor/clangdiagnosticconfigswidget.ui diff --git a/src/plugins/cppeditor/CMakeLists.txt b/src/plugins/cppeditor/CMakeLists.txt index 7d03b0c599e..66c81ebc5ca 100644 --- a/src/plugins/cppeditor/CMakeLists.txt +++ b/src/plugins/cppeditor/CMakeLists.txt @@ -14,7 +14,7 @@ add_qtc_plugin(CppEditor clangdiagnosticconfig.cpp clangdiagnosticconfig.h clangdiagnosticconfigsmodel.cpp clangdiagnosticconfigsmodel.h clangdiagnosticconfigsselectionwidget.cpp clangdiagnosticconfigsselectionwidget.h - clangdiagnosticconfigswidget.cpp clangdiagnosticconfigswidget.h clangdiagnosticconfigswidget.ui + clangdiagnosticconfigswidget.cpp clangdiagnosticconfigswidget.h compileroptionsbuilder.cpp compileroptionsbuilder.h cppautocompleter.cpp cppautocompleter.h cppbuiltinmodelmanagersupport.cpp cppbuiltinmodelmanagersupport.h diff --git a/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp b/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp index d8007e0ceee..7ffd36d7e01 100644 --- a/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp +++ b/src/plugins/cppeditor/clangdiagnosticconfigswidget.cpp @@ -4,20 +4,24 @@ #include "clangdiagnosticconfigswidget.h" #include "clangdiagnosticconfigsmodel.h" -#include "ui_clangdiagnosticconfigswidget.h" #include "wrappablelineedit.h" #include #include +#include #include #include #include #include #include +#include #include #include #include +#include +#include +#include using namespace Utils; @@ -145,40 +149,57 @@ ClangDiagnosticConfigsWidget::ClangDiagnosticConfigsWidget(const ClangDiagnostic const Id &configToSelect, QWidget *parent) : QWidget(parent) - , m_ui(new Ui::ClangDiagnosticConfigsWidget) , m_configsModel(new ConfigsModel(configs)) { - m_ui->setupUi(this); - m_ui->configsView->setHeaderHidden(true); - m_ui->configsView->setUniformRowHeights(true); - m_ui->configsView->setRootIsDecorated(false); - m_ui->configsView->setModel(m_configsModel); - m_ui->configsView->setCurrentIndex(m_configsModel->itemForConfigId(configToSelect)->index()); - m_ui->configsView->setItemsExpandable(false); - m_ui->configsView->expandAll(); - connect(m_ui->configsView->selectionModel(), - &QItemSelectionModel::currentChanged, - this, - &ClangDiagnosticConfigsWidget::sync); + auto copyButton = new QPushButton(tr("Copy...")); + m_renameButton = new QPushButton(tr("Rename...")); + m_removeButton = new QPushButton(tr("Remove")); + + m_infoLabel = new InfoLabel; + + m_configsView = new QTreeView; + m_configsView->setHeaderHidden(true); + m_configsView->setUniformRowHeights(true); + m_configsView->setRootIsDecorated(false); + m_configsView->setModel(m_configsModel); + m_configsView->setCurrentIndex(m_configsModel->itemForConfigId(configToSelect)->index()); + m_configsView->setItemsExpandable(false); + m_configsView->expandAll(); m_clangBaseChecks = new ClangBaseChecksWidget; - m_ui->tabWidget->addTab(m_clangBaseChecks, tr("Clang Warnings")); - m_ui->tabWidget->setCurrentIndex(0); + m_tabWidget = new QTabWidget; + m_tabWidget->addTab(m_clangBaseChecks, tr("Clang Warnings")); - connect(m_ui->copyButton, &QPushButton::clicked, + using namespace Layouting; + + Column { + Row { + m_configsView, + Column { + copyButton, + m_renameButton, + m_removeButton, + st + } + }, + m_infoLabel, + m_tabWidget + }.attachTo(this); + + connect(copyButton, &QPushButton::clicked, this, &ClangDiagnosticConfigsWidget::onCopyButtonClicked); - connect(m_ui->renameButton, &QPushButton::clicked, + connect(m_renameButton, &QPushButton::clicked, this, &ClangDiagnosticConfigsWidget::onRenameButtonClicked); - connect(m_ui->removeButton, &QPushButton::clicked, + connect(m_removeButton, &QPushButton::clicked, this, &ClangDiagnosticConfigsWidget::onRemoveButtonClicked); + connect(m_configsView->selectionModel(), &QItemSelectionModel::currentChanged, + this, &ClangDiagnosticConfigsWidget::sync); + connectClangOnlyOptionsChanged(); } -ClangDiagnosticConfigsWidget::~ClangDiagnosticConfigsWidget() -{ - delete m_ui; -} +ClangDiagnosticConfigsWidget::~ClangDiagnosticConfigsWidget() = default; void ClangDiagnosticConfigsWidget::onCopyButtonClicked() { @@ -195,7 +216,7 @@ void ClangDiagnosticConfigsWidget::onCopyButtonClicked() = ClangDiagnosticConfigsModel::createCustomConfig(config, newName); m_configsModel->appendCustomConfig(customConfig); - m_ui->configsView->setCurrentIndex( + m_configsView->setCurrentIndex( m_configsModel->itemForConfigId(customConfig.id())->index()); sync(); m_clangBaseChecks->diagnosticOptionsTextEdit->setFocus(); @@ -221,7 +242,7 @@ void ClangDiagnosticConfigsWidget::onRenameButtonClicked() const ClangDiagnosticConfig ClangDiagnosticConfigsWidget::currentConfig() const { - TreeItem *item = m_configsModel->itemForIndex(m_ui->configsView->currentIndex()); + TreeItem *item = m_configsModel->itemForIndex(m_configsView->currentIndex()); return static_cast(item)->config; } @@ -229,7 +250,7 @@ void ClangDiagnosticConfigsWidget::onRemoveButtonClicked() { const Id configToRemove = currentConfig().id(); if (m_configsModel->customConfigsCount() == 1) - m_ui->configsView->setCurrentIndex(m_configsModel->fallbackConfigIndex()); + m_configsView->setCurrentIndex(m_configsModel->fallbackConfigIndex()); m_configsModel->removeConfig(configToRemove); sync(); } @@ -299,7 +320,7 @@ void ClangDiagnosticConfigsWidget::onClangOnlyOptionsChanged() void ClangDiagnosticConfigsWidget::sync() { - if (!m_ui->configsView->currentIndex().isValid()) + if (!m_configsView->currentIndex().isValid()) return; disconnectClangOnlyOptionsChanged(); @@ -307,8 +328,8 @@ void ClangDiagnosticConfigsWidget::sync() // Update main button row const ClangDiagnosticConfig &config = currentConfig(); - m_ui->removeButton->setEnabled(!config.isReadOnly()); - m_ui->renameButton->setEnabled(!config.isReadOnly()); + m_removeButton->setEnabled(!config.isReadOnly()); + m_renameButton->setEnabled(!config.isReadOnly()); // Update check box m_clangBaseChecks->useFlagsFromBuildSystemCheckBox->setChecked(config.useBuildSystemWarnings()); @@ -321,9 +342,9 @@ void ClangDiagnosticConfigsWidget::sync() m_clangBaseChecks->setEnabled(!config.isReadOnly()); if (config.isReadOnly()) { - m_ui->infoLabel->setType(InfoLabel::Information); - m_ui->infoLabel->setText(tr("Copy this configuration to customize it.")); - m_ui->infoLabel->setFilled(false); + m_infoLabel->setType(InfoLabel::Information); + m_infoLabel->setText(tr("Copy this configuration to customize it.")); + m_infoLabel->setFilled(false); } syncExtraWidgets(config); @@ -347,13 +368,13 @@ void ClangDiagnosticConfigsWidget::setDiagnosticOptions(const QString &options) void ClangDiagnosticConfigsWidget::updateValidityWidgets(const QString &errorMessage) { if (errorMessage.isEmpty()) { - m_ui->infoLabel->setType(InfoLabel::Information); - m_ui->infoLabel->setText(tr("Configuration passes sanity checks.")); - m_ui->infoLabel->setFilled(false); + m_infoLabel->setType(InfoLabel::Information); + m_infoLabel->setText(tr("Configuration passes sanity checks.")); + m_infoLabel->setFilled(false); } else { - m_ui->infoLabel->setType(InfoLabel::Error); - m_ui->infoLabel->setText(tr("%1").arg(errorMessage)); - m_ui->infoLabel->setFilled(true); + m_infoLabel->setType(InfoLabel::Error); + m_infoLabel->setText(tr("%1").arg(errorMessage)); + m_infoLabel->setFilled(true); } } @@ -371,8 +392,7 @@ void ClangDiagnosticConfigsWidget::connectClangOnlyOptionsChanged() void ClangDiagnosticConfigsWidget::disconnectClangOnlyOptionsChanged() { - disconnect(m_clangBaseChecks->useFlagsFromBuildSystemCheckBox, - &QCheckBox::stateChanged, + disconnect(m_clangBaseChecks->useFlagsFromBuildSystemCheckBox, &QCheckBox::stateChanged, this, &ClangDiagnosticConfigsWidget::onClangOnlyOptionsChanged); disconnect(m_clangBaseChecks->diagnosticOptionsTextEdit->document(), @@ -388,7 +408,7 @@ ClangDiagnosticConfigs ClangDiagnosticConfigsWidget::configs() const QTabWidget *ClangDiagnosticConfigsWidget::tabWidget() const { - return m_ui->tabWidget; + return m_tabWidget; } } // CppEditor namespace diff --git a/src/plugins/cppeditor/clangdiagnosticconfigswidget.h b/src/plugins/cppeditor/clangdiagnosticconfigswidget.h index d8c89f78f07..2b088f6adda 100644 --- a/src/plugins/cppeditor/clangdiagnosticconfigswidget.h +++ b/src/plugins/cppeditor/clangdiagnosticconfigswidget.h @@ -10,19 +10,18 @@ #include #include -#include - QT_BEGIN_NAMESPACE +class QPushButton; class QTabWidget; +class QTreeView; QT_END_NAMESPACE +namespace Utils { class InfoLabel; } + namespace CppEditor { class ClangDiagnosticConfig; class ClangBaseChecksWidget; - -namespace Ui { class ClangDiagnosticConfigsWidget; } - class ConfigsModel; class CPPEDITOR_EXPORT ClangDiagnosticConfigsWidget : public QWidget @@ -59,11 +58,15 @@ private: void disconnectClangOnlyOptionsChanged(); private: - Ui::ClangDiagnosticConfigsWidget *m_ui; ConfigsModel *m_configsModel = nullptr; QHash m_notAcceptedOptions; ClangBaseChecksWidget *m_clangBaseChecks = nullptr; + QTreeView *m_configsView; + Utils::InfoLabel *m_infoLabel; + QTabWidget *m_tabWidget; + QPushButton *m_renameButton; + QPushButton *m_removeButton; }; } // CppEditor namespace diff --git a/src/plugins/cppeditor/clangdiagnosticconfigswidget.ui b/src/plugins/cppeditor/clangdiagnosticconfigswidget.ui deleted file mode 100644 index ff3f99d1227..00000000000 --- a/src/plugins/cppeditor/clangdiagnosticconfigswidget.ui +++ /dev/null @@ -1,87 +0,0 @@ - - - CppEditor::ClangDiagnosticConfigsWidget - - - - 0 - 0 - 665 - 300 - - - - - - - - - - - - - - - - - Copy... - - - - - - - Rename... - - - - - - - Remove - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - - InfoText - - - - - - - - - - - - - Utils::InfoLabel - QLabel -
utils/infolabel.h
-
-
- - -
diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index 11e13262bae..1eb2755b390 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -49,7 +49,6 @@ QtcPlugin { "clangdiagnosticconfigsselectionwidget.h", "clangdiagnosticconfigswidget.cpp", "clangdiagnosticconfigswidget.h", - "clangdiagnosticconfigswidget.ui", "compileroptionsbuilder.cpp", "compileroptionsbuilder.h", "cppautocompleter.cpp", From 5ff70b6f9950b00353bcc3887df0c91bd82a5d77 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 12:38:51 +0200 Subject: [PATCH 53/96] ProjectExplorer: Introduce an IDevice::usableAsBuildDevice Better approach than whitelisting ids from leaf plugins. Change-Id: Ida7e23d7ea02eb76d7de4049737f2cb0fad2b9d7 Reviewed-by: Reviewed-by: Christian Kandeler --- src/plugins/docker/dockerdevice.cpp | 5 +++++ src/plugins/docker/dockerdevice.h | 1 + src/plugins/projectexplorer/devicesupport/desktopdevice.cpp | 5 +++++ src/plugins/projectexplorer/devicesupport/desktopdevice.h | 1 + src/plugins/projectexplorer/devicesupport/idevice.h | 2 ++ src/plugins/projectexplorer/kitinformation.cpp | 5 +---- 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index 2abd9ed946e..64d1b1edf6e 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -667,6 +667,11 @@ DeviceEnvironmentFetcher::Ptr DockerDevice::environmentFetcher() const return DeviceEnvironmentFetcher::Ptr(); } +bool DockerDevice::usableAsBuildDevice() const +{ + return true; +} + FilePath DockerDevice::mapToGlobalPath(const FilePath &pathOnDevice) const { if (pathOnDevice.needsDevice()) { diff --git a/src/plugins/docker/dockerdevice.h b/src/plugins/docker/dockerdevice.h index 32997070693..7de2a762829 100644 --- a/src/plugins/docker/dockerdevice.h +++ b/src/plugins/docker/dockerdevice.h @@ -76,6 +76,7 @@ public: ProjectExplorer::DeviceTester *createDeviceTester() const override; ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override; ProjectExplorer::DeviceEnvironmentFetcher::Ptr environmentFetcher() const override; + bool usableAsBuildDevice() const override; Utils::FilePath mapToGlobalPath(const Utils::FilePath &pathOnDevice) const override; QString mapToDevicePath(const Utils::FilePath &globalPath) const override; diff --git a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp index 9b21fc0f79d..baee2cd84eb 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp @@ -126,6 +126,11 @@ QUrl DesktopDevice::toolControlChannel(const ControlChannelHint &) const return url; } +bool DesktopDevice::usableAsBuildDevice() const +{ + return true; +} + bool DesktopDevice::handlesFile(const FilePath &filePath) const { return !filePath.needsDevice(); diff --git a/src/plugins/projectexplorer/devicesupport/desktopdevice.h b/src/plugins/projectexplorer/devicesupport/desktopdevice.h index 8f7de354a2d..b310c73b7d3 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdevice.h +++ b/src/plugins/projectexplorer/devicesupport/desktopdevice.h @@ -30,6 +30,7 @@ public: DeviceProcessSignalOperation::Ptr signalOperation() const override; DeviceEnvironmentFetcher::Ptr environmentFetcher() const override; QUrl toolControlChannel(const ControlChannelHint &) const override; + bool usableAsBuildDevice() const override; bool handlesFile(const Utils::FilePath &filePath) const override; Utils::Environment systemEnvironment() const override; diff --git a/src/plugins/projectexplorer/devicesupport/idevice.h b/src/plugins/projectexplorer/devicesupport/idevice.h index 06f1e28929d..3e144a9e502 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.h +++ b/src/plugins/projectexplorer/devicesupport/idevice.h @@ -137,6 +137,8 @@ public: virtual bool isCompatibleWith(const Kit *k) const; virtual QList validate() const; + virtual bool usableAsBuildDevice() const { return false; } + QString displayType() const; Utils::OsType osType() const; diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index b5b9f47bc8d..556cade2299 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -13,8 +13,6 @@ #include "toolchain.h" #include "toolchainmanager.h" -#include - #include #include #include @@ -1183,8 +1181,7 @@ private: const DeviceManager *dm = DeviceManager::instance(); for (int i = 0; i < dm->deviceCount(); ++i) { IDevice::ConstPtr device = dm->deviceAt(i); - if (!(device->type() == Constants::DESKTOP_DEVICE_TYPE - || device->type() == Docker::Constants::DOCKER_DEVICE_TYPE)) + if (!device->usableAsBuildDevice()) blackList.append(device->id()); } From 57b32ed7737c588b51135a649675ec17f0c3bf69 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 10:27:20 +0200 Subject: [PATCH 54/96] CppEditor: Inline cpppreprocessordialog.ui Change-Id: I2941e6fd3da93d1a71fb7d98e6d39634ae957d42 Reviewed-by: Alessandro Portale Reviewed-by: --- src/plugins/cppeditor/CMakeLists.txt | 2 +- src/plugins/cppeditor/cppeditor.qbs | 1 - .../cppeditor/cpppreprocessordialog.cpp | 48 +++++++---- src/plugins/cppeditor/cpppreprocessordialog.h | 12 +-- .../cppeditor/cpppreprocessordialog.ui | 81 ------------------- 5 files changed, 41 insertions(+), 103 deletions(-) delete mode 100644 src/plugins/cppeditor/cpppreprocessordialog.ui diff --git a/src/plugins/cppeditor/CMakeLists.txt b/src/plugins/cppeditor/CMakeLists.txt index 66c81ebc5ca..98395e52b97 100644 --- a/src/plugins/cppeditor/CMakeLists.txt +++ b/src/plugins/cppeditor/CMakeLists.txt @@ -65,7 +65,7 @@ add_qtc_plugin(CppEditor cppoutlinemodel.cpp cppoutlinemodel.h cppparsecontext.cpp cppparsecontext.h cpppointerdeclarationformatter.cpp cpppointerdeclarationformatter.h - cpppreprocessordialog.cpp cpppreprocessordialog.h cpppreprocessordialog.ui + cpppreprocessordialog.cpp cpppreprocessordialog.h cppprojectfile.cpp cppprojectfile.h cppprojectfilecategorizer.cpp cppprojectfilecategorizer.h cppprojectinfogenerator.cpp cppprojectinfogenerator.h diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index 1eb2755b390..5cb82d12a69 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -150,7 +150,6 @@ QtcPlugin { "cppprojectpartchooser.h", "cpppreprocessordialog.cpp", "cpppreprocessordialog.h", - "cpppreprocessordialog.ui", "cppprojectfile.cpp", "cppprojectfile.h", "cppprojectfilecategorizer.cpp", diff --git a/src/plugins/cppeditor/cpppreprocessordialog.cpp b/src/plugins/cppeditor/cpppreprocessordialog.cpp index 1b9aedcc575..a7c1a6cddad 100644 --- a/src/plugins/cppeditor/cpppreprocessordialog.cpp +++ b/src/plugins/cppeditor/cpppreprocessordialog.cpp @@ -2,7 +2,6 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "cpppreprocessordialog.h" -#include "ui_cpppreprocessordialog.h" #include "cppeditorwidget.h" #include "cppeditorconstants.h" @@ -10,28 +9,47 @@ #include -using namespace CppEditor::Internal; +#include + +#include + +#include + +using namespace Utils; + +namespace CppEditor::Internal { CppPreProcessorDialog::CppPreProcessorDialog(const QString &filePath, QWidget *parent) : QDialog(parent) - , m_ui(new Ui::CppPreProcessorDialog()) , m_filePath(filePath) { - m_ui->setupUi(this); - m_ui->editorLabel->setText(m_ui->editorLabel->text().arg(Utils::FilePath::fromString(m_filePath).fileName())); - m_ui->editWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); - - decorateCppEditor(m_ui->editWidget); + resize(400, 300); + setWindowTitle(tr("Additional C++ Preprocessor Directives")); const QString key = Constants::EXTRA_PREPROCESSOR_DIRECTIVES + m_filePath; const QString directives = ProjectExplorer::SessionManager::value(key).toString(); - m_ui->editWidget->setPlainText(directives); + + m_editWidget = new TextEditor::SnippetEditorWidget; + m_editWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + m_editWidget->setPlainText(directives); + decorateCppEditor(m_editWidget); + + auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); + + using namespace Layouting; + + Column { + tr("Additional C++ Preprocessor Directives for %1:") + .arg(Utils::FilePath::fromString(m_filePath).fileName()), + m_editWidget, + buttonBox, + }.attachTo(this); + + connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); } -CppPreProcessorDialog::~CppPreProcessorDialog() -{ - delete m_ui; -} +CppPreProcessorDialog::~CppPreProcessorDialog() = default; int CppPreProcessorDialog::exec() { @@ -46,5 +64,7 @@ int CppPreProcessorDialog::exec() QString CppPreProcessorDialog::extraPreprocessorDirectives() const { - return m_ui->editWidget->toPlainText(); + return m_editWidget->toPlainText(); } + +} // CppEditor::Internal diff --git a/src/plugins/cppeditor/cpppreprocessordialog.h b/src/plugins/cppeditor/cpppreprocessordialog.h index d57b4d56275..6dcd69f1821 100644 --- a/src/plugins/cppeditor/cpppreprocessordialog.h +++ b/src/plugins/cppeditor/cpppreprocessordialog.h @@ -6,9 +6,9 @@ #include #include -namespace CppEditor { -namespace Internal { -namespace Ui { class CppPreProcessorDialog; } +namespace TextEditor { class SnippetEditorWidget; } + +namespace CppEditor::Internal { class CppPreProcessorDialog : public QDialog { @@ -23,10 +23,10 @@ public: QString extraPreprocessorDirectives() const; private: - Ui::CppPreProcessorDialog *m_ui; const QString m_filePath; const QString m_projectPartId; + + TextEditor::SnippetEditorWidget *m_editWidget; }; -} // namespace Internal -} // namespace CppEditor +} // CppEditor::Internal diff --git a/src/plugins/cppeditor/cpppreprocessordialog.ui b/src/plugins/cppeditor/cpppreprocessordialog.ui deleted file mode 100644 index 4dbcd968b8c..00000000000 --- a/src/plugins/cppeditor/cpppreprocessordialog.ui +++ /dev/null @@ -1,81 +0,0 @@ - - - CppEditor::Internal::CppPreProcessorDialog - - - - 0 - 0 - 400 - 300 - - - - Additional C++ Preprocessor Directives - - - - - - Additional C++ Preprocessor Directives for %1: - - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - TextEditor::SnippetEditorWidget - QPlainTextEdit -
texteditor/snippets/snippeteditor.h
-
-
- - - - buttonBox - accepted() - CppEditor::Internal::CppPreProcessorDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - CppEditor::Internal::CppPreProcessorDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - -
From f2b2f488e271f8ad607cfb90ae8aff6f3951291a Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 30 Sep 2022 16:33:53 +0300 Subject: [PATCH 55/96] QmlDesigner: Fix mouse position on material browser to 3d editor drag The mouse position from Edit3DWidget needs to be mapped to Edit3DCanvas before resolving the 3d position. Fixes: QDS-7840 Change-Id: I85bc1e9268d6f683382a5431997263429ea13470 Reviewed-by: Qt CI Bot Reviewed-by: Mahmoud Badri --- src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp index 30b8894bbe9..e05c3dd10a7 100644 --- a/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp +++ b/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp @@ -339,6 +339,8 @@ void Edit3DWidget::dragEnterEvent(QDragEnterEvent *dragEnterEvent) void Edit3DWidget::dropEvent(QDropEvent *dropEvent) { + const QPointF pos = m_canvas->mapFrom(this, dropEvent->position()); + // handle dropping materials if (dropEvent->mimeData()->hasFormat(Constants::MIME_TYPE_MATERIAL)) { QByteArray data = dropEvent->mimeData()->data(Constants::MIME_TYPE_MATERIAL); @@ -348,13 +350,13 @@ void Edit3DWidget::dropEvent(QDropEvent *dropEvent) ModelNode matNode = m_view->modelNodeForInternalId(internalId); if (matNode.isValid()) - m_view->dropMaterial(matNode, dropEvent->position()); + m_view->dropMaterial(matNode, pos); return; } // handle dropping bundle materials if (dropEvent->mimeData()->hasFormat(Constants::MIME_TYPE_BUNDLE_MATERIAL)) { - m_view->dropBundleMaterial(dropEvent->position()); + m_view->dropBundleMaterial(pos); return; } From 8640e00447c20b262553aa3c01eaddd87c01f42a Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 10:32:18 +0200 Subject: [PATCH 56/96] CppEditor: Proliferate FilePath use a bit Change-Id: I7e2669c3adf5de39804da2bf06d99f5ae03447dd Reviewed-by: Alessandro Portale Reviewed-by: --- src/plugins/cppeditor/cppeditorwidget.cpp | 2 +- src/plugins/cppeditor/cpppreprocessordialog.cpp | 10 ++++------ src/plugins/cppeditor/cpppreprocessordialog.h | 6 ++++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp index 94d69382420..55f173c4a5b 100644 --- a/src/plugins/cppeditor/cppeditorwidget.cpp +++ b/src/plugins/cppeditor/cppeditorwidget.cpp @@ -1321,7 +1321,7 @@ void CppEditorWidget::abortDeclDefLink() void CppEditorWidget::showPreProcessorWidget() { - const QString filePath = textDocument()->filePath().toString(); + const FilePath filePath = textDocument()->filePath(); CppPreProcessorDialog dialog(filePath, this); if (dialog.exec() == QDialog::Accepted) { diff --git a/src/plugins/cppeditor/cpppreprocessordialog.cpp b/src/plugins/cppeditor/cpppreprocessordialog.cpp index a7c1a6cddad..8183b90c25c 100644 --- a/src/plugins/cppeditor/cpppreprocessordialog.cpp +++ b/src/plugins/cppeditor/cpppreprocessordialog.cpp @@ -3,7 +3,6 @@ #include "cpppreprocessordialog.h" -#include "cppeditorwidget.h" #include "cppeditorconstants.h" #include "cpptoolsreuse.h" @@ -19,14 +18,14 @@ using namespace Utils; namespace CppEditor::Internal { -CppPreProcessorDialog::CppPreProcessorDialog(const QString &filePath, QWidget *parent) +CppPreProcessorDialog::CppPreProcessorDialog(const FilePath &filePath, QWidget *parent) : QDialog(parent) , m_filePath(filePath) { resize(400, 300); setWindowTitle(tr("Additional C++ Preprocessor Directives")); - const QString key = Constants::EXTRA_PREPROCESSOR_DIRECTIVES + m_filePath; + const QString key = Constants::EXTRA_PREPROCESSOR_DIRECTIVES + m_filePath.toString(); const QString directives = ProjectExplorer::SessionManager::value(key).toString(); m_editWidget = new TextEditor::SnippetEditorWidget; @@ -39,8 +38,7 @@ CppPreProcessorDialog::CppPreProcessorDialog(const QString &filePath, QWidget *p using namespace Layouting; Column { - tr("Additional C++ Preprocessor Directives for %1:") - .arg(Utils::FilePath::fromString(m_filePath).fileName()), + tr("Additional C++ Preprocessor Directives for %1:").arg(m_filePath.fileName()), m_editWidget, buttonBox, }.attachTo(this); @@ -56,7 +54,7 @@ int CppPreProcessorDialog::exec() if (QDialog::exec() == Rejected) return Rejected; - const QString key = Constants::EXTRA_PREPROCESSOR_DIRECTIVES + m_filePath; + const QString key = Constants::EXTRA_PREPROCESSOR_DIRECTIVES + m_filePath.toString(); ProjectExplorer::SessionManager::setValue(key, extraPreprocessorDirectives()); return Accepted; diff --git a/src/plugins/cppeditor/cpppreprocessordialog.h b/src/plugins/cppeditor/cpppreprocessordialog.h index 6dcd69f1821..1207c8f7d3f 100644 --- a/src/plugins/cppeditor/cpppreprocessordialog.h +++ b/src/plugins/cppeditor/cpppreprocessordialog.h @@ -3,6 +3,8 @@ #pragma once +#include + #include #include @@ -15,7 +17,7 @@ class CppPreProcessorDialog : public QDialog Q_OBJECT public: - explicit CppPreProcessorDialog(const QString &filePath, QWidget *parent); + CppPreProcessorDialog(const Utils::FilePath &filePath, QWidget *parent); ~CppPreProcessorDialog() override; int exec() override; @@ -23,7 +25,7 @@ public: QString extraPreprocessorDirectives() const; private: - const QString m_filePath; + const Utils::FilePath m_filePath; const QString m_projectPartId; TextEditor::SnippetEditorWidget *m_editWidget; From 55efe40a5864a064cbe6605d0e793f0b5c929b3a Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 16:34:09 +0200 Subject: [PATCH 57/96] Vcs plugins: Replace foreach with ranged for loop Change-Id: I9be29ef128f49f62a6e1f450d8c5277b467310e9 Reviewed-by: hjk --- src/plugins/bazaar/bazaarplugin.cpp | 5 +++-- src/plugins/bazaar/commiteditor.cpp | 8 ++++---- src/plugins/clearcase/clearcasesync.cpp | 2 +- src/plugins/cvs/cvsutils.cpp | 2 +- src/plugins/subversion/subversionplugin.cpp | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/plugins/bazaar/bazaarplugin.cpp b/src/plugins/bazaar/bazaarplugin.cpp index 87db4074fb2..b0bdef80d50 100644 --- a/src/plugins/bazaar/bazaarplugin.cpp +++ b/src/plugins/bazaar/bazaarplugin.cpp @@ -834,7 +834,8 @@ bool BazaarPluginPrivate::submitEditorAboutToClose() if (!commitWidget->committer().isEmpty()) extraOptions.append(QLatin1String("--author=") + commitWidget->committer()); // Fixed bugs - foreach (const QString &fix, commitWidget->fixedBugs()) { + const QStringList fixes = commitWidget->fixedBugs(); + for (const QString &fix : fixes) { if (!fix.isEmpty()) extraOptions << QLatin1String("--fixes") << fix; } @@ -864,7 +865,7 @@ void BazaarPluginPrivate::updateActions(VcsBasePluginPrivate::ActionState as) m_revertFile->setParameter(filename); m_statusFile->setParameter(filename); - foreach (QAction *repoAction, m_repositoryActionList) + for (QAction *repoAction : qAsConst(m_repositoryActionList)) repoAction->setEnabled(repoEnabled); } diff --git a/src/plugins/bazaar/commiteditor.cpp b/src/plugins/bazaar/commiteditor.cpp index 2ceb0b6c939..a26cc682bef 100644 --- a/src/plugins/bazaar/commiteditor.cpp +++ b/src/plugins/bazaar/commiteditor.cpp @@ -26,9 +26,9 @@ BazaarCommitWidget *CommitEditor::commitWidget() return static_cast(widget()); } -void CommitEditor::setFields(const QString &repositoryRoot, - const BranchInfo &branch, const QString &userName, - const QString &email, const QList &repoStatus) +void CommitEditor::setFields(const QString &repositoryRoot, const BranchInfo &branch, + const QString &userName, const QString &email, + const QList &repoStatus) { BazaarCommitWidget *bazaarWidget = commitWidget(); if (!bazaarWidget) @@ -50,7 +50,7 @@ void CommitEditor::setFields(const QString &repositoryRoot, return VcsBase::SubmitFileModel::FileStatusUnknown; } ); - foreach (const VcsBase::VcsBaseClient::StatusItem &item, repoStatus) + for (const VcsBase::VcsBaseClient::StatusItem &item : repoStatus) if (item.flags != QLatin1String("Unknown")) m_fileModel->addFile(item.file, item.flags); setFileModel(m_fileModel); diff --git a/src/plugins/clearcase/clearcasesync.cpp b/src/plugins/clearcase/clearcasesync.cpp index d1e0dccc7de..feb52726943 100644 --- a/src/plugins/clearcase/clearcasesync.cpp +++ b/src/plugins/clearcase/clearcasesync.cpp @@ -126,7 +126,7 @@ void ClearCaseSync::updateTotalFilesCount(const QString &view, ClearCaseSettings void ClearCaseSync::updateStatusForNotManagedFiles(const QStringList &files) { - foreach (const QString &file, files) { + for (const QString &file : files) { QString absFile = QFileInfo(file).absoluteFilePath(); if (!m_statusMap->contains(absFile)) ClearCasePlugin::setStatus(absFile, FileStatus::NotManaged, false); diff --git a/src/plugins/cvs/cvsutils.cpp b/src/plugins/cvs/cvsutils.cpp index 252e0f5c393..8ca3a81506e 100644 --- a/src/plugins/cvs/cvsutils.cpp +++ b/src/plugins/cvs/cvsutils.cpp @@ -160,7 +160,7 @@ StateList parseStatusOutput(const QString &directory, const QString &output) QString path = directory; if (!path.isEmpty()) path += slash; - foreach (const QString &l, list) { + for (const QString &l : list) { // Status line containing file if (l.startsWith(fileKeyword)) { // Parse state diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index 9fb57091d2d..3419e9212ed 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -129,7 +129,7 @@ StatusList parseStatusOutput(const QString &output) StatusList changeSet; const QString newLine = QString(QLatin1Char('\n')); const QStringList list = output.split(newLine, Qt::SkipEmptyParts); - foreach (const QString &l, list) { + for (const QString &l : list) { const QString line =l.trimmed(); if (line.size() > 8) { const QByteArray state = line.left(1).toLatin1(); @@ -1039,7 +1039,7 @@ QString SubversionPluginPrivate::monitorFile(const FilePath &repository) const { QTC_ASSERT(!repository.isEmpty(), return QString()); QDir repoDir(repository.toString()); - foreach (const QString &svnDir, m_svnDirectories) { + for (const QString &svnDir : qAsConst(m_svnDirectories)) { if (repoDir.exists(svnDir)) { QFileInfo fi(repoDir.absoluteFilePath(svnDir + QLatin1String("/wc.db"))); if (fi.exists() && fi.isFile()) From 5ab100a2b9ebf3d3fb32bad8a8c5c67fd147c6a3 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 14:58:22 +0200 Subject: [PATCH 58/96] CMakeProjectManager: Limit the usage of std::make_pair Make the code less verbose. Change-Id: I8dc194f0cb4ed38c4c117482a7011019444edc40 Reviewed-by: Reviewed-by: Cristian Adam --- src/plugins/cmakeprojectmanager/cmaketool.cpp | 14 ++++++-------- .../cmakeprojectmanager/fileapidataextractor.cpp | 2 +- src/plugins/cmakeprojectmanager/fileapiparser.cpp | 4 ++-- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmaketool.cpp b/src/plugins/cmakeprojectmanager/cmaketool.cpp index 5d82561d68b..84908df7d05 100644 --- a/src/plugins/cmakeprojectmanager/cmaketool.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketool.cpp @@ -541,13 +541,11 @@ void CMakeTool::parseFromCapabilities(const QString &input) const const QVariantMap object = r.toMap(); const QString kind = object.value("kind").toString(); const QVariantList versionList = object.value("version").toList(); - std::pair highestVersion = std::make_pair(-1, -1); + std::pair highestVersion{-1, -1}; for (const QVariant &v : versionList) { const QVariantMap versionObject = v.toMap(); - const std::pair version = std::make_pair(getVersion(versionObject, - "major"), - getVersion(versionObject, - "minor")); + const std::pair version{getVersion(versionObject, "major"), + getVersion(versionObject, "minor")}; if (version.first > highestVersion.first || (version.first == highestVersion.first && version.second > highestVersion.second)) @@ -566,9 +564,9 @@ void CMakeTool::parseFromCapabilities(const QString &input) const // Fix up fileapi support for cmake 3.14: if (m_introspection->m_version.major == 3 && m_introspection->m_version.minor == 14) { - m_introspection->m_fileApis.append({QString("codemodel"), std::make_pair(2, 0)}); - m_introspection->m_fileApis.append({QString("cache"), std::make_pair(2, 0)}); - m_introspection->m_fileApis.append({QString("cmakefiles"), std::make_pair(1, 0)}); + m_introspection->m_fileApis.append({QString("codemodel"), {2, 0}}); + m_introspection->m_fileApis.append({QString("cache"), {2, 0}}); + m_introspection->m_fileApis.append({QString("cmakefiles"), {1, 0}}); } } diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index 804f6a0841b..4abee299646 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -699,7 +699,7 @@ void setupLocationInfoForTargets(CMakeProjectNode *rootNode, const QList result; for (const FolderNode::LocationInfo &i : bt) { int count = locations.count(); - locations.insert(std::make_pair(i.path, i.line)); + locations.insert({i.path, i.line}); if (count != locations.count()) { result.append(i); } diff --git a/src/plugins/cmakeprojectmanager/fileapiparser.cpp b/src/plugins/cmakeprojectmanager/fileapiparser.cpp index ea323931559..adf05be72ea 100644 --- a/src/plugins/cmakeprojectmanager/fileapiparser.cpp +++ b/src/plugins/cmakeprojectmanager/fileapiparser.cpp @@ -52,7 +52,7 @@ static std::pair cmakeVersion(const QJsonObject &obj) const QJsonObject version = obj.value("version").toObject(); const int major = version.value("major").toInt(-1); const int minor = version.value("minor").toInt(-1); - return std::make_pair(major, minor); + return {major, minor}; } static bool checkJsonObject(const QJsonObject &obj, const QString &kind, int major, int minor = -1) @@ -67,7 +67,7 @@ static bool checkJsonObject(const QJsonObject &obj, const QString &kind, int maj static std::pair nameValue(const QJsonObject &obj) { - return std::make_pair(obj.value("name").toString(), obj.value("value").toString()); + return {obj.value("name").toString(), obj.value("value").toString()}; } static QJsonDocument readJsonFile(const FilePath &filePath) From efbab2e7c4486370eefe1a148a5e30bfb06b87d1 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 17:06:53 +0200 Subject: [PATCH 59/96] CMake: Be a bit more specific on what is not reachable Change-Id: I5d521a9562d36850c264e1af48b46e16c642fde9 Reviewed-by: Cristian Adam --- src/plugins/cmakeprojectmanager/cmakeprocess.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp index 00a958b5496..ce089733632 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp @@ -55,10 +55,19 @@ void CMakeProcess::run(const BuildDirParameters ¶meters, const QStringList & const FilePath cmakeExecutable = cmake->cmakeExecutable(); - if (!cmakeExecutable.ensureReachable(parameters.sourceDirectory) - || !cmakeExecutable.ensureReachable(parameters.buildDirectory)) { + if (!cmakeExecutable.ensureReachable(parameters.sourceDirectory)) { QString msg = ::CMakeProjectManager::Tr::tr( - "The source or build directory is not reachable by the CMake executable."); + "The source directory %1 is not reachable by the CMake executable %2.") + .arg(parameters.sourceDirectory.displayName()).arg(cmakeExecutable.displayName()); + BuildSystem::appendBuildSystemOutput(msg + '\n'); + emit finished(); + return; + } + + if (!cmakeExecutable.ensureReachable(parameters.buildDirectory)) { + QString msg = ::CMakeProjectManager::Tr::tr( + "The build directory %1 is not reachable by the CMake executable %2.") + .arg(parameters.buildDirectory.displayName()).arg(cmakeExecutable.displayName()); BuildSystem::appendBuildSystemOutput(msg + '\n'); emit finished(); return; From c09c7ccba00652dc146df26c161474c9d6283a44 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 18:25:23 +0200 Subject: [PATCH 60/96] Differ: Fix broken logical XOR I bet the intention was to do logical XOR operation. In cpp it's done with operator!=(). Amends: 24a25eed1481a7c563431d79e3ad07840c0f7125 Change-Id: Idfc5dbf09b4f4b6c81aa237a956d5d4e04155c09 Reviewed-by: Alessandro Portale --- src/libs/utils/differ.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libs/utils/differ.cpp b/src/libs/utils/differ.cpp index 8c37d420e7b..7e06359d14b 100644 --- a/src/libs/utils/differ.cpp +++ b/src/libs/utils/differ.cpp @@ -496,7 +496,7 @@ static QString encodeExpandedWhitespace(const QString &leftEquality, *ok = false; if (!leftCodeMap || !rightCodeMap) - return QString(); + return {}; leftCodeMap->clear(); rightCodeMap->clear(); @@ -520,17 +520,17 @@ static QString encodeExpandedWhitespace(const QString &leftEquality, if (leftIndex < leftCount && rightIndex < rightCount) { if (leftEquality.at(leftIndex) != rightEquality.at(rightIndex)) - return QString(); // equalities broken + return {}; // equalities broken } else if (leftIndex == leftCount && rightIndex == rightCount) { ; // do nothing, the last iteration } else { - return QString(); // equalities broken + return {}; // equalities broken } - if (leftWhitespaces.isEmpty() ^ rightWhitespaces.isEmpty()) { + if (leftWhitespaces.isEmpty() != rightWhitespaces.isEmpty()) { // there must be at least 1 corresponding whitespace, equalities broken - return QString(); + return {}; } if (!leftWhitespaces.isEmpty() && !rightWhitespaces.isEmpty()) { @@ -1233,8 +1233,7 @@ QStringList Differ::encode(const QString &text1, QString *encodedText1, QString *encodedText2) { - QStringList lines; - lines.append(QString()); // don't use code: 0 + QStringList lines{{}}; // don't use code: 0 QMap lineToCode; *encodedText1 = encode(text1, &lines, &lineToCode); From b885281ce7a8aec5cca6beeb829208d1f4f672e6 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 11:49:41 +0200 Subject: [PATCH 61/96] Android: Limit the usage of qMakePair Change-Id: Ic079174e75d3a538d5d97fc3931ddd035623f4a6 Reviewed-by: Alessandro Portale Reviewed-by: --- src/plugins/android/androidmanifesteditorwidget.cpp | 2 +- src/plugins/android/androidsdkmanager.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp index 74b40b2b02b..04bd7446b52 100644 --- a/src/plugins/android/androidmanifesteditorwidget.cpp +++ b/src/plugins/android/androidmanifesteditorwidget.cpp @@ -689,7 +689,7 @@ void AndroidManifestEditorWidget::updateInfoBar() void AndroidManifestEditorWidget::updateSdkVersions() { - static const QPair sdkPair = qMakePair(16, 31); + static const QPair sdkPair{16, 31}; int minSdk = sdkPair.first; const int targetSdk = sdkPair.second; const Target *target = androidTarget(m_textEditorWidget->textDocument()->filePath()); diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp index b318c2b1f03..0fed77d2312 100644 --- a/src/plugins/android/androidsdkmanager.cpp +++ b/src/plugins/android/androidsdkmanager.cpp @@ -706,7 +706,7 @@ QPair SdkManagerOutputParser::parseSystemImage(const QString image->setDisplayText(packageData.description); image->setDescriptionText(packageData.description); image->setApiLevel(apiLevel); - result = qMakePair(image, apiLevel); + result = {image, apiLevel}; } else { qCDebug(sdkManagerLog) << "System-image: Minimum required data unavailable: "<< data; } From b6c8ce20e6a4400fac6b922a73600a8b8fd01d9f Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 12:17:16 +0200 Subject: [PATCH 62/96] WebAssembly: Limit the usage of qMakePair Change-Id: If4bdf567cf0dd1e01cbe41971f2d47ebc06a1d65 Reviewed-by: Alessandro Portale Reviewed-by: --- .../webassemblyrunconfigurationaspects.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp index f68d23ed221..ab5e644b27c 100644 --- a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp +++ b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp @@ -34,15 +34,14 @@ static WebBrowserEntries parseEmrunOutput(const QByteArray &output) while (ts.readLineInto(&line)) { const QRegularExpressionMatch match = regExp.match(line); if (match.hasMatch()) - result << qMakePair(match.captured(1), match.captured(2).trimmed()); + result.push_back({match.captured(1), match.captured(2).trimmed()}); } return result; } static WebBrowserEntries emrunBrowsers(ProjectExplorer::Target *target) { - WebBrowserEntries result; - result.append(qMakePair(QString(), WebBrowserSelectionAspect::tr("Default Browser"))); + WebBrowserEntries result{{{}, WebBrowserSelectionAspect::tr("Default Browser")}}; if (auto bc = target->activeBuildConfiguration()) { const Utils::Environment environment = bc->environment(); const Utils::FilePath emrunPath = environment.searchInPath("emrun"); @@ -134,8 +133,8 @@ Even if your browser was not detected, you can use --browser /path/to/browser/ex )") << WebBrowserEntries({ - qMakePair(QLatin1String("firefox"), QLatin1String("Mozilla Firefox")), - qMakePair(QLatin1String("chrome"), QLatin1String("Google Chrome"))}); + {QLatin1String("firefox"), QLatin1String("Mozilla Firefox")}, + {QLatin1String("chrome"), QLatin1String("Google Chrome")}}); QTest::newRow("emsdk 2.0.14") << QByteArray( @@ -149,8 +148,8 @@ Even if your browser was not detected, you can use --browser /path/to/browser/ex )") << WebBrowserEntries({ - qMakePair(QLatin1String("firefox"), QLatin1String("Mozilla Firefox 96.0.0.8041")), - qMakePair(QLatin1String("chrome"), QLatin1String("Google Chrome 97.0.4692.71"))}); + {QLatin1String("firefox"), QLatin1String("Mozilla Firefox 96.0.0.8041")}, + {QLatin1String("chrome"), QLatin1String("Google Chrome 97.0.4692.71")}}); } #endif // WITH_TESTS From f5c725cf23a06730a16f22a896b57cef947c64b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6hning?= Date: Fri, 30 Sep 2022 12:35:35 +0200 Subject: [PATCH 63/96] Restore object names lost while inlining Amends 715e5800a5db78f198dd1a09c55e0fdcdafd4015 Amends e070d826e5f87fe48804dd14a04bae83c06f2764 Amends f3bceeda532fcc70211ee2397d1925add638ffb4 Change-Id: Ifafc0b79fc751696443d1b1288d3a272851445b9 Reviewed-by: Reviewed-by: Eike Ziller Reviewed-by: Alessandro Portale --- src/libs/utils/projectintropage.cpp | 3 +++ src/plugins/coreplugin/dialogs/newdialogwidget.cpp | 3 +++ src/plugins/projectexplorer/projectwizardpage.cpp | 2 ++ 3 files changed, 8 insertions(+) diff --git a/src/libs/utils/projectintropage.cpp b/src/libs/utils/projectintropage.cpp index 7f4841476f7..5d95d32d934 100644 --- a/src/libs/utils/projectintropage.cpp +++ b/src/libs/utils/projectintropage.cpp @@ -82,17 +82,20 @@ ProjectIntroPage::ProjectIntroPage(QWidget *parent) : d->m_pathChooser->setDisabled(d->m_forceSubProject); d->m_projectsDirectoryCheckBox = new QCheckBox(tr("Use as default project location")); + d->m_projectsDirectoryCheckBox->setObjectName("projectsDirectoryCheckBox"); d->m_projectsDirectoryCheckBox->setDisabled(d->m_forceSubProject); d->m_projectComboBox = new QComboBox; d->m_projectComboBox->setVisible(d->m_forceSubProject); d->m_stateLabel = new Utils::InfoLabel(this); + d->m_stateLabel->setObjectName("stateLabel"); d->m_stateLabel->setWordWrap(true); d->m_stateLabel->setFilled(true); hideStatusLabel(); d->m_nameLineEdit->setPlaceholderText(tr("Enter project name")); + d->m_nameLineEdit->setObjectName("nameLineEdit"); d->m_nameLineEdit->setFocus(); d->m_nameLineEdit->setValidationFunction([this](FancyLineEdit *edit, QString *errorString) { return validateProjectName(edit->text(), errorString); diff --git a/src/plugins/coreplugin/dialogs/newdialogwidget.cpp b/src/plugins/coreplugin/dialogs/newdialogwidget.cpp index 8a2d50a838b..962255eb379 100644 --- a/src/plugins/coreplugin/dialogs/newdialogwidget.cpp +++ b/src/plugins/coreplugin/dialogs/newdialogwidget.cpp @@ -177,6 +177,7 @@ NewDialogWidget::NewDialogWidget(QWidget *parent) auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal); + m_templateCategoryView->setObjectName("templateCategoryView"); m_templateCategoryView->setStyleSheet(QString::fromUtf8(" QTreeView::branch {\n" " background: transparent;\n" " }")); @@ -186,10 +187,12 @@ NewDialogWidget::NewDialogWidget(QWidget *parent) m_templateCategoryView->setHeaderHidden(true); m_templateCategoryView->header()->setVisible(false); + m_templatesView->setObjectName("templatesView"); m_templatesView->setSelectionBehavior(QAbstractItemView::SelectRows); m_templatesView->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); m_templatesView->setUniformItemSizes(false); + m_templateDescription->setObjectName("templateDescription"); m_templateDescription->setFocusPolicy(Qt::NoFocus); m_templateDescription->setFrameShape(QFrame::NoFrame); diff --git a/src/plugins/projectexplorer/projectwizardpage.cpp b/src/plugins/projectexplorer/projectwizardpage.cpp index 4502400865e..eb2721eeacd 100644 --- a/src/plugins/projectexplorer/projectwizardpage.cpp +++ b/src/plugins/projectexplorer/projectwizardpage.cpp @@ -272,9 +272,11 @@ ProjectWizardPage::ProjectWizardPage(QWidget *parent) m_additionalInfo = new QLabel; m_addToVersionControlLabel = new QLabel(tr("Add to &version control:")); m_addToVersionControlComboBox = new QComboBox; + m_addToVersionControlComboBox->setObjectName("addToVersionControlComboBox"); m_vcsManageButton = new QPushButton(ICore::msgShowOptionsDialog()); m_vcsManageButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred); m_filesLabel = new QLabel; + m_filesLabel->setObjectName("filesLabel"); m_filesLabel->setAlignment(Qt::AlignBottom); m_filesLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); auto scrollArea = new QScrollArea; From 604730f14d193d261b9a3f04e09675639b703735 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 17:05:32 +0200 Subject: [PATCH 64/96] CleanDialog: Use more FilePath Change-Id: Id545b8c412d55d8e1976cbe0bbdad36e22eb93a0 Reviewed-by: Orgad Shaneh --- src/plugins/git/gitplugin.cpp | 28 ++++++++--------- src/plugins/vcsbase/cleandialog.cpp | 49 +++++++++++++---------------- src/plugins/vcsbase/cleandialog.h | 6 ++-- 3 files changed, 40 insertions(+), 43 deletions(-) diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index abcb8d11f12..328db5009b8 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -350,7 +350,7 @@ public: IEditor *openSubmitEditor(const QString &fileName, const CommitData &cd); void cleanCommitMessageFile(); void cleanRepository(const FilePath &directory); - void applyPatch(const FilePath &workingDirectory, QString file = QString()); + void applyPatch(const FilePath &workingDirectory, QString file = {}); void updateVersionWarning(); @@ -1055,9 +1055,8 @@ void GitPluginPrivate::blameFile() } } } - VcsBaseEditorWidget *editor = m_gitClient.annotate( - state.currentFileTopLevel(), state.relativeCurrentFile(), QString(), - lineNumber, extraOptions); + VcsBaseEditorWidget *editor = m_gitClient.annotate(state.currentFileTopLevel(), + state.relativeCurrentFile(), {}, lineNumber, extraOptions); if (firstLine > 0) editor->setFirstLineNumber(firstLine); } @@ -1133,7 +1132,7 @@ void GitPluginPrivate::resetRepository() LogChangeDialog dialog(true, ICore::dialogParent()); ResetItemDelegate delegate(dialog.widget()); dialog.setWindowTitle(tr("Undo Changes to %1").arg(topLevel.toUserOutput())); - if (dialog.runDialog(topLevel, QString(), LogChangeWidget::IncludeRemotes)) + if (dialog.runDialog(topLevel, {}, LogChangeWidget::IncludeRemotes)) m_gitClient.reset(topLevel, dialog.resetFlag(), dialog.commit()); } @@ -1152,7 +1151,7 @@ void GitPluginPrivate::startRebase() QTC_ASSERT(state.hasTopLevel(), return); const FilePath topLevel = state.topLevel(); - startRebaseFromCommit(topLevel, QString()); + startRebaseFromCommit(topLevel, {}); } void GitPluginPrivate::startRebaseFromCommit(const FilePath &workingDirectory, QString commit) @@ -1453,7 +1452,7 @@ bool GitPluginPrivate::submitEditorAboutToClose() void GitPluginPrivate::fetch() { - m_gitClient.fetch(currentState().topLevel(), QString()); + m_gitClient.fetch(currentState().topLevel(), {}); } void GitPluginPrivate::pull() @@ -1514,7 +1513,8 @@ void GitPluginPrivate::cleanRepository(const FilePath &directory) QStringList files; QStringList ignoredFiles; QApplication::setOverrideCursor(Qt::WaitCursor); - const bool gotFiles = m_gitClient.synchronousCleanList(directory, QString(), &files, &ignoredFiles, &errorMessage); + const bool gotFiles = m_gitClient.synchronousCleanList(directory, {}, &files, &ignoredFiles, + &errorMessage); QApplication::restoreOverrideCursor(); if (!gotFiles) { @@ -1529,7 +1529,7 @@ void GitPluginPrivate::cleanRepository(const FilePath &directory) // Show in dialog CleanDialog dialog(ICore::dialogParent()); - dialog.setFileList(directory.toString(), files, ignoredFiles); + dialog.setFileList(directory, files, ignoredFiles); dialog.exec(); } @@ -1561,7 +1561,7 @@ void GitPluginPrivate::promptApplyPatch() { const VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasTopLevel(), return); - applyPatch(state.topLevel(), QString()); + applyPatch(state.topLevel(), {}); } void GitPluginPrivate::applyPatch(const FilePath &workingDirectory, QString file) @@ -1572,7 +1572,7 @@ void GitPluginPrivate::applyPatch(const FilePath &workingDirectory, QString file // Prompt for file if (file.isEmpty()) { const QString filter = tr("Patches (*.patch *.diff)"); - file = QFileDialog::getOpenFileName(ICore::dialogParent(), tr("Choose Patch"), QString(), filter); + file = QFileDialog::getOpenFileName(ICore::dialogParent(), tr("Choose Patch"), {}, filter); if (file.isEmpty()) { m_gitClient.endStashScope(workingDirectory); return; @@ -1601,7 +1601,7 @@ void GitPluginPrivate::stash(bool unstagedOnly) QTC_ASSERT(state.hasTopLevel(), return); const FilePath topLevel = state.topLevel(); - m_gitClient.executeSynchronousStash(topLevel, QString(), unstagedOnly); + m_gitClient.executeSynchronousStash(topLevel, {}, unstagedOnly); if (m_stashDialog) m_stashDialog->refresh(topLevel, true); } @@ -1616,7 +1616,7 @@ void GitPluginPrivate::stashSnapshot() // Prompt for description, restore immediately and keep on working. const VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasTopLevel(), return); - const QString id = m_gitClient.synchronousStash(state.topLevel(), QString(), + const QString id = m_gitClient.synchronousStash(state.topLevel(), {}, GitClient::StashImmediateRestore | GitClient::StashPromptDescription); if (!id.isEmpty() && m_stashDialog) m_stashDialog->refresh(state.topLevel(), true); @@ -1906,7 +1906,7 @@ FilePaths GitPluginPrivate::unmanagedFiles(const FilePaths &filePaths) const void GitPluginPrivate::vcsAnnotate(const FilePath &filePath, int line) { - m_gitClient.annotate(filePath.absolutePath(), filePath.fileName(), QString(), line); + m_gitClient.annotate(filePath.absolutePath(), filePath.fileName(), {}, line); } void GitPlugin::emitFilesChanged(const QStringList &l) diff --git a/src/plugins/vcsbase/cleandialog.cpp b/src/plugins/vcsbase/cleandialog.cpp index 1a0bb7ae71f..ad1add7eb2d 100644 --- a/src/plugins/vcsbase/cleandialog.cpp +++ b/src/plugins/vcsbase/cleandialog.cpp @@ -28,6 +28,8 @@ #include #include +using namespace Utils; + namespace VcsBase { namespace Internal { @@ -65,7 +67,7 @@ static void removeFileRecursion(QFutureInterface &futureInterface, // Cleaning files in the background static void runCleanFiles(QFutureInterface &futureInterface, - const QString &repository, const QStringList &files, + const FilePath &repository, const QStringList &files, const std::function &errorHandler) { QString errorMessage; @@ -80,7 +82,7 @@ static void runCleanFiles(QFutureInterface &futureInterface, if (!errorMessage.isEmpty()) { // Format and emit error. const QString msg = CleanDialog::tr("There were errors when cleaning the repository %1:"). - arg(QDir::toNativeSeparators(repository)); + arg(repository.toUserOutput()); errorMessage.insert(0, QLatin1Char('\n')); errorMessage.insert(0, msg); errorHandler(errorMessage); @@ -108,7 +110,7 @@ public: QTreeView *m_filesTreeView; QStandardItemModel *m_filesModel; - QString m_workingDirectory; + FilePath m_workingDirectory; }; @@ -150,7 +152,7 @@ CleanDialog::CleanDialog(QWidget *parent) : d->m_filesTreeView->setAllColumnsShowFocus(true); d->m_filesTreeView->setRootIsDecorated(false); - using namespace Utils::Layouting; + using namespace Layouting; Column { d->m_selectAllCheckBox, @@ -178,12 +180,11 @@ CleanDialog::~CleanDialog() delete d; } -void CleanDialog::setFileList(const QString &workingDirectory, const QStringList &files, +void CleanDialog::setFileList(const FilePath &workingDirectory, const QStringList &files, const QStringList &ignoredFiles) { d->m_workingDirectory = workingDirectory; - d->m_groupBox->setTitle(tr("Repository: %1"). - arg(QDir::toNativeSeparators(workingDirectory))); + d->m_groupBox->setTitle(tr("Repository: %1").arg(workingDirectory.toUserOutput())); if (const int oldRowCount = d->m_filesModel->rowCount()) d->m_filesModel->removeRows(0, oldRowCount); @@ -199,32 +200,27 @@ void CleanDialog::setFileList(const QString &workingDirectory, const QStringList d->m_selectAllCheckBox->setChecked(true); } -void CleanDialog::addFile(const QString &workingDirectory, QString fileName, bool checked) +void CleanDialog::addFile(const FilePath &workingDirectory, const QString &fileName, bool checked) { QStyle *style = QApplication::style(); const QIcon folderIcon = style->standardIcon(QStyle::SP_DirIcon); const QIcon fileIcon = style->standardIcon(QStyle::SP_FileIcon); - const QChar slash = QLatin1Char('/'); - // Clean the trailing slash of directories - if (fileName.endsWith(slash)) - fileName.chop(1); - QFileInfo fi(workingDirectory + slash + fileName); - bool isDir = fi.isDir(); - if (isDir) - checked = false; + const FilePath fullPath = workingDirectory.pathAppended(fileName); + const bool isDir = fullPath.isDir(); + const bool isChecked = checked && !isDir; auto nameItem = new QStandardItem(QDir::toNativeSeparators(fileName)); nameItem->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled); nameItem->setIcon(isDir ? folderIcon : fileIcon); nameItem->setCheckable(true); - nameItem->setCheckState(checked ? Qt::Checked : Qt::Unchecked); - nameItem->setData(QVariant(fi.absoluteFilePath()), Internal::fileNameRole); + nameItem->setCheckState(isChecked ? Qt::Checked : Qt::Unchecked); + nameItem->setData(fullPath.absoluteFilePath().toVariant(), Internal::fileNameRole); nameItem->setData(QVariant(isDir), Internal::isDirectoryRole); // Tooltip with size information - if (fi.isFile()) { - const QString lastModified = - QLocale::system().toString(fi.lastModified(), QLocale::ShortFormat); + if (fullPath.isFile()) { + const QString lastModified = QLocale::system().toString(fullPath.lastModified(), + QLocale::ShortFormat); nameItem->setToolTip(tr("%n bytes, last modified %1.", nullptr, - fi.size()).arg(lastModified)); + fullPath.fileSize()).arg(lastModified)); } d->m_filesModel->appendRow(nameItem); } @@ -261,11 +257,10 @@ bool CleanDialog::promptToDelete() return false; // Remove in background - QFuture task = Utils::runAsync(Internal::runCleanFiles, d->m_workingDirectory, - selectedFiles, Internal::handleError); + QFuture task = runAsync(Internal::runCleanFiles, d->m_workingDirectory, + selectedFiles, Internal::handleError); - const QString taskName = tr("Cleaning \"%1\""). - arg(QDir::toNativeSeparators(d->m_workingDirectory)); + const QString taskName = tr("Cleaning \"%1\"").arg(d->m_workingDirectory.toUserOutput()); Core::ProgressManager::addTask(task, taskName, "VcsBase.cleanRepository"); return true; } @@ -275,7 +270,7 @@ void CleanDialog::slotDoubleClicked(const QModelIndex &index) // Open file on doubleclick if (const QStandardItem *item = d->m_filesModel->itemFromIndex(index)) if (!item->data(Internal::isDirectoryRole).toBool()) { - const auto fname = Utils::FilePath::fromVariant(item->data(Internal::fileNameRole)); + const auto fname = FilePath::fromVariant(item->data(Internal::fileNameRole)); Core::EditorManager::openEditor(fname); } } diff --git a/src/plugins/vcsbase/cleandialog.h b/src/plugins/vcsbase/cleandialog.h index fbab96c1fc8..c400f1e4950 100644 --- a/src/plugins/vcsbase/cleandialog.h +++ b/src/plugins/vcsbase/cleandialog.h @@ -11,6 +11,8 @@ QT_BEGIN_NAMESPACE class QModelIndex; QT_END_NAMESPACE +namespace Utils { class FilePath; } + namespace VcsBase { namespace Internal { class CleanDialogPrivate; } @@ -23,7 +25,7 @@ public: explicit CleanDialog(QWidget *parent = nullptr); ~CleanDialog() override; - void setFileList(const QString &workingDirectory, const QStringList &files, + void setFileList(const Utils::FilePath &workingDirectory, const QStringList &files, const QStringList &ignoredFiles); public slots: @@ -36,7 +38,7 @@ private: QStringList checkedFiles() const; bool promptToDelete(); - void addFile(const QString &workingDirectory, QString fileName, bool checked); + void addFile(const Utils::FilePath &workingDirectory, const QString &fileName, bool checked); Internal::CleanDialogPrivate *const d; }; From 7d3593fc4ae77af003fce9457399222e4a3e9429 Mon Sep 17 00:00:00 2001 From: Mats Honkamaa Date: Thu, 22 Sep 2022 08:56:31 +0300 Subject: [PATCH 65/96] Doc: Add timeline animation tutorial Add a tutorial describing how to use timeline animation and binding animations to properties. Task-number: QDS-6460 Change-Id: I99a586842f6cc6fe3acb0785757eb1d2de86df54 Reviewed-by: Mahmoud Badri --- .../examples/doc/animationTutorial.qdoc | 245 ++++++++++++++++++ ...imation-tutorial-ballbearing-animation.png | Bin 0 -> 61795 bytes .../images/animation-tutorial-binding-2.png | Bin 0 -> 3628 bytes .../doc/images/animation-tutorial-binding.png | Bin 0 -> 3353 bytes .../images/animation-tutorial-breadcrumb.png | Bin 0 -> 1309 bytes .../animation-tutorial-insert-keyframe.png | Bin 0 -> 18051 bytes ...mation-tutorial-per-property-recording.png | Bin 0 -> 5142 bytes .../images/animation-tutorial-property.png | Bin 0 -> 5832 bytes .../images/animation-tutorial-timeline-1.png | Bin 0 -> 16627 bytes .../images/animation-tutorial-timeline-2.png | Bin 0 -> 15358 bytes .../doc/images/animation-tutorial.gif | Bin 0 -> 1589739 bytes 11 files changed, 245 insertions(+) create mode 100644 doc/qtdesignstudio/examples/doc/animationTutorial.qdoc create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-ballbearing-animation.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-binding-2.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-binding.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-breadcrumb.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-insert-keyframe.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-per-property-recording.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-property.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-timeline-1.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial-timeline-2.png create mode 100644 doc/qtdesignstudio/examples/doc/images/animation-tutorial.gif diff --git a/doc/qtdesignstudio/examples/doc/animationTutorial.qdoc b/doc/qtdesignstudio/examples/doc/animationTutorial.qdoc new file mode 100644 index 00000000000..d5b71b91bdb --- /dev/null +++ b/doc/qtdesignstudio/examples/doc/animationTutorial.qdoc @@ -0,0 +1,245 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Design Studio documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \page animation-tutorial.html + \ingroup gstutorials + \sa {Creating Timeline Animations} + + \title Timeline Animation Tutorial + \brief Illustrates how to create timeline animations and bind them to + properties in \QDS. + + \image animation-tutorial.gif + + The \e{Timeline Animation} tutorial illustrates how to create timeline animations + and bind them to properties in \QDS. First you create a keyframe animation + which you control the running state of with a switch in the UI. Next, you + create another keyframe animation where you use a slider in the UI to + control the position of the playhead. + + The starting point of this tutorial is the Animation Tutorial project, + you can download it from + \l{https://git.qt.io/public-demos/qtdesign-studio/-/tree/master/tutorial%20projects/animation-tutorial/AnimationTutorial/Start} + {here}. + + You can download the completed project from + \l{https://git.qt.io/public-demos/qtdesign-studio/-/tree/master/tutorial%20projects/animation-tutorial/AnimationTutorial/Completed} + {here}. + + This tutorial requires that you know the basics of \QDS, see + \l{Getting Started}. + + \section1 Creating a Timeline Animation + + First, you create an animation where the ball bearing continuously rotates + around its Y axis. + + \section2 Adding a Timeline and an Animation + + To add a timeline to your project: + + \list 1 + \li In the \uicontrol Timeline view, select + \inlineimage icons/plus.png + . + This creates a timeline and one animation. + \li On the \uicontrol {Animation Settings} tab in the + \uicontrol {Timeline Settings} dialog: + \list + \li Set \uicontrol Duration to 7500. + This sets the duration of the animation in milliseconds. + \li Select \uicontrol {Contiunous}. + This sets the animation to start over again when it reaches the + end. + \endlist + \image animation-tutorial-timeline-1.png + \li Select \uicontrol {Close}. + \endlist + + You can see the timeline in the \uicontrol Timeline and + \uicontrol Navigator views. + + \section2 Adding Keyframes + + Next, you add keyframes to animate the rotation of the ball bearing: + + \list 1 + \li In the \uicontrol Navigator view, select \e {ballbearing1}. + \li In the \uicontrol Properties view, select + \inlineimage icons/action-icon.png (Actions) + next to \uicontrol Rotation > \uicontrol {Y}. + \li Select \uicontrol {Insert Keyframe}. + \image animation-tutorial-insert-keyframe.png + \li In the \uicontrol Timeline view, select the + \uicontrol {Per Property Recording} button to start recording property + changes. + \image animation-tutorial-per-property-recording.png + \li In the \uicontrol Timeline view, move the playhead to the end of the + animation (frame 1000). + \li In the \uicontrol Properties view, set \uicontrol Rotation > + \uicontrol Z to 360. + This creates a second keyframe. + \li Select the \uicontrol {Per Property Recording} button to end the per + property recording. To preview the animation, drag the playhead along the + timeline. + \endlist + + \section2 Controlling the Running State of the Animation + + There is a toggle switch in the UI of this project. To use this switch to + control the running state of the animation: + + \list 1 + \li In the \uicontrol Navigator view, select \e {timelineAnimation}. + \li In the \uicontrol Connections view, go to the \uicontrol Bindings tab. + \li Select \inlineimage icons/plus.png + to create a binding. + \li For the binding you created, set: + \list + \li \uicontrol Property to \e {paused}. + \li \uicontrol {Source Item} to \e {switch1}. + \li \uicontrol {Source Property} to \e {checked}. + \endlist + \image animation-tutorial-binding.png + \endlist + + You can preview the animation and try the toggle switch in the live preview. + To run the live preview, select \key Alt + \key{P}. + + \section1 Creating a Timeline and Binding it to a Property + + Next, you create the exploded view animation of the ball bearing. You don't + want this animation to run automatically but instead you want to control it + with a slider in the UI. + + \section2 Adding a Timeline Inside a Component + + You create this animation inside the ball bearing component, to do this: + + \list 1 + \li In the \uicontrol Navigator view, select \e {ballBearing1}. + \li Select \key {F2} to go into the component. + \li In the \uicontrol Timeline view, select + \inlineimage icons/plus.png + to add a timeline and open the \uicontrol {Timeline Settings} dialog. + \li Select \inlineimage icons/minus.png + next to the \uicontrol {Animation Settings} tab to remove the animation + in this timeline. + You do not need an animation when you bind the timeline to a property. + \li Select \uicontrol {Close}. + \endlist + + \image animation-tutorial-timeline-2.png + + \section2 Adding Keyframes + + Now, you add keyframes for the different parts of the ball bearing: + + \list 1 + \li In the \uicontrol{Navigator} view, select \e{inner_race}. + \li In the \uicontrol Properties view, select + \inlineimage icons/action-icon.png (Actions) + next to \uicontrol Translation > \uicontrol Y. + \li Select \uicontrol {Insert Keyframe}. + \li In the \uicontrol Timeline view, select the + \uicontrol {Per Property Recording} button to start recording property + changes. + \li In the \uicontrol Timeline view, move the playhead to the end of the + animation (frame 1000). + \li In the \uicontrol Properties view, set \uicontrol Translation > + \uicontrol Y to 0,50. + \li Select the \uicontrol {Per Property Recording} button to end the per + property recording. + \li Next, you set the keyframe values for the other parts of the ball + bearing. For the following parts, set the \uicontrol Translation > + \uicontrol Y value for frame 1000: + \list + \li \e balls to 1,00. + \li \e retainer to 1,50. + \li \e shield_left to 1,80. + \li \e shield_right to -0,30. + \endlist + \image animation-tutorial-ballbearing-animation.png + \endlist + + You can preview the animation by dragging the playhead in the + \uicontrol Timeline view. + + \section2 Controlling the Animation with a Slider + + Now, you use the slider on the main screen to control the exploded + view animation that you created. + + To do this, you first need to define a property for the slider: + + \list 1 + \li In the \uicontrol Navigator view, select \e Node. + \li On the \uicontrol Properties tab in the \uicontrol Connections view, + select \inlineimage icons/plus.png + . + \li In the \uicontrol {Property Type} field, enter \e {Item}. + This field is a drop-down list, but you can also type text. + \li In the \uicontrol {Property Value} field, enter \e {null}. + \endlist + \image animation-tutorial-property.png + + Next, you set the property you just created to control the timeline + animation: + + \list 1 + \li In the \uicontrol {Timeline} view, select + \inlineimage icons/animation.png + . + \li In the \uicontrol {Expression binding field}, enter + \c {property0.value}. + \li Select \uicontrol {Close}. + \endlist + + Next, you go out from the component back to the main project and bind the + property to the slider: + + \list 1 + \li In the toolbar, select the \e {Screen01.ui.qml} breadcrumb. + \image animation-tutorial-breadcrumb.png + \li In the \uicontrol {Navigator} view, select \e {ballbearing1}. + \li In the \uicontrol {Connections} view, go to the + \uicontrol {Bindings} tab. + \li Select \inlineimage icons/plus.png + . + \li For the binding you just created: + \list + \li Set \uicontrol {Source Item} to \e {slider}. + \li Remove the value from \uicontrol {Source Property}. + \endlist + \image animation-tutorial-binding-2.png + \endlist + + \section1 Previewing + + Now, the animations are done. To preview and test your application, + select \key Alt + \key{P}. + +*/ diff --git a/doc/qtdesignstudio/examples/doc/images/animation-tutorial-ballbearing-animation.png b/doc/qtdesignstudio/examples/doc/images/animation-tutorial-ballbearing-animation.png new file mode 100644 index 0000000000000000000000000000000000000000..916b2c97c7ec255af61299dc27f77b1247f3d05b GIT binary patch literal 61795 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

XDabjHnxO56%!teNbr z3citE%qKScw-rl!DRv%kaEgkXc;~l50=5 zjJRf(O^I>pmf!q%(Fdk&w_h%l-R{~l`>}4>gyasT57(;S|5y9P_a$GSDSZX^D-9vu zC5$Z^O&^=(%ugtA>Se6x(b4(OQM}AF{@47kif@J| zwXwZnIH>&Lfm0vbf+nRu>kA)DUN~XX7AF3Rh3s!U?|b|xveZA5%-$cskRqcjpnPwA z7PCYH`?=)C^Rhh&n~WcbxK3Ijo8rhKeEAVW1Cx2m!?fhX+V{kEEM>~bozVR6K(u{F zLz|I7BWHZ3~ZUTYq5l_fOtSuo16b|tM_5#eBH+Q^+D$=JGO2P5|mWsUeRCyzZ6 z+iqyo5)q{^bIXiyqu6a9dou*4aJ+oc+IHY^8q*&S@mT>3tWOSe#%^ff5e-rmj9Jj8 zd*YB%|22=vJkQ$y2Yam2tMv5YTOd2#amh8cAOohRWeH0|B(!dyWMwox#k6)#1pA$d zYf^ST=5gMj8p!pauf!^m<>!T9{p%h^3CkFG{R*1Cu!*j?Ipd*+wuh5gh{plFB?}l- z3fd(fB=&nnZL)Jd&@H@W!r=pNKB%;KvJ0L{Sk*j-Z}PgJM}OHSSe@RofZ0N##e3g> zGr|4?!pfiKJhuC|E;$YkKahb=J z?}EA&jU1X1jf{D(R?SH(Vwkxnp4;MflU2$C-jgm@T&0%zESBr`HNM-X^3moKJFqtR8@Z{yWT7tYX4|D{LE;L3da+Uqp z&<*nUUiLpfRfW5!h)K#v;HqFm=(dyEha7C(w0Rivc@8{PoiFw4hT0N_!)YsC6m2}( zw`ono;)N=z#+?eyOjj7?GCWRH>F!?jQE?Ne1<(4ViEfiVojc5_rontZ=xLma)Ph#8 zkVjXocC&H^q;CD7a@+OC?ReHw$Nj1T0%d0&uo|aqoN8pTAt!yc*^Yy{l?Bm^QXv=k z^gU)QR1M}T3_j4;srHapMoh$Z&TJ`BC(G7Yg+r`U0@}^E6ph@c@T6pQu<74OKDIC_ zs@J{faUG9ho!Sa1q1HcfqA^yJSH9K})VaXN(t9j%k&l+<+!(38H31GHGdox#R=Nu1 z>{REkXb8CTFjdpzKjXBmWlU@xSNWE+lt-n`^$?%ouygyq(5mDDCvJlV#ww2%C0~b! z?h{VF6x^f8z4X_{R83Eo(-(Lyz700pc74bcMF|5f*9U=23OdGHoi{L)U%1eid*9z)JfnSC(1H_Rmh@kIns?v!fMt_W zh2!06>$Y&Ue0Vo++X3dj1@7!d25cq^9H;y?6WAYkn6)m&7Nz94azwpi>hLY|! z-2->$T@B;CXVu!;Gu-(9*6m4s8Gbam?Iywj<1y(Jc3oLHeH)`JcWt zKIcegf5G^|=;hyg>tEc-WqGlXXTsupw=^5Rt^FVL=(3P1b5w4U#{s52c`SMP+#&^x z)eIF?3pi$FbG%bKbis$|qDSww6}{)WIN4kmP0L?2CxPb%BlEvR);V4dle|p!EiK>k zU`^ebNsH9D1y=GLbKpLb|L0V`T-JwArw;J^@~AGmaJQvF@UAYWN5AY3M^2*ya=Vs< z3q9fZ+aJhu;meGIq>uwl^9-2X5;%kc9=f#c9dZnZ$puoX%lPOrFRsCtW2PQh)y z(&I}`6GdLKzFFpZQ1@E-DcuzR--ANMOxq!tb ziG5cBd({D_pd5J-2Ep6e7pzWSIKZ8$2PVZl%Y=#Goo7XIrzZE2v zU0|?<;nIslp{Nz?fkCR1H%mJka^G0UGA~$2LxFkL0n?w32J?e=@m*F~q|2SqJXOPm zO>XmYuB?g@e$kt4oCXe@{|?Gpd^Z07(bikd!DVylovwF%XPNJAU}ZSKd8T2pL6Y`L z-9VdWmTd_KP9^-!3APD6AZz8#TYK4D{{6;d4RSLUs7ng!Prc0a?;wlO0hWRXi+?QS zzTm+5zhD7#7x&t48U1S}yGDPp{QuC3|Dp1-{;w{{Te#TR$`l?4@g|kI>(!iL>0-~z z^W|z2;_h{ozq?T0^O*e1O)1|J20@gQwhtc`vYdZ~U_M#WVS+1fCfTy!R4V*6KM}H<`XY$fTrsEGk3q=GnUw{Qk{R z`19zCa^<^?XA++MU!>yyJ;dL)!N<0lLuKKEt_1dbFBS(m1pYk8yzaB*+m#!bd=fus zml-)tddDs2b0FxU5~E7OQMLmNItdzDCxU|~YMj+(HCVv$X(9Wo1SadxA%Uh|e-CQT z&wCd)_3^zf&N~IHT@9RaM!(`h9KxA=uk>;JSjbZ~DZ-YYcfvX5D+L#)T-9CvQU2XS z`H-!AFV-_JGPMj2@^{?G{EpLln?m&V(*B?Y+-o*l)t0puqz0yxgbS!BcL~U`2+e$R z(6q_L=}D-f%Hhc>!twdO@tvC(4HZ~L61Z8)5*|<1Ts$RZPLa#|b3BC;AJ6DeWMgDt zU@?9`iq(3? zI$gDCvTh+R-UlqhPpBF&P0g4RzUx?miPGbs9*!*wGE*N}pIEFAu$1{sU-GR+kM1oT z9hbQ7E7-nXz%h-9CwXH6|28YP$-#ZS?>Zi=4Ljg5<3YXB_xA>Ys%;ZFwq)_J2^Bo?)zu!_Ci_dCpkqv2Z<~LX6KBxZG@!dLALA8r47uISAKd|(EkY=Iea8fPt zz_Sd_W5#6(vYiKHFFehhf2~CF@l>4`jZxQ26SuQFEMxwo;h#4>VXjH&Z^bEY#+FiH zi(aj>Z!Kp%v!FEX+2t!t{kIyKR3;UPO!@p@&iG#xgLd47D(BYc%LFZsDX@C!%l&68 z{Jq6LG$>o=f&N>@=sySLSiaVD9tg`$jR{}DlBQlKzKrAHc1{+d-(Sk>RiDf{;mkTI zolDlEp?iTxb%IcWx$VUT3~v-0{~pXXUy<-JOt2g?9OY#fXZWM5%%HE* zq3~dzE60|E11}g=%LTqnY1sUNu_VYMu3>WKmV{?75?SU66!IDr&cDE-p&(~{K>kFy z{I&z_-3bLVHE$W2yMJ2i=FViYXkFqPaor0EEHz7lR9IrqJ(X>D;_6Up_-xv}vFy6r zfj3(e8qq3k`Bp8ea5G zW zgEH@&N>=uy7s~H(;GR}ta(_+Y%*Q;p1JbfuS86$Fmz!3qC$WE8$S~20=OoG(hwEp*__Il!i}nIU7nvu2@-Cezh7nzur(n4Ay| zUvwhD=I}f?kJIk9h!E^fk1@gy!EdGBsBDD0&%SrwL zYB$!~Ua*gvy0~WAe}hLwwuhM}F?5JpiWJ|vyK5u!1U_wxOS2ixLtcga>)GXO9=&q9 z6_=@7ve%S0-vzQ0G?mvW{ddajpOCrQclCn!-w9DuIefY{rL0)E(MQc}D?^s{ce|}g zI%>wE2^eJhK|) z!(M34pDfSPQX8zG+9$F8LAiu&_@ql)ybdg1quf5#LxH)Y$s^bMP1_~8I%&_!x9b00 zcCG8Yy<@(}ra3|-Yf74K-r#)ErWnP}+gGMNzxe)}l`NAMbKZI;@m!f%#@e|v;meJO zlG?W?T))jNv~$JYynWWYAKdx5&(>v&WFTXU0<*?~2e%Rh`uJr6PcpAbipfpiRrY18 z>dM}j=W*Yh+k_S?q&YDj%HTeyaCq&t)7y5iA7O~vq0I9tf#K4_jW)a1dDk>MMJccr z3H zdyr+NDaU(Z?%kix;df8+zuEWInmOb_o!$X{BZq*(zr5=nX+CU}KVax!8m_{po|tgk zILnor;q8+D3e2HO?KUC}rPf=6S#Olao0t9E$R4J^(_$?f63Sh1bKU!0n#UA&vR>lh zsXdzbRQaC3fte?j8WwbXpPA>>}dC)flp zpA27qzH)Z*6}IaeBF?S071d{n>S0YWV3^C`)IF_^g_=D4y2g&g|bF6tuM zVL6S7N4rE^I!u1D8!b68QTgH97YkcG{!3PQ`lOslP)s{BUDBr_)3IMp(D?7OpMQRS zo_C@8+Z$fhD3g^z6EwDdskqE^mP6RWEn;t%>1z&E*(nuo88i;g;jk*1)8VYp*vg}v zHOt^*{*l>bA9gKS5Z=bUU!-RC0p&*my_3yleO5>;VED*zgiA_YOzHCmu9MDP5z{Um z-t(6>$m`5GCbL7I}*#3IX=-p~N3gi#!_+Gf7rc{_D)|EELpsl(F1XA8Rz@<)I}#o!bmD_ig!5wv@f^_ZvpmRVI6WeEjt)0wtzX>tO4~67zbD&fyT+~9 z;^ZbeiP+thx)ToILb^Kh`=mIsbP$|0=sHJ?PU zIWnqvOps^H+h=*0t(rwcxXg&Nak+rtyPY=}g#6T8s)Ki`T;@ohv+!oSVpdp)v`Uwv z8^7ingU~92xLf`?zkfV-71OlX!YpY0ENxlM>5ZFb0>|1Y1h2_11^^bvC? zTh3Ma>ZE#0Mc;)7;o*Bt4>70P7_?YV*WDG#-`5uA&R@DjpiP`PqU&Y%ZyuYr9A4Wm z0r@soiEfAY@-{lU*`BC+yn2I{`fEP5ltwo{*$1<-eZ?#q#ch3mn625UCBD>E@Y@%M z7Ixh|57&fUaJwBEZWK|ycDDKtn`RDi9s%JUuFrQa-(gy~m9_a|($z-mPhyIui{|Lw zN)`OpcFj#Tu45t-o9+yQBQ|j?b1odn61FKQ^tDiVwLZriC1Dk~e^JM)ddwVSjV2fYGB`p%9UA!}D-`_6{+pWWDpH2-oo9`LV=)B}4z= z4Fbovx&=743L3f?x-$t)FlZ3C7T6G5{U!3*IkA1aFP{^zIG=t~Y;NTWjgAv#H;)A` zs=RoZPx7iE%Yh8}E!%D-_c%tcX!sg-@euEB<~v-aGZ@eJ8We2&cVFcogYz#*fs3w^ zx+2dmMPJ*S>L}FndGo4wE_p>-&Yt#LKCl@VB(T~l-2GrvK6Um|&yvhp35?)@vw-2h#rdxrrrS1~HY(ruc3P=(Nt)-6GLOuHc;P>6_If(UYn3DK^KpGpE~_|D zV6ou8m!$A^?NHM^_H=0l#;qy>x*~xJ&MOXY>UwbCX9-`^$4)Wc_6dg^v=%a$DI8=C zV`r0fag0_7IUueO>~u-=Kxtg30zqV8g5#8+ycN^>J>w zutUUzF=B%7De0rklPt~!a=Rw7-KGm|SSK;>uCaEQoTE<^8ruiu_u{~KJ zSg~O-ciqWH`u|;p_V0ID!pxV-Zhc{akFeS1nHe{@-PcW7nytrb`OPBX|FqP$f>$Ex zjVwN8gS8(O&;&~bKgtm!3Im}d1(d#4{ zwc&FqBd_G_7dn#Z~8KL&LI|%CBg#uI9RC>Y2npDdGFB|0|pWJ2p5}9P!>Hb|=$v zb^BwMmF34R*F9W#?t{~EHT~=_S7&8bC$yysCNjuM9CG;69l)^q68GFG!J-)nH;*c9AJcn$Lnk8<08`vi8YaCH{C5zI&u}|+VfQlGS#!+KZG6G?;O)0v zj{_DheR3u}Z)-`gsc~qn^YlqQjj|C7PL?+03VG^2mC`l*e_wW@#{Q?%Sox>$%YE@U zC??(~vp;eN%cfThQa2p=`L8tkh;IK;GG{^Iqd8|E>u~d*a8@c3>rXkVzuEmp)Pnx9 zoZtNu+O}-J8+dr;ec{QL*DX6_QeWy_ZRB+P6;a`v{N;_J>;d~-y^^!uvDE3GS@i!v zhWHEjv^CP5@(P-c;y)&~m@i0FJ>(XCbYoMq;*4Df(motI9(l~yvPtD#wcEL_>IMCL z7T<1JU#Rvk>{+nye8BPNd!N{Tt~@L-^V{7 z<$KJF_Lavj3=xT4An5WT_~p_X%VimkVg7F${N;iwUc06A7%6@KBcr2=cBC-8G@N`AF8`J8&n*Co!EpBr5* z*LQtbd_svWbpumk0-M+dcEc%2e*;Pa%Su>3hTeWGxO`c@(9(pR7Y$?uWeylJZDZuG zo@i&!5oC9wAf|yWHh^Wnnz8Wns#K?->FLp)6RMde`Yt}vpw!-~xIKO05`M7@EK-91 zOJ+=|ah(t+HKQowgy)>X?&#(U>m$zD5>4NYq`KH$iW1mF92lJ)IDQo=sVikodfv`; zR8yuk%h$cbW)ds!WR|zvnS2tY=U->pq*gyc!$py~yd+RLn73=E0anI5zlzc*wN zecHKox$lyQ)(J28A713sO7O05W(i^rmAVo6=SjwoE&fj1H1=yWaqpa9o4~)Q(c!rx zzo0X}ys^CABGys^HiJ!G`Y(ETKWfS{^6w4oz4k&{tkgT+o&SS)-=iP=e>TX-2Uf*C zU{syJ;mJ^z5XAD3#WA!oW%t9*-wLg}%KIN_6n$I3@41r6OTbXOfz9&*^Nf-S^F>4D zjHYIA{8!33F(Ep$mj5T)w-2hb%IvEzF!C>8P5!_yt?6EUqvz50o=NV?3Z63Cj!Ivf z!RlGi%kY44`xmw^$wuK<>hvUqbWavYv+{c}Fu&0dwQAM#YS8<3KzWDal&AwqUtdg8 z+Rp!L0{_beOwI=F6`Pq|3nnaVwfQ-L|C>nEmqSy(1+bi5+`TA}opTD4greEx0(>4;h2L@arDn+r!4Z?0Q1eOc~z|f&Ab34yYNY zO>pNoVTv|j+xndK1#_$BvGih9g zCHLQ$<$o}1-3{sE7XMj(3J9??3VA%4z2*u3?+2R2GqV;yGB|S6U{$D{vO%^D2lI0E zxrz^)y)fAeQ6_EXe}%tS81k)$D4@?7A5m{L_KsWddW= zg?Unr{0o~TzjsdUY}dK;ovri($3ioH&uu!A4_SFHWo8x$T)#SvQ%jnAD(ipq4$fx= zs-0|W*@QNhNq?BIFnim=FUJccUwKC-RLLD+lzZTAbCdDygGI>)G(RL%f7d9l37f}# zyjtlZbIXH_7mHXAisi^0VEHhCW&TIWudYk@Ds^lVq|yv#>lT=oWH8zuh>|tnES)f$ ziBZ}}sE%`%CigD>jN>I6TN2tT{&xsnHK=~Mc(s!DAA{`Y5owQp2=4sFuXG(c;ZI@^GMYVa$Ieh!2S&CJ3^fPEAHHJapTL$Wz#ziF z`r_6)O9MvFZWa%P^)(ln`4ifm1>z#}AvH;f532Y9(nVn{{l{xI<-@snc zz%Ej-E9f@k%Lz-^L!|T%HR*CB+zvM2-n!t2Tko#KNn#syf?X0SkMePfS539pn4jIZ z^VI6?$LyA+m&-ZutKL!&Dan{ztx&n0^=$(G8tI z+04p{ojOt%nG&z{3R*8}dAV)(Db{v{?Y!xUx>YSk&McodvffIIyeS>}>wwm5rZdhICoVNYdHdP1yGlD^T*k&fG8{bQfJT4v|ZLs5mgMjv)>U-6O zdTSb1NE|M7Ib51^yp(76C$=M7w2!#WvEBBX)y0R!B%--Ib2`^GL0<`#1CG(^sYg@N zHp(wNDjmhtJ|X+fW;@>Rb0&RQ`X<8L!PN6fN!*L03egi-D|T(_y8ZvyNyg)AdtyT} zwwC)Gu9h*_ntfz@&FQ}f47V=LpIN>^xUlk}q@mDcAPsW*$t}s{h1ppMBc= z&jHp>g*6A=Bv>2tyr(9=T0g`l^^6VID=PmzV_^ul`*MKAC&4G>Tm4e;zLa&z##Tli1<`z7X5*bbpgxOh3e4;zAAo9(!rl-kUQn z-ORXq$(iSJh}-3Pp9F+Hwk+9n;2V!bssj6gi%fA3v{l@~c+(6yaxd(dd;6s0>UM_~ zg9D7Jrx>Sc{Ew1V$b4IHk#&N4g8>8U1M!%>{GAg{DcD}RzW2DSroj%MhaYnuwpwq{ zzq)E=Y={4fumd0Y7an4fGYC7KC?5Mj>npGJ=|7Wp*JgJ*Ob&=;JF%ISQ7-iT1(TC= z87F^aZSnS5utlh`mqn+pSkww4u5lwYWoi1*X1XyFB$ks;>4}1&m@pU#Z_c}7E2>fUHbYSnztNg_wt5(HyMXr8+vE~vfr z$d;o$ueTzSok77>>LDY;g$>#lS=FZ=J#$cea$KTiVb!k$d)eDe9~!#npKA=->HjN$ zK`X&SNP$s=f!W33dD*^(cgC-;CqH2?d@cI#xa*ZCAvw{05zVn#(}ONd`R~Bb@mTO! zA;;~FZ^HgOz3|Ul(z@k?0h{34WikdFx+PPC3N+q1aJ-$s|2u?p>I6oKDGbsA&+{iA zpEC1Z{pNRbVqd>IcddTjwd+S0R2%zFR}T#2dusIFz$_zI>frlr2l@6TJ#v?rtMKs+ z+j-X|uO7O{D?Dl=a_wwZ|ViUNe)cx1q>;T>T-!}cOM=)srW7VeGiY|iyd|b zo(vLUZPKsZpXTv@&O2`)(fGM6p6y~I+v^qA?QR&d@c$^hdP_I;s7L+}$%!m8E=q=O z)|jNgnXJI+RKSqBkl8T6I)5_j-H%sqT$TEK{bxr1lLnt7%*=HhVbYgZ{4$k)y7JrW z9gfV+49gBU%2)@Krd&(ly>@G7f9a$jTIGrSSJw!ZCfIy5`k(nV^ACffW}uKKSIH5J z!lqLVdcLz#Zl=GFm#r7o{&slA$NS*h;J(ZVeBv=l)wk=*q@pvY4C5l+HSg44ENqhc z!&GsSYPay*w3>e=&Mq$kl+xG)B~zBMvh}%KcvEmh&sDtY%Z-iMGnk%)t&81T$GUss zy<>X+e{6i5&hN|3Clj_tBE+G~TC=pVEG&8MOKI)ZfRBlq99ObD5+~n(=UFaQgZAF0Hf9Ii;{)uGfAt!}0Kw zRaZ8@`RDsKsO(e0qodpV-kyEOE4VG!QebBH_73av^3VUCYQH=?LnYbczl7h607f1? zgH1Kd9`i5uIb)zI{k|fy?&O(Srn}o`s(4Q}(u_N9=DhXlCWcd68Optwnnkms6+2~T zBrM`Kx#75&r9w-D&yLspiaI)I{<<-J=v$&kaeRBUY)hBZM zbu>3vtXSa0SW#!AKe7H=@_Qw|=hmD{dW^a?RnOZUKEb_Q=GH-zc}%sB;7iw-9on~Za(OThHRyL*`+zOKxD0f!Ba1dAPyApbRwbx{pPETJ);Z>X~FDM-9)b^AO z@MdCvV&uRtQls5tG-E-#iIMCprI`L>w?rd49~xiw;M}SnTE}|l zWPEU`)2g1numY~cstYq#b=GfrmJz;o=RAuy>za(YmpK3U$*#+A?84;7eVqoD>+6@u zUU8L3w}}+`ueimwkwNQM*aL3!#0TtcGrv!CpV#~Cqq}F{mBtvAZzij9lzS{D=@ct1 zmO1NV_W7z2=RyWG+XwTLq*DZL->W*!t#;wSuAWsJgsv%?@7Fu+ys`Xw2lvJkpE~C2 z-C5E#Pv=JFLKnU#3CBC_pTB$9J1KrjhyK1}9!HMt+rIoz2eXLA0?tE)pB~Md@h>o6 z`^44AevfZD<@U=a8i;%Dt=;qD&*w$kzGyDL6c(Qwmd~MYY2Z zJ&I*<3~Ji6Bq2QIF^6r__Y?R1-`+gt3a@B!zw(hoD`=y< z=1s=gK@F4Ve9;g6<>e$XmrdmILM{gGLk^7L2FrRvRg(o5w}03Xpkw~`aJf*Ag8h$; z+FaKRo26Zt8T78OR`e)V)9=WYvYL3rU=^9s-B=m#!CZJCMTElE7Ri(p%$n zhfh$x+~wQWYL#Vdnc&YZk@VVmN!A{+M$WtryS(r zSkit)EaM}5 z%ze5!*$h&PjHL<5uThDP2q|DU(E8*N#`7n@;!aF)>aZBy%W za;2iwPtA&52>mvLqTF|HYjr|nh3JB6zK(J>4bG)3B)uoGkwOcaezFlyd)qF$fe{Y`1^nGvNw*Nmq zOYnb-+?Jp25>GxDDwRCZO1*Hmm-VjV7T)DL3%UB(?=dhu)#P9*~tE-8(W`e|*Jx%`}l+HTIX7S$Z z!1Xp(b=G62o7nF#o!f5Uc-QCJw{3>Dh55ISKe|)+z4iW`u=2y!_loj-1K-ptSQ-D1 za+FSth~C-u|OC ze3DT4?OoS4{o65z*)2x@l@)io%}$S>xoy0kM0Q>5t-SFx4Ld-iB!U@7q|4j?|OUqOJw$*mx1gxSvB6PdM`<8Hfsn5&zO|I+i3gF2=Ci+ z4^_%eNxS!7`r0tlsBNlRK&y#MM$@5In=00+4_`Rh{Pj}uE7`Sq$ywQb8{C-h-?rqw zw|%J;OJm1@mW=8nE@h?fnD)Or<`jPK$KjP;D=x&Ty>0TyPBvW0{;jd?>poY$1Ai2@ zf8JN3e__Gz{}tPJzrHP7eY4o&6@y8rTfXcR*%^P7SzD@$qu+6uPcrX2YG3!yvdEC9 z>`1SO%kDTqxeeLM0$JRbX0KuW*x;DZ`SynO*%j6cmG^V{bYA+o!$`?;`=wU^s`V9`5ZY$DW zkfGhvWoz8Arq9vx(r4x6;UrWutSgm?t zSk}P)Vo}$ojYm?>ERcQBCF*0hWw*WX9nF;%(sdRrTRv|TDd=XF*_5d)!P>~8#=yYf z!NnwLo_l!3g%_QL#ZGExR>YiH)Es@(l11I}Lj$*>{+103HXoS0`G!+Uh?}>`!M=!t zzEkv8cj%Qd2yXGPv*vW|Zgk-)Y&w_BeS5~CCrpk{e;rKl<}&`!WOZPLjwjRm)ecM_ z_boVZ+&M;HQCmSyXMw!RWP_5$cOAGl|GzQy(e6DBYmSKA(CfcoxUoU+{);AwIdfMr zxIT>B*-~ieA#=)Ul6LEDOG}j*Pj)t2J2Z*RXyE+OAitxLVFQyGgSWOo14BcT{E5aj zK8z|6O{zaMZ{OH17}dC1u}M8)-715XPZoI2dcv_~qww4{E@DqaU;g5qeoM54W#WS$ zt9vdkPQJ9*AjXHc$+=~UfQi7ttt&j*xF>IoVN!W;X3d|5^DMp>Y?{_Q@!1-~bY@HM z$yJB7IJs_Q>XqHlp1FssZ^qgCj2`=soPF@}biYN*{Q|c?yC<)oAmDU~f4PU)_M4NP zt(L|8Y`4zvi~HDMbYop|k}O-N_cfKKnmK1JZgt$<&~@iO%Xy2NzUx+W%`aKGeg&7i z#jKV{g_=%xHHQUH9IfLbnUX&>{QA-$`eABvQH#h4rTcTZDk@~%BRr=6KEAnn=ZBDh zQ^kfa4++1>Vf?*h@$4g_sZv~#+X9?+oMe4uMTF<|3dm`^ zJ!ID!a>!}6Memgq9;Az+w=>8w@G!|ztKsPtnJbwanKUcM%gg7{yDwQ$Hd=Z%Vr;T~eRr&^e5|ZY?Cf03>`LV1RJ62o_U+rF zB&ITL-WMe$6)ioJSwVZujBMPTOqBRc+?-tAo%^Gu74q%dmAcyEyrLs&S}Im{E^2Bj zYI-JmMkZxdHBL@0c1|{4elBiaK9}x2x%cUdl$?&6m5Y*^%B4eJjI3OY%tYQjJ7eeM zvTNTTJ2#(m=l0C%swpYWadUGCODnN5vvG2B5mU1%OR9Nv@64@ZPwawHjLdwp(pt={ ze5|x&%$$6@f>OlfRLbgFtekwLq*UCZa-6(E%I zP|&EWn{dX?L_~=vAt6Q^oO}Y}QqJ6QC@Pu2CL^Pu<&f7mWm{B(n3Rf@m5Y^?jh&N^n3Rm1l8T&~j-6eI znVE~3nT?*FiJ6s)o}P{s$eS)kW;RM{CQfcXYFau*W-dx};+}uK> zos*lNpUBnPeseQ>$cuo5_ft-6P(Qr%(lX!Tl+3ITN~dSpZO*!TYU^spZh`H#va3zn zdpgqJo^70<;Ml?<@L}te!VgbF*H?Ugb@z7QQ}YG>>XU4>l~1>`D5ag5py24z#P4(d z(wi9}@iS0ygIt)L zoR>B@_^+np8>dPEzuzC`pTB=hWnQs;$-Mf!CqKgZ8=k~0?6X^VTYdd$!Nrm<+?t-0GCa0)ame>};@?8)?i3|&#xyxR|$?=&edQ*c(@Yx?r(bmpZh z!9mTu+sBN$MBB05&;9O=#pSEk{ zvk2CZ?P1ZJIReuoRBaLjgPHD@yjb=#s ztA4YsI?`m>CP&ND7hV60?C#yN=iM~j{98q@^TIdP1#|AG@0^{x^Z%ULYU>X^D!j7y zJ=+}7wNuY%KXch?b^G?N7t4M!Y<%#8d&2>d*D7glF_*OUcCWg1dBfo)P0W0|MW@$X z+9ZBE*6kAUZOoX(ZjKc2J*tEBDo&wn#% zN0s$D)7X=NdOMa)SB}wl4bQ!^^EvAi?OzXA|GVZN(uqyke7yI$o;(MC$=_cu67#}5 z^H$t{Yy57P{el|KsapSczbL5p*4h?2|J=oZ7ioJLFZQ~%#XdOC|L*3OH)YRqcAl6Y z(6k`4iJ|i6+cy5c<~Og^|5|mzenSYSpv4{Aji0JzcfMF|bmnTm#*gX-mTT%NwT8!P zzj7-)O;KNcFD5^B+wbGdTg+6dZ5}vt=Un-IK;3c4OundxADT|}CGDQRB~PQ^klZ!1 z4+e!(0}3|ox*vF<-LmCpkGb%}`yBt-CNyomTTldQpmS(UE=<)5J`&``xJ7KuD%rq- ziOpw)FK#z!)5(cZ*|X>**Rex8pRP9d5m_u{*uFohw5^x9^S;z`3Gpsis^f&EU*kATzx>^<6#Lhhn#X~Y&rv$1@DmD>!Gw^h`Ec!Hg z0nbtmch6Hnvp!8(;j>gL{N$;yU7x0I=vk_h?s+=u)~9JZ&Meg{KY2Rt*Qe`aI)=&oZOwC(opbxiGV2ikmFV6v(nNHjB*?SK+^;XY=RqEEdM+rpC;^1xE^J zv%XAoI%4U!?}jsTAh$bzCh!r{(ebzs83$BVD0EO*<+=&yfZ zas&hG9EYXfW;WiNyjYU6-SKf|K=r;a4ezHcce0)7v&iVl0`<94Zlzii7FMarnD1C_ z|8!=+O2Lwa48AMaqJ;ccZ+j^BJ|it%W#OgPiih&%7aVNWwKlDI`K z_GJNIalj(}84=8C28>aqf2J-7-}~H}PwMh%zAGEr);{y^%{tBZzvgl;$IGDL#XG}l z(n2&IDjb(OW5^)xz`&&3afL(SLnHs5g&g@E@1)fp-g&l9fla=Ev0ACIlhuWH@%^pM zvMj%E&1@^({{O{+`yalZE+|>R{9wznyvw@W0uw`k6LW{^Rj2i{S{rYDlil|Bc;)%k-nqS}ml<$s z#q}?mqO;_iY&^qpnP(GX1hzb2bxk&inXBPWN*NPL`H?;n3PyBz-hPmS%_oO|I+awNh2rg*eBJ1*&gXaN%=F&I$f>pLF z_nIHs{Aanx$IcB0gt`~VS~ziRQ(zQuNI1d9;mGyDFuBZzk>SSycI&KOhM3nkuQRZJ zllinZKlyv35Xb*!^F1Hi?Hv|9obtoDFnI%`fWyH@;`=R*z5Kw&;PRF2YfJjRXIg2I zby0VG|JN?BEY)JpTcThm*wNVNtMFd^%tNk%9ZvG=HndeUJDk^fVa`;;#}F-j_r)f; zA2NCezeHZX^^&3fS5M~LCUXVzo$4p5t}QJ1DE>!rv3aVd!{HmJKJ%3*Wc_Pb`Q&h>_~2$Ut-iD3LbH7T_pj1w{7oD)9;{-N z&2Z7vy5Vxm?8uhb(EseGtT%m+%4BCOXPTquyR%dz+B;z#-tRLV%%A`pr~^&)e7}gZNV%s_itY z-#b<}KhLgCtKRoL`#^dF&yIo*7g|0rGzLht2643dYUKPeVAp(*@Nq$^*v0_M4?(NH z#-^&;Z%Ykmx+x<6giLFTgBRz@!|&!mN=0VMEowLRL+O;;rAC?M`GjNECcm z%RboN;N{Wk|Dz>%M@NrG&8PnhYM3|}Wq-7OY^jY5_0MLBpX8u3X+!6SmZrzzhVL2p z-ZHcs8>D~y#`56;`x6JgT7!BM_u?<^)!)9i@A+1&Iicd}yx>efS_} zt=9c@dY@ZGOOSao>vP_H6*c=-bR3H457OZO)W9e5g7;TM%{>G5`VA~m30d0ag8Hg% z?^^xum-rhu_D=fRqA%W@hF~z$AOl8L= zzO?ABn~}aHt@xeAq)!o(f?sxPS5CcmVN%czwkZb+xUaKM7nmTeT9jVmJmYB8*T-e= z+!B9?DVR)PVmmfbcIOnIo!LLa8V*lu*b^}|;^y=y%hn$+c&*IY4Lmu$AMky@kjlXl zz{HsMLe-+-Y1|j)r1uW?1saSJ9~eI#D>hlc_hUiwtHktIACq51)Ngaou9!K!x^vS0 z8`IZmwmuV>ag;sk_l|=42Yg|!B7vWMA77vS-qccRf{^(Hi#P$kJb{V#elYSh)Qd;* zhchsEo&-%x`TWc`Yp*#b&hOwnJWem?2be+SNAKRO<-?Ejs?7g>;692&}f z)huI%;D40>Cq~9X4n`3(_UsE?Uk@-jK4Y>no4e#>`|`}}gVSdnS~mSy_@t1N3;4YH zAN-u9TRBhIYu?|8nkNPUE{&nwqP_9T0bh)pUx~>V1hQyOD8BoF9|!n3cC6s~FSTrq=dyd5%ht_Y zX5TgMP6D6mOWy1SX)+&qO;iKDewoL8;9GWsN#Fs~kL$cq2bgrER$S~{x@kr_n^!~6 zsTFKDRvcnmnX0u?$ZMr;=e$n`c<&Uj9zD+YYy-pMYoVS}1}e{HykJ)U$jHR!km%3A z{?vhuCxFEvVQHh*+*YgVz0a1$N3Gs5Yq6ErvOTv}@9UcPYX@8Qs^%XVd{qo#VWz6<3A5%V-Rj=OweaPx zN&8kUd($;k#tCTkLsvVFhN@I9)q01zJiS_^P zwP9Qf*00*|#k~BH*Wx`A8&}UCkX2331$!gxc+0r_pD6`&m`U-pP8ZV74BEMHm$lB7= zv1RJ6Ej8M+?=9e4tQI1%Eo$aB{_3ZyQLlq^S|i>Xta29I_NlN+?E?EhMusphmRnt$ z8O&B#KigJvoUc%O`}U}H)sb5&c6U@+FRa!-x*HyhZz19U!oY5Y1RqNDQ3Rs!EH{71JlVREBxvT40IJVnMZ&`A>ds+3a?=yBu?cQ}`cU5r$ zpUzdb%&)C{|63!zmnf|k4Qp`?v{nr?NaMd~#iTc(`H2C;ty$aHsy8&=T3cgL{y|_@ z9M@ips8-&rNuts#uSmCEtKNI#^g1c+*}ohn1kMgjo~gXOnmMtRT`b2xB$=t3QT+XD z`5y@kEVH+ryuHdQtlsrFf5^%Gi>hn5tPbpoI#8LtmvhgSL#z4^W$_(N=c{A&4W6yc z=Nh118dPCW$6}hLct9eWfsu`Yp{|SHm7)A|_nwp08$Ld3?y6dRT71_9>t%X5Qw@4{ z8QC0u5y={=uqK6P&Bw0H?%D!qVf_f8y`FVyf54FE&^wkiFWu`$XrO6Wwz*_WB$PRp8%s=XB_Wb%$H| z4snGsv4(yB!1`S<)X}HueQEF%(_r@)c{K)h@tHZ5YmV3W9R12Zb-m2#CswDo_#D{A z)7qnRY~PyGX@5??KgD|}=H!=OtnpLNw3ae&za6sQ^GG~Hn7;Pe@Bn_31P1wrQ`LL6 zg=f`k7PPLnIdM;BuZZ_)K`nl<>Zw(?Pe?}}o9J^g`@uT1n8Q&EQX8Y29vNmSed8}I z4gGEt5HG;D@Q;Mr2bMVwd@gDiK3gBH|Nmxltk+_0-|c0$kMhf2l<3|fa(12A-xCw& zT$HXoe1~C2$kdaM4hAfm7Ir}-G`&6Vo50zAL8eD5_!JAyuEsNXxSL~G3j ztJ-y!tG5X3UH#B<;p~PjA3jWHZ6xPqSgCk?abFtfjgJOf~FNIsR_8wB303b4-&J$P^v$~IyI8m@<(stqt5f3)+yayo7^OcjUS7lZ#9)Jw?d3vFCS`$^pJvJb z4U%Wfz5L+Kp|3k?1l&0vT{t~6fbVK7-_r{h-v{vhO5nTmUxELNz;)qMlM;O{zPWRH zLd~)AySJ=P@MbHpMi#I{NXs!E4S$>-S~c~y&e^WK1g06UZ``Qap!b1E`O?Jlm3Inf z-<-AgrhZI+kOFJa+qjo(NiWM-Bo^_1N?_1Az?*Qj&As7nlmTBT!$S5s{iVHp&)3|0 zt-I#!S>DGAtl`|39twtaE=>(ny)WyqsFRm}ZN{mCz84BOm~5>JwC3DAYkNRo2LHVY z{67!y{&CRFHEX|&vF5~w?cJd!`&NmS)V^(4L)L{x`0*nB(Kc@W*r6o+!d)o z1uXo1{cp=z9bQ$f%0Abxb4GmcqpG@<&n`UwmcVYDx^*+-k!Pw&1xXR#{!125KCNi? z?=i!&gF**x@AP=`C;Q22$#dMxpPUk(_w>QThYGAZ6PSZG*r*z?25)do(tCD#u}$q{ zR=)za7tlA-jMzDnOy+-{QS}2X0hfEZh5B``+_od3;Yl@ZDwzE9@!S z=or!QmG8?RemOqI{|3xne^_kS9gmrtz<5leGdA(#gbP#8-Qlh}p{H}8ON0NT0>Af# zhYthzvp+Dz8@RH5U|5#-YE9p(RrlVrUSLToU`#(CA;7@STkt`o;2B2&OH={N%MT|C z?$rrrUE$PubJ*`qP2HPXJHB59FJiB;ZDBmp@|FMAUB-)V7$#n0H@WbFLoC+lEmMyn z)93%}3@1F^aqhdoD|?PJYT2g=d`w^YvOn;#9pK${$tG&@`(y{*?|!dVp0oMi$IkYE zMO=X+X+kk?0xNs{heQFU4+og$_T9ZN`&@Ya#e;RvCHCKws(4Pqn$$c zy$5?zbKkw{d&2#H#{%zy7oR5ZH^s21Iq)qGX)sD9GJ`+{;iq!YE2%$ zjX3+RcD|nme6tn!9x(`fdJ?;{$lZszh4)B{L&Jj;6N?_7St#7WcUP)M+;E-a@m}d& zT8g%PDv?D?ET?D&7a1>q7rUdtU8Oa<`0+9OIhLjGp4`0r{QMlLe|LGlpIafuA>?qx zpwVBJS6JRoMDtUcR;Yr*ilDm!2VJ@Z?%jC!IQ-h1o0~sgSr>Zx+}r4i!l&ovzP>iw zyrTTECuh2QmwDZ%2eFOfi#)oDBHxIf2wZTWS*HEWgA>k89%7RGCiWT^B|n)J{rC_z zQQdEjL)G#?>s=Y=xOi{yR(zQ7U)asdC6DQ8>ysT57rRdg_2JWBdC9`N*gIh#Px)fr zfEO2+K5m(5+uK-)?t1gC ztMsQ|*Pcy#1Uuv_ekCmIP(SmtUD|@dpi#g{L_&etzF>#W=Hp*p9%B%HbMu(YUzRR* z*~?EBuHf3~qa6RKL{D?k+Sf0XC%SFwu$a_i%_m#DWLj4DaU7rbHYtIjLHo`D_f_WiR=i@?@4j$~b=9?M#TJnpo$d3#-6@{D=Et+> z)plhcHeX&_@u2Xz+~Q-M?DMU-TiE$3K2$#H{4Wxeka$sq$KYY0Fk3<5rIkq%3tM@G zIue2fgc=x_#4jv-!XNlj@Pu^LqmOC4`D%+iw&(4t%;h)DXx3PAx8|^iMV`|m(H*jl zE`F+$WCZi(nBCf;eo}3A>L<^|Ki)WWv#3Zgc8F|RlfFl9=iO7RYn?P2X1m{=wfL<0 z{qEp%6)(0-Uia%xr6*V3wI}Kqb{sSM67YRq!t;O%om(sVcRw&a*dU&CgP}#(MSzio z$6yEd@nFtd{KvIZwko-C@nk5rD8G1`#@lc9>FX0MouJ6nM=dIvD#dpq7pcvjvsKb+ zaZ%lixl4p9lv&D7DIRB7eL&{@s#rJu8E9-if1zv)Tu z$vHMxpFHcbdtfk|$LN8=i<~V-1FVyKIJ&krgVEYq|u;UoixLB@|3VYh;WtEM4) zcPQQc_2RHAm(+^HHeHE?g>wvws&8JOs>_x6bXu#=$q4r|7t=e-XYBp?W$vM$&sD3Z z89OvdCK)ium9|ZL)vDCT7kox3=7UrB*GoN7Sq?APNWEVD@w1wL#f^vQz54eoljexN zoH=8*-Hpa(S))5C(LGzPhV7oc<9f%|c~!e!Dqpi(x8itS@d?B9-l}ykq(4Y1bSQ4` z^bHAAI4bzWRG+EoiC8F~t`4K>rx&8njJEGg;5}YEpSx4}%EJECg?`PJFCG4~|C`7v zuuqv=`9UA|yajx^E~z#<9}9&pW6~?iXk^V$y71v$>(+Q@A{7os*{ zkK+NZB!)v`b_ba97G!b;Nw6~)K6N;|RHsR8=7Q%}68p?rk{PA1EC~E}aCv!x0~4nP z6Zg6RKJz^d(eAgs!eTD;>NK!2FsxV@Ibpi9?4hT2#S_@AJ-+jmU-7j6yt^slU#VV= zhG17(b<&SdX0BREfzx-dIj*+;fw|xuhk9Y*3#T}em<&4>vI*T_5}4=Er@Y|+!_x)J zELr{+86}pk>({#Yh{U@MUFD% zPdM6UzDG)K!EvXbtt%egJf0(L8qJWu(&GM^-s#f0 zp0-I0j2aCLOw19?N6Ug+S4KDn%X>JQpE}59KIJeAgGReuk@6h5)Xf&RP5P{_Y-F&$ z^O*Z#PoM3IX5qy=q1+xDr*ZCNv{`+ixb@l0EB1E;m`ZoG`lkO>+3nP+zItWWf@PBq zS-P@n@rASx)sAPB|yj{E*F3Zr>@oNV?`|(%U~?&H5`IGYfu@>^relmeb`y?~@;g zoVP6CuP|U>Qub)H%gM4-C=EOC_{U-qlL;!9JHymhU2X`pO5lGv_3#|^9}S#09Q%qo zmfN^82dl<9^f8^7z9N?_c**rU;BLsRji2e}KramZ${pI=kDv}#H-oAwifOAQa2O#duq(V6jb z{}q+x>x9B9D>}U`?==SG`&{h)Uv=p6g;suzUGBR}pKf$DblUDeUw=<)g1U8PKvvO| z@{>Mg&Q<#t^cRUNWOdNE!j`r{mZN2XTr68+%6fsR932Z-H6spLs2Hu8yQp&ZF|`dG zch5|ITB0EH{elzwrUa&?42mpzrOqK4zn6Zh*kP>1c18G4NiktUMVAVaq zY!myYx#Vt1rp6-O8k=_|zrT3deV)j_=l@0}Q_F!o4ejMIhk- z=Qd`hr7ItEJYabE{=`QXHj4yi-HwA#dVJR?Xht8d&w|DaV z9cdg43-m6?OX*o};g4my{D^76KDk#foEObw+iIT3exut~?z5ieso4$PQ(2De{p>hj z%+UICRo4SyyRF%~izBQLcQlIJFg-efQLwTGz zC#!0(3*Bm9j8K2j$>_O=i_cq1L81LzhPv1V@dux@94Pw{$sf7q{NO$huD*QH+paV+kK#U@d5pgmD>()_+Rv+N#uf= zRDdr3mjlm#Z))#Yvve0+yO|ZMKO8V!FjwpG z8oN0Pwh;#%axAZ2Y$~6yW{Cu&a0By~L+vdSweEftQebFbP|aj=ar*hoE{`|PQa&^N z`NgK(3I^SXW-sNVK}!s!iuu)6Ee#EsQ}=lttBl1L#`Qgd&e1w8F;|X$e&qU4n>}I8 ziT}kvn0iVM3oK|nR?wsN<3#G5!)gUR0X0oYtB;vPGfcIyalF)&dXecyA*0)sCVhi_ z{0-_WZ_TxnFc;=%wA7el-f8dm#w9qaM|nki;FIJ3twp?x`PWR|yXmC~OUuTI6FTfZ zb=*;A7ta)wvREH$5N5UD8o;l278SImMytk^HJX>K{yTNP99EI`^nolkENOQEe zC$ADrV61q-c4L?4XKN|Fmy?tp^ay!0uJ7nB5%f~FIb<2oCsV@Z5Ca(^) zFXx&6t+QF%#G&Uwo9cp{<(r$+@3dW-$fOxyyyt|{+B>J#)pV_AIUTpgqwC0tvJ+?Z zHD+&pbM~x(&;PQD(>vZQ-l?-EH)Ch@fz$OF>^BS<7*1?13s5{L zW8s^U?xSzcJ$b0ON5a2)NBie5_Di?;)XlU~TeLb{XAyTa6Hj5!gfsqs-z@m|$DjW| z6JscY%ne4-1x#8QEp8et|D`yXi!ye6uMFUta)Hy=dHSIX_wNMooxLpdfXzZ`nxJl= z@X?l;kqxsl_*kpk%Q)I+_%xa>P~$b8m3K2xf8#kJ4@Kb*dsZG~Kc=&8~KE^vsR?w)gDsaAW{g(jZR(`PRP^QAUw%{cbD`?QcNr)hBe z>>cg9Mb@ecXt~}xt-V5DN<*sR)1=SU&Dsxoc#<2xpAPX=4Jx16-5AwvnPFJkp!dC7 z@2g8_D650->RqynHOwRS=iKc{J#zj(U(i{f6D-CjSoj43R2-NRRl`IT7?aO3sA}Bg zF=%iKu(k-b&gc!>6tk*KU{>xAk6BxTbDsuOd2Gw#xjrM4v%T8lu(fP)EQ4>yym|(9 z4hu%Mil$iRdBt;QCc1V)ws5q<^+Zv_^a1B}K?oAee;n0S^!=msOJ zL!)KW+Rh~>rky>pbdhII3A0`-Bi{oC$r()iS1+^g*w&-CNzj+GQ-Xb_=brpcox6Qv z)poXJWhR#AYu~!=^7j@YQY*FTz_y7K`sGldImR?@9!10Q9f{2Ue?Tu5{ zeY1#GjdC^DZ0Efjz@ytx&2XF1fPpEL!QrLW=78rx4u zu`_o%@r&KwRC_6+DDFkjoZJ@y=PMe@4I1ygOk_@AVE*xNUd$8$g9b&mcrlGf8`nlz z8nhJOykXLiBzmKfIkcfSmBqbcNBotfo+ppWK0Lbpp@Bi6N%Y1Yo39tnYA|SXTy)BK zY%UjgdGCT*5?ojJHs+j3wv|&UjSzFKTI}|hNlf91lU<58&!y_bCyFIc>gIMgHMSRW zw3i)d_l~>wH1tNqCAqha?Uonz@LlcsqnxTx@U-zA+y6z3FC(>z7D)eBWa9pidg*_( z*NU0Up*Q20T$|#}n6JvDP1}3o*VU#wHZRLEn#%%CN@wuc)IMX%V3OUz!2Lo(s(?K& zU^A0hLg|Dim5rR2nba3VFxkp=z1Y|;$iT>apj~1SA%9!Q{%wpjP^DW9!mZRuPK>?5aHx->g%`R)pyZOL1nqEk1Dg#3kchGnWXV!I?pD#Wlq`Fsd|D@=G#S{tqgV(7`QW-3_Tc& zPrRIK_Tb5nOkRn%7mp>+4>*}(c>Ty^%k0F)yakL`gndrmo-6mJCqv5cys=@$wcP)e z_Z0seV88TI_50=Y;G<7`_#D1#h}3Rq=hJOiaG2fGO@T9e(~&lvHyLwhXg|}BXeis! zu6m)_ZbwVqKA%@v99uX$ds#17o@Tl-N#{grPI4am>|g zqse$egKTC2Ui*w?4B@$su2>>M)~byu@<@iy8`zOt5skx$oA ztfFbnxvXCw&eh+L66x2e*l^~9Zr;8y|IKxi)n7Dk(|y4{q49Uu8s&;D$|p`-TDWt% z!C4hit)3V$r@u`pKbbz<6aTbq-Ptb;A~QDg-8j$Gu>E`9o?o^ve_m@U-tfMxp+l#F zXVy{%?jMZ*6)l>Le=u@qH1NEgk<2~!V(f>vzuT{fa=j?%yK$A_QsR1n7tB%;DJu=^ zPk$Ek>WOykJap&TTOnavKiL)QY?;aouD%qyz4zaKiRlj^Io$XAxrgcRP*O)XbWueKYpU=*yNZQrEkhk6dkwQ ztIWa7eS^v5c{BF|M#BXRvK3{_0?jPPpUp6w4dA{ zgGTNh4H^mG*ebsLDto1MJG1iw^RZ;d88_Hwb?`ZIwNHP2Oi+N4dBMfv1I)q;)>d3S z_~`&U-&H18&I8WO_ckSzlrL|;XOvkZ@u+**84Z)8!7Y0F4bf*ee5!X)$ny3Rd(){} zd3Rw(-=ehAS%G&a|6>YNeXX|tO!ARSQMwG04IC^@k(2p;#_xCTxFBt|hnXcpge5~p zc16ByM3%j*U*`nLISN;#D|VVW|GsgwvuHwtSVDW1gTA>$zxal(wGoO-pZ5eFDR<*n zEms%FP-=JnZ@>2bubzEAWfz#Xi$487%gT{6PR#yU=VtjXGli_Hf7??G>%zigi_c2B zTs`iy@63N=ky4IgUfqVgB`5Fvsh-02Q#qk|?#lV@S}nyIENmQ%ax3z`EN{r1CO>7y zH@h=wb1L|J1E%G??@Xy|XL~$TvVytn0n03A4q^5u^uV&q9Yvdm948joN7%LY;xsd@MmD~n5p!1vZdkk3rkMElReC&%C%?r^Wf8y z^xxlW-F^MD{G}!T#dJPMuH(H@ZNBWDgVfYlA@iNPvvzJ0Vr)`RI<VrJ#2@Q`Yro z72)r?r|pQkb#blr_Pc^+RW~ax2Icdbn+Nr6FgWnvnWyzg7jK8A3E$kECnl)}ual{i zc~0WfeR^QO2izWx{UHfLG_}3! zUz`8RsP=o-pN_s3ex4LOA@rnPcNG7cRDbJ&TE_5L&TCVz$5p&2X0`m9alMyO?8AkI zB#{>htju=`jQdg*+h*LfsLI*a!uG$W?0kmT-Q+ln_jeY!S_<`iU@?DMQOM^gf8pC= zao(v6EZqJA$Ir`%#?WXHaxH-USz^#+d|#{fqdn8J2oB=&#k$r z6y!bUyKA8LhU>?wmTncC?{6+s_+0RPN%*;D?M~Kf-hXtL3t1SgSvt-3+tgye7%sIF z3es=C9OX^;bs^&rgW8t`Gx+94eK;cexIkHH<)n!geb(<9+C+jgx}Mz(h@YY0$YXJ7 zs#DJ9zZnxI7%>E>*kAa0EoHL8!Q^w+CM^l6QyEldrntUQIoWGv6&TJi<7tiLGoidG zopQ5+=FGgu>tZX~$M)u6czR9Qqe_;Fgl|977ku^md2V6Hw#^xf`!1C(kDIjXD6i#X zokD(dHi>T@Z6Xl~4vO;AqF$|hT(j^Q)2tcKR|U=6_??wSNTQ%sy71t#3+vd{{y!MN z8NbKm_{5JVWX?}C{VY7EK%tVEf6ARL&dqss+pg%i7CZbr;&Sz6%K66lj>-r2?0r9V zXD#sEDpxJD*+VoaDD`RZ<=QPF`9+!wk2IAq$z}C#FZ#MVA+F-V!&Y(k3Bs$&ycrH2 zNaW>iWMc}ii7yj=R+ zwA-QbHJe>}dtcCk;yqV-{TNqW4UZ|f`&2`^xcXzC_|u+UEWL^b35so-2$V((=X9l4(=sF_V!>^}Q;jG#yolVYy3d9lLWGd|_J`kuV;EI7a} zv!y{sxFsRrWF=Gmf}_%9GL5PH7lgb2F-~2v^#t$n>V>NxEmjh(Yt;N6z|P=vph3`!=iUzv`0>JRd-;T9-X{wJ6&p5e_tkvHV6}mPX;)zDufmBgE2EmO zez|TTHuW%r&<_XsI|VHI3=7yco(yG5-Q0G2igJmKa@a<#j)`^&7xEN28W+ScO}_2h zq9(l1v6SVA$%QS-nwma}K?~Rpd+yS(nZNR((3Oo1RevV7TmMPf+caanj>N_Iw;c0- z+?&Yyd8V`V(+NuV|KDSjczi&qVv=-wQT(iA`3oP@EX~;-syVrqq{~_SPvi z%QLDju@&k%@^cp)mh$;@-0xj+m70S4zK)0^%8xkpSA;yWv{jid;BnF5-Q@sb9s>^k znaV)D&3@mpMv&YRGN)zav)+yI zEDBK)vpB%$RZy@}Y)g5|E|pZj2_atP4>->oMYa|mj$w-3wefuItOcurQyrtOJ=?~* z_w|Cu!B2&DB(7ABaqN2Yddlx}7ymCj7fmMk-zs%ib;LZ7zJ`%=rfoc^_34S5=G8CkN9TR;2aeNm<~#;f)rSEz-$ zaqJs;qpIWft5)5*+Sbr4dnTN5$M?PEh8}s&9}iisPw2ZW!^q*v(8OJJK~pxvgWW-3 zj@*|EVTWca@0`ZOCD9+=caXu6$<;#5qOYN!`PWtsy@qBlM|Oro`@U=t{nBR6aJg^# zn}7-Ho5SR*Zb_F-IXvf^=kvg=0=Le865r|>>F<9s`RLJTg5GI>1!N)MKhXZo;uuc)N%0s{&E3hqwvQLPWJE} zGhWKSdN5<#zljYj90q#s9tna16%(Y(`>fm<9!{*OIjg|FlfUfq!o49){f-Kf%0Ff} z2b34dGS{BoJV#e+>hEq5o#bh7=)zH3shGatZ$;tnB9ORRF z`FOkQ27%?TYP^p;jXdvYdAVEa`?Eq12IdbMGsRyOPIxEe`G4tC0q-TJtuwtAZ0EiX^h&616-a^QQwI&VkLl`CP5Dm#My`mOo9SYuhCvyjb zw^=ZgS7=|8&4uNxY&=Jpiqzf};1b+jdhzYdMvWK_4C?yYk76$ z3C}Zm*$Nn$6V`56lU|#zXz^n$x4~^={XGw}YbIo}SPPiM$gH(WU|`Z{?Ch(SsrC0Q z8K?6iLn7>%n$fWJu#|}0HNknW z7{w2sJYZ(h$Roiu^XIHPE(=&D`HM-&&sgF7eq(H*E2FRhqtugT<&cogiu0{C<}Wqj zy|=J4kVlGP#bNOay_`#U3Iyf2RVIloaoNxl|MRcJ(v8h_Hn%RkxH3hhQ&B+H|EnV( z%YP65hL|gFrdv01TMPRC*PJ?&XY%BU&5RY-dFIJ63f&Vw!N6>`U@~v$9ghW)e5{(C zqP!EF1&=WB9B7zx^8hQ)L4iLG0vDPsV%+9UR7iVqxZ6f{R*j>W%K?rrjJyf+#YN`z zUpOXqNTzfJGv7IJpSKC;CP-V?G}?)9+8J~g2_*W*1_Z2hWogs2WEFV9bFfQ&v)qmvgdhtU4{IKWQ#w(C1`do*9GJ}#X6nwl!?IYi z@4V$zXWJG>O9cmo7zg%$2aMtlFv>9Sb2LdfwCPP$@Kl;_=fUXZ6{L`LP_ndH?1iiO z9SLP61?C>*(gVy(3R$eU+O1~YcD~VP)78rH^_a{T$I=&lcApjpxm`M{bHKjN(R#yS zhii|dGd!J6IV_rz=*;!_#|>tS3JzB#2O)z-)|@UrnFGe(9QX~|Y&sOgr>ev(O5xge zg6TykXGa6$1&6qX``-lbG3;;&lpN~9OPKgGTBE- zb&|AA#bNOkhn@E%Cr@hS*x0<;Wm&@;zAZmpLK2p}Sb0(?CoO%(v6BXurH@`@zj0VE z@33CeVa-ndY%c|i7t48c#CUf&2w5;lS~v(DV0g&LC}rVj@~OdQ0doPH`ln2GGq0H$ zD>zT&I82!nU zU1{pwRm}{CGLo;c^j_1b&YX&5ZZ=Pi%VbGt;BH~CR%m5+ImB?qK_KFQy@MO4nBUA%=Kd6=y4EiVX$*JAr;_c zv!Q|e3WL<2!}*h5u2s8#@JF};*JYj>hSw>L;uj8VIJc5}1_N)+!Kq#j-kPi3R;;jE z$GGL%5g&*4ryoURWE!KMIPkudpBt05{m|v@_ZWgR7-|>}a3?tMI54oxS$+OkgY*dp zv6O?mt(IJLT6w48@SPn8=gvF8R^z}P>u7s{fp-V9RYe2i6$f60*63G}ht%fF8|lP~ z9pw=@7?C>L=h7nXJ-1fN9^BjI;Qit7WSM32S1rEFHq&xTvx~s1fPM0R4$f(~(HLVD zR3Vanrs{R&odff4=1A{2eD0IZ6F0r{agDWFD{U=OR-Ai%=fQtQ3j^JKRt=02heR(p zSng=tHiOxE!vS^&2Kyt-X(emLYjZhYIh!53FlP>fzzgQIg>M%LF1V(7X6if!78{nI z7jy64dwaLf*_vmm;zu?~8-1BCj*KGS9A|bTR0f?H9T?3 z6I9XEPdk`(?)BtT5!OczaBgYfK6CKOtaX=XILk-y3mkFa`p|rRQP-Pud2d%enA6d~ zy&}+n?}4Mv3dVg=EHN+Ho@jE%G!{tce^S!7d2v|WVEsv_{4ZhMQ7<^X?%hwzeLto0 z*!D&4wtEk9SRCNk@_{3vfqVZ4jw{c1tF1g@rt*8!dRrSuZjpmBCC$+vfWY&#g3cQF2Za8UG!CUd&%2d@L1M;P8bVCIkeaQD)5=`U|x zBn~MAXrDU7$h+o^t;(wBYXer#*broRZoAjfqe~cgzi*W9Z?NTAyZe&wv#fQO(xL^I zG_=fN=3V2+WzgXGql25_AbSU&u=PgMzEF|&W~+vVCeIn-HjWQlHJI1P9dtav<8gpZ z;=mcn_a7&1v^sY9sEX%BUzV-&a-`XF8Ba8bSO`!@gMzb}>e3^%pY>e5Cg@bE>Etxo*}d zPSh0sFSDkxfu)1t|05NK9Y#9J?^Rzhm;BI`IdEU_o1?}l2JN`~eLwvSK8JVNtYVwt zEc4reJLdq~76w=MFD}6*mLhL2Y!aWr9O5EoN87#pjlexN*6xPNB6o&7!DKo`Mvh7Q{cobKiz|KMmnlf$*S_pFO=PVIBxh&jkA zy46&6>)lOM%d1i+G4n{}R31=Wlt{2kY~g<2N+MKX4Y5 z*v_J0UiAF6^atiQcH6D@+%ypEKQWcfFxNr;&)t@#2g=I7GjQBtpX0#tMb`dvb7i`mIaun@>6%klA`zXiqbL z0|SQ(!*c(f%li+s=>FJa^`j}@(jw<@OR6}p1XJU+uRLo?yz3k8%&YX7pP9Ll>(Psk zOf?P68_u=-bmq8WIWJq5d5`11f0M=j{9MBNE3p5tt%rBM%&v6xDs!Ex#r9Q>>PP#- zesSMDT=ii^m%+JZ#k+RSw_d*ezzXAv=J)@O^Y-uHR$*Y-&@kJu`sc#!&feT^GQZLfZ(kH& zZLXr|Z(|j-FotyPbD5>HpaMx=i@axAO-adFl>4 zKIS0E(c*pcm&M~>JMK8xwq6w4!@zRou$1baUk`RNdi-6Tdw_dO0+&PQoku?;o^N)p zZoVjCb^P%5u6qc;KKLni}F1Ol=&}3pA~;`@Ku=K2KWEA8|!CsZ)te+KjCdo z?a^p6s}ff?1xcBlKQE{M-8wz(M0wm5oBN@gZNKcat)JaIJLdpr#{sX~d+*j48dRye z|NeXSf4cAk^*X&D=Pw)({U9i_p-o!D&RXEF#r~VN4`gd(d_sAG1sxhrJeqds_Rsfz zw#+ZGx%Rl4HP$_T`a^t8`LX`LFSU0qy4|dC>GtK)-EaB>xwbZ{@myw7IpD>7gtL*! zRm6tzAh%p=#U2wDc0KPSIs)=xEa3^!$8x`^ZM*zvnaqjes4X=Whw@@hO?elwt>mZB zvfV}BZ~fW)GymWuGxNL^(Me3qGP=B*d6Eng7?_#8XYP^^RA$+!oPFbCbGhjM?69@> zc9ebnb@lah)i);&8CE|%6}jc^wOiT&3fw1Wo962+s20wT+gtq;bW!yC>1NGWS9%*T zf9w(NlynZbAyDMnDXbo~M`N+)vop7qqP`s3ctUupR`Rqy&8PP!&Hnyx<>8yZ(gSoW z6!@ezd@;McRIlrZLE!qkJ61(?rn6Sdtcj>ey}D}ep>LJbwij-_^M^^Iy6o-k!>!fV z=RRwyek5)@tw3&Xi$uJHQyE8~lIv;KS$nqLcWHC`YvQ!r$Nkn8hDfK}&VsyGo?BVP z0@yXm(pLL!=im*{Vq^Yw!D)wj*KL8Fd^;y4bz077X4c)ht8txlL6OFRdHU-%zto$Z zccbsvf2r-&&*f$Q?|d$&tCEn@_T_@{LRqs921Z6dtX7{<`t_zdX!EaoO3OJIzDPdb zKb3_?V5m@?DzN?i}yU$eKVNP+j-~| z>WbW+sMszO^tf<6tH9lBZoV;p*!Q@;Z)CXSuAa+&S6T1wl#`v?Dlc8Gc-m{u${e(# z$Rxz~vQt<7|DBGG|9$d4ypxU0Jo@FDad~XTN}WqF$($7(y5CkMPYiv|T{ElJY;DH+ z7mH^Xt25s<-Fz#7Mr+UHtB2_e`Z3lD6zyHdF?EH`}ViZQ(Gr{KW!!3B^`*uh6Q@ z@>yliUs@H;s$yhbTgTq4zNJkgVtp^)!In7gjCMxh2a2zAwp@O9YL5P%#N#^K7xq^3 zZrilt_B^MrLU!*TecrV&CDpgCUFN?$qdh;q+1PB}+o&jV?z*;Bvp(dA{H2eQ7i7e@ z@QWz2hVO{+Iq`kI)T$+IrdQY(I9%DZ=fMkE0~xOKeF+S|7QQQ4Y0O}4HVpJbWC? zQnP5|q8ke}!zSv~MjXCPHc(Li=o;N+>IfvOUN2r@O1TYC`w0FB@ z*joR3+)}Z@UHC(Qyyn^0jCy|jxdI8dpjr3wK*p;-Jvg_Z_C|7>bu+_6CB z_MYXc<)Teqx6ZTJCtp;%yz<;*9Y@*sJ2@Wndqv)bv* z^**8Z*RMsa3?hzNkvH0SPEB-Kyph3o+7!N+c|ZDR-P)r4X~J>7-v|2abqX4nzR9%J zxZSItazt*m&Z@wPv#w0Nd)OiAXOrED#?vZOl=~*HTAZT9z{K9oHh;&OgtM{IXfPv^Cd9a@Vvap(0FC7_l4u-VjuXjKe@_(XK>=m zO6@OOpf~B})+LOu0vQ%13d*;$>W5z|;Qu5hu=izdg6)Zm4*EGR%*M0U+ZSF@zCML{ zRf94+uagtA?ho+;Z@SK>UJ2}1RjymD!}H~3-}TjfWeh)8%#}5|_iBoVgXQ~5 zfd!4y=N$RW�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

kDfuk1#(|yu15<{MM8c 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 {>b{RwEKO5&$s4`S?Z;IO6)-! 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ℜ-`%FoJ^qIVU)yrkPBzFt(@K4!t`$?kLK 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

&IPRA6Bxz* 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®fyQxQCrBlZHg%Ov|t`TI}O=ho4+hz7q0T& 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 z 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%0D%oLom+i&J&D^@p~0jivi<)L&qa#se1CLWJ-Dox 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

SuTmmveI)^tIY){q`)@oD$k9x~g#aPB;s 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%0D<@e$GQMh4uTfrV|QG-M4h) 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

  • *TFaH>>+ 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

    eXp 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�@M3fUHP&1ofyQchQvZtxen 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

    OkcN29}lvKD7mpY`I<@6_uORrBQm^ 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

    8d!$T)we89g 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 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/custom-properties.png b/doc/qtdesignstudio/images/custom-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..531e62f90394c8c4623558ab141acde27d162dac GIT binary patch literal 13496 zcmeAS@N?(olHy`uVBq!ia0y~yU_8vgz$n4N#K6F?UY0ABfx)ES)5S5Q;?~=_?a{)S zx3};A?;;XjUMhac^Tl3CftC)92mzf1i;SXdZ0GIoi^?_Qx0A$UYDmSsstNzhB# zJ9nSg_I;o2$)u9P^yt;Cy6c5nZPx2mdcRw@S41D0di(pkWlP`0 zCx8C!Gd0xevrgDM+rq!^{_f6v&YxG9b|y$Ct>TSu&sW1)Hg9`8KYiGv)ZbRU=~!5C zxQqImlFQ0*=dNt$@9^DO`2616D^FtI`PpssJRYL_@_^Lm$f)B!e9A8y*01b~dj5Hi zvyjkXn-{{b9n$=)suXhO3Kws?btt*B{d=z1hi87Fi%w2Hk^G-a&oxRmx$A9Fj7X76 z-e@}MH%)V&%dFHK4tG=(C*)IMmcc-@ec-t6VCcCey_I=k?uE$HJcE&ANQ&m$_Ir3}f>nz#NHt$#a z%1$yrF7|KHCEN7uZ50dtdJ0rK$-0z&pDf%r-?ujC_T^Zi=RZ#WIJ9K4xO`aY_v!Lw zvy3x4x2RVZC}rMho|RcIYr67PndO?0YXQcGTQ;@aJbQ$((V<3c@~>aN?p^FCeSOXM z{E{zQ%dM8Y+}C5s`tQ}8fSYr-pYE`jXM1jYi5-{W#Tn`6O!_s}oVJ;GF{t*4V|mu( zpl6A}v%m1)kKVMZ*=)1gvj=T9!m0U5KDKG^vwNSqPF*Xx@7H4O(zlPhPJi}}p3k<~ z^mT%w`K3QkuP;4R++>->{q@?NcWbm|NL>w(vwct(?K)@cEuMDiUz?gg9FgDm^3p8jZ?m4i-u10rd-gh=#}#wduJbCJ zZ9Ua<<>w5;mFseIekLTps(NgB%h&4UjFX8R-IE`0Ze3p{rFG2c{_ia3z)u%rIJbH} z?R~~|uKS3%?K3U$s7Wi+i?-Xo)wq>y6IvcM=}7czzc=2tZ>Ok*o?Wn3hlAzO=Q(%# zPkvc!Vij0v6=wK!l8?RZRyevu;_tG0KqTfFi?nd_H%eKlJgpX=BJ>hF4G zT3xF<|XAkHL-0?Yo}{fOP}Lku{q$qzbq_na7fLOnLhJ86F3%IVIw!>Hj`HNL*7x0)7THE@p2B_f zeV&`U%+8-~QRStkkCk^V_EB1Cp=Dq^oxOTq)vc=3Tbj?8WIL|-G5y5?4&nm-*}#XxAjS6 z{r0!MS0buo|9$+mY;)c!_4QVFa?kI&e=PFsoQyf1$JSWvzMpQEtyUd8?St!=bJD&? zpX3^*CGb6+6Y^Fj=55on_uj$xOqZ@r^tm~Ao64%C3%snqmIl4LU7nTds2~u3dCAAJ z;`G<&)SSwe1J z+@G(t%*|hP{9WrAlbg{OrtZHTk)9NF_3<37{)u|!w?CgN*F60q#XGj|{@JjPrjMK$ zYcm(DziCssd*`=}N8eUj^P2V=d;gv>wKz!jQrYs;vybq8XFgG>@7(Pk=! z6S&svUZ1_lTG#VL&>1;h*3?^?>nE>DxezAC!u0W~PnGYl=N}$02sS&{K4pKKe)e(u z{d|cZ26t}Xwf?ejzoGV_%6}P;f1aDjKb!5}uM79@-Zi(m6kYf2hIiz{xT`0H(zDlX zQMpw$EiLM*pZYUP9~)oO+c~e-w%uEJ@7%X@_Zqh?I&$>M(hxU?WnT{8Pubo0@ZYoc z#Ij=d-p@-+voHV1+_=q9m@iA0OWoHhd0J|T=UdBz>z^d0C2WiMtf^6G*~)VCso|+s zt33O2Z>vEnOmb?4dtjx3vL7+gLim28U5`tKm8XG(XIanT5o2{H@$IHNQK%IFq z69a<}7XyQVCIiEPB@7G%mgy@hXt5oP-C_K<39cDGlPVn z52p5gzj(~L&q}r*O|$qV@4@rkEVN$#ve$#RX@@S%t2xE?e@^{E?hkioUMX-5syiu} ze{OqX5HtJy1-f?J7FpcAvCK~8Y&wr>XRBQ;?>Luz_GY5#+;YjP_PG|t&(7SutUfuZ zXG1m8p!N&at>I>~{9?`(-`tVBmpR>PWyQbkD!rDP%g@K1stCM)J$l-X8GqmR z{hU2#ve8VLx{}5xC;hmsCZ9~Y_(sF$*ZW5jpQB2un+?A(s+lXC{(a~7!~OrhJI6nt z?ehO`cic{uY~RlvKL7a}{p%SUrnCNCJ?HLaUfsDY zc{SW-a~+@WI5NHKUH1D{r38UZ}_R$++R|^mp@P{OcSl^=_X_6`wj?G)?tqUVTkt(;Puzre7DIFLA3|>Dzn# z+J`T_%z52b_w21+9WLKsyuAMI>m@wW`9IH?=;-wPcz-YV^jf=jldhzjt=tzH;8t5* zTv|Cb;77*wQ#Wh^pI>M{$TxG#hY6cwLnf;Hzjrw;^7d=xy5HR*!RpaTiHX-H&zf~g z>g0ofvzqy4Gmn>i{rT#i-N)UlzUzjr_ljC293!zy-`HG*`rjGnT#v;a zk1PLnGD|xPP}wNvu;<5r`{FZ{sCU++& zzS6SWd-QVc(|cPsefuX>)PLB~ew%0JId<(`ac{O=Oy=<0^ZqpV_Wxn;EDYC7W1TF; zdw=7tcZ=66)um0ol&xIHYwd-n*V0L-sHQV%$1~TUYxp_=X_4}=IL`+%5Co@9*rtn7dK<)!5#^@X8CBH zb9eLBS()AXF=K6+-Q*|kwa}vc_3kN)zrUTmWw}S8Wl;UWgPXpsIji<~k;(me zw{K3^b+B)-z2eC!yeH1vcBjAHbVU70P3w=i1t)J5^=_YV_4J*DB|f*qrA{wjUFNv& zg>J`|sr?h`H_VY(Xm~d1c=FBH5$;DNn@>*rEo<=7KOyMyf;H!Mr96sHUA;kkuIukN z`zBU@m-&5l;gg&aeM{rJn^QYA|7Opa@=hrHhWUjV)kUjU8~T3U@v3Iq?C7{@-Edi*w5^ zavyg4x4mU5=R1={j@9qXjGyk^89H4$%df&pUgLd6)!g_1hk$@vcVcJ1Nn3AZcGYk; z%ROPS;}%97r_I9zgp+QSCj>=K`((AUv|`?#d5^Cyi(czlchSl~<*fbFY{%;+E4Q)z z+ICQ~H+IvlM|Wl3y_n+}z$ea=K(_vC=Kw9u&SNUzrJXcCzn9D!SbouYe{7o0`_FpYqHM8VVv|VEV z<(xyGt+*Dy5h)IOy;uKN!X^3pOT>21<1LwX$D@N8_g~&#X|7uxQ&#Bfoifg_pm*c7$bS-e%?9i=Q@` zx9@$Fsa?HxKyT54-G<5Ue>HTR_P@t-^|;b@b}-7WWnq(mUp-JUV0W?VRZk5Z2^Db?Rm?! zBp0`4H#6C;&G^5`vy=1Wfq-@ojn~umb`>ixIi`}=@|~~DgX>B8oE3emoz6b)O56I; z?ePVV?IAjA&+nXf+bSz4^Qwy4)yvPh`1VZT<=xV`)VB7Kx*=2FqQ)IB66XcD>Bzj( zwBG4e_bdO^S^kdY)|1x~A5RQUiMp!yz?^Pt^G>a&fmFosKvHU=F-fz zXUo`lY^9nHrf6LCOTI9Zr}iiJ)m9$0$!6cCOxiegDQA1y&etoy{M7p-S!dOIa+&{* zgoVG#T19Rg6APPWV-}mcE%lIz!DgeUt862jjSV($F?w$FGNjV&_?kV}uap$-WZb9w zi}m4*SrQuMGZ((!n)c9Co|%I~?dW#b|1ZrKGzmXqX5rfw)^~3r|E#5!w{`6;Z?|YS zT;9{2o|3p-7=|>a6aHw=eR~-AG!?&vX`^>Oft<7X*mDy;?etsOa__^7Ay%tH9ZUm6d5Kn%@ARjAyOkOK3kwe zULhfff#FADqbDN+gBmLX!weAyP-~Q-!87sF{NML%xwsj8y4qiU=+R;@&}{HzgfwRx zJQIVih%w9%QEP<>LEEu2MATRr4lFTPsr75xY(2YuTP{xGo6N*8xygUayugZk_5a`R z|0$?upowgn57$2B$(ML!@7U~}R#`b&=B&C;)QlHve-y45VDZiQY>aACx4gIC2SEukUJDu+TL)GAe)xTw{_xqQW zZ|1b~V^I5B`8;^B+TPD$LGucKeR&zYTu8%r)p1Cp+`W30rnJxWm#QTkdxI-d7r)#e z?eLg)rZ4NoKk|i6zd~PeCR}Qy5w^gdrY2H;PaEooLzWVl45guPS%lS z+JCY$UaAy4j@GFEbAs(j(K^fc2m3BeJ04QYeRJaKxffmJdsVMo%h@B&HutemywAEc9KjEOq|a&DaMiN2Oyu(r13Wd*?@*%&xSlFWk!Xm>BP0a=16cZ}IKcy(0FU z<%XtDUifdC`6}a!h2q;68Im#F%UzFHoY-ElR(#jaC~2dRZLO&(@7?mOeQ$qIyP5Sh zcS**wKz~qLG+epk!NJeFzK5DVIymvyXSYME!?|duGd)D1~bFQ6RXy3l;woCuvT=ko0KB|b=W-ST5vftvlYiVd{ z@%s*gzaL)ydG>47_e~4;Et=8F^K;viyXV%eT)l49-h_ zE5iJx_ylH%)Xeg9PmyFyJCeQb{MN9@TT<_KTz|8uTjl1#WnDA5o7ZXDt>xtr*DW1bHScvk0WO& zPp;v<+;M#2#%Xg`i>KuoC~q?SvGM4mJ8z#YZdMF4J+-N6&56i``!?3^@+mug-^2fY z)p_rak7dKMj$V0FTOyj;FOu2$i+_8}M?;mihcf@umb|~27rm(Q=QW+or-I>98+GM( z6>YmcA=vfXCgZQMM;Nv|y?7_9D|g8~Zmq8@2AV%yCZCeaGo8ABTi=Q4Pg!R6RrkI_ zYVY-Cajo3iXxF}9^Wm|{*Gq`-qKOH}3_St4@wO0}f@C;N5ER`&axmd&}^SEaiz=2OalE`NRf{Cp<=M%#X~ zbv9Fv9b=q%=+ohKze3cOzNr23O2xH*N@nOQ{}~~Ftggl71@#MudQBF}p4!hP!J5*s zY7&cI)TfMVy-CtZ-X|SX;D6)let+At-=9s6EMLlaSa;1Co`p#qb_Gqa8)Rh%hXAicjK6-T8xjO;T zKX00YT2fDMB+Qt%{B_l*ML#|r3sa2D{hB_#=!=Gr*VW%IqRz^#yzG~GiC>n#X>I3B zi@Ry=W$ve0^ZT~hh(xd5*?Xlram_pntAro}-pTt!p02vL`+8PT(mEr9D~dv=cBQU= zbjM=Wqs!MC9u_UwP`<=nY1%crJ^pvZ?ZZ?PakawDJIgmX2Nj&S`c>Kb zQKd}HRXdvtYST(eryu#$>D|7}PBXvS{nrwwK=<`eKFYaI6)I$9k2}%UaqQAOyN{D4 z7~5k!4Aqz3IP-DqEZd-^p)2=4JZ8P9aB^6fwvU!x)eQA1g87o5rqro`+aFeJk4lza zIlK3|aQU2spbsDUr)`>%T;86+!#3G-_J>)=78r}h*DNxwcs5N;O?ZC6tWAuCcIO_< zoHbkM^jFCow%Cbt9525qadLWcFG4qRs;o4Ujq2IaZ9$j#G>i+{X40zA1@!5IiWSjZP zu+@2sucbW(B|`>#F|F&1K|@tPRNfqt-|v0DMSnSXkPD+uLmLTWVqkz)d5_OHC~RTr zcK5n-dT-3HUlWtv z|Mm8v#mePt%C|qLQQs82UdV@Qa+Cb!C2p_tz5dI*$O-SfwkCF4mQjJ_r){ra>Pf2= zJNkH*Cr(kGoVh{eUFAzvd(nqcZ7JpTFDCEbzj=B6ll2F0b-zAi|JXwJPmtEH|8i5V zO`A5wy!8Lqg-^>mn14%eUy(KyZBV&ZQi=CYk z+UmlkX0Kao8fKgs{#rDCscBDGT!u_t@qtVo!S?i=Bf;kK8_!HQp0@J4yUwEkpGR+; zNitz4;Tl;pEr6S=@((*IgeBMs!_<- zX|qC`JQIUHJf5}XZP|ilo|WqaBhUUleAsy}umAl0?*qq?*ISy zKK}5eGrG@KsqNh}Yx$RHuP1ihn9X9((uLnz5}dF;P;l z^RvE`y{og3ul~ilJ)2zZ0#$EqxAQ+Q%GdYj=l2J@S6?jrF2(-u*X#F<-^0x!PF&~u z{BG}rFWp`zvQ|IQvKMYPs#rOyzj%kiw*; zlCzU#3l=Zcw=X)VQrV_GDLmpsMcKjcx2rcfa|j0WP2IEgN9i`7 z_7{s9SFwcutklYWxUkFb=$w)(OKj$M_xgsb#i+j(vbC&k>1at#&)<_H_e!^`SUs&e zXI_+HKX=xgT+O=e;rd^%^N+i`o__q| zZ(H9RfzuyfZhUX*xxa=%>R`Y2TYc*nYb@rc?N$%@{>=5p>FN7Ar^iPZbZEU;Z=-cz zV0Xu!d7qm7p4?g|p4g?$JZI_hS60R45t(O=0}5}r?z^J7Zi~A8CCAeNE2Dx!IMrG` z51ub6J0DfCW0Admkfpwgh{|7y$=l+-N!l`|TOOUpV?Ot@(T1Co?pavexf=4##Q14N zRq6B91xA{;V+1BuXzyS6d;R}^%O6KRaeB_2|4S!%BTYkuz8Tee6>E7TiQa@qeb4Z6%b^X;T9rJsa@llQ+~^e=PPm5itVuk>G; z_o1LqTXvoG?w;j47>i?#TztOnko#>kKmK-_v(JMFoBqdFnNOmE~(5_|8m!vz7B{Kw{7gk=7qC*H8Y|t#vwN(V`Dq^v^pKtk|;u zdG527lg+zcwY)VdoxI7`Z;$-6Y4&zoFFHN7%8Wl9{pjse(WzSx&D;O)^0d8&=ViW{ zuO^pw(sE<{|Bca0d)IC{Xa13UCR=y^o|kVmeC=lz{HbbOvir*f>vr!FbAvlGs{h^S z{BmjC!g9^kSJvwl#V(##{x3Zu=9hu(-@3%l59)V)e#EkbyK%MmM z-FV@3Zt)Jj>_vXDJ0?g-3G7f;yE1!2Ae9hw13b~U;MN!gqZ~kn(a(el<{FoH0y5jk-9|+g|IrOyHy-a6w zn9YX#y*24uisqQDE^~bw`PQNDQq|LUFJiTGo-EV$;^46@d+2n@Phb0-`%}fZ_P)K> zWL8a^CcGL{XffOu`|Idb`mZCun`wrKnrqD@&+oQttGARhf;!GKL>fU|Y6eKXcwh+! zsNO`XGC{Eo7KK!qtOhU3Q-fHVj0#F1vr&jT7}2vtnyi9#Ay+O}-y)q;*IsKTVMAr?p&BxwfOZ+Z{RDJ71T-zwc{ZU(jvb{9LrsE8_iGK>{;;ruHkdbPg}dsn|i)q zm##JIuD_o}o!M8o;fd&hAI)klymZQCeeh%R_Hesvk&$=S)=^?@(vZ8nXz zx$sY=V{PEZ&ZQE!ry(x`sokQ!Q14>It$26eRl8#Ow1ZVeH$Jlxku)i1;ge-a5<*%7 zk{k3$VM~DRzBKD2doxdS8_za9{?eoMMWRBu``(+dg&W2%vfr0@T&|T&{=6f8uCUhb z&t;M?|2(Yr4lBKoc5R95O8tu$ql>m}TVJw&>$?i({?EE|`<;ABLfOwOGt+eK{{&el z5_Im!7XBF$XSN>uwCL0|p7_5Pr|$Yzc=YMdrEC40Z{E@}3*)-lT9utweofW#mEXO) zBAzC{rMy?~jO|K$W;IK4%T(4zhm5(C{Xk1ZWNkSfuf3XL`Z#?0lk!Vznol0R^xV29 zeU;3mBK0$(bHqFKtIjNCzmvbZV{_Q-Ck4*&Wdf@%Z0*&R&+&=Pw@IJW7gDUHvh!1@Uda9L!ooKmhnMW%v2@F}Wji#_uP@bEbb875>o3m# z(3pJg!kfZHg=(@J?kst@t^2&`6_rmXy?ORbQ2+Yf>{GK`;H;3nB3;6tmp#9}F2?t~ zrtns~?vfw5r`~By&X|^wbZe!LRbhV6bk;@(pTfB%du^5#&J77F3`t1SGwm$!aKN?bV`r6SR<|cc=B>l<&*52hkIXbH>mr*^J0)#_ToA1XCGD_wHNF6FuuM~ z!|Ia3%lCGfxm(@ePF=pp>e!QV(5LvM5ricT4a&Pt$K|uAntTB5HHvdSqL)7HVi zNbJ8y>g~?~lV?WhG5vW}7~pP2y=gPm)e5#^F~GS9yE z+tGXX`@h_msh+=eGuqB~u4VL2t687jjnZbe+D+x$Tz2!UdcWV?__Jn9uAPi~qnPJ+ zc{xY+jRZ%wYe$*4Jb=l;%f2g6tIeyv}%y2|~!(wo$Fi}d$QM?VKz zfmWs{$G+S4eD3?8X%|o0m0H%BM<2bu=UMRA6`3+`nddE>Gx^noZPu~(RPuJnJDjVQ zjPkMCD6)!c@$XcR*6Y(=`(B(oO=XtqtQlpeUN6ytWWSoU$#IkaS=v}!xPRZ?;KKci zd*|OLHJhY!hgbGouFW?wUA{hj((;*4h5Kthz5VmyH!rh%TlMa0P$i${YH?m&+?dH| zsrR!$B6Yajt^%H0QYICpZ zJl;@}e#Y!})#`=iE4FXmySaS9T8+YucBTDZk8Lu~-a0ZP>%fxcsP03alh4gam5dFl z_WPi{bB5#$-D@>mUYkWewPLJ4N$Xs3+3$v)tMN`x^%R3k;58qSzE;lZ*WScG>pAu& z(m4I)zeTHmUEuln`Awvii*f8voldQ^vsaTh&8#ZEI)Cd$)#*lc^H;BSzB%#S4WUK* zPrh%N@Y7P}*PokOXG`jrZnW&FT-9w-71CF~ZQVI{o*6eB?rvQ8s%LNVvUhJf7cbUn z{pIv%d3>GZ??CVJ5Kj~DCAw>GmGzolKC@scXx-W7S&+(?g$cB-61Ld#$oHI}Kd}xB z3I8WnKJ9?aB z>EXH~buFGB4VeryzbX506|fvy!l1_bLt(UbSrUTYxX%!I zz|jI)#Zths2(09rfSucY1(UvwJ9ip({|j8LmdP_Y$^Oui2hVMoB)Q9MbKbt5wC(FR zv(&t;%lvm`O*$qYY$g1@BY63@wI*`0NgJOXc=_0xHRjFn_gVH*dUq$+RNeR5d{I^A zyR7=8^2&mQpbwwr8qIdk_wGs(-}LoMZ&>`g>|HO<&rZ3j(rdr2#N_#oN&9vgds}{D zF8Vrk+O{_d+Ha1(&$Txam#w`WDUs?w`G3aV&z)-?ZO|4j2Aef)p}&j%A)Tk|Bkzev zN9*e)XU0C=AD#WUUr#oA!jEl>HKzGLub8)Dn$5jT=fib>_`WZG`KcMXt!*MuJwtK+pFd@r*AQx=l7ClPw=Z-Mg4QD zFHaMHc;Z0aAG`0$m%kQN{$5>Rz57G>rbmBk+T?t=K&EW{a%T4|<2atDnF%TTbjoMX z+!oqDSuZo&X78ns*OqMi_dX%;jFZ*3$KQ9$`Y_@{GtladJ19lVD>HzTEQ7lOsQujlPV*d->-5!3zwlWXK07mW^KyT+qb#~x z6COfy!IUG4U;G|U?Oi5+b;k30?@Kc#7yWv(v`74F?cUVR?wj`ytoUGfNU-B?$E8}i z$(L@#1RLLbp%OShIVtPJH2Xex=v>B}kNG_pD$LHkV^Y_a^PP{p{z!!X(WTxuF)U2` zmNtIc8N+t|#+8nYS(cpKA23ht7>U zcE$XYpWfRSIqO#Cy?t3zd*!f$|NR5H&vtI{4~zb|Eig*v{Tm_VIgMqKm9o`$J=d&V zllk^#w#V%p&xrG8t2`#vzt7yf=Iz&sOBstMpE`Q{<4&!K%hs6%WN$bT;oY|9_D$2$ ztD&Wv_I+z=ekYSOK`L4LeDK#TJ~mdXHmiGEb=<$GdS7qZgB!QMhyUF%LyCc6--Vld zeQ$W5JY67Nv~7po+OKaD#o4lN?yO3D#%BDfpX)<%_tBlV*RmeZwwl*!d8)qK^m2#0 z)LFx4TVKQ}{A6eD_}05=je>U3sg?eJ>^Nt>nYLe0bH~Fz_JdEppZUUj((+}eXid8L z{JYn)f6dZc`{-hb^oG4#Qhr>Ry7_L~9Pdrj=dOHTwdb%`an7?)n*#X%J5;(~e*LG3sj2DGvv;?i zG%zoHRNeS$|It|`Vb9oj-+3AGB6oGQ1`_Ru2BvqUK+=2~9^Yfc4 zOO|8>)jm4^>xzg>#7@n%&s)5Y@6=zFzs^*pK4txm8<%EE zXKC9{Prs>OxLxJ^zUt45=9~~tnbkSDS+lSx7rZ7z@$Bg@HnGtkvrN zOHF-Nffr@0m9!H8Ey1{H3m^1sZvdY$j6y_bD6K}4W@&WXNWY^KdcOTw2t5Tub0x<17|LsnsYj&lB+8@DKT@|rj~OiCg!FA z|HO1^w{2{ls@iY6Yud2{1Ifkwa)SH+_V~^(SQ@mJF_g_|;wARkzBAa;!j{D>ySCBy z%wi+0PjSJQk3MC)!05wu;QX)Lz*f&*`?qgpl(~1S8lI2lUM%|pEajgawEM&H_m|9P z);yX%S81M^xme7NgwqXt2|)~XNt2z}8J02|Xg2T#STRgydI9C^6GE-EnP!OmnPZip zbK~oVt?RvSUAujI%Fe5^>|U<&l&TMTDZ@Ou<9_w(Q!Dqz{RlN>0F|i4Ic4_KMULvF z2*-bjt=+lqr``wJ#P=+q6Vgr{*45?fd25-g$<8onCXJOa5)L*R4&> zK3mtGvaE26e*AJ;U*7iLD|gsjoZHGT4O*M1Lq_Os^Kq)yadDYpvJ-1YMK)ooh2?+bH# zmj_$zIy`UrTGjSDl0TL(&Ja=iYxsaQrDL^l?2~?zne8d&_P3K=BZ5wAsjoVASx5G8 z;(OzVubuULYR-V1{m-CakKgsOJ(l~k-yZuh=i0K@*}gZl^{!5pdvaMLEKp}=+RKbS zL4B3={G2?JK4O!Psx7$uv69(9)8`kn&9wY|Hm{1VEoKk@wqE7`j%$aQ_2Xp<76z_a z6lc_X>7sbc{ulp#pI>-zqr|KAR{L7o`ei_Vm*-x6Va^|Ay&nA#E2-wQNyQb%5V3N2$ Date: Wed, 21 Sep 2022 12:59:02 +0200 Subject: [PATCH 67/96] Utils: Use a single QString as data store for FilePath Plus a few integers to get access to the pieces. This reduces sizeof(FilePath) from 72 to 32. Change-Id: I65eb856ad47b6a250c705d8d01893781a21d8e02 Reviewed-by: Christian Stenger Reviewed-by: hjk --- share/qtcreator/debugger/creatortypes.py | 15 +- src/libs/utils/filepath.cpp | 150 +++++++++---------- src/libs/utils/filepath.h | 7 +- tests/auto/utils/fileutils/tst_fileutils.cpp | 2 + 4 files changed, 83 insertions(+), 91 deletions(-) diff --git a/share/qtcreator/debugger/creatortypes.py b/share/qtcreator/debugger/creatortypes.py index 8d0edf2e804..2e440d5d2bc 100644 --- a/share/qtcreator/debugger/creatortypes.py +++ b/share/qtcreator/debugger/creatortypes.py @@ -198,14 +198,8 @@ def qdump__CPlusPlus__Internal__Value(d, value): def qdump__Utils__FilePath(d, value): - try: - # support FilePath before 4.15 as well - if not d.extractPointer(value["m_url"]): # there is no valid URL - d.putStringValue(value["m_data"]) - else: - d.putItem(value["m_url"]) - except: - scheme, host, path = d.split("{@QString}{@QString}{@QString}", value) + data, path_len, scheme_len, host_len = d.split("{@QString}IHH", value) + if False: scheme_enc = d.encodeString(scheme) host_enc = d.encodeString(host) elided, path_enc = d.encodeStringHelper(path, d.displayStringLimit) @@ -218,7 +212,10 @@ def qdump__Utils__FilePath(d, value): if not path_enc.startswith(slash): val += slash + dot + slash val += path_enc - d.putValue(val, "utf16", elided=elided) + else: + elided, data_enc = d.encodeStringHelper(data, d.displayStringLimit) + val = data_enc + d.putValue(val, "utf16", elided=elided) d.putPlainChildren(value) diff --git a/src/libs/utils/filepath.cpp b/src/libs/utils/filepath.cpp index fe2f6cbc6e3..6ba842a9fed 100644 --- a/src/libs/utils/filepath.cpp +++ b/src/libs/utils/filepath.cpp @@ -176,39 +176,39 @@ bool FilePath::isRootPath() const QString FilePath::encodedHost() const { - QString host = m_host; - host.replace('%', "%25"); - host.replace('/', "%2f"); - return host; + QString result = host().toString(); + result.replace('%', "%25"); + result.replace('/', "%2f"); + return result; } /// \returns a QString for passing on to QString based APIs QString FilePath::toString() const { - if (m_scheme.isEmpty()) - return m_path; + if (!needsDevice()) + return path(); if (isRelativePath()) - return m_scheme + "://" + encodedHost() + "/./" + m_path; - return m_scheme + "://" + encodedHost() + m_path; + return scheme() + "://" + encodedHost() + "/./" + path(); + return scheme() + "://" + encodedHost() + path(); } QString FilePath::toFSPathString() const { - if (m_scheme.isEmpty()) - return m_path; + if (scheme().isEmpty()) + return path(); if (isRelativePath()) - return specialPath(SpecialPathComponent::RootPath) + "/" + m_scheme + "/" + encodedHost() + "/./" + m_path; - return specialPath(SpecialPathComponent::RootPath) + "/" + m_scheme + "/" + encodedHost() + m_path; + return specialPath(SpecialPathComponent::RootPath) + "/" + scheme() + "/" + encodedHost() + "/./" + path(); + return specialPath(SpecialPathComponent::RootPath) + "/" + scheme() + "/" + encodedHost() + path(); } QUrl FilePath::toUrl() const { QUrl url; - url.setScheme(m_scheme); - url.setHost(m_host); - url.setPath(m_path); + url.setScheme(scheme().toString()); + url.setHost(host().toString()); + url.setPath(path()); return url; } @@ -217,13 +217,10 @@ QUrl FilePath::toUrl() const /// this path belongs to. QString FilePath::toUserOutput() const { - if (needsDevice()) { - if (isRelativePath()) - return m_scheme + "://" + encodedHost() + "/./" + m_path; - return m_scheme + "://" + encodedHost() + m_path; - } - QString tmp = toString(); + if (needsDevice()) + return tmp; + if (osType() == OsTypeWindows) tmp.replace('/', '\\'); return tmp; @@ -333,25 +330,29 @@ QString FilePath::completeSuffix() const QStringView FilePath::scheme() const { - return m_scheme; + return QStringView{m_data}.mid(m_pathLen, m_schemeLen); } QStringView FilePath::host() const { - return m_host; + return QStringView{m_data}.mid(m_pathLen + m_schemeLen, m_hostLen); } QString FilePath::path() const { - return m_path; + if (m_data.startsWith("/./")) + return m_data.mid(3, m_pathLen - 3); + return m_data.left(m_pathLen); } void FilePath::setParts(const QStringView scheme, const QStringView host, const QStringView path) { - QTC_CHECK(!m_scheme.contains('/')); - m_scheme = scheme.toString(); - m_host = host.toString(); - setPath(path); + QTC_CHECK(!scheme.contains('/')); + + m_data = path.toString() + scheme.toString() + host.toString(); + m_schemeLen = scheme.size(); + m_hostLen = host.size(); + m_pathLen = path.size(); } /// \returns a bool indicating whether a file with this @@ -611,7 +612,7 @@ void FilePath::asyncWriteFileContents(const Continuation &cont, const QByt bool FilePath::needsDevice() const { - return !m_scheme.isEmpty(); + return m_schemeLen != 0; } bool FilePath::isSameDevice(const FilePath &other) const @@ -764,7 +765,7 @@ FilePath FilePath::normalizedPathName() const { FilePath result = *this; if (!needsDevice()) // FIXME: Assumes no remote Windows and Mac for now. - result.m_path = FileUtils::normalizedPathName(result.m_path); + result.setParts(scheme(), host(), FileUtils::normalizedPathName(path())); return result; } @@ -833,15 +834,13 @@ bool isWindowsDriveLetter(QChar ch) void FilePath::setPath(QStringView path) { - if (path.startsWith(QStringLiteral("/./"))) - path = path.mid(3); - m_path = path.toString(); + setParts(scheme(), host(), path); } void FilePath::setFromString(const QString &unnormalizedFileName) { - static const QLatin1String qtcDevSlash("__qtc_devices__/"); - static const QLatin1String colonSlashSlash("://"); + static const QStringView qtcDevSlash(u"__qtc_devices__/"); + static const QStringView colonSlashSlash(u"://"); QString fileName = unnormalizedFileName; if (fileName.contains('\\')) @@ -865,23 +864,21 @@ void FilePath::setFromString(const QString &unnormalizedFileName) const int firstSlash = withoutQtcDeviceRoot.indexOf(slash); if (firstSlash != -1) { - m_scheme = withoutQtcDeviceRoot.left(firstSlash).toString(); + QString scheme = withoutQtcDeviceRoot.left(firstSlash).toString(); const int secondSlash = withoutQtcDeviceRoot.indexOf(slash, firstSlash + 1); - m_host = withoutQtcDeviceRoot.mid(firstSlash + 1, secondSlash - firstSlash - 1) + QString host = withoutQtcDeviceRoot.mid(firstSlash + 1, secondSlash - firstSlash - 1) .toString(); if (secondSlash != -1) { QStringView path = withoutQtcDeviceRoot.mid(secondSlash); - setPath(path); + setParts(scheme, host, path); return; } - m_path = slash; + setParts(scheme, host, u"/"); return; } - m_scheme.clear(); - m_host.clear(); - m_path = fileName; + setParts({}, {}, fileName); return; } @@ -889,16 +886,14 @@ void FilePath::setFromString(const QString &unnormalizedFileName) const int schemeEnd = fileName.indexOf(colonSlashSlash); if (schemeEnd != -1 && schemeEnd < firstSlash) { // This is a pseudo Url, we can't use QUrl here sadly. - m_scheme = fileName.left(schemeEnd); + QString scheme = fileName.left(schemeEnd); const int hostEnd = fileName.indexOf(slash, schemeEnd + 3); - m_host = fileName.mid(schemeEnd + 3, hostEnd - schemeEnd - 3); - if (hostEnd != -1) - setPath(QStringView(fileName).mid(hostEnd)); + QString host = fileName.mid(schemeEnd + 3, hostEnd - schemeEnd - 3); + setParts(scheme, host, hostEnd != -1 ? QStringView(fileName).mid(hostEnd) : QStringView()); return; } - setPath(fileName); - return; + setParts({}, {}, fileName); } /// Constructs a FilePath from \a filePath. The \a defaultExtension is appended @@ -951,9 +946,9 @@ QVariant FilePath::toVariant() const bool FilePath::operator==(const FilePath &other) const { - return QString::compare(m_path, other.m_path, caseSensitivity()) == 0 - && m_host == other.m_host - && m_scheme == other.m_scheme; + return QString::compare(path(), other.path(), caseSensitivity()) == 0 + && host() == other.host() + && scheme() == other.scheme(); } bool FilePath::operator!=(const FilePath &other) const @@ -963,12 +958,12 @@ bool FilePath::operator!=(const FilePath &other) const bool FilePath::operator<(const FilePath &other) const { - const int cmp = QString::compare(m_path, other.m_path, caseSensitivity()); + const int cmp = QString::compare(path(), other.path(), caseSensitivity()); if (cmp != 0) return cmp < 0; - if (m_host != other.m_host) - return m_host < other.m_host; - return m_scheme < other.m_scheme; + if (host() != other.host()) + return host() < other.host(); + return scheme() < other.scheme(); } bool FilePath::operator<=(const FilePath &other) const @@ -996,15 +991,15 @@ bool FilePath::isChildOf(const FilePath &s) const { if (s.isEmpty()) return false; - if (!m_path.startsWith(s.m_path, caseSensitivity())) + if (!path().startsWith(s.path(), caseSensitivity())) return false; - if (m_path.size() <= s.m_path.size()) + if (path().size() <= s.path().size()) return false; // s is root, '/' was already tested in startsWith - if (s.m_path.endsWith(QLatin1Char('/'))) + if (s.path().endsWith(QLatin1Char('/'))) return true; // s is a directory, next character should be '/' (/tmpdir is NOT a child of /tmp) - return s.m_path.isEmpty() || m_path.at(s.m_path.size()) == QLatin1Char('/'); + return s.path().isEmpty() || path().at(s.path().size()) == QLatin1Char('/'); } /// \returns whether path() startsWith \a s @@ -1029,7 +1024,7 @@ bool FilePath::endsWith(const QString &s) const */ bool FilePath::startsWithDriveLetter() const { - return !needsDevice() && m_path.size() >= 2 && isWindowsDriveLetter(m_path[0]) && m_path.at(1) == ':'; + return !needsDevice() && path().size() >= 2 && isWindowsDriveLetter(path()[0]) && path().at(1) == ':'; } /*! @@ -1043,11 +1038,10 @@ FilePath FilePath::relativeChildPath(const FilePath &parent) const { FilePath res; if (isChildOf(parent)) { - res.m_scheme = m_scheme; - res.m_host = m_host; - res.m_path = m_path.mid(parent.m_path.size()); - if (res.m_path.startsWith('/')) - res.m_path = res.m_path.mid(1); + QString p = path().mid(parent.path().size()); + if (p.startsWith('/')) + p = p.mid(1); + res.setParts(scheme(), host(), p); } return res; } @@ -1164,15 +1158,13 @@ QString FilePath::calcRelativePath(const QString &absolutePath, const QString &a */ FilePath FilePath::onDevice(const FilePath &deviceTemplate) const { - const bool sameDevice = m_scheme == deviceTemplate.m_scheme && m_host == deviceTemplate.m_host; + const bool sameDevice = scheme() == deviceTemplate.scheme() && host() == deviceTemplate.host(); if (sameDevice) return *this; // TODO: converting paths between different non local devices is still unsupported QTC_CHECK(!needsDevice()); FilePath res; - res.m_scheme = deviceTemplate.m_scheme; - res.m_host = deviceTemplate.m_host; - res.m_path = m_path; + res.setParts(deviceTemplate.scheme(), deviceTemplate.host(), path()); res.setPath(res.mapToDevicePath()); return res; } @@ -1191,9 +1183,7 @@ FilePath FilePath::onDevice(const FilePath &deviceTemplate) const FilePath FilePath::withNewPath(const QString &newPath) const { FilePath res; - res.setPath(newPath); - res.m_host = m_host; - res.m_scheme = m_scheme; + res.setParts(scheme(), host(), newPath); return res; } @@ -1286,9 +1276,11 @@ FilePath FilePath::pathAppended(const QString &path) const if (isEmpty()) { return other; } - FilePath fn = *this; - join(fn.m_path, other.path()); - return fn; + + QString p = this->path(); + join(p, other.path()); + + return withNewPath(p); } FilePath FilePath::stringAppended(const QString &str) const @@ -1506,7 +1498,7 @@ bool FilePath::isNewerThan(const QDateTime &timeStamp) const */ Qt::CaseSensitivity FilePath::caseSensitivity() const { - if (m_scheme.isEmpty()) + if (scheme().isEmpty()) return HostOsInfo::fileNameCaseSensitivity(); // FIXME: This could or possibly should the target device's file name case sensitivity @@ -1606,7 +1598,7 @@ void FilePath::clear() */ bool FilePath::isEmpty() const { - return m_path.isEmpty(); + return m_pathLen == 0; } /*! @@ -1634,9 +1626,9 @@ QString FilePath::shortNativePath() const */ bool FilePath::isRelativePath() const { - if (m_path.startsWith('/')) + if (path().startsWith('/')) return false; - if (m_path.size() > 1 && isWindowsDriveLetter(m_path[0]) && m_path.at(1) == ':') + if (path().size() > 1 && isWindowsDriveLetter(path()[0]) && path().at(1) == ':') return false; return true; } diff --git a/src/libs/utils/filepath.h b/src/libs/utils/filepath.h index 7227aa519a0..75491b96c62 100644 --- a/src/libs/utils/filepath.h +++ b/src/libs/utils/filepath.h @@ -219,9 +219,10 @@ private: [[nodiscard]] QString mapToDevicePath() const; [[nodiscard]] QString encodedHost() const; - QString m_scheme; - QString m_host; // May contain raw slashes. - QString m_path; // Includes the root bits + QString m_data; // Concatenated m_path, m_scheme, m_host + unsigned int m_pathLen = 0; + unsigned short m_schemeLen = 0; + unsigned short m_hostLen = 0; }; inline size_t qHash(const Utils::FilePath &a, uint seed = 0) diff --git a/tests/auto/utils/fileutils/tst_fileutils.cpp b/tests/auto/utils/fileutils/tst_fileutils.cpp index ddbbd5647b3..f93aa74a58d 100644 --- a/tests/auto/utils/fileutils/tst_fileutils.cpp +++ b/tests/auto/utils/fileutils/tst_fileutils.cpp @@ -498,6 +498,7 @@ void tst_fileutils::fromString_data() QTest::newRow("single-colon") << D(":", "", "", ":"); QTest::newRow("single-slash") << D("/", "", "", "/"); QTest::newRow("single-char") << D("a", "", "", "a"); + QTest::newRow("relative") << D("./rel", "", "", "./rel"); QTest::newRow("qrc") << D(":/test.txt", "", "", ":/test.txt"); QTest::newRow("qrc-no-slash") << D(":test.txt", "", "", ":test.txt"); @@ -520,6 +521,7 @@ void tst_fileutils::fromString_data() QTest::newRow("docker-root-url") << D("docker://1234/", "docker", "1234", "/"); QTest::newRow("docker-root-url-special-linux") << D("/__qtc_devices__/docker/1234/", "docker", "1234", "/"); QTest::newRow("docker-root-url-special-win") << D("c:/__qtc_devices__/docker/1234/", "docker", "1234", "/"); + QTest::newRow("docker-relative-path") << D("docker://1234/./rel", "docker", "1234", "rel"); QTest::newRow("qtc-dev-linux") << D("/__qtc_devices__", "", "", "/__qtc_devices__"); QTest::newRow("qtc-dev-win") << D("c:/__qtc_devices__", "", "", "c:/__qtc_devices__"); From eeb1cd22ce1a9fa2ab7aef87c973d88475c08cd7 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 29 Sep 2022 17:30:45 +0200 Subject: [PATCH 68/96] Doc: Describe new Text Editor > Display preferences - Visualize Indent check box - Tint whole margin check box - Update the screenshot. Task-number: QTCREATORBUG-27876 Change-Id: Ie61cf82e35f8dda75e0aeea08eda92993ff36a71 Reviewed-by: David Schulz --- .../qtcreator-options-text-editor-display.png | Bin 10742 -> 13725 bytes .../src/editors/creator-code-indentation.qdoc | 9 +++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/qtcreator/images/qtcreator-options-text-editor-display.png b/doc/qtcreator/images/qtcreator-options-text-editor-display.png index c00104e3b6f23edf6b4b7ebd4e0e034a33dcaf46..17d085931ecf93fcc99d91a03e8c2228c9f9c24c 100644 GIT binary patch delta 13598 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 \uicontrol Preferences > \uicontrol {Text Editor} > \uicontrol Display > - \uicontrol {Visualize whitespace}. + \uicontrol {Visualize whitespace}. To visualize indentation, select + \uicontrol {Visualize Indent}. \image qtcreator-options-text-editor-display.png "Text Editor Display preferences" To help you keep line length at a particular number of characters, set the number of characters in the \uicontrol {Display right margin at column} - field. To use a context-specific margin when available, select the + field. To use a different color for the margin area, select the + \uicontrol {Tint whole margin area} check box. Deselect the check box to show + the margin as a vertical line. + + To use a context-specific margin when available, select the \uicontrol {Use context-specific margin} check box. \if defined(qtcreator) For example, the margin could be set by the \c ColumnLimit option of the From 4857a58fdd793c0ccf887d17ad8a625218077a82 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 15:04:01 +0200 Subject: [PATCH 69/96] GitLab: Limit the usage of std::make_pair Make the code less verbose. Change-Id: If938923022f8bcdb2559328e03035b8b38145f3e Reviewed-by: Christian Stenger Reviewed-by: --- src/plugins/gitlab/resultparser.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/plugins/gitlab/resultparser.cpp b/src/plugins/gitlab/resultparser.cpp index d583b8cc6c5..c8ec89d5dba 100644 --- a/src/plugins/gitlab/resultparser.cpp +++ b/src/plugins/gitlab/resultparser.cpp @@ -60,7 +60,7 @@ static std::pair splitHeaderAndBody(const QByteArray &in } else { json = input; } - return std::make_pair(header, json); + return {header, json}; } static std::pair preHandleSingle(const QByteArray &json) @@ -87,7 +87,7 @@ static std::pair preHandleSingle(const QByteArray &json) } } - return std::make_pair(result, object); + return {result, object}; } static std::pair preHandleHeaderAndBody(const QByteArray &header, @@ -96,33 +96,33 @@ static std::pair preHandleHeaderAndBody(const QByteArray & Error result; if (header.isEmpty()) { result.message = "Missing Expected Header"; - return std::make_pair(result, QJsonDocument()); + return {result, {}}; } QJsonParseError error; const QJsonDocument doc = QJsonDocument::fromJson(json, &error); if (error.error != QJsonParseError::NoError) { result.message = error.errorString(); - return std::make_pair(result, doc); + return {result, doc}; } if (doc.isObject()) { const QJsonObject obj = doc.object(); if (obj.contains("message")) { result = parseErrorMessage(obj.value("message").toString()); - return std::make_pair(result, doc); + return {result, doc}; } else if (obj.contains("error")) { if (obj.value("error").toString() == "insufficient_scope") result.code = 1; result.message = obj.value("error_description").toString(); - return std::make_pair(result, doc); + return {result, doc}; } } if (!doc.isArray()) result.message = "Not an Array"; - return std::make_pair(result, doc); + return {result, doc}; } static User userFromJson(const QJsonObject &jsonObj) From 43f3b704373e9c12884361784bfd70aeea229ffa Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 12:42:20 +0200 Subject: [PATCH 70/96] QMakeProjectManagerPlugin: Limit the usage of qMakePair Remove unneeded Utils:: scope. Change-Id: I9d42aa2005214004b91686168e2bcaa420354a6c Reviewed-by: Christian Kandeler --- src/plugins/projectexplorer/projectnodes.cpp | 2 +- .../qmakeprojectmanager/addlibrarywizard.cpp | 39 ++++++------ .../qmakeprojectmanager/externaleditors.cpp | 18 +++--- .../qmakeprojectmanager/makefileparse.cpp | 4 +- .../qmakeprojectmanager/profileeditor.cpp | 16 ++--- .../profilehoverhandler.cpp | 7 ++- .../qmakebuildconfiguration.cpp | 2 +- .../qmakekitinformation.cpp | 4 +- .../qmakeprojectmanager/qmakenodes.cpp | 7 ++- .../qmakenodetreebuilder.cpp | 13 ++-- .../qmakeprojectmanager/qmakeparser.cpp | 2 +- .../qmakeprojectmanager/qmakeparsernodes.cpp | 59 +++++++++---------- .../qmakeprojectmanager/qmakeproject.cpp | 26 ++++---- .../qmakeprojectimporter.cpp | 6 +- 14 files changed, 100 insertions(+), 105 deletions(-) diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index ab02a6ee9e1..78c42880dff 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -576,7 +576,7 @@ FileNode *FolderNode::fileNode(const Utils::FilePath &file) const })); } -QList FolderNode::folderNodes() const +QList FolderNode::folderNodes() const { QList result; for (const std::unique_ptr &n : m_nodes) { diff --git a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp index 2f265582b20..4219de0845b 100644 --- a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp +++ b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp @@ -23,6 +23,8 @@ #include #include +using namespace Utils; + namespace QmakeProjectManager::Internal { const char qt_file_dialog_filter_reg_exp[] = @@ -38,8 +40,8 @@ static QStringList qt_clean_filter_list(const QString &filter) return f.split(QLatin1Char(' '), Qt::SkipEmptyParts); } -static bool validateLibraryPath(const Utils::FilePath &filePath, - const Utils::PathChooser *pathChooser, +static bool validateLibraryPath(const FilePath &filePath, + const PathChooser *pathChooser, QString *errorMessage) { Q_UNUSED(errorMessage) @@ -49,7 +51,7 @@ static bool validateLibraryPath(const Utils::FilePath &filePath, const QString fileName = filePath.fileName(); QRegularExpression::PatternOption option = - Utils::HostOsInfo::fileNameCaseSensitivity() == Qt::CaseInsensitive + HostOsInfo::fileNameCaseSensitivity() == Qt::CaseInsensitive ? QRegularExpression::CaseInsensitiveOption : QRegularExpression::NoPatternOption; @@ -63,8 +65,9 @@ static bool validateLibraryPath(const Utils::FilePath &filePath, return false; } -AddLibraryWizard::AddLibraryWizard(const Utils::FilePath &proFile, QWidget *parent) : - Utils::Wizard(parent), m_proFile(proFile) +AddLibraryWizard::AddLibraryWizard(const FilePath &proFile, QWidget *parent) + : Wizard(parent) + , m_proFile(proFile) { setWindowTitle(Tr::tr("Add Library")); m_libraryTypePage = new LibraryTypePage(this); @@ -77,7 +80,7 @@ AddLibraryWizard::AddLibraryWizard(const Utils::FilePath &proFile, QWidget *pare AddLibraryWizard::~AddLibraryWizard() = default; -Utils::FilePath AddLibraryWizard::proFile() const +FilePath AddLibraryWizard::proFile() const { return m_proFile; } @@ -147,7 +150,7 @@ LibraryTypePage::LibraryTypePage(AddLibraryWizard *parent) packageLabel->setAttribute(Qt::WA_MacSmallSize, true); layout->addWidget(packageLabel); - if (Utils::HostOsInfo::isWindowsHost()) { + if (HostOsInfo::isWindowsHost()) { m_packageRadio->setVisible(false); packageLabel->setVisible(false); } @@ -155,7 +158,7 @@ LibraryTypePage::LibraryTypePage(AddLibraryWizard *parent) // select the default m_internalRadio->setChecked(true); - setProperty(Utils::SHORT_TITLE_PROPERTY, Tr::tr("Type")); + setProperty(SHORT_TITLE_PROPERTY, Tr::tr("Type")); } AddLibraryWizard::LibraryKind LibraryTypePage::libraryKind() const @@ -177,16 +180,16 @@ DetailsPage::DetailsPage(AddLibraryWizard *parent) m_libraryDetailsWidget = new LibraryDetailsWidget(this); resize(456, 438); - Utils::PathChooser * const libPathChooser = m_libraryDetailsWidget->libraryPathChooser; + PathChooser * const libPathChooser = m_libraryDetailsWidget->libraryPathChooser; libPathChooser->setHistoryCompleter("Qmake.LibDir.History"); - const auto pathValidator = [libPathChooser](Utils::FancyLineEdit *edit, QString *errorMessage) { + const auto pathValidator = [libPathChooser](FancyLineEdit *edit, QString *errorMessage) { return libPathChooser->defaultValidationFunction()(edit, errorMessage) && validateLibraryPath(libPathChooser->filePath(), libPathChooser, errorMessage); }; libPathChooser->setValidationFunction(pathValidator); - setProperty(Utils::SHORT_TITLE_PROPERTY, Tr::tr("Details")); + setProperty(SHORT_TITLE_PROPERTY, Tr::tr("Details")); } bool DetailsPage::isComplete() const @@ -272,7 +275,7 @@ SummaryPage::SummaryPage(AddLibraryWizard *parent) m_snippetLabel->setTextFormat(Qt::RichText); m_snippetLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); - setProperty(Utils::SHORT_TITLE_PROPERTY, Tr::tr("Summary")); + setProperty(SHORT_TITLE_PROPERTY, Tr::tr("Summary")); } void SummaryPage::initializePage() @@ -302,17 +305,12 @@ QString SummaryPage::snippet() const LibraryDetailsWidget::LibraryDetailsWidget(QWidget *parent) { - includePathChooser = new Utils::PathChooser(parent); - + includePathChooser = new PathChooser(parent); packageLineEdit = new QLineEdit(parent); - - libraryPathChooser = new Utils::PathChooser(parent); - + libraryPathChooser = new PathChooser(parent); libraryComboBox = new QComboBox(parent); - libraryTypeComboBox = new QComboBox(parent); - platformGroupBox = new QGroupBox(Tr::tr("Platform:")); platformGroupBox->setFlat(true); @@ -325,7 +323,6 @@ LibraryDetailsWidget::LibraryDetailsWidget(QWidget *parent) winGroupBox = new QGroupBox(Tr::tr("Windows:")); winGroupBox->setFlat(true); - linCheckBox = new QCheckBox(Tr::tr("Linux")); linCheckBox->setChecked(true); @@ -348,7 +345,7 @@ LibraryDetailsWidget::LibraryDetailsWidget(QWidget *parent) addSuffixCheckBox = new QCheckBox(Tr::tr("Add \"d\" suffix for debug version"), winGroupBox); removeSuffixCheckBox = new QCheckBox(Tr::tr("Remove \"d\" suffix for release version"), winGroupBox); - using namespace Utils::Layouting; + using namespace Layouting; Column { linCheckBox, macCheckBox, winCheckBox, st }.attachTo(platformGroupBox); diff --git a/src/plugins/qmakeprojectmanager/externaleditors.cpp b/src/plugins/qmakeprojectmanager/externaleditors.cpp index 7bb38331d01..4462fbb822f 100644 --- a/src/plugins/qmakeprojectmanager/externaleditors.cpp +++ b/src/plugins/qmakeprojectmanager/externaleditors.cpp @@ -49,14 +49,14 @@ static QString linguistBinary(const QtSupport::QtVersion *qtVersion) { if (qtVersion) return qtVersion->linguistFilePath().toString(); - return QLatin1String(Utils::HostOsInfo::isMacHost() ? "Linguist" : "linguist"); + return QLatin1String(HostOsInfo::isMacHost() ? "Linguist" : "linguist"); } static QString designerBinary(const QtSupport::QtVersion *qtVersion) { if (qtVersion) return qtVersion->designerFilePath().toString(); - return QLatin1String(Utils::HostOsInfo::isMacHost() ? "Designer" : "designer"); + return QLatin1String(HostOsInfo::isMacHost() ? "Designer" : "designer"); } // Mac: Change the call 'Foo.app/Contents/MacOS/Foo ' to @@ -80,7 +80,7 @@ static const char designerDisplayName[] = QT_TRANSLATE_NOOP("OpenWith::Editors", static const char linguistDisplayName[] = QT_TRANSLATE_NOOP("OpenWith::Editors", "Qt Linguist"); // -------------- ExternalQtEditor -ExternalQtEditor::ExternalQtEditor(Utils::Id id, +ExternalQtEditor::ExternalQtEditor(Id id, const QString &displayName, const QString &mimetype, const CommandForQtVersion &commandForQtVersion) @@ -101,7 +101,7 @@ ExternalQtEditor *ExternalQtEditor::createLinguistEditor() ExternalQtEditor *ExternalQtEditor::createDesignerEditor() { - if (Utils::HostOsInfo::isMacHost()) { + if (HostOsInfo::isMacHost()) { return new ExternalQtEditor(designerIdC, QLatin1String(designerDisplayName), QLatin1String(ProjectExplorer::Constants::FORM_MIMETYPE), @@ -124,7 +124,7 @@ static QString findFirstCommand(QVector qtVersions, return QString(); } -bool ExternalQtEditor::getEditorLaunchData(const Utils::FilePath &filePath, +bool ExternalQtEditor::getEditorLaunchData(const FilePath &filePath, LaunchData *data, QString *errorMessage) const { @@ -156,7 +156,7 @@ bool ExternalQtEditor::getEditorLaunchData(const Utils::FilePath &filePath, // fallback if (data->binary.isEmpty()) { const QString path = qtcEnvironmentVariable("PATH"); - data->binary = Utils::QtcProcess::locateBinary(path, m_commandForQtVersion(nullptr)); + data->binary = QtcProcess::locateBinary(path, m_commandForQtVersion(nullptr)); } if (data->binary.isEmpty()) { @@ -165,14 +165,14 @@ bool ExternalQtEditor::getEditorLaunchData(const Utils::FilePath &filePath, } // Setup binary + arguments, use Mac Open if appropriate data->arguments.push_back(filePath.toString()); - if (Utils::HostOsInfo::isMacHost()) + if (HostOsInfo::isMacHost()) *data = createMacOpenCommand(*data); if (debug) qDebug() << Q_FUNC_INFO << '\n' << data->binary << data->arguments; return true; } -bool ExternalQtEditor::startEditor(const Utils::FilePath &filePath, QString *errorMessage) +bool ExternalQtEditor::startEditor(const FilePath &filePath, QString *errorMessage) { LaunchData data; return getEditorLaunchData(filePath, &data, errorMessage) @@ -215,7 +215,7 @@ void DesignerExternalEditor::processTerminated(const QString &binary) socket->deleteLater(); } -bool DesignerExternalEditor::startEditor(const Utils::FilePath &filePath, QString *errorMessage) +bool DesignerExternalEditor::startEditor(const FilePath &filePath, QString *errorMessage) { LaunchData data; // Find the editor binary diff --git a/src/plugins/qmakeprojectmanager/makefileparse.cpp b/src/plugins/qmakeprojectmanager/makefileparse.cpp index 78e88c1742c..711d839131b 100644 --- a/src/plugins/qmakeprojectmanager/makefileparse.cpp +++ b/src/plugins/qmakeprojectmanager/makefileparse.cpp @@ -480,8 +480,8 @@ void QmakeProjectManagerPlugin::testMakefileParser() MakeFileParse parser("/tmp/something", MakeFileParse::Mode::FilterKnownConfigValues); parser.parseCommandLine(command, project); - QCOMPARE(Utils::ProcessArgs::splitArgs(parser.unparsedArguments()), - Utils::ProcessArgs::splitArgs(unparsedArguments)); + QCOMPARE(ProcessArgs::splitArgs(parser.unparsedArguments()), + ProcessArgs::splitArgs(unparsedArguments)); QCOMPARE(parser.effectiveBuildConfig({}), effectiveBuildConfig); const QMakeStepConfig qmsc = parser.config(); diff --git a/src/plugins/qmakeprojectmanager/profileeditor.cpp b/src/plugins/qmakeprojectmanager/profileeditor.cpp index c8706b20e81..d4d52f657d2 100644 --- a/src/plugins/qmakeprojectmanager/profileeditor.cpp +++ b/src/plugins/qmakeprojectmanager/profileeditor.cpp @@ -40,7 +40,7 @@ class ProFileEditorWidget : public TextEditorWidget { private: void findLinkAt(const QTextCursor &, - const Utils::LinkHandler &processLinkCallback, + const LinkHandler &processLinkCallback, bool resolveTarget = true, bool inNextSplit = false) override; void contextMenuEvent(QContextMenuEvent *) override; @@ -207,7 +207,7 @@ void ProFileEditorWidget::findLinkAt(const QTextCursor &cursor, QDir dir(textDocument()->filePath().toFileInfo().absolutePath()); QString fileName = dir.filePath(buffer); QFileInfo fi(fileName); - if (Utils::HostOsInfo::isWindowsHost() && fileName.startsWith("//")) { + if (HostOsInfo::isWindowsHost() && fileName.startsWith("//")) { // Windows network paths are not supported here since checking for their existence can // lock the gui thread. See: QTCREATORBUG-26579 } else if (fi.exists()) { @@ -219,9 +219,9 @@ void ProFileEditorWidget::findLinkAt(const QTextCursor &cursor, else return processLinkCallback(link); } - link.targetFilePath = Utils::FilePath::fromString(QDir::cleanPath(fileName)); + link.targetFilePath = FilePath::fromString(QDir::cleanPath(fileName)); } else { - link.targetFilePath = Utils::FilePath::fromString(checkForPrfFile(buffer)); + link.targetFilePath = FilePath::fromString(checkForPrfFile(buffer)); } if (!link.targetFilePath.isEmpty()) { link.linkTextStart = cursor.position() - positionInBlock + beginPos + 1; @@ -268,7 +268,7 @@ ProFileEditorFactory::ProFileEditorFactory() completionAssistProvider->setDynamicCompletionFunction(&TextEditor::pathComplete); setCompletionAssistProvider(completionAssistProvider); - setCommentDefinition(Utils::CommentDefinition::HashStyle); + setCommentDefinition(CommentDefinition::HashStyle); setEditorActionHandlers(TextEditorActionHandler::UnCommentSelection | TextEditorActionHandler::JumpToFileUnderCursor); @@ -276,11 +276,11 @@ ProFileEditorFactory::ProFileEditorFactory() setSyntaxHighlighterCreator([]() { return new ProFileHighlighter; }); const QString defaultOverlay = QLatin1String(ProjectExplorer::Constants::FILEOVERLAY_QT); - Utils::FileIconProvider::registerIconOverlayForSuffix( + FileIconProvider::registerIconOverlayForSuffix( creatorTheme()->imageFile(Theme::IconOverlayPro, defaultOverlay), "pro"); - Utils::FileIconProvider::registerIconOverlayForSuffix( + FileIconProvider::registerIconOverlayForSuffix( creatorTheme()->imageFile(Theme::IconOverlayPri, defaultOverlay), "pri"); - Utils::FileIconProvider::registerIconOverlayForSuffix( + FileIconProvider::registerIconOverlayForSuffix( creatorTheme()->imageFile(Theme::IconOverlayPrf, defaultOverlay), "prf"); } diff --git a/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp b/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp index 149b797ef41..354b87335ef 100644 --- a/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp +++ b/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp @@ -14,6 +14,7 @@ #include using namespace Core; +using namespace Utils; namespace QmakeProjectManager { namespace Internal { @@ -27,7 +28,7 @@ void ProFileHoverHandler::identifyMatch(TextEditor::TextEditorWidget *editorWidg int pos, ReportPriority report) { - Utils::ExecuteOnDestruction reportPriority([this, report](){ report(priority()); }); + ExecuteOnDestruction reportPriority([this, report](){ report(priority()); }); m_docFragment.clear(); m_manualKind = UnknownManual; @@ -114,8 +115,8 @@ void ProFileHoverHandler::identifyDocFragment(ProFileHoverHandler::ManualKind ma QUrl url(QString::fromLatin1("qthelp://org.qt-project.qmake/qmake/qmake-%1-reference.html").arg(manualName())); const QByteArray html = Core::HelpManager::fileData(url); - Utils::HtmlDocExtractor htmlExtractor; - htmlExtractor.setMode(Utils::HtmlDocExtractor::FirstParagraph); + HtmlDocExtractor htmlExtractor; + htmlExtractor.setMode(HtmlDocExtractor::FirstParagraph); // Document fragment of qmake function is retrieved from docs. // E.g. in case of the keyword "find" the document fragment diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 9bad1ae72b5..0d6e208fa5e 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -89,7 +89,7 @@ FilePath QmakeBuildConfiguration::shadowBuildDirectory(const FilePath &proFilePa const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration"; -QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Utils::Id id) +QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Id id) : BuildConfiguration(target, id) { setConfigWidgetDisplayName(Tr::tr("General")); diff --git a/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp b/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp index e5c0265daa1..3e696b6056e 100644 --- a/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp +++ b/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp @@ -96,7 +96,7 @@ KitAspectWidget *QmakeKitAspect::createConfigWidget(Kit *k) const KitAspect::ItemList QmakeKitAspect::toUserOutput(const Kit *k) const { - return {qMakePair(Tr::tr("mkspec"), QDir::toNativeSeparators(mkspec(k)))}; + return {{Tr::tr("mkspec"), QDir::toNativeSeparators(mkspec(k))}}; } void QmakeKitAspect::addToMacroExpander(Kit *kit, MacroExpander *expander) const @@ -107,7 +107,7 @@ void QmakeKitAspect::addToMacroExpander(Kit *kit, MacroExpander *expander) const }); } -Utils::Id QmakeKitAspect::id() +Id QmakeKitAspect::id() { return Constants::KIT_INFORMATION_ID; } diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index 64eaf2507d5..00d1eea99a5 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -115,7 +115,8 @@ bool QmakeBuildSystem::supportsAction(Node *context, ProjectAction action, const const FolderNode *folder = node->asFolderNode(); if (folder) { QStringList list; - foreach (FolderNode *f, folder->folderNodes()) + const auto folderNodes = folder->folderNodes(); + for (FolderNode *f : folderNodes) list << f->filePath().toString() + QLatin1Char('/'); if (n->deploysFolder(Utils::commonPath(list))) addExistingFiles = false; @@ -341,7 +342,7 @@ QStringList QmakeProFileNode::targetApplications() const return apps; } -QVariant QmakeProFileNode::data(Utils::Id role) const +QVariant QmakeProFileNode::data(Id role) const { if (role == Android::Constants::AndroidAbis) return variableValue(Variable::AndroidAbis); @@ -400,7 +401,7 @@ QVariant QmakeProFileNode::data(Utils::Id role) const return {}; } -bool QmakeProFileNode::setData(Utils::Id role, const QVariant &value) const +bool QmakeProFileNode::setData(Id role, const QVariant &value) const { QmakeProFile *pro = proFile(); if (!pro) diff --git a/src/plugins/qmakeprojectmanager/qmakenodetreebuilder.cpp b/src/plugins/qmakeprojectmanager/qmakenodetreebuilder.cpp index f2319d62dd8..0f77555f689 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodetreebuilder.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodetreebuilder.cpp @@ -89,14 +89,13 @@ QmakeStaticData::QmakeStaticData() for (const FileTypeDataStorage &fileType : fileTypeDataStorage) { const QString desc = QmakeProjectManager::Tr::tr(fileType.typeName); const QString filter = QString::fromUtf8(fileType.addFileFilter); - fileTypeData.push_back(QmakeStaticData::FileTypeData(fileType.type, - desc, filter, - Utils::FileIconProvider::directoryIcon(QLatin1String(fileType.icon)))); + fileTypeData.push_back(QmakeStaticData::FileTypeData(fileType.type, desc, filter, + FileIconProvider::directoryIcon(QLatin1String(fileType.icon)))); } // Project icon - projectIcon = Utils::FileIconProvider::directoryIcon(ProjectExplorer::Constants::FILEOVERLAY_QT); - productIcon = Utils::FileIconProvider::directoryIcon(ProjectExplorer::Constants::FILEOVERLAY_PRODUCT); - groupIcon = Utils::FileIconProvider::directoryIcon(ProjectExplorer::Constants::FILEOVERLAY_GROUP); + projectIcon = FileIconProvider::directoryIcon(ProjectExplorer::Constants::FILEOVERLAY_QT); + productIcon = FileIconProvider::directoryIcon(ProjectExplorer::Constants::FILEOVERLAY_PRODUCT); + groupIcon = FileIconProvider::directoryIcon(ProjectExplorer::Constants::FILEOVERLAY_GROUP); qAddPostRoutine(clearQmakeStaticData); } @@ -141,7 +140,7 @@ static void createTree(QmakeBuildSystem *buildSystem, for (int i = 0; i < fileTypes.size(); ++i) { FileType type = fileTypes.at(i).type; const SourceFiles &newFilePaths = Utils::filtered(pri->files(type), [&toExclude](const SourceFile &fn) { - return !Utils::contains(toExclude, [&fn](const Utils::FilePath &ex) { return fn.first.isChildOf(ex); }); + return !Utils::contains(toExclude, [&fn](const FilePath &ex) { return fn.first.isChildOf(ex); }); }); if (proFile) { for (const SourceFile &fp : newFilePaths) { diff --git a/src/plugins/qmakeprojectmanager/qmakeparser.cpp b/src/plugins/qmakeprojectmanager/qmakeparser.cpp index 1b53221afb0..66468403220 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparser.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeparser.cpp @@ -19,7 +19,7 @@ QMakeParser::QMakeParser() : m_error(QLatin1String("^(.+?):(\\d+?):\\s(.+?)$")) OutputLineParser::Result QMakeParser::handleLine(const QString &line, OutputFormat type) { - if (type != Utils::StdErrFormat) + if (type != StdErrFormat) return Status::NotHandled; QString lne = rightTrimmed(line); QRegularExpressionMatch match = m_error.match(lne); diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp index dbd1910bc21..f05144e2b60 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp @@ -89,9 +89,9 @@ class QmakeIncludedPriFile { public: ProFile *proFile; - Utils::FilePath name; + FilePath name; QmakePriFileEvalResult result; - QMap children; + QMap children; ~QmakeIncludedPriFile() { @@ -348,18 +348,17 @@ void QmakePriFile::update(const Internal::QmakePriFileEvalResult &result) files.clear(); const QSet exactFps = result.foundFilesExact.value(type); for (const FilePath &exactFp : exactFps) - files << qMakePair(exactFp, FileOrigin::ExactParse); + files.insert({exactFp, FileOrigin::ExactParse}); for (const FilePath &cumulativeFp : result.foundFilesCumulative.value(type)) { if (!exactFps.contains(cumulativeFp)) - files << qMakePair(cumulativeFp, FileOrigin::CumulativeParse); + files.insert({cumulativeFp, FileOrigin::CumulativeParse}); } } } void QmakePriFile::watchFolders(const QSet &folders) { - const QSet folderStrings = - Utils::transform(folders, &FilePath::toString); + const QSet folderStrings = Utils::transform(folders, &FilePath::toString); QSet toUnwatch = m_watchedFolders; toUnwatch.subtract(folderStrings); @@ -431,7 +430,7 @@ bool QmakePriFile::folderChanged(const QString &changedFolder, const QSet QmakePriFile::readProFile() &errorMsg) != TextFileFormat::ReadSuccess) { QmakeBuildSystem::proFileParseError(errorMsg, filePath()); - return qMakePair(includeFile, lines); + return {includeFile, lines}; } lines = contents.split('\n'); } @@ -769,7 +768,7 @@ QPair QmakePriFile::readProFile() filePath().toString(), 1); } - return qMakePair(includeFile, lines); + return {includeFile, lines}; } bool QmakePriFile::prepareForChange() @@ -1284,10 +1283,9 @@ void QmakeProFile::asyncUpdate() if (!includedInExactParse()) m_readerExact->setExact(false); QmakeEvalInput input = evalInput(); - QFuture future = Utils::runAsync(ProjectExplorerPlugin::sharedThreadPool(), - QThread::LowestPriority, - &QmakeProFile::asyncEvaluate, - this, input); + QFuture future = runAsync(ProjectExplorerPlugin::sharedThreadPool(), + QThread::LowestPriority, + &QmakeProFile::asyncEvaluate, this, input); m_parseFutureWatcher->setFuture(future); } @@ -1401,7 +1399,7 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input) FilePaths subDirs = subDirsPaths(input.readerExact, input.projectDir, &result->subProjectsNotToDeploy, &errors); result->errors.append(errors); - foreach (const Utils::FilePath &subDirName, subDirs) { + foreach (const FilePath &subDirName, subDirs) { auto subDir = new QmakeIncludedPriFile; subDir->proFile = nullptr; subDir->name = subDirName; @@ -1420,7 +1418,7 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input) continue; // Don't attempt to map subdirs here QVector children = includeFiles.value(current->proFile); foreach (ProFile *child, children) { - const Utils::FilePath childName = Utils::FilePath::fromString(child->fileName()); + const FilePath childName = FilePath::fromString(child->fileName()); auto it = current->children.find(childName); if (it == current->children.end()) { auto childTree = new QmakeIncludedPriFile; @@ -1435,8 +1433,8 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input) } if (result->projectType == ProjectType::SubDirsTemplate) { - FilePaths subDirs = subDirsPaths(input.readerCumulative, input.projectDir, nullptr, nullptr); - foreach (const Utils::FilePath &subDirName, subDirs) { + const FilePaths subDirs = subDirsPaths(input.readerCumulative, input.projectDir, nullptr, nullptr); + for (const FilePath &subDirName : subDirs) { auto it = result->includedFiles.children.find(subDirName); if (it == result->includedFiles.children.end()) { auto subDir = new QmakeIncludedPriFile; @@ -1456,7 +1454,7 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input) continue; // Don't attempt to map subdirs here QVector children = includeFiles.value(current->proFile); foreach (ProFile *child, children) { - const Utils::FilePath childName = Utils::FilePath::fromString(child->fileName()); + const FilePath childName = FilePath::fromString(child->fileName()); auto it = current->children.find(childName); if (it == current->children.end()) { auto childTree = new QmakeIncludedPriFile; @@ -1583,8 +1581,8 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input) if (cumulativeBuildPassReader && cumulativeBuildPassReader != input.readerCumulative) delete cumulativeBuildPassReader; - QList> toCompare; - toCompare.append(qMakePair(nullptr, &result->includedFiles)); + QList> + toCompare{{nullptr, &result->includedFiles}}; while (!toCompare.isEmpty()) { QmakePriFile *pn = toCompare.first().first; QmakeIncludedPriFile *tree = toCompare.first().second; @@ -1608,8 +1606,8 @@ QmakeEvalResultPtr QmakeProFile::evaluate(const QmakeEvalInput &input) result->directChildren << qmakePriFileNode; qmakePriFileNode->setIncludedInExactParse(input.includedInExcactParse && result->state == QmakeEvalResult::EvalOk); - result->priFiles.append(qMakePair(qmakePriFileNode, priFile->result)); - toCompare.append(qMakePair(qmakePriFileNode, priFile)); + result->priFiles.push_back({qmakePriFileNode, priFile->result}); + toCompare.push_back({qmakePriFileNode, priFile}); } else { auto *qmakeProFileNode = new QmakeProFile(priFile->name); if (pn) @@ -1725,9 +1723,9 @@ void QmakeProFile::applyEvaluate(const QmakeEvalResultPtr &result) if (!result->directoriesWithWildcards.isEmpty()) { if (!m_wildcardWatcher) { - m_wildcardWatcher = std::make_unique(); + m_wildcardWatcher = std::make_unique(); QObject::connect( - m_wildcardWatcher.get(), &Utils::FileSystemWatcher::directoryChanged, + m_wildcardWatcher.get(), &FileSystemWatcher::directoryChanged, [this](QString path) { QStringList directoryContents = QDir(path).entryList(); if (m_wildcardDirectoryContents.value(path) != directoryContents) { @@ -1743,8 +1741,7 @@ void QmakeProFile::applyEvaluate(const QmakeEvalResultPtr &result) }); for (const QString &path : directoriesToAdd) m_wildcardDirectoryContents.insert(path, QDir(path).entryList()); - m_wildcardWatcher->addDirectories(directoriesToAdd, - Utils::FileSystemWatcher::WatchModifiedDate); + m_wildcardWatcher->addDirectories(directoriesToAdd, FileSystemWatcher::WatchModifiedDate); } if (m_wildcardWatcher) { if (result->directoriesWithWildcards.isEmpty()) { @@ -1980,8 +1977,8 @@ InstallsList QmakeProFile::installsList(const QtSupport::ProFileReader *reader, const QStringList installPrefixVars{"QT_INSTALL_PREFIX", "QT_INSTALL_EXAMPLES"}; QList> installPrefixValues; for (const QString &installPrefix : installPrefixVars) { - installPrefixValues << qMakePair(reader->propertyValue(installPrefix), - reader->propertyValue(installPrefix + "/dev")); + installPrefixValues.push_back({reader->propertyValue(installPrefix), + reader->propertyValue(installPrefix + "/dev")}); } foreach (const QString &item, itemList) { @@ -2057,7 +2054,7 @@ FilePaths QmakeProFile::generatedFiles(const FilePath &buildDir, location = location.pathAppended("ui_" + sourceFile.completeBaseName() + singleVariableValue(Variable::HeaderExtension)); - return { Utils::FilePath::fromString(QDir::cleanPath(location.toString())) }; + return { FilePath::fromString(QDir::cleanPath(location.toString())) }; } else if (sourceFileType == FileType::StateChart) { if (buildDir.isEmpty()) return { }; diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 0b62bc7dde0..43d36b2e225 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -81,7 +81,7 @@ static Q_LOGGING_CATEGORY(qmakeBuildSystemLog, "qtc.qmake.buildsystem", QtWarnin class QmakePriFileDocument : public Core::IDocument { public: - QmakePriFileDocument(QmakePriFile *qmakePriFile, const Utils::FilePath &filePath) : + QmakePriFileDocument(QmakePriFile *qmakePriFile, const FilePath &filePath) : IDocument(nullptr), m_priFile(qmakePriFile) { setId("Qmake.PriFile"); @@ -362,7 +362,7 @@ void QmakeBuildSystem::updateCppCodeModel() if (pro->variableValue(Variable::Config).contains(QLatin1String("qt"))) rpp.setQtVersion(kitInfo.projectPartQtVersion); else - rpp.setQtVersion(Utils::QtMajorVersion::None); + rpp.setQtVersion(QtMajorVersion::None); // Header paths ProjectExplorer::HeaderPaths headerPaths; @@ -381,7 +381,7 @@ void QmakeBuildSystem::updateCppCodeModel() QStringList fileList = pro->variableValue(Variable::ExactSource) + cumulativeSourceFiles; QList proGenerators = pro->extraCompilers(); foreach (ProjectExplorer::ExtraCompiler *ec, proGenerators) { - ec->forEachTarget([&](const Utils::FilePath &generatedFile) { + ec->forEachTarget([&](const FilePath &generatedFile) { fileList += generatedFile.toString(); }); } @@ -421,7 +421,7 @@ void QmakeBuildSystem::updateQmlJSCodeModel() const QStringList &cumulativeResources = file->variableValue(Variable::CumulativeResource); QString errorMessage; for (const QString &rc : exactResources) { - Utils::FilePath rcPath = Utils::FilePath::fromString(rc); + FilePath rcPath = FilePath::fromString(rc); projectInfo.activeResourceFiles.append(rcPath); projectInfo.allResourceFiles.append(rcPath); QString contents; @@ -430,7 +430,7 @@ void QmakeBuildSystem::updateQmlJSCodeModel() projectInfo.resourceFileContents[rcPath] = contents; } for (const QString &rc : cumulativeResources) { - Utils::FilePath rcPath = Utils::FilePath::fromString(rc); + FilePath rcPath = FilePath::fromString(rc); projectInfo.allResourceFiles.append(rcPath); QString contents; int id = m_qmakeVfs->idForFileName(rc, QMakeVfs::VfsCumulative); @@ -1358,8 +1358,8 @@ void QmakeBuildSystem::collectLibraryData(const QmakeProFile *file, DeploymentDa } } -static Utils::FilePath getFullPathOf(const QmakeProFile *pro, Variable variable, - const BuildConfiguration *bc) +static FilePath getFullPathOf(const QmakeProFile *pro, Variable variable, + const BuildConfiguration *bc) { // Take last non-flag value, to cover e.g. '@echo $< && $$QMAKE_CC' or 'ccache gcc' const QStringList values = Utils::filtered(pro->variableValue(variable), @@ -1367,12 +1367,12 @@ static Utils::FilePath getFullPathOf(const QmakeProFile *pro, Variable variable, return !value.startsWith('-'); }); if (values.isEmpty()) - return Utils::FilePath(); + return {}; const QString exe = values.last(); - QTC_ASSERT(bc, return Utils::FilePath::fromUserInput(exe)); + QTC_ASSERT(bc, return FilePath::fromUserInput(exe)); QFileInfo fi(exe); if (fi.isAbsolute()) - return Utils::FilePath::fromUserInput(exe); + return FilePath::fromUserInput(exe); return bc->environment().searchInPath(exe); } @@ -1382,12 +1382,12 @@ void QmakeBuildSystem::testToolChain(ToolChain *tc, const FilePath &path) const if (!tc || path.isEmpty()) return; - const Utils::FilePath expected = tc->compilerCommand(); + const FilePath expected = tc->compilerCommand(); Environment env = buildConfiguration()->environment(); if (tc->matchesCompilerCommand(expected, env)) return; - const QPair pair = qMakePair(expected, path); + const QPair pair{expected, path}; if (m_toolChainWarnings.contains(pair)) return; // Suppress warnings on Apple machines where compilers in /usr/bin point into Xcode. @@ -1478,7 +1478,7 @@ FilePaths QmakeBuildSystem::filesGeneratedFrom(const FilePath &input) const return {}; } -QVariant QmakeBuildSystem::additionalData(Utils::Id id) const +QVariant QmakeBuildSystem::additionalData(Id id) const { if (id == "QmlDesignerImportPath") return m_rootProFile->variableValue(Variable::QmlDesignerImportPath); diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp index 554c6266600..666ede66d65 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp @@ -39,14 +39,14 @@ using namespace Utils; namespace QmakeProjectManager::Internal { -const Utils::Id QT_IS_TEMPORARY("Qmake.TempQt"); +const Id QT_IS_TEMPORARY("Qmake.TempQt"); const char IOSQT[] = "Qt4ProjectManager.QtVersion.Ios"; // ugly struct DirectoryData { QString makefile; - Utils::FilePath buildDirectory; - Utils::FilePath canonicalQmakeBinary; + FilePath buildDirectory; + FilePath canonicalQmakeBinary; QtProjectImporter::QtVersionData qtVersionData; QString parsedSpec; QtVersion::QmakeBuildConfigs buildConfig; From 7eb778dc3d49de19f696c4136cedce4edcc473ab Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 10:24:53 +0200 Subject: [PATCH 71/96] Theme: Limit the usage of qMakePair Change-Id: Ibc47dfc4f48ab1b3bc2fe77b353d13d1e22d8b8f Reviewed-by: Eike Ziller --- src/libs/utils/theme/theme.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/libs/utils/theme/theme.cpp b/src/libs/utils/theme/theme.cpp index 2896938aebc..b1ff5a438b5 100644 --- a/src/libs/utils/theme/theme.cpp +++ b/src/libs/utils/theme/theme.cpp @@ -133,17 +133,18 @@ QString Theme::imageFile(Theme::ImageFile imageFile, const QString &fallBack) co QPair Theme::readNamedColor(const QString &color) const { - if (d->palette.contains(color)) - return qMakePair(d->palette[color], color); + const auto it = d->palette.constFind(color); + if (it != d->palette.constEnd()) + return {it.value(), color}; if (color == QLatin1String("style")) - return qMakePair(QColor(), QString()); + return {}; const QColor col('#' + color); if (!col.isValid()) { qWarning("Color \"%s\" is neither a named color nor a valid color", qPrintable(color)); - return qMakePair(Qt::black, QString()); + return {Qt::black, {}}; } - return qMakePair(col, QString()); + return {col, {}}; } QString Theme::filePath() const From 93dc9ce591532640fd90e4fa8b255bac9a778d92 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 13:59:32 +0200 Subject: [PATCH 72/96] QbsProjectManager: Limit the usage of qMakePair Change-Id: I00cf4e3608d275051c142ab574a47ff4688c7970 Reviewed-by: Christian Kandeler Reviewed-by: --- src/plugins/qbsprojectmanager/qbskitinformation.cpp | 2 +- src/plugins/qbsprojectmanager/qbssession.cpp | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbskitinformation.cpp b/src/plugins/qbsprojectmanager/qbskitinformation.cpp index 5756950f0ef..7b5632ae8d1 100644 --- a/src/plugins/qbsprojectmanager/qbskitinformation.cpp +++ b/src/plugins/qbsprojectmanager/qbskitinformation.cpp @@ -94,7 +94,7 @@ Tasks QbsKitAspect::validate(const Kit *) const { return {}; } KitAspect::ItemList QbsKitAspect::toUserOutput(const Kit *k) const { - return ItemList({qMakePair(displayName(), representation(k))}); + return {{displayName(), representation(k)}}; } KitAspectWidget *QbsKitAspect::createConfigWidget(Kit *k) const diff --git a/src/plugins/qbsprojectmanager/qbssession.cpp b/src/plugins/qbsprojectmanager/qbssession.cpp index 377d70dc6c0..b083cc5cf3d 100644 --- a/src/plugins/qbsprojectmanager/qbssession.cpp +++ b/src/plugins/qbsprojectmanager/qbssession.cpp @@ -197,8 +197,7 @@ void QbsSession::initialize() void QbsSession::sendQuitPacket() { - d->qbsProcess->writeRaw(Packet::createPacket(QJsonObject{qMakePair(QString("type"), - QJsonValue("quit"))})); + d->qbsProcess->writeRaw(Packet::createPacket({{"type", "quit"}})); } QbsSession::~QbsSession() @@ -262,7 +261,7 @@ void QbsSession::sendRequest(const QJsonObject &request) void QbsSession::cancelCurrentJob() { if (d->state == State::Active) - sendRequest(QJsonObject{qMakePair(QString("type"), QJsonValue("cancel-job"))}); + sendRequest({{"type", "cancel-job"}}); } void QbsSession::requestFilesGeneratedFrom(const QHash &sourceFilesPerProduct) @@ -275,7 +274,7 @@ void QbsSession::requestFilesGeneratedFrom(const QHash &so product.insert("full-display-name", it.key()); QJsonArray requests; for (const QString &sourceFile : it.value()) - requests << QJsonObject({qMakePair(QString("source-file"), sourceFile)}); + requests << QJsonObject({{"source-file", sourceFile}}); product.insert("requests", requests); products << product; } From 95e54055eff3af907ede3d06453226dd4af7324a Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 14:11:20 +0200 Subject: [PATCH 73/96] Clang: Limit the usage of qMakePair and std::make_pair Change-Id: Ida094760023047ecb8ba29e60d5e81f766981b65 Reviewed-by: Christian Kandeler --- src/plugins/clangcodemodel/clangdclient.cpp | 8 ++---- .../clangcodemodel/clangdcompletion.cpp | 2 +- .../clangcodemodel/clangdfindreferences.cpp | 2 +- .../clangcodemodel/clangdfollowsymbol.cpp | 2 +- .../clangdmemoryusagewidget.cpp | 10 +++---- .../clangtools/clangtoolsdiagnosticmodel.cpp | 10 +++---- src/plugins/clangtools/clangtoolsutils.cpp | 28 ++++++++----------- src/plugins/clangtools/executableinfo.cpp | 6 ++-- 8 files changed, 29 insertions(+), 39 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index 36bf395a0a8..0474d1d6ed4 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -212,7 +212,7 @@ template class VersionedDataCache public: void insert(const DocType &doc, const DataType &data) { - m_data.emplace(std::make_pair(doc, VersionedDocData(doc, data))); + m_data.emplace(doc, VersionedDocData(doc, data)); } void remove(const DocType &doc) { m_data.erase(doc); } std::optional> take(const DocType &doc) @@ -531,7 +531,7 @@ QTextCursor ClangdClient::adjustedCursorForHighlighting(const QTextCursor &curso const LanguageClient::Client::CustomInspectorTabs ClangdClient::createCustomInspectorTabs() { - return {std::make_pair(new ClangdMemoryUsageWidget(this), tr("Memory Usage"))}; + return {{new ClangdMemoryUsageWidget(this), tr("Memory Usage")}}; } class ClangdDiagnosticManager : public LanguageClient::DiagnosticManager @@ -1332,9 +1332,7 @@ void ClangdClient::Private::handleSemanticTokens(TextDocument *doc, data->previousTokens.first = tokens; data->previousTokens.second = version; } else { - HighlightingData data; - data.previousTokens = qMakePair(tokens, version); - highlightingData.insert(doc, data); + highlightingData.insert(doc, {{tokens, version}, {}}); } for (const ExpandedSemanticToken &t : tokens) qCDebug(clangdLogHighlight()) << '\t' << t.line << t.column << t.length << t.type diff --git a/src/plugins/clangcodemodel/clangdcompletion.cpp b/src/plugins/clangcodemodel/clangdcompletion.cpp index d99e9ae92f4..442a3fb2401 100644 --- a/src/plugins/clangcodemodel/clangdcompletion.cpp +++ b/src/plugins/clangcodemodel/clangdcompletion.cpp @@ -493,7 +493,7 @@ QList CustomAssistProcessor::completeInclude( for (AssistProposalItemInterface * const item : qAsConst(completions)) { QString s = item->text(); s.replace('/', QChar(0)); // The dir separator should compare less than anything else. - completionsForSorting << qMakePair(item, s); + completionsForSorting.push_back({item, s}); } Utils::sort(completionsForSorting, [](const auto &left, const auto &right) { return left.second < right.second; diff --git a/src/plugins/clangcodemodel/clangdfindreferences.cpp b/src/plugins/clangcodemodel/clangdfindreferences.cpp index aa26808259c..c48c0caebea 100644 --- a/src/plugins/clangcodemodel/clangdfindreferences.cpp +++ b/src/plugins/clangcodemodel/clangdfindreferences.cpp @@ -200,7 +200,7 @@ void ClangdFindReferences::Private::handleFindUsagesResult(const QList }); for (const Location &loc : locations) - fileData[loc.uri()].rangesAndLineText << qMakePair(loc.range(), QString()); + fileData[loc.uri()].rangesAndLineText.push_back({loc.range(), {}}); for (auto it = fileData.begin(); it != fileData.end();) { const Utils::FilePath filePath = it.key().toFilePath(); if (!filePath.exists()) { // https://github.com/clangd/clangd/issues/935 diff --git a/src/plugins/clangcodemodel/clangdfollowsymbol.cpp b/src/plugins/clangcodemodel/clangdfollowsymbol.cpp index 21dc5352cc2..2e138bc96d5 100644 --- a/src/plugins/clangcodemodel/clangdfollowsymbol.cpp +++ b/src/plugins/clangcodemodel/clangdfollowsymbol.cpp @@ -454,7 +454,7 @@ void ClangdFollowSymbol::Private::handleGotoImplementationResult( if (!sentinel) return; if (!name.isEmpty()) - symbolsToDisplay << qMakePair(prefix + name, link); + symbolsToDisplay.push_back({prefix + name, link}); pendingSymbolInfoRequests.removeOne(reqId); virtualFuncAssistProcessor->update(); if (pendingSymbolInfoRequests.isEmpty() && pendingGotoDefRequests.isEmpty() diff --git a/src/plugins/clangcodemodel/clangdmemoryusagewidget.cpp b/src/plugins/clangcodemodel/clangdmemoryusagewidget.cpp index 06ec53d621c..fcceebe06ea 100644 --- a/src/plugins/clangcodemodel/clangdmemoryusagewidget.cpp +++ b/src/plugins/clangcodemodel/clangdmemoryusagewidget.cpp @@ -39,7 +39,7 @@ public: for (auto it = obj.begin(); it != obj.end(); ++it) { if (it.key() == totalKey() || it.key() == selfKey()) continue; - components << std::make_pair(MemoryTree(it.value()), it.key()); + components.push_back({MemoryTree(it.value()), it.key()}); } return components; } @@ -81,11 +81,9 @@ private: QString memString() const { - static const QList> factors{ - std::make_pair(1000000000, QString("GB")), - std::make_pair(1000000, QString("MB")), - std::make_pair(1000, QString("KB")), - }; + static const QList> factors{{1000000000, "GB"}, + {1000000, "MB"}, + {1000, "KB"}}; for (const auto &factor : factors) { if (m_bytesUsed > factor.first) return QString::number(qint64(std::round(double(m_bytesUsed) / factor.first))) diff --git a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp index bf9a6927bec..a395de05bc2 100644 --- a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp +++ b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp @@ -190,14 +190,12 @@ static QString createExplainingStepToolTipString(const ExplainingStep &step) QList lines; if (!step.message.isEmpty()) { - lines << qMakePair( - QCoreApplication::translate("ClangTools::ExplainingStep", "Message:"), - step.message.toHtmlEscaped()); + lines.push_back({QCoreApplication::translate("ClangTools::ExplainingStep", "Message:"), + step.message.toHtmlEscaped()}); } - lines << qMakePair( - QCoreApplication::translate("ClangTools::ExplainingStep", "Location:"), - createFullLocationString(step.location)); + lines.push_back({QCoreApplication::translate("ClangTools::ExplainingStep", "Location:"), + createFullLocationString(step.location)}); QString html = QLatin1String("" "" diff --git a/src/plugins/clangtools/clangtoolsutils.cpp b/src/plugins/clangtools/clangtoolsutils.cpp index 741e5de9f94..9eeaed31d4b 100644 --- a/src/plugins/clangtools/clangtoolsutils.cpp +++ b/src/plugins/clangtools/clangtoolsutils.cpp @@ -61,30 +61,26 @@ QString createDiagnosticToolTipString( QList lines; if (!diagnostic.category.isEmpty()) { - lines << qMakePair( - QCoreApplication::translate("ClangTools::Diagnostic", "Category:"), - diagnostic.category.toHtmlEscaped()); + lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Category:"), + diagnostic.category.toHtmlEscaped()}); } if (!diagnostic.type.isEmpty()) { - lines << qMakePair( - QCoreApplication::translate("ClangTools::Diagnostic", "Type:"), - diagnostic.type.toHtmlEscaped()); + lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Type:"), + diagnostic.type.toHtmlEscaped()}); } if (!diagnostic.description.isEmpty()) { - lines << qMakePair( - QCoreApplication::translate("ClangTools::Diagnostic", "Description:"), - diagnostic.description.toHtmlEscaped()); + lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Description:"), + diagnostic.description.toHtmlEscaped()}); } - lines << qMakePair( - QCoreApplication::translate("ClangTools::Diagnostic", "Location:"), - createFullLocationString(diagnostic.location)); + lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Location:"), + createFullLocationString(diagnostic.location)}); if (status) { - lines << qMakePair(QCoreApplication::translate("ClangTools::Diagnostic", "Fixit status:"), - fixitStatus(*status)); + lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Fixit status:"), + fixitStatus(*status)}); } if (showSteps && !diagnostic.explainingSteps.isEmpty()) { @@ -103,8 +99,8 @@ QString createDiagnosticToolTipString( const QString url = documentationUrl(diagnostic.name); if (!url.isEmpty()) { - lines << qMakePair(QCoreApplication::translate("ClangTools::Diagnostic", "Documentation:"), - QString("%1").arg(url)); + lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Documentation:"), + QString("%1").arg(url)}); } QString html = QLatin1String("" diff --git a/src/plugins/clangtools/executableinfo.cpp b/src/plugins/clangtools/executableinfo.cpp index eb9d47e0855..148411c85ce 100644 --- a/src/plugins/clangtools/executableinfo.cpp +++ b/src/plugins/clangtools/executableinfo.cpp @@ -147,7 +147,7 @@ ClazyStandaloneInfo ClazyStandaloneInfo::getInfo(const FilePath &executablePath) const auto it = cache.find(executablePath); if (it == cache.end()) { const ClazyStandaloneInfo info(executablePath); - cache.insert(executablePath, qMakePair(timeStamp, info)); + cache.insert(executablePath, {timeStamp, info}); return info; } if (it->first != timeStamp) { @@ -219,8 +219,8 @@ QPair getClangIncludeDirAndVersion(const FilePath &clangToolP const FilePath dynamicResourceDir = queryResourceDir(clangToolPath); const QString dynamicVersion = queryVersion(clangToolPath, QueryFailMode::Noisy); if (dynamicResourceDir.isEmpty() || dynamicVersion.isEmpty()) - return qMakePair(FilePath::fromString(CLANG_INCLUDE_DIR), QString(CLANG_VERSION)); - return qMakePair(dynamicResourceDir + "/include", dynamicVersion); + return {FilePath::fromString(CLANG_INCLUDE_DIR), QString(CLANG_VERSION)}; + return {dynamicResourceDir + "/include", dynamicVersion}; } QHash> ClazyStandaloneInfo::cache; From aedd50eeb7acc38adc899312cae882755c1b9b1a Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 4 Oct 2022 10:13:24 +0200 Subject: [PATCH 74/96] Squish: Fix wrong condition Change-Id: Ic816a96202de710d1ff011ec489f066f98d2f7e5 Reviewed-by: David Schulz --- src/plugins/squish/scripthelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/squish/scripthelper.cpp b/src/plugins/squish/scripthelper.cpp index 0047ea37aa2..18c605b3d81 100644 --- a/src/plugins/squish/scripthelper.cpp +++ b/src/plugins/squish/scripthelper.cpp @@ -20,7 +20,7 @@ static QByteArray startApplication(Language language, : application; QStringList parameters; parameters << app; - if (args.isEmpty()) + if (!args.isEmpty()) parameters << QString(args).replace('"', "\\\""); switch (language) { From 50f2f57f6a783aa59d14326313fb9907e8b4ed86 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 15:17:36 +0200 Subject: [PATCH 75/96] ProjectExplorer: Limit the usage of std::make_pair Make the code less verbose. Change-Id: I4d671a49a6b8097d4a324bdd9f6a2c9dbdb225cc Reviewed-by: Christian Kandeler Reviewed-by: --- .../projectexplorer/jsonwizard/jsonwizardfactory.cpp | 2 +- src/plugins/projectexplorer/toolchain.cpp | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp index 54d0323accf..63723c757b3 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp @@ -300,7 +300,7 @@ std::pair JsonWizardFactory::screenSizeInfoFromPage(const QStr if (values.isEmpty()) return {}; - return std::make_pair(index, values); + return {index, values}; } JsonWizardFactory::Page JsonWizardFactory::parsePage(const QVariant &value, QString *errorMessage) diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp index 9c97e71ba31..0776ef7ce0f 100644 --- a/src/plugins/projectexplorer/toolchain.cpp +++ b/src/plugins/projectexplorer/toolchain.cpp @@ -685,11 +685,9 @@ static QString badToolchainTimestampKey() { return {"Timestamp"}; } QVariantMap BadToolchain::toMap() const { - return { - std::make_pair(badToolchainFilePathKey(), filePath.toVariant()), - std::make_pair(badToolchainSymlinkTargetKey(), symlinkTarget.toVariant()), - std::make_pair(badToolchainTimestampKey(), timestamp.toMSecsSinceEpoch()), - }; + return {{badToolchainFilePathKey(), filePath.toVariant()}, + {badToolchainSymlinkTargetKey(), symlinkTarget.toVariant()}, + {badToolchainTimestampKey(), timestamp.toMSecsSinceEpoch()}}; } BadToolchain BadToolchain::fromMap(const QVariantMap &map) From 898053533a54ccdceb568d5efa80c24d1ad64b43 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 15:57:27 +0200 Subject: [PATCH 76/96] ProjectExplorer: Limit the usage of qMakePair Make the code less verbose. Change-Id: If9fe08a6a7538d34c80ca97a2aec21a2bd6e5d22 Reviewed-by: Christian Kandeler --- src/libs/utils/settingsaccessor.h | 2 +- src/plugins/projectexplorer/customparser.cpp | 5 +- .../devicesupport/devicefilesystemmodel.cpp | 2 +- src/plugins/projectexplorer/gcctoolchain.cpp | 4 +- .../projectexplorer/kitinformation.cpp | 3 +- src/plugins/projectexplorer/msvcparser.cpp | 4 +- .../projectexplorer/projectexplorer.cpp | 8 +- .../runsettingspropertiespage.cpp | 2 +- src/plugins/projectexplorer/session.cpp | 2 +- .../projectexplorer/targetsetupwidget.cpp | 4 +- src/plugins/projectexplorer/taskwindow.cpp | 2 +- src/plugins/projectexplorer/toolchain.cpp | 2 +- .../projectexplorer/toolchainoptionspage.cpp | 2 +- .../projectexplorer/userfileaccessor.cpp | 75 +++++++++---------- 14 files changed, 56 insertions(+), 61 deletions(-) diff --git a/src/libs/utils/settingsaccessor.h b/src/libs/utils/settingsaccessor.h index bf8b15ce943..f5965626de9 100644 --- a/src/libs/utils/settingsaccessor.h +++ b/src/libs/utils/settingsaccessor.h @@ -207,7 +207,7 @@ public: virtual QVariantMap upgrade(const QVariantMap &data) = 0; protected: - using Change = QPair; + using Change = QPair; QVariantMap renameKeys(const QList &changes, QVariantMap map) const; private: diff --git a/src/plugins/projectexplorer/customparser.cpp b/src/plugins/projectexplorer/customparser.cpp index 946b4074e8a..7bcc18a6210 100644 --- a/src/plugins/projectexplorer/customparser.cpp +++ b/src/plugins/projectexplorer/customparser.cpp @@ -306,9 +306,8 @@ private: parserCheckBoxes.clear(); for (const CustomParserSettings &s : ProjectExplorerPlugin::customParsers()) { const auto checkBox = new QCheckBox(s.displayName, this); - connect(checkBox, &QCheckBox::stateChanged, - this, &SelectionWidget::selectionChanged); - parserCheckBoxes << qMakePair(checkBox, s.id); + connect(checkBox, &QCheckBox::stateChanged, this, &SelectionWidget::selectionChanged); + parserCheckBoxes.push_back({checkBox, s.id}); layout->addWidget(checkBox); } setSelectedParsers(parsers); diff --git a/src/plugins/projectexplorer/devicesupport/devicefilesystemmodel.cpp b/src/plugins/projectexplorer/devicesupport/devicefilesystemmodel.cpp index f1eff39a521..29858efe3e2 100644 --- a/src/plugins/projectexplorer/devicesupport/devicefilesystemmodel.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicefilesystemmodel.cpp @@ -236,7 +236,7 @@ static void dirEntries(QFutureInterface &futureInterface, const File for (const FilePath &entry : entries) { if (futureInterface.isCanceled()) return; - result.append(qMakePair(entry, fileType(entry))); + result.push_back({entry, fileType(entry)}); } futureInterface.reportResult(result); } diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 3461b7e7c4e..0b2b37fbcf5 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -616,7 +616,7 @@ HeaderPaths GccToolChain::builtInHeaderPaths(const Utils::Environment &env, if (!originalTargetTriple.isEmpty()) arguments << "-target" << originalTargetTriple; - const std::optional cachedPaths = headerCache->check(qMakePair(env, arguments)); + const std::optional cachedPaths = headerCache->check({env, arguments}); if (cachedPaths) return cachedPaths.value(); @@ -624,7 +624,7 @@ HeaderPaths GccToolChain::builtInHeaderPaths(const Utils::Environment &env, arguments, env); extraHeaderPathsFunction(paths); - headerCache->insert(qMakePair(env, arguments), paths); + headerCache->insert({env, arguments}, paths); qCDebug(gccLog) << "Reporting header paths to code model:"; for (const HeaderPath &hp : qAsConst(paths)) { diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index 556cade2299..22675f4e672 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -1532,8 +1532,7 @@ KitAspectWidget *EnvironmentKitAspect::createConfigWidget(Kit *k) const KitAspect::ItemList EnvironmentKitAspect::toUserOutput(const Kit *k) const { - return { qMakePair(tr("Environment"), - EnvironmentItem::toStringList(environmentChanges(k)).join("
    ")) }; + return {{tr("Environment"), EnvironmentItem::toStringList(environmentChanges(k)).join("
    ")}}; } Id EnvironmentKitAspect::id() diff --git a/src/plugins/projectexplorer/msvcparser.cpp b/src/plugins/projectexplorer/msvcparser.cpp index 3d1c4511e43..bf9c731ce16 100644 --- a/src/plugins/projectexplorer/msvcparser.cpp +++ b/src/plugins/projectexplorer/msvcparser.cpp @@ -19,7 +19,7 @@ static QPair parseFileName(const QString &input) { QString fileName = input; if (fileName.startsWith("LINK") || fileName.startsWith("cl")) - return qMakePair(FilePath(), -1); + return {{}, -1}; // Extract linenumber (if it is there): int linenumber = -1; @@ -39,7 +39,7 @@ static QPair parseFileName(const QString &input) } } const QString normalized = FileUtils::normalizedPathName(fileName); - return qMakePair(FilePath::fromUserInput(normalized), linenumber); + return {FilePath::fromUserInput(normalized), linenumber}; } using namespace ProjectExplorer; diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 030e92da3cf..8ef24d8ed30 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -3247,7 +3247,7 @@ QList> ProjectExplorerPlugin::runningRunContro const QList runControls = allRunControls(); for (RunControl *rc : runControls) { if (rc->isRunning()) - processes << qMakePair(rc->commandLine(), rc->applicationProcessHandle()); + processes.push_back({rc->commandLine(), rc->applicationProcessHandle()}); } return processes; } @@ -3420,7 +3420,7 @@ void ProjectExplorerPluginPrivate::addToRecentProjects(const FilePath &filePath, if (m_recentProjects.count() > m_maxRecentProjects) m_recentProjects.removeLast(); - m_recentProjects.prepend(qMakePair(filePath, displayName)); + m_recentProjects.push_front({filePath, displayName}); m_lastOpenDirectory = filePath.absolutePath(); emit m_instance->recentProjectsChanged(); } @@ -3947,10 +3947,10 @@ void ProjectExplorerPluginPrivate::removeFile() const FilePath filePath = currentNode->filePath(); using NodeAndPath = QPair; - QList filesToRemove{qMakePair(currentNode, currentNode->filePath())}; + QList filesToRemove{{currentNode, currentNode->filePath()}}; QList siblings; for (const Node * const n : ProjectTree::siblingsWithSameBaseName(currentNode)) - siblings << qMakePair(n, n->filePath()); + siblings.push_back({n, n->filePath()}); RemoveFileDialog removeFileDialog(filePath, ICore::dialogParent()); if (removeFileDialog.exec() != QDialog::Accepted) diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp index 5a3ba7f6507..354440b4baf 100644 --- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp @@ -486,7 +486,7 @@ void RunSettingsWidget::addSubWidget(QWidget *widget, QLabel *label) l->addWidget(label, l->rowCount(), 0, 1, -1); l->addWidget(widget, l->rowCount(), 0, 1, -1); - m_subWidgets.append(qMakePair(widget, label)); + m_subWidgets.push_back({widget, label}); } void RunSettingsWidget::removeSubWidgets() diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 051fb287aa0..12a6bcf5452 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -635,7 +635,7 @@ QStringList SessionManagerPrivate::dependenciesOrder() const return p->projectFilePath().toString() == proPath; }); }); - unordered << qMakePair(proName, depList); + unordered.push_back({proName, depList}); } while (!unordered.isEmpty()) { diff --git a/src/plugins/projectexplorer/targetsetupwidget.cpp b/src/plugins/projectexplorer/targetsetupwidget.cpp index 78888d2aba4..12c7880b65e 100644 --- a/src/plugins/projectexplorer/targetsetupwidget.cpp +++ b/src/plugins/projectexplorer/targetsetupwidget.cpp @@ -338,7 +338,7 @@ void TargetSetupWidget::reportIssues(int index) QPair TargetSetupWidget::findIssues(const BuildInfo &info) { if (m_projectPath.isEmpty() || !info.factory) - return qMakePair(Task::Unknown, QString()); + return {Task::Unknown, {}}; QString buildDir = info.buildDirectory.toString(); Tasks issues; @@ -364,7 +364,7 @@ QPair TargetSetupWidget::findIssues(const BuildInfo &in } if (!text.isEmpty()) text = QLatin1String("") + text; - return qMakePair(highestType, text); + return {highestType, text}; } TargetSetupWidget::BuildInfoStore::~BuildInfoStore() diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index 4570161c112..977b494d525 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -930,7 +930,7 @@ void TaskDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, + startOffset, positions.top() + linePos.y()); const QSize linkSize(endOffset - startOffset, linkLine.height()); const QRectF linkRect(linkPos, linkSize); - m_hrefs << qMakePair(linkRect, range.format.anchorHref()); + m_hrefs.push_back({linkRect, range.format.anchorHref()}); } } diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp index 0776ef7ce0f..d0b9d92e86f 100644 --- a/src/plugins/projectexplorer/toolchain.cpp +++ b/src/plugins/projectexplorer/toolchain.cpp @@ -596,7 +596,7 @@ static QPair rawIdData(const QVariantMap &data) const QString raw = data.value(QLatin1String(ID_KEY)).toString(); const int pos = raw.indexOf(QLatin1Char(':')); QTC_ASSERT(pos > 0, return qMakePair(QString::fromLatin1("unknown"), QString::fromLatin1("unknown"))); - return qMakePair(raw.mid(0, pos), raw.mid(pos + 1)); + return {raw.mid(0, pos), raw.mid(pos + 1)}; } QByteArray ToolChainFactory::idFromMap(const QVariantMap &data) diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp index 5f261888785..33a564c8b88 100644 --- a/src/plugins/projectexplorer/toolchainoptionspage.cpp +++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp @@ -157,7 +157,7 @@ public: autoRoot->appendChild(autoNode); manualRoot->appendChild(manualNode); - m_languageMap.insert(l, qMakePair(autoNode, manualNode)); + m_languageMap.insert(l, {autoNode, manualNode}); } m_model.rootItem()->appendChild(autoRoot); diff --git a/src/plugins/projectexplorer/userfileaccessor.cpp b/src/plugins/projectexplorer/userfileaccessor.cpp index f1057fe9628..86814054895 100644 --- a/src/plugins/projectexplorer/userfileaccessor.cpp +++ b/src/plugins/projectexplorer/userfileaccessor.cpp @@ -27,6 +27,8 @@ using namespace Utils; using namespace ProjectExplorer; using namespace ProjectExplorer::Internal; +using StringVariantPair = std::pair; + namespace { const char OBSOLETE_VERSION_KEY[] = "ProjectExplorer.Project.Updater.FileVersion"; @@ -331,13 +333,13 @@ UserFileAccessor::merge(const MergingSettingsAccessor::SettingsMergeData &global return std::nullopt; if (isHouseKeepingKey(key) || global.key == USER_STICKY_KEYS_KEY) - return qMakePair(key, mainValue); + return {{key, mainValue}}; if (!stickyKeys.contains(global.key) && secondaryValue != mainValue && !secondaryValue.isNull()) - return qMakePair(key, secondaryValue); + return {{key, secondaryValue}}; if (!mainValue.isNull()) - return qMakePair(key, mainValue); - return qMakePair(key, secondaryValue); + return {{key, mainValue}}; + return {{key, secondaryValue}}; } // When saving settings... @@ -360,7 +362,7 @@ SettingsMergeFunction UserFileAccessor::userStickyTrackerFunction(QStringList &s return std::nullopt; if (isHouseKeepingKey(key)) - return qMakePair(key, main); + return {{key, main}}; // Ignore house keeping keys: if (key == USER_STICKY_KEYS_KEY) @@ -369,7 +371,7 @@ SettingsMergeFunction UserFileAccessor::userStickyTrackerFunction(QStringList &s // Track keys that changed in main from the value in secondary: if (main != secondary && !secondary.isNull() && !stickyKeys.contains(global.key)) stickyKeys.append(global.key); - return qMakePair(key, main); + return {{key, main}}; }; } @@ -471,15 +473,10 @@ QVariantMap UserFileVersion14Upgrader::upgrade(const QVariantMap &map) QVariantMap UserFileVersion15Upgrader::upgrade(const QVariantMap &map) { - QList changes; - changes.append(qMakePair(QLatin1String("ProjectExplorer.Project.Updater.EnvironmentId"), - QLatin1String("EnvironmentId"))); - // This is actually handled in the SettingsAccessor itself: - // changes.append(qMakePair(QLatin1String("ProjectExplorer.Project.Updater.FileVersion"), - // QLatin1String("Version"))); - changes.append(qMakePair(QLatin1String("ProjectExplorer.Project.UserStickyKeys"), - QLatin1String("UserStickyKeys"))); - + const QList changes{{QLatin1String("ProjectExplorer.Project.Updater.EnvironmentId"), + QLatin1String("EnvironmentId")}, + {QLatin1String("ProjectExplorer.Project.UserStickyKeys"), + QLatin1String("UserStickyKeys")}}; return renameKeys(changes, QVariantMap(map)); } @@ -744,12 +741,12 @@ QVariant UserFileVersion18Upgrader::process(const QVariant &entry) return Utils::transform(entry.toList(), &UserFileVersion18Upgrader::process); case QVariant::Map: return Utils::transform>( - entry.toMap().toStdMap(), [](const std::pair &item) { + entry.toMap().toStdMap(), [](const StringVariantPair &item) -> StringVariantPair { const QString key = (item.first == "AutotoolsProjectManager.MakeStep.AdditionalArguments" ? QString("AutotoolsProjectManager.MakeStep.MakeArguments") : item.first); - return qMakePair(key, UserFileVersion18Upgrader::process(item.second)); + return {key, UserFileVersion18Upgrader::process(item.second)}; }); default: return entry; @@ -798,24 +795,24 @@ QVariant UserFileVersion19Upgrader::process(const QVariant &entry, const QString return Utils::transform(entry.toList(), std::bind(&UserFileVersion19Upgrader::process, std::placeholders::_1, path)); case QVariant::Map: - return Utils::transform( - entry.toMap().toStdMap(), [&](const std::pair &item) { - if (path.size() == 2 && path.at(1).startsWith("ProjectExplorer.Target.RunConfiguration.")) { - if (argsKeys.contains(item.first)) - return qMakePair(QString("RunConfiguration.Arguments"), item.second); - if (wdKeys.contains(item.first)) - return qMakePair(QString("RunConfiguration.WorkingDirectory"), item.second); - if (termKeys.contains(item.first)) - return qMakePair(QString("RunConfiguration.UseTerminal"), item.second); - if (libsKeys.contains(item.first)) - return qMakePair(QString("RunConfiguration.UseLibrarySearchPath"), item.second); - if (dyldKeys.contains(item.first)) - return qMakePair(QString("RunConfiguration.UseDyldImageSuffix"), item.second); - } - QStringList newPath = path; - newPath.append(item.first); - return qMakePair(item.first, UserFileVersion19Upgrader::process(item.second, newPath)); - }); + return Utils::transform(entry.toMap().toStdMap(), + [&](const StringVariantPair &item) -> StringVariantPair { + if (path.size() == 2 && path.at(1).startsWith("ProjectExplorer.Target.RunConfiguration.")) { + if (argsKeys.contains(item.first)) + return {"RunConfiguration.Arguments", item.second}; + if (wdKeys.contains(item.first)) + return {"RunConfiguration.WorkingDirectory", item.second}; + if (termKeys.contains(item.first)) + return {"RunConfiguration.UseTerminal", item.second}; + if (libsKeys.contains(item.first)) + return {"RunConfiguration.UseLibrarySearchPath", item.second}; + if (dyldKeys.contains(item.first)) + return {"RunConfiguration.UseDyldImageSuffix", item.second}; + } + QStringList newPath = path; + newPath.append(item.first); + return {item.first, UserFileVersion19Upgrader::process(item.second, newPath)}; + }); default: return entry; } @@ -833,8 +830,8 @@ QVariant UserFileVersion20Upgrader::process(const QVariant &entry) return Utils::transform(entry.toList(), &UserFileVersion20Upgrader::process); case QVariant::Map: return Utils::transform>( - entry.toMap().toStdMap(), [](const std::pair &item) { - auto res = qMakePair(item.first, item.second); + entry.toMap().toStdMap(), [](const StringVariantPair &item) { + StringVariantPair res = {item.first, item.second}; if (item.first == "ProjectExplorer.ProjectConfiguration.Id" && item.second == "Qbs.Deploy") res.second = QVariant("ProjectExplorer.DefaultDeployConfiguration"); @@ -865,8 +862,8 @@ QVariant UserFileVersion21Upgrader::process(const QVariant &entry) return entryMap; } return Utils::transform( - entryMap.toStdMap(), [](const std::pair &item) { - return qMakePair(item.first, UserFileVersion21Upgrader::process(item.second)); + entryMap.toStdMap(), [](const StringVariantPair &item) -> StringVariantPair{ + return {item.first, UserFileVersion21Upgrader::process(item.second)}; }); } default: From 78ef2e2b5268705b2b5a7d9ab8a7f6a483a0e528 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Fri, 30 Sep 2022 20:34:56 +0200 Subject: [PATCH 77/96] WebAssembly: Convert to using Tr::tr Change-Id: I7fb420363884236ebd7eeb589a29a475f8911915 Reviewed-by: hjk --- share/qtcreator/translations/qtcreator_ru.ts | 14 +----- src/plugins/webassembly/webassemblydevice.cpp | 7 +-- src/plugins/webassembly/webassemblydevice.h | 2 - .../webassembly/webassemblyoptionspage.cpp | 45 ++++++++++--------- src/plugins/webassembly/webassemblyplugin.cpp | 7 +-- .../webassembly/webassemblyqtversion.cpp | 6 +-- .../webassembly/webassemblyqtversion.h | 2 - .../webassemblyrunconfiguration.cpp | 7 +-- .../webassembly/webassemblyrunconfiguration.h | 2 - .../webassemblyrunconfigurationaspects.cpp | 8 ++-- .../webassembly/webassemblytoolchain.cpp | 9 ++-- .../webassembly/webassemblytoolchain.h | 2 - 12 files changed, 49 insertions(+), 62 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index f98f65589d6..0e7fd60b4f9 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -52186,7 +52186,7 @@ What do you want to do? - WebAssembly::Internal::EmrunRunConfigurationFactory + WebAssembly Effective emrun call: Команда запуска emrun: @@ -52195,9 +52195,6 @@ What do you want to do? Launch with emrun Запустить через emrun - - - WebAssembly::Internal::WebAssemblyDevice Web Browser Браузер @@ -52206,9 +52203,6 @@ What do you want to do? WebAssembly Runtime Среда WebAssembly - - - WebAssembly::Internal::WebAssemblyToolChain Emscripten Compiler Компилятор Emscripten @@ -52217,9 +52211,6 @@ What do you want to do? WebAssembly WebAssembly - - - WebAssembly::Internal::WebBrowserSelectionAspect Web browser Браузер @@ -52228,9 +52219,6 @@ What do you want to do? Web browser: Браузер: - - - WebAssemblyPlugin WebAssembly Qt Version is meant for WebAssembly diff --git a/src/plugins/webassembly/webassemblydevice.cpp b/src/plugins/webassembly/webassemblydevice.cpp index ca5e0f2a1ce..86611d6f91e 100644 --- a/src/plugins/webassembly/webassemblydevice.cpp +++ b/src/plugins/webassembly/webassemblydevice.cpp @@ -3,6 +3,7 @@ #include "webassemblyconstants.h" #include "webassemblydevice.h" +#include "webassemblytr.h" #include @@ -16,7 +17,7 @@ WebAssemblyDevice::WebAssemblyDevice() { setupId(IDevice::AutoDetected, Constants::WEBASSEMBLY_DEVICE_DEVICE_ID); setType(Constants::WEBASSEMBLY_DEVICE_TYPE); - const QString displayNameAndType = tr("Web Browser"); + const QString displayNameAndType = Tr::tr("Web Browser"); setDefaultDisplayName(displayNameAndType); setDisplayType(displayNameAndType); setDeviceState(IDevice::DeviceStateUnknown); @@ -26,13 +27,13 @@ WebAssemblyDevice::WebAssemblyDevice() IDevice::Ptr WebAssemblyDevice::create() { - return IDevice::Ptr(new WebAssemblyDevice); + return IDevicePtr(new WebAssemblyDevice); } WebAssemblyDeviceFactory::WebAssemblyDeviceFactory() : ProjectExplorer::IDeviceFactory(Constants::WEBASSEMBLY_DEVICE_TYPE) { - setDisplayName(WebAssemblyDevice::tr("WebAssembly Runtime")); + setDisplayName(Tr::tr("WebAssembly Runtime")); setCombinedIcon(":/webassembly/images/webassemblydevicesmall.png", ":/webassembly/images/webassemblydevice.png"); setConstructionFunction(&WebAssemblyDevice::create); diff --git a/src/plugins/webassembly/webassemblydevice.h b/src/plugins/webassembly/webassemblydevice.h index 5f66ed830e0..962c348e310 100644 --- a/src/plugins/webassembly/webassemblydevice.h +++ b/src/plugins/webassembly/webassemblydevice.h @@ -10,8 +10,6 @@ namespace Internal { class WebAssemblyDevice final : public ProjectExplorer::DesktopDevice { - Q_DECLARE_TR_FUNCTIONS(WebAssembly::Internal::WebAssemblyDevice) - public: static ProjectExplorer::IDevice::Ptr create(); diff --git a/src/plugins/webassembly/webassemblyoptionspage.cpp b/src/plugins/webassembly/webassemblyoptionspage.cpp index 85bcdf533e2..038d93ed110 100644 --- a/src/plugins/webassembly/webassemblyoptionspage.cpp +++ b/src/plugins/webassembly/webassemblyoptionspage.cpp @@ -6,6 +6,7 @@ #include "webassemblyoptionspage.h" #include "webassemblyqtversion.h" #include "webassemblytoolchain.h" +#include "webassemblytr.h" #include #include @@ -24,8 +25,6 @@ namespace Internal { class WebAssemblyOptionsWidget : public Core::IOptionsPageWidget { - Q_DECLARE_TR_FUNCTIONS(WebAssembly::Internal::WebAssemblyOptionsWidget) - public: WebAssemblyOptionsWidget(); @@ -47,18 +46,16 @@ WebAssemblyOptionsWidget::WebAssemblyOptionsWidget() auto mainLayout = new QVBoxLayout(this); { - auto pathChooserBox = new QGroupBox(tr("Emscripten SDK path:")); + auto pathChooserBox = new QGroupBox(Tr::tr("Emscripten SDK path:")); pathChooserBox->setFlat(true); auto layout = new QVBoxLayout(pathChooserBox); auto instruction = new QLabel( - tr("Select the root directory of an " - "" - "installed Emscripten SDK. Ensure that the activated SDK version is " - "compatible with the " - "Qt 5 " - "or " - "Qt 6 " - "version that you plan to develop against.")); + Tr::tr("Select the root directory of an installed %1. " + "Ensure that the activated SDK version is compatible with the %2 " + "or %3 version that you plan to develop against.") + .arg(R"(Emscripten SDK)") + .arg(R"(Qt 5)") + .arg(R"(Qt 6)")); instruction->setOpenExternalLinks(true); instruction->setWordWrap(true); @@ -78,7 +75,7 @@ WebAssemblyOptionsWidget::WebAssemblyOptionsWidget() } { - m_emSdkEnvGroupBox = new QGroupBox(tr("Emscripten SDK environment:")); + m_emSdkEnvGroupBox = new QGroupBox(Tr::tr("Emscripten SDK environment:")); m_emSdkEnvGroupBox->setFlat(true); m_emSdkEnvGroupBox->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::MinimumExpanding); auto layout = new QVBoxLayout(m_emSdkEnvGroupBox); @@ -95,8 +92,8 @@ WebAssemblyOptionsWidget::WebAssemblyOptionsWidget() const QString minimumSupportedQtVersion = WebAssemblyQtVersion::minimumSupportedQtVersion().toString(); m_qtVersionDisplay = new InfoLabel( - tr("Note: %1 supports Qt %2 for WebAssembly and higher. " - "Your installed lower version(s) are not supported.") + Tr::tr("Note: %1 supports Qt %2 for WebAssembly and higher. " + "Your installed lower Qt version(s) are not supported.") .arg(Core::ICore::versionString(), minimumSupportedQtVersion), InfoLabel::Warning); m_qtVersionDisplay->setElideMode(Qt::ElideNone); @@ -110,9 +107,10 @@ static QString environmentDisplay(const FilePath &sdkRoot) Environment env; WebAssemblyEmSdk::addToEnvironment(sdkRoot, env); QString result; - result.append(WebAssemblyOptionsWidget::tr("

    Adding directories to PATH:

    ")); + auto h4 = [](const QString &text) { return QString("

    " + text + "

    "); }; + result.append(h4(Tr::tr("Adding directories to PATH:"))); result.append(env.value("PATH").replace(OsSpecificAspects::pathListSeparator(sdkRoot.osType()), "
    ")); - result.append(WebAssemblyOptionsWidget::tr("

    Setting environment variables:

    ")); + result.append(h4(Tr::tr("Setting environment variables:"))); for (const QString &envVar : env.toStringList()) { if (!envVar.startsWith("PATH")) // Path was already printed out above result.append(envVar + "
    "); @@ -135,12 +133,15 @@ void WebAssemblyOptionsWidget::updateStatus() const QVersionNumber minVersion = WebAssemblyToolChain::minimumSupportedEmSdkVersion(); const bool versionTooLow = sdkVersion < minVersion; m_emSdkVersionDisplay->setType(versionTooLow ? InfoLabel::NotOk : InfoLabel::Ok); + auto bold = [](const QString &text) { return QString("" + text + ""); }; m_emSdkVersionDisplay->setText( - versionTooLow ? tr("The activated version %1 is not supported by %2." - "
    Activate version %3 or higher.") - .arg(sdkVersion.toString(), Core::ICore::versionString(), - minVersion.toString()) - : tr("Activated version: %1").arg(sdkVersion.toString())); + versionTooLow ? Tr::tr("The activated version %1 is not supported by %2. " + "Activate version %3 or higher.") + .arg(bold(sdkVersion.toString())) + .arg(bold(Core::ICore::versionString())) + .arg(bold(minVersion.toString())) + : Tr::tr("Activated version: %1") + .arg(bold(sdkVersion.toString()))); m_emSdkEnvDisplay->setText(environmentDisplay(sdkPath)); } @@ -165,7 +166,7 @@ void WebAssemblyOptionsWidget::apply() WebAssemblyOptionsPage::WebAssemblyOptionsPage() { setId(Id(Constants::SETTINGS_ID)); - setDisplayName(WebAssemblyOptionsWidget::tr("WebAssembly")); + setDisplayName(Tr::tr("WebAssembly")); setCategory(ProjectExplorer::Constants::DEVICE_SETTINGS_CATEGORY); setWidgetCreator([] { return new WebAssemblyOptionsWidget; }); } diff --git a/src/plugins/webassembly/webassemblyplugin.cpp b/src/plugins/webassembly/webassemblyplugin.cpp index b59adcec7a4..7466208cbbd 100644 --- a/src/plugins/webassembly/webassemblyplugin.cpp +++ b/src/plugins/webassembly/webassemblyplugin.cpp @@ -1,13 +1,14 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 -#include "webassemblyplugin.h" #include "webassemblyconstants.h" #include "webassemblydevice.h" #include "webassemblyoptionspage.h" +#include "webassemblyplugin.h" #include "webassemblyqtversion.h" #include "webassemblyrunconfiguration.h" #include "webassemblytoolchain.h" +#include "webassemblytr.h" #include #include @@ -83,10 +84,10 @@ void WebAssemblyPlugin::askUserAboutEmSdkSetup() return; InfoBarEntry info(setupWebAssemblyEmSdk, - tr("Setup Emscripten SDK for WebAssembly? " + Tr::tr("Setup Emscripten SDK for WebAssembly? " "To do it later, select Edit > Preferences > Devices > WebAssembly."), InfoBarEntry::GlobalSuppression::Enabled); - info.addCustomButton(tr("Setup Emscripten SDK"), [setupWebAssemblyEmSdk] { + info.addCustomButton(Tr::tr("Setup Emscripten SDK"), [setupWebAssemblyEmSdk] { ICore::infoBar()->removeInfo(setupWebAssemblyEmSdk); QTimer::singleShot(0, []() { ICore::showOptionsDialog(Constants::SETTINGS_ID); }); }); diff --git a/src/plugins/webassembly/webassemblyqtversion.cpp b/src/plugins/webassembly/webassemblyqtversion.cpp index bb76a4a7fdd..28f155dd525 100644 --- a/src/plugins/webassembly/webassemblyqtversion.cpp +++ b/src/plugins/webassembly/webassemblyqtversion.cpp @@ -3,6 +3,7 @@ #include "webassemblyconstants.h" #include "webassemblyqtversion.h" +#include "webassemblytr.h" #include #include @@ -29,8 +30,7 @@ WebAssemblyQtVersion::WebAssemblyQtVersion() = default; QString WebAssemblyQtVersion::description() const { - return QCoreApplication::translate("WebAssemblyPlugin", "WebAssembly", - "Qt Version is meant for WebAssembly"); + return Tr::tr("WebAssembly", "Qt Version is meant for WebAssembly"); } QSet WebAssemblyQtVersion::targetDeviceTypes() const @@ -59,7 +59,7 @@ QString WebAssemblyQtVersion::invalidReason() const if (!baseReason.isEmpty()) return baseReason; - return tr("%1 does not support Qt for WebAssembly below version %2.") + return Tr::tr("%1 does not support Qt for WebAssembly below version %2.") .arg(Core::ICore::versionString()) .arg(minimumSupportedQtVersion().toString()); } diff --git a/src/plugins/webassembly/webassemblyqtversion.h b/src/plugins/webassembly/webassemblyqtversion.h index d7541154cd1..b7fee8a4536 100644 --- a/src/plugins/webassembly/webassemblyqtversion.h +++ b/src/plugins/webassembly/webassemblyqtversion.h @@ -11,8 +11,6 @@ namespace Internal { class WebAssemblyQtVersion : public QtSupport::QtVersion { - Q_DECLARE_TR_FUNCTIONS(WebAssembly::Internal::WebAssemblyQtVersion) - public: WebAssemblyQtVersion(); diff --git a/src/plugins/webassembly/webassemblyrunconfiguration.cpp b/src/plugins/webassembly/webassemblyrunconfiguration.cpp index 1b76826671c..bdbc58e7ed3 100644 --- a/src/plugins/webassembly/webassemblyrunconfiguration.cpp +++ b/src/plugins/webassembly/webassemblyrunconfiguration.cpp @@ -1,9 +1,10 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 -#include "webassemblyrunconfigurationaspects.h" -#include "webassemblyrunconfiguration.h" #include "webassemblyconstants.h" +#include "webassemblyrunconfiguration.h" +#include "webassemblyrunconfigurationaspects.h" +#include "webassemblytr.h" #include #include @@ -73,7 +74,7 @@ public: auto webBrowserAspect = addAspect(target); auto effectiveEmrunCall = addAspect(); - effectiveEmrunCall->setLabelText(EmrunRunConfigurationFactory::tr("Effective emrun call:")); + effectiveEmrunCall->setLabelText(Tr::tr("Effective emrun call:")); effectiveEmrunCall->setDisplayStyle(StringAspect::TextEditDisplay); effectiveEmrunCall->setReadOnly(true); diff --git a/src/plugins/webassembly/webassemblyrunconfiguration.h b/src/plugins/webassembly/webassemblyrunconfiguration.h index 8019880c73d..d613cffe9fa 100644 --- a/src/plugins/webassembly/webassemblyrunconfiguration.h +++ b/src/plugins/webassembly/webassemblyrunconfiguration.h @@ -11,8 +11,6 @@ namespace Internal { class EmrunRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory { - Q_DECLARE_TR_FUNCTIONS(WebAssembly::Internal::EmrunRunConfigurationFactory) - public: EmrunRunConfigurationFactory(); }; diff --git a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp index ab5e644b27c..8dbe9b3c183 100644 --- a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp +++ b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "webassemblyrunconfigurationaspects.h" +#include "webassemblytr.h" #include #include @@ -41,7 +42,8 @@ static WebBrowserEntries parseEmrunOutput(const QByteArray &output) static WebBrowserEntries emrunBrowsers(ProjectExplorer::Target *target) { - WebBrowserEntries result{{{}, WebBrowserSelectionAspect::tr("Default Browser")}}; + WebBrowserEntries result; + result.append(qMakePair(QString(), Tr::tr("Default Browser"))); if (auto bc = target->activeBuildConfiguration()) { const Utils::Environment environment = bc->environment(); const Utils::FilePath emrunPath = environment.searchInPath("emrun"); @@ -64,7 +66,7 @@ WebBrowserSelectionAspect::WebBrowserSelectionAspect(ProjectExplorer::Target *ta const int defaultIndex = qBound(0, m_availableBrowsers.count() - 1, 1); m_currentBrowser = m_availableBrowsers.at(defaultIndex).first; } - setDisplayName(tr("Web Browser")); + setDisplayName(Tr::tr("Web Browser")); setId("WebBrowserAspect"); setSettingsKey("RunConfiguration.WebBrowser"); @@ -82,7 +84,7 @@ void WebBrowserSelectionAspect::addToLayout(LayoutBuilder &builder) m_currentBrowser = m_webBrowserComboBox->currentData().toString(); emit changed(); }); - builder.addItems({tr("Web browser:"), m_webBrowserComboBox}); + builder.addItems({Tr::tr("Web browser:"), m_webBrowserComboBox}); } void WebBrowserSelectionAspect::fromMap(const QVariantMap &map) diff --git a/src/plugins/webassembly/webassemblytoolchain.cpp b/src/plugins/webassembly/webassemblytoolchain.cpp index 2e224049504..bbed53e96df 100644 --- a/src/plugins/webassembly/webassemblytoolchain.cpp +++ b/src/plugins/webassembly/webassemblytoolchain.cpp @@ -1,9 +1,10 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 -#include "webassemblytoolchain.h" #include "webassemblyconstants.h" #include "webassemblyemsdk.h" +#include "webassemblytoolchain.h" +#include "webassemblytr.h" #include #include @@ -58,7 +59,7 @@ WebAssemblyToolChain::WebAssemblyToolChain() : { setSupportedAbis({toolChainAbi()}); setTargetAbi(toolChainAbi()); - setTypeDisplayName(tr("Emscripten Compiler")); + setTypeDisplayName(Tr::tr("Emscripten Compiler")); } FilePath WebAssemblyToolChain::makeCommand(const Environment &environment) const @@ -117,7 +118,7 @@ static Toolchains doAutoDetect(const ToolchainDetector &detector) const FilePath scriptFile = sdk.withNewPath(script).searchInDirectories(env.path()); toolChain->setCompilerCommand(scriptFile); - const QString displayName = WebAssemblyToolChain::tr("Emscripten Compiler %1 for %2") + const QString displayName = Tr::tr("Emscripten Compiler %1 for %2") .arg(toolChain->version(), QLatin1String(cLanguage ? "C" : "C++")); toolChain->setDisplayName(displayName); result.append(toolChain); @@ -159,7 +160,7 @@ bool WebAssemblyToolChain::areToolChainsRegistered() WebAssemblyToolChainFactory::WebAssemblyToolChainFactory() { - setDisplayName(WebAssemblyToolChain::tr("Emscripten")); + setDisplayName(Tr::tr("Emscripten")); setSupportedToolChainType(Constants::WEBASSEMBLY_TOOLCHAIN_TYPEID); setSupportedLanguages({ProjectExplorer::Constants::C_LANGUAGE_ID, ProjectExplorer::Constants::CXX_LANGUAGE_ID}); diff --git a/src/plugins/webassembly/webassemblytoolchain.h b/src/plugins/webassembly/webassemblytoolchain.h index 13d4d11009d..cc97573d93e 100644 --- a/src/plugins/webassembly/webassemblytoolchain.h +++ b/src/plugins/webassembly/webassemblytoolchain.h @@ -12,8 +12,6 @@ namespace Internal { class WebAssemblyToolChain final : public ProjectExplorer::GccToolChain { - Q_DECLARE_TR_FUNCTIONS(WebAssembly::Internal::WebAssemblyToolChain) - public: WebAssemblyToolChain(); From 33177686fdba19622becf3f1cd8f13693c93911b Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 30 Sep 2022 11:37:50 +0200 Subject: [PATCH 78/96] TextEditor: do not replace nbsp with normal spaces This fixes saving documents and copy texts that contain non breaking spaces. Task-number: QTCREATORBUG-17875 Change-Id: Ie0b0e68cf7d67e768ff99c9acae1937aafc78ce7 Reviewed-by: Eike Ziller --- .../diffeditor/sidebysidediffeditorwidget.cpp | 2 +- src/plugins/texteditor/textdocument.cpp | 29 +++++++++++++++++-- src/plugins/texteditor/textdocument.h | 1 + src/plugins/texteditor/texteditor.cpp | 28 ++---------------- src/plugins/texteditor/texteditor.h | 1 - 5 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp index 4403f2285c3..952eea642f9 100644 --- a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp +++ b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp @@ -259,7 +259,7 @@ QString SideDiffEditorWidget::plainTextFromSelection(const QTextCursor &cursor) block = block.next(); } - return convertToPlainText(text); + return TextDocument::convertToPlainText(text); } SideBySideDiffOutput SideDiffData::diffOutput(QFutureInterface &fi, int progressMin, diff --git a/src/plugins/texteditor/textdocument.cpp b/src/plugins/texteditor/textdocument.cpp index 71da641ecef..6b221c310fa 100644 --- a/src/plugins/texteditor/textdocument.cpp +++ b/src/plugins/texteditor/textdocument.cpp @@ -274,9 +274,34 @@ TextDocument *TextDocument::textDocumentForFilePath(const Utils::FilePath &fileP return qobject_cast(DocumentModel::documentForFilePath(filePath)); } +QString TextDocument::convertToPlainText(const QString &rawText) +{ + // This is basically a copy of QTextDocument::toPlainText but since toRawText returns a + // text containing formating characters and toPlainText replaces non breaking spaces, we + // provide our own plain text conversion to be able to save and copy document content + // containing non breaking spaces. + + QString txt = rawText; + QChar *uc = txt.data(); + QChar *e = uc + txt.size(); + + for (; uc != e; ++uc) { + switch (uc->unicode()) { + case 0xfdd0: // QTextBeginningOfFrame + case 0xfdd1: // QTextEndOfFrame + case QChar::ParagraphSeparator: + case QChar::LineSeparator: + *uc = QLatin1Char('\n'); + break; + default:; + } + } + return txt; +} + QString TextDocument::plainText() const { - return document()->toPlainText(); + return convertToPlainText(d->m_document.toRawText()); } QString TextDocument::textAt(int pos, int length) const @@ -638,7 +663,7 @@ bool TextDocument::save(QString *errorString, const FilePath &filePath, bool aut } } - const bool ok = write(savePath, saveFormat, d->m_document.toPlainText(), errorString); + const bool ok = write(savePath, saveFormat, plainText(), errorString); // restore text cursor and scroll bar positions if (autoSave && undos < d->m_document.availableUndoSteps()) { diff --git a/src/plugins/texteditor/textdocument.h b/src/plugins/texteditor/textdocument.h index fbddd843848..4a73cc124a5 100644 --- a/src/plugins/texteditor/textdocument.h +++ b/src/plugins/texteditor/textdocument.h @@ -53,6 +53,7 @@ public: static QMap openedTextDocumentEncodings(); static TextDocument *currentTextDocument(); static TextDocument *textDocumentForFilePath(const Utils::FilePath &filePath); + static QString convertToPlainText(const QString &rawText); virtual QString plainText() const; virtual QString textAt(int pos, int length) const; diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index c75eb28bb41..1b4c0be2b34 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -1097,36 +1097,12 @@ QString TextEditorWidget::plainTextFromSelection(const QTextCursor &cursor) cons { // Copy the selected text as plain text QString text = cursor.selectedText(); - return convertToPlainText(text); + return TextDocument::convertToPlainText(text); } QString TextEditorWidget::plainTextFromSelection(const Utils::MultiTextCursor &cursor) const { - return convertToPlainText(cursor.selectedText()); -} - -QString TextEditorWidget::convertToPlainText(const QString &txt) -{ - QString ret = txt; - QChar *uc = ret.data(); - QChar *e = uc + ret.size(); - - for (; uc != e; ++uc) { - switch (uc->unicode()) { - case 0xfdd0: // QTextBeginningOfFrame - case 0xfdd1: // QTextEndOfFrame - case QChar::ParagraphSeparator: - case QChar::LineSeparator: - *uc = QLatin1Char('\n'); - break; - case QChar::Nbsp: - *uc = QLatin1Char(' '); - break; - default: - ; - } - } - return ret; + return TextDocument::convertToPlainText(cursor.selectedText()); } static const char kTextBlockMimeType[] = "application/vnd.qtcreator.blocktext"; diff --git a/src/plugins/texteditor/texteditor.h b/src/plugins/texteditor/texteditor.h index ae7f2f82cce..75ccb493578 100644 --- a/src/plugins/texteditor/texteditor.h +++ b/src/plugins/texteditor/texteditor.h @@ -522,7 +522,6 @@ protected: virtual QString plainTextFromSelection(const QTextCursor &cursor) const; virtual QString plainTextFromSelection(const Utils::MultiTextCursor &cursor) const; - static QString convertToPlainText(const QString &txt); virtual QString lineNumber(int blockNumber) const; virtual int lineNumberDigits() const; From 7020efffbb931624fe3a39e71ef1d1042c154b1d Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 4 Oct 2022 09:58:24 +0200 Subject: [PATCH 79/96] Squish: Request application settings if necessary When recording a test case and the suite.conf does not specify the AUT to be used ask the user to specify the application and its arguments. Change-Id: I01aa96e16d4abc763aa4be7ddb285601e81f7a01 Reviewed-by: David Schulz --- src/plugins/squish/squishfilehandler.cpp | 73 +++++++++++++++++++++++- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/src/plugins/squish/squishfilehandler.cpp b/src/plugins/squish/squishfilehandler.cpp index 435d3d70644..85fdb85c596 100644 --- a/src/plugins/squish/squishfilehandler.cpp +++ b/src/plugins/squish/squishfilehandler.cpp @@ -5,6 +5,7 @@ #include "opensquishsuitesdialog.h" #include "squishconstants.h" +#include "squishsettings.h" #include "squishtesttreemodel.h" #include "squishtools.h" #include "suiteconf.h" @@ -14,12 +15,19 @@ #include #include #include +#include +#include #include +#include +#include +#include #include #include #include #include +#include +#include namespace Squish { namespace Internal { @@ -28,6 +36,62 @@ static const char SK_OpenSuites[] = "SquishOpenSuites"; static SquishFileHandler *m_instance = nullptr; +class MappedAutDialog : public QDialog +{ +public: + MappedAutDialog() + { + auto label = new QLabel(Tr::tr("Application:"), this); + aut.addItem(Tr::tr("")); + arguments.setLabelText(Tr::tr("Arguments:")); + arguments.setDisplayStyle(Utils::StringAspect::LineEditDisplay); + + QWidget *widget = new QWidget(this); + auto buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); + + using namespace Utils::Layouting; + Form { + label, &aut, br, + arguments, + st + }.attachTo(widget); + + QVBoxLayout *layout = new QVBoxLayout(this); + layout->addWidget(widget); + layout->addWidget(buttons); + setLayout(layout); + + QPushButton *okButton = buttons->button(QDialogButtonBox::Ok); + okButton->setEnabled(false); + connect(okButton, &QPushButton::clicked, + this, &QDialog::accept); + connect(buttons->button(QDialogButtonBox::Cancel), &QPushButton::clicked, + this, &QDialog::reject); + connect(&aut, &QComboBox::currentIndexChanged, + this, [this, okButton] (int index) { + okButton->setEnabled(index > 0); + }); + setWindowTitle(Tr::tr("Recording Settings")); + + auto squishTools = SquishTools::instance(); + connect(squishTools, &SquishTools::queryFinished, this, + [this] (const QString &out) { + SquishServerSettings s; + s.setFromXmlOutput(out); + QApplication::restoreOverrideCursor(); + for (const QString &app : s.mappedAuts.keys()) + aut.addItem(app); + }); + + QApplication::setOverrideCursor(Qt::WaitCursor); + squishTools->queryServerSettings(); + } + + + QComboBox aut; + Utils::StringAspect arguments; +}; + SquishFileHandler::SquishFileHandler(QObject *parent) : QObject(parent) { @@ -331,8 +395,13 @@ void SquishFileHandler::recordTestCase(const QString &suiteName, const QString & SuiteConf conf = SuiteConf::readSuiteConf( Utils::FilePath::fromString(m_suites.value(suiteName))); if (conf.aut().isEmpty()) { - // provide a choice of apps & args, set aut & args for conf - return; + MappedAutDialog dialog; + + if (dialog.exec() != QDialog::Accepted) + return; + + conf.setAut(dialog.aut.currentText()); + conf.setArguments(dialog.arguments.value()); } SquishTools::instance()->recordTestCase(suitePath.absolutePath(), testCaseName, conf); From 9dda372b7a1fc09aaad609db979cb7d966b61465 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Mon, 3 Oct 2022 12:34:38 +0300 Subject: [PATCH 80/96] QmlDesigner: Fix material browser context menu open issue Allow opening material browser context menu when search is empty. Fixes: QDS-7837 Change-Id: I473b62d1f1b94a42d5c60f0e06a6d2b76b74ca6d Reviewed-by: Reviewed-by: Samuel Ghinet Reviewed-by: Mahmoud Badri --- .../materialBrowserQmlSource/MaterialBrowser.qml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml index d783a9bb056..b8712a9e657 100644 --- a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml +++ b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml @@ -310,10 +310,8 @@ Item { height: root.cellHeight onShowContextMenu: { - if (searchBox.isEmpty()) { - root.currentMaterial = model - cxtMenu.popup() - } + root.currentMaterial = model + cxtMenu.popup() } } } @@ -371,10 +369,8 @@ Item { height: root.cellHeight onShowContextMenu: { - if (searchBox.isEmpty()) { - root.currentBundleMaterial = modelData - cxtMenuBundle.popup() - } + root.currentBundleMaterial = modelData + cxtMenuBundle.popup() } } } From 3b84a408dfa3610ad3a881557d0f49e29ec10b80 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 17:21:09 +0200 Subject: [PATCH 81/96] CMake: Allow parser to run remotely Change-Id: I3953d459177790fd652ab69c083b0dd0f1d29031 Reviewed-by: Cristian Adam Reviewed-by: --- .../cmakeprojectmanager/cmakebuildstep.cpp | 2 +- .../cmakeprojectmanager/cmakeparser.cpp | 28 +++++++++++-------- src/plugins/cmakeprojectmanager/cmakeparser.h | 10 ++++--- .../cmakeprojectmanager/cmakeprocess.cpp | 2 +- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp index 1608a454d60..875971a1cfa 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp @@ -300,7 +300,7 @@ void CMakeBuildStep::setupOutputFormatter(Utils::OutputFormatter *formatter) emit progress(percent, {}); }); formatter->addLineParser(progressParser); - cmakeParser->setSourceDirectory(project()->projectDirectory().toString()); + cmakeParser->setSourceDirectory(project()->projectDirectory()); formatter->addLineParsers({cmakeParser, new GnuMakeParser}); ToolChain *tc = ToolChainKitAspect::cxxToolChain(kit()); OutputTaskParser *xcodeBuildParser = nullptr; diff --git a/src/plugins/cmakeprojectmanager/cmakeparser.cpp b/src/plugins/cmakeprojectmanager/cmakeparser.cpp index e4a1c7b093e..1b6573869dc 100644 --- a/src/plugins/cmakeprojectmanager/cmakeparser.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeparser.cpp @@ -32,12 +32,19 @@ CMakeParser::CMakeParser() QTC_CHECK(m_locationLine.isValid()); } -void CMakeParser::setSourceDirectory(const QString &sourceDir) +void CMakeParser::setSourceDirectory(const FilePath &sourceDir) { if (m_sourceDirectory) - emit searchDirExpired(FilePath::fromString(m_sourceDirectory.value().path())); - m_sourceDirectory = QDir(sourceDir); - emit newSearchDirFound(FilePath::fromString(sourceDir)); + emit searchDirExpired(m_sourceDirectory.value()); + m_sourceDirectory = sourceDir; + emit newSearchDirFound(sourceDir); +} + +FilePath CMakeParser::resolvePath(const QString &path) const +{ + if (m_sourceDirectory) + return m_sourceDirectory->resolvePath(path); + return FilePath::fromUserInput(path); } OutputLineParser::Result CMakeParser::handleLine(const QString &line, OutputFormat type) @@ -69,12 +76,11 @@ OutputLineParser::Result CMakeParser::handleLine(const QString &line, OutputForm match = m_commonError.match(trimmedLine); if (match.hasMatch()) { - QString path = m_sourceDirectory ? m_sourceDirectory->absoluteFilePath( - QDir::fromNativeSeparators(match.captured(1))) - : QDir::fromNativeSeparators(match.captured(1)); + const FilePath path = resolvePath(match.captured(1)); + m_lastTask = BuildSystemTask(Task::Error, QString(), - absoluteFilePath(FilePath::fromUserInput(path)), + absoluteFilePath(path), match.captured(2).toInt()); m_lines = 1; LinkSpecs linkSpecs; @@ -94,12 +100,10 @@ OutputLineParser::Result CMakeParser::handleLine(const QString &line, OutputForm } match = m_commonWarning.match(trimmedLine); if (match.hasMatch()) { - QString path = m_sourceDirectory ? m_sourceDirectory->absoluteFilePath( - QDir::fromNativeSeparators(match.captured(2))) - : QDir::fromNativeSeparators(match.captured(2)); + const FilePath path = resolvePath(match.captured(2)); m_lastTask = BuildSystemTask(Task::Warning, QString(), - absoluteFilePath(FilePath::fromUserInput(path)), + absoluteFilePath(path), match.captured(3).toInt()); m_lines = 1; LinkSpecs linkSpecs; diff --git a/src/plugins/cmakeprojectmanager/cmakeparser.h b/src/plugins/cmakeprojectmanager/cmakeparser.h index 686840575ee..e9d28b78e75 100644 --- a/src/plugins/cmakeprojectmanager/cmakeparser.h +++ b/src/plugins/cmakeprojectmanager/cmakeparser.h @@ -8,7 +8,8 @@ #include #include -#include +#include + #include #include @@ -21,17 +22,18 @@ class CMAKE_EXPORT CMakeParser : public ProjectExplorer::OutputTaskParser public: explicit CMakeParser(); - void setSourceDirectory(const QString &sourceDir); + void setSourceDirectory(const Utils::FilePath &sourceDir); private: Result handleLine(const QString &line, Utils::OutputFormat type) override; void flush() override; + Utils::FilePath resolvePath(const QString &path) const; enum TripleLineError { NONE, LINE_LOCATION, LINE_DESCRIPTION, LINE_DESCRIPTION2 }; TripleLineError m_expectTripleLineErrorData = NONE; - std::optional m_sourceDirectory; + std::optional m_sourceDirectory; ProjectExplorer::Task m_lastTask; QRegularExpression m_commonError; QRegularExpression m_nextSubError; @@ -41,4 +43,4 @@ private: int m_lines = 0; }; -} // namespace CMakeProjectManager +} // CMakeProjectManager diff --git a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp index ce089733632..4960b2e5c09 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp @@ -97,7 +97,7 @@ void CMakeProcess::run(const BuildDirParameters ¶meters, const QStringList & } const auto parser = new CMakeParser; - parser->setSourceDirectory(parameters.sourceDirectory.path()); + parser->setSourceDirectory(parameters.sourceDirectory); m_parser.addLineParser(parser); // Always use the sourceDir: If we are triggered because the build directory is getting deleted From 09fb8d403b289134d686d096892111322391c010 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Sep 2022 18:13:32 +0200 Subject: [PATCH 82/96] CMake: Use correct device environment for remote cmake binaries Change-Id: Id2fccab7f2d051406b0f2b0bbf3c118198f6ed32 Reviewed-by: Cristian Adam Reviewed-by: --- src/plugins/cmakeprojectmanager/cmaketool.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmaketool.cpp b/src/plugins/cmakeprojectmanager/cmaketool.cpp index 84908df7d05..4cef534ff1d 100644 --- a/src/plugins/cmakeprojectmanager/cmaketool.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketool.cpp @@ -173,13 +173,14 @@ bool CMakeTool::isValid() const void CMakeTool::runCMake(QtcProcess &cmake, const QStringList &args, int timeoutS) const { + const FilePath executable = cmakeExecutable(); cmake.setTimeoutS(timeoutS); cmake.setDisableUnixTerminal(); - Environment env = Environment::systemEnvironment(); + Environment env = executable.deviceEnvironment(); env.setupEnglishOutput(); cmake.setEnvironment(env); cmake.setTimeOutMessageBoxEnabled(false); - cmake.setCommand({cmakeExecutable(), args}); + cmake.setCommand({executable, args}); cmake.runBlocking(); } From 0d079bcf02d59d0f8f75979d866fea5ae0a36de9 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 27 Sep 2022 10:52:57 +0200 Subject: [PATCH 83/96] Utils: Remove unused #includes in theme.cpp Change-Id: If9f032414d1b16c15482fc0eb7f804021e561a17 Reviewed-by: Qt CI Bot Reviewed-by: Alessandro Portale --- src/libs/utils/theme/theme.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libs/utils/theme/theme.cpp b/src/libs/utils/theme/theme.cpp index b1ff5a438b5..0d0908c539a 100644 --- a/src/libs/utils/theme/theme.cpp +++ b/src/libs/utils/theme/theme.cpp @@ -3,7 +3,6 @@ #include "theme.h" #include "theme_p.h" -#include "../algorithm.h" #include "../hostosinfo.h" #include "../qtcassert.h" #ifdef Q_OS_MACOS @@ -11,7 +10,6 @@ #endif #include -#include #include #include #include @@ -223,11 +221,13 @@ bool Theme::systemUsesDarkMode() constexpr char regkey[] = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; bool ok; - const auto setting = QSettings(regkey, QSettings::NativeFormat).value("AppsUseLightTheme").toInt(&ok); + const int setting = QSettings(regkey, QSettings::NativeFormat).value("AppsUseLightTheme").toInt(&ok); return ok && setting == 0; - } else if (HostOsInfo::isMacHost()) { - return macOSSystemIsDark(); } + + if (HostOsInfo::isMacHost()) + return macOSSystemIsDark(); + return false; } From 18fd37e331cebed85fcb12d0a81b131e0a7529f6 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Mon, 3 Oct 2022 15:07:43 +0300 Subject: [PATCH 84/96] QmlDesigner: Expand material browser sections when searching Make sure material browser sections that have matches are expanded while searching. Fixes: QDS-7836 Change-Id: Ie30c5425e8efee65cc4bdfa473b269841e73a9d3 Reviewed-by: Samuel Ghinet Reviewed-by: Mahmoud Badri --- .../MaterialBrowser.qml | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml index b8712a9e657..1e50f3f99b2 100644 --- a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml +++ b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml @@ -241,7 +241,22 @@ Item { width: root.width - addMaterialButton.width - onSearchChanged: (searchText) => rootView.handleSearchFilterChanged(searchText) + onSearchChanged: (searchText) => { + rootView.handleSearchFilterChanged(searchText) + + // make sure searched categories that have matches are expanded + if (!materialBrowserModel.isEmpty && !userMaterialsSection.expanded) + userMaterialsSection.expanded = true + + if (!materialBrowserBundleModel.isEmpty && !bundleMaterialsSection.expanded) + bundleMaterialsSection.expanded = true + + for (let i = 0; i < bundleMaterialsSectionRepeater.count; ++i) { + let sec = bundleMaterialsSectionRepeater.itemAt(i) + if (sec.visible && !sec.expanded) + sec.expanded = true + } + } } IconButton { @@ -338,6 +353,8 @@ Item { } Section { + id: bundleMaterialsSection + width: root.width caption: qsTr("Material Library") addTopPadding: noMatchText.visible @@ -345,6 +362,8 @@ Item { Column { Repeater { + id: bundleMaterialsSectionRepeater + model: materialBrowserBundleModel delegate: Section { From dbbed3dc681ada183d72b9a130873a629321de18 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Tue, 4 Oct 2022 11:24:05 +0300 Subject: [PATCH 85/96] QmlDesigner: Fix property groups missing on new project creation Fixes: QDS-7469 Change-Id: I97809f1e143e92374c72e9fc58f2440742cbcc71 Reviewed-by: Samuel Ghinet Reviewed-by: Qt CI Bot Reviewed-by: Ali Kianian Reviewed-by: Mahmoud Badri --- .../components/materialbrowser/materialbrowserview.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index f159593d51a..4cedfb9260f 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -25,7 +25,6 @@ #include "materialbrowserview.h" -#include "bindingproperty.h" #include "bundlematerial.h" #include "materialbrowserwidget.h" #include "materialbrowsermodel.h" @@ -249,12 +248,12 @@ void MaterialBrowserView::modelAttached(Model *model) m_widget->materialBrowserModel()->setHasMaterialRoot(rootModelNode().isSubclassOf("QtQuick3D.Material")); m_hasQuick3DImport = model->hasImport("QtQuick3D"); - loadPropertyGroups(); // Project load is already very busy and may even trigger puppet reset, so let's wait a moment // before refreshing the model QTimer::singleShot(1000, this, [this]() { refreshModel(true); + loadPropertyGroups(); // Needs the delay because it uses metaInfo }); } From 4f2b15679d3e12870ee7db94d72eaea0d3849b28 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 4 Oct 2022 08:09:44 +0200 Subject: [PATCH 86/96] RemoteLinux: Allow remote linux build devices as opt-in ... by setting QTC_ALLOW_REMOTE_LINUX_BUILD_DEVICES=1 Registering compilers and cmake on such devices already works manually. [Note: The remote file dialog is extremely slow when browsing remote directories] After that, opening a CMakeLists.txt on the device works, but not much more. Change-Id: I19025930699f6aec57d26a36b3fb04109fbf03e8 Reviewed-by: Christian Kandeler --- src/plugins/remotelinux/linuxdevice.cpp | 6 ++++++ src/plugins/remotelinux/linuxdevice.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index 88be06dd539..ce97e2a5a73 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -1034,6 +1034,12 @@ DeviceEnvironmentFetcher::Ptr LinuxDevice::environmentFetcher() const return DeviceEnvironmentFetcher::Ptr(new LinuxDeviceEnvironmentFetcher(sharedFromThis())); } +bool LinuxDevice::usableAsBuildDevice() const +{ + const bool isUsable = qtcEnvironmentVariableIntValue("QTC_ALLOW_REMOTE_LINUX_BUILD_DEVICES"); + return isUsable; +} + QString LinuxDevice::userAtHost() const { return sshParameters().userAtHost(); diff --git a/src/plugins/remotelinux/linuxdevice.h b/src/plugins/remotelinux/linuxdevice.h index 4897e87e6b4..0d4748cb308 100644 --- a/src/plugins/remotelinux/linuxdevice.h +++ b/src/plugins/remotelinux/linuxdevice.h @@ -30,6 +30,7 @@ public: ProjectExplorer::DeviceTester *createDeviceTester() const override; ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override; ProjectExplorer::DeviceEnvironmentFetcher::Ptr environmentFetcher() const override; + bool usableAsBuildDevice() const override; QString userAtHost() const; From 34f9229eef671a9d6297d748f79d076cc20e84b8 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 4 Oct 2022 10:40:29 +0200 Subject: [PATCH 87/96] VcsOutputWindow: Use toVariant() when storing FilePath Amends 4edb2380735d1b5d66aff75c800131dee4f9835e Change-Id: Ied6f2d9fd78a40f70393eae1c685198ab119e575 Reviewed-by: Orgad Shaneh --- src/plugins/vcsbase/vcsoutputwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/vcsbase/vcsoutputwindow.cpp b/src/plugins/vcsbase/vcsoutputwindow.cpp index b6911cdcd35..e0c7c3b5568 100644 --- a/src/plugins/vcsbase/vcsoutputwindow.cpp +++ b/src/plugins/vcsbase/vcsoutputwindow.cpp @@ -163,7 +163,7 @@ void OutputWindowPlainTextEdit::contextMenuEvent(QContextMenuEvent *event) if (repo.isFile()) { menu->addSeparator(); openAction = menu->addAction(VcsOutputWindow::tr("Open \"%1\"").arg(repo.nativePath())); - openAction->setData(repo.absoluteFilePath().toString()); + openAction->setData(repo.absoluteFilePath().toVariant()); } } QAction *clearAction = nullptr; From c666c938822dbdd7f74bc44a6b31bee171ee5c63 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 4 Oct 2022 12:54:55 +0200 Subject: [PATCH 88/96] VcsBasePlugin: Use more FilePath Change-Id: I7bc80245b093b210439efdf3ea353b52b288dcc0 Reviewed-by: hjk Reviewed-by: Orgad Shaneh --- src/plugins/coreplugin/vcsmanager.cpp | 17 +++-- src/plugins/coreplugin/vcsmanager.h | 2 +- src/plugins/git/gitclient.cpp | 10 +-- src/plugins/git/gitgrep.cpp | 2 +- src/plugins/projectexplorer/projectmodels.cpp | 2 +- src/plugins/projectexplorer/projecttree.cpp | 4 +- src/plugins/vcsbase/vcsbaseplugin.cpp | 70 +++++++++---------- src/plugins/vcsbase/vcsplugin.cpp | 4 +- 8 files changed, 55 insertions(+), 56 deletions(-) diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index 27a77ec42c7..7de1280f538 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -196,7 +196,7 @@ void VcsManager::resetVersionControlForDirectory(const FilePath &inputDirectory) } IVersionControl* VcsManager::findVersionControlForDirectory(const FilePath &inputDirectory, - QString *topLevelDirectory) + FilePath *topLevelDirectory) { using StringVersionControlPair = QPair; using StringVersionControlPairs = QList; @@ -217,7 +217,7 @@ IVersionControl* VcsManager::findVersionControlForDirectory(const FilePath &inpu auto cachedData = d->findInCache(directory); if (cachedData) { if (topLevelDirectory) - *topLevelDirectory = cachedData->topLevel; + *topLevelDirectory = FilePath::fromString(cachedData->topLevel); return cachedData->versionControl; } @@ -273,7 +273,7 @@ IVersionControl* VcsManager::findVersionControlForDirectory(const FilePath &inpu // return result if (topLevelDirectory) - *topLevelDirectory = allThatCanManage.first().first; + *topLevelDirectory = FilePath::fromString(allThatCanManage.first().first); IVersionControl *versionControl = allThatCanManage.first().second; const bool isVcsConfigured = versionControl->isConfigured(); if (!isVcsConfigured || d->m_unconfiguredVcs) { @@ -308,9 +308,9 @@ IVersionControl* VcsManager::findVersionControlForDirectory(const FilePath &inpu FilePath VcsManager::findTopLevelForDirectory(const FilePath &directory) { - QString result; + FilePath result; findVersionControlForDirectory(directory, &result); - return FilePath::fromString(result); + return result; } QStringList VcsManager::repositories(const IVersionControl *vc) @@ -568,14 +568,12 @@ void CorePlugin::testVcsManager() vcsA->setManagedDirectories(makeHash(dirsVcsA)); vcsB->setManagedDirectories(makeHash(dirsVcsB)); - QString realTopLevel = QLatin1String("ABC"); // Make sure this gets cleared if needed. - // From VCSes: int expectedCount = 0; for (const QString &result : qAsConst(results)) { // qDebug() << "Expecting:" << result; - QStringList split = result.split(QLatin1Char(':')); + const QStringList split = result.split(QLatin1Char(':')); QCOMPARE(split.count(), 4); QVERIFY(split.at(3) == QLatin1String("*") || split.at(3) == QLatin1String("-")); @@ -589,9 +587,10 @@ void CorePlugin::testVcsManager() ++expectedCount; IVersionControl *vcs; + FilePath realTopLevel; vcs = VcsManager::findVersionControlForDirectory( FilePath::fromString(makeString(directory)), &realTopLevel); - QCOMPARE(realTopLevel, makeString(topLevel)); + QCOMPARE(realTopLevel.toString(), makeString(topLevel)); if (vcs) QCOMPARE(vcs->id().toString(), vcsId); else diff --git a/src/plugins/coreplugin/vcsmanager.h b/src/plugins/coreplugin/vcsmanager.h index 3975a3201fe..952d0e34e37 100644 --- a/src/plugins/coreplugin/vcsmanager.h +++ b/src/plugins/coreplugin/vcsmanager.h @@ -43,7 +43,7 @@ public: static void resetVersionControlForDirectory(const Utils::FilePath &inputDirectory); static IVersionControl *findVersionControlForDirectory(const Utils::FilePath &directory, - QString *topLevelDirectory = nullptr); + Utils::FilePath *topLevelDirectory = nullptr); static Utils::FilePath findTopLevelForDirectory(const Utils::FilePath &directory); static QStringList repositories(const IVersionControl *); diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index d018c2b60bc..d5c3775c93f 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -3847,10 +3847,10 @@ FilePath GitClient::fileWorkingDirectory(const QString &file) IEditor *GitClient::openShowEditor(const FilePath &workingDirectory, const QString &ref, const QString &path, ShowEditor showSetting) { - QString topLevel; - VcsManager::findVersionControlForDirectory(workingDirectory, &topLevel); - const QString relativePath = QDir(topLevel).relativeFilePath(path); - const QByteArray content = synchronousShow(FilePath::fromString(topLevel), ref + ":" + relativePath); + const FilePath topLevel = VcsManager::findTopLevelForDirectory(workingDirectory); + const QString topLevelString = topLevel.toString(); + const QString relativePath = QDir(topLevelString).relativeFilePath(path); + const QByteArray content = synchronousShow(topLevel, ref + ":" + relativePath); if (showSetting == ShowEditor::OnlyIfDifferent) { if (content.isEmpty()) return nullptr; @@ -3866,7 +3866,7 @@ IEditor *GitClient::openShowEditor(const FilePath &workingDirectory, const QStri } const QString documentId = QLatin1String(Git::Constants::GIT_PLUGIN) - + QLatin1String(".GitShow.") + topLevel + + QLatin1String(".GitShow.") + topLevelString + QLatin1String(".") + relativePath; QString title = tr("Git Show %1:%2").arg(ref).arg(relativePath); IEditor *editor = EditorManager::openEditorWithContents(Id(), &title, content, documentId, diff --git a/src/plugins/git/gitgrep.cpp b/src/plugins/git/gitgrep.cpp index f5101d5699e..abcea246bf6 100644 --- a/src/plugins/git/gitgrep.cpp +++ b/src/plugins/git/gitgrep.cpp @@ -198,7 +198,7 @@ static bool isGitDirectory(const FilePath &path) { static IVersionControl *gitVc = VcsManager::versionControl(VcsBase::Constants::VCS_ID_GIT); QTC_ASSERT(gitVc, return false); - return gitVc == VcsManager::findVersionControlForDirectory(path, nullptr); + return gitVc == VcsManager::findVersionControlForDirectory(path); } GitGrep::GitGrep(GitClient *client) diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index 056cc095a8e..f9a6af9afc6 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -721,7 +721,7 @@ bool FlatModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int r struct VcsInfo { Core::IVersionControl *vcs = nullptr; - QString repoDir; + FilePath repoDir; bool operator==(const VcsInfo &other) const { return vcs == other.vcs && repoDir == other.repoDir; } diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp index be0d6aae142..b40c955d542 100644 --- a/src/plugins/projectexplorer/projecttree.cpp +++ b/src/plugins/projectexplorer/projecttree.cpp @@ -311,9 +311,9 @@ void ProjectTree::updateFileWarning(Core::IDocument *document, const QString &te if (filePath.canonicalPath().isChildOf(projectDir.canonicalPath())) return; // External file. Test if it under the same VCS - QString topLevel; + FilePath topLevel; if (Core::VcsManager::findVersionControlForDirectory(projectDir, &topLevel) - && filePath.isChildOf(FilePath::fromString(topLevel))) { + && filePath.isChildOf(topLevel)) { return; } } diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index b816f0cfe99..509b9df6674 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -76,17 +76,17 @@ public: inline bool hasProject() const { return !currentProjectTopLevel.isEmpty(); } inline bool isEmpty() const { return !hasFile() && !hasProject(); } - QString currentFile; + FilePath currentFile; QString currentFileName; - QString currentPatchFile; + FilePath currentPatchFile; QString currentPatchFileDisplayName; - QString currentFileDirectory; - QString currentFileTopLevel; + FilePath currentFileDirectory; + FilePath currentFileTopLevel; - QString currentProjectPath; + FilePath currentProjectPath; QString currentProjectName; - QString currentProjectTopLevel; + FilePath currentProjectTopLevel; }; void State::clearFile() @@ -218,15 +218,15 @@ QString StateListener::windowTitleVcsTopic(const FilePath &filePath) } if (searchPath.isEmpty()) return QString(); - QString topLevelPath; + FilePath topLevelPath; IVersionControl *vc = VcsManager::findVersionControlForDirectory( searchPath, &topLevelPath); - return (vc && !topLevelPath.isEmpty()) ? vc->vcsTopic(FilePath::fromString(topLevelPath)) : QString(); + return (vc && !topLevelPath.isEmpty()) ? vc->vcsTopic(topLevelPath) : QString(); } -static inline QString displayNameOfEditor(const QString &fileName) +static inline QString displayNameOfEditor(const FilePath &fileName) { - IDocument *document = DocumentModel::documentForFilePath(FilePath::fromString(fileName)); + IDocument *document = DocumentModel::documentForFilePath(fileName); if (document) return document->displayName(); return QString(); @@ -240,18 +240,16 @@ void StateListener::slotStateChanged() State state; IDocument *currentDocument = EditorManager::currentDocument(); if (currentDocument) { - state.currentFile = currentDocument->filePath().toString(); + state.currentFile = currentDocument->filePath(); if (state.currentFile.isEmpty() || currentDocument->isTemporary()) - state.currentFile = VcsBase::source(currentDocument); + state.currentFile = FilePath::fromString(VcsBase::source(currentDocument)); } // Get the file and its control. Do not use the file unless we find one IVersionControl *fileControl = nullptr; if (!state.currentFile.isEmpty()) { - QFileInfo currentFi(state.currentFile); - - if (currentFi.exists()) { + if (state.currentFile.exists()) { // Quick check: Does it look like a patch? const bool isPatch = state.currentFile.endsWith(".patch") || state.currentFile.endsWith(".diff"); @@ -261,18 +259,18 @@ void StateListener::slotStateChanged() state.currentPatchFile = state.currentFile; state.currentPatchFileDisplayName = displayNameOfEditor(state.currentPatchFile); if (state.currentPatchFileDisplayName.isEmpty()) - state.currentPatchFileDisplayName = currentFi.fileName(); + state.currentPatchFileDisplayName = state.currentFile.fileName(); } - if (currentFi.isDir()) { + if (state.currentFile.isDir()) { state.currentFile.clear(); - state.currentFileDirectory = currentFi.absoluteFilePath(); + state.currentFileDirectory = state.currentFile.absoluteFilePath(); } else { - state.currentFileDirectory = currentFi.absolutePath(); - state.currentFileName = currentFi.fileName(); + state.currentFileDirectory = state.currentFile.absolutePath(); + state.currentFileName = state.currentFile.fileName(); } fileControl = VcsManager::findVersionControlForDirectory( - FilePath::fromString(state.currentFileDirectory), &state.currentFileTopLevel); + state.currentFileDirectory, &state.currentFileTopLevel); } if (!fileControl) @@ -286,10 +284,10 @@ void StateListener::slotStateChanged() currentProject = SessionManager::startupProject(); if (currentProject) { - state.currentProjectPath = currentProject->projectDirectory().toString(); + state.currentProjectPath = currentProject->projectDirectory(); state.currentProjectName = currentProject->displayName(); projectControl = VcsManager::findVersionControlForDirectory( - FilePath::fromString(state.currentProjectPath), &state.currentProjectTopLevel); + state.currentProjectPath, &state.currentProjectTopLevel); if (projectControl) { // If we have both, let the file's one take preference if (fileControl && projectControl != fileControl) @@ -353,7 +351,7 @@ VcsBasePluginState &VcsBasePluginState::operator=(const VcsBasePluginState &rhs) QString VcsBasePluginState::currentFile() const { - return data->m_state.currentFile; + return data->m_state.currentFile.toString(); } QString VcsBasePluginState::currentFileName() const @@ -363,23 +361,24 @@ QString VcsBasePluginState::currentFileName() const FilePath VcsBasePluginState::currentFileTopLevel() const { - return FilePath::fromString(data->m_state.currentFileTopLevel); + return data->m_state.currentFileTopLevel; } FilePath VcsBasePluginState::currentFileDirectory() const { - return FilePath::fromString(data->m_state.currentFileDirectory); + return data->m_state.currentFileDirectory; } QString VcsBasePluginState::relativeCurrentFile() const { - QTC_ASSERT(hasFile(), return QString()); - return QDir(data->m_state.currentFileTopLevel).relativeFilePath(data->m_state.currentFile); + QTC_ASSERT(hasFile(), return {}); + return QDir(data->m_state.currentFileTopLevel.toString()).relativeFilePath( + data->m_state.currentFile.toString()); } QString VcsBasePluginState::currentPatchFile() const { - return data->m_state.currentPatchFile; + return data->m_state.currentPatchFile.toString(); } QString VcsBasePluginState::currentPatchFileDisplayName() const @@ -389,7 +388,7 @@ QString VcsBasePluginState::currentPatchFileDisplayName() const FilePath VcsBasePluginState::currentProjectPath() const { - return FilePath::fromString(data->m_state.currentProjectPath); + return data->m_state.currentProjectPath; } QString VcsBasePluginState::currentProjectName() const @@ -399,15 +398,16 @@ QString VcsBasePluginState::currentProjectName() const FilePath VcsBasePluginState::currentProjectTopLevel() const { - return FilePath::fromString(data->m_state.currentProjectTopLevel); + return data->m_state.currentProjectTopLevel; } QString VcsBasePluginState::relativeCurrentProject() const { QTC_ASSERT(hasProject(), return QString()); - if (data->m_state.currentProjectTopLevel != data->m_state.currentProjectPath) - return QDir(data->m_state.currentProjectTopLevel).relativeFilePath(data->m_state.currentProjectPath); - return QString(); + if (data->m_state.currentProjectTopLevel == data->m_state.currentProjectPath) + return {}; + return QDir(data->m_state.currentProjectTopLevel.toString()).relativeFilePath( + data->m_state.currentProjectPath.toString()); } bool VcsBasePluginState::hasTopLevel() const @@ -417,7 +417,7 @@ bool VcsBasePluginState::hasTopLevel() const FilePath VcsBasePluginState::topLevel() const { - return FilePath::fromString(hasFile() ? data->m_state.currentFileTopLevel : data->m_state.currentProjectTopLevel); + return hasFile() ? data->m_state.currentFileTopLevel : data->m_state.currentProjectTopLevel; } bool VcsBasePluginState::equals(const Internal::State &rhs) const diff --git a/src/plugins/vcsbase/vcsplugin.cpp b/src/plugins/vcsbase/vcsplugin.cpp index dd81f84a555..60343d27a8e 100644 --- a/src/plugins/vcsbase/vcsplugin.cpp +++ b/src/plugins/vcsbase/vcsplugin.cpp @@ -95,10 +95,10 @@ bool VcsPlugin::initialize(const QStringList &arguments, QString *errorMessage) tr("The current version control topic (branch or tag) identification of the current project."), []() -> QString { IVersionControl *vc = nullptr; - QString topLevel; + FilePath topLevel; if (Project *project = ProjectTree::currentProject()) vc = VcsManager::findVersionControlForDirectory(project->projectDirectory(), &topLevel); - return vc ? vc->vcsTopic(FilePath::fromString(topLevel)) : QString(); + return vc ? vc->vcsTopic(topLevel) : QString(); }); expander->registerVariable(Constants::VAR_VCS_TOPLEVELPATH, From 993fd2a92a9e90c9e06f161b40eb5b0201169ade Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 4 Oct 2022 13:27:02 +0200 Subject: [PATCH 89/96] VcsBasePlugin: Use FilePath::relativePath Instead of QDir::relativeFilePath(). Change-Id: Iacd25e51dc87b987402ff3677f6705c6e0e8edbf Reviewed-by: Orgad Shaneh --- src/plugins/vcsbase/vcsbaseplugin.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index 509b9df6674..689de58428e 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -372,8 +372,7 @@ FilePath VcsBasePluginState::currentFileDirectory() const QString VcsBasePluginState::relativeCurrentFile() const { QTC_ASSERT(hasFile(), return {}); - return QDir(data->m_state.currentFileTopLevel.toString()).relativeFilePath( - data->m_state.currentFile.toString()); + return data->m_state.currentFile.relativePath(data->m_state.currentFileTopLevel).toString(); } QString VcsBasePluginState::currentPatchFile() const @@ -406,8 +405,7 @@ QString VcsBasePluginState::relativeCurrentProject() const QTC_ASSERT(hasProject(), return QString()); if (data->m_state.currentProjectTopLevel == data->m_state.currentProjectPath) return {}; - return QDir(data->m_state.currentProjectTopLevel.toString()).relativeFilePath( - data->m_state.currentProjectPath.toString()); + return data->m_state.currentProjectPath.relativePath(data->m_state.currentProjectTopLevel).toString(); } bool VcsBasePluginState::hasTopLevel() const From 90900fc95227045b2cbc1b4a2dcddcca9199e8fd Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 4 Oct 2022 11:26:12 +0200 Subject: [PATCH 90/96] UpdateInfo: Ignore multiple update check requests The existing code would kill the currently running process, but - It's unclear why it should do that. If the user wants to cancel the currently running one, they can do that in any case. - The existing code killed the current maintenancetool, but did not cancel the task in the progress manager. Task-number: QTCREATORBUG-28236 Change-Id: I06c2d6b733d637e38cae120dc1a375f7952bfa85 Reviewed-by: Jarek Kobus --- src/plugins/updateinfo/updateinfoplugin.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/updateinfo/updateinfoplugin.cpp b/src/plugins/updateinfo/updateinfoplugin.cpp index 78d31e72910..520dff4cc7a 100644 --- a/src/plugins/updateinfo/updateinfoplugin.cpp +++ b/src/plugins/updateinfo/updateinfoplugin.cpp @@ -140,7 +140,8 @@ void UpdateInfoPlugin::doAutoCheckForUpdates() void UpdateInfoPlugin::startCheckForUpdates() { - stopCheckForUpdates(); + if (d->m_maintenanceToolProcess) + return; // do not trigger while update task is already running QFutureInterface futureIf; FutureProgress *futureProgress From 47887da778215045831d8284cf896e8934e75cda Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Thu, 29 Sep 2022 10:27:57 +0200 Subject: [PATCH 91/96] QmlDesigner: Forward default value in settings Change-Id: Id60a8ff569a15212b410f73ab707e5e37a3ca5a1 Reviewed-by: Tim Jenssen Reviewed-by: Qt CI Bot --- src/plugins/qmldesigner/designersettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp index dacadf74042..033dca27166 100644 --- a/src/plugins/qmldesigner/designersettings.cpp +++ b/src/plugins/qmldesigner/designersettings.cpp @@ -57,7 +57,7 @@ void DesignerSettings::insert(const QHash &settingsHash) QVariant DesignerSettings::value(const QByteArray &key, const QVariant &defaultValue) const { QMutexLocker locker(&m_mutex); - return m_cache.value(key); + return m_cache.value(key, defaultValue); } void DesignerSettings::restoreValue(QSettings *settings, const QByteArray &key, const QVariant &defaultValue) From eccbfc9459a284bc0518e94509709f12a44267c7 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 21 Sep 2022 10:34:09 +0200 Subject: [PATCH 92/96] LanguageClient: Allow to not pre-select non-project files for renaming In alignment with what we already do in CppEditor/ClangCodeModel. Change-Id: Ic68eca1879ed06887d3c5e39a09982bdd8c61065 Reviewed-by: David Schulz --- .../languageclientsymbolsupport.cpp | 17 +++++++++++++---- .../languageclientsymbolsupport.h | 3 +++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/plugins/languageclient/languageclientsymbolsupport.cpp b/src/plugins/languageclient/languageclientsymbolsupport.cpp index 56f66b49645..d86ac58ba93 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.cpp +++ b/src/plugins/languageclient/languageclientsymbolsupport.cpp @@ -10,6 +10,8 @@ #include #include +#include + #include #include @@ -162,7 +164,9 @@ QStringList SymbolSupport::getFileContents(const Utils::FilePath &filePath) } QList generateSearchResultItems( - const QMap> &rangesInDocument) + const QMap> &rangesInDocument, + Core::SearchResult *search = nullptr, + bool limitToProjects = false) { QList result; for (auto it = rangesInDocument.begin(); it != rangesInDocument.end(); ++it) { @@ -171,6 +175,8 @@ QList generateSearchResultItems( Core::SearchResultItem item; item.setFilePath(filePath); item.setUseTextEditorFont(true); + if (search && search->supportsReplace() && limitToProjects) + item.setSelectForReplacement(ProjectExplorer::SessionManager::projectForFile(filePath)); QStringList lines = SymbolSupport::getFileContents(filePath); for (const ItemData &data : it.value()) { @@ -343,7 +349,9 @@ void SymbolSupport::requestRename(const TextDocumentPositionParams &positionPara search->popup(); } -QList generateReplaceItems(const WorkspaceEdit &edits) +QList generateReplaceItems(const WorkspaceEdit &edits, + Core::SearchResult *search, + bool limitToProjects) { auto convertEdits = [](const QList &edits) { return Utils::transform(edits, [](const TextEdit &edit) { @@ -362,7 +370,7 @@ QList generateReplaceItems(const WorkspaceEdit &edits) for (auto it = changes.begin(), end = changes.end(); it != end; ++it) rangesInDocument[it.key().toFilePath()] = convertEdits(it.value()); } - return generateSearchResultItems(rangesInDocument); + return generateSearchResultItems(rangesInDocument, search, limitToProjects); } Core::SearchResult *SymbolSupport::createSearch(const TextDocumentPositionParams &positionParams, @@ -419,7 +427,8 @@ void SymbolSupport::handleRenameResponse(Core::SearchResult *search, const std::optional &edits = response.result(); if (edits.has_value()) { - search->addResults(generateReplaceItems(*edits), Core::SearchResult::AddOrdered); + search->addResults(generateReplaceItems(*edits, search, m_limitRenamingToProjects), + Core::SearchResult::AddOrdered); search->additionalReplaceWidget()->setVisible(false); search->setReplaceEnabled(true); search->setSearchAgainEnabled(false); diff --git a/src/plugins/languageclient/languageclientsymbolsupport.h b/src/plugins/languageclient/languageclientsymbolsupport.h index 38d40fa3689..79b250ffcc4 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.h +++ b/src/plugins/languageclient/languageclientsymbolsupport.h @@ -50,6 +50,8 @@ public: using SymbolMapper = std::function; void setDefaultRenamingSymbolMapper(const SymbolMapper &mapper); + void setLimitRenamingToProjects(bool limit) { m_limitRenamingToProjects = limit; } + private: void handleFindReferencesResponse( const LanguageServerProtocol::FindReferencesRequest::Response &response, @@ -71,6 +73,7 @@ private: Client *m_client = nullptr; SymbolMapper m_defaultSymbolMapper; + bool m_limitRenamingToProjects = false; }; } // namespace LanguageClient From afd1742f9fad8d0c675532bf08b20d323221eb99 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 13:17:36 +0200 Subject: [PATCH 93/96] CPlusPlus: Limit the usage of qMakePair Change-Id: Ica59c320fb700369e968bb03a93deff34eb7ffb7 Reviewed-by: hjk Reviewed-by: --- src/libs/cplusplus/CppDocument.cpp | 2 +- src/libs/cplusplus/CppRewriter.cpp | 2 +- src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp | 2 +- src/libs/cplusplus/pp-engine.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 561265146d6..6cc7c49da5e 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -792,7 +792,7 @@ QList Snapshot::includeLocationsOfDocument(const QStr const QList includeFiles = doc->resolvedIncludes(); for (const Document::Include &includeFile : includeFiles) { if (includeFile.resolvedFileName() == fileName) - result.append(qMakePair(doc, includeFile.line())); + result.push_back({doc, includeFile.line()}); } } return result; diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp index b980d78dee7..f5873cc71fc 100644 --- a/src/libs/cplusplus/CppRewriter.cpp +++ b/src/libs/cplusplus/CppRewriter.cpp @@ -404,7 +404,7 @@ SubstitutionMap::~SubstitutionMap() void SubstitutionMap::bind(const Name *name, const FullySpecifiedType &ty) { - _map.append(qMakePair(name, ty)); + _map.push_back({name, ty}); } FullySpecifiedType SubstitutionMap::apply(const Name *name, Rewrite *) const diff --git a/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp index ebb105f3504..bf14cfe0f21 100644 --- a/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp +++ b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp @@ -389,7 +389,7 @@ FullySpecifiedType DeprecatedGenTemplateInstance::instantiate(const Name *classN if (templArgName && templArgName->identifier()) { const Identifier *templArgId = templArgName->identifier(); - subst.append(qMakePair(templArgId, templArgTy)); + subst.push_back({templArgId, templArgTy}); } } } diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index 7228c446dfe..836e2ad05b7 100644 --- a/src/libs/cplusplus/pp-engine.cpp +++ b/src/libs/cplusplus/pp-engine.cpp @@ -1420,7 +1420,7 @@ void Preprocessor::preprocess(const QString &fileName, const QByteArray &source, trackedLine = tk.lineno; trackedColumn = unsigned(computeDistance(tk, true)); } - m_state.m_expandedTokensInfo.append(qMakePair(trackedLine, trackedColumn)); + m_state.m_expandedTokensInfo.push_back({trackedLine, trackedColumn}); } else if (m_state.m_expansionStatus == JustFinishedExpansion) { m_state.setExpansionStatus(NotExpanding); macroExpanded = true; From cd582faa7eda147d303c4a01dae050ec75b3ed7a Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 30 Sep 2022 13:47:00 +0200 Subject: [PATCH 94/96] CppEditor: Limit the usage of qMakePair and std::make_pair Change-Id: I4c85edbaccb553320b5488d3dd2c2595fc2bd825 Reviewed-by: hjk Reviewed-by: --- src/plugins/cppeditor/cppcodemodelsettings.cpp | 2 +- src/plugins/cppeditor/cppelementevaluator.cpp | 8 ++++---- src/plugins/cppeditor/cppoutlinemodel.cpp | 2 +- src/plugins/cppeditor/cppquickfixes.cpp | 6 +++--- src/plugins/cppeditor/cppworkingcopy.h | 2 +- src/plugins/cppeditor/symbolfinder.cpp | 6 +++--- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index 36f7ae8d850..18512cf10c4 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -312,7 +312,7 @@ QVersionNumber ClangdSettings::clangdVersion(const FilePath &clangdFilePath) const auto it = versionCache.find(clangdFilePath); if (it == versionCache.end()) { const QVersionNumber version = getClangdVersion(clangdFilePath); - versionCache.insert(clangdFilePath, qMakePair(timeStamp, version)); + versionCache.insert(clangdFilePath, {timeStamp, version}); return version; } if (it->first != timeStamp) { diff --git a/src/plugins/cppeditor/cppelementevaluator.cpp b/src/plugins/cppeditor/cppelementevaluator.cpp index 1cb7f41449d..281083f6ebd 100644 --- a/src/plugins/cppeditor/cppelementevaluator.cpp +++ b/src/plugins/cppeditor/cppelementevaluator.cpp @@ -154,7 +154,7 @@ void CppClass::lookupBases(QFutureInterfaceBase &futureInterface, QSet visited; QQueue q; - q.enqueue(qMakePair(clazz, this)); + q.enqueue({clazz, this}); while (!q.isEmpty()) { if (futureInterface.isCanceled()) return; @@ -171,7 +171,7 @@ void CppClass::lookupBases(QFutureInterfaceBase &futureInterface, CppClass baseCppClass(symbol); CppClass *cppClass = current.second; cppClass->bases.append(baseCppClass); - q.enqueue(qMakePair(clazz, &cppClass->bases.last())); + q.enqueue({clazz, &cppClass->bases.last()}); } } } @@ -191,7 +191,7 @@ void CppClass::lookupDerived(QFutureInterfaceBase &futureInterface, = TypeHierarchyBuilder::buildDerivedTypeHierarchy(futureInterface, declaration, snapshot); QQueue q; - q.enqueue(qMakePair(this, completeHierarchy)); + q.enqueue({this, completeHierarchy}); while (!q.isEmpty()) { if (futureInterface.isCanceled()) return; @@ -201,7 +201,7 @@ void CppClass::lookupDerived(QFutureInterfaceBase &futureInterface, const QList hierarchy = classHierarchy.hierarchy(); for (const TypeHierarchy &derivedHierarchy : hierarchy) { clazz->derived.append(CppClass(derivedHierarchy.symbol())); - q.enqueue(qMakePair(&clazz->derived.last(), derivedHierarchy)); + q.enqueue({&clazz->derived.last(), derivedHierarchy}); } } } diff --git a/src/plugins/cppeditor/cppoutlinemodel.cpp b/src/plugins/cppeditor/cppoutlinemodel.cpp index 9c0a8504896..1dbc53d2700 100644 --- a/src/plugins/cppeditor/cppoutlinemodel.cpp +++ b/src/plugins/cppeditor/cppoutlinemodel.cpp @@ -234,7 +234,7 @@ Utils::LineColumn OutlineModel::lineColumnFromIndex(const QModelIndex &sourceInd OutlineModel::Range OutlineModel::rangeFromIndex(const QModelIndex &sourceIndex) const { Utils::LineColumn lineColumn = lineColumnFromIndex(sourceIndex); - return std::make_pair(lineColumn, lineColumn); + return {lineColumn, lineColumn}; } void OutlineModel::buildTree(SymbolItem *root, bool isRoot) diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp index e1f42967e5a..cdfc4d7878f 100644 --- a/src/plugins/cppeditor/cppquickfixes.cpp +++ b/src/plugins/cppeditor/cppquickfixes.cpp @@ -5037,7 +5037,7 @@ QPair assembleDeclarationData(const QString &specifiers, Decla completeDecl.append(QLatin1Char(' ') + decltrText); else completeDecl.append(decltrText); - return qMakePair(name, completeDecl); + return {name, completeDecl}; } } return QPair(); @@ -5329,7 +5329,7 @@ void ExtractFunction::match(const CppQuickFixInterface &interface, QuickFixOpera if ((usedBeforeExtraction && usedInsideExtraction) || (usedInsideExtraction && refFuncParams.contains(name))) { QTC_ASSERT(analyser.m_knownDecls.contains(name), return); - relevantDecls.append(qMakePair(name, analyser.m_knownDecls.value(name))); + relevantDecls.push_back({name, analyser.m_knownDecls.value(name)}); } // We assume that the first use of a local corresponds to its declaration. @@ -5337,7 +5337,7 @@ void ExtractFunction::match(const CppQuickFixInterface &interface, QuickFixOpera if (!funcReturn) { QTC_ASSERT(analyser.m_knownDecls.contains(name), return); // The return, if any, is stored as the first item in the list. - relevantDecls.prepend(qMakePair(name, analyser.m_knownDecls.value(name))); + relevantDecls.push_front({name, analyser.m_knownDecls.value(name)}); funcReturn = it.key(); } else { // Would require multiple returns. (Unless we do fancy things, as pointed below.) diff --git a/src/plugins/cppeditor/cppworkingcopy.h b/src/plugins/cppeditor/cppworkingcopy.h index 12a6626826e..f94b8c4855b 100644 --- a/src/plugins/cppeditor/cppworkingcopy.h +++ b/src/plugins/cppeditor/cppworkingcopy.h @@ -22,7 +22,7 @@ public: { insert(Utils::FilePath::fromString(fileName), source, revision); } void insert(const Utils::FilePath &fileName, const QByteArray &source, unsigned revision = 0) - { _elements.insert(fileName, qMakePair(source, revision)); } + { _elements.insert(fileName, {source, revision}); } bool contains(const QString &fileName) const { return contains(Utils::FilePath::fromString(fileName)); } diff --git a/src/plugins/cppeditor/symbolfinder.cpp b/src/plugins/cppeditor/symbolfinder.cpp index 598d7f89c50..a2df28b5f77 100644 --- a/src/plugins/cppeditor/symbolfinder.cpp +++ b/src/plugins/cppeditor/symbolfinder.cpp @@ -256,13 +256,13 @@ Symbol *SymbolFinder::findMatchingVarDefinition(Symbol *declaration, const Snaps for (const LookupItem &item : items) { if (item.declaration() == symbol) addFallback = false; - candidates << qMakePair(item.declaration(), - context.lookupType(item.declaration()) == enclosingType); + candidates.push_back({item.declaration(), + context.lookupType(item.declaration()) == enclosingType}); } // TODO: This is a workaround for static member definitions not being found by // the lookup() function. if (addFallback) - fallbacks << qMakePair(symbol, context.lookupType(symbol) == enclosingType); + fallbacks.push_back({symbol, context.lookupType(symbol) == enclosingType}); } } From 3d70de93822fccca00ab332eac926c1c8088f4a5 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 4 Oct 2022 14:50:32 +0200 Subject: [PATCH 95/96] VcsInfo: Remove unneeded c'tor and operator== Change-Id: I6b2a797290854bd34abc6680d5377749678ef687 Reviewed-by: Orgad Shaneh --- src/plugins/coreplugin/vcsmanager.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index 7de1280f538..de63fd0c4e2 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -44,16 +44,6 @@ class VcsManagerPrivate public: class VcsInfo { public: - VcsInfo() = default; - VcsInfo(IVersionControl *vc, const QString &tl) : - versionControl(vc), topLevel(tl) - { } - - bool operator == (const VcsInfo &other) const - { - return versionControl == other.versionControl && topLevel == other.topLevel; - } - IVersionControl *versionControl = nullptr; QString topLevel; }; @@ -99,7 +89,7 @@ public: QString tmpDir = dir; const QChar slash = QLatin1Char('/'); while (tmpDir.count() >= topLevel.count() && !tmpDir.isEmpty()) { - m_cachedMatches.insert(tmpDir, VcsInfo(vc, topLevel)); + m_cachedMatches.insert(tmpDir, {vc, topLevel}); // if no vc was found, this might mean we're inside a repo internal directory (.git) // Cache only input directory, not parents if (!vc) From 7e248d9a08390dfd56b147e9fc17baf2e48a46ac Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Tue, 4 Oct 2022 16:05:59 +0200 Subject: [PATCH 96/96] fix warning Change-Id: I6a27ea45c064f3f09b669a74bd36155067c7b005 Reviewed-by: Tim Jenssen --- src/plugins/qmldesigner/designercore/model/model.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index 9875d06f12b..927d66e5140 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -216,7 +216,7 @@ void ModelPrivate::changeNodeType(const InternalNodePointer &node, const TypeNam try { notifyNodeTypeChanged(node, typeName, majorVersion, minorVersion); - } catch (const RewritingException &e) { + } catch (const RewritingException &) { } } @@ -348,7 +348,7 @@ void ModelPrivate::changeNodeId(const InternalNodePointer &node, const QString & try { notifyNodeIdChanged(node, id, oldId); - } catch (const RewritingException &e) { + } catch (const RewritingException &) { } }
  • tH=AC){I2W8QL_zer;4PfFDjdp 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 a%WwN{IiGEN;1>o41_n=8KbLh*2~7ajq5AXy literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/examples/doc/images/animation-tutorial-binding.png b/doc/qtdesignstudio/examples/doc/images/animation-tutorial-binding.png new file mode 100644 index 0000000000000000000000000000000000000000..06648e66281d1eaf95d49e4ed446890de24a3d22 GIT binary patch literal 3353 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 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/examples/doc/images/animation-tutorial-insert-keyframe.png b/doc/qtdesignstudio/examples/doc/images/animation-tutorial-insert-keyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..511bab864204aac79a3dd67f690c33996b40f961 GIT binary patch literal 18051 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 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/examples/doc/images/animation-tutorial-property.png b/doc/qtdesignstudio/examples/doc/images/animation-tutorial-property.png new file mode 100644 index 0000000000000000000000000000000000000000..78d66e63ba6b14002db31c3fcf0663fa4adafe00 GIT binary patch literal 5832 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 Sni&`v7(8A5T-G@yGywoPtvR0n literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/examples/doc/images/animation-tutorial.gif b/doc/qtdesignstudio/examples/doc/images/animation-tutorial.gif new file mode 100644 index 0000000000000000000000000000000000000000..e663c6b685d230b0b0b82424cd5ca68fafc3bf49 GIT binary patch literal 1589739 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