diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index f6d6a83a46a..1d04c38b541 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -832,7 +832,7 @@ function(add_qtc_test name) endif() foreach(dependency ${_arg_DEPENDS}) - if (NOT TARGET ${dependency} AND NOT _arg_GTEST) + if (NOT TARGET ${dependency}) if (WITH_DEBUG_CMAKE) message(STATUS "'${dependency}' is not a target") endif() diff --git a/cmake/QtCreatorTranslations.cmake b/cmake/QtCreatorTranslations.cmake index a9da1e52476..2e9c564b8ff 100644 --- a/cmake/QtCreatorTranslations.cmake +++ b/cmake/QtCreatorTranslations.cmake @@ -27,6 +27,7 @@ function(_extract_ts_data_from_targets outprefix) set(_target_sources "") if(_source_files) + list(FILTER _source_files EXCLUDE REGEX ".*[.]json[.]in|.*[.]svg") list(APPEND _target_sources ${_source_files}) endif() if(_extra_translations) diff --git a/share/qtcreator/qmldesigner/landingpage/content/App.qml b/share/qtcreator/qmldesigner/landingpage/content/App.qml index 1a5e1efe05e..e93ad196e1a 100644 --- a/share/qtcreator/qmldesigner/landingpage/content/App.qml +++ b/share/qtcreator/qmldesigner/landingpage/content/App.qml @@ -28,35 +28,15 @@ ****************************************************************************/ import QtQuick 2.15 -import QtQuick.Window 2.15 Item { + id: root width: 1024 height: 768 - visible: true - property alias qtVersion: mainScreen.qtVersion - property alias qdsVersion: mainScreen.qdsVersion - property alias cmakeLists: mainScreen.cmakeLists - property alias qdsInstalled: mainScreen.qdsInstalled - property alias projectFileExists: mainScreen.projectFileExists - property alias rememberSelection: mainScreen.rememberCheckboxCheckState - - signal openQtc(bool rememberSelection) - signal openQds(bool rememberSelection) - signal installQds() - signal generateCmake() - signal generateProjectFile() Screen01 { id: mainScreen anchors.fill: parent - openQtcButton.onClicked: openQtc(rememberSelection === Qt.Checked) - openQdsButton.onClicked: openQds(rememberSelection === Qt.Checked) - installButton.onClicked: installQds() - generateCmakeButton.onClicked: generateCmake() - generateProjectFileButton.onClicked: generateProjectFile() } - } - diff --git a/share/qtcreator/qmldesigner/landingpage/content/CustomCheckBox.ui.qml b/share/qtcreator/qmldesigner/landingpage/content/CustomCheckBox.ui.qml new file mode 100644 index 00000000000..8d91f695429 --- /dev/null +++ b/share/qtcreator/qmldesigner/landingpage/content/CustomCheckBox.ui.qml @@ -0,0 +1,135 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** 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 General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +import QtQuick 2.15 +import QtQuick.Templates 2.15 +import LandingPage as Theme + +CheckBox { + id: control + autoExclusive: false + + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding, + implicitIndicatorHeight + topPadding + bottomPadding) + + spacing: Theme.Values.checkBoxSpacing + hoverEnabled: true + font.family: Theme.Values.baseFont + + indicator: Rectangle { + id: checkBoxBackground + implicitWidth: Theme.Values.checkBoxSize + implicitHeight: Theme.Values.checkBoxSize + x: 0 + y: parent.height / 2 - height / 2 + color: Theme.Colors.backgroundPrimary + border.color: Theme.Colors.foregroundSecondary + border.width: Theme.Values.border + + Rectangle { + id: checkBoxIndicator + width: Theme.Values.checkBoxIndicatorSize + height: Theme.Values.checkBoxIndicatorSize + x: (Theme.Values.checkBoxSize - Theme.Values.checkBoxIndicatorSize) * 0.5 + y: (Theme.Values.checkBoxSize - Theme.Values.checkBoxIndicatorSize) * 0.5 + color: Theme.Colors.accent + visible: control.checked + } + } + + contentItem: Text { + id: checkBoxLabel + text: control.text + font: control.font + color: Theme.Colors.text + verticalAlignment: Text.AlignVCenter + leftPadding: control.indicator.width + control.spacing + } + + states: [ + State { + name: "default" + when: control.enabled && !control.hovered && !control.pressed + PropertyChanges { + target: checkBoxBackground + color: Theme.Colors.backgroundPrimary + border.color: Theme.Colors.foregroundSecondary + } + PropertyChanges { + target: checkBoxLabel + color: Theme.Colors.text + } + }, + State { + name: "hover" + when: control.enabled && control.hovered && !control.pressed + PropertyChanges { + target: checkBoxBackground + color: Theme.Colors.hover + border.color: Theme.Colors.foregroundSecondary + } + }, + State { + name: "press" + when: control.hovered && control.pressed + PropertyChanges { + target: checkBoxBackground + color: Theme.Colors.hover + border.color: Theme.Colors.accent + } + PropertyChanges { + target: checkBoxIndicator + color: Theme.Colors.backgroundSecondary + } + }, + State { + name: "disable" + when: !control.enabled + PropertyChanges { + target: checkBoxBackground + color: Theme.Colors.backgroundPrimary + border.color: Theme.Colors.disabledLink + } + PropertyChanges { + target: checkBoxIndicator + color: Theme.Colors.disabledLink + } + PropertyChanges { + target: checkBoxLabel + color: Theme.Colors.disabledLink + } + } + ] +} + +/*##^## +Designer { + D{i:0;height:40;width:142} +} +##^##*/ + diff --git a/share/qtcreator/qmldesigner/landingpage/content/InstallQdsStatusBlock.ui.qml b/share/qtcreator/qmldesigner/landingpage/content/InstallQdsStatusBlock.ui.qml index 35c363583c6..6948e216bec 100644 --- a/share/qtcreator/qmldesigner/landingpage/content/InstallQdsStatusBlock.ui.qml +++ b/share/qtcreator/qmldesigner/landingpage/content/InstallQdsStatusBlock.ui.qml @@ -33,46 +33,48 @@ It is supposed to be strictly declarative and only uses a subset of QML. If you this file manually, you might introduce QML code that is not supported by Qt Design Studio. Check out https://doc.qt.io/qtcreator/creator-quick-ui-forms.html for details on .ui.qml files. */ + import QtQuick 2.15 import QtQuick.Controls 2.15 -import LandingPage -import QdsLandingPageTheme as Theme +import LandingPageApi +import LandingPage as Theme Rectangle { - id: installQdsBlock - color: Theme.Values.themeBackgroundColorNormal - border.width: 0 - property alias installQdsBlockVisible: installQdsBlock.visible - property alias installButton: installButton - height: 200 + id: root - Text { - id: statusText - text: qsTr("No Qt Design Studio installation found") - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: parent.top - anchors.topMargin: 10 - anchors.horizontalCenter: parent.horizontalCenter + color: Theme.Colors.backgroundSecondary + height: column.childrenRect.height + (2 * Theme.Values.spacing) + + Connections { + target: installButton + function onClicked() { LandingPageApi.installQds() } } - Text { - id: suggestionText - text: qsTr("Would you like to install it now?") - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: statusText.bottom - anchors.topMargin: 10 - anchors.horizontalCenterOffset: 0 - anchors.horizontalCenter: parent.horizontalCenter - } + Column { + id: column - PushButton { - id: installButton - anchors.top: suggestionText.bottom - text: "Install" - anchors.topMargin: Constants.buttonDefaultMargin - anchors.horizontalCenterOffset: 0 - anchors.horizontalCenter: parent.horizontalCenter + width: parent.width + anchors.centerIn: parent + + PageText { + id: statusText + width: parent.width + topPadding: 0 + padding: Theme.Values.spacing + text: qsTr("No Qt Design Studio installation found") + } + + PageText { + id: suggestionText + width: parent.width + padding: Theme.Values.spacing + text: qsTr("Would you like to install it now?") + } + + PushButton { + id: installButton + text: qsTr("Install") + anchors.horizontalCenter: parent.horizontalCenter + } } } diff --git a/share/qtcreator/qmldesigner/landingpage/content/PageText.ui.qml b/share/qtcreator/qmldesigner/landingpage/content/PageText.ui.qml new file mode 100644 index 00000000000..94fb973084e --- /dev/null +++ b/share/qtcreator/qmldesigner/landingpage/content/PageText.ui.qml @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Quick Studio Components. +** +** $QT_BEGIN_LICENSE:GPL$ +** 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 General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/* +This is a UI file (.ui.qml) that is intended to be edited in Qt Design Studio only. +It is supposed to be strictly declarative and only uses a subset of QML. If you edit +this file manually, you might introduce QML code that is not supported by Qt Design Studio. +Check out https://doc.qt.io/qtcreator/creator-quick-ui-forms.html for details on .ui.qml files. +*/ + +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.15 +import LandingPage as Theme + +Text { + font.family: Theme.Values.baseFont + font.pixelSize: Theme.Values.fontSizeSubtitle + horizontalAlignment: Text.AlignHCenter + color: Theme.Colors.text + anchors.horizontalCenter: parent.horizontalCenter + wrapMode: Text.WordWrap +} diff --git a/share/qtcreator/qmldesigner/landingpage/content/ProjectInfoStatusBlock.ui.qml b/share/qtcreator/qmldesigner/landingpage/content/ProjectInfoStatusBlock.ui.qml index 40e9f5e3fc6..67108eb0860 100644 --- a/share/qtcreator/qmldesigner/landingpage/content/ProjectInfoStatusBlock.ui.qml +++ b/share/qtcreator/qmldesigner/landingpage/content/ProjectInfoStatusBlock.ui.qml @@ -33,171 +33,78 @@ It is supposed to be strictly declarative and only uses a subset of QML. If you this file manually, you might introduce QML code that is not supported by Qt Design Studio. Check out https://doc.qt.io/qtcreator/creator-quick-ui-forms.html for details on .ui.qml files. */ + import QtQuick 2.15 import QtQuick.Controls 2.15 -import LandingPage -import QdsLandingPageTheme as Theme +import QtQuick.Layouts 1.15 +import LandingPageApi +import LandingPage as Theme Rectangle { - id: projectInfo - height: 300 - color: Theme.Values.themeBackgroundColorNormal - border.color: Theme.Values.themeBackgroundColorNormal - border.width: 0 + id: root + property bool qdsInstalled: qdsVersionText.text.length > 0 property bool projectFileExists: false - property string qdsVersion: "UNKNOWN" - property string qtVersion: "UNKNOWN" - property alias cmakeListText: cmakeList.text - property alias generateCmakeButton: generateCmakeButton + property string qtVersion: qsTr("Unknown") + property string qdsVersion: qsTr("Unknown") property alias generateProjectFileButton: generateProjectFileButton - Item { - id: projectFileInfoBox - width: projectInfo.width - height: 150 - anchors.top: parent.top - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 30 + color: Theme.Colors.backgroundSecondary + height: column.childrenRect.height + (2 * Theme.Values.spacing) - Text { + Connections { + target: generateProjectFileButton + function onClicked() { LandingPageApi.generateProjectFile() } + } + + Column { + id: column + + width: parent.width + anchors.centerIn: parent + spacing: Theme.Values.spacing + + PageText { id: projectFileInfoTitle + width: parent.width text: qsTr("QML PROJECT FILE INFO") - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: parent.top - horizontalAlignment: Text.AlignHCenter - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 10 } - Item { + Column { id: projectFileInfoVersionBox width: parent.width - height: 150 - visible: projectFileExists - anchors.top: projectFileInfoTitle.bottom - anchors.topMargin: 0 - anchors.horizontalCenter: parent.horizontalCenter + visible: root.projectFileExists - Text { + PageText { id: qtVersionText - text: qsTr("Qt Version - ") + qtVersion - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: parent.top - horizontalAlignment: Text.AlignHCenter - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 10 + width: parent.width + padding: Theme.Values.spacing + text: qsTr("Qt Version - ") + root.qtVersion } - Text { + PageText { id: qdsVersionText - text: qsTr("Qt Design Studio Version - ") + qdsVersion - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: qtVersionText.bottom - horizontalAlignment: Text.AlignHCenter - anchors.topMargin: 10 - anchors.horizontalCenter: parent.horizontalCenter + width: parent.width + padding: Theme.Values.spacing + text: qsTr("Qt Design Studio Version - ") + root.qdsVersion } } - Item { + Column { id: projectFileInfoMissingBox width: parent.width - height: 200 visible: !projectFileInfoVersionBox.visible - anchors.top: projectFileInfoTitle.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 0 - Text { + PageText { id: projectFileInfoMissingText + width: parent.width + padding: Theme.Values.spacing text: qsTr("No QML project file found - Would you like to create one?") - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: parent.top - horizontalAlignment: Text.AlignHCenter - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 10 } PushButton { id: generateProjectFileButton - anchors.top: projectFileInfoMissingText.bottom - text: "Generate" - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: Constants.buttonDefaultMargin - } - } - } - - Item { - id: cmakeInfoBox - width: projectInfo.width - height: 200 - anchors.top: projectFileInfoBox.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 40 - - Text { - id: cmakeInfoTitle - text: qsTr("CMAKE RESOURCE FILES") - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: parent.top - horizontalAlignment: Text.AlignHCenter - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 10 - } - - Item { - id: cmakeListBox - width: 150 - height: 40 - visible: cmakeListText.length > 0 - anchors.top: cmakeInfoTitle.bottom - anchors.topMargin: 10 - anchors.horizontalCenter: parent.horizontalCenter - - Text { - id: cmakeList - text: qsTr("") - font.family: "TitilliumWeb" - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: parent.top - horizontalAlignment: Text.AlignHCenter - anchors.topMargin: 0 - anchors.horizontalCenter: parent.horizontalCenter - } - } - - Item { - id: cmakeMissingBox - width: cmakeInfoBox.width - height: 200 - visible: cmakeListText.length === 0 - anchors.top: cmakeInfoTitle.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: 10 - - Text { - id: cmakeMissingText - text: qsTr("No resource files found - Would you like to generate them?") - font.family: Theme.Values.baseFont - font.pixelSize: Constants.fontSizeSubtitle - anchors.top: parent.top - horizontalAlignment: Text.AlignHCenter - anchors.topMargin: 10 - anchors.horizontalCenter: parent.horizontalCenter - } - - PushButton { - id: generateCmakeButton - anchors.top: cmakeMissingText.bottom - text: "Generate" - anchors.topMargin: Constants.buttonDefaultMargin + text: qsTr("Generate") anchors.horizontalCenter: parent.horizontalCenter } } diff --git a/share/qtcreator/qmldesigner/landingpage/content/PushButton.ui.qml b/share/qtcreator/qmldesigner/landingpage/content/PushButton.ui.qml index be872c21d7d..116940870ee 100644 --- a/share/qtcreator/qmldesigner/landingpage/content/PushButton.ui.qml +++ b/share/qtcreator/qmldesigner/landingpage/content/PushButton.ui.qml @@ -1,5 +1,3 @@ - - /**************************************************************************** ** ** Copyright (C) 2021 The Qt Company Ltd. @@ -24,49 +22,38 @@ ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ****************************************************************************/ + import QtQuick 2.15 import QtQuick.Templates 2.15 -import QdsLandingPageTheme as Theme +import LandingPage as Theme Button { id: control - implicitWidth: Math.max( - buttonBackground ? buttonBackground.implicitWidth : 0, - textItem.implicitWidth + leftPadding + rightPadding) - implicitHeight: Math.max( - buttonBackground ? buttonBackground.implicitHeight : 0, - textItem.implicitHeight + topPadding + bottomPadding) + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding) leftPadding: 4 rightPadding: 4 - - text: "My Button" - property alias fontpixelSize: textItem.font.pixelSize - property bool forceHover: false hoverEnabled: true - state: "normal" + font.family: Theme.Values.baseFont + font.pixelSize: 16 - background: buttonBackground - Rectangle { + background: Rectangle { id: buttonBackground - color: Theme.Values.themeControlBackground + color: Theme.Colors.backgroundPrimary implicitWidth: 100 - implicitHeight: 40 - opacity: enabled ? 1 : 0.3 - radius: 2 - border.color: Theme.Values.themeControlOutline + implicitHeight: 35 + border.color: Theme.Colors.foregroundSecondary anchors.fill: parent } - contentItem: textItem - - Text { + contentItem: Text { id: textItem text: control.text - font.pixelSize: 18 - - opacity: enabled ? 1.0 : 0.3 - color: Theme.Values.themeTextColor + font: control.font + color: Theme.Colors.text horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter rightPadding: 5 @@ -75,46 +62,51 @@ Button { states: [ State { - name: "normal" - when: !control.down && !control.hovered && !control.forceHover - + name: "default" + when: control.enabled && !control.hovered && !control.pressed && !control.checked PropertyChanges { target: buttonBackground - color: Theme.Values.themeControlBackground - border.color: Theme.Values.themeControlOutline + color: Theme.Colors.backgroundPrimary } - PropertyChanges { target: textItem - color: Theme.Values.themeTextColor + color: Theme.Colors.text } }, State { name: "hover" - when: (control.hovered || control.forceHover) && !control.down - PropertyChanges { - target: textItem - color: Theme.Values.themeTextColor - } - + extend: "default" + when: control.enabled && control.hovered && !control.pressed PropertyChanges { target: buttonBackground - color: Theme.Values.themeControlBackgroundHover - border.color: Theme.Values.themeControlBackgroundHover + color: Theme.Colors.hover } }, State { - name: "activeQds" - when: control.down - PropertyChanges { - target: textItem - color: Theme.Values.themeTextColor - } - + name: "press" + extend: "default" + when: control.hovered && control.pressed PropertyChanges { target: buttonBackground - color: Theme.Values.themeControlBackgroundInteraction - border.color: Theme.Values.themeControlOutlineInteraction + color: Theme.Colors.accent + border.color: Theme.Colors.accent + } + PropertyChanges { + target: textItem + color: Theme.Colors.backgroundPrimary + } + }, + State { + name: "disable" + when: !control.enabled + PropertyChanges { + target: buttonBackground + color: Theme.Colors.backgroundPrimary + border.color: Theme.Colors.disabledLink + } + PropertyChanges { + target: textItem + color: Theme.Colors.disabledLink } } ] diff --git a/share/qtcreator/qmldesigner/landingpage/content/Screen01.ui.qml b/share/qtcreator/qmldesigner/landingpage/content/Screen01.ui.qml index c3521001e64..9e1d29197e7 100644 --- a/share/qtcreator/qmldesigner/landingpage/content/Screen01.ui.qml +++ b/share/qtcreator/qmldesigner/landingpage/content/Screen01.ui.qml @@ -33,167 +33,190 @@ It is supposed to be strictly declarative and only uses a subset of QML. If you this file manually, you might introduce QML code that is not supported by Qt Design Studio. Check out https://doc.qt.io/qtcreator/creator-quick-ui-forms.html for details on .ui.qml files. */ + import QtQuick 2.15 import QtQuick.Controls 6.2 -import LandingPage +import QtQuick.Layouts 1.15 import LandingPageApi -import QdsLandingPageTheme as Theme +import LandingPage as Theme Rectangle { - id: rectangle2 + id: root + width: 1024 height: 768 - color: Theme.Values.themeBackgroundColorNormal - property bool qdsInstalled: true - property alias openQtcButton: openQtc - property alias openQdsButton: openQds - property alias projectFileExists: projectInfoStatusBlock.projectFileExists - property alias installButton: installQdsStatusBlock.installButton - property alias generateCmakeButton: projectInfoStatusBlock.generateCmakeButton - property alias generateProjectFileButton: projectInfoStatusBlock.generateProjectFileButton - property alias qtVersion: projectInfoStatusBlock.qtVersion - property alias qdsVersion: projectInfoStatusBlock.qdsVersion - property alias cmakeLists: projectInfoStatusBlock.cmakeListText - property alias installQdsBlockVisible: installQdsStatusBlock.visible - property alias rememberCheckboxCheckState: rememberCheckbox.checkState + color: Theme.Colors.backgroundPrimary - Rectangle { - id: logoArea - width: parent.width - height: 180 - color: Theme.Values.themeBackgroundColorNormal - anchors.top: parent.top - anchors.horizontalCenter: parent.horizontalCenter - - Image { - id: qdsLogo - source: "logo.png" - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: 30 - } - - Text { - id: qdsText - text: qsTr("Qt Design Studio") - font.pixelSize: Constants.fontSizeTitle - font.family: Theme.Values.baseFont - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: parent.bottom - anchors.bottomMargin: 20 - } + Connections { + target: openQds + function onClicked() { LandingPageApi.openQds(rememberCheckbox.checkState === Qt.Checked) } } - Item { - id: statusBox - anchors.top: logoArea.bottom - anchors.bottom: buttonBox.top - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: 0 - anchors.leftMargin: 0 - - LandingSeparator { - id: topSeparator - anchors.top: parent.top - anchors.horizontalCenter: parent.horizontalCenter - } - - InstallQdsStatusBlock { - id: installQdsStatusBlock - width: parent.width - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - visible: !qdsInstalled - } - - ProjectInfoStatusBlock { - id: projectInfoStatusBlock - width: parent.width - visible: !installQdsStatusBlock.visible - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - } - - LandingSeparator { - id: bottomSeparator - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - } + Connections { + target: openQtc + function onClicked() { LandingPageApi.openQtc(rememberCheckbox.checkState === Qt.Checked) } } - Rectangle { - id: buttonBox - width: parent.width - height: 220 - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - color: Theme.Values.themeBackgroundColorNormal - - Item { - id: openQdsBox - width: parent.width / 2 - height: parent.height - anchors.left: parent.left - anchors.bottom: parent.bottom - anchors.bottomMargin: 0 - anchors.leftMargin: 0 - - Text { - id: openQdsText - text: qsTr("Open with Qt Design Studio") - font.pixelSize: Constants.fontSizeSubtitle - font.family: Theme.Values.baseFont - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: 50 + states: [ + State { + name: "large" + when: root.width > Theme.Values.layoutBreakpointLG + PropertyChanges { + target: Theme.Values + fontSizeTitle: Theme.Values.fontSizeTitleLG + fontSizeSubtitle: Theme.Values.fontSizeSubtitleLG } - - PushButton { - id: openQds - anchors.top: openQdsText.bottom - anchors.horizontalCenter: parent.horizontalCenter - text: "Open" - anchors.topMargin: Constants.buttonSmallMargin - enabled: qdsInstalled + PropertyChanges { + target: buttonBoxGrid + columns: 2 + } + }, + State { + name: "medium" + when: root.width <= Theme.Values.layoutBreakpointLG + && root.width > Theme.Values.layoutBreakpointMD + PropertyChanges { + target: Theme.Values + fontSizeTitle: Theme.Values.fontSizeTitleMD + fontSizeSubtitle: Theme.Values.fontSizeSubtitleMD + } + PropertyChanges { + target: buttonBoxGrid + columns: 2 + } + }, + State { + name: "small" + when: root.width <= Theme.Values.layoutBreakpointMD + PropertyChanges { + target: Theme.Values + fontSizeTitle: Theme.Values.fontSizeTitleSM + fontSizeSubtitle: Theme.Values.fontSizeSubtitleSM + } + PropertyChanges { + target: buttonBoxGrid + columns: 1 } } + ] - Item { - id: openQtcBox - width: parent.width / 2 - height: parent.height - anchors.right: parent.right - anchors.bottom: parent.bottom - anchors.bottomMargin: 0 - anchors.rightMargin: 0 + ScrollView { + id: scrollView + anchors.fill: root - Text { - id: openQtcText - text: qsTr("Open with Qt Creator - Text Mode") - font.pixelSize: Constants.fontSizeSubtitle - font.family: Theme.Values.baseFont - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: 50 + Column { + id: layout + spacing: 0 + width: scrollView.width + + Item { + width: layout.width + height: logoSection.childrenRect.height + (2 * Theme.Values.spacing) + + Column { + id: logoSection + spacing: 10 + anchors.centerIn: parent + + Image { + id: qdsLogo + anchors.horizontalCenter: parent.horizontalCenter + source: "logo.png" + } + + Text { + id: qdsText + anchors.horizontalCenter: parent.horizontalCenter + text: qsTr("Qt Design Studio") + font.pixelSize: Theme.Values.fontSizeTitle + font.family: Theme.Values.baseFont + color: Theme.Colors.text + } + } } - PushButton { - id: openQtc - anchors.top: openQtcText.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: Constants.buttonSmallMargin - text: "Open" + InstallQdsStatusBlock { + id: installQdsStatusBlock + width: parent.width + visible: !LandingPageApi.qdsInstalled } - } - CheckBox { - id: rememberCheckbox - text: qsTr("Remember my choice") - font.family: Theme.Values.baseFont - anchors.bottom: parent.bottom - anchors.bottomMargin: 30 - anchors.horizontalCenter: parent.horizontalCenter + ProjectInfoStatusBlock { + id: projectInfoStatusBlock + width: parent.width + visible: !installQdsStatusBlock.visible + projectFileExists: LandingPageApi.projectFileExists + qtVersion: LandingPageApi.qtVersion + qdsVersion: LandingPageApi.qdsVersion + } + + GridLayout { + id: buttonBoxGrid + anchors.horizontalCenter: parent.horizontalCenter + columns: 2 + rows: 2 + columnSpacing: 3 * Theme.Values.spacing + rowSpacing: Theme.Values.spacing + + property int tmpWidth: textMetrics.width + + TextMetrics { + id: textMetrics + text: openQtcText.text.length > openQdsText.text.length ? openQtcText.text + : openQdsText.text + font.pixelSize: Theme.Values.fontSizeSubtitle + font.family: Theme.Values.baseFont + } + + Column { + id: openQdsBox + Layout.alignment: Qt.AlignHCenter + + PageText { + id: openQdsText + width: buttonBoxGrid.tmpWidth + padding: Theme.Values.spacing + text: qsTr("Open with Qt Design Studio") + wrapMode: Text.NoWrap + } + + PushButton { + id: openQds + text: qsTr("Open") + enabled: LandingPageApi.qdsInstalled + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Column { + id: openQtcBox + Layout.alignment: Qt.AlignHCenter + + PageText { + id: openQtcText + width: buttonBoxGrid.tmpWidth + padding: Theme.Values.spacing + text: qsTr("Open with Qt Creator - Text Mode") + wrapMode: Text.NoWrap + } + + PushButton { + id: openQtc + text: qsTr("Open") + anchors.horizontalCenter: parent.horizontalCenter + } + } + + CustomCheckBox { + id: rememberCheckbox + text: qsTr("Remember my choice") + font.family: Theme.Values.baseFont + Layout.columnSpan: buttonBoxGrid.columns + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: Theme.Values.spacing + Layout.bottomMargin: Theme.Values.spacing + } + } } } } diff --git a/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Constants.qml b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/+QDS_theming/Colors.qml similarity index 70% rename from share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Constants.qml rename to share/qtcreator/qmldesigner/landingpage/imports/LandingPage/+QDS_theming/Colors.qml index 9dc4144c4d9..a94f82a7ad3 100644 --- a/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Constants.qml +++ b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/+QDS_theming/Colors.qml @@ -24,12 +24,16 @@ ****************************************************************************/ pragma Singleton -import QtQuick 2.10 +import QtQuick 2.15 QtObject { - readonly property int buttonDefaultMargin: 30 - readonly property int buttonSmallMargin: 20 - - readonly property int fontSizeTitle: 55 - readonly property int fontSizeSubtitle: 22 + readonly property color text: "#ffe7e7e7" + readonly property color foregroundPrimary: "#ffa3a3a3" + readonly property color foregroundSecondary: "#ff808080" + readonly property color backgroundPrimary: "#ff333333" + readonly property color backgroundSecondary: "#ff232323" + readonly property color hover: "#ff404040" + readonly property color accent: "#ff57d658" + readonly property color link: "#ff67e668" + readonly property color disabledLink: "#7fffffff" } diff --git a/tests/unit/unittest/clangcompareoperators.h b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Colors.qml similarity index 56% rename from tests/unit/unittest/clangcompareoperators.h rename to share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Colors.qml index 39351946beb..95956290f30 100644 --- a/tests/unit/unittest/clangcompareoperators.h +++ b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Colors.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. @@ -23,18 +23,18 @@ ** ****************************************************************************/ -#pragma once +pragma Singleton +import QtQuick 2.15 +import LandingPageTheme -#include - -inline -bool operator==(const CXSourceLocation &first, const CXSourceLocation &second) -{ - return clang_equalLocations(first, second); -} - -inline -bool operator==(const CXSourceRange &first, const CXSourceRange &second) -{ - return clang_equalRanges(first, second); +QtObject { + readonly property color text: Theme.color(Theme.Welcome_TextColor) + readonly property color foregroundPrimary: Theme.color(Theme.Welcome_ForegroundPrimaryColor) + readonly property color foregroundSecondary: Theme.color(Theme.Welcome_ForegroundSecondaryColor) + readonly property color backgroundPrimary: Theme.color(Theme.Welcome_BackgroundPrimaryColor) + readonly property color backgroundSecondary: Theme.color(Theme.Welcome_BackgroundSecondaryColor) + readonly property color hover: Theme.color(Theme.Welcome_HoverColor) + readonly property color accent: Theme.color(Theme.Welcome_AccentColor) + readonly property color link: Theme.color(Theme.Welcome_LinkColor) + readonly property color disabledLink: Theme.color(Theme.Welcome_DisabledLinkColor) } diff --git a/tests/unit/unittest/diagnosticcontainer-matcher.h b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Values.qml similarity index 53% rename from tests/unit/unittest/diagnosticcontainer-matcher.h rename to share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Values.qml index 7b8032936fc..89f71e78d37 100644 --- a/tests/unit/unittest/diagnosticcontainer-matcher.h +++ b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/Values.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. @@ -23,33 +23,34 @@ ** ****************************************************************************/ -#include "googletest.h" +pragma Singleton +import QtQuick 2.15 -namespace { +QtObject { + id: values -using ::testing::PrintToString; + property string baseFont: "TitilliumWeb" -MATCHER_P(IsDiagnosticContainer, diagnosticContainer, "") -{ - if (arg.text != diagnosticContainer.text) { - *result_listener << "text is " + PrintToString(arg.text) - + " and not " + PrintToString(diagnosticContainer.text); - return false; - } + property real scaleFactor: 1.0 + property real checkBoxSize: Math.round(26 * values.scaleFactor) + property real checkBoxIndicatorSize: Math.round(14 * values.scaleFactor) + property real checkBoxSpacing: Math.round(6 * values.scaleFactor) + property real border: 1 - if (arg.location != diagnosticContainer.location) { - *result_listener << "location is " + PrintToString(arg.location) - + " and not " + PrintToString(diagnosticContainer.location); - return false; - } + property int fontSizeTitle: values.fontSizeTitleLG + property int fontSizeSubtitle: values.fontSizeSubtitleLG - if (arg.children != diagnosticContainer.children) { - *result_listener << "children are " + PrintToString(arg.children) - + " and not " + PrintToString(diagnosticContainer.children); - return false; - } + readonly property int fontSizeTitleSM: 20 + readonly property int fontSizeTitleMD: 32 + readonly property int fontSizeTitleLG: 50 - return true; + readonly property int fontSizeSubtitleSM: 14 + readonly property int fontSizeSubtitleMD: 18 + readonly property int fontSizeSubtitleLG: 22 + + // LG > 1000, MD <= 1000 && > 720, SM <= 720 + readonly property int layoutBreakpointLG: 1000 + readonly property int layoutBreakpointMD: 720 + + readonly property int spacing: 20 } - -} // anonymous diff --git a/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/qmldir b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/qmldir index 616ac203530..9773fc5d1ab 100644 --- a/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/qmldir +++ b/share/qtcreator/qmldesigner/landingpage/imports/LandingPage/qmldir @@ -1 +1,2 @@ -singleton Constants 1.0 Constants.qml +singleton Values 1.0 Values.qml +singleton Colors 1.0 Colors.qml diff --git a/share/qtcreator/qmldesigner/landingpage/imports/QdsLandingPageTheme/Values.qml b/share/qtcreator/qmldesigner/landingpage/imports/QdsLandingPageTheme/Values.qml deleted file mode 100644 index 1ff4b5f0d0d..00000000000 --- a/share/qtcreator/qmldesigner/landingpage/imports/QdsLandingPageTheme/Values.qml +++ /dev/null @@ -1,312 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2022 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** 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 General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -pragma Singleton -import QtQuick 2.15 -import LandingPageTheme - -QtObject { - id: values - - property string baseFont: "TitilliumWeb" - - property real baseHeight: 29 - property real baseFontSize: 12 - property real baseIconFont: 12 - - property real scaleFactor: 1.0 - - property real height: Math.round(values.baseHeight * values.scaleFactor) - property real myFontSize: Math.round(values.baseFont * values.scaleFactor) - property real myIconFontSize: Math.round(values.baseIconFont * values.scaleFactor) - - property real squareComponentWidth: values.height - property real smallRectWidth: values.height / 2 * 1.5 - - property real inputWidth: values.height * 4 - - property real sliderHeight: values.height / 2 * 1.5 // TODO:Have a look at -> sliderAreaHeight: Data.Values.height/2*1.5 - - property real sliderControlSize: 12 - property real sliderControlSizeMulti: values.sliderControlSize * values.scaleFactor - - property int dragThreshold: 10 // px - property real spinControlIconSize: 8 - property real spinControlIconSizeMulti: values.spinControlIconSize * values.scaleFactor - - property real sliderTrackHeight: values.height / 3 - property real sliderHandleHeight: values.sliderTrackHeight * 1.8 - property real sliderHandleWidth: values.sliderTrackHeight * 0.5 - property real sliderFontSize: Math.round(8 * values.scaleFactor) - property real sliderPadding: Math.round(6 * values.scaleFactor) - property real sliderMargin: Math.round(3 * values.scaleFactor) - - property real sliderPointerWidth: Math.round(7 * values.scaleFactor) - property real sliderPointerHeight: Math.round(2 * values.scaleFactor) - - property real checkBoxSpacing: Math.round(6 * values.scaleFactor) - - property real radioButtonSpacing: values.checkBoxSpacing - property real radioButtonWidth: values.height - property real radioButtonHeight: values.height - property real radioButtonIndicatorWidth: 14 - property real radioButtonIndicatorHeight: 14 - - property real switchSpacing: values.checkBoxSpacing - - property real columnWidth: 225 + (175 * (values.scaleFactor * 2)) - - property real marginTopBottom: 4 - property real border: 1 - - property real maxComboBoxPopupHeight: Math.round(300 * values.scaleFactor) - property real maxTextAreaPopupHeight: Math.round(150 * values.scaleFactor) - - property real contextMenuLabelSpacing: Math.round(30 * values.scaleFactor) - property real contextMenuHorizontalPadding: Math.round(6 * values.scaleFactor) - - property real inputHorizontalPadding: Math.round(6 * values.scaleFactor) - property real typeLabelVerticalShift: Math.round(6 * values.scaleFactor) - - property real scrollBarThickness: 10 - property real scrollBarActivePadding: 1 - property real scrollBarInactivePadding: 2 - - property real toolTipHeight: 25 - property int toolTipDelay: 1000 - - // Controls hover animation params - property int hoverDuration: 500 - property int hoverEasing: Easing.OutExpo - - // Layout sizes - property real sectionColumnSpacing: 20 // distance between label and sliderControlSize - property real sectionRowSpacing: 5 - property real sectionHeadGap: 15 - property real sectionHeadHeight: 21 // tab and section - property real sectionHeadSpacerHeight: 10 - - property real controlLabelWidth: 15 - property real controlLabelGap: 5 - - property real controlGap: 5 // TODO different name - property real twoControlColumnGap: values.controlLabelGap - + values.controlLabelWidth - + values.controlGap - - property real columnGap: 10 - - property real iconAreaWidth: Math.round(21 * values.scaleFactor) - - property real linkControlWidth: values.iconAreaWidth - property real linkControlHeight: values.height - - property real infinityControlWidth: values.iconAreaWidth - property real infinityControlHeight: values.height - - property real transform3DSectionSpacing: 15 - - // Control sizes - - property real defaultControlWidth: values.squareComponentWidth * 5 - property real defaultControlHeight: values.height - - property real actionIndicatorWidth: values.iconAreaWidth //StudioTheme.Values.squareComponentWidth - property real actionIndicatorHeight: values.height - - property real spinBoxIndicatorWidth: values.smallRectWidth - 2 * values.border - property real spinBoxIndicatorHeight: values.height / 2 - values.border - - property real sliderIndicatorWidth: values.squareComponentWidth - property real sliderIndicatorHeight: values.height - - property real translationIndicatorWidth: values.squareComponentWidth - property real translationIndicatorHeight: values.height - - property real checkIndicatorWidth: values.squareComponentWidth - property real checkIndicatorHeight: values.height - - property real singleControlColumnWidth: 2 * values.twoControlColumnWidth - + values.twoControlColumnGap - + values.actionIndicatorWidth - - property real twoControlColumnWidthMin: 3 * values.height - 2 * values.border - property real twoControlColumnWidthMax: 3 * values.twoControlColumnWidthMin - property real twoControlColumnWidth: values.twoControlColumnWidthMin - - property real controlColumnWithoutControlsWidth: 2 * (values.actionIndicatorWidth - + values.twoControlColumnGap) - + values.linkControlWidth - - property real controlColumnWidth: values.controlColumnWithoutControlsWidth - + 2 * values.twoControlColumnWidth - - property real controlColumnWidthMin: values.controlColumnWithoutControlsWidth - + 2 * values.twoControlColumnWidthMin - - property real propertyLabelWidthMin: 80 - property real propertyLabelWidthMax: 120 - property real propertyLabelWidth: values.propertyLabelWidthMin - - property real sectionLeftPadding: 8 - property real sectionLayoutRightPadding: values.scrollBarThickness + 6 - - property real columnFactor: values.propertyLabelWidthMin - / (values.propertyLabelWidthMin + values.controlColumnWidthMin) - - function responsiveResize(width) { - var tmpWidth = width - values.sectionColumnSpacing - - values.sectionLeftPadding - values.sectionLayoutRightPadding - var labelColumnWidth = Math.round(tmpWidth * values.columnFactor) - labelColumnWidth = Math.max(Math.min(values.propertyLabelWidthMax, labelColumnWidth), - values.propertyLabelWidthMin) - - var controlColumnWidth = tmpWidth - labelColumnWidth - var controlWidth = Math.round((controlColumnWidth - values.controlColumnWithoutControlsWidth) * 0.5) - controlWidth = Math.max(Math.min(values.twoControlColumnWidthMax, controlWidth), - values.twoControlColumnWidthMin) - - values.propertyLabelWidth = labelColumnWidth - values.twoControlColumnWidth = controlWidth - } - - // Color Editor Popup - property real colorEditorPopupWidth: 4 * values.colorEditorPopupSpinBoxWidth - + 3 * values.controlGap - + 2 * values.colorEditorPopupPadding - property real colorEditorPopupHeight: 800 - property real colorEditorPopupPadding: 10 - property real colorEditorPopupMargin: 20 - - property real colorEditorPopupSpacing: 10 - property real colorEditorPopupLineHeight: 60 - - property real hueSliderHeight: 20 - property real hueSliderHandleWidth: 10 - - property real colorEditorPopupCmoboBoxWidth: 110 - property real colorEditorPopupSpinBoxWidth: 54 - - // Theme Colors - - property bool isLightTheme: themeControlBackground.hsvValue > themeTextColor.hsvValue - - property string themePanelBackground: Theme.color(Theme.DSpanelBackground) - - property string themeGreenLight: Theme.color(Theme.DSgreenLight) - property string themeAmberLight: Theme.color(Theme.DSamberLight) - property string themeRedLight: Theme.color(Theme.DSredLight) - - property string themeInteraction: Theme.color(Theme.DSinteraction) - property string themeError: Theme.color(Theme.DSerrorColor) - property string themeWarning: Theme.color(Theme.DSwarningColor) - property string themeDisabled: Theme.color(Theme.DSdisabledColor) - - property string themeInteractionHover: Theme.color(Theme.DSinteractionHover) - - property string themeAliasIconChecked: Theme.color(Theme.DSnavigatorAliasIconChecked) - - // Control colors - property color themeControlBackground: Theme.color(Theme.DScontrolBackground) - property string themeControlBackgroundInteraction: Theme.color(Theme.DScontrolBackgroundInteraction) - property string themeControlBackgroundDisabled: Theme.color(Theme.DScontrolBackgroundDisabled) - property string themeControlBackgroundGlobalHover: Theme.color(Theme.DScontrolBackgroundGlobalHover) - property string themeControlBackgroundHover: Theme.color(Theme.DScontrolBackgroundHover) - - property string themeControlOutline: Theme.color(Theme.DScontrolOutline) - property string themeControlOutlineInteraction: Theme.color(Theme.DScontrolOutlineInteraction) - property string themeControlOutlineDisabled: Theme.color(Theme.DScontrolOutlineDisabled) - - // Panels & Panes - property string themeBackgroundColorNormal: Theme.color(Theme.DSBackgroundColorNormal) - property string themeBackgroundColorAlternate: Theme.color(Theme.DSBackgroundColorAlternate) - - // Text colors - property color themeTextColor: Theme.color(Theme.DStextColor) - property string themeTextColorDisabled: Theme.color(Theme.DStextColorDisabled) - property string themeTextSelectionColor: Theme.color(Theme.DStextSelectionColor) - property string themeTextSelectedTextColor: Theme.color(Theme.DStextSelectedTextColor) - property string themeTextColorDisabledMCU: Theme.color(Theme.DStextColorDisabled) - - property string themePlaceholderTextColor: Theme.color(Theme.DSplaceholderTextColor) - property string themePlaceholderTextColorInteraction: Theme.color(Theme.DSplaceholderTextColorInteraction) - - // Icon colors - property string themeIconColor: Theme.color(Theme.DSiconColor) - property string themeIconColorHover: Theme.color(Theme.DSiconColorHover) - property string themeIconColorInteraction: Theme.color(Theme.DSiconColorInteraction) - property string themeIconColorDisabled: Theme.color(Theme.DSiconColorDisabled) - property string themeIconColorSelected: Theme.color(Theme.DSiconColorSelected) - - property string themeLinkIndicatorColor: Theme.color(Theme.DSlinkIndicatorColor) - property string themeLinkIndicatorColorHover: Theme.color(Theme.DSlinkIndicatorColorHover) - property string themeLinkIndicatorColorInteraction: Theme.color(Theme.DSlinkIndicatorColorInteraction) - property string themeLinkIndicatorColorDisabled: Theme.color(Theme.DSlinkIndicatorColorDisabled) - - property string themeInfiniteLoopIndicatorColor: Theme.color(Theme.DSlinkIndicatorColor) - property string themeInfiniteLoopIndicatorColorHover: Theme.color(Theme.DSlinkIndicatorColorHover) - property string themeInfiniteLoopIndicatorColorInteraction: Theme.color(Theme.DSlinkIndicatorColorInteraction) - - // Popup background color (ComboBox, SpinBox, TextArea) - property string themePopupBackground: Theme.color(Theme.DSpopupBackground) - // GradientPopupDialog modal overly color - property string themePopupOverlayColor: Theme.color(Theme.DSpopupOverlayColor) - - // ToolTip (UrlChooser) - property string themeToolTipBackground: Theme.color(Theme.DStoolTipBackground) - property string themeToolTipOutline: Theme.color(Theme.DStoolTipOutline) - property string themeToolTipText: Theme.color(Theme.DStoolTipText) - - // Slider colors - property string themeSliderActiveTrack: Theme.color(Theme.DSsliderActiveTrack) - property string themeSliderActiveTrackHover: Theme.color(Theme.DSactiveTrackHover) - property string themeSliderActiveTrackFocus: Theme.color(Theme.DSsliderActiveTrackFocus) - property string themeSliderInactiveTrack: Theme.color(Theme.DSsliderInactiveTrack) - property string themeSliderInactiveTrackHover: Theme.color(Theme.DSsliderInactiveTrackHover) - property string themeSliderInactiveTrackFocus: Theme.color(Theme.DSsliderInactiveTrackFocus) - property string themeSliderHandle: Theme.color(Theme.DSsliderHandle) - property string themeSliderHandleHover: Theme.color(Theme.DSsliderHandleHover) - property string themeSliderHandleFocus: Theme.color(Theme.DSsliderHandleFocus) - property string themeSliderHandleInteraction: Theme.color(Theme.DSsliderHandleInteraction) - - property string themeScrollBarTrack: Theme.color(Theme.DSscrollBarTrack) - property string themeScrollBarHandle: Theme.color(Theme.DSscrollBarHandle) - - property string themeSectionHeadBackground: Theme.color(Theme.DSsectionHeadBackground) - - property string themeTabActiveBackground: Theme.color(Theme.DStabActiveBackground) - property string themeTabActiveText: Theme.color(Theme.DStabActiveText) - property string themeTabInactiveBackground: Theme.color(Theme.DStabInactiveBackground) - property string themeTabInactiveText: Theme.color(Theme.DStabInactiveText) - - property string themeStateSeparator: Theme.color(Theme.DSstateSeparatorColor) - property string themeStateBackground: Theme.color(Theme.DSstateBackgroundColor) - property string themeStatePreviewOutline: Theme.color(Theme.DSstatePreviewOutline) - - property string themeUnimportedModuleColor: Theme.color(Theme.DSUnimportedModuleColor) - - // Taken out of Constants.js - property string themeChangedStateText: Theme.color(Theme.DSchangedStateText) -} diff --git a/share/qtcreator/qmldesigner/landingpage/imports/QdsLandingPageTheme/qmldir b/share/qtcreator/qmldesigner/landingpage/imports/QdsLandingPageTheme/qmldir deleted file mode 100644 index bc251e981f7..00000000000 --- a/share/qtcreator/qmldesigner/landingpage/imports/QdsLandingPageTheme/qmldir +++ /dev/null @@ -1 +0,0 @@ -singleton Values 1.0 Values.qml diff --git a/share/qtcreator/qmldesigner/landingpage/landingpage.qmlproject b/share/qtcreator/qmldesigner/landingpage/landingpage.qmlproject index 54915a68ddb..2b6325ada5a 100644 --- a/share/qtcreator/qmldesigner/landingpage/landingpage.qmlproject +++ b/share/qtcreator/qmldesigner/landingpage/landingpage.qmlproject @@ -12,6 +12,10 @@ Project { directory: "imports" } + QmlFiles { + directory: "mockimports" + } + JavaScriptFiles { directory: "content" } @@ -69,11 +73,14 @@ Project { */ } - /* List of plugin directories passed to QML runtime */ - importPaths: [ "imports", "../../../../share/3rdparty/studiofonts" ] + importPaths: [ "imports", "../../../../src/share/3rdparty/studiofonts", "mockimports" ] + + fileSelectors: [ "QDS_theming" ] qt6Project: true qdsVersion: "3.2" + + mainUiFile: "content/Screen01.ui.qml" } diff --git a/tests/unit/unittest/data/complete_testfile_1.cpp b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageApi/LandingPageApi.qml similarity index 61% rename from tests/unit/unittest/data/complete_testfile_1.cpp rename to share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageApi/LandingPageApi.qml index d53b0a1e98b..c1148980988 100644 --- a/tests/unit/unittest/data/complete_testfile_1.cpp +++ b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageApi/LandingPageApi.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. @@ -23,23 +23,22 @@ ** ****************************************************************************/ -void function() -{ - -} - -class Foo; -void functionWithArguments(int i, char *c, const Foo &ref) -{ - -} - -void otherFunction() -{ - -} - -void f() -{ +pragma Singleton +import QtQuick 2.15 +import StudioFonts +QtObject { + property bool qdsInstalled: true + property bool projectFileExists: true + property string qtVersion: "6.1" + property string qdsVersion: "3.6" + + function openQtc(rememberSelection) { console.log("openQtc", rememberSelection) } + function openQds(rememberSelection) { console.log("openQds", rememberSelection) } + function installQds() { console.log("installQds") } + function generateProjectFile() { console.log("generateProjectFile") } + + // This property ensures that the Titillium font will be loaded and + // can be used by the theme. + property string family: StudioFonts.titilliumWeb_regular } diff --git a/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageApi/qmldir b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageApi/qmldir new file mode 100644 index 00000000000..d3cbdae478c --- /dev/null +++ b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageApi/qmldir @@ -0,0 +1 @@ +singleton LandingPageApi 1.0 LandingPageApi.qml diff --git a/share/qtcreator/qmldesigner/landingpage/content/LandingSeparator.qml b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageTheme/Dummy.qml similarity index 85% rename from share/qtcreator/qmldesigner/landingpage/content/LandingSeparator.qml rename to share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageTheme/Dummy.qml index 344bbbcd3c9..3e1e28bc87a 100644 --- a/share/qtcreator/qmldesigner/landingpage/content/LandingSeparator.qml +++ b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageTheme/Dummy.qml @@ -28,13 +28,5 @@ ****************************************************************************/ import QtQuick 2.15 -import QtQuick.Controls 2.15 -import QdsLandingPageTheme as Theme -Rectangle { - color: Theme.Values.themeControlBackground - width: parent.width - height: 2 - z: 10 - anchors.horizontalCenter: parent.horizontalCenter -} +QtObject {} diff --git a/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageTheme/qmldir b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageTheme/qmldir new file mode 100644 index 00000000000..9ae3bc301f0 --- /dev/null +++ b/share/qtcreator/qmldesigner/landingpage/mockimports/LandingPageTheme/qmldir @@ -0,0 +1 @@ +Dummy 1.0 Dummy.qml diff --git a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt index 1af66d937b6..0b864f908c2 100644 --- a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt @@ -37,4 +37,5 @@ else() endif() @endif -install(TARGETS %{ProjectName}) +install(TARGETS %{ProjectName} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt index d33adb59eb8..53d5f414ca0 100644 --- a/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt @@ -4,4 +4,5 @@ project(%{ProjectName} LANGUAGES C) add_executable(%{ProjectName} %{CFileName}) -install(TARGETS %{ProjectName}) +install(TARGETS %{ProjectName} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt index c8a95f5a4ce..008eb2ff62e 100644 --- a/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt @@ -7,4 +7,5 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(%{ProjectName} %{CppFileName}) -install(TARGETS %{ProjectName}) +install(TARGETS %{ProjectName} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt index 03f9091f768..9d2fc4a82cc 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt @@ -28,4 +28,6 @@ set_target_properties(%{TargetName} PROPERTIES target_link_libraries(%{TargetName} PRIVATE Qt6::Quick) -install(TARGETS %{TargetName} BUNDLE DESTINATION .) +install(TARGETS %{TargetName} + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt index 79ad6ad2991..58af2d44a2b 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt @@ -71,7 +71,9 @@ set_target_properties(%{ProjectName} PROPERTIES WIN32_EXECUTABLE TRUE ) -install(TARGETS %{ProjectName} BUNDLE DESTINATION .) +install(TARGETS %{ProjectName} + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) if(QT_VERSION_MAJOR EQUAL 6) qt_import_qml_plugins(%{ProjectName}) diff --git a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt index 9dc83c698c0..b682c95f228 100644 --- a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt @@ -74,7 +74,9 @@ set_target_properties(%{ProjectName} PROPERTIES WIN32_EXECUTABLE TRUE ) -install(TARGETS %{ProjectName} BUNDLE DESTINATION .) +install(TARGETS %{ProjectName} + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) if(QT_VERSION_MAJOR EQUAL 6) qt_finalize_executable(%{ProjectName}) diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index c65ccab4138..c46be3c404b 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -66,6 +66,10 @@ Details: 詳細: + + Plugin Loader Messages + プラグインローダーからのメッセージ + ExtensionSystem::Internal::PluginErrorView @@ -299,6 +303,18 @@ Choose... 選択... + + The ssh-keygen tool was not found. + ssh-keygen ツールが見つかりませんでした。 + + + Refusing to overwrite existing private key file "%1". + 既存の秘密鍵ファイル "%1" の上書きを拒否しています。 + + + The ssh-keygen tool at "%1" failed: %2 + "%1"の ssh-keygen ツールが失敗しました: %2 + Key Generation Failed 鍵の生成に失敗 @@ -476,6 +492,10 @@ Name is empty. ファイル名が未入力です。 + + Enter project name + プロジェクト名を入力してください + Name does not match "%1". 名前が "%1" と合致しません。 @@ -515,6 +535,18 @@ ABI: ABI: + + Architecture (ABI): + アーキテクチャ (ABI): + + + Device definition: + デバイスの定義: + + + Overwrite existing AVD name + 既存の AVD 名を上書きする + AndroidCreateKeystoreCertificate @@ -668,6 +700,10 @@ <p>The adb tool in the Android SDK lists all connected devices if run via &quot;adb devices&quot;.</p> <p>Android SDK のツール adb を &quot;adb devices&quot; と実行すると、すべての接続されているデバイスが確認できます。</p> + + Always use this device for this project + このプロジェクトでは常にこのデバイスを使用する + No Device Found デバイスが見つかりません @@ -772,17 +808,85 @@ Use Gradle instead of Ant Ant ではなく Gradle を使用する + + Java Settings + Java の設定 + + + Open JDK download URL in the system's browser. + JDK のダウンロード URL をシステムのブラウザで開く。 + + + Android Settings + Android の設定 + + + Add the selected custom NDK. The toolchains and debuggers will be created automatically. + 選択したカスタム NDK を追加します。ツールチェインとデバッガが自動的に作成されます。 + + + Remove the selected NDK if it has been added manually. + 選択した NDK が手動で追加されている場合、それを削除して下さい。 + + + Android NDK list: + Android NDK の一覧: + + + Open Android SDK download URL in the system's browser. + システムのブラウザで Android SDK のダウンロード URL を開く。 + + + Open Android NDK download URL in the system's browser. + システムのブラウザで Android NDK のダウンロード URL を開く。 + + + Set Up SDK + SDK のセットアップ + + + Android OpenSSL settings (Optional) + Android OpenSSL の設定 (オプション) + + + OpenSSL binaries location: + OpenSSL バイナリの場所: + + + Download OpenSSL + OpenSSL をダウンロードする + + + Select the path of the prebuilt OpenSSL binaries. + プリビルドされた OpenSSL バイナリのパスを選択する。 + + + Refresh List + リストを更新 + + + Advanced Options... + 詳細オプション... + + + SDK Manager + SDK マネージャ + BareMetal::Internal::BareMetalDeviceConfigurationWizardSetupPage - Set up GDB Server or Hardware Debugger - GDB サーバまたはハードウェアデバッガのセットアップ + Set up Debug Server or Hardware Debugger + デバッグサーバーまたはハードウェアデバッガをセットアップ Name: 名前: + + Debug server provider: + デバッグサーバーを選択: + GDB server provider: GDB サーバープロバイダ: @@ -1149,8 +1253,16 @@ Local pulls are not applied to the master branch. 更新後のバージョン(&U) - <html><head/><body><p><b>NOTE: You will not be able to check in this file without merging the changes (not supported by the plugin)</b></p></body></html> - <html><head/><body><p><b>注意: 変更内容をマージする前にこのファイルの内容を確認することはできません(プラグインが未サポートの為)</b></p></body></html> + Multiple versions of "%1" can be checked out. Select the version to check out: + 複数のバージョンの "%1" をチェックアウトできます。チェックアウトするバージョンを選択してください: + + + &Loaded version + ロードされたバージョン(&L) + + + Note: You will not be able to check in this file without merging the changes (not supported by the plugin) + 注: 変更をマージしないと、このファイルをチェックインすることはできません (プラグインではサポートされていません) @@ -1302,6 +1414,10 @@ Local pulls are not applied to the master branch. Change... 変更... + + Base environment: + ベースとなる環境: + Core::Internal::NewDialog @@ -1406,6 +1522,38 @@ Local pulls are not applied to the master branch. Do not Save 保存しない + + &Diff + 差分表示(&D) + + + Do &Not Save + 保存しない(&N) + + + &Save + 保存(&S) + + + &Diff && Cancel + 差分表示してキャンセル(&D) + + + &Save All + すべて保存(&S) + + + &Diff All && Cancel + すべて差分表示してキャンセル(&D) + + + &Save Selected + 選択したファイルを保存(&S) + + + &Diff Selected && Cancel + 選択したファイルを差分表示してキャンセル(&D) + Save All すべて保存 @@ -1416,7 +1564,7 @@ Local pulls are not applied to the master branch. Save Selected - 選択されたファイルを保存 + 選択したファイルを保存 @@ -1450,10 +1598,30 @@ Local pulls are not applied to the master branch. <System Language> <システム言語> + + Show keyboard shortcuts in context menus (default: %1) + コンテキストメニューにキーボードショートカットを表示する (デフォルト: %1) + + + on + オン + + + off + オフ + Restart Required 再起動が必要です + + The high DPI settings will take effect after restart. + 高 DPI 設定は再起動後に有効になります。 + + + The language change will take effect after restart. + 言語の変更は、Qt Creator を再起動した後に反映されます。 + The language change will take effect after a restart of Qt Creator. 言語の変更は、Qt Creator を再起動した後に反映されます。 @@ -1471,6 +1639,14 @@ Local pulls are not applied to the master branch. Theme: テーマ: + + Enable high DPI scaling + 高 DPI スケーリングを有効にする + + + Text codec for tools: + ツール用文字コード: + Core::Internal::MimeTypeMagicDialog @@ -1504,7 +1680,7 @@ Local pulls are not applied to the master branch. Add Magic Header - マジックヘッダーの追加 + マジックヘッダの追加 Error @@ -1562,6 +1738,10 @@ Local pulls are not applied to the master branch. Range end: 終了位置: + + <html><head/><body><p><span style=" font-style:italic;">Note: Wide range values might impact performance when opening files.</span></p></body></html> + <html><head/><body><p><span style=" font-style:italic;">注意:広い範囲の値は、ファイルを開く際のパフォーマンスに影響を与える可能性があります。</span></p></body></html> + Core::Internal::MimeTypeSettingsPage @@ -1617,6 +1797,26 @@ Local pulls are not applied to the master branch. Remove 削除 + + Reset all MIME type definitions to their defaults. + すべての MIME タイプ定義をデフォルトに戻す。 + + + Reset MIME Types + MIME タイプのリセット + + + Reset the assigned handler for all MIME type definitions to the default. + すべての MIME タイプ定義に割り当てられたハンドラーをデフォルトに戻します。 + + + Reset Handlers + ハンドラーのリセット + + + A semicolon-separated list of wildcarded file names. + セミコロンで区切られたワイルドカードのファイル名の一覧。 + Core::RemoveFileDialog @@ -1748,6 +1948,10 @@ p, li { white-space: pre-wrap; } Days + + Make public: + 公開する: + CodePaster::Internal::SettingsPage @@ -1775,6 +1979,10 @@ p, li { white-space: pre-wrap; } Days + + Make pasted content public by default + 貼り付けたコンテンツをデフォルトで公開 + CppEditor::Internal::CppPreProcessorDialog @@ -1945,6 +2153,22 @@ In addition, Shift+Enter inserts an escape character at the cursor position and Completion 補完 + + Character threshold: + 文字数のしきい値: + + + Skip automatically inserted character if re-typed manually after completion or by pressing tab. + 補完後に自動的に挿入された文字が手動で再度タイプされた場合や、タブを押された場合はスキップします。 + + + Automatically overwrite closing parentheses and quotes. + 閉じ括弧や引用符を自動的に上書きする。 + + + Overwrite closing punctuation + 閉じ記号を上書きする + CppTools::Internal::CppCodeModelSettingsPage @@ -1976,6 +2200,34 @@ In addition, Shift+Enter inserts an escape character at the cursor position and <i>The Clang Code Model is disabled because the corresponding plugin is not loaded.</i> <i>対応するプラグインが読み込まれなかったため、Clang コードモデルを無効にします。</i> + + General + 一般 + + + Interpret ambiguous headers as C headers + 曖昧なヘッダを C ヘッダとして解釈する + + + <html><head/><body><p>When precompiled headers are not ignored, the parsing for code completion and semantic highlighting will process the precompiled header before processing any file.</p></body></html> + <html><head/><body><p>コンパイル済みヘッダを無視しない場合、コード補完やハイライト用の解析にはその他のファイルよりもコンパイル済みヘッダを優先して使用します。</p></body></html> + + + Ignore precompiled headers + コンパイル済みのヘッダを無視する + + + Do not index files greater than + インデックスしない最小ファイルサイズの指定 + + + MB + MB + + + Clang Code Model + Clang コードモデル + CppTools::Internal::CppCodeStyleSettingsPage @@ -1989,7 +2241,7 @@ In addition, Shift+Enter inserts an escape character at the cursor position and Content - 内容 + コンテンツ Indent @@ -2215,7 +2467,7 @@ if they would align to the next line CppTools::Internal::CppFileSettingsPage Headers - ヘッダー + ヘッダ &Suffix: @@ -2231,11 +2483,11 @@ if they would align to the next line Paths can be absolute or relative to the directory of the current open document. These paths are used in addition to current directory on Switch Header/Source. - コンマで区切られたヘッダーのパスのリストです。 + コンマで区切られたヘッダのパスのリストです。 パスは絶対パスでも現在開いているドキュメントのあるディレクトリからの相対パスでもかまいません。 -これらのパスに加えてカレントディレクトリがヘッダーとソースの切替時に使用されます。 +これらのパスに加えてカレントディレクトリがヘッダとソースの切替時に使用されます。 Sources @@ -2259,7 +2511,7 @@ These paths are used in addition to current directory on Switch Header/Source. +これらのパスに加えてカレントディレクトリがヘッダとソースの切替時に使用されます。 &Lower case file names @@ -2277,9 +2529,9 @@ These paths are used in addition to current directory on Switch Header/Source.Comma-separated list of header prefixes. These prefixes are used in addition to current file name on Switch Header/Source. - コンマで区切られたヘッダープレフィックスのリスト。 + コンマで区切られたヘッダプレフィックスのリスト。 -これらのプレフィックスはヘッダー/ソースの切替時に現在のファイル名に付与する形で使用されます。 +これらのプレフィックスはヘッダ/ソースの切替時に現在のファイル名に付与する形で使用されます。 P&refixes: @@ -2291,7 +2543,19 @@ These prefixes are used in addition to current file name on Switch Header/Source These prefixes are used in addition to current file name on Switch Header/Source. コンマで区切られたソースプレフィックスのリスト。 -これらのプレフィックスはヘッダー/ソースの切替時に現在のファイル名に付与する形で使用されます。 +これらのプレフィックスはヘッダ/ソースの切替時に現在のファイル名に付与する形で使用されます。 + + + Include guards + インクルードガード + + + Uses "#pragma once" instead of "#ifndef" include guards. + "#ifndef"インクルードガードの代わりに"#pragma once"を使用する。 + + + Use "#pragma once" instead of "#ifndef" guards + "#ifndef"ガードの代わりに"#pragma once"を使用する @@ -2376,6 +2640,10 @@ These prefixes are used in addition to current file name on Switch Header/Source This is useful to catch runtime error messages, for example caused by assert(). ランタイムエラーメッセージ(たとえば assert() からのメッセージ)を捕捉するのに便利です。 + + CDB + CDB + <html><head/><body><p>Uses CDB's native console instead of Qt Creator's console for console applications. The native console does not prompt on application exit. It is suitable for diagnosing cases in which the application does not start up properly in Qt Creator's console and the subsequent attach fails.</p></body></html> <html><head/><body><p>コンソールアプリケーションで Qt Creator のコンソールの代わりに CDB のネイティブコンソールを使用します。ネイティブコンソールはアプリケーション終了時にプロンプトを表示しません。アプリケーションが Qt Creator のコンソールで正常に起動できずにアタッチに失敗してしまうようなケースを診断するのに適しています。</p></body></html> @@ -2384,6 +2652,26 @@ These prefixes are used in addition to current file name on Switch Header/Source <html><head/><body><p>Attempts to correct the location of a breakpoint based on file and line number should it be in a comment or in a line for which no code is generated. The correction is based on the code model.</p></body></html> <html><head/><body><p>コメントや実行コードが生成されない部分へのブレークポイントの情報(ファイルや行番号)の補正を試みます。補正はコードモデルに基づいて行われます。</p></body></html> + + <html><head/><body><p>Uses CDB's native console for console applications. This overrides the setting in Environment > System. The native console does not prompt on application exit. It is suitable for diagnosing cases in which the application does not start up properly in the configured console and the subsequent attach fails.</p></body></html> + <html><head/><body><p>コンソールアプリケーションで CDB のネイティブコンソールを使用します。この設定は、[環境]>[システム]の設定よりも優先されます。ネイティブコンソールはアプリケーション終了時にプロンプトを表示しません。アプリケーションが Qt Creator のコンソールで正常に起動できずにアタッチに失敗してしまうようなケースを診断するのに適しています。</p></body></html> + + + Use Python dumper + Python ダンパを使う + + + Add Exceptions to Issues View + 問題ビューに例外を追加 + + + First chance exceptions + ファーストチャンスの例外 + + + Second chance exceptions + セカンドチャンスの例外 + Debugger::Internal::SymbolPathsDialog @@ -2549,6 +2837,42 @@ These prefixes are used in addition to current file name on Switch Header/Source Vim tabstop option. Vim の tabstop オプションです。 + + Does not interpret key sequences like Ctrl-S in FakeVim but handles them as regular shortcuts. This gives easier access to core functionality at the price of losing some features of FakeVim. + FakeVim の Ctrl-S のようなキーシーケンスを解釈せず、通常のショートカットとして扱います。これにより、コア機能へのアクセスが容易になりますが、 FakeVim のいくつかの機能は失われます。 + + + Does not interpret some key presses in insert mode so that code can be properly completed and expanded. + 挿入モードで一部のキーを押しても解釈しないため、コードが適切に補完・展開される。 + + + Blinking cursor + カーソルの点滅 + + + Plugin Emulation + プラグイン・エミュレーション + + + vim-exchange + vim-exchange + + + argtextobj.vim + argtextobj.vim + + + ReplaceWithRegister + ReplaceWithRegister + + + vim-commentary + vim-commentary + + + vim-surround + vim-surround + GenericProjectManager::Internal::GenericMakeStep @@ -2587,13 +2911,33 @@ These prefixes are used in addition to current file name on Switch Header/Source Rename Branch ブランチ名の変更 + + Add Tag + タグを追加 + + + Tag name: + タグ名: + + + Rename Tag + タグ名の変更 + + + Track remote branch "%1" + リモート・ブランチ "%1" を追跡する + + + Track local branch "%1" + ローカル・ブランチ "%1" を追跡する + Track remote branch '%1' リモートブランチ '%1' を追跡する - Track local branch '%1' - ローカルブランチ '%1' を追跡する + Checkout new branch + 新しいブランチをチェックアウト @@ -2655,7 +2999,7 @@ These prefixes are used in addition to current file name on Switch Header/Source Re&name - 名前を変更(&R) + 名前を変更(&N) &Checkout @@ -2822,6 +3166,10 @@ These prefixes are used in addition to current file name on Switch Header/Source Select a Git Commit Git コミットの選択 + + &Archive... + アーカイブする(&A)... + Gerrit::Internal::GerritPushDialog @@ -2849,10 +3197,44 @@ These prefixes are used in addition to current file name on Switch Header/Source &Reviewers: レビュアー(&R): + + Cannot find a Gerrit remote. Add one and try again. + リモートの Gerrit が見つかりません。追加して再度お試しください。 + Number of commits between %1 and %2: %3 %1 と %2 間のコミット数: %3 + + Are you sure you selected the right target branch? + ターゲットブランチの選択は間違っていないでしょうか? + + + Checked - Mark change as WIP. +Unchecked - Mark change as ready for review. +Partially checked - Do not change current state. + チェック済 - 変更点を WIP としてマークします。 +未チェック - 変更点をレビューする準備ができているとマークします。 +一部チェック - 現在の状態を変更しない。 + + + Supported on Gerrit 2.15 and later. + Gerrit 2.15 以降でサポートされています。 + + + Checked - The change is a draft. +Unchecked - The change is not a draft. + チェック済 - 変更点はドラフトです。 +未チェック - 変更点はドラフトではありません。 + + + No remote branches found. This is probably the initial commit. + リモートブランチは見つかりませんでした。これが最初のコミットである可能性が高いです。 + + + Branch name + ブランチ名 + ... Include older branches ... ... より古いブランチを含める ... @@ -2885,6 +3267,22 @@ Partial names can be used if they are unambiguous. To: To: + + Checked - Mark change as private. +Unchecked - Remove mark. +Partially checked - Do not change current state. + チェック済 - 変更点をプライベートとしてマークします。 +未チェック - マークを削除します。 +一部チェック - 現在の状態を変更しない。 + + + &Draft/private + ドラフト/プライベート(&D) + + + &Work-in-progress + 作業中(&WIP) + Git::Internal::GitSubmitPanel @@ -2923,6 +3321,15 @@ Partial names can be used if they are unambiguous. By&pass hooks: フックをバイパスする(&P): + フックをバイパスする(&P): + + + By&pass hooks + フックをバイパスする(&P) + + + Sign off + サインオフ @@ -2966,6 +3373,14 @@ Partial names can be used if they are unambiguous. &Remove 削除(&R) + + A remote with the name "%1" already exists. + "%1" という名前のリモートは既に存在します。 + + + The URL may not be valid. + URL が有効でない可能性があります。 + Delete Remote リモートを削除 @@ -3352,6 +3767,15 @@ Add, modify, and remove document filters, which determine the documentation set General 一般 + + Change takes effect after reloading help pages. + ヘルプページの再読み込み後に変更が反映されます。 + + + Default (%1) + Default viewer backend + デフォルト (%1) + Import Bookmarks ブックマークをインポート @@ -3384,6 +3808,26 @@ Add, modify, and remove document filters, which determine the documentation set Always Show in External Window 常に別ウィンドウで表示 + + Note: The above setting takes effect only if the HTML file does not use a style sheet. + 注:上記の設定は、HTML ファイルがスタイルシートを使用していない場合にのみ有効です。 + + + Zoom: + 拡大率: + + + % + % + + + Enable scroll wheel zooming + スクロールホイールによるズームを有効にする + + + Viewer backend: + ビューアーのバックエンド: + Help::Internal::RemoteFilterOptions @@ -3430,6 +3874,10 @@ Add, modify, and remove document filters, which determine the documentation set Export as Image 画像としてエクスポート + + Export Images of Multiple Sizes + 複数のサイズの画像をエクスポートする + Ios::Internal::IosBuildStep @@ -3445,6 +3893,11 @@ Add, modify, and remove document filters, which determine the documentation set Extra arguments: 追加引数: + + iOS build + iOS BuildStep display name. + iOS ビルド + xcodebuild xcodebuild @@ -3502,6 +3955,10 @@ Add, modify, and remove document filters, which determine the documentation set Description: 説明: + + Macros + マクロ + Macros::Internal::SaveDialog @@ -3666,7 +4123,7 @@ Add, modify, and remove document filters, which determine the documentation set For example: 'https://[user[:pass]@]host[:port]/[path]'. - 例: 'https://[user[:pass]@]host[:port]/[path]' + 例: 'https://[user[:pass]@]host[:port]/[path]'. @@ -3764,6 +4221,18 @@ Add, modify, and remove document filters, which determine the documentation set Test テスト + + Perforce Command + Perforce コマンド + + + Testing... + 自動テスト... + + + Test succeeded (%1). + テストが成功しました (%1)。 + Perforce Perforce @@ -3998,6 +4467,10 @@ Add, modify, and remove document filters, which determine the documentation set Show Running Processes... 実行中のプロセスを表示... + + Devices + デバイス + ProjectExplorer::Internal::DeviceTestDialog @@ -4051,6 +4524,14 @@ Add, modify, and remove document filters, which determine the documentation set Display right &margin at column: 右マージンを表示する列位置(&M): + + If available, use a different margin. For example, the ColumnLimit from the ClangFormat plugin. + 可能であれば、別のマージンを使用してください。例えば、clangFormatプラグインのColumnLimitなどです。 + + + Use context-specific margin + 文脈に応じたマージンを使用する + ProjectExplorer::Internal::ProcessStepWidget @@ -4177,6 +4658,62 @@ Add, modify, and remove document filters, which determine the documentation set Same Build Directory 同一ビルドディレクトリ + + Closing Projects + プロジェクトを閉じる + + + Close source files along with project + プロジェクトと一緒にソースファイルを閉じる + + + Abort on error when building all projects + すべてのプロジェクトをビルドする際にエラーが発生したら中止する + + + Enable this if your system becomes unresponsive while building. + ビルド中にシステムが反応しなくなる場合に有効にします。 + + + Start build processes with low priority + 優先度の低いビルドプロセスを開始する + + + Add linker library search paths to run environment + リンカのライブラリ検索パスを実行環境に追加する + + + Creates suitable run configurations automatically when setting up a new kit. + 新しいキットをセットアップする際に、適切な実行構成を自動的に作成する。 + + + Create suitable run configurations automatically + 適切な実行構成を自動的に作成する + + + Clear issues list on new build + 新しいビルド時に課題リストをクリアする + + + Build before deploying: + デプロイする前にビルドする: + + + Default for "Run in terminal": + "ターミナルで実行"のデフォルト: + + + Enabled + 有効 + + + Disabled + 無効 + + + Deduced from Project + プロジェクトから推測する + ProjectExplorer::Internal::WizardPage @@ -4251,6 +4788,10 @@ Add, modify, and remove document filters, which determine the documentation set Rename Session セッションのリネーム + + &Switch To + 切り替え(&S) + ProjectExplorer::Internal::TargetSettingsWidget @@ -4289,6 +4830,22 @@ Add, modify, and remove document filters, which determine the documentation set Flags: フラグ: + + Installation flags: + インストールフラグ: + + + Installation directory: + インストールディレクトリ: + + + Use default location + デフォルトのロケーションを使用する + + + Property "%1" cannot be set here. Please use the dedicated UI element. + プロパティ "%1" はここでは設定できません。専用の UI 要素を使用してください。 + Keep going ビルドを継続する @@ -4412,7 +4969,7 @@ Add, modify, and remove document filters, which determine the documentation set The header file - ヘッダーファイル + ヘッダファイル &Sources @@ -4428,11 +4985,11 @@ Add, modify, and remove document filters, which determine the documentation set Widget h&eader file: - ウィジェットヘッダーファイル(&E): + ウィジェットヘッダファイル(&E): The header file has to be specified in source code. - ソースコードで指定されるヘッダーファイル。 + ソースコードで指定されるヘッダファイル。 Widge&t source file: @@ -4452,7 +5009,7 @@ Add, modify, and remove document filters, which determine the documentation set Plugin &header file: - プラグインヘッダーファイル(&H): + プラグインヘッダファイル(&H): Plugin sou&rce file: @@ -4531,7 +5088,7 @@ Add, modify, and remove document filters, which determine the documentation set Collection header file: - コレクションヘッダーファイル: + コレクションヘッダファイル: Collection source file: @@ -4655,6 +5212,10 @@ Add, modify, and remove document filters, which determine the documentation set Remove "d" suffix for release version リリース版からは "d" 後置詞を削除する + + Library type: + ライブラリタイプ: + QmakeProjectManager::Internal::MakeStep @@ -4829,7 +5390,7 @@ Add, modify, and remove document filters, which determine the documentation set Checked - チェック済み + チェック済 Text displayed on the button. @@ -4908,7 +5469,7 @@ Add, modify, and remove document filters, which determine the documentation set Checked - チェック済み + チェック済 Focus on press @@ -4950,7 +5511,7 @@ Add, modify, and remove document filters, which determine the documentation set Checked - チェック済み + チェック済 Determines whether the radio button is checked or not. @@ -4989,7 +5550,7 @@ Add, modify, and remove document filters, which determine the documentation set Document margins - ドキュメントマージン + ドキュメントのマージン Frame width @@ -5187,6 +5748,10 @@ Add, modify, and remove document filters, which determine the documentation set Height 高さ + + The made changes will take effect after a restart of the QML Emulation layer or %1. + 変更した内容は、QML Emulation レイヤまたは %1 の再起動後に有効になります。 + Qt Quick Designer Qt Quick Designer @@ -5319,6 +5884,70 @@ Add, modify, and remove document filters, which determine the documentation set Warn about using .qml files instead of .ui.qml files .ui.qml ファイルではなく .qml ファイルを使用する場合に警告する + + Parent component padding: + 親コンポーネントのパディング: + + + Sibling component spacing: + 兄弟コンポーネントとの間隔: + + + Width: + 幅: + + + Height: + 高さ: + + + Root Item Init Size + ルートアイテム イニシャルサイズ + + + Controls 2 style: + Controls 2 のスタイル: + + + Path to the QML emulation layer executable (qmlpuppet). + QML エミュレーションレイヤーの実行ファイル (qmlpuppet) へのパス。 + + + Resets the path to the built-in QML emulation layer. + パスを内蔵の QML エミュレーションレイヤーにリセットします。 + + + Use QML emulation layer that is built with the selected Qt + 選択した Qt でビルドされた QML エミュレーション・レイヤーを使用する + + + Warn about unsupported features of .ui.qml files in code editor + .ui.qml ファイル で未対応の機能をコードエディタ内で警告する + + + qsTranslate() + qsTranslate() + + + Features + 機能 + + + Enable Timeline editor + タイムライン・エディターを有効にする + + + Always open ui.qml files in Design mode + ui.qml ファイルを常にデザインモードで開く + + + Root Component Init Size + ルートコンポーネントの初期サイズ + + + Warn about unsupported features in .ui.qml files + .ui.qml ファイルで未対応の機能を警告する + QmlJSEditor::Internal::ComponentNameDialog @@ -5346,6 +5975,14 @@ Add, modify, and remove document filters, which determine the documentation set Invalid path 無効なパス + + Component already exists + コンポーネントは既に存在しています + + + Component exists already + コンポーネントが既に存在している + Property assignments for 残すプロパティ @@ -5354,6 +5991,10 @@ Add, modify, and remove document filters, which determine the documentation set Component Name コンポーネント名 + + ui.qml file + ui.qml ファイル + QmlJSEditor::Internal::QuickToolBarSettingsPage @@ -5400,6 +6041,10 @@ Add, modify, and remove document filters, which determine the documentation set Duration 持続時間 + + Close + 閉じる + QmlProfiler::Internal::QmlProfilerAttachDialog @@ -5427,6 +6072,10 @@ Add, modify, and remove document filters, which determine the documentation set Start QML Profiler QML プロファイラの開始 + + Select an externally started QML-debug enabled application.<p>Commonly used command-line arguments are: + 外部から起動された QML-debug 対応のアプリケーションを選択します。<p>一般的に使用されるコマンドライン引数は以下の通りです: + Kit: キット: @@ -5461,6 +6110,14 @@ Add, modify, and remove document filters, which determine the documentation set Clean Up クリーンアップ + + Register documentation: + ドキュメントを登録する: + + + Link with Qt... + Qt にリンクする... + QtSupport::Internal::ShowBuildLog @@ -5563,6 +6220,14 @@ Add, modify, and remove document filters, which determine the documentation set &Check host key ホスト鍵の確認(&C) + + Default + 既定 + + + Specific &key + 特定のキー(&K) + RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage @@ -5646,7 +6311,15 @@ Add, modify, and remove document filters, which determine the documentation set Remove Missing Files - 存在しないファイルの削除 + 存在しないファイルを削除する + + + Add Prefix + プレフィックスの追加 + + + Add Files + ファイルの追加 @@ -5907,6 +6580,42 @@ Backspace キーが押された時のインデントの動作を指定します Enable smart selection changing スマートな選択変更を有効にする + + For the file patterns listed, do not trim trailing whitespace. + リストアップされたファイルパターンでは、末尾の空白文字を削除しない。 + + + Skip clean whitespace for file types: + 空白文字除去をスキップするファイルタイプ: + + + List of wildcard-aware file patterns, separated by commas or semicolons. + ワイルドカード形式のファイルパターンをカンマまたはセミコロンで区切った一覧にします。 + + + <html><head/><body> +<p>How text editors should deal with UTF-8 Byte Order Marks. The options are:</p> +<ul ><li><i>Add If Encoding Is UTF-8:</i> always add a BOM when saving a file in UTF-8 encoding. Note that this will not work if the encoding is <i>System</i>, as the text editor does not know what it actually is.</li> +<li><i>Keep If Already Present: </i>save the file with a BOM if it already had one when it was loaded.</li> +<li><i>Always Delete:</i> never write an UTF-8 BOM, possibly deleting a pre-existing one.</li></ul> +<p>Note that UTF-8 BOMs are uncommon and treated incorrectly by some editors, so it usually makes little sense to add any.</p> +<p>This setting does <b>not</b> influence the use of UTF-16 and UTF-32 BOMs.</p></body></html> + <html><head/><body> +<p>このオプションで、テキストエディタにおける UTF-8 の BOM (Byte Order Mark) の処理方法を指定します。</p> +<ul ><li><i>文字コードが UTF-8 の時に追加:</i> ファイルのエンコーディングが UTF-8 の時には常に BOM を追加します。エンコーディングが <i>System</i> の場合、Qt Creator が実際のエンコーディングを知ることができないため、このオプションは機能しません。</li> +<li><i>読込時の状態を保存:</i> ファイルの読込時に BOM が存在した場合のみ、BOM 付きで保存します。</li> +<li><i>常に削除する:</i> UTF-8 BOM を常に削除します。読込時に BOM が存在していた場合でも削除します。</li></ul> +<p>UTF-8 BOM の利用は一般的では無く、エディタによっては正常に扱えないことがあることに注意してください。多くの場合は BOM を追加することに意味はありません。</p> +<p>この設定は UTF-16 や UTF-32 の BOM には<b>影響しません</b>。</p></body></html> + + + Default line endings: + デフォルトの改行コード: + + + Prefer single line comments + 一行形式のコメントを優先する + TextEditor::Internal::CodeStyleSelectorWidget @@ -5975,7 +6684,7 @@ Backspace キーが押された時のインデントの動作を指定します No Underline - 下線なし + 下線なし Single Underline @@ -6001,6 +6710,38 @@ Backspace キーが押された時のインデントの動作を指定します Dash-Dot-Dot Underline 二点鎖線 + + <p align='center'><b>Builtin color schemes need to be <a href="copy">copied</a><br/> before they can be changed</b></p> + <p align='center'><b>組み込みの配色を変更するには、<a href="copy">コピー</a><br/>が必要です + + + Lightness: + 輝度: + + + Saturation: + 彩度: + + + Underline + 下線 + + + Relative Foreground + 相対的な前景色 + + + Relative Background + 相対的な背景色 + + + Font + フォント + + + Color: + 色: + TextEditor::Internal::DisplaySettingsPage @@ -6076,6 +6817,46 @@ Backspace キーが押された時のインデントの動作を指定します Highlight search results on the scrollbar 検索結果をスクロールバー上でハイライト表示する + + Animate navigation within file + ファイル内のナビゲーションをアニメーション化する + + + Line annotations + ラインアノテーション + + + Next to editor content + エディターコンテンツの隣 + + + Next to right margin + 右マージンの隣 + + + Aligned at right side + 右側に整列 + + + Between lines + 行間 + + + If available, use a different margin. For example, the ColumnLimit from the clang-format plugin. + 可能であれば、別のマージンを使用してください。例えば、clang-formatプラグインのColumnLimitなどです。 + + + Use context specific margin + 文脈に応じたマージンを使用する + + + If available, use a different margin. For example, the ColumnLimit from the ClangFormat plugin. + 可能であれば、別のマージンを使用してください。例えば、clangFormat プラグインの ColumnLimit などです。 + + + Use context-specific margin + 文脈に応じたマージンを使用する + TextEditor::Internal::FontSettingsPage @@ -6148,6 +6929,46 @@ Backspace キーが押された時のインデントの動作を指定します Ignored file patterns: 無視するファイルパターン: + + <html><head/><body><p>Highlight definitions are provided by the <a href="https://api.kde.org/frameworks/syntax-highlighting/html/index.html">KSyntaxHighlighting</a> engine.</p></body></html> + <html><head/><body><p>ハイライトの定義は、<a href="https://api.kde.org/frameworks/syntax-highlighting/html/index.html">KSyntaxHighlighting</a> engineによって提供されます。</p></body></html> + + + Download missing and update existing syntax definition files. + 不足もしくは更新のある構文定義ファイルをダウンロードします。 + + + Download Definitions + 定義をダウンロード + + + User Highlight Definition Files + ユーザーハイライト定義ファイル + + + Reload externally modified definition files. + 外部から変更された定義ファイルを再読み込みする。 + + + Reload Definitions + 定義を再読み込みする + + + Reset definitions remembered for files that can be associated with more than one highlighter definition. + 複数のハイライトの定義と関連付けることができるファイルに記憶された定義をリセットする. + + + Reset Remembered Definitions + 記憶された定義をリセットする + + + Generic Highlighter + 汎用ハイライタ + + + Download finished + ダウンロードの完了 + TextEditor::Internal::ManageDefinitionsDialog @@ -6208,7 +7029,7 @@ Backspace キーが押された時のインデントの動作を指定します Group: - グループ: + グループ: Add @@ -6230,6 +7051,22 @@ Backspace キーが押された時のインデントの動作を指定します Reset All すべて戻す + + Error While Saving Snippet Collection + テンプレートコレクション保存中にエラー + + + Error + エラー + + + No snippet selected. + テンプレートが選択されていません。 + + + Snippets + テンプレート + TextEditor::Internal::TabSettingsWidget @@ -6446,6 +7283,10 @@ Influences the indentation of continuation lines. Check Now 今すぐ確認 + + Automatically runs a scheduled check for updates on a time interval basis. The automatic check for updates will be performed at the scheduled date, or the next startup following it. + 時間間隔でスケジュールされたアップデートのチェックを自動的に実行します。アップデートの自動チェックは、スケジュールされた日付、またはその次の起動時に実行されます。 + Valgrind::Internal::ValgrindConfigWidget @@ -6565,6 +7406,10 @@ Influences the indentation of continuation lines. Valgrind Command Valgrind コマンド + + KCachegrind Command + KCachegrind コマンド + Valgrind Suppression Files Valgrind 抑制ファイル @@ -6573,6 +7418,10 @@ Influences the indentation of continuation lines. Valgrind Suppression File (*.supp);;All Files (*) Valgrind 抑制ファイル (*.supp);;すべてのファイル (*) + + Valgrind + Valgrind + <html><head/><body> <p>Does full cache simulation.</p> @@ -6615,6 +7464,34 @@ With cache simulation, further event counters are enabled: Collects information for system call times. システムコールの処理時間を収集します。 + + KCachegrind executable: + KCachegrind の実行ファイル: + + + Valgrind Generic Settings + Valgrind の汎用設定 + + + Valgrind arguments: + Valgrind の引数: + + + MemCheck Memory Analysis Options + MemCheck のメモリ解析オプション + + + Extra MemCheck arguments: + MemCheck の追加引数: + + + CallGrind Profiling Options + CallGrind のプロファイリングオプション + + + Extra CallGrind arguments: + CallGrind の追加引数: + VcsBase::Internal::CleanDialog @@ -6670,8 +7547,8 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ A file listing nicknames in a 4-column mailmap format: 'name <email> alias <email>'. - 4列の mailmap フォーマットでユーザー名とメールアドレスを記述したファイル: -'name <email> alias <email>' + 4列のメールマップ形式でニックネームをリストアップしたファイル: +'name <email> alias <email>'. Reset information about which version control system handles which directory. @@ -6725,6 +7602,44 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ %1 %2/%n ファイル + + Warning: The commit message is very short. + 警告: コミットメッセージが短過ぎます。 + + + Warning: The commit subject is too long. + 警告: コミット件名が長過ぎます。 + + + Hint: Aim for a shorter commit subject. + ヒント: コミットの件名を短くすることを目指してください。 + + + Hint: The second line of a commit message should be empty. + ヒント:コミットメッセージの2行目は空欄にしてください。 + + + <p>Writing good commit messages</p><ul><li>Avoid very short commit messages.</li><li>Consider the first line as subject (like in email) and keep it shorter than %1 characters.</li><li>After an empty second line, a longer description can be added.</li><li>Describe why the change was done, not how it was done.</li></ul> + <p>良いコミットメッセージを書くために</p><ul><li>。非常に短いコミットメッセージは避けましょう。</li><li>1行目を(電子メールのように)件名と考え、%1文字より短くします。</li><li>空の2行目の後に、より長い説明を追加することができます。</li><li>どのように行われたかではなく、なぜその変更が行われたのかを記述してください + + + <p>Writing good commit messages</p><ul><li>Avoid very short commit messages.</li><li>Consider the first line as subject (like in email) and keep it shorter than %n characters.</li><li>After an empty second line, a longer description can be added.</li><li>Describe why the change was done, not how it was done.</li></ul> + + <p>良いコミットメッセージを書くために</p><ul><li>。非常に短いコミットメッセージは避けましょう。</li><li>1行目を(電子メールのように)件名と考え、 %n 文字より短くします。</li><li>空の2行目の後に、より長い説明を追加することができます。</li><li>どのように行われたかではなく、なぜその変更が行われたのかを記述してください + + + + Update in progress + アップデート中 + + + Description is empty + 説明文が空欄です + + + No files checked + ファイルがチェックされていません + &Commit コミット(&C) @@ -6772,7 +7687,7 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Delete Folder - フォルダの削除 + フォルダを削除する Rename Folder @@ -6824,19 +7739,48 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ メインウィンドウ - - StandardTextGroupBox - - - - - TextEditor Text Editor テキストエディタ + + Cannot create temporary file "%1": %2. + 一時ファイル "%1" を作成できません: %2. + + + Failed to format: %1. + 整形に失敗しました: %1. + + + Cannot read file "%1": %2. + ファイル "%1" が読み込めません: %2. + + + Cannot call %1 or some other error occurred. + %1 が呼び出せないかその他のエラーが発生しました。 + + + Cannot call %1 or some other error occurred. Timeout reached while formatting file %2. + %1 が呼び出せないかその他のエラーが発生しました。ファイル %2 の整形中にタイムアウトが発生しました。 + + + Error in text formatting: %1 + テキストフォーマットのエラー: %1 + + + Could not format file %1. + ファイル %1 を整形できませんでした。 + + + File %1 was closed. + ファイル %1 が閉じられました。 + + + File was modified. + ファイルは編集されています。 + BorderImageSpecifics @@ -6844,6 +7788,62 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Source ソース + + Border left + 左の枠幅 + + + Border right + 右の枠幅 + + + Border top + 上の枠幅 + + + Border bottom + 下の枠幅 + + + Horizontal tile mode + 水平方向のタイルモード + + + Vertical tile mode + 垂直方向のタイルモード + + + Mirror + ミラー + + + Specifies whether the image should be horizontally inverted. + 画像を水平方向に反転させるかどうかを指定する。 + + + Smooth + スムーズ + + + Specifies whether the image is smoothly filtered when scaled or transformed. + 画像を拡大・縮小・変換する際に、スムーズにフィルタリングするかどうかを指定する。 + + + Cache + キャッシュ + + + Specifies whether the image should be cached. + 画像をキャッシュするかどうかを指定します。 + + + Asynchronous + 非同期 + + + Specifies that images on the local filesystem should be loaded asynchronously in a separate thread. + ローカルファイルシステム上の画像を、別のスレッドで非同期に読み込むことを指定します。 + Border Image 枠画像 @@ -6882,6 +7882,11 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ None or multiple items selected. 何も選択されていないか複数のアイテムが選択されています。 + 何も選択されていないか複数のアイテムが選択されています。 + + + None or multiple components selected. + 何も選択されていないか複数のコンポーネントが選択されています。 @@ -6890,6 +7895,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Flow フローレイアウト + + Layout direction + レイアウト方向 + Spacing 間隔 @@ -6917,6 +7926,26 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Flow 優先レイアウト軸 + + Layout direction + レイアウト方向 + + + Horizontal component alignment + 水平方向のコンポーネント配置 + + + Vertical component alignment + 垂直方向のコンポーネント配置 + + + Horizontal item alignment + 水平方向のアイテム配置 + + + Vertical item alignment + 垂直方向のアイテム配置 + Spacing 間隔 @@ -6940,6 +7969,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Cache buffer キャッシュバッファ + + Cell size + セルサイズ + Flow 優先レイアウト軸 @@ -6951,6 +7984,15 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Determines whether the grid wraps key navigation. キーボードでの移動時に折り返すかどうかを指定します。 + キーボードでの移動時に折り返すかどうかを指定します。 + + + Whether the grid wraps key navigation. + グリッドがキーナビゲーションをラップするかどうか。 + + + Layout direction + レイアウト方向 Snap mode @@ -6980,6 +8022,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Move animation duration of the highlight delegate. ハイライトデリゲートが移動する時のアニメーションの持続時間です。 + + Whether the highlight is managed by the view. + ハイライトをビューで管理するかどうか。 + Move speed 移動速度 @@ -7039,6 +8085,62 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Source size ソースサイズ + + Horizontal alignment + 水平方向の配置 + + + Vertical alignment + 垂直方向の配置 + + + Asynchronous + 非同期 + + + Loads images on the local filesystem asynchronously in a separate thread. + ローカルファイルシステム上の画像を、別のスレッドで非同期に読み込みます。 + + + Auto transform + 自動変換 + + + Automatically applies image transformation metadata such as EXIF orientation. + EXIF オリエンテーションなどの画像変換メタデータを自動的に適用する。 + + + Cache + キャッシュ + + + Caches the image. + 画像をキャッシュする。 + + + Mipmap + ミップマップ + + + Uses mipmap filtering when the image is scaled or transformed. + 画像の拡大・縮小・変換時にミップマップフィルタリングを行う。 + + + Mirror + ミラー + + + Inverts the image horizontally. + 画像を水平方向に反転させる。 + + + Smooth + スムーズ + + + Smoothly filters the image when it is scaled or transformed. + 画像を拡大・縮小・変形する際に、スムーズにフィルターをかける。 + ListViewSpecifics @@ -7062,6 +8164,14 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Determines whether the grid wraps key navigation. キーボードでの移動時に折り返すかどうかを指定します。 + + Whether the grid wraps key navigation. + グリッドがキーナビゲーションをラップするかどうか。 + + + Whether the grid wraps key navigation. + グリッドがキーナビゲーションをラップするかどうか。 + Orientation 方向 @@ -7070,6 +8180,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Orientation of the list. リストの方向です。 + + Layout direction + レイアウト方向 + Snap mode 接着モード @@ -7107,12 +8221,28 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ ハイライトデリゲートが移動する時のアニメーションの持続時間です。 - Move speed + Move velocity 移動速度 + + Move animation velocity of the highlight delegate. + highlight デリゲートのアニメーションの移動速度です。 + + + Whether the highlight is managed by the view. + ハイライトをビューで管理するかどうか。 + + + Move speed + 移動速度 + Move animation speed of the highlight delegate. - ハイライトデリゲートが移動する時のアニメーションの速度です。 + ハイライトデリゲートが移動する時のアニメーションの速度です。 + + + Spacing between components. + コンポーネント同士の間隔です。 Resize duration @@ -7122,6 +8252,14 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Resize animation duration of the highlight delegate. ハイライトデリゲートがリサイズする時のアニメーションの持続時間です。 + + Resize velocity + リサイズ速度 + + + Resize animation velocity of the highlight delegate. + ハイライトデリゲートがリサイズする時のアニメーションの速度です。 + Preferred begin 推奨開始位置 @@ -7157,6 +8295,116 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Enabled 有効化 + + Accepts mouse events. + マウスイベントを受信する。 + + + Hover enabled + ホバーの有効化 + + + Handles hover events. + ホバーイベントを処理する。 + + + Accepted buttons + 受け入れるボタン + + + Mouse buttons that the mouse area reacts to. + マウスエリアが反応するマウスボタン。 + + + Press and hold interval + 長押し時のインターバル + + + Overrides the elapsed time in milliseconds before pressAndHold signal is emitted. + PressAndHold シグナルが発せられるまでの経過時間をミリ秒単位でオーバーライドします。 + + + Scroll gesture enabled + スクロールジェスチャー対応 + + + Responds to scroll gestures from non-mouse devices. + 非マウスデバイスからのスクロールジェスチャーに対応する。 + + + Cursor shape + カーソル形状 + + + Cursor shape for this mouse area. + このマウスエリアのカーソル形状。 + + + Prevent stealing + 盗難を防止する + + + Stops mouse events from being stolen from this mouse area. + このマウスエリアからマウスイベントが盗まれるのを防止する。 + + + Propagate composed events + 合成されたイベントを伝播する + + + Automatically propagates composed mouse events to other mouse areas. + 合成されたマウスイベントを他のマウスエリアに自動的に伝搬する。 + + + Drag + ドラッグ + + + Target + ターゲット + + + ID of the component to drag. + ドラッグするコンポーネントの ID。 + + + Id of the item to drag. + ドラッグするアイテムのID。 + + + Axis + + + + Whether dragging can be done horizontally, vertically, or both. + ドラッグが水平方向、垂直方向、またはその両方でできるかどうか。 + + + Filter children + 子供たちをフィルタリングする + + + Whether dragging overrides descendant mouse areas. + ドラッグがマウスの子孫領域をオーバーライドするかどうか。 + + + Threshold + しきい値 + + + Threshold in pixels of when the drag operation should start. + ドラッグ操作を開始するタイミングのピクセル単位のしきい値。 + + + Smoothed + 平滑化した + + + Moves targets only after the drag operation has started. +When disabled, moves targets straight to the current mouse position. + ドラッグ操作が開始されてからターゲットを移動します。 +無効にした場合、ターゲットは現在のマウスの位置にまっすぐ移動します。 + This property holds whether the item accepts mouse events. マウスイベントを受け取るかどうかを指定します。 @@ -7182,7 +8430,7 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Drag margin - ドラッグマージン + ドラッグのマージン Flick deceleration @@ -7244,6 +8492,14 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Interactive インタラクティブ + + Allows users to drag or flick a path view. + ユーザーによる PathView のドラッグやフリックを可能にする。 + + + Number of items visible on the path at any one time. + 一度にパス上に表示されるアイテム数。 + Range 範囲 @@ -7251,6 +8507,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ RectangleSpecifics + + Rectangle + 矩形 + Border 枠線 @@ -7274,6 +8534,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Row + + Layout direction + レイアウト方向 + Spacing 間隔 @@ -7293,6 +8557,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Selection Color 選択時の色 + + Selected Text Color + 選択したテキストの色 + FlickableSection @@ -7300,10 +8568,72 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Flickable Flickable + + Whether the surface may be dragged beyond the Flickable's boundaries, or overshoot the Flickable's boundaries when flicked. + フリックしたときに、サーフェスが Flickable の境界を超えてドラッグされるかどうか、または Flickable の境界をオーバーシュートするかどうか。 + + + Movement + 移動 + + + Whether the Flickable will give a feeling that the edges of the view are soft, rather than a hard physical boundary. + Flickable の境界の動作が、物理的に柔らかい印象を与えるかどうか。 + + + Allows users to drag or flick a flickable item. + ユーザーがフリック可能なアイテムをドラッグまたはフリックできるようにします。 + + + Maximum flick velocity. + 最大フリック速度。 + + + Flick deceleration. + フリック終了時の加速度。 + + + Press delay + 遅延時間 + + + Time to delay delivering a press to children of the Flickable in milliseconds. + Flickable の子エレメントたちにプレスを届けるのを遅らせる時間(単位:ミリ秒)。 + + + Pixel aligned + ピクセルの揃え方 + + + Sets the alignment of contentX and contentY to pixels (true) or subpixels (false). + contentX と contentY のアライメントをピクセル(true)またはサブピクセル(false)に設定します。 + + + Synchronous drag + ドラッグの同期 + + + If set to true, then when the mouse or touchpoint moves far enough to begin dragging +the content, the content will jump, such that the content pixel which was under the +cursor or touchpoint when pressed remains under that point. + trueに設定すると、マウスやタッチポイントがコンテンツをドラッグするのに十分な距離を移動したときに、コンテンツがジャンプし、押したときにカーソルやタッチポイントの下にあったコンテンツのピクセルが、そのポイントの下に残るようになります。 + Content size コンテンツサイズ + + Content + コンテンツ + + + Origin + 基点 + + + Margins + マージン + Flick direction フリック方向 @@ -7320,6 +8650,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Interactive インタラクティブ + + Allows users to drag or flick a flickable component. + ユーザーがフリック可能なコンポーネントをドラッグまたはフリックできるようにします。 + Max. velocity 最高速度 @@ -7351,10 +8685,87 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Font style フォントスタイル + + Font capitalization + フォントの大文字化 + + + Capitalization for the text. + テキストの大文字化。 + + + Font weight + フォントの太さ + + + Font's weight. + フォントの太さ。 + + + Style name + スタイル名 + + + Font's style. + フォントのスタイル。 + Style スタイル + + Spacing + 間隔 + + + Word + 単語 + + + Word spacing for the font. + フォントの単語間隔。 + + + Letter + 文字 + + + Letter spacing for the font. + フォントの文字間隔。 + + + Performance + 性能 + + + Kerning + カーニング + + + Enables or disables the kerning OpenType feature when shaping the text. Disabling this may improve performance when creating or changing the text, at the expense of some cosmetic features. + テキストを整形する際に、OpenType のカーニング機能を有効または無効にします。この機能を無効にすると、テキストの作成や変更時のパフォーマンスが向上しますが、一部の外観上の機能が犠牲になります。 + + + Prefer shaping + シェイピングを好む + + + Sometimes, a font will apply complex rules to a set of characters in order to display them correctly. +In some writing systems, such as Brahmic scripts, this is required in order for the text to be legible, whereas in Latin script, + it is merely a cosmetic feature. Setting the preferShaping property to false will disable all such features +when they are not required, which will improve performance in most cases. + フォントは、文字を正しく表示するために、複雑なルールを適用することがあります。 +バラモン文字などの一部の文字体系では、テキストを読みやすくするためにこのような処理が必要となりますが、ラテン文字では、これは単なる化粧品のような機能です。 +preferShaping プロパティを false に設定すると、このような機能が必要とされていない場合はすべて無効になり、ほとんどの場合、パフォーマンスが向上します。 + + + Hinting preference + ヒントの優先順位 + + + Preferred hinting on the text. + テキストに適用したいヒントを選択します。 + StandardTextSection @@ -7366,6 +8777,18 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Wrap mode 折り返し + + Elide + 省略 + + + Maximum line count + 最大行数 + + + Limits the number of lines that the text item will show. + テキストアイテムが表示する行数を制限します。 + Alignment 整列 @@ -7374,6 +8797,66 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Format フォーマット + + Render type + レンダリングタイプ + + + Overrides the default rendering type for this item. + このアイテムのデフォルトのレンダリングタイプをオーバーライドします。 + + + Limits the number of lines that the text component will show. + テキストコンポーネントが表示する行数を制限します。 + + + Overrides the default rendering type for this component. + このコンポーネントのデフォルトのレンダリングタイプをオーバーライドします。 + + + Font size mode + フォントサイズモード + + + Specifies how the font size of the displayed text is determined. + 表示されるテキストのフォントサイズをどのように決定するかを指定します。 + + + Minimum size + 最小サイズ + + + Pixel + ピクセル + + + Minimum font pixel size of scaled text. + スケーリングされたテキストの最小フォントピクセルサイズ。 + + + Point + ポイント + + + Minimum font point size of scaled text. + スケーリングされたテキストの最小フォントポイントサイズ。 + + + Line height + 行の高さ + + + Line height for the text. + テキスト行の高さ。 + + + Line height mode + 行の高さモード + + + Determines how the line height is specified. + 行の高さをどのように指定するかを決定します。 + AdvancedSection @@ -7393,6 +8876,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Rotation 回転 + + State + 状態 + Enabled 有効 @@ -7417,6 +8904,42 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Anti-aliasing active アンチエイリアスの有効化 + + Focus + フォーカス + + + Sets focus on the component within the enclosing focus scope. + フォーカススコープ内のコンポーネントにフォーカスを設定する。 + + + Adds the component to the tab focus chain. + タブのフォーカスチェーンにコンポーネントを追加する。 + + + Position of the component's baseline in local coordinates. + ローカル座標におけるコンポーネントのベースラインの位置。 + + + Sets focus on the item within the enclosing focus scope. + フォーカススコープ内のアイテムにフォーカスを設定する。 + + + Active focus on tab + タブへのアクティブフォーカス + + + Adds the item to the tab focus chain. + タブのフォーカスチェーンにアイテムを追加する。 + + + Baseline offset + ベースラインオフセット + + + Position of the item's baseline in local coordinates. + ローカル座標におけるアイテムのベースラインの位置。 + ColumnSpecifics @@ -7457,18 +8980,98 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Type + + Changes the type of this item. + このアイテムのタイプを変更する。 + id ID + + Exports this item as an alias property of the root item. + このアイテムを、ルートアイテムのエイリアスプロパティとしてエクスポートします。 + + + Custom id + カスタムID + + + Component + コンポーネント + + + Changes the type of this component. + このアイテムの型を変更する。 + + + ID + ID + + + Exports this component as an alias property of the root component. + このコンポーネントを、ルートコンポーネントのエイリアスプロパティとしてエクスポートします。 + + + Custom ID + Custom ID + + + customId + customId + + + Add Annotation + アノテーションを追加する + + + Exports this item as an alias property of the root item. + このアイテムを、ルートアイテムのエイリアスプロパティとしてエクスポートします。 + + + Custom id + カスタムID + + + Component + コンポーネント + + + Changes the type of this component. + このアイテムの型を変更する。 + + + ID + ID + + + Exports this component as an alias property of the root component. + このコンポーネントを、ルートコンポーネントのエイリアスプロパティとしてエクスポートします。 + + + Custom ID + Custom ID + + + customId + customId + + + Add Annotation + アノテーションを追加する + Visibility 可視性 - Is Visible + Is visible 表示 + + Is Visible + 表示 + Clip クリッピング @@ -7499,14 +9102,42 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ QtObjectPane + + Component + コンポーネント + Type + + Changes the type of this component. + このアイテムの型を変更する。 + + + ID + ID + + + Exports this component as an alias property of the root component. + このコンポーネントを、ルートコンポーネントのエイリアスプロパティとしてエクスポートします。 + + + Changes the type of this item. + このアイテムのタイプを変更する。 + id ID + + Exports this item as an alias property of the root item. + このアイテムを、ルートアイテムのエイリアスプロパティとしてエクスポートします。 + + + Exports this item as an alias property of the root item. + このアイテムを、ルートアイテムのエイリアスプロパティとしてエクスポートします。 + TextInputSection @@ -7514,6 +9145,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Text Input テキスト入力 + + Mouse selection mode + マウス選択モード + Input mask 入力マスク @@ -7524,12 +9159,44 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Pass. char - パスワード文字 + パスワード文字 Character displayed when users enter passwords. ユーザーがパスワードを入力した時に表示される文字です。 + + Tab stop distance + タブ停止距離 + + + Default distance between tab stops in device units. + タブストップ間のデフォルトの距離(デバイス単位)。 + + + Text margin + テキストのマージン + + + Margin around the text in the Text Edit in pixels. + テキストエディットのテキストの周りのマージンをピクセル単位で表示します。 + + + Maximum length + 最大の長さ + + + Maximum permitted length of the text in the TextInput. + TextInputに表示されるテキストの最大許容長。 + + + Password character + パスワード文字列 + + + Maximum permitted length of the text in the Text Input. + TextInput に表示されるテキストの最大許容長。 + Flags フラグ @@ -7550,6 +9217,22 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Auto scroll 自動スクロール + + Overwrite mode + オーバーライトモード + + + Persistent selection + 持続的な選択 + + + Select by mouse + マウスで選択 + + + Select by keyboard + キーボードで選択 + TextInputSpecifics @@ -7561,6 +9244,10 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Selection Color 選択時の色 + + Selected Text Color + 選択したテキストの色 + TextSpecifics @@ -7875,6 +9562,20 @@ SSH 認証が必要とされるリポジトリで使用されます(SSH の SSH_ Circular dependency detected: 循環依存関係が検出されました: + + %1 (%2) depends on + %1 (%2) は以下に依存しています + + + %1 (%2) + %1 (%2) + + + Cannot load plugin because dependency failed to load: %1 (%2) +Reason: %3 + 依存関係が解決できなかったため、以下のプラグインを読み込めませんでした: %1(%2) +理由: %3 + %1(%2) depends on %1(%2) の依存関係 @@ -7987,6 +9688,10 @@ Reason: %3 Plugin is not available on this platform. このプラットフォームではプラグインは利用できません。 + + %1 (experimental) + %1 (実験的) + Path: %1 Plugin is not available on this platform. @@ -8185,6 +9890,114 @@ will also disable the following plugins: Expected token "%1". 期待されるトークンは "%1" です。 + + Illegal unicode escape sequence + 無効な UNICODE エスケープシーケンスです + + + Unexpected token '.' + '.' は予期しないトークンです + + + Stray newline in string literal + 文字列リテラル内に改行が存在します + + + End of file reached at escape sequence + エスケープシーケンスでファイルの終端に到達 + + + Illegal hexadecimal escape sequence + 無効な16進数のエスケープシーケンスです + + + Octal escape sequences are not allowed + 8進数のエスケープシーケンスは利用できません + + + Unclosed string at end of line + 文末で閉じられていない文字列です + + + At least one hexadecimal digit is required after '0%1' + 一桁以上の16進数が "0%1" の後に必要です + + + At least one octal digit is required after '0%1' + 一桁以上の8進数が "0%1" の後に必要です + + + At least one binary digit is required after '0%1' + 一桁以上の2進数が "0%1" の後に必要です + + + Decimal numbers can't start with '0' + 10進数は "0" で開始できません + + + Illegal syntax for exponential number + 無効な指数シンタックスです + + + Invalid regular expression flag '%0' + "%0" は無効な正規表現フラグです + + + Unterminated regular expression backslash sequence + 閉じられていない正規表現のバックスラッシュシーケンスです + + + Unterminated regular expression class + 閉じられていない正規表現クラスです + + + Unterminated regular expression literal + 閉じられていない正規表現リテラルです + + + Syntax error + シンタックスエラーです + + + Imported file must be a script + インポートされたファイルがスクリプトではありません + + + Invalid module URI + 無効なモジュールの URI です + + + Module import requires a version + モジュールをインポートするにはバージョン番号が含まれている必要があります + + + Module import requires a minor version (missing dot) + モジュールをインポートするにはマイナーバージョン番号が含まれている必要があります(ドットが抜けています) + + + Module import requires a minor version (missing number) + モジュールをインポートするにはマイナーバージョン番号が含まれている必要があります(番号が抜けています) + + + File import requires a qualifier + ファイルのインポートには修飾子が必要です + + + Module import requires a qualifier + 修飾子が必要なモジュールのインポートです + + + Invalid import qualifier + 無効なインポート修飾子です + + + Unexpected token `%1' + "%1" は予期しないトークンです + + + Expected token `%1' + 期待されるトークンは "%1" です + QmlJS::Bind @@ -8192,10 +10005,18 @@ will also disable the following plugins: expected two numbers separated by a dot ドットで区切られた2つの数字がありません + + Hit maximal recursion depth in AST visit + AST の探索で最大の再帰深度に到達しました + package import requires a version number パッケージをインポートするにはバージョン番号が含まれている必要があります + + Nested inline components are not supported + インラインコンポーネントのネストはサポートされていません + QmlJS::Check @@ -8358,6 +10179,18 @@ will also disable the following plugins: Expected object literal after colon. コロンの後のオブジェクトリテラルに対応しています。 + + Expected expression after colon. + コロンの後に期待される式。 + + + Expected strings as enum keys. + enum のキーとして期待される文字列。 + + + Expected either array or object literal as enum definition. + enum の定義として、期待される配列またはオブジェクトリテラル。 + Expected object literal to contain only 'string: number' elements. エレメントに 'string: number' のみを含むオブジェクトリテラルに対応しています。 @@ -8373,6 +10206,54 @@ will also disable the following plugins: File or directory not found. ファイルまたはディレクトリが見つかりません。 + + QML module not found (%1). + +Import paths: +%2 + +For qmake projects, use the QML_IMPORT_PATH variable to add import paths. +For Qbs projects, declare and set a qmlImportPaths property in your product to add import paths. +For qmlproject projects, use the importPaths property to add import paths. +For CMake projects, make sure QML_IMPORT_PATH variable is in CMakeCache.txt. + + QML モジュールが見つかりません。(%1). + +インポートパス: +%2 + +qmake プロジェクトでは、インポートするパスを QML_IMPORT_PATH 変数を使用して追加します。 +Qbs プロジェクトでは、インポートするパスを qmlImportPaths プロパティを宣言して設定します。 +qmlproject プロジェクトでは、インポートするパスを importPaths プロパティを使用して追加します。 +CMake プロジェクトでは、CMakeCache.txt 内で QML_IMPORT_PATH 変数を使用します。 + + + + Implicit import '%1' of QML module '%2' not found. + +Import paths: +%3 + +For qmake projects, use the QML_IMPORT_PATH variable to add import paths. +For Qbs projects, declare and set a qmlImportPaths property in your product to add import paths. +For qmlproject projects, use the importPaths property to add import paths. +For CMake projects, make sure QML_IMPORT_PATH variable is in CMakeCache.txt. + + QML モジュール '%2' の暗黙のインポート '%1' が見つかりません。 + +インポート・パスです。 +%3 + +qmake プロジェクトでは、QML_IMPORT_PATH 変数を使用してインポート・パスを追加します。 +Qbs プロジェクトでは、インポート・パスを追加するために、製品で qmlImportPaths プロパティを宣言および設定してください。 +qmlproject プロジェクトでは、importPaths プロパティを使用してインポート パスを追加します。 +CMakeプロジェクトでは、QML_IMPORT_PATH変数がCMakeCache.txtにあることを確認してください。 + + + + QML module contains C++ plugins, currently reading type information... %1 + QML モジュールは C++ プラグインを含んでいます。現在、型情報を読み込み中...%1 + QML module not found. @@ -8443,6 +10324,14 @@ CMake プロジェクトでは、CMakeCache.txt 内で QML_IMPORT_PATH 変数を QmlJS::StaticAnalysisMessages + + Do not use "%1" as a constructor. + +For more information, see the "Checking Code Syntax" documentation. + コンストラクタとして "%1" を使用しないでください。 + +詳細については、"コード構文のチェック" のドキュメントを参照してください。 + Invalid value for enum. 無効な値の enum です。 @@ -8599,6 +10488,10 @@ CMake プロジェクトでは、CMakeCache.txt 内で QML_IMPORT_PATH 変数を This type (%1) is not supported in the Qt Quick Designer. Qt Quick Designer では %1 型を使用できません。 + + This id might be ambiguous and is not supported in the Qt Quick Designer. + この ID は曖昧である可能性があり、Qt Quick Designer ではサポートされていません。 + This type (%1) is not supported as a root element by Qt Quick Designer. Qt Quick Designer ではルートエレメントに %1 型を使用できません。 @@ -8635,6 +10528,22 @@ CMake プロジェクトでは、CMakeCache.txt 内で QML_IMPORT_PATH 変数を A State cannot have a child item (%1). State は子アイテム (%1) を持つことができません。 + + Duplicate import (%1). + 重複したインポート (%1)。 + + + Hit maximum recursion limit when visiting AST. + AST の探索で最大の再帰深度に到達しました。 + + + Type cannot be instantiated recursively (%1). + 型を再帰的にインスタンス化することはできません (%1)。 + + + Logical value does not depend on actual values + 論理値が実際の値に依存しない + Do not use "%1" as a constructor. "%1" はコンストラクタとして使用できません。 @@ -8865,6 +10774,10 @@ CMake プロジェクトでは、CMakeCache.txt 内で QML_IMPORT_PATH 変数を File Name ファイル名 + + Error listing root directory "%1": %2 + ルート・ディレクトリ "%1" のリスト作成でエラーが発生しました。%2 + Error getting "stat" info about "%1": %2 "%1" の "stat" 情報取得時のエラー: %2 @@ -9105,6 +11018,14 @@ with a password, which you can enter below. Do not ask again 今後このメッセージを表示しない + + Show Details... + 詳細を表示する... + + + Hide Details... + 詳細を隠す... + Do not &ask again 今後このメッセージを表示しない(&A) @@ -9279,6 +11200,10 @@ with a password, which you can enter below. Utils::FancyMainWindow + + Central Widget + 中央のウィジェット + Reset to Default Layout 既定のレイアウトに戻す @@ -9306,6 +11231,10 @@ with a password, which you can enter below. Invalid characters "%1". "%1" は無効な文字列です。 + + Name matches MS Windows device (CON, AUX, PRN, NUL, COM1, COM2, ..., COM9, LPT1, LPT2, ..., LPT9) + MS Windows のデバイス(CON, AUX, PRN, NUL, COM1, COM2, ..., COM9, LPT1, LPT2, ..., LPT9)と一致する名前 + Name matches MS Windows device. (%1). ファイル名が MS Windows デバイス (%1) と一致しています。 @@ -9333,6 +11262,18 @@ with a password, which you can enter below. %1 %2 個のファイルに %n 件見つかりました。 + + Fi&le pattern: + ファイルパターン(&L): + + + Excl&usion pattern: + 排除するパターン(&U): + + + List of comma separated wildcard filters. Files with file name or full file path matching any filter are included. + コンマで区切られたワイルドカードフィルターのリストです。ファイル名またはフルファイルパスがいずれかのフィルターに一致するファイルが含まれます。 + Utils::FileUtils @@ -9372,10 +11313,18 @@ with a password, which you can enter below. File Error ファイルエラー + + Cannot write file %1: %2 + ファイル %1 を書き込みできません: %2 + Cannot write file %1. Disk full? ファイル %1 を書けません。ディスクフルではありませんか? + + %1: Is a reserved filename on Windows. Cannot save. + %1: Windows で予約されたファイル名です。保存できません。 + Cannot overwrite file %1: %2 ファイル %1 を上書きできません: %2 @@ -9388,6 +11337,14 @@ with a password, which you can enter below. Cannot create temporary file in %1: %2 %1 に一時ファイルを作成できません: %2 + + Overwrite File? + ファイルの上書き? + + + Overwrite existing file "%1"? + 既存のファイル "%1" を上書きしますか? + Utils::PathChooser @@ -9427,14 +11384,26 @@ with a password, which you can enter below. The path "%1" is not a directory. パス "%1" はディレクトリではありません。 + + The path "%1" is not a file. + パス "%1" はファイルではありません。 + The directory "%1" does not exist. ディレクトリ "%1" は存在しません。 + + The path "%1" is not an executable file. + パス "%1" は実行可能ファイルではありません。 + Cannot execute "%1". "%1" を実行できません。 + + Full path: "%1" + フルパス: "%1" + The path <b>%1</b> is not a file. パス <b>%1</b> はファイルではありません。 @@ -9480,6 +11449,22 @@ with a password, which you can enter below. File Changed ファイルは変更されています + + The unsaved file <i>%1</i> has been changed on disk. Do you want to reload it and discard your changes? + 未保存のファイル <i>%1</i> がディスク上で変更されました。再読み込みして、変更内容を破棄しますか? + + + The file <i>%1</i> has been changed on disk. Do you want to reload it? + ファイル <i>%1</i> がディスク上で変更されました。再読み込みしますか? + + + The default behavior can be set in Tools > Options > Environment > System. + デフォルトの動作は、「ツール」→「オプション」→「環境」→「システム」で設定できます。 + + + No to All && &Diff + 全てのファイルを再読み込みせずに、差分表示(&D) + The unsaved file <i>%1</i> has changed outside Qt Creator. Do you want to reload it and discard your changes? 保存されていないファイル <i>%1</i> が Qt Creator 以外で変更されています。変更内容を破棄して再読込しますか? @@ -9507,6 +11492,14 @@ with a password, which you can enter below. The file %1 was removed. Do you want to save it under a different name, or close the editor? ファイル %1 は削除されました。別名で保存しますか?それともエディタを閉じますか? + + File Has Been Removed + ファイルは既に削除されています + + + The file %1 has been removed from disk. Do you want to save it under a different name, or close the editor? + ファイル %1 は ディスクから削除されました。現在のファイルを別名で保存するかエディタを閉じますか? + &Close 閉じる(&C) @@ -9647,6 +11640,12 @@ with a password, which you can enter below. Invalid country code. 無効な国コードです。 + <span style=" color:#ff0000;">Invalid country code</span> + <span style=" color:#ff0000;">無効な国コードです</span> + + + Keystore Filename + キーストアのファイル名 Keystore file name @@ -9709,6 +11708,22 @@ with a password, which you can enter below. Cannot find the androiddeploy Json file. androiddeploy JSON ファイルが見つかりません。 + + Uninstall the existing app first + まず既存のアプリをアンインストールする + + + Initializing deployment to Android device/simulator + Android 端末/シミュレータへのデプロイの初期化 + + + Android: The main ABI of the deployment device (%1) is not selected. The app execution or debugging might not work properly. Add it from Projects > Build > Build Steps > qmake > ABIs. + Android: デプロイをするデバイス (%1) のメイン ABI が選択されていません。アプリの実行やデバッグが正常に行われない可能性があります。「プロジェクト」→「ビルド」→「ビルドステップ」→「qmake」→「ABI」から追加してください。 + + + Deploying to %1 + %1 にデプロイ + Cannot find the package name. パッケージ名が見つかりません。 @@ -9717,6 +11732,46 @@ with a password, which you can enter below. Uninstall previous package %1. 古いパッケージ %1 をアンインストールします。 + + Starting: "%1" + 起動中: "%1" + + + Deployment failed with the following errors: + + + 以下のエラーでデプロイが失敗しました: + + + + + +Uninstalling the installed package may solve the issue. +Do you want to uninstall the existing package? + +インストールされているパッケージをアンインストールすると、問題が解決する場合があります。 +既存のパッケージをアンインストールしますか? + + + Package deploy: Running command "%1". + パッケージをデプロイします。コマンド "%1" を実行しています。 + + + Reset Default Deployment Devices + 既定のデプロイメントデバイスをリセットする + + + Install an APK File + APK ファイルをインストールする + + + Qt Android Installer + Qt Android インストーラ + + + Android package (*.apk) + Android パッケージ (*.apk) + Starting: "%1" %2 起動中: "%1" %2 @@ -9781,6 +11836,10 @@ Do you want to uninstall the existing package? Android Android + + Android Device + Android デバイス + Android::Internal::AndroidDeviceFactory @@ -9986,6 +12045,42 @@ Do you want to uninstall the existing package? Add 追加 + + Style extraction: + スタイルの抽出: + + + Screen orientation: + 画面の向き: + + + Advanced + 拡張 + + + Application icon + アプリケーションアイコン + + + Android services + Android サービス + + + Splash screen + スプラッシュスクリーン + + + Service Definition Invalid + サービス定義が無効 + + + Cannot switch to source when there are invalid services. + 無効なサービスがある場合、ソースに切り替えることができない。 + + + Cannot save when there are invalid services. + 無効なサービスがある場合は保存できない。 + The structure of the Android manifest file is corrupted. Expected a top level 'manifest' node. Android manifest ファイルの構造が壊れています。トップレベル 'manifest' ノードが見つかりません。 @@ -10010,6 +12105,10 @@ Do you want to uninstall the existing package? Goto error エラー箇所へ飛ぶ + + Services invalid. Manifest cannot be saved. Correct the service definitions before saving. + サービスが無効です。マニフェストは保存できません。サービス定義を修正してから保存してください。 + Choose Low DPI Icon 低 DPI アイコンを選択 @@ -10026,6 +12125,10 @@ Do you want to uninstall the existing package? Choose High DPI Icon 高 DPI アイコンを選択 + + Android Manifest editor + Android Manifest エディタ + Android::Internal::AndroidQtVersion @@ -10033,6 +12136,18 @@ Do you want to uninstall the existing package? Failed to detect the ABIs used by the Qt version. Qt で使用されている ABI の検出に失敗しました。 + + NDK is not configured in Devices > Android. + 「デバイス」→「Android」で NDK が設定されていない。 + + + SDK is not configured in Devices > Android. + 「デバイス」→「 Android 」で SDK が設定されていない。 + + + Failed to detect the ABIs used by the Qt version. Check the settings in Devices > Android for errors. + Qt のバージョンで使用されている ABI の検出に失敗しました。「デバイス」→「 Android 」から設定にエラーがないか確認してください。 + Android Qt Version is meant for Android @@ -10099,6 +12214,22 @@ Do you want to uninstall the existing package? AVD - Android Virtual Device AVD 名 + + API + API + + + Device Type + デバイス種類 + + + Target + ターゲット + + + SD-card Size + SD カードサイズ + AVD Target AVD ターゲット @@ -10152,14 +12283,208 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt "%1" does not seem to be a JDK folder. "%1" は JDK のフォルダとは異なるようです。 + + Select an NDK + NDK を選択する + + + Add Custom NDK + カスタム NDK を追加する + + + The selected path has an invalid NDK. This might mean that the path contains space characters, or that it does not have a "toolchains" sub-directory, or that the NDK version could not be retrieved because of a missing "source.properties" or "RELEASE.TXT" file + 選択したパスに無効な NDK が含まれています。これは、パスにスペース文字が含まれているか、"toolchains" サブディレクトリがないか、"source.properties" または "RELEASE.TXT" ファイルがないために NDK のバージョンを取得できなかったことを意味します + + + JDK path exists. + JDK パス。 + + + JDK path is a valid JDK root folder. + JDK パスは、有効な JDK ルートフォルダです。 + + + Java Settings are OK. + Java の設定は OK です。 + + + Java settings have errors. + Java の設定にエラーがあります。 + + + Android SDK path exists. + Android SDK パス。 + + + Android SDK path writable. + Android SDK パスは書き込み可能です。 + + + SDK tools installed. + SDK ツールがインストールされています。 + + + Platform tools installed. + プラットフォームツールがインストールされています。 + + + SDK manager runs (SDK Tools versions <= 26.x require exactly Java 1.8). + SDK Manager が動作します(SDK Tools のバージョンが 26.x 以下の場合は Java 1.8 が必要です)。 + + + All essential packages installed for all installed Qt versions. + インストールされている全ての Qt のバージョンに必要なパッケージがインストールされています。 + + + Build tools installed. + ビルドツールがインストールされています。 + + + Platform SDK installed. + Platform SDK がインストールされています。 + + + Android settings are OK. + Android の設定は OK です。 + + + Android settings have errors. + Android の設定にエラーがあります。 + + + OpenSSL path exists. + OpenSSL パス。 + + + QMake include project (openssl.pri) exists. + QMake のインクルードプロジェクト (openssl.pri) が存在します。 + + + CMake include project (CMakeLists.txt) exists. + CMake のインクルードプロジェクト (CMakeLists.txt) が存在する。 + + + OpenSSL Settings are OK. + OpenSSL の設定は OK です。 + + + OpenSSL settings have errors. + OpenSSL の設定にエラーがあります。 + + + Select Android SDK Folder + Android SDK フォルダの選択 + + + Select OpenSSL Include Project File + OpenSSL Include Project File を選択 + + + Automatically download Android SDK Tools to selected location. + +If the selected path contains no valid SDK Tools, the SDK Tools package is downloaded +from %1, +and extracted to the selected path. +After the SDK Tools are properly set up, you are prompted to install any essential +packages required for Qt to build for Android. + Android SDK Tools を選択された場所に自動的にダウンロードします。 + +選択したパスに有効な SDK Tools がない場合は、SDK Tools パッケージを %1 からダウンロードして、選択したパスに解凍します。 +SDK Tools が正しくセットアップされた後、Qt が Android 用にビルドするために必要な必須パッケージをインストールするように求められます。 + + + Automatically download OpenSSL prebuilt libraries. + +These libraries can be shipped with your application if any SSL operations +are performed. Find the checkbox under "Projects > Build > Build Steps > +Build Android APK > Additional Libraries". +If the automatic download fails, Qt Creator proposes to open the download URL +in the system's browser for manual download. + OpenSSL のビルド済みライブラリを自動的にダウンロードします。 + +これらのライブラリは、SSL 操作が行われる場合、アプリケーションと一緒に +アプリケーションに同梱することができます。 + +チェックボックスは「プロジェクト」→「ビルド」→「ビルドステップ」→「Android APK のビルド」→「Additional Libraries」にあります。 + +自動ダウンロードに失敗した場合、Qt Creator はシステムのブラウザでダウンロード URL を開き、手動でダウンロードすることを提案します。 + + + Android SDK installation is missing necessary packages. Do you want to install the missing packages? + Android SDK のインストールに必要なパッケージがありません。不足しているパッケージをインストールしますか? + + + Missing Android SDK Packages + Android SDK のパッケージが見つからない + + + OpenSSL Cloning + OpenSSL の複製作成 + + + OpenSSL prebuilt libraries repository is already configured. + OpenSSL のプレビルドライブラリのリポジトリがすでに設定されています。 + + + The selected download path (%1) for OpenSSL already exists and the directory is not empty. Select a different path or make sure it is an empty directory. + 選択した OpenSSL のダウンロード・パス (%1) は既に存在し、そのディレクトリは空ではありません。別のパスを選択するか、空のディレクトリであることを確認してください。 + + + Cloning OpenSSL prebuilt libraries... + OpenSSL のビルド済みライブラリを複製する... + + + Cancel + キャンセル + + + OpenSSL prebuilt libraries cloning failed. + OpenSSL のビルド済みライブラリの複製に失敗しました。 + + + Opening OpenSSL URL for manual download. + 手動でダウンロードできる OpenSSL の URL を開く。 + + + Open Download URL + ダウンロード URL を開く + + + The Git tool might not be installed properly on your system. + お使いのシステムに Git ツールが正しくインストールされていない可能性があります。 + Remove Android Virtual Device - Android 仮想デバイス(AVD)の削除 + Android 仮想デバイス(AVD)を削除する Remove device "%1"? This cannot be undone. デバイス "%1" を削除しますか? 削除したデバイスは元に戻せません。 + + Emulator Command-line Startup Options + エミュレータのコマンドライン起動オプション + + + Emulator command-line startup options (<a href="%1">Help Web Page</a>): + エミュレータのコマンドライン起動オプション(<a href="%1">Help Web Page</a>): + + + (SDK Version: %1, NDK Version: %2) + (SDK バージョン: %1, NDK バージョン: %2) + + + The selected path already has a valid SDK Tools package. + 選択したパスには、すでに有効な SDK Tools パッケージがあります。 + + + Download and install Android SDK Tools to: %1? + Android SDK Tools をダウンロードしてインストールするには: %1? + + + Android + Android + Unsupported GDB サポート対象外の GDB @@ -10209,10 +12534,19 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Autogen Autogen + + Arguments: + 引数: + Configuration unchanged, skipping autogen step. 設定が変更されていない為、autogen ステップをスキップします。 + + Autogen + Display name for AutotoolsProjectManager::AutogenStep id. + Autogen + AutotoolsProjectManager::Internal::AutogenStepConfigWidget @@ -10240,10 +12574,19 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Autoreconf Autoreconf + + Arguments: + 引数: + Configuration unchanged, skipping autoreconf step. 設定が変更されていない為、autoreconf ステップをスキップします。 + + Autoreconf + Display name for AutotoolsProjectManager::AutoreconfStep id. + Autoreconf + AutotoolsProjectManager::Internal::AutoreconfStepConfigWidget @@ -10300,6 +12643,10 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt 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 ではソースディレクトリ内でのビルドは推奨していません。ソースディレクトリとビルドディレクトリを分ける事でソースをきれいに保ち、異なる設定での複数のビルドを行う事ができます。 + + 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: ビルドディレクトリ: @@ -10323,10 +12670,19 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Configure 設定する + + Arguments: + 引数: + Configuration unchanged, skipping configure step. 設定が変更されていない為、configure ステップをスキップします。 + + Configure + Display name for AutotoolsProjectManager::ConfigureStep id. + 設定する + AutotoolsProjectManager::Internal::ConfigureStepConfigWidget @@ -10384,6 +12740,10 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Bare Metal ベアメタル + + Bare Metal Device + ベアメタルデバイス + BareMetal::Internal::BareMetalGdbCommandsDeployStepWidget @@ -10731,6 +13091,18 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Git File Log Editor Git ファイルログエディタ + + Git SVN Log Editor + Git SVN ログエディタ + + + Git Log Editor + Git ログエディタ + + + Git Reflog Editor + Git Reflog エディタ + Git Annotation Editor Git アノテーションエディタ @@ -10798,6 +13170,10 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Bazaar Command Bazaar コマンド + + Bazaar + Bazaar + OpenWith::Editors @@ -10857,6 +13233,26 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Nim Editor Nim エディタ + + Java Editor + Java エディタ + + + CMake Editor + CMake エディタ + + + Compilation Database + コンピレーションデータベース + + + Qt Quick Designer + Qt Quick Designer + + + SCXML Editor + SCXML エディタ + Bookmarks::Internal::BookmarkView @@ -10886,7 +13282,7 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Remove All Bookmarks - すべてのブックマークの削除 + すべてのブックマークを削除する Are you sure you want to remove all bookmarks from all files in the current session? @@ -11338,6 +13734,10 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt DiffUtils is available for free download at http://gnuwin32.sourceforge.net/packages/diffutils.htm. Extract it to a directory in your PATH. DiffUtils は http://gnuwin32.sourceforge.net/packages/diffutils.htm からフリーでダウンロードできます。PATH の通ったディレクトリに展開してください。 + + ClearCase + ClearCase + CMakeProjectManager::Internal::CMakeBuildConfigurationFactory @@ -11380,10 +13780,30 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Build directory: ビルドディレクトリ: + + Re-configure with Initial Parameters + 初期パラメータで再設定する + + + Clear CMake configuration and configure with initial parameters? + CMake 設定をクリアして、初期パラメータで設定しますか? + + + Do not ask again + 今後このメッセージを表示しない + + + Filter + フィルタ + &Add 追加(&A) + + Add a new configuration value. + 新しい設定値を追加する。 + &Boolean 真偽値(&B) @@ -11404,10 +13824,50 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt &Edit 編集(&E) + + Edit the current CMake configuration value. + 現在の CMake の設定値を編集する。 + + + &Set + 設定(&S) + + + Set a value in the CMake configuration. + CMake の設定で値を設定する。 + + + &Unset + 解除(&U) + + + Unset a value in the CMake configuration. + CMake の設定で値を解除する。 + &Reset リセット(&R) + + Reset all unapplied changes. + 適用されていないすべての変更をリセットする。 + + + Clear Selection + 選択状態を解除 + + + Clear selection. + 選択状態を解除。 + + + Batch Edit... + 一括編集... + + + Set or reset multiple values in the CMake Configuration. + CMake Configuration の複数の値を設定またはリセットすることができます。 + Advanced 拡張 @@ -11420,6 +13880,50 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt <UNSET> <未定義> + + Edit CMake Configuration + CMake 設定の編集 + + + Enter one CMake variable per line. +To set or change a variable, use -D<variable>:<type>=<value>. +<type> can have one of the following values: FILEPATH, PATH, BOOL, INTERNAL, or STRING. +To unset a variable, use -U<variable>. + + 1行に1つの CMake 変数を入力します。 +変数を設定または変更するには、-D<variable>:<type>=<value> を使用します。 +<type> には、次のいずれかの値を指定します。FILEPATH, PATH, BOOL, INTERNAL, STRING のいずれかです。 +変数の設定を解除するには、-U<variable>を使用します。 + + + + bool + display string for cmake type BOOLEAN + ブーリアン型 + + + file + display string for cmake type FILE + ファイル + + + directory + display string for cmake type DIRECTORY + ディレクトリ + + + string + display string for cmake type STRING + 文字列 + + + Force to %1 + 強制的に%1に + + + Copy + コピー + CMake CMake @@ -11435,6 +13939,30 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Clear CMake Configuration CMake 設定のクリア + + Rescan Project + プロジェクトを再スキャン + + + Build + ビルド + + + Build File + ファイルのビルド + + + Build File "%1" + ファイル "%1" のビルド + + + Ctrl+Alt+B + Ctrl+Alt+B + + + Build File is not supported for generator "%1" + ビルド・ファイルはジェネレータ "%1" でサポートされていません + Failed opening project "%1": Project is not a file プロジェクト "%1" が開けません: プロジェクトがファイルではありません @@ -11484,6 +14012,14 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Reset all to default. すべてを既定に戻します。 + + Reset + リセット + + + Reset to default. + 既定に戻します。 + Import... インポート... @@ -11507,6 +14043,22 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Hide Sidebar サイドバーを隠す + + Show Left Sidebar + 左サイドバーを表示する + + + Hide Left Sidebar + 左サイドバーを隠す + + + Show Right Sidebar + 右サイドバーを表示する + + + Hide Right Sidebar + 右サイドバーを隠す + Qt Qt @@ -11538,6 +14090,16 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt msgShowOptionsDialogToolTip (non-mac version) オプションダイアログを開く。 + + All Files (*.*) + On Windows + すべてのファイル (*.*) + + + All Files (*) + On Linux/macOS + すべてのファイル (*) + Core::DesignMode @@ -11587,10 +14149,46 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Core::Internal::ShortcutSettings + + Keyboard Shortcuts + キーボードショートカット + + + Shortcut + ショートカット + Keyboard キーボード + + Add + 追加 + + + Invalid key sequence. + 無効なキーシーケンスです。 + + + Key sequence will not work in editor. + キーシーケンスがエディタで動作しない。 + + + Import Keyboard Mapping Scheme + キーボードマップスキームのインポート + + + Keyboard Mapping Scheme (*.kms) + キーボードマップスキーム (*.kms) + + + Export Keyboard Mapping Scheme + キーボードマップスキームのエクスポート + + + Key sequence has potential conflicts. <a href="#conflicts">Show.</a> + 他のキーシーケンスと競合しているかもしれません。 <a href="#conflicts">確認する。</a> + Core::DocumentManager @@ -11673,6 +14271,10 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Go Forward 進む + + Go to Last Edit + 最後の編集箇所に移動する + &Save 保存(&S) @@ -11713,6 +14315,18 @@ Qt を追加するにはオプションから「ビルドと実行」→「Qt Close Other Editors 他のエディタを閉じる + + Unpin "%1" + "%1" の固定解除 + + + Pin "%1" + "%1" の固定 + + + Pin Editor + ピンエディタ + Open With エディタを指定して開く @@ -11781,6 +14395,10 @@ Continue? System Editor システムエディタ + + Could not open URL %1. + URL %1 を開けませんでした。 + Could not open url %1. URL %1 を開けませんでした。 @@ -11815,6 +14433,10 @@ Continue? Could not find executable for "%1" (expanded "%2") 実行ファイル "%1" が見つかりませんでした(展開後 "%2") + + Starting external tool "%1" + 外部ツール "%1" を起動しています + Starting external tool "%1" %2 外部ツール "%1" %2 を起動しています @@ -11944,6 +14566,14 @@ Continue? Could not find explorer.exe in path to launch Windows Explorer. Windows Explorer を起動する為の explorer.exe にパスが通っていません。 + + The command for file browser is not set. + ファイルブラウザ用のコマンドが設定されていません。 + + + Error while starting file browser. + ファイルブラウザの起動時にエラーが発生しました。 + Find in This Directory... このディレクトリを検索... @@ -11968,6 +14598,24 @@ Continue? Open Terminal Here ここでターミナルを開く + + Open Command Prompt With + Opens a submenu for choosing an environment, such as "Run Environment" + 環境を指定してコマンドプロンプトを開く + + + Open Terminal With + Opens a submenu for choosing an environment, such as "Run Environment" + 環境を指定してターミナルを開く + + + Failed to remove file "%1". + ファイル "%1" の削除に失敗しました。 + + + Failed to remove file "%1")1. + ファイル "%1")1.の削除に失敗しました。 + Deleting File Failed ファイル削除に失敗 @@ -12045,6 +14693,10 @@ Continue? &Edit 編集(&E) + + &View + 表示(&V) + &Tools ツール(&T) @@ -12145,15 +14797,87 @@ Continue? Ctrl+L Ctrl+L + + Zoom In + 拡大 + + + Ctrl++ + Ctrl++ + + + Zoom Out + 縮小 + + + Ctrl+- + Ctrl+- + + + Ctrl+Shift+- + Ctrl+Shift+- + + + Original Size + オリジナルサイズ + + + Meta+0 + Meta+0 + &Options... オプション(&O)... + + About &%1 + &%1 について + + + About &%1... + &%1 について... + + + Contact... + お問い合わせ... + + + Cycle Mode Selector Styles + 次のモードセレクターのスタイルに切り替える + + + Mode Selector Style + モードセレクターの表示 + + + Icons and Text + アイコンとテキスト + + + Icons Only + アイコンのみ + + + Hidden + 非表示にする + + + Contact + コンタクト + + + <p>Qt Creator developers can be reached at the Qt Creator mailing list:</p>%1<p>or the #qt-creator channel on FreeNode IRC:</p>%2<p>Our bug tracker is located at %3.</p><p>Please use %4 for bigger chunks of text.</p> + <p>Qt Creator の開発者は、Qt Creator メーリング リスト:</p>%1<p>または FreeNode IRC の #qt-Creator チャンネル:</p>%2<p>で連絡を取ることができます。私たちのバグトラッカーは %3.</p><p>にあります。容量の大きいテキスト情報に対しては、%4をお使いください </p> + New File or Project Title of dialog 新しいファイルまたはプロジェクト + + Exit %1? + %1 を終了しますか? + Minimize 最小化 @@ -12198,6 +14922,14 @@ Continue? Ctrl+Shift+F11 Ctrl+Shift+F11 + + Ctrl+Shift+0 + Ctrl+Shift+0 + + + Alt+Shift+0 + Alt+Shift+0 + &Views 表示(&V) @@ -12319,6 +15051,18 @@ Continue? Additional output omitted 追加の出力は省略されました + + Elided %n characters due to Application Output settings + + アプリケーション出力の設定により %n 文字を省略しました + + + + [Discarding excessive amount of pending output.] + + [保留中の大量の出力結果を破棄しています] + + Core::Internal::PluginDialog @@ -12334,6 +15078,10 @@ Continue? Close 閉じる + + Install Plugin... + プラグインをインストールする... + Restart required. 再起動が必要です。 @@ -12342,6 +15090,10 @@ Continue? Installed Plugins インストール済みプラグイン + + Plugin changes will take effect after restart. + プラグインの変更は、再起動後に有効になります。 + Plugin Details of %1 プラグイン %1 の詳細 @@ -12438,6 +15190,14 @@ Note: This might remove the local file. バージョン管理システム (%1) から、このファイルを削除しますか? 注意: ローカルにあるファイルも一緒に削除されます。 + + Remove the following files from from the version control system (%2)?%1Note: This might remove the local file. + 以下のファイルをバージョン管理システム (%2) から削除しますか? %1注: これにより、ローカル・ファイルが削除される場合があります。 + + + Remove the following files from the version control system (%2)?%1Note: This might remove the local file. + 以下のファイルをバージョン管理システム (%2) から削除しますか? %1注: これにより、ローカルファイルが削除される場合があります。 + Add to Version Control バージョン管理システムに追加 @@ -12467,9 +15227,10 @@ to version control (%2)? %1 to version control (%2) - バージョン管理システム (%2) に -ファイル %1 を -追加できませんでした + ファイル +%1 +をバージョン管理に追加できませんでした (%2) + Could not add the following files to version control (%1) @@ -12484,6 +15245,10 @@ to version control (%2) About Qt Creator Qt Creator について + + About %1 + %1 について + <br/>From revision %1<br/> This gets conditionally inserted as argument %8 into the description string. @@ -12495,7 +15260,7 @@ to version control (%2) <h3>%1</h3>%2<br/>%3%4%5<br/>Copyright 2008-%6 %7. All rights reserved.<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> - + <h3>%1</h3>%2<br/>%3%4%5<br/>Copyright 2008-%6 %7. All rights reserved.<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> @@ -12635,6 +15400,21 @@ to version control (%2) CppEditor::Internal::CppEditorPlugin + + C++ + SnippetProvider + C++ + + + Header/Source + text on macOS touch bar + ヘッダ/ソース + + + Follow + text on macOS touch bar + フォロー + Additional Preprocessor Directives... 追加のプリプロセッサディレクティブ... @@ -12647,6 +15427,11 @@ to version control (%2) Shift+F2 Shift+F2 + + Decl/Def + text on macOS touch bar + 宣言/定義 + Open Function Declaration/Definition in Next Split 関数の宣言あるいは定義を次の分割ウィンドウで開く @@ -12865,6 +15650,10 @@ to version control (%2) Add Local Declaration ローカル宣言を追加 + + Convert to Binary + 2進数に変換 + Convert to Camel Case キャメルケースに変換 @@ -12873,6 +15662,10 @@ to version control (%2) Add #include %1 #include %1 を追加 + + Add forward declaration for %1 + %1 の前方宣言を追加する + Switch with Previous Parameter 前のパラメータに切り替える @@ -12905,6 +15698,14 @@ to version control (%2) Optimize for-Loop for ループを最適化する + + Remove All Occurrences of "using namespace %1" in Global Scope and Adjust Type Names Accordingly + グローバル・スコープでの "using namespace %1" のすべての出現箇所を削除し、それに応じて型名を調整します + + + Remove "using namespace %1" and Adjust Type Names Accordingly + "using namespace %1"を削除し、それに応じてタイプ名を調整します + CppEditor::InsertDeclOperation @@ -13077,6 +15878,18 @@ to version control (%2) Derived 派生 + + Evaluating Type Hierarchy + 型階層を評価する + + + Derived + 派生 + + + Evaluating type hierarchy... + 型階層を評価する... + CppEditor::Internal::CppTypeHierarchyFactory @@ -13158,6 +15971,22 @@ to version control (%2) ** 環境変数: %$VARIABLE% ** パーセント記号を使用する場合は '%%' としてください。 **************************************************************************/ + + + + /************************************************************************** +** %1 license header template +** Special keywords: %USER% %DATE% %YEAR% +** Environment variables: %$VARIABLE% +** To protect a percent sign, use '%%'. +**************************************************************************/ + + /************************************************************************** +** %1 ライセンスヘッダテンプレート +** 特別なキーワード: %USER% %DATE% %YEAR% +** 環境変数: %$VARIABLE% +** パーセント記号を保護するには、'%%'を使用します。 +**************************************************************************/ @@ -13171,6 +16000,22 @@ to version control (%2) CppTools::Internal::CppFindReferences + + Reads + 読み出し + + + Writes + 書き込み + + + Declarations + 宣言 + + + Other + その他 + C++ Usages: C++ 出現箇所: @@ -13179,6 +16024,18 @@ to version control (%2) Searching for Usages 使用方法の検索中 + + Re&name %n files + + %n 個のファイル名を変更(&R) + + + + Files: +%1 + Files: +%1 + C++ Macro Usages: C++ マクロ出現箇所: @@ -13204,6 +16061,10 @@ to version control (%2) Qt Creator Built-in Qt Creator ビルトイン + + %1 Built-in + %1 ビルトイン + CppTools @@ -13215,6 +16076,38 @@ to version control (%2) File Naming ファイル命名規則 + + Diagnostic Configurations + 診断設定 + + + C++ Symbols in Current Document + 現在のドキュメントの C++ シンボル + + + C++ Classes + C++ クラス + + + C++ Functions + C++ 関数 + + + All Included C/C++ Files + インクルードされるすべての C/C++ ファイル + + + C++ Classes, Enums, Functions and Type Aliases + C++ クラス、列挙型、関数、および型のエイリアス + + + C++ Classes, Enums and Functions + C++ クラス、列挙型、関数 + + + C++ Symbols + C++ シンボル + Code Model コードモデル @@ -13239,6 +16132,18 @@ to version control (%2) Obj-C++11 Obj-C++11 + + Quick Fixes + 迅速な修正 + + + The project contains C source files, but the currently active kit has no C compiler. The code model will not be fully functional. + プロジェクトにはC言語のソースファイルが含まれていますが、現在アクティブなキットにはC言語のコンパイラがありません。この場合、コードモデルは完全には機能しません。 + + + The project contains C++ source files, but the currently active kit has no C++ compiler. The code model will not be fully functional. + プロジェクトには C++ 言語のソースファイルが含まれていますが、現在アクティブなキットには C++ 言語のコンパイラがありません。この場合、コードモデルは完全には機能しません。 + CppTools::Internal::CppToolsPlugin @@ -13248,11 +16153,11 @@ to version control (%2) Switch Header/Source - ヘッダー/ソースの切替 + ヘッダ/ソースの切替 Open Corresponding Header/Source in Next Split - 対応するヘッダー/ソースを次の分割ウィンドウで開く + 対応するヘッダ/ソースを次の分割ウィンドウで開く Meta+E, F4 @@ -13270,6 +16175,10 @@ to version control (%2) The configured path to the license template 設定されたライセンステンプレートのパス + + Insert "#pragma once" instead of "#ifndef" include guards into header file + 「#ifndef」の代わりに「#pragma once」をインクルードガードとしてヘッダーファイルに挿入する + CppTools::CppToolsSettings @@ -13398,6 +16307,22 @@ Flags: %3 &CVS &CVS + + Ignore Whitespace + 空白を無視 + + + Ignore Blank Lines + 空行を無視 + + + &Edit + 編集(&E) + + + CVS Checkout + CVS チェックアウト + Diff Current File 現在のファイルの差分表示 @@ -13691,6 +16616,10 @@ Flags: %3 CVS Command CVS コマンド + + CVS + CVS + Debugger::Internal::BreakHandler @@ -13775,6 +16704,166 @@ Flags: %3 Unknown Breakpoint Type 未知のブレークポイントの種類 + + Edit Breakpoint Properties + ブレークポイントのプロパティを編集 + + + Basic + 基本 + + + File Name and Line Number + ファイル名と行番号 + + + Function Name + 関数名 + + + Break on Memory Address + メモリアドレスでブレーク + + + Break When C++ Exception Is Thrown + C++ 例外が throw された時にブレーク + + + Break When C++ Exception Is Caught + C++ 例外を catch した時にブレーク + + + Break When Function "main" Starts + "main" 関数の開始時にブレーク + + + Break When a New Process Is Forked + 新しいプロセスが起動された時にブレーク + + + Break When a New Process Is Executed + 新しいプロセスが実行された時にブレーク + + + Break When a System Call Is Executed + システムコールが実行された時にブレーク + + + Break on Data Access at Fixed Address + 固定アドレスのデータアクセス時にブレーク + + + Break on Data Access at Address Given by Expression + 式によって得られるアドレスのデータアクセス時にブレーク + + + Break on QML Signal Emit + QML シグナル発生でブレーク + + + Break When JavaScript Exception Is Thrown + JavaScript 例外が throw された時にブレーク + + + Breakpoint &type: + ブレークポイントの種類(&T): + + + &File name: + ファイル名(&F): + + + &Line number: + 行番号(&L): + + + &Enabled: + 有効(&E): + + + &Address: + アドレス(&A): + + + &Expression: + 式(&E): + + + Fun&ction: + 関数(&C): + + + Advanced + 拡張 + + + T&racepoint only: + トレースポイントのみ(&R): + + + &One shot only: + 1回だけ(&O): + + + <p>Determines how the path is specified when setting breakpoints:</p><ul><li><i>Use Engine Default</i>: Preferred setting of the debugger engine.</li><li><i>Use Full Path</i>: Pass full path, avoiding ambiguities should files of the same name exist in several modules. This is the engine default for CDB and LLDB.</li><li><i>Use File Name</i>: Pass the file name only. This is useful when using a source tree whose location does not match the one used when building the modules. It is the engine default for GDB as using full paths can be slow with this engine.</li></ul> + <p>ブレークポイント設定時のパス指定方法の決定:</p><ul><li><i>エンジン既定の方法を使用</i>: デバッグエンジン既定の方法を使用します。</li><li><i>フルパスを使用</i>: フルパスを使用します。複数のモジュールに同名のファイルが存在する場合の曖昧性を回避できます。CDB と LLDB デバッグエンジンの既定値です。</li><li><i>ファイル名を使用</i>: ファイル名のみを使用します。この方法はモジュールビルド時に使用されたパスに合致しないソースツリーでは便利です。GDB デバッグエンジンはフルパス使用時に遅くなる可能性があるため、この値が既定値となります。</li></ul> + + + Use Engine Default + エンジン既定の方法を使用 + + + Use Full Path + フルパスを使用 + + + Use File Name + ファイル名を使用 + + + Pat&h: + パス(&H): + + + Specifying the module (base name of the library or executable) for function or file type breakpoints can significantly speed up debugger startup times (CDB, LLDB). + 関数名やファイル名で指定するブレークポイントはモジュール(ライブラリや実行ファイルのベース名)を指定することで大幅に高速化します(CDB, LLDB)。 + + + &Module: + モジュール(&M): + + + Debugger commands to be executed when the breakpoint is hit. This feature is only available for GDB. + ブレークポイントに到達した際に実行されるデバッガのコマンドです。この機能は GDB のみ対応しています。 + + + &Commands: + コマンド(&C): + + + &Message: + メッセージ(&M): + + + C&ondition: + 条件(&O): + + + &Ignore count: + 無視する回数(&I): + + + &Thread specification: + スレッド指定 (&T): + + + Propagate Change to Preset Breakpoint + 事前に設定したブレークポイントに変更を伝搬する + + + &Condition: + 条件(&C): + Number 番号 @@ -13831,6 +16920,70 @@ Flags: %3 Breakpoint will only be hit in the specified thread(s). 指定されたスレッド内だけで有効になるブレークポイントです。 + + Add Breakpoint... + ブレークポイントを追加... + + + Delete Selected Breakpoints + 選択したブレークポイントを削除する + + + Edit Selected Breakpoints... + 選択したブレークポイントを編集する... + + + Disable Selected Breakpoints + 選択したブレークポイントの無効化 + + + Enable Selected Breakpoints + 選択したブレークポイントの有効化 + + + Disable Breakpoint + ブレークポイントの無効化 + + + Enable Breakpoint + ブレークポイントの有効化 + + + Disable Selected Locations + 選択したロケーションの無効化 + + + Enable Selected Locations + 選択したロケーションの有効化 + + + Disable Location + ロケーションの無効化 + + + Enable Location + ロケーションの有効化 + + + Delete All Breakpoints + すべてのブレークポイントを削除する + + + Delete Breakpoints of "%1" + "%1" のブレークポイントを削除する + + + Delete Breakpoints of File + ファイル内のブレークポイントを削除する + + + Breakpoint + ブレークポイント + + + Internal ID: + 内部ID: + State: 状態: @@ -13843,6 +16996,22 @@ Flags: %3 Disabled 無効 + + pending + 待機中 + + + Display Name: + 表示名: + + + Stopped at breakpoint %1 in thread %2. + スレッド %2 においてブレークポイント %1で停止しました。 + + + Unclaimed Breakpoint + 未請求のブレークポイント + , pending , 待機中 @@ -14235,10 +17404,34 @@ Flags: %3 There is no CDB executable specified. CDB 実行ファイルが指定されていません。 + + Internal error: The extension %1 cannot be found. +If you have updated %2 via Maintenance Tool, you may need to rerun the Tool and select "Add or remove components" and then select the Qt > Tools > Qt Creator CDB Debugger Support component. +If you build %2 from sources and want to use a CDB executable with another bitness than your %2 build, you will need to build a separate CDB extension with the same bitness as the CDB you want to use. + 内部エラーです。拡張子 %1 が見つかりません。 +Maintenance Tool で %2 を更新した場合は、Maintenance Tool を再実行して、[Add or remove components] を選択し、Qt > Tools > Qt Creator CDB Debugger Support コンポーネントを選択する必要があります。 +ソースから %2 をビルドして、%2 のビルドとは異なるビットの CDB 実行ファイルを使用する場合は、使用する CDB と同じビットで別の CDB 拡張をビルドする必要があります。 + Interrupting is not possible in remote sessions. リモートセッションには割り込みできません。 + + Trace point %1 in thread %2 triggered. + スレッド %2 でトレースポイント %1に到達しました。 + + + Conditional breakpoint %1 in thread %2 triggered, examining expression "%3". + スレッド %2 で条件付きブレークポイント %1 に到達した為、式 "%3" を評価しています。 + + + Debugger encountered an exception: %1 + デバッガで例外が発生しました: %1 + + + Module loaded: %1 + 読込済みモジュール: %1 + Trace point %1 (%2) in thread %3 triggered. スレッド %3 でトレースポイント %1 (%2) に到達しました。 @@ -14328,6 +17521,10 @@ Flags: %3 Source Paths ソースのパス + + CDB Paths + CDB のパス + Debugger::Internal::CdbPathsPage @@ -14358,6 +17555,18 @@ Flags: %3 Changes the font size in the debugger views when the font size in the main editor changes. メインエディタのフォントサイズが変更されたときに、デバッガ表示のフォントサイズも変更します。 + + Use annotations in main editor while debugging + デバッグ中にメインエディタでアノテーションを使用する + + + Closes automatically opened source views when the debugger exits. + デバッガーの終了時に、自動的に開いていたソースビューを閉じます。 + + + Closes automatically opened memory views when the debugger exits. + デバッガーの終了時に、自動的に開かれたメモリービューを閉じます。 + Switch to previous mode on debugger exit デバッガ終了時に直前のモードに切り替える @@ -14414,6 +17623,18 @@ Flags: %3 Use Qt Creator for post-mortem debugging ポストモダンデバッグに Qt Creator を使用する + + Bring %1 to foreground when application interrupts + アプリケーションの割り込み時に %1 をフォアグラウンドにする + + + Registers %1 for debugging crashed applications. + クラッシュしたアプリケーションをデバッグするために %1 を登録します。 + + + Use %1 for post-mortem debugging + ポストモーテム・デバッグに %1 を使用する + Warn when debugging "Release" builds "リリース" ビルドのデバッグ時に警告する @@ -14434,6 +17655,14 @@ Flags: %3 <unlimited> <無制限> + + Stop when %1() is called + %1() が呼び出されたら停止する + + + Always adds a breakpoint on the <i>%1()</i> function. + 常に <i>%1()</i> 関数にブレークポイントを追加する。 + Debugger @@ -14508,6 +17737,10 @@ Flags: %3 Dereference Pointers Automatically 自動的にポインタを逆参照する + + <p>This switches the Locals and Expressions views to automatically dereference pointers. This saves a level in the tree view, but also loses data for the now-missing intermediate level. + <p>ローカル変数と式ビューでポインタを自動的に逆参照するかどうかを切り替えます。ツリービューの階層を減らすことができますが、表示されない中間レベルのデータが失われます。 + Show "std::" Namespace in Types 型情報に "std::" 名前空間を含める @@ -14600,6 +17833,14 @@ Flags: %3 Automatically Quit Debugger デバッガを自動的に終了する + + Use annotations in main editor when debugging + デバッグ中にメインエディタでアノテーションを使用する + + + <p>Checking this will show simple variable values as annotations in the main editor during debugging. + <p>これをチェックすると、デバッグ時にシンプルな変数の値がメインエディタにアノテーションとして表示されます。 + Use tooltips in main editor when debugging デバッグ中のメインエディタでツールチップを使用する @@ -14632,6 +17873,10 @@ Flags: %3 <p>Checking this will enable tooltips in the stack view during debugging. <p>デバッグ中、スタックビューでツールチップを有効にします。 + + <p>The maximum length of string entries in the Locals and Expressions views. Longer than that are cut off and displayed with an ellipsis attached. + <p>ローカル変数と式ビューに表示する文字列の最大長です。この値よりも長い文字列は省略記号を付けて途中までを表示します。 + Show Address Data in Breakpoints View when Debugging デバッグ中にブレークポイントビューでアドレスデータを表示する @@ -14723,10 +17968,57 @@ Flags: %3 This option can be used to point to a script that will be used to start a debug server. If the field is empty, Qt Creator's default methods to set up debug servers will be used. このオプションはデバッグサーバを起動するのに用いられるスクリプトを指定するのに使用します。空欄にした場合は Qt Creator 既定の方法でデバッグサーバを起動します。 + + Normally, the running server is identified by the IP of the device in the kit and the server port selected above. +You can choose another communication channel here, such as a serial line or custom ip:port. + 通常、実行中のサーバーは、キット内のデバイスの IP と、上記で選択したサーバーポートで識別されます。 +ここでは、シリアルラインやカスタム ip:port など、別の通信チャネルを選択することができます。 + + + Override server channel: + サーバーチャンネルを上書きする: + + + For example, %1 + "For example, /dev/ttyS0, COM1, 127.0.0.1:1234" + 例: %1 + + + This option can be used to point to a script that will be used to start a debug server. If the field is empty, default methods to set up debug servers will be used. + このオプションはデバッグサーバーを起動するのに用いられるスクリプトを指定するのに使用します。空欄にした場合は、既定の方法でデバッグサーバーを起動します。 + &Server start script: サーバー起動スクリプト(&S): + + Select SysRoot Directory + SysRoot ディレクトリを選択する + + + This option can be used to override the kit's SysRoot setting. + このオプションを使用すると、キットの SysRoot 設定を上書きすることができます。 + + + Override S&ysRoot: + S&ysRoot を上書きします: + + + This option can be used to send the target init commands. + このオプションは、ターゲットの init コマンドを送信するために使用することができます。 + + + &Init commands: + 初期化コマンド(&I): + + + This option can be used to send the target reset commands. + このオプションを使用して、ターゲットのリセットコマンドを送信することができます。 + + + &Reset commands: + リセットコマンド(&R): + Select Location of Debugging Information デバッグ情報のパスを選択 @@ -14757,16 +18049,20 @@ Flags: %3 Break at "&main": - "&main" 関数でブレーク(&m): + "&main" 関数でブレーク(&M): Debug &information: - デバッグ情報(&i): + デバッグ情報(&I): &Recent: 直近(&R): + + Attach to %1 + %1 にアタッチ + Debugger::Internal::AttachToQmlPortDialog @@ -14789,6 +18085,10 @@ Flags: %3 <html><body><p>The remote CDB needs to load the matching Qt Creator CDB extension (<code>%1</code> or <code>%2</code>, respectively).</p><p>Copy it onto the remote machine and set the environment variable <code>%3</code> to point to its folder.</p><p>Launch the remote CDB as <code>%4 &lt;executable&gt;</code> to use TCP/IP as communication protocol.</p><p>Enter the connection parameters as:</p><pre>%5</pre></body></html> <html><body><p>リモート CDB には対応する Qt Creator CDB エクステンション(<code>%1</code> か <code>%2</code>)が必要です。</p><p>エクステンションをリモートマシンにコピーして、環境変数 <code>%3</code> にそのフォルダを設定してください。</p><p>リモート CDB は TCP/IP を接続プロトコルとして使用するように <code>%4 &lt;executable&gt;</code> と実行してください。</p><p>接続パラメータには以下を使用してください:</p><pre>%5</pre></body></html> + + <html><body><p>The remote CDB needs to load the matching %1 CDB extension (<code>%2</code> or <code>%3</code>, respectively).</p><p>Copy it onto the remote machine and set the environment variable <code>%4</code> to point to its folder.</p><p>Launch the remote CDB as <code>%5 &lt;executable&gt;</code> to use TCP/IP as communication protocol.</p><p>Enter the connection parameters as:</p><pre>%6</pre></body></html> + <html><body><p>リモート CDB には対応する %1 CDB エクステンション(<code>%2</code> か <code>%3</code>)が必要です。</p><p>エクステンションをリモートマシンにコピーして、環境変数 <code>%4</code> にそのフォルダを設定してください。</p><p>リモート CDB は TCP/IP を接続プロトコルとして使用するように <code>%5 &lt;executable&gt;</code> と実行してください。</p><p>接続パラメータには以下を使用してください:</p><pre>%6</pre></body></html> + Start a CDB Remote Session CDB リモートセッションを開始 @@ -14861,6 +18161,47 @@ Flags: %3 Debugger::DebuggerItemManager + + Unknown + 不明 + + + Name: + 名前: + + + Path: + パス: + + + Type: + タイプ: + + + ABIs: + ABI: + + + Version: + バージョン: + + + Working directory: + 作業ディレクトリ: + + + 64-bit version + 64 bit バージョン + + + 32-bit version + 32 bit バージョン + + + Specify the path to the <a href="%1">Windows Console Debugger executable</a> (%2) here. + Label text for path configuration. %2 is "x-bit version". + ここでは、<a href="%1">Windows コンソールデバッガーの実行ファイル</a> (%2)のパスを指定します。 + Auto-detected CDB at %1 %1 に CDB を自動検出しました @@ -14873,6 +18214,20 @@ Flags: %3 Extracted from Kit %1 キット %1 から抽出しました + Auto-detected uVision at %1 + %1 で自動検出された uVersion + + + Extracted from Kit %1 + キット %1 から抽出しました + + + Not recognized + 不明 + + + Could not determine debugger type + デバッガの種類が識別できませんでした @@ -15041,6 +18396,10 @@ Flags: %3 Debugger デバッガ + + Start debugging of startup project + 起動プロジェクトのデバッグを開始する + Warning 警告 @@ -15217,7 +18576,7 @@ Qt Creator はアタッチできません。 Run to Selected Function - 選択された関数まで実行 + 選択した関数まで実行 Immediately Return From Inner Function @@ -15287,6 +18646,26 @@ Qt Creator はアタッチできません。 Attach to Remote CDB Session... リモート CDB セッションにアタッチ... + + Start and Break on Main + デバッグを開始して Main でブレーク + + + Breakpoint Preset + ブレークポイントのプリセット + + + Running Debuggers + デバッガの実行 + + + Debugger Perspectives + デバッガの観点 + + + Start Debugging or Continue + デバッグ開始または続行 + Detach Debugger デバッガをデタッチ @@ -15355,6 +18734,28 @@ Qt Creator はアタッチできません。 Ctrl+F6 Ctrl+F6 + + The process %1 is already under the control of a debugger. +%2 cannot attach to it. + プロセス %1 は既にデバッガの制御下にある為 +%2 はアタッチできません。 + + + Remove Breakpoint + ブレークポイントを削除する + + + Disable Breakpoint + ブレークポイントの無効化 + + + Enable Breakpoint + ブレークポイントの有効化 + + + Edit Breakpoint... + ブレークポイントを編集... + F12 F12 @@ -15417,6 +18818,26 @@ Qt Creator はアタッチできません。 Debugger settings デバッガ設定 + + Enable C++ + C++ を有効化 + + + Enable QML + QML を有効化 + + + <a href="qthelp://org.qt-project.qtcreator/doc/creator-debugging-qml.html">What are the prerequisites?</a> + <a href="qthelp://org.qt-project.qtcreator/doc/creator-debugging-qml.html">前提条件は?</a> + + + Enable Debugging of Subprocesses + サブプロセスのデバッグを有効にする + + + Additional startup commands: + 追加の起動コマンド: + Debugger::DebuggerRunControl @@ -15487,6 +18908,10 @@ Qt Creator はアタッチできません。 Source Paths Mapping ソースパスマップ + + <p>Mappings of source file folders to be used in the debugger can be entered here.</p><p>This is useful when using a copy of the source tree at a location different from the one at which the modules where built, for example, while doing remote debugging.</p><p>If source is specified as a regular expression by starting it with an open parenthesis, the paths in the ELF are matched with the regular expression to automatically determine the source path.</p><p>Example: <b>(/home/.*/Project)/KnownSubDir -> D:\Project</b> will substitute ELF built by any user to your local project directory.</p> + <p>デバッガで使用するソースファイルフォルダとの対応を入力します。</p><p>例えば、リモートデバッグ時など、モジュールをビルドしたときとは別のパスにソースツリーが置かれている場合に有用です。</p><p>ソースが括弧内の正規表現で開始される場合、ELF バイナリ内のパスを正規表現と比較して自動的にソースパスを決定します。</p><p>例: <b>(/home/.*/Project)/KnownSubDir → D:\Project</b> の場合、他のユーザーがビルドした ELF バイナリをローカルのプロジェクトディレクトリに対応させます。</p> + <p>Mappings of source file folders to be used in the debugger can be entered here.</p><p>This is useful when using a copy of the source tree at a location different from the one at which the modules where built, for example, while doing remote debugging.</p><p>If source is specified as a regular expression by starting it with an open parenthesis, Qt Creator matches the paths in the ELF with the regular expression to automatically determine the source path.</p><p>Example: <b>(/home/.*/Project)/KnownSubDir -> D:\Project</b> will substitute ELF built by any user to your local project directory.</p> <p>デバッガで使用するソースファイルフォルダとの対応を入力します。</p><p>例えば、リモートデバッグ時など、モジュールをビルドしたときとは別のパスにソースツリーが置かれている場合に有用です。</p><p>ソースが括弧内の正規表現で開始される場合、Qt Creator では ELF バイナリ内のパスを正規表現と比較して自動的にソースパスを決定します。</p><p>例: <b>(/home/.*/Project)/KnownSubDir → D:\Project</b> の場合、他のユーザーがビルドした ELF バイナリをローカルのプロジェクトディレクトリに対応させます。</p> @@ -15776,6 +19201,97 @@ You can choose between waiting longer or aborting debugging. Step next instruction requested... 続けて命令毎にステップ実行しようとしています... + + The gdb process failed to start. + gdb プロセスの起動に失敗しました。 + + + Library %1 loaded. + ライブラリ '%1' を読み込みました。 + + + Library %1 unloaded. + ライブラリ '%1' を解放しました。 + + + Thread group %1 created. + スレッドグループ %1 を作成しました。 + + + Thread %1 created. + スレッド %1 を作成しました。 + + + Thread group %1 exited. + スレッドグループ %1 が終了しました。 + + + Thread %1 in group %2 exited. + スレッドグループ %2 のスレッド %1 が終了しました。 + + + Thread %1 selected. + スレッド %1 を選択しました。 + + + Stopping temporarily. + 一時停止しています。 + + + The gdb process has not responded to a command within %n seconds. This could mean it is stuck in an endless loop or taking longer than expected to perform the operation. +You can choose between waiting longer or aborting debugging. + + gdb プロセスが %n 秒間反応がありません。無限ループに陥っているか、操作に時間を要している可能性があります。 + + + + GDB Not Responding + GDB が応答しません + + + Give GDB More Time + GDB の応答を待つ + + + Stop Debugging + デバッグを停止 + + + Process failed to start. + プロセスの開始に失敗しました。 + + + Setting Breakpoints Failed + ブレークポイントの設定に失敗 + + + Cannot jump. Stopped. + 移動できません。停止しました。 + + + Jumped. Stopped. + ジャンプして停止しました。 + + + Target line hit, and therefore stopped. + ブレークポイントにヒットし、停止しました。 + + + Application exited normally. + アプリケーションは正常に終了しました。 + + + The selected build of GDB supports Python scripting, but the used version %1.%2 is not sufficient for %3. Supported versions are Python 2.7 and 3.x. + 選択した GDB バイナリは Python スクリプトをサポートしていますが、使用する Python のバージョンが %1.%2 となっており、%3 が対応している Python 2.7 や 3.x ではありません。 + + + Failed to Shut Down Application + アプリケーションの終了に失敗しました + + + There is no GDB binary available for binaries in format "%1". + "%1" フォーマットのバイナリで利用可能な GDB のバイナリがありません。 + Run to line %1 requested... %1 行目まで実行しようとしています... @@ -15796,6 +19312,122 @@ You can choose between waiting longer or aborting debugging. Cannot read symbols for module "%1". モジュール "%1" のシンボルが読めません。 + + Retrieving data for stack view thread %1... + スタックビュースレッド %1 用のデータを受信中... + + + Cannot Find Debugger Initialization Script + デバッガ初期化スクリプトが見つかりません + + + The debugger settings point to a script file at "%1", which is not accessible. If a script file is not needed, consider clearing that entry to avoid this warning. + デバッガに設定されたスクリプトファイル "%1" にアクセスできません。スクリプトが不要な場合、スクリプトファイルの設定を消去してみてください。そうすればこの警告が出るのを回避できます。 + + + Adapter Start Failed + アダプタの開始に失敗しました + + + Failed to Start Application + アプリケーションの開始に失敗しました + + + Application started. + アプリケーションが起動しました。 + + + Application running. + アプリケーション実行中。 + + + Attached to stopped application. + 停止済みアプリケーションにアタッチしました。 + + + No symbol file given. + シンボルファイルがありません。 + + + Error Loading Core File + コアファイルの読込に失敗 + + + The specified file does not appear to be a core file. + 指定されたファイルはコアファイルではないようです。 + + + Error Loading Symbols + シンボルの読込に失敗 + + + No executable to load symbols from specified core. + 指定されたコアからシンボルをロードする実行ファイルが見つかりません。 + + + Attaching to process %1. + プロセス %1 にアタッチします。 + + + Attached to running application. + 実行中のアプリケーションにアタッチ。 + + + Failed to attach to application: %1 + アプリケーションへのアタッチに失敗しました: %1 + + + Debugger Error + デバッガエラー + + + Interrupting not possible. + 割り込み不可。 + + + Symbols found. + シンボルが見つかりました。 + + + No symbols found in the core file "%1". + コアファイル "%1"にシンボルが見つかりません。 + + + This can be caused by a path length limitation in the core file. + コアファイルのパスの長さが原因の可能性があります。 + + + Try to specify the binary in Debug > Start Debugging > Load Core File. + デバッグ>デバッグ開始>コアファイルを読み込みでバイナリファイルを指定してください。 + + + Starting executable failed: + 実行ファイルの起動に失敗しました: + + + No Remote Executable or Process ID Specified + リモートの実行ファイルまたはプロセスIDが指定されていません + + + No remote executable could be determined from your build system files.<p>In case you use qmake, consider adding<p>&nbsp;&nbsp;&nbsp;&nbsp;target.path = /tmp/your_executable # path on device<br>&nbsp;&nbsp;&nbsp;&nbsp;INSTALLS += target</p>to your .pro file. + ビルドシステムファイルからリモート実行可能なファイルを特定できませんでした。<p>&nbsp;&nbsp;&nbsp;&nbsp;target.path = /tmp/your_executable # path on device <br>&nbsp;&nbsp;&nbsp;&nbsp;INSTALLS += target</p>qmake を使用している場合は、.pro ファイルに以下の行を追加してください。 + + + Continue Debugging + デバッグの続行 + + + Attached to core. + コアファイルにアタッチしました。 + + + Attach to core "%1" failed: + core "%1" へのアタッチに失敗しました: + + + Continuing nevertheless. + デバッグを継続します。 + Retrieving data for stack view thread 0x%1... スタックビュースレッド 0x%1 用のデータを受信中... @@ -15828,6 +19460,14 @@ You can choose between waiting longer or aborting debugging. Disassembler failed: %1 逆アセンブル失敗: %1 + + Cannot set up communication with child process: %1 + 子プロセスとの通信を設定できません: %1 + + + The working directory "%1" is not usable. + 作業ディレクトリ "%1" は使用できません。 + Setting up inferior... プログラムの準備中... @@ -15963,6 +19603,16 @@ loading big libraries or listing source files takes much longer than that on slow machines. In this case, the value should be increased. Qt Creator が、応答しない GDB プロセスを強制終了させるのを、ここで指定された時間(秒単位)だけ待機します。 既定では 20 秒で大体のアプリケーションには十分ですが、低速なマシンで巨大なライブラリの読み込みや +ソースファイルの一覧を表示する場合は不十分かも知れません。そのような場合は、この値を大きくしてください。 + + + The number of seconds before a non-responsive GDB process is terminated. +The default value of 20 seconds should be sufficient for most +applications, but there are situations when loading big libraries or +listing source files takes much longer than that on slow machines. +In this case, the value should be increased. + 応答しない GDB プロセスを強制終了させるのを、ここで指定された時間(秒単位)だけ待機します。 +既定では 20 秒で大体のアプリケーションには十分ですが、低速なマシンで巨大なライブラリの読み込みや ソースファイルの一覧を表示する場合は不十分かも知れません。そのような場合は、この値を大きくしてください。 @@ -16038,6 +19688,26 @@ markers in the source code editor. <html><head/><body>GDB shows by default AT&&T style disassembly.</body></html> <html><head/><body>GDB は既定では AT&&T スタイルの逆アセンブラで表示します。</body></html> + + Use pseudo message tracepoints + 疑似メッセージのトレースポイントを使用する + + + Uses Python to extend the ordinary GDB breakpoint class. + python を使用して、通常の GDB ブレークポイントクラスを拡張する。 + + + Uses python to extend the ordinary GDB breakpoint class. + pythonを使用して、通常のGDBブレークポイントクラスを拡張する。 + + + Debug all child processes + すべての子プロセスをデバッグする + + + GDB Extended + GDB 拡張 + Create tasks from missing packages 不足するパッケージからタスクを作成する @@ -16311,6 +19981,10 @@ markers in the source code editor. Adapter start failed. アダプタの開始に失敗しました。 + + Stopping temporarily + 一時停止しています + Setting up inferior... プログラムの準備中... @@ -16385,10 +20059,26 @@ markers in the source code editor. Select Core File コアファイルの選択 + + Select Executable or Symbol File + 実行ファイルまたはシンボルファイルを選択する + + + Select a file containing debug information corresponding to the core file. Typically, this is the executable or a *.debug file if the debug information is stored separately from the executable. + コアファイルに対応するデバッグ情報を含むファイルを選択します。一般的には、実行ファイル、またはデバッグ情報が実行ファイルとは別に保存されている場合は*.debugファイルです。 + Select Startup Script 起動スクリプトの選択 + + Select SysRoot Directory + SysRoot ディレクトリを選択する + + + This option can be used to override the kit's SysRoot setting + このオプションを使用すると、キットの SysRoot 設定を上書きすることができます + Kit: キット: @@ -16401,10 +20091,18 @@ markers in the source code editor. Core file: コアファイル: + + &Executable or symbol file: + 実行ファイルまたはシンボルファイル(&E): + Override &start script: 起動スクリプトを上書き(&S): + + Override S&ysRoot: + S&ysRoot を上書きします: + Select Remote Core File リモートコアファイルの選択 @@ -16438,6 +20136,10 @@ markers in the source code editor. Debugger Log デバッガログ + + Debugger &Log + デバッガログ(&L) + Repeat last command for debug reasons. デバッグ目的で直前のコマンドを繰り返す。 @@ -16446,6 +20148,16 @@ markers in the source code editor. Command: コマンド: + + Note: This log contains possibly confidential information about your machine, environment variables, in-memory data of the processes you are debugging, and more. It is never transferred over the internet by %1, and only stored to disk if you manually use the respective option from the context menu, or through mechanisms that are not under the control of %1's Debugger plugin, for instance in swap files, or other plugins you might use. +You may be asked to share the contents of this log when reporting bugs related to debugger operation. In this case, make sure your submission does not contain data you do not want to or you are not allowed to share. + + + 注意: このログには、お使いのマシンの機密情報、環境変数、デバッグ中のプロセスのインメモリデータなどが含まれている可能性があります。このログは、%1 によってインターネット上に転送されることはなく、コンテクスト メニューの各オプションを手動で使用した場合にのみディスクに保存されます。また、%1 のデバッガ プラグインの制御下にないメカニズム (スワップ ファイルや使用している他のプラグインなど) を通じて保存されます。 +デバッガーの操作に関連するバグを報告する際に、このログの内容を共有するよう求められることがあります。このような場合には、送信するデータに、共有したくない、または共有することが許可されていないデータが含まれていないことを確認してください. + + + NOTE: This log contains possibly confidential information about your machine, environment variables, in-memory data of the processes you are debugging, and more. It is never transferred over the internet by Qt Creator, and only stored to disk if you manually use the respective option from the context menu, or through mechanisms that are not under Qt Creator's control, for instance in swap files. You may be asked to share the contents of this log when reporting bugs related to debugger operation. In this case, make sure your submission does not contain data you do not want to or you are not allowed to share. @@ -16467,6 +20179,14 @@ You may be asked to share the contents of this log when reporting bugs related t Debugger::Internal::MemoryAgent + + Memory at Register "%1" (0x%2) + レジスタ "%1" (0x%2) の指すメモリ + + + Register "%1" + レジスタ "%1" + Memory at 0x%1 0x%1 のメモリ @@ -16758,6 +20478,10 @@ Do you want to retry? QML debugging port not set: Unable to convert %1 to unsigned int. QML デバッグポートが設定されていません。%1 は符号無し整数に変換できません。 + + Starting %1 + %1 を起動中 + Waiting for JavaScript engine to interrupt on next statement. JavaScript エンジンが次の文に割り込むのを待機しています。 @@ -16770,6 +20494,26 @@ Do you want to retry? QML Debugger disconnected. QML デバッガは切断しました。 + + Cannot evaluate %1 in current stack frame. + 現在のスタック・フレームでは、%1 を評価できません。 + + + QML Debugger disconnected. + QML デバッガは切断しました。 + + + Context: + コンテキスト: + + + Global QML Context + グローバル QML コンテクスト + + + QML Debugger: Connection failed. + QML デバッガの接続に失敗しました。 + Debugger::Internal::QmlInspectorAgent @@ -16777,6 +20521,10 @@ Do you want to retry? Success: 成功: + + <anonymous> + <無名関数> + Properties プロパティ @@ -16812,6 +20560,14 @@ Do you want to retry? Content as %1-bit Floating Point Values %1ビット浮動小数点としての値 + + Registers group + レジスタグループ + + + A group of registers. + レジスターのグループです。 + Name 名前 @@ -16820,6 +20576,54 @@ Do you want to retry? Value + + Reload Register Listing + レジスタのリストの再読込 + + + Open Memory View at Value of Register %1 0x%2 + レジスタ %1 0x%2 の値をメモリビューで開く + + + Open Memory View at Value of Register + レジスタの値をメモリビューで開く + + + Open Memory Editor at 0x%1 + アドレス 0x%1 をメモリエディタで開く + + + Open Memory Editor + メモリエディタを開く + + + Open Disassembler at 0x%1 + アドレス 0x%1 を逆アセンブラで開く + + + Open Disassembler + 逆アセンブラを開く + + + Open Disassembler... + 逆アセンブラを開く... + + + Hexadecimal + 16進数 + + + Decimal + 10進数 + + + Octal + 8進数 + + + Binary + 2進数 + Edit bits %1...%2 of register %3 レジスタ %3 の %1..%2 ビットの編集 @@ -16966,6 +20770,18 @@ Do you want to retry? Full Name 完全名 + + Reload Data + データの再読込 + + + Open File + ファイルを開く + + + Open File "%1" + ファイル "%1" を開く + Debugger::Internal::SourceFilesTreeView @@ -17064,6 +20880,70 @@ Do you want to retry? Address アドレス + + Disassemble Function + 関数を逆アセンブル + + + Cannot open "%1": %2 + "%1" を開けません: %2 + + + Cannot Open Task File + タスクファイルを開けません + + + Copy Contents to Clipboard + 内容をクリップボードにコピー + + + Copy Selection to Clipboard + 選択範囲をクリップボードにコピーする + + + Save as Task File... + 名前を付けてタスクファイルを保存... + + + Load QML Stack + QML スタックの読込 + + + Open Memory Editor at 0x%1 + アドレス 0x%1 をメモリエディタで開く + + + Open Memory Editor + メモリエディタを開く + + + Memory at Frame #%1 (%2) 0x%3 + フレーム番号 #%1 (%2) 0x%3 のメモリ内容 + + + Frame #%1 (%2) + フレーム番号 #%1 (%2) + + + Open Disassembler at 0x%1 + アドレス 0x%1 を逆アセンブラで開く + + + Open Disassembler + 逆アセンブラを開く + + + Open Disassembler at Address... + アドレスを逆アセンブラで開く... + + + Disassemble Function... + 関数を逆アセンブル... + + + Try to Load Unknown Symbols + 不明なシンボルの読み込みを行う + Module: モジュール: @@ -17257,7 +21137,15 @@ Do you want to retry? Internal ID - 内部ID + 内部 ID + + + Creation Time in ms + 作成時間(単位:ミリ秒) + + + Source + ソース Debugger - Qt Creator @@ -17315,6 +21203,10 @@ Do you want to retry? Are you sure you want to remove all expression evaluators? 本当にすべての式エバリュエータを削除しますか? + + Debugger - %1 + デバッガ - %1 + Debugger::Internal::WatchModel @@ -17374,6 +21266,256 @@ Do you want to retry? Latin1 String in Separate Window 別ウィンドウに Latin1 文字列 + + Time + タイム + + + <i>%1</i> %2 at #%3 + HTML tooltip of a variable in the memory editor + #%3 の <i>%1</i> %2 + + + <i>%1</i> %2 + HTML tooltip of a variable in the memory editor + <i>%1</i> %2 + + + Press Ctrl to select widget at (%1, %2). Press any other keyboard modifier to stop selection. + Ctrl キーを押して、(%1, %2) にあるウィジェットを選択します。他のキーボード修飾子を押すと、選択が停止します。 + + + Selecting widget at (%1, %2). + (%1, %2)でウィジェットを選択します。 + + + Selection aborted. + 選択を中止しました。 + + + Register <i>%1</i> + レジスタ <i>%1</i> + + + Memory at Pointer's Address "%1" (0x%2) + ポインタのアドレス "%1" (0x%2) が指すメモリ + + + Memory at Object's Address "%1" (0x%2) + オブジェクトのアドレス "%1" (0x%2) が指すメモリ + + + Cannot Display Stack Layout + スタックレイアウトを表示できません + + + Could not determine a suitable address range. + 適応するアドレス範囲が特定できません。 + + + Memory Layout of Local Variables at 0x%1 + 0x%1 のローカル変数のメモリレイアウト + + + Add Expression Evaluator + 式エバリュエータを追加 + + + Add Expression Evaluator for "%1" + 式エバリュエータ "%1" を追加 + + + Remove Expression Evaluator + 式エバリュエータを削除 + + + Remove Expression Evaluator for "%1" + 式エバリュエータ "%1" を削除 + + + Enter an expression to evaluate. + 評価する式を入力してください。 + + + Note: Evaluators will be re-evaluated after each step. For details, see the <a href="qthelp://org.qt-project.qtcreator/doc/creator-debug-mode.html#locals-and-expressions">documentation</a>. + 注意: 式は各ステップ実行ごとに再評価されます。詳細は <a href="qthelp://org.qt-project.qtcreator/doc/creator-debug-mode.html#locals-and-expressions">ドキュメント</a> を参照してください。 + + + New Evaluated Expression + 新しい評価済み式 + + + Add New Expression Evaluator... + 新しい式エバリュエータを追加... + + + Remove All Expression Evaluators + すべての式エバリュエータを削除 + + + Select Widget to Add into Expression Evaluator + 式エバリュエータに追加するウィジェットの選択 + + + Expand All Children + すべての子プロセスを展開する + + + Collapse All Children + すべての子プロセスを折りたたむ + + + Close Editor Tooltips + エディタのツールチップを閉じる + + + Copy View Contents to Clipboard + 表示内容をクリップボードにコピー + + + Copy Current Value to Clipboard + 現在の値をクリップボードにコピー + + + Open View Contents in Editor + 表示内容をエディタで開く + + + Locals & Expressions + ローカル変数と式 + + + Add Data Breakpoint + データブレークポイントを追加 + + + Add Data Breakpoint at Object's Address (0x%1) + オブジェクトのアドレス (0x%1) にデータブレークポイントを追加 + + + Stop the program when the data at the address is modified. + そのアドレスのデータが変更されたら、プログラムを停止します。 + + + Add Data Breakpoint at Pointer's Address (0x%1) + ポインタのアドレス (0x%1) にデータブレークポイントを追加 + + + Add Data Breakpoint at Pointer's Address + ポインタのアドレスにデータブレークポイントを追加 + + + Add Data Breakpoint at Expression "%1" + 式 "%1" にデータブレークポイントを追加 + + + Add Data Breakpoint at Expression + 式にデータブレークポイントを追加 + + + Stop the program when the data at the address given by the expression is modified. + 式で指定されたアドレスのデータが変更されたら、プログラムを停止します。 + + + Open Memory Editor + メモリエディタを開く + + + Open Memory View at Object's Address (0x%1) + オブジェクトのアドレス (0x%1) をメモリビューで開く + + + Open Memory View at Object's Address + オブジェクトのアドレスをメモリビューで開く + + + Open Memory View at Pointer's Address (0x%1) + ポインタのアドレス (0x%1) をメモリビューで開く + + + Open Memory View at Pointer's Address + ポインタのアドレスをメモリビューで開く + + + Open Memory View Showing Stack Layout + 表示しているスタックレイアウトをメモリビューで開く + + + Open Memory Editor at Object's Address (0x%1) + オブジェクトのアドレス (0x%1) をメモリエディタで開く + + + Open Memory Editor at Object's Address + オブジェクトのアドレスをメモリエディタで開く + + + Open Memory Editor at Pointer's Address (0x%1) + ポインタのアドレス (0x%1) をメモリエディタで開く + + + Open Memory Editor at Pointer's Address + ポインタのアドレスをメモリエディタで開く + + + Open Memory Editor Showing Stack Layout + 表示しているスタックレイアウトをメモリエディタで開く + + + Open Memory Editor... + メモリエディタを開く... + + + Treat All Characters as Printable + すべての文字を印刷可能文字として扱う + + + Show Unprintable Characters as Escape Sequences + 印刷不可文字をエスケープシーケンスとして表示 + + + Show Unprintable Characters as Octal + 印刷不可文字を8進数の文字として表示 + + + Show Unprintable Characters as Hexadecimal + 印刷不可文字を16進数の文字として表示 + + + Change Value Display Format + 値の表示形式を変更 + + + Change Display for Object Named "%1": + "%1" という名前のオブジェクトの表示形式を変更: + + + Use Format for Type (Currently %1) + 型の表示形式を使う(現在は %1) + + + Use Display Format Based on Type + 型に基づいたフォーマットで表示する + + + Reset All Individual Formats + すべてのフォーマットをリセットする + + + Change Display for Type "%1": + 型 "%1" の表示形式を変更: + + + Reset All Formats for Types + すべての型の表示形式をリセットする + + + Change Display Format for Selected Values + 選択した値の表示形式を変更する + + + Change Display for Objects + オブジェクトの表示形式を変更する + Normal ノーマル @@ -17442,6 +21584,10 @@ Do you want to retry? %1 Object at Unknown Address 不明なアドレスの %1 型のオブジェクト + + Are you sure you want to remove all expression evaluators? + 本当にすべての式エバリュエータを削除しますか? + returned value 戻り値 @@ -17699,13 +21845,13 @@ Do you want to retry? The generated header of the form "%1" could not be found. Rebuilding the project might help. - フォーム "%1" から生成されたヘッダーが見つかりませんでした。 + フォーム "%1" から生成されたヘッダが見つかりませんでした。 プロジェクトのリビルドをお奨めします。 The generated header "%1" could not be found in the code model. Rebuilding the project might help. - 生成されたヘッダーファイル "%1" がコードモデル内に見つかりませんでした。 + 生成されたヘッダファイル "%1" がコードモデル内に見つかりませんでした。 プロジェクトのリビルドをお奨めします。 @@ -17736,7 +21882,7 @@ Rebuilding the project might help. Creates a Qt Designer form along with a matching class (C++ header and source file) for implementation purposes. You can add the form and class to an existing Qt Widget Project. - 既存の Qt ウィジェットプロジェクトに追加可能な Qt Designer フォームとそれに対応したクラス (C++ ヘッダーとソースファイル) を作成します。 + 既存の Qt ウィジェットプロジェクトに追加可能な Qt Designer フォームとそれに対応したクラス (C++ ヘッダとソースファイル) を作成します。 @@ -17789,6 +21935,42 @@ Rebuilding the project might help. Diff... 差分... + + &Diff + 差分表示(&D) + + + Diff Current File + 現在のファイルの差分表示 + + + Meta+H + Meta+H + + + Ctrl+H + Ctrl+H + + + Diff Open Files + 開いているファイルの差分表示 + + + Meta+Shift+H + Meta+Shift+H + + + Ctrl+Shift+H + Ctrl+Shift+H + + + Diff External Files... + 外部ファイルの差分表示... + + + Diff "%1" + "%1" の差分表示 + Select First File for Diff 差分を取る最初のファイルの選択 @@ -17872,6 +22054,10 @@ Rebuilding the project might help. Edit Files... ファイルを編集... + + Remove Directory + ディレクトリを削除する + GenericProjectManager::Internal::GenericProjectWizardDialog @@ -17902,6 +22088,10 @@ Rebuilding the project might help. Import Existing Project 既存プロジェクトのインポート + + Imports existing projects that do not use qmake, CMake, Qbs, Meson, or Autotools. This allows you to use %1 as a code editor. + qmake、CMake、Qbs、Meson、または Autotools を使用していない既存のプロジェクトをインポートします。これにより、%1 をコード・エディタとして使用できるようになります。 + Imports existing projects that do not use qmake, CMake or Autotools. This allows you to use Qt Creator as a code editor. qmake または CMake や Autotools を使用しない既存のプロジェクトをインポートします。Qt Creator をコーディングする時のエディタとして使用する事ができます。 @@ -17917,6 +22107,10 @@ Rebuilding the project might help. Remote Branches リモートブランチ + + Detached HEAD + デタッチされた HEAD + Tags タグ @@ -17952,17 +22146,21 @@ Rebuilding the project might help. copied コピー + + typechange + 型変更 + by both - 双方 + 双方 by us - ローカル側 + ローカル側 by them - リモート側 + リモート側 @@ -18011,9 +22209,33 @@ Rebuilding the project might help. Fetching "%1"... "%1 を取得中... + + Gerrit + Gerrit + + + Remote: + リモート: + + + Certificate Error + 証明書エラー + + + Server certificate for %1 cannot be authenticated. +Do you want to disable SSL verification for this server? +Note: This can expose you to man-in-the-middle attack. + %1 のサーバー証明書を認証できません。 +このサーバーの SSL 認証を無効にしますか? +注意:これにより、中間者攻撃(man-in-the-middle attack)を受ける可能性があります。 + Gerrit::Internal::GerritModel + + (Draft) + (下書き) + Subject 件名 @@ -18131,13 +22353,21 @@ Would you like to terminate it? &ssh: &ssh: + + cur&l: + cur&l: + + + SSH &Port: + SSH ポート(&P): + &Port: ポート(&P): P&rotocol: - プロトコル(&r): + プロトコル(&R): Determines the protocol used to form a URL in case @@ -18251,6 +22481,26 @@ were not verified among remotes in %3. Select different folder? Ignore whitespace only changes. 空白だけの変更を無視します。 + + No Move Detection + 移動検出なし + + + Detect Moves Within File + ファイル内の動きを検出する + + + Detect Moves Between Files + ファイル間の移動を検出する + + + Detect Moves and Copies Between Files + ファイル間の移動とコピーを検出する + + + Move detection + 移動検出 + Git::Internal::GitLogArgumentsWidget @@ -18262,6 +22512,14 @@ were not verified among remotes in %3. Select different folder? Show difference. 差分を表示します。 + + First Parent + 最初の親 + + + Follow only the first parent on merge commits. + マージコミットで最初の親のみに従う。 + Graph グラフ @@ -18270,6 +22528,22 @@ were not verified among remotes in %3. Select different folder? Show textual graph log. テキストによるグラフログを表示します。 + + Color + + + + Use colors in log. + ログに色を使用する。 + + + Follow + フォロー + + + Show log also for previous names of the file. + 以前のファイル名についてもログを表示する。 + Git::Internal::GitClient @@ -18285,6 +22559,18 @@ were not verified among remotes in %3. Select different folder? Cannot launch "%1". "%1" を起動できません。 + + Stage Selection (%n Lines) + + 選択したものをステージする (%n 行) + + + + Unstage Selection (%n Lines) + + 選択したものをアンステージする (%n 行) + + Git Diff Project Git プロジェクトの差分表示 @@ -18313,6 +22599,26 @@ were not verified among remotes in %3. Select different folder? Git Show "%1" Git "%1" の表示 + + Tarball (*.tar.gz) + Tarball (*.tar.gz) + + + Zip archive (*.zip) + ZIP アーカイブ (*.zip) + + + Generate %1 archive + %1のアーカイブを生成します + + + Overwrite? + 上書きしますか? + + + An item named "%1" already exists at this location. Do you want to overwrite it? + "%1" という名前のファイルは既に同じパスに存在しています。上書きしますか? + Git Blame "%1" Git "%1" の編集者を表示 @@ -18329,6 +22635,14 @@ were not verified among remotes in %3. Select different folder? All changes in working directory will be discarded. Are you sure? 作業ディレクトリのすべての変更が破棄されます。破棄しますか? + + Nothing to recover + リカバリするものがない + + + Files recovered + 復元したファイル + Cannot obtain log of "%1": %2 "%1" のログを取得できません: %2 @@ -18339,6 +22653,12 @@ were not verified among remotes in %3. Select different folder? "%1" 内の %n 個のファイルがリセットできません: %2 + + Cannot reset %n files in "%1": %2 + + "%1" 内の %n 個のファイルがリセットできません: %2 + + Cannot checkout "%1" of %2 in "%3": %4 Meaning of the arguments: %1: revision, %2: files, %3: repository, %4: Error message @@ -18478,10 +22798,97 @@ Commit now? The repository "%1" is not initialized. リポジトリ "%1" は初期化されていません。 + + Committed %n files. + + %n 個のファイルにコミットしました。 + + + + Amended "%1" (%n files). + + "%1" のログを修正しました(%n 個のファイル)。 + + + + Cannot commit %n files + + + %n 個のファイルをコミットできません + + + + + Cherr&y-Pick Change %1 + コミット %1 をチェリーピック(&Y) + + + Re&vert Change %1 + コミット %1 をリバート(&V) + + + C&heckout Change %1 + コミット %1 をチェックアウト(&H) + + + &Interactive Rebase from Change %1... + %1の変更から対話的な(&I) リベース... + + + &Log for Change %1 + コミット %1 のログ(&L) + + + Sh&ow file "%1" on revision %2 + リビジョン %2 のファイル "%1" を表示する(&O) + + + Add &Tag for Change %1... + コミット %1 の追加とタグ付け(&T)... + + + &Reset to Change %1 + コミット %1 へリセット(&R) + + + &Hard + ハード(&H) + + + &Mixed + 混在(&M) + + + &Soft + ソフト(&S) + + + Di&ff Against %1 + %1 に対する差分表示(&F) + + + Diff &Against Saved %1 + 保存された %1 に対する(&A)差分表示 + + + &Save for Diff + 差分を保存する(&S) + + + Git Show %1:%2 + Git Show %1:%2 + Cannot retrieve last commit data of repository "%1". リポジトリ "%1" の最後のコミットデータを受信できません。 + + and %n more + Displayed after the untranslated message "Branches: branch1, branch2 'and %n more'" + + その他(%n) + + Stage Chunk チャンクをステージに追加 @@ -18568,6 +22975,10 @@ Commit now? Run &Merge Tool マージツールの実行(&M) + + Only graphical merge tools are supported. Please configure merge.tool. + グラフィカルなマージツールのみがサポートされています。merge.tool を設定してください。 + &Skip スキップ(&S) @@ -18576,6 +22987,26 @@ Commit now? Git SVN Log Git SVN ログ + + Force Push + プッシュを強制する + + + Push failed. Would you like to force-push <span style="color:#%1">(rewrites remote history)</span>? + プッシュに失敗しました。<span style="color:#%1">(リモートの履歴を書き換えます)</span>を強制プッシュしますか? + + + No Upstream Branch + 上流ブランチがありません + + + Push failed because the local branch "%1" does not have an upstream branch on the remote. + +Would you like to create the branch "%1" on the remote and set it as upstream? + ローカル・ブランチ"%1"がリモートの上流ブランチを持っていないので、プッシュに失敗しました。 + +リモートでブランチ"%1"を作成し、それを上流ブランチとして設定しますか? + Rebase, merge or am is in progress. Finish or abort it and then try again. リベース、マージ、パッチ適用などが実行中です。完了あるいは中断後に再度実行してください。 @@ -19107,6 +23538,14 @@ Commit now? Patch %1 successfully applied to %2 パッチ %1 を %2 に適用しました + + <No repository> + <リポジトリなし> + + + Repository: %1 + リポジトリ: %1 + Git::Internal::GitSettings @@ -19141,6 +23580,18 @@ Commit now? Commit and Push to &Gerrit コミットして &Gerrit へプッシュ + + Invalid author + 無効な著作者 + + + Invalid email + 無効なEメール + + + Unresolved merge conflicts + 未解決なマージの衝突 + &Commit and Push コミットしてプッシュ(&C) @@ -19274,6 +23725,18 @@ Remote: %4 Continue merging other unresolved paths? 他の未解決なパスのマージを継続しますか? + + Merge Tool + マージツール + + + Merge tool is not configured. + マージツールが設定されていません。 + + + Run git config --global merge.tool &lt;tool&gt; to configure it, then try again. + git config --global merge.tool &lt;tool&gt;を実行して設定してから、もう一度試してみてください。 + Merge tool process finished successfully. マージツールが正常に終了しました。 @@ -19294,6 +23757,16 @@ instead of its installation directory when run outside git bash. (%2) msysgit が、git bash 外で実行された時に自身のインストール先の代わりに そのディレクトリ内で SSH 鍵を探索するからです。 + + + Set the environment variable HOME to "%1" +(%2). +This causes Git to look for the SSH-keys in that location +instead of its installation directory when run outside git bash. + 環境変数 HOME を "%1" に設定します。 +(%2). + +これにより、git bash の外で実行したときに、Git はインストールディレクトリではなくその場所で SSH キーを探すようになります。 not currently set @@ -19307,6 +23780,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Git Repository Browser Command Git リポジトリブラウザコマンド + + Git + Git + GLSLEditor @@ -19378,10 +23855,18 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Technical Support 技術サポート + + Technical Support... + 技術サポート... + Report Bug... バグの報告... + + System Information... + システム情報... + No Documentation ドキュメントがありません @@ -19390,6 +23875,18 @@ msysgit が、git bash 外で実行された時に自身のインストール先 No documentation available. 使用可能なドキュメントがありません。 + + System Information + システム情報 + + + Use the following to provide more detailed information about your system to bug reports: + システムのより詳細な情報をバグレポートに提供するために以下を使用します: + + + Copy to Clipboard + クリップボードにコピーする + Open Pages ページを開く @@ -19494,6 +23991,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 %1 %2 %1 %2 + + %1 Simulator + %1 シミュレータ + Ios @@ -19504,6 +24005,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Ios::Internal::IosDebugSupport + + Application not running. + アプリケーションが実行されていません。 + Could not find device specific debug symbols at %1. Debugging initialization will be slow until you open the Organizer window of Xcode with the device connected to have the symbols generated. %1 にデバイス固有のデバッグシンボルが見つかりませんでした。Xcode の Organaizer ウィンドウを生成されたシンボルを持つデバイスで開くまでは、デバッグの初期化が遅くなります。 @@ -19559,7 +24064,11 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Deployment failed. No iOS device found. - でブロイに失敗しました。iOS デバイスが見つかりません。 + デプロイに失敗しました。iOS デバイスが見つかりません。 + + + Transferring application + アプリケーション転送中 Deployment failed. The settings in the Devices window of Xcode might be incorrect. @@ -19577,6 +24086,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 The provisioning profile "%1" (%2) used to sign the application does not cover the device %3 (%4). Deployment to it will fail. アプリケーションの署名に使用するために準備されたプロファイル "%1" (%2) がデバイス %3 (%4) をカバーしていません。デプロイは失敗するでしょう。 + + Deploy to iOS device + iOS デバイスにデプロイ + Ios::Internal::IosDeployStepFactory @@ -19595,6 +24108,22 @@ msysgit が、git bash 外で実行された時に自身のインストール先 iOS Device iOS デバイス + + Device name: + デバイス名: + + + Identifier: + 識別子: + + + OS Version: + OS バージョン: + + + CPU Architecture: + CPU アーキテクチャ: + Ios::Internal::IosDeviceManager @@ -19731,6 +24260,14 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Could not find %1. %1 が見つかりませんでした。 + + Could not get necessary ports for the debugger connection. + デバッガの接続に必要なポートを取得できませんでした。 + + + Could not get inferior PID. + PID を取得できませんでした。 + Run failed. The settings in the Organizer window of Xcode might be incorrect. 実行に失敗しました。Xcode の Organizer ウィンドウでの設定が正しくないかもしれません。 @@ -19739,6 +24276,14 @@ msysgit が、git bash 外で実行された時に自身のインストール先 The device is locked, please unlock. デバイスがロックされています。ロックを解除してください。 + + Run ended. + 実行が終了しました。 + + + Run ended with error. + エラーが発生しました。 + Ios::Internal::IosSettingsPage @@ -19824,6 +24369,22 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Alt+) Alt+) + + Ctrl+[ + Ctrl+[ + + + Alt+[ + Alt+[ + + + Ctrl+] + Ctrl+] + + + Alt+] + Alt+] + Play Last Macro 直前のマクロを再生 @@ -19866,6 +24427,14 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Hg outgoing %1 Hg %1 との差分を検出 + + Mercurial Diff + Mercurial 差分 + + + Mercurial Diff "%1" + Mercurial 差分 "%1" + Mercurial::Internal::MercurialDiffParameterWidget @@ -20043,6 +24612,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Incoming Source サーバーとの差分検出 + + Mercurial + Mercurial + Commit コミット @@ -20090,6 +24663,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Mercurial Command Mercurial コマンド + + Mercurial + Mercurial + Perforce::Internal::PerforceChecker @@ -20341,6 +24918,14 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Filelog... ファイルログ... + + &Edit + 編集(&E) + + + &Hijack + ハイジャック(&H) + Submit サブミット @@ -20575,6 +25160,14 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Filter: %1 +Excluding: %2 +%3 + フィルタ: %1 +除外: %2 +%3 + + + Filter: %1 %2 フィルタ: %1 %2 @@ -20586,6 +25179,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 ProjectExplorer::ApplicationLauncher + + User requested stop. Shutting down... + ユーザーが停止を要求しました。シャットダウンします... + Failed to start program. Path or permissions wrong? プログラムを開始できませんでした。パスかパーミッションに誤りはありませんか? @@ -20602,6 +25199,30 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Cannot retrieve debugging output. デバッグ出力を取得できません。 + + Cannot run: No device. + 実行エラー: デバイスがありません。 + + + Cannot run: Device is not able to create processes. + 実行エラー: デバイスがプロセスを作成できません。 + + + Cannot run: No command given. + 実行エラー: コマンドが渡されていません。 + + + Application failed to start: %1 + アプリケーションの開始に失敗しました: %1 + + + Application finished with exit code %1. + アプリケーションは終了コード %1 で終了しました。 + + + Application finished with exit code 0. + アプリケーションは終了コード 0 で終了しました。 + ProjectExplorer::Internal::AppOutputPane @@ -20629,6 +25250,18 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Close Other Tabs 他のタブを閉じる + + Re-run this run-configuration. + この実行構成で再実行します。 + + + Stop running program. + 実行中のプログラムを停止します。 + + + Open Settings Page + 設定画面を開く + Re-run this run-configuration この実行設定で再実行します @@ -20678,6 +25311,30 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Build directory ビルドディレクトリ + + Name of current build + 現在のビルドの名前 + + + Name of the build configuration + ビルド構成の名前 + + + Variables in the current build environment + 現在のビルド環境での変数 + + + Variables in the build configuration's environment + ビルド構成の環境変数 + + + Tooltip in target selector: + ターゲットセレクタのツールチップ: + + + Appears as a tooltip when hovering the build configuration + ビルド構成にカーソルを合わせると、ツールチップとして表示される + System Environment システム環境変数 @@ -20686,6 +25343,22 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Clean Environment 環境変数なし + + The project was not parsed successfully. + プロジェクトが正常に解析されませんでした。 + + + Variables in the current build environment. + 現在のビルド環境での変数。 + + + Variables in the active build environment of the project containing the currently open document. + 現在開いているドキュメントを含むプロジェクトのアクティブなビルド環境の変数。 + + + Variables in the active build environment of the active project. + アクティブなプロジェクトのアクティブなビルド環境の変数。 + ProjectExplorer::BuildEnvironmentWidget @@ -20706,6 +25379,18 @@ msysgit が、git bash 外で実行された時に自身のインストール先 %n 個中 %1 個のステップが完了 + + Stop Applications + アプリケーションの停止 + + + Stop these applications before building? + ビルド前に以下のアプリケーションを停止しますか? + + + The project %1 is not configured, skipping it. + プロジェクト %1 は設定されていないため、スキップします。 + Compile Category for compiler issues listed under 'Issues' @@ -20721,6 +25406,26 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Category for deployment issues listed under 'Issues' デプロイ + + Autotests + Category for autotest issues listed under 'Issues' + 自動テスト + + + Clean + Displayed name for a "cleaning" build step + クリーン + + + Deploy + Displayed name for a deploy step + デプロイ + + + Build + Displayed name for a normal build step + ビルド + Elapsed time: %1. 経過時間: %1. @@ -20787,6 +25492,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 &Clone Selected 選択された設定を複製(&C) + + Clone... + 複製... + New Configuration 新しい設定 @@ -20849,7 +25558,11 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Remove Item - 項目の削除 + 項目を削除する + + + Enable + 有効 %1 Steps @@ -20909,6 +25622,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Decrease Font Size フォントを小さく + + Open Settings Page + 設定画面を開く + ProjectExplorer::Internal::CopyTaskHandler @@ -20954,6 +25671,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 CustomToolChain + + Parser for toolchain %1 + ツールチェーン %1 用のパーサー + GCC GCC @@ -20994,13 +25715,17 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Custom Parser Settings... カスタムパーサ設定... + + MACRO[=VALUE] + MACRO[=VALUE] + Each line defines a macro. Format is MACRO[=VALUE]. マクロを一行にひとつずつ定義してください。書式は MACRO[=VALUE] です。 Each line adds a global header lookup path. - ヘッダーを検索するグローバルなパスを一行にひとつずつ記述してください。 + ヘッダを検索するグローバルなパスを一行にひとつずつ記述してください。 Comma-separated list of flags that turn on C++11 support. @@ -21028,7 +25753,7 @@ msysgit が、git bash 外で実行された時に自身のインストール先 &Header paths: - ヘッダーのパス(&H): + ヘッダのパス(&H): C++11 &flags: @@ -21222,6 +25947,11 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Default DeployConfiguration display name ローカルにデプロイ + + Deploy Configuration + Display name of the default deploy configuration + デプロイ設定 + Deploy Settings デプロイ設定 @@ -21278,6 +26008,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 DebugBreakProcess failed: DebugBreakProcess でエラーが発生しました: + + %1 does not exist. If you built %2 yourself, check out https://code.qt.io/cgit/qt-creator/binary-artifacts.git/. + %1 が存在しません。%2を独自にビルドした場合は、https://code.qt.io/cgit/qt-creator/binary-artifacts.git/ を確認してください。 + %1 does not exist. If you built Qt Creator yourself, check out https://code.qt.io/cgit/qt-creator/binary-artifacts.git/. %1 が存在しません。Qt Creator を独自にビルドした場合は、https://code.qt.io/cgit/qt-creator/binary-artifacts.git/ を確認してください。 @@ -21407,10 +26141,22 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Main file of current project 現在のプロジェクトのメインファイル + + Main file of the project + プロジェクトのメインファイル + Name of current project 現在のプロジェクトの名前 + + Name of the project + プロジェクト名 + + + Name of the project's active build configuration + プロジェクトのアクティブなビルド構成の名前 + Type of current build 現在のビルドのタイプ @@ -21418,6 +26164,36 @@ msysgit が、git bash 外で実行された時に自身のインストール先 The currently active run configuration's name. 現在アクティブな実行設定の名前です。 + Type of the project's active build configuration + プロジェクトの有効なビルド構成の型 + + + The currently active run configuration's name. + 現在アクティブな実行設定の名前です。 + + + SSH + SSH + + + Kits + キット + + + Kit is not valid. + 無効なキット。 + + + Auto-detected + 自動検出 + + + Automatically managed by %1 or the installer. + 自動的に %1 またはインストーラによって管理されます。 + + + Manual + 手動 @@ -21522,12 +26298,16 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Run Environment 実行時の環境変数 + + Environment + 環境 + ProjectExplorer::EnvironmentAspectWidget Base environment for this run configuration: - この実行設定用の基本環境: + この実行構成用の基本環境: @@ -21536,6 +26316,14 @@ msysgit が、git bash 外で実行された時に自身のインストール先 &Edit 編集(&E) + + Variable already exists. + 変数は既に存在しています。 + + + Ed&it + 編集(&I) + &Add 追加(&A) @@ -21548,10 +26336,30 @@ msysgit が、git bash 外で実行された時に自身のインストール先 &Unset 解除(&U) + + Disable + 無効化 + + + Append Path... + パスを追加する... + + + Prepend Path... + パスを先頭に追加する... + &Batch Edit... 一括編集(&B)... + + Open &Terminal + ターミナル(&T)を開く + + + Open a terminal with this environment set up. + この環境を設定したターミナルを開きます。 + Unset <a href="%1"><b>%1</b></a> <a href="%1"><b>%1</b></a> を未設定にする @@ -21560,27 +26368,91 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Set <a href="%1"><b>%1</b></a> to <b>%2</b> <a href="%1"><b>%1</b></a> を <b>%2</b> に設定する + + Append <b>%2</b> to <a href="%1"><b>%1</b></a> + <b>%2</b>を<a href="%1"><b>%1</b></a>に追加します + + + Prepend <b>%2</b> to <a href="%1"><b>%1</b></a> + <b>%2</b>を<a href="%1"><b>%1</b>の先頭に追加します + + + Set <a href="%1"><b>%1</b></a> to <b>%2</b> [disabled] + <a href="%1"><b>%1</b>を<b>%2</b>に設定する [無効] + Use <b>%1</b> %1 is "System Environment" or some such. <b>%1</b> を使用 + + <b>No environment changes</b> + <b>環境変化なし</b> + Use <b>%1</b> and Yup, word puzzle. The Set/Unset phrases above are appended to this. %1 is "System Environment" or some such. <b>%1</b> を使用 + + Choose Directory + ディレクトリを選択してください + + + Enable + 有効 + ProjectExplorer::Internal::FolderNavigationWidget + + The file "%1" was renamed to "%2", but the following projects could not be automatically changed: %3 + ファイル "%1" が "%2" に名前変更されましたが、以下のプロジェクトは自動的に変更できませんでした:"%3" + Show Hidden Files 隠しファイルの表示 + + Show Bread Crumbs + パンくずリストを表示する + + + Show Folders on Top + フォルダを最前面に表示する + Synchronize with Editor エディタと同期 + + Synchronize Root Directory with Editor + エディタとルートディレクトリを同期させる + + + The following projects failed to automatically remove the file: %1 + 次のプロジェクトでは、ファイルの自動削除に失敗しました: %1 + + + New Folder + 新しいフォルダ + + + Open Project "%1" + プロジェクト "%1" を開く + + + Computer + コンピュータ + + + Home + ホーム + + + Projects + プロジェクト + Open 開く @@ -21612,6 +26484,30 @@ msysgit が、git bash 外で実行された時に自身のインストール先 File System ファイルシステム + + Meta+Y,Meta+F + Meta+Y,Meta+F + + + Alt+Y,Alt+F + Alt+Y,Alt+F + + + Options + オプション + + + Add New... + 新しいファイルを追加... + + + Rename... + 名前を変更... + + + Remove... + 削除... + Meta+Y Meta+Y @@ -21631,6 +26527,14 @@ msysgit が、git bash 外で実行された時に自身のインストール先 %1 (%2 %3 in %4) %1(%2 %3 パス: %4) + + GCC + GCC + + + %1 (%2, %3 %4 in %5) + %1(%2 %3 %4 パス: %5) + ProjectExplorer::Internal::GccToolChainFactory @@ -21712,14 +26616,26 @@ msysgit が、git bash 外で実行された時に自身のインストール先 The name of the currently active kit. 現在アクティブなキットの名前です。 + + The name of the kit. + キットの名前。 + The name of the currently active kit in a filesystem-friendly version. 現在アクティブなキットのファイルシステム用の名前です。 + + The name of the kit in a filesystem-friendly version. + ファイルシステムに適したバージョンのキット名。 + The id of the currently active kit. 現在アクティブなキットの ID です。 + + The id of the kit. + キットの ID。 + Clone of %1 %1 を複製 @@ -21867,6 +26783,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 ProjectExplorer::KitManager + + Desktop (%1) + デスクトップ (%1) + Desktop デスクトップ @@ -21890,6 +26810,18 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Name: 名前: + + Kit icon. + キットのアイコン。 + + + Select Icon... + アイコンの選択... + + + Reset to Device Default Icon + 既定のデバイスアイコンに戻す + Display name is not unique. 表示名が一意ではありません。 @@ -21898,6 +26830,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 Mark as Mutable Mutable としてマーク + + Default for %1 + %1 向けの既定 + Select Icon アイコンの選択 @@ -22094,6 +27030,12 @@ msysgit が、git bash 外で実行された時に自身のインストール先 The process can not access the file because it is being used by another process. Please close all running instances of your application before starting a build. ファイルが他のプロセスで使用されているためこのプロセスからアクセスできません。 +ビルドを開始する前にすべての実行中のアプリケーションを閉じてください。 + + + The process cannot access the file because it is being used by another process. +Please close all running instances of your application before starting a build. + ファイルが他のプロセスで使用されているためこのプロセスからアクセスできません。 ビルドを開始する前にすべての実行中のアプリケーションを閉じてください。 @@ -22189,6 +27131,14 @@ Please close all running instances of your application before starting a build.< Open File ファイルを開く + + Build Environment + ビルド時の環境変数 + + + Run Environment + 実行時の環境変数 + Recent P&rojects 最近使ったプロジェクト(&R) @@ -22241,6 +27191,14 @@ Please close all running instances of your application before starting a build.< Ctrl+B Ctrl+B + + Build for &Run Configuration + 実行構成のビルド(&R) + + + Build for &Run Configuration "%1" + 実行構成のビルド(&R) "%1" + Deploy Project プロジェクトをデプロイ @@ -22420,7 +27378,7 @@ Please close all running instances of your application before starting a build.< The kit "%1" for the project "%2" has no active run configuration. - プロジェクト "%2" 用のキット "%1" にはアクティブな実行設定がありません。 + プロジェクト "%2" 用のキット "%1" にはアクティブな実行構成がありません。 Cannot run "%1". @@ -22470,10 +27428,154 @@ Please close all running instances of your application before starting a build.< Cancel Build && Unload ビルドを中止してプロジェクトを解放 + + C + C + + + C++ + C++ + + + Open... + 開く... + + + &Manage... + 管理(&M)... + + + Close Pro&ject "%1" + プロジェクト "%1" を閉じる(&J) + + + Close All Files in Project + プロジェクト内のすべてのファイルを閉じる + + + Close All Files in Project "%1" + プロジェクト "%1" 内のすべてのファイルを閉じる + + + Close Pro&ject + プロジェクトを閉じる(&J) + + + Build All Projects + すべてのプロジェクトをビルド + + + Build All Projects for All Configurations + すべての構成ですべてのプロジェクトをビルド + + + Deploy All Projects + すべてのプロジェクトをデプロイ + + + Rebuild All Projects + すべてのプロジェクトをリビルド + + + Rebuild All Projects for All Configurations + すべての構成ですべてのプロジェクトをリビルド + + + Clean All Projects + すべてのプロジェクトをクリーン + + + Clean All Projects for All Configurations + すべての構成ですべてのプロジェクトをクリーン + + + Build Project for All Configurations + すべての構成でプロジェクトをビルド + + + Build Project "%1" for All Configurations + すべての構成でプロジェクト"%1"をビルド + + + Rebuild Project for All Configurations + すべての構成でプロジェクトをリビルド + + + Rebuild Project "%1" for All Configurations + すべての構成でプロジェクト"%1"をリビルド + + + Clean Project for All Configurations + すべての構成でプロジェクトをクリーン + + + Clean Project "%1" for All Configurations + すべての構成でプロジェクト "%1 をクリーン + + + Meta+Backspace + Meta+Backspace + + + Alt+Backspace + Alt+Backspace + + + Add Existing Projects... + 既存のプロジェクトを追加する... + + + Close All Files + すべてのファイルを閉じる + + + Properties... + プロパティ... + + + Expand + 展開 + + + Expand All + すべて展開 + Current project's main file. 現在のプロジェクトのメインファイルです。 + + Main file of the project the current document belongs to. + 現在のドキュメントが属しているプロジェクトのメインファイル。 + + + The name of the project the current document belongs to. + 現在のドキュメントが属しているプロジェクトの名前。 + + + Current Build Environment + 現在のビルド時の環境変数 + + + The name of the active project. + 有効なプロジェクトの名前。 + + + Active project's main file. + 有効なプロジェクトのメインファイルです。 + + + The type of the active project's active build configuration. + 有効なプロジェクトの有効なビルド構成の型。 + + + Full build path of the active project's active build configuration. + 有効なプロジェクトの有効なビルド設定のビルドパスです。 + + + Active build environment of the active project. + 有効なプロジェクトの有効なビルド環境。 + Do Not Unload 解放しない @@ -22490,6 +27592,44 @@ Please close all running instances of your application before starting a build.< Do you want to cancel the build process and unload the project anyway? 強制的にビルドプロセスを中止してプロジェクトを解放しますか? + + Close %1? + %1を閉じますか? + + + Do you want to cancel the build process and close %1 anyway? + 強制的にビルドプロセスを中止して %1 を閉じますか? + + + %1 in %2 + %2 の %1 + + + File "%1" was not removed, because the project has changed in the meantime. +Please try again. + 途中でプロジェクトが変更されたため、ファイル "%1" は削除されませんでした。 +もう一度やり直してください。 + + + Could not remove file "%1" from project "%2". + プロジェクト "%2"からファイル "%1"を削除できません。 + + + Choose File Name + ファイル名を選択してください + + + New file name: + 新しいファイル名です: + + + Failed to copy file "%1" to "%2": %3. + ファイル "%1" を "%2" にコピーすることに失敗しました: %3. + + + Failed to add new file "%1" to the project. + プロジェクトへの新規ファイル "%1" の追加に失敗しました。 + The username with which to log into the device in the currently active kit. 現在有効なキットのデバイスにログインする際のユーザー名です。 @@ -22502,6 +27642,10 @@ Please close all running instances of your application before starting a build.< All Projects すべてのプロジェクト + + Parse Build Output... + ビルドの出力を解析する... + New Project Title of dialog @@ -22515,6 +27659,10 @@ Please close all running instances of your application before starting a build.< <h3>Project already open</h3> <h3>プロジェクトは既に開かれています</h3> + + Failed opening project "%1": Project is not a file. + プロジェクト "%1" が開けません: プロジェクトがファイルではありません。 + Failed opening project "%1": No plugin can open project type "%2". プロジェクト "%1" が開けません: 種類が "%2" であるプロジェクトに対応したプラグインがありません。 @@ -22539,7 +27687,7 @@ Do you want to ignore them? Run Configuration Removed - 実行設定が削除されました + 実行構成が削除されました The configuration that was supposed to run is no longer available. @@ -22614,6 +27762,10 @@ Do you want to ignore them? A build is still in progress. まだビルドを実行しています。 + + A run action is already scheduled for the active project. + 有効なプロジェクトには、すでに実行アクションが予定されています。 + Run %1 %1 を実行 @@ -22628,6 +27780,18 @@ Do you want to ignore them? Title of dialog 新しいサブプロジェクト + + Choose Project File + プロジェクトファイルを選択する + + + The following subprojects could not be added to project "%1": + 次のサブプロジェクトをプロジェクト "%1" に追加できませんでした: + + + Adding Subproject Failed + サブプロジェクトの追加に失敗しました + Add Existing Files 既存のファイルを追加 @@ -22640,6 +27804,16 @@ Do you want to ignore them? Adding Files to Project Failed プロジェクトへのファイル追加に失敗 + + Remove More Files? + 他のファイルを削除しますか? + + + Remove these files as well? + %1 + これらのファイルも削除しますか? +...%1 + Removing File Failed ファイル削除に失敗 @@ -22696,7 +27870,7 @@ Rename %2 to %3 anyway? The file %1 was renamed to %2, but the project file %3 could not be automatically changed. - ファイル %1 が %2 にリネームされましたが、プロジェクトファイル %3 で、自動的に変更できませんでした。 + ファイル %1 が %2 に名前変更されましたが、プロジェクトファイル %3 で、自動的に変更できませんでした。 @@ -22735,6 +27909,30 @@ to project "%2". %1 - temporary %1 - テンポラリ + + No Build Found + ビルドが見つかりません + + + No build found in %1 matching project %2. + %1 にプロジェクト %2 のビルドが見つかりません。 + + + Import Warning + インポートに関する警告 + + + Import Build + ビルドをインポートする + + + %1 - temporary + %1 - テンポラリ + + + Imported Kit + インポートされたキット + ProjectExplorer::Internal::ProjectTreeWidget @@ -22746,6 +27944,26 @@ to project "%2". Hide Generated Files 生成されたファイルを非表示 + + Hide Disabled Files + 無効化されたファイルを非表示 + + + Focus Document in Project Tree + プロジェクトツリー内のドキュメントにフォーカスする + + + Meta+Shift+L + Meta+Shift+L + + + Alt+Shift+L + Alt+Shift+L + + + Hide Empty Directories + 空のディレクトリを非表示にする + Synchronize with Editor エディタと同期 @@ -22776,6 +27994,46 @@ to project "%2". New session name 新しいセッションの名前 + + Session + セッション + + + Last Modified + 最終変更日 + + + New Session Name + 新しいセッション名 + + + &Create + 作成(&C) + + + Create and &Open + 作成して開く(&O) + + + &Clone + 複製(&C) + + + Clone and &Open + クローンして開く(&O) + + + Rename Session + セッションの名前変更 + + + &Rename + 名前を変更(&R) + + + Rename and &Open + 名前変更して開く(&O) + ProjectExplorer::Internal::ProjectWelcomePage @@ -22783,6 +28041,88 @@ to project "%2". New Project 新しいプロジェクト + + Open Session #%1 + セッション #%1 を開く + + + Ctrl+Meta+%1 + Ctrl+Meta+%1 + + + Ctrl+Alt+%1 + Ctrl+Alt+%1 + + + Open Recent Project #%1 + 最近のプロジェクト #%1 を開く + + + Ctrl+Shift+%1 + Ctrl+Shift+%1 + + + Open %1 "%2" + %1 "%2" を開く + + + Open %1 "%2" (%3) + %1 "%2" (%3)を開く + + + session + Appears in "Open session <name>" + セッション + + + %1 (last session) + %1 (最後のセッション) + + + %1 (current session) + %1 (現在のセッション) + + + Clone + 複製 + + + Rename + 名前を変更 + + + Delete + 削除 + + + project + Appears in "Open project <name>" + プロジェクト + + + Remove Project from Recent Projects + 最近のプロジェクトからプロジェクトを削除する + + + Clear Recent Project List + 最近のプロジェクトリストを消去する + + + Manage + 管理 + + + New + 新規作成 + + + Open + 開く + + + Sessions + セッション + Projects プロジェクト @@ -22853,6 +28193,10 @@ to project "%2". Invalid process handle. 無効 + + Unexpected run control state %1 when worker %2 started. + ワーカー %2 が起動したときの予期しない実行制御状態 %1。 + <html><head/><body><center><i>%1</i> is still running.<center/><center>Force it to quit?</center></body></html> <html><head/><body><center><i>%1</i> は、まだ実行中です。<center/><center>強制終了しますか?</center></body></html> @@ -22861,6 +28205,22 @@ to project "%2". Application Still Running アプリケーションはまだ実行中です + + Force &Quit + 強制終了(&Q) + + + &Keep Running + そのままにする(&K) + + + Starting %1 %2... + 起動中 %1 %2... + + + No executable specified. + 実行ファイルが指定されていません。 + Force Quit 強制終了 @@ -22876,6 +28236,25 @@ to project "%2". Run Settings 実行時の設定 + + No build system active + アクティブなビルドシステムがありません + + + Run on %{Device:Name} + Shown in Run configuration if no executable is given, %1 is device name + %{Device:Name}で実行 + + + %1 (on %{Device:Name}) + Shown in Run configuration, Add menu: "name of runnable (on device name)" + %1 (%{Device:Name}上) + + + Run on %1 + Shown in Run configuration if no executable is given, %1 is device name + %1 で実行 + Unknown error. 不明なエラーです。 @@ -22899,6 +28278,14 @@ to project "%2". Rename... 名前を変更... + + Add... + 追加... + + + Clone... + 複製... + Deployment デプロイ @@ -22913,7 +28300,7 @@ to project "%2". Run configuration: - 実行設定: + 実行構成: &Clone Selected @@ -22930,15 +28317,15 @@ to project "%2". Remove Run Configuration? - 実行設定を削除しますか? + 実行構成を削除しますか? Do you really want to delete the run configuration <b>%1</b>? - 本当に実行設定 <b>%1</b> を削除しますか? + 本当に実行構成 <b>%1</b> を削除しますか? New name for run configuration <b>%1</b>: - 実行設定 <b>%1</b> の新しい名前: + 実行構成 <b>%1</b> の新しい名前: Cancel Build && Remove Deploy Configuration @@ -22979,6 +28366,10 @@ to project "%2". Error while saving session セッションの保存中にエラー + + Could not save session %1 + セッション %1 を保存できませんでした + Could not save session to file %1 セッション %1 を保存できません @@ -22991,10 +28382,20 @@ to project "%2". Delete Session セッションを削除 + + Delete Sessions + セッションを削除 + Delete session %1? セッション %1 を削除しますか? + + Delete these sessions? + %1 + これらのセッションを削除しますか? + %1 + Failed to restore project files プロジェクトファイルの復元失敗 @@ -23204,10 +28605,22 @@ to project "%2". Please add a kit in the <a href="buildandrun">options</a> or via the maintenance tool of the SDK. <a href="buildandrun">オプション</a> あるいは SDK のメンテナンスツールでキットを追加してください。 + + No suitable kits found. + 適切なキットが見つかりませんでした。 + + + Add a kit in the <a href="buildandrun">options</a> or via the maintenance tool of the SDK. + <a href="buildandrun">options</a> または SDK のメンテナンスツールでキットを追加します。 + Select all kits すべてのキットを選択 + + Type to filter kits by name... + キットを名前でフィルタリングするには、タイプしてください... + Select Kits for Your Project プロジェクトのキットを選択 @@ -23220,6 +28633,11 @@ to project "%2". Kits キット + + The following kits can be used for project <b>%1</b>: + %1: Project name + 以下のキットは、プロジェクト<b>%1</b>に使用することができます: + Qt Creator can use the following kits for project <b>%1</b>: %1: Project name @@ -23285,6 +28703,10 @@ to project "%2". Add 追加 + + This toolchain is invalid. + このツールチェーンは無効です。 + <nobr><b>ABI:</b> %1 <nobr><b>ABI:</b> %1 @@ -23293,6 +28715,22 @@ to project "%2". not up-to-date 最新ではない + + Toolchain Auto-detection Settings + ツールチェーンの自動検出設定 + + + Detect x86_64 GCC compilers as x86_64 and x86 + x86_64 GCC コンパイラを x86_64 および x86 として検出する + + + If checked, %1 will set up two instances of each x86_64 compiler: +One for the native x86_64 target, and one for a plain x86 target. +Enable this if you plan to create 32-bit x86 binaries without using a dedicated cross compiler. + これをチェックすると、%1 は各 x86_64 コンパイラの 2 つのインスタンスをセットアップします。 +1 つはネイティブの x86_64 ターゲット用で、もう 1 つはプレーンの x86 ターゲット用です。 +専用のクロス・コンパイラを使用せずに 32 ビット x86 バイナリを作成する場合は、この機能を有効にしてください。 + Name 名前 @@ -23317,6 +28755,18 @@ to project "%2". Remove 削除 + + Remove All + すべて削除 + + + Re-detect + 再検出 + + + Auto-detection Settings... + 自動検出設定... + Duplicate Compilers Detected 重複したコンパイラの検出 @@ -23396,6 +28846,26 @@ to project "%2". Parsing of Qbs project has failed. Qbs プロジェクトの解析に失敗しました。 + + Configuration name: + 設定名: + + + The qbs project build root + qbs プロジェクトのビルドルート + + + Debug + Shadow build directory suffix + Non-ASCII characters in directory suffix may cause build issues. + デバッグ + + + Release + Shadow build directory suffix + Non-ASCII characters in directory suffix may cause build issues. + リリース + QbsProjectManager::Internal::QbsBuildConfigurationFactory @@ -23439,6 +28909,70 @@ to project "%2". Qbs Build Qbs ビルド + + <b>Qbs:</b> %1 + <b>Qbs:</b> %1 + + + Build variant: + ビルド種類: + + + Debug + デバッグ + + + Release + リリース + + + ABIs: + ABI: + + + Keep going when errors occur (if at all possible). + エラーが発生した場合でも(可能な限り)ビルドを継続します。 + + + Keep going + 継続する + + + Parallel jobs: + 並列ジョブ数: + + + Number of concurrent build jobs. + 並列ビルド時のジョブ数です。 + + + Show command lines + コマンドラインを表示する + + + Install + インストールする + + + Clean install root + インストールルートのクリア + + + Force probes + プローブを強制する + + + Equivalent command line: + 等価なコマンドライン: + + + No qbs session exists for this target. + このターゲットには qbs セッションが存在しません。 + + + Build canceled: Qbs session failed. + ビルドがキャンセルされました。Qbs のセッションに失敗しました。 + QbsProjectManager::Internal::QbsBuildStepFactory @@ -23453,6 +28987,30 @@ to project "%2". Qbs Clean Qbs クリーン + + Dry run: + 実行しない: + + + Keep going: + 継続する: + + + Equivalent command line: + 等価なコマンドライン: + + + <b>Qbs:</b> %1 + <b>Qbs:</b> %1 + + + No qbs session exists for this target. + このターゲットには qbs セッションが存在しません。 + + + Cleaning canceled: Qbs session failed. + クリーニングがキャンセルされました。Qbs のセッションに失敗しました。 + QbsProjectManager::Internal::QbsCleanStepFactory @@ -23474,6 +29032,38 @@ to project "%2". Qbs Install Qbs インストール + + <b>Qbs:</b> %1 + <b>Qbs:</b> %1 + + + Dry run + 実行しない + + + Keep going + 継続する + + + Remove first + はじめに削除する + + + Installing canceled: Qbs session failed. + インストールがキャンセルされました: Qbs のセッションに失敗しました。 + + + Equivalent command line: + 等価なコマンドライン: + + + Install root: + インストールルート: + + + Flags: + フラグ: + QbsProjectManager::Internal::QbsInstallStepFactory @@ -23542,6 +29132,30 @@ to project "%2". Ctrl+Alt+Shift+B Ctrl+Alt+Shift+B + + Clean + クリーン + + + Clean Product + プロダクトをクリーン + + + Clean Product "%1" + プロダクト "%1"をクリーン + + + Rebuild + リビルド + + + Rebuild Product + プロダクトのリビルド + + + Rebuild Product "%1" + プロダクト"%1"のリビルド + Build Subproject サブプロジェクトをビルド @@ -23870,6 +29484,35 @@ Neither the path to the library nor the path to its includes is added to the .pr QmakeProjectManager::QmakeBuildConfiguration + + General + 一般 + + + This kit cannot build this project since it does not define a Qt version. + このキットには Qt が定義されていないため、このプロジェクトをビルドできません。 + + + Error: + エラー: + + + Warning: + 警告: + + + The build directory contains a build for a different project, which will be overwritten. + ビルドディレクトリには、別のプロジェクト用のビルドが含まれていますが、これは上書きされます。 + + + %1 The build will be overwritten. + %1 error message + %1 ビルドは上書きされます。 + + + The build directory should be at the same level as the source directory. + ビルドディレクトリは、ソースディレクトリと同じレベルにある必要があります。 + Could not parse Makefile. Makefile を解析できませんでした。 @@ -23890,6 +29533,24 @@ Neither the path to the library nor the path to its includes is added to the .pr The mkspec has changed. mkspec が変更されました。 + + Release + Shadow build directory suffix + Non-ASCII characters in directory suffix may cause build issues. + リリース + + + Debug + Shadow build directory suffix + Non-ASCII characters in directory suffix may cause build issues. + デバッグ + + + Profile + Shadow build directory suffix + Non-ASCII characters in directory suffix may cause build issues. + プロファイル + Parsing the .pro file .pro ファイルの解析中 @@ -24014,6 +29675,18 @@ Neither the path to the library nor the path to its includes is added to the .pr No Qt version set in kit. キットに Qt バージョンが設定されていません。 + + Qt version is invalid. + Qt のバージョンが無効です。 + + + No C++ compiler set in kit. + キットに C++ コンパイラが設定されていません。 + + + Project is part of Qt sources that do not match the Qt defined in the kit. + プロジェクトは、キットで定義されている Qt とは一致しない Qt ソースの一部です。 + The .pro file "%1" does not exist. .pro ファイル "%1" が存在しません。 @@ -24076,6 +29749,14 @@ Neither the path to the library nor the path to its includes is added to the .pr Build Subproject "%1" サブプロジェクト "%1" をビルド + + Build &Subproject + サブプロジェクトをビルド(&S) + + + Build &Subproject "%1" + サブプロジェクト "%1" をビルド(&S) + Rebuild Subproject サブプロジェクトをリビルド @@ -24108,6 +29789,10 @@ Neither the path to the library nor the path to its includes is added to the .pr Add Library... ライブラリの追加... + + QMake + QMake + QmakeProjectManager::QMakeStep @@ -24116,6 +29801,42 @@ Neither the path to the library nor the path to its includes is added to the .pr QMakeStep default display name qmake + + qmake build configuration: + qmake ビルド設定: + + + Debug + デバッグ + + + Release + リリース + + + Additional arguments: + 追加の引数: + + + Effective qmake call: + 実際の qmake コマンドライン: + + + <b>qmake:</b> No Qt version set. Cannot run qmake. + <b>qmake:</b> Qt が設定されていません。qmake を実行できませんでした。 + + + <b>qmake:</b> %1 %2 + <b>qmake:</b> %1 %2 + + + No Qt version configured. + Qt のバージョンが設定されていません。 + + + Could not determine which "make" command to run. Check the "make" step in the build configuration. + どの "make "コマンドを実行すべきか判断できませんでした。ビルド構成の "make "ステップを確認してください。 + Configuration unchanged, skipping qmake step. 設定が変更されていない為、qmake ステップをスキップします。 @@ -24128,6 +29849,26 @@ Neither the path to the library nor the path to its includes is added to the .pr <no Make step found> <Make コマンドが見つかりません> + + ABIs: + ABI: + + + QML Debugging + QML デバッグ + + + Qt Quick Compiler + Qt Quick Compiler + + + Separate Debug Information + デバッグ情報を分離する + + + The option will only take effect if the project is recompiled. Do you want to recompile now? + このオプションはプロジェクトの再コンパイル時に有効になります。再コンパイルを行いますか? + QmakeProjectManager::QMakeStepConfigWidget @@ -24434,6 +30175,10 @@ Preselects a desktop Qt for building the application if available. Select: %1 選択: %1 + + Connect: %1 + 接続する: %1 + Deselect: 選択解除: @@ -24506,6 +30251,70 @@ Preselects a desktop Qt for building the application if available. Move to Component コンポーネントへ移動 + + Connect + 接続する + + + Select Effect + エフェクトを選択する + + + Arrange + 整える + + + Group + グループ + + + Flow + フローレイアウト + + + Flow Effects + フローエフェクト + + + Stacked Container + スタックコンテナ + + + Bring to Front + 最前面に移動する + + + Send to Back + 最背面に移動する + + + Bring Forward + 前面に移動する + + + Send Backward + 背面に移動する + + + Merge File With Template + テンプレートとファイルをマージする + + + Move Component into Separate File + コンポーネントを別のファイルに移動する + + + Edit Annotation + アノテーションを編集する + + + Open Signal Dialog + シグナルダイアログを開く + + + Update 3D Asset + 3D アセットを更新する + Set Id id の付与 @@ -24514,6 +30323,10 @@ Preselects a desktop Qt for building the application if available. Reset z Property z プロパティのリセット + + Reverse + リバース + Fill Fill @@ -24540,11 +30353,147 @@ Preselects a desktop Qt for building the application if available. Remove Positioner - レイアウトの削除 + レイアウトを削除する + + + Create Flow Action + フローアクションを作成する + + + Set Flow Start + フロー開始を設定する Remove Layout - レイアウトの削除 + レイアウトを削除する + + + Group in GroupItem + GroupItem 内のグループ + + + Remove GroupItem + GroupItem を削除する + + + Add Component + コンポーネントの追加 + + + Raise selected component. + 選択されたコンポーネントを前面に移動。 + + + Lower selected component. + 選択されたコンポーネントを背面に移動。 + + + Fill selected component to parent. + 選択されたコンポーネントを親のサイズに合わせる。 + + + Reset anchors for selected component. + 選択したコンポーネントのアンカーをリセットする。 + + + Layout selected components in column layout. + column layout 内に選択されたコンポーネントをレイアウトにする。 + + + Layout selected components in row layout. + row layout 内に選択されたコンポーネントをレイアウトにする。 + + + Layout selected components in grid layout. + grid layout 内に選択されたコンポーネントをレイアウトにする。 + + + Add component to stacked container. + スタック式コンテナにコンポーネントを追加する。 + + + Add Item + アイテムを追加する + + + Add Tab Bar + タブバーを追加する + + + Increase Index + インデックスの増加 + + + Decrease Index + インデックスの減少 + + + Layout in Column Layout + Column Layout でレイアウト + + + Layout in Row Layout + Row Layout でレイアウト + + + Layout in Grid Layout + Grid Layout でレイアウト + + + Raise selected item. + 選択されたアイテムを上げる。 + + + Lower selected item. + 選択されたアイテムを下にする。 + + + Reset size and use implicit size. + サイズをリセットして、暗黙のサイズを使用する。 + + + Reset position and use implicit position. + 位置をリセットして、暗黙の位置を使用する。 + + + Fill selected item to parent. + 選択されたアイテムを親に流し込む。 + + + Reset anchors for selected item. + 選択したアイテムのアンカーをリセットする。 + + + Layout selected items in column layout. + column layout内に選択されたアイテムをレイアウトにする。 + + + Layout selected items in row layout. + row layout内に選択されたアイテムをレイアウトにする。 + + + Layout selected items in grid layout. + grid layout内に選択されたアイテムをレイアウトにする。 + + + Increase index of stacked container. + スタック式コンテナのインデックスを増やす。 + + + Decrease index of stacked container. + スタック式コンテナのインデックスを減らす。 + + + Add item to stacked container. + スタック式コンテナにアイテムを追加する。 + + + Add flow action. + フローアクションを追加する。 + + + Edit List Model... + リストモデルを編集する... Layout in ColumnLayout @@ -24574,6 +30523,26 @@ Preselects a desktop Qt for building the application if available. Position 位置 + + Timeline + タイムライン + + + Copy All Keyframes + すべてのキーフレームをコピーする + + + Paste Keyframes + キーフレームを貼り付ける + + + Add Keyframes at Current Frame + 現在のフレームにキーフレームを追加する + + + Delete All Keyframes + すべてのキーフレームを削除する + TabViewToolAction @@ -24648,6 +30617,14 @@ Preselects a desktop Qt for building the application if available. Debug view is enabled デバッグビューが有効化されました + + ::nodeReparented: + ::nodeReparented: + + + ::nodeIdChanged: + ::nodeIdChanged: + Child node: 子ノード: @@ -24758,6 +30735,86 @@ Preselects a desktop Qt for building the application if available. Reset view (R). 表示をリセットします(R)。 + + No snapping. + スナップしません。 + + + Snap to parent or sibling items and generate anchors. + 親や兄弟アイテムにスナップして、アンカーを生成します。 + + + Snap to parent or sibling items but do not generate anchors. + 親や兄弟アイテムにスナップしますが、アンカーは生成しません。 + + + Show bounding rectangles and stripes for empty items. + 空アイテムのバウンダリ領域を縞模様付きの矩形で表示する。 + + + Override Width + 幅を上書きする + + + Override width of root item. + ルートアイテムの幅を上書きする。 + + + Override Height + 高さを上書きする + + + Override height of root item. + ルートアイテムの高さを上書きする。 + + + Snap to parent or sibling components and generate anchors. + 親や兄弟コンポーネントにスナップして、アンカーを生成します。 + + + Snap to parent or sibling components but do not generate anchors. + 親や兄弟コンポーネントにスナップしますが、アンカーは生成しません。 + + + Show bounding rectangles and stripes for empty components. + 空コンポーネントのバウンダリ領域を縞模様付きの矩形で表示する。 + + + Override width of root component. + ルートコンポーネントの幅を上書きする。 + + + Override height of root component. + ルートコンポーネントの高さを上書きする。 + + + Zoom in + 拡大 + + + Zoom out + 縮小 + + + Zoom screen to fit all content + すべてのコンテンツに合わせて画面を拡大する + + + Zoom screen to fit current selection + 現在の選択範囲に合わせて画面を拡大する + + + Reset View + 表示をリセットする + + + Export Current QML File as Image + 現在の QML ファイルを画像としてエクスポートする + + + PNG (*.png);;JPG (*.jpg) + PNG (*.png);;JPG (*.jpg) + QmlDesigner::ImportLabel @@ -24813,7 +30870,39 @@ Preselects a desktop Qt for building the application if available. QML Types Title of library QML types view - エレメント + エレメント + + + All Files (%1) + すべてのファイル (%1) + + + Add Assets + アセットを追加する + + + Failed to Add Files + ファイルの追加に失敗しました + + + Could not add %1 to project. + プロジェクトに %1 を追加できませんでした。 + + + All Files (%1) + すべてのファイル (%1) + + + Add Assets + アセットを追加する + + + Failed to Add Files + ファイルの追加に失敗しました + + + Could not add %1 to project. + プロジェクトに %1 を追加できませんでした。 Resources @@ -24835,29 +30924,51 @@ Preselects a desktop Qt for building the application if available. QmlDesigner::NavigatorTreeModel Unknown item: %1 - 不明なアイテム: %1 + 不明なアイテム: %1 + + + Unknown component: %1 + 不明なコンポーネント: %1 + + + Changing the setting "%1" might solve the issue. + 設定 "%1" を変更すると、問題が解決する可能性があります。 + + + Use QML emulation layer that is built with the selected Qt + 選択した Qt でビルドされた QML エミュレーション・レイヤーを使用する + + + Toggles whether this component is exported as an alias property of the root component. + このコンポーネントをルートコンポーネントの alias プロパティとしてエクスポートするかどうかを切り換えます。 Toggles whether this item is exported as an alias property of the root item. - このアイテムをルートアイテムの alias プロパティとしてエクスポートするかどうかを切り換えます。 + このアイテムをルートアイテムの alias プロパティとしてエクスポートするかどうかを切り換えます。 Toggles the visibility of this item in the form editor. This is independent of the visibility property in QML. - このアイテムの Designer 内での表示・非表示を切り換えます。 + このアイテムの Designer 内での表示・非表示を切り換えます。 QML の可視性(visible)プロパティの値からは独立しています。 + + + Toggles whether this item is locked. +Locked items cannot be modified or selected. + このアイテムをロックするかどうかを切り替えます。 +ロックされているアイテムは、修正や選択ができません。 Invalid Id - 無効な ID + 無効な ID %1 is an invalid id. - %1 は無効な id です。 + %1 は無効な id です。 %1 already exists. - %1 は既に存在しています。 + %1 は既に存在しています。 @@ -24883,6 +30994,26 @@ QML の可視性(visible)プロパティの値からは独立しています。< Move up (CTRL + Up). 上に移動します(CTRL + Up)。 + + Filter Tree + フィルタツリー + + + Show Only Visible Components + 可視化されたコンポーネントだけを表示する + + + Reverse Component Order + コンポーネントの順序を逆にする + + + Show only visible items. + 可視化されたアイテムだけを表示する。 + + + Reverse item order. + アイテムの順序を逆にする。 + WidgetPluginManager @@ -24898,6 +31029,18 @@ QML の可視性(visible)プロパティの値からは独立しています。< File '%1' is not a QmlDesigner plugin. ファイル '%1' は QmlDesigner プラグインではありません。 + + Failed to create instance of file "%1": %2 + ファイル '%1' のインスタンス作成に失敗しました: %2 + + + Failed to create instance of file "%1". + ファイル '%1' のインスタンス作成に失敗しました。 + + + File "%1" is not a Qt Quick Designer plugin. + ファイル "%1" は Qt Quick Designer のプラグインではありません。 + FileResourcesModel @@ -24920,10 +31063,38 @@ QML の可視性(visible)プロパティの値からは独立しています。< %1 is an invalid id. %1 は無効な id です。 + + Invalid ID + 無効な ID + + + %1 is an invalid ID. + %1 は無効な id です。 + + + Invalid ID + 無効な ID + + + %1 is an invalid ID. + %1 は無効な id です。 + %1 already exists. %1 は既に存在しています。 + + Cannot Export Property as Alias + プロパティを別名でエクスポートできません + + + Property %1 does already exist for root component. + プロパティ %1 は、ルートコンポーネントに既に存在しています。 + + + Property %1 does already exist for root item. + プロパティ %1 は、ルート項目に既に存在しています。 + QmlDesigner::StatesEditorModel @@ -24951,9 +31122,29 @@ QML の可視性(visible)プロパティの値からは独立しています。< States Editor ステートエディタ + + States + 状態 + + + Locked items: + ロックされたアイテム: + + + Remove State + 状態を削除する + + + Removing this state will modify locked items. + この状態を削除すると、ロックされたアイテムが変更されます。 + + + Continue by removing the state? + 状態を削除して継続しますか? + base state - 初期ステート + 基底状態 @@ -24963,6 +31154,14 @@ QML の可視性(visible)プロパティの値からは独立しています。< Title of Editor widget 状態 + + Cannot Create QtQuick View + QtQuick ビューが作成できない + + + StatesEditorWidget: %1 cannot be created. Most likely QtQuick.Controls 1 are not installed. + StatesEditorWidget: %1 を作成できません。QtQuick.Controls 1 がインストールされていない可能性があります。 + QmlDesigner::InvalidArgumentException @@ -25094,6 +31293,10 @@ Ids must begin with a lowercase letter. Unsupported QtQuick version サポートしていないバージョンの QtQuick + + No import for Qt Quick found. + Qt Quick のインポートが見つかりません。 + QmlDesigner::Internal::DocumentWarningWidget @@ -25148,6 +31351,18 @@ Ids must begin with a lowercase letter. Qt Quick emulation layer crashed Qt Quick エミュレーションレイヤがクラッシュしました + + &Workspaces + ワークスペース(&W) + + + Switch the active workspace. + 有効なワークスペースを切り替える。 + + + Edit global annotation for current file. + 現在のファイルのグローバルアノテーションを編集する。 + QmlDesigner::QmlDesignerPlugin @@ -25228,12 +31443,24 @@ Ids must begin with a lowercase letter. Toggle &Right Sidebar - 右サイドバー表示の切替(&L) + 右サイドバー表示の切替(&R) &Go into Component コンポーネント内へ移動(&G) + + &Go into Component + コンポーネント内へ移動(&G) + + + Export as &Image... + 画像としてエクスポート(&I)... + + + Toggle States + 状態を切り替える + Save %1 As... %1 に名前をつけて保存... @@ -25291,6 +31518,11 @@ Ids must begin with a lowercase letter. Ctrl+Shift+R Ctrl+Shift+R + + QML + SnippetProvider + QML + Run Checks チェックの実行 @@ -25422,6 +31654,17 @@ globally in the QML editor. You can add a "// @uri My.Module.Uri" anno Qt Creator know about a likely URI. 静的解析でモジュールの URI を確認できません。この型は QML エディタ全体で有効になります。 "// @uri My.Module.Uri" を記述することによって Qt Creator に URI を通知できます。 + + + The type will only be available in the QML editors when the type name is a string literal + この型は型名が文字列リテラルであるため、QML エディタでのみ利用可能できます + + + The module URI cannot be determined by static analysis. The type will be available +globally in the QML editor. You can add a "// @uri My.Module.Uri" annotation to let +the QML editor know about a likely URI. + 静的解析でモジュールの URI を確認できません。この型は QML エディタ全体で有効になります。 +"// @uri My.Module.Uri" を記述することによって QML エディタ に URI を通知できます。 must be a string literal to be available in the QML editor @@ -25520,6 +31763,18 @@ Do you want to retry? Trying to set unknown state in events list. イベントリストに未知の状態を設定しようとしています。 + + Failed to replay QML events from stash file. + スタッシュファイルからの QML イベントの再生に失敗しました。 + + + <bytecode> + <バイトコード> + + + anonymous function + 無名関数 + QmlProfiler::Internal::QmlProfilerTool @@ -25547,6 +31802,20 @@ Do you want to retry? Hide or show event categories. イベントカテゴリーの表示・非表示を切り替えます。 + + The application finished before a connection could be established. No data was loaded. + 接続を確立する前にアプリケーションが終了しました。データは読み込まれませんでした。 + + + Could not connect to the in-process QML profiler within %1 s. +Do you want to retry and wait %2 s? + プロセス内 QML プロファイラに %1 秒以内に接続できませんでした。 +再試行して %2 秒間待ちますか? + + + Failed to connect. + 接続に失敗しました。 + QML Profiler QML プロファイラ @@ -25587,6 +31856,14 @@ Do you want to retry? Elapsed: %1 経過: %1 + + Saving Trace Data + トレースデータの保存中 + + + Loading Trace Data + トレースデータの読込中 + You are about to discard the profiling data, including unsaved notes. Do you want to continue? 未保存のメモを含むプロファイリングデータを破棄しようとしています。継続しますか? @@ -25610,6 +31887,12 @@ Do you want to save the data first? Profiling application: %1 events アプリケーションのプロファイリング: %1 イベント + + Profiling application: %n events + + アプリケーションのプロファイリング: %n イベント + + Profiling application アプリケーションのプロファイリング @@ -25618,6 +31901,18 @@ Do you want to save the data first? No QML events recorded QML イベントの記録なし + + Loading buffered data: %n events + + バッファリング済みデータの読込中: %n イベント + + + + Loading offline data: %n events + + オフラインデータの読込中: %n イベント + + Processing data: %1 / %2 データ処理中: %1 / %2 @@ -25775,7 +32070,7 @@ Do you want to save the data first? Texture Delete - テクスチャの削除 + テクスチャを削除する @@ -25803,6 +32098,10 @@ Do you want to save the data first? QmlProfiler::Internal::QmlProfilerTraceView + + Timeline + タイムライン + Analyze Current Range 現在の範囲の解析 @@ -25848,6 +32147,14 @@ Do you want to save the data first? Device type is not desktop. デバイス種類がデスクトップではありません。 + + Would you like to open the project in Qt Design Studio? + Qt Design Studio でプロジェクトを開きますか? + + + Open in Qt Design Studio + Qt Design Studio で開く + No Qt version set in kit. キットに Qt バージョンが設定されていません。 @@ -25856,6 +32163,22 @@ Do you want to save the data first? Qt version is too old. Qt のバージョンが古すぎます。 + + Kit has no device. + キットにデバイスがありません。 + + + Qt version is too old. + Qt のバージョンが古すぎます。 + + + Qt version has no qmlscene command. + Qt バージョンには qmlscene コマンドがありません。 + + + Non-desktop Qt is used with a desktop device. + デスクトップ用ではない Qt が、デスクトップ端末で使われています。 + QmlProjectManager::QmlProjectEnvironmentAspect @@ -25868,24 +32191,45 @@ Do you want to save the data first? キット環境変数 - - QmlProjectManager::Internal::Manager - - Failed opening project "%1": Project is not a file. - プロジェクト "%1" が開けません: プロジェクトがファイルではありません。 - - QmlProjectManager::QmlProjectRunConfiguration No qmlviewer or qmlscene found. qmlviewer や qmlscene が見つかりません。 + + QML Viewer: + QML ビューア: + + + System Environment + システム環境変数 + + + Clean Environment + 環境変数なし + QML Scene QMLRunConfiguration display name. QML Scene + + No script file to execute. + 実行するスクリプトファイルがありません。 + + + No qmlscene found. + qmlscene が見つかりませんでした。 + + + No qmlscene binary specified for target device. + ターゲットデバイスに指定された qmlscene バイナリがありません。 + + + QML Scene + QML Scene + QML Viewer QMLRunConfiguration display name. @@ -25953,6 +32297,14 @@ Do you want to save the data first? Preparing remote side... リモート側の準備... + + Project source directory: + プロジェクトソースディレクトリ: + + + Local executable: + ローカル実行ファイル: + The %1 process closed unexpectedly. プロセス %1 が、予期せず終了しました。 @@ -25979,6 +32331,10 @@ Do you want to save the data first? QNX QNX + + QNX Device + QNX デバイス + Deploy Qt libraries... Qt ライブラリのデプロイ... @@ -26004,6 +32360,22 @@ Do you want to save the data first? Qnx::Internal::QnxDeviceTester + + Checking that files can be created in /var/run... + /var/run にファイルが作成できることを確認しています... + + + Files can be created in /var/run. + /var/run にファイルを作成することができます。 + + + Files cannot be created in /var/run. + /var/run にファイルを作成することができません。 + + + An error occurred while checking that files can be created in /var/run. + /var/run にファイルを作成できるかどうかのチェックでエラーが発生しました。 + %1 found. %1 が見つかりました。 @@ -26012,6 +32384,10 @@ Do you want to save the data first? %1 not found. %1 が見つかりません。 + + An error occurred while checking for %1. + %1 の確認中にエラーが発生しました。 + An error occurred checking for %1. %1 の確認中にエラーが発生しました。 @@ -26032,6 +32408,10 @@ Do you want to save the data first? Qt Version is meant for QNX QNX %1 + + No SDP path was set up. + SDP のパスが設定されていません。 + No SDK path was set up. SDK のパスが設定されていません。 @@ -26043,6 +32423,22 @@ Do you want to save the data first? Path to Qt libraries on device: デバイス上の Qt ライブラリのパス: + + Executable on device: + デバイス上の実行可能ファイル: + + + Remote path not set + リモートのパスが設定されていません + + + Executable on host: + ホスト上の実行可能ファイル: + + + Path to Qt libraries on device + デバイス上の Qt ライブラリのパス + Qnx::Internal::QnxRunConfigurationFactory @@ -26064,6 +32460,11 @@ Do you want to save the data first? &Compiler path: コンパイラのパス(&C): + + SDP path: + SDP refers to 'Software Development Platform'. + SDP のパス: + NDK/SDP path: SDP refers to 'Software Development Platform'. @@ -26076,6 +32477,10 @@ Do you want to save the data first? Qnx::Internal::Slog2InfoRunner + + Warning: "slog2info" is not found on the device, debug output not available. + 警告: "slog2info" がデバイスに見つかりません。デバッグ出力は利用できません。 + Cannot show slog2info output. Error: %1 slog2info の出力を表示できません。エラー: %1 @@ -26170,6 +32575,11 @@ Do you want to save the data first? Qt Version is used for embedded Linux development Embedded Linux + + Boot2Qt + Qt version is used for Boot2Qt development + Boot2Qt + BaseQtVersion @@ -26295,6 +32705,10 @@ cannot be found in the path. Run %1 %1 を実行 + + You need to set an executable in the custom run configuration. + カスタム実行構成に実行ファイルを設定する必要があります。 + ProjectExplorer::CustomExecutableRunConfigurationFactory @@ -26345,6 +32759,14 @@ cannot be found in the path. Cannot Copy Project プロジェクトをコピーできません + + Search in Examples... + サンプルを検索... + + + Search in Tutorials... + チュートリアルを検索... + QtSupport::Internal::QtKitConfigWidget @@ -26480,7 +32902,7 @@ cannot be found in the path. Remove Invalid Qt Versions - 不正な Qt バージョンの削除 + 不正な Qt バージョンを削除する Do you want to remove all invalid Qt Versions?<br><ul><li>%1</li></ul><br>will be removed. @@ -26506,6 +32928,26 @@ cannot be found in the path. The following ABIs are currently not supported:<ul><li>%1</li></ul> 次の ABI は未サポートです:<ul><li>%1</li></ul> + + Highest Version Only + 最新バージョンのみ + + + All + すべて + + + None + しない + + + No compiler can produce code for this Qt version. Please define one or more compilers for: %1 + この Qt バージョンのコードを生成できるコンパイラがありません。1つ以上のコンパイラを定義してください: %1 + + + The following ABIs are currently not supported: %1 + 次の ABI は未サポートです: %1 + Select a qmake Executable qmake 実行ファイルの選択 @@ -26532,7 +32974,11 @@ cannot be found in the path. The Qt version selected must match the device type. - 選択されたバージョンの Qt とデバイスの種類が同じである必要があります。 + 選択したバージョンの Qt とデバイスの種類が同じである必要があります。 + + + Cancel + キャンセル Debugging Helper Build Log for "%1" @@ -26686,6 +33132,14 @@ cannot be found in the path. RemoteLinux::GenericDirectUploadStep + + Incremental deployment + 増分デプロイ + + + Ignore missing files + 存在しないファイルを無視する + Upload files via SFTP SFTP 経由でファイルをアップロード @@ -26739,6 +33193,10 @@ In addition, device connectivity will be tested. Generic Linux 一般的な Linux + + Generic Linux Device + 一般的な Linux デバイス + Deploy Public Key... 公開鍵をデプロイ... @@ -26884,6 +33342,10 @@ In addition, device connectivity will be tested. リモートのファイルシステムは %n MBytes しか空き容量がありませんが、%1 MBytes 必要です。 + + Remote process failed: %1 + リモートプロセスが失敗しました: %1 + The remote file system has %n megabytes of free space, going ahead. @@ -26900,6 +33362,18 @@ In addition, device connectivity will be tested. RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep + + Remote path to check for free space: + 空き容量を確認するリモートのパス: + + + Required disk space: + 必要なディスク容量: + + + MB + MB + Check for free disk space ディスクの空き容量チェック @@ -26922,6 +33396,10 @@ In addition, device connectivity will be tested. Starting remote command "%1"... リモートコマンド "%1" を起動しています... + + Remote process failed: %1 + リモートプロセスが失敗しました: %1 + Remote process failed to start. リモートプロセスの起動に失敗しました。 @@ -27157,6 +33635,22 @@ In addition, device connectivity will be tested. Creating tarball... tarball 作成中... + + Ignore missing files + 存在しないファイルを無視する + + + Package modified files only + 変更されたファイルのみをパッケージ化 + + + Tarball creation not possible. + tarball を作成できません。 + + + Create tarball: + tarball の作成: + Tarball up to date, skipping packaging. tarball は最新です、パッケージ作成をスキップします。 @@ -27313,11 +33807,11 @@ In addition, device connectivity will be tested. Remove Prefix... - プレフィックスの削除... + プレフィックスを削除する... Remove Missing Files - 存在しないファイルの削除 + 存在しないファイルを削除する Rename... @@ -27325,7 +33819,7 @@ In addition, device connectivity will be tested. Remove File... - ファイルの削除... + ファイルを削除する... Open in Editor @@ -27349,7 +33843,7 @@ In addition, device connectivity will be tested. Remove Prefix - プレフィックスの削除 + プレフィックスを削除する Remove prefix %1 and all its files? @@ -27386,6 +33880,10 @@ In addition, device connectivity will be tested. Copy Resource Path to Clipboard リソースのパスをクリップボードにコピー + + Sort Alphabetically + アルファベット順にソート + Subversion::Internal::SettingsPageWidget @@ -27393,6 +33891,10 @@ In addition, device connectivity will be tested. Subversion Command Subversion コマンド + + Subversion + Subversion + Subversion::Internal::SubversionPlugin @@ -27637,6 +34139,12 @@ In addition, device connectivity will be tested. Searching 検索中 + + %n found. + + %n 個が見つかりました。 + + %n occurrences replaced. @@ -27666,6 +34174,10 @@ In addition, device connectivity will be tested. Settings グローバル + + Behavior + 動作 + TextEditor::FunctionHintProposalWidget @@ -27966,6 +34478,10 @@ Filter: %2 Filter tree フィルタツリー + + Sort Alphabetically + アルファベット順にソート + TextEditor::Internal::OutlineFactory @@ -28059,6 +34575,11 @@ Filter: %2 Alt+Return Alt+Return + + Text + SnippetProvider + テキスト + Selected text within the current document. 現在のドキュメント内で選択されているテキストです。 @@ -28644,6 +35165,11 @@ Will not be applied to whitespace in comments and strings. New updates are available. Do you want to start update? 新しい更新が見つかりました。更新を開始しますか? + + %1 (%2) + Package name and version + %1 (%2) + Could not determine location of maintenance tool. Please check your installation if you did not enable this plugin manually. メンテナンスツールのパスを特定できません。このプラグインを手動で有効にしたのでなければインストールを確認してください。 @@ -28972,6 +35498,10 @@ Will not be applied to whitespace in comments and strings. Memcheck Valgrind メモリ解析 + + Analyzing Memory + メモリ解析中 + Load External XML Log File 外部の XML ログファイルを読み込む @@ -29440,6 +35970,10 @@ When a problem is detected, the application is interrupted and can be debugged.< Prompt to submit コミット前に確認する + + &Close + 閉じる(&C) + Submit Message Check Failed メッセージチェックのサブミットに失敗しました @@ -29509,7 +36043,7 @@ When a problem is detected, the application is interrupted and can be debugged.< BookmarkWidget Delete Folder - フォルダの削除 + フォルダを削除する Rename Folder @@ -29525,7 +36059,7 @@ When a problem is detected, the application is interrupted and can be debugged.< Delete Bookmark - ブックマークの削除 + ブックマークを削除する Rename Bookmark @@ -29550,6 +36084,10 @@ When a problem is detected, the application is interrupted and can be debugged.< New Folder 新しいフォルダ + + Bookmark + ブックマーク + ContentWindow @@ -30012,6 +36550,10 @@ Ex. "Revision: 15" を指定した場合、ブランチはリビジョ Sco&pe: スコープ(&P): + + Case &sensitive + 大文字/小文字を区別する(&S) + Core::Internal::FindWidget @@ -30122,6 +36664,26 @@ To do this, you type this shortcut and a space in the Locator entry field, and t min + + Name + 名前 + + + Prefix + プレフィックス + + + Default + 既定 + + + Built-in + ビルトイン + + + Custom + カスタム + WinRt::Internal::WinRtPackageDeploymentStepWidget @@ -30718,6 +37280,10 @@ kill しますか? Create and Open "%1" "%1" を作成して開く + + Create + 生成 + Core::ILocatorFilter @@ -30756,6 +37322,10 @@ kill しますか? Type to locate (%1) パスを入力してください (%1) + + Locate... + クイックアクセス... + <html><body style="color:#909090; font-size:14px"><div align='center'><div style="font-size:20px">Open a document</div><table><tr><td><hr/><div style="margin-top: 5px">&bull; File > Open File or Project (%1)</div><div style="margin-top: 5px">&bull; File > Recent Files</div><div style="margin-top: 5px">&bull; Tools > Locate (%2) and</div><div style="margin-left: 1em">- type to open file from any open project</div>%4%5<div style="margin-left: 1em">- type <code>%3&lt;space&gt;&lt;filename&gt;</code> to open file from file system</div><div style="margin-left: 1em">- select one of the other filters for jumping to a location</div><div style="margin-top: 5px">&bull; Drag and drop files here</div></td></tr></table></div></body></html> <html><body style="color:#909090; font-size:14px"><div align='center'><div style="font-size:20px">ドキュメントの開き方</div><table><tr><td><hr/><div style="margin-top: 5px">&bull; ファイル → ファイル/プロジェクトを開く (%1)</div><div style="margin-top: 5px">&bull; ファイル → 最近使ったファイル</div><div style="margin-top: 5px">&bull; ツール → クイックアクセス (%2) から</div><div style="margin-left: 1em">- 既に開いているプロジェクト内の開きたいファイル名を入力してください</div>%4%5<div style="margin-left: 1em">- ファイルシステム上のファイルの場合は <code>%3&lt;スペース&gt;&lt;ファイル名&gt;</code> と入力してください</div><div style="margin-left: 1em">- その他のフィルタから開きたいドキュメントに適切なものを選択してください</div><div style="margin-top: 5px">&bull; ファイルをここにドラッグ&amp;ドロップしてください</div></td></tr></table></div></body></html> @@ -30779,6 +37349,14 @@ kill しますか? Refresh 更新 + + Type to locate + パスを入力してください + + + Type to locate (%1) + パスを入力してください (%1) + Locate... クイックアクセス... @@ -30831,11 +37409,11 @@ kill しますか? Kit: - キット: + キット: Executable: - 実行ファイル: + 実行ファイル: Select valid executable. @@ -31104,6 +37682,10 @@ kill しますか? WinRt::Internal::WinRtRunConfiguration + + Uninstall package after application stops + アプリケーション停止後にパッケージをアンインストールする + Run App Package アプリケーションパッケージの実行 @@ -31133,6 +37715,10 @@ kill しますか? Target ターゲット + + Margin + マージン + Anchor to the top of the target. ターゲットの上端にアンカーします。 @@ -31394,6 +37980,10 @@ Are you sure you want to continue? 本当に削除を行いますか: %1? + + QNX + QNX + Add... 追加... @@ -31424,10 +38014,18 @@ Are you sure you want to continue? ColorEditor + + Color + + Solid Color 単色 + + New + 新規作成 + Gradient グラデーション @@ -31527,6 +38125,10 @@ API バージョンが %1 以上の SDK をインストールしてください Bare Metal run configuration default run name GDB サーバーあるいはハードウェアデバッガ上で実行 + + Unknown + 不明 + BareMetal::Internal::BareMetalRunConfigurationWidget @@ -31642,6 +38244,18 @@ API バージョンが %1 以上の SDK をインストールしてください The debugging helpers are used to produce a nice display of objects of certain types like QString or std::map in the &quot;Locals and Expressions&quot; view. デバッグヘルパは &quot;ローカル変数と式&quot; において QString や std::map のような特定の型をわかりやすくに表示する為に使われます。 + + Debugging Helper Customization + デバッグヘルパのカスタマイズ + + + Extra Debugging Helpers + 追加のデバッグヘルパ + + + Path to a Python file containing additional data dumpers. + 追加するデータ表示機能を持つ Python ファイルへのパスです。 + <unlimited> <無制限> @@ -31659,15 +38273,15 @@ API バージョンが %1 以上の SDK をインストールしてください EmacsKeys::Internal::EmacsKeysPlugin Delete Character - 文字の削除 + 文字を削除する Kill Word - 単語の削除 + 単語を削除する Kill Line - 行の削除 + 行を削除する Insert New Line and Indent @@ -31766,6 +38380,10 @@ API バージョンが %1 以上の SDK をインストールしてください Go to Help Mode ヘルプモードに移行 + + (Untitled) + (無題) + Home ホーム @@ -31802,6 +38420,14 @@ API バージョンが %1 以上の SDK をインストールしてください Reset Font Size フォントサイズをリセット + + Reload + 再読込 + + + Unfiltered + フィルタなし + Meta+Shift+C Meta+Shift+C @@ -31975,7 +38601,11 @@ API バージョンが %1 以上の SDK をインストールしてください You asked to build the current Run Configuration's build target only, but it is not associated with a build target. Update the Make Step in your build settings. - 現在の実行設定のビルドターゲットをビルドしようとしましたが、そのビルドターゲットがビルド設定に存在しません。ビルド設定のビルドステップを更新してください。 + 現在の実行構成のビルドターゲットをビルドしようとしましたが、そのビルドターゲットがビルド設定に存在しません。ビルド設定のビルドステップを更新してください。 + + + %1 needs a compiler set up to build. Configure a compiler in the kit options. + %1 をビルドする為にはコンパイラの設定が必要です。キットオプションでコンパイラを設定してください。 @@ -32123,9 +38753,25 @@ API バージョンが %1 以上の SDK をインストールしてください RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration + + Remote executable: + リモート実行ファイル: + + + Local executable: + ローカル実行ファイル: + + + Custom Executable + カスタム実行ファイル + + + Run "%1" + "%1" を実行 + The remote executable must be set in order to run a custom remote run configuration. - カスタムなリモート実行設定で実行するためにはリモートの実行可能ファイルを設定してください。 + カスタムなリモート実行構成で実行するためにはリモートの実行可能ファイルを設定してください。 Run "%1" on Linux Device @@ -32184,6 +38830,10 @@ API バージョンが %1 以上の SDK をインストールしてください The WinRT debugging helper is missing from your Qt Creator installation. It was assumed to be located at %1 Qt Creator に WinRT デバッグヘルパが見つかりません。通常は %1 にインストールされます + + The WinRT debugging helper is missing from your %1 installation. It was assumed to be located at %2 + %1 に WinRT デバッグヘルパが見つかりません。通常は %2 にインストールされます + Cannot start the WinRT Runner Tool. WinRT Runner Tool を起動できません。 @@ -32198,7 +38848,7 @@ API バージョンが %1 以上の SDK をインストールしてください Cannot create an appropriate run control for the current run configuration. - 現在の実行設定に適切な実行コントロールを作成できません。 + 現在の実行構成に適切な実行コントロールを作成できません。 @@ -32218,7 +38868,8 @@ API バージョンが %1 以上の SDK をインストールしてください Error while executing the WinRT Runner Tool: %1 - WinRT Runner Tool 実行中のエラー: %1 + WinRT Runner Tool 実行中のエラー: %1 + @@ -32350,7 +39001,7 @@ Android 5 ではローカルの Qt ライブラリをデプロイできません Omit run configuration warnings - 実行設定の警告を省略する + 実行構成の警告を省略する Limit result output to 100000 characters. @@ -32488,6 +39139,22 @@ Android 5 ではローカルの Qt ライブラリをデプロイできません Select the test frameworks to be handled by the AutoTest plugin. AutoTest プラグインで使用するテストフレームワークを選択します。 + + All + すべて + + + Selected + 選択した + + + Framework + フレームワーク + + + Group + グループ + ClangCodeModel::Internal::ClangProjectSettingsWidget @@ -32691,6 +39358,14 @@ Android 5 ではローカルの Qt ライブラリをデプロイできません Files to keep open: 維持するファイル数: + + Environment: + 環境変数: + + + Change... + 変更... + CppTools::ClangDiagnosticConfigsWidget @@ -32726,6 +39401,18 @@ Android 5 ではローカルの Qt ライブラリをデプロイできません %1 (Copy) %1 (コピー) + + %1 + %1 + + + Rename... + 名前を変更... + + + Diagnostic Configurations + 診断設定 + QbsProjectManager::Internal::CustomQbsPropertiesDialog @@ -33083,6 +39770,14 @@ the program. この手法では複数のプロファイル結果を一つのトレース結果にまとめることができます。 例えば単一のプログラム内で複数の QML エンジンを逐次実行する場合などに有効です。 + + QML Profiler + QML プロファイラ + + + Analyzer + 解析 + FlameGraphView @@ -33118,6 +39813,10 @@ the program. Location パス + + unknown + 不明 + No data available データがありません @@ -33333,7 +40032,7 @@ the program. Remove Object - オブジェクトの削除 + オブジェクトを削除する Cut @@ -33354,9 +40053,21 @@ the program. Show Definition 定義の表示 + + Inheritance + 継承 + + + Association + 関連 + qmt::ObjectItem + + Dependency + 依存関係 + Open Diagram 図を開く @@ -33506,7 +40217,7 @@ the program. Delete Object - オブジェクトの削除 + オブジェクトを削除する Add Relation @@ -33514,7 +40225,7 @@ the program. Delete Relation - 関係の削除 + 関係を削除する Cut @@ -33729,6 +40440,14 @@ the program. Relationship: 関係: + + Connection + 接続 + + + Connections + コネクション + Position and size: 位置とサイズ: @@ -33849,6 +40568,10 @@ the program. Boundaries 境界 + + Multi-Selection + 複数選択 + <font color=red>Invalid syntax!</font> <font color=red>無効なシンタックス!</font> @@ -33958,6 +40681,10 @@ the program. Error: Unknown socket error %1 エラー: 未知のソケットエラー %1 + + Error: %1 + エラー: %1 + Utils::HostOsInfo @@ -34401,6 +41128,14 @@ the program. blacklisted 個のブラックリストテスト + + Run This Test + このテストの実行 + + + Debug This Test + このテストのデバッグ + , %1 disabled , %1 個の無効化されたテスト @@ -34482,7 +41217,7 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop Failed to get run configuration. - 実行設定の取得に失敗しました。 + 実行構成の取得に失敗しました。 Failed to create run configuration. @@ -34523,9 +41258,17 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop BareMetal::Internal::BareMetalCustomRunConfiguration + + Unknown + 不明 + + + Custom Executable + カスタム実行ファイル + The remote executable must be set in order to run a custom remote run configuration. - カスタムリモート実行設定で実行するためにはリモートの実行ファイルを設定してください。 + カスタムリモート実行構成で実行するためにはリモートの実行ファイルを設定してください。 Custom Executable (on GDB server or hardware debugger) @@ -34546,6 +41289,14 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop Starting GDB server... GDB サーバー起動中... + + Cannot debug: Kit has no device. + デバッグエラー: キットにデバイスがありません。 + + + No debug server provider found for %1 + デバッグ・サーバー・プロバイダが見つかりませんでした。%1 + BareMetal::Internal::BareMetalDeviceConfigurationWidget @@ -34553,6 +41304,10 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop GDB server provider: GDB サーバープロバイダ: + + Debug server provider: + サーバー・プロバイダーをデバッグする: + BareMetal::Internal::DefaultGdbServerProviderFactory @@ -34601,6 +41356,18 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop Startup mode: 起動モード: + + Peripheral description files (*.svd) + ペリフェラル説明ファイル (*.svd) + + + Select Peripheral Description File + ペリフェラル説明ファイルを選択する + + + Peripheral description file: + ペリフェラル説明ファイル: + No Startup 起動しない @@ -34624,6 +41391,14 @@ Only desktop kits are supported. Make sure the currently active kit is a desktop Enter TCP/IP port which will be listened by the GDB server provider. GDB サーバープロバイダが待ち受けに使用している TCP/IP ポート番号を入力してください。 + + Enter TCP/IP hostname of the debug server, like "localhost" or "192.0.2.1". + デバッグ サーバーの TCP/IP ホスト名を入力してください。例: "localhost" や "192.0.2.1". + + + Enter TCP/IP port which will be listened by the debug server. + デバッグ サーバーが待ち受けに使用している TCP/IP ポート番号を入力してください。 + BareMetal::Internal::GdbServerProviderChooser @@ -35192,10 +41967,68 @@ clang の実行ファイルを設定してください。 Default display name for the cmake make step. Make + + Current executable + 現在の実行ファイル + + + Build the executable used in the active run configuration. Currently: %1 + 有効な実行構成で使用される実行ファイルをビルドします。現在: %1 + + + Target: %1 + ターゲット:%1 + + + CMake arguments: + CMake の引数: + + + Tool arguments: + ツールの引数: + + + Target + ターゲット + + + The build configuration is currently disabled. + ビルド設定は現在無効になっています。 + + + A CMake tool must be set up for building. Configure a CMake tool in the kit options. + ビルドするためには、CMake ツールを設定する必要があります。キットのオプションで CMake ツールを設定します。 + + + There is a CMakeCache.txt file in "%1", which suggest an in-source build was done before. You are now building in "%2", and the CMakeCache.txt file might confuse CMake. + "%1"に CMakeCache.txt ファイルがあり、以前にインソース・ビルドが行われたことを示しています。現在、"%2" でビルドしていますが、CMakeCache.txt ファイルが CMake を混乱させている可能性があります。 + Persisting CMake state... CMake の状態を維持しています... + + Running CMake in preparation to build... + ビルドの準備のために CMake を実行する... + + + Project did not parse successfully, cannot build. + プロジェクトが正常に解析されず、ビルドできませんでした。 + + + Build + ConfigWidget display name. + ビルド + + + Targets: + ターゲット: + + + CMake Build + Display name for CMakeProjectManager::CMakeBuildStep id. + CMake ビルド + CMakeProjectManager::CMakeBuildStep @@ -35360,9 +42193,21 @@ clang の実行ファイルを設定してください。 No cmake tool set. CMake ツールが見つかりません。 + + No compilers set in kit. + キットにコンパイラが設定されていません。 + CMakeProjectManager::CMakeSettingsPage + + yes + はい + + + no + いいえ + (Default) (既定) @@ -35391,6 +42236,10 @@ clang の実行ファイルを設定してください。 Path: パス: + + Help file: + ヘルプファイル: + CMakeProjectManager::Internal::CMakeToolConfigWidget @@ -35422,6 +42271,10 @@ clang の実行ファイルを設定してください。 New CMake 新しい CMake + + CMake + CMake + CMakeProjectManager::CMakeToolManager @@ -35433,9 +42286,17 @@ clang の実行ファイルを設定してください。 System CMake at %1 システムの CMake(パス: %1) + + CMake + CMake + CMakeProjectManager::ConfigModel + + (ADVANCED) + (拡張) + <UNSET> <未定義> @@ -35697,6 +42558,10 @@ Do you want to check them out now? Core::Internal::EditorManagerPrivate + + Properties... + プロパティ... + Revert File to Saved ファイルを保存時の状態に戻す @@ -35885,10 +42750,6 @@ Do you want to check them out now? Save %1 &As... %1 に名前をつけて保存(&A)... - - Revert %1 to Saved - %1 を保存時の状態に戻す - Reload %1 %1 の再読込 @@ -35905,6 +42766,10 @@ Do you want to check them out now? Close Others 他を閉じる + + Cancel && &Diff + キャンセルして差分表示(&D) + Qt Creator Qt Creator @@ -36013,6 +42878,10 @@ Do you want to check them out now? Reset MIME Types MIME タイプのリセット + + Changes will take effect after restart. + 変更は Qt Creator を再起動した後に反映されます。 + Changes will take effect after Qt Creator restart. 変更は Qt Creator を再起動した後に反映されます。 @@ -36046,7 +42915,11 @@ Do you want to check them out now? 再起動が必要です - The theme change will take effect after a restart of Qt Creator. + Current theme: %1 + 現在のテーマ: %1 + + + The theme change will take effect after restart. テーマの変更は Qt Creator を再起動した後に反映されます。 @@ -36197,6 +43070,94 @@ Do you want to check them out now? Attempting to interrupt. 中断しようとしています。 + + Debugger finished. + デバッガは終了しました。 + + + Continue + 続行 + + + Stop Debugger + デバッガを停止 + + + Interrupt + 割り込み + + + Abort Debugging + デバッグ中止 + + + Step Into + ステップイン + + + Step Out + ステップアウト + + + Run to Line + この行まで実行 + + + Run to Selected Function + 選択した関数まで実行 + + + Jump to Line + 指定行にジャンプ + + + Immediately Return From Inner Function + 内部関数からすぐに抜ける + + + Step Over + ステップオーバー + + + Add Expression Evaluator + 式エバリュエータを追加 + + + Toggle Breakpoint + ブレークポイントの切替 + + + Restart Debugging + デバッグの再開 + + + Operate by Instruction + 命令で操作 + + + Reverse Direction + 逆方向 + + + Launching Debugger + デバッガの起動中 + + + Source Files + ソースファイル + + + Locals + ローカル + + + Aborts debugging and resets the debugger to the initial state. + デバッグを中止して、初期状態に戻します。 + + + Threads: + スレッド: + Debugger::Internal::DebuggerEngine @@ -36208,6 +43169,18 @@ Do you want to check them out now? Setup failed. セットアップに失敗しました。 + + No Memory Viewer Available + 利用可能なメモリビューアがありません + + + The memory contents cannot be shown as no viewer plugin for binary data has been loaded. + バイナリデータを表示する為のビューアプラグインが読み込まれていない為、メモリの内容を表示できません。 + + + Debugger + デバッガ + Loading finished. 読み込みは完了しました。 @@ -36244,6 +43217,14 @@ Do you want to check them out now? Taking notice of pid %1 PID %1 の通知を受ける + + Attempting to interrupt. + 中断しようとしています。 + + + Could not find a widget. + ウィジェットが見つかりませんでした。 + This debugger cannot handle user input. このデバッガはユーザー入力を処理できません。 @@ -36290,6 +43271,54 @@ Do you want to check them out now? Exception Triggered 例外が発生しました + + No function selected. + 関数が選択されていません。 + + + Running to function "%1". + 関数 "%1" を実行しています。 + + + Symbol + シンボル + + + Address + アドレス + + + Code + コード + + + Section + セクション + + + Name + 名前 + + + Symbols in "%1" + "%1" のシンボル + + + From + From + + + To + To + + + Flags + フラグ + + + Sections in "%1" + "%1" のセクション + The inferior is in the Portable Executable format. Selecting CDB as debugger would improve the debugging experience for this binary format. @@ -36450,10 +43479,26 @@ Setting breakpoints by file name and line number may fail. Views ビュー + + &Views + 表示(&V) + Toolbar ツールバー + + Editor + エディタ + + + Next Item + 次の項目 + + + Previous Item + 前の項目 + Start 開始 @@ -36489,6 +43534,38 @@ Setting breakpoints by file name and line number may fail. Process %1 プロセス %1 + + Cannot start %1 without a project. Please open the project and try again. + プロジェクト無しでは %1 を開始できません。プロジェクトを開いた後に再度試してください。 + + + in Debug mode + デバッグモード + + + in Profile mode + プロファイルモード + + + in Release mode + リリースモード + + + with debug symbols (Debug or Profile mode) + デバッグシンボル込み(デバッグあるいはプロファイルモード) + + + on optimized code (Profile or Release mode) + 最適化済みコード(プロファイルあるいはリリースモード) + + + Run %1 in %2 Mode? + %1 を%2モードで実行しますか? + + + <html><head/><body><p>You are trying to run the tool "%1" on an application in %2 mode. The tool is designed to be used %3.</p><p>Run-time characteristics differ significantly between optimized and non-optimized binaries. Analytical findings for one mode may or may not be relevant for the other.</p><p>Running tools that need debug symbols on binaries that don't provide any may lead to missing function names or otherwise insufficient output.</p><p>Do you want to continue and run the tool in %2 mode?</p></body></html> + <html><head/><body><p>%2モードのアプリケーションに対してツール "%1" を実行しようとしています。このツールは%3モードでの利用を想定しています。</p><p>バイナリが最適化済みかどうかによって実行時の特性は大きく異なります。あるモードでの解析結果が別のモードには当てはまらない場合もあります。</p><p>デバッグシンボルが含まれないバイナリに対してデバッグシンボルが必要なツールを実行する場合には関数名が取得できなかったり結果が不十分なものになることもあります。</p><p>%2モードでのツールの実行を継続しますか?</p></body></html> + Symbol シンボル @@ -36544,6 +43621,10 @@ Affected are breakpoints %1 Not enough free ports for QML debugging. QML デバッグ用の空きポートがありません。 + + Debugging complex command lines is currently not supported on Windows. + 現在、Windows 上での複雑なコマンドラインのデバッグはサポートされていません。 + Unknown debugger type "%1" 未知の種類のデバッガ "%1" @@ -36846,6 +43927,10 @@ Affected are breakpoints %1 "data" for a "Form" page needs to be unset or an empty object. "Form" ページの "data" は未設定か空オブジェクトである必要があります。 + + Choose Project File + プロジェクトファイルを選択する + Check whether a variable exists.<br>Returns "true" if it does and an empty string if not. 変数が存在するかどうかを確認します。<br>存在する場合は "true" を、存在しない場合は空文字列を返します。 @@ -37006,7 +44091,7 @@ Affected are breakpoints %1 Header file: - ヘッダーファイル: + ヘッダファイル: %{JS: Cpp.classToFileName('%{Class}', '%{JS: Util.preferredSuffix('text/x-c++src')}')} @@ -37038,7 +44123,7 @@ Affected are breakpoints %1 Creates a C++ header and a source file for a new class that you can add to a C++ project. - プロジェクトへ追加する C++ の新しいクラス用のヘッダーとソースファイルを作成します。 + プロジェクトへ追加する C++ の新しいクラス用のヘッダとソースファイルを作成します。 C++ @@ -37050,7 +44135,7 @@ Affected are breakpoints %1 Customize header row - ヘッダー行のカスタマイズ + ヘッダ行のカスタマイズ Items are editable @@ -37268,6 +44353,22 @@ Affected are breakpoints %1 Project Location プロジェクトパス + + Google Test + Google Test + + + Qt Quick Test + Qt Quick Test + + + Boost Test + Boost Test + + + Test framework: + テストフレームワーク: + qmake qmake @@ -37464,10 +44565,170 @@ Preselects a desktop Qt for building the application if available. Creates a vertex shader in the OpenGL/ES 2.0 Shading Language (GLSL/ES). Vertex shaders transform the positions, normals and texture coordinates of triangles, points and lines rendered with OpenGL. OpenGL/ES 2.0 のシェーダ記述言語(GLSL/ES)でバーテックスシェーダを作成します。バーテックスシェーダ(頂点シェーダ)は OpenGL で描画されるポリゴンや、点、線分の位置や法線、テクスチャ座標を変形します。 + + Specify basic information about the classes for which you want to generate skeleton source code files. + ソースコードのスケルトンファイルを生成したいクラスの基本的な情報を指定してください。 + + + Shared Library + 共有ライブラリ + + + Statically Linked Library + スタティックリンクライブラリ + + + Qt Plugin + Qt プラグイン + + + Core + Core + + + Library + ライブラリ + + + C++ Library + C++ ライブラリ + + + Binary + 2進数 + + + Author: + 作成者: + + + Description: + 説明: + + + 0.1.0 + 0.1.0 + + + Version: + バージョン: + + + Other + その他 + + + License: + ライセンス: + + + C + C + + + 1.0.0 + 1.0.0 + + + Project file: + プロジェクトファイル: + + + Object class-name: + オブジェクトクラス名: + + + URI: + URI: + + + Qt Quick 2 Extension Plugin + Qt Quick 2 拡張プラグイン + + + Qt 5.15 + Qt 5.15 + + + Qt 5.14 + Qt 5.14 + + + Qt 5.13 + Qt 5.13 + + + Qt 5.12 + Qt 5.12 + + + Qt 5.11 + Qt 5.11 + + + Qt 5.10 + Qt 5.10 + + + Qt 5.9 + Qt 5.9 + + + Qt 5.8 + Qt 5.8 + + + Default + 既定 + + + This wizard generates a Qt Widgets Application project. The application derives by default from QApplication and includes an empty widget. + このウィザードは Qt ウイジェットアプリケーションプロジェクトを生成します。アプリケーションは QApplication を使用し、空のウィジェットを持ちます。 + + + Form file: + フォームファイル: + + + Class Information + クラス情報 + + + Qt Widgets Application + Qt ウィジェットアプリケーション + "%{JS: Util.toNativeSeparators('%{TargetPath}')}" exists in the filesystem. "%{JS: Util.toNativeSeparators('%{TargetPath}')}" は既にファイルシステムに存在しています。 + + Plugin name: + プラグイン名: + + + Vendor name: + ベンダ名: + + + Copyright: + Copyright: + + + URL: + URL: + + + Qt Creator build: + Qt Creator ビルド: + + + Creates a custom Qt Creator plugin. + 独自の Qt Creator プラグインを作成します。 + + + Qt Creator Plugin + Qt Creator プラグイン + This wizard creates a simple Qmake based project with additional auto test skeleton. このウィザードは自動テストのスケルトンが追加されたシンプルな qmake ベースのプロジェクトを作成します。 @@ -37883,6 +45144,10 @@ Preselects a desktop Qt for building the application if available. Skipped unknown number of lines... 何行かをスキップ... + + No difference. + 差分がありません。 + No difference 差分がありません @@ -38601,22 +45866,42 @@ Would you like to overwrite it? Exporting the diagram into file<br>"%1"<br>failed. 図をファイル<br>"%1"<br>へエクスポートするのに失敗しました。 + + New %1 + 新しい %1 + Package パッケージ + + New Package + 新しいパッケージ + Component コンポーネント + + New Component + 新しいコンポーネント + Class クラス + + New Class + 新しいクラス + Item アイテム + + New Item + 新しいアイテム + Annotation アノテーション @@ -38901,12 +46186,14 @@ to project "%2". Path "%1" does not exist when checking Json wizard search paths. - Json ウィザードの検索パスを確認しましたが、パス "%1" は存在しません。 + Json ウィザードの検索パスを確認しましたが、パス "%1" は存在しません。 + Checking "%1" for %2. - %2 向けに "%1" を確認しています。 + %2 向けに "%1" を確認しています。 + * Failed to parse "%1":%2:%3: %4 @@ -38934,7 +46221,7 @@ to project "%2". The platform selected for the wizard. - このウィザードで選択されたプラットフォームです。 + このウィザードで選択したプラットフォームです。 The features available to this wizard. @@ -39084,6 +46371,14 @@ to project "%2". LLVM: LLVM: + + Initialization: + 初期化: + + + &Compiler path: + コンパイラのパス(&C): + ProjectExplorer::ClangToolChainFactory @@ -39102,6 +46397,10 @@ to project "%2". Project Name プロジェクト名 + + Kit is not valid. + 無効なキット。 + Incompatible Kit 互換性のないキット @@ -39120,7 +46419,7 @@ to project "%2". Run configurations: - 実行設定: + 実行構成: Partially Incompatible Kit @@ -39178,6 +46477,10 @@ to project "%2". Command line arguments: コマンドライン引数: + + Reset to Default + 既定に戻す + ProjectExplorer::SelectableFilesWidget @@ -39228,6 +46531,10 @@ These files are preserved. Source directory ソースディレクトリ + + The currently active run configuration's name. + 現在アクティブな実行構成の名前です。 + ProjectExplorer::Internal::WaitForStopDialog @@ -39513,7 +46820,7 @@ Android パッケージソースディレクトリのファイルはビルドデ Invalid item. - 無効なアイテムです。 + 無効なアイテムです。 Cannot find an implementation. @@ -39624,7 +46931,7 @@ Android パッケージソースディレクトリのファイルはビルドデ Remove selected binding or connection. - 選択されたバインディングやコネクションを削除します。 + 選択したバインディングやコネクションを削除します。 @@ -40281,9 +47588,21 @@ Android パッケージソースディレクトリのファイルはビルドデ Show Highlighter Options... ハイライトオプションの表示... + + Download Definitions + 定義をダウンロード + TextEditor::TextEditorWidget + + Line: 9999, Col: 999 + 行番号: 9999, 列位置: 999 + + + Line: %1, Col: %2 + 行番号: %1, 列位置: %2 + Print Document ドキュメントの印刷 @@ -40296,6 +47615,14 @@ Android パッケージソースディレクトリのファイルはビルドデ The text is too large to be displayed (%1 MB). 表示するにはテキストが大きすぎます (%1 MB)。 + + <b>Error:</b> Could not decode "%1" with "%2"-encoding. Editing not possible. + <b>エラー:</b> "%1" を文字コード "%2" ではデコードできませんでした。編集できません。 + + + Select Encoding + 文字コードの選択 + Zoom: %1% 拡大率: %1% @@ -40342,6 +47669,10 @@ Android パッケージソースディレクトリのファイルはビルドデ &Redo やり直す(&R) + + <line>:<column> + <行>:<列> + Delete &Line 行削除(&L) @@ -40462,6 +47793,18 @@ Android パッケージソースディレクトリのファイルはビルドデ Ctrl+E, F2 Ctrl+E, F2 + + Ctrl+Shift+U + Ctrl+Shift+U + + + Rename Symbol Under Cursor + カーソル位置のシンボルの名前を変更する + + + Ctrl+Shift+R + Ctrl+Shift+R + Jump to File Under Cursor カーソル位置のファイルへ移動する @@ -40847,6 +48190,10 @@ Android パッケージソースディレクトリのファイルはビルドデ Load External Log File 外部のログファイルを読み込む + + Open results in KCachegrind. + KCachegrind で結果を開く。 + Request the dumping of profile information. This will update the Callgrind visualization. プロファイル情報のダンプを要求します。その結果 Callgrind の表示が更新されます。 @@ -40859,9 +48206,13 @@ Android パッケージソースディレクトリのファイルはビルドデ Pause event logging. No events are counted which will speed up program execution during profiling. イベントログの記録を一時停止します。イベントがカウントされない為、プロファイリング中のプログラムの実行速度が向上されます。 + + Discard Data + データを破棄 + Go back one step in history. This will select the previously selected item. - 履歴を1つ戻します。以前選択されていたアイテムが選択されます。 + 履歴を1つ戻します。以前選択したアイテムが選択されます。 Go forward one step in history. @@ -41244,6 +48595,10 @@ Android パッケージソースディレクトリのファイルはビルドデ Google Tests Google Tests + + Google Test + Google Test + GTestTreeItem @@ -41262,6 +48617,10 @@ Android パッケージソースディレクトリのファイルはビルドデ Qt Tests Qt テスト + + Qt Test + Qt Test + QuickTestFramework @@ -41414,6 +48773,14 @@ Output: CMake configuration set by the kit was overridden in the project. キットで設定された CMake 設定はプロジェクトで上書きされました。 + + Minimum Size Release + 最小サイズリリース + + + Release with Debug Information + デバッグ情報付きリリース + CMakeProjectManager::Internal::CMakeEditorFactory @@ -41534,6 +48901,10 @@ Output: Build directory "%1" does not exist. ビルドディレクトリ "%1" が存在しません。 + + Working directory: + 作業ディレクトリ: + Failed to delete the cache directory. キャッシュディレクトリの削除に失敗しました。 @@ -41627,6 +48998,10 @@ Output: QmlProfiler::Internal::FlameGraphModel + + Could not re-read events from temporary trace file: %1 + 一時的なトレース・ファイルからイベントを再読み取りできませんでした: %1 + Compile コンパイル @@ -41658,6 +49033,14 @@ Output: Show Full Range 全体を表示 + + Flame Graph + フレームグラフ + + + Reset Flame Graph + フレームグラフをリセットする + QmlProfiler::Internal::InputEventsModel @@ -41741,6 +49124,10 @@ Output: Mouse Event マウスイベント + + Unknown + 不明 + QmlProfiler::Internal::MemoryUsageModel @@ -41844,4 +49231,10653 @@ Output: 高さ + + AddImport + + Select a Module to Add + 追加するモジュールを選択する + + + + ItemsView + + Remove Module + モジュールを削除する + + + Expand All + すべて展開 + + + Collapse All + すべて折りたたむ + + + Import Module: + モジュールをインポートする: + + + + LibraryHeader + + Components + コンポーネント + + + Add Module + モジュールを追加する + + + Assets + アセット + + + Add new assets to project. + プロジェクトに新しいアセットを追加する。 + + + Search + 検索 + + + + ColorCheckButton + + Toggle color picker view. + カラーピッカーの表示を切り替える。 + + + + ComponentButton + + This item is an instance of a Component + このアイテムは、コンポーネントのインスタンスです + + + Edit Master Component + マスターコンポーネントの編集 + + + + ExtendedFunctionLogic + + Reset + リセット + + + Set Binding + バインディングの設定 + + + Export Property as Alias + プロパティを別名でエクスポートする + + + Insert Keyframe + キーフレームを挿入する + + + + GradientDialogPopup + + Gradient Properties + グラデーションのプロパティ + + + + GradientPopupIndicator + + Edit Gradient Properties + グラデーションのプロパティを編集する + + + + GradientPresetList + + Gradient Picker + グラデーションピッカー + + + System Presets + システムプリセット + + + User Presets + ユーザープリセット + + + Delete preset? + プリセットを削除しますか? + + + Are you sure you want to delete this preset? + このコードスタイルを完全に削除しますか? + + + Close + 閉じる + + + Save + 保存 + + + Apply + 適用 + + + + ItemFilterComboBox + + [None] + [なし] + + + + Label + + This property is not available in this configuration. + このプロパティは本設定では使用できません。 + + + + MarginSection + + Margin + マージン + + + Vertical + 垂直方向 + + + Top + 最上部 + + + The margin above the item. + アイテムの上のマージンです。 + + + Bottom + + + + The margin below the item. + アイテムの下のマージンです。 + + + Horizontal + 水平方向 + + + Left + + + + The margin left of the item. + アイテムの左のマージンです。 + + + Right + + + + The margin right of the item. + アイテムの右のマージンです。 + + + Margins + マージン + + + The margins around the item. + アイテムの周りのマージンです。 + + + + AlignDistributeSection + + Align + 整列 + + + Warning + 警告 + + + + AnimationSection + + Running + 実行中 + + + Duration + 持続時間 + + + + AnimationTargetSection + + Target + ターゲット + + + Property + プロパティ + + + Properties + プロパティ + + + + ConnectionsSpecifics + + Connections + コネクション + + + Target + ターゲット + + + + DialogSpecifics + + Dialog + ダイアログ + + + Title + タイトル + + + + DrawerSpecifics + + Drag Margin + ドラッグのマージン + + + + PopupSection + + Popup + ポップアップ + + + Size + サイズ + + + Visibility + 可視性 + + + Is visible + 表示 + + + Clip + クリッピング + + + Behavior + 動作 + + + Modal + モデル + + + Opacity + 不透明度 + + + Scale + 倍率 + + + Spacing + 間隔 + + + + LayerSection + + Format + フォーマット + + + Mipmap + ミップマップ + + + Smooth + スムーズ + + + Wrap mode + 折り返し + + + + NumberAnimationSpecifics + + From + From + + + To + To + + + + PropertyActionSpecifics + + Value + + + + + StateSpecifics + + State + 状態 + + + Name + 名前 + + + + Object3DPane + + Component + コンポーネント + + + ID + ID + + + id + ID + + + Toggles whether this item is exported as an alias property of the root item. + このアイテムをルートアイテムの alias プロパティとしてエクスポートするかどうかを切り換えます。 + + + + StatesDelegate + + Edit Annotation + アノテーションを編集する + + + Add Annotation + アノテーションを追加する + + + Remove Annotation + アノテーションを削除する + + + Default + 既定 + + + + ADS::WorkspaceDialog + + &New + 新規作成(&N) + + + &Rename + 名前を変更(&R) + + + C&lone + 複製(&L) + + + Reset + リセット + + + &Switch To + 切り替え(&S) + + + Import + インポート + + + + Utils::RemoveFileDialog + + Remove File + ファイルを削除する + + + File to remove: + 削除するファイル: + + + &Delete file permanently + 完全に削除する(&D) + + + + Android::Internal::AndroidSdkManagerWidget + + Expand All + すべて展開 + + + Apply + 適用 + + + Available + 利用可能 + + + Installed + インストール済 + + + All + すべて + + + Advanced Options... + 詳細オプション... + + + Cancel + キャンセル + + + + BoostSettingsPage + + Seed: + シード: + + + + Autotest::Internal::GTestSettingsPage + + Executes disabled tests when performing a test run. + テスト実行時に無効化されたテストも実行します。 + + + Run disabled tests + 無効化されたテストを実行する + + + Iterations: + 実行回数: + + + Shuffle tests + テストをシャッフルする + + + Repeats a test run (you might be required to increase the timeout to avoid canceling the tests). + テストを繰り返し実行します(テストがキャンセルされないようにタイムアウトを長くする必要があるかもしれません)。 + + + Repeat tests + テストを繰り返し実行する + + + Seed: + シード: + + + A seed of 0 generates a seed based on the current timestamp. + シードが 0 の場合、現在時刻からシードが生成されます。 + + + Directory + ディレクトリ + + + + Autotest::Internal::QtTestSettingsPage + + Benchmark Metrics + ベンチマーク測定基準 + + + Uses walltime metrics for executing benchmarks (default). + ベンチマーク実行時に待ち時間を基準に用います(既定)。 + + + Walltime + 総経過時間 + + + Uses tick counter when executing benchmarks. + ベンチマーク実行時にチックカウンタを基準に用います。 + + + Tick counter + チックカウンタ + + + Uses event counter when executing benchmarks. + ベンチマーク実行時にイベントカウンタを基準に用います。 + + + Event counter + イベントカウンタ + + + Uses Valgrind Callgrind when executing benchmarks (it must be installed). + ベンチマーク実行時に Valgrind Callgrind を用います(インストールが必要です)。 + + + Callgrind + Callgrind + + + Uses Perf when executing benchmarks (it must be installed). + ベンチマーク実行時に Perf を用います(インストールが必要です)。 + + + Perf + Perf + + + + Beautifier::Internal::ArtisticStyleOptionsPage + + Configuration + 設定 + + + Artistic Style command: + Artistic スタイルコマンド: + + + Restrict to MIME types: + 制限する MIME タイプ: + + + Options + オプション + + + Use file *.astylerc defined in project files + プロジェクトファイルに定義されている *.astylerc ファイルを使用する + + + Use file .astylerc or astylerc in HOME + HOME is replaced by the user's home directory + HOME にある .astylerc か astylerc ファイルを使用する + + + Use customized style: + カスタムスタイルを使用する: + + + + Beautifier::Internal::ClangFormatOptionsPage + + Options + オプション + + + Use customized style: + カスタムスタイルを使用する: + + + Use predefined style: + 定義済みスタイルを使用する: + + + Fallback style: + フォールバックスタイル: + + + Configuration + 設定 + + + Clang Format command: + Clang Format コマンド: + + + Restrict to MIME types: + 制限する MIME タイプ: + + + + Beautifier::Internal::UncrustifyOptionsPage + + Configuration + 設定 + + + Uncrustify command: + Uncrustify コマンド: + + + Restrict to MIME types: + 制限する MIME タイプ: + + + Options + オプション + + + Use file uncrustify.cfg defined in project files + プロジェクトファイルに定義されている uncrustify.cfg ファイルを使用する + + + Use file specific uncrustify.cfg + ファイル固有のuncrustify.cfgを使用する + + + Use file uncrustify.cfg in HOME + HOME is replaced by the user's home directory + HOME にある uncrustify.cfg ファイルを使用する + + + Use customized style: + カスタムスタイルを使用する: + + + For action Format Selected Text + 選択した文字列を整形するアクション用 + + + Format entire file if no text was selected + 未選択時にはファイル全体を整形する + + + + ClangFormat::ClangFormatConfigWidget + + Format instead of indenting + インデントの代わりにフォーマットを行う + + + Format while typing + 入力中にフォーマットする + + + Format edited code on file save + 編集したコードをファイル保存時にフォーマットする + + + Override Clang Format configuration file + Clang Format の設定ファイルを上書きする + + + Fallback configuration + フォールバック設定 + + + Apply + 適用 + + + Override Clang Format configuration file with the fallback configuration. + Clang Format 設定ファイルをフォールバック設定で上書きします。 + + + Current project has its own overridden .clang-format file and can be configured in Projects > Code Style > C++. + 現在のプロジェクトには、独自のオーバーライドされた.clang-formatファイルがあり、「プロジェクト」>「コードスタイル」>「C++」で設定することができます。 + + + Error in ClangFormat configuration + Clang Format 設定でのエラー + + + + ClangTools::Internal::ProjectSettingsWidget + + Use Global Settings + グローバル設定を使用する + + + Use Customized Settings + カスタム設定を使用する + + + Remove Selected + 選択項目を削除する + + + Remove All + すべて削除 + + + + ClangTools::Internal::ClazyChecks + + Filters + フィルタ + + + + ClangTools::Internal::FilterDialog + + Select All + すべてを選択 + + + Clear Selection + 選択状態を解除 + + + + ClangTools::Internal::RunSettingsWidget + + Parallel jobs: + 並列ジョブ数: + + + + FilePropertiesDialog + + Group: + グループ: + + + Size: + サイズ: + + + Name: + 名前: + + + Path: + パス: + + + Executable: + 実行ファイル: + + + Undefined + 未定義 + + + + Core::Internal::UrlFilterOptions + + Name: + 名前: + + + Move Up + 上に移動 + + + Move Down + 下に移動 + + + + CppQuickFixProjectSettingsWidget + + Form + フォーム + + + + CppQuickFixSettingsWidget + + Form + フォーム + + + Default + 既定 + + + lines + + + + Types: + 型: + + + + CppTools::ClangBaseChecks + + 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>. + オプションの詳細は GCC や Clang のマニュアル、または <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html">GCC のオンラインドキュメント</a> を参照してください。 + + + + Designer::Internal::NewClassWidget + + &Class name: + クラス名(&C): + + + &Base class: + 基底クラス(&B): + + + &Type information: + 型情報(&T): + + + Inherits QObject + QObject を継承 + + + Inherits QWidget + QWidget を継承 + + + Inherits QDeclarativeItem - Qt Quick 1 + QDeclarativeItem を継承 - Qt Quick 1 + + + Inherits QQuickItem - Qt Quick 2 + QQuickItem を継承 - Qt Quick 2 + + + Based on QSharedData + QSharedData に基づく + + + &Header file: + ヘッダファイル(&H): + + + &Source file: + ソースファイル(&S): + + + &Form file: + フォームファイル(&F): + + + &Path: + パス(&P): + + + Invalid header file name: "%1" + 無効なヘッダファイル名: "%1" + + + Invalid source file name: "%1" + 無効なソースファイル名: "%1" + + + Invalid form file name: "%1" + 無効なフォームファイル名: "%1" + + + + Gerrit::Internal::AuthenticationDialog + + Authentication + 認証情報 + + + &User: + ユーザー(&U): + + + &Password: + パスワード(&P): + + + + Ios::Internal::CreateSimulatorDialog + + Device type: + デバイス種類: + + + + Ios::Internal::IosSettingsWidget + + iOS Configuration + iOS 設定 + + + Devices + デバイス + + + Ask about devices not in developer mode + デバイスがデベロッパーモードかどうか確認する + + + Rename + 名前を変更 + + + Reset + リセット + + + Create + 生成 + + + Start + 開始 + + + iOS + iOS + + + + Ios::Internal::SimulatorOperationDialog + + Unknown + 不明 + + + + MesonProjectManager::Internal::MesonBuildSettingsWidget + + Apply Configuration Changes + 設定の変更を適用 + + + Filter + フィルタ + + + + MesonProjectManager::Internal::ToolItemSettings + + Name: + 名前: + + + Path: + パス: + + + + MesonProjectManager::Internal::ToolsSettingsWidget + + Clone + 複製 + + + Make Default + 既定にする + + + + Nim::NimToolsSettingsWidget + + Path + パス + + + + PerfProfiler::Internal::PerfConfigWidget + + Additional arguments: + 追加の引数: + + + Reset + リセット + + + + PerfProfiler::Internal::PerfLoadDialog + + &Browse... + 参照(&B)... + + + Kit: + キット: + + + + QmlDesigner::AssetExportDialog + + Open + 開く + + + + QmlDesigner::AnnotationCommentTab + + Title + タイトル + + + Text + テキスト + + + + QmlDesigner::AnnotationEditorDialog + + Annotation + アノテーション + + + + QmlDesigner::GlobalAnnotationEditorDialog + + Annotation + アノテーション + + + Tab View + タブビュー + + + + QmlDesigner::Internal::AssetImportUpdateDialog + + Select Files to Update + 更新するファイルを選択する + + + Expand All + すべて展開 + + + Collapse All + すべて折りたたむ + + + + QmlDesigner::ItemLibraryAssetImportDialog + + Import + インポート + + + Cancel + キャンセル + + + Close + 閉じる + + + + QmlDesigner::HyperlinkDialog + + Link + リンク + + + + QmlDesigner::SetFrameValueDialog + + Dialog + ダイアログ + + + Value + + + + + QmlDesigner::TimelineAnimationForm + + Invalid Id + 無効な ID + + + %1 is an invalid id. + %1 は無効な id です。 + + + %1 already exists. + %1 は既に存在しています。 + + + + QmlDesigner::TimelineForm + + Invalid Id + 無効な ID + + + %1 is an invalid id. + %1 は無効な id です。 + + + %1 already exists. + %1 は既に存在しています。 + + + + QmlDesigner::TransitionEditorSettingsDialog + + Add Transition + トランジションを追加する + + + + QmlJSEditor::Internal::QmlJsEditingSettingsPage + + Qt Quick Toolbars + Qt Quick ツールバー + + + If enabled, the toolbar will remain pinned to an absolute position. + 有効になっている場合、ツールバーは絶対位置に固定されたままになります。 + + + Pin Qt Quick Toolbar + Qt Quick ツールバーを固定する + + + Always show Qt Quick Toolbar + 常に Qt Quick ツールバーを表示する + + + Automatic Formatting on File Save + ファイル保存時に自動的に整形する + + + Enable auto format on file save + ファイル保存時の自動整形を有効にする + + + Restrict to files contained in the current project + 現在のプロジェクトに含まれるファイルのみに制限する + + + Features + 機能 + + + + ScxmlEditor::Common::ColorSettings + + + + + + + + + ScxmlEditor::Common::ColorThemeDialog + + Dialog + ダイアログ + + + OK + OK + + + Cancel + キャンセル + + + Apply + 適用 + + + + ScxmlEditor::Common::NavigatorSlider + + + + + + + + + ScxmlEditor::Common::Search + + Search + 検索 + + + + ScxmlEditor::Common::StateView + + Back + 戻る + + + + ScxmlEditor::Common::Statistics + + Time + タイム + + + 0 + 0 + + + File + ファイル + + + + ScxmlEditor::Common::StatisticsDialog + + Dialog + ダイアログ + + + OK + OK + + + + main + + Recent Projects + 最近使ったプロジェクト + + + Examples + サンプル + + + Tutorials + チュートリアル + + + Open Project + プロジェクトを開く + + + Help + ヘルプ + + + Continue + 続行 + + + Cancel + キャンセル + + + Open + 開く + + + Details + 詳細 + + + + Welcome_splash + + % + % + + + + RangeDetails + + View event information on mouseover. + マウスオーバー時にイベント情報を表示します。 + + + Close + 閉じる + + + + PerfProfilerFlameGraphView + + Function + 関数 + + + Source + ソース + + + Binary + 2進数 + + + Allocations + 確保 + + + Various + その他 + + + + QmlProfilerFlameGraphView + + Total Time + 合計時間 + + + Calls + 呼出回数 + + + Details + 詳細 + + + Mean Time + 平均時間 + + + In Percent + 割合 + + + Location + パス + + + Allocations + 確保 + + + Various Events + 各種イベント + + + + QObject + + Close Tab + タブを閉じる + + + C++ Usages: + C++ 出現箇所: + + + <Filter> + Library search input hint text + <フィルタ> + + + MB + MB + + + + ADS::DockAreaTitleBar + + Detach Area + エリアを切り離す + + + Close Area + エリアを閉じる + + + Close Other Areas + その他のエリアを閉じる + + + + ADS::DockManager + + Cannot Save Workspace + ワークスペースを保存できません + + + Could not save workspace to file %1 + ワークスペースをファイル%1 に保存できませんでした + + + Delete Workspace + ワークスペースを削除する + + + Delete Workspaces + ワークスペースを削除する + + + Delete workspace %1? + ワークスペース %1 を削除しますか? + + + Delete these workspaces? + %1 + これらのワークスペースを削除しますか? + %1 + + + Cannot Restore Workspace + ワークスペースを復元できません + + + Could not restore workspace %1 + ワークスペース %1 を復元できませんでした + + + + Utils::FileSaverBase + + File Error + ファイルエラー + + + + ADS::DockWidgetTab + + Detach + 切り離す + + + Close + 閉じる + + + Close Others + 他を閉じる + + + + ADS::WorkspaceNameInputDialog + + Enter the name of the workspace: + ワークスペースの名前を入力してください: + + + + ADS::WorkspaceModel + + Workspace + ワークスペース + + + Last Modified + 最終変更日 + + + New Workspace Name + 新しいワークスペース名 + + + &Create + 作成(&C) + + + Create and &Open + 作成して開く(&O) + + + &Clone + 複製(&C) + + + Clone and &Open + クローンして開く(&O) + + + Rename Workspace + ワークスペースの名前変更 + + + &Rename + 名前を変更(&R) + + + Rename and &Open + 名前変更して開く(&O) + + + + ADS::WorkspaceView + + Import Workspace + ワークスペースをインポートする + + + Export Workspace + ワークスペースをエクスポートする + + + + ProcessCreator + + Executable does not exist: %1 + 実行ファイル が存在しません %1 + + + Unknown error occurred. + 不明なエラーが発生しました。 + + + Process crashed. + プロセスがクラッシュしました。 + + + Process failed at startup. + 起動時にプロセスが失敗しました。 + + + Process timed out. + プロセスがタイムアウトしました。 + + + Cannot write to process. + プロセスへの書き込みができません。 + + + Cannot read from process. + プロセスからの読み取りができません。 + + + + ExtensionSystem::Internal::PluginManagerPrivate + + %1 > About Plugins + %1 > プラグインについて + + + Help > About Plugins + ヘルプ > プラグインについて + + + The following plugins depend on %1 and are also disabled: %2. + + + 以下のプラグインは %1 に依存しているため、無効になっています: %2。 + + + + + Disable plugins permanently in %1. + %1 でプラグインを常に無効にします。 + + + It looks like %1 closed because of a problem with the "%2" plugin. Temporarily disable the plugin? + %1 は、"%2" プラグインの問題で閉じたようです。プラグインを一時的に無効にしますか? + + + Disable Plugin + プラグインを無効にする + + + Continue + 続行 + + + + BaseMessage + + Cannot decode content with "%1". Falling back to "%2". + コンテンツを "%1" でデコードできません。"%2" にフォールバックします。 + + + Expected an integer in "%1", but got "%2". + "%1" の中身は整数を期待していましたが、"%2" でした。 + + + + LanguageServerProtocol::JsonObject + + Expected type %1 but value contained %2 + 期待される型は %1 ですが、値には %2 が含まれています + + + None of the following variants could be correctly parsed: + 以下のデータのいずれも正しく解析できませんでした: + + + + JsonRpcMessageHandler + + Could not parse JSON message "%1". + JSON メッセージ "%1" を解析できませんでした。 + + + Expected a JSON object, but got a JSON "%1". + 読み込まれた JSON "%1" は JSON オブジェクトではありませんでした。 + + + + LanguageServerProtocol::Notification + + No parameters in "%1". + "%1" にはパラメータがありません。 + + + + LanguageClient::ResponseError + + Error %1 + エラー: %1 + + + + LanguageServerProtocol::Request + + No ID set in "%1". + "%1"に ID が設定されていません。 + + + + LanguageServerProtocol::HoverContent + + HoverContent should be either MarkedString, MarkupContent, or QList<MarkedString>. + HoverContent は、MarkedString、MarkupContent、または QList<MarkedString> のいずれかでなければなりません。 + + + + LanguageServerProtocol::MarkedString + + DocumentFormattingProperty should be either bool, double, or QString. + DocumentFormattingProperty は、bool、double、または QString のいずれかでなければなりません。 + + + + LanguageServerProtocoll::MarkupOrString + + Expected a string or MarkupContent in MarkupOrString. + MarkupOrString は文字列または MarkupContent に対応しています。 + + + + qmt::Exception + + Unacceptable null object. + 受付不可能な null オブジェクトです。 + + + File not found. + ファイルが見つかりません。 + + + Unable to create file. + ファイルを作成できません。 + + + Writing to file failed. + ファイルへの書き込みに失敗しました。 + + + Reading from file failed. + ファイルの読み込みに失敗しました。 + + + Illegal XML file. + 無効な XML ファイルです。 + + + Unable to handle file version %1. + %1 は未知のファイルバージョンです。 + + + + QmlDebug::QmlDebugConnectionManager + + Debug connection opened. + デバッグ接続を開きました。 + + + Debug connection closed. + デバッグ接続を切断しました。 + + + Debug connection failed. + デバッグ接続に失敗しました。 + + + + QSsh::SftpSession + + sftp failed to start: %1 + sftp の起動に失敗しました: %1 + + + sftp crashed. + sftp がクラッシュしました。 + + + Cannot establish SFTP session: sftp binary "%1" does not exist. + SFTP セッションを確立できません: sftp バイナリ "%1" が存在しません。 + + + + QSsh::SftpTransfer + + sftp failed to start: %1 + sftp の起動に失敗しました: %1 + + + sftp crashed. + sftp がクラッシュしました。 + + + sftp binary "%1" does not exist. + sftp バイナリ "%1" が存在しません。 + + + Could not create temporary file: %1 + 一時ファイルを作成できませんでした: %1 + + + Failed to create local directory "%1". + ローカルディレクトリ "%1" の作成に失敗しました。 + + + File transfer failed: %1 + ファイル転送に失敗しました: %1 + + + + QSsh::SshConnection + + Cannot establish SSH connection: Control process failed to start: %1 + SSH 接続を確立できません。制御プロセスの開始に失敗しました: %1 + + + SSH connection failure. + SSH 接続エラー。 + + + Cannot establish SSH connection: ssh binary "%1" does not exist. + SSH 接続を確立できません: ssh バイナリ "%1" が存在しません。 + + + Cannot establish SSH connection: Failed to create temporary directory for control socket: %1 + SSH 接続を確立できません。制御ソケット用の一時ディレクトリの作成に失敗しました: %1 + + + + QSsh::SshRemoteProcess + + The ssh process crashed: %1 + ssh プロセスがクラッシュしました: %1 + + + Remote process crashed. + リモートプロセスがクラッシュしました。 + + + + Timeline::TimelineTraceManager + + Could not open %1 for writing. + 書き込み用に %1 を開けません。 + + + Could not open %1 for reading. + 読み込み用に %1 を開けません。 + + + Could not re-read events from temporary trace file: %1 +The trace data is lost. + 一時的なトレースファイルからイベントを再読み取りできませんでした: %1 +トレースデータは失われます。 + + + + Utils::Archive + + File format not supported. + 未対応のファイル形式です。 + + + Could not find any unarchiving executable in PATH (%1). + PATH (%1) にアーカイブ展開用の実行可能ファイルが見つかりませんでした。 + + + Unarchiving File + アーカイブ展開用のファイル + + + Unzipping "%1" to "%2". + "%1" を "%2" に展開しています。 + + + Command failed. + コマンドが失敗しました。 + + + Running %1 +in "%2". + + + Running <cmd> in <workingdirectory> + %2 で "%1" を実行しています。 + + + + + + Utils::TriStateAspect + + Enable + 有効 + + + Disable + 無効化 + + + Leave at Default + デフォルトのままで + + + + Utils::BaseTreeView + + Show %1 Column + %1 列を表示する + + + + Utils::InfoBarDisplay + + Do Not Show Again + 今後このメッセージを表示しない + + + Close + 閉じる + + + + JsonTreeModelItem + + String + 文字列 + + + Object + オブジェクト + + + Undefined + 未定義 + + + + Utils::NameValueModel + + <UNSET> + <未定義> + + + Variable + 変数 + + + Value + + + + <VARIABLE> + Name when inserting a new variable + <変数> + + + <VALUE> + Value when inserting a new variable + <値> + + + + StringUtils + + Elapsed time: %1. + 経過時間: %1. + + + + Utils::VariableChooser + + Insert Variable + 変数の挿入 + + + Current Value: %1 + 現在値: %1 + + + Insert Unexpanded Value + 展開前の値の挿入 + + + Insert "%1" + "%1" の挿入 + + + Insert Expanded Value + 展開後の値の挿入 + + + Select a variable to insert. + 挿入する変数を選択してください。 + + + Variables + 変数 + + + + AndroidAvdManager + + Could not start process "%1 %2" + プロセス "%1 %2" を起動できませんでした + + + + Android::Internal::AndroidBuildApkStep + + Application + アプリケーション + + + Android build SDK: + Android SDK: + + + Create Templates + テンプレートの作成 + + + Keystore: + キーストア: + + + Keystore files (*.keystore *.jks) + キーストアファイル (*.keystore *.jks) + + + Select Keystore File + キーストアファイルの選択 + + + Create... + 作成... + + + Sign package + パッケージに署名する + + + Signing a debug package + デバッグパッケージに署名する + + + Certificate alias: + 証明書エイリアス: + + + Advanced Actions + 高度なアクション + + + Open package location after build + ビルド後にパッケージのパスを開く + + + Verbose output + 詳細出力 + + + Additional Libraries + 追加ライブラリ + + + List of extra libraries to include in Android package and load on startup. + Android のパッケージに同梱され起動時に読み込まれる追加ライブラリのリストです。 + + + Add... + 追加... + + + Select library to include in package. + パッケージに同梱するライブラリを選択します。 + + + Select additional libraries + 追加ライブラリの選択 + + + Libraries (*.so) + ライブラリ (*.so) + + + Remove + 削除 + + + Remove currently selected library from list. + 現在選択しているライブラリをリストから削除します。 + + + Build Android APK + Android APK のビルド + + + Warning: Signing a debug or profile package. + 警告: デバッグ用あるいはプロファイル用パッケージを署名しています。 + + + Starting: "%1" %2 + 起動中: "%1" %2 + + + Error + エラー + + + Failed to run keytool. + keytool の実行に失敗しました。 + + + Keystore + キーストア + + + Certificate + 証明書 + + + + Android::Internal::AndroidManifestEditorIconWidget + + Icon scaled up. + アイコンをスケールアップ。 + + + Click to select... + クリックして選択... + + + + Android::AndroidPackageInstallationStep + + Copy application data + アプリケーションデータのコピー + + + Removing directory %1 + ディレクトリ %1 を削除しています + + + Deploy to device + デバイスにデプロイ + + + + Android::AndroidRunConfiguration + + Clean Environment + 環境変数なし + + + + Android::Internal::AndroidRunnerWorker + + No free ports available on host for QML debugging. + ホストに QML デバッグ用の空きポートがありません。 + + + "%1" died. + "%1" は異常終了しました。 + + + + Android::Internal::AndroidSdkDownloader + + Cancel + キャンセル + + + + AndroidSdkManager + + Failed. + 失敗しました。 + + + Failed + 失敗 + + + + Android::Internal::AndroidSdkModel + + Package + パッケージ + + + API + API + + + Install + インストールする + + + + Android::NoApplicationProFilePage + + No application .pro file found in this project. + このプロジェクトにアプリケーション .pro ファイルが見つかりません。 + + + No Application .pro File + アプリケーション .pro ファイルが見つかりません + + + + Android::ChooseProfilePage + + Select the .pro file for which you want to create the Android template files. + Android テンプレートファイルを作成したい .pro ファイルを選択してください。 + + + .pro file: + .pro ファイル: + + + Select a .pro File + .pro ファイルの選択 + + + + Android::ChooseDirectoryPage + + Android package source directory: + Android パッケージソースディレクトリ: + + + The Android package source directory cannot be the same as the project directory. + Android パッケージソースディレクトリをプロジェクトのディレクトリと同じにすることはできません。 + + + Copy the Gradle files to Android directory + Gradle のファイルを Android ディレクトリにコピーする + + + It is highly recommended if you are planning to extend the Java part of your Qt application. + Qt アプリケーションの Java 部を拡張する際には有効にすることを強く推奨します。 + + + Select the Android package source directory. + +The files in the Android package source directory are copied to the build directory's Android directory and the default files are overwritten. + Android パッケージソースディレクトリを選択してください。 + +Android パッケージソースディレクトリのファイルはビルドディレクトリの Android ディレクトリに既定のファイルを上書きする形でコピーされます。 + + + The Android template files will be created in the ANDROID_PACKAGE_SOURCE_DIR set in the .pro file. + Android テンプレートファイルは .pro ファイルの ANDROID_PACKAGE_SOURCE_DIR 変数に設定されたパスに作成されます。 + + + + Android::CreateAndroidManifestWizard + + Create Android Template Files Wizard + Android テンプレートファイル作成ウィザード + + + Project File not Updated + プロジェクトファイルは未更新です + + + + JLSSettingsWidget + + Name: + 名前: + + + Java: + Java: + + + Java Language Server: + Java 言語サーバー: + + + Path to equinox launcher jar + equinox launcher jarへのパス + + + + Android::Internal::SplashScreenContainerWidget + + Splash screen + スプラッシュスクリーン + + + + Android::Internal::SplashScreenWidget + + Icon scaled up. + アイコンをスケールアップ。 + + + Click to select... + クリックして選択... + + + + AutoTest + + Testing + 自動テスト + + + + Autotest::Internal::AutotestPluginPrivate + + Testing + 自動テスト + + + &Tests + テスト(&T) + + + Run &All Tests + すべてのテストの実行(&A) + + + Run All Tests + すべてのテストの実行 + + + Ctrl+Meta+T, Ctrl+Meta+A + Ctrl+Meta+T, Ctrl+Meta+A + + + Alt+Shift+T,Alt+A + Alt+Shift+T,Alt+A + + + &Run Selected Tests + 選択したテストの実行(&R) + + + Run Selected Tests + 選択したテストの実行 + + + Ctrl+Meta+T, Ctrl+Meta+R + Ctrl+Meta+T, Ctrl+Meta+R + + + Alt+Shift+T,Alt+R + Alt+Shift+T,Alt+R + + + Run &Failed Tests + 実行され失敗したテスト(&F) + + + Run Failed Tests + 実行され失敗したテスト + + + Ctrl+Meta+T, Ctrl+Meta+F + Ctrl+Meta+T, Ctrl+Meta+F + + + Alt+Shift+T,Alt+F + Alt+Shift+T,Alt+F + + + Run Tests for &Current File + 現在のファイルに対するテストを実行する(&C) + + + Run Tests for Current File + 現在のファイルに対するテストを実行する + + + Ctrl+Meta+T, Ctrl+Meta+C + Ctrl+Meta+T, Ctrl+Meta+C + + + Alt+Shift+T,Alt+C + Alt+Shift+T,Alt+C + + + Re&scan Tests + テストの再スキャン(&S) + + + Ctrl+Meta+T, Ctrl+Meta+S + Ctrl+Meta+T, Ctrl+Meta+S + + + Alt+Shift+T,Alt+S + Alt+Shift+T,Alt+S + + + Selected test was not found (%1). + 選択したテストが見つかりませんでした (%1)。 + + + + BoostTestFramework + + Boost Test + Boost Test + + + + Autotest::Internal::BoostTestOutputReader + + Test execution took %1 + テストの実行時間: %1 + + + + BoostTestTreeItem + + parameterized + パラメータ化 + + + fixture + フィクスチャ + + + templated + テンプレ化 + + + + CatchFramework + + Catch Test + Catch Test + + + + Autotest::Internal::CatchOutputReader + + Executing %1 "%2" + 実行中: %1 "%2" + + + %1 "%2" passed + %1 "%2" を成功しました + + + Expression passed + 式が成功しました + + + Expression failed: %1 + 式が失敗しました: %1 + + + Finished executing %1 "%2" + %1 "%2" の実行を終了しました + + + + CatchTestFramework + + Catch Test + キャッチテスト + + + + CatchTreeItem + + parameterized + パラメータ化 + + + fixture + フィクスチャ + + + + Autotest::Internal::CTestOutputReader + + Running tests for %1 + %1のテストを実行中 + + + + CTestTool + + CTest + CTest + + + + Autotest::Internal::ProjectTestSettingsWidget + + Global + グローバル + + + Custom + カスタム + + + Active frameworks: + 有効なフレームワーク: + + + Automatically run tests after build + ビルド後に自動的にテストを実行する + + + None + なし + + + All + すべて + + + Selected + 選択した + + + + QtTestTreeItem + + inherited + 継承 + + + + Autotest::TestOutputReader + + Test executable crashed. + テストの実行ファイルがクラッシュしました。 + + + + Autotest::Internal::RunConfigurationSelectionDialog + + Select Run Configuration + 実行構成を選択する + + + Could not determine which run configuration to choose for running tests + テスト実行時にどの実行構成を選択すべきか判断できなかった + + + Remember choice. Cached choices can be reset by switching projects or using the option to clear the cache. + 選択肢を記憶する。キャッシュされた選択肢は、プロジェクトを切り替えるか、キャッシュをクリアするオプションを使用することでリセットできます。 + + + Run Configuration: + 実行構成: + + + Executable: + 実行ファイル: + + + Arguments: + 引数: + + + Working Directory: + 作業ディレクトリ: + + + + AutotoolsProjectManager::Internal::AutotoolsBuildConfiguration + + Autotools Manager + Autotools マネージャ + + + + BuildConfiguration + + Build + ビルド + + + Default + The name of the build configuration created by default for a autotools project. +---------- +The name of the build configuration created by default for a generic project. + 既定 + + + Debug + The name of the debug build configuration created by default for a qbs project. +---------- +The name of the debug build configuration created by default for a qmake project. + デバッグ + + + Release + The name of the release build configuration created by default for a qbs project. +---------- +The name of the release build configuration created by default for a qmake project. + リリース + + + Profile + The name of the profile build configuration created by default for a qmake project. + プロファイル + + + + BareMetalDeployConfiguration + + Deploy to BareMetal Device + ベアメタルデバイスにデプロイ + + + + BareMetal::Internal::DebugServerProviderChooser + + Manage... + 管理... + + + None + しない + + + + BareMetal::Internal::DebugServerProviderModel + + Not recognized + 不明 + + + GDB + GDB + + + UVSC + UVSC + + + GDB compatible provider engine +(used together with the GDB debuggers). + GDB 互換プロバイダエンジン +(GDB デバッガと併用)。 + + + UVSC compatible provider engine +(used together with the KEIL uVision). + UVSC 対応プロバイダーエンジン +(KEIL uVision と併用)。 + + + Name + 名前 + + + Type + + + + Engine + エンジン + + + Duplicate Providers Detected + 重複したプロバイダの検出 + + + The following providers were already configured:<br>&nbsp;%1<br>They were not configured again. + 以下のプロバイダは既に設定済みです。<br>&nbsp;%1<br>重複した設定は行いません。 + + + + BareMetal::Internal::DebugServerProvidersSettingsPage + + Add + 追加 + + + Clone + 複製 + + + Remove + 削除 + + + Debug Server Providers + サーバー・プロバイダーをデバッグする + + + Clone of %1 + %1 を複製 + + + Bare Metal + ベアメタル + + + + BareMetal::Internal::GdbServerProvider + + EBlink + EBlink + + + Generic + 汎用 + + + JLink + JLink + + + OpenOCD + OpenOCD + + + ST-LINK Utility + ST-LINK ユーティリティ + + + + BareMetal::Internal::EBlinkGdbServerProviderConfigWidget + + Host: + ホスト: + + + Executable file: + 実行ファイル: + + + Script file: + スクリプトファイル: + + + Specify the verbosity level (0 to 7). + 詳細レベル (0 ~ 7) を指定してください。 + + + Verbosity level: + 詳細レベル: + + + Connect under reset (hotplug). + リセット状態での接続(ホットプラグ)。 + + + Connect under reset: + リセット状態での接続: + + + Interface type. + インターフェース型。 + + + Type: + 型: + + + Specify the speed of the interface (120 to 8000) in kilohertz (kHz). + インターフェイスの速度(120~8000)をキロヘルツ(kHz)で指定します。 + + + Speed: + 速度: + + + Do not use EBlink flash cache. + EBlink フラッシュキャッシュは使用しないでください。 + + + Disable cache: + キャッシュを無効化する: + + + Shut down EBlink server after disconnect. + EBlink サーバーを切断後にシャットダウンする。 + + + Auto shutdown: + 自動シャットダウン: + + + Init commands: + 初期化コマンド: + + + Reset commands: + リセットコマンド: + + + SWD + SWD + + + JTAG + JTAG + + + + BareMetalDebugSupport + + Cannot debug: Local executable is not set. + デバッグエラー: ローカル実行ファイルが設定されていません。 + + + Cannot debug: Could not find executable for "%1". + デバッグエラー: "%1" に実行ファイルが見つかりませんでした。 + + + Unable to create a uVision project options template. + uVision プロジェクトのオプションテンプレートを作成できません。 + + + Unable to create a uVision project template. + uVision プロジェクトのテンプレートを作成できません。 + + + + BareMetal::Internal::GenericGdbServerProviderConfigWidget + + Host: + ホスト: + + + Extended mode: + 拡張モード: + + + Init commands: + 初期化コマンド: + + + Reset commands: + リセットコマンド: + + + + BareMetal::Internal::JLinkGdbServerProviderConfigWidget + + Host: + ホスト: + + + Executable file: + 実行ファイル: + + + Default + 既定 + + + JTAG + JTAG + + + SWD + SWD + + + Device: + デバイス: + + + Additional arguments: + 追加の引数: + + + Init commands: + 初期化コマンド: + + + Reset commands: + リセットコマンド: + + + + BareMetal::Internal::UvscServerProvider + + uVision JLink + uVision JLink + + + uVision Simulator + uVision シミュレータ + + + uVision St-Link + uVision St-Link + + + + BareMetal::Internal::JLinkUvscServerProviderConfigWidget + + Adapter options: + アダプタオプション: + + + + BareMetal::Internal::JLinkUvscAdapterOptionsWidget + + Port: + ポート: + + + Speed: + 速度: + + + JTAG + JTAG + + + SWD + SWD + + + 50MHz + 50MHz + + + 33MHz + 33MHz + + + 25MHz + 25MHz + + + 20MHz + 20MHz + + + 10MHz + 10MHz + + + 5MHz + 5MHz + + + 3MHz + 3MHz + + + 2MHz + 2MHz + + + 1MHz + 1MHz + + + 500kHz + 500kHz + + + 200kHz + 200kHz + + + 100kHz + 100kHz + + + + BareMetal::Internal::SimulatorUvscServerProviderConfigWidget + + Limit speed to real-time. + 速度をリアルタイムに制限する。 + + + Limit speed to real-time: + 速度をリアルタイムに制限する: + + + + BareMetal::Internal::StLinkUvscServerProviderConfigWidget + + Adapter options: + アダプタオプション: + + + + BareMetal::Internal::StLinkUvscAdapterOptionsWidget + + Port: + ポート: + + + Speed: + 速度: + + + JTAG + JTAG + + + SWD + SWD + + + 9MHz + 9MHz + + + 4.5MHz + 4.5MHz + + + 2.25MHz + 2.25MHz + + + 1.12MHz + 1.12MHz + + + 560kHz + 560kHz + + + 280kHz + 280kHz + + + 140kHz + 140kHz + + + 4MHz + 4MHz + + + 1.8MHz + 1.8MHz + + + 950kHz + 950kHz + + + 480kHz + 480kHz + + + 240kHz + 240kHz + + + 125kHz + 125kHz + + + 100kHz + 100kHz + + + 50kHz + 50kHz + + + 25kHz + 25kHz + + + 15kHz + 15kHz + + + 5kHz + 5kHz + + + + BareMetal::Internal::UvscServerProviderConfigWidget + + Host: + ホスト: + + + Choose Keil Toolset Configuration File + Keil Toolset の設定ファイルを選択する + + + Tools file path: + ツールのファイルパス: + + + Target device: + ターゲットデバイス: + + + Target driver: + ターゲットドライバー: + + + + RunControl + + %1 crashed. + %1 がクラッシュしました。 + + + %2 exited with code %1 + %2 はコード %1 で終了しました + + + Starting %1 %2... + 起動中 %1 %2... + + + + BareMetal::Internal::Uv::DeviceSelectionModel + + Name + 名前 + + + Version + バージョン + + + Vendor + ベンダー + + + + BareMetal::Internal::Uv::DeviceSelectionMemoryModel + + ID + ID + + + Start + 開始 + + + Size + サイズ + + + + BareMetal::Internal::Uv::DeviceSelectionAlgorithmModel + + Name + 名前 + + + FLASH Start + FLASH スタート + + + FLASH Size + FLASH サイズ + + + RAM Start + RAM スタート + + + RAM Size + RAM サイズ + + + + BareMetal::Internal::Uv::DeviceSelectionAlgorithmView + + Algorithm path. + アルゴリズムのパス。 + + + FLASH: + FLASH: + + + Start address. + 開始アドレス。 + + + Size. + サイズ。 + + + RAM: + RAM: + + + + BareMetal::Internal::Uv::DeviceSelectorToolPanel + + Manage... + 管理... + + + + BareMetal::Internal::Uv::DeviceSelectorDetailsPanel + + Vendor: + ベンダー: + + + Package: + パッケージ: + + + Description: + 説明: + + + Memory: + メモリ: + + + Flash algorithm: + FLASH アルゴリズム: + + + Peripheral description files (*.svd) + ペリフェラル説明ファイル (*.svd) + + + Select Peripheral Description File + ペリフェラル説明ファイルを選択する + + + Peripheral description file: + ペリフェラル説明ファイル: + + + + BareMetal::Internal::Uv::DeviceSelector + + Target device not selected. + ターゲットデバイスが選択されていません。 + + + + BareMetal::Internal::Uv::DeviceSelectionDialog + + Available Target Devices + 使用可能なターゲットデバイス + + + + BareMetal::Internal::Uv::DriverSelectionModel + + Path + パス + + + + BareMetal::Internal::Uv::DriverSelectionCpuDllModel + + Name + 名前 + + + + BareMetal::Internal::Uv::DriverSelectionCpuDllView + + Debugger CPU library (depends on a CPU core). + デバッガ CPU ライブラリ(CPU コアに依存)。 + + + + BareMetal::Internal::Uv::DriverSelectorToolPanel + + Manage... + 管理... + + + + BareMetal::Internal::Uv::DriverSelectorDetailsPanel + + Debugger driver library. + デバッガドライバライブラリ。 + + + Driver library: + ドライバライブラリ: + + + CPU library: + CPU ライブラリ: + + + + BareMetal::Internal::Uv::DriverSelector + + Target driver not selected. + ターゲットドライバーが選択されていません。 + + + + BareMetal::Internal::Uv::DriverSelectionDialog + + Available Target Drivers + 使用可能なターゲットドライバー + + + + IarToolChain + + IAREW %1 (%2, %3) + IAREW %1 (%2, %3) + + + IAREW + IAREW + + + + BareMetal::Internal::IarToolChainConfigWidget + + &Compiler path: + コンパイラのパス(&C): + + + Platform codegen flags: + プラットフォーム用コード生成オプション: + + + &ABI: + &ABI: + + + + BareMetal::Internal::IDebugServerProviderConfigWidget + + Enter the name of the debugger server provider. + デバッガ サーバー プロバイダの名前を入力してください。 + + + Name: + 名前: + + + + KeilToolChain + + KEIL %1 (%2, %3) + KEIL %1 (%2, %3) + + + KEIL + KEIL + + + + BareMetal::Internal::KeilToolChainConfigWidget + + &Compiler path: + コンパイラのパス(&C): + + + Platform codegen flags: + プラットフォーム用コード生成オプション: + + + &ABI: + &ABI: + + + + SdccToolChain + + SDCC %1 (%2, %3) + SDCC %1 (%2, %3) + + + SDCC + SDCC + + + + BareMetal::Internal::SdccToolChainConfigWidget + + &Compiler path: + コンパイラのパス(&C): + + + &ABI: + &ABI: + + + + Bazaar::Internal::BazaarDiffConfig + + Ignore Whitespace + 空白を無視 + + + Ignore Blank Lines + 空行を無視 + + + + Bazaar::Internal::BazaarLogConfig + + Verbose + 冗長表示 + + + Show files changed in each revision. + 各リビジョンで変更されたファイルを表示します。 + + + Forward + 進む + + + Show from oldest to newest. + 古いリビジョンから開始して最新のリビジョンを最後に表示します。 + + + Include Merges + マージ込み + + + Show merged revisions. + マージされたリビジョンを表示します。 + + + Detailed + 詳細形式 + + + Moderately Short + 概略表示 + + + One Line + 一行表示 + + + GNU Change Log + GNU形式 + + + Format + フォーマット + + + + Beautifier::Internal::ArtisticStyle + + &Artistic Style + &Artistic スタイル + + + AStyle (*.astylerc) + AStyle (*.astylerc) + + + Artistic Style + Artistic スタイル + + + + Beautifier::Internal + + Artistic Style + Artistic スタイル + + + Uncrustify + Uncrustify + + + + Beautifier::Internal::ClangFormat + + &ClangFormat + &Clang フォーマット + + + ClangFormat + Clang フォーマット + + + Clang Format + Clang フォーマット + + + Uncrustify file (*.cfg) + Uncrustifyファイル (*.cfg) + + + Uncrustify + Uncrustify + + + + Beautifier::Internal::ClangFormatSettings + + No description available. + 記述が見つかりません。 + + + + Beautifier::Internal::GeneralOptionsPageWidget + + General + 一般 + + + + Beautifier::Internal::Uncrustify + + &Uncrustify + &Uncrustify + + + + 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 + 選択した箇所にデータブレークポイントを設定 + + + 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 + + Zoom: %1% + 拡大率: %1% + + + + Bookmarks::Internal::BookmarkFilter + + Bookmarks + ブックマーク + + + + Qdb::Internal::DeviceDetector + + Device "%1" %2 + デバイス "%1" %2 + + + Qt Debug Bridge device %1 + Qt デバッグブリッジデバイス %1 + + + Device detection error: %1 + デバイス検出エラー: %1 + + + + Qdb::Internal::QdbDeviceTracker + + Shutting down device discovery due to unexpected response: %1 + 予期しない応答があったため、デバイスの捜索を停止します: %1 + + + + Qdb::Internal::QdbMessageTracker + + Shutting down message reception due to unexpected response: %1 + 予期しない応答があったため、メッセージ受信を停止します: %1 + + + QDB message: %1 + QDB メッセージ: %1 + + + + Qdb::Internal::QdbWatcher + + Unexpected QLocalSocket error: %1 + 予期していない QLocalSocket エラー: %1 + + + Could not connect to QDB host server even after trying to start it. + QDB ホスト・サーバーを起動しても、接続できませんでした。 + + + Invalid JSON response received from QDB server: %1 + QDB サーバーから無効な JSON 応答を受け取りました: %1 + + + Could not find QDB host server executable. You can set the location with environment variable %1. + QDB ホスト・サーバーの実行ファイルが見つかりませんでした。環境変数 %1 で場所を設定することができます。 + + + QDB host server started. + QDB ホストサーバーが起動しました。 + + + Could not start QDB host server in %1 + QDB ホスト・サーバーを %1 で起動できませんでした + + + Starting QDB host server. + GDB ホストサーバー起動中。 + + + + Qdb::Internal::QdbDeployConfiguration + + Deploy to Boot2Qt target + Boot2Qt ターゲットにデプロイ + + + + Qdb::Internal::QdbDevice + + Starting command "%1" on device "%2". + デバイス "%2" でコマンド "%1" を開始します。 + + + WizardPage + ウィザードページ + + + Device name: + デバイス名: + + + + Qdb::Internal::QdbMakeDefaultAppService + + Remote process failed: %1 + リモートプロセスが失敗しました: %1 + + + Application set as the default one. + デフォルトで設定されているアプリケーション。 + + + Reset the default application. + デフォルトのアプリケーションをリセットします。 + + + + Qdb::Internal::QdbMakeDefaultAppStep + + Set this application to start by default + このアプリケーションをデフォルトで起動するように設定する + + + Reset default application + デフォルトのアプリケーションをリセットする + + + Change default application + デフォルトのアプリケーションを変更する + + + + Qdb + + Flash wizard "%1" failed to start. + Flash ウィザード "%1" の起動に失敗しました。 + + + Flash wizard executable "%1" not found. + Flash ウィザードの実行ファイル "%1" が見つかりません。 + + + + Qdb::Internal::QdbRunConfiguration + + Executable on device: + デバイス上の実行可能ファイル: + + + Remote path not set + リモートのパスが設定されていません + + + Executable on host: + ホスト上の実行可能ファイル: + + + + Boot2Qt + + Boot2Qt: %1 + Boot2Qt: %1 + + + + ClangCodeModel::ClangAssistProposalItem + + Requires changing "%1" to "%2" + "%1"を"%2 "に変更する必要があります + + + + ClangCodeModel::Internal::BackendCommunicator + + Clang Code Model: Error: The clangbackend executable "%1" does not exist. + Clang コードモデル: エラー: clangbackend の実行ファイル "%1" が存在しません。 + + + Clang Code Model: Error: The clangbackend executable "%1" could not be started (timeout after %2ms). + Clang コードモデル: エラー: clangbackend の実行ファイル "%1" を起動できませんでした (%2ms 後のタイムアウト)。 + + + Clang Code Model: Error: The clangbackend process has finished unexpectedly and was restarted. + Clang コードモデル: エラー: clangbackend プロセスが予期せず終了し、再起動されました。 + + + + ClangCodeModel::Internal::ClangCodeModelPlugin + + Generating Compilation DB + コンパイル DB の生成 + + + Clang Code Model + Clang コードモデル + + + Generate Compilation Database + コンパイル DB の生成 + + + Generate Compilation Database for "%1" + "%1" のコンパイル・データベースを生成します + + + Clang compilation database generated at "%1". + Clang のコンパイル・データベースが "%1" で生成されました。 + + + Generating Clang compilation database failed: %1 + Clang のコンパイル・データベースの生成に失敗しました: %1 + + + + ClangHoverHandler + + %1 bytes + %1 バイト + + + Value: %1 + 値: %1 + + + + ClangCodeModel + + <No Symbols> + <シンボルなし> + + + <Select Symbol> + <シンボルの選択> + + + + ClangDiagnosticConfig + + Project: %1 (based on %2) + プロジェクト: %1 (%2 を使用) + + + Changes applied in Projects Mode > Clang Code Model + Projects Mode > Clang コードモデルで適用される変更点 + + + + Clang Code Model Marks + + Code Model Warning + コードモデルの警告 + + + Code Model Error + コードモデルのエラー + + + Copy to Clipboard + クリップボードにコピーする + + + Disable Diagnostic in Current Project + 現在のプロジェクトの診断を無効化する + + + + ClangUtils + + Could not retrieve build directory. + ビルドディレクトリを取得できませんでした。 + + + Could not create "%1": %2 + ファイル %1 を作成できませんでした: %2 + + + + ClangDiagnosticWidget + + Clazy Issue + Clazy の問題 + + + Clang-Tidy Issue + Clang-Tidy の問題 + + + + ClangFormat::ClangFormatPlugin + + Open Used .clang-format Configuration File + 使用した clang-format 設定ファイルを開く + + + The ClangFormat plugin has been built against an unmodified Clang. You might experience formatting glitches in certain circumstances. See https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/README.md for more information. + ClangFormat プラグインは、変更されていない Clang に対してビルドされています。特定の状況下でフォーマットの不具合が発生する可能性があります。詳しくは https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/README.md をご覧ください。 + + + + ClangTools::Internal::ClangTool + + Clear + クリア + + + Expand All + すべて展開 + + + Collapse All + すべて折りたたむ + + + Run %1 in %2 Mode? + %1 を%2モードで実行しますか? + + + + ClangTools::Internal::ClangToolRunWorker + + Analyzing + 解析中 + + + Failed to analyze "%1": %2 + "%1" の解析に失敗しました: %2 + + + + ClangTools::Internal::ClangToolRunner + + %1 crashed. + %1 がクラッシュしました。 + + + Command line: %1 +Process Error: %2 +Output: +%3 + コマンドライン:%1 +プロセスエラー: %2 +出力: +%3 + + + + ClangTools::ExplainingStep + + Message: + メッセージ: + + + Location: + パス: + + + + ClangTools::Internal::DiagnosticView + + Filter... + フィルタ... + + + Suppress This Diagnostic + この診断を抑制する + + + + LogFileReader + + File "%1" does not exist or is not readable. + ファイル "%1" が存在しないか読み込み可能ではありません。 + + + + ClangTools::Internal::SuppressedDiagnosticsModel + + File + ファイル + + + Diagnostic + 診断 + + + + ClangTools::Diagnostic + + Category: + カテゴリ: + + + Description: + 説明: + + + Location: + パス: + + + + ClangTools::Internal::TidyOptionsDialog + + Value + + + + + ClangTools::Internal::TidyChecksTreeModel + + Options + オプション + + + + ClangTools::Internal::DiagnosticMark + + Copy to Clipboard + クリップボードにコピーする + + + + ClearCase::Internal::ClearCasePluginPrivate + + Editing Derived Object: %1 + 派生オブジェクトの編集中: %1 + + + C&learCase + C&learCase + + + Check Out... + チェックアウト... + + + Check &Out "%1"... + "%1" をチェックアウト(&O)... + + + Meta+L,Meta+O + Meta+L,Meta+O + + + Alt+L,Alt+O + Alt+L,Alt+O + + + Check &In... + チェックイン(&I)... + + + Check &In "%1"... + "%1" をチェックイン(&I)... + + + Meta+L,Meta+I + Meta+L,Meta+I + + + Alt+L,Alt+I + Alt+L,Alt+I + + + Undo Check Out + チェックアウトを元に戻す + + + &Undo Check Out "%1" + "%1" のチェックアウトを元に戻す(&U) + + + Meta+L,Meta+U + Meta+L,Meta+U + + + Alt+L,Alt+U + Alt+L,Alt+U + + + Undo Hijack + ハイジャックを元に戻す + + + Undo Hi&jack "%1" + "%1" のハイジャックを元に戻す(&J) + + + Meta+L,Meta+R + Meta+L,Meta+R + + + Alt+L,Alt+R + Alt+L,Alt+R + + + &Diff "%1" + "%1" の差分表示(&D) + + + Meta+L,Meta+D + Meta+L,Meta+D + + + Alt+L,Alt+D + Alt+L,Alt+D + + + History Current File + 現在のファイルの履歴 + + + &History "%1" + "%1" の履歴(&H) + + + Meta+L,Meta+H + Meta+L,Meta+H + + + Alt+L,Alt+H + Alt+L,Alt+H + + + &Annotate "%1" + "%1" のアノテーション(&A) + + + Meta+L,Meta+A + Meta+L,Meta+A + + + Alt+L,Alt+A + Alt+L,Alt+A + + + Add File... + ファイルを追加... + + + Add File "%1" + ファイル "%1" を追加 + + + Diff A&ctivity... + アクティビティの差分表示(&C)... + + + Ch&eck In Activity + アクティビティをチェックイン(&E) + + + Chec&k In Activity "%1"... + アクティビティ "%1" をチェックイン(&K)... + + + Update Index + インデックス更新 + + + Update View + ビュー更新 + + + U&pdate View "%1" + ビュー "%1" 更新(&P) + + + Check In All &Files... + すべてのファイルをチェックイン(&F)... + + + Meta+L,Meta+F + Meta+L,Meta+F + + + Alt+L,Alt+F + Alt+L,Alt+F + + + View &Status + ステータス更新(&S) + + + Meta+L,Meta+S + Meta+L,Meta+S + + + Alt+L,Alt+S + Alt+L,Alt+S + + + Check In + チェックイン + + + Do you want to undo the check out of "%1"? + "%1" のチェックアウトを元に戻しますか? + + + Undo Hijack File + ハイジャックファイルを元に戻す + + + Do you want to undo hijack of "%1"? + "%1" のハイジャックを元に戻しますか? + + + External diff is required to compare multiple files. + 外部 diff ツールは、複数のファイルを比較できる必要があります。 + + + Enter Activity + アクティビティに入る + + + Activity Name + アクティビティ名 + + + Check In Activity + アクティビティをチェックイン + + + Another check in is currently being executed. + 別のチェックインが実行中です。 + + + There are no modified files. + 変更されたファイルはありません。 + + + No ClearCase executable specified. + 実行可能な ClearCase が指定されていません。 + + + ClearCase Checkout + ClearCase チェックアウト + + + File is already checked out. + ファイルは、既にチェックアウトされています。 + + + Set current activity failed: %1 + アクティビティ設定失敗: %1 + + + Enter &comment: + コメントを入力(&C): + + + ClearCase Add File %1 + ClearCase ファイル %1 を追加 + + + ClearCase Remove Element %1 + ClearCase 要素 %1 を削除 + + + This operation is irreversible. Are you sure? + この操作は元に戻せませんが、よろしいですか? + + + ClearCase Remove File %1 + ClearCase ファイル %1 を削除 + + + ClearCase Rename File %1 -> %2 + ClearCase ファイル名変更 %1 -> %2 + + + Activity Headline + アクティビティ ヘッドライン + + + Enter activity headline + アクティビティ ヘッドラインに入る + + + Updating ClearCase Index + ClearCase インデックスの更新中 + + + Check &Out + チェックアウト(&O) + + + &Hijack + ハイジャック(&H) + + + + CMakeProjectManager::CMakeBuildConfiguration + + Changing Build Directory + ビルドディレクトリの変更 + + + Change the build directory and start with a basic CMake configuration? + ビルドディレクトリを変更して、基本的な CMake の設定から始めますか? + + + The CMake flag for the development team + 開発チームの CMake フラグ + + + The CMake flag for the provisioning profile + プロビジョニングプロファイルの CMake フラグ + + + Minimum Size Release + 最小サイズリリース + + + Release with Debug Information + デバッグ情報付きリリース + + + + CMakeProjectManager::CMakeConfigItem + + Failed to open %1 for reading. + 読み込み用に %1 を開くのに失敗しました。 + + + + CMakeProjectManager::Internal::CMakeKitAspect + + <No CMake Tool available> + <CMake ツールが見つかりません> + + + + CMakeProjectManager::CMakeKitAspect + + The CMake Tool to use when building a project with CMake.<br>This setting is ignored when using other build systems. + CMake ツールはプロジェクトを CMake でビルドする際に使用します。<br>他のビルドシステム使用時には無視されます。 + + + CMake + CMake + + + Unconfigured + 未設定 + + + Path to the cmake executable + cmake 実行ファイルへのパス + + + + CMakeProjectManager::Internal::CMakeGeneratorKitAspect + + Change... + 変更... + + + CMake Generator + CMake ジェネレータ + + + + CMakeProjectManager::CMakeGeneratorKitAspect + + CMake generator defines how a project is built when using CMake.<br>This setting is ignored when using other build systems. + CMake ジェネレータは CMake 使用時のプロジェクトビルド方法を定義します。<br>他のビルドシステム使用時には無視されます。 + + + CMake Tool is unconfigured, CMake generator will be ignored. + CMake ツールが設定されていないため、CMake ジェネレータは無視されます。 + + + CMake Tool does not support the configured generator. + CMake ツールがジェネレータに対応していません。 + + + <Use Default Generator> + <既定のジェネレータを使用> + + + CMake Generator + CMake ジェネレータ + + + + CMakeProjectManager::Internal::CMakeConfigurationKitAspect + + Change... + 変更... + + + Edit CMake Configuration + CMake 設定の編集 + + + Enter one variable per line with the variable name separated from the variable value by "=".<br>You may provide a type hint by adding ":TYPE" before the "=". + 一行に付き一つの変数をその名と値を "=" で繋ぐ形式で入力してください。<br>"=" の前に ":TYPE" 形式で型のヒントを指定できます。 + + + + CMakeProjectManager::CMakeConfigurationKitAspect + + CMake Configuration + CMake 設定 + + + Default configuration passed to CMake when setting up a project. + プロジェクト設定時に既定の設定が CMake に渡されます。 + + + CMake configuration has no path to qmake binary set, even though the kit has a valid Qt version. + キットに有効な Qt が存在するにもかかわらず、CMake の設定に qmake へのパスが見つかりません。 + + + CMake configuration has a path to a qmake binary set, even though the kit has no valid Qt version. + キットに有効な Qt が存在しないにもかかわらず、CMake の設定に qmake へのパスが存在します。 + + + CMake configuration has no path to a C++ compiler set, even though the kit has a valid tool chain. + キットに有効なツールチェインが存在するにもかかわらず、CMake の設定に C++ コンパイラへのパスが見つかりません。 + + + CMake configuration has a path to a C++ compiler set, even though the kit has no valid tool chain. + キットに有効なツールチェインが存在しないにもかかわらず、CMake の設定に C++ コンパイラへのパスが存在します。 + + + + CMakeProjectManager::Internal::BuildCMakeTargetLocatorFilter + + Build CMake target + CMake ターゲットをビルド + + + + CMakeProjectManager::Internal::CMakeProcess + + Configuring "%1" + "%1" の設定中 + + + + CMakeProjectManager::Internal::CMakeProjectPlugin + + Build + ビルド + + + Build "%1" + "%1" のビルド + + + CMake + SnippetProvider + CMake + + + + CMakeProjectManager::Internal::CMakeSpecificSettingWidget + + CMake + CMake + + + + ConanPackageManager::Internal::ConanInstallStep + + Additional arguments: + 追加の引数: + + + + Core::CodecSelector + + Text Encoding + 文字コードの指定 + + + The following encodings are likely to fit: + 以下のエンコードが適している可能性があります: + + + Select encoding for "%1".%2 + "%1" の文字コードを選択してください。%2 + + + Reload with Encoding + 指定された文字コードで再読込 + + + Save with Encoding + 指定された文字コードで保存 + + + + Core::ExternalToolConfig + + Uncategorized + 未分類 + + + Tools that will appear directly under the External Tools menu. + ツールは外部ツールメニューの直下に表示されます。 + + + New Category + 新しいカテゴリ + + + New Tool + 新しいツール + + + This tool prints a line of useful text + このツールはテキストを1行を出力します + + + Useful text + Sample external tool text + テキスト + + + Add Tool + ツールを追加 + + + Add Category + カテゴリを追加 + + + PATH=C:\dev\bin;${PATH} + PATH=C:\dev\bin;${PATH} + + + PATH=/opt/bin:${PATH} + PATH=/opt/bin:${PATH} + + + No changes to apply. + 変更しません。 + + + External Tools + 外部ツール + + + + ExternalTool + + System Environment + システム環境変数 + + + + Core::RestartDialog + + Restart Required + 再起動が必要です + + + + Core::Internal::ShortcutInput + + Key sequence: + キーシーケンス: + + + Use "Cmd", "Opt", "Ctrl", and "Shift" for modifier keys. Use "Escape", "Backspace", "Delete", "Insert", "Home", and so on, for special keys. Combine individual keys with "+", and combine multiple shortcuts to a shortcut sequence with ",". For example, if the user must hold the Ctrl and Shift modifier keys while pressing Escape, and then release and press A, enter "Ctrl+Shift+Escape,A". + 修飾キーには "Cmd" や "Opt", "Ctrl", "Shift" を使用してください。特殊キーとして "Escape" や "Backspace", "Delete", "Insert", "Home" なども使用できます。各キーを組み合わせる場合は "+" を、複数のシーケンスで構成されるショートカットは "," を使用してください。例えば、Ctrl キーと Shift キーを押しながら Escape キーを押して、それらを離した後に A キーを押す場合は "Ctrl+Shift+Escape,A" と入力してください。 + + + Use "Ctrl", "Alt", "Meta", and "Shift" for modifier keys. Use "Escape", "Backspace", "Delete", "Insert", "Home", and so on, for special keys. Combine individual keys with "+", and combine multiple shortcuts to a shortcut sequence with ",". For example, if the user must hold the Ctrl and Shift modifier keys while pressing Escape, and then release and press A, enter "Ctrl+Shift+Escape,A". + 修飾キーには "Ctrl" や "Alt", "Meta", "Shift" を使用してください。特殊キーとして "Escape" や "Backspace", "Delete", "Insert", "Home" なども使用できます。各キーを組み合わせる場合は "+" を、複数のシーケンスで構成されるショートカットは "," を使用してください。例えば、Ctrl キーと Shift キーを押しながら Escape キーを押して、それらを離した後に A キーを押す場合は "Ctrl+Shift+Escape,A" と入力してください。 + + + Enter key sequence as text + キーシーケンスを文字列で入力してください + + + + Core::Internal::DocumentManagerPrivate + + Ctrl+Shift+S + Ctrl+Shift+S + + + Save A&ll + すべて保存(&L) + + + + OpenEditorsWidget + + Open Documents + 開いているドキュメント + + + Meta+O + Meta+O + + + Alt+O + Alt+O + + + + EditorManager + + Revert to Saved + 保存時の状態に戻す + + + Close + 閉じる + + + Close All + すべて閉じる + + + Close Others + 他を閉じる + + + Close All Except Visible + 表示されていないファイルをすべて閉じる + + + Next Open Document in History + 履歴内の次のドキュメントに移動 + + + Previous Open Document in History + 履歴内の前のドキュメントに移動 + + + Go Back + 戻る + + + Go Forward + 進む + + + Copy Full Path + フルパスをコピー + + + Copy Path and Line Number + パスと行番号をコピー + + + Copy File Name + ファイル名をコピー + + + &Save + 保存(&S) + + + Save &As... + 名前を付けて保存(&A)... + + + Continue Opening Huge Text File? + 巨大なテキストファイルを引き続き開きますか? + + + The text file "%1" has the size %2MB and might take more memory to open and process than available. + +Continue? + テキストファイル "%1" のサイズは %2MB あり、開いて処理するのに余分にメモリを必要とします。 + +継続しますか? + + + File Error + ファイルエラー + + + Split + 上下に分割 + + + Split Side by Side + 左右に分割 + + + Open in New Window + 新規ウィンドウで開く + + + Close Document + ドキュメントを閉じる + + + + Core::ICore + + (%1) + (%1) + + + %1 %2%3 + %1 %2%3 + + + Based on Qt %1 (%2, %3 bit) + Qt %1 (%2, %3 ビット) を使用 + + + + Core::DirectoryFilter + + Generic Directory Filter + 一般的なディレクトリフィルタ + + + Select Directory + ディレクトリの選択 + + + %1 filter update: 0 files + フィルタ %1 の更新: 0 個のファイル + + + %1 filter update: %n files + + フィルタ %1 の更新: %n 個のファイル + + + + %1 filter update: canceled + フィルタ %1 の更新: キャンセルしました + + + + Core::UrlLocatorFilter + + Web Search + Web 検索 + + + + Core::LocatorManager + + <type here> + <入力してください> + + + + Core::IOutputPane + + Use Regular Expressions + 正規表現を使用する + + + + Core::Internal::PluginInstallWizard + + Source + ソース + + + Cancel + キャンセル + + + Summary + 概要 + + + Overwrite + 上書きする + + + + Core::Internal::SystemSettingsWidget + + Command line arguments used for "%1". + "%1" に使用するコマンドライン引数。 + + + Command used for reverting diff chunks. + 差分チャンクを元に戻す際に使用するコマンドです。 + + + Automatically creates temporary copies of modified files. If %1 is restarted after a crash or power failure, it asks whether to recover the auto-saved content. + 変更されたファイルの一時的なコピーを自動的に作成します。%1 がクラッシュや電源断などから復帰した際に、自動保存した内容を復元するかどうかを確認します。 + + + Crash Reporting + クラッシュレポート + + + The change will take effect after restart. + 変更は Qt Creator を再起動した後に反映されます。 + + + Case Sensitive (Default) + 大文字小文字を区別する (既定) + + + Case Sensitive + 大文字小文字を区別する + + + Case Insensitive (Default) + 大文字小文字を区別しない (既定) + + + Case Insensitive + 大文字小文字を区別しない + + + No changes to apply. + 変更しません。 + + + Variables + 変数 + + + System + システム + + + + Core::ListItemDelegate + + Tags: + タグ: + + + + Cppcheck::Internal::DiagnosticsModel + + Diagnostic + 診断 + + + + CppcheckOptionsPage + + Warnings + 警告 + + + Style + スタイル + + + Performance + 性能 + + + Ignored file patterns: + 無視するファイルパターン: + + + + Cppcheck::Internal::CppcheckPlugin + + Clear + クリア + + + + CppEditor::Internal::CppIncludeHierarchyWidget + + No include hierarchy available + インクルード階層は利用できません + + + Synchronize with Editor + エディタと同期 + + + + CppEditor::Internal::MinimizableInfoBars + + Minimize + 最小化 + + + + CppEditor::CppQuickFixFactory + + Create Getter and Setter Member Functions + ゲッター及びセッターメンバ関数を作成する + + + Convert to Stack Variable + スタック変数に変換 + + + Convert to Pointer + ポインタに変換 + + + Base Class Constructors + ベースクラスのコンストラクタ + + + + GenerateGettersSettersDialog + + Signal + シグナル + + + Reset + リセット + + + + CppEditor::Internal::ConstructorParams + + Initialize in Constructor + コンストラクタでの初期化 + + + Member Name + メンバー名 + + + Parameter Name + パラメータ名 + + + Default Value + デフォルト値 + + + + GenerateConstructorDialog + + Access + アクセス + + + + CppTypeHierarchyTreeView + + Open in Editor + エディタで開く + + + Open Type Hierarchy + 型階層を開く + + + Expand All + すべて展開 + + + Collapse All + すべて折りたたむ + + + + CppTools::ConfigsModel + + Built-in + ビルトイン + + + Custom + カスタム + + + + CppTools::Internal::CppCodeModelSettingsWidget + + Code Model + コードモデル + + + + CppTools::OverviewModel + + <Select Symbol> + <シンボルの選択> + + + <No Symbols> + <シンボルなし> + + + + CtfVisualizer::Internal::CtfStatisticsModel + + Title + タイトル + + + Count + カウント + + + Total Time + 合計時間 + + + + CtfVisualizer::Internal::CtfTimelineModel + + Value + + + + Start + 開始 + + + Arguments + 引数 + + + + CtfVisualizer::Internal::CtfVisualizerTool + + Timeline + タイムライン + + + Reset Zoom + 縮尺を戻す + + + Statistics + 統計 + + + + BreakHandler + + Breakpoint + ブレークポイント + + + + Debugger::Internal::BreakpointManager + + Function + 関数 + + + File + ファイル + + + Line + 行番号 + + + Address + アドレス + + + Condition + 条件 + + + Ignore + 無視 + + + Threads + スレッド + + + Add Breakpoint + ブレークポイントを追加 + + + Add Breakpoint... + ブレークポイントを追加... + + + Delete Selected Breakpoints + 選択したブレークポイントを削除する + + + Edit Selected Breakpoints... + 選択したブレークポイントを編集する... + + + Disable Selected Breakpoints + 選択したブレークポイントの無効化 + + + Enable Selected Breakpoints + 選択したブレークポイントの有効化 + + + Disable Breakpoint + ブレークポイントの無効化 + + + Enable Breakpoint + ブレークポイントの有効化 + + + Delete All Breakpoints + すべてのブレークポイントを削除する + + + Delete Breakpoints of "%1" + "%1" のブレークポイントを削除する + + + Delete Breakpoints of File + ファイル内のブレークポイントを削除する + + + Remove All Breakpoints + すべてのブレークポイントを削除する + + + Are you sure you want to remove all breakpoints from all files in the current session? + 現在のセッションのすべてのファイルからすべてのブレークポイントを本当に削除しますか? + + + + Debugger::DebuggerKitAspect + + Type of Debugger Backend + デバッガバックエンドの種類 + + + Debugger + デバッガ + + + Unknown debugger version + 未知なデバッガバージョン + + + Unknown debugger ABI + 未知なデバッガ ABI + + + None + しない + + + The debugger to use for this kit. + このキットで使用するデバッガです。 + + + No debugger set up. + デバッガが設定されていません。 + + + Debugger "%1" not found. + デバッガ "%1" が見つかりませんでした。 + + + Debugger "%1" not executable. + デバッガ "%1" は実行可能ではありません。 + + + The debugger location must be given as an absolute path (%1). + デバッガのパスは絶対パスを指定する必要があります (%1)。 + + + The ABI of the selected debugger does not match the toolchain ABI. + 選択したデバッガの ABI がツールチェインの ABI と合致しません。 + + + Name of Debugger + デバッガの名前 + + + Unknown debugger + 未知のデバッガ + + + Unknown debugger type + 不明なデバッガ種類 + + + No Debugger + デバッガなし + + + %1 Engine + %1 エンジン + + + %1 <None> + %1 <なし> + + + %1 using "%2" + %1 ("%2" を使用) + + + + DeviceProcessesDialog + + &Attach to Process + プロセスにアタッチ(&A) + + + + Debugger::Internal::LocalProcessRunner + + The upload process failed to start. Shell missing? + アップロードプロセスの開始に失敗しました。シェルが失われていませんか? + + + The upload process crashed some time after starting successfully. + アップロードプロセス起動が成功した後に、クラッシュしました。 + + + The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again. + 直前の waitFor...() 関数はタイムアウトしました。QProcess の状態に変化がないため、再度 waitFor...() を呼び出せます。 + + + An error occurred when attempting to write to the upload process. For example, the process may not be running, or it may have closed its input channel. + アップロードプロセスへの書き込み時にエラーが発生しました。プロセスが動作していないか、入力チャネルが閉じられている可能性があります。 + + + An error occurred when attempting to read from the upload process. For example, the process may not be running. + アップロードプロセスからの読み込み時にエラーが発生しました。アップロードプロセスが動作していない可能性があります。 + + + An unknown error in the upload process occurred. This is the default return value of error(). + アップロードプロセスで不明なエラーが発生しました。error() の既定の返り値です。 + + + Error + エラー + + + + Debugger::DebuggerRunTool + + Cannot debug: Local executable is not set. + デバッグエラー: ローカル実行ファイルが設定されていません。 + + + No executable specified. + 実行ファイルが指定されていません。 + + + Debugged executable + デバッグする実行ファイル + + + Unsupported CDB host system. + サポート対象外の CDB ホストシステムです。 + + + Debugger + デバッガ + + + &Show this message again. + このメッセージを再び表示する(&S)。 + + + Debugging starts + デバッグを開始 + + + Starting debugger "%1" for ABI "%2"... + ABI "%2" のデバッガ "%1" を開始しています... + + + Debugging has finished + デバッグが終了しました + + + Close Debugging Session + デバッグセッションを閉じる + + + A debugging session is still in progress. Terminating the session in the current state can leave the target in an inconsistent state. Would you still like to terminate it? + デバッグセッションは、まだ実行中です。終了しようとしているセッションの状態で、終了すると不整合状態になる可能性があります。それでもデバッグセッションを終了しますか? + + + + Debugger::Internal::EngineManager + + Create Snapshot + スナップショットを作成 + + + + Debuggger::Internal::ModulesHandler + + Unknown + 不明 + + + Yes + はい + + + Plain + プレーン + + + Fast + 高速 + + + debuglnk + debuglnk + + + buildid + buildid + + + It is unknown whether this module contains debug information. +Use "Examine Symbols" from the context menu to initiate a check. + このモジュールにデバッグ情報が含まれているかは不明です。 +コンテキストメニューから "すべてのモジュールを調査" を実行して確認してください。 + + + This module neither contains nor references debug information. +Stepping into the module or setting breakpoints by file and line will not work. + このモジュールにはデバッグ情報が含まれていません。 +ステップ実行や、ファイルと行番号によるブレークポイントの設定は正しく動作しないでしょう。 + + + This module contains debug information. +Stepping into the module or setting breakpoints by file and line is expected to work. + このモジュールにはデバッグ情報が含まれています。 +ステップ実行や、ファイルと行番号によるブレークポイントの設定も期待通りに動作します。 + + + This module does not contain debug information itself, but contains a reference to external debug information. + このモジュール自体にはデバッグ情報が含まれていませんが、外部のデバッグ情報への参照が含まれています。 + + + <unknown> + address + End address of loaded module + <不明> + + + Update Module List + モジュールリストを更新 + + + Show Source Files for Module "%1" + モジュール "%1" のソースファイルを表示 + + + Show Dependencies of "%1" + "%1" の依存関係を表示 + + + Show Dependencies + 依存関係を表示 + + + Load Symbols for All Modules + すべてのモジュールのシンボルの読込 + + + Examine All Modules + すべてのモジュールを調査 + + + Load Symbols for Module "%1" + モジュール "%1" のシンボルの読込 + + + Load Symbols for Module + モジュールのシンボルの読込 + + + Edit File "%1" + ファイル "%1" を編集 + + + Edit File + ファイルを編集 + + + Show Symbols in File "%1" + ファイル "%1" のシンボルを表示する + + + Show Symbols + シンボルを表示 + + + Show Sections in File "%1" + ファイル "%1" のセクションを表示する + + + Show Sections + セクションを表示 + + + + Debugger::Internal::PeripheralRegisterHandler + + N/A + N/A + + + Name + 名前 + + + Value + + + + Access + アクセス + + + Format + フォーマット + + + Hexadecimal + 16進数 + + + Decimal + 10進数 + + + Octal + 8進数 + + + Binary + 2進数 + + + + Debugger::Internal::UvscClient + + %1.%2 + %1.%2 + + + Unknown error. + 不明なエラーです。 + + + + Debugger::Internal::UvscEngine + + Application started. + アプリケーションが起動しました。 + + + Setting breakpoints... + ブレークポイントの設定... + + + Failed to Shut Down Application + アプリケーションの終了に失敗しました + + + Running requested... + 実行しようとしています... + + + Execution Error + 実行エラー + + + + DiffEditor::Internal::DiffCurrentFileController + + Modified + 変更 + + + + DiffEditor::Internal::DiffOpenFilesController + + Modified + 変更 + + + + DiffEditor::Internal::DiffModifiedFilesController + + Modified + 変更 + + + + DiffEditor::Internal::DiffEditorWidgetController + + Revert Chunk + チャンクを元に戻す + + + Apply Chunk + チャンクの適用 + + + Would you like to revert the chunk? + チャンクを元に戻しますか? + + + Would you like to apply the chunk? + チャンクを適用しますか? + + + Send Chunk to CodePaster... + CodePaster にチャンクを送る... + + + Apply Chunk... + チャンクの適用... + + + Revert Chunk... + チャンクを元に戻す... + + + Select Encoding + 文字コードの選択 + + + + GenericProjectManager::Internal::GenericBuildConfiguration + + Generic Manager + 一般マネージャ + + + + Git::Internal::BranchView + + Refresh + 更新 + + + Include branches and tags that have not been active for %n days. + + 直近の %n 日にアクティブではないブランチやタグを含みます。 + + + + <No repository> + <リポジトリなし> + + + &Add... + 追加(&A)... + + + &Checkout + チェックアウト(&C) + + + &Diff + 差分表示(&D) + + + &Log + ログ表示(&L) + + + &Hard + ハード(&H) + + + &Mixed + 混在(&M) + + + &Soft + ソフト(&S) + + + Cherry &Pick + チェリーピック(&P) + + + &Track + トラック(&T) + + + &Push + プッシュ(&P) + + + Would you like to delete the tag "%1"? + タグ "%1" を削除しますか? + + + Would you like to delete the branch "%1"? + ブランチ "%1" を削除しますか? + + + Would you like to delete the <b>unmerged</b> branch "%1"? + <b>マージされていない</b>ブランチ ”%1" を削除しますか? + + + Delete Tag + タグを削除 + + + Delete Branch + ブランチを削除する + + + Git Reset + Git リセット + + + + Git::Internal::BranchViewFactory + + Filter + フィルタ + + + + Git::Internal::GitBaseDiffEditorController + + <None> + <なし> + + + + Git::Internal::BaseGitLogArgumentsWidget + + Show difference. + 差分を表示します。 + + + Filter + フィルタ + + + + Git::Internal::GitLogFilterWidget + + Filter: + フィルタ: + + + + Git::Internal::GitPluginPrivate + + &Describe Change %1 + 変更 %1 の説明(&D) + + + Git Settings + Git の設定 + + + &Git + &Git + + + Current &File + 現在のファイル(&F) + + + Diff of "%1" + Avoid translating "Diff" + "%1" の差分表示 (Diff) + + + Meta+G,Meta+D + Meta+G,Meta+D + + + Alt+G,Alt+D + Alt+G,Alt+D + + + Log of "%1" + Avoid translating "Log" + "%1" のログ (Log) + + + Meta+G,Meta+L + Meta+G,Meta+L + + + Alt+G,Alt+L + Alt+G,Alt+L + + + Blame Current File + Avoid translating "Blame" + 現在のファイルの編集者を表示 (Blame) + + + Blame for "%1" + Avoid translating "Blame" + "%1" の編集者を表示 (Blame) + + + Meta+G,Meta+B + Meta+G,Meta+B + + + Alt+G,Alt+B + Alt+G,Alt+B + + + Stage File for Commit + ファイルをステージ(コミット予定)に追加 (Add) + + + Stage "%1" for Commit + "%1" をステージ(コミット予定)に追加 (Add) + + + Meta+G,Meta+A + Meta+G,Meta+A + + + Alt+G,Alt+A + Alt+G,Alt+A + + + Unstage File from Commit + ファイルをステージ(コミット予定)から削除 (Reset) + + + Unstage "%1" from Commit + "%1" をステージ(コミット予定)から削除 (Reset) + + + Undo Unstaged Changes + ステージに無い変更を元に戻す + + + Undo Unstaged Changes for "%1" + "%1" のステージに無い変更を元に戻す + + + Undo Uncommitted Changes + コミットされていない変更を元に戻す + + + Undo Uncommitted Changes for "%1" + "%1" のコミットされていない変更を元に戻す + + + Meta+G,Meta+U + Meta+G,Meta+U + + + Alt+G,Alt+U + Alt+G,Alt+U + + + Current &Project + 現在のプロジェクト(&P) + + + Diff Current Project + Avoid translating "Diff" + 現在のプロジェクトの差分表示 (Diff) + + + Meta+G,Meta+Shift+D + Meta+G,Meta+Shift+D + + + Alt+G,Alt+Shift+D + Alt+G,Alt+Shift+D + + + Meta+G,Meta+K + Meta+G,Meta+K + + + Alt+G,Alt+K + Alt+G,Alt+K + + + Clean Project... + Avoid translating "Clean" + プロジェクトをクリーン (Clean)... + + + Clean Project "%1"... + Avoid translating "Clean" + プロジェクト "%1" をクリーン (Clean)... + + + &Local Repository + ローカルリポジトリ(&L) + + + Meta+G,Meta+C + Meta+G,Meta+C + + + Alt+G,Alt+C + Alt+G,Alt+C + + + Amend Last Commit... + Avoid translating "Commit" + 最終コミットログを修正... + + + Fixup Previous Commit... + Avoid translating "Commit" + 直前のコミットを修正... + + + Interactive Rebase... + Avoid translating "Rebase" + 対話的なリベース (Rebase)... + + + Update Submodules + サブモジュールを更新 + + + Abort Merge + Avoid translating "Merge" + マージの中止 + + + Abort Rebase + Avoid translating "Rebase" + リベースの中止 + + + Abort Cherry Pick + Avoid translating "Cherry Pick" + チェリーピックの中止 + + + Abort Revert + Avoid translating "Revert" + コミット打ち消しの中止 + + + Continue Rebase + リベースの続行 + + + Continue Cherry Pick + チェリーピックの続行 + + + Continue Revert + コミットの打ち消しの続行 + + + Branches... + ブランチ (Branch)... + + + &Patch + パッチ(&P) + + + Apply from Editor + エディタから適用 + + + Apply "%1" + "%1" の適用 + + + Apply from File... + ファイルから適用... + + + &Stash + スタッシュ (&Stash) + + + Saves the current state of your work and resets the repository. + 現在の状態を保持し、リポジトリを元の状態に戻します。 + + + Stash Unstaged Files + Avoid translating "Stash" + ステージにないファイルをスタッシュ (Stash) + + + Saves the current state of your unstaged files and resets the repository to its staged state. + ステージにないファイルの現在の状態を保存してリポジトリをステージ状態にリセットします。 + + + Take Snapshot... + スナップショットを取る... + + + Saves the current state of your work. + 現在の作業状況を保存します。 + + + Stash Pop + Avoid translating "Stash" + スタッシュのポップ (Stash Pop) + + + Restores changes saved to the stash list using "Stash". + "スタッシュ (Stash)"で保存させた作業状況を復元します。 + + + &Remote Repository + リモートリポジトリ(&R) + + + &Subversion + &Subversion + + + Manage Remotes... + リモートの管理... + + + Git &Tools + Git ツール(&T) + + + Gitk Current File + 現在のファイルを Gitk で表示する + + + Gitk of "%1" + "%1" を Gitk で表示する + + + Gitk for folder of Current File + 現在のファイルのフォルダーを Gitk で表示する + + + Gitk for folder of "%1" + "%1" のフォルダーを Gitk で表示する + + + Git Gui + Git GUI + + + Repository Browser + リポジトリブラウザ + + + Merge Tool + マージツール + + + Actions on Commits... + コミット時のアクション... + + + Create Repository... + リポジトリの作成... + + + Undo Changes to %1 + コミット %1 まで元に戻す + + + Interactive Rebase + 対話的なリベース + + + Another submit is currently being executed. + 別のサブミットが実行中です。 + + + Unsupported version of Git found. Git %1 or later required. + サポート対象外のバージョンの Git が見つかりました。Git %1 以降が必要です。 + + + Amend %1 + %1 のログを修正する + + + Git Fixup Commit + Git コミットの Fixup + + + Git Commit + Git コミット + + + Repository Clean + リポジトリをクリーン + + + The repository is clean. + リポジトリは変更されていません。 + + + Patches (*.patch *.diff) + パッチ (*.patch *.diff) + + + Choose Patch + パッチの選択 + + + Patch %1 successfully applied to %2 + パッチ %1 を %2 に適用しました + + + + Help::DocSettingsPageWidget + + %1 (auto-detected) + %1 (自動検出) + + + Add Documentation + ドキュメントの追加 + + + Qt Help Files (*.qch) + Qt ヘルプファイル (*.qch) + + + Invalid documentation file: + 無効なドキュメントファイル: + + + Namespace already registered: + 名前空間は既に登録済み: + + + Unable to register documentation. + ドキュメントの登録ができませんでした。 + + + Documentation + ドキュメント + + + + Help::HelpViewer + + Zoom: %1% + 拡大率: %1% + + + + Imageviewer::Internal::ImageViewerPlugin + + Fit to Screen + 画面内に収める + + + Ctrl+= + Ctrl+= + + + Switch Background + バックグラウンド切替 + + + Ctrl+[ + Ctrl+[ + + + Switch Outline + 外枠表示切替 + + + Ctrl+] + Ctrl+] + + + Toggle Animation + アニメーションの切替 + + + Export Image + 画像のエクスポート + + + + ImageViewer::Internal::MultiExportDialog + + File: + ファイル: + + + Clear + クリア + + + + IncrediBuild::Internal::BuildConsoleBuildStep + + Miscellaneous + その他 + + + + IncrediBuild::Internal::CMakeCommandBuilder + + CMake + CMake + + + + IncrediBuild::Internal::CommandBuilderAspect + + Make arguments: + Make の引数: + + + + IncrediBuild::Internal::MakeCommandBuilder + + Make + Make + + + + Ios::Internal::IosQmakeBuildConfiguration + + iOS Settings + iOS の設定 + + + Reset + リセット + + + Automatically manage signing + 署名を自動的に管理する + + + Development team: + 開発チーム: + + + Provisioning profile: + プロビジョニングプロファイル: + + + Default + 既定 + + + None + なし + + + Development team is not selected. + 開発チームが選択されていません。 + + + Provisioning profile is not selected. + プロビジョニングプロファイルが選択されていません。 + + + Using default development team and provisioning profile. + デフォルトの開発チームとプロビジョニングプロファイルを使用。 + + + Development team: %1 (%2) + 開発チーム: %1 (%2) + + + Settings defined here override the QMake environment. + ここで定義された設定は、QMake の環境を上書きします。 + + + %1 not configured. Use Xcode and Apple developer account to configure the provisioning profiles and teams. + %1 が構成されていません。Xcode と Apple 開発者アカウントを使用して、プロビジョニングプロファイルとチームを構成してください。 + + + Development teams + 開発チーム + + + Provisioning profiles + プロビジョニングプロファイル + + + No provisioning profile found for the selected team. + 選択したチームのプロビジョニングプロファイルが見つかりませんでした。 + + + Provisioning profile expired. Expiration date: %1 + プロビジョニング・プロファイルの有効期限が切れています。有効期限: %1 + + + + DevelopmentTeam + + Yes + はい + + + + Ios::Internal::IosDsymBuildStep + + Command: + コマンド: + + + Arguments: + 引数: + + + Reset to Default + 既定に戻す + + + + Ios::Internal + + Deploy on iOS + iOS にデプロイ + + + + Ios::Internal::IosRunSupport + + Starting remote process. + リモートプロセスを起動します。 + + + + LanguageClient::DiagnosticManager + + Copy to Clipboard + クリップボードにコピーする + + + + LanguageClient::LanguageClientPlugin + + Generic StdIO Language Server + 汎用 StdIO 言語サーバー + + + + LanguageClientSettingsPage + + &Add + 追加(&A) + + + New %1 + 新しい %1 + + + General + 一般 + + + + LanguageClient::BaseSettingsWidget + + Name + 名前 + + + Value + + + + Name: + 名前: + + + Language: + 言語: + + + + MimeTypeDialog + + Filter + フィルタ + + + + LanguageClient::StdIOSettingsWidget + + Executable: + 実行ファイル: + + + Arguments: + 引数: + + + + LanguageClient::LspInspector + + Expand All + すべて展開 + + + Client Message + クライアントメッセージ + + + Messages + メッセージ + + + Server Message + サーバーメッセージ + + + Log File + ログファイル + + + + LspCapabilitiesWidget + + Capabilities: + ケイパビリティ: + + + Dynamic Capabilities: + ダイナミック ケイパビリティ: + + + Method: + メソッド: + + + Options: + オプション: + + + Server Capabilities + サーバー ケイパビリティ + + + + LspInspectorWidget + + Language Client Inspector + 言語クライアントインスペクター + + + Log + ログ + + + Capabilities + ケイパビリティ + + + + McuSupport::Internal::McuPackage + + Path %1 exists, but does not contain %2. + パス %1 は存在しますが、%2 を含んでいません。 + + + + McuSupport::Internal::McuSupportOptions + + Qt for MCUs Demos + Qt for MCUs のデモ + + + Qt for MCUs Examples + Qt for MCUs のサンプル + + + Path %1 exists, but does not contain %2. + パス %1 は存在しますが、%2 を含んでいません。 + + + Path %1 does not exist. Add the path in Tools > Options > Devices > MCU. + パス %1 が存在しません。「ツール」→「オプション」→「デバイス」→「MCU」でパスを追加してください。 + + + Missing %1. Add the path in Tools > Options > Devices > MCU. + %1が見当たりません。「ツール」→「オプション」→「デバイス」→「MCU」でパスを追加してください。 + + + No CMake tool was detected. Add a CMake tool in Tools > Options > Kits > CMake. + CMake ツールが検出されませんでした。「ツール」→「オプション」→「キット」→「 CMake 」で CMake ツールを追加してください。 + + + + McuSupport::Internal::McuTarget + + Warning for target %1: missing CMake Toolchain File expected at %2. + ターゲット %1 に対する警告: CMake Toolchain ファイルが %2 で見つかりませんでした。 + + + Warning for target %1: missing QulGenerators expected at %2. + ターゲット %1 に対する警告: QulGeneratorsが %2 で見つかりませんでした。 + + + Skipped %1 - Unsupported version "%2" (should be >= %3) + %1をスキップしました - サポート対象外のバージョン "%2" (%3 以上である必要があります) + + + No valid kit descriptions found at %1. + %1で有効なキットの説明が見つかりませんでした。 + + + Skipped creating fallback desktop kit: Could not find any of %1. + 予備のデスクトップ・キットの作成をスキップしました。%1 のいずれも見つかりませんでした。 + + + + QtForMCUs + + Qt for MCUs: %1 + Qt for MCUs: %1 + + + + McuSupport::Internal::McuSupportOptionsWidget + + Remove Kit + キットを削除する + + + No valid kit descriptions found at %1. + %1 で有効なキットの説明が見つかりませんでした。 + + + + MesonProjectManager::Internal::MesonActionsManager + + Configure + 設定する + + + Build + ビルド + + + Build "%1" + "%1" のビルド + + + + MesonProjectManager::Internal::BuidOptionsModel + + Value + + + + + MesonProjectManager::Internal::MesonProcess + + Process timed out. + プロセスがタイムアウトしました。 + + + Executable does not exist: %1 + 実行ファイル が存在しません: %1 + + + + MesonProjectManager::Internal::NinjaBuildStep + + Build + MesonProjectManager::MesonBuildStepConfigWidget display name. + ビルド + + + Tool arguments: + ツールの引数: + + + Targets: + ターゲット: + + + + MesonProjectManager::Internal::GeneralSettingsPage + + General + 一般 + + + + MesonProjectManager::Internal::MesonToolKitAspect + + Unconfigured + 未設定 + + + + MesonProjectManager::Internal::NinjaToolKitAspect + + Unconfigured + 未設定 + + + + MesonProjectManager::Internal::ToolsSettingsPage + + Name + 名前 + + + Location + パス + + + Auto-detected + 自動検出 + + + Manual + 手動 + + + Clone of %1 + %1 を複製 + + + + NimToolsSettingsPage + + Nim + Nim + + + + Nim::NimPlugin + + Nim + SnippetProvider + Nim + + + + Nim::NimbleBuildConfiguration + + General + 一般 + + + + Nim::NimBuildConfiguration + + General + 一般 + + + + Nim::NimCompilerBuildStep + + Nim build step + Nim ビルドステップ + + + Target: + ターゲット: + + + Default arguments: + デフォルト引数: + + + Extra arguments: + 追加引数: + + + Command: + コマンド: + + + Nim Compiler Build Step + Nim コンパイラビルドステップ + + + + Nim::NimRunConfiguration + + Current Build Target + 現在のビルドターゲット + + + + Nim::NimToolChain + + Nim + Nim + + + + Nim::NimToolChainConfigWidget + + &Compiler path: + コンパイラのパス(&C): + + + + Nim::CodeStyleSettings + + Nim + Nim + + + + Nim::ToolSettingsPage + + Nim + Nim + + + + Perforce::Internal::PerforceDiffConfig + + Ignore Whitespace + 空白を無視 + + + + PerfProfiler::Internal::PerfConfigEventsModel + + Result + 結果 + + + + PerfProfiler::Internal::PerfProfilerFlameGraphModel + + [unknown] + [不明] + + + + PerfProfilerStatisticsView + + Address + アドレス + + + Function + 関数 + + + Caller + 呼び出し元 + + + Callee + 呼び出し先 + + + Occurrences + 出現箇所 + + + + PerfProfiler::Internal::PerfProfilerTool + + Show Full Range + 全体を表示 + + + Timeline + タイムライン + + + Statistics + 統計 + + + Flame Graph + フレームグラフ + + + Reset Zoom + 縮尺を戻す + + + Copy Table + 表をコピー + + + Copy Row + 行をコピー + + + Reset Flame Graph + フレームグラフをリセットする + + + + PerfProfiler::Internal::PerfProfilerTraceManager + + Invalid + 無効 + + + Loading Trace Data + トレースデータの読込中 + + + Saving Trace Data + トレースデータの保存中 + + + + PerfProfiler::Internal::PerfTimelineModel + + [unknown] + [不明] + + + Details + 詳細 + + + Timestamp + タイムスタンプ + + + System + システム + + + Name + 名前 + + + Duration + 持続時間 + + + Binary + 2進数 + + + Address + アドレス + + + Source + ソース + + + + ProjectExplorer::Internal::AddRunConfigDialog + + Name + 名前 + + + Source + ソース + + + Create + 生成 + + + + ProjectExplorer::Internal::AppOutputSettingsPage + + Merge stderr and stdout + 標準エラー出力と標準出力をマージする + + + Never + 実行しない + + + Application Output + アプリケーション出力 + + + + ProjectExplorer::BuildDirectoryAspect + + Build directory: + ビルドディレクトリ: + + + Shadow build: + シャドウビルド: + + + + ProjectExplorer::Internal::BuildEnvironmentWidget + + Build Environment + ビルド時の環境変数 + + + Clear system environment + システム環境変数を非表示にする + + + + ProjectExplorer::Internal::BuildPropertiesSettingsPage + + Enable + 有効化 + + + Disable + 無効化 + + + Reset + リセット + + + Default build directory: + 既定のビルドディレクトリ: + + + + ProjectExplorer::BuildStepList + + Build + Display name of the build build step list. Used as part of the labels in the project window. + ビルド + + + Clean + Display name of the clean build step list. Used as part of the labels in the project window. + クリーン + + + Deploy + Display name of the deploy build step list. Used as part of the labels in the project window. + デプロイ + + + + ProjectExplorer::Internal::CompileOutputSettingsPage + + Compile Output + コンパイル出力 + + + + ProjectExplorer::Internal::CustomParsersSettingsPage + + Add... + 追加... + + + + ProjectExplorer::Internal::DeploymentDataView + + Local File Path + ローカルファイルのパス + + + Remote Directory + リモートディレクトリ + + + Files to deploy: + デプロイするファイル: + + + + ProjectExplorer::Internal::DesktopRunConfiguration + + Qt Run Configuration + Qt 実行構成 + + + + ProjectExplorer::PortsGatherer + + Checking available ports... + 使用可能なポートを確認中... + + + + ProjectExplorer::Internal::SshSettingsWidget + + SSH + SSH + + + + EnvironmentWidget + + Add... + 追加... + + + Edit... + 編集... + + + Choose Directory + ディレクトリを選択してください + + + + ProjectExplorer::Internal::FilterKitAspectsDialog + + Setting + 設定 + + + Visible + 可視性 + + + + ProjectExplorer::ClangToolChain + + Clang + Clang + + + + ProjectExplorer::MingwToolChain + + MinGW + MinGW + + + + ProjectExplorer::LinuxIccToolChain + + ICC + ICC + + + + ProjectExplorer::SysRootKitAspect + + The root directory of the system image to use.<br>Leave empty when building for the desktop. + システムイメージが使用するルートディレクトリ。<br>デスクトップ用ビルドの場合は空のままにしてください。 + + + Sys Root "%1" does not exist in the file system. + ファイルシステム上に Sys Root "%1" が存在しません。 + + + Sys Root "%1" is not a directory. + Sys Root "%1" はディレクトリではありません。 + + + Sys Root "%1" is empty. + Sys Root "%1" が空です。 + + + Sys Root + Sys Root + + + + ProjectExplorer::ToolChainKitAspect + + <No compiler> + <コンパイラなし> + + + Compiler + コンパイラ + + + The compiler to use for building.<br>Make sure the compiler will produce binaries compatible with the target device, Qt version and other libraries used. + 選択したコンパイラがビルド時に使用されます。<br>コンパイラが対象となるデバイスや選択したバージョンの Qt、その他の使用しているライブラリとバイナリ互換があることを確認してください。 + + + Path to the compiler executable + コンパイラの実行ファイルのパス + + + No compiler set in kit. + キットにコンパイラが設定されていません。 + + + + ProjectExplorer::DeviceTypeKitAspect + + Device type + デバイス種類 + + + The type of device to run applications on. + アプリケーションを実行するデバイスの種類です。 + + + Unknown device type + 不明なデバイス種類 + + + + ProjectExplorer::DeviceKitAspect + + Device + デバイス + + + The device to run the applications on. + アプリケーションを実行するデバイスです。 + + + No device set. + デバイスが設定されていません。 + + + Device is incompatible with this kit. + デバイスとこのキットに互換性がありません。 + + + Unconfigured + 未設定 + + + Host address + ホストアドレス + + + SSH port + SSH ポート + + + User name + ユーザー名 + + + Private key file + 秘密鍵ファイル + + + Device name + デバイス名 + + + + ProjectExplorer::EnvironmentKitAspect + + Change... + 変更... + + + No changes to apply. + 変更しません。 + + + Environment + 環境 + + + Additional build environment settings when using this kit. + このキット使用時に追加するビルド用環境変数です。 + + + The environment setting value is invalid. + 環境変数の設定に無効な値が含まれています。 + + + + ProjectExplorer::KitAspectWidget + + Manage... + 管理... + + + + ProjextExplorer::Internal::KitOptionsPageWidget + + Clone + 複製 + + + Make Default + 既定にする + + + Kits + キット + + + + ProjectExplorer::MakeStep + + Make arguments: + Make の引数: + + + Parallel jobs: + 並列ジョブ数: + + + Targets: + ターゲット: + + + Make: + Make: + + + Override %1: + %1 の代わりに使用するコマンド: + + + Make + Make + + + <b>Make:</b> %1 + <b>Make:</b> %1 + + + <b>Make:</b> %1 not found in the environment. + <b>Make:</b> 環境に %1 が見つかりません。 + + + + RunConfigSelector + + Run Without Deployment + デプロイせずに実行 + + + + ProjectExplorer::Internal::MsvcToolChain + + MSVC + MSVC + + + + ProjectExplorer::Internal::MsvcToolChainConfigWidget + + <empty> + <空> + + + Initialization: + 初期化: + + + &ABI: + &ABI: + + + + ProjectExplorer::Internal::ParseIssuesDialog + + Choose File + ファイルを選択してください + + + + ProjectExplorer::ProcessStep + + Command: + コマンド: + + + Arguments: + 引数: + + + Working directory: + 作業ディレクトリ: + + + Custom Process Step + Default ProcessStep display name + 独自プロセスステップ + + + + EnvironmentPanelFactory + + Environment + 環境 + + + + ProjectExplorerPluginPrivate + + Building "%1" is disabled: %2<br> + "%1" のビルドは無効化されています: %2<br> + + + + ProjextExplorer::Internal::ProjectExplorerSettings + + All + すべて + + + Same Project + 同一プロジェクト + + + Same Build Directory + 同一ビルドディレクトリ + + + General + 一般 + + + + ProjectExplorer::Internal::ProjectWindow + + Build & Run + ビルドと実行 + + + Projects + プロジェクト + + + Manage Kits... + キットの管理... + + + Active Project + アクティブプロジェクト + + + + ProjectExplorer::ExecutableAspect + + <unknown> + <不明> + + + Executable: + 実行ファイル: + + + Alternate executable on device: + デバイス上の代替実行可能ファイル: + + + Use this command instead + 代わりにこのコマンドを使う + + + + ProjectExplorer::UseLibraryPathsAspect + + Add build library search path to DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH + DYLD_LIBRARY_PATH と DYLD_FRAMEWORK_PATH にビルドライブラリ検索パスを追加する + + + Add build library search path to PATH + PATH にビルドライブラリ検索パスを追加する + + + Add build library search path to LD_LIBRARY_PATH + LD_LIBRARY_PATH にビルドライブラリ検索パスを追加する + + + + ProjectExplorer::UseDyldSuffixAspect + + Use debug version of frameworks (DYLD_IMAGE_SUFFIX=_debug) + デバッグ版のフレームワークを使用する (DYLD_IMAGE_SUFFIX=_debug) + + + + ProjectExplorer::RunAsRootAspect + + Run as root user + 管理者として実行する + + + + TaskHub + + Error + エラー + + + Warning + 警告 + + + + ProjectExplorer::SimpleTargetRunner + + %1 crashed. + %1 がクラッシュしました。 + + + %2 exited with code %1 + %2 はコード %1 で終了しました + + + + ProjectExplorer::Internal::FilesSelectionWizardPage + + Files + ファイル + + + + ProjectExplorer::Internal::SimpleProjectWizardDialog + + Import Existing Project + 既存プロジェクトのインポート + + + Project Name and Location + プロジェクト名とパス + + + Project name: + プロジェクト名: + + + Location: + パス: + + + File Selection + ファイル選択 + + + + TargetSettingsPanelWidget + + Do Not Remove + 削除しない + + + The kit <b>%1</b> is currently being built. + キット <b>%1</b> をビルドしています。 + + + Do you want to cancel the build process and remove the kit anyway? + 強制的にビルドプロセスを中止してキットを削除しますか? + + + Build + ビルド + + + Run + 実行 + + + + TargetSettingsPanelItem + + No kit defined in this project. + このプロジェクトには、キットが定義されていません。 + + + Configure Project + プロジェクトの設定 + + + + Python::Internal::InterpreterAspect + + Manage... + 管理... + + + + Python::Internal::PythonRunConfiguration + + Run %1 + %1 を実行 + + + + Python::Internal::PythonSettings + + Name: + 名前: + + + &Add + 追加(&A) + + + Python + Python + + + + Python::Internal::PyLSConfigureAssistant + + Install + インストールする + + + Enable + 有効 + + + + QbsProjectManager::Internal::AspectWidget + + Change... + 変更... + + + + QbsProjectNode + + Qbs files + Qbs ファイル + + + + QbsProjectManager::Internal::ProfileModel + + Value + + + + + QbsProjectManager::Internal::QbsBuildSystem + + Failed + 失敗 + + + Could not write project file %1. + プロジェクトファイル %1 に書き込みできませんでした。 + + + Reading Project "%1" + プロジェクト "%1" の読込中 + + + Error retrieving run environment: %1 + 実行環境取得中のエラー: %1 + + + + QbsProjectManager::Internal::QbsSettingsPage + + Qbs version: + Qbs バージョン: + + + General + 一般 + + + + QmakeProjectManager::RunSystemAspect + + Run + 実行 + + + Ignore + 無視 + + + + QmakeProjectManager::Internal::QmakeKitAspect + + The mkspec to use when building the project with qmake.<br>This setting is ignored when using other build systems. + qmake でこのプロジェクトをビルドするときに用いる mkspec です。<br>他のビルドシステムを使用する場合にはこの設定は無視されます。 + + + No Qt version set, so mkspec is ignored. + Qt バージョンが設定されていないため、mkspec を無視します。 + + + Mkspec not found for Qt version. + 指定された mkspec が Qt にありません。 + + + mkspec + mkspec + + + + QmakeProjectManager::QmakeMakeStep + + Cannot find Makefile. Check your build settings. + Makefile が見つかりません。ビルド設定を確認してください。 + + + + QmakeProjectManager::QmakePriFile + + Headers + ヘッダ + + + Sources + ソース + + + Forms + フォーム + + + State charts + 状態遷移図 + + + Resources + リソース + + + QML + QML + + + Other files + その他のファイル + + + + QmakePriFile + + Failed + 失敗 + + + Could not write project file %1. + プロジェクトファイル %1 に書き込みできませんでした。 + + + File Error + ファイルエラー + + + + QmakeProFile + + Error while parsing file %1. Giving up. + ファイル %1 の解析中にエラーが発生しました。中断します。 + + + Could not find .pro file for subdirectory "%1" in "%2". + "%2" に サブディレクトリ "%1" 用 .pro ファイルが見つかりませんでした。 + + + + QmakeProjectManager::QmakeBuildSystem + + Reading Project "%1" + プロジェクト "%1" の読込中 + + + + QmlDesigner::AssetExporter + + Yes + はい + + + Unknown error. + 不明なエラーです。 + + + Unknown + 不明 + + + + QmlDesigner::AssetExporterPlugin + + Asset Export + アセットエクスポート + + + Export QML + QMLのエクスポート + + + Export QML code of the current project. + 現在のプロジェクトのQMLコードをエクスポートする。 + + + + Component + + Error exporting node %1. Cannot parse type %2. + ノード %1 のエクスポートでエラーが発生しました。タイプ %2 を解析できません。 + + + + QmlDesigner::FilePathModel + + Canceling QML files preparation. + QMLファイルの準備をキャンセルする。 + + + + QmlDesigner::AnnotationEditor + + Annotation + アノテーション + + + Delete this annotation? + このアノテーションを削除しますか? + + + + QmlDesigner::AnnotationTableView + + Title + タイトル + + + Value + + + + + QmlDesigner::AnnotationTabWidget + + Annotation + アノテーション + + + + QmlDesigner::GlobalAnnotationEditor + + Global Annotation + グローバルアノテーション + + + Delete this annotation? + このアノテーションを削除しますか? + + + + QmlDesigner::AbstractEditorDialog + + Untitled Editor + 無題のエディタ + + + + QmlDesigner::ActionEditorDialog + + Connection Editor + コネクションエディタ + + + + QmlDesigner::BindingEditorDialog + + Binding Editor + バインディングエディタ + + + NOT + NOT + + + Invert the boolean expression. + ブーリアン式を反転させる。 + + + + QmlDesigner::BindingEditorWidget + + Trigger Completion + 補完の開始 + + + Meta+Space + Meta+Space + + + Ctrl+Space + Ctrl+Space + + + + QmlDesigner::SignalListModel + + Item ID + アイテムID + + + Signal + シグナル + + + + QmlDesigner::SignalList + + Signal List for %1 + %1 向けシグナルリスト + + + + QmlDesigner::SignalListDelegate + + Release + リリース + + + Connect + 接続する + + + + AddImageToResources + + File Name + ファイル名 + + + Size + サイズ + + + Add Resources + リソースを追加する + + + &Browse... + 参照(&B)... + + + Target Directory + ターゲットディレクトリ + + + In directory: + ディレクトリ内: + + + + ChangeStyleWidgetAction + + Change style for Qt Quick Controls 2. + Qt Quick Controls 2のスタイルを変更する。 + + + Change style for Qt Quick Controls 2. Configuration file qtquickcontrols2.conf not found. + Qt Quick Controls 2のスタイルを変更します。設定ファイルqtquickcontrols2.confが見つかりません。 + + + + QmlDesignerAddResources + + Image Files + 画像ファイル + + + Font Files + フォントファイル + + + Sound Files + 音声ファイル + + + Shader Files + シェーダファイル + + + Add Custom Effect + カスタムエフェクトを追加する + + + + DesignerActionManager + + Document Has Errors + ドキュメントにエラーがある + + + The document which contains the list model contains errors. So we cannot edit it. + リストモデルを含んだドキュメントにはエラーが含まれています。そのため、編集できません。 + + + Document Cannot Be Written + ドキュメントに書き込みできません + + + An error occurred during a write attemp. + 書き込み中にエラーが発生しました。 + + + + TemplateMerge + + Merge With Template + テンプレートとマージする + + + &Browse... + 参照(&B)... + + + Template: + テンプレート: + + + Browse Template + テンプレートを参照する + + + + QmlDesigner::Internal::BackendModel + + Type + + + + Name + 名前 + + + Singleton + シングルトン + + + Local + ローカル変数 + + + + QmlDesigner::CurveEditor + + Set Default + デフォルト設定 + + + Unify + 統一する + + + Start Frame + 開始フレーム + + + End Frame + 終了フレーム + + + Current Frame + 現行フレーム + + + + QmlDesigner::CurveEditorView + + CurveEditor + カーブエディタ + + + + QmlDesigner::GraphicsView + + Open Style Editor + スタイルエディタを開く + + + Insert Keyframe + キーフレームを挿入する + + + Delete Selected Keyframes + 選択したキーフレームを削除する + + + + QmlDesigner::Edit3DView + + 3D Editor + 3D エディタ + + + Failed to Add Import + インポートの追加に失敗しました + + + Could not add QtQuick3D import to project. + QtQuick3D インポートをプロジェクトに追加できませんでした。 + + + + SelectionModeToggleAction + + Toggle Group/Single Selection Mode + グループ/シングル選択モードを切り替える + + + + MoveToolAction + + Activate Move Tool + 移動ツールを起動する + + + + RotateToolAction + + Activate Rotate Tool + 回転ツールを起動する + + + + ScaleToolAction + + Activate Scale Tool + スケールツールを起動する + + + + FitToViewAction + + Fit Selected Object to View + 選択したオブジェクトを表示に合わせる + + + + CameraToggleAction + + Toggle Perspective/Orthographic Edit Camera + パース/正投影図編集カメラの切り替え + + + + OrientationToggleAction + + Toggle Global/Local Orientation + グローバル/ローカル志向を切り替える + + + + EditLightToggleAction + + Toggle Edit Light On/Off + 編集ライトのオン/オフを切り替える + + + + ShowGridAction + + Toggle Grid Visibility + グリッド表示の切り替え + + + + ResetView + + Reset View + 表示をリセットする + + + + QmlDesigner::Edit3DWidget + + Your file does not import Qt Quick 3D.<br><br>To create a 3D view, add the QtQuick3D import to your file in the QML Imports tab of the Library view. Or click <a href="#add_import"><span style="text-decoration:none;color:%1">here</span></a> here to add it immediately.<br><br>To import 3D assets from another tool, click on the "Add New Assets..." button in the Assets tab of the Library view. + あなたのファイルは Qt Quick 3D をインポートしていません。 +<br><br> 3D ビューを作成するには、Library ビューの QML Imports タブで、QtQuick3D のインポートをファイルに追加してください。または、<a href="#add_import"><span style="text-decoration:none;color:%1">ここ</span>をクリックすれば、すぐに追加できます。 +<br><br>他のツールから 3D アセットをインポートするには、Library ビューの Assets タブにある「Add New Assets...」ボタンをクリックします。 + + + + QmlDesigner::FormEditorAnnotationIcon + + Annotation + アノテーション + + + Edit Annotation + アノテーションを編集する + + + Remove Annotation + アノテーションを削除する + + + By: + By: + + + Edited: + 編集: + + + Delete this annotation? + このアノテーションを削除しますか? + + + + QmlDesigner::TransitionTool + + Add Transition + トランジションを追加する + + + Remove Transitions + トランジションを削除する + + + Remove All Transitions + すべてのトランジションを削除する + + + Do you really want to remove all transitions? + 本当にすべてのトランジションを削除しますか? + + + Remove Dangling Transitions + 遷移先が見当たらないトランジションを削除する + + + Transition Tool + トランジションツール + + + + QmlDesigner::DesignDocument + + Locked items: + ロックされたアイテム: + + + Delete/Cut Item + アイテムを削除/カットする + + + Deleting or cutting this item will modify locked items. + このアイテムを削除またはカットすると、ロックされたアイテムが変更されます。 + + + Do you want to continue by removing the item (Delete) or removing it and copying it to the clipboard (Cut)? + 継続してアイテムを削除するか(Delete)、アイテムを削除してクリップボードにコピーしますか(Cut)? + + + + QmlDesigner::ItemLibraryAssetImporter + + Could not create a temporary directory for import. + インポート用の一時ディレクトリを作成できませんでした。 + + + Failed to start import 3D asset process + 3D アセットのインポート処理の開始に失敗しました + + + Importing 3D assets. + 3D アセットのインポート。 + + + Asset import process failed for: "%1" + アセットのインポート処理に失敗しました: "%1" + + + No files selected for overwrite, skipping import: "%1" + 上書き用に選択したファイルがなく、インポートがスキップされました: "%1" + + + Asset already exists. Overwrite existing or skip? +"%1" + アセットはすでに存在しています。既存のものを上書きするか、スキップするか? +"%1" + + + Overwrite Selected Files + 選択したファイルを上書きする + + + Overwrite All Files + すべてのファイルを上書きする + + + Skip + スキップ + + + Generating icons. + アイコンを生成する。 + + + Failed to update imports: %1 + インポートの更新に失敗しました: %1 + + + Parsing files. + ファイルの解析中。 + + + Skipped import of duplicate asset: "%1" + 重複するアセットのインポートをスキップしました: "%1" + + + Skipped import of existing asset: "%1" + 既存アセットのインポートをスキップしました: "%1" + + + Could not access temporary asset directory: "%1" + 一時的なアセット・ディレクトリにアクセスできませんでした: "%1" + + + Failed to create qmldir file for asset: "%1" + アセット:"%1" の qmldir ファイルの作成に失敗しました + + + Removing old overwritten assets. + 古い上書きされたアセットを削除する。 + + + Copying asset files. + アセットファイルのコピー。 + + + Overwrite Existing Asset? + 既存アセットを上書きしますか? + + + Updating data model. + データモデルの更新。 + + + + QmlDesigner::ItemLibraryImport + + Default Components + 既定のコンポーネント + + + My Components + 私のコンポーネント + + + My 3D Components + 私の 3D コンポーネント + + + All Other Components + その他すべてのコンポーネント + + + + QmlDesigner::ItemLibraryResourceView + + Large Icons + 大アイコン + + + Medium Icons + 中アイコン + + + Small Icons + 小アイコン + + + List + リスト + + + + QmlDesigner::ItemLibraryView + + Library + ライブラリ + + + 3D Assets + 3D アセット + + + + QmlDesigner::ListModelEditorDialog + + Add Row + 行の追加 + + + Remove Columns + 列を削除する + + + Add Column + 列の追加 + + + Move down (CTRL + Down). + 下に移動します(CTRL + Down)。 + + + Move up (CTRL + Up). + 上に移動します(CTRL + Up)。 + + + Add Property + プロパティの追加 + + + Property name: + プロパティ名: + + + Change Property + プロパティを変更する + + + Column name: + コラム名: + + + + QmlDesigner::ChooseTexturePropertyDialog + + Select Texture Property + テクスチャプロパティを選択する + + + Set texture to property: + テクスチャをプロパティに設定する: + + + + QmlDesigner::NavigatorTreeView + + Invalid Id + 無効な ID + + + %1 is an invalid id. + %1 は無効な id です。 + + + %1 already exists. + %1 は既に存在しています。 + + + + QmlDesigner::NavigatorView + + Navigator + ナビゲータ + + + + QmlDesigner::AlignDistribute + + Cannot Distribute Perfectly + 完璧な分配はできない + + + These objects cannot be distributed to equal pixel values. Do you want to distribute to the nearest possible values? + これらのオブジェクトは、等しいピクセル値に分配することはできません。可能な限り近い値に分配しますか? + + + + QmlDesigner::PropertyEditorContextObject + + Invalid Type + 無効な型 + + + %1 is an invalid type. + %1 は無効な型 です。 + + + + QmlDesigner::QmlModelNodeProxy + + multiselection + 複数選択 + + + + QmlDesigner::RichTextEditor + + &Undo + 元に戻す(&U) + + + &Redo + やり直す(&R) + + + &Bold + 太字(&B) + + + &Italic + 斜体(&I) + + + &Underline + 下線(&U) + + + Select Image + 画像を選択する + + + Image files (*.png *.jpg) + 画像ファイル(*.png *.jpg) + + + Insert &Image + 画像を挿入する(&I) + + + Hyperlink Settings + ハイパーリンクの設定 + + + &Left + 左(&L) + + + C&enter + 中央(&E) + + + &Right + 右(&R) + + + Bullet List + 箇条書き + + + Numbered List + 番号付きリスト + + + Create Table + テーブル作成 + + + Remove Table + テーブルを削除する + + + Add Row + 行を追加 + + + Add Column + 列の追加 + + + Remove Row + 行を削除する + + + Remove Column + 列を削除する + + + Merge Cells + セルの結合 + + + Split Row + 行の分割 + + + Split Column + 列の分割 + + + + QmlDesigner::TextEditorView + + Trigger Completion + 補完の開始 + + + Meta+Space + Meta+Space + + + Ctrl+Space + Ctrl+Space + + + Text Editor + テキストエディタ + + + + QmlDesigner::PresetList + + Add Preset + プリセットを追加する + + + Delete Selected Preset + 選択したプリセットを削除する + + + + QmlDesigner::PresetEditor + + Save Preset + プリセットの保存 + + + Name + 名前 + + + + QmlDesigner::SplineEditor + + Delete Point + ポイントを削除する + + + Smooth Point + スムーズポイント + + + Corner Point + コーナーポイント + + + Add Point + ポイントを追加する + + + Reset Zoom + 縮尺を戻す + + + + QmlDesignerTimeline + + Playhead frame %1 + 再生ヘッドフレーム %1 + + + Keyframe %1 + キーフレーム %1 + + + + QmlDesigner::TimelinePropertyItem + + Previous Frame + 前のフレーム + + + Next Frame + 次のフレーム + + + Auto Record + 自動記録 + + + Insert Keyframe + キーフレームを挿入する + + + Delete Keyframe + キーフレームを削除する + + + Edit Easing Curve... + イージング・カーブを編集する... + + + Edit Keyframe... + キーフレームを編集する... + + + Remove Property + プロパティを削除する + + + + TimelineKeyframeItem + + Delete Keyframe + キーフレームを削除する + + + Edit Easing Curve... + イージング・カーブを編集する... + + + Edit Keyframe... + キーフレームを編集する... + + + + TimelineBarItem + + Range from %1 to %2 + 範囲は %1 から %2 まで + + + Override Color + 色を上書きする + + + Reset Color + 色をリセットする + + + + QmlDesigner::TimelineSettingsModel + + State + 状態 + + + Timeline + タイムライン + + + Error + エラー + + + + QmlDesigner::TimelineToolBar + + Previous + 前へ + + + Next + 次へ + + + Zoom Out + 縮小 + + + Zoom In + 拡大 + + + + QmlDesigner::TimelineView + + Timeline + タイムライン + + + + QmlDesigner::TimelineWidget + + Timeline + Title of timeline view + タイムライン + + + + QmlDesigner::TransitionEditorToolBar + + Zoom Out + 縮小 + + + Zoom In + 拡大 + + + + QmlDesigner::TransitionEditorWidget + + Transition + Title of transition view + トランジション + + + Add Transition + トランジションを追加する + + + + QmlDesigner::TransitionForm + + Invalid Id + 無効な ID + + + %1 is an invalid id. + %1 は無効な id です。 + + + %1 already exists. + %1 は既に存在しています。 + + + + QmlDesigner::CapturingConnectionManager + + QML Emulation Layer (QML Puppet) Crashed + QML エミュレーションレイヤ(QML パペット)がクラッシュしました + + + You are recording a puppet stream and the emulations layer crashed. It is recommended to reopen the Qt Quick Designer and start again. + パペットからの出力の取得中にエミュレーションレイヤがクラッシュしました。Qt Quick Designer を再度開くのを推奨します。 + + + + QmlDesigner::InteractiveConnectionManager + + Cannot Connect to QML Emulation Layer (QML Puppet) + QML エミュレーションレイヤ(QML パペット)に接続できません + + + The executable of the QML emulation layer (QML Puppet) may not be responding. Switching to another kit might help. + QML エミュレーションレイヤ(QML パペット)の実行ファイルが応答していないようです。他のキットへの変更を検討してください。 + + + + QmlDesigner::NodeInstanceView + + MB + MB + + + + MetaInfoReader + + Invalid type %1 + 無効な型 %1 + + + Unknown property for Type %1 + Type %1 の未知のプロパティ + + + Unknown property for ItemLibraryEntry %1 + ItemLibraryEntry %1 の未知のプロパティ + + + Unknown property for Property %1 + Property %1 の未知のプロパティ + + + Unknown property for QmlSource %1 + QmlSource %1 の未知のプロパティ + + + Invalid or duplicate item library entry %1 + 無効あるいは重複したアイテムライブラリエントリー %1 + + + + DocumentMessage + + Error parsing + 解析中にエラーが発生 + + + Internal error + 内部エラー + + + line %1 + %1 行目 + + + column %1 + %1 文字目 + + + + QmlDesigner::DocumentWarningWidget + + Cannot open this QML document because of an error in the QML file: + エラーが発生したため QML ファイルを開けません: + + + OK + OK + + + This QML file contains features which are not supported by Qt Quick Designer at: + この QML ファイルには Qt Quick Designer で未対応の機能が含まれています: + + + Ignore + 無視 + + + Previous + 前へ + + + Next + 次へ + + + Go to error + エラー箇所へ飛ぶ + + + Go to warning + 警告箇所へ飛ぶ + + + + QmlDesigner::GenerateResource + + A timeout occurred running "%1" + "%1" を実行中にタイムアウトが発生しました + + + "%1" crashed. + "%1" がクラッシュしました。 + + + "%1" failed (exit code %2). + "%1" が失敗しました(終了コード %2)。 + + + + QmlDesigner::SwitchLanguageComboboxAction + + Default + 既定 + + + + QmlJSEditor::QmlJSEditorWidget + + Show Qt Quick ToolBar + Qt Quick ツールバーを表示します + + + Code Model Not Available + コードモデル利用不能 + + + Code model not available. + コードモデルが見つかりません。 + + + Code Model of %1 + %1 のコードモデル + + + Refactoring + リファクタリング + + + + QmlJSEditor::QmlJSEditorDocument + + This file should only be edited in <b>Design</b> mode. + このファイルは<b>デザイン</b>モードでのみ編集することを推奨します。 + + + Switch Mode + モード切替 + + + + QmlJSHoverHandler + + Library at %1 + %1 のライブラリ + + + Dumped plugins successfully. + プラグインのダンプに成功しました。 + + + Read typeinfo files successfully. + typeinfo ファイルの読み込みに成功しました。 + + + + AddAnalysisMessageSuppressionComment + + Add a Comment to Suppress This Message + このメッセージを抑止する為のコメントを追加します + + + + QmlJS Code Model Marks + + Code Model Warning + コードモデルの警告 + + + Code Model Error + コードモデルのエラー + + + + QmlPreview::QmlDebugTranslationWidget + + Elide warning + 省略の警告 + + + Load + 読込 + + + Save + 保存 + + + Clear + クリア + + + Empty + + + + Stop + 停止 + + + + QmlProfiler::Internal::QmlProfilerActions + + The QML Profiler can be used to find performance bottlenecks in applications using QML. + QML プロファイラは、QML を使っているアプリケーションの性能のボトルネックを探すのに使用する事ができます。 + + + QML Profiler + QML プロファイラ + + + Load QML Trace + QML トレースを読み込む + + + Save QML Trace + QML トレースを保存 + + + QML Profiler Options + QML プロファイラオプション + + + + QmlProfiler::QmlProfilerStatisticsModel + + Painting + 描画 + + + Compiling + コンパイル + + + Creating + 生成 + + + Binding + バインディング + + + Handling Signal + ハンドリング中のシグナル + + + JavaScript + JavaScript + + + Could not re-read events from temporary trace file: %1 + 一時的なトレース・ファイルからイベントを再読み取りできませんでした: %1 + + + <bytecode> + <バイトコード> + + + Source code not available + ソースコードが見つかりません + + + Calls + 呼出回数 + + + Details + 詳細 + + + Location + パス + + + Mean Time + 平均時間 + + + Total Time + 合計時間 + + + + QmlProfiler::QmlProfilerStatisticsRelativesModel + + Main Program + メインプログラム + + + <bytecode> + <バイトコード> + + + Source code not available + ソースコードが見つかりません + + + Callee + 呼び出し先 + + + Caller + 呼び出し元 + + + Total Time + 合計時間 + + + Calls + 呼出回数 + + + + QmlProfiler::Internal::QmlProfilerTraceFile + + Error while parsing trace data file: %1 + トレースデータファイルの解析中のエラー: %1 + + + Invalid magic: %1 + 無効なマジック: %1 + + + Unknown data stream version: %1 + 未知のデータストリームバージョン: %1 + + + Invalid type index %1 + 無効なタイプインデックス: %1 + + + Corrupt data before position %1. + 位置 %1 以前のデータが壊れています。 + + + + QmlProjectManager::QmlMainFileAspect + + Main QML file: + メイン QML ファイル: + + + + QmlProjectManager::QmlBuildSystem + + Error while loading project file %1. + プロジェクトファイル %1 の読み込み中にエラーが発生しました。 + + + Warning while loading project file %1. + プロジェクトファイル %1 を読み込み中に警告がありました。 + + + + Qnx::Internal::QnxQmlProfilerSupport + + Preparing remote side... + リモート側の準備... + + + + Qnx::Internal::QnxDeployConfiguration + + Deploy to QNX Device + QNX デバイスにデプロイ + + + + Qnx::Internal::QnxToolChain + + QCC + QCC + + + + QtSupport::BaseQtVersion + + Device type is not supported by Qt version. + Qt がサポートしていないデバイスの種類です。 + + + The compiler "%1" (%2) cannot produce code for the Qt version "%3" (%4). + コンパイラ "%1" (%2) は、Qt バージョン "%3" (%4) 用のコードを生成できません。 + + + The compiler "%1" (%2) may not produce code compatible with the Qt version "%3" (%4). + コンパイラ "%1" (%2) は Qt バージョン "%3" (%4) と互換性のあるコードを生成しない可能性があります。 + + + + QtSupport::QtKitAspect + + Qt version + Qt バージョン + + + The version string of the current Qt version. + 現在の Qt のバージョンを表す文字列です。 + + + The type of the current Qt version. + 現在の Qt の種類です。 + + + The mkspec of the current Qt version. + 現在の Qt の mkspec です。 + + + The installation prefix of the current Qt version. + 現在の Qt のインストールプレフィックスです。 + + + The installation location of the current Qt version's data. + 現在の Qt のデータのインストールパスです。 + + + The installation location of the current Qt version's header files. + 現在の Qt のヘッダファイルのインストールパスです。 + + + The installation location of the current Qt version's library files. + 現在の Qt のライブラリのインストールパスです。 + + + The installation location of the current Qt version's documentation files. + 現在の Qt のドキュメントのインストールパスです。 + + + The installation location of the current Qt version's executable files. + 現在の Qt の実行ファイルのインストールパスです。 + + + The installation location of the current Qt version's plugins. + 現在の Qt のプラグインのインストールパスです。 + + + The installation location of the current Qt version's imports. + 現在の Qt の QML モジュールのインストールパスです。 + + + The installation location of the current Qt version's translation files. + 現在の Qt の翻訳ファイルのインストールパスです。 + + + The installation location of the current Qt version's examples. + 現在の Qt のサンプルのインストールパスです。 + + + The installation location of the current Qt version's demos. + 現在の Qt のデモのインストールパスです。 + + + The current Qt version's default mkspecs (Qt 4). + 現在の Qt の既定の mkspec (Qt 4) です。 + + + The current Qt version's default mkspec (Qt 5; target system). + 現在の Qt の既定の mkspec (Qt 5、ターゲットシステム) です。 + + + The current Qt's qmake version. + 現在の Qt の qmake のバージョンです。 + + + The Qt library to use for all projects using this kit.<br>A Qt version is required for qmake-based projects and optional when using other build systems. + このキットを用いるすべてのプロジェクトで使用する Qt ライブラリです。<br>Qt には qmake ベースのプロジェクトが必要ですが、オプションとしてその他のビルドシステムも使用できます。 + + + Name of Qt Version + Qt バージョン名 + + + unknown + 不明 + + + Path to the qmake executable + qmake 実行ファイルのパス + + + + ProMessageHandler + + [Inexact] + Prefix used for output from the cumulative evaluation of project files. + [不完全] + + + + QtSupport::QtQuickCompilerAspect + + Disables QML debugging. QML profiling will still work. + QML デバッグを無効化します。QML プロファイラは利用可能です。 + + + + QtSupport::QtKitAspectWidget + + %1 (invalid) + %1 (無効) + + + + QtSupport::Internal::TranslationWizardPage + + Language: + 言語: + + + + RemoteLinux::GenericLinuxDeviceConfigurationWizardKeyDeploymentPage + + Choose a Private Key File + 秘密鍵ファイルの選択 + + + Private key file: + 秘密鍵ファイル: + + + + RemoteLinux::MakeInstallStep + + Command: + コマンド: + + + Install root: + インストールルート: + + + + RemoteLinux::RemoteLinuxCustomCommandDeploymentStep + + Command line: + コマンドライン: + + + Run custom remote command + カスタムリモートコマンド実行 + + + + RemoteLinux::RemoteLinuxKillAppService + + Trying to kill "%1" on remote device... + リモート・デバイス上の "%1" を終了中です... + + + Remote application killed. + リモートアプリケーションが終了しました。 + + + Failed to kill remote application. Assuming it was not running. + リモートアプリケーションの強制終了に失敗しました。実行中ではないことと前提にしています。 + + + + RemoteLinux::RemoteLinuxKillAppStep + + Kill current application instance + 現在のアプリケーションのインスタンスを強制終了 + + + + RemoteLinux::Internal::RemoteLinuxRunConfiguration + + Executable on device: + デバイス上の実行可能ファイル: + + + Remote path not set + リモートのパスが設定されていません + + + Executable on host: + ホスト上の実行可能ファイル: + + + + RemoteLinux::X11ForwardingAspect + + X11 Forwarding + X11 フォワーディング + + + Forward to local display + ローカルディスプレイに転送する + + + + RemoteLinux::Internal::RsyncDeployService + + Failed to create remote directories: %1 + リモート・ディレクトリの作成に失敗しました: %1 + + + rsync failed to start: %1 + rsync の開始に失敗しました: %1 + + + rsync crashed. + rsync がクラッシュしました。 + + + rsync failed with exit code %1. + rsync は終了コード %1 で失敗しました。 + + + + RemoteLinux::RsyncDeployStep + + Flags: + フラグ: + + + Ignore missing files: + 存在しないファイルを無視する: + + + Deploy files via rsync + rsync 経由でファイルをデプロイする + + + + ScxmlEditor::Common::ColorThemes + + Modify Color Themes... + 色のテーマを変更する... + + + Modify Color Theme + 色のテーマを変更する + + + Select Color Theme + 色のテーマを選択する + + + Factory Default + 工場出荷時設定 + + + Colors from SCXML Document + SCXML ドキュメントからの色 + + + + ScxmlEditor::Common::ColorThemeItem + + Pick Color + 色を選ぶ + + + + ScxmlEditor::Common::ColorToolButton + + Automatic Color + 自動カラー + + + More Colors... + 他の色... + + + + ScxmlEditor::Common::GraphicsView + + SCXML Generation Failed + SCXML の生成に失敗しました + + + Loading document... + ドキュメントの読み込み... + + + + ScxmlEditor::Common::MainWidget + + State Color + 状態の色 + + + Font Color + フォントの色 + + + Align Left + 左揃え + + + Adjust Width + 幅の調整 + + + Alignment + 整列 + + + Adjustment + 調整 + + + Images (%1) + 画像 (%1) + + + Untitled + 無題 + + + Export Canvas to Image + キャンバスを画像にエクスポート + + + Export Failed + エクスポートに失敗しました + + + Could not export to image. + イメージにエクスポートできませんでした。 + + + Save Screenshot + スクリーンショットを保存する + + + Saving Failed + 保存の失敗 + + + Could not save the screenshot. + スクリーンショットを保存できませんでした。 + + + + ScxmlEditor::Common::Navigator + + Navigator + ナビゲータ + + + + ScxmlEditor::Common::SearchModel + + Type + + + + Name + 名前 + + + + ScxmlEditor::Common::StateProperties + + Attributes + 属性 + + + Content + コンテンツ + + + + ScxmlEditor::Common::StatisticsModel + + Tag + タグ + + + Count + カウント + + + + ScxmlEditor::Common::Structure + + Common states + 共通する状態 + + + Metadata + メタデータ + + + Other tags + その他のタグ + + + Unknown tags + 不明なタグ + + + Remove items + 項目を削除する + + + Structure + 構造体 + + + Expand All + すべて展開 + + + Collapse All + すべて折りたたむ + + + Add child + 子を追加する + + + + ScxmlEditor::Common::StructureModel + + Change parent + 親を変更する + + + + ScxmlEditor::OutputPane::ErrorWidget + + Errors(%1) / Warnings(%2) / Info(%3) + エラー(%1) / 警告(%2) / 情報(%3) + + + Export to File + ファイルへのエクスポート + + + CSV files (*.csv) + CSV ファイル (*.csv) + + + Export Failed + エクスポートに失敗しました + + + Cannot open file %1. + ファイル %1 を開けません。 + + + + ScxmlEditor::OutputPane::WarningModel + + Severity + 重要度 + + + Type + + + + Reason + 理由 + + + Description + 説明 + + + Error + エラー + + + Warning + 警告 + + + Info + 情報 + + + Unknown + 不明 + + + Severity: %1 +Type: %2 +Reason: %3 +Description: %4 + 重要度: %1 +型: %2 +理由: %3 +説明: %4 + + + + ScxmlEditor::PluginInterface::ActionHandler + + Zoom In + 拡大 + + + Zoom Out + 縮小 + + + Navigator + ナビゲータ + + + Copy + コピー + + + Cut + 切り取り + + + Paste + 貼り付け + + + Align Left + 左揃え + + + Align Right + 右揃え + + + Align Top + 上揃え + + + Align Bottom + 下揃え + + + Adjust Width + 幅の調整 + + + + ScxmlEditor::PluginInterface::BaseItem + + Add child + 子を追加する + + + + ScxmlEditor::PluginInterface::ConnectableItem + + Add new state + 新しい状態を追加します + + + Move State + 状態を遷移する + + + + ScxmlEditor::PluginInterface::GraphicsScene + + Align states + 状態を揃える + + + Adjust states + 状態を調整する + + + Cut + 切り取り + + + Remove items + 項目を削除する + + + Re-layout + リレイアウト + + + Add new state + 新しい状態を追加します + + + + ScxmlEditor::PluginInterface::IdWarningItem + + State + 状態 + + + Each state must have a unique ID. + 各状態は固有のIDを持たなければなりません。 + + + Missing ID. + IDが見つかりません。 + + + Duplicate ID (%1). + 重複したID (%1)。 + + + + ScxmlEditor::PluginInterface::InitialWarningItem + + Initial + 初期 + + + One level can contain only one initial state. + 1つのレベルには、1つの初期状態しか含まれません。 + + + Too many initial states at the same level. + 同じレベルの初期状態が多すぎます。 + + + + ScxmlEditor::PluginInterface::QuickTransitionItem + + H + H + + + + ScxmlEditor::PluginInterface::SCAttributeItemModel + + Name + 名前 + + + Value + + + + - name - + - 名前 - + + + - value - + - 値 - + + + + ScxmlEditor::PluginInterface::SCShapeProvider + + Common States + 共通する状態 + + + Initial + 初期 + + + Final + 最終 + + + State + 状態 + + + Parallel + 並列 + + + History + 履歴 + + + + ScxmlEditor::PluginInterface::ScxmlDocument + + Unexpected element. + 予想外のエレメント。 + + + Not well formed. + うまく形成されていません。 + + + Premature end of document. + ドキュメントの終了が早い。 + + + Custom error. + カスタムエラー。 + + + Error in reading XML. +Type: %1 (%2) +Description: %3 + +Row: %4, Column: %5 +%6 + XMLの読み込みでエラーが発生しました。 +型: %1 (%2) +説明: %3 + +行: %4, 列: %5 +%6 + + + Current tag is not selected. + 現在のタグが選択されていません。 + + + Pasted data is empty. + 貼り付けたデータは空っぽです。 + + + Paste items + アイテムの貼り付け + + + Cannot save XML to the file %1. + XML をファイル %1 に保存できません。 + + + Cannot open file %1. + ファイル %1. を開けません. + + + Add Tag + タグを追加する + + + Remove Tag + タグを削除する + + + + SXCMLTag::UnknownAttributeValue + + Unknown + 不明 + + + + SXCMLTag::UnknownAttributeName + + Unknown + 不明 + + + + ScxmlEditor::PluginInterface::ScxmlTag + + Error in reading XML + XML の読み込みに失敗 + + + New Tag + 新しいタグ + + + Item + アイテム + + + Metadata + メタデータ + + + Remove + 削除 + + + + ScxmlEditor::PluginInterface::ScxmlUiFactory + + Created editor-instance. + エディタインスタンスを作成しました。 + + + Editor-instance is not of the type ISCEditor. + エディタインスタンスは ISCEditor 型ではありません。 + + + + ScxmlEditor::PluginInterface::StateItem + + Set as Initial + 初期設定 + + + Zoom to State + 状態へのズーム + + + Re-Layout + リレイアウト + + + Change initial state + 初期状態を変更する + + + + ScxmlEditor::PluginInterface::StateWarningItem + + State + 状態 + + + Draw some transitions to state. + 状態への遷移をいくつか描いてみましょう。 + + + No input connection. + 入力の接続がありません。 + + + No input or output connections (%1). + 入力または出力の接続がありません(%1)。 + + + Draw some transitions to or from state. + 状態への遷移や状態からの遷移を描いてみましょう。 + + + No output connections (%1). + 出力の接続がありません(%1)。 + + + Draw some transitions from state. + 状態からの遷移を描いてみましょう。 + + + No input connections (%1). + 入力の接続がありません (%1)。 + + + + ScxmlEditor::PluginInterface::TransitionItem + + Remove Point + ポイントを削除 + + + + ScxmlEditor::PluginInterface::TransitionWarningItem + + Transition + トランジション + + + Transitions should be connected. + トランジションはつながっていなければなりません。 + + + Not connected (%1). + 接続されていません(%1)。 + + + + ScxmlEditor::Internal::ScxmlEditorData + + Undo (Ctrl + Z) + 元に戻す(Ctrl + Z) + + + Redo (Ctrl + Y) + やり直し(Ctrl + Y) + + + This file can only be edited in <b>Design</b> mode. + このファイルは<b>デザイン</b>モード以外では編集できません。 + + + Switch Mode + モード切替 + + + + SerialTerminal::Internal::SerialControl + + Unable to open port %1: %2. + ポート %1 を開けませんでした: %2。 + + + Session resumed. + セッションが再開されました。 + + + + SerialTerminal::Internal::SerialOutputPane + + Close Tab + タブを閉じる + + + Close All Tabs + すべてのタブを閉じる + + + Close Other Tabs + 他のタブを閉じる + + + Connect + 接続する + + + + FileExtractor + + Choose Directory + ディレクトリを選択してください + + + + Subversion::Internal::SubversionLogConfig + + Show files changed in each revision + リビジョン毎の差分ファイルを表示する + + + + TextEditor::DisplaySettingsPage + + Display + 表示 + + + + TextEditor::FontSettingsPageWidget + + Copy Color Scheme + カラースキームをコピー + + + Color scheme name: + カラースキーム名: + + + %1 (copy) + %1 (コピー) + + + Delete Color Scheme + カラースキームを削除 + + + Are you sure you want to delete this color scheme permanently? + このカラースキームを完全に削除しますか? + + + Color Scheme Changed + 変更されたカラースキーム + + + The color scheme "%1" was modified, do you want to save the changes? + このカラースキーム "%1" は変更されています。変更内容をセーブしますか? + + + Discard + 破棄 + + + Font && Colors + フォント && 色 + + + + TextEditor::TextEditorSettings + + Text + テキスト + + + Link + リンク + + + Links that follow symbol under cursor. + カーソル位置のシンボルの定義へのリンクです。 + + + Selection + 選択部分 + + + Selected text. + 選択したテキストです。 + + + Line Number + 行番号 + + + Line numbers located on the left side of the editor. + エディタの左側に配置される行番号です。 + + + Search Result + 検索結果 + + + Highlighted search results inside the editor. + エディタ内で強調表示される検索結果です。 + + + Search Scope + 検索範囲 + + + Section where the pattern is searched in. + パターンの検索範囲です。 + + + Parentheses + 括弧 + + + Displayed when matching parentheses, square brackets or curly brackets are found. + 対応する括弧や鍵括弧、波括弧が見つかっている時の表示です。 + + + Mismatched Parentheses + 未対応の括弧 + + + Displayed when mismatched parentheses, square brackets, or curly brackets are found. + 対応する括弧や鍵括弧、波括弧が見つからない時の表示です。 + + + Auto Complete + 自動補完 + + + Displayed when a character is automatically inserted like brackets or quotes. + 括弧や引用符などの文字が自動的に挿入された場合に表示されます。 + + + Current Line + 現在行 + + + Line where the cursor is placed in. + カーソルの存在する行です。 + + + Current Line Number + 現在の行番号 + + + Line number located on the left side of the editor where the cursor is placed in. + カーソルが存在するエディタの左側に配置される行番号です。 + + + Occurrences + 出現箇所 + + + Occurrences of the symbol under the cursor. +(Only the background will be applied.) + カーソルの位置にあるシンボルの出現箇所です。 +(バックグラウンドだけ適用されます。) + + + Unused Occurrence + 未使用変数の出現箇所 + + + Occurrences of unused variables. + 未使用の変数の出現箇所です。 + + + Renaming Occurrence + 名前変更中シンボルの出現箇所 + + + Occurrences of a symbol that will be renamed. + 名前を変更しようとしているシンボルの出現箇所です。 + + + Number literal. + 数字リテラルです。 + + + String + 文字列 + + + Character and string literals. + 文字と文字列リテラルです。 + + + Primitive Type + プリミティブ型 + + + Name of a primitive data type. + プリミティブなデータ型の名前です。 + + + Name of a type. + 型名です。 + + + Local variables. + ローカル変数です。 + + + Field + フィールド + + + Class' data members. + クラスのデータメンバです。 + + + Global variables. + グローバル変数です。 + + + Enumeration + 列挙型 + + + Applied to enumeration items. + 列挙型のアイテムに適用されます。 + + + Function + 関数 + + + Name of a function. + 関数名です。 + + + Virtual Function + 仮想関数 + + + Name of function declared as virtual. + virtual として宣言されている関数名です。 + + + QML Binding + QML バインディング + + + QML item property, that allows a binding to another property. + 別のプロパティにバインド可能な QML アイテムのプロパティです。 + + + QML Local Id + QML ローカル ID + + + QML item id within a QML file. + QML ファイル内の QML アイテムの ID です。 + + + QML Root Object Property + QML ルートオブジェクトプロパティ + + + QML property of a parent item. + 親アイテムの QML プロパティです。 + + + QML Scope Object Property + QML スコープオブジェクトプロパティ + + + Property of the same QML item. + 同一 QML アイテムのプロパティです。 + + + QML State Name + QML 状態名 + + + Name of a QML state. + QML の状態名です。 + + + QML Type Name + QML 型名 + + + Name of a QML type. + QML の型名です。 + + + QML External Id + QML 外部 ID + + + QML id defined in another QML file. + 別の QML ファイルで定義されている QML ID です。 + + + QML External Object Property + QML 外部オブジェクトプロパティ + + + QML property defined in another QML file. + 別の QML ファイルで定義されている QML プロパティです。 + + + JavaScript Scope Var + JavaScript スコープ変数 + + + Variables defined inside the JavaScript file. + JavaScript ファイル内で定義されている変数です。 + + + JavaScript Import + JavaScript Import + + + Name of a JavaScript import inside a QML file. + QML ファイル内でインポートされている JavaScript の名前です。 + + + JavaScript Global Variable + JavaScript グローバル変数 + + + Variables defined outside the script. + 外部のスクリプトで定義されている変数です。 + + + Keyword + キーワード + + + Reserved keywords of the programming language except keywords denoting primitive types. + プログラム言語によって予約されているキーワードです(プリミティブ型を示すキーワードを除く)。 + + + Operator + 演算子 + + + Preprocessor + プリプロセッサ + + + Preprocessor directives. + プリプロセッサディレクティブです。 + + + Label + ラベル + + + Labels for goto statements. + goto ステートメント用のラベルです。 + + + Comment + コメント + + + All style of comments except Doxygen comments. + Doxgen 用のコメント以外のすべてのコメントです。 + + + Doxygen Comment + Doxygen 用コメント + + + Doxygen comments. + Doxygen 用のコメントです。 + + + Doxygen Tag + Doxygen 用タグ + + + Doxygen tags. + Doxygen 用のタグです。 + + + Visual Whitespace + 空白の可視化 + + + Whitespace. +Will not be applied to whitespace in comments and strings. + 空白です。 +コメントや文字列内の空白には適用されません。 + + + Disabled Code + 無効化されたコード + + + Code disabled by preprocessor directives. + プリプロセッサ ディレクティブによって無効化されたコードです。 + + + Added Line + 追加された行 + + + Applied to added lines in differences (in diff editor). + 差分内の追加された行に適用されます (差分エディタ)。 + + + Removed Line + 削除された行 + + + Applied to removed lines in differences (in diff editor). + 差分内の削除された行に適用されます (差分エディタ)。 + + + Diff File + 差分ファイル + + + Compared files (in diff editor). + 比較しているファイルです (差分エディタ)。 + + + Diff Location + 差分の位置 + + + Location in the files where the difference is (in diff editor). + ファイルの差分がある位置です(差分エディタ)。 + + + Diff File Line + 差分のファイル行 + + + Applied to lines with file information in differences (in side-by-side diff editor). + 差分のファイル情報が含まれる行に適用されます(サイドバイサイド差分エディタにて)。 + + + Diff Context Line + 差分のコンテキスト行 + + + Applied to lines describing hidden context in differences (in side-by-side diff editor). + 差分の隠されたコンテキストが記述された行に適用されます(サイドバイサイド差分エディタにて)。 + + + Diff Source Line + 差分の比較元の行 + + + Applied to source lines with changes in differences (in side-by-side diff editor). + 差分の比較元の変更された行に適用されます(サイドバイサイド差分エディタにて)。 + + + Diff Source Character + 差分の比較元の文字 + + + Applied to removed characters in differences (in side-by-side diff editor). + 差分の削除された文字列に適用されます(サイドバイサイド差分エディタにて)。 + + + Diff Destination Line + 差分の比較先の行 + + + Applied to destination lines with changes in differences (in side-by-side diff editor). + 差分の比較先の変更された行に適用されます(サイドバイサイド差分エディタにて)。 + + + Diff Destination Character + 差分の比較先の文字 + + + Applied to added characters in differences (in side-by-side diff editor). + 差分の追加された文字列に適用されます(サイドバイサイド差分エディタにて)。 + + + Log Change Line + ログの変更行 + + + Applied to lines describing changes in VCS log. + バージョン管理システムのログにおいて変更を記載した行に適用されます。 + + + Error + エラー + + + Underline color of error diagnostics. + エラー判定時の下線の色です。 + + + Error Context + エラーコンテキスト + + + Underline color of the contexts of error diagnostics. + エラー判定時のコンテキストの下線の色です。 + + + Warning + 警告 + + + Underline color of warning diagnostics. + 警告判定時の下線の色です。 + + + Warning Context + 警告コンテキスト + + + Underline color of the contexts of warning diagnostics. + 警告判定時のコンテキストの下線の色です。 + + + + TextEditor::TextMark + + Show Diagnostic Settings + 診断設定を表示する + + + + Todo::Internal::TodoOptionsPage + + To-Do + To-Do + + + + UpdateInfo::Internal::UpdateInfoSettingsPage + + Daily + 毎日 + + + Weekly + 毎週 + + + Monthly + 毎月 + + + New updates are available. + 新しい更新を利用できます。 + + + No new updates are available. + 新しい更新はありません。 + + + Checking for updates... + 更新の確認中... + + + Not checked yet + 未確認 + + + Update + Update + 更新 + + + + Valgrind::Internal::CallgrindToolRunner + + Profiling + プロファイル中 + + + Profiling %1 + %1 のプロファイル中 + + + + Valgrind::Internal::Visualization + + All functions with an inclusive cost ratio higher than %1 (%2 are hidden) + 全体のコスト率が %1 より高いすべての関数 (%2 個の関数が非表示) + + + + HeobDialog + + New + 新規作成 + + + Extra arguments: + 追加引数: + + + OK + OK + + + Default + 既定 + + + %1 (copy) + %1 (コピー) + + + + HeobData + + Process %1 + プロセス %1 + + + + Valgrind::Internal::ValgrindToolRunner + + Valgrind options: %1 + Valgrind オプション: %1 + + + Working directory: %1 + 作業ディレクトリ: %1 + + + Command line arguments: %1 + コマンドライン引数: %1 + + + Analyzing finished. + 解析が終了しました。 + + + Error: "%1" could not be started: %2 + エラー: "%1" を開始できませんでした: %2 + + + Error: no Valgrind executable set. + エラー: Valgrind の実行ファイルが指定されていません。 + + + Process terminated. + プロセスが終了しました。 + + + + Valgrind::ValgrindRunner + + XmlServer on %1: + %1 の XmlServer: + + + LogServer on %1: + %1 の LogServer: + + + + VcsBase::VcsSubmitEditorFactory + + &Undo + 元に戻す(&U) + + + &Redo + やり直す(&R) + + + + VcsBase::VcsBaseEditorConfig + + Reload + 再読込 + + + + VcsBase::VcsBasePluginPrivate + + The file "%1" could not be deleted. + ファイル "%1" は削除できませんでした。 + + + Choose Repository Directory + リポジトリディレクトリを選択してください + + + The directory "%1" is already managed by a version control system (%2). Would you like to specify another directory? + ディレクトリ "%1" は既にバージョン管理システム (%2) によって管理されています。別のディレクトリを指定しますか? + + + Repository already under version control + リポジトリは既にバージョン管理されています + + + Repository Created + リポジトリを作成しました + + + A version control repository has been created in %1. + %1 にバージョン管理リポジトリを作成しました。 + + + Repository Creation Failed + リポジトリの作成に失敗しました + + + A version control repository could not be created in %1. + %1 にバージョン管理リポジトリを作成できませんでした。 + + + + Welcome::Internal::IntroductionWidget + + Locator + クイックアクセス + + + + Welcome::Internal::SideBar + + New to Qt? + Qt を始めよう! + + + Get Started Now + ここからスタート + + + Qt Account + Qt アカウント + + + Online Community + オンラインコミュニティ + + + Blogs + ブログ + + + User Guide + ユーザーガイド + + + + WinRt::Internal::WinRtArgumentsAspect + + Arguments: + 引数: + + + Restore Default Arguments + 既定の引数の復元 + + diff --git a/src/libs/3rdparty/cplusplus/Bind.cpp b/src/libs/3rdparty/cplusplus/Bind.cpp index 9a9cf34cbce..2a911fb0da2 100644 --- a/src/libs/3rdparty/cplusplus/Bind.cpp +++ b/src/libs/3rdparty/cplusplus/Bind.cpp @@ -2024,7 +2024,7 @@ bool Bind::visit(SimpleDeclarationAST *ast) decl->setInitializer(asStringLiteral(initializer)); } - if (_scope->isClass()) { + if (_scope->asClass()) { decl->setVisibility(_visibility); if (Function *funTy = decl->type()->asFunctionType()) { @@ -2050,7 +2050,7 @@ bool Bind::visit(EmptyDeclarationAST *ast) { (void) ast; int semicolon_token = ast->semicolon_token; - if (_scope && (_scope->isClass() || _scope->isNamespace())) { + if (_scope && (_scope->asClass() || _scope->asNamespace())) { const Token &tk = tokenAt(semicolon_token); if (! tk.generated()) @@ -2227,7 +2227,7 @@ bool Bind::visit(AliasDeclarationAST *ast) decl->setType(ty); decl->setStorage(Symbol::Typedef); ast->symbol = decl; - if (_scope->isClass()) + if (_scope->asClass()) decl->setVisibility(_visibility); _scope->addMember(decl); @@ -2299,7 +2299,7 @@ bool Bind::visit(FunctionDefinitionAST *ast) setDeclSpecifiers(fun, declSpecifiers); fun->setEndOffset(tokenAt(ast->lastToken() - 1).utf16charsEnd()); - if (_scope->isClass()) { + if (_scope->asClass()) { fun->setVisibility(_visibility); fun->setMethodKey(methodKey); } @@ -3147,7 +3147,7 @@ bool Bind::visit(ClassSpecifierAST *ast) klass->setEndOffset(tokenAt(ast->lastToken() - 1).utf16charsEnd()); _scope->addMember(klass); - if (_scope->isClass()) + if (_scope->asClass()) klass->setVisibility(_visibility); // set the class key @@ -3210,7 +3210,7 @@ bool Bind::visit(EnumSpecifierAST *ast) ast->symbol = e; _scope->addMember(e); - if (_scope->isClass()) + if (_scope->asClass()) e->setVisibility(_visibility); Scope *previousScope = switchScope(e); @@ -3398,7 +3398,7 @@ void Bind::ensureValidClassName(const Name **name, int sourceLocation) const QualifiedNameId *qName = (*name)->asQualifiedNameId(); const Name *uqName = qName ? qName->name() : *name; - if (!uqName->isNameId() && !uqName->isTemplateNameId()) { + if (!uqName->asNameId() && !uqName->asTemplateNameId()) { translationUnit()->error(sourceLocation, "expected a class-name"); *name = uqName->identifier(); diff --git a/src/libs/3rdparty/cplusplus/CoreTypes.cpp b/src/libs/3rdparty/cplusplus/CoreTypes.cpp index 0561f660584..4519eabc036 100644 --- a/src/libs/3rdparty/cplusplus/CoreTypes.cpp +++ b/src/libs/3rdparty/cplusplus/CoreTypes.cpp @@ -21,10 +21,11 @@ #include "CoreTypes.h" #include "TypeVisitor.h" #include "Matcher.h" -#include "Names.h" #include -using namespace CPlusPlus; +namespace CPlusPlus { + +UndefinedType UndefinedType::instance; void UndefinedType::accept0(TypeVisitor *visitor) { visitor->visit(this); } @@ -204,3 +205,5 @@ bool NamedType::match0(const Type *otherType, Matcher *matcher) const return false; } + +} // CPlusPlus diff --git a/src/libs/3rdparty/cplusplus/CoreTypes.h b/src/libs/3rdparty/cplusplus/CoreTypes.h index 0db1dd81837..5f2c30e89c6 100644 --- a/src/libs/3rdparty/cplusplus/CoreTypes.h +++ b/src/libs/3rdparty/cplusplus/CoreTypes.h @@ -29,11 +29,7 @@ namespace CPlusPlus { class CPLUSPLUS_EXPORT UndefinedType : public Type { public: - static UndefinedType *instance() - { - static UndefinedType t; - return &t; - } + static UndefinedType instance; const UndefinedType *asUndefinedType() const override { return this; } diff --git a/src/libs/3rdparty/cplusplus/FullySpecifiedType.cpp b/src/libs/3rdparty/cplusplus/FullySpecifiedType.cpp index 81c608a3dc0..27be623821b 100644 --- a/src/libs/3rdparty/cplusplus/FullySpecifiedType.cpp +++ b/src/libs/3rdparty/cplusplus/FullySpecifiedType.cpp @@ -26,24 +26,20 @@ using namespace CPlusPlus; +FullySpecifiedType::FullySpecifiedType() : + _type(&UndefinedType::instance), _flags(0) +{} + FullySpecifiedType::FullySpecifiedType(Type *type) : _type(type), _flags(0) { if (! type) - _type = UndefinedType::instance(); + _type = &UndefinedType::instance; } -FullySpecifiedType::~FullySpecifiedType() -{ } - bool FullySpecifiedType::isValid() const -{ return _type != UndefinedType::instance(); } +{ return _type != &UndefinedType::instance; } -Type *FullySpecifiedType::type() const -{ return _type; } - -void FullySpecifiedType::setType(Type *type) -{ _type = type; } FullySpecifiedType FullySpecifiedType::qualifiedType() const { @@ -178,7 +174,7 @@ Type &FullySpecifiedType::operator*() { return *_type; } FullySpecifiedType::operator bool() const -{ return _type != UndefinedType::instance(); } +{ return _type != &UndefinedType::instance; } const Type &FullySpecifiedType::operator*() const { return *_type; } @@ -215,12 +211,6 @@ FullySpecifiedType FullySpecifiedType::simplified() const return *this; } -unsigned FullySpecifiedType::flags() const -{ return _flags; } - -void FullySpecifiedType::setFlags(unsigned flags) -{ _flags = flags; } - bool FullySpecifiedType::match(const FullySpecifiedType &otherTy, Matcher *matcher) const { static const unsigned flagsMask = [](){ diff --git a/src/libs/3rdparty/cplusplus/FullySpecifiedType.h b/src/libs/3rdparty/cplusplus/FullySpecifiedType.h index a8462d503a3..03f82b788ea 100644 --- a/src/libs/3rdparty/cplusplus/FullySpecifiedType.h +++ b/src/libs/3rdparty/cplusplus/FullySpecifiedType.h @@ -25,17 +25,18 @@ namespace CPlusPlus { -class CPLUSPLUS_EXPORT FullySpecifiedType +class CPLUSPLUS_EXPORT FullySpecifiedType final { public: - FullySpecifiedType(Type *type = nullptr); - ~FullySpecifiedType(); + FullySpecifiedType(); + FullySpecifiedType(Type *type); + ~FullySpecifiedType() = default; bool isValid() const; explicit operator bool() const; - Type *type() const; - void setType(Type *type); + Type *type() const { return _type; } + void setType(Type *type) { _type = type; } FullySpecifiedType qualifiedType() const; @@ -109,8 +110,8 @@ public: FullySpecifiedType simplified() const; - unsigned flags() const; - void setFlags(unsigned flags); + unsigned flags() const { return _flags; } + void setFlags(unsigned flags) { _flags = flags; } private: Type *_type; diff --git a/src/libs/3rdparty/cplusplus/Literals.h b/src/libs/3rdparty/cplusplus/Literals.h index f15fa5a8048..d4f59d9987d 100644 --- a/src/libs/3rdparty/cplusplus/Literals.h +++ b/src/libs/3rdparty/cplusplus/Literals.h @@ -105,7 +105,7 @@ private: }; }; -class CPLUSPLUS_EXPORT Identifier: public Literal, public Name +class CPLUSPLUS_EXPORT Identifier final : public Literal, public Name { public: Identifier(const char *chars, int size) @@ -114,8 +114,7 @@ public: const Identifier *identifier() const override { return this; } - const Identifier *asNameId() const override - { return this; } + const Identifier *asNameId() const override { return this; } protected: void accept0(NameVisitor *visitor) const override; diff --git a/src/libs/3rdparty/cplusplus/Name.cpp b/src/libs/3rdparty/cplusplus/Name.cpp index 05ef8277f6c..7236a21954e 100644 --- a/src/libs/3rdparty/cplusplus/Name.cpp +++ b/src/libs/3rdparty/cplusplus/Name.cpp @@ -35,30 +35,6 @@ Name::Name() Name::~Name() { } -bool Name::isNameId() const -{ return asNameId() != nullptr; } - -bool Name::isAnonymousNameId() const -{ return asAnonymousNameId() != nullptr; } - -bool Name::isTemplateNameId() const -{ return asTemplateNameId() != nullptr; } - -bool Name::isDestructorNameId() const -{ return asDestructorNameId() != nullptr; } - -bool Name::isOperatorNameId() const -{ return asOperatorNameId() != nullptr; } - -bool Name::isConversionNameId() const -{ return asConversionNameId() != nullptr; } - -bool Name::isQualifiedNameId() const -{ return asQualifiedNameId() != nullptr; } - -bool Name::isSelectorNameId() const -{ return asSelectorNameId() != nullptr; } - void Name::accept(NameVisitor *visitor) const { if (visitor->preVisit(this)) diff --git a/src/libs/3rdparty/cplusplus/Name.h b/src/libs/3rdparty/cplusplus/Name.h index 1806a1e4cb8..d1ba99ae36b 100644 --- a/src/libs/3rdparty/cplusplus/Name.h +++ b/src/libs/3rdparty/cplusplus/Name.h @@ -35,15 +35,6 @@ public: virtual const Identifier *identifier() const = 0; - bool isNameId() const; - bool isAnonymousNameId() const; - bool isTemplateNameId() const; - bool isDestructorNameId() const; - bool isOperatorNameId() const; - bool isConversionNameId() const; - bool isQualifiedNameId() const; - bool isSelectorNameId() const; - virtual const Identifier *asNameId() const { return nullptr; } virtual const AnonymousNameId *asAnonymousNameId() const { return nullptr; } virtual const TemplateNameId *asTemplateNameId() const { return nullptr; } diff --git a/src/libs/3rdparty/cplusplus/Names.cpp b/src/libs/3rdparty/cplusplus/Names.cpp index 0d3029ae5d1..d240ac536b5 100644 --- a/src/libs/3rdparty/cplusplus/Names.cpp +++ b/src/libs/3rdparty/cplusplus/Names.cpp @@ -171,9 +171,6 @@ bool OperatorNameId::match0(const Name *otherName, Matcher *matcher) const OperatorNameId::Kind OperatorNameId::kind() const { return _kind; } -const Identifier *OperatorNameId::identifier() const -{ return nullptr; } - ConversionNameId::ConversionNameId(const FullySpecifiedType &type) : _type(type) { } @@ -191,11 +188,7 @@ bool ConversionNameId::match0(const Name *otherName, Matcher *matcher) const return false; } -FullySpecifiedType ConversionNameId::type() const -{ return _type; } -const Identifier *ConversionNameId::identifier() const -{ return nullptr; } SelectorNameId::~SelectorNameId() { } @@ -249,5 +242,4 @@ bool AnonymousNameId::match0(const Name *otherName, Matcher *matcher) const return false; } -const Identifier *AnonymousNameId::identifier() const -{ return nullptr; } + diff --git a/src/libs/3rdparty/cplusplus/Names.h b/src/libs/3rdparty/cplusplus/Names.h index 5b915bdfb4e..7913c9b0bc2 100644 --- a/src/libs/3rdparty/cplusplus/Names.h +++ b/src/libs/3rdparty/cplusplus/Names.h @@ -234,10 +234,8 @@ public: Kind kind() const; - const Identifier *identifier() const override; - - const OperatorNameId *asOperatorNameId() const override - { return this; } + const Identifier *identifier() const override { return nullptr; } + const OperatorNameId *asOperatorNameId() const override { return this; } protected: void accept0(NameVisitor *visitor) const override; @@ -253,12 +251,9 @@ public: ConversionNameId(const FullySpecifiedType &type); virtual ~ConversionNameId(); - FullySpecifiedType type() const; - - const Identifier *identifier() const override; - - const ConversionNameId *asConversionNameId() const override - { return this; } + FullySpecifiedType type() const { return _type; } + const Identifier *identifier() const override { return nullptr; } + const ConversionNameId *asConversionNameId() const override { return this; } protected: void accept0(NameVisitor *visitor) const override; @@ -300,7 +295,7 @@ private: bool _hasArguments; }; -class CPLUSPLUS_EXPORT AnonymousNameId: public Name +class CPLUSPLUS_EXPORT AnonymousNameId final : public Name { public: AnonymousNameId(int classTokenIndex); @@ -308,10 +303,9 @@ public: int classTokenIndex() const; - const Identifier *identifier() const override; + const Identifier *identifier() const override { return nullptr; } - const AnonymousNameId *asAnonymousNameId() const override - { return this; } + const AnonymousNameId *asAnonymousNameId() const override { return this; } protected: void accept0(NameVisitor *visitor) const override; diff --git a/src/libs/3rdparty/cplusplus/Scope.cpp b/src/libs/3rdparty/cplusplus/Scope.cpp index dcafc0c0665..23fa2aad67d 100644 --- a/src/libs/3rdparty/cplusplus/Scope.cpp +++ b/src/libs/3rdparty/cplusplus/Scope.cpp @@ -154,7 +154,7 @@ Symbol *SymbolTable::lookat(const Identifier *id) const } else if (const DestructorNameId *d = identity->asDestructorNameId()) { if (d->identifier()->match(id)) break; - } else if (identity->isQualifiedNameId()) { + } else if (identity->asQualifiedNameId()) { return nullptr; } else if (const SelectorNameId *selectorNameId = identity->asSelectorNameId()) { if (selectorNameId->identifier()->match(id)) diff --git a/src/libs/3rdparty/cplusplus/Symbol.cpp b/src/libs/3rdparty/cplusplus/Symbol.cpp index 05254e9d96a..01410ecea95 100644 --- a/src/libs/3rdparty/cplusplus/Symbol.cpp +++ b/src/libs/3rdparty/cplusplus/Symbol.cpp @@ -142,23 +142,7 @@ void Symbol::visitSymbol(Symbol *symbol, SymbolVisitor *visitor) symbol->visitSymbol(visitor); } -int Symbol::sourceLocation() const -{ return _sourceLocation; } -bool Symbol::isGenerated() const -{ return _isGenerated; } - -bool Symbol::isDeprecated() const -{ return _isDeprecated; } - -void Symbol::setDeprecated(bool isDeprecated) -{ _isDeprecated = isDeprecated; } - -bool Symbol::isUnavailable() const -{ return _isUnavailable; } - -void Symbol::setUnavailable(bool isUnavailable) -{ _isUnavailable = isUnavailable; } void Symbol::setSourceLocation(int sourceLocation, TranslationUnit *translationUnit) { @@ -176,21 +160,6 @@ void Symbol::setSourceLocation(int sourceLocation, TranslationUnit *translationU } } -int Symbol::line() const -{ - return _line; -} - -int Symbol::column() const -{ - return _column; -} - -const StringLiteral *Symbol::fileId() const -{ - return _fileId; -} - const char *Symbol::fileName() const { return _fileId ? _fileId->chars() : ""; } @@ -208,9 +177,6 @@ const Name *Symbol::unqualifiedName() const return _name; } -const Name *Symbol::name() const -{ return _name; } - void Symbol::setName(const Name *name) { _name = name; @@ -231,9 +197,6 @@ const Identifier *Symbol::identifier() const return nullptr; } -Scope *Symbol::enclosingScope() const -{ return _enclosingScope; } - void Symbol::setEnclosingScope(Scope *scope) { CPP_CHECK(! _enclosingScope); @@ -299,126 +262,6 @@ Block *Symbol::enclosingBlock() const return nullptr; } -unsigned Symbol::index() const -{ return _index; } - -Symbol *Symbol::next() const -{ return _next; } - -unsigned Symbol::hashCode() const -{ return _hashCode; } - -int Symbol::storage() const -{ return _storage; } - -void Symbol::setStorage(int storage) -{ _storage = storage; } - -int Symbol::visibility() const -{ return _visibility; } - -void Symbol::setVisibility(int visibility) -{ _visibility = visibility; } - -bool Symbol::isFriend() const -{ return _storage == Friend; } - -bool Symbol::isRegister() const -{ return _storage == Register; } - -bool Symbol::isStatic() const -{ return _storage == Static; } - -bool Symbol::isExtern() const -{ return _storage == Extern; } - -bool Symbol::isMutable() const -{ return _storage == Mutable; } - -bool Symbol::isTypedef() const -{ return _storage == Typedef; } - -bool Symbol::isPublic() const -{ return _visibility == Public; } - -bool Symbol::isProtected() const -{ return _visibility == Protected; } - -bool Symbol::isPrivate() const -{ return _visibility == Private; } - -bool Symbol::isScope() const -{ return asScope() != nullptr; } - -bool Symbol::isEnum() const -{ return asEnum() != nullptr; } - -bool Symbol::isFunction() const -{ return asFunction() != nullptr; } - -bool Symbol::isNamespace() const -{ return asNamespace() != nullptr; } - -bool Symbol::isTemplate() const -{ return asTemplate() != nullptr; } - -bool Symbol::isClass() const -{ return asClass() != nullptr; } - -bool Symbol::isForwardClassDeclaration() const -{ return asForwardClassDeclaration() != nullptr; } - -bool Symbol::isQtPropertyDeclaration() const -{ return asQtPropertyDeclaration() != nullptr; } - -bool Symbol::isQtEnum() const -{ return asQtEnum() != nullptr; } - -bool Symbol::isBlock() const -{ return asBlock() != nullptr; } - -bool Symbol::isUsingNamespaceDirective() const -{ return asUsingNamespaceDirective() != nullptr; } - -bool Symbol::isUsingDeclaration() const -{ return asUsingDeclaration() != nullptr; } - -bool Symbol::isDeclaration() const -{ return asDeclaration() != nullptr; } - -bool Symbol::isArgument() const -{ return asArgument() != nullptr; } - -bool Symbol::isTypenameArgument() const -{ return asTypenameArgument() != nullptr; } - -bool Symbol::isBaseClass() const -{ return asBaseClass() != nullptr; } - -bool Symbol::isObjCBaseClass() const -{ return asObjCBaseClass() != nullptr; } - -bool Symbol::isObjCBaseProtocol() const -{ return asObjCBaseProtocol() != nullptr; } - -bool Symbol::isObjCClass() const -{ return asObjCClass() != nullptr; } - -bool Symbol::isObjCForwardClassDeclaration() const -{ return asObjCForwardClassDeclaration() != nullptr; } - -bool Symbol::isObjCProtocol() const -{ return asObjCProtocol() != nullptr; } - -bool Symbol::isObjCForwardProtocolDeclaration() const -{ return asObjCForwardProtocolDeclaration() != nullptr; } - -bool Symbol::isObjCMethod() const -{ return asObjCMethod() != nullptr; } - -bool Symbol::isObjCPropertyDeclaration() const -{ return asObjCPropertyDeclaration() != nullptr; } - void Symbol::copy(Symbol *other) { _sourceLocation = other->_sourceLocation; diff --git a/src/libs/3rdparty/cplusplus/Symbol.h b/src/libs/3rdparty/cplusplus/Symbol.h index 3e1b525a62e..33fe77d80d3 100644 --- a/src/libs/3rdparty/cplusplus/Symbol.h +++ b/src/libs/3rdparty/cplusplus/Symbol.h @@ -61,16 +61,16 @@ public: virtual ~Symbol(); /// Returns this Symbol's source location. - int sourceLocation() const; + int sourceLocation() const { return _sourceLocation; } /// \returns this Symbol's line number. The line number is 1-based. - int line() const; + int line() const { return _line; } /// \returns this Symbol's column number. The column number is 1-based. - int column() const; + int column() const { return _column; } /// Returns this Symbol's file name. - const StringLiteral *fileId() const; + const StringLiteral *fileId() const { return _fileId; } /// Returns this Symbol's file name. const char *fileName() const; @@ -79,7 +79,7 @@ public: int fileNameLength() const; /// Returns this Symbol's name. - const Name *name() const; + const Name *name() const { return _name; } /// Sets this Symbol's name. void setName(const Name *name); // ### dangerous @@ -88,115 +88,46 @@ public: const Identifier *identifier() const; /// Returns this Symbol's storage class specifier. - int storage() const; + int storage() const { return _storage; } /// Sets this Symbol's storage class specifier. - void setStorage(int storage); + void setStorage(int storage) { _storage = storage; } /// Returns this Symbol's visibility. - int visibility() const; + int visibility() const { return _visibility; } /// Sets this Symbol's visibility. - void setVisibility(int visibility); + void setVisibility(int visibility) { _visibility = visibility; } /// Returns the next chained Symbol. - Symbol *next() const; + Symbol *next() const { return _next; } /// Returns true if this Symbol has friend storage specifier. - bool isFriend() const; + bool isFriend() const { return _storage == Friend; } /// Returns true if this Symbol has register storage specifier. - bool isRegister() const; + bool isRegister() const { return _storage == Register; } /// Returns true if this Symbol has static storage specifier. - bool isStatic() const; + bool isStatic() const { return _storage == Static; } /// Returns true if this Symbol has extern storage specifier. - bool isExtern() const; + bool isExtern() const { return _storage == Extern; } /// Returns true if this Symbol has mutable storage specifier. - bool isMutable() const; + bool isMutable() const { return _storage == Mutable; } /// Returns true if this Symbol has typedef storage specifier. - bool isTypedef() const; + bool isTypedef() const { return _storage == Typedef; } /// Returns true if this Symbol's visibility is public. - bool isPublic() const; + bool isPublic() const { return _visibility == Public; } /// Returns true if this Symbol's visibility is protected. - bool isProtected() const; + bool isProtected() const { return _visibility == Protected; } /// Returns true if this Symbol's visibility is private. - bool isPrivate() const; - - /// Returns true if this Symbol is a Scope. - bool isScope() const; - - /// Returns true if this Symbol is an Enum. - bool isEnum() const; - - /// Returns true if this Symbol is an Function. - bool isFunction() const; - - /// Returns true if this Symbol is a Namespace. - bool isNamespace() const; - - /// Returns true if this Symbol is a Template. - bool isTemplate() const; - - /// Returns true if this Symbol is a Class. - bool isClass() const; - - /// Returns true if this Symbol is a Block. - bool isBlock() const; - - /// Returns true if this Symbol is a UsingNamespaceDirective. - bool isUsingNamespaceDirective() const; - - /// Returns true if this Symbol is a UsingDeclaration. - bool isUsingDeclaration() const; - - /// Returns true if this Symbol is a Declaration. - bool isDeclaration() const; - - /// Returns true if this Symbol is an Argument. - bool isArgument() const; - - /// Returns true if this Symbol is a Typename argument. - bool isTypenameArgument() const; - - /// Returns true if this Symbol is a BaseClass. - bool isBaseClass() const; - - /// Returns true if this Symbol is a ForwardClassDeclaration. - bool isForwardClassDeclaration() const; - - /// Returns true if this Symbol is a QtPropertyDeclaration. - bool isQtPropertyDeclaration() const; - - /// Returns true if this Symbol is a QtEnum. - bool isQtEnum() const; - - bool isObjCBaseClass() const; - bool isObjCBaseProtocol() const; - - /// Returns true if this Symbol is an Objective-C Class declaration. - bool isObjCClass() const; - - /// Returns true if this Symbol is an Objective-C Class forward declaration. - bool isObjCForwardClassDeclaration() const; - - /// Returns true if this Symbol is an Objective-C Protocol declaration. - bool isObjCProtocol() const; - - /// Returns true if this Symbol is an Objective-C Protocol forward declaration. - bool isObjCForwardProtocolDeclaration() const; - - /// Returns true if this Symbol is an Objective-C method declaration. - bool isObjCMethod() const; - - /// Returns true if this Symbol is an Objective-C @property declaration. - bool isObjCPropertyDeclaration() const; + bool isPrivate() const { return _visibility == Private; } Utils::Link toLink() const; @@ -226,53 +157,98 @@ public: virtual const ObjCMethod *asObjCMethod() const { return nullptr; } virtual const ObjCPropertyDeclaration *asObjCPropertyDeclaration() const { return nullptr; } + /// Returns this Symbol as a Scope. virtual Scope *asScope() { return nullptr; } + + /// Returns this Symbol as an Enum. virtual Enum *asEnum() { return nullptr; } + + /// Returns this Symbol as an Function. virtual Function *asFunction() { return nullptr; } + + /// Returns this Symbol as a Namespace. virtual Namespace *asNamespace() { return nullptr; } + + /// Returns this Symbol as a Template. virtual Template *asTemplate() { return nullptr; } + virtual NamespaceAlias *asNamespaceAlias() { return nullptr; } + + /// Returns this Symbol as a Class. virtual Class *asClass() { return nullptr; } + + /// Returns this Symbol as a Block. virtual Block *asBlock() { return nullptr; } + + /// Returns this Symbol as a UsingNamespaceDirective. virtual UsingNamespaceDirective *asUsingNamespaceDirective() { return nullptr; } + + /// Returns this Symbol as a UsingDeclaration. virtual UsingDeclaration *asUsingDeclaration() { return nullptr; } + + /// Returns this Symbol as a Declaration. virtual Declaration *asDeclaration() { return nullptr; } + + /// Returns this Symbol as an Argument. virtual Argument *asArgument() { return nullptr; } + + /// Returns this Symbol as a Typename argument. virtual TypenameArgument *asTypenameArgument() { return nullptr; } + + /// Returns this Symbol as a BaseClass. virtual BaseClass *asBaseClass() { return nullptr; } + + /// Returns this Symbol as a ForwardClassDeclaration. virtual ForwardClassDeclaration *asForwardClassDeclaration() { return nullptr; } + + /// Returns this Symbol as a QtPropertyDeclaration. virtual QtPropertyDeclaration *asQtPropertyDeclaration() { return nullptr; } + + /// Returns this Symbol as a QtEnum. virtual QtEnum *asQtEnum() { return nullptr; } + virtual ObjCBaseClass *asObjCBaseClass() { return nullptr; } virtual ObjCBaseProtocol *asObjCBaseProtocol() { return nullptr; } + + /// Returns this Symbol as an Objective-C Class declaration. virtual ObjCClass *asObjCClass() { return nullptr; } + + /// Returns this Symbol as an Objective-C Class forward declaration. virtual ObjCForwardClassDeclaration *asObjCForwardClassDeclaration() { return nullptr; } + + /// Returns this Symbol as an Objective-C Protocol declaration. virtual ObjCProtocol *asObjCProtocol() { return nullptr; } + + /// Returns this Symbol as an Objective-C Protocol forward declaration. virtual ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclaration() { return nullptr; } + + /// Returns this Symbol as an Objective-C method declaration. virtual ObjCMethod *asObjCMethod() { return nullptr; } + + /// Returns this Symbol as an Objective-C @property declaration. virtual ObjCPropertyDeclaration *asObjCPropertyDeclaration() { return nullptr; } /// Returns this Symbol's type. virtual FullySpecifiedType type() const = 0; /// Returns this Symbol's hash value. - unsigned hashCode() const; + unsigned hashCode() const { return _hashCode; } /// Returns this Symbol's index. - unsigned index() const; + unsigned index() const { return _index; } const Name *unqualifiedName() const; - bool isGenerated() const; + bool isGenerated() const { return _isGenerated; } - bool isDeprecated() const; - void setDeprecated(bool isDeprecated); + bool isDeprecated() const { return _isDeprecated; } + void setDeprecated(bool isDeprecated) { _isDeprecated = isDeprecated; } - bool isUnavailable() const; - void setUnavailable(bool isUnavailable); + bool isUnavailable() const { return _isUnavailable; } + void setUnavailable(bool isUnavailable) { _isUnavailable = isUnavailable; } /// Returns this Symbol's eclosing scope. - Scope *enclosingScope() const; + Scope *enclosingScope() const { return _enclosingScope; } /// Returns the eclosing namespace scope. Namespace *enclosingNamespace() const; diff --git a/src/libs/3rdparty/cplusplus/Symbols.cpp b/src/libs/3rdparty/cplusplus/Symbols.cpp index a6a96192bcf..0a14375aed0 100644 --- a/src/libs/3rdparty/cplusplus/Symbols.cpp +++ b/src/libs/3rdparty/cplusplus/Symbols.cpp @@ -42,15 +42,13 @@ UsingNamespaceDirective::UsingNamespaceDirective(Clone *clone, Subst *subst, Usi : Symbol(clone, subst, original) { } -UsingNamespaceDirective::~UsingNamespaceDirective() -{ } - FullySpecifiedType UsingNamespaceDirective::type() const { return FullySpecifiedType(); } void UsingNamespaceDirective::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } + NamespaceAlias::NamespaceAlias(TranslationUnit *translationUnit, int sourceLocation, const Name *name) : Symbol(translationUnit, sourceLocation, name), _namespaceName(nullptr) @@ -61,15 +59,6 @@ NamespaceAlias::NamespaceAlias(Clone *clone, Subst *subst, NamespaceAlias *origi , _namespaceName(clone->name(original->_namespaceName, subst)) { } -NamespaceAlias::~NamespaceAlias() -{ } - -const Name *NamespaceAlias::namespaceName() const -{ return _namespaceName; } - -void NamespaceAlias::setNamespaceName(const Name *namespaceName) -{ _namespaceName = namespaceName; } - FullySpecifiedType NamespaceAlias::type() const { return FullySpecifiedType(); } @@ -86,15 +75,13 @@ UsingDeclaration::UsingDeclaration(Clone *clone, Subst *subst, UsingDeclaration : Symbol(clone, subst, original) { } -UsingDeclaration::~UsingDeclaration() -{ } - FullySpecifiedType UsingDeclaration::type() const { return FullySpecifiedType(); } -void UsingDeclaration::visitSymbol0(SymbolVisitor *visitor) +void CPlusPlus::UsingDeclaration::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } + Declaration::Declaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name) : Symbol(translationUnit, sourceLocation, name) , _initializer(nullptr) @@ -204,41 +191,16 @@ Declaration::Declaration(Clone *clone, Subst *subst, Declaration *original) _type = newType; } -Declaration::~Declaration() -{ } - -void Declaration::setType(const FullySpecifiedType &type) -{ _type = type; } - -void Declaration::setInitializer(const StringLiteral *initializer) -{ - _initializer = initializer; -} - -FullySpecifiedType Declaration::type() const -{ return _type; } - -const StringLiteral *Declaration::getInitializer() const -{ - return _initializer; -} - void Declaration::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } + EnumeratorDeclaration::EnumeratorDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name) : Declaration(translationUnit, sourceLocation, name) , _constantValue(nullptr) {} -EnumeratorDeclaration::~EnumeratorDeclaration() -{} -const StringLiteral *EnumeratorDeclaration::constantValue() const -{ return _constantValue; } - -void EnumeratorDeclaration::setConstantValue(const StringLiteral *constantValue) -{ _constantValue = constantValue; } Argument::Argument(TranslationUnit *translationUnit, int sourceLocation, const Name *name) : Symbol(translationUnit, sourceLocation, name), @@ -251,27 +213,10 @@ Argument::Argument(Clone *clone, Subst *subst, Argument *original) , _type(clone->type(original->_type, subst)) { } -Argument::~Argument() -{ } - -bool Argument::hasInitializer() const -{ return _initializer != nullptr; } - -const StringLiteral *Argument::initializer() const -{ return _initializer; } - -void Argument::setInitializer(const StringLiteral *initializer) -{ _initializer = initializer; } - -void Argument::setType(const FullySpecifiedType &type) -{ _type = type; } - -FullySpecifiedType Argument::type() const -{ return _type; } - void Argument::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } + TypenameArgument::TypenameArgument(TranslationUnit *translationUnit, int sourceLocation, const Name *name) : Symbol(translationUnit, sourceLocation, name) , _isClassDeclarator(false) @@ -283,18 +228,10 @@ TypenameArgument::TypenameArgument(Clone *clone, Subst *subst, TypenameArgument , _isClassDeclarator(original->_isClassDeclarator) { } -TypenameArgument::~TypenameArgument() -{ } - -void TypenameArgument::setType(const FullySpecifiedType &type) -{ _type = type; } - -FullySpecifiedType TypenameArgument::type() const -{ return _type; } - void TypenameArgument::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } + Function::Function(TranslationUnit *translationUnit, int sourceLocation, const Name *name) : Scope(translationUnit, sourceLocation, name), _flags(0) @@ -307,27 +244,6 @@ Function::Function(Clone *clone, Subst *subst, Function *original) , _flags(original->_flags) { } -Function::~Function() -{ } - -bool Function::isNormal() const -{ return f._methodKey == NormalMethod; } - -bool Function::isSignal() const -{ return f._methodKey == SignalMethod; } - -bool Function::isSlot() const -{ return f._methodKey == SlotMethod; } - -bool Function::isInvokable() const -{ return f._methodKey == InvokableMethod; } - -int Function::methodKey() const -{ return f._methodKey; } - -void Function::setMethodKey(int key) -{ f._methodKey = key; } - bool Function::isSignatureEqualTo(const Function *other, Matcher *matcher) const { if (! other) @@ -409,12 +325,6 @@ FullySpecifiedType Function::type() const return ty; } -FullySpecifiedType Function::returnType() const -{ return _returnType; } - -void Function::setReturnType(const FullySpecifiedType &returnType) -{ _returnType = returnType; } - bool Function::hasReturnType() const { const FullySpecifiedType ty = returnType(); @@ -431,7 +341,7 @@ int Function::argumentCount() const // arguments with a lambda as default argument will also have more blocks. int argc = 0; for (int it = 0; it < memCnt; ++it) - if (memberAt(it)->isArgument()) + if (memberAt(it)->asArgument()) ++argc; return argc; } @@ -470,66 +380,6 @@ int Function::minimumArgumentCount() const return index; } -bool Function::isVirtual() const -{ return f._isVirtual; } - -void Function::setVirtual(bool isVirtual) -{ f._isVirtual = isVirtual; } - -bool Function::isOverride() const -{ return f._isOverride; } - -void Function::setOverride(bool isOverride) -{ f._isOverride = isOverride; } - -bool Function::isFinal() const -{ return f._isFinal; } - -void Function::setFinal(bool isFinal) -{ f._isFinal = isFinal; } - -bool Function::isVariadic() const -{ return f._isVariadic; } - -void Function::setVariadic(bool isVariadic) -{ f._isVariadic = isVariadic; } - -bool Function::isVariadicTemplate() const -{ return f._isVariadicTemplate; } - -void Function::setVariadicTemplate(bool isVariadicTemplate) -{ f._isVariadicTemplate = isVariadicTemplate; } - -bool Function::isConst() const -{ return f._isConst; } - -void Function::setConst(bool isConst) -{ f._isConst = isConst; } - -bool Function::isVolatile() const -{ return f._isVolatile; } - -void Function::setVolatile(bool isVolatile) -{ f._isVolatile = isVolatile; } - -bool Function::isPureVirtual() const -{ return f._isPureVirtual; } - -void Function::setPureVirtual(bool isPureVirtual) -{ f._isPureVirtual = isPureVirtual; } - -Function::RefQualifier Function::refQualifier() const -{ return static_cast(f._refQualifier); } - -void Function::setRefQualifier(Function::RefQualifier refQualifier) -{ f._refQualifier = refQualifier; } - -bool Function::isAmbiguous() const -{ return f._isAmbiguous; } - -void Function::setAmbiguous(bool isAmbiguous) -{ f._isAmbiguous = isAmbiguous; } - void Function::visitSymbol0(SymbolVisitor *visitor) { if (visitor->visit(this)) { @@ -569,11 +419,6 @@ bool Function::maybeValidPrototype(int actualArgumentCount) const return true; } -const StringLiteral *Function::exceptionSpecification() -{ return _exceptionSpecification; } - -void Function::setExceptionSpecification(const StringLiteral *spec) -{ _exceptionSpecification = spec; } Block::Block(TranslationUnit *translationUnit, int sourceLocation) : Scope(translationUnit, sourceLocation, /*name = */ nullptr) @@ -583,9 +428,6 @@ Block::Block(Clone *clone, Subst *subst, Block *original) : Scope(clone, subst, original) { } -Block::~Block() -{ } - FullySpecifiedType Block::type() const { return FullySpecifiedType(); } @@ -608,21 +450,9 @@ Enum::Enum(Clone *clone, Subst *subst, Enum *original) , _isScoped(original->isScoped()) { } -Enum::~Enum() -{ } - FullySpecifiedType Enum::type() const { return FullySpecifiedType(const_cast(this)); } -bool Enum::isScoped() const -{ - return _isScoped; -} - -void Enum::setScoped(bool scoped) -{ - _isScoped = scoped; -} void Enum::accept0(TypeVisitor *visitor) { visitor->visit(this); } @@ -652,9 +482,6 @@ Template::Template(Clone *clone, Subst *subst, Template *original) : Scope(clone, subst, original) { } -Template::~Template() -{ } - int Template::templateParameterCount() const { if (declaration() != nullptr) @@ -663,17 +490,14 @@ int Template::templateParameterCount() const return 0; } -Symbol *Template::templateParameterAt(int index) const -{ return memberAt(index); } - Symbol *Template::declaration() const { if (isEmpty()) return nullptr; if (Symbol *s = memberAt(memberCount() - 1)) { - if (s->isClass() || s->isForwardClassDeclaration() || - s->isTemplate() || s->isFunction() || s->isDeclaration()) + if (s->asClass() || s->asForwardClassDeclaration() || + s->asTemplate() || s->asFunction() || s->asDeclaration()) return s; } @@ -712,9 +536,6 @@ Namespace::Namespace(Clone *clone, Subst *subst, Namespace *original) , _isInline(original->_isInline) { } -Namespace::~Namespace() -{ } - void Namespace::accept0(TypeVisitor *visitor) { visitor->visit(this); } @@ -749,30 +570,10 @@ BaseClass::BaseClass(Clone *clone, Subst *subst, BaseClass *original) , _type(clone->type(original->_type, subst)) { } -BaseClass::~BaseClass() -{ } - -FullySpecifiedType BaseClass::type() const -{ return _type; } - -void BaseClass::setType(const FullySpecifiedType &type) -{ _type = type; } - -bool BaseClass::isVirtual() const -{ return _isVirtual; } - -void BaseClass::setVirtual(bool isVirtual) -{ _isVirtual = isVirtual; } - -bool BaseClass::isVariadic() const -{ return _isVariadic; } - -void BaseClass::setVariadic(bool isVariadic) -{ _isVariadic = isVariadic; } - void BaseClass::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } + ForwardClassDeclaration::ForwardClassDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name) : Symbol(translationUnit, sourceLocation, name) @@ -782,9 +583,6 @@ ForwardClassDeclaration::ForwardClassDeclaration(Clone *clone, Subst *subst, For : Symbol(clone, subst, original) { } -ForwardClassDeclaration::~ForwardClassDeclaration() -{ } - FullySpecifiedType ForwardClassDeclaration::type() const { return FullySpecifiedType(const_cast(this)); } @@ -815,24 +613,6 @@ Class::Class(Clone *clone, Subst *subst, Class *original) addBaseClass(clone->symbol(original->_baseClasses.at(i), subst)->asBaseClass()); } -Class::~Class() -{ } - -bool Class::isClass() const -{ return _key == ClassKey; } - -bool Class::isStruct() const -{ return _key == StructKey; } - -bool Class::isUnion() const -{ return _key == UnionKey; } - -Class::Key Class::classKey() const -{ return _key; } - -void Class::setClassKey(Key key) -{ _key = key; } - void Class::accept0(TypeVisitor *visitor) { visitor->visit(this); } @@ -880,21 +660,6 @@ QtPropertyDeclaration::QtPropertyDeclaration(Clone *clone, Subst *subst, QtPrope , _flags(original->_flags) { } -QtPropertyDeclaration::~QtPropertyDeclaration() -{ } - -void QtPropertyDeclaration::setType(const FullySpecifiedType &type) -{ _type = type; } - -void QtPropertyDeclaration::setFlags(int flags) -{ _flags = flags; } - -int QtPropertyDeclaration::flags() const -{ return _flags; } - -FullySpecifiedType QtPropertyDeclaration::type() const -{ return _type; } - void QtPropertyDeclaration::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } @@ -907,12 +672,6 @@ QtEnum::QtEnum(Clone *clone, Subst *subst, QtEnum *original) : Symbol(clone, subst, original) { } -QtEnum::~QtEnum() -{ } - -FullySpecifiedType QtEnum::type() const -{ return FullySpecifiedType(); } - void QtEnum::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } @@ -925,8 +684,6 @@ ObjCBaseClass::ObjCBaseClass(Clone *clone, Subst *subst, ObjCBaseClass *original : Symbol(clone, subst, original) { } -ObjCBaseClass::~ObjCBaseClass() -{ } FullySpecifiedType ObjCBaseClass::type() const { return FullySpecifiedType(); } @@ -942,9 +699,6 @@ ObjCBaseProtocol::ObjCBaseProtocol(Clone *clone, Subst *subst, ObjCBaseProtocol : Symbol(clone, subst, original) { } -ObjCBaseProtocol::~ObjCBaseProtocol() -{ } - FullySpecifiedType ObjCBaseProtocol::type() const { return FullySpecifiedType(); } @@ -970,30 +724,6 @@ ObjCClass::ObjCClass(Clone *clone, Subst *subst, ObjCClass *original) addProtocol(clone->symbol(original->_protocols.at(i), subst)->asObjCBaseProtocol()); } -ObjCClass::~ObjCClass() -{} - -bool ObjCClass::isInterface() const -{ return _isInterface; } - -void ObjCClass::setInterface(bool isInterface) -{ _isInterface = isInterface; } - -bool ObjCClass::isCategory() const -{ return _categoryName != nullptr; } - -const Name *ObjCClass::categoryName() const -{ return _categoryName; } - -void ObjCClass::setCategoryName(const Name *categoryName) -{ _categoryName = categoryName; } - -ObjCBaseClass *ObjCClass::baseClass() const -{ return _baseClass; } - -void ObjCClass::setBaseClass(ObjCBaseClass *baseClass) -{ _baseClass = baseClass; } - int ObjCClass::protocolCount() const { return int(_protocols.size()); } @@ -1043,9 +773,6 @@ ObjCProtocol::ObjCProtocol(Clone *clone, Subst *subst, ObjCProtocol *original) addProtocol(clone->symbol(original->_protocols.at(i), subst)->asObjCBaseProtocol()); } -ObjCProtocol::~ObjCProtocol() -{} - int ObjCProtocol::protocolCount() const { return int(_protocols.size()); } @@ -1087,9 +814,6 @@ ObjCForwardClassDeclaration::ObjCForwardClassDeclaration(Clone *clone, Subst *su : Symbol(clone, subst, original) { } -ObjCForwardClassDeclaration::~ObjCForwardClassDeclaration() -{} - FullySpecifiedType ObjCForwardClassDeclaration::type() const { return FullySpecifiedType(); } @@ -1117,9 +841,6 @@ ObjCForwardProtocolDeclaration::ObjCForwardProtocolDeclaration(Clone *clone, Sub : Symbol(clone, subst, original) { } -ObjCForwardProtocolDeclaration::~ObjCForwardProtocolDeclaration() -{} - FullySpecifiedType ObjCForwardProtocolDeclaration::type() const { return FullySpecifiedType(); } @@ -1148,9 +869,6 @@ ObjCMethod::ObjCMethod(Clone *clone, Subst *subst, ObjCMethod *original) , _flags(original->_flags) { } -ObjCMethod::~ObjCMethod() -{ } - void ObjCMethod::accept0(TypeVisitor *visitor) { visitor->visit(this); } @@ -1165,12 +883,6 @@ bool ObjCMethod::match0(const Type *otherType, Matcher *matcher) const FullySpecifiedType ObjCMethod::type() const { return FullySpecifiedType(const_cast(this)); } -FullySpecifiedType ObjCMethod::returnType() const -{ return _returnType; } - -void ObjCMethod::setReturnType(const FullySpecifiedType &returnType) -{ _returnType = returnType; } - bool ObjCMethod::hasReturnType() const { const FullySpecifiedType ty = returnType(); @@ -1180,7 +892,7 @@ bool ObjCMethod::hasReturnType() const int ObjCMethod::argumentCount() const { const int c = memberCount(); - if (c > 0 && memberAt(c - 1)->isBlock()) + if (c > 0 && memberAt(c - 1)->asBlock()) return c - 1; return c; } @@ -1196,12 +908,6 @@ bool ObjCMethod::hasArguments() const (argumentCount() == 1 && argumentAt(0)->type()->isVoidType())); } -bool ObjCMethod::isVariadic() const -{ return f._isVariadic; } - -void ObjCMethod::setVariadic(bool isVariadic) -{ f._isVariadic = isVariadic; } - void ObjCMethod::visitSymbol0(SymbolVisitor *visitor) { if (visitor->visit(this)) { @@ -1228,39 +934,6 @@ ObjCPropertyDeclaration::ObjCPropertyDeclaration(Clone *clone, Subst *subst, Obj , _propertyAttributes(original->_propertyAttributes) { } -ObjCPropertyDeclaration::~ObjCPropertyDeclaration() -{} - -bool ObjCPropertyDeclaration::hasAttribute(int attribute) const -{ return _propertyAttributes & attribute; } - -void ObjCPropertyDeclaration::setAttributes(int attributes) -{ _propertyAttributes = attributes; } - -bool ObjCPropertyDeclaration::hasGetter() const -{ return hasAttribute(Getter); } - -bool ObjCPropertyDeclaration::hasSetter() const -{ return hasAttribute(Setter); } - -const Name *ObjCPropertyDeclaration::getterName() const -{ return _getterName; } - -void ObjCPropertyDeclaration::setGetterName(const Name *getterName) -{ _getterName = getterName; } - -const Name *ObjCPropertyDeclaration::setterName() const -{ return _setterName; } - -void ObjCPropertyDeclaration::setSetterName(const Name *setterName) -{ _setterName = setterName; } - -void ObjCPropertyDeclaration::setType(const FullySpecifiedType &type) -{ _type = type; } - -FullySpecifiedType ObjCPropertyDeclaration::type() const -{ return _type; } - void ObjCPropertyDeclaration::visitSymbol0(SymbolVisitor *visitor) { if (visitor->visit(this)) { diff --git a/src/libs/3rdparty/cplusplus/Symbols.h b/src/libs/3rdparty/cplusplus/Symbols.h index eb926a1b860..da29692e7b1 100644 --- a/src/libs/3rdparty/cplusplus/Symbols.h +++ b/src/libs/3rdparty/cplusplus/Symbols.h @@ -31,64 +31,55 @@ namespace CPlusPlus { class StringLiteral; -class CPLUSPLUS_EXPORT UsingNamespaceDirective: public Symbol +class CPLUSPLUS_EXPORT UsingNamespaceDirective final : public Symbol { public: UsingNamespaceDirective(TranslationUnit *translationUnit, int sourceLocation, const Name *name); UsingNamespaceDirective(Clone *clone, Subst *subst, UsingNamespaceDirective *original); - virtual ~UsingNamespaceDirective(); + ~UsingNamespaceDirective() override = default; // Symbol's interface FullySpecifiedType type() const override; - const UsingNamespaceDirective *asUsingNamespaceDirective() const override - { return this; } - - UsingNamespaceDirective *asUsingNamespaceDirective() override - { return this; } + const UsingNamespaceDirective *asUsingNamespaceDirective() const override { return this; } + UsingNamespaceDirective *asUsingNamespaceDirective() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; }; -class CPLUSPLUS_EXPORT UsingDeclaration: public Symbol +class CPLUSPLUS_EXPORT UsingDeclaration final : public Symbol { public: UsingDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name); UsingDeclaration(Clone *clone, Subst *subst, UsingDeclaration *original); - virtual ~UsingDeclaration(); + ~UsingDeclaration() override = default; // Symbol's interface FullySpecifiedType type() const override; - const UsingDeclaration *asUsingDeclaration() const override - { return this; } - - UsingDeclaration *asUsingDeclaration() override - { return this; } + const UsingDeclaration *asUsingDeclaration() const override { return this; } + UsingDeclaration *asUsingDeclaration() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; }; -class CPLUSPLUS_EXPORT NamespaceAlias: public Symbol +class CPLUSPLUS_EXPORT NamespaceAlias final : public Symbol { public: NamespaceAlias(TranslationUnit *translationUnit, int sourceLocation, const Name *name); NamespaceAlias(Clone *clone, Subst *subst, NamespaceAlias *original); - virtual ~NamespaceAlias(); + ~NamespaceAlias() override = default; - const Name *namespaceName() const; - void setNamespaceName(const Name *namespaceName); + const Name *namespaceName() const { return _namespaceName; } + void setNamespaceName(const Name *namespaceName) { _namespaceName = namespaceName; } // Symbol's interface FullySpecifiedType type() const override; - const NamespaceAlias *asNamespaceAlias() const override - { return this; } - - NamespaceAlias *asNamespaceAlias() override - { return this; } + const NamespaceAlias *asNamespaceAlias() const override { return this; } + NamespaceAlias *asNamespaceAlias() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -97,31 +88,25 @@ private: const Name *_namespaceName; }; -class CPLUSPLUS_EXPORT Declaration: public Symbol +class CPLUSPLUS_EXPORT Declaration : public Symbol { public: Declaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name); Declaration(Clone *clone, Subst *subst, Declaration *original); - virtual ~Declaration(); + ~Declaration() override = default; - void setType(const FullySpecifiedType &type); - void setInitializer(StringLiteral const* initializer); + void setType(const FullySpecifiedType &type) { _type = type; } + void setInitializer(StringLiteral const* initializer) { _initializer = initializer; } // Symbol's interface - FullySpecifiedType type() const override; - const StringLiteral *getInitializer() const; + FullySpecifiedType type() const override { return _type; } + const StringLiteral *getInitializer() const { return _initializer; } - const Declaration *asDeclaration() const override - { return this; } + const Declaration *asDeclaration() const override { return this; } + Declaration *asDeclaration() override { return this; } - Declaration *asDeclaration() override - { return this; } - - virtual EnumeratorDeclaration *asEnumeratorDeclarator() - { return nullptr; } - - virtual const EnumeratorDeclaration *asEnumeratorDeclarator() const - { return nullptr; } + virtual EnumeratorDeclaration *asEnumeratorDeclarator() { return nullptr; } + virtual const EnumeratorDeclaration *asEnumeratorDeclarator() const { return nullptr; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -131,47 +116,41 @@ private: const StringLiteral *_initializer; }; -class CPLUSPLUS_EXPORT EnumeratorDeclaration: public Declaration +class CPLUSPLUS_EXPORT EnumeratorDeclaration final : public Declaration { public: EnumeratorDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name); - virtual ~EnumeratorDeclaration(); + ~EnumeratorDeclaration() override = default; - const StringLiteral *constantValue() const; - void setConstantValue(const StringLiteral *constantValue); + const StringLiteral *constantValue() const { return _constantValue; } + void setConstantValue(const StringLiteral *constantValue) { _constantValue = constantValue; } - EnumeratorDeclaration *asEnumeratorDeclarator() override - { return this; } - - const EnumeratorDeclaration *asEnumeratorDeclarator() const override - { return this; } + EnumeratorDeclaration *asEnumeratorDeclarator() override { return this; } + const EnumeratorDeclaration *asEnumeratorDeclarator() const override { return this; } private: const StringLiteral *_constantValue; }; -class CPLUSPLUS_EXPORT Argument: public Symbol +class CPLUSPLUS_EXPORT Argument final : public Symbol { public: Argument(TranslationUnit *translationUnit, int sourceLocation, const Name *name); Argument(Clone *clone, Subst *subst, Argument *original); - virtual ~Argument(); + ~Argument() override = default; - void setType(const FullySpecifiedType &type); + void setType(const FullySpecifiedType &type) { _type = type; } - bool hasInitializer() const; + bool hasInitializer() const { return _initializer != nullptr; } - const StringLiteral *initializer() const; - void setInitializer(const StringLiteral *initializer); + const StringLiteral *initializer() const { return _initializer; } + void setInitializer(const StringLiteral *initializer) { _initializer = initializer; } // Symbol's interface - FullySpecifiedType type() const override; + FullySpecifiedType type() const override { return _type; } - const Argument *asArgument() const override - { return this; } - - Argument *asArgument() override - { return this; } + const Argument *asArgument() const override { return this; } + Argument *asArgument() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -181,25 +160,22 @@ private: FullySpecifiedType _type; }; -class CPLUSPLUS_EXPORT TypenameArgument: public Symbol +class CPLUSPLUS_EXPORT TypenameArgument final : public Symbol { public: TypenameArgument(TranslationUnit *translationUnit, int sourceLocation, const Name *name); TypenameArgument(Clone *clone, Subst *subst, TypenameArgument *original); - virtual ~TypenameArgument(); + ~TypenameArgument() = default; - void setType(const FullySpecifiedType &type); + void setType(const FullySpecifiedType &type) { _type = type; } void setClassDeclarator(bool isClassDecl) { _isClassDeclarator = isClassDecl; } bool isClassDeclarator() const { return _isClassDeclarator; } // Symbol's interface - FullySpecifiedType type() const override; + FullySpecifiedType type() const override { return _type; } - const TypenameArgument *asTypenameArgument() const override - { return this; } - - TypenameArgument *asTypenameArgument() override - { return this; } + const TypenameArgument *asTypenameArgument() const override { return this; } + TypenameArgument *asTypenameArgument() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -209,12 +185,12 @@ private: bool _isClassDeclarator; }; -class CPLUSPLUS_EXPORT Block: public Scope +class CPLUSPLUS_EXPORT Block final : public Scope { public: Block(TranslationUnit *translationUnit, int sourceLocation); Block(Clone *clone, Subst *subst, Block *original); - virtual ~Block(); + ~Block() override = default; // Symbol's interface FullySpecifiedType type() const override; @@ -229,28 +205,22 @@ protected: void visitSymbol0(SymbolVisitor *visitor) override; }; -class CPLUSPLUS_EXPORT ForwardClassDeclaration: public Symbol, public Type +class CPLUSPLUS_EXPORT ForwardClassDeclaration final : public Symbol, public Type { public: ForwardClassDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ForwardClassDeclaration(Clone *clone, Subst *subst, ForwardClassDeclaration *original); - virtual ~ForwardClassDeclaration(); + ~ForwardClassDeclaration() override = default; // Symbol's interface FullySpecifiedType type() const override; - const ForwardClassDeclaration *asForwardClassDeclaration() const override - { return this; } - - ForwardClassDeclaration *asForwardClassDeclaration() override - { return this; } + const ForwardClassDeclaration *asForwardClassDeclaration() const override { return this; } + ForwardClassDeclaration *asForwardClassDeclaration() override { return this; } // Type's interface - const ForwardClassDeclaration *asForwardClassDeclarationType() const override - { return this; } - - ForwardClassDeclaration *asForwardClassDeclarationType() override - { return this; } + const ForwardClassDeclaration *asForwardClassDeclarationType() const override { return this; } + ForwardClassDeclaration *asForwardClassDeclarationType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -258,31 +228,25 @@ protected: bool match0(const Type *otherType, Matcher *matcher) const override; }; -class CPLUSPLUS_EXPORT Enum: public Scope, public Type +class CPLUSPLUS_EXPORT Enum final : public Scope, public Type { public: Enum(TranslationUnit *translationUnit, int sourceLocation, const Name *name); Enum(Clone *clone, Subst *subst, Enum *original); - virtual ~Enum(); + ~Enum() override = default; - bool isScoped() const; - void setScoped(bool scoped); + bool isScoped() const { return _isScoped; } + void setScoped(bool scoped) { _isScoped = scoped; } // Symbol's interface FullySpecifiedType type() const override; - const Enum *asEnum() const override - { return this; } - - Enum *asEnum() override - { return this; } + const Enum *asEnum() const override { return this; } + Enum *asEnum() override { return this; } // Type's interface - const Enum *asEnumType() const override - { return this; } - - Enum *asEnumType() override - { return this; } + const Enum *asEnumType() const override { return this; } + Enum *asEnumType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -293,7 +257,7 @@ private: bool _isScoped; }; -class CPLUSPLUS_EXPORT Function: public Scope, public Type +class CPLUSPLUS_EXPORT Function final : public Scope, public Type { public: enum MethodKey { @@ -312,17 +276,18 @@ public: public: Function(TranslationUnit *translationUnit, int sourceLocation, const Name *name); Function(Clone *clone, Subst *subst, Function *original); - virtual ~Function(); + ~Function() override = default; - bool isNormal() const; - bool isSignal() const; - bool isSlot() const; - bool isInvokable() const; - int methodKey() const; - void setMethodKey(int key); + bool isNormal() const { return f._methodKey == NormalMethod; } + bool isSignal() const { return f._methodKey == SignalMethod; } + bool isSlot() const { return f._methodKey == SlotMethod; } + bool isInvokable() const { return f._methodKey == InvokableMethod; } - FullySpecifiedType returnType() const; - void setReturnType(const FullySpecifiedType &returnType); + int methodKey() const { return f._methodKey; } + void setMethodKey(int key) { f._methodKey = key; } + + FullySpecifiedType returnType() const { return _returnType; } + void setReturnType(const FullySpecifiedType &returnType) { _returnType = returnType; } /** Convenience function that returns whether the function returns something (including void). */ bool hasReturnType() const; @@ -334,61 +299,55 @@ public: bool hasArguments() const; int minimumArgumentCount() const; - bool isVirtual() const; - void setVirtual(bool isVirtual); + bool isVirtual() const { return f._isVirtual; } + void setVirtual(bool isVirtual) { f._isVirtual = isVirtual; } - bool isOverride() const; - void setOverride(bool isOverride); + bool isOverride() const { return f._isOverride; } + void setOverride(bool isOverride) { f._isOverride = isOverride; } - bool isFinal() const; - void setFinal(bool isFinal); + bool isFinal() const { return f._isFinal; } + void setFinal(bool isFinal) { f._isFinal = isFinal; } - bool isVariadic() const; - void setVariadic(bool isVariadic); + bool isVariadic() const { return f._isVariadic; } + void setVariadic(bool isVariadic) { f._isVariadic = isVariadic; } - bool isVariadicTemplate() const; - void setVariadicTemplate(bool isVariadicTemplate); + bool isVariadicTemplate() const { return f._isVariadicTemplate; } + void setVariadicTemplate(bool isVariadicTemplate) { f._isVariadicTemplate = isVariadicTemplate; } - bool isConst() const; - void setConst(bool isConst); + bool isConst() const { return f._isConst; } + void setConst(bool isConst) { f._isConst = isConst; } bool isStatic() const { return f._isStatic; } void setStatic(bool isStatic) { f._isStatic = isStatic; } - bool isVolatile() const; - void setVolatile(bool isVolatile); + bool isVolatile() const { return f._isVolatile; } + void setVolatile(bool isVolatile) { f._isVolatile = isVolatile; } - bool isPureVirtual() const; - void setPureVirtual(bool isPureVirtual); + bool isPureVirtual() const { return f._isPureVirtual; } + void setPureVirtual(bool isPureVirtual) { f._isPureVirtual = isPureVirtual; } - RefQualifier refQualifier() const; - void setRefQualifier(RefQualifier refQualifier); + RefQualifier refQualifier() const { return static_cast(f._refQualifier); } + void setRefQualifier(RefQualifier refQualifier) { f._refQualifier = refQualifier; } bool isSignatureEqualTo(const Function *other, Matcher *matcher = nullptr) const; - bool isAmbiguous() const; // internal - void setAmbiguous(bool isAmbiguous); // internal + bool isAmbiguous() const { return f._isAmbiguous; } // internal + void setAmbiguous(bool isAmbiguous) { f._isAmbiguous = isAmbiguous; } // internal bool maybeValidPrototype(int actualArgumentCount) const; - const StringLiteral *exceptionSpecification(); - void setExceptionSpecification(const StringLiteral *spec); + const StringLiteral *exceptionSpecification() { return _exceptionSpecification; } + void setExceptionSpecification(const StringLiteral *spec) { _exceptionSpecification = spec; } // Symbol's interface FullySpecifiedType type() const override; - const Function *asFunction() const override - { return this; } - - Function *asFunction() override - { return this; } + const Function *asFunction() const override { return this; } + Function *asFunction() override { return this; } // Type's interface - const Function *asFunctionType() const override - { return this; } - - Function *asFunctionType() override - { return this; } + const Function *asFunctionType() const override { return this; } + Function *asFunctionType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -418,32 +377,26 @@ private: }; }; -class CPLUSPLUS_EXPORT Template: public Scope, public Type +class CPLUSPLUS_EXPORT Template final : public Scope, public Type { public: Template(TranslationUnit *translationUnit, int sourceLocation, const Name *name); Template(Clone *clone, Subst *subst, Template *original); - virtual ~Template(); + ~Template() override = default; int templateParameterCount() const; - Symbol *templateParameterAt(int index) const; + Symbol *templateParameterAt(int index) const { return memberAt(index); } Symbol *declaration() const; // Symbol's interface FullySpecifiedType type() const override; - const Template *asTemplate() const override - { return this; } - - Template *asTemplate() override - { return this; } + const Template *asTemplate() const override { return this; } + Template *asTemplate() override { return this; } // Type's interface - const Template *asTemplateType() const override - { return this; } - - Template *asTemplateType() override - { return this; } + const Template *asTemplateType() const override { return this; } + Template *asTemplateType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -452,34 +405,25 @@ protected: }; -class CPLUSPLUS_EXPORT Namespace: public Scope, public Type +class CPLUSPLUS_EXPORT Namespace final : public Scope, public Type { public: Namespace(TranslationUnit *translationUnit, int sourceLocation, const Name *name); Namespace(Clone *clone, Subst *subst, Namespace *original); - virtual ~Namespace(); + ~Namespace() override = default; // Symbol's interface FullySpecifiedType type() const override; - const Namespace *asNamespace() const override - { return this; } - - Namespace *asNamespace() override - { return this; } + const Namespace *asNamespace() const override { return this; } + Namespace *asNamespace() override { return this; } // Type's interface - const Namespace *asNamespaceType() const override - { return this; } + const Namespace *asNamespaceType() const override { return this; } + Namespace *asNamespaceType() override { return this; } - Namespace *asNamespaceType() override - { return this; } - - bool isInline() const - { return _isInline; } - - void setInline(bool onoff) - { _isInline = onoff; } + bool isInline() const { return _isInline; } + void setInline(bool onoff) { _isInline = onoff; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -490,28 +434,25 @@ private: bool _isInline; }; -class CPLUSPLUS_EXPORT BaseClass: public Symbol +class CPLUSPLUS_EXPORT BaseClass final : public Symbol { public: BaseClass(TranslationUnit *translationUnit, int sourceLocation, const Name *name); BaseClass(Clone *clone, Subst *subst, BaseClass *original); - virtual ~BaseClass(); + ~BaseClass() override = default; - bool isVirtual() const; - void setVirtual(bool isVirtual); + bool isVirtual() const { return _isVirtual; } + void setVirtual(bool isVirtual) { _isVirtual = isVirtual; } - bool isVariadic() const; - void setVariadic(bool isVariadic); + bool isVariadic() const { return _isVariadic; } + void setVariadic(bool isVariadic) { _isVariadic = isVariadic; } // Symbol's interface - FullySpecifiedType type() const override; - void setType(const FullySpecifiedType &type); + FullySpecifiedType type() const override { return _type; } + void setType(const FullySpecifiedType &type) { _type = type; } - const BaseClass *asBaseClass() const override - { return this; } - - BaseClass *asBaseClass() override - { return this; } + const BaseClass *asBaseClass() const override { return this; } + BaseClass *asBaseClass() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -522,12 +463,12 @@ private: FullySpecifiedType _type; }; -class CPLUSPLUS_EXPORT Class: public Scope, public Type +class CPLUSPLUS_EXPORT Class final : public Scope, public Type { public: Class(TranslationUnit *translationUnit, int sourceLocation, const Name *name); Class(Clone *clone, Subst *subst, Class *original); - virtual ~Class(); + ~Class() override = default; enum Key { ClassKey, @@ -535,11 +476,12 @@ public: UnionKey }; - bool isClass() const; - bool isStruct() const; - bool isUnion() const; - Key classKey() const; - void setClassKey(Key key); + bool isClass() const { return _key == ClassKey; } + bool isStruct() const { return _key == StructKey; } + bool isUnion() const { return _key == UnionKey; } + + Key classKey() const { return _key; } + void setClassKey(Key key) { _key = key; } int baseClassCount() const; BaseClass *baseClassAt(int index) const; @@ -549,18 +491,12 @@ public: // Symbol's interface FullySpecifiedType type() const override; - const Class *asClass() const override - { return this; } - - Class *asClass() override - { return this; } + const Class *asClass() const override { return this; } + Class *asClass() override { return this; } // Type's interface - const Class *asClassType() const override - { return this; } - - Class *asClassType() override - { return this; } + const Class *asClassType() const override { return this; } + Class *asClassType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -572,7 +508,7 @@ private: std::vector _baseClasses; }; -class CPLUSPLUS_EXPORT QtPropertyDeclaration: public Symbol +class CPLUSPLUS_EXPORT QtPropertyDeclaration final : public Symbol { public: enum Flag { @@ -597,21 +533,17 @@ public: public: QtPropertyDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name); QtPropertyDeclaration(Clone *clone, Subst *subst, QtPropertyDeclaration *original); - virtual ~QtPropertyDeclaration(); + ~QtPropertyDeclaration() = default; - void setType(const FullySpecifiedType &type); - - void setFlags(int flags); - int flags() const; + void setType(const FullySpecifiedType &type) { _type = type; } + void setFlags(int flags) { _flags = flags; } + int flags() const { return _flags; } // Symbol's interface - FullySpecifiedType type() const override; + FullySpecifiedType type() const override { return _type; } - const QtPropertyDeclaration *asQtPropertyDeclaration() const override - { return this; } - - QtPropertyDeclaration *asQtPropertyDeclaration() override - { return this; } + const QtPropertyDeclaration *asQtPropertyDeclaration() const override { return this; } + QtPropertyDeclaration *asQtPropertyDeclaration() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -621,88 +553,73 @@ private: int _flags; }; -class CPLUSPLUS_EXPORT QtEnum: public Symbol +class CPLUSPLUS_EXPORT QtEnum final : public Symbol { public: QtEnum(TranslationUnit *translationUnit, int sourceLocation, const Name *name); QtEnum(Clone *clone, Subst *subst, QtEnum *original); - virtual ~QtEnum(); + ~QtEnum() override = default; // Symbol's interface - FullySpecifiedType type() const override; + FullySpecifiedType type() const override { return FullySpecifiedType(); } - const QtEnum *asQtEnum() const override - { return this; } - - QtEnum *asQtEnum() override - { return this; } + const QtEnum *asQtEnum() const override { return this; } + QtEnum *asQtEnum() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; }; -class CPLUSPLUS_EXPORT ObjCBaseClass: public Symbol +class CPLUSPLUS_EXPORT ObjCBaseClass final : public Symbol { public: ObjCBaseClass(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ObjCBaseClass(Clone *clone, Subst *subst, ObjCBaseClass *original); - virtual ~ObjCBaseClass(); + ~ObjCBaseClass() override = default; // Symbol's interface FullySpecifiedType type() const override; - const ObjCBaseClass *asObjCBaseClass() const override - { return this; } - - ObjCBaseClass *asObjCBaseClass() override - { return this; } + const ObjCBaseClass *asObjCBaseClass() const override { return this; } + ObjCBaseClass *asObjCBaseClass() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; }; -class CPLUSPLUS_EXPORT ObjCBaseProtocol: public Symbol +class CPLUSPLUS_EXPORT ObjCBaseProtocol final : public Symbol { public: ObjCBaseProtocol(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ObjCBaseProtocol(Clone *clone, Subst *subst, ObjCBaseProtocol *original); - virtual ~ObjCBaseProtocol(); + ~ObjCBaseProtocol() override = default; // Symbol's interface FullySpecifiedType type() const override; - const ObjCBaseProtocol *asObjCBaseProtocol() const override - { return this; } - - ObjCBaseProtocol *asObjCBaseProtocol() override - { return this; } + const ObjCBaseProtocol *asObjCBaseProtocol() const override { return this; } + ObjCBaseProtocol *asObjCBaseProtocol() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; }; -class CPLUSPLUS_EXPORT ObjCForwardProtocolDeclaration: public Symbol, public Type +class CPLUSPLUS_EXPORT ObjCForwardProtocolDeclaration final : public Symbol, public Type { public: ObjCForwardProtocolDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ObjCForwardProtocolDeclaration(Clone *clone, Subst *subst, ObjCForwardProtocolDeclaration *original); - virtual ~ObjCForwardProtocolDeclaration(); + ~ObjCForwardProtocolDeclaration() override = default; // Symbol's interface FullySpecifiedType type() const override; - const ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclaration() const override - { return this; } - - ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclaration() override - { return this; } + const ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclaration() const override { return this; } + ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclaration() override { return this; } // Type's interface - const ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclarationType() const override - { return this; } - - ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclarationType() override - { return this; } + const ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclarationType() const override { return this; } + ObjCForwardProtocolDeclaration *asObjCForwardProtocolDeclarationType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -710,12 +627,12 @@ protected: bool match0(const Type *otherType, Matcher *matcher) const override; }; -class CPLUSPLUS_EXPORT ObjCProtocol: public Scope, public Type +class CPLUSPLUS_EXPORT ObjCProtocol final : public Scope, public Type { public: ObjCProtocol(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ObjCProtocol(Clone *clone, Subst *subst, ObjCProtocol *original); - virtual ~ObjCProtocol(); + ~ObjCProtocol() override = default; int protocolCount() const; ObjCBaseProtocol *protocolAt(int index) const; @@ -724,18 +641,12 @@ public: // Symbol's interface FullySpecifiedType type() const override; - const ObjCProtocol *asObjCProtocol() const override - { return this; } - - ObjCProtocol *asObjCProtocol() override - { return this; } + const ObjCProtocol *asObjCProtocol() const override { return this; } + ObjCProtocol *asObjCProtocol() override { return this; } // Type's interface - const ObjCProtocol *asObjCProtocolType() const override - { return this; } - - ObjCProtocol *asObjCProtocolType() override - { return this; } + const ObjCProtocol *asObjCProtocolType() const override { return this; } + ObjCProtocol *asObjCProtocolType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -746,28 +657,22 @@ private: std::vector _protocols; }; -class CPLUSPLUS_EXPORT ObjCForwardClassDeclaration: public Symbol, public Type +class CPLUSPLUS_EXPORT ObjCForwardClassDeclaration final : public Symbol, public Type { public: ObjCForwardClassDeclaration(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ObjCForwardClassDeclaration(Clone *clone, Subst *subst, ObjCForwardClassDeclaration *original); - virtual ~ObjCForwardClassDeclaration(); + ~ObjCForwardClassDeclaration() override = default; // Symbol's interface FullySpecifiedType type() const override; - const ObjCForwardClassDeclaration *asObjCForwardClassDeclaration() const override - { return this; } - - ObjCForwardClassDeclaration *asObjCForwardClassDeclaration() override - { return this; } + const ObjCForwardClassDeclaration *asObjCForwardClassDeclaration() const override { return this; } + ObjCForwardClassDeclaration *asObjCForwardClassDeclaration() override { return this; } // Type's interface - const ObjCForwardClassDeclaration *asObjCForwardClassDeclarationType() const override - { return this; } - - ObjCForwardClassDeclaration *asObjCForwardClassDeclarationType() override - { return this; } + const ObjCForwardClassDeclaration *asObjCForwardClassDeclarationType() const override { return this; } + ObjCForwardClassDeclaration *asObjCForwardClassDeclarationType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -775,22 +680,22 @@ protected: bool match0(const Type *otherType, Matcher *matcher) const override; }; -class CPLUSPLUS_EXPORT ObjCClass: public Scope, public Type +class CPLUSPLUS_EXPORT ObjCClass final : public Scope, public Type { public: ObjCClass(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ObjCClass(Clone *clone, Subst *subst, ObjCClass *original); - virtual ~ObjCClass(); + ~ObjCClass() override = default; - bool isInterface() const; - void setInterface(bool isInterface); + bool isInterface() const { return _isInterface; } + void setInterface(bool isInterface) { _isInterface = isInterface; } - bool isCategory() const; - const Name *categoryName() const; - void setCategoryName(const Name *categoryName); + bool isCategory() const { return _categoryName != nullptr; } + const Name *categoryName() const { return _categoryName; } + void setCategoryName(const Name *categoryName) { _categoryName = categoryName; } - ObjCBaseClass *baseClass() const; - void setBaseClass(ObjCBaseClass *baseClass); + ObjCBaseClass *baseClass() const { return _baseClass; } + void setBaseClass(ObjCBaseClass *baseClass) { _baseClass = baseClass; } int protocolCount() const; ObjCBaseProtocol *protocolAt(int index) const; @@ -799,18 +704,12 @@ public: // Symbol's interface FullySpecifiedType type() const override; - const ObjCClass *asObjCClass() const override - { return this; } - - ObjCClass *asObjCClass() override - { return this; } + const ObjCClass *asObjCClass() const override { return this; } + ObjCClass *asObjCClass() override { return this; } // Type's interface - const ObjCClass *asObjCClassType() const override - { return this; } - - ObjCClass *asObjCClassType() override - { return this; } + const ObjCClass *asObjCClassType() const override { return this; } + ObjCClass *asObjCClassType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -824,15 +723,15 @@ private: bool _isInterface; }; -class CPLUSPLUS_EXPORT ObjCMethod: public Scope, public Type +class CPLUSPLUS_EXPORT ObjCMethod final : public Scope, public Type { public: ObjCMethod(TranslationUnit *translationUnit, int sourceLocation, const Name *name); ObjCMethod(Clone *clone, Subst *subst, ObjCMethod *original); - virtual ~ObjCMethod(); + ~ObjCMethod() override = default; - FullySpecifiedType returnType() const; - void setReturnType(const FullySpecifiedType &returnType); + FullySpecifiedType returnType() const { return _returnType; } + void setReturnType(const FullySpecifiedType &returnType) { _returnType = returnType; } /** Convenience function that returns whether the function returns something (including void). */ bool hasReturnType() const; @@ -843,24 +742,18 @@ public: /** Convenience function that returns whether the function receives any arguments. */ bool hasArguments() const; - bool isVariadic() const; - void setVariadic(bool isVariadic); + bool isVariadic() const { return f._isVariadic; } + void setVariadic(bool isVariadic) { f._isVariadic = isVariadic; } // Symbol's interface FullySpecifiedType type() const override; - const ObjCMethod *asObjCMethod() const override - { return this; } - - ObjCMethod *asObjCMethod() override - { return this; } + const ObjCMethod *asObjCMethod() const override { return this; } + ObjCMethod *asObjCMethod() override { return this; } // Type's interface - const ObjCMethod *asObjCMethodType() const override - { return this; } - - ObjCMethod *asObjCMethodType() override - { return this; } + const ObjCMethod *asObjCMethodType() const override { return this; } + ObjCMethod *asObjCMethodType() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; @@ -878,7 +771,7 @@ private: }; }; -class CPLUSPLUS_EXPORT ObjCPropertyDeclaration: public Symbol +class CPLUSPLUS_EXPORT ObjCPropertyDeclaration final : public Symbol { public: enum PropertyAttributes { @@ -901,31 +794,27 @@ public: int sourceLocation, const Name *name); ObjCPropertyDeclaration(Clone *clone, Subst *subst, ObjCPropertyDeclaration *original); - virtual ~ObjCPropertyDeclaration(); + ~ObjCPropertyDeclaration() override = default; - bool hasAttribute(int attribute) const; - void setAttributes(int attributes); + bool hasAttribute(int attribute) const { return _propertyAttributes & attribute; } + void setAttributes(int attributes) { _propertyAttributes = attributes; } - bool hasGetter() const; - bool hasSetter() const; + bool hasGetter() const { return hasAttribute(Getter); } + bool hasSetter() const { return hasAttribute(Setter); } - const Name *getterName() const; + const Name *getterName() const { return _getterName; } + void setGetterName(const Name *getterName) { _getterName = getterName; } - void setGetterName(const Name *getterName); + const Name *setterName() const { return _setterName; } + void setSetterName(const Name *setterName) { _setterName = setterName; } - const Name *setterName() const; - void setSetterName(const Name *setterName); - - void setType(const FullySpecifiedType &type); + void setType(const FullySpecifiedType &type) { _type = type; } // Symbol's interface - FullySpecifiedType type() const override; + FullySpecifiedType type() const override { return _type; } - const ObjCPropertyDeclaration *asObjCPropertyDeclaration() const override - { return this; } - - ObjCPropertyDeclaration *asObjCPropertyDeclaration() override - { return this; } + const ObjCPropertyDeclaration *asObjCPropertyDeclaration() const override { return this; } + ObjCPropertyDeclaration *asObjCPropertyDeclaration() override { return this; } protected: void visitSymbol0(SymbolVisitor *visitor) override; diff --git a/src/libs/3rdparty/cplusplus/Type.cpp b/src/libs/3rdparty/cplusplus/Type.cpp index e9b0f2d3c17..00e84b0a61c 100644 --- a/src/libs/3rdparty/cplusplus/Type.cpp +++ b/src/libs/3rdparty/cplusplus/Type.cpp @@ -33,7 +33,7 @@ Type::~Type() { } bool Type::isUndefinedType() const -{ return this == UndefinedType::instance(); } +{ return this == &UndefinedType::instance; } bool Type::isVoidType() const { return asVoidType() != nullptr; } diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 90660f2b554..4db91090842 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -174,7 +174,7 @@ protected: bool visit(Template *symbol) override { if (Symbol *decl = symbol->declaration()) { - if (decl->isFunction() || decl->isClass() || decl->isDeclaration()) + if (decl->asFunction() || decl->asClass() || decl->asDeclaration()) return process(symbol); } return true; @@ -522,7 +522,7 @@ QString Document::functionAt(int line, int column, int *lineOpeningDeclaratorPar if (!scope) scope = symbol->enclosingScope(); - while (scope && !scope->isFunction() ) + while (scope && !scope->asFunction() ) scope = scope->enclosingScope(); if (!scope) diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp index 14d738da791..e10d9aeec23 100644 --- a/src/libs/cplusplus/CppRewriter.cpp +++ b/src/libs/cplusplus/CppRewriter.cpp @@ -458,8 +458,8 @@ FullySpecifiedType UseMinimalNames::apply(const Name *name, Rewrite *rewrite) co SubstitutionEnvironment *env = rewrite->env; Scope *scope = env->scope(); - if (name->isTemplateNameId() || - (name->isQualifiedNameId() && name->asQualifiedNameId()->name()->isTemplateNameId())) + if (name->asTemplateNameId() || + (name->asQualifiedNameId() && name->asQualifiedNameId()->name()->asTemplateNameId())) return FullySpecifiedType(); if (! scope) diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp index c82bbbf1fca..8ec65c021a5 100644 --- a/src/libs/cplusplus/FindUsages.cpp +++ b/src/libs/cplusplus/FindUsages.cpp @@ -514,7 +514,7 @@ QString FindUsages::matchingLine(const Token &tk) const bool FindUsages::isLocalScope(Scope *scope) { if (scope) { - if (scope->isBlock() || scope->isTemplate() || scope->isFunction()) + if (scope->asBlock() || scope->asTemplate() || scope->asFunction()) return true; } @@ -527,7 +527,7 @@ bool FindUsages::checkCandidates(const QList &candidates) const const LookupItem &r = candidates.at(i); if (Symbol *s = r.declaration()) { - if (_declSymbol->isTypenameArgument()) { + if (_declSymbol->asTypenameArgument()) { if (s != _declSymbol) return false; } @@ -535,8 +535,8 @@ bool FindUsages::checkCandidates(const QList &candidates) const Scope *declEnclosingScope = _declSymbol->enclosingScope(); Scope *enclosingScope = s->enclosingScope(); if (isLocalScope(declEnclosingScope) || isLocalScope(enclosingScope)) { - if (_declSymbol->isClass() && declEnclosingScope->isTemplate() - && s->isClass() && enclosingScope->isTemplate()) { + if (_declSymbol->asClass() && declEnclosingScope->asTemplate() + && s->asClass() && enclosingScope->asTemplate()) { // for definition of functions of class defined outside the class definition Scope *templEnclosingDeclSymbol = declEnclosingScope; Scope *scopeOfTemplEnclosingDeclSymbol @@ -547,9 +547,9 @@ bool FindUsages::checkCandidates(const QList &candidates) const if (scopeOfTemplEnclosingCandidateSymbol != scopeOfTemplEnclosingDeclSymbol) return false; - } else if (_declSymbol->isClass() && declEnclosingScope->isTemplate() - && enclosingScope->isClass() - && enclosingScope->enclosingScope()->isTemplate()) { + } else if (_declSymbol->asClass() && declEnclosingScope->asTemplate() + && enclosingScope->asClass() + && enclosingScope->enclosingScope()->asTemplate()) { // for declaration inside template class Scope *templEnclosingDeclSymbol = declEnclosingScope; Scope *scopeOfTemplEnclosingDeclSymbol @@ -560,18 +560,18 @@ bool FindUsages::checkCandidates(const QList &candidates) const if (scopeOfTemplEnclosingCandidateSymbol != scopeOfTemplEnclosingDeclSymbol) return false; - } else if (enclosingScope->isTemplate() && ! _declSymbol->isTypenameArgument()) { - if (declEnclosingScope->isTemplate()) { + } else if (enclosingScope->asTemplate() && ! _declSymbol->asTypenameArgument()) { + if (declEnclosingScope->asTemplate()) { if (enclosingScope->enclosingScope() != declEnclosingScope->enclosingScope()) return false; } else { if (enclosingScope->enclosingScope() != declEnclosingScope) return false; } - } else if (declEnclosingScope->isTemplate() && s->isTemplate()) { + } else if (declEnclosingScope->asTemplate() && s->asTemplate()) { if (declEnclosingScope->enclosingScope() != enclosingScope) return false; - } else if (! s->isUsingDeclaration() + } else if (! s->asUsingDeclaration() && enclosingScope != declEnclosingScope) { return false; } @@ -854,7 +854,7 @@ void FindUsages::memInitializer(MemInitializerAST *ast) if (! ast) return; - if (_currentScope->isFunction()) { + if (_currentScope->asFunction()) { Class *classScope = _currentScope->enclosingClass(); if (! classScope) { if (ClassOrNamespace *binding = _context.lookupType(_currentScope)) { diff --git a/src/libs/cplusplus/Icons.cpp b/src/libs/cplusplus/Icons.cpp index e0d681563bd..aaf258b5577 100644 --- a/src/libs/cplusplus/Icons.cpp +++ b/src/libs/cplusplus/Icons.cpp @@ -57,7 +57,7 @@ Utils::CodeModelIcon::Type iconTypeForSymbol(const Symbol *symbol) } FullySpecifiedType symbolType = symbol->type(); - if (symbol->isFunction() || (symbol->isDeclaration() && symbolType && + if (symbol->asFunction() || (symbol->asDeclaration() && symbolType && symbolType->isFunctionType())) { const Function *function = symbol->asFunction(); @@ -80,9 +80,9 @@ Utils::CodeModelIcon::Type iconTypeForSymbol(const Symbol *symbol) } else if (symbol->isPrivate()) { return symbol->isStatic() ? FuncPrivateStatic : FuncPrivate; } - } else if (symbol->enclosingScope() && symbol->enclosingScope()->isEnum()) { + } else if (symbol->enclosingScope() && symbol->enclosingScope()->asEnum()) { return Enumerator; - } else if (symbol->isDeclaration() || symbol->isArgument()) { + } else if (symbol->asDeclaration() || symbol->asArgument()) { if (symbol->isPublic()) { return symbol->isStatic() ? VarPublicStatic : VarPublic; } else if (symbol->isProtected()) { @@ -90,26 +90,26 @@ Utils::CodeModelIcon::Type iconTypeForSymbol(const Symbol *symbol) } else if (symbol->isPrivate()) { return symbol->isStatic() ? VarPrivateStatic : VarPrivate; } - } else if (symbol->isEnum()) { + } else if (symbol->asEnum()) { return Utils::CodeModelIcon::Enum; - } else if (symbol->isForwardClassDeclaration()) { + } else if (symbol->asForwardClassDeclaration()) { return Utils::CodeModelIcon::Class; // TODO: Store class key in ForwardClassDeclaration } else if (const Class *klass = symbol->asClass()) { return klass->isStruct() ? Struct : Utils::CodeModelIcon::Class; - } else if (symbol->isObjCClass() || symbol->isObjCForwardClassDeclaration()) { + } else if (symbol->asObjCClass() || symbol->asObjCForwardClassDeclaration()) { return Utils::CodeModelIcon::Class; - } else if (symbol->isObjCProtocol() || symbol->isObjCForwardProtocolDeclaration()) { + } else if (symbol->asObjCProtocol() || symbol->asObjCForwardProtocolDeclaration()) { return Utils::CodeModelIcon::Class; - } else if (symbol->isObjCMethod()) { + } else if (symbol->asObjCMethod()) { return FuncPublic; - } else if (symbol->isNamespace()) { + } else if (symbol->asNamespace()) { return Utils::CodeModelIcon::Namespace; - } else if (symbol->isTypenameArgument()) { + } else if (symbol->asTypenameArgument()) { return Utils::CodeModelIcon::Class; - } else if (symbol->isQtPropertyDeclaration() || symbol->isObjCPropertyDeclaration()) { + } else if (symbol->asQtPropertyDeclaration() || symbol->asObjCPropertyDeclaration()) { return Property; - } else if (symbol->isUsingNamespaceDirective() || - symbol->isUsingDeclaration()) { + } else if (symbol->asUsingNamespaceDirective() || + symbol->asUsingDeclaration()) { // TODO: Might be nice to have a different icons for these things return Utils::CodeModelIcon::Namespace; } diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 3aa39ea8678..b3d3882ca07 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -56,7 +56,7 @@ static void addNames(const Name *name, QList *names, bool addAllNa if (const QualifiedNameId *q = name->asQualifiedNameId()) { addNames(q->base(), names); addNames(q->name(), names, addAllNames); - } else if (addAllNames || name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId()) { + } else if (addAllNames || name->asNameId() || name->asTemplateNameId() || name->asAnonymousNameId()) { names->append(name); } } @@ -71,7 +71,7 @@ static void path_helper(Symbol *symbol, path_helper(symbol->enclosingScope(), names, policy); if (symbol->name()) { - if (symbol->isClass() || symbol->isNamespace()) { + if (symbol->asClass() || symbol->asNamespace()) { if (policy == LookupContext::HideInlineNamespaces) { auto ns = symbol->asNamespace(); if (ns && ns->isInline()) @@ -79,12 +79,12 @@ static void path_helper(Symbol *symbol, } addNames(symbol->name(), names); - } else if (symbol->isObjCClass() || symbol->isObjCBaseClass() || symbol->isObjCProtocol() - || symbol->isObjCForwardClassDeclaration() || symbol->isObjCForwardProtocolDeclaration() - || symbol->isForwardClassDeclaration()) { + } else if (symbol->asObjCClass() || symbol->asObjCBaseClass() || symbol->asObjCProtocol() + || symbol->asObjCForwardClassDeclaration() || symbol->asObjCForwardProtocolDeclaration() + || symbol->asForwardClassDeclaration()) { addNames(symbol->name(), names); - } else if (symbol->isFunction()) { + } else if (symbol->asFunction()) { if (const QualifiedNameId *q = symbol->name()->asQualifiedNameId()) addNames(q->base(), names); } else if (Enum *e = symbol->asEnum()) { @@ -316,7 +316,7 @@ QList LookupContext::lookupByUsing(const Name *name, { QList candidates; // if it is a nameId there can be a using declaration for it - if (name->isNameId() || name->isTemplateNameId()) { + if (name->asNameId() || name->asTemplateNameId()) { const QList symbols = bindingScope->symbols(); for (Symbol *s : symbols) { if (Scope *scope = s->asScope()) { @@ -409,7 +409,7 @@ ClassOrNamespace *LookupContext::lookupType(const Name *name, Scope *scope, } } } else if (UsingDeclaration *ud = m->asUsingDeclaration()) { - if (name->isNameId()) { + if (name->asNameId()) { if (const Name *usingDeclarationName = ud->name()) { if (const QualifiedNameId *q = usingDeclarationName->asQualifiedNameId()) { if (q->name() && q->name()->match(name)) @@ -433,7 +433,7 @@ ClassOrNamespace *LookupContext::lookupType(const Name *name, Scope *scope, } else if (ClassOrNamespace *b = bindings()->lookupType(scope, enclosingBinding)) { return b->lookupType(name); } else if (Class *scopeAsClass = scope->asClass()) { - if (scopeAsClass->enclosingScope()->isBlock()) { + if (scopeAsClass->enclosingScope()->asBlock()) { if (ClassOrNamespace *b = lookupType(scopeAsClass->name(), scopeAsClass->enclosingScope(), enclosingBinding, @@ -460,13 +460,13 @@ QList LookupContext::lookup(const Name *name, Scope *scope) const return candidates; for (; scope; scope = scope->enclosingScope()) { - if (name->identifier() != nullptr && scope->isBlock()) { + if (name->identifier() != nullptr && scope->asBlock()) { bindings()->lookupInScope(name, scope, &candidates, /*templateId = */ nullptr, /*binding=*/ nullptr); if (! candidates.isEmpty()) { // it's a local. //for qualified it can be outside of the local scope - if (name->isQualifiedNameId()) + if (name->asQualifiedNameId()) continue; else break; @@ -502,13 +502,13 @@ QList LookupContext::lookup(const Name *name, Scope *scope) const if (! candidates.isEmpty()) { // it's an argument or a template parameter. //for qualified it can be outside of the local scope - if (name->isQualifiedNameId()) + if (name->asQualifiedNameId()) continue; else break; } - if (fun->name() && fun->name()->isQualifiedNameId()) { + if (fun->name() && fun->name()->asQualifiedNameId()) { if (ClassOrNamespace *binding = bindings()->lookupType(fun)) { candidates = binding->find(name); @@ -540,7 +540,7 @@ QList LookupContext::lookup(const Name *name, Scope *scope) const if (! candidates.isEmpty()) { // it's a template parameter. //for qualified it can be outside of the local scope - if (name->isQualifiedNameId()) + if (name->asQualifiedNameId()) continue; else break; @@ -572,7 +572,7 @@ QList LookupContext::lookup(const Name *name, Scope *scope) const if (! candidates.isEmpty()) return candidates; - } else if (scope->isObjCClass() || scope->isObjCProtocol()) { + } else if (scope->asObjCClass() || scope->asObjCProtocol()) { if (ClassOrNamespace *binding = bindings()->lookupType(scope)) candidates = binding->find(name); @@ -740,7 +740,7 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding for (Symbol *s : symbols) { if (s->isFriend()) continue; - else if (s->isUsingNamespaceDirective()) + else if (s->asUsingNamespaceDirective()) continue; @@ -825,11 +825,11 @@ void CreateBindings::lookupInScope(const Name *name, Scope *scope, for (Symbol *s = scope->find(id); s; s = s->next()) { if (s->isFriend()) continue; // skip friends - else if (s->isUsingNamespaceDirective()) + else if (s->asUsingNamespaceDirective()) continue; // skip using namespace directives else if (! id->match(s->identifier())) continue; - else if (s->name() && s->name()->isQualifiedNameId()) + else if (s->name() && s->name()->asQualifiedNameId()) continue; // skip qualified ids. if (Q_UNLIKELY(debug)) { @@ -851,7 +851,7 @@ void CreateBindings::lookupInScope(const Name *name, Scope *scope, } } - if (templateId && (s->isDeclaration() || s->isFunction())) { + if (templateId && (s->asDeclaration() || s->asFunction())) { FullySpecifiedType ty = DeprecatedGenTemplateInstance::instantiate(templateId, s, control()); item.setType(ty); // override the type. } @@ -991,7 +991,7 @@ ClassOrNamespace *ClassOrNamespace::lookupType_helper(const Name *name, } else if (! processed->contains(this)) { processed->insert(this); - if (name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId()) { + if (name->asNameId() || name->asTemplateNameId() || name->asAnonymousNameId()) { flush(); const QList symbolList = symbols(); @@ -1136,7 +1136,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespace *origin) { Q_ASSERT(name != nullptr); - Q_ASSERT(name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId()); + Q_ASSERT(name->asNameId() || name->asTemplateNameId() || name->asAnonymousNameId()); const_cast(this)->flush(); @@ -1255,7 +1255,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, return reference; } - if (!name->isTemplateNameId()) + if (!name->asTemplateNameId()) _alreadyConsideredClasses.insert(referenceClass); QSet knownUsings = Utils::toSet(reference->usings()); @@ -1270,7 +1270,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, instantiation->_templateId = templId; QSet otherProcessed; - while (!origin->_symbols.isEmpty() && origin->_symbols[0]->isBlock()) { + while (!origin->_symbols.isEmpty() && origin->_symbols[0]->asBlock()) { if (otherProcessed.contains(origin)) break; otherProcessed.insert(origin); @@ -1634,7 +1634,7 @@ ClassOrNamespace *ClassOrNamespace::findOrCreateType(const Name *name, ClassOrNa return findOrCreateType(q->base(), origin)->findOrCreateType(q->name(), origin, clazz); - } else if (name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId()) { + } else if (name->asNameId() || name->asTemplateNameId() || name->asAnonymousNameId()) { QSet processed; ClassOrNamespace *e = nestedType(name, &processed, origin); @@ -1791,7 +1791,7 @@ bool CreateBindings::visit(Class *klass) ClassOrNamespace *previous = _currentClassOrNamespace; ClassOrNamespace *binding = nullptr; - if (klass->name() && klass->name()->isQualifiedNameId()) + if (klass->name() && klass->name()->asQualifiedNameId()) binding = _currentClassOrNamespace->lookupType(klass->name()); if (! binding) @@ -1956,7 +1956,7 @@ bool CreateBindings::visit(NamespaceAlias *a) return false; } else if (ClassOrNamespace *e = _currentClassOrNamespace->lookupType(a->namespaceName())) { - if (a->name()->isNameId() || a->name()->isTemplateNameId() || a->name()->isAnonymousNameId()) + if (a->name()->asNameId() || a->name()->asTemplateNameId() || a->name()->asAnonymousNameId()) _currentClassOrNamespace->addNestedType(a->name(), e); } else if (false) { @@ -2042,12 +2042,12 @@ Symbol *CreateBindings::instantiateTemplateFunction(const Name *instantiationNam Template *specialization) const { if (!specialization || !specialization->declaration() - || !specialization->declaration()->isFunction()) + || !specialization->declaration()->asFunction()) return nullptr; int argumentCountOfInstantiation = 0; const TemplateNameId *instantiation = nullptr; - if (instantiationName->isTemplateNameId()) { + if (instantiationName->asTemplateNameId()) { instantiation = instantiationName->asTemplateNameId(); argumentCountOfInstantiation = instantiation->templateArgumentCount(); } else { diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 4ff023624e4..6803194ec60 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -1045,7 +1045,7 @@ ClassOrNamespace *ResolveExpression::findClass(const FullySpecifiedType &origina ClassOrNamespace *binding = nullptr; if (Class *klass = ty->asClassType()) { - if (scope->isBlock()) + if (scope->asBlock()) binding = _context.lookupType(klass->name(), scope, enclosingBinding); if (!binding) binding = _context.lookupType(klass, enclosingBinding); @@ -1135,7 +1135,7 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList &bas instantiatedFunction = overloadTy->asFunctionType(); } else if (overloadType->isTemplateType() && overloadType->asTemplateType()->declaration() - && overloadType->asTemplateType()->declaration()->isFunction()) { + && overloadType->asTemplateType()->declaration()->asFunction()) { instantiatedFunction = overloadType->asTemplateType()->declaration()->asFunction(); } diff --git a/src/libs/cplusplus/SymbolNameVisitor.cpp b/src/libs/cplusplus/SymbolNameVisitor.cpp index b34bf2f42a8..83fe82a9ded 100644 --- a/src/libs/cplusplus/SymbolNameVisitor.cpp +++ b/src/libs/cplusplus/SymbolNameVisitor.cpp @@ -41,7 +41,7 @@ void SymbolNameVisitor::accept(Symbol *symbol) if (Scope *scope = symbol->enclosingScope()) accept(scope); - if (! symbol->isTemplate()) { + if (! symbol->asTemplate()) { if (const Name *name = symbol->name()) { std::swap(_symbol, symbol); accept(name); diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 18283cc3a08..a4c427db051 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -285,8 +285,10 @@ bool DefaultImpl::dissolveCommand(QString *program, QStringList *arguments) *arguments = QStringList(); } else { if (!success) { - const ProcessResultData result = { 0, QProcess::NormalExit, QProcess::FailedToStart, - tr("Error in command line.") }; + const ProcessResultData result = {0, + QProcess::NormalExit, + QProcess::FailedToStart, + QtcProcess::tr("Error in command line.")}; emit done(result); return false; } @@ -314,8 +316,8 @@ bool DefaultImpl::ensureProgramExists(const QString &program) if (programFilePath.exists() && programFilePath.isExecutableFile()) return true; - const QString errorString = tr("The program \"%1\" does not exist or is not executable.") - .arg(program); + const QString errorString + = QtcProcess::tr("The program \"%1\" does not exist or is not executable.").arg(program); const ProcessResultData result = { 0, QProcess::NormalExit, QProcess::FailedToStart, errorString }; emit done(result); @@ -1983,21 +1985,24 @@ void QtcProcessPrivate::handleReadyRead(const QByteArray &outputData, const QByt m_hangTimerCount = 0; // TODO: store a copy of m_processChannelMode on start()? Currently we assert that state // is NotRunning when setting the process channel mode. - if (m_process->m_setup.m_processChannelMode == QProcess::ForwardedOutputChannel - || m_process->m_setup.m_processChannelMode == QProcess::ForwardedChannels) { - std::cout << outputData.constData() << std::flush; - } else { - m_stdOut.append(outputData); - if (!outputData.isEmpty()) + + if (!outputData.isEmpty()) { + if (m_process->m_setup.m_processChannelMode == QProcess::ForwardedOutputChannel + || m_process->m_setup.m_processChannelMode == QProcess::ForwardedChannels) { + std::cout << outputData.constData() << std::flush; + } else { + m_stdOut.append(outputData); emitReadyReadStandardOutput(); + } } - if (m_process->m_setup.m_processChannelMode == QProcess::ForwardedErrorChannel - || m_process->m_setup.m_processChannelMode == QProcess::ForwardedChannels) { - std::cerr << errorData.constData() << std::flush; - } else { - m_stdErr.append(errorData); - if (!errorData.isEmpty()) + if (!errorData.isEmpty()) { + if (m_process->m_setup.m_processChannelMode == QProcess::ForwardedErrorChannel + || m_process->m_setup.m_processChannelMode == QProcess::ForwardedChannels) { + std::cerr << errorData.constData() << std::flush; + } else { + m_stdErr.append(errorData); emitReadyReadStandardError(); + } } } diff --git a/src/libs/utils/terminalprocess.cpp b/src/libs/utils/terminalprocess.cpp index a623191524d..556ae5dc3c0 100644 --- a/src/libs/utils/terminalprocess.cpp +++ b/src/libs/utils/terminalprocess.cpp @@ -79,43 +79,44 @@ static QString modeOption(TerminalMode m) static QString msgCommChannelFailed(const QString &error) { - return TerminalImpl::tr("Cannot set up communication channel: %1").arg(error); + return QtcProcess::tr("Cannot set up communication channel: %1").arg(error); } static QString msgPromptToClose() { // Shown in a terminal which might have a different character set on Windows. - return TerminalImpl::tr("Press to close this window..."); + return QtcProcess::tr("Press to close this window..."); } static QString msgCannotCreateTempFile(const QString &why) { - return TerminalImpl::tr("Cannot create temporary file: %1").arg(why); + return QtcProcess::tr("Cannot create temporary file: %1").arg(why); } static QString msgCannotWriteTempFile() { - return TerminalImpl::tr("Cannot write temporary file. Disk full?"); + return QtcProcess::tr("Cannot write temporary file. Disk full?"); } static QString msgCannotCreateTempDir(const QString & dir, const QString &why) { - return TerminalImpl::tr("Cannot create temporary directory \"%1\": %2").arg(dir, why); + return QtcProcess::tr("Cannot create temporary directory \"%1\": %2").arg(dir, why); } static QString msgUnexpectedOutput(const QByteArray &what) { - return TerminalImpl::tr("Unexpected output from helper program (%1).").arg(QString::fromLatin1(what)); + return QtcProcess::tr("Unexpected output from helper program (%1).") + .arg(QString::fromLatin1(what)); } static QString msgCannotChangeToWorkDir(const FilePath &dir, const QString &why) { - return TerminalImpl::tr("Cannot change to working directory \"%1\": %2").arg(dir.toString(), why); + return QtcProcess::tr("Cannot change to working directory \"%1\": %2").arg(dir.toString(), why); } static QString msgCannotExecute(const QString & p, const QString &why) { - return TerminalImpl::tr("Cannot execute \"%1\": %2").arg(p, why); + return QtcProcess::tr("Cannot execute \"%1\": %2").arg(p, why); } class TerminalProcessPrivate @@ -310,8 +311,8 @@ void TerminalImpl::start() if (!success) { delete d->m_pid; d->m_pid = nullptr; - const QString msg = tr("The process \"%1\" could not be started: %2") - .arg(cmdLine, winErrorMessage(GetLastError())); + const QString msg = QtcProcess::tr("The process \"%1\" could not be started: %2") + .arg(cmdLine, winErrorMessage(GetLastError())); cleanupAfterStartFailure(msg); return; } @@ -335,13 +336,14 @@ void TerminalImpl::start() pcmd = m_setup.m_commandLine.executable().toString(); } else { if (perr != ProcessArgs::FoundMeta) { - emitError(QProcess::FailedToStart, tr("Quoting error in command.")); + emitError(QProcess::FailedToStart, QtcProcess::tr("Quoting error in command.")); return; } if (m_setup.m_terminalMode == TerminalMode::Debug) { // FIXME: QTCREATORBUG-2809 - emitError(QProcess::FailedToStart, tr("Debugging complex shell commands in a terminal" - " is currently not supported.")); + emitError(QProcess::FailedToStart, + QtcProcess::tr("Debugging complex shell commands in a terminal" + " is currently not supported.")); return; } pcmd = qEnvironmentVariable("SHELL", "/bin/sh"); @@ -358,9 +360,10 @@ void TerminalImpl::start() &m_setup.m_environment, &m_setup.m_workingDirectory); if (qerr != ProcessArgs::SplitOk) { - emitError(QProcess::FailedToStart, qerr == ProcessArgs::BadQuoting - ? tr("Quoting error in terminal command.") - : tr("Terminal command may not be a shell command.")); + emitError(QProcess::FailedToStart, + qerr == ProcessArgs::BadQuoting + ? QtcProcess::tr("Quoting error in terminal command.") + : QtcProcess::tr("Terminal command may not be a shell command.")); return; } @@ -414,8 +417,10 @@ void TerminalImpl::start() d->m_process.setReaperTimeout(m_setup.m_reaperTimeout); d->m_process.start(); if (!d->m_process.waitForStarted()) { - const QString msg = tr("Cannot start the terminal emulator \"%1\", change the setting in the " - "Environment options.").arg(terminal.command); + const QString msg + = QtcProcess::tr("Cannot start the terminal emulator \"%1\", change the setting in the " + "Environment options.") + .arg(terminal.command); cleanupAfterStartFailure(msg); return; } @@ -542,7 +547,8 @@ QString TerminalImpl::stubServerListen() const QString stubServer = stubFifoDir + QLatin1String("/stub-socket"); if (!d->m_stubServer.listen(stubServer)) { ::rmdir(d->m_stubServerDir.constData()); - return tr("Cannot create socket \"%1\": %2").arg(stubServer, d->m_stubServer.errorString()); + return QtcProcess::tr("Cannot create socket \"%1\": %2") + .arg(stubServer, d->m_stubServer.errorString()); } return QString(); #endif @@ -613,8 +619,9 @@ void TerminalImpl::readStubOutput() SYNCHRONIZE | PROCESS_QUERY_INFORMATION | PROCESS_TERMINATE, FALSE, d->m_processId); if (d->m_hInferior == NULL) { - emitError(QProcess::FailedToStart, tr("Cannot obtain a handle to the inferior: %1") - .arg(winErrorMessage(GetLastError()))); + emitError(QProcess::FailedToStart, + QtcProcess::tr("Cannot obtain a handle to the inferior: %1") + .arg(winErrorMessage(GetLastError()))); // Uhm, and now what? continue; } @@ -623,8 +630,9 @@ void TerminalImpl::readStubOutput() DWORD chldStatus; if (!GetExitCodeProcess(d->m_hInferior, &chldStatus)) - emitError(QProcess::UnknownError, tr("Cannot obtain exit status from inferior: %1") - .arg(winErrorMessage(GetLastError()))); + emitError(QProcess::UnknownError, + QtcProcess::tr("Cannot obtain exit status from inferior: %1") + .arg(winErrorMessage(GetLastError()))); cleanupInferior(); emitFinished(chldStatus, QProcess::NormalExit); }); diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp index de06abbd9d5..037049a95a8 100644 --- a/src/plugins/android/androiddevice.cpp +++ b/src/plugins/android/androiddevice.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include diff --git a/src/plugins/android/androidqmlpreviewworker.cpp b/src/plugins/android/androidqmlpreviewworker.cpp index b739c1de768..e43654d4c8d 100644 --- a/src/plugins/android/androidqmlpreviewworker.cpp +++ b/src/plugins/android/androidqmlpreviewworker.cpp @@ -28,7 +28,6 @@ #include "androidavdmanager.h" #include "androiddevice.h" #include "androiddeviceinfo.h" -#include "androidglobal.h" #include "androidmanager.h" #include @@ -38,6 +37,7 @@ #include #include #include +#include #include #include diff --git a/src/plugins/android/androidqmlpreviewworker.h b/src/plugins/android/androidqmlpreviewworker.h index 9b6bd5cce97..b1605b3992a 100644 --- a/src/plugins/android/androidqmlpreviewworker.h +++ b/src/plugins/android/androidqmlpreviewworker.h @@ -24,6 +24,7 @@ ****************************************************************************/ #pragma once + #include "androidconfigurations.h" #include diff --git a/src/plugins/baremetal/baremetalplugin.cpp b/src/plugins/baremetal/baremetalplugin.cpp index 9f9f09c6b8b..239a169b088 100644 --- a/src/plugins/baremetal/baremetalplugin.cpp +++ b/src/plugins/baremetal/baremetalplugin.cpp @@ -45,6 +45,7 @@ #include #include +#include using namespace ProjectExplorer; diff --git a/src/plugins/boot2qt/qdbmakedefaultappstep.cpp b/src/plugins/boot2qt/qdbmakedefaultappstep.cpp index 008230028a9..2e42a77fa51 100644 --- a/src/plugins/boot2qt/qdbmakedefaultappstep.cpp +++ b/src/plugins/boot2qt/qdbmakedefaultappstep.cpp @@ -28,6 +28,7 @@ #include "qdbconstants.h" #include +#include #include #include diff --git a/src/plugins/clangcodemodel/CMakeLists.txt b/src/plugins/clangcodemodel/CMakeLists.txt index e64d17b5f01..9205ba340bf 100644 --- a/src/plugins/clangcodemodel/CMakeLists.txt +++ b/src/plugins/clangcodemodel/CMakeLists.txt @@ -46,6 +46,7 @@ extend_qtc_plugin(ClangCodeModel extend_qtc_plugin(ClangCodeModel CONDITION WITH_TESTS SOURCES + test/activationsequenceprocessortest.cpp test/activationsequenceprocessortest.h test/clangbatchfileprocessor.cpp test/clangbatchfileprocessor.h test/clangdtests.cpp test/clangdtests.h test/clangfixittest.cpp test/clangfixittest.h diff --git a/src/plugins/clangcodemodel/clangcodemodel.qbs b/src/plugins/clangcodemodel/clangcodemodel.qbs index bd0f341cc50..dc85b9d96d4 100644 --- a/src/plugins/clangcodemodel/clangcodemodel.qbs +++ b/src/plugins/clangcodemodel/clangcodemodel.qbs @@ -92,6 +92,8 @@ QtcPlugin { condition: qtc.testsEnabled prefix: "test/" files: [ + "activationsequenceprocessortest.cpp", + "activationsequenceprocessortest.h", "clangbatchfileprocessor.cpp", "clangbatchfileprocessor.h", "clangdtests.cpp", diff --git a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp index 675ee4e0e93..c92de68c04c 100644 --- a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp +++ b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp @@ -29,6 +29,7 @@ #include "clangutils.h" #ifdef WITH_TESTS +# include "test/activationsequenceprocessortest.h" # include "test/clangbatchfileprocessor.h" # include "test/clangdtests.h" # include "test/clangfixittest.h" @@ -46,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -203,6 +205,7 @@ void ClangCodeModelPlugin::maybeHandleBatchFileAndExit() const QVector ClangCodeModelPlugin::createTestObjects() const { return { + new Tests::ActivationSequenceProcessorTest, new Tests::ClangdTestCompletion, new Tests::ClangdTestExternalChanges, new Tests::ClangdTestFindReferences, @@ -215,6 +218,5 @@ QVector ClangCodeModelPlugin::createTestObjects() const } #endif - } // namespace Internal } // namespace Clang diff --git a/src/plugins/clangcodemodel/test/activationsequenceprocessortest.cpp b/src/plugins/clangcodemodel/test/activationsequenceprocessortest.cpp new file mode 100644 index 00000000000..491289096de --- /dev/null +++ b/src/plugins/clangcodemodel/test/activationsequenceprocessortest.cpp @@ -0,0 +1,180 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** 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 General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#include "activationsequenceprocessortest.h" + +#include "../clangactivationsequenceprocessor.h" + +#include + +#include + +using namespace CPlusPlus; + +namespace ClangCodeModel::Internal::Tests { + +static bool resultIs(const ActivationSequenceProcessor &processor, Kind expectedKind, + int expectedOffset, int expectedNewPos) +{ + return processor.completionKind() == expectedKind + && processor.offset() == expectedOffset + && processor.operatorStartPosition() == expectedNewPos; +} + +void ActivationSequenceProcessorTest::testCouldNotProcesseRandomCharacters() +{ + ActivationSequenceProcessor processor(QStringLiteral("xxx"), 3, false); + QVERIFY(resultIs(processor, T_EOF_SYMBOL, 0, 3)); +} + +void ActivationSequenceProcessorTest::testCouldNotProcesseEmptyString() +{ + ActivationSequenceProcessor processor(QStringLiteral(""), 0, true); + QVERIFY(resultIs(processor, T_EOF_SYMBOL, 0, 0)); +} + +void ActivationSequenceProcessorTest::testDot() +{ + ActivationSequenceProcessor processor(QStringLiteral("."), 1, true); + QVERIFY(resultIs(processor, T_DOT, 1, 0)); +} + +void ActivationSequenceProcessorTest::testComma() +{ + ActivationSequenceProcessor processor(QStringLiteral(","), 2, false); + QVERIFY(resultIs(processor, T_COMMA, 1, 1)); +} + +void ActivationSequenceProcessorTest::testLeftParenAsFunctionCall() +{ + ActivationSequenceProcessor processor(QStringLiteral("("), 3, true); + QVERIFY(resultIs(processor, T_LPAREN, 1, 2)); +} + +void ActivationSequenceProcessorTest::testLeftParenNotAsFunctionCall() +{ + ActivationSequenceProcessor processor(QStringLiteral("("), 3, false); + QVERIFY(resultIs(processor, T_EOF_SYMBOL, 0, 3)); +} + +void ActivationSequenceProcessorTest::testColonColon() +{ + ActivationSequenceProcessor processor(QStringLiteral("::"), 20, true); + + QVERIFY(resultIs(processor, T_COLON_COLON, 2, 18)); +} + +void ActivationSequenceProcessorTest::testArrow() +{ + ActivationSequenceProcessor processor(QStringLiteral("->"), 2, true); + + QVERIFY(resultIs(processor, T_ARROW, 2, 0)); +} + +void ActivationSequenceProcessorTest::testDotStar() +{ + ActivationSequenceProcessor processor(QStringLiteral(".*"), 3, true); + + QVERIFY(resultIs(processor, T_DOT_STAR, 2, 1)); +} + +void ActivationSequenceProcessorTest::testArrowStar() +{ + ActivationSequenceProcessor processor(QStringLiteral("->*"), 3, true); + + QVERIFY(resultIs(processor, T_ARROW_STAR, 3, 0)); +} + +void ActivationSequenceProcessorTest::testDoxyGenCommentBackSlash() +{ + ActivationSequenceProcessor processor(QStringLiteral(" \\"), 3, true); + + QVERIFY(resultIs(processor, T_DOXY_COMMENT, 1, 2)); +} + +void ActivationSequenceProcessorTest::testDoxyGenCommentAt() +{ + ActivationSequenceProcessor processor(QStringLiteral(" @"), 2, true); + + QVERIFY(resultIs(processor, T_DOXY_COMMENT, 1, 1)); +} + +void ActivationSequenceProcessorTest::testAngleStringLiteral() +{ + ActivationSequenceProcessor processor(QStringLiteral("<"), 1, true); + + QVERIFY(resultIs(processor, T_ANGLE_STRING_LITERAL, 1, 0)); +} + +void ActivationSequenceProcessorTest::testStringLiteral() +{ + ActivationSequenceProcessor processor(QStringLiteral("\""), 1, true); + + QVERIFY(resultIs(processor, T_STRING_LITERAL, 1, 0)); +} + +void ActivationSequenceProcessorTest::testSlash() +{ + ActivationSequenceProcessor processor(QStringLiteral("/"), 1, true); + + QVERIFY(resultIs(processor, T_SLASH, 1, 0)); +} + +void ActivationSequenceProcessorTest::testPound() +{ + ActivationSequenceProcessor processor(QStringLiteral("#"), 1, true); + + QVERIFY(resultIs(processor, T_POUND, 1, 0)); +} + +void ActivationSequenceProcessorTest::testPositionIsOne() +{ + ActivationSequenceProcessor processor(QStringLiteral(" + +namespace ClangCodeModel::Internal::Tests { + +class ActivationSequenceProcessorTest : public QObject { -float flvalue = 100.f; + Q_OBJECT -class Bar; - -class Bar { -public: - Bar(); - - volatile int member = 0; +private slots: + void testCouldNotProcesseRandomCharacters(); + void testCouldNotProcesseEmptyString(); + void testDot(); + void testComma(); + void testLeftParenAsFunctionCall(); + void testLeftParenNotAsFunctionCall(); + void testColonColon(); + void testArrow(); + void testDotStar(); + void testArrowStar(); + void testDoxyGenCommentBackSlash(); + void testDoxyGenCommentAt(); + void testAngleStringLiteral(); + void testStringLiteral(); + void testSlash(); + void testPound(); + void testPositionIsOne(); + void testPositionIsTwo(); + void testPositionIsTwoWithASingleSign(); + void testPositionIsThree(); }; -struct Barish -{ - int foo(float p, int u); - int mem = 10; -}; -} - -class FooClass; - -int foo(const float p, int u); - -int foo(); - -int foo(float p, int u) -{ - return foo() + p + u; -} - -int foo(int x, float y); +} // namespace ClangCodeModel::Internal::Tests diff --git a/src/plugins/clangtools/CMakeLists.txt b/src/plugins/clangtools/CMakeLists.txt index 51bccb10233..cdb6f279214 100644 --- a/src/plugins/clangtools/CMakeLists.txt +++ b/src/plugins/clangtools/CMakeLists.txt @@ -51,4 +51,5 @@ extend_qtc_plugin(ClangTools clangtoolspreconfiguredsessiontests.cpp clangtoolspreconfiguredsessiontests.h clangtoolsunittests.cpp clangtoolsunittests.h clangtoolsunittests.qrc + readexporteddiagnosticstest.cpp readexporteddiagnosticstest.h ) diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp index cfcad7f87a7..72eb1c1bcdf 100644 --- a/src/plugins/clangtools/clangtool.cpp +++ b/src/plugins/clangtools/clangtool.cpp @@ -33,7 +33,6 @@ #include "clangtoolsdiagnosticmodel.h" #include "clangtoolsdiagnosticview.h" #include "clangtoolslogfilereader.h" -#include "clangtoolsplugin.h" #include "clangtoolsprojectsettings.h" #include "clangtoolssettings.h" #include "clangtoolsutils.h" @@ -54,6 +53,7 @@ #include #include #include +#include #include #include #include diff --git a/src/plugins/clangtools/clangtools.qbs b/src/plugins/clangtools/clangtools.qbs index c3683ee17f7..01d680e537c 100644 --- a/src/plugins/clangtools/clangtools.qbs +++ b/src/plugins/clangtools/clangtools.qbs @@ -91,6 +91,8 @@ QtcPlugin { "clangtoolsunittests.cpp", "clangtoolsunittests.h", "clangtoolsunittests.qrc", + "readexporteddiagnosticstest.cpp", + "readexporteddiagnosticstest.h", ] } diff --git a/src/plugins/clangtools/clangtoolsplugin.cpp b/src/plugins/clangtools/clangtoolsplugin.cpp index bcd759a23ba..615e7e59d3e 100644 --- a/src/plugins/clangtools/clangtoolsplugin.cpp +++ b/src/plugins/clangtools/clangtoolsplugin.cpp @@ -34,6 +34,7 @@ #include "settingswidget.h" #ifdef WITH_TESTS +#include "readexporteddiagnosticstest.h" #include "clangtoolspreconfiguredsessiontests.h" #include "clangtoolsunittests.h" #endif @@ -193,6 +194,7 @@ QVector ClangToolsPlugin::createTestObjects() const #ifdef WITH_TESTS tests << new PreconfiguredSessionTests; tests << new ClangToolsUnitTests; + tests << new ReadExportedDiagnosticsTest; #endif return tests; } diff --git a/src/plugins/clangtools/clangtoolsunittests.cpp b/src/plugins/clangtools/clangtoolsunittests.cpp index 14c4d7305ec..0e4d35fc733 100644 --- a/src/plugins/clangtools/clangtoolsunittests.cpp +++ b/src/plugins/clangtools/clangtoolsunittests.cpp @@ -28,16 +28,18 @@ #include "clangtool.h" #include "clangtoolsdiagnostic.h" #include "clangtoolssettings.h" -#include "clangtoolsutils.h" #include + #include #include #include #include + #include #include #include +#include #include #include diff --git a/src/plugins/clangtools/clangtoolsunittests.qrc b/src/plugins/clangtools/clangtoolsunittests.qrc index 598de3e3671..54bb416eab5 100644 --- a/src/plugins/clangtools/clangtoolsunittests.qrc +++ b/src/plugins/clangtools/clangtoolsunittests.qrc @@ -22,5 +22,17 @@ unit-tests/clangtidy_clazy/clangtidy_clazy.pro unit-tests/clangtidy_clazy/clazy_example.cpp unit-tests/clangtidy_clazy/tidy_example.cpp + unit-tests/exported-diagnostics/clang-analyzer.dividezero.cpp + unit-tests/exported-diagnostics/clang-analyzer.dividezero.yaml + unit-tests/exported-diagnostics/clang-analyzer.dividezero_win.yaml + unit-tests/exported-diagnostics/clazy.qgetenv.cpp + unit-tests/exported-diagnostics/clazy.qgetenv.yaml + unit-tests/exported-diagnostics/clazy.qgetenv_win.yaml + unit-tests/exported-diagnostics/CMakeLists.txt + unit-tests/exported-diagnostics/empty.yaml + unit-tests/exported-diagnostics/main.cpp + unit-tests/exported-diagnostics/tidy.modernize-use-nullptr.cpp + unit-tests/exported-diagnostics/tidy.modernize-use-nullptr.yaml + unit-tests/exported-diagnostics/tidy.modernize-use-nullptr_win.yaml diff --git a/src/plugins/clangtools/readexporteddiagnosticstest.cpp b/src/plugins/clangtools/readexporteddiagnosticstest.cpp new file mode 100644 index 00000000000..6bd9eb5a116 --- /dev/null +++ b/src/plugins/clangtools/readexporteddiagnosticstest.cpp @@ -0,0 +1,314 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** 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 General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#include "readexporteddiagnosticstest.h" + +#include "clangtoolslogfilereader.h" + +#include +#include +#include +#include + +#include + +using namespace CppEditor::Tests; +using namespace Debugger; +using namespace Utils; + +namespace ClangTools::Internal { + +const char asciiWord[] = "FOO"; +const char asciiMultiLine[] = "FOO\nBAR"; +const char asciiMultiLine_dos[] = "FOO\r\nBAR"; +const char nonAsciiMultiLine[] = "\xc3\xbc" "\n" + "\xe4\xba\x8c" "\n" + "\xf0\x90\x8c\x82" "X"; + +ReadExportedDiagnosticsTest::ReadExportedDiagnosticsTest() + : m_baseDir(new TemporaryCopiedDir(":/clangtools/unit-tests/exported-diagnostics")) {} + +ReadExportedDiagnosticsTest::~ReadExportedDiagnosticsTest() { delete m_baseDir; } + +void ReadExportedDiagnosticsTest::initTestCase() { QVERIFY(m_baseDir->isValid()); } +void ReadExportedDiagnosticsTest::init() { m_message.clear(); } + +void ReadExportedDiagnosticsTest::testNonExistingFile() +{ + const Diagnostics diags = readExportedDiagnostics("nonExistingFile.yaml", {}, &m_message); + QVERIFY(diags.isEmpty()); + QVERIFY(!m_message.isEmpty()); +} + +void ReadExportedDiagnosticsTest::testEmptyFile() +{ + const Diagnostics diags = readExportedDiagnostics(filePath("empty.yaml"), {}, &m_message); + QVERIFY(diags.isEmpty()); + QVERIFY2(m_message.isEmpty(), qPrintable(m_message)); +} + +void ReadExportedDiagnosticsTest::testUnexpectedFileContents() +{ + const Diagnostics diags = readExportedDiagnostics(filePath("tidy.modernize-use-nullptr.cpp"), + {}, &m_message); + QVERIFY(!m_message.isEmpty()); + QVERIFY(diags.isEmpty()); +} + +static QString appendYamlSuffix(const char *filePathFragment) +{ + const QString yamlSuffix = QLatin1String(Utils::HostOsInfo::isWindowsHost() + ? "_win.yaml" : ".yaml"); + return filePathFragment + yamlSuffix; +} + +void ReadExportedDiagnosticsTest::testTidy() +{ + const FilePath sourceFile = filePath("tidy.modernize-use-nullptr.cpp"); + const QString exportedFile = createFile( + filePath(appendYamlSuffix("tidy.modernize-use-nullptr")).toString(), + sourceFile.toString()); + Diagnostic expectedDiag; + expectedDiag.name = "modernize-use-nullptr"; + expectedDiag.location = {sourceFile, 2, 25}; + expectedDiag.description = "use nullptr [modernize-use-nullptr]"; + expectedDiag.type = "warning"; + expectedDiag.hasFixits = true; + expectedDiag.explainingSteps = { + ExplainingStep{"nullptr", + expectedDiag.location, + {expectedDiag.location, {sourceFile, 2, 26}}, + true}}; + const Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), + {}, &m_message); + + QVERIFY2(m_message.isEmpty(), qPrintable(m_message)); + QCOMPARE(diags, {expectedDiag}); +} + +void ReadExportedDiagnosticsTest::testAcceptDiagsFromFilePaths_None() +{ + const QString sourceFile = filePath("tidy.modernize-use-nullptr.cpp").toString(); + const QString exportedFile = createFile(filePath("tidy.modernize-use-nullptr.yaml").toString(), + sourceFile); + const auto acceptNone = [](const Utils::FilePath &) { return false; }; + const Diagnostics diags = readExportedDiagnostics(FilePath::fromString(exportedFile), + acceptNone, &m_message); + QVERIFY2(m_message.isEmpty(), qPrintable(m_message)); + QVERIFY(diags.isEmpty()); +} + +// Diagnostics from clang (static) analyzer passed through via clang-tidy +void ReadExportedDiagnosticsTest::testTidy_ClangAnalyzer() +{ + const FilePath sourceFile = filePath("clang-analyzer.dividezero.cpp"); + const QString exportedFile = createFile( + filePath(appendYamlSuffix("clang-analyzer.dividezero")).toString(), + sourceFile.toString()); + Diagnostic expectedDiag; + expectedDiag.name = "clang-analyzer-core.DivideZero"; + expectedDiag.location = {sourceFile, 4, 15}; + expectedDiag.description = "Division by zero [clang-analyzer-core.DivideZero]"; + expectedDiag.type = "warning"; + expectedDiag.hasFixits = false; + expectedDiag.explainingSteps = { + ExplainingStep{"Assuming 'z' is equal to 0", + {sourceFile, 3, 7}, + {}, + false, + }, + ExplainingStep{"Taking true branch", + {sourceFile, 3, 3}, + {}, + false, + }, + ExplainingStep{"Division by zero", + {sourceFile, 4, 15}, + {}, + false, + }, + }; + const Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), + {}, &m_message); + QVERIFY2(m_message.isEmpty(), qPrintable(m_message)); + QCOMPARE(diags, {expectedDiag}); +} + +void ReadExportedDiagnosticsTest::testClazy() +{ + const FilePath sourceFile = filePath("clazy.qgetenv.cpp"); + const QString exportedFile = createFile(filePath(appendYamlSuffix("clazy.qgetenv")).toString(), + sourceFile.toString()); + Diagnostic expectedDiag; + expectedDiag.name = "clazy-qgetenv"; + expectedDiag.location = {sourceFile, 7, 5}; + expectedDiag.description = "qgetenv().isEmpty() allocates. Use qEnvironmentVariableIsEmpty() instead [clazy-qgetenv]"; + expectedDiag.type = "warning"; + expectedDiag.hasFixits = true; + expectedDiag.explainingSteps = { + ExplainingStep{"qEnvironmentVariableIsEmpty", + expectedDiag.location, + {expectedDiag.location, {sourceFile, 7, 12}}, + true + }, + ExplainingStep{")", + {sourceFile, 7, 18}, + {{sourceFile, 7, 18}, {sourceFile, 7, 29}}, + true}, + }; + const Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), + {}, &m_message); + QVERIFY2(m_message.isEmpty(), qPrintable(m_message)); + QCOMPARE(diags, {expectedDiag}); +} + +void ReadExportedDiagnosticsTest::testOffsetInvalidText() +{ + QVERIFY(!byteOffsetInUtf8TextToLineColumn(nullptr, 0)); +} + +void ReadExportedDiagnosticsTest::testOffsetInvalidOffset_EmptyInput() +{ + QVERIFY(!byteOffsetInUtf8TextToLineColumn("", 0)); +} + +void ReadExportedDiagnosticsTest::testOffsetInvalidOffset_Before() +{ + QVERIFY(!byteOffsetInUtf8TextToLineColumn(asciiWord, -1)); +} + +void ReadExportedDiagnosticsTest::testOffsetInvalidOffset_After() +{ + QVERIFY(!byteOffsetInUtf8TextToLineColumn(asciiWord, 3)); +} + +void ReadExportedDiagnosticsTest::testOffsetInvalidOffset_NotFirstByteOfMultiByte() +{ + QVERIFY(!byteOffsetInUtf8TextToLineColumn(nonAsciiMultiLine, 1)); +} + +void ReadExportedDiagnosticsTest::testOffsetStartOfFirstLine() +{ + const auto info = byteOffsetInUtf8TextToLineColumn(asciiWord, 0); + QVERIFY(info); + QCOMPARE(info->line, 1); + QCOMPARE(info->column, 1); +} + +void ReadExportedDiagnosticsTest::testOffsetEndOfFirstLine() +{ + const auto info = byteOffsetInUtf8TextToLineColumn(asciiWord, 2); + QVERIFY(info); + QCOMPARE(info->line, 1); + QCOMPARE(info->column, 3); +} + +// The invocation +// +// clang-tidy "-checks=-*,readability-braces-around-statements" /path/to/file +// +// for the code +// +// void f(bool b) +// { +// if (b) +// f(b); +// } +// +// emits +// +// 3:11: warning: statement should be inside braces [readability-braces-around-statements] +// +// The newline in the if-line is considered as column 11, which is normally not visible in the +// editor. +void ReadExportedDiagnosticsTest::testOffsetOffsetPointingToLineSeparator_unix() +{ + const auto info = byteOffsetInUtf8TextToLineColumn(asciiMultiLine, 3); + QVERIFY(info); + QCOMPARE(info->line, 1); + QCOMPARE(info->column, 4); +} + +// For a file with dos style line endings ("\r\n"), clang-tidy points to '\r'. +void ReadExportedDiagnosticsTest::testOffsetOffsetPointingToLineSeparator_dos() +{ + const auto info = byteOffsetInUtf8TextToLineColumn(asciiMultiLine_dos, 3); + QVERIFY(info); + QCOMPARE(info->line, 1); + QCOMPARE(info->column, 4); +} + +void ReadExportedDiagnosticsTest::testOffsetStartOfSecondLine() +{ + const auto info = byteOffsetInUtf8TextToLineColumn(asciiMultiLine, 4); + QVERIFY(info); + QCOMPARE(info->line, 2); + QCOMPARE(info->column, 1); +} + +void ReadExportedDiagnosticsTest::testOffsetMultiByteCodePoint1() +{ + const auto info = byteOffsetInUtf8TextToLineColumn(nonAsciiMultiLine, 3); + QVERIFY(info); + QCOMPARE(info->line, 2); + QCOMPARE(info->column, 1); +} + +void ReadExportedDiagnosticsTest::testOffsetMultiByteCodePoint2() +{ + const auto info = byteOffsetInUtf8TextToLineColumn(nonAsciiMultiLine, 11); + QVERIFY(info); + QCOMPARE(info->line, 3); + QCOMPARE(info->column, 2); +} + +// Replace FILE_PATH with a real absolute file path in the *.yaml files. +QString ReadExportedDiagnosticsTest::createFile(const QString &yamlFilePath, + const QString &filePathToInject) const +{ + QTC_ASSERT(QDir::isAbsolutePath(filePathToInject), return QString()); + const Utils::FilePath newFileName = FilePath::fromString(m_baseDir->absolutePath( + QFileInfo(yamlFilePath).fileName().toLocal8Bit())); + + Utils::FileReader reader; + if (QTC_GUARD(reader.fetch(Utils::FilePath::fromString(yamlFilePath), + QIODevice::ReadOnly | QIODevice::Text))) { + QByteArray contents = reader.data(); + contents.replace("FILE_PATH", filePathToInject.toLocal8Bit()); + + Utils::FileSaver fileSaver(newFileName, QIODevice::WriteOnly | QIODevice::Text); + QTC_CHECK(fileSaver.write(contents)); + QTC_CHECK(fileSaver.finalize()); + } + + return newFileName.toString(); +} + +FilePath ReadExportedDiagnosticsTest::filePath(const QString &fileName) const +{ + return FilePath::fromString(m_baseDir->absolutePath(fileName.toUtf8())); +} + +} // namespace ClangTools::Internal diff --git a/src/plugins/clangtools/readexporteddiagnosticstest.h b/src/plugins/clangtools/readexporteddiagnosticstest.h new file mode 100644 index 00000000000..007ae7802e8 --- /dev/null +++ b/src/plugins/clangtools/readexporteddiagnosticstest.h @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** 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 General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#pragma once + +#include +#include + +namespace CppEditor::Tests { class TemporaryCopiedDir; } +namespace Utils { class FilePath; } + +namespace ClangTools::Internal { + +class ReadExportedDiagnosticsTest : public QObject +{ + Q_OBJECT +public: + ReadExportedDiagnosticsTest(); + ~ReadExportedDiagnosticsTest(); + +private slots: + void initTestCase(); + void init(); + + void testNonExistingFile(); + void testEmptyFile(); + void testUnexpectedFileContents(); + void testTidy(); + void testAcceptDiagsFromFilePaths_None(); + void testTidy_ClangAnalyzer(); + void testClazy(); + + void testOffsetInvalidText(); + void testOffsetInvalidOffset_EmptyInput(); + void testOffsetInvalidOffset_Before(); + void testOffsetInvalidOffset_After(); + void testOffsetInvalidOffset_NotFirstByteOfMultiByte(); + void testOffsetStartOfFirstLine(); + void testOffsetEndOfFirstLine(); + void testOffsetOffsetPointingToLineSeparator_unix(); + void testOffsetOffsetPointingToLineSeparator_dos(); + void testOffsetStartOfSecondLine(); + void testOffsetMultiByteCodePoint1(); + void testOffsetMultiByteCodePoint2(); + +private: + QString createFile(const QString &yamlFilePath, const QString &filePathToInject) const; + Utils::FilePath filePath(const QString &fileName) const; + + CppEditor::Tests::TemporaryCopiedDir * const m_baseDir; + QString m_message; +}; + +} // namespace ClangTools::Internal diff --git a/tests/unit/unittest/data/clangtools/CMakeLists.txt b/src/plugins/clangtools/unit-tests/exported-diagnostics/CMakeLists.txt similarity index 100% rename from tests/unit/unittest/data/clangtools/CMakeLists.txt rename to src/plugins/clangtools/unit-tests/exported-diagnostics/CMakeLists.txt diff --git a/tests/unit/unittest/data/clangtools/clang-analyzer.dividezero.cpp b/src/plugins/clangtools/unit-tests/exported-diagnostics/clang-analyzer.dividezero.cpp similarity index 100% rename from tests/unit/unittest/data/clangtools/clang-analyzer.dividezero.cpp rename to src/plugins/clangtools/unit-tests/exported-diagnostics/clang-analyzer.dividezero.cpp diff --git a/tests/unit/unittest/data/clangtools/clang-analyzer.dividezero.yaml b/src/plugins/clangtools/unit-tests/exported-diagnostics/clang-analyzer.dividezero.yaml similarity index 100% rename from tests/unit/unittest/data/clangtools/clang-analyzer.dividezero.yaml rename to src/plugins/clangtools/unit-tests/exported-diagnostics/clang-analyzer.dividezero.yaml diff --git a/tests/unit/unittest/data/clangtools/clang-analyzer.dividezero_win.yaml b/src/plugins/clangtools/unit-tests/exported-diagnostics/clang-analyzer.dividezero_win.yaml similarity index 100% rename from tests/unit/unittest/data/clangtools/clang-analyzer.dividezero_win.yaml rename to src/plugins/clangtools/unit-tests/exported-diagnostics/clang-analyzer.dividezero_win.yaml diff --git a/tests/unit/unittest/data/clangtools/clazy.qgetenv.cpp b/src/plugins/clangtools/unit-tests/exported-diagnostics/clazy.qgetenv.cpp similarity index 100% rename from tests/unit/unittest/data/clangtools/clazy.qgetenv.cpp rename to src/plugins/clangtools/unit-tests/exported-diagnostics/clazy.qgetenv.cpp diff --git a/tests/unit/unittest/data/clangtools/clazy.qgetenv.yaml b/src/plugins/clangtools/unit-tests/exported-diagnostics/clazy.qgetenv.yaml similarity index 100% rename from tests/unit/unittest/data/clangtools/clazy.qgetenv.yaml rename to src/plugins/clangtools/unit-tests/exported-diagnostics/clazy.qgetenv.yaml diff --git a/tests/unit/unittest/data/clangtools/clazy.qgetenv_win.yaml b/src/plugins/clangtools/unit-tests/exported-diagnostics/clazy.qgetenv_win.yaml similarity index 100% rename from tests/unit/unittest/data/clangtools/clazy.qgetenv_win.yaml rename to src/plugins/clangtools/unit-tests/exported-diagnostics/clazy.qgetenv_win.yaml diff --git a/tests/unit/unittest/data/clangtools/empty.yaml b/src/plugins/clangtools/unit-tests/exported-diagnostics/empty.yaml similarity index 100% rename from tests/unit/unittest/data/clangtools/empty.yaml rename to src/plugins/clangtools/unit-tests/exported-diagnostics/empty.yaml diff --git a/tests/unit/unittest/data/clangtools/main.cpp b/src/plugins/clangtools/unit-tests/exported-diagnostics/main.cpp similarity index 100% rename from tests/unit/unittest/data/clangtools/main.cpp rename to src/plugins/clangtools/unit-tests/exported-diagnostics/main.cpp diff --git a/tests/unit/unittest/data/clangtools/tidy.modernize-use-nullptr.cpp b/src/plugins/clangtools/unit-tests/exported-diagnostics/tidy.modernize-use-nullptr.cpp similarity index 100% rename from tests/unit/unittest/data/clangtools/tidy.modernize-use-nullptr.cpp rename to src/plugins/clangtools/unit-tests/exported-diagnostics/tidy.modernize-use-nullptr.cpp diff --git a/tests/unit/unittest/data/clangtools/tidy.modernize-use-nullptr.yaml b/src/plugins/clangtools/unit-tests/exported-diagnostics/tidy.modernize-use-nullptr.yaml similarity index 100% rename from tests/unit/unittest/data/clangtools/tidy.modernize-use-nullptr.yaml rename to src/plugins/clangtools/unit-tests/exported-diagnostics/tidy.modernize-use-nullptr.yaml diff --git a/tests/unit/unittest/data/clangtools/tidy.modernize-use-nullptr_win.yaml b/src/plugins/clangtools/unit-tests/exported-diagnostics/tidy.modernize-use-nullptr_win.yaml similarity index 100% rename from tests/unit/unittest/data/clangtools/tidy.modernize-use-nullptr_win.yaml rename to src/plugins/clangtools/unit-tests/exported-diagnostics/tidy.modernize-use-nullptr_win.yaml diff --git a/src/plugins/classview/classviewparsertreeitem.cpp b/src/plugins/classview/classviewparsertreeitem.cpp index 39f5074105c..cc5f79d3425 100644 --- a/src/plugins/classview/classviewparsertreeitem.cpp +++ b/src/plugins/classview/classviewparsertreeitem.cpp @@ -105,17 +105,17 @@ void ParserTreeItemPrivate::mergeSymbol(const CPlusPlus::Symbol *symbol) // any symbol which does not contain :: in the name //! \todo collect statistics and reorder to optimize - if (symbol->isForwardClassDeclaration() + if (symbol->asForwardClassDeclaration() || symbol->isExtern() || symbol->isFriend() || symbol->isGenerated() - || symbol->isUsingNamespaceDirective() - || symbol->isUsingDeclaration() + || symbol->asUsingNamespaceDirective() + || symbol->asUsingDeclaration() ) return; const CPlusPlus::Name *symbolName = symbol->name(); - if (symbolName && symbolName->isQualifiedNameId()) + if (symbolName && symbolName->asQualifiedNameId()) return; QString name = g_overview.prettyName(symbolName).trimmed(); @@ -139,7 +139,7 @@ void ParserTreeItemPrivate::mergeSymbol(const CPlusPlus::Symbol *symbol) childItem->d->m_symbolLocations.insert(location); // prevent showing a content of the functions - if (!symbol->isFunction()) { + if (!symbol->asFunction()) { if (const CPlusPlus::Scope *scope = symbol->asScope()) { CPlusPlus::Scope::iterator cur = scope->memberBegin(); CPlusPlus::Scope::iterator last = scope->memberEnd(); @@ -155,7 +155,7 @@ void ParserTreeItemPrivate::mergeSymbol(const CPlusPlus::Symbol *symbol) } // if item is empty and has not to be added - if (!symbol->isNamespace() || childItem->childCount()) + if (!symbol->asNamespace() || childItem->childCount()) m_symbolInformations.insert(information, childItem); } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 80b0f67e2cb..bc182a81240 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include #include diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp index 9c0aa294106..98364ee7732 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp index 2bcbbf8882d..8ffe635419f 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprocess.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprocess.cpp @@ -81,8 +81,9 @@ void CMakeProcess::run(const BuildDirParameters ¶meters, const QStringList & const FilePath buildDirectory = parameters.buildDirectory.onDevice(cmakeExecutable); if (!buildDirectory.exists()) { - QString msg = tr("The build directory \"%1\" does not exist") - .arg(buildDirectory.toUserOutput()); + QString msg = ::CMakeProjectManager::Internal::CMakeProcess::tr( + "The build directory \"%1\" does not exist") + .arg(buildDirectory.toUserOutput()); BuildSystem::appendBuildSystemOutput(msg + '\n'); emit finished(); return; @@ -90,9 +91,11 @@ void CMakeProcess::run(const BuildDirParameters ¶meters, const QStringList & if (buildDirectory.needsDevice()) { if (cmake->cmakeExecutable().host() != buildDirectory.host()) { - QString msg = tr("CMake executable \"%1\" and build directory " - "\"%2\" must be on the same device.") - .arg(cmake->cmakeExecutable().toUserOutput(), buildDirectory.toUserOutput()); + QString msg = ::CMakeProjectManager::Internal::CMakeProcess::tr( + "CMake executable \"%1\" and build directory " + "\"%2\" must be on the same device.") + .arg(cmake->cmakeExecutable().toUserOutput(), + buildDirectory.toUserOutput()); BuildSystem::appendBuildSystemOutput(msg + '\n'); emit finished(); return; @@ -131,12 +134,15 @@ void CMakeProcess::run(const BuildDirParameters ¶meters, const QStringList & TaskHub::clearTasks(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM); BuildSystem::startNewBuildSystemOutput( - tr("Running %1 in %2.").arg(commandLine.toUserOutput(), buildDirectory.toUserOutput())); + ::CMakeProjectManager::Internal::CMakeProcess::tr("Running %1 in %2.") + .arg(commandLine.toUserOutput(), buildDirectory.toUserOutput())); m_futureInterface = QFutureInterface(); m_futureInterface.setProgressRange(0, 1); Core::ProgressManager::addTimedTask(m_futureInterface, - tr("Configuring \"%1\"").arg(parameters.projectName), + ::CMakeProjectManager::Internal::CMakeProcess::tr( + "Configuring \"%1\"") + .arg(parameters.projectName), "CMake.Configure", 10); m_futureWatcher.reset(new QFutureWatcher); @@ -167,14 +173,17 @@ void CMakeProcess::handleProcessDone(const Utils::ProcessResultData &resultData) QString msg; if (resultData.m_error == QProcess::FailedToStart) { - msg = tr("CMake process failed to start."); + msg = ::CMakeProjectManager::Internal::CMakeProcess::tr("CMake process failed to start."); } else if (resultData.m_exitStatus != QProcess::NormalExit) { if (m_futureInterface.isCanceled() || code == USER_STOP_EXIT_CODE) - msg = tr("CMake process was canceled by the user."); - else - msg = tr("CMake process crashed."); + msg = ::CMakeProjectManager::Internal::CMakeProcess::tr( + "CMake process was canceled by the user."); + else + msg = ::CMakeProjectManager::Internal::CMakeProcess::tr("CMake process crashed."); } else if (code != 0) { - msg = tr("CMake process exited with exit code %1.").arg(code); + msg = ::CMakeProjectManager::Internal::CMakeProcess::tr( + "CMake process exited with exit code %1.") + .arg(code); } m_lastExitCode = code; diff --git a/src/plugins/cmakeprojectmanager/cmaketoolsettingsaccessor.cpp b/src/plugins/cmakeprojectmanager/cmaketoolsettingsaccessor.cpp index 8c5af3b140b..fb17b33657d 100644 --- a/src/plugins/cmakeprojectmanager/cmaketoolsettingsaccessor.cpp +++ b/src/plugins/cmakeprojectmanager/cmaketoolsettingsaccessor.cpp @@ -109,7 +109,8 @@ static std::vector> autoDetectCMakeTools() for (const FilePath &command : qAsConst(suspects)) { auto item = std::make_unique(CMakeTool::AutoDetection, CMakeTool::createId()); item->setFilePath(command); - item->setDisplayName(CMakeToolManager::tr("System CMake at %1").arg(command.toUserOutput())); + item->setDisplayName(::CMakeProjectManager::CMakeToolManager::tr("System CMake at %1") + .arg(command.toUserOutput())); found.emplace_back(std::move(item)); } diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp index 17840e92544..85a180e4e95 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp @@ -30,11 +30,14 @@ #include #include #include + #include #include #include +#include #include #include + #include #include diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index dbd4edd7fc3..4fc365496b7 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -2533,7 +2533,8 @@ bool EditorManagerPrivate::saveDocumentAs(IDocument *document) if (absoluteFilePath.isEmpty()) return false; - if (absoluteFilePath != document->filePath()) { + if (DocumentManager::filePathKey(absoluteFilePath, DocumentManager::ResolveLinks) + != DocumentManager::filePathKey(document->filePath(), DocumentManager::ResolveLinks)) { // close existing editors for the new file name IDocument *otherDocument = DocumentModel::documentForFilePath(absoluteFilePath); if (otherDocument) diff --git a/src/plugins/cppcheck/cppcheckplugin.cpp b/src/plugins/cppcheck/cppcheckplugin.cpp index 6d338a1df36..fed438d9ee3 100644 --- a/src/plugins/cppcheck/cppcheckplugin.cpp +++ b/src/plugins/cppcheck/cppcheckplugin.cpp @@ -32,10 +32,11 @@ #include "cppcheckdiagnosticsmodel.h" #include "cppcheckmanualrundialog.h" -#include -#include -#include #include +#include +#include +#include +#include #include #include diff --git a/src/plugins/cppcheck/cppchecktextmark.cpp b/src/plugins/cppcheck/cppchecktextmark.cpp index d4882e7f053..d3446a0610b 100644 --- a/src/plugins/cppcheck/cppchecktextmark.cpp +++ b/src/plugins/cppcheck/cppchecktextmark.cpp @@ -84,7 +84,7 @@ CppcheckTextMark::CppcheckTextMark (const Diagnostic &diagnostic) // Copy to clipboard action QAction *action = new QAction(); action->setIcon(QIcon::fromTheme("edit-copy", Utils::Icons::COPY.icon())); - action->setToolTip(tr("Copy to Clipboard")); + action->setToolTip(TextMark::tr("Copy to Clipboard")); QObject::connect(action, &QAction::triggered, [diagnostic]() { const QString text = QString("%1:%2: %3") .arg(diagnostic.fileName.toUserOutput()) diff --git a/src/plugins/cppeditor/cppchecksymbols.cpp b/src/plugins/cppeditor/cppchecksymbols.cpp index 35a643bc9e9..fe5b3fca724 100644 --- a/src/plugins/cppeditor/cppchecksymbols.cpp +++ b/src/plugins/cppeditor/cppchecksymbols.cpp @@ -121,7 +121,7 @@ protected: addType(q->base()); addType(q->name()); - } else if (name->isNameId() || name->isTemplateNameId()) { + } else if (name->asNameId() || name->asTemplateNameId()) { addType(name->identifier()); } @@ -132,7 +132,7 @@ protected: if (!name) { return; - } else if (name->isNameId()) { + } else if (name->asNameId()) { const Identifier *id = name->identifier(); _fields.insert(QByteArray::fromRawData(id->chars(), id->size())); @@ -144,7 +144,7 @@ protected: if (!name) { return; - } else if (name->isNameId()) { + } else if (name->asNameId()) { const Identifier *id = name->identifier(); _functions.insert(QByteArray::fromRawData(id->chars(), id->size())); } @@ -155,7 +155,7 @@ protected: if (!name) { return; - } else if (name->isNameId() || name->isTemplateNameId()) { + } else if (name->asNameId() || name->asTemplateNameId()) { const Identifier *id = name->identifier(); _statics.insert(QByteArray::fromRawData(id->chars(), id->size())); @@ -195,7 +195,7 @@ protected: if (symbol->isTypedef()) addType(symbol->name()); - else if (!symbol->type()->isFunctionType() && symbol->enclosingScope()->isClass()) + else if (!symbol->type()->isFunctionType() && symbol->enclosingScope()->asClass()) addField(symbol->name()); return true; @@ -791,7 +791,7 @@ void CheckSymbols::checkNamespace(NameAST *name) if (ClassOrNamespace *b = _context.lookupType(name->name, enclosingScope())) { const QList symbols = b->symbols(); for (const Symbol *s : symbols) { - if (s->isNamespace()) + if (s->asNamespace()) return; } } @@ -812,7 +812,7 @@ bool CheckSymbols::hasVirtualDestructor(Class *klass) const for (Symbol *s = klass->find(id); s; s = s->next()) { if (!s->name()) continue; - if (s->name()->isDestructorNameId()) { + if (s->name()->asDestructorNameId()) { if (Function *funTy = s->type()->asFunctionType()) { if (funTy->isVirtual() && id->match(s->identifier())) return true; @@ -1229,7 +1229,7 @@ void CheckSymbols::addType(ClassOrNamespace *b, NameAST *ast) Kind kind = SemanticHighlighter::TypeUse; const QList &symbols = b->symbols(); for (const Symbol * const s : symbols) { - if (s->isNamespace()) { + if (s->asNamespace()) { kind = SemanticHighlighter::NamespaceUse; break; } @@ -1243,8 +1243,8 @@ bool CheckSymbols::isTemplateClass(Symbol *symbol) const if (symbol) { if (Template *templ = symbol->asTemplate()) { if (Symbol *declaration = templ->declaration()) { - return declaration->isClass() - || declaration->isForwardClassDeclaration() + return declaration->asClass() + || declaration->asForwardClassDeclaration() || declaration->isTypedef(); } } @@ -1264,14 +1264,14 @@ bool CheckSymbols::maybeAddTypeOrStatic(const QList &candidates, Nam for (const LookupItem &r : candidates) { Symbol *c = r.declaration(); - if (c->isUsingDeclaration()) // skip using declarations... + if (c->asUsingDeclaration()) // skip using declarations... continue; - if (c->isUsingNamespaceDirective()) // ... and using namespace directives. + if (c->asUsingNamespaceDirective()) // ... and using namespace directives. continue; - if (c->isTypedef() || c->isNamespace() || + if (c->isTypedef() || c->asNamespace() || c->isStatic() || //consider also static variable - c->isClass() || c->isEnum() || isTemplateClass(c) || - c->isForwardClassDeclaration() || c->isTypenameArgument() || c->enclosingEnum()) { + c->asClass() || c->asEnum() || isTemplateClass(c) || + c->asForwardClassDeclaration() || c->asTypenameArgument() || c->enclosingEnum()) { int line, column; getTokenStartPosition(startToken, &line, &column); const unsigned length = tok.utf16chars(); @@ -1279,7 +1279,7 @@ bool CheckSymbols::maybeAddTypeOrStatic(const QList &candidates, Nam Kind kind = SemanticHighlighter::TypeUse; if (c->enclosingEnum() != nullptr) kind = SemanticHighlighter::EnumerationUse; - else if (c->isNamespace()) + else if (c->asNamespace()) kind = SemanticHighlighter::NamespaceUse; else if (c->isStatic()) // treat static variable as a field(highlighting) @@ -1309,9 +1309,9 @@ bool CheckSymbols::maybeAddField(const QList &candidates, NameAST *a Symbol *c = r.declaration(); if (!c) continue; - if (!c->isDeclaration()) + if (!c->asDeclaration()) return false; - if (!(c->enclosingScope() && c->enclosingScope()->isClass())) + if (!(c->enclosingScope() && c->enclosingScope()->asClass())) return false; // shadowed if (c->isTypedef() || (c->type() && c->type()->isFunctionType())) return false; // shadowed @@ -1359,7 +1359,7 @@ bool CheckSymbols::maybeAddFunction(const QList &candidates, NameAST // In addition check for destructors, since the leading ~ is not taken into consideration. // We don't want to compare destructors with something else or the other way around. - if (isDestructor != c->name()->isDestructorNameId()) + if (isDestructor != (c->name()->asDestructorNameId() != nullptr)) continue; isConstructor = isConstructorDeclaration(c); diff --git a/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp b/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp index 435a64612d5..437461de25e 100644 --- a/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp +++ b/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp @@ -951,7 +951,7 @@ QVariant SymbolsModel::data(const QModelIndex &index, int role) const } else if (column == SymbolColumn) { QString name = Overview().prettyName(symbol->name()); if (name.isEmpty()) - name = QLatin1String(symbol->isBlock() ? "" : ""); + name = QLatin1String(symbol->asBlock() ? "" : ""); return name; } } diff --git a/src/plugins/cppeditor/cppcompletionassist.cpp b/src/plugins/cppeditor/cppcompletionassist.cpp index 5ce93504483..672ca389b12 100644 --- a/src/plugins/cppeditor/cppcompletionassist.cpp +++ b/src/plugins/cppeditor/cppcompletionassist.cpp @@ -232,7 +232,7 @@ void CppAssistProposalItem::applyContextualContent(TextDocumentManipulatorInterf // except when it might take template parameters. if (!function->hasReturnType() && (function->unqualifiedName() - && !function->unqualifiedName()->isDestructorNameId())) { + && !function->unqualifiedName()->asDestructorNameId())) { // Don't insert any magic, since the user might have just wanted to select the class /// ### port me @@ -488,7 +488,7 @@ public: AssistProposalItem *operator()(Symbol *symbol) { //using declaration can be qualified - if (!symbol || !symbol->name() || (symbol->name()->isQualifiedNameId() + if (!symbol || !symbol->name() || (symbol->name()->asQualifiedNameId() && !symbol->asUsingDeclaration())) return nullptr; @@ -526,7 +526,7 @@ protected: void visit(const Identifier *name) override { _item = newCompletionItem(name); - if (!_symbol->isScope() || _symbol->isFunction()) + if (!_symbol->asScope() || _symbol->asFunction()) _item->setDetail(overview.prettyType(_symbol->type(), name)); } @@ -1441,7 +1441,7 @@ bool InternalCppCompletionAssistProcessor::globalCompletion(Scope *currentScope) if (ClassOrNamespace *binding = context.lookupType(scope)) { for (int i = 0; i < scope->memberCount(); ++i) { Symbol *member = scope->memberAt(i); - if (member->isEnum()) { + if (member->asEnum()) { if (ClassOrNamespace *b = binding->findBlock(block)) completeNamespace(b); } @@ -1451,21 +1451,21 @@ bool InternalCppCompletionAssistProcessor::globalCompletion(Scope *currentScope) if (ClassOrNamespace *b = binding->lookupType(u->name())) usingBindings.append(b); } else if (Class *c = member->asClass()) { - if (c->name()->isAnonymousNameId()) { + if (c->name()->asAnonymousNameId()) { if (ClassOrNamespace *b = binding->findBlock(block)) completeClass(b); } } } } - } else if (scope->isFunction() || scope->isClass() || scope->isNamespace()) { + } else if (scope->asFunction() || scope->asClass() || scope->asNamespace()) { currentBinding = context.lookupType(scope); break; } } for (Scope *scope = currentScope; scope; scope = scope->enclosingScope()) { - if (scope->isBlock()) { + if (scope->asBlock()) { for (int i = 0; i < scope->memberCount(); ++i) addCompletionItem(scope->memberAt(i), FunctionLocalsOrder); } else if (Function *fun = scope->asFunction()) { @@ -1491,7 +1491,7 @@ bool InternalCppCompletionAssistProcessor::globalCompletion(Scope *currentScope) const QList symbols = currentBinding->symbols(); if (!symbols.isEmpty()) { - if (symbols.first()->isClass()) + if (symbols.first()->asClass()) completeClass(currentBinding); else completeNamespace(currentBinding); @@ -1567,7 +1567,7 @@ bool InternalCppCompletionAssistProcessor::completeScope(const QList } // it can be class defined inside a block - if (classTy->enclosingScope()->isBlock()) { + if (classTy->enclosingScope()->asBlock()) { if (ClassOrNamespace *b = context.lookupType(classTy->name(), classTy->enclosingScope())) { completeClass(b); break; @@ -1590,7 +1590,7 @@ bool InternalCppCompletionAssistProcessor::completeScope(const QList } else if (Enum *e = ty->asEnumType()) { // it can be class defined inside a block - if (e->enclosingScope()->isBlock()) { + if (e->enclosingScope()->asBlock()) { if (ClassOrNamespace *b = context.lookupType(e)) { Block *block = e->enclosingScope()->asBlock(); if (ClassOrNamespace *bb = b->findBlock(block)) { @@ -1708,18 +1708,18 @@ void InternalCppCompletionAssistProcessor::addClassMembersToCompletion(Scope *sc for (Scope::iterator it = scope->memberBegin(); it != scope->memberEnd(); ++it) { Symbol *member = *it; if (member->isFriend() - || member->isQtPropertyDeclaration() - || member->isQtEnum()) { + || member->asQtPropertyDeclaration() + || member->asQtEnum()) { continue; } else if (!staticLookup && (member->isTypedef() || - member->isEnum() || - member->isClass())) { + member->asEnum() || + member->asClass())) { continue; - } else if (member->isClass() && member->name()->isAnonymousNameId()) { + } else if (member->asClass() && member->name()->asAnonymousNameId()) { nestedAnonymouses.insert(member->asClass()); - } else if (member->isDeclaration()) { + } else if (member->asDeclaration()) { Class *declTypeAsClass = member->asDeclaration()->type()->asClassType(); - if (declTypeAsClass && declTypeAsClass->name()->isAnonymousNameId()) + if (declTypeAsClass && declTypeAsClass->name()->asAnonymousNameId()) nestedAnonymouses.erase(declTypeAsClass); } @@ -1924,7 +1924,7 @@ bool InternalCppCompletionAssistProcessor::completeConstructorOrFunction(const Q if (!memberName) continue; // skip anonymous member. - else if (memberName->isQualifiedNameId()) + else if (memberName->asQualifiedNameId()) continue; // skip if (Function *funTy = member->type()->asFunctionType()) { @@ -2015,7 +2015,7 @@ bool InternalCppCompletionAssistProcessor::completeConstructorOrFunction(const Q Scope *sc = context.thisDocument()->scopeAt(line, column); - if (sc && (sc->isClass() || sc->isNamespace())) { + if (sc && (sc->asClass() || sc->asNamespace())) { // It may still be a function call. If the whole line parses as a function // declaration, we should be certain that it isn't. bool autocompleteSignature = false; diff --git a/src/plugins/cppeditor/cppelementevaluator.cpp b/src/plugins/cppeditor/cppelementevaluator.cpp index 5b643d90b9c..7fbe8d2c41c 100644 --- a/src/plugins/cppeditor/cppelementevaluator.cpp +++ b/src/plugins/cppeditor/cppelementevaluator.cpp @@ -124,10 +124,10 @@ CppDeclarableElement::CppDeclarableElement(Symbol *declaration) overview.showReturnTypes = true; overview.showTemplateParameters = true; name = overview.prettyName(declaration->name()); - if (declaration->enclosingScope()->isClass() || - declaration->enclosingScope()->isNamespace() || - declaration->enclosingScope()->isEnum() || - declaration->enclosingScope()->isTemplate()) { + if (declaration->enclosingScope()->asClass() || + declaration->enclosingScope()->asNamespace() || + declaration->enclosingScope()->asEnum() || + declaration->enclosingScope()->asTemplate()) { qualifiedName = overview.prettyName(LookupContext::fullyQualifiedName(declaration)); helpIdCandidates = stripName(qualifiedName); } else { @@ -187,7 +187,7 @@ void CppClass::lookupBases(QFutureInterfaceBase &futureInterface, for (ClassOrNamespace *baseClass : bases) { const QList &symbols = baseClass->symbols(); for (Symbol *symbol : symbols) { - if (symbol->isClass() && ( + if (symbol->asClass() && ( clazz = context.lookupType(symbol)) && !visited.contains(clazz)) { CppClass baseCppClass(symbol); @@ -345,16 +345,16 @@ public: static bool isCppClass(Symbol *symbol) { - return symbol->isClass() || symbol->isForwardClassDeclaration() - || (symbol->isTemplate() && symbol->asTemplate()->declaration() - && (symbol->asTemplate()->declaration()->isClass() - || symbol->asTemplate()->declaration()->isForwardClassDeclaration())); + return symbol->asClass() || symbol->asForwardClassDeclaration() + || (symbol->asTemplate() && symbol->asTemplate()->declaration() + && (symbol->asTemplate()->declaration()->asClass() + || symbol->asTemplate()->declaration()->asForwardClassDeclaration())); } static Symbol *followClassDeclaration(Symbol *symbol, const Snapshot &snapshot, SymbolFinder symbolFinder, LookupContext *context = nullptr) { - if (!symbol->isForwardClassDeclaration()) + if (!symbol->asForwardClassDeclaration()) return symbol; Symbol *classDeclaration = symbolFinder.findMatchingClassDeclaration(symbol, snapshot); @@ -422,7 +422,7 @@ static QSharedPointer handleLookupItemMatch(const Snapshot &snapshot element = QSharedPointer(new Unknown(type)); } else { const FullySpecifiedType &type = declaration->type(); - if (declaration->isNamespace()) { + if (declaration->asNamespace()) { element = QSharedPointer(new CppNamespace(declaration)); } else if (isCppClass(declaration)) { LookupContext contextToUse = context; @@ -434,11 +434,11 @@ static QSharedPointer handleLookupItemMatch(const Snapshot &snapshot element = QSharedPointer(new CppEnumerator(enumerator)); } else if (declaration->isTypedef()) { element = QSharedPointer(new CppTypedef(declaration)); - } else if (declaration->isFunction() + } else if (declaration->asFunction() || (type.isValid() && type->isFunctionType()) - || declaration->isTemplate()) { + || declaration->asTemplate()) { element = QSharedPointer(new CppFunction(declaration)); - } else if (declaration->isDeclaration() && type.isValid()) { + } else if (declaration->asDeclaration() && type.isValid()) { element = QSharedPointer( new CppVariable(declaration, context, lookupItem.scope())); } else { @@ -451,7 +451,7 @@ static QSharedPointer handleLookupItemMatch(const Snapshot &snapshot // special case for bug QTCREATORBUG-4780 static bool shouldOmitElement(const LookupItem &lookupItem, const Scope *scope) { - return !lookupItem.declaration() && scope && scope->isFunction() + return !lookupItem.declaration() && scope && scope->asFunction() && lookupItem.type().match(scope->asFunction()->returnType()); } @@ -484,8 +484,8 @@ static LookupItem findLookupItem(const CPlusPlus::Snapshot &snapshot, CPlusPlus: return LookupItem(); auto isInteresting = [followTypedef](Symbol *symbol) { - return symbol && (!followTypedef || (symbol->isClass() || symbol->isTemplate() - || symbol->isForwardClassDeclaration() || symbol->isTypedef())); + return symbol && (!followTypedef || (symbol->asClass() || symbol->asTemplate() + || symbol->asForwardClassDeclaration() || symbol->isTypedef())); }; for (const LookupItem &item : lookupItems) { @@ -749,7 +749,7 @@ Utils::Link CppElementEvaluator::linkFromExpression(const QString &expression, c Symbol *symbol = item.declaration(); if (!symbol) continue; - if (!symbol->isClass() && !symbol->isTemplate()) + if (!symbol->asClass() && !symbol->asTemplate()) continue; return symbol->toLink(); } diff --git a/src/plugins/cppeditor/cppfindreferences.cpp b/src/plugins/cppeditor/cppfindreferences.cpp index 44f40505d16..1b4f78bef97 100644 --- a/src/plugins/cppeditor/cppfindreferences.cpp +++ b/src/plugins/cppeditor/cppfindreferences.cpp @@ -413,11 +413,11 @@ static void find_helper(QFutureInterface &future, symbol->fileNameLength()); Utils::FilePaths files{sourceFile}; - if (symbol->isClass() - || symbol->isForwardClassDeclaration() + if (symbol->asClass() + || symbol->asForwardClassDeclaration() || (symbol->enclosingScope() && !symbol->isStatic() - && symbol->enclosingScope()->isNamespace())) { + && symbol->enclosingScope()->asNamespace())) { const CPlusPlus::Snapshot snapshotFromContext = context.snapshot(); for (auto i = snapshotFromContext.begin(), ei = snapshotFromContext.end(); i != ei; ++i) { if (i.key() == sourceFile) @@ -479,7 +479,7 @@ void CppFindReferences::findUsages(CPlusPlus::Symbol *symbol, parameters.symbolFileName = QByteArray(symbol->fileName()); parameters.categorize = codeModelSettings()->categorizeFindReferences(); - if (symbol->isClass() || symbol->isForwardClassDeclaration()) { + if (symbol->asClass() || symbol->asForwardClassDeclaration()) { CPlusPlus::Overview overview; parameters.prettySymbolName = overview.prettyName(CPlusPlus::LookupContext::path(symbol).constLast()); diff --git a/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp b/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp index 23a377bc1d0..9a33620702f 100644 --- a/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp +++ b/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp @@ -117,13 +117,13 @@ bool VirtualFunctionHelper::canLookupVirtualFunctionOverrides(Function *function if (!m_document || m_snapshot.isEmpty() || !m_function || !m_scope) return false; - if (m_scope->isClass() && m_function->isPureVirtual()) { + if (m_scope->asClass() && m_function->isPureVirtual()) { m_staticClassOfFunctionCallExpression = m_scope->asClass(); return true; } if (!m_baseExpressionAST || !m_expressionDocument - || m_scope->isClass() || m_scope->isFunction()) { + || m_scope->asClass() || m_scope->asFunction()) { return false; } @@ -191,7 +191,7 @@ Class *VirtualFunctionHelper::staticClassOfFunctionCallExpression_internal() con const QList symbols = binding->symbols(); if (!symbols.isEmpty()) { Symbol * const first = symbols.first(); - if (first->isForwardClassDeclaration()) + if (first->asForwardClassDeclaration()) result = m_finder->findMatchingClassDeclaration(first, m_snapshot); } } @@ -253,7 +253,7 @@ static bool isForwardClassDeclaration(Type *type) return true; } else if (Template *templ = type->asTemplateType()) { if (Symbol *declaration = templ->declaration()) { - if (declaration->isForwardClassDeclaration()) + if (declaration->asForwardClassDeclaration()) return true; } } @@ -384,7 +384,7 @@ Link attemptDeclDef(const QTextCursor &cursor, Snapshot snapshot, Symbol *findDefinition(Symbol *symbol, const Snapshot &snapshot, SymbolFinder *symbolFinder) { - if (symbol->isFunction()) + if (symbol->asFunction()) return nullptr; // symbol is a function definition. if (!symbol->type()->isFunctionType()) @@ -706,7 +706,7 @@ void FollowSymbolUnderCursor::findLink( for (const LookupItem &r : resolvedSymbols) { if (Symbol *d = r.declaration()) { - if (d->isDeclaration() || d->isFunction()) { + if (d->asDeclaration() || d->asFunction()) { const QString fileName = QString::fromUtf8(d->fileName(), d->fileNameLength()); if (data.filePath().toString() == fileName) { if (line == d->line() && positionInBlock >= d->column()) { @@ -715,7 +715,7 @@ void FollowSymbolUnderCursor::findLink( break; } } - } else if (d->isUsingDeclaration()) { + } else if (d->asUsingDeclaration()) { int tokenBeginLineNumber = 0; int tokenBeginColumnNumber = 0; Utils::Text::convertPosition(document, beginOfToken, &tokenBeginLineNumber, @@ -768,11 +768,11 @@ void FollowSymbolUnderCursor::findLink( if (def == lastVisibleSymbol) def = nullptr; // jump to declaration then. - if (symbol->isForwardClassDeclaration()) { + if (symbol->asForwardClassDeclaration()) { def = symbolFinder->findMatchingClassDeclaration(symbol, snapshot); } else if (Template *templ = symbol->asTemplate()) { if (Symbol *declaration = templ->declaration()) { - if (declaration->isForwardClassDeclaration()) + if (declaration->asForwardClassDeclaration()) def = symbolFinder->findMatchingClassDeclaration(declaration, snapshot); } } @@ -828,7 +828,7 @@ void FollowSymbolUnderCursor::switchDeclDef( } else if (SimpleDeclarationAST *simpleDeclaration = ast->asSimpleDeclaration()) { if (List *symbols = simpleDeclaration->symbols) { if (Symbol *symbol = symbols->value) { - if (symbol->isDeclaration()) { + if (symbol->asDeclaration()) { declarationSymbol = symbol; if (symbol->type()->isFunctionType()) { functionDeclarationSymbol = symbol; diff --git a/src/plugins/cppeditor/cpplocalsymbols.cpp b/src/plugins/cppeditor/cpplocalsymbols.cpp index ca20fbe92da..367efa83a9b 100644 --- a/src/plugins/cppeditor/cpplocalsymbols.cpp +++ b/src/plugins/cppeditor/cpplocalsymbols.cpp @@ -76,8 +76,8 @@ protected: if (Symbol *member = scope->memberAt(i)) { if (member->isTypedef()) continue; - if (!member->isGenerated() && (member->isDeclaration() || member->isArgument())) { - if (member->name() && member->name()->isNameId()) { + if (!member->isGenerated() && (member->asDeclaration() || member->asArgument())) { + if (member->name() && member->name()->asNameId()) { const Token token = tokenAt(member->sourceLocation()); int line, column; getPosition(token.utf16charsBegin(), &line, &column); @@ -99,10 +99,10 @@ protected: const Identifier *id = identifier(simpleName->identifier_token); for (int i = _scopeStack.size() - 1; i != -1; --i) { if (Symbol *member = _scopeStack.at(i)->find(id)) { - if (member->isTypedef() || !(member->isDeclaration() || member->isArgument())) + if (member->isTypedef() || !(member->asDeclaration() || member->asArgument())) continue; if (!member->isGenerated() && (member->sourceLocation() < firstToken - || member->enclosingScope()->isFunction())) { + || member->enclosingScope()->asFunction())) { int line, column; getTokenStartPosition(simpleName->identifier_token, &line, &column); localUses[member].append( diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp index 7bbf588383f..6258c9355a7 100644 --- a/src/plugins/cppeditor/cppmodelmanager.cpp +++ b/src/plugins/cppeditor/cppmodelmanager.cpp @@ -32,19 +32,16 @@ #include "cppcodemodelinspectordumper.h" #include "cppcurrentdocumentfilter.h" #include "cppeditorconstants.h" -#include "cppeditorplugin.h" #include "cppfindreferences.h" #include "cppincludesfilter.h" #include "cppindexingsupport.h" #include "cpplocatordata.h" #include "cpplocatorfilter.h" #include "cppbuiltinmodelmanagersupport.h" -#include "cpprefactoringchanges.h" #include "cppsourceprocessor.h" #include "cpptoolsjsextension.h" #include "cpptoolsreuse.h" #include "editordocumenthandle.h" -#include "stringtable.h" #include "symbolfinder.h" #include "symbolsfindfilter.h" @@ -57,13 +54,17 @@ #include #include #include + #include #include #include #include +#include #include #include + #include + #include #include #include @@ -1485,13 +1486,13 @@ QSet CppModelManager::symbolsInFiles(const QSet &files const CPlusPlus::Identifier *symId = sym->identifier(); // Add any class, function or namespace identifiers - if ((sym->isClass() || sym->isFunction() || sym->isNamespace()) && symId + if ((sym->asClass() || sym->asFunction() || sym->asNamespace()) && symId && symId->chars()) { uniqueSymbols.insert(QString::fromUtf8(symId->chars())); } // Handle specific case : get "Foo" in "void Foo::function() {}" - if (sym->isFunction() && !sym->asFunction()->isDeclaration()) { + if (sym->asFunction() && !sym->asFunction()->asDeclaration()) { const char *className = belongingClassName(sym->asFunction()); if (className) uniqueSymbols.insert(QString::fromUtf8(className)); diff --git a/src/plugins/cppeditor/cppoverviewmodel.cpp b/src/plugins/cppeditor/cppoverviewmodel.cpp index 560d4701341..de7a8df2f41 100644 --- a/src/plugins/cppeditor/cppoverviewmodel.cpp +++ b/src/plugins/cppeditor/cppoverviewmodel.cpp @@ -67,11 +67,11 @@ public: QString name = overviewModel->_overview.prettyName(symbol->name()); if (name.isEmpty()) name = QLatin1String("anonymous"); - if (symbol->isObjCForwardClassDeclaration()) + if (symbol->asObjCForwardClassDeclaration()) name = QLatin1String("@class ") + name; - if (symbol->isObjCForwardProtocolDeclaration() || symbol->isObjCProtocol()) + if (symbol->asObjCForwardProtocolDeclaration() || symbol->asObjCProtocol()) name = QLatin1String("@protocol ") + name; - if (symbol->isObjCClass()) { + if (symbol->asObjCClass()) { ObjCClass *clazz = symbol->asObjCClass(); if (clazz->isInterface()) name = QLatin1String("@interface ") + name; @@ -83,7 +83,7 @@ public: clazz->categoryName())); } } - if (symbol->isObjCPropertyDeclaration()) + if (symbol->asObjCPropertyDeclaration()) name = QLatin1String("@property ") + name; // if symbol is a template we might change it now - so, use a copy instead as we're const Symbol *symbl = symbol; @@ -98,13 +98,13 @@ public: name += QString("<%1>").arg(parameters.join(QLatin1String(", "))); symbl = templateDeclaration; } - if (symbl->isObjCMethod()) { + if (symbl->asObjCMethod()) { ObjCMethod *method = symbl->asObjCMethod(); if (method->isStatic()) name = QLatin1Char('+') + name; else name = QLatin1Char('-') + name; - } else if (! symbl->isScope() || symbl->isFunction()) { + } else if (! symbl->asScope() || symbl->asFunction()) { QString type = overviewModel->_overview.prettyType(symbl->type()); if (Function *f = symbl->type()->asFunctionType()) { name += type; diff --git a/src/plugins/cppeditor/cpppointerdeclarationformatter.cpp b/src/plugins/cppeditor/cpppointerdeclarationformatter.cpp index a35b14fba61..35a27a1485e 100644 --- a/src/plugins/cppeditor/cpppointerdeclarationformatter.cpp +++ b/src/plugins/cppeditor/cpppointerdeclarationformatter.cpp @@ -412,9 +412,9 @@ void PointerDeclarationFormatter::checkAndRewrite(DeclaratorAST *declarator, QString rewrittenDeclaration; const Name *name = symbol->name(); if (name) { - if (name->isOperatorNameId() - || (name->isQualifiedNameId() - && name->asQualifiedNameId()->name()->isOperatorNameId())) { + if (name->asOperatorNameId() + || (name->asQualifiedNameId() + && name->asQualifiedNameId()->name()->asOperatorNameId())) { const QString operatorText = m_cppRefactoringFile->textOf(declarator->core_declarator); m_overview.includeWhiteSpaceInOperatorName = operatorText.contains(QLatin1Char(' ')); } diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp index 42f90edf7c6..e61c0ce6aed 100644 --- a/src/plugins/cppeditor/cppquickfixes.cpp +++ b/src/plugins/cppeditor/cppquickfixes.cpp @@ -159,7 +159,7 @@ Class *isMemberFunction(const LookupContext &context, Function *function) QTC_ASSERT(function, return nullptr); Scope *enclosingScope = function->enclosingScope(); - while (!(enclosingScope->isNamespace() || enclosingScope->isClass())) + while (!(enclosingScope->asNamespace() || enclosingScope->asClass())) enclosingScope = enclosingScope->enclosingScope(); QTC_ASSERT(enclosingScope != nullptr, return nullptr); @@ -167,7 +167,7 @@ Class *isMemberFunction(const LookupContext &context, Function *function) if (!functionName) return nullptr; - if (!functionName->isQualifiedNameId()) + if (!functionName->asQualifiedNameId()) return nullptr; // trying to add a declaration for a global function const QualifiedNameId *q = functionName->asQualifiedNameId(); @@ -192,7 +192,7 @@ Namespace *isNamespaceFunction(const LookupContext &context, Function *function) return nullptr; Scope *enclosingScope = function->enclosingScope(); - while (!(enclosingScope->isNamespace() || enclosingScope->isClass())) + while (!(enclosingScope->asNamespace() || enclosingScope->asClass())) enclosingScope = enclosingScope->enclosingScope(); QTC_ASSERT(enclosingScope != nullptr, return nullptr); @@ -201,7 +201,7 @@ Namespace *isNamespaceFunction(const LookupContext &context, Function *function) return nullptr; // global namespace - if (!functionName->isQualifiedNameId()) { + if (!functionName->asQualifiedNameId()) { const QList symbols = context.globalNamespace()->symbols(); for (Symbol *s : symbols) { if (Namespace *matchingNamespace = s->asNamespace()) @@ -259,8 +259,8 @@ void insertNewIncludeDirective(const QString &include, CppRefactoringFilePtr fil bool nameIncludesOperatorName(const Name *name) { - return name->isOperatorNameId() - || (name->isQualifiedNameId() && name->asQualifiedNameId()->name()->isOperatorNameId()); + return name->asOperatorNameId() + || (name->asQualifiedNameId() && name->asQualifiedNameId()->name()->asOperatorNameId()); } QString memberBaseName(const QString &name) @@ -1981,15 +1981,15 @@ LookupResult lookUpDefinition(const CppQuickFixInterface &interface, const NameA const QList results = interface.context().lookup(name, scope); for (const LookupItem &item : results) { if (Symbol *declaration = item.declaration()) { - if (declaration->isClass()) + if (declaration->asClass()) return LookupResult::Declared; - if (declaration->isForwardClassDeclaration()) + if (declaration->asForwardClassDeclaration()) return LookupResult::ForwardDeclared; if (Template *templ = declaration->asTemplate()) { if (Symbol *declaration = templ->declaration()) { - if (declaration->isClass()) + if (declaration->asClass()) return LookupResult::Declared; - if (declaration->isForwardClassDeclaration()) + if (declaration->asForwardClassDeclaration()) return LookupResult::ForwardDeclared; } } @@ -2648,7 +2648,7 @@ void InsertDeclFromDef::match(const CppQuickFixInterface &interface, QuickFixOpe for (Symbol *symbol = matchingClass->find(qName->identifier()); symbol; symbol = symbol->next()) { Symbol *s = symbol; - if (fun->enclosingScope()->isTemplate()) { + if (fun->enclosingScope()->asTemplate()) { if (const Template *templ = s->type()->asTemplateType()) { if (Symbol *decl = templ->declaration()) { if (decl->type()->isFunctionType()) @@ -3221,7 +3221,7 @@ public: // Collect all member functions. for (auto it = theClass->memberBegin(); it != theClass->memberEnd(); ++it) { Symbol * const s = *it; - if (!s->identifier() || !s->type() || !s->isDeclaration() || s->asFunction()) + if (!s->identifier() || !s->type() || !s->asDeclaration() || s->asFunction()) continue; Function * const func = s->type()->asFunctionType(); if (!func || func->isSignal() || func->isFriend()) @@ -3676,7 +3676,7 @@ protected: if (m_settings->addUsingNamespaceinCppFile()) { // check if we have to insert a using namespace ... auto requiredNamespaces = getNamespaceNames( - symbol->isClass() ? symbol : symbol->enclosingClass()); + symbol->asClass() ? symbol : symbol->enclosingClass()); NSCheckerVisitor visitor(m_sourceFile.get(), requiredNamespaces, m_sourceFile->position(m_sourceFileInsertionPoint.line(), @@ -3933,7 +3933,7 @@ void GetterSetterRefactoringHelper::performGeneration(ExistingGetterSetterData d auto getterLocation = m_settings->determineGetterLocation(1); // if we have an anonymous class we must add code inside the class - if (data.clazz->name()->isAnonymousNameId()) + if (data.clazz->name()->asAnonymousNameId()) getterLocation = CppQuickFixSettings::FunctionLocation::InsideClass; if (getterLocation == CppQuickFixSettings::FunctionLocation::InsideClass) { @@ -4055,7 +4055,7 @@ void GetterSetterRefactoringHelper::performGeneration(ExistingGetterSetterData d auto setterLocation = m_settings->determineSetterLocation(body.count('\n') - 2); // if we have an anonymous class we must add code inside the class - if (data.clazz->name()->isAnonymousNameId()) + if (data.clazz->name()->asAnonymousNameId()) setterLocation = CppQuickFixSettings::FunctionLocation::InsideClass; if (setterLocation == CppQuickFixSettings::FunctionLocation::CppFile && !hasSourceFile()) @@ -4133,7 +4133,7 @@ void GetterSetterRefactoringHelper::performGeneration(ExistingGetterSetterData d // body.count('\n') - 2 : do not count the 2 at start auto resetLocation = m_settings->determineSetterLocation(body.count('\n') - 2); // if we have an anonymous class we must add code inside the class - if (data.clazz->name()->isAnonymousNameId()) + if (data.clazz->name()->asAnonymousNameId()) resetLocation = CppQuickFixSettings::FunctionLocation::InsideClass; if (resetLocation == CppQuickFixSettings::FunctionLocation::CppFile && !hasSourceFile()) @@ -4287,7 +4287,7 @@ QList getMemberFunctions(const Class *clazz) Symbol *const s = *it; if (!s->identifier() || !s->type()) continue; - if ((s->isDeclaration() && s->type()->asFunctionType()) || s->asFunction()) + if ((s->asDeclaration() && s->type()->asFunctionType()) || s->asFunction()) memberFunctions << s; } return memberFunctions; @@ -4372,7 +4372,7 @@ void GenerateGetterSetter::match(const CppQuickFixInterface &interface, QuickFix // no type can be determined return; } - if (!symbol->isDeclaration()) { + if (!symbol->asDeclaration()) { return; } existing.declarationSymbol = symbol->asDeclaration(); @@ -4668,9 +4668,9 @@ public: Symbol *const s = *it; if (!s->identifier() || !s->type() || s->type().isTypedef()) continue; - if ((s->isDeclaration() && s->type()->asFunctionType()) || s->asFunction()) + if ((s->asDeclaration() && s->type()->asFunctionType()) || s->asFunction()) memberFunctions << s; - else if (s->isDeclaration() && (s->isPrivate() || s->isProtected())) + else if (s->asDeclaration() && (s->isPrivate() || s->isProtected())) dataMembers << s; } @@ -5263,7 +5263,7 @@ void ExtractFunction::match(const CppQuickFixInterface &interface, QuickFixOpera || !refFuncDef->function_body->asCompoundStatement()->statement_list || !refFuncDef->symbol || !refFuncDef->symbol->name() - || refFuncDef->symbol->enclosingScope()->isTemplate() /* TODO: Templates... */) { + || refFuncDef->symbol->enclosingScope()->asTemplate() /* TODO: Templates... */) { return; } @@ -5467,7 +5467,7 @@ public: || !qName->identifier()->match(s->identifier()) || !s->type()->isFunctionType() || !s->type().match(func->type()) - || s->isFunction()) { + || s->asFunction()) { continue; } @@ -6657,7 +6657,7 @@ void MoveFuncDefToDecl::match(const CppQuickFixInterface &interface, QuickFixOpe for (Symbol *symbol = matchingClass->find(qName->identifier()); symbol; symbol = symbol->next()) { Symbol *s = symbol; - if (func->enclosingScope()->isTemplate()) { + if (func->enclosingScope()->asTemplate()) { if (const Template *templ = s->type()->asTemplateType()) { if (Symbol *decl = templ->declaration()) { if (decl->type()->isFunctionType()) @@ -6669,7 +6669,7 @@ void MoveFuncDefToDecl::match(const CppQuickFixInterface &interface, QuickFixOpe || !qName->identifier()->match(s->identifier()) || !s->type()->isFunctionType() || !s->type().match(func->type()) - || s->isFunction()) { + || s->asFunction()) { continue; } @@ -7362,8 +7362,8 @@ bool findRawAccessFunction(Class *klass, PointerType *pointerType, QString *objA for (auto it = klass->memberBegin(), end = klass->memberEnd(); it != end; ++it) { if (Function *func = (*it)->asFunction()) { const Name *funcName = func->name(); - if (!funcName->isOperatorNameId() - && !funcName->isConversionNameId() + if (!funcName->asOperatorNameId() + && !funcName->asConversionNameId() && func->returnType().type() == pointerType && func->isConst() && func->argumentCount() == 0) { @@ -8200,7 +8200,7 @@ void RemoveUsingNamespace::match(const CppQuickFixInterface &interface, QuickFix if (path.last()->asName()) --n; UsingDirectiveAST *usingDirective = path.at(n)->asUsingDirective(); - if (usingDirective && usingDirective->name->name->isNameId()) { + if (usingDirective && usingDirective->name->name->asNameId()) { result << new RemoveUsingNamespaceOperation(interface, usingDirective, false); const bool isHeader = ProjectFile::isHeader(ProjectFile::classify(interface.filePath().toString())); if (isHeader && path.at(n - 1)->asTranslationUnit()) // using namespace at global scope @@ -8813,9 +8813,9 @@ public: Symbol *const s = *it; if (!s->identifier() || !s->type() || s->type().isTypedef()) continue; - if ((s->isDeclaration() && s->type()->asFunctionType()) || s->asFunction()) + if ((s->asDeclaration() && s->type()->asFunctionType()) || s->asFunction()) continue; - if (s->isDeclaration() && (s->isPrivate() || s->isProtected()) && !s->isStatic()) { + if (s->asDeclaration() && (s->isPrivate() || s->isProtected()) && !s->isStatic()) { const auto name = QString::fromUtf8(s->identifier()->chars(), s->identifier()->size()); parameterModel.emplaceBackParameter(name, s, memberCounter++); diff --git a/src/plugins/cppeditor/cpptoolsreuse.cpp b/src/plugins/cppeditor/cpptoolsreuse.cpp index 34d4aac0466..ac0d6c7a59c 100644 --- a/src/plugins/cppeditor/cpptoolsreuse.cpp +++ b/src/plugins/cppeditor/cpptoolsreuse.cpp @@ -178,7 +178,7 @@ bool isOwnershipRAIIType(Symbol *symbol, const LookupContext &context) // This is not a "real" comparison of types. What we do is to resolve the symbol // in question and then try to match its name with already known ones. - if (symbol->isDeclaration()) { + if (symbol->asDeclaration()) { Declaration *declaration = symbol->asDeclaration(); const NamedType *namedType = declaration->type()->asNamedType(); if (namedType) { diff --git a/src/plugins/cppeditor/doxygengenerator.cpp b/src/plugins/cppeditor/doxygengenerator.cpp index 2617fb2c21d..555c1502f4b 100644 --- a/src/plugins/cppeditor/doxygengenerator.cpp +++ b/src/plugins/cppeditor/doxygengenerator.cpp @@ -216,7 +216,7 @@ QString DoxygenGenerator::generate(QTextCursor cursor, DeclarationAST *decl) if (ClassSpecifierAST *classSpec = spec->asClassSpecifier()) { if (classSpec->name) { QString aggregate; - if (classSpec->symbol->isClass()) + if (classSpec->symbol->asClass()) aggregate = QLatin1String("class"); else if (classSpec->symbol->isStruct()) aggregate = QLatin1String("struct"); diff --git a/src/plugins/cppeditor/functionutils.cpp b/src/plugins/cppeditor/functionutils.cpp index 3d847232bf1..a4e8ac06fe0 100644 --- a/src/plugins/cppeditor/functionutils.cpp +++ b/src/plugins/cppeditor/functionutils.cpp @@ -130,11 +130,11 @@ static bool isVirtualFunction_helper(const Function *function, const QList results = context.lookup(function->name(), function->enclosingScope()); if (!results.isEmpty()) { - const bool isDestructor = function->name()->isDestructorNameId(); + const bool isDestructor = function->name()->asDestructorNameId(); for (const LookupItem &item : results) { if (Symbol *symbol = item.declaration()) { if (Function *functionType = symbol->type()->asFunctionType()) { - if (functionType->name()->isDestructorNameId() != isDestructor) + if ((functionType->name()->asDestructorNameId() != nullptr) != isDestructor) continue; if (functionType == function) // already tested continue; diff --git a/src/plugins/cppeditor/searchsymbols.cpp b/src/plugins/cppeditor/searchsymbols.cpp index 0845eb40bc7..e3f86e945ea 100644 --- a/src/plugins/cppeditor/searchsymbols.cpp +++ b/src/plugins/cppeditor/searchsymbols.cpp @@ -267,9 +267,9 @@ QString SearchSymbols::scopeName(const QString &name, const Symbol *symbol) cons if (!name.isEmpty()) return name; - if (symbol->isNamespace()) { + if (symbol->asNamespace()) { return QLatin1String(""); - } else if (symbol->isEnum()) { + } else if (symbol->asEnum()) { return QLatin1String(""); } else if (const Class *c = symbol->asClass()) { if (c->isUnion()) diff --git a/src/plugins/cppeditor/symbolfinder.cpp b/src/plugins/cppeditor/symbolfinder.cpp index f80f82ebb21..f9da3591de7 100644 --- a/src/plugins/cppeditor/symbolfinder.cpp +++ b/src/plugins/cppeditor/symbolfinder.cpp @@ -378,7 +378,7 @@ void SymbolFinder::findMatchingDeclaration(const LookupContext &context, return; Scope *enclosingScope = functionType->enclosingScope(); - while (!(enclosingScope->isNamespace() || enclosingScope->isClass())) + while (!(enclosingScope->asNamespace() || enclosingScope->asClass())) enclosingScope = enclosingScope->enclosingScope(); QTC_ASSERT(enclosingScope != nullptr, return); @@ -451,9 +451,9 @@ QList SymbolFinder::findMatchingDeclaration(const LookupContext & // For member functions not defined inline, add fuzzy matches as fallbacks. We cannot do // this for free functions, because there is no guarantee that there's a separate declaration. QList fuzzyMatches = argumentCountMatch + nameMatch; - if (!functionType->enclosingScope() || !functionType->enclosingScope()->isClass()) { + if (!functionType->enclosingScope() || !functionType->enclosingScope()->asClass()) { for (Declaration * const d : fuzzyMatches) { - if (d->enclosingScope() && d->enclosingScope()->isClass()) + if (d->enclosingScope() && d->enclosingScope()->asClass()) result.append(d); } } diff --git a/src/plugins/cppeditor/typehierarchybuilder.cpp b/src/plugins/cppeditor/typehierarchybuilder.cpp index caaf849aeca..06b8ec0bb5e 100644 --- a/src/plugins/cppeditor/typehierarchybuilder.cpp +++ b/src/plugins/cppeditor/typehierarchybuilder.cpp @@ -159,7 +159,7 @@ LookupItem TypeHierarchyBuilder::followTypedef(const LookupContext &context, con Symbol *s = item.declaration(); if (!s) continue; - if (!s->isClass() && !s->isTemplate() && !s->isTypedef()) + if (!s->asClass() && !s->asTemplate() && !s->isTypedef()) continue; if (!typedefs.insert(s).second) continue; diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index ce6ffac2564..60692a75a11 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -298,7 +298,7 @@ QString CdbEngine::extensionLibraryName(bool is64Bit, bool isArm) return QString("%1/lib/" QT_CREATOR_CDB_EXT "%2%3/" QT_CREATOR_CDB_EXT ".dll") .arg(QFileInfo(QCoreApplication::applicationDirPath()).path()) .arg(isArm ? "arm" : QString()) - .arg(is64Bit ? "64": "32"); + .arg(is64Bit ? QLatin1String("64") : QLatin1String("32")); } int CdbEngine::elapsedLogTime() diff --git a/src/plugins/debugger/loadcoredialog.cpp b/src/plugins/debugger/loadcoredialog.cpp index ac0da69d36f..39a753f3eb7 100644 --- a/src/plugins/debugger/loadcoredialog.cpp +++ b/src/plugins/debugger/loadcoredialog.cpp @@ -32,6 +32,8 @@ #include #include #include +#include + #include #include #include diff --git a/src/plugins/debugger/loadcoredialog.h b/src/plugins/debugger/loadcoredialog.h index de181c9844e..6935773f496 100644 --- a/src/plugins/debugger/loadcoredialog.h +++ b/src/plugins/debugger/loadcoredialog.h @@ -35,8 +35,6 @@ namespace Utils { class FilePath; } namespace Debugger { namespace Internal { -class AttachCoreDialogPrivate; - class AttachCoreDialog : public QDialog { Q_OBJECT @@ -71,9 +69,8 @@ private: void coreFileChanged(const QString &core); void selectRemoteCoreFile(); - AttachCoreDialogPrivate *d; + class AttachCoreDialogPrivate *d; }; - } // namespace Debugger } // namespace Internal diff --git a/src/plugins/debugger/sourceutils.cpp b/src/plugins/debugger/sourceutils.cpp index 79850bdc420..e13c1afe605 100644 --- a/src/plugins/debugger/sourceutils.cpp +++ b/src/plugins/debugger/sourceutils.cpp @@ -70,15 +70,15 @@ static void debugCppSymbolRecursion(QTextStream &str, const Overview &o, for (int i = 0; i < recursion; i++) str << " "; str << "Symbol: " << o.prettyName(s.name()) << " at line " << s.line(); - if (s.isFunction()) + if (s.asFunction()) str << " function"; - if (s.isClass()) + if (s.asClass()) str << " class"; - if (s.isDeclaration()) + if (s.asDeclaration()) str << " declaration"; - if (s.isBlock()) + if (s.asBlock()) str << " block"; - if (doRecurse && s.isScope()) { + if (doRecurse && s.asScope()) { const Scope *scoped = s.asScope(); const int size = scoped->memberCount(); str << " scoped symbol of " << size << '\n'; @@ -106,17 +106,17 @@ QDebug operator<<(QDebug d, const Scope &scope) QTextStream str(&output); const int size = scope.memberCount(); str << "Scope of " << size; - if (scope.isNamespace()) + if (scope.asNamespace()) str << " namespace"; - if (scope.isClass()) + if (scope.asClass()) str << " class"; - if (scope.isEnum()) + if (scope.asEnum()) str << " enum"; - if (scope.isBlock()) + if (scope.asBlock()) str << " block"; - if (scope.isFunction()) + if (scope.asFunction()) str << " function"; - if (scope.isDeclaration()) + if (scope.asDeclaration()) str << " prototype"; #if 0 // ### port me if (const Symbol *owner = &scope) { @@ -168,7 +168,7 @@ static void blockRecursion(const Overview &overview, // Fixme: loop variables or similar are currently seen in the outer scope for (int s = scope->memberCount() - 1; s >= 0; --s){ const CPlusPlus::Symbol *symbol = scope->memberAt(s); - if (symbol->isDeclaration()) { + if (symbol->asDeclaration()) { // Find out about shadowed symbols by bookkeeping // the already seen occurrences in a hash. const QString name = overview.prettyName(symbol->name()); @@ -210,7 +210,7 @@ QStringList getUninitializedVariables(const Snapshot &snapshot, // and the innermost scope at cursor position const Function *function = nullptr; const Scope *innerMostScope = nullptr; - if (symbolAtLine->isFunction()) { + if (symbolAtLine->asFunction()) { function = symbolAtLine->asFunction(); if (function->memberCount() == 1) // Skip over function block if (Block *block = function->memberAt(0)->asBlock()) @@ -218,7 +218,7 @@ QStringList getUninitializedVariables(const Snapshot &snapshot, } else { if (const Scope *functionScope = symbolAtLine->enclosingFunction()) { function = functionScope->asFunction(); - innerMostScope = symbolAtLine->isBlock() ? + innerMostScope = symbolAtLine->asBlock() ? symbolAtLine->asBlock() : symbolAtLine->enclosingBlock(); } @@ -380,7 +380,7 @@ static int firstRelevantLine(const Document::Ptr document, int line, int column) if (!scope) scope = symbol->enclosingScope(); - while (scope && !scope->isFunction() ) + while (scope && !scope->asFunction() ) scope = scope->enclosingScope(); if (!scope) diff --git a/src/plugins/debugger/unstartedappwatcherdialog.cpp b/src/plugins/debugger/unstartedappwatcherdialog.cpp index edfc8cff44f..9463128f6ae 100644 --- a/src/plugins/debugger/unstartedappwatcherdialog.cpp +++ b/src/plugins/debugger/unstartedappwatcherdialog.cpp @@ -26,29 +26,31 @@ #include "unstartedappwatcherdialog.h" #include "debuggeritem.h" -#include "debuggerdialogs.h" #include "debuggerkitinformation.h" #include +#include #include -#include -#include +#include #include +#include +#include #include #include -#include +#include +#include -#include -#include -#include #include #include +#include +#include +#include #include #include -#include #include -#include +#include +#include using namespace ProjectExplorer; using namespace Utils; diff --git a/src/plugins/designer/gotoslot_test.cpp b/src/plugins/designer/gotoslot_test.cpp index 7f0e4cbbd91..02e7adc85bc 100644 --- a/src/plugins/designer/gotoslot_test.cpp +++ b/src/plugins/designer/gotoslot_test.cpp @@ -106,7 +106,7 @@ protected: void postVisit(Symbol *symbol) { - if (symbol->isClass()) + if (symbol->asClass()) m_currentClass.clear(); } diff --git a/src/plugins/gitlab/gitlaboptionspage.cpp b/src/plugins/gitlab/gitlaboptionspage.cpp index d533b985f81..5687eb9ec83 100644 --- a/src/plugins/gitlab/gitlaboptionspage.cpp +++ b/src/plugins/gitlab/gitlaboptionspage.cpp @@ -64,27 +64,27 @@ GitLabServerWidget::GitLabServerWidget(Mode m, QWidget *parent) : QWidget(parent) , m_mode(m) { - m_host.setLabelText(tr("Host:")); + m_host.setLabelText(GitLabOptionsPage::tr("Host:")); m_host.setDisplayStyle(m == Display ? Utils::StringAspect::LabelDisplay : Utils::StringAspect::LineEditDisplay); m_host.setValidationFunction([](Utils::FancyLineEdit *l, QString *) { return hostValid(l->text()); }); - m_description.setLabelText(tr("Description:")); + m_description.setLabelText(GitLabOptionsPage::tr("Description:")); m_description.setDisplayStyle(m == Display ? Utils::StringAspect::LabelDisplay : Utils::StringAspect::LineEditDisplay); - m_token.setLabelText(tr("Access token:")); + m_token.setLabelText(GitLabOptionsPage::tr("Access token:")); m_token.setDisplayStyle(m == Display ? Utils::StringAspect::LabelDisplay : Utils::StringAspect::LineEditDisplay); m_token.setVisible(m == Edit); m_port.setRange(1, 65535); m_port.setValue(GitLabServer::defaultPort); - auto portLabel = new QLabel(tr("Port:"), this); + auto portLabel = new QLabel(GitLabOptionsPage::tr("Port:"), this); m_port.setEnabled(m == Edit); - m_secure.setLabelText(tr("HTTPS:")); + m_secure.setLabelText(GitLabOptionsPage::tr("HTTPS:")); m_secure.setLabelPlacement(Utils::BoolAspect::LabelPlacement::InExtraLabel); m_secure.setDefaultValue(true); m_secure.setEnabled(m == Edit); diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index 0c5872486c5..88f9257327b 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -349,10 +349,10 @@ void LanguageClientManager::registerClientSettings(BaseSettings *settings) managerInstance->applySettings(); } -void LanguageClientManager::enableClientSettings(const QString &settingsId) +void LanguageClientManager::enableClientSettings(const QString &settingsId, bool enable) { QTC_ASSERT(managerInstance, return); - LanguageClientSettings::enableSettings(settingsId); + LanguageClientSettings::enableSettings(settingsId, enable); managerInstance->applySettings(); } diff --git a/src/plugins/languageclient/languageclientmanager.h b/src/plugins/languageclient/languageclientmanager.h index d1b1467f6ab..7fb7c045512 100644 --- a/src/plugins/languageclient/languageclientmanager.h +++ b/src/plugins/languageclient/languageclientmanager.h @@ -80,7 +80,7 @@ public: static void applySettings(); static QList currentSettings(); static void registerClientSettings(BaseSettings *settings); - static void enableClientSettings(const QString &settingsId); + static void enableClientSettings(const QString &settingsId, bool enable = true); static QList clientsForSetting(const BaseSettings *setting); static const BaseSettings *settingForClient(Client *setting); static Client *clientForDocument(TextEditor::TextDocument *document); diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp index b928e68e5a2..737fe23b8f1 100644 --- a/src/plugins/languageclient/languageclientsettings.cpp +++ b/src/plugins/languageclient/languageclientsettings.cpp @@ -114,7 +114,7 @@ public: void reset(const QList &settings); QList settings() const { return m_settings; } int insertSettings(BaseSettings *settings); - void enableSetting(const QString &id); + void enableSetting(const QString &id, bool enable = true); QList removed() const { return m_removed; } BaseSettings *settingForIndex(const QModelIndex &index) const; QModelIndex indexForSetting(BaseSettings *setting) const; @@ -163,7 +163,7 @@ public: QList settings() const; QList changedSettings() const; void addSettings(BaseSettings *settings); - void enableSettings(const QString &id); + void enableSettings(const QString &id, bool enable = true); private: LanguageClientSettingsModel m_model; @@ -368,9 +368,9 @@ void LanguageClientSettingsPage::addSettings(BaseSettings *settings) m_changedSettings << settings->m_id; } -void LanguageClientSettingsPage::enableSettings(const QString &id) +void LanguageClientSettingsPage::enableSettings(const QString &id, bool enable) { - m_model.enableSetting(id); + m_model.enableSetting(id, enable); } LanguageClientSettingsModel::~LanguageClientSettingsModel() @@ -498,12 +498,14 @@ int LanguageClientSettingsModel::insertSettings(BaseSettings *settings) return row; } -void LanguageClientSettingsModel::enableSetting(const QString &id) +void LanguageClientSettingsModel::enableSetting(const QString &id, bool enable) { BaseSettings *setting = Utils::findOrDefault(m_settings, Utils::equal(&BaseSettings::m_id, id)); if (!setting) return; - setting->m_enabled = true; + if (setting->m_enabled == enable) + return; + setting->m_enabled = enable; const QModelIndex &index = indexForSetting(setting); if (index.isValid()) emit dataChanged(index, index, {Qt::CheckStateRole}); @@ -687,9 +689,9 @@ void LanguageClientSettings::addSettings(BaseSettings *settings) settingsPage().addSettings(settings); } -void LanguageClientSettings::enableSettings(const QString &id) +void LanguageClientSettings::enableSettings(const QString &id, bool enable) { - settingsPage().enableSettings(id); + settingsPage().enableSettings(id, enable); } void LanguageClientSettings::toSettings(QSettings *settings, diff --git a/src/plugins/languageclient/languageclientsettings.h b/src/plugins/languageclient/languageclientsettings.h index c9a93414914..bd48eb368bc 100644 --- a/src/plugins/languageclient/languageclientsettings.h +++ b/src/plugins/languageclient/languageclientsettings.h @@ -166,7 +166,7 @@ public: */ static void registerClientType(const ClientType &type); static void addSettings(BaseSettings *settings); - static void enableSettings(const QString &id); + static void enableSettings(const QString &id, bool enable = true); static void toSettings(QSettings *settings, const QList &languageClientSettings); static bool outlineComboBoxIsSorted(); diff --git a/src/plugins/mcusupport/mcukitmanager.cpp b/src/plugins/mcusupport/mcukitmanager.cpp index d5ae013450f..e6534e46e4a 100644 --- a/src/plugins/mcusupport/mcukitmanager.cpp +++ b/src/plugins/mcusupport/mcukitmanager.cpp @@ -37,13 +37,18 @@ #include #include #include + #include #include #include -#include + +#include + #include #include +#include + #include #include diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp index 2f02c615f70..4944e6d68ec 100644 --- a/src/plugins/mcusupport/mcusupportplugin.cpp +++ b/src/plugins/mcusupport/mcusupportplugin.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -72,15 +73,12 @@ void printMessage(const QString &message, bool important) class McuSupportPluginPrivate { public: - explicit McuSupportPluginPrivate(const SettingsHandler::Ptr &settingsHandler) - : m_settingsHandler(settingsHandler) - {} McuSupportDeviceFactory deviceFactory; McuSupportRunConfigurationFactory runConfigurationFactory; RunWorkerFactory runWorkerFactory{makeFlashAndRunWorker(), {ProjectExplorer::Constants::NORMAL_RUN_MODE}, {Constants::RUNCONFIGURATION}}; - SettingsHandler::Ptr m_settingsHandler; + SettingsHandler::Ptr m_settingsHandler{new SettingsHandler}; McuSupportOptions m_options{m_settingsHandler}; McuSupportOptionsPage optionsPage{m_options, m_settingsHandler}; McuDependenciesKitAspect environmentPathsKitAspect; @@ -100,7 +98,7 @@ bool McuSupportPlugin::initialize(const QStringList &arguments, QString *errorSt Q_UNUSED(errorString) setObjectName("McuSupportPlugin"); - dd = new McuSupportPluginPrivate(m_settingsHandler); + dd = new McuSupportPluginPrivate; dd->m_options.registerQchFiles(); dd->m_options.registerExamples(); @@ -115,8 +113,8 @@ void McuSupportPlugin::extensionsInitialized() connect(KitManager::instance(), &KitManager::kitsLoaded, [this]() { McuKitManager::removeOutdatedKits(); - McuKitManager::createAutomaticKits(m_settingsHandler); - McuKitManager::fixExistingKits(m_settingsHandler); + McuKitManager::createAutomaticKits(dd->m_settingsHandler); + McuKitManager::fixExistingKits(dd->m_settingsHandler); askUserAboutMcuSupportKitsSetup(); }); } diff --git a/src/plugins/mcusupport/mcusupportplugin.h b/src/plugins/mcusupport/mcusupportplugin.h index 51d6d4929e3..18195e6c05f 100644 --- a/src/plugins/mcusupport/mcusupportplugin.h +++ b/src/plugins/mcusupport/mcusupportplugin.h @@ -50,7 +50,6 @@ public: private: QVector createTestObjects() const final; - SettingsHandler::Ptr m_settingsHandler{new SettingsHandler}; }; // class McuSupportPlugin diff --git a/src/plugins/mcusupport/test/unittest.cpp b/src/plugins/mcusupport/test/unittest.cpp index 4c0fbd9466e..6998cb67606 100644 --- a/src/plugins/mcusupport/test/unittest.cpp +++ b/src/plugins/mcusupport/test/unittest.cpp @@ -49,11 +49,14 @@ #include #include #include + #include #include #include +#include #include #include + #include #include diff --git a/src/plugins/mesonprojectmanager/mesonactionsmanager/mesonactionsmanager.cpp b/src/plugins/mesonprojectmanager/mesonactionsmanager/mesonactionsmanager.cpp index 6d616b983c8..516e4404402 100644 --- a/src/plugins/mesonprojectmanager/mesonactionsmanager/mesonactionsmanager.cpp +++ b/src/plugins/mesonprojectmanager/mesonactionsmanager/mesonactionsmanager.cpp @@ -31,7 +31,9 @@ #include #include + #include +#include #include #include diff --git a/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp b/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp index bd2e120d513..b12fa8591e7 100644 --- a/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp +++ b/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp @@ -25,11 +25,9 @@ #include "mesonprojectplugin.h" -#include "exewrappers/mesonwrapper.h" #include "machinefiles/machinefilemanager.h" #include "mesonactionsmanager/mesonactionsmanager.h" #include "project/mesonbuildconfiguration.h" -#include "project/mesonbuildsystem.h" #include "project/mesonproject.h" #include "project/mesonrunconfiguration.h" #include "project/ninjabuildstep.h" @@ -39,8 +37,10 @@ #include "settings/tools/toolssettingsaccessor.h" #include "settings/tools/toolssettingspage.h" +#include #include +#include #include #include diff --git a/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.cpp b/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.cpp index bfc3b6ee0ea..6fdcc4f9647 100644 --- a/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.cpp +++ b/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.cpp @@ -31,7 +31,9 @@ #include #include #include +#include #include +#include #include #include diff --git a/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.h b/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.h index 7e657201ca9..a31439883d2 100644 --- a/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.h +++ b/src/plugins/mesonprojectmanager/project/mesonrunconfiguration.h @@ -25,9 +25,7 @@ #pragma once -#include #include -#include namespace MesonProjectManager { namespace Internal { diff --git a/src/plugins/modeleditor/classviewcontroller.cpp b/src/plugins/modeleditor/classviewcontroller.cpp index cee051f4034..fdd4b2f0abd 100644 --- a/src/plugins/modeleditor/classviewcontroller.cpp +++ b/src/plugins/modeleditor/classviewcontroller.cpp @@ -76,7 +76,7 @@ void ClassViewController::appendClassDeclarationsFromSymbol(CPlusPlus::Symbol *s int line, int column, QSet *classNames) { - if (symbol->isClass() + if (symbol->asClass() && (line <= 0 || (symbol->line() == line && symbol->column() == column + 1))) { CPlusPlus::Overview overview; @@ -87,7 +87,7 @@ void ClassViewController::appendClassDeclarationsFromSymbol(CPlusPlus::Symbol *s classNames->insert(className); } - if (symbol->isScope()) { + if (symbol->asScope()) { CPlusPlus::Scope *scope = symbol->asScope(); int total = scope->memberCount(); for (int i = 0; i < total; ++i) { diff --git a/src/plugins/nim/nimplugin.cpp b/src/plugins/nim/nimplugin.cpp index 4bd3a326dd6..418032f6e90 100644 --- a/src/plugins/nim/nimplugin.cpp +++ b/src/plugins/nim/nimplugin.cpp @@ -27,7 +27,6 @@ #include "nimconstants.h" #include "editor/nimeditorfactory.h" -#include "editor/nimhighlighter.h" #include "project/nimblerunconfiguration.h" #include "project/nimblebuildconfiguration.h" #include "project/nimbuildconfiguration.h" @@ -45,10 +44,13 @@ #include "suggest/nimsuggestcache.h" #include + +#include #include -#include #include #include +#include + #include using namespace Utils; diff --git a/src/plugins/nim/project/nimblerunconfiguration.cpp b/src/plugins/nim/project/nimblerunconfiguration.cpp index 68d6d06b727..9364192d049 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.cpp +++ b/src/plugins/nim/project/nimblerunconfiguration.cpp @@ -25,11 +25,11 @@ #include "nimblerunconfiguration.h" -#include "nimblebuildsystem.h" +#include "nimbuildsystem.h" #include "nimconstants.h" -#include "nimbleproject.h" #include +#include #include #include #include diff --git a/src/plugins/perfprofiler/perfprofilerplugin.cpp b/src/plugins/perfprofiler/perfprofilerplugin.cpp index c12742f113f..b9dab22afa7 100644 --- a/src/plugins/perfprofiler/perfprofilerplugin.cpp +++ b/src/plugins/perfprofiler/perfprofilerplugin.cpp @@ -24,12 +24,10 @@ ****************************************************************************/ #include "perfoptionspage.h" -#include "perfprofilerconstants.h" #include "perfprofilerplugin.h" #include "perfprofilerruncontrol.h" #include "perfprofilertool.h" #include "perfrunconfigurationaspect.h" -#include "perftimelinemodelmanager.h" #if WITH_TESTS //# include "tests/perfprofilertracefile_test.h" // FIXME has to be rewritten @@ -44,8 +42,10 @@ #include #include #include + #include #include +#include #include #include diff --git a/src/plugins/perfprofiler/perfprofilertool.cpp b/src/plugins/perfprofiler/perfprofilertool.cpp index 78f79b46718..6a19ccdeda4 100644 --- a/src/plugins/perfprofiler/perfprofilertool.cpp +++ b/src/plugins/perfprofiler/perfprofilertool.cpp @@ -26,9 +26,7 @@ #include "perfconfigwidget.h" #include "perfloaddialog.h" #include "perfprofilerplugin.h" -#include "perfprofilerruncontrol.h" #include "perfprofilertool.h" -#include "perfrunconfigurationaspect.h" #include "perfsettings.h" #include "perftracepointdialog.h" @@ -39,15 +37,20 @@ #include #include #include + #include #include #include + #include #include #include +#include #include #include + #include + #include #include #include diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 2afbfa8be01..ea8e0fb77aa 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -1197,8 +1197,14 @@ Abis Abi::abisOfBinary(const Utils::FilePath &path) offset += fileLength.toInt() + 60 /* header */; tmp.append(abiOf(data.mid(toSkip))); - if (tmp.isEmpty() && fileName == "/0 ") + if (tmp.isEmpty() && fileName == "/0 ") { tmp = parseCoffHeader(data.mid(toSkip, 20)); // This might be windws... + if (tmp.isEmpty()) { + // Qt 6.2 static builds have the coff headers for both MSVC and MinGW at offset 66 + toSkip = 66 + fileNameOffset; + tmp = parseCoffHeader(data.mid(toSkip, 20)); + } + } if (!tmp.isEmpty() && tmp.at(0).binaryFormat() != MachOFormat) break; diff --git a/src/plugins/projectexplorer/buildsteplist.cpp b/src/plugins/projectexplorer/buildsteplist.cpp index d77dd327ba7..82248bedc8a 100644 --- a/src/plugins/projectexplorer/buildsteplist.cpp +++ b/src/plugins/projectexplorer/buildsteplist.cpp @@ -25,11 +25,9 @@ #include "buildsteplist.h" -#include "buildconfiguration.h" #include "buildmanager.h" #include "buildstep.h" -#include "deployconfiguration.h" -#include "projectexplorer.h" +#include "projectexplorerconstants.h" #include "target.h" #include diff --git a/src/plugins/projectexplorer/buildsystem.h b/src/plugins/projectexplorer/buildsystem.h index e9bcd90edaf..38945b46153 100644 --- a/src/plugins/projectexplorer/buildsystem.h +++ b/src/plugins/projectexplorer/buildsystem.h @@ -29,7 +29,7 @@ #include "buildtargetinfo.h" #include "project.h" -#include "treescanner.h" +#include "projectnodes.h" #include diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp index 936411a7f28..8804965a479 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp @@ -26,6 +26,7 @@ #include "customexecutablerunconfiguration.h" #include "localenvironmentaspect.h" +#include "projectexplorerconstants.h" #include "target.h" using namespace Utils; diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp index df10a323101..c0f3a8d1924 100644 --- a/src/plugins/projectexplorer/deployconfiguration.cpp +++ b/src/plugins/projectexplorer/deployconfiguration.cpp @@ -26,14 +26,16 @@ #include "deployconfiguration.h" #include "buildsteplist.h" -#include "buildconfiguration.h" #include "deploymentdataview.h" #include "kitinformation.h" #include "project.h" -#include "projectexplorer.h" +#include "projectexplorerconstants.h" #include "target.h" #include +#include + +#include using namespace Utils; @@ -44,7 +46,7 @@ const char BUILD_STEP_LIST_PREFIX[] = "ProjectExplorer.BuildConfiguration.BuildS const char USES_DEPLOYMENT_DATA[] = "ProjectExplorer.DeployConfiguration.CustomDataEnabled"; const char DEPLOYMENT_DATA[] = "ProjectExplorer.DeployConfiguration.CustomData"; -DeployConfiguration::DeployConfiguration(Target *target, Utils::Id id) +DeployConfiguration::DeployConfiguration(Target *target, Id id) : ProjectConfiguration(target, id), m_stepList(this, Constants::BUILDSTEPS_DEPLOY) { @@ -135,7 +137,7 @@ DeployConfigurationFactory::~DeployConfigurationFactory() g_deployConfigurationFactories.removeOne(this); } -Utils::Id DeployConfigurationFactory::creationId() const +Id DeployConfigurationFactory::creationId() const { return m_deployConfigBaseId; } @@ -176,7 +178,7 @@ void DeployConfigurationFactory::setUseDeploymentDataView() }; } -void DeployConfigurationFactory::setConfigBaseId(Utils::Id deployConfigBaseId) +void DeployConfigurationFactory::setConfigBaseId(Id deployConfigBaseId) { m_deployConfigBaseId = deployConfigBaseId; } @@ -210,7 +212,7 @@ DeployConfiguration *DeployConfigurationFactory::clone(Target *parent, DeployConfiguration *DeployConfigurationFactory::restore(Target *parent, const QVariantMap &map) { - const Utils::Id id = idFromMap(map); + const Id id = idFromMap(map); DeployConfigurationFactory *factory = Utils::findOrDefault(g_deployConfigurationFactories, [parent, id](DeployConfigurationFactory *f) { if (!f->canHandle(parent)) diff --git a/src/plugins/projectexplorer/desktoprunconfiguration.cpp b/src/plugins/projectexplorer/desktoprunconfiguration.cpp index db39def1def..983d58edaf0 100644 --- a/src/plugins/projectexplorer/desktoprunconfiguration.cpp +++ b/src/plugins/projectexplorer/desktoprunconfiguration.cpp @@ -27,7 +27,7 @@ #include "buildsystem.h" #include "localenvironmentaspect.h" -#include "project.h" +#include "projectexplorerconstants.h" #include "runconfigurationaspects.h" #include "target.h" diff --git a/src/plugins/projectexplorer/desktoprunconfiguration.h b/src/plugins/projectexplorer/desktoprunconfiguration.h index 446186e8035..a8d21eb9ec3 100644 --- a/src/plugins/projectexplorer/desktoprunconfiguration.h +++ b/src/plugins/projectexplorer/desktoprunconfiguration.h @@ -25,8 +25,7 @@ #pragma once -#include "runconfigurationaspects.h" -#include "runcontrol.h" +#include "runconfiguration.h" namespace ProjectExplorer { namespace Internal { diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index bb2845cb292..a1095773b4c 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -23,16 +23,17 @@ ** ****************************************************************************/ +#include "miniprojecttargetselector.h" + #include "buildconfiguration.h" #include "buildmanager.h" #include "deployconfiguration.h" #include "kit.h" #include "kitmanager.h" -#include "miniprojecttargetselector.h" -#include "projectexplorer.h" -#include "projectexplorericons.h" #include "project.h" -#include "projectmodels.h" +#include "projectexplorer.h" +#include "projectexplorerconstants.h" +#include "projectexplorericons.h" #include "runconfiguration.h" #include "session.h" #include "target.h" @@ -44,25 +45,26 @@ #include #include #include +#include #include -#include #include +#include #include +#include #include -#include -#include +#include +#include #include +#include #include #include -#include -#include #include #include +#include #include -#include -#include +#include using namespace Utils; diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index cd0c64aec34..bc19d3b1614 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -33,6 +33,7 @@ #include "kit.h" #include "kitinformation.h" #include "projectexplorer.h" +#include "projectexplorerconstants.h" #include "projectnodes.h" #include "runconfiguration.h" #include "session.h" @@ -54,6 +55,7 @@ #include #include +#include #include #include #include diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 039d191c1be..eaeebb100ff 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -33,9 +33,8 @@ #include #include -#include +#include -#include #include #include diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp index f0ba9a95710..692e1da7e3a 100644 --- a/src/plugins/projectexplorer/projectfilewizardextension.cpp +++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp @@ -24,34 +24,36 @@ ****************************************************************************/ #include "projectfilewizardextension.h" -#include "projectexplorer.h" -#include "session.h" + +#include "editorconfiguration.h" +#include "project.h" +#include "projectexplorerconstants.h" #include "projectnodes.h" #include "projecttree.h" +#include "projecttree.h" #include "projectwizardpage.h" - -#include -#include -#include +#include "session.h" #include -#include -#include -#include + #include #include #include #include #include #include -#include -#include +#include +#include +#include +#include + #include #include -#include -#include #include +#include +#include +#include using namespace TextEditor; using namespace Core; @@ -76,7 +78,6 @@ using namespace Utils; enum { debugExtension = 0 }; namespace ProjectExplorer { - namespace Internal { // --------- ProjectWizardContext diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index c376cac20fe..31f3cb0f7c8 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -25,12 +25,12 @@ #include "projecttreewidget.h" -#include "projectexplorer.h" -#include "projectnodes.h" #include "project.h" -#include "session.h" +#include "projectexplorerconstants.h" #include "projectmodels.h" +#include "projectnodes.h" #include "projecttree.h" +#include "session.h" #include #include @@ -44,19 +44,19 @@ #include #include #include +#include #include #include -#include -#include - -#include -#include -#include -#include #include +#include #include #include +#include +#include +#include +#include +#include #include @@ -469,11 +469,11 @@ void ProjectTreeWidget::editCurrentItem() const Node *node = m_model->nodeForIndex(currentIndex); if (!node) return; - auto *editor = qobject_cast(m_view->indexWidget(currentIndex)); + auto editor = qobject_cast(m_view->indexWidget(currentIndex)); if (!editor) return; - const int dotIndex = Utils::FilePath::fromString(editor->text()).completeBaseName().length(); + const int dotIndex = FilePath::fromString(editor->text()).completeBaseName().length(); if (dotIndex > 0) editor->setSelection(0, dotIndex); } diff --git a/src/plugins/projectexplorer/projecttreewidget.h b/src/plugins/projectexplorer/projecttreewidget.h index 7b3c53c84fa..b891d86b34c 100644 --- a/src/plugins/projectexplorer/projecttreewidget.h +++ b/src/plugins/projectexplorer/projecttreewidget.h @@ -25,15 +25,12 @@ #pragma once -#include "expanddata.h" - #include -#include +#include #include #include -#include QT_FORWARD_DECLARE_CLASS(QTreeView) diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 11dc8ef69bc..f1e2d92c839 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -25,7 +25,6 @@ #include "runconfiguration.h" -#include "abi.h" #include "buildconfiguration.h" #include "buildsystem.h" #include "environmentaspect.h" @@ -33,16 +32,19 @@ #include "kitinformation.h" #include "project.h" #include "projectexplorer.h" +#include "projectexplorerconstants.h" #include "projectnodes.h" #include "runconfigurationaspects.h" #include "runcontrol.h" #include "session.h" #include "target.h" -#include "toolchain.h" #include #include + #include +#include + #include #include #include diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index caf6593d982..318fafae329 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -27,7 +27,6 @@ #include "buildtargetinfo.h" #include "projectconfiguration.h" -#include "projectexplorerconstants.h" #include "task.h" #include diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index d5b3539bac2..9f9ee8810a4 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -31,6 +31,7 @@ #include "kit.h" #include "project.h" #include "projectexplorer.h" +#include "projectexplorerconstants.h" #include "projectnodes.h" #include "target.h" @@ -51,7 +52,6 @@ #include #include #include - #include #include diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index 95dacf0a623..53514032a39 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -289,7 +289,8 @@ public: case Qt::DecorationRole: { const Kit *k = KitManager::kit(m_kitId); - QTC_ASSERT(k, return QVariant()); + if (!k) + break; if (m_kitErrorsForProject) return kitIconWithOverlay(*k, IconOverlay::Error); if (!isEnabled()) @@ -317,7 +318,8 @@ public: case Qt::ToolTipRole: { Kit *k = KitManager::kit(m_kitId); - QTC_ASSERT(k, return QVariant()); + if (!k) + break; const QString extraText = [this]() { if (m_kitErrorsForProject) return QString("

" + tr("Kit is unsuited for project") + "

"); diff --git a/src/plugins/projectexplorer/taskfile.cpp b/src/plugins/projectexplorer/taskfile.cpp index d9c16fc69ee..6aee5764bf6 100644 --- a/src/plugins/projectexplorer/taskfile.cpp +++ b/src/plugins/projectexplorer/taskfile.cpp @@ -26,6 +26,7 @@ #include "taskfile.h" #include "projectexplorer.h" +#include "projectexplorerconstants.h" #include "session.h" #include "taskhub.h" diff --git a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp index d541f7f022c..c4fa29466a2 100644 --- a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp +++ b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp @@ -25,6 +25,7 @@ #include "toolchainsettingsaccessor.h" +#include "projectexplorerconstants.h" #include "toolchain.h" #include @@ -56,9 +57,9 @@ public: // Helpers: // -------------------------------------------------------------------- -static const char TOOLCHAIN_DATA_KEY[] = "ToolChain."; -static const char TOOLCHAIN_COUNT_KEY[] = "ToolChain.Count"; -static const char TOOLCHAIN_FILENAME[] = "toolchains.xml"; +const char TOOLCHAIN_DATA_KEY[] = "ToolChain."; +const char TOOLCHAIN_COUNT_KEY[] = "ToolChain.Count"; +const char TOOLCHAIN_FILENAME[] = "toolchains.xml"; struct ToolChainOperations { @@ -284,8 +285,6 @@ Toolchains ToolChainSettingsAccessor::toolChains(const QVariantMap &data) const #ifdef WITH_TESTS #include "projectexplorer.h" -#include "headerpath.h" - #include "abi.h" #include "toolchainconfigwidget.h" diff --git a/src/plugins/projectexplorer/toolchainsettingsaccessor.h b/src/plugins/projectexplorer/toolchainsettingsaccessor.h index 80d3f90fd6d..9f12bc182a2 100644 --- a/src/plugins/projectexplorer/toolchainsettingsaccessor.h +++ b/src/plugins/projectexplorer/toolchainsettingsaccessor.h @@ -29,8 +29,6 @@ #include -#include - namespace ProjectExplorer { class ToolChain; diff --git a/src/plugins/projectexplorer/treescanner.h b/src/plugins/projectexplorer/treescanner.h index ff73e8e563e..73b39a4792e 100644 --- a/src/plugins/projectexplorer/treescanner.h +++ b/src/plugins/projectexplorer/treescanner.h @@ -28,7 +28,7 @@ #include "projectexplorer_export.h" #include "projectnodes.h" -#include +#include #include #include diff --git a/src/plugins/python/pysidebuildconfiguration.cpp b/src/plugins/python/pysidebuildconfiguration.cpp index 1df0c4ea672..058b877f571 100644 --- a/src/plugins/python/pysidebuildconfiguration.cpp +++ b/src/plugins/python/pysidebuildconfiguration.cpp @@ -105,7 +105,7 @@ void PySideBuildStep::doRun() PySideBuildConfiguration::PySideBuildConfiguration(Target *target, Id id) : BuildConfiguration(target, id) { - setConfigWidgetDisplayName(tr("General")); + setConfigWidgetDisplayName(PySideBuildConfigurationFactory::tr("General")); setInitializer([this](const BuildInfo &) { buildSteps()->appendStep(pySideBuildStep); diff --git a/src/plugins/python/pythonplugin.cpp b/src/plugins/python/pythonplugin.cpp index ab508ca18d2..cfdd61fdf8a 100644 --- a/src/plugins/python/pythonplugin.cpp +++ b/src/plugins/python/pythonplugin.cpp @@ -26,9 +26,7 @@ #include "pythonplugin.h" #include "pysidebuildconfiguration.h" -#include "pythonconstants.h" #include "pythoneditor.h" -#include "pythonlanguageclient.h" #include "pythonproject.h" #include "pythonsettings.h" #include "pythonrunconfiguration.h" @@ -37,6 +35,7 @@ #include #include +#include #include #include #include diff --git a/src/plugins/python/pythonproject.cpp b/src/plugins/python/pythonproject.cpp index 0ce064a55f2..7d0fc27f0f5 100644 --- a/src/plugins/python/pythonproject.cpp +++ b/src/plugins/python/pythonproject.cpp @@ -50,6 +50,7 @@ #include #include +#include using namespace Core; using namespace ProjectExplorer; @@ -254,12 +255,14 @@ void PythonBuildSystem::triggerParsing() const FileType fileType = getFileType(filePath); newRoot->addNestedNode(std::make_unique(filePath, displayName, fileType)); - if (fileType == FileType::Source) { + const MimeType mt = mimeTypeForFile(filePath, MimeMatchMode::MatchExtension); + if (mt.matchesName(Constants::C_PY_MIMETYPE) || mt.matchesName(Constants::C_PY3_MIMETYPE)) { BuildTargetInfo bti; bti.displayName = displayName; bti.buildKey = f; bti.targetFilePath = filePath; bti.projectFilePath = projectFilePath(); + bti.isQtcRunnable = filePath.fileName() == "main.py"; appTargets.append(bti); } } diff --git a/src/plugins/python/pythonsettings.cpp b/src/plugins/python/pythonsettings.cpp index c8e77b0e538..c2b183bef87 100644 --- a/src/plugins/python/pythonsettings.cpp +++ b/src/plugins/python/pythonsettings.cpp @@ -26,10 +26,14 @@ #include "pythonsettings.h" #include "pythonconstants.h" +#include "pythonplugin.h" #include #include +#include +#include #include +#include #include #include #include @@ -396,8 +400,8 @@ public: PyLSConfigureWidget() : m_editor(LanguageClient::jsonEditor()) , m_advancedLabel(new QLabel) - , m_pluginsGroup(new QGroupBox(tr("Plugins:"))) - , m_mainGroup(new QGroupBox(tr("Use Python Language Server"))) + , m_pluginsGroup(new QGroupBox(PythonSettings::tr("Plugins:"))) + , m_mainGroup(new QGroupBox(PythonSettings::tr("Use Python Language Server"))) { m_mainGroup->setCheckable(true); @@ -418,7 +422,7 @@ public: mainGroupLayout->addWidget(m_pluginsGroup); - const QString labelText = tr( + const QString labelText = PythonSettings::tr( "For a complete list of avilable options, consult the Python LSP Server configuration documentation."); @@ -432,7 +436,7 @@ public: mainGroupLayout->addStretch(); - auto advanced = new QCheckBox(tr("Advanced")); + auto advanced = new QCheckBox(PythonSettings::tr("Advanced")); advanced->setChecked(false); connect(advanced, @@ -643,6 +647,33 @@ static QString defaultPylsConfiguration() return QString::fromUtf8(QJsonDocument(configuration).toJson()); } +static void disableOutdatedPylsNow() +{ + using namespace LanguageClient; + const QList + settings = LanguageClientSettings::pageSettings(); + for (const BaseSettings *setting : settings) { + if (setting->m_settingsTypeId != LanguageClient::Constants::LANGUAGECLIENT_STDIO_SETTINGS_ID) + continue; + auto stdioSetting = static_cast(setting); + if (stdioSetting->arguments().startsWith("-m pyls") + && stdioSetting->m_languageFilter.isSupported("foo.py", Constants::C_PY_MIMETYPE)) { + LanguageClientManager::enableClientSettings(stdioSetting->m_id, false); + } + } +} + +static void disableOutdatedPyls() +{ + using namespace ExtensionSystem; + if (PluginManager::isInitializationDone()) { + disableOutdatedPylsNow(); + } else { + QObject::connect(PluginManager::instance(), &PluginManager::initializationDone, + PythonPlugin::instance(), &disableOutdatedPylsNow); + } +} + static SavedSettings fromSettings(QSettings *settings) { SavedSettings result; @@ -674,7 +705,9 @@ static SavedSettings fromSettings(QSettings *settings) result.defaultId = settings->value(defaultKey).toString(); QVariant pylsEnabled = settings->value(pylsEnabledKey); - if (!pylsEnabled.isNull()) + if (pylsEnabled.isNull()) + disableOutdatedPyls(); + else result.pylsEnabled = pylsEnabled.toBool(); const QVariant pylsConfiguration = settings->value(pylsConfigurationKey); if (!pylsConfiguration.isNull()) diff --git a/src/plugins/qbsprojectmanager/qbssession.cpp b/src/plugins/qbsprojectmanager/qbssession.cpp index bd2c3ecb496..746fd515bf4 100644 --- a/src/plugins/qbsprojectmanager/qbssession.cpp +++ b/src/plugins/qbsprojectmanager/qbssession.cpp @@ -228,9 +228,10 @@ QbsSession::~QbsSession() d->packetReader->disconnect(this); if (d->qbsProcess) { d->qbsProcess->disconnect(this); - sendQuitPacket(); - if (d->qbsProcess->state() == QProcess::Running) + if (d->qbsProcess->state() == QProcess::Running) { + sendQuitPacket(); d->qbsProcess->waitForFinished(10000); + } delete d->qbsProcess; } delete d; diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index da52070931a..7c2f3b5e7b6 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -28,6 +28,7 @@ #include "qmakeproject.h" #include +#include #include #include diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.h b/src/plugins/qmakeprojectmanager/qmakenodes.h index 798a813dad6..59e49f467ae 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.h +++ b/src/plugins/qmakeprojectmanager/qmakenodes.h @@ -31,9 +31,8 @@ #include #include -namespace Utils { class FilePath; } - namespace QmakeProjectManager { + class QmakeProFileNode; class QmakeProject; diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp index 3268d16a529..2393251ae02 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp @@ -38,7 +38,6 @@ #include "qmakeproject.h" #include "externaleditors.h" #include "qmakekitinformation.h" -#include "profilehighlighter.h" #include #include @@ -56,6 +55,7 @@ #include #include #include +#include #include #include diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.h b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.h index 68255197dd0..5b3176b9b72 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.h +++ b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.h @@ -27,12 +27,7 @@ #include -namespace ProjectExplorer { class Project; } - namespace QmakeProjectManager { - -class QmakeProFileNode; - namespace Internal { class QmakeProjectManagerPlugin final : public ExtensionSystem::IPlugin diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 2502297ef00..7b6eddc5670 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -25,7 +25,6 @@ #include "qmakestep.h" -#include "qmakemakestep.h" #include "qmakebuildconfiguration.h" #include "qmakekitinformation.h" #include "qmakenodes.h" @@ -39,8 +38,10 @@ #include #include #include +#include #include #include +#include #include #include #include diff --git a/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp b/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp index 8d33feaf5cc..d3252ea8e3e 100644 --- a/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp +++ b/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp @@ -30,8 +30,10 @@ #include #include + #include #include +#include #include #include #include diff --git a/src/plugins/qmlpreview/qmlpreviewplugin.cpp b/src/plugins/qmlpreview/qmlpreviewplugin.cpp index 1cbecc042f1..72907a15419 100644 --- a/src/plugins/qmlpreview/qmlpreviewplugin.cpp +++ b/src/plugins/qmlpreview/qmlpreviewplugin.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include diff --git a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp index f6592de524e..06c6f269be1 100644 --- a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp @@ -28,7 +28,6 @@ #include "qmlprofilerruncontrol.h" #include "qmlprofilersettings.h" #include "qmlprofilertool.h" -#include "qmlprofilertimelinemodel.h" #include "qmlprofileractions.h" #ifdef WITH_TESTS @@ -65,6 +64,7 @@ #include #include +#include #include #include diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index c198b60fe88..551cf32e32c 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -31,8 +31,6 @@ #include "qmlprofilerviewmanager.h" #include "qmlprofilerclientmanager.h" #include "qmlprofilermodelmanager.h" -#include "qmlprofilerdetailsrewriter.h" -#include "qmlprofilernotesmodel.h" #include "qmlprofilerrunconfigurationaspect.h" #include "qmlprofilersettings.h" #include "qmlprofilerplugin.h" @@ -59,8 +57,9 @@ #include #include #include -#include #include +#include +#include #include #include #include diff --git a/src/plugins/qmlprofiler/qmlprofilertool.h b/src/plugins/qmlprofiler/qmlprofilertool.h index a6065e502d1..450607c9c35 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.h +++ b/src/plugins/qmlprofiler/qmlprofilertool.h @@ -26,8 +26,6 @@ #pragma once #include "qmlprofiler_global.h" -#include "qmlprofilerconstants.h" -#include "qmlprofilereventtypes.h" #include #include diff --git a/src/plugins/qmlprofiler/qmlprofilerviewmanager.cpp b/src/plugins/qmlprofiler/qmlprofilerviewmanager.cpp index 9432407d7b6..1d749fee724 100644 --- a/src/plugins/qmlprofiler/qmlprofilerviewmanager.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerviewmanager.cpp @@ -25,12 +25,15 @@ #include "qmlprofilerviewmanager.h" -#include "qmlprofilertool.h" +#include "qmlprofilerconstants.h" #include "qmlprofilerstatewidget.h" -#include #include +#include + +#include + #include using namespace Debugger; @@ -51,7 +54,7 @@ QmlProfilerViewManager::QmlProfilerViewManager(QObject *parent, QTC_ASSERT(m_profilerModelManager, return); QTC_ASSERT(m_profilerState, return); - m_perspective = new Utils::Perspective(Constants::QmlProfilerPerspectiveId, tr("QML Profiler")); + m_perspective = new Perspective(Constants::QmlProfilerPerspectiveId, tr("QML Profiler")); m_perspective->setAboutToActivateCallback([this]() { createViews(); }); } diff --git a/src/plugins/qmlprofiler/qmlprofilerviewmanager.h b/src/plugins/qmlprofiler/qmlprofilerviewmanager.h index d65f3c4965a..fc2b4252cab 100644 --- a/src/plugins/qmlprofiler/qmlprofilerviewmanager.h +++ b/src/plugins/qmlprofiler/qmlprofilerviewmanager.h @@ -29,15 +29,11 @@ #include "qmlprofilertraceview.h" #include "flamegraphview.h" -#include - namespace Utils { class Perspective; } namespace QmlProfiler { namespace Internal { -class QmlProfilerTool; - class QmlProfilerViewManager : public QObject { Q_OBJECT diff --git a/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.cpp b/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.cpp index 8d9b1b834dd..bdf08103fba 100644 --- a/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.cpp +++ b/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.cpp @@ -27,6 +27,8 @@ #include +#include + #include #include diff --git a/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.h b/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.h index 53ef39e8ff1..39491ec0c94 100644 --- a/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.h +++ b/src/plugins/qmlprofiler/tests/localqmlprofilerrunner_test.h @@ -28,14 +28,13 @@ #include #include -#include - namespace QmlProfiler { namespace Internal { class LocalQmlProfilerRunnerTest : public QObject { Q_OBJECT + public: LocalQmlProfilerRunnerTest(QObject *parent = nullptr); diff --git a/src/plugins/qmlprojectmanager/CMakeLists.txt b/src/plugins/qmlprojectmanager/CMakeLists.txt index af094450028..42013e53868 100644 --- a/src/plugins/qmlprojectmanager/CMakeLists.txt +++ b/src/plugins/qmlprojectmanager/CMakeLists.txt @@ -30,4 +30,5 @@ add_qtc_plugin(QmlProjectManager qmlprojectnodes.cpp qmlprojectnodes.h qmlprojectplugin.cpp qmlprojectplugin.h qmlprojectrunconfiguration.cpp qmlprojectrunconfiguration.h + "${PROJECT_SOURCE_DIR}/src/share/3rdparty/studiofonts/studiofonts.qrc" ) diff --git a/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp b/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp index 247e636beaf..3de9a325d46 100644 --- a/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp +++ b/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp @@ -56,24 +56,37 @@ const QString qdsVersion(const Utils::FilePath &projectFilePath) { const QString projectFileContent = readFileContents(projectFilePath); QRegularExpressionMatch match = qdsVerRegexp.match(projectFileContent); - if (!match.hasMatch()) - return {}; - QString version = match.captured(1); - return version.isEmpty() ? QObject::tr("Unknown") : version; + if (match.hasMatch()) { + const QString version = match.captured(1); + if (!version.isEmpty()) + return version; + } + + return QObject::tr("Unknown"); } -QRegularExpression qt6Regexp("(qt6project:)\\s*\"*(true|false)\"*", QRegularExpression::CaseInsensitiveOption); +QRegularExpression quickRegexp("(quickVersion:)\\s*\"(\\d+.\\d+)\"", + QRegularExpression::CaseInsensitiveOption); +QRegularExpression qt6Regexp("(qt6Project:)\\s*\"*(true|false)\"*", + QRegularExpression::CaseInsensitiveOption); const QString qtVersion(const Utils::FilePath &projectFilePath) { const QString defaultReturn = QObject::tr("Unknown"); const QString data = readFileContents(projectFilePath); - QRegularExpressionMatch match = qt6Regexp.match(data); - if (!match.hasMatch()) - return defaultReturn; - return match.captured(2).contains("true", Qt::CaseInsensitive) - ? QObject::tr("Qt6 or later") - : QObject::tr("Qt5 or earlier"); + + // First check if quickVersion is contained in the project file + QRegularExpressionMatch match = quickRegexp.match(data); + if (match.hasMatch()) + return QString("Qt %1").arg(match.captured(2)); + + // If quickVersion wasn't found check for qt6Project + match = qt6Regexp.match(data); + if (match.hasMatch()) + return match.captured(2).contains("true", Qt::CaseInsensitive) ? QObject::tr("Qt 6") + : QObject::tr("Qt 5"); + + return defaultReturn; } bool isQt6Project(const Utils::FilePath &projectFilePath) diff --git a/src/plugins/qmlprojectmanager/qdslandingpage.cpp b/src/plugins/qmlprojectmanager/qdslandingpage.cpp index 13b469a18e7..d9fbe8be232 100644 --- a/src/plugins/qmlprojectmanager/qdslandingpage.cpp +++ b/src/plugins/qmlprojectmanager/qdslandingpage.cpp @@ -24,26 +24,27 @@ ****************************************************************************/ #include "qdslandingpage.h" +#include "projectfilecontenttools.h" #include "qdslandingpagetheme.h" +#include "qmlprojectconstants.h" +#include "qmlprojectgen/qmlprojectgenerator.h" +#include "qmlprojectplugin.h" #include "utils/algorithm.h" +#include +#include #include +#include -#include +#include #include #include +#include namespace QmlProjectManager { namespace Internal { -const char QMLRESOURCEPATH[] = "qmldesigner/propertyEditorQmlSources/imports"; -const char LANDINGPAGEPATH[] = "qmldesigner/landingpage"; -const char PROPERTY_QDSINSTALLED[] = "qdsInstalled"; -const char PROPERTY_PROJECTFILEEXISTS[] = "projectFileExists"; -const char PROPERTY_QTVERSION[] = "qtVersion"; -const char PROPERTY_QDSVERSION[] = "qdsVersion"; -const char PROPERTY_CMAKES[] = "cmakeLists"; -const char PROPERTY_REMEMBER[] = "rememberSelection"; +const char INSTALL_QDS_URL[] = "https://www.qt.io/product/ui-design-tools"; QdsLandingPageWidget::QdsLandingPageWidget(QWidget* parent) : QWidget(parent) @@ -62,38 +63,79 @@ QQuickWidget *QdsLandingPageWidget::widget() { if (!m_widget) { m_widget = new QQuickWidget(); + + const QString resourcePath + = Core::ICore::resourcePath(QmlProjectManager::Constants::QML_RESOURCE_PATH).toString(); + const QString landingPath + = Core::ICore::resourcePath(QmlProjectManager::Constants::LANDING_PAGE_PATH).toString(); + + QdsLandingPageTheme::setupTheme(m_widget->engine()); + + m_widget->setResizeMode(QQuickWidget::SizeRootObjectToView); + m_widget->engine()->addImportPath(landingPath + "/imports"); + m_widget->engine()->addImportPath(resourcePath); + m_widget->setSource(QUrl::fromLocalFile(landingPath + "/main.qml")); + m_widget->hide(); + layout()->addWidget(m_widget); } return m_widget; } -QdsLandingPage::QdsLandingPage(QdsLandingPageWidget *widget, QWidget *parent) - : m_widget{widget->widget()} +QdsLandingPage::QdsLandingPage() + : m_widget{nullptr} +{} + +void QdsLandingPage::openQtc(bool rememberSelection) { - Q_UNUSED(parent) + if (rememberSelection) + Core::ICore::settings()->setValue(QmlProjectManager::Constants::ALWAYS_OPEN_UI_MODE, + Core::Constants::MODE_EDIT); - setParent(m_widget); + hide(); - const QString resourcePath = Core::ICore::resourcePath(QMLRESOURCEPATH).toString(); - const QString landingPath = Core::ICore::resourcePath(LANDINGPAGEPATH).toString(); + Core::ModeManager::activateMode(Core::Constants::MODE_EDIT); +} - qmlRegisterSingletonInstance("LandingPageApi", 1, 0, "LandingPageApi", this); - QdsLandingPageTheme::setupTheme(m_widget->engine()); +void QdsLandingPage::openQds(bool rememberSelection) +{ + if (rememberSelection) + Core::ICore::settings()->setValue(QmlProjectManager::Constants::ALWAYS_OPEN_UI_MODE, + Core::Constants::MODE_DESIGN); - m_widget->setResizeMode(QQuickWidget::SizeRootObjectToView); - m_widget->engine()->addImportPath(landingPath + "/imports"); - m_widget->engine()->addImportPath(resourcePath); - m_widget->setSource(QUrl::fromLocalFile(landingPath + "/main.qml")); + auto editor = Core::EditorManager::currentEditor(); + if (editor) + QmlProjectPlugin::openInQDSWithProject(editor->document()->filePath()); +} - if (m_widget->rootObject()) { // main.qml only works with Qt6 - connect(m_widget->rootObject(), SIGNAL(openQtc(bool)), this, SIGNAL(openCreator(bool))); - connect(m_widget->rootObject(), SIGNAL(openQds(bool)), this, SIGNAL(openDesigner(bool))); - connect(m_widget->rootObject(), SIGNAL(installQds()), this, SIGNAL(installDesigner())); - connect(m_widget->rootObject(), SIGNAL(generateCmake()), this, SIGNAL(generateCmake())); - connect(m_widget->rootObject(), SIGNAL(generateProjectFile()), this, SIGNAL(generateProjectFile())); +void QdsLandingPage::installQds() +{ + QDesktopServices::openUrl(QUrl(INSTALL_QDS_URL)); +} + +void QdsLandingPage::generateProjectFile() +{ + GenerateQmlProject::QmlProjectFileGenerator generator; + + Core::IEditor *editor = Core::EditorManager::currentEditor(); + if (!editor) + return; + + if (generator.prepareForUiQmlFile(editor->document()->filePath())) { + if (generator.execute()) { + const QString qtVersion = ProjectFileContentTools::qtVersion(generator.targetFile()); + const QString qdsVersion = ProjectFileContentTools::qdsVersion(generator.targetFile()); + setProjectFileExists(generator.targetFile().exists()); + setQtVersion(qtVersion); + setQdsVersion(qdsVersion); + } } - m_widget->hide(); +} + +void QdsLandingPage::setWidget(QWidget *widget) +{ + m_widget = widget; } QWidget *QdsLandingPage::widget() @@ -103,19 +145,17 @@ QWidget *QdsLandingPage::widget() void QdsLandingPage::show() { - if (m_widget->rootObject()) { - m_widget->rootObject()->setProperty(PROPERTY_QDSINSTALLED, m_qdsInstalled); - m_widget->rootObject()->setProperty(PROPERTY_PROJECTFILEEXISTS, m_projectFileExists); - m_widget->rootObject()->setProperty(PROPERTY_QTVERSION, m_qtVersion); - m_widget->rootObject()->setProperty(PROPERTY_QDSVERSION, m_qdsVersion); - m_widget->rootObject()->setProperty(PROPERTY_CMAKES, m_cmakeResources); - m_widget->rootObject()->setProperty(PROPERTY_REMEMBER, Qt::Unchecked); - } + if (!m_widget) + return; + m_widget->show(); } void QdsLandingPage::hide() { + if (!m_widget) + return; + m_widget->hide(); } @@ -126,9 +166,10 @@ bool QdsLandingPage::qdsInstalled() const void QdsLandingPage::setQdsInstalled(bool installed) { - m_qdsInstalled = installed; - if (m_widget->rootObject()) - m_widget->rootObject()->setProperty(PROPERTY_QDSINSTALLED, installed); + if (m_qdsInstalled != installed) { + m_qdsInstalled = installed; + emit qdsInstalledChanged(); + } } bool QdsLandingPage::projectFileExists() const @@ -138,9 +179,10 @@ bool QdsLandingPage::projectFileExists() const void QdsLandingPage::setProjectFileExists(bool exists) { - m_projectFileExists = exists; - if (m_widget->rootObject()) - m_widget->rootObject()->setProperty(PROPERTY_PROJECTFILEEXISTS, exists); + if (m_projectFileExists != exists) { + m_projectFileExists = exists; + emit projectFileExistshanged(); + } } const QString QdsLandingPage::qtVersion() const @@ -150,9 +192,10 @@ const QString QdsLandingPage::qtVersion() const void QdsLandingPage::setQtVersion(const QString &version) { - m_qtVersion = version; - if (m_widget->rootObject()) - m_widget->rootObject()->setProperty(PROPERTY_QTVERSION, version); + if (m_qtVersion != version) { + m_qtVersion = version; + emit qtVersionChanged(); + } } const QString QdsLandingPage::qdsVersion() const @@ -162,9 +205,10 @@ const QString QdsLandingPage::qdsVersion() const void QdsLandingPage::setQdsVersion(const QString &version) { - m_qdsVersion = version; - if (m_widget->rootObject()) - m_widget->rootObject()->setProperty(PROPERTY_QDSVERSION, version); + if (m_qdsVersion != version) { + m_qdsVersion = version; + emit qdsVersionChanged(); + } } const QStringList QdsLandingPage::cmakeResources() const diff --git a/src/plugins/qmlprojectmanager/qdslandingpage.h b/src/plugins/qmlprojectmanager/qdslandingpage.h index 020633ed3ca..3447a2bf915 100644 --- a/src/plugins/qmlprojectmanager/qdslandingpage.h +++ b/src/plugins/qmlprojectmanager/qdslandingpage.h @@ -60,14 +60,24 @@ class QdsLandingPage : public QObject Q_OBJECT public: - Q_PROPERTY(bool qdsInstalled MEMBER m_qdsInstalled READ qdsInstalled WRITE setQdsInstalled) - Q_PROPERTY(bool projectFileExists MEMBER m_projectFileExists READ projectFileExists WRITE setProjectFileExists) - Q_PROPERTY(QString qtVersion MEMBER m_qtVersion READ qtVersion WRITE setQtVersion) - Q_PROPERTY(QString qdsVersion MEMBER m_qdsVersion READ qdsVersion WRITE setQdsVersion) + Q_PROPERTY(bool qdsInstalled MEMBER m_qdsInstalled READ qdsInstalled WRITE setQdsInstalled + NOTIFY qdsInstalledChanged) + Q_PROPERTY(bool projectFileExists MEMBER m_projectFileExists READ projectFileExists WRITE + setProjectFileExists NOTIFY projectFileExistshanged) + Q_PROPERTY(QString qtVersion MEMBER m_qtVersion READ qtVersion WRITE setQtVersion NOTIFY + qtVersionChanged) + Q_PROPERTY(QString qdsVersion MEMBER m_qdsVersion READ qdsVersion WRITE setQdsVersion NOTIFY + qdsVersionChanged) public: - QdsLandingPage(QdsLandingPageWidget *widget, QWidget *parent = nullptr); + QdsLandingPage(); + Q_INVOKABLE void openQtc(bool rememberSelection); + Q_INVOKABLE void openQds(bool rememberSelection); + Q_INVOKABLE void installQds(); + Q_INVOKABLE void generateProjectFile(); + + void setWidget(QWidget *widget); QWidget *widget(); void show(); void hide(); @@ -85,19 +95,16 @@ public: void setCmakeResources(const QStringList &resources); signals: - void doNotShowChanged(bool doNotShow); - void openCreator(bool rememberSelection); - void openDesigner(bool rememberSelection); - void installDesigner(); - void generateCmake(); - void generateProjectFile(); + void qdsInstalledChanged(); + void projectFileExistshanged(); + void qtVersionChanged(); + void qdsVersionChanged(); private: - QQuickWidget *m_widget = nullptr; + QWidget *m_widget = nullptr; bool m_qdsInstalled = false; bool m_projectFileExists = false; - Qt::CheckState m_doNotShow = Qt::Unchecked; QString m_qtVersion; QString m_qdsVersion; QStringList m_cmakeResources; diff --git a/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp b/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp index 404b43bb772..9eaeaddd4c9 100644 --- a/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp +++ b/src/plugins/qmlprojectmanager/qmlmainfileaspect.cpp @@ -34,6 +34,7 @@ #include #include +#include #include #include diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index ca29d200793..5cd4804bf37 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -30,8 +30,6 @@ #include "qmlprojectconstants.h" #include "qmlprojectmanagerconstants.h" #include "qmlprojectnodes.h" -#include "qmlprojectplugin.h" -#include "qmlprojectrunconfiguration.h" #include #include @@ -45,6 +43,7 @@ #include #include #include +#include #include #include @@ -57,6 +56,7 @@ #include #include +#include #include #include diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index 37309d1f24d..b9e249cd437 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -26,7 +26,6 @@ #pragma once #include "qmlprojectmanager_global.h" -#include "qmlprojectnodes.h" #include #include diff --git a/src/plugins/qmlprojectmanager/qmlprojectconstants.h b/src/plugins/qmlprojectmanager/qmlprojectconstants.h index 3ba2b101462..89d3cc630d3 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectconstants.h +++ b/src/plugins/qmlprojectmanager/qmlprojectconstants.h @@ -43,5 +43,9 @@ const char customImportPaths[] = "CustomImportPaths"; const char canonicalProjectDir[] ="CanonicalProjectDir"; const char enviromentLaunchedQDS[] = "QTC_LAUNCHED_QDS"; + +const char ALWAYS_OPEN_UI_MODE[] = "J.QtQuick/QmlJSEditor.openUiQmlMode"; +const char QML_RESOURCE_PATH[] = "qmldesigner/propertyEditorQmlSources/imports"; +const char LANDING_PAGE_PATH[] = "qmldesigner/landingpage"; } // namespace Constants } // namespace QmlProjectManager diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs index bf0a2c4626b..0bac36cf7c9 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs +++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs @@ -27,7 +27,8 @@ QtcPlugin { "qmlprojectmanagerconstants.h", "qmlprojectnodes.cpp", "qmlprojectnodes.h", "qmlprojectplugin.cpp", "qmlprojectplugin.h", - "qmlprojectrunconfiguration.cpp", "qmlprojectrunconfiguration.h" + "qmlprojectrunconfiguration.cpp", "qmlprojectrunconfiguration.h", + project.ide_source_tree + "/src/share/3rdparty/studiofonts/studiofonts.qrc" ] } diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index 655ece436cd..4c98a998838 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -1,4 +1,4 @@ -/**************************************************************************** +/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ @@ -76,9 +76,6 @@ using namespace ProjectExplorer; namespace QmlProjectManager { namespace Internal { -const char alwaysOpenUiQmlMode[] = "J.QtQuick/QmlJSEditor.openUiQmlMode"; -const char installQdsUrl[] = "https://www.qt.io/product/ui-design-tools"; - static bool isQmlDesigner(const ExtensionSystem::PluginSpec *spec) { if (!spec) @@ -96,17 +93,19 @@ static bool qmlDesignerEnabled() static QString alwaysOpenWithMode() { - return Core::ICore::settings()->value(alwaysOpenUiQmlMode, "").toString(); + return Core::ICore::settings() + ->value(QmlProjectManager::Constants::ALWAYS_OPEN_UI_MODE, "") + .toString(); } static void setAlwaysOpenWithMode(const QString &mode) { - Core::ICore::settings()->setValue(alwaysOpenUiQmlMode, mode); + Core::ICore::settings()->setValue(QmlProjectManager::Constants::ALWAYS_OPEN_UI_MODE, mode); } static void clearAlwaysOpenWithMode() { - Core::ICore::settings()->remove(alwaysOpenUiQmlMode); + Core::ICore::settings()->remove(QmlProjectManager::Constants::ALWAYS_OPEN_UI_MODE); } class QmlProjectPluginPrivate @@ -203,7 +202,6 @@ const Utils::FilePath findQmlProjectUpwards(const Utils::FilePath &folder) static bool findAndOpenProject(const Utils::FilePath &filePath) { - ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(filePath); @@ -268,6 +266,14 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage) d = new QmlProjectPluginPrivate; if (!qmlDesignerEnabled()) { + QFontDatabase::addApplicationFont(":/studiofonts/TitilliumWeb-Regular.ttf"); + d->landingPage = new QdsLandingPage(); + qmlRegisterSingletonInstance("LandingPageApi", + 1, + 0, + "LandingPageApi", + d->landingPage); + d->landingPageWidget = new QdsLandingPageWidget(); const QStringList mimeTypes = {QmlJSTools::Constants::QMLUI_MIMETYPE}; @@ -280,7 +286,6 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage) this, &QmlProjectPlugin::editorModeChanged); } - ProjectManager::registerProjectType(QmlJSTools::Constants::QMLPROJECT_MIMETYPE); Core::FileIconProvider::registerIconOverlayForSuffix(":/qmlproject/images/qmlproject.png", "qmlproject"); @@ -379,20 +384,12 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage) return true; } -void QmlProjectPlugin::initializeQmlLandingPage() -{ - d->landingPage = new QdsLandingPage(d->landingPageWidget); - connect(d->landingPage, &QdsLandingPage::openCreator, this, &QmlProjectPlugin::openQtc); - connect(d->landingPage, &QdsLandingPage::openDesigner, this, &QmlProjectPlugin::openQds); - connect(d->landingPage, &QdsLandingPage::installDesigner, this, &QmlProjectPlugin::installQds); - connect(d->landingPage, &QdsLandingPage::generateCmake, this, &QmlProjectPlugin::generateCmake); - connect(d->landingPage, &QdsLandingPage::generateProjectFile, this, &QmlProjectPlugin::generateProjectFile); -} - void QmlProjectPlugin::displayQmlLandingPage() { if (!d->landingPage) - initializeQmlLandingPage(); + return; + + d->landingPage->setWidget(d->landingPageWidget->widget()); updateQmlLandingPageProjectInfo(projectFilePath()); d->landingPage->setQdsInstalled(qdsInstallationExists()); @@ -452,37 +449,16 @@ void QmlProjectPlugin::openQds(bool permanent) openInQDSWithProject(editor->document()->filePath()); } -void QmlProjectPlugin::installQds() -{ - QDesktopServices::openUrl(QUrl(installQdsUrl)); - hideQmlLandingPage(); -} - -void QmlProjectPlugin::generateCmake() -{ - qWarning() << "TODO generate cmake"; -} - -void QmlProjectPlugin::generateProjectFile() -{ - GenerateQmlProject::QmlProjectFileGenerator generator; - - Core::IEditor *editor = Core::EditorManager::currentEditor(); - if (editor) - if (generator.prepareForUiQmlFile(editor->document()->filePath())) - if (generator.execute()) - updateQmlLandingPageProjectInfo(generator.targetFile()); -} - void QmlProjectPlugin::updateQmlLandingPageProjectInfo(const Utils::FilePath &projectFile) { - if (d->landingPage) { - const QString qtVersionString = ProjectFileContentTools::qtVersion(projectFile); - const QString qdsVersionString = ProjectFileContentTools::qdsVersion(projectFile); - d->landingPage->setProjectFileExists(projectFile.exists()); - d->landingPage->setQtVersion(qtVersionString); - d->landingPage->setQdsVersion(qdsVersionString); - } + if (!d->landingPage) + return; + + const QString qtVersionString = ProjectFileContentTools::qtVersion(projectFile); + const QString qdsVersionString = ProjectFileContentTools::qdsVersion(projectFile); + d->landingPage->setProjectFileExists(projectFile.exists()); + d->landingPage->setQtVersion(qtVersionString); + d->landingPage->setQdsVersion(qdsVersionString); } Utils::FilePath QmlProjectPlugin::projectFilePath() diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h index 7a9130b4869..ffc23351bb3 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h @@ -49,21 +49,16 @@ public: static Utils::FilePaths rootCmakeFiles(); static QString qtVersion(const Utils::FilePath &projectFilePath); static QString qdsVersion(const Utils::FilePath &projectFilePath); + static void openInQDSWithProject(const Utils::FilePath &filePath); + static const QString readFileContents(const Utils::FilePath &filePath); public slots: void editorModeChanged(Utils::Id newMode, Utils::Id oldMode); void openQtc(bool permanent = false); void openQds(bool permanent = false); - void installQds(); - void generateCmake(); - void generateProjectFile(); private: - static void openInQDSWithProject(const Utils::FilePath &filePath); - static const QString readFileContents(const Utils::FilePath &filePath); - bool initialize(const QStringList &arguments, QString *errorString) final; - void initializeQmlLandingPage(); void displayQmlLandingPage(); void hideQmlLandingPage(); void updateQmlLandingPageProjectInfo(const Utils::FilePath &projectFile); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 9d7805f03f4..64c6301da18 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index 8278d5c5f84..574d9b62209 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -40,8 +40,10 @@ #include #include #include -#include + #include +#include +#include #include #include diff --git a/src/plugins/remotelinux/customcommanddeploystep.cpp b/src/plugins/remotelinux/customcommanddeploystep.cpp index fef2d103f6c..1e11a1b779c 100644 --- a/src/plugins/remotelinux/customcommanddeploystep.cpp +++ b/src/plugins/remotelinux/customcommanddeploystep.cpp @@ -30,6 +30,7 @@ #include "remotelinux_constants.h" #include +#include #include #include diff --git a/src/plugins/remotelinux/filesystemaccess_test.cpp b/src/plugins/remotelinux/filesystemaccess_test.cpp index c0bb80cf995..37b7b0da8ab 100644 --- a/src/plugins/remotelinux/filesystemaccess_test.cpp +++ b/src/plugins/remotelinux/filesystemaccess_test.cpp @@ -57,7 +57,7 @@ static const FilePath baseFilePath() TestLinuxDeviceFactory::TestLinuxDeviceFactory() : IDeviceFactory("test") { - setDisplayName("Generic Linux Device"); + setDisplayName("Remote Linux Device"); setIcon(QIcon()); setConstructionFunction(&LinuxDevice::create); setCreator([] { diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp index 2c4b7e247e4..f17d786b91b 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp @@ -59,7 +59,7 @@ GenericLinuxDeviceConfigurationWizard::GenericLinuxDeviceConfigurationWizard(QWi : Utils::Wizard(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardPrivate(this)) { - setWindowTitle(tr("New Generic Linux Device Configuration Setup")); + setWindowTitle(tr("New Remote Linux Device Configuration Setup")); setPage(Internal::SetupPageId, &d->setupPage); setPage(Internal::KeyDeploymentPageId, &d->keyDeploymentPage); setPage(Internal::FinalPageId, &d->finalPage); diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index f011d8c563f..69910f01315 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -978,8 +978,8 @@ private: LinuxDevice::LinuxDevice() : d(new LinuxDevicePrivate(this)) { - setDisplayType(tr("Generic Linux")); - setDefaultDisplayName(tr("Generic Linux Device")); + setDisplayType(tr("Remote Linux")); + setDefaultDisplayName(tr("Remote Linux Device")); setOsType(OsTypeLinux); addDeviceAction({tr("Deploy Public Key..."), [](const IDevice::Ptr &device, QWidget *parent) { @@ -1553,13 +1553,15 @@ private: { const FilePath sftpBinary = SshSettings::sftpFilePath(); if (!sftpBinary.exists()) { - startFailed(tr("\"sftp\" binary \"%1\" does not exist.").arg(sftpBinary.toUserOutput())); + startFailed(SshTransferInterface::tr("\"sftp\" binary \"%1\" does not exist.") + .arg(sftpBinary.toUserOutput())); return; } m_batchFile.reset(new QTemporaryFile(this)); if (!m_batchFile->isOpen() && !m_batchFile->open()) { - startFailed(tr("Could not create temporary file: %1").arg(m_batchFile->errorString())); + startFailed(SshTransferInterface::tr("Could not create temporary file: %1") + .arg(m_batchFile->errorString())); return; } @@ -1570,8 +1572,8 @@ private: + '\n'); } else if (direction() == FileTransferDirection::Download) { if (!QDir::root().mkpath(dir.path())) { - startFailed(tr("Failed to create local directory \"%1\".") - .arg(QDir::toNativeSeparators(dir.path()))); + startFailed(SshTransferInterface::tr("Failed to create local directory \"%1\".") + .arg(QDir::toNativeSeparators(dir.path()))); return; } } @@ -1714,7 +1716,7 @@ namespace Internal { LinuxDeviceFactory::LinuxDeviceFactory() : IDeviceFactory(Constants::GenericLinuxOsType) { - setDisplayName(LinuxDevice::tr("Generic Linux Device")); + setDisplayName(LinuxDevice::tr("Remote Linux Device")); setIcon(QIcon()); setConstructionFunction(&LinuxDevice::create); setCreator([] { diff --git a/src/plugins/remotelinux/makeinstallstep.cpp b/src/plugins/remotelinux/makeinstallstep.cpp index f5f60b95bfc..534ebc25399 100644 --- a/src/plugins/remotelinux/makeinstallstep.cpp +++ b/src/plugins/remotelinux/makeinstallstep.cpp @@ -34,9 +34,11 @@ #include #include #include +#include #include #include #include + #include #include #include diff --git a/src/plugins/remotelinux/makeinstallstep.h b/src/plugins/remotelinux/makeinstallstep.h index fd41291de8c..aff62afbf77 100644 --- a/src/plugins/remotelinux/makeinstallstep.h +++ b/src/plugins/remotelinux/makeinstallstep.h @@ -30,11 +30,6 @@ #include #include -namespace Utils { -class FilePath; -class StringAspect; -} // Utils - namespace RemoteLinux { class REMOTELINUX_EXPORT MakeInstallStep : public ProjectExplorer::MakeStep diff --git a/src/plugins/remotelinux/remotelinuxplugin.cpp b/src/plugins/remotelinux/remotelinuxplugin.cpp index 5e4cbd1c266..b79fc79eb45 100644 --- a/src/plugins/remotelinux/remotelinuxplugin.cpp +++ b/src/plugins/remotelinux/remotelinuxplugin.cpp @@ -46,6 +46,7 @@ #endif #include +#include #include using namespace ProjectExplorer; diff --git a/src/plugins/studiowelcome/presetmodel.cpp b/src/plugins/studiowelcome/presetmodel.cpp index 6705b6ca650..136a56dd014 100644 --- a/src/plugins/studiowelcome/presetmodel.cpp +++ b/src/plugins/studiowelcome/presetmodel.cpp @@ -34,8 +34,8 @@ constexpr int NameRole = Qt::UserRole; constexpr int ScreenSizeRole = Qt::UserRole + 1; constexpr int IsUserPresetRole = Qt::UserRole + 2; -static const QString RecentsTabName = QObject::tr("Recents"); -static const QString CustomTabName = QObject::tr("Custom"); +static const QString RecentsTabName = ::StudioWelcome::PresetModel::tr("Recents"); +static const QString CustomTabName = ::StudioWelcome::PresetModel::tr("Custom"); /****************** PresetData ******************/ diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index d16ad59146f..e324fb6dd59 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -284,6 +284,7 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason, displayProposal(newProposal, reason); delete processor; } else if (!processor->running()) { + destroyContext(); delete processor; } else { // ...async request was triggered if (IAssistProposal *newProposal = processor->immediateProposal(assistInterface)) @@ -354,6 +355,7 @@ void CodeAssistantPrivate::displayProposal(IAssistProposal *newProposal, AssistR clearAbortedPosition(); m_proposal.reset(proposalCandidate.take()); + m_proposal->setReason(reason); if (m_proposal->isCorrective(m_editorWidget)) m_proposal->makeCorrection(m_editorWidget); @@ -485,7 +487,7 @@ void CodeAssistantPrivate::notifyChange() if (!isDisplayingProposal()) requestActivationCharProposal(); } else { - requestProposal(ExplicitlyInvoked, m_assistKind, m_requestProvider); + requestProposal(m_proposal->reason(), m_assistKind, m_requestProvider); } } } diff --git a/src/plugins/texteditor/codeassist/iassistproposal.h b/src/plugins/texteditor/codeassist/iassistproposal.h index d4784a3f60d..1393cbab835 100644 --- a/src/plugins/texteditor/codeassist/iassistproposal.h +++ b/src/plugins/texteditor/codeassist/iassistproposal.h @@ -57,11 +57,15 @@ public: Utils::Id id() const { return m_id; } + AssistReason reason() const { return m_reason; } + void setReason(const AssistReason &reason) { m_reason = reason; } + protected: Utils::Id m_id; int m_basePosition; bool m_isFragile = false; bool m_supportsPrefix = true; + AssistReason m_reason; }; } // TextEditor diff --git a/src/plugins/valgrind/callgrindengine.cpp b/src/plugins/valgrind/callgrindengine.cpp index 974a4848440..8aafa076ae7 100644 --- a/src/plugins/valgrind/callgrindengine.cpp +++ b/src/plugins/valgrind/callgrindengine.cpp @@ -270,7 +270,10 @@ void CallgrindToolRunner::triggerParse() cleanupTempFile(); { TemporaryFile dataFile("callgrind.out"); - dataFile.open(); + if (!dataFile.open()) { + showStatusMessage(tr("Failed opening temp file...")); + return; + } m_hostOutputFile = FilePath::fromString(dataFile.fileName()); } diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index 03606f9a184..4819d356f06 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -864,7 +864,7 @@ void CallgrindToolPrivate::handleShowCostsOfFunction() if (!symbol) return; - if (!symbol->isFunction()) + if (!symbol->asFunction()) return; CPlusPlus::Overview view; diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index 1fedbcb4a1e..1cd50e2a19b 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include diff --git a/src/shared/qbs b/src/shared/qbs index b6a46aa0199..85711c54b13 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit b6a46aa0199c2595766495673f67a8190f3342fe +Subproject commit 85711c54b13cb119ccfc0473bfe0a064e3ca6403 diff --git a/src/tools/qtcreatorcrashhandler/CMakeLists.txt b/src/tools/qtcreatorcrashhandler/CMakeLists.txt index 64eb7d3d35d..fc2a477d06f 100644 --- a/src/tools/qtcreatorcrashhandler/CMakeLists.txt +++ b/src/tools/qtcreatorcrashhandler/CMakeLists.txt @@ -1,4 +1,4 @@ -add_qtc_executable(qtcreatorcrashhandler +add_qtc_executable(qtcreator_crash_handler CONDITION UNIX AND NOT APPLE AND (CMAKE_BUILD_TYPE STREQUAL "Debug") DEPENDS app_version Utils Qt5::Widgets SOURCES diff --git a/tests/auto/cplusplus/semantic/tst_semantic.cpp b/tests/auto/cplusplus/semantic/tst_semantic.cpp index 473dd7eccf1..61b2aa3bb48 100644 --- a/tests/auto/cplusplus/semantic/tst_semantic.cpp +++ b/tests/auto/cplusplus/semantic/tst_semantic.cpp @@ -210,7 +210,7 @@ void tst_Semantic::function_declaration_1() QCOMPARE(funTy->argumentCount(), 0); QCOMPARE(funTy->refQualifier(), Function::NoRefQualifier); - QVERIFY(decl->name()->isNameId()); + QVERIFY(decl->name()->asNameId()); const Identifier *funId = decl->name()->asNameId()->identifier(); QVERIFY(funId); @@ -261,7 +261,7 @@ void tst_Semantic::function_declaration_2() QCOMPARE(QByteArray(namedTypeId->chars(), namedTypeId->size()), QByteArray("QString")); - QVERIFY(decl->name()->isNameId()); + QVERIFY(decl->name()->asNameId()); const Identifier *funId = decl->name()->asNameId()->identifier(); QVERIFY(funId); @@ -378,7 +378,7 @@ void tst_Semantic::function_definition_1() QCOMPARE(funTy->argumentCount(), 0); QCOMPARE(funTy->refQualifier(), Function::NoRefQualifier); - QVERIFY(funTy->name()->isNameId()); + QVERIFY(funTy->name()->asNameId()); const Identifier *funId = funTy->name()->asNameId()->identifier(); QVERIFY(funId); diff --git a/tests/unit/unittest/CMakeLists.txt b/tests/unit/unittest/CMakeLists.txt index 366942bc3eb..eee7e511245 100644 --- a/tests/unit/unittest/CMakeLists.txt +++ b/tests/unit/unittest/CMakeLists.txt @@ -61,7 +61,6 @@ add_qtc_test(unittest GTEST processevents-utilities.cpp processevents-utilities.h sizedarray-test.cpp smallstring-test.cpp - sourcerangecontainer-matcher.h spydummy.cpp spydummy.h sqlitealgorithms-test.cpp sqliteindex-test.cpp @@ -129,12 +128,6 @@ add_custom_command(TARGET unittest POST_BUILD "${CMAKE_CURRENT_BINARY_DIR}/data" ) -extend_qtc_test(unittest - SOURCES - activationsequenceprocessor-test.cpp - readexporteddiagnostics-test.cpp -) - extend_qtc_test(unittest CONDITION TARGET GoogleBenchmark DEPENDS GoogleBenchmark @@ -314,33 +307,6 @@ endif() extend_qtc_test(unittest DEPENDS Utils CPlusPlus) -extend_qtc_test(unittest - SOURCES_PREFIX ../../../src/plugins/clangcodemodel - SOURCES - clangactivationsequenceprocessor.cpp clangactivationsequenceprocessor.h -) - -find_package(yaml-cpp QUIET MODULE) - -extend_qtc_test(unittest - DEPENDS yaml-cpp - DEFINES CLANGTOOLS_STATIC_LIBRARY - SOURCES_PREFIX ../../../src/plugins/clangtools - SOURCES - clangtoolsdiagnostic.cpp - clangtoolsdiagnostic.h - clangtoolslogfilereader.cpp - clangtoolslogfilereader.h -) - -extend_qtc_test(unittest - DEFINES DEBUGGER_STATIC_LIBRARY - SOURCES_PREFIX ../../../src/plugins/debugger - SOURCES - analyzer/diagnosticlocation.cpp - analyzer/diagnosticlocation.h -) - extend_qtc_test(unittest SOURCES_PREFIX ../../../src/plugins/coreplugin DEFINES CORE_STATIC_LIBRARY @@ -350,13 +316,6 @@ extend_qtc_test(unittest locator/ilocatorfilter.cpp locator/ilocatorfilter.h ) -extend_qtc_test(unittest - SOURCES_PREFIX ../../../src/plugins/cppeditor - DEFINES CPPEDITOR_STATIC_LIBRARY - SOURCES - cppprojectfile.cpp cppprojectfile.h -) - get_filename_component( QMLDOM_STANDALONE_CMAKELISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../../../qmldom_standalone/src/qmldom/standalone/" diff --git a/tests/unit/unittest/activationsequenceprocessor-test.cpp b/tests/unit/unittest/activationsequenceprocessor-test.cpp deleted file mode 100644 index b51f2c75986..00000000000 --- a/tests/unit/unittest/activationsequenceprocessor-test.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** 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 General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "googletest.h" - -#include - -#include - -namespace { - -using testing::PrintToString; -using namespace CPlusPlus; -using ClangCodeModel::Internal::ActivationSequenceProcessor; - -MATCHER_P3(HasResult, completionKind, offset, newPosition, - std::string(negation ? "hasn't" : "has") - + " result of completion kind " + PrintToString(Token::name(completionKind)) - + ", offset " + PrintToString(offset) - + " and new operator start position" + PrintToString(newPosition)) -{ - if (arg.completionKind() != completionKind - || arg.offset() != offset - || arg.operatorStartPosition() != newPosition) { - *result_listener << "completion kind is " << PrintToString(Token::name(arg.completionKind())) - << ", offset is " << PrintToString(arg.offset()) - << " and new operator start position is " << PrintToString(arg.operatorStartPosition()); - return false; - } - - return true; -} - -TEST(ActivationSequenceProcessor, CouldNotProcesseRandomCharacters) -{ - ActivationSequenceProcessor processor(QStringLiteral("xxx"), 3, false); - - ASSERT_THAT(processor, HasResult(T_EOF_SYMBOL, 0, 3)); -} - -TEST(ActivationSequenceProcessor, CouldNotProcesseEmptyString) -{ - ActivationSequenceProcessor processor(QStringLiteral(""), 0, true); - - ASSERT_THAT(processor, HasResult(T_EOF_SYMBOL, 0, 0)); -} - -TEST(ActivationSequenceProcessor, Dot) -{ - ActivationSequenceProcessor processor(QStringLiteral("."), 1, true); - - ASSERT_THAT(processor, HasResult(T_DOT, 1, 0)); -} - -TEST(ActivationSequenceProcessor, Comma) -{ - ActivationSequenceProcessor processor(QStringLiteral(","), 2, false); - - ASSERT_THAT(processor, HasResult(T_COMMA, 1, 1)); -} - -TEST(ActivationSequenceProcessor, LeftParenAsFunctionCall) -{ - ActivationSequenceProcessor processor(QStringLiteral("("), 3, true); - - ASSERT_THAT(processor, HasResult(T_LPAREN, 1, 2)); -} - -TEST(ActivationSequenceProcessor, LeftParenNotAsFunctionCall) -{ - ActivationSequenceProcessor processor(QStringLiteral("("), 3, false); - - ASSERT_THAT(processor, HasResult(T_EOF_SYMBOL, 0, 3)); -} - -TEST(ActivationSequenceProcessor, ColonColon) -{ - ActivationSequenceProcessor processor(QStringLiteral("::"), 20, true); - - ASSERT_THAT(processor, HasResult(T_COLON_COLON, 2, 18)); -} - -TEST(ActivationSequenceProcessor, Arrow) -{ - ActivationSequenceProcessor processor(QStringLiteral("->"), 2, true); - - ASSERT_THAT(processor, HasResult(T_ARROW, 2, 0)); -} - -TEST(ActivationSequenceProcessor, DotStar) -{ - ActivationSequenceProcessor processor(QStringLiteral(".*"), 3, true); - - ASSERT_THAT(processor, HasResult(T_DOT_STAR, 2, 1)); -} - -TEST(ActivationSequenceProcessor, ArrowStar) -{ - ActivationSequenceProcessor processor(QStringLiteral("->*"), 3, true); - - ASSERT_THAT(processor, HasResult(T_ARROW_STAR, 3, 0)); -} - -TEST(ActivationSequenceProcessor, DoxyGenCommentBackSlash) -{ - ActivationSequenceProcessor processor(QStringLiteral(" \\"), 3, true); - - ASSERT_THAT(processor, HasResult(T_DOXY_COMMENT, 1, 2)); -} - -TEST(ActivationSequenceProcessor, DoxyGenCommentAt) -{ - ActivationSequenceProcessor processor(QStringLiteral(" @"), 2, true); - - ASSERT_THAT(processor, HasResult(T_DOXY_COMMENT, 1, 1)); -} - -TEST(ActivationSequenceProcessor, AngleStringLiteral) -{ - ActivationSequenceProcessor processor(QStringLiteral("<"), 1, true); - - ASSERT_THAT(processor, HasResult(T_ANGLE_STRING_LITERAL, 1, 0)); -} - -TEST(ActivationSequenceProcessor, StringLiteral) -{ - ActivationSequenceProcessor processor(QStringLiteral("\""), 1, true); - - ASSERT_THAT(processor, HasResult(T_STRING_LITERAL, 1, 0)); -} - -TEST(ActivationSequenceProcessor, Slash) -{ - ActivationSequenceProcessor processor(QStringLiteral("/"), 1, true); - - ASSERT_THAT(processor, HasResult(T_SLASH, 1, 0)); -} - -TEST(ActivationSequenceProcessor, Pound) -{ - ActivationSequenceProcessor processor(QStringLiteral("#"), 1, true); - - ASSERT_THAT(processor, HasResult(T_POUND, 1, 0)); -} - -TEST(ActivationSequenceProcessor, PositionIsOne) -{ - ActivationSequenceProcessor processor(QStringLiteral(" -} diff --git a/tests/unit/unittest/data/complete_completer_main.cpp b/tests/unit/unittest/data/complete_completer_main.cpp deleted file mode 100644 index 877ce23d286..00000000000 --- a/tests/unit/unittest/data/complete_completer_main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "complete_forwarding_header_1.h" - -void Function() -{ - -} - -class Foo; -void FunctionWithArguments(int i, char *c, const Foo &ref) -{ - -} - -void SavedFunction() -{ - -} - - - - - - - -void f() -{ - -} diff --git a/tests/unit/unittest/data/complete_completer_main_unsaved.cpp b/tests/unit/unittest/data/complete_completer_main_unsaved.cpp deleted file mode 100644 index 38af12b8583..00000000000 --- a/tests/unit/unittest/data/complete_completer_main_unsaved.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "complete_forwarding_header_2.h" - -void Function() -{ - -} - -class Foo; -void FunctionWithArguments(int i, char *c, const Foo &ref) -{ - -} - -void UnsavedFunction() -{ - -} - -#define Macro - -int GlobalVariableInUnsavedFile; - -void f() -{ - int VariableInUnsavedFile; - - -} diff --git a/tests/unit/unittest/data/complete_extractor_brief_comment.cpp b/tests/unit/unittest/data/complete_extractor_brief_comment.cpp deleted file mode 100644 index 89ffa79e427..00000000000 --- a/tests/unit/unittest/data/complete_extractor_brief_comment.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/** - * A brief comment - */ -void BriefComment() -{ - -} - -void f() { - -} diff --git a/tests/unit/unittest/data/complete_extractor_class.cpp b/tests/unit/unittest/data/complete_extractor_class.cpp deleted file mode 100644 index 218b5fbe25d..00000000000 --- a/tests/unit/unittest/data/complete_extractor_class.cpp +++ /dev/null @@ -1,21 +0,0 @@ -class Class {}; -struct Struct{}; -union Union{}; -typedef Class TypeDef; -using UsingClass = Class; -template class TemplateClass{}; -template class ClassTemplatePartialSpecialization; -template class ClassTemplatePartialSpecialization; - - - - - - - - -template class TemplateTemplateParameter> -void function() -{ - -} diff --git a/tests/unit/unittest/data/complete_extractor_constructor.cpp b/tests/unit/unittest/data/complete_extractor_constructor.cpp deleted file mode 100644 index e28ccaea824..00000000000 --- a/tests/unit/unittest/data/complete_extractor_constructor.cpp +++ /dev/null @@ -1,22 +0,0 @@ -class Constructor { - Constructor(); - ~Constructor(); - - - - - - - - - - - - - - - void function() - { - - } -}; diff --git a/tests/unit/unittest/data/complete_extractor_constructorMemberInitialization.cpp b/tests/unit/unittest/data/complete_extractor_constructorMemberInitialization.cpp deleted file mode 100644 index bbbe8ccfb81..00000000000 --- a/tests/unit/unittest/data/complete_extractor_constructorMemberInitialization.cpp +++ /dev/null @@ -1,5 +0,0 @@ -class Constructor { - Constructor() : {} - - int member; -}; diff --git a/tests/unit/unittest/data/complete_extractor_enumeration.cpp b/tests/unit/unittest/data/complete_extractor_enumeration.cpp deleted file mode 100644 index 79973a616b0..00000000000 --- a/tests/unit/unittest/data/complete_extractor_enumeration.cpp +++ /dev/null @@ -1,22 +0,0 @@ -enum Enumeration { - Enumerator -}; - - - - - - - - - - - - - - -void function() -{ - -} - diff --git a/tests/unit/unittest/data/complete_extractor_function.cpp b/tests/unit/unittest/data/complete_extractor_function.cpp deleted file mode 100644 index 6a3d1bf73ac..00000000000 --- a/tests/unit/unittest/data/complete_extractor_function.cpp +++ /dev/null @@ -1,22 +0,0 @@ -void Function(); -template void TemplateFunction(); -void FunctionWithOptional(int x, char y = 1, int z = 5); -#define FunctionMacro(X, Y) X + Y - -class base { - void NotAccessibleFunction(); -}; -class Class : public base { - void Method(); - void MethodWithParameters(int x = 30); - __attribute__((annotate("qt_slot"))) void Slot(); - __attribute__((annotate("qt_signal"))) void Signal(); - __attribute__ ((deprecated)) void DeprecatedFunction(); - void NotAvailableFunction() = delete; - -public: - void function() - { - - } -}; diff --git a/tests/unit/unittest/data/complete_extractor_function_unsaved.cpp b/tests/unit/unittest/data/complete_extractor_function_unsaved.cpp deleted file mode 100644 index adab53527b4..00000000000 --- a/tests/unit/unittest/data/complete_extractor_function_unsaved.cpp +++ /dev/null @@ -1,22 +0,0 @@ -void Function(); -template void TemplateFunction(); - -#define FunctionMacro(X, Y) X + Y - -class base { - void NotAccessibleFunction(); -}; -class Class : public base { - void Method2(); - void MethodWithParameters(int x = 30); - __attribute__((annotate("qt_slot"))) void Slot(); - __attribute__((annotate("qt_signal"))) void Signal(); - __attribute__ ((deprecated)) void DeprecatedFunction(); - void NotAvailableFunction() = delete; - -public: - void function() - { - - } -}; diff --git a/tests/unit/unittest/data/complete_extractor_function_unsaved_2.cpp b/tests/unit/unittest/data/complete_extractor_function_unsaved_2.cpp deleted file mode 100644 index 08153184f46..00000000000 --- a/tests/unit/unittest/data/complete_extractor_function_unsaved_2.cpp +++ /dev/null @@ -1,22 +0,0 @@ -void Function(); -template void TemplateFunction(); - -#define FunctionMacro(X, Y) X + Y - -class base { - void NotAccessibleFunction(); -}; -class Class : public base { - void Method3(); - void MethodWithParameters(int x = 30); - __attribute__((annotate("qt_slot"))) void Slot(); - __attribute__((annotate("qt_signal"))) void Signal(); - __attribute__ ((deprecated)) void DeprecatedFunction(); - void NotAvailableFunction() = delete; - -public: - void function() - { - - } -}; diff --git a/tests/unit/unittest/data/complete_extractor_functionoverload.cpp b/tests/unit/unittest/data/complete_extractor_functionoverload.cpp deleted file mode 100644 index fa447158f4f..00000000000 --- a/tests/unit/unittest/data/complete_extractor_functionoverload.cpp +++ /dev/null @@ -1,9 +0,0 @@ -struct Foo { - Foo(const Foo &foo); - Foo(char c); -}; - -void f() -{ - Foo foo( -} diff --git a/tests/unit/unittest/data/complete_extractor_namespace.cpp b/tests/unit/unittest/data/complete_extractor_namespace.cpp deleted file mode 100644 index 46d273da9d3..00000000000 --- a/tests/unit/unittest/data/complete_extractor_namespace.cpp +++ /dev/null @@ -1,22 +0,0 @@ -namespace Namespace {} -namespace NamespaceAlias = Namespace; - - - - - - - - - - - - - - - -void function() -{ - -} - diff --git a/tests/unit/unittest/data/complete_extractor_private_function_definition.cpp b/tests/unit/unittest/data/complete_extractor_private_function_definition.cpp deleted file mode 100644 index c2dd9e3daba..00000000000 --- a/tests/unit/unittest/data/complete_extractor_private_function_definition.cpp +++ /dev/null @@ -1,5 +0,0 @@ -class Foo { - void method(); -}; - -void Foo::m diff --git a/tests/unit/unittest/data/complete_extractor_variable.cpp b/tests/unit/unittest/data/complete_extractor_variable.cpp deleted file mode 100644 index e8a67f9c6cd..00000000000 --- a/tests/unit/unittest/data/complete_extractor_variable.cpp +++ /dev/null @@ -1,36 +0,0 @@ -void function(int Parameter) -{ - int Var = 0; - -} - -void function2() -{ - int Var = 0; - auto Lambda = [&Var]() - { - - }; -} - -class Class { - int Field; - - void function() { - - } -}; - -template -void function3() {} - -#define MacroDefinition - - -void function4() -{ -#ifdef ArgumentDefinition - int ArgumentDefinitionVariable; -#endif - -} diff --git a/tests/unit/unittest/data/complete_forwarding_header_1.h b/tests/unit/unittest/data/complete_forwarding_header_1.h deleted file mode 100644 index ebd822c41bf..00000000000 --- a/tests/unit/unittest/data/complete_forwarding_header_1.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#include diff --git a/tests/unit/unittest/data/complete_forwarding_header_2.h b/tests/unit/unittest/data/complete_forwarding_header_2.h deleted file mode 100644 index ebd822c41bf..00000000000 --- a/tests/unit/unittest/data/complete_forwarding_header_2.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#include diff --git a/tests/unit/unittest/data/complete_smartpointer.cpp b/tests/unit/unittest/data/complete_smartpointer.cpp deleted file mode 100644 index a6e7d73a58a..00000000000 --- a/tests/unit/unittest/data/complete_smartpointer.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** 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 General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ -namespace std { -template -class unique_ptr {}; - -template -class shared_ptr { -public: - void reset(); - Type *operator->(); -}; - -template -unique_ptr make_unique(Args&&... args); - -template -shared_ptr make_shared(Args&&... args); -} // namespace std - -template -class QSharedPointer -{ -public: - template - static QSharedPointer create(Args&&... args); -}; - -class Bar -{ -public: - Bar(); - Bar(int, int); -}; -void f2() -{ - std::unique_ptr bar = std::make_unique(); - std::shared_ptr bar2 = std::make_shared(); - QSharedPointer bar3 = QSharedPointer::create(); - bar2-> -} diff --git a/tests/unit/unittest/data/complete_target_header.h b/tests/unit/unittest/data/complete_target_header.h deleted file mode 100644 index 67bc13701d0..00000000000 --- a/tests/unit/unittest/data/complete_target_header.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -void FunctionInIncludedHeader(); diff --git a/tests/unit/unittest/data/complete_target_header_changed.h b/tests/unit/unittest/data/complete_target_header_changed.h deleted file mode 100644 index be7ac4e5320..00000000000 --- a/tests/unit/unittest/data/complete_target_header_changed.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -void FunctionInIncludedHeader(); -void FunctionInIncludedHeaderChanged(); diff --git a/tests/unit/unittest/data/complete_target_header_unsaved.h b/tests/unit/unittest/data/complete_target_header_unsaved.h deleted file mode 100644 index 7007f9b5fe2..00000000000 --- a/tests/unit/unittest/data/complete_target_header_unsaved.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -void FunctionInIncludedHeader(); -void FunctionInIncludedHeaderUnsaved(); diff --git a/tests/unit/unittest/data/complete_translationunit_parse_error.cpp b/tests/unit/unittest/data/complete_translationunit_parse_error.cpp deleted file mode 100644 index 288cef2a330..00000000000 --- a/tests/unit/unittest/data/complete_translationunit_parse_error.cpp +++ /dev/null @@ -1,2 +0,0 @@ -NAMESPACE { - diff --git a/tests/unit/unittest/data/complete_withDotArrowCorrectionForForwardDeclaredClassPointer.cpp b/tests/unit/unittest/data/complete_withDotArrowCorrectionForForwardDeclaredClassPointer.cpp deleted file mode 100644 index 46e7e9d08bb..00000000000 --- a/tests/unit/unittest/data/complete_withDotArrowCorrectionForForwardDeclaredClassPointer.cpp +++ /dev/null @@ -1,6 +0,0 @@ -struct Bar; - -void g(Bar *bar) -{ - bar. -} diff --git a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer.cpp b/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer.cpp deleted file mode 100644 index 9f8d3645b2e..00000000000 --- a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer.cpp +++ /dev/null @@ -1,6 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - foo. -} diff --git a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointerInitial.cpp b/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointerInitial.cpp deleted file mode 100644 index 0472cfacaa4..00000000000 --- a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointerInitial.cpp +++ /dev/null @@ -1,6 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - -} diff --git a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointerUpdated.cpp b/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointerUpdated.cpp deleted file mode 100644 index 9f8d3645b2e..00000000000 --- a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointerUpdated.cpp +++ /dev/null @@ -1,6 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - foo. -} diff --git a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer_afterTyping.cpp b/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer_afterTyping.cpp deleted file mode 100644 index 9f8d3645b2e..00000000000 --- a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer_afterTyping.cpp +++ /dev/null @@ -1,6 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - foo. -} diff --git a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer_beforeTyping.cpp b/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer_beforeTyping.cpp deleted file mode 100644 index 0472cfacaa4..00000000000 --- a/tests/unit/unittest/data/complete_withDotArrowCorrectionForPointer_beforeTyping.cpp +++ /dev/null @@ -1,6 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - -} diff --git a/tests/unit/unittest/data/complete_withGlobalCompletionAfterForwardDeclaredClassPointer.cpp b/tests/unit/unittest/data/complete_withGlobalCompletionAfterForwardDeclaredClassPointer.cpp deleted file mode 100644 index 66ef372934f..00000000000 --- a/tests/unit/unittest/data/complete_withGlobalCompletionAfterForwardDeclaredClassPointer.cpp +++ /dev/null @@ -1,7 +0,0 @@ -struct Bar; - -void g(Bar *bar) -{ - bar-> - // white space preserver -} diff --git a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForArrowDot.cpp b/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForArrowDot.cpp deleted file mode 100644 index 304c17c05b6..00000000000 --- a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForArrowDot.cpp +++ /dev/null @@ -1,7 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - foo->. -} - diff --git a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForColonColon.cpp b/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForColonColon.cpp deleted file mode 100644 index 62af4343c10..00000000000 --- a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForColonColon.cpp +++ /dev/null @@ -1 +0,0 @@ -Blah:: diff --git a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForDotDot.cpp b/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForDotDot.cpp deleted file mode 100644 index 8f77989da67..00000000000 --- a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForDotDot.cpp +++ /dev/null @@ -1,7 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - foo.. -} - diff --git a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForFloat.cpp b/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForFloat.cpp deleted file mode 100644 index c27a0ee8f08..00000000000 --- a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForFloat.cpp +++ /dev/null @@ -1,4 +0,0 @@ -void f() -{ - float pi = 3. -} diff --git a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForObject.cpp b/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForObject.cpp deleted file mode 100644 index d2e3b88da7c..00000000000 --- a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForObject.cpp +++ /dev/null @@ -1,6 +0,0 @@ -struct Foo { int member; }; - -void g(Foo foo) -{ - foo. -} diff --git a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForObjectWithArrowOperator.cpp b/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForObjectWithArrowOperator.cpp deleted file mode 100644 index 6a741603a18..00000000000 --- a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForObjectWithArrowOperator.cpp +++ /dev/null @@ -1,9 +0,0 @@ -struct Foo { - Foo *operator->(); - int member; -}; - -void g(Foo foo) -{ - foo. -} diff --git a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForOnlyDot.cpp b/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForOnlyDot.cpp deleted file mode 100644 index 1607d6a6fbd..00000000000 --- a/tests/unit/unittest/data/complete_withNoDotArrowCorrectionForOnlyDot.cpp +++ /dev/null @@ -1,7 +0,0 @@ -struct Foo { int member; }; - -void g(Foo *foo) -{ - . // white space preserver -} - diff --git a/tests/unit/unittest/data/completions_order.cpp b/tests/unit/unittest/data/completions_order.cpp deleted file mode 100644 index 3812225ad75..00000000000 --- a/tests/unit/unittest/data/completions_order.cpp +++ /dev/null @@ -1,41 +0,0 @@ -class Constructor { -public: - Constructor() = default; - Constructor(int) {} -}; - -void testConstructor() { - -} - -class Base { - virtual void bar(int a) const; -}; - -class DifferentPriorities : public Base { -public: - void foo(); - void foo() const; - void bar(int a) const override; - void testBar() { - - } -}; - -void testPriorities() { - DifferentPriorities d; - d. -} - -class LexicographicalSorting -{ -public: - void memberFuncBB(); - void memberFuncC(); - void memberFuncAAA() const; -}; - -void testLexicographicalSorting() { - LexicographicalSorting ls; - ls.memberFunc -} diff --git a/tests/unit/unittest/data/cursor.cpp b/tests/unit/unittest/data/cursor.cpp deleted file mode 100644 index 82df2cb378c..00000000000 --- a/tests/unit/unittest/data/cursor.cpp +++ /dev/null @@ -1,147 +0,0 @@ -#include "cursor.h" - -void function(int x) -{ - -} - -namespace Namespace -{ -SuperClass::SuperClass(int x) noexcept - : y(x) -{ - int LocalVariable; -} - -int SuperClass::Method() -{ - Method(); - AbstractVirtualMethod(y); - int LocalVariable; - return y; -} - -int SuperClass::VirtualMethod(int z) -{ - AbstractVirtualMethod(z); - - return y; -} - -bool SuperClass::ConstMethod() const -{ - return y; -} - -void SuperClass::StaticMethod() -{ - using longint = long long int; - using lint = longint; - - lint foo; - - foo = 30; - - const lint bar = 20; -} -} - -template -void TemplateFunction(T LocalVariableParameter) -{ - T LocalVariable; -} - -Namespace::SuperClass::operator int() const -{ - int LocalVariable; -} - -int Namespace::SuperClass::operator ++() const -{ - int LocalVariable; - - return LocalVariable; -} - -Namespace::SuperClass::~SuperClass() -{ - int LocalVariable; -} - -void Struct::FinalVirtualMethod() -{ - -} - -void f1(Struct *FindFunctionCaller) -{ - FindFunctionCaller->FinalVirtualMethod(); -} - -void f2(){ - Struct *s = new Struct; - - f1(s); -} - -void f3() -{ - auto FindFunctionCaller = Struct(); - - FindFunctionCaller.FinalVirtualMethod(); -} - - -void f4() -{ - Struct s; - - auto *sPointer = &s; - auto sValue = s; -} - -void NonFinalStruct::function() -{ - FinalVirtualMethod(); -} - -void OutputFunction(int &out, int in = 1, const int &in2=2, int *out2=nullptr); -void InputFunction(const int &value); - -void f5() -{ - int OutputValue; - int InputValue = 20; - - OutputFunction(OutputValue); - InputFunction(InputValue); -} - -void ArgumentCountZero(); -void ArgumentCountTwo(int one, const int &two); -void IntegerValue(int); -void LValueReference(int &); -void ConstLValueReference(const int &); -void PointerToConst(const int *); -void Pointer(int *); -void ConstantPointer(int *const); -void ConstIntegerValue(const int); - -void NonFinalStruct::ProtectedMethodAccessSpecifier() {} - -extern int ExternVarStorageClass; - -static void StaticMethodStorageClass() {} - -template const T &InvalidStorageClass(const T &type) { return type; } - -namespace Outer { -namespace { - -} - -enum { - X, Y -}; -} diff --git a/tests/unit/unittest/data/cursor.h b/tests/unit/unittest/data/cursor.h deleted file mode 100644 index 7db9be6e97b..00000000000 --- a/tests/unit/unittest/data/cursor.h +++ /dev/null @@ -1,44 +0,0 @@ - - - -namespace Namespace -{ -class SuperClass; -/** - * A brief comment - */ -class SuperClass -{ - SuperClass() = default; - SuperClass(int x) noexcept; - int Method(); - virtual int VirtualMethod(int z); - virtual int AbstractVirtualMethod(int z) = 0; - bool ConstMethod() const; - static void StaticMethod(); - operator int() const; - int operator ++() const; - ~SuperClass(); - -private: - int y; -}; -} - -struct Struct final -{ - virtual void FinalVirtualMethod() final; -}; - -union Union -{ - -}; - -struct NonFinalStruct -{ - virtual void FinalVirtualMethod() final; - void function(); -protected: - void ProtectedMethodAccessSpecifier(); -}; diff --git a/tests/unit/unittest/data/diagnostic_diagnostic.cpp b/tests/unit/unittest/data/diagnostic_diagnostic.cpp deleted file mode 100644 index 51423c20b51..00000000000 --- a/tests/unit/unittest/data/diagnostic_diagnostic.cpp +++ /dev/null @@ -1,8 +0,0 @@ -int noReturnValue() -{ -} - -void f(int) -{ - f(); -} diff --git a/tests/unit/unittest/data/diagnostic_diagnosticset.cpp b/tests/unit/unittest/data/diagnostic_diagnosticset.cpp deleted file mode 100644 index 20ea8ffe1e4..00000000000 --- a/tests/unit/unittest/data/diagnostic_diagnosticset.cpp +++ /dev/null @@ -1,5 +0,0 @@ -int function() -{ - -} - diff --git a/tests/unit/unittest/data/diagnostic_diagnosticset_header.cpp b/tests/unit/unittest/data/diagnostic_diagnosticset_header.cpp deleted file mode 100644 index cf05802cb6b..00000000000 --- a/tests/unit/unittest/data/diagnostic_diagnosticset_header.cpp +++ /dev/null @@ -1,2 +0,0 @@ -void f() {} - diff --git a/tests/unit/unittest/data/diagnostic_diagnosticset_mainfile.cpp b/tests/unit/unittest/data/diagnostic_diagnosticset_mainfile.cpp deleted file mode 100644 index 323842ca580..00000000000 --- a/tests/unit/unittest/data/diagnostic_diagnosticset_mainfile.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "diagnostic_diagnosticset_header.cpp" - -void f() {} - diff --git a/tests/unit/unittest/data/diagnostic_erroneous_header.h b/tests/unit/unittest/data/diagnostic_erroneous_header.h deleted file mode 100644 index 5dd2740c16c..00000000000 --- a/tests/unit/unittest/data/diagnostic_erroneous_header.h +++ /dev/null @@ -1,11 +0,0 @@ -int warningInHeader() -{ -} - -void myfun() -{ - int i = 0; - if (i = 3) {} -} - -errorInHeader; diff --git a/tests/unit/unittest/data/diagnostic_erroneous_source.cpp b/tests/unit/unittest/data/diagnostic_erroneous_source.cpp deleted file mode 100644 index a0efee52b54..00000000000 --- a/tests/unit/unittest/data/diagnostic_erroneous_source.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "diagnostic_erroneous_header.h" - -enum Numbers { One, Two, Three }; - -void f(Numbers n) -{ - switch (n) { - case One: return; - case Two: return; - } -} - -void g() -{ - return 3; -} - -void function() -{ - int i = 0; - if (i = 3) {} -} - - diff --git a/tests/unit/unittest/data/diagnostic_semicolon_fixit.cpp b/tests/unit/unittest/data/diagnostic_semicolon_fixit.cpp deleted file mode 100644 index 8b7eb2c657c..00000000000 --- a/tests/unit/unittest/data/diagnostic_semicolon_fixit.cpp +++ /dev/null @@ -1,4 +0,0 @@ -int function() -{ - return 3 -} diff --git a/tests/unit/unittest/data/diagnostic_source_location.cpp b/tests/unit/unittest/data/diagnostic_source_location.cpp deleted file mode 100644 index 537675c619e..00000000000 --- a/tests/unit/unittest/data/diagnostic_source_location.cpp +++ /dev/null @@ -1,9 +0,0 @@ -int function() -{ - -} - -int function2() -{ - /*abcdЙf*/ -} diff --git a/tests/unit/unittest/data/diagnostic_source_range.cpp b/tests/unit/unittest/data/diagnostic_source_range.cpp deleted file mode 100644 index 121d402ea89..00000000000 --- a/tests/unit/unittest/data/diagnostic_source_range.cpp +++ /dev/null @@ -1,13 +0,0 @@ -class XXX -{ - -}; - -int function(XXX i) -{ - i + 20; -} - -struct Foo { - someIdentifierLeadingToInvalidRange; -}; diff --git a/tests/unit/unittest/data/empty1.cpp b/tests/unit/unittest/data/empty1.cpp deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/unit/unittest/data/empty2.cpp b/tests/unit/unittest/data/empty2.cpp deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/unit/unittest/data/empty3.cpp b/tests/unit/unittest/data/empty3.cpp deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/unit/unittest/data/followsymbol_main.cpp b/tests/unit/unittest/data/followsymbol_main.cpp deleted file mode 100644 index f967d8653be..00000000000 --- a/tests/unit/unittest/data/followsymbol_main.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** 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 General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ -#include "followsymbol_header.h" -#include "cursor.h" -Fooish::Bar::Bar() { - -} - -class X; - -using YYY = Fooish::Bar; - -int foo() { - YYY bar; - bar.member = 30; - Fooish::Barish barish; - bar.member++; - barish.mem = Fooish::flvalue; - - barish.foo(1.f, 2); - foo(1, 2.f); - return 1; - - X* x; -} - -int Fooish::Barish::foo(float p, int u) -{ - return ::foo() + p + u; -} - -class FooClass -{ -public: - FooClass(); - static int mememember; -}; - -FooClass::FooClass() { - NonFinalStruct nfStruct; nfStruct.function(); -} - -int main() { - return foo() + FooClass::mememember + TEST_DEFINE; -} - -class Bar -{ -public: - int operator&(); - Bar& operator[](int); -}; - -int Bar::operator&() { - return 0; -} - -Bar& Bar::operator[](int) { - return *this; -} - -struct S { - union { - int i = 12; - void *something; - }; - int func(bool b) { - if (b) - return i; - int i = 42; - return i; - } -}; diff --git a/tests/unit/unittest/data/highlightingmarks.cpp b/tests/unit/unittest/data/highlightingmarks.cpp deleted file mode 100644 index 57f4586daba..00000000000 --- a/tests/unit/unittest/data/highlightingmarks.cpp +++ /dev/null @@ -1,811 +0,0 @@ -auto *Variable = "Variable"; -auto *u8Variable = u8"Variable"; -auto *rawVariable = R"(Variable)"; -auto Character = 'c'; - - - - - - - - - - - - - - - - - - -auto integer = 1; -auto numFloat = 1.2f; - - - - - - - - - - - - - - - - - - - - -int function(int x) -{ - return x; -} - -struct Foo -{ - void memberFunction() {} -}; - -int functionDeclaration(int x); - -struct Foo2 -{ - void memberFunction(); -}; - -void f() -{ - function(1); -} - -struct ConversionFunction { - operator Foo(); - operator int(); -}; - -void TypeReference() -{ - Foo foo; -} - -void LocalVariableDeclaration() -{ - Foo foo; - - foo.memberFunction(); -} - -void LocalVariableFunctionArgument(Foo &foo) -{ - foo.memberFunction(); -} - -struct Foo3 { - int ClassMember; - - void ClassMemberReference() - { - ClassMember++; - } -}; - -struct Foo4 -{ - void MemberFunctionReference(); - - void function() - { - MemberFunctionReference(); - } -}; - -struct Foo5 -{ - void StaticMethod(); - - void function() - { - Foo5::StaticMethod(); - } -}; - -enum Enumeration -{ - Enumerator -}; - -void f2() -{ - Enumeration enumeration; - - enumeration = Enumerator; -} - -class ForwardReference; - -class Class -{ public: - Class(); - ~Class(); -}; - -ForwardReference *f3() -{ - Class ConstructorReference; - - return 0; -} - -union Union -{ - -}; - -Union UnionDeclarationReference; - - - - - - - - - -namespace NameSpace { -struct StructInNameSpace {}; -} - -namespace NameSpaceAlias = NameSpace; -using NameSpace::StructInNameSpace; -NameSpace::StructInNameSpace foo6; - -class BaseClass { -public: - virtual void VirtualFunction(); - virtual void FinalVirtualFunction(); -}; - - -void f8() -{ - BaseClass NonVirtualFunctionCall; - NonVirtualFunctionCall.VirtualFunction(); - - BaseClass *NonVirtualFunctionCallPointer = new BaseClass(); - NonVirtualFunctionCallPointer->VirtualFunction(); -} - -class DerivedClass : public BaseClass -{public: - void VirtualFunction() override; - void FinalVirtualFunction() final; -}; - -void f8(BaseClass *VirtualFunctionCallPointer) -{ - VirtualFunctionCallPointer->VirtualFunction(); -} - -class FinalClass final : public DerivedClass -{ - void FinalClassThisCall(); -}; - -void f8(DerivedClass *FinalVirtualFunctionCallPointer) -{ - FinalVirtualFunctionCallPointer->FinalVirtualFunction(); -} - -void f9(BaseClass *NonFinalVirtualFunctionCallPointer) -{ - NonFinalVirtualFunctionCallPointer->FinalVirtualFunction(); -} - -void f10(FinalClass *ClassFinalVirtualFunctionCallPointer) -{ - ClassFinalVirtualFunctionCallPointer->VirtualFunction(); -} - -class Operator { -public: - Operator operator+=(const Operator &first); -}; - -Operator operator+(const Operator &first, const Operator &second); - -void f10() -{ - auto PlusOperator = Operator() + Operator(); - Operator PlusAssignOperator; - PlusAssignOperator += Operator(); -} - -/* Comment */ - -#define PreprocessorDefinition Class -#define MacroDefinition(a,b) ((a)>(b)?(a):(b)) - -void f11() -{ - MacroDefinition(2, 4); -} - -#include "highlightingmarks.h" - -void f12() { -GOTO_LABEL: - - goto GOTO_LABEL; -} - -template -void TemplateFunction(T v) -{ - T XXXXX = v; -} -void TemplateReference() -{ - TemplateFunction(1); -// std::vector TemplateIntance; -} - - - - -template -class TemplateFoo {}; - - -template class TemplateTemplateParameter = TemplateFoo> -void TemplateFunction(TemplateTypeParameter TemplateParameter) -{ - TemplateTypeParameter TemplateTypeParameterReference; - auto NonTypeTemplateParameterReference = NonTypeTemplateParameter; - TemplateTemplateParameter TemplateTemplateParameterReference; -} - - - -void FinalClass::FinalClassThisCall() -{ - VirtualFunction(); -} - - -void OutputArgument(int &one, const int &two, int *three=0); - -void f12b() -{ - int One; - OutputArgument(One, 2); -} - -#include - -#define FOREACH(variable, container) \ - variable; \ - auto x = container; - -#define foreach2 FOREACH - - - -void f13() -{ - auto container = 1; - foreach2(int index, container); -} - -class SecondArgumentInMacroExpansionIsField { - int container = 1; - - void f() - { - foreach2(int index, container); - } -}; - -typedef unsigned uint32; - -enum EnumerationType : uint32 -{ - Other = 0, -}; - - -struct TypeInCast { - void function(); -}; - -void f14() -{ - static_cast(&TypeInCast::function); - reinterpret_cast(&TypeInCast::function); -} - -using IntegerAlias = int; -using SecondIntegerAlias = IntegerAlias; -typedef int IntegerTypedef; -using Function = void (*)(); - - - -void f15() -{ - IntegerAlias integerAlias; - SecondIntegerAlias secondIntegerAlias; - IntegerTypedef integerTypedef; - Function(); -} - -class FriendFoo -{ -public: - friend class FooFriend; - friend bool operator==(const FriendFoo &first, const FriendFoo &second); -}; - -class FieldInitialization -{ -public: - FieldInitialization() : - member(0) - {} - - int member; -}; - -template -void TemplateFunctionCall(Type type) -{ - type + type; -} - -void f16() -{ - TemplateFunctionCall(1); -} - - -template -class TemplatedType -{ - T value = T(); -}; - -void f17() -{ - TemplatedType TemplatedTypeDeclaration; -} - -void f18() -{ - auto value = 1 + 2; -} - -class ScopeClass -{ -public: - static void ScopeOperator(); -}; - -void f19() -{ - ScopeClass::ScopeOperator(); -} - -namespace TemplateClassNamespace { -template -class TemplateClass -{ - -}; -} - -void f20() -{ - TemplateClassNamespace::TemplateClass TemplateClassDefinition; -} - -void f21() -{ - typedef int TypeDefDeclaration; - TypeDefDeclaration TypeDefDeclarationUsage; -} - -typedef int EnumerationTypeDef; - -enum Enumeration2 : EnumerationTypeDef { - -}; - -struct Bar { - Bar &operator[](int &key); -}; - -void argumentToUserDefinedIndexOperator(Bar object, int index = 3) -{ - object[index]; -} - -struct LambdaTester -{ - int member = 0; - void func() { - const int var = 42, var2 = 84; - auto lambda = [var, this](int input) { - return var + input + member; - }; - lambda(var2); - } -}; - -void NonConstReferenceArgument(int &argument); - -void f22() -{ - int x = 1; - - NonConstReferenceArgument(x); -} - -void ConstReferenceArgument(const int &argument); - -void f23() -{ - int x = 1; - - ConstReferenceArgument(x); -} - -void RValueReferenceArgument(int &&argument); - -void f24() -{ - int x = 1; - - RValueReferenceArgument(static_cast(x)); -} - -void NonConstPointerArgument(int *argument); - -void f25() -{ - int *x; - - NonConstPointerArgument(x); -} - -void PointerToConstArgument(const int *argument); -void ConstPointerArgument(int *const argument); -void f26() -{ - int *x; - PointerToConstArgument(x); - ConstPointerArgument(x); -} - -void NonConstReferenceArgumentCallInsideCall(int x, int &argument); -int GetArgument(int x); - -void f27() -{ - int x = 1; - - NonConstReferenceArgumentCallInsideCall(GetArgument(x), x); -} - -void f28(int &Reference) -{ - NonConstReferenceArgument(Reference); -} - -void f29() -{ - int x; - - NonConstPointerArgument(&x); -} - -struct NonConstPointerArgumentAsMemberOfClass -{ - int member; -}; - -void f30() -{ - NonConstPointerArgumentAsMemberOfClass instance; - - NonConstReferenceArgument(instance.member); -} - -struct NonConstReferenceArgumentConstructor -{ - NonConstReferenceArgumentConstructor() = default; - NonConstReferenceArgumentConstructor(NonConstReferenceArgumentConstructor &other); - - void NonConstReferenceArgumentMember(NonConstReferenceArgumentConstructor &other); -}; - -void f31() -{ - NonConstReferenceArgumentConstructor instance; - - NonConstReferenceArgumentConstructor copy(instance); -} - -struct NonConstReferenceMemberInitialization -{ - NonConstReferenceMemberInitialization(int &foo) - : foo(foo) - {} - - int &foo; -}; - -template class Coo; -template class Coo; - -namespace N { void goo(); } -using N::goo; - -#if 1 -#endif - -#include - -struct OtherOperator { void operator()(int); }; -void g(OtherOperator o, int var) -{ - o(var); -} - -void NonConstPointerArgument(int &argument); - -struct PointerGetterClass -{ - int &getter(); -}; - -void f32() -{ - PointerGetterClass x; - - NonConstPointerArgument(x.getter()); -} - -namespace N { template void SizeIs(); } -using N::SizeIs; - -void BaseClass::VirtualFunction() {} - -class WithVirtualFunctionDefined { - virtual void VirtualFunctionDefinition() {}; -}; - -namespace NFoo { namespace NBar { namespace NTest { class NamespaceTypeSpelling; } } } - -Undeclared u; -#define Q_PROPERTY(arg) static_assert("Q_PROPERTY", #arg); // Keep these in sync with wrappedQtHeaders/QtCore/qobjectdefs.h -#define SIGNAL(arg) #arg -#define SLOT(arg) #arg -class Property { - Q_PROPERTY(const volatile unsigned long long * prop READ getProp WRITE setProp NOTIFY propChanged) - Q_PROPERTY(const QString str READ getStr) -}; - -struct X { - void operator*(int) {} -}; - -void operator*(X, float) {} - -void CallSite() { - X x; - int y = 10; - float z = 10; - x * y; - x * z; -} - -struct Dummy { - Dummy operator<<=(int key); - Dummy operator()(int a); - int& operator[] (unsigned index); - void* operator new(unsigned size); - void operator delete(void* ptr); - void* operator new[](unsigned size); - void operator delete[](void* ptr); -}; - -void TryOverloadedOperators(Dummy object) -{ - object <<= 3; - - Dummy stacked; - stacked(4); - stacked[1]; - int *i = new int; - Dummy* use_new = new Dummy(); - delete use_new; - Dummy* many = new Dummy[10]; - delete [] many; -} - -enum { - Test = 0 -}; - -namespace { -class B { - struct { - int a; - }; -}; -} - -struct Dummy2 { - Dummy2 operator()(); - int operator*(); - Dummy2 operator=(int foo); -}; - -void TryOverloadedOperators2(Dummy object) -{ - Dummy2 dummy2; - dummy2(); - *dummy2; - dummy2 = 3; -} - -int OperatorTest() { - return 1 < 2 ? 20 : 30; -} - -int signalSlotTest() { - SIGNAL(something(QString)); - SLOT(something(QString)); - SIGNAL(something(QString (*func1)(QString))); - 1 == 2; -} - -class NonConstParameterConstructor -{ - NonConstParameterConstructor() = default; - NonConstParameterConstructor(NonConstParameterConstructor &buildDependenciesStorage); - - void Call() - { - NonConstParameterConstructor foo; - NonConstParameterConstructor bar(foo); - } -}; - -class StaticMembersAccess -{ -protected: - static int protectedValue; - -private: - static int privateValue; -}; - -template struct S { }; -template using spec = S; -spec<2> s; - -class Property { - Q_PROPERTY( - - const - - volatile - - unsigned - - long - - long - - * - - prop - - READ - - getProp - - WRITE - - setProp - - NOTIFY - - propChanged - - ) -}; - -void structuredBindingTest() { - const int a[] = {1, 2}; - const auto [x, y] = a; -} - -#define ASSIGN(decl, ptr) do { decl = *ptr; } while (false) -#define ASSIGN2 ASSIGN -void f4() -{ - int *thePointer = 0; - ASSIGN(int i, thePointer); - ASSIGN2(int i, thePointer); -} - -const int MyConstant = 8; -void f5() -{ - int arr[MyConstant][8]; -} - -static int GlobalVar = 0; - -namespace N { [[deprecated]] void f(); } - -template -void func(T v); - -void f6() -{ - GlobalVar = 5; - func(1); // QTCREATORBUG-21856 -} - -template -void func(T v) { - GlobalVar = 5; -} - -static std::vector> pv; - -template -struct vecn -{ - T v[S]; -}; - -template -static inline constexpr vecn operator<(vecn a, vecn b) -{ - vecn x = vecn{}; - for(long i = 0; i < S; ++i) - { - x[i] = a[i] < b[i]; - } - return x; -} - -const char *cyrillic = "б"; - -struct foo { -#define blubb -}; - -#define test_micro(A,B) ((A##B>1?A:B)) - -int a = (a1 > 0); - -int func() { - int a = (a1 > 0); -} - -namespace std { - template struct pair; - template struct vector; -} - -static std::vector> pvr; diff --git a/tests/unit/unittest/data/highlightingmarks.h b/tests/unit/unittest/data/highlightingmarks.h deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/unit/unittest/data/include_testfile.cpp b/tests/unit/unittest/data/include_testfile.cpp deleted file mode 100644 index 9be5fa082f6..00000000000 --- a/tests/unit/unittest/data/include_testfile.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** 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 General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include - diff --git a/tests/unit/unittest/data/references.cpp b/tests/unit/unittest/data/references.cpp deleted file mode 100644 index 32ff1b90753..00000000000 --- a/tests/unit/unittest/data/references.cpp +++ /dev/null @@ -1,174 +0,0 @@ -void variableSingleReference() -{ - int foo; -} - - - -int variableMultipleReferences() -{ - int foo = 0; - return foo; -} - - - -class Foo {}; -void bla() -{ - Foo foo; -} - - - -namespace N { class Bar {}; } -namespace N { class Baz {}; } -N::Bar bar; - - - -namespace G { class App {}; } -using G::App; - - - -class Hoo; -void f(const Hoo &); - - - -class Moo {}; -void x() -{ - new Moo; -} - - - -class Element {}; -template struct Wrap { T member; }; -void g() -{ - Wrap con; - con.member; -} - - - -template -struct Wrapper { - T f() - { - int foo; - ++foo; - return mem; - } - - T mem; -}; - - - -template -void f() -{ - T mem; - mem.foo(); -} - - - -struct Woo { - Woo(); - ~Woo(); -}; - - - -int muu(); -int muu(int); - - - -struct Doo { - int muu(); - int muu(int); -}; - - - -template int tuu(); -int tuu(int); - - - -struct Xoo { - template int tuu(); - int tuu(int); -}; - - - -enum ET { E1 }; -bool e(ET e) -{ - return e == E1; -} - - - -struct LData { int member; }; -void lambda(LData foo) { - auto l = [bar=foo] { return bar.member; }; -} - - - -template class Coo; -template class Coo; -template<> class Coo; - - - -template typename T::foo n() -{ - typename T::bla hello; -} - - - -int rec(int n = 100) -{ - return n == 0 ? 0 : rec(--n); -} - - - -#define FOO 3 -int objectLikeMacro() -{ - return FOO; -} - - - -#define BAR(x) x -int functionLikeMacro(int foo) -{ - return BAR(foo); -} - -template -class Container -{ -public: - T &operator[](int); T &operator()(int, int); -}; - -int testOperator() { - Container vec; - - int n = 10; - vec[n] = n * 100; - vec(n, n) = 100; -} diff --git a/tests/unit/unittest/data/skippedsourceranges.cpp b/tests/unit/unittest/data/skippedsourceranges.cpp deleted file mode 100644 index 775393fcedc..00000000000 --- a/tests/unit/unittest/data/skippedsourceranges.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#if 0 - -void f(); - -#endif - -#ifndef BLAH -class Class -{ - -}; -#endif - -#ifdef BLAH -class Class -{ - -}; -#endif diff --git a/tests/unit/unittest/data/token.cpp b/tests/unit/unittest/data/token.cpp deleted file mode 100644 index 2fccc37acf6..00000000000 --- a/tests/unit/unittest/data/token.cpp +++ /dev/null @@ -1,3 +0,0 @@ -void function(int x) -{ -} diff --git a/tests/unit/unittest/data/tooltipinfo.cpp b/tests/unit/unittest/data/tooltipinfo.cpp deleted file mode 100644 index bc1f17066ef..00000000000 --- a/tests/unit/unittest/data/tooltipinfo.cpp +++ /dev/null @@ -1,212 +0,0 @@ -void f(int foo, const int *cfoo) -{ - foo++; - cfoo++; -} - - - -struct Foo { int member = 0; }; -int g(const Foo &foo) -{ - return foo.member; - const Foo bar; - bar; -} - -struct Bar { virtual ~Bar(); int mem(){} virtual int virtualConstMem() const; }; -void h(const Foo &foo, Bar &bar) -{ - g(foo); - bar.mem(); - bar.virtualConstMem(); -} - - -template -void t(int foo) { (void)foo; } -void c() -{ - t(3); -} - - - -/** - * \brief This is a crazy function. - */ -void documentedFunction(); -void d() -{ - documentedFunction(); -} - - - -enum EnumType { V1, V2, Custom = V2 + 5 }; -EnumType e() -{ - return EnumType::Custom; -} - - - -template struct Baz { T member; }; -void t2(const Baz &b) { - Baz baz; baz = b; -} - -#include "tooltipinfo.h" - - - -#define MACRO_FROM_MAINFILE(x) x + 3 -void foo() -{ - MACRO_FROM_MAINFILE(7); - MACRO_FROM_HEADER(7); -} - - - -namespace N { struct Muu{}; } -namespace G = N; -void o() -{ - using namespace N; - Muu muu; (void)muu; -} -void n() -{ - using namespace G; - Muu muu; (void)muu; -} -void q() -{ - using N::Muu; - Muu muu; (void)muu; -} - - - -struct Sizes -{ - char memberChar1; - char memberChar2; -}; -enum class FancyEnumType { V1, V2 }; -union Union -{ - char memberChar1; - char memberChar2; -}; - - - -namespace X { -namespace Y { -} -} - - - -template struct Ptr {}; -struct Nuu {}; - -typedef Ptr PtrFromTypeDef; -using PtrFromTypeAlias = Ptr; -template using PtrFromTemplateTypeAlias = Ptr; - -void y() -{ - PtrFromTypeDef b; (void)b; - PtrFromTypeAlias a; (void)a; - PtrFromTemplateTypeAlias c; (void)c; -} - - - -template struct Zii {}; -namespace U { template struct Yii {}; } -void mc() -{ - using namespace U; - Zii zii; (void) zii; - Yii yii; (void) yii; -} - - - -namespace A { struct X {}; } -namespace B = A; -void ab() -{ - B::X x; (void)x; -} - - - -namespace N { -struct Outer -{ - template struct Inner {}; - Inner inner; -}; -} - - - -void f(); -namespace R { void f(); } -void f(int param); -void z(int = 1); -void user() -{ - f(); - R::f(); - f(1); - z(); -} - - - - -void autoTypes() -{ - auto a = 3; (void)a; - auto b = EnumType::V1; (void)b; - auto c = Bar(); (void)c; - auto d = Zii(); (void)d; -} - - - - -struct Con {}; -struct ExplicitCon { - ExplicitCon() = default; - ExplicitCon(int m) :member(m) {} - int member; -}; -void constructor() -{ - Con(); - ExplicitCon(); - ExplicitCon(2); -} - -Nuu **pointers(Nuu **p1) -{ - return p1; -} - -static constexpr int calcValue() { return 1 + 2; } -const auto val = calcValue() + sizeof(char); - -const int zero = 0; - -static void func() -{ - const int i = 5; - const int j = i; -} diff --git a/tests/unit/unittest/data/tooltipinfo.h b/tests/unit/unittest/data/tooltipinfo.h deleted file mode 100644 index 47d3bb92e75..00000000000 --- a/tests/unit/unittest/data/tooltipinfo.h +++ /dev/null @@ -1,3 +0,0 @@ -#define MACRO_FROM_HEADER(x) x + \ - x + \ - x diff --git a/tests/unit/unittest/data/translationunits.cpp b/tests/unit/unittest/data/translationunits.cpp deleted file mode 100644 index 8ab60b10e17..00000000000 --- a/tests/unit/unittest/data/translationunits.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "translationunits.h" -#include "some/unresolved/file.h" - -void function() -{ - -} - diff --git a/tests/unit/unittest/data/translationunits.h b/tests/unit/unittest/data/translationunits.h deleted file mode 100644 index 67bc13701d0..00000000000 --- a/tests/unit/unittest/data/translationunits.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -void FunctionInIncludedHeader(); diff --git a/tests/unit/unittest/data/uicmain.cpp b/tests/unit/unittest/data/uicmain.cpp deleted file mode 100644 index 7739b1027b2..00000000000 --- a/tests/unit/unittest/data/uicmain.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "uicheader.h" - -static UicObject o; diff --git a/tests/unit/unittest/readexporteddiagnostics-test.cpp b/tests/unit/unittest/readexporteddiagnostics-test.cpp deleted file mode 100644 index dcd0a00ee79..00000000000 --- a/tests/unit/unittest/readexporteddiagnostics-test.cpp +++ /dev/null @@ -1,350 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** 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 General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "googletest.h" - -#include - -#include -#include - -#define TESTDATA TESTDATA_DIR "/clangtools/" - -using namespace ClangTools::Internal; -using Debugger::DiagnosticLocation; - -namespace { - -class ReadExportedDiagnostics : public ::testing::Test -{ -protected: - void SetUp() override - { - ASSERT_TRUE(temporaryDir.isValid()); - } - - // Replace FILE_PATH with a real absolute file path in the *.yaml files. - QString createFile(const QString &yamlFilePath, const QString &filePathToInject) - { - QTC_ASSERT(QDir::isAbsolutePath(filePathToInject), return QString()); - const Utils::FilePath newFileName = temporaryDir.filePath(QFileInfo(yamlFilePath).fileName()); - - Utils::FileReader reader; - if (QTC_GUARD(reader.fetch(Utils::FilePath::fromString(yamlFilePath), - QIODevice::ReadOnly | QIODevice::Text))) { - QByteArray contents = reader.data(); - contents.replace("FILE_PATH", filePathToInject.toLocal8Bit()); - - Utils::FileSaver fileSaver(newFileName, QIODevice::WriteOnly | QIODevice::Text); - QTC_CHECK(fileSaver.write(contents)); - QTC_CHECK(fileSaver.finalize()); - } - - return newFileName.toString(); - } - -protected: - QString errorMessage; - Utils::TemporaryDirectory temporaryDir{"clangtools-tests-XXXXXX"}; -}; - -TEST_F(ReadExportedDiagnostics, NotExistingFile) -{ - Diagnostics diags = readExportedDiagnostics("notExistingFile.yaml", - {}, - &errorMessage); - - ASSERT_THAT(diags, IsEmpty()); - ASSERT_FALSE(errorMessage.isEmpty()); -} - -TEST_F(ReadExportedDiagnostics, EmptyFile) -{ - Diagnostics diags = readExportedDiagnostics(TESTDATA "empty.yaml", - {}, - &errorMessage); - - ASSERT_THAT(diags, IsEmpty()); - ASSERT_TRUE(errorMessage.isEmpty()); -} - -TEST_F(ReadExportedDiagnostics, UnexpectedFileContents) -{ - const QString sourceFile = TESTDATA "tidy.modernize-use-nullptr.cpp"; - - Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(sourceFile), - {}, - &errorMessage); - - ASSERT_FALSE(errorMessage.isEmpty()); - ASSERT_THAT(diags, IsEmpty()); -} - -static QString appendYamlSuffix(const char *filePathFragment) -{ - const QString yamlSuffix = QLatin1String(Utils::HostOsInfo::isWindowsHost() - ? "_win.yaml" : ".yaml"); - return filePathFragment + yamlSuffix; -} - -TEST_F(ReadExportedDiagnostics, Tidy) -{ - const Utils::FilePath sourceFile = Utils::FilePath::fromString( - TESTDATA "tidy.modernize-use-nullptr.cpp"); - const QString exportedFile = createFile(appendYamlSuffix(TESTDATA "tidy.modernize-use-nullptr"), - sourceFile.toString()); - Diagnostic expectedDiag; - expectedDiag.name = "modernize-use-nullptr"; - expectedDiag.location = {sourceFile, 2, 25}; - expectedDiag.description = "use nullptr [modernize-use-nullptr]"; - expectedDiag.type = "warning"; - expectedDiag.hasFixits = true; - expectedDiag.explainingSteps = { - ExplainingStep{"nullptr", - expectedDiag.location, - {expectedDiag.location, {sourceFile, 2, 26}}, - true}}; - - Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), - {}, - &errorMessage); - - ASSERT_TRUE(errorMessage.isEmpty()); - ASSERT_THAT(diags, ElementsAre(expectedDiag)); -} - -TEST_F(ReadExportedDiagnostics, AcceptDiagsFromFilePaths_None) -{ - const QString sourceFile = TESTDATA "tidy.modernize-use-nullptr.cpp"; - const QString exportedFile = createFile(TESTDATA "tidy.modernize-use-nullptr.yaml", sourceFile); - const auto acceptNone = [](const Utils::FilePath &) { return false; }; - - Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), - acceptNone, - &errorMessage); - - ASSERT_TRUE(errorMessage.isEmpty()); - ASSERT_THAT(diags, IsEmpty()); -} - -// Diagnostics from clang (static) analyzer passed through via clang-tidy -TEST_F(ReadExportedDiagnostics, Tidy_ClangAnalyzer) -{ - const Utils::FilePath sourceFile = Utils::FilePath::fromString(TESTDATA - "clang-analyzer.dividezero.cpp"); - const QString exportedFile = createFile(appendYamlSuffix(TESTDATA "clang-analyzer.dividezero"), - sourceFile.toString()); - Diagnostic expectedDiag; - expectedDiag.name = "clang-analyzer-core.DivideZero"; - expectedDiag.location = {sourceFile, 4, 15}; - expectedDiag.description = "Division by zero [clang-analyzer-core.DivideZero]"; - expectedDiag.type = "warning"; - expectedDiag.hasFixits = false; - expectedDiag.explainingSteps = { - ExplainingStep{"Assuming 'z' is equal to 0", - {sourceFile, 3, 7}, - {}, - false, - }, - ExplainingStep{"Taking true branch", - {sourceFile, 3, 3}, - {}, - false, - }, - ExplainingStep{"Division by zero", - {sourceFile, 4, 15}, - {}, - false, - }, - }; - - Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), - {}, - &errorMessage); - - ASSERT_TRUE(errorMessage.isEmpty()); - ASSERT_THAT(diags, ElementsAre(expectedDiag)); -} - -TEST_F(ReadExportedDiagnostics, Clazy) -{ - const Utils::FilePath sourceFile = Utils::FilePath::fromString(TESTDATA "clazy.qgetenv.cpp"); - const QString exportedFile = createFile(appendYamlSuffix(TESTDATA "clazy.qgetenv"), - sourceFile.toString()); - Diagnostic expectedDiag; - expectedDiag.name = "clazy-qgetenv"; - expectedDiag.location = {sourceFile, 7, 5}; - expectedDiag.description = "qgetenv().isEmpty() allocates. Use qEnvironmentVariableIsEmpty() instead [clazy-qgetenv]"; - expectedDiag.type = "warning"; - expectedDiag.hasFixits = true; - expectedDiag.explainingSteps = { - ExplainingStep{"qEnvironmentVariableIsEmpty", - expectedDiag.location, - {expectedDiag.location, {sourceFile, 7, 12}}, - true - }, - ExplainingStep{")", - {sourceFile, 7, 18}, - {{sourceFile, 7, 18}, {sourceFile, 7, 29}}, - true}, - }; - - Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), - {}, - &errorMessage); - - ASSERT_TRUE(errorMessage.isEmpty()); - ASSERT_THAT(diags, ElementsAre(expectedDiag)); -} - -class ByteOffsetInUtf8TextToLineColumn : public ::testing::Test -{ -protected: - const char *empty = ""; - const char *asciiWord = "FOO"; - const char *asciiMultiLine = "FOO\nBAR"; - const char *asciiMultiLine_dos = "FOO\r\nBAR"; - const char *asciiEmptyMultiLine = "\n\n"; - // U+00FC - 2 code units in UTF8, 1 in UTF16 - LATIN SMALL LETTER U WITH DIAERESIS - // U+4E8C - 3 code units in UTF8, 1 in UTF16 - CJK UNIFIED IDEOGRAPH-4E8C - // U+10302 - 4 code units in UTF8, 2 in UTF16 - OLD ITALIC LETTER KE - const char *nonAsciiMultiLine = "\xc3\xbc" "\n" - "\xe4\xba\x8c" "\n" - "\xf0\x90\x8c\x82" "X"; - - // Convenience - const char *text = nullptr; -}; - -TEST_F(ByteOffsetInUtf8TextToLineColumn, InvalidText) -{ - ASSERT_FALSE(byteOffsetInUtf8TextToLineColumn(nullptr, 0)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, InvalidOffset_EmptyInput) -{ - ASSERT_FALSE(byteOffsetInUtf8TextToLineColumn(empty, 0)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, InvalidOffset_Before) -{ - ASSERT_FALSE(byteOffsetInUtf8TextToLineColumn(asciiWord, -1)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, InvalidOffset_After) -{ - ASSERT_FALSE(byteOffsetInUtf8TextToLineColumn(asciiWord, 3)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, InvalidOffset_NotFirstByteOfMultiByte) -{ - ASSERT_FALSE(byteOffsetInUtf8TextToLineColumn(nonAsciiMultiLine, 1)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, StartOfFirstLine) -{ - auto info = byteOffsetInUtf8TextToLineColumn(asciiWord, 0); - - ASSERT_TRUE(info); - ASSERT_THAT(info->line, Eq(1)); - ASSERT_THAT(info->column, Eq(1)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, EndOfFirstLine) -{ - auto info = byteOffsetInUtf8TextToLineColumn(asciiWord, 2); - - ASSERT_TRUE(info); - ASSERT_THAT(info->line, Eq(1)); - ASSERT_THAT(info->column, Eq(3)); -} - -// The invocation -// -// clang-tidy "-checks=-*,readability-braces-around-statements" /path/to/file -// -// for the code -// -// void f(bool b) -// { -// if (b) -// f(b); -// } -// -// emits -// -// 3:11: warning: statement should be inside braces [readability-braces-around-statements] -// -// The new line in the if-line is considered as column 11, which is normally not visible in the -// editor. -TEST_F(ByteOffsetInUtf8TextToLineColumn, OffsetPointingToLineSeparator_unix) -{ - auto info = byteOffsetInUtf8TextToLineColumn(asciiMultiLine, 3); - - ASSERT_TRUE(info); - ASSERT_THAT(info->line, Eq(1)); - ASSERT_THAT(info->column, Eq(4)); -} - -// For a file with dos style line endings ("\r\n"), clang-tidy points to '\r'. -TEST_F(ByteOffsetInUtf8TextToLineColumn, OffsetPointingToLineSeparator_dos) -{ - auto info = byteOffsetInUtf8TextToLineColumn(asciiMultiLine_dos, 3); - - ASSERT_TRUE(info); - ASSERT_THAT(info->line, Eq(1)); - ASSERT_THAT(info->column, Eq(4)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, StartOfSecondLine) -{ - auto info = byteOffsetInUtf8TextToLineColumn(asciiMultiLine, 4); - - ASSERT_TRUE(info); - ASSERT_THAT(info->line, Eq(2)); - ASSERT_THAT(info->column, Eq(1)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, MultiByteCodePoint1) -{ - auto info = byteOffsetInUtf8TextToLineColumn(nonAsciiMultiLine, 3); - - ASSERT_TRUE(info); - ASSERT_THAT(info->line, Eq(2)); - ASSERT_THAT(info->column, Eq(1)); -} - -TEST_F(ByteOffsetInUtf8TextToLineColumn, MultiByteCodePoint2) -{ - auto info = byteOffsetInUtf8TextToLineColumn(nonAsciiMultiLine, 11); - - ASSERT_TRUE(info); - ASSERT_THAT(info->line, Eq(3)); - ASSERT_THAT(info->column, Eq(2)); -} - -} // namespace - -#undef TESTDATA diff --git a/tests/unit/unittest/sourcerangecontainer-matcher.h b/tests/unit/unittest/sourcerangecontainer-matcher.h deleted file mode 100644 index c2345be533a..00000000000 --- a/tests/unit/unittest/sourcerangecontainer-matcher.h +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** 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 General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once - -#include "googletest.h" - -using testing::PrintToString; - -namespace { - -MATCHER_P4(IsSourceRange, startLine, startColumn, endLine, endColumn, - std::string(negation ? "isn't" : "is") - + "[(" + PrintToString(startLine) - + ", " + PrintToString(startColumn) - + "), (" + PrintToString(endLine) - + ", " + PrintToString(endColumn) - + ")]" - ) -{ - return arg.start.line == uint(startLine) - && arg.start.column == uint(startColumn) - && arg.end.line == uint(endLine) - && arg.end.column == uint(endColumn); -} - -MATCHER_P5(IsSourceRangeWithText, startLine, startColumn, endLine, endColumn, text, - std::string(negation ? "isn't " : "is ") - + "((" + PrintToString(startLine) - + ", " + PrintToString(startColumn) - + "), (" + PrintToString(endLine) - + ", " + PrintToString(endColumn) - + "), " + PrintToString(text) - + ")" - ) -{ - return arg.start.line == uint(startLine) - && arg.start.column == uint(startColumn) - && arg.end.line == uint(endLine) - && arg.end.column == uint(endColumn) - && arg.text.toCarriageReturnsStripped() == text; - -} - -} diff --git a/tests/unit/unittest/unittest.qbs b/tests/unit/unittest/unittest.qbs index 3828063b783..143ec4de46f 100644 --- a/tests/unit/unittest/unittest.qbs +++ b/tests/unit/unittest/unittest.qbs @@ -15,15 +15,11 @@ Project { FileInfo.relativePath(project.ide_source_tree, sourceDirectory)) install: false - Depends { name: "libclang"; required: false } - Depends { name: "clang_defines" } - Depends { name: "QmlDesigner"; required: false } Depends { name: "sqlite_sources" } Depends { name: "Core" } Depends { name: "CPlusPlus" } - Depends { name: "yaml-cpp" } Depends { name: "Qt"; submodules: ["network", "widgets", "testlib"] } @@ -40,9 +36,6 @@ Project { "QT_RESTRICTED_CAST_FROM_ASCII", "QT_USE_FAST_OPERATOR_PLUS", "QT_USE_FAST_CONCATENATION", - "CLANGTOOLS_STATIC_LIBRARY", - "CPPEDITOR_STATIC_LIBRARY", - "DEBUGGER_STATIC_LIBRARY", "UNIT_TESTS", "DONT_CHECK_MESSAGE_COUNTER", 'QTC_RESOURCE_DIR="' + path + "/../../../share/qtcreator" + '"', @@ -50,9 +43,6 @@ Project { 'RELATIVE_DATA_PATH="' + FileInfo.relativePath(destinationDirectory, FileInfo.joinPaths(project.sourceDirectory, "share", "qtcreator")) + '"', ]; - if (libclang.present) { - defines.push("CLANG_UNIT_TESTS"); - } var absLibExecPath = FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, qtc.ide_libexec_path); var relLibExecPath = FileInfo.relativePath(destinationDirectory, absLibExecPath); @@ -79,47 +69,18 @@ Project { return flags; } cpp.cxxLanguageVersion: "c++17" - cpp.dynamicLibraries: { - var libs = []; - if (libclang.present) { - libs = libs.concat(libclang.llvmLibs); - if (libclang.llvmFormattingLibs.length - && (!qbs.targetOS.contains("windows") || libclang.llvmBuildModeMatches)) { - libs = libs.concat(libclang.llvmFormattingLibs); - } - } - return libs; - } - cpp.includePaths: { - var paths = [ - ".", - "../mockup", - "../../../src/libs", - "../../../src/libs/3rdparty", - "../../../src/plugins", - "../../../src/plugins/clangcodemodel", - "../../../share/qtcreator/qml/qmlpuppet/types", - ]; - if (libclang.present) { - paths.push(libclang.llvmIncludeDir); - } - return paths; - } - cpp.libraryPaths: { - var paths = []; - if (libclang.present) - paths.push(libclang.llvmLibDir); - return paths; - } - cpp.rpaths: { - var paths = [ - FileInfo.joinPaths(project.buildDirectory, qtc.ide_library_path), - FileInfo.joinPaths(project.buildDirectory, qtc.ide_plugin_path) - ]; - if (libclang.present) - paths.push(libclang.llvmLibDir); - return paths; - } + cpp.includePaths: [ + ".", + "../mockup", + "../../../src/libs", + "../../../src/libs/3rdparty", + "../../../src/plugins", + "../../../share/qtcreator/qml/qmlpuppet/types", + ] + cpp.rpaths: [ + FileInfo.joinPaths(project.buildDirectory, qtc.ide_library_path), + FileInfo.joinPaths(project.buildDirectory, qtc.ide_plugin_path) + ] files: [ "compare-operators.h", @@ -150,7 +111,6 @@ Project { "processevents-utilities.h", "sizedarray-test.cpp", "smallstring-test.cpp", - "sourcerangecontainer-matcher.h", "spydummy.cpp", "spydummy.h", "sqlitecolumn-test.cpp", @@ -172,17 +132,6 @@ Project { "unittests-main.cpp", ] - Group { - name: "libclang tests" - condition: libclang.present && (!qbs.targetOS.contains("windows") || libclang.llvmBuildModeMatches) - files: [ - "activationsequenceprocessor-test.cpp", - "clangcompareoperators.h", - "diagnosticcontainer-matcher.h", - "readexporteddiagnostics-test.cpp", - ] - } - Group { name: "benchmark test" condition: benchmark.present @@ -193,48 +142,8 @@ Project { name: "data" files: [ "data/*", - "data/include/*", ] fileTags: [] } - - Group { - name: "sources from clangcodemodel" - prefix: "../../../src/plugins/clangcodemodel/" - files: [ - "clangactivationsequenceprocessor.cpp", - "clangactivationsequenceprocessor.h", - ] - } - - Group { - name: "sources from cppeditor" - prefix: "../../../src/plugins/cppeditor/" - files: [ - "cppprojectfile.cpp", - "cppprojectfile.h", - ] - } - - Group { - name: "sources from clangtools" - condition: libclang.present - prefix: "../../../src/plugins/clangtools/" - files: [ - "clangtoolsdiagnostic.cpp", - "clangtoolsdiagnostic.h", - "clangtoolslogfilereader.cpp", - "clangtoolslogfilereader.h", - ] - } - - Group { - name: "sources from Debugger" - prefix: "../../../src/plugins/debugger/analyzer/" - files: [ - "diagnosticlocation.cpp", - "diagnosticlocation.h", - ] - } } }