diff --git a/dist/changes-2.3.0 b/dist/changes-2.3.0 index 2757e3ce971dc094bb0dc797dd16f0ed75c8bf6f..7f69c37a117d31893bb1a721b91b650d43da1df7 100644 --- a/dist/changes-2.3.0 +++ b/dist/changes-2.3.0 @@ -8,8 +8,9 @@ git clone git://gitorious.org/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline v2.2.1...origin/2.3 General - * Welcome page redesign allows searching through examples with descriptions - * Restore previous size when unmaximizing output panes + * Redesigned the Welcome page to allow searching through examples with + descriptions + * Fixed Output panes so that they are minimized to their previous size * Added support for building with the Clang compiler Editing @@ -22,9 +23,34 @@ Debugging * Color memory display highlighting the variables in stack layout * Correct source location for breakpoints in CDB using code model (QTCREATORBUG-2317) + * Added support for multiple breakpoints from one location + (covering constructors, destructors, template functions, and so on) + * Added a custom dumper for QXmlAttributes, Eigen::Matrix + * Added the option to set data breakpoints on either an address or expression + * Added a framework to modify strings, vectors, and so on, during debugging + * Added an option to stop on qWarning + * Renamed "Locals and Watchers" as "Locals and Expressions" + * Renamed "Watchpoint" as "Data Breakpoints" + * Made original values of automatically dereferenced pointers accessible + * Improved the "Add Breakpoint" dialog + * Improved the displaying of enums (included numeric value) + * Improved the speed of the QVariant dumper + * Improved the handling of shadowed local variables + * Fixed object expansion in tooltip + * Fixed std::deque dumper (QTCREATORBUG-4936) + * Fixed the handling of watched expressions with unusual characters + * Fixed "Run To Line" on Mac (QTCREATORBUG-4619) + * Fixed output parsing for data breakpoints on Mac (QTCREATORBUG-4797) + * Fixed auto-continue on SIGTRAP (QTCREATORBUG-4968) + * Fixed the dumper for gcc 4.4's std::map Debugging QML/JS +Analyzing Code + * Redesigned the framework code + * Added support for QML profiling + * Added support for the Valgrind Callgrind tool on Linux and Mac + C++ Support * Made C++ coding style configurable (QTCREATORBUG-2670, QTCREATORBUG-4310, QTCREATORBUG-2763, QTCREATORBUG-3623, QTCREATORBUG-567) @@ -47,6 +73,26 @@ QML/JS Support * Fixed scanning and indentation of regular expression literals (QTCREATORBUG-4566) * Fixed indentation of object literals +Qt Quick Designer + * Added tool buttons to the navigator for reordering and reparenting of items + * Added support for import as (QTCREATORBUG-4087) + * Added editing and navigation for inline components + * Added support for models and delegates in the current file (QTCREATORBUG-4528) + * Added support for repeaters (QTCREATORBUG-4852) + * Added context menu for resetting postion and size + * Added context menu for improved selection (QTCREATORBUG-4611) + * Added translation support for text items + * Added context menu for z-order (QTCREATORBUG-2522) + * Fixed z-order in the form editor (QTCREATORBUG-5226) + * Improved usability of the form editor (QTCREATORBUG-4820 QTCREATORBUG-4819) + * Do not enforce clipping of items in the form editor anymore + * Improved property editor for mouse area (QTCREATORBUG-4927) + * Use the qmlpuppet from current Qt if availabe (QTCREATORBUG-4824) + * Added project for qmlpuppet in share of Qt Creator + * Fixed copy and paste bug (QTCREATORBUG-4581) + * Fixed scoping of root item properties (QTCREATORBUG-4574) + * Improved property editor for ListView, GridView and PathView + Help Platform Specific @@ -72,6 +118,12 @@ Remote Linux Support Qt Designer +FakeVim: + * Made FakeVim functionality available for shortcuts in normal text editor + * Added snippet support + * Fixed behaviour of Ctrl keys on Mac + * Fixed searching for expressions containing '|' (QTCREATORBUG-4752) + Version control plugins * Git: Manage remote repositories * Git: Improved branch dialog diff --git a/doc/config/qtcreator-project.qdocconf b/doc/config/qtcreator-project.qdocconf index eb2a062599a570f7a075700dd9146ff92bbc40d9..50a644b160478588b36e8561ddc81a6006e1d850 100644 --- a/doc/config/qtcreator-project.qdocconf +++ b/doc/config/qtcreator-project.qdocconf @@ -13,7 +13,7 @@ include(macros.qdocconf) include(qt-cpp-ignore.qdocconf) include(qt-defines.qdocconf) -sources.fileextensions = "qtcreator.qdoc maemodev.qdoc symbiandev.qdoc addressbook-sdk.qdoc qtcreator-faq.qdoc" +sources.fileextensions = "qtcreator.qdoc maemodev.qdoc symbiandev.qdoc addressbook-sdk.qdoc qtcreator-faq.qdoc linuxdev.qdoc" qhp.projects = QtCreator diff --git a/doc/doc.pri b/doc/doc.pri index 917cf2c73d9e75742b40a7414bc593862485118c..4b30dfb146445b1d9184630774cd342b3e8992c2 100644 --- a/doc/doc.pri +++ b/doc/doc.pri @@ -83,5 +83,5 @@ OTHER_FILES = $$HELP_DEP_FILES $$DEV_HELP_DEP_FILES fixnavi.commands = \ cd $$targetPath($$PWD) && \ perl fixnavi.pl -Dqcmanual -Dqtquick \ - qtcreator.qdoc maemodev.qdoc symbiandev.qdoc qtcreator-faq.qdoc + qtcreator.qdoc maemodev.qdoc symbiandev.qdoc qtcreator-faq.qdoc linuxdev.qdoc QMAKE_EXTRA_TARGETS += fixnavi diff --git a/doc/images/qml-observer-buttons.png b/doc/images/qml-observer-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..8c4e9f081671f6f8181f7edfdb9eddc2e3f50ea1 Binary files /dev/null and b/doc/images/qml-observer-buttons.png differ diff --git a/doc/images/qml-observer-view.png b/doc/images/qml-observer-view.png index 3df1169cb6b8bcdb0945b76462bd5d2fe12e786c..eabbee88118e50409409849de1224629b0fb8576 100644 Binary files a/doc/images/qml-observer-view.png and b/doc/images/qml-observer-view.png differ diff --git a/doc/images/qml-translate.png b/doc/images/qml-translate.png new file mode 100644 index 0000000000000000000000000000000000000000..346be5fb0c2b3e726b4d470e1d9464db4f03eedf Binary files /dev/null and b/doc/images/qml-translate.png differ diff --git a/doc/images/qmldesigner-element-properties.png b/doc/images/qmldesigner-element-properties.png index 32f2166c6911f663f2bf99dc98b001c23e3a4e50..d66206e3034482d8f162c3b349d728c096d5f239 100644 Binary files a/doc/images/qmldesigner-element-properties.png and b/doc/images/qmldesigner-element-properties.png differ diff --git a/doc/images/qmldesigner-element-size.png b/doc/images/qmldesigner-element-size.png index df901feb3770b0eb374478bab5e98f260b503dff..7bd1d42ae26431a18c0f9131f80ecb2118564255 100644 Binary files a/doc/images/qmldesigner-element-size.png and b/doc/images/qmldesigner-element-size.png differ diff --git a/doc/images/qmldesigner-navigator-arrows.png b/doc/images/qmldesigner-navigator-arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..f04a337f192de3af695cc751e4388572efaf8459 Binary files /dev/null and b/doc/images/qmldesigner-navigator-arrows.png differ diff --git a/doc/images/qmldesigner-navigator.png b/doc/images/qmldesigner-navigator.png index e1c8a6a7aeecbdacd53f5ad608a98b9608e63ee9..b130b88df8b83947825792760609cd053d784380 100644 Binary files a/doc/images/qmldesigner-navigator.png and b/doc/images/qmldesigner-navigator.png differ diff --git a/doc/images/qmldesigner-qml-components.png b/doc/images/qmldesigner-qml-components.png index d887ea4bcba4a976f7a75b1bd8a6e3b726a65c74..4bd622fcf2632c1f9412350506f8e6f9c6e7815c 100644 Binary files a/doc/images/qmldesigner-qml-components.png and b/doc/images/qmldesigner-qml-components.png differ diff --git a/doc/images/qmldesigner-text-property-tr.png b/doc/images/qmldesigner-text-property-tr.png new file mode 100644 index 0000000000000000000000000000000000000000..bf013d514b3d3cd922430e946f4c7033d2beaee3 Binary files /dev/null and b/doc/images/qmldesigner-text-property-tr.png differ diff --git a/doc/images/qmldesigner-visual-editor.png b/doc/images/qmldesigner-visual-editor.png index 0af04132756ec88412a4c35b4d8b28bfd5734b9b..eb975d5024e90f0001df5a7c18a3d98f52bcf7c2 100644 Binary files a/doc/images/qmldesigner-visual-editor.png and b/doc/images/qmldesigner-visual-editor.png differ diff --git a/doc/images/qtcreator-analyze-menu.png b/doc/images/qtcreator-analyze-menu.png index 52c32e91cca82c0cbfcd249f91d18893400f8227..221dae9e9db612c0f09dbccc9525bdbe0b6a8aa7 100644 Binary files a/doc/images/qtcreator-analyze-menu.png and b/doc/images/qtcreator-analyze-menu.png differ diff --git a/doc/images/qtcreator-analyze-start-button.png b/doc/images/qtcreator-analyze-start-button.png index 4df1ff7b732f4f648c093e5d41a8d6ca9d0cb564..a3c2c1553b113e4cc0853aa6f95d8c5209bf762e 100644 Binary files a/doc/images/qtcreator-analyze-start-button.png and b/doc/images/qtcreator-analyze-start-button.png differ diff --git a/doc/images/qtcreator-analyzer-bindings.png b/doc/images/qtcreator-analyzer-bindings.png index d0d83c0bd323f924b272f8e399cf1f28dc799dc1..a3afb2d6020dd5210ac3a7a8a602cf5b80d7a170 100644 Binary files a/doc/images/qtcreator-analyzer-bindings.png and b/doc/images/qtcreator-analyzer-bindings.png differ diff --git a/doc/images/qtcreator-analyzer-button.png b/doc/images/qtcreator-analyzer-button.png index f0b8d45cc9d7ed6c4af5c2ce4d07683fbd26c0b3..07d5efecb2cb18a54696076a10243f328d90fe19 100644 Binary files a/doc/images/qtcreator-analyzer-button.png and b/doc/images/qtcreator-analyzer-button.png differ diff --git a/doc/images/qtcreator-linux-device-configurations.png b/doc/images/qtcreator-linux-device-configurations.png new file mode 100644 index 0000000000000000000000000000000000000000..1be7af63df0f99a3f81ec0e4593487c55e975afd Binary files /dev/null and b/doc/images/qtcreator-linux-device-configurations.png differ diff --git a/doc/images/qtcreator-maemo-device-configurations.png b/doc/images/qtcreator-maemo-device-configurations.png index 6ecea40deb928fd3074f4fbbc240d6df8aba66cb..9c242e7205680ec3fea17e2e63485edc5c2a7540 100644 Binary files a/doc/images/qtcreator-maemo-device-configurations.png and b/doc/images/qtcreator-maemo-device-configurations.png differ diff --git a/doc/images/qtcreator-maemo-emulator-connection.png b/doc/images/qtcreator-maemo-emulator-connection.png index 36f7491d06e7f0eecfd858b03ec5af90c7af4b49..29c0135ee4f3eaa0a5cfbac7ef098246eb859430 100644 Binary files a/doc/images/qtcreator-maemo-emulator-connection.png and b/doc/images/qtcreator-maemo-emulator-connection.png differ diff --git a/doc/images/qtcreator-qml-performance-monitor-callees.png b/doc/images/qtcreator-qml-performance-monitor-callees.png index 35adfefe5b19f7f1c87721c78e2b0a434e6ddc4b..4d8a9bde211a73f65a8cd253c2eea8eaefa090e1 100644 Binary files a/doc/images/qtcreator-qml-performance-monitor-callees.png and b/doc/images/qtcreator-qml-performance-monitor-callees.png differ diff --git a/doc/images/qtcreator-qml-performance-monitor-callers.png b/doc/images/qtcreator-qml-performance-monitor-callers.png index 98eb6172acfb5eaf8f26a9cd855add75c151ad69..49f0b9bc88c1f9ea627e8b12bf1794ffd51325fa 100644 Binary files a/doc/images/qtcreator-qml-performance-monitor-callers.png and b/doc/images/qtcreator-qml-performance-monitor-callers.png differ diff --git a/doc/images/qtcreator-qml-performance-monitor-toolbar.png b/doc/images/qtcreator-qml-performance-monitor-toolbar.png index 80cfbe328e787ff9fbf876c34704dfdda127e2de..2fa9767089496c61e1d15f00891ba2cbcb5878a9 100644 Binary files a/doc/images/qtcreator-qml-performance-monitor-toolbar.png and b/doc/images/qtcreator-qml-performance-monitor-toolbar.png differ diff --git a/doc/images/qtcreator-qml-performance-monitor.png b/doc/images/qtcreator-qml-performance-monitor.png index 02d84879ef0102c884b5f2433df363c394dd2c01..1d8081cce93bbcfd141bf26f98c732c0931e98dd 100644 Binary files a/doc/images/qtcreator-qml-performance-monitor.png and b/doc/images/qtcreator-qml-performance-monitor.png differ diff --git a/doc/images/qtcreator-run-settings-linux-devices.png b/doc/images/qtcreator-run-settings-linux-devices.png new file mode 100644 index 0000000000000000000000000000000000000000..939c3e081ec3c228cbf1aed4169259077ea47ed8 Binary files /dev/null and b/doc/images/qtcreator-run-settings-linux-devices.png differ diff --git a/doc/images/qtcreator-screenshot-devconf-linux.png b/doc/images/qtcreator-screenshot-devconf-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6878754013a4f2a976d296e5c00ad0f9df4b60 Binary files /dev/null and b/doc/images/qtcreator-screenshot-devconf-linux.png differ diff --git a/doc/images/qtcreator-screenshot-devconf.png b/doc/images/qtcreator-screenshot-devconf.png index 23d805ebaa6a4d3fa79a66e57fbf5f6d57da8a94..b82882780e8e5947f8f7506625af29f0e73d5d10 100644 Binary files a/doc/images/qtcreator-screenshot-devconf.png and b/doc/images/qtcreator-screenshot-devconf.png differ diff --git a/doc/images/qtcreator-valgrind-callgrind-options.png b/doc/images/qtcreator-valgrind-callgrind-options.png index 99f8449af77fe6a452bc860c54172d61c9caa54b..d47c1b8ac9f1f71eb01b7dbf6d223626e5cf5298 100644 Binary files a/doc/images/qtcreator-valgrind-callgrind-options.png and b/doc/images/qtcreator-valgrind-callgrind-options.png differ diff --git a/doc/images/qtcreator-valgrind-memcheck-options.png b/doc/images/qtcreator-valgrind-memcheck-options.png index e4730106959e45f6741ae4de1453dc0f6b6373e3..622b23c5fe725fada2ca6d2d58af9d1c8d7f1201 100644 Binary files a/doc/images/qtcreator-valgrind-memcheck-options.png and b/doc/images/qtcreator-valgrind-memcheck-options.png differ diff --git a/doc/images/qtcreator-valgrind-remote-settings.png b/doc/images/qtcreator-valgrind-remote-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..0ffab9c89bc0661a492c6fe294d2fe746dccfe62 Binary files /dev/null and b/doc/images/qtcreator-valgrind-remote-settings.png differ diff --git a/doc/linuxdev.qdoc b/doc/linuxdev.qdoc new file mode 100644 index 0000000000000000000000000000000000000000..7f49605cc7789e9dce5b0b0941cb2a5e61624088 --- /dev/null +++ b/doc/linuxdev.qdoc @@ -0,0 +1,134 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** 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. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + + /*! + + \contentspage index.html + \previouspage creator-developing-maemo.html + \page creator-developing-generic-linux.html + \nextpage creator-developing-symbian.html + + \title Connecting Generic Linux Devices + + You can connect generic Linux devices to the development PC to build, run, + debug, and analyze applications on them from Qt Creator. + + If you have the tool chain for building applications for generic Linux + devices (with no MADDE support) installed on the development PC, you can add + it to Qt Creator. + + To be able to run and debug applications on generic Linux devices, you must + create device configurations and select them in the Qt Creator run + settings. + + You use a wizard to create the connections. You can edit the settings later + in \gui {Tools > Options... > Linux Devices > Device Configurations}. + + \image qtcreator-linux-device-configurations.png "Device Configurations dialog" + + You can protect the connections between Qt Creator and a device by using + either a password or an SSH key. If you do not have an SSH key, you can + create it in Qt Creator. For more information, see \l {Generating SSH Keys}. + + To configure connections between Qt Creator and generic Linux devices: + + \list 1 + + \o Make sure that your device can be reached via an IP address. + + \o Select \gui {Tools > Options... > Qt4 > Add} to add the Qt version + for the generic Linux. + + \o Select \gui {Tools > Options... > Tool Chains > Add} to add the tool + chain for building the applications. + + \o To deploy applications and run them remotely on devices, specify + parameters for accessing the devices: + + \list 1 + + \o Select \gui {Tools > Options... > Linux Devices > Device + Configurations > Add > Generic Linux Device}. + + \image qtcreator-screenshot-devconf-linux.png "Connection Data wizard" + + \o In the \gui {The name to identify this configuration} field, + enter a name for the connection. + + \o In the \gui {The device's host name or IP address} field, + enter the host name or IP address of the device. + + \o In the \gui {The user name to log into the device} field, + enter the user name to log into the device and run the + application as. + + \o In the \gui {The authentication type} field, select whether + to use \gui Password or \gui Key authentication, and enter + the user's password or the file that contains the user's + private key. + + \o Click \gui {Next} to create the connection. + + \endlist + + \o To specify build settings: + + \list 1 + + \o Open a project for an application you want to develop for the + device. + + \o Select \gui {Projects > Desktop > Build}. + + \o Select the Qt version and tool chain for the generic Linux + device. + + \endlist + + \o To specify run settings: + + \list 1 + + \o Select \gui {Run > Add > Build Tarball and Deploy to Linux Host} + to add a new deploy configuration. + + \image qtcreator-run-settings-linux-devices.png "Run settings for generic Linux devices" + + \o In the \gui {Device configuration} field, select the device + connection. + + \endlist + + When you run the project, Qt Creator creates an installation package in + the build directory. The name of the directory is displayed in the + \gui {Create tarball} step. + + The \gui {Deploy tarball via SFTP upload using device} step specifies + that Qt Creator uploads the tarball to the device and extracts it. + You can add custom deploy steps and remove the default step if + it is incompatible with your steps. + To only create a tarball and not copy the files to the device, + remove all deploy steps. + + \endlist + +*/ + diff --git a/doc/maemodev.qdoc b/doc/maemodev.qdoc index c7ef5739fad3d1b0e997789f203505c085a50d0c..174268efd36de5c36ffa29f14b91705732150713 100644 --- a/doc/maemodev.qdoc +++ b/doc/maemodev.qdoc @@ -29,7 +29,7 @@ \endif \page creator-developing-maemo.html \if defined(qcmanual) - \nextpage creator-developing-symbian.html + \nextpage creator-developing-generic-linux.html \else \nextpage smartinstaller.html \endif @@ -279,7 +279,7 @@ only need to configure a connection to the device. You use a wizard to create the connections. You can edit the settings later - in \gui {Tools > Options... > Maemo > Maemo Device Configurations}. + in \gui {Tools > Options... > Linux Devices > Device Configurations}. \image qtcreator-maemo-device-configurations.png "Maemo Device Configurations dialog" @@ -327,8 +327,8 @@ \note If you experience connection problems due to a USB port issue, switch to a different port or use WLAN to connect to the device. - \o Select \gui Tools > \gui Options... > \gui Maemo > - \gui{Maemo Device Configurations > Add}, and add a new configuration for a + \o Select \gui {Tools > Options... > Linux Devices > Device + Configurations > Add}, and add a new configuration for a hardware device. \image qtcreator-screenshot-devconf.png @@ -345,6 +345,9 @@ \o In the \gui {The device's host name or IP address} field, enter the IP address from the connectivity tool on the device. + \o In the \gui {The SSH server port} field, enter the port number to + use for SSH connections. + \o Click \gui Next. \o Follow the instructions of the wizard to create the connection. @@ -360,8 +363,9 @@ \list a - \o In Qt Creator, select \gui {Tools > Options... > Maemo > - Maemo Device Configurations > Add} to add a new configuration. + \o In Qt Creator, select \gui {Tools > Options... > Linux + Devices > Device Configurations > Add} to add a new + configuration. \image qtcreator-maemo-emulator-connection.png @@ -428,8 +432,8 @@ \o To specify the password, enter the following command: \c{/usr/lib/mad-developer/devrootsh passwd user} - \o In Qt Creator, Select \gui Tools > \gui Options... > \gui Maemo > - \gui{Maemo Device Configurations}. + \o In Qt Creator, select \gui {Tools > Options... Linux Devices > + Device Configurations}. \o Specify the username \c user and the password in the device configuration. @@ -444,7 +448,8 @@ \list 1 - \o Select \gui {Tools > Options... > Maemo > Maemo Device Configurations + \o Select \gui {Tools > Options... > Linux Devices > Device + Configurations > Generate SSH Key...}. \o Click \gui {Generate SSH Key}. @@ -465,7 +470,7 @@ You can view processes running on the Maemo or MeeGo Harmattan device and kill them. - Select \gui {Tools > Options... > Maemo > Maemo Device Configurations > + Select \gui {Tools > Options... > Linux Devices > Device Configurations > Remote Processes...}. You can filter the processes by name in the \gui {List of Remote Processes} diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc index 413c30d62eafecf202c13f8f2b269a8309354202..d91da785eae157cbaa17560daea078c68d9906e8 100644 --- a/doc/qtcreator.qdoc +++ b/doc/qtcreator.qdoc @@ -66,6 +66,7 @@ \o \l{Opening a Project} \o \l{Adding Libraries to Projects} \o \l{Connecting Maemo and MeeGo Harmattan Devices} + \o \l{Connecting Generic Linux Devices} \o \l{Connecting Symbian Devices} \o \l{Managing Sessions} \endlist @@ -133,6 +134,7 @@ \o \l{Profiling QML Applications} \o \l{Detecting Memory Leaks} \o \l{Profiling Function Execution} + \o \l{Running Valgrind Tools Remotely} \endlist \o \l{Deploying Applications to Mobile Devices} \list @@ -372,7 +374,8 @@ and profile Qt Quick applications. You can test applications that are intended for mobile devices in the Qt - Simulator and Maemo Emulator, but you also need to test the applications + Simulator and Maemo or MeeGo Harmattan emulator, but you also need to test + the applications on real devices. \section2 Debuggers @@ -435,11 +438,11 @@ If you change property values or add properties in the code editor, the changes are updated in the running application when they are saved. - \section3 QML Observer + \section3 QML Inspector - While the application is running, you can use the \gui {QML Observer} view to + While the application is running, you can use the \gui {QML Inspector} view to explore the object structure, debug animations, and inspect colors. When debugging - complex applications, you can use the observe mode to jump to the position in code + complex applications, you can use the inspection mode to jump to the position in code where an element is defined. \section2 Code Analysis Tools @@ -447,8 +450,8 @@ The memory available on devices is limited and you should use it carefully. Qt Creator integrates Valgrind code analysis tools for detecting memory leaks and profiling function execution. These tools are only supported on - Linux and - Mac OS. You must download and install them separately to use them from Qt + Linux and Mac OS, but you can run them remotely from Windows. You must + download and install them separately to use them from Qt Creator. The QML Profiler is installed as part of Qt Creator. It allows you @@ -556,6 +559,8 @@ \o MeeGo Harmattan + \o Generic remote Linux + \o Symbian \endlist @@ -565,13 +570,14 @@ \table \header - \o {1,5} Operating system - \o {5,1} Platform + \o {1,6} Operating system + \o {6,1} Platform \header \o Desktop \o Qt Simulator \o Maemo 5 \o MeeGo Harmattan + \o Generic Remote Linux \o Symbian \row @@ -581,12 +587,14 @@ \o Yes \o Yes \o Yes + \o Yes \row \o Linux \o Yes \o Yes \o Yes \o Yes + \o Yes \o Yes (by using Remote Compiler for building) \row \o Mac OS X @@ -594,6 +602,7 @@ \o Yes \o Yes \o Yes + \o Yes \o Yes (by using Remote Compiler for building) \endtable */ @@ -776,7 +785,6 @@ \o \gui{Application Output} \o \gui{Compile Output} \o \gui{General Messages} - \o \gui{Analysis} \o \gui{Version Control} \endlist @@ -790,7 +798,7 @@ criteria in the \gui Find field and click the left and right arrows to search down and up in the pane. - To open the \gui{General Messages}, \gui{Analysis}, and \gui{Version Control} + To open the \gui{General Messages} and \gui{Version Control} panes, select \gui {Window > Output Panes}. @@ -1181,14 +1189,15 @@ as tree structure. \o \gui {Library} pane displays the building blocks that you can use to design - applications: predefined QML elements, your own QML components, and other + applications: predefined QML elements, your own QML components, Qt Quick + components for Symbian or MeeGo that you import to the project, and other resources. \o \gui Canvas is the working area where you create QML components and design applications. \o \gui {Properties} pane organizes the properties of the selected QML element - or QML component. You can also change the properties in the code editor. + or QML component. You can change the properties also in the code editor. \o \gui {State} pane displays the different states of the component. QML states typically describe user interface configurations, such as the UI @@ -1207,7 +1216,8 @@ You can select elements in the \gui Navigator to edit their properties in the \gui Properties pane. Elements can access the properties of their - parent element. + parent element. To select elements on the canvas, right-click an element, + and select another element in the context menu. Typically, child elements are located within the parent element on the canvas. However, they do not necessarily have to fit inside the parent element. @@ -1238,6 +1248,20 @@ \inlineimage qtcreator-splitbar.png . + \section2 Setting the Stacking Order + + The \l{http://doc.qt.nokia.com/4.7/qml-item.html#z-prop}{z property} of an + element determines its position in relation to its sibling elements in the + element hierarchy. By default, elements with a higher stacking value are + drawn on top of siblings with a lower stacking value. Elements with the same + stacking value are drawn in the order they are listed, from the last item + up. + + To change the stacking order of an item, right-click it on the canvas and + select \gui {Stack (z)}. You can raise or lower the stack value of an item + or move the item to the front or back of all its siblings. To remove the + \c z property, select \gui Reset. + \section2 Switching Parent Elements When you drag and drop QML elements to the canvas, Qt Quick Designer @@ -1250,21 +1274,32 @@ element under the cursor becomes the new parent of the element. You can change the parent of an element also in the \gui Navigator pane. - Drag and drop the element to another position in the tree. + Drag and drop the element to another position in the tree or use the arrow + buttons to move the element in the tree. + + \image qmldesigner-navigator-arrows.png "Navigator arrow buttons" \section1 Element Library The \gui {Library} pane contains two tabs: \gui {Items} and \gui {Resources}. The \gui Items pane displays the QML elements grouped by type: your own QML - components, basic elements, interaction elements, views, and widgets. + components, basic elements, positioner elements, and views. - \omit Sets of UI components with the MeeGo and Symbian look and feel have been defined for Qt Quick. They are based on standard QML elements. To view the - UI components in \gui {QML Components}, click - \inlineimage qtcreator-filter.png - and select \gui {MeeGo Components} or \gui {Symbian Components}. - \endomit + UI components in the \gui {Library} pane, add import statements to the .pro + file of your project: + + \list + + \o \c {import com.nokia.symbian 1.0} for Symbian + + \o \c {import com.meego 1.0} for MeeGo + + \endlist + + The Qt Quick Application wizard adds the import statements automatically + when you select the component set to use for your project. \image qmldesigner-qml-components.png "QML Components pane" @@ -1288,6 +1323,11 @@ that you specify explicitly are highlighted with blue color. In addition, property changes in states are highlighted with blue. + You can use a context-menu to reset some element properties. To reset the + position or size property of an element, right-click the element and select + \gui {Edit > Reset Position} or \gui {Reset Size} in the context menu. To + set the visibility of the component, select \gui {Edit > Visibility}. + For more information on the properties available for an element, press \key {F1}. \section2 Setting Expressions @@ -1311,6 +1351,17 @@ For more information on the JavaScript environment provided by QML, see \l{http://doc.qt.nokia.com/4.7/qdeclarativejavascript.html}{Integrating JavaScript}. + \section2 Marking Text Elements for Translation + + To support translators, mark each text element that should be translated. + In the \gui Properties pane, \gui Text field, select \gui tr. + + \image qmldesigner-text-property-tr.png "Text properties" + + The text string is enclosed in a \c qsTr call. + + \image qml-translate.png "Text marked for translation" + \section2 Loading Placeholder Data Often, QML applications are prototyped with fake data that is later @@ -1420,7 +1471,8 @@ \section2 Building Transformations on Items - The \gui Advanced pane allows you configure advanced transformations, such as + The \gui Advanced pane allows you to configure advanced transformations, + such as rotation, scale, and translation. You can assign any number of transformations to an item. Each transformation is applied in order, one at a time. @@ -3185,6 +3237,7 @@ \o \l{Opening a Project} \o \l{Adding Libraries to Projects} \o \l{Connecting Maemo and MeeGo Harmattan Devices} + \o \l{Connecting Generic Linux Devices} \o \l{Connecting Symbian Devices} \o \l{Managing Sessions} \endlist @@ -4479,6 +4532,42 @@ Debugging also works transparently. + \section1 Running on Generic Linux Devices + + \list 1 + + \o Build and run the application for \l{Running on Qt Simulator} + {Qt Simulator}. + + \o Build and run the application for a device: + + \list 1 + + \o Specify a connection to the device. For more information, see + \l{Connecting Generic Linux Devices}. + + \o Click the \gui Run button. + + \endlist + + \endlist + + Qt Creator uses the compiler specified in the project build settings + (tool chain) to build the application. + + Qt Creator generates an installation package, installs it on the + device, and executes the selected application. The application views are + displayed on the device. Command-line output is visible in the Qt + Creator \gui {Application Output} view. + + Choose \gui {Projects > Desktop > Run} to view the settings for deploying + the application on the connected device and creating the installation + package. For more information, see + \l{Specifying Run Settings for Generic Linux Devices}. + + Debugging works transparently if GDB server is installed on the device and + it is compatible with the GDB on the host. + \section1 Running on Symbian \list 1 @@ -4903,6 +4992,24 @@ information, see \l{Deploying Applications to Maemo or MeeGo Harmattan Devices}. + \section2 Specifying Run Settings for Generic Linux Devices + + To run an application on a generic Linux device (without MADDE support), + create and select a device configuration in the Desktop run settings for + your project. You can also pass command line arguments to your application. + + \image qtcreator-run-settings-linux-devices.png "Run settings for Generic Linux devices" + + In addition, you must create a connection from the development PC to the + device. Click \gui {Manage device configurations} to create connections. + For more information, see \l {Connecting Generic Linux Devices}. + + When you run the application on the \gui Desktop target, Qt Creator + generates an installation package in the build directory. The name of the + directory is displayed in the \gui {Create tarball} step. Qt Creator copies + the tarball to devices by using the SSH file transfer protocol (SFTP) and + extracts it. + \section1 Specifying a Custom Executable to Run If you use CMake or the generic project type in Qt Creator, or want @@ -5092,7 +5199,7 @@ /*! \contentspage index.html - \previouspage creator-cache-profiler.html + \previouspage creator-running-valgrind-remotely.html \page creator-deployment.html \nextpage creator-deployment-symbian.html @@ -7804,7 +7911,7 @@ The on-device mode is a special mode available for run configurations targeting mobile devices. It debugs processes running on mobile devices using on-device debugging agents, such as CODA on Symbian and - gdbserver on Maemo and MeeGo Harmattan. + gdbserver on Linux-based devices. To launch the debugger in the on-device mode, open the project, select a run configuration that targets a mobile device, and click the @@ -8072,7 +8179,9 @@ By default, the views are locked into place in the workspace. Select \gui {Window > Views > Locked} to unlock the views. Drag and drop the views into new positions on the screen. Drag view borders to resize the - views. The size and position of views are saved for future sessions. + views. The size and position of views are saved for future sessions. Select + \gui {Window > Views > Reset to Default Layout} to reset the views to + their original sizes and positions. \section1 Using the Debugger @@ -8823,10 +8932,11 @@ The debugging helpers for QML provide you with code completion for custom modules (\c qmldump) and debugging Qt Quick UI projects (\c qmlobserver). - You have to build the QML Observer once for each Qt version that you want to debug + You have to build the QML Inspector once for each Qt version that you want + to debug with. Select \gui{Tools > Options... > Qt4 > Qt Versions}. - \note QML Observer requires Qt 4.7.1 or later. + \note QML Inspector requires Qt 4.7.1 or later. \section1 Enabling Debugging Helpers for Qt's Bootstrapped Applications @@ -8972,7 +9082,7 @@ \o Select \gui Projects, and then select the \gui QML check box in the \gui {Run Settings}, to enable QML debugging. - \o Compile the QML Observer debugging helper. For more information, see + \o Compile the QML Inspector debugging helper. For more information, see \l{Debugging Helpers for QML}. \endlist @@ -9048,7 +9158,7 @@ You can see the current value of a property by hovering over it in the code editor. - \section1 Previewing QML Changes at Runtime + \section1 Applying QML Changes at Runtime If you change property values or add properties in the code editor, the changes are updated in the running application when you save them. If live preview is not supported @@ -9060,37 +9170,46 @@ \section1 Inspecting QML at Runtime - While the application is running, you can use the \gui {QML Observer} view to + While the application is running, you can use the \gui {QML Inspector} view to explore the object structure, debug animations, and inspect colors. - To open the \gui {QML Observer} view, choose \gui {Window > View > QML Observer}. + To open the \gui {QML Inspector} view, choose \gui {Window > View > + QML Inspector}. The view shows the properties of the currently selected QML element. - \image qml-observer-view.png "QML Observer view" + \image qml-observer-view.png "QML Inspector view" - When you debug complex applications, you can use the observe - mode to jump to the position in code where an element is defined. To switch to - the observe mode, click - \inlineimage qml-observer-bar-observe.png + When you debug complex applications, you can use the inspection + mode to jump to the position in code where an element is defined. You are + switched to the inspection mode, when you click the \gui Select, \gui Zoom, + or \gui {Color Picker} button on the toolbar. - Click elements in the running application to jump to their definitions in the code. - Double-click elements to browse the element hierarchy. The hierarchy is displayed - as bread crumbs in the \gui {QML Observer} view. + \image qml-observer-buttons.png "QML Inspector toolbar" - To move the application running in \QQV to the front, select the - \gui {Show Application on Top} button. + When the \gui Select tool is enabled, you can click elements in the running + application to jump to their definitions in the code. The properties of the + selected element are displayed in the \gui {QML Inspector} view. The element + hierarchy is displayed as a bread crumb path. You can also right-click an element in the running application to view the element - hierarchy as a context menu. Select an element to jump to its definition in code. + hierarchy as a context menu. - \image qml-observer-context-menu.png "QML Observer" + \image qml-observer-context-menu.png "QML Inspector" - To zoom in and out of the application, click the \gui Zoom button. + To switch to the zoom mode, click the \gui Zoom button. Click in the + running application to zoom in. Right-click to open a context menu that + contains zoom controls. To inspect colors, click the \gui {Color Picker} button. You can also click \inlineimage qml-observer-bar-copy-color.png "Copy Color button" to copy the color definition to the clipboard. + To switch out of the inspection mode, deselect the \gui Select, \gui Zoom, + and \gui {Color Picker} button. + + To move the application running in \QQV to the front, select the + \gui {Show Application on Top} button. + \section1 Debugging Animations \image qml-observer.png @@ -9845,7 +9964,12 @@ \endlist - In the code editor, write the code to use the data models. + When you add a Grid View, List View, or Path View element, the + \l{http://doc.qt.nokia.com/4.7/qml-listmodel.html}{ListModel} and the + delegate component that creates an instance for each item in the model are + added automatically. You can edit element properties in the \gui Properties + pane or in the code editor. You can also replace the default model and + delegate with other, more complex models and delegates in the code editor. \section1 Positioning Items on Screens @@ -10014,6 +10138,18 @@ Note: GIMP does not support grouping, and therefore, each layer is exported as an item in GIMP. + You can open the QML file in Qt Creator for editing. If you edit the file in Adobe + Photoshop and export it to the same directory again, any changes you made in Qt + Creator are overwritten. However, you can re-export graphical assets without + recreating the QML code. + + If you create vector graphics with other tools that have an Adobe Photoshop export + option, such as Adobe Illustrator, you can export them first to Photoshop + and then + to QML. + + \section1 Conversion Rules + The following rules apply to the conversions: \list @@ -10034,14 +10170,38 @@ \endlist - You can open the QML file in Qt Creator for editing. If you edit the file in Adobe - Photoshop and export it to the same directory again, any changes you made in Qt - Creator are overwritten. However, you can re-export graphical assets without - recreating the QML code. + \section1 Preparing Files for Conversion - If you create vector graphics with other tools that have an Adobe Photoshop export - option,such as Adobe Illustrator, you can export them first to Photoshop and then - to QML. + To create QML files that are easy to use, prepare the Adobe Photoshop or + GIMP designs for exporting, as follows: + + \list + + \o To minimize the number of elements, minimize the number of layers or + use top-level layer groups, because each layer or layer group is + exported as a Text or Image element. + + \o To make sure that all related elements are exported to the same + element, use top-level layer groups. + + \o To determine that some layers are not exported, hide them, and + deselect the \gui {Export hidden} check box during exporting. + + \o To make it easier to find the layers and layer groups after + exporting them, use descriptive names for them. + + \o To make sure that image dimensions are preserved during export, + create at least one fully filled layer (which can be hidden), such + as a background layer. If the export script does not find a fully + filled layer, it resizes all images to the size of the canvas. + + \o To prevent errors during export, make sure that the layers are not + locked. Locked layers cannot be exported. + + \o To avoid unexpected results, do not use Blending Mode effects. They + are not exported. + + \endlist \section1 Exporting from Adobe Photoshop to QML @@ -10329,16 +10489,16 @@ \section1 Starting the Emulator - The \gui {Start Maemo Emulator} button is visible if you have a project + The \gui {Start MeeGo Emulator} button is visible if you have a project open in Qt Creator for which you have added the Maemo or MeeGo Harmattan build target. It starts the Maemo or MeeGo Harmattan emulator, depending on the selected target. To start the emulator, click - \inlineimage qtcreator-maemo-emulator-button.png "Start Maemo Emulator button" + \inlineimage qtcreator-maemo-emulator-button.png "Start MeeGo Emulator button" . - Test your application on the Maemo emulator as on a device. For a list of + Test your application on the emulator as on a device. For a list of keyboard shortcuts that you can use to emulate keys and functions, see \l {Emulating Device Keys}. @@ -10355,7 +10515,8 @@ If the emulator crashes, you are asked whether you want to try software rendering, instead. - To specify the OpenGL mode, select \gui {Tools > Options... > Maemo > Qemu + To specify the OpenGL mode, select \gui {Tools > Options... > Linux Devices + > Maemo Qemu Settings}. \section1 Emulating Device Keys @@ -10453,7 +10614,7 @@ and displays the text \e {Shutting down} in the emulator window title pane. The emulator closes shortly after this. - You can also select the \gui {Start Maemo Emulator} button to close the + You can also select the \gui {Start MeeGo Emulator} button to close the emulator. This is a faster way to close the emulator, because it does not wait for the operating system running on the emulated machine to shut down, but this also means that it is less safe. @@ -12060,7 +12221,8 @@ \l{http://valgrind.org/info/tools.html}{Valgrind tool suite} to detect problems that are related to memory management in applications. - \note Memcheck is supported on Linux and Mac OS. + \note Memcheck is supported locally on Linux and Mac OS. You can run it on + a remote host from Windows. After you download and install Valgrind tools, you can use Memcheck from Qt Creator. @@ -12090,7 +12252,7 @@ While the application is running, Memcheck checks all reads and writes of memory and intercepts calls that allocate or free memory or create or delete memory blocks. When you stop Memcheck, it displays the results in - the \gui Analysis output pane. Click a line to view where a memory leak + the \gui Analysis view. Click a line to view where a memory leak occurred and a stack trace that shows what caused it. \image analyzer-issues.png "Analysis view" @@ -12105,16 +12267,17 @@ Stack traces can get quite large and confusing, and therefore, reading them from the bottom up can help. If the stack trace is not big enough or it is - too big, select \gui {Tools > Options... > Analyzer > Memory Analysis}. + too big, select \gui {Tools > Options... > Analyzer}. Define the length of the stack trace in the \gui {Backtrace frame count} field. + \image qtcreator-valgrind-memcheck-options.png "Memory Analysis options" + Memcheck also reports uses of uninitialised values, most commonly with the message \gui {Conditional jump or move depends on uninitialised value(s).} To determine the root cause of these errors, the \gui {Track origins of - uninitialized memory} check box is selected by default. This makes Memcheck - run slower, but the extra information you get often saves a lot of time - figuring out where the uninitialised values are coming from. + uninitialized memory} check box is selected by default. You can deselect it + to make Memcheck run faster. Memcheck detects numerous problems in the system libraries, such as the C library, which come pre-installed with your OS. As you cannot easily fix @@ -12129,26 +12292,26 @@ \l{http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress} {Suppressing Errors} in the Valgrind documentation. - \image qtcreator-valgrind-memcheck-options.png "Memory Analysis options" - - - */ /*! \contentspage index.html \previouspage creator-analyzer.html \page creator-cache-profiler.html - \nextpage creator-deployment.html + \nextpage creator-running-valgrind-remotely.html \title Profiling Function Execution You can use the Callgrind tool included in the \l{http://valgrind.org/info/tools.html}{Valgrind tool suite} to detect - problems that are related to cache usage. + problems that are related to executing functions. After you download and install Valgrind tools, you can use Callgrind from Qt Creator. + + \note Callgrind is supported locally on Linux and Mac OS. You can run it on + a remote host from Windows. + To analyze applications: \list 1 @@ -12187,12 +12350,12 @@ \section1 Selecting Profiling Options - To specify settings for Callgrind, select \gui {Tools > Options... > - Analyzer > Profiling}. + To specify settings for Valgrind, select \gui {Tools > Options... > + Analyzer}. The \gui {Profiling Options} group contains Callgrind options. - \image qtcreator-valgrind-callgrind-options.png "Profiling options" + \image qtcreator-valgrind-callgrind-options.png "Valgrind options" - In the \gui {Result view: Show events with inclusive costs higher than} + In the \gui {Result view: Minimum event cost} field, limit the amount of results the profiler gives you to increase profiler performance. @@ -12336,24 +12499,35 @@ In addition, Qt Creator integrates Valgrind code analysis tools for detecting memory leaks and profiling function execution. These tools are - only - supported on Linux and Mac OS. You have to download and install them + supported locally only on Linux and Mac OS. You can run them on a remote + host from Windows. You have to download and install them separately to use them from Qt Creator. - You can use the code analysis tools in the \gui Analyze mode or from the - \gui {Debug > Start Analyzer} menu. In \gui Analyze mode, you can switch + You can use the code analysis tools in the \gui Analyze mode. To switch to + \gui Analyze mode, select \gui Analyze in the mode selector, or select the + \gui {Analyze} menu and then select a tool. When you are in the + \gui Analyze mode, you can switch between tools by selecting them in the menu on the toolbar. \image qtcreator-analyze-menu "Analyze mode menu" - To run the Valgrind tools on a remote device over SSH, select \gui {Debug > - Start Analyzer > Start Remote}. + By default, the views in the \gui Analyze mode are locked into place in the + workspace. Select \gui {Window > Views > Locked} to unlock the views. Drag + and drop the views into new positions on the screen. Drag view borders to + resize the views. The size and position of views are saved for future + sessions. Select \gui {Window > Views > Reset to Default Layout} to reset + the views to their original sizes and positions. + + To run the Valgrind tools on a remote host over SSH, select \gui {Analyze + > Valgrind Analyze Memory (Remote)} or \gui {Valgrind Function Profile + (Remote)}. - To stop the currently running analyzer, select \gui {Debug > Start Analyzer + To stop the currently running analyzer, select \gui {Analyze > Stop}. To select options for the Valgrind tools, select \gui {Tools > Options... > - Analyzer}. + Analyzer}. You can override the general settings for each project in the + \gui {Run Settings} for the project. The following sections describe how to use the code analysis tools: @@ -12369,6 +12543,9 @@ \o \l{Profiling Function Execution} describes how to use the Valgrind Callgrind tool to find cache misses in the code. + \o \l{Running Valgrind Tools Remotely} describes how to run the + Valgrind tools on a remote host. + \endlist */ @@ -12386,18 +12563,28 @@ \list 1 + \o To be able to profile an application, you must set up QML debugging + for the project. For more information, see + \l{Setting Up QML Debugging}. + \o In the \gui Projects mode, select Qt 4.7.4 in the \gui {Qt version} field. - \o Select \gui Analyze to open the \gui Analyze mode. + \note To profile applications on devices, you must install Qt 4.7.4 + or later libraries on them. + + \o Select \gui {Analyze > QML Profiler} to profile the current + application. + + \image qtcreator-qml-performance-monitor-toolbar.png "QML Profiler toolbar" \o Select the \inlineimage qtcreator-analyze-start-button.png "Start button" button to start the application from the QML Profiler. - \note: If data collection does not start automatically, select the + \note If data collection does not start automatically, select the \inlineimage qtcreator-analyzer-button.png "Analyzer button" - . + button. \endlist @@ -12410,8 +12597,6 @@ button. Data collection takes time, and therefore, there might be a delay before the data is displayed. - \image qtcreator-qml-performance-monitor-toolbar.png "QML Profiler toolbar" - Do not use application commands to exit the application, because data is sent to the QML Profiler when you select the \gui Stop button. The application continues to run for some seconds, after which it is stopped @@ -12422,23 +12607,6 @@ application is launched. Data collection starts when you select the button again. - To monitor applications running on devices: - - \list 1 - - \o On the command line, enter the following command to launch the Qt - Quick application with parameters: - - \c {<application> -qmljsdebugger=port:33456} - - The port number is specified in the run settings of the project in - the \gui {Debug port} field. - - \o Select \gui {Debug > Start Analyzer > Attach...} to attach the QML - Profiler to the running application. - - \endlist - \section1 Analyzing Collected Data The \gui Timeline view displays graphical representations of: @@ -12462,8 +12630,16 @@ \image qtcreator-qml-performance-monitor.png "QML Profiler" The outline summarizes the period for which data was collected. Drag the - range bar or click the outline to move on the outline. Drag the borders of - the range bar to zoom in and out. + zoom range or click the outline to move on the outline. You can also move + between events by clicking the \gui Previous and \gui Next buttons. + + Click the zoom buttons or drag the zoom handles to zoom in and out. + + You can define an event range to view the frame rate of events and to + compare it with the frame rate of similar events. Click on the timeline to + specify the beginning of the event range. Drag the cursor to define the end + of the range. The length of the range indicates the frame rate of the event. + You can drag the timeline below the event range to compare events. Additional information is displayed on the rows above the outline. Each row in the timeline describes a type of QML events that were recorded. @@ -12481,19 +12657,19 @@ The time bar at the top of the \gui Timeline view displays the time in seconds. To see the time in milliseconds, move the mouse on the time bar. - \section1 Viewing Bindings + \section1 Viewing Events - The \gui Bindings view displays the number of times each binding is called - and the time the calls take. This allows you to examine which bindings you + The \gui Events view displays the number of times each binding is called + and the time the calls take. This allows you to examine which events you need to optimize. A high number of calls might indicate that a binding is called unnecessarily. Click on a binding to move to it in the source code in the code editor. - \image qtcreator-analyzer-bindings.png "Bindings view" + \image qtcreator-analyzer-bindings.png "Events view" - \section1 Viewing Calling and Called Bindings + \section1 Viewing Calling and Called Events - The \gui Callees and \gui Callers views show dependencies between bindings. + The \gui Callees and \gui Callers views show dependencies between events. They allow you to examine the internal functions of the application. The \gui Callees view summarizes the QML events that a binding triggers. @@ -12520,7 +12696,7 @@ environment variable QML_DISABLE_OPTIMIZER to 1. To set the environment variable for the current project in the project settings: - \list + \list 1 \o Select \gui {Projects > Run}. @@ -12531,3 +12707,35 @@ \endlist */ + + +/*! + \contentspage index.html + \previouspage creator-cache-profiler.html + \page creator-running-valgrind-remotely.html + \nextpage creator-deployment.html + + \title Running Valgrind Tools Remotely + + Qt Creator integrates Valgrind code analysis tools for detecting memory + leaks and profiling function execution. These tools are supported locally + only on Linux and Mac OS, but you can run them on a remote host from + Windows. + + To run the Valgrind tools on a remote host over SSH: + + \list 1 + + \o Select \gui {Analyze > Valgrind Analyze Memory (Remote)} or + \gui {Valgrind Function Profile (Remote)}. + + \image qtcreator-valgrind-remote-settings.png "Start Debugger dialog" + + \o In the \gui Remote group, specify the connection to the remote host. + + \o In the \gui Target group, specify the application to run and analyze + on the remote host. + + \endlist + +*/ diff --git a/doc/symbiandev.qdoc b/doc/symbiandev.qdoc index dbe2a956d1a4593b2cfcb1e2e7bb740c8df355c9..687f3049103aba6c6882a65c2c1a7bad45123fbe 100644 --- a/doc/symbiandev.qdoc +++ b/doc/symbiandev.qdoc @@ -22,7 +22,7 @@ /*! \contentspage index.html \if defined(qcmanual) - \previouspage creator-developing-maemo.html + \previouspage creator-developing-generic-linux.html \else \previouspage sdk-gs.html \endif diff --git a/qtcreator.pro b/qtcreator.pro index ec47b1d3d03dbca77fbe19247261b3b3296d284c..6739eb9e40f96f70f081d06a89252c3b910aaa0f 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -1,10 +1,11 @@ +include(qtcreator.pri) + #version check qt -contains(QT_VERSION, ^4\\.[0-6]\\..*) { +!minQtVersion(4, 7, 4) { message("Cannot build Qt Creator with Qt version $${QT_VERSION}.") - error("Use at least Qt 4.7.") + error("Use at least Qt 4.7.4.") } -include(qtcreator.pri) include(doc/doc.pri) TEMPLATE = subdirs diff --git a/share/qtcreator/dumper/dumper.py b/share/qtcreator/dumper/dumper.py index 223490d9f2539f3d044fed4a5f34de648661af7d..b88a205c4ace1e06d020b99d0bda18e361596259 100644 --- a/share/qtcreator/dumper/dumper.py +++ b/share/qtcreator/dumper/dumper.py @@ -107,58 +107,58 @@ typeInfoCache = {} def lookupType(typestring): type = typeCache.get(typestring) #warn("LOOKUP 1: %s -> %s" % (typestring, type)) - if type is None: - ts = typestring - while True: - #WARN("ts: '%s'" % ts) - if ts.startswith("class "): - ts = ts[6:] - elif ts.startswith("struct "): - ts = ts[7:] - elif ts.startswith("const "): - ts = ts[6:] - elif ts.startswith("volatile "): - ts = ts[9:] - elif ts.startswith("enum "): - ts = ts[5:] - elif ts.endswith(" const"): - ts = ts[:-6] - elif ts.endswith(" volatile"): - ts = ts[:-9] - elif ts.endswith("*const"): - ts = ts[:-5] - elif ts.endswith("*volatile"): - ts = ts[:-8] - else: - break - try: - #warn("LOOKING UP '%s'" % ts) - type = gdb.lookup_type(ts) - except RuntimeError, error: - #warn("LOOKING UP '%s': %s" % (ts, error)) - # See http://sourceware.org/bugzilla/show_bug.cgi?id=11912 - exp = "(class '%s'*)0" % ts - try: - type = parseAndEvaluate(exp).type.target() - except: - # Can throw "RuntimeError: No type named class Foo." - pass - except: - #warn("LOOKING UP '%s' FAILED" % ts) - pass - #warn(" RESULT: '%s'" % type) - #if not type is None: - # warn(" FIELDS: '%s'" % type.fields()) - typeCache[typestring] = type - if type is None and typestring.endswith('*'): - type = lookupType(typestring[0:-1]) + if not type is None: + return type + + ts = typestring + while True: + #WARN("ts: '%s'" % ts) + if ts.startswith("class "): + ts = ts[6:] + elif ts.startswith("struct "): + ts = ts[7:] + elif ts.startswith("const "): + ts = ts[6:] + elif ts.startswith("volatile "): + ts = ts[9:] + elif ts.startswith("enum "): + ts = ts[5:] + elif ts.endswith(" const"): + ts = ts[:-6] + elif ts.endswith(" volatile"): + ts = ts[:-9] + elif ts.endswith("*const"): + ts = ts[:-5] + elif ts.endswith("*volatile"): + ts = ts[:-8] + else: + break + + if ts.endswith('*'): + type = lookupType(ts[0:-1]) if not type is None: type = type.pointer() typeCache[typestring] = type - if type is None: - # could be gdb.lookup_type("char[3]") generating - # "RuntimeError: No type named char[3]" + return type + + try: + #warn("LOOKING UP '%s'" % ts) + type = gdb.lookup_type(ts) + except RuntimeError, error: + #warn("LOOKING UP '%s': %s" % (ts, error)) + # See http://sourceware.org/bugzilla/show_bug.cgi?id=11912 + exp = "(class '%s'*)0" % ts + try: + type = parseAndEvaluate(exp).type.target() + except: + # Can throw "RuntimeError: No type named class Foo." + pass + except: + #warn("LOOKING UP '%s' FAILED" % ts) pass + + # This could still be None as gdb.lookup_type("char[3]") generates + # "RuntimeError: No type named char[3]" return type def cleanAddress(addr): @@ -167,7 +167,8 @@ def cleanAddress(addr): # We cannot use str(addr) as it yields rubbish for char pointers # that might trigger Unicode encoding errors. #return addr.cast(lookupType("void").pointer()) - return hex(long(addr)) + # We do not use "hex(...)" as it (sometimes?) adds a "L" suffix. + return "0x%x" % long(addr) def extractTemplateArgument(type, position): level = 0 @@ -291,7 +292,7 @@ class SubItem: if len(type) > 0 and type != self.d.currentChildType: self.d.put('type="%s",' % type) # str(type.unqualified()) ? - if not type in typeInfoCache: + if not type in typeInfoCache and type != " ": # FIXME: Move to lookupType typeObj = lookupType(type) if not typeObj is None: typeInfoCache[type] = TypeInfo(typeObj) @@ -1081,7 +1082,7 @@ class Dumper: try: list = eval(exp) self.putValue("") - self.putType(" ") + self.putNoType() self.putNumChild(len(list)) # This is a list of expressions to evaluate with Children(self, len(list)): @@ -1092,7 +1093,7 @@ class Dumper: except RuntimeError, error: warn("EVAL: ERROR CAUGHT %s" % error) self.putValue("<syntax error>") - self.putType(" ") + self.putNoType() self.putNumChild(0) with Children(self, 0): pass @@ -1104,7 +1105,7 @@ class Dumper: handled = False if len(exp) == 0: # The <Edit> case self.putValue(" ") - self.putType(" ") + self.putNoType() self.putNumChild(0) else: try: @@ -1147,6 +1148,11 @@ class Dumper: self.currentType = type self.currentTypePriority = priority + def putNoType(self): + # FIXME: replace with something that does not need special handling + # in SubItem.__exit__(). + self.putBetterType(" ") + def putBetterType(self, type, priority = 0): self.currentType = type self.currentTypePriority = self.currentTypePriority + 1 @@ -1364,26 +1370,25 @@ class Dumper: return if value.type.code == gdb.TYPE_CODE_ARRAY: - baseptr = value.cast(realtype.pointer()) - if format == 0 or format == 1 or format == 2: - # Explicityly requested Latin1 or UTF-8 formatting. - f = [Hex2EncodedLatin1, Hex2EncodedUtf8, Hex2EncodedLocal8Bit][format] - self.putAddress(value.address) - self.putType(realtype) - self.putValue(encodeCharArray(value, 100), f) - self.putNumChild(1) + targettype = realtype.target() + self.putAddress(value.address) + self.putType(realtype) + self.putNumChild(1) + if format == 0: + # Explicitly requested Latin1 formatting. + self.putValue(encodeCharArray(value, 100), Hex2EncodedLatin1) + elif format == 1: + # Explicitly requested UTF-8 formatting. + self.putValue(encodeCharArray(value, 100), Hex2EncodedUtf8) + elif format == 2: + # Explicitly requested Local 8-bit formatting. + self.putValue(encodeCharArray(value, 100), Hex2EncodedLocal8Bit) else: - self.putType(realtype) - self.putAddress(value.address) - self.putValue("%s" % baseptr) - self.putNumChild(1) + self.putValue("@0x%x" % long(value.cast(targettype.pointer()))) if self.isExpanded(item): - charptr = lookupType("unsigned char").pointer() - addr1 = (baseptr+1).cast(charptr) - addr0 = baseptr.cast(charptr) - self.put('addrbase="%s",' % cleanAddress(addr0)) - self.put('addrstep="%s",' % (addr1 - addr0)) - with Children(self, 1, realtype.target()): + self.put('addrbase="0x%x",' % long(value.cast(targettype.pointer()))) + self.put('addrstep="%s",' % targettype.sizeof) + with Children(self, 1, targettype): child = Item(value, item.iname, None, item.name) self.putFields(child) return diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py index 066398a4c34ef151784b30d5633acc343cb99bf1..ec5119bcc8c68af98641f73b1065f8741a680fc4 100644 --- a/share/qtcreator/dumper/qttypes.py +++ b/share/qtcreator/dumper/qttypes.py @@ -509,7 +509,7 @@ def qdump__QImage(d, item): with Children(d): with SubItem(d): d.putName("data") - d.putType(" "); + d.putNoType() d.putNumChild(0) d.putValue("size: %s bytes" % nbytes); format = d.itemFormat(item) @@ -669,11 +669,8 @@ def extractCString(table, offset): def qdump__QObject(d, item): #warn("OBJECT: %s " % item.value) try: - privateTypeName = str(item.value.type) + "Private" + privateTypeName = d.ns + "QObjectPrivate" privateType = lookupType(privateTypeName) - if privateType is None: - privateTypeName = d.ns + "QObjectPrivate" - privateType = lookupType(privateTypeName) staticMetaObject = item.value["staticMetaObject"] d_ptr = item.value["d_ptr"]["d"].cast(privateType.pointer()).dereference() #warn("D_PTR: %s " % d_ptr) @@ -724,7 +721,7 @@ def qdump__QObject(d, item): with SubItem(d): d.putName("data") d.putValue(" ") - d.putType(" ") + d.putNoType() d.putNumChild(1) iname = item.iname + ".data" if d.isExpandedIName(iname): @@ -764,7 +761,7 @@ def qdump__QObject(d, item): propertyCount = staticPropertyCount + dynamicPropertyCount d.putName("properties") - d.putType(" ") + d.putNoType() d.putItemCount(propertyCount) d.putNumChild(propertyCount) @@ -877,7 +874,7 @@ def qdump__QObject(d, item): # Connections. with SubItem(d): d.putName("connections") - d.putType(" ") + d.putNoType() connections = d_ptr["connectionLists"] connectionListCount = 0 if not isNull(connections): @@ -909,7 +906,7 @@ def qdump__QObject(d, item): with SubItem(d): d.putName("signals") d.putItemCount(signalCount) - d.putType(" ") + d.putNoType() d.putNumChild(signalCount) if signalCount: # FIXME: empty type does not work for childtype @@ -923,7 +920,7 @@ def qdump__QObject(d, item): d.putField("iname", "%s.signals.%d" % (item.iname, signal)) d.putName("signal %d" % signal) - d.putType(" ") + d.putNoType() d.putValue(extractCString(metaStringData, offset)) d.putNumChild(0) # FIXME: List the connections here. @@ -932,7 +929,7 @@ def qdump__QObject(d, item): slotCount = metaData[4] - signalCount d.putName("slots") d.putItemCount(slotCount) - d.putType(" ") + d.putNoType() d.putNumChild(slotCount) if slotCount: #d.putField("childtype", ".") @@ -944,14 +941,14 @@ def qdump__QObject(d, item): offset = metaData[14 + 5 * (signalCount + slot)] d.putField("iname", "%s.slots.%d" % (item.iname, slot)) d.putName("slot %d" % slot) - d.putType(" ") + d.putNoType() d.putValue(extractCString(metaStringData, offset)) d.putNumChild(0) # FIXME: List the connections here. # Active connection with SubItem(d): d.putName("currentSender") - d.putType(" ") + d.putNoType() sender = d_ptr["currentSender"] d.putValue(cleanAddress(sender)) if isNull(sender): @@ -967,7 +964,7 @@ def qdump__QObject(d, item): with SubItem(d): d.putName("signal") d.putValue(sender["signal"]) - d.putType(" "); + d.putNoType() d.putNumChild(0) # QObject @@ -2203,7 +2200,7 @@ def qdump__QTJSC__JSValue(d, item): with SubItem(d): d.putName("tag") d.putValue(jstagAsString(long(tag))) - d.putType(" ") + d.putNoType() d.putNumChild(0) d.putIntItem("payload", long(payload)) @@ -2438,7 +2435,7 @@ if False: d.putField("iname", iname) d.putName("tree") d.putValue(" ") - d.putType(" ") + d.putNoType() d.putNumChild(1) if d.isExpandedIName(iname): with Children(d): @@ -2449,7 +2446,7 @@ if False: d.putField("iname", iname) d.putName("data") d.putValue(" ") - d.putType(" ") + d.putNoType() d.putNumChild(1) if d.isExpandedIName(iname): with Children(d): @@ -2507,7 +2504,7 @@ if False: else: d.putName("type") d.putValue(item.value["type"]) - d.putType(" ") + d.putNoType() @@ -2515,5 +2512,5 @@ if False: def qdump__bug5106__A5106(d, item): d.putName("a") d.putValue("This is the value: %s" % item.value["m_a"]) - d.putType(" ") + d.putNoType() d.putNumChild(0) diff --git a/share/qtcreator/qml-type-descriptions/builtins.qmltypes b/share/qtcreator/qml-type-descriptions/builtins.qmltypes index c553481d809e11d095ea44963a7cb1c34698c0a7..9070be8996c49faa7f2bf3eaaf573740578abbd1 100644 --- a/share/qtcreator/qml-type-descriptions/builtins.qmltypes +++ b/share/qtcreator/qml-type-descriptions/builtins.qmltypes @@ -3144,6 +3144,57 @@ Module { Property { name: "target"; type: "QSGItem"; isPointer: true } Property { name: "anchors"; type: "QSGAnchorSet"; isReadonly: true; isPointer: true } } + Component { + name: "QSGAnchorSet" + prototype: "QObject" + Property { name: "left"; type: "QDeclarativeScriptString" } + Property { name: "right"; type: "QDeclarativeScriptString" } + Property { name: "horizontalCenter"; type: "QDeclarativeScriptString" } + Property { name: "top"; type: "QDeclarativeScriptString" } + Property { name: "bottom"; type: "QDeclarativeScriptString" } + Property { name: "verticalCenter"; type: "QDeclarativeScriptString" } + Property { name: "baseline"; type: "QDeclarativeScriptString" } + } + Component { + name: "QSGAnchors" + prototype: "QObject" + Property { name: "left"; type: "QSGAnchorLine" } + Property { name: "right"; type: "QSGAnchorLine" } + Property { name: "horizontalCenter"; type: "QSGAnchorLine" } + Property { name: "top"; type: "QSGAnchorLine" } + Property { name: "bottom"; type: "QSGAnchorLine" } + Property { name: "verticalCenter"; type: "QSGAnchorLine" } + Property { name: "baseline"; type: "QSGAnchorLine" } + Property { name: "margins"; type: "qreal" } + Property { name: "leftMargin"; type: "qreal" } + Property { name: "rightMargin"; type: "qreal" } + Property { name: "horizontalCenterOffset"; type: "qreal" } + Property { name: "topMargin"; type: "qreal" } + Property { name: "bottomMargin"; type: "qreal" } + Property { name: "verticalCenterOffset"; type: "qreal" } + Property { name: "baselineOffset"; type: "qreal" } + Property { name: "fill"; type: "QSGItem"; isPointer: true } + Property { name: "centerIn"; type: "QSGItem"; isPointer: true } + Property { name: "mirrored"; type: "bool"; isReadonly: true } + Signal { name: "leftChanged" } + Signal { name: "rightChanged" } + Signal { name: "topChanged" } + Signal { name: "bottomChanged" } + Signal { name: "verticalCenterChanged" } + Signal { name: "horizontalCenterChanged" } + Signal { name: "baselineChanged" } + Signal { name: "fillChanged" } + Signal { name: "centerInChanged" } + Signal { name: "leftMarginChanged" } + Signal { name: "rightMarginChanged" } + Signal { name: "topMarginChanged" } + Signal { name: "bottomMarginChanged" } + Signal { name: "marginsChanged" } + Signal { name: "verticalCenterOffsetChanged" } + Signal { name: "horizontalCenterOffsetChanged" } + Signal { name: "baselineOffsetChanged" } + Signal { name: "mirroredChanged" } + } Component { name: "QSGAngledDirection" prototype: "QSGStochasticDirection" @@ -3483,6 +3534,30 @@ Module { } Method { name: "returnToBounds" } } + Component { + name: "QSGFlickableVisibleArea" + prototype: "QObject" + Property { name: "xPosition"; type: "qreal"; isReadonly: true } + Property { name: "yPosition"; type: "qreal"; isReadonly: true } + Property { name: "widthRatio"; type: "qreal"; isReadonly: true } + Property { name: "heightRatio"; type: "qreal"; isReadonly: true } + Signal { + name: "xPositionChanged" + Parameter { name: "xPosition"; type: "qreal" } + } + Signal { + name: "yPositionChanged" + Parameter { name: "yPosition"; type: "qreal" } + } + Signal { + name: "widthRatioChanged" + Parameter { name: "widthRatio"; type: "qreal" } + } + Signal { + name: "heightRatioChanged" + Parameter { name: "heightRatio"; type: "qreal" } + } + } Component { name: "QSGFlipable" defaultProperty: "data" @@ -5119,6 +5194,14 @@ Module { Signal { name: "currentItemChanged" } Signal { name: "pathChanged" } } + Component { + name: "QSGPen" + prototype: "QObject" + Property { name: "width"; type: "qreal" } + Property { name: "color"; type: "QColor" } + Property { name: "aligned"; type: "bool" } + Signal { name: "penChanged" } + } Component { name: "QSGPinch" prototype: "QObject" @@ -5375,6 +5458,15 @@ Module { Signal { name: "zScaleChanged" } Signal { name: "scaleChanged" } } + Component { + name: "QSGScaleGrid" + prototype: "QObject" + Property { name: "left"; type: "int" } + Property { name: "top"; type: "int" } + Property { name: "right"; type: "int" } + Property { name: "bottom"; type: "int" } + Signal { name: "borderChanged" } + } Component { name: "QSGShaderEffectItem" defaultProperty: "data" @@ -6273,6 +6365,7 @@ Module { } Method { name: "parentModelIndex"; type: "QVariant" } } + Component { name: "QSGVisualDataModelParts"; prototype: "QObject" } Component { name: "QSGVisualItemModel" defaultProperty: "children" diff --git a/share/qtcreator/qml/qmldump/main.cpp b/share/qtcreator/qml/qmldump/main.cpp index a018e6e07e7213663fb6a436e1b7184d902e91eb..c37f0320a884663e75c695c4652151666e6605f7 100644 --- a/share/qtcreator/qml/qmldump/main.cpp +++ b/share/qtcreator/qml/qmldump/main.cpp @@ -141,7 +141,7 @@ QByteArray convertToId(const QByteArray &cppName) return cppToId.value(cppName, cppName); } -QSet<const QMetaObject *> collectReachableMetaObjects(const QString &importCode, QDeclarativeEngine *engine) +QSet<const QMetaObject *> collectReachableMetaObjects(const QList<QDeclarativeType *> &skip = QList<QDeclarativeType *>()) { QSet<const QMetaObject *> metas; metas.insert(FriendlyQObject::qtMeta()); @@ -189,7 +189,9 @@ QSet<const QMetaObject *> collectReachableMetaObjects(const QString &importCode, // find even more QMetaObjects by instantiating QML types and running // over the instances - foreach (const QDeclarativeType *ty, QDeclarativeMetaType::qmlTypes()) { + foreach (QDeclarativeType *ty, QDeclarativeMetaType::qmlTypes()) { + if (skip.contains(ty)) + continue; if (ty->isExtendedType()) continue; if (!ty->isCreatable()) @@ -202,21 +204,14 @@ QSet<const QMetaObject *> collectReachableMetaObjects(const QString &importCode, if (tyName.isEmpty()) continue; - QByteArray code = importCode.toUtf8(); - code += tyName; - code += " {}\n"; - - QDeclarativeComponent c(engine); - c.setData(code, QUrl::fromLocalFile(pluginImportPath + "/typeinstance.qml")); - inObjectInstantiation = tyName; - QObject *object = c.create(); + QObject *object = ty->create(); inObjectInstantiation.clear(); if (object) collectReachableMetaObjects(object, &metas); else - qWarning() << "Could not create" << tyName << ":" << c.errorString(); + qWarning() << "Could not create" << tyName; } return metas; @@ -542,8 +537,8 @@ int main(int argc, char *argv[]) } // find all QMetaObjects reachable from the builtin module - QByteArray importCode("import QtQuick 1.0\n"); - QSet<const QMetaObject *> defaultReachable = collectReachableMetaObjects(importCode, engine); + QSet<const QMetaObject *> defaultReachable = collectReachableMetaObjects(); + QList<QDeclarativeType *> defaultTypes = QDeclarativeMetaType::qmlTypes(); // this will hold the meta objects we want to dump information of QSet<const QMetaObject *> metas; @@ -551,6 +546,20 @@ int main(int argc, char *argv[]) if (action == Builtins) { metas = defaultReachable; } else { + // find a valid QtQuick import + QByteArray importCode; + QDeclarativeType *qtObjectType = QDeclarativeMetaType::qmlType(&QObject::staticMetaObject); + if (!qtObjectType) { + qWarning() << "Could not find QtObject type"; + importCode = QByteArray("import QtQuick 1.0\n"); + } else { + QByteArray module = qtObjectType->qmlTypeName(); + module = module.mid(0, module.lastIndexOf('/')); + importCode = QString("import %1 %2.%3\n").arg(module, + QString::number(qtObjectType->majorVersion()), + QString::number(qtObjectType->minorVersion())).toUtf8(); + } + // find all QMetaObjects reachable when the specified module is imported if (action != Path) { importCode += QString("import %0 %1\n").arg(pluginImportUri, pluginImportVersion).toAscii(); @@ -575,7 +584,7 @@ int main(int argc, char *argv[]) } } - QSet<const QMetaObject *> candidates = collectReachableMetaObjects(importCode, engine); + QSet<const QMetaObject *> candidates = collectReachableMetaObjects(defaultTypes); candidates.subtract(defaultReachable); // Also eliminate meta objects with the same classname. diff --git a/src/plugins/valgrind/callgrindconfigwidget.h b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.cpp similarity index 52% rename from src/plugins/valgrind/callgrindconfigwidget.h rename to share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.cpp index b76495f7f22e4b17878d29b7593676bae0798e01..4370f33dcb9ede7e6d804cde53c2820a90d283b0 100644 --- a/src/plugins/valgrind/callgrindconfigwidget.h +++ b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.cpp @@ -30,32 +30,58 @@ ** **************************************************************************/ -#ifndef ANALYZER_INTERNAL_CALLGRINDCONFIGWIDGET_H -#define ANALYZER_INTERNAL_CALLGRINDCONFIGWIDGET_H -#include <QtGui/QWidget> -namespace Valgrind { +#include "anchorchangesnodeinstance.h" + +namespace QmlDesigner { + namespace Internal { -namespace Ui { -class CallgrindConfigWidget; +AnchorChangesNodeInstance::AnchorChangesNodeInstance(QObject *object) : + ObjectNodeInstance(object) +{ +} + +AnchorChangesNodeInstance::Pointer AnchorChangesNodeInstance::create(QObject *object) +{ + Q_ASSERT(object); + + Pointer instance(new AnchorChangesNodeInstance(object)); + + return instance; } -class AbstractCallgrindSettings; +void AnchorChangesNodeInstance::setPropertyVariant(const QString &/*name*/, const QVariant &/*value*/) +{ +} -class CallgrindConfigWidget : public QWidget +void AnchorChangesNodeInstance::setPropertyBinding(const QString &/*name*/, const QString &/*expression*/) { -public: - CallgrindConfigWidget(AbstractCallgrindSettings *settings, QWidget *parent); - virtual ~CallgrindConfigWidget(); +} -private: - Ui::CallgrindConfigWidget *m_ui; - AbstractCallgrindSettings *m_settings; -}; +QVariant AnchorChangesNodeInstance::property(const QString &/*name*/) const +{ + return QVariant(); +} + +void AnchorChangesNodeInstance::resetProperty(const QString &/*name*/) +{ +} + + +void AnchorChangesNodeInstance::reparent(const ServerNodeInstance &/*oldParentInstance*/, + const QString &/*oldParentProperty*/, + const ServerNodeInstance &/*newParentInstance*/, + const QString &/*newParentProperty*/) +{ +} + +QObject *AnchorChangesNodeInstance::changesObject() const +{ + return object(); +} } // namespace Internal -} // namespace Valgrind -#endif // ANALYZER_INTERNAL_CALLGRINDCONFIGWIDGET_H +} // namespace QmlDesigner diff --git a/src/plugins/valgrind/memcheckconfigwidget.h b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.h similarity index 51% rename from src/plugins/valgrind/memcheckconfigwidget.h rename to share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.h index e3d806d75ae2caa2929ae3767d4d0c7e14f4b3dd..a5cfb4bf5d7b432944492c16fa308d195d97be4b 100644 --- a/src/plugins/valgrind/memcheckconfigwidget.h +++ b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.h @@ -1,11 +1,9 @@ /************************************************************************** ** -** This file is part of Qt Creator Instrumentation Tools +** This file is part of Qt Creator ** ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** Author: Milian Wolff, KDAB (milian.wolff@kdab.com) -** ** Contact: Nokia Corporation (info@qt.nokia.com) ** ** @@ -32,49 +30,49 @@ ** **************************************************************************/ -#ifndef ANALYZER_INTERNAL_MEMCHECKCONFIGWIDGET_H -#define ANALYZER_INTERNAL_MEMCHECKCONFIGWIDGET_H -#include <QtGui/QWidget> + +#ifndef QMLDESIGNER_ANCHORCHANGESNODEINSTANCE_H +#define QMLDESIGNER_ANCHORCHANGESNODEINSTANCE_H + +#include "objectnodeinstance.h" + +#include <QPair> +#include <QWeakPointer> QT_BEGIN_NAMESPACE -class QStandardItemModel; +class QDeclarativeProperty; QT_END_NAMESPACE -namespace Valgrind { -namespace Internal { +namespace QmlDesigner { -namespace Ui { -class MemcheckConfigWidget; -} - -class AbstractMemcheckSettings; +namespace Internal { -class MemcheckConfigWidget : public QWidget +class AnchorChangesNodeInstance : public ObjectNodeInstance { - Q_OBJECT - public: - MemcheckConfigWidget(AbstractMemcheckSettings *settings, QWidget *parent); - virtual ~MemcheckConfigWidget(); + typedef QSharedPointer<AnchorChangesNodeInstance> Pointer; + typedef QWeakPointer<AnchorChangesNodeInstance> WeakPointer; + + static Pointer create(QObject *objectToBeWrapped); - void setSuppressions(const QStringList &files); - QStringList suppressions() const; + virtual void setPropertyVariant(const QString &name, const QVariant &value); + virtual void setPropertyBinding(const QString &name, const QString &expression); + virtual QVariant property(const QString &name) const; + virtual void resetProperty(const QString &name); -public Q_SLOTS: - void slotAddSuppression(); - void slotRemoveSuppression(); - void slotSuppressionsRemoved(const QStringList &files); - void slotSuppressionsAdded(const QStringList &files); - void slotSuppressionSelectionChanged(); + using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around + void reparent(const ServerNodeInstance &oldParentInstance, + const QString &oldParentProperty, + const ServerNodeInstance &newParentInstance, + const QString &newParentProperty); -private: - AbstractMemcheckSettings *m_settings; - QStandardItemModel *m_model; - Ui::MemcheckConfigWidget *m_ui; +protected: + AnchorChangesNodeInstance(QObject *object); + QObject *changesObject() const; }; } // namespace Internal -} // namespace Valgrind +} // namespace QmlDesigner -#endif // ANALYZER_INTERNAL_MEMCHECKCONFIGWIDGET_H +#endif // QMLDESIGNER_ANCHORCHANGESNODEINSTANCE_H diff --git a/share/qtcreator/qml/qmlpuppet/instances/behaviornodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/behaviornodeinstance.cpp index a89da2510bd70c0bf88d14d2b2f4858f0382bfd0..d0c60c51a4a458b24b0476209accda60d00e3d22 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/behaviornodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/behaviornodeinstance.cpp @@ -51,7 +51,7 @@ BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(QObject *object) Pointer instance(new BehaviorNodeInstance(behavior)); - instance->populateResetValueHash(); + instance->populateResetHashes(); behavior->setEnabled(false); diff --git a/share/qtcreator/qml/qmlpuppet/instances/componentnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/componentnodeinstance.cpp index 6fae496a17243dbf00356714924a024653944ca0..97aecc1cd742ea91e1fe08553e3a41456a489912 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/componentnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/componentnodeinstance.cpp @@ -60,7 +60,7 @@ ComponentNodeInstance::Pointer ComponentNodeInstance::create(QObject *object) Pointer instance(new ComponentNodeInstance(component)); - instance->populateResetValueHash(); + instance->populateResetHashes(); return instance; } diff --git a/share/qtcreator/qml/qmlpuppet/instances/instances.pri b/share/qtcreator/qml/qmlpuppet/instances/instances.pri index af88d6bd738c4230a3a4dbe326888c7908eba718..b9ed533142b54929c8d1999dc6a136e94864d834 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/instances.pri +++ b/share/qtcreator/qml/qmlpuppet/instances/instances.pri @@ -16,7 +16,7 @@ HEADERS += $$PWD/qmlpropertychangesnodeinstance.h HEADERS += $$PWD/qmlstatenodeinstance.h HEADERS += $$PWD/qmltransitionnodeinstance.h HEADERS += $$PWD/servernodeinstance.h - +HEADERS += $$PWD/anchorchangesnodeinstance.h SOURCES += $$PWD/behaviornodeinstance.cpp SOURCES += $$PWD/dummycontextobject.cpp @@ -32,3 +32,4 @@ SOURCES += $$PWD/qmlpropertychangesnodeinstance.cpp SOURCES += $$PWD/qmlstatenodeinstance.cpp SOURCES += $$PWD/qmltransitionnodeinstance.cpp SOURCES += $$PWD/servernodeinstance.cpp +SOURCES += $$PWD/anchorchangesnodeinstance.cpp diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp index 6b93c7e81ed8a634cb63c844362e46117df58fd0..15786c92a46c8b74323e35869c10f7807ea0ca59 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp @@ -390,6 +390,9 @@ void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant nodeInstanceServer()->removeFilePropertyFromFileSystemWatcher(object(), name, path); } + if (hasValidResetBinding(name)) { + QDeclarativePropertyPrivate::setBinding(property, 0, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); + } bool isWritten = property.write(value); @@ -417,7 +420,7 @@ void ObjectNodeInstance::setPropertyBinding(const QString &name, const QString & binding->setTarget(property); binding->setNotifyOnValueChanged(true); QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::setBinding(property, binding); - if (oldBinding) + if (oldBinding && !hasValidResetBinding(name)) oldBinding->destroy(); binding->update(); if (binding->hasError()) @@ -512,12 +515,17 @@ void ObjectNodeInstance::doResetProperty(const QString &propertyName) QDeclarativeAbstractBinding *binding = QDeclarativePropertyPrivate::binding(property); - if (binding) { + if (binding && !(hasValidResetBinding(propertyName) && resetBinding(propertyName) == binding)) { binding->setEnabled(false, 0); binding->destroy(); } - if (property.isResettable()) { + + if (hasValidResetBinding(propertyName)) { + QDeclarativeAbstractBinding *binding = resetBinding(propertyName); + QDeclarativePropertyPrivate::setBinding(property, binding, QDeclarativePropertyPrivate::DontRemoveBinding); + binding->update(); + } else if (property.isResettable()) { property.reset(); } else if (property.propertyTypeCategory() == QDeclarativeProperty::List) { QDeclarativeListReference list = qvariant_cast<QDeclarativeListReference>(property.read()); @@ -639,7 +647,7 @@ ObjectNodeInstance::Pointer ObjectNodeInstance::create(QObject *object) { Pointer instance(new ObjectNodeInstance(object)); - instance->populateResetValueHash(); + instance->populateResetHashes(); return instance; } @@ -769,24 +777,32 @@ QObject *ObjectNodeInstance::createComponentWrap(const QString &nodeSource, cons return object; } + //The component might also be shipped with Creator. //To avoid trouble with import "." we use the component shipped with Creator. static inline QString fixComponentPathForIncompatibleQt(const QString &componentPath) { QString result = componentPath; - const QLatin1String importString("import"); + const QLatin1String importString("/imports/"); if (componentPath.contains(importString)) { - int index = componentPath.indexOf(importString) + 7; + int index = componentPath.indexOf(importString) + 8; const QString relativeImportPath = componentPath.right(componentPath.length() - index); QString fixedComponentPath = QLibraryInfo::location(QLibraryInfo::ImportsPath) + relativeImportPath; fixedComponentPath.replace(QLatin1Char('\\'), QLatin1Char('/')); if (QFileInfo(fixedComponentPath).exists()) return fixedComponentPath; + QString fixedPath = QFileInfo(fixedComponentPath).path(); + if (fixedPath.endsWith(QLatin1String(".1.0"))) { + //plugin directories might contain the version number + fixedPath.chop(4); + fixedPath += QLatin1Char('/') + QFileInfo(componentPath).fileName(); + if (QFileInfo(fixedPath).exists()) + return fixedPath; + } } return result; - } QObject *ObjectNodeInstance::createComponent(const QString &componentPath, QDeclarativeContext *context) @@ -951,22 +967,42 @@ QStringList propertyNameForWritableProperties(QObject *object, const QString &ba return propertyNameList; } -void ObjectNodeInstance::populateResetValueHash() +void ObjectNodeInstance::populateResetHashes() { QStringList propertyNameList = propertyNameForWritableProperties(object()); foreach(const QString &propertyName, propertyNameList) { QDeclarativeProperty property(object(), propertyName, QDeclarativeEngine::contextForObject(object())); - if (property.isWritable()) + + QDeclarativeAbstractBinding::Pointer binding = QDeclarativeAbstractBinding::getPointer(QDeclarativePropertyPrivate::binding(property)); + if (binding) { + m_resetBindingHash.insert(propertyName, binding); + } else if (property.isWritable()) { m_resetValueHash.insert(propertyName, property.read()); + } } } +QDeclarativeAbstractBinding *ObjectNodeInstance::resetBinding(const QString &propertyName) const +{ + return m_resetBindingHash.value(propertyName).data(); +} + +bool ObjectNodeInstance::hasValidResetBinding(const QString &propertyName) const +{ + return m_resetBindingHash.contains(propertyName) && m_resetBindingHash.value(propertyName).data(); +} + QVariant ObjectNodeInstance::resetValue(const QString &propertyName) const { return m_resetValueHash.value(propertyName); } +void ObjectNodeInstance::setResetValue(const QString &propertyName, const QVariant &value) +{ + m_resetValueHash.insert(propertyName, value); +} + void ObjectNodeInstance::paint(QPainter * /*painter*/) { } diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h index ee9fa5a2eafda5a65db46cc8861896823c95dae8..4ce1398d38f9639eea1130cc30c20cb2419e510c 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h @@ -46,6 +46,7 @@ class QGraphicsItem; class QDeclarativeContext; class QDeclarativeEngine; class QDeclarativeProperty; +class QDeclarativeAbstractBinding; QT_END_NAMESPACE namespace QmlDesigner { @@ -147,8 +148,11 @@ public: virtual void activateState(); virtual void deactivateState(); - void populateResetValueHash(); + void populateResetHashes(); + bool hasValidResetBinding(const QString &propertyName) const; + QDeclarativeAbstractBinding *resetBinding(const QString &propertyName) const; QVariant resetValue(const QString &propertyName) const; + void setResetValue(const QString &propertyName, const QVariant &value); QObject *object() const; @@ -185,6 +189,7 @@ protected: private: QHash<QString, QVariant> m_resetValueHash; + QHash<QString, QWeakPointer<QDeclarativeAbstractBinding> > m_resetBindingHash; QHash<QString, ServerNodeInstance> m_modelAbstractPropertyHash; mutable QHash<QString, bool> m_hasBindingHash; qint32 m_instanceId; diff --git a/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp index 4f706e4c7c69b512c439deaf3f2643fc3a39ff43..02c42276f8303ba3ac8744f3c80281d8339b8a4f 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp @@ -46,134 +46,6 @@ namespace QmlDesigner { namespace Internal { -//QmlPropertyChangesObject::QmlPropertyChangesObject() : -// QDeclarativeStateOperation(), -// m_restoreEntryValues(true), -// m_isExplicit(false) -//{ -//} - -//QDeclarativeStateOperation::ActionList QmlPropertyChangesObject::actions() -//{ -// QMutableListIterator<QDeclarativeAction> actionIterator(m_qmlActionList); - -// while (actionIterator.hasNext()) { -// QDeclarativeAction &action = actionIterator.next(); -// action.fromBinding = QDeclarativePropertyPrivate::binding(action.property); -// action.fromValue = action.property.read(); -// if (m_expressionHash.contains(action.specifiedProperty)) { -// if(m_expressionHash[action.specifiedProperty].second.isNull()) { -// if (targetObject()) { -// QDeclarativeBinding *binding = new QDeclarativeBinding(m_expressionHash[action.specifiedProperty].first, targetObject(), QDeclarativeEngine::contextForObject(targetObject()), this); -// binding->setTarget(action.property); -// binding->setNotifyOnValueChanged(true); -// action.toBinding = binding; -// action.toValue = binding->evaluate(); -// m_expressionHash.insert(action.specifiedProperty, ExpressionPair(m_expressionHash[action.specifiedProperty].first, binding)); -// } else { -// action.toBinding = 0; -// } -// } else { -// action.toBinding = m_expressionHash[action.specifiedProperty].second.data(); -// action.toValue = m_expressionHash[action.specifiedProperty].second->evaluate(); -// } -// } else { -// action.toBinding = 0; -// } -// } - -// return m_qmlActionList; -//} - -//QObject *QmlPropertyChangesObject::targetObject() const -//{ -// return m_targetObject.data(); -//} - -//void QmlPropertyChangesObject::setTargetObject(QObject *object) -//{ -// if (m_targetObject.data() == object) -// return; - -// QMutableListIterator<QDeclarativeAction> actionIterator(m_qmlActionList); -// while (actionIterator.hasNext()) { -// QDeclarativeAction &qmlAction = actionIterator.next(); -// if (m_expressionHash.contains(qmlAction.specifiedProperty) && m_expressionHash[qmlAction.specifiedProperty].second) { -// if (isActive()) { -// QDeclarativePropertyPrivate::setBinding(qmlAction.property, 0, QDeclarativePropertyPrivate::DontRemoveBinding| QDeclarativePropertyPrivate::BypassInterceptor); -// qmlAction.property.write(qmlAction.fromValue); -// m_expressionHash[qmlAction.specifiedProperty].second.data()->destroy(); -// } - - -// qmlAction.toBinding = 0; -// } - -// if (isActive() && targetObject()) { -// updateRevertValueAndBinding(qmlAction.specifiedProperty); -// } -// } - -// m_targetObject = object; - -// actionIterator.toFront(); -// while (actionIterator.hasNext()) { -// QDeclarativeAction &qmlAction = actionIterator.next(); -// qmlAction.specifiedObject = object; -// qmlAction.property = createMetaProperty(qmlAction.specifiedProperty); -// qmlAction.fromValue = qmlAction.property.read(); -// qmlAction.fromBinding = QDeclarativePropertyPrivate::binding(qmlAction.property); - -// if (m_expressionHash.contains(qmlAction.specifiedProperty) && targetObject()) { -// QDeclarativeBinding *binding = new QDeclarativeBinding(m_expressionHash[qmlAction.specifiedProperty].first ,targetObject(), QDeclarativeEngine::contextForObject(targetObject())); -// binding->setTarget(qmlAction.property); -// binding->setNotifyOnValueChanged(true); -// qmlAction.toBinding = binding; -// m_expressionHash.insert(qmlAction.specifiedProperty, ExpressionPair(m_expressionHash[qmlAction.specifiedProperty].first, binding)); -// if (isActive()) { -// QDeclarativePropertyPrivate::setBinding(qmlAction.property, qmlAction.toBinding, QDeclarativePropertyPrivate::DontRemoveBinding| QDeclarativePropertyPrivate::BypassInterceptor); -// } -// } - -// if (isActive() && targetObject()) { -// updateRevertValueAndBinding(qmlAction.specifiedProperty); -// } -// } -//} - -//bool QmlPropertyChangesObject::restoreEntryValues() const -//{ -// return m_restoreEntryValues; -//} - -//void QmlPropertyChangesObject::setRestoreEntryValues(bool restore) -//{ -// m_restoreEntryValues = restore; -//} - -//bool QmlPropertyChangesObject::isExplicit() const -//{ -// return m_isExplicit; -//} - -//void QmlPropertyChangesObject::setIsExplicit(bool isExplicit) -//{ -// m_isExplicit = isExplicit; -//} - -//QDeclarativeProperty QmlPropertyChangesObject::createMetaProperty(const QString &property) -//{ -// QDeclarativeProperty prop(m_targetObject.data(), property, QDeclarativeEngine::contextForObject(m_targetObject.data())); -// if (!prop.isValid()) { -// qWarning() << "Cannot assign to non-existent property" << property; -// return QDeclarativeProperty(); -// } else if (!prop.isWritable()) { -// qWarning() << "Cannot assign to read-only property" << property; -// return QDeclarativeProperty(); -// } -// return prop; -//} - QmlPropertyChangesNodeInstance::QmlPropertyChangesNodeInstance(QDeclarativePropertyChanges *propertyChangesObject) : ObjectNodeInstance(propertyChangesObject) { @@ -187,7 +59,7 @@ QmlPropertyChangesNodeInstance::Pointer QmlPropertyChangesNodeInstance::create(Q Pointer instance(new QmlPropertyChangesNodeInstance(propertyChange)); - instance->populateResetValueHash(); + instance->populateResetHashes(); return instance; } @@ -239,409 +111,11 @@ void QmlPropertyChangesNodeInstance::reparent(const ServerNodeInstance &oldParen changesObject()->attachToState(); } -//QDeclarativeState *QmlPropertyChangesObject::state() const -//{ -// if (!parent()) -// return 0; - -// Q_ASSERT(qobject_cast<QDeclarativeState*>(parent())); -// return static_cast<QDeclarativeState*>(parent()); -//} - -//QDeclarativeStateGroup *QmlPropertyChangesObject::stateGroup() const -//{ -// if (!state()) -// return 0; - -// return state()->stateGroup(); -//} - -//QDeclarativeStatePrivate *QmlPropertyChangesObject::statePrivate() const -//{ -// if (!parent() || QObjectPrivate::get(parent())->wasDeleted) -// return 0; - -// Q_ASSERT(qobject_cast<QDeclarativeState*>(parent())); -// return static_cast<QDeclarativeStatePrivate*>(QObjectPrivate::get(parent())); -//} - QDeclarativePropertyChanges *QmlPropertyChangesNodeInstance::changesObject() const { Q_ASSERT(qobject_cast<QDeclarativePropertyChanges*>(object())); return static_cast<QDeclarativePropertyChanges*>(object()); } - -//QDeclarativeAction QmlPropertyChangesObject::createQDeclarativeAction(const QString &propertyName) -//{ -// QDeclarativeProperty qmlMetaProperty = createMetaProperty(propertyName); - -// QDeclarativeAction qmlAction; -// qmlAction.restore = true; -// qmlAction.property = qmlMetaProperty; -// qmlAction.fromValue = qmlMetaProperty.read(); -// qmlAction.fromBinding = QDeclarativePropertyPrivate::binding(qmlMetaProperty); -// qmlAction.specifiedObject = m_targetObject.data(); -// qmlAction.specifiedProperty = propertyName; -// qmlAction.event = 0; - -// return qmlAction; -//} - -//bool QmlPropertyChangesObject::hasActionForProperty(const QString &propertyName) const -//{ -// for(ActionList::iterator actionIterator = m_qmlActionList.begin(); -// actionIterator != m_qmlActionList.end(); -// ++actionIterator) { -// QDeclarativeAction &qmlAction = *actionIterator; -// if (qmlAction.specifiedProperty == propertyName) { -// return true; -// } -// } - -// return false; -//} - -//QDeclarativeAction &QmlPropertyChangesObject::qmlActionForProperty(const QString &propertyName) const -//{ -// for(ActionList::iterator actionIterator = m_qmlActionList.begin(); -// actionIterator != m_qmlActionList.end(); -// ++actionIterator) { -// QDeclarativeAction &qmlAction = *actionIterator; -// if (qmlAction.specifiedProperty == propertyName) -// return qmlAction; -// } - -// Q_ASSERT(false); - -// return m_qmlActionList[0]; -//} - -//void QmlPropertyChangesObject::removeActionForProperty(const QString &propertyName) -//{ -// QMutableListIterator<QDeclarativeAction> actionIterator(m_qmlActionList); -// while (actionIterator.hasNext()) { -// QDeclarativeAction &qmlAction = actionIterator.next(); -// if (qmlAction.specifiedProperty == propertyName) -// actionIterator.remove(); -// } - -// if (statePrivate()) { -// QMutableListIterator<QDeclarativeSimpleAction> simpleActionIterator(statePrivate()->revertList); -// while (simpleActionIterator.hasNext()) { -// QDeclarativeSimpleAction &qmlSimpleAction = simpleActionIterator.next(); -// if (qmlSimpleAction.specifiedProperty == propertyName && qmlSimpleAction.specifiedObject == targetObject()) { -// simpleActionIterator.remove(); -// } -// } -// } -//} - -//bool QmlPropertyChangesObject::isActive() const -//{ -// if (state() && stateGroup()) -// return state()->name() == stateGroup()->state(); - -// return false; -//} -//QmlPropertyChangesObject::~QmlPropertyChangesObject() -//{ -// removeFromStateRevertList(); -//} - -//void QmlPropertyChangesObject::removeFromStateRevertList() -//{ -// if (statePrivate()) { -// QMutableListIterator<QDeclarativeSimpleAction> simpleActionIterator(statePrivate()->revertList); -// while(simpleActionIterator.hasNext()) { -// QDeclarativeSimpleAction &simpleAction = simpleActionIterator.next(); -// if (simpleAction.specifiedObject == targetObject()) { -// if (simpleAction.property.isValid()) { -// if (simpleAction.binding) { -// QDeclarativePropertyPrivate::setBinding(simpleAction.property, simpleAction.binding); -// } else if (simpleAction.value.isValid()) { -// QDeclarativePropertyPrivate::setBinding(simpleAction.property, 0); -// simpleAction.property.write(simpleAction.value); -// } -// } -// simpleActionIterator.remove(); -// } -// } -// } -//} - -//void QmlPropertyChangesObject::addToStateRevertList() -//{ -// if (isActive() && statePrivate()) { -// QListIterator<QDeclarativeAction> actionIterator(m_qmlActionList); -// while (actionIterator.hasNext()) { -// const QDeclarativeAction &qmlAction = actionIterator.next(); -// QDeclarativeSimpleAction simpleAction(qmlAction); -// simpleAction.binding = qmlAction.fromBinding; -// simpleAction.value = qmlAction.fromValue; -// statePrivate()->revertList.append(simpleAction); -// if (qmlAction.toBinding) -// QDeclarativePropertyPrivate::setBinding(qmlAction.property, qmlAction.toBinding); -// else -// qmlAction.property.write(qmlAction.toValue); -// } -// } -//} - -//void QmlPropertyChangesObject::updateRevertValueAndBinding(const QString &name) -//{ -// if (isActive() && statePrivate()) { -// typedef QList<QDeclarativeSimpleAction> SimpleActionList; -// if (!statePrivate()->revertList.isEmpty()) { -// for(SimpleActionList::iterator actionIterator = statePrivate()->revertList.begin(); -// actionIterator != statePrivate()->revertList.end(); -// ++actionIterator) { -// //simple action defines values and bindings to revert current state -// QDeclarativeSimpleAction &simpleAction = *actionIterator; -// if (simpleAction.specifiedObject == targetObject() -// && simpleAction.specifiedProperty == name) { -// const QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// simpleAction.value = qmlAction.fromValue; -// simpleAction.binding = qmlAction.fromBinding; -// simpleAction.specifiedObject = qmlAction.specifiedObject; -// simpleAction.specifiedProperty = qmlAction.specifiedProperty; -// simpleAction.property = qmlAction.property; -// return; //return since we just had to update exisisting simple action -// } -// } -// } - -// //simple action does not exist, yet - -// const QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// QDeclarativeSimpleAction simpleAction(qmlAction); -// simpleAction.binding = qmlAction.fromBinding; -// simpleAction.value = qmlAction.fromValue; -// statePrivate()->revertList.append(simpleAction); -// } -//} - -//void QmlPropertyChangesObject::setVariantValue(const QString &name, const QVariant & value) -//{ -// if (!hasActionForProperty(name)) { -// m_qmlActionList.append(createQDeclarativeAction(name)); -// } - -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// if (qmlAction.fromBinding) -// qmlAction.fromBinding->setEnabled(false, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); - -// qmlAction.toValue = value; -//} - -//void QmlPropertyChangesObject::setExpression(const QString &name, const QString &expression) -//{ -// if (!hasActionForProperty(name)) { -// m_qmlActionList.append(createQDeclarativeAction(name)); -// } - -// QDeclarativeContext *context = QDeclarativeEngine::contextForObject(targetObject()); -// QDeclarativeBinding *binding = 0; -// QDeclarativeProperty metaProperty(targetObject(), name, context); - -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// if (m_expressionHash.contains(name) && m_expressionHash[name].second) { -// if (QDeclarativePropertyPrivate::binding(metaProperty) == m_expressionHash[name].second.data()) -// QDeclarativePropertyPrivate::setBinding(metaProperty, 0, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); -// m_expressionHash.take(name).second->destroy(); -// qmlAction.toBinding = 0; -// } - - -// if (metaProperty.isValid() && metaProperty.isProperty()) { -// binding = new QDeclarativeBinding(expression, targetObject(), context, this); -// binding->setTarget(metaProperty); -// binding->setNotifyOnValueChanged(true); -// qmlAction.toBinding = binding; -// m_expressionHash.insert(name, ExpressionPair(expression, binding)); -// } else { -// m_expressionHash.insert(name, ExpressionPair(expression, static_cast<QDeclarativeBinding*>(0))); -// } - -// updateRevertValueAndBinding(name); -// if (isActive() && binding) -// QDeclarativePropertyPrivate::setBinding(metaProperty, binding, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); -//} - -//void QmlPropertyChangesObject::removeVariantValue(const QString &name) -//{ -// if (hasActionForProperty(name)) { -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// if (hasExpression(name)) { -// qmlAction.toValue = QVariant(); -// updateRevertValueAndBinding(name); -// } else { -// if (qmlAction.fromBinding) -// QDeclarativePropertyPrivate::setBinding(qmlAction.property, qmlAction.fromBinding); -// else -// qmlAction.property.write(qmlAction.fromValue); -// removeActionForProperty(name); -// } -// } -//} - -//void QmlPropertyChangesObject::removeExpression(const QString &name) -//{ -// if (hasActionForProperty(name)) { -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// if (hasVariantValue(name)) { -// ExpressionPair expr = m_expressionHash.take(name); -// if (expr.second) -// expr.second.data()->destroy(); -// qmlAction.toBinding = 0; -// updateRevertValueAndBinding(name); -// qmlAction.property.write(qmlAction.toValue); -// } else { -// if (qmlAction.fromBinding) -// QDeclarativePropertyPrivate::setBinding(qmlAction.property, qmlAction.fromBinding); -// else -// qmlAction.property.write(qmlAction.fromValue); -// removeActionForProperty(name); -// } -// } -//} - -//void QmlPropertyChangesObject::resetProperty(const QString &name) -//{ -// if (statePrivate()) { -// QMutableListIterator<QDeclarativeSimpleAction> simpleActionIterator(statePrivate()->revertList); -// while (simpleActionIterator.hasNext()) { -// QDeclarativeSimpleAction &qmlSimpleAction = simpleActionIterator.next(); -// if (qmlSimpleAction.specifiedProperty == name && qmlSimpleAction.specifiedObject == targetObject()) { -// if (qmlSimpleAction.binding) { -// qDebug() << qmlSimpleAction.binding->expression(); -// QDeclarativePropertyPrivate::setBinding(qmlSimpleAction.property, qmlSimpleAction.binding); -// } else { -// QDeclarativePropertyPrivate::setBinding(qmlSimpleAction.property, 0); -// qmlSimpleAction.property.write(qmlSimpleAction.value); -// } -// } -// } -// } - -// if (m_expressionHash.contains(name)) { -// if (m_expressionHash[name].second) { -// QDeclarativeProperty metaProperty(targetObject(), name, QDeclarativeEngine::contextForObject(targetObject())); -// if (metaProperty.isValid() && QDeclarativePropertyPrivate::binding(metaProperty) == m_expressionHash[name].second.data()) -// QDeclarativePropertyPrivate::setBinding(metaProperty, 0, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); -// m_expressionHash[name].second.data()->destroy(); -// } -// m_expressionHash.remove(name); -// } - -// if (hasActionForProperty(name)) { -// removeActionForProperty(name); -// } - - -//} - -//QVariant QmlPropertyChangesObject::variantValue(const QString &name) const -//{ -// if (hasActionForProperty(name)) { -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// return qmlAction.toValue; -// } - -// return QVariant(); -//} - -//QString QmlPropertyChangesObject::expression(const QString &name) const -//{ -// if (hasActionForProperty(name)) { -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// if (qmlAction.toBinding) -// return qmlAction.toBinding->expression(); -// } - -// return QString(); -//} - -//bool QmlPropertyChangesObject::hasVariantValue(const QString &name) const -//{ -// if (hasActionForProperty(name)) -// return qmlActionForProperty(name).toValue.isValid(); - -// return false; -//} - -//bool QmlPropertyChangesObject::hasExpression(const QString &name) const -//{ -// return m_expressionHash.contains(name); -//} - -//bool QmlPropertyChangesObject::updateStateVariant(const QString &name, const QVariant &value) -//{ -// if (hasActionForProperty(name)) { -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// if (qmlAction.fromValue.isValid()) { -// qmlAction.fromValue = value; -// updateRevertValueAndBinding(name); - -// return true; -// } -// } - -// return false; -//} - -//bool QmlPropertyChangesObject::updateStateBinding(const QString &name, const QString &expression) -//{ -// if (hasActionForProperty(name)) { -// QDeclarativeContext *context = QDeclarativeEngine::contextForObject(targetObject()); -// QDeclarativeProperty metaProperty(targetObject(), name, context); -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); - -// if (qmlAction.fromBinding) { -// if (QDeclarativePropertyPrivate::binding(qmlAction.property) == qmlAction.fromBinding) -// QDeclarativePropertyPrivate::setBinding(qmlAction.property, 0); -// qmlAction.fromBinding->destroy(); - -// } - -// QDeclarativeBinding *binding = new QDeclarativeBinding(expression, targetObject(), context, this); -// binding->setTarget(metaProperty); -// binding->setNotifyOnValueChanged(true); -// qmlAction.fromBinding = binding; - -// if (m_expressionHash.contains(name)) -// QDeclarativePropertyPrivate::setBinding(qmlAction.property, binding); - -// updateRevertValueAndBinding(name); - -// return true; -// } - -// return false; -//} - -//bool QmlPropertyChangesObject::resetStateProperty(const QString &name, const QVariant &resetValue) -//{ -// if (hasActionForProperty(name)) { -// QDeclarativeContext *context = QDeclarativeEngine::contextForObject(targetObject()); -// QDeclarativeProperty metaProperty(targetObject(), name, context); -// QDeclarativeAction &qmlAction = qmlActionForProperty(name); -// if (m_expressionHash.contains(name) && m_expressionHash[name].second) { -// m_expressionHash[name].second.data()->destroy(); -// qmlAction.toBinding = 0; -// } - -// qmlAction.fromValue = resetValue; - -// updateRevertValueAndBinding(name); - -// removeActionForProperty(name); - -// return true; -// } - -// return false; -//} - } // namespace Internal } // namespace QmlDesigner diff --git a/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.h index 74480420c31f811e614075042db04a0f5b03e7d3..8d5635f406440de780aba74d031636715a55ba96 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/instances/qmlpropertychangesnodeinstance.h @@ -50,77 +50,6 @@ namespace Internal { class QmlPropertyChangesNodeInstance; -// Original QmlPropertyChanges class requires a custom parser -// work around this by writing a replacement class -//class QmlPropertyChangesObject : public QDeclarativeStateOperation -//{ -// Q_OBJECT -// Q_PROPERTY(QObject *target READ targetObject WRITE setTargetObject) -// Q_PROPERTY(bool restoreEntryValues READ restoreEntryValues WRITE setRestoreEntryValues) -// Q_PROPERTY(bool explicit READ isExplicit WRITE setIsExplicit) - -// typedef QPair<QString, QWeakPointer<QDeclarativeBinding> > ExpressionPair; -//public: -// ~QmlPropertyChangesObject(); -// QObject *targetObject() const; -// void setTargetObject(QObject *object); - -// bool restoreEntryValues() const; -// void setRestoreEntryValues(bool restore); - -// bool isExplicit() const; -// void setIsExplicit(bool isExplicit); - -// virtual ActionList actions(); - -// void setVariantValue(const QString &name, const QVariant & value); -// void setExpression(const QString &name, const QString &expression); -// void removeVariantValue(const QString &name); -// void removeExpression(const QString &name); - -// void resetProperty(const QString &name); - -// QVariant variantValue(const QString &name) const; -// QString expression(const QString &name) const; - -// bool hasVariantValue(const QString &name) const; -// bool hasExpression(const QString &name) const; - -// QmlPropertyChangesObject(); - -// bool updateStateVariant(const QString &propertyName, const QVariant &value); -// bool updateStateBinding(const QString &propertyName, const QString &expression); -// bool resetStateProperty(const QString &propertyName, const QVariant &resetValue); - -// QDeclarativeState *state() const; -// void updateRevertValueAndBinding(const QString &name); - -// void removeFromStateRevertList(); -// void addToStateRevertList(); - -//private: // functions -// bool isActive() const; - -// QDeclarativeStatePrivate *statePrivate() const; - -// QDeclarativeStateGroup *stateGroup() const; -// QDeclarativeProperty createMetaProperty(const QString &property); - -// QDeclarativeAction &qmlActionForProperty(const QString &propertyName) const; -// bool hasActionForProperty(const QString &propertyName) const; -// void removeActionForProperty(const QString &propertyName); - -// QDeclarativeAction createQDeclarativeAction(const QString &propertyName); - -//private: // variables -// QWeakPointer<QObject> m_targetObject; -// bool m_restoreEntryValues; -// bool m_isExplicit; - -// mutable ActionList m_qmlActionList; -// QHash<QString, ExpressionPair> m_expressionHash; -//}; - class QmlPropertyChangesNodeInstance : public ObjectNodeInstance { public: diff --git a/share/qtcreator/qml/qmlpuppet/instances/qmlstatenodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/qmlstatenodeinstance.cpp index 7ee19733c6ace5f83e4c46c0e42fcae54f53ce2a..b9842ec5b1a504c53988a11c05a8f93a6ff00e58 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/qmlstatenodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/qmlstatenodeinstance.cpp @@ -60,7 +60,7 @@ QmlStateNodeInstance::Pointer Pointer instance(new QmlStateNodeInstance(stateObject)); - instance->populateResetValueHash(); + instance->populateResetHashes(); return instance; } diff --git a/share/qtcreator/qml/qmlpuppet/instances/qmltransitionnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/qmltransitionnodeinstance.cpp index 0694d0d3993700421425dd92a1671f05d2066322..0226852128752ccd90033d6f26cb511a55aacda6 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/qmltransitionnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/qmltransitionnodeinstance.cpp @@ -49,7 +49,7 @@ QmlTransitionNodeInstance::Pointer QmlTransitionNodeInstance::create(QObject *ob Pointer instance(new QmlTransitionNodeInstance(transition)); - instance->populateResetValueHash(); + instance->populateResetHashes(); transition->setToState("invalidState"); transition->setFromState("invalidState"); diff --git a/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp index 73a2c9f2700828408b6eeb46691bfe842b48b02e..fea1bb28666320bf128513046fb81e63e8c9f98f 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp @@ -38,6 +38,7 @@ #include "qmlpropertychangesnodeinstance.h" #include "behaviornodeinstance.h" #include "qmlstatenodeinstance.h" +#include "anchorchangesnodeinstance.h" #if QT_VERSION >= 0x050000 #include "sgitemnodeinstance.h" @@ -185,6 +186,8 @@ Internal::ObjectNodeInstance::Pointer ServerNodeInstance::createInstance(QObject #endif else if (isSubclassOf(objectToBeWrapped, "QDeclarativeComponent")) instance = Internal::ComponentNodeInstance::create(objectToBeWrapped); + else if (objectToBeWrapped->inherits("QDeclarativeAnchorChanges")) + instance = Internal::AnchorChangesNodeInstance::create(objectToBeWrapped); else if (isSubclassOf(objectToBeWrapped, "QDeclarativePropertyChanges")) instance = Internal::QmlPropertyChangesNodeInstance::create(objectToBeWrapped); else if (isSubclassOf(objectToBeWrapped, "QDeclarativeState")) diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp index e59a597caac87c72880205bf08e4aa3ebc884641..5aa25d4ef97a0a822fbc7caacad0ade71259cadf 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp @@ -45,6 +45,7 @@ GraphicsObjectNodeInstance::GraphicsObjectNodeInstance(QGraphicsObject *graphics : ObjectNodeInstance(graphicsObject), m_isMovable(true) { + QGraphicsItemPrivate::get(graphicsObject)->sendParentChangeNotification = 1; } QGraphicsObject *GraphicsObjectNodeInstance::graphicsObject() const @@ -179,6 +180,11 @@ QObject *GraphicsObjectNodeInstance::parent() const return graphicsObject()->parentItem()->toGraphicsObject(); } +static inline bool isRectangleSane(const QRectF &rect) +{ + return rect.isValid() && (rect.width() < 10000) && (rect.height() < 10000); +} + QRectF GraphicsObjectNodeInstance::boundingRectWithStepChilds(QGraphicsItem *parentItem) const { QRectF boundingRect = parentItem->boundingRect(); @@ -187,7 +193,8 @@ QRectF GraphicsObjectNodeInstance::boundingRectWithStepChilds(QGraphicsItem *par QGraphicsObject *childObject = childItem->toGraphicsObject(); if (!(childObject && nodeInstanceServer()->hasInstanceForObject(childObject))) { QRectF transformedRect = childItem->mapRectToParent(boundingRectWithStepChilds(childItem)); - boundingRect = boundingRect.united(transformedRect); + if (isRectangleSane(transformedRect)) + boundingRect = boundingRect.united(transformedRect); } } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp index cf25d0b4b79a05720ab75521ef1adc8869f98d68..7643bc1c6fad10f7a06a389d685de418a8056444 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp @@ -80,7 +80,7 @@ PositionerNodeInstance::Pointer PositionerNodeInstance::create(QObject *object) static_cast<QDeclarativeParserStatus*>(positioner)->classBegin(); - instance->populateResetValueHash(); + instance->populateResetHashes(); return instance; } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp index acb4ad488e1feb0c66204ad4216a5af9729968d9..df0e8ef9bc52f46ce2b2bbebbf706c7c09639bf8 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp @@ -92,7 +92,7 @@ QmlGraphicsItemNodeInstance::Pointer QmlGraphicsItemNodeInstance::create(QObject static_cast<QDeclarativeParserStatus*>(qmlGraphicsItem)->classBegin(); - instance->populateResetValueHash(); + instance->populateResetHashes(); return instance; } @@ -207,13 +207,26 @@ void QmlGraphicsItemNodeInstance::refresh() repositioning(qmlGraphicsItem()); } +void QmlGraphicsItemNodeInstance::recursiveDoComponentComplete(QDeclarativeItem *declarativeItem) +{ + if (declarativeItem) { + if (QDeclarativeItemPrivate::get(declarativeItem)->componentComplete) + return; + static_cast<QDeclarativeParserStatus*>(declarativeItem)->componentComplete(); + + foreach (QGraphicsItem *childItem, declarativeItem->childItems()) { + QGraphicsObject *childGraphicsObject = childItem->toGraphicsObject(); + QDeclarativeItem *childDeclarativeItem = qobject_cast<QDeclarativeItem*>(childGraphicsObject); + if (childDeclarativeItem && !nodeInstanceServer()->hasInstanceForObject(childDeclarativeItem)) + recursiveDoComponentComplete(childDeclarativeItem); + } + } +} + void QmlGraphicsItemNodeInstance::doComponentComplete() { if (qmlGraphicsItem()) { - if (static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(qmlGraphicsItem()))->componentComplete) - return; - static_cast<QDeclarativeParserStatus*>(qmlGraphicsItem())->componentComplete(); - QGraphicsItemPrivate::get(qmlGraphicsItem())->sendParentChangeNotification = 1; + recursiveDoComponentComplete(qmlGraphicsItem()); } graphicsObject()->update(); @@ -241,6 +254,26 @@ int QmlGraphicsItemNodeInstance::penWidth() const return GraphicsObjectNodeInstance::penWidth(); } +void QmlGraphicsItemNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance) +{ + GraphicsObjectNodeInstance::initialize(objectNodeInstance); + + if (objectNodeInstance->instanceId() == 0 && objectNodeInstance->isQmlGraphicsItem()) { // is root item + objectNodeInstance.staticCast<QmlGraphicsItemNodeInstance>()->setVisible(true); + objectNodeInstance->setResetValue("visible", true); + } +} + +void QmlGraphicsItemNodeInstance::setVisible(bool isVisible) +{ + qmlGraphicsItem()->setVisible(isVisible); +} + +bool QmlGraphicsItemNodeInstance::isVisible() const +{ + return qmlGraphicsItem()->isVisible(); +} + void QmlGraphicsItemNodeInstance::resetProperty(const QString &name) { if (name == "height") { @@ -301,7 +334,10 @@ void QmlGraphicsItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &ol setMovable(true); } + bool componentComplete = QDeclarativeItemPrivate::get(qmlGraphicsItem())->componentComplete; + QDeclarativeItemPrivate::get(qmlGraphicsItem())->componentComplete = 1; GraphicsObjectNodeInstance::reparent(oldParentInstance, oldParentProperty, newParentInstance, newParentProperty); + QDeclarativeItemPrivate::get(qmlGraphicsItem())->componentComplete = componentComplete; if (newParentInstance && newParentInstance->isPositioner()) { setInPositioner(true); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h index 60d5a85f652f34e9096fac624291cc062cfe1c44..1abf46d32bff71c96bb6c5787704c4fbc1583c49 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h @@ -75,8 +75,12 @@ public: bool isResizable() const; void setResizable(bool resizeable); + void setVisible(bool isVisible); + bool isVisible() const; - QList<ServerNodeInstance> stateInstances() const; + void initialize(const ObjectNodeInstance::Pointer &objectNodeInstance); + + QList<ServerNodeInstance> stateInstances() const; protected: QmlGraphicsItemNodeInstance(QDeclarativeItem *item); @@ -85,6 +89,7 @@ protected: void resetHorizontal(); void resetVertical(); void refresh(); + void recursiveDoComponentComplete(QDeclarativeItem *declarativeItem); private: //variables bool m_hasHeight; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.cpp index 48ab73adf9bd9fe2c650e40d60ddf0597aa5abf5..7ac1e8546f0a8c44f2b6b34463215797d37865b1 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.cpp @@ -164,14 +164,14 @@ void Qt4InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands() if (!informationChangedInstanceSet.isEmpty()) nodeInstanceClient()->informationChanged(createAllInformationChangedCommand(informationChangedInstanceSet.toList())); - if (!propertyChangedList.isEmpty()) - nodeInstanceClient()->valuesChanged(createValuesChangedCommand(propertyChangedList)); - if (!m_parentChangedSet.isEmpty()) { sendChildrenChangedCommand(m_parentChangedSet.toList()); m_parentChangedSet.clear(); } + if (!propertyChangedList.isEmpty()) + nodeInstanceClient()->valuesChanged(createValuesChangedCommand(propertyChangedList)); + if (adjustSceneRect) { QRectF boundingRect = rootNodeInstance().boundingRect(); if (boundingRect.isValid()) { diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.cpp index 12a7a5d1d6224ed29cb54b6a715a746e010aa5ec..b6661ef331d5272cb5ed3740ef5f0f8040e02516 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.cpp @@ -187,5 +187,13 @@ void Qt4RenderNodeInstanceServer::completeComponent(const CompleteComponentComma nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(instanceList)); } +void Qt4RenderNodeInstanceServer::changeState(const ChangeStateCommand &command) +{ + Qt4NodeInstanceServer::changeState(command); + foreach (QGraphicsItem *item, declarativeView()->items()) { + item->update(); + QGraphicsItemPrivate::get(item)->notifyBoundingRectChanged = 1; + } +} } // namespace QmlDesigner diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.h index dde4056a65eac134dbfc7ecc2fce5132fa945368..98a6d83a1d4fe5a18e0d1291351c13e29917e7f0 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.h @@ -46,6 +46,7 @@ public: void createScene(const CreateSceneCommand &command); void clearScene(const ClearSceneCommand &command); void completeComponent(const CompleteComponentCommand &command); + void changeState(const ChangeStateCommand &command); protected: void collectItemChangesAndSendChangeCommands(); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/main.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/main.cpp index e09ffabe8f251e9c25717781ad69b5f0c8760ee2..b558031aa552d176b5e802ba8a12c792ab699885 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/main.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/main.cpp @@ -34,6 +34,9 @@ #include <QApplication> #include <QStringList> +#ifdef QT_SIMULATOR +#include <QtGui/private/qsimulatorconnection_p.h> +#endif #include <qt4nodeinstanceclientproxy.h> @@ -47,6 +50,10 @@ int main(int argc, char *argv[]) { +#ifdef QT_SIMULATOR + QtSimulatorPrivate::SimulatorConnection::createStubInstance(); +#endif + QApplication application(argc, argv); if (application.arguments().count() != 4) diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri b/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri index 01217ca152fc3c7cdce7323ca288b0b8d47f97ac..66aa92e47be74fa444327c858b4d51af3058b337 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri @@ -17,10 +17,10 @@ RESOURCES += $$PWD/../qmlpuppet.qrc OTHER_FILES += Info.plist.in macx { - info.input = Info.plist.in + info.input = $$PWD/Info.plist.in info.output = $$DESTDIR/$${TARGET}.app/Contents/Info.plist QMAKE_SUBSTITUTES += info } else { target.path = /bin INSTALLS += target -} \ No newline at end of file +} diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/ColorGroupBox.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/ColorGroupBox.qml index d36219f407efd8bdb9a18fe58804f86d5140f533..2923a4f21177553a89d26eab80e6abdbde51a5c7 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/ColorGroupBox.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/ColorGroupBox.qml @@ -176,6 +176,7 @@ QExtGroupBox { spacing: 6 LineEdit { + inputMask: "\\#HHHHHH" visible: gradientEditing == false backendValue: colorGroupBox.backendColor baseStateFlag: isBaseState diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/DoubleSpinBox.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/DoubleSpinBox.qml index c0caf71236627e8603a8978e1711436a89f9a2b8..24efb295897143f1c33cf1a7370eaafff067dbac 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/DoubleSpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/DoubleSpinBox.qml @@ -46,6 +46,7 @@ QWidget { //This is a special doubleSpinBox that does color coding for states property alias text: label.text property bool alignRight: true property bool enabled: true + property alias decimals: box.decimals minimumHeight: 22; diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/IntEditor.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/IntEditor.qml index e889787145695eb2ddd3479887b7033386aed3ca..78f6825f2a771d6fc18826499d63cd771e1401c6 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/IntEditor.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/IntEditor.qml @@ -52,6 +52,7 @@ QWidget { id: label text: caption toolTip: caption + visible: caption != "" } SpinBox { diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/Layout.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/Layout.qml index bbde64075b939c05fad5d4f385f12091bb782fef..e3e9dd0980ee9eaa39e4aa220080dea8f67edaf1 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/Layout.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/Layout.qml @@ -43,9 +43,8 @@ GroupBox { property bool isInBaseState: isBaseState - property variant targetLabelWidth: 90 - 20 - 26 - property int leftMarginMargin: 16 - + property variant targetLabelWidth: 60 + property int leftMarginMargin: 16 + 10 + 10 layout: VerticalLayout { Label { text: qsTr("Anchors") @@ -91,17 +90,20 @@ GroupBox { selectedItemNode: anchorBackend.topTarget onSelectedItemNodeChanged: { anchorBackend.topTarget = selectedItemNode; } } - } } QWidget { layout : HorizontalLayout { leftMargin: leftMarginMargin + Label { + text: qsTr("Margin") + fixedWidth: targetLabelWidth + } IntEditor { id:topbox slider: false - caption: qsTr("Margin") + caption: "" backendValue: backendValues.anchors_topMargin baseStateFlag: isInBaseState; maximumValue: 999 @@ -149,9 +151,13 @@ GroupBox { QWidget { layout : HorizontalLayout { leftMargin: leftMarginMargin + Label { + text: qsTr("Margin") + fixedWidth: targetLabelWidth + } IntEditor { slider: false - caption: qsTr("Margin") + caption: "" backendValue: backendValues.anchors_bottomMargin baseStateFlag: isInBaseState; maximumValue: 999 @@ -198,9 +204,13 @@ GroupBox { QWidget { layout : HorizontalLayout { leftMargin: leftMarginMargin + Label { + text: qsTr("Margin") + fixedWidth: targetLabelWidth + } IntEditor { slider: false - caption: qsTr("Margin") + caption: "" backendValue: backendValues.anchors_leftMargin baseStateFlag: isInBaseState; maximumValue: 999 @@ -247,9 +257,13 @@ GroupBox { QWidget { layout : HorizontalLayout { leftMargin: leftMarginMargin + Label { + text: qsTr("Margin") + fixedWidth: targetLabelWidth + } IntEditor { slider: false - caption: qsTr("Margin") + caption: "" backendValue: backendValues.anchors_rightMargin baseStateFlag: isInBaseState; maximumValue: 999 @@ -296,9 +310,13 @@ GroupBox { QWidget { layout : HorizontalLayout { leftMargin: leftMarginMargin + Label { + text: qsTr("Margin") + fixedWidth: targetLabelWidth + } IntEditor { slider: false - caption: qsTr("Margin") + caption: "" baseStateFlag: isInBaseState; backendValue: backendValues.anchors_horizontalCenterOffset maximumValue: 999 @@ -345,9 +363,13 @@ GroupBox { QWidget { layout : HorizontalLayout { leftMargin: leftMarginMargin + Label { + text: qsTr("Margin") + fixedWidth: targetLabelWidth + } IntEditor { slider: false - caption: qsTr("Margin") + caption: "" backendValue: backendValues.anchors_verticalCenterOffset baseStateFlag: isInBaseState; maximumValue: 999 diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/LineEdit.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/LineEdit.qml index a80e4dbde126f22f6e655c2cfdc63704756935f1..4b41924926acc9579fce44813357eb71f0cc2ebf 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/LineEdit.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/LineEdit.qml @@ -42,6 +42,7 @@ QWidget { property alias text: lineEditWidget.text property alias readOnly: lineEditWidget.readOnly property alias translation: trCheckbox.visible + property alias inputMask: lineEditWidget.inputMask minimumHeight: 24; diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/ListViewSpecifics.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/ListViewSpecifics.qml index 0ba6f1af54442faf4cf796c3cba285190a467953..9ad5901e036c2f4337b90ded6a2ee1be8f94e836 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/ListViewSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/ListViewSpecifics.qml @@ -56,39 +56,6 @@ QWidget { minimumValue: 0; maximumValue: 1000; } - IntEditor { - backendValue: backendValues.cellHeight - caption: qsTr("Cell height") - baseStateFlag: isBaseState; - step: 1; - minimumValue: 0; - maximumValue: 200; - } - IntEditor { - backendValue: backendValues.cellWidth - caption: qsTr("Cell width") - baseStateFlag: isBaseState; - step: 1; - minimumValue: 0; - maximumValue: 1000; - } - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Flow") - } - - ComboBox { - baseStateFlag: isBaseState - items : { ["LeftToRight", "TopToBottom"] } - currentText: backendValues.flow.value; - onItemsChanged: { - currentText = backendValues.flow.value; - } - backendValue: backendValues.flow - } - } - } //QWidget IntEditor { backendValue: backendValues.keyNavigationWraps caption: qsTr("Navigation wraps") @@ -127,11 +94,11 @@ QWidget { ComboBox { baseStateFlag: isBaseState items : { ["Horizontal", "Vertical"] } - currentText: backendValues.snapMode.value; + currentText: backendValues.orientation.value; onItemsChanged: { - currentText = backendValues.snapMode.value; + currentText = backendValues.orientation.value; } - backendValue: backendValues.snapMode + backendValue: backendValues.orientation } } } //QWidget @@ -144,7 +111,7 @@ QWidget { ComboBox { baseStateFlag: isBaseState - items : { ["NoSnap", "SnapToRow", "SnapOneRow"] } + items : { ["NoSnap", "SnapToItem", "SnapOneItem"] } currentText: backendValues.snapMode.value; onItemsChanged: { currentText = backendValues.snapMode.value; diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/Visibility.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/Visibility.qml index 741902affe64cdbf62dc192409b7b61294bbff78..74c6ed72e7312c3609dcce3785d601957e2d6673 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/Visibility.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/Visibility.qml @@ -87,6 +87,7 @@ GroupBox { DoubleSpinBox { text: "" + decimals: 2 id: opacitySpinBox; backendValue: backendValues.opacity property variant backendValueValue: backendValues.opacity.value; diff --git a/share/qtcreator/rss/featured.rss b/share/qtcreator/rss/featured.rss deleted file mode 100644 index eaa181fbd117caf9552b2868d778647c9a0b6039..0000000000000000000000000000000000000000 --- a/share/qtcreator/rss/featured.rss +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<rss version="2.0"> - <channel> - <title>Featured</title> - <link>http://qt.nokia.com/</link> - <description>Offline content of featured articles</description> - <lastBuildDate>Fri, 17 Sep 2010 10:30:00 GMT</lastBuildDate> - <language>en-us</language> - <item> - <title>How to create a Qt Quick application</title> - <category>Tutorial</category> - <link>qthelp://com.nokia.qtcreator/doc/creator-qml-application.html</link> - <guid>qthelp://com.nokia.qtcreator/doc/creator-qml-application.html</guid> - <pubDate>Mon, 12 Sep 2005 18:37:00 GMT</pubDate> - <description><![CDATA[ This tutorial describes how to use the Qt Creator to implement the states and transitions example application. ]]></description> - <image> - <link>images/qtquick.png</link> - </image> - </item> - </channel> -</rss> diff --git a/share/qtcreator/rss/images/qtquick.png b/share/qtcreator/rss/images/qtquick.png deleted file mode 100644 index 0f02f2a404089eddc005ec7c2ce7dd9398279000..0000000000000000000000000000000000000000 Binary files a/share/qtcreator/rss/images/qtquick.png and /dev/null differ diff --git a/share/qtcreator/templates/html5app/html5applicationviewer/html5applicationviewer.cpp b/share/qtcreator/templates/html5app/html5applicationviewer/html5applicationviewer.cpp index e0090ec71ae54ff7ba1d867b3e9cf1a68f881924..3e74ea1d4ffe9fd95e8296e008354532f9414edf 100644 --- a/share/qtcreator/templates/html5app/html5applicationviewer/html5applicationviewer.cpp +++ b/share/qtcreator/templates/html5app/html5applicationviewer/html5applicationviewer.cpp @@ -183,7 +183,7 @@ void Html5ApplicationViewer::setOrientation(ScreenOrientation orientation) void Html5ApplicationViewer::showExpanded() { -#ifdef Q_OS_SYMBIAN +#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR) showFullScreen(); #elif defined(Q_WS_MAEMO_5) showMaximized(); diff --git a/share/qtcreator/templates/mobileapp/mainwindow.cpp b/share/qtcreator/templates/mobileapp/mainwindow.cpp index 939f07247abf4de5de4a3a7af00d195176976c31..2bf1b73c54b0613f956facaba0e0fc36b2472ae4 100644 --- a/share/qtcreator/templates/mobileapp/mainwindow.cpp +++ b/share/qtcreator/templates/mobileapp/mainwindow.cpp @@ -59,7 +59,7 @@ void MainWindow::setOrientation(ScreenOrientation orientation) void MainWindow::showExpanded() { -#ifdef Q_OS_SYMBIAN +#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR) showFullScreen(); #elif defined(Q_WS_MAEMO_5) showMaximized(); diff --git a/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp b/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp index f1a6b80b2a8de0ac612b9b2025e4ef3eb5c5f381..0b58453b75779a7082f88e887baecdcbbe191581 100644 --- a/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp +++ b/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp @@ -146,7 +146,7 @@ void QmlApplicationViewer::setOrientation(ScreenOrientation orientation) void QmlApplicationViewer::showExpanded() { -#if defined(Q_OS_SYMBIAN) || defined(MEEGO_EDITION_HARMATTAN) +#if defined(Q_OS_SYMBIAN) || defined(MEEGO_EDITION_HARMATTAN) || defined(Q_WS_SIMULATOR) showFullScreen(); #elif defined(Q_WS_MAEMO_5) showMaximized(); diff --git a/share/qtcreator/templates/shared/deployment.pri b/share/qtcreator/templates/shared/deployment.pri index a365373debb638fa80b11625ca3b9e9924adcef6..9fcc9f55057402f9c0cb9c75693b103788206d23 100644 --- a/share/qtcreator/templates/shared/deployment.pri +++ b/share/qtcreator/templates/shared/deployment.pri @@ -55,11 +55,12 @@ symbian { desktopfile.path = /usr/share/applications/hildon icon.files = $${TARGET}64.png icon.path = /usr/share/icons/hicolor/64x64/apps - } else { + } else:!isEmpty(MEEGO_VERSION_MAJOR) { desktopfile.files = $${TARGET}_harmattan.desktop desktopfile.path = /usr/share/applications icon.files = $${TARGET}80.png icon.path = /usr/share/icons/hicolor/80x80/apps + } else { # Assumed to be a Desktop Unix copyCommand = for(deploymentfolder, DEPLOYMENTFOLDERS) { source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) @@ -98,13 +99,18 @@ symbian { export($$itempath) INSTALLS += $$item } + + !isEmpty(desktopfile.path) { + export(icon.files) + export(icon.path) + export(desktopfile.files) + export(desktopfile.path) + INSTALLS += icon desktopfile + } + target.path = $${installPrefix}/bin - export(icon.files) - export(icon.path) - export(desktopfile.files) - export(desktopfile.path) export(target.path) - INSTALLS += desktopfile icon target + INSTALLS += target } export (ICON) diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index dd62d49f2c314d42ae8fe5ea4ae6df3d4f80b214..8a9e6dfff7a84669525ebb4576020d684876a82a 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -332,7 +332,7 @@ </message> <message> <source>Arguments</source> - <translation>Argumente</translation> + <translation type="obsolete">Argumente</translation> </message> <message> <source>The directory %1 does not contain a cbp file. Qt Creator needs to create this file by running CMake. Some projects require command line arguments to the initial CMake call.</source> @@ -386,6 +386,14 @@ <source> The path %1 is not a valid cmake.</source> <translation> Der Pfad %1 ist keine gültige CMake-Installation.</translation> </message> + <message> + <source>Arguments:</source> + <translation>Argumente:</translation> + </message> + <message> + <source>Generator:</source> + <translation>Generator:</translation> + </message> <message> <source>The directory %1 already contains a cbp file, which is recent enough. You can pass special arguments or change the used tool chain here and rerun CMake. Or simply finish the wizard directly.</source> <translation>Der Ordner %1 enthält bereits eine hinreichend aktuelle cbp-Datei. Sie können spezielle Argumente angeben oder die Toolchain ändern und cmake noch einmal ausführen. Oder,. beenden Sie den Wizard an dieser Stelle.</translation> @@ -1458,13 +1466,24 @@ <extracomment>unit for minutes</extracomment> <translation>min</translation> </message> + <message> + <source>Automatically create temporary copies of modified files. If Qt Creator is restarted after a crash or power failure, it asks whether to recover the auto-saved content.</source> + <translation>Bewirkt, dass automatisch temporäre Kopien der geänderten Dateien erstellt werden. Bei einem Neustart von Qt Creator nach einem Absturz oder Stromausfall wird nachgefragt, ob der automatisch gesicherte Stand wiederhergestellt werden soll.</translation> + </message> <message> <source>Reset to default.</source> + <comment>Color</comment> <translation>Zurücksetzen.</translation> </message> <message> - <source>Automatically create temporary copies of modified files. If Qt Creator is restarted after a crash or power failure, it asks whether to recover the auto-saved content.</source> - <translation>Bewirkt, dass automatisch temporäre Kopien der geänderten Dateien erstellt werden. Bei einem Neustart von Qt Creator nach einem Absturz oder Stromausfall wird nachgefragt, ob der automatisch gesicherte Stand wiederhergestellt werden soll.</translation> + <source>Reset to default.</source> + <comment>Terminal</comment> + <translation>Zurücksetzen.</translation> + </message> + <message> + <source>Reset to default.</source> + <comment>File Browser</comment> + <translation>Zurücksetzen.</translation> </message> </context> <context> @@ -3444,7 +3463,7 @@ Sie können die Umgebungsvariable PYTHONPATH setzen, um auf die Installation zu <translation>Disassembler bei %1 öffnen</translation> </message> <message> - <source>Memory at Frame #%1 (%2) 0x%3)</source> + <source>Memory at Frame #%1 (%2) 0x%3</source> <translation>Speicher bei Stack-Rahmen #%1 (%2) 0x%3</translation> </message> <message> @@ -3779,6 +3798,10 @@ Sie können die Umgebungsvariable PYTHONPATH setzen, um auf die Installation zu <source>Change Display Format...</source> <translation>Anzeigeformat ändern...</translation> </message> + <message> + <source>Memory Layout of Local Variables at 0x%1</source> + <translation>Speicherlayout der lokalen Variablen bei 0x%1</translation> + </message> <message> <source>Treat All Characters as Printable</source> <translation>Alle Zeichen als druckbar betrachten</translation> @@ -3829,10 +3852,6 @@ Sie können die Umgebungsvariable PYTHONPATH setzen, um auf die Installation zu <source>Could not determine a suitable address range.</source> <translation>Es konnte kein geeigneter Adressbereich bestimmt werden.</translation> </message> - <message> - <source>Memory Layout of Local Variables at 0x%2</source> - <translation>Speicherlayout der lokalen Variablen bei 0x%2</translation> - </message> <message> <source>Locals and Expressions</source> <translation>Lokale Variablen und Ausdrücke</translation> @@ -5007,10 +5026,6 @@ on slow machines. In this case, the value should be increased.</source> counting code is skipped, and a single 'Step Into' for a signal emission ends up directly in the slot connected to it.</source> <translation>Diese Option bewirkt, dass 'Einzelschritt in' in bestimmten Situationen mehrere Schritte zusammenfasst, was das Debuggen beschleunigt. Zum Beispiel wird der Code des atomaren Referenzzählung übersprungen; und bei der Emission eines Signals gelangt man direkt zum verbundenen Slot.</translation> </message> - <message> - <source>Try to set breakpoints in plugins always automatically</source> - <translation>Versuche, Haltepunkte in Plugins automatisch zu setzen.</translation> - </message> <message> <source><html><head/></body><p>GDB allows setting breakpoints on source lines for which no code was generated. In such situations the breakpoint is shifted to the next source code line for which code was actually generated. This option reflects such temporary change by moving the breakpoint markers in the source code editor.</p></body></html></source> <translation><html><head/></body><p>Nicht alle Quellcode-Zeilen bewirken die Erzeugung von ausführbarem Code. GDB gestattet es dennoch, auf solche Zeilen einen Haltepunkt zu setzen. Dieser wird dann auf die nächste Zeile, für die Code erzeugt wurde, verschoben. Diese Einstellung bewirkt, dass die Haltepunkt-Marke im Quellcode-Editor entsprechend verschoben wird.</p></body></html></translation> @@ -5023,6 +5038,10 @@ on slow machines. In this case, the value should be increased.</source> <source><html><head/><body><p>Selecting this enables reverse debugging.</p><.p><b>Note:</b>This feature is very slow and unstable on the GDB side. It exhibits unpredictable behaviour when going backwards over system calls and is very likely to destroy your debugging session.</p><body></html></source> <translation><html><head/><body><p>Rückwärts-Debuggen aktivieren. Hinweis: Diese Funktionalität ist sehr instabil und langsam auf der GDB-Seite. Es kann unvorhersehbares Verhalten auftreten, wenn man rückwärts über einen Systemaufruf geht, und die Debugger-Sitzung kann leicht zerstört werden.</p><body></html></translation> </message> + <message> + <source>Always try to set breakpoints in plugins automatically</source> + <translation>Versuche, Haltepunkte in Plugins automatisch zu setzen.</translation> + </message> </context> <context> <name>GeneralSettingsPage</name> @@ -6269,6 +6288,10 @@ rückgängig machen?</translation> <source>Next Page</source> <translation>Nächste Seite</translation> </message> + <message> + <source>Technical Support</source> + <translation>Technischer Support</translation> + </message> <message> <source>Increase Font Size</source> <translation>Schrift vergrößern</translation> @@ -7896,45 +7919,6 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation> <translation>Entwicklung</translation> </message> </context> -<context> - <name>ProjectExplorer::Internal::ProjectWelcomePageWidget</name> - <message> - <source>Form</source> - <translation>Formular</translation> - </message> - <message> - <source>Manage Sessions...</source> - <translation>Sitzungen...</translation> - </message> - <message> - <source>%1 (last session)</source> - <translation>%1 (zuletzt benutzt)</translation> - </message> - <message> - <source>%1 (current session)</source> - <translation>%1 (aktuelle Sitzung)</translation> - </message> - <message> - <source>New Project</source> - <translation>Neues Projekt</translation> - </message> - <message> - <source>Recent Projects</source> - <translation>Zuletzt bearbeitete Projekte</translation> - </message> - <message> - <source>Create Project...</source> - <translation>Projekt erstellen...</translation> - </message> - <message> - <source>Recent Sessions</source> - <translation>Zuletzt benutzte Sitzungen</translation> - </message> - <message> - <source>Open Project...</source> - <translation>Projekt öffnen...</translation> - </message> -</context> <context> <name>ProjectExplorer::Internal::ProjectWizardPage</name> <message> @@ -8850,191 +8834,6 @@ Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern sie verfü <translation>Geben Sie Informationen bezüglich der Klassen ein, für die Sie Quelltexte generieren wollen.</translation> </message> </context> -<context> - <name>Qt4ProjectManager::Internal::GettingStartedWelcomePage</name> - <message> - <source>Getting Started</source> - <translation>Schnelleinstieg</translation> - </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::GettingStartedWelcomePageWidget</name> - <message> - <source>Form</source> - <translation>Formular</translation> - </message> - <message> - <source>Tutorials</source> - <translation>Anleitungen</translation> - </message> - <message> - <source>Did You Know?</source> - <translation>Schon gewusst?</translation> - </message> - <message> - <source>The Qt Creator User Interface</source> - <translation>Die Benutzeroberfläche von Qt Creator</translation> - </message> - <message> - <source>Building and Running an Example</source> - <translation>Ein Beispiel erstellen und ausführen</translation> - </message> - <message> - <source>Creating a Qt C++ Application</source> - <translation>Erstellen einer C++-Anwendung mit Qt</translation> - </message> - <message> - <source>Creating a Mobile Application</source> - <translation>Erstellen einer mobilen Anwendung</translation> - </message> - <message> - <source>Creating a Qt Quick Application</source> - <translation>Erstellen einer Qt-Quick-Anwendung</translation> - </message> - <message> - <source>Copy Project to writable Location?</source> - <translation>Soll das Projekt in ein schreibbares Verzeichnis kopiert werden?</translation> - </message> - <message> - <source><p>The project you are about to open is located in the write-protected location:</p><blockquote>%1</blockquote><p>Please select a writable location below and click "Copy Project and Open" to open a modifiable copy of the project or click "Keep Project and Open" to open the project in location.</p><p><b>Note:</b> You will not be able to alter or compile your project in the current location.</p></source> - <translation><p>Das zu öffnende Projekt befindet sich in einem schreibgeschützten Verzeichnis:</p><blockquote>%1</blockquote><p>Bitte geben Sie ein schreibbares Verzeichnis an und wählen dann "Projekt kopieren und öffnen", um eine modifizierbare Kopie des Projektes erhalten, oder "Projekt beibehalten und öffnen", um das Projekt im gegenwärtigen Verzeichnis zu öffnen</p><p><b>Hinweis:</b> Im gegenwärtigen.Verzeichnis kann das Projekt weder compiliert noch modifiziert werden.</p></translation> - </message> - <message> - <source>&Location:</source> - <translation>&Verzeichnis:</translation> - </message> - <message> - <source>&Copy Project and Open</source> - <translation>Projekt &kopieren und öffnen</translation> - </message> - <message> - <source>&Keep Project and Open</source> - <translation>Projekt &beibehalten und öffnen</translation> - </message> - <message> - <source>Warning</source> - <translation>Warnung</translation> - </message> - <message> - <source>The specified location already exists. Please specify a valid location.</source> - <translation>Das angegebene Verzeichnis existiert bereits. Bitte geben Sie ein gültiges Verzeichnis an.</translation> - </message> - <message> - <source>New Project</source> - <translation>Neues Projekt</translation> - </message> - <message> - <source>Cmd</source> - <comment>Shortcut key</comment> - <translation>Kommando-Taste</translation> - </message> - <message> - <source>Alt</source> - <comment>Shortcut key</comment> - <translation>Alt</translation> - </message> - <message> - <source>Ctrl</source> - <comment>Shortcut key</comment> - <translation>Strg</translation> - </message> - <message> - <source>If you add external libraries to your project, Qt Creator will automatically offer syntax highlighting and code completion.</source> - <translation>Qt Creator bietet automatisch Syntax-Hervorhebung und Code-Vervollständigung an, wenn Sie externe Bibliotheken zu Ihrem Projekt hinzufügen.</translation> - </message> - <message> - <source>You can switch between the output pane by hitting <tt>%1+n</tt> where n is the number denoted on the buttons at the window bottom: <br /><br />1: Build Issues, 2: Search Results, 3: Application Output, 4: Compile Output</source> - <translation>Sie können zwischen den Ausgabepanelen umschalten, in dem Sie <tt>%1+n</tt> drücken, wobei n die Zahl ist, die auf den Schaltflächen am unteren Fensterrand befindet: <ul><li>1 - Build-Probleme</li><li>2 - Suchergebnisse</li><li>3 - Ausgabe der Anwendung</li><li>4 - Kompilierung</li></ul></translation> - </message> - <message> - <source>You can quickly search methods, classes, help and more using the <a href="qthelp://com.nokia.qtcreator/doc/creator-editor-locator.html">Locator bar</a> (<tt>%1+K</tt>).</source> - <translation>Mit der <a href="qthelp://com.nokia.qtcreator/doc/creator-editor-locator.html">Locator-Leiste</a> (<tt>%1+K</tt>) können Sie schnell nach Methoden, Klassen, Hilfe und anderem suchen.</translation> - </message> - <message> - <source>You can add custom build steps in the <a href="qthelp://com.nokia.qtcreator/doc/creator-build-settings.html">build settings</a>.</source> - <translation>Sie können eigene Erstellungsschritte in den <a href="qthelp://com.nokia.qtcreator/doc/creator-build-settings.html">'Build'-Einstellungen</a> hinzufügen.</translation> - </message> - <message> - <source>Within a session, you can add <a href="qthelp://com.nokia.qtcreator/doc/creator-build-dependencies.html">dependencies</a> between projects.</source> - <translation>In einer Sitzung können Sie <a href="qthelp://com.nokia.qtcreator/doc/creator-build-dependencies.html">Abhängigkeiten</a> zwischen Projekten herstellen.</translation> - </message> - <message> - <source><a href='%1'>Details...</a></source> - <translation><a href='%1'>Details...</a></translation> - </message> - <message> - <source><a href='%1'>Take Tutorial</a></source> - <translation><a href='%1'>Tutorial beginnen</a></translation> - </message> - <message> - <source>You can show and hide the side bar using <tt>%1+0<tt>.</source> - <translation>Sie können die Seitenleiste mit <tt>%1+0</tt> anzeigen oder ausblenden.</translation> - </message> - <message> - <source>Choose an Example...</source> - <translation>Beispiel wählen...</translation> - </message> - <message> - <source>You can fine tune the <tt>Find</tt> function by selecting &quot;Whole Words&quot; or &quot;Case Sensitive&quot;. Simply click on the icons on the right end of the line edit.</source> - <translation>Sie können die <tt>Finden</tt>-Funktion durch Auswahl von &quot;Ganze Wörter&quot; oder &quot;Groß/Kleinschreibung&quot; steuern. Klicken Sie einfach auf die Symbole rechts vom Eingabefeld.</translation> - </message> - <message> - <source>The code completion is CamelCase-aware. For example, to complete <tt>namespaceUri</tt> you can just type <tt>nU</tt> and hit <tt>Ctrl+Space</tt>.</source> - <translation>Die Code-Vervollständigung versteht CamelCase. Sie können zum Beipiel statt <tt>namespaceUri</tt> einfach <tt>nU</tt> schreiben und danach <tt>Strg+Leertaste</tt> drücken.</translation> - </message> - <message> - <source>You can force code completion at any time using <tt>Ctrl+Space</tt>.</source> - <translation>Sie können die Code-Vervollständigung jederzeit mittels <tt>Strg+Leertaste</tt> erzwingen.</translation> - </message> - <message> - <source>You can start Qt Creator with a session by calling <tt>qtcreator &lt;sessionname&gt;</tt>.</source> - <translation>Sie können Qt Creator jederzeit mit einer Sitzung starten, in dem Sie <tt>qtcreator &lt;Sitzungsname&gt;</tt> aufrufen.</translation> - </message> - <message> - <source>You can return to edit mode from any other mode at any time by hitting <tt>Escape</tt>.</source> - <translation>Sie können stets mittels <tt>Escape</tt>-Taste aus jedem anderen Modus in den Editier-Modus zurückkehren.</translation> - </message> - <message> - <source>You can set the preferred editor encoding for every project in <tt>Projects -> Editor Settings -> Default Encoding</tt>.</source> - <translation>Sie können ihre Encoding-Vorgabe für den Editor für jedes Projekt in <tt>Projekte -> Editoreinstellungen -> Encoding-Vorgabe</tt> einstellen.</translation> - </message> - <message> - <source>You can use Qt Creator with a number of <a href="qthelp://com.nokia.qtcreator/doc/creator-version-control.html">revision control systems</a> such as Subversion, Perforce, CVS and Git.</source> - <translation>Sie können Qt Creator mit einer Reihe von <a href="qthelp://com.nokia.qtcreator/doc/creator-version-control.html">Revisionskontrollsystemen</a> wie Subversion, Perforce, CVS oder Git verwenden.</translation> - </message> - <message> - <source>In the editor, <tt>F2</tt> follows symbol definition, <tt>Shift+F2</tt> toggles declaration and definition while <tt>F4</tt> toggles header file and source file.</source> - <translation>Im Editor können Sie <tt>F2</tt> verwenden, um ein Symbol zu verfolgen; <tt>Shift+F2</tt> wechselt zwischen Deklaration und Definition. <tt>F4</tt> schaltet zwischen Header- und Quelldatei um.</translation> - </message> - <message> - <source>Create Project...</source> - <translation>Projekt erstellen...</translation> - </message> - <message> - <source>Open Project...</source> - <translation>Projekt öffnen...</translation> - </message> - <message> - <source>Examples</source> - <translation>Beispiele</translation> - </message> - <message> - <source>Explore Qt C++ examples:</source> - <translation>Qt C++-Beispiele erkunden:</translation> - </message> - <message> - <source>Examples Not Installed...</source> - <translation>Beispiele nicht installiert...</translation> - </message> - <message> - <source>Explore Qt Quick examples:</source> - <translation>Qt-Quick-Beispiele erkunden:</translation> - </message> - <message> - <source>Featured</source> - <translation>Kurz vorgestellt</translation> - </message> -</context> <context> <name>Qt4ProjectManager::Internal::GuiAppWizard</name> <message> @@ -9829,6 +9628,14 @@ Um es abzurufen, tippen Sie das Kürzel im Locator, gefolgt von einem Leerzeich </context> <context> <name>Locator::Internal::LocatorPlugin</name> + <message> + <source>Type to locate</source> + <translation>Suchmuster</translation> + </message> + <message> + <source>Type to locate (%1)</source> + <translation>Suchmuster (%1)</translation> + </message> <message> <source>Indexing</source> <translation>Indizierung</translation> @@ -9848,10 +9655,6 @@ Um es abzurufen, tippen Sie das Kürzel im Locator, gefolgt von einem Leerzeich <source>Locate...</source> <translation>Finden...</translation> </message> - <message> - <source>Type to locate</source> - <translation>Suchmuster</translation> - </message> <message> <source>Options</source> <translation>Einstellungen</translation> @@ -11896,14 +11699,6 @@ p, li { white-space: pre-wrap; } </context> <context> <name>Welcome::Internal::CommunityWelcomePageWidget</name> - <message> - <source>Form</source> - <translation>Formular</translation> - </message> - <message> - <source>News From the Qt Labs</source> - <translation>Neuigkeiten aus den Qt Labs</translation> - </message> <message> <source><b>Qt LGPL Support</b><br /><font color='gray'>Buy commercial Qt support</font></source> <translation><b>Qt LGPL Unterstützung</b><br/><font color='gray'>Erwerben Sie kommerzielle Unterstützung für Qt</font></translation> @@ -11933,37 +11728,6 @@ p, li { white-space: pre-wrap; } <extracomment>Add localized feed here only if one exists</extracomment> <translation>http://labs.trolltech.com/blogs/feed</translation> </message> - <message> - <source>Qt Support Sites</source> - <translation>Qt Support Sites</translation> - </message> - <message> - <source>Qt Links</source> - <translation>Qt Links</translation> - </message> -</context> -<context> - <name>Welcome::WelcomeMode</name> - <message> - <source>#headerFrame { - border-image: url(:/welcome/images/center_frame_header.png) 0; - border-width: 0; -} -</source> - <translation>#headerFrame { - border-image: url(:/welcome/images/center_frame_header.png) 0; - border-width: 0; -} -</translation> - </message> - <message> - <source>Help us make Qt Creator even better</source> - <translation>Helfen Sie uns, Qt Creator zu verbessern</translation> - </message> - <message> - <source>Feedback</source> - <translation>Feedback</translation> - </message> </context> <context> <name>Debugger::Internal::AbstractGdbAdapter</name> @@ -13538,7 +13302,6 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio </message> <message> <source>QML</source> - <extracomment>QML sub-menu in the Tools menu</extracomment> <translation>QML</translation> </message> <message> @@ -16372,29 +16135,6 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen.</translation> <translation>Paket:</translation> </message> </context> -<context> - <name>QtQuickAppWizardSourcesPage</name> - <message> - <source>WizardPage</source> - <translation>WizardPage</translation> - </message> - <message> - <source>Main QML File</source> - <translation>QML-Hauptdatei</translation> - </message> - <message> - <source>Import an existing .qml file</source> - <translation>Importiere existierende QML-Datei</translation> - </message> - <message> - <source>Generate a main.qml file</source> - <translation>Datei main.qml erstellen</translation> - </message> - <message> - <source>Note: All files and directories that reside in the same directory as the main QML file are deployed. You can modify the contents of the directory any time before deploying.</source> - <translation>Hinweis: Alle Dateien und Ordner, die sich im selben Ordner wie die QML-Hauptdatei befinden, sind zum Deployment vorgesehen. Der Inhalt des Ordners kann vor dem Deployment-Vorgang jederzeit modifiziert werden.</translation> - </message> -</context> <context> <name>HighlighterSettingsPage</name> <message> @@ -17136,6 +16876,15 @@ wenn es außerhalb von git bash aufgerufen wird.</translation> <source><html><head/><body><center><i>%1</i> is still running.<center/><center>Force it to quit?</center></body></html></source> <translation><html><head/><body><center><i>%1</i> läuft noch.<center/><center>Soll es beendet werden?</center></body></html></translation> </message> + <message> + <source>PID %1</source> + <translation>PID %1</translation> + </message> + <message> + <source>Invalid</source> + <extracomment>Invalid process handle.</extracomment> + <translation>Ungültig</translation> + </message> <message> <source>Force Quit</source> <translation>Beenden</translation> @@ -17547,21 +17296,21 @@ Der Pfad zur Bibliothek und der Pfad zu den Headerdateien werden zur .pro-Datei <translation>ROM-Version:</translation> </message> <message> - <source>QtMobility version: </source> + <source>Qt Mobility version: </source> <translation>QtMobility-Version: </translation> </message> <message> - <source>Error reading QtMobility version</source> + <source>Error reading Qt Mobility version</source> <translation>Fehler beim Lesen der QtMobility-Version</translation> </message> - <message> - <source>QtQuick components version: </source> - <translation>Version der Qt Quick-Komponenten: </translation> - </message> <message> <source>Not installed</source> <translation>Nicht installiert</translation> </message> + <message> + <source>Qt Quick components version: </source> + <translation>Version der Qt Quick-Komponenten: </translation> + </message> <message> <source>Screen size:</source> <translation>Bildschirmgröße:</translation> @@ -17789,19 +17538,8 @@ Der Pfad zur Bibliothek und der Pfad zu den Headerdateien werden zur .pro-Datei <translation>Dieser Wizard erstellt ein Qt Quick-Anwendungsprojekt.</translation> </message> <message> - <source>Component Set</source> - <translation>Komponenten</translation> - </message> - <message> - <source>QML Sources</source> - <translation>QML-Quellen</translation> - </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::QtQuickAppWizardSourcesPage</name> - <message> - <source>Select QML File</source> - <translation>QML-Datei auswählen</translation> + <source>Application Type</source> + <translation>Typ der Anwendung</translation> </message> </context> <context> @@ -17969,8 +17707,8 @@ Bitte prüfen Sie die Zugriffsrechte des Ordners.</translation> <translation>Daten-Haltepunkt %1 (%2) bei %3 im Thread %4 ausgelöst.</translation> </message> <message> - <source>Internal data breakpoint %1 at %2 in thread %4 triggered.</source> - <translation>Interner Daten-Haltepunkt %1 (%2) im Thread %4 ausgelöst.</translation> + <source>Internal data breakpoint %1 at %2 in thread %3 triggered.</source> + <translation>Interner Daten-Haltepunkt %1 (%2) im Thread %3 ausgelöst.</translation> </message> <message> <source>Data breakpoint %1 (%2) at 0x%3 triggered.</source> @@ -18859,7 +18597,7 @@ Fehler: %2</translation> </message> <message> <source>Publishing is currently not possible for project '%1'.</source> - <translation>Das Projekt '%1' kann nicht gegenwärtig nicht veröffentlicht werden.</translation> + <translation>Das Projekt '%1' kann zur Zeit nicht veröffentlicht werden.</translation> </message> </context> <context> @@ -19089,10 +18827,6 @@ Fehler: %2</translation> <source>The kind of device:</source> <translation>Gerätetyp:</translation> </message> - <message> - <source>Emulator (Qemu)</source> - <translation>Emulator (Qemu)</translation> - </message> <message> <source>Hardware Device</source> <translation>Mobilgerät</translation> @@ -19101,6 +18835,18 @@ Fehler: %2</translation> <source>The device's host name or IP address:</source> <translation>Hostname oder IP-Adresse des Geräts:</translation> </message> + <message> + <source>Emulator</source> + <translation>Emulator</translation> + </message> + <message> + <source>The SSH port:</source> + <translation type="obsolete">Der SSH-Port:</translation> + </message> + <message> + <source>The SSH server port:</source> + <translation>Der SSH-Port des Servers:</translation> + </message> </context> <context> <name>MaemoPublishingWizardPageFremantleFree</name> @@ -20293,54 +20039,7 @@ auf Instanzen von QML-Komponenten-Objekten und Eigenschaften zugreifen.</transla </message> </context> <context> - <name>QmlJSInspector::Internal::QmlInspectorToolBar</name> - <message> - <source>Apply Changes on Save</source> - <translation>Änderungen beim Speichern anwenden</translation> - </message> - <message> - <source>Show application on top</source> - <translation>Anwendung im Vordergrund zeigen</translation> - </message> - <message> - <source>Play/Pause Animations</source> - <translation>Animationen pausieren/fortsetzen</translation> - </message> - <message> - <source>Select</source> - <translation>Auswählen</translation> - </message> - <message> - <source>Zoom</source> - <translation>Vergrößern</translation> - </message> - <message> - <source>Color Picker</source> - <translation>Farbauswahl</translation> - </message> - <message> - <source>1x</source> - <translation>1x</translation> - </message> - <message> - <source>0.5x</source> - <translation>0.5x</translation> - </message> - <message> - <source>0.25x</source> - <translation>0.25x</translation> - </message> - <message> - <source>0.125x</source> - <translation>0.125x</translation> - </message> - <message> - <source>0.1x</source> - <translation>0.1x</translation> - </message> -</context> -<context> - <name>QmlJSTools::Internal::FunctionFilter</name> + <name>QmlJSTools::Internal::FunctionFilter</name> <message> <source>Methods and functions</source> <translation>Methoden und Funktionen</translation> @@ -22792,70 +22491,6 @@ Außerdem wird die Anwendung bei Verwendung einer nicht freigegebenen Qt-Version </context> <context> <name>Analyzer::AnalyzerManager</name> - <message> - <source>Start &Analyzer</source> - <translation>Analyse &starten</translation> - </message> - <message> - <source>Start</source> - <translation>Starten</translation> - </message> - <message> - <source>Start Remote</source> - <translation>Starte ferngesteuert</translation> - </message> - <message> - <source>Stop</source> - <translation>Anhalten</translation> - </message> - <message> - <source>Analyzer Toolbar</source> - <translation>Analyse-Werkzeugleiste</translation> - </message> - <message> - <source><html><head/><body><center><i>%1</i> is still running. You have to quit the Analyzer before being able to run another instance.<center/><center>Force it to quit?</center></body></html></source> - <translation><html><head/><body><center><i>%1</i> läuft noch. Sie müssen die Analyse zuerst beenden, bevor der nächste Lauf gestartet werden kann.<center/><center>Soll er beendet werden?</center></body></html></translation> - </message> - <message> - <source>Analyzer Still Running</source> - <translation>Analyse läuft noch</translation> - </message> - <message> - <source>Stop Active Run</source> - <translation>Beenden</translation> - </message> - <message> - <source>Keep Running</source> - <translation>Fortsetzen</translation> - </message> - <message> - <source>Debug</source> - <translation>Debug</translation> - </message> - <message> - <source>Release</source> - <translation>Release</translation> - </message> - <message> - <source>Run %1 in %2 Mode?</source> - <translation>Soll %1 im Modus %2 ausgeführt werden?</translation> - </message> - <message> - <source><html><head/><body><p>You are trying to run the tool '%1' on an application in %2 mode. The tool is designed to be used in %3 mode.</p><p>Do you want to continue and run it in %2 mode?</p></body></html></source> - <translation><html><head/><body><p>Sie versuchen, das Werkzeug '%1' mit einer Anwendung im Modus %2 zu betreiben. Das Werkzeug ist zur Verwendung im Modus %3 vorgesehen.</p><p>Möchten Sie trotzdem fortsetzen und es im Modus %2 laufen lassen?</p></body></html></translation> - </message> - <message> - <source>An analysis is still in progress.</source> - <translation>Die Analyse läuft noch.</translation> - </message> - <message> - <source>No analyzer tool selected.</source> - <translation>Es ist kein Analysewerkzeug ausgewählt.</translation> - </message> - <message> - <source>Current analyzer tool cannot be run remotely.</source> - <translation>Das gegenwärtig aktive Analysewerkzeug kann nur lokal ausgeführt werden.</translation> - </message> <message> <source>Tool "%1" started...</source> <translation>Das Werkzeug "%1" wurde gestartet...</translation> @@ -22871,10 +22506,6 @@ Außerdem wird die Anwendung bei Verwendung einer nicht freigegebenen Qt-Version <source>Tool "%1" finished, no issues were found.</source> <translation>Das Werkzeug '%1' wurde beendet; es wurden keine Probleme wurde gefunden.</translation> </message> - <message> - <source>&Do not ask again</source> - <translation>&Nicht noch einmal nachfragen</translation> - </message> </context> <context> <name>Analyzer::Internal::AnalyzerPlugin</name> @@ -22884,13 +22515,6 @@ Außerdem wird die Anwendung bei Verwendung einer nicht freigegebenen Qt-Version <translation>Analyse</translation> </message> </context> -<context> - <name>Analyzer::Internal::AnalyzerRunControlFactory</name> - <message> - <source>Analyzer</source> - <translation>Analysewerkzeug</translation> - </message> -</context> <context> <name>Analyzer::AnalyzerProjectSettings</name> <message> @@ -22901,12 +22525,8 @@ Außerdem wird die Anwendung bei Verwendung einer nicht freigegebenen Qt-Version <context> <name>Analyzer::IAnalyzerTool</name> <message> - <source>Debug</source> - <translation>Debug</translation> - </message> - <message> - <source>Release</source> - <translation>Release</translation> + <source> (Remote)</source> + <translation> (entfernt)</translation> </message> </context> <context> @@ -23529,31 +23149,31 @@ a = a + <name>MaemoDeviceConfigWizardLoginDataPage</name> <message> <source>WizardPage</source> - <translation>WizardPage</translation> + <translation type="obsolete">WizardPage</translation> </message> <message> <source>User name:</source> - <translation>Nutzername:</translation> + <translation type="obsolete">Nutzername:</translation> </message> <message> <source>Authentication type:</source> - <translation>Art der Authentifizierung:</translation> + <translation type="obsolete">Art der Authentifizierung:</translation> </message> <message> <source>Password</source> - <translation>Passwort</translation> + <translation type="obsolete">Passwort</translation> </message> <message> <source>Key</source> - <translation>Schlüssel</translation> + <translation type="obsolete">Schlüssel</translation> </message> <message> <source>Password:</source> - <translation>Passwort:</translation> + <translation type="obsolete">Passwort:</translation> </message> <message> <source>Private key:</source> - <translation>Privater Schlüssel:</translation> + <translation type="obsolete">Privater Schlüssel:</translation> </message> </context> <context> @@ -24632,6 +24252,10 @@ Sollen sie überschrieben werden?</translation> <source>Attach debugger to this process</source> <translation>Debugger an diesen Prozess anhängen</translation> </message> + <message> + <source>Attach debugger to %1</source> + <translation>Debugger an %1 anhängen</translation> + </message> <message> <source>Application Output</source> <translation>Ausgabe der Anwendung</translation> @@ -24689,7 +24313,7 @@ Sollen sie überschrieben werden?</translation> <translation>Ausführbare Datei der QML-Puppet nicht gefunden</translation> </message> <message> - <source>The executable of the QML Puppet process (%1) cannot be found. Please check your installation. QML Puppet is a process which runs in the background to render the the items.</source> + <source>The executable of the QML Puppet process (%1) cannot be found. Please check your installation. QML Puppet is a process which runs in the background to render the items.</source> <translation>Die ausführbare Datei des QML-Puppet-Prozess (%1) konnte nicht gefunden werden. Bitte überprüfen Sie Ihre Installation. QML Puppet ist ein Prozess, der im Hintergrund die Elemente rendert.</translation> </message> </context> @@ -24751,50 +24375,23 @@ Sollen sie überschrieben werden?</translation> %1</translation> </message> </context> -<context> - <name>QmlProfiler::Internal::QmlProfilerSummaryView</name> - <message> - <source>Location</source> - <translation>Pfad</translation> - </message> - <message> - <source>Time in Percent</source> - <translation>Zeit in Prozent</translation> - </message> - <message> - <source>Total Time</source> - <translation>Summe der Zeit</translation> - </message> - <message> - <source>Calls</source> - <translation>Aufrufe</translation> - </message> - <message> - <source>Time per Call</source> - <translation>Zeit pro Aufruf</translation> - </message> - <message> - <source>Longest Time</source> - <translation>Längste Zeit</translation> - </message> - <message> - <source>Shortest Time</source> - <translation>Kürzeste Zeit</translation> - </message> -</context> <context> <name>QmlProfiler::Internal::QmlProfilerTool</name> <message> <source>QML Profiler</source> <translation>QML-Profiler</translation> </message> + <message> + <source>The QML Profiler can be used to find performance bottlenecks in applications using QML.</source> + <translation>Der QML-Profiler kann zum Auffinden geschwindigkeitsrelevanter Engpässe in QML-Anwendungen verwendet werden.</translation> + </message> <message> <source>Attach...</source> <translation>Anhängen...</translation> </message> <message> - <source>Bindings</source> - <translation>Bindings</translation> + <source>Events</source> + <translation>Ereignisse</translation> </message> <message> <source>Timeline</source> @@ -24808,10 +24405,22 @@ Sollen sie überschrieben werden?</translation> <source>Callers</source> <translation>Aufrufer</translation> </message> + <message> + <source>Discard data</source> + <translation>Daten löschen</translation> + </message> <message> <source>Elapsed: 0 s</source> <translation>Vergangen: 0 s</translation> </message> + <message> + <source>Disable profiling</source> + <translation>Profiling deaktivieren</translation> + </message> + <message> + <source>Enable profiling</source> + <translation>Profiling aktivieren</translation> + </message> <message> <source>Elapsed: %1 s</source> <translation>Vergangen: %1 s</translation> @@ -24821,13 +24430,6 @@ Sollen sie überschrieben werden?</translation> <translation>Abhängen</translation> </message> </context> -<context> - <name>QmlProfiler::Internal::TraceWindow</name> - <message> - <source>QML Profiler</source> - <translation>QML-Profiler</translation> - </message> -</context> <context> <name>QmlProjectManager::Internal::QmlProjectRunControl</name> <message> @@ -25192,6 +24794,14 @@ Sollen sie überschrieben werden?</translation> <source>Do you want to remove all invalid Qt Versions?<br><ul><li>%1</li></ul><br>will be removed.</source> <translation>Möchten Sie alle ungültigen Qt-Versionen entfernen? <br><ul><li>%1</li></ul><br> wird entfernt.</translation> </message> + <message> + <source>No tool chain can produce code for this Qt version. Please define one or more tool chains.</source> + <translation>Keine Toolchain kann für diese Qt-Version Code erzeugen. Bitte richten Sie geeignete Toolchains ein.</translation> + </message> + <message> + <source>Not all possible target environments can be supported due to missing tool chains.</source> + <translation>Es können nicht alle Zielumgebungen unterstützt werden, da einige Toolchains fehlen.</translation> + </message> <message> <source>Building helpers</source> <translation>Ausgabe-Hilfsbibliothek</translation> @@ -25237,6 +24847,10 @@ Sollen sie überschrieben werden?</translation> <source>Qt version %1 for %2</source> <translation>Qt-Version %1 für %2</translation> </message> + <message> + <source>The following ABIs are currently not supported:<ul><li>%1</li></ul></source> + <translation>Die folgenden ABIs werden gegenwärtig nicht unterstützt: <ul><li>%1</ul></translation> + </message> <message> <source>S60 SDK:</source> <translation>S60 SDK:</translation> @@ -25271,9 +24885,13 @@ Sollen sie überschrieben werden?</translation> <translation>Es kann kein Deployment durchgeführt werden, da die Bereinigung vom letzten Mal noch läuft.</translation> </message> <message> - <source>Cannot deploy: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready.</source> + <source>Cannot deploy: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then.</source> <translation>Das Deployment schlug fehl, da Qemu nicht lief. Es wurde soeben gestartet, benötigt jedoch noch einige Zeit.</translation> </message> + <message> + <source>Cannot deploy: You want to deploy to Qemu, but it is not enabled for this Qt version.</source> + <translation>Das Deployment zu Qemu schlug fehl, da Qemu für diese Qt-Version nicht verfügbar ist.</translation> + </message> <message> <source>All files up to date, no installation necessary.</source> <translation>Alle Dateien sind auf dem aktuellen Stand, es ist keine Installation erforderlich.</translation> @@ -25474,8 +25092,8 @@ Haben Sie Qemu gestartet?</translation> <translation>Physisches Gerät</translation> </message> <message> - <source>Emulator (Qemu)</source> - <translation>Emulator (Qemu)</translation> + <source>Emulator</source> + <translation>Emulator</translation> </message> <message> <source>You will need at least one port.</source> @@ -25493,7 +25111,7 @@ Haben Sie Qemu gestartet?</translation> <name>RemoteLinux::Internal::MaemoDeviceConfigWizardLoginDataPage</name> <message> <source>Login Data</source> - <translation>Login-Daten</translation> + <translation type="obsolete">Login-Daten</translation> </message> </context> <context> @@ -25664,22 +25282,6 @@ Ist das Gerät verbunden und für Netzwerkzugriff eingerichtet?</translation> <source>Mad Developer</source> <translation>Mad Developer</translation> </message> - <message> - <source>Failed to remove directory '%1'.</source> - <translation>Der Ordner '%1' konnte nicht gelöscht werden.</translation> - </message> - <message> - <source>Failed to remove file '%1'.</source> - <translation>Die Datei '%1' konnte nicht gelöscht werden.</translation> - </message> - <message> - <source>Failed to create directory '%1'.</source> - <translation>Der Ordner '%1' konnte nicht erstellt werden.</translation> - </message> - <message> - <source>Could not copy file '%1' to '%2'.</source> - <translation>Die Datei '%1' konnte nicht nach '%2' kopiert werden.</translation> - </message> <message> <source>Unknown OS</source> <translation>unbekanntes Betriebssystem</translation> @@ -25906,7 +25508,7 @@ Es wird versucht eine Paketdatei zu erstellen, es können aber Probleme auftrete <context> <name>RemoteLinux::Internal::MaemoTarPackageCreationStep</name> <message> - <source>Create tar ball</source> + <source>Create tarball</source> <translation>Tarball erzeugen</translation> </message> <message> @@ -26242,7 +25844,11 @@ Es wird versucht eine Paketdatei zu erstellen, es können aber Probleme auftrete <name>RemoteLinux::Internal::MaemoQemuManager</name> <message> <source>Start Maemo Emulator</source> - <translation>Maemo-Emulator starten</translation> + <translation type="obsolete">Maemo-Emulator starten</translation> + </message> + <message> + <source>Start MeeGo Emulator</source> + <translation>Meego-Emulator starten</translation> </message> <message> <source>Qemu has been shut down, because you removed the corresponding Qt version.</source> @@ -26260,9 +25866,13 @@ Es wird versucht eine Paketdatei zu erstellen, es können aber Probleme auftrete <source>Qemu failed to start: %1</source> <translation>Qemu konnte nicht gestartet werden: %1</translation> </message> + <message> + <source>Stop MeeGo Emulator</source> + <translation>Meego-Emulator stoppen</translation> + </message> <message> <source>Stop Maemo Emulator</source> - <translation>Maemo-Emulator stoppen</translation> + <translation type="obsolete">Maemo-Emulator stoppen</translation> </message> </context> <context> @@ -26472,7 +26082,11 @@ Fehlerausgabe: %1</translation> <name>RemoteLinux::Internal::MaemoQemuSettingsPage</name> <message> <source>Maemo Qemu Settings</source> - <translation>Maemo QEmu-Einstellungen</translation> + <translation type="obsolete">Maemo QEmu-Einstellungen</translation> + </message> + <message> + <source>MeeGo Qemu Settings</source> + <translation>Meego QEmu-Einstellungen</translation> </message> </context> <context> @@ -26493,8 +26107,12 @@ Fehlerausgabe: %1</translation> <translation>Anhängen der Ordner...</translation> </message> <message> - <source>Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready.</source> - <translation>Das Deployment schlug fehl, da Qemu nicht lief. Es wurde soeben gestartet, benötigt jedoch noch einige Zeit.</translation> + <source>Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then.</source> + <translation>Das Deployment schlug fehl, da Qemu nicht lief. Es wurde soeben gestartet, benötigt jedoch noch einige Zeit. Bitte versuchen Sie es nach einiger Zeit noch einmal.</translation> + </message> + <message> + <source>You want to run on Qemu, but it is not enabled for this Qt version.</source> + <translation>Das Deployment zu Qemu schlug fehl, da Qemu für diese Qt-Version nicht verfügbar ist.</translation> </message> <message> <source>Potentially unmounting left-over host directory mounts...</source> @@ -26563,7 +26181,7 @@ Fehlerausgabe: %1</translation> <context> <name>RemoteLinux::Internal::MaemoUploadAndInstallTarPackageStep</name> <message> - <source>Deploy tar package via SFTP upload</source> + <source>Deploy tarball via SFTP upload</source> <translation>Deployment eines tar-Pakets mittels SFTP</translation> </message> </context> @@ -26595,23 +26213,23 @@ Fehlerausgabe: %1</translation> <context> <name>RemoteLinux::Internal::Qt4MaemoDeployConfigurationFactory</name> <message> - <source>Copy files to Maemo5 device</source> + <source>Copy Files to Maemo5 Device</source> <translation>Kopiere Dateien auf Maemo5-Gerät</translation> </message> <message> - <source>Build Debian package and install to Maemo5 device</source> + <source>Build Debian Package and Install to Maemo5 Device</source> <translation>Erstelle Debian-Paket und installiere auf Maemo5-Gerät</translation> </message> <message> - <source>Build Debian package and install to Harmattan device</source> + <source>Build Debian Package and Install to Harmattan Device</source> <translation>Erstelle Debian-Paket und installiere auf Harmattan-Gerät</translation> </message> <message> - <source>Build RPM package and install to Meego device</source> + <source>Build RPM Package and Install to MeeGo Device</source> <translation>Erstelle RPM-Paket und installiere auf Meego-Gerät</translation> </message> <message> - <source>Build tarball and install to Linux host</source> + <source>Build Tarball and Install to Linux Host</source> <translation>Erstelle tar-Archiv und installiere auf Linux-Gerät</translation> </message> </context> @@ -26629,9 +26247,17 @@ Fehlerausgabe: %1</translation> <source>Do you want to remove the packaging file(s) associated with the target '%1'?</source> <translation>Möchten Sie die Paketdateien löschen, die zum Ziel '%1' gehören?</translation> </message> + <message> + <source>Error creating packaging directory '%1'.</source> + <translation>Fehler beim Anlegen des Paket-Ordners '%1'.</translation> + </message> + <message> + <source>Error creating MeeGo templates</source> + <translation>Fehlschlag beim Erstellen der Meego-Vorlagendateien</translation> + </message> <message> <source>Error creating Maemo packaging directory '%1'.</source> - <translation>Fehler beim Anlegen des Maemo-Paket-Ordners '%1'</translation> + <translation type="obsolete">Fehler beim Anlegen des Maemo-Paket-Ordners '%1'</translation> </message> <message> <source>Add Packaging Files to Project</source> @@ -26647,7 +26273,7 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> </message> <message> <source>Error creating Maemo templates</source> - <translation>Fehlschlag beim Erstellen der Maemo-Vorlagendateien</translation> + <translation type="obsolete">Fehlschlag beim Erstellen der Maemo-Vorlagendateien</translation> </message> </context> <context> @@ -26793,8 +26419,12 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <context> <name>Valgrind::Internal::CallgrindTool</name> <message> - <source>Profile</source> - <translation>Profiler</translation> + <source>Valgrind Function Profile</source> + <translation>Valgrind-Profiling einer Funktion</translation> + </message> + <message> + <source>Valgrind Profile uses the "callgrind" tool to record function calls when a program runs.</source> + <translation>Valgrind-Profiling verwendet das Werkzeug "callgrind", um Funktionsaufrufe während der Programmausführung aufzuzeichnen.</translation> </message> <message> <source>Profile Costs of this Function and its Callees</source> @@ -27000,8 +26630,12 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <translation>Ungültige Aufrufe von "free()"</translation> </message> <message> - <source>Analyze Memory</source> - <translation>Speicheranalyse</translation> + <source>Valgrind Analyze Memory</source> + <translation>Speicheranalyse mit Valgrind</translation> + </message> + <message> + <source>Valgrind Analyze Memory uses the "memcheck" tool to find memory leaks</source> + <translation>Die Speicheranalyse von Valgrind benutzt das Werkzeug "memcheck", um Speicherlecks aufzufinden</translation> </message> <message> <source>Memory Issues</source> @@ -27091,6 +26725,10 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <source>Welcome</source> <translation>Willkommen</translation> </message> + <message> + <source>New Project</source> + <translation>Neues Projekt</translation> + </message> </context> <context> <name>Coda::Session</name> @@ -27188,6 +26826,22 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> </context> <context> <name>Utils::FileUtils</name> + <message> + <source>Failed to remove directory '%1'.</source> + <translation>Der Ordner '%1' konnte nicht gelöscht werden.</translation> + </message> + <message> + <source>Failed to remove file '%1'.</source> + <translation>Die Datei '%1' konnte nicht gelöscht werden.</translation> + </message> + <message> + <source>Failed to create directory '%1'.</source> + <translation>Der Ordner '%1' konnte nicht erstellt werden.</translation> + </message> + <message> + <source>Could not copy file '%1' to '%2'.</source> + <translation>Die Datei '%1' konnte nicht nach '%2' kopiert werden.</translation> + </message> <message> <source>Cannot open %1 for reading: %2</source> <translation>Die Datei %1 kann nicht zum Lesen geöffnet werden: %2</translation> @@ -27221,12 +26875,16 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <name>LinuxDeviceFactorySelectionDialog</name> <message> <source>Available wizards:</source> - <translation>Verfügbare Wizards:</translation> + <translation type="obsolete">Verfügbare Wizards:</translation> </message> <message> <source>Device Configuration Wizard Selection</source> <translation>Einrichtung einer neuen Geräte-Konfiguration</translation> </message> + <message> + <source>Available device types:</source> + <translation>Verfügbare Gerätetypen:</translation> + </message> </context> <context> <name>RemoteLinux::Internal::LinuxDeviceFactorySelectionDialog</name> @@ -27246,13 +26904,6 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <translation>%1:%2 in %3</translation> </message> </context> -<context> - <name>QmlProfiler::Internal::QmlProjectAnalyzerRunControlFactory</name> - <message> - <source>QML Profiler</source> - <translation>QML-Profiler</translation> - </message> -</context> <context> <name>GenericLinuxDeviceConfigurationWizardSetupPage</name> <message> @@ -27269,11 +26920,11 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> </message> <message> <source>User name:</source> - <translation>Nutzername:</translation> + <translation type="obsolete">Nutzername:</translation> </message> <message> <source>Authentication type:</source> - <translation>Art der Authentifizierung:</translation> + <translation type="obsolete">Art der Authentifizierung:</translation> </message> <message> <source>Password</source> @@ -27285,18 +26936,34 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> </message> <message> <source>Password:</source> - <translation>Passwort:</translation> + <translation type="obsolete">Passwort:</translation> </message> <message> <source>Private key:</source> - <translation>Privater Schlüssel:</translation> + <translation type="obsolete">Privater Schlüssel:</translation> </message> -</context> -<context> - <name>GenericProjectManager::Internal::GenericProjectPlugin</name> <message> - <source>Edit Files...</source> - <translation>Dateien bearbeiten...</translation> + <source>The user name to log into the device:</source> + <translation>Nutzername für Geräte-Login:</translation> + </message> + <message> + <source>The authentication type:</source> + <translation>Art der Authentifizierung:</translation> + </message> + <message> + <source>The user's password:</source> + <translation>Passwort des Nutzers:</translation> + </message> + <message> + <source>The file containing the user's private key:</source> + <translation>Datei mit privatem Schlüssel des Nutzers:</translation> + </message> +</context> +<context> + <name>GenericProjectManager::Internal::GenericProjectPlugin</name> + <message> + <source>Edit Files...</source> + <translation>Dateien bearbeiten...</translation> </message> </context> <context> @@ -27305,6 +26972,14 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <source>Edit Files</source> <translation>Datei zum Bearbeiten anfordern</translation> </message> + <message> + <source>Hide files matching:</source> + <translation>Verstecke Dateien, die dem folgenden Suchmuster entsprechen:</translation> + </message> + <message> + <source>Apply Filter</source> + <translation>Filter anwenden</translation> + </message> <message> <source>Generating file list... @@ -27313,12 +26988,22 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> %1</translation> </message> + <message numerus="yes"> + <source>Not showing %n files that are outside of the base directory. +These files are preserved.</source> + <translation> + <numerusform>Eine Datei, die sich außerhalb des Basisordners befindet, wird nicht angezeigt. +Sie bleibt bestehen.</numerusform> + <numerusform>%n Dateien, die sich außerhalb des Basisordners befinden, werden nicht angezeigt. +Sie bleiben bestehen.</numerusform> + </translation> + </message> </context> <context> <name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationFactory</name> <message> - <source>Generic Linux Devices</source> - <translation>Generische Linux-Geräte</translation> + <source>Generic Linux Device</source> + <translation>Generisches Linux-Gerät</translation> </message> <message> <source>Generic Linux</source> @@ -27354,7 +27039,7 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <context> <name>RemoteLinux::Internal::MaddeDeviceConfigurationFactory</name> <message> - <source>Devices with MADDE support (Fremantle, Harmattan, MeeGo)</source> + <source>Device with MADDE support (Fremantle, Harmattan, MeeGo)</source> <translation>Geräte mit Unterstützung für MADDE-(Fremantle, Harmattan, MeeGo)</translation> </message> <message> @@ -27388,7 +27073,7 @@ Möchten Sie sie zum Projekt hinzufügen?</translation> <translation>Datei mit öffentlichem Schlüssel auswählen</translation> </message> <message> - <source>Public Key Files(*.pub);;All Files (*)</source> + <source>Public Key Files (*.pub);;All Files (*)</source> <translation>Öffentliche Schlüssel (*.pub);;Alle Dateien (*)</translation> </message> <message> @@ -27610,18 +27295,10 @@ Zusätzlich wird die Verbindung zum Gerät getestet.</translation> </context> <context> <name>QtQuickComponentSetOptionsPage</name> - <message> - <source>Qt Quick Component Set</source> - <translation>Qt Quick-Komponentensatz</translation> - </message> <message> <source>Built-in elements only (for all platforms)</source> <translation>Nur eingebaute Elemente (alle Plattformen)</translation> </message> - <message> - <source>buttonGroup</source> - <translation>buttonGroup</translation> - </message> <message> <source>Qt Quick Components for Symbian</source> <translation>Qt Quick-Komponenten für Symbian</translation> @@ -27654,9 +27331,29 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Erfordert Qt 4.7.4 oder neuer.</translation> </message> + <message> + <source>Qt Quick Application Type</source> + <translation>Qt Quick-Anwendung</translation> + </message> + <message> + <source>Use an existing .qml file</source> + <translation>Verwnde existierende .qml-Datei</translation> + </message> + <message> + <source>All files and directories that reside in the same directory as the main QML file are deployed. You can modify the contents of the directory any time before deploying.</source> + <translation>Alle Dateien und Ordner, die sich im selben Ordner wie die QML-Hauptdatei befinden, sind zum Deployment vorgesehen. Der Inhalt des Ordners kann vor dem Deployment-Vorgang jederzeit modifiziert werden.</translation> + </message> </context> <context> <name>GenericProjectManager::Internal::FilesSelectionWizardPage</name> + <message> + <source>Hide files matching:</source> + <translation>Verstecke Dateien, die dem folgenden Suchmuster entsprechen:</translation> + </message> + <message> + <source>Apply Filter</source> + <translation>Filter anwenden</translation> + </message> <message> <source>Generating file list... @@ -27684,92 +27381,6 @@ Erfordert Qt 4.7.4 oder neuer.</translation> <translation>Code-Modell rücksetzen</translation> </message> </context> -<context> - <name>QmlProfiler::Internal::QmlProfilerCalleeView</name> - <message> - <source><bytecode></source> - <translation><bytecode></translation> - </message> - <message> - <source>Source code not available</source> - <translation>Kein Quellcode verfügbar</translation> - </message> - <message> - <source>Location</source> - <translation>Ort</translation> - </message> - <message> - <source>Type</source> - <translation>Typ</translation> - </message> - <message> - <source>Details</source> - <translation>Details</translation> - </message> - <message> - <source>Paint</source> - <translation>Paint</translation> - </message> - <message> - <source>Compile</source> - <translation>Compilierung</translation> - </message> - <message> - <source>Create</source> - <translation>Erstellung</translation> - </message> - <message> - <source>Binding</source> - <translation>Binding</translation> - </message> - <message> - <source>Signal</source> - <translation>Signal</translation> - </message> -</context> -<context> - <name>QmlProfiler::Internal::QmlProfilerCallerView</name> - <message> - <source><bytecode></source> - <translation><bytecode></translation> - </message> - <message> - <source>Source code not available</source> - <translation>Kein Quellcode verfügbar</translation> - </message> - <message> - <source>Location</source> - <translation>Ort</translation> - </message> - <message> - <source>Type</source> - <translation>Typ</translation> - </message> - <message> - <source>Details</source> - <translation>Details</translation> - </message> - <message> - <source>Paint</source> - <translation>Paint</translation> - </message> - <message> - <source>Compile</source> - <translation>Compilierung</translation> - </message> - <message> - <source>Create</source> - <translation>Erstellung</translation> - </message> - <message> - <source>Binding</source> - <translation>Binding</translation> - </message> - <message> - <source>Signal</source> - <translation>Signal</translation> - </message> -</context> <context> <name>RemoteLinux::DeployableFilesPerProFile</name> <message> @@ -27865,4 +27476,429 @@ Erfordert Qt 4.7.4 oder neuer.</translation> <translation>In Komponente gehen</translation> </message> </context> +<context> + <name>QmlJSInspector::Internal::QmlJsInspectorToolBar</name> + <message> + <source>Apply Changes on Save</source> + <translation>Änderungen beim Speichern anwenden</translation> + </message> + <message> + <source>Show application on top</source> + <translation>Anwendung im Vordergrund zeigen</translation> + </message> + <message> + <source>Play/Pause Animations</source> + <translation>Animationen pausieren/fortsetzen</translation> + </message> + <message> + <source>Select</source> + <translation>Auswählen</translation> + </message> + <message> + <source>Zoom</source> + <translation>Vergrößern</translation> + </message> + <message> + <source>Color Picker</source> + <translation>Farbauswahl</translation> + </message> + <message> + <source>1x</source> + <translation>1x</translation> + </message> + <message> + <source>0.5x</source> + <translation>0.5x</translation> + </message> + <message> + <source>0.25x</source> + <translation>0.25x</translation> + </message> + <message> + <source>0.125x</source> + <translation>0.125x</translation> + </message> + <message> + <source>0.1x</source> + <translation>0.1x</translation> + </message> +</context> +<context> + <name>QmlProfiler::Internal::RemoteLinuxQmlProfilerRunner</name> + <message> + <source>Not enough free ports on device for analyzing. +</source> + <translation>Auf dem Gerät sind nicht genügend freie Ports für die Analyse vorhanden. +</translation> + </message> + <message> + <source>Starting remote process ... +</source> + <translation>Starte entfernten Prozess... +</translation> + </message> + <message> + <source>Finished running remote process. Exit code was %1. +</source> + <translation>Der entfernte Prozess wurde beendet, Rückgabewert %1. +</translation> + </message> +</context> +<context> + <name>TimeDisplay</name> + <message> + <source>length: %1</source> + <translation>Länge: %1</translation> + </message> +</context> +<context> + <name>MouseAreaSpecifics</name> + <message> + <source>MouseArea</source> + <translation>MouseArea</translation> + </message> + <message> + <source>Enabled</source> + <translation>Aktiviert</translation> + </message> + <message> + <source>This property holds whether the item accepts mouse events.</source> + <translation>Diese Eigenschaft legt fest, ob das Element Mausereignisse akzeptiert.</translation> + </message> + <message> + <source>Hover Enabled</source> + <translation>Hover aktiviert</translation> + </message> + <message> + <source>This property holds whether hover events are handled.</source> + <translation>Diese Eigenschaft legt fest, ob das Element Hover-Ereignisse akzeptiert.</translation> + </message> +</context> +<context> + <name>ExampleBrowser</name> + <message> + <source>Search in Tutorials</source> + <translation>Suche in Anleitungen</translation> + </message> + <message> + <source>Search in Tutorials, Examples and Demos</source> + <translation>Suche in Anleitungen, Beispielen und Demos</translation> + </message> + <message> + <source>Show Examples and Demos</source> + <translation>Zeige Beispiele und Demos</translation> + </message> + <message> + <source>Filter by Tag</source> + <translation>Filtere nach Schlüsselwort</translation> + </message> + <message> + <source>Tag Filter: %1</source> + <translation>Schlüsselwortfilter: %1</translation> + </message> +</context> +<context> + <name>FeaturedAndNewsListing</name> + <message> + <source>Featured News</source> + <translation>Kurz vorgestellt</translation> + </message> +</context> +<context> + <name>Feedback</name> + <message> + <source>Open Project...</source> + <translation>Projekt öffnen...</translation> + </message> + <message> + <source>Create Project...</source> + <translation>Projekt erstellen...</translation> + </message> + <message> + <source>Feedback</source> + <translation>Feedback</translation> + </message> + <message> + <source>Help us make Qt Creator even better</source> + <translation>Helfen Sie uns, Qt Creator zu verbessern</translation> + </message> +</context> +<context> + <name>NewsListing</name> + <message> + <source>Click to read more...</source> + <translation>Klicken Sie hier für weiterführende Informationen...</translation> + </message> +</context> +<context> + <name>RecentProjects</name> + <message> + <source>Recently Edited Projects</source> + <translation>Zuletzt bearbeitete Projekte</translation> + </message> +</context> +<context> + <name>RecentSessions</name> + <message> + <source>Recently Used Sessions</source> + <translation>Zuletzt benutzte Sitzungen</translation> + </message> + <message> + <source>%1 (current session)</source> + <translation>%1 (aktuelle Sitzung)</translation> + </message> +</context> +<context> + <name>ProjectWelcomePageWidget</name> + <message> + <source>%1 (last session)</source> + <translation>%1 (zuletzt benutzt)</translation> + </message> + <message> + <source>%1 (current session)</source> + <translation>%1 (aktuelle Sitzung)</translation> + </message> + <message> + <source>New Project</source> + <translation>Neues Projekt</translation> + </message> +</context> +<context> + <name>QtSupport::Internal::GettingStartedWelcomePage</name> + <message> + <source>Getting Started</source> + <translation>Schnelleinstieg</translation> + </message> + <message> + <source>Copy Project to writable Location?</source> + <translation>Projekt kopieren?</translation> + </message> + <message> + <source><p>The project you are about to open is located in the write-protected location:</p><blockquote>%1</blockquote><p>Please select a writable location below and click "Copy Project and Open" to open a modifiable copy of the project or click "Keep Project and Open" to open the project in location.</p><p><b>Note:</b> You will not be able to alter or compile your project in the current location.</p></source> + <translation><p>Das zu öffnende Projekt befindet sich in einem schreibgeschützten Verzeichnis:</p><blockquote>%1</blockquote><p>Bitte geben Sie ein schreibbares Verzeichnis an und wählen dann "Kopieren und öffne Projekt", um eine modifizierbare Kopie des Projektes erhalten, oder "Öffne Projekt hier", um das Projekt im gegenwärtigen Verzeichnis zu öffnen</p><p><b>Hinweis:</b> Im gegenwärtigen.Verzeichnis kann das Projekt weder compiliert noch modifiziert werden.</p></translation> + </message> + <message> + <source>&Location:</source> + <translation>&Ziel:</translation> + </message> + <message> + <source>&Copy Project and Open</source> + <translation>&Kopiere und öffne Projekt</translation> + </message> + <message> + <source>&Keep Project and Open</source> + <translation>&Öffne Projekt hier</translation> + </message> + <message> + <source>Cannot Use Location</source> + <translation>Ziel kann nicht verwendet werden</translation> + </message> + <message> + <source>The specified location already exists. Please specify a valid location.</source> + <translation>Der angegebene Pfad existiert bereits. Bitte geben Sie einen gültigen Pfad ein.</translation> + </message> + <message> + <source>Cannot Copy Project</source> + <translation>Fehler beim Kopieren des Projekts</translation> + </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::QtQuickComponentSetOptionsPage</name> + <message> + <source>Select QML File</source> + <translation>QML-Datei auswählen</translation> + </message> +</context> +<context> + <name>TagBrowser</name> + <message> + <source>Please choose a tag to filter for:</source> + <translation>Bitte wählen Sie ein Schlüsselwort für das Filter: </translation> + </message> + <message> + <source>Clear</source> + <translation>Löschen</translation> + </message> +</context> +<context> + <name>Analyzer::AnalyzerManagerPrivate</name> + <message> + <source>&Analyze</source> + <translation>&Analyse</translation> + </message> + <message> + <source>Start</source> + <translation>Starten</translation> + </message> + <message> + <source>Stop</source> + <translation>Anhalten</translation> + </message> + <message> + <source>Analyzer Toolbar</source> + <translation>Analyse-Werkzeugleiste</translation> + </message> + <message> + <source><html><head/><body><center><i>%1</i> is still running. You have to quit the Analyzer before being able to run another instance.<center/><center>Force it to quit?</center></body></html></source> + <translation><html><head/><body><center><i>%1</i> läuft noch. Sie müssen die Analyse zuerst beenden, bevor der nächste Lauf gestartet werden kann.<center/><center>Soll er beendet werden?</center></body></html></translation> + </message> + <message> + <source>Analyzer Still Running</source> + <translation>Analyse läuft noch</translation> + </message> + <message> + <source>Stop Active Run</source> + <translation>Beenden</translation> + </message> + <message> + <source>Keep Running</source> + <translation>Fortsetzen</translation> + </message> + <message> + <source>Debug</source> + <translation></translation> + </message> + <message> + <source>Release</source> + <translation>Release</translation> + </message> + <message> + <source>Run %1 in %2 Mode?</source> + <translation>Soll %1 im Modus %2 ausgeführt werden?</translation> + </message> + <message> + <source><html><head/><body><p>You are trying to run the tool "%1" on an application in %2 mode. The tool is designed to be used in %3 mode.</p><p>Do you want to continue and run it in %2 mode?</p></body></html></source> + <translation><html><head/><body><p>Sie versuchen, das Werkzeug '%1' mit einer Anwendung im Modus %2 zu betreiben. Das Werkzeug ist zur Verwendung im Modus %3 vorgesehen.</p><p>Möchten Sie trotzdem fortsetzen und es im Modus %2 laufen lassen?</p></body></html></translation> + </message> + <message> + <source>&Do not ask again</source> + <translation>&Nicht noch einmal nachfragen</translation> + </message> + <message> + <source>An analysis is still in progress.</source> + <translation>Die Analyse läuft noch.</translation> + </message> + <message> + <source>No analyzer tool selected.</source> + <translation>Es ist kein Analysewerkzeug ausgewählt.</translation> + </message> +</context> +<context> + <name>QmlProfiler::Internal::QmlProfilerEventStatistics</name> + <message> + <source>Source code not available</source> + <translation>Kein Quellcode verfügbar</translation> + </message> + <message> + <source><bytecode></source> + <translation><bytecode></translation> + </message> +</context> +<context> + <name>QmlProfiler::Internal::QmlProfilerEventsView</name> + <message> + <source>Location</source> + <translation>Pfad</translation> + </message> + <message> + <source>Type</source> + <translation>Typ</translation> + </message> + <message> + <source>Time in Percent</source> + <translation>Zeit in Prozent</translation> + </message> + <message> + <source>Total Time</source> + <translation>Summe der Zeit</translation> + </message> + <message> + <source>Calls</source> + <translation>Aufrufe</translation> + </message> + <message> + <source>Time per Call</source> + <translation>Zeit pro Aufruf</translation> + </message> + <message> + <source>Longest Time</source> + <translation>Längste Zeit</translation> + </message> + <message> + <source>Shortest Time</source> + <translation>Kürzeste Zeit</translation> + </message> + <message> + <source>Details</source> + <translation></translation> + </message> + <message> + <source>Paint</source> + <translation>Paint</translation> + </message> + <message> + <source>Compile</source> + <translation>Compilierung</translation> + </message> + <message> + <source>Create</source> + <translation>Erstellung</translation> + </message> + <message> + <source>Binding</source> + <translation>Binding</translation> + </message> + <message> + <source>Signal</source> + <translation>Signal</translation> + </message> +</context> +<context> + <name>Valgrind::Internal::ValgrindRunControlFactory</name> + <message> + <source>Analyzer</source> + <translation>Analyse</translation> + </message> +</context> +<context> + <name>QmlProfiler::Internal::QmlProfilerRunControlFactory</name> + <message> + <source>QML Profiler</source> + <translation>QML-Profiler</translation> + </message> +</context> +<context> + <name>QmlProfiler::Internal::TraceWindow</name> + <message> + <source>Jump to previous event</source> + <translation>Gehe zu vorangehendem Ereignis</translation> + </message> + <message> + <source>Jump to next event</source> + <translation>Gehe zu nächstem Ereignis</translation> + </message> + <message> + <source>Zoom in 10%</source> + <translation>Vergrößere um 10%</translation> + </message> + <message> + <source>Zoom out 10%</source> + <translation>Verkleinere um 10%</translation> + </message> +</context> +<context> + <name>RemoteLinux::Internal::RemoteLinuxRunConfigurationFactory</name> + <message> + <source> (on Remote Generic Linux Host)</source> + <translation> (auf entferntem, generischem Linux-Host)</translation> + </message> +</context> +<context> + <name>CodePaster::PasteBinDotComProtocol</name> + <message> + <source><Unknown></source> + <extracomment>Unknown user of paste.</extracomment> + <translation><Unbekannt></translation> + </message> +</context> </TS> diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts index 8e643aea1dafd856d2c30aa7e8d8490d827b4c02..b774f765d730f45da73c241adff0f129e7aab285 100644 --- a/share/qtcreator/translations/qtcreator_pl.ts +++ b/share/qtcreator/translations/qtcreator_pl.ts @@ -208,26 +208,10 @@ <source>Subversion Submit</source> <translation>Wyślij do Subversion</translation> </message> - <message> - <source>Des&cription</source> - <translation type="obsolete">&Opis</translation> - </message> <message> <source>F&iles</source> <translation>Pl&iki</translation> </message> - <message numerus="yes"> - <source>Commit %1/%n Files</source> - <translation type="obsolete"> - <numerusform>Commit %1/%n Plik</numerusform> - <numerusform>Commit %1/%n Plików</numerusform> - <numerusform>Commit %1/%n Plików</numerusform> - </translation> - </message> - <message> - <source>Commit</source> - <translation type="obsolete">Commit</translation> - </message> <message numerus="yes"> <source>%1 %2/%n File(s)</source> <translation type="unfinished"> @@ -310,10 +294,6 @@ </context> <context> <name>Core::Internal::GeneralSettings</name> - <message> - <source>Reset to default</source> - <translation>Przywróć domyślne</translation> - </message> <message> <source>Terminal:</source> <translation>Terminal:</translation> @@ -382,10 +362,6 @@ <source>Reset</source> <translation>Reset</translation> </message> - <message> - <source>If checked, temporary copies of modified files will be created automatically. If Qt Creator is restarted after a crash or power failure, it will ask whether the auto-saved content should be recovered.</source> - <translation type="unfinished"></translation> - </message> <message> <source>Auto-save modified files</source> <translation>Automatycznie zachowuj zmodyfikowane pliki</translation> @@ -399,6 +375,25 @@ <extracomment>unit for minutes</extracomment> <translation>min</translation> </message> + <message> + <source>Automatically create temporary copies of modified files. If Qt Creator is restarted after a crash or power failure, it asks whether to recover the auto-saved content.</source> + <translation>Automatycznie tworzy kopie tymczasowe zmodyfikowanych plików. Jeśli Qt Creator zostanie uruchomiony po błędnym zakończeniu, będzie można przywrócić automatycznie zachowaną zawartość.</translation> + </message> + <message> + <source>Reset to default.</source> + <comment>Color</comment> + <translation>Przywróć domyślny.</translation> + </message> + <message> + <source>Reset to default.</source> + <comment>Terminal</comment> + <translation>Przywróć domyślny.</translation> + </message> + <message> + <source>Reset to default.</source> + <comment>File Browser</comment> + <translation>Przywróć domyślną.</translation> + </message> </context> <context> <name>PasteBinComSettingsWidget</name> @@ -518,10 +513,6 @@ p, li { white-space: pre-wrap; } </context> <context> <name>CompletionSettingsPage</name> - <message> - <source>Automatically insert (, ) and ; when appropriate.</source> - <translation>Kiedy należy, automatycznie wstawiaj "(", ")" i ";".</translation> - </message> <message> <source>&Automatically insert brackets</source> <translation>&Automatycznie wstawiaj nawiasy</translation> @@ -574,6 +565,10 @@ p, li { white-space: pre-wrap; } <source>Always</source> <translation>Zawsze</translation> </message> + <message> + <source>Automatically insert brackets and semicolons when appropriate.</source> + <translation>Automatycznie wstawia nawiasy i średniki gdy wymaga tego składnia.</translation> + </message> </context> <context> <name>CppFileSettingsPage</name> @@ -665,7 +660,7 @@ p, li { white-space: pre-wrap; } </message> <message> <source>Override &Start script:</source> - <translation type="unfinished"></translation> + <translation>Nadpisz skrypt &startowy:</translation> </message> </context> <context> @@ -685,10 +680,6 @@ p, li { white-space: pre-wrap; } </context> <context> <name>CommonOptionsPage</name> - <message> - <source>Checking this will populate the source file view automatically but might slow down debugger startup considerably.</source> - <translation>Ustawienie tej opcji spowoduje automatyczne wypełnianie widoku pliku źródłowego, lecz może znacznie spowolnić uruchamianie debuggera.</translation> - </message> <message> <source>Populate source file view automatically</source> <translation>Wypełniaj automatycznie widok pliku źródłowego</translation> @@ -701,10 +692,6 @@ p, li { white-space: pre-wrap; } <source>Use tooltips in main editor while debugging</source> <translation>Używaj podpowiedzi w głównym edytorze podczas debugowania</translation> </message> - <message> - <source>Maximal stack depth:</source> - <translation>Maksymalna głębokość stosu:</translation> - </message> <message> <source><unlimited></source> <translation><nieograniczony></translation> @@ -742,20 +729,20 @@ p, li { white-space: pre-wrap; } <translation>Rozmiar czcionki debuggera wzięty z głównego edytora</translation> </message> <message> - <source>Selecting this results in font size changes in the debugger views whenever the font size in the main editor changes.</source> - <translation>Zaznaczenie tego spowoduje natychmiastową zmianę rozmiaru czcionki w oknach debuggera pod wpływem zmiany rozmiaru czcionki w głównym edytorze.</translation> + <source>Change the font size in the debugger views when the font size in the main editor changes.</source> + <translation>Zmieniaj rozmiar czcionki w widokach debuggera, gdy zostanie on zmieniony w głównym edytorze.</translation> </message> -</context> -<context> - <name>DebuggingHelperOptionPage</name> <message> - <source>Use debugging helper from custom location</source> - <translation type="obsolete">Używaj asystenta debuggera z innego położenia</translation> + <source>Populate the source file view automatically. This might slow down debugger startup considerably.</source> + <translation>Automatycznie wypełniaj widok plików źródłowych. Może to znacznie spowolnić proces uruchamiania debuggera.</translation> </message> <message> - <source>Location: </source> - <translation type="obsolete">Położenie:</translation> + <source>Maximum stack depth:</source> + <translation>Maksymalna głębokość stosu:</translation> </message> +</context> +<context> + <name>DebuggingHelperOptionPage</name> <message> <source>Makes use of Qt Creator's code model to find out if a variable has already been assigned a value at the point the debugger interrupts.</source> <translation>Korzysta z modelu kodu Qt Creatora w celu zbadania czy wartość została już przypisana do zmiennej w chwili przerwania debuggera.</translation> @@ -768,12 +755,6 @@ p, li { white-space: pre-wrap; } <source>Use Debugging Helper</source> <translation>Używaj asystenta debuggera</translation> </message> - <message> - <source><html><head/><body> -<p>The debugging helper is only used to produce a nice display of objects of certain types like QString or std::map in the &quot;Locals and Watchers&quot; view. It is not strictly necessary for debugging with Qt Creator. </p></body></html></source> - <translation><html><head/><body> -<p>Asystent debuggera jest używany do ładnego formatowania danych w widoku &quot;Zmienne lokalne i obserwowane&quot; dla obiektów niektórych typów takich jak QString lub std::map. Nie jest on niezbędny do debugowania w Qt Creatorze.</p></body></html></translation> - </message> <message> <source>Displays names of QThread based threads.</source> <translation>Wyświetlaj nazwy wątków wywiedzionych z QThread.</translation> @@ -782,6 +763,12 @@ p, li { white-space: pre-wrap; } <source>Display thread names</source> <translation>Wyświetlaj nazwy wątków</translation> </message> + <message> + <source><html><head/><body> +<p>The debugging helper is only used to produce a nice display of objects of certain types like QString or std::map in the &quot;Locals and Expressions&quot; view. It is not strictly necessary for debugging with Qt Creator. </p></body></html></source> + <translation><html><head/><body> +<p>Asystent debuggera jest używany do ładnego formatowania danych w widoku &quot;Zmienne lokalne i wyrażenia&quot; dla obiektów niektórych typów takich jak QString lub std::map. Nie jest on niezbędny do debugowania w Qt Creatorze.</p></body></html></translation> + </message> </context> <context> <name>GdbOptionsPage</name> @@ -789,10 +776,6 @@ p, li { white-space: pre-wrap; } <source>This is the slowest but safest option.</source> <translation>To jest najwolniejsza, ale i zarazem najbezpieczniejsza opcja.</translation> </message> - <message> - <source>Try to set breakpoints in plugins always automatically.</source> - <translation type="obsolete">Zawsze próbuj automatycznie ustawiać pułapki we wtyczkach.</translation> - </message> <message> <source>Try to set breakpoints in selected plugins</source> <translation>Próbuj ustawiać pułapki w wybranych wtyczkach</translation> @@ -805,18 +788,6 @@ p, li { white-space: pre-wrap; } <source>Never set breakpoints in plugins automatically</source> <translation>Nigdy automatycznie nie ustawiaj pułapek we wtyczkach</translation> </message> - <message> - <source>This is the number of seconds Qt Creator will wait before -it terminates non-responsive gdb process. The default value of 20 seconds -should be sufficient for most applications, but there are situations when -loading big libraries or listing source files takes much longer than that -on slow machines. In this case, the value should be increased.</source> - <translation type="obsolete">Jest to czas wyrażony w sekundach przez który Qt Creator będzie oczekiwał na odpowiedź -od procesu gdb zanim go zakończy. Domyślna wartość 20 sekund powinna być -wystarczająca dla większości aplikacji, lecz mogą zdarzyć się sytuacje że ładowanie -bibliotek o dużych rozmiarach lub wyświetlanie plików źródłowych zajmie dużo więcej -czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać zwiększona.</translation> - </message> <message> <source>Enable reverse debugging</source> <translation>Włącz debugowanie wsteczne</translation> @@ -861,10 +832,6 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <source>GDB timeout:</source> <translation>Czas oczekiwania GDB:</translation> </message> - <message> - <source>When this option is checked, 'Step Into' compresses several steps into one in certain situations, leading to 'less noisy' debugging. So will, e.g., the atomic reference counting code be skipped, and a single 'Step Into' for a signal emission will end up directly in the slot connected to it.</source> - <translation type="obsolete">Kiedy ta opcja jest zaznaczona "Wskocz do wnętrza" kompresuje w pewnych sytuacjach kilka kroków w jeden, co prowadzi do przejrzystszego debugowania. I tak np. kod atomowego licznika referencji będzie pominięty, a pojedyncze "Wskocz do wnętrza" dla emisji sygnału wskoczy bezpośrednio do podłączonego slotu.</translation> - </message> <message> <source>This will show a message box as soon as your application receives a signal like SIGSEGV during debugging.</source> <translation>Okno z komunikatem zostanie wyświetlone zaraz po otrzymaniu przez aplikację sygnału SIGSEGV lub innego podobnego.</translation> @@ -873,14 +840,6 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <source>This allows or inhibits reading the user's default .gdbinit file on debugger startup.</source> <translation>Zaznaczenie tego umożliwia debuggerowi przeczytanie domyślnego pliku użytkownika .gdbinit przy uruchamianiu.</translation> </message> - <message> - <source>GDB allows setting breakpoints on source lines for which no code was generated. In such situations the breakpoint is shifted to the next source code line for which code was actually generated. This option reflects such temporary change by moving the breakpoint markers in the source code editor.</source> - <translation type="obsolete">GDB umożliwia ustawianie pułapek w liniach źródłowych, dla których nie został wygenerowany żaden kod wykonywalny. W takich przypadkach pułapki są przesuwane do następnej linii, dla której kod wygenerowano. Zaznaczenie tej opcji odzwierciedli takie sytuacje poprzez przesunięcie znaczników pułapek w edytorze kodu źródłowego.</translation> - </message> - <message> - <source>Enable reverse debugging Selecting this enables reverse debugging. NOTE: This feature is very slow and unstable on the GDB side. It exhibits unpredictable behaviour when going backwards over system calls and is very likely to destroy your debugging session.</source> - <translation type="obsolete">Zaznaczenie tego włącza debugowanie wsteczne. Uwaga: ta funkcja jest bardzo wolna i niestabilna po stronie GDB. Kroczenie wstecz nad wywołaniami systemowymi zachowuje się w sposób nieprzewidywalny i może łatwo zniszczyć sesję debugową.</translation> - </message> <message> <source>This is the number of seconds Qt Creator will wait before it terminates a non-responsive GDB process. The default value of 20 seconds @@ -896,23 +855,24 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <message> <source>Allows 'Step Into' to compress several steps into one step for less noisy debugging. For example, the atomic reference counting code is skipped, and a single 'Step Into' for a signal emission ends up directly in the slot connected to it.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Try to set breakpoints in plugins always automatically</source> - <translation type="unfinished"></translation> + <translation>Kiedy ta opcja jest zaznaczona "Wskocz do wnętrza" kompresuje w pewnych sytuacjach kilka kroków w jeden, co prowadzi do przejrzystszego debugowania. +I tak np. kod atomowego licznika referencji będzie pominięty, a pojedyncze "Wskocz do wnętrza" dla emisji sygnału wskoczy bezpośrednio do podłączonego slotu.</translation> </message> <message> <source><html><head/></body><p>GDB allows setting breakpoints on source lines for which no code was generated. In such situations the breakpoint is shifted to the next source code line for which code was actually generated. This option reflects such temporary change by moving the breakpoint markers in the source code editor.</p></body></html></source> - <translation type="unfinished"></translation> + <translation><html><head/></body><p>GDB umożliwia ustawianie pułapek w liniach źródłowych, dla których nie został wygenerowany żaden kod wykonywalny. W takich przypadkach pułapki są przesuwane do następnej linii, dla której wygenerowano kod. Zaznaczenie tej opcji zostanie odzwierciedlone poprzez przesunięcie znaczników pułapek w edytorze kodu źródłowego.</p></body></html></translation> </message> <message> <source>Stop when a qWarning is issued</source> - <translation type="unfinished"></translation> + <translation>Zatrzymaj kiedy wystąpi qWarning</translation> </message> <message> <source><html><head/><body><p>Selecting this enables reverse debugging.</p><.p><b>Note:</b>This feature is very slow and unstable on the GDB side. It exhibits unpredictable behaviour when going backwards over system calls and is very likely to destroy your debugging session.</p><body></html></source> - <translation type="unfinished"></translation> + <translation><html><head/><body><p>Zaznaczenie tego włącza debugowanie wsteczne. </p><.p><b>Uwaga:</b> ta funkcja jest bardzo wolna i niestabilna po stronie GDB. Kroczenie wstecz nad wywołaniami systemowymi zachowuje się w sposób nieprzewidywalny i może łatwo zniszczyć sesję debugową.</p><body></html></translation> + </message> + <message> + <source>Always try to set breakpoints in plugins automatically</source> + <translation>Zawsze próbuj automatycznie ustawiać pułapki we wtyczkach</translation> </message> </context> <context> @@ -970,7 +930,7 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać </message> <message> <source>Sys&root:</source> - <translation>Główny &katalog systemu:</translation> + <translation>Sys&root:</translation> </message> <message> <source>&Use server start script:</source> @@ -985,8 +945,8 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <translation>Startowy skrypt &serwera:</translation> </message> <message> - <source>Override S&tart script:</source> - <translation type="unfinished"></translation> + <source>Override s&tart script:</source> + <translation>Nadpisz skrypt s&tartowy:</translation> </message> </context> <context> @@ -1117,10 +1077,6 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <source>Show position of text marks</source> <translation>Pokazuj znaczniki</translation> </message> - <message> - <source>Checking this box passes key sequences like Ctrl-S to the Creator core instead of interpreting them in FakeVim. This gives easier access to Creator core functionality at the price of losing some features of FakeVim.</source> - <translation>Wybranie tej opcji spowoduje przekazywanie do Creatora sekwencji klawiszy takich jak Ctrl-S zamiast interpretowania ich w FakeVimie. Daje to łatwiejszy dostęp do funkcjonalności Creatora w zamian za utratę pewnych cech FakeVima.</translation> - </message> <message> <source>Pass control key</source> <translation>Przekazuj klawisze kontrolne</translation> @@ -1129,6 +1085,10 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <source>Vim tabstop option</source> <translation>Opcja "tabstop" vima</translation> </message> + <message> + <source>Pass key sequences like Ctrl-S to Qt Creator core instead of interpreting them in FakeVim. This gives easier access to Qt Creator core functionality at the price of losing some features of FakeVim.</source> + <translation>Wybranie tej opcji spowoduje przekazywanie do Creatora sekwencji klawiszy takich jak Ctrl-S zamiast interpretowania ich w FakeVimie. Daje to łatwiejszy dostęp do funkcjonalności Creatora w zamian za utratę pewnych cech FakeVima.</translation> + </message> </context> <context> <name>Find::Internal::FindDialog</name> @@ -1230,24 +1190,8 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <translation>Gałęzie</translation> </message> <message> - <source>Checkout</source> - <translation>Kopia robocza</translation> - </message> - <message> - <source>Diff</source> - <translation>Pokaż różnice</translation> - </message> - <message> - <source>Log</source> - <translation>Log</translation> - </message> - <message> - <source>Refresh</source> - <translation>Odśwież</translation> - </message> - <message> - <source>Delete...</source> - <translation>Usuń...</translation> + <source>Would you like to delete the <b>unmerged</b> branch '%1'?</source> + <translation>Czy chcesz usunąć <b>niescaloną</b> gałąź "%1"?</translation> </message> <message> <source>Delete Branch</source> @@ -1258,36 +1202,28 @@ czasu na powolnych maszynach. W takich przypadkach wartość ta powinna zostać <translation>Czy chcesz usunąć gałąź "%1"?</translation> </message> <message> - <source>Failed to delete branch</source> - <translation>Nie można usunąć gałęzi</translation> - </message> - <message> - <source>Failed to create branch</source> - <translation>Nie można utworzyć gałęzi</translation> - </message> - <message> - <source>Failed to stash</source> - <translation>Nie można odłożyć zmian</translation> + <source>Re&fresh</source> + <translation>&Odśwież</translation> </message> <message> - <source>Checkout failed</source> - <translation>Błąd tworzenia kopii roboczej</translation> + <source>&Add...</source> + <translation>&Dodaj...</translation> </message> <message> - <source>Would you like to create a local branch '%1' tracking the remote branch '%2'?</source> - <translation>Czy chcesz utworzyć lokalną gałąź "%1" śledzącą zdalną gałąź "%2"?</translation> + <source>&Remove</source> + <translation>&Usuń</translation> </message> <message> - <source>Create branch</source> - <translation>Utwórz gałąź</translation> + <source>&Diff</source> + <translation>Pokaż &różnice</translation> </message> <message> - <source>Failed to create a tracking branch</source> - <translation>Nie można utworzyć gałęzi śledzącej</translation> + <source>&Log</source> + <translation>&Log</translation> </message> <message> - <source>Remote Branches</source> - <translation>Zdalne gałęzie</translation> + <source>&Checkout</source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -1788,14 +1724,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </context> <context> <name>ProjectExplorer::Internal::EditorSettingsPropertiesPage</name> - <message> - <source>Use global settings</source> - <translation type="obsolete">Użyj ustawień globalnych</translation> - </message> - <message> - <source>Restore Global Values</source> - <translation type="obsolete">Przywróć wartości globalne</translation> - </message> <message> <source>Editor settings:</source> <translation>Ustawienia edytora:</translation> @@ -1850,10 +1778,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum <source>Current directory</source> <translation>Bieżący katalog</translation> </message> - <message> - <source>directoryButtonGroup</source> - <translation type="obsolete">grupaPrzyciskówKatalogu</translation> - </message> <message> <source>Directory</source> <translation>Katalog</translation> @@ -1900,11 +1824,11 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </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> - <translation type="unfinished"></translation> + <translation>Włączenie tej opcji spowoduje zachowanie kolejności komunikatów z stdout i stderr kosztem braku podświetlania komunikatów stderr.</translation> </message> <message> <source>Merge stderr and stdout</source> - <translation type="unfinished"></translation> + <translation>Połącz stderr z stdout</translation> </message> <message> <source>Limit application output to </source> @@ -1915,45 +1839,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum <translation>linii</translation> </message> </context> -<context> - <name>ProjectExplorer::Internal::ProjectWelcomePageWidget</name> - <message> - <source>Form</source> - <translation>Formularz</translation> - </message> - <message> - <source>Manage Sessions...</source> - <translation>Zarządzanie sesjami...</translation> - </message> - <message> - <source>%1 (last session)</source> - <translation>%1 (ostatnia sesja)</translation> - </message> - <message> - <source>%1 (current session)</source> - <translation>%1 (bieżąca sesja)</translation> - </message> - <message> - <source>New Project</source> - <translation>Nowy projekt</translation> - </message> - <message> - <source>Recent Sessions</source> - <translation>Ostatnie sesje</translation> - </message> - <message> - <source>Recent Projects</source> - <translation>Ostatnie projekty</translation> - </message> - <message> - <source>Create Project...</source> - <translation>Utwórz projekt...</translation> - </message> - <message> - <source>Open Project...</source> - <translation>Otwórz projekt...</translation> - </message> -</context> <context> <name>ProjectWelcomePage</name> <message> @@ -2252,18 +2137,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </context> <context> <name>Qt4ProjectManager::Internal::GettingStartedWelcomePageWidget</name> - <message> - <source>Form</source> - <translation>Formularz</translation> - </message> - <message> - <source>Tutorials</source> - <translation>Samouczki</translation> - </message> - <message> - <source>Did You Know?</source> - <translation>Czy wiesz, że...?</translation> - </message> <message> <source>The Qt Creator User Interface</source> <translation>Interfejs użytkownika Qt Creatora</translation> @@ -2400,34 +2273,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum <source>In the editor, <tt>F2</tt> follows symbol definition, <tt>Shift+F2</tt> toggles declaration and definition while <tt>F4</tt> toggles header file and source file.</source> <translation>Naciśnięcie w edytorze <tt>F2</tt> powoduje skok do definicji symbolu, <tt>Shift+F2</tt> przełącza między deklaracją a definicją, zaś <tt>F4</tt> przełącza między plikiem nagłówkowym a plikiem źródłowym.</translation> </message> - <message> - <source>Create Project...</source> - <translation>Utwórz projekt...</translation> - </message> - <message> - <source>Open Project...</source> - <translation>Otwórz projekt...</translation> - </message> - <message> - <source>Examples</source> - <translation>Przykłady</translation> - </message> - <message> - <source>Featured</source> - <translation>Przedstawiamy</translation> - </message> - <message> - <source>Explore Qt C++ examples:</source> - <translation>Poznaj dogłębnie przykłady Qt C++:</translation> - </message> - <message> - <source>Examples Not Installed...</source> - <translation>Przykłady nie są zainstalowane...</translation> - </message> - <message> - <source>Explore Qt Quick examples:</source> - <translation>Poznaj dogłębnie przykłady Qt Quick:</translation> - </message> </context> <context> <name>MakeStep</name> @@ -2462,10 +2307,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum <source>Release</source> <translation>Release</translation> </message> - <message> - <source>Debug and release</source> - <translation type="obsolete">Debug i release</translation> - </message> <message> <source>Link QML debugging library:</source> <translation>Dowiąż bibliotekę debugującą QML:</translation> @@ -2562,25 +2403,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum <translation>Katalog wersji:</translation> </message> </context> -<context> - <name>Qt4ProjectManager::Internal::QtVersionManager</name> - <message> - <source>Name</source> - <translation type="obsolete">Nazwa</translation> - </message> - <message> - <source>qmake Location</source> - <translation type="obsolete">Położenie qmake</translation> - </message> - <message> - <source>Add</source> - <translation type="obsolete">Dodaj</translation> - </message> - <message> - <source>Remove</source> - <translation type="obsolete">Usuń</translation> - </message> -</context> <context> <name>ShowBuildLog</name> <message> @@ -2828,14 +2650,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </context> <context> <name>Welcome::Internal::CommunityWelcomePageWidget</name> - <message> - <source>Form</source> - <translation>Formularz</translation> - </message> - <message> - <source>News From the Qt Labs</source> - <translation>Nowiny z Qt Labs</translation> - </message> <message> <source><b>Qt LGPL Support</b><br /><font color='gray'>Buy commercial Qt support</font></source> <translation><b>Wsparcie techniczne Qt LGPL</b><br /><font color='gray'>Kup profesjonalne wsparcie techniczne Qt</font></translation> @@ -2865,41 +2679,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum <extracomment>Add localized feed here only if one exists</extracomment> <translation>http://labs.trolltech.com/blogs/feed</translation> </message> - <message> - <source>Qt Support Sites</source> - <translation>Strony wsparcia technicznego Qt</translation> - </message> - <message> - <source>Qt Links</source> - <translation>Strony o Qt</translation> - </message> -</context> -<context> - <name>Welcome::WelcomeMode</name> - <message> - <source>#headerFrame { - border-image: url(:/welcome/images/center_frame_header.png) 0; - border-width: 0; -} -</source> - <translation>#headerFrame { - border-image: url(:/welcome/images/center_frame_header.png) 0; - border-width: 0; -} -</translation> - </message> - <message> - <source>Help us make Qt Creator even better</source> - <translation>Pomóż nam ulepszyć Qt Creatora</translation> - </message> - <message> - <source>Feedback</source> - <translation>Wyraź opinię</translation> - </message> - <message> - <source>Welcome</source> - <translation type="obsolete">Powitanie</translation> - </message> </context> <context> <name>BookmarkDialog</name> @@ -3007,10 +2786,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum <source>Failed to load core: %1</source> <translation>Nie można załadować zrzutu: %1</translation> </message> - <message> - <source>Unable to send command line arguments to the already running instance. It appears to be not responding.</source> - <translation type="obsolete">Nie można wysłać argumentów do uruchomionego programu. Wygląda na to, że program nie odpowiada.</translation> - </message> <message> <source>Could not send message</source> <translation>Nie można wysłać komunikatu</translation> @@ -3081,7 +2856,7 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </message> <message> <source>Description successfully read</source> - <translation>Opis pomyślnie wczytany</translation> + <translation>Opis poprawnie wczytany</translation> </message> <message> <source>Resolved</source> @@ -3089,7 +2864,7 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </message> <message> <source>Dependencies are successfully resolved</source> - <translation>Zależności zostały pomyślnie rozwiązane</translation> + <translation>Zależności zostały poprawnie rozwiązane</translation> </message> <message> <source>Loaded</source> @@ -3105,7 +2880,7 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </message> <message> <source>Plugin's initialization method succeeded</source> - <translation>Inicjalizacja wtyczki zakończona pomyślnie</translation> + <translation>Inicjalizacja wtyczki poprawnie zakończona</translation> </message> <message> <source>Running</source> @@ -3113,7 +2888,7 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum </message> <message> <source>Plugin successfully loaded and running</source> - <translation>Wtyczka pomyślnie załadowana i uruchomiona</translation> + <translation>Wtyczka poprawnie załadowana i uruchomiona</translation> </message> <message> <source>Stopped</source> @@ -3160,15 +2935,7 @@ Przyczyna: %3</translation> <context> <name>ExtensionSystem::Internal::PluginSpecPrivate</name> <message> - <source>File does not exist: %1</source> - <translation type="obsolete">Plik %1 nie istnieje</translation> - </message> - <message> - <source>Could not open file for read: %1</source> - <translation type="obsolete">Nie można otworzyć pliku %1 do zapisu</translation> - </message> - <message> - <source>Could not open file %1 for read: %2</source> + <source>Cannot open file %1 for reading: %2</source> <translation>Nie można otworzyć pliku %1 do odczytu: %2</translation> </message> <message> @@ -3816,14 +3583,6 @@ Przyczyna: %3</translation> <source>Unable to create the directory %1.</source> <translation>Nie można utworzyć katalogu %1.</translation> </message> - <message> - <source>Unable to open %1 for writing: %2</source> - <translation type="obsolete">Nie można otworzyć %1 do zapisu: %2</translation> - </message> - <message> - <source>Error while writing to %1: %2</source> - <translation type="obsolete">Błąd podczas zapisywania do %1: %2</translation> - </message> <message> <source>File Generation Failure</source> <translation>Błąd w trakcie generowania pliku</translation> @@ -3844,10 +3603,6 @@ Przyczyna: %3</translation> <source> [folder]</source> <translation> [katalog]</translation> </message> - <message> - <source> [directory]</source> - <translation type="obsolete"> [katalog]</translation> - </message> <message> <source> [symbolic link]</source> <translation> [dowiązanie symboliczne]</translation> @@ -3858,14 +3613,6 @@ Przyczyna: %3</translation> <translation>Katalog projektu %1 zawiera pliki, które nie moga być nadpisane: %2.</translation> </message> - <message> - <source>The following files already exist in the directory %1: -%2. -Would you like to overwrite them?</source> - <translation type="obsolete">Następujące pliki istnieją już w katalogu %1: -%2. -Czy chcesz je nadpisać?</translation> - </message> </context> <context> <name>Core::StandardFileWizard</name> @@ -3900,10 +3647,6 @@ Czy chcesz je nadpisać?</translation> <source>QMLJS Editor</source> <translation>Edytor QMLJS</translation> </message> - <message> - <source>.qmlproject Editor</source> - <translation type="obsolete">Edytor plików .qmlproject</translation> - </message> <message> <source>Qt Designer</source> <translation>Qt Designer</translation> @@ -4150,6 +3893,22 @@ Czy chcesz je nadpisać?</translation> <source>File Error</source> <translation>Błąd pliku</translation> </message> + <message> + <source>Cannot Open File</source> + <translation>Nie można otworzyć pliku</translation> + </message> + <message> + <source>Cannot open the file for editing with SCC.</source> + <translation>Nie można otworzyć pliku do edycji przez SCC.</translation> + </message> + <message> + <source>Cannot Set Permissions</source> + <translation>Nie można ustawić praw dostępu</translation> + </message> + <message> + <source>Cannot set permissions to writable.</source> + <translation>Nie można ustawić prawa do zapisu.</translation> + </message> <message> <source>Save %1 &As...</source> <translation>Zachowaj %1 j&ako...</translation> @@ -4162,33 +3921,17 @@ Czy chcesz je nadpisać?</translation> <source>Opening File</source> <translation>Otwieranie pliku</translation> </message> - <message> - <source>Cannot open file %1!</source> - <translation type="obsolete">Nie można otworzyć pliku %1!</translation> - </message> <message> <source>Make writable</source> <translation>Uczyń plik zapisywalnym</translation> </message> <message> - <source>Failed!</source> - <translation>Niepomyślnie zakończone!</translation> + <source>Qt Creator</source> + <translation>Qt Creator</translation> </message> <message> - <source>Could not open the file for editing with SCC.</source> - <translation>Nie udało się otworzyć pliku do edycji przez SCC.</translation> - </message> - <message> - <source>Could not set permissions to writable.</source> - <translation>Nie można ustawić prawa do zapisu.</translation> - </message> - <message> - <source>Qt Creator</source> - <translation>Qt Creator</translation> - </message> - <message> - <source><b>Warning:</b> You are changing a read-only file.</source> - <translation><b>Ostrzeżenie:</b> Zmieniasz plik, który jest tylko do odczytu.</translation> + <source><b>Warning:</b> You are changing a read-only file.</source> + <translation><b>Ostrzeżenie:</b> Zmieniasz plik, który jest tylko do odczytu.</translation> </message> <message> <source>&Save %1</source> @@ -4219,17 +3962,6 @@ Czy chcesz je nadpisać?</translation> <translation>Anuluj</translation> </message> </context> -<context> - <name>Core::Internal::EditorView</name> - <message> - <source>Placeholder</source> - <translation type="obsolete">Pojemnik</translation> - </message> - <message> - <source>Close</source> - <translation type="obsolete">Zamknij</translation> - </message> -</context> <context> <name>Core::Internal::OpenEditorsWidget</name> <message> @@ -4310,10 +4042,6 @@ Czy chcesz je nadpisać?</translation> <source>Cannot reload %1</source> <translation>Nie można przeładować %1</translation> </message> - <message> - <source>Save as ...</source> - <translation type="obsolete">Zachowaj jako ...</translation> - </message> </context> <context> <name>Core::Internal::MainWindow</name> @@ -4764,13 +4492,6 @@ Czy chcesz je nadpisać?</translation> <translation>Klasy</translation> </message> </context> -<context> - <name>CppTools::Internal::FunctionArgumentWidget</name> - <message> - <source>%1 of %2</source> - <translation type="obsolete">%1 z %2</translation> - </message> -</context> <context> <name>CppTools::Internal::CppCurrentDocumentFilter</name> <message> @@ -4804,14 +4525,6 @@ Czy chcesz je nadpisać?</translation> <source>Choose Location for New License Template File</source> <translation>Wybierz położenie nowego pliku z szablonem licencji</translation> </message> - <message> - <source>Template write error</source> - <translation type="obsolete">Błąd zapisywania szablonu</translation> - </message> - <message> - <source>Cannot write to %1: %2</source> - <translation type="obsolete">Nie można zapisać do %1: %2</translation> - </message> </context> <context> <name>CppTools::Internal::CppFindReferences</name> @@ -4822,10 +4535,6 @@ Czy chcesz je nadpisać?</translation> </context> <context> <name>CppTools::Internal::CppFunctionsFilter</name> - <message> - <source>Methods</source> - <translation type="obsolete">Metody</translation> - </message> <message> <source>Methods and functions</source> <translation>Metody i funkcje</translation> @@ -4840,10 +4549,6 @@ Czy chcesz je nadpisać?</translation> </context> <context> <name>CppTools::Internal::CppModelManager</name> - <message> - <source>Scanning</source> - <translation type="obsolete">Skanowanie</translation> - </message> <message> <source>Parsing</source> <translation>Parsowanie</translation> @@ -5077,11 +4782,7 @@ Czy chcesz je nadpisać?</translation> </message> <message> <source>Diff &Selected Files</source> - <translation type="unfinished">Pokaż różnice w &zaznaczonych plikach</translation> - </message> - <message> - <source>Diff Selected Files</source> - <translation type="obsolete">Pokaż różnice w zaznaczonych plikach</translation> + <translation>Pokaż różnice w &zaznaczonych plikach</translation> </message> <message> <source>&Undo</source> @@ -5097,7 +4798,7 @@ Czy chcesz je nadpisać?</translation> </message> <message> <source>Do you want to commit the change?</source> - <translation type="unfinished">Czy chcesz dokonać commitu na zmianie?</translation> + <translation type="unfinished">Czy chcesz wysłać zmianę?</translation> </message> <message> <source>The commit message check failed. Do you want to commit the change?</source> @@ -5125,16 +4826,12 @@ Czy chcesz je nadpisać?</translation> </message> <message> <source>Another commit is currently being executed.</source> - <translation type="unfinished">Trwa inny commit.</translation> + <translation type="unfinished">Trwa inna wysyłka.</translation> </message> <message> <source>There are no modified files.</source> <translation>Brak zmodyfikowanych plików.</translation> </message> - <message> - <source>Cannot create temporary file: %1</source> - <translation type="obsolete">Nie można utworzyć tymczasowego pliku: %1</translation> - </message> <message> <source>Would you like to discard your changes to the repository '%1'?</source> <translation>Czy chcesz porzucić zmiany w repozytorium "%1"?</translation> @@ -5212,10 +4909,6 @@ Czy chcesz je nadpisać?</translation> <source>Breakpoint Type:</source> <translation>Typ pułapki:</translation> </message> - <message> - <source>Watchpoint</source> - <translation type="obsolete">Warunkowa pułapka</translation> - </message> <message> <source>State:</source> <translation>Stan:</translation> @@ -5264,10 +4957,6 @@ Czy chcesz je nadpisać?</translation> <source>Engine:</source> <translation>Silnik:</translation> </message> - <message> - <source>Extra Information:</source> - <translation>Dodatkowe informacje:</translation> - </message> <message> <source>Line Number:</source> <translation>Numer linii:</translation> @@ -5288,6 +4977,10 @@ Czy chcesz je nadpisać?</translation> <source>Command:</source> <translation>Komenda:</translation> </message> + <message> + <source>Message:</source> + <translation>Komunikat:</translation> + </message> <message> <source>Condition:</source> <translation>Warunek:</translation> @@ -5405,10 +5098,6 @@ Czy chcesz je nadpisać?</translation> <source>Threads</source> <translation>Wątki</translation> </message> - <message> - <source>Watchpoint at 0x%1</source> - <translation type="obsolete">Warunkowa pułapka pod 0x%1</translation> - </message> <message> <source>Breakpoint will only be hit if this condition is met.</source> <translation>Program przerwie działanie w pułapce, tylko gdy ten warunek będzie spełniony.</translation> @@ -5733,10 +5422,6 @@ Czy chcesz je nadpisać?</translation> <source>Debugging Helper</source> <translation>Asystent debuggera</translation> </message> - <message> - <source>Choose DebuggingHelper Location</source> - <translation type="obsolete">Wybierz położenie asystenta debuggera</translation> - </message> <message> <source>Ctrl+Shift+F11</source> <translation>Ctrl+Shift+F11</translation> @@ -5783,7 +5468,7 @@ Qt Creator nie może się do niego podłączyć.</translation> </message> <message> <source>Select Sysroot</source> - <translation type="unfinished">Wybierz główny katalog systemu</translation> + <translation>Wybierz sysroot</translation> </message> <message> <source>Select Startup Script</source> @@ -5813,7 +5498,7 @@ Qt Creator nie może się do niego podłączyć.</translation> </message> <message> <source>Select Sysroot</source> - <translation>Wskaż główny katalog systemu</translation> + <translation>Wybierz sysroot</translation> </message> <message> <source>Select GDB Start Script</source> @@ -5823,10 +5508,6 @@ Qt Creator nie może się do niego podłączyć.</translation> <source>Select Server Start Script</source> <translation>Wybierz startowy skrypt serwera</translation> </message> - <message> - <source>Select Start Script</source> - <translation type="obsolete">Wybierz startowy skrypt</translation> - </message> </context> <context> <name>Debugger::Internal::AddressDialog</name> @@ -6146,12 +5827,6 @@ Może to spowodować uzyskanie błędnych rezultatów.</translation> <source>Processing queued commands</source> <translation>Przetwarzanie kolejki komend</translation> </message> - <message> - <source>The gdb process has not responded to a command within %1 seconds. This could mean it is stuck in an endless loop or taking longer than expected to perform the operation. -You can choose between waiting longer or abort debugging.</source> - <translation type="obsolete">Proces gdb nie odpowiedział na komendę po upływie %1 sekund. Może to oznaczać, że utknął on w nieskończonej pętli lub możliwość odpowiedzenia zajmuje mu więcej czasu, niż się spodziewano. -Możesz poczekać dłużej na odpowiedź lub przerwać debugowanie.</translation> - </message> <message> <source>The gdb process failed to start. Either the invoked program '%1' is missing, or you may have insufficient permissions to invoke the program. %2</source> @@ -6246,12 +5921,6 @@ Możesz poczekać dłużej na odpowiedź lub przerwać debugowanie.</numerusform <source>Cannot read symbols for module "%1".</source> <translation>Nie można odczytać symboli dla modułu "%1".</translation> </message> - <message> - <source>The GDB installed at %1 cannot find a valid python installation in its %2 subdirectory. -You may set the environment variable PYTHONPATH to point to your installation.</source> - <translation type="obsolete">GDB zainstalowany w %1 nie może odnaleźć poprawnej instalacji pythona w jego podkatalogu %2. -Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.</translation> - </message> <message> <source>Execution Error</source> <translation>Błąd uruchamiania</translation> @@ -6270,10 +5939,6 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< <source>Immediate return from function requested...</source> <translation>Zażądano natychmiastowego powrotu z funkcji...</translation> </message> - <message> - <source>Jumping out of bogus frame...</source> - <translation type="obsolete">Wyskakiwanie z błędnej ramki...</translation> - </message> <message> <source>Cannot read widget data: %1</source> <translation>Nie można odczytać danych widżetu: %1</translation> @@ -6348,31 +6013,6 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< <translation>Wybierz położenie pliku ze startowym skryptem</translation> </message> </context> -<context> - <name>Debugger::Internal::TrkGdbAdapter</name> - <message> - <source>Port specification missing.</source> - <translation type="obsolete">Nie podano portu.</translation> - </message> - <message> - <source>Unable to acquire a device on '%1'. It appears to be in use.</source> - <translation type="obsolete">Nie można pozyskać urządzenia na "%1". Wygląda, że jest w użyciu.</translation> - </message> - <message> - <source>Process started, PID: 0x%1, thread id: 0x%2, code segment: 0x%3, data segment: 0x%4.</source> - <translation type="obsolete">Proces uruchomiony, PID: 0x%1, identyfikator wątku: 0x%2, segment kodu: 0x%3, segment danych: 0x%4.</translation> - </message> - <message> - <source>The reported code segment address (0x%1) might be invalid. Symbol resolution or setting breakoints may not work.</source> - <translation type="obsolete">Przekazany adres segmentu kodu (0x%1) może być niepoprawny. Analiza symboli lub ustawianie pułapek może nie działać.</translation> - </message> - <message> - <source>Connecting to TRK server adapter failed: -</source> - <translation type="obsolete">Nie można połączyć się z adapterem serwera TRK: -</translation> - </message> -</context> <context> <name>Debugger::Internal::ModulesModel</name> <message> @@ -6549,10 +6189,6 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< <source>Open Disassembler</source> <translation>Otwórz deasembler</translation> </message> - <message> - <source>Open Memory Editor at %1</source> - <translation type="obsolete">Otwórz edytor pamięci z adresem %1</translation> - </message> <message> <source>Hexadecimal</source> <translation>Szesnastkowy</translation> @@ -6741,8 +6377,8 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< <translation>Otwórz deasembler w 0x%1</translation> </message> <message> - <source>Memory at Frame #%1 (%2) 0x%3)</source> - <translation type="unfinished"></translation> + <source>Memory at Frame #%1 (%2) 0x%3</source> + <translation>Pamięć pod ramką #%1 (%2) 0x%3</translation> </message> <message> <source>Frame #%1 (%2)</source> @@ -6898,22 +6534,6 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< </context> <context> <name>Debugger::Internal::WatchModel</name> - <message> - <source>decimal</source> - <translation type="obsolete">dziesiętny</translation> - </message> - <message> - <source>hexadecimal</source> - <translation type="obsolete">szesnastkowy</translation> - </message> - <message> - <source>binary</source> - <translation type="obsolete">binarny</translation> - </message> - <message> - <source>octal</source> - <translation type="obsolete">ósemkowy</translation> - </message> <message> <source><Edit></source> <translation><Zmodyfikuj></translation> @@ -6988,41 +6608,37 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< </context> <context> <name>Debugger::Internal::WatchWindow</name> - <message> - <source>Locals and Watchers</source> - <translation type="obsolete">Zmienne lokalne i obserwowane</translation> - </message> <message> <source>Automatic</source> <translation>Automatyczny</translation> </message> <message> <source>Add Data Breakpoint...</source> - <translation type="unfinished"></translation> + <translation>Dodaj pułapkę warunkową...</translation> </message> <message> <source>Add Data Breakpoint at Object's Address (0x%1)</source> - <translation type="unfinished"></translation> + <translation>Dodaj pułapkę warunkową pod adresem obiektu (0x%1)</translation> </message> <message> <source>Add Data Breakpoint at Referenced Address (0x%1)</source> - <translation type="unfinished"></translation> + <translation>Dodaj pułapkę warunkową pod wskazanym adresem (0x%1)</translation> </message> <message> <source>Add Data Breakpoint</source> - <translation type="unfinished"></translation> + <translation>Dodaj pułapkę warunkową</translation> </message> <message> <source>Setting a data breakpoint on an address will cause the program to stop when the data at the address is modified.</source> - <translation type="unfinished"></translation> + <translation>Ustawienie pułapki warunkowej pod adresem spowoduje zatrzymanie programu, gdy dane pod tym adresem zostaną zmodyfikowane.</translation> </message> <message> <source>Add Data Breakpoint at Expression "%1"</source> - <translation type="unfinished"></translation> + <translation>Dodaj pułapkę warunkową na wyrażeniu "%1"</translation> </message> <message> <source>Setting a data breakpoint on an expression will cause the program to stop when the data at the address given by the expression is modified.</source> - <translation type="unfinished">Ustawienie pułapki na wyrażeniu spowoduje zatrzymanie programu, kiedy dane pod adresem wskazanym przez wyrażenie zostaną zmodyfikowane.</translation> + <translation>Ustawienie pułapki na wyrażeniu spowoduje zatrzymanie programu, kiedy dane pod adresem wskazanym przez wyrażenie zostaną zmodyfikowane.</translation> </message> <message> <source>Insert New Evaluated Expression</source> @@ -7044,22 +6660,6 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< <source>Open Memory Editor at Referenced Address (0x%1)</source> <translation>Otwórz edytor pamięci ze wskazanym adresem (0x%1)</translation> </message> - <message> - <source>Watch Expression</source> - <translation type="obsolete">Obserwuj wyrażenie</translation> - </message> - <message> - <source>Watch Expression "%1"</source> - <translation type="obsolete">Obserwuj wyrażenie "%1"</translation> - </message> - <message> - <source>Remove Watch Expression</source> - <translation type="obsolete">Usuń obserwowanie wyrażenia</translation> - </message> - <message> - <source>Remove Watch Expression "%1"</source> - <translation type="obsolete">Usuń obserwowanie wyrażenia "%1"</translation> - </message> <message> <source>Change Display Format...</source> <translation>Zmień format wyświetlania...</translation> @@ -7108,16 +6708,12 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< </message> <message> <source>Cannot Display Stack Layout</source> - <translation type="unfinished"></translation> + <translation>Nie można pokazać rozmieszczenia stosu</translation> </message> <message> <source>Could not determine a suitable address range.</source> <translation>Nie można określić odpowiedniego zakresu adresów.</translation> </message> - <message> - <source>Memory Layout of Local Variables at 0x%2</source> - <translation type="unfinished"></translation> - </message> <message> <source>Locals and Expressions</source> <translation>Zmienne lokalne i wyrażenia</translation> @@ -7146,29 +6742,13 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< <source>Change Display for Type or Item...</source> <translation>Zmień wyświetlanie dla typu lub elementu...</translation> </message> - <message> - <source>Insert New Watch Item</source> - <translation type="obsolete">Wprowadź element do obserwacji</translation> - </message> <message> <source>Select Widget to Watch</source> <translation>Wybierz widżet do obserwacji</translation> </message> <message> - <source>Add Watchpoint at Object's Address (0x%1)</source> - <translation type="obsolete">Dodaj pułapkę warunkową pod adresem obiektu (0x%1)</translation> - </message> - <message> - <source>Add Watchpoint at Referenced Address (0x%1)</source> - <translation type="obsolete">Dodaj pułapkę warunkową pod wskazanym adresem (0x%1)</translation> - </message> - <message> - <source>Add Watchpoint</source> - <translation type="obsolete">Dodaj pułapkę warunkową</translation> - </message> - <message> - <source>Setting a watchpoint on an address will cause the program to stop when the data at the address it modified.</source> - <translation type="obsolete">Ustawienie pułapki warunkowej pod adresem spowoduje zatrzymanie programu, gdy dane pod tym adresem zostaną zmodyfikowane.</translation> + <source>Memory Layout of Local Variables at 0x%1</source> + <translation>Rozmieszczenie pamięci zmiennych lokalnych pod 0x%1</translation> </message> <message> <source>Remove All Watch Items</source> @@ -7196,7 +6776,7 @@ Można ustawić zmienną środowiskową PYTHONPATH wskazującą na instalację.< </message> <message> <source>Open Memory Editor Showing Stack Layout</source> - <translation type="unfinished"></translation> + <translation>Otwórz edytor pamięci z rozmieszczeniem stosu</translation> </message> <message> <source>Copy Contents to Clipboard</source> @@ -7445,21 +7025,6 @@ Spróbuj ponownie przebudować projekt.</translation> <translation>nienazwany</translation> </message> </context> -<context> - <name>Designer::Internal::FormWindowFile</name> - <message> - <source>Error saving %1</source> - <translation type="obsolete">Błąd podczas zachowywania %1</translation> - </message> - <message> - <source>Unable to open %1: %2</source> - <translation type="obsolete">Nie można otworzyć %1: %2</translation> - </message> - <message> - <source>Unable to write to %1: %2</source> - <translation type="obsolete">Nie można zapisać do %1: %2</translation> - </message> -</context> <context> <name>Designer::Internal::FormWizardDialog</name> <message> @@ -7537,10 +7102,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <numerusform>Przefiltrowano %n linii</numerusform> </translation> </message> - <message> - <source>Can't open file %1</source> - <translation type="obsolete">Nie można otworzyć pliku %1</translation> - </message> <message> <source>search hit BOTTOM, continuing at TOP</source> <translation>Przeszukano do KOŃCA, wznowiono od POCZĄTKU</translation> @@ -7549,10 +7110,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>search hit TOP, continuing at BOTTOM</source> <translation>Przeszukano do POCZĄTKU, wznowiono od KOŃCA</translation> </message> - <message> - <source>Pattern not found: </source> - <translation type="obsolete">Brak dopasowań do wzorca: </translation> - </message> <message> <source>Mark '%1' not set</source> <translation>Znacznik "%1" nie jest ustawiony</translation> @@ -7617,7 +7174,7 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <source>Saving succeeded</source> - <translation>Zachowywanie pomyślnie zakończone</translation> + <translation>Zachowywanie poprawnie zakończone</translation> </message> <message numerus="yes"> <source>%n files not saved</source> @@ -7790,10 +7347,18 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Location:</source> <translation>Położenie:</translation> </message> + <message> + <source>File Selection</source> + <translation>Wybór pliku</translation> + </message> <message> <source>Location</source> <translation>Położenie</translation> </message> + <message> + <source>Files</source> + <translation>Pliki</translation> + </message> </context> <context> <name>GenericProjectManager::Internal::GenericProjectWizard</name> @@ -7806,22 +7371,11 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <translation>Importuje istniejące projekty, które nie używają qmake ani CMake. To pozwala na korzystanie z Qt Creatora jako edytora kodu.</translation> </message> </context> -<context> - <name>Git::Internal::LocalBranchModel</name> - <message> - <source><New branch></source> - <translation><Nowa gałąź></translation> - </message> - <message> - <source>Type to create a new branch</source> - <translation>Wpisz w celu utworzenia nowej gałęzi</translation> - </message> -</context> <context> <name>Git::Internal::ChangeSelectionDialog</name> <message> <source>Select a Git Commit</source> - <translation type="unfinished">Wybierz commit w Git</translation> + <translation type="unfinished"></translation> </message> <message> <source>Select Git Repository</source> @@ -7872,14 +7426,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </context> <context> <name>Git::Internal::GitClient</name> - <message> - <source>Unable to determine the repository for %1.</source> - <translation type="obsolete">Nie można określić repozytorium dla %1.</translation> - </message> - <message> - <source>Unable to parse the file output.</source> - <translation type="obsolete">Nie można przetworzyć wyjścia pliku.</translation> - </message> <message> <source>Waiting for data...</source> <translation>Oczekiwanie na dane...</translation> @@ -7888,180 +7434,18 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Git Diff</source> <translation>Git Diff</translation> </message> - <message> - <source>Git Diff %1</source> - <translation type="obsolete">Git Diff %1</translation> - </message> - <message> - <source>Git Diff Branch %1</source> - <translation type="obsolete">Git Diff Branch %1</translation> - </message> <message> <source>Git Log</source> <translation>Git Log</translation> </message> - <message> - <source>Git Log %1</source> - <translation type="obsolete">Log Git %1</translation> - </message> - <message> - <source>Cannot describe '%1'.</source> - <translation type="obsolete">Nie można opisać "%1".</translation> - </message> - <message> - <source>Git Show %1</source> - <translation type="obsolete">Git Show %1</translation> - </message> - <message> - <source>Git Blame %1</source> - <translation type="obsolete">Git Blame %1</translation> - </message> - <message> - <source>Unable to checkout %1 of %2: %3</source> - <extracomment>Meaning of the arguments: %1: Branch, %2: Repository, %3: Error message</extracomment> - <translation type="obsolete">Nie można utworzyć kopii roboczej gałęzi %1 z repozytorium %2: %3</translation> - </message> - <message numerus="yes"> - <source>Unable to add %n file(s) to %1: %2</source> - <translation type="obsolete"> - <numerusform>Nie można dodać %n pliku do %1: %2</numerusform> - <numerusform>Nie można dodać %n plików do %1: %2</numerusform> - <numerusform>Nie można dodać %n plików do %1: %2</numerusform> - </translation> - </message> - <message numerus="yes"> - <source>Unable to remove %n file(s) from %1: %2</source> - <translation type="obsolete"> - <numerusform>Nie można usunąć %n pliku z %1 plików: %2</numerusform> - <numerusform>Nie można usunąć %n plików z %1 plików: %2</numerusform> - <numerusform>Nie można usunąć %n plików z %1 plików: %2</numerusform> - </translation> - </message> - <message> - <source>Unable to move from %1 to %2: %3</source> - <translation type="obsolete">Nie można przenieść z %1 do %2: %3</translation> - </message> - <message> - <source>Unable to reset %1: %2</source> - <translation type="obsolete">Nie można przywrócić %1: %2</translation> - </message> - <message numerus="yes"> - <source>Unable to reset %n file(s) in %1: %2</source> - <translation type="obsolete"> - <numerusform>Nie można przywrócić %n pliku w %1: %2</numerusform> - <numerusform>Nie można przywrócić %n plików w %1: %2</numerusform> - <numerusform>Nie można przywrócić %n plików w %1: %2</numerusform> - </translation> - </message> - <message> - <source>Unable to checkout %1 of %2 in %3: %4</source> - <extracomment>Meaning of the arguments: %1: revision, %2: files, %3: repository, %4: Error message</extracomment> - <translation type="obsolete">Nie można utworzyć kopii roboczej z %1 dla %2 z repozytorium %3: %4</translation> - </message> - <message> - <source>Unable to find parent revisions of %1 in %2: %3</source> - <extracomment>Failed to find parent revisions of a SHA1 for "annotate previous"</extracomment> - <translation type="obsolete">Nie można odnaleźć macierzystej poprawki dla %1 w %2: %3</translation> - </message> <message> <source>Invalid revision</source> <translation>Błędna poprawka</translation> </message> - <message> - <source>Unable to retrieve branch of %1: %2</source> - <translation type="obsolete">Nie można pobrać gałęzi w %1: %2</translation> - </message> - <message> - <source>Unable to retrieve top revision of %1: %2</source> - <translation type="obsolete">Nie można pobrać głównej poprawki w %1: %2</translation> - </message> - <message> - <source>Unable to describe revision %1 in %2: %3</source> - <translation type="obsolete">Nie można opisać poprawki %1 w %2: %3</translation> - </message> <message> <source>Description:</source> <translation>Opis:</translation> </message> - <message> - <source>Unable to resolve stash message '%1' in %2</source> - <extracomment>Look-up of a stash via its descriptive message failed.</extracomment> - <translation type="obsolete">Nie można rozwiązać komunikatu odłożonej zmiany "%1" w %2</translation> - </message> - <message> - <source>Unable to run a 'git branch' command in %1: %2</source> - <translation type="obsolete">Nie można uruchomić komendy "git branch" w %1: %2</translation> - </message> - <message> - <source>Unable to run 'git show' in %1: %2</source> - <translation type="obsolete">Nie można uruchomić "git show" w %1: %2</translation> - </message> - <message> - <source>Unable to run 'git clean' in %1: %2</source> - <translation type="obsolete">Nie można uruchomić "git clean" w %1: %2</translation> - </message> - <message> - <source>There were warnings while applying %1 to %2: -%3</source> - <translation type="obsolete">Wystąpiły ostrzeżenia podczas aplikowania %1 do %2: -%3</translation> - </message> - <message> - <source>Unable apply patch %1 to %2: %3</source> - <translation type="obsolete">Nie można zastosować łaty %1 do %2: %3</translation> - </message> - <message> - <source>Cannot locate %1.</source> - <translation type="obsolete">Nie można odnaleźć %1.</translation> - </message> - <message> - <source>Unable to launch %1.</source> - <translation type="obsolete">Nie można uruchomić %1.</translation> - </message> - <message numerus="yes"> - <source>Amended %1 (%n file(s)). -</source> - <translation type="obsolete"> - <numerusform>Poprawiono %1 (%n plik). -</numerusform> - <numerusform>Poprawiono %1 (%n pliki). -</numerusform> - <numerusform>Poprawiono %1 (%n plików). -</numerusform> - </translation> - </message> - <message> - <source>Amended %1.</source> - <translation type="obsolete">Poprawiono %1.</translation> - </message> - <message> - <source>Unable to restore stash %1: %2</source> - <translation type="obsolete">Nie można przywrócić odłożonej zmiany %1: %2</translation> - </message> - <message> - <source>Unable to restore stash %1 to branch %2: %3</source> - <translation type="obsolete">Nie można przywrócić odłożonej zmiany %1 w gałęzi %2: %3</translation> - </message> - <message> - <source>Unable to remove stashes of %1: %2</source> - <translation type="obsolete">Nie można usunąć odłożonych zmian %1: %2</translation> - </message> - <message> - <source>Unable to remove stash %1 of %2: %3</source> - <translation type="obsolete">Nie można przywrócić odłożonej zmiany %1 w %2: %3</translation> - </message> - <message> - <source>Unable retrieve stash list of %1: %2</source> - <translation type="obsolete">Nie można pobrać listy odłożonych zmian w %1: %2</translation> - </message> - <message> - <source>Unable to determine git version: %1</source> - <translation type="obsolete">Nie można określić wersji git: %1</translation> - </message> - <message> - <source>Unable stash in %1: %2</source> - <translation type="obsolete">Nie można odłożyć zmiany w %1: %2</translation> - </message> <message> <source>Stash Description</source> <translation>Opis odłożonej zmiany</translation> @@ -8070,18 +7454,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Changes</source> <translation>Zmiany</translation> </message> - <message> - <source>You have modified files. Would you like to stash your changes?</source> - <translation type="obsolete">Zmodyfikowałeś pliki. Czy chcesz odłożyć swoje zmiany na później?</translation> - </message> - <message> - <source>Unable to obtain the status: %1</source> - <translation type="obsolete">Nie można otrzymać stanu: %1</translation> - </message> - <message> - <source>The repository %1 is not initialized yet.</source> - <translation type="obsolete">Repozytorium %1 nie jest jeszcze zainicjalizowane.</translation> - </message> <message> <source>You did not checkout a branch.</source> <translation>Nie utworzyłeś kopii roboczej gałęzi.</translation> @@ -8097,35 +7469,35 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <source>Cannot determine the repository for "%1".</source> - <translation type="unfinished"></translation> + <translation>Nie można określić repozytorium dla "%1".</translation> </message> <message> <source>Cannot parse the file output.</source> - <translation type="unfinished"></translation> + <translation>Nie można przetworzyć wyjścia pliku.</translation> </message> <message> <source>Git Diff "%1"</source> - <translation type="unfinished"></translation> + <translation>Git Diff "%1"</translation> </message> <message> <source>Git Diff Branch "%1"</source> - <translation type="unfinished"></translation> + <translation>Git Diff Branch "%1"</translation> </message> <message> <source>Git Log "%1"</source> - <translation type="unfinished"></translation> + <translation>Log Git "%1"</translation> </message> <message> <source>Cannot describe "%1".</source> - <translation type="unfinished"></translation> + <translation>Nie można opisać "%1".</translation> </message> <message> <source>Git Show "%1"</source> - <translation type="unfinished"></translation> + <translation>Git Show "%1"</translation> </message> <message> <source>Git Blame "%1"</source> - <translation type="unfinished"></translation> + <translation>Git Blame "%1"</translation> </message> <message> <source>Cannot checkout "%1" of "%2": %3</source> @@ -8134,34 +7506,34 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message numerus="yes"> <source>Cannot add %n file(s) to "%1": %2</source> - <translation type="unfinished"> - <numerusform></numerusform> - <numerusform></numerusform> - <numerusform></numerusform> + <translation> + <numerusform>Nie można dodać %n pliku do "%1": %2</numerusform> + <numerusform>Nie można dodać %n plików do "%1": %2</numerusform> + <numerusform>Nie można dodać %n plików do "%1": %2</numerusform> </translation> </message> <message numerus="yes"> <source>Cannot remove %n file(s) from "%1": %2</source> - <translation type="unfinished"> - <numerusform></numerusform> - <numerusform></numerusform> - <numerusform></numerusform> + <translation> + <numerusform>Nie można usunąć %n pliku z "%1": %2</numerusform> + <numerusform>Nie można usunąć %n plików z "%1": %2</numerusform> + <numerusform>Nie można usunąć %n plików z "%1": %2</numerusform> </translation> </message> <message> <source>Cannot move from "%1" to "%2": %3</source> - <translation type="unfinished"></translation> + <translation>Nie można przenieść pliku z "%1" do "%2": %3</translation> </message> <message> <source>Cannot reset "%1": %2</source> - <translation type="unfinished"></translation> + <translation>Nie można zresetować "%1": %2</translation> </message> <message numerus="yes"> <source>Cannot reset %n file(s) in "%1": %2</source> - <translation type="unfinished"> - <numerusform></numerusform> - <numerusform></numerusform> - <numerusform></numerusform> + <translation> + <numerusform>Nie można zresetować %n pliku w "%1": %2</numerusform> + <numerusform>Nie można zresetować %n plików w "%1": %2</numerusform> + <numerusform>Nie można zresetować %n plików w "%1": %2</numerusform> </translation> </message> <message> @@ -8176,7 +7548,7 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <source>Cannot retrieve branch of "%1": %2</source> - <translation type="unfinished"></translation> + <translation>Nie można pobrać gałęzi w "%1": %2</translation> </message> <message> <source>Cannot retrieve top revision of "%1": %2</source> @@ -8214,31 +7586,32 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <message> <source>There were warnings while applying "%1" to "%2": %3</source> - <translation type="unfinished"></translation> + <translation>Pojawiły się ostrzeżenia podczas aplikowania "%1" w "%2": +%3</translation> </message> <message> <source>Cannot apply patch "%1" to "%2": %3</source> - <translation type="unfinished"></translation> + <translation>Nie można zaaplikować łaty "%1" w "%2": %3</translation> </message> <message> <source>Would you like to stash your changes?</source> - <translation type="unfinished"></translation> + <translation>Chcesz odłożyć swoje zmiany?</translation> </message> <message> <source>Cannot obtain status: %1</source> - <translation type="unfinished"></translation> + <translation>Nie można otrzymać statusu: %1</translation> </message> <message> <source>Cannot locate "%1".</source> - <translation type="unfinished"></translation> + <translation>Nie można zlokalizować "%1".</translation> </message> <message> <source>Cannot launch "%1".</source> - <translation type="unfinished"></translation> + <translation>Nie można uruchomić "%1".</translation> </message> <message> <source>The repository "%1" is not initialized.</source> - <translation type="unfinished"></translation> + <translation>Repozytorium %1 nie jest zainicjalizowane.</translation> </message> <message> <source>Cannot retrieve last commit data of repository "%1".</source> @@ -8247,15 +7620,18 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <message numerus="yes"> <source>Amended "%1" (%n file(s)). </source> - <translation type="unfinished"> - <numerusform></numerusform> - <numerusform></numerusform> - <numerusform></numerusform> + <translation> + <numerusform>Poprawiono "%1" (%n plik). +</numerusform> + <numerusform>Poprawiono "%1" (%n pliki). +</numerusform> + <numerusform>Poprawiono "%1" (%n plików). +</numerusform> </translation> </message> <message> <source>Amended "%1".</source> - <translation type="unfinished"></translation> + <translation>Poprawiono "%1".</translation> </message> <message numerus="yes"> <source>Cannot commit %n file(s): %1 @@ -8292,27 +7668,27 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <source>Cannot restore stash "%1": %2</source> - <translation type="unfinished"></translation> + <translation>Nie można przywrócić odłożonej zmiany "%1": %2</translation> </message> <message> <source>Cannot restore stash "%1" to branch "%2": %3</source> - <translation type="unfinished"></translation> + <translation>Nie można przywrócić odłożonej zmiany "%1" w gałęzi "%2": %3</translation> </message> <message> <source>Cannot remove stashes of "%1": %2</source> - <translation type="unfinished"></translation> + <translation>Nie można usunąć odłożonych zmian w "%1": %2</translation> </message> <message> <source>Cannot remove stash "%1" of "%2": %3</source> - <translation type="unfinished"></translation> + <translation>Nie można usunąć odłożonej zmiany "%1" w "%2": %3</translation> </message> <message> <source>Cannot retrieve stash list of "%1": %2</source> - <translation type="unfinished"></translation> + <translation>Nie można pobrać listy odłożonych zmian w "%1": %2</translation> </message> <message> <source>Cannot determine git version: %1</source> - <translation type="unfinished"></translation> + <translation>Nie można określić wersji git: %1</translation> </message> </context> <context> @@ -8486,11 +7862,11 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <source>Undo Unstaged Changes</source> - <translation>Cofnij niezaindeksowane zmiany</translation> + <translation type="unfinished">Cofnij niezaindeksowane zmiany</translation> </message> <message> <source>Undo Unstaged Changes for "%1"</source> - <translation>Cofnij niezaindeksowane zmiany dla "%1"</translation> + <translation type="unfinished">Cofnij niezaindeksowane zmiany dla "%1"</translation> </message> <message> <source>Undo Uncommitted Changes</source> @@ -8662,10 +8038,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Commit</source> <translation>Commit</translation> </message> - <message> - <source>Diff Selected Files</source> - <translation type="obsolete">Pokaż różnice w zaznaczonych plikach</translation> - </message> <message> <source>&Undo</source> <translation>&Cofnij</translation> @@ -8678,10 +8050,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Another submit is currently being executed.</source> <translation>Trwa inna wysyłka.</translation> </message> - <message> - <source>Cannot create temporary file: %1</source> - <translation type="obsolete">Nie można utworzyć tymczasowego pliku: %1</translation> - </message> <message> <source>Do you want to commit the change?</source> <translation>Czy chcesz wysłać zmianę?</translation> @@ -8758,8 +8126,8 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <translation>Pliki (*.xbel)</translation> </message> <message> - <source>There was an error while importing bookmarks!</source> - <translation>Wystąpił błąd podczas importowania zakładek!</translation> + <source>Cannot import bookmarks.</source> + <translation>Nie można zaimportować zakładek.</translation> </message> <message> <source>Save File</source> @@ -8830,6 +8198,10 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Increase Font Size</source> <translation>Zwiększ rozmiar czcionki</translation> </message> + <message> + <source>Technical Support</source> + <translation>Wsparcie techniczne</translation> + </message> <message> <source>Decrease Font Size</source> <translation>Zmniejsz rozmiar czcionki</translation> @@ -9115,10 +8487,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Submit</source> <translation>Wyślij</translation> </message> - <message> - <source>Diff Selected Files</source> - <translation type="obsolete">Pokaż różnice w zaznaczonych plikach</translation> - </message> <message> <source>&Undo</source> <translation>&Cofnij</translation> @@ -9143,10 +8511,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Another submit is currently executed.</source> <translation>Trwa inna wysyłka.</translation> </message> - <message> - <source>Cannot create temporary file.</source> - <translation type="obsolete">Nie można utworzyć tymczasowego pliku.</translation> - </message> <message> <source>Project has no files</source> <translation>Brak plików w projekcie</translation> @@ -9171,6 +8535,10 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>The process terminated with exit code %1.</source> <translation>Proces zakończył się kodem wyjściowym %1.</translation> </message> + <message> + <source>The commit message check failed. Do you want to submit this change list?</source> + <translation type="unfinished"></translation> + </message> <message> <source>p4 submit failed: %1</source> <translation>Błąd p4 submit: %1</translation> @@ -9199,7 +8567,7 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <source>Diff &Selected Files</source> - <translation type="unfinished">Pokaż różnice w &zaznaczonych plikach</translation> + <translation>Pokaż różnice w &zaznaczonych plikach</translation> </message> <message> <source>Could not start perforce '%1'. Please check your settings in the preferences.</source> @@ -9233,14 +8601,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> <source>Do you want to submit this change list?</source> <translation>Czy chcesz wysłać tę listę zmian?</translation> </message> - <message> - <source>The commit message check failed. Do you want to submit this change list</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Cannot open temporary file.</source> - <translation type="obsolete">Nie można otworzyć tymczasowego pliku.</translation> - </message> <message> <source>Pending change</source> <translation>Oczekująca zmiana</translation> @@ -9269,17 +8629,11 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <source>Test succeeded (%1).</source> - <translation>Test pomyślnie zakończony (%1).</translation> + <translation>Test poprawnie zakończony (%1).</translation> </message> </context> <context> <name>ProjectExplorer::AbstractProcessStep</name> - <message> - <source>Starting: "%1" %2 -</source> - <translation type="obsolete">Uruchamianie "%1" %2 -</translation> - </message> <message> <source>Starting: "%1" %2</source> <translation>Uruchamianie "%1" %2</translation> @@ -9349,14 +8703,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </context> <context> <name>ProjectExplorer::Internal::LocalApplicationRunControl</name> - <message> - <source>Starting %1...</source> - <translation type="obsolete">Uruchamianie %1...</translation> - </message> - <message> - <source>%1 exited with code %2</source> - <translation type="obsolete">%1 zakończone kodem %2</translation> - </message> <message> <source>No executable specified. </source> @@ -9654,21 +9000,13 @@ Powód: %2</translation> <source>Set <a href="%1"><b>%1</b></a> to <b>%2</b></source> <translation>Ustaw <a href="%1"><b>%1</b></a> na <b>%2</b></translation> </message> - <message> - <source>Unset <b>%1</b></source> - <translation type="obsolete">usuń <b>%1</b></translation> - </message> - <message> - <source>Set <b>%1</b> to <b>%2</b></source> - <translation type="obsolete">ustaw <b>%1</b> na <b>%2</b></translation> - </message> <message> <source>Using <b>%1</b></source> - <translation>Użyj <b>%1</b></translation> + <translation>Użyto: <b>%1</b></translation> </message> <message> <source>Using <b>%1</b> and</source> - <translation>Użyj <b>%1</b> i</translation> + <translation>Użyto: <b>%1</b> i</translation> </message> </context> <context> @@ -9682,33 +9020,6 @@ Powód: %2</translation> <translation>Synchronizuj z edytorem</translation> </message> </context> -<context> - <name>ProjectExplorer::Internal::OutputPane</name> - <message> - <source>Re-run this run-configuration</source> - <translation type="obsolete">Uruchom ponownie tę konfigurację</translation> - </message> - <message> - <source>Stop</source> - <translation type="obsolete">Zatrzymaj</translation> - </message> - <message> - <source>Application Output Window</source> - <translation type="obsolete">Okno z komunikatami aplikacji</translation> - </message> - <message> - <source>Application Output</source> - <translation type="obsolete">Komunikaty aplikacji</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::OutputWindow</name> - <message> - <source>Additional output omitted -</source> - <translation type="obsolete">Pominięto dalsze komunikaty</translation> - </message> -</context> <context> <name>ProjectExplorer::Internal::ProjectFileFactory</name> <message> @@ -9905,10 +9216,6 @@ Powód: %2</translation> <source>Delete File...</source> <translation>Usuń plik...</translation> </message> - <message> - <source>Set as Startup Project</source> - <translation type="obsolete">Ustaw jako projekt startowy</translation> - </message> <message> <source>Full path of the current project's main file, including file name.</source> <translation>Pełna ścieżka pliku głównego bieżącego projektu wraz z nazwą pliku.</translation> @@ -9966,14 +9273,6 @@ Powód: %2</translation> <source>Delete %1 from file system?</source> <translation>Usunąć %1 z systemu plików?</translation> </message> - <message> - <source>Projects (%1)</source> - <translation type="obsolete">Projekty (%1)</translation> - </message> - <message> - <source>All Files (*)</source> - <translation type="obsolete">Wszystkie pliki (*)</translation> - </message> <message> <source>Recent P&rojects</source> <translation>Ostatnie p&rojekty</translation> @@ -10029,7 +9328,7 @@ Powód: %2</translation> </message> <message> <source>Currently building the active project</source> - <translation type="unfinished"></translation> + <translation>Trwa budowanie aktywnego projektu</translation> </message> <message> <source>Project has no build settings</source> @@ -10037,7 +9336,7 @@ Powód: %2</translation> </message> <message> <source>Building '%1' is disabled: %2<br></source> - <translation type="unfinished"></translation> + <translation>Budowanie "%1" jest wyłączone: %2<br></translation> </message> <message> <source>A build is in progress</source> @@ -10046,7 +9345,8 @@ Powód: %2</translation> <message> <source>Building '%1' is disabled: %2 </source> - <translation type="unfinished"></translation> + <translation>Budowanie "%1" jest wyłączone: %2 +</translation> </message> <message> <source>No active project</source> @@ -10054,15 +9354,15 @@ Powód: %2</translation> </message> <message> <source>The project '%1' has no active target</source> - <translation type="unfinished"></translation> + <translation>Projekt "%1" nie ma aktywnego produktu docelowego</translation> </message> <message> <source>The target '%1' for project '%2' has no active run configuration</source> - <translation type="unfinished"></translation> + <translation>Produkt docelowy "%1" projektu "%2" nie posiada aktywnej konfiguracji uruchamiania</translation> </message> <message> <source>Cannot run '%1' in mode '%2'.</source> - <translation type="unfinished"></translation> + <translation>Nie można uruchomić "%1" w trybie "%2".</translation> </message> <message> <source>A build is still in progress.</source> @@ -10287,20 +9587,6 @@ do projektu "%2".</translation> <translation>Brak pliku: %1</translation> </message> </context> -<context> - <name>ProjectExplorer::Internal::WinGuiProcess</name> - <message> - <source>The process could not be started: %1</source> - <translation type="obsolete">Proces nie może zostać rozpoczęty: %1</translation> - </message> -</context> -<context> - <name>QmlProjectManager::Internal::QmlRunConfiguration</name> - <message> - <source>QML Viewer</source> - <translation type="obsolete">QML Viewer</translation> - </message> -</context> <context> <name>Qt4ProjectManager::Internal::ClassList</name> <message> @@ -10344,18 +9630,10 @@ do projektu "%2".</translation> </context> <context> <name>Qt4ProjectManager::Internal::PluginGenerator</name> - <message> - <source>Cannot open icon file %1.</source> - <translation type="obsolete">Nie można otworzyć pliku z ikoną %1.</translation> - </message> <message> <source>Creating multiple widget libraries (%1, %2) in one project (%3) is not supported.</source> <translation>Tworzenie wielu bibliotek z widżetami (%1, %2) w jednym projekcie (%3) nie jest obsługiwane.</translation> </message> - <message> - <source>Cannot open %1: %2</source> - <translation type="obsolete">Nie można otworzyć %1: %2</translation> - </message> </context> <context> <name>Qt4ProjectManager::Internal::ExternalQtEditor</name> @@ -10379,13 +9657,6 @@ do projektu "%2".</translation> <translation>Nie można utworzyć gniazda serwera: %1</translation> </message> </context> -<context> - <name>Qt4ProjectManager::Internal::GettingStartedWelcomePage</name> - <message> - <source>Getting Started</source> - <translation>Zaczynamy</translation> - </message> -</context> <context> <name>Qt4ProjectManager::MakeStep</name> <message> @@ -10394,16 +9665,16 @@ do projektu "%2".</translation> <translation>Make</translation> </message> <message> - <source>Qt Creator needs a tool chain set up to build. Please configure a tool chain in Project mode.</source> - <translation>Qt Creator potrzebuje ustawionego zestawu narzędzi, który można skonfigurować w trybie "Projekty".</translation> + <source>Qt Creator needs a tool chain set up to build. Configure a tool chain in Project mode.</source> + <translation>Do budowy Qt Creator wymaga ustawionego zestawu narzędzi. Skonfiguruj go w trybie "Projekt".</translation> </message> <message> - <source>Makefile not found. Please check your build settings</source> - <translation>Brak Makefile, sprawdź ustawienia budowania</translation> + <source>Cannot find Makefile. Check your build settings.</source> + <translation>Nie można odnaleźć pliku Makefile. Sprawdź swoje ustawienia budowania.</translation> </message> <message> - <source>Configuration is faulty, please check the Build Issues view for details.</source> - <translation>Konfiguracja jest błędna, sprawdź szczegóły w widoku "Problemy budowania".</translation> + <source>Configuration is faulty. Check the Build Issues view for details.</source> + <translation>Błędna konfiguracja. Sprawdź szczegóły w widoku "Problemy budowania".</translation> </message> </context> <context> @@ -10468,7 +9739,7 @@ do projektu "%2".</translation> </message> <message> <source>The option will only take effect if the project is recompiled. Do you want to recompile now?</source> - <translation type="unfinished"></translation> + <translation>Opcja zostanie zastosowana po ponownej kompilacji projektu. Czy chcesz teraz ponownie przekompilować?</translation> </message> </context> <context> @@ -10495,7 +9766,7 @@ do projektu "%2".</translation> </message> <message> <source>Might make your application vulnerable. Only use in a safe environment.</source> - <translation type="unfinished"></translation> + <translation>Może to sprawić, że aplikacja będzie podatna na ataki. Używaj tylko w bezpiecznym środowisku.</translation> </message> <message> <source><No Qt version></source> @@ -10509,19 +9780,6 @@ do projektu "%2".</translation> <translation>qmake</translation> </message> </context> -<context> - <name>Qt4ProjectManager::Internal::S60DeviceRunConfiguration</name> - <message> - <source>%1 on Symbian Device</source> - <extracomment>S60 device runconfiguration default display name, %1 is base pro-File name</extracomment> - <translation type="obsolete">%1 na urządzeniu Symbian</translation> - </message> - <message> - <source>Run on Symbian device</source> - <extracomment>S60 device runconfiguration default display name (no profile set)</extracomment> - <translation type="obsolete">Uruchom na urządzeniu Symbian</translation> - </message> -</context> <context> <name>Qt4ProjectManager::Internal::S60DeviceRunConfigurationWidget</name> <message> @@ -10533,19 +9791,8 @@ do projektu "%2".</translation> <translation>Debugger:</translation> </message> </context> -<context> - <name>Qt4ProjectManager::Internal::S60DeviceRunConfigurationFactory</name> - <message> - <source>%1 on Symbian Device</source> - <translation type="obsolete">%1 na urządzeniu Symbian</translation> - </message> -</context> <context> <name>Qt4ProjectManager::Internal::S60DeviceDebugRunControl</name> - <message> - <source>Warning: Cannot locate the symbol file belonging to %1.</source> - <translation type="obsolete">Ostrzeżenie: nie można odnaleźć pliku z symbolami należącego do %1.</translation> - </message> <message> <source>Warning: Cannot locate the symbol file belonging to %1. </source> @@ -10566,10 +9813,6 @@ do projektu "%2".</translation> <source>Debug on Device</source> <translation>Zdebuguj na urządzeniu</translation> </message> - <message> - <source>Launching debugger...</source> - <translation type="obsolete">Uruchamianie debuggera...</translation> - </message> </context> <context> <name>Qt4ProjectManager::Internal::S60EmulatorRunConfiguration</name> @@ -10610,10 +9853,6 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e </context> <context> <name>Qt4ProjectManager::Internal::S60EmulatorRunControl</name> - <message> - <source>Starting %1...</source> - <translation type="obsolete">Uruchamianie %1...</translation> - </message> <message> <source>Starting %1... </source> @@ -10630,10 +9869,6 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e <translation>%1 zakończone kodem %2 </translation> </message> - <message> - <source>%1 exited with code %2</source> - <translation type="obsolete">%1 zakończone kodem %2</translation> - </message> </context> <context> <name>Qt4ProjectManager::Internal::S60Manager</name> @@ -10673,24 +9908,28 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e <translation>Inne pliki</translation> </message> <message> - <source>Failed!</source> - <translation>Niepomyślnie zakończone!</translation> + <source>Cannot Open File</source> + <translation>Nie można otworzyć pliku</translation> </message> <message> - <source>Could not open the file for edit with VCS.</source> - <translation>System kontroli wersji nie może otworzyć pliku do edycji.</translation> + <source>Cannot open the file for edit with VCS.</source> + <translation>Nie można otworzyć pliku do edycji przez VCS.</translation> </message> <message> - <source>File Error</source> - <translation>Błąd pliku</translation> + <source>Cannot Set Permissions</source> + <translation>Nie można ustawić praw dostępu</translation> </message> <message> - <source>Error while reading .pro file %1: %2</source> - <translation type="obsolete">Błąd podczas czytania pliku pro %1: %2</translation> + <source>Cannot set permissions to writable.</source> + <translation>Nie można ustawić prawa do zapisu.</translation> </message> <message> - <source>Could not set permissions to writable.</source> - <translation>Nie można ustawić prawa do zapisu.</translation> + <source>Failed!</source> + <translation>Niepoprawnie zakończone!</translation> + </message> + <message> + <source>File Error</source> + <translation>Błąd pliku</translation> </message> <message> <source>There are unsaved changes for project file %1.</source> @@ -10701,17 +9940,6 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e <translation>Nie można zapisać pliku projektu %1.</translation> </message> </context> -<context> - <name>Qt4ProjectManager::Internal::Qt4ProFileNode</name> - <message> - <source>Error while parsing file %1. Giving up.</source> - <translation type="obsolete">Błąd podczas przetwarzania pliku %1. Przetwarzanie przerwane.</translation> - </message> - <message> - <source>Could not find .pro file for sub dir '%1' in '%2'</source> - <translation type="obsolete">Nie można odnaleźć pliku .pro w podkatalogu "%1" w "%2"</translation> - </message> -</context> <context> <name>Qt4ProjectManager::Qt4Manager</name> <message> @@ -10911,109 +10139,6 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e <translation>Klasy do międzyprocesowej komunikacji z użyciem D-Bus</translation> </message> </context> -<context> - <name>Qt4ProjectManager::Internal::QtOptionsPageWidget</name> - <message> - <source><specify a name></source> - <translation type="obsolete"><Podaj nazwę></translation> - </message> - <message> - <source><specify a qmake location></source> - <translation type="obsolete"><Podaj ścieżkę do qmake></translation> - </message> - <message> - <source>Select qmake Executable</source> - <translation type="obsolete">Wskaż plik wykonywalny qmake</translation> - </message> - <message> - <source>Select S60 SDK Root</source> - <translation type="obsolete">Wskaż katalog główny S60 SDK</translation> - </message> - <message> - <source>Auto-detected</source> - <translation type="obsolete">Automatycznie wykryte</translation> - </message> - <message> - <source>Manual</source> - <translation type="obsolete">Ustawione ręcznie</translation> - </message> - <message> - <source>Building helpers</source> - <translation type="obsolete">Budowanie asystentów</translation> - </message> - <message> - <source>Debugging Helper Build Log for '%1'</source> - <translation type="obsolete">Log budowania asystenta debuggera dla "%1"</translation> - </message> - <message> - <source>Helpers: None available</source> - <translation type="obsolete">Asystenci: Nie są dostępni</translation> - </message> - <message> - <source>Helpers: %1.</source> - <extracomment>%1 is list of tool names.</extracomment> - <translation type="obsolete">Asystenci: %1.</translation> - </message> - <message> - <source><i>Not yet built.</i></source> - <translation type="obsolete"><i>Jeszcze nie zbudowany.</i></translation> - </message> - <message> - <source><i>Not needed.</i></source> - <translation type="obsolete"><i>Niepotrzebny</i></translation> - </message> - <message> - <source><i>Cannot be compiled.</i></source> - <translation type="obsolete"><i>Nie może zostać skompilowany.</i></translation> - </message> -</context> -<context> - <name>Qt4ProjectManager::QtVersionManager</name> - <message> - <source>MinGW from %1</source> - <translation type="obsolete">MinGW z %1</translation> - </message> - <message> - <source><not found></source> - <translation type="obsolete"><nie znaleziony></translation> - </message> - <message> - <source>Qt in PATH</source> - <translation type="obsolete">Qt w PATH</translation> - </message> - <message> - <source>Name:</source> - <translation type="obsolete">Nazwa:</translation> - </message> - <message> - <source>Invalid Qt version</source> - <translation type="obsolete">Niepoprawna wersja Qt</translation> - </message> - <message> - <source>ABI:</source> - <translation type="obsolete">ABI:</translation> - </message> - <message> - <source>Source:</source> - <translation type="obsolete">Źródło:</translation> - </message> - <message> - <source>mkspec:</source> - <translation type="obsolete">mkspec:</translation> - </message> - <message> - <source>qmake:</source> - <translation type="obsolete">qmake:</translation> - </message> - <message> - <source>Default:</source> - <translation type="obsolete">Domyślna:</translation> - </message> - <message> - <source>Version:</source> - <translation type="obsolete">Wersja:</translation> - </message> -</context> <context> <name>Qt4ProjectManager::Internal::ConsoleAppWizard</name> <message> @@ -11079,10 +10204,6 @@ Preselects a desktop Qt for building the application if available.</source> Wstępnie wybiera wersję desktopową Qt do budowania aplikacji (jeśli jest dostępna).</translation> </message> - <message> - <source>The template file '%1' could not be opened for reading: %2</source> - <translation type="obsolete">Nie można odczytać pliku z szablonem "%1": %2</translation> - </message> </context> <context> <name>Qt4ProjectManager::Internal::GuiAppWizardDialog</name> @@ -11368,10 +10489,6 @@ Wstępnie wybiera wersję desktopową Qt do budowania aplikacji (jeśli jest dos <source>Diff &Selected Files</source> <translation>Pokaż różnice w &zaznaczonych plikach</translation> </message> - <message> - <source>Diff Selected Files</source> - <translation type="obsolete">Pokaż różnice w zaznaczonych plikach</translation> - </message> <message> <source>&Undo</source> <translation>&Cofnij</translation> @@ -11416,10 +10533,6 @@ Wstępnie wybiera wersję desktopową Qt do budowania aplikacji (jeśli jest dos <source>There are no modified files.</source> <translation>Brak zmodyfikowanych plików.</translation> </message> - <message> - <source>Cannot create temporary file: %1</source> - <translation type="obsolete">Nie można utworzyć tymczasowego pliku: %1</translation> - </message> <message> <source>Describe</source> <translation>Opisz</translation> @@ -12191,11 +11304,11 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation> </message> <message> <source>Failed.</source> - <translation>Niepomyślnie zakończone.</translation> + <translation>Niepoprawnie zakończone.</translation> </message> <message> <source>Succeeded.</source> - <translation>Pomyślnie zakończone.</translation> + <translation>Poprawnie zakończone.</translation> </message> </context> <context> @@ -12216,10 +11329,6 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation> <source>Alias e-mail</source> <translation>Alias email</translation> </message> - <message> - <source>Cannot open '%1': %2</source> - <translation type="obsolete">Nie można otworzyć "%1": %2</translation> - </message> </context> <context> <name>VCSBase::SubmitFileModel</name> @@ -12301,8 +11410,8 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation> <translation>Wykonywanie [%1] %2</translation> </message> <message> - <source>Unable to open '%1': %2</source> - <translation type="obsolete">Nie można otworzyć "%1": %2</translation> + <source>The check script '%1' crashed.</source> + <translation>Skrypt sprawdzający "%1" zakończył pracę błędem.</translation> </message> <message> <source>The check script '%1' could not be started: %2</source> @@ -12312,10 +11421,6 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation> <source>The check script '%1' timed out.</source> <translation>Skrypt sprawdzający "%1" bez odpowiedzi.</translation> </message> - <message> - <source>The check script '%1' crashed</source> - <translation>Skrypt sprawdzający "%1" zakończył pracę błędem</translation> - </message> <message> <source>The check script returned exit code %1.</source> <translation>Skrypt sprawdzający zwrócił kod wyjściowy %1.</translation> @@ -12633,7 +11738,7 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation> </message> <message> <source>GLSL/ES Geometry Shader file</source> - <translation type="unfinished"></translation> + <translation>Plik geometry shadera GLSL/ES</translation> </message> <message> <source>BMP image</source> @@ -12949,65 +12054,34 @@ aktywny tylko po wpisaniu przedrostka</translation> </message> </context> <context> - <name>trk::BluetoothListener</name> + <name>QmlParser</name> <message> - <source>%1: Stopping listener %2...</source> - <translation type="obsolete">%1: Zatrzymywanie odbiornika %2...</translation> + <source>Illegal character</source> + <translation>Niepoprawny znak</translation> </message> <message> - <source>%1: Starting Bluetooth listener %2...</source> - <translation type="obsolete">%1: Uruchamianie odbiornika Bluetooth %2...</translation> + <source>Unclosed string at end of line</source> + <translation>Niedomknięty ciąg na końcu linii</translation> </message> <message> - <source>Unable to run '%1': %2</source> - <translation type="obsolete">Nie można uruchomić "%1": %2</translation> + <source>Illegal unicode escape sequence</source> + <translation>Niepoprawna unikodowa sekwencja escape</translation> </message> <message> - <source>%1: Bluetooth listener running (%2).</source> - <translation type="obsolete">%1: Odbiornik Bluetooth uruchomiony (%2).</translation> + <source>Illegal escape sequence</source> + <translation>Niepoprawna sekwencja escape</translation> </message> <message> - <source>%1: Process %2 terminated with exit code %3.</source> - <translation type="obsolete">%1: Proces %2 zakończył się kodem wyjściowym %3.</translation> + <source>Unclosed comment at end of file</source> + <translation>Niedomknięty komentarz na końcu pliku</translation> </message> <message> - <source>%1: Process %2 crashed.</source> - <translation type="obsolete">%1: Proces %2 zakończył pracę błędem.</translation> + <source>Illegal syntax for exponential number</source> + <translation>Niepoprawna składnia liczby o postaci wykładniczej</translation> </message> <message> - <source>%1: Process error %2: %3</source> - <translation type="obsolete">%1: Błąd procesu %2: %3</translation> - </message> -</context> -<context> - <name>QmlParser</name> - <message> - <source>Illegal character</source> - <translation>Niepoprawny znak</translation> - </message> - <message> - <source>Unclosed string at end of line</source> - <translation>Niedomknięty ciąg na końcu linii</translation> - </message> - <message> - <source>Illegal unicode escape sequence</source> - <translation>Niepoprawna unikodowa sekwencja escape</translation> - </message> - <message> - <source>Illegal escape sequence</source> - <translation>Niepoprawna sekwencja escape</translation> - </message> - <message> - <source>Unclosed comment at end of file</source> - <translation>Niedomknięty komentarz na końcu pliku</translation> - </message> - <message> - <source>Illegal syntax for exponential number</source> - <translation>Niepoprawna składnia liczby o postaci wykładniczej</translation> - </message> - <message> - <source>Identifier cannot start with numeric literal</source> - <translation>Identyfikator nie może rozpoczynać się cyfrą</translation> + <source>Identifier cannot start with numeric literal</source> + <translation>Identyfikator nie może rozpoczynać się cyfrą</translation> </message> <message> <source>Unterminated regular expression literal</source> @@ -13038,83 +12112,6 @@ aktywny tylko po wpisaniu przedrostka</translation> <translation>Oczekiwany znak "%1"</translation> </message> </context> -<context> - <name>trk::promptStartCommunication</name> - <message> - <source>Connection on %1 canceled.</source> - <translation type="obsolete">Anulowano połączenie z %1.</translation> - </message> - <message> - <source>Waiting for App TRK</source> - <translation type="obsolete">Oczekiwanie na aplikację TRK</translation> - </message> - <message> - <source>Waiting for App TRK to start on %1...</source> - <translation type="obsolete">Oczekiwanie na uruchomienie aplikacji TRK na %1...</translation> - </message> - <message> - <source>Waiting for Bluetooth Connection</source> - <translation type="obsolete">Oczekiwanie na połączenie Bluetooth</translation> - </message> - <message> - <source>Connecting to %1...</source> - <translation type="obsolete">Łączenie z %1...</translation> - </message> -</context> -<context> - <name>trk::BaseCommunicationStarter</name> - <message numerus="yes"> - <source>%1: timed out after %n attempts using an interval of %2ms.</source> - <translation type="obsolete"> - <numerusform>%1: bez odpowiedzi po %n próbie z interwałem %2ms.</numerusform> - <numerusform>%1: bez odpowiedzi po %n próbach z interwałem %2ms.</numerusform> - <numerusform>%1: bez odpowiedzi po %n próbach z interwałem %2ms.</numerusform> - </translation> - </message> - <message> - <source>%1: Connection attempt %2 succeeded.</source> - <translation type="obsolete">%1: %2 próba połączenia zakończona pomyślnie.</translation> - </message> - <message> - <source>%1: Connection attempt %2 failed: %3 (retrying)...</source> - <translation type="obsolete">%1: %2 próba połączenia zakończona niepomyślnie: %3 (ponowna próba)...</translation> - </message> -</context> -<context> - <name>trk::Session</name> - <message> - <source>CPU: v%1.%2%3%4</source> - <extracomment>CPU description of an S60 device %1 major verison, %2 minor version %3 real name of major verison, %4 real name of minor version</extracomment> - <translation type="obsolete">CPU: v%1.%2%3%4</translation> - </message> - <message> - <source>App TRK: v%1.%2 TRK protocol: v%3.%4</source> - <translation type="obsolete">Aplikacja TRK: v%1.%2, protokół TRK: v%3.%4</translation> - </message> - <message> - <source>%1, %2%3%4, %5</source> - <extracomment>s60description description of an S60 device %1 CPU description, %2 endianness %3 default type size (if any), %4 float size (if any) %5 TRK version</extracomment> - <translation type="obsolete">%1, %2%3%4, %5</translation> - </message> - <message> - <source>big endian</source> - <translation type="obsolete">big endian</translation> - </message> - <message> - <source>little endian</source> - <translation type="obsolete">little endian</translation> - </message> - <message> - <source>, type size: %1</source> - <extracomment>will be inserted into s60description</extracomment> - <translation type="obsolete">, rozmiar typu: %1</translation> - </message> - <message> - <source>, float size: %1</source> - <extracomment>will be inserted into s60description</extracomment> - <translation type="obsolete">, rozmiar float: %1</translation> - </message> -</context> <context> <name>CommandMappings</name> <message> @@ -13245,7 +12242,7 @@ Możesz odłożyć zmiany lub je porzucić.</translation> </message> <message> <source>Stash</source> - <translation>Odłóż</translation> + <translation>Stash</translation> </message> <message> <source>Discard</source> @@ -13253,7 +12250,7 @@ Możesz odłożyć zmiany lub je porzucić.</translation> </message> <message> <source>Restore Stash to Branch</source> - <translation>Przywróć odłożone zmiany do gałęzi</translation> + <translation>Przywróć odłożone zmiany w gałęzi</translation> </message> <message> <source>Branch:</source> @@ -13845,25 +12842,6 @@ Możesz odłożyć zmiany lub je porzucić.</translation> <translation>warunek nie kończy się instrukcją "return", "break", "continue" ani "throw"</translation> </message> </context> -<context> - <name>QmlJS::Interpreter::QmlXmlReader</name> - <message> - <source>The file is not module file.</source> - <translation type="obsolete">To nie jest plik modułu.</translation> - </message> - <message> - <source>Unexpected element <%1> in <%2></source> - <translation type="obsolete">Nieoczekiwany element <%1> w <%2></translation> - </message> - <message> - <source>invalid value '%1' for attribute %2 in <%3></source> - <translation type="obsolete">niepoprawna wartość "%1" dla atrybutu %2 w <%3></translation> - </message> - <message> - <source><%1> has no valid %2 attribute</source> - <translation type="obsolete"><%1> nie posiada poprawnego atrybutu %2</translation> - </message> -</context> <context> <name>QmlJS::Link</name> <message> @@ -13936,26 +12914,6 @@ Możesz odłożyć zmiany lub je porzucić.</translation> </context> <context> <name>BINEditor::BinEditor</name> - <message> - <source>Decimal unsigned value (little endian): %1 -Decimal unsigned value (big endian): %2 -Decimal signed value (little endian): %3 -Decimal signed value (big endian): %4</source> - <translation type="obsolete">Wartość dziesiętna bez znaku (little endian): %1 -Wartość dziesiętna bez znaku (big endian): %2 -Wartość dziesiętna ze znakiem (little endian): %3 -Wartość dziesiętna ze znakiem (big endian): %4</translation> - </message> - <message> - <source>Previous decimal unsigned value (little endian): %1 -Previous decimal unsigned value (big endian): %2 -Previous decimal signed value (little endian): %3 -Previous decimal signed value (big endian): %4</source> - <translation type="obsolete">Poprzednia wartość dziesiętna bez znaku (little endian): %1 -Poprzednia wartość dziesiętna bez znaku (big endian): %2 -Poprzednia wartość dziesiętna ze znakiem (little endian): %3 -Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> - </message> <message> <source>Memory at 0x%1</source> <translation>Pamięć w 0x%1</translation> @@ -14129,6 +13087,10 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> <source>All Files (*)</source> <translation>Wszystkie pliki (*)</translation> </message> + <message> + <source>Clear Menu</source> + <translation>Wyczyść menu</translation> + </message> </context> <context> <name>Core::DesignMode</name> @@ -14266,10 +13228,6 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> <source>Perforce Annotation Editor</source> <translation>Edytor adnotacji Perforce</translation> </message> - <message> - <source>Subversion Editor</source> - <translation type="obsolete">Edytor Subversion</translation> - </message> <message> <source>Subversion Commit Editor</source> <translation type="unfinished"></translation> @@ -14712,10 +13670,6 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> <source>Diff &Selected Files</source> <translation type="unfinished">Pokaż różnice w &zaznaczonych plikach</translation> </message> - <message> - <source>Diff Selected Files</source> - <translation type="obsolete">Pokaż różnice w zaznaczonych plikach</translation> - </message> <message> <source>&Undo</source> <translation>&Cofnij</translation> @@ -14750,7 +13704,7 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> </message> <message> <source>Message check failed. Do you want to proceed?</source> - <translation type="unfinished"></translation> + <translation>Błąd sprawdzania opisu. Czy chcesz kontynuować?</translation> </message> </context> <context> @@ -14820,12 +13774,12 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> <message> <source>Build</source> <extracomment>Display name of the build build step list. Used as part of the labels in the project window.</extracomment> - <translation>Budowanie</translation> + <translation>budowania</translation> </message> <message> <source>Clean</source> <extracomment>Display name of the clean build step list. Used as part of the labels in the project window.</extracomment> - <translation>Czyszczenie</translation> + <translation>czyszczenia</translation> </message> <message> <source>System Environment</source> @@ -15241,10 +14195,6 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> <source>Error</source> <translation>Błąd</translation> </message> - <message> - <source>Cannot write file: "%1".</source> - <translation type="obsolete">Nie można zapisać pliku: "%1".</translation> - </message> </context> <context> <name>QmlDesigner::XUIFileDialog</name> @@ -15319,14 +14269,6 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> <translation>Plik "%1" nie jest wtyczką QmlDesigner.</translation> </message> </context> -<context> - <name>QmlDesigner::AllPropertiesBox</name> - <message> - <source>Properties</source> - <comment>Title of properties view.</comment> - <translation type="obsolete">Właściwości</translation> - </message> -</context> <context> <name>QmlDesigner::StatesEditorWidget</name> <message> @@ -15453,7 +14395,7 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> </message> <message> <source>Qt Quick emulation layer crashed</source> - <translation type="unfinished"></translation> + <translation>Warstwa emulacji Qt Quick zakończona błędem</translation> </message> </context> <context> @@ -15546,7 +14488,6 @@ Poprzednia wartość dziesiętna ze znakiem (big endian): %4</translation> </message> <message> <source>QML</source> - <extracomment>QML sub-menu in the Tools menu</extracomment> <translation>QML</translation> </message> <message> @@ -15644,15777 +14585,13364 @@ Możesz przeglądać projekty przy pomocy QML Viewera bez ich uprzedniego budowa </message> </context> <context> - <name>QmlProjectManager::Internal::QmlRunControl</name> + <name>Qt4ProjectManager::Internal::S60CreatePackageStep</name> <message> - <source>Starting %1 %2</source> - <translation type="obsolete">Uruchamianie %1 %2</translation> + <source>Create SIS Package</source> + <extracomment>default create SIS package build step display name</extracomment> + <translation>Utwórz pakiet SIS</translation> </message> <message> - <source>%1 exited with code %2</source> - <translation type="obsolete">%1 zakończone kodem %2</translation> + <source>Could not find make command '%1' in the build environment</source> + <translation>Nie można odnaleźć komendy make "%1" w środowisku budowania</translation> </message> -</context> -<context> - <name>QmlProjectManager::Internal::QmlRunControlFactory</name> <message> - <source>Run</source> - <translation type="obsolete">Uruchom</translation> + <source>Package Modified</source> + <translation>Pakiet zmodyfikowany</translation> </message> <message> - <source>Open Qt4 Options</source> - <translation type="obsolete">Otwórz ustawienia Qt4</translation> + <source><p>Qt modified your package <b>%1</b>.</p></source> + <translation><p>Qt zmodyfikował pakiet <b>%1</b>.</p></translation> </message> <message> - <source>Cancel</source> - <translation type="obsolete">Anuluj</translation> + <source>Packages Modified</source> + <translation>Pakiety zmodyfikowane</translation> </message> <message> - <source>QML Observer Missing</source> - <translation type="obsolete">Brak QML Observera</translation> + <source><p>Qt modified some of your packages.</p></source> + <translation><p>Qt zmodyfikował niektóre pakiety.</p></translation> </message> <message> - <source>QML Observer could not be found.</source> - <translation type="obsolete">Nie można odnaleźć QML Observera.</translation> + <source>%1<p><em>These changes were not part of your build system</em> but are required to make sure the <em>self-signed</em> package can be installed successfully on a device.</p><p>Check the Build Issues pane for more details on the modifications made.</p><p>Please see the <a href="%2">documentation</a> for other signing options which remove the need for this patching.</p></source> + <translation>%1<p><em>Te zmiany nie były częścią systemu budowania,</em> ale są wymagane aby upewnić się, że <em>własnoręcznie podpisany</em> pakiet może zostać zainstalowany na urządzeniu.</p><p> Sprawdź szczegóły dokonanych modyfikacji w panelu z "Problemami podczas budowania"</p><p>W celu eliminacji kroku łatania pakietu zapoznaj się z <a href="%2">dokumentacją</a> opisującą inne warianty podpisywania.</p></translation> </message> <message> - <source>QML Observer is used to offer debugging features for QML applications, such as interactive debugging and inspection tools. It must be compiled for each used Qt version separately. On the Qt4 options page, select the current Qt installation and click Rebuild.</source> - <translation type="obsolete">QML Observer umożliwia interaktywne debugowanie aplikacji QML. Aplikacja musi być skompilowana dla każdej wersji Qt. W tym celu wybierz bieżącą instalację Qt w ustawieniach Qt4 i kliknij Przebuduj.</translation> + <source>Ignore patching for this packaging step.</source> + <translation>Zignoruj łatanie dla tego kroku pakowania.</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoConfigTestDialog</name> <message> - <source>Testing configuration. This may take a while.</source> - <translation type="obsolete">Testowanie konfiguracji. To może chilę potrwać.</translation> + <source>No certificate file specified. Please specify one in the project settings.</source> + <translation>Nie podano pliku z certyfikatem. Podaj go w ustawieniach projektu.</translation> </message> <message> - <source>Testing configuration...</source> - <translation type="obsolete">Testowanie konfiguracji...</translation> + <source>Certificate file "%1" does not exist. Please specify an existing certificate file in the project settings.</source> + <translation>Plik z certyfikatem "%1" nie istnieje. Podaj istniejący plik z certyfikatem w ustawieniach projektu.</translation> </message> <message> - <source>Stop Test</source> - <translation type="obsolete">Zatrzymaj test</translation> + <source>No key file specified. Please specify one in the project settings.</source> + <translation>Brak pliku z kluczem. Podaj go w ustawieniach projektu.</translation> </message> <message> - <source>Could not connect to host: %1</source> - <translation type="obsolete">Nie można połączyć się z hostem: %1</translation> + <source>Key file "%1" does not exist. Please specify an existing key file in the project settings.</source> + <translation>Plik z kluczem "%1" nie istnieje. Podaj istniejący plik z kluczem w ustawieniach projektu.</translation> </message> <message> - <source> -Did you start Qemu?</source> - <translation type="obsolete"> -Czy uruchomiłeś Qemu?</translation> + <source>The package created will not install on a device as some of the defined capabilities are not supported by the certificate: %1</source> + <translation>Utworzony pakiet nie zainstaluje się na urządzeniu, ponieważ niektóre ze definiowanych "capabilities" nie są wspierane przez certyfikat: %1</translation> </message> <message> - <source>Remote process failed: %1</source> - <translation type="obsolete">Zdalny proces zakończony błędem: %1</translation> + <source>The process "%1" exited normally.</source> + <translation>Proces "%1" zakończył się normalnie.</translation> </message> <message> - <source>Qt version mismatch! Expected Qt on device: 4.6.2 or later.</source> - <translation type="obsolete">Niezgodność wersji Qt. Oczekiwano wersji 4.6.2 lub późniejszej dla urządzenia.</translation> + <source>The process "%1" exited with code %2.</source> + <translation>Proces "%1" zakończył się kodem wyjściowym %2.</translation> </message> <message> - <source>%1 is not installed.<br>You will not be able to deploy to this device.</source> - <translation type="obsolete">%1 nie jest zainstalowany.<br> Nie będzie można zainstalować na urządzeniu.</translation> + <source>The process "%1" crashed.</source> + <translation>Proces "%1" zakończył pracę błędem.</translation> </message> <message> - <source>Please switch the device to developer mode via Settings -> Security.</source> - <translation type="obsolete">Przełącz urządzenie w tryb developerski poprzez Settings -> Security.</translation> + <source>Could not start process "%1" in %2</source> + <translation>Nie można uruchomić procesu "%1" w %2</translation> </message> <message> - <source>Error retrieving list of used ports: %1</source> - <translation type="obsolete">Błąd podczas pobierania listy używanych portów: %1</translation> + <source>Starting: "%1" %2 in %3 +</source> + <translation>Uruchamianie "%1" %2 w %3 +</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60CreatePackageStepFactory</name> <message> - <source>All specified ports are available.</source> - <translation type="obsolete">Wszystkie podane porty są dostępne.</translation> + <source>Create SIS Package</source> + <translation>Utwórz pakiet SIS</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60CreatePackageStepConfigWidget</name> <message> - <source>The following supposedly free ports are being used on the device:</source> - <translation type="obsolete">Następujące rzekomo wolne porty są używane przez urządzenie:</translation> + <source>Reset Passphrases</source> + <translation>Usuń hasła</translation> </message> <message> - <source>Device configuration okay.</source> - <translation type="obsolete">Konfiguracja urządzenia poprawna.</translation> + <source>Do you want to reset all passphrases saved for keys used?</source> + <translation>Czy chcesz usunąć hasła dla wszystkich użytych kluczy?</translation> </message> <message> - <source>Close</source> - <translation type="obsolete">Zamknij</translation> + <source>signed with the certificate "%1" using the key "%2"</source> + <translation>podpisany certyfikatem "%1" oraz kluczem "%2"</translation> </message> <message> - <source>Device configuration test failed: Unexpected output: -%1</source> - <translation type="obsolete">Test konfiguracji urządzenia zakończony niepowodzeniem: Nieoczekiwany komunikat: -%1</translation> + <source>signed with a certificate and a key that need to be specified</source> + <translation>będzie podpisany certyfikatem oraz kluczem, który musi zostać podany</translation> </message> <message> - <source>Hardware architecture: %1 -</source> - <translation type="obsolete">Architektura sprzętu: %1 -</translation> + <source>not signed</source> + <translation>bez podpisu</translation> </message> <message> - <source>Kernel version: %1 -</source> - <translation type="obsolete">Wersja jądra: %1 -</translation> + <source>self-signed</source> + <translation>własnoręcznie podpisany</translation> </message> <message> - <source>No Qt packages installed.</source> - <translation type="obsolete">Brak zainstalowanych pakietów Qt.</translation> + <source><b>Create SIS Package:</b> %1, using Smart Installer</source> + <translation><b>Utwórz pakiet SIS:</b> %1, używając Smart Installera</translation> </message> <message> - <source>List of installed Qt packages:</source> - <translation type="obsolete">Lista zainstalowanych pakietów Qt:</translation> + <source><b>Create SIS Package:</b> %1</source> + <translation><b>Utwórz pakiet SIS:</b> %1</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoRunConfiguration</name> + <name>Qt4ProjectManager</name> <message> - <source>Run on Maemo device</source> - <extracomment>Maemo run configuration default display name</extracomment> - <translation type="obsolete">Uruchom na urządzeniu Maemo</translation> + <source>Qt4</source> + <translation>Qt4</translation> </message> <message> - <source>Clean Environment</source> - <translation type="obsolete">Czyste środowisko</translation> + <source>Qt Versions</source> + <translation>Wersje Qt</translation> </message> <message> - <source>System Environment</source> - <translation type="obsolete">Środowisko systemowe</translation> + <source>Qt Widget Project</source> + <translation>Projekt Qt Widget</translation> + </message> + <message> + <source>Linux Devices</source> + <translation>Urządzenia linuksowe</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoRunConfigurationWidget</name> + <name>QtVersion</name> <message> - <source><a href="%1">Manage device configurations</a></source> - <translation type="obsolete"><a href="%1">Zarządzanie konfiguracjami urządzenia</a></translation> + <source>No qmake path set</source> + <translation>Nie ustawiono ścieżki do qmake</translation> </message> <message> - <source><a href="%1">Set Debugger</a></source> - <translation type="obsolete"><a href="%1">Ustaw debugger</a></translation> + <source>qmake does not exist or is not executable</source> + <translation>Brak qmake lub nie jest on plikiem wykonywalnym</translation> </message> <message> - <source>Device configuration:</source> - <translation type="obsolete">Konfiguracja urządzenia:</translation> + <source>Qt version has no name</source> + <translation>Brak nazwy wersji Qt</translation> </message> <message> - <source>Executable on host:</source> - <translation type="obsolete">Plik wykonywalny na hoście:</translation> + <source><unknown></source> + <translation><nieznany></translation> </message> <message> - <source>Executable on device:</source> - <translation type="obsolete">Plik wykonywalny na urządzeniu:</translation> + <source>System</source> + <translation>System</translation> </message> <message> - <source>C++ only</source> - <translation type="obsolete">Tylko C++</translation> + <source>Qt %1 in PATH (%2)</source> + <translation>Qt %1 w PATH (%2)</translation> </message> <message> - <source>QML only</source> - <translation type="obsolete">Tylko QML</translation> + <source>Qt %1 (%2)</source> + <translation>Qt %1 (%2)</translation> </message> <message> - <source>C++ and QML</source> - <translation type="obsolete">C++ i QML</translation> + <source>Qt version is not properly installed, please run make install</source> + <translation>Wersja Qt zainstalowana niepoprawnie, uruchom komendę: make install</translation> </message> <message> - <source>Debugging type:</source> - <translation type="obsolete">Typ debugowania:</translation> + <source>Could not determine the path to the binaries of the Qt installation, maybe the qmake path is wrong?</source> + <translation>Nie można określić ścieżki do plików binarnych instalacji Qt. Sprawdź ścieżkę do qmake.</translation> </message> <message> - <source>Use remote GDB server</source> - <translation type="obsolete">Użyj zdalnego serwera GDB</translation> + <source>The default mkspec symlink is broken.</source> + <translation>Domyślne dowiązanie symboliczne mkspec jest zepsute.</translation> </message> <message> - <source><b>Debugging details:</b> Use GDB</source> - <translation type="obsolete"><b>Szczegóły debugowania:</b> Użyj GDB</translation> + <source>Failed to detect the ABI(s) used by the Qt version.</source> + <translation>Nie można wykryć ABI używanego przez tę wersję Qt.</translation> </message> <message> - <source><b>Debugging details:</b> Use GDB server</source> - <translation type="obsolete"><b>Szczegóły debugowania:</b> Użyj serwera GDB</translation> + <source>The "Open C/C++ plugin" is not installed in the Symbian SDK or the Symbian SDK path is misconfigured</source> + <translation>"Open C/C++ plugin" nie jest zainstalowany w Symbian SDK albo ścieżka do Symbian SDK jest niepoprawnie skonfigurowana</translation> </message> <message> - <source>Use remote gdbserver</source> - <translation type="obsolete">Użyj zdalnego gdbserver</translation> + <source>SBS was not found.</source> + <translation>Nie odnaleziono SBS.</translation> </message> <message> - <source>Base environment for this run configuration:</source> - <translation type="obsolete">Podstawowe środowisko dla tej konfiguracji uruchamiania:</translation> + <source>Desktop</source> + <comment>Qt Version is meant for the desktop</comment> + <translation>Desktop</translation> </message> <message> - <source>Clean Environment</source> - <translation type="obsolete">Czyste środowisko</translation> + <source>Symbian</source> + <comment>Qt Version is meant for Symbian</comment> + <translation>Symbian</translation> </message> <message> - <source>System Environment</source> - <translation type="obsolete">Środowisko systemowe</translation> + <source>Maemo</source> + <comment>Qt Version is meant for Maemo5</comment> + <translation>Maemo</translation> </message> <message> - <source>Fetch Device Environment</source> - <translation type="obsolete">Pobierz środowisko urządzenia</translation> + <source>Harmattan </source> + <comment>Qt Version is meant for Harmattan</comment> + <translation>Harmattan </translation> </message> <message> - <source>Use remote GDB</source> - <translation type="obsolete">Użyj zdalnego GDB</translation> + <source>Meego</source> + <comment>Qt Version is meant for Meego</comment> + <translation>Meego</translation> </message> <message> - <source>Choose directory to mount</source> - <translation type="obsolete">Wybierz katalog do zamontowania</translation> + <source>Qt Simulator</source> + <comment>Qt Version is meant for Qt Simulator</comment> + <translation>Symulator Qt</translation> </message> <message> - <source><b>Debugging details:</b> Use gdbserver</source> - <translation type="obsolete"><b>Szczegóły debugowania:</b> Użyj gdbserver</translation> + <source>Cannot determine the installation path for Qt version '%1'.</source> + <translation>Nie można określić ścieżki instalacji Qt wersji "%1".</translation> </message> <message> - <source>Cancel Fetch Operation</source> - <translation type="obsolete">Anuluj pobieranie</translation> + <source>The Qt Version has no tool chain.</source> + <translation>Ta wersja Qt nie posiada zestawu narzędzi.</translation> </message> <message> - <source>Device error</source> - <translation type="obsolete">Błąd urządzenia</translation> + <source>Build failed.</source> + <translation>Budowanie zakończone błędem.</translation> </message> <message> - <source>Fetching environment failed: %1</source> - <translation type="obsolete">Błąd podczas pobierania środowiska: %1</translation> + <source>Build succeeded.</source> + <translation>Budowanie poprawnie zakończone.</translation> </message> <message> - <source>No local directories to be mounted on the device.</source> - <translation type="obsolete">Brak lokalnych katalogów do zamontowania na urządzeniu.</translation> + <source>Qt for WinCE</source> + <comment>Qt Version is meant for WinCE</comment> + <translation>Qt dla WinCE</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::BaseQt4ProjectWizardDialog</name> <message> - <source>One local directory to be mounted on the device.</source> - <translation type="obsolete">Jeden lokalny katalog do zamontowania na urządzeniu.</translation> + <source>Modules</source> + <translation>Moduły</translation> </message> - <message numerus="yes"> - <source>%n local directories to be mounted on the device.</source> - <extracomment>Note: Only mountCount>1 will occur here as 0, 1 are handled above.</extracomment> - <translation type="obsolete"> - <numerusform>%n lokalny katalog do zamontowania na urządzeniu.</numerusform> - <numerusform>%n lokalne katalogi do zamontowania na urządzeniu.</numerusform> - <numerusform>%n lokalnych katalogów do zamontowania na urządzeniu.</numerusform> - </translation> + <message> + <source>Targets</source> + <translation>Produkty docelowe</translation> </message> - <message numerus="yes"> - <source>WARNING: You want to mount %1 directories, but your device has only %n free ports.<br>You will not be able to run this configuration.</source> - <translation type="obsolete"> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolny port.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolne porty.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolnych portów.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> - </translation> +</context> +<context> + <name>Qt4ProjectManager::Internal::TargetSetupPage</name> + <message> + <source>Qt Creator can set up the following targets:</source> + <translation>Qt Creator może ustawić następujące wersje:</translation> </message> - <message numerus="yes"> - <source>WARNING: You want to mount %1 directories, but only %n ports on the device will be available in debug mode. <br>You will not be able to debug your application with this configuration.</source> - <translation type="obsolete"> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n port do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n porty do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n portów do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> - </translation> + <message> + <source>Setup targets for your project</source> + <translation>Ustaw produkty docelowe dla projektu</translation> </message> <message> - <source>Arguments:</source> - <translation type="obsolete">Argumenty:</translation> + <source><html><head/><body><p><b>No valid Qt versions found.</b></p><p>Please add a Qt version in <i>Tools/Options</i> or via the maintenance tool of the SDK.</p></body></html></source> + <translation><html><head/><body><p><b>Brak poprawnej wersji Qt.</b></p><p>Dodaj wersję Qt w <i>Narzędzia/Opcje</i> lub poprzez narzędzie utrzymania SDK.</p></body></html></translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoRunControlFactory</name> + <name>Qt4ProjectManager::Internal::TestWizard</name> <message> - <source>Run on device</source> - <translation type="obsolete">Uruchom na urządzeniu</translation> + <source>Qt Unit Test</source> + <translation>Test grupowy Qt</translation> + </message> + <message> + <source>Creates a QTestLib-based unit test for a feature or a class. Unit tests allow you to verify that the code is fit for use and that there are no regressions.</source> + <translation>Tworzy grupowy test funkcjonalności lub klasy w oparciu o QTestLib. Grupowe testy pozwalają na weryfikowanie działania kodu i wykrywanie regresji.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60CreatePackageStep</name> + <name>Qt4ProjectManager::Internal::TestWizardDialog</name> <message> - <source>Create SIS Package</source> - <extracomment>default create SIS package build step display name</extracomment> - <translation>Utwórz pakiet SIS</translation> + <source>This wizard generates a Qt unit test consisting of a single source file with a test class.</source> + <translation>Ten kreator generuje test grupowy składający się z pojedynczego pliku źródłowego z klasą testową.</translation> </message> <message> - <source>Could not find make command '%1' in the build environment</source> - <translation>Nie można odnaleźć komendy make "%1" w środowisku budowania</translation> + <source>Details</source> + <translation>Szczegóły</translation> </message> +</context> +<context> + <name>Subversion::Internal::SubversionEditor</name> <message> - <source>Package Modified</source> - <translation>Pakiet zmodyfikowany</translation> + <source>Annotate revision "%1"</source> + <translation>Dołącz adnotację do poprawki "%1"</translation> </message> +</context> +<context> + <name>TextEditor</name> <message> - <source><p>Qt modified your package <b>%1</b>.</p></source> - <translation><p>Qt zmodyfikował pakiet <b>%1</b>.</p></translation> + <source>Text Editor</source> + <translation>Edytor tekstu</translation> </message> +</context> +<context> + <name>VCSBase::VCSBasePlugin</name> <message> - <source>Packages Modified</source> - <translation>Pakiety zmodyfikowane</translation> + <source>Version Control</source> + <translation>System kontroli wersji</translation> </message> <message> - <source><p>Qt modified some of your packages.</p></source> - <translation><p>Qt zmodyfikował niektóre pakiety.</p></translation> + <source>The file '%1' could not be deleted.</source> + <translation>Nie można usunąć pliku "%1".</translation> </message> <message> - <source>%1<p><em>These changes were not part of your build system</em> but are required to make sure the <em>self-signed</em> package can be installed successfully on a device.</p><p>Check the Build Issues pane for more details on the modifications made.</p><p>Please see the <a href="%2">documentation</a> for other signing options which remove the need for this patching.</p></source> - <translation>%1<p><em>Te zmiany nie były częścią systemu budowania,</em> ale są wymagane aby upewnić się, że <em>własnoręcznie podpisany</em> pakiet może zostać zainstalowany na urządzeniu.</p><p> Sprawdź szczegóły dokonanych modyfikacji w panelu z "Problemami podczas budowania"</p><p>W celu eliminacji kroku łatania pakietu zapoznaj się z <a href="%2">dokumentacją</a> opisującą inne warianty podpisywania.</p></translation> + <source>Choose Repository Directory</source> + <translation>Wybierz katalog repozytorium</translation> </message> <message> - <source>Ignore patching for this packaging step.</source> - <translation>Zignoruj łatanie dla tego kroku pakowania.</translation> + <source>The directory '%1' is already managed by a version control system (%2). Would you like to specify another directory?</source> + <translation>Katalog "%1" jest już zarządzany przez system kontroli wersji (%2). Czy chcesz podać inny katalog?</translation> </message> <message> - <source>No certificate file specified. Please specify one in the project settings.</source> - <translation>Nie podano pliku z certyfikatem. Podaj go w ustawieniach projektu.</translation> + <source>Repository already under version control</source> + <translation>Repozytorium znajduje się już w systemie kontroli wersji</translation> </message> <message> - <source>Certificate file "%1" does not exist. Please specify an existing certificate file in the project settings.</source> - <translation>Plik z certyfikatem "%1" nie istnieje. Podaj istniejący plik z certyfikatem w ustawieniach projektu.</translation> + <source>Repository Created</source> + <translation>Utworzono repozytorium</translation> </message> <message> - <source>No key file specified. Please specify one in the project settings.</source> - <translation>Brak pliku z kluczem. Podaj go w ustawieniach projektu.</translation> + <source>Repository Creation Failed</source> + <translation>Błąd podczas tworzenia repozytorium</translation> </message> <message> - <source>Key file "%1" does not exist. Please specify an existing key file in the project settings.</source> - <translation>Plik z kluczem "%1" nie istnieje. Podaj istniejący plik z kluczem w ustawieniach projektu.</translation> + <source>There is no patch-command configured in the common 'Version Control' settings.</source> + <translation>Brak skonfigurowanej komendy "patch" we wspólnych ustawieniach systemów kontroli wersji.</translation> </message> <message> - <source>The package created will not install on a device as some of the defined capabilities are not supported by the certificate: %1</source> - <translation>Utworzony pakiet nie zainstaluje się na urządzeniu, ponieważ niektóre ze definiowanych "capabilities" nie są wspierane przez certyfikat: %1</translation> + <source>Unable to launch '%1': %2</source> + <translation>Nie można uruchomić "%1": %2</translation> </message> <message> - <source>The process "%1" exited normally.</source> - <translation>Proces "%1" zakończył się normalnie.</translation> + <source>A timeout occurred running '%1'</source> + <translation>Przekroczony czas oczekiwania na odpowiedź od uruchomionego "%1"</translation> </message> <message> - <source>The process "%1" exited with code %2.</source> - <translation>Proces "%1" zakończył się kodem wyjściowym %2.</translation> + <source>'%1' crashed.</source> + <translation>"%1" zakończył pracę błędem.</translation> </message> <message> - <source>The process "%1" crashed.</source> - <translation>Proces "%1" zakończył pracę błędem.</translation> + <source>'%1' failed (exit code %2).</source> + <translation>'%1' zakończone błędem (kod wyjściowy %2).</translation> </message> <message> - <source>Could not start process "%1" in %2</source> - <translation>Nie można uruchomić procesu "%1" w %2</translation> + <source>A version control repository has been created in %1.</source> + <translation>Repozytorium systemu kontroli wersji została utworzona w %1.</translation> </message> <message> - <source>Starting: "%1" %2 in %3 -</source> - <translation>Uruchamianie "%1" %2 w %3 -</translation> + <source>A version control repository could not be created in %1.</source> + <translation>Nie można utworzyć repozytorium systemu kontroli wersji w %1.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60CreatePackageStepFactory</name> + <name>CodePaster::FileShareProtocolSettingsWidget</name> <message> - <source>Create SIS Package</source> - <translation>Utwórz pakiet SIS</translation> + <source>Form</source> + <translation>Formularz</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::S60CreatePackageStepConfigWidget</name> <message> - <source>Reset Passphrases</source> - <translation>Usuń hasła</translation> + <source>&Path:</source> + <translation>Ś&cieżka:</translation> </message> <message> - <source>Do you want to reset all passphrases saved for keys used?</source> - <translation>Czy chcesz usunąć hasła dla wszystkich użytych kluczy?</translation> + <source>&Display:</source> + <translation>&Wyświetl:</translation> </message> <message> - <source>signed with the certificate "%1" using the key "%2"</source> - <translation>podpisany certyfikatem "%1" oraz kluczem "%2"</translation> + <source>entries</source> + <translation>wpisów</translation> </message> <message> - <source>signed with a certificate and a key that need to be specified</source> - <translation>będzie podpisany certyfikatem oraz kluczem, który musi zostać podany</translation> + <source>The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted.</source> + <translation>Protokół wklejania bazujący na współdzielonych plikach pozwala na wymianę fragmentów kodu przy użyciu prostych plików umieszczonych na współdzielonym dysku sieciowym. Pliki nigdy nie są usuwane.</translation> </message> +</context> +<context> + <name>MaemoPackageCreationWidget</name> <message> - <source>not signed</source> - <translation>bez podpisu</translation> + <source>Major:</source> + <translation>Główny:</translation> </message> <message> - <source>self-signed</source> - <translation>własnoręcznie podpisany</translation> + <source>Minor:</source> + <translation>Podrzędny:</translation> </message> <message> - <source><b>Create SIS Package:</b> %1, using Smart Installer</source> - <translation><b>Utwórz pakiet SIS:</b> %1, używając Smart Installera</translation> + <source>Patch:</source> + <translation>Łata:</translation> </message> <message> - <source><b>Create SIS Package:</b> %1</source> - <translation><b>Utwórz pakiet SIS:</b> %1</translation> + <source>Edit</source> + <translation>Zmodyfikuj</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::Qt4BuildConfigurationFactory</name> <message> - <source>Using Qt Version "%1"</source> - <translation type="obsolete">Użyj wersji "%1"</translation> + <source>Package name:</source> + <translation>Nazwa pakietu:</translation> </message> <message> - <source>New Configuration</source> - <translation type="obsolete">Nowa konfiguracja</translation> + <source>Package version:</source> + <translation>Wersja pakietu:</translation> </message> <message> - <source>New configuration name:</source> - <translation type="obsolete">Nazwa nowej konfiguracji:</translation> + <source>Short package description:</source> + <translation>Krótki opis pakietu:</translation> </message> <message> - <source>%1 Debug</source> - <extracomment>Debug build configuration. We recommend not translating it.</extracomment> - <translation type="obsolete">%1 Debug</translation> + <source>Name to be displayed in Package Manager:</source> + <translation>Wyświetlana nazwa w menedżerze pakietu:</translation> </message> <message> - <source>%1 Release</source> - <extracomment>Release build configuration. We recommend not translating it.</extracomment> - <translation type="obsolete">%1 Release</translation> + <source>Icon to be displayed in Package Manager:</source> + <translation>Wyświetlana ikona w menedżerze pakietu:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager</name> <message> - <source>Qt4</source> - <translation>Qt4</translation> + <source>Size is 48x48 pixels</source> + <translation>Rozmiar 48x48 w pikselach</translation> </message> <message> - <source>Qt Versions</source> - <translation>Wersje Qt</translation> + <source>Adapt Debian file:</source> + <translation>Przyswój plik Debiana:</translation> </message> <message> - <source>Qt Widget Project</source> - <translation>Projekt Qt Widget</translation> + <source>Edit spec file</source> + <translation>Zmodyfikuj plik spec</translation> </message> +</context> +<context> + <name>MaemoSshConfigDialog</name> <message> - <source>Maemo</source> - <translation type="obsolete">Maemo</translation> - </message> - <message> - <source>Linux Devices</source> - <translation>Urządzenia linuksowe</translation> + <source>SSH Key Configuration</source> + <translation>Konfiguracja klucza SSH</translation> </message> -</context> -<context> - <name>QtVersion</name> <message> - <source>No qmake path set</source> - <translation>Nie ustawiono ścieżki do qmake</translation> + <source>Options</source> + <translation>Opcje</translation> </message> <message> - <source>qmake does not exist or is not executable</source> - <translation>Brak qmake lub nie jest on plikiem wykonywalnym</translation> + <source>Key algorithm:</source> + <translation>Algorytm klucza:</translation> </message> <message> - <source>Qt version has no name</source> - <translation>Brak nazwy wersji Qt</translation> + <source>Key</source> + <translation>Klucz</translation> </message> <message> - <source><unknown></source> - <translation><nieznany></translation> + <source>Key &size:</source> + <translation>Rozmiar &klucza:</translation> </message> <message> - <source>System</source> - <translation>System</translation> + <source>&RSA</source> + <translation>&RSA</translation> </message> <message> - <source>Qt %1 in PATH (%2)</source> - <translation type="unfinished"></translation> + <source>&DSA</source> + <translation>&DSA</translation> </message> <message> - <source>Qt %1 (%2)</source> - <translation>Qt %1 (%2)</translation> + <source>&Generate SSH Key</source> + <translation>Wy&generuj klucz SSH</translation> </message> <message> - <source>Qt version is not properly installed, please run make install</source> - <translation>Wersja Qt zainstalowana niepoprawnie, uruchom komendę: make install</translation> + <source>Save P&ublic Key...</source> + <translation>Zachowaj klucz p&ubliczny...</translation> </message> <message> - <source>Could not determine the path to the binaries of the Qt installation, maybe the qmake path is wrong?</source> - <translation>Nie można określić ścieżki do plików binarnych instalacji Qt. Sprawdź ścieżkę do qmake.</translation> + <source>Save Pr&ivate Key...</source> + <translation>Zachowaj klucz pr&ywatny...</translation> </message> <message> - <source>The default mkspec symlink is broken.</source> - <translation>Domyślne dowiązanie symboliczne mkspec jest zepsute.</translation> + <source>&Close</source> + <translation>&Zamknij</translation> </message> +</context> +<context> + <name>CommonSettingsPage</name> <message> - <source>Failed to detect the ABI(s) used by the Qt version.</source> - <translation>Nie można wykryć ABI używanego przez tę wersję Qt.</translation> + <source>Wrap submit message at:</source> + <translation>Zawijaj opisy zmian po:</translation> </message> <message> - <source>The "Open C/C++ plugin" is not installed in the Symbian SDK or the Symbian SDK path is misconfigured</source> - <translation>"Open C/C++ plugin" nie jest zainstalowany w Symbian SDK albo ścieżka do Symbian SDK jest niepoprawnie skonfigurowana</translation> + <source> characters</source> + <translation> znakach</translation> </message> <message> - <source>SBS was not found.</source> - <translation>Nie odnaleziono SBS.</translation> + <source>An executable which is called with the submit message in a temporary file as first argument. It should return with an exit != 0 and a message on standard error to indicate failure.</source> + <translation>Plik wykonywalny, który jest uruchamiany z nazwą pliku tymczasowego przechowującego opis zmiany jako pierwszy argument. Powinien on zwrócić wartość różną od 0 i standardowy komunikat o błędzie w razie niepowodzenia.</translation> </message> <message> - <source>Desktop</source> - <comment>Qt Version is meant for the desktop</comment> - <translation>Desktop</translation> + <source>A file listing user names and email addresses in a 4-column mailmap format: +name <email> alias <email></source> + <translation>Plik z listą nazw użytkowników i adresami pocztowymi w 4 kolumnach (format mailmap): +nazwa <email> alias <email></translation> </message> <message> - <source>Symbian</source> - <comment>Qt Version is meant for Symbian</comment> - <translation>Symbian</translation> + <source>A simple file containing lines with field names like "Reviewed-By:" which will be added below the submit editor.</source> + <translation type="unfinished">Plik z liniami zawierającymi pola takie jak: "Reviewed-By:", który będzie dodany poniżej submit editor.</translation> </message> <message> - <source>Maemo</source> - <comment>Qt Version is meant for Maemo5</comment> - <translation>Maemo</translation> + <source>Specifies a command that is executed to graphically prompt for a password, +should a repository require SSH-authentication (see documentation on SSH and the environment variable SSH_ASKPASS).</source> + <translation>W przypadku, gdy repozytorium wymaga autoryzacji SSH, pole to definiuje komendę, która będzie pytała o hasło. +Sprawdź dokumentację SSH zmienną środowiskową SSH_ASKPASS.</translation> </message> <message> - <source>Harmattan </source> - <comment>Qt Version is meant for Harmattan</comment> - <translation>Harmattan </translation> + <source>Submit message &check script:</source> + <translation type="unfinished"></translation> </message> <message> - <source>Meego</source> - <comment>Qt Version is meant for Meego</comment> - <translation>Meego</translation> + <source>User/&alias configuration file:</source> + <translation>Plik z konfiguracją użytkownika / &aliasu:</translation> </message> <message> - <source>Qt Simulator</source> - <comment>Qt Version is meant for Qt Simulator</comment> - <translation>Symulator Qt</translation> + <source>User &fields configuration file:</source> + <translation>Plik z konfiguracją &pól użytkownika:</translation> </message> <message> - <source>unkown</source> - <comment>No idea what this Qt Version is meant for!</comment> - <translation type="obsolete">nieznana</translation> + <source>&Patch command:</source> + <translation>Komenda "&patch":</translation> </message> <message> - <source>Qt version %1, using mkspec %2 (%3)</source> - <translation type="obsolete">Wersja Qt %1, używa mkspec %2 (%3)</translation> + <source>&SSH prompt command:</source> + <translation>Komenda monitu &SSH:</translation> </message> +</context> +<context> + <name>BorderImageSpecifics</name> <message> - <source>Cannot determine the installation path for Qt version '%1'.</source> - <translation>Nie można określić ścieżki instalacji Qt wersji "%1".</translation> + <source>Image</source> + <translation>Obrazek</translation> </message> <message> - <source>The Qt Version has no tool chain.</source> - <translation>Ta wersja Qt nie posiada zestawu narzędzi.</translation> + <source>Source</source> + <translation>Źródło</translation> </message> <message> - <source>Build failed.</source> - <translation>Budowanie zakończone błędem.</translation> + <source>Source size</source> + <translation>Rozmiar źródła</translation> </message> <message> - <source>Build succeeded.</source> - <translation>Budowanie pomyślnie zakończone.</translation> + <source>Left</source> + <translation>Lewy</translation> </message> <message> - <source>Qt for WinCE</source> - <comment>Qt Version is meant for WinCE</comment> - <translation>Qt dla WinCE</translation> + <source>Right</source> + <translation>Prawy</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::BaseQt4ProjectWizardDialog</name> <message> - <source>Modules</source> - <translation>Moduły</translation> + <source>Top</source> + <translation>Górny</translation> </message> <message> - <source>Targets</source> - <translation>Produkty docelowe</translation> + <source>Bottom</source> + <translation>Dolny</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::TargetSetupPage</name> + <name>ExpressionEditor</name> <message> - <source>Qt Creator can set up the following targets:</source> - <translation>Qt Creator może ustawić następujące wersje:</translation> + <source>Expression</source> + <translation>Wyrażenie</translation> </message> +</context> +<context> + <name>Extended</name> <message> - <source>Setup targets for your project</source> - <translation>Ustaw produkty docelowe dla projektu</translation> + <source>Effect</source> + <translation>Efekt</translation> </message> <message> - <source><b>No valid qt versions found.</b><br> Please add a qt version in Tools/Options or via the maintenance tool of the SDK.</source> - <translation type="obsolete"><b>Brak poprawnej wersji Qt.</b><br>Dodaj wersję Qt w Narzędzia/Opcje lub poprzez narzędzie utrzymania SDK.</translation> + <source>Blur Radius:</source> + <translation>Promień rozmycia:</translation> </message> <message> - <source><html><head/><body><p><b>No valid Qt versions found.</b></p><p>Please add a Qt version in <i>Tools/Options</i> or via the maintenance tool of the SDK.</p></body></html></source> - <translation><html><head/><body><p><b>Brak poprawnej wersji Qt.</b></p><p>Dodaj wersję Qt w <i>Narzędzia/Opcje</i> lub poprzez narzędzie utrzymania SDK.</p></body></html></translation> + <source>Pixel Size:</source> + <translation>Rozmiar piksli:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::TestWizard</name> <message> - <source>Qt Unit Test</source> - <translation>Test grupowy Qt</translation> + <source>x Offset: </source> + <translation>Przesunięcie x: </translation> </message> <message> - <source>Creates a QTestLib-based unit test for a feature or a class. Unit tests allow you to verify that the code is fit for use and that there are no regressions.</source> - <translation>Tworzy grupowy test funkcjonalności lub klasy w oparciu o QTestLib. Grupowe testy pozwalają na weryfikowanie działania kodu i wykrywanie regresji.</translation> + <source>y Offset: </source> + <translation>Przesunięcie y: </translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::TestWizardDialog</name> - <message> - <source>This wizard generates a Qt unit test consisting of a single source file with a test class.</source> - <translation>Ten kreator generuje test grupowy składający się z pojedynczego pliku źródłowego z klasą testową.</translation> - </message> + <name>ExtendedFunctionButton</name> <message> - <source>Details</source> - <translation>Szczegóły</translation> + <source>Reset</source> + <translation>Przywróć</translation> </message> -</context> -<context> - <name>Subversion::Internal::SubversionEditor</name> <message> - <source>Annotate revision "%1"</source> - <translation>Dołącz adnotację do poprawki "%1"</translation> + <source>Set Expression</source> + <translation>Ustaw wyrażenie</translation> </message> </context> <context> - <name>TextEditor</name> + <name>FontGroupBox</name> <message> - <source>Text Editor</source> - <translation>Edytor tekstu</translation> + <source>Font</source> + <translation>Czcionka</translation> </message> -</context> -<context> - <name>VCSBase::VCSBasePlugin</name> <message> - <source>Version Control</source> - <translation>System kontroli wersji</translation> + <source>Size</source> + <translation>Rozmiar</translation> </message> <message> - <source>The file '%1' could not be deleted.</source> - <translation>Nie można usunąć pliku "%1".</translation> + <source>Font style</source> + <translation>Styl czcionki</translation> </message> <message> - <source>Choose Repository Directory</source> - <translation>Wybierz katalog repozytorium</translation> + <source>Style</source> + <translation>Styl</translation> </message> +</context> +<context> + <name>Geometry</name> <message> - <source>The directory '%1' is already managed by a version control system (%2). Would you like to specify another directory?</source> - <translation>Katalog "%1" jest już zarządzany przez system kontroli wersji (%2). Czy chcesz podać inny katalog?</translation> + <source>Geometry</source> + <translation>Geometria</translation> </message> <message> - <source>Repository already under version control</source> - <translation>Repozytorium znajduje się już w systemie kontroli wersji</translation> + <source>Position</source> + <translation>Pozycja</translation> </message> <message> - <source>Repository Created</source> - <translation>Utworzono repozytorium</translation> + <source>Size</source> + <translation>Rozmiar</translation> </message> <message> - <source>Repository Creation Failed</source> - <translation>Błąd podczas tworzenia repozytorium</translation> + <source>Lock aspect ratio</source> + <translation>Zablokuj aspekt</translation> </message> +</context> +<context> + <name>ImageSpecifics</name> <message> - <source>There is no patch-command configured in the common 'Version Control' settings.</source> - <translation>Brak skonfigurowanej komendy "patch" we wspólnych ustawieniach systemów kontroli wersji.</translation> + <source>Image</source> + <translation>Obrazek</translation> </message> <message> - <source>Unable to launch '%1': %2</source> - <translation>Nie można uruchomić "%1": %2</translation> + <source>Source</source> + <translation>Źródło</translation> </message> <message> - <source>A timeout occurred running '%1'</source> - <translation>Przekroczony czas oczekiwania na odpowiedź od uruchomionego "%1"</translation> + <source>Fill mode</source> + <translation>Tryb wypełniania</translation> </message> <message> - <source>'%1' crashed.</source> - <translation>"%1" zakończył pracę błędem.</translation> + <source>Source size</source> + <translation>Rozmiar źródła</translation> </message> <message> - <source>'%1' failed (exit code %2).</source> - <translation>'%1' zakończone błędem (kod wyjściowy %2).</translation> + <source>Painted size</source> + <translation>Rozmiar powierzchni rysowania</translation> </message> <message> - <source>A version control repository has been created in %1.</source> - <translation>Repozytorium systemu kontroli wersji została utworzona w %1.</translation> + <source>Aliasing</source> + <translation>Antyaliasing</translation> </message> <message> - <source>A version control repository could not be created in %1.</source> - <translation>Nie można utworzyć repozytorium systemu kontroli wersji w %1.</translation> + <source>Smooth</source> + <translation>Gładki</translation> </message> </context> <context> - <name>trk::Launcher</name> + <name>Layout</name> <message> - <source>Cannot open remote file '%1': %2</source> - <translation type="obsolete">Nie można otworzyć zdalnego pliku "%1": %2</translation> + <source>Layout</source> + <translation>Rozmieszczenie</translation> </message> <message> - <source>Cannot open '%1': %2</source> - <translation type="obsolete">Nie można otworzyć "%1": %2</translation> + <source>Anchors</source> + <translation>Kotwice</translation> </message> <message> - <source>No device is connected. Please connect a device and try again.</source> - <translation type="obsolete">Brak podłączonego urządzenia. Podłącz je i spróbuj ponownie.</translation> + <source>Set anchors</source> + <translation>Ustaw kotwice</translation> </message> <message> - <source>Unable to acquire a device for port '%1'. It appears to be in use.</source> - <translation type="obsolete">Nie można pozyskać urządzenia na porcie "%1". Wygląda, że jest w użyciu.</translation> + <source>Setting anchors in states is not supported.</source> + <translation>Ustawianie kotwic w stanach nie jest obsługiwane.</translation> </message> -</context> -<context> - <name>CodePaster::FileShareProtocolSettingsWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Target</source> + <translation>Produkt docelowy</translation> </message> <message> - <source>&Path:</source> - <translation>Ś&cieżka:</translation> + <source>Margin</source> + <translation>Margines</translation> </message> +</context> +<context> + <name>Modifiers</name> <message> - <source>&Display:</source> - <translation>&Wyświetl:</translation> + <source>Manipulation</source> + <translation>Manipulacja</translation> </message> <message> - <source>entries</source> - <translation>wpisów</translation> + <source>Rotation</source> + <translation>Rotacja</translation> </message> <message> - <source>The fileshare-based paster protocol allows for sharing code snippets using simple files on a shared network drive. Files are never deleted.</source> - <translation>Protokół wklejania bazujący na współdzielonych plikach pozwala na wymianę fragmentów kodu przy użyciu prostych plików umieszczonych na współdzielonym dysku sieciowym. Pliki nigdy nie są usuwane.</translation> + <source>z</source> + <translation>z</translation> </message> </context> <context> - <name>MaemoPackageCreationWidget</name> - <message> - <source>Check this if you want the files below to be deployed directly.</source> - <translation type="obsolete">Zaznacz to jeśli chcesz aby poniższe pliki były bezpośrednio zainstalowane.</translation> - </message> + <name>RectangleColorGroupBox</name> <message> - <source>Skip packaging step</source> - <translation type="obsolete">Pomiń tworzenie pakietu</translation> + <source>Colors</source> + <translation>Kolory</translation> </message> <message> - <source>Major:</source> - <translation>Główny:</translation> + <source>Stops</source> + <translation>Punkty</translation> </message> <message> - <source>Minor:</source> - <translation>Podrzędny:</translation> + <source>Gradient stops</source> + <translation>Punkty gradientu</translation> </message> <message> - <source>Patch:</source> - <translation>Łata:</translation> + <source>Rectangle</source> + <translation>Prostokąt</translation> </message> <message> - <source>Edit</source> - <translation>Zmodyfikuj</translation> + <source>Border</source> + <translation>Brzeg</translation> </message> +</context> +<context> + <name>RectangleSpecifics</name> <message> - <source>Package name:</source> - <translation>Nazwa pakietu:</translation> + <source>Rectangle</source> + <translation>Prostokąt</translation> </message> <message> - <source>Package version:</source> - <translation>Wersja pakietu:</translation> + <source>Border</source> + <translation>Brzeg</translation> </message> <message> - <source>Short package description:</source> - <translation>Krótki opis pakietu:</translation> + <source>Radius</source> + <translation>Promień</translation> </message> +</context> +<context> + <name>StandardTextColorGroupBox</name> <message> - <source>Name to be displayed in Package Manager:</source> - <translation>Wyświetlana nazwa w menedżerze pakietu:</translation> + <source>Color</source> + <translation>Kolor</translation> </message> <message> - <source>Icon to be displayed in Package Manager:</source> - <translation>Wyświetlana ikona w menedżerze pakietu:</translation> + <source>Text</source> + <translation>Tekst</translation> </message> <message> - <source>Size is 48x48 pixels</source> - <translation>Rozmiar 48x48 w pikselach</translation> + <source>Style</source> + <translation>Styl</translation> </message> <message> - <source>Adapt Debian file:</source> - <translation>Przyswój plik Debiana:</translation> + <source>Selection</source> + <translation>Zaznaczenie</translation> </message> <message> - <source>Edit spec file</source> - <translation>Zmodyfikuj plik spec</translation> + <source>Selected</source> + <translation>Zaznaczony</translation> </message> </context> <context> - <name>MaemoSshConfigDialog</name> - <message> - <source>SSH Key Configuration</source> - <translation>Konfiguracja klucza SSH</translation> - </message> + <name>StandardTextGroupBox</name> <message> - <source>Options</source> - <translation>Opcje</translation> + <source>Text</source> + <translation>Tekst</translation> </message> <message> - <source>Key algorithm:</source> - <translation>Algorytm klucza:</translation> + <source>Wrap mode</source> + <translation>Tryb zawijania</translation> </message> <message> - <source>Key</source> - <translation>Klucz</translation> + <source>Alignment</source> + <translation>Wyrównanie</translation> </message> <message> - <source>Key &size:</source> - <translation>Rozmiar &klucza:</translation> + <source></source> + <translation></translation> </message> +</context> +<context> + <name>Switches</name> <message> - <source>&RSA</source> - <translation>&RSA</translation> + <source>Special properties</source> + <translation>Specjalne właściwości</translation> </message> <message> - <source>&DSA</source> - <translation>&DSA</translation> + <source>Layout</source> + <translation>Rozmieszczenie</translation> </message> <message> - <source>&Generate SSH Key</source> - <translation>Wy&generuj klucz SSH</translation> + <source>Advanced properties</source> + <translation>Zaawansowane właściwości</translation> </message> <message> - <source>Save P&ublic Key...</source> - <translation>Zachowaj klucz p&ubliczny...</translation> + <source>Advanced</source> + <translation>Zaawansowane</translation> </message> +</context> +<context> + <name>TextEditSpecifics</name> <message> - <source>Save Pr&ivate Key...</source> - <translation>Zachowaj klucz pr&ywatny...</translation> + <source>Text Edit</source> + <translation>Edytor tekstu</translation> </message> <message> - <source>&Close</source> - <translation>&Zamknij</translation> + <source>Format</source> + <translation>Format</translation> </message> </context> <context> - <name>CommonSettingsPage</name> + <name>TextInputGroupBox</name> <message> - <source>Wrap submit message at:</source> - <translation>Zawijaj opisy zmian po:</translation> + <source>Text Input</source> + <translation>Wejście tekstu</translation> </message> <message> - <source> characters</source> - <translation> znakach</translation> + <source>Input mask</source> + <translation>Maska wejściowa</translation> </message> <message> - <source>An executable which is called with the submit message in a temporary file as first argument. It should return with an exit != 0 and a message on standard error to indicate failure.</source> - <translation>Plik wykonywalny, który jest uruchamiany z nazwą pliku tymczasowego przechowującego opis zmiany jako pierwszy argument. Powinien on zwrócić wartość różną od 0 i standardowy komunikat o błędzie w razie niepowodzenia.</translation> + <source>Echo mode</source> + <translation>Tryb echo</translation> </message> <message> - <source>Submit message check script:</source> - <translation type="obsolete">Skrypt sprawdzający opisy zmian:</translation> + <source>Pass. char</source> + <translation>Znak hasła</translation> </message> <message> - <source>A file listing user names and email addresses in a 4-column mailmap format: -name <email> alias <email></source> - <translation>Plik z listą nazw użytkowników i adresami pocztowymi w 4 kolumnach (format mailmap): -nazwa <email> alias <email></translation> + <source>Character displayed when users enter passwords.</source> + <translation>Znak wyświetlany podczas wpisywania hasła przez użytkownika.</translation> </message> <message> - <source>User/alias configuration file:</source> - <translation type="obsolete">Plik z konfiguracją użytkownik / alias:</translation> + <source>Read only</source> + <translation>Tylko do odczytu</translation> </message> <message> - <source>A simple file containing lines with field names like "Reviewed-By:" which will be added below the submit editor.</source> - <translation type="unfinished">Plik z liniami zawierającymi pola takie jak: "Reviewed-By:", który będzie dodany poniżej submit editor.</translation> + <source>Cursor visible</source> + <translation>Kursor widoczny</translation> </message> <message> - <source>User fields configuration file:</source> - <translation type="obsolete">Plik z konfiguracją pól użytkownika:</translation> + <source>Focus on press</source> + <translation>Fokus po naciśnięciu</translation> </message> <message> - <source>Specifies a command that is executed to graphically prompt for a password, -should a repository require SSH-authentication (see documentation on SSH and the environment variable SSH_ASKPASS).</source> - <translation>W przypadku, gdy repozytorium wymaga autoryzacji SSH, pole to definiuje komendę, która będzie pytała o hasło. -Sprawdź dokumentację SSH zmienną środowiskową SSH_ASKPASS.</translation> + <source>Auto scroll</source> + <translation>Automatyczne przewijanie</translation> </message> <message> - <source>SSH prompt command:</source> - <translation type="obsolete">Monit komendy SSH:</translation> + <source>Flags</source> + <translation>Flagi</translation> </message> +</context> +<context> + <name>Transformation</name> <message> - <source>Submit message &check script:</source> - <translation type="unfinished"></translation> + <source>Transformation</source> + <translation>Transformacja</translation> </message> <message> - <source>User/&alias configuration file:</source> - <translation type="unfinished"></translation> + <source>Origin</source> + <translation>Początek</translation> </message> <message> - <source>User &fields configuration file:</source> - <translation type="unfinished"></translation> + <source>Top</source> + <translation>Górny</translation> </message> <message> - <source>&Patch command:</source> - <translation type="unfinished">Komenda "&patch":</translation> + <source>Top left</source> + <translation>Górny lewy</translation> </message> <message> - <source>&SSH prompt command:</source> - <translation type="unfinished"></translation> + <source>Top right</source> + <translation>Górny prawy</translation> </message> -</context> -<context> - <name>BorderImageSpecifics</name> <message> - <source>Image</source> - <translation>Obrazek</translation> + <source>Left</source> + <translation>Lewy</translation> </message> <message> - <source>Source</source> - <translation>Źródło</translation> + <source>Center</source> + <translation>Centralny</translation> </message> <message> - <source>Source Size</source> - <translation type="obsolete">Rozmiar źródła</translation> + <source>Right</source> + <translation>Prawy</translation> </message> <message> - <source>Source size</source> - <translation>Rozmiar źródła</translation> + <source>Bottom left</source> + <translation>Dolny lewy</translation> </message> <message> - <source>Left</source> - <translation>Lewy</translation> + <source>Bottom right</source> + <translation>Dolny prawy</translation> </message> <message> - <source>Right</source> - <translation>Prawy</translation> + <source>Bottom</source> + <translation>Dolny</translation> </message> <message> - <source>Top</source> - <translation>Górny</translation> + <source>Scale</source> + <translation>Skala</translation> </message> <message> - <source>Bottom</source> - <translation>Dolny</translation> + <source>Rotation</source> + <translation>Rotacja</translation> </message> </context> <context> - <name>ExpressionEditor</name> + <name>Type</name> <message> - <source>Expression</source> - <translation>Wyrażenie</translation> + <source>Type</source> + <translation>Typ</translation> + </message> + <message> + <source>Id</source> + <translation>Identyfikator</translation> </message> </context> <context> - <name>Extended</name> + <name>Visibility</name> <message> - <source>Effect</source> - <translation>Efekt</translation> + <source>Visibility</source> + <translation>Widoczność</translation> </message> <message> - <source>Blur Radius:</source> - <translation>Promień rozmycia:</translation> + <source>Visible</source> + <translation>Widoczny</translation> </message> <message> - <source>Pixel Size:</source> - <translation>Rozmiar piksli:</translation> - </message> - <message> - <source>x Offset: </source> - <translation>Przesunięcie x: </translation> + <source>isVisible</source> + <translation>jest widoczny</translation> </message> <message> - <source>y Offset: </source> - <translation>Przesunięcie y: </translation> + <source>Smooth</source> + <translation>Gładki</translation> </message> -</context> -<context> - <name>ExtendedFunctionButton</name> <message> - <source>Reset</source> - <translation>Przywróć</translation> + <source>Clip</source> + <translation>Klip</translation> </message> <message> - <source>Set Expression</source> - <translation>Ustaw wyrażenie</translation> + <source>Opacity</source> + <translation>Nieprzezroczystość</translation> </message> </context> <context> - <name>FontGroupBox</name> - <message> - <source>Font</source> - <translation>Czcionka</translation> - </message> + <name>WebViewSpecifics</name> <message> - <source>Size</source> - <translation>Rozmiar</translation> + <source>WebView</source> + <translation>WidokSieci</translation> </message> <message> - <source>Font style</source> - <translation>Styl czcionki</translation> + <source>Url</source> + <translation>Url</translation> </message> <message> - <source>Font Style</source> - <translation type="obsolete">Styl czcionki</translation> + <source>Pref Width</source> + <translation>Pref. szer.</translation> </message> <message> - <source>Style</source> - <translation>Styl</translation> + <source>Preferred Width</source> + <translation>Preferowana szerokość</translation> </message> -</context> -<context> - <name>Geometry</name> <message> - <source>Geometry</source> - <translation>Geometria</translation> + <source>Pref Height</source> + <translation>Pref. wys.</translation> </message> <message> - <source>Position</source> - <translation>Pozycja</translation> + <source>Preferred Height</source> + <translation>Preferowana wysokość</translation> </message> <message> - <source>Size</source> - <translation>Rozmiar</translation> + <source>Scale</source> + <translation>Skala</translation> </message> <message> - <source>Lock aspect ratio</source> - <translation>Zablokuj aspekt</translation> + <source>Contents Scale</source> + <translation>Skala zawartości</translation> </message> </context> <context> - <name>ImageSpecifics</name> + <name>Utils::FancyMainWindow</name> <message> - <source>Image</source> - <translation>Obrazek</translation> + <source>Locked</source> + <translation>Zablokowany</translation> </message> <message> - <source>Source</source> - <translation>Źródło</translation> + <source>Reset to Default Layout</source> + <translation>Przywróć domyślne rozmieszczenie</translation> </message> +</context> +<context> + <name>SshKeyGenerator</name> <message> - <source>Fill mode</source> - <translation>Tryb wypełniania</translation> + <source>Error generating key: %1</source> + <translation>Błąd podczas generowania klucz: %1</translation> </message> +</context> +<context> + <name>CodePaster::FileShareProtocol</name> <message> - <source>Source size</source> - <translation>Rozmiar źródła</translation> + <source>Cannot open %1: %2</source> + <translation>Nie można otworzyć %1: %2</translation> </message> <message> - <source>Painted size</source> - <translation>Rozmiar powierzchni rysowania</translation> + <source>%1 does not appear to be a paster file.</source> + <translation>%1 nie wygląda na plik wklejacza.</translation> </message> <message> - <source>Fill Mode</source> - <translation type="obsolete">Tryb wypełniania</translation> + <source>Error in %1 at %2: %3</source> + <translation>Błąd w %1 w linii %2: %3</translation> </message> <message> - <source>Aliasing</source> - <translation>Antyaliasing</translation> + <source>Please configure a path.</source> + <translation>Skonfiguruj ścieżkę.</translation> </message> <message> - <source>Smooth</source> - <translation>Gładki</translation> + <source>Pasted: %1</source> + <translation>Wklejono: %1</translation> + </message> +</context> +<context> + <name>CodePaster::FileShareProtocolSettingsPage</name> + <message> + <source>Fileshare</source> + <translation>Fileshare</translation> </message> +</context> +<context> + <name>CodePaster::Protocol</name> <message> - <source>Source Size</source> - <translation type="obsolete">Powierzchnia źródła</translation> + <source>%1 - Configuration Error</source> + <translation>%1 - Błąd konfiguracji</translation> </message> <message> - <source>Painted Size</source> - <translation type="obsolete">Powierzchnia rysowania</translation> + <source>Settings...</source> + <translation>Ustawienia...</translation> </message> </context> <context> - <name>Layout</name> + <name>CppEditor</name> <message> - <source>Layout</source> - <translation>Rozmieszczenie</translation> + <source>C++</source> + <translation>C++</translation> </message> +</context> +<context> + <name>Debugger::Internal::PdbEngine</name> <message> - <source>Anchors</source> - <translation>Kotwice</translation> + <source>Running requested...</source> + <translation>Zażądano uruchomienia...</translation> </message> <message> - <source>Set anchors</source> - <translation>Ustaw kotwice</translation> + <source>Unable to start pdb '%1': %2</source> + <translation>Nie można rozpocząć pdb "%1": %2</translation> </message> <message> - <source>Setting anchors in states is not supported.</source> - <translation>Ustawianie kotwic w stanach nie jest obsługiwane.</translation> + <source>Adapter start failed</source> + <translation>Nie można uruchomić adaptera</translation> </message> <message> - <source>Target</source> - <translation>Produkt docelowy</translation> + <source>Python Error</source> + <translation>Błąd Pythona</translation> </message> <message> - <source>Margin</source> - <translation>Margines</translation> + <source>'%1' contains no identifier</source> + <translation>"%1" nie zawiera identyfikatora</translation> </message> -</context> -<context> - <name>Modifiers</name> <message> - <source>Manipulation</source> - <translation>Manipulacja</translation> + <source>String literal %1</source> + <translation>Stała znakowa %1</translation> </message> <message> - <source>Rotation</source> - <translation>Rotacja</translation> + <source>Cowardly refusing to evaluate expression '%1' with potential side effects</source> + <translation>Tchórzliwa odmowa obliczenia wyrażenia '%1' z możliwymi efektami ubocznymi</translation> </message> <message> - <source>z</source> - <translation>z</translation> + <source>Pdb I/O Error</source> + <translation>Błąd wejścia / wyjścia Pdb</translation> </message> -</context> -<context> - <name>RectangleColorGroupBox</name> <message> - <source>Colors</source> - <translation>Kolory</translation> + <source>The Pdb process failed to start. Either the invoked program '%1' is missing, or you may have insufficient permissions to invoke the program.</source> + <translation>Nie można rozpocząć procesu Pdb. Brak programu "%1" albo brak wymaganych uprawnień aby go uruchomić.</translation> </message> <message> - <source>Stops</source> - <translation>Punkty</translation> + <source>The Pdb process crashed some time after starting successfully.</source> + <translation>Proces Pdb zakończony błędem po poprawnym uruchomieniu.</translation> </message> <message> - <source>Gradient stops</source> - <translation>Punkty gradientu</translation> + <source>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</source> + <translation>Ostatnie wywołanie funkcji waitFor...() zakończyło się niepowodzeniem po określonym czasie. Stan QProcess się nie zmienił, możesz ponownie spróbować wywołać waitFor...().</translation> </message> <message> - <source>Gradient Stops</source> - <translation type="obsolete">Punkty gradientu</translation> + <source>An error occurred when attempting to write to the Pdb process. For example, the process may not be running, or it may have closed its input channel.</source> + <translation>Wystąpił błąd podczas próby pisania do procesu Pdb. Być może proces nie jest uruchomiony lub zamknął on swój kanał wejściowy.</translation> </message> <message> - <source>Rectangle</source> - <translation>Prostokąt</translation> + <source>An error occurred when attempting to read from the Pdb process. For example, the process may not be running.</source> + <translation>Wystąpił błąd podczas próby czytania z procesu Pdb. Być może proces nie jest uruchomiony.</translation> </message> <message> - <source>Border</source> - <translation>Brzeg</translation> + <source>An unknown error in the Pdb process occurred. </source> + <translation>Wystąpił nieznany błąd w procesie Pdb.</translation> </message> </context> <context> - <name>RectangleSpecifics</name> + <name>ProjectExplorer::Internal::SessionNameInputDialog</name> <message> - <source>Rectangle</source> - <translation>Prostokąt</translation> + <source>Enter the name of the session:</source> + <translation>Podaj nazwę sesji:</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::TargetSelector</name> <message> - <source>Border</source> - <translation>Brzeg</translation> + <source>Run</source> + <translation>Uruchamianie</translation> </message> <message> - <source>Radius</source> - <translation>Promień</translation> + <source>Build</source> + <translation>Budowanie</translation> </message> </context> <context> - <name>StandardTextColorGroupBox</name> - <message> - <source>Color</source> - <translation>Kolor</translation> - </message> + <name>QmlDesigner::ComponentView</name> <message> - <source>Text</source> - <translation>Tekst</translation> + <source>whole document</source> + <translation>cały dokument</translation> </message> +</context> +<context> + <name>FileWidget</name> <message> - <source>Style</source> - <translation>Styl</translation> + <source>Open File</source> + <translation>Otwórz plik</translation> </message> +</context> +<context> + <name>QmlDesigner::Internal::ModelPrivate</name> <message> - <source>Selection</source> - <translation>Zaznaczenie</translation> + <source>invalid type</source> + <translation>niepoprawny typ</translation> </message> +</context> +<context> + <name>Qt Quick</name> <message> - <source>Selected</source> - <translation>Zaznaczony</translation> + <source>Qt Quick</source> + <translation>Qt Quick</translation> </message> </context> <context> - <name>StandardTextGroupBox</name> + <name>QmlJSEditor::Internal::QmlJSPreviewRunner</name> <message> - <source>Text</source> - <translation>Tekst</translation> + <source>Failed to preview Qt Quick file</source> + <translation>Nie można utworzyć podglądu pliku Qt Quick</translation> </message> <message> - <source>Wrap mode</source> - <translation>Tryb zawijania</translation> + <source>Could not preview Qt Quick (QML) file. Reason: +%1</source> + <translation>Nie można utworzyć podglądu pliku Qt Quick (QML). Przyczyna: +%1</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::S60ProjectChecker</name> <message> - <source>Wrap Mode</source> - <translation type="obsolete">Tryb zawijania</translation> + <source>The Symbian SDK and the project sources must reside on the same drive.</source> + <translation>Symbian SDK i źródła projektu muszą być na wspólnym dysku.</translation> </message> <message> - <source>Alignment</source> - <translation>Wyrównanie</translation> + <source>The Symbian tool chain does not handle spaces in the project path '%1'.</source> + <translation>Zestaw narzędzi dla Symbiana nie obsługuje spacji w ścieżce projektu "%1".</translation> </message> <message> - <source></source> - <translation></translation> + <source>The Symbian tool chain does not handle special characters in the project name '%1' well.</source> + <translation>Zestaw narzędzi dla Symbiana nie obsługuje poprawnie znaków specjalnych w nazwie projektu "%1".</translation> </message> </context> <context> - <name>Switches</name> + <name>Qt4ProjectManager::Qt4Project</name> <message> - <source>special properties</source> - <translation type="obsolete">specjalne właściwości</translation> - </message> - <message> - <source>layout</source> - <translation type="obsolete">rozmieszczenie</translation> - </message> - <message> - <source>Special properties</source> - <translation>Specjalne właściwości</translation> + <source>Evaluating</source> + <translation>Ewaluowanie</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::QtVersion</name> <message> - <source>Layout</source> - <translation>Rozmieszczenie</translation> + <source>The Qt version is invalid: %1</source> + <extracomment>%1: Reason for being invalid</extracomment> + <translation>Wersja Qt nie jest poprawna: %1</translation> </message> <message> - <source>Advanced properties</source> - <translation>Zaawansowane właściwości</translation> + <source>The qmake command "%1" was not found or is not executable.</source> + <extracomment>%1: Path to qmake executable</extracomment> + <translation>Komenda qmake "%1" nie została odnaleziona lub nie jest plikiem wykonywalnym.</translation> </message> <message> - <source>advanced properties</source> - <translation type="obsolete">zaawansowane właściwości</translation> + <source>Qmake does not support build directories below the source directory.</source> + <translation>Qmake nie obsługuje budowania w katalogach poniżej katalogu ze źródłami.</translation> </message> <message> - <source>Advanced</source> - <translation>Zaawansowane</translation> + <source>The build directory needs to be at the same level as the source directory.</source> + <translation>Katalog przeznaczony do budowania musi być na tym samym poziomie co katalog ze źródłami.</translation> </message> </context> <context> - <name>TextEditSpecifics</name> - <message> - <source>Text Edit</source> - <translation>Edytor tekstu</translation> - </message> + <name>emptyPane</name> <message> - <source>Format</source> - <translation>Format</translation> + <source>None or multiple items selected.</source> + <translation>Nie zaznaczono wcale lub zaznaczono wiele elementów.</translation> </message> </context> <context> - <name>TextInputGroupBox</name> + <name>QmlDesigner::FormEditorWidget</name> <message> - <source>Text Input</source> - <translation>Wejście tekstu</translation> + <source>Snap to guides (E)</source> + <translation>Przyciągaj do przewodnich linii (E)</translation> </message> <message> - <source>Input mask</source> - <translation>Maska wejściowa</translation> + <source>Show bounding rectangles (A)</source> + <translation>Pokazuj otaczające prostokąty (A)</translation> </message> <message> - <source>Echo mode</source> - <translation>Tryb echo</translation> + <source>Only select items with content (S)</source> + <translation>Wybierz tylko elementy z zawartością (S)</translation> </message> <message> - <source>Pass. char</source> - <translation type="unfinished"></translation> + <source>Reset view (R)</source> + <translation>Zresetuj widok (R)</translation> </message> +</context> +<context> + <name>QmlDesigner::NavigatorTreeModel</name> <message> - <source>Character displayed when users enter passwords.</source> - <translation>Znak wyświetlany podczas wpisywania hasła przez użytkownika.</translation> + <source>Unknown item: %1</source> + <translation>Nieznany element: %1</translation> </message> <message> - <source>Read only</source> - <translation>Tylko do odczytu</translation> + <source>Invalid Id</source> + <translation>Niepoprawny identyfikator</translation> </message> <message> - <source>Cursor visible</source> - <translation>Kursor widoczny</translation> + <source>%1 is an invalid id</source> + <translation>%1 nie jest poprawnym identyfikatorem</translation> </message> <message> - <source>Focus on press</source> - <translation>Fokus po naciśnięciu</translation> + <source>%1 already exists</source> + <translation>%1 już istnieje</translation> </message> <message> - <source>Auto scroll</source> - <translation>Automatyczne przewijanie</translation> + <source>Warning</source> + <translation>Ostrzeżenie</translation> </message> <message> - <source>Input Mask</source> - <translation type="obsolete">Maska wejściowa</translation> + <source>Reparenting the component %1 here will cause the component %2 to be deleted. Do you want to proceed?</source> + <translation>Przeniesienie komponentu %1 tutaj spowoduje usunięcie komponentu %2. Czy chcesz kontynuować?</translation> </message> +</context> +<context> + <name>QmlDesigner::PropertyEditor</name> <message> - <source>Echo Mode</source> - <translation type="obsolete">Tryb echo</translation> + <source>Properties</source> + <translation>Właściwości</translation> </message> <message> - <source>Pass. Char</source> - <translation type="obsolete">Znak</translation> + <source>Invalid Id</source> + <translation>Niepoprawny identyfikator</translation> </message> <message> - <source>Password Character</source> - <translation type="obsolete">Znak markujący hasło</translation> + <source>%1 is an invalid id</source> + <translation>%1 nie jest poprawnym identyfikatorem</translation> </message> <message> - <source>Flags</source> - <translation>Flagi</translation> + <source>%1 already exists</source> + <translation>%1 już istnieje</translation> </message> +</context> +<context> + <name>QmlDesigner::InvalidArgumentException</name> <message> - <source>Read Only</source> - <translation type="obsolete">Tylko do odczytu</translation> + <source>Failed to create item of type %1</source> + <translation>Nie można utworzyć elementu typu %1</translation> </message> +</context> +<context> + <name>InvalidIdException</name> <message> - <source>Cursor Visible</source> - <translation type="obsolete">Kursor widoczny</translation> + <source>Only alphanumeric characters and underscore allowed. +Ids must begin with a lowercase letter.</source> + <translation>Dozwolone są tylko znaki alfanumeryczne i podkreślenia. +Identyfikatory muszą rozpoczynać się małą literą.</translation> </message> <message> - <source>Focus On Press</source> - <translation type="obsolete">Fokus po naciśnięciu</translation> + <source>Ids have to be unique.</source> + <translation>Identyfikatory muszą być unikatowe.</translation> </message> <message> - <source>Auto Scroll</source> - <translation type="obsolete">Automatyczne przewijanie</translation> + <source>Invalid Id: %1 +%2</source> + <translation>Niepoprawny identyfikator: %1 +%2</translation> </message> </context> <context> - <name>Transformation</name> + <name>CppTools::QuickFix</name> <message> - <source>Transformation</source> - <translation>Transformacja</translation> + <source>Rewrite Using %1</source> + <translation>Przepisz używając %1</translation> </message> <message> - <source>Origin</source> - <translation>Początek</translation> + <source>Swap Operands</source> + <translation>Zamień argumenty</translation> </message> <message> - <source>Top Left</source> - <translation type="obsolete">Górny lewy</translation> + <source>Rewrite Condition Using ||</source> + <translation>Przepisz warunek używając ||</translation> </message> <message> - <source>Top</source> - <translation>Górny</translation> + <source>Split Declaration</source> + <translation>Rozdziel deklarację</translation> + </message> + <message> + <source>Add Curly Braces</source> + <translation>Dodaj nawiasy klamrowe</translation> </message> <message> - <source>Top Right</source> - <translation type="obsolete">Górny prawy</translation> + <source>Move Declaration out of Condition</source> + <translation>Wyłącz deklarację z warunku</translation> </message> <message> - <source>Top left</source> - <translation>Górny lewy</translation> + <source>Split if Statement</source> + <translation>Rozdziel instrukcję if</translation> </message> <message> - <source>Top right</source> - <translation>Górny prawy</translation> + <source>Enclose in QLatin1Char(...)</source> + <translation>Umieść w QLatin1Char(...)</translation> </message> <message> - <source>Left</source> - <translation>Lewy</translation> + <source>Enclose in QLatin1String(...)</source> + <translation>Umieść w QLatin1String(...)</translation> </message> <message> - <source>Center</source> - <translation>Centralny</translation> + <source>Mark as Translatable</source> + <translation>Zaznacz jako przetłumaczalne</translation> </message> <message> - <source>Right</source> - <translation>Prawy</translation> + <source>#include Header File</source> + <translation>#include plik nagłówkowy</translation> </message> <message> - <source>Bottom left</source> - <translation>Dolny lewy</translation> + <source>Add Local Declaration</source> + <translation>Dodaj lokalną deklarację</translation> </message> <message> - <source>Bottom right</source> - <translation>Dolny prawy</translation> + <source>Convert to Camel Case</source> + <translation>Skonwertuj do stylu Camel Case</translation> </message> <message> - <source>Bottom Left</source> - <translation type="obsolete">Dolny lewy</translation> + <source>Convert to Objective-C String Literal</source> + <translation>Skonwertuj do stałej znakowej Objective-C</translation> </message> <message> - <source>Bottom</source> - <translation>Dolny</translation> + <source>Convert to Hexadecimal</source> + <translation>Skonwertuj do wartości szesnastkowej</translation> </message> <message> - <source>Bottom Right</source> - <translation type="obsolete">Dolny prawy</translation> + <source>Convert to Octal</source> + <translation>Skonwertuj do wartości ósemkowej</translation> </message> <message> - <source>Scale</source> - <translation>Skala</translation> + <source>Convert to Decimal</source> + <translation>Skonwertuj do wartości dziesiętnej</translation> </message> <message> - <source>Rotation</source> - <translation>Rotacja</translation> + <source>Complete Switch Statement</source> + <translation>Dokończ instrukcję "switch"</translation> </message> </context> <context> - <name>Type</name> + <name>GenericProjectManager::Internal::Manager</name> <message> - <source>Type</source> - <translation>Typ</translation> + <source>Failed opening project '%1': Project already open</source> + <translation>Nie można otworzyć projektu "%1": projekt jest już otwarty</translation> </message> +</context> +<context> + <name>QmlProjectManager::QmlTarget</name> <message> - <source>Id</source> - <translation>Identyfikator</translation> + <source>QML Viewer</source> + <comment>QML Viewer target display name</comment> + <translation>QML Viewer</translation> </message> </context> <context> - <name>Visibility</name> + <name>QmlDesigner::QmlModelView</name> <message> - <source>Visibility</source> - <translation>Widoczność</translation> + <source>Invalid Id</source> + <translation>Niepoprawny identyfikator</translation> </message> +</context> +<context> + <name>ContextPaneTextWidget</name> <message> - <source>Is visible</source> - <translation type="obsolete">jest widoczny</translation> + <source>Text</source> + <translation>Tekst</translation> </message> <message> - <source>Visible</source> - <translation>Widoczny</translation> + <source>Style</source> + <translation>Styl</translation> </message> <message> - <source>isVisible</source> - <translation>jest widoczny</translation> + <source>...</source> + <translation>...</translation> </message> +</context> +<context> + <name>Core::HelpManager</name> <message> - <source>Smooth</source> - <translation>Gładki</translation> + <source>Unfiltered</source> + <translation>Nieprzefiltrowane</translation> </message> +</context> +<context> + <name>FakeVim::Internal::FakeVimHandler::Private</name> <message> - <source>Clip</source> - <translation>Klip</translation> + <source> [New] </source> + <translation> [Nowy] </translation> </message> <message> - <source>Opacity</source> - <translation>Nieprzezroczystość</translation> + <source>Not an editor command: %1</source> + <translation>%1 nie jest komendą edytora</translation> </message> </context> <context> - <name>WebViewSpecifics</name> + <name>ContextPaneWidgetBorderImage</name> <message> - <source>WebView</source> - <translation>WidokSieci</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Url</source> - <translation>Url</translation> + <source>Stretch vertically. Scales the image to fit to the available area.</source> + <translation>Rozciągnięcie w pionie. Dopasowuje rozmiar obrazu do dostępnej powierzchni.</translation> </message> <message> - <source>Title</source> - <translation type="obsolete">Tytuł</translation> + <source>Repeat vertically. Tiles the image until there is no more space. May crop the last image.</source> + <translation>Powtarzanie w pionie. Ostatni obraz może zostać przycięty.</translation> </message> <message> - <source>Pref Width</source> - <translation>Pref. szer.</translation> + <source>Round. Like Repeat, but scales the images down to ensure that the last image is not cropped.</source> + <translation>Zaokrąglenie. Działa jak powtarzanie, ale dodatkowo skaluje w taki sposób, że ostatni obraz nie jest przycięty.</translation> </message> <message> - <source>Preferred Width</source> - <translation>Preferowana szerokość</translation> + <source>Repeat horizontally. Tiles the image until there is no more space. May crop the last image.</source> + <translation>Powtarzanie w poziomie. Ostatni obraz może zostać przycięty.</translation> </message> <message> - <source>Pref Height</source> - <translation>Pref. wys.</translation> + <source>10 x 10</source> + <translation>10 x 10</translation> </message> <message> - <source>Preferred Height</source> - <translation>Preferowana wysokość</translation> - </message> - <message> - <source>Scale</source> - <translation>Skala</translation> - </message> - <message> - <source>Contents Scale</source> - <translation>Skala zawartości</translation> + <source>Stretch horizontally. Scales the image to fit to the available area.</source> + <translation>Rozciągnięcie w poziomie. Dopasowuje rozmiar obrazu do dostępnej powierzchni.</translation> </message> </context> <context> - <name>Utils::FancyMainWindow</name> - <message> - <source>Locked</source> - <translation>Zablokowany</translation> - </message> + <name>ContextPaneWidgetImage</name> <message> - <source>Reset to Default Layout</source> - <translation>Przywróć domyślne rozmieszczenie</translation> + <source>Form</source> + <translation>Formularz</translation> </message> -</context> -<context> - <name>SshKeyGenerator</name> <message> - <source>Error generating key: %1</source> - <translation>Błąd podczas generowania klucz: %1</translation> + <source>The image is scaled to fit</source> + <translation>Dopasowuje obraz do dostępnej powierzchni</translation> </message> -</context> -<context> - <name>CodePaster::FileShareProtocol</name> <message> - <source>Cannot open %1: %2</source> - <translation>Nie można otworzyć %1: %2</translation> + <source>The image is stretched horizontally and tiled vertically</source> + <translation>Obraz jest rozciągany w poziomie i powtarzany w pionie</translation> </message> <message> - <source>%1 does not appear to be a paster file.</source> - <translation>%1 nie wygląda na plik wklejacza.</translation> + <source>The image is stretched vertically and tiled horizontally</source> + <translation>Obraz jest rozciągany w pionie i powtarzany w poziomie</translation> </message> <message> - <source>Error in %1 at %2: %3</source> - <translation>Błąd w %1 w linii %2: %3</translation> + <source>The image is duplicated horizontally and vertically</source> + <translation>Obraz jest powielany w poziomie i w pionie</translation> </message> <message> - <source>Please configure a path.</source> - <translation>Skonfiguruj ścieżkę.</translation> + <source>The image is scaled uniformly to fit without cropping</source> + <translation>Obraz jest skalowany jednolicie bez przycinania</translation> </message> <message> - <source>Unable to open a file for writing in %1: %2</source> - <translation type="obsolete">Nie można otworzyć pliku %1 do zapisu: %2</translation> + <source>The image is scaled uniformly to fill, cropping if necessary</source> + <translation>Obraz jest skalowany jednolicie, może zostać przycięty</translation> </message> <message> - <source>Pasted: %1</source> - <translation>Wklejono: %1</translation> + <source>10 x 10</source> + <translation>10 x 10</translation> </message> </context> <context> - <name>CodePaster::FileShareProtocolSettingsPage</name> + <name>ContextPaneWidgetRectangle</name> <message> - <source>Fileshare</source> - <translation>Fileshare</translation> + <source>Form</source> + <translation>Formularz</translation> </message> -</context> -<context> - <name>CodePaster::Protocol</name> <message> - <source>%1 - Configuration Error</source> - <translation>%1 - Błąd konfiguracji</translation> + <source>Gradient</source> + <translation>Gradient</translation> </message> <message> - <source>Settings...</source> - <translation>Ustawienia...</translation> + <source>Color</source> + <translation>Kolor</translation> </message> -</context> -<context> - <name>CppEditor</name> <message> - <source>C++</source> - <translation>C++</translation> + <source>...</source> + <translation>...</translation> + </message> + <message> + <source>Border</source> + <translation>Brzeg</translation> </message> </context> <context> - <name>Debugger::Internal::PdbEngine</name> + <name>EasingContextPane</name> <message> - <source>Running requested...</source> - <translation>Zażądano uruchomienia...</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Unable to start pdb '%1': %2</source> - <translation>Nie można rozpocząć pdb "%1": %2</translation> + <source>Play simulation</source> + <translation>Odtwórz symulację</translation> </message> <message> - <source>Adapter start failed</source> - <translation>Nie można uruchomić adaptera</translation> + <source>Easing</source> + <translation>Easing</translation> </message> <message> - <source>Python Error</source> - <translation>Błąd Pythona</translation> + <source>Type of easing curve</source> + <translation>Typ easing curve</translation> </message> <message> - <source>'%1' contains no identifier</source> - <translation>"%1" nie zawiera identyfikatora</translation> + <source>Subtype</source> + <translation>Podtyp</translation> </message> <message> - <source>String literal %1</source> - <translation>Stała znakowa %1</translation> + <source>Acceleration or deceleration of easing curve</source> + <translation>Przyspieszenie i opóźnienie easing curve</translation> </message> <message> - <source>Cowardly refusing to evaluate expression '%1' with potential side effects</source> - <translation>Tchórzliwa odmowa obliczenia wyrażenia '%1' z możliwymi efektami ubocznymi</translation> + <source>Duration</source> + <translation>Czas trwania</translation> </message> <message> - <source>Pdb I/O Error</source> - <translation>Błąd wejścia / wyjścia Pdb</translation> + <source>Duration of animation</source> + <translation>Czas trwania animacji</translation> </message> <message> - <source>The Pdb process failed to start. Either the invoked program '%1' is missing, or you may have insufficient permissions to invoke the program.</source> - <translation>Nie można rozpocząć procesu Pdb. Brak programu "%1" albo brak wymaganych uprawnień aby go uruchomić.</translation> + <source>INVALID</source> + <translation>NIEPOPRAWNA WARTOŚĆ</translation> </message> <message> - <source>The Pdb process crashed some time after starting successfully.</source> - <translation>Proces Pdb zakończony błędem po poprawnym uruchomieniu.</translation> + <source> ms</source> + <translation> ms</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>Ostatnie wywołanie funkcji waitFor...() zakończyło się niepowodzeniem po określonym czasie. Stan QProcess się nie zmienił, możesz ponownie spróbować wywołać waitFor...().</translation> + <source>Amplitude</source> + <translation>Amplituda</translation> </message> <message> - <source>An error occurred when attempting to write to the Pdb process. For example, the process may not be running, or it may have closed its input channel.</source> - <translation>Wystąpił błąd podczas próby pisania do procesu Pdb. Być może proces nie jest uruchomiony lub zamknął on swój kanał wejściowy.</translation> + <source>Amplitude of elastic and bounce easing curves</source> + <translation>Amplituda easing curve typu elastic lub bounce</translation> </message> <message> - <source>An error occurred when attempting to read from the Pdb process. For example, the process may not be running.</source> - <translation>Wystąpił błąd podczas próby czytania z procesu Pdb. Być może proces nie jest uruchomiony.</translation> + <source>Period</source> + <translation>Okres</translation> </message> <message> - <source>An unknown error in the Pdb process occurred. </source> - <translation>Wystąpił nieznany błąd w procesie Pdb.</translation> + <source>Easing period of an elastic curve</source> + <translation>Okres easing curve typu elastic</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::SessionNameInputDialog</name> <message> - <source>Enter the name of the session:</source> - <translation>Podaj nazwę sesji:</translation> + <source>Overshoot</source> + <translation>Przestrzał</translation> + </message> + <message> + <source>Easing overshoot for a back curve</source> + <translation>Przestrzał easing curve typu back</translation> </message> </context> <context> - <name>ProjectExplorer::Internal::TargetSelector</name> + <name>ClassView::Internal::NavigationWidget</name> <message> - <source>Run</source> - <translation>Uruchamianie</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Build</source> - <translation>Budowanie</translation> + <source>Show Subprojects</source> + <translation>Pokaż podprojekty</translation> </message> </context> <context> - <name>QmlDesigner::ComponentView</name> + <name>Help::Internal::RemoteFilterOptions</name> <message> - <source>whole document</source> - <translation>cały dokument</translation> + <source>Filter configuration</source> + <translation>Konfiguracja filtra</translation> </message> -</context> -<context> - <name>FileWidget</name> <message> - <source>Open File</source> - <translation>Otwórz plik</translation> + <source>Prefix:</source> + <translation>Przedrostek:</translation> </message> -</context> -<context> - <name>QmlDesigner::Internal::ModelPrivate</name> <message> - <source>invalid type</source> - <translation>niepoprawny typ</translation> + <source>Limit to prefix</source> + <translation>Ogranicz aktywność filtru: +aktywny tylko po wpisaniu przedrostka</translation> </message> -</context> -<context> - <name>Qt Quick</name> <message> - <source>Qt Quick</source> - <translation>Qt Quick</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> -</context> -<context> - <name>QmlJSEditor::Internal::QmlJSPreviewRunner</name> <message> - <source>Failed to preview Qt Quick file</source> - <translation>Nie można utworzyć podglądu pliku Qt Quick</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>Could not preview Qt Quick (QML) file. Reason: -%1</source> - <translation>Nie można utworzyć podglądu pliku Qt Quick (QML). Przyczyna: -%1</translation> + <source>Double-click to edit item.</source> + <translation>Kliknij dwukrotnie aby zmodyfikować element.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoPackageCreationStep</name> + <name>ImageViewer::Internal::ImageViewerToolbar</name> <message> - <source>Creating package file ...</source> - <translation type="obsolete">Tworzenie pliku pakietu...</translation> + <source>Show background</source> + <translation>Pokaż tło</translation> </message> <message> - <source>Error: Could not create file '%1'.</source> - <translation type="obsolete">Błąd: Nie można utworzyć pliku "%1".</translation> + <source>Show outline</source> + <translation>Pokaż zarys</translation> </message> <message> - <source>Package created.</source> - <translation type="obsolete">Utworzono pakiet.</translation> + <source>Fit image in the screen</source> + <translation>Dopasuj obrazek do ekranu</translation> </message> <message> - <source>Package Creation: Running command '%1'.</source> - <translation type="obsolete">Tworzenie pakietu: uruchamianie komendy "%1".</translation> + <source>Original size</source> + <translation>Oryginalny rozmiar</translation> </message> <message> - <source>Packaging failed.</source> - <translation type="obsolete">Błąd pakowania.</translation> + <source>Zoom In</source> + <translation>Powiększ</translation> </message> <message> - <source>Packaging for Maemo</source> - <translation type="obsolete">Pakowanie dla Maemo</translation> + <source>Zoom Out</source> + <translation>Pomniejsz</translation> </message> +</context> +<context> + <name>ComponentNameDialog</name> <message> - <source>Package up to date.</source> - <translation type="obsolete">Pakiet aktualny.</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Could not move package files from %1 to %2.</source> - <translation type="obsolete">Nie można przenieść plików pakietu z %1 do %2.</translation> + <source>Component name:</source> + <translation>Nazwa komponentu:</translation> </message> <message> - <source>Could not move package file from %1 to %2.</source> - <translation type="obsolete">Nie można przenieść pliku pakietu z %1 do %2.</translation> + <source>Path:</source> + <translation>Ścieżka:</translation> </message> <message> - <source>Packaging failed: Foreign debian directory detected.</source> - <translation type="obsolete">Błąd podczas tworzenia pakietu: wykryto obcy katalog Debiana.</translation> + <source>Choose...</source> + <translation>Wybierz...</translation> </message> +</context> +<context> + <name>QmlJSEditor::Internal::QuickToolBarSettingsPage</name> <message> - <source>You are not using a shadow build and there is a debian directory in your project root ('%1'). Qt Creator will not overwrite that directory. Please remove it or use the shadow build feature.</source> - <translation type="obsolete">Kompilacja w innym miejscu nie została użyta, a w projekcie występuje katalog debian ("%1"). Ten katalog nie zostanie nadpisany. Usuń go lub skompiluj projekt w innym miejscu.</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Could not create Debian directory '%1'.</source> - <translation type="obsolete">Nie można utworzyć katalogu Debian w "%1".</translation> + <source>Qt Quick Toolbars</source> + <translation>Paski narzędzi Qt Quick</translation> </message> <message> - <source>Could not copy file '%1' to '%2'</source> - <translation type="obsolete">Nie można skopiować pliku "%1" do "%2"</translation> + <source>Always show Qt Quick Toolbar</source> + <translation>Zawsze pokazuj paski narzędzi Qt Quick</translation> </message> <message> - <source>Packaging error: Could not start command '%1'. Reason: %2</source> - <translation type="obsolete">Błąd pakowania: Nie można uruchomić komendy "%1". Powód: %2</translation> + <source>If enabled, the toolbar will remain pinned to an absolute position.</source> + <translation>Jeśli włączone pasek narzędzi pozostanie przypięty w pozycji bezwzględnej.</translation> </message> <message> - <source>Exit code: %1</source> - <translation type="obsolete">Kod wyjściowy: %1</translation> + <source>Pin Qt Quick Toolbar</source> + <translation>Przypnij pasek narzędzi Qt Quick</translation> </message> <message> - <source>Could not remove directory '%1': %2</source> - <translation type="obsolete">Nie można usunąć katalogu "%1": %2</translation> + <source>Qt Quick ToolBar</source> + <translation>Pasek narzędzi Qt Quick</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::LibraryDetailsWidget</name> <message> - <source>Your project name contains characters not allowed in Debian packages. -They must only use lower-case letters, numbers, '-', '+' and '.'. -We will try to work around that, but you may experience problems.</source> - <translation type="obsolete">Nazwa projektu zawiera znaki, które są niedozwolone w pakietach Debiana. -Dozwolonymi znakami są tylko małe litery, liczby, '-', '+' oraz '.'. -Przy obecnej nazwie możesz spodziewać się problemów.</translation> + <source>Library:</source> + <translation>Biblioteka:</translation> </message> <message> - <source>Packaging Error: Command '%1' failed.</source> - <translation type="obsolete">Błąd pakowania: Komenda "%1" zakończona błędem.</translation> + <source>Library file:</source> + <translation>Plik z biblioteką:</translation> </message> <message> - <source> Reason: %1</source> - <translation type="obsolete"> Powód: %1</translation> + <source>Include path:</source> + <translation>Ścieżka do nagłówków:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoPackageCreationWidget</name> <message> - <source>No Version Available.</source> - <translation type="obsolete">Brak dostępnej wersji.</translation> + <source>Platform</source> + <translation>Platforma</translation> </message> <message> - <source>Could not read icon</source> - <translation type="obsolete">Nie można odczytać ikony</translation> + <source>Linux</source> + <translation>Linux</translation> </message> <message> - <source>Images</source> - <translation type="obsolete">Obrazki</translation> + <source>Mac</source> + <translation>Mac</translation> </message> <message> - <source>Choose Image (will be scaled to 48x48 pixels if necessary)</source> - <translation type="obsolete">Wybierz obraz (w razie potrzeby zostanie przeskalowany do 48x48)</translation> + <source>Windows</source> + <translation>Windows</translation> </message> <message> - <source>Could Not Set New Icon</source> - <translation type="obsolete">Nie można ustawić nowej ikony</translation> + <source>Symbian</source> + <translation>Symbian</translation> </message> <message> - <source>File Error</source> - <translation type="obsolete">Błąd pliku</translation> + <source>Linkage:</source> + <translation>Dowiązanie:</translation> </message> <message> - <source>Could not set project name.</source> - <translation type="obsolete">Nie można ustawić nazwy projektu.</translation> + <source>Dynamic</source> + <translation>Dynamiczne</translation> </message> <message> - <source>Could not set package name for project manager.</source> - <translation type="obsolete">Nie można ustawić nazwy pakietu dla menedżera projektu.</translation> + <source>Static</source> + <translation>Statyczne</translation> </message> <message> - <source>Could not set project description.</source> - <translation type="obsolete">Nie można ustawić opisu projektu.</translation> + <source>Mac:</source> + <translation>Mac:</translation> </message> <message> - <source><b>Create Package:</b> </source> - <translation type="obsolete"><b>Utwórz pakiet:</b> </translation> + <source>Library</source> + <translation>Biblioteka</translation> </message> <message> - <source>(Packaging disabled)</source> - <translation type="obsolete">(Pakowanie wyłączone)</translation> + <source>Framework</source> + <translation>Framework</translation> </message> <message> - <source>Could Not Set Version Number</source> - <translation type="obsolete">Nie można ustawić numeru wersji</translation> + <source>Windows:</source> + <translation>Windows:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoSshConfigDialog</name> <message> - <source>Save Public Key File</source> - <translation type="obsolete">Zachowaj plik z kluczem publicznym</translation> + <source>Library inside "debug" or "release" subfolder</source> + <translation>Biblioteka wewnątrz podkatalogu "debug" lub "release"</translation> </message> <message> - <source>Save Private Key File</source> - <translation type="obsolete">Zachowaj plik z kluczem prywatnym</translation> + <source>Add "d" suffix for debug version</source> + <translation>Dodaj przyrostek "d" do wersji debugowej</translation> </message> <message> - <source>Error writing file</source> - <translation type="obsolete">Błąd zapisywania do pliku</translation> + <source>Remove "d" suffix for release version</source> + <translation>Usuń przyrostek "d" z wersji release'owej</translation> </message> <message> - <source>Could not write file '%1': - %2</source> - <translation type="obsolete">Nie można zapisać pliku "%1": - %2</translation> + <source>Package:</source> + <translation>Pakiet:</translation> </message> </context> <context> - <name>ProjectExplorer::Internal::S60ProjectChecker</name> + <name>MobileLibraryWizardOptionPage</name> <message> - <source>The Symbian SDK and the project sources must reside on the same drive.</source> - <translation>Symbian SDK i źródła projektu muszą być na wspólnym dysku.</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>The Symbian tool chain does not handle spaces in the project path '%1'.</source> - <translation>Zestaw narzędzi dla Symbiana nie obsługuje spacji w ścieżce projektu "%1".</translation> + <source>Enable network access</source> + <translation>Włącz dostęp sieciowy</translation> </message> <message> - <source>The Symbian tool chain does not handle special characters in the project name '%1' well.</source> - <translation>Zestaw narzędzi dla Symbiana nie obsługuje poprawnie znaków specjalnych w nazwie projektu "%1".</translation> + <source>Target UID3:</source> + <translation>UID3 produktu:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Qt4Project</name> <message> - <source>Evaluating</source> - <translation>Ewaluowanie</translation> + <source>Plugin's directory name:</source> + <translation>Nazwa katalogu wtyczki:</translation> </message> </context> <context> - <name>Qt4ProjectManager::QtVersion</name> - <message> - <source>The Qt version is invalid: %1</source> - <extracomment>%1: Reason for being invalid</extracomment> - <translation>Wersja Qt nie jest poprawna: %1</translation> - </message> - <message> - <source>The qmake command "%1" was not found or is not executable.</source> - <extracomment>%1: Path to qmake executable</extracomment> - <translation>Komenda qmake "%1" nie została odnaleziona lub nie jest plikiem wykonywalnym.</translation> - </message> + <name>HighlighterSettingsPage</name> <message> - <source>Qmake does not support build directories below the source directory.</source> - <translation>Qmake nie obsługuje budowania w katalogach poniżej katalogu ze źródłami.</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>The build directory needs to be at the same level as the source directory.</source> - <translation>Katalog przeznaczony do budowania musi być na tym samym poziomie co katalog ze źródłami.</translation> + <source><html><head/><body> +<p>Highlight definitions are provided by the <a href="http://kate-editor.org/">Kate Text Editor</a>.</p></body></html></source> + <translation><html><head/><body> +<p>Definicje podświetleń są dostarczone przez <a href="http://kate-editor.org/">edytor tekstu Kate</a>.</p></body></html></translation> </message> -</context> -<context> - <name>emptyPane</name> <message> - <source>none or multiple items selected</source> - <translation type="obsolete">nie zaznaczono lub zaznaczono wiele elementów</translation> + <source>Syntax Highlight Definition Files</source> + <translation>Pliki z definicjami podświetleń składni</translation> </message> <message> - <source>None or multiple items selected.</source> - <translation>Nie zaznaczono wcale lub zaznaczono wiele elementów.</translation> + <source>Location:</source> + <translation>Położenie:</translation> </message> -</context> -<context> - <name>QmlDesigner::FormEditorWidget</name> <message> - <source>Snap to guides (E)</source> - <translation>Przyciągaj do przewodnich linii (E)</translation> + <source>Use fallback location</source> + <translation>Użyj położenia zastępczego</translation> </message> <message> - <source>Show bounding rectangles (A)</source> - <translation>Pokazuj otaczające prostokąty (A)</translation> + <source>Behavior</source> + <translation>Zachowanie</translation> </message> <message> - <source>Only select items with content (S)</source> - <translation>Wybierz tylko elementy z zawartością (S)</translation> + <source>Alert when a highlight definition is not found</source> + <translation>Ostrzegaj w przypadku braku definicji podświetlenia</translation> </message> <message> - <source>Reset view (R)</source> - <translation>Zresetuj widok (R)</translation> + <source>Ignored file patterns:</source> + <translation>Ignorowane wzorce plików:</translation> </message> </context> <context> - <name>QmlDesigner::NavigatorTreeModel</name> + <name>ManageDefinitionsDialog</name> <message> - <source>Unknown item: %1</source> - <translation>Nieznany element: %1</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Invalid Id</source> - <translation>Niepoprawny identyfikator</translation> + <source>Definitions</source> + <translation>Definicje</translation> </message> <message> - <source>%1 is an invalid id</source> - <translation>%1 nie jest poprawnym identyfikatorem</translation> + <source>Select All</source> + <translation>Zaznacz wszystko</translation> </message> <message> - <source>%1 already exists</source> - <translation>%1 już istnieje</translation> + <source>Clear Selection</source> + <translation>Usuń selekcję</translation> </message> <message> - <source>Warning</source> - <translation>Ostrzeżenie</translation> + <source>Invert Selection</source> + <translation>Odwróć selekcję</translation> </message> <message> - <source>Reparenting the component %1 here will cause the component %2 to be deleted. Do you want to proceed?</source> - <translation>Przeniesienie komponentu %1 tutaj spowoduje usunięcie komponentu %2. Czy chcesz kontynuować?</translation> + <source>Download Selected Definitions</source> + <translation>Pobierz zaznaczone definicje</translation> </message> </context> <context> - <name>QmlDesigner::PropertyEditor</name> + <name>QmlEditorWidgets::ContextPaneWidget</name> <message> - <source>Properties</source> - <translation>Właściwości</translation> + <source>Hides this toolbar.</source> + <translation>Ukrywa ten pasek narzędzi.</translation> </message> <message> - <source>Invalid Id</source> - <translation>Niepoprawny identyfikator</translation> + <source>Pin Toolbar</source> + <translation>Przypnij pasek narzędzi</translation> </message> <message> - <source>%1 is an invalid id</source> - <translation>%1 nie jest poprawnym identyfikatorem</translation> + <source>Show Always</source> + <translation>Zawsze pokazuj</translation> </message> <message> - <source>%1 already exists</source> - <translation>%1 już istnieje</translation> + <source>Unpins the toolbar and moves it to the default position.</source> + <translation>Odpina pasek narzędzi i przenosi go do domyślnego położenia.</translation> + </message> + <message> + <source>Hides this toolbar. This toolbar can be permanently disabled in the options page or in the context menu.</source> + <translation>Ukrywa ten pasek narzędzi. Może być on stale wyłączony na stronie z opcjami lub z podręcznego menu.</translation> </message> </context> <context> - <name>QmlDesigner::InvalidArgumentException</name> + <name>QmlEditorWidgets::ContextPaneWidgetImage</name> <message> - <source>Failed to create item of type %1</source> - <translation>Nie można utworzyć elementu typu %1</translation> + <source>double click for preview</source> + <translation>kliknij dwukrotnie aby wyświetlić podgląd</translation> </message> </context> <context> - <name>InvalidIdException</name> + <name>QmlEditorWidgets::FileWidget</name> <message> - <source>Only alphanumeric characters and underscore allowed. -Ids must begin with a lowercase letter.</source> - <translation>Dozwolone są tylko znaki alfanumeryczne i podkreślenia. -Identyfikatory muszą rozpoczynać się małą literą.</translation> + <source>Open File</source> + <translation>Otwórz plik</translation> </message> +</context> +<context> + <name>QmlJS::Bind</name> <message> - <source>Ids have to be unique.</source> - <translation>Identyfikatory muszą być unikatowe.</translation> + <source>expected two numbers separated by a dot</source> + <translation>oczekiwano dwóch liczb oddzielonych kropką</translation> </message> <message> - <source>Invalid Id: %1 -%2</source> - <translation>Niepoprawny identyfikator: %1 -%2</translation> + <source>package import requires a version number</source> + <translation>import pakietu wymaga podania numeru wersji</translation> + </message> + <message> + <source>file or directory not found</source> + <translation>nie można odnaleźć pliku lub katalogu</translation> </message> </context> <context> - <name>CppTools::QuickFix</name> + <name>Utils::DebuggerLanguageChooser</name> <message> - <source>Rewrite Using %1</source> - <translation>Przepisz używając %1</translation> + <source>C++</source> + <translation>C++</translation> </message> <message> - <source>Swap Operands</source> - <translation>Zamień argumenty</translation> + <source>QML</source> + <translation>QML</translation> </message> <message> - <source>Rewrite Condition Using ||</source> - <translation>Przepisz warunek używając ||</translation> + <source>Debug port:</source> + <translation>Port debugowania:</translation> </message> <message> - <source>Split Declaration</source> - <translation>Rozdziel deklarację</translation> + <source><a href="qthelp://com.nokia.qtcreator/doc/creator-debugging-qml.html">What are the prerequisites?</a></source> + <translation><a href="qthelp://com.nokia.qtcreator/doc/creator-debugging-qml.html">Jakie są wymagania?</a></translation> </message> +</context> +<context> + <name>Utils::SynchronousProcess</name> <message> - <source>Add Curly Braces</source> - <translation>Dodaj nawiasy klamrowe</translation> + <source>The command '%1' finished successfully.</source> + <translation>Komenda "%1" poprawnie zakończona.</translation> </message> <message> - <source>Move Declaration out of Condition</source> - <translation>Wyłącz deklarację z warunku</translation> + <source>The command '%1' terminated with exit code %2.</source> + <translation>Komenda "%1" zakończona kodem wyjściowym %2.</translation> </message> <message> - <source>Split if Statement</source> - <translation>Rozdziel instrukcję if</translation> + <source>The command '%1' terminated abnormally.</source> + <translation>Komenda "%1" niepoprawnie zakończona.</translation> </message> <message> - <source>Enclose in QLatin1Char(...)</source> - <translation>Umieść w QLatin1Char(...)</translation> + <source>The command '%1' could not be started.</source> + <translation>Komenda "%1" nie może zostać uruchomiona.</translation> </message> <message> - <source>Enclose in QLatin1String(...)</source> - <translation>Umieść w QLatin1String(...)</translation> + <source>The command '%1' did not respond within the timeout limit (%2 ms).</source> + <translation>Komenda "%1" nie odpowiedziała w określonym czasie (%2 ms).</translation> </message> <message> - <source>Mark as Translatable</source> - <translation>Zaznacz jako przetłumaczalne</translation> + <source>Process not Responding</source> + <translation>Brak odpowiedzi</translation> </message> <message> - <source>#include Header File</source> - <translation>#include plik nagłówkowy</translation> - </message> - <message> - <source>Add Local Declaration</source> - <translation>Dodaj lokalną deklarację</translation> - </message> - <message> - <source>Convert to Camel Case</source> - <translation>Skonwertuj do stylu Camel Case</translation> + <source>The process is not responding.</source> + <translation>Proces nie odpowiada.</translation> </message> <message> - <source>Add local Declaration</source> - <translation type="obsolete">Dodaj lokalną deklarację</translation> + <source>The process '%1' is not responding.</source> + <translation>Proces "%1" nie odpowiada.</translation> </message> <message> - <source>Convert to Objective-C String Literal</source> - <translation>Skonwertuj do stałej znakowej Objective-C</translation> + <source>Would you like to terminate it?</source> + <translation>Czy chcesz go zakończyć?</translation> </message> +</context> +<context> + <name>ClassView::Internal::NavigationWidgetFactory</name> <message> - <source>Convert to Hexadecimal</source> - <translation>Skonwertuj do wartości szesnastkowej</translation> + <source>Class View</source> + <translation>Widok klas</translation> </message> +</context> +<context> + <name>Core::Internal::CommandComboBox</name> <message> - <source>Convert to Octal</source> - <translation>Skonwertuj do wartości ósemkowej</translation> + <source>Activate %1 Pane</source> + <translation>Uaktywnij panel %1</translation> </message> +</context> +<context> + <name>Core::NavigationWidget</name> <message> - <source>Convert to Decimal</source> - <translation>Skonwertuj do wartości dziesiętnej</translation> + <source>Activate %1 Pane</source> + <translation>Uaktywnij panel %1</translation> </message> <message> - <source>Complete Switch Statement</source> - <translation>Dokończ instrukcję "switch"</translation> + <source>Hide Sidebar</source> + <translation>Ukryj boczny pasek</translation> </message> <message> - <source>Convert to Camel Case ...</source> - <translation type="obsolete">Skonwertuj do stylu Camel Case ...</translation> + <source>Show Sidebar</source> + <translation>Pokaż boczny pasek</translation> </message> </context> <context> - <name>GenericProjectManager::Internal::Manager</name> + <name>SshConnection</name> <message> - <source>Failed opening project '%1': Project already open</source> - <translation>Nie można otworzyć projektu "%1": projekt jest już otwarty</translation> + <source>Server and client capabilities don't match. Client list was: %1. +Server list was %2.</source> + <translation>Niezgodność zdolności serwera i klienta. +Lista klienta: %1. +Lista serwera: %2.</translation> </message> </context> <context> - <name>QmlProjectManager::QmlTarget</name> + <name>CodePaster::NetworkProtocol</name> <message> - <source>QML Viewer</source> - <comment>QML Viewer target display name</comment> - <translation>QML Viewer</translation> + <source>Checking connection</source> + <translation>Sprawdzanie połączenia</translation> </message> -</context> -<context> - <name>QmlDesigner::QmlModelView</name> <message> - <source>Invalid Id</source> - <translation>Niepoprawny identyfikator</translation> + <source>Connecting to %1...</source> + <translation>Łączenie z %1...</translation> </message> </context> <context> - <name>ContextPaneTextWidget</name> - <message> - <source>Text</source> - <translation>Tekst</translation> - </message> + <name>CheckUndefinedSymbols</name> <message> - <source>Style</source> - <translation>Styl</translation> + <source>Expected a namespace-name</source> + <translation>Oczekiwano nazwy przestrzeni nazw</translation> </message> +</context> +<context> + <name>CppEditor::Internal::CppTypeHierarchyWidget</name> <message> - <source>...</source> - <translation>...</translation> + <source>No type hierarchy available</source> + <translation>Brak dostępnej hierarchii typów</translation> </message> </context> <context> - <name>Core::HelpManager</name> + <name>CppEditor::Internal::CppTypeHierarchyFactory</name> <message> - <source>Unfiltered</source> - <translation>Nieprzefiltrowane</translation> + <source>Type Hierarchy</source> + <translation>Hierarchia typów</translation> </message> </context> <context> - <name>FakeVim::Internal::FakeVimHandler::Private</name> + <name>CppTools::Internal::SymbolsFindFilter</name> <message> - <source> [New] </source> - <translation> [Nowy] </translation> + <source>C++ Symbols</source> + <translation>Symbole C++</translation> </message> <message> - <source>Not an editor command: %1</source> - <translation>%1 nie jest komendą edytora</translation> + <source>Searching</source> + <translation>Przeszukiwanie</translation> </message> </context> <context> - <name>ContextPaneWidgetBorderImage</name> + <name>CppTools::Internal::SymbolsFindFilterConfigWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Types:</source> + <translation>Typy:</translation> </message> <message> - <source>Stretch vertically. Scales the image to fit to the available area.</source> - <translation>Rozciągnięcie w pionie. Dopasowuje rozmiar obrazu do dostępnej powierzchni.</translation> + <source>Classes</source> + <translation>Klasy</translation> </message> <message> - <source>Repeat vertically. Tiles the image until there is no more space. May crop the last image.</source> - <translation>Powtarzanie w pionie. Ostatni obraz może zostać przycięty.</translation> + <source>Methods</source> + <translation>Metody</translation> </message> <message> - <source>Round. Like Repeat, but scales the images down to ensure that the last image is not cropped.</source> - <translation>Zaokrąglenie. Działa jak powtarzanie, ale dodatkowo skaluje w taki sposób, że ostatni obraz nie jest przycięty.</translation> + <source>Enums</source> + <translation>Typy wyliczeniowe</translation> </message> <message> - <source>Repeat horizontally. Tiles the image until there is no more space. May crop the last image.</source> - <translation>Powtarzanie w poziomie. Ostatni obraz może zostać przycięty.</translation> + <source>Declarations</source> + <translation>Deklaracje</translation> </message> <message> - <source>10 x 10</source> - <translation>10 x 10</translation> + <source>Projects only</source> + <translation>Tylko projekty</translation> </message> <message> - <source>Stretch horizontally. Scales the image to fit to the available area.</source> - <translation>Rozciągnięcie w poziomie. Dopasowuje rozmiar obrazu do dostępnej powierzchni.</translation> + <source>All files</source> + <translation>Wszystkie pliki</translation> </message> </context> <context> - <name>ContextPaneWidgetImage</name> + <name>Debugger::Internal::BreakpointDialog</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>File name and line number</source> + <translation>Nazwa pliku i numer linii</translation> </message> <message> - <source>The image is scaled to fit</source> - <translation>Dopasowuje obraz do dostępnej powierzchni</translation> + <source>Function name</source> + <translation>Nazwa funkcji</translation> </message> <message> - <source>The image is stretched horizontally and tiled vertically</source> - <translation>Obraz jest rozciągany w poziomie i powtarzany w pionie</translation> + <source>Break on memory address</source> + <translation>Przerwij na adresie pamięci</translation> </message> <message> - <source>The image is stretched vertically and tiled horizontally</source> - <translation>Obraz jest rozciągany w pionie i powtarzany w poziomie</translation> + <source>Break when C++ exception is thrown</source> + <translation>Przerwij po rzuceniu wyjątku C++</translation> </message> <message> - <source>The image is duplicated horizontally and vertically</source> - <translation>Obraz jest powielany w poziomie i w pionie</translation> + <source>Break when C++ exception is caught</source> + <translation>Przerwij po złapaniu wyjątku C++</translation> </message> <message> - <source>The image is scaled uniformly to fit without cropping</source> - <translation>Obraz jest skalowany jednolicie bez przycinania</translation> + <source>Break when function "main" starts</source> + <translation>Przerwij po rozpoczęciu funkcji "main"</translation> </message> <message> - <source>The image is scaled uniformly to fill, cropping if necessary</source> - <translation>Obraz jest skalowany jednolicie, może zostać przycięty</translation> + <source>Break when a new process is forked</source> + <translation>Przerwij po rozwidleniu procesu</translation> </message> <message> - <source>10 x 10</source> - <translation>10 x 10</translation> + <source>Break when a new process is executed</source> + <translation>Przerwij po uruchomieniu nowego procesu</translation> </message> -</context> -<context> - <name>ContextPaneWidgetRectangle</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Break when a system call is executed</source> + <translation>Przerwij po wykonaniu zawołania systemowego</translation> </message> <message> - <source>Gradient</source> - <translation>Gradient</translation> + <source>Break on data access at fixed address</source> + <translation>Przerwij przy dostępie do danych pod stałym adresem</translation> </message> <message> - <source>Color</source> - <translation>Kolor</translation> + <source>Break on data access at address given by expression</source> + <translation>Przerwij przy dostępie do danych pod adresem określonym przez wyrażenie</translation> </message> <message> - <source>...</source> - <translation>...</translation> + <source>Debugger command to be executed when the breakpoint is hit. +GDB allows for specifying a sequence of commands separated by the delimiter '\n'.</source> + <translation>Komenda debuggera, która zostanie uruchomiona, gdy pułapka zostanie osiągnięta. +GDB umożliwia podawanie sekwencji komend oddzielonych separatorem "\n".</translation> </message> <message> - <source>Border</source> - <translation>Brzeg</translation> + <source><html><head/><body><p>Determines how the path is specified when setting breakpoints:</p><ul><li><i>Use Engine Default</i>: Preferred setting of the debugger engine.</li><li><i>Use Full Path</i>: Pass full path, avoiding ambiguities should files of the same name exist in several modules. This is the engine default for CDB and LLDB.</li><li><i>Use File Name</i>: Pass the file name only. This is useful when using a source tree whose location does not match the one used when building the modules. It is the engine default for GDB as using full paths can be slow with this engine.</li></ul></body></html></source> + <translation><html><head/><body><p>Określa sposób wyznaczania ścieżki podczas ustawiania pułapek:</p><ul><li><i>Używaj domyślnego silnika</i>: preferowane ustawienie silnika debuggera.</li><li><i>Używaj pełnej ścieżki</i>: przekazuj pełną ścieżkę, aby uniknąć niejednoznaczności, gdy istnieją pliki o tej samej nazwie w różnych modułach. Jest to domyślne ustawienie dla silników CDB i LLDB.</li><li><i>Używaj nazwy pliku</i>: przekazuj tylko nazwę pliku. Jest to pomocne w trakcie używania drzewa źródeł, którego położenie jest inne niż użyte podczas budowania modułu. Jest to domyślne ustawienie silnika GDB, ponieważ używanie pełnych ścieżek może go spowolnić.</li></ul></body></html></translation> </message> -</context> -<context> - <name>EasingContextPane</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>Specifying the module (base name of the library or executable) +for function or file type breakpoints can significantly speed up +debugger start-up times (CDB, LLDB).</source> + <translation>Podanie modułu (nazwy bazowej biblioteki lub pliku wykonywalnego) +dla funkcji bądź pułapek może znacząco przyspieszyć uruchomienie +debuggera (CDB, LLDB).</translation> </message> <message> - <source>Play simulation</source> - <translation>Odtwórz symulację</translation> + <source>Edit Breakpoint Properties</source> + <translation>Zmodyfikuj właściwości pułapki</translation> </message> <message> - <source>Easing</source> - <translation>Easing</translation> + <source>Basic</source> + <translation>Podstawowe</translation> </message> <message> - <source>Type of easing curve</source> - <translation>Typ easing curve</translation> + <source>Breakpoint &type:</source> + <translation>&Typ pułapki:</translation> </message> <message> - <source>Subtype</source> - <translation>Podtyp</translation> + <source>&File name:</source> + <translation>Nazwa &pliku:</translation> </message> <message> - <source>Acceleration or deceleration of easing curve</source> - <translation>Przyspieszenie i opóźnienie easing curve</translation> + <source>&Line number:</source> + <translation>Numer &linii:</translation> </message> <message> - <source>Duration</source> - <translation>Czas trwania</translation> + <source>&Enabled:</source> + <translation>&Włączona:</translation> </message> <message> - <source>Duration of animation</source> - <translation>Czas trwania animacji</translation> + <source>&Address:</source> + <translation>&Adres:</translation> </message> <message> - <source>INVALID</source> - <translation>NIEPOPRAWNA WARTOŚĆ</translation> + <source>Fun&ction:</source> + <translation>&Funkcja:</translation> </message> <message> - <source> ms</source> - <translation> ms</translation> + <source>Advanced</source> + <translation>Zaawansowane</translation> </message> <message> - <source>Amplitude</source> - <translation>Amplituda</translation> + <source>T&racepoint only:</source> + <translation>Tylko t&racepoint:</translation> </message> <message> - <source>Amplitude of elastic and bounce easing curves</source> - <translation>Amplituda easing curve typu elastic lub bounce</translation> + <source>Pat&h:</source> + <translation>Ś&cieżka:</translation> </message> <message> - <source>Period</source> - <translation>Okres</translation> + <source>&Module:</source> + <translation>&Moduł:</translation> </message> <message> - <source>Easing period of an elastic curve</source> - <translation>Okres easing curve typu elastic</translation> + <source>&Command:</source> + <translation>&Komenda:</translation> </message> <message> - <source>Overshoot</source> - <translation>Przestrzał</translation> - </message> - <message> - <source>Easing overshoot for a back curve</source> - <translation>Przestrzał easing curve typu back</translation> - </message> -</context> -<context> - <name>ClassView::Internal::NavigationWidget</name> - <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Use Engine Default</source> + <translation>Używaj domyślnego silnika</translation> </message> <message> - <source>Show Subprojects</source> - <translation>Pokaż podprojekty</translation> + <source>Use Full Path</source> + <translation>Użyj pełnej ścieżki</translation> </message> -</context> -<context> - <name>Help::Internal::RemoteFilterOptions</name> <message> - <source>Filter configuration</source> - <translation>Konfiguracja filtra</translation> + <source>Use File Name</source> + <translation>Używaj nazwy pliku</translation> </message> <message> - <source>Prefix:</source> - <translation>Przedrostek:</translation> + <source>C&ondition:</source> + <translation>War&unek:</translation> </message> <message> - <source>Limit to prefix</source> - <translation>Ogranicz aktywność filtru: -aktywny tylko po wpisaniu przedrostka</translation> + <source>&Ignore count:</source> + <translation>L&icznik pominięć:</translation> </message> <message> - <source>Add</source> - <translation>Dodaj</translation> + <source>&Thread specification:</source> + <translation>&Specyfikacja wątku:</translation> </message> <message> - <source>Remove</source> - <translation>Usuń</translation> + <source>&Expression:</source> + <translation>Wyraż&enie:</translation> </message> <message> - <source>Double-click to edit item.</source> - <translation>Kliknij dwukrotnie aby zmodyfikować element.</translation> + <source>&Message:</source> + <translation>K&omunikat:</translation> </message> </context> <context> - <name>ImageViewer::Internal::ImageViewerToolbar</name> + <name>Debugger::Internal::CdbEngine</name> <message> - <source>Show background</source> - <translation>Pokaż tło</translation> + <source>There is no CDB binary available for binaries in format '%1'</source> + <translation>Brak dostępnego pliku wykonywalnego CDB dla plików binarnych w formaci "%1"</translation> </message> <message> - <source>Show outline</source> - <translation>Pokaż zarys</translation> + <source>The CDB debug engine required for %1 is currently disabled.</source> + <translation>Silnik debugowy CDB wymagany dla %1 jest aktualnie wyłączony.</translation> </message> <message> - <source>Fit image in the screen</source> - <translation>Dopasuj obrazek do ekranu</translation> + <source>The CDB engine does not support start mode %1.</source> + <translation>Silnik CDB nie obsługuje trybu start %1.</translation> </message> <message> - <source>Original size</source> - <translation>Oryginalny rozmiar</translation> + <source>The CDB debug engine does not support the %1 ABI.</source> + <translation>Silnik CDB nie obsługuje ABI %1.</translation> </message> <message> - <source>Zoom In</source> - <translation>Powiększ</translation> + <source>The console process '%1' could not be started.</source> + <translation>Nie można uruchomić procesu konsolowego "%1".</translation> </message> <message> - <source>Zoom Out</source> - <translation>Pomniejsz</translation> + <source>Debugger Error</source> + <translation>Błąd debuggera</translation> </message> -</context> -<context> - <name>ComponentNameDialog</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>There is no CDB executable specified.</source> + <translation>Brak podanego pliku wykonywalnego CDB.</translation> </message> <message> - <source>Component name:</source> - <translation>Nazwa komponentu:</translation> + <source>CDB crashed</source> + <translation>CDB zakończone błędem</translation> </message> <message> - <source>Path:</source> - <translation>Ścieżka:</translation> + <source>CDB exited (%1)</source> + <translation>CDB zakończył pracę (%1)</translation> </message> <message> - <source>Choose...</source> - <translation>Wybierz...</translation> + <source>Unable to add expression</source> + <translation>Nie można dodać wyrażenia</translation> </message> -</context> -<context> - <name>QmlJSEditor::Internal::QuickToolBarSettingsPage</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Interrupting is not possible in remote sessions.</source> + <translation>Przerywanie nie jest możliwe w zdalnych sesjach.</translation> </message> <message> - <source>Qt Quick Toolbars</source> - <translation>Paski narzędzi Qt Quick</translation> + <source>Trace point %1 (%2) in thread %3 triggered.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Always show Qt Quick Toolbar</source> - <translation>Zawsze pokazuj paski narzędzi Qt Quick</translation> + <source>Conditional breakpoint %1 (%2) in thread %3 triggered, examining expression '%4'.</source> + <translation>Pułapka warunkowa %1 (%2) w wątku %3 została wyzwolona, sprawdzanie wyrażenia "%4".</translation> </message> <message> - <source>If enabled, the toolbar will remain pinned to an absolute position.</source> - <translation>Jeśli włączone pasek narzędzi pozostanie przypięty w pozycji bezwzględnej.</translation> + <source>Malformed stop response received.</source> + <translation>Niepoprawna odpowiedź na stop.</translation> </message> <message> - <source>Pin Qt Quick Toolbar</source> - <translation>Przypnij pasek narzędzi Qt Quick</translation> + <source>Switching to main thread...</source> + <translation>Przełączanie do głównego wątku...</translation> </message> <message> - <source>Qt Quick ToolBar</source> - <translation>Pasek narzędzi Qt Quick</translation> + <source>Value %1 obtained from evaluating the condition of breakpoint %2, stopping.</source> + <translation>Wartość %1 otrzymana po przetworzeniu warunku pułapki %2, zatrzymano.</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::LibraryDetailsWidget</name> <message> - <source>Library:</source> - <translation>Biblioteka:</translation> + <source>Value 0 obtained from evaluating the condition of breakpoint %1, continuing.</source> + <translation>Wartość 0 otrzymana po przetworzeniu warunku pułapki %1, kontynuowanie.</translation> </message> <message> - <source>Library file:</source> - <translation>Plik z biblioteką:</translation> + <source>"Select Widget to Watch": Please stop the application first.</source> + <translation>"Wybierz widżet do obserwowania": Najpierw zatrzymaj aplikację.</translation> </message> <message> - <source>Include path:</source> - <translation>Ścieżka do nagłówków:</translation> + <source>"Select Widget to Watch": Not supported in state '%1'.</source> + <translation>"Wybierz widżet do obserwowania": Nie obsługiwane w stanie "%1".</translation> </message> +</context> +<context> + <name>Debugger::Internal::CacheDirectoryDialog</name> <message> - <source>Platform</source> - <translation>Platforma</translation> + <source>Select Local Cache Folder</source> + <translation>Wybierz katalog z lokalnym cache</translation> </message> <message> - <source>Linux</source> - <translation>Linux</translation> + <source>Path:</source> + <translation>Ścieżka:</translation> </message> <message> - <source>Mac</source> - <translation>Mac</translation> + <source>Already Exists</source> + <translation>Już istnieje</translation> </message> <message> - <source>Windows</source> - <translation>Windows</translation> + <source>A file named '%1' already exists.</source> + <translation>Plik o nazwie "%1" już istnieje.</translation> </message> <message> - <source>Symbian</source> - <translation>Symbian</translation> + <source>Cannot Create</source> + <translation>Nie można utworzyć</translation> </message> <message> - <source>Linkage:</source> - <translation>Dowiązanie:</translation> + <source>The folder '%1' could not be created.</source> + <translation>Nie można utworzyć katalogu "%1".</translation> </message> +</context> +<context> + <name>Debugger::Internal::Console</name> <message> - <source>Dynamic</source> - <translation>Dynamiczne</translation> + <source>Clear Contents</source> + <translation>Wyczyść zawartość</translation> </message> <message> - <source>Static</source> - <translation>Statyczne</translation> + <source>Save Contents</source> + <translation>Zachowaj zawartość</translation> </message> +</context> +<context> + <name>Debugger::Internal::ConsoleWindow</name> <message> - <source>Mac:</source> - <translation>Mac:</translation> + <source>Console</source> + <translation>Konsola</translation> </message> +</context> +<context> + <name>Debugger::DebuggerEngine</name> <message> - <source>Library</source> - <translation>Biblioteka</translation> + <source>Launching</source> + <translation>Uruchamianie</translation> </message> <message> - <source>Framework</source> - <translation>Framework</translation> + <source>This debugger cannot handle user input.</source> + <translation>Ten debugger nie obsługuje poleceń wejściowych użytkownika.</translation> </message> <message> - <source>Windows:</source> - <translation>Windows:</translation> + <source>Data breakpoint %1 (%2) at %3 triggered.</source> + <translation>Pułapka warunkowa %1 (%2) pod %3 została wyzwolona.</translation> </message> <message> - <source>Library inside "debug" or "release" subfolder</source> - <translation>Biblioteka wewnątrz podkatalogu "debug" lub "release"</translation> + <source>Internal data breakpoint %1 at %2 triggered.</source> + <translation>Wewnętrzna pułapka warunkowa %1 pod %2 została wyzwolona.</translation> </message> <message> - <source>Add "d" suffix for debug version</source> - <translation>Dodaj przyrostek "d" do wersji debugowej</translation> + <source>Data breakpoint %1 (%2) at %3 in thread %4 triggered.</source> + <translation>Pułapka warunkowa %1 (%2) pod %3 w wątku %4 została wyzwolona.</translation> </message> <message> - <source>Remove "d" suffix for release version</source> - <translation>Usuń przyrostek "d" z wersji release'owej</translation> + <source>Internal data breakpoint %1 at %2 in thread %3 triggered.</source> + <translation>Wewnętrzna pułapka warunkowa %1 pod %2 w wątku %3 została wyzwolona.</translation> </message> <message> - <source>Package:</source> - <translation>Pakiet:</translation> + <source>Data breakpoint %1 (%2) at 0x%3 triggered.</source> + <translation>Pułapka warunkowa %1 (%2) pod 0x%3 została wyzwolona.</translation> </message> -</context> -<context> - <name>MaemoDeployStepWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Internal data breakpoint %1 at 0x%2 triggered.</source> + <translation>Wewnętrzna pułapka warunkowa %1 pod 0x%2 została wyzwolona.</translation> </message> <message> - <source>Device configuration:</source> - <translation>Konfiguracja urządzenia:</translation> + <source>Data breakpoint %1 (%2) at 0x%3 in thread %4 triggered.</source> + <translation>Pułapka warunkowa %1 (%2) pod 0x%3 w wątku %4 została wyzwolona.</translation> </message> <message> - <source>Also deploy to sysroot</source> - <translation type="obsolete">Instaluj również w sysroot</translation> + <source>Internal data breakpoint %1 at 0x%2 in thread %3 triggered.</source> + <translation>Wewnętrzna pułapka warunkowa %1 pod 0x%2 w wątku %3 została wyzwolona.</translation> </message> <message> - <source>These show the INSTALLS settings from the project file(s).</source> - <translation type="obsolete">Pokazuje ustawienia INSTALLS dla plików projektu.</translation> + <source>Stopped at breakpoint %1 (%2) in thread %3.</source> + <translation>Zatrzymano w pułapce %1 (%2) w wątku %3.</translation> </message> <message> - <source><b>Files to install for subproject:</b></source> - <translation type="obsolete"><b>Pliki do zainstalowania dla podprojektu:</b></translation> + <source>Stopped at internal breakpoint %1 in thread %2.</source> + <translation>Zatrzymano w wewnętrznej pułapce %1 w wątku %2.</translation> </message> <message> - <source>Edit the project file to add or remove entries.</source> - <translation type="obsolete">Zmodyfikuj plik projektu w celu dodania lub usunięcia elementów.</translation> + <source>Stopped.</source> + <translation>Zatrzymano.</translation> </message> <message> - <source>Add Desktop File</source> - <translation type="obsolete">Dodaj plik desktopowy</translation> + <source>Stopped: "%1"</source> + <translation>Zatrzymano: "%1"</translation> </message> <message> - <source>Add Launcher Icon ...</source> - <translation type="obsolete">Dodaj ikonę...</translation> + <source>Stopped: %1 (Signal %2).</source> + <translation>Zatrzymano: %1 (sygnał %2).</translation> </message> <message> - <source><a href="irrelevant">Manage device configurations</a></source> - <translation><a href="irrelevant">Zarządzanie konfiguracjami urządzenia</a></translation> + <source>Stopped in thread %1 by: %2.</source> + <translation>Zatrzymano w wątku %1 przez %2.</translation> </message> -</context> -<context> - <name>MobileLibraryWizardOptionPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Interrupted.</source> + <translation>Przerwano.</translation> </message> <message> - <source>Enable network access</source> - <translation>Włącz dostęp sieciowy</translation> + <source> <Unknown> </source> + <comment>name</comment> + <translation> <nieznana> </translation> </message> <message> - <source>Target UID3:</source> - <translation>UID3 produktu:</translation> + <source> <Unknown> </source> + <comment>meaning</comment> + <translation> <nieznane> </translation> </message> <message> - <source>Plugin's directory name:</source> - <translation>Nazwa katalogu wtyczki:</translation> + <source><p>The inferior stopped because it received a signal from the Operating System.<p><table><tr><td>Signal name : </td><td>%1</td></tr><tr><td>Signal meaning : </td><td>%2</td></tr></table></source> + <translation><p>Podproces zatrzymany, ponieważ otrzymał on sygnał z systemu operacyjnego.<p><table><tr><td>Nazwa sygnału: </td><td>%1</td></tr><tr><td>Znaczenie sygnału: </td><td>%2</td></tr></table></translation> </message> -</context> -<context> - <name>QtQuickAppWizardSourcesPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Signal received</source> + <translation>Otrzymano sygnał</translation> </message> <message> - <source>Main QML File</source> - <translation>Główny plik QML</translation> + <source><p>The inferior stopped because it triggered an exception.<p>%1</source> + <translation><p>Podproces zatrzymany z powodu rzuconego wyjątku.<p>%1</translation> </message> <message> - <source>Generate a main.qml file</source> - <translation>Wygeneruj plik main.qml</translation> + <source>Exception Triggered</source> + <translation>Rzucono wyjątek</translation> </message> <message> - <source>Import an existing .qml file</source> - <translation>Zaimportuj istniejący plik .qml</translation> + <source>Taking notice of pid %1</source> + <translation>Zwracanie uwagi na pid %1</translation> </message> <message> - <source>Note: All files and directories that reside in the same directory as the main QML file are deployed. You can modify the contents of the directory any time before deploying.</source> - <translation>Uwaga: Wszystkie pliki i katalogi umieszczone w katalogu, w którym jest główny plik QML, zostaną zainstalowane. Zawartość katalogu może być dowolnie modyfikowana przed instalacją.</translation> - </message> -</context> -<context> - <name>HighlighterSettingsPage</name> + <source>Run to Address 0x%1</source> + <translation>Uruchom do adresu 0x%1</translation> + </message> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Run to Line %1</source> + <translation>Uruchom do linii %1</translation> </message> <message> - <source><html><head/><body> -<p>Highlight definitions are provided by the <a href="http://kate-editor.org/">Kate Text Editor</a>.</p></body></html></source> - <translation><html><head/><body> -<p>Definicje podświetleń są dostarczone przez <a href="http://kate-editor.org/">edytor tekstu Kate</a>.</p></body></html></translation> + <source>Jump to Address 0x%1</source> + <translation>Skocz do adresu 0x%1</translation> </message> <message> - <source>Syntax Highlight Definition Files</source> - <translation>Pliki z definicjami podświetleń składni</translation> + <source>Jump to Line %1</source> + <translation>Skocz do linii %1</translation> </message> +</context> +<context> + <name>Debugger::DebuggerPlugin</name> <message> - <source>Location:</source> - <translation>Położenie:</translation> + <source>Debug</source> + <translation>Debug</translation> </message> <message> - <source>Use fallback location</source> - <translation>Użyj położenia zastępczego</translation> + <source>Option '%1' is missing the parameter.</source> + <translation>Brak parametru w opcji "%1".</translation> </message> <message> - <source>Behavior</source> - <translation>Zachowanie</translation> + <source>The parameter '%1' of option '%2' does not match the pattern <server:port>@<executable>@<architecture>.</source> + <translation>Parametr "%1" opcji "%2" nie pasuje do wzoru <serwer:port>@<plik_wykonywalny>@<architektura>.</translation> </message> <message> - <source>Alert when a highlight definition is not found</source> - <translation>Ostrzegaj w przypadku braku definicji podświetlenia</translation> + <source>The parameter '%1' of option '%2' does not match the pattern <handle>:<pid>.</source> + <translation>Parametr "%1" opcji "%2" nie pasuje do wzoru <uchwyt>:<pid>.</translation> </message> <message> - <source>Ignored file patterns:</source> - <translation>Ignorowane wzorce plików:</translation> + <source>Invalid debugger option: %1</source> + <translation>Niepoprawna opcja debuggera: %1</translation> </message> -</context> -<context> - <name>ManageDefinitionsDialog</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>The application requires the debugger engine '%1', which is disabled.</source> + <translation>Program wymaga silnika debuggera "%1", który jest wyłączony.</translation> </message> <message> - <source>Definitions</source> - <translation>Definicje</translation> + <source>Warning</source> + <translation>Ostrzeżenie</translation> </message> <message> - <source>Select All</source> - <translation>Zaznacz wszystko</translation> + <source>Some breakpoints cannot be handled by the debugger languages currently active, and will be ignored.</source> + <translation>Niektóre pułapki nie mogą być obsłużone przez aktywne języki debuggera i zostaną zignorowane.</translation> </message> <message> - <source>Clear Selection</source> - <translation>Usuń selekcję</translation> + <source>The debugger engine '%1' is disabled.</source> + <translation>Silnik debuggera "%1" jest wyłączony.</translation> </message> <message> - <source>Invert Selection</source> - <translation>Odwróć selekcję</translation> + <source>The debugger engine '%1' required for debugging binaries of the type '%2' is not configured correctly.</source> + <translation>Silnik debuggera "%1" wymagany do debugowania plików binarnych typu "%2" nie jest poprawnie skonfigurowany.</translation> </message> <message> - <source>Download Selected Definitions</source> - <translation>Pobierz zaznaczone definicje</translation> + <source>None of the debugger engines '%1' capable of debugging binaries of the type '%2' is configured correctly.</source> + <translation>Żaden silnik debuggera "%1" zdolny do debugowania plików binarnych typu "%2" nie jest poprawnie skonfigurowany.</translation> + </message> + <message> + <source>The preferred debugger engine for debugging binaries of type '%1' is not available. +The debugger engine '%2' will be used as a fallback. +Details: %3</source> + <translation>Preferowany silnik debuggera do debugowania plików wykonywalnych typu "%1" nie jest dostępny. +Silnik debuggera "%2" zostanie użyty w zastępstwie. +Szczegóły: %3</translation> </message> </context> <context> - <name>QmlEditorWidgets::ContextPaneWidget</name> + <name>Debugger::DebuggerRunControl</name> <message> - <source>Hides this toolbar.</source> - <translation>Ukrywa ten pasek narzędzi.</translation> + <source>Debugger</source> + <translation>Debugger</translation> </message> <message> - <source>Pin Toolbar</source> - <translation>Przypnij pasek narzędzi</translation> + <source>No executable specified. +</source> + <translation>Nie podano programu do uruchomienia. +</translation> </message> <message> - <source>Show Always</source> - <translation>Zawsze pokazuj</translation> + <source>Debugging starts +</source> + <translation>Rozpoczęto debugowanie +</translation> </message> <message> - <source>Unpins the toolbar and moves it to the default position.</source> - <translation>Odpina pasek narzędzi i przenosi go do domyślnego położenia.</translation> + <source>Debugging has failed +</source> + <translation>Błąd debugowania +</translation> </message> <message> - <source>Hides this toolbar. This toolbar can be permanently disabled in the options page or in the context menu.</source> - <translation>Ukrywa ten pasek narzędzi. Może być on stale wyłączony na stronie z opcjami lub z podręcznego menu.</translation> + <source>Debugging has finished +</source> + <translation>Zakończono debugowanie +</translation> </message> -</context> -<context> - <name>QmlEditorWidgets::ContextPaneWidgetImage</name> <message> - <source>double click for preview</source> - <translation>kliknij dwukrotnie aby wyświetlić podgląd</translation> + <source>A debugging session is still in progress. Terminating the session in the current state can leave the target in an inconsistent state. Would you still like to terminate it?</source> + <translation>Trwa sesja debugowa. Zakończenie jej w bieżącym stanie może spowodować, że program znajdzie się w niespójnym stanie. Czy wciąż chcesz ją zakończyć?</translation> + </message> + <message> + <source>Close Debugging Session</source> + <translation>Zakończ sesję debugową</translation> </message> </context> <context> - <name>QmlEditorWidgets::FileWidget</name> + <name>Debugger::Internal::AbstractPlainGdbAdapter</name> <message> - <source>Open File</source> - <translation>Otwórz plik</translation> + <source>Starting executable failed: +</source> + <translation>Nie można uruchomić programu: +</translation> </message> </context> <context> - <name>QmlJS::Bind</name> + <name>Debugger::Internal::AttachGdbAdapter</name> <message> - <source>expected two numbers separated by a dot</source> - <translation>oczekiwano dwóch liczb oddzielonych kropką</translation> + <source>Attached to process %1.</source> + <translation>Dołączono do procesu %1</translation> </message> +</context> +<context> + <name>Debugger::Internal::LocalPlainGdbAdapter</name> <message> - <source>package import requires a version number</source> - <translation>import pakietu wymaga podania numeru wersji</translation> + <source>Cannot set up communication with child process: %1</source> + <translation>Nie można ustanowić komunikacji z podprocesem: %1</translation> </message> <message> - <source>file or directory not found</source> - <translation>nie można odnaleźć pliku lub katalogu</translation> + <source>This does not seem to be a "Debug" build. +Setting breakpoints by file name and line number may fail.</source> + <translation>Nie wygląda to na sesję debugową. +Ustawianie pułapek może się nie powieść.</translation> </message> </context> <context> - <name>Utils::DebuggerLanguageChooser</name> + <name>Debugger::Internal::RemoteGdbProcess</name> <message> - <source>C++</source> - <translation>C++</translation> + <source>Connection failure: %1.</source> + <translation>Błąd połączenia: %1.</translation> </message> <message> - <source>QML</source> - <translation>QML</translation> + <source>Could not create FIFO.</source> + <translation>Nie można utworzyć FIFO.</translation> </message> <message> - <source>Debug port:</source> - <translation>Port debugowania:</translation> + <source>Application output reader unexpectedly finished.</source> + <translation>Nieoczekiwane zakończenie czytnika komunikatów aplikacji.</translation> </message> <message> - <source><a href="qthelp://com.nokia.qtcreator/doc/creator-debugging-qml.html">What are the prerequisites?</a></source> - <translation><a href="qthelp://com.nokia.qtcreator/doc/creator-debugging-qml.html">Jakie są wymagania?</a></translation> + <source>Remote GDB failed to start.</source> + <translation>Nie można uruchomić zdalnego GDB.</translation> + </message> + <message> + <source>Remote GDB crashed.</source> + <translation>Zdalny GDB przerwał pracę.</translation> </message> </context> <context> - <name>Utils::SynchronousProcess</name> + <name>Debugger::Internal::RemoteGdbServerAdapter</name> <message> - <source>The command '%1' finished successfully.</source> - <translation>Komenda "%1" poprawnie zakończona.</translation> + <source>The upload process failed to start. Shell missing?</source> + <translation>Nie można rozpocząć procesu przesyłania. Brak powłoki?</translation> </message> <message> - <source>The command '%1' terminated with exit code %2.</source> - <translation>Komenda "%1" zakończona kodem wyjściowym %2.</translation> + <source>The upload process crashed some time after starting successfully.</source> + <translation>Proces przesyłania przerwany po poprawnym uruchomieniu.</translation> </message> <message> - <source>The command '%1' terminated abnormally.</source> - <translation>Komenda "%1" niepoprawnie zakończona.</translation> + <source>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</source> + <translation>Ostatnie wywołanie funkcji waitFor...() zakończyło się niepowodzeniem po określonym czasie. Stan QProcess się nie zmienił, możesz ponownie spróbować wywołać waitFor...().</translation> </message> <message> - <source>The command '%1' could not be started.</source> - <translation>Komenda "%1" nie może zostać uruchomiona.</translation> + <source>An error occurred when attempting to write to the upload process. For example, the process may not be running, or it may have closed its input channel.</source> + <translation>Wystąpił błąd podczas próby pisania do procesu przesyłania. Proces może nie być uruchomiony lub zamknął on swój kanał wejściowy.</translation> </message> <message> - <source>The command '%1' did not respond within the timeout limit (%2 ms).</source> - <translation>Komenda "%1" nie odpowiedziała w określonym czasie (%2 ms).</translation> + <source>An error occurred when attempting to read from the upload process. For example, the process may not be running.</source> + <translation>Wystąpił błąd podczas próby czytania z procesu przesyłania. Proces może nie być uruchomiony.</translation> </message> <message> - <source>Process not Responding</source> - <translation>Brak odpowiedzi</translation> + <source>An unknown error in the upload process occurred. This is the default return value of error().</source> + <translation>Wystąpił nieznany błąd podczas procesu przesyłania. Jest to domyślna wartość zwrócona przez error().</translation> </message> <message> - <source>The process is not responding.</source> - <translation>Proces nie odpowiada.</translation> + <source>Error</source> + <translation>Błąd</translation> </message> <message> - <source>The process '%1' is not responding.</source> - <translation>Proces "%1" nie odpowiada.</translation> + <source>No symbol file given.</source> + <translation>Brak pliku z symbolami.</translation> </message> <message> - <source>Would you like to terminate it?</source> - <translation>Czy chcesz go zakończyć?</translation> + <source>Reading debug information failed: +</source> + <translation>Błąd odczytu informacji debugowej: +</translation> </message> </context> <context> - <name>ClassView::Internal::NavigationWidgetFactory</name> + <name>Debugger::Internal::DebuggerPane</name> <message> - <source>Class View</source> - <translation>Widok klas</translation> + <source>Clear Contents</source> + <translation>Wyczyść zawartość</translation> + </message> + <message> + <source>Save Contents</source> + <translation>Zachowaj zawartość</translation> </message> </context> <context> - <name>Core::Internal::CommandComboBox</name> + <name>Debugger::Internal::InputPane</name> <message> - <source>Activate %1 Pane</source> - <translation>Uaktywnij panel %1</translation> + <source>Type Ctrl-<Return> to execute a line.</source> + <translation>Naciśnij Ctrl-<Return> aby wykonać linię.</translation> </message> </context> <context> - <name>Core::NavigationWidget</name> + <name>Debugger::Internal::LogWindow</name> <message> - <source>Activate %1 Pane</source> - <translation>Uaktywnij panel %1</translation> + <source>Debugger Log</source> + <translation>Log debuggera</translation> </message> <message> - <source>Hide Sidebar</source> - <translation>Ukryj boczny pasek</translation> + <source>Command:</source> + <translation>Komenda:</translation> </message> <message> - <source>Show Sidebar</source> - <translation>Pokaż boczny pasek</translation> + <source>Log File</source> + <translation>Plik loga</translation> </message> </context> <context> - <name>SshConnection</name> + <name>Debugger::QmlAdapter</name> <message> - <source>Server and client capabilities don't match. Client list was: %1. -Server list was %2.</source> - <translation>Niezgodność zdolności serwera i klienta. -Lista klienta: %1. -Lista serwera: %2.</translation> + <source>Connecting to debug server on %1</source> + <translation>Łączenie z serwerem debugowym na %1</translation> </message> -</context> -<context> - <name>CodePaster::NetworkProtocol</name> <message> - <source>Checking connection</source> - <translation>Sprawdzanie połączenia</translation> + <source>Connecting to debug server %1:%2</source> + <translation>Łączenie z serwerem debugowym %1: %2</translation> </message> <message> - <source>Connecting to %1...</source> - <translation>Łączenie z %1...</translation> - </message> -</context> -<context> - <name>CheckUndefinedSymbols</name> - <message> - <source>Expected a namespace-name</source> - <translation>Oczekiwano nazwy przestrzeni nazw</translation> + <source>Error: (%1) %2</source> + <comment>%1=error code, %2=error message</comment> + <translation>Błąd: (%1) %2</translation> </message> -</context> -<context> - <name>CppEditor::Internal::CppTypeHierarchyWidget</name> <message> - <source>No type hierarchy available</source> - <translation>Brak dostępnej hierarchii typów</translation> + <source>disconnected. + +</source> + <translation>rozłączony. +</translation> </message> -</context> -<context> - <name>CppEditor::Internal::CppTypeHierarchyFactory</name> <message> - <source>Type Hierarchy</source> - <translation>Hierarchia typów</translation> + <source>resolving host...</source> + <translation>rozwiązywanie adresu hosta...</translation> </message> -</context> -<context> - <name>CppTools::Internal::SymbolsFindFilter</name> <message> - <source>C++ Symbols</source> - <translation>Symbole C++</translation> + <source>connecting to debug server...</source> + <translation>łączenie z serwerem debugowym...</translation> </message> <message> - <source>Searching</source> - <translation>Przeszukiwanie</translation> + <source>connected. +</source> + <translation>połączony. +</translation> </message> -</context> -<context> - <name>CppTools::Internal::SymbolsFindFilterConfigWidget</name> <message> - <source>Types:</source> - <translation>Typy:</translation> + <source>closing...</source> + <translation>zamykanie...</translation> </message> <message> - <source>Classes</source> - <translation>Klasy</translation> + <source>Debug service '%1' became unavailable.</source> + <translation>Serwis debugowy "%1" stał się niedostępny.</translation> </message> <message> - <source>Methods</source> - <translation>Metody</translation> + <source>Connected to debug service '%1'.</source> + <translation>Nawiązano połączenie z serwisem debugowym "%1".</translation> </message> <message> - <source>Enums</source> - <translation>Typy wyliczeniowe</translation> + <source>Not connected to debug service '%1'.</source> + <translation>Nie nawiązano połączenia z serwisem debugowym "%1".</translation> </message> +</context> +<context> + <name>Debugger::Internal::ScriptConsole</name> <message> - <source>Declarations</source> - <translation>Deklaracje</translation> + <source><Type expression to evaluate></source> + <translation><Wpisz wyrażenie do wykonania></translation> </message> <message> - <source>Projects only</source> - <translation>Tylko projekty</translation> + <source>Write and evaluate QtScript expressions.</source> + <translation>Wpisz i wykonaj polecenia QtScript.</translation> </message> <message> - <source>All files</source> - <translation>Wszystkie pliki</translation> + <source>Script Console +</source> + <translation>Konsola skryptowa +</translation> </message> </context> <context> - <name>Debugger::Internal::BreakpointDialog</name> + <name>Debugger::Internal::SourceFilesHandler</name> <message> - <source>File and Line Number</source> - <translation type="obsolete">Plik i numer linii</translation> + <source>Internal name</source> + <translation>Wewnętrzna nazwa</translation> </message> <message> - <source>Function Name</source> - <translation type="obsolete">Nazwa funkcji</translation> + <source>Full name</source> + <translation>Pełna nazwa</translation> </message> +</context> +<context> + <name>Git::Internal::SettingsPageWidget</name> <message> - <source>Break when C++ Exception is Thrown</source> - <translation type="obsolete">Przerwij po rzuceniu wyjątku C++</translation> + <source>Set the environment variable HOME to '%1' +(%2). +This causes msysgit to look for the SSH-keys in that location +instead of its installation directory when run outside git bash.</source> + <translation>Ustaw zmienną środowiskową HOME na "%1" +(%2). +Spowoduje to, że msysgit uruchomiony na zewnątrz powłoki git +zacznie poszukiwać kluczy SSH w tym położeniu +zamiast w jego katalogu instalacyjnym.</translation> </message> <message> - <source>Break when C++ Exception is Caught</source> - <translation type="obsolete">Przerwij po złapaniu wyjątku C++</translation> + <source>not currently set</source> + <translation>aktualnie nie ustawiona</translation> </message> <message> - <source>Break when Function "main()" Starts</source> - <translation type="obsolete">Przerwij po rozpoczęciu funkcji "main()"</translation> + <source>currently set to '%1'</source> + <translation>aktualnie ustawiona na "%1"</translation> </message> +</context> +<context> + <name>Help::Internal::ExternalHelpWindow</name> <message> - <source>Break when a new Process is Forked</source> - <translation type="obsolete">Przerwij po rozwidleniu procesu</translation> + <source>Show Sidebar</source> + <translation>Pokazuj boczny pasek</translation> </message> <message> - <source>Break when a new Process is Executed</source> - <translation type="obsolete">Przerwij po uruchomieniu nowego procesu</translation> + <source>Qt Creator Offline Help</source> + <translation>Pomoc offline Qt Creatora</translation> </message> +</context> +<context> + <name>EditorManager</name> <message> - <source>Break when a System Call is Executed</source> - <translation type="obsolete">Przerwij po wykonaniu zawołania systemowego</translation> + <source>Next Open Document in History</source> + <translation>Następny otwarty dokument w historii</translation> </message> <message> - <source>Break on Data Access (Watchpoint)</source> - <translation type="obsolete">Przerwij przy dostępie do danych (pułapka warunkowa)</translation> + <source>Previous Open Document in History</source> + <translation>Poprzedni otwarty dokument w historii</translation> </message> <message> - <source>File name and line number</source> - <translation>Nazwa pliku i numer linii</translation> + <source>Go Back</source> + <translation>Wstecz</translation> </message> <message> - <source>Function name</source> - <translation>Nazwa funkcji</translation> + <source>Go Forward</source> + <translation>W przód</translation> </message> <message> - <source>Break on memory address</source> - <translation>Przerwij na adresie pamięci</translation> + <source>Close</source> + <translation>Zamknij</translation> </message> +</context> +<context> + <name>Help::Internal::OpenPagesManager</name> <message> - <source>Break when C++ exception is thrown</source> - <translation>Przerwij po rzuceniu wyjątku C++</translation> + <source>Copy Full Path to Clipboard</source> + <translation>Skopiuj pełną ścieżkę do schowka</translation> </message> +</context> +<context> + <name>Help::Internal::RemoteHelpFilter</name> <message> - <source>Break when C++ exception is caught</source> - <translation>Przerwij po złapaniu wyjątku C++</translation> + <source>Web Search</source> + <translation>Szukanie w sieci</translation> </message> +</context> +<context> + <name>ImageViewer::Internal::ImageViewerActionHandler</name> <message> - <source>Break when function "main" starts</source> - <translation>Przerwij po rozpoczęciu funkcji "main"</translation> + <source>Zoom In</source> + <translation>Powiększ</translation> </message> <message> - <source>Break when a new process is forked</source> - <translation>Przerwij po rozwidleniu procesu</translation> + <source>Ctrl++</source> + <translation>Ctrl++</translation> </message> <message> - <source>Break when a new process is executed</source> - <translation>Przerwij po uruchomieniu nowego procesu</translation> + <source>Zoom Out</source> + <translation>Pomniejsz</translation> </message> <message> - <source>Break when a system call is executed</source> - <translation>Przerwij po wykonaniu zawołania systemowego</translation> + <source>Ctrl+-</source> + <translation>Ctrl+-</translation> </message> <message> - <source>Break on data access at fixed address</source> - <translation>Przerwij przy dostępie do danych pod stałym adresem</translation> + <source>Original Size</source> + <translation>Oryginalny rozmiar</translation> </message> <message> - <source>Break on data access at address given by expression</source> - <translation>Przerwij przy dostępie do danych pod adresem określonym przez wyrażenie</translation> + <source>Ctrl+0</source> + <translation>Ctrl+0</translation> </message> <message> - <source>Debugger command to be executed when the breakpoint is hit. -GDB allows for specifying a sequence of commands separated by the delimiter '\n'.</source> - <translation>Komenda debuggera, która zostanie uruchomiona, gdy pułapka zostanie osiągnięta. -GDB umożliwia podawanie sekwencji komend oddzielonych separatorem "\n".</translation> + <source>Fit To Screen</source> + <translation>Dopasuj do ekranu</translation> </message> <message> - <source><html><head/><body><p>Determines how the path is specified when setting breakpoints:</p><ul><li><i>Use Engine Default</i>: Preferred setting of the debugger engine.</li><li><i>Use Full Path</i>: Pass full path, avoiding ambiguities should files of the same name exist in several modules. This is the engine default for CDB and LLDB.</li><li><i>Use File Name</i>: Pass the file name only. This is useful when using a source tree whose location does not match the one used when building the modules. It is the engine default for GDB as using full paths can be slow with this engine.</li></ul></body></html></source> - <translation><html><head/><body><p>Określa sposób wyznaczania ścieżki podczas ustawiania pułapek:</p><ul><li><i>Używaj domyślnego silnika</i>: preferowane ustawienie silnika debuggera.</li><li><i>Używaj pełnej ścieżki</i>: przekazuj pełną ścieżkę, aby uniknąć niejednoznaczności, gdy istnieją pliki o tej samej nazwie w różnych modułach. Jest to domyślne ustawienie dla silników CDB i LLDB.</li><li><i>Używaj nazwy pliku</i>: przekazuj tylko nazwę pliku. Jest to pomocne w trakcie używania drzewa źródeł, którego położenie jest inne niż użyte podczas budowania modułu. Jest to domyślne ustawienie silnika GDB, ponieważ używanie pełnych ścieżek może go spowolnić.</li></ul></body></html></translation> + <source>Ctrl+=</source> + <translation>Ctrl+=</translation> </message> <message> - <source>Specifying the module (base name of the library or executable) -for function or file type breakpoints can significantly speed up -debugger start-up times (CDB, LLDB).</source> - <translation>Podanie modułu (nazwy bazowej biblioteki lub pliku wykonywalnego) -dla funkcji bądź pułapek może znacząco przyspieszyć uruchomienie -debuggera (CDB, LLDB).</translation> + <source>Switch Background</source> + <translation>Przełącz tło</translation> </message> <message> - <source>Address</source> - <translation type="obsolete">Adres</translation> + <source>Switch Outline</source> + <translation>Przełącz zarys</translation> </message> <message> - <source>Edit Breakpoint Properties</source> - <translation>Zmodyfikuj właściwości pułapki</translation> + <source>Ctrl+[</source> + <translation>Ctrl+[</translation> </message> <message> - <source>Basic</source> - <translation>Podstawowe</translation> + <source>Ctrl+]</source> + <translation>Ctrl+]</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::BuildStepListWidget</name> <message> - <source>Breakpoint &type:</source> - <translation>&Typ pułapki:</translation> + <source>%1 Steps</source> + <extracomment>%1 is the name returned by BuildStepList::displayName</extracomment> + <translation>Kroki %1</translation> </message> <message> - <source>&File name:</source> - <translation>Nazwa &pliku:</translation> + <source>No %1 Steps</source> + <translation>Brak kroków %1</translation> </message> <message> - <source>&Line number:</source> - <translation>Numer &linii:</translation> + <source>Add %1 Step</source> + <translation>Dodaj krok %1</translation> </message> <message> - <source>&Enabled:</source> - <translation>&Włączona:</translation> + <source>Move Up</source> + <translation>Przenieś do góry</translation> </message> <message> - <source>&Address:</source> - <translation>&Adres:</translation> + <source>Move Down</source> + <translation>Przenieś na dół</translation> </message> <message> - <source>Fun&ction:</source> - <translation>&Funkcja:</translation> + <source>Remove Item</source> + <translation>Usuń element</translation> </message> <message> - <source>Advanced</source> - <translation>Zaawansowane</translation> + <source>Removing Step failed</source> + <translation>Nie można usunąć kroku</translation> </message> <message> - <source>T&racepoint only:</source> - <translation>Tylko t&racepoint:</translation> + <source>Cannot remove build step while building</source> + <translation>Nie można usunąć kroku podczas budowania</translation> </message> <message> - <source>Pat&h:</source> - <translation>Ś&cieżka:</translation> + <source>No Build Steps</source> + <translation>Brak kroków procesu budowania</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::CopyTaskHandler</name> <message> - <source>&Module:</source> - <translation>&Moduł:</translation> + <source>error: </source> + <extracomment>Task is of type: error</extracomment> + <translation>błąd:</translation> </message> <message> - <source>&Command:</source> - <translation>&Komenda:</translation> + <source>warning: </source> + <extracomment>Task is of type: warning</extracomment> + <translation>ostrzeżenie:</translation> </message> <message> - <source>Use Engine Default</source> - <translation>Używaj domyślnego silnika</translation> + <source>&Copy</source> + <comment>Name of the action triggering the copytaskhandler</comment> + <translation>S&kopiuj</translation> </message> <message> - <source>Use Full Path</source> - <translation>Użyj pełnej ścieżki</translation> - </message> - <message> - <source>Use File Name</source> - <translation>Używaj nazwy pliku</translation> - </message> - <message> - <source>C&ondition:</source> - <translation>War&unek:</translation> + <source>Copy task to clipboard</source> + <translation>Skopiuj zadanie do schowka</translation> </message> +</context> +<context> + <name>ProjectExplorer::DeployConfiguration</name> <message> - <source>&Ignore count:</source> - <translation>L&icznik pominięć:</translation> + <source>Deploy</source> + <extracomment>Display name of the deploy build step list. Used as part of the labels in the project window.</extracomment> + <translation>Zainstaluj</translation> </message> <message> - <source>&Thread specification:</source> - <translation>&Specyfikacja wątku:</translation> + <source>No deployment</source> + <extracomment>Default DeployConfiguration display name</extracomment> + <translation>Brak instalacji</translation> </message> +</context> +<context> + <name>ProjectExplorer::DeployConfigurationFactory</name> <message> - <source>&Expression:</source> - <translation>Wyraż&enie:</translation> + <source>Deploy Configuration</source> + <extracomment>Display name of the default deploy configuration</extracomment> + <translation>Konfiguracja instalacji</translation> </message> </context> <context> - <name>Debugger::Internal::CdbEngine</name> + <name>ProjectExplorer::RunControl</name> <message> - <source>There is no CDB binary available for binaries in format '%1'</source> - <translation>Brak dostępnego pliku wykonywalnego CDB dla plików binarnych w formaci "%1"</translation> + <source>Application Still Running</source> + <translation>Program wciąż uruchomiony</translation> </message> <message> - <source>The CDB debug engine required for %1 is currently disabled.</source> - <translation>Silnik debugowy CDB wymagany dla %1 jest aktualnie wyłączony.</translation> + <source><html><head/><body><center><i>%1</i> is still running.<center/><center>Force it to quit?</center></body></html></source> + <translation><html><head/><body><center><i>%1</i> jest wciąż uruchomiony.<center/><center>Wymusić zakończenie?</center></body></html></translation> </message> <message> - <source>The CDB engine does not support start mode %1.</source> - <translation>Silnik CDB nie obsługuje trybu start %1.</translation> + <source>Force Quit</source> + <translation>Wymuś zakończenie</translation> </message> <message> - <source>The CDB debug engine does not support the %1 ABI.</source> - <translation>Silnik CDB nie obsługuje ABI %1.</translation> + <source>Keep Running</source> + <translation>Pozostaw uruchomionym</translation> </message> <message> - <source>The console process '%1' could not be started.</source> - <translation>Nie można uruchomić procesu konsolowego "%1".</translation> + <source>Do not ask again</source> + <translation>Nie pytaj ponownie</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::ShowInEditorTaskHandler</name> <message> - <source>Debugger Error</source> - <translation>Błąd debuggera</translation> + <source>&Show in editor</source> + <translation>&Pokaż w edytorze</translation> </message> <message> - <source>There is no CDB executable specified.</source> - <translation>Brak podanego pliku wykonywalnego CDB.</translation> + <source>Show task location in an editor</source> + <translation>Pokaż położenie zadania w edytorze</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::ShowOutputTaskHandler</name> <message> - <source>CDB crashed</source> - <translation>CDB zakończone błędem</translation> + <source>Show &Output</source> + <translation>Pokaż &wyjście</translation> </message> <message> - <source>CDB exited (%1)</source> - <translation>CDB zakończył pracę (%1)</translation> + <source>Show output generating this issue.</source> + <translation>Pokaż wyjście generujące ten problem.</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::TaskWindow</name> <message> - <source>Unable to add expression</source> - <translation>Nie można dodać wyrażenia</translation> + <source>Build Issues</source> + <translation>Problemy podczas budowania</translation> </message> <message> - <source>Interrupting is not possible in remote sessions.</source> - <translation>Przerywanie nie jest możliwe w zdalnych sesjach.</translation> + <source>Show Warnings</source> + <translation>Pokazuj ostrzeżenia</translation> </message> <message> - <source>Trace point %1 (%2) in thread %3 triggered.</source> - <translation type="unfinished"></translation> + <source>Filter by categories</source> + <translation>Przefiltruj według kategorii</translation> </message> +</context> +<context> + <name>ProjectExplorer::UserFileAccessor</name> <message> - <source>Conditional breakpoint %1 (%2) in thread %3 triggered, examining expression '%4'.</source> - <translation type="unfinished"></translation> + <source>Using Old Project Settings File</source> + <translation>Użyty jest stary plik z ustawieniami projektu</translation> </message> <message> - <source>Malformed stop response received.</source> - <translation>Niepoprawna odpowiedź na stop.</translation> + <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>Użyta zostanie kopia zapasowa pliku z ustawieniami .user, ponieważ w międzyczasie oryginalny plik z ustawieniami został zachowany przez nowszą, niekompatybilną wersję Qt Creatora.</p><p>Jeżeli nastąpią teraz zmiany w ustawieniach projektu to <b>nie</b> zostaną one zastosowane w nowszej wersji Qt Creatora.</p></body></html></translation> </message> <message> - <source>Switching to main thread...</source> - <translation>Przełączanie do głównego wątku...</translation> + <source>Project Settings File from a different Environment?</source> + <translation>Plik z ustawieniami z innego środowiska?</translation> </message> <message> - <source>Value %1 obtained from evaluating the condition of breakpoint %2, stopping.</source> - <translation type="unfinished"></translation> + <source>Qt Creator has found a .user settings file which was created for another development setup, maybe originating from another machine. + +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 znalazł plik .user z ustawieniami, który był utworzony dla innego środowiska, być może pochodzi z innego komputera. + +Plik .user zawiera ustawienia, które nie powinny być kopiowane do innego środowiska. + +Czy wciąż chcesz załadować plik z ustawieniami?</translation> </message> +</context> +<context> + <name>ProjectExplorer::UserFileHandler</name> <message> - <source>Value 0 obtained from evaluating the condition of breakpoint %1, continuing.</source> - <translation type="unfinished"></translation> + <source>No deployment</source> + <translation>Brak instalacji</translation> </message> <message> - <source>"Select Widget to Watch": Please stop the application first.</source> - <translation>"Wybierz widżet do obserwowania": Najpierw zatrzymaj aplikację.</translation> + <source>Deploy to Maemo device</source> + <translation>Zainstaluj na urządzeniu Maemo</translation> </message> <message> - <source>"Select Widget to Watch": Not supported in state '%1'.</source> - <translation>"Wybierz widżet do obserwowania": Nie obsługiwane w stanie "%1".</translation> + <source>Deploy to Symbian device</source> + <translation>Zainstaluj na urządzeniu Symbian</translation> </message> </context> <context> - <name>Debugger::Internal::CacheDirectoryDialog</name> + <name>ProjectExplorer::Internal::VcsAnnotateTaskHandler</name> <message> - <source>Select Local Cache Folder</source> - <translation>Wybierz katalog z lokalnym cache</translation> + <source>&Annotate</source> + <translation>Dołącz &adnotację</translation> </message> +</context> +<context> + <name>QmlJSEditor::ComponentFromObjectDef</name> <message> - <source>Path:</source> - <translation>Ścieżka:</translation> + <source>Move Component into separate file</source> + <translation>Przenieś komponent do osobnego pliku</translation> </message> <message> - <source>Already Exists</source> - <translation>Już istnieje</translation> + <source>Move Component into '%1.qml'</source> + <translation>Przenieś komponent do "%1.qml"</translation> </message> +</context> +<context> + <name>QmlJSEditor::Internal::ComponentNameDialog</name> <message> - <source>A file named '%1' already exists.</source> - <translation>Plik o nazwie "%1" już istnieje.</translation> + <source>Choose a path</source> + <translation>Wybierz ścieżkę</translation> </message> <message> - <source>Cannot Create</source> - <translation>Nie można utworzyć</translation> + <source>Invalid component name</source> + <translation>Niepoprawna nazwa komponentu</translation> </message> <message> - <source>The folder '%1' could not be created.</source> - <translation>Nie można utworzyć katalogu "%1".</translation> + <source>Invalid path</source> + <translation>Niepoprawna ścieżka</translation> </message> </context> <context> - <name>Debugger::Internal::Console</name> + <name>QmlJSEditor::FindReferences</name> <message> - <source>Clear Contents</source> - <translation>Wyczyść zawartość</translation> + <source>Searching</source> + <translation>Przeszukiwanie</translation> </message> +</context> +<context> + <name>QmlJSEditor::QuickFix</name> <message> - <source>Save Contents</source> - <translation>Zachowaj zawartość</translation> + <source>Split initializer</source> + <translation>Podziel inicjalizator</translation> </message> </context> <context> - <name>Debugger::Internal::ConsoleWindow</name> + <name>QmlJSInspector::Internal::ContextCrumblePath</name> <message> - <source>Console</source> - <translation>Konsola</translation> + <source>[no context]</source> + <translation>[brak kontekstu]</translation> </message> </context> <context> - <name>Debugger::DebuggerEngine</name> + <name>QmlJSInspector::Internal::InspectorUi</name> <message> - <source>Launching</source> - <translation>Uruchamianie</translation> + <source>Context Path</source> + <translation>Ścieżka kontekstu</translation> </message> <message> - <source>%1 (explicitly set in the Debugger Options)</source> - <translation type="obsolete">%1 (ustawione jawnie w opcjach debuggera)</translation> + <source>QML Inspector</source> + <translation>QML Inspector</translation> </message> <message> - <source>This debugger cannot handle user input.</source> - <translation>Ten debugger nie obsługuje poleceń wejściowych użytkownika.</translation> + <source>Filter properties</source> + <translation>Właściwości filtru</translation> </message> +</context> +<context> + <name>QmlJSInspector::Internal::QmlJSLiveTextPreview</name> <message> - <source>Watchpoint %1 (%2) at 0x%3 triggered.</source> - <translation type="obsolete">Pułapka warunkowa %1 (%2) pod 0x%3 została wyzwolona.</translation> + <source>You changed a QML file in Live Preview mode, which modifies the running QML application. In case of unexpected behavior, please reload the QML application.</source> + <translation>Plik QML został zmodyfikowany w trybie podglądu na żywo, co spowodowało modyfikację uruchomionej aplikacji QML. W przypadku nieoczekiwanego zachowania przeładuj aplikację QML.</translation> </message> <message> - <source>Internal watchpoint %1 at 0x%2 triggered.</source> - <translation type="obsolete">Wewnętrzna pułapka warunkowa %1 pod 0x%2 została wyzwolona.</translation> + <source>Disable Live Preview</source> + <translation>Wyłącz podgląd na żywo</translation> </message> <message> - <source>Watchpoint %1 (%2) at 0x%3 in thread %4 triggered.</source> - <translation type="obsolete">Pułapka warunkowa %1 (%2) pod 0x%3 w wątku %4 została wyzwolona.</translation> + <source>The %1 attribute at line %2, column %3 cannot be changed without reloading the QML application. </source> + <translation>Atrybut %1 w linii %2, kolumnie %3 nie może być zmieniony bez przeładowania aplikacji QML. </translation> </message> <message> - <source>Internal watchpoint %1 at 0x%2 in thread %3 triggered.</source> - <translation type="obsolete">Wewnętrzna pułapka warunkowa %1 pod 0x%2 w wątku %3 została wyzwolona.</translation> + <source>The %1 element at line %2, column %3 cannot be changed without reloading the QML application. </source> + <translation>Element %1 w linii %2, kolumnie %3 nie może być zmieniony bez przeładowania aplikacji QML. </translation> </message> <message> - <source>Data breakpoint %1 (%2) at %3 triggered.</source> - <translation type="unfinished"></translation> + <source>You can continue debugging, but behavior can be unexpected.</source> + <translation>Możesz kontynuować debugowanie, ale zachowanie może być nieoczekiwane.</translation> </message> +</context> +<context> + <name>QmlJSInspector::ToolBarColorBox</name> <message> - <source>Internal data breakpoint %1 at %2 triggered.</source> - <translation type="unfinished"></translation> + <source>Copy Color</source> + <translation>Skopiuj kolor</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::AddLibraryWizard</name> <message> - <source>Data breakpoint %1 (%2) at %3 in thread %4 triggered.</source> - <translation type="unfinished"></translation> + <source>Add Library</source> + <translation>Dodaj bibliotekę</translation> </message> <message> - <source>Internal data breakpoint %1 at %2 in thread %4 triggered.</source> - <translation type="unfinished"></translation> + <source>Type</source> + <translation>Typ</translation> </message> <message> - <source>Data breakpoint %1 (%2) at 0x%3 triggered.</source> - <translation type="unfinished"></translation> + <source>Details</source> + <translation>Szczegóły</translation> </message> <message> - <source>Internal data breakpoint %1 at 0x%2 triggered.</source> - <translation type="unfinished"></translation> + <source>Summary</source> + <translation>Podsumowanie</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::LibraryTypePage</name> <message> - <source>Data breakpoint %1 (%2) at 0x%3 in thread %4 triggered.</source> - <translation type="unfinished"></translation> + <source>Library Type</source> + <translation>Typ biblioteki</translation> </message> <message> - <source>Internal data breakpoint %1 at 0x%2 in thread %3 triggered.</source> - <translation type="unfinished"></translation> + <source>Choose the type of the library to link to</source> + <translation>Wybierz typ biblioteki, która ma zostać dowiązana</translation> </message> <message> - <source>Stopped at breakpoint %1 (%2) in thread %3.</source> - <translation>Zatrzymano w pułapce %1 (%2) w wątku %3.</translation> + <source>System library</source> + <translation>Biblioteka systemowa</translation> </message> <message> - <source>Stopped at internal breakpoint %1 in thread %2.</source> - <translation>Zatrzymano w wewnętrznej pułapce %1 w wątku %2.</translation> + <source>Links to a system library. +Neither the path to the library nor the path to its includes is added to the .pro file.</source> + <translation>Dowiązuje bibliotekę systemową. +Ścieżki do biblioteki i jej nagłówków nie zostaną dodane do pliku .pro.</translation> </message> <message> - <source>Stopped.</source> - <translation>Zatrzymano.</translation> + <source>System package</source> + <translation>Pakiet systemowy</translation> </message> <message> - <source>Stopped: "%1"</source> - <translation>Zatrzymano: "%1"</translation> + <source>Links to a system library using pkg-config.</source> + <translation>Dowiązuje bibliotekę systemową używając pkg-config.</translation> </message> <message> - <source>Stopped: %1 (Signal %2).</source> - <translation>Zatrzymano: %1 (sygnał %2).</translation> + <source>External library</source> + <translation>Zewnętrzna biblioteka</translation> </message> <message> - <source>Stopped in thread %1 by: %2.</source> - <translation>Zatrzymano w wątku %1 przez %2.</translation> + <source>Links to a library that is not located in your build tree. +Adds the library and include paths to the .pro file.</source> + <translation>Dowiązuje bibliotekę, która jest poza drzewem budowy projektu. +Ścieżki do biblioteki i jej nagłówków zostaną dodane do pliku .pro.</translation> </message> <message> - <source>Interrupted.</source> - <translation>Przerwano.</translation> + <source>Internal library</source> + <translation>Wewnętrzna biblioteka</translation> </message> <message> - <source> <Unknown> </source> - <comment>name</comment> - <translation> <nieznana> </translation> + <source>Links to a library that is located in your build tree. +Adds the library and include paths to the .pro file.</source> + <translation>Dowiązuje bibliotekę, która jest wewnątrz drzewa budowy projektu. +Ścieżki do biblioteki i jej nagłówków zostaną dodane do pliku .pro.</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::DetailsPage</name> <message> - <source> <Unknown> </source> - <comment>meaning</comment> - <translation> <nieznane> </translation> + <source>System Library</source> + <translation>Biblioteka systemowa</translation> </message> <message> - <source><p>The inferior stopped because it received a signal from the Operating System.<p><table><tr><td>Signal name : </td><td>%1</td></tr><tr><td>Signal meaning : </td><td>%2</td></tr></table></source> - <translation><p>Podproces zatrzymany, ponieważ otrzymał on sygnał z systemu operacyjnego.<p><table><tr><td>Nazwa sygnału: </td><td>%1</td></tr><tr><td>Znaczenie sygnału: </td><td>%2</td></tr></table></translation> + <source>Specify the library to link to</source> + <translation>Wskaż bibliotekę, która ma zostać dowiązana</translation> </message> <message> - <source>Signal received</source> - <translation>Otrzymano sygnał</translation> + <source>System Package</source> + <translation>Pakiet systemowy</translation> </message> <message> - <source><p>The inferior stopped because it triggered an exception.<p>%1</source> - <translation><p>Podproces zatrzymany z powodu rzuconego wyjątku.<p>%1</translation> + <source>Specify the package to link to</source> + <translation>Podaj pakiet do dowiązania</translation> </message> <message> - <source>Exception Triggered</source> - <translation>Rzucono wyjątek</translation> + <source>External Library</source> + <translation>Zewnętrzna biblioteka</translation> </message> <message> - <source>Taking notice of pid %1</source> - <translation>Zwracanie uwagi na pid %1</translation> + <source>Specify the library to link to and the includes path</source> + <translation>Wskaż bibliotekę, która ma zostać dowiązana i podaj ścieżkę do jej nagłówków</translation> </message> <message> - <source>Run to Address 0x%1</source> - <translation>Uruchom do adresu 0x%1</translation> + <source>Internal Library</source> + <translation>Wewnętrzna biblioteka</translation> </message> <message> - <source>Run to Line %1</source> - <translation>Uruchom do linii %1</translation> + <source>Choose the project file of the library to link to</source> + <translation>Wybierz plik projektu biblioteki, która ma zostać dowiązana</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::SummaryPage</name> <message> - <source>Jump to Address 0x%1</source> - <translation>Skocz do adresu 0x%1</translation> + <source>Summary</source> + <translation>Podsumowanie</translation> </message> <message> - <source>Jump to Line %1</source> - <translation>Skocz do linii %1</translation> + <source>The following snippet will be added to the<br><b>%1</b> file:</source> + <translation>Do pliku <b>%1</b><br>zostanie dodany następujący fragment:</translation> </message> </context> <context> - <name>Debugger::DebuggerPlugin</name> + <name>Qt4ProjectManager::Internal::LibraryDetailsController</name> <message> - <source>Debug</source> - <translation>Debug</translation> + <source>Linkage:</source> + <translation>Dowiązanie:</translation> </message> <message> - <source>Option '%1' is missing the parameter.</source> - <translation>Brak parametru w opcji "%1".</translation> + <source>%1 Dynamic</source> + <translation>%1 Dynamiczne</translation> </message> <message> - <source>The parameter '%1' of option '%2' does not match the pattern <server:port>@<executable>@<architecture>.</source> - <translation>Parametr "%1" opcji "%2" nie pasuje do wzoru <serwer:port>@<plik_wykonywalny>@<architektura>.</translation> + <source>%1 Static</source> + <translation>%1 Statyczne</translation> </message> <message> - <source>The parameter '%1' of option '%2' does not match the pattern <handle>:<pid>.</source> - <translation>Parametr "%1" opcji "%2" nie pasuje do wzoru <uchwyt>:<pid>.</translation> + <source>Mac:</source> + <translation>Mac:</translation> </message> <message> - <source>Invalid debugger option: %1</source> - <translation>Niepoprawna opcja debuggera: %1</translation> + <source>%1 Framework</source> + <translation>%1 Framework</translation> </message> <message> - <source>The application requires the debugger engine '%1', which is disabled.</source> - <translation>Program wymaga silnika debuggera "%1", który jest wyłączony.</translation> + <source>%1 Library</source> + <translation>%1 Biblioteka</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::PassphraseForKeyDialog</name> <message> - <source>Some breakpoints cannot be handled by the current debugger, and will be ignored.</source> - <translation>Niektóre pułapki nie mogą być obsłużone przez aktualnego debuggera i zostaną zignorowane.</translation> + <source>Passphrase:</source> + <translation>Hasło:</translation> </message> <message> - <source>Warning</source> - <translation>Ostrzeżenie</translation> + <source>Save passphrase</source> + <translation>Zachowaj hasło</translation> </message> <message> - <source>Some breakpoints cannot be handled by the debugger, and will be ignored. Do you want to continue?</source> - <translation>Niektóre pułapki nie mogą być obsłużone przez aktualnego debuggera i zostaną zignorowane. Czy chcesz kontynuować?</translation> + <source>This is an insecure option. The password will be saved as plain text.</source> + <translation>Nie jest to bezpieczna opcja. Hasło zostanie zachowane jako zwykły tekst.</translation> </message> <message> - <source>The debugger engine '%1' is disabled.</source> - <translation>Silnik debuggera "%1" jest wyłączony.</translation> + <source>Passphrase for %1</source> + <translation>Hasło dla %1</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60DeployConfigurationWidget</name> <message> - <source>The debugger engine '%1' required for debugging binaries of the type '%2' is not configured correctly.</source> - <translation>Silnik debuggera "%1" wymagany do debugowania plików binarnych typu "%2" nie jest poprawnie skonfigurowany.</translation> + <source>Device:</source> + <translation>Urządzenie:</translation> </message> <message> - <source>None of the debugger engines '%1' capable of debugging binaries of the type '%2' is configured correctly.</source> - <translation>Żaden silnik debuggera "%1" zdolny do debugowania plików binarnych typu "%2" nie jest poprawnie skonfigurowany.</translation> + <source>Silent installation</source> + <translation>Cicha instalacja</translation> </message> <message> - <source>The preferred debugger engine for debugging binaries of type '%1' is not available. -The debugger engine '%2' will be used as a fallback. -Details: %3</source> - <translation>Preferowany silnik debuggera do debugowania plików wykonywalnych typu "%1" nie jest dostępny. -Silnik debuggera "%2" zostanie użyty w zastępstwie. -Szczegóły: %3</translation> + <source>Serial:</source> + <translation>Szeregowe:</translation> </message> -</context> -<context> - <name>Debugger::DebuggerRunControl</name> <message> - <source>Debugger</source> - <translation>Debugger</translation> + <source>WLAN:</source> + <translation>WLAN:</translation> </message> <message> - <source>Debugging starts</source> - <translation type="obsolete">Rozpoczęto debugowanie</translation> + <source>Installation file:</source> + <translation>Plik instalacyjny:</translation> </message> <message> - <source>Debugging has failed</source> - <translation type="obsolete">Błąd debugowania</translation> + <source>Silent installation is an installation mode that does not require user's intervention. In case it fails the non silent installation is launched.</source> + <translation>Cicha instalacja jest trybem instalacji, która nie wymaga interwencji użytkownika. W przypadku niepowodzenia uruchomiona zostanie instalacja wymagająca interakcji użytkownika.</translation> </message> <message> - <source>Debugging has finished</source> - <translation type="obsolete">Zakończono debugowanie</translation> + <source>Installation drive:</source> + <translation>Napęd instalacji:</translation> </message> <message> - <source>No executable specified. -</source> - <translation>Nie podano programu do uruchomienia. -</translation> + <source>Serial port:</source> + <translation>Port szeregowy:</translation> </message> <message> - <source>Debugging starts -</source> - <translation>Rozpoczęto debugowanie -</translation> + <source>Communication Channel</source> + <translation>Kanał komunikacyjny</translation> </message> <message> - <source>Debugging has failed -</source> - <translation>Błąd debugowania -</translation> + <source>Address:</source> + <translation>Adres:</translation> </message> <message> - <source>Debugging has finished -</source> - <translation>Zakończono debugowanie -</translation> + <source>Connecting</source> + <translation>Łączenie</translation> </message> <message> - <source>A debugging session is still in progress. Terminating the session in the current state can leave the target in an inconsistent state. Would you still like to terminate it?</source> - <translation>Trwa sesja debugowa. Zakończenie jej w bieżącym stanie może spowodować, że program znajdzie się w niespójnym stanie. Czy wciąż chcesz ją zakończyć?</translation> + <source>Unable to create CODA connection. Please try again.</source> + <translation>Nie można stworzyć połączenia z CODA. Spróbuj ponownie.</translation> </message> <message> - <source>Close Debugging Session</source> - <translation>Zakończ sesję debugową</translation> + <source>Currently there is no information about the device for this connection type.</source> + <translation>Aktualnie brak informacji o tym urządzeniu dla tego typu połączenia.</translation> </message> -</context> -<context> - <name>Debugger::Internal::AbstractPlainGdbAdapter</name> <message> - <source>Starting executable failed: -</source> - <translation>Nie można uruchomić programu: -</translation> + <source>No device information available</source> + <translation>Brak dostępnej informacji o urządzeniu</translation> </message> -</context> -<context> - <name>Debugger::Internal::AttachGdbAdapter</name> <message> - <source>Attached to process %1.</source> - <translation>Dołączono do procesu %1</translation> + <source>Qt version: </source> + <translation>Wersja Qt: </translation> </message> -</context> -<context> - <name>Debugger::Internal::LocalPlainGdbAdapter</name> <message> - <source>Cannot set up communication with child process: %1</source> - <translation>Nie można ustanowić komunikacji z podprocesem: %1</translation> + <source>Not installed on device</source> + <translation>Nie jest zainstalowany na urządzeniu</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>Nie wygląda to na sesję debugową. -Ustawianie pułapek może się nie powieść.</translation> + <source>Qt version:</source> + <translation>Wersja Qt:</translation> </message> -</context> -<context> - <name>Debugger::Internal::RemoteGdbProcess</name> <message> - <source>Connection failure: %1.</source> - <translation>Błąd połączenia: %1.</translation> + <source>Unrecognised Symbian version 0x%1</source> + <translation>Nierozpoznana wersja Symbiana 0x%1</translation> </message> <message> - <source>Could not create FIFO.</source> - <translation>Nie można utworzyć FIFO.</translation> + <source>Unrecognised S60 version 0x%1</source> + <translation>Nierozpoznana wersja S60 0x%1</translation> </message> <message> - <source>Application output reader unexpectedly finished.</source> - <translation>Nieoczekiwane zakończenie czytnika komunikatów aplikacji.</translation> + <source>OS version:</source> + <translation>Wersja systemu:</translation> </message> <message> - <source>Remote GDB failed to start.</source> - <translation>Nie można uruchomić zdalnego GDB.</translation> + <source>unknown</source> + <translation>nieznana</translation> </message> <message> - <source>Remote GDB crashed.</source> - <translation>Zdalny GDB przerwał pracę.</translation> + <source>ROM version:</source> + <translation>Wersja ROM:</translation> </message> -</context> -<context> - <name>Debugger::Internal::RemoteGdbServerAdapter</name> <message> - <source>The upload process failed to start. Shell missing?</source> - <translation>Nie można rozpocząć procesu przesyłania. Brak powłoki?</translation> + <source>Release:</source> + <translation>Wydanie:</translation> </message> <message> - <source>The upload process crashed some time after starting successfully.</source> - <translation>Proces przesyłania przerwany po poprawnym uruchomieniu.</translation> + <source>CODA version: </source> + <translation>Wersja CODA:</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>Ostatnie wywołanie funkcji waitFor...() zakończyło się niepowodzeniem po określonym czasie. Stan QProcess się nie zmienił, możesz ponownie spróbować wywołać waitFor...().</translation> + <source>Error reading CODA version</source> + <translation>Błąd odczytu wersji CODA</translation> </message> <message> - <source>An error occurred when attempting to write to the upload process. For example, the process may not be running, or it may have closed its input channel.</source> - <translation>Wystąpił błąd podczas próby pisania do procesu przesyłania. Proces może nie być uruchomiony lub zamknął on swój kanał wejściowy.</translation> + <source>Qt Mobility version: </source> + <translation>Wersja Qt Mobility: </translation> </message> <message> - <source>An error occurred when attempting to read from the upload process. For example, the process may not be running.</source> - <translation>Wystąpił błąd podczas próby czytania z procesu przesyłania. Proces może nie być uruchomiony.</translation> + <source>Error reading Qt Mobility version</source> + <translation>Błąd odczytu wersji Qt Mobility</translation> </message> <message> - <source>An unknown error in the upload process occurred. This is the default return value of error().</source> - <translation>Wystąpił nieznany błąd podczas procesu przesyłania. Jest to domyślna wartość zwrócona przez error().</translation> + <source>Not installed</source> + <translation>nie są zainstalowane</translation> </message> <message> - <source>Error</source> - <translation>Błąd</translation> + <source>Qt Quick components version: </source> + <translation>Wersja komponentów Qt Quick:</translation> </message> <message> - <source>No symbol file given.</source> - <translation>Brak pliku z symbolami.</translation> + <source>Screen size:</source> + <translation>Rozmiar ekranu:</translation> </message> <message> - <source>Reading debug information failed: -</source> - <translation>Błąd odczytu informacji debugowej: -</translation> + <source>Queries the device for information</source> + <translation>Uzyskuje informacje o urządzeniu</translation> </message> </context> <context> - <name>Debugger::Internal::DebuggerPane</name> + <name>Qt4ProjectManager::Internal::S60DeployStep</name> <message> - <source>Clear Contents</source> - <translation>Wyczyść zawartość</translation> + <source>Unable to remove existing file '%1': %2</source> + <translation>Nie można usunąć istniejącego pliku "%1": %2</translation> </message> <message> - <source>Save Contents</source> - <translation>Zachowaj zawartość</translation> + <source>Unable to rename file '%1' to '%2': %3</source> + <translation>Nie można zmienić nazwy pliku "%1" na "%2": %3</translation> </message> -</context> -<context> - <name>Debugger::Internal::InputPane</name> <message> - <source>Type Ctrl-<Return> to execute a line.</source> - <translation>Naciśnij Ctrl-<Return> aby wykonać linię.</translation> + <source>Deploy</source> + <extracomment>Qt4 Deploystep display name</extracomment> + <translation>Zainstaluj</translation> </message> -</context> -<context> - <name>Debugger::Internal::LogWindow</name> <message> - <source>Debugger Log</source> - <translation>Log debuggera</translation> + <source>Renaming new package '%1' to '%2'</source> + <translation>Zmienianie nazwy pakietu z "%1" na "%2"</translation> </message> <message> - <source>Command:</source> - <translation>Komenda:</translation> + <source>Removing old package '%1'</source> + <translation>Usuwanie starego pakietu "%1"</translation> </message> <message> - <source>Log File</source> - <translation>Plik loga</translation> + <source>'%1': Package file not found</source> + <translation>"%1": Brak pliku pakietu</translation> </message> <message> - <source>Write Failure</source> - <translation type="obsolete">Błąd zapisu</translation> + <source>Failed to find package %1</source> + <translation>Nie można odnaleźć pakietu %1</translation> </message> <message> - <source>Unable to write log contents to '%1': %2</source> - <translation type="obsolete">Nie można zapisać zawartości loga do "%1": %2</translation> + <source>Could not write to file %1 on device: %2</source> + <translation>Nie można zapisać do pliku %1 na urządzeniu: %2</translation> </message> -</context> -<context> - <name>Debugger::QmlAdapter</name> <message> - <source>Connect to debug server %1:%2</source> - <translation type="obsolete">Nawiąż połączenie z serwerem debugowym %1.%2</translation> + <source>Copying "%1"...</source> + <translation>Kopiowanie "%1"...</translation> </message> <message> - <source>Connecting to debug server on %1</source> - <translation>Łączenie z serwerem debugowym na %1</translation> + <source>Deploying application to '%1'...</source> + <translation>Instalowanie aplikacji w "%1"...</translation> </message> <message> - <source>Connecting to debug server %1:%2</source> - <translation>Łączenie z serwerem debugowym %1: %2</translation> + <source>No such port</source> + <translation>Port nie istnieje</translation> </message> <message> - <source>Error: (%1) %2</source> - <comment>%1=error code, %2=error message</comment> - <translation>Błąd: (%1) %2</translation> + <source>Could not open serial device: %1</source> + <translation>Nie można otworzyć portu szeregowego: %1</translation> </message> <message> - <source>disconnected. - -</source> - <translation>rozłączony. -</translation> + <source>Connecting to %1:%2...</source> + <translation>Łączenie z %1:%2...</translation> </message> <message> - <source>resolving host...</source> - <translation>rozwiązywanie adresu hosta...</translation> + <source>Error: %1</source> + <translation>Błąd: %1</translation> </message> <message> - <source>connecting to debug server...</source> - <translation>łączenie z serwerem debugowym...</translation> + <source>Installing package "%1" on drive %2:...</source> + <translation>Instalowanie pakiety "%1" na urządzeniu %2:...</translation> </message> <message> - <source>connected. -</source> - <translation>połączony. -</translation> + <source>No package has been found. Specify at least one installation package.</source> + <translation>Brak pakietu. Podaj przynajmniej jeden pakiet instalacyjny.</translation> </message> <message> - <source>closing...</source> - <translation>zamykanie...</translation> + <source>No device is connected. Connect a device and try again.</source> + <translation>Brak podłączonego urządzenia. Podłącz je i spróbuj ponownie.</translation> </message> <message> - <source>Debug service '%1' became unavailable.</source> - <translation>Serwis debugowy "%1" stał się niedostępny.</translation> + <source>No address for a device has been defined. Define an address and try again.</source> + <translation>Brak zdefiniowanego adresu urządzenia. Podaj adres i spróbuj ponownie.</translation> </message> <message> - <source>Connected to debug service '%1'.</source> - <translation>Nawiązano połączenie z serwisem debugowym "%1".</translation> + <source>Continue the installation on your device.</source> + <translation>Kontynuuj instalację na urządzeniu.</translation> </message> <message> - <source>Not connected to debug service '%1'.</source> - <translation>Nie nawiązano połączenia z serwisem debugowym "%1".</translation> + <source>Could not open remote file: %1</source> + <translation>Nie można otworzyć zdalnego pliku: %1</translation> </message> -</context> -<context> - <name>Debugger::Internal::ScriptConsole</name> <message> - <source><Type expression to evaluate></source> - <translation><Wpisz wyrażenie do wykonania></translation> + <source>Internal error: No filehandle obtained</source> + <translation>Błąd wewnętrzny: brak uchwytu do pliku</translation> </message> <message> - <source>Write and evaluate QtScript expressions.</source> - <translation>Wpisz i wykonaj polecenia QtScript.</translation> + <source>Could not open local file %1: %2</source> + <translation>Nie można otworzyć lokalnego pliku %1: %2</translation> </message> <message> - <source>Script Console -</source> - <translation>Konsola skryptowa -</translation> + <source>Installation has finished</source> + <translation>Instalacja zakończona</translation> </message> -</context> -<context> - <name>Debugger::Internal::SourceFilesHandler</name> <message> - <source>Internal name</source> - <translation>Wewnętrzna nazwa</translation> + <source>Installation failed: %1; see %2 for descriptions of the error codes</source> + <translation>Błąd instalacji: %1, zobacz opis kodów błędów w %2</translation> </message> <message> - <source>Full name</source> - <translation>Pełna nazwa</translation> + <source>Failed to close the remote file: %1</source> + <translation>Nie można zamknąć zdalnego pliku: %1</translation> </message> -</context> -<context> - <name>Git::Internal::SettingsPageWidget</name> <message> - <source>Set the environment variable HOME to '%1' -(%2). -This causes msysgit to look for the SSH-keys in that location -instead of its installation directory when run outside git bash.</source> - <translation>Ustaw zmienną środowiskową HOME na "%1" -(%2). -Spowoduje to, że msysgit uruchomiony na zewnątrz powłoki git -zacznie poszukiwać kluczy SSH w tym położeniu -zamiast w jego katalogu instalacyjnym.</translation> + <source>Installation</source> + <translation>Instalacja</translation> </message> <message> - <source>not currently set</source> - <translation>aktualnie nie ustawiona</translation> + <source>A timeout while deploying has occurred. CODA might not be responding. Try reconnecting the device.</source> + <translation>Przekroczony czas oczekiwania podczas instalacji. CODA może nie odpowiadać. Spróbuj ponownie podłączyć urządzenie.</translation> </message> <message> - <source>currently set to '%1'</source> - <translation>aktualnie ustawiona na "%1"</translation> + <source>Deployment has been cancelled.</source> + <translation>Instalacja została anulowana.</translation> </message> -</context> -<context> - <name>Help::Internal::ExternalHelpWindow</name> <message> - <source>Show Sidebar</source> - <translation>Pokazuj boczny pasek</translation> + <source>The device '%1' has been disconnected</source> + <translation>Urządzenie "%1" zostało odłączone</translation> </message> <message> - <source>Qt Creator Offline Help</source> - <translation>Pomoc offline Qt Creatora</translation> + <source>Copy progress: %1%</source> + <translation>Postęp kopiowania: %1%</translation> </message> </context> <context> - <name>EditorManager</name> + <name>Qt4ProjectManager::Internal::S60DeployStepWidget</name> <message> - <source>Next Open Document in History</source> - <translation>Następny otwarty dokument w historii</translation> + <source>Deploy SIS Package</source> + <translation>Zainstaluj pakiet SIS</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60DeployStepFactory</name> <message> - <source>Previous Open Document in History</source> - <translation>Poprzedni otwarty dokument w historii</translation> + <source>Deploy SIS Package</source> + <translation>Zainstaluj pakiet SIS</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::SbsV2Parser</name> <message> - <source>Go Back</source> - <translation>Wstecz</translation> + <source>SBSv2 build log</source> + <translation>Log budowania SBSv2</translation> </message> <message> - <source>Go Forward</source> - <translation>W przód</translation> + <source>The file '%1' is not a SBSv2 log file.</source> + <translation>Plik "%1" nie jest plikiem logu SVSv2.</translation> </message> <message> - <source>Close</source> - <translation>Zamknij</translation> + <source>Running command: %1 +</source> + <translation>Uruchamianie komendy: %1 +</translation> </message> -</context> -<context> - <name>Help::Internal::OpenPagesManager</name> <message> - <source>Copy Full Path to Clipboard</source> - <translation>Skopiuj pełną ścieżkę do schowka</translation> + <source>Recipe %1 failed with exit code %2.</source> + <extracomment>%1 is the SBSv2 build recipe name, %2 the return code of the failed command</extracomment> + <translation type="unfinished"></translation> </message> </context> <context> - <name>Help::Internal::RemoteHelpFilter</name> + <name>Qt4ProjectManager::AbstractMobileApp</name> <message> - <source>Web Search</source> - <translation>Szukanie w sieci</translation> + <source>Could not open template file '%1'.</source> + <translation>Nie można otworzyć pliku z szablonem "%1".</translation> </message> </context> <context> - <name>ImageViewer::Internal::ImageViewerActionHandler</name> + <name>MobileAppWizard</name> <message> - <source>Zoom In</source> - <translation>Powiększ</translation> + <source>Mobile Qt Application</source> + <translation>Mobilna aplikacja Qt</translation> </message> <message> - <source>Ctrl++</source> - <translation>Ctrl++</translation> + <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>Tworzy aplikację Qt dla urządzeń przenośnych. Zawiera główne okno bazujące na Qt Designerze. + +Wstępnie wybiera wersję Qt dla Symulatora i aplikacji mobilnych (jeśli jest dostępna).</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::QtQuickApp</name> <message> - <source>Zoom Out</source> - <translation>Pomniejsz</translation> + <source>The QML import path '%1' cannot be found.</source> + <translation>Nie można odnaleźć ścieżki importu QML "%1".</translation> </message> <message> - <source>Ctrl+-</source> - <translation>Ctrl+-</translation> + <source>The QML module '%1' cannot be found.</source> + <translation>Nie można odnaleźć modułu QML "%1".</translation> </message> <message> - <source>Original Size</source> - <translation>Oryginalny rozmiar</translation> + <source>Invalid '%1' entry in '%2' of module '%3'.</source> + <translation>Niepoprawna pozycja "%1" w "%2" w module "%3".</translation> </message> <message> - <source>Ctrl+0</source> - <translation>Ctrl+0</translation> + <source>No .pro file for plugin '%1' cannot be found.</source> + <translation>Brak pliku .pro dla wtyczki "%1".</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::QtQuickAppWizardDialog</name> <message> - <source>Fit To Screen</source> - <translation>Dopasuj do ekranu</translation> + <source>New Qt Quick Application</source> + <translation>Nowa aplikacja Qt Quick</translation> </message> <message> - <source>Ctrl+=</source> - <translation>Ctrl+=</translation> + <source>This wizard generates a Qt Quick application project.</source> + <translation>Ten kreator generuje projekt aplikacji Qt Quick.</translation> </message> <message> - <source>Switch Background</source> - <translation>Przełącz tło</translation> + <source>Application Type</source> + <translation>Typ aplikacji</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::QtQuickAppWizard</name> <message> - <source>Switch Outline</source> - <translation>Przełącz zarys</translation> + <source>Qt Quick Application</source> + <translation>Aplikacja Qt Quick</translation> </message> <message> - <source>Ctrl+[</source> - <translation>Ctrl+[</translation> - </message> - <message> - <source>Ctrl+]</source> - <translation>Ctrl+]</translation> + <source>Creates a Qt Quick application project that can contain both QML and C++ code and includes a QDeclarativeView. + +You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects. Moreover, you can select to use a set of premade UI components in your Qt Quick application. To utilize the components, Qt 4.7.3 or newer is required.</source> + <translation>Tworzy projekt aplikacji Qt Quick, który może zawierać kod QML i C++ i dołącza QDeclarativeView + +Aplikację można zbudować i zainstalować na desktopie i urządzeniach mobilnych. Dla tego typu projektów można na przykład utworzyć podpisane pakiety Symbian Installation System (SIS). Ponadto, można użyć zestawu wbudowanych komponentów UI w aplikacji Qt Quick. Aby skorzystać z komponentów wymagana jest wersja Qt 4.7.3 albo nowsza.</translation> </message> </context> <context> - <name>ProjectExplorer::Internal::BuildStepListWidget</name> + <name>TaskList::Internal::StopMonitoringHandler</name> <message> - <source>%1 Steps</source> - <extracomment>%1 is the name returned by BuildStepList::displayName</extracomment> - <translation>Kroki %1</translation> + <source>Stop monitoring</source> + <translation>Zatrzymaj monitorowanie</translation> </message> <message> - <source>No %1 Steps</source> - <translation>Brak kroków %1</translation> + <source>Stop monitoring task files.</source> + <translation>Zatrzymaj monitorowanie plików zadania.</translation> </message> +</context> +<context> + <name>TaskList::Internal::TaskFileFactory</name> <message> - <source>Add %1 Step</source> - <translation>Dodaj krok %1</translation> + <source>Task file reader</source> + <translation>Czytnik plików z zadaniami</translation> </message> <message> - <source>Move Up</source> - <translation>Przenieś do góry</translation> + <source>File Error</source> + <translation>Błąd pliku</translation> </message> +</context> +<context> + <name>TaskList::TaskListPlugin</name> <message> - <source>Move Down</source> - <translation>Przenieś na dół</translation> + <source>Cannot open task file %1: %2</source> + <translation>Nie można otworzyć pliku z zadaniem %1: %2</translation> </message> <message> - <source>Remove Item</source> - <translation>Usuń element</translation> + <source>My Tasks</source> + <extracomment>Category under which tasklist tasks are listed in build issues view</extracomment> + <translation>Moje zadania</translation> </message> +</context> +<context> + <name>TextEditor::HighlighterSettingsPage</name> <message> - <source>Removing Step failed</source> - <translation>Nie można usunąć kroku</translation> + <source>Generic Highlighter</source> + <translation>Ogólny podświetlacz</translation> </message> <message> - <source>Cannot remove build step while building</source> - <translation>Nie można usunąć kroku podczas budowania</translation> + <source>Download Definitions</source> + <translation>Ściągnij definicje</translation> </message> <message> - <source>No Build Steps</source> - <translation>Brak kroków procesu budowania</translation> + <source>Autodetect</source> + <translation>Wykryj automatycznie</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::CopyTaskHandler</name> <message> - <source>error: </source> - <extracomment>Task is of type: error</extracomment> - <translation>błąd:</translation> + <source>Autodetect Definitions</source> + <translation>Wykryj automatycznie definicje</translation> </message> <message> - <source>warning: </source> - <extracomment>Task is of type: warning</extracomment> - <translation>ostrzeżenie:</translation> + <source>No pre-installed definitions could be found.</source> + <translation>Brak pre-instalowanych definicji.</translation> </message> <message> - <source>&Copy</source> - <comment>Name of the action triggering the copytaskhandler</comment> - <translation>S&kopiuj</translation> + <source>Error connecting to server.</source> + <translation>Błąd łączenia z serwerem.</translation> </message> <message> - <source>Copy task to clipboard</source> - <translation>Skopiuj zadanie do schowka</translation> + <source>Not possible to retrieve data.</source> + <translation>Nie można odebrać danych.</translation> </message> </context> <context> - <name>ProjectExplorer::DeployConfiguration</name> + <name>TextEditor::Internal::ManageDefinitionsDialog</name> <message> - <source>Deploy</source> - <extracomment>Display name of the deploy build step list. Used as part of the labels in the project window.</extracomment> - <translation>Zainstaluj</translation> + <source>Name</source> + <translation>Nazwa</translation> </message> <message> - <source>No deployment</source> - <extracomment>Default DeployConfiguration display name</extracomment> - <translation>Brak instalacji</translation> + <source>Installed</source> + <translation>Zainstalowane</translation> </message> -</context> -<context> - <name>ProjectExplorer::DeployConfigurationFactory</name> <message> - <source>Deploy Configuration</source> - <extracomment>Display name of the default deploy configuration</extracomment> - <translation>Konfiguracja instalacji</translation> + <source>Available</source> + <translation>Dostępne</translation> </message> -</context> -<context> - <name>ProjectExplorer::RunControl</name> <message> - <source>Application Still Running</source> - <translation>Program wciąż uruchomiony</translation> + <source>Download Definitions</source> + <translation>Ściągnij definicje</translation> </message> <message> - <source><html><head/><body><center><i>%1</i> is still running.<center/><center>Force it to quit?</center></body></html></source> - <translation><html><head/><body><center><i>%1</i> jest wciąż uruchomiony.<center/><center>Wymusić zakończenie?</center></body></html></translation> + <source>Download Information</source> + <translation>Ściągnij informacje</translation> </message> <message> - <source>Force Quit</source> - <translation>Wymuś zakończenie</translation> + <source>There is already one download in progress. Please wait until it is finished.</source> + <translation>Trwa inne ściąganie, poczekaj na jego zakończenie.</translation> </message> +</context> +<context> + <name>TextEditor::Internal::Manager</name> <message> - <source>Keep Running</source> - <translation>Pozostaw uruchomionym</translation> + <source>Registering definitions</source> + <translation>Rejestrowanie definicji</translation> </message> <message> - <source>Do not ask again</source> - <translation>Nie pytaj ponownie</translation> + <source>Downloading definitions</source> + <translation>Ściąganie definicji</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::ShowInEditorTaskHandler</name> <message> - <source>&Show in editor</source> - <translation>&Pokaż w edytorze</translation> + <source>Error downloading selected definition(s).</source> + <translation>Błąd ściągania wybranych definicji.</translation> </message> <message> - <source>Show task location in an editor</source> - <translation>Pokaż położenie zadania w edytorze</translation> + <source>Error downloading one or more definitions.</source> + <translation>Błąd ściągania jednej lub wielu definicji.</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::ShowOutputTaskHandler</name> <message> - <source>Show &Output</source> - <translation>Pokaż &wyjście</translation> + <source> +Please check the directory's access rights.</source> + <translation> +Sprawdź prawa dostępu do katalogu.</translation> </message> <message> - <source>Show output generating this issue.</source> - <translation>Pokaż wyjście generujące ten problem.</translation> + <source>Download Error</source> + <translation>Błąd ściągania</translation> </message> </context> <context> - <name>ProjectExplorer::Internal::TaskWindow</name> + <name>TextEditor::Internal::OutlineWidgetStack</name> <message> - <source>Build Issues</source> - <translation>Problemy podczas budowania</translation> + <source>No outline available</source> + <translation>Zarys nie jest dostępny</translation> </message> <message> - <source>Show Warnings</source> - <translation>Pokazuj ostrzeżenia</translation> + <source>Synchronize with Editor</source> + <translation>Synchronizuj z edytorem</translation> </message> <message> - <source>Filter by categories</source> - <translation>Przefiltruj według kategorii</translation> + <source>Filter tree</source> + <translation>Przefiltruj drzewo</translation> </message> </context> <context> - <name>ProjectExplorer::UserFileAccessor</name> - <message> - <source>Using Old Project Settings File</source> - <translation>Użyty jest stary plik z ustawieniami projektu</translation> - </message> + <name>TextEditor::Internal::OutlineFactory</name> <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>Użyta zostanie kopia zapasowa pliku z ustawieniami .user, ponieważ w międzyczasie oryginalny plik z ustawieniami został zachowany przez nowszą, niekompatybilną wersję Qt Creatora.</p><p>Jeżeli nastąpią teraz zmiany w ustawieniach projektu to <b>nie</b> zostaną one zastosowane w nowszej wersji Qt Creatora.</p></body></html></translation> + <source>Outline</source> + <translation>Zarys</translation> </message> +</context> +<context> + <name>TextEditor::Internal::PlainTextEditorFactory</name> <message> - <source>Project Settings File from a different Environment?</source> - <translation>Plik z ustawieniami z innego środowiska?</translation> + <source>A highlight definition was not found for this file. Would you like to try to find one?</source> + <translation>Definicja podświetleń nie została znaleziona. Czy chcesz spróbować ją znaleźć?</translation> </message> <message> - <source>Qt Creator has found a .user settings file which was created for another development setup, maybe originating from another machine. - -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 znalazł plik .user z ustawieniami, który był utworzony dla innego środowiska, być może pochodzi z innego komputera. - -Plik .user zawiera ustawienia, które nie powinny być kopiowane do innego środowiska. - -Czy wciąż chcesz załadować plik z ustawieniami?</translation> + <source>Show highlighter options</source> + <translation>Pokaż opcje podświetlacza</translation> </message> </context> <context> - <name>ProjectExplorer::UserFileHandler</name> + <name>ProjectExplorer::BuildableHelperLibrary</name> <message> - <source>No deployment</source> - <translation>Brak instalacji</translation> + <source>Cannot start process: %1</source> + <translation>Nie można uruchomić procesu: %1</translation> </message> <message> - <source>Deploy to Maemo device</source> - <translation>Zainstaluj na urządzeniu Maemo</translation> + <source>Timeout after %1s.</source> + <translation>Bez odpowiedzi po %1s.</translation> </message> <message> - <source>Deploy to Symbian device</source> - <translation>Zainstaluj na urządzeniu Symbian</translation> + <source>The process crashed.</source> + <translation>Proces zakończył pracę błędem.</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::VcsAnnotateTaskHandler</name> <message> - <source>&Annotate</source> - <translation>Dołącz &adnotację</translation> + <source>The process returned exit code %1: +%2</source> + <translation>Proces zwrócił kod wyjściowy %1: +%2</translation> </message> -</context> -<context> - <name>QmlJSEditor::ComponentFromObjectDef</name> <message> - <source>Move Component into separate file</source> - <translation>Przenieś komponent do osobnego pliku</translation> + <source>Error running '%1' in %2: %3</source> + <translation>Błąd uruchamiania "%1" w %2: %3</translation> </message> <message> - <source>Move Component into '%1.qml'</source> - <translation>Przenieś komponent do "%1.qml"</translation> + <source>Building helper '%1' in %2 +</source> + <translation>Budowanie asystenta "%1" w %2 +</translation> </message> -</context> -<context> - <name>QmlJSEditor::Internal::ComponentNameDialog</name> <message> - <source>Choose a path</source> - <translation>Wybierz ścieżkę</translation> + <source>Running %1 %2... +</source> + <translation>Uruchamianie %1 %2... +</translation> </message> <message> - <source>Invalid component name</source> - <translation>Niepoprawna nazwa komponentu</translation> + <source>Running %1 %2 ... +</source> + <translation>Uruchamianie %1 %2 ... +</translation> </message> <message> - <source>Invalid path</source> - <translation>Niepoprawna ścieżka</translation> + <source>%1 not found in PATH +</source> + <translation>Nie znaleziono %1 w zmiennej PATH +</translation> </message> </context> <context> - <name>QmlJSEditor::FindReferences</name> + <name>QmlJSEditor::Internal::QmlJSOutlineWidget</name> <message> - <source>Searching</source> - <translation>Przeszukiwanie</translation> + <source>Show All Bindings</source> + <translation>Pokaż wszystkie wiązania</translation> </message> </context> <context> - <name>QmlJSEditor::QuickFix</name> + <name>ProjectExplorer::QmlDumpTool</name> <message> - <source>Split initializer</source> - <translation>Podziel inicjalizator</translation> - </message> -</context> -<context> - <name>QmlJSInspector::Internal::ContextCrumblePath</name> - <message> - <source>[no context]</source> - <translation>[brak kontekstu]</translation> + <source>qmldump could not be built in any of the directories: +- %1 + +Reason: %2</source> + <translation>Nie można zbudować qmldump w żadnym z katalogów: +- %1 + +Powód: %2</translation> </message> </context> <context> - <name>QmlJSInspector::Internal::InspectorUi</name> - <message> - <source>Context Path</source> - <translation>Ścieżka kontekstu</translation> - </message> - <message> - <source>QML Inspector</source> - <translation>QML Inspector</translation> - </message> + <name>ProjectExplorer::QmlObserverTool</name> <message> - <source>QML Observer</source> - <translation type="obsolete">QML Observer</translation> + <source>The target directory %1 could not be created.</source> + <translation>Nie można utworzyć docelowego katalogu %1.</translation> </message> <message> - <source>Filter properties</source> - <translation>Właściwości filtru</translation> + <source>QMLObserver could not be built in any of the directories: +- %1 + +Reason: %2</source> + <translation>Nie można zbudować QMLObservera w żadnym z katalogów: +- %1 + +Powód: %2</translation> </message> </context> <context> - <name>QmlJSInspector::Internal::QmlJSLiveTextPreview</name> - <message> - <source>You changed a QML file in Live Preview mode, which modifies the running QML application. In case of unexpected behavior, please reload the QML application. </source> - <translation type="obsolete">Plik QML został zmodyfikowany w trybie podglądu na żywo, co spowodowało modyfikację uruchomionej aplikacji QML. W przypadku nieoczekiwanego zachowania przeładuj aplikację QML.</translation> - </message> - <message> - <source>You changed a QML file in Live Preview mode, which modifies the running QML application. In case of unexpected behavior, please reload the QML application.</source> - <translation>Plik QML został zmodyfikowany w trybie podglądu na żywo, co spowodowało modyfikację uruchomionej aplikacji QML. W przypadku nieoczekiwanego zachowania przeładuj aplikację QML.</translation> - </message> - <message> - <source>Disable Live Preview</source> - <translation>Wyłącz podgląd na żywo</translation> - </message> - <message> - <source>The %1 attribute at line %2, column %3 cannot be changed without reloading the QML application. </source> - <translation>Atrybut %1 w linii %2, kolumnie %3 nie może być zmieniony bez przeładowania aplikacji QML. </translation> - </message> + <name>CppEditor::InsertDeclOperation</name> <message> - <source>The %1 element at line %2, column %3 cannot be changed without reloading the QML application. </source> - <translation>Element %1 w linii %2, kolumnie %3 nie może być zmieniony bez przeładowania aplikacji QML. </translation> + <source>Add %1 Declaration</source> + <translation>Dodaj deklarację %1</translation> </message> +</context> +<context> + <name>CppEditor::InsertDefOperation</name> <message> - <source>You can continue debugging, but behavior can be unexpected.</source> - <translation>Możesz kontynuować debugowanie, ale zachowanie może być nieoczekiwane.</translation> + <source>Add Definition in %1</source> + <translation>Dodaj definicję w %1</translation> </message> </context> <context> - <name>QmlJSInspector::ToolBarColorBox</name> + <name>QmlJsEditor</name> <message> - <source>Copy Color</source> - <translation>Skopiuj kolor</translation> + <source>QML</source> + <translation>QML</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::AddLibraryWizard</name> + <name>Qt4ProjectManager::QmlDumpTool</name> <message> - <source>Add Library</source> - <translation>Dodaj bibliotekę</translation> + <source>Only available for Qt for Desktop and Qt for Qt Simulator.</source> + <translation>Dostępne jedynie dla wersji Qt Desktop oraz dla Qt Simulator.</translation> </message> <message> - <source>Type</source> - <translation>Typ</translation> + <source>Only available for Qt 4.7.1 or newer.</source> + <translation>Dostępne jedynie dla wersji Qt 4.7.1 lub nowszej.</translation> </message> <message> - <source>Details</source> - <translation>Szczegóły</translation> + <source>Private headers are missing for this Qt version.</source> + <translation>Brak prywatnych nagłówków w tej wersji Qt.</translation> </message> <message> - <source>Summary</source> - <translation>Podsumowanie</translation> + <source>qmldump</source> + <translation>qmldump</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::LibraryTypePage</name> - <message> - <source>Library Type</source> - <translation>Typ biblioteki</translation> - </message> - <message> - <source>Choose the type of the library to link to</source> - <translation>Wybierz typ biblioteki, która ma zostać dowiązana</translation> - </message> + <name>QmlDumpBuildTask</name> <message> - <source>System library</source> - <translation>Biblioteka systemowa</translation> + <source>Building helper</source> + <translation>Budowanie asystenta</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::QmlObserverTool</name> <message> - <source>Links to a system library. -Neither the path to the library nor the path to its includes is added to the .pro file.</source> - <translation>Dowiązuje bibliotekę systemową. -Ścieżki do biblioteki i jej nagłówków nie zostaną dodane do pliku .pro.</translation> + <source>Only available for Qt for Desktop or Qt for Qt Simulator.</source> + <translation>Dostępne jedynie dla wersji Qt Desktop oraz dla Qt Simulator.</translation> </message> <message> - <source>System package</source> - <translation>Pakiet systemowy</translation> + <source>Only available for Qt 4.7.1 or newer.</source> + <translation>Dostępne jedynie dla wersji Qt 4.7.1 lub nowszej.</translation> </message> <message> - <source>Links to a system library using pkg-config.</source> - <translation>Dowiązuje bibliotekę systemową używając pkg-config.</translation> + <source>QMLObserver</source> + <translation>QMLObserver</translation> </message> +</context> +<context> + <name>MaemoProFilesUpdateDialog</name> <message> - <source>External library</source> - <translation>Zewnętrzna biblioteka</translation> + <source>Maemo Deployment Issue</source> + <translation>Problem instalacji Maemo</translation> </message> <message> - <source>Links to a library that is not located in your build tree. -Adds the library and include paths to the .pro file.</source> - <translation>Dowiązuje bibliotekę, która jest poza drzewem budowy projektu. -Ścieżki do biblioteki i jej nagłówków zostaną dodane do pliku .pro.</translation> + <source>The project files listed below do not contain Maemo deployment information, which means the respective targets cannot be deployed to and/or run on a device. Qt Creator will add the missing information to these files if you check the respective rows below.</source> + <translation>Pliki projektu wymienione poniżej nie zawierają informacji o instalacji dla Maemo, co oznacza, że odpowiednie produkty docelowe nie mogą być zainstalowane ani uruchomione. Jeśli zaznaczysz odpowiednie wiersze poniżej, brakujące informacje zostaną dodane do tych plików.</translation> </message> <message> - <source>Internal library</source> - <translation>Wewnętrzna biblioteka</translation> + <source>&Check all</source> + <translation>&Zaznacz wszystko</translation> </message> <message> - <source>Links to a library that is located in your build tree. -Adds the library and include paths to the .pro file.</source> - <translation>Dowiązuje bibliotekę, która jest wewnątrz drzewa budowy projektu. -Ścieżki do biblioteki i jej nagłówków zostaną dodane do pliku .pro.</translation> + <source>&Uncheck All</source> + <translation>&Odznacz wszystko</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::DetailsPage</name> + <name>Bazaar::Internal::BazaarCommitPanel</name> <message> - <source>System Library</source> - <translation>Biblioteka systemowa</translation> + <source>General Information</source> + <translation>Ogólne informacje</translation> </message> <message> - <source>Specify the library to link to</source> - <translation>Wskaż bibliotekę, która ma zostać dowiązana</translation> + <source>Branch:</source> + <translation>Gałąź:</translation> </message> <message> - <source>System Package</source> - <translation>Pakiet systemowy</translation> + <source>Local commit</source> + <translation type="unfinished"></translation> </message> <message> - <source>Specify the package to link to</source> - <translation>Podaj pakiet do dowiązania</translation> + <source>Commit Information</source> + <translation type="unfinished"></translation> </message> <message> - <source>External Library</source> - <translation>Zewnętrzna biblioteka</translation> + <source>Author:</source> + <translation>Autor:</translation> </message> <message> - <source>Specify the library to link to and the includes path</source> - <translation>Wskaż bibliotekę, która ma zostać dowiązana i podaj ścieżkę do jej nagłówków</translation> + <source>Email:</source> + <translation>Email:</translation> </message> <message> - <source>Internal Library</source> - <translation>Wewnętrzna biblioteka</translation> + <source>Fixed bugs:</source> + <translation>Poprawione błędy:</translation> </message> <message> - <source>Choose the project file of the library to link to</source> - <translation>Wybierz plik projektu biblioteki, która ma zostać dowiązana</translation> + <source>Perform a local commit in a bound branch. +Local commits are not pushed to the master branch until a normal commit is performed.</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::SummaryPage</name> - <message> - <source>Summary</source> - <translation>Podsumowanie</translation> - </message> + <name>Bazaar::Internal::CloneOptionsPanel</name> <message> - <source>The following snippet will be added to the<br><b>%1</b> file:</source> - <translation>Do pliku <b>%1</b><br>zostanie dodany następujący fragment:</translation> + <source>Options</source> + <translation>Opcje</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::LibraryDetailsController</name> <message> - <source>Linkage:</source> - <translation>Dowiązanie:</translation> + <source>Use existing directory</source> + <translation>Użyj istniejącego katalogu</translation> </message> <message> - <source>%1 Dynamic</source> - <translation>%1 Dynamiczne</translation> + <source>Stacked</source> + <translation type="unfinished"></translation> </message> <message> - <source>%1 Static</source> - <translation>%1 Statyczne</translation> + <source>Standalone</source> + <translation type="unfinished"></translation> </message> <message> - <source>Mac:</source> - <translation>Mac:</translation> + <source>Bind new branch to source location</source> + <translation>Powiąż nową gałąź z położeniem źródeł</translation> </message> <message> - <source>%1 Framework</source> - <translation>%1 Framework</translation> + <source>Switch checkout</source> + <translation type="unfinished"></translation> </message> <message> - <source>%1 Library</source> - <translation>%1 Biblioteka</translation> + <source>Hardlink</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoDebugSupport</name> <message> - <source>Preparing remote side ...</source> - <translation type="obsolete">Przygotowywanie zdalnej strony...</translation> + <source>No working-tree</source> + <translation>Bez kopii roboczej</translation> </message> <message> - <source>SSH connection error: %1</source> - <translation type="obsolete">Błąd połączenia SSH: %1</translation> + <source>Revision:</source> + <translation>Poprawka:</translation> </message> <message> - <source>Upload failed: Could not open file '%1'</source> - <translation type="obsolete">Błąd przesyłania: nie można otworzyć pliku "%1"</translation> + <source>By default, branch will fail if the target directory exists, but does not already have a control directory. +This flag will allow branch to proceed.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Started uploading debugging helpers ('%1').</source> - <translation type="obsolete">Rozpoczęto przesyłanie pomocników debuggera ("%1").</translation> + <source>Create a stacked branch referring to the source branch. +The new branch will depend on the availability of the source branch for all operations.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Could not upload debugging helpers: %1.</source> - <translation type="obsolete">Nie można przesłać pomocników debuggera: %1.</translation> + <source>Do not use a shared repository, even if available.</source> + <translation>Nie używaj dzielonego repozytorium, nawet jeśli jest dostępne.</translation> </message> <message> - <source>Finished uploading debugging helpers.</source> - <translation type="obsolete">Zakończono przesyłanie pomocników debuggera.</translation> + <source>Switch the checkout in the current directory to the new branch.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Initial setup failed: %1</source> - <translation type="obsolete">Błąd wstępnej konfiguracji: %1</translation> + <source>Hard-link working tree files where possible.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Not enough free ports on device for debugging.</source> - <translation type="obsolete">Niewystarczająca ilość wolnych portów w urządzeniu do debugowania.</translation> + <source>Create a branch without a working-tree.</source> + <translation>Utwórz gałąź bez drzewa roboczego.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeployableListModel</name> + <name>Bazaar::Internal::OptionsPage</name> <message> - <source><no target path set></source> - <translation type="obsolete"><brak ścieżki produktu docelowego></translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Local File Path</source> - <translation type="obsolete">Ścieżka do lokalnego pliku</translation> + <source>Configuration</source> + <translation>Konfiguracja</translation> </message> <message> - <source>Remote Directory</source> - <translation type="obsolete">Zdalny katalog</translation> + <source>Command:</source> + <translation>Komenda:</translation> </message> <message> - <source>Failed to open '%1': %2</source> - <translation type="obsolete">Nie można otworzyć "%1": %2</translation> + <source>User</source> + <translation>Użytkownik</translation> </message> <message> - <source>Could not write '%1': %2</source> - <translation type="obsolete">Nie można zapisać "%1": %2</translation> + <source>Username to use by default on commit.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Error writing project file.</source> - <translation type="obsolete">Błąd zapisywania pliku projektu.</translation> + <source>Default username:</source> + <translation>Domyślna nazwa użytkownika:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoDeployStep</name> <message> - <source>Deployment failed: No valid device set.</source> - <translation type="obsolete">Błąd instalowania: Nie ustawiono poprawnego urządzenia.</translation> + <source>Email to use by default on commit.</source> + <translation type="unfinished"></translation> </message> <message> - <source>All files up to date, no installation necessary.</source> - <translation type="obsolete">Wszystkie pliki są aktualne, instalowanie zbyteczne.</translation> + <source>Default email:</source> + <translation>Domyślny adres email:</translation> </message> <message> - <source>Deploy to Maemo5 device</source> - <extracomment>MaemoDeployStep default display name</extracomment> - <translation type="obsolete">Zainstaluj na urządzeniu Maemo5</translation> + <source>Miscellaneous</source> + <translation>Różne</translation> </message> <message> - <source>Deploy to Harmattan device</source> - <translation type="obsolete">Zainstaluj na urządzeniu Harmattan</translation> + <source>Log count:</source> + <translation>Licznik loga:</translation> </message> <message> - <source>Deploy to Meego device</source> - <translation type="obsolete">Zainstaluj na urządzeniu Meego</translation> + <source>Timeout:</source> + <translation>Czas oczekiwania:</translation> </message> <message> - <source>Cannot deploy: Still cleaning up from last time.</source> - <translation type="obsolete">Nie można zainstalować: trwa nadal czyszczenie po ostatniej instalacji.</translation> + <source>s</source> + <translation>s</translation> </message> <message> - <source>Deployment failed: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready.</source> - <translation type="obsolete">Błąd instalacji: Qemu nie był uruchomiony. Właśnie został uruchomiony, ale chwilę potrwa zanim będzie gotowy.</translation> + <source>Prompt on submit</source> + <translation>Pytaj przed wysłaniem zmian do serwera</translation> </message> <message> - <source>Connection error: %1</source> - <translation type="obsolete">Błąd połączenia: %1</translation> + <source>Bazaar</source> + <translation>Bazaar</translation> </message> <message> - <source>Upload failed: Could not open file '%1'</source> - <translation type="obsolete">Błąd przesyłania: nie można otworzyć pliku "%1"</translation> + <source>The number of recent commit logs to show. Choose 0 to see all entries.</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>Bazaar::Internal::PullOrPushDialog</name> <message> - <source>Started uploading file '%1'.</source> - <translation type="obsolete">Rozpoczęto przesyłanie pliku "%1".</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Could not set up SFTP connection: %1</source> - <translation type="obsolete">Nie można ustanowić połączenia SFTP: %1</translation> + <source>Branch Location</source> + <translation>Położenie gałęzi</translation> </message> <message> - <source>Failed to upload file %1: %2</source> - <translation type="obsolete">Nie można przesłać pliku %1: %2</translation> + <source>Default location</source> + <translation>Domyślne położenie</translation> </message> <message> - <source>Successfully uploaded file '%1'.</source> - <translation type="obsolete">Przesłano plik "%1".</translation> + <source>Local filesystem:</source> + <translation>Lokalny system plików:</translation> </message> <message> - <source>Deployment failed.</source> - <translation type="obsolete">Błąd instalacji.</translation> + <source>Specify URL:</source> + <translation>Podaj URL:</translation> </message> <message> - <source>Deployment finished.</source> - <translation type="obsolete">Zakończono instalowanie.</translation> + <source>Options</source> + <translation>Opcje</translation> </message> <message> - <source>Installing package to sysroot ...</source> - <translation type="obsolete">Instalowanie pakietu w sysroot...</translation> + <source>Remember specified location as default</source> + <translation>Zapamiętaj podane położenie jako domyślne</translation> </message> <message> - <source>Installation to sysroot failed, continuing anyway.</source> - <translation type="obsolete">Instalacja w sysroot nieudana, proces jest kontynuowany.</translation> + <source>Overwrite</source> + <translation>Nadpisz</translation> </message> <message> - <source>Copying files to sysroot ...</source> - <translation type="obsolete">Kopiowanie plików do sysroot...</translation> + <source>Use existing directory</source> + <translation>Użyj istniejącego katalogu</translation> </message> <message> - <source>Sysroot installation failed: Could not copy '%1' to '%2'. Continuing anyway.</source> - <translation type="obsolete">Instalacja w sysroot nieudana. Nie można skopiować "%1" do "%2". Proces jest kontynuowany.</translation> + <source>Create prefix</source> + <translation>Utwórz przedrostek</translation> </message> <message> - <source>Connecting to device...</source> - <translation type="obsolete">Nawiązywanie połączenia z urządzeniem...</translation> + <source>Revision:</source> + <translation>Poprawka:</translation> </message> <message> - <source>Installing package to device...</source> - <translation type="obsolete">Instalowanie pakietu na urządzeniu...</translation> + <source>Local</source> + <translation>Lokalnie</translation> </message> <message> - <source>Copying file '%1' to path '%2' on the device...</source> - <translation type="obsolete">Kopiowanie pliku "%1" do katalogu "%2" na urządzeniu...</translation> + <source>Pull Source</source> + <translation type="unfinished"></translation> </message> <message> - <source>Copying file '%1' failed.</source> - <translation type="obsolete">Nie można skopiować pliku "%1".</translation> + <source>Push Destination</source> + <translation type="unfinished"></translation> </message> <message> - <source>Successfully copied file '%1'.</source> - <translation type="obsolete">Skopiowano plik "%1".</translation> + <source>For example: https://[user[:pass]@]host[:port]/[path]</source> + <translation>Na przykład: https://[użytkownik[:hasło]@]host[:port]/[ścieżka]</translation> </message> <message> - <source>All files copied.</source> - <translation type="obsolete">Wszystkie pliki skopiowane.</translation> + <source>Ignore differences between branches and overwrite +unconditionally.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Installing package failed.</source> - <translation type="obsolete">Błąd instalowania pakietu.</translation> + <source>By default, push will fail if the target directory exists, but does not already have a control directory. +This flag will allow push to proceed.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Installation failed: You tried to downgrade a package, which is not allowed.</source> - <translation type="obsolete">Błąd instalacji: próba instalacji wcześniejszej wersji pakietu nie jest dozwolona.</translation> + <source>Create the path leading up to the branch if it does not already exist.</source> + <translation>Utwórz ścieżkę prowadzącą do gałęzi jeśli jeszcze nie istnieje.</translation> </message> <message> - <source>Package installed.</source> - <translation type="obsolete">Zainstalowano pakiet.</translation> + <source>Perform a local pull in a bound branch. +Local pulls are not applied to the master branch.</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeployStepFactory</name> + <name>Bazaar::Internal::RevertDialog</name> <message> - <source>Deploy to device</source> - <translation type="obsolete">Zainstaluj na urządzeniu</translation> + <source>Revert</source> + <translation>Odwróć zmiany</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoDeployStepWidget</name> <message> - <source><b>Deploy to device</b>: %1</source> - <translation type="obsolete"><b>Zainstaluj na urządzeniu</b>: %1</translation> + <source>Specify a revision other than the default?</source> + <translation>Podaj inną poprawkę niż domyślna</translation> </message> <message> - <source>Could not create desktop file</source> - <translation type="obsolete">Nie można utworzyć pliku desktopowego</translation> + <source>Revision:</source> + <translation>Poprawka:</translation> </message> +</context> +<context> + <name>Core::Internal::ExternalToolConfig</name> <message> - <source>Error creating desktop file: %1</source> - <translation type="obsolete">Błąd tworzenia pliku desktopowego: %1</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Choose Icon (will be scaled to 64x64 pixels, if necessary)</source> - <translation type="obsolete">Wybierz ikonę (w razie potrzeby zostanie przeskalowana do 64x64)</translation> + <source>Add tool</source> + <translation>Dodaj narzędzie</translation> </message> <message> - <source>Invalid Icon</source> - <translation type="obsolete">Niepoprawna ikona</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> <message> - <source>Unable to read image</source> - <translation type="obsolete">Nie można odczytać obrazu</translation> + <source>Remove tool</source> + <translation>Usuń narzędzie</translation> </message> <message> - <source>Failed to Save Icon</source> - <translation type="obsolete">Nie można zachować ikony</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>Could not save icon to '%1'.</source> - <translation type="obsolete">Nie można zachować ikony w "%1".</translation> + <source>Revert tool to default</source> + <translation>Przywróć domyślne narzędzi</translation> </message> <message> - <source>Could Not Add Icon</source> - <translation type="obsolete">Nie można dodać ikony</translation> + <source>Reset</source> + <translation>Przywróć</translation> </message> <message> - <source>Error adding icon: %1</source> - <translation type="obsolete">Błąd dodawania ikony: %1</translation> + <source>Description:</source> + <translation>Opis:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoDeviceEnvReader</name> <message> - <source>Connection error: %1</source> - <translation type="obsolete">Błąd połączenia: %1</translation> + <source>Executable:</source> + <translation>Plik wykonywalny:</translation> </message> <message> - <source>Error running remote process: %1</source> - <translation type="obsolete">Błąd zdalnego procesu: %1</translation> + <source>Arguments:</source> + <translation>Argumenty:</translation> </message> <message> - <source> -Remote stderr was: '%1'</source> - <translation type="obsolete"> -Zawartość zdalnego stderr: "%1"</translation> + <source>Working directory:</source> + <translation>Katalog roboczy:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoPackageCreationFactory</name> <message> - <source>Create Debian Package</source> - <translation type="obsolete">Utwórz pakiet Debian</translation> + <source><html><head/><body> +<p>What to do with the executable's standard output. +<ul><li>Ignore: Do nothing with it</li><li>Show in pane: Show it in the general output pane</li><li>Replace selection: Replace the current selection in the current document with it</li></ul></p></body></html> +</source> + <translation><html><head/><body> +<p>Co zrobić z komunikatami pliku wykonywalnego. +<ul><li>Ignoruj: nie rób nic</li><li>Pokaż w panelu: pokaż w ogólnym panelu z komunikatami</li><li>Zastąp selekcję: zastąp nimi selekcję w bieżącym dokumencie</li></ul></p></body></html> +</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoQemuManager</name> <message> - <source>Start Maemo Emulator</source> - <translation type="obsolete">Uruchom emulator Maemo</translation> + <source>Output:</source> + <translation>Komunikaty:</translation> </message> <message> - <source>Qemu has been shut down, because you removed the corresponding Qt version.</source> - <translation type="obsolete">Qemu zostało zamknięte, ponieważ usunięto odpowiednią wersję Qt.</translation> + <source>Ignore</source> + <translation>Zignoruj</translation> </message> <message> - <source>Qemu finished with error: Exit code was %1.</source> - <translation type="obsolete">Qemu zakończone błędem: Wyjściowy kod: %1.</translation> + <source>Show in Pane</source> + <translation>Pokazuj w panelu</translation> </message> <message> - <source>Qemu failed to start: %1</source> - <translation type="obsolete">Nie można uruchomić Qemu: %1</translation> + <source>Replace Selection</source> + <translation>Zastąp selekcję</translation> </message> <message> - <source>Qemu error</source> - <translation type="obsolete">Błąd Qemu</translation> + <source><html><head><body> +<p >What to do with the executable's standard error output.</p> +<ul><li>Ignore: Do nothing with it</li> +<li>Show in pane: Show it in the general output pane</li> +<li>Replace selection: Replace the current selection in the current document with it</li> +</ul></body></html></source> + <translation><html><head><body> +<p >Co zrobić z komunikatami błędów pliku wykonywalnego</p> +<ul><li>Ignoruj: nie rób nic</li> +<li>Pokaż w panelu: pokaż w ogólnym panelu z komunikatami</li> +<li>Zastąp selekcję: zastąp nimi selekcję w bieżącym dokumencie</li> +</ul></body></html></translation> </message> <message> - <source>Stop Maemo Emulator</source> - <translation type="obsolete">Zatrzymaj emulator Maemo</translation> + <source>Error output:</source> + <translation>Komunikaty o błędach:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoRemoteMounter</name> <message> - <source>No directories to mount</source> - <translation type="obsolete">Brak katalogów do zamontowania</translation> + <source>Text to pass to the executable via standard input. Leave empty if the executable should not receive any input.</source> + <translation>Tekst przekazywany do pliku wykonywalnego poprzez standardowe wejście. Może zostać pusty dla pliku wykonywalnego nie otrzymującego niczego na wejściu.</translation> </message> <message> - <source>No directories to unmount</source> - <translation type="obsolete">Brak katalogów do zdemontowania</translation> + <source>Input:</source> + <translation>Wejście:</translation> </message> <message> - <source>Could not execute unmount request.</source> - <translation type="obsolete">Nie można wykonać zdemontowania.</translation> + <source>If the tool modifies the current document, set this flag to ensure that the document is saved before running the tool and is reloaded after the tool finished.</source> + <translation>Jeśli narzędzie modyfikuje bieżący dokument, ustaw tę flagę aby mieć pewność, iż będzie on zachowany przed uruchomieniem narzędzia i przeładowany po jego zakończeniu.</translation> </message> <message> - <source>Failure unmounting: %1</source> - <translation type="obsolete">Błąd demontażu: %1</translation> + <source>Modifies current document</source> + <translation>Modyfikuje bieżący dokument</translation> </message> <message> - <source>Finished unmounting.</source> - <translation type="obsolete">Zakończono demontaż.</translation> + <source>Add Tool</source> + <translation>Dodaj narzędzie</translation> </message> <message> - <source> -stderr was: '%1'</source> - <translation type="obsolete">stderr był: "%1"</translation> + <source>Add Category</source> + <translation>Dodaj kategorię</translation> </message> +</context> +<context> + <name>MimeTypeMagicDialog</name> <message> - <source>Error: Not enough free ports on device to fulfill all mount requests.</source> - <translation type="obsolete">Błąd: Niewystarczająca ilość wolnych portów w urządzeniu aby wykonać wszystkie żądania zamontowania.</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Starting remote UTFS clients...</source> - <translation type="obsolete">Uruchamianie zdalnych klientów UTFS...</translation> + <source>Value:</source> + <translation>Wartość:</translation> </message> <message> - <source>Mount operation succeeded.</source> - <translation type="obsolete">Operacja zamontowania powiodła się.</translation> + <source>Type</source> + <translation>Typ</translation> </message> <message> - <source>Failure running UTFS client: %1</source> - <translation type="obsolete">Błąd uruchamiania klienta UTFS: %1</translation> + <source>String</source> + <translation>Ciąg</translation> </message> <message> - <source>Starting UTFS servers...</source> - <translation type="obsolete">Uruchamianie serwerów UTFS...</translation> + <source>Byte</source> + <translation>Bajt</translation> </message> <message> - <source> -stderr was: %1</source> - <translation type="obsolete"> -stderr był: %1</translation> + <source>Use Recommended</source> + <translation>Używaj rekomendowanych</translation> </message> <message> - <source>Error running UTFS server: %1</source> - <translation type="obsolete">Błąd uruchamiania serwera UTFS: %1</translation> + <source>Start range:</source> + <translation>Początek zakresu:</translation> </message> <message> - <source>Timeout waiting for UTFS servers to connect.</source> - <translation type="obsolete">Przekroczony czas oczekiwania na połączenie z serwerem UTFS.</translation> + <source>End range:</source> + <translation>Koniec zakresu:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoRemoteMountsModel</name> <message> - <source>Local directory</source> - <translation type="obsolete">Katalog lokalny</translation> + <source>Priority:</source> + <translation>Priorytet:</translation> </message> <message> - <source>Remote mount point</source> - <translation type="obsolete">Zdalny punkt zamontowania</translation> + <source><i>Note: Wide range values might impact Qt Creator's performance when opening files.</i></source> + <translation><i>Uwaga: Szeroki zakres może wpłynąć na wydajność Qt Creatora podczas otwierania plików.</i></translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoRunControl</name> - <message> - <source>Starting remote process ...</source> - <translation type="obsolete">Uruchamianie zdalnego procesu...</translation> - </message> - <message> - <source>Finished running remote process. Exit code was %1.</source> - <translation type="obsolete">Zdalny proces zakończony. Kod wyjściowy: %1.</translation> - </message> + <name>MimeTypeSettingsPage</name> <message> - <source>Remote Execution Failure</source> - <translation type="obsolete">Błąd zdalnego procesu</translation> + <source>Form</source> + <translation>Formularz</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoSshRunner</name> <message> - <source>Connecting to device...</source> - <translation type="obsolete">Nawiązywanie połączenia z urządzeniem...</translation> + <source>Registered MIME Types</source> + <translation>Zarejestrowane typy MIME</translation> </message> <message> - <source>Killing remote process(es)...</source> - <translation type="obsolete">Zamykanie zdalnych procesów...</translation> + <source>Reset All</source> + <translation>Przywróć wszystkie</translation> </message> <message> - <source>Initial cleanup failed: %1</source> - <translation type="obsolete">Błąd wstępnego czyszczenia: %1</translation> + <source>Details</source> + <translation>Szczegóły</translation> </message> <message> - <source>Error running remote process: %1</source> - <translation type="obsolete">Błąd uruchamiania zdalnego procesu: %1</translation> + <source>Patterns:</source> + <translation>Wzory:</translation> </message> <message> - <source>Cannot run: No remote executable set.</source> - <translation type="obsolete">Nie można uruchomić: Nie ustawiono zdalnego pliku wykonywalnego.</translation> + <source>Magic Header</source> + <translation>Magiczny nagłówek</translation> </message> <message> - <source>Cannot run: No device configuration set.</source> - <translation type="obsolete">Nie można uruchomić: Brak konfiguracji urządzenia.</translation> + <source>Type</source> + <translation>Typ</translation> </message> <message> - <source>Cannot run: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready.</source> - <translation type="obsolete">Błąd uruchomienia: Qemu nie był uruchomiony. Właśnie został uruchomiony, ale chwilę potrwa zanim będzie gotowy.</translation> + <source>Range</source> + <translation>Zakres</translation> </message> <message> - <source>Connection error: %1</source> - <translation type="obsolete">Błąd połączenia: %1</translation> + <source>Priority</source> + <translation>Priorytet</translation> </message> <message> - <source>Mounting host directories...</source> - <translation type="obsolete">Montowanie katalogów hosta...</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> <message> - <source>Unmounting left-over host directory mounts...</source> - <translation type="obsolete">Usuwanie pozostałości po zamontowanym katalogu hosta...</translation> + <source>Edit</source> + <translation>Zmodyfikuj</translation> </message> <message> - <source>Potentially unmounting left-over host directory mounts...</source> - <translation type="obsolete">Potencjalne usuwanie pozostałości po zamontowanym katalogu hosta...</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>Unmounting host directories...</source> - <translation type="obsolete">Demontowanie katalogów hosta...</translation> + <source>Reset all to default.</source> + <translation>Przywraca wszystkie domyślne.</translation> </message> </context> <context> - <name>Qt4ProjectManager::PassphraseForKeyDialog</name> - <message> - <source>Passphrase:</source> - <translation>Hasło:</translation> - </message> + <name>Core::VariableChooser</name> <message> - <source>Save passphrase</source> - <translation>Zachowaj hasło</translation> + <source>Variables</source> + <translation>Zmienne</translation> </message> <message> - <source>This is an insecure option. The password will be saved as plain text.</source> - <translation>Nie jest to bezpieczna opcja. Hasło zostanie zachowane jako zwykły tekst.</translation> + <source>Select a variable to insert.</source> + <translation>Wybierz zmienną do wstawienia.</translation> </message> <message> - <source>Passphrase for %1</source> - <translation>Hasło dla %1</translation> + <source>Insert variable</source> + <translation>Wstaw zmienną</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60DeployConfiguration</name> + <name>Debugger::Internal::BreakCondition</name> <message> - <source>Deploy %1 to Symbian device</source> - <translation type="obsolete">Zainstaluj %1 na urządzeniu Symbian</translation> + <source>&Condition:</source> + <translation>&Warunek:</translation> </message> <message> - <source>Deploy to Symbian device</source> - <translation type="obsolete">Zainstaluj na urządzeniu Symbian</translation> + <source>&Ignore count:</source> + <translation>L&icznik pominięć:</translation> + </message> + <message> + <source>&Thread specification:</source> + <translation>&Specyfikacja wątku:</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60DeployConfigurationFactory</name> + <name>LldbOptionsPageWidget</name> <message> - <source>%1 on Symbian Device</source> - <translation type="obsolete">%1 na urządzeniu Symbian</translation> + <source>Enable LLDB</source> + <translation>Włącz LLDB</translation> </message> <message> - <source>Deploy to Symbian device</source> - <translation type="obsolete">Zainstaluj na urządzeniu Symbian</translation> + <source>Use GDB Python dumpers</source> + <translation>Używaj narzędzia do zrzutów GDB Python</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60DeployConfigurationWidget</name> - <message> - <source>Device:</source> - <translation>Urządzenie:</translation> - </message> + <name>StartRemoteEngineDialog</name> <message> - <source>Silent installation</source> - <translation>Cicha instalacja</translation> + <source>Start Remote Engine</source> + <translation>Uruchom zdalny silnik</translation> </message> <message> - <source>Serial:</source> - <translation>Szeregowe:</translation> + <source>&Host:</source> + <translation>&Host:</translation> </message> <message> - <source>WLAN:</source> - <translation>WLAN:</translation> + <source>&Username:</source> + <translation>Nazwa &użytkownika:</translation> </message> <message> - <source>TRK</source> - <translation type="obsolete">TRK</translation> + <source>&Password:</source> + <translation>H&asło:</translation> </message> <message> - <source>CODA</source> - <translation type="obsolete">CODA</translation> + <source>&Engine path:</source> + <translation>Ścieżka do &silnika:</translation> </message> <message> - <source><a href="qthelp://com.nokia.qtcreator/doc/creator-developing-symbian.html">What are the prerequisites?</a></source> - <translation type="obsolete"><a href="qthelp://com.nokia.qtcreator/doc/creator-developing-symbian.html">Jakie są wymagania?</a></translation> + <source>&Inferior path:</source> + <translation>Ścieżka do &podprocesu:</translation> </message> +</context> +<context> + <name>Macros::Internal::MacroOptionsWidget</name> <message> - <source>Installation file:</source> - <translation>Plik instalacyjny:</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Silent installation is an installation mode that does not require user's intervention. In case it fails the non silent installation is launched.</source> - <translation>Cicha instalacja jest trybem instalacji, która nie wymaga interwencji użytkownika. W przypadku niepowodzenia uruchomiona zostanie instalacja wymagająca interakcji użytkownika.</translation> + <source>Preferences</source> + <translation>Ustawienia</translation> </message> <message> - <source>Installation drive:</source> - <translation>Napęd instalacji:</translation> + <source>Name</source> + <translation>Nazwa</translation> </message> <message> - <source>Device Agent</source> - <translation type="obsolete">Agent na urządzeniu</translation> + <source>Description</source> + <translation>Opis</translation> </message> <message> - <source>Serial port:</source> - <translation>Port szeregowy:</translation> + <source>Shortcut</source> + <translation>Skrót</translation> </message> <message> - <source>Communication Channel</source> - <translation>Kanał komunikacyjny</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>Address:</source> - <translation>Adres:</translation> + <source>Macro</source> + <translation>Makro</translation> </message> <message> - <source>Connecting</source> - <translation>Łączenie</translation> + <source>Description:</source> + <translation>Opis:</translation> </message> +</context> +<context> + <name>Macros::Internal::SaveDialog</name> <message> - <source>Unable to create CODA connection. Please try again.</source> - <translation>Nie można stworzyć połączenia z CODA. Spróbuj ponownie.</translation> + <source>Save Macro</source> + <translation>Zachowaj makro</translation> </message> <message> - <source>Currently there is no information about the device for this connection type.</source> - <translation>Aktualnie brak informacji o tym urządzeniu dla tego typu połączenia.</translation> + <source>Name:</source> + <translation>Nazwa:</translation> </message> <message> - <source>No device information available</source> - <translation>Brak dostępnej informacji o urządzeniu</translation> + <source>Description:</source> + <translation>Opis:</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::PublishingWizardSelectionDialog</name> <message> - <source>Qt version: </source> - <translation>Wersja Qt: </translation> + <source>Publishing Wizard Selection</source> + <translation>Wybór kreatora publikującego</translation> </message> <message> - <source>Not installed on device</source> - <translation>Nie jest zainstalowany na urządzeniu</translation> + <source>Available Wizards:</source> + <translation>Dostępne kreatory:</translation> </message> <message> - <source>Qt version:</source> - <translation>Wersja Qt:</translation> + <source>Start Wizard</source> + <translation>Uruchom kreatora</translation> </message> <message> - <source>Unrecognised Symbian version 0x%1</source> - <translation>Nierozpoznana wersja Symbiana 0x%1</translation> + <source>Publishing is currently not possible for project '%1'.</source> + <translation>Publikowanie nie jest aktualnie możliwe dla projektu "%1".</translation> </message> +</context> +<context> + <name>ToolChainOptionsPage</name> <message> - <source>Unrecognised S60 version 0x%1</source> - <translation>Nierozpoznana wersja S60 0x%1</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> <message> - <source>OS version:</source> - <translation>Wersja systemu:</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>unknown</source> - <translation>nieznana</translation> + <source>Clone</source> + <translation>Sklonuj</translation> </message> +</context> +<context> + <name>MaemoDeviceConfigurationsSettingsWidget</name> <message> - <source>ROM version:</source> - <translation>Wersja ROM:</translation> + <source>Maemo Device Configurations</source> + <translation>Konfiguracje urządzenia Maemo</translation> </message> <message> - <source>Release:</source> - <translation>Wydanie:</translation> + <source>&Configuration:</source> + <translation>&Konfiguracja:</translation> </message> <message> - <source>CODA version: </source> - <translation>Wersja CODA:</translation> + <source>&Name:</source> + <translation>&Nazwa:</translation> </message> <message> - <source>Error reading CODA version</source> - <translation>Błąd odczytu wersji CODA</translation> + <source>Device type:</source> + <translation>Typ urządzenia:</translation> </message> <message> - <source>QtMobility version: </source> - <translation>Wersja QtMobility: </translation> + <source>Authentication type:</source> + <translation>Typ autoryzacji:</translation> </message> <message> - <source>Error reading QtMobility version</source> - <translation>Błąd odczytu wersji QtMobility</translation> + <source>Password</source> + <translation>Hasło</translation> </message> <message> - <source>Screen size:</source> - <translation>Rozmiar ekranu:</translation> + <source>&Key</source> + <translation>&Klucz</translation> </message> <message> - <source>Queries the device for information</source> - <translation>Uzyskuje informacje o urządzeniu</translation> + <source>&Host name:</source> + <translation>Nazwa &hosta:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::S60DeployStep</name> <message> - <source>Unable to remove existing file '%1': %2</source> - <translation>Nie można usunąć istniejącego pliku "%1": %2</translation> + <source>IP or host name of the device</source> + <translation>IP lub nazwa hosta urządzenia</translation> </message> <message> - <source>Unable to rename file '%1' to '%2': %3</source> - <translation>Nie można zmienić nazwy pliku "%1" na "%2": %3</translation> + <source>&SSH port:</source> + <translation>Port &SSH:</translation> </message> <message> - <source>Deploy</source> - <extracomment>Qt4 Deploystep display name</extracomment> - <translation>Zainstaluj</translation> + <source>Free ports:</source> + <translation>Wolne porty:</translation> </message> <message> - <source>No package has been found. Please specify at least one installation package.</source> - <translation>Brak pakietu. Podaj przynajmniej jeden pakiet instalacyjny.</translation> + <source>You can enter lists and ranges like this: 1024,1026-1028,1030</source> + <translation>Można wprowadzać listy i zakresy, np.: 1024,1026-1028,1030</translation> </message> <message> - <source>Renaming new package '%1' to '%2'</source> - <translation>Zmienianie nazwy pakietu z "%1" na "%2"</translation> + <source>TextLabel</source> + <translation>Etykieta</translation> </message> <message> - <source>Removing old package '%1'</source> - <translation>Usuwanie starego pakietu "%1"</translation> + <source>Connection time&out:</source> + <translation>Czas &oczekiwania na połączenie:</translation> </message> <message> - <source>'%1': Package file not found</source> - <translation>"%1": Brak pliku pakietu</translation> + <source>s</source> + <translation>s</translation> </message> <message> - <source>Failed to find package %1</source> - <translation>Nie można odnaleźć pakietu %1</translation> + <source>&Username:</source> + <translation>Na&zwa użytkownika:</translation> </message> <message> - <source>Deploying application to '%2'...</source> - <translation type="obsolete">Instalowanie aplikacji w "%2"...</translation> + <source>&Password:</source> + <translation>H&asło:</translation> </message> <message> - <source>Could not connect to phone on port '%1': %2 -Check if the phone is connected and App TRK is running.</source> - <translation type="obsolete">Nie można nawiązać połączenia z telefonem na porcie "%1": %2 -Sprawdź czy telefon jest podłączony i czy aplikacja TRK jest uruchomiona.</translation> + <source>Show password</source> + <translation>Pokaż hasło</translation> </message> <message> - <source>Could not create file %1 on device: %2</source> - <translation type="obsolete">Nie można utworzyć pliku %1 na urządzeniu: %2</translation> + <source>Private key file:</source> + <translation>Plik z kluczem prywatnym:</translation> </message> <message> - <source>Could not write to file %1 on device: %2</source> - <translation>Nie można zapisać do pliku %1 na urządzeniu: %2</translation> + <source>Set as Default</source> + <translation>Ustaw jako domyślny</translation> </message> <message> - <source>Could not close file %1 on device: %2. It will be closed when App TRK is closed.</source> - <translation type="obsolete">Nie można zamknąć pliku %1 w urządzeniu: %2, zostanie on zamknięty, gdy aplikacja TRK zostanie zakończona.</translation> + <source>OS type:</source> + <translation>Typ systemu:</translation> </message> <message> - <source>Could not connect to App TRK on device: %1. Restarting App TRK might help.</source> - <translation type="obsolete">Nie można ustanowić połączenia z aplikacją TRK w urządzeniu: %1. Spróbuj ponownie uruchomić aplikację TRK.</translation> + <source>&Add</source> + <translation>&Dodaj</translation> </message> <message> - <source>Copying "%1"...</source> - <translation>Kopiowanie "%1"...</translation> + <source>&Remove</source> + <translation>&Usuń</translation> </message> <message> - <source>No device is connected. Please connect a device and try again.</source> - <translation>Brak podłączonego urządzenia. Podłącz je i spróbuj ponownie.</translation> + <source>Click here if you do not have an SSH key yet.</source> + <translation>Kliknij tutaj jeśli nie masz jeszcze klucza SSH.</translation> </message> <message> - <source>No address for a device has been defined. Please define an address and try again.</source> - <translation>Brak zdefiniowanego adresu urządzenia. Podaj adres i spróbuj ponownie.</translation> + <source>Set As Default</source> + <translation>Ustaw jako domyślną</translation> </message> <message> - <source>Deploying application to '%1'...</source> - <translation>Instalowanie aplikacji w "%1"...</translation> + <source>&Generate SSH Key...</source> + <translation>&Generuj klucz SSH...</translation> </message> +</context> +<context> + <name>MaemoDeviceConfigWizardKeyCreationPage</name> <message> - <source>No such port</source> - <translation>Port nie istnieje</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Could not open serial device: %1</source> - <translation>Nie można otworzyć portu szeregowego: %1</translation> + <source>Qt Creator will now generate a new pair of keys. Please enter the directory to save the key files in and then press "Create Keys".</source> + <translation>Teraz zostanie wygenerowana nowa para kluczy. Wprowadź katalog, w którym zapisać pliki z kluczami, i naciśnij "Utwórz klucze".</translation> </message> <message> - <source>Connecting to %1:%2...</source> - <translation>Łączenie z %1:%2...</translation> + <source>Directory:</source> + <translation>Katalog:</translation> </message> <message> - <source>Error: %1</source> - <translation>Błąd: %1</translation> + <source>Create Keys</source> + <translation>Utwórz klucze</translation> </message> +</context> +<context> + <name>MaemoDeviceConfigWizardKeyDeploymentPage</name> <message> - <source>Installing package "%1" on drive %2:...</source> - <translation>Instalowanie pakiety "%1" na urządzeniu %2:...</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Please continue the installation on your device.</source> - <translation>Kontynuuj instalację na urządzeniu.</translation> + <source>Device address:</source> + <translation>Adres urządzenia:</translation> </message> <message> - <source>Could not open remote file: %1</source> - <translation>Nie można otworzyć zdalnego pliku: %1</translation> + <source>Password:</source> + <translation>Hasło:</translation> </message> <message> - <source>Internal error: No filehandle obtained</source> - <translation type="unfinished"></translation> + <source>Deploy Key</source> + <translation>Zainstaluj klucz</translation> </message> <message> - <source>Could not open local file %1: %2</source> - <translation>Nie można otworzyć lokalnego pliku %1: %2</translation> + <source>To deploy the public key to your device, please execute the following steps: +<ul> +<li>Connect the device to your computer (unless you plan to connect via WLAN).</li> +<li>On the device, start the "%%%maddev%%%" application.</li> +<li>In "%%%maddev%%%", configure the device's IP address to the one shown below (or edit the field below to match the address you have configured).</li> +<li>In "%%%maddev%%%", press "Developer Password" and enter it in the field below.</li> +<li>Click "Deploy Key"</li> +</source> + <translation>Wykonaj poniższe kroki aby zainstalować klucz publiczny na urządzeniu: +<ul> +<li>Podłącz urządzenie do komputera (chyba że chcesz podłączyć się poprzez WLAN).</li> +<li>Uruchom aplikację "%%%maddev%%%" na urządzeniu.</li> +<li>W aplikacji "%%%maddev%%%" ustaw adres IP urządzenia na jeden z widocznych poniżej (lub zmodyfikuj poniższe pole aby dopasować go do adresu uprzednio skonfigurowanego).</li> +<li>W aplikacji "%%%maddev%%%" naciśnij "Developer Password" i wprowadź je do poniższego pola.</li> +<li>Naciśnij "Zainstaluj klucz".</li> +</translation> </message> +</context> +<context> + <name>MaemoDeviceConfigWizardCheckPreviousKeySetupPage</name> <message> - <source>Installation has finished</source> - <translation>Instalacja zakończona</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Installation failed: %1; see %2 for descriptions of the error codes</source> - <translation>Błąd instalacji: %1, zobacz opis kodów błędów w %2</translation> + <source>Has a passwordless (key-based) login already been set up for this device?</source> + <translation>Czy bezhasłowe logowanie (bazujące na kluczu publicznym) zostało już ustawione na urządzeniu?</translation> </message> <message> - <source>Failed to close the remote file: %1</source> - <translation>Nie można zamknąć zdalnego pliku: %1</translation> + <source>Yes, and the private key is located at</source> + <translation>Tak i klucz prywatny zlokalizowany jest w</translation> </message> <message> - <source>Installation</source> - <translation>Instalacja</translation> + <source>No</source> + <translation>Nie</translation> </message> +</context> +<context> + <name>MaemoDeviceConfigWizardReuseKeysCheckPage</name> <message> - <source>A timeout while deploying has occurred. CODA might not be responding. Try reconnecting the device.</source> - <translation type="unfinished"></translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Could not install from package %1 on device: %2</source> - <translation type="obsolete">Nie można zainstalować pakietu %1 na urządzeniu: %2</translation> + <source>Do wou want to re-use an existing pair of keys or should a new one be created?</source> + <translation>Chcesz wykorzystać istniejącą już parę kluczy czy stworzyć nową?</translation> </message> <message> - <source>Deployment has been cancelled.</source> - <translation>Instalacja została anulowana.</translation> + <source>Re-use existing keys</source> + <translation>Użyj istniejących kluczy</translation> </message> <message> - <source>The device '%1' has been disconnected</source> - <translation>Urządzenie "%1" zostało odłączone</translation> + <source>File containing the public key:</source> + <translation>Plik zawierający klucz publiczny:</translation> </message> <message> - <source>Copy progress: %1%</source> - <translation>Postęp kopiowania: %1%</translation> + <source>File containing the private key:</source> + <translation>Plik zawierający klucz prywatny:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::S60DeployStepWidget</name> <message> - <source>Deploy SIS Package</source> - <translation>Zainstaluj pakiet SIS</translation> + <source>Create new keys</source> + <translation>Utwórz nowe klucze</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60DeployStepFactory</name> + <name>MaemoDeviceConfigWizardStartPage</name> <message> - <source>Deploy SIS Package</source> - <translation>Zainstaluj pakiet SIS</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::SbsV2Parser</name> <message> - <source>SBSv2 build log</source> - <translation>Log budowania SBSv2</translation> + <source>The name to identify this configuration:</source> + <translation>Nazwa identyfikująca tę konfigurację:</translation> </message> <message> - <source>The file '%1' is not a SBSv2 log file.</source> - <translation>Plik "%1" nie jest plikiem logu SVSv2.</translation> + <source>The system running on the device:</source> + <translation>System na urządzeniu:</translation> </message> <message> - <source>Running command: %1 -</source> - <translation>Uruchamianie komendy: %1 -</translation> + <source>The kind of device:</source> + <translation>Rodzaj urządzenia:</translation> </message> <message> - <source>Recipe %1 failed with exit code %2.</source> - <extracomment>%1 is the SBSv2 build recipe name, %2 the return code of the failed command</extracomment> - <translation type="unfinished"></translation> + <source>Hardware Device</source> + <translation>Urządzenie sprzętowe</translation> + </message> + <message> + <source>The device's host name or IP address:</source> + <translation>Nazwa hosta lub adres IP urządzenia:</translation> + </message> + <message> + <source>Emulator</source> + <translation>Emulator</translation> </message> </context> <context> - <name>Qt4ProjectManager::AbstractMobileApp</name> + <name>MaemoPublishingWizardPageFremantleFree</name> <message> - <source>Could not open desktop file template</source> - <translation type="obsolete">Nie można otworzyć szablonu pliku dla desktopu</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Could not open main.cpp template '%1'.</source> - <translation type="obsolete">Nie można otworzyć szablonu main.cpp "%1".</translation> + <source>Choose build configuration:</source> + <translation>Wybierz konfigurację budowania:</translation> </message> <message> - <source>Could not open project file template '%1'.</source> - <translation type="obsolete">Nie można otworzyć szablonu pliku projektu "%1".</translation> + <source>Only create source package, do not upload</source> + <translation>Utwórz tylko pakiety źródłowe, nie przesyłaj ich</translation> </message> +</context> +<context> + <name>MaemoPublishingFileSelectionDialog</name> <message> - <source>Could not open template file '%1'.</source> - <translation>Nie można otworzyć pliku z szablonem "%1".</translation> + <source>Choose Package Contents</source> + <translation>Wybierz zawartość pakietu</translation> + </message> + <message> + <source><b>Please select the files you want to be included in the source tarball.</b> +</source> + <translation><b> Wybierz pliki, które chcesz umieścić w archiwum źródłowym.</b> +</translation> </message> </context> <context> - <name>MobileAppWizard</name> + <name>MaemoPublishingResultPageFremantleFree</name> <message> - <source>Mobile Qt Application</source> - <translation>Mobilna aplikacja Qt</translation> + <source>WizardPage</source> + <translation>StronaKreatora</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>Tworzy aplikację Qt dla urządzeń przenośnych. Zawiera główne okno bazujące na Qt Designerze. - -Wstępnie wybiera wersję Qt dla Symulatora i aplikacji mobilnych (jeśli jest dostępna).</translation> + <source>Progress</source> + <translation>Postęp</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::QtQuickApp</name> + <name>MaemoPublishingUploadSettingsPageFremantleFree</name> <message> - <source>The QML import path '%1' cannot be found.</source> - <translation>Nie można odnaleźć ścieżki importu QML "%1".</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>The QML module '%1' cannot be found.</source> - <translation>Nie można odnaleźć modułu QML "%1".</translation> + <source>Upload Settings</source> + <translation>Ustawienia przesyłania</translation> </message> <message> - <source>Invalid '%1' entry in '%2' of module '%3'.</source> - <translation>Niepoprawna pozycja "%1" w "%2" w module "%3".</translation> + <source>Garage account name:</source> + <translation>Nazwa konta Garage:</translation> </message> <message> - <source>No .pro file for plugin '%1' cannot be found.</source> - <translation>Brak pliku .pro dla wtyczki "%1".</translation> + <source><a href="https://garage.maemo.org/account/register.php">Get an account</a></source> + <translation><a href="https://garage.maemo.org/account/register.php">Utwórz konto</a></translation> </message> <message> - <source>Could not write file '%1'.</source> - <translation type="obsolete">Nie można zapisać pliku "%1".</translation> + <source><a href="https://garage.maemo.org/extras-assistant/index.php">Request upload rights</a></source> + <translation><a href="https://garage.maemo.org/extras-assistant/index.php">Zażądaj praw do przesyłania</a></translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::QtQuickAppWizardDialog</name> <message> - <source>New Qt Quick Application</source> - <translation>Nowa aplikacja Qt Quick</translation> + <source>Private key file:</source> + <translation>Plik z kluczem prywatnym:</translation> </message> <message> - <source>This wizard generates a Qt Quick application project.</source> - <translation>Ten kreator generuje projekt aplikacji Qt Quick.</translation> + <source>Server address:</source> + <translation>Adres serwera:</translation> </message> <message> - <source>QML Sources</source> - <translation>Źródła QML</translation> + <source>Target directory on server:</source> + <translation>Katalog produktu docelowego na serwerze:</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::QtQuickAppWizard</name> + <name>MaemoQemuSettingsWidget</name> <message> - <source>Qt Quick Application</source> - <translation>Aplikacja Qt Quick</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Creates a Qt Quick application project that can contain both QML and C++ code and includes a QDeclarativeView. - -You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects.</source> - <translation>Tworzy projekt aplikacji Qt Quick, który może zawierać kod QML i C++ i dołącza QDeclarativeView - -Aplikację można zbudować i zainstalować na desktopie i urządzeniach mobilnych. Dla tego typu projektów można na przykład utworzyć podpisane pakiety Symbian Installation System (SIS).</translation> + <source>OpenGL Mode</source> + <translation>Tryb OpenGL</translation> </message> -</context> -<context> - <name>TaskList::Internal::StopMonitoringHandler</name> <message> - <source>Stop monitoring</source> - <translation>Zatrzymaj monitorowanie</translation> + <source>&Hardware acceleration</source> + <translation>Akceleracja &sprzętowa</translation> </message> <message> - <source>Stop monitoring task files.</source> - <translation>Zatrzymaj monitorowanie plików zadania.</translation> + <source>&Software rendering</source> + <translation>&Renderowanie software'owe</translation> + </message> + <message> + <source>&Auto-detect</source> + <translation>&Automatycznie wykrywane</translation> </message> </context> <context> - <name>TaskList::Internal::TaskFileFactory</name> + <name>MaemoRemoteProcessesDialog</name> <message> - <source>Task file reader</source> - <translation>Czytnik plików z zadaniami</translation> + <source>List of Remote Processes</source> + <translation>Lista zdalnych procesów</translation> </message> <message> - <source>File Error</source> - <translation>Błąd pliku</translation> + <source>&Filter by process name:</source> + <translation>&Filtruj po nazwie procesu:</translation> </message> -</context> -<context> - <name>TaskList::TaskListPlugin</name> <message> - <source>Cannot open task file %1: %2</source> - <translation type="unfinished"></translation> + <source>&Update List</source> + <translation>&Uaktualnij listę</translation> </message> <message> - <source>My Tasks</source> - <extracomment>Category under which tasklist tasks are listed in build issues view</extracomment> - <translation>Moje zadania</translation> + <source>&Kill Selected Process</source> + <translation>Za&kończ wybrany proces</translation> </message> </context> <context> - <name>TextEditor::HighlighterSettingsPage</name> + <name>Qt4ProjectManager::Internal::RvctToolChainConfigWidget</name> <message> - <source>Generic Highlighter</source> - <translation>Ogólny podświetlacz</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Download Definitions</source> - <translation>Ściągnij definicje</translation> + <source>ARM &version:</source> + <translation>&Wersja ARM:</translation> </message> <message> - <source>Autodetect</source> - <translation>Wykryj automatycznie</translation> + <source>Version 5</source> + <translation>Wersja 5</translation> </message> <message> - <source>Autodetect Definitions</source> - <translation>Wykryj automatycznie definicje</translation> + <source>Version 6</source> + <translation>Wersja 6</translation> </message> <message> - <source>No pre-installed definitions could be found.</source> - <translation>Brak pre-instalowanych definicji.</translation> + <source>&Compiler path:</source> + <translation>Ścieżka do &kompilatora:</translation> </message> <message> - <source>Error connecting to server.</source> - <translation>Błąd łączenia z serwerem.</translation> + <source>Environment Variables</source> + <translation>Zmienne środowiskowe</translation> </message> +</context> +<context> + <name>S60CertificateDetailsDialog</name> <message> - <source>Not possible to retrieve data.</source> - <translation>Nie można odebrać danych.</translation> + <source>Details of Certificate</source> + <translation>Szczegóły certyfikatu</translation> </message> </context> <context> - <name>TextEditor::Internal::ManageDefinitionsDialog</name> + <name>S60PublishingBuildSettingsPageOvi</name> <message> - <source>Name</source> - <translation>Nazwa</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Installed</source> - <translation>Zainstalowane</translation> - </message> - <message> - <source>Available</source> - <translation>Dostępne</translation> + <source>Choose a build configuration:</source> + <translation>Wybierz konfigurację budowania:</translation> </message> <message> - <source>Download Definitions</source> - <translation>Ściągnij definicje</translation> + <source>Only Qt versions above 4.6.3 are made available in this wizard. +Previous Qt versions have limitations in building suitable SIS files.</source> + <translation>W tym kreatorze dostępne są wersje Qt powyżej 4.6.3. +Poprzednie wersje mają ograniczenia w budowaniu odpowiednich plików SIS.</translation> </message> <message> - <source>Download Information</source> - <translation>Ściągnij informacje</translation> + <source>Choose a tool chain:</source> + <translation>Wybierz zestaw narzędzi:</translation> </message> +</context> +<context> + <name>S60PublishingResultsPageOvi</name> <message> - <source>There is already one download in progress. Please wait until it is finished.</source> - <translation>Trwa inne ściąganie, poczekaj na jego zakończenie.</translation> + <source>Form</source> + <translation>Formularz</translation> </message> </context> <context> - <name>TextEditor::Internal::Manager</name> + <name>S60PublishingSisSettingsPageOvi</name> <message> - <source>Registering definitions</source> - <translation>Rejestrowanie definicji</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Downloading definitions</source> - <translation>Ściąganie definicji</translation> + <source>Global vendor name:</source> + <translation>Globalna nazwa dostawcy:</translation> </message> <message> - <source>Error downloading selected definition(s).</source> - <translation>Błąd ściągania wybranych definicji.</translation> + <source>Qt version used in builds:</source> + <translation>Wersja Qt użyta do budowania:</translation> </message> <message> - <source>Error downloading one or more definitions.</source> - <translation>Błąd ściągania jednej lub wielu definicji.</translation> + <source>Current Qt Version</source> + <translation>Bieżąca wersja Qt</translation> </message> <message> - <source> -Please check the directory's access rights.</source> - <translation> -Sprawdź prawa dostępu do katalogu.</translation> + <source>Application UID:</source> + <translation>UID aplikacji:</translation> </message> <message> - <source>Download Error</source> - <translation>Błąd ściągania</translation> + <source>Current UID3</source> + <translation>Bieżący UID3</translation> </message> -</context> -<context> - <name>TextEditor::Internal::OutlineWidgetStack</name> <message> - <source>No outline available</source> - <translation>Zarys nie jest dostępny</translation> + <source>Capabilities:</source> + <translation>Capabilities:</translation> </message> <message> - <source>Synchronize with Editor</source> - <translation>Synchronizuj z edytorem</translation> + <source>Current set of capabilities</source> + <translation>Bieżący zestaw "capabilities"</translation> </message> <message> - <source>Filter tree</source> - <translation>Przefiltruj drzewo</translation> + <source>Current Global Vendor Name</source> + <translation>Bieżąca globalna nazwa dostawcy</translation> </message> -</context> -<context> - <name>TextEditor::Internal::OutlineFactory</name> <message> - <source>Outline</source> - <translation>Zarys</translation> + <source>Localised vendor names:</source> + <translation>Przetłumaczone nazwy dostawców:</translation> </message> -</context> -<context> - <name>TextEditor::Internal::PlainTextEditorFactory</name> <message> - <source>A highlight definition was not found for this file. Would you like to try to find one?</source> - <translation>Definicja podświetleń nie została znaleziona. Czy chcesz spróbować ją znaleźć?</translation> + <source>Localised Vendor Names</source> + <translation>Przetłumaczone nazwy dostawców</translation> </message> <message> - <source>Show highlighter options</source> - <translation>Pokaż opcje podświetlacza</translation> + <source>Display name:</source> + <translation>Wyświetlana nazwa:</translation> </message> </context> <context> - <name>ProjectExplorer::BuildableHelperLibrary</name> + <name>Qt4ProjectManager::Internal::WinscwToolChainConfigWidget</name> <message> - <source>Cannot start process: %1</source> - <translation>Nie można uruchomić procesu: %1</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Timeout after %1s.</source> - <translation>Bez odpowiedzi po %1s.</translation> + <source>Compiler path:</source> + <translation>Ścieżka do kompilatora:</translation> </message> <message> - <source>The process crashed.</source> - <translation>Proces zakończył pracę błędem.</translation> + <source>System include path:</source> + <translation>Ścieżka do nagłówków systemowych:</translation> </message> <message> - <source>The process returned exit code %1: -%2</source> - <translation>Proces zwrócił kod wyjściowy %1: -%2</translation> + <source>System library path:</source> + <translation>Ścieżka do bibliotek systemowych:</translation> </message> +</context> +<context> + <name>Html5AppWizardSourcesPage</name> <message> - <source>Error running '%1' in %2: %3</source> - <translation>Błąd uruchamiania "%1" w %2: %3</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Building helper '%1' in %2 -</source> - <translation>Budowanie asystenta "%1" w %2 -</translation> + <source>Main HTML File</source> + <translation>Główny plik HTML</translation> </message> <message> - <source>Running %1 %2... -</source> - <translation>Uruchamianie %1 %2... -</translation> + <source>Generate an index.html file</source> + <translation>Wygeneruj plik index.html</translation> </message> <message> - <source>Running %1 %2 ... -</source> - <translation>Uruchamianie %1 %2 ... -</translation> + <source>Import an existing .html file</source> + <translation>Zaimportuj istniejący plik .html</translation> </message> <message> - <source>Running %1 ... -</source> - <translation type="obsolete">Uruchamianie %1... -</translation> + <source>Load a URL</source> + <translation>Załaduj URL</translation> </message> <message> - <source>%1 not found in PATH -</source> - <translation>Nie znaleziono %1 w zmiennej PATH -</translation> + <source>http://</source> + <translation>http://</translation> </message> -</context> -<context> - <name>QmlJSEditor::Internal::QmlJSOutlineWidget</name> <message> - <source>Show All Bindings</source> - <translation>Pokaż wszystkie wiązania</translation> + <source>Note: Unless you chose to load a URL, all files and directories that reside in the same directory as the main HTML file are deployed. You can modify the contents of the directory any time before deploying.</source> + <translation>Uwaga: wszystkie pliki i katalogi, które leżą w tym samym katalogu co główny plik HTML, zostaną zainstalowane, chyba że wybrałeś załadowanie URL. Możesz zmodyfikować zawartość katalogu przed zainstalowaniem.</translation> </message> -</context> -<context> - <name>ProjectExplorer::QmlDumpTool</name> <message> - <source>qmldump could not be built in any of the directories: -- %1 - -Reason: %2</source> - <translation>Nie można zbudować qmldump w żadnym z katalogów: -- %1 - -Powód: %2</translation> + <source>Touch optimized navigation</source> + <translation>Nawigacja zoptymalizowana pod kątem urządzeń dotykowych</translation> </message> -</context> -<context> - <name>ProjectExplorer::QmlObserverTool</name> <message> - <source>The target directory %1 could not be created.</source> - <translation>Nie można utworzyć docelowego katalogu %1.</translation> + <source>Enable touch optimized navigation</source> + <translation>Włącz nawigację zoptymalizowaną pod kątem urządzeń dotykowych</translation> </message> <message> - <source>QMLObserver could not be built in any of the directories: -- %1 - -Reason: %2</source> - <translation>Nie można zbudować QMLObservera w żadnym z katalogów: -- %1 - -Powód: %2</translation> + <source>Touch optimized navigation will make the HTML page flickable and enlarge the area of touch sensitive elements. If you use a JavaScript framework which optimizes the touch interaction, leave the checkbox unchecked.</source> + <translation type="unfinished">Nawigacja zoptymalizowana pod kątem urządzeń dotykowych spowoduje </translation> </message> </context> <context> - <name>CppEditor::InsertDeclOperation</name> + <name>MobileAppWizardGenericOptionsPage</name> <message> - <source>Add %1 Declaration</source> - <translation>Dodaj deklarację %1</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> -</context> -<context> - <name>CppEditor::InsertDefOperation</name> <message> - <source>Add Definition in %1</source> - <translation>Dodaj definicję w %1</translation> + <source>Orientation behavior:</source> + <translation>Zarządzanie orientacją:</translation> </message> </context> <context> - <name>QmlJsEditor</name> + <name>MobileAppWizardMaemoOptionsPage</name> <message> - <source>QML</source> - <translation>QML</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> + </message> + <message> + <source>Application icon (%%w%%x%%h%%):</source> + <translation>Ikona aplikacji (%%w%%x%%h%%):</translation> </message> </context> <context> - <name>Qt4ProjectManager::QmlDumpTool</name> + <name>MobileAppWizardSymbianOptionsPage</name> <message> - <source>Only available for Qt for Desktop and Qt for Qt Simulator.</source> - <translation type="unfinished"></translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Only available for Qt 4.7.1 or newer.</source> - <translation>Dostępne jedynie dla wersji Qt 4.7.1 lub nowszej.</translation> + <source>Application icon (.svg):</source> + <translation>Ikona aplikacji (.svg):</translation> </message> <message> - <source>Private headers are missing for this Qt version.</source> - <translation>Brak prywatnych nagłówków w tej wersji Qt.</translation> + <source>Target UID3:</source> + <translation>UID3 produktu:</translation> </message> <message> - <source>qmldump</source> - <translation>qmldump</translation> + <source>Enable network access</source> + <translation>Włącz dostęp sieciowy</translation> </message> </context> <context> - <name>QmlDumpBuildTask</name> + <name>BehaviorSettingsPage</name> <message> - <source>Building helper</source> - <translation>Budowanie asystenta</translation> + <source>Form</source> + <translation>Formularz</translation> </message> </context> <context> - <name>Qt4ProjectManager::QmlObserverTool</name> + <name>BehaviorSettingsWidget</name> <message> - <source>Only available for Qt for Desktop or Qt for Qt Simulator.</source> - <translation type="unfinished"></translation> + <source>Cleanup actions which are automatically performed right before the file is saved to disk.</source> + <translation>Akcje porządkujące, które zostaną automatycznie wykonane zanim plik zostanie zachowany na dysku.</translation> </message> <message> - <source>Only available for Qt 4.7.1 or newer.</source> - <translation>Dostępne jedynie dla wersji Qt 4.7.1 lub nowszej.</translation> + <source>Cleanups Upon Saving</source> + <translation>Porządkowanie przed zapisem</translation> </message> <message> - <source>QMLObserver</source> - <translation>QMLObserver</translation> + <source>Removes trailing whitespace upon saving.</source> + <translation>Usuwa białe znaki na końcu linii przed zapisem.</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::QtQuickAppWizardSourcesPage</name> <message> - <source>Select QML File</source> - <translation>Wybierz plik QML</translation> + <source>&Clean whitespace</source> + <translation>Wy&czyść białe znaki</translation> </message> -</context> -<context> - <name>MaemoProFilesUpdateDialog</name> <message> - <source>Maemo Deployment Issue</source> - <translation>Problem instalacji Maemo</translation> + <source>Clean whitespace in entire document instead of only for changed parts.</source> + <translation>Wyczyść białe znaki w całym dokumencie zamiast tylko w zmienionych częściach.</translation> </message> <message> - <source>The project files listed below do not contain Maemo deployment information, which means the respective targets cannot be deployed to and/or run on a device. Qt Creator will add the missing information to these files if you check the respective rows below.</source> - <translation>Pliki projektu wymienione poniżej nie zawierają informacji o instalacji dla Maemo, co oznacza, że odpowiednie produkty docelowe nie mogą być zainstalowane ani uruchomione. Jeśli zaznaczysz odpowiednie wiersze poniżej, brakujące informacje zostaną dodane do tych plików.</translation> + <source>In entire &document</source> + <translation>W całym &dokumencie</translation> </message> <message> - <source>&Check all</source> - <translation>&Zaznacz wszystko</translation> - </message> - <message> - <source>&Uncheck All</source> - <translation>&Odznacz wszystko</translation> + <source>Correct leading whitespace according to tab settings.</source> + <translation>Popraw białe znaki stosownie do ustawień tabulatorów.</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoProFilesUpdateDialog</name> <message> - <source>Updateable Project Files</source> - <translation type="obsolete">Odświeżalne pliki projektu</translation> + <source>Clean indentation</source> + <translation>Wyczyść wcięcia</translation> </message> -</context> -<context> - <name>Bazaar::Internal::BazaarCommitPanel</name> <message> - <source>General Information</source> - <translation>Ogólne informacje</translation> + <source>&Ensure newline at end of file</source> + <translation>Wstawiaj znak now&ej linii na końcu pliku</translation> </message> <message> - <source>Branch:</source> - <translation>Gałąź:</translation> + <source>File Encodings</source> + <translation>Kodowania pliku</translation> </message> <message> - <source>Perform a local commit in a bound branch. -Local commits are not pushed to the master branch until a normal commit is performed</source> - <translation type="unfinished"></translation> + <source>Default encoding: </source> + <translation>Domyślne kodowanie: </translation> </message> <message> - <source>Local commit</source> - <translation type="unfinished"></translation> + <source>UTF-8 BOM:</source> + <translation>UTF-8 BOM:</translation> </message> <message> - <source>Commit Information</source> - <translation type="unfinished"></translation> + <source><html><head/><body> +<p>How text editors should deal with UTF-8 Byte Order Marks. The options are:</p> +<ul ><li><i>Add If Encoding Is UTF-8:</i> always add a BOM when saving a file in UTF-8 encoding. Note that this will not work if the encoding is <i>System</i>, as Qt Creator does not know what it actually is.</li> +<li><i>Keep If Already Present: </i>save the file with a BOM if it already had one when it was loaded.</li> +<li><i>Always Delete:</i> never write an UTF-8 BOM, possibly deleting a pre-existing one.</li></ul> +<p>Note that UTF-8 BOMs are uncommon and treated incorrectly by some editors, so it usually makes little sense to add any.</p> +<p>This setting does <b>not</b> influence the use of UTF-16 and UTF-32 BOMs.</p></body></html></source> + <translation><html><head/><body> +<p>Sposób traktowania znacznika kolejności bajtów (BOM) UTF-8 przez edytory tekstowe. Opcje:</p> +<ul ><li><i>Dodawaj w przypadku kodowania UTF-8:</i> zawsze dodaje BOM w trakcie zachowywania pliku kodowanego UTF-8. Uwaga: to nie zadziała jeżeli kodowanie jest <i>systemowe</i>, ponieważ Qt Creator nie posiada informacji o nim.</li> +<li><i>Zachowuj jeśli już istnieje: </i></li>zachowuje plik z BOM jeśli go posiadał podczas ładowania</li> +<li><i>Zawsze usuwaj:</i> nigdy nie zapisuje UTF-8 BOM kasując poprzednie wystąpienia.</li></ul> +<p>Uwaga: UTF-8 BOMy występują rzadko i niektóre edytory traktują je za błędne, więc zwykle nie ma sensu ich dodawać.</p> +<p>To ustawienie <b>nie</b> nie wpływa na używanie BOMów UTF-16 i UTF-32.</p></body></html></translation> </message> <message> - <source>Author:</source> - <translation>Autor:</translation> + <source>Add If Encoding Is UTF-8</source> + <translation>Dodawaj w przypadku kodowania UTF-8</translation> </message> <message> - <source>Email:</source> - <translation>Email:</translation> + <source>Keep If Already Present</source> + <translation>Zachowuj jeśli już istnieje</translation> </message> <message> - <source>Fixed bugs:</source> - <translation>Poprawione błędy:</translation> + <source>Always Delete</source> + <translation>Zawsze usuwaj</translation> </message> -</context> -<context> - <name>Bazaar::Internal::CloneOptionsPanel</name> <message> - <source>Options</source> - <translation>Opcje</translation> + <source>Mouse</source> + <translation>Mysz</translation> </message> <message> - <source>By default, branch will fail if the target directory exists, but does not already have a control directory. -This flag will allow branch to proceed</source> - <translation>Domyślnie, stworzenie gałęzi nie powiedzie się jeśli katalog docelowy istnieje, ale nie posiada katalogu kontrolnego. -Ta flaga wówczas umożliwi stworzenie gałęzi</translation> + <source>Enable &mouse navigation</source> + <translation>Włącz nawigację &myszy</translation> </message> <message> - <source>Use existing directory</source> - <translation>Użyj istniejącego katalogu</translation> + <source>Enable scroll &wheel zooming</source> + <translation>Włącz powiększanie poprzez obracanie &kółkiem myszy (wraz z przyciśniętym CTRL)</translation> </message> +</context> +<context> + <name>SnippetsSettingsPage</name> <message> - <source>Create a stacked branch referring to the source branch. -The new branch will depend on the availability of the source branch for all operations</source> - <translation type="unfinished"></translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Stacked</source> - <translation type="unfinished"></translation> + <source>Group: </source> + <translation>Grupa: </translation> </message> <message> - <source>Do not use a shared repository, even if available</source> - <translation>Nie używaj dzielonego repozytorium, nawet jeśli jest to możliwe</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> <message> - <source>Standalone</source> - <translation type="unfinished"></translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>Bind new branch to source location</source> - <translation>Powiąż nową gałąź z położeniem źródeł</translation> + <source>Revert Built-in</source> + <translation>Odwróć zmiany we wbudowanych</translation> </message> <message> - <source>Switch the checkout in the current directory to the new branch</source> - <translation type="unfinished"></translation> + <source>Restore Removed Built-ins</source> + <translation>Przywróć usunięte wbudowane</translation> </message> <message> - <source>Switch checkout</source> - <translation type="unfinished"></translation> + <source>Reset All</source> + <translation>Przywróć wszystko</translation> </message> +</context> +<context> + <name>AnchorButtons</name> <message> - <source>Hard-link working tree files where possible</source> - <translation type="unfinished"></translation> + <source>Set top anchor</source> + <translation>Ustaw górną kotwicę</translation> </message> <message> - <source>Hardlink</source> - <translation type="unfinished"></translation> + <source>Setting anchors in states is not supported.</source> + <translation>Ustawianie kotwic w stanach nie jest obsługiwane.</translation> </message> <message> - <source>Create a branch without a working-tree</source> - <translation>Utwórz gałąź bez drzewa z kopią roboczą</translation> + <source>Set bottom anchor</source> + <translation>Ustaw dolną kotwicę</translation> </message> <message> - <source>No working-tree</source> - <translation>Bez kopii roboczej</translation> + <source>Set left anchor</source> + <translation>Ustaw lewą kotwicę</translation> </message> <message> - <source>Revision:</source> - <translation>Poprawka:</translation> + <source>Set right anchor</source> + <translation>Ustaw prawą kotwicę</translation> </message> -</context> -<context> - <name>Bazaar::Internal::OptionsPage</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Fill to parent</source> + <translation>Wypełnij rodzica</translation> </message> <message> - <source>Configuration</source> - <translation>Konfiguracja</translation> + <source>Set vertical anchor</source> + <translation>Ustaw pionową kotwicę</translation> </message> <message> - <source>Command:</source> - <translation>Komenda:</translation> + <source>Set horizontal anchor</source> + <translation>Ustaw poziomą kotwicę</translation> </message> +</context> +<context> + <name>ColorGroupBox</name> <message> - <source>User</source> - <translation>Użytkownik</translation> + <source>Color editor</source> + <translation>Edytor kolorów</translation> </message> +</context> +<context> + <name>ColorTypeButtons</name> <message> - <source>Username to use by default on commit.</source> - <translation type="unfinished"></translation> + <source>Solid color</source> + <translation>Kolor jednolity</translation> </message> <message> - <source>Default username:</source> - <translation>Domyślna nazwa użytkownika:</translation> + <source>Gradient</source> + <translation>Gradient</translation> </message> <message> - <source>Email to use by default on commit.</source> - <translation type="unfinished"></translation> + <source>Transparent</source> + <translation>Przezroczystość</translation> </message> +</context> +<context> + <name>QmlJS::TypeDescriptionReader</name> <message> - <source>Default email:</source> - <translation>Domyślny adres email:</translation> + <source>Errors while loading qmltypes from %1: +%2</source> + <translation>Błędy podczas ładowania qmltypes z %1: +%2</translation> </message> <message> - <source>Miscellaneous</source> - <translation>Różne</translation> + <source>Warnings while loading qmltypes from %1: +%2</source> + <translation>Ostrzeżenia podczas ładowania qmltypes z %1: +%2</translation> </message> +</context> +<context> + <name>Utils::EnvironmentModel</name> <message> - <source>Log count:</source> - <translation>Licznik loga:</translation> + <source><UNSET></source> + <translation><SKASUJ></translation> </message> <message> - <source>The number of recent commit logs to show, choose 0 to see all enteries</source> - <translation>Liczba ostatnich zmian wyświetlanych w logu, wybierz 0 aby ujrzeć wszystkie zmiany</translation> + <source>Variable</source> + <translation>Zmienna</translation> </message> <message> - <source>Timeout:</source> - <translation>Czas oczekiwania:</translation> + <source>Value</source> + <translation>Wartość</translation> </message> <message> - <source>s</source> - <translation>s</translation> + <source><VARIABLE></source> + <extracomment>Name when inserting a new variable</extracomment> + <translation><ZMIENNA></translation> </message> <message> - <source>Prompt on submit</source> - <translation>Pytaj przed wysłaniem zmian do serwera</translation> + <source><VALUE></source> + <extracomment>Value when inserting a new variable</extracomment> + <translation><WARTOŚĆ></translation> </message> +</context> +<context> + <name>Utils::IpAddressLineEdit</name> <message> - <source>Bazaar</source> - <translation>Bazaar</translation> + <source>The IP address is not valid.</source> + <translation>Niepoprawny adres IP.</translation> </message> </context> <context> - <name>Bazaar::Internal::PullOrPushDialog</name> + <name>Utils::QtcProcess</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>Error in command line.</source> + <translation>Błąd w linii komend.</translation> </message> +</context> +<context> + <name>Utils::Internal::SftpChannelPrivate</name> <message> - <source>Branch Location</source> - <translation>Położenie gałęzi</translation> + <source>Server could not start sftp subsystem.</source> + <translation>Serwer nie może uruchomić podsystemu sftp.</translation> </message> <message> - <source>Default location</source> - <translation>Domyślne położenie</translation> + <source>Unexpected packet of type %1.</source> + <translation>Nieoczekiwany pakiet typu %1.</translation> </message> <message> - <source>Local filesystem:</source> - <translation>Lokalny system plików:</translation> + <source>Protocol version mismatch: Expected %1, got %2</source> + <translation>Niezgodność wersji protokołu: Oczekiwano %1 zamiast %2</translation> </message> <message> - <source>for example https://[user[:pass]@]host[:port]/[path]</source> - <translation>na przykład https://[użytkownik[:hasło]@]host[:port]/[ścieżka]</translation> + <source>Unknown error.</source> + <translation>Nieznany błąd.</translation> </message> <message> - <source>Specify URL:</source> - <translation>Podaj URL:</translation> + <source>Created remote directory '%1'.</source> + <translation>Utworzono zdalny katalog "%1".</translation> </message> <message> - <source>Options</source> - <translation>Opcje</translation> + <source>Remote directory '%1' already exists.</source> + <translation>Zdalny katalog "%1" już istnieje.</translation> </message> <message> - <source>Remember specified location as default</source> - <translation>Zapamiętaj podane położenie jako domyślne</translation> + <source>Error creating directory '%1': %2</source> + <translation>Błąd tworzenia katalogu "%1": %2</translation> </message> <message> - <source>Ignore differences between branches and overwrite -unconditionally</source> - <translation>Ignoruj różnice pomiędzy gałęziami i nadpisuj bezwarunkowo</translation> + <source>Could not open local file '%1': %2</source> + <translation>Nie można otworzyć lokalnego pliku "%1": %2</translation> </message> <message> - <source>Overwrite</source> - <translation>Nadpisz</translation> + <source>Remote directory could not be opened for reading.</source> + <translation>Nie można otworzyć zdalnego katalogu do odczytu.</translation> </message> <message> - <source>By default, push will fail if the target directory exists, but does not already have a control directory. -This flag will allow push to proceed</source> - <translation>Domyślnie, push nie powiedzie się jeśli katalog docelowy istnieje, ale nie posiada katalogu kontrolnego. -Ta flaga wówczas umożliwi wykonanie push</translation> + <source>Failed to list remote directory contents.</source> + <translation>Nie można uzyskać zawartości zdalnego katalogu.</translation> </message> <message> - <source>Use existing directory</source> - <translation>Użyj istniejącego katalogu</translation> + <source>Failed to close remote directory.</source> + <translation>Nie można zamknąć zdalnego katalogu.</translation> </message> <message> - <source>Create the path leading up to the branch if it does not already exist</source> - <translation>Utwórz ścieżkę prowadząca do gałęzi jeżeli jeszcze ona nie istnieje</translation> + <source>Failed to open remote file for reading.</source> + <translation>Nie można otworzyć zdalnego pliku do odczytu.</translation> </message> <message> - <source>Create prefix</source> - <translation>Utwórz przedrostek</translation> + <source>Failed retrieve information on the remote file ('stat' failed).</source> + <translation>Nie można uzyskać informacji o zdalnym pliku ("stat" niepoprawnie zakończony).</translation> </message> <message> - <source>Revision:</source> - <translation>Poprawka:</translation> - </message> - <message> - <source>Perform a local pull in a bound branch. -Local pulls are not applied to the master branch</source> - <translation type="unfinished"></translation> + <source>Failed to read remote file.</source> + <translation>Nie można odczytać zdalnego pliku.</translation> </message> <message> - <source>Local</source> - <translation>Lokalnie</translation> + <source>Failed to close remote file.</source> + <translation>Nie można zamknąć zdalnego pliku.</translation> </message> <message> - <source>Pull Source</source> - <translation type="unfinished"></translation> + <source>Failed to open remote file for writing.</source> + <translation>Nie można otworzyć zdalnego pliku do zapisu.</translation> </message> <message> - <source>Push Destination</source> - <translation type="unfinished"></translation> + <source>Failed to write remote file.</source> + <translation>Nie można zapisać zdalnego pliku.</translation> </message> -</context> -<context> - <name>Bazaar::Internal::RevertDialog</name> <message> - <source>Revert</source> - <translation>Odwróć zmiany</translation> + <source>Cannot append to remote file: Server does not support the file size attribute.</source> + <translation>Nie można dodać zawartości do zdalnego pliku: Serwer nie obsługuje atrybutu "rozmiar pliku".</translation> </message> <message> - <source>Specify a revision other than the default?</source> - <translation>Podaj inną poprawkę niż domyślna</translation> + <source>Server could not start session.</source> + <translation>Serwer nie może rozpocząć sesji.</translation> </message> <message> - <source>Revision:</source> - <translation>Poprawka:</translation> + <source>Error reading local file: %1</source> + <translation>Błąd odczytu lokalnego pliku: %1</translation> </message> </context> <context> - <name>Core::Internal::ExternalToolConfig</name> + <name>Utils::Internal::SshChannelManager</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Invalid channel id %1</source> + <translation>Niepoprawny identyfikator kanału %1</translation> </message> +</context> +<context> + <name>Utils::Internal::SshConnectionPrivate</name> <message> - <source>Add tool</source> - <translation>Dodaj narzędzie</translation> + <source>SSH Protocol error: %1</source> + <translation>Błąd protokołu SSH: %1</translation> </message> <message> - <source>Add</source> - <translation>Dodaj</translation> + <source>Botan library exception: %1</source> + <translation>Wyjątek biblioteki Botan: %1</translation> </message> <message> - <source>Remove tool</source> - <translation>Usuń narzędzie</translation> + <source>Invalid protocol version: Expected '2.0', got '%1'.</source> + <translation>Niepoprawna wersja protokołu: Oczekiwano "2.0" zamiast "%1".</translation> </message> <message> - <source>Remove</source> - <translation>Usuń</translation> + <source>Invalid server id '%1'.</source> + <translation>Niepoprawny identyfikator serwera "%1".</translation> </message> <message> - <source>Revert tool to default</source> - <translation>Przywróć domyślne narzędzi</translation> + <source>Unexpected packet of type %1.</source> + <translation>Nieoczekiwany pakiet typu %1.</translation> </message> <message> - <source>Reset</source> - <translation>Przywróć</translation> + <source>Private key error: %1</source> + <translation>Błąd klucza prywatnego: %1</translation> </message> <message> - <source>Description:</source> - <translation>Opis:</translation> + <source>Password expired.</source> + <translation>Hasło straciło ważność.</translation> </message> <message> - <source>Executable:</source> - <translation>Plik wykonywalny:</translation> + <source>Server rejected password.</source> + <translation>Serwer odrzucił hasło.</translation> </message> <message> - <source>Arguments:</source> - <translation>Argumenty:</translation> + <source>Server rejected key.</source> + <translation>Serwer odrzucił klucz.</translation> </message> <message> - <source>Working directory:</source> - <translation>Katalog roboczy:</translation> + <source>The server sent an unexpected SSH packet of type SSH_MSG_UNIMPLEMENTED.</source> + <translation>Serwer wysłał nieoczekiwany pakiet SSH typu SSH_MSG_UNIMPLEMENTED.</translation> </message> <message> - <source><html><head/><body> -<p>What to do with the executable's standard output. -<ul><li>Ignore: Do nothing with it</li><li>Show in pane: Show it in the general output pane</li><li>Replace selection: Replace the current selection in the current document with it</li></ul></p></body></html> -</source> - <translation><html><head/><body> -<p>Co zrobić z komunikatami pliku wykonywalnego. -<ul><li>Ignoruj: nie rób nic</li><li>Pokaż w panelu: pokaż w ogólnym panelu z komunikatami</li><li>Zastąp selekcję: zastąp nimi selekcję w bieżącym dokumencie</li></ul></p></body></html> -</translation> + <source>Server closed connection: %1</source> + <translation>Serwer zamknął połączenie: %1</translation> </message> <message> - <source>Output:</source> - <translation>Komunikaty:</translation> + <source>Connection closed unexpectedly.</source> + <translation>Nieoczekiwane zamknięcie połączenia.</translation> </message> <message> - <source>Ignore</source> - <translation>Zignoruj</translation> + <source>Timeout waiting for reply from server.</source> + <translation>Przekroczony czas oczekiwania na odpowiedź od serwera.</translation> </message> +</context> +<context> + <name>Valgrind::XmlProtocol::ErrorListModel</name> <message> - <source>Show in Pane</source> - <translation>Pokazuj w panelu</translation> + <source>What</source> + <translation>Co</translation> </message> <message> - <source>Replace Selection</source> - <translation>Zastąp selekcję</translation> + <source>Location</source> + <translation>Położenie</translation> </message> <message> - <source><html><head><body> -<p >What to do with the executable's standard error output.</p> -<ul><li>Ignore: Do nothing with it</li> -<li>Show in pane: Show it in the general output pane</li> -<li>Replace selection: Replace the current selection in the current document with it</li> -</ul></body></html></source> - <translation><html><head><body> -<p >Co zrobić z komunikatami błędów pliku wykonywalnego</p> -<ul><li>Ignoruj: nie rób nic</li> -<li>Pokaż w panelu: pokaż w ogólnym panelu z komunikatami</li> -<li>Zastąp selekcję: zastąp nimi selekcję w bieżącym dokumencie</li> -</ul></body></html></translation> + <source>File</source> + <translation>Plik</translation> </message> <message> - <source>Error output:</source> - <translation>Komunikaty o błędach:</translation> + <source>Line</source> + <translation>Linia</translation> </message> <message> - <source>Text to pass to the executable via standard input. Leave empty if the executable should not receive any input.</source> - <translation>Tekst przekazywany do pliku wykonywalnego poprzez standardowe wejście. Może zostać pusty dla pliku wykonywalnego nie otrzymującego niczego na wejściu.</translation> + <source>Unique</source> + <translation>Unikalny</translation> </message> <message> - <source>Input:</source> - <translation>Wejście:</translation> + <source>Thread ID</source> + <translation>Identyfikator wątku</translation> </message> <message> - <source>If the tool modifies the current document, set this flag to ensure that the document is saved before running the tool and is reloaded after the tool finished.</source> - <translation>Jeśli narzędzie modyfikuje bieżący dokument, ustaw tę flagę aby mieć pewność, iż będzie on zachowany przed uruchomieniem narzędzia i przeładowany po jego zakończeniu.</translation> + <source>Kind</source> + <translation>Rodzaj</translation> </message> <message> - <source>Modifies current document</source> - <translation>Modyfikuje bieżący dokument</translation> + <source>Leaked Blocks</source> + <translation>Bloki, które wyciekły</translation> </message> <message> - <source>Add Tool</source> - <translation>Dodaj narzędzie</translation> + <source>Leaked Bytes</source> + <translation>Bajty, które wyciekły</translation> </message> <message> - <source>Add Category</source> - <translation>Dodaj kategorię</translation> + <source>Helgrind Thread ID</source> + <translation>Identyfikator wątku Helgrind</translation> </message> </context> <context> - <name>MimeTypeMagicDialog</name> + <name>Valgrind::XmlProtocol</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>Function:</source> + <translation>Funkcja:</translation> </message> <message> - <source>Value:</source> - <translation>Wartość:</translation> + <source>Location:</source> + <translation>Położenie:</translation> </message> <message> - <source>Type</source> - <translation>Typ</translation> + <source>Instruction pointer:</source> + <translation>Wskaźnik do instrukcji:</translation> </message> <message> - <source>String</source> - <translation>Ciąg</translation> + <source>Object:</source> + <translation>Obiekt:</translation> </message> +</context> +<context> + <name>Valgrind::XmlProtocol::Parser</name> <message> - <source>Byte</source> - <translation>Bajt</translation> + <source>Could not parse hex number from "%1" (%2)</source> + <translation>Błąd parsowania liczby szesnastkowej z "%1" (%2)</translation> </message> <message> - <source>Use Recommended</source> - <translation>Używaj rekomendowanych</translation> + <source>trying to read element text although current position is not start of element</source> + <translation>próba odczytu elementu tekstowego pomimo iż bieżąca pozycja nie jest na początku elementu</translation> </message> <message> - <source>Start range:</source> - <translation>Początek zakresu:</translation> + <source>Unexpected child element while reading element text</source> + <translation>Nieoczekiwany podelement podczas odczytu elementu tekstowego</translation> </message> <message> - <source>End range:</source> - <translation>Koniec zakresu:</translation> + <source>Unexpected token type %1</source> + <translation>Nieoczekiwany typ znaku %1</translation> </message> <message> - <source>Priority:</source> - <translation>Priorytet:</translation> + <source>Could not parse protocol version from "%1"</source> + <translation>Błąd parsowania wersji protokołu z "%1"</translation> </message> <message> - <source><i>Note: Wide range values might impact on Qt Creator's performance when opening files.</i></source> - <translation><i>Uwaga: Szeroki zakres może wpłynąć na wydajność Qt Creatora podczas otwierania plików.</i></translation> + <source>XmlProtocol version %1 not supported (supported version: 4)</source> + <translation>Nieobsługiwana wersja XmlProtocol %1 (obsługiwana wersja: 4)</translation> </message> -</context> -<context> - <name>MimeTypeSettingsPage</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Valgrind tool "%1" not supported</source> + <translation>Narzędzie Valgrind "%1" nie jest obsługiwane</translation> </message> <message> - <source>Registered MIME Types</source> - <translation>Zarejestrowane typy MIME</translation> + <source>Unknown memcheck error kind "%1"</source> + <translation>Nieznany rodzaj błędu memcheck "%1"</translation> </message> <message> - <source>Reset all to default</source> - <translation>Przywróć wszystkie domyślne</translation> + <source>Unknown helgrind error kind "%1"</source> + <translation>Nieznany rodzaj błędu helgrind "%1"</translation> </message> <message> - <source>Reset All</source> - <translation>Przywróć wszystkie</translation> + <source>Unknown ptrcheck error kind "%1"</source> + <translation>Nieznany rodzaj błędu ptrcheck "%1"</translation> </message> <message> - <source>Details</source> - <translation>Szczegóły</translation> + <source>Could not parse error kind, tool not yet set.</source> + <translation>Nie można przeparsować rodzaju błędu, narzędzie nie zostało jeszcze ustawione.</translation> </message> <message> - <source>Patterns:</source> - <translation>Wzory:</translation> + <source>Unknown state "%1"</source> + <translation>Nieznany stan "%1"</translation> </message> <message> - <source>Magic Header</source> - <translation>Magiczny nagłówek</translation> + <source>Unexpected exception caught during parsing.</source> + <translation>Złapano nieoczekiwany wyjątek podczas parsowania.</translation> </message> +</context> +<context> + <name>Valgrind::XmlProtocol::StackModel</name> <message> - <source>Type</source> - <translation>Typ</translation> + <source>Description</source> + <translation>Opis</translation> </message> <message> - <source>Range</source> - <translation>Zakres</translation> + <source>Instruction Pointer</source> + <translation>Wskaźnik do instrukcji</translation> </message> <message> - <source>Priority</source> - <translation>Priorytet</translation> + <source>Object</source> + <translation>Obiekt</translation> </message> <message> - <source>Add</source> - <translation>Dodaj</translation> + <source>Function</source> + <translation>Funkcja</translation> </message> <message> - <source>Edit</source> - <translation>Zmodyfikuj</translation> + <source>Directory</source> + <translation>Katalog</translation> </message> <message> - <source>Remove</source> - <translation>Usuń</translation> - </message> -</context> -<context> - <name>Core::VariableChooser</name> - <message> - <source>Variables</source> - <translation>Zmienne</translation> + <source>File</source> + <translation>Plik</translation> </message> <message> - <source>Select a variable to insert.</source> - <translation>Wybierz zmienną do wstawienia.</translation> + <source>Line</source> + <translation>Linia</translation> </message> +</context> +<context> + <name>Analyzer</name> <message> - <source>Insert variable</source> - <translation>Wstaw zmienną</translation> + <source>Analyzer</source> + <translation>Analizator</translation> </message> </context> <context> - <name>Debugger::Internal::BreakCondition</name> + <name>Analyzer::Internal::AnalyzerMode</name> <message> - <source>&Condition:</source> - <translation>&Warunek:</translation> + <source>Analyze</source> + <translation>Analizuj</translation> </message> +</context> +<context> + <name>Analyzer::AnalyzerManager</name> <message> - <source>&Ignore count:</source> - <translation>L&icznik pominięć:</translation> + <source>Tool "%1" started...</source> + <translation>Narzędzie "%1" zostało uruchomione...</translation> + </message> + <message numerus="yes"> + <source>Tool "%1" finished, %n issues were found.</source> + <translation> + <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problem.</numerusform> + <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problemy.</numerusform> + <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problemów.</numerusform> + </translation> </message> <message> - <source>&Thread specification:</source> - <translation>&Specyfikacja wątku:</translation> + <source>Tool "%1" finished, no issues were found.</source> + <translation>Narzędzie "%1" zakończyło pracę, nie znaleziono żadnych problemów.</translation> </message> </context> <context> - <name>LldbOptionsPageWidget</name> - <message> - <source>Enable LLDB</source> - <translation>Włącz LLDB</translation> - </message> + <name>Analyzer::Internal::AnalyzerPlugin</name> <message> - <source>Use GDB python dumpers</source> - <translation type="obsolete">Używaj narzędzia do zrzutów GDB python</translation> + <source>Analyzer</source> + <extracomment>Category under which Analyzer tasks are listed in build issues view</extracomment> + <translation>Analizator</translation> </message> +</context> +<context> + <name>Analyzer::Internal::AnalyzerRunControlFactory</name> <message> - <source>Use GDB Python dumpers</source> - <translation>Używaj narzędzia do zrzutów GDB Python</translation> + <source>Analyzer</source> + <translation>Analizator</translation> </message> </context> <context> - <name>StartRemoteEngineDialog</name> + <name>Analyzer::AnalyzerProjectSettings</name> <message> - <source>Start Remote Engine</source> - <translation>Uruchom zdalny silnik</translation> + <source>Analyzer Settings</source> + <translation>Ustawienia analizatora</translation> </message> +</context> +<context> + <name>Analyzer::IAnalyzerTool</name> <message> - <source>&Host:</source> - <translation>&Host:</translation> + <source>Debug</source> + <translation>Debug</translation> </message> <message> - <source>&Username:</source> - <translation>Nazwa &użytkownika:</translation> + <source>Release</source> + <translation>Release</translation> </message> +</context> +<context> + <name>Bazaar::Internal::BazaarControl</name> <message> - <source>&Password:</source> - <translation>H&asło:</translation> + <source>Bazaar</source> + <translation>Bazaar</translation> </message> +</context> +<context> + <name>Bazaar::Internal::BazaarEditor</name> <message> - <source>&Engine path:</source> - <translation>Ścieżka do &silnika:</translation> + <source>Annotate %1</source> + <translation>Dołącz adnotację do %1</translation> </message> <message> - <source>&Inferior path:</source> - <translation>Ścieżka do &podprocesu:</translation> + <source>Annotate parent revision %1</source> + <translation>Dołącz adnotację do poprawki macierzystej "%1"</translation> </message> </context> <context> - <name>Macros::Internal::MacroOptionsWidget</name> + <name>Bazaar::Internal::BazaarPlugin</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Bazaar</source> + <translation>Bazaar</translation> </message> <message> - <source>Preferences</source> - <translation>Ustawienia</translation> + <source>Annotate Current File</source> + <translation>Dołącz adnotację do bieżącego pliku</translation> </message> <message> - <source>Name</source> - <translation>Nazwa</translation> + <source>Annotate "%1"</source> + <translation>Dołącz adnotację do "%1"</translation> </message> <message> - <source>Description</source> - <translation>Opis</translation> + <source>Diff Current File</source> + <translation>Pokaż różnice w bieżącym pliku</translation> </message> <message> - <source>Shortcut</source> - <translation>Skrót</translation> + <source>Diff "%1"</source> + <translation>Pokaż różnice w "%1"</translation> </message> <message> - <source>Remove</source> - <translation>Usuń</translation> + <source>ALT+Z,Alt+D</source> + <translation>ALT+Z,Alt+D</translation> </message> <message> - <source>Macro</source> - <translation>Makro</translation> + <source>Log Current File</source> + <translation>Log bieżącego pliku</translation> </message> <message> - <source>Description:</source> - <translation>Opis:</translation> + <source>Log "%1"</source> + <translation>Log "%1"</translation> </message> -</context> -<context> - <name>Macros::Internal::SaveDialog</name> <message> - <source>Save Macro</source> - <translation>Zachowaj makro</translation> + <source>ALT+Z,Alt+L</source> + <translation>ALT+Z,Alt+L</translation> </message> <message> - <source>Name:</source> - <translation>Nazwa:</translation> + <source>Status Current File</source> + <translation>Stan bieżącego pliku</translation> </message> <message> - <source>Description:</source> - <translation>Opis:</translation> + <source>Status "%1"</source> + <translation>Stan "%1"</translation> </message> -</context> -<context> - <name>MemcheckConfigWidget</name> <message> - <source>Memory Analysis Options</source> - <translation type="obsolete">Opcje analizatora pamięci</translation> + <source>ALT+Z,Alt+S</source> + <translation>ALT+Z,Alt+S</translation> </message> <message> - <source>Backtrace frame count:</source> - <translation type="obsolete">Głębokość stosu:</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> <message> - <source>Suppressions:</source> - <translation type="obsolete">Tłumienia:</translation> + <source>Add "%1"</source> + <translation>Dodaj "%1"</translation> </message> <message> - <source>Add</source> - <translation type="obsolete">Dodaj</translation> + <source>Delete...</source> + <translation>Usuń...</translation> </message> <message> - <source>Remove</source> - <translation type="obsolete">Usuń</translation> + <source>Delete "%1"...</source> + <translation>Usuń "%1"...</translation> </message> <message> - <source>Track origins of uninitialized memory</source> - <translation type="obsolete">Śledź źródła niezainicjalizowanej pamięci</translation> + <source>Revert Current File...</source> + <translation>Odwróć zmiany w bieżącym pliku...</translation> </message> -</context> -<context> - <name>SuppressionDialog</name> <message> - <source>Dialog</source> - <translation type="obsolete">Dialog</translation> + <source>Revert "%1"...</source> + <translation>Odwróć zmiany w "%1"...</translation> </message> <message> - <source>Suppression File:</source> - <translation type="obsolete">Plik tłumienia:</translation> + <source>Diff</source> + <translation>Pokaż różnice</translation> </message> <message> - <source>Suppression:</source> - <translation type="obsolete">Tłumienie:</translation> + <source>Log</source> + <translation>Log</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::PublishingWizardSelectionDialog</name> <message> - <source>Publishing Wizard Selection</source> - <translation>Wybór kreatora publikującego</translation> + <source>Revert...</source> + <translation>Odwróć zmiany...</translation> </message> <message> - <source>Available Wizards:</source> - <translation>Dostępne kreatory:</translation> + <source>Status</source> + <translation>Stan</translation> </message> <message> - <source>Start Wizard</source> - <translation>Uruchom kreatora</translation> + <source>Pull...</source> + <translation>Pull...</translation> </message> <message> - <source>Publishing is currently not possible for project '%1'.</source> - <translation>Publikowanie nie jest aktualnie możliwe dla projektu "%1".</translation> + <source>Push...</source> + <translation>Push...</translation> </message> -</context> -<context> - <name>ToolChainOptionsPage</name> <message> - <source>Add</source> - <translation>Dodaj</translation> + <source>Update...</source> + <translation>Update...</translation> </message> <message> - <source>Remove</source> - <translation>Usuń</translation> + <source>Commit...</source> + <translation>Commit...</translation> </message> <message> - <source>Clone</source> - <translation>Sklonuj</translation> + <source>ALT+Z,Alt+C</source> + <translation>ALT+Z,Alt+C</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::DebuggingHelper</name> <message> - <source>Used to extract QML type information from library-based plugins.</source> - <translation type="obsolete">Użyty do wyciągania informacji o typach QML z wtyczek bazujących na bibliotekach.</translation> + <source>Create Repository...</source> + <translation>Utwórz repozytorium...</translation> </message> <message> - <source>QML Dump:</source> - <translation type="obsolete">Zrzut QML:</translation> + <source>Update</source> + <translation>Uaktualnij</translation> </message> <message> - <source>A modified version of qmlviewer with support for QML/JS debugging.</source> - <translation type="obsolete">Zmodyfikowana wersja qmlviewera, która obsługuje debugowanie QML/JS.</translation> + <source>Commit</source> + <translation type="unfinished"></translation> </message> <message> - <source>QML Observer:</source> - <translation type="obsolete">QML Observer:</translation> + <source>Diff &Selected Files</source> + <translation>Pokaż różnice w &zaznaczonych plikach</translation> </message> <message> - <source>Build</source> - <translation type="obsolete">Zbuduj</translation> + <source>&Undo</source> + <translation>&Cofnij</translation> </message> <message> - <source>QML Debugging Library:</source> - <translation type="obsolete">Biblioteka debugująca QML:</translation> + <source>&Redo</source> + <translation>&Przywróć</translation> </message> <message> - <source>Show compiler output of last build.</source> - <translation type="obsolete">Pokazuje komunikaty kompilatora z ostatniego budowania.</translation> + <source>There are no changes to commit.</source> + <translation type="unfinished">Brak zmian do wysłania.</translation> </message> <message> - <source>Show Log</source> - <translation type="obsolete">Pokaż log</translation> + <source>Unable to generate a temporary file for the commit editor.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Compile debugging helpers that are checked.</source> - <translation type="obsolete">Skompiluj zaznaczonych asystentów debugowania.</translation> + <source>Unable to create an editor for the commit.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Build All</source> - <translation type="obsolete">Zbuduj wszystko</translation> + <source>Unable to create a commit editor.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Helps showing content of Qt types. Only used in older versions of GDB.</source> - <translation type="obsolete">Pomaga wyświetlać zawartość typów Qt. Używany tylko w starszych wersjach GDB.</translation> + <source>Commit changes for "%1".</source> + <translation type="unfinished"></translation> </message> <message> - <source>GDB Helper:</source> - <translation type="obsolete">Asystent GDB:</translation> + <source>Close Commit Editor</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>MaemoDeviceConfigurationsSettingsWidget</name> <message> - <source>Maemo Device Configurations</source> - <translation>Konfiguracje urządzenia Maemo</translation> + <source>Do you want to commit the changes?</source> + <translation type="unfinished"></translation> </message> <message> - <source>&Configuration:</source> - <translation>&Konfiguracja:</translation> - </message> - <message> - <source>&Name:</source> - <translation>&Nazwa:</translation> + <source>Message check failed. Do you want to proceed?</source> + <translation>Błąd sprawdzania opisu. Czy chcesz kontynuować?</translation> </message> +</context> +<context> + <name>Bazaar::Internal::CloneWizard</name> <message> - <source>Device type:</source> - <translation>Typ urządzenia:</translation> + <source>Clones a Bazaar branch and tries to load the contained project.</source> + <translation>Klonuje repozytorium Bazaar i próbuje załadować zawarty projekt.</translation> </message> <message> - <source>Authentication type:</source> - <translation>Typ autoryzacji:</translation> + <source>Bazaar Clone (Or Branch)</source> + <translation>Klonowanie Bazaar (albo gałęzi)</translation> </message> +</context> +<context> + <name>Bazaar::Internal::CloneWizardPage</name> <message> - <source>Password</source> - <translation>Hasło</translation> + <source>Location</source> + <translation>Położenie</translation> </message> <message> - <source>&Key</source> - <translation>&Klucz</translation> + <source>Specify repository URL, clone directory and path.</source> + <translation>Podaj URL repozytorium, katalogu klonu i ścieżkę do niego.</translation> </message> <message> - <source>&Host name:</source> - <translation>Nazwa &hosta:</translation> + <source>Clone URL:</source> + <translation>URL klonu:</translation> </message> +</context> +<context> + <name>Bazaar::Internal::CommitEditor</name> <message> - <source>IP or host name of the device</source> - <translation>IP lub nazwa hosta urządzenia</translation> + <source>Commit Editor</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>Bazaar::Internal::OptionsPageWidget</name> <message> - <source>&SSH port:</source> - <translation>Port &SSH:</translation> + <source>Bazaar Command</source> + <translation>Komenda Bazaar</translation> </message> +</context> +<context> + <name>CMakeProjectManager::Internal::CMakeManager</name> <message> - <source>Free ports:</source> - <translation>Wolne porty:</translation> + <source>Run CMake</source> + <translation>Uruchom CMake</translation> </message> +</context> +<context> + <name>Core::Internal::ExternalToolModel</name> <message> - <source>You can enter lists and ranges like this: 1024,1026-1028,1030</source> - <translation>Można wprowadzać listy i zakresy, np.: 1024,1026-1028,1030</translation> + <source>Uncategorized</source> + <translation>Nieskategoryzowane</translation> </message> <message> - <source>TextLabel</source> - <translation>Etykieta</translation> + <source>Tools that will appear directly under the External Tools menu.</source> + <translation>Narzędzie, które pojawi się bezpośrednio w menu Narzędzia Zewnętrzne.</translation> </message> <message> - <source>Connection time&out:</source> - <translation>Czas &oczekiwania na połączenie:</translation> + <source>New Category</source> + <translation>Nowa kategoria</translation> </message> <message> - <source>s</source> - <translation>s</translation> + <source>New Tool</source> + <translation>Nowe narzędzie</translation> </message> <message> - <source>&Username:</source> - <translation>Na&zwa użytkownika:</translation> + <source>This tool prints a line of useful text</source> + <translation>To narzędzie wyświetla linię z przydatnym tekstem</translation> </message> <message> - <source>&Password:</source> - <translation>H&asło:</translation> + <source>/c echo Useful text</source> + <translation>/c echo Przydatny tekst</translation> </message> <message> - <source>Show password</source> - <translation>Pokaż hasło</translation> + <source>Useful text</source> + <translation>Przydatny tekst</translation> </message> +</context> +<context> + <name>Core::Internal::ExternalToolRunner</name> <message> - <source>Private key file:</source> - <translation>Plik z kluczem prywatnym:</translation> + <source>Could not find executable for '%1' (expanded '%2') +</source> + <translation>Nie można znaleźć pliku wykonywalnego dla "%1" (w rozwinięciu "%2") +</translation> </message> <message> - <source>Set as Default</source> - <translation>Ustaw jako domyślny</translation> + <source>Starting external tool '%1' %2</source> + <translation>Uruchamianie narzędzia zewnętrznego "%1" %2</translation> </message> <message> - <source>OS type:</source> - <translation>Typ systemu:</translation> + <source>'%1' finished</source> + <translation>Zakończono "%1"</translation> </message> +</context> +<context> + <name>Core::ExternalToolManager</name> <message> - <source>&Add</source> - <translation>&Dodaj</translation> + <source>Configure...</source> + <translation>Konfiguruj...</translation> </message> <message> - <source>&Remove</source> - <translation>&Usuń</translation> + <source>&External</source> + <translation>Z&ewnętrzne</translation> </message> <message> - <source>Click here to check whether this device is properly set up to run Maemo projects.</source> - <translation type="obsolete">Kliknij tutaj aby sprawdzić czy to urządzenie jest poprawnie skonfigurowane do uruchamiania projektów Maemo.</translation> + <source>Error while parsing external tool %1: %2</source> + <translation>Błąd podczas parsowania narzędzia zewnętrznego %1: %2</translation> </message> <message> - <source>&Test</source> - <translation type="obsolete">Prze&testuj</translation> + <source>Error: External tool in %1 has duplicate id</source> + <translation>Błąd: narzędzie zewnętrzne w %1 ma powielony identyfikator</translation> </message> +</context> +<context> + <name>Core::Internal::MimeTypeMagicDialog</name> <message> - <source>Click here if you do not have an SSH key yet.</source> - <translation>Kliknij tutaj jeśli nie masz jeszcze klucza SSH.</translation> + <source>Magic Header</source> + <translation>Magiczny nagłówek</translation> </message> <message> - <source>&Generate SSH Key ...</source> - <translation type="obsolete">&Generuj klucz SSH...</translation> + <source>Error</source> + <translation>Błąd</translation> </message> <message> - <source>This will enable you to log into the device without a password.</source> - <translation>To umożliwi logowanie do urządzenia bez podawania hasła.</translation> + <source>Not a valid byte pattern.</source> + <translation>Niepoprawny wzór bajtowy.</translation> </message> +</context> +<context> + <name>Core::Internal::MimeTypeSettingsModel</name> <message> - <source>&Deploy Public Key ...</source> - <translation type="obsolete">&Instaluj klucz publiczny...</translation> + <source>MIME Type</source> + <translation>Typ MIME</translation> </message> <message> - <source>Click here to see which processes are running on the device.</source> - <translation type="obsolete">Kliknij tutaj aby zobaczyć, które procesy są uruchomione na urządzeniu.</translation> + <source>Handler</source> + <translation>Jednostka obsługująca</translation> </message> <message> - <source>Remote Processes ...</source> - <translation type="obsolete">Zdalne procesy...</translation> + <source>Undefined</source> + <translation>Niezdefiniowana</translation> </message> <message> - <source>Set As Default</source> - <translation>Ustaw jako domyślną</translation> + <source>Invalid MIME Type</source> + <translation>Niepoprawny typ MIME</translation> </message> <message> - <source>&Generate SSH Key...</source> - <translation>&Generuj klucz SSH...</translation> + <source>Conflicting pattern(s) will be discarded.</source> + <translation>Kolidujące wzory zostaną usunięte.</translation> </message> - <message> - <source>&Deploy Public Key...</source> - <translation>&Instaluj klucz publiczny...</translation> + <message numerus="yes"> + <source>%n pattern(s) already in use.</source> + <translation> + <numerusform>%n wzór w użyciu.</numerusform> + <numerusform>%n wzory w użyciu.</numerusform> + <numerusform>%n wzorów w użyciu.</numerusform> + </translation> </message> </context> <context> - <name>MaemoDeviceConfigWizardKeyCreationPage</name> + <name>Core::Internal::MimeTypeSettingsPrivate</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Error</source> + <translation>Błąd</translation> </message> <message> - <source>Qt Creator will now generate a new pair of keys. Please enter the directory to save the key files in and then press "Create Keys".</source> - <translation>Teraz zostanie wygenerowana nowa para kluczy. Wprowadź katalog, w którym zapisać pliki z kluczami, i naciśnij "Utwórz klucze".</translation> + <source>No MIME type selected.</source> + <translation>Nie zaznaczono żadnego typu MIME.</translation> </message> <message> - <source>Directory:</source> - <translation>Katalog:</translation> + <source>No magic header selected.</source> + <translation>Nie zaznaczono żadnego magicznego nagłówka.</translation> </message> <message> - <source>Create Keys</source> - <translation>Utwórz klucze</translation> + <source>MIME Types</source> + <translation>Typy MIME</translation> </message> -</context> -<context> - <name>MaemoDeviceConfigWizardKeyDeploymentPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Changes will take effect in the next time you start Qt Creator.</source> + <translation>Zmiany zostaną zastosowana przy ponownym uruchomieniu Qt Creatora.</translation> </message> +</context> +<context> + <name>Core::Internal::MimeTypeSettings</name> <message> - <source>Device address:</source> - <translation>Adres urządzenia:</translation> + <source>MIME Types</source> + <translation>Typy MIME</translation> </message> +</context> +<context> + <name>Core::Internal::ToolSettings</name> <message> - <source>Password:</source> - <translation>Hasło:</translation> + <source>External Tools</source> + <translation>Narzędzia zewnętrzne</translation> </message> +</context> +<context> + <name>Core::VcsManager</name> <message> - <source>Deploy Key</source> - <translation>Zainstaluj klucz</translation> + <source>Version Control</source> + <translation>System kontroli wersji</translation> </message> <message> - <source>To deploy the public key to your device, please execute the following steps: -<ul> -<li>Connect the device to your computer (unless you plan to connect via WLAN).</li> -<li>On the device, start the "%%%maddev%%%" application.</li> -<li>In "%%%maddev%%%", configure the device's IP address to the one shown below (or edit the field below to match the address you have configured).</li> -<li>In "%%%maddev%%%", press "Developer Password" and enter it in the field below.</li> -<li>Click "Deploy Key"</li> -</source> - <translation>Wykonaj poniższe kroki aby zainstalować klucz publiczny na urządzeniu: -<ul> -<li>Podłącz urządzenie do komputera (chyba że chcesz podłączyć się poprzez WLAN).</li> -<li>Uruchom aplikację "%%%maddev%%%" na urządzeniu.</li> -<li>W aplikacji "%%%maddev%%%" ustaw adres IP urządzenia na jeden z widocznych poniżej (lub zmodyfikuj poniższe pole aby dopasować go do adresu uprzednio skonfigurowanego).</li> -<li>W aplikacji "%%%maddev%%%" naciśnij "Developer Password" i wprowadź je do poniższego pola.</li> -<li>Naciśnij "Zainstaluj klucz".</li> -</translation> + <source>Would you like to remove this file from the version control system (%1)? +Note: This might remove the local file.</source> + <translation>Czy chcesz usunąć ten plik z systemu kontroli wersji (%1)? +Uwaga: może to spowodować usunięcie lokalnego pliku.</translation> </message> </context> <context> - <name>MaemoDeviceConfigWizardCheckPreviousKeySetupPage</name> + <name>CppEditor::Internal::CPPEditorWidget</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Sort Alphabetically</source> + <translation>Posortuj alfabetycznie</translation> </message> <message> - <source>Has a passwordless (key-based) login already been set up for this device?</source> - <translation>Czy bezhasłowe logowanie (bazujące na kluczu publicznym) zostało już ustawione na urządzeniu?</translation> + <source>&Refactor</source> + <translation>&Refaktoryzacja</translation> </message> <message> - <source>Yes, and the private key is located at</source> - <translation>Tak i klucz prywatny zlokalizowany jest w</translation> + <source>Unused variable</source> + <translation>Nieużywana zmienna</translation> </message> +</context> +<context> + <name>CppEditor::Internal::InsertQtPropertyMembers</name> <message> - <source>No</source> - <translation>Nie</translation> + <source>Generate missing Q_PROPERTY members...</source> + <translation>Wygeneruj brakujące składniki Q_PROPERTY...</translation> </message> </context> <context> - <name>MaemoDeviceConfigWizardReuseKeysCheckPage</name> + <name>CppEditor::Internal::CppOutlineTreeView</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Expand All</source> + <translation>Rozwiń wszystko</translation> </message> <message> - <source>Do wou want to re-use an existing pair of keys or should a new one be created?</source> - <translation>Chcesz wykorzystać istniejącą już parę kluczy czy stworzyć nową?</translation> + <source>Collapse All</source> + <translation>Zwiń wszystko</translation> </message> +</context> +<context> + <name>CppEditor::Internal::CppSnippetProvider</name> <message> - <source>Re-use existing keys</source> - <translation>Użyj istniejących kluczy</translation> - </message> - <message> - <source>File containing the public key:</source> - <translation>Plik zawierający klucz publiczny:</translation> - </message> - <message> - <source>File containing the private key:</source> - <translation>Plik zawierający klucz prywatny:</translation> + <source>C++</source> + <translation>C++</translation> </message> +</context> +<context> + <name>Debugger::Internal::MultiBreakPointsDialog</name> <message> - <source>Create new keys</source> - <translation>Utwórz nowe klucze</translation> + <source>Edit Breakpoint Properties</source> + <translation>Zmodyfikuj właściwości pułapki</translation> </message> </context> <context> - <name>MaemoDeviceConfigWizardStartPage</name> + <name>Debugger::Cdb::CdbBreakEventWidget</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>C++ exception</source> + <translation>Wyjątek C++</translation> </message> <message> - <source>The name to identify this configuration:</source> - <translation>Nazwa identyfikująca tę konfigurację:</translation> + <source>Thread creation</source> + <translation>Utworzenie wątku</translation> </message> <message> - <source>The system running on the device:</source> - <translation>System na urządzeniu:</translation> + <source>Thread exit</source> + <translation>Zakończenie wątku</translation> </message> <message> - <source>Maemo 5 (Fremantle)</source> - <translation>Maemo 5 (Fremantle)</translation> + <source>Load module:</source> + <translation>Załaduj moduł:</translation> </message> <message> - <source>Maemo 6 (Harmattan)</source> - <translation>Maemo 6 (Harmattan)</translation> + <source>Unload module:</source> + <translation>Wyładuj moduł:</translation> </message> <message> - <source>Meego</source> - <translation>Meego</translation> + <source>Output:</source> + <translation>Komunikaty:</translation> </message> +</context> +<context> + <name>Debugger::Internal::StartRemoteCdbDialog</name> <message> - <source>The kind of device:</source> - <translation>Rodzaj urządzenia:</translation> + <source><html><body><p>The remote CDB needs to load the matching Qt Creator CDB extension (<code>%1</code> or <code>%2</code>, respectively).</p><p>Copy it onto the remote machine and set the environment variable <code>%3</code> to point to its folder.</p><p>Launch the remote CDB as <code>%4 &lt;executable&gt;</code> to use TCP/IP as communication protocol.</p><p>Enter the connection parameters as:</p><pre>%5</pre></body></html></source> + <translation><html><body><p>Zdalny CDB musi załadować odpowiednie rozszerzenie Qt Creator (<code>%1</code> albo odpowiednio <code>%2</code>).</p><p>Skopiuj to na maszynę zdalną i ustaw zmienną środowiskową <code>%3</code> wskazując na jego katalog.</p><p>Uruchom zdalny CDB jako <code>%4 &lt;plik wykonywalny&gt;</code> aby użyć protokołu TCP/IP.</p><p>Podaj parametry połączenia jako:</p><pre>%5</pre></body></html></translation> </message> <message> - <source>Emulator (Qemu)</source> - <translation>Emulator (Qemu)</translation> + <source>Start a CDB Remote Session</source> + <translation>Uruchom zdalną sesję CDB</translation> </message> <message> - <source>Hardware Device</source> - <translation>Urządzenie sprzętowe</translation> + <source>&Connection:</source> + <translation>&Połączenie:</translation> </message> +</context> +<context> + <name>Debugger::Internal::DebuggerMainWindowPrivate</name> <message> - <source>The device's host name or IP address:</source> - <translation>Nazwa hosta lub adres IP urządzenia:</translation> + <source>Memory...</source> + <translation>Pamięć...</translation> </message> <message> - <source>Generic Linux</source> - <translation>Linuksowy</translation> + <source>Debugger Toolbar</source> + <translation>Pasek narzędzi debuggera</translation> </message> </context> <context> - <name>MaemoPublishingWizardPageFremantleFree</name> + <name>Debugger::Internal::DebuggerPluginPrivate</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>No function selected.</source> + <translation>Nie wybrano żadnej funkcji.</translation> </message> <message> - <source>Choose build configuration:</source> - <translation>Wybierz konfigurację budowania:</translation> + <source>Running to function "%1".</source> + <translation>Uruchomiono do osiągnięcia funkcji "%1".</translation> </message> <message> - <source>Only create source package, do not upload</source> - <translation>Utwórz tylko pakiety źródłowe, nie przesyłaj ich</translation> + <source>Process %1</source> + <translation>Proces %1</translation> </message> -</context> -<context> - <name>MaemoPublishingFileSelectionDialog</name> <message> - <source>Choose Package Contents</source> - <translation>Wybierz zawartość pakietu</translation> + <source>Attaching to local process %1.</source> + <translation>Dołączanie do procesu lokalnego %1.</translation> </message> <message> - <source><b>Please select the files you want to be included in the source tarball.</b> -</source> - <translation><b> Wybierz pliki, które chcesz umieścić w archiwum źródłowym.</b> -</translation> + <source>Remote: "%1"</source> + <translation>Zdalny: "%1"</translation> </message> -</context> -<context> - <name>MaemoPublishingResultPageFremantleFree</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Attaching to remote server %1.</source> + <translation>Dołączanie do zdalnego serwera %1.</translation> </message> <message> - <source>Progress</source> - <translation>Postęp</translation> + <source>Executable file "%1"</source> + <translation>Plik wykonywalny: %1</translation> </message> -</context> -<context> - <name>MaemoPublishingUploadSettingsPageFremantleFree</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Debugging file %1.</source> + <translation>Debugowanie pliku %1.</translation> </message> <message> - <source>Upload Settings</source> - <translation>Ustawienia przesyłania</translation> + <source>Core file "%1"</source> + <translation>Plik zrzutu "%1"</translation> </message> <message> - <source>Garage account name:</source> - <translation>Nazwa konta Garage:</translation> + <source>Attaching to core file %1.</source> + <translation>Dołączanie do pliku zrzutu %1.</translation> </message> <message> - <source><a href="https://garage.maemo.org/account/register.php">Get an account</a></source> - <translation><a href="https://garage.maemo.org/account/register.php">Utwórz konto</a></translation> + <source>Crashed process %1</source> + <translation>Proces %1 zakończony błędem</translation> </message> <message> - <source><a href="https://garage.maemo.org/extras-assistant/index.php">Request upload rights</a></source> - <translation><a href="https://garage.maemo.org/extras-assistant/index.php">Zażądaj praw do przesyłania</a></translation> + <source>Attaching to crashed process %1</source> + <translation>Dołączanie do procesu zakończonego błędem %1</translation> </message> <message> - <source>Private key file:</source> - <translation>Plik z kluczem prywatnym:</translation> + <source>Warning</source> + <translation>Ostrzeżenie</translation> </message> <message> - <source>Server address:</source> - <translation>Adres serwera:</translation> + <source>0x%1 hit</source> + <extracomment>Message tracepoint: Address hit.</extracomment> + <translation>0x%1 został wyzwolony</translation> </message> <message> - <source>Target directory on server:</source> - <translation>Katalog produktu docelowego na serwerze:</translation> + <source>%1:%2 %3() hit</source> + <extracomment>Message tracepoint: %1 file, %2 line %3 function hit.</extracomment> + <translation>%1:%2 %3() został wyzwolony</translation> </message> -</context> -<context> - <name>MaemoQemuSettingsWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Add Message Tracepoint</source> + <translation type="unfinished"></translation> </message> <message> - <source>OpenGL Mode</source> - <translation>Tryb OpenGL</translation> + <source>Message:</source> + <translation>Komunikat:</translation> </message> <message> - <source>&Hardware acceleration</source> - <translation>Akceleracja &sprzętowa</translation> + <source>Cannot attach to process with PID 0</source> + <translation>Nie można dołączyć do procesu z PID 0</translation> </message> <message> - <source>&Software rendering</source> - <translation>&Renderowanie software'owe</translation> + <source>Debugger attached to %1</source> + <translation>Debugger dołączono do %1</translation> </message> <message> - <source>&Auto-detect</source> - <translation>&Automatycznie wykrywane</translation> + <source>Remove Breakpoint %1</source> + <translation>Usuń pułapkę %1</translation> </message> -</context> -<context> - <name>MaemoRemoteProcessesDialog</name> <message> - <source>List of Remote Processes</source> - <translation>Lista zdalnych procesów</translation> + <source>Disable Breakpoint %1</source> + <translation>Wyłącz pułapkę %1</translation> </message> <message> - <source>&Filter by process name:</source> - <translation>&Filtruj po nazwie procesu:</translation> + <source>Enable Breakpoint %1</source> + <translation>Włącz pułapkę %1</translation> </message> <message> - <source>&Update List</source> - <translation>&Uaktualnij listę</translation> + <source>Edit Breakpoint %1...</source> + <translation>Zmodyfikuj pułapkę %1...</translation> </message> <message> - <source>&Kill Selected Process</source> - <translation>Za&kończ wybrany proces</translation> + <source>Set Breakpoint at 0x%1</source> + <translation>Ustaw pułapkę w 0x%1</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::RvctToolChainConfigWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Set Breakpoint at line %1</source> + <translation>Ustaw pułapkę w linii %1</translation> </message> <message> - <source>ARM &version:</source> - <translation>&Wersja ARM:</translation> + <source>Set Message Tracepoint at 0x%1...</source> + <translation type="unfinished"></translation> </message> <message> - <source>Version 5</source> - <translation>Wersja 5</translation> + <source>Set Message Tracepoint at line %1...</source> + <translation type="unfinished"></translation> </message> <message> - <source>Version 6</source> - <translation>Wersja 6</translation> + <source>Save Debugger Log</source> + <translation>Zachowaj log debuggera</translation> </message> <message> - <source>&Compiler path:</source> - <translation>Ścieżka do &kompilatora:</translation> + <source>User commands are not accepted in the current state.</source> + <translation>Komendy użytkownika nie są akceptowalne w bieżącym stanie.</translation> </message> <message> - <source>Environment Variables</source> - <translation>Zmienne środowiskowe</translation> + <source>Open Qt4 Options</source> + <translation>Otwórz ustawienia Qt4</translation> </message> -</context> -<context> - <name>S60CertificateDetailsDialog</name> <message> - <source>Details of Certificate</source> - <translation>Szczegóły certyfikatu</translation> + <source>Turn off Helper Usage</source> + <translation>Wyłącz używanie asystenta</translation> </message> -</context> -<context> - <name>S60PublishingBuildSettingsPageOvi</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Continue Anyway</source> + <translation>Kontynuuj</translation> </message> <message> - <source>Choose a build configuration:</source> - <translation>Wybierz konfigurację budowania:</translation> + <source>Debugging Helper Missing</source> + <translation>Brak asystenta debuggera</translation> </message> <message> - <source>Only Qt versions above 4.6.3 are made available in this wizard. -Previous Qt versions have limitations in building suitable SIS files.</source> - <translation>W tym kreatorze dostępne są wersje Qt powyżej 4.6.3. -Poprzednie wersje mają ograniczenia w budowaniu odpowiednich plików SIS.</translation> + <source>The debugger could not load the debugging helper library.</source> + <translation>Debugger nie mógł załadować biblioteki asystenta debuggera.</translation> </message> <message> - <source>Choose a tool chain:</source> - <translation>Wybierz zestaw narzędzi:</translation> + <source>The debugging helper is used to nicely format the values of some Qt and Standard Library data types. It must be compiled for each used Qt version separately. On the Qt4 options page, select a Qt installation and click Rebuild.</source> + <translation>Asystent debuggera jest używany do ładnego formatowania niektórych typów Qt i Biblioteki Standardowej. Musi być skompilowany oddzielnie dla każdej używanej wersji Qt. Można to zrobić z poziomu strony ustawień Qt poprzez wybranie instalacji Qt i kliknięcie na "Przebuduj" w linijce "Asystent debuggera".</translation> </message> -</context> -<context> - <name>S60PublishingResultsPageOvi</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Starting debugger '%1' for ABI '%2'...</source> + <translation>Uruchamianie debuggera "%1" dla ABI "%2"...</translation> </message> -</context> -<context> - <name>S60PublishingSisSettingsPageOvi</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Debugger finished.</source> + <translation>Debugger zakończył pracę.</translation> </message> <message> - <source>Global vendor name:</source> - <translation>Globalna nazwa dostawcy:</translation> + <source>QML Script Console</source> + <translation>Konsola skryptów QML</translation> </message> <message> - <source>Qt version used in builds:</source> - <translation>Wersja Qt użyta do budowania:</translation> + <source>Continue</source> + <translation>Kontynuuj</translation> </message> <message> - <source>Current Qt Version</source> - <translation>Bieżąca wersja Qt</translation> + <source>Exit Debugger</source> + <translation>Zakończ debugger</translation> </message> <message> - <source>Application UID:</source> - <translation>UID aplikacji:</translation> + <source>Interrupt</source> + <translation>Przerwij</translation> </message> <message> - <source>Current UID3</source> - <translation>Bieżący UID3</translation> + <source>Debugger is Busy</source> + <translation>Debugger jest zajęty</translation> </message> <message> - <source>Capabilities:</source> - <translation>Capabilities:</translation> + <source>Abort Debugging</source> + <translation>Przerwij debugowanie</translation> </message> <message> - <source>Current set of capabilities</source> - <translation>Bieżący zestaw "capabilities"</translation> - </message> + <source>Aborts debugging and resets the debugger to the initial state.</source> + <translation>Przerywa debugowanie i przywraca debugger do stanu początkowego.</translation> + </message> <message> - <source>Current Global Vendor Name</source> - <translation>Bieżąca globalna nazwa dostawcy</translation> + <source>Step Over</source> + <translation>Przeskocz</translation> </message> <message> - <source>Localised vendor names:</source> - <translation>Przetłumaczone nazwy dostawców:</translation> + <source>Step Into</source> + <translation>Wskocz do wnętrza</translation> </message> <message> - <source>Localised Vendor Names</source> - <translation>Przetłumaczone nazwy dostawców</translation> + <source>Step Out</source> + <translation>Wyskocz na zewnątrz</translation> </message> <message> - <source>Display name:</source> - <translation type="unfinished"></translation> + <source>Run to Line</source> + <translation>Uruchom do linii</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::WinscwToolChainConfigWidget</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>Run to Selected Function</source> + <translation>Uruchom do zaznaczonej funkcji</translation> </message> <message> - <source>Compiler path:</source> - <translation>Ścieżka do kompilatora:</translation> + <source>Immediately Return From Inner Function</source> + <translation>Powróć natychmiast z wewnętrznej funkcji</translation> </message> <message> - <source>System include path:</source> - <translation>Ścieżka do nagłówków systemowych:</translation> + <source>Jump to Line</source> + <translation>Skocz do linii</translation> </message> <message> - <source>System library path:</source> - <translation>Ścieżka do bibliotek systemowych:</translation> + <source>Toggle Breakpoint</source> + <translation>Przełącz ustawienie pułapki</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::QtVersionInfo</name> <message> - <source>Version name:</source> - <translation type="obsolete">Nazwa wersji:</translation> + <source>Add to Watch Window</source> + <translation>Dodaj do okna obserwowanych</translation> </message> <message> - <source>qmake location:</source> - <translation type="obsolete">Położenie qmake:</translation> + <source>Reverse Direction</source> + <translation>Odwrotny kierunek</translation> </message> <message> - <source>S60 SDK:</source> - <translation type="obsolete">S60 SDK:</translation> + <source>Move to Called Frame</source> + <translation>Przenieś do wywołanej ramki</translation> </message> <message> - <source>SBS v2 directory:</source> - <translation type="obsolete">Katalog SBS v2:</translation> + <source>Move to Calling Frame</source> + <translation>Przenieś do wołającej ramki</translation> </message> -</context> -<context> - <name>Html5AppWizardSourcesPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Error evaluating command line arguments: %1</source> + <translation>Błąd podczas przetwarzania argumentów komendy: %1</translation> </message> <message> - <source>Main HTML File</source> - <translation>Główny plik HTML</translation> + <source>Start Debugging</source> + <translation>Rozpocznij debugowanie</translation> </message> <message> - <source>Generate an index.html file</source> - <translation>Wygeneruj plik index.html</translation> + <source>Start and Debug External Application...</source> + <translation>Uruchom i zdebuguj zewnętrzną aplikację...</translation> </message> <message> - <source>Import an existing .html file</source> - <translation>Zaimportuj istniejący plik .html</translation> + <source>Start and Debug External Application with External Engine...</source> + <translation>Uruchom i zdebuguj zewnętrzną aplikację przy pomocy zewnętrznego silnika...</translation> </message> <message> - <source>Load a URL</source> - <translation>Załaduj URL</translation> + <source>Attach to Running External Application...</source> + <translation>Dołącz do uruchomionej zewnętrznej aplikacji...</translation> </message> <message> - <source>http://</source> - <translation>http://</translation> + <source>Attach to Core...</source> + <translation>Dołącz do zrzutu...</translation> </message> <message> - <source>Note: Unless you chose to load a URL, all files and directories that reside in the same directory as the main HTML file are deployed. You can modify the contents of the directory any time before deploying.</source> - <translation>Uwaga: wszystkie pliki i katalogi, które leżą w tym samym katalogu co główny plik HTML, zostaną zainstalowane, chyba że wybrałeś załadowanie URL. Możesz zmodyfikować zawartość katalogu przed zainstalowaniem.</translation> + <source>Start and Attach to Remote Application...</source> + <translation>Uruchom i dołącz do zdalnej aplikacji...</translation> </message> <message> - <source>Touch optimized navigation</source> - <translation>Nawigacja zoptymalizowana pod kątem urządzeń dotykowych</translation> + <source>Attach to Remote CDB Session...</source> + <translation>Dołącz do zdalnej sesji CDB...</translation> </message> <message> - <source>Enable touch optimized navigation</source> - <translation>Włącz nawigację zoptymalizowaną pod kątem urządzeń dotykowych</translation> + <source>Detach Debugger</source> + <translation>Odłącz debugger</translation> </message> <message> - <source>Touch optimized navigation will make the HTML page flickable and enlarge the area of touch sensitive elements. If you use a JavaScript framework which optimizes the touch interaction, leave the checkbox unchecked.</source> - <translation type="unfinished">Nawigacja zoptymalizowana pod kątem urządzeń dotykowych spowoduje </translation> + <source>Interrupt Debugger</source> + <translation>Przerwij debugger</translation> </message> -</context> -<context> - <name>MobileAppWizardGenericOptionsPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Stop Debugger</source> + <translation>Zatrzymaj debugger</translation> </message> <message> - <source>Orientation behavior:</source> - <translation>Zarządzanie orientacją:</translation> + <source>Reset Debugger</source> + <translation>Zresetuj debugger</translation> </message> -</context> -<context> - <name>MobileAppWizardMaemoOptionsPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Threads:</source> + <translation>Wątki:</translation> </message> <message> - <source>Application icon (64x64):</source> - <translation type="obsolete">Ikona aplikacji (64x64):</translation> + <source>Symbol</source> + <translation>Symbol</translation> </message> <message> - <source>Application icon (%%w%%x%%h%%):</source> - <translation>Ikona aplikacji (%%w%%x%%h%%):</translation> + <source>Address</source> + <translation>Adres</translation> </message> -</context> -<context> - <name>MobileAppWizardSymbianOptionsPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Code</source> + <translation>Kod</translation> </message> <message> - <source>Application icon (.svg):</source> - <translation>Ikona aplikacji (.svg):</translation> + <source>Section</source> + <translation>Sekcja</translation> </message> <message> - <source>Target UID3:</source> - <translation>UID3 produktu:</translation> + <source>Name</source> + <translation>Nazwa</translation> </message> <message> - <source>Enable network access</source> - <translation>Włącz dostęp sieciowy</translation> + <source>Symbols in "%1"</source> + <translation>Symbole w "%1"</translation> </message> </context> <context> - <name>BehaviorSettingsPage</name> + <name>DebuggerRunControl</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Debug</source> + <translation>Debug</translation> + </message> + <message> + <source>Debugger</source> + <translation>Debugger</translation> + </message> + <message> + <source>Unable to create a debugger engine of the type '%1'</source> + <translation>Nie można utworzyć silnika debuggera typu "%1"</translation> </message> </context> <context> - <name>BehaviorSettingsWidget</name> + <name>Debugger::Internal::DebuggerSourcePathMappingWidget</name> <message> - <source>Tabs and Indentation</source> - <translation type="obsolete">Tabulatory i wcięcia</translation> + <source><new source></source> + <translation><nowe źródło></translation> </message> <message> - <source>Insert &spaces instead of tabs</source> - <translation type="obsolete">Wstawiaj &spacje zamiast tabulatorów</translation> + <source><new target></source> + <translation><nowy produkt docelowy></translation> </message> <message> - <source>Ta&b size:</source> - <translation type="obsolete">Rozmiar ta&bulatorów:</translation> + <source>Source path</source> + <translation>Ścieżka do źródła</translation> </message> <message> - <source>Automatically determine based on the nearest indented line (previous line preferred over next line)</source> - <translation type="obsolete">Określa automatycznie wzorując się na najbliższej wciętej linii (poprzednia linia preferowana nad następną)</translation> + <source>Target path</source> + <translation>Ścieżka do produktu docelowego</translation> </message> <message> - <source>Based on the surrounding lines</source> - <translation type="obsolete">Wzorując się na sąsiednich liniach</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> <message> - <source>&Indent size:</source> - <translation type="obsolete">Rozmiar wc&ięć:</translation> + <source>Add Qt sources...</source> + <translation>Dodaj źródła Qt...</translation> </message> <message> - <source>Enable automatic &indentation</source> - <translation type="obsolete">Włącz automatyczne wc&ięcia</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>Backspace will go back one indentation level instead of one space.</source> - <translation type="obsolete">Klawisz "Backspace" skasuje spacje aż do poprzedniego wcięcia zamiast jednej spacji.</translation> + <source>Source Paths Mapping</source> + <translation>Mapowanie ścieżek źródłowych</translation> </message> <message> - <source>&Backspace follows indentation</source> - <translation type="obsolete">Klawisz "&Backspace" podąża za wcięciami</translation> + <source><html><head/><body><p>Mappings of source file folders to be used in the debugger can be entered here.</p><p>This is useful when using a copy of the source tree at a location different from the one at which the modules where built, for example, while doing remote debugging.</body></html></source> + <translation><html><head/><body><p>Tu można podać mapowanie katalogów plików źródłowych użytych w debuggerze.</p><p>To jest przydatne podczas używania kopii drzewa źródeł z położenia innego niż to, w którym moduły były zbudowane, np. podczas zdalnego debugowania.</body></html></translation> </message> <message> - <source>Block indentation style:</source> - <translation type="obsolete">Styl wcięć blokowych:</translation> + <source>Add a mapping for Qt's source folders when using an unpatched version of Qt.</source> + <translation>Dodaj mapowanie dla katalogów źródeł Qt podczas używania niezałatanej wersji Qt.</translation> </message> <message> - <source><html><head/><body> -Controls the indentation style of curly brace blocks. - -<ul> -<li>Exclude Braces: The braces are not indented. -<pre> -void foo() -{ - if (a) - { - bar(); - } -} -</pre> -</li> - -<li>Include Braces: The braces are indented. The contents of the block are on the same level as the braces. -<pre> -void foo() - { - if (a) - { - bar(); - } - } -</pre> -</li> - -<li>GNU Style: Indent the braces for blocks in statements. The contents are indented twice. -<pre> -void foo() -{ - if (a) - { - bar(); - } -} -</pre> -</li> -</ul></body></html></source> - <translation type="obsolete"><html><head/><body> -Steruje stylem wcięć bloków ograniczonych nawiasami klamrowymi. - -<ul> -<li>Nie uwzględniaj nawiasów: Nawiasy nie są wcięte. -<pre> -void foo() -{ - if (a) - { - bar(); - } -} -</pre> -</li> - -<li>Uwzględniaj nawiasy: Nawiasy są wcięte. Zawartość bloku jest na tym samym poziomie co nawiasy. -<pre> -void foo() - { - if (a) - { - bar(); - } - } -</pre> -</li> - -<li>Styl GNU: Nawiasy są wcięte dla bloków w wyrażeniach. Zawartość jest wcięta dwukrotnie. -<pre> -void foo() -{ - if (a) - { - bar(); - } -} -</pre> -</li> -</ul></body></html></translation> + <source>The source path contained in the debug information of the executable as reported by the debugger</source> + <translation>Ścieżka źródłowa zawarta w informacji debugowej pliku wykonywalnego zgłoszona przez debugger</translation> </message> <message> - <source>Exclude Braces</source> - <translation type="obsolete">Nie uwzględniaj nawiasów</translation> + <source>&Source path:</source> + <translation>Ś&cieżka do źródła:</translation> </message> <message> - <source>Include Braces</source> - <translation type="obsolete">Uwzględniaj nawiasy</translation> + <source>The actual location of the source tree on the local machine</source> + <translation>Bieżące położenie drzewa źródeł na lokalnej maszynie</translation> </message> <message> - <source>GNU Style</source> - <translation type="obsolete">Styl GNU</translation> + <source>&Target path:</source> + <translation>Ścieżka do produktu &docelowego:</translation> </message> <message> - <source>Tab key performs auto-indent:</source> - <translation type="obsolete">Klawisz "Tab" wykonuje automatyczne wcięcia:</translation> + <source>Qt Sources</source> + <translation>Źródła Qt</translation> </message> +</context> +<context> + <name>Debugger::Internal::DebuggerToolChainComboBox</name> <message> - <source>Never</source> - <translation type="obsolete">Nigdy</translation> + <source>%1 (%2)</source> + <translation>%1 (%2)</translation> </message> <message> - <source>Always</source> - <translation type="obsolete">Zawsze</translation> + <source><html><head/><body><table><tr><td>ABI:</td><td><i>%1</i></td></tr><tr><td>Debugger:</td><td>%2</td></tr></source> + <translation><html><head/><body><table><tr><td>ABI:</td><td><i>%1</i></td></tr><tr><td>Debugger:</td><td>%2</td></tr></translation> </message> +</context> +<context> + <name>DebuggerEngine</name> <message> - <source>In Leading White Space</source> - <translation type="obsolete">Jeśli poprzedzony jest spacją</translation> + <source>Debugging complex command lines is currently not supported on Windows.</source> + <translation>Debugowanie złożonych linii komend nie jest obecnie obsługiwane pod systemem Windows.</translation> </message> +</context> +<context> + <name>Debugger::Internal::CodaGdbAdapter</name> <message> - <source>Align continuation lines:</source> - <translation type="obsolete">Wyrównanie przeniesionych linii:</translation> + <source>Process started, PID: 0x%1, thread id: 0x%2, code segment: 0x%3, data segment: 0x%4.</source> + <translation>Proces uruchomiony, PID: 0x%1, identyfikator wątku: 0x%2, segment kodu: 0x%3, segment danych: 0x%4.</translation> </message> <message> - <source><html><head/><body> -Influences the indentation of continuation lines. - -<ul> -<li>Not At All: Do not align at all. Lines will only be indented to the current logical indentation depth. -<pre> -(tab)int i = foo(a, b -(tab)c, d); -</pre> -</li> - -<li>With Spaces: Always use spaces for alignment, regardless of the other indentation settings. -<pre> -(tab)int i = foo(a, b -(tab) c, d); -</pre> -</li> - -<li>With Regular Indent: Use tabs and/or spaces for alignment, as configured above. -<pre> -(tab)int i = foo(a, b -(tab)(tab)(tab) c, d); -</pre> -</li> -</ul></body></html></source> - <translation type="obsolete"><html><head/><body> -Wpływa na wcięcia przeniesionych linii. - -<ul> -<li>Brak: Nie wyrównuje. Linie będą wyrównane tylko do bieżącej logicznej głębokości wcięcia. -<pre> -(tab)int i = foo(a, b -(tab)c, d); -</pre> -</li> - -<li>Ze spacjami: Zawsze używa spacji do wyrównywania, bez względu na inne ustawienia wcięć. -<pre> -(tab)int i = foo(a, b -(tab) c, d); -</pre> -</li> - -<li>Z regularnymi wcięciami: Używa tabulatorów albo spacji do wyrównywania, zależnie od konfiguracji powyżej. -<pre> -(tab)int i = foo(a, b -(tab)(tab)(tab) c, d); -</pre> -</li> -</ul></body></html></translation> - </message> - <message> - <source>Not At All</source> - <translation type="obsolete">Brak</translation> - </message> - <message> - <source>With Spaces</source> - <translation type="obsolete">Ze spacjami</translation> - </message> - <message> - <source>With Regular Indent</source> - <translation type="obsolete">Z regularnymi wcięciami</translation> - </message> - <message> - <source>Cleanup actions which are automatically performed right before the file is saved to disk.</source> - <translation>Akcje porządkujące, które zostaną automatycznie wykonane zanim plik zostanie zachowany na dysku.</translation> - </message> - <message> - <source>Cleanups Upon Saving</source> - <translation>Porządkowanie przed zapisem</translation> - </message> - <message> - <source>Removes trailing whitespace upon saving.</source> - <translation>Usuwa białe znaki na końcu linii przed zapisem.</translation> - </message> - <message> - <source>&Clean whitespace</source> - <translation>Wy&czyść białe znaki</translation> - </message> - <message> - <source>Clean whitespace in entire document instead of only for changed parts.</source> - <translation>Wyczyść białe znaki w całym dokumencie zamiast tylko w zmienionych częściach.</translation> - </message> - <message> - <source>In entire &document</source> - <translation>W całym &dokumencie</translation> - </message> - <message> - <source>Correct leading whitespace according to tab settings.</source> - <translation>Popraw białe znaki stosownie do ustawień tabulatorów.</translation> - </message> - <message> - <source>Clean indentation</source> - <translation>Wyczyść wcięcia</translation> - </message> - <message> - <source>&Ensure newline at end of file</source> - <translation>Wstawiaj znak now&ej linii na końcu pliku</translation> - </message> - <message> - <source>File Encodings</source> - <translation>Kodowania pliku</translation> - </message> - <message> - <source>Default encoding: </source> - <translation>Domyślne kodowanie: </translation> - </message> - <message> - <source>UTF-8 BOM:</source> - <translation>UTF-8 BOM:</translation> - </message> - <message> - <source><html><head/><body> -<p>How text editors should deal with UTF-8 Byte Order Marks. The options are:</p> -<ul ><li><i>Add If Encoding Is UTF-8:</i> always add a BOM when saving a file in UTF-8 encoding. Note that this will not work if the encoding is <i>System</i>, as Qt Creator does not know what it actually is.</li> -<li><i>Keep If Already Present: </i>save the file with a BOM if it already had one when it was loaded.</li> -<li><i>Always Delete:</i> never write an UTF-8 BOM, possibly deleting a pre-existing one.</li></ul> -<p>Note that UTF-8 BOMs are uncommon and treated incorrectly by some editors, so it usually makes little sense to add any.</p> -<p>This setting does <b>not</b> influence the use of UTF-16 and UTF-32 BOMs.</p></body></html></source> - <translation><html><head/><body> -<p>Sposób traktowania znacznika kolejności bajtów (BOM) UTF-8 przez edytory tekstowe. Opcje:</p> -<ul ><li><i>Dodawaj w przypadku kodowania UTF-8:</i> zawsze dodaje BOM w trakcie zachowywania pliku kodowanego UTF-8. Uwaga: to nie zadziała jeżeli kodowanie jest <i>systemowe</i>, ponieważ Qt Creator nie posiada informacji o nim.</li> -<li><i>Zachowuj jeśli już istnieje: </i></li>zachowuje plik z BOM jeśli go posiadał podczas ładowania</li> -<li><i>Zawsze usuwaj:</i> nigdy nie zapisuje UTF-8 BOM kasując poprzednie wystąpienia.</li></ul> -<p>Uwaga: UTF-8 BOMy występują rzadko i niektóre edytory traktują je za błędne, więc zwykle nie ma sensu ich dodawać.</p> -<p>To ustawienie <b>nie</b> nie wpływa na używanie BOMów UTF-16 i UTF-32.</p></body></html></translation> - </message> - <message> - <source>Add If Encoding Is UTF-8</source> - <translation>Dodawaj w przypadku kodowania UTF-8</translation> - </message> - <message> - <source>Keep If Already Present</source> - <translation>Zachowuj jeśli już istnieje</translation> - </message> - <message> - <source>Always Delete</source> - <translation>Zawsze usuwaj</translation> - </message> - <message> - <source>Mouse</source> - <translation>Mysz</translation> - </message> - <message> - <source>Enable &mouse navigation</source> - <translation>Włącz nawigację &myszy</translation> - </message> - <message> - <source>Enable scroll &wheel zooming</source> - <translation>Włącz powiększanie poprzez obracanie &kółkiem myszy (wraz z przyciśniętym CTRL)</translation> - </message> -</context> -<context> - <name>SnippetsSettingsPage</name> - <message> - <source>Form</source> - <translation>Formularz</translation> - </message> - <message> - <source>Group: </source> - <translation>Grupa: </translation> - </message> - <message> - <source>Add</source> - <translation>Dodaj</translation> - </message> - <message> - <source>Remove</source> - <translation>Usuń</translation> - </message> - <message> - <source>Revert Built-in</source> - <translation>Odwróć zmiany we wbudowanych</translation> - </message> - <message> - <source>Restore Removed Built-ins</source> - <translation>Przywróć usunięte wbudowane</translation> - </message> - <message> - <source>Reset All</source> - <translation>Przywróć wszystko</translation> - </message> -</context> -<context> - <name>ValgrindConfigWidget</name> - <message> - <source>Common Valgrind Options</source> - <translation type="obsolete">Główne opcje Valgrind</translation> - </message> - <message> - <source>Valgrind executable:</source> - <translation type="obsolete">Plik wykonywalny valgrind:</translation> - </message> -</context> -<context> - <name>AnchorButtons</name> - <message> - <source>Set top anchor</source> - <translation>Ustaw górną kotwicę</translation> - </message> - <message> - <source>Setting anchors in states is not supported.</source> - <translation>Ustawianie kotwic w stanach nie jest obsługiwane.</translation> - </message> - <message> - <source>Set bottom anchor</source> - <translation>Ustaw dolną kotwicę</translation> - </message> - <message> - <source>Set left anchor</source> - <translation>Ustaw lewą kotwicę</translation> - </message> - <message> - <source>Set right anchor</source> - <translation>Ustaw prawą kotwicę</translation> - </message> - <message> - <source>Fill to parent</source> - <translation>Wypełnij rodzica</translation> - </message> - <message> - <source>Set vertical anchor</source> - <translation>Ustaw pionową kotwicę</translation> - </message> - <message> - <source>Set horizontal anchor</source> - <translation>Ustaw poziomą kotwicę</translation> - </message> -</context> -<context> - <name>ColorGroupBox</name> - <message> - <source>Color editor</source> - <translation>Edytor kolorów</translation> - </message> -</context> -<context> - <name>ColorTypeButtons</name> - <message> - <source>Solid color</source> - <translation>Kolor jednolity</translation> - </message> - <message> - <source>Gradient</source> - <translation>Gradient</translation> - </message> - <message> - <source>Transparent</source> - <translation>Przezroczystość</translation> - </message> -</context> -<context> - <name>FlickableSpecifics</name> - <message> - <source>Content Size</source> - <translation type="obsolete">Rozmiar zawartości</translation> - </message> - <message> - <source>Interactive</source> - <translation type="obsolete">Interaktywny</translation> - </message> - <message> - <source>Max. Velocity</source> - <translation type="obsolete">Prędkość maks.</translation> - </message> - <message> - <source>Deceleration</source> - <translation type="obsolete">Opóźnienie</translation> - </message> -</context> -<context> - <name>QmlJS::TypeDescriptionReader</name> - <message> - <source>%1: %2</source> - <translation type="obsolete">%1: %2</translation> - </message> - <message> - <source>Errors while loading qmltypes from %1: -%2</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Warnings while loading qmltypes from %1: -%2</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Utils::AbstractProcess</name> - <message> - <source>Cannot retrieve debugging output.</source> - <translation type="obsolete">Nie można pobrać komunikatów debuggera.</translation> - </message> -</context> -<context> - <name>Utils::EnvironmentModel</name> - <message> - <source><UNSET></source> - <translation><SKASUJ></translation> - </message> - <message> - <source>Variable</source> - <translation>Zmienna</translation> - </message> - <message> - <source>Value</source> - <translation>Wartość</translation> - </message> - <message> - <source><VARIABLE></source> - <extracomment>Name when inserting a new variable</extracomment> - <translation><ZMIENNA></translation> - </message> - <message> - <source><VALUE></source> - <extracomment>Value when inserting a new variable</extracomment> - <translation><WARTOŚĆ></translation> - </message> -</context> -<context> - <name>Utils::IpAddressLineEdit</name> - <message> - <source>The IP address is not valid.</source> - <translation>Niepoprawny adres IP.</translation> - </message> -</context> -<context> - <name>Utils::QtcProcess</name> - <message> - <source>Error in command line.</source> - <translation>Błąd w linii komend.</translation> - </message> -</context> -<context> - <name>Utils::Internal::SftpChannelPrivate</name> - <message> - <source>Server could not start sftp subsystem.</source> - <translation>Serwer nie może uruchomić podsystemu sftp.</translation> - </message> - <message> - <source>Unexpected packet of type %1.</source> - <translation>Nieoczekiwany pakiet typu %1.</translation> - </message> - <message> - <source>Protocol version mismatch: Expected %1, got %2</source> - <translation>Niezgodność wersji protokołu: Oczekiwano %1 zamiast %2</translation> - </message> - <message> - <source>Unknown error.</source> - <translation>Nieznany błąd.</translation> - </message> - <message> - <source>Created remote directory '%1'.</source> - <translation>Utworzono zdalny katalog "%1".</translation> - </message> - <message> - <source>Remote directory '%1' already exists.</source> - <translation>Zdalny katalog "%1" już istnieje.</translation> - </message> - <message> - <source>Error creating directory '%1': %2</source> - <translation>Błąd tworzenia katalogu "%1": %2</translation> - </message> - <message> - <source>Could not open local file '%1': %2</source> - <translation>Nie można otworzyć lokalnego pliku "%1": %2</translation> - </message> - <message> - <source>Remote directory could not be opened for reading.</source> - <translation>Nie można otworzyć zdalnego katalogu do odczytu.</translation> - </message> - <message> - <source>Failed to list remote directory contents.</source> - <translation>Nie można uzyskać zawartości zdalnego katalogu.</translation> - </message> - <message> - <source>Failed to close remote directory.</source> - <translation>Nie można zamknąć zdalnego katalogu.</translation> - </message> - <message> - <source>Failed to open remote file for reading.</source> - <translation>Nie można otworzyć zdalnego pliku do odczytu.</translation> - </message> - <message> - <source>Failed retrieve information on the remote file ('stat' failed).</source> - <translation>Nie można uzyskać informacji o zdalnym pliku ("stat" niepoprawnie zakończony).</translation> - </message> - <message> - <source>Failed to read remote file.</source> - <translation>Nie można odczytać zdalnego pliku.</translation> - </message> - <message> - <source>Failed to close remote file.</source> - <translation>Nie można zamknąć zdalnego pliku.</translation> - </message> - <message> - <source>Failed to open remote file for writing.</source> - <translation>Nie można otworzyć zdalnego pliku do zapisu.</translation> - </message> - <message> - <source>Failed to write remote file.</source> - <translation>Nie można zapisać zdalnego pliku.</translation> - </message> - <message> - <source>Cannot append to remote file: Server does not support the file size attribute.</source> - <translation>Nie można dodać zawartości do zdalnego pliku: Serwer nie obsługuje atrybutu "rozmiar pliku".</translation> - </message> - <message> - <source>Server could not start session.</source> - <translation>Serwer nie może rozpocząć sesji.</translation> - </message> - <message> - <source>Error reading local file: %1</source> - <translation>Błąd odczytu lokalnego pliku: %1</translation> - </message> -</context> -<context> - <name>Utils::Internal::SshChannelManager</name> - <message> - <source>Invalid channel id %1</source> - <translation>Niepoprawny identyfikator kanału %1</translation> - </message> -</context> -<context> - <name>Utils::Internal::SshConnectionPrivate</name> - <message> - <source>SSH Protocol error: %1</source> - <translation>Błąd protokołu SSH: %1</translation> - </message> - <message> - <source>Botan library exception: %1</source> - <translation>Wyjątek biblioteki Botan: %1</translation> - </message> - <message> - <source>Invalid protocol version: Expected '2.0', got '%1'.</source> - <translation>Niepoprawna wersja protokołu: Oczekiwano "2.0" zamiast "%1".</translation> - </message> - <message> - <source>Invalid server id '%1'.</source> - <translation>Niepoprawny identyfikator serwera "%1".</translation> - </message> - <message> - <source>Unexpected packet of type %1.</source> - <translation>Nieoczekiwany pakiet typu %1.</translation> - </message> - <message> - <source>Could not read private key file: %1</source> - <translation type="obsolete">Nie można odczytać pliku z kluczem prywatnym: %1</translation> - </message> - <message> - <source>Private key error: %1</source> - <translation>Błąd klucza prywatnego: %1</translation> - </message> - <message> - <source>Password expired.</source> - <translation>Hasło straciło ważność.</translation> - </message> - <message> - <source>Server rejected password.</source> - <translation>Serwer odrzucił hasło.</translation> - </message> - <message> - <source>Server rejected key.</source> - <translation>Serwer odrzucił klucz.</translation> - </message> - <message> - <source>The server sent an unexpected SSH packet of type SSH_MSG_UNIMPLEMENTED.</source> - <translation>Serwer wysłał nieoczekiwany pakiet SSH typu SSH_MSG_UNIMPLEMENTED.</translation> - </message> - <message> - <source>Server closed connection: %1</source> - <translation>Serwer zamknął połączenie: %1</translation> - </message> - <message> - <source>Connection closed unexpectedly.</source> - <translation>Nieoczekiwane zamknięcie połączenia.</translation> - </message> - <message> - <source>Timeout waiting for reply from server.</source> - <translation>Przekroczony czas oczekiwania na odpowiedź od serwera.</translation> - </message> -</context> -<context> - <name>Valgrind::XmlProtocol::ErrorListModel</name> - <message> - <source>What</source> - <translation>Co</translation> - </message> - <message> - <source>Location</source> - <translation>Położenie</translation> - </message> - <message> - <source>File</source> - <translation>Plik</translation> - </message> - <message> - <source>Line</source> - <translation>Linia</translation> - </message> - <message> - <source>Unique</source> - <translation>Unikalny</translation> - </message> - <message> - <source>Thread ID</source> - <translation>Identyfikator wątku</translation> - </message> - <message> - <source>Kind</source> - <translation>Rodzaj</translation> - </message> - <message> - <source>Leaked Blocks</source> - <translation>Bloki, które wyciekły</translation> - </message> - <message> - <source>Leaked Bytes</source> - <translation>Bajty, które wyciekły</translation> - </message> - <message> - <source>Helgrind Thread ID</source> - <translation>Identyfikator wątku Helgrind</translation> - </message> -</context> -<context> - <name>Valgrind::XmlProtocol</name> - <message> - <source>Function:</source> - <translation>Funkcja:</translation> - </message> - <message> - <source>Location:</source> - <translation>Położenie:</translation> - </message> - <message> - <source>Instruction pointer:</source> - <translation>Wskaźnik do instrukcji:</translation> - </message> - <message> - <source>Object:</source> - <translation>Obiekt:</translation> - </message> -</context> -<context> - <name>Valgrind::XmlProtocol::Parser</name> - <message> - <source>Could not parse hex number from "%1" (%2)</source> - <translation>Błąd parsowania liczby szesnastkowej z "%1" (%2)</translation> - </message> - <message> - <source>trying to read element text although current position is not start of element</source> - <translation>próba odczytu elementu tekstowego pomimo iż bieżąca pozycja nie jest na początku elementu</translation> - </message> - <message> - <source>Unexpected child element while reading element text</source> - <translation>Nieoczekiwany podelement podczas odczytu elementu tekstowego</translation> - </message> - <message> - <source>Unexpected token type %1</source> - <translation>Nieoczekiwany typ znaku %1</translation> - </message> - <message> - <source>Could not parse protocol version from "%1"</source> - <translation>Błąd parsowania wersji protokołu z "%1"</translation> - </message> - <message> - <source>XmlProtocol version %1 not supported (supported version: 4)</source> - <translation>Nieobsługiwana wersja XmlProtocol %1 (obsługiwana wersja: 4)</translation> - </message> - <message> - <source>Valgrind tool "%1" not supported</source> - <translation>Narzędzie Valgrind "%1" nie jest obsługiwane</translation> - </message> - <message> - <source>Unknown memcheck error kind "%1"</source> - <translation>Nieznany rodzaj błędu memcheck "%1"</translation> - </message> - <message> - <source>Unknown helgrind error kind "%1"</source> - <translation>Nieznany rodzaj błędu helgrind "%1"</translation> - </message> - <message> - <source>Unknown ptrcheck error kind "%1"</source> - <translation>Nieznany rodzaj błędu ptrcheck "%1"</translation> - </message> - <message> - <source>Could not parse error kind, tool not yet set.</source> - <translation>Nie można przeparsować rodzaju błędu, narzędzie nie zostało jeszcze ustawione.</translation> - </message> - <message> - <source>Unknown state "%1"</source> - <translation>Nieznany stan "%1"</translation> - </message> - <message> - <source>Unexpected exception caught during parsing.</source> - <translation>Złapano nieoczekiwany wyjątek podczas parsowania.</translation> - </message> -</context> -<context> - <name>Valgrind::XmlProtocol::StackModel</name> - <message> - <source>Description</source> - <translation>Opis</translation> - </message> - <message> - <source>Instruction Pointer</source> - <translation>Wskaźnik do instrukcji</translation> - </message> - <message> - <source>Object</source> - <translation>Obiekt</translation> - </message> - <message> - <source>Function</source> - <translation>Funkcja</translation> - </message> - <message> - <source>Directory</source> - <translation>Katalog</translation> - </message> - <message> - <source>File</source> - <translation>Plik</translation> - </message> - <message> - <source>Line</source> - <translation>Linia</translation> - </message> -</context> -<context> - <name>Analyzer</name> - <message> - <source>Analyzer</source> - <translation>Analizator</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::AnalyzerMode</name> - <message> - <source>Analyze</source> - <translation>Analizuj</translation> - </message> -</context> -<context> - <name>Analyzer::AnalyzerManager</name> - <message> - <source>Start &Analyzer</source> - <translation>Uruchom &analizator</translation> - </message> - <message> - <source>Start</source> - <translation>Uruchom</translation> - </message> - <message> - <source>Start Remote</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Stop</source> - <translation>Zatrzymaj</translation> - </message> - <message> - <source>Analyzer Toolbar</source> - <translation type="unfinished"></translation> - </message> - <message> - <source><html><head/><body><center><i>%1</i> is still running. You have to quit the Analyzer before being able to run another instance.<center/><center>Force it to quit?</center></body></html></source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Analyzer Still Running</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Stop Active Run</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Keep Running</source> - <translation>Pozostaw uruchomionym</translation> - </message> - <message> - <source>Debug</source> - <translation>Debug</translation> - </message> - <message> - <source>Release</source> - <translation>Release</translation> - </message> - <message> - <source>Run %1 in %2 Mode?</source> - <translation>Uruchom %1 w trybie %2?</translation> - </message> - <message> - <source><html><head/><body><p>You are trying to run the tool '%1' on an application in %2 mode. The tool is designed to be used in %3 mode.</p><p>Do you want to continue and run it in %2 mode?</p></body></html></source> - <translation><html><head/><body><p>Próba uruchomienia narzędzia "%1" na aplikacji w trybie %2. Narzędzie nie jest zaprojektowane do użycia w trybie %3.</p><p>Czy chcesz kontynuować i uruchomić je w trybie %2?</p></body></html></translation> - </message> - <message> - <source>&Do not ask again</source> - <translation>&Nie pytaj ponownie</translation> - </message> - <message> - <source>An analysis is still in progress.</source> - <translation>Nadal trwa analiza.</translation> - </message> - <message> - <source>No analyzer tool selected.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Current analyzer tool cannot be run remotely.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Tool "%1" started...</source> - <translation>Narzędzie "%1" zostało uruchomione...</translation> - </message> - <message numerus="yes"> - <source>Tool "%1" finished, %n issues were found.</source> - <translation> - <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problem.</numerusform> - <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problemy.</numerusform> - <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problemów.</numerusform> - </translation> - </message> - <message> - <source>Tool "%1" finished, no issues were found.</source> - <translation>Narzędzie "%1" zakończyło pracę, nie znaleziono żadnych problemów.</translation> - </message> - <message> - <source>Tool '%1' started...</source> - <translation type="obsolete">Narzędzie "%1" zostało uruchomione...</translation> - </message> - <message numerus="yes"> - <source>Tool '%1' finished, %n issues were found.</source> - <translation type="obsolete"> - <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problem.</numerusform> - <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problemy.</numerusform> - <numerusform>Narzędzie "%1" zakończyło pracę, znaleziono %n problemów.</numerusform> - </translation> - </message> - <message> - <source>Tool '%1' finished, no issues were found.</source> - <translation type="obsolete">Narzędzie "%1" zakończyło pracę, nie znaleziono żadnych problemów.</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::AnalyzerOutputPane</name> - <message> - <source>No current analysis tool</source> - <translation>Brak narzędzia do analizy</translation> - </message> - <message> - <source>Analysis</source> - <translation>Analiza</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::AnalyzerPlugin</name> - <message> - <source>Analyzer</source> - <extracomment>Category under which Analyzer tasks are listed in build issues view</extracomment> - <translation>Analizator</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::AnalyzerRunConfigWidget</name> - <message> - <source>Analyzer Settings</source> - <translation type="obsolete">Ustawienia analizatora</translation> - </message> - <message> - <source>Available settings: %1</source> - <translation type="obsolete">Dostępne ustawienia: %1</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::AnalyzerRunControlFactory</name> - <message> - <source>Analyzer</source> - <translation>Analizator</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::AnalyzerRunControl</name> - <message> - <source>Build Issues</source> - <translation type="obsolete">Problemy podczas budowania</translation> - </message> -</context> -<context> - <name>Analyzer::AnalyzerProjectSettings</name> - <message> - <source>Analyzer Settings</source> - <translation>Ustawienia analizatora</translation> - </message> -</context> -<context> - <name>Analyzer::IAnalyzerTool</name> - <message> - <source>Debug</source> - <translation>Debug</translation> - </message> - <message> - <source>Release</source> - <translation>Release</translation> - </message> -</context> -<context> - <name>Bazaar::Internal::BazaarControl</name> - <message> - <source>Bazaar</source> - <translation>Bazaar</translation> - </message> -</context> -<context> - <name>Bazaar::Internal::BazaarEditor</name> - <message> - <source>Annotate %1</source> - <translation>Dołącz adnotację do %1</translation> - </message> - <message> - <source>Annotate parent revision %1</source> - <translation>Dołącz adnotację do poprawki macierzystej "%1"</translation> - </message> -</context> -<context> - <name>Bazaar::Internal::BazaarPlugin</name> - <message> - <source>Bazaar</source> - <translation>Bazaar</translation> - </message> - <message> - <source>Annotate Current File</source> - <translation>Dołącz adnotację do bieżącego pliku</translation> - </message> - <message> - <source>Annotate "%1"</source> - <translation>Dołącz adnotację do "%1"</translation> - </message> - <message> - <source>Diff Current File</source> - <translation>Pokaż różnice w bieżącym pliku</translation> - </message> - <message> - <source>Diff "%1"</source> - <translation>Pokaż różnice w "%1"</translation> - </message> - <message> - <source>ALT+Z,Alt+D</source> - <translation>ALT+Z,Alt+D</translation> - </message> - <message> - <source>Log Current File</source> - <translation>Log bieżącego pliku</translation> - </message> - <message> - <source>Log "%1"</source> - <translation>Log "%1"</translation> - </message> - <message> - <source>ALT+Z,Alt+L</source> - <translation>ALT+Z,Alt+L</translation> - </message> - <message> - <source>Status Current File</source> - <translation>Stan bieżącego pliku</translation> - </message> - <message> - <source>Status "%1"</source> - <translation>Stan "%1"</translation> - </message> - <message> - <source>ALT+Z,Alt+S</source> - <translation>ALT+Z,Alt+S</translation> - </message> - <message> - <source>Add</source> - <translation>Dodaj</translation> - </message> - <message> - <source>Add "%1"</source> - <translation>Dodaj "%1"</translation> - </message> - <message> - <source>Delete...</source> - <translation>Usuń...</translation> - </message> - <message> - <source>Delete "%1"...</source> - <translation>Usuń "%1"...</translation> - </message> - <message> - <source>Revert Current File...</source> - <translation>Odwróć zmiany w bieżącym pliku...</translation> - </message> - <message> - <source>Revert "%1"...</source> - <translation>Odwróć zmiany w "%1"...</translation> - </message> - <message> - <source>Diff</source> - <translation>Pokaż różnice</translation> - </message> - <message> - <source>Log</source> - <translation>Log</translation> - </message> - <message> - <source>Revert...</source> - <translation>Odwróć zmiany...</translation> - </message> - <message> - <source>Status</source> - <translation>Stan</translation> - </message> - <message> - <source>Pull...</source> - <translation>Pull...</translation> - </message> - <message> - <source>Push...</source> - <translation>Push...</translation> - </message> - <message> - <source>Update...</source> - <translation>Update...</translation> - </message> - <message> - <source>Commit...</source> - <translation>Commit...</translation> - </message> - <message> - <source>ALT+Z,Alt+C</source> - <translation>ALT+Z,Alt+C</translation> - </message> - <message> - <source>Create Repository...</source> - <translation>Utwórz repozytorium...</translation> - </message> - <message> - <source>Update</source> - <translation>Uaktualnij</translation> - </message> - <message> - <source>Commit</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Diff &Selected Files</source> - <translation type="unfinished">Pokaż różnice w &zaznaczonych plikach</translation> - </message> - <message> - <source>Diff Selected Files</source> - <translation type="obsolete">Pokaż różnice w zaznaczonych plikach</translation> - </message> - <message> - <source>&Undo</source> - <translation>&Cofnij</translation> - </message> - <message> - <source>&Redo</source> - <translation>&Przywróć</translation> - </message> - <message> - <source>There are no changes to commit.</source> - <translation type="unfinished">Brak zmian do wysłania.</translation> - </message> - <message> - <source>Unable to generate a temporary file for the commit editor.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Unable to create an editor for the commit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Unable to create a commit editor.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Commit changes for "%1".</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Close Commit Editor</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Do you want to commit the changes?</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Message check failed. Do you want to proceed?</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Bazaar::Internal::CloneWizard</name> - <message> - <source>Clones a Bazaar branch and tries to load the contained project.</source> - <translation>Klonuje repozytorium Bazaar i próbuje załadować zawarty projekt.</translation> - </message> - <message> - <source>Bazaar Clone (Or Branch)</source> - <translation>Klonowanie Bazaar (albo gałęzi)</translation> - </message> -</context> -<context> - <name>Bazaar::Internal::CloneWizardPage</name> - <message> - <source>Location</source> - <translation>Położenie</translation> - </message> - <message> - <source>Specify repository URL, clone directory and path.</source> - <translation>Podaj URL repozytorium, katalogu klonu i ścieżkę do niego.</translation> - </message> - <message> - <source>Clone URL:</source> - <translation>URL klonu:</translation> - </message> -</context> -<context> - <name>Bazaar::Internal::CommitEditor</name> - <message> - <source>Commit Editor</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Bazaar::Internal::OptionsPageWidget</name> - <message> - <source>Bazaar Command</source> - <translation>Komenda Bazaar</translation> - </message> -</context> -<context> - <name>CMakeProjectManager::Internal::CMakeManager</name> - <message> - <source>Run CMake</source> - <translation>Uruchom CMake</translation> - </message> -</context> -<context> - <name>Core::Internal::ExternalToolModel</name> - <message> - <source>Uncategorized</source> - <translation>Nieskategoryzowane</translation> - </message> - <message> - <source>Tools that will appear directly under the External Tools menu.</source> - <translation>Narzędzie, które pojawi się bezpośrednio w menu Narzędzia Zewnętrzne.</translation> - </message> - <message> - <source>New Category</source> - <translation>Nowa kategoria</translation> - </message> - <message> - <source>New Tool</source> - <translation>Nowe narzędzie</translation> - </message> - <message> - <source>This tool prints a line of useful text</source> - <translation>To narzędzie wyświetla linię z przydatnym tekstem</translation> - </message> - <message> - <source>/c echo Useful text</source> - <translation>/c echo Przydatny tekst</translation> - </message> - <message> - <source>Useful text</source> - <translation>Przydatny tekst</translation> - </message> -</context> -<context> - <name>Core::Internal::ExternalTool</name> - <message> - <source>Could not open tool specification %1 for reading: %2</source> - <translation type="obsolete">Nie można otworzyć specyfikacji narzędzia %1 do odczytu: %2</translation> - </message> - <message> - <source>Could not write tool specification %1: %2</source> - <translation type="obsolete">Nie można zapisać specyfikacji narzędzia %1: %2</translation> - </message> -</context> -<context> - <name>Core::Internal::ExternalToolRunner</name> - <message> - <source>Could not find executable for '%1' (expanded '%2') -</source> - <translation>Nie można znaleźć pliku wykonywalnego dla "%1" (w rozwinięciu "%2") -</translation> - </message> - <message> - <source>Starting external tool '%1' %2</source> - <translation>Uruchamianie narzędzia zewnętrznego "%1" %2</translation> - </message> - <message> - <source>'%1' finished</source> - <translation>Zakończono "%1"</translation> - </message> -</context> -<context> - <name>Core::ExternalToolManager</name> - <message> - <source>Configure...</source> - <translation>Konfiguruj...</translation> - </message> - <message> - <source>External</source> - <translation type="obsolete">Zewnętrzne</translation> - </message> - <message> - <source>&External</source> - <translation>Z&ewnętrzne</translation> - </message> - <message> - <source>Error while parsing external tool %1: %2</source> - <translation>Błąd podczas parsowania narzędzia zewnętrznego %1: %2</translation> - </message> - <message> - <source>Error: External tool in %1 has duplicate id</source> - <translation>Błąd: narzędzie zewnętrzne w %1 ma powielony identyfikator</translation> - </message> -</context> -<context> - <name>Core::Internal::MimeTypeMagicDialog</name> - <message> - <source>Magic Header</source> - <translation>Magiczny nagłówek</translation> - </message> - <message> - <source>Error</source> - <translation>Błąd</translation> - </message> - <message> - <source>Not a valid byte pattern.</source> - <translation>Niepoprawny wzór bajtowy.</translation> - </message> -</context> -<context> - <name>Core::Internal::MimeTypeSettingsModel</name> - <message> - <source>MIME Type</source> - <translation>Typ MIME</translation> - </message> - <message> - <source>Handler</source> - <translation>Jednostka obsługująca</translation> - </message> - <message> - <source>Undefined</source> - <translation>Niezdefiniowana</translation> - </message> - <message> - <source>Invalid MIME Type</source> - <translation>Niepoprawny typ MIME</translation> - </message> - <message> - <source>Conflicting pattern(s) will be discarded.</source> - <translation>Kolidujące wzory zostaną usunięte.</translation> - </message> - <message numerus="yes"> - <source>%n pattern(s) already in use.</source> - <translation> - <numerusform>%n wzór w użyciu.</numerusform> - <numerusform>%n wzory w użyciu.</numerusform> - <numerusform>%n wzorów w użyciu.</numerusform> - </translation> - </message> -</context> -<context> - <name>Core::Internal::MimeTypeSettingsPrivate</name> - <message> - <source>Error</source> - <translation>Błąd</translation> - </message> - <message> - <source>No MIME type selected.</source> - <translation>Nie zaznaczono żadnego typu MIME.</translation> - </message> - <message> - <source>No magic header selected.</source> - <translation>Nie zaznaczono żadnego magicznego nagłówka.</translation> - </message> - <message> - <source>MIME Types</source> - <translation>Typy MIME</translation> - </message> - <message> - <source>Changes will take effect in the next time you start Qt Creator.</source> - <translation>Zmiany zostaną zastosowana przy ponownym uruchomieniu Qt Creatora.</translation> - </message> -</context> -<context> - <name>Core::Internal::MimeTypeSettings</name> - <message> - <source>MIME Types</source> - <translation>Typy MIME</translation> - </message> -</context> -<context> - <name>Core::Internal::ToolSettings</name> - <message> - <source>External Tools</source> - <translation>Narzędzia zewnętrzne</translation> - </message> -</context> -<context> - <name>Core::VcsManager</name> - <message> - <source>Version Control</source> - <translation>System kontroli wersji</translation> - </message> - <message> - <source>Would you like to remove this file from the version control system (%1)? -Note: This might remove the local file.</source> - <translation>Czy chcesz usunąć ten plik z systemu kontroli wersji (%1)? -Uwaga: może to spowodować usunięcie lokalnego pliku.</translation> - </message> -</context> -<context> - <name>CppEditor::Internal::CPPEditorWidget</name> - <message> - <source>Sort Alphabetically</source> - <translation>Posortuj alfabetycznie</translation> - </message> - <message> - <source>This change cannot be undone.</source> - <translation type="obsolete">Ta zmiana nie może być cofnięta.</translation> - </message> - <message> - <source>Yes, I know what I am doing.</source> - <translation type="obsolete">Tak, wiem co robię.</translation> - </message> - <message> - <source>&Refactor</source> - <translation>&Refaktoryzacja</translation> - </message> - <message> - <source>Unused variable</source> - <translation>Nieużywana zmienna</translation> - </message> -</context> -<context> - <name>CppEditor::Internal::InsertQtPropertyMembers</name> - <message> - <source>Generate missing Q_PROPERTY members...</source> - <translation>Wygeneruj brakujące składniki Q_PROPERTY...</translation> - </message> -</context> -<context> - <name>CppEditor::Internal::CppOutlineTreeView</name> - <message> - <source>Expand All</source> - <translation>Rozwiń wszystko</translation> - </message> - <message> - <source>Collapse All</source> - <translation>Zwiń wszystko</translation> - </message> -</context> -<context> - <name>CppEditor::Internal::CppSnippetProvider</name> - <message> - <source>C++</source> - <translation>C++</translation> - </message> -</context> -<context> - <name>Debugger::Internal::MultiBreakPointsDialog</name> - <message> - <source>Edit Breakpoint Properties</source> - <translation>Zmodyfikuj właściwości pułapki</translation> - </message> -</context> -<context> - <name>Debugger::Cdb::CdbBreakEventWidget</name> - <message> - <source>C++ exception</source> - <translation>Wyjątek C++</translation> - </message> - <message> - <source>Thread creation</source> - <translation>Utworzenie wątku</translation> - </message> - <message> - <source>Thread exit</source> - <translation>Zakończenie wątku</translation> - </message> - <message> - <source>Load Module:</source> - <translation>Załadowanie modułu:</translation> - </message> - <message> - <source>Unload Module:</source> - <translation>Wyładowanie modułu:</translation> - </message> - <message> - <source>Output:</source> - <translation>Komunikaty:</translation> - </message> -</context> -<context> - <name>Debugger::Internal::StartRemoteCdbDialog</name> - <message> - <source><html><body><p>The remote CDB needs to load the matching Qt Creator CDB extension (<code>%1</code> or <code>%2</code>, respectively).</p><p>Copy it onto the remote machine and set the environment variable <code>%3</code> to point to its folder.</p><p>Launch the remote CDB as <code>%4 &lt;executable&gt;</code> to use TCP/IP as communication protocol.</p><p>Enter the connection parameters as:</p><pre>%5</pre></body></html></source> - <translation><html><body><p>Zdalny CDB musi załadować odpowiednie rozszerzenie Qt Creator (<code>%1</code> albo odpowiednio <code>%2</code>).</p><p>Skopiuj to na maszynę zdalną i ustaw zmienną środowiskową <code>%3</code> wskazując na jego katalog.</p><p>Uruchom zdalny CDB jako <code>%4 &lt;plik wykonywalny&gt;</code> aby użyć protokołu TCP/IP.</p><p>Podaj parametry połączenia jako:</p><pre>%5</pre></body></html></translation> - </message> - <message> - <source>Start a CDB Remote Session</source> - <translation>Uruchom zdalną sesję CDB</translation> - </message> - <message> - <source>&Connection:</source> - <translation>&Połączenie:</translation> - </message> -</context> -<context> - <name>Debugger::Internal::DebuggerMainWindowPrivate</name> - <message> - <source>Memory...</source> - <translation>Pamięć...</translation> - </message> - <message> - <source>Debugger Toolbar</source> - <translation>Pasek narzędzi debuggera</translation> - </message> -</context> -<context> - <name>Debugger::Internal::DebuggerPluginPrivate</name> - <message> - <source>No function selected.</source> - <translation>Nie wybrano żadnej funkcji.</translation> - </message> - <message> - <source>Running to function "%1".</source> - <translation>Uruchomiono do osiągnięcia funkcji "%1".</translation> - </message> - <message> - <source>Process %1</source> - <translation>Proces %1</translation> - </message> - <message> - <source>Attaching to local process %1.</source> - <translation>Dołączanie do procesu lokalnego %1.</translation> - </message> - <message> - <source>Remote: "%1"</source> - <translation>Zdalny: "%1"</translation> - </message> - <message> - <source>Attaching to remote server %1.</source> - <translation>Dołączanie do zdalnego serwera %1.</translation> - </message> - <message> - <source>Executable file "%1"</source> - <translation>Plik wykonywalny: %1</translation> - </message> - <message> - <source>Debugging file %1.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Core file "%1"</source> - <translation>Plik zrzutu "%1"</translation> - </message> - <message> - <source>Attaching to core file %1.</source> - <translation>Dołączanie do pliku zrzutu %1.</translation> - </message> - <message> - <source>Crashed process %1</source> - <translation>Proces %1 zakończony błędem</translation> - </message> - <message> - <source>Attaching to crashed process %1</source> - <translation>Dołączanie do procesu zakończonego błędem %1</translation> - </message> - <message> - <source>Warning</source> - <translation>Ostrzeżenie</translation> - </message> - <message> - <source>Cannot attach to PID 0</source> - <translation type="obsolete">Nie można dołączyć do PID 0</translation> - </message> - <message> - <source>Cannot attach to process with PID 0</source> - <translation>Nie można dołączyć do procesu z PID 0</translation> - </message> - <message> - <source>Debugger attached to %1</source> - <translation>Debugger dołączono do %1</translation> - </message> - <message> - <source>Remove Breakpoint %1</source> - <translation>Usuń pułapkę %1</translation> - </message> - <message> - <source>Disable Breakpoint %1</source> - <translation>Wyłącz pułapkę %1</translation> - </message> - <message> - <source>Enable Breakpoint %1</source> - <translation>Włącz pułapkę %1</translation> - </message> - <message> - <source>Edit Breakpoint %1...</source> - <translation>Zmodyfikuj pułapkę %1...</translation> - </message> - <message> - <source>Set Breakpoint at 0x%1</source> - <translation>Ustaw pułapkę w 0x%1</translation> - </message> - <message> - <source>Set Breakpoint at line %1</source> - <translation>Ustaw pułapkę w linii %1</translation> - </message> - <message> - <source>Save Debugger Log</source> - <translation>Zachowaj log debuggera</translation> - </message> - <message> - <source>User commands are not accepted in the current state.</source> - <translation>Komendy użytkownika nie są akceptowalne w bieżącym stanie.</translation> - </message> - <message> - <source>Open Qt4 Options</source> - <translation>Otwórz ustawienia Qt4</translation> - </message> - <message> - <source>Turn off Helper Usage</source> - <translation>Wyłącz używanie asystenta</translation> - </message> - <message> - <source>Continue Anyway</source> - <translation>Kontynuuj</translation> - </message> - <message> - <source>Debugging Helper Missing</source> - <translation>Brak asystenta debuggera</translation> - </message> - <message> - <source>The debugger could not load the debugging helper library.</source> - <translation>Debugger nie mógł załadować biblioteki asystenta debuggera.</translation> - </message> - <message> - <source>The debugging helper is used to nicely format the values of some Qt and Standard Library data types. It must be compiled for each used Qt version separately. On the Qt4 options page, select a Qt installation and click Rebuild.</source> - <translation>Asystent debuggera jest używany do ładnego formatowania niektórych typów Qt i Biblioteki Standardowej. Musi być skompilowany oddzielnie dla każdej używanej wersji Qt. Można to zrobić z poziomu strony ustawień Qt poprzez wybranie instalacji Qt i kliknięcie na "Przebuduj" w linijce "Asystent debuggera".</translation> - </message> - <message> - <source>Starting debugger '%1' for ABI '%2'...</source> - <translation>Uruchamianie debuggera "%1" dla ABI "%2"...</translation> - </message> - <message> - <source>Debugger finished.</source> - <translation>Debugger zakończył pracę.</translation> - </message> - <message> - <source>QML Script Console</source> - <translation>Konsola skryptów QML</translation> - </message> - <message> - <source>Continue</source> - <translation>Kontynuuj</translation> - </message> - <message> - <source>Exit Debugger</source> - <translation>Zakończ debugger</translation> - </message> - <message> - <source>Interrupt</source> - <translation>Przerwij</translation> - </message> - <message> - <source>Debugger is Busy</source> - <translation>Debugger jest zajęty</translation> - </message> - <message> - <source>Abort Debugging</source> - <translation>Przerwij debugowanie</translation> - </message> - <message> - <source>Aborts debugging and resets the debugger to the initial state.</source> - <translation>Przerywa debugowanie i przywraca debugger do stanu początkowego.</translation> - </message> - <message> - <source>Step Over</source> - <translation>Przeskocz</translation> - </message> - <message> - <source>Step Into</source> - <translation>Wskocz do wnętrza</translation> - </message> - <message> - <source>Step Out</source> - <translation>Wyskocz na zewnątrz</translation> - </message> - <message> - <source>Run to Line</source> - <translation>Uruchom do linii</translation> - </message> - <message> - <source>Run to Selected Function</source> - <translation>Uruchom do zaznaczonej funkcji</translation> - </message> - <message> - <source>Immediately Return From Inner Function</source> - <translation>Powróć natychmiast z wewnętrznej funkcji</translation> - </message> - <message> - <source>Jump to Line</source> - <translation>Skocz do linii</translation> - </message> - <message> - <source>Toggle Breakpoint</source> - <translation>Przełącz ustawienie pułapki</translation> - </message> - <message> - <source>Add to Watch Window</source> - <translation>Dodaj do okna obserwowanych</translation> - </message> - <message> - <source>Reverse Direction</source> - <translation>Odwrotny kierunek</translation> - </message> - <message> - <source>Move to Called Frame</source> - <translation>Przenieś do wywołanej ramki</translation> - </message> - <message> - <source>Move to Calling Frame</source> - <translation>Przenieś do wołającej ramki</translation> - </message> - <message> - <source>Error evaluating command line arguments: %1</source> - <translation>Błąd podczas przetwarzania argumentów komendy: %1</translation> - </message> - <message> - <source>Start Debugging</source> - <translation>Rozpocznij debugowanie</translation> - </message> - <message> - <source>Start and Debug External Application...</source> - <translation>Uruchom i zdebuguj zewnętrzną aplikację...</translation> - </message> - <message> - <source>Start and Debug External Application with External Engine...</source> - <translation>Uruchom i zdebuguj zewnętrzną aplikację przy pomocy zewnętrznego silnika...</translation> - </message> - <message> - <source>Attach to Running External Application...</source> - <translation>Dołącz do uruchomionej zewnętrznej aplikacji...</translation> - </message> - <message> - <source>Attach to Core...</source> - <translation>Dołącz do zrzutu...</translation> - </message> - <message> - <source>Start and Attach to Remote Application...</source> - <translation>Uruchom i dołącz do zdalnej aplikacji...</translation> - </message> - <message> - <source>Attach to Remote CDB Session...</source> - <translation>Dołącz do zdalnej sesji CDB...</translation> - </message> - <message> - <source>Detach Debugger</source> - <translation>Odłącz debugger</translation> - </message> - <message> - <source>Interrupt Debugger</source> - <translation>Przerwij debugger</translation> - </message> - <message> - <source>Stop Debugger</source> - <translation>Zatrzymaj debugger</translation> - </message> - <message> - <source>Reset Debugger</source> - <translation>Zresetuj debugger</translation> - </message> - <message> - <source>Threads:</source> - <translation>Wątki:</translation> - </message> - <message> - <source>Symbol</source> - <translation>Symbol</translation> - </message> - <message> - <source>Address</source> - <translation>Adres</translation> - </message> - <message> - <source>Code</source> - <translation>Kod</translation> - </message> - <message> - <source>Section</source> - <translation>Sekcja</translation> - </message> - <message> - <source>Name</source> - <translation>Nazwa</translation> - </message> - <message> - <source>Symbols in "%1"</source> - <translation>Symbole w "%1"</translation> - </message> -</context> -<context> - <name>DebuggerRunControl</name> - <message> - <source>Debug</source> - <translation>Debug</translation> - </message> - <message> - <source>Debugger</source> - <translation>Debugger</translation> - </message> - <message> - <source>Unable to create a debugger engine of the type '%1'</source> - <translation>Nie można utworzyć silnika debuggera typu "%1"</translation> - </message> -</context> -<context> - <name>Debugger::Internal::DebuggerSourcePathMappingWidget</name> - <message> - <source><new source></source> - <translation><nowe źródło></translation> - </message> - <message> - <source><new target></source> - <translation><nowy produkt docelowy></translation> - </message> - <message> - <source>Source path</source> - <translation>Ścieżka do źródła</translation> - </message> - <message> - <source>Target path</source> - <translation>Ścieżka do produktu docelowego</translation> - </message> - <message> - <source>Add</source> - <translation>Dodaj</translation> - </message> - <message> - <source>Add Qt sources...</source> - <translation>Dodaj źródła Qt...</translation> - </message> - <message> - <source>Remove</source> - <translation>Usuń</translation> - </message> - <message> - <source>Source Paths Mapping</source> - <translation>Mapowanie ścieżek źródłowych</translation> - </message> - <message> - <source><html><head/><body><p>Mappings of source file folders to be used in the debugger can be entered here.</p><p>This is useful when using a copy of the source tree at a location different from the one at which the modules where built, for example, while doing remote debugging.</body></html></source> - <translation><html><head/><body><p>Tu można podać mapowanie katalogów plików źródłowych użytych w debuggerze.</p><p>To jest przydatne podczas używania kopii drzewa źródeł z położenia innego niż to, w którym moduły były zbudowane, np. podczas zdalnego debugowania.</body></html></translation> - </message> - <message> - <source>Add a mapping for Qt's source folders when using an unpatched version of Qt.</source> - <translation>Dodaj mapowanie dla katalogów źródeł Qt podczas używania niezałatanej wersji Qt.</translation> - </message> - <message> - <source>The source path contained in the debug information of the executable as reported by the debugger</source> - <translation>Ścieżka źródłowa zawarta w informacji debugowej pliku wykonywalnego zgłoszona przez debugger</translation> - </message> - <message> - <source>The source path contained in the executable's debug information as reported by the debugger</source> - <translation type="obsolete">Ścieżka źródłowa zawarta w informacji debugowej pliku wykonywalnego zgłoszona przez debugger</translation> - </message> - <message> - <source>&Source path:</source> - <translation>Ś&cieżka do źródła:</translation> - </message> - <message> - <source>The actual location of the source tree on the local machine</source> - <translation>Bieżące położenie drzewa źródeł na lokalnej maszynie</translation> - </message> - <message> - <source>&Target path:</source> - <translation>Ścieżka do produktu &docelowego:</translation> - </message> - <message> - <source>Qt Sources</source> - <translation>Źródła Qt</translation> - </message> -</context> -<context> - <name>Debugger::Internal::DebuggerToolChainComboBox</name> - <message> - <source>%1 (%2)</source> - <translation>%1 (%2)</translation> - </message> - <message> - <source><html><head/><body><table><tr><td>ABI:</td><td><i>%1</i></td></tr><tr><td>Debugger:</td><td>%2</td></tr></source> - <translation><html><head/><body><table><tr><td>ABI:</td><td><i>%1</i></td></tr><tr><td>Debugger:</td><td>%2</td></tr></translation> - </message> -</context> -<context> - <name>Debugger::Internal::AbstractDebuggerToolTipWidget</name> - <message> - <source>Previous</source> - <translation type="obsolete">Poprzedni</translation> - </message> -</context> -<context> - <name>DebuggerEngine</name> - <message> - <source>Debugging complex command lines is currently not supported under Windows</source> - <translation>Debugowanie złożonych linii komend nie jest obecnie obsługiwane pod Windows</translation> - </message> -</context> -<context> - <name>Debugger::Internal::CodaGdbAdapter</name> - <message> - <source>Process started, PID: 0x%1, thread id: 0x%2, code segment: 0x%3, data segment: 0x%4.</source> - <translation>Proces uruchomiony, PID: 0x%1, identyfikator wątku: 0x%2, segment kodu: 0x%3, segment danych: 0x%4.</translation> - </message> - <message> - <source>Connecting to CODA server adapter failed: -</source> - <translation>Nie można połączyć się z serwerem CODA: -</translation> - </message> - <message> - <source>Could not obtain device.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Debugger::Internal::IPCEngineHost</name> - <message> - <source>Fatal engine shutdown. Incompatible binary or IPC error.</source> - <translation>Silnik zakończył pracę fatalnym błędem. Niekompatybilny plik binarny lub błąd IPC.</translation> - </message> -</context> -<context> - <name>Debugger::Internal::LldbEngineHost</name> - <message> - <source>qtcreator-lldb failed to start: %1</source> - <translation>Nie można uruchomić qtcreator-lldb: %1</translation> - </message> - <message> - <source>Fatal engine shutdown. Consult debugger log for details.</source> - <translation>Silnik zakończył pracę fatalnym błędem. Sprawdź szczegóły w logu debuggera.</translation> - </message> - <message> - <source>SSH connection error: %1</source> - <translation>Błąd połączenia SSH: %1</translation> - </message> -</context> -<context> - <name>Debugger::Internal::LldbOptionsPage</name> - <message> - <source>LLDB</source> - <translation>LLDB</translation> - </message> -</context> -<context> - <name>Debugger::Internal::MemoryAgent</name> - <message> - <source>Memory $</source> - <translation type="obsolete">Pamięć $</translation> - </message> - <message> - <source>No memory viewer available</source> - <translation type="obsolete">Brak dostępnej przeglądarki pamięci</translation> - </message> - <message> - <source>Memory at 0x%1</source> - <translation>Pamięć w 0x%1</translation> - </message> - <message> - <source>No Memory Viewer Available</source> - <translation>Brak dostępnej przeglądarki pamięci</translation> - </message> - <message> - <source>The memory contents cannot be shown as no viewer plugin for binary data has been loaded.</source> - <translation>Zawartość pamięci nie może zostać pokazana, ponieważ nie załadowano żadnej wtyczki z przeglądarką dla binarnego edytora.</translation> - </message> -</context> -<context> - <name>Debugger::Internal::QmlCppEngine</name> - <message> - <source>The slave debugging engine required for combined QML/C++-Debugging could not be created: %1</source> - <translation>Nie można utorzyć wymaganego podrzędnego silnika debugującego dla wspólnego debugowania QML/C++: %1</translation> - </message> - <message> - <source>%1 debugger activated</source> - <translation>Uaktywniono debugger %1</translation> - </message> -</context> -<context> - <name>Debugger::Internal::QmlEngine</name> - <message> - <source>QML Debugger connected.</source> - <translation>Podłączono debugger QML.</translation> - </message> - <message> - <source>Qt Creator</source> - <translation>Qt Creator</translation> - </message> - <message> - <source>Could not connect to the in-process QML debugger. -Do you want to retry?</source> - <translation>Nie można podłączyć się do wewnątrzprocesowego debuggera QML. -Ponowić próbę?</translation> - </message> - <message> - <source>QML Debugger: Remote host closed connection.</source> - <translation>Debugger QML: Zdalny host zamknął połączenie.</translation> - </message> - <message> - <source>QML Debugger: Could not connect to service '%1'.</source> - <translation>Debugger QML: Nie można nawiązać połączenia z serwisem "%1".</translation> - </message> - <message> - <source>The port seems to be in use.</source> - <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> - <translation>Port prawdopodobnie zajęty.</translation> - </message> - <message> - <source>The application is not set up for QML/JS debugging.</source> - <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> - <translation>Aplikacja nie jest przygotowana do debugowania QML/JS.</translation> - </message> - <message> - <source>Could not connect to the in-process QML debugger: -%1</source> - <extracomment>%1 is detailed error message</extracomment> - <translation>Nie można podłączyć się do wewnątrzprocesowego debuggera QML: -%1</translation> - </message> - <message> - <source>Starting %1 %2</source> - <translation>Uruchamianie %1 %2</translation> - </message> - <message> - <source>Failed to start application</source> - <translation>Nie można uruchomić aplikacji</translation> - </message> - <message> - <source>Application startup failed: %1</source> - <translation>Błąd uruchamiania aplikacji: %1</translation> - </message> - <message> - <source>Stopped.</source> - <translation>Zatrzymano.</translation> - </message> - <message> - <source><p>An uncaught exception occurred:</p><p>%1</p></source> - <translation><p>Wystąpił nieobsłużony wyjątek:</p><p>%1</p></translation> - </message> - <message> - <source><p>An uncaught exception occurred in <i>%1</i>:</p><p>%2</p></source> - <translation><p>Wystąpił nieobsłużony wyjątek w <i>%1</i>:</p><p>%2</p></translation> - </message> - <message> - <source>Uncaught Exception</source> - <translation>Nieobsłużony wyjątek</translation> - </message> - <message> - <source>QML Debugger disconnected.</source> - <translation>Debugger QML rozłączony.</translation> - </message> -</context> -<context> - <name>StackHandler</name> - <message> - <source>Address:</source> - <translation>Adres:</translation> - </message> - <message> - <source>Function:</source> - <translation>Funkcja:</translation> - </message> - <message> - <source>File:</source> - <translation>Plik:</translation> - </message> - <message> - <source>Line:</source> - <translation>Linia:</translation> - </message> - <message> - <source>From:</source> - <translation>Od:</translation> - </message> - <message> - <source>To:</source> - <translation>Do:</translation> - </message> -</context> -<context> - <name>Git::Internal::BaseGitDiffArgumentsWidget</name> - <message> - <source>Use the patience algorithm for calculating the differences.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Patience</source> - <translation>Patience</translation> - </message> - <message> - <source>Ignore whitespace only changes.</source> - <translation>Ignoruj zmiany w białych znakach.</translation> - </message> - <message> - <source>Ignore whitespace only changes</source> - <translation type="obsolete">Ignoruj zmiany w białych znakach</translation> - </message> - <message> - <source>Ignore Whitespace</source> - <translation>Ignoruj białe znaki</translation> - </message> -</context> -<context> - <name>Git::Internal::GitShowArgumentsWidget</name> - <message> - <source>Select the pretty printing format</source> - <translation type="obsolete">Wybierz format ładnego drukowania</translation> - </message> - <message> - <source>Select the pretty printing format.</source> - <translation>Wybierz format ładnego drukowania.</translation> - </message> - <message> - <source>oneline</source> - <translation>jedna linia</translation> - </message> - <message> - <source>short</source> - <translation>krótki</translation> - </message> - <message> - <source>medium</source> - <translation>średni</translation> - </message> - <message> - <source>full</source> - <translation>pełny</translation> - </message> - <message> - <source>fuller</source> - <translation>pełniejszy</translation> - </message> - <message> - <source>email</source> - <translation>email</translation> - </message> - <message> - <source>raw</source> - <translation>surowy</translation> - </message> -</context> -<context> - <name>Git::Internal::GitBlameArgumentsWidget</name> - <message> - <source>Do not show the date a change was made in the output</source> - <translation type="obsolete">Nie pokazuj w komunikatach daty zmiany</translation> - </message> - <message> - <source>Hide the date of a change from the output.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Omit Date</source> - <translation>Pomiń datę</translation> - </message> - <message> - <source>Ignore whitespace only changes.</source> - <translation>Ignoruj zmiany w białych znakach.</translation> - </message> - <message> - <source>Ignore whitespace only changes</source> - <translation type="obsolete">Ignoruj zmiany w białych znakach</translation> - </message> - <message> - <source>Ignore Whitespace</source> - <translation>Ignoruj białe znaki</translation> - </message> -</context> -<context> - <name>GLSLEditor::Internal::FunctionArgumentWidget</name> - <message> - <source>%1 of %2</source> - <translation type="obsolete">%1 z %2</translation> - </message> -</context> -<context> - <name>GLSLEditor</name> - <message> - <source>GLSL</source> - <translation>GLSL</translation> - </message> -</context> -<context> - <name>GLSLEditor::Internal::GLSLEditorPlugin</name> - <message> - <source>GLSL</source> - <extracomment>GLSL sub-menu in the Tools menu</extracomment> - <translation>GLSL</translation> - </message> - <message> - <source>Creates a fragment shader in the OpenGL/ES 2.0 Shading Language (GLSL/ES). Fragment shaders generate the final pixel colors for triangles, points and lines rendered with OpenGL.</source> - <translation>Tworzy fragment shader OpenGL/ES 2.0 w języku GLSL/ES. Fragment shadery generują końcowe kolory pikseli trójkątów, punktów i linii renderowanych przez OpenGL.</translation> - </message> - <message> - <source>Fragment Shader (OpenGL/ES 2.0)</source> - <translation>Fragment Shader (OpenGL/ES 2.0)</translation> - </message> - <message> - <source>Creates a vertex shader in the OpenGL/ES 2.0 Shading Language (GLSL/ES). Vertex shaders transform the positions, normals and texture co-ordinates of triangles, points and lines rendered with OpenGL.</source> - <translation>Tworzy vertex shader OpenGL/ES 2.0 w języku GLSL/ES. Vertex shadery zmieniają transformacje, normalne i współrzędne tekstur trójkątów, punktów i linii renderowanych przez OpenGL.</translation> - </message> - <message> - <source>Vertex Shader (OpenGL/ES 2.0)</source> - <translation>Vertex Shader (OpenGL/ES 2.0)</translation> - </message> - <message> - <source>Creates a fragment shader in the Desktop OpenGL Shading Language (GLSL). Fragment shaders generate the final pixel colors for triangles, points and lines rendered with OpenGL.</source> - <translation>Tworzy fragment shader Desktop OpenGL w języku GLSL. Fragment shadery generują końcowe kolory pikseli trójkątów, punktów i linii renderowanych przez OpenGL.</translation> - </message> - <message> - <source>Fragment Shader (Desktop OpenGL)</source> - <translation>Fragment Shader (Desktop OpenGL)</translation> - </message> - <message> - <source>Creates a vertex shader in the Desktop OpenGL Shading Language (GLSL). Vertex shaders transform the positions, normals and texture co-ordinates of triangles, points and lines rendered with OpenGL.</source> - <translation>Tworzy vertex shader Desktop OpenGL w języku GLSL. Vertex shadery zmieniają transformacje, normalne i współrzędne tekstur trójkątów, punktów i linii renderowanych przez OpenGL.</translation> - </message> - <message> - <source>Vertex Shader (Desktop OpenGL)</source> - <translation>Vertex Shader (Desktop OpenGL)</translation> - </message> -</context> -<context> - <name>GLSLEditor::GLSLFileWizard</name> - <message> - <source>New %1</source> - <translation>Nowy %1</translation> - </message> -</context> -<context> - <name>Macros::Internal::MacroLocatorFilter</name> - <message> - <source>Macros</source> - <translation>Makra</translation> - </message> -</context> -<context> - <name>Macros::MacroManager</name> - <message> - <source>Playing Macro</source> - <translation>Odtwarzanie makro</translation> - </message> - <message> - <source>An error occured while replaying the macro, execution stopped.</source> - <translation type="obsolete">Wystąpił błąd podczas ponownego odtwarzania makra, zatrzymano wykonywanie.</translation> - </message> - <message> - <source>An error occurred while replaying the macro, execution stopped.</source> - <translation>Wystąpił błąd podczas ponownego odtwarzania makra, zatrzymano wykonywanie.</translation> - </message> - <message> - <source>Macro mode. Type "%1" to stop recording and "%2" to play it</source> - <translation>Tryb makro. Wpisz "%1" aby zatrzymać nagrywanie albo "%2" aby je odtworzyć</translation> - </message> - <message> - <source>Stop Recording Macro</source> - <translation>Zatrzymaj nagrywanie makro</translation> - </message> -</context> -<context> - <name>Macros::Internal::MacrosPlugin</name> - <message> - <source>&Macros</source> - <translation>&Makra</translation> - </message> - <message> - <source>Record Macro</source> - <translation>Nagraj makro</translation> - </message> - <message> - <source>Ctrl+(</source> - <translation>Ctrl+(</translation> - </message> - <message> - <source>Alt+(</source> - <translation>Alt+(</translation> - </message> - <message> - <source>Stop Recording Macro</source> - <translation>Zatrzymaj nagrywanie makro</translation> - </message> - <message> - <source>Ctrl+)</source> - <translation>Ctrl+)</translation> - </message> - <message> - <source>Alt+)</source> - <translation>Alt+)</translation> - </message> - <message> - <source>Play Last Macro</source> - <translation>Odtwórz ostatnie makro</translation> - </message> - <message> - <source>Alt+R</source> - <translation>Alt+R</translation> - </message> - <message> - <source>Save Last Macro</source> - <translation>Zachowaj ostatnie makro</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::MemcheckConfigWidget</name> - <message> - <source>Valgrind Suppression File (*.supp);;All Files (*)</source> - <translation type="obsolete">Plik tłumienia valgrind'a (*.supp);;Wszystkie pliki (*)</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::MemcheckEngine</name> - <message> - <source>Analyzing Memory</source> - <translation type="obsolete">Analiza pamięci</translation> - </message> - <message> - <source>Analyzing memory of %1</source> - <translation type="obsolete">Analiza pamięci "%1"</translation> - </message> -</context> -<context> - <name>Analyzer::Internal</name> - <message> - <source>%1 in %2</source> - <translation type="obsolete">%1 w %2</translation> - </message> - <message> - <source>in %1</source> - <translation type="obsolete">w %1</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::MemcheckErrorView</name> - <message> - <source>Copy Selection</source> - <translation type="obsolete">Skopiuj selekcję</translation> - </message> - <message> - <source>Suppress Error</source> - <translation type="obsolete">Stłum błąd</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::AbstractMemcheckSettings</name> - <message> - <source>Memory Analysis</source> - <translation type="obsolete">Analiza pamięci</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::MemcheckTool</name> - <message> - <source>External Errors</source> - <translation type="obsolete">Błędy zewnętrzne</translation> - </message> - <message> - <source>Suppressions</source> - <translation type="obsolete">Tłumienia</translation> - </message> - <message> - <source>Definite Memory Leaks</source> - <translation type="obsolete">Wyraźne wycieki pamięci</translation> - </message> - <message> - <source>Possible Memory Leaks</source> - <translation type="obsolete">Prawdopodobne wycieki pamięci</translation> - </message> - <message> - <source>Use of Uninitialized Memory</source> - <translation type="obsolete">Użycie niezainicjalizowanej pamięci</translation> - </message> - <message> - <source>Invalid Frees</source> - <translation type="obsolete">Niepoprawne zwolnienia pamięci</translation> - </message> - <message> - <source>Show issues originating outside currently opened projects.</source> - <translation type="obsolete">Pokaż problemy mające źródło na zewnątrz otwartych projektów.</translation> - </message> - <message> - <source>These suppression files were used in the last memory analyzer run.</source> - <translation type="obsolete">Te pliki tłumienia były użyte podczas ostatniego uruchomienia analizatora pamięci.</translation> - </message> - <message> - <source>Analyze Memory</source> - <translation type="obsolete">Analiza pamięci</translation> - </message> - <message> - <source>Error Filter</source> - <translation type="obsolete">Filtr błędów</translation> - </message> - <message> - <source>Internal Error</source> - <translation type="obsolete">Błąd wewnętrzny</translation> - </message> - <message> - <source>Error occurred parsing valgrind output: %1</source> - <translation type="obsolete">Błąd podczas parsowania komunikatów valgrind'a: %1</translation> - </message> -</context> -<context> - <name>Analyzer::Internal::SuppressionDialog</name> - <message> - <source>Select Suppression File</source> - <translation type="obsolete">Wybierz plik tłumienia</translation> - </message> - <message> - <source>Save Suppression</source> - <translation type="obsolete">Zachowaj tłumienie</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::GccToolChainFactory</name> - <message> - <source>GCC</source> - <translation>GCC</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::GccToolChainConfigWidget</name> - <message> - <source>&Compiler path:</source> - <translation>Ścieżka do &kompilatora:</translation> - </message> - <message> - <source>&ABI:</source> - <translation>&ABI:</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::MingwToolChainFactory</name> - <message> - <source>MinGW</source> - <translation>MinGW</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::LinuxIccToolChainFactory</name> - <message> - <source>Linux ICC</source> - <translation>Linux ICC</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::MsvcToolChainFactory</name> - <message> - <source>MSVC</source> - <translation>MSVC</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::MsvcDebuggerConfigLabel</name> - <message> - <source><html><body><p>Specify the path to the <a href="%1">Windows Console Debugger executable</a> (%2) here.</p></body></html></source> - <extracomment>Label text for path configuration. %2 is "x-bit version".</extracomment> - <translation><html><body><p>Podaj ścieżkę do <a href="%1">pliku wykonywalnego Windows Console Debugger</a> (%2)</p></body></html></translation> - </message> - <message> - <source>64-bit version</source> - <translation>Wersja 64 bitowa</translation> - </message> - <message> - <source>32-bit version</source> - <translation>Wersja 32 bitowa</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::MsvcToolChainConfigWidget</name> - <message> - <source>The CDB debugger could not be found in %1</source> - <translation>Nie można odnaleźć debuggera CDB w %1</translation> - </message> -</context> -<context> - <name>ProjectExplorer::ProjectsMode</name> - <message> - <source>Projects</source> - <translation>Projekty</translation> - </message> -</context> -<context> - <name>ProjectExplorer::ToolChain</name> - <message> - <source>Clone of %1</source> - <translation>Klon %1</translation> - </message> -</context> -<context> - <name>ProjectExplorer::ToolChainConfigWidget</name> - <message> - <source>&Debugger:</source> - <translation>&Debugger:</translation> - </message> - <message> - <source>Autodetect</source> - <translation>Wykryj automatycznie</translation> - </message> -</context> -<context> - <name>ProjectExplorer::Internal::ToolChainModel</name> - <message> - <source>Auto-detected</source> - <translation>Automatycznie wykryte</translation> - </message> - <message> - <source>Manual</source> - <translation>Ustawione ręcznie</translation> - </message> - <message> - <source><nobr><b>ABI:</b> %1</source> - <translation><nobr><b>ABI:</b> %1</translation> - </message> - <message> - <source>not up-to-date</source> - <translation>nieaktualne</translation> - </message> - <message> - <source>Name</source> - <translation>Nazwa</translation> - </message> - <message> - <source>Type</source> - <translation>Typ</translation> - </message> - <message> - <source>Duplicate Tool Chain detected</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>The following tool chain was already configured:<br>&nbsp;%1<br>It was not configured again.</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Duplicate Tool Chains detected</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>The following tool chains were already configured:<br>&nbsp;%1<br>They were not configured again.</source> - <translation type="unfinished"></translation> + <source>Connecting to CODA server adapter failed: +</source> + <translation>Nie można połączyć się z serwerem CODA: +</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::ToolChainOptionsPage</name> <message> - <source>Tool Chains</source> - <translation>Zestawy narzędzi</translation> + <source>Could not obtain device.</source> + <translation>Brak połączenia z urządzeniem.</translation> </message> </context> <context> - <name>QmlDesigner::ItemLibraryWidget</name> - <message> - <source>Library</source> - <comment>Title of library view</comment> - <translation>Biblioteka</translation> - </message> - <message> - <source>Items</source> - <comment>Title of library items view</comment> - <translation>Elementy</translation> - </message> - <message> - <source>Resources</source> - <comment>Title of library resources view</comment> - <translation>Zasoby</translation> - </message> + <name>Debugger::Internal::IPCEngineHost</name> <message> - <source><Filter></source> - <comment>Library search input hint text</comment> - <translation><Filtr></translation> + <source>Fatal engine shutdown. Incompatible binary or IPC error.</source> + <translation>Silnik zakończył pracę fatalnym błędem. Niekompatybilny plik binarny lub błąd IPC.</translation> </message> </context> <context> - <name>QmlDesigner::StatesEditorModel</name> - <message> - <source>base state</source> - <comment>Implicit default state</comment> - <translation>Stan bazowy</translation> - </message> + <name>Debugger::Internal::LldbEngineHost</name> <message> - <source>Invalid state name</source> - <translation>Niepoprawna nazwa stanu</translation> + <source>qtcreator-lldb failed to start: %1</source> + <translation>Nie można uruchomić qtcreator-lldb: %1</translation> </message> <message> - <source>The empty string as a name is reserved for the base state.</source> - <translation>Pusta nazwa jest zarezerwowana dla stanu bazowego.</translation> + <source>Fatal engine shutdown. Consult debugger log for details.</source> + <translation>Silnik zakończył pracę fatalnym błędem. Sprawdź szczegóły w logu debuggera.</translation> </message> <message> - <source>Name already used in another state</source> - <translation>Nazwa jest już użyta w innym stanie</translation> + <source>SSH connection error: %1</source> + <translation>Błąd połączenia SSH: %1</translation> </message> </context> <context> - <name>QmlDesigner::StatesEditorView</name> - <message> - <source>State%1</source> - <comment>Default name for newly created states</comment> - <translation>Stan%1</translation> - </message> + <name>Debugger::Internal::LldbOptionsPage</name> <message> - <source>base state</source> - <translation>Stan bazowy</translation> + <source>LLDB</source> + <translation>LLDB</translation> </message> </context> <context> - <name>JsFileOptionsPage</name> - <message> - <source>Options</source> - <translation>Opcje</translation> - </message> + <name>Debugger::Internal::MemoryAgent</name> <message> - <source>Stateless library</source> - <translation>Biblioteka bezstanowa</translation> + <source>Memory at 0x%1</source> + <translation>Pamięć w 0x%1</translation> </message> <message> - <source>Usually each QML component instance has a unique copy of -imported JavaScript libraries. Indicating that a library is -stateless means that a single instance will be shared among -all components. Stateless libraries will not be able to access -QML component instance objects and properties directly.</source> - <translation>Zwykle każda instancja komponentu QML posiada unikalną kopię -zaimportowanych bibliotek JavaScript. Biblioteka bezstanowa oznacza, że -pojedyncza instancja będzie dzielona pomiędzy komponentami. Biblioteki -bezstanowe nie będą miały bezpośredniego dostępu do obiektów i właściwości -komponentów QML.</translation> + <source>No Memory Viewer Available</source> + <translation>Brak dostępnej przeglądarki pamięci</translation> </message> -</context> -<context> - <name>QmlJSEditor::JsFileWizard</name> <message> - <source>New %1</source> - <translation>Nowy %1</translation> + <source>The memory contents cannot be shown as no viewer plugin for binary data has been loaded.</source> + <translation>Zawartość pamięci nie może zostać pokazana, ponieważ nie załadowano żadnej wtyczki z przeglądarką dla binarnego edytora.</translation> </message> </context> <context> - <name>QmlJSEditor::QmlJSTextEditorWidget</name> - <message> - <source>Show Qt Quick ToolBar</source> - <translation>Pokaż pasek narzędzi Qt Quick</translation> - </message> - <message> - <source>Rename...</source> - <translation>Zmień nazwę...</translation> - </message> - <message> - <source>New id:</source> - <translation>Nowy identyfikator:</translation> - </message> - <message> - <source>Unused variable</source> - <translation>Nieużywana zmienna</translation> - </message> + <name>Debugger::Internal::QmlCppEngine</name> <message> - <source>Refactoring</source> - <translation>Refaktoryzacja</translation> + <source>The slave debugging engine required for combined QML/C++-Debugging could not be created: %1</source> + <translation>Nie można utorzyć wymaganego podrzędnego silnika debugującego dla wspólnego debugowania QML/C++: %1</translation> </message> <message> - <source>Rename id '%1'...</source> - <translation>Zmień nazwę identyfikatora "%1"...</translation> + <source>%1 debugger activated</source> + <translation>Uaktywniono debugger %1</translation> </message> </context> <context> - <name>QmlJSEditor::Internal::QmlJSOutlineTreeView</name> + <name>Debugger::Internal::QmlEngine</name> <message> - <source>Expand All</source> - <translation>Rozwiń wszystko</translation> + <source>QML Debugger connected.</source> + <translation>Podłączono debugger QML.</translation> </message> <message> - <source>Collapse All</source> - <translation>Zwiń wszystko</translation> + <source>Qt Creator</source> + <translation>Qt Creator</translation> </message> -</context> -<context> - <name>QmlJSEditor::Internal::QmlJSSnippetProvider</name> <message> - <source>QML</source> - <translation>QML</translation> + <source>Could not connect to the in-process QML debugger. +Do you want to retry?</source> + <translation>Nie można podłączyć się do wewnątrzprocesowego debuggera QML. +Ponowić próbę?</translation> </message> -</context> -<context> - <name>QmlJSInspector::Internal::QmlInspectorToolBar</name> <message> - <source>Apply Changes on Save</source> - <translation>Zastosuj zmiany przy zachowywaniu</translation> + <source>QML Debugger: Remote host closed connection.</source> + <translation>Debugger QML: Zdalny host zamknął połączenie.</translation> </message> <message> - <source>Show application on top</source> - <translation>Pokazuj aplikację na wierzchu</translation> + <source>QML Debugger: Could not connect to service '%1'.</source> + <translation>Debugger QML: Nie można nawiązać połączenia z serwisem "%1".</translation> </message> <message> - <source>Observer Mode</source> - <translation type="obsolete">Tryb Observer</translation> + <source>The port seems to be in use.</source> + <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> + <translation>Port prawdopodobnie zajęty.</translation> </message> <message> - <source>Inspector Mode</source> - <translation>Tryb Inspector</translation> + <source>The application is not set up for QML/JS debugging.</source> + <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> + <translation>Aplikacja nie jest przygotowana do debugowania QML/JS.</translation> </message> <message> - <source>Play/Pause Animations</source> - <translation>Odtwórz / zatrzymaj animacje</translation> + <source>Could not connect to the in-process QML debugger: +%1</source> + <extracomment>%1 is detailed error message</extracomment> + <translation>Nie można podłączyć się do wewnątrzprocesowego debuggera QML: +%1</translation> </message> <message> - <source>Select</source> - <translation>Wybierz</translation> + <source>Starting %1 %2</source> + <translation>Uruchamianie %1 %2</translation> </message> <message> - <source>Zoom</source> - <translation>Powiększ</translation> + <source>Failed to start application</source> + <translation>Nie można uruchomić aplikacji</translation> </message> <message> - <source>Color Picker</source> - <translation>Selektor kolorów</translation> + <source>Application startup failed: %1</source> + <translation>Błąd uruchamiania aplikacji: %1</translation> </message> <message> - <source>1x</source> - <translation>1x</translation> + <source>Stopped.</source> + <translation>Zatrzymano.</translation> </message> <message> - <source>0.5x</source> - <translation>0.5x</translation> + <source><p>An uncaught exception occurred:</p><p>%1</p></source> + <translation><p>Wystąpił nieobsłużony wyjątek:</p><p>%1</p></translation> </message> <message> - <source>0.25x</source> - <translation>0.25x</translation> + <source><p>An uncaught exception occurred in <i>%1</i>:</p><p>%2</p></source> + <translation><p>Wystąpił nieobsłużony wyjątek w <i>%1</i>:</p><p>%2</p></translation> </message> <message> - <source>0.125x</source> - <translation>0.125x</translation> + <source>Uncaught Exception</source> + <translation>Nieobsłużony wyjątek</translation> </message> <message> - <source>0.1x</source> - <translation>0.1x</translation> + <source>QML Debugger disconnected.</source> + <translation>Debugger QML rozłączony.</translation> </message> </context> <context> - <name>QmlJSInspector::Internal::QmlJSPropertyInspector</name> + <name>StackHandler</name> <message> - <source>Enter expression</source> - <translation>Wprowadź wyrażenie</translation> + <source>Address:</source> + <translation>Adres:</translation> </message> <message> - <source>Choose color</source> - <translation>Wybierz kolor</translation> + <source>Function:</source> + <translation>Funkcja:</translation> </message> <message> - <source>JavaScript expression for %1</source> - <translation>Wyrażenie JavaScript dla %1</translation> + <source>File:</source> + <translation>Plik:</translation> </message> <message> - <source>Color selection for %1</source> - <translation>Selekcja kolorów dla %1</translation> + <source>Line:</source> + <translation>Linia:</translation> </message> -</context> -<context> - <name>QmlJSTools::Internal::FunctionFilter</name> <message> - <source>Functions</source> - <translation type="obsolete">Funkcje</translation> + <source>From:</source> + <translation>Od:</translation> </message> <message> - <source>Methods and functions</source> - <translation>Metody i funkcje</translation> + <source>To:</source> + <translation>Do:</translation> </message> </context> <context> - <name>QmlJSTools::Internal::ModelManager</name> + <name>Git::Internal::BaseGitDiffArgumentsWidget</name> <message> - <source>Indexing</source> - <translation>Indeksowanie</translation> + <source>Use the patience algorithm for calculating the differences.</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>QmlJSTools::Internal::PluginDumper</name> <message> - <source>Type dump of QML plugin in %1 failed. -Errors: -%2 -</source> - <translation>Nie można zrzucić typów wtyczek QML w %1. -Błędy: -%2 -</translation> + <source>Patience</source> + <translation>Patience</translation> </message> <message> - <source>Type dump of C++ plugin failed. -First 10 lines or errors: - -%1 -Check 'General Messages' output pane for details.</source> - <translation>Nie można zrzucić typów wtyczek C++. -Pierwsze 10 linii błędów: - -%1 -Sprawdź szczegóły w panelu "Komunikaty ogólne".</translation> + <source>Ignore whitespace only changes.</source> + <translation>Ignoruj zmiany w białych znakach.</translation> </message> <message> - <source>Warnings while parsing qmltypes information of %1: -%2</source> - <translation type="unfinished"></translation> + <source>Ignore Whitespace</source> + <translation>Ignoruj białe znaki</translation> </message> +</context> +<context> + <name>Git::Internal::GitShowArgumentsWidget</name> <message> - <source>Type dump of C++ plugin failed. Parse error: -'%1'</source> - <translation>Nie można zrzucić typów wtyczek C++. Błąd parsowania: -"%1"</translation> + <source>Select the pretty printing format.</source> + <translation>Wybierz format ładnego drukowania.</translation> </message> <message> - <source>Could not open file '%1' for reading.</source> - <translation type="obsolete">Nie można otworzyć pliku %1 do odczytu.</translation> + <source>oneline</source> + <translation>jedna linia</translation> </message> <message> - <source>Failed to parse '%1'. -Error: %2</source> - <translation>Nie można sparsować "%1". -Błąd: %2</translation> + <source>short</source> + <translation>krótki</translation> </message> <message> - <source>Could not locate the helper application for dumping type information from C++ plugins. -Please build the debugging helpers on the Qt version options page.</source> - <translation>Nie można ustalić położenia aplikacji pomocniczej zrzucającej informacje o typach z wtyczek C++. -Przebuduj asystentów debuggera na stronie z opcjami wersji Qt.</translation> + <source>medium</source> + <translation>średni</translation> </message> -</context> -<context> - <name>QmlProjectManager::Internal::QmlProjectRunConfigurationWidget</name> <message> - <source>Manage Qt versions</source> - <translation>Zarządzanie wersjami Qt</translation> + <source>full</source> + <translation>pełny</translation> </message> <message> - <source>Qt version:</source> - <translation>Wersja Qt:</translation> + <source>fuller</source> + <translation>pełniejszy</translation> </message> <message> - <source>Arguments:</source> - <translation>Argumenty:</translation> + <source>email</source> + <translation>email</translation> </message> <message> - <source>Main QML file:</source> - <translation>Główny plik QML:</translation> + <source>raw</source> + <translation>surowy</translation> </message> +</context> +<context> + <name>Git::Internal::GitBlameArgumentsWidget</name> <message> - <source>Debugger:</source> - <translation>Debugger:</translation> + <source>Hide the date of a change from the output.</source> + <translation>Ukrywa datę zmiany na wyjściu.</translation> </message> <message> - <source>Run Environment</source> - <translation>Środowisko uruchamiania</translation> + <source>Omit Date</source> + <translation>Pomiń datę</translation> </message> <message> - <source>System Environment</source> - <translation>Środowisko systemowe</translation> + <source>Ignore whitespace only changes.</source> + <translation>Ignoruj zmiany w białych znakach.</translation> </message> <message> - <source>Invalid Qt version</source> - <translation>Niepoprawna wersja Qt</translation> + <source>Ignore Whitespace</source> + <translation>Ignoruj białe znaki</translation> </message> </context> <context> - <name>Qt4ProjectManager::QmlDebuggingLibrary</name> + <name>GLSLEditor</name> <message> - <source>Only available for Qt 4.7.1 or newer.</source> - <translation>Dostępne jedynie dla wersji Qt 4.7.1 lub nowszej.</translation> + <source>GLSL</source> + <translation>GLSL</translation> </message> +</context> +<context> + <name>GLSLEditor::Internal::GLSLEditorPlugin</name> <message> - <source>QML Debugging</source> - <translation>Debugowanie QML</translation> + <source>GLSL</source> + <extracomment>GLSL sub-menu in the Tools menu</extracomment> + <translation>GLSL</translation> </message> <message> - <source>The target directory %1 could not be created.</source> - <translation>Nie można utworzyć docelowego katalogu %1.</translation> + <source>Creates a fragment shader in the OpenGL/ES 2.0 Shading Language (GLSL/ES). Fragment shaders generate the final pixel colors for triangles, points and lines rendered with OpenGL.</source> + <translation>Tworzy fragment shader OpenGL/ES 2.0 w języku GLSL/ES. Fragment shadery generują końcowe kolory pikseli trójkątów, punktów i linii renderowanych przez OpenGL.</translation> </message> <message> - <source>QML Debugging library could not be built in any of the directories: -- %1 - -Reason: %2</source> - <translation>Nie można zbudować biblioteki debugującej w żadnym z katalogów: -- %1 - -Powód: %2</translation> + <source>Fragment Shader (OpenGL/ES 2.0)</source> + <translation>Fragment Shader (OpenGL/ES 2.0)</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Qt4Target</name> <message> - <source>Desktop</source> - <comment>Qt4 Desktop target display name</comment> - <translation>Desktop</translation> + <source>Creates a vertex shader in the OpenGL/ES 2.0 Shading Language (GLSL/ES). Vertex shaders transform the positions, normals and texture co-ordinates of triangles, points and lines rendered with OpenGL.</source> + <translation>Tworzy vertex shader OpenGL/ES 2.0 w języku GLSL/ES. Vertex shadery zmieniają transformacje, normalne i współrzędne tekstur trójkątów, punktów i linii renderowanych przez OpenGL.</translation> </message> <message> - <source>Qt Simulator</source> - <comment>Qt4 Simulator target display name</comment> - <translation>Symulator Qt</translation> + <source>Vertex Shader (OpenGL/ES 2.0)</source> + <translation>Vertex Shader (OpenGL/ES 2.0)</translation> </message> <message> - <source>Maemo5</source> - <comment>Qt4 Maemo5 target display name</comment> - <translation>Maemo5</translation> + <source>Creates a fragment shader in the Desktop OpenGL Shading Language (GLSL). Fragment shaders generate the final pixel colors for triangles, points and lines rendered with OpenGL.</source> + <translation>Tworzy fragment shader Desktop OpenGL w języku GLSL. Fragment shadery generują końcowe kolory pikseli trójkątów, punktów i linii renderowanych przez OpenGL.</translation> </message> <message> - <source>Harmattan</source> - <comment>Qt4 Harmattan target display name</comment> - <translation>Harmattan</translation> + <source>Fragment Shader (Desktop OpenGL)</source> + <translation>Fragment Shader (Desktop OpenGL)</translation> </message> <message> - <source>Meego</source> - <comment>Qt4 Meego target display name</comment> - <translation>Meego</translation> + <source>Creates a vertex shader in the Desktop OpenGL Shading Language (GLSL). Vertex shaders transform the positions, normals and texture co-ordinates of triangles, points and lines rendered with OpenGL.</source> + <translation>Tworzy vertex shader Desktop OpenGL w języku GLSL. Vertex shadery zmieniają transformacje, normalne i współrzędne tekstur trójkątów, punktów i linii renderowanych przez OpenGL.</translation> </message> <message> - <source>Symbian Emulator</source> - <comment>Qt4 Symbian Emulator target display name</comment> - <translation>Emulator Symbiana</translation> + <source>Vertex Shader (Desktop OpenGL)</source> + <translation>Vertex Shader (Desktop OpenGL)</translation> </message> +</context> +<context> + <name>GLSLEditor::GLSLFileWizard</name> <message> - <source>Symbian Device</source> - <comment>Qt4 Symbian Device target display name</comment> - <translation>Urządzenie Symbian</translation> + <source>New %1</source> + <translation>Nowy %1</translation> + </message> +</context> +<context> + <name>Macros::Internal::MacroLocatorFilter</name> + <message> + <source>Macros</source> + <translation>Makra</translation> + </message> +</context> +<context> + <name>Macros::MacroManager</name> + <message> + <source>Playing Macro</source> + <translation>Odtwarzanie makro</translation> + </message> + <message> + <source>An error occurred while replaying the macro, execution stopped.</source> + <translation>Wystąpił błąd podczas ponownego odtwarzania makra, zatrzymano wykonywanie.</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigurations</name> <message> - <source>(default for %1)</source> - <translation type="obsolete">(domyślna dla %1)</translation> + <source>Macro mode. Type "%1" to stop recording and "%2" to play it</source> + <translation>Tryb makro. Wpisz "%1" aby zatrzymać nagrywanie albo "%2" aby je odtworzyć</translation> + </message> + <message> + <source>Stop Recording Macro</source> + <translation>Zatrzymaj nagrywanie makro</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigurationsSettingsWidget</name> + <name>Macros::Internal::MacrosPlugin</name> <message> - <source>Physical Device</source> - <translation type="obsolete">Urządzenie fizyczne</translation> + <source>&Macros</source> + <translation>&Makra</translation> </message> <message> - <source>Emulator (Qemu)</source> - <translation type="obsolete">Emulator (Qemu)</translation> + <source>Record Macro</source> + <translation>Nagraj makro</translation> </message> <message> - <source>Choose Public Key File</source> - <translation type="obsolete">Wybierz plik z kluczem publicznym</translation> + <source>Ctrl+(</source> + <translation>Ctrl+(</translation> </message> <message> - <source>Public Key Files(*.pub);;All Files (*)</source> - <translation type="obsolete">Pliki z kluczami publicznymi (*.pub);;Wszystkie pliki (*)</translation> + <source>Alt+(</source> + <translation>Alt+(</translation> </message> <message> - <source>Stop Deploying</source> - <translation type="obsolete">Zatrzymaj instalowanie</translation> + <source>Stop Recording Macro</source> + <translation>Zatrzymaj nagrywanie makro</translation> </message> <message> - <source>Deployment Failed</source> - <translation type="obsolete">Błąd instalacji</translation> + <source>Ctrl+)</source> + <translation>Ctrl+)</translation> </message> <message> - <source>Deployment Succeeded</source> - <translation type="obsolete">Instalacja zakończona pomyślnie</translation> + <source>Alt+)</source> + <translation>Alt+)</translation> </message> <message> - <source>Key was successfully deployed.</source> - <translation type="obsolete">Klucz został pomyślnie zainstalowany.</translation> + <source>Play Last Macro</source> + <translation>Odtwórz ostatnie makro</translation> </message> <message> - <source>Deploy Public Key ...</source> - <translation type="obsolete">Instaluj klucz publiczny...</translation> + <source>Alt+R</source> + <translation>Alt+R</translation> </message> <message> - <source>You will need at least one port.</source> - <translation type="obsolete">Wymagany jest przynajmniej jeden port.</translation> + <source>Save Last Macro</source> + <translation>Zachowaj ostatnie makro</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigWizardStartPage</name> + <name>ProjectExplorer::Internal::GccToolChainFactory</name> <message> - <source>General Information</source> - <translation type="obsolete">Informacje ogólne</translation> + <source>GCC</source> + <translation>GCC</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigWizardPreviousKeySetupCheckPage</name> + <name>ProjectExplorer::Internal::GccToolChainConfigWidget</name> <message> - <source>Device Status Check</source> - <translation type="obsolete">Kontrola stanu urządzenia</translation> + <source>&Compiler path:</source> + <translation>Ścieżka do &kompilatora:</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigWizardReuseKeysCheckPage</name> <message> - <source>Existing Keys Check</source> - <translation type="obsolete">Kontrola istniejących kluczy</translation> + <source>&ABI:</source> + <translation>&ABI:</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigWizardKeyCreationPage</name> - <message> - <source>Key Creation</source> - <translation type="obsolete">Tworzenie klucza</translation> - </message> - <message> - <source>Cannot Create Keys</source> - <translation type="obsolete">Nie można utworzyć kluczy</translation> - </message> - <message> - <source>The path you have entered is not a directory.</source> - <translation type="obsolete">Podana ścieżka nie jest katalogiem.</translation> - </message> - <message> - <source>The directory you have entered does not exist and cannot be created.</source> - <translation type="obsolete">Podany katalog nie istnieje i nie może zostać utworzony.</translation> - </message> - <message> - <source>Creating keys ... </source> - <translation type="obsolete">Tworzenie kluczy...</translation> - </message> - <message> - <source>Key creation failed: %1</source> - <translation type="obsolete">Błąd tworzenia kluczy: %1</translation> - </message> - <message> - <source>Done.</source> - <translation type="obsolete">Zrobione.</translation> - </message> + <name>ProjectExplorer::Internal::MingwToolChainFactory</name> <message> - <source>Could Not Save File</source> - <translation type="obsolete">Nie można zachować pliku</translation> + <source>MinGW</source> + <translation>MinGW</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::LinuxIccToolChainFactory</name> <message> - <source>Failed to save key file %1: %2</source> - <translation type="obsolete">Nie można zachować pliku klucza %1: %2</translation> + <source>Linux ICC</source> + <translation>Linux ICC</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigWizardKeyDeploymentPage</name> + <name>ProjectExplorer::Internal::MsvcToolChainFactory</name> <message> - <source>Key Deployment</source> - <translation type="obsolete">Instalacja klucza</translation> + <source>MSVC</source> + <translation>MSVC</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::MsvcDebuggerConfigLabel</name> <message> - <source>Deploying... </source> - <translation type="obsolete">Instalowanie...</translation> + <source><html><body><p>Specify the path to the <a href="%1">Windows Console Debugger executable</a> (%2) here.</p></body></html></source> + <extracomment>Label text for path configuration. %2 is "x-bit version".</extracomment> + <translation><html><body><p>Podaj ścieżkę do <a href="%1">pliku wykonywalnego Windows Console Debugger</a> (%2)</p></body></html></translation> </message> <message> - <source>Key Deployment Failure</source> - <translation type="obsolete">Błąd instalacji klucza</translation> + <source>64-bit version</source> + <translation>Wersja 64 bitowa</translation> </message> <message> - <source>Key Deployment Success</source> - <translation type="obsolete">Instalacja klucza zakończona pomyślnie</translation> + <source>32-bit version</source> + <translation>Wersja 32 bitowa</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::MsvcToolChainConfigWidget</name> <message> - <source>The key was successfully deployed. You may now close the "%1" application and continue.</source> - <translation type="obsolete">Klucz został pomyślnie zainstalowany. Możesz teraz zamknąć aplikację "%1" i kontynuować.</translation> + <source>The CDB debugger could not be found in %1</source> + <translation>Nie można odnaleźć debuggera CDB w %1</translation> </message> +</context> +<context> + <name>ProjectExplorer::ProjectsMode</name> <message> - <source>Done.</source> - <translation type="obsolete">Zrobione.</translation> + <source>Projects</source> + <translation>Projekty</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigWizardFinalPage</name> + <name>ProjectExplorer::ToolChain</name> <message> - <source>Setup Finished</source> - <translation type="obsolete">Konfiguracja zakończona</translation> + <source>Clone of %1</source> + <translation>Klon %1</translation> </message> +</context> +<context> + <name>ProjectExplorer::ToolChainConfigWidget</name> <message> - <source>The new device configuration will now be created and a test procedure will be run to check whether Qt Creator can connect to the device and to provide some information about its features.</source> - <translation type="obsolete">Zostanie teraz utworzona nowa konfiguracja urządzenia oraz uruchomiona procedura testowa sprawdzająca połączenie Qt Creatora z urządzeniem i dostarczająca informacji o jego cechach.</translation> + <source>&Debugger:</source> + <translation>&Debugger:</translation> </message> <message> - <source>The new device configuration will now be created.</source> - <translation type="obsolete">Zostanie utworzona nowa konfiguracja urządzenia.</translation> + <source>Autodetect</source> + <translation>Wykryj automatycznie</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigWizard</name> + <name>ProjectExplorer::Internal::ToolChainModel</name> <message> - <source>New Device Configuration Setup</source> - <translation type="obsolete">Nowa konfiguracja urządzenia</translation> + <source>Auto-detected</source> + <translation>Automatycznie wykryte</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoGlobal</name> <message> - <source>Could not connect to host: %1</source> - <translation type="obsolete">Nie można połączyć się z hostem: %1</translation> + <source>Manual</source> + <translation>Ustawione ręcznie</translation> </message> <message> - <source> -Did you start Qemu?</source> - <translation type="obsolete"> -Czy Qemu został uruchomiony?</translation> + <source><nobr><b>ABI:</b> %1</source> + <translation><nobr><b>ABI:</b> %1</translation> </message> <message> - <source> -Is the device connected and set up for network access?</source> - <translation type="obsolete"> -Czy urządzenie jest podłączone i czy zostało skonfigurowane połączenie sieciowe?</translation> + <source>not up-to-date</source> + <translation>nieaktualne</translation> </message> <message> - <source>(No device)</source> - <translation type="obsolete">(Brak urządzenia)</translation> + <source>Name</source> + <translation>Nazwa</translation> </message> <message> - <source>SDK Connectivity</source> - <translation type="obsolete">Łączność SDK</translation> + <source>Type</source> + <translation>Typ</translation> </message> <message> - <source>Mad Developer</source> - <translation type="obsolete">Mad Developer</translation> + <source>Duplicate Tool Chain detected</source> + <translation>Wykryto powielony zestaw narzędzi</translation> </message> <message> - <source>Failed to remove directory '%1'.</source> - <translation type="obsolete">Nie można usunąć katalogu "%1".</translation> + <source>The following tool chain was already configured:<br>&nbsp;%1<br>It was not configured again.</source> + <translation>Następujący zestaw narzędzi został już skonfigurowany:<br>&nbsp;%1<br>Nie został on ponownie skonfigurowany.</translation> </message> <message> - <source>Failed to remove file '%1'.</source> - <translation type="obsolete">Nie można usunąć pliku "%1".</translation> + <source>Duplicate Tool Chains detected</source> + <translation>Wykryto powielone zestawy narzędzi</translation> </message> <message> - <source>Failed to create directory '%1'.</source> - <translation type="obsolete">Nie można utworzyć katalogu "%1".</translation> + <source>The following tool chains were already configured:<br>&nbsp;%1<br>They were not configured again.</source> + <translation>Następujące zestawy narzędzi zostały już skonfigurowane:<br>&nbsp;%1<br>Nie zostały one ponownie skonfigurowane.</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::ToolChainOptionsPage</name> <message> - <source>Could not copy file '%1' to '%2'.</source> - <translation type="obsolete">Nie można skopiować pliku "%1" do "%2".</translation> + <source>Tool Chains</source> + <translation>Zestawy narzędzi</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoKeyDeployer</name> + <name>QmlDesigner::ItemLibraryWidget</name> <message> - <source>Could not read public key file '%1'.</source> - <translation type="obsolete">Nie można odczytać pliku z publicznym kluczem "%1".</translation> + <source>Library</source> + <comment>Title of library view</comment> + <translation>Biblioteka</translation> </message> <message> - <source>Connection failed: %1</source> - <translation type="obsolete">Błąd połączenia: %1</translation> + <source>Items</source> + <comment>Title of library items view</comment> + <translation>Elementy</translation> </message> <message> - <source>Key deployment failed: %1.</source> - <translation type="obsolete">Błąd instalacji klucza: %1.</translation> + <source>Resources</source> + <comment>Title of library resources view</comment> + <translation>Zasoby</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoPerTargetDeviceConfigurationListModel</name> <message> - <source>(default)</source> - <translation type="obsolete">(domyślna)</translation> + <source><Filter></source> + <comment>Library search input hint text</comment> + <translation><Filtr></translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoPublishedProjectModel</name> + <name>QmlDesigner::StatesEditorModel</name> <message> - <source>Include in package</source> - <translation type="obsolete">Dołącz do pakietu</translation> + <source>base state</source> + <comment>Implicit default state</comment> + <translation>Stan bazowy</translation> </message> <message> - <source>Include</source> - <translation type="obsolete">Dołącz</translation> + <source>Invalid state name</source> + <translation>Niepoprawna nazwa stanu</translation> </message> <message> - <source>Do not include</source> - <translation type="obsolete">Nie dołączaj</translation> + <source>The empty string as a name is reserved for the base state.</source> + <translation>Pusta nazwa jest zarezerwowana dla stanu bazowego.</translation> + </message> + <message> + <source>Name already used in another state</source> + <translation>Nazwa jest już użyta w innym stanie</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoPublisherFremantleFree</name> + <name>QmlDesigner::StatesEditorView</name> <message> - <source>Canceled.</source> - <translation type="obsolete">Anulowano.</translation> + <source>base state</source> + <translation>Stan bazowy</translation> </message> +</context> +<context> + <name>JsFileOptionsPage</name> <message> - <source>Publishing canceled by user.</source> - <translation type="obsolete">Publikowanie anulowane przez użytkownika.</translation> + <source>Options</source> + <translation>Opcje</translation> </message> <message> - <source>The project is missing some information important to publishing:</source> - <translation type="obsolete">Brak ważnych informacji w projekcie potrzebnych do opublikowania:</translation> + <source>Stateless library</source> + <translation>Biblioteka bezstanowa</translation> </message> <message> - <source>Publishing failed: Missing project information.</source> - <translation type="obsolete">Błąd publikowania: Brak informacji w projekcie.</translation> + <source>Usually each QML component instance has a unique copy of +imported JavaScript libraries. Indicating that a library is +stateless means that a single instance will be shared among +all components. Stateless libraries will not be able to access +QML component instance objects and properties directly.</source> + <translation>Zwykle każda instancja komponentu QML posiada unikalną kopię +zaimportowanych bibliotek JavaScript. Biblioteka bezstanowa oznacza, że +pojedyncza instancja będzie dzielona pomiędzy komponentami. Biblioteki +bezstanowe nie będą miały bezpośredniego dostępu do obiektów i właściwości +komponentów QML.</translation> </message> +</context> +<context> + <name>QmlJSEditor::JsFileWizard</name> <message> - <source>Removing left-over temporary directory ...</source> - <translation type="obsolete">Usuwanie pozostałości po katalogu tymczasowym...</translation> + <source>New %1</source> + <translation>Nowy %1</translation> </message> +</context> +<context> + <name>QmlJSEditor::QmlJSTextEditorWidget</name> <message> - <source>Error removing temporary directory: %1</source> - <translation type="obsolete">Błąd usuwania katalogu tymczasowego: %1</translation> + <source>Show Qt Quick ToolBar</source> + <translation>Pokaż pasek narzędzi Qt Quick</translation> </message> <message> - <source>Publishing failed: Could not create source package.</source> - <translation type="obsolete">Błąd publikowania: nie można utworzyć pakietu źródłowego.</translation> + <source>Rename...</source> + <translation>Zmień nazwę...</translation> </message> <message> - <source>Setting up temporary directory ...</source> - <translation type="obsolete">Konfigurowanie katalogu tymczasowego...</translation> + <source>New id:</source> + <translation>Nowy identyfikator:</translation> </message> <message> - <source>Error: Could not create temporary directory.</source> - <translation type="obsolete">Błąd: Nie można utworzyć katalogu tymczasowego.</translation> + <source>Unused variable</source> + <translation>Nieużywana zmienna</translation> </message> <message> - <source>Error: Could not copy project directory</source> - <translation type="obsolete">Błąd: Nie można skopiować katalogu projektu</translation> + <source>Refactoring</source> + <translation>Refaktoryzacja</translation> </message> <message> - <source>Error: Could not fix newlines</source> - <translation type="obsolete">Błąd: Nie można naprawić znaków końca linii</translation> + <source>Rename id '%1'...</source> + <translation>Zmień nazwę identyfikatora "%1"...</translation> </message> +</context> +<context> + <name>QmlJSEditor::Internal::QmlJSOutlineTreeView</name> <message> - <source>Publishing failed: Could not create package.</source> - <translation type="obsolete">Błąd publikowania: nie można utworzyć pakietu.</translation> + <source>Expand All</source> + <translation>Rozwiń wszystko</translation> </message> <message> - <source>Cleaning up temporary directory ...</source> - <translation type="obsolete">Czyszczenie katalogu tymczasowego...</translation> + <source>Collapse All</source> + <translation>Zwiń wszystko</translation> </message> +</context> +<context> + <name>QmlJSEditor::Internal::QmlJSSnippetProvider</name> <message> - <source>Failed to create directory '%1'.</source> - <translation type="obsolete">Nie można utworzyć katalogu "%1".</translation> + <source>QML</source> + <translation>QML</translation> </message> +</context> +<context> + <name>QmlJSInspector::Internal::QmlJSPropertyInspector</name> <message> - <source>Could not copy file '%1' to '%2'.</source> - <translation type="obsolete">Nie można skopiować pliku "%1" do "%2".</translation> + <source>Enter expression</source> + <translation>Wprowadź wyrażenie</translation> </message> <message> - <source>Error: Cannot open file '%1'.</source> - <translation type="obsolete">Błąd: nie można otworzyć pliku "%1".</translation> + <source>Choose color</source> + <translation>Wybierz kolor</translation> </message> <message> - <source>Error: Failed to start dpkg-buildpackage.</source> - <translation type="obsolete">Błąd: nie można uruchomić dpkg-buildpackage.</translation> + <source>JavaScript expression for %1</source> + <translation>Wyrażenie JavaScript dla %1</translation> </message> <message> - <source>Error: dpkg-buildpackage did not succeed.</source> - <translation type="obsolete">Błąd: dpkg-buildpackage zakończony błędem.</translation> + <source>Color selection for %1</source> + <translation>Selekcja kolorów dla %1</translation> </message> +</context> +<context> + <name>QmlJSTools::Internal::FunctionFilter</name> <message> - <source>Package creation failed.</source> - <translation type="obsolete">Błąd tworzenia pakietu.</translation> + <source>Methods and functions</source> + <translation>Metody i funkcje</translation> </message> +</context> +<context> + <name>QmlJSTools::Internal::ModelManager</name> <message> - <source>Done.</source> - <translation type="obsolete">Zrobione.</translation> + <source>Indexing</source> + <translation>Indeksowanie</translation> </message> +</context> +<context> + <name>QmlJSTools::Internal::PluginDumper</name> <message> - <source>Packaging finished successfully. The following files were created: + <source>Type dump of QML plugin in %1 failed. +Errors: +%2 </source> - <translation type="obsolete">Tworzenie pakietu zakończone pomyślnie. Zostały utworzone następujące pliki: + <translation>Nie można zrzucić typów wtyczek QML w %1. +Błędy: +%2 </translation> </message> <message> - <source>Building source package...</source> - <translation type="obsolete">Budowanie pakietu źródłowego...</translation> - </message> - <message> - <source>Starting scp ...</source> - <translation type="obsolete">Uruchamianie scp...</translation> - </message> - <message> - <source>SSH error: %1</source> - <translation type="obsolete">Błąd SSH: %1</translation> + <source>Type dump of C++ plugin failed. +First 10 lines or errors: + +%1 +Check 'General Messages' output pane for details.</source> + <translation>Nie można zrzucić typów wtyczek C++. +Pierwsze 10 linii błędów: + +%1 +Sprawdź szczegóły w panelu "Komunikaty ogólne".</translation> </message> <message> - <source>Upload failed.</source> - <translation type="obsolete">Błąd przesyłania.</translation> + <source>Warnings while parsing qmltypes information of %1: +%2</source> + <translation>Ostrzeżenia podczas parsowania informacji qmltypes w %1: +%2</translation> </message> <message> - <source>Error uploading file: %1</source> - <translation type="obsolete">Błąd przesyłania pliku: %1</translation> + <source>Type dump of C++ plugin failed. Parse error: +'%1'</source> + <translation>Nie można zrzucić typów wtyczek C++. Błąd parsowania: +"%1"</translation> </message> <message> - <source>Error uploading file.</source> - <translation type="obsolete">Błąd przesyłania pliku.</translation> + <source>Failed to parse '%1'. +Error: %2</source> + <translation>Nie można sparsować "%1". +Błąd: %2</translation> </message> <message> - <source>All files uploaded.</source> - <translation type="obsolete">Przesłano wszystkie pliki.</translation> + <source>Could not locate the helper application for dumping type information from C++ plugins. +Please build the debugging helpers on the Qt version options page.</source> + <translation>Nie można ustalić położenia aplikacji pomocniczej zrzucającej informacje o typach z wtyczek C++. +Przebuduj asystentów debuggera na stronie z opcjami wersji Qt.</translation> </message> +</context> +<context> + <name>QmlProjectManager::Internal::QmlProjectRunConfigurationWidget</name> <message> - <source>Upload succeeded. You should shortly receive an email informing you about the outcome of the build process.</source> - <translation type="obsolete">Przesyłanie zakończone pomyślnie. Wkrótce powinien zostać dostarczony email informujący o rezultacie procesu budowania.</translation> + <source>Manage Qt versions</source> + <translation>Zarządzanie wersjami Qt</translation> </message> <message> - <source>Uploading file %1 ...</source> - <translation type="obsolete">Przesyłanie pliku %1...</translation> + <source>Qt version:</source> + <translation>Wersja Qt:</translation> </message> <message> - <source>Cannot open file for reading: %1</source> - <translation type="obsolete">Nie można otworzyć pliku do odczytu: %1</translation> + <source>Arguments:</source> + <translation>Argumenty:</translation> </message> <message> - <source>Cannot read file: %1</source> - <translation type="obsolete">Nie można odczytać pliku: %1</translation> + <source>Main QML file:</source> + <translation>Główny plik QML:</translation> </message> <message> - <source>Failed to adapt desktop file '%1'.</source> - <translation type="obsolete">Nie można zaadaptować pliku desktopowego "%1".</translation> + <source>Debugger:</source> + <translation>Debugger:</translation> </message> <message> - <source>The package description is empty. You must set one in Projects -> Run -> Create Package -> Details.</source> - <translation type="obsolete">Pusty opis pakietu. Należy go ustawić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> + <source>Run Environment</source> + <translation>Środowisko uruchamiania</translation> </message> <message> - <source>The package description is '%1', which is probably not what you want. Please change it in Projects -> Run -> Create Package -> Details.</source> - <translation type="obsolete">Prawdopodobnie niepoprawny opis pakietu ("%1"). Można go zmienić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> + <source>System Environment</source> + <translation>Środowisko systemowe</translation> </message> <message> - <source>You have not set an icon for the package manager. The icon must be set in Projects -> Run -> Create Package -> Details.</source> - <translation type="obsolete">Nie ustawiono ikony dla menedżera pakietu. Należy ją ustawić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> + <source>Invalid Qt version</source> + <translation>Niepoprawna wersja Qt</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoPublishingUploadSettingsPageFremantleFree</name> + <name>Qt4ProjectManager::QmlDebuggingLibrary</name> <message> - <source>Publishing to Fremantle's "Extras-devel/free" Repository</source> - <translation type="obsolete">Publikowanie do repozytorium Fremantle'a "Extras-devel/free"</translation> + <source>Only available for Qt 4.7.1 or newer.</source> + <translation>Dostępne jedynie dla wersji Qt 4.7.1 lub nowszej.</translation> </message> <message> - <source>Upload options</source> - <translation type="obsolete">Ustawienia przesyłania</translation> + <source>QML Debugging</source> + <translation>Debugowanie QML</translation> </message> <message> - <source>Choose a private key file</source> - <translation type="obsolete">Wybierz plik z kluczem prywatnym</translation> + <source>The target directory %1 could not be created.</source> + <translation>Nie można utworzyć docelowego katalogu %1.</translation> + </message> + <message> + <source>QML Debugging library could not be built in any of the directories: +- %1 + +Reason: %2</source> + <translation>Nie można zbudować biblioteki debugującej w żadnym z katalogów: +- %1 + +Powód: %2</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoPublishingWizardFactoryFremantleFree</name> + <name>Qt4ProjectManager::Qt4Target</name> <message> - <source>Publish for "Fremantle Extras-devel free" repository</source> - <translation type="obsolete">Publikowanie do repozytorium "Fremantle Extras-devel free"</translation> + <source>Desktop</source> + <comment>Qt4 Desktop target display name</comment> + <translation>Desktop</translation> </message> <message> - <source>This wizard will create a source archive and optionally upload it to a build server, where the project will be compiled and packaged and then moved to the "Extras-devel free" repository, from where users can install it onto their N900 devices. For the upload functionality, an account at garage.maemo.org is required.</source> - <translation type="obsolete">Ten kreator utworzy archiwum źródłowe i opcjonalnie prześle je do serwera budowy. Zostanie on tam skompilowany, zapakowany i przeniesiony do repozytorium "Extras-devel free". Użytkownicy będą mogli wówczas zainstalować go na swoich urządzeniach N900. W celu wysłania na serwer należy posiadać konto na garage.maemo.org.</translation> + <source>Qt Simulator</source> + <comment>Qt4 Simulator target display name</comment> + <translation>Symulator Qt</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoPublishingWizardFremantleFree</name> <message> - <source>Publishing to Fremantle's "Extras-devel free" Repository</source> - <translation type="obsolete">Publikowanie do repozytorium Fremantle'a "Extras-devel free"</translation> + <source>Maemo5</source> + <comment>Qt4 Maemo5 target display name</comment> + <translation>Maemo5</translation> </message> <message> - <source>Build Settings</source> - <translation type="obsolete">Ustawienia budowania</translation> + <source>Harmattan</source> + <comment>Qt4 Harmattan target display name</comment> + <translation>Harmattan</translation> </message> <message> - <source>Upload Settings</source> - <translation type="obsolete">Ustawienia przesyłania</translation> + <source>Meego</source> + <comment>Qt4 Meego target display name</comment> + <translation>Meego</translation> </message> <message> - <source>Result</source> - <translation type="obsolete">Rezultat</translation> + <source>Symbian Emulator</source> + <comment>Qt4 Symbian Emulator target display name</comment> + <translation>Emulator Symbiana</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoRemoteProcessesDialog</name> <message> - <source>Remote Error</source> - <translation type="obsolete">Zdalny błąd</translation> + <source>Symbian Device</source> + <comment>Qt4 Symbian Device target display name</comment> + <translation>Urządzenie Symbian</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoRemoteProcessList</name> + <name>Qt4ProjectManager::Internal::GcceToolChainFactory</name> <message> - <source>Connection failure: %1</source> - <translation type="obsolete">Błąd połączenia: %1</translation> + <source>GCCE</source> + <translation>GCCE</translation> </message> <message> - <source>Error: Remote process failed to start: %1</source> - <translation type="obsolete">Błąd: nie można uruchomić zdalnego procesu: %1</translation> + <source>GCCE from Qt version</source> + <translation>GCCE z wersji Qt</translation> </message> <message> - <source>Error: Remote process crashed: %1</source> - <translation type="obsolete">Błąd: zdalny proces zakończony błędem: %1</translation> + <source>GCCE (%1)</source> + <translation>GCCE (%1)</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::Qt4SymbianTarget</name> <message> - <source>Remote process failed.</source> - <translation type="obsolete">Zdalny proces zakończony błędem.</translation> + <source><b>Device:</b> Not connected</source> + <translation><b>Urządzenie:</b> Nie podłączone</translation> </message> <message> - <source> -Remote stderr was: %1</source> - <translation type="obsolete"> -Zawartość zdalnego stderr: %1</translation> + <source><b>Device:</b> %1</source> + <translation><b>Urządzenie:</b> %1</translation> </message> <message> - <source>PID</source> - <translation type="obsolete">PID</translation> + <source><b>Device:</b> %1, %2</source> + <translation><b>Urządzenie:</b> %1, %2</translation> </message> <message> - <source>Command Line</source> - <translation type="obsolete">Linia komend</translation> + <source><b>IP address:</b> %1:%2</source> + <translation><b>Adres IP:</b> %1:%2</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::MaemoDeviceConfigurationsSettingsPage</name> + <name>Qt4ProjectManager::Internal::RvctToolChainFactory</name> <message> - <source>Maemo Device Configurations</source> - <translation type="obsolete">Konfiguracje urządzenia Maemo</translation> + <source>ARMv5</source> + <translation>ARMv5</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoQemuSettingsPage</name> <message> - <source>Qemu Settings</source> - <translation type="obsolete">Ustawienia Qemu</translation> + <source>ARMv6</source> + <translation>ARMv6</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoQemuCrashDialog</name> <message> - <source>Qemu error</source> - <translation type="obsolete">Błąd Qemu</translation> + <source>RVCT</source> + <translation>RVCT</translation> </message> <message> - <source>Qemu crashed.</source> - <translation type="obsolete">Qemu zakończone błędem.</translation> + <source>RVCT (%1 %2.%3 Build %4)</source> + <extracomment>%1 arm version, %2 major version, %3 minor version, %4 build number</extracomment> + <translation>RVCT (%1 %2.%3 numer budowy %4)</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60CertificateInfo</name> <message> - <source>Click here to change the OpenGL mode.</source> - <translation type="obsolete">Kliknij tutaj aby zmienić tryb OpenGL.</translation> + <source>The certificate "%1" has already expired and cannot be used. +Expiration date: %2.</source> + <translation>Certyfikat "%1" nie może zostać użyty z powodu utraty ważności. +Data wygaśnięcia: %2.</translation> </message> <message> - <source>You have configured Qemu to use OpenGL hardware acceleration, which might not be supported by your system. You could try using software rendering instead.</source> - <translation type="obsolete">Skonfigurowano Qemu aby używało sprzętowej akceleracji OpenGL, co może nie być obsługiwane przez system. Zamiast tego można użyć renderowania software'owego.</translation> + <source>The certificate "%1" is not yet valid. +Valid from: %2.</source> + <translation>Certyfikat "%1" nie jest jeszcze ważny. +Ważny od: %2.</translation> </message> <message> - <source>Qemu is currently configured to auto-detect the OpenGL mode, which is known to not work in some cases. You might want to use software rendering instead.</source> - <translation type="obsolete">Skonfigurowano Qemu aby automatycznie wykrywało OpenGL, co może nie może nie działać poprawnie w pewnych przypadkach. Zamiast tego można użyć renderowania software'owego.</translation> + <source>The certificate "%1" is not a valid X.509 certificate.</source> + <translation>Certyfikat "%1" nie jest poprawnym certyfikatem X.509.</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoToolChainFactory</name> <message> - <source>Maemo GCC</source> - <translation type="obsolete">Maemo GCC</translation> + <source>Type: </source> + <translation>Typ: </translation> </message> <message> - <source>Maemo GCC for %1</source> - <translation type="obsolete">Maemo GCC dla %1</translation> + <source>Developer certificate</source> + <translation>Certyfikat developerski</translation> </message> <message> - <source>%1 GCC (%2)</source> - <translation type="obsolete">%1 GCC (%2)</translation> + <source>Self signed certificate</source> + <translation>Własnoręcznie stworzony certyfikat</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoToolChainConfigWidget</name> <message> - <source><html><head/><body><table><tr><td>Path to MADDE:</td><td>%1</td></tr><tr><td>Path to MADDE target:</td><td>%2</td></tr><tr><td>Debugger:</td/><td>%3</td></tr></body></html></source> - <translation type="obsolete"><html><head/><body><table><tr><td>Ścieżka do MADDE:</td><td>%1</td></tr><tr><td>Ścieżka do produktu docelowego MADDE:</td><td>%2</td></tr><tr><td>Debugger:</td/><td>%3</td></tr></body></html></translation> + <source>Issued by: </source> + <translation>Wydany przez: </translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MaemoUsedPortsGatherer</name> <message> - <source>Connection error: %1</source> - <translation type="obsolete">Błąd połączenia: %1</translation> + <source>Issued to: </source> + <translation>Wydany dla: </translation> </message> <message> - <source>Could not start remote process: %1</source> - <translation type="obsolete">Nie można uruchomić zdalnego procesu %1</translation> + <source>Valid from: </source> + <translation>Ważny od: </translation> </message> <message> - <source>Remote process crashed: %1</source> - <translation type="obsolete">Zdalny proces zakończony błędem: %1</translation> + <source>Valid to: </source> + <translation>Ważny do: </translation> </message> <message> - <source>Remote process failed: %1</source> - <translation type="obsolete">Zdalny proces zakończony błędem: %1</translation> + <source>Capabilities: </source> + <translation>Capabilities: </translation> + </message> + <message numerus="yes"> + <source>Supporting %n device(s): </source> + <translation> + <numerusform>Obsługuje %n urządzenie: </numerusform> + <numerusform>Obsługuje %n urządzenia: </numerusform> + <numerusform>Obsługuje %n urządzeń: </numerusform> + </translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60CreatePackageParser</name> <message> - <source> -Remote error output was: %1</source> - <translation type="obsolete"> -Zawartość zdalnego wyjścia z błędami: %1</translation> + <source>The binary package '%1' was patched to be installable after being self-signed. +%2 +Use a developer certificate or any other signing option to prevent this patching from happening.</source> + <extracomment>%1 package name, %2 will be replaced by a list of patching lines.</extracomment> + <translation>Własnoręcznie podpisany pakiet binarny "%1" został zmodyfikowany, aby mógł zostać zainstalowany. +%2 +Używaj certyfikatu developerskiego lub innej opcji podpisu, aby uchronić pakiet od modyfikacji.</translation> + </message> + <message> + <source>Cannot create Smart Installer package as the Smart Installer's base file is missing. Please ensure that it is located in the SDK.</source> + <translation>Nie można utworzyć pakietu Smart Installer, ponieważ brakuje bazowego pliku Smart Installera. Upewnij się, że jest on umieszczony w SDK.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::Qt4MaemoDeployConfigurationFactory</name> + <name>Qt4ProjectManager::Internal::S60PublisherOvi</name> <message> - <source>Deploy to Maemo5 device</source> - <translation type="obsolete">Zainstaluj na urządzeniu Maemo5</translation> + <source>Clean</source> + <translation>Czyszczenie</translation> </message> <message> - <source>Deploy to Harmattan device</source> - <translation type="obsolete">Zainstaluj na urządzeniu Harmattan</translation> + <source>qmake</source> + <translation>qmake</translation> </message> <message> - <source>Deploy to Meego device</source> - <translation type="obsolete">Zainstaluj na urządzeniu Meego</translation> + <source>Build</source> + <translation>Budowanie</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::AbstractQt4MaemoTarget</name> <message> - <source>File '%1' does not exist</source> - <translation type="obsolete">Plik "%1" nie istnieje</translation> + <source>Freeze</source> + <translation>Mrożenie</translation> </message> <message> - <source>Cannot open file '%1': %2</source> - <translation type="obsolete">Nie można otworzyć pliku "%1": %2</translation> + <source>Secondary clean</source> + <translation>Ponowne czyszczenie</translation> </message> <message> - <source>Qt Creator</source> - <translation type="obsolete">Qt Creator</translation> + <source>Secondary qmake</source> + <translation>Ponowny qmake</translation> </message> <message> - <source>Do you want to remove the packaging file(s) associated with the target '%1'?</source> - <translation type="obsolete">Czy chcesz usunąć pliki pakietów powiązanych z produktem docelowym "%1"?</translation> + <source>Secondary build</source> + <translation>Ponowne budowanie</translation> </message> <message> - <source>Error creating Maemo packaging directory '%1'.</source> - <translation type="obsolete">Błąd tworzenia katalogu pakietu Maemo "%1".</translation> + <source>Making SIS file</source> + <translation>Tworzenie pliku SIS</translation> </message> <message> - <source>Add Packaging Files to Project</source> - <translation type="obsolete">Dodaj pliki pakietowe do projektu</translation> + <source>SIS file not created due to previous errors. +</source> + <translation>Nie utworzono pliku SIS z powodu uprzednich błędów. +</translation> </message> <message> - <source>Qt Creator has set up the following files to enable packaging: - %1 -Do you want to add them to the project?</source> - <translation type="obsolete">Qt Creator skonfigurował następujące pliki aby umożliwić tworzenie pakietów: - %1 -Czy chcesz dodać je do projektu?</translation> + <source>Done. +</source> + <translation>Zrobione. +</translation> </message> <message> - <source>Error creating Maemo templates</source> - <translation type="obsolete">Błąd tworzenia szablonów Maemo</translation> + <source>Created %1. +</source> + <translation>Utworzono %1. +</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::AbstractDebBasedQt4MaemoTarget</name> - <message> - <source>Debian changelog file '%1' has unexpected format.</source> - <translation type="obsolete">Nieoczekiwany format pliku z logiem zmian Debiana "%1".</translation> - </message> - <message> - <source>Error writing Debian changelog file '%1': %2</source> - <translation type="obsolete">Błąd zapisu pliku z logiem zmian Debiana "%1": %2</translation> - </message> + <name>Qt4ProjectManager::Internal::S60PublishingResultsPageOvi</name> <message> - <source>Invalid icon data in Debian control file.</source> - <translation type="obsolete">Niepoprawne dane ikony w pliku kontrolnym Debiana.</translation> + <source>Open Containing Folder</source> + <translation>Otwórz katalog zawierający</translation> </message> <message> - <source>Could not read image file '%1'.</source> - <translation type="obsolete">Nie można odczytać pliku obrazu "%1".</translation> + <source>Close</source> + <translation>Zamknij</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60PublishingSisSettingsPageOvi</name> <message> - <source>Could not export image file '%1'.</source> - <translation type="obsolete">Nie można wyeksportować pliku obrazu "%1".</translation> + <source>This should be application's display name. <br>It cannot be empty.<br></source> + <translation>To powinno być wyświetlaną nazwą aplikacji.<br>Nie może być pusta.<br></translation> </message> <message> - <source>Error writing file '%1': %2</source> - <translation type="obsolete">Błąd zapisywania do pliku "%1": %2</translation> + <source>The display name is quite long.<br>It might not be fully visible in the phone's menu.<br></source> + <translation>Wyświetlana nazwa jest za długa.<br>Może nie być w pełni widoczna w menu telefonu.<br></translation> </message> <message> - <source>Unable to create Debian templates: dh_make failed (%1)</source> - <translation type="obsolete">Nie można utworzyć szablonu dla Debiana: błąd dh_make (%1)</translation> + <source>"%1" is a default vendor name used for testing and development. <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>see <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br></source> + <translation>%1 jest domyślną nazwą dostawcy używaną do rozwoju i testowania oprogramowania.<br>Pole Vendor_Name nie może zawierać nazwy "Nokia".<br>Zaleca się nieużywanie domyślnych nazw "Vendor", "Vendor-EN" i "Vendor-PL".<br>Pole to nie powinno również pozostać puste.<br>Szczegóły w <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Tworzenie pakietów i podpisywanie</a>.<br></translation> </message> <message> - <source>Unable to create debian templates: dh_make failed (%1)</source> - <translation type="obsolete">Nie można utworzyć szablonu dla debiana: błąd dh_make (%1)</translation> + <source>%1 is a default vendor name used for testing and development.</source> + <translation>%1 jest domyślną nazwą dostawcy używaną do rozwoju i testowania oprogramowania.</translation> </message> <message> - <source>Unable to move new debian directory to '%1'.</source> - <translation type="obsolete">Nie można przenieść nowych katalogów Debiana do "%1".</translation> + <source>%1 are default vendor names used for testing and development.</source> + <translation>%1 są domyślnymi nazwami dostawców używanymi do rozwoju i testowania oprogramowania.</translation> </message> <message> - <source>Packaging Error: Cannot open file '%1'.</source> - <translation type="obsolete">Błąd pakowania: Nie można otworzyć pliku "%1".</translation> + <source>%1 <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>See <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br></source> + <translation>%1 <br>Pole Vendor_Name nie może zawierać nazwy "Nokia".<br>Zaleca się nieużywanie domyślnych nazw "Vendor", "Vendor-EN" i "Vendor-PL".<br>Pole to nie powinno również pozostać puste.<br>Szczegóły w <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Tworzenie pakietów i podpisywanie</a>.<br></translation> </message> <message> - <source>Packaging Error: Cannot write file '%1'.</source> - <translation type="obsolete">Błąd pakowania: Nie można zapisać pliku "%1".</translation> + <source>The application UID %1 is only for testing and development.<br>SIS packages built with it cannot be distributed via the Ovi Store.<br></source> + <translation>UID %1 aplikacji używany jest tylko do rozwoju i testowania oprogramowania.<br>Pakiety SIS posiadające ten UID nie mogą być dystrybuowane przez Ovi Store.<br></translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::CodaRunControl</name> <message> - <source>No device is connected. Please connect a device and try again.</source> - <translation type="obsolete">Brak podłączonego urządzenia. Podłącz je i spróbuj ponownie.</translation> + <source>The application UID %1 is a symbiansigned.com UID. <br>Applications with this UID will be rejected by Application Signing Services for Ovi Store.<br>If you want to continue with a symbiansigned.com UID, sign your application on symbiansigned.com and upload the signed application to Publish to Ovi.<br></source> + <translation>UID %1 aplikacji jest UIDem pozyskanym z symbiansigned.com.<br>Aplikacje z tym UIDem będą odrzucane przez Application Signing Services dla Ovi Store.<br>Jeżeli chcesz kontynuować z tym UIDem, podpisz najpierw swoją aplikację na symbiansigned.com i prześlij ją do Publikacji w Ovi.<br></translation> </message> <message> - <source>Executable file: %1</source> - <translation type="obsolete">Plik wykonywalny: %1</translation> + <source>The application UID %1 is not an acceptable UID.<br>SIS packages built with it cannot be signed by Application Signing Services for Ovi Store.<br></source> + <translation>UID %1 aplikacji nie jest akceptowalnym UIDem.<br>Pakiety SIS posiadające ten UID nie mogą być dystrybuowane przez Ovi Store.<br></translation> </message> <message> - <source>Connecting to '%1'...</source> - <translation type="obsolete">Łączenie z %1...</translation> + <source>The application UID is a global unique indentifier of the SIS package.<br></source> + <translation>UID aplikacji jest globalnym unikalnym identyfikatorem pakietów SIS.<br></translation> </message> <message> - <source>Unable to create CODA connection. Please try again.</source> - <translation type="obsolete">Nie można stworzyć połączenia z CODA. Spróbuj ponownie.</translation> + <source>To get a unique application UID for your package file,<br>please register at <a href="http://info.publish.ovi.com/">publish.ovi.com</a></source> + <translation>Aby otrzymać unikatowy UID aplikacji dla pliku pakiety,<br>zarejestruj się na <a href="http://info.publish.ovi.com/">publish.ovi.com</a></translation> </message> <message> - <source>Could not open serial device: %1</source> - <translation type="obsolete">Nie można otworzyć portu szeregowego: %1</translation> + <source>%1 need(s) to be certified signed. Please go to <a href="symbiansigned.com">symbiansigned.com</a> for guidance.</source> + <translation>%1 muszą być podpisane "certified signed". Szczegóły w <a href="symbiansigned.com">symbiansigned.com</a>.</translation> </message> <message> - <source>Connecting to %1:%2...</source> - <translation type="obsolete">Łączenie z %1:%2...</translation> + <source><br>%1 need(s) manufacturer approval.<br></source> + <translation><br>%1 muszą być zaakceptowane przez producenta.<br></translation> </message> <message> - <source>Error: %1</source> - <translation type="obsolete">Błąd: %1</translation> + <source>Some capabilities might require a special kind of signing or approval from the manufacturer.<br></source> + <translation>Niektóre capabilities mogą wymagać specjalnego rodzaju podpisu lub akceptacji producenta.<br></translation> </message> <message> - <source>Connected.</source> - <translation type="obsolete">Połączono.</translation> + <source>Please verify that you have a released version of Qt. <br><a href="http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian">Qt Packages Distributed by Smart Installer</a> has a list of released Qt versions.</source> + <translation>Sprawdź czy posiadasz wersję release'ową Qt.<br>Strona <a href="http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian">Pakiety Qt rozprowadzane przez Smart Installera</a> posiada listę wersji releasowych Qt.</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60PublishingWizardFactoryOvi</name> <message> - <source>Process has finished.</source> - <translation type="obsolete">Proces się zakończył.</translation> + <source>Publish Qt Symbian Applications to Ovi Store</source> + <translation>Opublikuj aplikacje Qt Symbian w Ovi Store</translation> </message> <message> - <source>Thread has crashed: %1</source> - <translation type="obsolete">Wątek zakończony błędem: %1</translation> + <source>This wizard checks your project file to make sure it complies with Ovi Store submission criteria. + +The wizard creates SIS files that can be submitted to Publish to Ovi. + +You cannot use it if you use application UIDs from Symbian Signed. + +You cannot use it for the Certified Signed and Manufacturer level capabilities: +NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB. + +Your application will also be rejected by Ovi QA if you choose an unreleased Qt version on the next page.</source> + <translation>Ten kreator sprawdza czy plik projektu spełnia kryteria publikacji w Ovi Store. + +Kreator tworzy pliki SIS, które mogą być wysłane do publikacji w Ovi Store. + +Nie można go używać, gdy skorzystano z UIDów dostarczonych przez Symbian Signed. + +Nie można go używać dla capabilities wymagających "Certified Signed" lub zgody producenta: +NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM i TCB. + +Aplikacja będzie również odrzucona przez Ovi QA, jeśli na następnej stronie wybrana zostanie niewydana wersja Qt.</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60PublishingWizardOvi</name> <message> - <source>The process is already running on the device. Please first close it.</source> - <translation type="obsolete">Ten proces jest już uruchomiony na urządzeniu. Najpierw zakończ go.</translation> + <source>Publishing to Ovi Store</source> + <translation>Publikowanie w Ovi Store</translation> </message> <message> - <source>Launching: %1</source> - <translation type="obsolete">Uruchamianie: %1</translation> + <source>Build Configuration</source> + <translation>Konfiguracja budowania</translation> </message> <message> - <source>Launched.</source> - <translation type="obsolete">Uruchomiono.</translation> + <source>Project File Checks</source> + <translation>Sprawdzanie pliku projektu</translation> </message> <message> - <source>Launch failed: %1</source> - <translation type="obsolete">Nie można uruchomić: %1</translation> + <source>Creating an Uploadable SIS File</source> + <translation>Tworzenie plików SIS do przesłania</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::WinscwToolChainFactory</name> <message> - <source>Waiting for CODA</source> - <translation type="obsolete">Oczekiwanie na CODA</translation> + <source>WINSCW</source> + <translation>WINSCW</translation> </message> <message> - <source>Qt Creator is waiting for the CODA application to connect.<br>Please make sure the application is running on your mobile phone and the right IP address and/or port are configured in the project settings.</source> - <translation type="obsolete">Qt Creator oczekuje na połączenie z aplikacją CODA.<br>Upewnij się, że aplikacja jest już uruchomiona na telefonie oraz że skonfigurowano poprawny adres IP / port w ustawieniach projektu.</translation> + <source>WINSCW from Qt version</source> + <translation>WINSCW z wersji Qt</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Qt4BaseTargetFactory</name> <message> - <source>Canceled.</source> - <translation type="obsolete">Anulowano.</translation> + <source>%1 Debug</source> + <extracomment>Name of a debug build configuration to created by a project wizard, %1 being the Qt version name. We recommend not translating it.</extracomment> + <translation>%1 Debug</translation> </message> <message> - <source>The device '%1' has been disconnected</source> - <translation type="obsolete">Urządzenie "%1" zostało odłączone</translation> + <source>%1 Release</source> + <extracomment>Name of a release build configuration to be created by a project wizard, %1 being the Qt version name. We recommend not translating it.</extracomment> + <translation>%1 Release</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::GcceToolChainFactory</name> - <message> - <source>GCCE</source> - <translation>GCCE</translation> - </message> + <name>Qt4DefaultTargetSetupWidget</name> <message> - <source>GCCE from Qt version</source> - <translation>GCCE z wersji Qt</translation> + <source><b>Error:</b> </source> + <comment>Severity is Task::Error</comment> + <translation><b>Błąd:</b> </translation> </message> <message> - <source>GCCE (%1)</source> - <translation>GCCE (%1)</translation> + <source><b>Warning:</b> </source> + <comment>Severity is Task::Warning</comment> + <translation><b>Ostrzeżenie:</b> </translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::Qt4SymbianTarget</name> + <name>Qt4ProjectManager::Qt4DefaultTargetSetupWidget</name> <message> - <source><b>Device:</b> Not connected</source> - <translation><b>Urządzenie:</b> Nie podłączone</translation> + <source>Add build from:</source> + <translation>Dodaj wersję z:</translation> </message> <message> - <source><b>Device:</b> %1</source> - <translation><b>Urządzenie:</b> %1</translation> + <source>Add Build</source> + <translation>Dodaj wersję</translation> </message> <message> - <source><b>Device:</b> %1, %2</source> - <translation><b>Urządzenie:</b> %1, %2</translation> + <source>Use Shadow Building</source> + <translation>Używaj budowania w innym miejscu</translation> </message> <message> - <source><b>IP address:</b> %1:%2</source> - <translation><b>Adres IP:</b> %1:%2</translation> + <source>debug</source> + <extracomment>Debug build</extracomment> + <translation>debug</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::RvctToolChainFactory</name> <message> - <source>ARMv5</source> - <translation>ARMv5</translation> + <source>release</source> + <extracomment>release build</extracomment> + <translation>release</translation> </message> <message> - <source>ARMv6</source> - <translation>ARMv6</translation> + <source>No build found</source> + <translation>Brak zbudowanej wersji</translation> </message> <message> - <source>RVCT</source> - <translation>RVCT</translation> + <source>No build found in %1 matching project %2.</source> + <translation>Brak zbudowanej wersji w %1 dla projektu %2.</translation> </message> <message> - <source>RVCT (%1 %2.%3 Build %4)</source> - <extracomment>%1 arm version, %2 major version, %3 minor version, %4 build number</extracomment> - <translation>RVCT (%1 %2.%3 numer budowy %4)</translation> + <source>The build found in %1 is incompatible with this target</source> + <translation>Wersja znaleziona w %1 nie jest kompatybilna z tym produktem docelowym</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::S60CertificateInfo</name> <message> - <source>The certificate "%1" has already expired and cannot be used. -Expiration date: %2.</source> - <translation>Certyfikat "%1" nie może zostać użyty z powodu utraty ważności. -Data wygaśnięcia: %2.</translation> + <source>Incompatible build found</source> + <translation>Znaleziono niekompatybilną zbudowaną wersję</translation> </message> <message> - <source>The certificate "%1" is not yet valid. -Valid from: %2.</source> - <translation>Certyfikat "%1" nie jest jeszcze ważny. -Ważny od: %2.</translation> + <source>Import build from %1</source> + <translation>Zaimportuj zbudowaną wersję z %1</translation> </message> <message> - <source>The certificate "%1" is not a valid X.509 certificate.</source> - <translation>Certyfikat "%1" nie jest poprawnym certyfikatem X.509.</translation> + <source><b>Error:</b> </source> + <comment>Severity is Task::Error</comment> + <translation><b>Błąd:</b> </translation> </message> <message> - <source>Type: </source> - <translation>Typ: </translation> + <source><b>Warning:</b> </source> + <comment>Severity is Task::Warning</comment> + <translation><b>Ostrzeżenie:</b> </translation> </message> +</context> +<context> + <name>Qt4ProjectManager::AbstractMobileAppWizardDialog</name> <message> - <source>Developer certificate</source> - <translation>Certyfikat developerski</translation> + <source>Qt Versions</source> + <translation>Wersje Qt</translation> </message> <message> - <source>Self signed certificate</source> - <translation>Własnoręcznie stworzony certyfikat</translation> + <source>Mobile Options</source> + <translation>Opcje mobilne</translation> </message> <message> - <source>Issued by: </source> - <translation>Wydany przez: </translation> + <source>Symbian Specific</source> + <translation>Dotyczące Symbiana</translation> </message> <message> - <source>Issued to: </source> - <translation>Wydany dla: </translation> + <source>Maemo5 And Meego Specific</source> + <translation>Dotyczące Maemo5 i Meego</translation> </message> <message> - <source>Valid from: </source> - <translation>Ważny od: </translation> + <source>Harmattan Specific</source> + <translation>Dotyczące Harmattana</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::Html5AppWizardDialog</name> <message> - <source>Valid to: </source> - <translation>Ważny do: </translation> + <source>New HTML5 Application</source> + <translation>Nowa aplikacja HTML5</translation> </message> <message> - <source>Capabilities: </source> - <translation>Capabilities: </translation> - </message> - <message numerus="yes"> - <source>Supporting %n device(s): </source> - <translation> - <numerusform>Obsługuje %n urządzenie: </numerusform> - <numerusform>Obsługuje %n urządzenia: </numerusform> - <numerusform>Obsługuje %n urządzeń: </numerusform> - </translation> + <source>This wizard generates a HTML5 application project.</source> + <translation>Ten kreator generuje projekt aplikacji HTML5.</translation> + </message> + <message> + <source>HTML Options</source> + <translation>Opcje HTML</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60CreatePackageParser</name> + <name>Qt4ProjectManager::Internal::Html5AppWizard</name> <message> - <source>The binary package '%1' was patched to be installable after being self-signed. -%2 -Use a developer certificate or any other signing option to prevent this patching from happening.</source> - <extracomment>%1 package name, %2 will be replaced by a list of patching lines.</extracomment> - <translation>Własnoręcznie podpisany pakiet binarny "%1" został zmodyfikowany, aby mógł zostać zainstalowany. -%2 -Używaj certyfikatu developerskiego lub innej opcji podpisu, aby uchronić pakiet od modyfikacji.</translation> + <source>HTML5 Application</source> + <translation>Aplikacja HTML5</translation> </message> <message> - <source>Cannot create Smart Installer package as the Smart Installer's base file is missing. Please ensure that it is located in the SDK.</source> - <translation>Nie można utworzyć pakietu Smart Installer, ponieważ brakuje bazowego pliku Smart Installera. Upewnij się, że jest on umieszczony w SDK.</translation> + <source>Creates an HTML5 application project that can contain both HTML5 and C++ code and includes a WebKit view. + +You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects.</source> + <translation>Tworzy projekt aplikacji HTML5, który może zawierać zarówno kod HTML5 i C++ oraz dołączać widok WebKit. + +Można zbudować aplikację i zainstalować ją na platformie mobilnej albo na desktopie. Dla tego typu projektu można np. utworzyć podpisany pakiet instalacyjny SIS.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60PublisherOvi</name> + <name>Qt4ProjectManager::Internal::Html5AppWizardOptionsPage</name> <message> - <source>Error while reading .pro file %1: %2</source> - <translation type="obsolete">Błąd podczas czytania pliku pro %1: %2</translation> + <source>Select HTML File</source> + <translation>Wybierz plik HTML</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::MobileAppWizardGenericOptionsPage</name> <message> - <source>Created %1 -</source> - <translation type="obsolete">Utworzono %1 -</translation> + <source>Automatically Rotate Orientation</source> + <translation>Automatycznie przełączaj orientację</translation> </message> <message> - <source> Sis file not created due to previous errors -</source> - <translation type="obsolete"> Nie utworzono pliku SIS z powodu uprzednich błędów -</translation> + <source>Lock to Landscape Orientation</source> + <translation>Pejzażowa orientacja</translation> </message> <message> - <source>Done! -</source> - <translatorcomment>Nie krzyczymy na użytkowników</translatorcomment> - <translation type="obsolete">Zrobione -</translation> + <source>Lock to Portrait Orientation</source> + <translation>Portretowa orientacja</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::MobileAppWizardMaemoOptionsPage</name> <message> - <source>Sis file not created due to previous errors -</source> - <translation type="obsolete">Nie utworzono pliku SIS z powodu uprzednich błędów -</translation> + <source>Invalid Icon</source> + <translation>Niepoprawna ikona</translation> </message> <message> - <source>Clean</source> - <translation type="unfinished"></translation> + <source>The file is not a valid image.</source> + <translation>Plik nie jest poprawnym plikiem graficznym.</translation> </message> <message> - <source>QMake</source> - <translation>QMake</translation> + <source>Wrong Icon Size</source> + <translation>Niepoprawny rozmiar ikony</translation> </message> <message> - <source>Build</source> - <translation type="unfinished"></translation> + <source>The icon needs to be %1x%2 pixels big, but is not. Do you want Creator to scale it?</source> + <translation>Spodziewany rozmiar ikony to %1x%2. Czy przeskalować ikonę?</translation> </message> <message> - <source>Freeze</source> - <translation type="unfinished"></translation> + <source>Could not copy icon file: %1</source> + <translation>Nie można skopiować pliku ikony: %1</translation> </message> <message> - <source>Secondary Clean</source> - <translation type="unfinished"></translation> + <source>File Error</source> + <translation>Błąd pliku</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::SubdirsProjectWizard</name> <message> - <source>Secondary QMake</source> - <translation type="unfinished"></translation> + <source>Subdirs Project</source> + <translation>Projekt z podkatalogami</translation> </message> <message> - <source>Secondary Build</source> - <translation type="unfinished"></translation> + <source>Creates a qmake-based subdirs project. This allows you to group your projects in a tree structure.</source> + <translation>Tworzy projekt z podkatalogami bazując na qmake. To umożliwia grupowanie projektów w strukturę drzewiastą.</translation> </message> <message> - <source>Making Sis File</source> - <translation type="unfinished"></translation> + <source>Done && Add Subproject</source> + <translation>Zrobione i Dodaj podprojekt</translation> </message> <message> - <source>Done. -</source> - <translation>Zrobione. -</translation> + <source>Finish && Add Subproject</source> + <translation>Zakończ i Dodaj podprojekt</translation> </message> <message> - <source>Sis file not created due to previous errors. -</source> - <translation type="unfinished"></translation> + <source>New Subproject</source> + <comment>Title of dialog</comment> + <translation>Nowy podprojekt</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::SubdirsProjectWizardDialog</name> <message> - <source>Created %1. -</source> - <translation>Utworzono %1. -</translation> + <source>This wizard generates a Qt4 subdirs project. Add subprojects to it later on by using the other wizards.</source> + <translation>Ten kreator generuje projekt z podkatalogami Qt4. Podprojekty mogą być dodane później przy użyciu innych kreatorów.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60PublishingResultsPageOvi</name> + <name>Qt4ProjectManager::TargetSetupPage</name> <message> - <source>Open Containing Folder</source> - <translation>Otwórz katalog zawierający</translation> + <source>Target Setup</source> + <translation>Ustawienia produktu docelowego</translation> </message> <message> - <source>Close</source> - <translation>Zamknij</translation> + <source>Qt Creator can set up the following targets for project <b>%1</b>:</source> + <comment>%1: Project name</comment> + <translation>Qt Creator może ustawić następujące wersje dla projektu <b>%1</b>:</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60PublishingSisSettingsPageOvi</name> + <name>TextEditor::BaseTextEditorWidget</name> <message> - <source>%1 is a default vendor name used for testing and development. <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>see <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br></source> - <translation type="obsolete">%1 jest domyślną nazwą dostawcy używaną do rozwoju i testowania oprogramowania.<br>Pole Vendor_Name nie może zawierać nazwy "Nokia".<br>Zaleca się nieużywanie domyślnych nazw "Vendor", "Vendor-EN" i "Vendor-PL".<br>Pole to nie powinno również pozostać puste.<br>Szczegóły w <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Tworzenie pakietów i podpisywanie</a>.<br></translation> + <source>CTRL+D</source> + <translation>Ctrl+D</translation> </message> <message> - <source>This should be application's display name. <br>It cannot be empty.<br></source> - <translation type="unfinished"></translation> + <source>Print Document</source> + <translation>Wydruk dokumentu</translation> </message> <message> - <source>The display name is quite long.<br>It might not be fully visible in the phone's menu.<br></source> - <translation type="unfinished"></translation> + <source>File Error</source> + <translation>Błąd pliku</translation> </message> <message> - <source>"%1" is a default vendor name used for testing and development. <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>see <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br></source> - <translation type="unfinished"></translation> + <source><b>Error:</b> Could not decode "%1" with "%2"-encoding. Editing not possible.</source> + <translation><b>Błąd:</b> Nie można odkodować "%1" używając kodowania "%2". Edycja nie jest możliwa.</translation> </message> <message> - <source>%1 is a default vendor name used for testing and development.</source> - <translation>%1 jest domyślną nazwą dostawcy używaną do rozwoju i testowania oprogramowania.</translation> + <source>Select Encoding</source> + <translation>Wybierz kodowanie</translation> </message> <message> - <source>%1 are default vendor names used for testing and development.</source> - <translation>%1 są domyślnymi nazwami dostawców używanymi do rozwoju i testowania oprogramowania.</translation> + <source>The text is too large to be displayed (%1 MB).</source> + <translation>Tekst jest zbyt obszerny aby mógł zostać wyświetlony (%1 MB).</translation> </message> +</context> +<context> + <name>TextEditor::Internal::PlainTextSnippetProvider</name> <message> - <source>%1 <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>See <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br></source> - <translation>%1 <br>Pole Vendor_Name nie może zawierać nazwy "Nokia".<br>Zaleca się nieużywanie domyślnych nazw "Vendor", "Vendor-EN" i "Vendor-PL".<br>Pole to nie powinno również pozostać puste.<br>Szczegóły w <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Tworzenie pakietów i podpisywanie</a>.<br></translation> + <source>Text</source> + <translation>Tekst</translation> </message> +</context> +<context> + <name>TextEditor::Internal::SnippetsTableModel</name> <message> - <source>The application UID %1 is only for testing and development.<br>SIS packages built with it cannot be distributed via the Ovi Store.<br></source> - <translation>UID %1 aplikacji używany jest tylko do rozwoju i testowania oprogramowania.<br>Pakiety SIS posiadające ten UID nie mogą być dystrybuowane przez Ovi Store.<br></translation> + <source>Error</source> + <translation>Błąd</translation> </message> <message> - <source>The application UID %1 is a symbiansigned.com UID. <br>Applications with this UID will be rejected by Application Signing Services for Ovi Store.<br>If you want to continue with a symbiansigned.com UID, sign your application on symbiansigned.com and upload the signed application to Publish to Ovi.<br></source> - <translation>UID %1 aplikacji jest UIDem pozyskanym z symbiansigned.com.<br>Aplikacje z tym UIDem będą odrzucane przez Application Signing Services dla Ovi Store.<br>Jeżeli chcesz kontynuować z tym UIDem, podpisz najpierw swoją aplikację na symbiansigned.com i prześlij ją do Publikacji w Ovi.<br></translation> + <source>Not a valid trigger.</source> + <translation>Niepoprawny wyzwalacz.</translation> </message> <message> - <source>The application UID %1 is not an acceptable UID.<br>SIS packages built with it cannot be signed by Application Signing Services for Ovi Store.<br></source> - <translation>UID %1 aplikacji nie jest akceptowalnym UIDem.<br>Pakiety SIS posiadające ten UID nie mogą być dystrybuowane przez Ovi Store.<br></translation> + <source>Trigger</source> + <translation>Wyzwalacz</translation> </message> <message> - <source>The application UID is a global unique indentifier of the SIS package.<br></source> - <translation>UID aplikacji jest globalnym unikalnym identyfikatorem pakietów SIS.<br></translation> + <source>Trigger Variant</source> + <translation>Wariant wyzwalacza</translation> </message> <message> - <source>To get a unique application UID for your package file,<br>please register at <a href="http://info.publish.ovi.com/">publish.ovi.com</a></source> - <translation>Aby otrzymać unikatowy UID aplikacji dla pliku pakiety,<br>zarejestruj się na <a href="http://info.publish.ovi.com/">publish.ovi.com</a></translation> + <source>Error reverting snippet.</source> + <translation>Nie można odwrócić urywku.</translation> </message> +</context> +<context> + <name>TextEditor::Internal::SnippetsSettingsPagePrivate</name> <message> - <source>%1 need(s) to be certified signed. Please go to <a href="symbiansigned.com">symbiansigned.com</a> for guidance.</source> - <translation>%1 muszą być podpisane "certified signed". Szczegóły w <a href="symbiansigned.com">symbiansigned.com</a>.</translation> + <source>Snippets</source> + <translation>Urywki</translation> </message> <message> - <source><br>%1 need(s) manufacturer approval.<br></source> - <translation><br>%1 muszą być zaakceptowane przez producenta.<br></translation> + <source>Error While Saving Snippet Collection</source> + <translation>Błąd podczas zapisywania kolekcji urywków</translation> </message> <message> - <source>Some capabilities might require a special kind of signing or approval from the manufacturer.<br></source> - <translation>Niektóre capabilities mogą wymagać specjalnego rodzaju podpisu lub akceptacji producenta.<br></translation> + <source>Error</source> + <translation>Błąd</translation> </message> <message> - <source>Please verify that you have a released version of Qt. <br><a href="http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian">Qt Packages Distributed by Smart Installer</a> has a list of released Qt versions.</source> - <translation>Sprawdź czy posiadasz wersję release'ową Qt.<br>Strona <a href="http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian">Pakiety Qt rozprowadzane przez Smart Installera</a> posiada listę wersji releasowych Qt.</translation> + <source>No snippet selected.</source> + <translation>Nie wybrano urywku.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60PublishingWizardFactoryOvi</name> - <message> - <source>Publish Qt Symbian Applications to Ovi Store</source> - <translation>Opublikuj aplikacje Qt Symbian w Ovi Store</translation> - </message> + <name>VCSBase::VCSBaseClient</name> <message> - <source>This wizard checks your project file to make sure it complies with Ovi Store submission criteria. - -The wizard creates SIS files that can be submitted to Publish to Ovi. - -You cannot use it if you use application UIDs from Symbian Signed. - -You cannot use it for the Certified Signed and Manufacturer level capabilities: -NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB. - -Your application will also be rejected by Ovi QA if you choose an unreleased Qt version on the next page.</source> - <translation>Ten kreator sprawdza czy plik projektu spełnia kryteria publikacji w Ovi Store. - -Kreator tworzy pliki SIS, które mogą być wysłane do publikacji w Ovi Store. - -Nie można go używać, gdy skorzystano z UIDów dostarczonych przez Symbian Signed. - -Nie można go używać dla capabilities wymagających "Certified Signed" lub zgody producenta: -NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM i TCB. - -Aplikacja będzie również odrzucona przez Ovi QA, jeśli na następnej stronie wybrana zostanie niewydana wersja Qt.</translation> + <source>Working...</source> + <translation>Przetwarzanie...</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::S60PublishingWizardOvi</name> + <name>VCSBase::VCSBaseEditorWidget</name> <message> - <source>Publishing to Ovi Store</source> - <translation>Publikowanie w Ovi Store</translation> + <source>Annotate "%1"</source> + <translation>Dołącz adnotację do "%1"</translation> </message> <message> - <source>Build Configuration</source> - <translation>Konfiguracja budowania</translation> + <source>Copy "%1"</source> + <translation>Skopiuj "%1"</translation> </message> <message> - <source>Project File Checks</source> - <translation>Sprawdzanie pliku projektu</translation> + <source>Describe change %1</source> + <translation>Opisz zmianę %1</translation> </message> <message> - <source>Creating an Uploadable SIS File</source> - <translation>Tworzenie plików SIS do przesłania</translation> + <source>Send to CodePaster...</source> + <translation>Wyślij do Codepaster...</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::S60RunControlBase</name> <message> - <source>Launching</source> - <translation type="obsolete">Uruchamianie</translation> + <source>Revert Chunk...</source> + <translation>Odwróć zmiany we fragmencie...</translation> </message> <message> - <source>Please finalise the installation on your device.</source> - <translation type="obsolete">Kontynuuj instalację na urządzeniu.</translation> + <source>Unable to Paste</source> + <translation>Nie można wkleić</translation> </message> <message> - <source><html><head/><body><center><i>%1</i> is still running on the device.</center><center>Terminating it can leave the target in an inconsistent state.</center><center>Would you still like to terminate it?</center></body></html></source> - <translation type="obsolete"><html><head/><body><center><i>%1</i> jest wciąż uruchomiony na urządzeniu.</center><center>Zakończenie go może pozostawić urządzenie w niespójnym stanie.</center><center>Czy chcesz go zakończyć?</center></body></html></translation> + <source>Code pasting services are not available.</source> + <translation>Usługi wklejania kodu są niedostępne.</translation> </message> <message> - <source>Application Still Running</source> - <translation type="obsolete">Program wciąż uruchomiony</translation> + <source>Revert Chunk</source> + <translation>Odwróć zmiany we fragmencie</translation> </message> <message> - <source>Force Quit</source> - <translation type="obsolete">Wymuś zakończenie</translation> + <source>Would you like to revert the chunk?</source> + <translation>Czy chcesz odwrócic zmiany we fragmencie?</translation> </message> +</context> +<context> + <name>VCSBase::VCSJobRunner</name> <message> - <source>Keep Running</source> - <translation type="obsolete">Pozostaw uruchomionym</translation> + <source>Unable to start process '%1': %2</source> + <translation>Nie można rozpocząć procesu "%1": %2</translation> </message> <message> - <source>Finished.</source> - <translation type="obsolete">Zakończono.</translation> + <source>Timed out after %1s waiting for the process %2 to finish.</source> + <translation>Przekroczono czas oczekiwania %1s na ukończenie procesu %2.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::TrkRunControl</name> - <message> - <source>No device is connected. Please connect a device and try again.</source> - <translation type="obsolete">Brak podłączonego urządzenia. Podłącz je i spróbuj ponownie.</translation> - </message> + <name>SymbianUtils::VirtualSerialDevice</name> <message> - <source>Executable file: %1</source> - <translation type="obsolete">Plik wykonywalny: %1</translation> + <source>The port %1 could not be opened: %2 (POSIX error %3)</source> + <translation>Nie można otworzyć portu %1: %2 (błąd POSIX %3)</translation> </message> <message> - <source>Could not connect to phone on port '%1': %2 -Check if the phone is connected and App TRK is running.</source> - <translation type="obsolete">Nie można nawiązać połączenia z telefonem na porcie "%1": %2 -Sprawdź czy telefon jest podłączony i czy aplikacja TRK jest uruchomiona.</translation> + <source>Unable to retrieve terminal settings of port %1: %2 (POSIX error %3)</source> + <translation>Nie można uzyskać ustawień terminala dla portu %1: %2 (błąd POSIX %3)</translation> </message> <message> - <source>Could not connect to App TRK on device: %1. Restarting App TRK might help.</source> - <translation type="obsolete">Nie można ustanowić połączenia z aplikacją TRK w urządzeniu: %1. Spróbuj ponownie uruchomić aplikację TRK.</translation> + <source>Unable to apply terminal settings to port %1: %2 (POSIX error %3)</source> + <translation>Nie można zastosować ustawień terminala dla portu %1: %2 (błąd POSIX %3)</translation> </message> <message> - <source>Waiting for App TRK</source> - <translation type="obsolete">Oczekiwanie na aplikację TRK</translation> + <source>Cannot write to port %1: %2 (POSIX error %3)</source> + <translation>Nie można pisać do portu %1: %2 (błąd POSIX %3)</translation> </message> <message> - <source>Qt Creator is waiting for the TRK application to connect on %1.<br>Please make sure the application is running on your mobile phone and the right port is configured in the project settings.</source> - <translation type="obsolete">Qt Creator oczekuje na połączenie od aplikacji TRK na %1.<br>Sprawdź czy aplikacja jest uruchomiona na telefonie komórkowym i czy właściwy port jest skonfigurowany w ustawieniach projektu.</translation> + <source>The function select() returned an error on port %1: %2 (POSIX error %3)</source> + <translation>Funkcja select() zwróciła błąd dla portu %1: %2 (błąd POSIX %3)</translation> </message> <message> - <source>Canceled.</source> - <translation type="obsolete">Anulowano.</translation> + <source>Port not found</source> + <translation>Port nie znaleziony</translation> </message> <message> - <source>The device '%1' has been disconnected</source> - <translation type="obsolete">Urządzenie "%1" zostało odłączone</translation> + <source>Port in use</source> + <translation>Port w użyciu</translation> </message> <message> - <source>Starting application...</source> - <translation type="obsolete">Uruchamianie aplikacji...</translation> + <source>Timed out</source> + <translation>Przekroczono czas oczekiwania</translation> </message> <message> - <source>Application running with pid %1.</source> - <translation type="obsolete">Aplikacja wykonuje się z pid %1.</translation> + <source>Port unreachable</source> + <translation>Port nieosiągalny</translation> </message> <message> - <source>Could not start application: %1</source> - <translation type="obsolete">Nie można uruchomić aplikacji: %1</translation> + <source>The port %1 could not be opened: %2</source> + <translation>Nie można otworzyć portu %1: %2</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::WinscwToolChainFactory</name> <message> - <source>WINSCW</source> - <translation>WINSCW</translation> + <source>An error occurred while waiting for read notifications from %1: %2</source> + <translation>Błąd podczas oczekiwania na powiadomienie o odczycie z %1: %2</translation> </message> <message> - <source>WINSCW from Qt version</source> - <translation>WINSCW z wersji Qt</translation> + <source>An error occurred while reading from %1: %2</source> + <translation>Błąd podczas czytania z %1: %2</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Qt4BaseTargetFactory</name> <message> - <source>%1 Debug</source> - <extracomment>Name of a debug build configuration to created by a project wizard, %1 being the Qt version name. We recommend not translating it.</extracomment> - <translation>%1 Debug</translation> + <source>An error occurred while writing to %1: %2</source> + <translation>Błąd podczas pisania do %1: %2</translation> </message> <message> - <source>%1 Release</source> - <extracomment>Name of a release build configuration to created by a project wizard, %1 being the Qt version name. We recommend not translating it.</extracomment> - <translation>%1 Release</translation> + <source>An error occurred while syncing on waitForBytesWritten for %1: %2</source> + <translation>Błąd podczas synchronizacji z waitForBytesWritten dla %1: %2</translation> </message> </context> <context> - <name>Qt4DefaultTargetSetupWidget</name> - <message> - <source><b>Error:</b> </source> - <comment>Severity is Task::Error</comment> - <translation><b>Błąd:</b> </translation> - </message> + <name>Macros</name> <message> - <source><b>Warning:</b> </source> - <comment>Severity is Task::Warning</comment> - <translation><b>Ostrzeżenie:</b> </translation> + <source>Macros</source> + <translation>Makra</translation> </message> </context> <context> - <name>Qt4ProjectManager::Qt4DefaultTargetSetupWidget</name> + <name>Analyzer::StartRemoteDialog</name> <message> - <source>Add build from:</source> - <translation type="unfinished"></translation> + <source>Start Debugger</source> + <translation>Uruchom debugger</translation> </message> <message> - <source>Add Build</source> + <source>Remote</source> <translation type="unfinished"></translation> </message> <message> - <source>Use Shadow Building</source> - <translation>Używaj budowania w innym miejscu</translation> + <source>Host:</source> + <translation>Host:</translation> </message> <message> - <source>debug</source> - <extracomment>Debug build</extracomment> - <translation>debug</translation> + <source>User:</source> + <translation>Użytkownik:</translation> </message> <message> - <source>release</source> - <extracomment>release build</extracomment> - <translation>release</translation> + <source>Password:</source> + <translation>Hasło:</translation> </message> <message> - <source>No build found</source> - <translation>Brak zbudowanej wersji</translation> + <source>Port:</source> + <translation>Port:</translation> </message> <message> - <source>No Build found in %1 matching project %2.</source> - <translation>Brak zbudowanej wersji w %1 pasującej do projektu %2.</translation> + <source>Target</source> + <translation>Produkt docelowy</translation> </message> <message> - <source>Incompatible build found</source> - <translation>Znaleziono niekompatybilną zbudowaną wersję</translation> + <source>Executable:</source> + <translation>Plik wykonywalny:</translation> </message> <message> - <source>The Build found in %1 is incompatible with this target</source> - <translation>Zbudowana wersja znaleziona w %1 nie jest kompatybilna z tym produktem docelowym</translation> + <source>Arguments:</source> + <translation>Argumenty:</translation> </message> <message> - <source>Import build from %1</source> - <translation>Zaimportuj zbudowaną wersję z %1</translation> + <source>You need to pass either a password or an SSH key.</source> + <translation>Podaj hasło albo klucz SSH.</translation> </message> <message> - <source><b>Error:</b> </source> - <comment>Severity is Task::Error</comment> - <translation><b>Błąd:</b> </translation> + <source>Private key:</source> + <translation>Klucz prywatny:</translation> </message> <message> - <source><b>Warning:</b> </source> - <comment>Severity is Task::Warning</comment> - <translation><b>Ostrzeżenie:</b> </translation> + <source>Working directory:</source> + <translation>Katalog roboczy:</translation> </message> </context> <context> - <name>Qt4ProjectManager::AbstractMobileAppWizardDialog</name> + <name>CppTools::Internal::CppCodeStyleSettingsPage</name> <message> - <source>Qt Versions</source> - <translation>Wersje Qt</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Mobile Options</source> - <translation>Opcje mobilne</translation> + <source>General</source> + <translation>Ogólne</translation> </message> <message> - <source>Symbian Specific</source> - <translation>Dotyczące Symbiana</translation> + <source>Content</source> + <translation>Zawartość</translation> </message> <message> - <source>Maemo5 And Meego Specific</source> - <translation>Dotyczące Maemo5 i Meego</translation> + <source>Indent</source> + <translation>Wcięcia</translation> </message> <message> - <source>Harmattan Specific</source> - <translation>Dotyczące Harmattana</translation> + <source>"public", "protected" and +"private" within class body</source> + <translation>"public", "protected" i +"private" w ciele klasy</translation> </message> <message> - <source>Maemo Specific</source> - <translation type="obsolete">Dotyczące Maemo</translation> + <source>Declarations relative to "public", +"protected" and "private"</source> + <translation>Deklaracje względem "public", +"protected" i "private"</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::Html5AppWizardDialog</name> <message> - <source>New HTML5 Application</source> - <translation>Nowa aplikacja HTML5</translation> + <source>Statements within method body</source> + <translation>Wyrażenia w metodach</translation> </message> <message> - <source>This wizard generates a HTML5 application project.</source> - <translation>Ten kreator generuje projekt aplikacji HTML5.</translation> + <source>Statements within blocks</source> + <translation>Wyrażenia w blokach</translation> </message> <message> - <source>HTML Options</source> - <translation>Opcje HTML</translation> + <source>Declarations within +"namespace" definition</source> + <translation>Deklaracje w definicjach +"namespace"</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::Html5AppWizard</name> <message> - <source>HTML5 Application</source> - <translation>Aplikacja HTML5</translation> + <source>Braces</source> + <translation>Nawiasy</translation> </message> <message> - <source>Creates an HTML5 application project that can contain both HTML5 and C++ code and includes a WebKit view. - -You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects.</source> - <translation>Tworzy projekt aplikacji HTML5, który może zawierać zarówno kod HTML5 i C++ oraz dołączać widok WebKit. - -Można zbudować aplikację i zainstalować ją na platformie mobilnej albo na desktopie. Dla tego typu projektu można np. utworzyć podpisany pakiet instalacyjny SIS.</translation> + <source>Indent Braces</source> + <translation>Wcięcia nawiasów</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::Html5AppWizardOptionsPage</name> <message> - <source>Select HTML File</source> - <translation>Wybierz plik HTML</translation> + <source>Class declarations</source> + <translation>Deklaracje klas</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MobileAppWizardGenericOptionsPage</name> <message> - <source>Automatically Rotate Orientation</source> - <translation>Automatycznie przełączaj orientację</translation> + <source>Namespace declarations</source> + <translation>Deklaracje przestrzeni nazw</translation> </message> <message> - <source>Lock to Landscape Orientation</source> - <translation>Pejzażowa orientacja</translation> + <source>Enum declarations</source> + <translation>Deklaracje typów +wyliczeniowych</translation> </message> <message> - <source>Lock to Portrait Orientation</source> - <translation>Portretowa orientacja</translation> + <source>Method declarations</source> + <translation>Deklaracje metod</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::MobileAppWizardMaemoOptionsPage</name> <message> - <source>Invalid Icon</source> - <translation>Niepoprawna ikona</translation> + <source>Blocks</source> + <translation>Bloki</translation> </message> <message> - <source>The file is not a valid image.</source> - <translation>Plik nie jest poprawnym plikiem graficznym.</translation> + <source>"switch"</source> + <translation>"switch"</translation> </message> <message> - <source>Wrong Icon Size</source> - <translation>Niepoprawny rozmiar ikony</translation> + <source>Indent within "switch"</source> + <translation>Wcięcia wewnątrz "switch"</translation> </message> <message> - <source>The icon needs to be %1x%2 pixels big, but is not. Do you want Creator to scale it?</source> - <translation>Spodziewany rozmiar ikony to %1x%2. Czy przeskalować ikonę?</translation> + <source>"case" or "default"</source> + <translation>"case" lub "default"</translation> </message> <message> - <source>Could not copy icon file: %1</source> - <translation>Nie można skopiować pliku ikony: %1</translation> + <source>Statements relative to +"case" or "default"</source> + <translation>Wyrażenia względem +"case" lub "default"</translation> </message> <message> - <source>The icon needs to be 64x64 pixels big, but is not. Do you want Creator to scale it?</source> - <translation type="obsolete">Spodziewany rozmiar ikony to 64x64. Czy przeskalować ikonę?</translation> + <source>Blocks relative to +"case" or "default"</source> + <translation>Bloki względem +"case" lub "default"</translation> </message> <message> - <source>File Error</source> - <translation>Błąd pliku</translation> + <source>"break" statement relative to +"case" or "default"</source> + <translation>Wyrażenie "break" względem +"case" lub "default"</translation> </message> <message> - <source>Could not copy icon file.</source> - <translation type="obsolete">Nie można skopiować pliku ikony.</translation> + <source>Alignment</source> + <translation>Wyrównanie</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::SubdirsProjectWizard</name> <message> - <source>Subdirs Project</source> - <translation>Projekt z podkatalogami</translation> + <source>Align</source> + <translation>Wyrównuj</translation> </message> <message> - <source>Creates a qmake-based subdirs project. This allows you to group your projects in a tree structure.</source> - <translation>Tworzy projekt z podkatalogami bazując na qmake. To umożliwia grupowanie projektów w strukturę drzewiastą.</translation> + <source><html><head/><body> +Enables alignment to tokens after =, += etc. When the option is disabled, regular continuation line indentation will be used.<br> +<br> +With alignment: +<pre> +a = a + + b +</pre> +Without alignment: +<pre> +a = a + + b +</pre> +</body></html></source> + <translation><html><head/><body> +Włącza wyrównywanie do znaków po =, += idt. Kiedy ta opcja jest wyłączona użyte zostanie zwykłe wyrównanie przeniesionych linii.<br> +<br> +Z wyrównaniem: +<pre> +a = a + + b +</pre> +Bez wyrównania: +<pre> +a = a + + b +</pre> +</body></html></translation> </message> <message> - <source>Done && Add Subproject</source> - <translation>Zrobione i Dodaj podprojekt</translation> + <source>Align after assignments</source> + <translation>Wyrównuj do znaków przypisania</translation> </message> <message> - <source>Finish && Add Subproject</source> - <translation>Zakończ i Dodaj podprojekt</translation> + <source><html><head/><body> +The extra padding usually only affects if statement conditions. Without extra padding: +<pre> +if (a && + b) + c; +</pre> +With extra padding: +<pre> +if (a && + b) + c; +</pre> +</body></html></source> + <translation><html><head/><body> +Dodatkowe wcięcie wpływa zwykle tylko na warunki instrukcji "if". Bez dodatkowego wcięcia: +<pre> +if (a && + b) + c; +</pre> +Z dodatkowym wcięciem: +<pre> +if (a && + b) + c; +</pre> +</body></html></translation> </message> <message> - <source>New Subproject</source> - <comment>Title of dialog</comment> - <translation>Nowy podprojekt</translation> + <source>Add extra padding to conditions +if they would align to the next line</source> + <translation>Dodatkowe wcięcia +w instrukcjach warunkowych</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::SubdirsProjectWizardDialog</name> + <name>Git::Internal::RemoteAdditionDialog</name> <message> - <source>This wizard generates a Qt4 subdirs project. Add subprojects to it later on by using the other wizards.</source> - <translation>Ten kreator generuje projekt z podkatalogami Qt4. Podprojekty mogą być dodane później przy użyciu innych kreatorów.</translation> + <source>Add Remote</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>Qt4ProjectManager::TargetSetupPage</name> <message> - <source>Target Setup</source> - <translation>Ustawienia produktu docelowego</translation> + <source>Name:</source> + <translation>Nazwa:</translation> </message> <message> - <source>Qt Creator can set up the following targets for project <b>%1</b>:</source> - <comment>%1: Project name</comment> - <translation>Qt Creator może ustawić następujące wersje dla projektu <b>%1</b>:</translation> + <source>URL:</source> + <translation>URL:</translation> </message> </context> <context> - <name>TextEditor::BaseTextEditorWidget</name> + <name>Git::Internal::RemoteDialog</name> <message> - <source>CTRL+D</source> - <translation>Ctrl+D</translation> + <source>Remotes</source> + <translation type="unfinished"></translation> </message> <message> - <source>Print Document</source> - <translation>Wydruk dokumentu</translation> + <source>Re&fresh</source> + <translation>&Odśwież</translation> </message> <message> - <source>File Error</source> - <translation>Błąd pliku</translation> + <source>&Add...</source> + <translation>&Dodaj...</translation> </message> <message> - <source><b>Error:</b> Could not decode "%1" with "%2"-encoding. Editing not possible.</source> - <translation><b>Błąd:</b> Nie można odkodować "%1" używając kodowania "%2". Edycja nie jest możliwa.</translation> + <source>F&etch</source> + <translation>F&etch</translation> </message> <message> - <source>Select Encoding</source> - <translation>Wybierz kodowanie</translation> + <source>&Remove</source> + <translation>&Usuń</translation> </message> <message> - <source>The text is too large to be displayed (%1 MB).</source> - <translation>Tekst jest zbyt obszerny aby mógł zostać wyświetlony (%1 MB).</translation> + <source>Delete Remote</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>TextEditor::Internal::PlainTextSnippetProvider</name> <message> - <source>Text</source> - <translation>Tekst</translation> + <source>Would you like to delete the remote "%1"?</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>TextEditor::Internal::SnippetsTableModel</name> - <message> - <source>Error</source> - <translation>Błąd</translation> - </message> - <message> - <source>Not a valid trigger.</source> - <translation>Niepoprawny wyzwalacz.</translation> - </message> - <message> - <source>Trigger</source> - <translation>Wyzwalacz</translation> - </message> + <name>ProjectExplorer::CodeStyleSettingsPropertiesPage</name> <message> - <source>Trigger Variant</source> - <translation>Wariant wyzwalacza</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Error reverting snippet.</source> - <translation>Nie można odwrócić urywku.</translation> + <source>Language:</source> + <translation>Język:</translation> </message> </context> <context> - <name>TextEditor::Internal::SnippetsSettingsPagePrivate</name> + <name>QmlProfiler::Internal::QmlProfilerAttachDialog</name> <message> - <source>Snippets</source> - <translation>Urywki</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Error While Saving Snippet Collection</source> - <translation type="unfinished"></translation> + <source>Address:</source> + <translation>Adres:</translation> </message> <message> - <source>Error</source> - <translation>Błąd</translation> + <source>127.0.0.1</source> + <translation>127.0.0.1</translation> </message> <message> - <source>No snippet selected.</source> - <translation>Nie wybrano urywku.</translation> + <source>Port:</source> + <translation>Port:</translation> </message> </context> <context> - <name>Analyzer::Internal::ValgrindConfigWidget</name> + <name>QtSupport::Internal::DebuggingHelper</name> <message> - <source>Valgrind Command</source> - <translation type="obsolete">Komenda valgrind</translation> + <source>Used to extract QML type information from library-based plugins.</source> + <translation>Użyty do wyciągania informacji o typach QML z wtyczek bazujących na bibliotekach.</translation> </message> -</context> -<context> - <name>Analyzer::Internal::ValgrindEngine</name> <message> - <source>Valgrind options: %1</source> - <translation type="obsolete">Opcje valgrinda: %1</translation> + <source>QML Dump:</source> + <translation>Zrzut QML:</translation> </message> <message> - <source>Working directory: %1</source> - <translation type="obsolete">Katalog roboczy: %1</translation> + <source>A modified version of qmlviewer with support for QML/JS debugging.</source> + <translation>Zmodyfikowana wersja qmlviewera, która obsługuje debugowanie QML/JS.</translation> </message> <message> - <source>Command-line arguments: %1</source> - <translation type="obsolete">Argumenty linii komend: %1</translation> + <source>QML Observer:</source> + <translation>QML Observer:</translation> </message> <message> - <source>** Analysing finished **</source> - <translation type="obsolete">** Zakończono analizę **</translation> + <source>Build</source> + <translation>Zbuduj</translation> </message> <message> - <source>** Error: "%1" could not be started: %2 **</source> - <translation type="obsolete">** Błąd: nie można uruchomić "%1": %2 **</translation> + <source>QML Debugging Library:</source> + <translation>Biblioteka debugująca QML:</translation> </message> <message> - <source>** Error: no valgrind executable set **</source> - <translation type="obsolete">** Błąd: nie ustawiono pliku wykonywalnego valgrind **</translation> + <source>Helps showing content of Qt types. Only used in older versions of GDB.</source> + <translation>Pomaga wyświetlać zawartość typów Qt. Używany tylko w starszych wersjach GDB.</translation> </message> <message> - <source>** Process Terminated **</source> - <translation type="obsolete">** Zakończono proces **</translation> + <source>GDB Helper:</source> + <translation>Asystent GDB:</translation> </message> <message> - <source>Application Output</source> - <translation type="obsolete">Komunikaty aplikacji</translation> + <source>Show compiler output of last build.</source> + <translation>Pokazuje komunikaty kompilatora z ostatniego budowania.</translation> </message> -</context> -<context> - <name>Analyzer::Internal::ValgrindSettings</name> <message> - <source>Generic Settings</source> - <translation type="obsolete">Ustawienia ogólne</translation> + <source>Show Log</source> + <translation>Pokaż log</translation> </message> -</context> -<context> - <name>VCSBase::VCSBaseClient</name> <message> - <source>Working...</source> - <translation>Przetwarzanie...</translation> + <source>Compile debugging helpers that are checked.</source> + <translation>Kompiluje zaznaczonych asystentów debugowania.</translation> </message> -</context> -<context> - <name>VCSBase::VCSBaseEditorWidget</name> <message> - <source>Annotate "%1"</source> - <translation>Dołącz adnotację do "%1"</translation> + <source>Build All</source> + <translation>Zbuduj wszystko</translation> </message> +</context> +<context> + <name>QtSupport::Internal::QtVersionInfo</name> <message> - <source>Copy "%1"</source> - <translation>Skopiuj "%1"</translation> + <source>Version name:</source> + <translation>Nazwa wersji:</translation> </message> <message> - <source>Describe change %1</source> - <translation>Opisz zmianę %1</translation> + <source>qmake location:</source> + <translation>Położenie qmake:</translation> </message> <message> - <source>Send to CodePaster...</source> - <translation>Wyślij do Codepaster...</translation> + <source>Edit</source> + <translation>Modyfikuj</translation> </message> +</context> +<context> + <name>QtSupport::Internal::QtVersionManager</name> <message> - <source>Revert Chunk...</source> - <translation>Odwróć zmiany we fragmencie...</translation> + <source>Name</source> + <translation>Nazwa</translation> </message> <message> - <source>Unable to Paste</source> - <translation>Nie można wkleić</translation> + <source>qmake Location</source> + <translation>Położenie qmake</translation> </message> <message> - <source>Code pasting services are not available.</source> - <translation>Usługi wklejania kodu są niedostępne.</translation> + <source>Add</source> + <translation>Dodaj</translation> </message> <message> - <source>Revert Chunk</source> - <translation>Odwróć zmiany we fragmencie</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> <message> - <source>Would you like to revert the chunk?</source> - <translation>Czy chcesz odwrócic zmiany we fragmencie?</translation> + <source>Clean up</source> + <translation>Wyczyść</translation> </message> </context> <context> - <name>VCSBase::VCSJobRunner</name> + <name>LinuxDeviceFactorySelectionDialog</name> <message> - <source>Unable to start process '%1': %2</source> - <translation>Nie można rozpocząć procesu "%1": %2</translation> + <source>Available wizards:</source> + <translation>Dostępne kreatory:</translation> </message> <message> - <source>Timed out after %1s waiting for the process %2 to finish.</source> - <translation>Przekroczono czas oczekiwania %1s na ukończenie procesu %2.</translation> + <source>Device Configuration Wizard Selection</source> + <translation>Wybór kreatora konfiguracji urządzenia</translation> </message> </context> <context> - <name>SymbianUtils::VirtualSerialDevice</name> - <message> - <source>The port %1 could not be opened: %2 (POSIX error %3)</source> - <translation>Nie można otworzyć portu %1: %2 (błąd POSIX %3)</translation> - </message> - <message> - <source>Unable to retrieve terminal settings of port %1: %2 (POSIX error %3)</source> - <translation>Nie można uzyskać ustawień terminala dla portu %1: %2 (błąd POSIX %3)</translation> - </message> - <message> - <source>Unable to apply terminal settings to port %1: %2 (POSIX error %3)</source> - <translation>Nie można zastosować ustawień terminala dla portu %1: %2 (błąd POSIX %3)</translation> - </message> - <message> - <source>Cannot write to port %1: %2 (POSIX error %3)</source> - <translation>Nie można pisać do portu %1: %2 (błąd POSIX %3)</translation> - </message> - <message> - <source>The function select() returned an error on port %1: %2 (POSIX error %3)</source> - <translation>Funkcja select() zwróciła błąd dla portu %1: %2 (błąd POSIX %3)</translation> - </message> - <message> - <source>Port not found</source> - <translation>Port nie znaleziony</translation> - </message> - <message> - <source>Port in use</source> - <translation>Port w użyciu</translation> - </message> + <name>MaemoDeployConfigurationWidget</name> <message> - <source>Timed out</source> - <translation>Przekroczono czas oczekiwania</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Port unreachable</source> - <translation>Port nieosiągalny</translation> + <source>These show the INSTALLS settings from the project file(s).</source> + <translation>Pokazuje ustawienia INSTALLS dla plików projektu.</translation> </message> <message> - <source>The port %1 could not be opened: %2</source> - <translation>Nie można otworzyć portu %1: %2</translation> + <source>Edit the project file to add or remove entries.</source> + <translation>Zmodyfikuj plik projektu w celu dodania lub usunięcia elementów.</translation> </message> <message> - <source>An error occurred while waiting for read notifications from %1: %2</source> - <translation>Błąd podczas oczekiwania na powiadomienie o odczycie z %1: %2</translation> + <source>Add Desktop File</source> + <translation>Dodaj plik desktopowy</translation> </message> <message> - <source>An error occurred while reading from %1: %2</source> - <translation>Błąd podczas czytania z %1: %2</translation> + <source>Add Launcher Icon...</source> + <translation>Dodaj ikonę...</translation> </message> <message> - <source>An error occurred while writing to %1: %2</source> - <translation>Błąd podczas pisania do %1: %2</translation> + <source>Device configuration:</source> + <translation>Konfiguracja urządzenia:</translation> </message> <message> - <source>An error occurred while syncing on waitForBytesWritten for %1: %2</source> - <translation>Błąd podczas synchronizacji z waitForBytesWritten dla %1: %2</translation> + <source><a href="irrelevant">Manage device configurations</a></source> + <translation><a href="irrelevant">Zarządzanie konfiguracjami urządzenia</a></translation> </message> -</context> -<context> - <name>Macros</name> <message> - <source>Macros</source> - <translation>Makra</translation> + <source>Files to install for subproject:</source> + <translation>Pliki do zainstalowania dla podprojektu:</translation> </message> </context> <context> - <name>Analyzer::StartRemoteDialog</name> + <name>MaemoDeviceConfigWizardLoginDataPage</name> <message> - <source>Start Debugger</source> - <translation>Uruchom debugger</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Remote</source> - <translation type="unfinished"></translation> + <source>User name:</source> + <translation>Nazwa użytkownika:</translation> </message> <message> - <source>Host:</source> - <translation>Host:</translation> + <source>Authentication type:</source> + <translation>Typ autoryzacji:</translation> </message> <message> - <source>User:</source> - <translation>Użytkownik:</translation> + <source>Password</source> + <translation>Hasło</translation> </message> <message> - <source>You need to pass either a password or a SSH Key.</source> - <translation>Należy podać hasło albo klucz SSH.</translation> + <source>Key</source> + <translation>Klucz</translation> </message> <message> <source>Password:</source> <translation>Hasło:</translation> </message> <message> - <source>Port:</source> - <translation>Port:</translation> + <source>Private key:</source> + <translation>Klucz prywatny:</translation> </message> +</context> +<context> + <name>TextEditor::TabPreferencesWidget</name> <message> - <source>Private Key:</source> - <translation>Klucz prywatny:</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Target</source> - <translation>Produkt docelowy</translation> + <source>Tab settings:</source> + <translation>Ustawienia tabulacji:</translation> </message> +</context> +<context> + <name>TextEditor::TabSettingsWidget</name> <message> - <source>Executable:</source> - <translation>Plik wykonywalny:</translation> + <source>Form</source> + <translation>Formularz</translation> </message> <message> - <source>Arguments:</source> - <translation>Argumenty:</translation> + <source>Tabs And Indentation</source> + <translation>Tabulatory i wcięcia</translation> </message> <message> - <source>Working Directory:</source> - <translation>Katalog roboczy:</translation> + <source>Insert &spaces instead of tabs</source> + <translation>Wstawiaj &spacje zamiast tabulatorów</translation> </message> -</context> -<context> - <name>CppTools::Internal::CppCodeStyleSettingsPage</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Automatically determine based on the nearest indented line (previous line preferred over next line)</source> + <translation>Określa automatycznie wzorując się na najbliższej wciętej linii (poprzednia linia preferowana nad następną)</translation> </message> <message> - <source>General</source> - <translation>Ogólne</translation> + <source>Based on the surrounding lines</source> + <translation>Wzorując się na sąsiednich liniach</translation> </message> <message> - <source>Content</source> - <translation>Zawartość</translation> + <source>Ta&b size:</source> + <translation>Rozmiar ta&bulatorów:</translation> </message> <message> - <source>Indent</source> - <translation>Wcięcia</translation> + <source>&Indent size:</source> + <translation>Rozmiar wc&ięć:</translation> </message> <message> - <source>"public", "protected" and -"private" within class body</source> - <translation>"public", "protected" i -"private" w ciele klasy</translation> + <source>Enable automatic &indentation</source> + <translation>Włącz automatyczne wc&ięcia</translation> </message> <message> - <source>Declarations relative to "public", -"protected" and "private"</source> - <translation>Deklaracje względem "public", -"protected" i "private"</translation> + <source>Backspace will go back one indentation level instead of one space.</source> + <translation>Klawisz "Backspace" skasuje spacje aż do poprzedniego wcięcia zamiast jednej spacji.</translation> </message> <message> - <source>Statements within method body</source> - <translation>Wyrażenia w metodach</translation> + <source>&Backspace follows indentation</source> + <translation>Klawisz "&Backspace" podąża za wcięciami</translation> </message> <message> - <source>Statements within blocks</source> - <translation>Wyrażenia w blokach</translation> + <source>Align continuation lines:</source> + <translation>Wyrównanie przeniesionych linii:</translation> </message> <message> - <source>Declarations within -"namespace" definition</source> - <translation>Deklaracje w definicjach -"namespace"</translation> + <source><html><head/><body> +Influences the indentation of continuation lines. + +<ul> +<li>Not At All: Do not align at all. Lines will only be indented to the current logical indentation depth. +<pre> +(tab)int i = foo(a, b +(tab)c, d); +</pre> +</li> + +<li>With Spaces: Always use spaces for alignment, regardless of the other indentation settings. +<pre> +(tab)int i = foo(a, b +(tab) c, d); +</pre> +</li> + +<li>With Regular Indent: Use tabs and/or spaces for alignment, as configured above. +<pre> +(tab)int i = foo(a, b +(tab)(tab)(tab) c, d); +</pre> +</li> +</ul></body></html></source> + <translation><html><head/><body> +Wpływa na wcięcia przeniesionych linii. + +<ul> +<li>Brak: Nie wyrównuje. Linie będą wyrównane tylko do bieżącej logicznej głębokości wcięcia. +<pre> +(tab)int i = foo(a, b +(tab)c, d); +</pre> +</li> + +<li>Ze spacjami: Zawsze używa spacji do wyrównywania, bez względu na inne ustawienia wcięć. +<pre> +(tab)int i = foo(a, b +(tab) c, d); +</pre> +</li> + +<li>Z regularnymi wcięciami: Używa tabulatorów albo spacji do wyrównywania, zależnie od konfiguracji powyżej. +<pre> +(tab)int i = foo(a, b +(tab)(tab)(tab) c, d); +</pre> +</li> +</ul></body></html></translation> </message> <message> - <source>Braces</source> - <translation>Nawiasy</translation> + <source>Not At All</source> + <translation>Brak</translation> </message> <message> - <source>Indent Braces</source> - <translation>Wcięcia nawiasów</translation> + <source>With Spaces</source> + <translation>Ze spacjami</translation> </message> <message> - <source>Class declarations</source> - <translation>Deklaracje klas</translation> + <source>With Regular Indent</source> + <translation>Z regularnymi wcięciami</translation> </message> <message> - <source>Namespace declarations</source> - <translation>Deklaracje przestrzeni nazw</translation> + <source>Tab key performs auto-indent:</source> + <translation>Klawisz "Tab" wykonuje automatyczne wcięcia:</translation> </message> <message> - <source>Enum declarations</source> - <translation>Deklaracje typów -wyliczeniowych</translation> + <source>Never</source> + <translation>Nigdy</translation> </message> <message> - <source>Method declarations</source> - <translation>Deklaracje metod</translation> + <source>Always</source> + <translation>Zawsze</translation> </message> <message> - <source>Blocks</source> - <translation>Bloki</translation> + <source>In Leading White Space</source> + <translation>Jeśli poprzedzony jest spacjami</translation> </message> +</context> +<context> + <name>Valgrind::Internal::CallgrindConfigWidget</name> <message> - <source>"switch"</source> - <translation>"switch"</translation> + <source>Profiling Options</source> + <translation>Opcje profilowania</translation> </message> <message> - <source>Indent within "switch"</source> - <translation>Wcięcia wewnątrz "switch"</translation> + <source>Result view: Show events with inclusive costs higher than:</source> + <translation type="unfinished"></translation> </message> <message> - <source>"case" or "default"</source> - <translation>"case" lub "default"</translation> + <source>%</source> + <translation>%</translation> </message> <message> - <source>Statements relative to -"case" or "default"</source> - <translation>Wyrażenia względem -"case" lub "default"</translation> + <source>Show additional information for events in tooltips</source> + <translation>Pokazuj dodatkowe informacje w podpowiedziach</translation> </message> <message> - <source>Blocks relative to -"case" or "default"</source> - <translation>Bloki względem -"case" lub "default"</translation> + <source>Enable cache simulation</source> + <translation>Włącz symulację cache</translation> </message> <message> - <source>"break" statement relative to -"case" or "default"</source> - <translation>Wyrażenie "break" względem -"case" lub "default"</translation> + <source>Enable branch prediction simulation</source> + <translation type="unfinished"></translation> </message> <message> - <source>Alignment</source> - <translation>Wyrównanie</translation> + <source>Collect system call time</source> + <translation>Pokazuj czas systemowy</translation> </message> <message> - <source>Align</source> - <translation>Wyrównuj</translation> + <source>Collect global bus events</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Visualisation: Show events with inclusive costs higher than:</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Limits the amount of results the profiler gives you. A lower limit will likely increase performance.</source> + <translation type="unfinished"></translation> </message> <message> <source><html><head/><body> -Enables alignment to tokens after =, += etc. When the option is disabled, regular continuation line indentation will be used.<br> -<br> -With alignment: -<pre> -a = a + - b -</pre> -Without alignment: -<pre> -a = a + - b -</pre> +<p>Does full cache simulation.</p> +<p>By default, only instruction read accesses will be counted ("Ir").</p> +<p> +With cache simulation, further event counters are enabled: +<ul><li>Cache misses on instruction reads ("I1mr"/"I2mr")</li> +<li>Data read accesses ("Dr") and related cache misses ("D1mr"/"D2mr")</li> +<li>Data write accesses ("Dw") and related cache misses ("D1mw"/"D2mw")</li></ul> +</p> + </body></html></source> <translation type="unfinished"></translation> </message> <message> - <source>Align after assignments</source> + <source><html><head/><body> +<p>Do branch prediction simulation.</p> +<p>Further event counters are enabled: </p> +<ul><li>Number of executed conditional branches and related predictor misses ( +"Bc"/"Bcm")</li> +<li>Executed indirect jumps and related misses of the jump address predictor ( +"Bi"/"Bim")</li></ul></body></html></source> <translation type="unfinished"></translation> </message> <message> - <source><html><head/><body> -The extra padding usually only affects if statement conditions. Without extra padding: -<pre> -if (a && - b) - c; -</pre> -With extra padding: -<pre> -if (a && - b) - c; -</pre> -</body></html></source> + <source>Collect information for system call times.</source> <translation type="unfinished"></translation> </message> <message> - <source>Add extra padding to conditions -if they would align to the next line</source> + <source>Collect the number of global bus events that are executed. The event type "Ge" is used for these events.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>Git::Internal::RemoteAdditionDialog</name> + <name>Valgrind::Internal::MemcheckConfigWidget</name> <message> - <source>Add Remote</source> + <source>Memory Analysis Options</source> + <translation>Opcje analizatora pamięci</translation> + </message> + <message> + <source>Backtrace frame count:</source> + <translation>Głębokość stosu:</translation> + </message> + <message> + <source>Suppression files:</source> <translation type="unfinished"></translation> </message> <message> - <source>Name:</source> - <translation>Nazwa:</translation> + <source>Add...</source> + <translation>Dodaj...</translation> </message> <message> - <source>URL:</source> - <translation>URL:</translation> + <source>Remove</source> + <translation>Usuń</translation> </message> -</context> -<context> - <name>Git::Internal::RemoteDialog</name> <message> - <source>Remotes</source> - <translation type="unfinished"></translation> + <source>Track origins of uninitialized memory</source> + <translation>Śledź źródła niezainicjalizowanej pamięci</translation> </message> <message> - <source>Re&fresh</source> - <translation type="unfinished"></translation> + <source>Valgrind Suppression File (*.supp);;All Files (*)</source> + <translation type="unfinished">Plik tłumienia valgrind'a (*.supp);;Wszystkie pliki (*)</translation> </message> +</context> +<context> + <name>Valgrind::Internal::SuppressionDialog</name> <message> - <source>&Add...</source> - <translation>&Dodaj...</translation> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>F&etch</source> - <translation>F&etch</translation> + <source>Suppression File:</source> + <translation type="unfinished">Plik tłumienia:</translation> </message> <message> - <source>&Remove</source> - <translation>&Usuń</translation> + <source>Suppression:</source> + <translation type="unfinished">Tłumienie:</translation> </message> <message> - <source>Delete Remote</source> - <translation type="unfinished"></translation> + <source>Select Suppression File</source> + <translation type="unfinished">Wybierz plik tłumienia</translation> </message> <message> - <source>Would you like to delete the remote "%1"?</source> - <translation type="unfinished"></translation> + <source>Save Suppression</source> + <translation type="unfinished">Zachowaj tłumienie</translation> </message> </context> <context> - <name>ProjectExplorer::CodeStyleSettingsPropertiesPage</name> + <name>Valgrind::Internal::ValgrindConfigWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Generic Settings</source> + <translation>Ustawienia ogólne</translation> </message> <message> - <source>Language:</source> - <translation>Język:</translation> + <source>Valgrind executable:</source> + <translation>Plik wykonywalny valgrind:</translation> </message> -</context> -<context> - <name>QmlProfiler::Internal::QmlProfilerAttachDialog</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>Valgrind Command</source> + <translation>Komenda valgrind</translation> </message> +</context> +<context> + <name>VCSBase::VcsConfigurationPage</name> <message> - <source>Address:</source> - <translation>Adres:</translation> + <source>Configure</source> + <translation>Konfiguruj</translation> </message> <message> - <source>127.0.0.1</source> - <translation>127.0.0.1</translation> + <source>Configuration</source> + <translation>Konfiguracja</translation> </message> <message> - <source>Port:</source> - <translation>Port:</translation> + <source>Please configure <b>%1</b> now.</source> + <translation>Skonfiguruj teraz <b>%1</b>.</translation> </message> </context> <context> - <name>QtSupport::Internal::DebuggingHelper</name> + <name>FlickableGroupBox</name> <message> - <source>Used to extract QML type information from library-based plugins.</source> - <translation>Użyty do wyciągania informacji o typach QML z wtyczek bazujących na bibliotekach.</translation> + <source>Flickable</source> + <translation type="unfinished"></translation> </message> <message> - <source>QML Dump:</source> - <translation>Zrzut QML:</translation> + <source>Content size</source> + <translation>Rozmiar zawartości</translation> </message> <message> - <source>A modified version of qmlviewer with support for QML/JS debugging.</source> - <translation>Zmodyfikowana wersja qmlviewera, która obsługuje debugowanie QML/JS.</translation> + <source>Flick direction</source> + <translation type="unfinished"></translation> </message> <message> - <source>QML Observer:</source> - <translation>QML Observer:</translation> + <source>Flickable direction</source> + <translation type="unfinished"></translation> </message> <message> - <source>Build</source> + <source>Behavior</source> + <translation>Zachowanie</translation> + </message> + <message> + <source>Bounds behavior</source> <translation type="unfinished"></translation> </message> <message> - <source>QML Debugging Library:</source> - <translation>Biblioteka debugująca QML:</translation> + <source>Interactive</source> + <translation>Interaktywny</translation> </message> <message> - <source>Helps showing content of Qt types. Only used in older versions of GDB.</source> - <translation>Pomaga wyświetlać zawartość typów Qt. Używany tylko w starszych wersjach GDB.</translation> + <source>Max. velocity</source> + <translation>Prędkość maks.</translation> </message> <message> - <source>GDB Helper:</source> - <translation>Asystent GDB:</translation> + <source>Maximum flick velocity</source> + <translation type="unfinished"></translation> </message> <message> - <source>Show compiler output of last build.</source> - <translation>Pokazuje komunikaty kompilatora z ostatniego budowania.</translation> + <source>Deceleration</source> + <translation>Opóźnienie</translation> </message> <message> - <source>Show Log</source> - <translation>Pokaż log</translation> + <source>Flick deceleration</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>FlowSpecifics</name> <message> - <source>Compile debugging helpers that are checked.</source> - <translation>Kompiluje zaznaczonych asystentów debugowania.</translation> + <source>Flow</source> + <translation type="unfinished"></translation> </message> <message> - <source>Build All</source> - <translation>Zbuduj wszystko</translation> + <source>Spacing</source> + <translation>Odstępy</translation> </message> </context> <context> - <name>QtSupport::Internal::QtVersionInfo</name> + <name>GridSpecifics</name> <message> - <source>Version name:</source> - <translation>Nazwa wersji:</translation> + <source>Grid</source> + <translation>Siatka</translation> </message> <message> - <source>qmake location:</source> - <translation>Położenie qmake:</translation> + <source>Columns</source> + <translation>Kolumny</translation> </message> <message> - <source>Edit</source> - <translation>Modyfikuj</translation> + <source>Rows</source> + <translation>Wiersze</translation> + </message> + <message> + <source>Flow</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Spacing</source> + <translation>Odstępy</translation> </message> </context> <context> - <name>QtSupport::Internal::QtVersionManager</name> + <name>GridViewSpecifics</name> <message> - <source>Name</source> - <translation>Nazwa</translation> + <source>Grid View</source> + <translation type="unfinished"></translation> </message> <message> - <source>qmake Location</source> - <translation>Położenie qmake</translation> + <source>Cache</source> + <translation>Cache</translation> </message> <message> - <source>Add</source> - <translation>Dodaj</translation> + <source>Cache buffer</source> + <translation>Bufor cache'a</translation> </message> <message> - <source>Remove</source> - <translation>Usuń</translation> + <source>Cell height</source> + <translation>Wysokość komórki</translation> </message> <message> - <source>Clean up</source> - <translation>Wyczyść</translation> + <source>Cell width</source> + <translation>Szerokość komórki</translation> </message> -</context> -<context> - <name>LinuxDeviceFactorySelectionDialog</name> <message> - <source>Publishing Wizard Selection</source> - <translation>Wybór kreatora publikującego</translation> + <source>Flow</source> + <translation type="unfinished"></translation> </message> <message> - <source>Available wizards:</source> - <translation>Dostępne kreatory:</translation> + <source>Resize wraps</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>MaemoDeployConfigurationWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Determines whether the grid wraps key navigation.</source> + <translation type="unfinished"></translation> </message> <message> - <source>These show the INSTALLS settings from the project file(s).</source> - <translation>Pokazuje ustawienia INSTALLS dla plików projektu.</translation> + <source>Snap mode</source> + <translation>Tryb przyciągania</translation> </message> <message> - <source><b>Files to install for subproject:</b></source> - <translation><b>Pliki do zainstalowania dla podprojektu:</b></translation> + <source>Determines how the view scrolling will settle following a drag or flick.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Edit the project file to add or remove entries.</source> - <translation>Zmodyfikuj plik projektu w celu dodania lub usunięcia elementów.</translation> + <source>Grid View Highlight</source> + <translation type="unfinished"></translation> </message> <message> - <source>Add Desktop File</source> - <translation>Dodaj plik desktopowy</translation> + <source>Range</source> + <translation>Zakres</translation> </message> <message> - <source>Add Launcher Icon...</source> - <translation>Dodaj ikonę...</translation> + <source>Highlight range</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>MaemoDeviceConfigWizardLoginDataPage</name> <message> - <source>WizardPage</source> - <translation>StronaKreatora</translation> + <source>Move duration</source> + <translation type="unfinished"></translation> </message> <message> - <source>User name:</source> - <translation>Nazwa użytkownika:</translation> + <source>Move animation duration of the highlight delegate.</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Move speed</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Move animation speed of the highlight delegate.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Authentication type:</source> - <translation>Typ autoryzacji:</translation> + <source>Preferred begin</source> + <translation type="unfinished"></translation> </message> <message> - <source>Password</source> - <translation>Hasło</translation> + <source>Preferred highlight begin - must be smaller than Preferred end.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Key</source> - <translation>Klucz</translation> + <source>Preferred end</source> + <translation type="unfinished"></translation> </message> <message> - <source>Password:</source> - <translation>Hasło:</translation> + <source>Preferred highlight end - must be larger than Preferred begin.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Private key:</source> - <translation>Klucz prywatny:</translation> + <source>Follows current</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>TextEditor::StoragePreferencesWidget</name> <message> - <source>Form</source> - <translation type="obsolete">Formularz</translation> + <source>Determines whether the highlight is managed by the view.</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>TextEditor::StorageSettingsWidget</name> + <name>ListViewSpecifics</name> <message> - <source>Form</source> - <translation type="obsolete">Formularz</translation> + <source>List View</source> + <translation type="unfinished"></translation> </message> <message> - <source>Cleanup actions which are automatically performed right before the file is saved to disk.</source> - <translation type="obsolete">Akcje porządkujące, które zostaną automatycznie wykonane zanim plik zostanie zachowany na dysku.</translation> + <source>Cache</source> + <translation>Cache</translation> </message> <message> - <source>Cleanups Upon Saving</source> - <translation type="obsolete">Porządkowanie przed zapisem</translation> + <source>Cache buffer</source> + <translation>Bufor cache'a</translation> </message> <message> - <source>Removes trailing whitespace upon saving.</source> - <translation type="obsolete">Usuwa białe znaki na końcu linii przed zapisem.</translation> + <source>Cell height</source> + <translation>Wysokość komórki</translation> </message> <message> - <source>&Clean whitespace</source> - <translation type="obsolete">Wy&czyść białe znaki</translation> + <source>Cell width</source> + <translation>Szerokość komórki</translation> </message> <message> - <source>Clean whitespace in entire document instead of only for changed parts.</source> - <translation type="obsolete">Wyczyść białe znaki w całym dokumencie zamiast tylko w zmienionych częściach.</translation> + <source>Flow</source> + <translation type="unfinished"></translation> </message> <message> - <source>In entire &document</source> - <translation type="obsolete">W całym &dokumencie</translation> + <source>Navigation wraps</source> + <translation type="unfinished"></translation> </message> <message> - <source>Correct leading whitespace according to tab settings.</source> - <translation type="obsolete">Popraw białe znaki stosownie do ustawień tabulatorów.</translation> + <source>Determines whether the grid wraps key navigation.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Clean indentation</source> - <translation type="obsolete">Wyczyść wcięcia</translation> + <source>Orientation</source> + <translation>Orientacja</translation> </message> <message> - <source>&Ensure newline at end of file</source> - <translation type="obsolete">Wstawiaj znak now&ej linii na końcu pliku</translation> + <source>Orientation of the list.</source> + <translation>Orientacja listy.</translation> </message> -</context> -<context> - <name>TextEditor::TabPreferencesWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Snap mode</source> + <translation>Tryb przyciągania</translation> </message> <message> - <source>Tab settings:</source> - <translation>Ustawienia tabulacji:</translation> + <source>Determines how the view scrolling will settle following a drag or flick.</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>TextEditor::TabSettingsWidget</name> <message> - <source>Form</source> - <translation>Formularz</translation> + <source>Spacing</source> + <translation>Odstępy</translation> </message> <message> - <source>Tabs And Indentation</source> - <translation>Tabulatory i wcięcia</translation> + <source>Spacing between items.</source> + <translation>Odstępy pomiędzy elementami.</translation> </message> <message> - <source>Insert &spaces instead of tabs</source> - <translation>Wstawiaj &spacje zamiast tabulatorów</translation> + <source>List View Highlight</source> + <translation type="unfinished"></translation> </message> <message> - <source>Automatically determine based on the nearest indented line (previous line preferred over next line)</source> - <translation>Określa automatycznie wzorując się na najbliższej wciętej linii (poprzednia linia preferowana nad następną)</translation> + <source>Range</source> + <translation>Zakres</translation> </message> <message> - <source>Based on the surrounding lines</source> - <translation>Wzorując się na sąsiednich liniach</translation> + <source>Highlight range</source> + <translation type="unfinished"></translation> </message> <message> - <source>Ta&b size:</source> - <translation>Rozmiar ta&bulatorów:</translation> + <source>Move duration</source> + <translation type="unfinished"></translation> </message> <message> - <source>&Indent size:</source> - <translation>Rozmiar wc&ięć:</translation> + <source>Move animation duration of the highlight delegate.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Enable automatic &indentation</source> - <translation>Włącz automatyczne wc&ięcia</translation> + <source>Move speed</source> + <translation type="unfinished"></translation> </message> <message> - <source>Backspace will go back one indentation level instead of one space.</source> - <translation>Klawisz "Backspace" skasuje spacje aż do poprzedniego wcięcia zamiast jednej spacji.</translation> + <source>Move animation speed of the highlight delegate.</source> + <translation type="unfinished"></translation> </message> <message> - <source>&Backspace follows indentation</source> - <translation>Klawisz "&Backspace" podąża za wcięciami</translation> + <source>Resize duration</source> + <translation type="unfinished"></translation> </message> <message> - <source>Align continuation lines:</source> - <translation>Wyrównanie przeniesionych linii:</translation> + <source>Resize animation duration of the highlight delegate.</source> + <translation type="unfinished"></translation> </message> <message> - <source><html><head/><body> -Influences the indentation of continuation lines. - -<ul> -<li>Not At All: Do not align at all. Lines will only be indented to the current logical indentation depth. -<pre> -(tab)int i = foo(a, b -(tab)c, d); -</pre> -</li> - -<li>With Spaces: Always use spaces for alignment, regardless of the other indentation settings. -<pre> -(tab)int i = foo(a, b -(tab) c, d); -</pre> -</li> - -<li>With Regular Indent: Use tabs and/or spaces for alignment, as configured above. -<pre> -(tab)int i = foo(a, b -(tab)(tab)(tab) c, d); -</pre> -</li> -</ul></body></html></source> - <translation><html><head/><body> -Wpływa na wcięcia przeniesionych linii. - -<ul> -<li>Brak: Nie wyrównuje. Linie będą wyrównane tylko do bieżącej logicznej głębokości wcięcia. -<pre> -(tab)int i = foo(a, b -(tab)c, d); -</pre> -</li> - -<li>Ze spacjami: Zawsze używa spacji do wyrównywania, bez względu na inne ustawienia wcięć. -<pre> -(tab)int i = foo(a, b -(tab) c, d); -</pre> -</li> - -<li>Z regularnymi wcięciami: Używa tabulatorów albo spacji do wyrównywania, zależnie od konfiguracji powyżej. -<pre> -(tab)int i = foo(a, b -(tab)(tab)(tab) c, d); -</pre> -</li> -</ul></body></html></translation> + <source>Resize speed</source> + <translation type="unfinished"></translation> </message> <message> - <source>Not At All</source> - <translation>Brak</translation> + <source>Resize animation speed of the highlight delegate.</source> + <translation type="unfinished"></translation> </message> <message> - <source>With Spaces</source> - <translation>Ze spacjami</translation> + <source>Preferred begin</source> + <translation type="unfinished"></translation> </message> <message> - <source>With Regular Indent</source> - <translation>Z regularnymi wcięciami</translation> + <source>Preferred highlight begin - must be smaller than Preferred end.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Tab key performs auto-indent:</source> - <translation>Klawisz "Tab" wykonuje automatyczne wcięcia:</translation> + <source>Preferred end</source> + <translation type="unfinished"></translation> </message> <message> - <source>Never</source> - <translation>Nigdy</translation> + <source>Preferred highlight end - must be larger than Preferred begin.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Always</source> - <translation>Zawsze</translation> + <source>Follows current</source> + <translation type="unfinished"></translation> </message> <message> - <source>In Leading White Space</source> - <translation>Jeśli poprzedzony jest spacjami</translation> + <source>Determines whether the highlight is managed by the view.</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>Valgrind::Internal::CallgrindConfigWidget</name> + <name>PathViewSpecifics</name> <message> - <source>Profiling Options</source> + <source>Path View</source> <translation type="unfinished"></translation> </message> <message> - <source>This option limits the amount of results the profiler will give you. A lower limit will likely increase performance.</source> + <source>Drag margin</source> <translation type="unfinished"></translation> </message> <message> - <source>Result view: Show events with inclusive costs higher than:</source> + <source>Flick deceleration</source> <translation type="unfinished"></translation> </message> <message> - <source>%</source> - <translation>%</translation> - </message> - <message> - <source>Show additional information for events in tooltips</source> + <source>Follows current</source> <translation type="unfinished"></translation> </message> <message> - <source><html><head/><body> -<p>Specify if you want to do full cache simulation.</p> -<p>By default, only instruction read accesses will be counted ("Ir").</p> -<p> -With cache simulation, further event counters are enabled: -<ul><li>Cache misses on instruction reads ("I1mr"/"I2mr")</li> -<li>Data read accesses ("Dr") and related cache misses ("D1mr"/"D2mr")</li> -<li>Data write accesses ("Dw") and related cache misses ("D1mw"/"D2mw")</li></ul> -</p> - -For more information, see ???.</p></body></html></source> + <source>A user cannot drag or flick a PathView that is not interactive.</source> <translation type="unfinished"></translation> </message> <message> - <source>Enable cache simulation</source> + <source>Offset</source> <translation type="unfinished"></translation> </message> <message> - <source><html><head/><body> -<p>Specify if you want to do branch prediction simulation.</p> -<p>Further event counters are enabled: </p> -<ul><li>Number of executed conditional branches and related predictor misses ( -"Bc"/"Bcm")</li> -<li>Executed indirect jumps and related misses of the jump address predictor ( -"Bi"/"Bim")</li></ul></body></html></source> + <source>Specifies how far along the path the items are from their initial positions. This is a real number that ranges from 0.0 to the count of items in the model.</source> <translation type="unfinished"></translation> </message> <message> - <source>Enable branch prediction simulation</source> - <translation type="unfinished"></translation> + <source>Item count</source> + <translation>Liczba elementów</translation> </message> <message> - <source>This specifies whether information for system call times should be collected.</source> + <source>pathItemCount: number of items visible on the path at any one time.</source> <translation type="unfinished"></translation> </message> <message> - <source>Collect system call time</source> + <source>Path View Highlight</source> <translation type="unfinished"></translation> </message> <message> - <source>This specifies whether the number of global bus events executed should be collected. The event type "Ge" is used for these events.</source> + <source>Highlight range</source> <translation type="unfinished"></translation> </message> <message> - <source>Collect global bus events</source> + <source>Move duration</source> <translation type="unfinished"></translation> </message> <message> - <source>Visualisation: Show events with inclusive costs higher than:</source> + <source>Move animation duration of the highlight delegate.</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>Valgrind::Internal::MemcheckConfigWidget</name> <message> - <source>Memory Analysis Options</source> - <translation>Opcje analizatora pamięci</translation> + <source>Preferred begin</source> + <translation type="unfinished"></translation> </message> <message> - <source>Backtrace frame count:</source> - <translation>Głębokość stosu:</translation> + <source>Preferred highlight begin - must be smaller than Preferred end.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Suppression files:</source> + <source>Preferred end</source> <translation type="unfinished"></translation> </message> <message> - <source>Add...</source> - <translation>Dodaj...</translation> + <source>Preferred highlight end - must be larger than Preferred begin.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Remove</source> - <translation>Usuń</translation> + <source>Determines whether the highlight is managed by the view.</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>RowSpecifics</name> <message> - <source>Track origins of uninitialized memory</source> - <translation>Śledź źródła niezainicjalizowanej pamięci</translation> + <source>Row</source> + <translation>Wiersz</translation> </message> <message> - <source>Valgrind Suppression File (*.supp);;All Files (*)</source> - <translation type="unfinished">Plik tłumienia valgrind'a (*.supp);;Wszystkie pliki (*)</translation> + <source>Spacing</source> + <translation>Odstępy</translation> </message> </context> <context> - <name>Valgrind::Internal::SuppressionDialog</name> + <name>Utils::FileUtils</name> <message> - <source>Dialog</source> - <translation>Dialog</translation> + <source>Cannot open %1 for reading: %2</source> + <translation>Nie można otworzyć %1 do odczytu: %2</translation> </message> <message> - <source>Suppression File:</source> - <translation type="unfinished">Plik tłumienia:</translation> + <source>Cannot read %1: %2</source> + <translation>Nie można odczytać %1: %2</translation> </message> <message> - <source>Suppression:</source> - <translation type="unfinished">Tłumienie:</translation> + <source>File Error</source> + <translation>Błąd pliku</translation> </message> <message> - <source>Select Suppression File</source> - <translation type="unfinished">Wybierz plik tłumienia</translation> + <source>Cannot write file %1. Disk full?</source> + <translation>Nie można zapisać pliku %1. Pełny dysk?</translation> </message> <message> - <source>Save Suppression</source> - <translation type="unfinished">Zachowaj tłumienie</translation> + <source>Cannot overwrite file %1: %2</source> + <translation>Nie można nadpisać pliku %1: %2</translation> + </message> + <message> + <source>Cannot create file %1: %2</source> + <translation>Nie można utworzyć pliku "%1": %2</translation> + </message> + <message> + <source>Cannot create temporary file in %1: %2</source> + <translation>Nie można utworzyć tymczasowego pliku w %1: %2</translation> </message> </context> <context> - <name>Valgrind::Internal::ValgrindConfigWidget</name> + <name>Valgrind::Callgrind::CallModel</name> <message> - <source>Generic Settings</source> - <translation>Ustawienia ogólne</translation> + <source>Callee</source> + <translation>Zawołany</translation> </message> <message> - <source>Valgrind executable:</source> - <translation>Plik wykonywalny valgrind:</translation> + <source>Caller</source> + <translation>Wołający</translation> </message> <message> - <source>Valgrind Command</source> - <translation>Komenda valgrind</translation> + <source>Cost</source> + <translation>Koszt</translation> + </message> + <message> + <source>Calls</source> + <translation>Wywołania</translation> </message> </context> <context> - <name>VCSBase::VcsConfigurationPage</name> + <name>Valgrind::Callgrind::CallgrindController</name> <message> - <source>Configure</source> - <translation>Konfiguruj</translation> + <source>Previous command has not yet finished.</source> + <translation>Poprzednia komenda jeszcze się nie zakończyła.</translation> </message> <message> - <source>Configuration</source> - <translation>Konfiguracja</translation> + <source>Dumping profile data...</source> + <translation type="unfinished"></translation> </message> <message> - <source>Please configure <b>%1</b> now.</source> - <translation>Skonfiguruj teraz <b>%1</b>.</translation> + <source>Resetting event counters...</source> + <translation>Resetowanie liczników zdarzeń...</translation> </message> -</context> -<context> - <name>FlickableGroupBox</name> <message> - <source>Flickable</source> + <source>Pausing instrumentation...</source> <translation type="unfinished"></translation> </message> <message> - <source>Content size</source> + <source>Unpausing instrumentation...</source> <translation type="unfinished"></translation> </message> <message> - <source>Flick direction</source> + <source>Callgrind dumped profiling info</source> <translation type="unfinished"></translation> </message> <message> - <source>Flickable direction</source> + <source>Callgrind unpaused.</source> <translation type="unfinished"></translation> </message> <message> - <source>Behavior</source> - <translation>Zachowanie</translation> + <source>Downloading remote profile data...</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>Valgrind::Callgrind::DataModel</name> <message> - <source>Bounds behavior</source> - <translation type="unfinished"></translation> + <source>Function:</source> + <translation>Funkcja:</translation> </message> <message> - <source>Interactive</source> - <translation>Interaktywny</translation> + <source>File:</source> + <translation>Plik:</translation> </message> <message> - <source>Max. velocity</source> - <translation type="unfinished"></translation> + <source>Object:</source> + <translation>Obiekt:</translation> </message> <message> - <source>Maximum flick velocity</source> + <source>Called:</source> <translation type="unfinished"></translation> </message> - <message> - <source>Deceleration</source> - <translation>Opóźnienie</translation> + <message numerus="yes"> + <source>%n time(s)</source> + <translation> + <numerusform>%n raz</numerusform> + <numerusform>%n razy</numerusform> + <numerusform>%n razy</numerusform> + </translation> </message> <message> - <source>Flick deceleration</source> + <source>Events</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>FlowSpecifics</name> <message> - <source>Flow</source> + <source>Self costs</source> <translation type="unfinished"></translation> </message> <message> - <source>Spacing</source> - <translation type="unfinished"></translation> + <source>(%)</source> + <translation>(%)</translation> </message> -</context> -<context> - <name>GridSpecifics</name> <message> - <source>Grid</source> - <translation>Siatka</translation> + <source>Incl. costs</source> + <translation type="unfinished"></translation> </message> <message> - <source>Columns</source> - <translation>Kolumny</translation> + <source>%1</source> + <translation>%1</translation> </message> <message> - <source>Rows</source> - <translation>Wiersze</translation> + <source>(%1%)</source> + <translation>(%1%)</translation> </message> <message> - <source>Flow</source> + <source>%1 cost spent in a given function excluding costs from called functions.</source> <translation type="unfinished"></translation> </message> <message> - <source>Spacing</source> + <source>%1 cost spent in a given function including costs from called functions.</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>GridViewSpecifics</name> <message> - <source>Grid View</source> - <translation type="unfinished"></translation> + <source>Function</source> + <translation>Funkcja</translation> </message> <message> - <source>Cache</source> - <translation type="unfinished"></translation> + <source>Location</source> + <translation>Położenie</translation> </message> <message> - <source>Cache buffer</source> + <source>Called</source> <translation type="unfinished"></translation> </message> <message> - <source>Cell height</source> + <source>Self Cost: %1</source> <translation type="unfinished"></translation> </message> <message> - <source>Cell width</source> + <source>Incl. Cost: %1</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>Valgrind::Callgrind::Function</name> <message> - <source>Flow</source> - <translation type="unfinished"></translation> + <source>%1 in %2</source> + <translation>%1 w %2</translation> </message> <message> - <source>Resize wraps</source> - <translation type="unfinished"></translation> + <source>%1:%2 in %3</source> + <translation>%1: %2 w %3</translation> </message> +</context> +<context> + <name>Valgrind::Callgrind::ParseData</name> <message> - <source>Determines whether the grid wraps key navigation.</source> + <source>Last-level</source> <translation type="unfinished"></translation> </message> <message> - <source>Snap mode</source> - <translation type="unfinished"></translation> + <source>Instruction</source> + <translation>Instrukcja</translation> </message> <message> - <source>Determines how the view scrolling will settle following a drag or flick.</source> - <translation type="unfinished"></translation> + <source>Cache</source> + <translation>Cache</translation> </message> <message> - <source>Grid View Highlight</source> - <translation type="unfinished"></translation> + <source>Conditional branches</source> + <translation>Gałęzie warunkowe</translation> </message> <message> - <source>Range</source> - <translation>Zakres</translation> + <source>Indirect branches</source> + <translation>Gałęzie pośrednie</translation> </message> <message> - <source>Highlight range</source> - <translation type="unfinished"></translation> + <source>level %1</source> + <translation>poziom %1</translation> </message> <message> - <source>Move duration</source> + <source>read</source> <translation type="unfinished"></translation> </message> <message> - <source>Move animation duration of the highlight delegate.</source> + <source>write</source> <translation type="unfinished"></translation> </message> <message> - <source>Move speed</source> + <source>mispredicted</source> <translation type="unfinished"></translation> </message> <message> - <source>Move animation speed of the highlight delegate.</source> + <source>executed</source> <translation type="unfinished"></translation> </message> <message> - <source>Preferred begin</source> + <source>miss</source> <translation type="unfinished"></translation> </message> <message> - <source>Preferred highlight begin - must be smaller than Preferred end.</source> + <source>access</source> <translation type="unfinished"></translation> </message> <message> - <source>Preferred end</source> - <translation type="unfinished"></translation> + <source>Line:</source> + <translation>Linia:</translation> </message> <message> - <source>Preferred highlight end - must be larger than Preferred begin.</source> - <translation type="unfinished"></translation> + <source>Position:</source> + <translation>Pozycja:</translation> </message> +</context> +<context> + <name>Valgrind::Callgrind::CallgrindRunner</name> <message> - <source>Follows current</source> + <source>Parsing Profile Data...</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>Valgrind::Memcheck::MemcheckRunner</name> <message> - <source>Determines whether the highlight is managed by the view.</source> - <translation type="unfinished"></translation> + <source>No network interface found for remote analysis.</source> + <translation>Nie znaleziono interfejsu sieciowego do zdalnej analizy.</translation> + </message> + <message> + <source>Select Network Interface</source> + <translation>Wybierz interfejs seciowy</translation> + </message> + <message> + <source>More than one network interface was found on your machine. Please select which one you want to use for remote analysis.</source> + <translation>Odnaleziono wiele interfejsów sieciowych na tej maszynie. Wybierz, który chcesz użyć do zdalnej analizy.</translation> </message> </context> <context> - <name>ListViewSpecifics</name> + <name>Valgrind::RemoteValgrindProcess</name> <message> - <source>List View</source> - <translation type="unfinished"></translation> + <source>Could not determine remote PID.</source> + <translation>Nie można określić zdalnego PID.</translation> </message> +</context> +<context> + <name>Analyzer::AnalyzerRunConfigWidget</name> <message> - <source>Cache</source> - <translation type="unfinished"></translation> + <source>Analyzer Settings</source> + <translation>Ustawienia analizatora</translation> </message> <message> - <source>Cache buffer</source> - <translation type="unfinished"></translation> + <source>Available settings: %1</source> + <translation>Dostępne ustawienia: %1</translation> </message> +</context> +<context> + <name>Analyzer::AnalyzerRunControl</name> <message> - <source>Cell height</source> - <translation type="unfinished"></translation> + <source>Build Issues</source> + <translation>Problemy podczas budowania</translation> </message> +</context> +<context> + <name>Bazaar::Internal::BazaarDiffParameterWidget</name> <message> - <source>Cell width</source> - <translation type="unfinished"></translation> + <source>Ignore whitespace</source> + <translation>Ignoruj białe znaki</translation> + </message> + <message> + <source>Ignore blank lines</source> + <translation>Ignoruj puste linie</translation> </message> +</context> +<context> + <name>BinEditorFile</name> <message> - <source>Flow</source> - <translation type="unfinished"></translation> + <source>Cannot open %1: %2</source> + <translation>Nie można otworzyć %1: %2</translation> </message> <message> - <source>Navigation wraps</source> - <translation type="unfinished"></translation> + <source>File Error</source> + <translation>Błąd pliku</translation> </message> +</context> +<context> + <name>CMakeProjectManager::Internal::CMakeEditor</name> <message> - <source>Determines whether the grid wraps key navigation.</source> - <translation type="unfinished"></translation> + <source>Changes to cmake files are shown in the project tree after building.</source> + <translation>Zmiany w plikach cmake zostaną pokazane w drzewie projektu po zbudowaniu.</translation> </message> <message> - <source>Orientation</source> - <translation type="unfinished"></translation> + <source>Build now</source> + <translation>Zbuduj teraz</translation> </message> +</context> +<context> + <name>Core::Internal::PromptOverwriteDialog</name> <message> - <source>Orientation of the list.</source> - <translation type="unfinished"></translation> + <source>Overwrite Existing Files</source> + <translation>Nadpisz istniejące pliki</translation> </message> <message> - <source>Snap mode</source> - <translation type="unfinished"></translation> + <source>The following files already exist in the folder +%1. +Would you like to overwrite them?</source> + <translation>Następujące pliki istnieją już w katalogu +%1. +Czy chcesz je nadpisać?</translation> </message> +</context> +<context> + <name>Core::IFile</name> <message> - <source>Determines how the view scrolling will settle following a drag or flick.</source> - <translation type="unfinished"></translation> + <source>File was restored from auto-saved copy. Use <i>Save</i> to confirm, or <i>Revert to Saved</i> to discard changes.</source> + <translation>Plik został przywrócony z automatycznie zachowanej kopii. Naciśnij <i>Zachowaj</i> aby potwierdzić, lub <i>Przywróć do zachowanego</i> aby odrzucić zmiany.</translation> </message> +</context> +<context> + <name>Core::InfoBarDisplay</name> <message> - <source>Spacing</source> - <translation type="unfinished"></translation> + <source>Close</source> + <translation>Zamknij</translation> </message> +</context> +<context> + <name>Core::OutputWindow</name> <message> - <source>Spacing between items.</source> - <translation type="unfinished"></translation> + <source>Additional output omitted +</source> + <translation>Pominięto dalsze komunikaty</translation> </message> +</context> +<context> + <name>CppTools::Internal::CppCodeStylePreferencesWidget</name> <message> - <source>List View Highlight</source> - <translation type="unfinished"></translation> + <source>Code style settings:</source> + <translation>Ustawienia stylu kodu:</translation> </message> +</context> +<context> + <name>CppTools::CppToolsSettings</name> <message> - <source>Range</source> - <translation>Zakres</translation> + <source>Global C++</source> + <comment>Settings</comment> + <translation>Globalne C++</translation> </message> +</context> +<context> + <name>CVS::Internal::CvsDiffParameterWidget</name> <message> - <source>Highlight range</source> - <translation type="unfinished"></translation> + <source>Ignore whitespace</source> + <translation>Ignoruj białe znaki</translation> </message> <message> - <source>Move duration</source> - <translation type="unfinished"></translation> + <source>Ignore blank lines</source> + <translation>Ignoruj puste linie</translation> </message> +</context> +<context> + <name>Debugger::Internal::DebuggerToolTipWidget</name> <message> - <source>Move animation duration of the highlight delegate.</source> - <translation type="unfinished"></translation> + <source>Previous</source> + <translation>Poprzedni</translation> </message> +</context> +<context> + <name>Debugger::Internal::RegisterMemoryView</name> <message> - <source>Move speed</source> - <translation type="unfinished"></translation> + <source>Memory at Register '%1' (0x%2)</source> + <translation>Pamięć pod adresem "%1" (0x%2)</translation> </message> <message> - <source>Move animation speed of the highlight delegate.</source> - <translation type="unfinished"></translation> + <source>Register '%1'</source> + <translation>Rejestr "%1"</translation> </message> +</context> +<context> + <name>FakeVim::Internal::FakeVimUserCommandsModel</name> <message> - <source>Resize duration</source> - <translation type="unfinished"></translation> + <source>Action</source> + <translation>Akcja</translation> </message> <message> - <source>Resize animation duration of the highlight delegate.</source> - <translation type="unfinished"></translation> + <source>Command</source> + <translation>Komenda</translation> </message> <message> - <source>Resize speed</source> - <translation type="unfinished"></translation> + <source>User command #%1</source> + <translation>Komenda użytkownika #%1</translation> </message> +</context> +<context> + <name>FakeVim::Internal::FakeVimUserCommandsPage</name> <message> - <source>Resize animation speed of the highlight delegate.</source> - <translation type="unfinished"></translation> + <source>User Command Mapping</source> + <translation>Mapa komend użytkownika</translation> </message> <message> - <source>Preferred begin</source> - <translation type="unfinished"></translation> + <source>FakeVim</source> + <translation>FakeVim</translation> </message> +</context> +<context> + <name>ImageViewer::Internal::ImageViewer</name> <message> - <source>Preferred highlight begin - must be smaller than Preferred end.</source> - <translation type="unfinished"></translation> + <source>Cannot open image file %1</source> + <translation>Nie można otworzyć graficznego pliku %1</translation> </message> +</context> +<context> + <name>Mercurial::Internal::MercurialDiffParameterWidget</name> <message> - <source>Preferred end</source> - <translation type="unfinished"></translation> + <source>Ignore whitespace</source> + <translation>Ignoruj białe znaki</translation> </message> <message> - <source>Preferred highlight end - must be larger than Preferred begin.</source> - <translation type="unfinished"></translation> + <source>Ignore blank lines</source> + <translation>Ignoruj puste linie</translation> </message> +</context> +<context> + <name>Perforce::Internal::PerforceDiffParameterWidget</name> <message> - <source>Follows current</source> - <translation type="unfinished"></translation> + <source>Ignore whitespace</source> + <translation>Ignoruj białe znaki</translation> </message> +</context> +<context> + <name>ProjectExplorer::AbiWidget</name> <message> - <source>Determines whether the highlight is managed by the view.</source> - <translation type="unfinished"></translation> + <source><custom></source> + <translation><własny></translation> </message> </context> <context> - <name>PathViewSpecifics</name> + <name>ProjectExplorer::Internal::AppOutputPane</name> <message> - <source>Path View</source> - <translation type="unfinished"></translation> + <source>Stop</source> + <translation>Zatrzymaj</translation> </message> <message> - <source>Drag margin</source> - <translation type="unfinished"></translation> + <source>Re-run this run-configuration</source> + <translation>Uruchom ponownie tę konfigurację</translation> </message> <message> - <source>Flick deceleration</source> - <translation type="unfinished"></translation> + <source>Attach debugger to this process</source> + <translation>Dołącz debugger do tego procesu</translation> </message> <message> - <source>Follows current</source> - <translation type="unfinished"></translation> + <source>Application Output</source> + <translation>Komunikaty aplikacji</translation> </message> <message> - <source>A user cannot drag or flick a PathView that is not interactive.</source> - <translation type="unfinished"></translation> + <source>Application Output Window</source> + <translation>Okno z komunikatami aplikacji</translation> </message> +</context> +<context> + <name>CodeStyleSettingsPanelFactory</name> <message> - <source>Offset</source> - <translation type="unfinished"></translation> + <source>Code Style Settings</source> + <translation>Ustawienia stylu kodu</translation> </message> +</context> +<context> + <name>CodeStyleSettingsPanel</name> <message> - <source>Specifies how far along the path the items are from their initial positions. This is a real number that ranges from 0.0 to the count of items in the model.</source> - <translation type="unfinished"></translation> + <source>Code Style Settings</source> + <translation>Ustawienia stylu kodu</translation> </message> +</context> +<context> + <name>ProjectExplorer::EditorConfiguration</name> <message> - <source>Item count</source> - <translation type="unfinished"></translation> + <source>Project</source> + <comment>Settings</comment> + <translation>Projektu</translation> </message> <message> - <source>pathItemCount: number of items visible on the path at any one time.</source> - <translation type="unfinished"></translation> + <source>Project %1</source> + <comment>Settings, %1 is a language (C++ or QML)</comment> + <translation>Projektu %1</translation> </message> +</context> +<context> + <name>ProjectExplorer::Internal::ClangToolChainFactory</name> <message> - <source>Path View Highlight</source> - <translation type="unfinished"></translation> + <source>Clang</source> + <translation>Clang</translation> </message> +</context> +<context> + <name>QmlDesigner::ComponentAction</name> <message> - <source>Highlight range</source> - <translation type="unfinished"></translation> + <source>Edit sub components defined in this file</source> + <translation>Modyfikuje podkomponenty zdefiniowane w tym pliku</translation> </message> +</context> +<context> + <name>QmlDesigner::NodeInstanceServerProxy</name> <message> - <source>Move duration</source> + <source>Cannot Find QML Puppet Executable</source> <translation type="unfinished"></translation> </message> <message> - <source>Move animation duration of the highlight delegate.</source> + <source>The executable of the QML Puppet process (%1) cannot be found. Please check your installation. QML Puppet is a process which runs in the background to render the items.</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>QmlJSEditor::Internal::HoverHandler</name> <message> - <source>Preferred begin</source> - <translation type="unfinished"></translation> + <source>Library at %1</source> + <translation>Biblioteka w %1</translation> </message> <message> - <source>Preferred highlight begin - must be smaller than Preferred end.</source> - <translation type="unfinished"></translation> + <source>Dumped plugins successfully.</source> + <translation>Wtyczki poprawnie zrzucone.</translation> </message> <message> - <source>Preferred end</source> - <translation type="unfinished"></translation> + <source>Read typeinfo files successfully.</source> + <translation>Pliki typeinfo poprawnie odczytane.</translation> </message> +</context> +<context> + <name>QmlJSTools</name> <message> - <source>Preferred highlight end - must be larger than Preferred begin.</source> - <translation type="unfinished"></translation> + <source>Code Style</source> + <translation>Styl kodu</translation> </message> <message> - <source>Determines whether the highlight is managed by the view.</source> - <translation type="unfinished"></translation> + <source>Qt Quick</source> + <translation>Qt Quick</translation> </message> </context> <context> - <name>RowSpecifics</name> - <message> - <source>Row</source> - <translation>Wiersz</translation> - </message> + <name>QmlJSTools::QmlJSToolsSettings</name> <message> - <source>Spacing</source> - <translation>Odstępy</translation> + <source>Global Qt Quick</source> + <comment>Settings</comment> + <translation>Globalne Qt Quick</translation> </message> </context> <context> - <name>Utils::FileUtils</name> + <name>QmlProfiler::Internal::QmlProfilerEngine</name> <message> - <source>Cannot open %1 for reading: %2</source> - <translation>Nie można otworzyć %1 do odczytu: %2</translation> + <source>The port seems to be in use.</source> + <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> + <translation>Port prawdopodobnie zajęty.</translation> </message> <message> - <source>Cannot read %1: %2</source> - <translation>Nie można odczytać %1: %2</translation> + <source>The application is not set up for QML/JS debugging.</source> + <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> + <translation>Aplikacja nie jest przygotowana do debugowania QML/JS.</translation> </message> <message> - <source>File Error</source> - <translation>Błąd pliku</translation> + <source>Qt Creator</source> + <translation>Qt Creator</translation> </message> <message> - <source>Cannot write file %1. Disk full?</source> - <translation>Nie można zapisać pliku %1. Pełny dysk?</translation> + <source>Could not connect to the in-process QML debugger: +%1</source> + <extracomment>%1 is detailed error message</extracomment> + <translation>Nie można podłączyć się do wewnątrzprocesowego debuggera QML: +%1</translation> </message> +</context> +<context> + <name>QmlProfiler::Internal::QmlProfilerSummaryView</name> <message> - <source>Cannot overwrite file %1: %2</source> - <translation>Nie można nadpisać pliku %1: %2</translation> + <source>Location</source> + <translation>Położenie</translation> </message> <message> - <source>Cannot create file %1: %2</source> - <translation>Nie można utworzyć pliku "%1": %2</translation> + <source>Time in Percent</source> + <translation>Procentowy czas</translation> </message> <message> - <source>Cannot create temporary file in %1: %2</source> - <translation>Nie można utworzyć tymczasowego pliku w %1: %2</translation> + <source>Total Time</source> + <translation>Czas całkowity</translation> </message> -</context> -<context> - <name>Valgrind::Callgrind::CallModel</name> <message> - <source>Callee</source> - <translation type="unfinished"></translation> + <source>Calls</source> + <translation>Wywołania</translation> </message> <message> - <source>Caller</source> + <source>Time per Call</source> <translation type="unfinished"></translation> </message> <message> - <source>Cost</source> - <translation type="unfinished"></translation> + <source>Longest Time</source> + <translation>Najdłuższy czas</translation> </message> <message> - <source>Calls</source> - <translation type="unfinished"></translation> + <source>Shortest Time</source> + <translation>Najkrótszy czas</translation> </message> </context> <context> - <name>Valgrind::Callgrind::CallgrindController</name> - <message> - <source>Previous command has not yet finished.</source> - <translation>Poprzednia komenda jeszcze się nie zakończyła.</translation> - </message> + <name>QmlProfiler::Internal::QmlProfilerTool</name> <message> - <source>Dumping profile data...</source> + <source>QML Profiler</source> <translation type="unfinished"></translation> </message> <message> - <source>Resetting event counters...</source> + <source>The QML Profiler can be used to find performance bottlenecks in applications using QML.</source> <translation type="unfinished"></translation> </message> <message> - <source>Pausing instrumentation...</source> - <translation type="unfinished"></translation> + <source>Attach...</source> + <translation>Dołącz...</translation> </message> <message> - <source>Unpausing instrumentation...</source> + <source>Bindings</source> <translation type="unfinished"></translation> </message> <message> - <source>Callgrind dumped profiling info</source> + <source>Timeline</source> <translation type="unfinished"></translation> </message> <message> - <source>Callgrind unpaused.</source> + <source>Callees</source> <translation type="unfinished"></translation> </message> <message> - <source>Downloading remote profile data...</source> + <source>Callers</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>Valgrind::Callgrind::DataModel</name> <message> - <source>Function:</source> - <translation>Funkcja:</translation> + <source>Elapsed: 0 s</source> + <translation>Upłynęłó: 0 s</translation> </message> <message> - <source>File:</source> - <translation>Plik:</translation> + <source>Elapsed: %1 s</source> + <translation>Upłynęło: %1 s</translation> </message> <message> - <source>Object:</source> - <translation>Obiekt:</translation> + <source>Detach</source> + <translation>Odłącz</translation> </message> +</context> +<context> + <name>QmlProfiler::Internal::QmlProjectAnalyzerRunControlFactory</name> <message> - <source>Called:</source> + <source>QML Profiler</source> <translation type="unfinished"></translation> </message> - <message numerus="yes"> - <source>%n time(s)</source> - <translation> - <numerusform>%n raz</numerusform> - <numerusform>%n razy</numerusform> - <numerusform>%n razy</numerusform> - </translation> +</context> +<context> + <name>QmlProjectManager::Internal::QmlProjectRunControl</name> + <message> + <source>Starting %1 %2 +</source> + <translation>Uruchamianie %1 %2 +</translation> </message> <message> - <source>Events</source> - <translation type="unfinished"></translation> + <source>%1 exited with code %2 +</source> + <translation>%1 zakończone kodem %2 +</translation> </message> +</context> +<context> + <name>QmlProjectManager::Internal::QmlProjectRunControlFactory</name> <message> - <source>Self costs</source> + <source>Run</source> <translation type="unfinished"></translation> </message> <message> - <source>(%)</source> - <translation>(%)</translation> + <source>Open Qt4 Options</source> + <translation>Otwórz ustawienia Qt4</translation> </message> <message> - <source>Incl. costs</source> - <translation type="unfinished"></translation> + <source>Cancel</source> + <translation>Anuluj</translation> </message> <message> - <source>%1</source> - <translation>%1</translation> + <source>QML Observer Missing</source> + <translation>Brak QML Observera</translation> </message> <message> - <source>(%1%)</source> - <translation>(%1%)</translation> + <source>QML Observer could not be found.</source> + <translation>Nie można odnaleźć QML Observera.</translation> </message> <message> - <source>%1 cost spent in a given function excluding costs from called functions.</source> - <translation type="unfinished"></translation> + <source>QML Observer is used to offer debugging features for QML applications, such as interactive debugging and inspection tools. It must be compiled for each used Qt version separately. On the Qt4 options page, select the current Qt installation and click Rebuild.</source> + <translation>QML Observer umożliwia interaktywne debugowanie aplikacji QML. Aplikacja musi być skompilowana dla każdej wersji Qt. W tym celu wybierz bieżącą instalację Qt w ustawieniach Qt4 i kliknij Przebuduj.</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::CodaRunControl</name> <message> - <source>%1 cost spent in a given function including costs from called functions.</source> - <translation type="unfinished"></translation> + <source>No device is connected. Please connect a device and try again. +</source> + <translation>Brak podłączonego urządzenia. Podłącz je i spróbuj ponownie. +</translation> </message> <message> - <source>Function</source> - <translation>Funkcja</translation> + <source>Executable file: %1 +</source> + <translation>Plik wykonywalny: %1 +</translation> </message> <message> - <source>Location</source> - <translation>Położenie</translation> + <source>Connecting to '%1'... +</source> + <translation>Łączenie z %1... +</translation> </message> <message> - <source>Called</source> - <translation type="unfinished"></translation> + <source>Unable to create CODA connection. Please try again. +</source> + <translation>Nie można stworzyć połączenia z CODA. Spróbuj ponownie. +</translation> </message> <message> - <source>Self Cost: %1</source> - <translation type="unfinished"></translation> + <source>Could not open serial device: %1 +</source> + <translation>Nie można otworzyć portu szeregowego: %1 +</translation> </message> <message> - <source>Incl. Cost: %1</source> - <translation type="unfinished"></translation> + <source>Connecting to %1:%2... +</source> + <translation>Łączenie z %1:%2... +</translation> </message> -</context> -<context> - <name>Valgrind::Callgrind::Function</name> <message> - <source>%1 in %2</source> - <translation>%1 w %2</translation> + <source>Error: %1 +</source> + <translation>Błąd: %1 +</translation> </message> <message> - <source>%1:%2 in %3</source> - <translation>%1: %2 w %3</translation> + <source>Connected. +</source> + <translation>Połączono. +</translation> </message> -</context> -<context> - <name>Valgrind::Callgrind::ParseData</name> <message> - <source>Last-level</source> - <translation type="unfinished"></translation> + <source>Process has finished. +</source> + <translation>Proces zakończył się. +</translation> </message> <message> - <source>Instruction</source> - <translation type="unfinished"></translation> + <source>Thread has crashed: %1 +</source> + <translation>Wątek zakończony błędem: %1 +</translation> </message> <message> - <source>Cache</source> - <translation type="unfinished"></translation> + <source>The process is already running on the device. Please first close it. +</source> + <translation>Ten proces jest już uruchomiony na urządzeniu. Najpierw zakończ go. +</translation> </message> <message> - <source>Conditional branches</source> - <translation type="unfinished"></translation> + <source>Launching: %1 +</source> + <translation>Uruchamianie: %1 +</translation> </message> <message> - <source>Indirect branches</source> - <translation type="unfinished"></translation> + <source>Launched. +</source> + <translation>Uruchomiono. +</translation> </message> <message> - <source>level %1</source> - <translation type="unfinished"></translation> + <source>Launch failed: %1 +</source> + <translation>Nie można uruchomić: %1 +</translation> </message> <message> - <source>read</source> - <translation type="unfinished"></translation> + <source>Waiting for CODA</source> + <translation>Oczekiwanie na CODA</translation> </message> <message> - <source>write</source> - <translation type="unfinished"></translation> + <source>Qt Creator is waiting for the CODA application to connect.<br>Please make sure the application is running on your mobile phone and the right IP address and/or port are configured in the project settings.</source> + <translation>Qt Creator oczekuje na połączenie z aplikacją CODA.<br>Upewnij się, że aplikacja jest już uruchomiona na telefonie oraz że skonfigurowano poprawny adres IP / port w ustawieniach projektu.</translation> </message> <message> - <source>mispredicted</source> - <translation type="unfinished"></translation> + <source>Canceled. +</source> + <translation>Anulowano. +</translation> </message> <message> - <source>executed</source> - <translation type="unfinished"></translation> + <source>The device '%1' has been disconnected. +</source> + <translation>Urządzenie "%1" zostało odłączone. +</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::S60DeployConfiguration</name> <message> - <source>miss</source> - <translation type="unfinished"></translation> + <source>Deploy %1 to Symbian device</source> + <translation>Zainstaluj %1 na urządzeniu Symbian</translation> </message> <message> - <source>access</source> - <translation type="unfinished"></translation> + <source>Deploy to Symbian device</source> + <translation>Zainstaluj na urządzeniu Symbian</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::S60DeployConfigurationFactory</name> <message> - <source>Line:</source> - <translation>Linia:</translation> + <source>%1 on Symbian Device</source> + <translation>%1 na urządzeniu Symbian</translation> </message> <message> - <source>Position:</source> - <translation>Pozycja:</translation> + <source>Deploy to Symbian device</source> + <translation>Zainstaluj na urządzeniu Symbian</translation> </message> </context> <context> - <name>Valgrind::Callgrind::CallgrindRunner</name> + <name>Qt4ProjectManager::S60DeviceRunConfiguration</name> <message> - <source>Parsing Profile Data...</source> - <translation type="unfinished"></translation> + <source>%1 on Symbian Device</source> + <extracomment>S60 device runconfiguration default display name, %1 is base pro-File name</extracomment> + <translation>%1 na urządzeniu Symbian</translation> </message> -</context> -<context> - <name>Valgrind::Memcheck::MemcheckRunner</name> <message> - <source>No network interface found for remote analysis.</source> - <translation type="unfinished"></translation> + <source>Run on Symbian device</source> + <extracomment>S60 device runconfiguration default display name (no profile set)</extracomment> + <translation>Uruchom na urządzeniu Symbian</translation> </message> <message> - <source>Select Network Interface</source> - <translation type="unfinished"></translation> + <source>The .pro file is currently being parsed.</source> + <translation>Trwa parsowanie pliku .pro.</translation> </message> <message> - <source>More than one network interface was found on your machine. Please select which one you want to use for remote analysis.</source> - <translation type="unfinished"></translation> + <source>The .pro file could not be parsed.</source> + <translation>Nie można sparsować pliku .pro.</translation> </message> </context> <context> - <name>Valgrind::RemoteValgrindProcess</name> + <name>Qt4ProjectManager::S60DeviceRunConfigurationFactory</name> <message> - <source>Could not determine remote PID.</source> - <translation type="unfinished"></translation> + <source>%1 on Symbian Device</source> + <translation>%1 na urządzeniu Symbian</translation> </message> </context> <context> - <name>Analyzer::AnalyzerRunConfigWidget</name> - <message> - <source>Analyzer Settings</source> - <translation>Ustawienia analizatora</translation> - </message> + <name>Qt4ProjectManager::Internal::S60CommandPublishStep</name> <message> - <source>Available settings: %1</source> - <translation>Dostępne ustawienia: %1</translation> + <source>Running %1</source> + <extracomment>%1 is a name of the Publish Step i.e. Clean Step</extracomment> + <translation>Wykonywanie: %1</translation> </message> </context> <context> - <name>Analyzer::AnalyzerRunControl</name> + <name>Qt4ProjectManager::S60RunControlBase</name> <message> - <source>Build Issues</source> - <translation>Problemy podczas budowania</translation> + <source>Launching</source> + <translation>Uruchamianie</translation> </message> -</context> -<context> - <name>Bazaar::Internal::BazaarDiffParameterWidget</name> <message> - <source>Ignore whitespace</source> - <translation>Ignoruj białe znaki</translation> + <source>Please finalise the installation on your device. +</source> + <translation>Kontynuuj instalację na urządzeniu. +</translation> </message> <message> - <source>Ignore blank lines</source> - <translation>Ignoruj puste linie</translation> + <source><html><head/><body><center><i>%1</i> is still running on the device.</center><center>Terminating it can leave the target in an inconsistent state.</center><center>Would you still like to terminate it?</center></body></html></source> + <translation><html><head/><body><center><i>%1</i> jest wciąż uruchomiony na urządzeniu.</center><center>Zakończenie go może pozostawić urządzenie w niespójnym stanie.</center><center>Czy chcesz go zakończyć?</center></body></html></translation> </message> -</context> -<context> - <name>BinEditorFile</name> <message> - <source>Cannot open %1: %2</source> - <translation>Nie można otworzyć %1: %2</translation> + <source>Application Still Running</source> + <translation>Program wciąż uruchomiony</translation> </message> <message> - <source>File Error</source> - <translation>Błąd pliku</translation> + <source>Force Quit</source> + <translation>Wymuś zakończenie</translation> </message> -</context> -<context> - <name>Callgrind::Internal::CallgrindTool</name> <message> - <source>Profile</source> - <translation type="unfinished"></translation> + <source>Keep Running</source> + <translation>Pozostaw uruchomionym</translation> </message> <message> - <source>Profile Costs of this Function and its Callees</source> - <translation type="unfinished"></translation> + <source>Finished. +</source> + <translation>Zakończono. +</translation> </message> </context> <context> - <name>Callgrind::Internal::CallgrindToolPrivate</name> + <name>Qt4ProjectManager::Internal::SymbianQtConfigWidget</name> <message> - <source>Callers</source> - <translation type="unfinished"></translation> + <source>S60 SDK:</source> + <translation>S60 SDK:</translation> </message> <message> - <source>Functions</source> - <translation>Funkcje</translation> + <source>SBS v2 directory:</source> + <translation>Katalog SBS v2:</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Qt4BuildConfiguration</name> <message> - <source>Callees</source> - <translation type="unfinished"></translation> + <source>Parsing the .pro file</source> + <translation>Parsowanie pliku .pro</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Qt4BuildConfigurationFactory</name> <message> - <source>Visualization</source> - <translation type="unfinished"></translation> + <source>Using Qt Version "%1"</source> + <translation>Użyj wersji "%1"</translation> </message> <message> - <source>Dump</source> - <translation type="unfinished"></translation> + <source>New Configuration</source> + <translation>Nowa konfiguracja</translation> </message> <message> - <source>Request the dumping of profile information. This will update the callgrind visualization.</source> - <translation type="unfinished"></translation> + <source>New configuration name:</source> + <translation>Nazwa nowej konfiguracji:</translation> </message> <message> - <source>Reset</source> - <translation type="unfinished"></translation> + <source>%1 Debug</source> + <extracomment>Debug build configuration. We recommend not translating it.</extracomment> + <translation>%1 Debug</translation> </message> <message> - <source>Zero all event counters.</source> - <translation type="unfinished"></translation> + <source>%1 Release</source> + <extracomment>Release build configuration. We recommend not translating it.</extracomment> + <translation>%1 Release</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Qt4ProFileNode</name> <message> - <source>Ignore</source> - <translation>Zignoruj</translation> + <source>Error while parsing file %1. Giving up.</source> + <translation>Błąd podczas parsowania pliku %1. Przetwarzanie przerwane.</translation> </message> <message> - <source>If enabled, no events are counted which will speed up program execution during profiling.</source> - <translation type="unfinished"></translation> + <source>Could not find .pro file for sub dir '%1' in '%2'</source> + <translation>Nie można odnaleźć pliku .pro w podkatalogu "%1" w "%2"</translation> </message> +</context> +<context> + <name>BaseQtVersion</name> <message> - <source>Back</source> - <translation type="unfinished"></translation> + <source>Name:</source> + <translation>Nazwa:</translation> </message> <message> - <source>Go back one step in history. This will select the previously selected item.</source> - <translation type="unfinished"></translation> + <source>Invalid Qt version</source> + <translation>Niepoprawna wersja Qt</translation> </message> <message> - <source>All Functions</source> - <translation type="unfinished"></translation> + <source>ABI:</source> + <translation>ABI:</translation> </message> <message> - <source>Show the overview of all function calls.</source> - <translation type="unfinished"></translation> + <source>Source:</source> + <translation>Źródło:</translation> </message> <message> - <source>Selects which events from the profiling data are shown and visualized.</source> - <translation type="unfinished"></translation> + <source>mkspec:</source> + <translation>mkspec:</translation> </message> <message> - <source>Absolute Costs</source> - <translation type="unfinished"></translation> + <source>qmake:</source> + <translation>qmake:</translation> </message> <message> - <source>Show costs as absolute numbers.</source> - <translation type="unfinished"></translation> + <source>Default:</source> + <translation>Domyślna:</translation> </message> <message> - <source>Relative Costs</source> - <translation type="unfinished"></translation> + <source>Version:</source> + <translation>Wersja:</translation> </message> +</context> +<context> + <name>QtSupport::Internal::QtOptionsPageWidget</name> <message> - <source>Show costs relative to total inclusive cost.</source> - <translation type="unfinished"></translation> + <source><specify a name></source> + <translation><Podaj nazwę></translation> </message> <message> - <source>Relative Costs to Parent</source> - <translation type="unfinished"></translation> + <source>Auto-detected</source> + <translation>Automatycznie wykryte</translation> </message> <message> - <source>Show costs relative to parent functions inclusive cost.</source> - <translation type="unfinished"></translation> + <source>Manual</source> + <translation>Ustawione ręcznie</translation> </message> <message> - <source>Cost Format</source> - <translation type="unfinished"></translation> + <source>Remove invalid Qt Versions</source> + <translation>Usuń niepoprawne wersje Qt</translation> </message> <message> - <source>Cycle Detection</source> - <translation type="unfinished"></translation> + <source>Do you want to remove all invalid Qt Versions?<br><ul><li>%1</li></ul><br>will be removed.</source> + <translation>Czy chcesz usunąć wszystkie niepoprawne wersje Qt?<br>Usunięte zostaną:<br><ul><li>%1</li></ul></translation> </message> <message> - <source>Enable cycle detection to properly handle recursive or circular function calls.</source> - <translation type="unfinished"></translation> + <source>No tool chain can produce code for this Qt version. Please define one or more tool chains.</source> + <translation>Żaden zestaw narzędzi nie może wygenerować kodu dla tej wersji Qt. Zdefiniuj jeden lub więcej zestawów narzędzi.</translation> </message> <message> - <source>Show Project Costs Only</source> - <translation type="unfinished"></translation> + <source>Not all possible target environments can be supported due to missing tool chains.</source> + <translation>Nie wszystkie możliwe docelowe środowiska mogą być obsłużone z powodu brakujących zestawów narzędzi.</translation> </message> <message> - <source>Show only profiling info that originated from this project source.</source> - <translation type="unfinished"></translation> + <source>Building helpers</source> + <translation>Budowanie asystentów</translation> </message> <message> - <source>Filter...</source> - <translation type="unfinished"></translation> + <source>Debugging Helper Build Log for '%1'</source> + <translation>Log budowania asystenta debuggera dla "%1"</translation> </message> <message> - <source>Profiling aborted.</source> - <translation type="unfinished"></translation> + <source>Select a qmake executable</source> + <translation>Wskaż plik wykonywalny qmake</translation> </message> <message> - <source>Parsing finished, no data.</source> - <translation>Zakończono parsowanie, brak danych.</translation> + <source>Qt versions incompatible</source> + <translation>Niekompatybilne wersje Qt</translation> </message> <message> - <source>Parsing finished, total cost of %1 reported.</source> + <source>The qt version selected must be for the same target.</source> <translation type="unfinished"></translation> </message> <message> - <source>Parsing failed.</source> - <translation>Błąd parsowania.</translation> - </message> - <message> - <source>Select this Function in the Analyzer Output</source> - <translation type="unfinished"></translation> + <source>Helpers: None available</source> + <translation>Asystenci: Nie są dostępni</translation> </message> <message> - <source>Populating...</source> - <translation type="unfinished"></translation> + <source>Helpers: %1.</source> + <extracomment>%1 is list of tool names.</extracomment> + <translation>Asystenci: %1.</translation> </message> -</context> -<context> - <name>CMakeProjectManager::Internal::CMakeEditor</name> <message> - <source>Changes to cmake files are shown in the project tree after building.</source> - <translation type="unfinished">Zmiany w plikach cmake zostaną pokazane w drzewie projektu po zbudowaniu.</translation> + <source><i>Not yet built.</i></source> + <translation><i>Jeszcze nie zbudowany.</i></translation> </message> <message> - <source>Build now</source> - <translation>Zbuduj teraz</translation> + <source><i>Not needed.</i></source> + <translation><i>Niepotrzebny</i></translation> </message> -</context> -<context> - <name>Core::Internal::PromptOverwriteDialog</name> <message> - <source>Overwrite Existing Files</source> - <translation>Nadpisz istniejące pliki</translation> + <source><i>Cannot be compiled.</i></source> + <translation><i>Nie może zostać skompilowany.</i></translation> </message> <message> - <source>The following files already exist in the folder -%1. -Would you like to overwrite them?</source> - <translation>Następujące pliki istnieją już w katalogu -%1. -Czy chcesz je nadpisać?</translation> + <source>Qt version %1 for %2</source> + <translation>Wersja Qt %1 dla %2</translation> </message> -</context> -<context> - <name>Core::IFile</name> <message> - <source>File was restored from auto-saved copy. Use <i>Save</i> to confirm, or <i>Revert to Saved</i> to discard changes.</source> - <translation type="unfinished"></translation> + <source>The following ABIs are currently not supported:<ul><li>%1</li></ul></source> + <translation>Następujące ABI nie są obecnie obsługiwane: <ul><li>%1</li></ul></translation> </message> -</context> -<context> - <name>Core::InfoBarDisplay</name> <message> - <source>Close</source> - <translation>Zamknij</translation> + <source>S60 SDK:</source> + <translation>S60 SDK:</translation> </message> -</context> -<context> - <name>Core::OutputWindow</name> <message> - <source>Additional output omitted -</source> - <translation>Pominięto dalsze komunikaty</translation> + <source>SBS v2 directory:</source> + <translation>Katalog SBS v2:</translation> </message> </context> <context> - <name>CppTools::Internal::CppCodeStylePreferencesWidget</name> + <name>QtSupport::QtVersionManager</name> <message> - <source>Code style settings:</source> - <translation>Ustawienia stylu kodu:</translation> + <source>MinGW from %1</source> + <translation>MinGW z %1</translation> </message> </context> <context> - <name>CppTools::CppToolsSettings</name> + <name>AbstractLinuxDeviceDeployStep</name> <message> - <source>Global C++</source> - <comment>Settings</comment> - <translation>Globalne C++</translation> + <source>No valid device set.</source> + <translation>Nie ustawiono poprawnego urządzenia.</translation> </message> </context> <context> - <name>CVS::Internal::CvsDiffParameterWidget</name> - <message> - <source>Ignore whitespace</source> - <translation>Ignoruj białe znaki</translation> - </message> + <name>RemoteLinux::Internal::AbstractMaemoDeployStep</name> <message> - <source>Ignore blank lines</source> - <translation>Ignoruj puste linie</translation> + <source>Operation canceled by user, cleaning up...</source> + <translation>Operacja anulowana przez użytkownika, czyszczenie...</translation> </message> -</context> -<context> - <name>Debugger::Internal::DebuggerToolTipWidget</name> <message> - <source>Previous</source> - <translation>Poprzedni</translation> + <source>Cannot deploy: Still cleaning up from last time.</source> + <translation>Nie można zainstalować: nadal trwa czyszczenie po ostatniej instalacji.</translation> </message> -</context> -<context> - <name>Debugger::Internal::RegisterMemoryView</name> <message> - <source>Memory at Register '%1' (0x%2)</source> - <translation>Pamięć pod adresem "%1" (0x%2)</translation> + <source>Cannot deploy: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then.</source> + <translation>Błąd instalacji: Qemu nie był uruchomiony. Został on właśnie uruchomiony, ale zajmie chwilę zanim będzie gotowy.</translation> </message> <message> - <source>Register '%1'</source> - <translation>Rejestr "%1"</translation> + <source>Cannot deploy: You want to deploy to Qemu, but it is not enabled for this Qt version.</source> + <translation>Nie można zainstalować: ta wersja Qt nie umożliwia instalowania na Qemu.</translation> </message> -</context> -<context> - <name>FakeVim::Internal::FakeVimUserCommandsModel</name> <message> - <source>Action</source> - <translation>Akcja</translation> + <source>All files up to date, no installation necessary.</source> + <translation>Wszystkie pliki są aktualne, instalowanie zbyteczne.</translation> </message> <message> - <source>Command</source> - <translation>Komenda</translation> + <source>Connection error: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>User command #%1</source> - <translation>Komenda użytkownika #%1</translation> + <source>Connecting to device...</source> + <translation>Nawiązywanie połączenia z urządzeniem...</translation> </message> -</context> -<context> - <name>FakeVim::Internal::FakeVimUserCommandsPage</name> <message> - <source>User Command Mapping</source> - <translation>Mapa komend użytkownika</translation> + <source>Deployment failed.</source> + <translation>Błąd instalacji.</translation> </message> <message> - <source>FakeVim</source> - <translation>FakeVim</translation> + <source>Deployment finished.</source> + <translation>Zakończono instalowanie.</translation> </message> </context> <context> - <name>ImageViewer::Internal::ImageViewer</name> + <name>RemoteLinux::Internal::LinuxDeviceConfigurations</name> <message> - <source>Cannot open image file %1</source> - <translation>Nie można otworzyć graficznego pliku %1</translation> + <source>(default for %1)</source> + <translation>(domyślna dla %1)</translation> </message> </context> <context> - <name>Mercurial::Internal::MercurialDiffParameterWidget</name> - <message> - <source>Ignore whitespace</source> - <translation>Ignoruj białe znaki</translation> - </message> + <name>RemoteLinux::Internal::LinuxDeviceFactorySelectionDialog</name> <message> - <source>Ignore blank lines</source> - <translation>Ignoruj puste linie</translation> + <source>Start Wizard</source> + <translation>Uruchom kreatora</translation> </message> </context> <context> - <name>Perforce::Internal::PerforceDiffParameterWidget</name> + <name>RemoteLinux::Internal::MaemoConfigTestDialog</name> <message> - <source>Ignore whitespace</source> - <translation>Ignoruj białe znaki</translation> + <source>Testing configuration. This may take a while.</source> + <translation>Testowanie konfiguracji. To może chwilę potrwać.</translation> </message> -</context> -<context> - <name>ProjectExplorer::AbiWidget</name> <message> - <source><custom></source> - <translation type="unfinished"></translation> + <source>Testing configuration...</source> + <translation>Testowanie konfiguracji...</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::AppOutputPane</name> <message> - <source>Stop</source> - <translation>Zatrzymaj</translation> + <source>Stop Test</source> + <translation>Zatrzymaj test</translation> </message> <message> - <source>Re-run this run-configuration</source> - <translation>Uruchom ponownie tę konfigurację</translation> + <source>Could not connect to host: %1</source> + <translation>Nie można połączyć się z hostem: %1</translation> </message> <message> - <source>Attach debugger to this process</source> - <translation>Dołącz debugger do tego procesu</translation> + <source> +Did you start Qemu?</source> + <translation> +Czy uruchomiłeś Qemu?</translation> </message> <message> - <source>Application Output</source> - <translation>Komunikaty aplikacji</translation> + <source>Remote process failed: %1</source> + <translation>Zdalny proces zakończony błędem: %1</translation> </message> <message> - <source>Application Output Window</source> - <translation>Okno z komunikatami aplikacji</translation> + <source>Qt version mismatch! Expected Qt on device: 4.6.2 or later.</source> + <translation>Niezgodność wersji Qt. Dla urządzenia oczekiwano wersji 4.6.2 lub późniejszej.</translation> </message> -</context> -<context> - <name>CodeStyleSettingsPanelFactory</name> <message> - <source>Code Style Settings</source> - <translation>Ustawienia stylu kodu</translation> + <source>%1 is not installed.<br>You will not be able to deploy to this device.</source> + <translation>%1 nie jest zainstalowany.<br> Nie będzie można zainstalować na urządzeniu.</translation> </message> -</context> -<context> - <name>CodeStyleSettingsPanel</name> <message> - <source>Code Style Settings</source> - <translation>Ustawienia stylu kodu</translation> + <source>Please switch the device to developer mode via Settings -> Security.</source> + <translation>Przełącz urządzenie w tryb deweloperski poprzez Settings -> Security.</translation> </message> -</context> -<context> - <name>ProjectExplorer::EditorConfiguration</name> <message> - <source>Project</source> - <comment>Settings</comment> - <translation>Projektu</translation> + <source>Missing directory '%1'. You will not be able to do QML debugging on this device.</source> + <translation>Brak katalogu "%1". Nie będzie można debugować QML na tym urządzeniu.</translation> </message> <message> - <source>Project %1</source> - <comment>Settings, %1 is a language (C++ or QML)</comment> - <translation>Projektu %1</translation> + <source>Error retrieving list of used ports: %1</source> + <translation>Błąd podczas pobierania listy używanych portów: %1</translation> </message> -</context> -<context> - <name>ProjectExplorer::Internal::ClangToolChainFactory</name> <message> - <source>Clang</source> - <translation>Clang</translation> + <source>All specified ports are available.</source> + <translation>Wszystkie podane porty są dostępne.</translation> </message> -</context> -<context> - <name>QmlDesigner::ComponentAction</name> <message> - <source>Edit sub components defined in this file</source> - <translation>Modyfikuje podkomponenty zdefiniowane w tym pliku</translation> + <source>The following supposedly free ports are being used on the device:</source> + <translation>Następujące rzekomo wolne porty są używane przez urządzenie:</translation> </message> -</context> -<context> - <name>QmlDesigner::NodeInstanceServerProxy</name> <message> - <source>Cannot Find QML Puppet Executable</source> - <translation type="unfinished"></translation> + <source>Device configuration okay.</source> + <translation>Konfiguracja urządzenia poprawna.</translation> </message> <message> - <source>The executable of the QML Puppet process (%1) cannot be found. Please check your installation. QML Puppet is a process which runs in the background to render the the items.</source> - <translation type="unfinished"></translation> + <source>Close</source> + <translation>Zamknij</translation> </message> -</context> -<context> - <name>QmlJSEditor::Internal::HoverHandler</name> <message> - <source>Library at %1</source> - <translation type="unfinished"></translation> + <source>Device configuration test failed: Unexpected output: +%1</source> + <translation>Test konfiguracji urządzenia zakończony niepowodzeniem: Nieoczekiwany komunikat: +%1</translation> </message> <message> - <source>Dumped plugins successfully.</source> - <translation type="unfinished"></translation> + <source>Hardware architecture: %1 +</source> + <translation>Architektura sprzętu: %1 +</translation> </message> <message> - <source>Read typeinfo files successfully.</source> - <translation type="unfinished"></translation> + <source>Kernel version: %1 +</source> + <translation>Wersja jądra: %1 +</translation> </message> -</context> -<context> - <name>QmlJSTools</name> <message> - <source>Code Style</source> - <translation>Styl kodu</translation> + <source>No Qt packages installed.</source> + <translation>Brak zainstalowanych pakietów Qt.</translation> </message> <message> - <source>Qt Quick</source> - <translation>Qt Quick</translation> + <source>List of installed Qt packages:</source> + <translation>Lista zainstalowanych pakietów Qt:</translation> </message> </context> <context> - <name>QmlJSTools::QmlJSToolsSettings</name> + <name>RemoteLinux::Internal::AbstractMaemoDeployByMountStep</name> <message> - <source>Global Qt Quick</source> - <comment>Settings</comment> - <translation>Globalne Qt Quick</translation> + <source>Installing package to device...</source> + <translation>Instalowanie pakietu na urządzeniu...</translation> </message> </context> <context> - <name>QmlProfiler::Internal::QmlProfilerEngine</name> - <message> - <source>The port seems to be in use.</source> - <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> - <translation>Port prawdopodobnie zajęty.</translation> - </message> - <message> - <source>The application is not set up for QML/JS debugging.</source> - <extracomment>Error message shown after 'Could not connect ... debugger:"</extracomment> - <translation>Aplikacja nie jest przygotowana do debugowania QML/JS.</translation> - </message> + <name>RemoteLinux::Internal::MaemoMountAndInstallDeployStep</name> <message> - <source>Qt Creator</source> - <translation>Qt Creator</translation> + <source>No matching packaging step found.</source> + <translation>Brak odpowiedniego kroku pakowania.</translation> </message> <message> - <source>Could not connect to the in-process QML debugger: -%1</source> - <extracomment>%1 is detailed error message</extracomment> - <translation>Nie można podłączyć się do wewnątrzprocesowego debuggera QML: -%1</translation> + <source>Package installed.</source> + <translation>Zainstalowano pakiet.</translation> + </message> + <message> + <source>Deploy package via UTFS mount</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>QmlProfiler::Internal::QmlProfilerSummaryView</name> + <name>RemoteLinux::Internal::MaemoMountAndCopyDeployStep</name> <message> - <source>Location</source> - <translation>Położenie</translation> + <source>All files copied.</source> + <translation>Wszystkie pliki skopiowane.</translation> </message> <message> - <source>Time in Percent</source> - <translation>Procentowy czas</translation> + <source>Deploy files via UTFS mount</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeployConfigurationWidget</name> <message> - <source>Total Time</source> - <translation>Czas całkowity</translation> + <source>Choose Icon (will be scaled to %1x%1 pixels, if necessary)</source> + <translation>Wybierz ikonę (w razie potrzeby zostanie przeskalowana do %1x%1)</translation> </message> <message> - <source>Calls</source> - <translation type="unfinished"></translation> + <source>Invalid Icon</source> + <translation>Niepoprawna ikona</translation> </message> <message> - <source>Time per Call</source> - <translation type="unfinished"></translation> + <source>Unable to read image</source> + <translation>Nie można odczytać obrazu</translation> </message> <message> - <source>Longest Time</source> - <translation>Najdłuższy czas</translation> + <source>Failed to Save Icon</source> + <translation>Nie można zachować ikony</translation> </message> <message> - <source>Shortest Time</source> - <translation>Najkrótszy czas</translation> + <source>Could not save icon to '%1'.</source> + <translation>Nie można zachować ikony w "%1".</translation> </message> </context> <context> - <name>QmlProfiler::Internal::QmlProfilerTool</name> - <message> - <source>QML Profiler</source> - <translation type="unfinished"></translation> - </message> + <name>RemoteLinux::Internal::MaemoDeploymentMounter</name> <message> - <source>Attach...</source> - <translation type="unfinished"></translation> + <source>Connection failed: %1</source> + <translation>Błąd połączenia: %1</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeployStepBaseWidget</name> <message> - <source>Bindings</source> - <translation type="unfinished"></translation> + <source>Cannot deploy: %1</source> + <translation>Nie można zainstalować: %1</translation> </message> <message> - <source>Timeline</source> + <source><b>%1 using device</b>: %2</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeviceConfigurationsSettingsWidget</name> <message> - <source>Elapsed: 0 s</source> - <translation type="unfinished"></translation> + <source>Physical Device</source> + <translation>Urządzenie fizyczne</translation> </message> <message> - <source>Elapsed: %1 s</source> - <translation type="unfinished"></translation> + <source>Emulator</source> + <translation>Emulator</translation> </message> <message> - <source>Detach</source> - <translation>Odłącz</translation> + <source>You will need at least one port.</source> + <translation>Wymagany jest przynajmniej jeden port.</translation> </message> </context> <context> - <name>QmlProfiler::Internal::QmlProjectAnalyzerRunControlFactory</name> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizardStartPage</name> <message> - <source>QML Profiler</source> - <translation type="unfinished"></translation> + <source>General Information</source> + <translation>Informacje ogólne</translation> </message> </context> <context> - <name>QmlProfiler::Internal::TraceWindow</name> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizardLoginDataPage</name> <message> - <source>QML Profiler</source> - <translation type="unfinished"></translation> + <source>Login Data</source> + <translation>Dane logowania</translation> </message> </context> <context> - <name>QmlProjectManager::Internal::QmlProjectRunControl</name> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizardPreviousKeySetupCheckPage</name> <message> - <source>Starting %1 %2 -</source> - <translation>Uruchamianie %1 %2 -</translation> + <source>Device Status Check</source> + <translation>Kontrola stanu urządzenia</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizardReuseKeysCheckPage</name> <message> - <source>%1 exited with code %2 -</source> - <translation>%1 zakończone kodem %2 -</translation> + <source>Existing Keys Check</source> + <translation>Kontrola istniejących kluczy</translation> </message> </context> <context> - <name>QmlProjectManager::Internal::QmlProjectRunControlFactory</name> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizardKeyCreationPage</name> <message> - <source>Run</source> - <translation type="unfinished"></translation> + <source>Key Creation</source> + <translation>Tworzenie klucza</translation> </message> <message> - <source>Open Qt4 Options</source> - <translation>Otwórz ustawienia Qt4</translation> + <source>Cannot Create Keys</source> + <translation>Nie można utworzyć kluczy</translation> </message> <message> - <source>Cancel</source> - <translation>Anuluj</translation> + <source>The path you have entered is not a directory.</source> + <translation>Podana ścieżka nie jest katalogiem.</translation> </message> <message> - <source>QML Observer Missing</source> - <translation>Brak QML Observera</translation> + <source>The directory you have entered does not exist and cannot be created.</source> + <translation>Podany katalog nie istnieje i nie może zostać utworzony.</translation> </message> <message> - <source>QML Observer could not be found.</source> - <translation>Nie można odnaleźć QML Observera.</translation> + <source>Creating keys ... </source> + <translation>Tworzenie kluczy...</translation> </message> <message> - <source>QML Observer is used to offer debugging features for QML applications, such as interactive debugging and inspection tools. It must be compiled for each used Qt version separately. On the Qt4 options page, select the current Qt installation and click Rebuild.</source> - <translation>QML Observer umożliwia interaktywne debugowanie aplikacji QML. Aplikacja musi być skompilowana dla każdej wersji Qt. W tym celu wybierz bieżącą instalację Qt w ustawieniach Qt4 i kliknij Przebuduj.</translation> + <source>Key creation failed: %1</source> + <translation>Błąd tworzenia kluczy: %1</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::CodaRunControl</name> <message> - <source>No device is connected. Please connect a device and try again. -</source> - <translation>Brak podłączonego urządzenia. Podłącz je i spróbuj ponownie. -</translation> + <source>Done.</source> + <translation>Zrobione.</translation> </message> <message> - <source>Executable file: %1 -</source> - <translation>Plik wykonywalny: %1 -</translation> + <source>Could Not Save Key File</source> + <translation>Nie można zachować pliku z kluczem</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizardKeyDeploymentPage</name> <message> - <source>Connecting to '%1'... -</source> - <translation>Łączenie z %1... -</translation> + <source>Key Deployment</source> + <translation>Instalacja klucza</translation> </message> <message> - <source>Unable to create CODA connection. Please try again. -</source> - <translation>Nie można stworzyć połączenia z CODA. Spróbuj ponownie. -</translation> + <source>Deploying... </source> + <translation>Instalowanie...</translation> </message> <message> - <source>Could not open serial device: %1 -</source> - <translation>Nie można otworzyć portu szeregowego: %1 -</translation> + <source>Key Deployment Failure</source> + <translation>Błąd instalacji klucza</translation> </message> <message> - <source>Connecting to %1:%2... -</source> - <translation>Łączenie z %1:%2... -</translation> + <source>Key Deployment Success</source> + <translation>Instalacja klucza poprawnie zakończona</translation> </message> <message> - <source>Error: %1 -</source> - <translation>Błąd: %1 -</translation> + <source>The key was successfully deployed. You may now close the "%1" application and continue.</source> + <translation>Klucz został poprawnie zainstalowany. Możesz teraz zamknąć aplikację "%1" i kontynuować.</translation> </message> <message> - <source>Connected. -</source> - <translation>Połączono. -</translation> + <source>Done.</source> + <translation>Zrobione.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizardFinalPage</name> <message> - <source>Process has finished. -</source> - <translation>Proces zakończył się. -</translation> + <source>The new device configuration will now be created.</source> + <translation>Zostanie utworzona nowa konfiguracja urządzenia.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeviceConfigWizard</name> <message> - <source>Thread has crashed: %1 -</source> - <translation>Wątek zakończony błędem: %1 -</translation> + <source>New Device Configuration Setup</source> + <translation>Nowa konfiguracja urządzenia</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDeviceEnvReader</name> <message> - <source>The process is already running on the device. Please first close it. -</source> - <translation>Ten proces jest już uruchomiony na urządzeniu. Najpierw zakończ go. -</translation> + <source>Connection error: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>Launching: %1 -</source> - <translation>Uruchamianie: %1 -</translation> + <source>Error running remote process: %1</source> + <translation>Błąd zdalnego procesu: %1</translation> </message> <message> - <source>Launched. -</source> - <translation>Uruchomiono. -</translation> + <source> +Remote stderr was: '%1'</source> + <translation> +Zawartość zdalnego stderr: "%1"</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDirectDeviceUploadStep</name> <message> - <source>Launch failed: %1 -</source> - <translation>Nie można uruchomić: %1 -</translation> + <source>SFTP initialization failed: %1</source> + <translation>Błąd inicjalizacji SFTP: %1</translation> </message> <message> - <source>Waiting for CODA</source> - <translation>Oczekiwanie na CODA</translation> + <source>All files successfully deployed.</source> + <translation>Wszystkie pliki poprawnie zainstalowane.</translation> </message> <message> - <source>Qt Creator is waiting for the CODA application to connect.<br>Please make sure the application is running on your mobile phone and the right IP address and/or port are configured in the project settings.</source> - <translation>Qt Creator oczekuje na połączenie z aplikacją CODA.<br>Upewnij się, że aplikacja jest już uruchomiona na telefonie oraz że skonfigurowano poprawny adres IP / port w ustawieniach projektu.</translation> + <source>Uploading file '%1'...</source> + <translation>Przesyłanie pliku "%1"...</translation> </message> <message> - <source>Canceled. -</source> - <translation>Anulowano. -</translation> + <source>Failed to upload file '%1'.</source> + <translation>Nie można przesłać pliku "%1".</translation> </message> <message> - <source>The device '%1' has been disconnected. -</source> - <translation>Urządzenie "%1" zostało odłączone. -</translation> + <source>Failed to upload file '%1': Could not open for reading.</source> + <translation>Nie można przesłać pliku "%1". Nie można otworzyć go do odczytu.</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::S60DeployConfiguration</name> <message> - <source>Deploy %1 to Symbian device</source> - <translation>Zainstaluj %1 na urządzeniu Symbian</translation> + <source>Upload of file '%1' failed: %2</source> + <translation>Nie można przesłać pliku "%1": %2</translation> </message> <message> - <source>Deploy to Symbian device</source> - <translation>Zainstaluj na urządzeniu Symbian</translation> + <source>Upload files via SFTP</source> + <translation>Prześlij pliki przez SFTP</translation> </message> </context> <context> - <name>Qt4ProjectManager::S60DeployConfigurationFactory</name> + <name>RemoteLinux::Internal::MaemoGlobal</name> <message> - <source>%1 on Symbian Device</source> - <translation>%1 na urządzeniu Symbian</translation> + <source>Could not connect to host: %1</source> + <translation>Nie można połączyć się z hostem: %1</translation> + </message> + <message> + <source> +Did you start Qemu?</source> + <translation> +Czy uruchomiłeś Qemu?</translation> </message> <message> - <source>Deploy to Symbian device</source> - <translation>Zainstaluj na urządzeniu Symbian</translation> + <source> +Is the device connected and set up for network access?</source> + <translation> +Czy urządzenie jest podłączone i czy zostało skonfigurowane połączenie sieciowe?</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::S60DeviceRunConfiguration</name> <message> - <source>%1 on Symbian Device</source> - <extracomment>S60 device runconfiguration default display name, %1 is base pro-File name</extracomment> - <translation>%1 na urządzeniu Symbian</translation> + <source>(No device)</source> + <translation>(Brak urządzenia)</translation> </message> <message> - <source>Run on Symbian device</source> - <extracomment>S60 device runconfiguration default display name (no profile set)</extracomment> - <translation>Uruchom na urządzeniu Symbian</translation> + <source>SDK Connectivity</source> + <translation>Łączność SDK</translation> </message> <message> - <source>The .pro file is currently being parsed.</source> - <translation>Trwa parsowanie pliku .pro.</translation> + <source>Mad Developer</source> + <translation>Mad Developer</translation> </message> <message> - <source>The .pro file could not be parsed.</source> - <translation>Nie można sparsować pliku .pro.</translation> + <source>Failed to remove directory '%1'.</source> + <translation>Nie można usunąć katalogu "%1".</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::S60DeviceRunConfigurationFactory</name> <message> - <source>%1 on Symbian Device</source> - <translation>%1 na urządzeniu Symbian</translation> + <source>Failed to remove file '%1'.</source> + <translation>Nie można usunąć pliku "%1".</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::S60CommandPublishStep</name> <message> - <source>Running %1</source> - <extracomment>%1 is a name of the Publish Step i.e. Clean Step</extracomment> - <translation>Wykonywanie: %1</translation> + <source>Failed to create directory '%1'.</source> + <translation>Nie można utworzyć katalogu "%1".</translation> </message> -</context> -<context> - <name>Qt4ProjectManager::Internal::S60PublishingBuildSettingsPageOvi</name> <message> - <source>No valid build configuration has been detected.<br>Please define a correct build configuration in "Options > Qt4"</source> - <translation type="unfinished"></translation> + <source>Could not copy file '%1' to '%2'.</source> + <translation>Nie można skopiować pliku "%1" do "%2".</translation> </message> <message> - <source>No valid tool chain has been detected.<br>Please define a correct tool chain in "Options > Tool Chains"</source> - <translation type="unfinished"></translation> + <source>Unknown OS</source> + <translation>Nieznany OS</translation> </message> </context> <context> - <name>Qt4ProjectManager::S60RunControlBase</name> - <message> - <source>Launching</source> - <translation>Uruchamianie</translation> - </message> + <name>RemoteLinux::Internal::AbstractMaemoInstallPackageToSysrootWidget</name> <message> - <source>Please finalise the installation on your device. -</source> - <translation>Kontynuuj instalację na urządzeniu. -</translation> + <source>Cannot deploy to sysroot: No packaging step found.</source> + <translation>Nie można zainstalować w sysroot: brak kroku pakowania.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::AbstractMaemoInstallPackageToSysrootStep</name> <message> - <source><html><head/><body><center><i>%1</i> is still running on the device.</center><center>Terminating it can leave the target in an inconsistent state.</center><center>Would you still like to terminate it?</center></body></html></source> - <translation><html><head/><body><center><i>%1</i> jest wciąż uruchomiony na urządzeniu.</center><center>Zakończenie go może pozostawić urządzenie w niespójnym stanie.</center><center>Czy chcesz go zakończyć?</center></body></html></translation> + <source>Cannot install to sysroot without build configuration.</source> + <translation>Nie można zainstalować w sysroot bez konfiguracji budowania.</translation> </message> <message> - <source>Application Still Running</source> - <translation>Program wciąż uruchomiony</translation> + <source>Cannot install package to sysroot without packaging step.</source> + <translation>Nie można zainstalować pakietu w sysroot bez kroku pakowania.</translation> </message> <message> - <source>Force Quit</source> - <translation>Wymuś zakończenie</translation> + <source>Cannot install package to sysroot without a Qt version.</source> + <translation>Nie można zainstalować pakietu w sysroot bez wersji Qt.</translation> </message> <message> - <source>Keep Running</source> - <translation>Pozostaw uruchomionym</translation> + <source>Installing package to sysroot ...</source> + <translation>Instalowanie pakietu w sysroot...</translation> </message> <message> - <source>Finished. -</source> - <translation>Zakończono. -</translation> + <source>Installation to sysroot failed, continuing anyway.</source> + <translation>Instalacja w sysroot nieudana, proces jest kontynuowany.</translation> </message> </context> <context> - <name>Qt4ProjectManager::Internal::SymbianQtConfigWidget</name> - <message> - <source>S60 SDK:</source> - <translation>S60 SDK:</translation> - </message> + <name>RemoteLinux::Internal::MaemoInstallDebianPackageToSysrootStep</name> <message> - <source>SBS v2 directory:</source> - <translation>Katalog SBS v2:</translation> + <source>Install Debian package to sysroot</source> + <translation>Instalowanie pakietu Debian w sysroot</translation> </message> </context> <context> - <name>Qt4ProjectManager::Qt4BuildConfiguration</name> + <name>RemoteLinux::Internal::MaemoInstallRpmPackageToSysrootStep</name> <message> - <source>Parsing the .pro file</source> - <translation>Parsowanie pliku .pro</translation> + <source>Install RPM package to sysroot</source> + <translation>Instalowanie pakietu RPM w sysroot</translation> </message> </context> <context> - <name>Qt4ProjectManager::Qt4BuildConfigurationFactory</name> + <name>RemoteLinux::Internal::MaemoCopyToSysrootStep</name> <message> - <source>Using Qt Version "%1"</source> - <translation>Użyj wersji "%1"</translation> + <source>Cannot copy to sysroot without build configuration.</source> + <translation>Nie można skopiować do sysroot bez konfiguracji budowania.</translation> </message> <message> - <source>New Configuration</source> - <translation>Nowa konfiguracja</translation> + <source>Cannot copy to sysroot without valid Qt version.</source> + <translation>Nie można skopiować do sysroot bez poprawnej wersji Qt.</translation> </message> <message> - <source>New configuration name:</source> - <translation>Nazwa nowej konfiguracji:</translation> + <source>Copying files to sysroot ...</source> + <translation>Kopiowanie plików do sysroot...</translation> </message> <message> - <source>%1 Debug</source> - <extracomment>Debug build configuration. We recommend not translating it.</extracomment> - <translation>%1 Debug</translation> + <source>Sysroot installation failed: %1 + Continuing anyway.</source> + <translation>Instalacja w sysroot nieudana: %1 +Proces jest kontynuowany.</translation> </message> <message> - <source>%1 Release</source> - <extracomment>Release build configuration. We recommend not translating it.</extracomment> - <translation>%1 Release</translation> + <source>Copy files to sysroot</source> + <translation>Kopiowanie plików do sysroot</translation> </message> </context> <context> - <name>Qt4ProjectManager::Qt4ProFileNode</name> - <message> - <source>Error while parsing file %1. Giving up.</source> - <translation>Błąd podczas parsowania pliku %1. Przetwarzanie przerwane.</translation> - </message> + <name>RemoteLinux::Internal::MaemoMakeInstallToSysrootStep</name> <message> - <source>Could not find .pro file for sub dir '%1' in '%2'</source> - <translation>Nie można odnaleźć pliku .pro w podkatalogu "%1" w "%2"</translation> + <source>Copy files to sysroot</source> + <translation>Kopiowanie plików do sysroot</translation> </message> </context> <context> - <name>BaseQtVersion</name> + <name>RemoteLinux::Internal::MaemoKeyDeployer</name> <message> - <source>Name:</source> - <translation>Nazwa:</translation> + <source>Public key error: %1</source> + <translation>Błąd klucza publicznego: %1</translation> </message> <message> - <source>Invalid Qt version</source> - <translation>Niepoprawna wersja Qt</translation> + <source>Connection failed: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>ABI:</source> - <translation>ABI:</translation> + <source>Key deployment failed: %1.</source> + <translation>Błąd instalacji klucza: %1.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoPackageCreationFactory</name> <message> - <source>Source:</source> - <translation>Źródło:</translation> + <source>Create Debian Package</source> + <translation>Utwórz pakiet Debian</translation> </message> <message> - <source>mkspec:</source> - <translation>mkspec:</translation> + <source>Create RPM Package</source> + <translation>Utwórz pakiet RPM</translation> </message> <message> - <source>qmake:</source> - <translation>qmake:</translation> + <source>Create tarball</source> + <translation>Utwórz tarball</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::AbstractMaemoPackageCreationStep</name> <message> - <source>Default:</source> - <translation>Domyślna:</translation> + <source>Package up to date.</source> + <translation>Pakiet aktualny.</translation> </message> <message> - <source>Version:</source> - <translation>Wersja:</translation> + <source>Creating package file ...</source> + <translation>Tworzenie pliku pakietu...</translation> </message> -</context> -<context> - <name>QtSupport::Internal::QtOptionsPageWidget</name> <message> - <source><specify a name></source> - <translation><Podaj nazwę></translation> + <source>Package created.</source> + <translation>Utworzono pakiet.</translation> </message> <message> - <source>Auto-detected</source> - <translation>Automatycznie wykryte</translation> + <source>Packaging failed.</source> + <translation>Błąd pakowania.</translation> </message> <message> - <source>Manual</source> - <translation>Ustawione ręcznie</translation> + <source>Packaging error: No Qt version.</source> + <translation>Błąd pakowania: Brak wersji Qt.</translation> </message> <message> - <source>Remove invalid Qt Versions</source> - <translation>Usuń niepoprawne wersje Qt</translation> + <source>Package Creation: Running command '%1'.</source> + <translation>Tworzenie pakietu: Uruchamianie komendy "%1".</translation> </message> <message> - <source>Do you want to remove all invalid Qt Versions?<br><ul><li>%1</li></ul><br>will be removed.</source> - <translation>Czy chcesz usunąć wszystkie niepoprawne wersje Qt?<br>Usunięte zostaną:<br><ul><li>%1</li></ul></translation> + <source>Packaging error: Could not start command '%1'. Reason: %2</source> + <translation>Błąd pakowania: Nie można uruchomić komendy "%1". Powód: %2</translation> </message> <message> - <source>Building helpers</source> - <translation>Budowanie asystentów</translation> + <source>Packaging Error: Command '%1' failed.</source> + <translation>Błąd pakowania: Komenda "%1" zakończona błędem.</translation> </message> <message> - <source>Debugging Helper Build Log for '%1'</source> - <translation>Log budowania asystenta debuggera dla "%1"</translation> + <source> Reason: %1</source> + <translation> Powód: %1</translation> </message> <message> - <source>Select a qmake executable</source> - <translation>Wskaż plik wykonywalny qmake</translation> + <source>Exit code: %1</source> + <translation>Kod wyjściowy: %1</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDebianPackageCreationStep</name> <message> - <source>Qt versions incompatible</source> - <translation>Niekompatybilne wersje Qt</translation> + <source>Create Debian Package</source> + <translation>Utwórz pakiet Debian</translation> </message> <message> - <source>The qt version selected must be for the same target.</source> - <translation type="unfinished"></translation> + <source>Packaging failed.</source> + <translation>Błąd pakowania.</translation> </message> <message> - <source>Helpers: None available</source> - <translation>Asystenci: Nie są dostępni</translation> + <source>Could not move package files from %1 to %2.</source> + <translation>Nie można przenieść plików pakietu z %1 do %2.</translation> </message> <message> - <source>Helpers: %1.</source> - <extracomment>%1 is list of tool names.</extracomment> - <translation>Asystenci: %1.</translation> + <source>Your project name contains characters not allowed in Debian packages. +They must only use lower-case letters, numbers, '-', '+' and '.'. +We will try to work around that, but you may experience problems.</source> + <translation>Nazwa projektu zawiera znaki, które są niedozwolone w pakietach Debiana. +Dozwolonymi znakami są tylko małe litery, liczby, '-', '+' oraz '.'. +Przy obecnej nazwie możesz spodziewać się problemów.</translation> </message> <message> - <source><i>Not yet built.</i></source> - <translation><i>Jeszcze nie zbudowany.</i></translation> + <source>Packaging failed: Foreign debian directory detected.</source> + <translation>Błąd podczas tworzenia pakietu: wykryto obcy katalog Debiana.</translation> </message> <message> - <source><i>Not needed.</i></source> - <translation><i>Niepotrzebny</i></translation> + <source>You are not using a shadow build and there is a debian directory in your project root ('%1'). Qt Creator will not overwrite that directory. Please remove it or use the shadow build feature.</source> + <translation>Kompilacja w innym miejscu nie została użyta, a w projekcie występuje katalog debian ("%1"). Ten katalog nie zostanie nadpisany. Usuń go lub skompiluj projekt w innym miejscu.</translation> </message> <message> - <source><i>Cannot be compiled.</i></source> - <translation><i>Nie może zostać skompilowany.</i></translation> + <source>Could not remove directory '%1': %2</source> + <translation>Nie można usunąć katalogu "%1": %2</translation> </message> <message> - <source>Qt version %1 for %2</source> - <translation>Wersja Qt %1 dla %2</translation> + <source>Could not create Debian directory '%1'.</source> + <translation>Nie można utworzyć katalogu Debian w "%1".</translation> </message> <message> - <source>S60 SDK:</source> - <translation>S60 SDK:</translation> + <source>Could not copy file '%1' to '%2'</source> + <translation>Nie można skopiować pliku "%1" do "%2"</translation> </message> <message> - <source>SBS v2 directory:</source> - <translation>Katalog SBS v2:</translation> + <source>Error: Could not create file '%1'.</source> + <translation>Błąd: Nie można utworzyć pliku "%1".</translation> </message> </context> <context> - <name>QtSupport::QtVersionManager</name> + <name>RemoteLinux::Internal::MaemoRpmPackageCreationStep</name> <message> - <source>MinGW from %1</source> - <translation>MinGW z %1</translation> + <source>Create RPM Package</source> + <translation>Utwórz pakiet RPM</translation> </message> -</context> -<context> - <name>AbstractLinuxDeviceDeployStep</name> <message> - <source>No valid device set.</source> - <translation>Nie ustawiono poprawnego urządzenia.</translation> + <source>Packaging failed.</source> + <translation>Błąd pakowania.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::AbstractMaemoDeployStep</name> <message> - <source>Operation canceled by user, cleaning up...</source> - <translation>Operacja anulowana przez użytkownika, czyszczenie...</translation> + <source>Could not move package file from %1 to %2.</source> + <translation>Nie można przenieść pliku pakietu z %1 do %2.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::CreateTarStepWidget</name> <message> - <source>Cannot deploy: Still cleaning up from last time.</source> - <translation>Nie można zainstalować: nadal trwa czyszczenie po ostatniej instalacji.</translation> + <source>Create tarball:</source> + <translation>Utwórz tarball:</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoTarPackageCreationStep</name> <message> - <source>Cannot deploy: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready.</source> - <translation>Błąd instalacji: Qemu nie był uruchomiony. Właśnie został uruchomiony, ale zajmie chwilę zanim będzie gotowy.</translation> + <source>Create tarball</source> + <translation>Utwórz tarball</translation> </message> <message> - <source>All files up to date, no installation necessary.</source> - <translation>Wszystkie pliki są aktualne, instalowanie zbyteczne.</translation> + <source>Error: tar file %1 cannot be opened (%2).</source> + <translation>Błąd: nie można otworzyć pliku tar %1 (%2).</translation> </message> <message> - <source>Connection error: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>Error writing tar file '%1': %2.</source> + <translation>Błąd zapisu pliku tar "%1": %2.</translation> </message> <message> - <source>Connecting to device...</source> - <translation>Nawiązywanie połączenia z urządzeniem...</translation> + <source>Error reading file '%1': %2.</source> + <translation>Błąd odczytu pliku "%1": %2.</translation> </message> <message> - <source>Deployment failed.</source> - <translation>Błąd instalacji.</translation> + <source>Cannot add file '%1' to tar-archive: path too long.</source> + <translation>Nie można dodać pliku "%1" do archiwum tar: zbyt długa ścieżka.</translation> </message> <message> - <source>Deployment finished.</source> - <translation>Zakończono instalowanie.</translation> + <source>Error writing tar file '%1': %2</source> + <translation>Błąd zapisu pliku tar "%1": %2</translation> </message> </context> <context> - <name>RemoteLinux::Internal::DeviceConfigurationFactory</name> + <name>RemoteLinux::Internal::MaemoPackageCreationWidget</name> <message> - <source>Fremantle, Harmattan, MeeGo, GenericLinux</source> - <translation>Fremantle, Harmattan, MeeGo, GenericLinux</translation> + <source>No Version Available.</source> + <translation>Brak dostępnej wersji.</translation> </message> <message> - <source>Test</source> - <translation>Test</translation> + <source>Could not read icon</source> + <translation>Nie można odczytać ikony</translation> </message> <message> - <source>Remote processes</source> - <translation>Zdalne procesy</translation> + <source>Images</source> + <translation>Obrazki</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::LinuxDeviceConfigurations</name> <message> - <source>(default for %1)</source> - <translation>(domyślna dla %1)</translation> + <source>Choose Image (will be scaled to 48x48 pixels if necessary)</source> + <translation>Wybierz obraz (w razie potrzeby zostanie przeskalowany do 48x48)</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::LinuxDeviceFactorySelectionDialog</name> <message> - <source>Start Wizard</source> - <translation>Uruchom kreatora</translation> + <source>Could Not Set New Icon</source> + <translation>Nie można ustawić nowej ikony</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoConfigTestDialog</name> <message> - <source>Testing configuration. This may take a while.</source> - <translation>Testowanie konfiguracji. To może chwilę potrwać.</translation> + <source>File Error</source> + <translation>Błąd pliku</translation> </message> <message> - <source>Testing configuration...</source> - <translation>Testowanie konfiguracji...</translation> + <source>Could not set project name.</source> + <translation>Nie można ustawić nazwy projektu.</translation> </message> <message> - <source>Stop Test</source> - <translation>Zatrzymaj test</translation> + <source>Could not set package name for project manager.</source> + <translation>Nie można ustawić nazwy pakietu dla menedżera projektu.</translation> </message> <message> - <source>Could not connect to host: %1</source> - <translation>Nie można połączyć się z hostem: %1</translation> + <source>Could not set project description.</source> + <translation>Nie można ustawić opisu projektu.</translation> </message> <message> - <source> -Did you start Qemu?</source> - <translation> -Czy uruchomiłeś Qemu?</translation> + <source><b>Create Package:</b> </source> + <translation><b>Utwórz pakiet:</b> </translation> </message> <message> - <source>Remote process failed: %1</source> - <translation>Zdalny proces zakończony błędem: %1</translation> + <source>Could Not Set Version Number</source> + <translation>Nie można ustawić numeru wersji</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::AbstractMaemoPackageInstaller</name> <message> - <source>Qt version mismatch! Expected Qt on device: 4.6.2 or later.</source> - <translation>Niezgodność wersji Qt. Dla urządzenia oczekiwano wersji 4.6.2 lub późniejszej.</translation> + <source>Connection failure: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>%1 is not installed.<br>You will not be able to deploy to this device.</source> - <translation>%1 nie jest zainstalowany.<br> Nie będzie można zainstalować na urządzeniu.</translation> + <source>Installing package failed.</source> + <translation>Błąd instalowania pakietu.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoDebianPackageInstaller</name> <message> - <source>Please switch the device to developer mode via Settings -> Security.</source> - <translation>Przełącz urządzenie w tryb deweloperski poprzez Settings -> Security.</translation> + <source>Installation failed: You tried to downgrade a package, which is not allowed.</source> + <translation>Błąd instalacji: próba instalacji wcześniejszej wersji pakietu nie jest dozwolona.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoPackageUploader</name> <message> - <source>Error retrieving list of used ports: %1</source> - <translation>Błąd podczas pobierania listy używanych portów: %1</translation> + <source>Preparing SFTP connection...</source> + <translation>Przygotowywanie połączenia SFTP...</translation> </message> <message> - <source>All specified ports are available.</source> - <translation>Wszystkie podane porty są dostępne.</translation> + <source>Connection failed: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>The following supposedly free ports are being used on the device:</source> - <translation>Następujące rzekomo wolne porty są używane przez urządzenie:</translation> + <source>SFTP error: %1</source> + <translation>Błąd SFTP: %1</translation> </message> <message> - <source>Device configuration okay.</source> - <translation>Konfiguracja urządzenia poprawna.</translation> + <source>Package upload failed: Could not open file.</source> + <translation>Błąd przesyłania pakietu: nie można otworzyć pliku.</translation> </message> <message> - <source>Close</source> - <translation>Zamknij</translation> + <source>Failed to upload package: %2</source> + <translation>Nie można przesłać pakietu: %2</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoPerTargetDeviceConfigurationListModel</name> <message> - <source>Device configuration test failed: Unexpected output: -%1</source> - <translation>Test konfiguracji urządzenia zakończony niepowodzeniem: Nieoczekiwany komunikat: -%1</translation> + <source>(default)</source> + <translation>(domyślna)</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoProFilesUpdateDialog</name> <message> - <source>Hardware architecture: %1 -</source> - <translation>Architektura sprzętu: %1 -</translation> + <source>Updateable Project Files</source> + <translation>Odświeżalne pliki projektu</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoPublishedProjectModel</name> <message> - <source>Kernel version: %1 -</source> - <translation>Wersja jądra: %1 -</translation> + <source>Include in package</source> + <translation>Dołącz do pakietu</translation> </message> <message> - <source>No Qt packages installed.</source> - <translation>Brak zainstalowanych pakietów Qt.</translation> + <source>Include</source> + <translation>Dołącz</translation> </message> <message> - <source>List of installed Qt packages:</source> - <translation>Lista zainstalowanych pakietów Qt:</translation> + <source>Do not include</source> + <translation>Nie dołączaj</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoDebugSupport</name> + <name>RemoteLinux::Internal::MaemoPublisherFremantleFree</name> <message> - <source>Preparing remote side ... -</source> - <translation>Przygotowywanie zdalnej strony... -</translation> + <source>Canceled.</source> + <translation>Anulowano.</translation> </message> <message> - <source>Remote application failed with exit code %1.</source> - <translation>Zdalna aplikacja zakończona błędem z kodem wyjściowym %1.</translation> + <source>Publishing canceled by user.</source> + <translation>Publikowanie anulowane przez użytkownika.</translation> </message> <message> - <source>The gdbserver process closed unexpectedly.</source> - <translation>Proces gdbserver nieoczekiwanie zakończył pracę.</translation> + <source>The project is missing some information important to publishing:</source> + <translation>Brak ważnych informacji w projekcie potrzebnych do opublikowania:</translation> </message> <message> - <source>Initial setup failed: %1</source> - <translation>Błąd wstępnej konfiguracji: %1</translation> + <source>Publishing failed: Missing project information.</source> + <translation>Błąd publikowania: Brak informacji w projekcie.</translation> </message> <message> - <source>Not enough free ports on device for debugging.</source> - <translation>Niewystarczająca ilość wolnych portów w urządzeniu do debugowania.</translation> + <source>Removing left-over temporary directory ...</source> + <translation>Usuwanie pozostałości po katalogu tymczasowym...</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeployableListModel</name> <message> - <source><no target path set></source> - <translation><brak ścieżki produktu docelowego></translation> + <source>Error removing temporary directory: %1</source> + <translation>Błąd usuwania katalogu tymczasowego: %1</translation> </message> <message> - <source>Local File Path</source> - <translation>Ścieżka do lokalnego pliku</translation> + <source>Publishing failed: Could not create source package.</source> + <translation>Błąd publikowania: nie można utworzyć pakietu źródłowego.</translation> </message> <message> - <source>Remote Directory</source> - <translation>Zdalny katalog</translation> + <source>Setting up temporary directory ...</source> + <translation>Konfigurowanie katalogu tymczasowego...</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::AbstractMaemoDeployByMountStep</name> <message> - <source>Installing package to device...</source> - <translation>Instalowanie pakietu na urządzeniu...</translation> + <source>Error: Could not create temporary directory.</source> + <translation>Błąd: nie można utworzyć katalogu tymczasowego.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoMountAndInstallDeployStep</name> <message> - <source>No matching packaging step found.</source> - <translation type="unfinished"></translation> + <source>Error: Could not copy project directory.</source> + <translation>Błąd: nie można skopiować katalogu projektu.</translation> </message> <message> - <source>Package installed.</source> - <translation>Zainstalowano pakiet.</translation> + <source>Error: Could not fix newlines.</source> + <translation>Błąd: Nie można naprawić znaków końca linii.</translation> </message> <message> - <source>Deploy package via UTFS mount</source> - <translation type="unfinished"></translation> + <source>No Qt version set.</source> + <translation>Nie ustawiono wersji Qt.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoMountAndCopyDeployStep</name> <message> - <source>All files copied.</source> - <translation>Wszystkie pliki skopiowane.</translation> + <source>Error uploading file: %1.</source> + <translation>Błąd przesyłania pliku: %1.</translation> </message> <message> - <source>Deploy files via UTFS mount</source> - <translation type="unfinished"></translation> + <source>Cannot open file for reading: %1.</source> + <translation>Nie można otworzyć pliku do odczytu: %1.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeployConfigurationWidget</name> <message> - <source>Choose Icon (will be scaled to %1x%1 pixels, if necessary)</source> - <translation>Wybierz ikonę (w razie potrzeby zostanie przeskalowana do %1x%1)</translation> + <source>Publishing failed: Could not create package.</source> + <translation>Błąd publikowania: nie można utworzyć pakietu.</translation> </message> <message> - <source>Invalid Icon</source> - <translation>Niepoprawna ikona</translation> + <source>Cleaning up temporary directory ...</source> + <translation>Czyszczenie katalogu tymczasowego...</translation> </message> <message> - <source>Unable to read image</source> - <translation>Nie można odczytać obrazu</translation> + <source>Failed to create directory '%1'.</source> + <translation>Nie można utworzyć katalogu "%1".</translation> </message> <message> - <source>Failed to Save Icon</source> - <translation>Nie można zachować ikony</translation> + <source>Could not copy file '%1' to '%2': %3.</source> + <translation>Nie można skopiować pliku "%1" do "%2": %3.</translation> </message> <message> - <source>Could not save icon to '%1'.</source> - <translation>Nie można zachować ikony w "%1".</translation> + <source>Error: Failed to start dpkg-buildpackage.</source> + <translation>Błąd: nie można uruchomić dpkg-buildpackage.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeploymentMounter</name> <message> - <source>Connection failed: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>Error: dpkg-buildpackage did not succeed.</source> + <translation>Błąd: dpkg-buildpackage zakończony błędem.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeployStepBaseWidget</name> <message> - <source>Cannot deploy: %1</source> - <translation>Nie można zainstalować: %1</translation> + <source>Package creation failed.</source> + <translation>Błąd tworzenia pakietu.</translation> </message> <message> - <source><b>%1 using device</b>: %2</source> - <translation type="unfinished"></translation> + <source>Done.</source> + <translation>Zrobione.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeviceConfigurationsSettingsWidget</name> <message> - <source>Physical Device</source> - <translation>Urządzenie fizyczne</translation> + <source>Packaging finished successfully. The following files were created: +</source> + <translation>Tworzenie pakietu poprawnie zakończone. Zostały utworzone następujące pliki: +</translation> </message> <message> - <source>Emulator (Qemu)</source> - <translation>Emulator (Qemu)</translation> + <source>Building source package...</source> + <translation>Budowanie pakietu źródłowego...</translation> </message> <message> - <source>Choose Public Key File</source> - <translation>Wybierz plik z kluczem publicznym</translation> + <source>Starting scp ...</source> + <translation>Uruchamianie scp...</translation> </message> <message> - <source>Public Key Files(*.pub);;All Files (*)</source> - <translation>Pliki z kluczami publicznymi (*.pub);;Wszystkie pliki (*)</translation> + <source>SSH error: %1</source> + <translation>Błąd SSH: %1</translation> </message> <message> - <source>Stop Deploying</source> - <translation>Zatrzymaj instalowanie</translation> + <source>Upload failed.</source> + <translation>Błąd przesyłania.</translation> </message> <message> - <source>Deployment Failed</source> - <translation>Błąd instalacji</translation> + <source>Error uploading file.</source> + <translation>Błąd przesyłania pliku.</translation> </message> <message> - <source>Deployment Succeeded</source> - <translation>Instalacja zakończona pomyślnie</translation> + <source>All files uploaded.</source> + <translation>Przesłano wszystkie pliki.</translation> </message> <message> - <source>Key was successfully deployed.</source> - <translation>Klucz został pomyślnie zainstalowany.</translation> + <source>Upload succeeded. You should shortly receive an email informing you about the outcome of the build process.</source> + <translation>Przesyłanie poprawnie zakończone. Wkrótce powinien zostać dostarczony email informujący o rezultacie procesu budowania.</translation> </message> <message> - <source>&Deploy Public Key...</source> - <translation>&Instaluj klucz publiczny...</translation> + <source>Uploading file %1 ...</source> + <translation>Przesyłanie pliku %1...</translation> </message> <message> - <source>You will need at least one port.</source> - <translation>Wymagany jest przynajmniej jeden port.</translation> + <source>Cannot read file: %1</source> + <translation>Nie można odczytać pliku: %1</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizardStartPage</name> <message> - <source>General Information</source> - <translation>Informacje ogólne</translation> + <source>The package description is empty. You must set one in Projects -> Run -> Create Package -> Details.</source> + <translation>Pusty opis pakietu. Należy go ustawić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizardLoginDataPage</name> <message> - <source>Login Data</source> - <translation>Dane logowania</translation> + <source>The package description is '%1', which is probably not what you want. Please change it in Projects -> Run -> Create Package -> Details.</source> + <translation>Prawdopodobnie niepoprawny opis pakietu ("%1"). Można go zmienić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizardPreviousKeySetupCheckPage</name> <message> - <source>Device Status Check</source> - <translation>Kontrola stanu urządzenia</translation> + <source>You have not set an icon for the package manager. The icon must be set in Projects -> Run -> Create Package -> Details.</source> + <translation>Nie ustawiono ikony dla menedżera pakietu. Należy ją ustawić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizardReuseKeysCheckPage</name> + <name>RemoteLinux::Internal::MaemoPublishingUploadSettingsPageFremantleFree</name> <message> - <source>Existing Keys Check</source> - <translation>Kontrola istniejących kluczy</translation> + <source>Publishing to Fremantle's "Extras-devel/free" Repository</source> + <translation>Publikowanie do repozytorium Fremantle'a "Extras-devel/free"</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizardKeyCreationPage</name> <message> - <source>Key Creation</source> - <translation>Tworzenie klucza</translation> + <source>Upload options</source> + <translation>Ustawienia przesyłania</translation> </message> <message> - <source>Cannot Create Keys</source> - <translation>Nie można utworzyć kluczy</translation> + <source>Choose a private key file</source> + <translation>Wybierz plik z kluczem prywatnym</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoPublishingWizardFactoryFremantleFree</name> <message> - <source>The path you have entered is not a directory.</source> - <translation>Podana ścieżka nie jest katalogiem.</translation> + <source>Publish for "Fremantle Extras-devel free" repository</source> + <translation>Publikowanie do repozytorium "Fremantle Extras-devel free"</translation> </message> <message> - <source>The directory you have entered does not exist and cannot be created.</source> - <translation>Podany katalog nie istnieje i nie może zostać utworzony.</translation> + <source>This wizard will create a source archive and optionally upload it to a build server, where the project will be compiled and packaged and then moved to the "Extras-devel free" repository, from where users can install it onto their N900 devices. For the upload functionality, an account at garage.maemo.org is required.</source> + <translation>Ten kreator utworzy archiwum źródłowe i opcjonalnie prześle je do serwera budowy. Zostanie on tam skompilowany, zapakowany i przeniesiony do repozytorium "Extras-devel free". Użytkownicy będą mogli wówczas zainstalować go na swoich urządzeniach N900. W celu wysłania na serwer należy posiadać konto na garage.maemo.org.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoPublishingWizardFremantleFree</name> <message> - <source>Creating keys ... </source> - <translation>Tworzenie kluczy...</translation> + <source>Publishing to Fremantle's "Extras-devel free" Repository</source> + <translation>Publikowanie do repozytorium Fremantle'a "Extras-devel free"</translation> </message> <message> - <source>Key creation failed: %1</source> - <translation>Błąd tworzenia kluczy: %1</translation> + <source>Build Settings</source> + <translation>Ustawienia budowania</translation> </message> <message> - <source>Done.</source> - <translation>Zrobione.</translation> + <source>Upload Settings</source> + <translation>Ustawienia przesyłania</translation> </message> <message> - <source>Could Not Save Key File</source> - <translation>Nie można zachować pliku z kluczem</translation> + <source>Result</source> + <translation>Rezultat</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizardKeyDeploymentPage</name> + <name>RemoteLinux::Internal::MaemoQemuManager</name> <message> - <source>Key Deployment</source> - <translation>Instalacja klucza</translation> + <source>Start Maemo Emulator</source> + <translation>Uruchom emulator Maemo</translation> </message> <message> - <source>Deploying... </source> - <translation>Instalowanie...</translation> + <source>Qemu has been shut down, because you removed the corresponding Qt version.</source> + <translation>Qemu zostało zamknięte, ponieważ usunięto odpowiednią wersję Qt.</translation> </message> <message> - <source>Key Deployment Failure</source> - <translation>Błąd instalacji klucza</translation> + <source>Qemu finished with error: Exit code was %1.</source> + <translation>Qemu zakończone błędem: Wyjściowy kod: %1.</translation> </message> <message> - <source>Key Deployment Success</source> - <translation>Instalacja klucza zakończona pomyślnie</translation> + <source>Qemu error</source> + <translation>Błąd Qemu</translation> </message> <message> - <source>The key was successfully deployed. You may now close the "%1" application and continue.</source> - <translation>Klucz został pomyślnie zainstalowany. Możesz teraz zamknąć aplikację "%1" i kontynuować.</translation> + <source>Qemu failed to start: %1</source> + <translation>Nie można uruchomić Qemu: %1</translation> </message> <message> - <source>Done.</source> - <translation>Zrobione.</translation> + <source>Stop Maemo Emulator</source> + <translation>Zatrzymaj emulator Maemo</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizardFinalPage</name> + <name>RemoteLinux::Internal::MaemoRemoteCopyFacility</name> <message> - <source>Setup Finished</source> - <translation>Konfiguracja zakończona</translation> + <source>Connection failed: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>The new device configuration will now be created and a test procedure will be run to check whether Qt Creator can connect to the device and to provide some information about its features.</source> - <translation>Zostanie teraz utworzona nowa konfiguracja urządzenia oraz uruchomiona procedura testowa sprawdzająca połączenie Qt Creatora z urządzeniem i dostarczająca informacji o jego cechach.</translation> + <source>Error: Copy command failed.</source> + <translation>Błąd: kopiowanie niepoprawnie zakończone.</translation> </message> <message> - <source>The new device configuration will now be created.</source> - <translation>Zostanie utworzona nowa konfiguracja urządzenia.</translation> + <source>Copying file '%1' to directory '%2' on the device...</source> + <translation>Kopiowanie pliku "%1" do katalogu "%2" na urządzeniu...</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoDeviceConfigWizard</name> + <name>RemoteLinux::Internal::MaemoRemoteMounter</name> <message> - <source>New Device Configuration Setup</source> - <translation>Nowa konfiguracja urządzenia</translation> + <source>No directories to mount</source> + <translation>Brak katalogów do zamontowania</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDeviceEnvReader</name> <message> - <source>Connection error: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>No directories to unmount</source> + <translation>Brak katalogów do zdemontowania</translation> </message> <message> - <source>Error running remote process: %1</source> - <translation>Błąd zdalnego procesu: %1</translation> + <source>Could not execute unmount request.</source> + <translation>Nie można wykonać zdemontowania.</translation> + </message> + <message> + <source>Failure unmounting: %1</source> + <translation>Błąd demontażu: %1</translation> + </message> + <message> + <source>Finished unmounting.</source> + <translation>Zakończono demontaż.</translation> </message> <message> <source> -Remote stderr was: '%1'</source> +stderr was: '%1'</source> <translation> -Zawartość zdalnego stderr: "%1"</translation> +stderr był: "%1"</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDirectDeviceUploadStep</name> <message> - <source>SFTP initialization failed: %1</source> - <translation type="unfinished"></translation> + <source>Error: Not enough free ports on device to fulfill all mount requests.</source> + <translation>Błąd: Niewystarczająca ilość wolnych portów w urządzeniu aby wykonać wszystkie żądania zamontowania.</translation> </message> <message> - <source>All files successfully deployed.</source> - <translation type="unfinished"></translation> + <source>Starting remote UTFS clients...</source> + <translation>Uruchamianie zdalnych klientów UTFS...</translation> </message> <message> - <source>Uploading file '%1'...</source> - <translation type="unfinished"></translation> + <source>Mount operation succeeded.</source> + <translation>Operacja zamontowania powiodła się.</translation> </message> <message> - <source>Failed to upload file '%1'.</source> - <translation type="unfinished"></translation> + <source>Failure running UTFS client: %1</source> + <translation>Błąd uruchamiania klienta UTFS: %1</translation> </message> <message> - <source>Failed to upload file '%1': Could not open for reading.</source> - <translation type="unfinished"></translation> + <source>Starting UTFS servers...</source> + <translation>Uruchamianie serwerów UTFS...</translation> </message> <message> - <source>Upload of file '%1' failed: %2</source> - <translation type="unfinished"></translation> + <source> +stderr was: %1</source> + <translation> +stderr był: %1</translation> </message> <message> - <source>Upload files via SFTP</source> - <translation type="unfinished"></translation> + <source>Error running UTFS server: %1</source> + <translation>Błąd uruchamiania serwera UTFS: %1</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoGlobal</name> <message> - <source>Could not connect to host: %1</source> - <translation>Nie można połączyć się z hostem: %1</translation> + <source>Timeout waiting for UTFS servers to connect.</source> + <translation>Przekroczony czas oczekiwania na połączenie z serwerem UTFS.</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoRemoteMountsModel</name> <message> - <source> -Did you start Qemu?</source> - <translation> -Czy uruchomiłeś Qemu?</translation> + <source>Local directory</source> + <translation>Katalog lokalny</translation> </message> <message> - <source> -Is the device connected and set up for network access?</source> - <translation> -Czy urządzenie jest podłączone i czy zostało skonfigurowane połączenie sieciowe?</translation> + <source>Remote mount point</source> + <translation>Zdalny punkt zamontowania</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoRemoteProcessesDialog</name> <message> - <source>(No device)</source> - <translation>(Brak urządzenia)</translation> + <source>Remote Error</source> + <translation>Zdalny błąd</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoRemoteProcessList</name> <message> - <source>SDK Connectivity</source> - <translation>Łączność SDK</translation> + <source>Connection failure: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>Mad Developer</source> - <translation>Mad Developer</translation> + <source>Error: Remote process failed to start: %1</source> + <translation>Błąd: nie można uruchomić zdalnego procesu: %1</translation> </message> <message> - <source>Failed to remove directory '%1'.</source> - <translation>Nie można usunąć katalogu "%1".</translation> + <source>Error: Remote process crashed: %1</source> + <translation>Błąd: zdalny proces zakończony błędem: %1</translation> </message> <message> - <source>Failed to remove file '%1'.</source> - <translation>Nie można usunąć pliku "%1".</translation> + <source>Remote process failed.</source> + <translation>Zdalny proces zakończony błędem.</translation> </message> <message> - <source>Failed to create directory '%1'.</source> - <translation>Nie można utworzyć katalogu "%1".</translation> + <source> +Remote stderr was: %1</source> + <translation> +Zawartość zdalnego stderr: %1</translation> </message> <message> - <source>Could not copy file '%1' to '%2'.</source> - <translation>Nie można skopiować pliku "%1" do "%2".</translation> + <source>PID</source> + <translation>PID</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::AbstractMaemoInstallPackageToSysrootWidget</name> <message> - <source>Cannot deploy to sysroot: No packaging step found.</source> - <translation type="unfinished"></translation> + <source>Command Line</source> + <translation>Linia komend</translation> </message> </context> <context> - <name>RemoteLinux::Internal::AbstractMaemoInstallPackageToSysrootStep</name> + <name>RemoteLinux::Internal::MaemoRunConfigurationWidget</name> <message> - <source>Cannot install to sysroot without build configuration.</source> - <translation type="unfinished"></translation> + <source>Choose directory to mount</source> + <translation>Wybierz katalog do zamontowania</translation> </message> <message> - <source>Cannot install package to sysroot without packaging step.</source> - <translation type="unfinished"></translation> + <source>No local directories to be mounted on the device.</source> + <translation>Brak lokalnych katalogów do zamontowania na urządzeniu.</translation> </message> <message> - <source>Cannot install package to sysroot without a Qt version.</source> - <translation type="unfinished"></translation> + <source>One local directory to be mounted on the device.</source> + <translation>Jeden lokalny katalog do zamontowania na urządzeniu.</translation> </message> - <message> - <source>Installing package to sysroot ...</source> - <translation>Instalowanie pakietu w sysroot...</translation> + <message numerus="yes"> + <source>%n local directories to be mounted on the device.</source> + <extracomment>Note: Only mountCount>1 will occur here as 0, 1 are handled above.</extracomment> + <translation> + <numerusform>%n lokalny katalog do zamontowania na urządzeniu.</numerusform> + <numerusform>%n lokalne katalogi do zamontowania na urządzeniu.</numerusform> + <numerusform>%n lokalnych katalogów do zamontowania na urządzeniu.</numerusform> + </translation> </message> - <message> - <source>Installation to sysroot failed, continuing anyway.</source> - <translation>Instalacja w sysroot nieudana, proces jest kontynuowany.</translation> + <message numerus="yes"> + <source>WARNING: You want to mount %1 directories, but your device has only %n free ports.<br>You will not be able to run this configuration.</source> + <translation> + <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolny port.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> + <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolne porty.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> + <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolnych portów.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> + </translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoInstallDebianPackageToSysrootStep</name> - <message> - <source>Install Debian package to sysroot</source> - <translation>Instalowanie pakietu Debian w sysroot</translation> + <message numerus="yes"> + <source>WARNING: You want to mount %1 directories, but only %n ports on the device will be available in debug mode. <br>You will not be able to debug your application with this configuration.</source> + <translation> + <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n port do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> + <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n porty do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> + <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n portów do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> + </translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoInstallRpmPackageToSysrootStep</name> + <name>RemoteLinux::Internal::MaemoRunControlFactory</name> <message> - <source>Install RPM package to sysroot</source> - <translation>Instalowanie pakietu RPM w sysroot</translation> + <source>Run on device</source> + <translation>Uruchom na urządzeniu</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoCopyToSysrootStep</name> + <name>RemoteLinux::Internal::MaemoQemuCrashDialog</name> <message> - <source>Cannot copy to sysroot without build configuration.</source> - <translation type="unfinished"></translation> + <source>Qemu error</source> + <translation>Błąd Qemu</translation> </message> <message> - <source>Cannot copy to sysroot without valid Qt version.</source> - <translation type="unfinished"></translation> + <source>Qemu crashed.</source> + <translation>Qemu zakończone błędem.</translation> </message> <message> - <source>Copying files to sysroot ...</source> - <translation>Kopiowanie plików do sysroot...</translation> + <source>Click here to change the OpenGL mode.</source> + <translation>Kliknij tutaj aby zmienić tryb OpenGL.</translation> </message> <message> - <source>Sysroot installation failed: %1 - Continuing anyway.</source> - <translation>Instalacja w sysroot nieudana: %1 -Proces jest kontynuowany.</translation> + <source>You have configured Qemu to use OpenGL hardware acceleration, which might not be supported by your system. You could try using software rendering instead.</source> + <translation>Skonfigurowano Qemu aby używało sprzętowej akceleracji OpenGL, co może nie być obsługiwane przez system. Zamiast tego można użyć renderowania software'owego.</translation> </message> <message> - <source>Copy files to sysroot</source> - <translation>Kopiowanie plików do sysroot</translation> + <source>Qemu is currently configured to auto-detect the OpenGL mode, which is known to not work in some cases. You might want to use software rendering instead.</source> + <translation>Skonfigurowano Qemu aby automatycznie wykrywało OpenGL, co może nie działać poprawnie w pewnych przypadkach. Zamiast tego można użyć renderowania software'owego.</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoMakeInstallToSysrootStep</name> + <name>RemoteLinux::Internal::MaemoDeviceConfigurationsSettingsPage</name> <message> - <source>Copy files to sysroot</source> - <translation>Kopiowanie plików do sysroot</translation> + <source>Device Configurations</source> + <translation>Konfiguracje urządzenia</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoKeyDeployer</name> + <name>RemoteLinux::Internal::MaemoQemuSettingsPage</name> <message> - <source>Public key error: %1</source> - <translation>Błąd klucza publicznego: %1</translation> + <source>Maemo Qemu Settings</source> + <translation>Ustawienia Qemu Maemo</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoSshConfigDialog</name> <message> - <source>Connection failed: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>Save Public Key File</source> + <translation>Zachowaj plik z kluczem publicznym</translation> </message> <message> - <source>Key deployment failed: %1.</source> - <translation>Błąd instalacji klucza: %1.</translation> + <source>Save Private Key File</source> + <translation>Zachowaj plik z kluczem prywatnym</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPackageCreationFactory</name> + <name>RemoteLinux::Internal::MaemoSshRunner</name> <message> - <source>Create Debian Package</source> - <translation>Utwórz pakiet Debian</translation> + <source>Mounting host directories...</source> + <translation>Montowanie katalogów hosta...</translation> </message> <message> - <source>Create RPM Package</source> - <translation>Utwórz pakiet RPM</translation> + <source>Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then.</source> + <translation>Qemu nie był uruchomiony. Został on właśnie uruchomiony, ale zajmie chwilę zanim będzie gotowy. Spróbuj jeszcze raz po pewnym czasie.</translation> </message> <message> - <source>Create tarball</source> - <translation type="unfinished"></translation> + <source>You want to run on Qemu, but it is not enabled for this Qt version.</source> + <translation>Ta wersja Qt nie umożliwia uruchamiania na Qemu.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::AbstractMaemoPackageCreationStep</name> <message> - <source>Package up to date.</source> - <translation>Pakiet aktualny.</translation> + <source>Potentially unmounting left-over host directory mounts...</source> + <translation>Potencjalne usuwanie pozostałości po zamontowanym katalogu hosta...</translation> </message> <message> - <source>Creating package file ...</source> - <translation>Tworzenie pliku pakietu...</translation> + <source>Unmounting host directories...</source> + <translation>Demontowanie katalogów hosta...</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoToolChainFactory</name> <message> - <source>Package created.</source> - <translation>Utworzono pakiet.</translation> + <source>Maemo GCC</source> + <translation>Maemo GCC</translation> </message> <message> - <source>Packaging failed.</source> - <translation>Błąd pakowania.</translation> + <source>Maemo GCC for %1</source> + <translation>Maemo GCC dla %1</translation> </message> <message> - <source>Packaging error: No Qt version.</source> - <translation>Błąd pakowania: Brak wersji Qt.</translation> + <source>%1 GCC (%2)</source> + <translation>%1 GCC (%2)</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoToolChainConfigWidget</name> <message> - <source>Package Creation: Running command '%1'.</source> - <translation>Tworzenie pakietu: Uruchamianie komendy "%1".</translation> + <source><html><head/><body><table><tr><td>Path to MADDE:</td><td>%1</td></tr><tr><td>Path to MADDE target:</td><td>%2</td></tr><tr><td>Debugger:</td/><td>%3</td></tr></body></html></source> + <translation><html><head/><body><table><tr><td>Ścieżka do MADDE:</td><td>%1</td></tr><tr><td>Ścieżka do produktu docelowego MADDE:</td><td>%2</td></tr><tr><td>Debugger:</td/><td>%3</td></tr></body></html></translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::AbstractMaemoUploadAndInstallStep</name> <message> - <source>Packaging error: Could not start command '%1'. Reason: %2</source> - <translation>Błąd pakowania: Nie można uruchomić komendy "%1". Powód: %2</translation> + <source>No matching packaging step found.</source> + <translation>Brak odpowiedniego kroku pakowania.</translation> </message> <message> - <source>Packaging Error: Command '%1' failed.</source> - <translation>Błąd pakowania: Komenda "%1" zakończona błędem.</translation> + <source>Successfully uploaded package file.</source> + <translation>Przesłano plik pakietu.</translation> </message> <message> - <source> Reason: %1</source> - <translation> Powód: %1</translation> + <source>Installing package to device...</source> + <translation>Instalowanie pakietu na urządzeniu...</translation> </message> <message> - <source>Exit code: %1</source> - <translation>Kod wyjściowy: %1</translation> + <source>Package installed.</source> + <translation>Zainstalowano pakiet.</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoDebianPackageCreationStep</name> + <name>RemoteLinux::Internal::MaemoUploadAndInstallDpkgPackageStep</name> <message> - <source>Create Debian Package</source> - <translation>Utwórz pakiet Debian</translation> + <source>Deploy Debian package via SFTP upload</source> + <translation type="unfinished">Zainstaluj pakiet Debian poprzez SFTP</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoUploadAndInstallRpmPackageStep</name> <message> - <source>Packaging failed.</source> - <translation>Błąd pakowania.</translation> + <source>Deploy RPM package via SFTP upload</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoUploadAndInstallTarPackageStep</name> <message> - <source>Could not move package files from %1 to %2.</source> - <translation>Nie można przenieść plików pakietu z %1 do %2.</translation> + <source>Deploy tar package via SFTP upload</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaemoUsedPortsGatherer</name> <message> - <source>Your project name contains characters not allowed in Debian packages. -They must only use lower-case letters, numbers, '-', '+' and '.'. -We will try to work around that, but you may experience problems.</source> - <translation>Nazwa projektu zawiera znaki, które są niedozwolone w pakietach Debiana. -Dozwolonymi znakami są tylko małe litery, liczby, '-', '+' oraz '.'. -Przy obecnej nazwie możesz spodziewać się problemów.</translation> + <source>Connection error: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>Packaging failed: Foreign debian directory detected.</source> - <translation>Błąd podczas tworzenia pakietu: wykryto obcy katalog Debiana.</translation> + <source>Could not start remote process: %1</source> + <translation>Nie można uruchomić zdalnego procesu %1</translation> </message> <message> - <source>You are not using a shadow build and there is a debian directory in your project root ('%1'). Qt Creator will not overwrite that directory. Please remove it or use the shadow build feature.</source> - <translation>Kompilacja w innym miejscu nie została użyta, a w projekcie występuje katalog debian ("%1"). Ten katalog nie zostanie nadpisany. Usuń go lub skompiluj projekt w innym miejscu.</translation> + <source>Remote process crashed: %1</source> + <translation>Zdalny proces zakończony błędem: %1</translation> </message> <message> - <source>Could not remove directory '%1': %2</source> - <translation>Nie można usunąć katalogu "%1": %2</translation> + <source>Remote process failed: %1</source> + <translation>Zdalny proces zakończony błędem: %1</translation> </message> <message> - <source>Could not create Debian directory '%1'.</source> - <translation>Nie można utworzyć katalogu Debian w "%1".</translation> + <source> +Remote error output was: %1</source> + <translation> +Zawartość zdalnego wyjścia z błędami: %1</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::Qt4MaemoDeployConfigurationFactory</name> <message> - <source>Could not copy file '%1' to '%2'</source> - <translation>Nie można skopiować pliku "%1" do "%2"</translation> + <source>Copy files to Maemo5 device</source> + <translation>Kopiowanie plików do urządzenia Maemo5</translation> </message> <message> - <source>Error: Could not create file '%1'.</source> - <translation>Błąd: Nie można utworzyć pliku "%1".</translation> + <source>Build Debian package and install to Maemo5 device</source> + <translation>Budowanie pakietu Debian i instalowanie na urządzeniu Maemo5</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoRpmPackageCreationStep</name> <message> - <source>Create RPM Package</source> - <translation>Utwórz pakiet RPM</translation> + <source>Build Debian package and install to Harmattan device</source> + <translation>Budowanie pakietu Debian i instalowanie na urządzeniu Harmattan</translation> </message> - <message> - <source>Packaging failed.</source> - <translation>Błąd pakowania.</translation> + <message> + <source>Build RPM package and install to Meego device</source> + <translation>Budowanie pakietu RPM i instalowanie na urządzeniu Meego</translation> </message> <message> - <source>Could not move package file from %1 to %2.</source> - <translation>Nie można przenieść pliku pakietu z %1 do %2.</translation> + <source>Build tarball and install to Linux host</source> + <translation>Budowanie tarballa i instalowanie na hoście linuksowym</translation> </message> </context> <context> - <name>RemoteLinux::Internal::CreateTarStepWidget</name> + <name>RemoteLinux::Internal::AbstractQt4MaemoTarget</name> <message> - <source>Create tarball:</source> - <translation type="unfinished"></translation> + <source>Cannot open file '%1': %2</source> + <translation>Nie można otworzyć pliku "%1": %2</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoTarPackageCreationStep</name> <message> - <source>Create tar ball</source> - <translation>Utwórz tarball</translation> + <source>Qt Creator</source> + <translation>Qt Creator</translation> </message> <message> - <source>Error: tar file %1 cannot be opened (%2).</source> - <translation type="unfinished"></translation> + <source>Do you want to remove the packaging file(s) associated with the target '%1'?</source> + <translation>Czy chcesz usunąć pliki pakietów powiązanych z produktem docelowym "%1"?</translation> </message> <message> - <source>Error writing tar file '%1': %2.</source> - <translation type="unfinished"></translation> + <source>Error creating Maemo packaging directory '%1'.</source> + <translation>Błąd tworzenia katalogu pakietu Maemo "%1".</translation> </message> <message> - <source>Error reading file '%1': %2.</source> - <translation type="unfinished"></translation> + <source>Add Packaging Files to Project</source> + <translation>Dodaj pliki pakietowe do projektu</translation> </message> <message> - <source>Cannot add file '%1' to tar-archive: path too long.</source> - <translation type="unfinished"></translation> + <source>Qt Creator has set up the following files to enable packaging: + %1 +Do you want to add them to the project?</source> + <translation>Qt Creator skonfigurował następujące pliki aby umożliwić tworzenie pakietów: + %1 +Czy chcesz dodać je do projektu?</translation> </message> <message> - <source>Error writing tar file '%1': %2</source> - <translation type="unfinished"></translation> + <source>Error creating Maemo templates</source> + <translation>Błąd tworzenia szablonów Maemo</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPackageCreationWidget</name> - <message> - <source>No Version Available.</source> - <translation>Brak dostępnej wersji.</translation> - </message> - <message> - <source>Could not read icon</source> - <translation>Nie można odczytać ikony</translation> - </message> - <message> - <source>Images</source> - <translation>Obrazki</translation> - </message> + <name>RemoteLinux::Internal::AbstractDebBasedQt4MaemoTarget</name> <message> - <source>Choose Image (will be scaled to 48x48 pixels if necessary)</source> - <translation>Wybierz obraz (w razie potrzeby zostanie przeskalowany do 48x48)</translation> + <source>Debian changelog file '%1' has unexpected format.</source> + <translation>Nieoczekiwany format pliku z logiem zmian Debiana "%1".</translation> </message> <message> - <source>Could Not Set New Icon</source> - <translation>Nie można ustawić nowej ikony</translation> + <source>Invalid icon data in Debian control file.</source> + <translation>Niepoprawne dane ikony w pliku kontrolnym Debiana.</translation> </message> <message> - <source>File Error</source> - <translation>Błąd pliku</translation> + <source>Could not read image file '%1'.</source> + <translation>Nie można odczytać pliku obrazu "%1".</translation> </message> <message> - <source>Could not set project name.</source> - <translation>Nie można ustawić nazwy projektu.</translation> + <source>Could not export image file '%1'.</source> + <translation>Nie można wyeksportować pliku obrazu "%1".</translation> </message> <message> - <source>Could not set package name for project manager.</source> - <translation>Nie można ustawić nazwy pakietu dla menedżera projektu.</translation> + <source>Unable to create Debian templates: No Qt version set</source> + <translation>Nie można utworzyć szablonu dla Debiana: Nie ustawiono wersji Qt</translation> </message> <message> - <source>Could not set project description.</source> - <translation>Nie można ustawić opisu projektu.</translation> + <source>Unable to create Debian templates: dh_make failed (%1)</source> + <translation>Nie można utworzyć szablonu dla Debiana: błąd dh_make (%1)</translation> </message> <message> - <source><b>Create Package:</b> </source> - <translation><b>Utwórz pakiet:</b> </translation> + <source>Unable to create debian templates: dh_make failed (%1)</source> + <translation>Nie można utworzyć szablonu dla debiana: błąd dh_make (%1)</translation> </message> <message> - <source>Could Not Set Version Number</source> - <translation>Nie można ustawić numeru wersji</translation> + <source>Unable to move new debian directory to '%1'.</source> + <translation>Nie można przenieść nowych katalogów Debiana do "%1".</translation> </message> </context> <context> - <name>RemoteLinux::Internal::AbstractMaemoPackageInstaller</name> + <name>RemoteLinux::RemoteLinuxRunConfiguration</name> <message> - <source>Connection failure: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>The .pro file is being parsed.</source> + <translation>Trwa parsowanie pliku .pro.</translation> </message> <message> - <source>Installing package failed.</source> - <translation>Błąd instalowania pakietu.</translation> + <source>The .pro file could not be parsed.</source> + <translation>Nie można sparsować pliku .pro.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoDebianPackageInstaller</name> <message> - <source>Installation failed: You tried to downgrade a package, which is not allowed.</source> - <translation>Błąd instalacji: próba instalacji wcześniejszej wersji pakietu nie jest dozwolona.</translation> + <source>No device configuration set.</source> + <translation>Nie ustawiono konfiguracji urządzenia.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoPackageUploader</name> <message> - <source>Preparing SFTP connection...</source> - <translation type="unfinished"></translation> + <source>No active build configuration.</source> + <translation>Brak aktywnej konfiguracji budowania.</translation> </message> <message> - <source>Connection failed: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>Don't know what to run.</source> + <translation>Nie wiadomo co uruchomić.</translation> </message> <message> - <source>SFTP error: %1</source> - <translation>Błąd SFTP: %1</translation> + <source>Run on remote device</source> + <extracomment>Remote Linux run configuration default display name</extracomment> + <translation>Uruchom na zdalnym urządzeniu</translation> </message> <message> - <source>Package upload failed: Could not open file.</source> - <translation>Błąd przesyłania pakietu: nie można otworzyć pliku.</translation> + <source>Clean Environment</source> + <translation>Czyste środowisko</translation> </message> <message> - <source>Failed to upload package: %2</source> - <translation>Nie można przesłać pakietu: %2</translation> + <source>System Environment</source> + <translation>Środowisko systemowe</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPerTargetDeviceConfigurationListModel</name> + <name>Subversion::Internal::SubversionDiffParameterWidget</name> <message> - <source>(default)</source> - <translation>(domyślna)</translation> + <source>Ignore whitespace</source> + <translation>Ignoruj białe znaki</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoProFilesUpdateDialog</name> + <name>TextEditor::BehaviorSettingsPage</name> <message> - <source>Updateable Project Files</source> - <translation>Odświeżalne pliki projektu</translation> + <source>Global</source> + <comment>Settings</comment> + <translation>Globalne</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPublishedProjectModel</name> + <name>TextEditor::FunctionHintProposalWidget</name> <message> - <source>Include in package</source> - <translation>Dołącz do pakietu</translation> + <source>%1 of %2</source> + <translation>%1 z %2</translation> </message> +</context> +<context> + <name>TextEditor::FallbackSelectorWidget</name> <message> - <source>Include</source> - <translation>Dołącz</translation> + <source>Settings:</source> + <translation>Ustawienia:</translation> </message> <message> - <source>Do not include</source> - <translation>Nie dołączaj</translation> + <source>Custom</source> + <translation>Własne</translation> + </message> + <message> + <source>Restore %1</source> + <comment>%1 is settings name (e.g. Global C++)</comment> + <translation>Przywróć %1</translation> + </message> + <message> + <source>Restore</source> + <translation>Przywróć</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPublisherFremantleFree</name> + <name>TextEditor::Internal::SnippetsCollection</name> <message> - <source>Canceled.</source> - <translation>Anulowano.</translation> + <source>Cannot create user snippet directory %1</source> + <translation>Nie można utworzyć katalogu z urywkami użytkownika %1</translation> </message> +</context> +<context> + <name>Valgrind::Internal::CallgrindEngine</name> <message> - <source>Publishing canceled by user.</source> - <translation>Publikowanie anulowane przez użytkownika.</translation> + <source>Profiling</source> + <translation>Profilowanie</translation> </message> <message> - <source>The project is missing some information important to publishing:</source> - <translation>Brak ważnych informacji w projekcie potrzebnych do opublikowania:</translation> + <source>Profiling %1 +</source> + <translation>Profilowanie %1 +</translation> </message> +</context> +<context> + <name>Valgrind::Internal::AbstractCallgrindSettings</name> <message> - <source>Publishing failed: Missing project information.</source> - <translation>Błąd publikowania: Brak informacji w projekcie.</translation> + <source>Profiling</source> + <translation>Profilowanie</translation> </message> +</context> +<context> + <name>Valgrind::Internal::CallgrindTool</name> <message> - <source>Removing left-over temporary directory ...</source> - <translation>Usuwanie pozostałości po katalogu tymczasowym...</translation> + <source>Valgrind Function Profile</source> + <translation type="unfinished"></translation> </message> <message> - <source>Error removing temporary directory: %1</source> - <translation>Błąd usuwania katalogu tymczasowego: %1</translation> + <source>Valgrind Profile uses the "callgrind" tool to record function calls when a program runs.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Publishing failed: Could not create source package.</source> - <translation>Błąd publikowania: nie można utworzyć pakietu źródłowego.</translation> + <source>Profile Costs of this Function and its Callees</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>Valgrind::Internal::CallgrindToolPrivate</name> <message> - <source>Setting up temporary directory ...</source> - <translation>Konfigurowanie katalogu tymczasowego...</translation> + <source>Callers</source> + <translation type="unfinished"></translation> </message> <message> - <source>Error: Could not create temporary directory.</source> - <translation>Błąd: Nie można utworzyć katalogu tymczasowego.</translation> + <source>Functions</source> + <translation>Funkcje</translation> </message> <message> - <source>Error: Could not copy project directory</source> - <translation>Błąd: Nie można skopiować katalogu projektu</translation> + <source>Callees</source> + <translation type="unfinished"></translation> </message> <message> - <source>Error: Could not fix newlines</source> - <translation>Błąd: Nie można naprawić znaków końca linii</translation> + <source>Visualization</source> + <translation>Wizualizacja</translation> </message> <message> - <source>Publishing failed: Could not create package.</source> - <translation>Błąd publikowania: nie można utworzyć pakietu.</translation> + <source>Request the dumping of profile information. This will update the callgrind visualization.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Cleaning up temporary directory ...</source> - <translation>Czyszczenie katalogu tymczasowego...</translation> + <source>Go back one step in history. This will select the previously selected item.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Failed to create directory '%1'.</source> - <translation>Nie można utworzyć katalogu "%1".</translation> + <source>Reset all event counters.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Could not copy file '%1' to '%2': %3.</source> - <translation>Nie można skopiować pliku "%1" do "%2": %3.</translation> + <source>Pause event logging. No events are counted which will speed up program execution during profiling.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Error: Failed to start dpkg-buildpackage.</source> - <translation>Błąd: nie można uruchomić dpkg-buildpackage.</translation> + <source>Go forward one step in history.</source> + <translation>Przejdź naprzód o jeden krok w historii.</translation> </message> <message> - <source>Error: dpkg-buildpackage did not succeed.</source> - <translation>Błąd: dpkg-buildpackage zakończony błędem.</translation> + <source>Selects which events from the profiling data are shown and visualized.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Package creation failed.</source> - <translation>Błąd tworzenia pakietu.</translation> + <source>Absolute Costs</source> + <translation>Koszty bezwzględne</translation> </message> <message> - <source>Done.</source> - <translation>Zrobione.</translation> + <source>Show costs as absolute numbers.</source> + <translation>Pokazuje koszty jako wartości bezwzględne.</translation> </message> <message> - <source>Packaging finished successfully. The following files were created: -</source> - <translation>Tworzenie pakietu zakończone pomyślnie. Zostały utworzone następujące pliki: -</translation> + <source>Relative Costs</source> + <translation>Koszty względne</translation> </message> <message> - <source>No Qt version set</source> - <translation>Nie ustawiono wersji Qt</translation> + <source>Show costs relative to total inclusive cost.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Building source package...</source> - <translation>Budowanie pakietu źródłowego...</translation> + <source>Relative Costs to Parent</source> + <translation>Koszty względem rodzica</translation> </message> <message> - <source>Starting scp ...</source> - <translation>Uruchamianie scp...</translation> + <source>Show costs relative to parent functions inclusive cost.</source> + <translation type="unfinished"></translation> </message> <message> - <source>SSH error: %1</source> - <translation>Błąd SSH: %1</translation> + <source>Cost Format</source> + <translation>Format kosztu</translation> </message> <message> - <source>Upload failed.</source> - <translation>Błąd przesyłania.</translation> + <source>Cycle Detection</source> + <translation>Detekcja cykli</translation> </message> <message> - <source>Error uploading file: %1</source> - <translation>Błąd przesyłania pliku: %1</translation> + <source>Enable cycle detection to properly handle recursive or circular function calls.</source> + <translation>Włącza detekcję cykli w celu poprawnej obsługi rekurencyjnych wywołań funkcji.</translation> </message> <message> - <source>Error uploading file.</source> - <translation>Błąd przesyłania pliku.</translation> + <source>Show Project Costs Only</source> + <translation type="unfinished"></translation> </message> <message> - <source>All files uploaded.</source> - <translation>Przesłano wszystkie pliki.</translation> + <source>Show only profiling info that originated from this project source.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Upload succeeded. You should shortly receive an email informing you about the outcome of the build process.</source> - <translation>Przesyłanie zakończone pomyślnie. Wkrótce powinien zostać dostarczony email informujący o rezultacie procesu budowania.</translation> + <source>Filter...</source> + <translation>Filtr...</translation> </message> <message> - <source>Uploading file %1 ...</source> - <translation>Przesyłanie pliku %1...</translation> + <source>Profiling aborted.</source> + <translation>Przerwano profilowanie.</translation> </message> <message> - <source>Cannot open file for reading: %1</source> - <translation>Nie można otworzyć pliku do odczytu: %1</translation> + <source>Parsing finished, no data.</source> + <translation>Zakończono parsowanie, brak danych.</translation> </message> <message> - <source>Cannot read file: %1</source> - <translation>Nie można odczytać pliku: %1</translation> + <source>Parsing finished, total cost of %1 reported.</source> + <translation>Zakończono parsowanie, całkowity koszt wyniósł %1.</translation> </message> <message> - <source>The package description is empty. You must set one in Projects -> Run -> Create Package -> Details.</source> - <translation>Pusty opis pakietu. Należy go ustawić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> + <source>Parsing failed.</source> + <translation>Błąd parsowania.</translation> </message> <message> - <source>The package description is '%1', which is probably not what you want. Please change it in Projects -> Run -> Create Package -> Details.</source> - <translation>Prawdopodobnie niepoprawny opis pakietu ("%1"). Można go zmienić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> + <source>Select this Function in the Analyzer Output</source> + <translation type="unfinished"></translation> </message> <message> - <source>You have not set an icon for the package manager. The icon must be set in Projects -> Run -> Create Package -> Details.</source> - <translation>Nie ustawiono ikony dla menedżera pakietu. Należy ją ustawić w Projekty -> Uruchamianie -> Utwórz pakiet -> Szczegóły.</translation> + <source>Populating...</source> + <translation>Wypełnianie...</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPublishingUploadSettingsPageFremantleFree</name> + <name>Valgrind::Internal::Visualisation</name> <message> - <source>Publishing to Fremantle's "Extras-devel/free" Repository</source> - <translation>Publikowanie do repozytorium Fremantle'a "Extras-devel/free"</translation> + <source>All functions with an inclusive cost ratio higher than %1 (%2 are hidden)</source> + <translation type="unfinished"></translation> </message> +</context> +<context> + <name>Valgrind::Internal::MemcheckEngine</name> <message> - <source>Upload options</source> - <translation>Ustawienia przesyłania</translation> + <source>Analyzing Memory</source> + <translation>Analiza pamięci</translation> </message> <message> - <source>Choose a private key file</source> - <translation>Wybierz plik z kluczem prywatnym</translation> + <source>Analyzing memory of %1 +</source> + <translation>Analiza pamięci w %1 +</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPublishingWizardFactoryFremantleFree</name> + <name>Valgrind::Internal</name> <message> - <source>Publish for "Fremantle Extras-devel free" repository</source> - <translation>Publikowanie do repozytorium "Fremantle Extras-devel free"</translation> + <source>%1 in %2</source> + <translation>%1 w %2</translation> </message> <message> - <source>This wizard will create a source archive and optionally upload it to a build server, where the project will be compiled and packaged and then moved to the "Extras-devel free" repository, from where users can install it onto their N900 devices. For the upload functionality, an account at garage.maemo.org is required.</source> - <translation>Ten kreator utworzy archiwum źródłowe i opcjonalnie prześle je do serwera budowy. Zostanie on tam skompilowany, zapakowany i przeniesiony do repozytorium "Extras-devel free". Użytkownicy będą mogli wówczas zainstalować go na swoich urządzeniach N900. W celu wysłania na serwer należy posiadać konto na garage.maemo.org.</translation> + <source>in %1</source> + <translation>w %1</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoPublishingWizardFremantleFree</name> - <message> - <source>Publishing to Fremantle's "Extras-devel free" Repository</source> - <translation>Publikowanie do repozytorium Fremantle'a "Extras-devel free"</translation> - </message> + <name>Valgrind::Internal::MemcheckErrorView</name> <message> - <source>Build Settings</source> - <translation>Ustawienia budowania</translation> + <source>Copy Selection</source> + <translation>Skopiuj selekcję</translation> </message> <message> - <source>Upload Settings</source> - <translation>Ustawienia przesyłania</translation> + <source>Suppress Error</source> + <translation type="unfinished">Stłum błąd</translation> </message> +</context> +<context> + <name>Valgrind::Internal::AbstractMemcheckSettings</name> <message> - <source>Result</source> - <translation>Rezultat</translation> + <source>Memory Analysis</source> + <translation>Analiza pamięci</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoQemuManager</name> + <name>Valgrind::Internal::MemcheckTool</name> <message> - <source>Start Maemo Emulator</source> - <translation>Uruchom emulator Maemo</translation> + <source>External Errors</source> + <translation>Błędy zewnętrzne</translation> </message> <message> - <source>Qemu has been shut down, because you removed the corresponding Qt version.</source> - <translation>Qemu zostało zamknięte, ponieważ usunięto odpowiednią wersję Qt.</translation> + <source>Suppressions</source> + <translation type="unfinished">Tłumienia</translation> </message> <message> - <source>Qemu finished with error: Exit code was %1.</source> - <translation>Qemu zakończone błędem: Wyjściowy kod: %1.</translation> + <source>Definite Memory Leaks</source> + <translation>Wyraźne wycieki pamięci</translation> </message> <message> - <source>Qemu error</source> - <translation>Błąd Qemu</translation> + <source>Possible Memory Leaks</source> + <translation>Prawdopodobne wycieki pamięci</translation> </message> <message> - <source>Qemu failed to start: %1</source> - <translation>Nie można uruchomić Qemu: %1</translation> + <source>Use of Uninitialized Memory</source> + <translation>Użycie niezainicjalizowanej pamięci</translation> </message> <message> - <source>Stop Maemo Emulator</source> - <translation>Zatrzymaj emulator Maemo</translation> + <source>Invalid Calls to "free()"</source> + <translation>Niepoprawne wywołania "free()"</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoRemoteCopyFacility</name> <message> - <source>Connection failed: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>Valgrind Analyze Memory</source> + <translation>Analiza pamięci Valgrinda</translation> </message> <message> - <source>Error: Copy command failed.</source> - <translation type="unfinished"></translation> + <source>Valgrind Analyze Memory uses the "memcheck" tool to find memory leaks</source> + <translation>Analiza pamięci Valgrinda używa narzędzia "memcheck" do znajdywania wycieków pamięci</translation> </message> <message> - <source>Copying file '%1' to directory '%2' on the device...</source> - <translation>Kopiowanie pliku "%1" do katalogu "%2" na urządzeniu...</translation> + <source>Memory Issues</source> + <translation>Problemy pamięci</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoRemoteMounter</name> <message> - <source>No directories to mount</source> - <translation>Brak katalogów do zamontowania</translation> + <source>Go to previous leak.</source> + <translation>Przejdź do poprzedniego wycieku.</translation> </message> <message> - <source>No directories to unmount</source> - <translation>Brak katalogów do zdemontowania</translation> + <source>Go to next leak.</source> + <translation>Przejdź do następnego wycieku.</translation> </message> <message> - <source>Could not execute unmount request.</source> - <translation>Nie można wykonać zdemontowania.</translation> + <source>Show issues originating outside currently opened projects.</source> + <translation>Pokaż problemy mające źródło na zewnątrz otwartych projektów.</translation> </message> <message> - <source>Failure unmounting: %1</source> - <translation>Błąd demontażu: %1</translation> + <source>These suppression files were used in the last memory analyzer run.</source> + <translation type="unfinished">Te pliki tłumienia były użyte podczas ostatniego uruchomienia analizatora pamięci.</translation> </message> <message> - <source>Finished unmounting.</source> - <translation>Zakończono demontaż.</translation> + <source>Error Filter</source> + <translation>Filtr błędów</translation> </message> <message> - <source> -stderr was: '%1'</source> - <translation> -stderr był: "%1"</translation> + <source>Internal Error</source> + <translation>Błąd wewnętrzny</translation> </message> <message> - <source>Error: Not enough free ports on device to fulfill all mount requests.</source> - <translation>Błąd: Niewystarczająca ilość wolnych portów w urządzeniu aby wykonać wszystkie żądania zamontowania.</translation> + <source>Error occurred parsing valgrind output: %1</source> + <translation>Błąd podczas parsowania komunikatów valgrind'a: %1</translation> </message> +</context> +<context> + <name>Valgrind::Internal::ValgrindEngine</name> <message> - <source>Starting remote UTFS clients...</source> - <translation>Uruchamianie zdalnych klientów UTFS...</translation> + <source>Valgrind options: %1</source> + <translation>Opcje valgrinda: %1</translation> </message> <message> - <source>Mount operation succeeded.</source> - <translation>Operacja zamontowania powiodła się.</translation> + <source>Working directory: %1</source> + <translation>Katalog roboczy: %1</translation> </message> <message> - <source>Failure running UTFS client: %1</source> - <translation>Błąd uruchamiania klienta UTFS: %1</translation> + <source>Command-line arguments: %1</source> + <translation>Argumenty linii komend: %1</translation> </message> <message> - <source>Starting UTFS servers...</source> - <translation>Uruchamianie serwerów UTFS...</translation> + <source>** Analyzing finished ** +</source> + <translation>** Zakończono analizę ** +</translation> </message> <message> - <source> -stderr was: %1</source> - <translation> -stderr był: %1</translation> + <source>** Error: "%1" could not be started: %2 ** +</source> + <translation>** Błąd: nie można uruchomić "%1": %2 ** +</translation> </message> <message> - <source>Error running UTFS server: %1</source> - <translation>Błąd uruchamiania serwera UTFS: %1</translation> + <source>** Error: no valgrind executable set ** +</source> + <translation>** Błąd: nie ustawiono pliku wykonywalnego valgrind ** +</translation> </message> <message> - <source>Timeout waiting for UTFS servers to connect.</source> - <translation>Przekroczony czas oczekiwania na połączenie z serwerem UTFS.</translation> + <source>** Process Terminated ** +</source> + <translation>** Zakończono proces ** +</translation> + </message> + <message> + <source>Application Output</source> + <translation>Komunikaty aplikacji</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoRemoteMountsModel</name> + <name>Valgrind::Internal::ValgrindSettings</name> <message> - <source>Local directory</source> - <translation>Katalog lokalny</translation> + <source>Generic Settings</source> + <translation>Ustawienia ogólne</translation> </message> +</context> +<context> + <name>VCSBase::Internal::CommonSettingsWidget</name> <message> - <source>Remote mount point</source> - <translation>Zdalny punkt zamontowania</translation> + <source>Command used for reverting diff chunks</source> + <translation>Komenda użyta do odwracania fragmentów w różnicach</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoRemoteProcessesDialog</name> + <name>Welcome::Internal::WelcomeMode</name> <message> - <source>Remote Error</source> - <translation>Zdalny błąd</translation> + <source>Welcome</source> + <translation>Powitanie</translation> + </message> + <message> + <source>New Project</source> + <translation>Nowy projekt</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoRemoteProcessList</name> + <name>Coda::Session</name> <message> - <source>Connection failure: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>CPU: v%1.%2%3%4</source> + <extracomment>CPU description of an S60 device %1 major verison, %2 minor version %3 real name of major verison, %4 real name of minor version</extracomment> + <translation>CPU: v%1.%2%3%4</translation> </message> <message> - <source>Error: Remote process failed to start: %1</source> - <translation>Błąd: nie można uruchomić zdalnego procesu: %1</translation> + <source>CODA: v%1.%2 CODA protocol: v%3.%4</source> + <translation>CODA: v%1.%2 Protokół CODA: v%3.%4</translation> </message> <message> - <source>Error: Remote process crashed: %1</source> - <translation>Błąd: zdalny proces zakończony błędem: %1</translation> + <source>%1, %2%3%4, %5</source> + <extracomment>s60description description of an S60 device %1 CPU description, %2 endianness %3 default type size (if any), %4 float size (if any) %5 Coda version</extracomment> + <translation>%1, %2%3%4, %5</translation> + </message> + <message> + <source>big endian</source> + <translation>big endian</translation> + </message> + <message> + <source>little endian</source> + <translation>little endian</translation> + </message> + <message> + <source>, type size: %1</source> + <extracomment>will be inserted into s60description</extracomment> + <translation>, rozmiar typu: %1</translation> + </message> + <message> + <source>, float size: %1</source> + <extracomment>will be inserted into s60description</extracomment> + <translation>, rozmiar float: %1</translation> + </message> +</context> +<context> + <name>Git::Internal::BranchAddDialog</name> + <message> + <source>Dialog</source> + <translation>Dialog</translation> </message> <message> - <source>Remote process failed.</source> - <translation>Zdalny proces zakończony błędem.</translation> + <source>Branch Name:</source> + <translation>Nazwa gałęzi:</translation> </message> <message> - <source> -Remote stderr was: %1</source> - <translation> -Zawartość zdalnego stderr: %1</translation> + <source>CheckBox</source> + <translation>CheckBox</translation> </message> <message> - <source>PID</source> - <translation>PID</translation> + <source>Track remote branch '%1'</source> + <translation>Śledź zdalną gałąź "%1"</translation> </message> <message> - <source>Command Line</source> - <translation>Linia komend</translation> + <source>Track local branch '%1'</source> + <translation>Śledź lokalną gałąź "%1"</translation> </message> </context> <context> - <name>ReoteLinux::Internal::MaemoRunConfigurationWidget</name> + <name>text</name> <message> - <source>Fetch Device Environment</source> - <translation>Pobierz środowisko urządzenia</translation> + <source>text</source> + <translation>tekst</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoRunConfigurationWidget</name> + <name>textedit</name> <message> - <source><a href="%1">Manage device configurations</a></source> - <translation><a href="%1">Zarządzanie konfiguracjami urządzenia</a></translation> + <source>text edit</source> + <translation>edytor tekstu</translation> </message> +</context> +<context> + <name>textinput</name> <message> - <source><a href="%1">Set Debugger</a></source> - <translation><a href="%1">Ustaw debugger</a></translation> + <source>text</source> + <translation>tekst</translation> </message> +</context> +<context> + <name>TimeDisplay</name> <message> - <source>Device configuration:</source> - <translation>Konfiguracja urządzenia:</translation> + <source>length: %1</source> + <translation>długość: %1</translation> </message> +</context> +<context> + <name>QtQuickComponentSetOptionsPage</name> <message> - <source>Executable on host:</source> - <translation>Plik wykonywalny na hoście:</translation> + <source>Qt Quick Application Type</source> + <translation>Typ aplikacji Qt Quick</translation> </message> <message> - <source>Executable on device:</source> - <translation>Plik wykonywalny na urządzeniu:</translation> + <source>Built-in elements only (for all platforms)</source> + <translation>Tylko wbudowane elementy (dla wszystkich platform)</translation> </message> <message> - <source>Arguments:</source> - <translation>Argumenty:</translation> + <source>Qt Quick Components for Symbian</source> + <translation>Komponenty Qt Quick dla Symbiana</translation> </message> <message> - <source>C++ only</source> - <translation>Tylko C++</translation> + <source>Qt Quick Components for Meego/Harmattan</source> + <translation>Komponenty Qt Quick dla Meego/Harmattan</translation> </message> <message> - <source>QML only</source> - <translation>Tylko QML</translation> + <source>Use an existing .qml file</source> + <translation>Użyj istniejącego pliku .qml</translation> </message> <message> - <source>C++ and QML</source> - <translation>C++ i QML</translation> + <source>The built-in elements in the QtQuick namespace allow you to write cross-platform applications with a custom look and feel. + +Requires Qt 4.7.1 or newer.</source> + <translation type="unfinished">Wbudowane elementy w przestrzeni nazw QtQuick umożliwiają pisanie przenośnych aplikacji z przystosowalnym </translation> </message> <message> - <source>Debugging type:</source> - <translation>Typ debugowania:</translation> + <source>The Qt Quick Components for Symbian are a set of ready-made components that are designed with specific native appearance for the Symbian platform. + +Requires Qt 4.7.3 or newer, and the component set installed for your Qt version.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Base environment for this run configuration:</source> - <translation>Podstawowe środowisko dla tej konfiguracji uruchamiania:</translation> + <source>The Qt Quick Components for Meego/Harmattan are a set of ready-made components that are designed with specific native appearance for the Meego/Harmattan platform. + +Requires Qt 4.7.4 or newer, and the component set installed for your Qt version.</source> + <translation type="unfinished"></translation> </message> <message> - <source>Clean Environment</source> - <translation>Czyste środowisko</translation> + <source>All files and directories that reside in the same directory as the main QML file are deployed. You can modify the contents of the directory any time before deploying.</source> + <translation>Wszystkie pliki i katalogi, umieszczone wewnątrz katalogu w którym jest główny plik QML, zostaną zainstalowane. Zawartość katalogu może być dowolnie zmieniana przed instalacją.</translation> </message> +</context> +<context> + <name>GenericLinuxDeviceConfigurationWizardSetupPage</name> <message> - <source>System Environment</source> - <translation>Środowisko systemowe</translation> + <source>WizardPage</source> + <translation>StronaKreatora</translation> </message> <message> - <source>Choose directory to mount</source> - <translation>Wybierz katalog do zamontowania</translation> + <source>The name to identify this configuration:</source> + <translation>Nazwa identyfikująca tę konfigurację:</translation> </message> <message> - <source>Cancel Fetch Operation</source> - <translation>Anuluj pobieranie</translation> + <source>The device's host name or IP address:</source> + <translation>Nazwa hosta lub adres IP urządzenia:</translation> </message> <message> - <source>Device error</source> - <translation>Błąd urządzenia</translation> + <source>User name:</source> + <translation>Nazwa użytkownika:</translation> </message> <message> - <source>Fetching environment failed: %1</source> - <translation>Błąd podczas pobierania środowiska: %1</translation> + <source>Authentication type:</source> + <translation>Typ autoryzacji:</translation> </message> <message> - <source>No local directories to be mounted on the device.</source> - <translation>Brak lokalnych katalogów do zamontowania na urządzeniu.</translation> + <source>Password</source> + <translation>Hasło</translation> </message> <message> - <source>One local directory to be mounted on the device.</source> - <translation>Jeden lokalny katalog do zamontowania na urządzeniu.</translation> + <source>Key</source> + <translation>Klucz</translation> </message> - <message numerus="yes"> - <source>%n local directories to be mounted on the device.</source> - <extracomment>Note: Only mountCount>1 will occur here as 0, 1 are handled above.</extracomment> - <translation> - <numerusform>%n lokalny katalog do zamontowania na urządzeniu.</numerusform> - <numerusform>%n lokalne katalogi do zamontowania na urządzeniu.</numerusform> - <numerusform>%n lokalnych katalogów do zamontowania na urządzeniu.</numerusform> - </translation> + <message> + <source>Password:</source> + <translation>Hasło:</translation> </message> - <message numerus="yes"> - <source>WARNING: You want to mount %1 directories, but your device has only %n free ports.<br>You will not be able to run this configuration.</source> - <translation> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolny port.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolne porty.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie posiada tylko %n wolnych portów.<br>Nie będzie można uruchomić tej konfiguracji.</numerusform> - </translation> + <message> + <source>Private key:</source> + <translation>Klucz prywatny:</translation> </message> - <message numerus="yes"> - <source>WARNING: You want to mount %1 directories, but only %n ports on the device will be available in debug mode. <br>You will not be able to debug your application with this configuration.</source> - <translation> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n port do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n porty do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> - <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów, ponieważ urządzenie udostępnia tylko %n portów do debugowania.<br>Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform> - </translation> +</context> +<context> + <name>LineEdit</name> + <message> + <source>Translate this string</source> + <translation>Przetłumacz ten tekst</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoRunControl</name> + <name>MouseAreaSpecifics</name> <message> - <source>Starting remote process ... -</source> - <translation>Uruchamianie zdalnego procesu... -</translation> + <source>MouseArea</source> + <translation type="unfinished"></translation> </message> <message> - <source>Finished running remote process. Exit code was %1. -</source> - <translation>Zdalny proces zakończony. Kod wyjściowy: %1. -</translation> + <source>Enabled</source> + <translation>Włączony</translation> </message> <message> - <source>Remote Execution Failure</source> - <translation>Błąd zdalnego procesu</translation> + <source>This property holds whether the item accepts mouse events.</source> + <translation>Ta właściwość odpowiada za to czy element akceptuje zdarzenia myszy.</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoRunControlFactory</name> <message> - <source>Run on device</source> - <translation>Uruchom na urządzeniu</translation> + <source>Hover Enabled</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>This property holds whether hover events are handled.</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoQemuCrashDialog</name> + <name>ExampleBrowser</name> <message> - <source>Qemu error</source> - <translation>Błąd Qemu</translation> + <source>Search in Tutorials</source> + <translation>Wyszukaj w samouczkach</translation> </message> <message> - <source>Qemu crashed.</source> - <translation>Qemu zakończone błędem.</translation> + <source>Search in Tutorials, Examples and Demos</source> + <translation>Wyszukaj w samouczkach, przykładach i demach</translation> </message> <message> - <source>Click here to change the OpenGL mode.</source> - <translation>Kliknij tutaj aby zmienić tryb OpenGL.</translation> + <source>Show Examples and Demos</source> + <translation>Pokaż przykłady i dema</translation> </message> <message> - <source>You have configured Qemu to use OpenGL hardware acceleration, which might not be supported by your system. You could try using software rendering instead.</source> - <translation>Skonfigurowano Qemu aby używało sprzętowej akceleracji OpenGL, co może nie być obsługiwane przez system. Zamiast tego można użyć renderowania software'owego.</translation> + <source>Filter by Tag</source> + <translation type="unfinished">Przefiltruj przez tag</translation> </message> <message> - <source>Qemu is currently configured to auto-detect the OpenGL mode, which is known to not work in some cases. You might want to use software rendering instead.</source> - <translation>Skonfigurowano Qemu aby automatycznie wykrywało OpenGL, co może nie działać poprawnie w pewnych przypadkach. Zamiast tego można użyć renderowania software'owego.</translation> + <source>Tag Filter: %1</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoDeviceConfigurationsSettingsPage</name> + <name>FeaturedAndNewsListing</name> <message> - <source>Device Configurations</source> - <translation>Konfiguracje urządzenia</translation> + <source>Featured News</source> + <translation type="unfinished"></translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoQemuSettingsPage</name> + <name>Feedback</name> <message> - <source>Maemo Qemu Settings</source> - <translation>Ustawienia Qemu Maemo</translation> + <source>Open Project...</source> + <translation>Otwórz projekt...</translation> + </message> + <message> + <source>Create Project...</source> + <translation>Utwórz projekt...</translation> + </message> + <message> + <source>Feedback</source> + <translation>Wyraź opinię</translation> + </message> + <message> + <source>Help us make Qt Creator even better</source> + <translation>Pomóż nam ulepszyć Qt Creatora</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoSshConfigDialog</name> + <name>NewsListing</name> <message> - <source>Save Public Key File</source> - <translation>Zachowaj plik z kluczem publicznym</translation> + <source>Click to read more...</source> + <translation>Kliknij aby dowiedzieć się więcej...</translation> </message> +</context> +<context> + <name>RecentProjects</name> <message> - <source>Save Private Key File</source> - <translation>Zachowaj plik z kluczem prywatnym</translation> + <source>Recently Edited Projects</source> + <translation>Ostatnio modyfikowane projekty</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoSshRunner</name> + <name>RecentSessions</name> <message> - <source>Cannot run: No remote executable set.</source> - <translation>Nie można uruchomić: Nie ustawiono zdalnego pliku wykonywalnego.</translation> + <source>Recently Used Sessions</source> + <translation>Ostatnio używane sesje</translation> </message> <message> - <source>Cannot run: No device configuration set.</source> - <translation>Nie można uruchomić: Brak konfiguracji urządzenia.</translation> + <source>%1 (current session)</source> + <translation>%1 (bieżąca sesja)</translation> </message> +</context> +<context> + <name>TagBrowser</name> <message> - <source>Cannot run: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready.</source> - <translation>Błąd uruchomienia: Qemu nie był uruchomiony. Właśnie został uruchomiony, ale zajmie chwilę zanim będzie gotowy.</translation> + <source>Please choose a tag to filter for:</source> + <translation type="unfinished"></translation> </message> <message> - <source>Connecting to device...</source> - <translation>Nawiązywanie połączenia z urządzeniem...</translation> + <source>Clear</source> + <translation>Wyczyść</translation> </message> +</context> +<context> + <name>Analyzer::AnalyzerManager::AnalyzerManagerPrivate</name> <message> - <source>Connection error: %1</source> - <translation>Błąd połączenia: %1</translation> + <source>&Analyze</source> + <translation>&Analiza</translation> </message> <message> - <source>Killing remote process(es)...</source> - <translation>Zamykanie zdalnych procesów...</translation> + <source>Start</source> + <translation>Uruchom</translation> </message> <message> - <source>Initial cleanup failed: %1</source> - <translation>Błąd wstępnego czyszczenia: %1</translation> + <source>Stop</source> + <translation>Zatrzymaj</translation> </message> <message> - <source>Error running remote process: %1</source> - <translation>Błąd zdalnego procesu: %1</translation> + <source>Analyzer Toolbar</source> + <translation>Pasek narzędzi analizatora</translation> </message> <message> - <source>Mounting host directories...</source> - <translation>Montowanie katalogów hosta...</translation> + <source><html><head/><body><center><i>%1</i> is still running. You have to quit the Analyzer before being able to run another instance.<center/><center>Force it to quit?</center></body></html></source> + <translation><html><head/><body><center><i>%1</i> jest wciąż uruchomiony. Należy zakończyć pracę analizatora przed uruchomieniem kolejnej instancji.<center/><center>Wymusić zakończenie?</center></body></html></translation> </message> <message> - <source>Unmounting left-over host directory mounts...</source> - <translation>Usuwanie pozostałości po zamontowanym katalogu hosta...</translation> + <source>Analyzer Still Running</source> + <translation>Analizator wciąż uruchomiony</translation> </message> <message> - <source>Potentially unmounting left-over host directory mounts...</source> - <translation>Potencjalne usuwanie pozostałości po zamontowanym katalogu hosta...</translation> + <source>Stop Active Run</source> + <translation>Zatrzymaj</translation> </message> <message> - <source>Unmounting host directories...</source> - <translation>Demontowanie katalogów hosta...</translation> + <source>Keep Running</source> + <translation>Pozostaw uruchomionym</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoToolChainFactory</name> <message> - <source>Maemo GCC</source> - <translation>Maemo GCC</translation> + <source>Debug</source> + <translation>Debug</translation> </message> <message> - <source>Maemo GCC for %1</source> - <translation>Maemo GCC dla %1</translation> + <source>Release</source> + <translation>Release</translation> </message> <message> - <source>%1 GCC (%2)</source> - <translation>%1 GCC (%2)</translation> + <source>Run %1 in %2 Mode?</source> + <translation>Uruchom %1 w trybie %2?</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoToolChainConfigWidget</name> <message> - <source><html><head/><body><table><tr><td>Path to MADDE:</td><td>%1</td></tr><tr><td>Path to MADDE target:</td><td>%2</td></tr><tr><td>Debugger:</td/><td>%3</td></tr></body></html></source> - <translation><html><head/><body><table><tr><td>Ścieżka do MADDE:</td><td>%1</td></tr><tr><td>Ścieżka do produktu docelowego MADDE:</td><td>%2</td></tr><tr><td>Debugger:</td/><td>%3</td></tr></body></html></translation> + <source><html><head/><body><p>You are trying to run the tool '%1' on an application in %2 mode. The tool is designed to be used in %3 mode.</p><p>Do you want to continue and run it in %2 mode?</p></body></html></source> + <translation><html><head/><body><p>Próba uruchomienia narzędzia "%1" na aplikacji w trybie %2. Narzędzie nie jest zaprojektowane do użycia w trybie %3.</p><p>Czy chcesz kontynuować i uruchomić je w trybie %2?</p></body></html></translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::AbstractMaemoUploadAndInstallStep</name> <message> - <source>No matching packaging step found.</source> - <translation type="unfinished"></translation> + <source>&Do not ask again</source> + <translation>&Nie pytaj ponownie</translation> </message> <message> - <source>Successfully uploaded package file.</source> - <translation type="unfinished"></translation> + <source> (Remote)</source> + <translation> (Zdalny)</translation> </message> <message> - <source>Installing package to device...</source> - <translation>Instalowanie pakietu na urządzeniu...</translation> + <source>An analysis is still in progress.</source> + <translation>Nadal trwa analiza.</translation> </message> <message> - <source>Package installed.</source> - <translation>Zainstalowano pakiet.</translation> + <source>No analyzer tool selected.</source> + <translation>Brak wybranego narzędzia analizy.</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoUploadAndInstallDpkgPackageStep</name> + <name>GenericProjectManager::Internal::FilesSelectionWizardPage</name> <message> - <source>Deploy Debian package via SFTP upload</source> - <translation type="unfinished"></translation> + <source>Hide files matching:</source> + <translation>Ukryj pliki pasujące do:</translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::MaemoUploadAndInstallRpmPackageStep</name> <message> - <source>Deploy RPM package via SFTP upload</source> - <translation type="unfinished"></translation> + <source>Apply Filter</source> + <translation>Zastosuj filtr</translation> + </message> + <message> + <source>Generating file list... + +%1</source> + <translation>Generowanie listy plików... + +%1</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoUploadAndInstallTarPackageStep</name> + <name>GenericProjectManager::Internal::GenericProjectPlugin</name> <message> - <source>Deploy tar package via SFTP upload</source> - <translation type="unfinished"></translation> + <source>Edit Files...</source> + <translation>Zmodyfikuj pliki...</translation> </message> </context> <context> - <name>RemoteLinux::Internal::MaemoUsedPortsGatherer</name> - <message> - <source>Connection error: %1</source> - <translation>Błąd połączenia: %1</translation> - </message> + <name>GenericProjectManager::Internal::SelectableFilesDialog</name> <message> - <source>Could not start remote process: %1</source> - <translation>Nie można uruchomić zdalnego procesu %1</translation> + <source>Edit Files</source> + <translation>Zmodyfikuj pliki</translation> </message> <message> - <source>Remote process crashed: %1</source> - <translation>Zdalny proces zakończony błędem: %1</translation> + <source>Hide files matching:</source> + <translation>Ukryj pliki pasujące do:</translation> </message> <message> - <source>Remote process failed: %1</source> - <translation>Zdalny proces zakończony błędem: %1</translation> + <source>Apply Filter</source> + <translation>Zastosuj filtr</translation> </message> <message> - <source> -Remote error output was: %1</source> - <translation> -Zawartość zdalnego wyjścia z błędami: %1</translation> + <source>Generating file list... + +%1</source> + <translation>Generowanie listy plików... + +%1</translation> </message> </context> <context> - <name>RemoteLinux::Internal::Qt4MaemoDeployConfigurationFactory</name> - <message> - <source>Copy files to Maemo5 device</source> - <translation>Kopiowanie plików do urządzenia Maemo5</translation> - </message> + <name>Git::Internal::BranchModel</name> <message> - <source>Build Debian package and install to Maemo5 device</source> - <translation>Budowanie pakietu Debian i instalowanie na urządzeniu Maemo5</translation> + <source>Local Branches</source> + <translation>Lokalne gałęzie</translation> </message> +</context> +<context> + <name>ProjectWelcomePageWidget</name> <message> - <source>Build Debian package and install to Harmattan device</source> - <translation>Budowanie pakietu Debian i instalowanie na urządzeniu Harmattan</translation> + <source>%1 (last session)</source> + <translation>%1 (ostatnia sesja)</translation> </message> <message> - <source>Build RPM package and install to Meego device</source> - <translation>Budowanie pakietu RPM i instalowanie na urządzeniu Meego</translation> + <source>%1 (current session)</source> + <translation>%1 (bieżąca sesja)</translation> </message> <message> - <source>Build tarball and install to Linux host</source> - <translation>Budowanie tarballa i instalowanie na hoście linuksowym</translation> + <source>New Project</source> + <translation>Nowy projekt</translation> </message> </context> <context> - <name>RemoteLinux::Internal::AbstractQt4MaemoTarget</name> - <message> - <source>Cannot open file '%1': %2</source> - <translation>Nie można otworzyć pliku "%1": %2</translation> - </message> + <name>QmlDesigner::ModelNodeContextMenu</name> <message> - <source>Qt Creator</source> - <translation>Qt Creator</translation> + <source>Selection</source> + <translation type="unfinished"></translation> </message> <message> - <source>Do you want to remove the packaging file(s) associated with the target '%1'?</source> - <translation>Czy chcesz usunąć pliki pakietów powiązanych z produktem docelowym "%1"?</translation> + <source>Select parent: %1</source> + <translation type="unfinished"></translation> </message> <message> - <source>Error creating Maemo packaging directory '%1'.</source> - <translation>Błąd tworzenia katalogu pakietu Maemo "%1".</translation> + <source>Select: %1</source> + <translation type="unfinished"></translation> </message> <message> - <source>Add Packaging Files to Project</source> - <translation>Dodaj pliki pakietowe do projektu</translation> + <source>Stack (z)</source> + <translation>Stos (z)</translation> </message> <message> - <source>Qt Creator has set up the following files to enable packaging: - %1 -Do you want to add them to the project?</source> - <translation>Qt Creator skonfigurował następujące pliki aby umożliwić tworzenie pakietów: - %1 -Czy chcesz dodać je do projektu?</translation> + <source>To Front</source> + <translation type="unfinished"></translation> </message> <message> - <source>Error creating Maemo templates</source> - <translation>Błąd tworzenia szablonów Maemo</translation> + <source>To Back</source> + <translation type="unfinished"></translation> </message> -</context> -<context> - <name>RemoteLinux::Internal::AbstractDebBasedQt4MaemoTarget</name> <message> - <source>Debian changelog file '%1' has unexpected format.</source> - <translation>Nieoczekiwany format pliku z logiem zmian Debiana "%1".</translation> + <source>Raise</source> + <translation type="unfinished"></translation> </message> <message> - <source>Invalid icon data in Debian control file.</source> - <translation>Niepoprawne dane ikony w pliku kontrolnym Debiana.</translation> + <source>Lower</source> + <translation type="unfinished"></translation> </message> <message> - <source>Could not read image file '%1'.</source> - <translation>Nie można odczytać pliku obrazu "%1".</translation> + <source>Reset z property</source> + <translation type="unfinished"></translation> </message> <message> - <source>Could not export image file '%1'.</source> - <translation>Nie można wyeksportować pliku obrazu "%1".</translation> + <source>Edit</source> + <translation type="unfinished"></translation> </message> <message> - <source>Unable to create Debian templates: No Qt version set</source> - <translation>Nie można utworzyć szablonu dla Debiana: Nie ustawiono wersji Qt</translation> + <source>Reset Position</source> + <translation type="unfinished"></translation> </message> <message> - <source>Unable to create Debian templates: dh_make failed (%1)</source> - <translation>Nie można utworzyć szablonu dla Debiana: błąd dh_make (%1)</translation> + <source>Reset Size</source> + <translation type="unfinished"></translation> </message> <message> - <source>Unable to create debian templates: dh_make failed (%1)</source> - <translation>Nie można utworzyć szablonu dla debiana: błąd dh_make (%1)</translation> + <source>Visibility</source> + <translation>Widoczność</translation> </message> <message> - <source>Unable to move new debian directory to '%1'.</source> - <translation>Nie można przenieść nowych katalogów Debiana do "%1".</translation> + <source>Go into Component</source> + <translation>Przejdź do komponentu</translation> </message> </context> <context> - <name>RemoteLinux::RemoteLinuxRunConfiguration</name> + <name>QmlJSInspector::Internal::QmlJsInspectorToolBar</name> <message> - <source>The .pro file is being parsed.</source> - <translation>Trwa parsowanie pliku .pro.</translation> + <source>Apply Changes on Save</source> + <translation>Zastosuj zmiany przy zachowywaniu</translation> </message> <message> - <source>The .pro file could not be parsed.</source> - <translation>Nie można sparsować pliku .pro.</translation> + <source>Show application on top</source> + <translation>Pokazuj aplikację na wierzchu</translation> </message> <message> - <source>No device configuration set.</source> - <translation>Nie ustawiono konfiguracji urządzenia.</translation> + <source>Play/Pause Animations</source> + <translation>Odtwórz / zatrzymaj animacje</translation> </message> <message> - <source>No active build configuration.</source> - <translation>Brak aktywnej konfiguracji budowania.</translation> + <source>Select</source> + <translation>Wybierz</translation> </message> <message> - <source>Don't know what to run.</source> - <translation>Nie wiadomo co uruchomić.</translation> + <source>Zoom</source> + <translation>Powiększ</translation> </message> <message> - <source>Not enough free ports on the device.</source> - <translation>Niewystarczająca ilość wolnych portów w urządzeniu.</translation> + <source>Color Picker</source> + <translation>Selektor kolorów</translation> </message> <message> - <source>Run on remote device</source> - <extracomment>Remote Linux run configuration default display name</extracomment> - <translation>Uruchom na zdalnym urządzeniu</translation> + <source>1x</source> + <translation>1x</translation> </message> <message> - <source>Clean Environment</source> - <translation>Czyste środowisko</translation> + <source>0.5x</source> + <translation>0.5x</translation> </message> <message> - <source>System Environment</source> - <translation>Środowisko systemowe</translation> + <source>0.25x</source> + <translation>0.25x</translation> </message> -</context> -<context> - <name>Subversion::Internal::SubversionDiffParameterWidget</name> <message> - <source>Ignore whitespace</source> - <translation>Ignoruj białe znaki</translation> + <source>0.125x</source> + <translation>0.125x</translation> </message> -</context> -<context> - <name>TextEditor::BehaviorSettingsPage</name> <message> - <source>Global</source> - <comment>Settings</comment> - <translation>Globalne</translation> + <source>0.1x</source> + <translation>0.1x</translation> </message> </context> <context> - <name>TextEditor::FunctionHintProposalWidget</name> + <name>QmlJSTools::Internal::QmlJSToolsPlugin</name> <message> - <source>%1 of %2</source> - <translation>%1 z %2</translation> + <source>&QML/JS</source> + <translation>&QML/JS</translation> + </message> + <message> + <source>Reset Code Model</source> + <translation>Zresetuj model kodu</translation> </message> </context> <context> - <name>TextEditor::FallbackSelectorWidget</name> + <name>QmlProfiler::Internal::QmlProfilerCalleeView</name> <message> - <source>Settings:</source> - <translation>Ustawienia:</translation> + <source><bytecode></source> + <translation type="unfinished"></translation> </message> <message> - <source>Custom</source> - <translation>Własne</translation> + <source>Source code not available</source> + <translation type="unfinished"></translation> </message> <message> - <source>Restore %1</source> - <comment>%1 is settings name (e.g. Global C++)</comment> - <translation>Przywróć %1</translation> + <source>Location</source> + <translation>Położenie</translation> </message> <message> - <source>Restore</source> - <translation>Przywróć</translation> + <source>Type</source> + <translation>Typ</translation> </message> -</context> -<context> - <name>TextEditor::Internal::SnippetsCollection</name> <message> - <source>Cannot create user snippet directory %1</source> - <translation>Nie można utworzyć katalogu z urywkami użytkownika %1</translation> + <source>Details</source> + <translation>Szczegóły</translation> </message> -</context> -<context> - <name>Valgrind::Internal::CallgrindEngine</name> <message> - <source>Profiling</source> + <source>Paint</source> <translation type="unfinished"></translation> </message> <message> - <source>Profiling %1 -</source> - <translation type="unfinished"></translation> + <source>Compile</source> + <translation type="unfinished">Kompilacja</translation> </message> -</context> -<context> - <name>Valgrind::Internal::AbstractCallgrindSettings</name> <message> - <source>Profiling</source> + <source>Create</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>Valgrind::Internal::CallgrindTool</name> <message> - <source>Profile</source> + <source>Binding</source> <translation type="unfinished"></translation> </message> <message> - <source>Profile Costs of this Function and its Callees</source> + <source>Signal</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>Valgrind::Internal::CallgrindToolPrivate</name> + <name>QmlProfiler::Internal::QmlProfilerCallerView</name> <message> - <source>Callers</source> + <source><bytecode></source> <translation type="unfinished"></translation> </message> <message> - <source>Functions</source> - <translation>Funkcje</translation> - </message> - <message> - <source>Callees</source> + <source>Source code not available</source> <translation type="unfinished"></translation> </message> <message> - <source>Visualization</source> - <translation type="unfinished"></translation> + <source>Location</source> + <translation>Położenie</translation> </message> <message> - <source>Dump</source> - <translation type="unfinished"></translation> + <source>Type</source> + <translation>Typ</translation> </message> <message> - <source>Request the dumping of profile information. This will update the callgrind visualization.</source> - <translation type="unfinished"></translation> + <source>Details</source> + <translation>Szczegóły</translation> </message> <message> - <source>Reset</source> + <source>Paint</source> <translation type="unfinished"></translation> </message> <message> - <source>Zero all event counters.</source> - <translation type="unfinished"></translation> + <source>Compile</source> + <translation type="unfinished">Kompilacja</translation> </message> <message> - <source>Ignore</source> - <translation>Zignoruj</translation> + <source>Create</source> + <translation type="unfinished"></translation> </message> <message> - <source>If enabled, no events are counted which will speed up program execution during profiling.</source> + <source>Binding</source> <translation type="unfinished"></translation> </message> <message> - <source>Back</source> + <source>Signal</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>QmlProfiler::Internal::RemoteLinuxQmlProfilerRunner</name> <message> - <source>Go back one step in history. This will select the previously selected item.</source> - <translation type="unfinished"></translation> + <source>Not enough free ports on device for analyzing. +</source> + <translation>Brak wolnych portów w urządzeniu do analizy. +</translation> </message> <message> - <source>All Functions</source> - <translation>Wszystkie funkcje</translation> + <source>Starting remote process ... +</source> + <translation>Uruchamianie zdalnego procesu... +</translation> </message> <message> - <source>Show the overview of all function calls.</source> - <translation type="unfinished"></translation> + <source>Finished running remote process. Exit code was %1. +</source> + <translation>Zdalny proces zakończony. Kod wyjściowy: %1. +</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::S60PublishingBuildSettingsPageOvi</name> <message> - <source>Selects which events from the profiling data are shown and visualized.</source> - <translation type="unfinished"></translation> + <source>No valid Qt version has been detected.<br>Define a correct Qt version in "Options > Qt4"</source> + <translation>Nie wykryto poprawnej wersji Qt.<br>Zdefiniuj poprawną wersję Qt w: "Opcje > Qt4"</translation> </message> <message> - <source>Absolute Costs</source> - <translation type="unfinished"></translation> + <source>No valid tool chain has been detected.<br>Define a correct tool chain in "Options > Tool Chains"</source> + <translation>Nie wykryto poprawnego zestawu narzędzi.<br>Zdefiniuj poprawny zestaw narzędzi w: "Opcje > Zestawy narzędzi"</translation> </message> +</context> +<context> + <name>Qt4ProjectManager::Internal::QtQuickComponentSetOptionsPage</name> <message> - <source>Show costs as absolute numbers.</source> - <translation type="unfinished"></translation> + <source>Select QML File</source> + <translation>Wybierz plik QML</translation> </message> +</context> +<context> + <name>QtSupport::Internal::GettingStartedWelcomePage</name> <message> - <source>Relative Costs</source> - <translation type="unfinished"></translation> + <source>Getting Started</source> + <translation>Zaczynamy</translation> </message> +</context> +<context> + <name>RemoteLinux::DeployableFilesPerProFile</name> <message> - <source>Show costs relative to total inclusive cost.</source> - <translation type="unfinished"></translation> + <source><no target path set></source> + <translation><brak ścieżki produktu docelowego></translation> </message> <message> - <source>Relative Costs to Parent</source> - <translation type="unfinished"></translation> + <source>Local File Path</source> + <translation>Ścieżka do lokalnego pliku</translation> </message> <message> - <source>Show costs relative to parent functions inclusive cost.</source> - <translation type="unfinished"></translation> + <source>Remote Directory</source> + <translation>Zdalny katalog</translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationFactory</name> <message> - <source>Cost Format</source> - <translation type="unfinished"></translation> + <source>Generic Linux Device</source> + <translation>Ogólne urządzenie linuksowe</translation> </message> <message> - <source>Cycle Detection</source> - <translation type="unfinished"></translation> + <source>Generic Linux</source> + <translation>Linuksowy</translation> </message> <message> - <source>Enable cycle detection to properly handle recursive or circular function calls.</source> - <translation type="unfinished"></translation> + <source>Test</source> + <translation>Test</translation> </message> <message> - <source>Show Project Costs Only</source> - <translation type="unfinished"></translation> + <source>Remote Processes</source> + <translation>Zdalne procesy</translation> </message> <message> - <source>Show only profiling info that originated from this project source.</source> - <translation type="unfinished"></translation> + <source>Deploy Public Key</source> + <translation>Instaluj klucz publiczny</translation> </message> +</context> +<context> + <name>RemoteLinux::GenericLinuxDeviceConfigurationWizard</name> <message> - <source>Filter...</source> + <source>New Generic Linux Device Configuration Setup</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>RemoteLinux::GenericLinuxDeviceConfigurationWizardSetupPage</name> <message> - <source>Profiling aborted.</source> - <translation type="unfinished"></translation> + <source>Connection Data</source> + <translation>Dane połączenia</translation> </message> +</context> +<context> + <name>RemoteLinux::GenericLinuxDeviceConfigurationWizardFinalPage</name> <message> - <source>Parsing finished, no data.</source> - <translation>Zakończono parsowanie, brak danych.</translation> + <source>Setup Finished</source> + <translation>Konfiguracja zakończona</translation> </message> <message> - <source>Parsing finished, total cost of %1 reported.</source> + <source>The new device configuration will now be created. +In addition, device connectivity will be tested.</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>RemoteLinux::Internal::MaddeDeviceConfigurationFactory</name> <message> - <source>Parsing failed.</source> - <translation>Błąd parsowania.</translation> + <source>Device with MADDE support (Fremantle, Harmattan, MeeGo)</source> + <translation>Urządzenie z obsługą MADDE (Fremantle, Harmattan, MeeGo)</translation> </message> <message> - <source>Select this Function in the Analyzer Output</source> - <translation type="unfinished"></translation> + <source>Maemo5/Fremantle</source> + <translation>Maemo5/Fremantle</translation> </message> <message> - <source>Populating...</source> - <translation type="unfinished"></translation> + <source>MeeGo 1.2 Harmattan</source> + <translation>MeeGo 1.2 Harmattan</translation> + </message> + <message> + <source>Other MeeGo OS</source> + <translation>Inne systemy MeeGo</translation> </message> </context> <context> - <name>Valgrind::Internal::Visualisation</name> + <name>RemoteLinux::Internal::MaemoRunConfiguration</name> <message> - <source>All functions with an inclusive cost ratio higher than %1 (%2 are hidden)</source> - <translation type="unfinished"></translation> + <source>Not enough free ports on the device.</source> + <translation>Niewystarczająca ilość wolnych portów w urządzeniu.</translation> </message> </context> <context> - <name>Valgrind::Internal::MemcheckEngine</name> + <name>RemoteLinux::PublicKeyDeploymentDialog</name> <message> - <source>Analyzing Memory</source> - <translation>Analiza pamięci</translation> + <source>Waiting for file name...</source> + <translation>Oczekiwanie na nazwę pliku...</translation> </message> <message> - <source>Analyzing memory of %1 -</source> - <translation>Analiza pamięci w %1 -</translation> + <source>Choose Public Key File</source> + <translation>Wybierz plik z kluczem publicznym</translation> </message> -</context> -<context> - <name>Valgrind::Internal</name> <message> - <source>%1 in %2</source> - <translation>%1 w %2</translation> + <source>Public Key Files (*.pub);;All Files (*)</source> + <translation>Pliki z kluczami publicznymi (*.pub);;Wszystkie pliki (*)</translation> </message> <message> - <source>in %1</source> - <translation>w %1</translation> + <source>Deploying...</source> + <translation>Instalowanie...</translation> </message> -</context> -<context> - <name>Valgrind::Internal::MemcheckErrorView</name> <message> - <source>Copy Selection</source> - <translation>Skopiuj selekcję</translation> + <source>Deployment finished successfully.</source> + <translation>Instalacja poprawnie zakończona.</translation> </message> <message> - <source>Suppress Error</source> - <translation type="unfinished">Stłum błąd</translation> + <source>Close</source> + <translation>Zamknij</translation> </message> </context> <context> - <name>Valgrind::Internal::AbstractMemcheckSettings</name> + <name>RemoteLinux::RemoteLinuxApplicationRunner</name> <message> - <source>Memory Analysis</source> - <translation>Analiza pamięci</translation> + <source>Cannot run: %1</source> + <translation>Nie można uruchomić: %1</translation> </message> -</context> -<context> - <name>Valgrind::Internal::MemcheckTool</name> <message> - <source>External Errors</source> - <translation>Błędy zewnętrzne</translation> + <source>Connecting to device...</source> + <translation>Nawiązywanie połączenia z urządzeniem...</translation> </message> <message> - <source>Suppressions</source> - <translation type="unfinished">Tłumienia</translation> + <source>Connection error: %1</source> + <translation>Błąd połączenia: %1</translation> </message> <message> - <source>Definite Memory Leaks</source> - <translation>Wyraźne wycieki pamięci</translation> + <source>Killing remote process(es)...</source> + <translation>Zamykanie zdalnych procesów...</translation> </message> <message> - <source>Possible Memory Leaks</source> - <translation>Prawdopodobne wycieki pamięci</translation> + <source>Initial cleanup failed: %1</source> + <translation>Błąd wstępnego czyszczenia: %1</translation> </message> <message> - <source>Use of Uninitialized Memory</source> - <translation>Użycie niezainicjalizowanej pamięci</translation> + <source>Remote process started.</source> + <translation>Rozpoczęto zdalny proces.</translation> </message> <message> - <source>Invalid Frees</source> - <translation>Niepoprawne zwolnienia pamięci</translation> + <source>No remote executable set.</source> + <translation>Nie ustawiono zdalnego programu do uruchomienia.</translation> </message> <message> - <source>Show issues originating outside currently opened projects.</source> - <translation>Pokaż problemy mające źródło na zewnątrz otwartych projektów.</translation> + <source>No device configuration set.</source> + <translation>Nie ustawiono konfiguracji urządzenia.</translation> </message> <message> - <source>These suppression files were used in the last memory analyzer run.</source> - <translation type="unfinished">Te pliki tłumienia były użyte podczas ostatniego uruchomienia analizatora pamięci.</translation> + <source>Error running remote process: %1</source> + <translation>Błąd uruchamiania zdalnego procesu: %1</translation> </message> +</context> +<context> + <name>RemoteLinux::AbstractRemoteLinuxDebugSupport</name> <message> - <source>Analyze Memory</source> - <translation>Analiza pamięci</translation> + <source>Preparing remote side ... +</source> + <translation>Przygotowywanie zdalnej strony... +</translation> </message> <message> - <source>Error Filter</source> - <translation>Filtr błędów</translation> + <source>Remote application failed with exit code %1.</source> + <translation>Zdalna aplikacja zakończona błędem z kodem wyjściowym %1.</translation> </message> <message> - <source>Internal Error</source> - <translation>Błąd wewnętrzny</translation> + <source>The gdbserver process closed unexpectedly.</source> + <translation>Proces gdbserver nieoczekiwanie zakończył pracę.</translation> </message> <message> - <source>Error occurred parsing valgrind output: %1</source> - <translation>Błąd podczas parsowania komunikatów valgrind'a: %1</translation> + <source>Initial setup failed: %1</source> + <translation>Błąd wstępnej konfiguracji: %1</translation> + </message> + <message> + <source>Not enough free ports on device for debugging.</source> + <translation>Niewystarczająca ilość wolnych portów w urządzeniu do debugowania.</translation> </message> </context> <context> - <name>Valgrind::Internal::ValgrindEngine</name> + <name>RemoteLinux::RemoteLinuxRunConfigurationWidget</name> <message> - <source>Valgrind options: %1</source> - <translation>Opcje valgrinda: %1</translation> + <source>Fetch Device Environment</source> + <translation>Pobierz środowisko urządzenia</translation> </message> <message> - <source>Working directory: %1</source> - <translation>Katalog roboczy: %1</translation> + <source><a href="%1">Manage device configurations</a></source> + <translation><a href="%1">Zarządzanie konfiguracjami urządzenia</a></translation> </message> <message> - <source>Command-line arguments: %1</source> - <translation>Argumenty linii komend: %1</translation> + <source><a href="%1">Set Debugger</a></source> + <translation><a href="%1">Ustaw debugger</a></translation> </message> <message> - <source>** Analyzing finished ** -</source> - <translation>** Zakończono analizę ** -</translation> + <source>Device configuration:</source> + <translation>Konfiguracja urządzenia:</translation> </message> <message> - <source>** Error: "%1" could not be started: %2 ** -</source> - <translation>** Błąd: nie można uruchomić "%1": %2 ** -</translation> + <source>Executable on host:</source> + <translation>Plik wykonywalny na hoście:</translation> </message> <message> - <source>** Error: no valgrind executable set ** -</source> - <translation>** Błąd: nie ustawiono pliku wykonywalnego valgrind ** -</translation> + <source>Executable on device:</source> + <translation>Plik wykonywalny na urządzeniu:</translation> </message> <message> - <source>** Process Terminated ** -</source> - <translation>** Zakończono proces ** -</translation> + <source>Arguments:</source> + <translation>Argumenty:</translation> </message> <message> - <source>Application Output</source> - <translation>Komunikaty aplikacji</translation> + <source>C++ only</source> + <translation>Tylko C++</translation> </message> -</context> -<context> - <name>Valgrind::Internal::ValgrindSettings</name> <message> - <source>Generic Settings</source> - <translation>Ustawienia ogólne</translation> + <source>QML only</source> + <translation>Tylko QML</translation> </message> -</context> -<context> - <name>VCSBase::Internal::CommonSettingsWidget</name> <message> - <source>Command used for reverting diff chunks</source> - <translation type="unfinished"></translation> + <source>C++ and QML</source> + <translation>C++ i QML</translation> </message> -</context> -<context> - <name>Welcome::Internal::WelcomeMode</name> <message> - <source>Welcome</source> - <translation>Powitanie</translation> + <source>Debugging type:</source> + <translation>Typ debugowania:</translation> </message> -</context> -<context> - <name>Coda::Session</name> <message> - <source>CPU: v%1.%2%3%4</source> - <extracomment>CPU description of an S60 device %1 major verison, %2 minor version %3 real name of major verison, %4 real name of minor version</extracomment> - <translation>CPU: v%1.%2%3%4</translation> + <source>Base environment for this run configuration:</source> + <translation>Podstawowe środowisko dla tej konfiguracji uruchamiania:</translation> </message> <message> - <source>CODA: v%1.%2 CODA protocol: v%3.%4</source> - <translation>CODA: v%1.%2 Protokół CODA: v%3.%4</translation> + <source>Clean Environment</source> + <translation>Czyste środowisko</translation> </message> <message> - <source>%1, %2%3%4, %5</source> - <extracomment>s60description description of an S60 device %1 CPU description, %2 endianness %3 default type size (if any), %4 float size (if any) %5 Coda version</extracomment> - <translation>%1, %2%3%4, %5</translation> + <source>System Environment</source> + <translation>Środowisko systemowe</translation> </message> <message> - <source>big endian</source> - <translation>big endian</translation> + <source>Cancel Fetch Operation</source> + <translation>Anuluj pobieranie</translation> </message> <message> - <source>little endian</source> - <translation>little endian</translation> + <source>Device error</source> + <translation>Błąd urządzenia</translation> </message> <message> - <source>, type size: %1</source> - <extracomment>will be inserted into s60description</extracomment> - <translation>, rozmiar typu: %1</translation> + <source>Fetching environment failed: %1</source> + <translation>Błąd podczas pobierania środowiska: %1</translation> </message> +</context> +<context> + <name>RemoteLinux::AbstractRemoteLinuxRunControl</name> <message> - <source>, float size: %1</source> - <extracomment>will be inserted into s60description</extracomment> - <translation>, rozmiar float: %1</translation> + <source>Starting remote process ... +</source> + <translation>Uruchamianie zdalnego procesu... +</translation> + </message> + <message> + <source>Finished running remote process. Exit code was %1. +</source> + <translation>Zdalny proces zakończony. Kod wyjściowy: %1. +</translation> + </message> + <message> + <source>Remote Execution Failure</source> + <translation>Błąd zdalnego procesu</translation> + </message> +</context> +<context> + <name>RemoteLinux::Internal::RemoteLinuxRunControlFactory</name> + <message> + <source>Run on remote Linux device</source> + <translation>Uruchom na zdalnym urządzeniu linuksowym</translation> </message> </context> </TS> diff --git a/share/qtcreator/welcomescreen/components/custom/Slider.qml b/share/qtcreator/welcomescreen/components/custom/Slider.qml index 5bb78f69fd62dc48754e6270b5e8b0f9ba4a99d9..3e20b5582db76f27297a072e03060480045700be 100644 --- a/share/qtcreator/welcomescreen/components/custom/Slider.qml +++ b/share/qtcreator/welcomescreen/components/custom/Slider.qml @@ -1,28 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the Qt Components project on Qt Labs. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions contained -** in the Technology Preview License Agreement accompanying this package. ** ** 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. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** -****************************************************************************/ +**************************************************************************/ import QtQuick 1.0 import "../" diff --git a/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.cpp b/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.cpp index 061b99edfb3067fb03cfcbb558c977bdd1d6d84b..dda23630c075bf932d7bb4f1dbdc7555ab41fd96 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.cpp +++ b/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.cpp @@ -1,43 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the examples of the Qt Toolkit. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. ** ** 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. +** +** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** +** Other Usage ** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. ** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +**************************************************************************/ //![code] #include "qdeclarativefolderlistmodel.h" diff --git a/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.h b/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.h index d22d0acb0a8d28abedd3e2b755a45fa6f73079ee..9beb4d575eff8fa999900698bc3d31da5670bb74 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.h +++ b/share/qtcreator/welcomescreen/components/styleitem/qdeclarativefolderlistmodel.h @@ -1,43 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the examples of the Qt Toolkit. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. ** ** 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. +** +** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** +** Other Usage ** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. ** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +**************************************************************************/ #ifndef QDECLARATIVEFOLDERLISTMODEL_H #define QDECLARATIVEFOLDERLISTMODEL_H diff --git a/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.cpp b/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.cpp index c3a53a6890cb8aa0004ee863c667427be93ab032..0eb29fa45c7f2b6c46983e1123969f0fdb4b1224 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.cpp +++ b/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.cpp @@ -1,28 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the Qt Components project on Qt Labs. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions contained -** in the Technology Preview License Agreement accompanying this package. ** ** 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. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** -****************************************************************************/ +**************************************************************************/ /*! \class QRangeModel diff --git a/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.h b/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.h index 842f9aa00ec1a6863b73de2b1b90a0654660b657..744ae348e515fde0a29f97d0c8b4de27cf5575ed 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.h +++ b/share/qtcreator/welcomescreen/components/styleitem/qrangemodel.h @@ -1,28 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the Qt Components project on Qt Labs. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions contained -** in the Technology Preview License Agreement accompanying this package. ** ** 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. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** -****************************************************************************/ +**************************************************************************/ #ifndef QRANGEMODEL_H #define QRANGEMODEL_H diff --git a/share/qtcreator/welcomescreen/components/styleitem/qrangemodel_p.h b/share/qtcreator/welcomescreen/components/styleitem/qrangemodel_p.h index 74edf2f9f5e0d278dcae388c87bcfefd18d858ff..8cfeeae4a94a43bb9218227d8e5a58e0bacf56b3 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qrangemodel_p.h +++ b/share/qtcreator/welcomescreen/components/styleitem/qrangemodel_p.h @@ -1,28 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the Qt Components project on Qt Labs. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions contained -** in the Technology Preview License Agreement accompanying this package. ** ** 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. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** -****************************************************************************/ +**************************************************************************/ #ifndef QRANGEMODEL_P_H #define QRANGEMODEL_P_H diff --git a/share/qtcreator/welcomescreen/components/styleitem/qtmenu.cpp b/share/qtcreator/welcomescreen/components/styleitem/qtmenu.cpp index 7a53f1f5dfae799418d5d51affabdc4ab6e21f4a..55bea2ce451ccb3bad2697ad42580173d77d2523 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qtmenu.cpp +++ b/share/qtcreator/welcomescreen/components/styleitem/qtmenu.cpp @@ -1,28 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the Qt Components project on Qt Labs. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions contained -** in the Technology Preview License Agreement accompanying this package. ** ** 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. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** -****************************************************************************/ +**************************************************************************/ #include "qtmenu.h" #include "qdebug.h" diff --git a/share/qtcreator/welcomescreen/components/styleitem/qtmenu.h b/share/qtcreator/welcomescreen/components/styleitem/qtmenu.h index 164e707189c015f04c404d90f30d4cc5496b96c1..d22dc1f822f29f3e0e27e03cc7e598ed16e2a1f8 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qtmenu.h +++ b/share/qtcreator/welcomescreen/components/styleitem/qtmenu.h @@ -1,28 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the Qt Components project on Qt Labs. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions contained -** in the Technology Preview License Agreement accompanying this package. ** ** 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. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** -****************************************************************************/ +**************************************************************************/ #ifndef QTMLMENU_H #define QTMLMENU_H diff --git a/share/qtcreator/welcomescreen/components/styleitem/qwheelarea.h b/share/qtcreator/welcomescreen/components/styleitem/qwheelarea.h index a447b7fc08099dbb26116fd22799c3bb87789be5..cf71847c764d167f3bad5874f26a55e480f1a06f 100644 --- a/share/qtcreator/welcomescreen/components/styleitem/qwheelarea.h +++ b/share/qtcreator/welcomescreen/components/styleitem/qwheelarea.h @@ -1,28 +1,34 @@ -/**************************************************************************** +/************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (info@qt.nokia.com) +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** -** This file is part of the Qt Components project on Qt Labs. +** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions contained -** in the Technology Preview License Agreement accompanying this package. ** ** 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. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** -****************************************************************************/ +**************************************************************************/ #ifndef QWHEELAREA_H #define QWHEELAREA_H diff --git a/share/qtcreator/welcomescreen/develop.qml b/share/qtcreator/welcomescreen/develop.qml index aafa0b2af77fbb5a8efa9dcd6d8c1be5851582a3..4ca13e80278abd2b60a36b3a2a4bab677b8f06b0 100644 --- a/share/qtcreator/welcomescreen/develop.qml +++ b/share/qtcreator/welcomescreen/develop.qml @@ -36,21 +36,33 @@ import components 1.0 as Components Item { id: root + property int margin: 10 + Components.ScrollArea { id: scrollArea anchors.fill: parent frame: false Item { - height: Math.max(recentSessions.height, recentProjects.height) - width: root.width-20 + height: Math.max(recentSessions.height + manageSessionsButton.height + margin, + recentProjects.height) + width: root.width Widgets.RecentSessions { id: recentSessions - width: parent.width / 2 + width: parent.width / 3 - margin + } + Widgets.Button { + id: manageSessionsButton + anchors.top: recentSessions.bottom + anchors.topMargin: margin + anchors.left: recentSessions.left + text: qsTr("Manage Sessions...") + onClicked: projectWelcomePage.manageSessions() } + Widgets.RecentProjects { id: recentProjects - x: parent.width / 2 - width: parent.width / 2 + x: parent.width / 3 + margin + width: parent.width - x } } } diff --git a/share/qtcreator/welcomescreen/examples_fallback.xml b/share/qtcreator/welcomescreen/examples_fallback.xml index 9d4f927caea30390c43758e24162d43e89be67ee..3188b17df8f3557b9d3716e6f8c8822bd77aecdd 100644 --- a/share/qtcreator/welcomescreen/examples_fallback.xml +++ b/share/qtcreator/welcomescreen/examples_fallback.xml @@ -404,10 +404,12 @@ <tags>example,recentfiles,mainwindows</tags> </example> <example imageUrl="qthelp://com.trolltech.qt/qdoc/images/qml-dialcontrol-example.png" difficulty="?" docUrl="qthelp://com.trolltech.qt/qdoc/declarative-ui-components-dialcontrol.html" projectPath="declarative/ui-components/dialcontrol/dialcontrol.qmlproject" name="Dial"> + <fileToOpen>declarative/ui-components/dialcontrol/dialcontrol.qml</fileToOpen> <description><![CDATA[This example shows how to create a dial-type control. It combines <tt>Image</tt> elements with <tt>Rotation</tt> transforms and <tt>SpringAnimation</tt> behaviors to produce an interactive speedometer-type dial.]]></description> <tags>example,dialcontrol,declarative,ui-components,qml,qt quick,image,rotation,springanimation</tags> </example> <example imageUrl="qthelp://com.trolltech.qt/qdoc/images/qml-flipable-example.png" difficulty="?" docUrl="qthelp://com.trolltech.qt/qdoc/declarative-ui-components-flipable.html" projectPath="declarative/ui-components/flipable/flipable.qmlproject" name="Flipable"> + <fileToOpen>declarative/ui-components/flipable/flipable.qml</fileToOpen> <description><![CDATA[This example shows how to use the <tt>Flipable</tt> element.]]></description> <tags>example,flipable,declarative,ui-components,qml,qt quick,flipable</tags> </example> diff --git a/share/qtcreator/welcomescreen/welcomescreen.pro b/share/qtcreator/welcomescreen/welcomescreen.pro index 17ffa689110265e4a51b0051502d5c0120630ca5..2da616f48b1d792a3a019606e60d8149cf65cfe6 100644 --- a/share/qtcreator/welcomescreen/welcomescreen.pro +++ b/share/qtcreator/welcomescreen/welcomescreen.pro @@ -8,6 +8,7 @@ OTHER_FILES = develop.qml \ newssupport.qml \ welcomescreen.qml \ widgets/Button.qml \ + widgets/CheckBox.qml \ widgets/Feedback.qml \ widgets/RatingBar.qml \ widgets/ExampleBrowser.qml \ diff --git a/share/qtcreator/welcomescreen/welcomescreen.qml b/share/qtcreator/welcomescreen/welcomescreen.qml index 881c3514bbf140ca2d9f79b0e8f34bc9434621b3..a8c8f73d64a0db71acff99c63dba2dee73fd993e 100644 --- a/share/qtcreator/welcomescreen/welcomescreen.qml +++ b/share/qtcreator/welcomescreen/welcomescreen.qml @@ -33,75 +33,86 @@ import QtQuick 1.0 import "widgets" -Image { +Rectangle { id: root - source: "qrc:welcome/images/welcomebg.png" - smooth: true - + color: "#F2F2F2" // work around the fact that we can't use // a property alias to welcomeMode.activePlugin property int current: 0 onCurrentChanged: welcomeMode.activePlugin = current Component.onCompleted: current = welcomeMode.activePlugin + Item { + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: feedback.top + anchors.margins: 10 - BorderImage { - id: inner_background - Image { - id: header; - source: "qrc:welcome/images/center_frame_header.png"; - anchors.verticalCenter: parent.verticalCenter; - anchors.horizontalCenter: parent.horizontalCenter; - anchors.topMargin: 2 + Item { + id: news + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.rightMargin: 5 + width: 270 + Rectangle { + anchors.fill: parent + border.color: "#36295B7F" + border.width: 1 + color: "#B3FFFFFF" + } + FeaturedAndNewsListing { + anchors.fill: parent + anchors.margins: 8 + } } - anchors.top: root.top - source: "qrc:welcome/images/background_center_frame_v2.png" - width: parent.width - height: 60 - border.right: 2 - border.left: 2 - border.top: 2 - border.bottom: 10 - } - LinksBar { - id: navigationAndDevLinks - property alias current: root.current - anchors.top: inner_background.bottom - anchors.left: parent.left - anchors.bottomMargin: 4 - anchors.topMargin: -2 - width: parent.width - model: tabs.model - tabBarWidth: width - } + Image { + id: tabFrame + source: "qrc:welcome/images/welcomebg.png" + smooth: true + Rectangle { + anchors.fill: parent + border.color: "#36295B7F" + border.width: 1 + color: "#20FFFFFF" + } - BorderImage { - id: news - opacity: 0.7 - source: "qrc:welcome/images/rc_combined.png" - border.left: 5; border.top: 5 - border.right: 5; border.bottom: 5 - anchors.top: navigationAndDevLinks.bottom - anchors.bottom: feedback.top - anchors.left: parent.left - anchors.margins: 5 - width: 270 - FeaturedAndNewsListing { - anchors.fill: parent - anchors.margins: 4 - } - } + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.left: news.right + anchors.right: parent.right + anchors.leftMargin: 5 - TabWidget { - id: tabs - property int current: root.current - model: pagesModel - anchors.top: navigationAndDevLinks.bottom - anchors.bottom: feedback.top - anchors.left: news.right - anchors.right: parent.right - anchors.leftMargin: 0 - anchors.margins: 4 + LinksBar { + id: linksBar + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + property alias current: root.current + model: tabs.model + } + + Rectangle { + anchors.fill: linksBar + anchors.bottomMargin: 1 + opacity: 1 + border.color: "#4D295B7F" + border.width: 1 + color: "#00000000" + } + + TabWidget { + id: tabs + property int current: root.current + model: pagesModel + anchors.top: linksBar.bottom + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: 10 + } + } } Feedback { diff --git a/share/qtcreator/welcomescreen/widgets/Button.qml b/share/qtcreator/welcomescreen/widgets/Button.qml index e23428d5f46f66cc5fd6800c21e2373e22d8c3f0..a60bc1a340d160d6cd3a8fa1ee56e6b136cc41ae 100644 --- a/share/qtcreator/welcomescreen/widgets/Button.qml +++ b/share/qtcreator/welcomescreen/widgets/Button.qml @@ -31,47 +31,50 @@ **************************************************************************/ import Qt 4.7 +import "../components/custom" as Custom -BorderImage { - property string text - property string image - property int iconSize : innerImg.sourceSize.height - signal clicked; - id: root - source: "qrc:/welcome/images/btn_26.png" - height: innerImg.height + 16 +Custom.Button { + id: button - border.left: 5; border.top: 5 - border.right: 5; border.bottom: 5 + width: Math.max(100, labelItem.contentsWidth+20) + height: 32 - Image{ - id: innerImg - height: root.iconSize - width: root.iconSize - anchors.verticalCenter: label.verticalCenter - anchors.right: label.left - anchors.rightMargin: 4 - visible: root.image != "" - source: root.image - } + background: BorderImage { + source: { + if (pressed) + return "qrc:/welcome/images/btn_26_pressed.png" + else + if (containsMouse) + return "qrc:/welcome/images/btn_26_hover.png" + else + return "qrc:/welcome/images/btn_26.png" + } - Text { - id: label; - anchors.left: innerImg.right - anchors.right: parent.right - text: root.text + border { left: 5; right: 5; top: 5; bottom: 5 } } - MouseArea { id: mouseArea; anchors.fill: parent; hoverEnabled: true; onClicked: root.clicked() } - - states: [ - State { - id: pressedState; when: mouseArea.pressed; - PropertyChanges { target: root; source: "qrc:/welcome/images/btn_26_pressed.png" } - }, - State { - id: hoverState; when: mouseArea.containsMouse - PropertyChanges { target: root; source: "qrc:/welcome/images/btn_26_hover.png" } + label: Item { + property int contentsWidth : row.width + Row { + id: row + spacing: 4 + anchors.centerIn: parent + property int contentsWidth : row.width + Image { + id: image + source: iconSource + anchors.verticalCenter: parent.verticalCenter + fillMode: Image.Stretch //mm Image should shrink if button is too small, depends on QTBUG-14957 + } + Text { + id:text + color: textColor + anchors.verticalCenter: parent.verticalCenter + text: button.text + horizontalAlignment: Text.Center + } } - ] + } + + Keys.onSpacePressed:clicked() } diff --git a/share/qtcreator/welcomescreen/widgets/CheckBox.qml b/share/qtcreator/welcomescreen/widgets/CheckBox.qml new file mode 100644 index 0000000000000000000000000000000000000000..e61299b018b27089e024daedd54abc0a5eae7b04 --- /dev/null +++ b/share/qtcreator/welcomescreen/widgets/CheckBox.qml @@ -0,0 +1,39 @@ +import QtQuick 1.0 +import "../components/custom" as Custom + +Custom.CheckBox{ + id:checkbox + property string text + property string hint + height:20 + width: Math.max(110, backgroundItem.rowWidth) + + background: Item { + property int rowWidth: row.width + Row { + id: row + anchors.verticalCenter: parent.verticalCenter + spacing: 4 + BorderImage { + source: "qrc:welcome/images/lineedit.png"; + width: 16; + height: 16; + border.left: 4; + border.right: 4; + border.top: 4; + border.bottom: 4 + Image { + source: "qrc:welcome/images/checked.png"; + width: 10; height: 10 + anchors.centerIn: parent + visible: checkbox.checked + } + } + Text { + text: checkbox.text + } + } + Keys.onSpacePressed:checked = !checked + + } +} diff --git a/share/qtcreator/welcomescreen/widgets/ExampleBrowser.qml b/share/qtcreator/welcomescreen/widgets/ExampleBrowser.qml index 104fb52b91e10b62d819af5a4c499f47369320d9..923954b5f805ab9203a12e51092cca55d845d148 100644 --- a/share/qtcreator/welcomescreen/widgets/ExampleBrowser.qml +++ b/share/qtcreator/welcomescreen/widgets/ExampleBrowser.qml @@ -40,7 +40,7 @@ Item { width: parent.width height: lineEdit.height - Components.TextField { + LineEdit { Behavior on width { NumberAnimation{} } placeholderText: !checkBox.checked ? qsTr("Search in Tutorials") : qsTr("Search in Tutorials, Examples and Demos") focus: true @@ -49,7 +49,7 @@ Item { onTextChanged: examplesModel.filterRegExp = RegExp('.*'+text, "im") } - Components.CheckBox { + CheckBox { id: checkBox text: qsTr("Show Examples and Demos") checked: false @@ -60,7 +60,7 @@ Item { onCheckedChanged: examplesModel.showTutorialsOnly = !checked; } - Components.Button { + Button { id: tagFilterButton property string tag Behavior on width { NumberAnimation{} } @@ -78,7 +78,7 @@ Item { } Components.ScrollArea { id: scrollArea - anchors.topMargin: lineEditRoot.height + anchors.topMargin: lineEditRoot.height+12 anchors.fill: parent clip: true frame: false @@ -86,7 +86,10 @@ Item { Repeater { id: repeater model: examplesModel - delegate: ExampleDelegate { width: scrollArea.width-20 } + delegate: ExampleDelegate { + width: scrollArea.width-20; + property int count: repeater.count + } } } } diff --git a/share/qtcreator/welcomescreen/widgets/ExampleDelegate.qml b/share/qtcreator/welcomescreen/widgets/ExampleDelegate.qml index d4ebfd8c648f31a8d29c32dadce6f45bc61e636b..5452716e230d8470d430f095f5d603fe1ea60b3e 100644 --- a/share/qtcreator/welcomescreen/widgets/ExampleDelegate.qml +++ b/share/qtcreator/welcomescreen/widgets/ExampleDelegate.qml @@ -31,12 +31,16 @@ **************************************************************************/ import QtQuick 1.0 +import components 1.0 as Components Rectangle { id: root - height: 110 + height: 130 color: "#00ffffff" radius: 6 + clip: true + + Components.QStyleItem { id: styleItem; cursor: "pointinghandcursor"; anchors.fill: parent } Text { id: title @@ -46,8 +50,7 @@ Rectangle { anchors.topMargin: 10 text: model.name font.bold: true - font.pixelSize: 16; - + font.pixelSize: 16 } RatingBar { id: rating; anchors.top: parent.top; anchors.topMargin: 10; anchors.right: parent.right; anchors.rightMargin: 10; rating: model.difficulty; visible: model.difficulty !== 0 } @@ -66,20 +69,44 @@ Rectangle { source: model.imageUrl !== "" ? "image://helpimage/" + encodeURI(model.imageUrl) : "" } - Text { + Item { id: description - clip: true anchors.left: image.right - anchors.leftMargin: 10 anchors.right: parent.right anchors.rightMargin: 10 + anchors.leftMargin: image.hideImage ? 0 : 10 anchors.top: rating.bottom anchors.topMargin: 6 - wrapMode: Text.WordWrap - text: model.description + anchors.bottom: bottomRow.top + anchors.bottomMargin: 6 + clip: true + Text { + clip: true + anchors.top: parent.top + anchors.right: parent.right + anchors.left: parent.left + wrapMode: Text.WordWrap + text: model.description + } + } + Row { + id: bottomRow + anchors.left: image.right; + anchors.leftMargin: image.hideImage ? 0 : 10 + anchors.topMargin: 10 + anchors.bottomMargin: 10 + anchors.bottom: parent.bottom + spacing: 4 + Text { text: qsTr("Tags:"); font.bold: true; } + Text { text: model.tags.join(", "); color: "grey" } + } + + Rectangle { + visible: count-1 !== index + height: 1 + anchors {left: parent.left; bottom: parent.bottom; right: parent.right } + color: "darkgrey" } - Text { id: labelText; anchors.top: description.bottom; anchors.topMargin: 10; anchors.left: image.right; text: "Tags: "; font.bold: true; } - Row { id: tagLine; anchors.top: description.bottom; anchors.topMargin: 10; anchors.left: labelText.right; Text { text: model.tags.join(", "); color: "grey" } } MouseArea { id: mouseArea @@ -95,7 +122,7 @@ Rectangle { onExited: parent.state = "" } - states: [ State { name: "hover"; PropertyChanges { target: root; color: "#eeeeeeee" } } ] + states: [ State { name: "hover"; PropertyChanges { target: root; color: "#5effffff" } } ] transitions: Transition { diff --git a/share/qtcreator/welcomescreen/widgets/Feedback.qml b/share/qtcreator/welcomescreen/widgets/Feedback.qml index 0b623473cb4f898e1c8d4ca200ee3cc8c3fa6573..3e31e77d2e9655215778a0fd13573d8b4a026d1f 100644 --- a/share/qtcreator/welcomescreen/widgets/Feedback.qml +++ b/share/qtcreator/welcomescreen/widgets/Feedback.qml @@ -40,53 +40,53 @@ BorderImage { border.left: 2 border.right: 2 - Rectangle { color: "black"; width: parent.width; height: 1; anchors.top: parent.top; anchors.left: parent.left } + Rectangle { color: "#4D295B7F"; width: parent.width; height: 1; anchors.top: parent.top; anchors.left: parent.left } Components.QStyleItem { id: styleItem; visible: false } // whitelist property bool _hasDesktopTheme: welcomeMode.platform() === "linux" - Components.Button { + Button { + id: feedbackButton + text: qsTr("Feedback") + iconSource: "qrc:welcome/images/feedback_arrow.png" + height: 32 + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.margins: 5 + onClicked: welcomeMode.sendFeedback() + } + + Text { + id: feedbackText + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 5 + anchors.leftMargin: 10 + anchors.left: feedbackButton.right + text: qsTr("Help us make Qt Creator even better") + } + + + Button { id: openProjectButton text: qsTr("Open Project...") iconSource: _hasDesktopTheme ? "image://desktoptheme/document-open" : "" onClicked: welcomeMode.openProject(); - height: 32 - anchors.left: parent.left + anchors.right: createProjectButton.left anchors.margins: 5 + height: 32 anchors.verticalCenter: parent.verticalCenter } - Components.Button { + Button { id: createProjectButton text: qsTr("Create Project...") iconSource: _hasDesktopTheme ? "image://desktoptheme/document-new" : "" onClicked: welcomeMode.newProject(); height: 32 - anchors.left: openProjectButton.right - anchors.margins: 5 - anchors.verticalCenter: parent.verticalCenter - } - - - Components.Button { - id: feedbackButton - text: qsTr("Feedback") - iconSource: "qrc:welcome/images/feedback_arrow.png" - height: 32 - anchors.verticalCenter: parent.verticalCenter - anchors.right: feedbackText.left anchors.margins: 5 - onClicked: welcomeMode.sendFeedback() - } - - Text { - id: feedbackText - anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right - anchors.leftMargin: 10 - anchors.margins: 5 - text: qsTr("Help us make Qt Creator even better") + anchors.verticalCenter: parent.verticalCenter } } diff --git a/share/qtcreator/welcomescreen/widgets/HeaderItemView.qml b/share/qtcreator/welcomescreen/widgets/HeaderItemView.qml index 306cd8f01de1d3b16ce8cbc757cdbdca04f9ec59..cfd2b48d369c8519decf06cc4a4d08bc65bddf7b 100644 --- a/share/qtcreator/welcomescreen/widgets/HeaderItemView.qml +++ b/share/qtcreator/welcomescreen/widgets/HeaderItemView.qml @@ -59,6 +59,7 @@ Item { anchors.right: parent.right Repeater { + width: parent.width model: root.model delegate: root.delegate } diff --git a/share/qtcreator/welcomescreen/widgets/LineEdit.qml b/share/qtcreator/welcomescreen/widgets/LineEdit.qml index aedd1d34e45713d315e1c5663831fe6bb6861680..b6e30e96f7caaa6fc6a21228b80da71bc7adc609 100644 --- a/share/qtcreator/welcomescreen/widgets/LineEdit.qml +++ b/share/qtcreator/welcomescreen/widgets/LineEdit.qml @@ -31,32 +31,21 @@ **************************************************************************/ import QtQuick 1.0 +import "../components/custom" as Custom -FocusScope { + +Custom.TextField { id: root - signal textChanged - property alias text : input.text - height:input.font.pixelSize*1.8 - BorderImage { + leftMargin: 6 + rightMargin: 6 + topMargin: 6 + bottomMargin: 6 + + background: BorderImage { anchors.fill: parent - source: "img/lineedit.png" + source: "qrc:welcome/images/lineedit.png" border.left: 5; border.top: 5 border.right: 5; border.bottom: 5 - TextInput { - id: input - property string defaultText - anchors.verticalCenter: parent.verticalCenter - anchors.left: parent.left - anchors.right: parent.right - anchors.leftMargin: 4 - anchors.rightMargin: 4 - color: "grey" - text: defaultText - font.pointSize: 12 - clip: true - onActiveFocusChanged: activeFocus ? state = 'active' : state = '' - onTextChanged: if (text != defaultText) root.textChanged(); - states: [ State { name: "active"; PropertyChanges { target: input; color: "black"; text: "" } } ] - } + } } diff --git a/share/qtcreator/welcomescreen/widgets/LinksBar.qml b/share/qtcreator/welcomescreen/widgets/LinksBar.qml index 2d1bfd54de2c09a5b3076fc4b9ca77ee33d05566..80433248c216388ca7d6b005200e5cb6cf1a4121 100644 --- a/share/qtcreator/welcomescreen/widgets/LinksBar.qml +++ b/share/qtcreator/welcomescreen/widgets/LinksBar.qml @@ -31,32 +31,24 @@ **************************************************************************/ import QtQuick 1.0 +import components 1.0 as Components Row { id: tabBar height: 25 property alias model: tabs.model - property int tabBarWidth - + property int tabWidth: Math.floor(tabBar.width/tabs.count) Repeater { id: tabs - height: tabBar.height model: parent.model - delegate: - Item { - width: tabBarWidth / tabs.count + delegate: Item { + Components.QStyleItem { id: styleItem; cursor: "pointinghandcursor"; anchors.fill: parent } height: tabBar.height - - Rectangle { - width: parent.width; height: 1 - anchors { bottom: parent.bottom; bottomMargin: 1 } - color: "#acb2c2" - } - BorderImage { + width: index === 1 ? tabWidth : (tabWidth + tabBar.width % tabs.count + 1) + Image { id: tabBackground anchors.fill: parent - border { top: 1; bottom: 1} source: "qrc:welcome/images/tab_inactive.png" } Text { @@ -65,7 +57,7 @@ Row { anchors.fill: parent text: model.modelData.title elide: Text.ElideRight - color: "white" + color: "black" } MouseArea { id: mouseArea @@ -77,7 +69,7 @@ Row { State { id: activeState; when: tabBar.current == index PropertyChanges { target: tabBackground; source:"qrc:welcome/images/tab_active.png" } - PropertyChanges { target: text; color: "black" } + PropertyChanges { target: text; color: "white" } }, State { id: hoverState; when: mouseArea.containsMouse diff --git a/share/qtcreator/welcomescreen/widgets/NewsListing.qml b/share/qtcreator/welcomescreen/widgets/NewsListing.qml index 75fb1a90fb78602391738e3c8c9ce37599d80cc9..4979b4a38d30b056319d5f4f76da50bb8da22baf 100644 --- a/share/qtcreator/welcomescreen/widgets/NewsListing.qml +++ b/share/qtcreator/welcomescreen/widgets/NewsListing.qml @@ -41,7 +41,7 @@ Item { property alias itemCount: repeater.count Timer { - id: timer + id: nextItemTimer repeat: true interval: 30*1000 onTriggered: repeater.incrementIndex() @@ -63,7 +63,7 @@ Item { } function handleModelUpdate() { - timer.stop(); + nextItemTimer.stop(); currentItem = 0; for (var i = 0; i < count; ++i) { if (i != currentItem) @@ -71,7 +71,7 @@ Item { else repeater.itemAt(i).active = true; } - timer.start(); + nextItemTimer.start(); } function handleModelChanged() { @@ -95,7 +95,7 @@ Item { id: delegateItem opacity: 0 height: root.height - width: 270 + width: root.width Column { spacing: 10 width: parent.width @@ -145,12 +145,18 @@ Item { cursor: "pointinghandcursor"; anchors.fill: column } + Timer { + id: toolTipTimer + interval: 500 + onTriggered: styleItem.showToolTip(link) + } + MouseArea { anchors.fill: column; onClicked: Qt.openUrlExternally(link); hoverEnabled: true; - onEntered: timer.stop() - onExited: timer.restart() + onEntered: { nextItemTimer.stop(); toolTipTimer.start(); } + onExited: { nextItemTimer.restart(); toolTipTimer.stop(); } id: mouseArea } diff --git a/share/qtcreator/welcomescreen/widgets/RatingBar.qml b/share/qtcreator/welcomescreen/widgets/RatingBar.qml index ff371df62c481031ead88737b1e631ca9f146896..18d5483f742abc3a08a40c2e1a25e651ad796006 100644 --- a/share/qtcreator/welcomescreen/widgets/RatingBar.qml +++ b/share/qtcreator/welcomescreen/widgets/RatingBar.qml @@ -36,6 +36,6 @@ Row { property int rating : 2 property int totalRating: 3 - Repeater { id: rep1; model: rating; Image { source: "img/face-star.png"; width: 22 } } - Repeater { id: rep2; model: totalRating-rating; Image { source: "img/draw-star.png"; width: 22 } } + Repeater { id: rep1; model: rating; Image { source: "qrc:welcome/images/face-star.png"; width: 22 } } + Repeater { id: rep2; model: totalRating-rating; Image { source: "qrc:welcome/images/draw-star.png"; width: 22 } } } diff --git a/share/qtcreator/welcomescreen/widgets/RecentProjects.qml b/share/qtcreator/welcomescreen/widgets/RecentProjects.qml index aa11086c95a8d805d82b9b4698b236de8ec88f2a..82c627f771bcb98c5340433ed8966a2706d526a6 100644 --- a/share/qtcreator/welcomescreen/widgets/RecentProjects.qml +++ b/share/qtcreator/welcomescreen/widgets/RecentProjects.qml @@ -51,7 +51,7 @@ HeaderItemView { id: nameText text: displayName font.bold: true - width: parent.width + anchors.right: parent.right anchors.top: parent.top anchors.left: arrowImage.right anchors.leftMargin: 10 @@ -61,7 +61,7 @@ HeaderItemView { text: prettyFilePath elide: Text.ElideMiddle color: "grey" - width: parent.width + anchors.right: parent.right anchors.top: nameText.bottom anchors.left: arrowImage.right anchors.leftMargin: 10 diff --git a/share/qtcreator/welcomescreen/widgets/RecentSessions.qml b/share/qtcreator/welcomescreen/widgets/RecentSessions.qml index c9fbfde771ea8cf895434f61bbb3456f664fba29..664085023bdd8645edfffecf0ff3d3910acd9df3 100644 --- a/share/qtcreator/welcomescreen/widgets/RecentSessions.qml +++ b/share/qtcreator/welcomescreen/widgets/RecentSessions.qml @@ -44,8 +44,10 @@ HeaderItemView { function fullSessionName() { var newSessionName = sessionName - if (model.currentSession) - newSessionName = qsTr("%1 (current session)").arg(newSessionName); + if (model.lastSession && sessionList.isDefaultVirgin()) + newSessionName = qsTr("%1 (last session)").arg(sessionName); + else if (model.activeSession && !sessionList.isDefaultVirgin()) + newSessionName = qsTr("%1 (current session)").arg(sessionName); return newSessionName; } @@ -60,7 +62,6 @@ HeaderItemView { Components.QStyleItem { id: styleItem; cursor: "pointinghandcursor"; anchors.fill: parent } id: fileNameText text: parent.fullSessionName() - font.italic: model.defaultSession elide: Text.ElideMiddle anchors.left: arrowImage.right anchors.verticalCenter: parent.verticalCenter diff --git a/src/libs/qtcreatorcdbext/symbolgroupnode.cpp b/src/libs/qtcreatorcdbext/symbolgroupnode.cpp index f5f6edad87bfabf31512fe3af2a48725fc39c459..631c53e2b78cb8e29ca6c0dcd598b4f601ec7168 100644 --- a/src/libs/qtcreatorcdbext/symbolgroupnode.cpp +++ b/src/libs/qtcreatorcdbext/symbolgroupnode.cpp @@ -762,6 +762,14 @@ static void fixValue(const std::string &type, std::wstring *value) } } + // Strip a vtable "0x13f37b7c8 module!Class::`vftable'" to a plain pointer. + if (SymbolGroupValue::isVTableType(type)) { + const std::wstring::size_type blankPos = value->find(L' ', 2); + if (blankPos != std::wstring::npos) + value->erase(blankPos, value->size() - blankPos); + return; + } + // Pointers: fix '0x00000000`00000AD class bla' ... to "0xAD", but leave // 'const char *' values as is ('0x00000000`00000AD "hallo"). if (!type.empty() && type.at(type.size() - 1) == L'*') { diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp index 86f5386d84cbaa018951211d7f4140314a43879a..8df9f9002086a4424ffbef1481c41e73c45b4393 100644 --- a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp +++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp @@ -417,6 +417,13 @@ unsigned SymbolGroupValue::isPointerType(const std::string &t) return 0; } +// Return number of characters to strip for pointer type +bool SymbolGroupValue::isVTableType(const std::string &t) +{ + const char vtableTypeC[] = "__fptr()"; + return t.compare(0, sizeof(vtableTypeC) - 1, vtableTypeC) == 0; +} + // add pointer type 'Foo' -> 'Foo *', 'Foo *' -> 'Foo **' std::string SymbolGroupValue::pointerType(const std::string &type) { diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.h b/src/libs/qtcreatorcdbext/symbolgroupvalue.h index d31ff7f81f37cfbe0d2e5c8041ad38bbbe41eb3c..7e8c433ed12f987ea00d3f205605e358c83bf7c8 100644 --- a/src/libs/qtcreatorcdbext/symbolgroupvalue.h +++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.h @@ -113,6 +113,7 @@ public: static std::string moduleOfType(const std::string &type); // pointer type, return number of characters to strip static unsigned isPointerType(const std::string &); + static bool isVTableType(const std::string &t); // add pointer type 'Foo' -> 'Foo *', 'Foo *' -> 'Foo **' static std::string pointerType(const std::string &type); // Symbol Name/(Expression) of a pointed-to instance ('Foo' at 0x10') ==> '*(Foo *)0x10' diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp index 641f9d649cefc92a0b45d3fd8a29adf4d7ccda0a..d4b31f46bd19a06692f92af08836091b447be45e 100644 --- a/src/libs/utils/fancymainwindow.cpp +++ b/src/libs/utils/fancymainwindow.cpp @@ -32,6 +32,8 @@ #include "fancymainwindow.h" +#include "qtcassert.h" + #include <QtCore/QList> #include <QtCore/QHash> @@ -265,17 +267,28 @@ bool FancyMainWindow::isLocked() const return d->m_locked; } +static bool actionLessThan(const QAction *action1, const QAction *action2) +{ + QTC_ASSERT(action1, return true); + QTC_ASSERT(action2, return false); + return action1->text().toLower() < action2->text().toLower(); +} + QMenu *FancyMainWindow::createPopupMenu() { - QMenu *menu = new QMenu(this);; + QList<QAction *> actions; QList<QDockWidget *> dockwidgets = qFindChildren<QDockWidget *>(this); for (int i = 0; i < dockwidgets.size(); ++i) { QDockWidget *dockWidget = dockwidgets.at(i); if (dockWidget->property("managed_dockwidget").isNull() && dockWidget->parentWidget() == this) { - menu->addAction(dockwidgets.at(i)->toggleViewAction()); + actions.append(dockwidgets.at(i)->toggleViewAction()); } } + qSort(actions.begin(), actions.end(), actionLessThan); + QMenu *menu = new QMenu(this); + foreach (QAction *action, actions) + menu->addAction(action); menu->addAction(&d->m_menuSeparator1); menu->addAction(&d->m_toggleLockedAction); menu->addAction(&d->m_menuSeparator2); diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index 82a57578864d105121d01df5dcca70fa867b71e3..c7768a6c6f3e04ad8a5bb5e878acd250b5ee2325 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -130,17 +130,17 @@ QString SynchronousProcessResponse::exitMessage(const QString &binary, int timeo { switch (result) { case Finished: - return SynchronousProcess::tr("The command '%1' finished successfully.").arg(binary); + return SynchronousProcess::tr("The command '%1' finished successfully.").arg(QDir::toNativeSeparators(binary)); case FinishedError: - return SynchronousProcess::tr("The command '%1' terminated with exit code %2.").arg(binary).arg(exitCode); + return SynchronousProcess::tr("The command '%1' terminated with exit code %2.").arg(QDir::toNativeSeparators(binary)).arg(exitCode); break; case TerminatedAbnormally: - return SynchronousProcess::tr("The command '%1' terminated abnormally.").arg(binary); + return SynchronousProcess::tr("The command '%1' terminated abnormally.").arg(QDir::toNativeSeparators(binary)); case StartFailed: - return SynchronousProcess::tr("The command '%1' could not be started.").arg(binary); + return SynchronousProcess::tr("The command '%1' could not be started.").arg(QDir::toNativeSeparators(binary)); case Hang: return SynchronousProcess::tr("The command '%1' did not respond within the timeout limit (%2 ms)."). - arg(binary).arg(timeoutMS); + arg(QDir::toNativeSeparators(binary)).arg(timeoutMS); } return QString(); } diff --git a/src/libs/utils/welcomemodetreewidget.cpp b/src/libs/utils/welcomemodetreewidget.cpp deleted file mode 100644 index ee826d9c50ea84100cbda137bbc53207530371a5..0000000000000000000000000000000000000000 --- a/src/libs/utils/welcomemodetreewidget.cpp +++ /dev/null @@ -1,301 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#include "welcomemodetreewidget.h" - -#include <QtGui/QLabel> -#include <QtGui/QPixmap> -#include <QtGui/QAction> -#include <QtGui/QVBoxLayout> -#include <QtGui/QMouseEvent> -#include <QtGui/QResizeEvent> -#include <QtGui/QImage> - -enum { leftContentsMargin = 2, - topContentsMargin = 2, - bottomContentsMargin = 1, - pixmapWidth = 24 }; - -/*! - \class Utils::WelcomeModeLabel - \brief Label usable for headers of a Welcome page. -*/ - -namespace Utils { - -WelcomeModeLabel::WelcomeModeLabel(QWidget *parent) : - QLabel(parent), m_unused(0) -{ - // Bold/enlarged font slightly gray. Force color on by stylesheet as it is used - // as a child of widgets that have stylesheets. - QFont f = font(); -#ifndef Q_OS_WIN - f.setWeight(QFont::DemiBold); -#endif - f.setPointSizeF(f.pointSizeF() * 1.2); - setFont(f); - setStyleSheet(QLatin1String("color : rgb(85, 85, 85);")); - setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); -} - -WelcomeModeLabel::~WelcomeModeLabel() -{ -} - -// NewsLabel for the WelcomeModeTreeWidget: -// Shows a news article as "Bold Title!\nElided Start of article...." -// Adapts the eliding when resizing. -class NewsLabel : public QLabel { -public: - explicit NewsLabel(const QString &htmlTitle, - const QString &htmlText, - QWidget *parent = 0); - - virtual void resizeEvent(QResizeEvent *); - -private: - const QString m_title; - const QString m_text; - const int m_minWidth; - - int m_lastWidth; - int m_contentsMargin; -}; - -NewsLabel::NewsLabel(const QString &htmlTitle, - const QString &htmlText, - QWidget *parent) : - QLabel(parent), - m_title(htmlTitle), - m_text(htmlText), - m_minWidth(100), - m_lastWidth(-1) -{ - int dummy, left, right; - getContentsMargins(&left, &dummy, &right, &dummy); - m_contentsMargin = left + right; -} - -void NewsLabel::resizeEvent(QResizeEvent *e) -{ - enum { epsilon = 10 }; - QLabel::resizeEvent(e); - // Resized: Adapt to new size (if it is > m_minWidth) - const int newWidth = qMax(e->size().width() - m_contentsMargin, m_minWidth) - epsilon; - if (newWidth == m_lastWidth) - return; - m_lastWidth = newWidth; - QFont f = font(); - const QString elidedText = QFontMetrics(f).elidedText(m_text, Qt::ElideRight, newWidth); - f.setBold(true); - const QString elidedTitle = QFontMetrics(f).elidedText(m_title, Qt::ElideRight, newWidth); - QString labelText = QLatin1String("<b>"); - labelText += elidedTitle; - labelText += QLatin1String("</b><br /><font color='gray'>"); - labelText += elidedText; - labelText += QLatin1String("</font>"); - setText(labelText); -} - -// Item label of WelcomeModeTreeWidget: Horizontal widget consisting -// of arrow and clickable label. -class WelcomeModeItemWidget : public QWidget { - Q_OBJECT -public: - // Normal items - explicit WelcomeModeItemWidget(const QPixmap &pix, - const QString &text, - const QString &tooltip, - const QString &data, - QWidget *parent = 0); - // News items with title and start of article (see NewsLabel) - explicit WelcomeModeItemWidget(const QPixmap &pix, - QString htmlTitle, - QString htmlText, - const QString &tooltip, - const QString &data, - QWidget *parent = 0); - -signals: - void clicked(const QString &); - -protected: - virtual void mousePressEvent(QMouseEvent *); - -private: - static inline void initLabel(QLabel *); - - void init(const QPixmap &pix, QLabel *itemLabel, const QString &tooltip); - - const QString m_data; -}; - -WelcomeModeItemWidget::WelcomeModeItemWidget(const QPixmap &pix, - const QString &text, - const QString &tooltipText, - const QString &data, - QWidget *parent) : - QWidget(parent), - m_data(data) -{ - QLabel *label = new QLabel(text); - WelcomeModeItemWidget::initLabel(label); - init(pix, label, tooltipText); -} - -static inline void fixHtml(QString &s) -{ - s.replace(QLatin1String("’"), QString(QLatin1Char('\''))); // Quote - s.replace(QLatin1Char('\n'), QLatin1Char(' ')); -} - -WelcomeModeItemWidget::WelcomeModeItemWidget(const QPixmap &pix, - QString title, - QString text, - const QString &tooltipText, - const QString &data, - QWidget *parent) : - QWidget(parent), - m_data(data) -{ - fixHtml(text); - fixHtml(title); - QLabel *newsLabel = new NewsLabel(title, text); - WelcomeModeItemWidget::initLabel(newsLabel); - init(pix, newsLabel, tooltipText); -} - -void WelcomeModeItemWidget::initLabel(QLabel *label) -{ - label->setTextInteractionFlags(Qt::NoTextInteraction); - label->setCursor(QCursor(Qt::PointingHandCursor)); -} - -void WelcomeModeItemWidget::init(const QPixmap &pix, QLabel *itemLabel, - const QString &tooltipText) -{ - QHBoxLayout *hBoxLayout = new QHBoxLayout; - hBoxLayout->setContentsMargins(topContentsMargin, leftContentsMargin, - 0, bottomContentsMargin); - - QLabel *pxLabel = new QLabel; - QPixmap pixmap = pix; - if (layoutDirection() == Qt::RightToLeft){ - QImage image = pixmap.toImage(); - pixmap = QPixmap::fromImage(image.mirrored(1, 0)); - } - pxLabel->setPixmap(pixmap); - - pxLabel->setFixedWidth(pixmapWidth); - hBoxLayout->addWidget(pxLabel); - - hBoxLayout->addWidget(itemLabel); - if (!tooltipText.isEmpty()) { - setToolTip(tooltipText); - pxLabel->setToolTip(tooltipText); - itemLabel->setToolTip(tooltipText); - } - setLayout(hBoxLayout); -} - -void WelcomeModeItemWidget::mousePressEvent(QMouseEvent *e) -{ - e->accept(); - emit clicked(m_data); -} - -// ----------------- WelcomeModeTreeWidget -struct WelcomeModeTreeWidgetPrivate -{ - WelcomeModeTreeWidgetPrivate(); - - const QPixmap bullet; - QVBoxLayout *layout; - QVBoxLayout *itemLayout; -}; - -WelcomeModeTreeWidgetPrivate::WelcomeModeTreeWidgetPrivate() : - bullet(QLatin1String(":/welcome/images/list_bullet_arrow.png")), - layout(new QVBoxLayout), - itemLayout(new QVBoxLayout) -{ - layout->setMargin(0); -} - -/*! - \class Utils::WelcomeModeTreeWidget - \brief Show an itemized list with arrows and emits a signal on click. -*/ - -WelcomeModeTreeWidget::WelcomeModeTreeWidget(QWidget *parent) : - QWidget(parent), m_d(new WelcomeModeTreeWidgetPrivate) -{ - setLayout(m_d->layout); - m_d->layout->addLayout(m_d->itemLayout); - m_d->layout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Ignored, QSizePolicy::MinimumExpanding)); -} - -WelcomeModeTreeWidget::~WelcomeModeTreeWidget() -{ - delete m_d; -} - -void WelcomeModeTreeWidget::addItem(const QString &label, const QString &data, const QString &toolTip) -{ - addItemWidget(new WelcomeModeItemWidget(m_d->bullet, label, toolTip, data)); -} - -void WelcomeModeTreeWidget::addNewsItem(const QString &title, - const QString &description, - const QString &link) -{ - addItemWidget(new WelcomeModeItemWidget(m_d->bullet, title, description, link, link)); -} - -void WelcomeModeTreeWidget::addItemWidget(WelcomeModeItemWidget *w) -{ - connect(w, SIGNAL(clicked(QString)), this, SIGNAL(activated(QString))); - m_d->itemLayout->addWidget(w); -} - -void WelcomeModeTreeWidget::clear() -{ - for (int i = m_d->itemLayout->count() - 1; i >= 0; i--) { - QLayoutItem *item = m_d->itemLayout->takeAt(i); - delete item->widget(); - delete item; - } -} - -} // namespace Utils - -#include "welcomemodetreewidget.moc" diff --git a/src/libs/utils/welcomemodetreewidget.h b/src/libs/utils/welcomemodetreewidget.h deleted file mode 100644 index 101e8326c934c15a0ef90a320500e7c6a937abac..0000000000000000000000000000000000000000 --- a/src/libs/utils/welcomemodetreewidget.h +++ /dev/null @@ -1,81 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#ifndef WELCOMEMODETREEWIDGET_H -#define WELCOMEMODETREEWIDGET_H - -#include "utils_global.h" - -#include <QtGui/QTreeWidget> -#include <QtGui/QLabel> - -namespace Utils { - -struct WelcomeModeTreeWidgetPrivate; -class WelcomeModeItemWidget; - -class QTCREATOR_UTILS_EXPORT WelcomeModeLabel : public QLabel -{ - Q_OBJECT -public: - explicit WelcomeModeLabel(QWidget *parent = 0); - virtual ~WelcomeModeLabel(); - -private: - void *m_unused; -}; - -class QTCREATOR_UTILS_EXPORT WelcomeModeTreeWidget : public QWidget -{ - Q_OBJECT -public: - explicit WelcomeModeTreeWidget(QWidget *parent = 0); - virtual ~WelcomeModeTreeWidget(); - -public slots: - void addItem(const QString &label, const QString &data,const QString &toolTip = QString()); - - // Add a 'News' item as two lines of "<bold>Breaking news!</bold>\nElided Start of article...." - void addNewsItem(const QString &title, const QString &description, const QString &link); - void clear(); - -signals: - void activated(const QString &data); - -private: - void addItemWidget(WelcomeModeItemWidget *w); - - WelcomeModeTreeWidgetPrivate *m_d; -}; - -} // namespace Utils -#endif // WELCOMEMODETREEWIDGET_H diff --git a/src/plugins/analyzerbase/analyzerconstants.h b/src/plugins/analyzerbase/analyzerconstants.h index 23f15e7b807434ac39e62e055ded3a141f2cf794..c22b5a5e06e0e12c5e9ec0fa576469253c2345b2 100644 --- a/src/plugins/analyzerbase/analyzerconstants.h +++ b/src/plugins/analyzerbase/analyzerconstants.h @@ -39,7 +39,7 @@ namespace Analyzer { -// Special values for currently used modes. +// Special values for currently used start modes. // Their meaning is interpreted by the individual tools. // FIXME: The plan is to remove this entirely from the // public interface and let the tools handle that internally. @@ -53,38 +53,28 @@ enum StartMode namespace Constants { -// modes and their priorities -const char * const MODE_ANALYZE = "Mode.Analyze"; -const int P_MODE_ANALYZE = 76; +// Mode and its priority. +const char MODE_ANALYZE[] = "Mode.Analyze"; +const int P_MODE_ANALYZE = 76; -// context -const char * const C_ANALYZEMODE = "Analyzer.AnalyzeMode"; +// Context. +const char C_ANALYZEMODE[] = "Analyzer.AnalyzeMode"; -// menu -const char * const M_DEBUG_ANALYZER = "Analyzer.Menu.StartAnalyzer"; +// Menu. +const char M_DEBUG_ANALYZER[] = "Analyzer.Menu.StartAnalyzer"; -const char * const START = "Analyzer.Start"; -const char * const STARTREMOTE = "Analyzer.StartRemote"; -const char * const STOP = "Analyzer.Stop"; +const char START[] = "Analyzer.Start"; +const char STOP[] = "Analyzer.Stop"; -const char * const G_ANALYZER_CONTROL = "Menu.Group.Analyzer.Control"; -const char * const G_ANALYZER_TOOLS = "Menu.Group.Analyzer.Tools"; -const char * const G_ANALYZER_REMOTE_TOOLS = "Menu.Group.Analyzer.RemoteTools"; +const char G_ANALYZER_CONTROL[] = "Menu.Group.Analyzer.Control"; +const char G_ANALYZER_TOOLS[] = "Menu.Group.Analyzer.Tools"; +const char G_ANALYZER_REMOTE_TOOLS[] = "Menu.Group.Analyzer.RemoteTools"; -// options dialog -const char * const ANALYZER_SETTINGS_CATEGORY = "T.Analyzer"; -const char * const ANALYZER_SETTINGS_TR_CATEGORY = - QT_TRANSLATE_NOOP("Analyzer", "Analyzer"); -const char * const ANALYZER_SETTINGS_CATEGORY_ICON = - ":/images/analyzer_category.png"; +// Manager controls. +const char ANALYZER_CONTROL_START_ICON[] = ":/images/analyzer_start_small.png"; +const char ANALYZER_CONTROL_STOP_ICON[] = ":/debugger/images/debugger_stop_small.png"; -// manager controls -const char * const ANALYZER_CONTROL_START_ICON = - ":/images/analyzer_start_small.png"; -const char * const ANALYZER_CONTROL_STOP_ICON = - ":/debugger/images/debugger_stop_small.png"; - -const char * const ANALYZERTASK_ID = "Analyzer.TaskId"; +const char ANALYZERTASK_ID[] = "Analyzer.TaskId"; } // namespace Constants } // namespace Analyzer diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index cdf4e5d167b5cdabee44ef5bec0fca7a45dc84b5..773a09a9a5116f450d1d22c5d48ba986cbea57d8 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -328,6 +328,28 @@ void AnalyzerManagerPrivate::delayedInit() m_mode->setWidget(splitter); AnalyzerPlugin::instance()->addAutoReleasedObject(m_mode); + + // Populate Windows->Views menu with standard actions. + Core::Context analyzerContext(Constants::C_ANALYZEMODE); + ActionManager *am = ICore::instance()->actionManager(); + ActionContainer *viewsMenu = + am->actionContainer(Core::Id(Core::Constants::M_WINDOW_VIEWS)); + Command *cmd = am->registerAction(m_mainWindow->menuSeparator1(), + Core::Id("Analyzer.Views.Separator1"), analyzerContext); + cmd->setAttribute(Command::CA_Hide); + viewsMenu->addAction(cmd, Core::Constants::G_DEFAULT_THREE); + cmd = am->registerAction(m_mainWindow->toggleLockedAction(), + Core::Id("Analyzer.Views.ToggleLocked"), analyzerContext); + cmd->setAttribute(Command::CA_Hide); + viewsMenu->addAction(cmd, Core::Constants::G_DEFAULT_THREE); + cmd = am->registerAction(m_mainWindow->menuSeparator2(), + Core::Id("Analyzer.Views.Separator2"), analyzerContext); + cmd->setAttribute(Command::CA_Hide); + viewsMenu->addAction(cmd, Core::Constants::G_DEFAULT_THREE); + cmd = am->registerAction(m_mainWindow->resetLayoutAction(), + Core::Id("Analyzer.Views.ResetSimple"), analyzerContext); + cmd->setAttribute(Command::CA_Hide); + viewsMenu->addAction(cmd, Core::Constants::G_DEFAULT_THREE); } static QToolButton *toolButton(QAction *action) @@ -594,9 +616,15 @@ void AnalyzerManagerPrivate::selectSavedTool() StartMode mode = m_modeFromAction.value(action); if (tool->actionId(mode) == lastActiveAction) { selectTool(tool, mode); - break; + return; } } + // fallback to first available tool + if (!m_actions.isEmpty()) { + IAnalyzerTool *tool = m_toolFromAction.value(m_actions.first()); + StartMode mode = m_modeFromAction.value(m_actions.first()); + selectTool(tool, mode); + } } void AnalyzerManagerPrivate::selectMenuAction() @@ -705,6 +733,8 @@ void AnalyzerManagerPrivate::loadToolSettings(IAnalyzerTool *tool) settings->beginGroup(QLatin1String("AnalyzerViewSettings_") + tool->id()); if (settings->value("ToolSettingsSaved", false).toBool()) m_mainWindow->restoreSettings(settings); + else + m_mainWindow->restoreSettings(m_defaultSettings.value(tool)); settings->endGroup(); } @@ -724,13 +754,6 @@ void AnalyzerManagerPrivate::saveToolSettings(IAnalyzerTool *tool, StartMode mod void AnalyzerManagerPrivate::updateRunActions() { - static bool previousRunning = true; - static IAnalyzerTool *previousTool = 0; - if (previousRunning == m_isRunning && previousTool == m_currentTool) - return; - previousTool = m_currentTool; - previousRunning = m_isRunning; - ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); Project *project = pe->startupProject(); @@ -775,16 +798,16 @@ AnalyzerManager::~AnalyzerManager() void AnalyzerManager::extensionsInitialized() { - if (d->m_tools.isEmpty()) + if (m_instance->d->m_tools.isEmpty()) return; - foreach (IAnalyzerTool *tool, d->m_tools) + foreach (IAnalyzerTool *tool, m_instance->d->m_tools) tool->extensionsInitialized(); } void AnalyzerManager::shutdown() { - d->saveToolSettings(d->m_currentTool, d->m_currentMode); + m_instance->d->saveToolSettings(m_instance->d->m_currentTool, m_instance->d->m_currentMode); } void AnalyzerManager::addTool(IAnalyzerTool *tool, const StartModes &modes) diff --git a/src/plugins/analyzerbase/analyzermanager.h b/src/plugins/analyzerbase/analyzermanager.h index 42700cac90dcda6a8f9628aa324e5e1839369754..9db4e12238e659acf254941bb4d8502eed6f7a4e 100644 --- a/src/plugins/analyzerbase/analyzermanager.h +++ b/src/plugins/analyzerbase/analyzermanager.h @@ -56,16 +56,18 @@ typedef QList<StartMode> StartModes; class IAnalyzerTool; class AnalyzerManagerPrivate; + +// FIXME: Merge with AnalyzerPlugin. class ANALYZER_EXPORT AnalyzerManager : public QObject { Q_OBJECT public: - explicit AnalyzerManager(QObject *parent = 0); + explicit AnalyzerManager(QObject *parent); ~AnalyzerManager(); - void extensionsInitialized(); - void shutdown(); + static void extensionsInitialized(); + static void shutdown(); // Register a tool and initialize it. static void addTool(IAnalyzerTool *tool, const StartModes &mode); diff --git a/src/plugins/analyzerbase/analyzeroptionspage.cpp b/src/plugins/analyzerbase/analyzeroptionspage.cpp index f4c5b1498dd02a930b7384cff5e3103c549611b1..e853f174e342560b264ef4cebf72788f4f13b90a 100644 --- a/src/plugins/analyzerbase/analyzeroptionspage.cpp +++ b/src/plugins/analyzerbase/analyzeroptionspage.cpp @@ -67,17 +67,17 @@ QString AnalyzerOptionsPage::displayName() const QString AnalyzerOptionsPage::category() const { - return QLatin1String(Constants::ANALYZER_SETTINGS_CATEGORY); + return QLatin1String("T.Analyzer"); } QString AnalyzerOptionsPage::displayCategory() const { - return QCoreApplication::translate("Analyzer", Constants::ANALYZER_SETTINGS_TR_CATEGORY); + return QCoreApplication::translate("Analyzer", "Analyzer"); } QIcon AnalyzerOptionsPage::categoryIcon() const { - return QIcon(QLatin1String(Constants::ANALYZER_SETTINGS_CATEGORY_ICON)); + return QIcon(QLatin1String(":/images/analyzer_category.png")); } QWidget *AnalyzerOptionsPage::createPage(QWidget *parent) diff --git a/src/plugins/analyzerbase/analyzerplugin.cpp b/src/plugins/analyzerbase/analyzerplugin.cpp index e914130f0dd0efd374994b8d5926363f7e2f03de..134b5ca521190fb48e98c1d472b06be15405bce4 100644 --- a/src/plugins/analyzerbase/analyzerplugin.cpp +++ b/src/plugins/analyzerbase/analyzerplugin.cpp @@ -56,25 +56,6 @@ using namespace Analyzer::Internal; static AnalyzerPlugin *m_instance = 0; - -//////////////////////////////////////////////////////////////////////// -// -// AnalyzerPluginPrivate -// -//////////////////////////////////////////////////////////////////////// - -class AnalyzerPlugin::AnalyzerPluginPrivate -{ -public: - AnalyzerPluginPrivate(AnalyzerPlugin *qq): - q(qq), - m_manager(0) - {} - - AnalyzerPlugin *q; - AnalyzerManager *m_manager; -}; - //////////////////////////////////////////////////////////////////////// // // AnalyzerPlugin @@ -82,14 +63,12 @@ public: //////////////////////////////////////////////////////////////////////// AnalyzerPlugin::AnalyzerPlugin() - : d(new AnalyzerPluginPrivate(this)) { m_instance = this; } AnalyzerPlugin::~AnalyzerPlugin() { - delete d; m_instance = 0; } @@ -98,7 +77,7 @@ bool AnalyzerPlugin::initialize(const QStringList &arguments, QString *errorStri Q_UNUSED(arguments) Q_UNUSED(errorString) - d->m_manager = new AnalyzerManager(this); + (void) new AnalyzerManager(this); // Task integration. ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); @@ -111,12 +90,12 @@ bool AnalyzerPlugin::initialize(const QStringList &arguments, QString *errorStri void AnalyzerPlugin::extensionsInitialized() { - d->m_manager->extensionsInitialized(); + AnalyzerManager::extensionsInitialized(); } ExtensionSystem::IPlugin::ShutdownFlag AnalyzerPlugin::aboutToShutdown() { - d->m_manager->shutdown(); + AnalyzerManager::shutdown(); return SynchronousShutdown; } diff --git a/src/plugins/analyzerbase/analyzerplugin.h b/src/plugins/analyzerbase/analyzerplugin.h index dc187de686280cf63a08009ac16966ec97483a3d..00bb32eb5b418eb0000a56b9394e9c983854cbcf 100644 --- a/src/plugins/analyzerbase/analyzerplugin.h +++ b/src/plugins/analyzerbase/analyzerplugin.h @@ -54,10 +54,6 @@ public: void extensionsInitialized(); ShutdownFlag aboutToShutdown(); - -private: - class AnalyzerPluginPrivate; - AnalyzerPluginPrivate *d; }; } // namespace Internal diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 20913b12b578b655effce0591ac0c1465bc315e7..c816a16ce13d0804989850a82b06db5a617f672e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -255,7 +255,7 @@ ShadowBuildPage::ShadowBuildPage(CMakeOpenProjectWizard *cmakeWizard, bool chang "Qt Creator recommends to not use the source directory for building. " "This ensures that the source directory remains clean and enables multiple builds " "with different settings.")); - fl->addWidget(label); + fl->addRow(label); m_pc = new Utils::PathChooser(this); m_pc->setBaseDirectory(m_cmakeWizard->sourceDirectory()); m_pc->setPath(m_cmakeWizard->buildDirectory()); @@ -282,6 +282,7 @@ CMakeRunPage::CMakeRunPage(CMakeOpenProjectWizard *cmakeWizard, Mode mode, const void CMakeRunPage::initWidgets() { QFormLayout *fl = new QFormLayout; + fl->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); setLayout(fl); // Description Label m_descriptionLabel = new QLabel(this); @@ -304,33 +305,38 @@ void CMakeRunPage::initWidgets() text += tr(" The path %1 is not a valid cmake.").arg(cmakeExecutable); } - fl->addRow(new QLabel(text, this)); + QLabel *cmakeLabel = new QLabel(text); + cmakeLabel->setWordWrap(true); + fl->addRow(cmakeLabel); // Show a field for the user to enter m_cmakeExecutable = new Utils::PathChooser(this); m_cmakeExecutable->setExpectedKind(Utils::PathChooser::ExistingCommand); - fl->addRow("cmake Executable", m_cmakeExecutable); + fl->addRow("cmake Executable:", m_cmakeExecutable); } // Run CMake Line (with arguments) m_argumentsLineEdit = new QLineEdit(this); connect(m_argumentsLineEdit,SIGNAL(returnPressed()), this, SLOT(runCMake())); + fl->addRow(tr("Arguments:"), m_argumentsLineEdit); m_generatorComboBox = new QComboBox(this); + fl->addRow(tr("Generator:"), m_generatorComboBox); m_runCMake = new QPushButton(this); m_runCMake->setText(tr("Run CMake")); connect(m_runCMake, SIGNAL(clicked()), this, SLOT(runCMake())); - QHBoxLayout *hbox = new QHBoxLayout; - hbox->addWidget(m_argumentsLineEdit); - hbox->addWidget(m_generatorComboBox); - hbox->addWidget(m_runCMake); - - fl->addRow(tr("Arguments"), hbox); + QHBoxLayout *hbox2 = new QHBoxLayout; + hbox2->addStretch(10); + hbox2->addWidget(m_runCMake); + fl->addRow(hbox2); // Bottom output window m_output = new QPlainTextEdit(this); m_output->setReadOnly(true); + // set smaller minimum size to avoid vanishing descriptions if all of the + // above is shown and the dialog not vertically resizing to fit stuff in (Mac) + m_output->setMinimumHeight(15); QFont f(TextEditor::FontSettings::defaultFixedFontFamily()); f.setStyleHint(QFont::TypeWriter); m_output->setFont(f); diff --git a/src/plugins/cpaster/pastebindotcomprotocol.cpp b/src/plugins/cpaster/pastebindotcomprotocol.cpp index 57fb4a1a8c907058678c20787b68d153160ee35e..eea681dc46716ba7e78f9028e94dca210a0bf630 100644 --- a/src/plugins/cpaster/pastebindotcomprotocol.cpp +++ b/src/plugins/cpaster/pastebindotcomprotocol.cpp @@ -271,11 +271,22 @@ enum ParseState WithinTableElement, WithinTableElementAnchor, ParseError }; -static inline ParseState nextOpeningState(ParseState current, const QStringRef &element) +QDebug operator<<(QDebug d, const QXmlStreamAttributes &al) { + QDebug nospace = d.nospace(); + foreach (const QXmlStreamAttribute &a, al) + nospace << a.name().toString() << '=' << a.value().toString() << ' '; + return d; +} + +static inline ParseState nextOpeningState(ParseState current, const QXmlStreamReader &reader) +{ + const QStringRef element = reader.name(); switch (current) { case OutSideTable: - if (element == QLatin1String("table")) + // Trigger on main table only. + if (element == QLatin1String("table") + && reader.attributes().value(QLatin1String("class")) == QLatin1String("maintable")) return WithinTable; return OutSideTable; case WithinTable: @@ -342,7 +353,8 @@ static inline QStringList parseLists(QIODevice *io) int tableColumn = 0; const QString hrefAttribute = QLatin1String("href"); - + //: Unknown user of paste. + const QString unknownUser = PasteBinDotComProtocol::tr("<Unknown>"); QString link; QString user; QString description; @@ -350,7 +362,7 @@ static inline QStringList parseLists(QIODevice *io) while (!reader.atEnd()) { switch(reader.readNext()) { case QXmlStreamReader::StartElement: - state = nextOpeningState(state, reader.name()); + state = nextOpeningState(state, reader); switch (state) { case WithinTableRow: tableColumn = 0; @@ -379,10 +391,11 @@ static inline QStringList parseLists(QIODevice *io) return rc; break; case WithinTable: - if (tableRow && !user.isEmpty() && !link.isEmpty() && !description.isEmpty()) { + // User can occasionally be empty. + if (tableRow && !link.isEmpty() && !description.isEmpty()) { QString entry = link; entry += QLatin1Char(' '); - entry += user; + entry += user.isEmpty() ? unknownUser : user; entry += QLatin1Char(' '); entry += description; rc.push_back(entry); diff --git a/src/plugins/cpptools/cppqtstyleindenter.cpp b/src/plugins/cpptools/cppqtstyleindenter.cpp index 413e404149d7c264e7dbbf422ef1f7d1c7bf607e..3bcbe813c2c675090a28f871bc2bdc9d80db4400 100644 --- a/src/plugins/cpptools/cppqtstyleindenter.cpp +++ b/src/plugins/cpptools/cppqtstyleindenter.cpp @@ -50,6 +50,8 @@ using namespace CppTools; CppQtStyleIndenter::CppQtStyleIndenter() : m_cppCodeStylePreferences(0) { + // Just for safety. setCodeStylePreferences should be called when the editor the + // indenter belongs to gets initialized. m_cppCodeStylePreferences = CppToolsSettings::instance()->cppCodeStylePreferences(); } diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp index 22e82d812f6b5462685590afdaeedc573f2e0f19..02996bfa7bf830be405393bd1953e01ae9ddef4d 100644 --- a/src/plugins/debugger/breakwindow.cpp +++ b/src/plugins/debugger/breakwindow.cpp @@ -527,6 +527,10 @@ void BreakWindow::setModel(QAbstractItemModel *model) resizeColumnToContents(0); // Number resizeColumnToContents(3); // Line resizeColumnToContents(6); // Ignore count + if (header()) { + bool adjust = debuggerCore()->boolSetting(AlwaysAdjustBreakpointsColumnWidths); + setAlwaysResizeColumnsToContents(adjust); + } connect(model, SIGNAL(layoutChanged()), this, SLOT(expandAll())); } diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 9d2d1e30264b92fa08efee5c42198b2e40e17e3c..cd893b1e1c639bac9e4e78d62d2940f04640e16c 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -1646,7 +1646,7 @@ static inline quint64 findClosestFunctionAddress(const QList<quint64> &addresses for (int i = 0; i < size; i++) { if (addresses.at(i) <= needle) { const quint64 offset = needle - addresses.at(i); - if (offset < offset) { + if (offset < closestOffset) { closestOffset = offset; closestIndex = i; } diff --git a/src/plugins/debugger/cdb/cdbparsehelpers.cpp b/src/plugins/debugger/cdb/cdbparsehelpers.cpp index bade3a09a9a601ff1227a6dc43686d921743c71d..15ca7ee2caec8e3421da59365c744821d54943df 100644 --- a/src/plugins/debugger/cdb/cdbparsehelpers.cpp +++ b/src/plugins/debugger/cdb/cdbparsehelpers.cpp @@ -503,26 +503,41 @@ bool parseCdbDisassemblerFunctionLine(const QString &l, return true; } -// Parse an instruction line: -// ' 21 00000001`3fcebff1 8b4030 mov eax,dword ptr [rax+30h]' -// '<source_line> <address> <raw data> <instruction> -bool parseCdbDisassemblerLine(const QString &lineIn, DisassemblerLine *dLine, uint *sourceLine) +/* Parse an instruction line, CDB 6.12: + * 0123456 + * ' 21 00000001`3fcebff1 8b4030 mov eax,dword ptr [rax+30h]' + * or CDB 6.11 (source line and address joined, 725 being the source line number): + * 0123456 + * ' 725078bb291 8bec mov ebp,esp + * '<source_line>[ ]?<address> <raw data> <instruction> */ + +bool parseCdbDisassemblerLine(const QString &line, DisassemblerLine *dLine, uint *sourceLine) { *sourceLine = 0; - if (lineIn.size() < 6) + if (line.size() < 6) return false; - // Check source line: right-padded 5 digits - const bool hasSourceLine = lineIn.at(4).isDigit(); - const QString line = lineIn.trimmed(); - int addressPos = 0; const QChar blank = QLatin1Char(' '); - // Optional source line. - if (hasSourceLine) { - const int sourceLineEnd = line.indexOf(blank); + int addressPos = 0; + // Check for joined source and address in 6.11 + const bool hasV611SourceLine = line.at(5).isDigit(); + const bool hasV612SourceLine = !hasV611SourceLine && line.at(4).isDigit(); + if (hasV611SourceLine) { + // v6.11: Fixed 5 source line columns, joined + *sourceLine = line.left(5).trimmed().toUInt(); + addressPos = 5; + } else if (hasV612SourceLine) { + // v6.12: Free format columns + const int sourceLineEnd = line.indexOf(blank, 4); if (sourceLineEnd == -1) - return false; - *sourceLine = line.left(sourceLineEnd).toUInt(); + return false; + *sourceLine = line.left(sourceLineEnd).trimmed().toUInt(); addressPos = sourceLineEnd + 1; + } else { + // Skip source line column. + const int size = line.size(); + for ( ; addressPos < size && line.at(addressPos).isSpace(); ++addressPos) ; + if (addressPos == size) + return false; } // Find positions of address/raw data/instruction const int addressEnd = line.indexOf(blank, addressPos + 1); diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp index b36c4ddfbce505c4d853bb316445fb95392cee81..54dcaa0b8676251f9e1696476d038f521e2a6977 100644 --- a/src/plugins/debugger/debuggeractions.cpp +++ b/src/plugins/debugger/debuggeractions.cpp @@ -329,6 +329,14 @@ DebuggerSettings::DebuggerSettings(QSettings *settings) item->setSettingsKey(debugModeGroup, QLatin1String("BreakOnWarning")); insertItem(BreakOnWarning, item); + item = new SavedAction(this); + item->setText(tr("Break on \"qFatal\"")); + item->setCheckable(true); + item->setDefaultValue(true); + item->setValue(true); + item->setSettingsKey(debugModeGroup, QLatin1String("BreakOnFatal")); + insertItem(BreakOnFatal, item); + // // Settings // diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h index 9294bb55eca82bfe75cc757f3c79874eae935a07..33b564c6baecc0e273bb0a9608a537b0633b34a7 100644 --- a/src/plugins/debugger/debuggeractions.h +++ b/src/plugins/debugger/debuggeractions.h @@ -151,6 +151,7 @@ enum DebuggerActionCode BreakOnThrow, BreakOnCatch, BreakOnWarning, + BreakOnFatal, // Registers AlwaysAdjustRegistersColumnWidths, diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 904ced335532b4d6afeba28b56affc44f0a96252..799537c99100be3f7450f684e26e62778122990b 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1177,8 +1177,6 @@ void DebuggerEngine::notifyInferiorPid(qint64 pid) return; d->m_inferiorPid = pid; if (pid) { - if (d->m_runControl) - d->m_runControl->setApplicationProcessHandle(ProcessHandle(pid)); showMessage(tr("Taking notice of pid %1").arg(pid)); if (d->m_startParameters.startMode == StartInternal || d->m_startParameters.startMode == StartExternal diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 4239efb7915b47900632bdcd7e889b0d393be3e7..f03930b7406585d648147d917eaa879a15ed02ac 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -2584,7 +2584,9 @@ void DebuggerPluginPrivate::extensionsInitialized() ICore *core = ICore::instance(); QTC_ASSERT(core, return); m_coreSettings = core->settings(); + m_debuggerSettings = new DebuggerSettings(m_coreSettings); + m_debuggerSettings->readSettings(); connect(core, SIGNAL(coreAboutToClose()), this, SLOT(coreShutdown())); @@ -2776,8 +2778,6 @@ void DebuggerPluginPrivate::extensionsInitialized() m_commonOptionsPage = new CommonOptionsPage(m_globalDebuggerOptions); m_plugin->addAutoReleasedObject(m_commonOptionsPage); - m_debuggerSettings->readSettings(); - // Do not fail to load the whole plugin if something goes wrong here. QString errorMessage; if (!parseArguments(m_arguments, &m_cmdLineEnabledEngines, &errorMessage)) { diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp index 692f2e9d94a8421c452b93ca84c2c06d582cf6e9..d08a89c4cab8f128e3e9d10092deb2d466746a8d 100644 --- a/src/plugins/debugger/debuggertooltipmanager.cpp +++ b/src/plugins/debugger/debuggertooltipmanager.cpp @@ -795,7 +795,7 @@ DebuggerToolTipWidget *DebuggerToolTipWidget::loadSessionDataI(QXmlStreamReader if (debugToolTips) qDebug() << "Creating tooltip " << context << " from " << creationDate << offset; DebuggerToolTipWidget *rc = 0; - if (className == "Debugger::Internal::DebuggerTreeViewToolTipWidget") + if (className == "Debugger::Internal::DebuggerToolTipWidget") rc = new DebuggerToolTipWidget; if (rc) { rc->setContext(context); diff --git a/src/plugins/debugger/disassembleragent.cpp b/src/plugins/debugger/disassembleragent.cpp index 80d58ad7f2d9bfeb6d4abc5b208f614bc71a53e0..5b5d148a5a762ba9dac80e9f5b9612bd0381a3b3 100644 --- a/src/plugins/debugger/disassembleragent.cpp +++ b/src/plugins/debugger/disassembleragent.cpp @@ -340,6 +340,7 @@ void DisassemblerAgent::updateLocationMarker() QTextBlock block = tc.document()->findBlockByNumber(lineNumber - 1); tc.setPosition(block.position()); plainTextEdit->setTextCursor(tc); + plainTextEdit->centerCursor(); } void DisassemblerAgent::updateBreakpointMarkers() diff --git a/src/plugins/debugger/gdb/classicgdbengine.cpp b/src/plugins/debugger/gdb/classicgdbengine.cpp index 51ee1b6be124cbef477f58ef53748e51b1d91eb7..42f364f0f28302c4872938cf8d0a01fbaf17c4ea 100644 --- a/src/plugins/debugger/gdb/classicgdbengine.cpp +++ b/src/plugins/debugger/gdb/classicgdbengine.cpp @@ -864,6 +864,8 @@ void GdbEngine::updateSubItemClassic(const WatchData &data0) // Try automatic dereferentiation data.exp = "(*(" + data.exp + "))"; data.type = data.type + '.'; // FIXME: fragile HACK to avoid recursion + if (data.value.startsWith("0x")) + data.value = "@" + data.value; insertData(data); } else { data.setChildrenUnneeded(); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index f956c22cf87637dee74a0ac17c29b23c3fc94f9a..424fe55eb5e4cc68c41aca02c7f79426412b7534 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -4913,10 +4913,13 @@ void GdbEngine::handleNamespaceExtraction(const GdbResponse &response) if (startParameters().startMode == AttachCore) { notifyInferiorSetupOk(); // No breakpoints in core files. } else { - postCommand("-break-insert -f '" + qtNamespace() + "qFatal'", - CB(handleBreakOnQFatal)); if (debuggerCore()->boolSetting(BreakOnWarning)) postCommand("-break-insert -f '" + qtNamespace() + "qWarning'"); + if (debuggerCore()->boolSetting(BreakOnFatal)) + postCommand("-break-insert -f '" + qtNamespace() + "qFatal'", + CB(handleBreakOnQFatal)); + else + notifyInferiorSetupOk(); } } diff --git a/src/plugins/debugger/gdb/gdboptionspage.cpp b/src/plugins/debugger/gdb/gdboptionspage.cpp index 28ea5b606b779303116cf88d453bbbecedfaf708..20f50d21d7ee1f587b4f09777d36af43c98e40dc 100644 --- a/src/plugins/debugger/gdb/gdboptionspage.cpp +++ b/src/plugins/debugger/gdb/gdboptionspage.cpp @@ -96,6 +96,8 @@ QWidget *GdbOptionsPage::createPage(QWidget *parent) m_ui->checkBoxAdjustBreakpointLocations); m_group.insert(debuggerCore()->action(BreakOnWarning), m_ui->checkBoxBreakOnWarning); + m_group.insert(debuggerCore()->action(BreakOnFatal), + m_ui->checkBoxBreakOnFatal); m_group.insert(debuggerCore()->action(GdbWatchdogTimeout), m_ui->spinBoxGdbWatchdogTimeout); diff --git a/src/plugins/debugger/gdb/gdboptionspage.ui b/src/plugins/debugger/gdb/gdboptionspage.ui index 6fb810fca1b06120af7da8886beec025d7805a00..f2e21e1e91345eb7725266fe8510c03435d02815 100644 --- a/src/plugins/debugger/gdb/gdboptionspage.ui +++ b/src/plugins/debugger/gdb/gdboptionspage.ui @@ -130,6 +130,13 @@ on slow machines. In this case, the value should be increased.</string> </widget> </item> <item row="8" column="0" colspan="2"> + <widget class="QCheckBox" name="checkBoxBreakOnFatal"> + <property name="text"> + <string>Stop when a qFatal is issued</string> + </property> + </widget> + </item> + <item row="9" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxEnableReverseDebugging"> <property name="toolTip"> <string><html><head/><body><p>Selecting this enables reverse debugging.</p><.p><b>Note:</b>This feature is very slow and unstable on the GDB side. It exhibits unpredictable behaviour when going backwards over system calls and is very likely to destroy your debugging session.</p><body></html></string> diff --git a/src/plugins/debugger/moduleswindow.cpp b/src/plugins/debugger/moduleswindow.cpp index ee23318b78934eabd9afba834a0f1193ff4217f8..390397f15d130d44d4400b31d51c14c074cf2f79 100644 --- a/src/plugins/debugger/moduleswindow.cpp +++ b/src/plugins/debugger/moduleswindow.cpp @@ -215,7 +215,10 @@ void ModulesWindow::setAlwaysResizeColumnsToContents(bool on) void ModulesWindow::setModel(QAbstractItemModel *model) { QTreeView::setModel(model); - setAlwaysResizeColumnsToContents(true); + if (header()) { + bool adjust = debuggerCore()->boolSetting(AlwaysAdjustModulesColumnWidths); + setAlwaysResizeColumnsToContents(adjust); + } } } // namespace Internal diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index 0c5a77bb2900c1c90321509a3e4a9eea3b32d7d8..f3f43cfa68d283d7cf42f4af6d00dd57e122f095 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -39,6 +39,11 @@ #include <utils/qtcassert.h> +#include <coreplugin/icore.h> +#include <QtGui/QMainWindow> +#include <QtGui/QMessageBox> +#include <QtCore/QTimer> + namespace Debugger { namespace Internal { @@ -89,13 +94,15 @@ private: DebuggerEngine *m_cppEngine; DebuggerEngine *m_activeEngine; int m_stackBoundary; + + QMessageBox *m_msg; }; QmlCppEnginePrivate::QmlCppEnginePrivate(QmlCppEngine *parent, const DebuggerStartParameters &sp) : q(parent), m_qmlEngine(createQmlEngine(sp, q)), - m_cppEngine(0), m_activeEngine(0) + m_cppEngine(0), m_activeEngine(0), m_msg(0) { setObjectName(QLatin1String("QmlCppEnginePrivate")); } @@ -150,6 +157,7 @@ QmlCppEngine::QmlCppEngine(const DebuggerStartParameters &sp, connect(d->m_qmlEngine->stackHandler()->model(), SIGNAL(modelReset()), d.data(), SLOT(qmlStackChanged()), Qt::QueuedConnection); connect(d->m_cppEngine, SIGNAL(stackFrameCompleted()), this, SIGNAL(stackFrameCompleted())); + connect(d->m_cppEngine, SIGNAL(requestRemoteSetup()), this, SIGNAL(requestRemoteSetup())); connect(d->m_qmlEngine, SIGNAL(stackFrameCompleted()), this, SIGNAL(stackFrameCompleted())); } @@ -587,6 +595,9 @@ void QmlCppEngine::slaveEngineStateChanged } else if (state() == InferiorStopRequested) { EDEBUG("... AN INFERIOR STOPPED EXPECTEDLY"); notifyInferiorStopOk(); + } else if (otherEngine->state() == EngineRunRequested && otherEngine == d->m_qmlEngine) { + EDEBUG("... BREAKPOINT HIT IN C++ BEFORE QML STARTUP"); + QTimer::singleShot(0, this, SLOT(skipCppBreakpoint())); } else if (state() == EngineRunRequested) { EDEBUG("... AN INFERIOR FAILED STARTUP, OTHER STOPPED EXPECTEDLY"); // wait for failure notification from other engine @@ -675,6 +686,31 @@ void QmlCppEngine::showMessage(const QString &msg, int channel, int timeout) con DebuggerEngine::showMessage(msg, channel, timeout); } +void QmlCppEngine::skipCppBreakpoint() +{ + // only used to skip breakpoint in CPP when QML not ready yet + QTC_ASSERT(d->m_cppEngine->state() == InferiorStopOk, return); + QTC_ASSERT(d->m_qmlEngine->state() == EngineRunRequested, return); + + if (!d->m_msg) { + Core::ICore * const core = Core::ICore::instance(); + d->m_msg = new QMessageBox(core->mainWindow()); + } + + if (d->m_msg->isHidden()) { + d->m_msg->setIcon(QMessageBox::Warning); + d->m_msg->setWindowTitle(tr("QML/C++ Debugging")); + d->m_msg->setText(tr("Cannot stop execution before QML engine is started. Skipping breakpoint.\nSuggestions: Move the breakpoint after QmlViewer initialization or switch to C++ only debugging")); + d->m_msg->setStandardButtons(QMessageBox::Ok); + d->m_msg->setDefaultButton(QMessageBox::Ok); + d->m_msg->setModal(false); + d->m_msg->show(); + } + + d->m_cppEngine->continueInferior(); + resetLocation(); +} + DebuggerEngine *QmlCppEngine::cppEngine() const { return d->m_cppEngine; diff --git a/src/plugins/debugger/qml/qmlcppengine.h b/src/plugins/debugger/qml/qmlcppengine.h index 2f7202b3980afdb842c83067ccce7f46f50597b6..322e4a9d4473c1044bbf38ea9ab6e00e026adf22 100644 --- a/src/plugins/debugger/qml/qmlcppengine.h +++ b/src/plugins/debugger/qml/qmlcppengine.h @@ -125,6 +125,9 @@ protected: void notifyEngineRunAndInferiorRunOk(); void notifyInferiorShutdownOk(); +protected slots: + void skipCppBreakpoint(); + private: void engineStateChanged(DebuggerState newState); void setState(DebuggerState newState, bool forced = false); diff --git a/src/plugins/debugger/registerwindow.cpp b/src/plugins/debugger/registerwindow.cpp index 9407618adffed5be9f5485f6bdc9b256aafce30f..491f314bb3f8670ef09af07ece01f0ebfa14db23 100644 --- a/src/plugins/debugger/registerwindow.cpp +++ b/src/plugins/debugger/registerwindow.cpp @@ -296,6 +296,10 @@ void RegisterWindow::setModel(QAbstractItemModel *model) { QTreeView::setModel(model); setAlwaysResizeColumnsToContents(true); + if (header()) { + bool adjust = debuggerCore()->boolSetting(AlwaysAdjustRegistersColumnWidths); + setAlwaysResizeColumnsToContents(adjust); + } } void RegisterWindow::reloadRegisters() diff --git a/src/plugins/debugger/snapshotwindow.cpp b/src/plugins/debugger/snapshotwindow.cpp index 92079f91e760b8ddc993dd483258005fe3ba36b9..6f1429611d8cab77ce14f92a099df1fcd159ebd4 100644 --- a/src/plugins/debugger/snapshotwindow.cpp +++ b/src/plugins/debugger/snapshotwindow.cpp @@ -135,6 +135,16 @@ void SnapshotWindow::removeSnapshot(int i) m_snapshotHandler->at(i)->quitDebugger(); } +void SnapshotWindow::setModel(QAbstractItemModel *model) +{ + QTreeView::setModel(model); + setAlwaysResizeColumnsToContents(true); + if (header()) { + bool adjust = debuggerCore()->boolSetting(AlwaysAdjustSnapshotsColumnWidths); + setAlwaysResizeColumnsToContents(adjust); + } +} + void SnapshotWindow::resizeColumnsToContents() { for (int i = model()->columnCount(); --i >= 0; ) diff --git a/src/plugins/debugger/snapshotwindow.h b/src/plugins/debugger/snapshotwindow.h index 3b6ce709c09f219aa579d03f63ed21a67d852d26..f9b2a399590e8595b3e261f432b44e1d317d55d3 100644 --- a/src/plugins/debugger/snapshotwindow.h +++ b/src/plugins/debugger/snapshotwindow.h @@ -59,6 +59,7 @@ private: void removeSnapshot(int i); void keyPressEvent(QKeyEvent *ev); void contextMenuEvent(QContextMenuEvent *ev); + void setModel(QAbstractItemModel *model); SnapshotHandler *m_snapshotHandler; }; diff --git a/src/plugins/debugger/stackwindow.cpp b/src/plugins/debugger/stackwindow.cpp index 92e0722e7acadfd06e77c6771f71fea5d1792a95..ef51bf71e51894cf89f9cac5041e686a4275794a 100644 --- a/src/plugins/debugger/stackwindow.cpp +++ b/src/plugins/debugger/stackwindow.cpp @@ -105,6 +105,10 @@ void StackWindow::setModel(QAbstractItemModel *model) //resizeColumnsToContents(); resizeColumnToContents(0); resizeColumnToContents(3); + if (header()) { + bool adjust = debuggerCore()->boolSetting(AlwaysAdjustStackColumnWidths); + setAlwaysResizeColumnsToContents(adjust); + } } void StackWindow::contextMenuEvent(QContextMenuEvent *ev) diff --git a/src/plugins/debugger/threadswindow.cpp b/src/plugins/debugger/threadswindow.cpp index 5d70e5a71d419c7448d880a4e8a213849c0c1eda..5d1c1de729e9566c0e258698af6180a103924b98 100644 --- a/src/plugins/debugger/threadswindow.cpp +++ b/src/plugins/debugger/threadswindow.cpp @@ -82,6 +82,10 @@ void ThreadsWindow::setModel(QAbstractItemModel *model) resizeColumnToContents(0); // Id resizeColumnToContents(4); // Line resizeColumnToContents(6); // Name + if (header()) { + bool adjust = debuggerCore()->boolSetting(AlwaysAdjustThreadsColumnWidths); + setAlwaysResizeColumnsToContents(adjust); + } } void ThreadsWindow::contextMenuEvent(QContextMenuEvent *ev) diff --git a/src/plugins/debugger/watchdata.cpp b/src/plugins/debugger/watchdata.cpp index 14dee8f87b4877a2180b7da98452b3383c85b83c..242eaf1b49164964f6a89ae6b7ecab44d81bc55d 100644 --- a/src/plugins/debugger/watchdata.cpp +++ b/src/plugins/debugger/watchdata.cpp @@ -68,6 +68,13 @@ bool isPointerType(const QByteArray &type) return type.endsWith('*') || type.endsWith("* const"); } +bool isVTablePointer(const QByteArray &type) +{ + // FIXME: That is cdb only. + // But no user type can be named like this, so this is safe. + return type.startsWith("__fptr()"); +} + bool isCharPointerType(const QByteArray &type) { return type == "char *" || type == "const char *" || type == "char const *"; @@ -276,7 +283,7 @@ void WatchData::setAddress(const quint64 &a) void WatchData::setHexAddress(const QByteArray &a) { bool ok; - const qint64 av = a.toULongLong(&ok, 16); + const qint64 av = a.toULongLong(&ok, 0); if (ok) { address = av; } else { diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 012bd1ebfe66ac2ec37168a80fff59b8ea477be9..825eb50b1994930cad034edc73e100a1838b73d2 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -296,6 +296,7 @@ QString WatchModel::displayType(const WatchData &data) const : data.displayedType; if (data.bitsize) base += QString(":%1").arg(data.bitsize); + base.remove('\''); return base; } @@ -366,14 +367,16 @@ static inline QString formattedValue(const WatchData &data, int format) return data.value; // Evil hack, covers 'unsigned' as well as quint64. if (data.type.contains('u')) - return reformatInteger(data.value.toULongLong(), format); + return reformatInteger(data.value.toULongLong(0, 0), format); return reformatInteger(data.value.toLongLong(), format); } - bool ok = false; - qulonglong integer = data.value.toULongLong(&ok, 0); - if (ok) - return reformatInteger(integer, format); + if (!isPointerType(data.type) && !isVTablePointer(data.type)) { + bool ok = false; + qulonglong integer = data.value.toULongLong(&ok, 0); + if (ok) + return reformatInteger(integer, format); + } QString result = data.value; result.replace(QLatin1Char('\n'), QLatin1String("\\n")); @@ -410,16 +413,11 @@ static inline QString formattedValue(const WatchData &data, int format) // "0x00000000`000003fd "Hallo"", or check gdb formatting of characters. static inline quint64 pointerValue(QString data) { - if (data.isEmpty() || !data.startsWith(QLatin1String("0x"))) - return 0; - data.remove(0, 2); const int blankPos = data.indexOf(QLatin1Char(' ')); if (blankPos != -1) data.truncate(blankPos); data.remove(QLatin1Char('`')); - bool ok; - const quint64 address = data.toULongLong(&ok, 16); - return ok ? address : quint64(0); + return data.toULongLong(0, 0); } // Return the type used for editing @@ -712,7 +710,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const return m_handler->m_expandedINames.contains(data.iname); case LocalsTypeFormatListRole: { - if (data.referencingAddress || data.type.endsWith('*')) + if (data.referencingAddress || isPointerType(data.type)) return QStringList() << tr("Raw pointer") << tr("Latin1 string") @@ -769,7 +767,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const } case LocalsAddressRole: - return data.coreAddress(); + return QVariant(data.coreAddress()); case LocalsReferencingAddressRole: return QVariant(data.referencingAddress); case LocalsSizeRole: @@ -845,7 +843,7 @@ Qt::ItemFlags WatchModel::flags(const QModelIndex &idx) const // source of a drag and drop operation and as a drop target. static const Qt::ItemFlags notEditable - = /* Qt::ItemIsSelectable | */ Qt::ItemIsEnabled; + = Qt::ItemIsSelectable | Qt::ItemIsEnabled; static const Qt::ItemFlags editable = notEditable | Qt::ItemIsEditable; // Disable editing if debuggee is positively running. diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp index 7356f31978a27858e7778d5b8d5ff3b3931ae90e..04e3782b5c1f9c37e390234e757e5af10937a3f3 100644 --- a/src/plugins/debugger/watchutils.cpp +++ b/src/plugins/debugger/watchutils.cpp @@ -737,7 +737,7 @@ static void setWatchDataExpression(WatchData &data, const GdbMi &mi) data.exp = mi.data(); } -static void setWatchDataAddress(WatchData &data, quint64 address , quint64 origAddress = 0) +static void setWatchDataAddress(WatchData &data, quint64 address, quint64 origAddress = 0) { if (origAddress) { // Gdb dumpers reports the dereferenced address as origAddress data.address = origAddress; diff --git a/src/plugins/debugger/watchutils.h b/src/plugins/debugger/watchutils.h index 77239dd9790a2a13ef3f1ef4107fb36474f028c7..360d69cf01d92c712f4a58cc41b948a02f98572b 100644 --- a/src/plugins/debugger/watchutils.h +++ b/src/plugins/debugger/watchutils.h @@ -82,6 +82,7 @@ bool hasLetterOrNumber(const QString &exp); bool hasSideEffects(const QString &exp); bool isKeyWord(const QString &exp); bool isPointerType(const QByteArray &type); +bool isVTablePointer(const QByteArray &type); bool isCharPointerType(const QByteArray &type); bool startsWithDigit(const QString &str); QByteArray stripPointerType(QByteArray type); diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index e1e598ef25f177a63daf42d1129b059abfe314fc..9d6eb066ee88b8de7d7848190049e06c25f720ae 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1839,8 +1839,15 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input) } else if (count() <= rightDist()) { setAnchor(); moveRight(count()); - replaceText(currentRange(), QString(count(), input.asChar())); - moveLeft(); + if (input.isReturn()) { + beginEditBlock(); + replaceText(currentRange(), QString()); + insertText(QString("\n")); + endEditBlock(); + } else { + replaceText(currentRange(), QString(count(), input.asChar())); + moveLeft(); + } setTargetColumn(); setDotCommand("%1r" + input.text(), count()); } diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 1bf34fdd5faada56337011b0d4a4877bc64b3805..df3b558a2fb9159d7531e63263245c42dbfedc7a 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -92,6 +92,10 @@ static QList<Abi> parseCoffHeader(const QByteArray &data) arch = Abi::X86Architecture; width = 32; break; + case 0x0166: // MIPS, little endian + arch = Abi::MipsArcitecture; + width = 32; + break; case 0x0200: // ia64 arch = Abi::ItaniumArchitecture; width = 64; @@ -736,6 +740,9 @@ void ProjectExplorer::ProjectExplorerPlugin::testAbiOfBinary_data() QTest::newRow("dynamic QtCore: win msys 32bit") << QString::fromLatin1("%1/dynamic/win-mingw-32bit.dll").arg(prefix) << (QStringList() << QString::fromLatin1("x86-windows-msys-pe-32bit")); + QTest::newRow("dynamic QtCore: wince msvc2005 32bit") + << QString::fromLatin1("%1/dynamic/wince-32bit.dll").arg(prefix) + << (QStringList() << QString::fromLatin1("mips-windows-msvc2005-pe-32bit")); QTest::newRow("dynamic stdc++: mac fat") << QString::fromLatin1("%1/dynamic/mac-fat.dylib").arg(prefix) << (QStringList() << QString::fromLatin1("x86-macos-generic-mach_o-32bit") diff --git a/src/plugins/projectexplorer/abiwidget.cpp b/src/plugins/projectexplorer/abiwidget.cpp index 2be1b9801adf49de56a5269f03df84d009a7e238..796b0823f557a2fa4d30eb3dd219a79e9679b3d2 100644 --- a/src/plugins/projectexplorer/abiwidget.cpp +++ b/src/plugins/projectexplorer/abiwidget.cpp @@ -151,6 +151,7 @@ void AbiWidget::setAbis(const QList<Abi> &abiList, const Abi ¤t) d->m_abi->addItem(tr("<custom>"), QLatin1String("custom")); d->m_abi->setCurrentIndex(0); + for (int i = 0; i < abiList.count(); ++i) { const QString abiString = abiList.at(i).toString(); d->m_abi->addItem(abiString, abiString); @@ -159,27 +160,12 @@ void AbiWidget::setAbis(const QList<Abi> &abiList, const Abi ¤t) } if (d->m_abi->currentIndex() == 0) { - if (!current.isValid() && !abiList.isEmpty()) { + if (!current.isValid() && !abiList.isEmpty()) d->m_abi->setCurrentIndex(1); // default to the first Abi if none is selected. - } else { - d->m_architectureComboBox->setCurrentIndex(static_cast<int>(current.architecture())); - d->m_osComboBox->setCurrentIndex(static_cast<int>(current.os())); - osChanged(); - for (int i = 0; i < d->m_osFlavorComboBox->count(); ++i) { - if (d->m_osFlavorComboBox->itemData(i).toInt() == current.osFlavor()) { - d->m_osFlavorComboBox->setCurrentIndex(i); - break; - } - } - d->m_binaryFormatComboBox->setCurrentIndex(static_cast<int>(current.binaryFormat())); - for (int i = 0; i < d->m_wordWidthComboBox->count(); ++i) { - if (d->m_wordWidthComboBox->itemData(i).toInt() == current.wordWidth()) { - d->m_wordWidthComboBox->setCurrentIndex(i); - break; - } - } - } + else + setCustomAbi(current); } + modeChanged(); blockSignals(false); } @@ -218,6 +204,31 @@ void AbiWidget::modeChanged() d->m_osFlavorComboBox->setEnabled(customMode); d->m_binaryFormatComboBox->setEnabled(customMode); d->m_wordWidthComboBox->setEnabled(customMode); + + if (!customMode) { + Abi current(d->m_abi->itemData(d->m_abi->currentIndex()).toString()); + setCustomAbi(current); + } +} + +void AbiWidget::setCustomAbi(const Abi ¤t) +{ + d->m_architectureComboBox->setCurrentIndex(static_cast<int>(current.architecture())); + d->m_osComboBox->setCurrentIndex(static_cast<int>(current.os())); + osChanged(); + for (int i = 0; i < d->m_osFlavorComboBox->count(); ++i) { + if (d->m_osFlavorComboBox->itemData(i).toInt() == current.osFlavor()) { + d->m_osFlavorComboBox->setCurrentIndex(i); + break; + } + } + d->m_binaryFormatComboBox->setCurrentIndex(static_cast<int>(current.binaryFormat())); + for (int i = 0; i < d->m_wordWidthComboBox->count(); ++i) { + if (d->m_wordWidthComboBox->itemData(i).toInt() == current.wordWidth()) { + d->m_wordWidthComboBox->setCurrentIndex(i); + break; + } + } } } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/abiwidget.h b/src/plugins/projectexplorer/abiwidget.h index 1b8a9350f01521f6dbdc1651f8be0e0c18f66049..2ca76e2d8d18a997f3d8f9ad3571c4db05b7da52 100644 --- a/src/plugins/projectexplorer/abiwidget.h +++ b/src/plugins/projectexplorer/abiwidget.h @@ -68,6 +68,8 @@ private slots: void modeChanged(); private: + void setCustomAbi(const Abi &a); + Internal::AbiWidgetPrivate *const d; }; diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp index 99b62823584bf7fc61bcf1b4b87a24b87906f0b5..c8acfb71b51945de8d504296f742107bd93f4540 100644 --- a/src/plugins/projectexplorer/appoutputpane.cpp +++ b/src/plugins/projectexplorer/appoutputpane.cpp @@ -69,6 +69,13 @@ static QObject *debuggerCore() return ExtensionSystem::PluginManager::instance()->getObjectByName("DebuggerCore"); } +static QString msgAttachDebuggerTooltip(const QString &handleDescription = QString()) +{ + return handleDescription.isEmpty() ? + AppOutputPane::tr("Attach debugger to this process") : + AppOutputPane::tr("Attach debugger to %1").arg(handleDescription); +} + AppOutputPane::RunControlTab::RunControlTab(RunControl *rc, Core::OutputWindow *w) : runControl(rc), window(w), asyncClosing(false) { @@ -109,7 +116,7 @@ AppOutputPane::AppOutputPane() : this, SLOT(stopRunControl())); // Attach - m_attachButton->setToolTip(tr("Attach debugger to this process")); + m_attachButton->setToolTip(msgAttachDebuggerTooltip()); m_attachButton->setEnabled(false); m_attachButton->setIcon(QIcon(ProjectExplorer::Constants::ICON_DEBUG_SMALL)); m_attachButton->setAutoRaise(true); @@ -251,6 +258,8 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc) this, SLOT(runControlStarted())); connect(rc, SIGNAL(finished()), this, SLOT(runControlFinished())); + connect(rc, SIGNAL(applicationProcessHandleChanged()), + this, SLOT(enableButtons())); connect(rc, SIGNAL(appendMessage(ProjectExplorer::RunControl*,QString,Utils::OutputFormat)), this, SLOT(appendMessage(ProjectExplorer::RunControl*,QString,Utils::OutputFormat))); @@ -423,33 +432,51 @@ void AppOutputPane::projectRemoved() tabChanged(m_tabWidget->currentIndex()); } -void AppOutputPane::tabChanged(int i) +void AppOutputPane::enableButtons() { - if (i == -1) { - m_stopAction->setEnabled(false); + const RunControl *rc = currentRunControl(); + const bool isRunning = rc && rc->isRunning(); + enableButtons(rc, isRunning); +} + +void AppOutputPane::enableButtons(const RunControl *rc /* = 0 */, bool isRunning /* = false */) +{ + if (rc) { + m_reRunButton->setEnabled(!isRunning); + m_reRunButton->setIcon(rc->icon()); + m_stopAction->setEnabled(isRunning); + if (isRunning && debuggerCore() && rc->applicationProcessHandle().isValid()) { + m_attachButton->setEnabled(true); + m_attachButton->setToolTip(msgAttachDebuggerTooltip(rc->applicationProcessHandle().toString())); + } else { + m_attachButton->setEnabled(false); + m_attachButton->setToolTip(msgAttachDebuggerTooltip()); + } + } else { m_reRunButton->setEnabled(false); + m_reRunButton->setIcon(QIcon(QLatin1String(ProjectExplorer::Constants::ICON_RUN_SMALL))); m_attachButton->setEnabled(false); - } else { - const int index = indexOf(m_tabWidget->widget(i)); - QTC_ASSERT(index != -1, return; ) + m_attachButton->setToolTip(msgAttachDebuggerTooltip()); + m_stopAction->setEnabled(false); + } +} - RunControl *rc = m_runControlTabs.at(index).runControl; - m_stopAction->setEnabled(rc->isRunning()); - m_reRunButton->setEnabled(!rc->isRunning()); - m_reRunButton->setIcon(rc->icon()); - m_attachButton->setEnabled(debuggerCore()); +void AppOutputPane::tabChanged(int i) +{ + const int index = indexOf(m_tabWidget->widget(i)); + if (i != -1) { + const RunControl *rc = m_runControlTabs.at(index).runControl; + enableButtons(rc, rc->isRunning()); + } else { + enableButtons(); } } void AppOutputPane::runControlStarted() { RunControl *current = currentRunControl(); - if (current && current == sender()) { - m_reRunButton->setEnabled(false); - m_stopAction->setEnabled(true); - m_attachButton->setEnabled(debuggerCore()); - m_reRunButton->setIcon(current->icon()); - } + if (current && current == sender()) + enableButtons(current, true); // RunControl::isRunning() cannot be trusted in signal handler. } void AppOutputPane::runControlFinished() @@ -466,12 +493,9 @@ void AppOutputPane::runControlFinished() qDebug() << "OutputPane::runControlFinished" << senderRunControl << senderIndex << " current " << current << m_runControlTabs.size(); - if (current && current == sender()) { - m_reRunButton->setEnabled(true); - m_stopAction->setEnabled(false); - m_attachButton->setEnabled(false); - m_reRunButton->setIcon(current->icon()); - } + if (current && current == sender()) + enableButtons(current, false); // RunControl::isRunning() cannot be trusted in signal handler. + // Check for asynchronous close. Close the tab. if (m_runControlTabs.at(senderIndex).asyncClosing) closeTab(tabWidgetIndexOf(senderIndex), CloseTabNoPrompt); diff --git a/src/plugins/projectexplorer/appoutputpane.h b/src/plugins/projectexplorer/appoutputpane.h index f16c866fce20b7b3af0f996cc3ea548df195438b..7336f23ea6ba67028552f620f83e3cf78d946aea 100644 --- a/src/plugins/projectexplorer/appoutputpane.h +++ b/src/plugins/projectexplorer/appoutputpane.h @@ -105,8 +105,11 @@ private slots: void aboutToUnloadSession(); void updateFromSettings(); + void enableButtons(); private: + void enableButtons(const RunControl *rc, bool isRunning); + struct RunControlTab { explicit RunControlTab(RunControl *runControl = 0, Core::OutputWindow *window = 0); diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.cpp b/src/plugins/projectexplorer/localapplicationruncontrol.cpp index dffb39f204fa093da0bd7cdaf23def035a2f4037..b1ca9cb635da831c0cb532b7f2a6279a0deb6e9b 100644 --- a/src/plugins/projectexplorer/localapplicationruncontrol.cpp +++ b/src/plugins/projectexplorer/localapplicationruncontrol.cpp @@ -139,6 +139,7 @@ void LocalApplicationRunControl::slotAppendMessage(const QString &err, void LocalApplicationRunControl::processExited(int exitCode) { + setApplicationProcessHandle(ProcessHandle()); QString msg = tr("%1 exited with code %2\n") .arg(QDir::toNativeSeparators(m_executable)).arg(exitCode); appendMessage(msg, Utils::NormalMessageFormat); diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index beb512dfbe87f2194863619bc8f4b1c15ba2f1be..9cf2ea89481ec9e464da1af59b11ada4d9fa4457 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -55,7 +55,11 @@ #include <QtGui/QFormLayout> #include <QtGui/QDesktopServices> -static const char debuggerCommandKeyC[] = "ProjectExplorer.MsvcToolChain.Debugger"; +#define KEY_ROOT "ProjectExplorer.MsvcToolChain." +static const char debuggerCommandKeyC[] = KEY_ROOT"Debugger"; +static const char varsBatKeyC[] = KEY_ROOT"VarsBat"; +static const char varsBatArgKeyC[] = KEY_ROOT"VarsBatArg"; +static const char supportedAbiKeyC[] = KEY_ROOT"SupportedAbi"; enum { debug = 0 }; @@ -352,12 +356,38 @@ MsvcToolChain::MsvcToolChain(const QString &name, const Abi &abi, Q_ASSERT(abi.binaryFormat() == Abi::PEFormat); Q_ASSERT(abi.osFlavor() != Abi::WindowsMSysFlavor); - setId(QString::fromLatin1("%1:%2.%3.%4").arg(Constants::MSVC_TOOLCHAIN_ID).arg(m_varsBat) - .arg(m_varsBatArg).arg(m_debuggerCommand)); - + updateId(); setDisplayName(name); } +MsvcToolChain::MsvcToolChain() : + ToolChain(QLatin1String(Constants::MSVC_TOOLCHAIN_ID), false), + m_lastEnvironment(Utils::Environment::systemEnvironment()) +{ +} + +MsvcToolChain *MsvcToolChain::readFromMap(const QVariantMap &data) +{ + MsvcToolChain *tc = new MsvcToolChain; + if (tc->fromMap(data)) + return tc; + delete tc; + return 0; +} + +void MsvcToolChain::updateId() +{ + const QChar colon = QLatin1Char(':'); + QString id = QLatin1String(Constants::MSVC_TOOLCHAIN_ID); + id += colon; + id += m_varsBat; + id += colon; + id += m_varsBatArg; + id += colon; + id += m_debuggerCommand; + setId(id); +} + QString MsvcToolChain::typeName() const { return MsvcToolChainFactory::tr("MSVC"); @@ -438,6 +468,7 @@ void MsvcToolChain::setDebuggerCommand(const QString &d) if (m_debuggerCommand == d) return; m_debuggerCommand = d; + updateId(); toolChainUpdated(); } @@ -449,7 +480,12 @@ QString MsvcToolChain::debuggerCommand() const QVariantMap MsvcToolChain::toMap() const { QVariantMap data = ToolChain::toMap(); - data.insert(QLatin1String(debuggerCommandKeyC), m_debuggerCommand); + if (!m_debuggerCommand.isEmpty()) + data.insert(QLatin1String(debuggerCommandKeyC), m_debuggerCommand); + data.insert(QLatin1String(varsBatKeyC), m_varsBat); + if (!m_varsBatArg.isEmpty()) + data.insert(QLatin1String(varsBatArgKeyC), m_varsBatArg); + data.insert(QLatin1String(supportedAbiKeyC), m_abi.toString()); return data; } @@ -457,9 +493,13 @@ bool MsvcToolChain::fromMap(const QVariantMap &data) { if (!ToolChain::fromMap(data)) return false; - - m_debuggerCommand= data.value(QLatin1String(debuggerCommandKeyC)).toString(); - return true; + m_varsBat = data.value(QLatin1String(varsBatKeyC)).toString(); + m_varsBatArg = data.value(QLatin1String(varsBatArgKeyC)).toString(); + m_debuggerCommand = data.value(QLatin1String(debuggerCommandKeyC)).toString(); + const QString abiString = data.value(QLatin1String(supportedAbiKeyC)).toString(); + m_abi = Abi(abiString); + updateId(); + return !m_varsBat.isEmpty() && m_abi.isValid(); } IOutputParser *MsvcToolChain::outputParser() const @@ -523,10 +563,13 @@ void MsvcDebuggerConfigLabel::slotLinkActivated(const QString &link) // -------------------------------------------------------------------------- MsvcToolChainConfigWidget::MsvcToolChainConfigWidget(ToolChain *tc) : - ToolChainConfigWidget(tc) + ToolChainConfigWidget(tc), + m_varsBatDisplayLabel(new QLabel(this)) { QFormLayout *formLayout = new QFormLayout(this); formLayout->addRow(new QLabel(tc->displayName())); + m_varsBatDisplayLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + formLayout->addRow(tr("Initialization:"), m_varsBatDisplayLabel); formLayout->addRow(new MsvcDebuggerConfigLabel); addDebuggerCommandControls(formLayout, QStringList(QLatin1String("-version"))); addDebuggerAutoDetection(this, SLOT(autoDetectDebugger())); @@ -545,6 +588,12 @@ void MsvcToolChainConfigWidget::setFromToolChain() { MsvcToolChain *tc = static_cast<MsvcToolChain *>(toolChain()); QTC_ASSERT(tc, return); + QString varsBatDisplay = tc->varsBat(); + if (!tc->varsBatArg().isEmpty()) { + varsBatDisplay += QLatin1Char(' '); + varsBatDisplay += tc->varsBatArg(); + } + m_varsBatDisplayLabel->setText(varsBatDisplay); setDebuggerCommand(tc->debuggerCommand()); } @@ -758,5 +807,10 @@ QString MsvcToolChain::autoDetectCdbDebugger(QStringList *checkedDirectories /* return QString(); } +bool MsvcToolChainFactory::canRestore(const QVariantMap &data) +{ + return idFromMap(data).startsWith(QLatin1String(Constants::MSVC_TOOLCHAIN_ID) + QLatin1Char(':')); +} + } // namespace Internal } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h index bde2695499b2519b469b330ec276fbecf0b36754..335e420e6349fc0625de2e6567e7751bb178650e 100644 --- a/src/plugins/projectexplorer/msvctoolchain.h +++ b/src/plugins/projectexplorer/msvctoolchain.h @@ -57,6 +57,8 @@ public: MsvcToolChain(const QString &name, const Abi &abi, const QString &varsBat, const QString &varsBatArg, bool autodetect = false); + static MsvcToolChain *readFromMap(const QVariantMap &data); + QString typeName() const; Abi targetAbi() const; @@ -79,9 +81,15 @@ public: bool canClone() const; ToolChain *clone() const; + QString varsBat() const { return m_varsBat; } + QString varsBatArg() const { return m_varsBatArg; } + static QString autoDetectCdbDebugger(QStringList *checkedDirectories = 0); private: + MsvcToolChain(); + void updateId(); + QString m_varsBat; // Script to setup environment QString m_varsBatArg; // Argument QString m_debuggerCommand; @@ -106,6 +114,10 @@ public: QList<ToolChain *> autoDetect(); + virtual bool canRestore(const QVariantMap &data); + virtual ToolChain *restore(const QVariantMap &data) + { return MsvcToolChain::readFromMap(data); } + ToolChainConfigWidget *configurationWidget(ToolChain *); }; @@ -146,6 +158,8 @@ private slots: private: void setFromToolChain(); + + QLabel *m_varsBatDisplayLabel; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 315817e164b316bd4f3de6552bd251e782cc2c62..15f866c2bb35209b7ddf37287c963e557724d1bd 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1304,12 +1304,7 @@ Project *ProjectExplorerPlugin::startupProject() const void ProjectExplorerPlugin::updateWelcomePage() { - WelcomePageData welcomePageData; - welcomePageData.sessionList = d->m_session->sessions(); - welcomePageData.activeSession = d->m_session->activeSession(); - welcomePageData.previousSession = d->m_session->lastSession(); - welcomePageData.projectList = d->m_recentProjects; - d->m_welcomePage->setWelcomePageData(welcomePageData); + d->m_welcomePage->reloadWelcomeScreenData(); } void ProjectExplorerPlugin::currentModeChanged(Core::IMode *mode, Core::IMode *oldMode) diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp index e24c7a22ca340899429d1f2788e8833bea514e25..30c08caedb2cd97c14ef2a553f703c6947ae1103 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.cpp +++ b/src/plugins/projectexplorer/projectwelcomepage.cpp @@ -51,7 +51,8 @@ SessionModel::SessionModel(SessionManager *manager, QObject *parent) QHash<int, QByteArray> roleNames; roleNames[Qt::DisplayRole] = "sessionName"; roleNames[DefaultSessionRole] = "defaultSession"; - roleNames[CurrentSessionRole] = "currentSession"; + roleNames[ActiveSessionRole] = "activeSession"; + roleNames[LastSessionRole] = "lastSession"; setRoleNames(roleNames); connect(manager, SIGNAL(sessionLoaded()), SLOT(resetSessions())); } @@ -63,18 +64,25 @@ int SessionModel::rowCount(const QModelIndex &) const QVariant SessionModel::data(const QModelIndex &index, int role) const { - if (role == Qt::DisplayRole || role == DefaultSessionRole || role == CurrentSessionRole) { + if (role == Qt::DisplayRole || role == DefaultSessionRole || + role == LastSessionRole || role == ActiveSessionRole) { QString sessionName = m_manager->sessions().at(index.row()); if (role == Qt::DisplayRole) return sessionName; else if (role == DefaultSessionRole) return m_manager->isDefaultSession(sessionName); - else if (role == CurrentSessionRole) - return sessionName == m_manager->currentSession(); + else if (role == LastSessionRole) + return m_manager->lastSession() == sessionName; + else if (role == ActiveSessionRole) + return m_manager->activeSession() == sessionName; } return QVariant(); } +bool SessionModel::isDefaultVirgin() const +{ + return m_manager->isDefaultVirgin(); +} void SessionModel::resetSessions() { @@ -123,7 +131,8 @@ void ProjectModel::resetProjects() /////////////////// -ProjectWelcomePage::ProjectWelcomePage() +ProjectWelcomePage::ProjectWelcomePage() : + m_sessionModel(0), m_projectModel(0) { } @@ -131,10 +140,13 @@ void ProjectWelcomePage::facilitateQml(QDeclarativeEngine *engine) { static const char feedGroupName[] = "Feeds"; - QDeclarativeContext *ctx = engine->rootContext(); ProjectExplorerPlugin *pePlugin = ProjectExplorer::ProjectExplorerPlugin::instance(); - ctx->setContextProperty("sessionList", new SessionModel(pePlugin->session(), this)); - ctx->setContextProperty("projectList", new ProjectModel(pePlugin, this)); + m_sessionModel = new SessionModel(pePlugin->session(), this); + m_projectModel = new ProjectModel(pePlugin, this); + + QDeclarativeContext *ctx = engine->rootContext(); + ctx->setContextProperty("sessionList", m_sessionModel); + ctx->setContextProperty("projectList", m_projectModel); Core::MultiFeedRssModel *rssModel = new Core::MultiFeedRssModel(this); QSettings *settings = Core::ICore::instance()->settings(); if (settings->childGroups().contains(feedGroupName)) { @@ -154,9 +166,12 @@ void ProjectWelcomePage::facilitateQml(QDeclarativeEngine *engine) ctx->setContextProperty("projectWelcomePage", this); } -void ProjectWelcomePage::setWelcomePageData(const WelcomePageData &welcomePageData) +void ProjectWelcomePage::reloadWelcomeScreenData() { - m_welcomePageData = welcomePageData; + if (m_sessionModel) + m_sessionModel->resetSessions(); + if (m_projectModel) + m_projectModel->resetProjects(); } } // namespace Internal diff --git a/src/plugins/projectexplorer/projectwelcomepage.h b/src/plugins/projectexplorer/projectwelcomepage.h index f63009f8988c159eeefe1b03bc08327303048d8b..50e3ef68597dce6553c7e0b8e575dc4f474ff074 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.h +++ b/src/plugins/projectexplorer/projectwelcomepage.h @@ -50,27 +50,18 @@ class SessionManager; namespace Internal { -struct WelcomePageData { - bool operator==(const WelcomePageData &rhs) const; - bool operator!=(const WelcomePageData &rhs) const; - - QString previousSession; - QString activeSession; - QStringList sessionList; - QList<QPair<QString, QString> > projectList; // pair of filename, displayname -}; - - class SessionModel : public QAbstractListModel { Q_OBJECT public: - enum { DefaultSessionRole = Qt::UserRole+1, CurrentSessionRole }; + enum { DefaultSessionRole = Qt::UserRole+1, LastSessionRole, ActiveSessionRole }; SessionModel(SessionManager* manager, QObject* parent = 0); int rowCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; + Q_SCRIPTABLE bool isDefaultVirgin() const; + public slots: void resetSessions(); @@ -108,15 +99,15 @@ public: QString title() const { return tr("Develop"); } int priority() const { return 20; } - void setWelcomePageData(const WelcomePageData &welcomePageData); + void reloadWelcomeScreenData(); signals: void requestProject(const QString &project); void requestSession(const QString &session); void manageSessions(); - private: - WelcomePageData m_welcomePageData; + SessionModel *m_sessionModel; + ProjectModel *m_projectModel; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 42bb2bc277e44fed645d7424fd308d2870347c8d..c9c93a0ea103d573a64f49493e1b19868cb24475 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -154,8 +154,43 @@ IRunConfigurationFactory *findRunConfigurationFactory(RunConfigurationFactoryMat \class ProjectExplorer::ProcessHandle \brief Helper class to describe a process. + Encapsulates parameters of a running process, local (PID) or remote (to be done, + address, port, etc). */ +ProcessHandle::ProcessHandle(quint64 pid) : + m_pid(pid) +{ +} + +bool ProcessHandle::isValid() const +{ + return m_pid != 0; +} + +void ProcessHandle::setPid(quint64 pid) +{ + m_pid = pid; +} + +quint64 ProcessHandle::pid() const +{ + return m_pid; +} + +QString ProcessHandle::toString() const +{ + if (m_pid) + return RunControl::tr("PID %1").arg(m_pid); + //: Invalid process handle. + return RunControl::tr("Invalid"); +} + +bool ProcessHandle::equals(const ProcessHandle &rhs) const +{ + return m_pid == rhs.m_pid; +} + /*! \class ProjectExplorer::RunConfiguration \brief Base class for a run configuration. A run configuration specifies how a @@ -506,7 +541,10 @@ ProcessHandle RunControl::applicationProcessHandle() const void RunControl::setApplicationProcessHandle(const ProcessHandle &handle) { - m_applicationProcessHandle = handle; + if (m_applicationProcessHandle != handle) { + m_applicationProcessHandle = handle; + emit applicationProcessHandleChanged(); + } } bool RunControl::promptToStop(bool *optionalPrompt) const diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 0ae9a88983cb6a6c198f14dfd8c70e4e010e95da..b5fb55f77141ffdbdfdaf1824e8f327e9f01a91b 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -55,16 +55,22 @@ class Target; class PROJECTEXPLORER_EXPORT ProcessHandle { public: - explicit ProcessHandle(quint64 pid = 0) : m_pid(pid) {} + explicit ProcessHandle(quint64 pid = 0); - bool isValid() const { return m_pid != 0; } - void setPid(quint64 pid) { m_pid = pid; } - quint64 pid() const { return m_pid; } + bool isValid() const; + void setPid(quint64 pid); + quint64 pid() const; + QString toString() const; + + bool equals(const ProcessHandle &) const; private: quint64 m_pid; }; +inline bool operator==(const ProcessHandle &p1, const ProcessHandle &p2) { return p1.equals(p2); } +inline bool operator!=(const ProcessHandle &p1, const ProcessHandle &p2) { return !p1.equals(p2); } + // Documentation inside. class PROJECTEXPLORER_EXPORT RunConfiguration : public ProjectConfiguration { @@ -241,6 +247,7 @@ signals: const QString &msg, Utils::OutputFormat format); void started(); void finished(); + void applicationProcessHandleChanged(); private slots: void bringApplicationToForegroundInternal(); diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 9699943ec5ac17bac62f6a9dc75192c2430a7ce9..6a2929ff28150961cafb0e9f25b956344a84cbb3 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -834,7 +834,7 @@ void SessionManager::configureEditor(Core::IEditor *editor, const QString &fileN QString SessionManager::currentSession() const { - return m_file->fileName(); + return QFileInfo(m_file->fileName()).completeBaseName(); } void SessionManager::updateWindowTitle() diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h index 709dd5d394be61f038a786b1d498eb8f52867ea8..c63689946f49bcb77a0bea8fb7035469f4483405 100644 --- a/src/plugins/projectexplorer/session.h +++ b/src/plugins/projectexplorer/session.h @@ -104,6 +104,7 @@ public: void removeDependency(Project *project, Project *depProject); QString currentSession() const; + QString sessionNameToFileName(const QString &session) const; Project *startupProject() const; const QList<Project *> &projects() const; @@ -154,7 +155,6 @@ private slots: private: bool loadImpl(const QString &fileName); bool createImpl(const QString &fileName); - QString sessionNameToFileName(const QString &session) const; bool projectContainsFile(Project *p, const QString &fileName) const; bool recursiveDependencyCheck(const QString &newDep, const QString &checkDep) const; diff --git a/src/plugins/projectexplorer/sessionnodeimpl.cpp b/src/plugins/projectexplorer/sessionnodeimpl.cpp index e718bf05f30f96272976e3e496e855802116f09d..96327f79605ca0d12629f1fc1753dd4cce02c5da 100644 --- a/src/plugins/projectexplorer/sessionnodeimpl.cpp +++ b/src/plugins/projectexplorer/sessionnodeimpl.cpp @@ -37,7 +37,9 @@ namespace ProjectExplorer { namespace Internal { SessionNodeImpl::SessionNodeImpl(SessionManager *manager) - : ProjectExplorer::SessionNode(manager->currentSession(), manager) + : ProjectExplorer::SessionNode( + manager->sessionNameToFileName(manager->currentSession()), + manager) { setFileName(QLatin1String("session")); } diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp index 0b4d5105dd3b6e24da5da54170156f46d8cea992..27f2d0122f51795c0a523393afe8d7bb7278cf7c 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp @@ -217,21 +217,8 @@ void AbstractFormEditorTool::mouseReleaseEvent(const QList<QGraphicsItem*> & /*i } } -void AbstractFormEditorTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent *event) -{ - FormEditorItem *formEditorItem = topFormEditorItem(itemList); - if (formEditorItem) { - ModelNode doubleClickNode = formEditorItem->qmlItemNode().modelNode(); - if (doubleClickNode.metaInfo().isComponent()) { - Core::EditorManager::instance()->openEditor(doubleClickNode.metaInfo().componentFileName()); - event->accept(); - } else if (checkIfNodeIsAView(doubleClickNode) && - doubleClickNode.hasNodeProperty("delegate") && - doubleClickNode.nodeProperty("delegate").modelNode().metaInfo().isComponent()) { - Core::EditorManager::instance()->openEditor(doubleClickNode.nodeProperty("delegate").modelNode().metaInfo().componentFileName()); - event->accept(); - } - } +void AbstractFormEditorTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &, QGraphicsSceneMouseEvent *) +{ } void AbstractFormEditorTool::showContextMenu(QGraphicsSceneMouseEvent *event) diff --git a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp index 38556c08cb1d16aa60e55d692b8e8f7940c231e4..f2f95f52cd30fb8d8a7f7f8ebe9806eb4f7514d2 100644 --- a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp @@ -379,7 +379,7 @@ void DragTool::dragMoveEvent(QGraphicsSceneDragDropEvent * event) createQmlItemNode(itemLibraryEntry, parentNode, event->scenePos()); } else if (event->mimeData()->hasFormat("application/vnd.bauhaus.libraryresource")) { Q_ASSERT(!event->mimeData()->data("application/vnd.bauhaus.libraryresource").isEmpty()); - QString imageName = QString::fromLatin1((event->mimeData()->data("application/vnd.bauhaus.libraryresource"))); + QString imageName = QString::fromUtf8((event->mimeData()->data("application/vnd.bauhaus.libraryresource"))); createQmlItemNodeFromImage(imageName, parentNode, event->scenePos()); } else Q_ASSERT(false); m_blockMove = true; @@ -404,7 +404,7 @@ void DragTool::move(QPointF scenePos) return; FormEditorItem *containerItem = calculateContainer(scenePos - QPoint(2, 2), m_movingItem.data()); - if (containerItem && + if (containerItem && m_movingItem->parentItem() && containerItem != m_movingItem->parentItem()) { m_moveManipulator.reparentTo(containerItem); diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp index c3b6993659a384b6d13ec638a053f897f0a87918..43c7337cd4ec7d5694e1fa600a49fffb839de562 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp @@ -83,24 +83,26 @@ void FormEditorGraphicsView::wheelEvent(QWheelEvent *event) void FormEditorGraphicsView::mouseMoveEvent(QMouseEvent *event) { - if (rect().contains(event->pos())) { - QGraphicsView::mouseMoveEvent(event); - } else { - QPoint position = event->pos(); - QPoint topLeft = rect().topLeft(); - QPoint bottomRight = rect().bottomRight(); - position.rx() = qMax(topLeft.x(), qMin(position.x(), bottomRight.x())); - position.ry() = qMax(topLeft.y(), qMin(position.y(), bottomRight.y())); - QMouseEvent *mouseEvent = QMouseEvent::createExtendedMouseEvent(event->type(), position, mapToGlobal(position), event->button(), event->buttons(), event->modifiers()); - - QGraphicsView::mouseMoveEvent(mouseEvent); - delete mouseEvent; - } - - // Keeps the feedback bubble within screen boundraries - int tx = qMin(width() - 114, qMax(16, event->pos().x() + 50)); - int ty = qMin(height() - 45, qMax(10, event->pos().y() - 70)); - m_feedbackOriginPoint = QPoint(tx, ty); + QGraphicsView::mouseMoveEvent(event); + +// if (rect().contains(event->pos())) { +// QGraphicsView::mouseMoveEvent(event); +// } else { +// QPoint position = event->pos(); +// QPoint topLeft = rect().topLeft(); +// QPoint bottomRight = rect().bottomRight(); +// position.rx() = qMax(topLeft.x(), qMin(position.x(), bottomRight.x())); +// position.ry() = qMax(topLeft.y(), qMin(position.y(), bottomRight.y())); +// QMouseEvent *mouseEvent = QMouseEvent::createExtendedMouseEvent(event->type(), position, mapToGlobal(position), event->button(), event->buttons(), event->modifiers()); + +// QGraphicsView::mouseMoveEvent(mouseEvent); +// delete mouseEvent; +// } + +// // Keeps the feedback bubble within screen boundraries +// int tx = qMin(width() - 114, qMax(16, event->pos().x() + 50)); +// int ty = qMin(height() - 45, qMax(10, event->pos().y() - 70)); +// m_feedbackOriginPoint = QPoint(tx, ty); } void FormEditorGraphicsView::keyPressEvent(QKeyEvent *event) @@ -127,21 +129,22 @@ void FormEditorGraphicsView::mousePressEvent(QMouseEvent *mouseEvent) void FormEditorGraphicsView::mouseReleaseEvent(QMouseEvent *event) { - if (rect().contains(event->pos())) { - QGraphicsView::mouseReleaseEvent(event); - } else { - QPoint position = event->pos(); - QPoint topLeft = rect().topLeft(); - QPoint bottomRight = rect().bottomRight(); - position.rx() = qMax(topLeft.x(), qMin(position.x(), bottomRight.x())); - position.ry() = qMax(topLeft.y(), qMin(position.y(), bottomRight.y())); - QMouseEvent *mouseEvent = QMouseEvent::createExtendedMouseEvent(event->type(), position, mapToGlobal(position), event->button(), event->buttons(), event->modifiers()); - - QGraphicsView::mouseReleaseEvent(mouseEvent); - delete mouseEvent; - } - - m_feedbackOriginPoint = QPoint(); + QGraphicsView::mouseReleaseEvent(event); +// if (rect().contains(event->pos())) { +// QGraphicsView::mouseReleaseEvent(event); +// } else { +// QPoint position = event->pos(); +// QPoint topLeft = rect().topLeft(); +// QPoint bottomRight = rect().bottomRight(); +// position.rx() = qMax(topLeft.x(), qMin(position.x(), bottomRight.x())); +// position.ry() = qMax(topLeft.y(), qMin(position.y(), bottomRight.y())); +// QMouseEvent *mouseEvent = QMouseEvent::createExtendedMouseEvent(event->type(), position, mapToGlobal(position), event->button(), event->buttons(), event->modifiers()); + +// QGraphicsView::mouseReleaseEvent(mouseEvent); +// delete mouseEvent; +// } + +// m_feedbackOriginPoint = QPoint(); } void FormEditorGraphicsView::leaveEvent(QEvent *event) @@ -150,162 +153,162 @@ void FormEditorGraphicsView::leaveEvent(QEvent *event) QGraphicsView::leaveEvent(event); } -static QPixmap createBubblePixmap() -{ - QPixmap pixmap(124, 48); - pixmap.fill(Qt::transparent); - QPainter pmPainter(&pixmap); - pmPainter.setRenderHint(QPainter::Antialiasing); - pmPainter.setOpacity(0.85); - pmPainter.translate(0.5, 0.5); - pmPainter.setPen(Qt::NoPen); - pmPainter.setBrush(QColor(0, 0, 0, 40)); - pmPainter.drawRoundedRect(QRect(0, 0, 124, 48), 8, 8); - QLinearGradient gradient(QPoint(0, 0), QPoint(0, 44)); - gradient.setColorAt(0.0, QColor(70, 70, 70)); - gradient.setColorAt(1.0, QColor(10, 10, 10)); - pmPainter.setBrush(gradient); - pmPainter.setPen(QColor(60, 60, 60)); - pmPainter.drawRoundedRect(QRect(2, 1, 120, 45), 5, 5); - pmPainter.setBrush(Qt::NoBrush); - pmPainter.setPen(QColor(255, 255, 255, 140)); - pmPainter.drawRoundedRect(QRect(3, 2, 118, 43), 5, 5); - pmPainter.end(); - return pixmap; -} - -void FormEditorGraphicsView::drawForeground(QPainter *painter, const QRectF &/*rect*/ ) +//static QPixmap createBubblePixmap() +//{ +// QPixmap pixmap(124, 48); +// pixmap.fill(Qt::transparent); +// QPainter pmPainter(&pixmap); +// pmPainter.setRenderHint(QPainter::Antialiasing); +// pmPainter.setOpacity(0.85); +// pmPainter.translate(0.5, 0.5); +// pmPainter.setPen(Qt::NoPen); +// pmPainter.setBrush(QColor(0, 0, 0, 40)); +// pmPainter.drawRoundedRect(QRect(0, 0, 124, 48), 8, 8); +// QLinearGradient gradient(QPoint(0, 0), QPoint(0, 44)); +// gradient.setColorAt(0.0, QColor(70, 70, 70)); +// gradient.setColorAt(1.0, QColor(10, 10, 10)); +// pmPainter.setBrush(gradient); +// pmPainter.setPen(QColor(60, 60, 60)); +// pmPainter.drawRoundedRect(QRect(2, 1, 120, 45), 5, 5); +// pmPainter.setBrush(Qt::NoBrush); +// pmPainter.setPen(QColor(255, 255, 255, 140)); +// pmPainter.drawRoundedRect(QRect(3, 2, 118, 43), 5, 5); +// pmPainter.end(); +// return pixmap; +//} + +void FormEditorGraphicsView::drawForeground(QPainter * /*painter*/, const QRectF & /*rect*/ ) { - if (!m_feedbackNode.isValid()) - return; - - if (m_feedbackOriginPoint.isNull()) - return; - - painter->save(); - painter->resetTransform(); - painter->translate(m_feedbackOriginPoint); - - QColor defaultColor(Qt::white); - QColor changeColor("#9999ff"); - - QFont font; - font.setFamily("Helvetica"); - font.setPixelSize(12); - painter->setFont(font); - - if (m_bubblePixmap.isNull()) - m_bubblePixmap = createBubblePixmap(); - painter->drawPixmap(-13, -7, m_bubblePixmap); - - if (m_beginXHasExpression) { - if(m_feedbackNode.hasBindingProperty("x")) - painter->setPen(defaultColor); - else - painter->setPen(Qt::red); - } else { - if (m_beginX != m_feedbackNode.instanceValue("x")) - painter->setPen(changeColor); - else - painter->setPen(defaultColor); - } - - painter->drawText(QPoint(8.0, 13.0), QString("x:")); - painter->drawText(QPoint(22.0, 13.0), m_feedbackNode.instanceValue("x").toString()); - - - if (m_beginYHasExpression) { - if(m_feedbackNode.hasBindingProperty("y")) - painter->setPen(defaultColor); - else - painter->setPen(Qt::red); - } else { - if (m_beginY != m_feedbackNode.instanceValue("y")) - painter->setPen(changeColor); - else - painter->setPen(defaultColor); - } - - painter->drawText(QPoint(60.0, 13.0), QString("y:")); - painter->drawText(QPoint(72.0, 13.0), m_feedbackNode.instanceValue("y").toString()); - - - if (m_beginWidthHasExpression) { - if(m_feedbackNode.hasBindingProperty("width")) - painter->setPen(defaultColor); - else - painter->setPen(Qt::red); - } else { - if (m_beginWidth != m_feedbackNode.instanceValue("width")) - painter->setPen(changeColor); - else - painter->setPen(defaultColor); - } - - painter->drawText(QPoint(8.0, 29.0), QString("w:")); - painter->drawText(QPoint(22.0, 29.0), m_feedbackNode.instanceValue("width").toString()); - - - if (m_beginHeightHasExpression) { - if(m_feedbackNode.hasBindingProperty("height")) - painter->setPen(defaultColor); - else - painter->setPen(Qt::red); - } else { - if (m_beginHeight != m_feedbackNode.instanceValue("height")) - painter->setPen(changeColor); - else - painter->setPen(defaultColor); - } - - painter->drawText(QPoint(60.0, 29.0), QString("h:")); - painter->drawText(QPoint(72.0, 29.0), m_feedbackNode.instanceValue("height").toString()); - - if (m_parentNode != m_feedbackNode.instanceParent()) { - painter->setPen(changeColor); - painter->drawText(QPoint(2.0, 39.0), QString("Parent changed")); - - } - - painter->restore(); +// if (!m_feedbackNode.isValid()) +// return; + +// if (m_feedbackOriginPoint.isNull()) +// return; + +// painter->save(); +// painter->resetTransform(); +// painter->translate(m_feedbackOriginPoint); + +// QColor defaultColor(Qt::white); +// QColor changeColor("#9999ff"); + +// QFont font; +// font.setFamily("Helvetica"); +// font.setPixelSize(12); +// painter->setFont(font); + +// if (m_bubblePixmap.isNull()) +// m_bubblePixmap = createBubblePixmap(); +// painter->drawPixmap(-13, -7, m_bubblePixmap); + +// if (m_beginXHasExpression) { +// if(m_feedbackNode.hasBindingProperty("x")) +// painter->setPen(defaultColor); +// else +// painter->setPen(Qt::red); +// } else { +// if (m_beginX != m_feedbackNode.instanceValue("x")) +// painter->setPen(changeColor); +// else +// painter->setPen(defaultColor); +// } + +// painter->drawText(QPoint(8.0, 13.0), QString("x:")); +// painter->drawText(QPoint(22.0, 13.0), m_feedbackNode.instanceValue("x").toString()); + + +// if (m_beginYHasExpression) { +// if(m_feedbackNode.hasBindingProperty("y")) +// painter->setPen(defaultColor); +// else +// painter->setPen(Qt::red); +// } else { +// if (m_beginY != m_feedbackNode.instanceValue("y")) +// painter->setPen(changeColor); +// else +// painter->setPen(defaultColor); +// } + +// painter->drawText(QPoint(60.0, 13.0), QString("y:")); +// painter->drawText(QPoint(72.0, 13.0), m_feedbackNode.instanceValue("y").toString()); + + +// if (m_beginWidthHasExpression) { +// if(m_feedbackNode.hasBindingProperty("width")) +// painter->setPen(defaultColor); +// else +// painter->setPen(Qt::red); +// } else { +// if (m_beginWidth != m_feedbackNode.instanceValue("width")) +// painter->setPen(changeColor); +// else +// painter->setPen(defaultColor); +// } + +// painter->drawText(QPoint(8.0, 29.0), QString("w:")); +// painter->drawText(QPoint(22.0, 29.0), m_feedbackNode.instanceValue("width").toString()); + + +// if (m_beginHeightHasExpression) { +// if(m_feedbackNode.hasBindingProperty("height")) +// painter->setPen(defaultColor); +// else +// painter->setPen(Qt::red); +// } else { +// if (m_beginHeight != m_feedbackNode.instanceValue("height")) +// painter->setPen(changeColor); +// else +// painter->setPen(defaultColor); +// } + +// painter->drawText(QPoint(60.0, 29.0), QString("h:")); +// painter->drawText(QPoint(72.0, 29.0), m_feedbackNode.instanceValue("height").toString()); + +// if (m_parentNode != m_feedbackNode.instanceParent()) { +// painter->setPen(changeColor); +// painter->drawText(QPoint(2.0, 39.0), QString("Parent changed")); + +// } + +// painter->restore(); } -void FormEditorGraphicsView::setFeedbackNode(const QmlItemNode &node) +void FormEditorGraphicsView::setFeedbackNode(const QmlItemNode & /*node*/) { - if (node == m_feedbackNode) - return; - - m_feedbackNode = node; - - if (m_feedbackNode.isValid()) { - m_beginX = m_feedbackNode.instanceValue("x"); - m_beginY = m_feedbackNode.instanceValue("y"); - m_beginWidth = m_feedbackNode.instanceValue("width"); - m_beginHeight = m_feedbackNode.instanceValue("height"); - m_parentNode = m_feedbackNode.instanceParent(); - m_beginLeftMargin = m_feedbackNode.instanceValue("anchors.leftMargin"); - m_beginRightMargin = m_feedbackNode.instanceValue("anchors.rightMargin"); - m_beginTopMargin = m_feedbackNode.instanceValue("anchors.topMargin"); - m_beginBottomMargin = m_feedbackNode.instanceValue("anchors.bottomMargin"); - m_beginXHasExpression = m_feedbackNode.hasBindingProperty("x"); - m_beginYHasExpression = m_feedbackNode.hasBindingProperty("y"); - m_beginWidthHasExpression = m_feedbackNode.hasBindingProperty("width"); - m_beginHeightHasExpression = m_feedbackNode.hasBindingProperty("height"); - } else { - m_beginX = QVariant(); - m_beginY = QVariant(); - m_beginWidth = QVariant(); - m_beginHeight = QVariant(); - m_parentNode = QmlObjectNode(); - m_beginLeftMargin = QVariant(); - m_beginRightMargin = QVariant(); - m_beginTopMargin = QVariant(); - m_beginBottomMargin = QVariant(); - m_beginXHasExpression = false; - m_beginYHasExpression = false; - m_beginWidthHasExpression = false; - m_beginHeightHasExpression = false; - } +// if (node == m_feedbackNode) +// return; + +// m_feedbackNode = node; + +// if (m_feedbackNode.isValid()) { +// m_beginX = m_feedbackNode.instanceValue("x"); +// m_beginY = m_feedbackNode.instanceValue("y"); +// m_beginWidth = m_feedbackNode.instanceValue("width"); +// m_beginHeight = m_feedbackNode.instanceValue("height"); +// m_parentNode = m_feedbackNode.instanceParent(); +// m_beginLeftMargin = m_feedbackNode.instanceValue("anchors.leftMargin"); +// m_beginRightMargin = m_feedbackNode.instanceValue("anchors.rightMargin"); +// m_beginTopMargin = m_feedbackNode.instanceValue("anchors.topMargin"); +// m_beginBottomMargin = m_feedbackNode.instanceValue("anchors.bottomMargin"); +// m_beginXHasExpression = m_feedbackNode.hasBindingProperty("x"); +// m_beginYHasExpression = m_feedbackNode.hasBindingProperty("y"); +// m_beginWidthHasExpression = m_feedbackNode.hasBindingProperty("width"); +// m_beginHeightHasExpression = m_feedbackNode.hasBindingProperty("height"); +// } else { +// m_beginX = QVariant(); +// m_beginY = QVariant(); +// m_beginWidth = QVariant(); +// m_beginHeight = QVariant(); +// m_parentNode = QmlObjectNode(); +// m_beginLeftMargin = QVariant(); +// m_beginRightMargin = QVariant(); +// m_beginTopMargin = QVariant(); +// m_beginBottomMargin = QVariant(); +// m_beginXHasExpression = false; +// m_beginYHasExpression = false; +// m_beginWidthHasExpression = false; +// m_beginHeightHasExpression = false; +// } } void FormEditorGraphicsView::drawBackground(QPainter *painter, const QRectF &rectangle) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp index bedfac68d9adf27634a4bbf14f88e13fdc1e3865..fd3d824a1533c904f6affbc408397700cbcb1642 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp @@ -65,7 +65,8 @@ FormEditorItem::FormEditorItem(const QmlItemNode &qmlItemNode, FormEditorScene* m_qmlItemNode(qmlItemNode), m_borderWidth(1.0), m_highlightBoundingRect(false), - m_isContentVisible(true) + m_isContentVisible(true), + m_isFormEditorVisible(true) { setCacheMode(QGraphicsItem::DeviceCoordinateCache); setup(); @@ -195,6 +196,17 @@ bool FormEditorItem::isContentVisible() const return m_isContentVisible; } + +bool FormEditorItem::isFormEditorVisible() const +{ + return m_isFormEditorVisible; +} +void FormEditorItem::setFormEditorVisible(bool isVisible) +{ + m_isFormEditorVisible = isVisible; + setVisible(isVisible); +} + FormEditorItem::~FormEditorItem() { scene()->removeItemFromHash(this); diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.h b/src/plugins/qmldesigner/components/formeditor/formeditoritem.h index 0232dd18a98862e849e65549e5c198630e068538..b3874cabf136e99e248833dd433eed5398bc7ac2 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.h +++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.h @@ -106,6 +106,9 @@ public: void setContentVisible(bool visible); bool isContentVisible() const; + bool isFormEditorVisible() const; + void setFormEditorVisible(bool isVisible); + protected: AbstractFormEditorTool* tool() const; void paintBoundingRect(QPainter *painter) const; @@ -129,6 +132,7 @@ private: // variables double m_borderWidth; bool m_highlightBoundingRect; bool m_isContentVisible; + bool m_isFormEditorVisible; }; diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index a2ed9a85548df68686f54b923db75bf61fa38d11..08e63291d53669b1ef49e70ca6e3f22cbeb991b9 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -131,6 +131,38 @@ void FormEditorView::setupFormEditorItemTree(const QmlItemNode &qmlItemNode) setupFormEditorItemTree(nextNode.toQmlItemNode()); } +void FormEditorView::removeNodeFromScene(const QmlItemNode &qmlItemNode) +{ + if (qmlItemNode.isValid()) { + QList<QmlItemNode> nodeList; + nodeList.append(qmlItemNode.allSubModelNodes()); + nodeList.append(qmlItemNode); + + QList<FormEditorItem*> removedItemList; + removedItemList.append(scene()->itemsForQmlItemNodes(nodeList)); + m_currentTool->itemsAboutToRemoved(removedItemList); + + qDeleteAll(removedItemList); + } +} + +void FormEditorView::hideNodeFromScene(const QmlItemNode &qmlItemNode) +{ + if (qmlItemNode.isValid()) { + + FormEditorItem *item = m_scene->itemForQmlItemNode(qmlItemNode); + + QList<QmlItemNode> nodeList; + nodeList.append(qmlItemNode.allSubModelNodes()); + nodeList.append(qmlItemNode); + + QList<FormEditorItem*> removedItemList; + removedItemList.append(scene()->itemsForQmlItemNodes(nodeList)); + m_currentTool->itemsAboutToRemoved(removedItemList); + item->setFormEditorVisible(false); + } +} + void FormEditorView::nodeCreated(const ModelNode &createdNode) { QmlModelView::nodeCreated(createdNode); @@ -164,20 +196,7 @@ void FormEditorView::nodeAboutToBeRemoved(const ModelNode &removedNode) { QmlItemNode qmlItemNode(removedNode); - if (qmlItemNode.isValid()) { - - FormEditorItem *item = m_scene->itemForQmlItemNode(qmlItemNode); - - QList<QmlItemNode> nodeList; - nodeList.append(qmlItemNode.allSubModelNodes()); - nodeList.append(qmlItemNode); - - QList<FormEditorItem*> removedItemList; - removedItemList.append(scene()->itemsForQmlItemNodes(nodeList)); - m_currentTool->itemsAboutToRemoved(removedItemList); - - delete item; - } + removeNodeFromScene(qmlItemNode); QmlModelView::nodeAboutToBeRemoved(removedNode); } @@ -227,8 +246,23 @@ void FormEditorView::propertiesAboutToBeRemoved(const QList<AbstractProperty>& p QmlModelView::propertiesAboutToBeRemoved(propertyList); } + +static inline bool hasNodeSourceParent(const ModelNode &node) +{ + if (node.parentProperty().isValid() && node.parentProperty().parentModelNode().isValid()) { + ModelNode parent = node.parentProperty().parentModelNode(); + if (parent.nodeSourceType() != ModelNode::NodeWithoutSource) + return true; + return hasNodeSourceParent(parent); + } + return false; +} + void FormEditorView::nodeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange) { + if (hasNodeSourceParent(node)) + hideNodeFromScene(node); + QmlModelView::nodeReparented(node, newPropertyParent, oldPropertyParent, propertyChange); } @@ -435,7 +469,8 @@ void FormEditorView::auxiliaryDataChanged(const ModelNode &node, const QString & if (name == "invisible" && m_scene->hasItemForQmlItemNode(QmlItemNode(node))) { FormEditorItem *item(m_scene->itemForQmlItemNode(QmlItemNode(node))); bool isInvisible = data.toBool(); - item->setVisible(!isInvisible); + if (item->isFormEditorVisible()) + item->setVisible(!isInvisible); ModelNode newNode(node); if (isInvisible) newNode.deselectNode(); @@ -450,8 +485,6 @@ void FormEditorView::instancesCompleted(const QVector<ModelNode> &completedNodeL if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) { scene()->synchronizeParent(qmlItemNode); itemNodeList.append(scene()->itemForQmlItemNode(qmlItemNode)); - if (qmlItemNode.isRootModelNode()) - m_formEditorWidget->centerScene(); } } currentTool()->instancesCompleted(itemNodeList); @@ -465,8 +498,10 @@ void FormEditorView::instanceInformationsChange(const QMultiHash<ModelNode, Info QmlItemNode qmlItemNode(node); if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) { scene()->synchronizeTransformation(qmlItemNode); - if (qmlItemNode.isRootModelNode()) + if (qmlItemNode.isRootModelNode() && informationChangeHash.values(node).contains(Size)) { widget()->setRootItemRect(qmlItemNode.instanceBoundingRect()); + widget()->centerScene(); + } itemNodeList.append(scene()->itemForQmlItemNode(qmlItemNode)); } @@ -616,9 +651,11 @@ bool FormEditorView::isMoveToolAvailable() const return true; } -void FormEditorView::stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState) +void FormEditorView::actualStateChanged(const ModelNode &node) { - QmlModelView::stateChanged(newQmlModelState, oldQmlModelState); + QmlModelView::actualStateChanged(node); + + QmlModelState newQmlModelState(node); m_formEditorWidget->anchorToolAction()->setEnabled(newQmlModelState.isBaseState()); diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.h b/src/plugins/qmldesigner/components/formeditor/formeditorview.h index b723c4bcef324fd76ff13e8572a490306bde37d2..f08ad2c2f6833a35f8d910f073609c6340b1d99b 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.h +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.h @@ -118,6 +118,8 @@ public: double spacing() const; void deActivateItemCreator(); + void actualStateChanged(const ModelNode &node); + public slots: void activateItemCreator(const QString &name); @@ -125,7 +127,6 @@ signals: void ItemCreatorDeActivated(); protected: - void stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState); void reset(); protected slots: @@ -137,7 +138,8 @@ protected slots: private: //functions void setupFormEditorItemTree(const QmlItemNode &qmlItemNode); - + void removeNodeFromScene(const QmlItemNode &qmlItemNode); + void hideNodeFromScene(const QmlItemNode &qmlItemNode); private: //variables QWeakPointer<FormEditorWidget> m_formEditorWidget; diff --git a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp index 91926dc5dfda62d5f697aae23a2cc791f4715097..ce855211c2fe58748b11d1b5385519abaa419285 100644 --- a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp @@ -88,6 +88,7 @@ void MoveManipulator::setItems(const QList<FormEditorItem*> &itemList) } } + void MoveManipulator::synchronizeParent(const QList<FormEditorItem*> &itemList, const ModelNode &parentNode) { bool snapperUpdated = false; @@ -114,7 +115,6 @@ void MoveManipulator::synchronizeInstanceParent(const QList<FormEditorItem*> &it { if (m_view->model() && !m_itemList.isEmpty()) synchronizeParent(itemList, m_itemList.first()->qmlItemNode().instanceParent()); - } void MoveManipulator::updateHashes() diff --git a/src/plugins/qmldesigner/components/formeditor/movemanipulator.h b/src/plugins/qmldesigner/components/formeditor/movemanipulator.h index 671feef0388f72034760914fc5836b243c0345ba..685bc1504e849b7e73d311f8b7e9461cd98f2aa4 100644 --- a/src/plugins/qmldesigner/components/formeditor/movemanipulator.h +++ b/src/plugins/qmldesigner/components/formeditor/movemanipulator.h @@ -71,6 +71,7 @@ public: void setItem(FormEditorItem* item); void synchronizeInstanceParent(const QList<FormEditorItem*> &itemList); void synchronizeParent(const QList<FormEditorItem*> &itemList, const ModelNode &parentNode); + void begin(const QPointF& beginPoint); void update(const QPointF& updatePoint, Snapping useSnapping, State stateToBeManipulated = UseActualState); void reparentTo(FormEditorItem *newParent); diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp index df58e0cda40fcc4f5162a6a1977de5d7acd22bd5..214a6c67ac88e981c6de64886a509df2f5d819b3 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp @@ -201,7 +201,9 @@ QWidget *DesignDocumentController::centralWidget() const QString DesignDocumentController::pathToQt() const { QtSupport::BaseQtVersion *activeQtVersion = QtSupport::QtVersionManager::instance()->version(m_d->qt_versionId); - if (activeQtVersion && (activeQtVersion->qtVersion().majorVersion > 3) && (activeQtVersion->supportsTargetId(Qt4ProjectManager::Constants::QT_SIMULATOR_TARGET_ID) || activeQtVersion->supportsTargetId(Qt4ProjectManager::Constants::DESKTOP_TARGET_ID))) + if (activeQtVersion && (activeQtVersion->qtVersion().majorVersion > 3) + && (activeQtVersion->supportsTargetId(Qt4ProjectManager::Constants::QT_SIMULATOR_TARGET_ID) + || activeQtVersion->supportsTargetId(Qt4ProjectManager::Constants::DESKTOP_TARGET_ID))) return activeQtVersion->versionInfo().value("QT_INSTALL_DATA"); return QString(); } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycomponents.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycomponents.cpp index 9311e097fdf58cb20e61d8d755a5195a96069c2e..77a69272d73d0250071b434e5104c1ba0433064e 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycomponents.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycomponents.cpp @@ -129,7 +129,7 @@ void ItemLibraryTreeView::startDrag(Qt::DropActions /* supportedActions */) drag->setPreview(pixmap); drag->setPixmap(QIcon(pixmap).pixmap(128, 128)); QMimeData *mimeData = new QMimeData; - mimeData->setData("application/vnd.bauhaus.libraryresource", fileInfo.absoluteFilePath().toLatin1()); + mimeData->setData("application/vnd.bauhaus.libraryresource", fileInfo.absoluteFilePath().toUtf8()); drag->setMimeData(mimeData); drag->exec(); } diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp index d494e90878047b3df41a14b3ccedbdfb11d46e79..7e7fad921c9f0b6269e8b403af48637abdcf9605 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp @@ -933,9 +933,11 @@ QWidget *PropertyEditor::widget() return m_stackedWidget; } -void PropertyEditor::stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState) + +void PropertyEditor::actualStateChanged(const ModelNode &node) { - QmlModelView::stateChanged(newQmlModelState, oldQmlModelState); + QmlModelView::actualStateChanged(node); + QmlModelState newQmlModelState(node); Q_ASSERT(newQmlModelState.isValid()); if (debug) qDebug() << Q_FUNC_INFO << newQmlModelState.name(); diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h index d626b212463a6e044bbdde26388a1c331c5ed032..02a97954d23a55efb8d76e6b4e9571787ae53bc5 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h @@ -111,12 +111,12 @@ public: void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); void resetView(); + void actualStateChanged(const ModelNode &node); protected: void timerEvent(QTimerEvent *event); void otherPropertyChanged(const QmlObjectNode &, const QString &propertyName); void transformChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName); - void stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState); void setupPane(const QString &typeName); void setValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value); diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp index e4cde53158767e4175abd825d3806fa7bef2f17a..277eb33189c5281e9337d4e0448e2a1322ea4871 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp @@ -308,14 +308,16 @@ void StatesEditorView::nodeInstancePropertyChanged(const ModelNode &node, const QmlModelView::nodeInstancePropertyChanged(node, propertyName); } -void StatesEditorView::stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState) +void StatesEditorView::actualStateChanged(const ModelNode &node) { + QmlModelState newQmlModelState(node); + if (newQmlModelState.isBaseState()) { m_statesEditorWidget->setCurrentStateInternalId(0); } else { m_statesEditorWidget->setCurrentStateInternalId(newQmlModelState.modelNode().internalId()); } - QmlModelView::stateChanged(newQmlModelState, oldQmlModelState); + QmlModelView::actualStateChanged(node); } void StatesEditorView::transformChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName) diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h index 3bfc7bb75cd6cad961d4f5a6d0de56a870d35373..89cd210752c07bd8bf7d3fa556afec8ff1cffdb9 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h @@ -67,7 +67,7 @@ public: // QmlModelView - void stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState); + void actualStateChanged(const ModelNode &node); void transformChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName); void parentChanged(const QmlObjectNode &qmlObjectNode); void otherPropertyChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName); diff --git a/src/plugins/qmldesigner/designercore/include/abstractview.h b/src/plugins/qmldesigner/designercore/include/abstractview.h index 45b2a064d67f492fb2d2d64e3674c7904b63cd7b..27c2b06af31bcc69e80e6e72d3cc11ded3fd2447 100644 --- a/src/plugins/qmldesigner/designercore/include/abstractview.h +++ b/src/plugins/qmldesigner/designercore/include/abstractview.h @@ -122,7 +122,6 @@ public: void emitRewriterBeginTransaction(); void emitRewriterEndTransaction(); void emitInstanceToken(const QString &token, int number, const QVector<ModelNode> &nodeVector); - void emitActualStateChanged(const ModelNode &node); void sendTokenToInstances(const QString &token, int number, const QVector<ModelNode> &nodeVector); @@ -178,6 +177,9 @@ public: NodeInstanceView *nodeInstanceView() const; RewriterView *rewriterView() const; + void setAcutalStateNode(const ModelNode &node); + ModelNode actualStateNode() const; + void resetView(); protected: diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h index 053da698e22307923cb5b1b20086e9b1c266a468..e4b1ba6e8b096fdadb040863be34043e05d2676a 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h @@ -130,8 +130,6 @@ public: NodeInstance activeStateInstance() const; - void activateState(const NodeInstance &instance); - void activateBaseState(); void valuesChanged(const ValuesChangedCommand &command); void pixmapChanged(const PixmapChangedCommand &command); @@ -151,6 +149,9 @@ signals: void qmlPuppetCrashed(); private: // functions + void activateState(const NodeInstance &instance); + void activateBaseState(); + NodeInstance rootNodeInstance() const; NodeInstance loadNode(const ModelNode &node); diff --git a/src/plugins/qmldesigner/designercore/include/qmlmodelview.h b/src/plugins/qmldesigner/designercore/include/qmlmodelview.h index d77bfbb6cb3e8396eda8771af54519d5e1ba17a6..ab36aa72111109f0afd360b68fc99bc251352a24 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlmodelview.h +++ b/src/plugins/qmldesigner/designercore/include/qmlmodelview.h @@ -131,7 +131,6 @@ protected: virtual void transformChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName) ; virtual void parentChanged(const QmlObjectNode &qmlObjectNode); virtual void otherPropertyChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName); - virtual void stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState); void activateState(const QmlModelState &state); diff --git a/src/plugins/qmldesigner/designercore/include/qmlstate.h b/src/plugins/qmldesigner/designercore/include/qmlstate.h index 897fa61ebf7eb8d5e78d8fafdfe88301a8a1f49b..ea8226ec9ed21a6b50e48d133091a6baa94388e7 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlstate.h +++ b/src/plugins/qmldesigner/designercore/include/qmlstate.h @@ -77,8 +77,6 @@ protected: void addChangeSetIfNotExists(const ModelNode &node); static QmlModelState createBaseState(const QmlModelView *view); -private: - bool m_isBaseState; }; } //QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp index 8c8f1bef42a360bab8c6b37787f0fbc34f92c8fd..2bf1bed028328ea059f2bf71a345a658c98506fa 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp @@ -77,11 +77,11 @@ namespace QmlDesigner { -static bool hasQtQuick1(NodeInstanceView *nodeInstanceView) +static bool hasQtQuick2(NodeInstanceView *nodeInstanceView) { if (nodeInstanceView && nodeInstanceView->model()) { foreach (const Import &import ,nodeInstanceView->model()->imports()) { - if (import.url() == "QtQuick" && import.version().toDouble() < 2.0) + if (import.url() == "QtQuick" && import.version().toDouble() >= 2.0) return true; } } @@ -436,10 +436,10 @@ void NodeInstanceServerProxy::readThirdDataStream() QString NodeInstanceServerProxy::qmlPuppetApplicationName() const { QString appName; - if (hasQtQuick1(m_nodeInstanceView.data())) { - appName = QLatin1String("qmlpuppet"); - } else { + if (hasQtQuick2(m_nodeInstanceView.data())) { appName = QLatin1String("qml2puppet"); + } else { + appName = QLatin1String("qmlpuppet"); } #ifdef Q_OS_WIN appName += QLatin1String(".exe"); diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index b21add18e2bb9c9c763b535e4355f07ecd9a54d2..241663e70888c108435f917bd1922829a00014c8 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -172,6 +172,13 @@ void NodeInstanceView::modelAttached(Model *model) if (!isSkippedRootNode(rootModelNode())) nodeInstanceServer()->createScene(createCreateSceneCommand()); + + ModelNode stateNode = actualStateNode(); + if (stateNode.isValid() && stateNode.metaInfo().isSubclassOf("QtQuick.State", 1, 0)) { + NodeInstance newStateInstance = instanceForNode(stateNode); + activateState(newStateInstance); + } + } void NodeInstanceView::modelAboutToBeDetached(Model * model) @@ -210,6 +217,12 @@ void NodeInstanceView::restartProcess() if (!isSkippedRootNode(rootModelNode())) nodeInstanceServer()->createScene(createCreateSceneCommand()); + + ModelNode stateNode = actualStateNode(); + if (stateNode.isValid() && stateNode.metaInfo().isSubclassOf("QtQuick.State", 1, 0)) { + NodeInstance newStateInstance = instanceForNode(stateNode); + activateState(newStateInstance); + } } } @@ -539,8 +552,15 @@ void NodeInstanceView::rewriterEndTransaction() } -void NodeInstanceView::actualStateChanged(const ModelNode &/*node*/) +void NodeInstanceView::actualStateChanged(const ModelNode &node) { + NodeInstance newStateInstance = instanceForNode(node); + + if (newStateInstance.isValid() && node.metaInfo().isSubclassOf("QtQuick.State", 1, 0)) { + nodeInstanceView()->activateState(newStateInstance); + } else { + nodeInstanceView()->activateBaseState(); + } } @@ -693,16 +713,11 @@ NodeInstance NodeInstanceView::loadNode(const ModelNode &node) void NodeInstanceView::activateState(const NodeInstance &instance) { nodeInstanceServer()->changeState(ChangeStateCommand(instance.instanceId())); -// activateBaseState(); -// NodeInstance stateInstance(instance); -// stateInstance.activateState(); } void NodeInstanceView::activateBaseState() { nodeInstanceServer()->changeState(ChangeStateCommand(-1)); -// if (activeStateInstance().isValid()) -// activeStateInstance().deactivateState(); } void NodeInstanceView::removeRecursiveChildRelationship(const ModelNode &removedNode) @@ -1103,8 +1118,10 @@ QImage NodeInstanceView::statePreviewImage(const ModelNode &stateNode) const void NodeInstanceView::setPathToQt(const QString &pathToQt) { - m_pathToQt = pathToQt; - restartProcess(); + if (m_pathToQt != pathToQt) { + m_pathToQt = pathToQt; + restartProcess(); + } } void NodeInstanceView::statePreviewImagesChanged(const StatePreviewImageChangedCommand &command) diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index db2467886c4448709a948fa26a01ea10ff3b91f5..64cb00d08c6508374b1ebea1c3fa8d2bcf908b0f 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -365,6 +365,7 @@ private: QString lookupName() const; QStringList lookupNameComponent() const; const QmlJS::Interpreter::QmlObjectValue *getNearestQmlObjectValue() const; + QString fullQualifiedImportAliasType() const; QString m_qualfiedTypeName; int m_majorVersion; @@ -486,7 +487,16 @@ const QmlJS::Interpreter::QmlObjectValue *NodeMetaInfoPrivate::getQmlObjectValue const QString package = getUrlFromType(m_qualfiedTypeName); const QString type = m_qualfiedTypeName.split('.').last(); + LanguageUtils::ComponentVersion version(9999, 9999); + //get the correct version + Document::Ptr doc = lookupContext()->document(); + const Interpreter::Context *context = lookupContext()->context(); + Interpreter::ImportInfo importInfo = context->imports(doc.data())->info(fullQualifiedImportAliasType(), context); + + if (importInfo.isValid()) + version = importInfo.version(); + QList<Interpreter::QmlObjectValue *> qmlObjectValues = lookupContext()->valueOwner()->cppQmlTypes().typesForImport(package, version); const Interpreter::QmlObjectValue *qmlValue = 0; foreach (Interpreter::QmlObjectValue *value, qmlObjectValues) { @@ -832,14 +842,11 @@ QString NodeMetaInfoPrivate::lookupName() const QStringList NodeMetaInfoPrivate::lookupNameComponent() const { - if (m_model && m_model->rewriterView()) { - QString tempString = model()->rewriterView()->convertTypeToImportAlias(m_qualfiedTypeName); - + QString tempString = fullQualifiedImportAliasType(); return tempString.split('.'); - } - return QStringList(); } + bool NodeMetaInfoPrivate::isValid() const { return m_isValid && lookupContext() && document(); @@ -890,6 +897,13 @@ const QmlJS::Interpreter::QmlObjectValue *NodeMetaInfoPrivate::getNearestQmlObje return getQmlObjectValue(); } +QString NodeMetaInfoPrivate::fullQualifiedImportAliasType() const +{ + if (m_model && m_model->rewriterView()) + return model()->rewriterView()->convertTypeToImportAlias(m_qualfiedTypeName); + return m_qualfiedTypeName; +} + } //namespace Internal NodeMetaInfo::NodeMetaInfo() : m_privateData(new Internal::NodeMetaInfoPrivate()) diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index b8f589b6694e064a8543de97b73f9c5c588274a1..3b287d32b4a75b2e49a88c83732c7e1f16c0bb3a 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -447,8 +447,9 @@ void AbstractView::emitRewriterEndTransaction() model()->m_d->notifyRewriterEndTransaction(); } -void AbstractView::emitActualStateChanged(const ModelNode &node) +void AbstractView::setAcutalStateNode(const ModelNode &node) { + Internal::WriteLocker locker(m_model.data()); if (model()) model()->m_d->notifyActualStateChanged(node); } @@ -460,4 +461,12 @@ void AbstractView::changeRootNodeType(const QString &type, int majorVersion, int m_model.data()->m_d->changeRootNodeType(type, majorVersion, minorVersion); } +ModelNode AbstractView::actualStateNode() const +{ + if (model()) + return ModelNode(m_model.data()->m_d->actualStateNode(), m_model.data(), const_cast<AbstractView*>(this)); + + return ModelNode(); +} + } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index 938026c3f9f42093dd4627910bc62c119f01b15e..72e8585f7d4bcaf845bdd0d3ccc0a1ccf5e7f0f4 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -605,6 +605,8 @@ void ModelPrivate::notifyActualStateChanged(const ModelNode &node) bool resetModel = false; QString description; + m_acutalStateNode = node.internalNode(); + try { if (rewriterView()) rewriterView()->actualStateChanged(ModelNode(node.internalNode(), model(), rewriterView())); @@ -1638,6 +1640,11 @@ bool ModelPrivate::isWriteLocked() const return m_writeLock; } +InternalNode::Pointer ModelPrivate::actualStateNode() const +{ + return m_acutalStateNode; +} + WriteLocker::WriteLocker(ModelPrivate *model) : m_model(model) diff --git a/src/plugins/qmldesigner/designercore/model/model_p.h b/src/plugins/qmldesigner/designercore/model/model_p.h index bc6ff14564e2def5c7505810903501cd5781043c..c0f49cc427f8ecb50bea7bd7ff8d675507704181 100644 --- a/src/plugins/qmldesigner/designercore/model/model_p.h +++ b/src/plugins/qmldesigner/designercore/model/model_p.h @@ -218,6 +218,8 @@ public: void setNodeInstanceView(NodeInstanceView *nodeInstanceView); NodeInstanceView *nodeInstanceView() const; + InternalNodePointer actualStateNode() const; + private: //functions void removePropertyWithoutNotification(const InternalPropertyPointer &property); void removeAllSubNodes(const InternalNodePointer &node); @@ -237,6 +239,8 @@ private: QHash<QString,InternalNodePointer> m_idNodeHash; QHash<qint32, InternalNodePointer> m_internalIdNodeHash; QSet<InternalNodePointer> m_nodeSet; + InternalNodePointer m_acutalStateNode; + InternalNodePointer m_rootInternalNode; diff --git a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp index ceec3fbd2125f7cf68809eb4ad0aa30550224fdf..01b5215905502e70350763d6632609b3b4733aff 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp @@ -63,12 +63,12 @@ void QmlModelView::setCurrentState(const QmlModelState &state) if (!state.isValid()) return; - emitActualStateChanged(state.modelNode()); + setAcutalStateNode(state.modelNode()); } QmlModelState QmlModelView::currentState() const { - return m_state; + return QmlModelState(actualStateNode()); } QmlModelState QmlModelView::baseState() const @@ -226,11 +226,14 @@ QmlItemNode QmlModelView::createQmlItemNode(const ItemLibraryEntry &itemLibraryE inputModel->attachView(rewriterView.data()); if (rewriterView->errors().isEmpty() && rewriterView->rootModelNode().isValid()) { - rewriterView->rootModelNode().variantProperty("x") = propertyPairList.first().second; - rewriterView->rootModelNode().variantProperty("y") = propertyPairList.at(1).second; + ModelNode rootModelNode = rewriterView->rootModelNode(); + inputModel->detachView(rewriterView.data()); + + rootModelNode.variantProperty("x") = propertyPairList.first().second; + rootModelNode.variantProperty("y") = propertyPairList.at(1).second; ModelMerger merger(this); - newNode = merger.insertModel(rewriterView->rootModelNode()); + newNode = merger.insertModel(rootModelNode); } } @@ -331,14 +334,10 @@ bool QmlModelView::hasInstanceForModelNode(const ModelNode &modelNode) void QmlModelView::modelAttached(Model *model) { AbstractView::modelAttached(model); - m_state = QmlModelState(); - m_state = baseState(); - Q_ASSERT(m_state.isBaseState()); } void QmlModelView::modelAboutToBeDetached(Model *model) { - m_state = QmlModelState(); AbstractView::modelAboutToBeDetached(model); } @@ -441,20 +440,8 @@ void QmlModelView::rewriterEndTransaction() } -void QmlModelView::actualStateChanged(const ModelNode &node) +void QmlModelView::actualStateChanged(const ModelNode & /*node*/) { - QmlModelState newState(node); - QmlModelState oldState = currentState(); - - if (!newState.isValid()) - newState = baseState(); - - activateState(newState); - - m_state = newState; - - if (newState != oldState) - stateChanged(newState, oldState); } @@ -473,28 +460,6 @@ void QmlModelView::nodeInstancePropertyChanged(const ModelNode &node, const QStr otherPropertyChanged(qmlObjectNode, propertyName); } -void QmlModelView::activateState(const QmlModelState &state) -{ - if (!state.isValid()) - return; - - if (m_state == state) - return; - - m_state = state; //This is hacky. m_state should be controlled by the instances - //### todo: If the state thumbnail code gets refactored. - // this is not necessary anymore. - - - NodeInstance newStateInstance = instanceForModelNode(state.modelNode()); - - if (state.isBaseState()) { - nodeInstanceView()->activateBaseState(); - } else { - nodeInstanceView()->activateState(newStateInstance); - } -} - void QmlModelView::transformChanged(const QmlObjectNode &/*qmlObjectNode*/, const QString &/*propertyName*/) { } @@ -507,8 +472,5 @@ void QmlModelView::otherPropertyChanged(const QmlObjectNode &/*qmlObjectNode*/, { } -void QmlModelView::stateChanged(const QmlModelState &/*newQmlModelState*/, const QmlModelState &/*oldQmlModelState*/) -{ -} } //QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp index 51d79cdd0267a76f4d6a7c18dd14aa4b79a7a40a..94e0ca22e85b6b707c583bebe71d52c1d7857245 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp @@ -42,14 +42,12 @@ namespace QmlDesigner { QmlModelState::QmlModelState() - : QmlModelNodeFacade(), - m_isBaseState(false) + : QmlModelNodeFacade() { } QmlModelState::QmlModelState(const ModelNode &modelNode) - : QmlModelNodeFacade(modelNode), - m_isBaseState(false) + : QmlModelNodeFacade(modelNode) { } @@ -268,7 +266,7 @@ void QmlModelState::destroy() bool QmlModelState::isBaseState() const { - return m_isBaseState && modelNode().isRootNode(); + return !modelNode().isValid() || modelNode().isRootNode(); } QmlModelState QmlModelState::duplicate(const QString &name) const @@ -308,7 +306,7 @@ QmlModelStateGroup QmlModelState::stateGroup() const QmlModelState QmlModelState::createBaseState(const QmlModelView *view) { QmlModelState fxState(view->rootModelNode()); - fxState.m_isBaseState = true; + return fxState; } diff --git a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp index c3ef3ebb481bd5fe591d49614cbd2af6be3deac8..6f7f70d48861760e0439e62361c3e5f57388dccc 100644 --- a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp @@ -116,6 +116,7 @@ QString QmlTextGenerator::toQml(const AbstractProperty &property, int indentDept return QString(QLatin1String("\"%1\"")).arg(properColorName(value.value<QColor>())); case QVariant::Double: + return QString::number(value.toDouble(), 'g', 3); case QVariant::Int: case QVariant::LongLong: case QVariant::UInt: diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 6001b0655cc7b872da4a937697364e86dc70d0c9..d858fbd570ead9854fa8ae69f475a14679959931 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -643,10 +643,24 @@ private: using namespace QmlDesigner; using namespace QmlDesigner::Internal; + +static inline bool smartVeryFuzzyCompare(QVariant value1, QVariant value2) +{ //we ignore slight changes on doubles and only check three digits + if ((value1.type() == QVariant::Double) && (value2.type() == QVariant::Double)) { + int a = value1.toDouble() * 1000; + int b = value2.toDouble() * 1000; + + if (qFuzzyCompare((qreal(a) / 1000), (qreal(b) / 1000))) { + return true; + } + } + return false; +} + static inline bool equals(const QVariant &a, const QVariant &b) { if (a.type() == QVariant::Double && b.type() == QVariant::Double) - return qFuzzyCompare(a.toDouble(), b.toDouble()); + return smartVeryFuzzyCompare(a.toDouble(), b.toDouble()); else return a == b; } @@ -750,6 +764,11 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH setupImports(doc, differenceHandler); + if (m_rewriterView->model()->imports().isEmpty()) { + const QmlJS::DiagnosticMessage diagnosticMessage(QmlJS::DiagnosticMessage::Error, AST::SourceLocation(0, 0, 0, 0), QCoreApplication::translate("QmlDesigner::TextToModelMerger error message", "No import statements found")); + errors.append(RewriterView::Error(diagnosticMessage, QUrl::fromLocalFile(doc->fileName()))); + } + if (view()->checkSemanticErrors()) { Check check(doc, m_lookupContext->context()); check.setOptions(check.options() & ~Check::ErrCheckTypeErrors); diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index a22e6e4676ed14a25679120b15168ca018aa416f..9e43831f8cac5638e446f36b0f9989662dba52a3 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -557,6 +557,7 @@ void DesignModeWidget::setAutoSynchronization(bool sync) m_currentDesignDocumentController->loadMaster(m_currentTextEdit.data()); } else { m_currentDesignDocumentController->loadCurrentModel(); + m_componentView->resetView(); } QList<RewriterView::Error> errors = m_currentDesignDocumentController->qmlErrors(); diff --git a/src/plugins/qmldesigner/qtquickplugin/source/textedit.qml b/src/plugins/qmldesigner/qtquickplugin/source/textedit.qml index 87254f21c49dad78127eabaa801088c075d028bb..dc828f3114946d95da2b9cd05a366658964bf374 100644 --- a/src/plugins/qmldesigner/qtquickplugin/source/textedit.qml +++ b/src/plugins/qmldesigner/qtquickplugin/source/textedit.qml @@ -32,7 +32,7 @@ import QtQuick 1.0 -Text { +TextEdit { width: 80 height: 20 text: qsTr("text edit") diff --git a/src/plugins/qmldesigner/qtquickplugin/source/textinput.qml b/src/plugins/qmldesigner/qtquickplugin/source/textinput.qml index 423e599993d0c540c312f41a825f4d63c3241317..6189edf9422647f987a4d1e2342dfd6b441316f0 100644 --- a/src/plugins/qmldesigner/qtquickplugin/source/textinput.qml +++ b/src/plugins/qmldesigner/qtquickplugin/source/textinput.qml @@ -32,7 +32,7 @@ import QtQuick 1.0 -Text { +TextInput { width: 80 height: 20 text: qsTr("text") diff --git a/src/plugins/qmljseditor/quicktoolbar.cpp b/src/plugins/qmljseditor/quicktoolbar.cpp index 50b8b553e48de0196035146eae00f53967311080..6ca0e5150c7f0d7ab467a7a60755b054127ed82e 100644 --- a/src/plugins/qmljseditor/quicktoolbar.cpp +++ b/src/plugins/qmljseditor/quicktoolbar.cpp @@ -92,7 +92,10 @@ static inline const Interpreter::ObjectValue * getPropertyChangesTarget(Node *no return 0; } -QuickToolBar::QuickToolBar(QObject *parent) : ::QmlJS::IContextPane(parent), m_blockWriting(false) +QuickToolBar::QuickToolBar(QObject *parent) + : ::QmlJS::IContextPane(parent) + , m_editor(0) + , m_blockWriting(false) { m_node = 0; contextWidget(); diff --git a/src/plugins/qmljsinspector/qmljspropertyinspector.cpp b/src/plugins/qmljsinspector/qmljspropertyinspector.cpp index d4996f7c4ce23d2e554bb94db7c0ea57b3546dbc..67eb547f64e7afee7627ccd992b51bf15eecbb79 100644 --- a/src/plugins/qmljsinspector/qmljspropertyinspector.cpp +++ b/src/plugins/qmljsinspector/qmljspropertyinspector.cpp @@ -187,6 +187,30 @@ void ExpressionEdit::accept() // color chooser // ************************************************************************* +inline QString extendedNameFromColor(QColor color) +{ + int alphaValue = color.alpha(); + if (alphaValue < 255) + return QLatin1String("#") + QString("%1").arg(alphaValue, 2, 16, QChar('0')) + color.name().right(6) ; + else + return color.name(); +} + +inline QString extendedNameFromColor(QVariant color) { + return extendedNameFromColor(QColor(color.value<QColor>())); +} + +inline QColor colorFromExtendedName(QString name) { + QRegExp validator("#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})"); + if (validator.exactMatch(name)) { + return QColor(validator.cap(2).toInt(0,16), + validator.cap(3).toInt(0,16), + validator.cap(4).toInt(0,16), + validator.cap(1).toInt(0,16)); + } + return QColor(name); +} + ColorChooserDialog::ColorChooserDialog(const QString &title, QDialog *parent) : QDialog(parent) { @@ -303,9 +327,13 @@ void QmlJSPropertyInspector::propertyValueChanged(int debugId, const QByteArray for (int i = 0; i < m_model.rowCount(); i++) { if (m_model.data(m_model.index(i, 0), Qt::DisplayRole).toString() == propertyNameS && m_model.data(m_model.index(i, 0), Qt::UserRole).toInt() == debugId) { - QVariant oldData = m_model.data(m_model.index(i, 1), Qt::DisplayRole); - m_model.setData(m_model.index(i, 1), propertyValue.toString(), Qt::DisplayRole); - if (oldData != propertyValue) { + QString oldData = m_model.data(m_model.index(i, 1), Qt::DisplayRole).toString(); + QString newData = propertyValue.toString(); + if (QString(propertyValue.typeName()) == "QColor") + newData = extendedNameFromColor(propertyValue); + if (oldData != newData) { + m_model.setData(m_model.index(i, 1), newData, Qt::DisplayRole); + m_model.item(i, 1)->setToolTip(newData); m_model.item(i, 0)->setForeground(QBrush(Qt::red)); m_model.item(i, 1)->setForeground(QBrush(Qt::red)); m_model.item(i, 2)->setForeground(QBrush(Qt::red)); @@ -349,11 +377,16 @@ void QmlJSPropertyInspector::buildPropertyTree(const QDeclarativeDebugObjectRefe foreach (const QDeclarativeDebugPropertyReference &prop, obj.properties()) { QString propertyName = prop.name(); + QString propertyValue = prop.value().toString(); - if (cleanPropertyValue(prop.value().toString()).isEmpty()) + if (cleanPropertyValue(propertyValue).isEmpty()) continue; - addRow(propertyName, prop.value().toString(), prop.valueTypeName(), obj.debugId(), prop.hasNotifySignal()); + if (prop.valueTypeName() == "QColor") { + propertyValue = extendedNameFromColor(prop.value()); + } + + addRow(propertyName, propertyValue, prop.valueTypeName(), obj.debugId(), prop.hasNotifySignal()); } m_model.setHeaderData(0,Qt::Horizontal,QVariant("name")); @@ -403,12 +436,14 @@ void QmlJSPropertyInspector::addRow(const QString &name,const QString &value, co void QmlJSPropertyInspector::setColorIcon(int row) { QStandardItem *item = m_model.itemFromIndex(m_model.index(row, 1)); - QColor color = QColor(item->data(Qt::DisplayRole).toString()); + QColor color = colorFromExtendedName(item->data(Qt::DisplayRole).toString()); int recomendedLength = viewOptions().decorationSize.height() - 2; QPixmap colorpix(recomendedLength, recomendedLength); QPainter p(&colorpix); + if (color.alpha() != 255) + p.fillRect(1,1, recomendedLength -2, recomendedLength - 2, Qt::white); p.fillRect(1, 1, recomendedLength - 2, recomendedLength - 2, color); p.setPen(Qt::black); p.drawRect(0, 0, recomendedLength - 1, recomendedLength - 1); diff --git a/src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp b/src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp index ddaa3d4d951a0c5b8a9cde33c6a14b79e5fc8d6b..d9ac4a2ce9c6cd998135381e97744a26d36964e1 100644 --- a/src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp +++ b/src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp @@ -941,6 +941,8 @@ void Context2D::beginPainting() return; if (m_pixmap.width() != m_width || m_pixmap.height() != m_height) { + if (m_painter.isActive()) + m_painter.end(); m_pixmap = QPixmap(m_width, m_height); m_pixmap.fill(parent()->property("color").value<QColor>()); } diff --git a/src/plugins/qmlprofiler/qml/MainView.js b/src/plugins/qmlprofiler/qml/MainView.js index bd4752d07101cc26266719ac031dd1e00b7e925a..128ea396a33686bcdf9789c0baea8c61b6ddee21 100644 --- a/src/plugins/qmlprofiler/qml/MainView.js +++ b/src/plugins/qmlprofiler/qml/MainView.js @@ -6,26 +6,25 @@ ** ** Contact: Nokia Corporation (info@qt.nokia.com) ** -** No Commercial Usage -** -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. ** ** 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. +** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** ** If you have questions regarding the use of this file, please contact ** Nokia at info@qt.nokia.com. ** @@ -33,12 +32,9 @@ .pragma library -var values = [ ]; //events var ranges = [ ]; -var frameFps = [ ]; var xmargin = 0; var ymargin = 0; -var drawFpsGraph = false; var nestingDepth = []; var names = [ "Painting", "Compiling", "Creating", "Binding", "Handling Signal"] @@ -49,26 +45,12 @@ var xRayColors = [ "#6699CCB3", "#6699CCCC", "#6699B3CC", "#669999CC", "#66CC99B function reset() { - values = []; ranges = []; - frameFps = []; xmargin = 0; ymargin = 0; nestingDepth = []; } -function calcFps() -{ - if (drawFpsGraph) { - if (values.length) - frameFps = new Array(values.length - 1); - for (var i = 0; i < values.length - 1; ++i) { - var frameTime = (values[i + 1] - values[i]) / 1000000; - frameFps[i] = 1000 / frameTime; - } - } -} - //draw background of the graph function drawGraph(canvas, ctxt, region) { @@ -83,7 +65,7 @@ function drawGraph(canvas, ctxt, region) //draw the actual data to be graphed function drawData(canvas, ctxt, region) { - if (values.length == 0 && ranges.length == 0) + if (ranges.length == 0) return; var width = canvas.canvasSize.width - xmargin; @@ -115,24 +97,6 @@ function drawData(canvas, ctxt, region) highest[ranges[ii].type] = xx+size; } } - - if (drawFpsGraph) { - //draw fps overlay - var heightScale = height / 60; - ctxt.beginPath(); - ctxt.moveTo(0,0); - for (var i = 1; i < values.length; ++i) { - var xx = (values[i] - ranges[0].start) * spacing + xmargin; - ctxt.lineTo(xx, height - frameFps[i-1]*heightScale) - } - ctxt.lineTo(width, 0); - ctxt.closePath(); - var grad = ctxt.createLinearGradient(0, 0, 0, canvas.canvasSize.height); - grad.addColorStop(0, "rgba(255,128,128,.5)"); - grad.addColorStop(1, "rgba(255,0,0,.5)"); - ctxt.fillStyle = grad; - ctxt.fill(); - } } function plot(canvas, ctxt, region) @@ -143,7 +107,7 @@ function plot(canvas, ctxt, region) function xScale(canvas) { - if (values.length === 0 && ranges.length === 0) + if (ranges.length === 0) return; var width = canvas.canvasSize.width - xmargin; diff --git a/src/plugins/qmlprofiler/qml/MainView.qml b/src/plugins/qmlprofiler/qml/MainView.qml index b66c73396b8e5c0170b7208b6c44dfb0f521ecc8..8664ed5b7f9e7174de20a78b93fb56b9bc6460fa 100644 --- a/src/plugins/qmlprofiler/qml/MainView.qml +++ b/src/plugins/qmlprofiler/qml/MainView.qml @@ -38,6 +38,7 @@ Rectangle { id: root property bool dataAvailable: false; + property int eventCount: 0; // move the cursor in the editor signal updateCursorPosition @@ -53,6 +54,7 @@ Rectangle { Plotter.reset(); view.clearData(); root.dataAvailable = false; + root.eventCount = 0; rangeMover.x = 2 rangeMover.opacity = 0 } @@ -128,14 +130,6 @@ Rectangle { //handle debug data coming from C++ Connections { target: connection - onEvent: { - if (root.dataAvailable) { - root.clearData(); - } - - if (!root.dataAvailable && event === 0) //### only handle paint event - Plotter.values.push(time); - } onRange: { if (root.dataAvailable) { @@ -151,19 +145,22 @@ Rectangle { Plotter.ranges.push( { type: type, start: startTime, duration: length, label: data, fileName: fileName, line: line, nestingLevel: nestingInType, nestingDepth: Plotter.nestingDepth[type] } ); if (nestingInType == 1) Plotter.nestingDepth[type] = 1; + root.eventCount = Plotter.ranges.length; + } } onComplete: { root.dataAvailable = true; - Plotter.calcFps(); - view.visible = true; - view.setRanges(Plotter.ranges); - view.updateTimeline(); - canvas.requestPaint(); - rangeMover.x = 1 //### hack to get view to display things immediately - rangeMover.x = 0 - rangeMover.opacity = 1 + if (Plotter.ranges.length > 0) { + view.visible = true; + view.setRanges(Plotter.ranges); + view.updateTimeline(); + canvas.requestPaint(); + rangeMover.x = 1 //### hack to get view to display things immediately + rangeMover.x = 0 + rangeMover.opacity = 1 + } } onClear: { @@ -500,4 +497,8 @@ Rectangle { height: flick.height + labels.y visible: false } + + StatusDisplay { + anchors.centerIn: flick + } } diff --git a/src/plugins/qmlprofiler/qml/StatusDisplay.qml b/src/plugins/qmlprofiler/qml/StatusDisplay.qml new file mode 100644 index 0000000000000000000000000000000000000000..4653450f92d092629ebe22f13955b18956206e5d --- /dev/null +++ b/src/plugins/qmlprofiler/qml/StatusDisplay.qml @@ -0,0 +1,106 @@ +import QtQuick 1.0 +import "MainView.js" as Plotter + +Rectangle { + id: statusDisplay + + property real percentage : 0 + property int eventCount: root.eventCount + onEventCountChanged: { + if (state=="loading" && eventCount > 0 && root.elapsedTime > 0) { + percentage = Math.min(1.0, + (Plotter.ranges[Plotter.ranges.length-1].start - Plotter.ranges[0].start) / root.elapsedTime * 1e-9 ); + } + } + + width: 200 + height: displayColumn.height + 20 + + visible: false; + + color: "#CCD0CC" + border.width: 1 + border.color: "#AAAEAA"; + radius: 4 + + Column { + id: displayColumn + y: 10 + spacing: 5 + Text { + id: statusText + width: statusDisplay.width + horizontalAlignment: "AlignHCenter" + y: 10 + } + + Rectangle { + id: progressBar + + visible: false + + width: statusDisplay.width - 20 + height: 20 + x: 10 + color: "transparent" + border.width: 1 + border.color: "#AAAEAA" + Rectangle { + x: 1 + y: 1 + width: (parent.width-1) * statusDisplay.percentage + color: Qt.rgba(0.37 + 0.2*(1 - statusDisplay.percentage), 0.58, 0.37, 1); + height: parent.height-1 + } + } + } + + states: [ + // no data available + State { + when: (root.eventCount == 0) && !connection.recording; + PropertyChanges { + target: statusDisplay + visible: true + } + + PropertyChanges { + target: statusText + text: qsTr("No QML events recorded"); + } + }, + // running app + State { + when: connection.recording; + PropertyChanges { + target: statusDisplay + visible: true + } + + PropertyChanges { + target: statusText + text: qsTr("Profiling application"); + } + }, + // loading data + State { + name: "loading" + when: (!root.dataAvailable) && (root.eventCount > 0); + PropertyChanges { + target: statusDisplay + visible: true + } + + PropertyChanges { + target: statusText + text: qsTr("Loading data"); + } + + PropertyChanges { + target: progressBar + visible: true + } + } + ] + +} diff --git a/src/plugins/qmlprofiler/qml/TimeDisplay.qml b/src/plugins/qmlprofiler/qml/TimeDisplay.qml index 24dd47d8cf0b3d2864a3931bc36894a6220dbfb3..3b5c67852c7371387979ba23cb717070aa221f94 100644 --- a/src/plugins/qmlprofiler/qml/TimeDisplay.qml +++ b/src/plugins/qmlprofiler/qml/TimeDisplay.qml @@ -103,7 +103,7 @@ TiledCanvas { } function drawBackgroundBars( ctxt, region ) { - var barHeight = labels.height / labels.rowCount; + var barHeight = Math.round(labels.height / labels.rowCount); var originY = labels.y for (var i=0; i<labels.rowCount; i++) { ctxt.fillStyle = i%2 ? "#f3f3f3" : "white" diff --git a/src/plugins/qmlprofiler/qml/qml.qrc b/src/plugins/qmlprofiler/qml/qml.qrc index acb92c1d774b9e4548c3a5c1b5da6e677ff341c3..f830de9ef8aada75f7d49e0a2ed559f805ef944b 100644 --- a/src/plugins/qmlprofiler/qml/qml.qrc +++ b/src/plugins/qmlprofiler/qml/qml.qrc @@ -15,5 +15,6 @@ <file>magnifier-plus.png</file> <file>recordOff.png</file> <file>recordOn.png</file> + <file>StatusDisplay.qml</file> </qresource> </RCC> diff --git a/src/plugins/qmlprofiler/qmlprofiler.pro b/src/plugins/qmlprofiler/qmlprofiler.pro index 69ed6b3c4510ce275c10b2a9b7932f6493ffc4ea..300d910c74053210ba3eee072359ec1975460ae2 100644 --- a/src/plugins/qmlprofiler/qmlprofiler.pro +++ b/src/plugins/qmlprofiler/qmlprofiler.pro @@ -59,7 +59,8 @@ OTHER_FILES += \ qml/RangeDetails.qml \ qml/RangeMover.qml \ qml/MainView.js \ - qml/TimeDisplay.qml + qml/TimeDisplay.qml \ + qml/StatusDisplay.qml FORMS += \ qmlprofilerattachdialog.ui diff --git a/src/plugins/qmlprofiler/qmlprofilerengine.cpp b/src/plugins/qmlprofiler/qmlprofilerengine.cpp index 27f34056ff5c953d84d3cd124e3111b99df3e776..829f26ea5d3158cf857ecf9af9bb04fbfcf0585a 100644 --- a/src/plugins/qmlprofiler/qmlprofilerengine.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerengine.cpp @@ -173,6 +173,19 @@ void QmlProfilerEngine::stop() void QmlProfilerEngine::stopped() { + // user feedback + if (d->m_running && d->m_fetchingData) { + Core::ICore * const core = Core::ICore::instance(); + QMessageBox *killedWarning = new QMessageBox(core->mainWindow()); + killedWarning->setIcon(QMessageBox::Warning); + killedWarning->setWindowTitle(tr("QML Profiler")); + killedWarning->setText(tr("Application finished before loading profiled data.\n Please use the stop button instead.")); + killedWarning->setStandardButtons(QMessageBox::Ok); + killedWarning->setDefaultButton(QMessageBox::Ok); + killedWarning->setModal(false); + killedWarning->show(); + } + d->m_running = false; AnalyzerManager::stopTool(); // FIXME: Needed? emit finished(); @@ -265,7 +278,7 @@ void QmlProfilerEngine::wrongSetupMessageBoxFinished(int button) { if (button == QMessageBox::Help) { Core::HelpManager *helpManager = Core::HelpManager::instance(); - helpManager->handleHelpRequest("creator-qml-performance-monitor.html"); + helpManager->handleHelpRequest("qthelp://com.nokia.qtcreator/doc/creator-qml-performance-monitor.html"); } } diff --git a/src/plugins/qmlprofiler/qmlprofilereventview.cpp b/src/plugins/qmlprofiler/qmlprofilereventview.cpp index dc75dd5cb8506a1fe994dabf744a287cd8d61b5c..b1856168883b19c260e0d7064e4119b8588a9e1e 100644 --- a/src/plugins/qmlprofiler/qmlprofilereventview.cpp +++ b/src/plugins/qmlprofiler/qmlprofilereventview.cpp @@ -125,11 +125,16 @@ void QmlProfilerEventStatistics::clear() d->m_rootHash.clear(); } -QList <QmlEventData *> QmlProfilerEventStatistics::getEventList() +QList <QmlEventData *> QmlProfilerEventStatistics::getEventList() const { return d->m_rootHash.values(); } +int QmlProfilerEventStatistics::eventCount() const +{ + return d->m_rootHash.size(); +} + void QmlProfilerEventStatistics::addRangedEvent(int type, int nestingLevel, int nestingInType, qint64 startTime, qint64 length, const QStringList &data, const QString &fileName, int line) { diff --git a/src/plugins/qmlprofiler/qmlprofilereventview.h b/src/plugins/qmlprofiler/qmlprofilereventview.h index eac510a9e243b690e643aa9dbe830abe53d44dd5..857c5058ae8bd0dfeb22514985419006e9e75a44 100644 --- a/src/plugins/qmlprofiler/qmlprofilereventview.h +++ b/src/plugins/qmlprofiler/qmlprofilereventview.h @@ -85,7 +85,8 @@ public: explicit QmlProfilerEventStatistics(QObject *parent = 0); ~QmlProfilerEventStatistics(); - QmlEventList getEventList(); + QmlEventList getEventList() const; + int eventCount() const; signals: void dataReady(); diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index fd004b7ae0b89769b412aee283e3ad57a9accd9a..a72872bce04bc538fb93b79602834d50030891bc 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -76,6 +76,7 @@ #include <QtGui/QTabWidget> #include <QtGui/QToolButton> #include <QtGui/QMessageBox> +#include <QtGui/QDockWidget> using namespace Analyzer; using namespace QmlProfiler::Internal; @@ -216,6 +217,7 @@ IAnalyzerEngine *QmlProfilerTool::createEngine(const AnalyzerStartParameters &sp connect(engine, SIGNAL(processRunning(int)), this, SLOT(connectClient(int))); connect(engine, SIGNAL(finished()), this, SLOT(disconnectClient())); + connect(engine, SIGNAL(finished()), this, SLOT(correctTimer())); connect(engine, SIGNAL(stopRecording()), this, SLOT(stopRecording())); connect(d->m_traceWindow, SIGNAL(viewUpdated()), engine, SLOT(dataReceived())); connect(this, SIGNAL(connectionFailed()), engine, SLOT(finishProcess())); @@ -295,6 +297,11 @@ QWidget *QmlProfilerTool::createWidgets() QDockWidget *callerDock = AnalyzerManager::createDockWidget (this, tr("Callers"), d->m_callerView, Qt::BottomDockWidgetArea); + eventsDock->show(); + timelineDock->show(); + calleeDock->show(); + callerDock->show(); + mw->splitDockWidget(mw->toolBarDockWidget(), eventsDock, Qt::Vertical); mw->tabifyDockWidget(eventsDock, timelineDock); mw->tabifyDockWidget(timelineDock, calleeDock); @@ -329,8 +336,9 @@ QWidget *QmlProfilerTool::createWidgets() palette.setColor(QPalette::WindowText, Qt::white); timeLabel->setPalette(palette); timeLabel->setIndent(10); - + connect(d->m_traceWindow, SIGNAL(viewUpdated()), this, SLOT(correctTimer())); connect(this, SIGNAL(setTimeLabel(QString)), timeLabel, SLOT(setText(QString))); + correctTimer(); layout->addWidget(timeLabel); toolbarWidget->setLayout(layout); @@ -426,6 +434,11 @@ void QmlProfilerTool::gotoSourceLocation(const QString &fileUrl, int lineNumber) } } +void QmlProfilerTool::correctTimer() { + if (d->m_statistics->eventCount() == 0) + updateTimer(0); +} + void QmlProfilerTool::updateTimer(qreal elapsedSeconds) { QString timeString = QString::number(elapsedSeconds,'f',1); diff --git a/src/plugins/qmlprofiler/qmlprofilertool.h b/src/plugins/qmlprofiler/qmlprofilertool.h index c4520d5a65ff1e5a567632da77ab5d58abd94ab1..490bbd26504db142e30ef3580d19a097cbee02b0 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.h +++ b/src/plugins/qmlprofiler/qmlprofilertool.h @@ -72,6 +72,7 @@ public slots: void gotoSourceLocation(const QString &fileUrl, int lineNumber); void updateTimer(qreal elapsedSeconds); + void correctTimer(); void clearDisplay(); diff --git a/src/plugins/qmlprofiler/timelineview.cpp b/src/plugins/qmlprofiler/timelineview.cpp index 79afcf2cc2ce3cd6e98f4cfa45ea722031b293f9..930672a8471d122dc3828fe47f1ce8ab4617b177 100644 --- a/src/plugins/qmlprofiler/timelineview.cpp +++ b/src/plugins/qmlprofiler/timelineview.cpp @@ -184,7 +184,7 @@ void TimelineView::updateTimeline(bool updateStartX) // Show items int z = 0; - for (int i = maxsample-1; i >= minsample; --i) { + for (int i = maxsample; i >= minsample; --i) { QDeclarativeItem *item = 0; item = m_items.value(i); bool creating = false; diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp index bb2dca563dcdc99ae6e8f9dcfa436e4ecef33339..6e97e7b7fc3155797217e31fe348348a447a7836 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp @@ -175,6 +175,11 @@ QList<BuildConfigurationInfo> Qt4SymbianTargetFactory::availableBuildConfigurati return tmp; } +bool Qt4SymbianTargetFactory::selectByDefault(const QString &id) const +{ + return id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID); +} + QSet<QString> Qt4SymbianTargetFactory::targetFeatures(const QString & /*id*/) const { QSet<QString> features; diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h index 92617456a3836dae058abf5203f419e1958640e2..2f5723bfc86ab371e200dbad77fb32b2dc762b4a 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h @@ -61,6 +61,7 @@ public: QList<ProjectExplorer::Task> reportIssues(const QString &proFile); QList<BuildConfigurationInfo> availableBuildConfigurations(const QString &id, const QString &proFilePath, const QtSupport::QtVersionNumber &minimumQtVersion); + bool selectByDefault(const QString &id) const; QSet<QString> targetFeatures(const QString &id) const; }; diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp index 0f3fd9759c786b6de3b9be4b1fd754a91e549cd3..02d568e5724e5e600829e124aa4c1b103179d097 100644 --- a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp @@ -117,6 +117,11 @@ bool SymbianQtVersion::toolChainAvailable(const QString &id) const if (!isValid()) return false; if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) { +#ifndef Q_OS_WIN + return false; +#endif + if (!QFileInfo(systemRoot() + QLatin1String("/Epoc32/release/winscw/udeb/epoc.exe")).exists()) + return false; QList<ProjectExplorer::ToolChain *> tcList = ProjectExplorer::ToolChainManager::instance()->toolChains(); foreach (ProjectExplorer::ToolChain *tc, tcList) { diff --git a/src/plugins/qt4projectmanager/qt4basetargetfactory.h b/src/plugins/qt4projectmanager/qt4basetargetfactory.h index 5a0301e768038df015567e5c8e1f8ae70a78a5be..633613854bb22ebaf6dd3f6a71356df13f535e80 100644 --- a/src/plugins/qt4projectmanager/qt4basetargetfactory.h +++ b/src/plugins/qt4projectmanager/qt4basetargetfactory.h @@ -76,6 +76,7 @@ public: virtual QIcon iconForId(const QString &id) const = 0; virtual QSet<QString> targetFeatures(const QString &id) const = 0; + virtual bool selectByDefault(const QString &id) const; virtual ProjectExplorer::Target *create(ProjectExplorer::Project *parent, const QString &id) = 0; virtual ProjectExplorer::Target *create(ProjectExplorer::Project *parent, const QString &id, const QList<BuildConfigurationInfo> &infos) = 0; diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp index 28d523a3bce91508d7c06c367ebbef901d1061c1..2ec2103cc6ee8f20a77f2d9c79da7b3d35e58654 100644 --- a/src/plugins/qt4projectmanager/qt4target.cpp +++ b/src/plugins/qt4projectmanager/qt4target.cpp @@ -213,6 +213,12 @@ QList<ProjectExplorer::Task> Qt4BaseTargetFactory::reportIssues(const QString &p return QList<ProjectExplorer::Task>(); } +bool Qt4BaseTargetFactory::selectByDefault(const QString &id) const +{ + Q_UNUSED(id); + return true; +} + // ------------------------------------------------------------------------- // Qt4BaseTarget // ------------------------------------------------------------------------- diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp index acac67cacbc62f29bbfb85660f2703ffe8a701f4..1c78e43bcefd8990bb849f91148a245c86d161d6 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp @@ -59,7 +59,7 @@ const QString AbstractMobileApp::ProFileComment(QLatin1String("#")); const QString AbstractMobileApp::DeploymentPriFileName(QLatin1String("deployment.pri")); const QString AbstractMobileApp::FileChecksum(QLatin1String("checksum")); const QString AbstractMobileApp::FileStubVersion(QLatin1String("version")); -const int AbstractMobileApp::StubVersion = 5; +const int AbstractMobileApp::StubVersion = 6; AbstractMobileApp::AbstractMobileApp() : m_orientation(ScreenOrientationAuto) diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index ffdd150d384d1a63ad548a6f27e345f4ce3572b1..9c15946f2842a9b3a31b972758f49968128a13c7 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -136,7 +136,8 @@ void TargetSetupPage::setupWidgets() selectTarget = !infos.isEmpty(); } else { if (!m_preferredFeatures.isEmpty()) { - selectTarget = factory->targetFeatures(id).contains(m_preferredFeatures); + selectTarget = factory->targetFeatures(id).contains(m_preferredFeatures) + && factory->selectByDefault(id); } } widget->setTargetSelected(selectTarget); diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index 03a84f504b3d30ee115029966ef5807f4955ff67..191b7d4259b1a05c0ed3e489294892894a32d90f 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -92,7 +92,7 @@ QList<ExampleItem> ExamplesListModel::parseExamples(QXmlStreamReader* reader, co item.imageUrl = attributes.value(QLatin1String("imagePath")).toString(); item.docUrl = attributes.value(QLatin1String("docUrl")).toString(); } else if (reader->name() == QLatin1String("fileToOpen")) { - item.filesToOpen.append(reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.filesToOpen.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("description")) { item.description = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement); } else if (reader->name() == QLatin1String("tags")) { @@ -132,7 +132,7 @@ QList<ExampleItem> ExamplesListModel::parseDemos(QXmlStreamReader* reader, const item.imageUrl = attributes.value(QLatin1String("imageUrl")).toString(); item.docUrl = attributes.value(QLatin1String("docUrl")).toString(); } else if (reader->name() == QLatin1String("fileToOpen")) { - item.filesToOpen.append(reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.filesToOpen.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("description")) { item.description = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement); } else if (reader->name() == QLatin1String("tags")) { @@ -171,7 +171,7 @@ QList<ExampleItem> ExamplesListModel::parseTutorials(QXmlStreamReader* reader, c item.imageUrl = attributes.value(QLatin1String("imageUrl")).toString(); item.docUrl = attributes.value(QLatin1String("docUrl")).toString(); } else if (reader->name() == QLatin1String("fileToOpen")) { - item.filesToOpen.append(reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.filesToOpen.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("description")) { item.description = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement); } else if (reader->name() == QLatin1String("tags")) { @@ -192,7 +192,7 @@ QList<ExampleItem> ExamplesListModel::parseTutorials(QXmlStreamReader* reader, c return tutorials; } -void ExamplesListModel::readNewsItems(const QString &examplesPath, const QString &demosPath, const QString & /* sourcePath */) +void ExamplesListModel::readNewsItems(const QString &examplesPath, const QString &demosPath, const QString & sourcePath) { clear(); foreach (const QString exampleSource, exampleSources()) { @@ -207,9 +207,18 @@ void ExamplesListModel::readNewsItems(const QString &examplesPath, const QString QDir examplesDir(offsetPath); QDir demosDir(offsetPath); if (offsetPath.startsWith(Core::ICore::instance()->resourcePath())) { - // Try to get dir from first Qt Version - examplesDir = examplesPath; - demosDir = demosPath; + // Try to get dir from first Qt Version, based on the Qt source directory + // at first, since examplesPath / demosPath points at the build directory + QString sourceBasedExamplesPath = sourcePath + QLatin1String("/examples"); + QString sourceBasedDemosPath = sourcePath + QLatin1String("/demos"); + examplesDir = sourceBasedExamplesPath; + demosDir = sourceBasedDemosPath; + // SDK case, folders might be called sth else (e.g. 'Examples' with uppercase E) + // but examplesPath / demosPath is correct + if (!examplesDir.exists() || !demosDir.exists()) { + examplesDir = examplesPath; + demosDir = demosPath; + } } QXmlStreamReader reader(&exampleFile); @@ -350,7 +359,7 @@ void ExamplesListModel::helpInitialized() disconnect(this, SLOT(cacheExamplesPath(QString, QString, QString))); connect(QtVersionManager::instance(), SIGNAL(updateExamples(QString,QString,QString)), SLOT(readNewsItems(QString,QString,QString))); - readNewsItems(m_cache.examplesPath, m_cache.demosPath, m_cache.examplesPath); + readNewsItems(m_cache.examplesPath, m_cache.demosPath, m_cache.sourcePath); } diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index 37f91240e0b1e28413650aed2ecb5cc8fc843987..eb225a2501cd61f1b70d03957f94f32f85777523 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -34,6 +34,9 @@ #include "exampleslistmodel.h" +#include <utils/pathchooser.h> +#include <utils/fileutils.h> + #include <coreplugin/coreplugin.h> #include <coreplugin/helpmanager.h> #include <projectexplorer/projectexplorer.h> @@ -49,6 +52,8 @@ namespace QtSupport { namespace Internal { +const char *C_FALLBACK_ROOT = "ProjectsFallbackRoot"; + class HelpImageProvider : public QDeclarativeImageProvider { public: @@ -79,7 +84,7 @@ GettingStartedWelcomePage::GettingStartedWelcomePage() void GettingStartedWelcomePage::facilitateQml(QDeclarativeEngine *engine) { m_engine = engine; - m_engine->addImageProvider("helpimage", new HelpImageProvider); + m_engine->addImageProvider(QLatin1String("helpimage"), new HelpImageProvider); m_examplesModel = new ExamplesListModel(this); connect (m_examplesModel, SIGNAL(tagsUpdated()), SLOT(updateTagsModel())); ExamplesListModelFilter *proxy = new ExamplesListModelFilter(this); @@ -89,8 +94,8 @@ void GettingStartedWelcomePage::facilitateQml(QDeclarativeEngine *engine) proxy->setFilterCaseSensitivity(Qt::CaseInsensitive); QDeclarativeContext *rootContenxt = m_engine->rootContext(); - rootContenxt->setContextProperty("examplesModel", proxy); - rootContenxt->setContextProperty("gettingStarted", this); + rootContenxt->setContextProperty(QLatin1String("examplesModel"), proxy); + rootContenxt->setContextProperty(QLatin1String("gettingStarted"), this); } void GettingStartedWelcomePage::openSplitHelp(const QUrl &help) @@ -103,19 +108,94 @@ QStringList GettingStartedWelcomePage::tagList() const return m_examplesModel->tags(); } +QString GettingStartedWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileInfo, QStringList &filesToOpen) +{ + const QString projectDir = proFileInfo.canonicalPath(); + QDialog d(Core::ICore::instance()->mainWindow()); + QGridLayout *lay = new QGridLayout(&d); + QLabel *descrLbl = new QLabel; + d.setWindowTitle(tr("Copy Project to writable Location?")); + descrLbl->setTextFormat(Qt::RichText); + descrLbl->setWordWrap(true); + descrLbl->setText(tr("<p>The project you are about to open is located in the " + "write-protected location:</p><blockquote>%1</blockquote>" + "<p>Please select a writable location below and click \"Copy Project and Open\" " + "to open a modifiable copy of the project or click \"Keep Project and Open\" " + "to open the project in location.</p><p><b>Note:</b> You will not " + "be able to alter or compile your project in the current location.</p>") + .arg(QDir::toNativeSeparators(projectDir))); + lay->addWidget(descrLbl, 0, 0, 1, 2); + QLabel *txt = new QLabel(tr("&Location:")); + Utils::PathChooser *chooser = new Utils::PathChooser; + txt->setBuddy(chooser); + chooser->setExpectedKind(Utils::PathChooser::ExistingDirectory); + QSettings *settings = Core::ICore::instance()->settings(); + chooser->setPath(settings->value( + QString::fromLatin1(C_FALLBACK_ROOT), QDir::homePath()).toString()); + lay->addWidget(txt, 1, 0); + lay->addWidget(chooser, 1, 1); + QDialogButtonBox *bb = new QDialogButtonBox; + connect(bb, SIGNAL(accepted()), &d, SLOT(accept())); + connect(bb, SIGNAL(rejected()), &d, SLOT(reject())); + QPushButton *copyBtn = bb->addButton(tr("&Copy Project and Open"), QDialogButtonBox::AcceptRole); + copyBtn->setDefault(true); + bb->addButton(tr("&Keep Project and Open"), QDialogButtonBox::RejectRole); + lay->addWidget(bb, 2, 0, 1, 2); + connect(chooser, SIGNAL(validChanged(bool)), copyBtn, SLOT(setEnabled(bool))); + if (d.exec() == QDialog::Accepted) { + QString exampleDirName = proFileInfo.dir().dirName(); + QString destBaseDir = chooser->path(); + settings->setValue(QString::fromLatin1(C_FALLBACK_ROOT), destBaseDir); + QDir toDirWithExamplesDir(destBaseDir); + if (toDirWithExamplesDir.cd(exampleDirName)) { + toDirWithExamplesDir.cdUp(); // step out, just to not be in the way + QMessageBox::warning(Core::ICore::instance()->mainWindow(), tr("Cannot Use Location"), + tr("The specified location already exists. " + "Please specify a valid location."), + QMessageBox::Ok, QMessageBox::NoButton); + return QString(); + } else { + QString error; + QString targetDir = destBaseDir + '/' + exampleDirName; + if (Utils::FileUtils::copyRecursively(projectDir, targetDir, &error)) { + // set vars to new location + QStringList::Iterator it; + for (it = filesToOpen.begin(); it != filesToOpen.end(); ++it) + it->replace(projectDir, targetDir); + + return targetDir+ '/' + proFileInfo.fileName(); + } else { + QMessageBox::warning(Core::ICore::instance()->mainWindow(), tr("Cannot Copy Project"), error); + } + + } + } + return QString(); + +} + void GettingStartedWelcomePage::openProject(const QString &projectFile, const QStringList &additionalFilesToOpen, const QUrl &help) { - qDebug() << projectFile << additionalFilesToOpen << help; + QString proFile = projectFile; + if (proFile.isEmpty()) + return; + + QStringList filesToOpen = additionalFilesToOpen; + QFileInfo proFileInfo(proFile); + // If the Qt is a distro Qt on Linux, it will not be writable, hence compilation will fail + if (!proFileInfo.isWritable()) + proFile = copyToAlternativeLocation(proFileInfo, filesToOpen); + // don't try to load help and files if loading the help request is being cancelled - if (ProjectExplorer::ProjectExplorerPlugin::instance()->openProject(projectFile)) { - Core::ICore::instance()->openFiles(additionalFilesToOpen); + if (!proFile.isEmpty() && ProjectExplorer::ProjectExplorerPlugin::instance()->openProject(proFile)) { + Core::ICore::instance()->openFiles(filesToOpen); Core::ICore::instance()->helpManager()->handleHelpRequest(help.toString()+QLatin1String("?view=split")); } } void GettingStartedWelcomePage::updateTagsModel() { - m_engine->rootContext()->setContextProperty("tagsList", m_examplesModel->tags()); + m_engine->rootContext()->setContextProperty(QLatin1String("tagsList"), m_examplesModel->tags()); emit tagsUpdated(); } diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.h b/src/plugins/qtsupport/gettingstartedwelcomepage.h index b67d62c5c978b32c4dfffc143dfc50cac8d58c41..ebe2318f9f312cb3260140da5c288d9e064cc806 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.h +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.h @@ -41,6 +41,7 @@ QT_BEGIN_NAMESPACE class QDeclarativeEngine; +class QFileInfo; QT_END_NAMESPACE namespace QtSupport { @@ -71,6 +72,7 @@ public slots: void updateTagsModel(); private: + QString copyToAlternativeLocation(const QFileInfo &fileInfo, QStringList &filesToOpen); ExamplesListModel *m_examplesModel; QDeclarativeEngine *m_engine; }; diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 40febd941089605207b78c432dcbae31bc53ff1b..5a3c5997d9c0d2fab93b65c020810cabd87fa9da 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -486,7 +486,7 @@ void QtOptionsPageWidget::showDebuggingBuildLog(const QTreeWidgetItem *currentIt const int currentItemIndex = indexForTreeItem(currentItem); if (currentItemIndex < 0) return; - BuildLogDialog *dialog = new BuildLogDialog(this); + BuildLogDialog *dialog = new BuildLogDialog(this->window()); dialog->setWindowTitle(tr("Debugging Helper Build Log for '%1'").arg(currentItem->text(0))); dialog->setText(currentItem->data(0, BuildLogRole).toString()); dialog->show(); diff --git a/src/plugins/qtsupport/qtsupport_dependencies.pri b/src/plugins/qtsupport/qtsupport_dependencies.pri index 7f6859456693acb971f23a7803387c7d0f174715..e80b878076e9e65dba535fe23484aad4417f1aff 100644 --- a/src/plugins/qtsupport/qtsupport_dependencies.pri +++ b/src/plugins/qtsupport/qtsupport_dependencies.pri @@ -1,2 +1,3 @@ include(../../plugins/projectexplorer/projectexplorer.pri) include(../../libs/qmljs/qmljs.pri) +include(../../libs/utils/utils.pri) diff --git a/src/plugins/remotelinux/deployablefilesperprofile.cpp b/src/plugins/remotelinux/deployablefilesperprofile.cpp index f571117fe951d73ab6e9f01a91a8c40f0e7353ba..396357d7457b37a6cbcca5dea002cd899d2353a3 100644 --- a/src/plugins/remotelinux/deployablefilesperprofile.cpp +++ b/src/plugins/remotelinux/deployablefilesperprofile.cpp @@ -263,7 +263,7 @@ bool DeployableFilesPerProFile::addDesktopFile() } const QtSupport::BaseQtVersion * const version = qtVersion(); - QTC_ASSERT(version, return false); + QTC_ASSERT(version && version->isValid(), return false); QString remoteDir = QLatin1String("/usr/share/applications"); if (MaemoGlobal::osType(version->qmakeCommand()) == LinuxDeviceConfiguration::Maemo5OsType) remoteDir += QLatin1String("/hildon"); @@ -339,9 +339,15 @@ const QtSupport::BaseQtVersion *DeployableFilesPerProFile::qtVersion() const QString DeployableFilesPerProFile::proFileScope() const { const QtSupport::BaseQtVersion *const qv = qtVersion(); - QTC_ASSERT(qv, return QString()); - return QLatin1String(MaemoGlobal::osType(qv->qmakeCommand()) == LinuxDeviceConfiguration::Maemo5OsType - ? "maemo5" : "unix:!symbian:!maemo5"); + QTC_ASSERT(qv && qv->isValid(), return QString()); + const QString osType = MaemoGlobal::osType(qv->qmakeCommand()); + if (osType == LinuxDeviceConfiguration::Maemo5OsType) + return QLatin1String("maemo5"); + if (osType == LinuxDeviceConfiguration::HarmattanOsType) + return QLatin1String("contains(MEEGO_EDITION,harmattan)"); + if (osType == LinuxDeviceConfiguration::MeeGoOsType) + return QLatin1String("!isEmpty(MEEGO_VERSION_MAJOR):!contains(MEEGO_EDITION,harmattan)"); + return QLatin1String("unix:!symbian:!maemo5:isEmpty(MEEGO_VERSION_MAJOR)"); } QString DeployableFilesPerProFile::installPrefix() const @@ -352,7 +358,7 @@ QString DeployableFilesPerProFile::installPrefix() const QString DeployableFilesPerProFile::remoteIconDir() const { const QtSupport::BaseQtVersion *const qv = qtVersion(); - QTC_ASSERT(qv, return QString()); + QTC_ASSERT(qv && qv->isValid(), return QString()); return QString::fromLocal8Bit("/usr/share/icons/hicolor/%1x%1/apps") .arg(MaemoGlobal::applicationIconSize(MaemoGlobal::osType(qv->qmakeCommand()))); } diff --git a/src/plugins/remotelinux/deploymentinfo.cpp b/src/plugins/remotelinux/deploymentinfo.cpp index 90bd032d4990a19a3ae317603b3cb659bd4fcbb7..23b23f5b6e9fd14a1d9c3adddfb35a6ef307b6ac 100644 --- a/src/plugins/remotelinux/deploymentinfo.cpp +++ b/src/plugins/remotelinux/deploymentinfo.cpp @@ -71,6 +71,13 @@ void DeploymentInfo::createModels() { if (m_target->project()->activeTarget() != m_target) return; + if (!m_target->activeBuildConfiguration() || !m_target->activeBuildConfiguration()->qtVersion() + || !m_target->activeBuildConfiguration()->qtVersion()->isValid()) { + beginResetModel(); + m_listModels.clear(); + endResetModel(); + return; + } const Qt4ProFileNode *const rootNode = m_target->qt4Project()->rootProjectNode(); if (!rootNode || rootNode->parseInProgress()) // Can be null right after project creation by wizard. diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp index 51102702bfc90e043a1fa691c56b285a322bb563..9876010ca48312cb3dac9d64ea90c75dbcf77903 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp @@ -80,7 +80,7 @@ bool GenericLinuxDeviceConfigurationWizardSetupPage::isComplete() const { return !configurationName().isEmpty() && !hostName().isEmpty() && !userName().isEmpty() && (authenticationType() == SshConnectionParameters::AuthenticationByPassword - || !m_d->ui.privateKeyPathChooser->isValid()); + || m_d->ui.privateKeyPathChooser->isValid()); } QString GenericLinuxDeviceConfigurationWizardSetupPage::configurationName() const diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardsetuppage.ui b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardsetuppage.ui index c2638dc9ce339c7527f638d848924f32cf207475..59c98b15d25c681d6fa61ead504215b531a31343 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardsetuppage.ui +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardsetuppage.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>542</width> - <height>201</height> + <width>564</width> + <height>207</height> </rect> </property> <property name="windowTitle"> @@ -71,7 +71,7 @@ <item row="2" column="0"> <widget class="QLabel" name="userNameLabel"> <property name="text"> - <string>User name:</string> + <string>The user name to log into the device:</string> </property> </widget> </item> @@ -98,7 +98,7 @@ <item row="3" column="0"> <widget class="QLabel" name="label"> <property name="text"> - <string>Authentication type:</string> + <string>The authentication type:</string> </property> </widget> </item> @@ -136,7 +136,7 @@ <item row="4" column="0"> <widget class="QLabel" name="label_2"> <property name="text"> - <string>Password:</string> + <string>The user's password:</string> </property> </widget> </item> @@ -167,7 +167,7 @@ <item row="5" column="0"> <widget class="QLabel" name="label_3"> <property name="text"> - <string>Private key:</string> + <string>The file containing the user's private key:</string> </property> </widget> </item> diff --git a/src/plugins/remotelinux/linuxdevicefactoryselectiondialog.ui b/src/plugins/remotelinux/linuxdevicefactoryselectiondialog.ui index b3b2490cf127bb68125ed75970fedd682880f42b..bb394e4f67eb95aaf92f34f2c1fe82aa4ae41a8a 100644 --- a/src/plugins/remotelinux/linuxdevicefactoryselectiondialog.ui +++ b/src/plugins/remotelinux/linuxdevicefactoryselectiondialog.ui @@ -17,12 +17,15 @@ <item> <widget class="QLabel" name="label"> <property name="text"> - <string>Available wizards:</string> + <string>Available device types:</string> </property> </widget> </item> <item> <widget class="QListWidget" name="listWidget"> + <property name="selectionBehavior"> + <enum>QAbstractItemView::SelectRows</enum> + </property> <property name="resizeMode"> <enum>QListView::Adjust</enum> </property> @@ -30,7 +33,7 @@ <bool>true</bool> </property> <property name="wordWrap"> - <bool>true</bool> + <bool>false</bool> </property> </widget> </item> diff --git a/src/plugins/remotelinux/maemodeviceconfigwizard.cpp b/src/plugins/remotelinux/maemodeviceconfigwizard.cpp index 969515a75c3f676f0ba8aecbc2fb153506f91410..4ee65e3ab2ad641f66325de4437bae9438a3b370 100644 --- a/src/plugins/remotelinux/maemodeviceconfigwizard.cpp +++ b/src/plugins/remotelinux/maemodeviceconfigwizard.cpp @@ -32,7 +32,6 @@ #include "maemodeviceconfigwizard.h" #include "ui_maemodeviceconfigwizardkeycreationpage.h" #include "ui_maemodeviceconfigwizardkeydeploymentpage.h" -#include "ui_maemodeviceconfigwizardlogindatapage.h" #include "ui_maemodeviceconfigwizardpreviouskeysetupcheckpage.h" #include "ui_maemodeviceconfigwizardreusekeyscheckpage.h" #include "ui_maemodeviceconfigwizardstartpage.h" @@ -86,8 +85,8 @@ struct WizardData }; enum PageId { - StartPageId, LoginDataPageId, PreviousKeySetupCheckPageId, - ReuseKeysCheckPageId, KeyCreationPageId, KeyDeploymentPageId, FinalPageId + StartPageId, PreviousKeySetupCheckPageId, ReuseKeysCheckPageId, KeyCreationPageId, + KeyDeploymentPageId, FinalPageId }; class MaemoDeviceConfigWizardStartPage : public QWizardPage @@ -174,67 +173,6 @@ private: const QScopedPointer<Ui::MaemoDeviceConfigWizardStartPage> m_ui; }; -class MaemoDeviceConfigWizardLoginDataPage : public QWizardPage -{ - Q_OBJECT - -public: - MaemoDeviceConfigWizardLoginDataPage(WizardData &wizardData, QWidget *parent) - : QWizardPage(parent), - m_ui(new Ui::MaemoDeviceConfigWizardLoginDataPage), - m_wizardData(wizardData) - { - m_ui->setupUi(this); - setTitle(tr("Login Data")); - m_ui->privateKeyPathChooser->setExpectedKind(PathChooser::File); - setSubTitle(QLatin1String(" ")); // For Qt bug (background color) - connect(m_ui->userNameLineEdit, SIGNAL(textChanged(QString)), - SIGNAL(completeChanged())); - connect(m_ui->privateKeyPathChooser, SIGNAL(validChanged()), - SIGNAL(completeChanged())); - connect(m_ui->passwordButton, SIGNAL(toggled(bool)), - SLOT(handleAuthTypeChanged())); - } - - virtual bool isComplete() const - { - return !userName().isEmpty() - && (authType() == SshConnectionParameters::AuthenticationByPassword - || m_ui->privateKeyPathChooser->isValid()); - } - - virtual void initializePage() - { - m_ui->userNameLineEdit->setText(defaultUser(m_wizardData.osType)); - m_ui->passwordButton->setChecked(true); - m_ui->passwordLineEdit->clear(); - m_ui->privateKeyPathChooser->setPath(LinuxDeviceConfiguration::defaultPrivateKeyFilePath()); - handleAuthTypeChanged(); - } - - SshConnectionParameters::AuthenticationType authType() const - { - return m_ui->passwordButton->isChecked() - ? SshConnectionParameters::AuthenticationByPassword - : SshConnectionParameters::AuthenticationByKey; - } - - QString userName() const { return m_ui->userNameLineEdit->text().trimmed(); } - QString password() const { return m_ui->passwordLineEdit->text(); } - QString privateKeyFilePath() const { return m_ui->privateKeyPathChooser->path(); } - -private: - Q_SLOT void handleAuthTypeChanged() - { - m_ui->passwordLineEdit->setEnabled(authType() == SshConnectionParameters::AuthenticationByPassword); - m_ui->privateKeyPathChooser->setEnabled(authType() == SshConnectionParameters::AuthenticationByKey); - emit completeChanged(); - } - - const QScopedPointer<Ui::MaemoDeviceConfigWizardLoginDataPage> m_ui; - const WizardData &m_wizardData; -}; - class MaemoDeviceConfigWizardPreviousKeySetupCheckPage : public QWizardPage { Q_OBJECT @@ -578,7 +516,6 @@ struct MaemoDeviceConfigWizardPrivate { MaemoDeviceConfigWizardPrivate(QWidget *parent) : startPage(parent), - loginDataPage(wizardData, parent), previousKeySetupPage(parent), reuseKeysCheckPage(parent), keyCreationPage(parent), @@ -589,7 +526,6 @@ struct MaemoDeviceConfigWizardPrivate WizardData wizardData; MaemoDeviceConfigWizardStartPage startPage; - MaemoDeviceConfigWizardLoginDataPage loginDataPage; MaemoDeviceConfigWizardPreviousKeySetupCheckPage previousKeySetupPage; MaemoDeviceConfigWizardReuseKeysCheckPage reuseKeysCheckPage; MaemoDeviceConfigWizardKeyCreationPage keyCreationPage; @@ -603,7 +539,6 @@ MaemoDeviceConfigWizard::MaemoDeviceConfigWizard(QWidget *parent) { setWindowTitle(tr("New Device Configuration Setup")); setPage(StartPageId, &d->startPage); - setPage(LoginDataPageId, &d->loginDataPage); setPage(PreviousKeySetupCheckPageId, &d->previousKeySetupPage); setPage(ReuseKeysCheckPageId, &d->reuseKeysCheckPage); setPage(KeyCreationPageId, &d->keyCreationPage); @@ -658,14 +593,6 @@ int MaemoDeviceConfigWizard::nextId() const if (d->wizardData.deviceType == LinuxDeviceConfiguration::Emulator) return FinalPageId; return PreviousKeySetupCheckPageId; - case LoginDataPageId: - d->wizardData.userName = d->loginDataPage.userName(); - d->wizardData.authType = d->loginDataPage.authType(); - if (d->wizardData.authType == SshConnectionParameters::AuthenticationByPassword) - d->wizardData.password = d->loginDataPage.password(); - else - d->wizardData.privateKeyFilePath = d->loginDataPage.privateKeyFilePath(); - return FinalPageId; case PreviousKeySetupCheckPageId: if (d->previousKeySetupPage.keyBasedLoginWasSetup()) { d->wizardData.privateKeyFilePath diff --git a/src/plugins/remotelinux/maemodeviceconfigwizardlogindatapage.ui b/src/plugins/remotelinux/maemodeviceconfigwizardlogindatapage.ui deleted file mode 100644 index c36cf115b469d8159ce0237c4d04c62ad99532f6..0000000000000000000000000000000000000000 --- a/src/plugins/remotelinux/maemodeviceconfigwizardlogindatapage.ui +++ /dev/null @@ -1,156 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>MaemoDeviceConfigWizardLoginDataPage</class> - <widget class="QWizardPage" name="MaemoDeviceConfigWizardLoginDataPage"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>423</width> - <height>127</height> - </rect> - </property> - <property name="windowTitle"> - <string>WizardPage</string> - </property> - <layout class="QFormLayout" name="formLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="userNameLabel"> - <property name="text"> - <string>User name:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLineEdit" name="userNameLineEdit"/> - </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Authentication type:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QRadioButton" name="passwordButton"> - <property name="text"> - <string>Password</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButton"> - <property name="text"> - <string>Key</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_4"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Password:</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QLineEdit" name="passwordLineEdit"> - <property name="echoMode"> - <enum>QLineEdit::Password</enum> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="label_3"> - <property name="text"> - <string>Private key:</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="Utils::PathChooser" name="privateKeyPathChooser"/> - </item> - <item> - <spacer name="horizontalSpacer_3"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>Utils::PathChooser</class> - <extends>QWidget</extends> - <header location="global">utils/pathchooser.h</header> - <container>1</container> - <slots> - <signal>editingFinished()</signal> - <signal>browsingFinished()</signal> - </slots> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/src/plugins/remotelinux/maemodeviceconfigwizardstartpage.ui b/src/plugins/remotelinux/maemodeviceconfigwizardstartpage.ui index 062a89c4d173834dcce95d1937f6ab2e232f8ff6..4df4e3f850581a9bbd2d88694464cabf96e5e96a 100644 --- a/src/plugins/remotelinux/maemodeviceconfigwizardstartpage.ui +++ b/src/plugins/remotelinux/maemodeviceconfigwizardstartpage.ui @@ -102,7 +102,7 @@ <item row="4" column="0"> <widget class="QLabel" name="sshPortLabel"> <property name="text"> - <string>The SSH port:</string> + <string>The SSH server port:</string> </property> </widget> </item> diff --git a/src/plugins/remotelinux/maemoqemumanager.cpp b/src/plugins/remotelinux/maemoqemumanager.cpp index 862f55a24035d18ed397095284c3f36621918bb5..4ec9bce9a4d2fa7ec4a77995444ab765f7390530 100644 --- a/src/plugins/remotelinux/maemoqemumanager.cpp +++ b/src/plugins/remotelinux/maemoqemumanager.cpp @@ -87,9 +87,9 @@ MaemoQemuManager::MaemoQemuManager(QObject *parent) m_qemuStarterIcon.addFile(":/qt-maemo/images/qemu-stop.png", iconSize, QIcon::Normal, QIcon::On); - m_qemuAction = new QAction("Maemo Emulator", this); + m_qemuAction = new QAction("MeeGo Emulator", this); m_qemuAction->setIcon(m_qemuStarterIcon.pixmap(iconSize)); - m_qemuAction->setToolTip(tr("Start Maemo Emulator")); + m_qemuAction->setToolTip(tr("Start MeeGo Emulator")); connect(m_qemuAction, SIGNAL(triggered()), this, SLOT(startRuntime())); Core::ICore *core = Core::ICore::instance(); @@ -512,10 +512,10 @@ void MaemoQemuManager::updateStarterIcon(bool running) QString toolTip; if (running) { state = QIcon::On; - toolTip = tr("Stop Maemo Emulator"); + toolTip = tr("Stop MeeGo Emulator"); } else { state = QIcon::Off; - toolTip = tr("Start Maemo Emulator"); + toolTip = tr("Start MeeGo Emulator"); } m_qemuAction->setToolTip(toolTip); diff --git a/src/plugins/remotelinux/maemosettingspages.cpp b/src/plugins/remotelinux/maemosettingspages.cpp index b1380ff8adac9a564614f9e18d95ed8a11dd5f3d..e22c78b29552db6a06138e6b3111998508781918 100644 --- a/src/plugins/remotelinux/maemosettingspages.cpp +++ b/src/plugins/remotelinux/maemosettingspages.cpp @@ -181,7 +181,7 @@ QString MaemoQemuSettingsPage::id() const QString MaemoQemuSettingsPage::displayName() const { - return tr("Maemo Qemu Settings"); + return tr("MeeGo Qemu Settings"); } QString MaemoQemuSettingsPage::category() const diff --git a/src/plugins/remotelinux/qt4maemotarget.cpp b/src/plugins/remotelinux/qt4maemotarget.cpp index 92a675c7e85e08809b2b9a8ea52e15b67a37028f..3f836dac2c5e5b16b847d3b2c9ea86c814a61d8d 100644 --- a/src/plugins/remotelinux/qt4maemotarget.cpp +++ b/src/plugins/remotelinux/qt4maemotarget.cpp @@ -321,7 +321,7 @@ AbstractQt4MaemoTarget::ActionStatus AbstractQt4MaemoTarget::createTemplates() QDir projectDir(project()->projectDirectory()); if (!projectDir.exists(PackagingDirName) && !projectDir.mkdir(PackagingDirName)) { - raiseError(tr("Error creating Maemo packaging directory '%1'.") + raiseError(tr("Error creating packaging directory '%1'.") .arg(PackagingDirName)); return ActionFailed; } @@ -331,15 +331,20 @@ AbstractQt4MaemoTarget::ActionStatus AbstractQt4MaemoTarget::createTemplates() return ActionFailed; if (actionStatus == ActionSuccessful) { const QStringList &files = packagingFilePaths(); - QMessageBox::StandardButton button - = QMessageBox::question(Core::ICore::instance()->mainWindow(), - tr("Add Packaging Files to Project"), - tr("Qt Creator has set up the following files to enable " - "packaging:\n %1\nDo you want to add them to the project?") - .arg(files.join(QLatin1String("\n "))), - QMessageBox::Yes | QMessageBox::No); - if (button == QMessageBox::Yes) - ProjectExplorer::ProjectExplorerPlugin::instance()->addExistingFiles(project()->rootProjectNode(), files); + if (!files.isEmpty()) { + const QString list = QLatin1String("<ul><li>") + + files.join(QLatin1String("</li><li>")) + QLatin1String("</li></ul>"); + QMessageBox::StandardButton button + = QMessageBox::question(Core::ICore::instance()->mainWindow(), + tr("Add Packaging Files to Project"), + tr("<html>Qt Creator has set up the following files to enable " + "packaging:\n %1\nDo you want to add them to the project?</html>") + .arg(list), QMessageBox::Yes | QMessageBox::No); + if (button == QMessageBox::Yes) { + ProjectExplorer::ProjectExplorerPlugin::instance() + ->addExistingFiles(project()->rootProjectNode(), files); + } + } } return actionStatus; } @@ -365,7 +370,7 @@ bool AbstractQt4MaemoTarget::initPackagingSettingsFromOtherTarget() void AbstractQt4MaemoTarget::raiseError(const QString &reason) { - QMessageBox::critical(0, tr("Error creating Maemo templates"), reason); + QMessageBox::critical(0, tr("Error creating MeeGo templates"), reason); } AbstractDebBasedQt4MaemoTarget::AbstractDebBasedQt4MaemoTarget(Qt4Project *parent, diff --git a/src/plugins/remotelinux/remotelinux.pro b/src/plugins/remotelinux/remotelinux.pro index f6b668216f8c699a37a700957687806bde08cd36..efce5679167d3348d32f15c0dadddec4d0141b1e 100644 --- a/src/plugins/remotelinux/remotelinux.pro +++ b/src/plugins/remotelinux/remotelinux.pro @@ -192,7 +192,6 @@ FORMS += \ maemodeviceconfigwizardkeycreationpage.ui \ maemodeviceconfigwizardkeydeploymentpage.ui \ maemodeployconfigurationwidget.ui \ - maemodeviceconfigwizardlogindatapage.ui \ linuxdevicefactoryselectiondialog.ui \ genericlinuxdeviceconfigurationwizardsetuppage.ui diff --git a/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp b/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp index f758c27bc93f0b53101049184e00251805a80c57..f1cb9d383b9e29b751f0d8ab0318f00c03553201 100644 --- a/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp +++ b/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp @@ -41,8 +41,6 @@ #include <utils/ssh/sshconnectionmanager.h> #include <utils/ssh/sshremoteprocess.h> -#include <QtCore/QFileInfo> - #include <limits> #define ASSERT_STATE(state) ASSERT_STATE_GENERIC(State, state, m_state) @@ -65,7 +63,12 @@ RemoteLinuxApplicationRunner::RemoteLinuxApplicationRunner(QObject *parent, m_stopRequested(false), m_state(Inactive) { - m_procsToKill << QFileInfo(m_remoteExecutable).fileName(); + // Prevent pkill from matching our own pkill call. + QString pkillArg = m_remoteExecutable; + const int lastPos = pkillArg.count() - 1; + pkillArg.replace(lastPos, 1, QLatin1Char('[') + pkillArg.at(lastPos) + QLatin1Char(']')); + m_procsToKill << pkillArg; + connect(m_portsGatherer, SIGNAL(error(QString)), SLOT(handlePortsGathererError(QString))); connect(m_portsGatherer, SIGNAL(portListReady()), SLOT(handleUsedPortsAvailable())); } @@ -169,8 +172,13 @@ void RemoteLinuxApplicationRunner::cleanup() emit reportProgress(tr("Killing remote process(es)...")); - // pkill behaves differently on Fremantle and Harmattan. - const char *const killTemplate = "pkill -%2 '^%1$'; pkill -%2 '/%1$';"; + // Fremantle's busybox configuration is strange. + const char *killTemplate; + if (m_devConfig->osType() == LinuxDeviceConfiguration::Maemo5OsType) + killTemplate = "pkill -f -%2 %1;"; + else + killTemplate = "pkill -%2 -f %1;"; + QString niceKill; QString brutalKill; foreach (const QString &proc, m_procsToKill) { @@ -209,6 +217,7 @@ void RemoteLinuxApplicationRunner::handleCleanupFinished(int exitStatus) if (exitStatus != SshRemoteProcess::ExitedNormally) { emitError(tr("Initial cleanup failed: %1").arg(m_cleaner->errorString())); + emit remoteProcessFinished(InvalidExitCode); return; } diff --git a/src/plugins/remotelinux/remotelinuxruncontrol.cpp b/src/plugins/remotelinux/remotelinuxruncontrol.cpp index 0b9ed277e23055964a080adb3bf103f20e52920d..67dd6c3d00780a89983c1fc7cd43513877077acb 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrol.cpp +++ b/src/plugins/remotelinux/remotelinuxruncontrol.cpp @@ -79,7 +79,7 @@ void AbstractRemoteLinuxRunControl::start() RunControl::StopResult AbstractRemoteLinuxRunControl::stop() { runner()->stop(); - return StoppedSynchronously; + return AsynchronousStop; } void AbstractRemoteLinuxRunControl::handleSshError(const QString &error) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 1401ab745008a7d3e1f9def34ac747c43b11b6f6..a14afe3254034aaa53997459f4bf8a5ce134b7f0 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -51,6 +51,7 @@ #include "codeassistant.h" #include "defaultassistinterface.h" #include "convenience.h" +#include "texteditorsettings.h" #include <aggregation/aggregate.h> #include <coreplugin/actionmanager/actionmanager.h> @@ -4335,12 +4336,16 @@ void BaseTextEditorWidget::setTabPreferences(TabPreferences *tabPreferences) { if (d->m_tabPreferences) { disconnect(d->m_tabPreferences, SIGNAL(currentSettingsChanged(TextEditor::TabSettings)), - this, SLOT(setTabSettings(TextEditor::TabSettings))); + this, SLOT(setTabSettings(TextEditor::TabSettings))); + disconnect(d->m_tabPreferences, SIGNAL(destroyed()), + this, SLOT(onTabPreferencesDestroyed())); } d->m_tabPreferences = tabPreferences; if (d->m_tabPreferences) { connect(d->m_tabPreferences, SIGNAL(currentSettingsChanged(TextEditor::TabSettings)), this, SLOT(setTabSettings(TextEditor::TabSettings))); + connect(d->m_tabPreferences, SIGNAL(destroyed()), + this, SLOT(onTabPreferencesDestroyed())); setTabSettings(d->m_tabPreferences->currentSettings()); } } @@ -4351,15 +4356,37 @@ void BaseTextEditorWidget::setCodeStylePreferences(IFallbackPreferences *prefere if (d->m_codeStylePreferences) { disconnect(d->m_codeStylePreferences, SIGNAL(currentValueChanged(QVariant)), this, SLOT(slotCodeStyleSettingsChanged(QVariant))); + disconnect(d->m_codeStylePreferences, SIGNAL(destroyed()), + this, SLOT(onCodeStylePreferencesDestroyed())); } d->m_codeStylePreferences = preferences; if (d->m_codeStylePreferences) { connect(d->m_codeStylePreferences, SIGNAL(currentValueChanged(QVariant)), this, SLOT(slotCodeStyleSettingsChanged(QVariant))); + connect(d->m_codeStylePreferences, SIGNAL(destroyed()), + this, SLOT(onCodeStylePreferencesDestroyed())); slotCodeStyleSettingsChanged(d->m_codeStylePreferences->currentValue()); } } +void BaseTextEditorWidget::onTabPreferencesDestroyed() +{ + if (sender() != d->m_tabPreferences) + return; + // avoid failing disconnects, m_tabPreferences has already been reduced to QObject + d->m_tabPreferences = 0; + setTabPreferences(TextEditorSettings::instance()->tabPreferences(languageSettingsId())); +} + +void BaseTextEditorWidget::onCodeStylePreferencesDestroyed() +{ + if (sender() != d->m_codeStylePreferences) + return; + // avoid failing disconnects, m_codeStylePreferences has already been reduced to QObject + d->m_codeStylePreferences = 0; + setCodeStylePreferences(TextEditorSettings::instance()->codeStylePreferences(languageSettingsId())); +} + void BaseTextEditorWidget::slotCodeStyleSettingsChanged(const QVariant &) { diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index e7915545d63d144baaffaa44342e224e18755db3..ab64861b3058a112621bf5e8a4e31ab7a9b75c2a 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -355,6 +355,8 @@ private slots: bool inFindScope(const QTextCursor &cursor); bool inFindScope(int selectionStart, int selectionEnd); void inSnippetMode(bool *active); + void onTabPreferencesDestroyed(); + void onCodeStylePreferencesDestroyed(); private: Internal::BaseTextEditorPrivate *d; diff --git a/src/plugins/valgrind/callgrindconfigwidget.cpp b/src/plugins/valgrind/callgrindconfigwidget.cpp deleted file mode 100644 index 280fd4353d47355df8e4994d80b45931e5dbf9ac..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/callgrindconfigwidget.cpp +++ /dev/null @@ -1,94 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#include "callgrindconfigwidget.h" - -#include "ui_callgrindconfigwidget.h" - -#include "callgrindsettings.h" - -using namespace Valgrind::Internal; - -CallgrindConfigWidget::CallgrindConfigWidget(AbstractCallgrindSettings *settings, QWidget *parent) - : QWidget(parent) - , m_ui(new Ui::CallgrindConfigWidget) - , m_settings(settings) -{ - m_ui->setupUi(this); - - m_ui->enableCacheSim->setChecked(m_settings->enableCacheSim()); - connect(m_ui->enableCacheSim, SIGNAL(toggled(bool)), - m_settings, SLOT(setEnableCacheSim(bool))); - connect(m_settings, SIGNAL(enableCacheSimChanged(bool)), - m_ui->enableCacheSim, SLOT(setChecked(bool))); - - m_ui->enableBranchSim->setChecked(m_settings->enableBranchSim()); - connect(m_ui->enableBranchSim, SIGNAL(toggled(bool)), - m_settings, SLOT(setEnableBranchSim(bool))); - connect(m_settings, SIGNAL(enableBranchSimChanged(bool)), - m_ui->enableBranchSim, SLOT(setChecked(bool))); - - m_ui->collectSystime->setChecked(m_settings->collectSystime()); - connect(m_ui->collectSystime, SIGNAL(toggled(bool)), - m_settings, SLOT(setCollectSystime(bool))); - connect(m_settings, SIGNAL(collectSystimeChanged(bool)), - m_ui->collectSystime, SLOT(setChecked(bool))); - - m_ui->collectBusEvents->setChecked(m_settings->collectBusEvents()); - connect(m_ui->collectBusEvents, SIGNAL(toggled(bool)), - m_settings, SLOT(setCollectBusEvents(bool))); - connect(m_settings, SIGNAL(collectBusEventsChanged(bool)), - m_ui->collectBusEvents, SLOT(setChecked(bool))); - - m_ui->enableEventToolTips->setChecked(m_settings->enableEventToolTips()); - connect(m_ui->enableEventToolTips, SIGNAL(toggled(bool)), - m_settings, SLOT(setEnableEventToolTips(bool))); - connect(m_settings, SIGNAL(enableEventToolTipsChanged(bool)), - m_ui->enableEventToolTips, SLOT(setChecked(bool))); - - m_ui->minimumInclusiveCostRatio->setValue(m_settings->minimumInclusiveCostRatio()); - connect(m_ui->minimumInclusiveCostRatio, SIGNAL(valueChanged(double)), - m_settings, SLOT(setMinimumInclusiveCostRatio(double))); - connect(m_settings, SIGNAL(minimumInclusiveCostRatioChanged(double)), - m_ui->minimumInclusiveCostRatio, SLOT(setValue(double))); - - m_ui->visualisationMinimumInclusiveCostRatio->setValue(m_settings->visualisationMinimumInclusiveCostRatio()); - connect(m_ui->visualisationMinimumInclusiveCostRatio, SIGNAL(valueChanged(double)), - m_settings, SLOT(setVisualisationMinimumInclusiveCostRatio(double))); - connect(m_settings, SIGNAL(visualisationMinimumInclusiveCostRatioChanged(double)), - m_ui->visualisationMinimumInclusiveCostRatio, SLOT(setValue(double))); -} - -CallgrindConfigWidget::~CallgrindConfigWidget() -{ - delete m_ui; -} diff --git a/src/plugins/valgrind/callgrindconfigwidget.ui b/src/plugins/valgrind/callgrindconfigwidget.ui deleted file mode 100644 index 877c88a5253e8e1ede640356e5b0351bdf2930ab..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/callgrindconfigwidget.ui +++ /dev/null @@ -1,166 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>Valgrind::Internal::CallgrindConfigWidget</class> - <widget class="QWidget" name="Valgrind::Internal::CallgrindConfigWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>494</width> - <height>565</height> - </rect> - </property> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0" colspan="2"> - <widget class="QGroupBox" name="memcheckOptions"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Profiling Options</string> - </property> - <layout class="QFormLayout" name="formLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="minimumInclusiveCostRatioLabel"> - <property name="toolTip"> - <string>Limits the amount of results the profiler gives you. A lower limit will likely increase performance.</string> - </property> - <property name="text"> - <string>Result view: Show events with inclusive costs higher than:</string> - </property> - <property name="buddy"> - <cstring>minimumInclusiveCostRatio</cstring> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QDoubleSpinBox" name="minimumInclusiveCostRatio"> - <property name="suffix"> - <string>%</string> - </property> - <property name="decimals"> - <number>2</number> - </property> - <property name="maximum"> - <double>10.000000000000000</double> - </property> - <property name="singleStep"> - <double>0.100000000000000</double> - </property> - </widget> - </item> - <item row="2" column="0" colspan="2"> - <widget class="QGroupBox" name="enableEventToolTips"> - <property name="title"> - <string>Show additional information for events in tooltips</string> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <layout class="QGridLayout" name="gridLayout_3"> - <item row="0" column="0"> - <widget class="QCheckBox" name="enableCacheSim"> - <property name="toolTip"> - <string><html><head/><body> -<p>Does full cache simulation.</p> -<p>By default, only instruction read accesses will be counted ("Ir").</p> -<p> -With cache simulation, further event counters are enabled: -<ul><li>Cache misses on instruction reads ("I1mr"/"I2mr")</li> -<li>Data read accesses ("Dr") and related cache misses ("D1mr"/"D2mr")</li> -<li>Data write accesses ("Dw") and related cache misses ("D1mw"/"D2mw")</li></ul> -</p> - -</body></html></string> - </property> - <property name="text"> - <string>Enable cache simulation</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QCheckBox" name="enableBranchSim"> - <property name="toolTip"> - <string><html><head/><body> -<p>Do branch prediction simulation.</p> -<p>Further event counters are enabled: </p> -<ul><li>Number of executed conditional branches and related predictor misses ( -"Bc"/"Bcm")</li> -<li>Executed indirect jumps and related misses of the jump address predictor ( -"Bi"/"Bim")</li></ul></body></html></string> - </property> - <property name="text"> - <string>Enable branch prediction simulation</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QCheckBox" name="collectSystime"> - <property name="toolTip"> - <string>Collect information for system call times.</string> - </property> - <property name="text"> - <string>Collect system call time</string> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QCheckBox" name="collectBusEvents"> - <property name="toolTip"> - <string>Collect the number of global bus events that are executed. The event type "Ge" is used for these events.</string> - </property> - <property name="text"> - <string>Collect global bus events</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="visualisationMinimumInclusiveCostRatioLabel"> - <property name="text"> - <string>Visualisation: Show events with inclusive costs higher than:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QDoubleSpinBox" name="visualisationMinimumInclusiveCostRatio"> - <property name="prefix"> - <string/> - </property> - <property name="suffix"> - <string>%</string> - </property> - <property name="minimum"> - <double>0.000000000000000</double> - </property> - <property name="maximum"> - <double>50.000000000000000</double> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="0" colspan="2"> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/src/plugins/valgrind/callgrindengine.cpp b/src/plugins/valgrind/callgrindengine.cpp index 988c70932912e51d053bceb9b7fc3e9374bbfc53..72ead6e35033bf3dd5d3e1fa124dfdaffb5ae3e3 100644 --- a/src/plugins/valgrind/callgrindengine.cpp +++ b/src/plugins/valgrind/callgrindengine.cpp @@ -32,7 +32,7 @@ #include "callgrindengine.h" -#include "callgrindsettings.h" +#include "valgrindsettings.h" #include <valgrind/callgrind/callgrindcontroller.h> #include <valgrind/callgrind/callgrindparser.h> @@ -67,7 +67,7 @@ QStringList CallgrindEngine::toolArguments() const { QStringList arguments; - AbstractCallgrindSettings *callgrindSettings = m_settings->subConfig<AbstractCallgrindSettings>(); + ValgrindBaseSettings *callgrindSettings = m_settings->subConfig<ValgrindBaseSettings>(); QTC_ASSERT(callgrindSettings, return arguments); if (callgrindSettings->enableCacheSim()) diff --git a/src/plugins/valgrind/callgrindsettings.cpp b/src/plugins/valgrind/callgrindsettings.cpp deleted file mode 100644 index 58505cebdb378da1c63ded6201e829db26e7affd..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/callgrindsettings.cpp +++ /dev/null @@ -1,226 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#include "callgrindsettings.h" - -#include "callgrindconfigwidget.h" - -#include <QtCore/QDebug> - -using namespace Analyzer; - -static const char callgrindEnableCacheSimC[] = "Analyzer.Valgrind.Callgrind.EnableCacheSim"; -static const char callgrindEnableBranchSimC[] = "Analyzer.Valgrind.Callgrind.EnableBranchSim"; -static const char callgrindCollectSystimeC[] = "Analyzer.Valgrind.Callgrind.CollectSystime"; -static const char callgrindCollectBusEventsC[] = "Analyzer.Valgrind.Callgrind.CollectBusEvents"; -static const char callgrindEnableEventToolTipsC[] = "Analyzer.Valgrind.Callgrind.EnableEventToolTips"; -static const char callgrindMinimumCostRatioC[] = "Analyzer.Valgrind.Callgrind.MinimumCostRatio"; -static const char callgrindVisualisationMinimumCostRatioC[] = "Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio"; - -static const char callgrindCycleDetectionC[] = "Analyzer.Valgrind.Callgrind.CycleDetection"; -static const char callgrindCostFormatC[] = "Analyzer.Valgrind.Callgrind.CostFormat"; - -namespace Valgrind { -namespace Internal { - -void AbstractCallgrindSettings::setEnableCacheSim(bool enable) -{ - if (m_enableCacheSim == enable) - return; - - m_enableCacheSim = enable; - emit enableCacheSimChanged(enable); -} - -void AbstractCallgrindSettings::setEnableBranchSim(bool enable) -{ - if (m_enableBranchSim == enable) - return; - - m_enableBranchSim = enable; - emit enableBranchSimChanged(enable); -} - -void AbstractCallgrindSettings::setCollectSystime(bool collect) -{ - if (m_collectSystime == collect) - return; - - m_collectSystime = collect; - emit collectSystimeChanged(collect); -} - -void AbstractCallgrindSettings::setCollectBusEvents(bool collect) -{ - if (m_collectBusEvents == collect) - return; - - m_collectBusEvents = collect; - emit collectBusEventsChanged(collect); -} - -void AbstractCallgrindSettings::setEnableEventToolTips(bool enable) -{ - if (m_enableEventToolTips == enable) - return; - - m_enableEventToolTips = enable; - emit enableEventToolTipsChanged(enable); -} - -void AbstractCallgrindSettings::setMinimumInclusiveCostRatio( - double minimumInclusiveCostRatio) -{ - if (m_minimumInclusiveCostRatio == minimumInclusiveCostRatio) - return; - - m_minimumInclusiveCostRatio = qBound(0.0, minimumInclusiveCostRatio, 100.0); - emit minimumInclusiveCostRatioChanged(minimumInclusiveCostRatio); -} - -void AbstractCallgrindSettings::setVisualisationMinimumInclusiveCostRatio( - double minimumInclusiveCostRatio) -{ - if (m_visualisationMinimumInclusiveCostRatio == minimumInclusiveCostRatio) - return; - - m_visualisationMinimumInclusiveCostRatio = qBound(0.0, minimumInclusiveCostRatio, 100.0); - emit visualisationMinimumInclusiveCostRatioChanged(minimumInclusiveCostRatio); -} - -QVariantMap AbstractCallgrindSettings::defaults() const -{ - QVariantMap map; - map.insert(QLatin1String(callgrindEnableCacheSimC), false); - map.insert(QLatin1String(callgrindEnableBranchSimC), false); - map.insert(QLatin1String(callgrindCollectSystimeC), false); - map.insert(QLatin1String(callgrindCollectBusEventsC), false); - map.insert(QLatin1String(callgrindEnableEventToolTipsC), true); - map.insert(QLatin1String(callgrindMinimumCostRatioC), 0.01); - map.insert(QLatin1String(callgrindVisualisationMinimumCostRatioC), 10.0); - return map; -} - -bool AbstractCallgrindSettings::fromMap(const QVariantMap &map) -{ - setIfPresent(map, QLatin1String(callgrindEnableCacheSimC), &m_enableCacheSim); - setIfPresent(map, QLatin1String(callgrindEnableBranchSimC), &m_enableBranchSim); - setIfPresent(map, QLatin1String(callgrindCollectSystimeC), &m_collectSystime); - setIfPresent(map, QLatin1String(callgrindCollectBusEventsC), &m_collectBusEvents); - setIfPresent(map, QLatin1String(callgrindEnableEventToolTipsC), &m_enableEventToolTips); - setIfPresent(map, QLatin1String(callgrindMinimumCostRatioC), &m_minimumInclusiveCostRatio); - setIfPresent(map, QLatin1String(callgrindVisualisationMinimumCostRatioC), - &m_visualisationMinimumInclusiveCostRatio); - return true; -} - -QVariantMap AbstractCallgrindSettings::toMap() const -{ - QVariantMap map; - map.insert(QLatin1String(callgrindEnableCacheSimC), m_enableCacheSim); - map.insert(QLatin1String(callgrindEnableBranchSimC), m_enableBranchSim); - map.insert(QLatin1String(callgrindCollectSystimeC), m_collectSystime); - map.insert(QLatin1String(callgrindCollectBusEventsC), m_collectBusEvents); - map.insert(QLatin1String(callgrindEnableEventToolTipsC), m_enableEventToolTips); - map.insert(QLatin1String(callgrindMinimumCostRatioC), m_minimumInclusiveCostRatio); - map.insert(QLatin1String(callgrindVisualisationMinimumCostRatioC), - m_visualisationMinimumInclusiveCostRatio); - return map; -} - -QString AbstractCallgrindSettings::id() const -{ - return QLatin1String("Analyzer.Valgrind.Settings.Callgrind"); -} - -QString AbstractCallgrindSettings::displayName() const -{ - return tr("Profiling"); -} - -QWidget *AbstractCallgrindSettings::createConfigWidget(QWidget *parent) -{ - return new CallgrindConfigWidget(this, parent); -} - - -QVariantMap CallgrindGlobalSettings::defaults() const -{ - QVariantMap map = AbstractCallgrindSettings::defaults(); - map.insert(QLatin1String(callgrindCostFormatC), CostDelegate::FormatRelative); - map.insert(QLatin1String(callgrindCycleDetectionC), true); - return map; -} - -bool CallgrindGlobalSettings::fromMap(const QVariantMap &map) -{ - AbstractCallgrindSettings::fromMap(map); - // special code as the default one does not cope with the enum properly - if (map.contains(QLatin1String(callgrindCostFormatC))) { - m_costFormat = static_cast<CostDelegate::CostFormat>(map.value(QLatin1String(callgrindCostFormatC)).toInt()); - } - setIfPresent(map, QLatin1String(callgrindCycleDetectionC), &m_detectCycles); - return true; -} - -QVariantMap CallgrindGlobalSettings::toMap() const -{ - QVariantMap map = AbstractCallgrindSettings::toMap(); - map.insert(QLatin1String(callgrindCostFormatC), m_costFormat); - map.insert(QLatin1String(callgrindCycleDetectionC), m_detectCycles); - return map; -} - -CostDelegate::CostFormat CallgrindGlobalSettings::costFormat() const -{ - return m_costFormat; -} - -void CallgrindGlobalSettings::setCostFormat(CostDelegate::CostFormat format) -{ - m_costFormat = format; - AnalyzerGlobalSettings::instance()->writeSettings(); -} - -bool CallgrindGlobalSettings::detectCycles() const -{ - return m_detectCycles; -} - -void CallgrindGlobalSettings::setDetectCycles(bool detect) -{ - m_detectCycles = detect; - AnalyzerGlobalSettings::instance()->writeSettings(); -} - -} // namespace Internal -} // namespace Valgrind diff --git a/src/plugins/valgrind/callgrindsettings.h b/src/plugins/valgrind/callgrindsettings.h deleted file mode 100644 index 1a81bf8712e638074349eae77cd59500ce7522a0..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/callgrindsettings.h +++ /dev/null @@ -1,153 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#ifndef ANALYZER_INTERNAL_CALLGRINDSETTINGS_H -#define ANALYZER_INTERNAL_CALLGRINDSETTINGS_H - -#include "callgrindcostdelegate.h" - -#include <analyzerbase/analyzersettings.h> - -#include <QtCore/QString> - -namespace Valgrind { -namespace Internal { - -/** - * Generic callgrind settings - */ -class AbstractCallgrindSettings : public Analyzer::AbstractAnalyzerSubConfig -{ - Q_OBJECT - -public: - AbstractCallgrindSettings() {} - - bool enableCacheSim() const { return m_enableCacheSim; } - bool enableBranchSim() const { return m_enableBranchSim; } - bool collectSystime() const { return m_collectSystime; } - bool collectBusEvents() const { return m_collectBusEvents; } - bool enableEventToolTips() const { return m_enableEventToolTips; } - - /// \return Minimum cost ratio, range [0.0..100.0] - double minimumInclusiveCostRatio() const { return m_minimumInclusiveCostRatio; } - - /// \return Minimum cost ratio, range [0.0..100.0] - double visualisationMinimumInclusiveCostRatio() const { return m_visualisationMinimumInclusiveCostRatio; } - - // abstract virtual methods from base class - virtual bool fromMap(const QVariantMap &map); - - virtual QVariantMap defaults() const; - - virtual QString id() const; - virtual QString displayName() const; - virtual QWidget *createConfigWidget(QWidget *parent); - -public slots: - void setEnableCacheSim(bool enable); - void setEnableBranchSim(bool enable); - void setCollectSystime(bool collect); - void setCollectBusEvents(bool collect); - void setEnableEventToolTips(bool enable); - - /// \param minimumInclusiveCostRatio Minimum inclusive cost ratio, valid values are [0.0..100.0] - void setMinimumInclusiveCostRatio(double minimumInclusiveCostRatio); - - /// \param minimumInclusiveCostRatio Minimum inclusive cost ratio, valid values are [0.0..100.0] - void setVisualisationMinimumInclusiveCostRatio(double minimumInclusiveCostRatio); - -signals: - void enableCacheSimChanged(bool); - void enableBranchSimChanged(bool); - void collectSystimeChanged(bool); - void collectBusEventsChanged(bool); - void enableEventToolTipsChanged(bool); - void minimumInclusiveCostRatioChanged(double); - void visualisationMinimumInclusiveCostRatioChanged(double); - -protected: - virtual QVariantMap toMap() const; - -private: - bool m_enableCacheSim; - bool m_collectSystime; - bool m_collectBusEvents; - bool m_enableBranchSim; - bool m_enableEventToolTips; - double m_minimumInclusiveCostRatio; - double m_visualisationMinimumInclusiveCostRatio; -}; - -/** - * Global callgrind settings - */ -class CallgrindGlobalSettings : public AbstractCallgrindSettings -{ - Q_OBJECT - -public: - CallgrindGlobalSettings() {} - - virtual bool fromMap(const QVariantMap &map); - virtual QVariantMap defaults() const; - - CostDelegate::CostFormat costFormat() const; - bool detectCycles() const; - -public slots: - void setCostFormat(Valgrind::Internal::CostDelegate::CostFormat format); - void setDetectCycles(bool detect); - -protected: - virtual QVariantMap toMap() const; - -private: - CostDelegate::CostFormat m_costFormat; - bool m_detectCycles; -}; - -/** - * Per-project callgrind settings, saves a diff to the global suppression files list - */ -class CallgrindProjectSettings : public AbstractCallgrindSettings -{ - Q_OBJECT - -public: - CallgrindProjectSettings() {} -}; - -} // namespace Internal -} // namespace Valgrind - -#endif // ANALYZER_INTERNAL_CALLGRINDSETTINGS_H diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index d89632d6c735a217f94ec0f938db52e00fa76ecd..d823560246a4c1b3adf990ee2c57fcea49b87f34 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -35,7 +35,6 @@ #include "callgrindcostdelegate.h" #include "callgrindcostview.h" #include "callgrindengine.h" -#include "callgrindsettings.h" #include "callgrindtextmark.h" #include "callgrindvisualisation.h" @@ -48,6 +47,7 @@ #include <valgrind/callgrind/callgrindproxymodel.h> #include <valgrind/callgrind/callgrindstackbrowser.h> #include <valgrind/valgrindplugin.h> +#include <valgrind/valgrindsettings.h> #include <analyzerbase/analyzermanager.h> #include <analyzerbase/analyzersettings.h> @@ -210,7 +210,7 @@ public: QAction *m_showCostsOfFunctionAction; QString m_toggleCollectFunction; - CallgrindGlobalSettings *m_settings; // Not owned + ValgrindGlobalSettings *m_settings; // Not owned }; @@ -249,7 +249,7 @@ CallgrindToolPrivate::CallgrindToolPrivate(CallgrindTool *parent) m_proxyModel->setFilterKeyColumn(DataModel::NameColumn); m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); - m_settings = AnalyzerGlobalSettings::instance()->subConfig<CallgrindGlobalSettings>(); + m_settings = AnalyzerGlobalSettings::instance()->subConfig<ValgrindGlobalSettings>(); connect(m_stackBrowser, SIGNAL(currentChanged()), SLOT(stackBrowserChanged())); connect(m_updateTimer, SIGNAL(timeout()), SLOT(updateFilterString())); @@ -520,7 +520,7 @@ QByteArray CallgrindTool::id() const QString CallgrindTool::displayName() const { - return tr("Valgrind Function Profile"); + return tr("Valgrind Function Profiler"); } QString CallgrindTool::description() const @@ -598,7 +598,7 @@ IAnalyzerEngine *CallgrindToolPrivate::createEngine(const AnalyzerStartParameter // apply project settings AnalyzerProjectSettings *analyzerSettings = runConfiguration->extraAspect<AnalyzerProjectSettings>(); - CallgrindProjectSettings *settings = analyzerSettings->subConfig<CallgrindProjectSettings>(); + ValgrindProjectSettings *settings = analyzerSettings->subConfig<ValgrindProjectSettings>(); QTC_ASSERT(settings, return engine) QTC_ASSERT(m_visualisation, return engine); diff --git a/src/plugins/valgrind/memcheck.pro b/src/plugins/valgrind/memcheck.pro deleted file mode 100644 index e6843ed307ca8ea153d469698278acb641a755a5..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/memcheck.pro +++ /dev/null @@ -1,32 +0,0 @@ -TEMPLATE = lib -TARGET = Memcheck - -DEFINES += MEMCHECK_LIBRARY - -include(../../qtcreatorplugin.pri) -include(memcheck_dependencies.pri) - -# Memcheck files - -HEADERS += \ - memcheckplugin.h \ - memcheck_global.h \ - memchecktool.h \ - memcheckengine.h \ - memcheckerrorview.h \ - memchecksettings.h \ - memcheckconfigwidget.h \ - suppressiondialog.h - -SOURCES += \ - memcheckplugin.cpp \ - memchecktool.cpp \ - memcheckengine.cpp \ - memcheckerrorview.cpp \ - memchecksettings.cpp \ - memcheckconfigwidget.cpp \ - suppressiondialog.cpp - -FORMS += \ - suppressiondialog.ui \ - memcheckconfigwidget.ui \ diff --git a/src/plugins/valgrind/memcheckconfigwidget.cpp b/src/plugins/valgrind/memcheckconfigwidget.cpp deleted file mode 100644 index d573178764ca777de161c372bc23819ba01d7464..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/memcheckconfigwidget.cpp +++ /dev/null @@ -1,182 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator Instrumentation Tools -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Author: Milian Wolff, KDAB (milian.wolff@kdab.com) -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#include "memcheckconfigwidget.h" - -#include "ui_memcheckconfigwidget.h" - -#include "memchecksettings.h" - -#include <utils/qtcassert.h> - -#include <QtGui/QStandardItemModel> -#include <QtGui/QFileDialog> -#include <QtCore/QDebug> - -namespace Valgrind { -namespace Internal { - -MemcheckConfigWidget::MemcheckConfigWidget(AbstractMemcheckSettings *settings, QWidget *parent) - : QWidget(parent), - m_settings(settings), - m_model(new QStandardItemModel(this)), - m_ui(new Ui::MemcheckConfigWidget) -{ - m_ui->setupUi(this); - - m_ui->suppressionList->setModel(m_model); - m_ui->suppressionList->setSelectionMode(QAbstractItemView::MultiSelection); - - connect(m_ui->addSuppression, SIGNAL(clicked()), - this, SLOT(slotAddSuppression())); - connect(m_ui->removeSuppression, SIGNAL(clicked()), - this, SLOT(slotRemoveSuppression())); - - m_ui->numCallers->setValue(m_settings->numCallers()); - connect(m_ui->numCallers, SIGNAL(valueChanged(int)), m_settings, SLOT(setNumCallers(int))); - connect(m_settings, SIGNAL(numCallersChanged(int)), m_ui->numCallers, SLOT(setValue(int))); - - m_ui->trackOrigins->setChecked(m_settings->trackOrigins()); - connect(m_ui->trackOrigins, SIGNAL(toggled(bool)), m_settings, SLOT(setTrackOrigins(bool))); - connect(m_settings, SIGNAL(trackOriginsChanged(bool)), m_ui->trackOrigins, SLOT(setChecked(bool))); - - connect(m_settings, SIGNAL(suppressionFilesRemoved(QStringList)), - this, SLOT(slotSuppressionsRemoved(QStringList))); - connect(m_settings, SIGNAL(suppressionFilesAdded(QStringList)), - this, SLOT(slotSuppressionsAdded(QStringList))); - - m_model->clear(); - foreach (const QString &file, m_settings->suppressionFiles()) - m_model->appendRow(new QStandardItem(file)); - - connect(m_ui->suppressionList->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(slotSuppressionSelectionChanged())); - slotSuppressionSelectionChanged(); -} - -MemcheckConfigWidget::~MemcheckConfigWidget() -{ - delete m_ui; -} - -void MemcheckConfigWidget::slotAddSuppression() -{ - QFileDialog dialog; - dialog.setNameFilter(tr("Valgrind Suppression File (*.supp);;All Files (*)")); - dialog.setAcceptMode(QFileDialog::AcceptOpen); - dialog.setFileMode(QFileDialog::ExistingFiles); - MemcheckGlobalSettings *conf = Analyzer::AnalyzerGlobalSettings::instance()->subConfig<MemcheckGlobalSettings>(); - QTC_ASSERT(conf, return); - dialog.setDirectory(conf->lastSuppressionDialogDirectory()); - dialog.setHistory(conf->lastSuppressionDialogHistory()); - - if (dialog.exec() == QDialog::Accepted) { - foreach (const QString &file, dialog.selectedFiles()) - m_model->appendRow(new QStandardItem(file)); - - m_settings->addSuppressionFiles(dialog.selectedFiles()); - } - - conf->setLastSuppressionDialogDirectory(dialog.directory().absolutePath()); - conf->setLastSuppressionDialogHistory(dialog.history()); -} - -void MemcheckConfigWidget::slotSuppressionsAdded(const QStringList &files) -{ - QStringList filesToAdd = files; - for (int i = 0, c = m_model->rowCount(); i < c; ++i) - filesToAdd.removeAll(m_model->item(i)->text()); - - foreach (const QString &file, filesToAdd) - m_model->appendRow(new QStandardItem(file)); -} - -bool sortReverse(int l, int r) -{ - return l > r; -} - -void MemcheckConfigWidget::slotRemoveSuppression() -{ - // remove from end so no rows get invalidated - QList<int> rows; - - QStringList removed; - foreach (const QModelIndex &index, m_ui->suppressionList->selectionModel()->selectedIndexes()) { - rows << index.row(); - removed << index.data().toString(); - } - - qSort(rows.begin(), rows.end(), sortReverse); - - foreach (int row, rows) - m_model->removeRow(row); - - m_settings->removeSuppressionFiles(removed); -} - -void MemcheckConfigWidget::slotSuppressionsRemoved(const QStringList &files) -{ - for (int i = 0; i < m_model->rowCount(); ++i) { - if (files.contains(m_model->item(i)->text())) { - m_model->removeRow(i); - --i; - } - } -} - -void MemcheckConfigWidget::setSuppressions(const QStringList &files) -{ - m_model->clear(); - foreach (const QString &file, files) - m_model->appendRow(new QStandardItem(file)); -} - -QStringList MemcheckConfigWidget::suppressions() const -{ - QStringList ret; - - for (int i = 0; i < m_model->rowCount(); ++i) - ret << m_model->item(i)->text(); - - return ret; -} - -void MemcheckConfigWidget::slotSuppressionSelectionChanged() -{ - m_ui->removeSuppression->setEnabled(m_ui->suppressionList->selectionModel()->hasSelection()); -} - -} // namespace Internal -} // namespace Valgrind diff --git a/src/plugins/valgrind/memcheckconfigwidget.ui b/src/plugins/valgrind/memcheckconfigwidget.ui deleted file mode 100644 index 1763dbfbfb2bb7155ac20c084483a1024a360e38..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/memcheckconfigwidget.ui +++ /dev/null @@ -1,130 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>Valgrind::Internal::MemcheckConfigWidget</class> - <widget class="QWidget" name="Valgrind::Internal::MemcheckConfigWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>416</width> - <height>565</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QGroupBox" name="memcheckOptions"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Memory Analysis Options</string> - </property> - <layout class="QFormLayout" name="formLayout_4"> - <property name="fieldGrowthPolicy"> - <enum>QFormLayout::ExpandingFieldsGrow</enum> - </property> - <item row="2" column="0"> - <widget class="QLabel" name="numCallersLabel"> - <property name="text"> - <string>Backtrace frame count:</string> - </property> - <property name="buddy"> - <cstring>numCallers</cstring> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Suppression files:</string> - </property> - <property name="buddy"> - <cstring>suppressionList</cstring> - </property> - </widget> - </item> - <item row="4" column="0" colspan="2"> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QListView" name="suppressionList"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>1</verstretch> - </sizepolicy> - </property> - </widget> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0,1"> - <property name="sizeConstraint"> - <enum>QLayout::SetMinimumSize</enum> - </property> - <item> - <widget class="QPushButton" name="addSuppression"> - <property name="text"> - <string>Add...</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="removeSuppression"> - <property name="text"> - <string>Remove</string> - </property> - <property name="flat"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer_2"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </item> - <item row="2" column="1"> - <widget class="QSpinBox" name="numCallers"> - <property name="minimum"> - <number>5</number> - </property> - <property name="maximum"> - <number>50</number> - </property> - <property name="value"> - <number>12</number> - </property> - </widget> - </item> - <item row="1" column="0" colspan="2"> - <widget class="QCheckBox" name="trackOrigins"> - <property name="text"> - <string>Track origins of uninitialized memory</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/src/plugins/valgrind/memcheckengine.cpp b/src/plugins/valgrind/memcheckengine.cpp index 19f20b8c00f1f1e68a48c40b6a2a59ff0bc17584..863d6c885de3f5e21988e2a2fabb62c54af33492 100644 --- a/src/plugins/valgrind/memcheckengine.cpp +++ b/src/plugins/valgrind/memcheckengine.cpp @@ -34,7 +34,7 @@ #include "memcheckengine.h" -#include "memchecksettings.h" +#include "valgrindsettings.h" #include <analyzerbase/analyzersettings.h> @@ -96,7 +96,7 @@ QStringList MemcheckEngine::toolArguments() const QStringList arguments; arguments << QLatin1String("--gen-suppressions=all"); - AbstractMemcheckSettings *memcheckSettings = m_settings->subConfig<AbstractMemcheckSettings>(); + ValgrindBaseSettings *memcheckSettings = m_settings->subConfig<ValgrindBaseSettings>(); QTC_ASSERT(memcheckSettings, return arguments); if (memcheckSettings->trackOrigins()) @@ -111,7 +111,7 @@ QStringList MemcheckEngine::toolArguments() const QStringList MemcheckEngine::suppressionFiles() const { - return m_settings->subConfig<AbstractMemcheckSettings>()->suppressionFiles(); + return m_settings->subConfig<ValgrindBaseSettings>()->suppressionFiles(); } void MemcheckEngine::status(const Status &status) diff --git a/src/plugins/valgrind/memcheckerrorview.cpp b/src/plugins/valgrind/memcheckerrorview.cpp index f044a7850b0400b88a14c24ecb82b8ca0ad7625d..31fcd884fa28f5fb63602cc2470691b47d68b295 100644 --- a/src/plugins/valgrind/memcheckerrorview.cpp +++ b/src/plugins/valgrind/memcheckerrorview.cpp @@ -509,11 +509,13 @@ void MemcheckErrorView::suppressError() void MemcheckErrorView::goNext() { + QTC_ASSERT(rowCount(), return); setCurrentRow((currentRow() + 1) % rowCount()); } void MemcheckErrorView::goBack() { + QTC_ASSERT(rowCount(), return); const int prevRow = currentRow() - 1; setCurrentRow(prevRow >= 0 ? prevRow : rowCount() - 1); } diff --git a/src/plugins/valgrind/memchecksettings.cpp b/src/plugins/valgrind/memchecksettings.cpp deleted file mode 100644 index 664f59973bbf5d350928b62e999782286d026085..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/memchecksettings.cpp +++ /dev/null @@ -1,280 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Author: Milian Wolff, KDAB (milian.wolff@kdab.com) -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#include "memchecksettings.h" -#include "memcheckconfigwidget.h" - -#include <valgrind/xmlprotocol/error.h> - -#include <utils/qtcassert.h> - -using namespace Analyzer; - -static const char numCallersC[] = "Analyzer.Valgrind.NumCallers"; -static const char trackOriginsC[] = "Analyzer.Valgrind.TrackOrigins"; -static const char suppressionFilesC[] = "Analyzer.Valgrind.SupressionFiles"; -static const char removedSuppressionFilesC[] = "Analyzer.Valgrind.RemovedSuppressionFiles"; -static const char addedSuppressionFilesC[] = "Analyzer.Valgrind.AddedSuppressionFiles"; -static const char filterExternalIssuesC[] = "Analyzer.Valgrind.FilterExternalIssues"; -static const char visibleErrorKindsC[] = "Analyzer.Valgrind.VisibleErrorKinds"; - -static const char lastSuppressionDirectoryC[] = "Analyzer.Valgrind.LastSuppressionDirectory"; -static const char lastSuppressionHistoryC[] = "Analyzer.Valgrind.LastSuppressionHistory"; - -namespace Valgrind { -namespace Internal { - -QVariantMap AbstractMemcheckSettings::defaults() const -{ - QVariantMap map; - map.insert(QLatin1String(numCallersC), 25); - map.insert(QLatin1String(trackOriginsC), true); - map.insert(QLatin1String(filterExternalIssuesC), true); - - QVariantList defaultErrorKinds; - for (int i = 0; i < Valgrind::XmlProtocol::MemcheckErrorKindCount; ++i) - defaultErrorKinds << i; - map.insert(QLatin1String(visibleErrorKindsC), defaultErrorKinds); - - return map; -} - -bool AbstractMemcheckSettings::fromMap(const QVariantMap &map) -{ - setIfPresent(map, QLatin1String(numCallersC), &m_numCallers); - setIfPresent(map, QLatin1String(trackOriginsC), &m_trackOrigins); - setIfPresent(map, QLatin1String(filterExternalIssuesC), &m_filterExternalIssues); - - // if we get more of these try a template specialization of setIfPresent for lists... - if (map.contains(QLatin1String(visibleErrorKindsC))) { - m_visibleErrorKinds.clear(); - foreach (const QVariant &val, map.value(QLatin1String(visibleErrorKindsC)).toList()) - m_visibleErrorKinds << val.toInt(); - } - - return true; -} - -QVariantMap AbstractMemcheckSettings::toMap() const -{ - QVariantMap map; - map.insert(QLatin1String(numCallersC), m_numCallers); - map.insert(QLatin1String(trackOriginsC), m_trackOrigins); - map.insert(QLatin1String(filterExternalIssuesC), m_filterExternalIssues); - - QVariantList errorKinds; - foreach (int i, m_visibleErrorKinds) - errorKinds << i; - map.insert(QLatin1String(visibleErrorKindsC), errorKinds); - - return map; -} - -void AbstractMemcheckSettings::setNumCallers(int numCallers) -{ - if (m_numCallers != numCallers) { - m_numCallers = numCallers; - emit numCallersChanged(numCallers); - } -} - -void AbstractMemcheckSettings::setTrackOrigins(bool trackOrigins) -{ - if (m_trackOrigins != trackOrigins) { - m_trackOrigins = trackOrigins; - emit trackOriginsChanged(trackOrigins); - } -} - -void AbstractMemcheckSettings::setFilterExternalIssues(bool filterExternalIssues) -{ - if (m_filterExternalIssues != filterExternalIssues) { - m_filterExternalIssues = filterExternalIssues; - emit filterExternalIssuesChanged(filterExternalIssues); - } -} - -void AbstractMemcheckSettings::setVisibleErrorKinds(const QList<int> &visibleErrorKinds) -{ - if (m_visibleErrorKinds != visibleErrorKinds) { - m_visibleErrorKinds = visibleErrorKinds; - emit visibleErrorKindsChanged(visibleErrorKinds); - } -} - -QString AbstractMemcheckSettings::id() const -{ - return "Analyzer.Valgrind.Settings.Memcheck"; -} - -QString AbstractMemcheckSettings::displayName() const -{ - return tr("Memory Analysis"); -} - -QWidget *AbstractMemcheckSettings::createConfigWidget(QWidget *parent) -{ - return new MemcheckConfigWidget(this, parent); -} - -QStringList MemcheckGlobalSettings::suppressionFiles() const -{ - return m_suppressionFiles; -} - -void MemcheckGlobalSettings::addSuppressionFiles(const QStringList &suppressions) -{ - foreach (const QString &s, suppressions) - if (!m_suppressionFiles.contains(s)) - m_suppressionFiles.append(s); -} - -void MemcheckGlobalSettings::removeSuppressionFiles(const QStringList &suppressions) -{ - foreach (const QString &s, suppressions) - m_suppressionFiles.removeAll(s); -} - -QString MemcheckGlobalSettings::lastSuppressionDialogDirectory() const -{ - return m_lastSuppressionDirectory; -} - -void MemcheckGlobalSettings::setLastSuppressionDialogDirectory(const QString &directory) -{ - m_lastSuppressionDirectory = directory; -} - -QStringList MemcheckGlobalSettings::lastSuppressionDialogHistory() const -{ - return m_lastSuppressionHistory; -} - -void MemcheckGlobalSettings::setLastSuppressionDialogHistory(const QStringList &history) -{ - m_lastSuppressionHistory = history; -} - -QVariantMap MemcheckGlobalSettings::defaults() const -{ - QVariantMap ret = AbstractMemcheckSettings::defaults(); - ret.insert(suppressionFilesC, QStringList()); - ret.insert(lastSuppressionDirectoryC, QString()); - ret.insert(lastSuppressionHistoryC, QStringList()); - return ret; -} - -bool MemcheckGlobalSettings::fromMap(const QVariantMap &map) -{ - AbstractMemcheckSettings::fromMap(map); - m_suppressionFiles = map.value(suppressionFilesC).toStringList(); - m_lastSuppressionDirectory = map.value(lastSuppressionDirectoryC).toString(); - m_lastSuppressionHistory = map.value(lastSuppressionHistoryC).toStringList(); - return true; -} - -QVariantMap MemcheckGlobalSettings::toMap() const -{ - QVariantMap map = AbstractMemcheckSettings::toMap(); - map.insert(suppressionFilesC, m_suppressionFiles); - map.insert(lastSuppressionDirectoryC, m_lastSuppressionDirectory); - map.insert(lastSuppressionHistoryC, m_lastSuppressionHistory); - return map; -} - -MemcheckGlobalSettings *globalMemcheckSettings() -{ - MemcheckGlobalSettings *ret = AnalyzerGlobalSettings::instance()->subConfig<MemcheckGlobalSettings>(); - QTC_ASSERT(ret, return 0); - return ret; -} - - -QVariantMap MemcheckProjectSettings::defaults() const -{ - QVariantMap ret = AbstractMemcheckSettings::defaults(); - ret.insert(addedSuppressionFilesC, QStringList()); - ret.insert(removedSuppressionFilesC, QStringList()); - return ret; -} - -bool MemcheckProjectSettings::fromMap(const QVariantMap &map) -{ - AbstractMemcheckSettings::fromMap(map); - setIfPresent(map, addedSuppressionFilesC, &m_addedSuppressionFiles); - setIfPresent(map, removedSuppressionFilesC, &m_disabledGlobalSuppressionFiles); - return true; -} - -QVariantMap MemcheckProjectSettings::toMap() const -{ - QVariantMap map = AbstractMemcheckSettings::toMap(); - map.insert(addedSuppressionFilesC, m_addedSuppressionFiles); - map.insert(removedSuppressionFilesC, m_disabledGlobalSuppressionFiles); - return map; -} - -void MemcheckProjectSettings::addSuppressionFiles(const QStringList &suppressions) -{ - QStringList globalSuppressions = globalMemcheckSettings()->suppressionFiles(); - foreach (const QString &s, suppressions) { - if (m_addedSuppressionFiles.contains(s)) - continue; - m_disabledGlobalSuppressionFiles.removeAll(s); - if (!globalSuppressions.contains(s)) - m_addedSuppressionFiles.append(s); - } -} - -void MemcheckProjectSettings::removeSuppressionFiles(const QStringList &suppressions) -{ - QStringList globalSuppressions = globalMemcheckSettings()->suppressionFiles(); - foreach (const QString &s, suppressions) { - m_addedSuppressionFiles.removeAll(s); - if (globalSuppressions.contains(s)) - m_disabledGlobalSuppressionFiles.append(s); - } -} - -QStringList MemcheckProjectSettings::suppressionFiles() const -{ - QStringList ret = globalMemcheckSettings()->suppressionFiles(); - foreach (const QString &s, m_disabledGlobalSuppressionFiles) - ret.removeAll(s); - ret.append(m_addedSuppressionFiles); - return ret; -} - -} // namespace Internal -} // namespace Valgrind diff --git a/src/plugins/valgrind/memchecksettings.h b/src/plugins/valgrind/memchecksettings.h deleted file mode 100644 index 7d4a2f3f79d232104534816bb4fc4bff270e97a8..0000000000000000000000000000000000000000 --- a/src/plugins/valgrind/memchecksettings.h +++ /dev/null @@ -1,152 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Author: Milian Wolff, KDAB (milian.wolff@kdab.com) -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#ifndef ANALYZER_INTERNAL_MEMCHECKSETTINGS_H -#define ANALYZER_INTERNAL_MEMCHECKSETTINGS_H - -#include <analyzerbase/analyzersettings.h> - -namespace Valgrind { -namespace Internal { - -/** - * Generic memcheck settings - */ -class AbstractMemcheckSettings : public Analyzer::AbstractAnalyzerSubConfig -{ - Q_OBJECT - -public: - AbstractMemcheckSettings() {} - - virtual bool fromMap(const QVariantMap &map); - - int numCallers() const { return m_numCallers; } - bool trackOrigins() const { return m_trackOrigins; } - bool filterExternalIssues() const { return m_filterExternalIssues; } - QList<int> visibleErrorKinds() const { return m_visibleErrorKinds; } - - virtual QStringList suppressionFiles() const = 0; - virtual void addSuppressionFiles(const QStringList &) = 0; - virtual void removeSuppressionFiles(const QStringList &) = 0; - - virtual QVariantMap defaults() const; - - virtual QString id() const; - virtual QString displayName() const; - virtual QWidget *createConfigWidget(QWidget *parent); - -public slots: - void setNumCallers(int); - void setTrackOrigins(bool); - void setFilterExternalIssues(bool); - void setVisibleErrorKinds(const QList<int> &); - -signals: - void numCallersChanged(int); - void trackOriginsChanged(bool); - void filterExternalIssuesChanged(bool); - void visibleErrorKindsChanged(const QList<int> &); - void suppressionFilesRemoved(const QStringList &); - void suppressionFilesAdded(const QStringList &); - -protected: - virtual QVariantMap toMap() const; - - int m_numCallers; - bool m_trackOrigins; - bool m_filterExternalIssues; - QList<int> m_visibleErrorKinds; -}; - -/** - * Global memcheck settings - */ -class MemcheckGlobalSettings : public AbstractMemcheckSettings -{ -public: - MemcheckGlobalSettings() {} - - QStringList suppressionFiles() const; - // in the global settings we change the internal list directly - void addSuppressionFiles(const QStringList &); - void removeSuppressionFiles(const QStringList &); - - QVariantMap toMap() const; - QVariantMap defaults() const; - - // internal settings which don't require any UI - void setLastSuppressionDialogDirectory(const QString &directory); - QString lastSuppressionDialogDirectory() const; - - void setLastSuppressionDialogHistory(const QStringList &history); - QStringList lastSuppressionDialogHistory() const; - -protected: - bool fromMap(const QVariantMap &map); - -private: - QStringList m_suppressionFiles; - QString m_lastSuppressionDirectory; - QStringList m_lastSuppressionHistory; -}; - -/** - * Per-project memcheck settings, saves a diff to the global suppression files list - */ -class MemcheckProjectSettings : public AbstractMemcheckSettings -{ -public: - MemcheckProjectSettings() {} - - QStringList suppressionFiles() const; - // in the project-specific settings we store a diff to the global list - void addSuppressionFiles(const QStringList &suppressions); - void removeSuppressionFiles(const QStringList &suppressions); - - QVariantMap toMap() const; - QVariantMap defaults() const; - -protected: - bool fromMap(const QVariantMap &map); - -private: - QStringList m_disabledGlobalSuppressionFiles; - QStringList m_addedSuppressionFiles; -}; - -} // namespace Internal -} // namespace Valgrind - -#endif // ANALYZER_INTERNAL_MEMCHECKSETTINGS_H diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index 9c2e89a81742762a3bea32b3d0f78d33a331b265..0983d2f5e24507289967d4c737d3710dfcf37141 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -35,7 +35,6 @@ #include "memchecktool.h" #include "memcheckengine.h" #include "memcheckerrorview.h" -#include "memchecksettings.h" #include "valgrindsettings.h" #include "valgrindplugin.h" @@ -260,7 +259,7 @@ void MemcheckTool::maybeActiveRunConfigurationChanged() connect(m_settings, SIGNAL(destroyed(QObject *)), SLOT(settingsDestroyed(QObject *))); - AbstractMemcheckSettings *memcheckSettings = m_settings->subConfig<AbstractMemcheckSettings>(); + ValgrindBaseSettings *memcheckSettings = m_settings->subConfig<ValgrindBaseSettings>(); QTC_ASSERT(memcheckSettings, return); foreach (QAction *action, m_errorFilterActions) { @@ -288,12 +287,12 @@ void MemcheckTool::maybeActiveRunConfigurationChanged() QByteArray MemcheckTool::id() const { - return "MemcheckLocal"; + return "Memcheck"; } QString MemcheckTool::displayName() const { - return tr("Valgrind Analyze Memory"); + return tr("Valgrind Memory Analyzer"); } QString MemcheckTool::description() const @@ -380,6 +379,7 @@ QWidget *MemcheckTool::createWidgets() QDockWidget *errorDock = AnalyzerManager::createDockWidget (this, tr("Memory Issues"), m_errorView, Qt::BottomDockWidgetArea); + errorDock->show(); mw->splitDockWidget(mw->toolBarDockWidget(), errorDock, Qt::Vertical); connect(ProjectExplorer::ProjectExplorerPlugin::instance(), @@ -523,7 +523,7 @@ void MemcheckTool::updateErrorFilter() QTC_ASSERT(m_errorView, return); QTC_ASSERT(m_settings, return); - AbstractMemcheckSettings *memcheckSettings = m_settings->subConfig<AbstractMemcheckSettings>(); + ValgrindBaseSettings *memcheckSettings = m_settings->subConfig<ValgrindBaseSettings>(); QTC_ASSERT(memcheckSettings, return); memcheckSettings->setFilterExternalIssues(!m_filterProjectAction->isChecked()); @@ -544,8 +544,8 @@ void MemcheckTool::updateErrorFilter() void MemcheckTool::finished() { const int n = m_errorModel->rowCount(); - m_goBack->setEnabled(n > 0); - m_goNext->setEnabled(n > 0); + m_goBack->setEnabled(n > 1); + m_goNext->setEnabled(n > 1); const QString msg = AnalyzerManager::msgToolFinished(displayName(), n); AnalyzerManager::showStatusMessage(msg); } diff --git a/src/plugins/valgrind/suppressiondialog.cpp b/src/plugins/valgrind/suppressiondialog.cpp index 735fa5bf8dec195c9c97a7859f7e7fc316093901..e5e3470534bde76b4db49e40aded33cfe746a085 100644 --- a/src/plugins/valgrind/suppressiondialog.cpp +++ b/src/plugins/valgrind/suppressiondialog.cpp @@ -36,7 +36,7 @@ #include "ui_suppressiondialog.h" #include "memcheckerrorview.h" -#include "memchecksettings.h" +#include "valgrindsettings.h" #include "xmlprotocol/suppression.h" #include "xmlprotocol/errorlistmodel.h" @@ -199,7 +199,7 @@ void SuppressionDialog::accept() } } - m_settings->subConfig<AbstractMemcheckSettings>()->addSuppressionFiles(QStringList(path)); + m_settings->subConfig<ValgrindBaseSettings>()->addSuppressionFiles(QStringList(path)); QModelIndexList indices = m_view->selectionModel()->selectedRows(); qSort(indices.begin(), indices.end(), sortIndizesReverse); diff --git a/src/plugins/valgrind/valgrind.pro b/src/plugins/valgrind/valgrind.pro index 1be71c77b3b51c98e870149b6a7ba4042886dbef..adddcc0f283bc28d66088bbeb8b06131b126736d 100644 --- a/src/plugins/valgrind/valgrind.pro +++ b/src/plugins/valgrind/valgrind.pro @@ -17,13 +17,10 @@ HEADERS += \ valgrindsettings.h \ valgrindrunner.h \ valgrindprocess.h \ - \ - callgrindconfigwidget.h \ callgrindcostdelegate.h \ callgrindcostview.h \ callgrindhelper.h \ callgrindnamedelegate.h \ - callgrindsettings.h \ callgrindtool.h \ callgrindvisualisation.h \ callgrindengine.h \ @@ -33,8 +30,6 @@ HEADERS += \ memchecktool.h \ memcheckengine.h \ memcheckerrorview.h \ - memchecksettings.h \ - memcheckconfigwidget.h \ suppressiondialog.h SOURCES += \ @@ -45,12 +40,10 @@ SOURCES += \ valgrindrunner.cpp \ valgrindprocess.cpp \ \ - callgrindconfigwidget.cpp \ callgrindcostdelegate.cpp \ callgrindcostview.cpp \ callgrindhelper.cpp \ callgrindnamedelegate.cpp \ - callgrindsettings.cpp \ callgrindtool.cpp \ callgrindvisualisation.cpp \ callgrindengine.cpp \ @@ -59,13 +52,9 @@ SOURCES += \ memchecktool.cpp \ memcheckengine.cpp \ memcheckerrorview.cpp \ - memchecksettings.cpp \ - memcheckconfigwidget.cpp \ suppressiondialog.cpp FORMS += \ valgrindconfigwidget.ui \ - callgrindconfigwidget.ui \ - suppressiondialog.ui \ - memcheckconfigwidget.ui + suppressiondialog.ui diff --git a/src/plugins/valgrind/valgrindconfigwidget.cpp b/src/plugins/valgrind/valgrindconfigwidget.cpp index c03775c7cf2fd001415823d3ae1e6bea1a13e30d..337b786c833019c2641e6bc0ded12830fabae295 100644 --- a/src/plugins/valgrind/valgrindconfigwidget.cpp +++ b/src/plugins/valgrind/valgrindconfigwidget.cpp @@ -33,16 +33,22 @@ **************************************************************************/ #include "valgrindconfigwidget.h" +#include "valgrindsettings.h" #include "ui_valgrindconfigwidget.h" -#include "valgrindsettings.h" +#include <utils/qtcassert.h> #include <QtCore/QDebug> -using namespace Valgrind::Internal; +#include <QtGui/QStandardItemModel> +#include <QtGui/QFileDialog> -ValgrindConfigWidget::ValgrindConfigWidget(ValgrindSettings *settings, QWidget *parent) +namespace Valgrind { +namespace Internal { + +ValgrindConfigWidget::ValgrindConfigWidget(ValgrindBaseSettings *settings, + QWidget *parent, bool global) : QWidget(parent), m_settings(settings), m_ui(new Ui::ValgrindConfigWidget) @@ -53,11 +59,203 @@ ValgrindConfigWidget::ValgrindConfigWidget(ValgrindSettings *settings, QWidget * m_ui->valgrindExeChooser->setPromptDialogTitle(tr("Valgrind Command")); m_ui->valgrindExeChooser->setPath(m_settings->valgrindExecutable()); - connect(m_ui->valgrindExeChooser, SIGNAL(changed(QString)), m_settings, SLOT(setValgrindExecutable(QString))); - connect(m_settings, SIGNAL(valgrindExecutableChanged(QString)), m_ui->valgrindExeChooser, SLOT(setPath(QString))); + connect(m_ui->valgrindExeChooser, SIGNAL(changed(QString)), + m_settings, SLOT(setValgrindExecutable(QString))); + connect(m_settings, SIGNAL(valgrindExecutableChanged(QString)), + m_ui->valgrindExeChooser, SLOT(setPath(QString))); + +#ifdef Q_OS_WIN + // FIXME: On Window we know that we don't have a local valgrind + // executable, so having the "Browse" button in the path chooser + // (which is needed for the remote executable) is confusing. + m_ui->valgrindExeChooser->buttonAtIndex(0)->hide(); +#endif + + // + // Callgrind + // + m_ui->enableCacheSim->setChecked(m_settings->enableCacheSim()); + connect(m_ui->enableCacheSim, SIGNAL(toggled(bool)), + m_settings, SLOT(setEnableCacheSim(bool))); + connect(m_settings, SIGNAL(enableCacheSimChanged(bool)), + m_ui->enableCacheSim, SLOT(setChecked(bool))); + + m_ui->enableBranchSim->setChecked(m_settings->enableBranchSim()); + connect(m_ui->enableBranchSim, SIGNAL(toggled(bool)), + m_settings, SLOT(setEnableBranchSim(bool))); + connect(m_settings, SIGNAL(enableBranchSimChanged(bool)), + m_ui->enableBranchSim, SLOT(setChecked(bool))); + + m_ui->collectSystime->setChecked(m_settings->collectSystime()); + connect(m_ui->collectSystime, SIGNAL(toggled(bool)), + m_settings, SLOT(setCollectSystime(bool))); + connect(m_settings, SIGNAL(collectSystimeChanged(bool)), + m_ui->collectSystime, SLOT(setChecked(bool))); + + m_ui->collectBusEvents->setChecked(m_settings->collectBusEvents()); + connect(m_ui->collectBusEvents, SIGNAL(toggled(bool)), + m_settings, SLOT(setCollectBusEvents(bool))); + connect(m_settings, SIGNAL(collectBusEventsChanged(bool)), + m_ui->collectBusEvents, SLOT(setChecked(bool))); + + m_ui->enableEventToolTips->setChecked(m_settings->enableEventToolTips()); + connect(m_ui->enableEventToolTips, SIGNAL(toggled(bool)), + m_settings, SLOT(setEnableEventToolTips(bool))); + connect(m_settings, SIGNAL(enableEventToolTipsChanged(bool)), + m_ui->enableEventToolTips, SLOT(setChecked(bool))); + + m_ui->minimumInclusiveCostRatio->setValue(m_settings->minimumInclusiveCostRatio()); + connect(m_ui->minimumInclusiveCostRatio, SIGNAL(valueChanged(double)), + m_settings, SLOT(setMinimumInclusiveCostRatio(double))); + connect(m_settings, SIGNAL(minimumInclusiveCostRatioChanged(double)), + m_ui->minimumInclusiveCostRatio, SLOT(setValue(double))); + + m_ui->visualisationMinimumInclusiveCostRatio->setValue(m_settings->visualisationMinimumInclusiveCostRatio()); + connect(m_ui->visualisationMinimumInclusiveCostRatio, SIGNAL(valueChanged(double)), + m_settings, SLOT(setVisualisationMinimumInclusiveCostRatio(double))); + connect(m_settings, SIGNAL(visualisationMinimumInclusiveCostRatioChanged(double)), + m_ui->visualisationMinimumInclusiveCostRatio, SLOT(setValue(double))); + + // + // Memcheck + // + m_model = new QStandardItemModel(this); + + m_ui->suppressionList->setModel(m_model); + m_ui->suppressionList->setSelectionMode(QAbstractItemView::MultiSelection); + + connect(m_ui->addSuppression, SIGNAL(clicked()), + this, SLOT(slotAddSuppression())); + connect(m_ui->removeSuppression, SIGNAL(clicked()), + this, SLOT(slotRemoveSuppression())); + + m_ui->numCallers->setValue(m_settings->numCallers()); + connect(m_ui->numCallers, SIGNAL(valueChanged(int)), m_settings, SLOT(setNumCallers(int))); + connect(m_settings, SIGNAL(numCallersChanged(int)), m_ui->numCallers, SLOT(setValue(int))); + + m_ui->trackOrigins->setChecked(m_settings->trackOrigins()); + connect(m_ui->trackOrigins, SIGNAL(toggled(bool)), + m_settings, SLOT(setTrackOrigins(bool))); + connect(m_settings, SIGNAL(trackOriginsChanged(bool)), + m_ui->trackOrigins, SLOT(setChecked(bool))); + + connect(m_settings, SIGNAL(suppressionFilesRemoved(QStringList)), + this, SLOT(slotSuppressionsRemoved(QStringList))); + connect(m_settings, SIGNAL(suppressionFilesAdded(QStringList)), + this, SLOT(slotSuppressionsAdded(QStringList))); + + m_model->clear(); + foreach (const QString &file, m_settings->suppressionFiles()) + m_model->appendRow(new QStandardItem(file)); + + connect(m_ui->suppressionList->selectionModel(), + SIGNAL(selectionChanged(QItemSelection,QItemSelection)), + this, SLOT(slotSuppressionSelectionChanged())); + slotSuppressionSelectionChanged(); + + if (!global) { + // In project settings we want a flat vertical list. + QVBoxLayout *l = new QVBoxLayout; + while (layout()->count()) + if (QWidget *w = layout()->takeAt(0)->widget()) + l->addWidget(w); + delete layout(); + setLayout(l); + } } ValgrindConfigWidget::~ValgrindConfigWidget() { delete m_ui; } + +void ValgrindConfigWidget::slotAddSuppression() +{ + QFileDialog dialog; + dialog.setNameFilter(tr("Valgrind Suppression File (*.supp);;All Files (*)")); + dialog.setAcceptMode(QFileDialog::AcceptOpen); + dialog.setFileMode(QFileDialog::ExistingFiles); + ValgrindGlobalSettings *conf = Analyzer::AnalyzerGlobalSettings::instance()->subConfig<ValgrindGlobalSettings>(); + QTC_ASSERT(conf, return); + dialog.setDirectory(conf->lastSuppressionDialogDirectory()); + dialog.setHistory(conf->lastSuppressionDialogHistory()); + + if (dialog.exec() == QDialog::Accepted) { + foreach (const QString &file, dialog.selectedFiles()) + m_model->appendRow(new QStandardItem(file)); + + m_settings->addSuppressionFiles(dialog.selectedFiles()); + } + + conf->setLastSuppressionDialogDirectory(dialog.directory().absolutePath()); + conf->setLastSuppressionDialogHistory(dialog.history()); +} + +void ValgrindConfigWidget::slotSuppressionsAdded(const QStringList &files) +{ + QStringList filesToAdd = files; + for (int i = 0, c = m_model->rowCount(); i < c; ++i) + filesToAdd.removeAll(m_model->item(i)->text()); + + foreach (const QString &file, filesToAdd) + m_model->appendRow(new QStandardItem(file)); +} + +bool sortReverse(int l, int r) +{ + return l > r; +} + +void ValgrindConfigWidget::slotRemoveSuppression() +{ + // remove from end so no rows get invalidated + QList<int> rows; + + QStringList removed; + foreach (const QModelIndex &index, m_ui->suppressionList->selectionModel()->selectedIndexes()) { + rows << index.row(); + removed << index.data().toString(); + } + + qSort(rows.begin(), rows.end(), sortReverse); + + foreach (int row, rows) + m_model->removeRow(row); + + m_settings->removeSuppressionFiles(removed); +} + +void ValgrindConfigWidget::slotSuppressionsRemoved(const QStringList &files) +{ + for (int i = 0; i < m_model->rowCount(); ++i) { + if (files.contains(m_model->item(i)->text())) { + m_model->removeRow(i); + --i; + } + } +} + +void ValgrindConfigWidget::setSuppressions(const QStringList &files) +{ + m_model->clear(); + foreach (const QString &file, files) + m_model->appendRow(new QStandardItem(file)); +} + +QStringList ValgrindConfigWidget::suppressions() const +{ + QStringList ret; + + for (int i = 0; i < m_model->rowCount(); ++i) + ret << m_model->item(i)->text(); + + return ret; +} + +void ValgrindConfigWidget::slotSuppressionSelectionChanged() +{ + m_ui->removeSuppression->setEnabled(m_ui->suppressionList->selectionModel()->hasSelection()); +} + +} // namespace Internal +} // namespace Valgrind diff --git a/src/plugins/valgrind/valgrindconfigwidget.h b/src/plugins/valgrind/valgrindconfigwidget.h index b63b88248fd942cddf0b8ab90e2e6026038c76bf..948e87ff96359d23191a4e54cf26aa58a9db4c8a 100644 --- a/src/plugins/valgrind/valgrindconfigwidget.h +++ b/src/plugins/valgrind/valgrindconfigwidget.h @@ -32,12 +32,15 @@ ** **************************************************************************/ - -#ifndef ANALYZER_INTERNAL_VALGRINDCONFIGWIDGET_H -#define ANALYZER_INTERNAL_VALGRINDCONFIGWIDGET_H +#ifndef ANALYZER_VALGRINDCONFIGWIDGET_H +#define ANALYZER_VALGRINDCONFIGWIDGET_H #include <QtGui/QWidget> +QT_BEGIN_NAMESPACE +class QStandardItemModel; +QT_END_NAMESPACE + namespace Valgrind { namespace Internal { @@ -45,22 +48,33 @@ namespace Ui { class ValgrindConfigWidget; } -class ValgrindSettings; +class ValgrindBaseSettings; class ValgrindConfigWidget : public QWidget { Q_OBJECT public: - ValgrindConfigWidget(ValgrindSettings *settings, QWidget *parent); + ValgrindConfigWidget(ValgrindBaseSettings *settings, QWidget *parent, bool global); virtual ~ValgrindConfigWidget(); + void setSuppressions(const QStringList &files); + QStringList suppressions() const; + +public Q_SLOTS: + void slotAddSuppression(); + void slotRemoveSuppression(); + void slotSuppressionsRemoved(const QStringList &files); + void slotSuppressionsAdded(const QStringList &files); + void slotSuppressionSelectionChanged(); + private: - ValgrindSettings *m_settings; + ValgrindBaseSettings *m_settings; Ui::ValgrindConfigWidget *m_ui; + QStandardItemModel *m_model; }; -} -} +} // namespace Internal +} // namespace Valgrind -#endif // ANALYZER_INTERNAL_VALGRINDCONFIGWIDGET_H +#endif // ANALYZER_VALGRINDCONFIGWIDGET_H diff --git a/src/plugins/valgrind/valgrindconfigwidget.ui b/src/plugins/valgrind/valgrindconfigwidget.ui index 2b929bfc4cd7cdd587def8b3d904d2cedeae72e7..e793c3a85ad506c80b541565cf95efb2e2ab48f1 100644 --- a/src/plugins/valgrind/valgrindconfigwidget.ui +++ b/src/plugins/valgrind/valgrindconfigwidget.ui @@ -6,39 +6,322 @@ <rect> <x>0</x> <y>0</y> - <width>445</width> - <height>543</height> + <width>669</width> + <height>312</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0" colspan="2"> <widget class="QGroupBox" name="commonValgrindOptions"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <horstretch>0</horstretch> - <verstretch>1</verstretch> + <verstretch>0</verstretch> </sizepolicy> </property> <property name="title"> <string>Generic Settings</string> </property> - <layout class="QFormLayout" name="formLayout"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="valgrindExeLabel"> + <property name="text"> + <string>Valgrind executable:</string> + </property> + </widget> + </item> + <item> + <widget class="Utils::PathChooser" name="valgrindExeChooser"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>1</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>197</width> + <height>1</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QGroupBox" name="memcheckOptions"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Memory Analysis Options</string> + </property> + <layout class="QFormLayout" name="formLayout_4"> <property name="fieldGrowthPolicy"> <enum>QFormLayout::ExpandingFieldsGrow</enum> </property> + <item row="2" column="0"> + <widget class="QLabel" name="numCallersLabel"> + <property name="text"> + <string>Backtrace frame count:</string> + </property> + <property name="buddy"> + <cstring>numCallers</cstring> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Suppression files:</string> + </property> + <property name="buddy"> + <cstring>suppressionList</cstring> + </property> + </widget> + </item> + <item row="4" column="0" colspan="2"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QListView" name="suppressionList"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>1</verstretch> + </sizepolicy> + </property> + </widget> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0,1"> + <property name="sizeConstraint"> + <enum>QLayout::SetMinimumSize</enum> + </property> + <item> + <widget class="QPushButton" name="addSuppression"> + <property name="text"> + <string>Add...</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="removeSuppression"> + <property name="text"> + <string>Remove</string> + </property> + <property name="flat"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </item> + <item row="2" column="1"> + <widget class="QSpinBox" name="numCallers"> + <property name="minimum"> + <number>5</number> + </property> + <property name="maximum"> + <number>50</number> + </property> + <property name="value"> + <number>12</number> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QCheckBox" name="trackOrigins"> + <property name="text"> + <string>Track origins of uninitialized memory</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="1" column="1"> + <widget class="QGroupBox" name="memcheckOptions_2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Profiling Options</string> + </property> + <layout class="QFormLayout" name="formLayout_2"> <item row="0" column="0"> - <widget class="QLabel" name="valgrindExeLabel"> + <widget class="QLabel" name="minimumInclusiveCostRatioLabel"> + <property name="toolTip"> + <string>Limits the amount of results the profiler gives you. A lower limit will likely increase performance.</string> + </property> <property name="text"> - <string>Valgrind executable:</string> + <string>Result view: Minimum event cost:</string> + </property> + <property name="buddy"> + <cstring>minimumInclusiveCostRatio</cstring> </property> </widget> </item> <item row="0" column="1"> - <widget class="Utils::PathChooser" name="valgrindExeChooser" native="true"/> + <widget class="QDoubleSpinBox" name="minimumInclusiveCostRatio"> + <property name="suffix"> + <string>%</string> + </property> + <property name="decimals"> + <number>2</number> + </property> + <property name="maximum"> + <double>10.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.100000000000000</double> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QGroupBox" name="enableEventToolTips"> + <property name="title"> + <string>Show additional information for events in tooltips</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QCheckBox" name="enableCacheSim"> + <property name="toolTip"> + <string><html><head/><body> +<p>Does full cache simulation.</p> +<p>By default, only instruction read accesses will be counted ("Ir").</p> +<p> +With cache simulation, further event counters are enabled: +<ul><li>Cache misses on instruction reads ("I1mr"/"I2mr")</li> +<li>Data read accesses ("Dr") and related cache misses ("D1mr"/"D2mr")</li> +<li>Data write accesses ("Dw") and related cache misses ("D1mw"/"D2mw")</li></ul> +</p> + +</body></html></string> + </property> + <property name="text"> + <string>Enable cache simulation</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="enableBranchSim"> + <property name="toolTip"> + <string><html><head/><body> +<p>Do branch prediction simulation.</p> +<p>Further event counters are enabled: </p> +<ul><li>Number of executed conditional branches and related predictor misses ( +"Bc"/"Bcm")</li> +<li>Executed indirect jumps and related misses of the jump address predictor ( +"Bi"/"Bim")</li></ul></body></html></string> + </property> + <property name="text"> + <string>Enable branch prediction simulation</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QCheckBox" name="collectSystime"> + <property name="toolTip"> + <string>Collect information for system call times.</string> + </property> + <property name="text"> + <string>Collect system call time</string> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QCheckBox" name="collectBusEvents"> + <property name="toolTip"> + <string>Collect the number of global bus events that are executed. The event type "Ge" is used for these events.</string> + </property> + <property name="text"> + <string>Collect global bus events</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="visualisationMinimumInclusiveCostRatioLabel"> + <property name="toolTip"> + <string/> + </property> + <property name="text"> + <string>Visualisation: Minimum event cost:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QDoubleSpinBox" name="visualisationMinimumInclusiveCostRatio"> + <property name="prefix"> + <string/> + </property> + <property name="suffix"> + <string>%</string> + </property> + <property name="minimum"> + <double>0.000000000000000</double> + </property> + <property name="maximum"> + <double>50.000000000000000</double> + </property> + </widget> </item> </layout> </widget> </item> + <item row="2" column="0"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Expanding</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>1</width> + <height>500</height> + </size> + </property> + </spacer> + </item> </layout> </widget> <customwidgets> diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index 3b7279d6fc2ab08f13b5808271635b11c0cf6e01..6e9728249b4da5c1853204c82956f364a603623c 100644 --- a/src/plugins/valgrind/valgrindengine.cpp +++ b/src/plugins/valgrind/valgrindengine.cpp @@ -95,7 +95,7 @@ void ValgrindEngine::start() const AnalyzerStartParameters &sp = startParameters(); runner()->setWorkingDirectory(sp.workingDirectory); - QString valgrindExe = m_settings->subConfig<ValgrindSettings>()->valgrindExecutable(); + QString valgrindExe = m_settings->subConfig<ValgrindBaseSettings>()->valgrindExecutable(); if (!sp.analyzerCmdPrefix.isEmpty()) valgrindExe = sp.analyzerCmdPrefix + ' ' + valgrindExe; runner()->setValgrindExecutable(valgrindExe); @@ -159,7 +159,7 @@ void ValgrindEngine::receiveProcessOutput(const QByteArray &b, Utils::OutputForm void ValgrindEngine::receiveProcessError(const QString &error, QProcess::ProcessError e) { if (e == QProcess::FailedToStart) { - const QString &valgrind = m_settings->subConfig<ValgrindSettings>()->valgrindExecutable(); + const QString &valgrind = m_settings->subConfig<ValgrindBaseSettings>()->valgrindExecutable(); if (!valgrind.isEmpty()) { emit outputReceived(tr("** Error: \"%1\" could not be started: %2 **\n").arg(valgrind).arg(error), Utils::ErrorMessageFormat); } else { diff --git a/src/plugins/valgrind/valgrindplugin.cpp b/src/plugins/valgrind/valgrindplugin.cpp index 86ac42e97fb13fe1ce5cda6788ec2874a69f8409..77353ed0d39d8ae34ccf0405754e4112486dc1cb 100644 --- a/src/plugins/valgrind/valgrindplugin.cpp +++ b/src/plugins/valgrind/valgrindplugin.cpp @@ -34,9 +34,7 @@ #include "valgrindplugin.h" -#include "callgrindsettings.h" #include "callgrindtool.h" -#include "memchecksettings.h" #include "memchecktool.h" #include "valgrindsettings.h" @@ -44,7 +42,6 @@ #include <analyzerbase/analyzermanager.h> #include <analyzerbase/analyzerrunconfigwidget.h> #include <analyzerbase/analyzerruncontrol.h> -#include <analyzerbase/analyzersettings.h> #include <analyzerbase/analyzerstartparameters.h> #include <analyzerbase/startremotedialog.h> @@ -199,36 +196,19 @@ void ValgrindPlugin::startValgrindTool(IAnalyzerTool *tool, StartMode mode) startRemoteTool(tool, mode); } -static AbstractAnalyzerSubConfig *valgrindConfigFactory() +static AbstractAnalyzerSubConfig *globalValgrindFactory() { - return new ValgrindSettings(); + return new ValgrindGlobalSettings(); } -static AbstractAnalyzerSubConfig *globalCallgrindFactory() +static AbstractAnalyzerSubConfig *projectValgrindFactory() { - return new CallgrindGlobalSettings(); -} - -static AbstractAnalyzerSubConfig *projectCallgrindFactory() -{ - return new CallgrindProjectSettings(); -} - -static AbstractAnalyzerSubConfig *globalMemcheckFactory() -{ - return new MemcheckGlobalSettings(); -} - -static AbstractAnalyzerSubConfig *projectMemcheckFactory() -{ - return new MemcheckProjectSettings(); + return new ValgrindProjectSettings(); } bool ValgrindPlugin::initialize(const QStringList &, QString *) { - AnalyzerGlobalSettings::instance()->registerSubConfigs(&valgrindConfigFactory, &valgrindConfigFactory); - AnalyzerGlobalSettings::instance()->registerSubConfigs(&globalCallgrindFactory, &projectCallgrindFactory); - AnalyzerGlobalSettings::instance()->registerSubConfigs(&globalMemcheckFactory, &projectMemcheckFactory); + AnalyzerGlobalSettings::instance()->registerSubConfigs(&globalValgrindFactory, &projectValgrindFactory); StartModes modes; #ifndef Q_OS_WIN diff --git a/src/plugins/valgrind/valgrindsettings.cpp b/src/plugins/valgrind/valgrindsettings.cpp index 69b7eecb7153b449553491a63f163382a3c8802e..e7aebe873bcad87b0128e99f868f258144269393 100644 --- a/src/plugins/valgrind/valgrindsettings.cpp +++ b/src/plugins/valgrind/valgrindsettings.cpp @@ -33,43 +33,136 @@ **************************************************************************/ #include "valgrindsettings.h" - #include "valgrindconfigwidget.h" #include <coreplugin/icore.h> #include <utils/qtcassert.h> +#include <valgrind/xmlprotocol/error.h> #include <QtCore/QSettings> +#include <QtCore/QDebug> + -using namespace Valgrind::Internal; using namespace Analyzer; -static const QLatin1String groupC("Analyzer"); +static const char numCallersC[] = "Analyzer.Valgrind.NumCallers"; +static const char trackOriginsC[] = "Analyzer.Valgrind.TrackOrigins"; +static const char suppressionFilesC[] = "Analyzer.Valgrind.SupressionFiles"; +static const char removedSuppressionFilesC[] = "Analyzer.Valgrind.RemovedSuppressionFiles"; +static const char addedSuppressionFilesC[] = "Analyzer.Valgrind.AddedSuppressionFiles"; +static const char filterExternalIssuesC[] = "Analyzer.Valgrind.FilterExternalIssues"; +static const char visibleErrorKindsC[] = "Analyzer.Valgrind.VisibleErrorKinds"; + +static const char lastSuppressionDirectoryC[] = "Analyzer.Valgrind.LastSuppressionDirectory"; +static const char lastSuppressionHistoryC[] = "Analyzer.Valgrind.LastSuppressionHistory"; + +static const char callgrindEnableCacheSimC[] = "Analyzer.Valgrind.Callgrind.EnableCacheSim"; +static const char callgrindEnableBranchSimC[] = "Analyzer.Valgrind.Callgrind.EnableBranchSim"; +static const char callgrindCollectSystimeC[] = "Analyzer.Valgrind.Callgrind.CollectSystime"; +static const char callgrindCollectBusEventsC[] = "Analyzer.Valgrind.Callgrind.CollectBusEvents"; +static const char callgrindEnableEventToolTipsC[] = "Analyzer.Valgrind.Callgrind.EnableEventToolTips"; +static const char callgrindMinimumCostRatioC[] = "Analyzer.Valgrind.Callgrind.MinimumCostRatio"; +static const char callgrindVisualisationMinimumCostRatioC[] = "Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio"; + +static const char callgrindCycleDetectionC[] = "Analyzer.Valgrind.Callgrind.CycleDetection"; +static const char callgrindCostFormatC[] = "Analyzer.Valgrind.Callgrind.CostFormat"; -static const QLatin1String valgrindExeC("Analyzer.Valgrind.ValgrindExecutable"); +static const char valgrindExeC[] = "Analyzer.Valgrind.ValgrindExecutable"; -QVariantMap ValgrindSettings::defaults() const +namespace Valgrind { +namespace Internal { + +////////////////////////////////////////////////////////////////// +// +// ValgrindBaseSettings +// +////////////////////////////////////////////////////////////////// + +QVariantMap ValgrindBaseSettings::defaults() const { QVariantMap map; - map.insert(valgrindExeC, QLatin1String("valgrind")); + + // General + map.insert(QLatin1String(valgrindExeC), QLatin1String("valgrind")); + + // Memcheck + map.insert(QLatin1String(numCallersC), 25); + map.insert(QLatin1String(trackOriginsC), true); + map.insert(QLatin1String(filterExternalIssuesC), true); + QVariantList defaultErrorKinds; + for (int i = 0; i < Valgrind::XmlProtocol::MemcheckErrorKindCount; ++i) + defaultErrorKinds << i; + map.insert(QLatin1String(visibleErrorKindsC), defaultErrorKinds); + + // Callgrind + map.insert(QLatin1String(callgrindEnableCacheSimC), false); + map.insert(QLatin1String(callgrindEnableBranchSimC), false); + map.insert(QLatin1String(callgrindCollectSystimeC), false); + map.insert(QLatin1String(callgrindCollectBusEventsC), false); + map.insert(QLatin1String(callgrindEnableEventToolTipsC), true); + map.insert(QLatin1String(callgrindMinimumCostRatioC), 0.01); + map.insert(QLatin1String(callgrindVisualisationMinimumCostRatioC), 10.0); + return map; } -bool ValgrindSettings::fromMap(const QVariantMap &map) +bool ValgrindBaseSettings::fromMap(const QVariantMap &map) { - setIfPresent(map, valgrindExeC, &m_valgrindExecutable); + // General + setIfPresent(map, QLatin1String(valgrindExeC), &m_valgrindExecutable); + + // Memcheck + setIfPresent(map, QLatin1String(numCallersC), &m_numCallers); + setIfPresent(map, QLatin1String(trackOriginsC), &m_trackOrigins); + setIfPresent(map, QLatin1String(filterExternalIssuesC), &m_filterExternalIssues); + if (map.contains(QLatin1String(visibleErrorKindsC))) { + m_visibleErrorKinds.clear(); + foreach (const QVariant &val, map.value(QLatin1String(visibleErrorKindsC)).toList()) + m_visibleErrorKinds << val.toInt(); + } + + // Callgrind + setIfPresent(map, QLatin1String(callgrindEnableCacheSimC), &m_enableCacheSim); + setIfPresent(map, QLatin1String(callgrindEnableBranchSimC), &m_enableBranchSim); + setIfPresent(map, QLatin1String(callgrindCollectSystimeC), &m_collectSystime); + setIfPresent(map, QLatin1String(callgrindCollectBusEventsC), &m_collectBusEvents); + setIfPresent(map, QLatin1String(callgrindEnableEventToolTipsC), &m_enableEventToolTips); + setIfPresent(map, QLatin1String(callgrindMinimumCostRatioC), &m_minimumInclusiveCostRatio); + setIfPresent(map, QLatin1String(callgrindVisualisationMinimumCostRatioC), + &m_visualisationMinimumInclusiveCostRatio); + return true; } -QVariantMap ValgrindSettings::toMap() const +QVariantMap ValgrindBaseSettings::toMap() const { QVariantMap map; - map.insert(valgrindExeC, m_valgrindExecutable); + // General + map.insert(QLatin1String(valgrindExeC), m_valgrindExecutable); + + // Memcheck + map.insert(QLatin1String(numCallersC), m_numCallers); + map.insert(QLatin1String(trackOriginsC), m_trackOrigins); + map.insert(QLatin1String(filterExternalIssuesC), m_filterExternalIssues); + QVariantList errorKinds; + foreach (int i, m_visibleErrorKinds) + errorKinds << i; + map.insert(QLatin1String(visibleErrorKindsC), errorKinds); + + // Callgrind + map.insert(QLatin1String(callgrindEnableCacheSimC), m_enableCacheSim); + map.insert(QLatin1String(callgrindEnableBranchSimC), m_enableBranchSim); + map.insert(QLatin1String(callgrindCollectSystimeC), m_collectSystime); + map.insert(QLatin1String(callgrindCollectBusEventsC), m_collectBusEvents); + map.insert(QLatin1String(callgrindEnableEventToolTipsC), m_enableEventToolTips); + map.insert(QLatin1String(callgrindMinimumCostRatioC), m_minimumInclusiveCostRatio); + map.insert(QLatin1String(callgrindVisualisationMinimumCostRatioC), + m_visualisationMinimumInclusiveCostRatio); return map; } -void ValgrindSettings::setValgrindExecutable(const QString &valgrindExecutable) +void ValgrindBaseSettings::setValgrindExecutable(const QString &valgrindExecutable) { if (m_valgrindExecutable != valgrindExecutable) { m_valgrindExecutable = valgrindExecutable; @@ -77,22 +170,332 @@ void ValgrindSettings::setValgrindExecutable(const QString &valgrindExecutable) } } -QString ValgrindSettings::valgrindExecutable() const +QString ValgrindBaseSettings::valgrindExecutable() const { return m_valgrindExecutable; } -QString ValgrindSettings::id() const +QString ValgrindBaseSettings::id() const +{ + return "Analyzer.Valgrind.Settings"; +} + +QString ValgrindBaseSettings::displayName() const +{ + return tr("Valgrind"); +} + +void ValgrindBaseSettings::setNumCallers(int numCallers) +{ + if (m_numCallers != numCallers) { + m_numCallers = numCallers; + emit numCallersChanged(numCallers); + } +} + +void ValgrindBaseSettings::setTrackOrigins(bool trackOrigins) +{ + if (m_trackOrigins != trackOrigins) { + m_trackOrigins = trackOrigins; + emit trackOriginsChanged(trackOrigins); + } +} + +void ValgrindBaseSettings::setFilterExternalIssues(bool filterExternalIssues) +{ + if (m_filterExternalIssues != filterExternalIssues) { + m_filterExternalIssues = filterExternalIssues; + emit filterExternalIssuesChanged(filterExternalIssues); + } +} + +void ValgrindBaseSettings::setVisibleErrorKinds(const QList<int> &visibleErrorKinds) +{ + if (m_visibleErrorKinds != visibleErrorKinds) { + m_visibleErrorKinds = visibleErrorKinds; + emit visibleErrorKindsChanged(visibleErrorKinds); + } +} + +void ValgrindBaseSettings::setEnableCacheSim(bool enable) +{ + if (m_enableCacheSim == enable) + return; + + m_enableCacheSim = enable; + emit enableCacheSimChanged(enable); +} + +void ValgrindBaseSettings::setEnableBranchSim(bool enable) +{ + if (m_enableBranchSim == enable) + return; + + m_enableBranchSim = enable; + emit enableBranchSimChanged(enable); +} + +void ValgrindBaseSettings::setCollectSystime(bool collect) +{ + if (m_collectSystime == collect) + return; + + m_collectSystime = collect; + emit collectSystimeChanged(collect); +} + +void ValgrindBaseSettings::setCollectBusEvents(bool collect) +{ + if (m_collectBusEvents == collect) + return; + + m_collectBusEvents = collect; + emit collectBusEventsChanged(collect); +} + +void ValgrindBaseSettings::setEnableEventToolTips(bool enable) +{ + if (m_enableEventToolTips == enable) + return; + + m_enableEventToolTips = enable; + emit enableEventToolTipsChanged(enable); +} + +void ValgrindBaseSettings::setMinimumInclusiveCostRatio( + double minimumInclusiveCostRatio) +{ + if (m_minimumInclusiveCostRatio == minimumInclusiveCostRatio) + return; + + m_minimumInclusiveCostRatio = qBound(0.0, minimumInclusiveCostRatio, 100.0); + emit minimumInclusiveCostRatioChanged(minimumInclusiveCostRatio); +} + +void ValgrindBaseSettings::setVisualisationMinimumInclusiveCostRatio( + double minimumInclusiveCostRatio) +{ + if (m_visualisationMinimumInclusiveCostRatio == minimumInclusiveCostRatio) + return; + + m_visualisationMinimumInclusiveCostRatio = qBound(0.0, minimumInclusiveCostRatio, 100.0); + emit visualisationMinimumInclusiveCostRatioChanged(minimumInclusiveCostRatio); +} + + +////////////////////////////////////////////////////////////////// +// +// ValgrindGlobalSettings +// +////////////////////////////////////////////////////////////////// + +QWidget *ValgrindGlobalSettings::createConfigWidget(QWidget *parent) +{ + return new ValgrindConfigWidget(this, parent, true); +} + +QVariantMap ValgrindGlobalSettings::defaults() const +{ + QVariantMap map = ValgrindBaseSettings::defaults(); + + // Memcheck + map.insert(suppressionFilesC, QStringList()); + map.insert(lastSuppressionDirectoryC, QString()); + map.insert(lastSuppressionHistoryC, QStringList()); + + // Callgrind + map.insert(QLatin1String(callgrindCostFormatC), CostDelegate::FormatRelative); + map.insert(QLatin1String(callgrindCycleDetectionC), true); + + return map; +} + +bool ValgrindGlobalSettings::fromMap(const QVariantMap &map) +{ + ValgrindBaseSettings::fromMap(map); + + // Memcheck + m_suppressionFiles = map.value(suppressionFilesC).toStringList(); + m_lastSuppressionDirectory = map.value(lastSuppressionDirectoryC).toString(); + m_lastSuppressionHistory = map.value(lastSuppressionHistoryC).toStringList(); + + // Callgrind + // special code as the default one does not cope with the enum properly + if (map.contains(QLatin1String(callgrindCostFormatC))) + m_costFormat = static_cast<CostDelegate::CostFormat>(map.value(QLatin1String(callgrindCostFormatC)).toInt()); + setIfPresent(map, QLatin1String(callgrindCycleDetectionC), &m_detectCycles); + + return true; +} + +QVariantMap ValgrindGlobalSettings::toMap() const +{ + QVariantMap map = ValgrindBaseSettings::toMap(); + + // Memcheck + map.insert(suppressionFilesC, m_suppressionFiles); + map.insert(lastSuppressionDirectoryC, m_lastSuppressionDirectory); + map.insert(lastSuppressionHistoryC, m_lastSuppressionHistory); + + // Callgrind + map.insert(QLatin1String(callgrindCostFormatC), m_costFormat); + map.insert(QLatin1String(callgrindCycleDetectionC), m_detectCycles); + + return map; +} + +// +// Memcheck +// +QStringList ValgrindGlobalSettings::suppressionFiles() const +{ + return m_suppressionFiles; +} + +void ValgrindGlobalSettings::addSuppressionFiles(const QStringList &suppressions) +{ + foreach (const QString &s, suppressions) + if (!m_suppressionFiles.contains(s)) + m_suppressionFiles.append(s); +} + + +void ValgrindGlobalSettings::removeSuppressionFiles(const QStringList &suppressions) +{ + foreach (const QString &s, suppressions) + m_suppressionFiles.removeAll(s); +} + +QString ValgrindGlobalSettings::lastSuppressionDialogDirectory() const +{ + return m_lastSuppressionDirectory; +} + +void ValgrindGlobalSettings::setLastSuppressionDialogDirectory(const QString &directory) +{ + m_lastSuppressionDirectory = directory; +} + +QStringList ValgrindGlobalSettings::lastSuppressionDialogHistory() const +{ + return m_lastSuppressionHistory; +} + +void ValgrindGlobalSettings::setLastSuppressionDialogHistory(const QStringList &history) +{ + m_lastSuppressionHistory = history; +} + +// +// Callgrind +// +CostDelegate::CostFormat ValgrindGlobalSettings::costFormat() const +{ + return m_costFormat; +} + +void ValgrindGlobalSettings::setCostFormat(CostDelegate::CostFormat format) +{ + m_costFormat = format; + AnalyzerGlobalSettings::instance()->writeSettings(); +} + +bool ValgrindGlobalSettings::detectCycles() const +{ + return m_detectCycles; +} + +void ValgrindGlobalSettings::setDetectCycles(bool detect) +{ + m_detectCycles = detect; + AnalyzerGlobalSettings::instance()->writeSettings(); +} + +ValgrindGlobalSettings *globalValgrindSettings() { - return "Analyzer.Valgrind.Settings.Generic"; + ValgrindGlobalSettings *ret = AnalyzerGlobalSettings::instance()->subConfig<ValgrindGlobalSettings>(); + QTC_ASSERT(ret, return 0); + return ret; } -QString ValgrindSettings::displayName() const +////////////////////////////////////////////////////////////////// +// +// ValgrindProjectSettings +// +////////////////////////////////////////////////////////////////// + +QWidget *ValgrindProjectSettings::createConfigWidget(QWidget *parent) { - return tr("Generic Settings"); + return new ValgrindConfigWidget(this, parent, false); +} + +QVariantMap ValgrindProjectSettings::defaults() const +{ + QVariantMap map = ValgrindBaseSettings::defaults(); + + // Memcheck + map.insert(addedSuppressionFilesC, QStringList()); + map.insert(removedSuppressionFilesC, QStringList()); + + return map; } -QWidget *ValgrindSettings::createConfigWidget(QWidget *parent) +bool ValgrindProjectSettings::fromMap(const QVariantMap &map) { - return new ValgrindConfigWidget(this, parent); + ValgrindBaseSettings::fromMap(map); + + // Memcheck + setIfPresent(map, addedSuppressionFilesC, &m_addedSuppressionFiles); + setIfPresent(map, removedSuppressionFilesC, &m_disabledGlobalSuppressionFiles); + + return true; } + +QVariantMap ValgrindProjectSettings::toMap() const +{ + QVariantMap map = ValgrindBaseSettings::toMap(); + + // Memcheck + map.insert(addedSuppressionFilesC, m_addedSuppressionFiles); + map.insert(removedSuppressionFilesC, m_disabledGlobalSuppressionFiles); + + return map; +} + +// +// Memcheck +// + +void ValgrindProjectSettings::addSuppressionFiles(const QStringList &suppressions) +{ + QStringList globalSuppressions = globalValgrindSettings()->suppressionFiles(); + foreach (const QString &s, suppressions) { + if (m_addedSuppressionFiles.contains(s)) + continue; + m_disabledGlobalSuppressionFiles.removeAll(s); + if (!globalSuppressions.contains(s)) + m_addedSuppressionFiles.append(s); + } +} + +void ValgrindProjectSettings::removeSuppressionFiles(const QStringList &suppressions) +{ + QStringList globalSuppressions = globalValgrindSettings()->suppressionFiles(); + foreach (const QString &s, suppressions) { + m_addedSuppressionFiles.removeAll(s); + if (globalSuppressions.contains(s)) + m_disabledGlobalSuppressionFiles.append(s); + } +} + +QStringList ValgrindProjectSettings::suppressionFiles() const +{ + QStringList ret = globalValgrindSettings()->suppressionFiles(); + foreach (const QString &s, m_disabledGlobalSuppressionFiles) + ret.removeAll(s); + ret.append(m_addedSuppressionFiles); + return ret; +} + +} // namespace Internal +} // namespace Valgrind diff --git a/src/plugins/valgrind/valgrindsettings.h b/src/plugins/valgrind/valgrindsettings.h index 0e4b5dfe38bab6bb398f558b8a202f9fd1a7a785..347228e87ae4a92e50c63a731f5dd550f19bad70 100644 --- a/src/plugins/valgrind/valgrindsettings.h +++ b/src/plugins/valgrind/valgrindsettings.h @@ -36,30 +36,37 @@ #define ANALYZER_INTERNAL_VALGRINDSETTINGS_H #include <analyzerbase/analyzersettings.h> +#include "callgrindcostdelegate.h" #include <QtCore/QObject> +#include <QtCore/QString> #include <QtCore/QVariant> namespace Valgrind { namespace Internal { /** - * Generic Valgrind settings shared by all tools. + * Valgrind settings shared for global and per-project. */ -class ValgrindSettings : public Analyzer::AbstractAnalyzerSubConfig +class ValgrindBaseSettings : public Analyzer::AbstractAnalyzerSubConfig { Q_OBJECT + public: - ValgrindSettings() {} + ValgrindBaseSettings() {} virtual QVariantMap toMap() const; virtual QVariantMap defaults() const; - - QString valgrindExecutable() const; + virtual bool fromMap(const QVariantMap &map); virtual QString id() const; virtual QString displayName() const; - virtual QWidget *createConfigWidget(QWidget *parent); + +/** + * Base valgrind settings + */ +public: + QString valgrindExecutable() const; public slots: void setValgrindExecutable(const QString &); @@ -67,11 +74,179 @@ public slots: signals: void valgrindExecutableChanged(const QString &); +private: + QString m_valgrindExecutable; + + +/** + * Base memcheck settings + */ +public: + int numCallers() const { return m_numCallers; } + bool trackOrigins() const { return m_trackOrigins; } + bool filterExternalIssues() const { return m_filterExternalIssues; } + QList<int> visibleErrorKinds() const { return m_visibleErrorKinds; } + + virtual QStringList suppressionFiles() const = 0; + virtual void addSuppressionFiles(const QStringList &) = 0; + virtual void removeSuppressionFiles(const QStringList &) = 0; + +public slots: + void setNumCallers(int); + void setTrackOrigins(bool); + void setFilterExternalIssues(bool); + void setVisibleErrorKinds(const QList<int> &); + +signals: + void numCallersChanged(int); + void trackOriginsChanged(bool); + void filterExternalIssuesChanged(bool); + void visibleErrorKindsChanged(const QList<int> &); + void suppressionFilesRemoved(const QStringList &); + void suppressionFilesAdded(const QStringList &); + protected: - virtual bool fromMap(const QVariantMap &map); + int m_numCallers; + bool m_trackOrigins; + bool m_filterExternalIssues; + QList<int> m_visibleErrorKinds; + +/** + * Base callgrind settings + */ +public: + bool enableCacheSim() const { return m_enableCacheSim; } + bool enableBranchSim() const { return m_enableBranchSim; } + bool collectSystime() const { return m_collectSystime; } + bool collectBusEvents() const { return m_collectBusEvents; } + bool enableEventToolTips() const { return m_enableEventToolTips; } + + /// \return Minimum cost ratio, range [0.0..100.0] + double minimumInclusiveCostRatio() const { return m_minimumInclusiveCostRatio; } + + /// \return Minimum cost ratio, range [0.0..100.0] + double visualisationMinimumInclusiveCostRatio() const { return m_visualisationMinimumInclusiveCostRatio; } + +public slots: + void setEnableCacheSim(bool enable); + void setEnableBranchSim(bool enable); + void setCollectSystime(bool collect); + void setCollectBusEvents(bool collect); + void setEnableEventToolTips(bool enable); + + /// \param minimumInclusiveCostRatio Minimum inclusive cost ratio, valid values are [0.0..100.0] + void setMinimumInclusiveCostRatio(double minimumInclusiveCostRatio); + + /// \param minimumInclusiveCostRatio Minimum inclusive cost ratio, valid values are [0.0..100.0] + void setVisualisationMinimumInclusiveCostRatio(double minimumInclusiveCostRatio); + +signals: + void enableCacheSimChanged(bool); + void enableBranchSimChanged(bool); + void collectSystimeChanged(bool); + void collectBusEventsChanged(bool); + void enableEventToolTipsChanged(bool); + void minimumInclusiveCostRatioChanged(double); + void visualisationMinimumInclusiveCostRatioChanged(double); private: - QString m_valgrindExecutable; + bool m_enableCacheSim; + bool m_collectSystime; + bool m_collectBusEvents; + bool m_enableBranchSim; + bool m_enableEventToolTips; + double m_minimumInclusiveCostRatio; + double m_visualisationMinimumInclusiveCostRatio; +}; + + +/** + * Global valgrind settings + */ +class ValgrindGlobalSettings : public ValgrindBaseSettings +{ + Q_OBJECT + +public: + ValgrindGlobalSettings() {} + + QWidget *createConfigWidget(QWidget *parent); + QVariantMap toMap() const; + QVariantMap defaults() const; + bool fromMap(const QVariantMap &map); + + /* + * Global memcheck settings + */ +public: + QStringList suppressionFiles() const; + // in the global settings we change the internal list directly + void addSuppressionFiles(const QStringList &); + void removeSuppressionFiles(const QStringList &); + + // internal settings which don't require any UI + void setLastSuppressionDialogDirectory(const QString &directory); + QString lastSuppressionDialogDirectory() const; + + void setLastSuppressionDialogHistory(const QStringList &history); + QStringList lastSuppressionDialogHistory() const; + +private: + QStringList m_suppressionFiles; + QString m_lastSuppressionDirectory; + QStringList m_lastSuppressionHistory; + + + /** + * Global callgrind settings + */ +public: + + CostDelegate::CostFormat costFormat() const; + bool detectCycles() const; + +public slots: + void setCostFormat(Valgrind::Internal::CostDelegate::CostFormat format); + void setDetectCycles(bool detect); + +private: + CostDelegate::CostFormat m_costFormat; + bool m_detectCycles; +}; + + +/** + * Per-project valgrind settings. + */ +class ValgrindProjectSettings : public ValgrindBaseSettings +{ + Q_OBJECT + +public: + ValgrindProjectSettings() {} + + QWidget *createConfigWidget(QWidget *parent); + QVariantMap toMap() const; + QVariantMap defaults() const; + bool fromMap(const QVariantMap &map); + + /** + * Per-project memcheck settings, saves a diff to the global suppression files list + */ +public: + QStringList suppressionFiles() const; + // in the project-specific settings we store a diff to the global list + void addSuppressionFiles(const QStringList &suppressions); + void removeSuppressionFiles(const QStringList &suppressions); + +private: + QStringList m_disabledGlobalSuppressionFiles; + QStringList m_addedSuppressionFiles; + + + /** + * Per-project callgrind settings, saves a diff to the global suppression files list + */ }; } // namespace Internal diff --git a/src/plugins/valgrind/xmlprotocol/error.cpp b/src/plugins/valgrind/xmlprotocol/error.cpp index 3742456142a4bf466ec832f0785f05ee5538e26b..70c7f5427c9829bee8968bdf5e950d6fd5bdf2ea 100644 --- a/src/plugins/valgrind/xmlprotocol/error.cpp +++ b/src/plugins/valgrind/xmlprotocol/error.cpp @@ -248,7 +248,7 @@ QString Error::toXml() const if (!frame.file().isEmpty()) { stream << " <file>" << frame.file() << "</file>\n"; } - if (!frame.line() == -1) { + if (frame.line() != -1) { stream << " <line>" << frame.line() << "</line>"; } stream << " </frame>\n"; diff --git a/src/plugins/valgrind/xmlprotocol/frame.cpp b/src/plugins/valgrind/xmlprotocol/frame.cpp index 9b36a4a3680b200cf91c382ade6174f6fde825ed..876af1bf2701f09041f548135d9b0a50867ae345 100644 --- a/src/plugins/valgrind/xmlprotocol/frame.cpp +++ b/src/plugins/valgrind/xmlprotocol/frame.cpp @@ -43,9 +43,7 @@ namespace XmlProtocol { class Frame::Private : public QSharedData { public: - explicit Private() : - ip(0), line( -1 ) - {} + Private() : ip(0), line(-1) {} bool operator==(const Private &other) const { @@ -74,7 +72,7 @@ Frame::~Frame() } Frame::Frame(const Frame &other) : - d( other.d ) + d(other.d) { } diff --git a/src/plugins/welcome/images/checked.png b/src/plugins/welcome/images/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..68617b2f50adbde59b021430c8d95db58a2fc2d5 Binary files /dev/null and b/src/plugins/welcome/images/checked.png differ diff --git a/share/qtcreator/welcomescreen/widgets/img/draw-star.png b/src/plugins/welcome/images/draw-star.png similarity index 100% rename from share/qtcreator/welcomescreen/widgets/img/draw-star.png rename to src/plugins/welcome/images/draw-star.png diff --git a/share/qtcreator/welcomescreen/widgets/img/face-star.png b/src/plugins/welcome/images/face-star.png similarity index 100% rename from share/qtcreator/welcomescreen/widgets/img/face-star.png rename to src/plugins/welcome/images/face-star.png diff --git a/share/qtcreator/welcomescreen/widgets/img/lineedit.png b/src/plugins/welcome/images/lineedit.png similarity index 100% rename from share/qtcreator/welcomescreen/widgets/img/lineedit.png rename to src/plugins/welcome/images/lineedit.png diff --git a/src/plugins/welcome/images/rc_combined_transparent.png b/src/plugins/welcome/images/rc_combined_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..90393c7241e1f1d6de8efdcd9f7b17a5c379b5fa Binary files /dev/null and b/src/plugins/welcome/images/rc_combined_transparent.png differ diff --git a/src/plugins/welcome/images/tab_active.png b/src/plugins/welcome/images/tab_active.png index 7bed3d9d8999b451025a0ebf8750deb59a41920d..c514b8abbf86ebfd7fed1dc27f3c7aa216f18af4 100644 Binary files a/src/plugins/welcome/images/tab_active.png and b/src/plugins/welcome/images/tab_active.png differ diff --git a/src/plugins/welcome/images/tab_hover.png b/src/plugins/welcome/images/tab_hover.png index d11cdd71fec1130a56450bd6621a23f914aa349c..2e0878ef6bd05378a3d8f5db8ea6f0ae4d0e0e97 100644 Binary files a/src/plugins/welcome/images/tab_hover.png and b/src/plugins/welcome/images/tab_hover.png differ diff --git a/src/plugins/welcome/images/tab_inactive.png b/src/plugins/welcome/images/tab_inactive.png index 04e804c0fc3efe676c63a556ce44204608c9523a..88c77c6ebb71a28f1a5a47df0389a6e09c7aaa66 100644 Binary files a/src/plugins/welcome/images/tab_inactive.png and b/src/plugins/welcome/images/tab_inactive.png differ diff --git a/src/plugins/welcome/welcome.qrc b/src/plugins/welcome/welcome.qrc index 3c1c211dd730767adf77a47179247ff6276ea2c9..10e450960d92cf79aa8142ec737e35a9c3081fe2 100644 --- a/src/plugins/welcome/welcome.qrc +++ b/src/plugins/welcome/welcome.qrc @@ -25,5 +25,10 @@ <file>images/background_center_frame_v1.png</file> <file>images/background_center_frame_v2.png</file> <file>images/tab_hover.png</file> + <file>images/rc_combined_transparent.png</file> + <file>images/checked.png</file> + <file>images/lineedit.png</file> + <file>images/draw-star.png</file> + <file>images/face-star.png</file> </qresource> </RCC> diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp index 0196bda8080adc03549295a5ae98013f2172c589..920b4beddc86b69e3122ceff57eeed00ce26c370 100644 --- a/src/plugins/welcome/welcomeplugin.cpp +++ b/src/plugins/welcome/welcomeplugin.cpp @@ -45,7 +45,6 @@ #include <projectexplorer/projectexplorer.h> #include <utils/styledbar.h> -#include <utils/welcomemodetreewidget.h> #include <utils/iwelcomepage.h> #include <QtGui/QScrollArea> @@ -146,7 +145,7 @@ WelcomeMode::WelcomeMode() : QVBoxLayout *layout = new QVBoxLayout; layout->setMargin(0); layout->setSpacing(0); - layout->addWidget(new Utils::StyledBar); +// layout->addWidget(new Utils::StyledBar); layout->addWidget(m_welcomePage); m_modeWidget->setLayout(layout); diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp index f3b4c3db891e62bcf3544b4092e2925bd5786095..55e3e5373b7314bfd05b12e67012969d99b0c014 100644 --- a/src/shared/proparser/profileevaluator.cpp +++ b/src/shared/proparser/profileevaluator.cpp @@ -298,6 +298,12 @@ public: QStringList qmakeMkspecPaths() const; QStringList qmakeFeaturePaths() const; + void populateDeps( + const ProStringList &deps, const ProString &prefix, + QHash<ProString, QSet<ProString> > &dependencies, + QHash<ProString, ProStringList> &dependees, + ProStringList &rootSet) const; + QString expandEnvVars(const QString &str) const; QString fixPathToLocalOS(const QString &str) const; QString sysrootify(const QString &path, const QString &baseDir) const; @@ -342,7 +348,7 @@ public: E_SPRINTF, E_JOIN, E_SPLIT, E_BASENAME, E_DIRNAME, E_SECTION, E_FIND, E_SYSTEM, E_UNIQUE, E_QUOTE, E_ESCAPE_EXPAND, E_UPPER, E_LOWER, E_FILES, E_PROMPT, E_RE_ESCAPE, - E_REPLACE + E_REPLACE, E_SORT_DEPENDS, E_RESOLVE_DEPENDS }; enum TestFunc { @@ -443,7 +449,9 @@ void ProFileEvaluator::Private::initStatics() { "re_escape", E_RE_ESCAPE }, { "files", E_FILES }, { "prompt", E_PROMPT }, // interactive, so cannot be implemented - { "replace", E_REPLACE } + { "replace", E_REPLACE }, + { "sort_depends", E_SORT_DEPENDS }, + { "resolve_depends", E_RESOLVE_DEPENDS } }; for (unsigned i = 0; i < sizeof(expandInits)/sizeof(expandInits[0]); ++i) statics.expands.insert(ProString(expandInits[i].name), expandInits[i].func); @@ -2029,6 +2037,27 @@ ProStringList ProFileEvaluator::Private::expandVariableReferences( } } +void ProFileEvaluator::Private::populateDeps( + const ProStringList &deps, const ProString &prefix, + QHash<ProString, QSet<ProString> > &dependencies, QHash<ProString, ProStringList> &dependees, + ProStringList &rootSet) const +{ + foreach (const ProString &item, deps) + if (!dependencies.contains(item)) { + QSet<ProString> &dset = dependencies[item]; // Always create entry + ProStringList depends = valuesDirect(ProString(prefix + item + QString::fromLatin1(".depends"))); + if (depends.isEmpty()) { + rootSet << item; + } else { + foreach (const ProString &dep, depends) { + dset.insert(dep); + dependees[dep] << item; + } + populateDeps(depends, prefix, dependencies, dependees, rootSet); + } + } +} + QList<ProStringList> ProFileEvaluator::Private::prepareFunctionArgs(const ushort *&tokPtr) { QList<ProStringList> args_list; @@ -2532,6 +2561,30 @@ ProStringList ProFileEvaluator::Private::evaluateExpandFunction( } } break; + case E_SORT_DEPENDS: + case E_RESOLVE_DEPENDS: + if (args.count() < 1 || args.count() > 2) { + evalError(fL1S("%1(var, prefix) requires one or two arguments").arg(func.toQString(m_tmp1))); + } else { + QHash<ProString, QSet<ProString> > dependencies; + QHash<ProString, ProStringList> dependees; + ProStringList rootSet; + ProStringList orgList = valuesDirect(args.at(0)); + populateDeps(orgList, (args.count() < 2 ? ProString() : args.at(1)), + dependencies, dependees, rootSet); + for (int i = 0; i < rootSet.size(); ++i) { + const ProString &item = rootSet.at(i); + if ((func_t == E_RESOLVE_DEPENDS) || orgList.contains(item)) + ret.prepend(item); + foreach (const ProString &dep, dependees[item]) { + QSet<ProString> &dset = dependencies[dep]; + dset.remove(item); + if (dset.isEmpty()) + rootSet << dep; + } + } + } + break; case E_INVALID: evalError(fL1S("'%1' is not a recognized replace function") .arg(func.toQString(m_tmp1))); diff --git a/src/tools/qtcreatorwidgets/customwidgets.cpp b/src/tools/qtcreatorwidgets/customwidgets.cpp index ac4f2f68f323c80f383eea4adbffacf30d42ece4..c237673d335993a0fa1ead0e1e818d5d3c5f2e34 100644 --- a/src/tools/qtcreatorwidgets/customwidgets.cpp +++ b/src/tools/qtcreatorwidgets/customwidgets.cpp @@ -240,38 +240,6 @@ Wizard_CW::Wizard_CW(QObject *parent) : { } -WelcomePageWidget_CW::WelcomePageWidget_CW(QObject *parent) : - QObject(parent), - CustomWidget<Utils::WelcomeModeTreeWidget> - (QLatin1String("<utils/welcomemodetreewidget.h>"), - false, - QLatin1String(groupC), - QIcon(), - QLatin1String("Welcome page widget")) -{ -} - -QWidget *WelcomePageWidget_CW::createWidget(QWidget *parent) -{ - Utils::WelcomeModeTreeWidget *rc = new Utils::WelcomeModeTreeWidget(parent); - rc->addNewsItem(QLatin1String("Breaking news"), - QLatin1String("Bla bla bla"), QLatin1String("qt.nokia.com")); - rc->addNewsItem(QLatin1String("Yesterday's breaking news"), - QLatin1String("Blub blub blub"), QLatin1String("qt.nokia.com")); - return rc; -} - -WelcomeModeLabel_CW::WelcomeModeLabel_CW(QObject *parent) : - QObject(parent), - CustomWidget<Utils::WelcomeModeLabel> - (QLatin1String("<utils/welcomemodetreewidget.h>"), - false, - QLatin1String(groupC), - QIcon(), - QLatin1String("Welcome page header label")) -{ -} - CrumblePath_CW::CrumblePath_CW(QObject *parent) : QObject(parent), CustomWidget<Utils::CrumblePath> @@ -281,8 +249,7 @@ CrumblePath_CW::CrumblePath_CW(QObject *parent) : QIcon(), QLatin1String("Crumble Path")) { -}; - +} DetailsWidget_CW::DetailsWidget_CW(QObject *parent) : QObject(parent), @@ -410,8 +377,6 @@ WidgetCollection::WidgetCollection(QObject *parent) : m_plugins.push_back(new StyledBar_CW(this)); m_plugins.push_back(new StyledSeparator_CW(this)); m_plugins.push_back(new Wizard_CW(this)); - m_plugins.push_back(new WelcomePageWidget_CW(this)); - m_plugins.push_back(new WelcomeModeLabel_CW(this)); m_plugins.push_back(new CrumblePath_CW(this)); } diff --git a/src/tools/qtcreatorwidgets/customwidgets.h b/src/tools/qtcreatorwidgets/customwidgets.h index 2fbee7448a77806dc2aaa4fb0e20d76f4cc78834..44d43b1739a30e45669e169333afb1ad7b31a7e5 100644 --- a/src/tools/qtcreatorwidgets/customwidgets.h +++ b/src/tools/qtcreatorwidgets/customwidgets.h @@ -50,7 +50,6 @@ #include <utils/detailswidget.h> #include <utils/styledbar.h> #include <utils/wizard.h> -#include <utils/welcomemodetreewidget.h> #include <utils/crumblepath.h> #include <QtDesigner/QDesignerCustomWidgetCollectionInterface> @@ -238,27 +237,6 @@ public: explicit Wizard_CW(QObject *parent = 0); }; -class WelcomePageWidget_CW : - public QObject, - public CustomWidget<Utils::WelcomeModeTreeWidget> -{ - Q_OBJECT - Q_INTERFACES(QDesignerCustomWidgetInterface) -public: - explicit WelcomePageWidget_CW(QObject *parent = 0); - virtual QWidget *createWidget(QWidget *parent); -}; - -class WelcomeModeLabel_CW : - public QObject, - public CustomWidget<Utils::WelcomeModeLabel> -{ - Q_OBJECT - Q_INTERFACES(QDesignerCustomWidgetInterface) -public: - explicit WelcomeModeLabel_CW(QObject *parent = 0); -}; - class CrumblePath_CW : public QObject, public CustomWidget<Utils::CrumblePath>