diff --git a/doc/images/creator_createanimation.png b/doc/images/creator_createanimation.png deleted file mode 100644 index 05375fda47a..00000000000 Binary files a/doc/images/creator_createanimation.png and /dev/null differ diff --git a/doc/images/creator_createcode.png b/doc/images/creator_createcode.png deleted file mode 100644 index 835c273edf5..00000000000 Binary files a/doc/images/creator_createcode.png and /dev/null differ diff --git a/doc/images/creator_createcomponents.png b/doc/images/creator_createcomponents.png deleted file mode 100644 index 8223a286770..00000000000 Binary files a/doc/images/creator_createcomponents.png and /dev/null differ diff --git a/doc/images/creator_createproject.png b/doc/images/creator_createproject.png deleted file mode 100644 index edede18598a..00000000000 Binary files a/doc/images/creator_createproject.png and /dev/null differ diff --git a/doc/images/creator_createscreen.png b/doc/images/creator_createscreen.png deleted file mode 100644 index 537273d7691..00000000000 Binary files a/doc/images/creator_createscreen.png and /dev/null differ diff --git a/doc/images/creator_createuserinter.png b/doc/images/creator_createuserinter.png deleted file mode 100644 index e24d52987b8..00000000000 Binary files a/doc/images/creator_createuserinter.png and /dev/null differ diff --git a/doc/src/howto/creator-help.qdoc b/doc/src/howto/creator-help.qdoc index 3d7c8fd3874..cffc5cee508 100644 --- a/doc/src/howto/creator-help.qdoc +++ b/doc/src/howto/creator-help.qdoc @@ -60,11 +60,12 @@ \section1 Viewing Function Tooltips To hide function tooltips by default, select \gui {Tools > Options > - Text Editor > Show help tooltips > On Shift+Mouseover}. You can still view - the tooltips by pressing and holding down the \key Shift key. + Text Editor > Show help tooltips using the mouse > On Shift+Mouseover}. You + can still view the tooltips by pressing and holding down the \key Shift + key. To use a keyboard shortcut for viewing help tooltips, select - \gui {Using keyboard shortcut (Alt)}. + \gui {Show help tooltips using keyboard shortcut (Alt)}. \section1 Finding Information in Qt Documentation diff --git a/doc/src/qtcreator.qdoc b/doc/src/qtcreator.qdoc index 3b1bb028dab..86815fdf858 100644 --- a/doc/src/qtcreator.qdoc +++ b/doc/src/qtcreator.qdoc @@ -190,10 +190,7 @@ \li \l {Creating Buttons} \li \l {Creating Scalable Buttons and Borders} \li \l {Creating Screens} - \li \l {Animating Screens} - \li \l {Adding User Interaction Methods} \li \l {Exporting Designs from Graphics Software} - \li \l {Implementing Application Logic} \li \l {Using QML Modules with Plugins} \endlist \li \l{Developing Widget Based Applications} diff --git a/doc/src/qtquick/qtquick-app-development.qdoc b/doc/src/qtquick/qtquick-app-development.qdoc index 61caacd9a81..a9a152e8ce1 100644 --- a/doc/src/qtquick/qtquick-app-development.qdoc +++ b/doc/src/qtquick/qtquick-app-development.qdoc @@ -31,67 +31,40 @@ \title Developing Qt Quick Applications - You can either create Qt Quick projects from scratch or import existing - projects to \QC. - - You can use the code editor (\l{Working in Edit Mode}{Edit mode}) or the - visual editor (\l{Using Qt Quick Designer}{Design mode}) to develop Qt Quick - applications. - - Typically, application development proceeds as follows: - - \table - \row - \li \inlineimage creator_createproject.png - \li \inlineimage creator_createcomponents.png - \li \inlineimage creator_createscreen.png - \row - \li \l {Creating Qt Quick Projects}{Create or import projects.} - \li \l {Creating Components}{Create components.} - \li \l {Creating Screens}{Create screens.} - \row - \li \inlineimage creator_createanimation.png - \li \inlineimage creator_createuserinter.png - \li \inlineimage creator_createcode.png - \row - \li \l {Animating Screens}{Add animation to screens.} - \li \l {Adding User Interaction Methods} - {Add user interaction methods.} - \li \l {Implementing Application Logic} - {Implement the application logic.} - \endtable - - \section1 Related Topics - \list + + \li \l {Creating Qt Quick Projects} + + You can either create Qt Quick projects from scratch or import + existing projects to \QC. \li \l {Using Qt Quick Designer} - \li \l {Creating Buttons} - \li \l {Creating Scalable Buttons and Borders} + + You can use the code editor (Edit mode) or the visual editor (Design + mode) to develop Qt Quick applications. + + \li \l {Creating Components} + + You can use predefined QML types to create components or use a set + of Qt Quick Controls for creating classic desktop-style user + interfaces using Qt Quick 2.1 (available since Qt 5.1). + \li \l {Creating Screens} + + You can use predefined QML types, Qt Quick Controls, and your own + components to create screens. You can use states and transitions to + navigate between screens. \li \l {Exporting Designs from Graphics Software} + + You can export designs from graphics software, such as Adobe + Photoshop and GIMP, to QML files. You can then edit QML files in + \QC. \li \l {Using QML Modules with Plugins} + QML modules may use plugins to expose components defined in C++ to + QML applications. \QC cannot load the plugins to determine the + details of the contained components, and therefore, the modules must + provide extra type information for code completion and the semantic + checks to work correctly. + \endlist */ - - -/*! - - \contentspage index.html - \previouspage quick-export-to-qml.html - \page quick-application-logic.html - \nextpage creator-qml-modules-with-plugins.html - - \title Implementing Application Logic - - A user interface is only a part of an application, and not really useful by itself. - You can use Qt or JavaScript to implement the application logic. For more information on - using JavaScript, see - \l{http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-topic.html} - {Integrating QML and JavaScript}. - - For an example of how to use JavaScript to develop a game, see the - \l{http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html} - {QML Advanced Tutorial}. - - */ diff --git a/doc/src/qtquick/qtquick-exporting-qml.qdoc b/doc/src/qtquick/qtquick-exporting-qml.qdoc index 010b91ef52f..9244df48d2d 100644 --- a/doc/src/qtquick/qtquick-exporting-qml.qdoc +++ b/doc/src/qtquick/qtquick-exporting-qml.qdoc @@ -25,9 +25,9 @@ /*! \contentspage index.html - \previouspage quick-user-interaction.html + \previouspage quick-screens.html \page quick-export-to-qml.html - \nextpage quick-application-logic.html + \nextpage creator-qml-modules-with-plugins.html \title Exporting Designs from Graphics Software diff --git a/doc/src/qtquick/qtquick-modules-with-plugins.qdoc b/doc/src/qtquick/qtquick-modules-with-plugins.qdoc index e28920cd6ea..7536b1cba2a 100644 --- a/doc/src/qtquick/qtquick-modules-with-plugins.qdoc +++ b/doc/src/qtquick/qtquick-modules-with-plugins.qdoc @@ -24,7 +24,7 @@ /*! \contentspage index.html - \previouspage quick-application-logic.html + \previouspage quick-export-to-qml.html \page creator-qml-modules-with-plugins.html \nextpage creator-using-qt-designer.html diff --git a/doc/src/qtquick/qtquick-screens.qdoc b/doc/src/qtquick/qtquick-screens.qdoc index e9b62f89d5f..86904ceaa78 100644 --- a/doc/src/qtquick/qtquick-screens.qdoc +++ b/doc/src/qtquick/qtquick-screens.qdoc @@ -27,7 +27,7 @@ \contentspage index.html \previouspage quick-scalable-image.html \page quick-screens.html - \nextpage quick-animations.html + \nextpage quick-export-to-qml.html \title Creating Screens @@ -183,17 +183,7 @@ \endlist -*/ - - -/*! - - \contentspage index.html - \previouspage quick-screens.html - \page quick-animations.html - \nextpage quick-user-interaction.html - - \title Animating Screens + \section1 Animating Screens To make movement between states smooth, you can specify transitions. You can use different types of animated transitions. For example, you can animate @@ -210,17 +200,7 @@ see \l{http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-transition.html} {Transition}. -*/ - - -/*! - - \contentspage index.html - \previouspage quick-animations.html - \page quick-user-interaction.html - \nextpage quick-export-to-qml.html - - \title Adding User Interaction Methods + \section1 Adding User Interaction Methods You can add the following basic interaction methods to scenes: @@ -242,4 +222,16 @@ \endlist + \section1 Implementing Application Logic + + A user interface is only a part of an application, and not really useful by itself. + You can use Qt or JavaScript to implement the application logic. For more information on + using JavaScript, see + \l{http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-topic.html} + {Integrating QML and JavaScript}. + + For an example of how to use JavaScript to develop a game, see the + \l{http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html} + {QML Advanced Tutorial}. + */ diff --git a/qbs/functions.js b/qbs/imports/QtcFunctions/functions.js similarity index 100% rename from qbs/functions.js rename to qbs/imports/QtcFunctions/functions.js diff --git a/src/libs/QtcLibrary.qbs b/qbs/imports/QtcLibrary.qbs similarity index 85% rename from src/libs/QtcLibrary.qbs rename to qbs/imports/QtcLibrary.qbs index 03ab3374d3a..f7272066fbf 100644 --- a/src/libs/QtcLibrary.qbs +++ b/qbs/imports/QtcLibrary.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../qbs/functions.js" as QtcFunctions +import QtcFunctions DynamicLibrary { Depends { name: "cpp" } @@ -22,11 +22,12 @@ DynamicLibrary { cpp.rpaths: qbs.targetOS.contains("osx") ? ["@loader_path/..", "@executable_path/.."] : ["$ORIGIN", "$ORIGIN/.."] - cpp.includePaths: [path] + property string libIncludeBase: ".." // #include + cpp.includePaths: [libIncludeBase] Export { Depends { name: "cpp" } - cpp.includePaths: [path] + cpp.includePaths: [libIncludeBase] } Group { diff --git a/src/plugins/QtcPlugin.qbs b/qbs/imports/QtcPlugin.qbs similarity index 90% rename from src/plugins/QtcPlugin.qbs rename to qbs/imports/QtcPlugin.qbs index fd78073cde4..624d8bab7ee 100644 --- a/src/plugins/QtcPlugin.qbs +++ b/qbs/imports/QtcPlugin.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 import qbs.FileInfo -import "../../qbs/functions.js" as QtcFunctions +import QtcFunctions Product { type: ["dynamiclibrary", "pluginSpec"] @@ -33,7 +33,9 @@ Product { else if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc")) return ["/INCREMENTAL:NO"] // Speed up startup time when debugging with cdb } - cpp.includePaths: [path] + + property string pluginIncludeBase: ".." // #include + cpp.includePaths: [pluginIncludeBase] Group { name: "PluginSpec" @@ -55,6 +57,6 @@ Product { Export { Depends { name: "ExtensionSystem" } Depends { name: "cpp" } - cpp.includePaths: [path] + cpp.includePaths: [pluginIncludeBase] } } diff --git a/src/tools/QtcTool.qbs b/qbs/imports/QtcTool.qbs similarity index 100% rename from src/tools/QtcTool.qbs rename to qbs/imports/QtcTool.qbs diff --git a/qbs/pluginspec/pluginspec.qbs b/qbs/modules/pluginspec/pluginspec.qbs similarity index 100% rename from qbs/pluginspec/pluginspec.qbs rename to qbs/modules/pluginspec/pluginspec.qbs diff --git a/qtcreator.pro b/qtcreator.pro index f663e494b06..f2b368b8ce6 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -104,7 +104,7 @@ macx { copy_menu_nib_installer.commands = cp -R \"$$MENU_NIB\" \"$${INSTALLER_NAME}.app/Contents/Resources\" codesign_installer.commands = codesign -s \"$(SIGNING_IDENTITY)\" $(SIGNING_FLAGS) \"$${INSTALLER_NAME}.app\" - dmg_installer.commands = hdiutil create -srcfolder "$${INSTALLER_NAME}.app" -volname \"Qt Creator\" -format UDBZ "$${BASENAME}-installer.dmg" -ov -scrub -stretch 2g + dmg_installer.commands = hdiutil create -srcfolder "$${INSTALLER_NAME}.app" -volname \"Qt Creator\" -format UDBZ "$${BASENAME}-installer.dmg" -ov -scrub -size 1g -verbose QMAKE_EXTRA_TARGETS += codesign_installer dmg_installer copy_menu_nib_installer } diff --git a/qtcreator.qbs b/qtcreator.qbs index d5b2e4bef92..6228a1b53d6 100644 --- a/qtcreator.qbs +++ b/qtcreator.qbs @@ -52,7 +52,7 @@ Project { "QT_NO_CAST_TO_ASCII", "QT_NO_CAST_FROM_ASCII" ].concat(testsEnabled ? ["WITH_TESTS"] : []) - moduleSearchPaths: "qbs" + qbsSearchPaths: "qbs" references: [ "src/src.qbs", diff --git a/scripts/makedmg.sh b/scripts/makedmg.sh index 5c4f69f3a6f..15c6492f47a 100755 --- a/scripts/makedmg.sh +++ b/scripts/makedmg.sh @@ -12,7 +12,9 @@ cp -a "${sourceFolder}/" "${intermediateFolder}" ln -s /Applications "${intermediateFolder}" cp "$(dirname "${BASH_SOURCE[0]}")/../LICENSE.LGPL" "${intermediateFolder}/LICENSE_LGPL.txt" echo Creating image... -hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 2g +hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -size 1g -verbose +# make sure that the image is umounted etc +sleep 4 # clean up rm -rf "${intermediateFolder}" diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml index db214fd5c1a..c25f41639f8 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml @@ -44,10 +44,10 @@ import HelperWidgets 2.0 Row { id: alignmentHorizontalButtons - Rectangle { + RoundedPanel { width: 14 height: parent.height - color: "gray" + roundLeft: true ExtendedFunctionButton { anchors.verticalCenter: parent.verticalCenter backendValue: alignmentHorizontalButtons.backendValue @@ -106,6 +106,7 @@ Row { exclusive: true ButtonRowButton { + roundLeftButton: false iconSource: blueHighlight ? "images/alignmentleft-h-icon.png" : "images/alignmentleft-icon.png" onClicked: { if (checked) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml index 94d62580db5..25a398bda96 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml @@ -44,10 +44,11 @@ import HelperWidgets 2.0 Row { id: alignmentVerticalButtons - Rectangle { + RoundedPanel { width: 14 height: parent.height - color: "gray" + roundLeft: true + ExtendedFunctionButton { anchors.verticalCenter: parent.verticalCenter backendValue: alignmentVerticalButtons.backendValue @@ -106,6 +107,7 @@ Row { exclusive: true ButtonRowButton { + roundLeftButton: false iconSource: blueHighlight ? "images/alignmenttop-h-icon.png" : "images/alignmenttop-icon.png" onClicked: { if (checked) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml index 8a378a91eb1..7128cdbe905 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml @@ -99,6 +99,6 @@ ButtonRowButton { ExtendedFunctionButton { backendValue: boolButtonRowButton.backendValue x: 0 - y: 2 + y: 4 } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml index c74a195498f..5bf7df9b041 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml @@ -35,12 +35,14 @@ Item { id: buttonRowButton property bool checked: false + property bool roundLeftButton: true + property alias iconSource: image.source signal clicked() - width: 20 + leftPadding - height: 20 + width: 24 + leftPadding + height: 24 property int leftPadding: 0 @@ -52,9 +54,33 @@ Item { return -1; } - Rectangle { - color: checked ? "black" : "gray" + function isFirst() { + return index() === 0; + } + + function isLast() { + return index() === (parent.children.length - 1); + } + + RoundedPanel { + roundLeft: isFirst() && roundLeftButton + roundRight: isLast() + anchors.fill: parent + visible: checked + + gradient: Gradient { + GradientStop {color: '#444' ; position: 0} + GradientStop {color: '#333' ; position: 1} + } + } + + RoundedPanel { + roundLeft: isFirst() + roundRight: isLast() + + anchors.fill: parent + visible: !checked } Image { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml index c8db251dd59..6c81e0ac43f 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml @@ -28,7 +28,7 @@ ****************************************************************************/ import QtQuick 2.1 -import QtQuick.Controls 1.0 +import QtQuick.Controls 1.0 as Controls Item { id: colorButton @@ -271,6 +271,9 @@ Item { Label { text: "H:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { id: hueSlider2 @@ -289,9 +292,12 @@ Item { Row { z: 2 spacing: 4 - Label { + Controls.Label { text: "S:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { @@ -311,9 +317,12 @@ Item { Row { z: 1 spacing: 4 - Label { + Controls.Label { text: "L:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { id: lightnessSlider @@ -332,9 +341,12 @@ Item { Row { z: 0 spacing: 4 - Label { + Controls.Label { text: "A:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { @@ -348,7 +360,6 @@ Item { if (colorButton.alpha !== value) colorButton.alpha = value } - } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml index 390bb699a2a..1534cbdfd3e 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml @@ -29,9 +29,11 @@ import QtQuick 2.1 import QtQuick.Controls 1.1 as Controls +import QtQuick.Controls.Styles 1.1 Controls.ComboBox { id: comboBox + property variant backendValue QtObject { @@ -46,7 +48,6 @@ Controls.ComboBox { backendValue.value = currentText; } - onFocusChanged: { if (focus) { transaction.start(); @@ -55,5 +56,6 @@ Controls.ComboBox { } } - + style: CustomComboBoxStyle { + } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml new file mode 100644 index 00000000000..d522f8bfed0 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 1.1 as Controls +import QtQuick.Controls.Styles 1.1 + +ComboBoxStyle { + property color borderColor: "#222" + property color highlightColor: "orange" + property color textColor: "#eee" + + background: Item { + implicitWidth: 100 + implicitHeight: 25 + + RoundedPanel { + anchors.fill: parent + roundLeft: true + roundRight: true + visible: !control.pressed + } + + RoundedPanel { + gradient: Gradient { + GradientStop {color: '#444' ; position: 0} + GradientStop {color: '#333' ; position: 1} + } + anchors.fill: parent + roundLeft: true + roundRight: true + visible: control.pressed + } + + Rectangle { + border.color: highlightColor + anchors.fill: parent + anchors.margins: -1 + color: "transparent" + radius: 4 + opacity: 0.3 + visible: control.activeFocus + } + Image { + id: imageItem + source: "images/down-arrow.png" + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: 8 + opacity: control.enabled ? 0.7 : 0.5 + } + } + + label: Item { + implicitWidth: textitem.implicitWidth + 20 + Text { + id: textitem + anchors.left: parent.left + anchors.leftMargin: 4 + anchors.verticalCenter: parent.verticalCenter + text: control.currentText + renderType: Text.NativeRendering + color: textColor + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml new file mode 100644 index 00000000000..1e11856a227 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 1.1 as Controls +import QtQuick.Controls.Styles 1.1 + +SpinBoxStyle { + + selectionColor: spinBox.textColor + selectedTextColor: "black" + textColor: spinBox.textColor + padding.top: 3 + padding.bottom: 1 + + incrementControl: Item { + implicitWidth: 14 + implicitHeight: parent.height/2 + opacity: styleData.upEnabled ? styleData.upPressed ? 0.5 : 1 : 0.5 + Image { + source: "images/up-arrow.png" + anchors.centerIn: parent + anchors.verticalCenterOffset: 2 + anchors.horizontalCenterOffset: -4 + } + } + + decrementControl: Item { + implicitWidth: 14 + implicitHeight: parent.height/2 + opacity: styleData.downEnabled ? styleData.downPressed ? 0.5 : 1 : 0.5 + Image { + source: "images/down-arrow.png" + anchors.centerIn: parent + anchors.verticalCenterOffset: -1 + anchors.horizontalCenterOffset: -4 + } + } + + background: Rectangle { + implicitWidth: Math.max(60, styleData.contentWidth) + implicitHeight: 23 + border.color: borderColor + radius: 3 + gradient: Gradient { + GradientStop {color: "#2c2c2c" ; position: 0} + GradientStop {color: "#343434" ; position: 0.15} + GradientStop {color: "#373737" ; position: 1} + } + Rectangle { + border.color: highlightColor + anchors.fill: parent + anchors.margins: -1 + color: "transparent" + radius: 4 + opacity: 0.3 + visible: control.activeFocus + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FlickableSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FlickableSection.qml new file mode 100644 index 00000000000..90aa27dff56 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FlickableSection.qml @@ -0,0 +1,177 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Quick Controls module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Flickable") + + SectionLayout { + Label { + text: qsTr("Content size") + } + + SecondColumnLayout { + + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.contentWidth + minimumValue: 0 + maximumValue: 8000 + } + + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.contentHeight + minimumValue: 0 + maximumValue: 8000 + + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Flick direction") + } + + SecondColumnLayout { + ComboBox { + backendValue: backendValues.flickableDirection + model: ["AutoFlickDirection", "HorizontalFlick", "VerticalFlick", "HorizontalAndVerticalFlick"] + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Behavior") + toolTip: qsTr("Bounds behavior") + } + + SecondColumnLayout { + ComboBox { + backendValue: backendValues.boundsBehavior + model: ["StopAtBounds", "DragOverBounds", "DragAndOvershootBounds"] + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Behavior") + toolTip: qsTr("Bounds behavior") + } + + SecondColumnLayout { + ComboBox { + backendValue: backendValues.boundsBehavior + model: ["StopAtBounds", "DragOverBounds", "DragAndOvershootBounds"] + } + + ExpandingSpacer { + } + } + + Label { + text:qsTr("Interactive") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.interactive + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Max. velocity") + toolTip: qsTr("Maximum flick velocity") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.maximumFlickVelocity + minimumValue: 0 + maximumValue: 8000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Deceleration") + toolTip: qsTr("Flick deceleration") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.flickDeceleration + minimumValue: 0 + maximumValue: 8000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml index 4d5c2f791af..96a8b64f58b 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml @@ -119,6 +119,10 @@ Section { } } + + style: CustomComboBoxStyle { + } + } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml index 1a80cbd38ba..7da1bac7ef2 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml @@ -34,6 +34,8 @@ import QtQuick.Layouts 1.0 Controls.Label { id: label + property string toolTip: "" + width: parent.width < 300 ? 80 : Math.min(140, parent.width - 220) color: "#eee" elide: Text.ElideRight diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml new file mode 100644 index 00000000000..992ff27bf20 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Quick Controls module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 1.0 as Controls +import QtQuick.Layouts 1.0 + +Rectangle { + + property bool roundLeft: false + property bool roundRight: false + + + radius: roundLeft || roundRight ? 4 : 0 + gradient: Gradient { + GradientStop {color: '#555' ; position: 0} + GradientStop {color: '#444' ; position: 1} + } + + border.width: roundLeft || roundRight ? 1 : 0 + border.color: roundLeft ? "#7f7f7f" : "#2e2e2e" + + Rectangle { + gradient: parent.gradient + anchors.fill: parent + visible: roundLeft + anchors.leftMargin: 10 + anchors.topMargin: 1 + anchors.bottomMargin: 1 + } + + Rectangle { + gradient: parent.gradient + anchors.fill: parent + visible: roundRight + anchors.rightMargin: 10 + anchors.topMargin: 1 + anchors.bottomMargin: 1 + } + + Rectangle { + color: "#7f7f7f" + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + height: 1 + anchors.leftMargin: roundLeft ? 3 : 0 + anchors.rightMargin: roundRight ? 3 : 0 + } + + Rectangle { + color: "#2e2e2e" + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + height: 1 + anchors.leftMargin: roundLeft ? 2 : 0 + anchors.rightMargin: roundRight ? 2 : 0 + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml index 7b3c20a395b..a36f9acf9a3 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml @@ -34,6 +34,10 @@ SpinBox { id: spinBox width: 76 + property color borderColor: "#222" + property color highlightColor: "orange" + property color textColor: "#eee" + function showSlider() { timer.stop() timer2.start() @@ -106,4 +110,8 @@ SpinBox { slider.opacity = 0; } } + + style: CustomSpinBoxStyle { + + } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml index a093a6603ed..6e5f6c06db5 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml @@ -90,57 +90,6 @@ Controls.SpinBox { } } - style: SpinBoxStyle { - - selectionColor: spinBox.textColor - selectedTextColor: "black" - textColor: spinBox.textColor - padding.top: 3 - padding.bottom: 1 - - incrementControl: Item { - implicitWidth: 14 - implicitHeight: parent.height/2 - opacity: styleData.upEnabled ? styleData.upPressed ? 0.5 : 1 : 0.5 - Image { - source: "images/up-arrow.png" - anchors.centerIn: parent - anchors.verticalCenterOffset: 2 - anchors.horizontalCenterOffset: -4 - } - } - - decrementControl: Item { - implicitWidth: 14 - implicitHeight: parent.height/2 - opacity: styleData.downEnabled ? styleData.downPressed ? 0.5 : 1 : 0.5 - Image { - source: "images/down-arrow.png" - anchors.centerIn: parent - anchors.verticalCenterOffset: -1 - anchors.horizontalCenterOffset: -4 - } - } - - background: Rectangle { - implicitWidth: Math.max(60, styleData.contentWidth) - implicitHeight: 23 - border.color: borderColor - radius: 3 - gradient: Gradient { - GradientStop {color: "#2c2c2c" ; position: 0} - GradientStop {color: "#343434" ; position: 0.15} - GradientStop {color: "#373737" ; position: 1} - } - Rectangle { - border.color: highlightColor - anchors.fill: parent - anchors.margins: -1 - color: "transparent" - radius: 4 - opacity: 0.3 - visible: control.activeFocus - } - } + style: CustomSpinBoxStyle { } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir index c58945acbb6..ec6e3d0a8fa 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir @@ -29,3 +29,4 @@ AligmentHorizontalButtons 2.0 AligmentHorizontalButtons.qml AligmentVerticalButtons 2.0 AligmentVerticalButtons.qml StandardTextSection 2.0 StandardTextSection.qml FontSection 2.0 FontSection.qml +FlickableSection 2.0 FlickableSection.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml index d90957ecef8..2784bb7fa00 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml @@ -34,13 +34,13 @@ import QtQuick.Layouts 1.0 Section { anchors.left: parent.left anchors.right: parent.right - caption: "Advanced" + caption: qsTr("Advanced") SectionLayout { rows: 3 Label { - text: "Scale" + text: qsTr("Scale") } SecondColumnLayout { @@ -57,7 +57,7 @@ Section { } } Label { - text: "Rotation" + text: qsTr("Rotation") } SecondColumnLayout { SpinBox { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml new file mode 100644 index 00000000000..f87ec5d9ded --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml @@ -0,0 +1,198 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Border Image") + + SectionLayout { + Label { + text: qsTr("Source") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.source + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Left") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_left + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Right") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_right + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Top") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_top + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Bottom") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_bottom + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Horizontal Fill mode") + } + + SecondColumnLayout { + ComboBox { + model: ["Stretch", "Repeat", "Round"] + backendValue: backendValues.horizontalTileMode + implicitWidth: 180 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Vertical Fill mode") + } + + SecondColumnLayout { + ComboBox { + model: ["Stretch", "Repeat", "Round"] + backendValue: backendValues.verticalTileMode + implicitWidth: 180 + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Source size") + } + + SecondColumnLayout { + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_width + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + Label { + text: "H" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_height + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColumnSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColumnSpecifics.qml new file mode 100644 index 00000000000..c8ee80a4d46 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColumnSpecifics.qml @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Column") + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlickableSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlickableSpecifics.qml new file mode 100644 index 00000000000..020c8d39a4a --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlickableSpecifics.qml @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + FlickableSection { + anchors.left: parent.left + anchors.right: parent.right + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlipableSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlipableSpecifics.qml new file mode 100644 index 00000000000..90f2c84fc4e --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlipableSpecifics.qml @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Flipable") + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlowSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlowSpecifics.qml new file mode 100644 index 00000000000..57f640cfc02 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlowSpecifics.qml @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Flow") + + SectionLayout { + Label { + text: qsTr("Flow") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "TopToBottom"] + backendValue: backendValues.flow + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml index 15636eddfe8..d174be3bdc9 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml @@ -43,7 +43,7 @@ import HelperWidgets 2.0 import QtQuick.Layouts 1.0 Section { - caption: "Geometry" + caption: qsTr("Geometry") SectionLayout { columnSpacing: 6 @@ -51,7 +51,7 @@ Section { rows: 2 Label { - text: "Position" + text: qsTr("Position") } SecondColumnLayout { @@ -81,7 +81,7 @@ Section { ExpandingSpacer{} } Label { - text: "Size" + text: qsTr("Size") } SecondColumnLayout { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridSpecifics.qml new file mode 100644 index 00000000000..c4a13f597f9 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridSpecifics.qml @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Grid") + + + SectionLayout { + + Label { + text: qsTr("Columns") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.columns + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Rows") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.rows + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Flow") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "TopToBottom"] + backendValue: backendValues.flow + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml new file mode 100644 index 00000000000..cf13bf93bdd --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml @@ -0,0 +1,281 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + FlickableSection { + anchors.left: parent.left + anchors.right: parent.right + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Grid View") + + SectionLayout { + + Label { + text: qsTr("Cache") + toolTip: qsTr("Cache buffer") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.cacheBuffer + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Cell Size") + } + + SecondColumnLayout { + + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.cellWidth + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + Label { + text: "H" + width: 12 + } + + SpinBox { + backendValue: backendValues.cellHeight + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Flow") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "TopToBottom"] + backendValue: backendValues.flow + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Navigation wraps") + toolTip: qsTr("Determines whether the grid wraps key navigation.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.keyNavigationWraps + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Snap mode") + toolTip: qsTr("Determines how the view scrolling will settle following a drag or flick.") + } + + SecondColumnLayout { + ComboBox { + model: ["NoSnap", "SnapToRow", "SnapOneRow"] + backendValue: backendValues.snapMode + } + + ExpandingSpacer { + + } + } + + } + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Grid View Highlight") + + SectionLayout { + + Label { + text: qsTr("Range") + toolTip: qsTr("Highlight range") + } + + SecondColumnLayout { + ComboBox { + model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"] + backendValue: backendValues.highlightRangeMode + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Move duration") + toolTip: qsTr("Move animation duration of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveDuration + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Move speed") + toolTip: qsTr("Move animation speed of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveSpeed + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred begin") + toolTip: qsTr("Preferred highlight begin - must be smaller than Preferred end.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightBegin + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred end") + toolTip: qsTr("Preferred highlight end - must be larger than Preferred begin.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightEnd + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Follows current") + toolTip: qsTr("Determines whether the highlight is managed by the view.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.highlightFollowsCurrentItem + } + + ExpandingSpacer { + + } + } + + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ImageSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ImageSpecifics.qml new file mode 100644 index 00000000000..3fba1ff36b6 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ImageSpecifics.qml @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Image") + + SectionLayout { + Label { + text: qsTr("Source") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.source + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Fill mode") + } + + SecondColumnLayout { + ComboBox { + model: ["Stretch", "PreserveAspectFit", "PreserveAspectCrop", "Tile", "TileVertically", "TileHorizontally"] + backendValue: backendValues.fillMode + implicitWidth: 180 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Source size") + } + + SecondColumnLayout { + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_width + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + Label { + text: "H" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_height + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml index c2a353dfce8..f201ebf8fb8 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml @@ -43,14 +43,14 @@ Rectangle { Column { width: itemPane.width Section { - caption: "Type" + caption: qsTr("Type") anchors.left: parent.left anchors.right: parent.right SectionLayout { Label { - text: "Type" + text: qsTr("Type") } @@ -60,7 +60,7 @@ Rectangle { } Label { - text: "id" + text: qsTr("id") } @@ -69,7 +69,7 @@ Rectangle { id: lineEdit enabled: isBaseState backendValue: backendValues.id - placeholderText: "id" + placeholderText: qsTr("id") text: backendValues.id.value Layout.fillWidth: true Layout.maximumWidth: 320 @@ -93,18 +93,18 @@ Rectangle { anchors.left: parent.left anchors.right: parent.right - caption: "Visibilty" + caption: qsTr("Visibilty") SectionLayout { rows: 2 Label { - text: "Visibilty" + text: qsTr("Visibilty") } SecondColumnLayout { CheckBox { - text: "Is Visible" + text: qsTr("Is Visible") backendValue: backendValues.visible } @@ -115,7 +115,7 @@ Rectangle { } CheckBox { - text: "Clip" + text: qsTr("Clip") backendValue: backendValues.clip } Item { @@ -124,7 +124,7 @@ Rectangle { } Label { - text: "Opacity" + text: qsTr("Opacity") } SecondColumnLayout { @@ -171,7 +171,7 @@ Rectangle { } Tab { - title: "Layout" + title: qsTr("Layout") component: Column { anchors.left: parent.left anchors.right: parent.right @@ -183,7 +183,7 @@ Rectangle { Tab { anchors.fill: parent - title: "Advanced" + title: qsTr("Advanced") component: Column { anchors.left: parent.left anchors.right: parent.right diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml index c18b721ea8b..b85d8b731fd 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml @@ -45,12 +45,12 @@ import QtQuick.Layouts 1.0 Section { anchors.left: parent.left anchors.right: parent.right - caption: "Layout" + caption: qsTr("Layout") ColumnLayout { width: parent.width Label { - text: "Anchors" + text: qsTr("Anchors") } AnchorButtons { @@ -74,7 +74,9 @@ Section { Text { - text: "Target" + text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight } ComboBox { @@ -84,6 +86,8 @@ Section { Text { text: "Margin" + color: "#eee" + elide: Text.ElideRight } RowLayout { @@ -128,7 +132,9 @@ Section { Text { - text: "Target" + text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight } ComboBox { @@ -137,7 +143,9 @@ Section { Text { - text: "Margin" + text: qsTr("Margin") + color: "#eee" + elide: Text.ElideRight } RowLayout { @@ -182,7 +190,10 @@ Section { Text { - text: "Target" + text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight + } ComboBox { @@ -191,7 +202,10 @@ Section { Text { - text: "Margin" + text: qsTr("Margin") + color: "#eee" + elide: Text.ElideRight + } RowLayout { @@ -236,7 +250,10 @@ Section { Text { - text: "Target" + text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight + } ComboBox { @@ -245,7 +262,10 @@ Section { Text { - text: "Margin" + text: qsTr("Margin") + color: "#eee" + elide: Text.ElideRight + } RowLayout { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml new file mode 100644 index 00000000000..c72364f0dfd --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml @@ -0,0 +1,282 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + FlickableSection { + anchors.left: parent.left + anchors.right: parent.right + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("List View") + + SectionLayout { + + Label { + text: qsTr("Cache") + toolTip: qsTr("Cache buffer") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.cacheBuffer + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Navigation wraps") + toolTip: qsTr("Determines whether the grid wraps key navigation.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.keyNavigationWraps + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Orientation") + toolTip: qsTr("Orientation of the list.") + } + + SecondColumnLayout { + ComboBox { + model: ["Horizontal", "Vertical"] + backendValue: backendValues.orientation + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Snap mode") + toolTip: qsTr("Determines how the view scrolling will settle following a drag or flick.") + } + + SecondColumnLayout { + ComboBox { + model: ["NoSnap", "SnapToRow", "SnapOneRow"] + backendValue: backendValues.snapMode + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + toolTip: qsTr("Spacing between items.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + } + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("List View Highlight") + + SectionLayout { + + Label { + text: qsTr("Range") + toolTip: qsTr("Highlight range") + } + + SecondColumnLayout { + ComboBox { + model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"] + backendValue: backendValues.highlightRangeMode + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Move duration") + toolTip: qsTr("Move animation duration of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveDuration + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Move speed") + toolTip: qsTr("Move animation speed of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveSpeed + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Resize duration") + toolTip: qsTr("Resize animation duration of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightResizeDuration + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred begin") + toolTip: qsTr("Preferred highlight begin - must be smaller than Preferred end.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightBegin + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred end") + toolTip: qsTr("Preferred highlight end - must be larger than Preferred begin.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightEnd + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Follows current") + toolTip: qsTr("Determines whether the highlight is managed by the view.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.highlightFollowsCurrentItem + } + + ExpandingSpacer { + + } + } + + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml new file mode 100644 index 00000000000..153c2cf49ed --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Mouse Area") + + SectionLayout { + Label { + text: qsTr("Enabled") + toolTip: qsTr("This property holds whether the item accepts mouse events.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.enabled + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Hover Enabled") + toolTip: qsTr("This property holds whether hover events are handled.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.hoverEnabled + } + + ExpandingSpacer { + } + } + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml index 7ac6bdbbf9b..04e89619ec3 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml @@ -71,7 +71,7 @@ Column { SectionLayout { rows: 2 Label { - text: "Border" + text: qsTr("Border") } SecondColumnLayout { SpinBox { @@ -84,7 +84,7 @@ Column { } } Label { - text: "Radius" + text: qsTr("Radius") } SecondColumnLayout { SpinBox { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml new file mode 100644 index 00000000000..e26f165a43f --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Row") + + SectionLayout { + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml index 056c5f7d96a..bc471cc8ce0 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml @@ -43,7 +43,7 @@ Column { ColorEditor { caption: qsTr(" Text Color") backendendValue: backendValues.color - supportGradient: true + supportGradient: false } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml index 84c6c134f02..e05a850c989 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml @@ -43,7 +43,7 @@ Column { ColorEditor { caption: qsTr(" Text Color") backendendValue: backendValues.color - supportGradient: true + supportGradient: false } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml index bb28928324f..d2d6688b982 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml @@ -31,7 +31,6 @@ import QtQuick 2.1 import HelperWidgets 2.0 import QtQuick.Layouts 1.0 - Column { anchors.left: parent.left anchors.right: parent.right @@ -44,7 +43,7 @@ Column { ColorEditor { caption: qsTr(" Text Color") backendendValue: backendValues.color - supportGradient: true + supportGradient: false } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml index a3423ae9268..15f6a80781e 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml @@ -28,15 +28,25 @@ ****************************************************************************/ import QtQuick 2.1 +import HelperWidgets 2.0 Rectangle { - width: 100 - height: 200 - color: "#ff2323" + id: itemPane + width: 320 + height: 400 + color: "#404040" - Text { - id: test - text: "empty" - anchors.fill: parent + Section { + anchors.left: parent.left + anchors.right: parent.right + + SectionLayout { + + Label { + id: test + text: qsTr("None or multiple items selected."); + anchors.fill: parent + } + } } } diff --git a/share/qtcreator/templates/wizards/bb-guiapp/bar-descriptor.xml b/share/qtcreator/templates/wizards/bb-guiapp/bar-descriptor.xml deleted file mode 100644 index 8ad05ef4562..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/bar-descriptor.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - com.example.%ProjectName% - %ProjectName% - 1.0.0 - DESCRIPTION - - - none - false - true - landscape - - - - - - - run_native - %ProjectName% - diff --git a/share/qtcreator/templates/wizards/bb-guiapp/icon.png b/share/qtcreator/templates/wizards/bb-guiapp/icon.png deleted file mode 100644 index 5260eb64d91..00000000000 Binary files a/share/qtcreator/templates/wizards/bb-guiapp/icon.png and /dev/null differ diff --git a/share/qtcreator/templates/wizards/bb-guiapp/main.cpp b/share/qtcreator/templates/wizards/bb-guiapp/main.cpp deleted file mode 100644 index 524ad5b6338..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include "mainwidget.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - // Set default BB10 style. You can also use bb10dark style - a.setStyle(QLatin1String("bb10bright")); - - MainWidget w; - w.showMaximized(); - - return a.exec(); -} diff --git a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.cpp b/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.cpp deleted file mode 100644 index 4c353088e41..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "mainwidget.h" -#include "ui_mainwidget.h" - -MainWidget::MainWidget(QWidget *parent) : - QWidget(parent), - ui(new Ui::MainWidget) -{ - ui->setupUi(this); -} - -MainWidget::~MainWidget() -{ - delete ui; -} diff --git a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.h b/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.h deleted file mode 100644 index bc6b7faf775..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef MAINWIDGET_H -#define MAINWIDGET_H - -#include - -namespace Ui { -class MainWidget; -} - -class MainWidget : public QWidget -{ - Q_OBJECT - -public: - explicit MainWidget(QWidget *parent = 0); - ~MainWidget(); - -private: - Ui::MainWidget *ui; -}; - -#endif // MAINWIDGET_H diff --git a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.ui b/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.ui deleted file mode 100644 index a3c38c7a8a4..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.ui +++ /dev/null @@ -1,31 +0,0 @@ - - - MainWidget - - - - 0 - 0 - 400 - 300 - - - - Form - - - - - - Hello World - - - Qt::AlignCenter - - - - - - - - diff --git a/share/qtcreator/templates/wizards/bb-guiapp/project.pro b/share/qtcreator/templates/wizards/bb-guiapp/project.pro deleted file mode 100644 index d4b4aedb639..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/project.pro +++ /dev/null @@ -1,7 +0,0 @@ -TEMPLATE = app - -SOURCES += main.cpp mainwidget.cpp -HEADERS += mainwidget.h -FORMS += mainwidget.ui - -OTHER_FILES += bar-descriptor.xml diff --git a/share/qtcreator/templates/wizards/bb-guiapp/wizard.xml b/share/qtcreator/templates/wizards/bb-guiapp/wizard.xml deleted file mode 100644 index 08fd91ea22b..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/wizard.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - icon.png - BlackBerry Qt Gui Application; - Creates a Qt Gui application for BlackBerry. - - - - - - - - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/bar-descriptor.xml b/share/qtcreator/templates/wizards/bb-qt5-guiapp/bar-descriptor.xml deleted file mode 100644 index b9825ddac99..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/bar-descriptor.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - com.example.%ProjectName% - %ProjectName% - 1.0.0 - DESCRIPTION - PUBLISHER - COPYRIGHT - - - none - false - true - landscape - - - - - - - -platform - qnx - - run_native - - %ProjectName% - - - lib - plugins - imports - - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/icon.png b/share/qtcreator/templates/wizards/bb-qt5-guiapp/icon.png deleted file mode 100644 index 5260eb64d91..00000000000 Binary files a/share/qtcreator/templates/wizards/bb-qt5-guiapp/icon.png and /dev/null differ diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/main.cpp b/share/qtcreator/templates/wizards/bb-qt5-guiapp/main.cpp deleted file mode 100644 index 68ab283ccfd..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include "mainwidget.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - // Set default BB10 style. You can also use bb10dark style - a.setStyle(QLatin1String("bb10bright")); - - MainWidget w; - w.showFullScreen(); - - - return a.exec(); -} diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.cpp b/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.cpp deleted file mode 100644 index 4c353088e41..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "mainwidget.h" -#include "ui_mainwidget.h" - -MainWidget::MainWidget(QWidget *parent) : - QWidget(parent), - ui(new Ui::MainWidget) -{ - ui->setupUi(this); -} - -MainWidget::~MainWidget() -{ - delete ui; -} diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.h b/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.h deleted file mode 100644 index 9c17cff5fc6..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef MAINWIDGET_H -#define MAINWIDGET_H - -#include - -namespace Ui { -class MainWidget; -} - -class MainWidget : public QWidget -{ - Q_OBJECT - -public: - explicit MainWidget(QWidget *parent = 0); - ~MainWidget(); - -private: - Ui::MainWidget *ui; -}; - -#endif // MAINWIDGET_H diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.ui b/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.ui deleted file mode 100644 index a3c38c7a8a4..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.ui +++ /dev/null @@ -1,31 +0,0 @@ - - - MainWidget - - - - 0 - 0 - 400 - 300 - - - - Form - - - - - - Hello World - - - Qt::AlignCenter - - - - - - - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/project.pro b/share/qtcreator/templates/wizards/bb-qt5-guiapp/project.pro deleted file mode 100644 index 88835eca2cb..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/project.pro +++ /dev/null @@ -1,11 +0,0 @@ -TEMPLATE = app - -QT += widgets - -SOURCES += main.cpp mainwidget.cpp -HEADERS += mainwidget.h -FORMS += mainwidget.ui - -OTHER_FILES += bar-descriptor.xml - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/wizard.xml b/share/qtcreator/templates/wizards/bb-qt5-guiapp/wizard.xml deleted file mode 100644 index 92f8d4bff5d..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/wizard.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - icon.png - BlackBerry Qt 5 GUI Application; - Creates an experimental Qt 5 GUI application for BlackBerry 10. You need to provide your own build of Qt 5 for BlackBerry 10 since Qt 5 is not provided in the current BlackBerry 10 NDK and is not included in DevAlpha devices. - - - - - - - - - diff --git a/src/app/app.pro b/src/app/app.pro index 1242209065f..b7430651e74 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -10,7 +10,7 @@ SOURCES += main.cpp ../tools/qtcreatorcrashhandler/crashhandlersetup.cpp include(../rpath.pri) -LIBS *= -l$$qtLibraryName(ExtensionSystem) -l$$qtLibraryName(Aggregation) +LIBS *= -l$$qtLibraryName(ExtensionSystem) -l$$qtLibraryName(Aggregation) -l$$qtLibraryName(Utils) QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH) !isEmpty(QT_BREAKPAD_ROOT_PATH) { diff --git a/src/libs/3rdparty/cplusplus/Bind.cpp b/src/libs/3rdparty/cplusplus/Bind.cpp index 0defcc0a1f6..eb34bba3968 100644 --- a/src/libs/3rdparty/cplusplus/Bind.cpp +++ b/src/libs/3rdparty/cplusplus/Bind.cpp @@ -2002,6 +2002,8 @@ bool Bind::visit(QtPropertyDeclarationAST *ast) flags |= QtPropertyDeclaration::ReadFunction; } else if (name == "WRITE") { flags |= QtPropertyDeclaration::WriteFunction; + } else if (name == "MEMBER") { + flags |= QtPropertyDeclaration::MemberVariable; } else if (name == "RESET") { flags |= QtPropertyDeclaration::ResetFunction; } else if (name == "NOTIFY") { diff --git a/src/libs/3rdparty/cplusplus/Parser.cpp b/src/libs/3rdparty/cplusplus/Parser.cpp index b67920266fe..bf798038543 100644 --- a/src/libs/3rdparty/cplusplus/Parser.cpp +++ b/src/libs/3rdparty/cplusplus/Parser.cpp @@ -2138,16 +2138,17 @@ bool Parser::parseAccessDeclaration(DeclarationAST *&node) /* Q_PROPERTY(type name - READ getFunction - [WRITE setFunction] - [RESET resetFunction] - [NOTIFY notifySignal] - [DESIGNABLE bool] - [SCRIPTABLE bool] - [STORED bool] - [USER bool] - [CONSTANT] - [FINAL]) + (READ getFunction [WRITE setFunction] + | MEMBER memberName [(READ getFunction | WRITE setFunction)]) + [RESET resetFunction] + [NOTIFY notifySignal] + [REVISION int] + [DESIGNABLE bool] + [SCRIPTABLE bool] + [STORED bool] + [USER bool] + [CONSTANT] + [FINAL]) Note that "type" appears to be any valid type. So these are valid: Q_PROPERTY(const char *zoo READ zoo) @@ -2155,7 +2156,8 @@ bool Parser::parseAccessDeclaration(DeclarationAST *&node) Furthermore, the only restriction on the order of the items in between the parenthesis is that the type is the first parameter and the name comes after - the type. + the type. Especially, there seems to be no restriction on the READ/WRITE/MEMBER + order. */ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node) { @@ -2201,6 +2203,7 @@ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node) switch (peekAtQtContextKeyword()) { case Token_READ: case Token_WRITE: + case Token_MEMBER: case Token_RESET: case Token_NOTIFY: case Token_REVISION: diff --git a/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp b/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp index cc4fdff1f1e..87403aed14f 100644 --- a/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp +++ b/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp @@ -63,7 +63,20 @@ static inline int classify5(const char *s) { } static inline int classify6(const char *s) { - if (s[0] == 'N') { + if (s[0] == 'M') { + if (s[1] == 'E') { + if (s[2] == 'M') { + if (s[3] == 'B') { + if (s[4] == 'E') { + if (s[5] == 'R') { + return Token_MEMBER; + } + } + } + } + } + } + else if (s[0] == 'N') { if (s[1] == 'O') { if (s[2] == 'T') { if (s[3] == 'I') { diff --git a/src/libs/3rdparty/cplusplus/QtContextKeywords.h b/src/libs/3rdparty/cplusplus/QtContextKeywords.h index b84ccf6ffce..a7a1f1c3f8d 100644 --- a/src/libs/3rdparty/cplusplus/QtContextKeywords.h +++ b/src/libs/3rdparty/cplusplus/QtContextKeywords.h @@ -18,7 +18,8 @@ enum { Token_CONSTANT, Token_DESIGNABLE, Token_SCRIPTABLE, - Token_REVISION + Token_REVISION, + Token_MEMBER }; CPLUSPLUS_EXPORT int classifyQtContextKeyword(const char *s, int n); diff --git a/src/libs/3rdparty/cplusplus/Symbols.h b/src/libs/3rdparty/cplusplus/Symbols.h index b6a711b8f87..6551dc7616b 100644 --- a/src/libs/3rdparty/cplusplus/Symbols.h +++ b/src/libs/3rdparty/cplusplus/Symbols.h @@ -556,18 +556,19 @@ public: NoFlags = 0, ReadFunction = 1 << 0, WriteFunction = 1 << 1, - ResetFunction = 1 << 2, - NotifyFunction = 1 << 3, - DesignableFlag = 1 << 4, - DesignableFunction = 1 << 5, - ScriptableFlag = 1 << 6, - ScriptableFunction = 1 << 7, - StoredFlag = 1 << 8, - StoredFunction = 1 << 9, - UserFlag = 1 << 10, - UserFunction = 1 << 11, - ConstantFlag = 1 << 12, - FinalFlag = 1 << 13 + MemberVariable = 1 << 2, + ResetFunction = 1 << 3, + NotifyFunction = 1 << 4, + DesignableFlag = 1 << 5, + DesignableFunction = 1 << 6, + ScriptableFlag = 1 << 7, + ScriptableFunction = 1 << 8, + StoredFlag = 1 << 9, + StoredFunction = 1 << 10, + UserFlag = 1 << 11, + UserFunction = 1 << 12, + ConstantFlag = 1 << 13, + FinalFlag = 1 << 14 }; public: diff --git a/src/libs/aggregation/aggregation.qbs b/src/libs/aggregation/aggregation.qbs index 2c299fc4326..6c0e6e8d6b5 100644 --- a/src/libs/aggregation/aggregation.qbs +++ b/src/libs/aggregation/aggregation.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "Aggregation" diff --git a/src/libs/cplusplus/cplusplus.qbs b/src/libs/cplusplus/cplusplus.qbs index 9df7f897079..2331804a55f 100644 --- a/src/libs/cplusplus/cplusplus.qbs +++ b/src/libs/cplusplus/cplusplus.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "CPlusPlus" diff --git a/src/libs/extensionsystem/extensionsystem.qbs b/src/libs/extensionsystem/extensionsystem.qbs index 1762f978f21..9b654b0b036 100644 --- a/src/libs/extensionsystem/extensionsystem.qbs +++ b/src/libs/extensionsystem/extensionsystem.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "ExtensionSystem" diff --git a/src/libs/glsl/glsl.qbs b/src/libs/glsl/glsl.qbs index 7c8c0304e1d..4a9d6e41657 100644 --- a/src/libs/glsl/glsl.qbs +++ b/src/libs/glsl/glsl.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "GLSL" diff --git a/src/libs/languageutils/languageutils.qbs b/src/libs/languageutils/languageutils.qbs index 3f4a53e93c3..12326d2df86 100644 --- a/src/libs/languageutils/languageutils.qbs +++ b/src/libs/languageutils/languageutils.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "LanguageUtils" diff --git a/src/libs/qmldebug/qmldebug.qbs b/src/libs/qmldebug/qmldebug.qbs index 601c0e4c5d1..7181013a80e 100644 --- a/src/libs/qmldebug/qmldebug.qbs +++ b/src/libs/qmldebug/qmldebug.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QmlDebug" diff --git a/src/libs/qmleditorwidgets/qmleditorwidgets.qbs b/src/libs/qmleditorwidgets/qmleditorwidgets.qbs index 7bcb914945e..9c60cfb1828 100644 --- a/src/libs/qmleditorwidgets/qmleditorwidgets.qbs +++ b/src/libs/qmleditorwidgets/qmleditorwidgets.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QmlEditorWidgets" diff --git a/src/libs/qmljs/qmljs.qbs b/src/libs/qmljs/qmljs.qbs index 8df00b7ed4c..ae5334c4bbc 100644 --- a/src/libs/qmljs/qmljs.qbs +++ b/src/libs/qmljs/qmljs.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QmlJS" diff --git a/src/libs/ssh/ssh.qbs b/src/libs/ssh/ssh.qbs index 2b1949927ef..c8a0c5ef919 100644 --- a/src/libs/ssh/ssh.qbs +++ b/src/libs/ssh/ssh.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QtcSsh" diff --git a/src/libs/utils/buildablehelperlibrary.cpp b/src/libs/utils/buildablehelperlibrary.cpp index 492da529e43..6a54838f14f 100644 --- a/src/libs/utils/buildablehelperlibrary.cpp +++ b/src/libs/utils/buildablehelperlibrary.cpp @@ -44,6 +44,7 @@ bool BuildableHelperLibrary::isQtChooser(const QFileInfo &info) QString BuildableHelperLibrary::qtChooserToQmakePath(const QString &path) { + const char toolDir[] = "QTTOOLDIR=\""; QProcess proc; proc.start(path, QStringList(QLatin1String("-print-env"))); if (!proc.waitForStarted(1000)) @@ -51,10 +52,10 @@ QString BuildableHelperLibrary::qtChooserToQmakePath(const QString &path) if (!proc.waitForFinished(1000)) return QString(); QByteArray output = proc.readAllStandardOutput(); - int pos = output.indexOf("QTTOOLDIR="); + int pos = output.indexOf(toolDir); if (pos == -1) return QString(); - pos += strlen("QTTOOLDIR=\""); + pos += int(sizeof(toolDir)) - 1; int end = output.indexOf('\"', pos); if (end == -1) return QString(); diff --git a/src/libs/utils/filewizarddialog.cpp b/src/libs/utils/filewizarddialog.cpp index 483fb7e400e..d655d8822d0 100644 --- a/src/libs/utils/filewizarddialog.cpp +++ b/src/libs/utils/filewizarddialog.cpp @@ -30,8 +30,6 @@ #include "filewizarddialog.h" #include "filewizardpage.h" -#include "hostosinfo.h" - #include /*! @@ -49,18 +47,6 @@ FileWizardDialog::FileWizardDialog(QWidget *parent) : Wizard(parent), m_filePage(new FileWizardPage) { - setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); - setOption(QWizard::NoCancelButton, false); - setOption(QWizard::NoDefaultButton, false); - if (HostOsInfo::isMacHost()) { - setButtonLayout(QList() - << QWizard::CancelButton - << QWizard::Stretch - << QWizard::BackButton - << QWizard::NextButton - << QWizard::CommitButton - << QWizard::FinishButton); - } const int filePageId = addPage(m_filePage); wizardProgress()->item(filePageId)->setTitle(tr("Location")); connect(m_filePage, SIGNAL(activated()), button(QWizard::FinishButton), SLOT(animateClick())); diff --git a/src/libs/utils/process_ctrlc_stub.qbs b/src/libs/utils/process_ctrlc_stub.qbs index 141b04e9f3b..8f0a3f763c0 100644 --- a/src/libs/utils/process_ctrlc_stub.qbs +++ b/src/libs/utils/process_ctrlc_stub.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../tools/QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcreator_ctrlc_stub" diff --git a/src/libs/utils/process_stub.qbs b/src/libs/utils/process_stub.qbs index f0da7336b20..6f1a06310c1 100644 --- a/src/libs/utils/process_stub.qbs +++ b/src/libs/utils/process_stub.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../tools/QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcreator_process_stub" diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index f3b058936f1..c40db11a3eb 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "Utils" diff --git a/src/libs/utils/wizard.cpp b/src/libs/utils/wizard.cpp index 743c628de9b..dfe849ae07a 100644 --- a/src/libs/utils/wizard.cpp +++ b/src/libs/utils/wizard.cpp @@ -28,6 +28,7 @@ ****************************************************************************/ #include "wizard.h" +#include "hostosinfo.h" #include #include @@ -318,6 +319,20 @@ Wizard::Wizard(QWidget *parent, Qt::WindowFlags flags) : connect(this, SIGNAL(pageAdded(int)), this, SLOT(_q_pageAdded(int))); connect(this, SIGNAL(pageRemoved(int)), this, SLOT(_q_pageRemoved(int))); setSideWidget(new LinearProgressWidget(d_ptr->m_wizardProgress, this)); + setOption(QWizard::NoCancelButton, false); + setOption(QWizard::NoDefaultButton, false); + setOption(QWizard::NoBackButtonOnStartPage, true); + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + + if (Utils::HostOsInfo::isMacHost()) { + setButtonLayout(QList() + << QWizard::CancelButton + << QWizard::Stretch + << QWizard::BackButton + << QWizard::NextButton + << QWizard::CommitButton + << QWizard::FinishButton); + } } Wizard::~Wizard() diff --git a/src/libs/zeroconf/zeroconf.qbs b/src/libs/zeroconf/zeroconf.qbs index 02cc7f85623..d16f576b1b2 100644 --- a/src/libs/zeroconf/zeroconf.qbs +++ b/src/libs/zeroconf/zeroconf.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "zeroconf" diff --git a/src/plugins/0001-WelcomePage-fixes-for-the-filter-combobox-for-exampl.patch b/src/plugins/0001-WelcomePage-fixes-for-the-filter-combobox-for-exampl.patch deleted file mode 100644 index 9860746c239..00000000000 --- a/src/plugins/0001-WelcomePage-fixes-for-the-filter-combobox-for-exampl.patch +++ /dev/null @@ -1,144 +0,0 @@ -From d39debcd0e4ce78df47597cea7e27df1964a1820 Mon Sep 17 00:00:00 2001 -From: Thomas Hartmann -Date: Wed, 12 Jun 2013 15:43:47 +0200 -Subject: [PATCH] WelcomePage: fixes for the filter combobox for examples - -"All Versions" did not work correctly and just contributed to -confusion. So it is removed. Since we need a sensible default -setting we now search for the Qt with the highest version that has -examples and demos. - -Change-Id: I495252a99753ebe511b598c61a79bbb0cd293e40 ---- - src/plugins/qtsupport/exampleslistmodel.cpp | 73 ++++++++++++++++++++------- - 1 files changed, 54 insertions(+), 19 deletions(-) - -diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp -index baad189..d6603c1 100644 ---- a/src/plugins/qtsupport/exampleslistmodel.cpp -+++ b/src/plugins/qtsupport/exampleslistmodel.cpp -@@ -48,13 +48,13 @@ - namespace QtSupport { - namespace Internal { - --const int allQtVersionsId = -0xff; -+const int noQtVersionsId = -0xff; - static const char currentQtVersionFilterSettingsKeyC[] = "WelcomePageQtVersionFilter"; - - int uniqueQtVersionIdSetting() - { - QSettings *settings = Core::ICore::settings(); -- int id = settings->value(QLatin1String(currentQtVersionFilterSettingsKeyC), allQtVersionsId).toInt(); -+ int id = settings->value(QLatin1String(currentQtVersionFilterSettingsKeyC), noQtVersionsId).toInt(); - return id; - } - -@@ -77,6 +77,38 @@ public: - setRoleNames(roleNames); - } - -+ int findHightestQtVersion() -+ { -+ QtVersionManager *versionManager = QtVersionManager::instance(); -+ QList qtVersions = versionManager->validVersions(); -+ -+ BaseQtVersion *newVersion = 0; -+ -+ foreach (BaseQtVersion *version, qtVersions) { -+ -+ if (version->isValid() && version->hasDemos() && version->hasExamples()) { -+ if (!newVersion) { -+ newVersion = version; -+ } else { -+ if (version->qtVersion() > newVersion->qtVersion()) { -+ newVersion = version; -+ } else if (version->qtVersion() == newVersion->qtVersion() -+ && version->uniqueId() < newVersion->uniqueId()) { -+ newVersion = version; -+ } -+ } -+ } -+ } -+ -+ if (!newVersion && !qtVersions.isEmpty()) -+ newVersion = qtVersions.first(); -+ -+ if (!newVersion) -+ return noQtVersionsId; -+ -+ return newVersion->uniqueId(); -+ } -+ - void setupQtVersions() - { - beginResetModel(); -@@ -90,30 +122,33 @@ public: - if (defaultVersion && qtVersions.contains(defaultVersion)) - qtVersions.move(qtVersions.indexOf(defaultVersion), 0); - -- QStandardItem *newItem = new QStandardItem(); -- newItem->setData(tr("All Versions"), Qt::UserRole + 1); -- newItem->setData(allQtVersionsId, Qt::UserRole + 2); -- appendRow(newItem); -- - int qtVersionSetting = uniqueQtVersionIdSetting(); -- if (qtVersionSetting != allQtVersionsId) { -+ int newQtVersionSetting = noQtVersionsId; -+ if (qtVersionSetting != noQtVersionsId) { - //ensure that the unique Qt id is valid -- int newQtVersionSetting = allQtVersionsId; - foreach (BaseQtVersion *version, qtVersions) { -- if (version->uniqueId() == qtVersionSetting) -+ if (version->uniqueId() == qtVersionSetting) { - newQtVersionSetting = qtVersionSetting; -+ } - } -+ } - -- if (newQtVersionSetting != qtVersionSetting) { -- setUniqueQtVersionIdSetting(newQtVersionSetting); -- } -+ if (newQtVersionSetting == noQtVersionsId) { -+ newQtVersionSetting = findHightestQtVersion(); -+ } -+ -+ if (newQtVersionSetting != qtVersionSetting) { -+ setUniqueQtVersionIdSetting(newQtVersionSetting); - } - -+ - foreach (BaseQtVersion *version, qtVersions) { -- QStandardItem *newItem = new QStandardItem(); -- newItem->setData(version->displayName(), Qt::UserRole + 1); -- newItem->setData(version->uniqueId(), Qt::UserRole + 2); -- appendRow(newItem); -+ if (version->hasDemos() || version->hasExamples()) { -+ QStandardItem *newItem = new QStandardItem(); -+ newItem->setData(version->displayName(), Qt::UserRole + 1); -+ newItem->setData(version->uniqueId(), Qt::UserRole + 2); -+ appendRow(newItem); -+ } - } - endResetModel(); - } -@@ -147,7 +182,7 @@ ExamplesListModel::ExamplesListModel(QObject *parent) : - m_updateOnQtVersionsChanged(false), - m_initialized(false), - m_helpInitialized(false), -- m_uniqueQtId(allQtVersionsId) -+ m_uniqueQtId(noQtVersionsId) - { - QHash roleNames; - roleNames[Name] = "name"; -@@ -517,7 +552,7 @@ QStringList ExamplesListModel::exampleSources(QString *examplesInstallPath, QStr - foreach (BaseQtVersion *version, qtVersions) { - - //filter for qt versions -- if (version->uniqueId() != m_uniqueQtId && m_uniqueQtId != allQtVersionsId) -+ if (version->uniqueId() != m_uniqueQtId && m_uniqueQtId != noQtVersionsId) - continue; - - // qt5 with examples OR demos manifest --- -1.7.6.msysgit.0 - diff --git a/src/plugins/analyzerbase/analyzerbase.qbs b/src/plugins/analyzerbase/analyzerbase.qbs index 47216b5aa4c..53f872c148e 100644 --- a/src/plugins/analyzerbase/analyzerbase.qbs +++ b/src/plugins/analyzerbase/analyzerbase.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "AnalyzerBase" diff --git a/src/plugins/android/android.qbs b/src/plugins/android/android.qbs index 4f539107187..5a6a3e5980c 100644 --- a/src/plugins/android/android.qbs +++ b/src/plugins/android/android.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Android" diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index fa71d84f907..a0db9a061aa 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -822,7 +822,9 @@ void AndroidConfigurations::updateAutomaticKitList() foreach (Kit *k, existingKits) { ProjectExplorer::ToolChain *tc = ToolChainKitInformation::toolChain(k); - if (tc && tc->type() == QLatin1String(Constants::ANDROID_TOOLCHAIN_TYPE)) { + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); + if (tc && tc->type() == QLatin1String(Constants::ANDROID_TOOLCHAIN_TYPE) + && qtVersion && qtVersion->type() == QLatin1String(Constants::ANDROIDQT)) { k->makeUnSticky(); k->setAutoDetected(false); } else { diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index ea5d6eeac00..56ca22ec9f4 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -79,6 +79,9 @@ QList AndroidDeployQtStepFactory::availableCreationIds(ProjectExplorer return QList(); if (parent->contains(AndroidDeployQtStep::Id)) return QList(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(parent->target()->kit()); + if (!qtVersion || qtVersion->qtVersion() < QtSupport::QtVersionNumber(5, 2, 0)) + return QList(); return QList() << AndroidDeployQtStep::Id; } @@ -164,9 +167,13 @@ void AndroidDeployQtStep::ctor() bool AndroidDeployQtStep::init() { if (AndroidManager::checkForQt51Files(project()->projectDirectory())) - emit addOutput(tr("Found old android folder in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); + emit addOutput(tr("Found old Android folder in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); m_targetArch = AndroidManager::targetArch(target()); + if (m_targetArch.isEmpty()) { + emit addOutput(tr("No Android arch set by the .pro file."), ErrorOutput); + return false; + } m_deviceAPILevel = AndroidManager::minimumSDK(target()); AndroidDeviceInfo info = AndroidConfigurations::instance().showDeviceDialog(project(), m_deviceAPILevel, m_targetArch); if (info.serialNumber.isEmpty()) // aborted @@ -511,13 +518,13 @@ QAbstractItemModel *AndroidDeployQtStep::keystoreCertificates() keytoolProc.start(AndroidConfigurations::instance().keytoolPath().toString(), params); if (!keytoolProc.waitForStarted() || !keytoolProc.waitForFinished()) { QMessageBox::critical(0, tr("Error"), - tr("Failed to run keytool")); + tr("Failed to run keytool.")); return 0; } if (keytoolProc.exitCode()) { QMessageBox::critical(0, tr("Error"), - tr("Invalid password")); + tr("Invalid password.")); m_keystorePasswd.clear(); } rawCerts = QString::fromLatin1(keytoolProc.readAllStandardOutput()); diff --git a/src/plugins/android/androiddeployqtwidget.ui b/src/plugins/android/androiddeployqtwidget.ui index 37d0d4e4b56..599ae3f9bc8 100644 --- a/src/plugins/android/androiddeployqtwidget.ui +++ b/src/plugins/android/androiddeployqtwidget.ui @@ -174,7 +174,7 @@ - Verbose Output + Verbose output @@ -210,7 +210,7 @@ - Android deploy Qt Input File: + Android deploy Qt input file: @@ -309,7 +309,7 @@ The APK will not be usable on any other device. - Additional libraries + Additional Libraries @@ -317,7 +317,7 @@ The APK will not be usable on any other device. - List of extra libraries to include in Android package and load on start-up. + List of extra libraries to include in Android package and load on startup. QAbstractItemView::ExtendedSelection @@ -335,7 +335,7 @@ The APK will not be usable on any other device. - Select a library to include in package + Select library to include in package. Add @@ -348,7 +348,7 @@ The APK will not be usable on any other device. - Remove currently selected library from list + Remove currently selected library from list. Remove diff --git a/src/plugins/android/androiddeploystepfactory.cpp b/src/plugins/android/androiddeploystepfactory.cpp index 07e879b86b1..b0f6a263f64 100644 --- a/src/plugins/android/androiddeploystepfactory.cpp +++ b/src/plugins/android/androiddeploystepfactory.cpp @@ -58,6 +58,9 @@ QList AndroidDeployStepFactory::availableCreationIds(BuildStepList *pa return QList(); if (parent->contains(AndroidDeployStep::Id)) return QList(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(parent->target()->kit()); + if (qtVersion && qtVersion->qtVersion() >= QtSupport::QtVersionNumber(5, 2, 0)) + return QList(); return QList() << AndroidDeployStep::Id; } diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index e87e972e840..29208b19ffd 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -633,7 +633,7 @@ bool AndroidManager::createAndroidTemplatesIfNecessary(ProjectExplorer::Target * } if (forceUpdate) - QMessageBox::warning(0, tr("Warning"), tr("Android files have been updated automatically")); + QMessageBox::warning(0, tr("Warning"), tr("Android files have been updated automatically.")); return true; } @@ -936,7 +936,7 @@ bool AndroidManager::saveLibsXml(ProjectExplorer::Target *target, QDomDocument & void AndroidManager::raiseError(const QString &reason) { - QMessageBox::critical(0, tr("Error creating Android templates"), reason); + QMessageBox::critical(0, tr("Error creating Android templates."), reason); } QString AndroidManager::loadLocal(ProjectExplorer::Target *target, int apiLevel, ItemType item, const QString &attribute) @@ -1046,7 +1046,7 @@ bool AndroidManager::openXmlFile(QDomDocument &doc, const Utils::FileName &fileN return false; if (!doc.setContent(f.readAll())) { - raiseError(tr("Can't parse '%1'").arg(fileName.toUserOutput())); + raiseError(tr("Cannot parse '%1'.").arg(fileName.toUserOutput())); return false; } return true; @@ -1059,7 +1059,7 @@ bool AndroidManager::saveXmlFile(ProjectExplorer::Target *target, QDomDocument & QFile f(fileName.toString()); if (!f.open(QIODevice::WriteOnly)) { - raiseError(tr("Can't open '%1'").arg(fileName.toUserOutput())); + raiseError(tr("Cannot open '%1'.").arg(fileName.toUserOutput())); return false; } return f.write(doc.toByteArray(4)) >= 0; @@ -1195,6 +1195,8 @@ QString AndroidManager::libraryPrefix() void AndroidManager::cleanLibsOnDevice(ProjectExplorer::Target *target) { const QString targetArch = AndroidManager::targetArch(target); + if (targetArch.isEmpty()) + return; int deviceAPILevel = AndroidManager::minimumSDK(target); AndroidDeviceInfo info = AndroidConfigurations::instance().showDeviceDialog(target->project(), deviceAPILevel, targetArch); if (info.serialNumber.isEmpty()) // aborted @@ -1206,7 +1208,7 @@ void AndroidManager::cleanLibsOnDevice(ProjectExplorer::Target *target) if (info.type == AndroidDeviceInfo::Emulator) { deviceSerialNumber = AndroidConfigurations::instance().startAVD(deviceSerialNumber, deviceAPILevel, targetArch); if (deviceSerialNumber.isEmpty()) - Core::MessageManager::write(tr("Starting android virtual device failed.")); + Core::MessageManager::write(tr("Starting Android virtual device failed.")); } QProcess *process = new QProcess(); @@ -1223,6 +1225,8 @@ void AndroidManager::cleanLibsOnDevice(ProjectExplorer::Target *target) void AndroidManager::installQASIPackage(ProjectExplorer::Target *target, const QString &packagePath) { const QString targetArch = AndroidManager::targetArch(target); + if (targetArch.isEmpty()) + return; int deviceAPILevel = AndroidManager::minimumSDK(target); AndroidDeviceInfo info = AndroidConfigurations::instance().showDeviceDialog(target->project(), deviceAPILevel, targetArch); if (info.serialNumber.isEmpty()) // aborted @@ -1233,7 +1237,7 @@ void AndroidManager::installQASIPackage(ProjectExplorer::Target *target, const Q if (info.type == AndroidDeviceInfo::Emulator) { deviceSerialNumber = AndroidConfigurations::instance().startAVD(deviceSerialNumber, deviceAPILevel, targetArch); if (deviceSerialNumber.isEmpty()) - Core::MessageManager::write(tr("Starting android virtual device failed.")); + Core::MessageManager::write(tr("Starting Android virtual device failed.")); } QProcess *process = new QProcess(); diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp index ddf27b89230..66b3f9c6da9 100644 --- a/src/plugins/android/androidmanifesteditorwidget.cpp +++ b/src/plugins/android/androidmanifesteditorwidget.cpp @@ -156,7 +156,7 @@ void AndroidManifestEditorWidget::initializePage() m_packageNameLineEdit = new QLineEdit(packageGroupBox); m_packageNameLineEdit->setToolTip(tr( "

