diff --git a/dist/changes-2.8.1 b/dist/changes-2.8.1 new file mode 100644 index 0000000000000000000000000000000000000000..8bcc2f61483a1f8d2aa4850ca2d489a8c221d810 --- /dev/null +++ b/dist/changes-2.8.1 @@ -0,0 +1,134 @@ + +Qt Creator version 2.8.1 is a bugfix release. + +The most important changes are listed in this document. For a complete +list of changes, see the Git log for the Qt Creator sources that +you can check out from the public Git repository. For example: + +git clone git://gitorious.org/qt-creator/qt-creator.git +git log --cherry-pick --pretty=oneline v2.8.0..v2.8.1 + +There is a total of about 123 changes by 28 individual contributors. + +Credits for these changes go to: + +Andreas Holzammer +André Pönitz +Aurindam Jana +Christian Kandeler +Christian Stenger +Daniel Teske +David Schulz +Eike Ziller +El Mehdi Fekar +Fawzi Mohamed +Jaroslaw Kobus +Joerg Bornemann +Leena Miettinen +Lukas Holecek +Michal Klocek +Nikolai Kosjar +Orgad Shaneh +Oswald Buddenhagen +Pavel Fric +Petar Perisin +Rainer Keller +Robert Loehning +Sergey Belyashov +Sergio Martins +Thomas Hartmann +Tobias Hunger +Venugopal Shivashankar +Victor Ostashevsky + + + +General + +Editing + * Removed trailing whitespace in generated files (QTCREATORBUG-9833) + * Fixed placing cursor after replacing "." with "->" (QTCREATORBUG-9891) + * Fixed crash that occurred when opening non-splittable editors in split + windows (QTCREATORBUG-9843) + * Fixed issues with having same document open in multiple splits + (QTCREATORBUG-9801, QTCREATORBUG-9798) + +Managing Projects + +Compilers + +Devices + * Fixed device changes in kits + +QMake Projects + * Fixed tool chain use for cross-compilation + * Avoided deadlock during spec/cache loading + +CMake Projects + +Qbs Projects + +Autotools Projects + +Generic Projects + +Documentation + * Added tutorial for developing Android applications + * Updated documentation of Android Manifest editor + * Updated some debugger documentation + +Debugging + * Fixed dumpers in the presence of -D_GLIBCXX_DEBUG + * Fixed endless loop when stopping without winXXinterrupt.exe + * Added support for GDB builds with Python 3.x + * Added dumper for std::unordered_{set,map} (QTCREATORBUG-9855) + * Improved display performance of unnamed structures (QTCREATORBUG-9947) + * Made C++ debugging continue even if QML debugger fails (QTCREATORBUG-9836) + * Fixed remote QML debugging with port forwarding involved + +Analyzer + * Improved Android and QNX support + +C++ Support + * Fixed crash in typedef resolving (QTCREATORBUG-9990) + * Improved performance for generated symbols (QTCREATORBUG-9877) + * Added checking whether project has changed before reparsing + (QTCREATORBUG-9581) + +Python Support + +Diff Viewer + +Version Control Systems + * Disabled undo/redo for VCS output window (QTCREATORBUG-7645) + * Git + * Fixed crash on quit while rebase-todo editor is open + * Fixed double stash pop on branch checkout + +FakeVim + +Platform Specific + +Linux + +Qt Support + +QNX + * Fixed the SSH Key Setup dialog to display native separators in paths + (QTCREATORBUG-9830) + +Android + * Ensured that keytool returns English output (QTCREATORBUG-9941) + +Translations + * Updated Czech, Polish, Russian and Ukrainian translations + +Testing + * Added Squish tests for codepasting, external sort tool, + UI completion, and "Go to slot" in Qt Designer + +QML Designer + * Fixed support for layouts + * Fixed several issues in property editor + * Added support for global Qt enums in rewriter + diff --git a/doc/images/creator_android_tutorial_ex_app.png b/doc/images/creator_android_tutorial_ex_app.png new file mode 100755 index 0000000000000000000000000000000000000000..84e876d5f95ff45da384e6c6758d5879d2f430b3 Binary files /dev/null and b/doc/images/creator_android_tutorial_ex_app.png differ diff --git a/doc/images/qtcreator-android-application.png b/doc/images/qtcreator-android-application.png deleted file mode 100644 index cba4907dc9750ec87fa9a1edb393d69f12cdf399..0000000000000000000000000000000000000000 Binary files a/doc/images/qtcreator-android-application.png and /dev/null differ diff --git a/doc/images/qtcreator-android-libraries.png b/doc/images/qtcreator-android-libraries.png deleted file mode 100644 index 6058fed8311cf7edf30806557d3e0f729fcac3aa..0000000000000000000000000000000000000000 Binary files a/doc/images/qtcreator-android-libraries.png and /dev/null differ diff --git a/doc/images/qtcreator-android-manifest-editor.png b/doc/images/qtcreator-android-manifest-editor.png new file mode 100755 index 0000000000000000000000000000000000000000..9d7941aa3014519c4b0d58ce2dcb36f404f068c6 Binary files /dev/null and b/doc/images/qtcreator-android-manifest-editor.png differ diff --git a/doc/images/qtcreator-android-manifest.png b/doc/images/qtcreator-android-manifest.png old mode 100644 new mode 100755 index 121ffc8b53f7dd00ebb12b7218caf590569abaac..4621106eac213ecdcb9c8eaf64e27545b4560e7a Binary files a/doc/images/qtcreator-android-manifest.png and b/doc/images/qtcreator-android-manifest.png differ diff --git a/doc/images/qtcreator-android-permissions.png b/doc/images/qtcreator-android-permissions.png deleted file mode 100644 index 32bd825bcd2037446eb20ac29cf992bb6951a598..0000000000000000000000000000000000000000 Binary files a/doc/images/qtcreator-android-permissions.png and /dev/null differ diff --git a/doc/images/qtcreator-android-sign-package.png b/doc/images/qtcreator-android-sign-package.png old mode 100644 new mode 100755 index 6dc628db800ea2b5666e90130cc09bf06b2e8d8b..31acf1af71966a73f7e64b788b00a9b39e710957 Binary files a/doc/images/qtcreator-android-sign-package.png and b/doc/images/qtcreator-android-sign-package.png differ diff --git a/doc/snippets/qml/tutorial_finalmainqml.qml b/doc/snippets/qml/tutorial_finalmainqml.qml new file mode 100644 index 0000000000000000000000000000000000000000..1332a86c6349719cbe257105d692b1fb9507cbe8 --- /dev/null +++ b/doc/snippets/qml/tutorial_finalmainqml.qml @@ -0,0 +1,118 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation 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 + +//! [sensorimport] +import QtSensors 5.0 +//! [sensorimport] + + +ApplicationWindow { + title: "Accelerate Bubble" + id: mainWindow + width: 320 + height: 480 + visible: true + + Accelerometer { + id: accel + dataRate: 100 + active:true + + +//! [readingchanged] + onReadingChanged: { + var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) + var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) + + if (newX < 0) + newX = 0 + + if (newX > mainWindow.width - bubble.width) + newX = mainWindow.width - bubble.width + + if (newY < 18) + newY = 18 + + if (newY > mainWindow.height - bubble.height) + newY = mainWindow.height - bubble.height + + bubble.x = newX + bubble.y = newY + } +//! [readingchanged] + } + +//! [jsfunctions] + function calcPitch(x, y, z) { + return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795); + } + function calcRoll(x, y, z) { + return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795); + } +//! [jsfunctions] + + Image { + id: bubble + source: "Bluebubble.svg" + smooth: true + property real centerX: mainWindow.width / 2 + property real centerY: mainWindow.height / 2; + property real bubbleCenter: bubble.width / 2 + x: centerX - bubbleCenter + y: centerY - bubbleCenter + +//! [smoothedanim] + Behavior on y { + SmoothedAnimation { + easing.type: Easing.Linear + duration: 100 + } + } + Behavior on x { + SmoothedAnimation { + easing.type: Easing.Linear + duration: 100 + } + } +//! [smoothedanim] + } +} diff --git a/doc/snippets/qml/tutorial_initialqml.qml b/doc/snippets/qml/tutorial_initialqml.qml new file mode 100644 index 0000000000000000000000000000000000000000..56f55c678bf1f98b474cb2716ad2c20fb538db3a --- /dev/null +++ b/doc/snippets/qml/tutorial_initialqml.qml @@ -0,0 +1,47 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation 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$ +** +****************************************************************************/ +//! [initialcode] +import QtQuick 2.0 + +Rectangle { + width: 100 + height: 62 +} +//! [initialcode] diff --git a/doc/snippets/qml/tutorial_updatedmainview.qml b/doc/snippets/qml/tutorial_updatedmainview.qml new file mode 100644 index 0000000000000000000000000000000000000000..bb4dfba04745671242d1d1daf78c0d016b948e5b --- /dev/null +++ b/doc/snippets/qml/tutorial_updatedmainview.qml @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation 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$ +** +****************************************************************************/ +//! [imports] +import QtQuick 2.1 +import QtQuick.Controls 1.0 +//! [imports] + +ApplicationWindow { + title: "Accelerate Bubble" + id: mainWindow + width: 320 + height: 480 + visible: true + + Image { + id: bubble + source: "Bluebubble.svg" + smooth: true + property real centerX: mainWindow.width / 2 + property real centerY: mainWindow.height / 2 + property real bubbleCenter: bubble.width / 2 + x: centerX - bubbleCenter + y: centerY - bubbleCenter + } +} diff --git a/doc/snippets/tutorial_accelbubble.pro b/doc/snippets/tutorial_accelbubble.pro new file mode 100644 index 0000000000000000000000000000000000000000..430e671df39496469b9888d5e4f5337b2e92dc91 --- /dev/null +++ b/doc/snippets/tutorial_accelbubble.pro @@ -0,0 +1,7 @@ +RESOURCES += \ + accelbubble.qrc + +SOURCES += \ + main.cpp + +QT += quick sensors svg xml diff --git a/doc/snippets/tutorial_main.cpp b/doc/snippets/tutorial_main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e5ba8ab34a06b6b52ae5736f9ad2c5aac37d744f --- /dev/null +++ b/doc/snippets/tutorial_main.cpp @@ -0,0 +1,50 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation 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$ +** +****************************************************************************/ +#include <QtGui/QGuiApplication> +#include <QtQml/QQmlApplicationEngine> + +int main(int argc, char *argv[]) +{ + QGuiApplication app(argc, argv); + QQmlApplicationEngine engine(QUrl("qrc:///accelbubble.qml")); + + return app.exec(); +} + diff --git a/doc/src/android/creator-android-app-tutorial.qdoc b/doc/src/android/creator-android-app-tutorial.qdoc new file mode 100644 index 0000000000000000000000000000000000000000..ecf946ab84804bf381f4565e792edcc7d1a8d97c --- /dev/null +++ b/doc/src/android/creator-android-app-tutorial.qdoc @@ -0,0 +1,288 @@ +/**************************************************************************** +** +** Copyright (c) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-writing-program.html + \page creator-android-app-tutorial.html + \nextpage creator-project-managing.html + + \title Creating an Android Application + + This tutorial describes developing Qt Quick applications for Android devices + using Qt Quick Controls. + + This tutorial describes how to use \QC to implement a Qt Quick application + that accelerates an SVG (Scalable Vector Graphics) image based on the + changing accelerometer values. + + \image creator_android_tutorial_ex_app.png + + \section1 Creating the Project + + Let us start with creating an empty Qt project. + + \list 1 + + \li Select \gui{File > New File or Project > Other Project > + Empty Qt Project > Choose}. + + \li In the \gui{Name} field, type \b{accelbubble}. + + \li In the \gui {Create in} field, enter the path for the project files. + For example, \c {C:\Qt\examples}, and then click \gui{Next} (on + Mac OS X, it is \gui Continue). + + \li Select an Android \l{glossary-buildandrun-kit}{kit} for arm, + and click \gui{Next}. + + \note Kits are listed if they have been specified in \gui Tools > + \gui Options > \gui{Build & Run} > \gui Kits. + + \li Select \gui Next in the following dialogs to use the default + settings. + + \li Review the project settings, and click \gui{Finish} (on Mac OS X, + it is \gui Done). + \endlist + + \QC creates the project and displays its contents under the \gui Projects + view on the sidebar. You can only see a .pro file under the project as we + created an empty project, but the remaining bits will be added + during the course of this tutorial. + + \section1 Creating the Main View + + The main view of the application displays an SVG bubble image at the center + of the main window. + + \list 1 + + \li In the \gui Edit mode, right-click on the \b{accelbubble} project + and select \gui{Add new} to open the \gui{New File} dialog. + + \li Select \gui{Qt > QML File (Qt Quick 2)} and click \gui Choose to + give a name to the QML file. + + \li In the \gui Name field, type "accelbubble" and select \gui Next. + + \li Select \gui Finish to add accelbubble.qml to the project. + \endlist + + \QC adds a default QML file containing a Rectangle. Here is how the QML + file looks: + + \snippet qml/tutorial_initialqml.qml initialcode + + Now let us edit accelbubble.qml to add the bits required for our + application. + + \list 1 + + \li Replace the existing import statement with the following: + + \snippet qml/tutorial_updatedmainview.qml imports + + \li Replace the Rectangle type with ApplicationWindow, which + will be the top-level window for our application. + + \li Set the \a id, \a title, \a visible, and the window dimension + properties (width and height) with the values given in the + following snippet: + + \quotefromfile qml/tutorial_updatedmainview.qml + \skipto ApplicationWindow + \printuntil true + \skipto /^\}/ + \printuntil } + \endlist + + \section1 Adding an SVG Image + + SVG is an XML-based image format that enables you to combine vector + graphics, raster graphics, and text into one image. It is based on + an open standard developed and maintained by \l{http://www.w3.org/}{W3C}. + + Qt supports the \l{http://www.w3.org/TR/SVGTiny12/}{SVGT} v1.2, which is a + trimmed version of the \l{http://www.w3.org/TR/SVG12/}{SVG Full v1.2} + specification, for mobile devices. + + You can copy the Bluebubble.svg used by the Qt Sensors example, Accel + Bubble, to your project directory or find an SVG image that uses SVGT v1.2. + + \note If you choose to create a new SVG image, ensure that the \a svg root + element has the \a version attribute with the value 1.1 or 1.2, and baseProfile + with \c tiny. + + \list 1 + \li Open accelbubble.qml in \gui Edit mode and add an Image type + within the ApplicationWindow. + \li Set the image \a id, \a source, and \a smooth properties as shown + in the following code block: + + \quotefromfile qml/tutorial_updatedmainview.qml + \skipto Image + \printuntil true + + \li Add the following new properties to the image: + + \dots + \printuntil bubbleCenter: + + \note These properties are used to position the image + at the center of ApplicationWindow when the application starts. + \li Set the x and y position of the image based on the new + properties. + + \dots + \printuntil } + \endlist + + Here is how the accelbubble.qml file looks after making the changes + mentioned earlier in this section: + + \quotefromfile qml/tutorial_updatedmainview.qml + \skipto import QtQuick + \printuntil 1.0 + \codeline + \skipto ApplicationWindow + \printuntil true + + \skipto Image + \printuntil /^\}\ + + + \section1 Moving the Bubble + + Now that the visual elements are in place, let us move the bubble based on + Accelerometer sensor values. + + \list 1 + \li Add the following import statement to accelbubble.qml: + + \snippet qml/tutorial_finalmainqml.qml sensorimport + + \li Add the Accelerometer type with the necessary properties as shown + in the following code block: + + \quotefromfile qml/tutorial_finalmainqml.qml + \skipto Accelerometer + \printuntil true + \skipto } + \printuntil } + + \li Add the following JavaScript functions that calculate the + x and y position of the bubble based on the current Accelerometer + values: + + \snippet qml/tutorial_finalmainqml.qml jsfunctions + + \li Add the following JavaScript code for \a onReadingChanged signal of + Accelerometer type to make the bubble move when the Accelerometer + values change: + + \snippet qml/tutorial_finalmainqml.qml readingchanged + + \li Add SmoothedAnimation behavior on the \a x and \a y properties of + the bubble to make its movement look smoother. + + \snippet qml/tutorial_finalmainqml.qml smoothedanim + \endlist + + + \section1 Running the Application + + The main view is complete but the application is not ready yet. This + section provides instructions to add a few lines of C++ code that loads the + QML file when you try to run the application on an Android device. + + \list 1 + \li Right-click on the project in \gui Edit mode and select + \gui{Add New > Qt > Qt Resource File}. + + \li Name the resource file as \a accelbubble.qrc and click \gui Next. + + \li Select \gui Finish in the following dialog to add the resource file + to the project and open it in \gui Edit mode. + + \li Select \gui {Add > Add Prefix} and add \c / as the prefix. + + \note The prefix is used every time you refer to the .qrc file + contents from the C++ code. + + \li Select \gui {Add > Add Files} and add accelbubble.qml and Bluebubble.svg + to the resource file. + + \li Right-click on the project in \gui Edit mode and select + \gui {Add New} to open the \gui {New File} dialog. + + \li Select \gui {C++ > C++ Source File > Choose} + + \li Name the file as \a main.cpp and click \gui Next. + + \li Select \gui Finish to add main.cpp to the project and open it in + edit mode. + + \li Add the following lines of C++ code to main.cpp to load the + accelbubble.qml file from accelbubble.qrc: + + \quotefromfile tutorial_main.cpp + \skipto #include + \printuntil } + + \li Update the accelbubble.pro file with the following library + dependency information: + + \code + QT += quick sensors svg xml + \endcode + \endlist + + The application is complete and ready to be deployed to the device. + Enable "USB Debugging" on your Android device and connect it to your PC. + If you are using a device running Android v4.2.2, it should prompt you to + verify the connection to allow USB debugging from the PC it is connected + to. To avoid such prompts every time you connect the device, check + "Always allow from the computer" and select \gui OK. + + To run the application on the device, press CTRL + R keys in \QC + \gui Edit mode. + + \section1 Example Code + + When you have completed the steps mentioned in the earlier sections, the + accelbubble.qml, main.cpp, and accelbubble.pro files look as follows: + + \section2 accelbubble.qml + + \quotefile qml/tutorial_finalmainqml.qml + + \section2 main.cpp + + \quotefile tutorial_main.cpp + + \section2 accelbubble.pro + + \quotefile tutorial_accelbubble.pro +*/ diff --git a/doc/src/android/creator-projects-settings-run-android.qdocinc b/doc/src/android/creator-projects-settings-run-android.qdocinc index 8ed0828df10b7e340534952e61d02b6283bec155..a42ec97a256c83c7cc00741fc93b01cd203583ef 100644 --- a/doc/src/android/creator-projects-settings-run-android.qdocinc +++ b/doc/src/android/creator-projects-settings-run-android.qdocinc @@ -1,14 +1,13 @@ - To specify information for the Android manifest file, select \gui Projects > + To configure Android packages, select \gui Projects > \gui Run > \gui {Package configurations}. The Android system uses the information from the file to start application components. - \section2 Specifying Package Data + \image qtcreator-android-manifest.png "Package configuration" - In the \gui Manifest tab, you can select the API level to use for the - Android target SDK and the name and version number for the application - package. + \section2 Selecting API Level - \image qtcreator-android-manifest.png "Manifest tab" + In the \gui {Android target SDK} field, you can select the API level to use + for the Android target SDK. For more information about Android API levels, see \l{http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels} @@ -21,43 +20,15 @@ \note The android-4 API level does not support multitouch. If your application needs multitouch, select a higher API level. - In the \gui {Package name} field, enter a package name for the application. - The application is launched by an automatically generated Java launcher that - is packaged with the application into an Android package (.apk). For more - information, see - \l{http://developer.android.com/guide/components/fundamentals.html} - {Android Application Fundamentals}. - - \section2 Specifying Application Data - - In the \gui Application tab, you can select an icon for the application and - give the application a name. - - \image qtcreator-android-application.png "Application tab" - - \section2 Setting Permissions - - In the \gui Permissions tab, you can specify the permissions that your - application needs. Users are asked to grant the permissions when they - install the application. Android OS then grants the application access to - the appropriate data and features. - - \image qtcreator-android-permissions.png "Permissions tab" - - Select from existing Android permissions or add new ones to deploy the - application to a particular Android OS. - \section2 Selecting Qt Libraries - In the \gui Libraries tab, specify which Qt libraries the application uses. + In the \gui Libraries group, specify which Qt libraries the application uses. To automatically determine this, select \gui {Read Infomation from Application (Must Be Compiled)}. Alternatively, you can manually select the Qt libraries and the external libraries you think your application needs. Make sure to arrange the libraries so that depended libraries appear before the ones that depend on them. - \image qtcreator-android-libraries.png "Libraries tab" - These entries are used by the Ministro tool to determine which Qt libraries to download. @@ -66,8 +37,38 @@ \section2 Signing Android Packages - In the \gui {Sign Package} tab, you can sign the Android package by using + In the \gui {Sign Package} group you can sign the Android package by using a private key from the keystore. To create new keys, select \gui Create. - \image qtcreator-android-sign-package.png "Sign Package tab" + \image qtcreator-android-sign-package.png "Sign Package" + + \section1 Editing Manifest Files + + To specify information for the Android manifest file, open it in \QC. + + \image qtcreator-android-manifest-editor.png "Android Manifest Editor" + + Select the \gui {XML Source} tab to edit the file in XML format. + + In the \gui {Package name} field, enter a package name for the application. + The application is launched by an automatically generated Java launcher that + is packaged with the application into an Android package (.apk). For more + information, see + \l{http://developer.android.com/guide/components/fundamentals.html} + {Android Application Fundamentals}. + + You can specify an internal version number for the package in the + \gui {Version code} field. It is used to determine whether one version of + the application is more recent than another. In the \gui {Version name} + field, specify the version number that is shown to users. + + In the \gui Application group, you can give the application a name and + select an icon for it. The three icon fields can contain different versions + of the icon with low, medium, and high DPI values, from left to right. + + In the \gui Permissions field, you can specify the permissions that your + application needs. Users are asked to grant the permissions when they + install the application. Android OS then grants the application access to + the appropriate data and features. + To add permissions, select \gui Add and select permissions from the list. diff --git a/doc/src/debugger/qtquick-debugging.qdoc b/doc/src/debugger/qtquick-debugging.qdoc index aba729b7774820f349670a6f1fd07890d2e3a1f7..d1fcba00288e8dd3acad53a23c156f4412e3e9d3 100644 --- a/doc/src/debugger/qtquick-debugging.qdoc +++ b/doc/src/debugger/qtquick-debugging.qdoc @@ -125,13 +125,33 @@ \list 1 - \li Start the application. + \li Build the application by using the appropriate configuration + parameters (if you build the application with \QC, it automatically + uses the correct configuration): + + \list + + \li Qt Quick 1: \c {CONFIG+=declarative_debug} + + \li Qt Quick 2: \c {CONFIG+=qml_debug} + + \endlist + + \li Start the application with the following arguments: + + \c {qmljsdebugger=port:<port>[,host:<ip address>][,block]} + + Where \c port (mandatory) specifies the debugging port, + \c {ip address} (optional) specifies the IP address of the host + where the application is running, and \c block (optional) prevents + the application from running until the debug client connects to the + server. This enables debugging from the start. \li Select \gui {Debug > Start Debugging > Attach to QML Port}. - When debugging on the desktop, you can use the default values for - the connection. When debugging on devices, enter the device IP - address in the \gui Host field. + Choose the kit configured for the device where the application to + be debugged is running. The port number to use is displayed in the + standard output when the application starts. \endlist diff --git a/doc/src/overview/creator-tutorials.qdoc b/doc/src/overview/creator-tutorials.qdoc index b3513c2943eec2b36f4fae07f08d23480694256f..7dad18d9f986bd064f0e7748448e9731761a68dc 100644 --- a/doc/src/overview/creator-tutorials.qdoc +++ b/doc/src/overview/creator-tutorials.qdoc @@ -46,6 +46,11 @@ Learn how to create a Qt widget based application for the desktop. + \li \l{Creating an Android Application} + + Learn how to create a Qt Quick application using Qt Quick Controls + for Android devices. + \endlist */ diff --git a/doc/src/projects/creator-projects-overview.qdoc b/doc/src/projects/creator-projects-overview.qdoc index 072368a03e7831ed010c81f38deb60e4a16d6707..a72d16a9df536bcf78799cf7221fc5e732a1dad4 100644 --- a/doc/src/projects/creator-projects-overview.qdoc +++ b/doc/src/projects/creator-projects-overview.qdoc @@ -24,7 +24,7 @@ /*! \contentspage index.html - \previouspage creator-writing-program.html + \previouspage creator-android-app-tutorial.html \page creator-project-managing.html \nextpage creator-project-creating.html diff --git a/doc/src/qtcreator.qdoc b/doc/src/qtcreator.qdoc index f56628936750cdeb18a837a4b43457c823cc6903..b8d8ddc9d6271a5ed1a06ee398da2cd9e0a6787d 100644 --- a/doc/src/qtcreator.qdoc +++ b/doc/src/qtcreator.qdoc @@ -154,6 +154,7 @@ \list \li \l{Creating a Qt Quick Application} \li \l{Creating a Qt Widget Based Application} + \li \l{Creating an Android Application} \endlist \endlist \li \l{Managing Projects} diff --git a/doc/src/widgets/qtdesigner-app-tutorial.qdoc b/doc/src/widgets/qtdesigner-app-tutorial.qdoc index 65a58b88a434a0f028a55e95516ebd1ac14d33eb..1cdfcf350602a3c4f0b2aef291a3277ce89e0ce8 100644 --- a/doc/src/widgets/qtdesigner-app-tutorial.qdoc +++ b/doc/src/widgets/qtdesigner-app-tutorial.qdoc @@ -26,7 +26,7 @@ \contentspage index.html \previouspage creator-qml-application.html \page creator-writing-program.html - \nextpage creator-project-managing.html + \nextpage creator-android-app-tutorial.html \title Creating a Qt Widget Based Application diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py index d353bfc190f020fb63f0461dad250cc3d983833a..f711116f833725574622b4b7c79c37a2b2a2d2c4 100644 --- a/share/qtcreator/dumper/qttypes.py +++ b/share/qtcreator/dumper/qttypes.py @@ -2272,6 +2272,12 @@ def qdump__std__map(d, value): def qdump__std____debug__map(d, value): qdump__std__map(d, value) +def qdump__std____debug__set(d, value): + qdump__std__set(d, value) + +def qdump__std____cxx1998__map(d, value): + qdump__std__map(d, value) + def stdTreeIteratorHelper(d, value): pnode = value["_M_node"] node = pnode.dereference() @@ -2308,6 +2314,9 @@ def qdump__std___Rb_tree_const_iterator(d, value): def qdump__std__map__iterator(d, value): stdTreeIteratorHelper(d, value) +def qdump____gnu_debug___Safe_iterator(d, value): + d.putItem(value["_M_current"]) + def qdump__std__map__const_iterator(d, value): stdTreeIteratorHelper(d, value) @@ -2317,7 +2326,8 @@ def qdump__std__set__iterator(d, value): def qdump__std__set__const_iterator(d, value): stdTreeIteratorHelper(d, value) - +def qdump__std____cxx1998__set(d, value): + qdump__std__set(d, value) def qdump__std__set(d, value): impl = value["_M_t"]["_M_impl"] @@ -2484,6 +2494,67 @@ def qdump__std____1__unique_ptr(d, value): d.putSubItem("data", i.dereference()) +def qform__std__unordered_map(): + return mapForms() + +def qform__std____debug__unordered_map(): + return mapForms() + +def qdump__std__unordered_map(d, value): + try: + size = value["_M_element_count"] + start = value["_M_before_begin"]["_M_nxt"] + except: + size = value["_M_h"]["_M_element_count"] + start = value["_M_h"]["_M_bbegin"]["_M_node"]["_M_nxt"] + d.putItemCount(size) + d.putNumChild(size) + if d.isExpanded(): + p = pointerValue(start) + keyType = d.templateArgument(value.type, 0) + valueType = d.templateArgument(value.type, 1) + allocatorType = d.templateArgument(value.type, 4) + pairType = d.templateArgument(allocatorType, 0) + ptrSize = d.ptrSize() + if d.isMapCompact(keyType, valueType): + with Children(d, size, childType=valueType): + for i in d.childRange(): + pair = d.createValue(p + ptrSize, pairType) + with SubItem(d, i): + d.putField("iname", d.currentIName) + d.putName("[%s] %s" % (i, pair["first"])) + d.putValue(pair["second"]) + p = d.dereference(p) + else: + with Children(d, size, childType=pairType): + for i in d.childRange(): + d.putSubItem(i, d.createValue(p + ptrSize, pairType)) + p = d.dereference(p) + +def qdump__std____debug__unordered_map(d, value): + qdump__std__unordered_map(d, value) + +def qdump__std__unordered_set(d, value): + try: + size = value["_M_element_count"] + start = value["_M_before_begin"]["_M_nxt"] + except: + size = value["_M_h"]["_M_element_count"] + start = value["_M_h"]["_M_bbegin"]["_M_node"]["_M_nxt"] + d.putItemCount(size) + d.putNumChild(size) + if d.isExpanded(): + p = pointerValue(start) + valueType = d.templateArgument(value.type, 0) + with Children(d, size, childType=valueType): + ptrSize = d.ptrSize() + for i in d.childRange(): + d.putSubItem(i, d.createValue(p + ptrSize, valueType)) + p = d.dereference(p) + +def qdump__std____debug__unordered_set(d, value): + qdump__std__unordered_set(d, value) + def qedit__std__vector(expr, value): values = value.split(',') @@ -2917,6 +2988,10 @@ def qdump__CPlusPlus__Literal(d, value): d.putValue(encodeCharArray(value["_chars"]), Hex2EncodedLatin1) d.putPlainChildren(value) +def qdump__CPlusPlus__StringLiteral(d, value): + d.putValue(encodeCharArray(value["_chars"]), Hex2EncodedLatin1) + d.putPlainChildren(value) + def qdump__CPlusPlus__Internal__Value(d, value): d.putValue(value["l"]) d.putPlainChildren(value) diff --git a/share/qtcreator/translations/qtcreator_cs.ts b/share/qtcreator/translations/qtcreator_cs.ts index bf5bf20a2369f6155b81505d220b8240c48fec67..63edfa9248687fe382a49eb2b8467df6f0b380ef 100644 --- a/share/qtcreator/translations/qtcreator_cs.ts +++ b/share/qtcreator/translations/qtcreator_cs.ts @@ -244,6 +244,18 @@ <source>Remove All</source> <translation>Odstranit vÅ¡e</translation> </message> + <message> + <source>Remove All Bookmarks</source> + <translation>Odstranit vÅ¡echny záložky</translation> + </message> + <message> + <source>Are you sure you want to remove all bookmarks from all files in the current session?</source> + <translation>Opravdu chcete odstranit vÅ¡echny záložky ze vÅ¡ech souborů v nynÄ›jÅ¡Ãm sezenÃ?</translation> + </message> + <message> + <source>Do not &ask again.</source> + <translation>&Neptat se znovu.</translation> + </message> <message> <source>Edit Note</source> <translation>Upravit poznámku</translation> @@ -427,23 +439,23 @@ </message> <message> <source>Run Environment</source> - <translation>ProvádÄ›cà prostÅ™edÃ</translation> + <translation type="obsolete">ProvádÄ›cà prostÅ™edÃ</translation> </message> <message> <source>Base environment for this runconfiguration:</source> - <translation>Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> + <translation type="obsolete">Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Build Environment</source> - <translation>ProstÅ™edà pro sestavovánÃ</translation> + <translation type="obsolete">ProstÅ™edà pro sestavovánÃ</translation> </message> <message> <source>Running executable: <b>%1</b> %2</source> @@ -579,6 +591,10 @@ <source>Executable:</source> <translation>Spustitelný soubor:</translation> </message> + <message> + <source>Prefer Ninja generator (CMake 2.8.9 or higher required)</source> + <translation>UpÅ™ednostňovat generátor Ninja (požadován CMake 2.8.9 nebo vyššÃ)</translation> + </message> <message> <source>CMake executable</source> <translation type="obsolete">Spustitelný soubor CMake</translation> @@ -1248,6 +1264,18 @@ Chcete je nechat pÅ™epsat?</translation> <source>Ctrl+E,3</source> <translation>Ctrl+E,3</translation> </message> + <message> + <source>Open in New Window</source> + <translation>OtevÅ™Ãt v novém oknÄ›</translation> + </message> + <message> + <source>Meta+E,4</source> + <translation>Meta+E,4</translation> + </message> + <message> + <source>Ctrl+E,4</source> + <translation>Ctrl+E,4</translation> + </message> <message> <source>Remove Current Split</source> <translation>Odstranit nynÄ›jšà rozdÄ›lenÃ</translation> @@ -1272,6 +1300,10 @@ Chcete je nechat pÅ™epsat?</translation> <source>Ctrl+E,1</source> <translation>Ctrl+E,1</translation> </message> + <message> + <source>Go to Next Split or Window</source> + <translation>JÃt na dalšà rozdÄ›lenà nebo okno</translation> + </message> <message> <source>Meta+E,o</source> <translation>Meta+E,o</translation> @@ -1284,13 +1316,17 @@ Chcete je nechat pÅ™epsat?</translation> <source>Ad&vanced</source> <translation>&PokroÄilé</translation> </message> + <message> + <source>Current document</source> + <translation>NynÄ›jšà dokument</translation> + </message> <message> <source>Full path of the current document including file name.</source> - <translation>Úplná cesta nynÄ›jÅ¡Ãho dokumentu vÄetnÄ› názvu souboru.</translation> + <translation type="obsolete">Úplná cesta nynÄ›jÅ¡Ãho dokumentu vÄetnÄ› názvu souboru.</translation> </message> <message> <source>Full path of the current document excluding file name.</source> - <translation>Úplná cesta nynÄ›jÅ¡Ãho dokumentu vyjma názvu souboru.</translation> + <translation type="obsolete">Úplná cesta nynÄ›jÅ¡Ãho dokumentu vyjma názvu souboru.</translation> </message> <message> <source>X-coordinate of the current editor's upper left corner, relative to screen.</source> @@ -1326,15 +1362,15 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>Cannot open the file for editing with SCC.</source> - <translation>Soubor se nepodaÅ™ilo s pomocà správy verzà udÄ›lat zapisovatelný (otevÅ™Ãt pro úpravy).</translation> + <translation type="obsolete">Soubor se nepodaÅ™ilo s pomocà správy verzà udÄ›lat zapisovatelný (otevÅ™Ãt pro úpravy).</translation> </message> <message> <source>Cannot Set Permissions</source> - <translation>Chyba pÅ™i nastavenà oprávnÄ›nà pro pÅ™Ãstup k souboru</translation> + <translation type="obsolete">Chyba pÅ™i nastavenà oprávnÄ›nà pro pÅ™Ãstup k souboru</translation> </message> <message> <source>Cannot set permissions to writable.</source> - <translation>Soubor se nepodaÅ™ilo udÄ›lat zapisovatelný.</translation> + <translation type="obsolete">Soubor se nepodaÅ™ilo udÄ›lat zapisovatelný.</translation> </message> <message> <source>Cannot open the file for editing with VCS.</source> @@ -1462,7 +1498,7 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>Go to Next Split</source> - <translation>JÃt na dalšà rozdÄ›lenÃ</translation> + <translation type="obsolete">JÃt na dalšà rozdÄ›lenÃ</translation> </message> <message> <source>%1,o</source> @@ -1680,11 +1716,11 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>Reset warnings</source> - <translation>Nastavit varovánà znovu</translation> + <translation type="obsolete">Nastavit varovánà znovu</translation> </message> <message> <source>Done</source> - <translation>Hotovo</translation> + <translation type="obsolete">Hotovo</translation> </message> <message> <source>Restart required</source> @@ -1823,6 +1859,10 @@ Chcete je nechat pÅ™epsat?</translation> <comment>Button text</comment> <translation>Nastavit varovánà znovu</translation> </message> + <message> + <source>Re-enable all warnings which were suppressed using "Don't show again" button (e.g. missing highlighter).</source> + <translation>Povolit znovu vÅ¡echna varovánÃ, jež byla potlaÄena pomocà tlaÄÃtka Neptat se znovu (napÅ™. chybÄ›jÃcà zvýrazňovánÃ).</translation> + </message> </context> <context> <name>Core::Internal::MainWindow</name> @@ -2002,6 +2042,10 @@ Chcete je nechat pÅ™epsat?</translation> <source>Alt+0</source> <translation>Alt+0</translation> </message> + <message> + <source>Show Mode Selector</source> + <translation>Ukázat voliÄ režimu</translation> + </message> <message> <source>Ctrl+Meta+F</source> <translation>Ctrl+Meta+F</translation> @@ -2332,6 +2376,10 @@ Chcete je nechat pÅ™epsat?</translation> <source>Shortcut</source> <translation>Zkratka</translation> </message> + <message> + <source>Type to set shortcut</source> + <translation>PiÅ¡te pro nastavenà klávesové zkratky</translation> + </message> <message> <source>Import Keyboard Mapping Scheme</source> <translation>Importovat schéma pÅ™iÅ™azenà kláves</translation> @@ -2362,9 +2410,13 @@ Chcete je nechat pÅ™epsat?</translation> <source>About Qt Creator</source> <translation>O programu Qt Creator</translation> </message> + <message> + <source><h3>%1</h3>%2<br/><br/>Built on %3 at %4<br /><br/>%5<br/>Copyright 2008-%6 %7. All rights reserved.<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/></source> + <translation><h3>%1</h3>%2<br/><br/>Sestavený %3 v %4<br /><br/>%5<br/>Autorské právo 2008-%6 %7. VÅ¡echna práva vyhrazena.<br/><br/> Program je poskytován tak, JAK JE, BEZ ZÃRUKY JAKÉHOKOLI DRUHU, VÄŒETNÄš ZÃRUKY PROVEDENÃ, PRODEJNOSTI A VHODNOSTI PRO URÄŒITà ÚČEL.<br/></translation> + </message> <message> <source>(%1)</source> - <translation>(%1)</translation> + <translation type="obsolete">(%1)</translation> </message> <message> <source>From revision %1<br/></source> @@ -2373,7 +2425,7 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source><h3>Qt Creator %1 %8</h3>Based on Qt %2 (%3 bit)<br/><br/>Built on %4 at %5<br /><br/>%9<br/>Copyright 2008-%6 %7. All rights reserved.<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/></source> - <translation><h3>Qt Creator %1 %8 </h3>Založený na Qt %2 (%3 bit)<br/><br/>VytvoÅ™ený %4 v %5<br /><br/>%9<br/>Autorské právo 2008-%6 %7. VÅ¡echna práva vyhrazena.<br/><br/> Program je poskytován tak, JAK JE, BEZ ZÃRUKY JAKÉHOKOLI DRUHU, VÄŒETNÄš ZÃRUKY PROVEDENÃ, PRODEJNOSTI A VHODNOSTI PRO URÄŒITà ÚČEL.<br/></translation> + <translation type="obsolete"><h3>Qt Creator %1 %8 </h3>Založený na Qt %2 (%3 bit)<br/><br/>VytvoÅ™ený %4 v %5<br /><br/>%9<br/>Autorské právo 2008-%6 %7. VÅ¡echna práva vyhrazena.<br/><br/> Program je poskytován tak, JAK JE, BEZ ZÃRUKY JAKÉHOKOLI DRUHU, VÄŒETNÄš ZÃRUKY PROVEDENÃ, PRODEJNOSTI A VHODNOSTI PRO URÄŒITà ÚČEL.<br/></translation> </message> <message> <source><h3>Qt Creator %1</h3>Based on Qt %2 (%3 bit)<br/><br/>Built on %4 at %5<br /><br/>%8<br/>Copyright 2008-%6 %7. All rights reserved.<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/></source> @@ -2447,7 +2499,7 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>The header and source file names will be derived from the class name</source> - <translation>Názvy pro hlaviÄkové a zdrojové soubory se odvozujà z názvu pto tÅ™Ãdu</translation> + <translation>Názvy pro hlaviÄkové a zdrojové soubory se odvozujà z názvu pro tÅ™Ãdu</translation> </message> <message> <source>Configure...</source> @@ -2487,7 +2539,7 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>C++ Header File</source> - <translation>HlaviÄkový soubor C++</translation> + <translation type="obsolete">HlaviÄkový soubor C++</translation> </message> <message> <source>Creates a C++ header file.</source> @@ -2499,11 +2551,11 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>C++ Source File</source> - <translation>Zdrojový soubor C++</translation> + <translation type="obsolete">Zdrojový soubor C++</translation> </message> <message> <source>C++ Class</source> - <translation>TÅ™Ãda C++</translation> + <translation type="obsolete">TÅ™Ãda C++</translation> </message> <message> <source>Creates a header and a source file for a new class.</source> @@ -2519,15 +2571,15 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>Creates a C++ header and a source file for a new class that you can add to a C++ project.</source> - <translation>Vytvořà hlaviÄku C++ a zdrojový soubor pro novou tÅ™Ãdu, který můžete pÅ™idat do projektu C++.</translation> + <translation type="obsolete">Vytvořà hlaviÄku C++ a zdrojový soubor pro novou tÅ™Ãdu, který můžete pÅ™idat do projektu C++.</translation> </message> <message> <source>Creates a C++ source file that you can add to a C++ project.</source> - <translation>Vytvořà zdrojový soubor pro novou tÅ™Ãdu, který můžete pÅ™idat do projektu C++.</translation> + <translation type="obsolete">Vytvořà zdrojový soubor pro novou tÅ™Ãdu, který můžete pÅ™idat do projektu C++.</translation> </message> <message> <source>Creates a C++ header file that you can add to a C++ project.</source> - <translation>Vytvořà hlaviÄkový soubor C++, který můžete pÅ™idat do projektu C++.</translation> + <translation type="obsolete">Vytvořà hlaviÄkový soubor C++, který můžete pÅ™idat do projektu C++.</translation> </message> <message> <source>Follow Symbol Under Cursor</source> @@ -2535,51 +2587,51 @@ Chcete je nechat pÅ™epsat?</translation> </message> <message> <source>Switch Between Method Declaration/Definition</source> - <translation>PÅ™epÃnánà mezi deklaracà a definicà metody</translation> + <translation type="obsolete">PÅ™epÃnánà mezi deklaracà a definicà metody</translation> </message> <message> <source>Shift+F2</source> - <translation>Shift+F2</translation> + <translation type="obsolete">Shift+F2</translation> </message> <message> <source>Open Method Declaration/Definition in Next Split</source> - <translation>OtevÅ™Ãt deklaraci/definici metody v dalÅ¡Ãm rozdÄ›lenÃ</translation> + <translation type="obsolete">OtevÅ™Ãt deklaraci/definici metody v dalÅ¡Ãm rozdÄ›lenÃ</translation> </message> <message> <source>Ctrl+E, Shift+F2</source> - <translation>Ctrl+E, Shift+F2</translation> + <translation type="obsolete">Ctrl+E, Shift+F2</translation> </message> <message> <source>Find Usages</source> - <translation>NajÃt použitÃ</translation> + <translation type="obsolete">NajÃt použitÃ</translation> </message> <message> <source>Ctrl+Shift+U</source> - <translation>Ctrl+Shift+U</translation> + <translation type="obsolete">Ctrl+Shift+U</translation> </message> <message> <source>Open Type Hierarchy</source> - <translation>OtevÅ™Ãt hierarchii tÅ™Ãd</translation> + <translation type="obsolete">OtevÅ™Ãt hierarchii tÅ™Ãd</translation> </message> <message> <source>Ctrl+Shift+T</source> - <translation>Ctrl+Shift+T</translation> + <translation type="obsolete">Ctrl+Shift+T</translation> </message> <message> <source>Meta+Shift+T</source> - <translation>Meta+Shift+T</translation> + <translation type="obsolete">Meta+Shift+T</translation> </message> <message> <source>Rename Symbol Under Cursor</source> - <translation>PÅ™ejmenovat symbol pod ukazovátkem</translation> + <translation type="obsolete">PÅ™ejmenovat symbol pod ukazovátkem</translation> </message> <message> <source>CTRL+SHIFT+R</source> - <translation>Ctrl+Shift+R</translation> + <translation type="obsolete">Ctrl+Shift+R</translation> </message> <message> <source>Update Code Model</source> - <translation>Obnovit model kódu</translation> + <translation type="obsolete">Obnovit model kódu</translation> </message> <message> <source>Rename Symbol under Cursor</source> @@ -2809,6 +2861,14 @@ Chcete je nechat pÅ™epsat?</translation> <source>Open Corresponding Header/Source in Next Split</source> <translation>OtevÅ™Ãt odpovÃdajÃcà hlaviÄku/zdroj v dalÅ¡Ãm rozdÄ›lenÃ</translation> </message> + <message> + <source>Meta+E, F4</source> + <translation>Meta+E, F4</translation> + </message> + <message> + <source>Ctrl+E, F4</source> + <translation>Ctrl+E, F4</translation> + </message> </context> <context> <name>CppTools::Internal::FunctionArgumentWidget</name> @@ -3745,7 +3805,7 @@ Qt Creator se k nÄ›mu nemůže pÅ™ipojit.</translation> </message> <message> <source>Breakpoints</source> - <translation>Body pÅ™eruÅ¡enÃ</translation> + <translation type="obsolete">Body pÅ™eruÅ¡enÃ</translation> </message> <message> <source><html><head/><body><p>Attempt to correct the location of a breakpoint based on file and line number should it be in a comment or in a line for which no code is generated. The correction is based on the code model.</p></body></html></source> @@ -3757,7 +3817,7 @@ Qt Creator se k nÄ›mu nemůže pÅ™ipojit.</translation> </message> <message> <source>Break on functions:</source> - <translation>PÅ™eruÅ¡it pÅ™i funkcÃch:</translation> + <translation type="obsolete">PÅ™eruÅ¡it pÅ™i funkcÃch:</translation> </message> <message> <source>This is useful to catch runtime error messages, for example caused by assert().</source> @@ -3765,23 +3825,23 @@ Qt Creator se k nÄ›mu nemůže pÅ™ipojit.</translation> </message> <message> <source>Symbol paths: %1</source> - <translation>Cesty k symbolům: %1</translation> + <translation type="obsolete">Cesty k symbolům: %1</translation> </message> <message> <source><none></source> - <translation><žádná></translation> + <translation type="obsolete"><žádná></translation> </message> <message> <source>Source paths: %1</source> - <translation>Cesty ke zdrojovému textu: %1</translation> + <translation type="obsolete">Cesty ke zdrojovému textu: %1</translation> </message> <message> <source>Paths</source> - <translation>Cesty</translation> + <translation type="obsolete">Cesty</translation> </message> <message> <source>Edit...</source> - <translation>Upravit...</translation> + <translation type="obsolete">Upravit...</translation> </message> <message> <source>Various</source> @@ -3789,7 +3849,7 @@ Qt Creator se k nÄ›mu nemůže pÅ™ipojit.</translation> </message> <message> <source>Ignore first chance access violations</source> - <translation type="unfinished"></translation> + <translation>PÅ™ehlÞet prvnà pÅ™Ãležitostné poruÅ¡enà pÅ™Ãstupu</translation> </message> </context> <context> @@ -3802,9 +3862,17 @@ Qt Creator se k nÄ›mu nemůže pÅ™ipojit.</translation> <source>Adds the Microsoft symbol server providing symbols for operating system libraries.Requires specifying a local cache directory.</source> <translation>PÅ™idá symbolický server firmy Microsoft, který poskytuje symboly pro knihovny operaÄnÃho systému. Vyžaduje zadánà adresáře s mÃstnà vyrovnávacà pamÄ›tÃ.</translation> </message> + <message> + <source>Symbol Cache...</source> + <translation>Vyrovnávacà paměť pro symboly...</translation> + </message> + <message> + <source>Uses a directory to cache symbols used by the debugger.</source> + <translation>PoužÃvá adresář pro ukládánà symbolů použÃvaných ladiÄem do vyrovnávacà pamÄ›ti.</translation> + </message> <message> <source><html><head/><body><p>The debugger is not configured to use the public <a href="%1">Microsoft Symbol Server</a>. This is recommended for retrieval of the symbols of the operating system libraries.</p><p><i>Note:</i> A fast internet connection is required for this to work smoothly. Also, a delay might occur when connecting for the first time.</p><p>Would you like to set it up?</p></body></html></source> - <translation><html><head/><body><p>LadiÄ nenà zaÅ™Ãzen k použÃvánà veÅ™ejného <a href="%1">Microsoft Symbol Serveru</a>. Toto se doporuÄuje k vyhledávánà symbolů knihoven operaÄnÃch systémů.</p><p><i>Poznámka:</i> Je požadováno rychle internetové spojenÃ. PÅ™i prvnÃm spuÅ¡tÄ›nà se může vyskytnout zpoždÄ›nÃ.</p><p>Chcete zÅ™Ãdit symbolický server?</p></body></html></translation> + <translation type="obsolete"><html><head/><body><p>LadiÄ nenà zaÅ™Ãzen k použÃvánà veÅ™ejného <a href="%1">Microsoft Symbol Serveru</a>. Toto se doporuÄuje k vyhledávánà symbolů knihoven operaÄnÃch systémů.</p><p><i>Poznámka:</i> Je požadováno rychle internetové spojenÃ. PÅ™i prvnÃm spuÅ¡tÄ›nà se může vyskytnout zpoždÄ›nÃ.</p><p>Chcete zÅ™Ãdit symbolický server?</p></body></html></translation> </message> <message> <source><html><head/><body><p>The debugger is not configured to use the public <a href="%1">Microsoft Symbol Server</a>. This is recommended for retrieval of the symbols of the operating system libraries.</p><p><i>Note:</i> A fast internet connection is required for this to work smoothly. Also, a delay might occur when connecting for the first time.</p><p>Would you like to set it up?</p></br></body></html></source> @@ -3812,11 +3880,11 @@ Qt Creator se k nÄ›mu nemůže pÅ™ipojit.</translation> </message> <message> <source>Symbol Server</source> - <translation>Symbolický server</translation> + <translation type="obsolete">Symbolický server</translation> </message> <message> <source>Do not ask again</source> - <translation>Neptat se znovu</translation> + <translation type="obsolete">Neptat se znovu</translation> </message> <message> <source>Pick a local cache directory</source> @@ -4598,26 +4666,26 @@ Zkuste: %2</translation> <source>This does not seem to be a "Debug" build. Setting breakpoints by file name and line number may fail. </source> - <translation>Zdá se, že toto nenà sestavenà "Debug". + <translation type="obsolete">Zdá se, že toto nenà sestavenà "Debug". Nastavenà bodů pÅ™eruÅ¡enà podle názvů souborů a ÄÃsel řádků může selhat.</translation> </message> <message> <source>Found.</source> - <translation>Nalezeno.</translation> + <translation type="obsolete">Nalezeno.</translation> </message> <message> <source>Not Found.</source> - <translation>Nenalezeno.</translation> + <translation type="obsolete">Nenalezeno.</translation> </message> <message> <source> Section %1: %2</source> - <translation> + <translation type="obsolete"> Část %1: %2</translation> </message> <message> <source>Warning</source> - <translation>VarovánÃ</translation> + <translation type="obsolete">VarovánÃ</translation> </message> <message> <source>The gdb process could not be stopped: @@ -5179,13 +5247,41 @@ markers in the source code editor.</source> <translation>Dovolà nebo potlaÄà Ätenà výchozÃho uživatelského souboru .gdbinit pÅ™i spuÅ¡tÄ›nà ladiÄe.</translation> </message> + <message> + <source>Create tasks from missing packages</source> + <translation>VytvoÅ™it úkoly z chybÄ›jÃcÃch balÃÄků</translation> + </message> + <message> + <source><html><head/><body><p>Attempts to identify missing debug info packages and lists them in the Issues output pane.</p><p><b>Note:</b> This feature needs special support from the Linux distribution and GDB build and is not available everywhere.</p></body></html></source> + <translation><html><head/><body><p>ZapnutÃm této volby se zkusà urÄit chybÄ›jÃcà balÃÄky s informacemi o ladÄ›nà a uvede je v oknÄ› pro zobrazenà potÞà pÅ™i sestavovánÃ.</p><p><b>Poznámka:</b> Tato funkcionalita vyžaduje zvláštnà podporu od linuxové distribuce a od GDB a nenà dostupná vÅ¡ude.</p></body></html></translation> + </message> + <message> + <source><p>To execute simple Python commands, prefix them with "python".</p><p>To execute sequences of Python commands spanning multiple lines prepend the block with "python" on a separate line, and append "end" on a separate line.</p><p>To execute arbitrary Python scripts, use <i>python execfile('/path/to/script.py')</i>.</p></source> + <translation><p>Pro provádÄ›nà jednoduchých Pythonovských pÅ™Ãkazů na jejich zaÄátek dejte pÅ™edponu "python".</p><p>Pro provádÄ›nà sekvencà Pythonovských pÅ™Ãkazů, které zabÃrajà vÃce řádků, dejte na zaÄátek bloku "python" na samostatném řádku a pÅ™ipojte "end" na samostatném řádku.</p><p>Pro provádÄ›nà libovolných Pythonovských skriptů použijte <i>python execfile('/cesta/k/script.py')</i>.</p></translation> + </message> + <message> + <source><html><head/><body><p>GDB commands entered here will be executed after GDB has been started, but before the debugged program is started or attached, and before the debugging helpers are initialized.</p>%1</body></html></source> + <translation><html><head/><body><p>Zde zadané pÅ™Ãkazy GDB budou provedeny po spuÅ¡tÄ›nà GDB. ale jeÅ¡tÄ› pÅ™ed spuÅ¡tÄ›nÃm programu k ladÄ›nÃ, a pÅ™ed spuÅ¡tÄ›nÃm pomocných ladicÃch programů.</p>%1</body></html></translation> + </message> + <message> + <source>Debugging Helper Customization</source> + <translation>PÅ™izpůsobenà pomocného ladicÃho programu</translation> + </message> + <message> + <source><html><head/><body><p>GDB commands entered here will be executed after Qt Creator's debugging helpers have been loaded and fully initialized. You can load additional debugging helpers or modify existing ones here.</p>%1</body></html></source> + <translation><html><head/><body><p>Zde zadané pÅ™Ãkazy GDB budou provedeny po nahránà pomocných ladicÃch programů a jejich plném spuÅ¡tÄ›nÃ. pomocných ladicÃch programů. Můžete nahrát dalšà pomocné ladicà programy nebo zmÄ›nit již existujÃcÃ.</p>%1</body></html></translation> + </message> + <message> + <source>Extended</source> + <translation>RozÅ¡ÃÅ™ené</translation> + </message> <message> <source>Warn when debugging "Release" builds</source> - <translation>Varovat pÅ™i ladÄ›nà sestavenÃ, která pÅ™edstavujà vydánà (Release)</translation> + <translation type="obsolete">Varovat pÅ™i ladÄ›nà sestavenÃ, která pÅ™edstavujà vydánà (Release)</translation> </message> <message> <source>Show a warning when starting the debugger on a binary with insufficient debug information.</source> - <translation>Ukázat varovánà pÅ™i spuÅ¡tÄ›nà ladÄ›nà pro spustitelný soubor s nedostateÄnými ladicÃmi informacemi.</translation> + <translation type="obsolete">Ukázat varovánà pÅ™i spuÅ¡tÄ›nà ladÄ›nà pro spustitelný soubor s nedostateÄnými ladicÃmi informacemi.</translation> </message> <message> <source><html><head/><body>Add common paths to locations of debug information such as <i>/usr/src/debug</i> when starting GDB.</body></html></source> @@ -5209,23 +5305,28 @@ souboru .gdbinit pÅ™i spuÅ¡tÄ›nà ladiÄe.</translation> </message> <message> <source>Use Intel style disassembly</source> - <translation type="unfinished"></translation> + <translation>PoužÃt pro disassembler styl Intel</translation> </message> <message> - <source><html><head/><body>GDB shows by default AT&&T style disassembly.</body></html></source> - <translation type="unfinished"></translation> + <source>Load system GDB pretty printers</source> + <translation>Nahrát Pretty Printers GDB ze systému</translation> </message> <message> - <source><html><head/><body><p>GDB commands entered here will be executed after GDB has been started and the debugging helpers have been initialized.</p><p>You can add commands to load further debugging helpers here, or modify existing ones.</p><p>To execute simple Python commands, prefix them with "python".</p><p>To execute sequences of Python commands spanning multiple lines prepend the block with "python" on a separate line, and append "end" on a separate line.</p><p>To execute arbitrary Python scripts, use <i>python execfile('/path/to/script.py')</i>.</p></body></html></source> - <translation type="unfinished"></translation> + <source>Uses the default GDB pretty printers installed in your system or linked to the libraries your application uses. +</source> + <translation>PoužÃt Pretty Printers GDB, které jsou nainstalovány v systému nebo spojeny s knihovnami, které použÃvá váš program.</translation> + </message> + <message> + <source><html><head/><body>GDB shows by default AT&&T style disassembly.</body></html></source> + <translation><html><head/><body>PÅ™edloha GDB pro disassembler je ve stylu AT&&T.</body></html></translation> </message> <message> <source>Additional Attach Commands</source> - <translation type="unfinished"></translation> + <translation>DodateÄné pÅ™Ãkazy pÅ™i pÅ™ipojenÃ</translation> </message> <message> <source><html><head/><body><p>GDB commands entered here will be executed after GDB has successfully attached to remote targets.</p><p>You can add commands to further set up the target here, such as "monitor reset" or "load".</body></html></source> - <translation type="unfinished"></translation> + <translation><html><head/><body><p>Zde zadané pÅ™Ãkazy GDB budou provedeny po úspěšném pÅ™ipojenà GDB k vzdáleným cÃlům. </p><p>Zde můžete pÅ™idat pÅ™Ãkazy pro dalšà nastavenà cÃle, jako jsou "monitor reset" nebo "load".</body></html></translation> </message> <message> <source>This specifies whether the dynamic or the static type of objects will bedisplayed. Choosing the dynamic type might be slower.</source> @@ -6155,9 +6256,13 @@ informacemi o ladÄ›nÃ.</translation> <source>Object Address</source> <translation>Adresa objektu</translation> </message> + <message> + <source>Pointer Address</source> + <translation>Adresa ukazatele</translation> + </message> <message> <source>Referencing Address</source> - <translation>OdkazujÃcà adresa</translation> + <translation type="obsolete">OdkazujÃcà adresa</translation> </message> <message> <source>Static Object Size</source> @@ -6983,6 +7088,10 @@ Zkuste projekt vytvoÅ™it znovu.</translation> <source>Shift+F4</source> <translation>Shift+F4</translation> </message> + <message> + <source>About Qt Designer Plugins...</source> + <translation>O pÅ™Ãdavných modulech programu Qt Designer...</translation> + </message> <message> <source>Views</source> <translation type="obsolete">Pohledy</translation> @@ -7005,7 +7114,7 @@ Zkuste projekt vytvoÅ™it znovu.</translation> </message> <message> <source>About Qt Designer plugins....</source> - <translation>O pÅ™Ãdavných modulech programu Qt Designer...</translation> + <translation type="obsolete">O pÅ™Ãdavných modulech programu Qt Designer...</translation> </message> <message> <source>Preview in</source> @@ -7360,6 +7469,10 @@ Důvod: %3</translation> <source>Read .vimrc</source> <translation>ÄŒÃst .vimrc</translation> </message> + <message> + <source>Path to .vimrc</source> + <translation>Cesta k .vimrc</translation> + </message> </context> <context> <name>FakeVim::Internal::FakeVimHandler</name> @@ -7584,13 +7697,17 @@ Důvod: %3</translation> <source>FakeVim</source> <translation>FakeVim</translation> </message> + <message> + <source>Default: %1</source> + <translation>VýchozÃ: %1</translation> + </message> <message> <source>Use FakeVim</source> <translation>PoužÃvat FakeVim</translation> </message> <message> <source>Read .vimrc</source> - <translation>ÄŒÃst .vimrc</translation> + <translation type="obsolete">ÄŒÃst .vimrc</translation> </message> <message> <source>Vim Behavior</source> @@ -7685,6 +7802,34 @@ Důvod: %3</translation> <source>Show partial command</source> <translation>Ukázat ÄásteÄný pÅ™Ãkaz</translation> </message> + <message> + <source>Use ignorecase</source> + <translation>PoužÃt ignorecase</translation> + </message> + <message> + <source>Let Qt Creator handle some key presses in insert mode so that code can be properly completed and expanded.</source> + <translation>Umožnà Qt Creatoru zacházet s nÄ›kterými stisky kláves v režimu vkládánÃ, takže kód může být správnÄ› doplňován a rozÅ¡iÅ™ován.</translation> + </message> + <message> + <source>Pass keys in insert mode</source> + <translation>PÅ™edat dál stisky kláves v režimu vkládánÃ</translation> + </message> + <message> + <source>Scroll offset:</source> + <translation>Posun obrazu:</translation> + </message> + <message> + <source>Read .vimrc from location:</source> + <translation>PoužÃt .vimrc z umÃstÄ›nÃ:</translation> + </message> + <message> + <source>Keep empty to use the default path, i.e. %USERPROFILE%\_vimrc on Windows, ~/.vimrc otherwise.</source> + <translation>Ponechat prázdné, aby se použila výchozà cesta, tzn., %USERPROFILE%\_vimrc auf Windows, ansonsten ~/.vimrc.</translation> + </message> + <message> + <source>Browse...</source> + <translation>Procházet...</translation> + </message> </context> <context> <name>FakeVim::Internal::FakeVimPluginPrivate</name> @@ -8561,6 +8706,14 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <source>Delete Branch</source> <translation>Smazat vÄ›tev</translation> </message> + <message> + <source>Branch Exists</source> + <translation>VÄ›tev existuje</translation> + </message> + <message> + <source>Local branch '%1' already exists.</source> + <translation>MÃstnà vÄ›tev '%1' již existuje.</translation> + </message> <message> <source>Would you like to delete the branch '%1'?</source> <translation>Chcete smazat vÄ›tev '%1'?</translation> @@ -8646,6 +8799,10 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <translatorcomment>XXX: klávesové zkratky upraveny, ale neověřeno za bÄ›hu</translatorcomment> <translation>PÅ™es&kládat (rebase)</translation> </message> + <message> + <source>Re&name</source> + <translation>&PÅ™ejmenovat</translation> + </message> </context> <context> <name>Git::Internal::ChangeSelectionDialog</name> @@ -8667,20 +8824,60 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš </message> <message> <source>Select Working Directory</source> - <translation>Vybrat pracovnà adresář</translation> + <translation type="obsolete">Vybrat pracovnà adresář</translation> </message> <message> <source>Error</source> - <translation>Chyba</translation> + <translation type="obsolete">Chyba</translation> </message> <message> <source>Selected directory is not a Git repository.</source> - <translation>Vybraný adresář nenà skladiÅ¡tÄ›m Git.</translation> + <translation type="obsolete">Vybraný adresář nenà skladiÅ¡tÄ›m Git.</translation> + </message> + <message> + <source>Browse &Directory...</source> + <translation>Vybrat &adresář...</translation> + </message> + <message> + <source>Browse &History...</source> + <translation>Procházet &historii...</translation> + </message> + <message> + <source>&Show</source> + <translation>Uká&zat</translation> + </message> + <message> + <source>Cherry &Pick</source> + <translation>Cherry-&Pick</translation> + </message> + <message> + <source>&Revert</source> + <translation>&Vrátit</translation> + </message> + <message> + <source>Check&out</source> + <translation>NaÄÃst (checkout)</translation> + </message> + <message> + <source>&Close</source> + <translation>&ZavÅ™Ãt</translation> + </message> + <message> + <source>Select Commit</source> + <translation>Vybrat zápis (commit)</translation> + </message> + <message> + <source>Select Git Directory</source> + <translation>Vybrat adresář Git</translation> </message> <message> <source>Error: Unknown reference</source> <translation>Chyba: Neznámý odkaz</translation> </message> + <message> + <source>Error: Bad working directory.</source> + <translation>Chyba: Neplatný pracovnà adresář.</translation> + </message> <message> <source>Error: Could not start Git.</source> <translation>Chyba: NepodaÅ™ilo se spustit Git.</translation> @@ -8699,7 +8896,7 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš </message> <message> <source>Select</source> - <translation>Vybrat</translation> + <translation type="obsolete">Vybrat</translation> </message> <message> <source>Change:</source> @@ -8745,7 +8942,7 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš </message> <message> <source>Git Log</source> - <translation>Git Log</translation> + <translation type="obsolete">Git Log</translation> </message> <message> <source>Git Log %1</source> @@ -8903,7 +9100,7 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš </message> <message> <source>Changes</source> - <translation>ZmÄ›ny</translation> + <translation type="obsolete">ZmÄ›ny</translation> </message> <message> <source>You have modified files. Would you like to stash your changes?</source> @@ -9025,10 +9222,34 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <extracomment>Failed to find parent revisions of a SHA1 for "annotate previous"</extracomment> <translation>NadÅ™azenou revizi "%1" ve skladiÅ¡ti "%2" se nepodaÅ™ilo urÄit: %3</translation> </message> + <message> + <source>Cannot execute "git %1" in "%2": %3</source> + <translation>PÅ™Ãkaz "git %1" se v adresáři "%2" nepodaÅ™ilo provést: %3</translation> + </message> <message> <source>Cannot retrieve branch of "%1": %2</source> <translation>VÄ›tev skladiÅ¡tÄ› "%1" nelze urÄit: %2</translation> </message> + <message> + <source>Cannot run "%1" in "%2": %3</source> + <translation>PÅ™Ãkaz "%1" se v adresáři "%2" nepodaÅ™ilo provést: %3</translation> + </message> + <message> + <source>REBASING</source> + <translation>PŘESKLÃDÃVà SE</translation> + </message> + <message> + <source>REVERTING</source> + <translation>VRACà SE</translation> + </message> + <message> + <source>CHERRY-PICKING</source> + <translation>VYBÃRà SE</translation> + </message> + <message> + <source>MERGING</source> + <translation>SLUÄŒUJE SE</translation> + </message> <message> <source>Detached HEAD</source> <translation>Odpojená HEAD</translation> @@ -9050,21 +9271,61 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <extracomment>Look-up of a stash via its descriptive message failed.</extracomment> <translation>NepodaÅ™ilo se urÄit odložené zmÄ›ny s popisem "%1" ve skladiÅ¡ti "%2".</translation> </message> + <message> + <source>Submodules Found</source> + <translation>Submoduly nalezeny</translation> + </message> + <message> + <source>Would you like to update submodules?</source> + <translation>Chcete aktualizovat submoduly?</translation> + </message> + <message> + <source>Uncommitted Changes Found</source> + <translation>Nalezeny nezapsané zmÄ›ny</translation> + </message> + <message> + <source>What would you like to do with local changes in:</source> + <translation>Co chcete dÄ›lat s následujÃcÃmi mÃstnÃmi zmÄ›nami:</translation> + </message> + <message> + <source>Stash</source> + <translation>Odložit (stash)</translation> + </message> + <message> + <source>Stash local changes and continue.</source> + <translation>Odložit mÃstnà zmÄ›ny a pokraÄovat.</translation> + </message> + <message> + <source>Discard</source> + <translation>OdmÃtnout</translation> + </message> + <message> + <source>Discard (reset) local changes and continue.</source> + <translation>Zahodit (reset) mÃstnà zmÄ›ny a pokraÄovat.</translation> + </message> + <message> + <source>Continue with local changes in working directory.</source> + <translation>PokraÄovat s mÃstnÃmi zmÄ›nami v pracovnÃm adresáři.</translation> + </message> + <message> + <source>Cancel current command.</source> + <translation>ZruÅ¡it nynÄ›jšà pÅ™Ãkaz.</translation> + </message> <message> <source>Cannot run "git branch" in "%1": %2</source> - <translation>PÅ™Ãkaz "git branch" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> + <translation type="obsolete">PÅ™Ãkaz "git branch" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> </message> <message> <source>Cannot run "git remote" in "%1": %2</source> - <translation>PÅ™Ãkaz "git remote" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> + <translation type="obsolete">PÅ™Ãkaz "git remote" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> </message> <message> <source>Cannot run "git show" in "%1": %2</source> - <translation>PÅ™Ãkaz "git show" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> + <translation type="obsolete">PÅ™Ãkaz "git show" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> </message> <message> <source>Cannot run "git clean" in "%1": %2</source> - <translation>PÅ™Ãkaz "git clean" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> + <translation type="obsolete">PÅ™Ãkaz "git clean" se ve skladiÅ¡ti "%1" nepodaÅ™ilo provést: %2</translation> </message> <message> <source>There were warnings while applying "%1" to "%2": @@ -9078,12 +9339,54 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš </message> <message> <source>Would you like to stash your changes?</source> - <translation>Chcete své zmÄ›ny odložit (stash)?</translation> + <translation type="obsolete">Chcete své zmÄ›ny odložit (stash)?</translation> </message> <message> <source>Cannot obtain status: %1</source> <translation>Stav se nepodaÅ™ilo zÃskat: %1</translation> </message> + <message> + <source>Continue Rebase</source> + <translation>PokraÄovat v pÅ™eskládánÃ</translation> + </message> + <message> + <source>Rebase is in progress. What do you want to do?</source> + <translation>ProbÃhá pÅ™eskládánÃ. Co chcete dÄ›lat?</translation> + </message> + <message> + <source>Continue</source> + <translation>PokraÄovat</translation> + </message> + <message> + <source>Continue Revert</source> + <translation>PokraÄovat ve vracenà zmÄ›n</translation> + </message> + <message> + <source>You need to commit changes to finish revert. +Commit now?</source> + <translation>Pro dokonÄenà vrácenà zmÄ›n je nutno provést zápis. Chcete nynà zapsat?</translation> + </message> + <message> + <source>Commit</source> + <translation>PoužÃt</translation> + </message> + <message> + <source>Continue Cherry-Picking</source> + <translation>PokraÄovat ve výbÄ›rovém sluÄovánÃ</translation> + </message> + <message> + <source>You need to commit changes to finish cherry-picking. +Commit now?</source> + <translation>Pro dokonÄenà výbÄ›rového sluÄovánà je nutno provést zápis. Chcete nynà zapsat?</translation> + </message> + <message> + <source>No changes found. </source> + <translation>Beze zmÄ›n.</translation> + </message> + <message> + <source>Skip</source> + <translation>PÅ™eskoÄit</translation> + </message> <message> <source><Detached HEAD></source> <translation><Odpojená HEAD></translation> @@ -9172,10 +9475,22 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <source>Git SVN Log</source> <translation>Git SVN Log</translation> </message> + <message> + <source>Rebase, merge or am is in progress. Finish or abort it and then try again.</source> + <translation>ProbÃhá operace pÅ™eskládánÃ, sluÄovánà nebo am. UkonÄete ji, prosÃm, nebo ji zruÅ¡te a zkuste to jeÅ¡tÄ› jednou.</translation> + </message> <message> <source>There are no modified files.</source> <translation>Nejsou žádné zmÄ›nÄ›né soubory.</translation> </message> + <message> + <source>No commits were found</source> + <translation>NepodaÅ™ilo se nalézt žádné zápisy</translation> + </message> + <message> + <source>No local commits were found</source> + <translation>NepodaÅ™ilo se nalézt žádné mÃstnà zápisy</translation> + </message> <message> <source>Cannot restore stash "%1": %2</source> <translation>Odložené zmÄ›ny "%1" nelze použÃt: %2</translation> @@ -9315,6 +9630,46 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <source>Amend Last Commit...</source> <translation>Poupravit poslednà zápis (amend)...</translation> </message> + <message> + <source>Fixup Previous Commit...</source> + <translation>VylepÅ¡it pÅ™edchozà zápis...</translation> + </message> + <message> + <source>Interactive Rebase...</source> + <translation>Interaktivnà pÅ™eskládánÃ...</translation> + </message> + <message> + <source>Update Submodules</source> + <translation>Aktualizovat submoduly</translation> + </message> + <message> + <source>Abort Merge</source> + <translation>ZruÅ¡it sluÄovánÃ</translation> + </message> + <message> + <source>Abort Rebase</source> + <translation>ZruÅ¡it pÅ™eskládánÃ</translation> + </message> + <message> + <source>Abort Cherry Pick</source> + <translation>ZruÅ¡it výbÄ›rové sluÄovánÃ</translation> + </message> + <message> + <source>Abort Revert</source> + <translation>ZruÅ¡it vrácenà zmÄ›n</translation> + </message> + <message> + <source>Continue Rebase</source> + <translation>PokraÄovat v pÅ™eskládánÃ</translation> + </message> + <message> + <source>Continue Cherry Pick</source> + <translation>PokraÄovat ve výbÄ›rovém sluÄovánÃ</translation> + </message> + <message> + <source>Continue Revert</source> + <translation>PokraÄovat ve vracenà zmÄ›n</translation> + </message> <message> <source>Diff &Selected Files</source> <translation>RozdÃly pro &vybrané soubory</translation> @@ -9567,12 +9922,12 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš </message> <message> <source>Revert Single Commit...</source> - <translation>Vrátit zpÄ›t zápis (revert)...</translation> + <translation type="obsolete">Vrátit zpÄ›t zápis (revert)...</translation> </message> <message> <source>Cherry-Pick Commit...</source> <translatorcomment>XXX: ověřit za bÄ›hu (pÅ™ÃliÅ¡ dlouhé?) slovo zápis lze vypustit</translatorcomment> - <translation>VýbÄ›rovÄ› slouÄit zápis (cherry-pick)...</translation> + <translation type="obsolete">VýbÄ›rovÄ› slouÄit zápis (cherry-pick)...</translation> </message> <message> <source>&Patch</source> @@ -9594,6 +9949,26 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <source>Manage Remotes...</source> <translation>Spravovat vzdálená skladiÅ¡tÄ›...</translation> </message> + <message> + <source>Revert...</source> + <translation>Vrátit...</translation> + </message> + <message> + <source>Cherry Pick...</source> + <translation>VýbÄ›rovÄ› slouÄit...</translation> + </message> + <message> + <source>Checkout...</source> + <translation>NaÄÃst (checkout)...</translation> + </message> + <message> + <source>Rebase...</source> + <translation>PÅ™eskládat...</translation> + </message> + <message> + <source>Merge...</source> + <translation>SlouÄit...</translation> + </message> <message> <source>Git &Tools</source> <translation>&Nástroje Git</translation> @@ -9626,6 +10001,18 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <source>Merge Tool</source> <translation>Nástroj na sluÄovánÃ</translation> </message> + <message> + <source>Actions on Commits...</source> + <translation>ÄŒinnosti pÅ™i zápisech...</translation> + </message> + <message> + <source>Undo Changes to %1</source> + <translation>ZmÄ›ny pro %1 vrátit zpÄ›t</translation> + </message> + <message> + <source>Interactive Rebase</source> + <translation>Interaktivnà pÅ™eskládánÃ</translation> + </message> <message> <source>Unsupported version of Git found. Git %1 or later required.</source> <translation>Nalezena nepodporovaná verze Git. Je požadován Git %1 nebo pozdÄ›jÅ¡Ã.</translation> @@ -9634,6 +10021,10 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš <source>Amend %1</source> <translation>PozmÄ›nit zápis %1</translation> </message> + <message> + <source>Git Fixup Commit</source> + <translation type="unfinished">Git Fixup Commit</translation> + </message> <message> <source>Git Commit</source> <translation>Zapsat (Git Commit)</translation> @@ -9925,12 +10316,24 @@ vÃce Äasu, než je nastaveno. V takovém pÅ™ÃpadÄ› by se mÄ›la hodnota zvýš </message> <message> <source>Repository browser</source> - <translation>ProhlÞeÄ skladiÅ¡tÄ›</translation> + <translation type="obsolete">ProhlÞeÄ skladiÅ¡tÄ›</translation> </message> <message> <source>Command:</source> <translation>PÅ™Ãkaz:</translation> </message> + <message> + <source>Show tags in Branches dialog</source> + <translation>Ukázat klÃÄová slova v dialogu vÄ›tve</translation> + </message> + <message> + <source>Show diff side-by-side</source> + <translation>Ukázat zmÄ›ny vedle sebe</translation> + </message> + <message> + <source>Repository Browser</source> + <translation>ProhlÞeÄ skladiÅ¡tÄ›</translation> + </message> </context> <context> <name>GitCommand</name> @@ -11429,6 +11832,10 @@ ve svém .pro souboru.</translation> </context> <context> <name>PluginManager</name> + <message> + <source>The plugin '%1' is specified twice for testing.</source> + <translation>PÅ™Ãdavný modul '%1' je ve zkuÅ¡ebnÃm seznamu pÅ™Ãtomen dvakrát.</translation> + </message> <message> <source>The plugin '%1' does not exist.</source> <translation>PÅ™Ãdavný modul '%1' neexistuje.</translation> @@ -12413,6 +12820,14 @@ ve svém .pro souboru.</translation> <extracomment>No project selected</extracomment> <translation><Žádný></translation> </message> + <message> + <source>Open project anyway?</source> + <translation>PÅ™esto projekt otevÅ™Ãt?</translation> + </message> + <message> + <source>Version Control Failure</source> + <translation>Selhánà správy verzÃ</translation> + </message> <message> <source>Failed to add subproject '%1' to project '%2'.</source> @@ -13051,11 +13466,11 @@ se projektu '%2' nepodaÅ™ilo pÅ™idat.</translation> </message> <message> <source>Full path of the current project's main file, including file name.</source> - <translation>Úplná cesta hlavnÃho souboru nynÄ›jÅ¡Ãho projektu vÄetnÄ› názvu souboru.</translation> + <translation type="obsolete">Úplná cesta hlavnÃho souboru nynÄ›jÅ¡Ãho projektu vÄetnÄ› názvu souboru.</translation> </message> <message> <source>Full path of the current project's main file, excluding file name.</source> - <translation>Úplná cesta hlavnÃho souboru nynÄ›jÅ¡Ãho projektu vyjma názvu souboru.</translation> + <translation type="obsolete">Úplná cesta hlavnÃho souboru nynÄ›jÅ¡Ãho projektu vyjma názvu souboru.</translation> </message> <message> <source>Full build path of the current project's active build configuration.</source> @@ -13125,6 +13540,10 @@ se projektu '%2' nepodaÅ™ilo pÅ™idat.</translation> <source>Failed to Open Project</source> <translation>NepodaÅ™ilo se otevÅ™Ãt projekt</translation> </message> + <message> + <source>Failed opening project '%1': Project already open</source> + <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> + </message> <message> <source>Unknown error</source> <translation>Neznámá chyba</translation> @@ -13225,6 +13644,10 @@ Chcete je pÅ™ehlÞet?</translation> <source>Quick Switch Kit Selector</source> <translation>Rychlý výbÄ›r sady</translation> </message> + <message> + <source>Current project's main file</source> + <translation>Hlavnà soubor nynÄ›jÅ¡Ãho projektu</translation> + </message> <message> <source>A build is in progress</source> <translation>PrávÄ› probÃhá sestavovánÃ</translation> @@ -13420,6 +13843,14 @@ pÅ™idat do správy verzà (%2)?</translation> <source>Failed to restore project files</source> <translation>Projektové soubory se nepodaÅ™ilo obnovit</translation> </message> + <message> + <source>Delete Session</source> + <translation>Smazat sezenÃ</translation> + </message> + <message> + <source>Delete session %1?</source> + <translation>Smazat sezenà %1?</translation> + </message> <message> <source>Could not restore the following project files:<br><b>%1</b></source> <translation>NásledujÃcà soubory se nepodaÅ™ilo obnovit: <br><b>%1</b></translation> @@ -14395,15 +14826,15 @@ Vybere pro vývoj programu vhodnou verzi Qt, je-li dostupná.</translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Build Environment</source> - <translation>ProstÅ™edà pro sestavovánÃ</translation> + <translation type="obsolete">ProstÅ™edà pro sestavovánÃ</translation> </message> <message> <source>Qt Run Configuration</source> @@ -14470,7 +14901,7 @@ Vybere pro vývoj programu vhodnou verzi Qt, je-li dostupná.</translation> </message> <message> <source>Base environment for this run configuration:</source> - <translation>Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> + <translation type="obsolete">Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> </message> <message> <source>Debugger:</source> @@ -14478,7 +14909,7 @@ Vybere pro vývoj programu vhodnou verzi Qt, je-li dostupná.</translation> </message> <message> <source>Run Environment</source> - <translation>ProvádÄ›cà prostÅ™edÃ</translation> + <translation type="obsolete">ProvádÄ›cà prostÅ™edÃ</translation> </message> <message> <source>Base environment for this runconfiguration:</source> @@ -14486,15 +14917,15 @@ Vybere pro vývoj programu vhodnou verzi Qt, je-li dostupná.</translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Build Environment</source> - <translation>ProstÅ™edà pro sestavovánÃ</translation> + <translation type="obsolete">ProstÅ™edà pro sestavovánÃ</translation> </message> <message> <source>Running executable: <b>%1</b> %2 (in terminal)</source> @@ -14937,19 +15368,19 @@ p, li { white-space: pre-wrap; } </message> <message> <source>No Qt version.</source> - <translation>Žádná verze Qt.</translation> + <translation type="obsolete">Žádná verze Qt.</translation> </message> <message> <source>Invalid Qt version.</source> - <translation>Neplatná verze Qt.</translation> + <translation type="obsolete">Neplatná verze Qt.</translation> </message> <message> <source>Requires Qt 4.7.1 or newer.</source> - <translation>Vyžaduje Qt 4.7.1 nebo novÄ›jÅ¡Ã.</translation> + <translation type="obsolete">Vyžaduje Qt 4.7.1 nebo novÄ›jÅ¡Ã.</translation> </message> <message> <source>Library not available. <a href='compile'>Compile...</a></source> - <translation>Knihovna nenà dostupná. <a href='compile'>Sestavit...</a></translation> + <translation type="obsolete">Knihovna nenà dostupná. <a href='compile'>Sestavit...</a></translation> </message> <message> <source>QML Debugging</source> @@ -14986,13 +15417,21 @@ p, li { white-space: pre-wrap; } <source>Update of Generated Files</source> <translation>VytvoÅ™ené soubory pÅ™ivést do nynÄ›jÅ¡Ãho stavu</translation> </message> + <message> + <source>In project<br><br>%1<br><br>The following files are either outdated or have been modified:<br><br>%2<br><br>Do you want Qt Creator to update the files? Any changes will be lost.</source> + <translation>V projektu<br><br>%1<br><br>NásledujÃcà soubory jsou buÄ zastaralé, nebo byly zmÄ›nÄ›ny:<br><br>%2<br><br>Chcete, aby Qt Creator soubory zaktualizoval? PÅ™itom budou vÅ¡echny zmÄ›ny v nich ztraceny.</translation> + </message> <message> <source>The following files are either outdated or have been modified:<br><br>%1<br><br>Do you want Qt Creator to update the files? Any changes will be lost.</source> - <translation>NásledujÃcà soubory jsou buÄ zastaralé, nebo byly zmÄ›nÄ›ny:<br><br>%1<br><br>Chcete, aby Qt Creator soubory zaktualizoval? PÅ™itom budou vÅ¡echny zmÄ›ny v nich ztraceny.</translation> + <translation type="obsolete">NásledujÃcà soubory jsou buÄ zastaralé, nebo byly zmÄ›nÄ›ny:<br><br>%1<br><br>Chcete, aby Qt Creator soubory zaktualizoval? PÅ™itom budou vÅ¡echny zmÄ›ny v nich ztraceny.</translation> </message> <message> <source>Failed opening project '%1': Project file does not exist</source> - <translation>Projekt %1 se nepodaÅ™il otevÅ™Ãt: Soubor s projektem neexistuje</translation> + <translation type="obsolete">Projekt %1 se nepodaÅ™il otevÅ™Ãt: Soubor s projektem neexistuje</translation> + </message> + <message> + <source>Failed opening project '%1': Project is not a file</source> + <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt: Daný projektový soubor nenà soubor</translation> </message> <message> <source>QMake</source> @@ -15004,7 +15443,7 @@ p, li { white-space: pre-wrap; } </message> <message> <source>Failed opening project '%1': Project already open</source> - <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> + <translation type="obsolete">Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> </message> <message> <source>Opening %1 ...</source> @@ -15149,27 +15588,27 @@ Dalšà podrobnosti hledejte v /etc/sysctl.d/10-ptrace.conf </message> <message> <source>Base classes for graphical user interface (GUI) components. (Qt 4: Includes widgets. Qt 5: Includes OpenGL.)</source> - <translation type="unfinished"></translation> + <translation>Základnà tÅ™Ãdy pro souÄástky grafického uživatelského rozhranà (GUI). (Qt 4: Obsahuje doplňky (widgets). Qt 5: Obsahuje OpenGL.)</translation> </message> <message> <source>Classes to extend Qt GUI with C++ widgets (Qt 5)</source> - <translation type="unfinished"></translation> + <translation>TÅ™Ãdy, které rozÅ¡iÅ™ujà Qt GUI o doplňky (widgets) (Qt 5)</translation> </message> <message> <source>Qt Quick 1 classes</source> - <translation type="unfinished"></translation> + <translation>TÅ™Ãdy Qt Quick 1</translation> </message> <message> <source>Classes for QML and JavaScript languages (Qt 5)</source> - <translation type="unfinished"></translation> + <translation>TÅ™Ãdy pro jazyky založené na QML a JavaScriptu (Qt 5)</translation> </message> <message> <source>A declarative framework for building highly dynamic applications with custom user interfaces</source> - <translation type="unfinished"></translation> + <translation>Deklarativnà rámec (framework) na vytvářenà vysoce dynamických aplikacà s volnÄ› stanovitelnými uživatelskými rozhranÃmi</translation> </message> <message> <source>Print support classes (Qt 5)</source> - <translation type="unfinished"></translation> + <translation>TÅ™Ãdy pro podporu tisku (Qt 5)</translation> </message> <message> <source>Additional Qt Script components</source> @@ -15177,11 +15616,11 @@ Dalšà podrobnosti hledejte v /etc/sysctl.d/10-ptrace.conf </message> <message> <source>WebKit1 and QWidget-based classes from Qt 4 (Qt 5)</source> - <translation type="unfinished"></translation> + <translation>TÅ™Ãdy založené na WebKit1 a QWidget z Qt 4 (Qt 5)</translation> </message> <message> <source>Multimedia framework classes (Qt 4 only)</source> - <translation type="unfinished"></translation> + <translation>TÅ™Ãdy pro uspořádánà multimédià (jen Qt 4)</translation> </message> <message> <source>Classes for low-level multimedia functionality</source> @@ -15189,7 +15628,7 @@ Dalšà podrobnosti hledejte v /etc/sysctl.d/10-ptrace.conf </message> <message> <source>Classes that ease porting from Qt 3 to Qt 4 (Qt 4 only)</source> - <translation type="unfinished"></translation> + <translation>TÅ™Ãdy pro zjednoduÅ¡enà pÅ™enositelnosti z Qt 3 na Qt 4 (jen Qt 4)</translation> </message> <message> <source>Graphical user interface components</source> @@ -16128,6 +16567,10 @@ Dalšà podrobnosti hledejte v /etc/sysctl.d/10-ptrace.conf <source>Search</source> <translation>Hledat</translation> </message> + <message> + <source>Aborting replace.</source> + <translation>Rušà se nahrazovánÃ.</translation> + </message> <message> <source>%1 found</source> <translation type="obsolete">%1 nalezen</translation> @@ -16562,10 +17005,18 @@ Zdá se, že následujÃcà kódovánà odpovÃdajà souboru:</translation> <source>Line in current document</source> <translation type="obsolete">Řádek v nynÄ›jÅ¡Ãm dokumentu</translation> </message> + <message> + <source>Line %1, Column %2</source> + <translation>Řádek: %1, sloupec: %2</translation> + </message> <message> <source>Line %1</source> <translation>Řádek %1</translation> </message> + <message> + <source>Column %1</source> + <translation>Sloupec %1</translation> + </message> <message> <source>Line in Current Document</source> <translation>Řádek v nynÄ›jÅ¡Ãm dokumentu</translation> @@ -16916,6 +17367,14 @@ Zdá se, že následujÃcà kódovánà odpovÃdajà souboru:</translation> <source>Follow Symbol Under Cursor in Next Split</source> <translation>Následovat symbol pod ukazovátkem v dalÅ¡Ãm rozdÄ›lenÃ</translation> </message> + <message> + <source>Meta+E, F2</source> + <translation>Meta+E, F2</translation> + </message> + <message> + <source>Ctrl+E, F2</source> + <translation>Ctrl+E, F2</translation> + </message> <message> <source>Jump To File Under Cursor</source> <translation>JÃt na soubor pod ukazovátkem</translation> @@ -17004,6 +17463,10 @@ Zdá se, že následujÃcà kódovánà odpovÃdajà souboru:</translation> <source>Go to Next Word Camel Case with Selection</source> <translation>OznaÄit dalšà slovo (Camel Case)</translation> </message> + <message> + <source><line>:<column></source> + <translation><ÄÃslo řádku>:<ÄÃslo sloupce></translation> + </message> <message> <source>Goto Line Start</source> <translation type="obsolete">JÃt na zaÄátek řádku</translation> @@ -17086,7 +17549,7 @@ Zdá se, že následujÃcà kódovánà odpovÃdajà souboru:</translation> </message> <message> <source><line number></source> - <translation><ÄÃslo řádku></translation> + <translation type="obsolete"><ÄÃslo řádku></translation> </message> <message> <source>Move Line Up</source> @@ -17343,6 +17806,54 @@ Použito na text, pokud neodpovÃdajà žádná jiná pravidla.</translation> <source>Applied to enumeration items.</source> <translation>Použito na položky výÄtu.</translation> </message> + <message> + <source>Diff File Line</source> + <translation>RozdÃly v řádku souboru</translation> + </message> + <message> + <source>Applied to lines with file information in differences (in side-by-side diff editor).</source> + <translation>Použito na řádky s informacemi o souboru v rozdÃlech (pÅ™i zobrazenà rozdÃlů vedle sebe).</translation> + </message> + <message> + <source>Diff Context Line</source> + <translation>RozdÃly v řádku s kontextem</translation> + </message> + <message> + <source>Applied to lines describing hidden context in differences (in side-by-side diff editor).</source> + <translation>Použito na řádky, které v rozdÃlech popisujà skryté souvislosti (pÅ™i zobrazenà rozdÃlů vedle sebe).</translation> + </message> + <message> + <source>Diff Source Line</source> + <translation>RozdÃly v řádku ze zdrojového souboru</translation> + </message> + <message> + <source>Applied to source lines with changes in differences (in side-by-side diff editor).</source> + <translation>Použito na zmÄ›nÄ›né řádky zdrojového souboru v rozdÃlech (pÅ™i zobrazenà rozdÃlů vedle sebe).</translation> + </message> + <message> + <source>Diff Source Character</source> + <translation>RozdÃly ve znaku ze zdrojového souboru</translation> + </message> + <message> + <source>Applied to removed characters in differences (in side-by-side diff editor).</source> + <translation>Použito na smazané znaky v rozdÃlech (pÅ™i zobrazenà rozdÃlů vedle sebe).</translation> + </message> + <message> + <source>Diff Destination Line</source> + <translation>RozdÃly v řádku z cÃlového souboru</translation> + </message> + <message> + <source>Applied to destination lines with changes in differences (in side-by-side diff editor).</source> + <translation>Použito na zmÄ›nÄ›né řádky cÃlového souboru v rozdÃlech (pÅ™i zobrazenà rozdÃlů vedle sebe).</translation> + </message> + <message> + <source>Diff Destination Character</source> + <translation>RozdÃly ve znaku z cÃlového souboru</translation> + </message> + <message> + <source>Applied to added characters in differences (in side-by-side diff editor).</source> + <translation>Použito na pÅ™idané znaky v rozdÃlech (pÅ™i zobrazenà rozdÃlů vedle sebe).</translation> + </message> <message> <source>Applied to Enumeration Items.</source> <translation type="obsolete">Použito na položky výÄtu.</translation> @@ -18758,11 +19269,11 @@ Toho se dosáhne vloženÃm této zkratky v zadávacÃm poli vyhledávaÄe, nás </message> <message> <source>Open compiler output pane when building</source> - <translation>PÅ™i sestavovánà ukázat výstup pÅ™ekladaÄe</translation> + <translation type="obsolete">PÅ™i sestavovánà ukázat výstup pÅ™ekladaÄe</translation> </message> <message> <source>Open application output pane when running</source> - <translation>PÅ™i spuÅ¡tÄ›nà programu ukázat výstupnà panel</translation> + <translation type="obsolete">PÅ™i spuÅ¡tÄ›nà programu ukázat výstupnà panel</translation> </message> <message> <source>Enabling this option ensures that the order of interleaved messages from stdout and stderr is preserved, at the cost of disabling highlighting of stderr.</source> @@ -18794,7 +19305,7 @@ Toho se dosáhne vloženÃm této zkratky v zadávacÃm poli vyhledávaÄe, nás </message> <message> <source>Open application output pane when debugging</source> - <translation>PÅ™i ladÄ›nà programu ukázat výstupnà panel</translation> + <translation type="obsolete">PÅ™i ladÄ›nà programu ukázat výstupnà panel</translation> </message> <message> <source><i>jom</i> is a drop-in replacement for <i>nmake</i> which distributes the compilation process to multiple CPU cores. The latest binary is available at <a href="http://releases.qt-project.org/jom/">http://releases.qt-project.org/jom/</a>. Disable it if you experience problems with your builds.</source> @@ -18808,6 +19319,18 @@ Toho se dosáhne vloženÃm této zkratky v zadávacÃm poli vyhledávaÄe, nás <source>Reset</source> <translation>Nastavit znovu</translation> </message> + <message> + <source>Open Compile Output pane when building</source> + <translation>PÅ™i sestavovánà ukázat výstup pÅ™ekladaÄe</translation> + </message> + <message> + <source>Open Application Output pane on output when running</source> + <translation>PÅ™i spuÅ¡tÄ›nà programu otevÅ™Ãt, když následuje výstup, výstupnà panel</translation> + </message> + <message> + <source>Open Application Output pane on output when debugging</source> + <translation>PÅ™i ladÄ›nà programu otevÅ™Ãt, když následuje výstup, výstupnà panel</translation> + </message> </context> <context> <name>ProjectExplorer::Internal::ProjectWelcomePageWidget</name> @@ -19572,9 +20095,13 @@ Toho se dosáhne vloženÃm této zkratky v zadávacÃm poli vyhledávaÄe, nás <source>Terminal command may not be a shell command.</source> <translation>Shellové pÅ™Ãkazy nejsou jako terminálové pÅ™Ãkazy pÅ™Ãpustné.</translation> </message> + <message> + <source>Cannot start the terminal emulator '%1', change the setting in the Environment options.</source> + <translation>Emulátor terminálu '%1' se nepodaÅ™ilo spustit. Změňte hodnotu v nastavenà prostÅ™edÃ.</translation> + </message> <message> <source>Cannot start the terminal emulator '%1'.</source> - <translation>NepodaÅ™ilo se spustit program pro emulaci terminálu '%1'.</translation> + <translation type="obsolete">NepodaÅ™ilo se spustit program pro emulaci terminálu '%1'.</translation> </message> <message> <source>Cannot create socket '%1': %2</source> @@ -19724,6 +20251,10 @@ Toho se dosáhne vloženÃm této zkratky v zadávacÃm poli vyhledávaÄe, nás <source>The path '%1' is not a directory.</source> <translation>Cesta '%1' neukazuje na adresář.</translation> </message> + <message> + <source>The directory '%1' does not exist.</source> + <translation>Adresář '%1' neexistuje.</translation> + </message> <message> <source>Cannot execute '%1'.</source> <translation>NepodaÅ™ilo se provést '%1'.</translation> @@ -19895,6 +20426,10 @@ Toho se dosáhne vloženÃm této zkratky v zadávacÃm poli vyhledávaÄe, nás <source>Image Viewer</source> <translation>ProhlÞeÄ obrázků</translation> </message> + <message> + <source>Python Editor</source> + <translation>Editor Pythonu</translation> + </message> </context> <context> <name>Core::Internal::SettingsDialog</name> @@ -21092,6 +21627,14 @@ Chcete jej ukonÄit?</translation> <source>UCS4 string</source> <translation>ŘetÄ›zec UCS4</translation> </message> + <message> + <source>Array of 10 items</source> + <translation>Pole s 10 položkami</translation> + </message> + <message> + <source>Array of 1000 items</source> + <translation>Pole s 1000 položkami</translation> + </message> <message> <source>Decimal</source> <translation>DesÃtkový</translation> @@ -21604,7 +22147,7 @@ Chcete jej ukonÄit?</translation> <name>ProjectExplorer::Internal::LocalApplicationRunControlFactory</name> <message> <source>Run</source> - <translation>Spustit</translation> + <translation type="obsolete">Spustit</translation> </message> </context> <context> @@ -21623,6 +22166,11 @@ Chcete jej ukonÄit?</translation> <translation>Nebyl zadán žádný spustitelný soubor. </translation> </message> + <message> + <source>Executable %1 does not exist. +</source> + <translation>Spustitelný soubor %1 neexistuje.</translation> + </message> <message> <source>Starting %1... </source> @@ -21760,6 +22308,10 @@ Důvod: %2</translation> <source>Develop</source> <translation>Vývoj</translation> </message> + <message> + <source>New Project</source> + <translation>Nový projekt</translation> + </message> </context> <context> <name>ProjectExplorer::Internal::ProjectLabel</name> @@ -22146,7 +22698,7 @@ Důvod: %2</translation> </message> <message> <source>Building helpers</source> - <translation>Pomocné knihovny pro výstup dat</translation> + <translation type="obsolete">Pomocné knihovny pro výstup dat</translation> </message> <message> <source><b>qmake:</b> No Qt version set. Cannot run qmake.</source> @@ -23064,6 +23616,10 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e <source>ClearCase submit template</source> <translation>PÅ™edloha odeslánà (submit) ClearCase</translation> </message> + <message> + <source>Git Commit File</source> + <translation>Zapsat soubor (Git Commit)</translation> + </message> <message> <source>GLSL Shader file</source> <translation>Soubor GLSL Shader</translation> @@ -23140,6 +23696,10 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e <source>XPM image</source> <translation>Soubor s obrázkem XPM</translation> </message> + <message> + <source>Python Source File</source> + <translation>Zdrojový soubor Python</translation> + </message> <message> <source>Qt Build Suite file</source> <translation>Soubor projektu Qt Build Suite</translation> @@ -23295,15 +23855,15 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e </message> <message> <source>Delete...</source> - <translation>Smazat...</translation> + <translation type="obsolete">Smazat...</translation> </message> <message> <source>Show</source> - <translation>Ukázat</translation> + <translation type="obsolete">Ukázat</translation> </message> <message> <source>Restore...</source> - <translation>PoužÃt odložené...</translation> + <translation type="obsolete">PoužÃt odložené...</translation> </message> <message> <source>Restore to branch...</source> @@ -23312,7 +23872,7 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e </message> <message> <source>Refresh</source> - <translation>Obnovit seznam</translation> + <translation type="obsolete">Obnovit seznam</translation> </message> <message> <source><No repository></source> @@ -23344,12 +23904,37 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e </message> <message> <source>Delete All...</source> - <translation>Smazat vÅ¡e...</translation> + <translation type="obsolete">Smazat vÅ¡e...</translation> </message> <message> <source>Restore to Branch...</source> <extracomment>Restore a git stash to new branch to be created</extracomment> - <translation>PoužÃt jako vÄ›tev...</translation> + <translation type="obsolete">PoužÃt jako vÄ›tev...</translation> + </message> + <message> + <source>Delete &All...</source> + <translation>&Smazat vÅ¡e</translation> + </message> + <message> + <source>&Delete...</source> + <translation>S&mazat...</translation> + </message> + <message> + <source>&Show</source> + <translation>Uká&zat</translation> + </message> + <message> + <source>R&estore...</source> + <translation>&Obnovit...</translation> + </message> + <message> + <source>Restore to &Branch...</source> + <extracomment>Restore a git stash to new branch to be created</extracomment> + <translation>Obnovit jako &vÄ›tev...</translation> + </message> + <message> + <source>Re&fresh</source> + <translation>&Obnovit</translation> </message> <message> <source>Delete Stashes</source> @@ -23537,6 +24122,10 @@ Můžete si vybrat mezi odloženÃm zmÄ›n nebo jejich vyhozenÃm.</translation> <source>Specify URL:</source> <translation>Adresa (URL):</translation> </message> + <message> + <source>Prompt for credentials</source> + <translation>Vyvolat uživatelská data</translation> + </message> </context> <context> <name>ProjectExplorer::Internal::AddTargetDialog</name> @@ -24200,11 +24789,11 @@ Můžete si vybrat mezi odloženÃm zmÄ›n nebo jejich vyhozenÃm.</translation> </message> <message> <source>Snap margin:</source> - <translation>Okraj:</translation> + <translation type="obsolete">Okraj:</translation> </message> <message> <source>Item spacing:</source> - <translation>Odstup:</translation> + <translation type="obsolete">Odstup:</translation> </message> <message> <source>Canvas</source> @@ -24224,19 +24813,39 @@ Můžete si vybrat mezi odloženÃm zmÄ›n nebo jejich vyhozenÃm.</translation> </message> <message> <source>Warn about QML features which are not properly supported by the Qt Quick Designer</source> - <translation type="unfinished"></translation> + <translation>Ukázat varovánà u Qt Quick Designerem ne plnÄ› podporovaných vlastnostà QML</translation> </message> <message> <source>Warn about unsupported features in the Qt Quick Designer</source> - <translation type="unfinished"></translation> + <translation>Ukázat varovánà u Qt Quick Designerem nepodporovaných vlastnostÃ</translation> </message> <message> <source>Also warn in the code editor about QML features which are not properly supported by the Qt Quick Designer</source> - <translation type="unfinished"></translation> + <translation>Varovánà u Qt Quick Designerem ne plnÄ› podporovaných vlastnostà QML ukázat také v editoru kódu</translation> </message> <message> <source>Warn about unsupported features of Qt Quick Designer in the code editor</source> - <translation type="unfinished"></translation> + <translation>Ukázat varovánà u Qt Quick Designerem nepodporovaných vlastnostà v editoru kódu</translation> + </message> + <message> + <source>Debugging</source> + <translation>LadÄ›nÃ</translation> + </message> + <message> + <source>Show the debugging view</source> + <translation>Ukázat ladicà pohled</translation> + </message> + <message> + <source>Enable the debugging view</source> + <translation>Zapnout ladicà pohled</translation> + </message> + <message> + <source>Parent item padding:</source> + <translation>Odstup od nadÅ™azené položky:</translation> + </message> + <message> + <source>Sibling item spacing:</source> + <translation>Odstup mezi rovnocennými položkami:</translation> </message> </context> <context> @@ -25828,103 +26437,103 @@ Desetinná hodnota se znaménkem (velký endian): %4</translation> </message> <message> <source>Memory at 0x%1</source> - <translation>Paměť pÅ™i 0x%1</translation> + <translation type="obsolete">Paměť pÅ™i 0x%1</translation> </message> <message> <source>Decimal&nbsp;unsigned&nbsp;value:</source> - <translation>&nbsp;desetinná&nbsp;hodnota jsoucà bez znaménka:</translation> + <translation type="obsolete">&nbsp;desetinná&nbsp;hodnota jsoucà bez znaménka:</translation> </message> <message> <source>Decimal&nbsp;signed&nbsp;value:</source> - <translation>&nbsp;desetinná&nbsp;hodnota se znaménkem:</translation> + <translation type="obsolete">&nbsp;desetinná&nbsp;hodnota se znaménkem:</translation> </message> <message> <source>Previous&nbsp;decimal&nbsp;unsigned&nbsp;value:</source> - <translation>PÅ™edchozÃ&nbsp;desetinná&nbsp;hodnota jsoucà bez znaménka:</translation> + <translation type="obsolete">PÅ™edchozÃ&nbsp;desetinná&nbsp;hodnota jsoucà bez znaménka:</translation> </message> <message> <source>Previous&nbsp;decimal&nbsp;signed&nbsp;value:</source> - <translation>PÅ™edchozÃ&nbsp;desetinná&nbsp;hodnota se znaménkem:</translation> + <translation type="obsolete">PÅ™edchozÃ&nbsp;desetinná&nbsp;hodnota se znaménkem:</translation> </message> <message> <source>%1-bit&nbsp;Integer&nbsp;Type</source> - <translation>%1-bit&nbsp;typ celého ÄÃsla</translation> + <translation type="obsolete">%1-bit&nbsp;typ celého ÄÃsla</translation> </message> <message> <source>Little Endian</source> - <translation>Malý endian</translation> + <translation type="obsolete">Malý endian</translation> </message> <message> <source>Big Endian</source> - <translation>Velký endian</translation> + <translation type="obsolete">Velký endian</translation> </message> <message> <source>Binary&nbsp;value:</source> - <translation>Dvojková&nbsp;hodnota:</translation> + <translation type="obsolete">Dvojková&nbsp;hodnota:</translation> </message> <message> <source>Octal&nbsp;value:</source> - <translation>OsmiÄková&nbsp;hodnota:</translation> + <translation type="obsolete">OsmiÄková&nbsp;hodnota:</translation> </message> <message> <source>Previous&nbsp;binary&nbsp;value:</source> - <translation>PÅ™edchozÃ&nbsp;dvojková&nbsp;hodnota:</translation> + <translation type="obsolete">PÅ™edchozÃ&nbsp;dvojková&nbsp;hodnota:</translation> </message> <message> <source>Previous&nbsp;octal&nbsp;value:</source> - <translation>PÅ™edchozÃ&nbsp;osmiÄková&nbsp;hodnota:</translation> + <translation type="obsolete">PÅ™edchozÃ&nbsp;osmiÄková&nbsp;hodnota:</translation> </message> <message> <source><i>double</i>&nbsp;value:</source> - <translation><i>double</i>&nbsp;hodnota:</translation> + <translation type="obsolete"><i>double</i>&nbsp;hodnota:</translation> </message> <message> <source>Previous <i>double</i>&nbsp;value:</source> - <translation>PÅ™edchozà <i>double</i>&nbsp;hodnota:</translation> + <translation type="obsolete">PÅ™edchozà <i>double</i>&nbsp;hodnota:</translation> </message> <message> <source><i>float</i>&nbsp;value:</source> - <translation><i>float</i>&nbsp;hodnota:</translation> + <translation type="obsolete"><i>float</i>&nbsp;hodnota:</translation> </message> <message> <source>Previous <i>float</i>&nbsp;value:</source> - <translation>PÅ™edchozà <i>float</i>&nbsp;hodnota:</translation> + <translation type="obsolete">PÅ™edchozà <i>float</i>&nbsp;hodnota:</translation> </message> <message> <source>Copying Failed</source> - <translation>KopÃrovánà se nezdaÅ™ilo</translation> + <translation type="obsolete">KopÃrovánà se nezdaÅ™ilo</translation> </message> <message> <source>You cannot copy more than 4 MB of binary data.</source> - <translation>Nemůžete kopÃrovat vÃce jak 4 MB binárnÃch dat.</translation> + <translation type="obsolete">Nemůžete kopÃrovat vÃce jak 4 MB binárnÃch dat.</translation> </message> <message> <source>Copy Selection as ASCII Characters</source> - <translation>KopÃrovat výbÄ›r jako znaky ASCII</translation> + <translation type="obsolete">KopÃrovat výbÄ›r jako znaky ASCII</translation> </message> <message> <source>Copy Selection as Hex Values</source> - <translation>KopÃrovat výbÄ›r jako Å¡estnáctkové hodnoty</translation> + <translation type="obsolete">KopÃrovat výbÄ›r jako Å¡estnáctkové hodnoty</translation> </message> <message> <source>Set Data Breakpoint on Selection</source> - <translation>Nastavit bod pÅ™eruÅ¡enà dat na výbÄ›ru</translation> + <translation type="obsolete">Nastavit bod pÅ™eruÅ¡enà dat na výbÄ›ru</translation> </message> <message> <source>Jump to Address in This Window</source> - <translation>JÃt na adresu v tomto oknÄ›</translation> + <translation type="obsolete">JÃt na adresu v tomto oknÄ›</translation> </message> <message> <source>Jump to Address in New Window</source> - <translation>JÃt na adresu v novém oknÄ›</translation> + <translation type="obsolete">JÃt na adresu v novém oknÄ›</translation> </message> <message> <source>Jump to Address 0x%1 in This Window</source> - <translation>JÃt na adresu 0x%1 v tomto oknÄ›</translation> + <translation type="obsolete">JÃt na adresu 0x%1 v tomto oknÄ›</translation> </message> <message> <source>Jump to Address 0x%1 in New Window</source> - <translation>JÃt na adresu 0x%1 v novém oknÄ›</translation> + <translation type="obsolete">JÃt na adresu 0x%1 v novém oknÄ›</translation> </message> </context> <context> @@ -25946,15 +26555,15 @@ Desetinná hodnota se znaménkem (velký endian): %4</translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Build Environment</source> - <translation>ProstÅ™edà pro sestavovánÃ</translation> + <translation type="obsolete">ProstÅ™edà pro sestavovánÃ</translation> </message> <message> <source>The executable is not built by the current build configuration</source> @@ -26377,6 +26986,10 @@ heslem, jež můžete zadat nÞe.</translation> <source>Reformat Pointers or References</source> <translation>Zformátovat ukazatele nebo odkazy</translation> </message> + <message> + <source>Assign to Local Variable</source> + <translation>PÅ™iÅ™adit k mÃstnà promÄ›nné</translation> + </message> <message> <source>Use Fast String Concatenation with %</source> <translation type="obsolete">PoužÃt úÄinné zÅ™etÄ›zenà řetÄ›zce za použità operátoru %</translation> @@ -26424,13 +27037,21 @@ heslem, jež můžete zadat nÞe.</translation> <source>Git Diff Editor</source> <translation>Editor rozdÃlů pro Git</translation> </message> + <message> + <source>Git Commit Editor</source> + <translation>Editor zápisu (commit) pro Git</translation> + </message> + <message> + <source>Git Rebase Editor</source> + <translation>Editor pÅ™eskládánà (rebase) pro Git</translation> + </message> <message> <source>Git Submit Editor</source> <translation>Editor odeslánà (submit) pro Git</translation> </message> <message> <source>Mercurial Command Log Editor</source> - <translation>Editor záznamů o pÅ™Ãkazech pro Mercurial</translation> + <translation type="obsolete">Editor záznamů o pÅ™Ãkazech pro Mercurial</translation> </message> <message> <source>Mercurial File Log Editor</source> @@ -26454,7 +27075,7 @@ heslem, jež můžete zadat nÞe.</translation> </message> <message> <source>Perforce CommandLog Editor</source> - <translation>Editor záznamů o pÅ™Ãkazech pro Perforce</translation> + <translation type="obsolete">Editor záznamů o pÅ™Ãkazech pro Perforce</translation> </message> <message> <source>Perforce Log Editor</source> @@ -26478,7 +27099,7 @@ heslem, jež můžete zadat nÞe.</translation> </message> <message> <source>Subversion Command Log Editor</source> - <translation>Editor záznamů o pÅ™Ãkazech pro Subversion</translation> + <translation type="obsolete">Editor záznamů o pÅ™Ãkazech pro Subversion</translation> </message> <message> <source>Subversion File Log Editor</source> @@ -26494,7 +27115,7 @@ heslem, jež můžete zadat nÞe.</translation> </message> <message> <source>Bazaar Command Log Editor</source> - <translation>Editor záznamů o pÅ™Ãkazech pro Bazaar</translation> + <translation type="obsolete">Editor záznamů o pÅ™Ãkazech pro Bazaar</translation> </message> <message> <source>Bazaar File Log Editor</source> @@ -26518,7 +27139,7 @@ heslem, jež můžete zadat nÞe.</translation> </message> <message> <source>ClearCase Command Log Editor</source> - <translation>Editor záznamů o pÅ™Ãkazech pro ClearCase</translation> + <translation type="obsolete">Editor záznamů o pÅ™Ãkazech pro ClearCase</translation> </message> <message> <source>ClearCase File Log Editor</source> @@ -26907,7 +27528,11 @@ Proces Pdb po urÄité dobÄ› od úspěšného spuÅ¡tÄ›nà spadl.</translation> <name>GenericProjectManager::Internal::Manager</name> <message> <source>Failed opening project '%1': Project already open</source> - <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> + <translation type="obsolete">Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> + </message> + <message> + <source>Failed opening project '%1': Project is not a file</source> + <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt: Daný projektový soubor nenà soubor</translation> </message> </context> <context> @@ -27126,7 +27751,11 @@ Proces Pdb po urÄité dobÄ› od úspěšného spuÅ¡tÄ›nà spadl.</translation> <name>Mercurial::Internal::MercurialPlugin</name> <message> <source>Mercurial</source> - <translation>Mercurial</translation> + <translation type="obsolete">Mercurial</translation> + </message> + <message> + <source>Me&rcurial</source> + <translation>Me&rcurial</translation> </message> <message> <source>Annotate Current File</source> @@ -27470,7 +28099,7 @@ Proces Pdb po urÄité dobÄ› od úspěšného spuÅ¡tÄ›nà spadl.</translation> </message> <message> <source>Creates a C++ plugin that makes it possible to offer extensions that can be loaded dynamically into applications using the QDeclarativeEngine class.</source> - <translation>Vytvořà pÅ™Ãdavný modul C++ pro rozÅ¡ÃÅ™enÃ, která mohou být do programů nahrávána dynamicky s použitÃm tÅ™Ãdy QDeclarativeEngine.</translation> + <translation type="obsolete">Vytvořà pÅ™Ãdavný modul C++ pro rozÅ¡ÃÅ™enÃ, která mohou být do programů nahrávána dynamicky s použitÃm tÅ™Ãdy QDeclarativeEngine.</translation> </message> <message> <source>Custom QML Extension Plugin</source> @@ -27486,7 +28115,7 @@ Proces Pdb po urÄité dobÄ› od úspěšného spuÅ¡tÄ›nà spadl.</translation> </message> <message> <source>Object Class-name:</source> - <translation>Název tÅ™Ãdy objektu:</translation> + <translation type="obsolete">Název tÅ™Ãdy objektu:</translation> </message> <message> <source>URI:</source> @@ -27700,13 +28329,25 @@ Proces Pdb po urÄité dobÄ› od úspěšného spuÅ¡tÄ›nà spadl.</translation> <source>Local user settings</source> <translation>MÃstnà uživatelská nastavenÃ</translation> </message> + <message> + <source>Creates a C++ plugin to load extensions dynamically into applications using the QDeclarativeEngine class.&lt;br&gt;&lt;br&gt;Requires &lt;b&gt;Qt 4.7.0&lt;/b&gt; or newer.</source> + <translation>Vytvořà pÅ™Ãdavný modul C++ pro dynamické nahrávánà rozÅ¡ÃÅ™enà do programů s použitÃm tÅ™Ãdy QDeclarativeEngine. &lt;br&gt;&lt;br&gt;Vyžaduje &lt;b&gt;Qt 4.7.0&lt;/b&gt; nebo novÄ›jÅ¡Ã.</translation> + </message> <message> <source>Qt Quick 1 Extension Plugin</source> <translation>PÅ™Ãdavný modul pro rozÅ¡ÃÅ™enà Qt Quick 1</translation> </message> + <message> + <source>Object class-name:</source> + <translation>Název tÅ™Ãdy objektu:</translation> + </message> + <message> + <source>Creates a C++ plugin to load extensions dynamically into applications using the QQmlEngine class.&lt;br&gt;&lt;br&gt;Requires &lt;b&gt;Qt 5.0&lt;/b&gt; or newer.</source> + <translation>Vytvořà pÅ™Ãdavný modul C++ pro dynamické nahrávánà rozÅ¡ÃÅ™enà do programů s použitÃm tÅ™Ãdy QQmlEngine class. &lt;br&gt;&lt;br&gt;Vyžaduje &lt;b&gt;Qt 5.0&lt;/b&gt; nebo novÄ›jÅ¡Ã.</translation> + </message> <message> <source>Creates a C++ plugin that makes it possible to offer extensions that can be loaded dynamically into applications using the QQmlEngine class.</source> - <translation>Vytvořà pÅ™Ãdavný modul C++ pro rozÅ¡ÃÅ™enÃ, která mohou být do programů nahrávána dynamicky s použitÃm tÅ™Ãdy QQmlEngine.</translation> + <translation type="obsolete">Vytvořà pÅ™Ãdavný modul C++ pro rozÅ¡ÃÅ™enÃ, která mohou být do programů nahrávána dynamicky s použitÃm tÅ™Ãdy QQmlEngine.</translation> </message> <message> <source>Qt Quick 2 Extension Plugin</source> @@ -28370,15 +29011,27 @@ Proces Pdb po urÄité dobÄ› od úspěšného spuÅ¡tÄ›nà spadl.</translation> </message> <message> <source>Transform Tool (Q).</source> - <translation>Nástroj na promÄ›nu (Q).</translation> + <translation type="obsolete">Nástroj na promÄ›nu (Q).</translation> </message> <message> <source>Snap to guides (E).</source> - <translation>UmÃstit na vodÃtka (E).</translation> + <translation type="obsolete">UmÃstit na vodÃtka (E).</translation> </message> <message> <source>Toggle snapping and anchoring (R).</source> - <translation>PÅ™epnout pÅ™ichytávánà a kotvenà (R).</translation> + <translation type="obsolete">PÅ™epnout pÅ™ichytávánà a kotvenà (R).</translation> + </message> + <message> + <source>No snapping (T).</source> + <translation>Žádné vyrovnánà (T).</translation> + </message> + <message> + <source>Snap to parent or sibling items and generate anchors (W).</source> + <translation>Srovnat s nadÅ™azenou nebo rovnocennou položkou a nastavit kotvu (W).</translation> + </message> + <message> + <source>Snap to parent or sibling items but do not generate anchors (E).</source> + <translation>Srovnat s nadÅ™azenou nebo rovnocennou položkou ale nenastavovat kotvu (E).</translation> </message> <message> <source>Show bounding rectangles and stripes for empty items (A).</source> @@ -29600,10 +30253,14 @@ Projekty Qt Quick UI nenà potÅ™eba je sestavovat a lze je spouÅ¡tÄ›t pÅ™Ãmo v <name>QmlProjectManager::Internal::Manager</name> <message> <source>Failed opening project '%1': Project already open</source> - <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> + <translation type="obsolete">Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> </message> <message> <source>Failed opening project '%1': Project file is not a file</source> + <translation type="obsolete">Projekt '%1' se nepodaÅ™il otevÅ™Ãt: Daný projektový soubor nenà soubor</translation> + </message> + <message> + <source>Failed opening project '%1': Project is not a file</source> <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt: Daný projektový soubor nenà soubor</translation> </message> </context> @@ -31739,7 +32396,7 @@ if (a && </message> <message> <source>Left const/volatile</source> - <translation type="unfinished">Levá const/volatile</translation> + <translation>Levá const/volatile</translation> </message> <message> <source>This does not apply to references.</source> @@ -31747,7 +32404,7 @@ if (a && </message> <message> <source>Right const/volatile</source> - <translation type="unfinished">Pravá const/volatile</translation> + <translation>Pravá const/volatile</translation> </message> </context> <context> @@ -31982,7 +32639,7 @@ PÅ™i GDB může být zadána posloupnost pÅ™Ãkazů oddÄ›lená oddÄ›lovaÄem &ap <name>Git::Internal::BranchAddDialog</name> <message> <source>Dialog</source> - <translation>Dialog</translation> + <translation type="obsolete">Dialog</translation> </message> <message> <source>Branch Name:</source> @@ -31992,6 +32649,14 @@ PÅ™i GDB může být zadána posloupnost pÅ™Ãkazů oddÄ›lená oddÄ›lovaÄem &ap <source>CheckBox</source> <translation>ZaÅ¡krtávacà okénko</translation> </message> + <message> + <source>Add Branch</source> + <translation>PÅ™idat vÄ›tev</translation> + </message> + <message> + <source>Rename Branch</source> + <translation>PÅ™ejmenovat vÄ›tev</translation> + </message> <message> <source>Track remote branch '%1'</source> <translation>Sledovat vzdálenou vÄ›tev '%1'</translation> @@ -32363,6 +33028,14 @@ PÅ™i GDB může být zadána posloupnost pÅ™Ãkazů oddÄ›lená oddÄ›lovaÄem &ap <source>Sys&root:</source> <translation>Sys&root:</translation> </message> + <message> + <source>Start QML Profiler</source> + <translation>Spustit profiler QML</translation> + </message> + <message> + <source>Kit:</source> + <translation>Sada:</translation> + </message> </context> <context> <name>Qt4ProjectManager::Internal::LibraryDetailsWidget</name> @@ -34622,111 +35295,111 @@ PÅ™i plné simulaci mezipamÄ›ti budou zapnuta dalšà poÄÃtadla událostÃ: </message> <message> <source>Expected document to contain a Module {} member.</source> - <translation type="unfinished">OÄekáván dokument obsahujÃcà Älena Module {}.</translation> + <translation>OÄekáván dokument obsahujÃcà Älena Module {}.</translation> </message> <message> <source>Expected only Component and ModuleApi object definitions.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen definice objektů Component a ModuleApi.</translation> </message> <message> <source>Expected only Property, Method, Signal and Enum object definitions.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen definice objektů vlastnost, metoda, signál nebo výÄet.</translation> </message> <message> <source>Expected only name, prototype, defaultProperty, attachedType, exports and exportMetaObjectRevisions script bindings.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen skriptové vazby název, prototyp, výchozà vlastnost, attachedType-, export nebo exportMetaObjectRevisions.</translation> </message> <message> <source>Expected only script bindings and object definitions.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen skriptové vazby a definice objektů.</translation> </message> <message> <source>Component definition is missing a name binding.</source> - <translation type="unfinished"></translation> + <translation>U definice souÄástky chybà vazba názvu.</translation> </message> <message> <source>Expected only uri, version and name script bindings.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen skriptové vazby URI, verze a název.</translation> </message> <message> <source>Expected only script bindings.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen skriptové vazby.</translation> </message> <message> <source>ModuleApi definition has no or invalid version binding.</source> - <translation type="unfinished"></translation> + <translation>Definice ModuleApi nemá žádnou, nebo má neplatnou vazbu verze.</translation> </message> <message> <source>Expected only Parameter object definitions.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen definice objektů parametrů.</translation> </message> <message> <source>Expected only name and type script bindings.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen skriptové vazby název a typ.</translation> </message> <message> <source>Method or signal is missing a name script binding.</source> - <translation type="unfinished"></translation> + <translation>U metody nebo signálu chybà skriptová vazba názvu.</translation> </message> <message> <source>Expected script binding.</source> - <translation type="unfinished"></translation> + <translation>OÄekávána skriptová vazba.</translation> </message> <message> <source>Expected only type, name, revision, isPointer, isReadonly and isList script bindings.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen skriptové vazby typ, název, revize, isPointer, isReadonly a isList.</translation> </message> <message> <source>Property object is missing a name or type script binding.</source> - <translation type="unfinished"></translation> + <translation>U objektu vlastnost chybà skriptová vazba název nebo typ.</translation> </message> <message> <source>Expected only name and values script bindings.</source> - <translation type="unfinished"></translation> + <translation>OÄekávány jen skriptové vazby název a hodnota.</translation> </message> <message> <source>Expected string after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáván Å™etÄ›zec znaků.</translation> </message> <message> <source>Expected boolean after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekávána booleanská hodnota.</translation> </message> <message> <source>Expected true or false after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáváno pravdivý nebo nepravdivý.</translation> </message> <message> <source>Expected numeric literal after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáváno ÄÃslo tvoÅ™ené pÃsmeny (literal).</translation> </message> <message> <source>Expected integer after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáváno celé ÄÃslo.</translation> </message> <message> <source>Expected array of strings after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáváno pole ze Å™etÄ›zců znaků.</translation> </message> <message> <source>Expected array literal with only string literal members.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáváno pole tvoÅ™ené pÃsmeny (literal) složené ze Å™etÄ›zců znaků.</translation> </message> <message> <source>Expected string literal to contain 'Package/Name major.minor' or 'Name major.minor'.</source> - <translation type="unfinished"></translation> + <translation>OÄekáván Å™etÄ›zec znaků tvoÅ™ený pÃsmeny (literal), který má obsahovat 'Package/Name major.minor' nebo 'Name major.minor'.</translation> </message> <message> <source>Expected array of numbers after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáváno pole složené z ÄÃsel.</translation> </message> <message> <source>Expected array literal with only number literal members.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáváno pole tvoÅ™ené pÃsmeny (literal) složené jen z ÄÃsel.</translation> </message> <message> <source>Meta object revision without matching export.</source> - <translation type="unfinished"></translation> + <translation>Revize metaobjektu bez odpovÃdajÃcÃho exportu.</translation> </message> <message> <source>Expected integer.</source> @@ -34734,11 +35407,11 @@ PÅ™i plné simulaci mezipamÄ›ti budou zapnuta dalšà poÄÃtadla událostÃ: </message> <message> <source>Expected object literal after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáván objekt tvoÅ™ený pÃsmeny (literal).</translation> </message> <message> <source>Expected object literal to contain only 'string: number' elements.</source> - <translation type="unfinished"></translation> + <translation>OÄekáván objekt tvoÅ™ený pÃsmeny (literal), který obsahuje jen prvky 'string: number'.</translation> </message> </context> <context> @@ -35540,6 +36213,10 @@ Server: %2.</translation> <source>Run CMake</source> <translation>Provést CMake</translation> </message> + <message> + <source>Failed opening project '%1': Project is not a file</source> + <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt: Daný projektový soubor nenà soubor</translation> + </message> </context> <context> <name>Core::Internal::ExternalToolModel</name> @@ -35606,6 +36283,10 @@ Chcete je nechat pÅ™epsat?</translation> <source>Split Side by Side</source> <translation>RozdÄ›lit jedno vedle druhého</translation> </message> + <message> + <source>Open in New Window</source> + <translation>OtevÅ™Ãt v novém oknÄ›</translation> + </message> <message> <source>Close Document</source> <translation>ZavÅ™Ãt dokument</translation> @@ -35837,6 +36518,14 @@ Chcete je nechat pÅ™epsat?</translation> </context> <context> <name>Core::VcsManager</name> + <message> + <source>%1 repository was detected but %1 is not configured.</source> + <translation>Bylo nalezeno skladiÅ¡tÄ› verzovacÃho systému %1, ale %1 jeÅ¡tÄ› nenà nastaven.</translation> + </message> + <message> + <source>Configure</source> + <translation>Nastavit</translation> + </message> <message> <source>Version Control</source> <translation>Správa verzÃ</translation> @@ -35942,6 +36631,18 @@ správy verzà (%2)</translation> <source>Add Definition in %1</source> <translation>PÅ™idat definici v %1</translation> </message> + <message> + <source>Add Definition Here</source> + <translation>PÅ™idat definici zde</translation> + </message> + <message> + <source>Add Definition Inside Class</source> + <translation>PÅ™idat definici uvnitÅ™ tÅ™Ãdy</translation> + </message> + <message> + <source>Add Definition Outside Class</source> + <translation>PÅ™idat definici vnÄ› tÅ™Ãdy</translation> + </message> </context> <context> <name>CppEditor::Internal::InsertQtPropertyMembers</name> @@ -35951,7 +36652,7 @@ správy verzà (%2)</translation> </message> <message> <source>Generate Missing Q_PROPERTY Members...</source> - <translation>Doplnit chybÄ›jÃcà prvky Q_PROPERTY...</translation> + <translation type="obsolete">Doplnit chybÄ›jÃcà prvky Q_PROPERTY...</translation> </message> </context> <context> @@ -36371,6 +37072,31 @@ PÅ™Ãznaky: %3</translation> <source>Stopped at internal breakpoint %1 in thread %2.</source> <translation>Zastaveno na vnitÅ™nÃm bodu pÅ™eruÅ¡enà %1 ve vláknÄ› %2.</translation> </message> + <message> + <source>Found.</source> + <translation>Nalezeno.</translation> + </message> + <message> + <source>Not found.</source> + <translation>Nenalezeno.</translation> + </message> + <message> + <source> +Section %1: %2</source> + <translation> +Část %1: %2</translation> + </message> + <message> + <source>Warning</source> + <translation>VarovánÃ</translation> + </message> + <message> + <source>This does not seem to be a "Debug" build. +Setting breakpoints by file name and line number may fail. +</source> + <translation>Zdá se, že toto nenà sestavenà "Debug". +Nastavenà bodů pÅ™eruÅ¡enà podle názvů souborů a ÄÃsel řádků může selhat.</translation> + </message> <message> <source>Stopped.</source> <translation>Zastaveno.</translation> @@ -36479,6 +37205,10 @@ PÅ™Ãznaky: %3</translation> <source>Some breakpoints cannot be handled by the debugger languages currently active, and will be ignored.</source> <translation>NÄ›které body pÅ™eruÅ¡enà nejsou podporovány ladiÄi nynà aktivnÃch jazyků a nebude na nÄ› proto brán zÅ™etel.</translation> </message> + <message> + <source>Not enough free ports for QML debugging. </source> + <translation>Nenà dostatek volných portů pro ladÄ›nà QML. </translation> + </message> <message> <source>The debugger engine '%1' is disabled.</source> <translation type="obsolete">Stroj ladiÄe '%1' je vypnut.</translation> @@ -37449,6 +38179,10 @@ Má se to zkusit jeÅ¡tÄ› jednou?</translation> <source>JS Source for %1</source> <translation>Zdroj JS pro %1</translation> </message> + <message> + <source>QML debugging port not set: Unable to convert %1 to unsigned int.</source> + <translation>Port pro ladÄ›nà QML nenastaven. %1 nelze pÅ™evést na celé ÄÃslo bez znaménka.</translation> + </message> <message> <source>Run to line %1 (%2) requested...</source> <translation>Požadováno provedenà až po řádek %1 (%2)...</translation> @@ -37649,6 +38383,10 @@ Má se to zkusit jeÅ¡tÄ› jednou?</translation> <source>Hide files matching:</source> <translation>Skrýt soubory, které odpovÃdajà následujÃcÃmu vzoru pro hledánÃ:</translation> </message> + <message> + <source>Show files matching:</source> + <translation>Ukázat soubory, které odpovÃdajà následujÃcÃmu vzoru pro hledánÃ:</translation> + </message> <message> <source>Apply Filter</source> <translation>PoužÃt filtr</translation> @@ -37679,6 +38417,10 @@ Má se to zkusit jeÅ¡tÄ› jednou?</translation> <source>Hide files matching:</source> <translation>Skrýt soubory, které odpovÃdajà následujÃcÃmu vzoru pro hledánÃ:</translation> </message> + <message> + <source>Show files matching:</source> + <translation>Ukázat soubory, které odpovÃdajà následujÃcÃmu vzoru pro hledánÃ:</translation> + </message> <message> <source>Apply Filter</source> <translation>PoužÃt filtr</translation> @@ -38250,6 +38992,14 @@ když bude zavolán mimo git bash.</translation> <source>&Compiler path:</source> <translation>Cesta k &pÅ™ekladaÄi:</translation> </message> + <message> + <source>Platform codegen flags:</source> + <translation>PlatformnÄ›specifický vypÃnaÄ pro codegen:</translation> + </message> + <message> + <source>Platform linker flags:</source> + <translation>PlatformnÄ›specifický vypÃnaÄ pro spojovacà program:</translation> + </message> <message> <source>&ABI:</source> <translation>&ABI:</translation> @@ -38584,7 +39334,12 @@ Chcete pÅ™esto soubor s nastavenÃm nahrát?</translation> <message> <source>Items</source> <comment>Title of library items view</comment> - <translation>Prvky</translation> + <translation type="obsolete">Prvky</translation> + </message> + <message> + <source>QML Types</source> + <comment>Title of library QML types view</comment> + <translation>Typy QML</translation> </message> <message> <source>Resources</source> @@ -38635,6 +39390,10 @@ Chcete pÅ™esto soubor s nastavenÃm nahrát?</translation> </context> <context> <name>QmlDesigner::StatesEditorView</name> + <message> + <source>States Editor</source> + <translation>Editor stavů</translation> + </message> <message> <source>base state</source> <translation>Základnà stav</translation> @@ -39157,6 +39916,30 @@ Panel 'Obecné zprávy' obsahuje dalšà iformace. <translation>Varovánà pÅ™i vyhodnocovánà informacà qmltypes %1: %2</translation> </message> + <message> + <source>"%1" failed to start: %2</source> + <translation>"%1" se nepodaÅ™ilo spustit: %2</translation> + </message> + <message> + <source>"%1" crashed.</source> + <translation>"%1" spadl.</translation> + </message> + <message> + <source>"%1" timed out.</source> + <translation>PÅ™ekroÄenà Äasu u "%1".</translation> + </message> + <message> + <source>I/O error running "%1".</source> + <translation>Chyba vstupu/výstupu pÅ™i spouÅ¡tÄ›nà "%1".</translation> + </message> + <message> + <source>"%1" returned exit code %2.</source> + <translation>"%1" vrátil hodnotu %2.</translation> + </message> + <message> + <source>Arguments: %1</source> + <translation>Argumenty: %1</translation> + </message> <message> <source>Errors while reading typeinfo files:</source> <translation>Chyby pÅ™i Ätenà souborů typeinfo:</translation> @@ -39501,23 +40284,23 @@ Má se to zkusit jeÅ¡tÄ› jednou?</translation> <name>QmlProfiler::Internal::RemoteLinuxQmlProfilerRunner</name> <message> <source>Gathering ports failed: %1</source> - <translation>Chyba pÅ™i ověřovánà portů: %1</translation> + <translation type="obsolete">Chyba pÅ™i ověřovánà portů: %1</translation> </message> <message> <source>Not enough free ports on device for analyzing. </source> - <translation>Na zaÅ™Ãzenà nenà dostatek volných portů pro rozbor. + <translation type="obsolete">Na zaÅ™Ãzenà nenà dostatek volných portů pro rozbor. </translation> </message> <message> <source>Starting remote process... </source> - <translation>SpouÅ¡tà se vzdálený proces... + <translation type="obsolete">SpouÅ¡tà se vzdálený proces... </translation> </message> <message> <source>Failure running remote process.</source> - <translation>Selhánà pÅ™i spouÅ¡tÄ›nà vzdáleného procesu.</translation> + <translation type="obsolete">Selhánà pÅ™i spouÅ¡tÄ›nà vzdáleného procesu.</translation> </message> <message> <source>Starting remote process ... @@ -39626,11 +40409,11 @@ Sestavenà pozorovatele QML se dÄ›je na stránce pro nastavenà Qt pomocà výb </message> <message> <source>Run Environment</source> - <translation>ProvádÄ›cà prostÅ™edÃ</translation> + <translation type="obsolete">ProvádÄ›cà prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Invalid Qt version</source> @@ -39656,7 +40439,11 @@ Sestavenà pozorovatele QML se dÄ›je na stránce pro nastavenà Qt pomocà výb <name>QmlProjectManager::Internal::QmlProjectRunControlFactory</name> <message> <source>Run</source> - <translation>Spustit</translation> + <translation type="obsolete">Spustit</translation> + </message> + <message> + <source>Not enough free ports for QML debugging. </source> + <translation>Nenà dostatek volných portů pro ladÄ›nà QML. </translation> </message> </context> <context> @@ -41074,13 +41861,13 @@ Můžete tuto aplikaci sestavit a nasadit jak na stolnÃm poÄÃtaÄi tak na mob <name>MobileAppWizard</name> <message> <source>Mobile Qt Application</source> - <translation>Program Qt pro pÅ™enosná zaÅ™ÃzenÃ</translation> + <translation type="obsolete">Program Qt pro pÅ™enosná zaÅ™ÃzenÃ</translation> </message> <message> <source>Creates a Qt application optimized for mobile devices with a Qt Designer-based main window. Preselects Qt for Simulator and mobile targets if available.</source> - <translation>Vytvořà aplikaci Qt pro mobilnà zaÅ™Ãzenà s na Qt-Designer založeným hlavnÃm oknem. + <translation type="obsolete">Vytvořà aplikaci Qt pro mobilnà zaÅ™Ãzenà s na Qt-Designer založeným hlavnÃm oknem. Vybere verze Qt pro Simulator a mobilnà cÃle, pokud jsou dostupné.</translation> </message> @@ -41233,19 +42020,19 @@ Vyžaduje <b>Qt 4.7.4</b> nebo novÄ›jšà a soubor souÄástek nains </message> <message> <source>Qt Quick 1 Application (Built-in Elements)</source> - <translation>Program Qt Quick 1 (jen vestavÄ›né prvky)</translation> + <translation type="obsolete">Program Qt Quick 1 (jen vestavÄ›né prvky)</translation> </message> <message> <source>The built-in elements in the QtQuick 1 namespace allow you to write cross-platform applications with a custom look and feel. Requires <b>Qt 4.7.0</b> or newer.</source> - <translation>VestavÄ›né prvky ve jmenném prostoru QtQuick 1 dovolujà psát vÃceplatformnà programy s uživatelsky stanoveným vzhledem. + <translation type="obsolete">VestavÄ›né prvky ve jmenném prostoru QtQuick 1 dovolujà psát vÃceplatformnà programy s uživatelsky stanoveným vzhledem. Vyžaduje <b>Qt 4.7.0</b> nebo novÄ›jÅ¡Ã.</translation> </message> <message> <source>Qt Quick 2 Application (Built-in Elements)</source> - <translation>Program Qt Quick 2 (jen vestavÄ›né prvky)</translation> + <translation type="obsolete">Program Qt Quick 2 (jen vestavÄ›né prvky)</translation> </message> <message> <source>Creates a Qt Quick 2 application project that can contain both QML and C++ code and includes a QQuickView. @@ -41253,10 +42040,42 @@ Vyžaduje <b>Qt 4.7.0</b> nebo novÄ›jÅ¡Ã.</translation> The built-in elements in the QtQuick 2 namespace allow you to write cross-platform applications with a custom look and feel. Requires <b>Qt 5.0</b> or newer.</source> - <translation>Vytvořà projekt programu Qt Quick 2, který může obsahovat jak kód QML tak C++ a zahrnuje QQuickView. + <translation type="obsolete">Vytvořà projekt programu Qt Quick 2, který může obsahovat jak kód QML tak C++ a zahrnuje QQuickView. VestavÄ›né prvky ve jmenném prostoru QtQuick 2 dovolujà psát vÃceplatformnà programy s uživatelsky stanoveným vzhledem. +Vyžaduje <b>Qt 5.0</b> nebo novÄ›jÅ¡Ã.</translation> + </message> + <message> + <source>Creates a Qt Quick 2 application project that can contain both QML and C++ code and includes a QQuickView. + +</source> + <translation>Vytvořà projekt programu Qt Quick 2, který může obsahovat jak kód QML tak C++ a zahrnuje instanci tÅ™Ãdy QQuickView. + +</translation> + </message> + <message> + <source>Qt Quick 1 Application (Built-in Types)</source> + <translation>Program Qt Quick 1 (vestavÄ›né typy)</translation> + </message> + <message> + <source>The built-in QML types in the QtQuick 1 namespace allow you to write cross-platform applications with a custom look and feel. + +Requires <b>Qt 4.7.0</b> or newer.</source> + <translation>VestavÄ›né typy QML ve jmenném prostoru QtQuick 1 dovolujà psát vÃceplatformnà programy s uživatelsky stanoveným vzhledem. + +Vyžaduje <b>Qt 4.7.0</b> nebo novÄ›jÅ¡Ã.</translation> + </message> + <message> + <source>Qt Quick 2 Application (Built-in Types)</source> + <translation>Program Qt Quick 2 (vestavÄ›né typy)</translation> + </message> + <message> + <source>The built-in QML types in the QtQuick 2 namespace allow you to write cross-platform applications with a custom look and feel. + +Requires <b>Qt 5.0</b> or newer.</source> + <translation>VestavÄ›né typy QML ve jmenném prostoru QtQuick 2 dovolujà psát vÃceplatformnà programy s uživatelsky stanoveným vzhledem. + Vyžaduje <b>Qt 5.0</b> nebo novÄ›jÅ¡Ã.</translation> </message> <message> @@ -41457,6 +42276,26 @@ Vyžaduje <b>Qt 4.7.0</b> nebo novÄ›jÅ¡Ã.</translation> <source>Version:</source> <translation>Verze:</translation> </message> + <message> + <source>No Qt version.</source> + <translation>Žádná verze Qt.</translation> + </message> + <message> + <source>Invalid Qt version.</source> + <translation>Neplatná verze Qt.</translation> + </message> + <message> + <source>Requires Qt 4.7.1 or newer.</source> + <translation>Vyžaduje Qt 4.7.1 nebo novÄ›jÅ¡Ã.</translation> + </message> + <message> + <source>Library not available. <a href='compile'>Compile...</a></source> + <translation>Knihovna nenà dostupná. <a href='compile'>Sestavit...</a></translation> + </message> + <message> + <source>Building helpers</source> + <translation>Pomocné knihovny pro sestavenÃ</translation> + </message> </context> <context> <name>QtSupport::Internal::GettingStartedWelcomePage</name> @@ -41853,6 +42692,10 @@ Důvod: %2</translation> <source>Connection Data</source> <translation>Data pÅ™ipojenÃ</translation> </message> + <message> + <source>Choose a Private Key File</source> + <translation>Vyberte soubor se soukromým klÃÄem</translation> + </message> <message> <source>Generic Linux Device</source> <translation>Obecné linuxové zaÅ™ÃzenÃ</translation> @@ -43442,11 +44285,11 @@ Chcete je pÅ™idat do projektu?</html></translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> </context> <context> @@ -43460,7 +44303,7 @@ Chcete je pÅ™idat do projektu?</html></translation> <name>RemoteLinux::RemoteLinuxRunConfigurationWidget</name> <message> <source>Fetch Device Environment</source> - <translation>Natáhnout prostÅ™edà zaÅ™ÃzenÃ</translation> + <translation type="obsolete">Natáhnout prostÅ™edà zaÅ™ÃzenÃ</translation> </message> <message> <source><a href="%1">Manage device configurations</a></source> @@ -43520,15 +44363,15 @@ Chcete je pÅ™idat do projektu?</html></translation> </message> <message> <source>Base environment for this run configuration:</source> - <translation>Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> + <translation type="obsolete">Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Unknown</source> @@ -43540,11 +44383,11 @@ Chcete je pÅ™idat do projektu?</html></translation> </message> <message> <source>Cancel Fetch Operation</source> - <translation>ZruÅ¡it operaci nataženà prostÅ™edÃ</translation> + <translation type="obsolete">ZruÅ¡it operaci nataženà prostÅ™edÃ</translation> </message> <message> <source>Device Error</source> - <translation>Chyba zaÅ™ÃzenÃ</translation> + <translation type="obsolete">Chyba zaÅ™ÃzenÃ</translation> </message> <message> <source>Device error</source> @@ -43552,7 +44395,7 @@ Chcete je pÅ™idat do projektu?</html></translation> </message> <message> <source>Fetching environment failed: %1</source> - <translation>Nataženà prostÅ™edà se nezdaÅ™ilo: %1</translation> + <translation type="obsolete">Nataženà prostÅ™edà se nezdaÅ™ilo: %1</translation> </message> </context> <context> @@ -43580,7 +44423,19 @@ Chcete je pÅ™idat do projektu?</html></translation> <name>RemoteLinux::Internal::RemoteLinuxRunControlFactory</name> <message> <source>Run on remote Linux device</source> - <translation>Spustit na vzdáleném linuxovém zaÅ™ÃzenÃ</translation> + <translation type="obsolete">Spustit na vzdáleném linuxovém zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Cannot debug: Kit has no device.</source> + <translation>Nelze ladit: Kit nemá žádné zaÅ™ÃzenÃ.</translation> + </message> + <message> + <source>Cannot debug: Not enough free ports available.</source> + <translation>Nelze ladit: Nenà dostatek volných portů.</translation> + </message> + <message> + <source>No analyzer tool selected.</source> + <translation>Nevybrán žádný nástroj pro rozbor.</translation> </message> </context> <context> @@ -44703,7 +45558,7 @@ Prověřte, prosÃm, oprávnÄ›nà pro pÅ™Ãstup k adresáři.</translation> </message> <message> <source>New Project</source> - <translation>Nový projekt</translation> + <translation type="obsolete">Nový projekt</translation> </message> </context> <context> @@ -46733,9 +47588,13 @@ Dojde k pokusu o vytvoÅ™enà balÃÄku, mohou se ale vyskytnout potÞe.</trans <translation>Nahrát nastavenÃ</translation> </message> <message> - <source>Choose a private key file</source> + <source>Choose a Private Key File</source> <translation>Vyberte soubor se soukromým klÃÄem</translation> </message> + <message> + <source>Choose a private key file</source> + <translation type="obsolete">Vyberte soubor se soukromým klÃÄem</translation> + </message> <message> <source>WizardPage</source> <translation>WizardPage</translation> @@ -46970,7 +47829,15 @@ Chybový výstup byl: '%1'</translation> <name>Madde::Internal::MaemoRunControlFactory</name> <message> <source>Run on device</source> - <translation>Spustit na zaÅ™ÃzenÃ</translation> + <translation type="obsolete">Spustit na zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Cannot debug: Kit has no device.</source> + <translation>Nelze ladit: Kit nemá žádné zaÅ™ÃzenÃ.</translation> + </message> + <message> + <source>Cannot debug: Not enough free ports available.</source> + <translation>Nelze ladit: Nenà dostatek volných portů.</translation> </message> </context> <context> @@ -47169,16 +48036,37 @@ Chcete je pÅ™idat do projektu?</html></translation> </message> <message> <source><html><head/><body><p>A versioned backup of the .user settings file will be used, because the non-versioned file was created by an incompatible newer version of Qt Creator.</p><p>Project settings changes made since the last time this version of Qt Creator was used with this project are ignored, and changes made now will <b>not</b> be propagated to the newer version.</p></body></html></source> - <translation><html><head/><body><p>Použije se verzovaná zajišťovacà kopie souboru s nastavenÃm .user, protože nynÄ›jšà soubor byl vytvoÅ™en novÄ›jÅ¡Ã, nesluÄitelnou verzà Qt Creatoru.</p><p>Na zmÄ›ny v nastavenà projektu, které byly provedeny po poslednÃm použità této verze Qt Creatoru pro tento projekt, nebude brán zÅ™etel, a nynà následujÃcà zmÄ›ny <b>nebudou</b> na novou verzi pÅ™eneseny.</p></body></html></translation> + <translation type="obsolete"><html><head/><body><p>Použije se verzovaná zajišťovacà kopie souboru s nastavenÃm .user, protože nynÄ›jšà soubor byl vytvoÅ™en novÄ›jÅ¡Ã, nesluÄitelnou verzà Qt Creatoru.</p><p>Na zmÄ›ny v nastavenà projektu, které byly provedeny po poslednÃm použità této verze Qt Creatoru pro tento projekt, nebude brán zÅ™etel, a nynà následujÃcà zmÄ›ny <b>nebudou</b> na novou verzi pÅ™eneseny.</p></body></html></translation> </message> <message> <source>Project Settings File from a different Environment?</source> <translation type="obsolete">Soubor s nastavenÃm projektu z jiného prostÅ™edÃ?</translation> </message> + <message> + <source>No valid .user file found for '%1'</source> + <translation>NepodaÅ™ilo se najÃt žádný platný soubor .user pro '%1'</translation> + </message> + <message> + <source><p>No valid settings file could be found for this installation of Qt Creator.</p><p>All settings files were either too new or too old to be read.</p></source> + <translation><p>NepodaÅ™ilo se najÃt žádný platný soubor s nastavenÃm pro tuto instalaci Qt Creatoru.</p><p>VÅ¡echny soubory s nastavenÃm jsou buÄ pÅ™ÃliÅ¡ nové, nebo pÅ™ÃliÅ¡ staré na to, aby se daly pÅ™eÄÃst.</p></translation> + </message> + <message> + <source><p>No .user settings file created by this instance of Qt Creator was found.</p><p>Did you work with this project on another machine or using a different settings path before?</p><p>Do you still want to load the settings file '%1'?</p></source> + <translation><p>NepodaÅ™ilo se najÃt žádný soubor s nastavenÃm .user, který by byl vytvoÅ™en touto instancà Qt Creatoru.</p><p>Pracoval jste s tÃmtos projektem na jiném stroji, nebo jste pro nastavenà použil jinou cestu?</p><p>Stále jeÅ¡tÄ› chcete nahrát soubor s nastavenÃm '%1'?</p></translation> + </message> <message> <source>Using Old Settings File for '%1'</source> <translation>PoužÃvá se soubor se starým nastavenÃm pro '%1'</translation> </message> + <message> + <source><p>The versioned backup '%1' of the .user settings file is used, because the non-versioned file was created by an incompatible version of Qt Creator.</p><p>Project settings changes made since the last time this version of Qt Creator was used with this project are ignored, and changes made now will <b>not</b> be propagated to the newer version.</p></source> + <translatorcomment><p>PoužÃvá se verzovaná záloha '%1' souboru s nastavenÃm .user, neboÅ¥ neverzovaný soubor byl vytvoÅ™en nekompatibilnà verzà Qt Creatoru.</p><p>ZmÄ›ny v nastavenà projektu, které byly pro tento projekt udÄ›lány po poslednÃm užità této verze Qt Creatoru, jsou zahozeny; nynà provedené zmÄ›ny se na novou verzi <b>nepoužijÃ</b>.</p></translatorcomment> + <translation></translation> + </message> + <message> + <source>The version of your .shared file is not supported by Qt Creator. Do you want to try loading it anyway?</source> + <translation>Tato verze souboru .shared nenà Qt Creatorem podporována. Chcete ji pÅ™esto nahrát?</translation> + </message> <message> <source>Settings File for '%1' from a different Environment?</source> <translation>Soubor s nastavenÃm pro '%1' z jiného prostÅ™edÃ?</translation> @@ -47189,7 +48077,7 @@ Chcete je pÅ™idat do projektu?</html></translation> The .user settings files contain environment specific settings. They should not be copied to a different environment. Do you still want to load the settings file?</source> - <translation>Qt Creator zjistil, že soubor s uživatelským nastavenÃm .user byl vytvoÅ™en pro jiné vývojářské nastavenÃ, možná pocházà z jiného stroje. + <translation type="obsolete">Qt Creator zjistil, že soubor s uživatelským nastavenÃm .user byl vytvoÅ™en pro jiné vývojářské nastavenÃ, možná pocházà z jiného stroje. Soubory s nastavenÃm .user obsahujà nastavenà zvláštnà pro prostÅ™edÃ. NemÄ›ly by se kopÃrovat do jiného prostÅ™edÃ. @@ -47203,7 +48091,7 @@ Chcete pÅ™esto soubor s nastavenÃm nahrát?</translation> <source>The version of your .shared file is not supported by this Qt Creator version. Only settings that are still compatible will be taken into account. Do you want to try loading it?</source> - <translation>Verze vaÅ¡eho souboru .shared jeÅ¡tÄ› nenà touto verzà Qt Creatoru podporována. Budou se použÃvat pouze sluÄitelná nastavenÃ. + <translation type="obsolete">Verze vaÅ¡eho souboru .shared jeÅ¡tÄ› nenà touto verzà Qt Creatoru podporována. Budou se použÃvat pouze sluÄitelná nastavenÃ. Chcete se pokusit o jeho nahránÃ?</translation> </message> @@ -47274,19 +48162,19 @@ o pravdÄ›podobném URI.</translation> </message> <message> <source>Cannot Open File</source> - <translation>Nelze otevÅ™Ãt soubor</translation> + <translation type="obsolete">Nelze otevÅ™Ãt soubor</translation> </message> <message> <source>Cannot open the file for editing with VCS.</source> - <translation>Soubor se nepodaÅ™ilo s pomocà správy verzà udÄ›lat zapisovatelný (otevÅ™Ãt pro úpravy).</translation> + <translation type="obsolete">Soubor se nepodaÅ™ilo s pomocà správy verzà udÄ›lat zapisovatelný (otevÅ™Ãt pro úpravy).</translation> </message> <message> <source>Cannot Set Permissions</source> - <translation>Chyba pÅ™i nastavenà oprávnÄ›nà pro pÅ™Ãstup k souboru</translation> + <translation type="obsolete">Chyba pÅ™i nastavenà oprávnÄ›nà pro pÅ™Ãstup k souboru</translation> </message> <message> <source>Cannot set permissions to writable.</source> - <translation>Soubor se nepodaÅ™ilo udÄ›lat zapisovatelný.</translation> + <translation type="obsolete">Soubor se nepodaÅ™ilo udÄ›lat zapisovatelný.</translation> </message> <message> <source>There are unsaved changes for project file %1.</source> @@ -48480,54 +49368,96 @@ Tato volba je užiteÄná, když chcete svůj program vyzkouÅ¡et na zaÅ™ÃzenÃc </message> <message> <source>Use Qt libraries from device</source> - <translation>PoužÃt knihovny qt ze zaÅ™ÃzenÃ</translation> + <translation type="obsolete">PoužÃt knihovny qt ze zaÅ™ÃzenÃ</translation> </message> <message> <source>Push local Qt libraries to device. You must have Qt libraries compiled for that platform</source> - <translation>Odeslat mÃstnà knihovny qt do zaÅ™ÃzenÃ. + <translation type="obsolete">Odeslat mÃstnà knihovny qt do zaÅ™ÃzenÃ. MusÃte mÃt pro ten systém sestaveny knihovny qt</translation> </message> <message> <source>Deploy local Qt libraries</source> - <translation>Nasadit mÃstnà knihovny qt</translation> + <translation type="obsolete">Nasadit mÃstnà knihovny qt</translation> </message> <message> <source>Check this option to force the application to use local Qt libraries instead of system libraries.</source> - <translation>ZaÅ¡krtnÄ›te tuto volbu pro vynucenà mÃstnÃch knihoven qt namÃsto systémových knihoven v programu.</translation> + <translation type="obsolete">ZaÅ¡krtnÄ›te tuto volbu pro vynucenà mÃstnÃch knihoven qt namÃsto systémových knihoven v programu.</translation> </message> <message> <source>Use local Qt libraries</source> - <translation>PoužÃt mÃstnà knihovny qt</translation> + <translation type="obsolete">PoužÃt mÃstnà knihovny qt</translation> </message> <message> <source>Edit Rules File</source> - <translation>Upravit soubor s pravidly</translation> + <translation type="obsolete">Upravit soubor s pravidly</translation> </message> <message> <source>Choose and install Ministro system wide Qt shared libraries. This option is useful when you want to try your application on devices which don't have Android Market (e.g. Android Emulator).</source> - <translation>Vybrat a nainstalovat systémové sdÃlené knihovny qt Ministro. + <translation type="obsolete">Vybrat a nainstalovat systémové sdÃlené knihovny qt Ministro. Tato volba je užiteÄná, když chcete svůj program vyzkouÅ¡et na zaÅ™ÃzenÃch, která nemájà Android Market (napÅ™. Android Emulator).</translation> </message> <message> <source>Install Ministro, system-wide Qt shared libraries installer</source> - <translation>Nainstalovat Ministro, instalátor systémových sdÃlených knihoven qt</translation> + <translation type="obsolete">Nainstalovat Ministro, instalátor systémových sdÃlených knihoven qt</translation> </message> <message> <source>Choose APK</source> - <translation>Vybrat APK</translation> + <translation type="obsolete">Vybrat APK</translation> </message> <message> <source>Clean Libs on Device</source> - <translation>Uklidit knihovny na zaÅ™ÃzenÃ</translation> + <translation type="obsolete">Uklidit knihovny na zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Qt Deployment</source> + <translation>Nasazenà Qt</translation> + </message> + <message> + <source>Use the external Ministro application to download and maintain Qt libraries.</source> + <translation>PoužÃt vnÄ›jšà program Ministro ke staženà a správÄ› knihoven Qt.</translation> + </message> + <message> + <source>Use Ministro service to install Qt</source> + <translation>PoužÃt službu Ministro k nainstalovánà Qt</translation> + </message> + <message> + <source>Push local Qt libraries to device. You must have Qt libraries compiled for that platform. +The APK will not be usable on any other device.</source> + <translation>ZkopÃrovat mÃstnà knihovny Qt na zaÅ™ÃzenÃ. Knihovny Qt musÃte mÃt pÅ™eloženy pro tuto platformu. +Toto APK nelze použÃt na žádném jiném zaÅ™ÃzenÃ.</translation> + </message> + <message> + <source>Deploy local Qt libraries to temporary directory</source> + <translation>ZkopÃrovat mÃstnà knihovny Qt do doÄasného adresáře</translation> + </message> + <message> + <source>Creates a standalone APK.</source> + <translation>Vytvořà samostatné APK.</translation> + </message> + <message> + <source>Bundle Qt libraries in APK</source> + <translation>Knihovny Qt zabalit do APK</translation> + </message> + <message> + <source>Advanced Actions</source> + <translation>PokroÄilé Äinnosti</translation> + </message> + <message> + <source>Clean Temporary Libraries Directory on Device</source> + <translation>Vyprázdnit adresář s doÄasnými knihovnami na zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Install Ministro from APK</source> + <translation>Instalovat Ministro z APK</translation> </message> </context> <context> <name>AndroidPackageCreationWidget</name> <message> <source>Manifest</source> - <translation>Manifest</translation> + <translation type="obsolete">Manifest</translation> </message> <message> <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -48633,7 +49563,7 @@ p, li { white-space: pre-wrap; } </message> <message> <source>1.0.0</source> - <translation>1.0.0</translation> + <translation type="obsolete">1.0.0</translation> </message> <message> <source>Application</source> @@ -48695,39 +49625,39 @@ p, li { white-space: pre-wrap; } </message> <message> <source>Select low dpi icon</source> - <translation>Vybrat ikonu s nÃzkým dpi</translation> + <translation type="obsolete">Vybrat ikonu s nÃzkým dpi</translation> </message> <message> <source>Select medium dpi icon</source> - <translation>Vybrat ikonu se stÅ™ednÃm dpi</translation> + <translation type="obsolete">Vybrat ikonu se stÅ™ednÃm dpi</translation> </message> <message> <source>Select high dpi icon</source> - <translation>Vybrat ikonu s vysokým dpi</translation> + <translation type="obsolete">Vybrat ikonu s vysokým dpi</translation> </message> <message> <source>Permissions</source> - <translation>OprávnÄ›nÃ</translation> + <translation type="obsolete">OprávnÄ›nÃ</translation> </message> <message> <source>Add</source> - <translation>PÅ™idat</translation> + <translation type="obsolete">PÅ™idat</translation> </message> <message> <source>Remove</source> - <translation>Odstranit</translation> + <translation type="obsolete">Odstranit</translation> </message> <message> <source>Save</source> - <translation>Uložit</translation> + <translation type="obsolete">Uložit</translation> </message> <message> <source>Discard</source> - <translation>Zahodit</translation> + <translation type="obsolete">Zahodit</translation> </message> <message> <source>Name:</source> - <translation>Název:</translation> + <translation type="obsolete">Název:</translation> </message> <message> <source>android.permission.ACCESS_CHECKIN_PROPERTIES</source> @@ -49275,37 +50205,37 @@ p, li { white-space: pre-wrap; } </message> <message> <source><b>Package name:</b></source> - <translation><b>Název balÃÄku:</b> </translation> + <translation type="obsolete"><b>Název balÃÄku:</b> </translation> </message> <message> <source><p align="justify">Please choose a valid package name for your application (e.g. "org.example.myapplication").</p> <p align="justify">Packages are usually defined using a hierarchical naming pattern, with levels in the hierarchy separated by periods (.) (pronounced "dot").</p> <p align="justify">In general, a package name begins with the top level domain name of the organization and then the organization's domain and then any subdomains listed in reverse order. The organization can then choose a specific name for their package. Package names should be all lowercase characters whenever possible.</p> <p align="justify">Complete conventions for disambiguating package names and rules for naming packages when the Internet domain name cannot be directly used as a package name are described in section 7.7 of the Java Language Specification.</p></source> - <translation><p align="justify">Vyberte, prosÃm, pro svůj program platný název balÃÄku (napÅ™. "org.example.myapplication").</p> + <translation type="obsolete"><p align="justify">Vyberte, prosÃm, pro svůj program platný název balÃÄku (napÅ™. "org.example.myapplication").</p> <p align="justify">BalÃÄky jsou obvykle stanoveny hierarchickým pojmenovávacÃm vzorem, s úrovnÄ›mi hierarchie oddÄ›lenými teÄkami (.) (vysloveno "teÄka").</p> <p align="justify">ObecnÄ› zaÄÃná název balÃÄku vrcholovým názvem domény organizace, a potom pokraÄuje doménou organizace, a pak jakoukoli podÅ™Ãzenou doménou, uvedeno v obráceném poÅ™adÃ. Organizace pak pro svůj balÃÄek může zvolit zvláštnà název. Názvy balÃÄků by mÄ›ly být, když je to možné, tvoÅ™eny malými pÃsmeny</p> <p align="justify">Zvyklosti pro nedvojznaÄné názvy balÃÄků a pravidla pro pojmenovávánà balÃÄků, když za název balÃÄku nelze použÃt pÅ™Ãmo název internetové domény jsou popsány v oddÃle 7.7 specifikace jazyka Java (Java Language Specification).</p></translation> </message> <message> <source><b>Version code:</b></source> - <translation><b>Kód verze:</b></translation> + <translation type="obsolete"><b>Kód verze:</b></translation> </message> <message> <source><b>Version name:</b></source> - <translation><b>Název verze:</b></translation> + <translation type="obsolete"><b>Název verze:</b></translation> </message> <message> <source><b>Application name:</b></source> - <translation><b>Název programu:</b></translation> + <translation type="obsolete"><b>Název programu:</b></translation> </message> <message> <source><b>Run:</b></source> - <translation><b>SpuÅ¡tÄ›nÃ:</b></translation> + <translation type="obsolete"><b>SpuÅ¡tÄ›nÃ:</b></translation> </message> <message> <source><b>Application icon:</b></source> - <translation><b>Ikona programu:</b></translation> + <translation type="obsolete"><b>Ikona programu:</b></translation> </message> <message> <source><center>Prebundled libraries</center> @@ -49358,7 +50288,7 @@ p, li { white-space: pre-wrap; } </message> <message> <source>OpenJDK location:</source> - <translation>UmÃstÄ›nà OpenJDK:</translation> + <translation type="obsolete">UmÃstÄ›nà OpenJDK:</translation> </message> <message> <source>Start</source> @@ -49408,6 +50338,10 @@ p, li { white-space: pre-wrap; } <source>Automatically create kits for Android tool chains</source> <translation>Automaticky vytvoÅ™it sady pro sady nástrojů</translation> </message> + <message> + <source>JDK location:</source> + <translation>UmÃstÄ›nà JDK:</translation> + </message> </context> <context> <name>Core::Internal::CommandMappings</name> @@ -49514,6 +50448,10 @@ p, li { white-space: pre-wrap; } <source>Remove</source> <translation>Odstranit</translation> </message> + <message> + <source>Filter</source> + <translation>Filtr</translation> + </message> </context> <context> <name>Core::Internal::VariableChooser</name> @@ -49629,6 +50567,14 @@ p, li { white-space: pre-wrap; } <source>Patch 2</source> <translation>Záplata 2</translation> </message> + <message> + <source>Days</source> + <translation>dnech</translation> + </message> + <message> + <source>&Expires after:</source> + <translation>&Vypršà po:</translation> + </message> </context> <context> <name>CodePaster::Internal::SettingsPage</name> @@ -49648,6 +50594,14 @@ p, li { white-space: pre-wrap; } <source>Default protocol:</source> <translation>Výchozà protokol:</translation> </message> + <message> + <source>&Expires after:</source> + <translation>&Vypršà po:</translation> + </message> + <message> + <source>Days</source> + <translation>dnech</translation> + </message> </context> <context> <name>CppTools::Internal::CppFileSettingsPage</name> @@ -49973,9 +50927,13 @@ p, li { white-space: pre-wrap; } <source>Yes (id is "%1")</source> <translation>Ano (ID je "%1")</translation> </message> + <message> + <source>Show Running Processes</source> + <translation>Ukázat bežÃcà procesy</translation> + </message> <message> <source>Remote Processes</source> - <translation>Procesy na zaÅ™ÃzenÃ</translation> + <translation type="obsolete">Procesy na zaÅ™ÃzenÃ</translation> </message> <message> <source>Current state:</source> @@ -50699,6 +51657,10 @@ UrÄuje, jak se chová zpÄ›tná klávesa (backspace) co se týÄe odsazovánÃ. <source>Always open links in another split</source> <translation>Vždy otevÅ™Ãt odkazy v jiném rozdÄ›lenÃ</translation> </message> + <message> + <source>Display file encoding</source> + <translation>Zobrazit kódovánà souboru</translation> + </message> </context> <context> <name>TextEditor::Internal::HighlighterSettingsPage</name> @@ -50870,6 +51832,14 @@ UrÄuje chovánà odsazenà se zÅ™etelem k navazujÃcÃm řádkům. <source>With Regular Indent</source> <translation>Normálnà odsazenÃ</translation> </message> + <message> + <source>The text editor indentation setting is used for non-code files only. See the C++ and Qt Quick coding style settings to configure indentation for code files.</source> + <translation>Nastavenà textového editoru týkajÃcà se odsazenà se použijà jen na soubory, které neobsahujà žádný Code. Použijte nastavenà pro C++ a Qt Quick Coding Style k nastavenà odsazenà v souborech Code.</translation> + </message> + <message> + <source><i>Code indentation is configured in <a href="C++">C++</a> and <a href="QtQuick">Qt Quick</a> settings.</i></source> + <translation><i>Odsazenà Code je nastaveno v nasatvenà pro <a href="C++">C++</a> a <a href="QtQuick">Qt Quick</a>.</i></translation> + </message> </context> <context> <name>Todo::Internal::KeywordDialog</name> @@ -50998,6 +51968,10 @@ UrÄuje chovánà odsazenà se zÅ™etelem k navazujÃcÃm řádkům. <source>Clean Repository</source> <translation>Uklidit skladiÅ¡tÄ›</translation> </message> + <message> + <source>Select All</source> + <translation>Vybrat vÅ¡e</translation> + </message> </context> <context> <name>VcsBase::Internal::CommonSettingsPage</name> @@ -51807,7 +52781,7 @@ should a repository require SSH-authentication (see documentation on SSH and the <name>Analyzer::Internal::AnalyzerRunControlFactory</name> <message> <source>Analyzer</source> - <translation>Rozbor</translation> + <translation type="obsolete">Rozbor</translation> </message> <message> <source>No analyzer tool selected</source> @@ -51988,7 +52962,7 @@ Nainstalujte, prosÃm, jedno SDK s API verze alespoň %1.</translation> </message> <message> <source>Qt Android smart installer installation failed</source> - <translation>Instalace chytrého Qt instalátoru pro Android se nezdaÅ™ila</translation> + <translation type="obsolete">Instalace chytrého Qt instalátoru pro Android se nezdaÅ™ila</translation> </message> <message> <source>Package installation failed.</source> @@ -52080,6 +53054,10 @@ UjistÄ›te se, prosÃm, že váš program je sestaven úspěšnÄ› a je vybrán na <source>Cannot create Android package: current build configuration is not Qt 4.</source> <translation>Nelze vytvoÅ™it balÃÄek pro Android: nynÄ›jšà nastavenà sestavovánà nenà Qt 4.</translation> </message> + <message> + <source>Cannot create Android package: No ANDROID_TARGET_ARCH set in make spec.</source> + <translation>Nelze vytvoÅ™it balÃÄek pro Android: ANDROID_TARGET_ARCH in make spec nenastaven.</translation> + </message> <message> <source>Cannot find ELF information</source> <translation>Nelze najÃt informaci ELF</translation> @@ -52180,12 +53158,12 @@ UjistÄ›te se, prosÃm, že váš program je sestaven úspěšnÄ› a je vybrán na <message> <source>The package name '%1' is not valid. Please choose a valid package name for your application (e.g. "org.example.myapplication").</source> - <translation>Název balÃÄku '%1' nenà platný. + <translation type="obsolete">Název balÃÄku '%1' nenà platný. Vyberte, prosÃm, platný název balÃÄku pro váš program (napÅ™. "org.example.myapplication").</translation> </message> <message> <source>Choose High DPI Icon</source> - <translation>Vybrat ikonu s vysokým dpi</translation> + <translation type="obsolete">Vybrat ikonu s vysokým dpi</translation> </message> <message> <source>png images (*.png)</source> @@ -52193,11 +53171,11 @@ Vyberte, prosÃm, platný název balÃÄku pro váš program (napÅ™. "org.e </message> <message> <source>Choose Medium DPI Icon</source> - <translation>Vybrat ikonu se stÅ™ednÃm dpi</translation> + <translation type="obsolete">Vybrat ikonu se stÅ™ednÃm dpi</translation> </message> <message> <source>Choose Low DPI Icon</source> - <translation>Vybrat ikonu s nÃzkým dpi</translation> + <translation type="obsolete">Vybrat ikonu s nÃzkým dpi</translation> </message> <message> <source>< type or choose a permission ></source> @@ -52205,15 +53183,15 @@ Vyberte, prosÃm, platný název balÃÄku pro váš program (napÅ™. "org.e </message> <message> <source>Invalid Package Name</source> - <translation>Neplatný název balÃÄku</translation> + <translation type="obsolete">Neplatný název balÃÄku</translation> </message> <message> <source>PNG images (*.png)</source> - <translation>Soubory s obrázky PNG (*.png)</translation> + <translation type="obsolete">Soubory s obrázky PNG (*.png)</translation> </message> <message> <source>< Type or choose a permission ></source> - <translation>< NapiÅ¡te nebo vyberte oprávnÄ›nà ></translation> + <translation type="obsolete">< NapiÅ¡te nebo vyberte oprávnÄ›nà ></translation> </message> <message> <source><b>Package configurations</b></source> @@ -52272,7 +53250,7 @@ Vyberte, prosÃm, platný název balÃÄku pro váš program (napÅ™. "org.e </message> <message> <source>Run on Android device or emulator.</source> - <translation>Spustit na zaÅ™Ãzenà nebo emulátoru Androida.</translation> + <translation type="obsolete">Spustit na zaÅ™Ãzenà nebo emulátoru Androida.</translation> </message> </context> <context> @@ -52313,6 +53291,10 @@ Vyberte, prosÃm, platný název balÃÄku pro váš program (napÅ™. "org.e '%1' ukonÄen</translation> </message> + <message> + <source>No free ports available on host for QML debugging.</source> + <translation>Na host nenà dostatek volných portů pro ladÄ›nà pro ladÄ›nà QML.</translation> + </message> <message> <source> @@ -52345,9 +53327,17 @@ Vyberte, prosÃm, platný název balÃÄku pro váš program (napÅ™. "org.e <source>Unable to start '%1'.</source> <translation>Nelze spustit '%1'.</translation> </message> + <message> + <source> + +'%1' terminated.</source> + <translation> + +'%1' ukonÄen.</translation> + </message> <message> <source>Cannot find %1 process.</source> - <translation>Nelze najÃt proces %1.</translation> + <translation type="obsolete">Nelze najÃt proces %1.</translation> </message> <message> <source> @@ -52637,11 +53627,15 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <name>AutotoolsProjectManager::Internal::AutotoolsManager</name> <message> <source>Failed opening project '%1': Project file does not exist</source> - <translation>Projekt %1 se nepodaÅ™il otevÅ™Ãt: Soubor s projektem neexistuje</translation> + <translation type="obsolete">Projekt %1 se nepodaÅ™il otevÅ™Ãt: Soubor s projektem neexistuje</translation> </message> <message> <source>Failed opening project '%1': Project already open</source> - <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> + <translation type="obsolete">Projekt '%1' se nepodaÅ™il otevÅ™Ãt, neboÅ¥ projekt je již otevÅ™en</translation> + </message> + <message> + <source>Failed opening project '%1': Project is not a file</source> + <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt: Daný projektový soubor nenà soubor</translation> </message> </context> <context> @@ -52786,6 +53780,11 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> </context> <context> <name>Core::DocumentManager</name> + <message> + <source>Could not save the files.</source> + <comment>error message</comment> + <translation>Soubory se nepodaÅ™ilo uložit.</translation> + </message> <message> <source>File Error</source> <translation>Chyba souboru</translation> @@ -52812,19 +53811,19 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> </message> <message> <source>File Is Read Only</source> - <translation>Soubor je pouze pro ÄtenÃ</translation> + <translation type="obsolete">Soubor je pouze pro ÄtenÃ</translation> </message> <message> <source>The file <i>%1</i> is read only.</source> - <translation>Soubor <i>%1</i> je pouze pro ÄtenÃ.</translation> + <translation type="obsolete">Soubor <i>%1</i> je pouze pro ÄtenÃ.</translation> </message> <message> <source>Make &Writable</source> - <translation>UdÄ›lat &zapisovatelným</translation> + <translation type="obsolete">UdÄ›lat &zapisovatelným</translation> </message> <message> <source>&Save As...</source> - <translation>&Uložit jako...</translation> + <translation type="obsolete">&Uložit jako...</translation> </message> <message> <source>Open with VCS (%1)</source> @@ -52942,6 +53941,14 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <source>Add Breakpoint...</source> <translation>PÅ™idat bod pÅ™eruÅ¡enÃ...</translation> </message> + <message> + <source>Remove All Breakpoints</source> + <translation>Odstranit vÅ¡echny body pÅ™eruÅ¡enÃ</translation> + </message> + <message> + <source>Are you sure you want to remove all breakpoints from all files in the current session?</source> + <translation>Opravdu chcete odstranit vÅ¡echny body pÅ™eruÅ¡enà ze vÅ¡ech souborů v nynÄ›jÅ¡Ãm sezenÃ?</translation> + </message> <message> <source>Add Breakpoint</source> <translation>PÅ™idat bod pÅ™eruÅ¡enÃ</translation> @@ -53020,7 +54027,7 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <name>DebuggerPlugin</name> <message> <source>Debug</source> - <translation>LadÄ›nÃ</translation> + <translation type="obsolete">LadÄ›nÃ</translation> </message> <message> <source>Debugger</source> @@ -53324,11 +54331,11 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> </message> <message> <source>Memory Referenced by Pointer "%1" (0x%2)</source> - <translation>Paměť odkazovaná ukazatelem "%1" (0x%2)</translation> + <translation type="obsolete">Paměť odkazovaná ukazatelem "%1" (0x%2)</translation> </message> <message> <source>Memory at Variable "%1" (0x%2)</source> - <translation>Paměť pÅ™i promÄ›nné "%1" (0x%2)</translation> + <translation type="obsolete">Paměť pÅ™i promÄ›nné "%1" (0x%2)</translation> </message> <message> <source>Cannot Display Stack Layout</source> @@ -53362,6 +54369,14 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <source>Remove Evaluated Expression "%1"</source> <translation type="obsolete">Odstranit vyhodnocený výraz "%1"</translation> </message> + <message> + <source>Memory at Pointer's Address "%1" (0x%2)</source> + <translation>Paměť odkazovaná ukazatelem "%1" (0x%2)</translation> + </message> + <message> + <source>Memory at Object's Address "%1" (0x%2)</source> + <translation>Paměť na adrese objektu "%1" (0x%2)</translation> + </message> <message> <source>Add Expression Evaluator</source> <translation>PÅ™idat hodnotitele výrazu</translation> @@ -53430,9 +54445,13 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <source>Add Data Breakpoint at Object's Address (0x%1)</source> <translation>PÅ™idat bod pÅ™eruÅ¡enà dat na adrese objektu (0x%1)</translation> </message> + <message> + <source>Add Data Breakpoint at Pointer's Address (0x%1)</source> + <translation>PÅ™idat bod pÅ™eruÅ¡enà dat na adrese objektu (0x%1)</translation> + </message> <message> <source>Add Data Breakpoint at Referenced Address (0x%1)</source> - <translation>PÅ™idat bod pÅ™eruÅ¡enà dat na odkazované adrese (0x%1)</translation> + <translation type="obsolete">PÅ™idat bod pÅ™eruÅ¡enà dat na odkazované adrese (0x%1)</translation> </message> <message> <source>Add Data Breakpoint</source> @@ -53466,6 +54485,22 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <source>Remove All Expression Evaluators</source> <translation>Odstranit vÅ¡echny hodnotitele výrazů</translation> </message> + <message> + <source>Open Memory Editor at Pointer's Address (0x%1)</source> + <translation>OtevÅ™Ãt editor pamÄ›ti na adrese ukazatele (0x%1)</translation> + </message> + <message> + <source>Open Memory View at Pointer's Address (0x%1)</source> + <translation>OtevÅ™Ãt zobrazenà pamÄ›ti na adrese ukazatele (0x%1)</translation> + </message> + <message> + <source>Open Memory Editor at Pointer's Address</source> + <translation>OtevÅ™Ãt editor pamÄ›ti na adrese ukazatele</translation> + </message> + <message> + <source>Open Memory View at Pointer's Address</source> + <translation>OtevÅ™Ãt zobrazenà pamÄ›ti na adrese ukazatele</translation> + </message> <message> <source>Enter Expression for Evaluator</source> <translation>Zadat výraz pro hodnotitele</translation> @@ -53512,19 +54547,19 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> </message> <message> <source>Open Memory Editor at Referenced Address (0x%1)</source> - <translation>OtevÅ™Ãt editor pamÄ›ti na odkazované adrese (0x%1)</translation> + <translation type="obsolete">OtevÅ™Ãt editor pamÄ›ti na odkazované adrese (0x%1)</translation> </message> <message> <source>Open Memory View at Referenced Address (0x%1)</source> - <translation>OtevÅ™Ãt zobrazenà pamÄ›ti na odkazované adrese (0x%1)</translation> + <translation type="obsolete">OtevÅ™Ãt zobrazenà pamÄ›ti na odkazované adrese (0x%1)</translation> </message> <message> <source>Open Memory Editor at Referenced Address</source> - <translation>OtevÅ™Ãt editor pamÄ›ti na odkazované adrese</translation> + <translation type="obsolete">OtevÅ™Ãt editor pamÄ›ti na odkazované adrese</translation> </message> <message> <source>Open Memory View at Referenced Address</source> - <translation>OtevÅ™Ãt zobrazenà pamÄ›ti na odkazované adrese</translation> + <translation type="obsolete">OtevÅ™Ãt zobrazenà pamÄ›ti na odkazované adrese</translation> </message> <message> <source>Open Memory Editor Showing Stack Layout</source> @@ -53624,6 +54659,10 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <source>Copy URL</source> <translation type="obsolete">KopÃrovat adresu (URL)</translation> </message> + <message> + <source>Apply in: </source> + <translation>PoužÃt v: </translation> + </message> <message> <source>Changes</source> <translation>ZmÄ›ny</translation> @@ -53640,21 +54679,49 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <source>Details</source> <translation>Podrobnosti</translation> </message> + <message> + <source>&Refresh</source> + <translation>&Obnovit</translation> + </message> + <message> + <source>&Show...</source> + <translation>&Ukázat...</translation> + </message> + <message> + <source>Cherry &Pick...</source> + <translation>&VýbÄ›rovÄ› slouÄit...</translation> + </message> + <message> + <source>&Checkout...</source> + <translation>NaÄÃst (checkout)...</translation> + </message> + <message> + <source>&Show</source> + <translation>Uká&zat</translation> + </message> + <message> + <source>Cherry &Pick</source> + <translation>&VýbÄ›rovÄ› slouÄit</translation> + </message> + <message> + <source>&Checkout</source> + <translation>&NaÄÃst (checkout)</translation> + </message> <message> <source>Diff...</source> - <translation>RozdÃly...</translation> + <translation type="obsolete">RozdÃly...</translation> </message> <message> <source>Apply...</source> - <translation>PoužÃt...</translation> + <translation type="obsolete">PoužÃt...</translation> </message> <message> <source>Checkout...</source> - <translation>NaÄÃst (checkout)...</translation> + <translation type="obsolete">NaÄÃst (checkout)...</translation> </message> <message> <source>Refresh</source> - <translation>Obnovit</translation> + <translation type="obsolete">Obnovit</translation> </message> <message> <source>Fetching "%1"...</source> @@ -53807,6 +54874,10 @@ of the Qt project.</source> <translation type="obsolete">Čárkou oddÄ›lený seznam dodateÄných dotazů. NapÅ™Ãklad "status:staged,status:integrating" lze použÃt pro ukázánà stavu pokraÄujÃcà integrace projektu Qt.</translation> </message> + <message> + <source>Always prompt for repository folder</source> + <translation>Vždy vyvolat složku se skladiÅ¡tÄ›m</translation> + </message> <message> <source>&Host:</source> <translation>&Hostitel:</translation> @@ -53819,6 +54890,23 @@ NapÅ™Ãklad "status:staged,status:integrating" lze použÃt pro ukáz <source>&ssh:</source> <translation>&ssh:</translation> </message> + <message> + <source>&Repository:</source> + <translation>&SkladiÅ¡tÄ›:</translation> + </message> + <message> + <source>Default repository where patches will be applied.</source> + <translation>Výchozà skladiÅ¡tÄ›, na něž se budou použÃvat záplaty.</translation> + </message> + <message> + <source>Pr&ompt:</source> + <translation>&Zeptat se:</translation> + </message> + <message> + <source>If checked, user will always be +asked to confirm the repository path.</source> + <translation>Když je toto nastavenà zapnuto, uživatel bude vždy dotázán, aby potvrdil cestu ke skladiÅ¡ti.</translation> + </message> <message> <source>&Port:</source> <translation>&Port:</translation> @@ -53856,15 +54944,15 @@ NapÅ™Ãklad "status:staged,status:integrating" lze použÃt pro ukáz </message> <message> <source>Error writing to temporary file.</source> - <translation>Chyba pÅ™i zápisu do doÄasného souboru.</translation> + <translation type="obsolete">Chyba pÅ™i zápisu do doÄasného souboru.</translation> </message> <message> <source>Writing %1...</source> - <translation>Zapisuje se %1...</translation> + <translation type="obsolete">Zapisuje se %1...</translation> </message> <message> <source>Cherry-picking %1...</source> - <translation>VybÃrá se %1...</translation> + <translation type="obsolete">VybÃrá se %1...</translation> </message> </context> <context> @@ -53873,10 +54961,36 @@ NapÅ™Ãklad "status:staged,status:integrating" lze použÃt pro ukáz <source>Gerrit...</source> <translation>Gerrit...</translation> </message> + <message> + <source>Push to Gerrit...</source> + <translation>Odvést do Gerritu...</translation> + </message> + <message> + <source>Initialization Failed</source> + <translation>SpuÅ¡tÄ›nà se nezdaÅ™ilo</translation> + </message> + <message> + <source>Failed to initialize dialog. Aborting.</source> + <translation>Dialog se nepodaÅ™ilo spustit. Rušà se.</translation> + </message> <message> <source>Git is not available.</source> <translation>Git je nedostupný.</translation> </message> + <message> + <source>Remote Not Verified</source> + <translation>Remote neověřen</translation> + </message> + <message> + <source>Change host %1 +and project %2 + +were not verified among remotes in %3. Select different folder?</source> + <translation>Change host %1 +a Projekt %2 + +nepatřà k ověřeným Remotes v %3. Vybrat jinou složku?</translation> + </message> <message> <source>git is not available.</source> <translation type="obsolete">Git je nedostupný.</translation> @@ -53896,38 +55010,46 @@ NapÅ™Ãklad "status:staged,status:integrating" lze použÃt pro ukáz <source>Show difference.</source> <translation>Ukázat rozdÃly.</translation> </message> + <message> + <source>Graph</source> + <translation>Graf</translation> + </message> + <message> + <source>Show textual graph log.</source> + <translation>Ukázat graf jako text.</translation> + </message> </context> <context> <name>Git::Internal::ResetDialog</name> <message> <source>Sha1</source> - <translation>Sha1</translation> + <translation type="obsolete">Sha1</translation> </message> <message> <source>Subject</source> - <translation>PÅ™edmÄ›t</translation> + <translation type="obsolete">PÅ™edmÄ›t</translation> </message> <message> <source>Reset to:</source> - <translation>Nastavit znovu na:</translation> + <translation type="obsolete">Nastavit znovu na:</translation> </message> <message> <source>Reset type:</source> <translatorcomment>XXX: neověřeno za bÄ›hu</translatorcomment> - <translation>Druh znovunastavenÃ:</translation> + <translation type="obsolete">Druh znovunastavenÃ:</translation> </message> <message> <source>Hard Reset</source> <translatorcomment>XXX: VÄetnÄ› pracovnÃho stromu (lepÅ¡Ã, ale asi moc dlouhé?); Napevno (hard) </translatorcomment> - <translation>I pracovnà strom (hard)</translation> + <translation type="obsolete">I pracovnà strom (hard)</translation> </message> <message> <source>Soft Reset</source> - <translation>Pouze HEAD (soft)</translation> + <translation type="obsolete">Pouze HEAD (soft)</translation> </message> <message> <source>Undo Changes to %1</source> - <translation>ZmÄ›ny pro %1 vrátit zpÄ›t</translation> + <translation type="obsolete">ZmÄ›ny pro %1 vrátit zpÄ›t</translation> </message> </context> <context> @@ -53992,13 +55114,17 @@ Chcete jej ukonÄit?</translation> </context> <context> <name>ProjectExplorer::DesktopDevice</name> + <message> + <source>Local PC</source> + <translation>MÃstnà PC</translation> + </message> <message> <source>Desktop</source> <translation>Stolnà poÄÃtaÄ</translation> </message> <message> <source>Run locally</source> - <translation>Spustit mÃstnÄ›</translation> + <translation type="obsolete">Spustit mÃstnÄ›</translation> </message> </context> <context> @@ -54064,7 +55190,7 @@ Chcete jej ukonÄit?</translation> <name>ProjectExplorer::DebuggerRunConfigurationAspect</name> <message> <source>Debugger settings</source> - <translation>Nastavenà ladiÄe</translation> + <translation type="obsolete">Nastavenà ladiÄe</translation> </message> </context> <context> @@ -54188,7 +55314,7 @@ Má se to zkusit jeÅ¡tÄ› jednou?</translation> </message> <message> <source>Unexpected complete signal in data model.</source> - <translation type="unfinished">NeoÄekávaný signál v datovém modelu.</translation> + <translation>NeoÄekávaný signál v datovém modelu.</translation> </message> <message> <source>No data to save.</source> @@ -54834,10 +55960,18 @@ Je zapotÅ™ebà mÃt nÄ›jakou verzi Qt a sadu nástrojů, aby modely kódu C++ a <source>To-Do Entries</source> <translation>Záznamy CO UDÄšLAT</translation> </message> + <message> + <source>Current File</source> + <translation>NynÄ›jšà soubor</translation> + </message> <message> <source>Scan in the current opened file</source> <translation>Hledat v nynà otevÅ™eném souboru</translation> </message> + <message> + <source>Whole Project</source> + <translation>Celý projekt</translation> + </message> <message> <source>Scan in the whole project</source> <translation>Hledat v celém projektu</translation> @@ -54994,6 +56128,14 @@ Je zapotÅ™ebà mÃt nÄ›jakou verzi Qt a sadu nástrojů, aby modely kódu C++ a <source>The public key file could not be saved: %1</source> <translation>Soubor s veÅ™ejným klÃÄem se nepodaÅ™ilo uložit: %1</translation> </message> + <message> + <source>File Exists</source> + <translation>Soubor již existuje</translation> + </message> + <message> + <source>There already is a file of that name. Do you want to overwrite it?</source> + <translation>Soubor s tÃmto názvem již existuje. Chcete jej pÅ™epsat?</translation> + </message> </context> <context> <name>ClearCase::Internal::CheckOutDialog</name> @@ -55310,6 +56452,10 @@ Je zapotÅ™ebà mÃt nÄ›jakou verzi Qt a sadu nástrojů, aby modely kódu C++ a <source>Uploading debug token</source> <translation>Nahrává se symbol pro ladÄ›nÃ</translation> </message> + <message> + <source>Connection log:</source> + <translation>Záznam o spojenÃ:</translation> + </message> </context> <context> <name>Qnx::Internal::BlackBerryDeviceConfigurationWizardSetupPage</name> @@ -55374,7 +56520,7 @@ Je zapotÅ™ebà mÃt nÄ›jakou verzi Qt a sadu nástrojů, aby modely kódu C++ a </message> <message> <source>Generate</source> - <translation>VytvoÅ™it</translation> + <translation type="obsolete">VytvoÅ™it</translation> </message> <message> <source>SSH Key Setup</source> @@ -55388,6 +56534,14 @@ Je zapotÅ™ebà mÃt nÄ›jakou verzi Qt a sadu nástrojů, aby modely kódu C++ a <source>Key Generation Failed</source> <translation>Chyba pÅ™i vytvářenà klÃÄe</translation> </message> + <message> + <source>Choose Private Key File Name</source> + <translation>Vyberte název souboru se soukromým klÃÄem</translation> + </message> + <message> + <source>Generate...</source> + <translation>VytvoÅ™it...</translation> + </message> </context> <context> <name>Qnx::Internal::BlackBerryRunConfigurationWidget</name> @@ -55820,6 +56974,10 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <name>ClearCase::Internal::ClearCaseControl</name> <message> <source>&Check Out</source> + <translation type="obsolete">&NaÄÃst (checkout)</translation> + </message> + <message> + <source>Check &Out</source> <translation>&NaÄÃst (checkout)</translation> </message> <message> @@ -56235,7 +57393,7 @@ Nainstalujte, prosÃm, alespoň jedno SDK.</translation> <name>Core::IVersionControl</name> <message> <source>Open with VCS (%1)</source> - <translation>OtevÅ™Ãt s pomocà systému na ověřovánà verzà (VCS) (%1)</translation> + <translation>OtevÅ™Ãt s pomocà systému na správu verzà (VCS) (%1)</translation> </message> </context> <context> @@ -56810,6 +57968,10 @@ Zasáhnutà do modulu nebo nastavenà bodů pÅ™eruÅ¡enà podle souboru, a oÄek <source>Detached HEAD</source> <translation>Odpojená HEAD</translation> </message> + <message> + <source>Select Change</source> + <translation>Vybrat zmÄ›nu</translation> + </message> </context> <context> <name>Madde::Internal::DebianManager</name> @@ -56870,11 +58032,11 @@ Zasáhnutà do modulu nebo nastavenà bodů pÅ™eruÅ¡enà podle souboru, a oÄek <name>Madde::Internal::MaddeDevice</name> <message> <source>Test</source> - <translation>ZkouÅ¡ka</translation> + <translation type="obsolete">ZkouÅ¡ka</translation> </message> <message> <source>Deploy Public Key...</source> - <translation>Poslat veÅ™ejný klÃÄ...</translation> + <translation type="obsolete">Poslat veÅ™ejný klÃÄ...</translation> </message> <message> <source>Maemo5/Fremantle</source> @@ -56934,7 +58096,11 @@ Chcete je pÅ™idat do projektu?</html></translation> <name>Perforce::Internal::PerforceVersionControl</name> <message> <source>&Edit (%1)</source> - <translation>&Upravit (%1)</translation> + <translation type="obsolete">&Upravit (%1)</translation> + </message> + <message> + <source>&Edit</source> + <translation>Ú&pravy</translation> </message> <message> <source>&Hijack</source> @@ -57380,7 +58546,11 @@ o pravdÄ›podobném URI.</translation> <name>Qnx::Internal::BlackBerryCreatePackageStep</name> <message> <source>Create BAR packages</source> - <translation>VytvoÅ™it balÃÄky BAR</translation> + <translation type="obsolete">VytvoÅ™it balÃÄky BAR</translation> + </message> + <message> + <source>Create packages</source> + <translation>VytvoÅ™it soubory balÃÄků</translation> </message> <message> <source>Could not find packager command '%1' in the build environment</source> @@ -57402,6 +58572,10 @@ o pravdÄ›podobném URI.</translation> <source>Could not create build directory '%1'</source> <translation>NepodaÅ™ilo se vytvoÅ™it adresář pro sestavovánà '%1'</translation> </message> + <message> + <source>Missing passwords for signing packages</source> + <translation>Chybà hesla pro podepsánà balÃÄků</translation> + </message> <message> <source>Error preparing application descriptor file</source> <translation>Chyba pÅ™i pÅ™ÃpravÄ› souboru s popisem programu</translation> @@ -57421,6 +58595,38 @@ o pravdÄ›podobném URI.</translation> <source><b>Create packages</b></source> <translation><b>VytvoÅ™it balÃÄky</b> </translation> </message> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Sign packages</source> + <translation>Podepsat balÃÄky</translation> + </message> + <message> + <source>CSK password:</source> + <translation>Heslo CSK:</translation> + </message> + <message> + <source>Keystore password:</source> + <translation>Heslo pro úložiÅ¡tÄ› klÃÄe:</translation> + </message> + <message> + <source>Note: This will store the passwords in a world-readable file.</source> + <translation>Poznámka: Hesla budou uložena ve vÅ¡emi Äitelném souboru.</translation> + </message> + <message> + <source>Save passwords</source> + <translation>Uložit hesla</translation> + </message> + <message> + <source>Show passwords</source> + <translation>Ukázat hesla</translation> + </message> + <message> + <source>Package in development mode</source> + <translation>BalÃÄek ve vývojářském režimu</translation> + </message> </context> <context> <name>Qnx::Internal::BlackBerryCreatePackageStepFactory</name> @@ -57436,25 +58642,30 @@ o pravdÄ›podobném URI.</translation> <translation>Nasadit na zaÅ™Ãzenà BlackBerry</translation> </message> <message> - <source>Cannot Set up Application Descriptor File</source> - <translation>Nelze nastavit soubor s popisem programu</translation> + <source>Setup Application Descriptor File</source> + <translation>Nastavit soubor s popisem programu</translation> </message> <message> - <source>Reading the bar descriptor template failed.</source> - <translation type="unfinished"></translation> + <source>You need to set up a bar descriptor file to enable packaging. +Do you want Qt Creator to generate it for your project?</source> + <translation>MusÃte nastavit soubor s popisem bar, abyste umožnil zabalenà souboru. +Chcete, aby jej Qt Creator pro váš projekt vytvoÅ™il?</translation> </message> <message> - <source>Writing the bar descriptor file failed.</source> - <translation type="unfinished"></translation> + <source>Don't ask again for this project</source> + <translation>U tohoto projektu se už znovu neptat</translation> </message> <message> - <source>Add bar-descriptor.xml File to Project</source> - <translation type="unfinished"></translation> + <source>Cannot Set up Application Descriptor File</source> + <translation>Nelze nastavit soubor s popisem programu</translation> </message> <message> - <source>Qt Creator has set up a bar descriptor file to enable packaging. -Do you want to add it to the project?</source> - <translation type="unfinished"></translation> + <source>Reading the bar descriptor template failed.</source> + <translation>ÄŒtenà pÅ™edlohy s popisem bar se nezdaÅ™ilo.</translation> + </message> + <message> + <source>Writing the bar descriptor file failed.</source> + <translation>Zápis souboru s popisem bar se nezdaÅ™il.</translation> </message> </context> <context> @@ -57522,6 +58733,14 @@ Do you want to add it to the project?</source> <source>BlackBerry</source> <translation>BlackBerry</translation> </message> + <message> + <source>Connect to device</source> + <translation>Spojit se zaÅ™ÃzenÃm</translation> + </message> + <message> + <source>Disconnect from device</source> + <translation>Odpojit od zaÅ™ÃzenÃ</translation> + </message> </context> <context> <name>Qnx::Internal::BlackBerryDeviceConfigurationFactory</name> @@ -57538,19 +58757,19 @@ Do you want to add it to the project?</source> </message> <message> <source>Failure to Save Key File</source> - <translation>Chyba pÅ™i ukládánà souboru s klÃÄem</translation> + <translation type="obsolete">Chyba pÅ™i ukládánà souboru s klÃÄem</translation> </message> <message> <source>Failed to create directory: '%1'.</source> - <translation>Adresář '%1' se nepodaÅ™ilo vytvoÅ™it.</translation> + <translation type="obsolete">Adresář '%1' se nepodaÅ™ilo vytvoÅ™it.</translation> </message> <message> <source>Private key file already exists: '%1'</source> - <translation>Soubor se soukromým klÃÄem '%1' již existuje</translation> + <translation type="obsolete">Soubor se soukromým klÃÄem '%1' již existuje</translation> </message> <message> <source>Public key file already exists: '%1'</source> - <translation>Soubor s veÅ™ejným klÃÄem '%1' již existuje</translation> + <translation type="obsolete">Soubor s veÅ™ejným klÃÄem '%1' již existuje</translation> </message> </context> <context> @@ -57604,9 +58823,13 @@ Do you want to add it to the project?</source> <source>No active deploy configuration</source> <translation>Nenà žádné Äinné nastavenà nasazovovánÃ</translation> </message> + <message> + <source>Device not connected</source> + <translation>ZaÅ™Ãzenà nepÅ™ipojeno</translation> + </message> <message> <source>Run on BlackBerry Device</source> - <translation>Spustit na zaÅ™Ãzenà BlackBerry</translation> + <translation type="obsolete">Spustit na zaÅ™Ãzenà BlackBerry</translation> </message> </context> <context> @@ -57702,7 +58925,11 @@ Do you want to add it to the project?</source> <name>Qnx::Internal::QnxRunControlFactory</name> <message> <source>Run on remote QNX device</source> - <translation>Spustit na vzdáleném zaÅ™Ãzenà QNX</translation> + <translation type="obsolete">Spustit na vzdáleném zaÅ™Ãzenà QNX</translation> + </message> + <message> + <source>No analyzer tool selected.</source> + <translation>Nevybrán žádný nástroj pro rozbor.</translation> </message> </context> <context> @@ -57763,7 +58990,11 @@ Do you want to add it to the project?</source> <name>QtSupport::Internal::CustomExecutableConfigurationWidget</name> <message> <source>Command:</source> - <translation>PÅ™Ãkaz:</translation> + <translation type="obsolete">PÅ™Ãkaz:</translation> + </message> + <message> + <source>Executable:</source> + <translation>Spustitelný soubor:</translation> </message> <message> <source>Arguments:</source> @@ -57779,23 +59010,23 @@ Do you want to add it to the project?</source> </message> <message> <source>Run Environment</source> - <translation>ProvádÄ›cà prostÅ™edÃ</translation> + <translation type="obsolete">ProvádÄ›cà prostÅ™edÃ</translation> </message> <message> <source>Base environment for this run configuration:</source> - <translation>Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> + <translation type="obsolete">Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Build Environment</source> - <translation>ProstÅ™edà pro sestavovánÃ</translation> + <translation type="obsolete">ProstÅ™edà pro sestavovánÃ</translation> </message> </context> <context> @@ -57821,15 +59052,15 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Clean Environment</source> - <translation>Smazat prostÅ™edÃ</translation> + <translation type="obsolete">Smazat prostÅ™edÃ</translation> </message> <message> <source>System Environment</source> - <translation>ProstÅ™edà systému</translation> + <translation type="obsolete">ProstÅ™edà systému</translation> </message> <message> <source>Build Environment</source> - <translation>ProstÅ™edà pro sestavovánÃ</translation> + <translation type="obsolete">ProstÅ™edà pro sestavovánÃ</translation> </message> <message> <source>Custom Executable</source> @@ -57958,7 +59189,7 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Not enough free ports on device for debugging.</source> - <translation>Na zaÅ™Ãzenà nenà dostatek volných portů pro ladÄ›nÃ.</translation> + <translation type="obsolete">Na zaÅ™Ãzenà nenà dostatek volných portů pro ladÄ›nÃ.</translation> </message> </context> <context> @@ -58046,7 +59277,7 @@ nelze najÃt v cestÄ›.</translation> <name>Git::Internal::BranchCheckoutDialog</name> <message> <source>Dialog</source> - <translation>Dialog</translation> + <translation type="obsolete">Dialog</translation> </message> <message> <source>Local Changes Found. Choose Action:</source> @@ -58095,7 +59326,7 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Keep Going</source> - <translation>Nechat běžet</translation> + <translation type="obsolete">Nechat běžet</translation> </message> <message> <source>jobs</source> @@ -58117,6 +59348,22 @@ nelze najÃt v cestÄ›.</translation> <source><b>Qbs:</b> %1</source> <translation><b>Qbs:</b> %1</translation> </message> + <message> + <source>Might make your application vulnerable. Only use in a safe environment.</source> + <translation>Může váš program udÄ›lat zranitelným. MÄ›lo by se použÃvat jen v bezpeÄném prostÅ™edÃ.</translation> + </message> + <message> + <source>Enable QML debugging:</source> + <translation>Zapnout ladÄ›nà QML:</translation> + </message> + <message> + <source>Properties:</source> + <translation>Vlastnosti:</translation> + </message> + <message> + <source>Keep going</source> + <translation>PokraÄovat</translation> + </message> </context> <context> <name>QbsProjectManager::Internal::QbsCleanStepConfigWidget</name> @@ -58130,34 +59377,38 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Keep Going</source> - <translation>Nechat běžet</translation> + <translation type="obsolete">Nechat běžet</translation> </message> <message> <source>jobs</source> - <translation>Úkoly</translation> + <translation type="obsolete">Úkoly</translation> </message> <message> <source><b>Qbs:</b> %1</source> <translation><b>Qbs:</b> %1</translation> </message> + <message> + <source>Keep going</source> + <translation>PokraÄovat</translation> + </message> </context> <context> <name>QbsProjectManager::Internal::QbsStepConfigWidget</name> <message> <source>Dry run</source> - <translation>Spustit na zkouÅ¡ku</translation> + <translation type="obsolete">Spustit na zkouÅ¡ku</translation> </message> <message> <source>Keep Going</source> - <translation>Nechat běžet</translation> + <translation type="obsolete">Nechat běžet</translation> </message> <message> <source>jobs</source> - <translation>Úkoly</translation> + <translation type="obsolete">Úkoly</translation> </message> <message> <source><b>Qbs:</b> %1</source> - <translation><b>Qbs:</b> %1</translation> + <translation type="obsolete"><b>Qbs:</b> %1</translation> </message> </context> <context> @@ -58190,6 +59441,14 @@ nelze najÃt v cestÄ›.</translation> <source>Determines whether the button is checkable or not.</source> <translation>UrÄuje, zda je tlaÄÃtko zaÅ¡krtnutelné Äi ne.</translation> </message> + <message> + <source>Enabled</source> + <translation>Povoleno</translation> + </message> + <message> + <source>Determines whether the button is enabled or not.</source> + <translation>UrÄuje, zda je tlaÄÃtko zapnuto Äi ne.</translation> + </message> <message> <source>Default button</source> <translation>Výchozà tlaÄÃtko</translation> @@ -58208,7 +59467,7 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Text color</source> - <translation>Barva textu</translation> + <translation type="obsolete">Barva textu</translation> </message> <message> <source>Focus on press</source> @@ -58250,11 +59509,11 @@ nelze najÃt v cestÄ›.</translation> <name>ComboBoxSpecifics</name> <message> <source>Text</source> - <translation>Text</translation> + <translation type="obsolete">Text</translation> </message> <message> <source>The text shown on the combobox</source> - <translation>Text zobrazený na rozbalovacÃm seznamu</translation> + <translation type="obsolete">Text zobrazený na rozbalovacÃm seznamu</translation> </message> <message> <source>Tool tip</source> @@ -58442,11 +59701,11 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>This QML file contains features which are not supported by Qt Quick Designer</source> - <translation type="unfinished"></translation> + <translation>Tento soubor QML obsahuje funkce nepodporované Qt Quick Designerem</translation> </message> <message> <source>Warn about unsupported features</source> - <translation type="unfinished"></translation> + <translation>Ukázat varovánà u nepodporovaných vlastnostÃ</translation> </message> </context> <context> @@ -58472,69 +59731,53 @@ nelze najÃt v cestÄ›.</translation> </context> <context> <name>Qnx::Internal::BarDescriptorEditorWidget</name> - <message> - <source>StackedWidget</source> - <translation type="unfinished"></translation> - </message> <message> <source>Package Information</source> - <translation type="unfinished"></translation> + <translation>Informace o balÃÄku</translation> </message> <message> - <source>Package ID:</source> - <translation type="unfinished"></translation> + <source>Assets</source> + <translation>Výhody</translation> </message> <message> <source>Package version:</source> - <translation>Verze balÃÄku:</translation> - </message> - <message> - <source>Package build ID:</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Verze balÃÄku:</translation> </message> <message> <source>Author Information</source> - <translation type="unfinished"></translation> + <translation>Informace o autorovi</translation> </message> <message> <source>Author:</source> - <translation>Autor:</translation> - </message> - <message> - <source>Author ID:</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Autor:</translation> </message> <message> <source>Entry-Point Text and Images</source> - <translation type="unfinished"></translation> + <translation>ZaÄátek textu a obrazových dat</translation> </message> <message> <source>Clear</source> - <translation>Smazat</translation> - </message> - <message> - <source>Splash screens:</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Smazat</translation> </message> <message> <source>Add...</source> - <translation>PÅ™idat...</translation> + <translation type="obsolete">PÅ™idat...</translation> </message> <message> <source>Remove</source> - <translation>Odstranit</translation> + <translation type="obsolete">Odstranit</translation> </message> <message> <source>Icon:</source> - <translation>Ikona:</translation> + <translation type="obsolete">Ikona:</translation> </message> <message> <source>Description:</source> - <translation>Popis:</translation> + <translation type="obsolete">Popis:</translation> </message> <message> <source>Name:</source> - <translation>Název:</translation> + <translation type="obsolete">Název:</translation> </message> <message> <source>General</source> @@ -58542,19 +59785,15 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Orientation:</source> - <translation>NatoÄenÃ:</translation> - </message> - <message> - <source>Chrome:</source> - <translation type="unfinished"></translation> + <translation type="obsolete">NatoÄenÃ:</translation> </message> <message> <source>Transparent main window</source> - <translation>Průhledné hlavnà okno</translation> + <translation type="obsolete">Průhledné hlavnà okno</translation> </message> <message> <source>Application Arguments:</source> - <translation>Argumenty pro program:</translation> + <translation type="obsolete">Argumenty pro program:</translation> </message> <message> <source>Permissions</source> @@ -58562,11 +59801,11 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Select All</source> - <translation>Vybrat vÅ¡e</translation> + <translation type="obsolete">Vybrat vÅ¡e</translation> </message> <message> <source>Deselect All</source> - <translation>OdznaÄit vÅ¡e</translation> + <translation type="obsolete">OdznaÄit vÅ¡e</translation> </message> <message> <source>Environment</source> @@ -58574,55 +59813,51 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Default</source> - <translation>VýchozÃ</translation> + <translation type="obsolete">VýchozÃ</translation> </message> <message> <source>Auto-orient</source> - <translation>Automatické natoÄenÃ</translation> + <translation type="obsolete">Automatické natoÄenÃ</translation> </message> <message> <source>Landscape</source> - <translation>Na Å¡ÃÅ™ku</translation> + <translation type="obsolete">Na Å¡ÃÅ™ku</translation> </message> <message> <source>Portrait</source> - <translation>Na výšku</translation> + <translation type="obsolete">Na výšku</translation> </message> <message> <source>Standard</source> - <translation>Obvyklé</translation> + <translation type="obsolete">Obvyklé</translation> </message> <message> <source>None</source> - <translation>Žádné</translation> + <translation type="obsolete">Žádné</translation> </message> <message> <source>Device Environment</source> - <translation>ProstÅ™edà zaÅ™ÃzenÃ</translation> + <translation type="obsolete">ProstÅ™edà zaÅ™ÃzenÃ</translation> </message> <message> <source>Images (*.jpg *.png)</source> - <translation>Obrázky (*.jpg *.png)</translation> + <translation type="obsolete">Obrázky (*.jpg *.png)</translation> </message> <message> <source>Path</source> - <translation>Cesta</translation> + <translation type="obsolete">Cesta</translation> </message> <message> <source>Destination</source> - <translation>CÃl</translation> - </message> - <message> - <source>Entry-Point</source> - <translation type="unfinished"></translation> + <translation type="obsolete">CÃl</translation> </message> <message> <source>Select Splash Screen</source> - <translation>Vybrat uvÃtacà obrazovku</translation> + <translation type="obsolete">Vybrat uvÃtacà obrazovku</translation> </message> <message> <source>Select File to Add</source> - <translation>Vybrat soubor k pÅ™idánÃ</translation> + <translation type="obsolete">Vybrat soubor k pÅ™idánÃ</translation> </message> </context> <context> @@ -58726,6 +59961,10 @@ nelze najÃt v cestÄ›.</translation> <source>BAR Files (*.bar)</source> <translation>Soubory BAR (*.bar)</translation> </message> + <message> + <source>Requesting Device PIN...</source> + <translation>Požaduje se PIN zaÅ™ÃzenÃ...</translation> + </message> <message> <source>Base directory does not exist.</source> <translation>Základnà adresář neexistuje.</translation> @@ -58774,6 +60013,10 @@ nelze najÃt v cestÄ›.</translation> <source>Failed to communicate with the inferior process.</source> <translation>S podÅ™Ãzeným procesem se nepodaÅ™ilo spojit.</translation> </message> + <message> + <source>Not yet registered to request debug tokens.</source> + <translation>Nenà jeÅ¡tÄ› pÅ™ihlášeno, aby se mohly požadovat symboly pro ladÄ›nÃ.</translation> + </message> <message> <source>An unknwon error has occurred.</source> <translation>Vyskytla se neznámá chyba.</translation> @@ -58805,6 +60048,10 @@ nelze najÃt v cestÄ›.</translation> <source>PKCS 12 Archives (*.p12)</source> <translation>Archivy PKCS 12 (*.p12)</translation> </message> + <message> + <source>Error parsing inferior process output.</source> + <translation>Chyba pÅ™i vyhodnocovánà výstupu podÅ™Ãzeného procesu.</translation> + </message> <message> <source>Error</source> <translation>Chyba</translation> @@ -58826,23 +60073,23 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>BlackBerry Signing Authority</source> - <translation type="unfinished"></translation> + <translation>Podpisová autorita pro BlackBerry</translation> </message> <message> <source>Registered: Yes</source> - <translation type="unfinished"></translation> + <translation>PÅ™ihlášeno: Ano</translation> </message> <message> <source>Register</source> - <translation type="unfinished"></translation> + <translation>PÅ™ihlásit</translation> </message> <message> <source>Unregister</source> - <translation type="unfinished"></translation> + <translation>Odhlásit</translation> </message> <message> <source>Developer Certificate</source> - <translation type="unfinished"></translation> + <translation>Vývojářský certifikát</translation> </message> <message> <source>Create</source> @@ -58866,31 +60113,31 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Unregister Key</source> - <translation type="unfinished"></translation> + <translation>Odhlásit klÃÄ</translation> </message> <message> <source>Do you really want to unregister your key? This action cannot be undone.</source> - <translation type="unfinished"></translation> + <translation>Opravdu chcete odhlásit svůj klÃÄ? Tento krok nelze vrátit zpÄ›t.</translation> </message> <message> <source>Error storing certificate.</source> - <translation type="unfinished"></translation> + <translation>Chyba pÅ™i ukládánà certifikátu.</translation> </message> <message> <source>This certificate already exists.</source> - <translation type="unfinished"></translation> + <translation>Tento certifikát již existuje.</translation> </message> <message> <source>Delete Certificate</source> - <translation type="unfinished"></translation> + <translation>Smazat certifikát</translation> </message> <message> <source>Are you sure you want to delete this certificate?</source> - <translation type="unfinished"></translation> + <translation>Opravdu chcete smazat tento certifikát?</translation> </message> <message> <source>Registered: No</source> - <translation type="unfinished"></translation> + <translation>PÅ™ihlášeno: Ne</translation> </message> </context> <context> @@ -58907,6 +60154,14 @@ nelze najÃt v cestÄ›.</translation> <source>Remove</source> <translation>Odstranit</translation> </message> + <message> + <source>Qt Creator</source> + <translation>Qt Creator</translation> + </message> + <message> + <source>It appears that your BlackBerry environment has already been configured.</source> + <translation>Zdá se, že vaÅ¡e prostÅ™edà pro BlackBerry je již nastaveno.</translation> + </message> <message> <source>Clean BlackBerry 10 Configuration</source> <translation>Smazat nastavenà BlackBerry 10</translation> @@ -58915,36 +60170,32 @@ nelze najÃt v cestÄ›.</translation> <source>Are you sure you want to remove the current BlackBerry configuration?</source> <translation>Opravdu chcete odstranit nynÄ›jšà nastavenà BlackBerry?</translation> </message> + <message> + <source>Get started and configure your environment:</source> + <translation>ZaÄnÄ›te s nastavenÃm svého prostÅ™edÃ:</translation> + </message> + <message> + <source>environment setup wizard</source> + <translation>Průvodce nastavenÃm prostÅ™edÃ</translation> + </message> </context> <context> <name>Qnx::Internal::BlackBerryRegisterKeyDialog</name> - <message> - <source>Create Key</source> - <translation type="unfinished"></translation> - </message> <message> <source><html><head/><body><p><span style=" font-weight:600;">Obtaining keys</span></p><p>You will need to order a pair of CSJ files from BlackBerry, by <a href="https://www.blackberry.com/SignedKeys/codesigning.html"><span style=" text-decoration: underline; color:#004f69;">visiting this page.</span></a></p></body></html></source> - <translation type="unfinished"></translation> + <translation><html><head/><body><p><span style=" font-weight:600;">Obdržet klÃÄe</span></p><p>MusÃte objednat dva soubory CSJ u BlackBerry, což udÄ›láte na této <a href="https://www.blackberry.com/SignedKeys/codesigning.html"><span style=" text-decoration: underline; color:#004f69;">stránce</span></a>.</p></body></html></translation> </message> <message> <source>PBDT CSJ file:</source> - <translation type="unfinished"></translation> + <translation>Soubor PBDT CSJ:</translation> </message> <message> <source>RDK CSJ file:</source> - <translation type="unfinished"></translation> + <translation>Soubor RDK CSJ:</translation> </message> <message> <source>CSJ PIN:</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>CSK PIN:</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Confirm CSK PIN:</source> - <translation type="unfinished"></translation> + <translation>PIN CSJ:</translation> </message> <message> <source>Keystore password:</source> @@ -58952,11 +60203,11 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Confirm password:</source> - <translation type="unfinished"></translation> + <translation>Potvrdit heslo:</translation> </message> <message> <source>Generate developer certificate automatically</source> - <translation type="unfinished"></translation> + <translation>VytvoÅ™it vývojářský certifikát automaticky</translation> </message> <message> <source>Show</source> @@ -58964,19 +60215,19 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>This is the PIN you entered when you requested the CSJ files.</source> - <translation type="unfinished"></translation> + <translation>Toto je PIN, který jste zadal pÅ™i žádosti o soubor CSJ.</translation> </message> <message> <source>Status</source> <translation>Stav</translation> </message> <message> - <source>CSK PINs do not match.</source> - <translation type="unfinished"></translation> + <source>CSK passwords do not match.</source> + <translation>Hesla CSK se neshodujÃ.</translation> </message> <message> <source>Keystore password does not match.</source> - <translation type="unfinished"></translation> + <translation>Hesla pro úložiÅ¡tÄ› klÃÄe se neshodujÃ.</translation> </message> <message> <source>Error</source> @@ -58984,7 +60235,7 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Error creating developer certificate.</source> - <translation type="unfinished"></translation> + <translation>Chyba pÅ™i vytvářenà vývojářského certifikátu.</translation> </message> <message> <source>Browse CSJ File</source> @@ -58994,6 +60245,18 @@ nelze najÃt v cestÄ›.</translation> <source>CSJ files (*.csj)</source> <translation>Soubory CSJ (*.csj)</translation> </message> + <message> + <source>Register Key</source> + <translation>PÅ™ihlásit klÃÄ</translation> + </message> + <message> + <source>CSK password:</source> + <translation>Heslo CSK:</translation> + </message> + <message> + <source>Confirm CSK password:</source> + <translation>Potvrdit heslo CSK:</translation> + </message> </context> <context> <name>VcsBase::SubmitEditorWidget</name> @@ -59066,18 +60329,18 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Expected expression statement after colon.</source> - <translation type="unfinished"></translation> + <translation>Po dvojteÄce oÄekáván výraz.</translation> </message> <message> <source>Expected expression statement to be a literal.</source> - <translation type="unfinished"></translation> + <translation>OÄekáván výraz tvoÅ™ený pÃsmeny (literal).</translation> </message> </context> <context> <name>QmlJS::SimpleReader</name> <message> <source>Property is defined twice.</source> - <translation type="unfinished"></translation> + <translation>Vlastnost je stanovena dvakrát.</translation> </message> </context> <context> @@ -59340,23 +60603,23 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Imperative code is not supported in the Qt Quick Designer.</source> - <translation type="unfinished"></translation> + <translation>Imperativnà kód nenà Qt Quick Designerem podporován.</translation> </message> <message> <source>This type is not supported in the Qt Quick Designer.</source> - <translation type="unfinished"></translation> + <translation>Tento typ nenà Qt Quick Designerem podporován.</translation> </message> <message> <source>Reference to parent item cannot be resolved correctly by the Qt Quick Designer.</source> - <translation type="unfinished"></translation> + <translation>Odkaz na rodiÄovskou položku nemůže být Qt Quick Designerem správnÄ› vyÅ™eÅ¡en.</translation> </message> <message> <source>This visual property binding cannot be evaluated in the local context and might not show up in Qt Quick Designer as expected.</source> - <translation type="unfinished"></translation> + <translation>Tuto viditelnou vazbu vlastnosti (Property) nelze v mÃstnà souvislosti zpracovat, a z toho důvodu nebude v Qt Quick Designeru zÅ™ejmÄ› zobrazena, jak je oÄekáváno. angezeigt.</translation> </message> <message> <source>Qt Quick Designer only supports states in the root item.</source> - <translation type="unfinished"></translation> + <translation>Qt Quick Designer podporuje jen stavy v koÅ™enové položce.</translation> </message> </context> <context> @@ -59446,13 +60709,6 @@ nelze najÃt v cestÄ›.</translation> <translation>Qt Creator nemá žádné sady vhodné pro CMake. Nastavte, prosÃm, sadu.</translation> </message> </context> -<context> - <name>TextEditor::QuickFixFactory</name> - <message> - <source>Create Getter and Setter Member Functions</source> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>CppTools::Internal::BuiltinIndexingSupport</name> <message> @@ -59464,14 +60720,14 @@ nelze najÃt v cestÄ›.</translation> <name>CPlusplus::CheckSymbols</name> <message> <source>Only virtual methods can be marked 'override'</source> - <translation type="unfinished"></translation> + <translation>Jen virtuálnà metody lze oznaÄit jako 'override'</translation> </message> </context> <context> <name>CPlusPlus::CheckSymbols</name> <message> <source>Only virtual methods can be marked 'final'</source> - <translation type="unfinished"></translation> + <translation>Jen virtuálnà metody lze oznaÄit jako 'final'</translation> </message> <message> <source>Expected a namespace-name</source> @@ -59479,25 +60735,25 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Too many arguments</source> - <translation type="unfinished"></translation> + <translation>PÅ™ÃliÅ¡ mnoho argumentů</translation> </message> </context> <context> <name>CplusPlus::CheckSymbols</name> <message> <source>Too few arguments</source> - <translation type="unfinished"></translation> + <translation>PÅ™ÃliÅ¡ málo argumentů</translation> </message> </context> <context> <name>Debugger::Internal::CdbPathDialog</name> <message> <source>CDB Symbol Paths</source> - <translation>Cesty k symbolům CDB</translation> + <translation type="obsolete">Cesty k symbolům CDB</translation> </message> <message> <source>CDB Source Paths</source> - <translation>Cesty ke zdroji CDB</translation> + <translation type="obsolete">Cesty ke zdroji CDB</translation> </message> </context> <context> @@ -59532,7 +60788,15 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Close temporary buffers on debugger exit</source> - <translation>PÅ™i ukonÄenà ladÄ›nà zavÅ™Ãt editory</translation> + <translation type="obsolete">PÅ™i ukonÄenà ladÄ›nà zavÅ™Ãt editory</translation> + </message> + <message> + <source>Close temporary views on debugger exit</source> + <translation>PÅ™i ukonÄenà ladÄ›nà zavÅ™Ãt doÄasné pohledy</translation> + </message> + <message> + <source>Stopping and stepping in the debugger will automatically open source or disassembler views associated with the current location. Select this option to automatically close them when the debugger exits.</source> + <translation>Zastavenà nebo spuÅ¡tÄ›nà jednotlivých kroků v ladiÄi automaticky otevÅ™e pohledy se zdrojovým textem nebo disassembler dotyÄného mÃsta. Toto nastavenà zapnÄ›te, pro jejich automatické zavÅ™enà pÅ™i ukonÄenà ladiÄe.</translation> </message> <message> <source>Switch to previous mode on debugger exit</source> @@ -59552,11 +60816,11 @@ nelze najÃt v cestÄ›.</translation> </message> <message> <source>Enable a full file path in breakpoints by default also for GDB.</source> - <translation type="unfinished"></translation> + <translation>Povolit úplnou souborovou cestu k bodu pÅ™eruÅ¡enà ve výchozÃm nastavenà i pro GDB.</translation> </message> <message> <source>Set breakpoints using a full absolute path</source> - <translation type="unfinished"></translation> + <translation>Nastavit úplnou absolutnà cestu pro body pÅ™eruÅ¡enà jako výchozÃ</translation> </message> <message> <source>Register Qt Creator for debugging crashed applications.</source> @@ -59566,6 +60830,14 @@ nelze najÃt v cestÄ›.</translation> <source>Use Qt Creator for post-mortem debugging</source> <translation>PoužÃt Qt Creator pro ladÄ›nà - následný rozbor</translation> </message> + <message> + <source>Warn when debugging "Release" builds</source> + <translation>Varovat pÅ™i ladÄ›nà sestavenÃ, která pÅ™edstavujà vydánà (Release)</translation> + </message> + <message> + <source>Show a warning when starting the debugger on a binary with insufficient debug information.</source> + <translation>Ukázat varovánà pÅ™i spuÅ¡tÄ›nà ladÄ›nà pro spustitelný soubor s nedostateÄnými ladicÃmi informacemi.</translation> + </message> <message> <source>Maximum stack depth:</source> <translation>NejvÄ›tšà hloubka zásobnÃku:</translation> @@ -59583,15 +60855,15 @@ nelze najÃt v cestÄ›.</translation> <name>ImageViewer</name> <message> <source>Color at %1,%2: red: %3 green: %4 blue: %5 alpha: %6</source> - <translation type="unfinished"></translation> + <translation>Barva pÅ™i %1,%2: Äervená: %3 zelená: %4 modrá: %5 alfa: %6</translation> </message> <message> <source>Size: %1x%2, %3 byte, format: %4, depth: %5</source> - <translation type="unfinished"></translation> + <translation>Velikost: %1x%2, %3 bytů, Formát: %4, Hloubka: %5</translation> </message> <message> <source><Click to display color></source> - <translation type="unfinished"></translation> + <translation><KlepnÄ›te pro zobrazenà barvy></translation> </message> <message> <source>Copy Image</source> @@ -59613,11 +60885,7 @@ nelze najÃt v cestÄ›.</translation> <name>DiffEditor::Internal::DiffEditorEditable</name> <message> <source>Ignore Whitespaces</source> - <translation>NevÅ¡Ãmat si prázdných mÃst</translation> - </message> - <message> - <source>Context Lines:</source> - <translation type="unfinished"></translation> + <translation type="obsolete">NevÅ¡Ãmat si prázdných mÃst</translation> </message> </context> <context> @@ -59642,6 +60910,10 @@ nelze najÃt v cestÄ›.</translation> </context> <context> <name>DiffEditor::DiffViewEditorWidget</name> + <message> + <source>No difference</source> + <translation>Žádný rozdÃl</translation> + </message> <message numerus="yes"> <source>Skipped %n lines...</source> <translation> @@ -59650,6 +60922,10 @@ nelze najÃt v cestÄ›.</translation> <numerusform>PÅ™eskoÄeno %n řádků...</numerusform> </translation> </message> + <message> + <source>[%1] %2</source> + <translation>[%1] %2</translation> + </message> </context> <context> <name>Git::Internal::MergeTool</name> @@ -59737,11 +61013,11 @@ Vzdálený: %4</translation> </message> <message> <source>No changes found. </source> - <translation>Beze zmÄ›n.</translation> + <translation type="obsolete">Beze zmÄ›n.</translation> </message> <message> <source>Skip</source> - <translation>PÅ™eskoÄit</translation> + <translation type="obsolete">PÅ™eskoÄit</translation> </message> <message> <source>Merge tool process finished successully.</source> @@ -59749,37 +61025,37 @@ Vzdálený: %4</translation> </message> <message> <source>Continue Rebase</source> - <translation>PokraÄovat v pÅ™eskládánÃ</translation> + <translation type="obsolete">PokraÄovat v pÅ™eskládánÃ</translation> </message> <message> <source>Continue rebase?</source> - <translation>PokraÄovat v pÅ™eskládánÃ?</translation> + <translation type="obsolete">PokraÄovat v pÅ™eskládánÃ?</translation> </message> <message> <source>Continue</source> - <translation>PokraÄovat</translation> + <translation type="obsolete">PokraÄovat</translation> </message> <message> <source>Continue Revert</source> - <translation>PokraÄovat ve vracenà zmÄ›n</translation> + <translation type="obsolete">PokraÄovat ve vracenà zmÄ›n</translation> </message> <message> <source>You need to commit changes to finish revert. Commit now?</source> - <translation>Pro dokonÄenà vrácenà zmÄ›n je nutno provést zápis. Chcete nynà zapsat?</translation> + <translation type="obsolete">Pro dokonÄenà vrácenà zmÄ›n je nutno provést zápis. Chcete nynà zapsat?</translation> </message> <message> <source>Commit</source> - <translation>Zapsat (commit)</translation> + <translation type="obsolete">Zapsat (commit)</translation> </message> <message> <source>Continue Cherry-Picking</source> - <translation>PokraÄovat ve výbÄ›rovém sluÄovánÃ</translation> + <translation type="obsolete">PokraÄovat ve výbÄ›rovém sluÄovánÃ</translation> </message> <message> <source>You need to commit changes to finish cherry-picking. Commit now?</source> - <translation>Pro dokonÄenà výbÄ›rového sluÄovánà je nutno provést zápis. Chcete nynà zapsat?</translation> + <translation type="obsolete">Pro dokonÄenà výbÄ›rového sluÄovánà je nutno provést zápis. Chcete nynà zapsat?</translation> </message> <message> <source>Merge tool process terminated with exit code %1</source> @@ -59812,19 +61088,19 @@ Commit now?</source> <name>ProjectExplorer::Internal::CustomToolChainConfigWidget</name> <message> <source>Each line defines a macro. Format is MACRO[=VALUE]</source> - <translation type="unfinished"></translation> + <translation>každý řádek definuje makro. Formát je MAKRO[=HODNOTA]</translation> </message> <message> <source>Each line adds a global header lookup path.</source> - <translation type="unfinished"></translation> + <translation>každý řádek pÅ™idá globálnà vyhledávacà cestu k záhlavà (Header).</translation> </message> <message> <source>Comma-separated list of flags that turn on C++11 support.</source> - <translation type="unfinished"></translation> + <translation>Čárkou oddÄ›lený seznam pÅ™Ãznaků, které zapÃnajà podporu pro C++.</translation> </message> <message> <source>Comma-separated list of mkspecs.</source> - <translation type="unfinished"></translation> + <translation>Čárkou oddÄ›lený seznam mkspecs.</translation> </message> <message> <source>&Compiler path:</source> @@ -59832,7 +61108,7 @@ Commit now?</source> </message> <message> <source>&Make path:</source> - <translation type="unfinished"></translation> + <translation>Cesta k &Make:</translation> </message> <message> <source>&ABI:</source> @@ -59840,19 +61116,19 @@ Commit now?</source> </message> <message> <source>&Predefined macros:</source> - <translation type="unfinished"></translation> + <translation>&PÅ™ednastavená makra:</translation> </message> <message> <source>&Header paths:</source> - <translation type="unfinished"></translation> + <translation>Cesty k hlaviÄkám (&Header):</translation> </message> <message> <source>C++11 &flags:</source> - <translation type="unfinished"></translation> + <translation>PÅ™Ã&znaky C++:</translation> </message> <message> <source>&Qt mkspecs:</source> - <translation type="unfinished"></translation> + <translation>&Qt-mkspecs:</translation> </message> </context> <context> @@ -59921,6 +61197,10 @@ Commit now?</source> <name>QbsProjectManager::Internal::QbsBuildStep</name> <message> <source>Qbs build</source> + <translation type="obsolete">Sestavenà Qbs</translation> + </message> + <message> + <source>Qbs Build</source> <translation>Sestavenà Qbs</translation> </message> </context> @@ -59928,13 +61208,21 @@ Commit now?</source> <name>QbsProjectManager::Internal::QbsBuildStepFactory</name> <message> <source>Qbs</source> - <translation>Qbs</translation> + <translation type="obsolete">Qbs</translation> + </message> + <message> + <source>Qbs Build</source> + <translation>Sestavenà Qbs</translation> </message> </context> <context> <name>QbsProjectManager::Internal::QbsCleanStep</name> <message> <source>Qbs clean</source> + <translation type="obsolete">ProÄiÅ¡tÄ›nà Qbs</translation> + </message> + <message> + <source>Qbs Clean</source> <translation>ProÄiÅ¡tÄ›nà Qbs</translation> </message> </context> @@ -59942,7 +61230,11 @@ Commit now?</source> <name>QbsProjectManager::Internal::QbsCleanStepFactory</name> <message> <source>Qbs</source> - <translation>Qbs</translation> + <translation type="obsolete">Qbs</translation> + </message> + <message> + <source>Qbs Clean</source> + <translation>ProÄiÅ¡tÄ›nà Qbs</translation> </message> </context> <context> @@ -59962,6 +61254,30 @@ Commit now?</source> <source>Build</source> <translation>SestavenÃ</translation> </message> + <message> + <source>Build File</source> + <translation>Sestavit soubor</translation> + </message> + <message> + <source>Build File "%1"</source> + <translation>Sestavit soubor "%1"</translation> + </message> + <message> + <source>Ctrl+Alt+B</source> + <translation>Ctrl+Alt+B</translation> + </message> + <message> + <source>Build Product</source> + <translation>Sestavit produkt</translation> + </message> + <message> + <source>Build Product "%1"</source> + <translation>Sestavit produkt "%1"</translation> + </message> + <message> + <source>Ctrl+Alt+Shift+B</source> + <translation>Ctrl+Alt+Shift+B</translation> + </message> </context> <context> <name>QmlDesignerContextMenu</name> @@ -60165,7 +61481,7 @@ Commit now?</source> </message> <message> <source>This .qml file contains features which are not supported by Qt Quick Designer</source> - <translation>Tento soubor .qml obsahuje funkce nepodporované Qt Quick Designer</translation> + <translation>Tento soubor .qml obsahuje funkce nepodporované Qt Quick Designerem</translation> </message> </context> <context> @@ -60378,22 +61694,18 @@ Commit now?</source> </message> <message> <source>Assets</source> - <translation type="unfinished"></translation> + <translation>Výhody</translation> </message> <message> <source>XML Source</source> <translation>Zdroj XML</translation> </message> - <message> - <source>Bar Descriptor</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>Qnx::Internal::BarDescriptorEditorFactory</name> <message> <source>Bar descriptor editor</source> - <translation type="unfinished"></translation> + <translation>Editor popisu pro Bar</translation> </message> </context> <context> @@ -60402,13 +61714,117 @@ Commit now?</source> <source>Permission</source> <translation>OprávnÄ›nÃ</translation> </message> + <message> + <source>BlackBerry Messenger</source> + <translation>Posel BlackBerry</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to connect to the BBM Social Platform to access BBM contact lists and user profiles, invite BBM contacts to download your app, initiate BBM chats and share content from within your app, or stream data between apps in real time.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu spojenà s BBM Social Platform kvůli pÅ™Ãstupu ke kontaktnÃm seznamům BBM a k uživatelským profilům, pozvánà kontaktů BBM ke staženà vaÅ¡eho programu, spuÅ¡tÄ›nà chatů BBM a sdÃlenà obsahu z vaÅ¡eho programu, nebo výmÄ›nu dat mezi aplikacemi ve skuteÄném Äase.</p></body></html></translation> + </message> + <message> + <source>Calendar</source> + <translation>Kalendář</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access the calendar on the device. This access includes viewing, adding, and deleting calendar appointments.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup ke kalendáři na zaÅ™ÃzenÃ. Tento pÅ™Ãstup zahrnuje prohlÞenÃ, pÅ™idávánà nebo mazánà termÃnů.</p></body></html></translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to take pictures, record video, and use the flash.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu fotografovánÃ, nahrávánà videà a použÃvánà blesku.</p></body></html></translation> + </message> + <message> + <source>Contacts</source> + <translation>Kontakty</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access the contacts stored on the device. This access includes viewing, creating, and deleting the contacts.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup ke kontaktům uloženým v zaÅ™ÃzenÃ. Tento pÅ™Ãstup zahrnuje prohlÞenÃ, pÅ™idávánà nebo mazánà kontaktů.</p></body></html></translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access device identifiers such as serial number and PIN.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k identifikátorům zaÅ™ÃzenÃ, jako jsou sériové ÄÃslo a PIN.</p></body></html></translation> + </message> + <message> + <source>Email and PIN Messages</source> + <translation>E-mail a zprávy PIN</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access the email and PIN messages stored on the device. This access includes viewing, creating, sending, and deleting the messages.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k e-mailům a ke zprávám PIN uloženým v zaÅ™ÃzenÃ. Tento pÅ™Ãstup zahrnuje prohlÞenÃ, pÅ™idávánà nebo mazánà zpráv.</p></body></html></translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access the current GPS location of the device.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k souÄasnému umÃstÄ›nà GPS zaÅ™ÃzenÃ.</p></body></html></translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to use Wi-fi, wired, or other connections to a destination that is not local on the user's device.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k Wi-fi, drátové a jiné spojenà s cÃlem, jenž nenà mÃstnÃ.</p></body></html></translation> + </message> + <message> + <source>Location</source> + <translation>UmÃstÄ›nÃ</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access the device's current or saved locations.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k souÄasnému nebo uloženému umÃstÄ›nà GPS zaÅ™ÃzenÃ.</p></body></html></translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to record sound using the microphone.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu nahrávánà zvuku pomocà mikrofonu.</p></body></html></translation> + </message> + <message> + <source>Notebooks</source> + <translation>Notebooky</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access the content stored in the notebooks on the device. This access includes adding and deleting entries and content.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k obsahu uloženému v poznámkovém bloku zaÅ™ÃzenÃ. Tento pÅ™Ãstup zahrnuje pÅ™idávánà a mazánà záznamů a obsahu.</p></body></html></translation> + </message> + <message> + <source><html><head/><body><p>Post a notification to the notifications area of the screen.</p></body></html></source> + <translation><html><head/><body><p>PosÃlánà oznámenà do odpovÃdajÃcà oznamovacà oblasti na obrazovce.</p></body></html></translation> + </message> + <message> + <source>Push</source> + <translation>Odvést (push)</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to use the Push Service with the BlackBerry Internet Service. This access allows the app to receive and request push messages. To use the Push Service with the BlackBerry Internet Service, you must register with BlackBerry. When you register, you receive a confirmation email message that contains information that your application needs to receive and request push messages. For more information about registering, visit https://developer.blackberry.com/services/push/. If you're using the Push Service with the BlackBerry Enterprise Server or the BlackBerry Device Service, you don't need to register with BlackBerry.</p></body></html></source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Run When Backgrounded</source> + <translation>ProvádÄ›t na pozadÃ</translation> + </message> + <message> + <source><html><head/><body><p>Allows background processing. Without this permission, the app is stopped when the user switches focus to another app. Apps that use this permission are rigorously reviewed for acceptance to BlackBerry App World storefront for their use of power.</p></body></html></source> + <translation><html><head/><body><p>Umožnà zpracovánà na pozadÃ. Bez tohoto oprávnÄ›nà je program zastaven, když uživatel zmÄ›nà zaměřenà na jinou aplikaci. Programy, které majà toto oprávnÄ›nÃ, jsou pÅ™ÃsnÄ› hodnoceny BlackBerry App World Storefront ohlednÄ› spotÅ™eby elektrické energie.</p></body></html></translation> + </message> + <message> + <source>Shared Files</source> + <translation>SdÃlené soubory</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access pictures, music, documents, and other files stored on the user's device, at a remote storage provider, on a media card, or in the cloud.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k obrázkům, hudbÄ›, dokumentům a jiným souborům, které jsou uloženy v zaÅ™ÃzenÃ, u vzdáleného poskytovatele ukládacÃho prostoru, na ukládacà kartÄ› nebo v nÄ›Äem, Äemu se Å™Ãká Cloud.</p></body></html></translation> + </message> + <message> + <source>Text Messages</source> + <translation>Textové zprávy</translation> + </message> + <message> + <source><html><head/><body><p>Allows this app to access the text messages stored on the device. The access includes viewing, creating, sending, and deleting text messages.</p></body></html></source> + <translation><html><head/><body><p>Umožnà tomuto programu pÅ™Ãstup k textovým zprávám uloženým v zaÅ™ÃzenÃ. Tento pÅ™Ãstup zahrnuje prohlÞenÃ, vytvářenÃ, posÃlánà nebo mazánà textových zpráv.</p></body></html></translation> + </message> <message> <source>Files</source> - <translation>Soubory</translation> + <translation type="obsolete">Soubory</translation> </message> <message> <source>Read and write files that are shared between all applications run by the current user.</source> - <translation>ÄŒÃst a zapisovat soubory sdÃlené mezi vÅ¡emi programy spouÅ¡tÄ›nými nynÄ›jÅ¡Ãm uživatelem.</translation> + <translation type="obsolete">ÄŒÃst a zapisovat soubory sdÃlené mezi vÅ¡emi programy spouÅ¡tÄ›nými nynÄ›jÅ¡Ãm uživatelem.</translation> </message> <message> <source>Microphone</source> @@ -60416,7 +61832,7 @@ Commit now?</source> </message> <message> <source>Access the audio stream from the microphone.</source> - <translation>PÅ™istupovat ke zvukovéhmu proudu z mikrofonu.</translation> + <translation type="obsolete">PÅ™istupovat ke zvukovéhmu proudu z mikrofonu.</translation> </message> <message> <source>GPS Location</source> @@ -60424,7 +61840,7 @@ Commit now?</source> </message> <message> <source>Read the current location of the device.</source> - <translation>ÄŒÃst souÄasné umÃstÄ›nà zaÅ™ÃzenÃ.</translation> + <translation type="obsolete">ÄŒÃst souÄasné umÃstÄ›nà zaÅ™ÃzenÃ.</translation> </message> <message> <source>Camera</source> @@ -60432,23 +61848,19 @@ Commit now?</source> </message> <message> <source>Capture images and video using the cameras.</source> - <translation>Zachytávejte obrázky a videa pomocà kamer.</translation> + <translation type="obsolete">Zachytávejte obrázky a videa pomocà kamer.</translation> </message> <message> <source>Internet</source> <translation>Internet</translation> </message> - <message> - <source>Use a Wi-Fi, wired, or other connection to a destination that is not local.</source> - <translation type="unfinished"></translation> - </message> <message> <source>Play Sounds</source> - <translation>PÅ™ehrávat zvuky</translation> + <translation type="obsolete">PÅ™ehrávat zvuky</translation> </message> <message> <source>Play an audio stream.</source> - <translation>PÅ™ehrávat zvukový proud.</translation> + <translation type="obsolete">PÅ™ehrávat zvukový proud.</translation> </message> <message> <source>Post Notifications</source> @@ -60456,23 +61868,11 @@ Commit now?</source> </message> <message> <source>Post a notification to the notifications area of the screen.</source> - <translation>Dát na obrazovce oznámenà do oblasti s oznámenÃmi.</translation> - </message> - <message> - <source>Set Audio Volume</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Change the volume of an audio stream being played.</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Dát na obrazovce oznámenà do oblasti s oznámenÃmi.</translation> </message> <message> <source>Device Identifying Information</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Access unique device identifying information (e.g. PIN).</source> - <translation type="unfinished"></translation> + <translation>Informace k rozpoznánà zaÅ™ÃzenÃ</translation> </message> </context> <context> @@ -60494,90 +61894,98 @@ Commit now?</source> <name>Qnx::Internal::BlackBerryConfiguration</name> <message> <source>The following errors occurred while setting up BB10 Configuration:</source> - <translation type="unfinished"></translation> + <translation>PÅ™i nastavovánà nastavenà BB10 se vyskytly následujÃcà chyby:</translation> </message> <message> <source>- No Qt version found.</source> - <translation type="unfinished"></translation> + <translation>- Nenalezena žádná verze Qt.</translation> </message> <message> <source>- No GCC compiler found.</source> - <translation type="unfinished"></translation> + <translation>- Nenalezen žádný pÅ™ekladaÄ GCC.</translation> </message> <message> <source>- No GDB debugger found for BB10 Device.</source> - <translation type="unfinished"></translation> + <translation>- Nenalezen žádný pÅ™ekladaÄ GDB pro zaÅ™Ãzenà BB10.</translation> </message> <message> <source>- No GDB debugger found for BB10 Simulator.</source> - <translation type="unfinished"></translation> + <translation>- Nenalezen žádný pÅ™ekladaÄ GDB pro simulátor BB10.</translation> </message> <message> - <source>Cannot Setup BB10 Configuration</source> - <translation type="unfinished"></translation> + <source>Cannot Set up BB10 Configuration</source> + <translation>Nelze nastavit nastavenà BB10</translation> </message> <message> - <source>Qt Version Already Known</source> - <translation type="unfinished"></translation> + <source>This Qt version was already registered.</source> + <translation>Tato verze Qt již byla pÅ™ihlášena.</translation> </message> <message> - <source>This Qt version was already registered</source> - <translation>Tato verze Qt již byla pÅ™ihlášena</translation> + <source>Invalid Qt Version</source> + <translation>Neplatná verze Qt</translation> </message> <message> - <source>Invalid Qt version</source> - <translation>Neplatná verze Qt</translation> + <source>Unable to add BlackBerry Qt version.</source> + <translation>NepodaÅ™ilo se pÅ™idat žádnou verzi Qt pro BlackBerry.</translation> </message> <message> - <source>Unable to add BlackBerry Qt version</source> - <translation type="unfinished"></translation> + <source>This compiler was already registered.</source> + <translation>Tento pÅ™ekladaÄ již byl pÅ™ihlášen.</translation> </message> <message> - <source>Compiler Already Known</source> - <translation type="unfinished"></translation> + <source>This kit was already registered.</source> + <translation>Tato sada již byla pÅ™ihlášena.</translation> </message> <message> - <source>This Compiler was already registered</source> - <translation type="unfinished"></translation> + <source>Qt Version Already Known</source> + <translation>Verze Qt již známa</translation> </message> <message> - <source>Kit Already Known</source> - <translation type="unfinished"></translation> + <source>This Qt version was already registered</source> + <translation type="obsolete">Tato verze Qt již byla pÅ™ihlášena</translation> </message> <message> - <source>This Kit was already registered</source> - <translation type="unfinished"></translation> + <source>Invalid Qt version</source> + <translation type="obsolete">Neplatná verze Qt</translation> + </message> + <message> + <source>Compiler Already Known</source> + <translation>PÅ™ekladaÄ již znám</translation> + </message> + <message> + <source>Kit Already Known</source> + <translation>Sada již známa</translation> </message> <message> <source>BlackBerry 10 (%1) - Simulator</source> - <translation type="unfinished"></translation> + <translation>BlackBerry 10 (%1) - Simulátor</translation> </message> <message> <source>BlackBerry 10 (%1)</source> - <translation type="unfinished"></translation> + <translation>BlackBerry 10 (%1)</translation> </message> </context> <context> <name>Qnx::Internal::BlackBerryCsjRegistrar</name> <message> <source>Failed to start blackberry-signer process.</source> - <translation type="unfinished"></translation> + <translation>NepodaÅ™ilo se spustit podpisový proces pro BlackBerry.</translation> </message> <message> <source>Process timed out.</source> - <translation type="unfinished"></translation> + <translation>PÅ™ekroÄenà Äasového omezenà u procesu.</translation> </message> <message> <source>Child process has crashed.</source> - <translation type="unfinished"></translation> + <translation>PodÅ™Ãzený proces spadl.</translation> </message> <message> <source>Process I/O error.</source> - <translation type="unfinished"></translation> + <translation>VstupnÃ/Výstupnà chyba procesu.</translation> </message> <message> <source>Unknown process error.</source> - <translation type="unfinished"></translation> + <translation>Neznámá chyba procesu.</translation> </message> </context> <context> @@ -60605,11 +62013,15 @@ Commit now?</source> <name>Qnx::Internal::QNXPlugin</name> <message> <source>Bar descriptor file (BlackBerry)</source> - <translation type="unfinished"></translation> + <translation>Soubor s popisem Bar (BlackBerry)</translation> </message> <message> - <source>Could not add mime-type for bar-descriptor.xml editor</source> - <translation type="unfinished"></translation> + <source>Could not add mime-type for bar-descriptor.xml editor.</source> + <translation>NepodaÅ™ilo se pÅ™idat MIME-Typ pro editor Bar-Descriptor.xml.</translation> + </message> + <message> + <source>Bar Descriptor</source> + <translation>Bar-Deskriptor</translation> </message> </context> <context> @@ -60652,11 +62064,1942 @@ Commit now?</source> <name>TextEditor::BehaviorSettingsWidget</name> <message> <source>Display context-sensitive help or type information on mouseover.</source> - <translation type="unfinished"></translation> + <translation>Zobrazit kontextovÄ› citlivou nápovÄ›du nebo informace o typu, když se ukazovátko myÅ¡i nacházà nad prvkem.</translation> </message> <message> <source>Display context-sensitive help or type information on Shift+Mouseover.</source> + <translation>Zobrazit kontextovÄ› citlivou nápovÄ›du nebo informace o typu, když se ukazovátko myÅ¡i nacházà nad prvkem s je stisknuta pÅ™epÃnacà klávesa Shift.</translation> + </message> +</context> +<context> + <name>Core::Internal::ReadOnlyFilesDialog</name> + <message> + <source>Files Without Write Permissions</source> + <translation>Soubory bez oprávnÄ›nà pro zápis</translation> + </message> + <message> + <source>The following files have no write permissions. Do you want to change the permissions?</source> + <translation>NásledujÃcà soubory jsou chránÄ›ny proti zápisu. Chcete oprávnÄ›nà zmÄ›nit?</translation> + </message> + <message> + <source>Make Writable</source> + <translation>UdÄ›lat zapisovatelným</translation> + </message> + <message> + <source>Open with VCS</source> + <translation>OtevÅ™Ãt s pomocà systému na správu verzà (VCS) (%1)</translation> + </message> + <message> + <source>Save As</source> + <translation>Uložit jako</translation> + </message> + <message> + <source>Path</source> + <translation>Cesta</translation> + </message> + <message> + <source>Select all, if possible: </source> + <translation>Vybrat vÅ¡e, je-li to možné: </translation> + </message> + <message> + <source>Mixed</source> + <translation>SmÃÅ¡ený</translation> + </message> + <message> + <source>Failed to %1 File</source> + <translation>NepodaÅ™ilo se: %1 Soubor</translation> + </message> + <message> + <source>%1 file %2 from version control system %3 failed. +</source> + <translation>NeúspÄ›ch pÅ™i %1 souboru %2 systému na správu verzà %3. +</translation> + </message> + <message> + <source>No Version Control System Found</source> + <translation>NepodaÅ™ilo se najÃt žádný systém na správu verzÃ</translation> + </message> + <message> + <source>Cannot open file %1 from version control system. +No version control system found. +</source> + <translation>Soubor %1 ze systému na správu verzà se nepodaÅ™ilo otevÅ™Ãt. +NepodaÅ™ilo se najÃt žádný systém na správu verzÃ.</translation> + </message> + <message> + <source>Cannot Set Permissions</source> + <translation>Chyba pÅ™i nastavenà oprávnÄ›nà pro pÅ™Ãstup k souboru</translation> + </message> + <message> + <source>Cannot set permissions for %1 to writable. +</source> + <translation>Soubor %1 se nepodaÅ™ilo udÄ›lat zapisovatelný.</translation> + </message> + <message> + <source>Cannot Save File</source> + <translation>Soubor nelze uložit</translation> + </message> + <message> + <source>Cannot save file %1 +</source> + <translation>Soubor %1 nelze uložit +</translation> + </message> + <message> + <source>Canceled Changing Permissions</source> + <translation>ZmÄ›na oprávnÄ›nà zruÅ¡ena</translation> + </message> + <message> + <source>Could Not Change Permissions on Some Files</source> + <translation>NepodaÅ™ilo se zmÄ›niit oprávnÄ›nà k nÄ›kterým souborům</translation> + </message> + <message> + <source> +See details for a complete list of files.</source> + <translation> +Úplný seznam souborů naleznete v podrobnostech.</translation> + </message> + <message> + <source>&Change Permission</source> + <translation>&ZmÄ›nit oprávnÄ›nÃ</translation> + </message> + <message> + <source>The following files are not checked out yet. +Do you want to check them out now?</source> + <translation>NásledujÃcà soubory jeÅ¡tÄ› nejsou naÄteny. +Chcete je nynà naÄÃst?</translation> + </message> +</context> +<context> + <name>Debugger::Internal::SymbolPathsDialog</name> + <message> + <source>Dialog</source> + <translation>Dialog</translation> + </message> + <message> + <source><html><head/><body><p>The debugger is not configured to use the public Microsoft Symbol Server.<br/>This is recommended for retrieval of the symbols of the operating system libraries.</p><p><span style=" font-style:italic;">Note:</span> It is recommended, that if you use the Microsoft Symbol Server, to also use a local symbol cache.<br/>A fast internet connection is required for this to work smoothly,<br/>and a delay might occur when connecting for the first time and caching the symbols.</p><p>What would you like to set up?</p></body></html></source> <translation type="unfinished"></translation> </message> + <message> + <source>Use Local Symbol Cache</source> + <translation>PoužÃt mÃstnà symbolickou vyrovnávacà paměť</translation> + </message> + <message> + <source>Use Microsoft Symbol Server</source> + <translation>PoužÃt Microsoft Symbol Server</translation> + </message> + <message> + <source>Do not ask again</source> + <translation>Neptat se znovu</translation> + </message> +</context> +<context> + <name>Gerrit::Internal::GerritPushDialog</name> + <message> + <source>Push to Gerrit</source> + <translation>Odvést do Gerritu...</translation> + </message> + <message> + <source><b>Local repository:</b></source> + <translation><b>MÃstnà skladiÅ¡tÄ›</b></translation> + </message> + <message> + <source>Destination:</source> + <translation>CÃl:</translation> + </message> + <message> + <source>R&emote:</source> + <translation>Vz&dálený:</translation> + </message> + <message> + <source>&Branch:</source> + <translation>&VÄ›tev</translation> + </message> + <message> + <source>&Topic:</source> + <translation>&Téma:</translation> + </message> + <message> + <source>&Draft</source> + <translation>&Návrh</translation> + </message> + <message> + <source>Number of commits</source> + <translation>PoÄet zápisů</translation> + </message> + <message> + <source>&Push up to commit:</source> + <translation>&Odvést do zápisu (commit):</translation> + </message> + <message> + <source>Pushes the selected commit and all dependent commits.</source> + <translation>Odvede vybraný zápis (commit) a vÅ¡echny závislé zápisy.</translation> + </message> + <message> + <source>&Reviewers:</source> + <translation>&Posuzovatel:</translation> + </message> + <message> + <source>Comma-separated list of reviewers. + +Partial names can be used if they are unambiguous.</source> + <translation>Čárkou oddÄ›lený seznam posuzovatelů. + +Lze použÃvat Äásti jmen, pokud jsou jednoznaÄné.</translation> + </message> + <message> + <source><b>Local repository:</b> %1</source> + <translation><b>MÃstnà skladiÅ¡tÄ›:</b> %1</translation> + </message> + <message> + <source>Number of commits between HEAD and %1: %2</source> + <translation>PoÄet zápisů (commit) mezi HEAD a %1: %2</translation> + </message> +</context> +<context> + <name>Mercurial::Internal::AuthenticationDialog</name> + <message> + <source>Dialog</source> + <translation>Dialog</translation> + </message> + <message> + <source>User name:</source> + <translation>Uživatelské jméno:</translation> + </message> + <message> + <source>Password:</source> + <translation>Heslo:</translation> + </message> +</context> +<context> + <name>ProjectExplorer::DesktopDeviceConfigurationWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Machine type:</source> + <translation>Typ stroje:</translation> + </message> + <message> + <source>TextLabel</source> + <translation>Textový Å¡tÃtek</translation> + </message> + <message> + <source>Free ports:</source> + <translation>Volné porty:</translation> + </message> + <message> + <source>Physical Device</source> + <translation>Fyzické zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>You will need at least one port for QML debugging.</source> + <translation>Pro ladÄ›nà QML potÅ™ebujete alespoň jeden port.</translation> + </message> +</context> +<context> + <name>QbsProjectManager::Internal::QbsInstallStepConfigWidget</name> + <message> + <source>Install root:</source> + <translation>Install root:</translation> + </message> + <message> + <source>Remove first</source> + <translation>Odstranit jako prvnÃ</translation> + </message> + <message> + <source>Dry run</source> + <translation>Spustit na zkouÅ¡ku</translation> + </message> + <message> + <source>Keep going</source> + <translation>PokraÄovat</translation> + </message> + <message> + <source>Qbs Install Prefix</source> + <translation>PÅ™edpona instalace Qbs</translation> + </message> + <message> + <source><b>Qbs:</b> %1</source> + <translation><b>Qbs:</b> %1</translation> + </message> +</context> +<context> + <name>DebugViewWidget</name> + <message> + <source>Debug</source> + <translation>LadÄ›nÃ</translation> + </message> + <message> + <source>Model Log</source> + <translation>Záznam modelu</translation> + </message> + <message> + <source>Clear</source> + <translation>Smazat</translation> + </message> + <message> + <source>Instance Notifications</source> + <translation>Oznámenà instance</translation> + </message> + <message> + <source>Instance Errors</source> + <translation>Chyby instance</translation> + </message> + <message> + <source>Enabled</source> + <translation>Povoleno</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BarDescriptorEditorAssetsWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Add...</source> + <translation>PÅ™idat...</translation> + </message> + <message> + <source>Remove</source> + <translation>Odstranit</translation> + </message> + <message> + <source>Path</source> + <translation>Cesta</translation> + </message> + <message> + <source>Destination</source> + <translation>CÃl</translation> + </message> + <message> + <source>Entry-Point</source> + <translation>Vstupnà mÃsto</translation> + </message> + <message> + <source>Select File to Add</source> + <translation>Vybrat soubor k pÅ™idánÃ</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BarDescriptorEditorAuthorInformationWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Author:</source> + <translation>Autor:</translation> + </message> + <message> + <source>Author ID:</source> + <translation>ID autora:</translation> + </message> + <message> + <source>Set from debug token...</source> + <translation>Nastavit ze symbolu pro ladÄ›nÃ...</translation> + </message> + <message> + <source>Select Debug Token</source> + <translation>Vybrat symbol pro ladÄ›nÃ</translation> + </message> + <message> + <source>Debug token:</source> + <translation>Symbol pro ladÄ›nÃ:</translation> + </message> + <message> + <source>Error Reading Debug Token</source> + <translation>Chyba pÅ™i Ätenà symbolu pro ladÄ›nÃ</translation> + </message> + <message> + <source>There was a problem reading debug token.</source> + <translation>PÅ™i Ätenà symbolu pro ladÄ›nà se vyskytla chyba.</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BarDescriptorEditorEntryPointWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Name:</source> + <translation>Název:</translation> + </message> + <message> + <source>Description:</source> + <translation>Popis:</translation> + </message> + <message> + <source>Icon:</source> + <translation>Ikona:</translation> + </message> + <message> + <source>Clear</source> + <translation>Smazat</translation> + </message> + <message> + <source>Splash screens:</source> + <translation>UvÃtacà obrazovky:</translation> + </message> + <message> + <source>Add...</source> + <translation>PÅ™idat...</translation> + </message> + <message> + <source>Remove</source> + <translation>Odstranit</translation> + </message> + <message> + <source>Images (*.jpg *.png)</source> + <translation>Obrázky (*.jpg *.png)</translation> + </message> + <message> + <source>Select Splash Screen</source> + <translation>Vybrat uvÃtacà obrazovku</translation> + </message> + <message> + <source><font color="red">Could not open '%1' for reading.</font></source> + <translation><font color="red">NepodaÅ™ilo se otevÅ™Ãt '%1' pro ÄtenÃ.</font></translation> + </message> + <message> + <source><font color="red">The selected image is too big (%1x%2). The maximum size is %3x%4 pixels.</font></source> + <translation><font color="red">Vybraný obrázek je pÅ™ÃliÅ¡ velký (%1x%2). NejvÄ›tšà možná velikost je %3x%4 pixelů.</font></translation> + </message> +</context> +<context> + <name>Qnx::Internal::BarDescriptorEditorEnvironmentWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Device Environment</source> + <translation>ProstÅ™edà zaÅ™ÃzenÃ</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BarDescriptorEditorGeneralWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Orientation:</source> + <translation>NatoÄenÃ:</translation> + </message> + <message> + <source>Chrome:</source> + <translation>Chrome:</translation> + </message> + <message> + <source>Transparent main window</source> + <translation>Průhledné hlavnà okno</translation> + </message> + <message> + <source>Application Arguments:</source> + <translation>Argumenty pro program:</translation> + </message> + <message> + <source>Default</source> + <translation>VýchozÃ</translation> + </message> + <message> + <source>Auto-orient</source> + <translation>Automatické natoÄenÃ</translation> + </message> + <message> + <source>Landscape</source> + <translation>Na Å¡ÃÅ™ku</translation> + </message> + <message> + <source>Portrait</source> + <translation>Na výšku</translation> + </message> + <message> + <source>Standard</source> + <translation>Obvyklé</translation> + </message> + <message> + <source>None</source> + <translation>Žádný</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BarDescriptorEditorPackageInformationWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Package ID:</source> + <translation>ID balÃÄku:</translation> + </message> + <message> + <source>Package version:</source> + <translation>Verze balÃÄku:</translation> + </message> + <message> + <source>Package build ID:</source> + <translation>ID sestavenà balÃÄku:</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BarDescriptorEditorPermissionsWidget</name> + <message> + <source>Form</source> + <translation>Formulář</translation> + </message> + <message> + <source>Select All</source> + <translation>Vybrat vÅ¡e</translation> + </message> + <message> + <source>Deselect All</source> + <translation>OdznaÄit vÅ¡e</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerrySetupWizardDevicePage</name> + <message> + <source>WizardPage</source> + <translation>Stránka průvodce</translation> + </message> + <message> + <source>Device name:</source> + <translation>Název zaÅ™ÃzenÃ:</translation> + </message> + <message> + <source>IP or host name of the device</source> + <translation>IP nebo název hostitelského poÄÃtaÄe zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Device IP address:</source> + <translation>Adresa IP zaÅ™ÃzenÃ:</translation> + </message> + <message> + <source>Device password:</source> + <translation>Heslo k zaÅ™ÃzenÃ:</translation> + </message> + <message> + <source>The password you use to unlock your device</source> + <translation>Heslo pro odemknutà zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Physical device</source> + <translation>Fyzické zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Simulator</source> + <translation>Simulátor</translation> + </message> + <message> + <source>Configure BlackBerry Device Connection</source> + <translation>Nastavit spojenà se zaÅ™ÃzenÃm BlackBerry</translation> + </message> + <message> + <source>BlackBerry Device</source> + <translation>ZaÅ™Ãzenà BlackBerry</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerrySetupWizardFinishPage</name> + <message> + <source>WizardPage</source> + <translation>Stránka průvodce</translation> + </message> + <message> + <source>Status</source> + <translation>Stav</translation> + </message> + <message> + <source>Your environment is ready to be configured.</source> + <translation>VaÅ¡e prostÅ™edà je pÅ™ipraveno k nastavovánÃ.</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerrySetupWizardKeysPage</name> + <message> + <source>WizardPage</source> + <translation>Stránka průvodce</translation> + </message> + <message> + <source><html><head/><body><p><span style=" font-weight:600;">Obtaining keys</span></p><p>You will need to order a pair of CSJ files from BlackBerry, by <a href="https://www.blackberry.com/SignedKeys/codesigning.html"><span style=" text-decoration: underline; color:#004f69;">visiting this page.</span></a></p></body></html></source> + <translation><html><head/><body><p><span style=" font-weight:600;">Obdržet klÃÄe</span></p><p>MusÃte objednat dva soubory CSJ u BlackBerry, což udÄ›láte na této <a href="https://www.blackberry.com/SignedKeys/codesigning.html"><span style=" text-decoration: underline; color:#004f69;">stránce</span></a>.</p></body></html></translation> + </message> + <message> + <source>PBDT CSJ file:</source> + <translation>Soubor PBDT CSJ:</translation> + </message> + <message> + <source>RDK CSJ file:</source> + <translation>Soubor RDK CSJ:</translation> + </message> + <message> + <source>CSJ PIN:</source> + <translation>PIN CSJ:</translation> + </message> + <message> + <source>The PIN you provided on the key request website</source> + <translation>Vámi na stránce pÅ™i žádosti o klÃÄ zadaný PIN</translation> + </message> + <message> + <source>Password:</source> + <translation>Heslo:</translation> + </message> + <message> + <source>The password that will be used to access your keys and CSK files</source> + <translation>Heslo, které se má použÃt pÅ™i pÅ™Ãstupu k vaÅ¡im klÃÄům a souborům CSK</translation> + </message> + <message> + <source>Confirm password:</source> + <translation>Potvrdit heslo:</translation> + </message> + <message> + <source>Status</source> + <translation>Stav</translation> + </message> + <message> + <source>Register Signing Keys</source> + <translation>PÅ™ihlásit klÃÄ k podpisu</translation> + </message> + <message> + <source>Passwords do not match.</source> + <translation>Hesla se neshodujÃ.</translation> + </message> + <message> + <source>Qt Creator</source> + <translation>Qt Creator</translation> + </message> + <message> + <source>This wizard will be closed and you will be taken to the BlackBerry key request web page. Do you want to continue?</source> + <translation>Průvodce nynà bude zavÅ™en a vy budete zavedeni na stránku BlackBerry, kde se žádá o klÃÄ. Chcete pokraÄovat?</translation> + </message> + <message> + <source>Browse CSJ File</source> + <translation>Procházet soubor CSJ</translation> + </message> + <message> + <source>CSJ files (*.csj)</source> + <translation>Soubory CSJ (*.csj)</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerrySigningPasswordsDialog</name> + <message> + <source>Package signing passwords</source> + <translation>Hesla k podepsánà balÃÄku</translation> + </message> + <message> + <source>CSK password:</source> + <translation>Heslo CSK:</translation> + </message> + <message> + <source>Keystore password:</source> + <translation>Heslo pro úložiÅ¡tÄ› klÃÄe:</translation> + </message> +</context> +<context> + <name>WindowPane</name> + <message> + <source>Window</source> + <translation>Okno</translation> + </message> + <message> + <source>Title</source> + <translation>Název</translation> + </message> +</context> +<context> + <name>CppQmlTypesLoader</name> + <message> + <source>%1 seems not to be encoded in UTF8 or has a BOM.</source> + <translation>%1 nenà kódován v UTF8, nebo nemá BOM.</translation> + </message> +</context> +<context> + <name>QmlJS::QrcParser</name> + <message> + <source>XML error on line %1, col %2: %3</source> + <translation>Chyba v XML na řádku %1, sloupec %2: %3</translation> + </message> + <message> + <source>The <RCC> root element is missing.</source> + <translation>KoÅ™enový prvek (<RCC>) chybÃ.</translation> + </message> +</context> +<context> + <name>Android::Internal::AndroidAnalyzeSupport</name> + <message> + <source>No analyzer tool selected.</source> + <translation>Nevybrán žádný nástroj pro rozbor.</translation> + </message> +</context> +<context> + <name>Android::Internal::AndroidManifestEditor</name> + <message> + <source>General</source> + <translation>Obecné</translation> + </message> + <message> + <source>XML Source</source> + <translation>Zdroj XML</translation> + </message> +</context> +<context> + <name>Android::Internal::AndroidManifestEditorFactory</name> + <message> + <source>Android Manifest editor</source> + <translation>Editor manifestu pro Android</translation> + </message> +</context> +<context> + <name>Android::Internal::AndroidManifestEditorWidget</name> + <message> + <source>Package</source> + <translation>BalÃÄek</translation> + </message> + <message> + <source><p align="justify">Please choose a valid package name for your application (e.g. "org.example.myapplication").</p><p align="justify">Packages are usually defined using a hierarchical naming pattern, with levels in the hierarchy separated by periods (.) (pronounced "dot").</p><p align="justify">In general, a package name begins with the top level domain name of the organization and then the organization's domain and then any subdomains listed in reverse order. The organization can then choose a specific name for their package. Package names should be all lowercase characters whenever possible.</p><p align="justify">Complete conventions for disambiguating package names and rules for naming packages when the Internet domain name cannot be directly used as a package name are described in section 7.7 of the Java Language Specification.</p></source> + <translation><p align="justify">Vyberte, prosÃm, pro svůj program platný název balÃÄku (napÅ™. "org.example.myapplication").</p> +<p align="justify">BalÃÄky jsou obvykle stanoveny hierarchickým pojmenovávacÃm vzorem, s úrovnÄ›mi hierarchie oddÄ›lenými teÄkami (.) (vysloveno "teÄka").</p> +<p align="justify">ObecnÄ› zaÄÃná název balÃÄku vrcholovým názvem domény organizace, a potom pokraÄuje doménou organizace, a pak jakoukoli podÅ™Ãzenou doménou, uvedeno v obráceném poÅ™adÃ. Organizace pak pro svůj balÃÄek může zvolit zvláštnà název. Názvy balÃÄků by mÄ›ly být, když je to možné, tvoÅ™eny malými pÃsmeny</p> +<p align="justify">Zvyklosti pro nedvojznaÄné názvy balÃÄků a pravidla pro pojmenovávánà balÃÄků, když za název balÃÄku nelze použÃt pÅ™Ãmo název internetové domény jsou popsány v oddÃle 7.7 specifikace jazyka Java (Java Language Specification).</p></translation> + </message> + <message> + <source>Package name:</source> + <translation>Název balÃÄku:</translation> + </message> + <message> + <source>The package name is not valid.</source> + <translation>Název balÃÄku je neplatný.</translation> + </message> + <message> + <source>Version code:</source> + <translation>Kód verze:</translation> + </message> + <message> + <source>Version name:</source> + <translation>Název verze:</translation> + </message> + <message> + <source>Application</source> + <translation>Program</translation> + </message> + <message> + <source>Application name:</source> + <translation>Název programu:</translation> + </message> + <message> + <source>Run:</source> + <translation>SpuÅ¡tÄ›nÃ:</translation> + </message> + <message> + <source>Select low dpi icon</source> + <translation>Vybrat ikonu s nÃzkým dpi</translation> + </message> + <message> + <source>Select medium dpi icon</source> + <translation>Vybrat ikonu se stÅ™ednÃm dpi</translation> + </message> + <message> + <source>Select high dpi icon</source> + <translation>Vybrat ikonu s vysokým dpi</translation> + </message> + <message> + <source>Application icon:</source> + <translation>Symbol programu:</translation> + </message> + <message> + <source>Permissions</source> + <translation>OprávnÄ›nÃ</translation> + </message> + <message> + <source>Remove</source> + <translation>Odstranit</translation> + </message> + <message> + <source>Add</source> + <translation>PÅ™idat</translation> + </message> + <message> + <source>The structure of the android manifest file is corrupt. Expected a top level 'manifest' node.</source> + <translation>Stavba souboru s manifestem pro Android je neplatná. OÄekáván uzel 'manifest' na nejhornÄ›jšà úrovni.</translation> + </message> + <message> + <source>The structure of the Android manifest file is corrupt. Expected an 'application' and 'activity' sub node.</source> + <translation>Stavba souboru s manifestem pro Android je poÅ¡kozena. OÄekávány poduzly 'application' a 'activity'.</translation> + </message> + <message> + <source>Could not parse file: '%1'</source> + <translation>NepodaÅ™ilo se zpracovat soubor: '%1'</translation> + </message> + <message> + <source>%2: Could not parse file: '%1'</source> + <translation>%2: NepodaÅ™ilo se zpracovat soubor: '%1'</translation> + </message> + <message> + <source>Goto error</source> + <translation>JÃt na chybu</translation> + </message> + <message> + <source>Choose Low DPI Icon</source> + <translation>Vybrat ikonu s nÃzkým dpi</translation> + </message> + <message> + <source>PNG images (*.png)</source> + <translation>Soubory s obrázky PNG (*.png)</translation> + </message> + <message> + <source>Choose Medium DPI Icon</source> + <translation>Vybrat ikonu se stÅ™ednÃm dpi</translation> + </message> + <message> + <source>Choose High DPI Icon</source> + <translation>Vybrat ikonu s vysokým dpi</translation> + </message> +</context> +<context> + <name>Android::AndroidPlugin</name> + <message> + <source>Android Manifest file</source> + <translation>Soubor s manifestem pro Android</translation> + </message> + <message> + <source>Could not add mime-type for AndroidManifest.xml editor.</source> + <translation>NepodaÅ™ilo se pÅ™idat MIME-Typ pro editor Android-Manifest.xml.</translation> + </message> +</context> +<context> + <name>BINEditor::BinEditorWidget</name> + <message> + <source>Memory at 0x%1</source> + <translation>Paměť pÅ™i 0x%1</translation> + </message> + <message> + <source>Decimal&nbsp;unsigned&nbsp;value:</source> + <translation>&nbsp;desetinná&nbsp;hodnota jsoucà bez znaménka:</translation> + </message> + <message> + <source>Decimal&nbsp;signed&nbsp;value:</source> + <translation>&nbsp;desetinná&nbsp;hodnota se znaménkem:</translation> + </message> + <message> + <source>Previous&nbsp;decimal&nbsp;unsigned&nbsp;value:</source> + <translation>PÅ™edchozÃ&nbsp;desetinná&nbsp;hodnota jsoucà bez znaménka:</translation> + </message> + <message> + <source>Previous&nbsp;decimal&nbsp;signed&nbsp;value:</source> + <translation>PÅ™edchozÃ&nbsp;desetinná&nbsp;hodnota se znaménkem:</translation> + </message> + <message> + <source>%1-bit&nbsp;Integer&nbsp;Type</source> + <translation>%1-bit&nbsp;typ celého ÄÃsla</translation> + </message> + <message> + <source>Little Endian</source> + <translation>Malý endian</translation> + </message> + <message> + <source>Big Endian</source> + <translation>Velký endian</translation> + </message> + <message> + <source>Binary&nbsp;value:</source> + <translation>Dvojková&nbsp;hodnota:</translation> + </message> + <message> + <source>Octal&nbsp;value:</source> + <translation>OsmiÄková&nbsp;hodnota:</translation> + </message> + <message> + <source>Previous&nbsp;binary&nbsp;value:</source> + <translation>PÅ™edchozÃ&nbsp;dvojková&nbsp;hodnota:</translation> + </message> + <message> + <source>Previous&nbsp;octal&nbsp;value:</source> + <translation>PÅ™edchozÃ&nbsp;osmiÄková&nbsp;hodnota:</translation> + </message> + <message> + <source><i>double</i>&nbsp;value:</source> + <translation><i>double</i>&nbsp;hodnota:</translation> + </message> + <message> + <source>Previous <i>double</i>&nbsp;value:</source> + <translation>PÅ™edchozà <i>double</i>&nbsp;hodnota:</translation> + </message> + <message> + <source><i>float</i>&nbsp;value:</source> + <translation><i>float</i>&nbsp;hodnota:</translation> + </message> + <message> + <source>Previous <i>float</i>&nbsp;value:</source> + <translation>PÅ™edchozà <i>float</i>&nbsp;hodnota:</translation> + </message> + <message> + <source>Copying Failed</source> + <translation>KopÃrovánà se nezdaÅ™ilo</translation> + </message> + <message> + <source>You cannot copy more than 4 MB of binary data.</source> + <translation>Nemůžete kopÃrovat vÃce jak 4 MB binárnÃch dat.</translation> + </message> + <message> + <source>Copy Selection as ASCII Characters</source> + <translation>KopÃrovat výbÄ›r jako znaky ASCII</translation> + </message> + <message> + <source>Copy Selection as Hex Values</source> + <translation>KopÃrovat výbÄ›r jako Å¡estnáctkové hodnoty</translation> + </message> + <message> + <source>Set Data Breakpoint on Selection</source> + <translation>Nastavit bod pÅ™eruÅ¡enà dat na výbÄ›ru</translation> + </message> + <message> + <source>Jump to Address in This Window</source> + <translation>JÃt na adresu v tomto oknÄ›</translation> + </message> + <message> + <source>Jump to Address in New Window</source> + <translation>JÃt na adresu v novém oknÄ›</translation> + </message> + <message> + <source>Jump to Address 0x%1 in This Window</source> + <translation>JÃt na adresu 0x%1 v tomto oknÄ›</translation> + </message> + <message> + <source>Jump to Address 0x%1 in New Window</source> + <translation>JÃt na adresu 0x%1 v novém oknÄ›</translation> + </message> +</context> +<context> + <name>Core::ICore</name> + <message> + <source> (%1)</source> + <translation> (%1)</translation> + </message> + <message> + <source>Qt Creator %1%2</source> + <translation>Qt Creator %1%2</translation> + </message> + <message> + <source>Based on Qt %1 (%2, %3 bit)</source> + <translation>Založeno na Qt %1 (%2, %3 bit)</translation> + </message> +</context> +<context> + <name>Core::Internal::ProgressManagerPrivate</name> + <message> + <source>Toggle Progress Details</source> + <translation>PÅ™epnout podrobnosti postupu</translation> + </message> + <message> + <source>Ctrl+Shift+0</source> + <translation>Ctrl+Shift+0</translation> + </message> + <message> + <source>Alt+Shift+0</source> + <translation>Alt+Shift+0</translation> + </message> +</context> +<context> + <name>Core::VariableManager</name> + <message> + <source>%1: Full path including file name.</source> + <translation>%1: Úplná cesta vÄetnÄ› názvu souboru.</translation> + </message> + <message> + <source>%1: Full path excluding file name.</source> + <translation>%1: Úplná cesta vyjma názvu souboru.</translation> + </message> + <message> + <source>%1: File name without path.</source> + <translation>%1: Název souboru bez cesty.</translation> + </message> + <message> + <source>%1: File base name without path and suffix.</source> + <translation>%1: Základnà název souboru bez cesty a pÅ™Ãpony.</translation> + </message> +</context> +<context> + <name>CppEditor::Internal::CppEditorPlugin</name> + <message> + <source>C++ Class</source> + <translation>TÅ™Ãda C++</translation> + </message> + <message> + <source>Creates a C++ header and a source file for a new class that you can add to a C++ project.</source> + <translation>Vytvořà hlaviÄku C++ a zdrojový soubor pro novou tÅ™Ãdu, který můžete pÅ™idat do projektu C++.</translation> + </message> + <message> + <source>Creates a C++ source file that you can add to a C++ project.</source> + <translation>Vytvořà zdrojový soubor pro novou tÅ™Ãdu, který můžete pÅ™idat do projektu C++.</translation> + </message> + <message> + <source>C++ Source File</source> + <translation>Zdrojový soubor C++</translation> + </message> + <message> + <source>Creates a C++ header file that you can add to a C++ project.</source> + <translation>Vytvořà hlaviÄkový soubor C++, který můžete pÅ™idat do projektu C++.</translation> + </message> + <message> + <source>C++ Header File</source> + <translation>HlaviÄkový soubor C++</translation> + </message> + <message> + <source>Switch Between Method Declaration/Definition</source> + <translation>PÅ™epÃnánà mezi deklaracà a definicà metody</translation> + </message> + <message> + <source>Shift+F2</source> + <translation>Shift+F2</translation> + </message> + <message> + <source>Open Method Declaration/Definition in Next Split</source> + <translation>OtevÅ™Ãt deklaraci/definici metody v dalÅ¡Ãm rozdÄ›lenÃ</translation> + </message> + <message> + <source>Meta+E, Shift+F2</source> + <translation>Meta+E, Shift+F2</translation> + </message> + <message> + <source>Ctrl+E, Shift+F2</source> + <translation>Ctrl+E, Shift+F2</translation> + </message> + <message> + <source>Find Usages</source> + <translation>NajÃt použitÃ</translation> + </message> + <message> + <source>Ctrl+Shift+U</source> + <translation>Ctrl+Shift+U</translation> + </message> + <message> + <source>Open Type Hierarchy</source> + <translation>OtevÅ™Ãt hierarchii tÅ™Ãd</translation> + </message> + <message> + <source>Meta+Shift+T</source> + <translation>Meta+Shift+T</translation> + </message> + <message> + <source>Ctrl+Shift+T</source> + <translation>Ctrl+Shift+T</translation> + </message> + <message> + <source>Rename Symbol Under Cursor</source> + <translation>PÅ™ejmenovat symbol pod ukazovátkem</translation> + </message> + <message> + <source>CTRL+SHIFT+R</source> + <translation>Ctrl+Shift+R</translation> + </message> + <message> + <source>Update Code Model</source> + <translation>Obnovit model kódu</translation> + </message> +</context> +<context> + <name>QuickFixFactory</name> + <message> + <source>Create Getter and Setter Member Functions</source> + <translation>VytvoÅ™it funkce Getter a Setter</translation> + </message> + <message> + <source>Generate Missing Q_PROPERTY Members...</source> + <translation>Doplnit chybÄ›jÃcà prvky Q_PROPERTY...</translation> + </message> +</context> +<context> + <name>CppEditor::QuickFix</name> + <message> + <source>Move Definition Outside Class</source> + <translation>PÅ™esunout definice vnÄ› tÅ™Ãdy</translation> + </message> + <message> + <source>Move Definition to %1</source> + <translation>PÅ™esunout definici do %1</translation> + </message> + <message> + <source>Move Definition to Class</source> + <translation>PÅ™esunout definici do tÅ™Ãdy</translation> + </message> + <message> + <source>Insert Virtual Functions of Base Classes</source> + <translation>Vložit virtuálnà funkce základnÃch tÅ™Ãd</translation> + </message> +</context> +<context> + <name>CppEditor::Internal::InsertVirtualMethodsDialog</name> + <message> + <source>Insert Virtual Functions</source> + <translation>Vložit virtuálnà funkce</translation> + </message> + <message> + <source>&Functions to insert:</source> + <translation>&Funkce k vloženÃ:</translation> + </message> + <message> + <source>&Hide already implemented functions of current class</source> + <translation>&Skrýt již provedené funkce tÅ™Ãdy</translation> + </message> + <message> + <source>&Insertion options:</source> + <translation>Volby pro &vkládánÃ</translation> + </message> + <message> + <source>Insert only declarations</source> + <translation>Vložit pouze deklarace</translation> + </message> + <message> + <source>Insert definitions inside class</source> + <translation>Vložit definici uvnitÅ™ tÅ™Ãdy</translation> + </message> + <message> + <source>Insert definitions outside class</source> + <translation>Vložit definice vnÄ› tÅ™Ãdy</translation> + </message> + <message> + <source>Insert definitions in implementation file</source> + <translation>Vložit definice do provádÄ›cÃho souboru</translation> + </message> + <message> + <source>&Add keyword 'virtual' to function declaration</source> + <translation>PÅ™idat klÃÄové slovo '&virtual' do deklarace funkce</translation> + </message> +</context> +<context> + <name>Cvs::Internal::CvsControl</name> + <message> + <source>&Edit</source> + <translation>Ú&pravy</translation> + </message> +</context> +<context> + <name>Debugger::Internal::CdbPathsPageWidget</name> + <message> + <source>Symbol Paths</source> + <translation>Cesty k symbolům</translation> + </message> + <message> + <source>Source Paths</source> + <translation>Cesty ke zdrojovému textu</translation> + </message> +</context> +<context> + <name>Debugger::Internal::CdbPathsPage</name> + <message> + <source>CDB Paths</source> + <translation>Cesty CDB</translation> + </message> +</context> +<context> + <name>Debugger::DebuggerRunConfigurationAspect</name> + <message> + <source>Debugger settings</source> + <translation>Nastavenà ladiÄe</translation> + </message> +</context> +<context> + <name>Debugger::Internal::GdbOptionsPage2</name> + <message> + <source>GDB Extended</source> + <translation>RozÅ¡ÃÅ™ené GDB</translation> + </message> +</context> +<context> + <name>Debugger::Internal::LldbEngine</name> + <message> + <source>Unable to start lldb '%1': %2</source> + <translation>lldb '%1' se nepodaÅ™ilo spustit: %2</translation> + </message> + <message> + <source>Adapter start failed.</source> + <translation>SpuÅ¡tÄ›nà adaptéru se nepodaÅ™ilo.</translation> + </message> + <message> + <source>Running requested...</source> + <translation>Požadováno pokraÄovánÃ...</translation> + </message> + <message> + <source>Interrupt requested...</source> + <translation>Požadováno pÅ™eruÅ¡enÃ...</translation> + </message> + <message> + <source>'%1' contains no identifier.</source> + <translation>'%1' neobsahuje žádný identifikátor.</translation> + </message> + <message> + <source>String literal %1</source> + <translation>ŘetÄ›zec znaků tvoÅ™ený pÃsmeny %1</translation> + </message> + <message> + <source>Cowardly refusing to evaluate expression '%1' with potential side effects.</source> + <translation>Nevyhodnocovat výraz '%1' s možnými postrannÃmi úÄinky.</translation> + </message> + <message> + <source>Lldb I/O Error</source> + <translation>Chyba ve vstupu/výstupu Lldb</translation> + </message> + <message> + <source>The Lldb process failed to start. Either the invoked program '%1' is missing, or you may have insufficient permissions to invoke the program.</source> + <translation>SpuÅ¡tÄ›nà procesu Lldb se nezdaÅ™ilo. BuÄ chybà spustitelný soubor '%1', nebo nemáte dostateÄná oprávnÄ›nà pro spuÅ¡tÄ›nà programu.</translation> + </message> + <message> + <source>The Lldb process crashed some time after starting successfully.</source> + <translation>Proces Lldb po urÄité dobÄ› od úspěšného spuÅ¡tÄ›nà spadl.</translation> + </message> + <message> + <source>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</source> + <translation>DoÅ¡lo k pÅ™ekroÄenà Äasu u poslednà funkce waitFor...(). Stav QProcess je nezmÄ›nÄ›n, a tak se můžete pokusit zavolat waitFor...() jeÅ¡tÄ› jednou.</translation> + </message> + <message> + <source>An error occurred when attempting to write to the Lldb process. For example, the process may not be running, or it may have closed its input channel.</source> + <translation>PÅ™i pokusu o zápis do procesu Lldb se vyskytla chyba. PravdÄ›podobnÄ› proces neběžÃ, nebo zavÅ™el svůj vstupnà kanál.</translation> + </message> + <message> + <source>An error occurred when attempting to read from the Lldb process. For example, the process may not be running.</source> + <translation>PÅ™i pokusu o Ätenà z procesu Lldb se vyskytla chyba. PravdÄ›podobnÄ› proces neběžÃ.</translation> + </message> + <message> + <source>An unknown error in the Lldb process occurred. </source> + <translation>V Lldb procesu se vyskytla neznámá chyba.</translation> + </message> +</context> +<context> + <name>DiffEditor::DiffEditor</name> + <message> + <source>Ignore Whitespace</source> + <translation>NevÅ¡Ãmat si prázdných mÃst</translation> + </message> + <message> + <source>Context Lines:</source> + <translation>Řádky se souvislostmi:</translation> + </message> + <message> + <source>Synchronize Horizontal Scroll Bars</source> + <translation>SeÅ™Ãdit vodorovné posuvnÃky</translation> + </message> + <message> + <source>[%1] vs. [%2] %3</source> + <translation>[%1] vs. [%2] %3</translation> + </message> + <message> + <source>%1 vs. %2</source> + <translation>%1 vs. %2</translation> + </message> + <message> + <source>[%1] %2 vs. [%3] %4</source> + <translation>[%1] %2 vs. [%3] %4</translation> + </message> +</context> +<context> + <name>Diff</name> + <message> + <source>Delete</source> + <translation>Smazat</translation> + </message> + <message> + <source>Insert</source> + <translation>Vložit</translation> + </message> + <message> + <source>Equal</source> + <translation>Stejný</translation> + </message> +</context> +<context> + <name>Git::Internal::GitDiffHandler</name> + <message> + <source>Working tree</source> + <translation>Pracovnà kopie</translation> + </message> + <message> + <source>Index</source> + <translation>RejstÅ™Ãk</translation> + </message> + <message> + <source>Waiting for data...</source> + <translation>ÄŒeká se na data...</translation> + </message> +</context> +<context> + <name>Git::Internal::LogChangeWidget</name> + <message> + <source>Sha1</source> + <translation>Sha1</translation> + </message> + <message> + <source>Subject</source> + <translation>PÅ™edmÄ›t</translation> + </message> +</context> +<context> + <name>Git::Internal::LogChangeDialog</name> + <message> + <source>Reset to:</source> + <translation>Nastavit znovu na:</translation> + </message> + <message> + <source>Select change:</source> + <translation>Vybrat zmÄ›nu:</translation> + </message> + <message> + <source>Reset type:</source> + <translation>Druh znovunastavenÃ:</translation> + </message> + <message> + <source>Mixed</source> + <translation>SmÃchanÄ›</translation> + </message> + <message> + <source>Hard</source> + <translation>Ostré</translation> + </message> + <message> + <source>Soft</source> + <translation>MÄ›kké</translation> + </message> +</context> +<context> + <name>ProjectExplorer::DeviceCheckBuildStep</name> + <message> + <source>No device configured.</source> + <translation>Nebylo nastaveno žádné zaÅ™ÃzenÃ.</translation> + </message> + <message> + <source>Set Up Device</source> + <translation>Nastavit zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>There is no device set up for this kit. Do you want to add a device?</source> + <translation>Pro tuto sadu nenà nastaveno žádné zaÅ™ÃzenÃ. Chcete pÅ™idat zaÅ™ÃzenÃ?</translation> + </message> + <message> + <source>Check for a configured device</source> + <translation>Prověřit, zda je nastaveno zaÅ™ÃzenÃ</translation> + </message> +</context> +<context> + <name>ProjectExplorer::EnvironmentAspect</name> + <message> + <source>Run Environment</source> + <translation>ProvádÄ›cà prostÅ™edÃ</translation> + </message> +</context> +<context> + <name>ProjectExplorer::EnvironmentAspectWidget</name> + <message> + <source>Base environment for this run configuration:</source> + <translation>Základnà prostÅ™edà pro toto nastavenà spuÅ¡tÄ›nÃ:</translation> + </message> +</context> +<context> + <name>ProjectExplorer::LocalEnvironmentAspect</name> + <message> + <source>Build Environment</source> + <translation>ProstÅ™edà pro sestavovánÃ</translation> + </message> + <message> + <source>System Environment</source> + <translation>ProstÅ™edà systému</translation> + </message> + <message> + <source>Clean Environment</source> + <translation>Smazat prostÅ™edÃ</translation> + </message> +</context> +<context> + <name>PythonEditor::FileWizard</name> + <message> + <source>Python source file</source> + <translation>Zdrojový soubor Python</translation> + </message> + <message> + <source>Creates an empty Python script with UTF-8 charset</source> + <translation>Vytvořà prázdný Pythonovský skript se znakovou sadou UTF-8</translation> + </message> + <message> + <source>New %1</source> + <translation>Nový %1</translation> + </message> +</context> +<context> + <name>PythonEditor::ClassWizard</name> + <message> + <source>Python class</source> + <translation>TÅ™Ãda Pythonu</translation> + </message> + <message> + <source>Creates new Python class</source> + <translation>Vytvořà novou tÅ™Ãdu Pythonu</translation> + </message> + <message> + <source>C++ module for Python</source> + <translation>Modul C++ pro Python</translation> + </message> + <message> + <source>Creates C++/Boost file with bindings for Python</source> + <translation>Vytvořà soubor C++-/Boost s vazbami pro Python</translation> + </message> +</context> +<context> + <name>PythonEditor::ClassNamePage</name> + <message> + <source>Enter Class Name</source> + <translation>Zadejte název tÅ™Ãdy</translation> + </message> + <message> + <source>The source file name will be derived from the class name</source> + <translation>Název zdrojového soubory se odvodà z názvu pro tÅ™Ãdu</translation> + </message> +</context> +<context> + <name>PythonEditor::ClassWizardDialog</name> + <message> + <source>Python Class Wizard</source> + <translation>Nová tÅ™Ãda Pythonu</translation> + </message> + <message> + <source>Details</source> + <translation>Podrobnosti</translation> + </message> +</context> +<context> + <name>Qbs</name> + <message> + <source>Qbs Install</source> + <translation>Instalace Qbs</translation> + </message> +</context> +<context> + <name>QbsProjectManager::Internal::QbsInstallStep</name> + <message> + <source>Qbs Install</source> + <translation>Instalace Qbs</translation> + </message> +</context> +<context> + <name>QbsProjectManager::Internal::QbsInstallStepFactory</name> + <message> + <source>Qbs Install</source> + <translation>Instalace Qbs</translation> + </message> +</context> +<context> + <name>Qbs::QbsProjectNode</name> + <message> + <source>%1 in %2</source> + <translation>%1 v %2</translation> + </message> +</context> +<context> + <name>QbsProjectManager::QbsManager</name> + <message> + <source>Failed opening project '%1': Project is not a file</source> + <translation>Projekt '%1' se nepodaÅ™il otevÅ™Ãt: Daný projektový soubor nenà soubor</translation> + </message> +</context> +<context> + <name>QbsProjectManager::Internal::QbsPropertyLineEdit</name> + <message> + <source>Could not split properties.</source> + <translation>NepodaÅ™ilo se rozdÄ›lit vlastnosti.</translation> + </message> + <message> + <source>No ':' found in property definition.</source> + <translation>Definice vlastnosti neobsahuje žádný znak ':'.</translation> + </message> +</context> +<context> + <name>QbsProjectManager::Internal::QbsRunConfiguration</name> + <message> + <source>The .qbs files are currently being parsed.</source> + <translation>Soubor .qbs je právÄ› zpracováván.</translation> + </message> + <message> + <source>Parsing of .qbs files has failed.</source> + <translation>Zpracovánà souboru .qbs se nezdaÅ™ilo.</translation> + </message> + <message> + <source>Qbs Run Configuration</source> + <translation>Nastavenà spuÅ¡tÄ›nà Qbs</translation> + </message> +</context> +<context> + <name>QbsProjectManager::Internal::QbsRunConfigurationWidget</name> + <message> + <source>Executable:</source> + <translation>Spustitelný soubor:</translation> + </message> + <message> + <source>Arguments:</source> + <translation>Argumenty:</translation> + </message> + <message> + <source>Select Working Directory</source> + <translation>Vybrat pracovnà adresář</translation> + </message> + <message> + <source>Reset to default</source> + <translation>Nastavit znovu výchozÃ</translation> + </message> + <message> + <source>Working directory:</source> + <translation>Pracovnà adresář:</translation> + </message> + <message> + <source>Run in terminal</source> + <translation>Spustit v terminálu</translation> + </message> +</context> +<context> + <name>QmlDesigner::Internal::DebugView</name> + <message> + <source>Model attached</source> + <translation>Model pÅ™ipojen</translation> + </message> + <message> + <source>FileName %1</source> + <translation>Název souboru %1</translation> + </message> + <message> + <source>Model detached</source> + <translation>Model odpojen</translation> + </message> + <message> + <source>Added imports:</source> + <translation>PÅ™idané importy:</translation> + </message> + <message> + <source>Removed imports:</source> + <translation>OdstranÄ›né importy:</translation> + </message> + <message> + <source>Imports changed:</source> + <translation>ZmÄ›nÄ›né importy:</translation> + </message> + <message> + <source>Node created:</source> + <translation>Uzel vytvoÅ™en:</translation> + </message> + <message> + <source>Node removed:</source> + <translation>Uzel odstranÄ›n:</translation> + </message> + <message> + <source>New parent property:</source> + <translation>Nová rodiÄovská vlastnost:</translation> + </message> + <message> + <source>Old parent property:</source> + <translation>Stará rodiÄovská vlastnost:</translation> + </message> + <message> + <source>PropertyChangeFlag</source> + <translation>PropertyChangeFlag</translation> + </message> + <message> + <source>Node reparanted:</source> + <translation>PÅ™evěšený uzel:</translation> + </message> + <message> + <source>New Id: </source> + <translation>Nové ID: </translation> + </message> + <message> + <source>Old Id: </source> + <translation>Staré ID: </translation> + </message> + <message> + <source>Node id changed:</source> + <translation>ZmÄ›nÄ›né ID uzlu:</translation> + </message> + <message> + <source>VariantProperties changed:</source> + <translation>ZmÄ›nÄ›né VariantProperties:</translation> + </message> + <message> + <source>BindingProperties changed:</source> + <translation>ZmÄ›nÄ›né BindingProperties:</translation> + </message> + <message> + <source>SignalHandlerProperties changed:</source> + <translation>ZmÄ›nÄ›né SignalHandlerProperties:</translation> + </message> + <message> + <source>Properties removed:</source> + <translation>OdstranÄ›né vlastnosti:</translation> + </message> + <message> + <source>Auxiliary Data Changed:</source> + <translation>ZmÄ›nÄ›ná dodateÄná data:</translation> + </message> + <message> + <source>Begin rewriter transaction</source> + <translation>ZaÄÃt Rewriter transakci</translation> + </message> + <message> + <source>End rewriter transaction</source> + <translation>UkonÄit Rewriter transakci</translation> + </message> + <message> + <source>Debug View</source> + <translation>Ladicà pohled</translation> + </message> + <message> + <source>Instance property change</source> + <translation>ZmÄ›nÄ›ná vlastnost instance</translation> + </message> + <message> + <source>Instance Completed</source> + <translation>Instance úplná</translation> + </message> + <message> + <source>Custom Notification:</source> + <translation>Vlastnà oznámenÃ:</translation> + </message> + <message> + <source>Node Source Changed:</source> + <translation>ZmÄ›nÄ›ný zdroj uzlu:</translation> + </message> +</context> +<context> + <name>QmlDesigner::FormEditorView</name> + <message> + <source>Form Editor</source> + <translation>Editor formulářů</translation> + </message> +</context> +<context> + <name>QmlProjectManager::QmlProjectEnvironmentAspect</name> + <message> + <source>System Environment</source> + <translation>ProstÅ™edà systému</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerryCheckDevModeStep</name> + <message> + <source>Check Development Mode</source> + <translation>PÅ™ezkouÅ¡et vývojářský režim</translation> + </message> + <message> + <source>Could not find command '%1' in the build environment</source> + <translation>PÅ™Ãkaz: %1 se v prostÅ™edà pro sestavovánà nepodaÅ™ilo nalézt</translation> + </message> + <message> + <source>No hostname specified for device</source> + <translation>Pro zaÅ™Ãzenà nebyl zadán žádný název hostitele</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerryCheckDevModeStepConfigWidget</name> + <message> + <source><b>Check development mode</b></source> + <translation><b>PÅ™ezkouÅ¡et vývojářský režim</b></translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerryCheckDevModeStepFactory</name> + <message> + <source>Check Development Mode</source> + <translation>PÅ™ezkouÅ¡et vývojářský režim</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerryDeviceConnection</name> + <message> + <source>Error connecting to device: java could not be found in the environment.</source> + <translation>Chyba pÅ™i pÅ™ipojovánà k zaÅ™ÃzenÃ: Javu se v prostÅ™edà nepodaÅ™ilo nalézt.</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerryProcessParser</name> + <message> + <source>Authentication failed. Please make sure the password for the device is correct.</source> + <translation>Autentizace se nezdaÅ™ila. UjistÄ›te se, prosÃm, že heslo pro zaÅ™Ãzenà je správné.</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerrySetupWizard</name> + <message> + <source>BlackBerry Development Environment Setup Wizard</source> + <translation>Průvodce pro nastavenà vývojářského prostÅ™edà BlackBerry</translation> + </message> + <message> + <source>Reading device PIN...</source> + <translation>ÄŒte se PIN zaÅ™ÃzenÃ...</translation> + </message> + <message> + <source>Registering CSJ keys...</source> + <translation>PÅ™ihlaÅ¡uje se klÃÄ CSJ...</translation> + </message> + <message> + <source>Generating developer certificate...</source> + <translation>Vytvářà se vývojářský certifikát...</translation> + </message> + <message> + <source>Generating SSH keys...</source> + <translation>Vytvářà se klÃÄe SSH...</translation> + </message> + <message> + <source>Requesting a debug token for the device...</source> + <translation>Požaduje se symbol pro ladÄ›nà pro zaÅ™ÃzenÃ...</translation> + </message> + <message> + <source>Now uploading the debug token...</source> + <translation>Nahrává se symbol pro ladÄ›nÃ...</translation> + </message> + <message> + <source>Writing device information...</source> + <translation>Zapisujà se informace o zaÅ™ÃzenÃ...</translation> + </message> + <message> + <source>Error reading device PIN. Please make sure that the specified device IP address is correct.</source> + <translation>Chyba pÅ™i Ätenà PIN zaÅ™ÃzenÃ. UjistÄ›te se, prosÃm, že adresa IP zaÅ™Ãzenà je správná.</translation> + </message> + <message> + <source>Error</source> + <translation>Chyba</translation> + </message> + <message> + <source>Error creating developer certificate.</source> + <translation>Chyba pÅ™i vytvářenà vývojářského certifikátu.</translation> + </message> + <message> + <source>Failed to request debug token: </source> + <translation>NepodaÅ™ilo se požádat o symbol pro ladÄ›nÃ: </translation> + </message> + <message> + <source>Wrong CSK password.</source> + <translation>Nesprávné heslo CSK.</translation> + </message> + <message> + <source>Wrong keystore password.</source> + <translation>Nesprávné heslo pro úložiÅ¡tÄ› klÃÄe.</translation> + </message> + <message> + <source>Network unreachable.</source> + <translation>SÃÅ¥ nedosažitelná.</translation> + </message> + <message> + <source>Illegal device PIN.</source> + <translation>Neplatný PIN zaÅ™ÃzenÃ.</translation> + </message> + <message> + <source>Failed to start inferior process.</source> + <translation>NepodaÅ™ilo se spustit podÅ™Ãzený proces.</translation> + </message> + <message> + <source>Inferior processes timed out.</source> + <translation>DoÅ¡lo k pÅ™ekroÄenà Äasového omezenà u podÅ™Ãzeného procesu.</translation> + </message> + <message> + <source>Inferior process has crashed.</source> + <translation>PodÅ™Ãzený proces spadl.</translation> + </message> + <message> + <source>Failed to communicate with the inferior process.</source> + <translation>S podÅ™Ãzeným procesem se nepodaÅ™ilo spojit.</translation> + </message> + <message> + <source>An unknwon error has occurred.</source> + <translation>Vyskytla se neznámá chyba.</translation> + </message> + <message> + <source>Failed to upload debug token: </source> + <translation>Chyba pÅ™i nahrávánà symbolu pro ladÄ›nÃ: </translation> + </message> + <message> + <source>No route to host.</source> + <translation>Žádná cesta k hostiteli.</translation> + </message> + <message> + <source>Authentication failed.</source> + <translation>Ověřenà pravosti selhalo.</translation> + </message> + <message> + <source>Development mode is disabled on the device.</source> + <translation>Vývojářský režim je na zaÅ™Ãzenà zakázán.</translation> + </message> + <message> + <source>An unknwon error has happened.</source> + <translation>Vyskytla se neznámá chyba.</translation> + </message> + <message> + <source>Key Generation Failed</source> + <translation>Chyba pÅ™i vytvářenà klÃÄe</translation> + </message> + <message> + <source>Failure to Save Key File</source> + <translation>Chyba pÅ™i ukládánà souboru s klÃÄem</translation> + </message> + <message> + <source>Failed to create directory: '%1'.</source> + <translation>Adresář '%1' se nepodaÅ™ilo vytvoÅ™it.</translation> + </message> + <message> + <source>Private key file already exists: '%1'</source> + <translation>Soubor se soukromým klÃÄem '%1' již existuje</translation> + </message> + <message> + <source>Public key file already exists: '%1'</source> + <translation>Soubor s veÅ™ejným klÃÄem '%1' již existuje</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerrySetupWizardWelcomePage</name> + <message> + <source>Welcome to the BlackBerry Development Environment Setup Wizard. +This wizard will guide you through the essential steps to deploy a ready-to-go development environment for BlackBerry 10 devices.</source> + <translation>VÃtejte v průvodci pro nastavenà vývojářského prostÅ™edà BlackBerry. +Tento průvodce vás provede základnÃmi kroky, které jsou nutné pro nasazenà nachystaného vývojářského prostÅ™edà pro zaÅ™Ãzenà BlackBerry10.</translation> + </message> + <message> + <source>BlackBerry Development Environment Setup</source> + <translation>Nastavenà vývojářského prostÅ™edà BlackBerry</translation> + </message> +</context> +<context> + <name>Qnx::Internal::BlackBerrySetupWizardNdkPage</name> + <message> + <source>Configure the NDK Path</source> + <translation>Nastavit cestu k NKD</translation> + </message> +</context> +<context> + <name>Qnx::Internal::QnxAbstractRunSupport</name> + <message> + <source>Not enough free ports on device for debugging.</source> + <translation>Na zaÅ™Ãzenà nenà dostatek volných portů pro ladÄ›nÃ.</translation> + </message> +</context> +<context> + <name>Qnx::Internal::QnxAnalyzeSupport</name> + <message> + <source>Preparing remote side... +</source> + <translation>PÅ™ipravuje se vzdálená strana... +</translation> + </message> + <message> + <source>The %1 process closed unexpectedly.</source> + <translation>Proces %1 byl neoÄekávanÄ› ukonÄen.</translation> + </message> + <message> + <source>Initial setup failed: %1</source> + <translation>PoÄáteÄnà nastavenà se nezdaÅ™ilo: %1</translation> + </message> +</context> +<context> + <name>Qnx::Internal::QnxDeviceTester</name> + <message> + <source>%1 found. +</source> + <translation>%1 nalezeno. +</translation> + </message> + <message> + <source>%1 not found. +</source> + <translation>%1 nenalezeno. +</translation> + </message> + <message> + <source>An error occurred checking for %1. +</source> + <translation>PÅ™i pÅ™ezkuÅ¡ovánà %1 se vyskytla chyba. +</translation> + </message> + <message> + <source>SSH connection error: %1 +</source> + <translation>Chyba ve spojenà SSH: %1 +</translation> + </message> + <message> + <source>Checking for %1...</source> + <translation>PÅ™ezkuÅ¡uje se %1...</translation> + </message> +</context> +<context> + <name>RemoteLinux::AbstractRemoteLinuxRunSupport</name> + <message> + <source>Not enough free ports on device for debugging.</source> + <translation>Na zaÅ™Ãzenà nenà dostatek volných portů pro ladÄ›nÃ.</translation> + </message> +</context> +<context> + <name>RemoteLinux::RemoteLinuxAnalyzeSupport</name> + <message> + <source>Checking available ports... +</source> + <translation>Ověřujà se dostupné porty...</translation> + </message> + <message> + <source>Failure running remote process.</source> + <translation>Selhánà pÅ™i spouÅ¡tÄ›nà vzdáleného procesu.</translation> + </message> + <message> + <source>Initial setup failed: %1</source> + <translation>PoÄáteÄnà nastavenà se nezdaÅ™ilo: %1</translation> + </message> +</context> +<context> + <name>RemoteLinux::RemoteLinuxEnvironmentAspect</name> + <message> + <source>Clean Environment</source> + <translation>Smazat prostÅ™edÃ</translation> + </message> + <message> + <source>System Environment</source> + <translation>ProstÅ™edà systému</translation> + </message> +</context> +<context> + <name>RemoteLinux::RemoteLinuxEnvironmentAspectWidget</name> + <message> + <source>Fetch Device Environment</source> + <translation>Natáhnout prostÅ™edà zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Cancel Fetch Operation</source> + <translation>ZruÅ¡it operaci nataženà prostÅ™edÃ</translation> + </message> + <message> + <source>Device Error</source> + <translation>Chyba zaÅ™ÃzenÃ</translation> + </message> + <message> + <source>Fetching environment failed: %1</source> + <translation>Nataženà prostÅ™edà se nezdaÅ™ilo: %1</translation> + </message> +</context> +<context> + <name>RefactoringFile::apply</name> + <message> + <source>Refactoring cannot be applied.</source> + <translation>Refaktoring se nepodaÅ™ilo použÃt.</translation> + </message> +</context> +<context> + <name>QmlProjectManager::QmlApplicationWizardDialog</name> + <message> + <source>Creates a Qt Quick 1 UI project with a single QML file that contains the main view.&lt;br/&gt;You can review Qt Quick 1 UI projects in the QML Viewer and you need not build them. You do not need to have the development environment installed on your computer to create and run this type of projects.&lt;br/&gt;&lt;br/&gt;Requires &lt;b&gt;Qt 4.8&lt;/b&gt; or newer.</source> + <translation>Vytvořà projekt Qt Quick 1 UI s jediným souborem QML, který obsahuje hlavnà pohled.&lt;br/&gt;Projekty Qt Quick 1 UI nenà potÅ™eba je sestavovat a lze je spouÅ¡tÄ›t pÅ™Ãmo v prohlÞeÄi QML. K vytvoÅ™enà a ke spuÅ¡tÄ›nà tohoto typu projektů nenà potÅ™eba, aby bylo ve vaÅ¡em poÄÃtaÄi nainstalováno vývojářské prostÅ™edÃ.&lt;br/&gt;&lt;br/&gt;Vyžaduje &lt;b&gt;Qt 4.8&lt;/b&gt; nebo novÄ›jÅ¡Ã.</translation> + </message> + <message> + <source>Creates a Qt Quick 2 UI project with a single QML file that contains the main view.&lt;br/&gt;You can review Qt Quick 2 UI projects in the QML Scene and you need not build them. You do not need to have the development environment installed on your computer to create and run this type of projects.&lt;br/&gt;&lt;br/&gt;Requires &lt;b&gt;Qt 5.0&lt;/b&gt; or newer.</source> + <translation>Vytvořà projekt Qt Quick 2 UI s jediným souborem QML, který obsahuje hlavnà pohled.&lt;br/&gt;Projekty Qt Quick 2 UI nenà potÅ™eba je sestavovat a lze je spouÅ¡tÄ›t pÅ™Ãmo v prohlÞeÄi QML. K vytvoÅ™enà a ke spuÅ¡tÄ›nà tohoto typu projektů nenà potÅ™eba, aby bylo ve vaÅ¡em poÄÃtaÄi nainstalováno vývojářské prostÅ™edÃ.&lt;br/&gt;&lt;br/&gt;Vyžaduje &lt;b&gt;Qt 5.0&lt;/b&gt; nebo novÄ›jÅ¡Ã.</translation> + </message> + <message> + <source>Creates a Qt Quick 2 UI project with a single QML file that contains the main view and uses Qt Quick Controls.&lt;br/&gt;You can review Qt Quick 2 UI projects in the QML Scene and you need not build them. This project requires that you have installed Qt Quick Controls for your Qt version.&lt;br/&gt;&lt;br/&gt;Requires &lt;b&gt;Qt 5.1&lt;/b&gt; or newer.</source> + <translation>Vytvořà projekt Qt Quick 2 UI s jediným souborem QML, který obsahuje hlavnà pohled.&lt;br/&gt;Projekty Qt Quick 2 UI nenà potÅ™eba je sestavovat a lze je spouÅ¡tÄ›t pÅ™Ãmo v prohlÞeÄi QML. K vytvoÅ™enà a ke spuÅ¡tÄ›nà tohoto typu projektů nenà potÅ™eba, aby bylo ve vaÅ¡em poÄÃtaÄi nainstalováno vývojářské prostÅ™edÃ.&lt;br/&gt;&lt;br/&gt;Vyžaduje &lt;b&gt;Qt 5.1&lt;/b&gt; nebo novÄ›jÅ¡Ã.</translation> + </message> </context> </TS> diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index df5348e7bbea4383018b349a9b7cd27d667ed542..fa1c83102d5ee374547cf1e69f217153a106c607 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -137,13 +137,6 @@ <translation>ÐаÑтройки анализатора</translation> </message> </context> -<context> - <name>Analyzer::Internal::AnalyzerRunControlFactory</name> - <message> - <source>No analyzer tool selected</source> - <translation>ИнÑтрумент анализа не выбран</translation> - </message> -</context> <context> <name>Analyzer::Internal::AnalyzerToolDetailWidget</name> <message> @@ -811,10 +804,6 @@ Please make sure your application is built successfully and is selected in Appli </context> <context> <name>Android::Internal::AndroidSettingsWidget</name> - <message> - <source>Android SDK Folder</source> - <translation>Каталог Android SDK</translation> - </message> <message> <source>"%1" does not seem to be an Android SDK top folder.</source> <translation>Ðе похоже, чтобы «%1» был корневым каталогом Android SDK.</translation> @@ -9875,7 +9864,7 @@ receives a signal like SIGSEGV during debugging.</source> <name>Debugger::Internal::GdbOptionsPage2</name> <message> <source>GDB Extended</source> - <translation type="unfinished">GDB, раÑширенные</translation> + <translation>GDB, раÑширенные</translation> </message> </context> <context> @@ -13151,6 +13140,10 @@ Reason: %3</source> <source>Flow</source> <translation>Перетекание</translation> </message> + <message> + <source>Layout direction</source> + <translation>Ðаправление компоновки</translation> + </message> <message> <source>Spacing</source> <translation>ОтÑтуп</translation> @@ -15627,6 +15620,10 @@ You can choose between stashing the changes or discarding them.</source> <source>Flow</source> <translation>Перетекание</translation> </message> + <message> + <source>Layout direction</source> + <translation>Ðаправление компоновки</translation> + </message> <message> <source>Spacing</source> <translation>ОтÑтуп</translation> @@ -24481,36 +24478,56 @@ Remote stderr was: %1</source> <translation>СброÑить ÑвойÑтво z</translation> </message> <message> - <source>Go into Component</source> - <translation>Перейти к Ñлементу</translation> + <source>Layout in Column (Positioner)</source> + <translation>Компоновать в колонку (позиционер)</translation> </message> <message> - <source>Set Id</source> - <translation>УÑтановить Id</translation> + <source>Layout in Row (Positioner)</source> + <translation>Компоновать в Ñтроку (позиционер)</translation> </message> <message> - <source>Fill</source> - <translation>Залить</translation> + <source>Layout in Grid (Positioner)</source> + <translation>Компоновать по Ñетке (позиционер)</translation> </message> <message> - <source>Reset</source> - <translation>СброÑить</translation> + <source>Layout in Flow (Positioner)</source> + <translation>ÐŸÐµÑ€ÐµÑ‚ÐµÐºÐ°ÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° (позиционер)</translation> + </message> + <message> + <source>Layout in ColumnLayout</source> + <translation>Компоновать в ColumnLayout</translation> + </message> + <message> + <source>Layout in RowLayout</source> + <translation>Компоновать в RowLayout</translation> </message> <message> - <source>Layout in Column</source> - <translation>Компоновать в колонку</translation> + <source>Layout in GridLayout</source> + <translation>Компоновать в GridLayout</translation> + </message> + <message> + <source>Fill Width</source> + <translation>РаÑÑ‚Ñнуть по ширине</translation> + </message> + <message> + <source>Fill Height</source> + <translation>РаÑÑ‚Ñнуть по выÑоте</translation> + </message> + <message> + <source>Go into Component</source> + <translation>Перейти к Ñлементу</translation> </message> <message> - <source>Layout in Row</source> - <translation>Компоновать в Ñтроку</translation> + <source>Set Id</source> + <translation>УÑтановить Id</translation> </message> <message> - <source>Layout in Grid</source> - <translation>Компоновать по Ñетке</translation> + <source>Fill</source> + <translation>Залить</translation> </message> <message> - <source>Layout in Flow</source> - <translation>ÐŸÐµÑ€ÐµÑ‚ÐµÐºÐ°ÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ°</translation> + <source>Reset</source> + <translation>СброÑить</translation> </message> </context> <context> @@ -25602,6 +25619,13 @@ Error: %2</source> <translation>ÐžÐ¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ Ð»ÐµÐºÑема «%1»</translation> </message> </context> +<context> + <name>QmlProfiler::Internal::LocalQmlProfilerRunner</name> + <message> + <source>No executable file to launch.</source> + <translation>Ðет программы Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка.</translation> + </message> +</context> <context> <name>QmlProfiler::Internal::QmlProfilerAttachDialog</name> <message> @@ -25722,10 +25746,6 @@ Do you want to retry?</source> <translation>Ðе удалоÑÑŒ подключитьÑÑ Ðº внутрипроцеÑÑному отладчику QML. %1</translation> </message> - <message> - <source>No executable file to launch.</source> - <translation>Ðет программы Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка.</translation> - </message> </context> <context> <name>QmlProfiler::Internal::QmlProfilerEventsMainView</name> @@ -25890,6 +25910,13 @@ references to elements in other files, loops, etc.)</source> <translation>Сбровить панель Ñобытий</translation> </message> </context> +<context> + <name>QmlProfiler::Internal::QmlProfilerRunControlFactory</name> + <message> + <source>No analyzer tool selected</source> + <translation>ИнÑтрумент анализа не выбран</translation> + </message> +</context> <context> <name>QmlProfiler::Internal::QmlProfilerStateWidget</name> <message> @@ -31546,6 +31573,10 @@ Remote stderr was: '%1'</source> <source>Row</source> <translation>Строка</translation> </message> + <message> + <source>Layout direction</source> + <translation>Ðаправление компоновки</translation> + </message> <message> <source>Spacing</source> <translation>ОтÑтуп</translation> @@ -35984,6 +36015,13 @@ With cache simulation, further event counters are enabled: </translation> </message> </context> +<context> + <name>Valgrind::Internal::ValgrindRunControlFactory</name> + <message> + <source>No analyzer tool selected</source> + <translation>ИнÑтрумент анализа не выбран</translation> + </message> +</context> <context> <name>Valgrind::Internal::Visualisation</name> <message> diff --git a/share/share.qbs b/share/share.qbs index 8808efb39b5e55de38b778f12c139441b5512c7f..f5aa5068e1256f632ff277270bfc0accad12d09e 100644 --- a/share/share.qbs +++ b/share/share.qbs @@ -34,6 +34,7 @@ Product { var list = [ "lrelease.xml", "lupdate.xml", + "qmlscene.xml", "qmlviewer.xml", "sort.xml", ] diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp index 4e59c377386041fdd5659a557249e80883bd1c31..7a103b85c120928097428930c16a2cc4b087d75d 100644 --- a/src/libs/cplusplus/CppRewriter.cpp +++ b/src/libs/cplusplus/CppRewriter.cpp @@ -528,6 +528,7 @@ CPLUSPLUS_EXPORT QString simplifySTLType(const QString &typeIn) type.remove(0, 7); type.replace(QLatin1String("std::__1::"), QLatin1String("std::")); + type.replace(QLatin1String("std::__debug::"), QLatin1String("std::")); type.replace(QLatin1Char('*'), QLatin1Char('@')); for (int i = 0; i < 10; ++i) { @@ -586,6 +587,14 @@ CPLUSPLUS_EXPORT QString simplifySTLType(const QString &typeIn) if (setRE.indexIn(type) != -1) type.replace(setRE.cap(0), QString::fromLatin1("set<%1>").arg(inner)); + // std::unordered_set + QRegExp unorderedSetRE(QString::fromLatin1("unordered_set<%1, ?std::hash<%2>, ?std::equal_to<%3>, ?%4\\s*>") + .arg(innerEsc, innerEsc, innerEsc, allocEsc)); + unorderedSetRE.setMinimal(true); + QTC_ASSERT(unorderedSetRE.isValid(), return typeIn); + if (unorderedSetRE.indexIn(type) != -1) + type.replace(unorderedSetRE.cap(0), QString::fromLatin1("unordered_set<%1>").arg(inner)); + // std::map if (inner.startsWith(QLatin1String("std::pair<"))) { // search for outermost ',', split key and value @@ -621,6 +630,35 @@ CPLUSPLUS_EXPORT QString simplifySTLType(const QString &typeIn) type.replace(mapRE2.cap(0), QString::fromLatin1("map<const %1, %2>").arg(key, value)); } } + + // std::unordered_map + if (inner.startsWith(QLatin1String("std::pair<"))) { + // search for outermost ',', split key and value + int pos; + int level = 0; + for (pos = 10; pos < inner.size(); ++pos) { + int c = inner.at(pos).unicode(); + if (c == '<') + ++level; + else if (c == '>') + --level; + else if (c == ',' && level == 0) + break; + } + const QString key = chopConst(inner.mid(10, pos - 10)); + const QString keyEsc = QRegExp::escape(key); + // Get value: MSVC: 'pair<a const ,b>', gcc: 'pair<const a, b>' + if (inner.at(++pos) == QLatin1Char(' ')) + pos++; + const QString value = inner.mid(pos, inner.size() - pos - 1).trimmed(); + const QString valueEsc = QRegExp::escape(value); + QRegExp mapRE1(QString::fromLatin1("unordered_map<%1, ?%2, ?std::hash<%3 ?>, ?std::equal_to<%4 ?>, ?%5\\s*>") + .arg(keyEsc, valueEsc, keyEsc, keyEsc, allocEsc)); + mapRE1.setMinimal(true); + QTC_ASSERT(mapRE1.isValid(), return typeIn); + if (mapRE1.indexIn(type) != -1) + type.replace(mapRE1.cap(0), QString::fromLatin1("unordered_map<%1, %2>").arg(key, value)); + } } type.replace(QLatin1Char('@'), QLatin1Char('*')); type.replace(QLatin1String(" >"), QLatin1String(">")); diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 20a562562e95847eeb610bd8f68b730b9c6f5643..79f10f5f463e04348ec7320d1030eacd7cbeab9a 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -911,6 +911,8 @@ private: static QList<LookupItem> typedefsFromScopeUpToFunctionScope(const Name *name, Scope *scope) { QList<LookupItem> results; + if (!scope) + return results; Scope *enclosingBlockScope = 0; for (Block *block = scope->asBlock(); block; block = enclosingBlockScope ? enclosingBlockScope->asBlock() : 0) { @@ -994,7 +996,7 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas TypedefsResolver typedefsResolver(_context); foreach (const LookupItem &r, baseResults) { - if (!r.type().type()) + if (!r.type().type() || !r.scope()) continue; FullySpecifiedType ty = r.type().simplified(); FullySpecifiedType originalType = ty; diff --git a/src/libs/qtcreatorcdbext/symbolgroupnode.cpp b/src/libs/qtcreatorcdbext/symbolgroupnode.cpp index 12e79b7372b4743d0509091283b3f4dd84964c7e..a0f25a644d73b663b144b14dfb3afe9ad54dc689 100644 --- a/src/libs/qtcreatorcdbext/symbolgroupnode.cpp +++ b/src/libs/qtcreatorcdbext/symbolgroupnode.cpp @@ -842,8 +842,9 @@ static void fixValue(const std::string &type, std::wstring *value) const bool isHexNumber = value->size() > 3 && value->compare(0, 2, L"0x") == 0 && isHexDigit(value->at(2)); if (isHexNumber) { // Remove dumb 64bit separator - if (value->size() > 10 && value->at(10) == L'`') - value->erase(10, 1); + const size_t separator = value->find(L'`'); + if (separator != std::wstring::npos) + value->erase(separator, 1); const std::string::size_type firstNonNullDigit = value->find_first_not_of(L"0", 2); // No on-null digits: plain null ptr. if (firstNonNullDigit == std::string::npos || value->at(firstNonNullDigit) == ' ') { diff --git a/src/libs/utils/hostosinfo.cpp b/src/libs/utils/hostosinfo.cpp index 6e103a6dc88254a5a338c100d4dbec09cb291e23..0add69101fd9e4852f6f2862b91e4bebef9a8b5e 100644 --- a/src/libs/utils/hostosinfo.cpp +++ b/src/libs/utils/hostosinfo.cpp @@ -30,7 +30,9 @@ #include "hostosinfo.h" #ifdef Q_OS_WIN -#include <windows.h> +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0501 /* WinXP, needed for GetNativeSystemInfo() */ +#include <qt_windows.h> #endif using namespace Utils; diff --git a/src/plugins/android/androidpackagecreationstep.cpp b/src/plugins/android/androidpackagecreationstep.cpp index c5e9fe8e1bf53ad6c52bd721c5653af0dbb48f89..fc12cb6c61cec08d70b1c02f898b314e5c821471 100644 --- a/src/plugins/android/androidpackagecreationstep.cpp +++ b/src/plugins/android/androidpackagecreationstep.cpp @@ -398,6 +398,9 @@ QAbstractItemModel *AndroidPackageCreationStep::keystoreCertificates() if (!m_keystorePasswd.length()) return 0; params << m_keystorePasswd; + Utils::Environment env = Utils::Environment::systemEnvironment(); + env.set(QLatin1String("LANG"), QLatin1String("C")); + keytoolProc.setProcessEnvironment(env.toProcessEnvironment()); keytoolProc.start(AndroidConfigurations::instance().keytoolPath().toString(), params); if (!keytoolProc.waitForStarted() || !keytoolProc.waitForFinished()) { QMessageBox::critical(0, tr("Error"), diff --git a/src/plugins/cppeditor/cppeditorplugin.h b/src/plugins/cppeditor/cppeditorplugin.h index 0fc9054fed30173add906fb7612dcf5303591f11..ca32a9c0d633b8a56569b8adb0419c7ce9098782 100644 --- a/src/plugins/cppeditor/cppeditorplugin.h +++ b/src/plugins/cppeditor/cppeditorplugin.h @@ -162,6 +162,7 @@ private slots: void test_quickfix_InsertDefFromDecl_notTriggeringWhenDefinitionExists(); void test_quickfix_InsertDefFromDecl_notTriggeringStatement(); void test_quickfix_InsertDefFromDecl_findRightImplementationFile(); + void test_quickfix_InsertDefFromDecl_ignoreSurroundingGeneratedDeclarations(); void test_quickfix_InsertDefFromDecl_respectWsInOperatorNames1(); void test_quickfix_InsertDefFromDecl_respectWsInOperatorNames2(); diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index e7b840d3fd75780d8cfd950fe15f26cc24d52ce8..6ba36c2387ade4a21253737ee64f6bfd7fced402 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -1161,6 +1161,63 @@ void CppEditorPlugin::test_quickfix_InsertDefFromDecl_findRightImplementationFil data.run(&factory); } +/// Ignore generated functions declarations when looking at the surrounding +/// functions declarations in order to find the right implementation file. +void CppEditorPlugin::test_quickfix_InsertDefFromDecl_ignoreSurroundingGeneratedDeclarations() +{ + QList<TestDocumentPtr> testFiles; + + QByteArray original; + QByteArray expected; + + // Header File + original = + "#define DECLARE_HIDDEN_FUNCTION void hidden();\n" + "struct Foo\n" + "{\n" + " void a();\n" + " DECLARE_HIDDEN_FUNCTION\n" + " void b@();\n" + "};\n" + "}\n"; + expected = original + '\n'; + testFiles << TestDocument::create(original, expected, QLatin1String("file.h")); + + // Source File #1 + original = + "#include \"file.h\"\n" + "\n" + "void Foo::a()\n" + "{\n\n" + "}\n"; + expected = + "#include \"file.h\"\n" + "\n" + "void Foo::a()\n" + "{\n\n" + "}\n" + "\n" + "void Foo::b()\n" + "{\n\n" + "}\n" + "\n"; + testFiles << TestDocument::create(original, expected, QLatin1String("file.cpp")); + + // Source File #2 + original = + "#include \"file.h\"\n" + "\n" + "void Foo::hidden()\n" + "{\n\n" + "}\n"; + expected = original + '\n'; + testFiles << TestDocument::create(original, expected, QLatin1String("file2.cpp")); + + InsertDefFromDecl factory; + TestCase data(testFiles); + data.run(&factory); +} + /// Check if whitespace is respected for operator functions void CppEditorPlugin::test_quickfix_InsertDefFromDecl_respectWsInOperatorNames1() { diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 1249fe3effa0a735c741d2640c957f5f3aad0668..9948577029a783520fca9d8281679080ba12ac04 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -29,6 +29,7 @@ #include "cpptoolsplugin.h" #include "cppcompletionassist.h" +#include "cppmodelmanager.h" #include <texteditor/plaintexteditor.h> #include <texteditor/codeassist/iassistproposal.h> @@ -51,107 +52,134 @@ using namespace CppTools::Internal; using namespace TextEditor; using namespace Core; -struct TestData -{ - QByteArray srcText; - int pos; - Snapshot snapshot; - BaseTextEditorWidget *editor; - QTextDocument *doc; -}; - -static QStringList getCompletions(TestData &data, bool *replaceAccessOperator = 0) -{ - QStringList completions; - - CppCompletionAssistInterface *ai = new CppCompletionAssistInterface(data.editor->document(), data.pos, - data.editor->editorDocument()->filePath(), ExplicitlyInvoked, - data.snapshot, QStringList(), QStringList()); - CppCompletionAssistProcessor processor; - IAssistProposal *proposal = processor.perform(ai); - if (!proposal) - return completions; - IAssistProposalModel *model = proposal->model(); - if (!model) - return completions; - CppAssistProposalModel *listmodel = dynamic_cast<CppAssistProposalModel *>(model); - if (!listmodel) - return completions; - const int pos = proposal->basePosition(); - const int length = data.pos - pos; - const QString prefix = Convenience::textAt(QTextCursor(data.editor->document()), pos, length); - if (!prefix.isEmpty()) - listmodel->filter(prefix); - - for (int i = 0; i < listmodel->size(); ++i) - completions << listmodel->text(i); +class CompletionTestCase +{ +public: + CompletionTestCase(const QByteArray &sourceText, const QByteArray &textToInsert = QByteArray()) + : position(-1), editorWidget(0), textDocument(0), editor(0), + cmm(CppModelManager::instance()) + { + source = sourceText; + position = source.indexOf('@'); + QVERIFY(position != -1); + source[position] = ' '; + + // Write source to file + const QString fileName = QDir::tempPath() + QLatin1String("/file.h"); + Utils::FileSaver srcSaver(fileName); + srcSaver.write(source); + srcSaver.finalize(); + + // Open in editor + editor = EditorManager::openEditor(fileName); + QVERIFY(editor); + editorWidget = qobject_cast<TextEditor::BaseTextEditorWidget *>(editor->widget()); + QVERIFY(editorWidget); + + textDocument = editorWidget->document(); + + // Get Document + while (!cmm->snapshot().contains(fileName)) + QCoreApplication::processEvents(); + Document::Ptr document = cmm->snapshot().document(fileName); + + snapshot.insert(document); + + if (!textToInsert.isEmpty()) + insertText(textToInsert); + } - if (replaceAccessOperator) - *replaceAccessOperator = listmodel->m_replaceDotForArrow; + ~CompletionTestCase() + { + EditorManager::instance()->closeEditors(QList<IEditor*>() << editor, + /*askAboutModifiedEditors=*/ false); + cmm->GC(); + QVERIFY(cmm->snapshot().isEmpty()); + } - return completions; -} + QStringList getCompletions(bool *replaceAccessOperator = 0) const + { + QStringList completions; + CppCompletionAssistInterface *ai + = new CppCompletionAssistInterface(editorWidget->document(), position, + editorWidget->editorDocument()->filePath(), + ExplicitlyInvoked, snapshot, + QStringList(), QStringList()); + CppCompletionAssistProcessor processor; + IAssistProposal *proposal = processor.perform(ai); + if (!proposal) + return completions; + IAssistProposalModel *model = proposal->model(); + if (!model) + return completions; + CppAssistProposalModel *listmodel = dynamic_cast<CppAssistProposalModel *>(model); + if (!listmodel) + return completions; + + const int pos = proposal->basePosition(); + const int length = position - pos; + const QString prefix = Convenience::textAt(QTextCursor(editorWidget->document()), pos, length); + if (!prefix.isEmpty()) + listmodel->filter(prefix); + + for (int i = 0; i < listmodel->size(); ++i) + completions << listmodel->text(i); + + if (replaceAccessOperator) + *replaceAccessOperator = listmodel->m_replaceDotForArrow; -static void setup(TestData *data) -{ - data->pos = data->srcText.indexOf('@'); - QVERIFY(data->pos != -1); - data->srcText[data->pos] = ' '; - Document::Ptr src = Document::create(QDir::tempPath() + QLatin1String("/file.h")); - Utils::FileSaver srcSaver(src->fileName()); - srcSaver.write(data->srcText); - srcSaver.finalize(); - src->setUtf8Source(data->srcText); - src->parse(); - src->check(); + return completions; + } - data->snapshot.insert(src); + void insertText(const QByteArray &text) + { + Utils::ChangeSet change; + change.insert(position, QLatin1String(text)); + QTextCursor cursor(textDocument); + change.apply(&cursor); + position += text.length(); + } - data->editor = new PlainTextEditorWidget(0); - QString error; - data->editor->open(&error, src->fileName(), src->fileName()); +private: + QByteArray source; + int position; + Snapshot snapshot; + BaseTextEditorWidget *editorWidget; + QTextDocument *textDocument; + IEditor *editor; - data->doc = data->editor->document(); -} + CppModelManager *cmm; +}; void CppToolsPlugin::test_completion_forward_declarations_present() { - TestData data; - data.srcText = "\n" - "class Foo\n" - "{\n" - " struct Bar;\n" - " int i;\n" - "};\n" - "\n" - "struct Foo::Bar \n" - "{\n" - " Bar() {}\n" - "};\n" - "\n" - "@\n" - "// padding so we get the scope right\n"; - - setup(&data); - - Utils::ChangeSet change; - change.insert(data.pos, QLatin1String("Foo::Bar::")); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += 10; + const QByteArray source = + "\n" + "class Foo\n" + "{\n" + " struct Bar;\n" + " int i;\n" + "};\n" + "\n" + "struct Foo::Bar \n" + "{\n" + " Bar() {}\n" + "};\n" + "\n" + "@\n" + "// padding so we get the scope right\n"; + CompletionTestCase test(source, "Foo::Bar::"); QStringList expected; expected.append(QLatin1String("Bar")); - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions, expected); } void CppToolsPlugin::test_completion_inside_parentheses_c_style_conversion() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "class Base\n" "{\n" " int i_base;\n" @@ -169,30 +197,19 @@ void CppToolsPlugin::test_completion_inside_parentheses_c_style_conversion() " @\n" "}\n" ; + CompletionTestCase test(source, "((Derived *)b)->"); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("((Derived *)b)->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 4); QVERIFY(completions.contains(QLatin1String("Derived"))); QVERIFY(completions.contains(QLatin1String("Base"))); QVERIFY(completions.contains(QLatin1String("i_derived"))); QVERIFY(completions.contains(QLatin1String("i_base"))); - } void CppToolsPlugin::test_completion_inside_parentheses_cast_operator_conversion() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "class Base\n" "{\n" " int i_base;\n" @@ -210,18 +227,9 @@ void CppToolsPlugin::test_completion_inside_parentheses_cast_operator_conversion " @\n" "}\n" ; + CompletionTestCase test(source, "(static_cast<Derived *>(b))->"); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("(static_cast<Derived *>(b))->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 4); QVERIFY(completions.contains(QLatin1String("Derived"))); QVERIFY(completions.contains(QLatin1String("Base"))); @@ -231,8 +239,7 @@ void CppToolsPlugin::test_completion_inside_parentheses_cast_operator_conversion void CppToolsPlugin::test_completion_basic_1() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "class Foo\n" "{\n" " void foo();\n" @@ -244,25 +251,18 @@ void CppToolsPlugin::test_completion_basic_1() " @\n" " // padding so we get the scope right\n" "}"; + CompletionTestCase test(source); - setup(&data); - - QStringList basicCompletions = getCompletions(data); - + QStringList basicCompletions = test.getCompletions(); QVERIFY(!basicCompletions.contains(QLatin1String("foo"))); QVERIFY(!basicCompletions.contains(QLatin1String("m"))); QVERIFY(basicCompletions.contains(QLatin1String("Foo"))); QVERIFY(basicCompletions.contains(QLatin1String("func"))); QVERIFY(basicCompletions.contains(QLatin1String("f"))); - Utils::ChangeSet change; - change.insert(data.pos, QLatin1String("f.")); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += 2; - - QStringList memberCompletions = getCompletions(data); + test.insertText("f."); + QStringList memberCompletions = test.getCompletions(); QVERIFY(memberCompletions.contains(QLatin1String("foo"))); QVERIFY(memberCompletions.contains(QLatin1String("m"))); QVERIFY(!memberCompletions.contains(QLatin1String("func"))); @@ -271,8 +271,7 @@ void CppToolsPlugin::test_completion_basic_1() void CppToolsPlugin::test_completion_template_1() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template <class T>\n" "class Foo\n" "{\n" @@ -286,17 +285,9 @@ void CppToolsPlugin::test_completion_template_1() " @\n" " // padding so we get the scope right\n" "}"; + CompletionTestCase test(source, "Foo::"); - setup(&data); - - Utils::ChangeSet change; - change.insert(data.pos, QLatin1String("Foo::")); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += 5; - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QVERIFY(completions.contains(QLatin1String("Type"))); QVERIFY(completions.contains(QLatin1String("foo"))); QVERIFY(completions.contains(QLatin1String("m"))); @@ -307,8 +298,7 @@ void CppToolsPlugin::test_completion_template_1() void CppToolsPlugin::test_completion_template_2() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template <class T>\n" "struct List\n" "{\n" @@ -322,18 +312,9 @@ void CppToolsPlugin::test_completion_template_2() " @\n" " // padding so we get the scope right\n" "}"; + CompletionTestCase test(source, "l.at(0)."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("l.at(0)."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 3); QVERIFY(completions.contains(QLatin1String("Tupple"))); QVERIFY(completions.contains(QLatin1String("a"))); @@ -342,8 +323,7 @@ void CppToolsPlugin::test_completion_template_2() void CppToolsPlugin::test_completion_template_3() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template <class T>\n" "struct List\n" "{\n" @@ -357,18 +337,9 @@ void CppToolsPlugin::test_completion_template_3() " @\n" " // padding so we get the scope right\n" "}"; + CompletionTestCase test(source, "l.t."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("l.t."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 3); QVERIFY(completions.contains(QLatin1String("Tupple"))); QVERIFY(completions.contains(QLatin1String("a"))); @@ -377,8 +348,7 @@ void CppToolsPlugin::test_completion_template_3() void CppToolsPlugin::test_completion_template_4() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template <class T>\n" "struct List\n" "{\n" @@ -393,18 +363,9 @@ void CppToolsPlugin::test_completion_template_4() " @\n" " // padding so we get the scope right\n" "}"; + CompletionTestCase test(source, "l.u."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("l.u."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 3); QVERIFY(completions.contains(QLatin1String("Tupple"))); QVERIFY(completions.contains(QLatin1String("a"))); @@ -413,8 +374,7 @@ void CppToolsPlugin::test_completion_template_4() void CppToolsPlugin::test_completion_template_5() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template <class T>\n" "struct List\n" "{\n" @@ -429,18 +389,9 @@ void CppToolsPlugin::test_completion_template_5() " @\n" " // padding so we get the scope right\n" "}"; + CompletionTestCase test(source, "l.u."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("l.u."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 3); QVERIFY(completions.contains(QLatin1String("Tupple"))); QVERIFY(completions.contains(QLatin1String("a"))); @@ -449,8 +400,7 @@ void CppToolsPlugin::test_completion_template_5() void CppToolsPlugin::test_completion_template_6() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "class Item\n" "{\n" " int i;\n" @@ -469,28 +419,17 @@ void CppToolsPlugin::test_completion_template_6() "ItemContainer container;\n" "@\n" ; + CompletionTestCase test(source, "container.get()."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("container.get()."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Item"))); QVERIFY(completions.contains(QLatin1String("i"))); } - void CppToolsPlugin::test_completion_template_7() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Test\n" "{\n" " int i;\n" @@ -512,18 +451,9 @@ void CppToolsPlugin::test_completion_template_7() "TemplateClass<Test> p(new Test);\n" "@\n" ; + CompletionTestCase test(source, "p->"); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Test"))); QVERIFY(completions.contains(QLatin1String("i"))); @@ -531,8 +461,7 @@ void CppToolsPlugin::test_completion_template_7() void CppToolsPlugin::test_completion_type_of_pointer_is_typedef() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "typedef struct Foo\n" "{\n" " int foo;\n" @@ -540,18 +469,9 @@ void CppToolsPlugin::test_completion_type_of_pointer_is_typedef() "Foo *bar;\n" "@\n" ; + CompletionTestCase test(source, "bar->"); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("bar->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("foo"))); @@ -559,8 +479,7 @@ void CppToolsPlugin::test_completion_type_of_pointer_is_typedef() void CppToolsPlugin::test_completion_instantiate_full_specialization() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template<typename T>\n" "struct Template\n" "{\n" @@ -576,18 +495,9 @@ void CppToolsPlugin::test_completion_instantiate_full_specialization() "Template<char> templateChar;\n" "@\n" ; + CompletionTestCase test(source, "templateChar."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("templateChar."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Template"))); QVERIFY(completions.contains(QLatin1String("templateChar_i"))); @@ -598,17 +508,9 @@ void CppToolsPlugin::test_completion() QFETCH(QByteArray, code); QFETCH(QStringList, expectedCompletions); - TestData data; - data.srcText = code; - setup(&data); - - Utils::ChangeSet change; - change.insert(data.pos, QLatin1String("c.")); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += 2; + CompletionTestCase test(code, "c."); - QStringList actualCompletions = getCompletions(data); + QStringList actualCompletions = test.getCompletions(); actualCompletions.sort(); expectedCompletions.sort(); @@ -643,7 +545,6 @@ void CppToolsPlugin::test_completion_template_as_base_data() completions.append(QLatin1String("otherMember")); QTest::newRow("case: base as template directly") << code << completions; - completions.clear(); code = "\n" "class Data { int dataMember; };\n" @@ -663,7 +564,6 @@ void CppToolsPlugin::test_completion_template_as_base_data() completions.append(QLatin1String("moreMember")); QTest::newRow("case: base as class template") << code << completions; - completions.clear(); code = "\n" "class Data { int dataMember; };\n" @@ -683,7 +583,6 @@ void CppToolsPlugin::test_completion_template_as_base_data() completions.append(QLatin1String("moreMember")); QTest::newRow("case: base as globally qualified class template") << code << completions; - completions.clear(); code = "\n" "class Data { int dataMember; };\n" @@ -705,7 +604,6 @@ void CppToolsPlugin::test_completion_template_as_base_data() completions.append(QLatin1String("moreMember")); QTest::newRow("case: base as namespace qualified class template") << code << completions; - completions.clear(); code = "\n" "class Data { int dataMember; };\n" @@ -725,7 +623,6 @@ void CppToolsPlugin::test_completion_template_as_base_data() completions.append(QLatin1String("finalMember")); QTest::newRow("case: base as nested template name") << code << completions; - completions.clear(); code = "\n" "class Data { int dataMember; };\n" @@ -830,9 +727,7 @@ void CppToolsPlugin::test_completion_use_global_identifier_as_base_class_data() completions.clear(); - //this test does not work due to the bug QTCREATORBUG-7912 - - + // This test does not work due to the bug QTCREATORBUG-7912 // code = "\n" // "struct Global\n" // "{\n" @@ -1032,7 +927,6 @@ void CppToolsPlugin::test_completion_base_class_has_name_the_same_as_derived_dat << code << completions; completions.clear(); - } void CppToolsPlugin::test_completion_cyclic_inheritance() @@ -1196,11 +1090,9 @@ void CppToolsPlugin::test_completion_template_function() QFETCH(QByteArray, code); QFETCH(QStringList, expectedCompletions); - TestData data; - data.srcText = code; - setup(&data); + CompletionTestCase test(code); - QStringList actualCompletions = getCompletions(data); + QStringList actualCompletions = test.getCompletions(); actualCompletions.sort(); expectedCompletions.sort(); @@ -1297,8 +1189,7 @@ void CppToolsPlugin::test_completion_enclosing_template_class_data() void CppToolsPlugin::test_completion_instantiate_nested_class_when_enclosing_is_template() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Foo \n" "{\n" " int foo_i;\n" @@ -1318,18 +1209,9 @@ void CppToolsPlugin::test_completion_instantiate_nested_class_when_enclosing_is_ "Enclosing<Foo> enclosing;\n" "@\n" ; + CompletionTestCase test(source, "enclosing.nested.nested_t."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("enclosing.nested.nested_t."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("foo_i"))); @@ -1337,8 +1219,7 @@ void CppToolsPlugin::test_completion_instantiate_nested_class_when_enclosing_is_ void CppToolsPlugin::test_completion_instantiate_nested_of_nested_class_when_enclosing_is_template() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Foo \n" "{\n" " int foo_i;\n" @@ -1362,18 +1243,9 @@ void CppToolsPlugin::test_completion_instantiate_nested_of_nested_class_when_enc "Enclosing<Foo> enclosing;\n" "@\n" ; + CompletionTestCase test(source, "enclosing.nested.nestedNested.nestedNested_t."); - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("enclosing.nested.nestedNested.nestedNested_t."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); - + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("foo_i"))); @@ -1381,8 +1253,7 @@ void CppToolsPlugin::test_completion_instantiate_nested_of_nested_class_when_enc void CppToolsPlugin::test_completion_instantiate_template_with_default_argument_type() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Foo\n" "{\n" " int bar;\n" @@ -1397,17 +1268,9 @@ void CppToolsPlugin::test_completion_instantiate_template_with_default_argument_ "Template<> templateWithDefaultTypeOfArgument;\n" "@\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("templateWithDefaultTypeOfArgument.t."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "templateWithDefaultTypeOfArgument.t."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1415,8 +1278,7 @@ void CppToolsPlugin::test_completion_instantiate_template_with_default_argument_ void CppToolsPlugin::test_completion_instantiate_template_with_default_argument_type_as_template() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Foo\n" "{\n" " int bar;\n" @@ -1436,17 +1298,9 @@ void CppToolsPlugin::test_completion_instantiate_template_with_default_argument_ "Template<Foo> templateWithDefaultTypeOfArgument;\n" "@\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("templateWithDefaultTypeOfArgument.s.t."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "templateWithDefaultTypeOfArgument.s.t."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1454,25 +1308,16 @@ void CppToolsPlugin::test_completion_instantiate_template_with_default_argument_ void CppToolsPlugin::test_completion_member_access_operator_1() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct S { void t(); };\n" "void f() { S *s;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("s."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "s."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); QVERIFY(completions.contains(QLatin1String("t"))); @@ -1481,26 +1326,17 @@ void CppToolsPlugin::test_completion_member_access_operator_1() void CppToolsPlugin::test_completion_typedef_of_type_and_decl_of_type_no_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct S { int m; };\n" "typedef S SType;\n" "SType p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); QVERIFY(completions.contains(QLatin1String("m"))); @@ -1509,52 +1345,34 @@ void CppToolsPlugin::test_completion_typedef_of_type_and_decl_of_type_no_replace void CppToolsPlugin::test_completion_typedef_of_pointer_and_decl_of_pointer_no_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct S { int m; };\n" "typedef S *SType;\n" "SType *p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 0); QVERIFY(!replaceAccessOperator); } void CppToolsPlugin::test_completion_typedef_of_type_and_decl_of_pointer_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct S { int m; };\n" "typedef S SType;\n" "SType *p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); QVERIFY(completions.contains(QLatin1String("m"))); @@ -1563,26 +1381,17 @@ void CppToolsPlugin::test_completion_typedef_of_type_and_decl_of_pointer_replace void CppToolsPlugin::test_completion_typedef_of_pointer_and_decl_of_type_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct S { int m; };\n" "typedef S* SPtr;\n" "SPtr p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); QVERIFY(completions.contains(QLatin1String("m"))); @@ -1591,26 +1400,17 @@ void CppToolsPlugin::test_completion_typedef_of_pointer_and_decl_of_type_replace void CppToolsPlugin::test_completion_predecl_typedef_of_type_and_decl_of_pointer_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "typedef struct S SType;\n" "struct S { int m; };\n" "SType *p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); QVERIFY(completions.contains(QLatin1String("m"))); @@ -1619,26 +1419,17 @@ void CppToolsPlugin::test_completion_predecl_typedef_of_type_and_decl_of_pointer void CppToolsPlugin::test_completion_predecl_typedef_of_type_and_decl_type_no_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "typedef struct S SType;\n" "struct S { int m; };\n" "SType p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); QVERIFY(completions.contains(QLatin1String("m"))); @@ -1647,52 +1438,34 @@ void CppToolsPlugin::test_completion_predecl_typedef_of_type_and_decl_type_no_re void CppToolsPlugin::test_completion_predecl_typedef_of_pointer_and_decl_of_pointer_no_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "typedef struct S *SType;\n" "struct S { int m; };\n" "SType *p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 0); QVERIFY(!replaceAccessOperator); } void CppToolsPlugin::test_completion_predecl_typedef_of_pointer_and_decl_of_type_replace_access_operator() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "typedef struct S *SType;\n" "struct S { int m; };\n" "SType p;\n" "@\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "p."); bool replaceAccessOperator = false; - QStringList completions = getCompletions(data, &replaceAccessOperator); - + const QStringList completions = test.getCompletions(&replaceAccessOperator); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); QVERIFY(completions.contains(QLatin1String("m"))); @@ -1701,8 +1474,7 @@ void CppToolsPlugin::test_completion_predecl_typedef_of_pointer_and_decl_of_type void CppToolsPlugin::test_completion_typedef_of_pointer() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Foo { int bar; };\n" "typedef Foo *FooPtr;\n" "void main()\n" @@ -1711,17 +1483,9 @@ void CppToolsPlugin::test_completion_typedef_of_pointer() " @\n" " // padding so we get the scope right\n" "}"; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("ptr->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "ptr->"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1729,8 +1493,7 @@ void CppToolsPlugin::test_completion_typedef_of_pointer() void CppToolsPlugin::test_completion_typedef_of_pointer_inside_function() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Foo { int bar; };\n" "void f()\n" "{\n" @@ -1739,17 +1502,9 @@ void CppToolsPlugin::test_completion_typedef_of_pointer_inside_function() " @\n" " // padding so we get the scope right\n" "}"; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("ptr->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "ptr->"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1757,8 +1512,7 @@ void CppToolsPlugin::test_completion_typedef_of_pointer_inside_function() void CppToolsPlugin::test_completion_typedef_is_inside_function_before_declaration_block() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "struct Foo { int bar; };\n" "void f()\n" "{\n" @@ -1770,17 +1524,9 @@ void CppToolsPlugin::test_completion_typedef_is_inside_function_before_declarati " }" "}" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("ptr->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "ptr->"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1788,8 +1534,7 @@ void CppToolsPlugin::test_completion_typedef_is_inside_function_before_declarati void CppToolsPlugin::test_completion_resolve_complex_typedef_with_template() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template <typename T>\n" "struct Template2\n" "{\n" @@ -1812,17 +1557,9 @@ void CppToolsPlugin::test_completion_resolve_complex_typedef_with_template() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("template2.templateTypedef."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "template2.templateTypedef."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 3); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1831,8 +1568,7 @@ void CppToolsPlugin::test_completion_resolve_complex_typedef_with_template() void CppToolsPlugin::test_completion_template_specialization_with_pointer() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "template <typename T>\n" "struct Template\n" "{\n" @@ -1846,17 +1582,9 @@ void CppToolsPlugin::test_completion_template_specialization_with_pointer() "Template<int*> templ;\n" "@\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("templ."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "templ."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Template"))); QVERIFY(completions.contains(QLatin1String("pointer"))); @@ -1864,8 +1592,7 @@ void CppToolsPlugin::test_completion_template_specialization_with_pointer() void CppToolsPlugin::test_completion_typedef_using_templates1() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "namespace NS1\n" "{\n" "template<typename T>\n" @@ -1898,17 +1625,9 @@ void CppToolsPlugin::test_completion_typedef_using_templates1() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("s.p->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "s.p->"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1916,8 +1635,7 @@ void CppToolsPlugin::test_completion_typedef_using_templates1() void CppToolsPlugin::test_completion_typedef_using_templates2() { - TestData data; - data.srcText = "\n" + const QByteArray source = "\n" "namespace NS1\n" "{\n" "template<typename T>\n" @@ -1950,17 +1668,9 @@ void CppToolsPlugin::test_completion_typedef_using_templates2() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("p->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "p->"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); @@ -1968,8 +1678,7 @@ void CppToolsPlugin::test_completion_typedef_using_templates2() void CppToolsPlugin::test_completion_namespace_alias_with_many_namespace_declarations() { - TestData data; - data.srcText = + const QByteArray source = "namespace NS1\n" "{\n" "namespace NS2\n" @@ -1997,17 +1706,9 @@ void CppToolsPlugin::test_completion_namespace_alias_with_many_namespace_declara " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("NS::"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "NS::"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo1"))); QVERIFY(completions.contains(QLatin1String("Foo2"))); @@ -2015,8 +1716,7 @@ void CppToolsPlugin::test_completion_namespace_alias_with_many_namespace_declara void CppToolsPlugin::test_completion_QTCREATORBUG9098() { - TestData data; - data.srcText = + const QByteArray source = "template <typename T>\n" "class B\n" "{\n" @@ -2034,19 +1734,10 @@ void CppToolsPlugin::test_completion_QTCREATORBUG9098() " // padding so we get the scope right\n" " }\n" "};\n" - ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("b."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "b."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("c"))); QVERIFY(completions.contains(QLatin1String("B"))); @@ -2182,13 +1873,11 @@ void CppToolsPlugin::test_completion_type_and_using_declaration_data() completions.append(QLatin1String("m")); QTest::newRow("case: type inside namespace NS1 and using declaration inside NS2 namespace") << code << completions; - } void CppToolsPlugin::test_completion_instantiate_template_with_anonymous_class() { - TestData data; - data.srcText = + const QByteArray source = "template <typename T>\n" "struct S\n" "{\n" @@ -2200,27 +1889,17 @@ void CppToolsPlugin::test_completion_instantiate_template_with_anonymous_class() " @\n" " // padding so we get the scope right\n" "}\n" - ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("s."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "s."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 1); QVERIFY(completions.contains(QLatin1String("S"))); } void CppToolsPlugin::test_completion_instantiate_template_function() { - TestData data; - data.srcText = + const QByteArray source = "template <typename T>\n" "T* templateFunction() { return 0; }\n" "struct A { int a; };\n" @@ -2230,17 +1909,9 @@ void CppToolsPlugin::test_completion_instantiate_template_function() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("templateFunction<A>()->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "templateFunction<A>()->"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("A"))); QVERIFY(completions.contains(QLatin1String("a"))); @@ -2248,8 +1919,7 @@ void CppToolsPlugin::test_completion_instantiate_template_function() void CppToolsPlugin::test_completion_crash_cloning_template_class_QTCREATORBUG9329() { - TestData data; - data.srcText = + const QByteArray source = "struct A {};\n" "template <typename T>\n" "struct Templ {};\n" @@ -2262,17 +1932,9 @@ void CppToolsPlugin::test_completion_crash_cloning_template_class_QTCREATORBUG93 " }\n" "};\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("this->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "this->"); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 4); QVERIFY(completions.contains(QLatin1String("A"))); QVERIFY(completions.contains(QLatin1String("B"))); @@ -2282,8 +1944,7 @@ void CppToolsPlugin::test_completion_crash_cloning_template_class_QTCREATORBUG93 void CppToolsPlugin::test_completion_recursive_auto_declarations1_QTCREATORBUG9503() { - TestData data; - data.srcText = + const QByteArray source = "void f()\n" "{\n" " auto object2 = object1;\n" @@ -2292,24 +1953,15 @@ void CppToolsPlugin::test_completion_recursive_auto_declarations1_QTCREATORBUG95 " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("object1."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "object1."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 0); } void CppToolsPlugin::test_completion_recursive_auto_declarations2_QTCREATORBUG9503() { - TestData data; - data.srcText = + const QByteArray source = "void f()\n" "{\n" " auto object3 = object1;\n" @@ -2319,24 +1971,15 @@ void CppToolsPlugin::test_completion_recursive_auto_declarations2_QTCREATORBUG95 " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("object1."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "object1."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 0); } void CppToolsPlugin::test_completion_recursive_typedefs_declarations1() { - TestData data; - data.srcText = + const QByteArray source = "void f()\n" "{\n" " typedef A B;\n" @@ -2346,24 +1989,15 @@ void CppToolsPlugin::test_completion_recursive_typedefs_declarations1() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("a."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "a."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 0); } void CppToolsPlugin::test_completion_recursive_typedefs_declarations2() { - TestData data; - data.srcText = + const QByteArray source = "void f()\n" "{\n" " typedef A C;\n" @@ -2374,24 +2008,15 @@ void CppToolsPlugin::test_completion_recursive_typedefs_declarations2() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("a."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "a."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 0); } void CppToolsPlugin::test_completion_recursive_using_declarations1() { - TestData data; - data.srcText = + const QByteArray source = "void f()\n" "{\n" " using B = A;\n" @@ -2401,24 +2026,15 @@ void CppToolsPlugin::test_completion_recursive_using_declarations1() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("a."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "a."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 0); } void CppToolsPlugin::test_completion_recursive_using_declarations2() { - TestData data; - data.srcText = + const QByteArray source = "void f()\n" "{\n" " using C = A;\n" @@ -2429,24 +2045,15 @@ void CppToolsPlugin::test_completion_recursive_using_declarations2() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("a."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "a."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 0); } void CppToolsPlugin::test_completion_recursive_using_typedef_declarations() { - TestData data; - data.srcText = + const QByteArray source = "void f()\n" "{\n" " using B = A;\n" @@ -2456,17 +2063,9 @@ void CppToolsPlugin::test_completion_recursive_using_typedef_declarations() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("a."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + CompletionTestCase test(source, "a."); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 0); } @@ -2606,8 +2205,7 @@ void CppToolsPlugin::test_completion_namespace_alias_inside_function_or_block_QT void CppToolsPlugin::test_completion_class_declaration_inside_function_or_block_QTCREATORBUG3620_static_member() { - TestData data; - data.srcText = + const QByteArray source = "void foo()\n" "{\n" " {\n" @@ -2620,16 +2218,9 @@ void CppToolsPlugin::test_completion_class_declaration_inside_function_or_block_ " }\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("C::"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "C::"); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 3); QVERIFY(completions.contains(QLatin1String("C"))); @@ -2639,8 +2230,7 @@ void CppToolsPlugin::test_completion_class_declaration_inside_function_or_block_ void CppToolsPlugin::test_completion_enum_inside_block_inside_function_QTCREATORBUG5456() { - TestData data; - data.srcText = + const QByteArray source = "void foo()\n" "{\n" " {\n" @@ -2650,16 +2240,9 @@ void CppToolsPlugin::test_completion_enum_inside_block_inside_function_QTCREATOR " }\n" "}\n" ; - setup(&data); + CompletionTestCase test(source, "E::"); - Utils::ChangeSet change; - QString txt = QLatin1String("E::"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 4); QVERIFY(completions.contains(QLatin1String("E"))); @@ -2670,8 +2253,7 @@ void CppToolsPlugin::test_completion_enum_inside_block_inside_function_QTCREATOR void CppToolsPlugin::test_completion_enum_inside_function_QTCREATORBUG5456() { - TestData data; - data.srcText = + const QByteArray source = "void foo()\n" "{\n" " enum E { e1, e2, e3 };\n" @@ -2679,16 +2261,9 @@ void CppToolsPlugin::test_completion_enum_inside_function_QTCREATORBUG5456() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("E::"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "E::"); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 4); QVERIFY(completions.contains(QLatin1String("E"))); @@ -2699,8 +2274,7 @@ void CppToolsPlugin::test_completion_enum_inside_function_QTCREATORBUG5456() void CppToolsPlugin::test_completion_lambdaCalls_1() { - TestData data; - data.srcText = + const QByteArray source = "struct S { int bar; };\n" "void foo()\n" "{\n" @@ -2708,16 +2282,9 @@ void CppToolsPlugin::test_completion_lambdaCalls_1() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("[](){ return new S; } ()->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "[](){ return new S; } ()->"); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); @@ -2726,8 +2293,7 @@ void CppToolsPlugin::test_completion_lambdaCalls_1() void CppToolsPlugin::test_completion_lambdaCalls_2() { - TestData data; - data.srcText = + const QByteArray source = "struct S { int bar; };\n" "void foo()\n" "{\n" @@ -2735,16 +2301,9 @@ void CppToolsPlugin::test_completion_lambdaCalls_2() " // padding so we get the scope right\n" "}\n" ; - setup(&data); + CompletionTestCase test(source, "[] { return new S; } ()->"); - Utils::ChangeSet change; - QString txt = QLatin1String("[] { return new S; } ()->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); @@ -2753,8 +2312,7 @@ void CppToolsPlugin::test_completion_lambdaCalls_2() void CppToolsPlugin::test_completion_lambdaCalls_3() { - TestData data; - data.srcText = + const QByteArray source = "struct S { int bar; };\n" "void foo()\n" "{\n" @@ -2762,16 +2320,9 @@ void CppToolsPlugin::test_completion_lambdaCalls_3() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("[]() ->S* { return new S; } ()->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "[]() ->S* { return new S; } ()->"); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); @@ -2780,8 +2331,7 @@ void CppToolsPlugin::test_completion_lambdaCalls_3() void CppToolsPlugin::test_completion_lambdaCalls_4() { - TestData data; - data.srcText = + const QByteArray source = "struct S { int bar; };\n" "void foo()\n" "{\n" @@ -2789,16 +2339,9 @@ void CppToolsPlugin::test_completion_lambdaCalls_4() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("[]() throw() { return new S; } ()->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "[]() throw() { return new S; } ()->"); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); @@ -2807,8 +2350,7 @@ void CppToolsPlugin::test_completion_lambdaCalls_4() void CppToolsPlugin::test_completion_lambdaCalls_5() { - TestData data; - data.srcText = + const QByteArray source = "struct S { int bar; };\n" "void foo()\n" "{\n" @@ -2816,16 +2358,9 @@ void CppToolsPlugin::test_completion_lambdaCalls_5() " // padding so we get the scope right\n" "}\n" ; - setup(&data); + CompletionTestCase test(source, "[]() throw()->S* { return new S; } ()->"); - Utils::ChangeSet change; - QString txt = QLatin1String("[]() throw()->S* { return new S; } ()->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("S"))); @@ -2834,8 +2369,7 @@ void CppToolsPlugin::test_completion_lambdaCalls_5() void CppToolsPlugin::test_completion_local_type_and_member_1() { - TestData data; - data.srcText = + const QByteArray source = "struct OtherType { int otherTypeMember; };\n" "void foo()\n" "{\n" @@ -2849,16 +2383,9 @@ void CppToolsPlugin::test_completion_local_type_and_member_1() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("lt.ot."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "lt.ot."); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("OtherType"))); @@ -2867,8 +2394,7 @@ void CppToolsPlugin::test_completion_local_type_and_member_1() void CppToolsPlugin::test_completion_local_type_and_member_2() { - TestData data; - data.srcText = + const QByteArray source = "void foo()\n" "{\n" " struct OtherType { int otherTypeMember; };\n" @@ -2882,16 +2408,9 @@ void CppToolsPlugin::test_completion_local_type_and_member_2() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("lt.ot."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "lt.ot."); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("OtherType"))); @@ -2900,8 +2419,7 @@ void CppToolsPlugin::test_completion_local_type_and_member_2() void CppToolsPlugin::test_completion_local_type_and_member_3() { - TestData data; - data.srcText = + const QByteArray source = "void foo()\n" "{\n" " struct OtherType { int otherTypeMember; };\n" @@ -2917,16 +2435,9 @@ void CppToolsPlugin::test_completion_local_type_and_member_3() " }\n" "}\n" ; - setup(&data); + CompletionTestCase test(source, "lt.ot."); - Utils::ChangeSet change; - QString txt = QLatin1String("lt.ot."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("OtherType"))); @@ -2935,8 +2446,7 @@ void CppToolsPlugin::test_completion_local_type_and_member_3() void CppToolsPlugin::test_completion_local_type_and_member_4() { - TestData data; - data.srcText = + const QByteArray source = "namespace NS {struct OtherType { int otherTypeMember; };}\n" "void foo()\n" "{\n" @@ -2950,16 +2460,9 @@ void CppToolsPlugin::test_completion_local_type_and_member_4() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("lt.ot."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "lt.ot."); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("OtherType"))); @@ -2968,8 +2471,7 @@ void CppToolsPlugin::test_completion_local_type_and_member_4() void CppToolsPlugin::test_completion_local_type_and_member_5() { - TestData data; - data.srcText = + const QByteArray source = "namespace NS {struct OtherType { int otherTypeMember; };}\n" "void foo()\n" "{\n" @@ -2984,16 +2486,9 @@ void CppToolsPlugin::test_completion_local_type_and_member_5() " // padding so we get the scope right\n" "}\n" ; - setup(&data); + CompletionTestCase test(source, "lt.ot."); - Utils::ChangeSet change; - QString txt = QLatin1String("lt.ot."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("OtherType"))); @@ -3002,8 +2497,7 @@ void CppToolsPlugin::test_completion_local_type_and_member_5() void CppToolsPlugin::test_completion_local_type_and_member_6() { - TestData data; - data.srcText = + const QByteArray source = "namespace NS {struct OtherType { int otherTypeMember; };}\n" "void foo()\n" "{\n" @@ -3018,16 +2512,9 @@ void CppToolsPlugin::test_completion_local_type_and_member_6() " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("lt.ot."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "lt.ot."); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("OtherType"))); @@ -3036,8 +2523,7 @@ void CppToolsPlugin::test_completion_local_type_and_member_6() void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_declaration_QTCREATORBUG9169_1() { - TestData data; - data.srcText = + const QByteArray source = "struct A\n" "{\n" " void foo();\n" @@ -3066,16 +2552,9 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("templ.get()->"); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "templ.get()->"); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("B"))); @@ -3084,8 +2563,7 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_declaration_QTCREATORBUG9169_2() { - TestData data; - data.srcText = + const QByteArray source = "struct A\n" "{\n" " void foo();\n" @@ -3114,16 +2592,9 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ " // padding so we get the scope right\n" "}\n" ; - setup(&data); + CompletionTestCase test(source, "templ.t."); - Utils::ChangeSet change; - QString txt = QLatin1String("templ.t."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("B"))); @@ -3132,8 +2603,7 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_declaration_QTCREATORBUG8852_1() { - TestData data; - data.srcText = + const QByteArray source = "template <typename T>\n" "struct QList\n" "{\n" @@ -3150,16 +2620,9 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ " }\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("list.at(0)."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "list.at(0)."); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); @@ -3168,8 +2631,7 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_declaration_QTCREATORBUG8852_2() { - TestData data; - data.srcText = + const QByteArray source = "template <typename T>\n" "struct QList\n" "{\n" @@ -3189,16 +2651,9 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ " }\n" "}\n" ; - setup(&data); + CompletionTestCase test(source, "list.at(0)."); - Utils::ChangeSet change; - QString txt = QLatin1String("list.at(0)."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); - - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); @@ -3207,8 +2662,7 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_declaration_QTCREATORBUG8852_3() { - TestData data; - data.srcText = + const QByteArray source = "template <typename T>\n" "struct QList\n" "{\n" @@ -3226,18 +2680,44 @@ void CppToolsPlugin::test_completion_template_parameter_defined_inside_scope_of_ " // padding so we get the scope right\n" "}\n" ; - setup(&data); - - Utils::ChangeSet change; - QString txt = QLatin1String("list.at(0)."); - change.insert(data.pos, txt); - QTextCursor cursor(data.doc); - change.apply(&cursor); - data.pos += txt.length(); + CompletionTestCase test(source, "list.at(0)."); - QStringList completions = getCompletions(data); + const QStringList completions = test.getCompletions(); QCOMPARE(completions.size(), 2); QVERIFY(completions.contains(QLatin1String("Foo"))); QVERIFY(completions.contains(QLatin1String("bar"))); } + +void CppToolsPlugin::test_completion_signals_hide_QPrivateSignal() +{ + const QByteArray source = + "#define SIGNAL(a) #a\n" + "#define SLOT(a) #a\n" + "#define signals public\n" + "#define Q_OBJECT struct QPrivateSignal {};\n" + "\n" + "class QObject\n" + "{\n" + "public:\n" + " void connect(QObject *, char *, QObject *, char *);\n" + "};\n" + "\n" + "class Timer : public QObject\n" + "{\n" + " Q_OBJECT\n" + "signals:\n" + " void timeout(QPrivateSignal);\n" + "};\n" + "\n" + "void client()\n" + "{\n" + " Timer *timer = new Timer;\n" + " connect(timer, SIGNAL(@\n" + "}\n"; + CompletionTestCase test(source); + + const QStringList completions = test.getCompletions(); + QCOMPARE(completions.size(), 1); + QVERIFY(completions.contains(QLatin1String("timeout()"))); +} diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp index b1daa94c2174fae3b53bf957847044a16bf8575a..4a1004acebbda533e418cb97f000269314762af1 100644 --- a/src/plugins/cpptools/cppcompletionassist.cpp +++ b/src/plugins/cpptools/cppcompletionassist.cpp @@ -476,8 +476,10 @@ private: void CppAssistProposal::makeCorrection(BaseTextEditor *editor) { + const int oldPosition = editor->position(); editor->setCursorPosition(basePosition() - 1); editor->replace(1, QLatin1String("->")); + editor->setCursorPosition(oldPosition + 1); moveBasePosition(1); } @@ -604,6 +606,24 @@ Function *asFunctionOrTemplateFunctionType(FullySpecifiedType ty) return 0; } +bool isQPrivateSignal(const Symbol *symbol) +{ + if (!symbol) + return false; + + static Identifier qPrivateSignalIdentifier("QPrivateSignal", 14); + + if (FullySpecifiedType type = symbol->type()) { + if (NamedType *namedType = type->asNamedType()) { + if (const Name *name = namedType->name()) { + if (name->isEqualTo(&qPrivateSignalIdentifier)) + return true; + } + } + } + return false; +} + } // Anonymous // ---------------------------- @@ -1639,6 +1659,8 @@ bool CppCompletionAssistProcessor::completeQtMethod(const QList<CPlusPlus::Looku signature += QLatin1Char('('); for (unsigned i = 0; i < count; ++i) { Symbol *arg = fun->argumentAt(i); + if (isQPrivateSignal(arg)) + continue; if (i != 0) signature += QLatin1Char(','); signature += o.prettyType(arg->type()); diff --git a/src/plugins/cpptools/cpptoolsplugin.h b/src/plugins/cpptools/cpptoolsplugin.h index 5c5b5dc6d1cf6c54b52747514a82c7afe4118451..61f7cae310b855c9c8f2c4264239e4939df37197 100644 --- a/src/plugins/cpptools/cpptoolsplugin.h +++ b/src/plugins/cpptools/cpptoolsplugin.h @@ -176,6 +176,8 @@ private slots: void test_completion_local_type_and_member_5(); void test_completion_local_type_and_member_6(); + void test_completion_signals_hide_QPrivateSignal(); + void test_format_pointerdeclaration_in_simpledeclarations(); void test_format_pointerdeclaration_in_simpledeclarations_data(); void test_format_pointerdeclaration_in_controlflowstatements(); diff --git a/src/plugins/cpptools/insertionpointlocator.cpp b/src/plugins/cpptools/insertionpointlocator.cpp index 5170203463c00ff260ef0ee115f892edc78b670c..48fc824f15b5ebc8008ed5679bb47fb0133f46e4 100644 --- a/src/plugins/cpptools/insertionpointlocator.cpp +++ b/src/plugins/cpptools/insertionpointlocator.cpp @@ -498,8 +498,7 @@ static InsertionLocation nextToSurroundingDefinitions(Symbol *declaration, Declaration *surroundingFunctionDecl = 0; for (int i = declIndex - 1; i >= 0; --i) { Symbol *s = klass->memberAt(i); - surroundingFunctionDecl = isNonVirtualFunctionDeclaration(s); - if (!surroundingFunctionDecl) + if (s->isGenerated() || !(surroundingFunctionDecl = isNonVirtualFunctionDeclaration(s))) continue; if ((definitionFunction = symbolFinder.findMatchingDefinition(surroundingFunctionDecl, changes.snapshot()))) diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 9ee8dc1c954f39d236cc547dcd8941e81b1936c1..44762aa8410e6cff2bac6e129c1c2e0491c2e81c 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -1156,19 +1156,20 @@ void CdbEngine::interruptInferior() if (debug) qDebug() << "CdbEngine::interruptInferior()" << stateName(state()); - bool ok = false; - if (!canInterruptInferior()) + if (!canInterruptInferior()) { + // Restore running state if inferior can't be stoped. showMessage(tr("Interrupting is not possible in remote sessions."), LogError); - else - ok = doInterruptInferior(NoSpecialStop); - // Restore running state if stop failed. - if (!ok) { STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorStopOk") notifyInferiorStopOk(); STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorRunRequested") notifyInferiorRunRequested(); STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorRunOk") notifyInferiorRunOk(); + return; + } + if (!doInterruptInferior(NoSpecialStop)) { + STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorStopFailed") + notifyInferiorStopFailed(); } } diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp index 77bede6c8f54e07f6439196384cee6f6dfb99707..9cba3a2a7bd19c8052413c2e08b0cf3f3b0bd1c3 100644 --- a/src/plugins/debugger/debuggerkitinformation.cpp +++ b/src/plugins/debugger/debuggerkitinformation.cpp @@ -325,14 +325,14 @@ DebuggerKitInformation::DebuggerItem DebuggerKitInformation::variantToItem(const break; } } - result.binary = Utils::FileName::fromString(binary); + result.binary = Utils::FileName::fromUserInput(binary); return result; } QVariant DebuggerKitInformation::itemToVariant(const DebuggerItem &i) { QVariantMap vmap; - vmap.insert(QLatin1String(binaryKeyC), QVariant(i.binary.toUserOutput())); + vmap.insert(QLatin1String(binaryKeyC), QVariant(i.binary.toString())); vmap.insert(QLatin1String(engineTypeKeyC), QVariant(int(i.engineType))); return QVariant(vmap); } diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 11828e58b2ca6459fb8cbcd5e99242e3c4c9dc87..4d4f639f9e4c68015b554f9e28ee45a6e3a68d6e 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -2664,6 +2664,7 @@ void DebuggerPluginPrivate::runControlFinished(DebuggerEngine *engine) m_snapshotHandler->activateSnapshot(0); } action(OperateByInstruction)->setValue(QVariant(false)); + m_logWindow->clearUndoRedoStacks(); } void DebuggerPluginPrivate::remoteCommand(const QStringList &options, diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h index 0e5f818f76350eefc532a2e974cff1c745338a17..0f510e18f189c2dea42430468e6742dda442722c 100644 --- a/src/plugins/debugger/debuggerstartparameters.h +++ b/src/plugins/debugger/debuggerstartparameters.h @@ -114,7 +114,6 @@ public: QString remoteChannel; QString symbolFileName; QString serverStartScript; - QString searchPath; // Gdb "set solib-search-path" QString debugInfoLocation; // Gdb "set-debug-file-directory". QStringList debugSourceLocation; // Gdb "directory" QByteArray remoteSourcesDir; diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 96191d079b53ee71b5bbeae6f26d18f6cff6f0f9..90d3f1396c7c7c563980f05989bb93ffaa3b5ecf 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -1829,7 +1829,7 @@ void GdbEngine::handleShowVersion(const GdbResponse &response) postCommand("set detach-on-fork off", ConsoleCommand); //postCommand("set build-id-verbose 2", ConsoleCommand); - postCommand("python print 43", ConsoleCommand, CB(handleHasPython)); + postCommand("python print(sys.version)", ConsoleCommand, CB(handleHasPython)); } } diff --git a/src/plugins/debugger/logwindow.cpp b/src/plugins/debugger/logwindow.cpp index 0b62cc0f60f7f72b00e7d31f758dfefe686088be..68fca7500cd23897b94ad8ae1a2153793cf83d6a 100644 --- a/src/plugins/debugger/logwindow.cpp +++ b/src/plugins/debugger/logwindow.cpp @@ -200,6 +200,13 @@ public: appendPlainText(text); } + void clearUndoRedoStacks() + { + if (!isUndoRedoEnabled()) + return; + setUndoRedoEnabled(false); + setUndoRedoEnabled(true); + } private slots: void saveContents(); @@ -551,6 +558,12 @@ QString LogWindow::inputContents() const return m_inputText->toPlainText(); } +void LogWindow::clearUndoRedoStacks() +{ + m_inputText->clearUndoRedoStacks(); + m_combinedText->clearUndoRedoStacks(); +} + QString LogWindow::logTimeStamp() { // Cache the last log time entry by ms. If time progresses, diff --git a/src/plugins/debugger/logwindow.h b/src/plugins/debugger/logwindow.h index e303c3b1b99e18c48ae5cb8765a70f3397b1bf81..2f1f3e179a269f2e84252883b4037b8cf0213ffb 100644 --- a/src/plugins/debugger/logwindow.h +++ b/src/plugins/debugger/logwindow.h @@ -61,6 +61,8 @@ public: QString combinedContents() const; QString inputContents() const; + void clearUndoRedoStacks(); + static QString logTimeStamp(); static bool writeLogContents(const QPlainTextEdit *editor, QWidget *parent = 0); diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index dbae89ae6753a028eba42f7337ec69696f6dfce1..387548a156c908e2812dfbbc2f09b5f7cfa1979e 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -761,9 +761,6 @@ void QmlCppEngine::slaveEngineStateChanged QTC_ASSERT(state() == InferiorRunRequested, qDebug() << state()); notifyInferiorRunOk(); } - } else if (newState == EngineRunFailed) { - if (d->m_cppEngine->targetState() != DebuggerFinished) - d->m_cppEngine->quitDebugger(); } } } diff --git a/src/plugins/debugger/watchwindow.cpp b/src/plugins/debugger/watchwindow.cpp index c1b1ca26468cc53bdc8645a8de9c35e623ea3107..99a86b27577779647a06ebf3617a8e4262e27a29 100644 --- a/src/plugins/debugger/watchwindow.cpp +++ b/src/plugins/debugger/watchwindow.cpp @@ -965,9 +965,10 @@ bool WatchTreeView::event(QEvent *ev) return BaseTreeView::event(ev); } -void WatchTreeView::currentChanged(const QModelIndex ¤t, const QModelIndex &) +void WatchTreeView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { emit currentIndexChanged(current); + BaseTreeView::currentChanged(current, previous); } void WatchTreeView::editItem(const QModelIndex &idx) diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 5c71396a066b16e431495bbab05c56049567d094..a50a28fbbf43a825ef82897ecd907a5f5b2927ec 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -1026,7 +1026,6 @@ FakeVimPluginPrivate::~FakeVimPluginPrivate() q->removeObject(m_fakeVimOptionsPage); delete m_fakeVimOptionsPage; m_fakeVimOptionsPage = 0; - delete theFakeVimSettings(); q->removeObject(m_fakeVimExCommandsPage); delete m_fakeVimExCommandsPage; @@ -1035,6 +1034,8 @@ FakeVimPluginPrivate::~FakeVimPluginPrivate() q->removeObject(m_fakeVimUserCommandsPage); delete m_fakeVimUserCommandsPage; m_fakeVimUserCommandsPage = 0; + + theFakeVimSettings()->deleteLater(); } void FakeVimPluginPrivate::onCoreAboutToClose() diff --git a/src/plugins/git/branchdialog.cpp b/src/plugins/git/branchdialog.cpp index fe537736fbd472c8940105eddc1aea1a73bf0860..fa5321f479f6918903dc5b8ed0867e7473bf254e 100644 --- a/src/plugins/git/branchdialog.cpp +++ b/src/plugins/git/branchdialog.cpp @@ -203,8 +203,8 @@ void BranchDialog::checkout() } else if (branchCheckoutDialog.exec() == QDialog::Accepted && m_model) { if (branchCheckoutDialog.makeStashOfCurrentBranch()) { - if (!gitClient->executeSynchronousStash(m_repository, - currentBranch + QLatin1String("-AutoStash"))) { + if (gitClient->synchronousStash(m_repository, + currentBranch + QLatin1String("-AutoStash")).isEmpty()) { return; } } else if (branchCheckoutDialog.moveLocalChangesToNextBranch()) { diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index b80b186c71829ce8bfe1819048e096e5cbae1973..0d7a760223813322229d84b06078c16f672ac33f 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -697,12 +697,16 @@ public: ~ConflictHandler() { - GitClient *client = GitPlugin::instance()->gitClient(); - if (m_commit.isEmpty() && m_files.isEmpty()) { - if (client->checkCommandInProgress(m_workingDirectory) == GitClient::NoCommand) - client->endStashScope(m_workingDirectory); - } else { - client->handleMergeConflicts(m_workingDirectory, m_commit, m_files, m_command); + // If interactive rebase editor window is closed, plugin is terminated + // but referenced here when the command ends + if (GitPlugin *plugin = GitPlugin::instance()) { + GitClient *client = plugin->gitClient(); + if (m_commit.isEmpty() && m_files.isEmpty()) { + if (client->checkCommandInProgress(m_workingDirectory) == GitClient::NoCommand) + client->endStashScope(m_workingDirectory); + } else { + client->handleMergeConflicts(m_workingDirectory, m_commit, m_files, m_command); + } } } diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp index 437ea34ddd774821083c628c618164187361066a..9ebc21b40928e87242638f897a4987cc9c62eb98 100644 --- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp +++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp @@ -278,7 +278,9 @@ bool AbstractMsvcToolChain::generateEnvironmentSettings(Utils::Environment &env, // if Creator is launched within a session set up by setenv.cmd. env.unset(QLatin1String("ORIGINALPATH")); run.setEnvironment(env); - const QString cmdPath = QString::fromLocal8Bit(qgetenv("COMSPEC")); + QString cmdPath = QString::fromLocal8Bit(qgetenv("COMSPEC")); + if (cmdPath.isEmpty()) + cmdPath = env.searchInPath(QLatin1String("cmd.exe")); // Windows SDK setup scripts require command line switches for environment expansion. QString cmdArguments = QLatin1String(" /E:ON /V:ON /c \""); cmdArguments += QDir::toNativeSeparators(saver.fileName()); diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp index 9e4626af03972c00bfcf5011d7b9372fdc5d5e29..71b7df21b01f2b720d34607348c43b3387bfdbcd 100644 --- a/src/plugins/projectexplorer/customtoolchain.cpp +++ b/src/plugins/projectexplorer/customtoolchain.cpp @@ -519,9 +519,13 @@ CustomToolChainConfigWidget::CustomToolChainConfigWidget(CustomToolChain *tc) : m_predefinedDetails->updateSummaryText(); m_headerDetails->updateSummaryText(); + connect(m_compilerCommand, SIGNAL(changed(QString)), this, SIGNAL(dirty())); + connect(m_makeCommand, SIGNAL(changed(QString)), this, SIGNAL(dirty())); connect(m_abiWidget, SIGNAL(abiChanged()), this, SIGNAL(dirty())); connect(m_predefinedMacros, SIGNAL(textChanged()), this, SLOT(updateSummaries())); connect(m_headerPaths, SIGNAL(textChanged()), this, SLOT(updateSummaries())); + connect(m_cxx11Flags, SIGNAL(textChanged(QString)), this, SIGNAL(dirty())); + connect(m_mkspecs, SIGNAL(textChanged(QString)), this, SIGNAL(dirty())); connect(m_errorParserComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(errorParserChanged(int))); connect(m_customParserSettingsButton, SIGNAL(clicked()), @@ -535,6 +539,7 @@ void CustomToolChainConfigWidget::updateSummaries() m_predefinedDetails->updateSummaryText(); else m_headerDetails->updateSummaryText(); + emit dirty(); } void CustomToolChainConfigWidget::errorParserChanged(int index) diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 366774b672f67e8814c60617b2c6c8e6d70e4777..b511229e59a48661aa631682b77a940846e3e665 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -935,6 +935,8 @@ void GccToolChainConfigWidget::makeReadOnlyImpl() { m_compilerCommand->setEnabled(false); m_abiWidget->setEnabled(false); + m_platformCodeGenFlagsLineEdit->setEnabled(false); + m_platformLinkerFlagsLineEdit->setEnabled(false); m_isReadOnly = true; } diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp index 9db36e72bad23c6fcee37d6508f0d155179181ad..2475c90b4878fe1ccc95d59ec0b8e932cf42f686 100644 --- a/src/plugins/projectexplorer/projectfilewizardextension.cpp +++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp @@ -48,6 +48,7 @@ #include <texteditor/icodestylepreferencesfactory.h> #include <texteditor/normalindenter.h> #include <texteditor/tabsettings.h> +#include <texteditor/storagesettings.h> #include <projectexplorer/project.h> #include <projectexplorer/editorconfiguration.h> @@ -571,13 +572,19 @@ void ProjectFileWizardExtension::applyCodeStyle(Core::GeneratedFile *file) const TextEditor::ICodeStylePreferences *codeStylePrefs = codeStylePreferences(baseProject, languageId); indenter->setCodeStylePreferences(codeStylePrefs); - QTextDocument doc(file->contents()); QTextCursor cursor(&doc); cursor.select(QTextCursor::Document); indenter->indent(&doc, cursor, QChar::Null, codeStylePrefs->currentTabSettings()); - file->setContents(doc.toPlainText()); delete indenter; + if (TextEditor::TextEditorSettings::instance()->storageSettings().m_cleanWhitespace) { + QTextBlock block = doc.firstBlock(); + while (block.isValid()) { + codeStylePrefs->currentTabSettings().removeTrailingWhitespace(cursor, block); + block = block.next(); + } + } + file->setContents(doc.toPlainText()); } QStringList ProjectFileWizardExtension::getProjectChoices() const diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp index 2c59261c9482d44635aa8c27c3de5f28b5143ddf..8d367c376e862978f6600eb5d288ef33da45a44c 100644 --- a/src/plugins/projectexplorer/settingsaccessor.cpp +++ b/src/plugins/projectexplorer/settingsaccessor.cpp @@ -577,6 +577,8 @@ QVariantMap mergeSharedSettings(const QVariantMap &userMap, const QVariantMap &s QVariantMap result = userMap; if (sharedMap.isEmpty()) return result; + if (userMap.isEmpty()) + return sharedMap; QSet<QString> stickyKeys; const QVariant stickyList = result.take(QLatin1String(USER_STICKY_KEYS_KEY)).toList(); @@ -897,19 +899,23 @@ SettingsAccessor::SettingsData SettingsAccessor::mergeSettings(const SettingsAcc { SettingsData newUser = user; SettingsData newShared = shared; + SettingsData result; if (shared.isValid() && user.isValid()) { while (newUser.version() < newShared.version()) incrementVersion(newUser); while (newShared.version() < newUser.version()) incrementVersion(newShared); + result = newUser; + result.m_map = mergeSharedSettings(newUser.m_map, newShared.m_map); + } else if (shared.isValid()) { + result = shared; + } else if (user.isValid()) { + result = user; } m_project->setProperty(SHARED_SETTINGS, newShared.m_map); - SettingsData result = newUser; - result.m_map = mergeSharedSettings(newUser.m_map, newShared.m_map); - if (!result.isValid()) return result; diff --git a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp index 867f4b2575106239e88b8748af6340cb8798a80a..4c22033961ff28881899b38eac35c007ca97ec9b 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp @@ -85,11 +85,9 @@ bool Exception::shouldAssert() } /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, \a function uses + the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ Exception::Exception(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp index b8c79262ca36d9738c7a4af9f8ffaf013cd1cbe3..e96420e83dafb2587c40f310a7dcd37ce4facf93 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp @@ -40,11 +40,9 @@ argument. namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs the exception for \a argument. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ InvalidArgumentException::InvalidArgumentException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp index c5a9f1d517c2a973cc72c6a13c0bc66649feb906..7053a3c6e5a822065f2ec78da3491fd570d31696 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp @@ -39,11 +39,9 @@ info. */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ InvalidMetaInfoException::InvalidMetaInfoException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp index 10d1d2426b90cb6396b44f41be95bcb3d8c2a06e..2a85a71b28416c46364ff137df6f6749dafdc9c0 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp @@ -39,11 +39,9 @@ model node. */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ InvalidModelNodeException::InvalidModelNodeException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp index 7c02df82d35fbfa2e756c6884be077543f612a12..1930b377f49ebeb4027f092b2d48e3ff9cc0e809 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp @@ -40,11 +40,9 @@ invalid model state. */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ InvalidModelStateException::InvalidModelStateException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp index 0f6a850dac88287fd6e3ca5fee00373a63f2f5f6..51e61cc6f68e1b2c0f771bd687b9363ecc029849 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp @@ -38,11 +38,9 @@ property. */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ InvalidPropertyException::InvalidPropertyException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp index f309573cc80bc000bb938b7d9394923ec44ec4fb..af899afe2920c85a018d336ff3a10bacdbffd5c6 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp @@ -38,12 +38,9 @@ source code. */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro -\param qmlSource qml source string + Constructs an exception for \qmlSource. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ InvalidQmlSourceException::InvalidQmlSourceException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp index 8184ff308ffe08b76e0c17613251f901f9dce848..97fd0474ee6f14bb72501252c6b0fbf038d3432c 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp @@ -38,11 +38,9 @@ */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ InvalidReparentingException::InvalidReparentingException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp index 5989866acac0cef0c6b365bf7cb912d76462f1aa..057db79dd53a8d0d4431d13a2cea2fa6895002d8 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp @@ -39,11 +39,8 @@ index for a slide. */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses */ InvalidSlideIndexException::InvalidSlideIndexException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp index baa75e07dd6a0572c867a79ee026cdaa0c518eb1..01ec9752a0cdc894f5d9b291637a888864f6b3fa 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp @@ -38,11 +38,9 @@ modification group. */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ ModificationGroupException::ModificationGroupException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp index d761903aaae305c43111e5b74d1dc8190a39eb64..105d93c1cc97a803a114d94e3365a0b0cd50fd13 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp @@ -39,11 +39,9 @@ */ namespace QmlDesigner { /*! -\brief Constructor - -\param line use the __LINE__ macro -\param function use the __FUNCTION__ or the Q_FUNC_INFO macro -\param file use the __FILE__ macro + Constructs an exception. \a line uses the __LINE__ macro, + \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses + the __FILE__ macro. */ RemoveBaseStateException::RemoveBaseStateException(int line, const QString &function, diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index bddc51a8c984fa81f5114878450203210dff5c7f..21d4b2d333b9daf684e183c1ab51a9015904a76f 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -91,12 +91,12 @@ For this purpose this view can be rendered offscreen. namespace QmlDesigner { -/*! \brief Constructor +/*! + Constructs a node instance view object as a child of \a parent. If \a parent + is destructed, this instance is destructed, too. The class will be rendered offscreen if not set otherwise. -\param Parent of this object. If this parent is d this instance is -d too. \see ~NodeInstanceView setRenderOffScreen */ diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp index 7b864263dcda23a07c9af967ba71a6a791fcd6a3..46e6502175a35178baf9f62145cce6966071ecbb 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.cpp +++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp @@ -245,7 +245,7 @@ ModelManager::ModelManager(QObject *parent): connect(m_updateCppQmlTypesTimer, SIGNAL(timeout()), SLOT(startCppQmlTypeUpdate())); m_asyncResetTimer = new QTimer(this); - m_asyncResetTimer->setInterval(1000); + m_asyncResetTimer->setInterval(15000); m_asyncResetTimer->setSingleShot(true); connect(m_asyncResetTimer, SIGNAL(timeout()), SLOT(resetCodeModel())); diff --git a/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.cpp b/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.cpp index 499bb7514199d439b8e5dc4fddec19ab12d2e686..6c139e87466bf27183fc1e184062c238c9d80529 100644 --- a/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2013 Kläralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com ** Contact: http://www.qt-project.org/legal ** ** This file is part of Qt Creator. diff --git a/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.h b/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.h index 46f2573df23903e736d9a8982cd74d510b8e8d37..3973411d93a81a5d7edb1eee8241b8a0a1c9ab41 100644 --- a/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.h +++ b/src/plugins/qmlprofiler/qmlprofilerruncontrolfactory.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2013 Kläralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com ** Contact: http://www.qt-project.org/legal ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnx.qbs b/src/plugins/qnx/qnx.qbs index 7709fd6716b5056dcf1dbab7687b6408b00c4d9f..c5c750d8d3e63de8dadad4917a64ea68ca3da2e9 100644 --- a/src/plugins/qnx/qnx.qbs +++ b/src/plugins/qnx/qnx.qbs @@ -14,6 +14,7 @@ QtcPlugin { Depends { name: "Qt4ProjectManager" } Depends { name: "RemoteLinux" } Depends { name: "TextEditor" } + Depends { name: "QmlDebug" } Depends { name: "Qt"; submodules: ["widgets", "xml", "network"] } cpp.includePaths: base.concat("../../shared") diff --git a/src/plugins/qt4projectmanager/qmakekitinformation.cpp b/src/plugins/qt4projectmanager/qmakekitinformation.cpp index 4367582d62a602c2323506acabab7a85b6b4bfda..d06e8fbd0eafc5ba3e2898d806a18cbb2baf01c5 100644 --- a/src/plugins/qt4projectmanager/qmakekitinformation.cpp +++ b/src/plugins/qt4projectmanager/qmakekitinformation.cpp @@ -95,7 +95,7 @@ void QmakeKitInformation::setup(ProjectExplorer::Kit *k) ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); - if (!tc || !tc->suggestedMkspecList().contains(spec)) { + if (!tc || (!tc->suggestedMkspecList().empty() && !tc->suggestedMkspecList().contains(spec))) { QList<ProjectExplorer::ToolChain *> tcList = ProjectExplorer::ToolChainManager::instance()->toolChains(); ProjectExplorer::ToolChain *possibleTc = 0; foreach (ProjectExplorer::ToolChain *current, tcList) { diff --git a/src/plugins/texteditor/basetextdocument.cpp b/src/plugins/texteditor/basetextdocument.cpp index ef35a05a292a8a41250ae3d2ac26eadd608ddcf2..3b7c060e06d56c0e58461a865816244b3c73d278 100644 --- a/src/plugins/texteditor/basetextdocument.cpp +++ b/src/plugins/texteditor/basetextdocument.cpp @@ -466,11 +466,7 @@ void BaseTextDocument::cleanWhitespace(QTextCursor &cursor, bool cleanIndentatio if (inEntireDocument || block.revision() != documentLayout->lastSaveRevision) { QString blockText = block.text(); - if (int trailing = d->m_tabSettings.trailingWhitespaces(blockText)) { - cursor.setPosition(block.position() + block.length() - 1); - cursor.movePosition(QTextCursor::PreviousCharacter, QTextCursor::KeepAnchor, trailing); - cursor.removeSelectedText(); - } + d->m_tabSettings.removeTrailingWhitespace(cursor, block); if (cleanIndentation && !d->m_tabSettings.isIndentationClean(block)) { cursor.setPosition(block.position()); int firstNonSpace = d->m_tabSettings.firstNonSpace(blockText); diff --git a/src/plugins/texteditor/tabsettings.cpp b/src/plugins/texteditor/tabsettings.cpp index fbcce87e7a833ca1712bdf1c446e620d6a02ebb1..f8a2ec162a697344c6c57c98d1c50fb51f8908b6 100644 --- a/src/plugins/texteditor/tabsettings.cpp +++ b/src/plugins/texteditor/tabsettings.cpp @@ -152,6 +152,15 @@ int TabSettings::trailingWhitespaces(const QString &text) const return i; } +void TabSettings::removeTrailingWhitespace(QTextCursor cursor, QTextBlock &block) const +{ + if (const int trailing = trailingWhitespaces(block.text())) { + cursor.setPosition(block.position() + block.length() - 1); + cursor.movePosition(QTextCursor::PreviousCharacter, QTextCursor::KeepAnchor, trailing); + cursor.removeSelectedText(); + } +} + bool TabSettings::isIndentationClean(const QTextBlock &block) const { int i = 0; diff --git a/src/plugins/texteditor/tabsettings.h b/src/plugins/texteditor/tabsettings.h index 95071667df64b20572c5954ecd6af9d5223a21a9..e28fd2f1f88ad211af5d5df48173fe0619201ccd 100644 --- a/src/plugins/texteditor/tabsettings.h +++ b/src/plugins/texteditor/tabsettings.h @@ -85,6 +85,7 @@ public: void reindentLine(QTextBlock block, int delta) const; int trailingWhitespaces(const QString &text) const; + void removeTrailingWhitespace(QTextCursor cursor, QTextBlock &block) const; bool isIndentationClean(const QTextBlock &block) const; bool guessSpacesForTabs(const QTextBlock &block) const; diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index ce2da09161fb0d74c0433ae993770e2f1fc76f01..5bd897625eb422be9da9fe68ca5700b93c212c77 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -322,19 +322,21 @@ void TextEditorPlugin::updateVariable(const QByteArray &variable) void TextEditorPlugin::updateCurrentSelection(const QString &text) { - Core::IEditor *iface = Core::EditorManager::currentEditor(); - ITextEditor *editor = qobject_cast<ITextEditor *>(iface); - if (editor) { - int pos = editor->position(); + if (ITextEditor *editor = qobject_cast<ITextEditor *>(Core::EditorManager::currentEditor())) { + const int pos = editor->position(); int anchor = editor->position(ITextEditor::Anchor); if (anchor < 0) // no selection anchor = pos; - int selectionLength = anchor-pos; - if (selectionLength < 0) + int selectionLength = pos - anchor; + const bool selectionInTextDirection = selectionLength >= 0; + if (!selectionInTextDirection) selectionLength = -selectionLength; - int start = qMin(pos, anchor); + const int start = qMin(pos, anchor); editor->setCursorPosition(start); editor->replace(selectionLength, text); + const int replacementEnd = editor->position(); + editor->setCursorPosition(selectionInTextDirection ? start : replacementEnd); + editor->select(selectionInTextDirection ? replacementEnd : start); } } diff --git a/src/plugins/valgrind/valgrindruncontrolfactory.cpp b/src/plugins/valgrind/valgrindruncontrolfactory.cpp index 67b31438eba1145f8c189ee8d0b8687f58cb0ff6..f83626bbedf0c90fd9d1d9ed8cf53885271d36c0 100644 --- a/src/plugins/valgrind/valgrindruncontrolfactory.cpp +++ b/src/plugins/valgrind/valgrindruncontrolfactory.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2013 Kläralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com ** Contact: http://www.qt-project.org/legal ** ** This file is part of Qt Creator. diff --git a/src/plugins/valgrind/valgrindruncontrolfactory.h b/src/plugins/valgrind/valgrindruncontrolfactory.h index 74cd0d79a4f2af4f07dc20eec3367a4117193cc1..90b67290e4653b8522146ee482edd4ed45a266ad 100644 --- a/src/plugins/valgrind/valgrindruncontrolfactory.h +++ b/src/plugins/valgrind/valgrindruncontrolfactory.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2013 Kläralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com ** Contact: http://www.qt-project.org/legal ** ** This file is part of Qt Creator. diff --git a/src/plugins/vcsbase/command.cpp b/src/plugins/vcsbase/command.cpp index 8e73d1a318145d6d9b9f98fb7bfce3ea07acc96a..a719c44d27bf1b82bd75c47175d2be1d0dddc3c6 100644 --- a/src/plugins/vcsbase/command.cpp +++ b/src/plugins/vcsbase/command.cpp @@ -34,6 +34,7 @@ #include <coreplugin/progressmanager/progressmanager.h> #include <coreplugin/vcsmanager.h> #include <utils/synchronousprocess.h> +#include <utils/runextensions.h> #include <QDebug> #include <QProcess> @@ -184,7 +185,7 @@ void Command::execute() return; // For some reason QtConcurrent::run() only works on this - QFuture<void> task = QtConcurrent::run(this, &Command::run); + QFuture<void> task = QtConcurrent::run(&Command::run, this); QString binary = QFileInfo(d->m_binaryPath).baseName(); if (!binary.isEmpty()) binary = binary.replace(0, 1, binary[0].toUpper()); // Upper the first letter @@ -203,7 +204,7 @@ int Command::lastExecutionExitCode() const return d->m_lastExecExitCode; } -void Command::run() +void Command::run(QFutureInterface<void> &future) { // Check that the binary path is not empty if (binaryPath().trimmed().isEmpty()) { @@ -233,13 +234,15 @@ void Command::run() break; } - emit output(stdOut); - if (!stdErr.isEmpty()) - emit errorText(stdErr); + if (!future.isCanceled()) { + emit output(stdOut); + if (!stdErr.isEmpty()) + emit errorText(stdErr); - emit finished(d->m_lastExecSuccess, d->m_lastExecExitCode, cookie()); - if (d->m_lastExecSuccess) - emit success(cookie()); + emit finished(d->m_lastExecSuccess, d->m_lastExecExitCode, cookie()); + if (d->m_lastExecSuccess) + emit success(cookie()); + } // As it is used asynchronously, we need to delete ourselves this->deleteLater(); diff --git a/src/plugins/vcsbase/command.h b/src/plugins/vcsbase/command.h index bfbb05dbb1e6055b030b7b605db9755ec246845e..32a2bee5f7af474704bdcfa3b698432840feb39d 100644 --- a/src/plugins/vcsbase/command.h +++ b/src/plugins/vcsbase/command.h @@ -34,9 +34,13 @@ #include <QObject> -QT_FORWARD_DECLARE_CLASS(QStringList) -QT_FORWARD_DECLARE_CLASS(QVariant) -QT_FORWARD_DECLARE_CLASS(QProcessEnvironment) +QT_BEGIN_NAMESPACE +class QStringList; +class QVariant; +class QProcessEnvironment; +template <typename T> +class QFutureInterface; +QT_END_NAMESPACE namespace VcsBase { @@ -79,7 +83,7 @@ public: void setCodec(QTextCodec *codec); private: - void run(); + void run(QFutureInterface<void> &future); signals: void output(const QString &); diff --git a/src/plugins/vcsbase/vcsbaseoutputwindow.cpp b/src/plugins/vcsbase/vcsbaseoutputwindow.cpp index eecc789d0011a02049397b32fde2123bb2fd44f0..200271a325ca49719c8574e42c17bd6af03277a5 100644 --- a/src/plugins/vcsbase/vcsbaseoutputwindow.cpp +++ b/src/plugins/vcsbase/vcsbaseoutputwindow.cpp @@ -117,6 +117,7 @@ OutputWindowPlainTextEdit::OutputWindowPlainTextEdit(QWidget *parent) : m_messageFormat(m_defaultFormat) { setReadOnly(true); + setUndoRedoEnabled(false); setFrameStyle(QFrame::NoFrame); m_errorFormat.setForeground(Qt::red); m_warningFormat.setForeground(Qt::darkYellow); diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index eb58632c84bbdf3564b577314426b6a64e4d84b4..0f60a5c4ee383cb86aa1b9eefff4596745d069c9 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -44,6 +44,9 @@ #include <qset.h> #include <qstringlist.h> #include <qtextstream.h> +#ifdef PROEVALUATOR_THREAD_SAFE +# include <qthreadpool.h> +#endif #ifdef Q_OS_UNIX #include <time.h> @@ -1526,8 +1529,31 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional( ProStringList newval; bool changed = false; for (bool hostBuild = false; ; hostBuild = true) { - if (QMakeBaseEnv *baseEnv = m_option->baseEnvs.value( - QMakeBaseKey(m_buildRoot, hostBuild))) { +#ifdef PROEVALUATOR_THREAD_SAFE + m_option->mutex.lock(); +#endif + QMakeBaseEnv *baseEnv = + m_option->baseEnvs.value(QMakeBaseKey(m_buildRoot, hostBuild)); +#ifdef PROEVALUATOR_THREAD_SAFE + // It's ok to unlock this before locking baseEnv, + // as we have no intention to initialize the env. + m_option->mutex.unlock(); +#endif + do { + if (!baseEnv) + break; +#ifdef PROEVALUATOR_THREAD_SAFE + QMutexLocker locker(&baseEnv->mutex); + if (baseEnv->inProgress && baseEnv->evaluator != this) { + // The env is still in the works, but it may be already past the cache + // loading. So we need to wait for completion and amend it as usual. + QThreadPool::globalInstance()->releaseThread(); + baseEnv->cond.wait(&baseEnv->mutex); + QThreadPool::globalInstance()->reserveThread(); + } + if (!baseEnv->isOk) + break; +#endif QMakeEvaluator *baseEval = baseEnv->evaluator; const ProStringList &oldval = baseEval->values(dstvar); if (mode == CacheSet) { @@ -1558,7 +1584,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional( } changed = true; } - } + } while (false); if (hostBuild) break; } diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp index 0c35a671dca0581daa2089dcc70da2d9ab8785ee..08a7175701290839a46c04241741137373290510 100644 --- a/src/shared/proparser/qmakeevaluator.cpp +++ b/src/shared/proparser/qmakeevaluator.cpp @@ -1302,45 +1302,45 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProFile( QMakeBaseEnv *baseEnv = *baseEnvPtr; #ifdef PROEVALUATOR_THREAD_SAFE - { - QMutexLocker locker(&baseEnv->mutex); - m_option->mutex.unlock(); - if (baseEnv->inProgress) { - QThreadPool::globalInstance()->releaseThread(); - baseEnv->cond.wait(&baseEnv->mutex); - QThreadPool::globalInstance()->reserveThread(); - if (!baseEnv->isOk) - return ReturnFalse; - } else + QMutexLocker locker(&baseEnv->mutex); + m_option->mutex.unlock(); + if (baseEnv->inProgress) { + QThreadPool::globalInstance()->releaseThread(); + baseEnv->cond.wait(&baseEnv->mutex); + QThreadPool::globalInstance()->reserveThread(); + if (!baseEnv->isOk) + return ReturnFalse; + } else #endif - if (!baseEnv->evaluator) { + if (!baseEnv->evaluator) { #ifdef PROEVALUATOR_THREAD_SAFE - baseEnv->inProgress = true; - locker.unlock(); + baseEnv->inProgress = true; + locker.unlock(); #endif - QMakeEvaluator *baseEval = new QMakeEvaluator(m_option, m_parser, m_vfs, m_handler); - baseEnv->evaluator = baseEval; - baseEval->m_superfile = m_superfile; - baseEval->m_conffile = m_conffile; - baseEval->m_cachefile = m_cachefile; - baseEval->m_sourceRoot = m_sourceRoot; - baseEval->m_buildRoot = m_buildRoot; - baseEval->m_hostBuild = m_hostBuild; - bool ok = baseEval->loadSpec(); + QMakeEvaluator *baseEval = new QMakeEvaluator(m_option, m_parser, m_vfs, m_handler); + baseEnv->evaluator = baseEval; + baseEval->m_superfile = m_superfile; + baseEval->m_conffile = m_conffile; + baseEval->m_cachefile = m_cachefile; + baseEval->m_sourceRoot = m_sourceRoot; + baseEval->m_buildRoot = m_buildRoot; + baseEval->m_hostBuild = m_hostBuild; + bool ok = baseEval->loadSpec(); #ifdef PROEVALUATOR_THREAD_SAFE - locker.relock(); - baseEnv->isOk = ok; - baseEnv->inProgress = false; - baseEnv->cond.wakeAll(); + locker.relock(); + baseEnv->isOk = ok; + baseEnv->inProgress = false; + baseEnv->cond.wakeAll(); #endif - if (!ok) - return ReturnFalse; - } -#ifdef PROEVALUATOR_THREAD_SAFE + if (!ok) + return ReturnFalse; } +#ifdef PROEVALUATOR_THREAD_SAFE + else if (!baseEnv->isOk) + return ReturnFalse; #endif initFrom(*baseEnv->evaluator); diff --git a/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp b/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp index 5f8349b54fb4a44472eb9e81ce248b5924f5c090..79f2f5ee84affb700fe480b886e8d272e7a12406 100644 --- a/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp +++ b/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp @@ -42,6 +42,8 @@ const char *description[] = "g++_stringset", "g++_stringvector", "g++_wstringvector", + "g++_unordered_set", + "g++_unordered_map", "libc++_stringvector", "msvc_stdstring", "msvc_stdwstring", @@ -64,6 +66,10 @@ const char *input[] = "std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >", "std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >", "std::vector<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >", + +"std::unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> >", +"std::unordered_map<int, int, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, int> > >", + // libc++ "std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >", // MSVC @@ -88,6 +94,8 @@ const char *output[] = "std::set<std::string>", "std::vector<std::string>", "std::vector<std::wstring>", + "std::unordered_set<int>", + "std::unordered_map<int, int>", // libc++ "std::vector<std::string>", // MSVC diff --git a/tests/auto/debugger/temporarydir.h b/tests/auto/debugger/temporarydir.h index 6e10efab70cd27533870f516ffbff2abd32b1f66..a6f632eee932631996a5657570a503e20e4e58c6 100644 --- a/tests/auto/debugger/temporarydir.h +++ b/tests/auto/debugger/temporarydir.h @@ -97,15 +97,14 @@ static char *mkdtemp(char *templateName) v /= 62; XXXXXX[5] = letters[v % 62]; QString templateNameStr = QFile::decodeName(templateName); - QFileSystemEntry fileSystemEntry(templateNameStr); - if (QFileSystemEngine::createDirectory(fileSystemEntry, false)) { - QSystemError error; - QFileSystemEngine::setPermissions(fileSystemEntry, - QFile::ReadOwner | - QFile::WriteOwner | - QFile::ExeOwner, error); - if (error.error() != 0) + + QFileInfo fileInfo(templateNameStr); + if (fileInfo.absoluteDir().mkdir(fileInfo.fileName())) { + if (!QFile::setPermissions(fileInfo.absoluteFilePath(), QFile::ReadOwner | + QFile::WriteOwner | + QFile::ExeOwner)) { continue; + } return templateName; } } @@ -134,7 +133,7 @@ static bool removeRecursively(QDir directory) | QDir::System | QDir::NoDotAndDotDot); foreach (QFileInfo fdInfo, filesAndDirs) { if (fdInfo.isDir()) - success &= removeRecursively(fdInfo.dir()); + success &= removeRecursively(QDir(fdInfo.absoluteFilePath())); else success &= directory.remove(fdInfo.fileName()); } diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index cea0ae7a5f17df6a531fea91d92bcf75b15ff5a0..43a2743822324e2303a3c8450c0e62ac0c9c4f14 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -414,7 +414,8 @@ struct DataBase { DataBase() : useQt(false), useQHash(false), - forceC(false), gdbOnly(false), lldbOnly(false) + forceC(false), gdbOnly(false), lldbOnly(false), + glibcxxDebug(false) {} mutable bool useQt; @@ -422,6 +423,7 @@ struct DataBase mutable bool forceC; mutable bool gdbOnly; mutable bool lldbOnly; + mutable bool glibcxxDebug; mutable GdbVersion neededGdbVersion; mutable LldbVersion neededLldbVersion; }; @@ -551,11 +553,13 @@ public: { t = 0; m_keepTemp = true; + m_forceKeepTemp = false; m_gdbVersion = 0; m_gdbBuildVersion = 0; m_lldbVersion = 0; m_isMacGdb = false; m_isQnxGdb = false; + m_useGLibCxxDebug = false; } private slots: @@ -566,6 +570,7 @@ private slots: void cleanup(); private: + bool keepTemp() const { return m_keepTemp || m_forceKeepTemp; } TempStuff *t; QByteArray m_debuggerBinary; QByteArray m_qmakeBinary; @@ -573,11 +578,13 @@ private: bool m_usePython; DebuggerEngine m_debuggerEngine; bool m_keepTemp; + bool m_forceKeepTemp; int m_gdbVersion; // 7.5.1 -> 70501 int m_gdbBuildVersion; int m_lldbVersion; bool m_isMacGdb; bool m_isQnxGdb; + bool m_useGLibCxxDebug; }; void tst_Dumpers::initTestCase() @@ -585,7 +592,7 @@ void tst_Dumpers::initTestCase() m_debuggerBinary = qgetenv("QTC_DEBUGGER_PATH_FOR_TEST"); if (m_debuggerBinary.isEmpty()) m_debuggerBinary = "gdb"; - qDebug() << "Debugger : " << m_debuggerBinary.constData(); + qDebug() << "Debugger : " << m_debuggerBinary.constData(); m_debuggerEngine = DumpTestGdbEngine; if (m_debuggerBinary.endsWith("cdb.exe")) @@ -597,7 +604,13 @@ void tst_Dumpers::initTestCase() m_qmakeBinary = qgetenv("QTC_QMAKE_PATH_FOR_TEST"); if (m_qmakeBinary.isEmpty()) m_qmakeBinary = "qmake"; - qDebug() << "QMake : " << m_qmakeBinary.constData(); + qDebug() << "QMake : " << m_qmakeBinary.constData(); + + m_useGLibCxxDebug = qgetenv("QTC_USE_GLIBCXXDEBUG_FOR_TEST").toInt(); + qDebug() << "Use _GLIBCXX_DEBUG : " << m_useGLibCxxDebug; + + m_forceKeepTemp = qgetenv("QTC_KEEP_TEMP_FOR_TEST").toInt(); + qDebug() << "Force keep temp : " << m_forceKeepTemp; Environment utilsEnv = Environment::systemEnvironment(); @@ -612,8 +625,8 @@ void tst_Dumpers::initTestCase() QByteArray output = debugger.readAllStandardOutput(); //qDebug() << "stdout: " << output; m_usePython = !output.contains("Python scripting is not supported in this copy of GDB"); - qDebug() << "Python : " << (m_usePython ? "ok" : "*** not ok ***"); - qDebug() << "Dumper dir : " << DUMPERDIR; + qDebug() << "Python : " << (m_usePython ? "ok" : "*** not ok ***"); + qDebug() << "Dumper dir : " << DUMPERDIR; QString version = QString::fromLocal8Bit(output); int pos1 = version.indexOf(QLatin1String("&\"show version\\n")); @@ -625,7 +638,7 @@ void tst_Dumpers::initTestCase() version = version.mid(pos1, pos2 - pos1); extractGdbVersion(version, &m_gdbVersion, &m_gdbBuildVersion, &m_isMacGdb, &m_isQnxGdb); - qDebug() << "Gdb version : " << m_gdbVersion; + qDebug() << "Gdb version : " << m_gdbVersion; } else if (m_debuggerEngine == DumpTestCdbEngine) { QByteArray envBat = qgetenv("QTC_MSVC_ENV_BAT"); QMap <QString, QString> envPairs; @@ -654,7 +667,7 @@ void tst_Dumpers::initTestCase() if (pos >= 0) ba = ba.left(pos); m_lldbVersion = ba.toInt(); - qDebug() << "Lldb version " << output << ba << m_lldbVersion; + qDebug() << "Lldb version :" << output << ba << m_lldbVersion; QVERIFY(m_lldbVersion); } m_env = utilsEnv.toProcessEnvironment(); @@ -721,6 +734,8 @@ void tst_Dumpers::dumper() proFile.write("QT -= widgets gui\n"); else proFile.write("CONFIG -= QT\n"); + if (m_useGLibCxxDebug) + proFile.write("DEFINES += _GLIBCXX_DEBUG\n"); proFile.write(data.profileExtra); proFile.close(); @@ -884,7 +899,7 @@ void tst_Dumpers::dumper() error = debugger.readAllStandardError(); if (!error.isEmpty()) { qDebug() << error; } - if (m_keepTemp) { + if (keepTemp()) { QFile logger(t->buildPath + QLatin1String("/output.txt")); logger.open(QIODevice::ReadWrite); logger.write("=== STDOUT ===\n"); @@ -1003,14 +1018,16 @@ void tst_Dumpers::dumper() qDebug() << "EXPANDED : " << expanded; ok = false; } - if (!ok) { + if (ok) { + m_keepTemp = false; + } else { qDebug() << "CONTENTS : " << contents; qDebug() << "Qt VERSION : " << qPrintable(QString::number(context.qtVersion, 16)); qDebug() << "BUILD DIR : " << qPrintable(t->buildPath); } QVERIFY(ok); - t->buildTemp.setAutoRemove(m_keepTemp); + t->buildTemp.setAutoRemove(!keepTemp()); } void tst_Dumpers::dumper_data() @@ -2975,6 +2992,44 @@ void tst_Dumpers::dumper_data() % Check("is", "", "std::ifstream") % Check("ok", "true", "bool"); + QTest::newRow("StdUnorderedMap1") + << Data("#include <unordered_map>\n", + "std::unordered_map<unsigned int, unsigned int> map;\n" + "map[11] = 1;\n" + "map[22] = 2;\n") + % Check("map", "<2 items>", "std::unordered_map<unsigned int, unsigned int>") + % Cxx11Profile() + % Check("map.0", "[0] 22", "2", "unsigned int") + % Check("map.1", "[1] 11", "1", "unsigned int"); + + QTest::newRow("StdUnorderedMap2") + << Data("#include <unordered_map>\n" + "#include <string>\n", + "std::unordered_map<std::string, float> map;\n" + "map[\"11.0\"] = 11.0;\n" + "map[\"22.0\"] = 22.0;\n") + % Cxx11Profile() + % Check("map", "<2 items>", "std::unordered_map<std::string, float>") + //% Check("map.0", "[0]", "", "std::pair<std:string const, float>") + % Check("map.0.first", "\"22.0\"", "std::string") + % Check("map.0.second", "22", "float") + //% Check("map.1", "[1]", "", "std::pair<std::string const, float>") + % Check("map.1.first", "\"11.0\"", "std::string") + % Check("map.1.second", "11", "float"); + + QTest::newRow("StdUnorderedSet1") + << Data("#include <unordered_set>\n", + "std::unordered_set<int> set;\n" + "set.insert(11);\n" + "set.insert(22);\n" + "set.insert(33);\n") + % Cxx11Profile() + % Check("set", "<3 items>", "std::unordered_set<int>") + % Check("set.0", "[0]", "33", "int") + % Check("set.1", "[1]", "22", "int") + % Check("set.2", "[2]", "11", "int"); + + QTest::newRow("ItemModel") << Data("#include <QStandardItemModel>\n", "QStandardItemModel m;\n" diff --git a/tests/system/objects.map b/tests/system/objects.map index c70178fb8e4ac96a916f1b9ed5b6bedb4efdcd16..0f149a765e2e3218e44a51c9f3a3fa7df29f6037 100644 --- a/tests/system/objects.map +++ b/tests/system/objects.map @@ -38,6 +38,11 @@ :CMake Wizard.Next_QPushButton {name='__qt__passive_wizardbutton1' text~='(Next.*|Continue)' type='QPushButton' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'} :CMake Wizard.Run CMake_QPushButton {text='Run CMake' type='QPushButton' unnamed='1' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'} :CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard {type='CMakeProjectManager::Internal::CMakeOpenProjectWizard' unnamed='1' visible='1' windowTitle='CMake Wizard'} +:CodePaster__Internal__PasteSelectDialog.Cancel_QPushButton {text='Cancel' type='QPushButton' unnamed='1' visible='1' window=':CodePaster__Internal__PasteSelectDialog_CodePaster::PasteSelectDialog'} +:CodePaster__Internal__PasteSelectDialog.OK_QPushButton {text='OK' type='QPushButton' unnamed='1' visible='1' window=':CodePaster__Internal__PasteSelectDialog_CodePaster::PasteSelectDialog'} +:CodePaster__Internal__PasteSelectDialog.listWidget_QListWidget {name='listWidget' type='QListWidget' visible='1' window=':CodePaster__Internal__PasteSelectDialog_CodePaster::PasteSelectDialog'} +:CodePaster__Internal__PasteSelectDialog.protocolBox_QComboBox {name='protocolBox' type='QComboBox' visible='1' window=':CodePaster__Internal__PasteSelectDialog_CodePaster::PasteSelectDialog'} +:CodePaster__Internal__PasteSelectDialog_CodePaster::PasteSelectDialog {name='CodePaster__Internal__PasteSelectDialog' type='CodePaster::PasteSelectDialog' visible='1'} :CompilerPath.Utils_BaseValidatingLineEdit {container=':qt_tabwidget_stackedwidget_QWidget' name='LineEdit' type='Utils::BaseValidatingLineEdit' visible='1'} :Core__Internal__GeneralSettings.User Interface_QGroupBox {container=':qt_tabwidget_stackedwidget.Core__Internal__GeneralSettings_QWidget' name='interfaceBox' title='User Interface' type='QGroupBox' visible='1'} :CppTools__Internal__CompletionSettingsPage.Behavior_QGroupBox {container=':qt_tabwidget_stackedwidget.CppTools__Internal__CompletionSettingsPage_QWidget' name='groupBox' title='Behavior' type='QGroupBox' visible='1'} @@ -125,6 +130,7 @@ :Qt Creator_Core::Internal::MainWindow {type='Core::Internal::MainWindow' visible='1' windowTitle?='*Qt Creator'} :Qt Creator_Core::Internal::NavComboBox {type='Core::Internal::NavComboBox' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_Core::Internal::ProgressBar {type='Core::Internal::ProgressBar' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} +:Qt Creator_Core::OutputWindow {type='Core::OutputWindow' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_CppEditor::Internal::CPPEditorWidget {type='CppEditor::Internal::CPPEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_FilenameQComboBox {type='QComboBox' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_Find::Internal::SearchResultTreeView {type='Find::Internal::SearchResultTreeView' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} @@ -157,6 +163,11 @@ :RunSettingsEnvironmentDetails_Utils::DetailsButton {leftWidget=':RunSettingsUseBuildEnvironment_QLabel' text='Details' type='Utils::DetailsButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :RunSettingsUseBuildEnvironment_QLabel {text~='Us(e|ing) <b>Build Environment</b>' type='QLabel' unnamed='1' visible='1'} :Select signal.signalList_QTreeWidget {container=':Go to slot.Select signal_QGroupBox' name='signalList' type='QTreeWidget' visible='1'} +:Send to Codepaster.Cancel_QPushButton {text='Cancel' type='QPushButton' unnamed='1' visible='1' window=':Send to Codepaster_CodePaster::PasteView'} +:Send to Codepaster.Paste_QPushButton {text='Paste' type='QPushButton' unnamed='1' visible='1' window=':Send to Codepaster_CodePaster::PasteView'} +:Send to Codepaster.protocolBox_QComboBox {name='protocolBox' type='QComboBox' visible='1' window=':Send to Codepaster_CodePaster::PasteView'} +:Send to Codepaster.stackedWidget_QStackedWidget {name='stackedWidget' type='QStackedWidget' visible='1' window=':Send to Codepaster_CodePaster::PasteView'} +:Send to Codepaster_CodePaster::PasteView {name='CodePaster__Internal__ViewDialog' type='CodePaster::PasteView' visible='1' windowTitle='Send to Codepaster'} :Session Manager_ProjectExplorer::Internal::SessionDialog {name='ProjectExplorer__Internal__SessionDialog' type='ProjectExplorer::Internal::SessionDialog' visible='1' windowTitle='Session Manager'} :Startup.contextHelpComboBox_QComboBox {container=':Form.Startup_QGroupBox' name='contextHelpComboBox' type='QComboBox' visible='1'} :User Interface.languageBox_QComboBox {container=':Core__Internal__GeneralSettings.User Interface_QGroupBox' name='languageBox' type='QComboBox' visible='1'} @@ -184,3 +195,4 @@ :scrollArea.qmlDebuggingLibraryCheckBox_QCheckBox {name='qmlDebuggingLibraryCheckBox' type='QCheckBox' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :scrollArea_QTableView {type='QTableView' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :sourceFileLineEdit_Utils::FileNameValidatingLineEdit {buddy=':Qt Gui Application.Source file:_QLabel' name='sourceFileLineEdit' type='Utils::FileNameValidatingLineEdit' visible='1'} +:stackedWidget.plainTextEdit_QPlainTextEdit {container=':Send to Codepaster.stackedWidget_QStackedWidget' name='plainTextEdit' type='QPlainTextEdit' visible='1'} diff --git a/tests/system/shared/debugger.py b/tests/system/shared/debugger.py index 649f668c4d06382ae725ec0290511c6fa745af1d..9a8839157921255615207ba090cd0b1005a1febd 100644 --- a/tests/system/shared/debugger.py +++ b/tests/system/shared/debugger.py @@ -176,9 +176,8 @@ def __startDebugger__(kitCount, currentKit, config): isMsvcBuild = isMsvcConfig(kitCount, currentKit) clickButton(waitForObject(":*Qt Creator.Start Debugging_Core::Internal::FancyToolButton")) handleDebuggerWarnings(config, isMsvcBuild) - hasNotTimedOut = waitFor("object.exists(':Debugger Toolbar.Continue_QToolButton')", 60000) try: - mBox = findObject(":Failed to start application_QMessageBox") + mBox = waitForObject(":Failed to start application_QMessageBox", 5000) mBoxText = mBox.text mBoxIText = mBox.informativeText clickButton(":DebugModeWidget.OK_QPushButton") @@ -188,10 +187,8 @@ def __startDebugger__(kitCount, currentKit, config): return False except: pass - if hasNotTimedOut: - test.passes("Debugger started...") - else: - test.fail("Debugger seems to have not started...") + if not test.verify(waitFor("object.exists(':Debugger Toolbar.Continue_QToolButton')", 60000), + "Verify start of debugger"): if "MSVC" in config: debuggerLog = takeDebuggerLog() if "lib\qtcreatorcdbext64\qtcreatorcdbext.dll cannot be found." in debuggerLog: diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index c64f1f90166c1c70d980fdf2f54a957a40694876..7cd0fe9e5e8303949c29797d04fd5b27478559ff 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -225,7 +225,7 @@ def cleanUpUserFiles(pathsToProFiles=None): doneWithoutErrors = False return doneWithoutErrors -def invokeMenuItem(menu, item, subItem = None): +def invokeMenuItem(menu, item, *subItems): if platform.system() == "Darwin": try: waitForObject(":Qt Creator.QtCreator.MenuBar_QMenuBar", 2000) @@ -237,10 +237,11 @@ def invokeMenuItem(menu, item, subItem = None): itemObject = waitForObjectItem(objectMap.realName(menuObject), item) waitFor("itemObject.enabled", 2000) activateItem(itemObject) - if subItem != None: + for subItem in subItems: sub = itemObject.menu() waitFor("sub.visible", 1000) - activateItem(waitForObjectItem(sub, subItem)) + itemObject = waitForObjectItem(sub, subItem) + activateItem(itemObject) def logApplicationOutput(): # make sure application output is shown diff --git a/tests/system/suite_HELP/tst_HELP02/test.py b/tests/system/suite_HELP/tst_HELP02/test.py index 114a84145cf1041e9937f00b1ed07da677342fc9..cef91b4c9c1d20c524e3c2dd9199c904b96818d1 100755 --- a/tests/system/suite_HELP/tst_HELP02/test.py +++ b/tests/system/suite_HELP/tst_HELP02/test.py @@ -54,6 +54,16 @@ def getQtCreatorVersionFromFile(): test.fail("Failed to get the exact version from File") return "" +def checkQtCreatorHelpVersion(expectedVersion): + switchViewTo(ViewConstants.HELP) + try: + creatorManual = waitForObject("{column='0' container=':Qt Creator_QHelpContentWidget' " + "text?='Qt Creator Manual*' type='QModelIndex'}", 5000) + test.compare(str(creatorManual.text)[18:], expectedVersion, + "Verifying whether manual uses expected version.") + except LookupError: + test.fail("Missing Qt Creator Manual.") + def main(): expectedVersion = getQtCreatorVersionFromFile() if not expectedVersion: @@ -77,6 +87,7 @@ def main(): "window=':About Qt Creator_Core::Internal::VersionDialog'}")) test.verify(checkIfObjectExists(":About Qt Creator_Core::Internal::VersionDialog", False), "Verifying if About dialog closed.") + checkQtCreatorHelpVersion(expectedVersion) # exit qt creator invokeMenuItem("File", "Exit") # verify if qt creator closed properly diff --git a/tests/system/suite_tools/suite.conf b/tests/system/suite_tools/suite.conf index 6363d78f1e65a2870a9e6cc934faf38c983c3800..2f872714c52417544cb31ac8b0c942cba98e6d0f 100644 --- a/tests/system/suite_tools/suite.conf +++ b/tests/system/suite_tools/suite.conf @@ -7,6 +7,6 @@ HOOK_SUB_PROCESSES=false IMPLICITAUTSTART=0 LANGUAGE=Python OBJECTMAP=../objects.map -TEST_CASES=tst_designer_autocomplete tst_designer_goto_slot +TEST_CASES=tst_codepasting tst_designer_autocomplete tst_designer_goto_slot tst_external_sort VERSION=2 WRAPPERS=Qt diff --git a/tests/system/suite_tools/tst_codepasting/test.py b/tests/system/suite_tools/tst_codepasting/test.py new file mode 100644 index 0000000000000000000000000000000000000000..fcbff9930cd48a5f2762589748dd0f3d90846b63 --- /dev/null +++ b/tests/system/suite_tools/tst_codepasting/test.py @@ -0,0 +1,101 @@ +############################################################################# +## +## 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. +## +############################################################################# + +source("../../shared/qtcreator.py") + +def main(): + startApplication("qtcreator" + SettingsPath) + if not startedWithoutPluginError(): + return + protocolsToTest = ["Paste.KDE.Org"] + # Be careful with Pastebin.Com, there are only 10 pastes per 24h + # for all machines using the same IP-address like you. + # protocolsToTest += ["Pastebin.Com"] + sourceFile = os.path.join(os.getcwd(), "testdata", "main.cpp") + for protocol in protocolsToTest: + invokeMenuItem("File", "Open File or Project...") + selectFromFileDialog(sourceFile) + editor = waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget") + type(editor, "<Up>") + typeLines(editor, "// tst_codepasting %s" % datetime.utcnow()) + sourceText = editor.plainText + invokeMenuItem("Tools", "Code Pasting", "Paste Snippet...") + selectFromCombo(":Send to Codepaster.protocolBox_QComboBox", protocol) + pasteEditor = waitForObject(":stackedWidget.plainTextEdit_QPlainTextEdit") + test.compare(pasteEditor.plainText, sourceText, "Verify that dialog shows text from the editor") + typeLines(pasteEditor, "// tst_codepasting %s" % datetime.utcnow()) + pastedText = pasteEditor.plainText + clickButton(waitForObject(":Send to Codepaster.Paste_QPushButton")) + outputWindow = waitForObject(":Qt Creator_Core::OutputWindow") + waitFor("not outputWindow.plainText.isEmpty()", 20000) + pasteId = str(outputWindow.plainText).rsplit("/", 1)[1] + clickButton(waitForObject(":*Qt Creator.Clear_QToolButton")) + invokeMenuItem('File', 'Revert "main.cpp" to Saved') + clickButton(waitForObject(":Revert to Saved.Proceed_QPushButton")) + invokeMenuItem("File", "Close All") + if not pasteId: + test.fatal("Could not get id of paste to %s" % protocol) + continue + invokeMenuItem("Tools", "Code Pasting", "Fetch Snippet...") + selectFromCombo(":CodePaster__Internal__PasteSelectDialog.protocolBox_QComboBox", protocol) + pasteModel = waitForObject(":CodePaster__Internal__PasteSelectDialog.listWidget_QListWidget").model() + waitFor("pasteModel.rowCount() > 1", 20000) + try: + pasteLine = filter(lambda str: pasteId in str, dumpItems(pasteModel))[0] + except: + test.fail("Could not find id '%s' in list of pastes from %s" % (pasteId, protocol)) + clickButton(waitForObject(":CodePaster__Internal__PasteSelectDialog.Cancel_QPushButton")) + continue + waitForObjectItem(":CodePaster__Internal__PasteSelectDialog.listWidget_QListWidget", pasteLine) + clickItem(":CodePaster__Internal__PasteSelectDialog.listWidget_QListWidget", pasteLine, 5, 5, 0, Qt.LeftButton) + clickButton(waitForObject(":CodePaster__Internal__PasteSelectDialog.OK_QPushButton")) + filenameCombo = waitForObject(":Qt Creator_FilenameQComboBox") + waitFor("not filenameCombo.currentText.isEmpty()", 20000) + if protocol == "Pastebin.Com" and JIRA.isBugStillOpen(9997, JIRA.Bug.CREATOR): + protocol = "Pastebin.com" + test.compare(filenameCombo.currentText, "%s: %s" % (protocol, pasteId), "Verify title of editor") + editor = waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget") + if protocol == "Paste.KDE.Org" and JIRA.isBugStillOpen(9995, JIRA.Bug.CREATOR): + test.xcompare(editor.plainText, pastedText, "Verify that pasted and fetched texts are the same") + else: + test.compare(editor.plainText, pastedText, "Verify that pasted and fetched texts are the same") + invokeMenuItem("File", "Close All") + invokeMenuItem("File", "Open File or Project...") + selectFromFileDialog(sourceFile) + editor = waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget") + markText(editor, "Down", 7) + # QString QTextCursor::selectedText () const: + # "Note: If the selection obtained from an editor spans a line break, the text will contain a + # Unicode U+2029 paragraph separator character instead of a newline \n character." + selectedText = str(editor.textCursor().selectedText()).replace(unichr(0x2029), "\n") + invokeMenuItem("Tools", "Code Pasting", "Paste Snippet...") + test.compare(waitForObject(":stackedWidget.plainTextEdit_QPlainTextEdit").plainText, + selectedText, "Verify that dialog shows selected text from the editor") + clickButton(waitForObject(":Send to Codepaster.Cancel_QPushButton")) + invokeMenuItem("File", "Exit") diff --git a/tests/system/suite_tools/tst_codepasting/testdata/main.cpp b/tests/system/suite_tools/tst_codepasting/testdata/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b48f94ec827033ef073fb3c7f060837e90b935ec --- /dev/null +++ b/tests/system/suite_tools/tst_codepasting/testdata/main.cpp @@ -0,0 +1,11 @@ +#include "mainwindow.h" +#include <QApplication> + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + + return a.exec(); +} diff --git a/tests/system/suite_tools/tst_external_sort/test.py b/tests/system/suite_tools/tst_external_sort/test.py new file mode 100644 index 0000000000000000000000000000000000000000..edff6e4656d0071dee3a252682605965573bfacd --- /dev/null +++ b/tests/system/suite_tools/tst_external_sort/test.py @@ -0,0 +1,48 @@ +############################################################################# +## +## 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. +## +############################################################################# + +source("../../shared/qtcreator.py") + +def main(): + startApplication("qtcreator" + SettingsPath) + if not startedWithoutPluginError(): + return + invokeMenuItem("File", "Open File or Project...") + unsortedFile = os.path.join(os.getcwd(), "testdata", "unsorted.txt") + sorted = getOutputFromCmdline("sort %s" % unsortedFile).replace("\r", "") + selectFromFileDialog(unsortedFile) + invokeMenuItem("Edit", "Select All") + invokeMenuItem("Tools", "External", "Text", "Sort Selection") + editor = waitForObject("{type='TextEditor::PlainTextEditorWidget' unnamed='1' " + "visible='1' window=':Qt Creator_Core::Internal::MainWindow'}", 3000) + test.verify(waitFor("str(editor.plainText) == sorted", 2000), + "Verify that sorted text\n%s\nmatches the expected text\n%s" % (editor.plainText, sorted)) + invokeMenuItem('File', 'Revert "unsorted.txt" to Saved') + clickButton(waitForObject(":Revert to Saved.Proceed_QPushButton")) + invokeMenuItem("File", "Exit") diff --git a/tests/system/suite_tools/tst_external_sort/testdata/unsorted.txt b/tests/system/suite_tools/tst_external_sort/testdata/unsorted.txt new file mode 100644 index 0000000000000000000000000000000000000000..e695a1e9e120e92028a0463cdd9a8cbd4a1e32d3 --- /dev/null +++ b/tests/system/suite_tools/tst_external_sort/testdata/unsorted.txt @@ -0,0 +1,25 @@ +bbb + +aaa2 +AAA +c >> dir +aa a +b > nul +aaa1 +a | ls +aaa +1A + aa +aba +ab +a +1a +aa +12.345 +12,345 +1a +* +? +- +_ +!