Please choose a valid package name " - "for your application (e.g. \"org.example.myapplication\").

" + "for your application (for example, \"org.example.myapplication\").

" "

Packages are usually defined using a hierarchical naming pattern, " "with levels in the hierarchy separated by periods (.) (pronounced \"dot\").

" "

In general, a package name begins with the top level domain name" @@ -203,8 +203,8 @@ void AndroidManifestEditorWidget::initializePage() m_androidTargetSdkVersion = new QComboBox(packageGroupBox); m_androidTargetSdkVersion->setToolTip( - tr("Sets the targe SDK, set this to the highest tested version." - "This disables compatibility behavior of the system for your application.")); + tr("Sets the target SDK. Set this to the highest tested version." + "This disables compatibility behavior of the system for your application.")); m_androidTargetSdkVersion->addItem(tr("Not set"), 0); formLayout->addRow(tr("Target SDK:"), m_androidTargetSdkVersion); @@ -245,7 +245,7 @@ void AndroidManifestEditorWidget::initializePage() m_lIconButton = new QToolButton(applicationGroupBox); m_lIconButton->setMinimumSize(QSize(48, 48)); m_lIconButton->setMaximumSize(QSize(48, 48)); - m_lIconButton->setToolTip(tr("Select low dpi icon")); + m_lIconButton->setToolTip(tr("Select low DPI icon.")); iconLayout->addWidget(m_lIconButton); iconLayout->addItem(new QSpacerItem(28, 20, QSizePolicy::Expanding, QSizePolicy::Minimum)); @@ -253,7 +253,7 @@ void AndroidManifestEditorWidget::initializePage() m_mIconButton = new QToolButton(applicationGroupBox); m_mIconButton->setMinimumSize(QSize(48, 48)); m_mIconButton->setMaximumSize(QSize(48, 48)); - m_mIconButton->setToolTip(tr("Select medium dpi icon")); + m_mIconButton->setToolTip(tr("Select medium DPI icon.")); iconLayout->addWidget(m_mIconButton); iconLayout->addItem(new QSpacerItem(28, 20, QSizePolicy::Expanding, QSizePolicy::Minimum)); @@ -261,7 +261,7 @@ void AndroidManifestEditorWidget::initializePage() m_hIconButton = new QToolButton(applicationGroupBox); m_hIconButton->setMinimumSize(QSize(48, 48)); m_hIconButton->setMaximumSize(QSize(48, 48)); - m_hIconButton->setToolTip(tr("Select high dpi icon")); + m_hIconButton->setToolTip(tr("Select high DPI icon.")); iconLayout->addWidget(m_hIconButton); formLayout->addRow(tr("Application icon:"), iconLayout); @@ -504,6 +504,9 @@ void AndroidManifestEditorWidget::resizeEvent(QResizeEvent *event) bool AndroidManifestEditorWidget::open(QString *errorString, const QString &fileName, const QString &realFileName) { bool result = PlainTextEditorWidget::open(errorString, fileName, realFileName); + + updateSdkVersions(); + if (!result) return result; @@ -521,7 +524,6 @@ bool AndroidManifestEditorWidget::open(QString *errorString, const QString &file } // some error occured updateInfoBar(error, errorLine, errorColumn); - updateSdkVersions(); setActivePage(Source); return true; @@ -651,13 +653,13 @@ bool AndroidManifestEditorWidget::checkDocument(QDomDocument doc, QString *error { QDomElement manifest = doc.documentElement(); if (manifest.tagName() != QLatin1String("manifest")) { - *errorMessage = tr("The structure of the android manifest file is corrupt. Expected a top level 'manifest' node."); + *errorMessage = tr("The structure of the Android manifest file is corrupted. Expected a top level 'manifest' node."); *errorLine = -1; *errorColumn = -1; return false; } else if (manifest.firstChildElement(QLatin1String("application")).firstChildElement(QLatin1String("activity")).isNull()) { // missing either application or activity element - *errorMessage = tr("The structure of the Android manifest file is corrupt. Expected an 'application' and 'activity' sub node."); + *errorMessage = tr("The structure of the Android manifest file is corrupted. Expected an 'application' and 'activity' sub node."); *errorLine = -1; *errorColumn = -1; return false; @@ -697,7 +699,8 @@ void AndroidManifestEditorWidget::updateInfoBar() void AndroidManifestEditorWidget::updateSdkVersions() { const QString docPath(static_cast(editor()->document())->filePath()); - QPair apiLevels = AndroidManager::apiLevelRange(androidProject(docPath)->activeTarget()); + Project *project = androidProject(docPath); + QPair apiLevels = AndroidManager::apiLevelRange(project ? project->activeTarget() : 0); for (int i = apiLevels.first; i < apiLevels.second + 1; ++i) m_androidMinSdkVersion->addItem(tr("API %1: %2") .arg(i) @@ -716,9 +719,9 @@ void AndroidManifestEditorWidget::updateInfoBar(const QString &errorMessage, int Core::InfoBar *infoBar = editorDocument()->infoBar(); QString text; if (line < 0) - text = tr("Could not parse file: '%1'").arg(errorMessage); + text = tr("Could not parse file: '%1'.").arg(errorMessage); else - text = tr("%2: Could not parse file: '%1'").arg(errorMessage).arg(line); + text = tr("%2: Could not parse file: '%1'.").arg(errorMessage).arg(line); Core::InfoBarEntry infoBarEntry(infoBarId, text); infoBarEntry.setCustomButtonInfo(tr("Goto error"), this, SLOT(gotoError())); infoBar->removeInfo(infoBarId); @@ -865,6 +868,16 @@ void setUsesSdk(QDomDocument &doc, QDomElement &manifest, int minimumSdk, int ta } } +int extractVersion(const QString &string) +{ + if (!string.startsWith(QLatin1String("API"))) + return 0; + int index = string.indexOf(QLatin1Char(':')); + if (index == -1) + return 0; + return string.midRef(4, index - 4).toInt(); +} + void AndroidManifestEditorWidget::syncToEditor() { QDomDocument doc; @@ -879,8 +892,8 @@ void AndroidManifestEditorWidget::syncToEditor() manifest.setAttribute(QLatin1String("android:versionCode"), m_versionCode->value()); manifest.setAttribute(QLatin1String("android:versionName"), m_versionNameLinedit->text()); - setUsesSdk(doc, manifest, m_androidMinSdkVersion->currentText().toInt(), - m_androidTargetSdkVersion->currentText().toInt()); + setUsesSdk(doc, manifest, extractVersion(m_androidMinSdkVersion->currentText()), + extractVersion(m_androidTargetSdkVersion->currentText())); setAndroidAppLibName(doc, manifest.firstChildElement(QLatin1String("application")) .firstChildElement(QLatin1String("activity")), diff --git a/src/plugins/android/androidpackagecreationfactory.cpp b/src/plugins/android/androidpackagecreationfactory.cpp index 2bc7e7460fa..6d19e081aab 100644 --- a/src/plugins/android/androidpackagecreationfactory.cpp +++ b/src/plugins/android/androidpackagecreationfactory.cpp @@ -36,6 +36,8 @@ #include #include +#include + using namespace ProjectExplorer; namespace Android { @@ -54,6 +56,9 @@ QList AndroidPackageCreationFactory::availableCreationIds(BuildStepLis return QList(); if (parent->contains(AndroidPackageCreationStep::CreatePackageId)) return QList(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(parent->target()->kit()); + if (qtVersion && qtVersion->qtVersion() >= QtSupport::QtVersionNumber(5, 2, 0)) + return QList(); return QList() << AndroidPackageCreationStep::CreatePackageId; } diff --git a/src/plugins/android/androidpotentialkit.cpp b/src/plugins/android/androidpotentialkit.cpp index d55a23db6ae..9083d018f4f 100644 --- a/src/plugins/android/androidpotentialkit.cpp +++ b/src/plugins/android/androidpotentialkit.cpp @@ -83,7 +83,7 @@ AndroidPotentialKitWidget::AndroidPotentialKitWidget(QWidget *parent) QGridLayout *layout = new QGridLayout(mainWidget); layout->setMargin(0); QLabel *label = new QLabel; - label->setText(tr("Creator needs additional settings to enable Android support." + label->setText(tr("Qt Creator needs additional settings to enable Android support." "You can configure those settings in the Options dialog.")); label->setWordWrap(true); layout->addWidget(label, 0, 0, 1, 2); diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp index d84bce54b8f..a7d433b0af6 100644 --- a/src/plugins/android/androidrunconfiguration.cpp +++ b/src/plugins/android/androidrunconfiguration.cpp @@ -37,10 +37,17 @@ #include #include #include +#include +#include #include +namespace { +const char PRO_FILE_KEY[] = "Qt4ProjectManager.Qt4RunConfiguration.ProFile"; +} + using namespace ProjectExplorer; +using Qt4ProjectManager::Qt4Project; namespace Android { namespace Internal { @@ -49,12 +56,17 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, Core::Id id, co : RunConfiguration(parent, id) , m_proFilePath(path) { + Qt4Project *project = static_cast(parent->project()); + m_parseSuccess = project->validParse(m_proFilePath); + m_parseInProgress = project->parseInProgress(m_proFilePath); init(); } AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, AndroidRunConfiguration *source) : RunConfiguration(parent, source) , m_proFilePath(source->m_proFilePath) + , m_parseSuccess(source->m_parseSuccess) + , m_parseInProgress(source->m_parseInProgress) { init(); } @@ -62,6 +74,55 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, AndroidRunConfi void AndroidRunConfiguration::init() { setDefaultDisplayName(defaultDisplayName()); + connect(target()->project(), SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), + this, SLOT(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); +} + +bool AndroidRunConfiguration::fromMap(const QVariantMap &map) +{ + const QDir projectDir = QDir(target()->project()->projectDirectory()); + m_proFilePath = QDir::cleanPath(projectDir.filePath(map.value(QLatin1String(PRO_FILE_KEY)).toString())); + m_parseSuccess = static_cast(target()->project())->validParse(m_proFilePath); + m_parseInProgress = static_cast(target()->project())->parseInProgress(m_proFilePath); + + return RunConfiguration::fromMap(map); +} + +QVariantMap AndroidRunConfiguration::toMap() const +{ + const QDir projectDir = QDir(target()->project()->projectDirectory()); + QVariantMap map(RunConfiguration::toMap()); + map.insert(QLatin1String(PRO_FILE_KEY), projectDir.relativeFilePath(m_proFilePath)); + return map; +} + +bool AndroidRunConfiguration::isEnabled() const +{ + return m_parseSuccess && !m_parseInProgress; +} + +QString AndroidRunConfiguration::disabledReason() const +{ + if (m_parseInProgress) + return tr("The .pro file '%1' is currently being parsed.") + .arg(QFileInfo(m_proFilePath).fileName()); + + if (!m_parseSuccess) + return static_cast(target()->project())->disabledReasonForRunConfiguration(m_proFilePath); + return QString(); +} + +void AndroidRunConfiguration::proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) +{ + if (m_proFilePath != pro->path()) + return; + + bool enabled = isEnabled(); + QString reason = disabledReason(); + m_parseSuccess = success; + m_parseInProgress = parseInProgress; + if (enabled != isEnabled() || reason != disabledReason()) + emit enabledChanged(); } QWidget *AndroidRunConfiguration::createConfigurationWidget() diff --git a/src/plugins/android/androidrunconfiguration.h b/src/plugins/android/androidrunconfiguration.h index 9e0fd50cd7c..7290b84d7bd 100644 --- a/src/plugins/android/androidrunconfiguration.h +++ b/src/plugins/android/androidrunconfiguration.h @@ -35,6 +35,8 @@ #include +namespace Qt4ProjectManager { class Qt4ProFileNode; } + namespace Android { namespace Internal { @@ -59,14 +61,22 @@ public: const QString remoteChannel() const; const QString dumperLib() const; + bool isEnabled() const; + QString disabledReason() const; protected: AndroidRunConfiguration(ProjectExplorer::Target *parent, AndroidRunConfiguration *source); QString defaultDisplayName(); + bool fromMap(const QVariantMap &map); + QVariantMap toMap() const; +private slots: + void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); private: void init(); QString m_proFilePath; + bool m_parseSuccess; + bool m_parseInProgress; }; } // namespace Internal diff --git a/src/plugins/android/androidrunfactories.cpp b/src/plugins/android/androidrunfactories.cpp index a76656c33a3..493380b7090 100644 --- a/src/plugins/android/androidrunfactories.cpp +++ b/src/plugins/android/androidrunfactories.cpp @@ -94,7 +94,7 @@ QList AndroidRunConfigurationFactory::availableCreationIds(Target *par const Core::Id base = Core::Id(ANDROID_RC_ID_PREFIX); foreach (Qt4ProFileNode *node, nodes) if (node->projectType() == ApplicationTemplate || node->projectType() == LibraryTemplate) - ids << base.withSuffix(node->targetInformation().target); + ids << base.withSuffix(node->path()); return ids; } diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp index eeee6b4c61b..1ecdadc22e7 100644 --- a/src/plugins/android/createandroidmanifestwizard.cpp +++ b/src/plugins/android/createandroidmanifestwizard.cpp @@ -69,7 +69,7 @@ ChooseProFilePage::ChooseProFilePage(CreateAndroidManifestWizard *wizard, const QFormLayout *fl = new QFormLayout(this); QLabel *label = new QLabel(this); label->setWordWrap(true); - label->setText(tr("Select the .pro file for which you want to create a AndroidManifest.xml file")); + label->setText(tr("Select the .pro file for which you want to create an AndroidManifest.xml file.")); fl->addRow(label); m_comboBox = new QComboBox(this); @@ -108,13 +108,13 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard) fl->addRow(tr("Android package source directory:"), m_androidPackageSourceDir); if (androidPackageDir.isEmpty()) { - label->setText(tr("Select the android package source directory. " - "The files in the android package source directory are copied to the builddirectory's " - "android directory and overwrite the default files.")); + label->setText(tr("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.")); m_androidPackageSourceDir->setPath(QFileInfo(m_wizard->node()->path()).absolutePath().append(QLatin1String("/android"))); } else { - label->setText(tr("The android manifest file will be created in the ANDROID_PACKAGE_SOURCE_DIR set in the .pro file.")); + label->setText(tr("The Android manifest file will be created in the ANDROID_PACKAGE_SOURCE_DIR set in the .pro file.")); m_androidPackageSourceDir->setPath(androidPackageDir); m_androidPackageSourceDir->setReadOnly(true); } @@ -131,8 +131,6 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard) CreateAndroidManifestWizard::CreateAndroidManifestWizard(ProjectExplorer::Target *target) : m_target(target), m_node(0) { - setOption(QWizard::NoBackButtonOnStartPage); - setOption(QWizard::NoCancelButton, false); setWindowTitle(tr("Create Android Manifest Wizard")); Qt4Project *project = static_cast(target->project()); diff --git a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp index 0f3168030d1..473a61cd5a3 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp @@ -57,12 +57,6 @@ AutotoolsOpenProjectWizard::AutotoolsOpenProjectWizard(AutotoolsManager *manager setPage(BuildPathPageId, new BuildPathPage(this)); setStartId(BuildPathPageId); - init(); -} - -void AutotoolsOpenProjectWizard::init() -{ - setOption(QWizard::NoBackButtonOnStartPage); setWindowTitle(tr("Autotools Wizard")); } diff --git a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h index 6cf5edd796a..d22ec98cbf9 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h @@ -63,7 +63,6 @@ public: AutotoolsManager *autotoolsManager() const; private: - void init(); AutotoolsManager *m_manager; QString m_buildDirectory; QString m_sourceDirectory; diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs b/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs index 4bfba21bbfa..5b699a03e7c 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "AutotoolsProjectManager" diff --git a/src/plugins/baremetal/baremetal.qbs b/src/plugins/baremetal/baremetal.qbs index d72987025c6..7f8287e2e55 100644 --- a/src/plugins/baremetal/baremetal.qbs +++ b/src/plugins/baremetal/baremetal.qbs @@ -1,6 +1,6 @@ import qbs -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "BareMetal" diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp index cee788b3165..14e625da4c7 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp @@ -55,7 +55,7 @@ public: } //namespace Internal BareMetalDeviceConfigurationWizard::BareMetalDeviceConfigurationWizard(QWidget *parent) : - QWizard(parent), + Utils::Wizard(parent), d(new Internal::BareMetalDeviceConfigrationWizardPrivate(this)) { setWindowTitle(tr("New Bare Metal Device Configuration Setup")); diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h index 3b63d9fa541..4a35d41dea7 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h @@ -31,15 +31,14 @@ #define BAREMETALDEVICECONFIGURATIONWIZARD_H #include - -#include +#include namespace BareMetal { namespace Internal { class BareMetalDeviceConfigrationWizardPrivate; } // namespace Internal -class BareMetalDeviceConfigurationWizard : public QWizard +class BareMetalDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/bazaar/bazaar.qbs b/src/plugins/bazaar/bazaar.qbs index c885f49be17..8a5791e6be3 100644 --- a/src/plugins/bazaar/bazaar.qbs +++ b/src/plugins/bazaar/bazaar.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Bazaar" diff --git a/src/plugins/bazaar/bazaarclient.cpp b/src/plugins/bazaar/bazaarclient.cpp index ceb56b5ca65..431ff8c6a50 100644 --- a/src/plugins/bazaar/bazaarclient.cpp +++ b/src/plugins/bazaar/bazaarclient.cpp @@ -246,9 +246,9 @@ public: const BazaarCommandParameters &p, QWidget *parent = 0) : VcsBase::VcsBaseEditorParameterWidget(parent), m_client(client), m_params(p) { - mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore whitespace")), + mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore Whitespace")), client->settings()->boolPointer(BazaarSettings::diffIgnoreWhiteSpaceKey)); - mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore blank lines")), + mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore Blank Lines")), client->settings()->boolPointer(BazaarSettings::diffIgnoreBlankLinesKey)); } diff --git a/src/plugins/bineditor/bineditor.qbs b/src/plugins/bineditor/bineditor.qbs index f9384838e3a..f18676ea80e 100644 --- a/src/plugins/bineditor/bineditor.qbs +++ b/src/plugins/bineditor/bineditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "BinEditor" diff --git a/src/plugins/bookmarks/bookmarks.qbs b/src/plugins/bookmarks/bookmarks.qbs index 4601f5a50d8..4264356767f 100644 --- a/src/plugins/bookmarks/bookmarks.qbs +++ b/src/plugins/bookmarks/bookmarks.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Bookmarks" diff --git a/src/plugins/classview/classview.qbs b/src/plugins/classview/classview.qbs index be6ab5b42f2..a3699245d02 100644 --- a/src/plugins/classview/classview.qbs +++ b/src/plugins/classview/classview.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ClassView" diff --git a/src/plugins/clearcase/clearcase.qbs b/src/plugins/clearcase/clearcase.qbs index dcd94ac24cb..72edcc26b88 100644 --- a/src/plugins/clearcase/clearcase.qbs +++ b/src/plugins/clearcase/clearcase.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ClearCase" diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 477a1802240..a68a919c1d3 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -273,8 +273,6 @@ CMakeOpenProjectWizard::CMakeOpenProjectWizard(CMakeManager *cmakeManager, CMake void CMakeOpenProjectWizard::init() { - setOption(QWizard::NoBackButtonOnStartPage); - setOption(QWizard::NoCancelButton, false); setWindowTitle(tr("CMake Wizard")); } diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs index 1734c6cc94e..42eafccae7a 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CMakeProjectManager" diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp index 8412e6ea459..4df472472c8 100644 --- a/src/plugins/coreplugin/basefilewizard.cpp +++ b/src/plugins/coreplugin/basefilewizard.cpp @@ -37,7 +37,6 @@ #include #include #include -#include #include #include @@ -345,28 +344,6 @@ bool BaseFileWizard::writeFiles(const GeneratedFiles &files, QString *errorMessa return true; } -/*! - Sets some standard options on a QWizard. -*/ - -void BaseFileWizard::setupWizard(QWizard *w) -{ - w->setOption(QWizard::NoCancelButton, false); - w->setOption(QWizard::NoDefaultButton, false); - w->setOption(QWizard::NoBackButtonOnStartPage, true); - w->setWindowFlags(w->windowFlags() & ~Qt::WindowContextHelpButtonHint); - - if (Utils::HostOsInfo::isMacHost()) { - w->setButtonLayout(QList() - << QWizard::CancelButton - << QWizard::Stretch - << QWizard::BackButton - << QWizard::NextButton - << QWizard::CommitButton - << QWizard::FinishButton); - } -} - /*! Reads the \c shortTitle dynamic property of \a pageId and applies it as the title of corresponding progress item. @@ -571,7 +548,6 @@ QWizard *StandardFileWizard::createWizardDialog(QWidget *parent, if (wizardDialogParameters.flags().testFlag(WizardDialogParameters::ForceCapitalLetterForFileName)) standardWizardDialog->setForceFirstCapitalLetterForFileName(true); standardWizardDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(standardWizardDialog); standardWizardDialog->setPath(wizardDialogParameters.defaultPath()); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(standardWizardDialog, standardWizardDialog->addPage(p)); diff --git a/src/plugins/coreplugin/basefilewizard.h b/src/plugins/coreplugin/basefilewizard.h index 6eac0a66877..257b65e8e22 100644 --- a/src/plugins/coreplugin/basefilewizard.h +++ b/src/plugins/coreplugin/basefilewizard.h @@ -114,7 +114,6 @@ public: virtual void runWizard(const QString &path, QWidget *parent, const QString &platform, const QVariantMap &extraValues); static QString buildFileName(const QString &path, const QString &baseName, const QString &extension); - static void setupWizard(QWizard *); static void applyExtensionPageShortTitle(Utils::Wizard *wizard, int pageId); protected: diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index 5557326a9a1..10b4087a432 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -237,6 +237,6 @@ else:unix { OTHER_FILES += editormanager/BinFiles.mimetypes.xml equals(TEST, 1) { - SOURCES += plugintestutils.cpp - HEADERS += plugintestutils.h + SOURCES += testdatadir.cpp + HEADERS += testdatadir.h } diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index e3ff4475452..b7b6c93b38e 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Core" @@ -181,8 +181,8 @@ QtcPlugin { name: "Tests" condition: project.testsEnabled files: [ - "plugintestutils.cpp", - "plugintestutils.h", + "testdatadir.cpp", + "testdatadir.h", ] } diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 4a9890f05ed..93a7c3c739d 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1147,7 +1147,7 @@ bool EditorManager::closeEditors(const QList &editorsToClose, bool ask emit m_instance->editorsClosed(acceptedEditors.toList()); foreach (IEditor *editor, acceptedEditors) - editor->deleteLater(); + delete editor; if (currentView && !currentViewHandled) { if (IEditor *editor = currentView->currentEditor()) diff --git a/src/plugins/coreplugin/plugintestutils.cpp b/src/plugins/coreplugin/testdatadir.cpp similarity index 70% rename from src/plugins/coreplugin/plugintestutils.cpp rename to src/plugins/coreplugin/testdatadir.cpp index 964c709ae2f..c049585f97e 100644 --- a/src/plugins/coreplugin/plugintestutils.cpp +++ b/src/plugins/coreplugin/testdatadir.cpp @@ -28,30 +28,14 @@ ****************************************************************************/ -#include "plugintestutils.h" +#include "testdatadir.h" -#include "editormanager/editormanager.h" -#include "editormanager/ieditor.h" - -#include #include #include #include #include -void Core::Tests::closeAndDeleteEditors(QList editorsToClose) -{ - EditorManager::closeEditors(editorsToClose, /*askAboutModifiedEditors=*/ false); - // The editors are going to be deleted by the event loop (deleteLater()), - // but for tests we need them deleted now. - foreach (Core::IEditor *editor, editorsToClose) - QCoreApplication::sendPostedEvents(editor, QEvent::DeferredDelete); -} - -void Core::Tests::closeAndDeleteEditor(Core::IEditor *editor) -{ - closeAndDeleteEditors(QList() << editor); -} +using namespace Core::Internal::Tests; static void maybeAppendSlash(QString *string) { @@ -60,7 +44,7 @@ static void maybeAppendSlash(QString *string) string->append(slash); } -Core::Tests::TestDataDir::TestDataDir(const QString &directory) +TestDataDir::TestDataDir(const QString &directory) : m_directory(directory) { maybeAppendSlash(&m_directory); @@ -69,12 +53,12 @@ Core::Tests::TestDataDir::TestDataDir(const QString &directory) QVERIFY(fi.isDir()); } -QString Core::Tests::TestDataDir::file(const QString &fileName) const +QString TestDataDir::file(const QString &fileName) const { return directory() + fileName; } -QString Core::Tests::TestDataDir::directory(const QString &subdir, bool clean) const +QString TestDataDir::directory(const QString &subdir, bool clean) const { QString path = m_directory; if (!subdir.isEmpty()) diff --git a/src/plugins/coreplugin/plugintestutils.h b/src/plugins/coreplugin/testdatadir.h similarity index 85% rename from src/plugins/coreplugin/plugintestutils.h rename to src/plugins/coreplugin/testdatadir.h index dc4316a51d2..d8d654ca022 100644 --- a/src/plugins/coreplugin/plugintestutils.h +++ b/src/plugins/coreplugin/testdatadir.h @@ -28,25 +28,17 @@ ****************************************************************************/ -#ifndef PLUGINTESTUTILS_H -#define PLUGINTESTUTILS_H +#ifndef TESTDATADIR_H +#define TESTDATADIR_H #include "core_global.h" -#include #include namespace Core { - -class IEditor; - +namespace Internal { namespace Tests { -/// Closing and deleting editors -void CORE_EXPORT closeAndDeleteEditor(Core::IEditor *editor); -void CORE_EXPORT closeAndDeleteEditors(QList editorsToClose); - -/// Referencing test data class CORE_EXPORT TestDataDir { public: @@ -61,6 +53,7 @@ private: }; } // namespace Tests +} // namespace Internal } // namespace Core -#endif // PLUGINTESTUTILS_H +#endif // TESTDATADIR_H diff --git a/src/plugins/cpaster/cpaster.qbs b/src/plugins/cpaster/cpaster.qbs index 01815bb7c5c..623d48fce32 100644 --- a/src/plugins/cpaster/cpaster.qbs +++ b/src/plugins/cpaster/cpaster.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CodePaster" diff --git a/src/plugins/cpaster/frontend/frontend.qbs b/src/plugins/cpaster/frontend/frontend.qbs index 70be0e9f00c..ba7d8a378be 100644 --- a/src/plugins/cpaster/frontend/frontend.qbs +++ b/src/plugins/cpaster/frontend/frontend.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../../tools/QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "cpaster" diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp index d56ea5cc5da..eb3a0ae243b 100644 --- a/src/plugins/cppeditor/cppclasswizard.cpp +++ b/src/plugins/cppeditor/cppclasswizard.cpp @@ -114,7 +114,6 @@ CppClassWizardDialog::CppClassWizardDialog(QWidget *parent) : Utils::Wizard(parent), m_classNamePage(new ClassNamePage(this)) { - Core::BaseFileWizard::setupWizard(this); setWindowTitle(tr("C++ Class Wizard")); const int classNameId = addPage(m_classNamePage); wizardProgress()->item(classNameId)->setTitle(tr("Details")); diff --git a/src/plugins/cppeditor/cppdoxygen_test.cpp b/src/plugins/cppeditor/cppdoxygen_test.cpp index 5ee9989f608..8feffc6579a 100644 --- a/src/plugins/cppeditor/cppdoxygen_test.cpp +++ b/src/plugins/cppeditor/cppdoxygen_test.cpp @@ -30,7 +30,6 @@ #include "cppeditor.h" #include -#include #include #include #include @@ -116,7 +115,8 @@ TestCase::TestCase(const QByteArray &input) TestCase::~TestCase() { - Core::Tests::closeAndDeleteEditor(editor); + EditorManager::closeEditor(editor, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test file from the code-model CppTools::CppModelManagerInterface *mmi = CppTools::CppModelManagerInterface::instance(); diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index 91d52d4d70f..7ca766b74cf 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CppEditor" diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 53c74826fd5..31c4b6513f1 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -34,7 +34,6 @@ #include "cppquickfixassistant.h" #include "cppquickfixes.h" -#include #include #include #include @@ -239,7 +238,6 @@ void TestCase::init(const QStringList &includePaths) // Rehighlight testFile->editorWidget->semanticRehighlight(true); - // Wait for the semantic info from the future while (testFile->editorWidget->semanticInfo().doc.isNull()) QCoreApplication::processEvents(); @@ -265,7 +263,8 @@ TestCase::~TestCase() if (testFile->editor) editorsToClose << testFile->editor; } - Core::Tests::closeAndDeleteEditors(editorsToClose); + EditorManager::closeEditors(editorsToClose, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test files from the code-model CppModelManagerInterface *mmi = CppModelManagerInterface::instance(); diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp index 4e8b1f3d790..7d3e2d1cb90 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp @@ -232,7 +232,8 @@ IAssistProcessor *VirtualFunctionAssistProvider::createProcessor() const enum VirtualType { Virtual, PureVirtual }; -static bool isVirtualFunction_helper(Function *function, const Snapshot &snapshot, +static bool isVirtualFunction_helper(const Function *function, + const Snapshot &snapshot, VirtualType virtualType) { if (!function) @@ -270,12 +271,12 @@ static bool isVirtualFunction_helper(Function *function, const Snapshot &snapsho return false; } -bool FunctionHelper::isVirtualFunction(Function *function, const Snapshot &snapshot) +bool FunctionHelper::isVirtualFunction(const Function *function, const Snapshot &snapshot) { return isVirtualFunction_helper(function, snapshot, Virtual); } -bool FunctionHelper::isPureVirtualFunction(Function *function, const Snapshot &snapshot) +bool FunctionHelper::isPureVirtualFunction(const Function *function, const Snapshot &snapshot) { return isVirtualFunction_helper(function, snapshot, PureVirtual); } diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h index b3bb76c24d1..c634b4ed44f 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h @@ -64,14 +64,15 @@ private: class FunctionHelper { public: - static bool isVirtualFunction(CPlusPlus::Function *function, - const CPlusPlus::Snapshot &snapshot); + static bool isVirtualFunction(const CPlusPlus::Function *function, + const CPlusPlus::Snapshot &snapshot); - static bool isPureVirtualFunction(CPlusPlus::Function *function, - const CPlusPlus::Snapshot &snapshot); + static bool isPureVirtualFunction(const CPlusPlus::Function *function, + const CPlusPlus::Snapshot &snapshot); static QList overrides(CPlusPlus::Class *startClass, - CPlusPlus::Function *function, const CPlusPlus::Snapshot &snapshot); + CPlusPlus::Function *function, + const CPlusPlus::Snapshot &snapshot); }; } // namespace Internal diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp index dc001394046..441af4b440f 100644 --- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp +++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp @@ -32,7 +32,6 @@ #include "cppelementevaluator.h" #include "cppvirtualfunctionassistprovider.h" -#include #include #include #include @@ -325,7 +324,8 @@ TestCase::~TestCase() if (testFile->editor) editorsToClose << testFile->editor; } - Core::Tests::closeAndDeleteEditors(editorsToClose); + EditorManager::closeEditors(editorsToClose, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test files from the code-model CppModelManagerInterface *mmi = CppTools::CppModelManagerInterface::instance(); diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 3616561d095..755d0d9b987 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -31,7 +31,6 @@ #include "cppcompletionassist.h" #include "cppmodelmanager.h" -#include #include #include #include @@ -92,7 +91,7 @@ public: ~CompletionTestCase() { - Core::Tests::closeAndDeleteEditor(editor); + EditorManager::closeEditor(editor, /*askAboutModifiedEditors=*/ false); cmm->GC(); QVERIFY(cmm->snapshot().isEmpty()); } diff --git a/src/plugins/cpptools/cppheadersource_test.cpp b/src/plugins/cpptools/cppheadersource_test.cpp index e6937598568..26d833d1c40 100644 --- a/src/plugins/cpptools/cppheadersource_test.cpp +++ b/src/plugins/cpptools/cppheadersource_test.cpp @@ -30,7 +30,7 @@ #include "cpptoolsplugin.h" #include "cpptoolsreuse.h" -#include +#include #include #include @@ -46,7 +46,7 @@ void CppToolsPlugin::test_headersource() QFETCH(QString, headerFileName); bool wasHeader; - Core::Tests::TestDataDir dataDir( + Core::Internal::Tests::TestDataDir dataDir( _(SRCDIR "/../../../tests/cppheadersource/") + _(QTest::currentDataTag())); const QString sourcePath = dataDir.file(sourceFileName); diff --git a/src/plugins/cpptools/cpplocatorfilter_test.cpp b/src/plugins/cpptools/cpplocatorfilter_test.cpp index e83eb6767ab..7b6c3ae2745 100644 --- a/src/plugins/cpptools/cpplocatorfilter_test.cpp +++ b/src/plugins/cpptools/cpplocatorfilter_test.cpp @@ -36,7 +36,7 @@ #include "cppmodelmanager.h" #include -#include +#include #include #include #include @@ -46,6 +46,7 @@ #include using namespace Core; +using namespace Core::Internal::Tests; using namespace CppTools::Internal; using namespace ExtensionSystem; using namespace Locator; @@ -57,7 +58,7 @@ Q_DECLARE_METATYPE(ILocatorFilter *) namespace { -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &testDataDirectory) @@ -124,7 +125,8 @@ private: virtual void doAfterLocatorRun() { - Core::Tests::closeAndDeleteEditor(m_editor); + EditorManager::closeEditor(m_editor, /*askAboutModifiedEditors=*/ false); + QCoreApplication::processEvents(); QVERIFY(EditorManager::documentModel()->openedDocuments().isEmpty()); m_modelManager->GC(); QVERIFY(m_modelManager->snapshot().isEmpty()); diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 4c0c5ecba7d..4dcbb2b6eaf 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -681,6 +681,19 @@ private: const QSet m_newSourceFiles; }; +/// Make sure that m_projectMutex is locked when calling this. +void CppModelManager::recalculateFileToProjectParts() +{ + m_fileToProjectParts.clear(); + foreach (const ProjectInfo &projectInfo, m_projectToProjectsInfo) { + foreach (const ProjectPart::Ptr &projectPart, projectInfo.projectParts()) { + foreach (const ProjectFile &cxxFile, projectPart->files) { + m_fileToProjectParts[cxxFile.path].append(projectPart); + } + } + } +} + QFuture CppModelManager::updateProjectInfo(const ProjectInfo &newProjectInfo) { if (!newProjectInfo.isValid()) @@ -738,14 +751,7 @@ QFuture CppModelManager::updateProjectInfo(const ProjectInfo &newProjectIn // Update Project/ProjectInfo and File/ProjectPart table m_dirty = true; m_projectToProjectsInfo.insert(project, newProjectInfo); - m_fileToProjectParts.clear(); - foreach (const ProjectInfo &projectInfo, m_projectToProjectsInfo) { - foreach (const ProjectPart::Ptr &projectPart, projectInfo.projectParts()) { - foreach (const ProjectFile &cxxFile, projectPart->files) { - m_fileToProjectParts[cxxFile.path].append(projectPart); - } - } - } + recalculateFileToProjectParts(); } // Mutex scope @@ -823,6 +829,7 @@ void CppModelManager::onAboutToRemoveProject(ProjectExplorer::Project *project) QMutexLocker locker(&m_projectMutex); m_dirty = true; m_projectToProjectsInfo.remove(project); + recalculateFileToProjectParts(); } while (0); delayedGC(); @@ -841,6 +848,7 @@ void CppModelManager::onAboutToUnloadSession() do { QMutexLocker locker(&m_projectMutex); m_projectToProjectsInfo.clear(); + recalculateFileToProjectParts(); m_dirty = true; } while (0); } diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h index e86875a63fb..0bc4ee750d4 100644 --- a/src/plugins/cpptools/cppmodelmanager.h +++ b/src/plugins/cpptools/cppmodelmanager.h @@ -170,6 +170,8 @@ private slots: private: void delayedGC(); + void recalculateFileToProjectParts(); + void replaceSnapshot(const CPlusPlus::Snapshot &newSnapshot); void removeFilesFromSnapshot(const QSet &removedFiles); void removeProjectInfoFilesAndIncludesFromSnapshot(const ProjectInfo &projectInfo); diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp index bf17c90cd3e..3d1383b4695 100644 --- a/src/plugins/cpptools/cppmodelmanager_test.cpp +++ b/src/plugins/cpptools/cppmodelmanager_test.cpp @@ -33,7 +33,7 @@ #include "modelmanagertesthelper.h" #include -#include +#include #include #include #include @@ -62,7 +62,7 @@ namespace { inline QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); } -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &dir) @@ -723,7 +723,7 @@ void CppToolsPlugin::test_modelmanager_gc_if_last_cppeditor_closed() helper.waitForRefreshedSourceFiles(); // Close file/editor - Core::Tests::closeAndDeleteEditor(editor); + Core::EditorManager::closeEditor(editor, /*askAboutModifiedEditors=*/ false); helper.waitForFinishedGc(); // Check: File is removed from the snapshpt @@ -760,7 +760,7 @@ void CppToolsPlugin::test_modelmanager_dont_gc_opened_files() QVERIFY(mm->snapshot().contains(file)); // Close editor - Core::Tests::closeAndDeleteEditor(editor); + Core::EditorManager::closeEditor(editor); helper.waitForFinishedGc(); QVERIFY(mm->snapshot().isEmpty()); } @@ -772,7 +772,7 @@ struct EditorCloser { ~EditorCloser() { if (editor) - Core::Tests::closeAndDeleteEditor(editor); + Core::EditorManager::closeEditor(editor); } }; diff --git a/src/plugins/cpptools/cppsnapshotupdater.cpp b/src/plugins/cpptools/cppsnapshotupdater.cpp index d9efa592a00..cf4a7cec749 100644 --- a/src/plugins/cpptools/cppsnapshotupdater.cpp +++ b/src/plugins/cpptools/cppsnapshotupdater.cpp @@ -182,28 +182,42 @@ void SnapshotUpdater::update(CppModelManager::WorkingCopy workingCopy) Document::Ptr SnapshotUpdater::document() const { QMutexLocker locker(&m_mutex); - return m_snapshot.document(m_fileInEditor); } +Snapshot SnapshotUpdater::snapshot() const +{ + QMutexLocker locker(&m_mutex); + return m_snapshot; +} + +QStringList SnapshotUpdater::includePaths() const +{ + QMutexLocker locker(&m_mutex); + return m_includePaths; +} + +QStringList SnapshotUpdater::frameworkPaths() const +{ + QMutexLocker locker(&m_mutex); + return m_frameworkPaths; +} + ProjectPart::Ptr SnapshotUpdater::currentProjectPart() const { QMutexLocker locker(&m_mutex); - return m_projectPart; } void SnapshotUpdater::setProjectPart(ProjectPart::Ptr projectPart) { QMutexLocker locker(&m_mutex); - m_manuallySetProjectPart = projectPart; } void SnapshotUpdater::setUsePrecompiledHeaders(bool usePrecompiledHeaders) { QMutexLocker locker(&m_mutex); - m_usePrecompiledHeaders = usePrecompiledHeaders; } diff --git a/src/plugins/cpptools/cppsnapshotupdater.h b/src/plugins/cpptools/cppsnapshotupdater.h index 0d11e0c5865..98564357a76 100644 --- a/src/plugins/cpptools/cppsnapshotupdater.h +++ b/src/plugins/cpptools/cppsnapshotupdater.h @@ -54,15 +54,9 @@ public: void update(CppModelManagerInterface::WorkingCopy workingCopy); CPlusPlus::Document::Ptr document() const; - - CPlusPlus::Snapshot snapshot() const - { return m_snapshot; } - - QStringList includePaths() const - { return m_includePaths; } - - QStringList frameworkPaths() const - { return m_frameworkPaths; } + CPlusPlus::Snapshot snapshot() const; + QStringList includePaths() const; + QStringList frameworkPaths() const; ProjectPart::Ptr currentProjectPart() const; void setProjectPart(ProjectPart::Ptr projectPart); @@ -76,7 +70,7 @@ private: private: mutable QMutex m_mutex; - QString m_fileInEditor; + const QString m_fileInEditor; ProjectPart::Ptr m_projectPart, m_manuallySetProjectPart; QByteArray m_configFile; bool m_editorDefinesChangedSinceLastUpdate; diff --git a/src/plugins/cpptools/cpptools.qbs b/src/plugins/cpptools/cpptools.qbs index 16584b457f0..cd8e6f228ae 100644 --- a/src/plugins/cpptools/cpptools.qbs +++ b/src/plugins/cpptools/cpptools.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CppTools" diff --git a/src/plugins/cpptools/symbolsearcher_test.cpp b/src/plugins/cpptools/symbolsearcher_test.cpp index ffff79bbf58..c5529b7b467 100644 --- a/src/plugins/cpptools/symbolsearcher_test.cpp +++ b/src/plugins/cpptools/symbolsearcher_test.cpp @@ -33,7 +33,7 @@ #include "cppmodelmanager.h" #include "searchsymbols.h" -#include +#include #include #include @@ -43,7 +43,7 @@ using namespace CppTools::Internal; namespace { -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &testDataDirectory) diff --git a/src/plugins/cvs/cvs.qbs b/src/plugins/cvs/cvs.qbs index d89725f59d8..8d858a7b245 100644 --- a/src/plugins/cvs/cvs.qbs +++ b/src/plugins/cvs/cvs.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CVS" diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index 070ea7e088a..fdbd7ea1c36 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -538,8 +538,8 @@ CvsDiffParameterWidget::CvsDiffParameterWidget(const CvsDiffParameters &p, QWidg VcsBaseEditorParameterWidget(parent), m_parameters(p) { setBaseArguments(p.arguments); - addToggleButton(QLatin1String("-w"), tr("Ignore whitespace")); - addToggleButton(QLatin1String("-B"), tr("Ignore blank lines")); + addToggleButton(QLatin1String("-w"), tr("Ignore Whitespace")); + addToggleButton(QLatin1String("-B"), tr("Ignore Blank Lines")); connect(this, SIGNAL(argumentsChanged()), this, SLOT(triggerReRun())); } diff --git a/src/plugins/debugger/debugger.qbs b/src/plugins/debugger/debugger.qbs index 5666ea467f4..9032e846608 100644 --- a/src/plugins/debugger/debugger.qbs +++ b/src/plugins/debugger/debugger.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Debugger" diff --git a/src/plugins/debugger/ptracepreload.qbs b/src/plugins/debugger/ptracepreload.qbs index d92fd2a8bb8..0f31a6c55d4 100644 --- a/src/plugins/debugger/ptracepreload.qbs +++ b/src/plugins/debugger/ptracepreload.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../libs/QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "ptracepreload" diff --git a/src/plugins/designer/designer.qbs b/src/plugins/designer/designer.qbs index 68b211c7452..1c19d80a3a7 100644 --- a/src/plugins/designer/designer.qbs +++ b/src/plugins/designer/designer.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Designer" diff --git a/src/plugins/designer/formwizarddialog.cpp b/src/plugins/designer/formwizarddialog.cpp index a9b8407dfe1..4af2f27d2cc 100644 --- a/src/plugins/designer/formwizarddialog.cpp +++ b/src/plugins/designer/formwizarddialog.cpp @@ -54,7 +54,6 @@ FormWizardDialog::FormWizardDialog(const WizardPageList &extensionPages, void FormWizardDialog::init(const WizardPageList &extensionPages) { - Core::BaseFileWizard::setupWizard(this); setWindowTitle(tr("Qt Designer Form")); setPage(FormPageId, m_formPage); wizardProgress()->item(FormPageId)->setTitle(tr("Form Template")); diff --git a/src/plugins/designer/gotoslot_test.cpp b/src/plugins/designer/gotoslot_test.cpp index 357abaaed75..ef9ed568280 100644 --- a/src/plugins/designer/gotoslot_test.cpp +++ b/src/plugins/designer/gotoslot_test.cpp @@ -34,7 +34,7 @@ #else #include "formeditorw.h" -#include +#include #include #include @@ -47,6 +47,7 @@ #include using namespace Core; +using namespace Core::Internal::Tests; using namespace CppTools; using namespace CPlusPlus; using namespace Designer; @@ -54,7 +55,7 @@ using namespace Designer::Internal; namespace { -class MyTestDataDir : public Core::Tests::TestDataDir { +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &dir) : TestDataDir(QLatin1String(SRCDIR "/../../../tests/designer/") + dir) @@ -133,10 +134,7 @@ public: private: void cleanup() { - DocumentModel *documentModel = EditorManager::documentModel(); - const QList documents = documentModel->openedDocuments(); - const QList editors = documentModel->editorsForDocuments(documents); - Core::Tests::closeAndDeleteEditors(editors); + EditorManager::closeAllEditors(/*askAboutModifiedEditors =*/ false); QVERIFY(EditorManager::documentModel()->openedDocuments().isEmpty()); m_modelManager->GC(); diff --git a/src/plugins/diffeditor/diffeditor.qbs b/src/plugins/diffeditor/diffeditor.qbs index f9e47339630..69ef2c01dca 100644 --- a/src/plugins/diffeditor/diffeditor.qbs +++ b/src/plugins/diffeditor/diffeditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "DiffEditor" diff --git a/src/plugins/fakevim/fakevim.qbs b/src/plugins/fakevim/fakevim.qbs index fc9dfcbe7d4..4864bc0b501 100644 --- a/src/plugins/fakevim/fakevim.qbs +++ b/src/plugins/fakevim/fakevim.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "FakeVim" diff --git a/src/plugins/find/find.qbs b/src/plugins/find/find.qbs index d9f653ae43a..0b4a08986bc 100644 --- a/src/plugins/find/find.qbs +++ b/src/plugins/find/find.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Find" diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.qbs b/src/plugins/genericprojectmanager/genericprojectmanager.qbs index 8a47a547cbc..70386b06ca5 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.qbs +++ b/src/plugins/genericprojectmanager/genericprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "GenericProjectManager" diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp index 60b118b01ba..5f97652ca53 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp +++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp @@ -131,7 +131,6 @@ QWizard *GenericProjectWizard::createWizardDialog(QWidget *parent, const Core::WizardDialogParameters &wizardDialogParameters) const { GenericProjectWizardDialog *wizard = new GenericProjectWizardDialog(parent); - setupWizard(wizard); wizard->setPath(wizardDialogParameters.defaultPath()); diff --git a/src/plugins/git/branchdialog.ui b/src/plugins/git/branchdialog.ui index 11adc4cb4aa..92c50a68785 100644 --- a/src/plugins/git/branchdialog.ui +++ b/src/plugins/git/branchdialog.ui @@ -156,7 +156,7 @@ - Cherry Pick top commit from selected branch + Cherry pick top commit from selected branch. Cherry Pick @@ -166,7 +166,7 @@ - Sets current branch to track the selected one + Sets current branch to track the selected one. &Track diff --git a/src/plugins/git/git.qbs b/src/plugins/git/git.qbs index 154a08b5554..dd4e2e02055 100644 --- a/src/plugins/git/git.qbs +++ b/src/plugins/git/git.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Git" diff --git a/src/plugins/glsleditor/glsleditor.qbs b/src/plugins/glsleditor/glsleditor.qbs index d99571f1b5d..e9c97944643 100644 --- a/src/plugins/glsleditor/glsleditor.qbs +++ b/src/plugins/glsleditor/glsleditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "GLSLEditor" diff --git a/src/plugins/glsleditor/glslfilewizard.cpp b/src/plugins/glsleditor/glslfilewizard.cpp index 9d3809df192..0541ac9388f 100644 --- a/src/plugins/glsleditor/glslfilewizard.cpp +++ b/src/plugins/glsleditor/glslfilewizard.cpp @@ -132,7 +132,6 @@ QWizard *GLSLFileWizard::createWizardDialog(QWidget *parent, { GLSLFileWizardDialog *wizardDialog = new GLSLFileWizardDialog(parent); wizardDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(wizardDialog); wizardDialog->setPath(wizardDialogParameters.defaultPath()); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(p)); diff --git a/src/plugins/helloworld/helloworld.qbs b/src/plugins/helloworld/helloworld.qbs index e5546e282aa..a2c677c8be8 100644 --- a/src/plugins/helloworld/helloworld.qbs +++ b/src/plugins/helloworld/helloworld.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "HelloWorld" diff --git a/src/plugins/help/help.qbs b/src/plugins/help/help.qbs index e408ac47654..b4c8b62f377 100644 --- a/src/plugins/help/help.qbs +++ b/src/plugins/help/help.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Help" diff --git a/src/plugins/imageviewer/imageviewer.qbs b/src/plugins/imageviewer/imageviewer.qbs index 2f189e15634..2004340e93b 100644 --- a/src/plugins/imageviewer/imageviewer.qbs +++ b/src/plugins/imageviewer/imageviewer.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ImageViewer" diff --git a/src/plugins/ios/ios.qbs b/src/plugins/ios/ios.qbs index 5c1ad996c27..4a2019a3860 100644 --- a/src/plugins/ios/ios.qbs +++ b/src/plugins/ios/ios.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Ios" diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp index fb4012355c1..9f6dff19af4 100644 --- a/src/plugins/ios/iosconfigurations.cpp +++ b/src/plugins/ios/iosconfigurations.cpp @@ -68,7 +68,7 @@ using namespace ProjectExplorer; using namespace Utils; -static const bool debugProbe = true; +static const bool debugProbe = false; namespace Ios { namespace Internal { diff --git a/src/plugins/ios/iosdevice.cpp b/src/plugins/ios/iosdevice.cpp index 853328a0ff6..e5641426a57 100644 --- a/src/plugins/ios/iosdevice.cpp +++ b/src/plugins/ios/iosdevice.cpp @@ -269,7 +269,7 @@ void IosDeviceManager::updateInfo(const QString &devId) { IosToolHandler *requester = new IosToolHandler(IosToolHandler::IosDeviceType, this); connect(requester, SIGNAL(deviceInfo(Ios::IosToolHandler*,QString,Ios::IosToolHandler::Dict)), - SLOT(deviceInfo(Ios::IosToolHandler *,QString,Ios::IosToolHandler::Dict))); + SLOT(deviceInfo(Ios::IosToolHandler *,QString,Ios::IosToolHandler::Dict)), Qt::QueuedConnection); connect(requester, SIGNAL(finished(Ios::IosToolHandler*)), SLOT(infoGathererFinished(Ios::IosToolHandler*))); requester->requestDeviceInfo(devId); diff --git a/src/plugins/ios/iosplugin.cpp b/src/plugins/ios/iosplugin.cpp index c4eb2325750..5e53d9940fa 100644 --- a/src/plugins/ios/iosplugin.cpp +++ b/src/plugins/ios/iosplugin.cpp @@ -38,6 +38,7 @@ #include "iosmanager.h" #include "iosrunfactories.h" #include "iossettingspage.h" +#include "iostoolhandler.h" #include "iosqtversionfactory.h" #include "iosbuildstep.h" #include "iosdeploystepfactory.h" @@ -52,7 +53,9 @@ namespace Ios { IosPlugin::IosPlugin() -{ } +{ + qRegisterMetaType("Ios::IosToolHandler::Dict"); +} bool IosPlugin::initialize(const QStringList &arguments, QString *errorMessage) { diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp index c3643c9e370..bc784aea744 100644 --- a/src/plugins/ios/iostoolhandler.cpp +++ b/src/plugins/ios/iostoolhandler.cpp @@ -61,7 +61,7 @@ class MyProcess: public QProcess Q_OBJECT public: explicit MyProcess(QObject *parent = 0); - int processOutput(); + int processOutputSocket(); QSocketNotifier *notifier(); protected: virtual void setupChildProcess(); @@ -136,6 +136,7 @@ public: }; explicit IosToolHandlerPrivate(IosToolHandler::DeviceType devType, IosToolHandler *q); + virtual ~IosToolHandlerPrivate() {} virtual void requestTransferApp(const QString &bundlePath, const QString &deviceId, int timeout = 1000) = 0; virtual void requestRunApp(const QString &bundlePath, const QStringList &extraArgs, @@ -221,7 +222,7 @@ MyProcess::MyProcess(QObject *parent) : QProcess(parent) m_notifier = new QSocketNotifier(m_sockets[0], QSocketNotifier::Read, this); } -int MyProcess::processOutput() +int MyProcess::processOutputSocket() { return m_sockets[0]; } @@ -251,8 +252,8 @@ IosToolHandlerPrivate::IosToolHandlerPrivate(IosToolHandler::DeviceType devType, q, SLOT(subprocessFinished(int,QProcess::ExitStatus))); QObject::connect(&process, SIGNAL(error(QProcess::ProcessError)), q, SLOT(subprocessError(QProcess::ProcessError))); - int accessFlags = fcntl(process.processOutput(), F_GETFL); - if (fcntl(process.processOutput(), F_SETFL, accessFlags | O_NONBLOCK) == -1) + int accessFlags = fcntl(process.processOutputSocket(), F_GETFL); + if (fcntl(process.processOutputSocket(), F_SETFL, accessFlags | O_NONBLOCK) == -1) qDebug() << "IosToolHandler fcntl F_SETFL failed to set non blocking mode" << qt_error_string(errno); } @@ -277,9 +278,11 @@ void IosToolHandlerPrivate::stop() if (debugToolHandler) qDebug() << "IosToolHandlerPrivate::stop"; if (process.state() != QProcess::NotRunning) { - close(process.processOutput()); + close(process.processOutputSocket()); process.close(); process.kill(); + if (debugToolHandler) + qDebug() << "killing"; } if (state != Stopped) { state = Stopped; @@ -374,7 +377,7 @@ void IosToolHandlerPrivate::subprocessError(QProcess::ProcessError error) void IosToolHandlerPrivate::subprocessFinished(int exitCode, QProcess::ExitStatus exitStatus) { // process potentially pending data - subprocessHasData(process.processOutput()); + subprocessHasData(process.processOutputSocket()); switch (state) { case NonStarted: qDebug() << "subprocessFinished() when state was NonStarted"; @@ -944,6 +947,11 @@ IosToolHandler::IosToolHandler(DeviceType devType, QObject *parent) : d = new Internal::IosSimulatorToolHandlerPrivate(devType, this); } +IosToolHandler::~IosToolHandler() +{ + delete d; +} + void IosToolHandler::stop() { d->stop(); diff --git a/src/plugins/ios/iostoolhandler.h b/src/plugins/ios/iostoolhandler.h index e817acc102a..42c6cc0fd34 100644 --- a/src/plugins/ios/iostoolhandler.h +++ b/src/plugins/ios/iostoolhandler.h @@ -67,7 +67,9 @@ public: static QString iosDeviceToolPath(); static QString iosSimulatorToolPath(); + explicit IosToolHandler(DeviceType = IosDeviceType, QObject *parent = 0); + ~IosToolHandler(); void requestTransferApp(const QString &bundlePath, const QString &deviceId, int timeout = 1000); void requestRunApp(const QString &bundlePath, const QStringList &extraArgs, RunKind runType, const QString &deviceId, int timeout = 1000); diff --git a/src/plugins/locator/executefilter.cpp b/src/plugins/locator/executefilter.cpp index c820ab6d902..4b4ef46b0b6 100644 --- a/src/plugins/locator/executefilter.cpp +++ b/src/plugins/locator/executefilter.cpp @@ -127,9 +127,9 @@ void ExecuteFilter::finished(int exitCode, QProcess::ExitStatus status) const QString commandName = headCommand(); QString message; if (status == QProcess::NormalExit && exitCode == 0) - message = tr("Command '%1' finished").arg(commandName); + message = tr("Command '%1' finished.").arg(commandName); else - message = tr("Command '%1' failed").arg(commandName); + message = tr("Command '%1' failed.").arg(commandName); MessageManager::write(message); m_taskQueue.dequeue(); diff --git a/src/plugins/locator/locator.qbs b/src/plugins/locator/locator.qbs index b4ff3f5923f..0e06a3b4341 100644 --- a/src/plugins/locator/locator.qbs +++ b/src/plugins/locator/locator.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Locator" diff --git a/src/plugins/locator/locator_test.cpp b/src/plugins/locator/locator_test.cpp index 201a95e15dd..38b1287b82d 100644 --- a/src/plugins/locator/locator_test.cpp +++ b/src/plugins/locator/locator_test.cpp @@ -33,7 +33,7 @@ #include "basefilefilter.h" #include "locatorfiltertest.h" -#include +#include #include #include @@ -44,7 +44,7 @@ using namespace Locator::Internal::Tests; namespace { -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &testDataDirectory) diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp index 8e576444867..036a0f73204 100644 --- a/src/plugins/macros/macromanager.cpp +++ b/src/plugins/macros/macromanager.cpp @@ -288,7 +288,7 @@ void MacroManager::startMacro() QString endShortcut = Core::ActionManager::command(Constants::END_MACRO)->defaultKeySequence().toString(); QString executeShortcut = Core::ActionManager::command(Constants::EXECUTE_LAST_MACRO)->defaultKeySequence().toString(); - QString help = tr("Macro mode. Type \"%1\" to stop recording and \"%2\" to play it") + QString help = tr("Macro mode. Type \"%1\" to stop recording and \"%2\" to play the macro.") .arg(endShortcut).arg(executeShortcut); Core::EditorManager::showEditorStatusBar( QLatin1String(Constants::M_STATUS_BUFFER), diff --git a/src/plugins/macros/macros.qbs b/src/plugins/macros/macros.qbs index 6dcc377abe8..b9e90960a06 100644 --- a/src/plugins/macros/macros.qbs +++ b/src/plugins/macros/macros.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Macros" diff --git a/src/plugins/madde/madde.qbs b/src/plugins/madde/madde.qbs index 8cbfefaa8d1..1761381b424 100644 --- a/src/plugins/madde/madde.qbs +++ b/src/plugins/madde/madde.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Madde" diff --git a/src/plugins/mercurial/mercurial.qbs b/src/plugins/mercurial/mercurial.qbs index 734ba4b0b89..80611787e7e 100644 --- a/src/plugins/mercurial/mercurial.qbs +++ b/src/plugins/mercurial/mercurial.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Mercurial" diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp index eef368c1d8b..e4966d26271 100644 --- a/src/plugins/mercurial/mercurialclient.cpp +++ b/src/plugins/mercurial/mercurialclient.cpp @@ -428,9 +428,9 @@ public: const MercurialDiffParameters &p, QWidget *parent = 0) : VcsBase::VcsBaseEditorParameterWidget(parent), m_client(client), m_params(p) { - mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore whitespace")), + mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore Whitespace")), client->settings()->boolPointer(MercurialSettings::diffIgnoreWhiteSpaceKey)); - mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore blank lines")), + mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore Blank Lines")), client->settings()->boolPointer(MercurialSettings::diffIgnoreBlankLinesKey)); } diff --git a/src/plugins/perforce/perforce.qbs b/src/plugins/perforce/perforce.qbs index ee31c909594..9bc46fcee5c 100644 --- a/src/plugins/perforce/perforce.qbs +++ b/src/plugins/perforce/perforce.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Perforce" diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index eae49651a82..a4e42e28bdd 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -1215,7 +1215,7 @@ PerforceDiffParameterWidget::PerforceDiffParameterWidget(const PerforceDiffParam VcsBase::VcsBaseEditorParameterWidget(parent), m_parameters(p) { setBaseArguments(p.diffArguments); - addToggleButton(QLatin1String("w"), tr("Ignore whitespace")); + addToggleButton(QLatin1String("w"), tr("Ignore Whitespace")); connect(this, SIGNAL(argumentsChanged()), this, SLOT(triggerReRun())); } diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index 91653f64d6e..b20e24425fe 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -77,7 +77,7 @@ minQtVersion(5, 2, 0) { warning("QmlDesigner plugin has been disabled.") warning("QmlProfiler plugin has been disabled.") warning("Welcome plugin has been disabled.") - warning("These plugins need at least Qt 5.1.") + warning("These plugins need at least Qt 5.2.") } for(p, SUBDIRS) { diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp index bb4ba350c90..e7086f5a16a 100644 --- a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp +++ b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp @@ -89,7 +89,6 @@ BaseProjectWizardDialog::BaseProjectWizardDialog(Utils::ProjectIntroPage *introP void BaseProjectWizardDialog::init() { - Core::BaseFileWizard::setupWizard(this); if (d->introPageId == -1) { d->introPageId = addPage(d->introPage); } else { diff --git a/src/plugins/projectexplorer/customwizard/customwizard.cpp b/src/plugins/projectexplorer/customwizard/customwizard.cpp index e8c720f9e6d..d909765204b 100644 --- a/src/plugins/projectexplorer/customwizard/customwizard.cpp +++ b/src/plugins/projectexplorer/customwizard/customwizard.cpp @@ -145,7 +145,6 @@ void CustomWizard::initWizardDialog(Utils::Wizard *wizard, const QString &defaul customPage->setTitle(parameters()->fieldPageTitle); foreach (QWizardPage *ep, extensionPages) BaseFileWizard::applyExtensionPageShortTitle(wizard, wizard->addPage(ep)); - Core::BaseFileWizard::setupWizard(wizard); if (CustomWizardPrivate::verbose) qDebug() << "initWizardDialog" << wizard << wizard->pageIds(); } diff --git a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp index 861cb23b715..c2d736b3f51 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp @@ -174,8 +174,8 @@ GDB 32bit | Api | Api | N/A | Win32 ? QLatin1String("/win32interrupt.exe") : QLatin1String("/win64interrupt.exe"); if (!QFile::exists(executable)) { - appendMsgCannotInterrupt(pid, tr( "%1 does not exist. If you have built QtCreator " - "on your own ,checkout http://qt.gitorious.org/" + appendMsgCannotInterrupt(pid, tr( "%1 does not exist. If you built Qt Creator " + "yourself, check out http://qt.gitorious.org/" "qt-creator/binary-artifacts."). arg(QDir::toNativeSeparators(executable))); } diff --git a/src/plugins/projectexplorer/importwidget.cpp b/src/plugins/projectexplorer/importwidget.cpp index 01d0cb38802..e7e631f6cf1 100644 --- a/src/plugins/projectexplorer/importwidget.cpp +++ b/src/plugins/projectexplorer/importwidget.cpp @@ -48,7 +48,7 @@ ImportWidget::ImportWidget(QWidget *parent) : vboxLayout->setContentsMargins(0, 0, 0, 0); Utils::DetailsWidget *detailsWidget = new Utils::DetailsWidget(this); detailsWidget->setUseCheckBox(false); - detailsWidget->setSummaryText(tr("Import Build from...")); + detailsWidget->setSummaryText(tr("Import Build From...")); detailsWidget->setSummaryFontBold(true); // m_detailsWidget->setIcon(); // FIXME: Set icon! vboxLayout->addWidget(detailsWidget); diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs index a8311c4a16b..c27b0980e86 100644 --- a/src/plugins/projectexplorer/projectexplorer.qbs +++ b/src/plugins/projectexplorer/projectexplorer.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 -import "../../../qbs/functions.js" as QtcFunctions -import "../QtcPlugin.qbs" as QtcPlugin +import QtcFunctions +import QtcPlugin QtcPlugin { name: "ProjectExplorer" diff --git a/src/plugins/pythoneditor/pythoneditor.qbs b/src/plugins/pythoneditor/pythoneditor.qbs index 3b0a4899a65..0881ff31fc6 100644 --- a/src/plugins/pythoneditor/pythoneditor.qbs +++ b/src/plugins/pythoneditor/pythoneditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "PythonEditor" diff --git a/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp b/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp index 040a9c222b8..09e11a331de 100644 --- a/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp +++ b/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp @@ -41,7 +41,6 @@ ClassWizardDialog::ClassWizardDialog(QWidget *parent) , m_classNamePage(new ClassNamePage(this)) { setWindowTitle(tr("Python Class Wizard")); - Core::BaseFileWizard::setupWizard(this); const int classNameId = addPage(m_classNamePage.data()); wizardProgress()->item(classNameId)->setTitle(tr("Details")); } diff --git a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp b/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp index 67b21367bd0..45cd6a14ca1 100644 --- a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp +++ b/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp @@ -70,7 +70,6 @@ QWizard *FileWizard::createWizardDialog(QWidget *parent, { Utils::FileWizardDialog *pDialog = new Utils::FileWizardDialog(parent); pDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(pDialog); pDialog->setPath(params.defaultPath()); foreach (QWizardPage *p, params.extensionPages()) applyExtensionPageShortTitle(pDialog, pDialog->addPage(p)); diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs index ad64844f78a..adb89690872 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QbsProjectManager" diff --git a/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui b/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui index c827ddbcd75..dff9e50e55c 100644 --- a/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui +++ b/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui @@ -19,7 +19,7 @@ - Add Tab + Add tab: diff --git a/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp b/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp index 55cc1c432e7..9a04a2cec3e 100644 --- a/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp +++ b/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp @@ -151,7 +151,7 @@ void TabViewDesignerAction::addNewTab() QString newFilePath = directoryPath +QLatin1String("/") + tabName + QLatin1String(".qml"); if (QFileInfo(newFilePath).exists()) { - QMessageBox::warning(Core::ICore::mainWindow(), tr("Name error"), tr("Component already exists!")); + QMessageBox::warning(Core::ICore::mainWindow(), tr("Name Error"), tr("Component already exists.")); } else { bool fileCreated = createFile(newFilePath); diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index 5ceb949caab..9823207c8ed 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -333,9 +333,9 @@ void NavigatorTreeModel::handleChangedItem(QStandardItem *item) } else { if (!node.isValidId(item->text())) - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id").arg(item->text())); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id.").arg(item->text())); else - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists").arg(item->text())); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists.").arg(item->text())); bool blockSingals = blockItemChangedSignal(true); item->setText(node.id()); blockItemChangedSignal(blockSingals); diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp index 594f5265e9e..6d9cc3873d6 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp @@ -166,9 +166,9 @@ void PropertyEditorView::changeValue(const QString &name) value->setValue(m_selectedNode.id()); m_locked = false; if (!m_selectedNode.isValidId(newId)) - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id").arg(newId)); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id.").arg(newId)); else - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists").arg(newId)); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists.").arg(newId)); } return; } diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp index d0f4c7115a5..fa4ca766868 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp @@ -410,8 +410,8 @@ void NodeInstanceServerProxy::processFinished(int /*exitCode*/, QProcess::ExitSt if (m_captureFileForTest.isOpen()) { m_captureFileForTest.close(); m_captureFileForTest.remove(); - QMessageBox::warning(0, tr("QML Puppet Crashed"), tr("Your are recording a Puppet stream and the puppet crashed. " - "It is recommended to reopen the QML Designer and start again.")); + QMessageBox::warning(0, tr("QML Puppet Crashed"), tr("You are recording a puppet stream and the puppet crashed. " + "It is recommended to reopen the Qt Quick Designer and start again.")); } diff --git a/src/plugins/qmldesigner/qmldesigner.qbs b/src/plugins/qmldesigner/qmldesigner.qbs index f24e75bd3d8..a8f794fc004 100644 --- a/src/plugins/qmldesigner/qmldesigner.qbs +++ b/src/plugins/qmldesigner/qmldesigner.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlDesigner" diff --git a/src/plugins/qmljseditor/jsfilewizard.cpp b/src/plugins/qmljseditor/jsfilewizard.cpp index 9c790743b65..aeff9bece86 100644 --- a/src/plugins/qmljseditor/jsfilewizard.cpp +++ b/src/plugins/qmljseditor/jsfilewizard.cpp @@ -127,7 +127,6 @@ QWizard *JsFileWizard::createWizardDialog(QWidget *parent, { JsFileWizardDialog *wizardDialog = new JsFileWizardDialog(parent); wizardDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(wizardDialog); wizardDialog->setPath(wizardDialogParameters.defaultPath()); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(p)); diff --git a/src/plugins/qmljseditor/qmljseditor.qbs b/src/plugins/qmljseditor/qmljseditor.qbs index 5f460b0ce1c..7284d2a3422 100644 --- a/src/plugins/qmljseditor/qmljseditor.qbs +++ b/src/plugins/qmljseditor/qmljseditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlJSEditor" diff --git a/src/plugins/qmljstools/qmljstools.qbs b/src/plugins/qmljstools/qmljstools.qbs index 3a2b06a33eb..629cef4a153 100644 --- a/src/plugins/qmljstools/qmljstools.qbs +++ b/src/plugins/qmljstools/qmljstools.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlJSTools" diff --git a/src/plugins/qmlprofiler/qmlprofiler.qbs b/src/plugins/qmlprofiler/qmlprofiler.qbs index 2670654cf6e..a9d7554019f 100644 --- a/src/plugins/qmlprofiler/qmlprofiler.qbs +++ b/src/plugins/qmlprofiler/qmlprofiler.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlProfiler" diff --git a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp index 46df68f9b3a..82af434a312 100644 --- a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp +++ b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp @@ -72,7 +72,7 @@ void QmlProfilerDataState::setState(QmlProfilerDataState::State state) QTC_ASSERT(m_state == ProcessingData || m_state == Empty, return); break; default: - emit error(tr("Trying to set unknown state in events list")); + emit error(tr("Trying to set unknown state in events list.")); break; } @@ -271,7 +271,7 @@ void QmlProfilerModelManager::complete() if (state() == QmlProfilerDataState::Done) { // repeated Done states are ignored } else { - emit error(tr("Unexpected complete signal in data model")); + emit error(tr("Unexpected complete signal in data model.")); } } diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs index dbb26a55f57..94652ae91ff 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs +++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlProjectManager" diff --git a/src/plugins/qnx/blackberryconfiguration.cpp b/src/plugins/qnx/blackberryconfiguration.cpp index c000b29afca..228df755499 100644 --- a/src/plugins/qnx/blackberryconfiguration.cpp +++ b/src/plugins/qnx/blackberryconfiguration.cpp @@ -310,7 +310,7 @@ bool BlackBerryConfiguration::activate() if (m_isAutoDetected) return false; - QString errorMessage = tr("The following errors occurred while activating Target: %1").arg(m_targetName); + QString errorMessage = tr("The following errors occurred while activating target: %1").arg(m_targetName); if (m_qmake4BinaryFile.isEmpty() && m_qmake5BinaryFile.isEmpty()) errorMessage += QLatin1Char('\n') + tr("- No Qt version found."); diff --git a/src/plugins/qnx/blackberryconfigurationmanager.cpp b/src/plugins/qnx/blackberryconfigurationmanager.cpp index fab197f2599..c8a99e844d1 100644 --- a/src/plugins/qnx/blackberryconfigurationmanager.cpp +++ b/src/plugins/qnx/blackberryconfigurationmanager.cpp @@ -216,7 +216,7 @@ bool BlackBerryConfigurationManager::addConfiguration(BlackBerryConfiguration *c if (c->ndkPath() == config->ndkPath() && c->targetName() == config->targetName()) { if (!config->isAutoDetected()) - QMessageBox::warning(0, tr("NDK Already known"), + QMessageBox::warning(0, tr("NDK Already Known"), tr("The NDK already has a configuration."), QMessageBox::Ok); return false; } diff --git a/src/plugins/qnx/blackberrycreatecertificatedialog.cpp b/src/plugins/qnx/blackberrycreatecertificatedialog.cpp index 3fd3ac18c96..1d61daed124 100644 --- a/src/plugins/qnx/blackberrycreatecertificatedialog.cpp +++ b/src/plugins/qnx/blackberrycreatecertificatedialog.cpp @@ -172,20 +172,20 @@ void BlackBerryCreateCertificateDialog::certificateCreated(int status) accept(); return; case BlackBerryCertificate::Busy: - errorMessage = tr("The blackberry-keytool process is already running"); + errorMessage = tr("The blackberry-keytool process is already running."); break; case BlackBerryCertificate::WrongPassword: - errorMessage = tr("The enteres password is invalid"); + errorMessage = tr("The password entered is invalid."); break; case BlackBerryCertificate::PasswordTooSmall: - errorMessage = tr("The enteres password is too small"); + errorMessage = tr("The password entered is too short."); break; case BlackBerryCertificate::InvalidOutputFormat: - errorMessage = tr("Invalid output format"); + errorMessage = tr("Invalid output format."); break; case BlackBerryCertificate::Error: default: - errorMessage = tr("An unknown error occurred"); + errorMessage = tr("An unknown error occurred."); break; } diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp index 73f9e36a350..52a29f84747 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp @@ -41,7 +41,7 @@ using namespace Qnx; using namespace Qnx::Internal; BlackBerryDeviceConfigurationWizard::BlackBerryDeviceConfigurationWizard(QWidget *parent) : - QWizard(parent) + Utils::Wizard(parent) { setWindowTitle(tr("New BlackBerry Device Configuration Setup")); diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizard.h b/src/plugins/qnx/blackberrydeviceconfigurationwizard.h index 024e9eb8550..0aea5a6c104 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizard.h +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizard.h @@ -34,14 +34,13 @@ #include "blackberrydeviceconfigurationwizardpages.h" -#include - #include +#include namespace Qnx { namespace Internal { -class BlackBerryDeviceConfigurationWizard : public QWizard +class BlackBerryDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui b/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui index e59a39eba4a..386882cbc3c 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui @@ -52,7 +52,7 @@ - Debug Token is needed for BlackBerry applications deployment to a device. + Debug token is needed for deploying applications to BlackBerry devices. true @@ -120,7 +120,7 @@ - Host name/IP: + Host name or IP address: diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp index 9d0437a93a7..0a83d52dff6 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp @@ -75,7 +75,7 @@ BlackBerryDeviceConfigurationWizardSetupPage::BlackBerryDeviceConfigurationWizar { m_ui->setupUi(this); - setTitle(tr("Connection Details")); + setTitle(tr("Connection")); connect(m_ui->deviceListWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onDeviceSelectionChanged())); connect(m_deviceListDetector, SIGNAL(deviceDetected(QString,QString,bool)), @@ -225,7 +225,7 @@ BlackBerryDeviceConfigurationWizardQueryPage::BlackBerryDeviceConfigurationWizar , m_deviceInformation(new BlackBerryDeviceInformation(this)) { m_ui->setupUi(this); - setTitle(tr("Query Device Information")); + setTitle(tr("Device Information")); m_ui->progressBar->setMaximum(Done); connect(m_deviceInformation,SIGNAL(finished(int)),this,SLOT(processQueryFinished(int))); @@ -426,7 +426,7 @@ QString BlackBerryDeviceConfigurationWizardConfigPage::debugToken() const BlackBerryDeviceConfigurationWizardFinalPage::BlackBerryDeviceConfigurationWizardFinalPage(QWidget *parent) : QWizardPage(parent) { - setTitle(tr("Setup Finished")); + setTitle(tr("Summary")); QVBoxLayout *layout = new QVBoxLayout(this); QLabel *label = new QLabel(tr("The new device configuration will be created now."), this); diff --git a/src/plugins/qnx/blackberryinstallwizard.cpp b/src/plugins/qnx/blackberryinstallwizard.cpp index ffa3076fe78..ee0b0f30500 100644 --- a/src/plugins/qnx/blackberryinstallwizard.cpp +++ b/src/plugins/qnx/blackberryinstallwizard.cpp @@ -42,7 +42,7 @@ using namespace Qnx::Internal; BlackBerryInstallWizard::BlackBerryInstallWizard(BlackBerryInstallerDataHandler::Mode mode, const QString& version, QWidget *parent) - : QWizard(parent) + : Utils::Wizard(parent) , m_ndkPage(0) , m_targetPage(0) { diff --git a/src/plugins/qnx/blackberryinstallwizard.h b/src/plugins/qnx/blackberryinstallwizard.h index b81a26e6364..c00b7970cdb 100644 --- a/src/plugins/qnx/blackberryinstallwizard.h +++ b/src/plugins/qnx/blackberryinstallwizard.h @@ -32,9 +32,9 @@ #ifndef QNX_INTERNAL_BLACKBERRYDEVICECONFIGURATIONWIZARD_H #define QNX_INTERNAL_BLACKBERRYDEVICECONFIGURATIONWIZARD_H -#include +#include -#include +#include namespace Qnx { namespace Internal { @@ -61,7 +61,7 @@ public: Mode mode; }; -class BlackBerryInstallWizard : public QWizard +class BlackBerryInstallWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/qnx/blackberryinstallwizardpages.cpp b/src/plugins/qnx/blackberryinstallwizardpages.cpp index 442f91feec5..39033251d5a 100644 --- a/src/plugins/qnx/blackberryinstallwizardpages.cpp +++ b/src/plugins/qnx/blackberryinstallwizardpages.cpp @@ -100,8 +100,8 @@ BlackBerryInstallWizardOptionPage::BlackBerryInstallWizardOptionPage(BlackBerryI void BlackBerryInstallWizardOptionPage::initializePage() { - m_installButton->setText(tr("Install a new target")); - m_addButton->setText(tr("Add an existing target")); + m_installButton->setText(tr("Install New Target")); + m_addButton->setText(tr("Add Existing Target")); if (m_data.mode == BlackBerryInstallerDataHandler::ManuallMode) m_addButton->setChecked(true); diff --git a/src/plugins/qnx/blackberrykeyswidget.cpp b/src/plugins/qnx/blackberrykeyswidget.cpp index 31ded4630d0..8a3715279d3 100644 --- a/src/plugins/qnx/blackberrykeyswidget.cpp +++ b/src/plugins/qnx/blackberrykeyswidget.cpp @@ -83,7 +83,7 @@ void BlackBerryKeysWidget::certificateLoaded(int status) case BlackBerryCertificate::Busy: case BlackBerryCertificate::InvalidOutputFormat: case BlackBerryCertificate::Error: - setCertificateError(tr("Error loading certificate!")); + setCertificateError(tr("Error loading certificate.")); m_ui->openCertificateButton->setVisible(true); break; } diff --git a/src/plugins/qnx/blackberrykeyswidget.ui b/src/plugins/qnx/blackberrykeyswidget.ui index da510fff6eb..7d1db06b974 100644 --- a/src/plugins/qnx/blackberrykeyswidget.ui +++ b/src/plugins/qnx/blackberrykeyswidget.ui @@ -156,21 +156,21 @@ - Open certificate + Open Certificate - Clear certificate + Clear Certificate - Create certificate + Create Certificate diff --git a/src/plugins/qnx/blackberryndksettingswidget.ui b/src/plugins/qnx/blackberryndksettingswidget.ui index bb0fdd4339d..57d608b1a52 100644 --- a/src/plugins/qnx/blackberryndksettingswidget.ui +++ b/src/plugins/qnx/blackberryndksettingswidget.ui @@ -163,7 +163,7 @@ - Add + Add diff --git a/src/plugins/qnx/blackberrysetupwizard.cpp b/src/plugins/qnx/blackberrysetupwizard.cpp index 8c0427feb5e..43cc73a7c04 100644 --- a/src/plugins/qnx/blackberrysetupwizard.cpp +++ b/src/plugins/qnx/blackberrysetupwizard.cpp @@ -57,7 +57,7 @@ using namespace Qnx; using namespace Qnx::Internal; BlackBerrySetupWizard::BlackBerrySetupWizard(QWidget *parent) : - QWizard(parent), + Utils::Wizard(parent), m_ndkPage(0), m_keysPage(0), m_certificatePage(0), diff --git a/src/plugins/qnx/blackberrysetupwizard.h b/src/plugins/qnx/blackberrysetupwizard.h index e40530aff0d..a224ed6487c 100644 --- a/src/plugins/qnx/blackberrysetupwizard.h +++ b/src/plugins/qnx/blackberrysetupwizard.h @@ -32,12 +32,12 @@ #ifndef BLACKBERRYSETUPWIZARD_H #define BLACKBERRYSETUPWIZARD_H -#include +#include +#include + #include #include -#include - namespace QSsh { class SshKeyGenerator; } @@ -57,7 +57,7 @@ class BlackBerryDebugTokenRequester; class BlackBerryDebugTokenUploader; class BlackBerrySigningUtils; -class BlackBerrySetupWizard : public QWizard +class BlackBerrySetupWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/qnx/blackberrysigningutils.cpp b/src/plugins/qnx/blackberrysigningutils.cpp index 646205ae3e8..9905d7515c1 100644 --- a/src/plugins/qnx/blackberrysigningutils.cpp +++ b/src/plugins/qnx/blackberrysigningutils.cpp @@ -85,7 +85,7 @@ bool BlackBerrySigningUtils::hasDefaultCertificate() QString BlackBerrySigningUtils::cskPassword() { if (m_cskPassword.isEmpty()) - m_cskPassword = promptPassword(tr("Please provide your bbidtoken.csk PIN")); + m_cskPassword = promptPassword(tr("Please provide your bbidtoken.csk PIN.")); return m_cskPassword; } @@ -93,7 +93,7 @@ QString BlackBerrySigningUtils::cskPassword() QString BlackBerrySigningUtils::certificatePassword() { if (m_certificatePassword.isEmpty()) - m_certificatePassword = promptPassword(tr("Please enter your certificate password")); + m_certificatePassword = promptPassword(tr("Please enter your certificate password.")); return m_certificatePassword; } diff --git a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp index ca8e05e27c8..3291e0c7623 100644 --- a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp +++ b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp @@ -78,7 +78,7 @@ CascadesImportWizardDialog::CascadesImportWizardDialog(QWidget *parent) wizardProgress()->item(srcProjectPageId)->setTitle(tr("Momentics")); const int destProjectPageId = addPage(m_destProjectPage); - wizardProgress()->item(destProjectPageId)->setTitle(tr("QtCreator")); + wizardProgress()->item(destProjectPageId)->setTitle(tr("Qt Creator")); connect(m_srcProjectPage, SIGNAL(validPathChanged(QString)), this, SLOT(onSrcProjectPathChanged(QString))); } @@ -120,7 +120,7 @@ CascadesImportWizard::CascadesImportWizard(QObject *parent) setId(QLatin1String("Q.QnxBlackBerryCascadesApp")); setRequiredFeatures(Core::FeatureSet(Constants::QNX_BB_FEATURE)); setDescription(tr("Imports existing Cascades projects created within QNX Momentics IDE. " - "This allows you to use the project in QtCreator.")); + "This allows you to use the project in Qt Creator.")); setCategory(QLatin1String(ProjectExplorer::Constants::IMPORT_WIZARD_CATEGORY)); setDisplayCategory(QLatin1String(ProjectExplorer::Constants::IMPORT_WIZARD_CATEGORY_DISPLAY)); } @@ -143,7 +143,6 @@ QWizard *CascadesImportWizard::createWizardDialog(QWidget *parent, const Core::WizardDialogParameters &wizardDialogParameters) const { CascadesImportWizardDialog *wizard = new CascadesImportWizardDialog(parent); - setupWizard(wizard); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizard, wizard->addPage(p)); diff --git a/src/plugins/qnx/qnx.qbs b/src/plugins/qnx/qnx.qbs index 5fdba888845..1a9af37cefb 100644 --- a/src/plugins/qnx/qnx.qbs +++ b/src/plugins/qnx/qnx.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Qnx" diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp index 01ef63389d0..f99480b6d91 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp +++ b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp @@ -44,7 +44,7 @@ using namespace Qnx; using namespace Qnx::Internal; QnxDeviceConfigurationWizard::QnxDeviceConfigurationWizard(QWidget *parent) : - QWizard(parent) + Utils::Wizard(parent) { setWindowTitle(tr("New QNX Device Configuration Setup")); diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizard.h b/src/plugins/qnx/qnxdeviceconfigurationwizard.h index 689fda13755..e8fc653940f 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizard.h +++ b/src/plugins/qnx/qnxdeviceconfigurationwizard.h @@ -32,9 +32,8 @@ #ifndef QNX_INTERNAL_QNXDEVICECONFIGURATIONWIZARD_H #define QNX_INTERNAL_QNXDEVICECONFIGURATIONWIZARD_H -#include - #include +#include namespace RemoteLinux { class GenericLinuxDeviceConfigurationWizardSetupPage; @@ -44,7 +43,7 @@ class GenericLinuxDeviceConfigurationWizardFinalPage; namespace Qnx { namespace Internal { -class QnxDeviceConfigurationWizard : public QWizard +class QnxDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp index 1db0e0d0298..3e215d1a858 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp @@ -438,7 +438,7 @@ bool Qt4RunConfiguration::fromMap(const QVariantMap &map) m_parseSuccess = static_cast(target()->project())->validParse(m_proFilePath); m_parseInProgress = static_cast(target()->project())->parseInProgress(m_proFilePath); - return RunConfiguration::fromMap(map); + return LocalApplicationRunConfiguration::fromMap(map); } QString Qt4RunConfiguration::executable() const diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qbs b/src/plugins/qt4projectmanager/qt4projectmanager.qbs index 83f8c5bde20..16964a03620 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qbs +++ b/src/plugins/qt4projectmanager/qt4projectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Qt4ProjectManager" @@ -10,9 +10,7 @@ QtcPlugin { Depends { name: "ProjectExplorer" } Depends { name: "QtSupport" } Depends { name: "CppTools" } - Depends { name: "Debugger" } Depends { name: "QmlJS" } - Depends { name: "CPlusPlus" } Depends { name: "TextEditor" } Depends { name: "QmlJSTools" } diff --git a/src/plugins/qtsupport/qtsupport.qbs b/src/plugins/qtsupport/qtsupport.qbs index d6142bdcfc2..7c03c0052b7 100644 --- a/src/plugins/qtsupport/qtsupport.qbs +++ b/src/plugins/qtsupport/qtsupport.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 -import "../../../qbs/functions.js" as QtcFunctions -import "../QtcPlugin.qbs" as QtcPlugin +import QtcFunctions +import QtcPlugin QtcPlugin { name: "QtSupport" diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp index 8ad502a052e..b54825f7103 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp @@ -58,7 +58,7 @@ public: } // namespace Internal GenericLinuxDeviceConfigurationWizard::GenericLinuxDeviceConfigurationWizard(QWidget *parent) - : QWizard(parent), + : Utils::Wizard(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardPrivate(this)) { setWindowTitle(tr("New Generic Linux Device Configuration Setup")); diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h index 2ca937fddbe..daefdc1eaa0 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h @@ -32,15 +32,14 @@ #include "remotelinux_export.h" #include - -#include +#include namespace RemoteLinux { namespace Internal { class GenericLinuxDeviceConfigurationWizardPrivate; } // namespace Internal -class REMOTELINUX_EXPORT GenericLinuxDeviceConfigurationWizard : public QWizard +class REMOTELINUX_EXPORT GenericLinuxDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp index a64c3ba05eb..e23a3ff903d 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp @@ -56,7 +56,7 @@ GenericLinuxDeviceConfigurationWizardSetupPage::GenericLinuxDeviceConfigurationW QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardSetupPagePrivate) { d->ui.setupUi(this); - setTitle(tr("Connection Data")); + setTitle(tr("Connection")); setSubTitle(QLatin1String(" ")); // For Qt bug (background color) d->ui.privateKeyPathChooser->setExpectedKind(PathChooser::File); d->ui.privateKeyPathChooser->setPromptDialogTitle(tr("Choose a Private Key File")); @@ -153,7 +153,7 @@ void GenericLinuxDeviceConfigurationWizardSetupPage::handleAuthTypeChanged() GenericLinuxDeviceConfigurationWizardFinalPage::GenericLinuxDeviceConfigurationWizardFinalPage(QWidget *parent) : QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardFinalPagePrivate) { - setTitle(tr("Setup Finished")); + setTitle(tr("Summary")); setSubTitle(QLatin1String(" ")); // For Qt bug (background color) d->infoLabel.setWordWrap(true); QVBoxLayout * const layout = new QVBoxLayout(this); diff --git a/src/plugins/remotelinux/remotelinux.qbs b/src/plugins/remotelinux/remotelinux.qbs index 536e9bfcc84..87d3984733e 100644 --- a/src/plugins/remotelinux/remotelinux.qbs +++ b/src/plugins/remotelinux/remotelinux.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "RemoteLinux" diff --git a/src/plugins/resourceeditor/resourceeditor.qbs b/src/plugins/resourceeditor/resourceeditor.qbs index 479b4b65529..bac08834000 100644 --- a/src/plugins/resourceeditor/resourceeditor.qbs +++ b/src/plugins/resourceeditor/resourceeditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ResourceEditor" diff --git a/src/plugins/subversion/subversion.qbs b/src/plugins/subversion/subversion.qbs index ed5571e47c0..d213ce0f776 100644 --- a/src/plugins/subversion/subversion.qbs +++ b/src/plugins/subversion/subversion.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Subversion" diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index 7e3d7fd1619..d41c1b24286 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -531,7 +531,7 @@ SubversionDiffParameterWidget::SubversionDiffParameterWidget(const SubversionDif VcsBase::VcsBaseEditorParameterWidget(parent), m_parameters(p) { setBaseArguments(p.arguments); - addToggleButton(QLatin1String("w"), tr("Ignore whitespace")); + addToggleButton(QLatin1String("w"), tr("Ignore Whitespace")); connect(this, SIGNAL(argumentsChanged()), this, SLOT(triggerReRun())); } diff --git a/src/plugins/tasklist/tasklist.qbs b/src/plugins/tasklist/tasklist.qbs index f6b68ed869d..8374262e75b 100644 --- a/src/plugins/tasklist/tasklist.qbs +++ b/src/plugins/tasklist/tasklist.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "TaskList" diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 9ba6c45b12e..06d6e6401e0 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -6010,7 +6010,6 @@ void BaseTextEditorWidget::insertFromMimeData(const QMimeData *source) d->m_snippetOverlay->clear(); } - const TabSettings &ts = d->m_document->tabSettings(); const TypingSettings &tps = d->m_document->typingSettings(); QTextCursor cursor = textCursor(); if (!tps.m_autoIndent) { @@ -6024,7 +6023,7 @@ void BaseTextEditorWidget::insertFromMimeData(const QMimeData *source) cursor.beginEditBlock(); cursor.removeSelectedText(); - bool insertAtBeginningOfLine = ts.cursorIsAtBeginningOfLine(cursor); + bool insertAtBeginningOfLine = TabSettings::cursorIsAtBeginningOfLine(cursor); if (insertAtBeginningOfLine && source->hasFormat(QLatin1String(kTextBlockMimeType))) { diff --git a/src/plugins/texteditor/behaviorsettingswidget.ui b/src/plugins/texteditor/behaviorsettingswidget.ui index 60ea6a35cd8..324313b74af 100644 --- a/src/plugins/texteditor/behaviorsettingswidget.ui +++ b/src/plugins/texteditor/behaviorsettingswidget.ui @@ -11,7 +11,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -342,15 +351,41 @@ Specifies how backspace interacts with indentation. - - - - - Show help tooltips: + + + Press Alt to display context-sensitive help or type information as tooltips. + + + Show help tooltips using keyboard shortcut (Alt) + + + + + + + Show help tooltips using the mouse: + + + + + + + + + Qt::Horizontal - + + QSizePolicy::Fixed + + + + 30 + 20 + + + - + @@ -364,8 +399,8 @@ Specifies how backspace interacts with indentation. - - + + Qt::Horizontal @@ -377,16 +412,6 @@ Specifies how backspace interacts with indentation. - - - - Press Alt to display context-sensitive help or type information as tooltips. - - - Using keyboard shortcut (Alt) - - - diff --git a/src/plugins/texteditor/codeassist/functionhintproposal.cpp b/src/plugins/texteditor/codeassist/functionhintproposal.cpp index 226d50308b7..0a46436b91b 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposal.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposal.cpp @@ -43,7 +43,7 @@ FunctionHintProposal::~FunctionHintProposal() bool FunctionHintProposal::isFragile() const { - return true; + return false; } int FunctionHintProposal::basePosition() const diff --git a/src/plugins/texteditor/texteditor.qbs b/src/plugins/texteditor/texteditor.qbs index cf5e4b68e62..5f0505c6eb6 100644 --- a/src/plugins/texteditor/texteditor.qbs +++ b/src/plugins/texteditor/texteditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "TextEditor" diff --git a/src/plugins/todo/todo.qbs b/src/plugins/todo/todo.qbs index ee29a494626..d316c081c61 100644 --- a/src/plugins/todo/todo.qbs +++ b/src/plugins/todo/todo.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Todo" diff --git a/src/plugins/updateinfo/updateinfo.qbs b/src/plugins/updateinfo/updateinfo.qbs index a2e15ec828f..ad9f0ede4bb 100644 --- a/src/plugins/updateinfo/updateinfo.qbs +++ b/src/plugins/updateinfo/updateinfo.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "UpdateInfo" diff --git a/src/plugins/valgrind/valgrind.qbs b/src/plugins/valgrind/valgrind.qbs index a0e758ab499..7011248e45d 100644 --- a/src/plugins/valgrind/valgrind.qbs +++ b/src/plugins/valgrind/valgrind.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Valgrind" diff --git a/src/plugins/vcsbase/checkoutwizarddialog.cpp b/src/plugins/vcsbase/checkoutwizarddialog.cpp index 49e2f25d0ef..091624aec3b 100644 --- a/src/plugins/vcsbase/checkoutwizarddialog.cpp +++ b/src/plugins/vcsbase/checkoutwizarddialog.cpp @@ -51,14 +51,12 @@ CheckoutWizardDialog::CheckoutWizardDialog(const QList ¶meter m_progressPage(new CheckoutProgressWizardPage), m_progressPageId(-1) { - setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); foreach (QWizardPage *wp, parameterPages) addPage(wp); m_progressPageId = parameterPages.size(); setPage(m_progressPageId, m_progressPage); connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotPageChanged(int))); connect(m_progressPage, SIGNAL(terminated(bool)), this, SLOT(slotTerminated(bool))); - Core::BaseFileWizard::setupWizard(this); } void CheckoutWizardDialog::setTitle(const QString &title) diff --git a/src/plugins/vcsbase/vcsbase.qbs b/src/plugins/vcsbase/vcsbase.qbs index c901d3d9a18..ff0b5ce8e8b 100644 --- a/src/plugins/vcsbase/vcsbase.qbs +++ b/src/plugins/vcsbase/vcsbase.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "VcsBase" diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index 2f30cc16462..322f64c2ba3 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -234,9 +234,11 @@ VcsBaseSubmitEditor::VcsBaseSubmitEditor(const VcsBaseSubmitEditorParameters *pa connect(VcsPlugin::instance(), SIGNAL(settingsChanged(VcsBase::Internal::CommonVcsSettings)), this, SLOT(slotUpdateEditorSettings(VcsBase::Internal::CommonVcsSettings))); + // Commit data refresh might lead to closing the editor, so use a queued connection connect(Core::EditorManager::instance(), SIGNAL(currentEditorChanged(Core::IEditor*)), - this, SLOT(slotRefreshCommitData())); - connect(Core::ICore::mainWindow(), SIGNAL(windowActivated()), this, SLOT(slotRefreshCommitData())); + this, SLOT(slotRefreshCommitData()), Qt::QueuedConnection); + connect(Core::ICore::mainWindow(), SIGNAL(windowActivated()), + this, SLOT(slotRefreshCommitData()), Qt::QueuedConnection); Aggregation::Aggregate *aggregate = new Aggregation::Aggregate; aggregate->add(new Find::BaseTextFind(descriptionEdit)); diff --git a/src/plugins/welcome/welcome.qbs b/src/plugins/welcome/welcome.qbs index 8cde310ec98..70fd6cc691f 100644 --- a/src/plugins/welcome/welcome.qbs +++ b/src/plugins/welcome/welcome.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Welcome" diff --git a/src/qtcreatorplugin.pri b/src/qtcreatorplugin.pri index 811227bbc20..c243fa11801 100644 --- a/src/qtcreatorplugin.pri +++ b/src/qtcreatorplugin.pri @@ -92,7 +92,7 @@ copy2build.input = PLUGINSPEC isEmpty(vcproj):copy2build.variable_out = PRE_TARGETDEPS copy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} copy2build.name = COPY ${QMAKE_FILE_IN} -copy2build.CONFIG += no_link +copy2build.CONFIG += no_link no_clean QMAKE_EXTRA_COMPILERS += copy2build greaterThan(QT_MAJOR_VERSION, 4) { diff --git a/src/shared/qbs b/src/shared/qbs index e0d292b0804..436027d7ae9 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit e0d292b08046c5a257b23cd45a7bebe0849bc42c +Subproject commit 436027d7ae9c7ff1732caca36c6f11161b80c4cc diff --git a/src/tools/3rdparty/iossim/iossim.qbs b/src/tools/3rdparty/iossim/iossim.qbs index 5d77d9f1891..eab1a9969d6 100644 --- a/src/tools/3rdparty/iossim/iossim.qbs +++ b/src/tools/3rdparty/iossim/iossim.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { diff --git a/src/tools/iostool/iostool.qbs b/src/tools/iostool/iostool.qbs index d0ed9ff9d52..b893b61711c 100644 --- a/src/tools/iostool/iostool.qbs +++ b/src/tools/iostool/iostool.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "iostool" diff --git a/src/tools/qtcdebugger/qtcdebugger.qbs b/src/tools/qtcdebugger/qtcdebugger.qbs index 284ad71118e..1895eb917fe 100644 --- a/src/tools/qtcdebugger/qtcdebugger.qbs +++ b/src/tools/qtcdebugger/qtcdebugger.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcdebugger" diff --git a/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs b/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs index 4b5a4910cc6..2bd9b70d383 100644 --- a/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs +++ b/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcreator_crash_handler" diff --git a/src/tools/qtpromaker/qtpromaker.qbs b/src/tools/qtpromaker/qtpromaker.qbs index 7c441d8fec7..b23fb9f0ae7 100644 --- a/src/tools/qtpromaker/qtpromaker.qbs +++ b/src/tools/qtpromaker/qtpromaker.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtpromaker" diff --git a/src/tools/sdktool/sdktool.qbs b/src/tools/sdktool/sdktool.qbs index a8ea1aae1fb..019df95b872 100644 --- a/src/tools/sdktool/sdktool.qbs +++ b/src/tools/sdktool/sdktool.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "sdktool" diff --git a/tests/auto/cplusplus/ast/tst_ast.cpp b/tests/auto/cplusplus/ast/tst_ast.cpp index f97b47a82e7..329662892e8 100644 --- a/tests/auto/cplusplus/ast/tst_ast.cpp +++ b/tests/auto/cplusplus/ast/tst_ast.cpp @@ -152,6 +152,10 @@ private slots: void cpp_constructor_multiple_args(); void cpp_constructor_function_try_catch(); + // Q_PROPERTY + void cpp_qproperty(); + void cpp_qproperty_data(); + // objc++ void objc_simple_class(); void objc_attributes_followed_by_at_keyword(); @@ -1235,6 +1239,39 @@ void tst_AST::cpp_constructor_function_try_catch() QVERIFY(funDecl->parameter_declaration_clause->parameter_declaration_list != 0); } +void tst_AST::cpp_qproperty() +{ + QFETCH(QByteArray, source); + QVERIFY(!source.isEmpty()); + + const QByteArray sourceWithinClass = "class C { " + source + " };"; + QSharedPointer unit(parseDeclaration(sourceWithinClass, false, true)); + QVERIFY(unit->ast()); + + QCOMPARE(diag.errorCount, 0); +} + +void tst_AST::cpp_qproperty_data() +{ + QTest::addColumn("source"); + + QTest::newRow("read-final") + << QByteArray("Q_PROPERTY(bool focus READ hasFocus FINAL)"); + QTest::newRow("read-write-final") + << QByteArray("Q_PROPERTY(bool focus READ hasFocus WRITE setFocus FINAL)"); + QTest::newRow("member-final") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus FINAL)"); + QTest::newRow("member-read-final") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus READ m_focus FINAL)"); + QTest::newRow("member-read-write-final") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus READ hasFocus WRITE setFocus FINAL)"); + + QTest::newRow("all") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus READ hasFocus WRITE setFocus" + " RESET resetFocus NOTIFY focusChanged REVISION 1 DESIGNABLE true" + " SCRIPTABLE true STORED true USER true CONSTANT FINAL)"); +} + void tst_AST::objc_simple_class() { QSharedPointer unit(parseDeclaration("\n" diff --git a/tests/auto/extensionsystem/plugin.qbs b/tests/auto/extensionsystem/plugin.qbs index 652fa19fb43..829ed3a6de9 100644 --- a/tests/auto/extensionsystem/plugin.qbs +++ b/tests/auto/extensionsystem/plugin.qbs @@ -1,7 +1,7 @@ import qbs import qbs.FileInfo import "./copytransformer.qbs" as CopyTransformer -import "../../../qbs/functions.js" as QtcFunctions +import QtcFunctions DynamicLibrary { Depends { name: "Aggregation" } diff --git a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp index b0d52e833d8..d48ca4d0b00 100644 --- a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp +++ b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp @@ -1111,7 +1111,7 @@ void tst_TestCore::testModelCreateSubNode() try { childNode.setId("invalid id"); - QFAIL("Setting an invalid id does not throw an excxeption"); + QFAIL("Setting an invalid id does not throw an exception"); } catch (Exception &exception) { QCOMPARE(exception.type(), QString("InvalidIdException")); }