diff --git a/share/qtcreator/templates/wizards/qml-runtime/wizard.xml b/share/qtcreator/templates/wizards/qml-runtime/wizard.xml index de785e26f614bfeb4ffece14746389fee36d0e4d..4f7576f445fcea37e2e69fc16228caaa8d6b1da8 100644 --- a/share/qtcreator/templates/wizards/qml-runtime/wizard.xml +++ b/share/qtcreator/templates/wizards/qml-runtime/wizard.xml @@ -37,7 +37,7 @@ leave room for the Qt 4 target page. <wizard version="1" kind="project" class="qt4project" firstpage="10" id="QmlRuntimePlugin" category="F.Projects"> - <description>Creates a plug-in for the QML runtime.</description> + <description>Creates a C++ plugin to extend the funtionality of the QML runtime.</description> <displayname>QML Runtime Plug-in</displayname> <displaycategory>QML Runtime Plug-in</displaycategory> <files> diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 737a823d378e7a9dc06bea716700aca808f760e1..10e85dfe24685d00b4c01d9cc22606b4f7361241 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -2102,7 +2102,12 @@ Sollen sie überschrieben werden?</translation> <translation>Neu</translation> </message> <message> - <location line="+542"/> + <location line="+516"/> + <source>Open Project</source> + <translation>Projekt öffnen</translation> + </message> + <message> + <location line="+38"/> <source>Settings...</source> <translation>Einstellungen...</translation> </message> @@ -2236,7 +2241,7 @@ Sollen sie überschrieben werden?</translation> <context> <name>Core::Internal::OutputPaneManager</name> <message> - <location filename="../../../src/plugins/coreplugin/outputpane.cpp" line="+206"/> + <location filename="../../../src/plugins/coreplugin/outputpane.cpp" line="+209"/> <source>Output</source> <translation>Ausgaben</translation> </message> @@ -2256,7 +2261,7 @@ Sollen sie überschrieben werden?</translation> <translation>Vorangehender Eintrag</translation> </message> <message> - <location line="+4"/> + <location line="+5"/> <location line="+195"/> <source>Maximize Output Pane</source> <translation>Ausgabepanel maximiert darstellen</translation> @@ -2429,9 +2434,13 @@ Sollen sie überschrieben werden?</translation> <context> <name>Core::ModeManager</name> <message> - <location filename="../../../src/plugins/coreplugin/modemanager.cpp" line="+180"/> <source>Switch to %1 mode</source> - <translation>Gehe zu Mode '%1'</translation> + <translation type="obsolete">Gehe zu Mode '%1'</translation> + </message> + <message> + <location filename="../../../src/plugins/coreplugin/modemanager.cpp" line="+180"/> + <source>Switch to <b>%1</b> mode</source> + <translation>Gehe zu Mode <b>'%1'</b></translation> </message> </context> <context> @@ -7620,7 +7629,7 @@ on slow machines. In this case, the value should be increased.</source> <context> <name>Git::Internal::LocalBranchModel</name> <message> - <location filename="../../../src/plugins/git/branchmodel.cpp" line="+196"/> + <location filename="../../../src/plugins/git/branchmodel.cpp" line="+197"/> <source><New branch></source> <translation><Neuer Branch></translation> </message> @@ -9447,7 +9456,7 @@ on slow machines. In this case, the value should be increased.</source> <translation>Umgebungsvariablen</translation> </message> <message> - <location filename="../../../src/plugins/perforce/settingspage.cpp" line="+136"/> + <location filename="../../../src/plugins/perforce/settingspage.cpp" line="+137"/> <source>Perforce</source> <translation>Perforce</translation> </message> @@ -9596,7 +9605,7 @@ on slow machines. In this case, the value should be increased.</source> </message> <message> <location filename="../../../src/plugins/qmldesigner/components/pluginmanager/pluginpath.cpp" line="+181"/> - <location filename="../../../src/plugins/qmldesigner/core/pluginmanager/widgetpluginpath.cpp" line="+204"/> + <location filename="../../../src/plugins/qmldesigner/designercore/pluginmanager/widgetpluginpath.cpp" line="+204"/> <source>Failed Plugins</source> <translation>Nicht geladene Plugins (Fehlschlag beim Ladevorgang)</translation> </message> @@ -9972,7 +9981,7 @@ Fehler: %2</translation> <context> <name>ProjectExplorer::Internal::AllProjectsFind</name> <message> - <location filename="../../../src/plugins/projectexplorer/allprojectsfind.cpp" line="+64"/> + <location filename="../../../src/plugins/projectexplorer/allprojectsfind.cpp" line="+65"/> <source>All Projects</source> <translation>Alle Projekte</translation> </message> @@ -10033,7 +10042,22 @@ Fehler: %2</translation> <context> <name>ProjectExplorer::Internal::BuildStepsPage</name> <message> - <location filename="../../../src/plugins/projectexplorer/buildstepspage.cpp" line="+259"/> + <location filename="../../../src/plugins/projectexplorer/buildstepspage.cpp" line="+176"/> + <source>Move Up</source> + <translation>Nach oben</translation> + </message> + <message> + <location line="+6"/> + <source>Move Down</source> + <translation>Nach unten</translation> + </message> + <message> + <location line="+6"/> + <source>Remove Item</source> + <translation>Element löschen</translation> + </message> + <message> + <location line="+80"/> <source>Removing Step failed</source> <translation>Das Entfernen des Build-Schritts schlug fehl</translation> </message> @@ -10058,7 +10082,7 @@ Fehler: %2</translation> <translation>Schritt zur Bereinigung hinzufügen</translation> </message> <message> - <location line="-210"/> + <location line="-218"/> <source>Build Steps</source> <translation>Erstellungsschritte</translation> </message> @@ -10116,7 +10140,7 @@ Fehler: %2</translation> <context> <name>ProjectExplorer::Internal::CurrentProjectFind</name> <message> - <location filename="../../../src/plugins/projectexplorer/currentprojectfind.cpp" line="+64"/> + <location filename="../../../src/plugins/projectexplorer/currentprojectfind.cpp" line="+65"/> <source>Current Project</source> <translation>Aktuelles Projekt</translation> </message> @@ -10490,7 +10514,7 @@ No project selected</extracomment> <translation>Sitzungen...</translation> </message> <message> - <location filename="../../../src/plugins/projectexplorer/projectwelcomepagewidget.cpp" line="+127"/> + <location filename="../../../src/plugins/projectexplorer/projectwelcomepagewidget.cpp" line="+128"/> <source>%1 (last session)</source> <translation>%1 (zuletzt benutzt)</translation> </message> @@ -10500,12 +10524,11 @@ No project selected</extracomment> <translation>%1 (aktuelle Sitzung)</translation> </message> <message> - <location line="+42"/> <source>Open Project</source> - <translation>Projekt öffnen</translation> + <translation type="obsolete">Projekt öffnen</translation> </message> <message> - <location line="+22"/> + <location line="+47"/> <source>New Project</source> <translation>Neues Projekt</translation> </message> @@ -11646,7 +11669,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation> <translation>Schon gewusst?</translation> </message> <message> - <location filename="../../../src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp" line="+71"/> + <location filename="../../../src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp" line="+72"/> <source>The Qt Creator User Interface</source> <translation>Die Benutzeroberfläche von Qt Creator</translation> </message> @@ -11661,13 +11684,13 @@ unter Versionsverwaltung (%2) gestellt werden?</translation> <translation>Erstellen einer Qt-Quick-Anwendung</translation> </message> <message> - <location line="+35"/> - <location line="+58"/> + <location line="+38"/> + <location line="+53"/> <source>Choose an example...</source> <translation>Beispiel wählen...</translation> </message> <message> - <location line="+69"/> + <location line="+85"/> <source>Copy Project to writable Location?</source> <translation>Soll das Projekt in ein schreibbares Verzeichnis kopiert werden?</translation> </message> @@ -11820,6 +11843,11 @@ unter Versionsverwaltung (%2) gestellt werden?</translation> <source>Explore Qt Quick Examples</source> <translation>Qt Quick-Beispiele öffnen</translation> </message> + <message> + <location/> + <source>Open Project...</source> + <translation>Projekt öffnen...</translation> + </message> </context> <context> <name>Qt4ProjectManager::Internal::GuiAppWizard</name> @@ -11948,7 +11976,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation> <context> <name>Qt4ProjectManager::Internal::QMakeStepFactory</name> <message> - <location filename="../../../src/plugins/qt4projectmanager/qmakestep.cpp" line="+473"/> + <location filename="../../../src/plugins/qt4projectmanager/qmakestep.cpp" line="+486"/> <source>qmake</source> <translation>qmake</translation> </message> @@ -12301,6 +12329,12 @@ unter Versionsverwaltung (%2) gestellt werden?</translation> <comment>Qt Version is meant for Maemo</comment> <translation>Maemo</translation> </message> + <message> + <location line="+2"/> + <source>Qt Simulator</source> + <comment>Qt Version is meant for Qt Simulator</comment> + <translation>Qt Simulator</translation> + </message> <message> <location line="+2"/> <source>unkown</source> @@ -12769,13 +12803,13 @@ Installiere Anwendung auf '%2'...</translation> <context> <name>Qt4ProjectManager::QMakeStep</name> <message> - <location filename="../../../src/plugins/qt4projectmanager/qmakestep.cpp" line="-392"/> + <location filename="../../../src/plugins/qt4projectmanager/qmakestep.cpp" line="-405"/> <source>qmake</source> <comment>QMakeStep display name.</comment> <translation></translation> </message> <message> - <location line="+107"/> + <location line="+120"/> <source><font color="#0000ff">Configuration is faulty, please check the Build Issues view for details.</font></source> <translation><font color="#0000ff">Die Konfiguration ist fehlerhaft. Details befinden sich in der Ansicht "Build-Probleme".</font></translation> </message> @@ -12814,7 +12848,7 @@ Installiere Anwendung auf '%2'...</translation> <context> <name>Qt4ProjectManager::QtVersionManager</name> <message> - <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.cpp" line="+387"/> + <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.cpp" line="+388"/> <source><not found></source> <translation><nicht gefunden></translation> </message> @@ -14034,7 +14068,7 @@ Um es abzurufen, tippen Sie das Kürzel im Locator, gefolgt von einem Leerzeich <context> <name>TextEditor::BaseTextEditorEditable</name> <message> - <location line="+4718"/> + <location line="+4802"/> <source>Line: %1, Col: %2</source> <translation>Zeile: %1, Spalte: %2</translation> </message> @@ -14584,12 +14618,12 @@ Die folgenden Encodings scheinen der Datei zu entsprechen:</translation> <message> <location line="+6"/> <source>Go to Block Start With Selection</source> - <translation>Zum Blockanfang mit Auswahl gehen</translation> + <translation>Bis Blockanfang markieren</translation> </message> <message> <location line="+5"/> <source>Go to Block End With Selection</source> - <translation>Zum Blockende mit Auswahl gehen</translation> + <translation>Bis Blockende markieren</translation> </message> <message> <location line="-61"/> @@ -14747,7 +14781,87 @@ Die folgenden Encodings scheinen der Datei zu entsprechen:</translation> <translation>Ctrl+J</translation> </message> <message> - <location line="+94"/> + <location line="+5"/> + <source>Goto Line Start</source> + <translation>Zeilenanfang</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Line End</source> + <translation>Zeilenende</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Next Line</source> + <translation>Nächste Zeile</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Previous Line</source> + <translation>Vorangehende Zeile</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Previous Character</source> + <translation>Vorangehendes Zeichen</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Next Character</source> + <translation>Nächstes Zeichen</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Previous Word</source> + <translation>Vorangehendes Wort</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Next Word</source> + <translation>Nächstes Wort</translation> + </message> + <message> + <location line="+4"/> + <source>Goto Line Start With Selection</source> + <translation>Bis Zeilenanfang markieren</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Line End With Selection</source> + <translation>Bis Zeilenende markieren</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Next Line With Selection</source> + <translation>Bis zur nächsten Zeile markieren</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Previous Line With Selection</source> + <translation>Bis zur vorangehenden Zeile markieren</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Previous Character With Selection</source> + <translation>Vorangehendes Zeichen markieren</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Next Character With Selection</source> + <translation>Nächstes Zeichen markieren</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Previous Word With Selection</source> + <translation>Vorangehendes Wort markieren</translation> + </message> + <message> + <location line="+3"/> + <source>Goto Next Word With Selection</source> + <translation>Nächstes Wort markieren</translation> + </message> + <message> + <location line="+96"/> <source><line number></source> <translation><Zeilennummer></translation> </message> @@ -15108,7 +15222,7 @@ Die folgenden Encodings scheinen der Datei zu entsprechen:</translation> <context> <name>Utils::DetailsButton</name> <message> - <location filename="../../../src/libs/utils/detailsbutton.cpp" line="+136"/> + <location filename="../../../src/libs/utils/detailsbutton.cpp" line="+68"/> <source>Details</source> <translation>Details</translation> </message> @@ -15809,9 +15923,8 @@ p, li { white-space: pre-wrap; } <translation><b>Qt Apps</b><br /><font color='gray'>Finden Sie freie, Qt-basierte Applikationen</font></translation> </message> <message> - <location line="+31"/> + <location line="+34"/> <source>http://labs.trolltech.com/blogs/feed</source> - <extracomment>Add localized feed here only if one exists</extracomment> <translation type="unfinished"></translation> </message> <message> @@ -17390,7 +17503,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <context> <name>CMakeProjectManager::Internal::CMakeTarget</name> <message> - <location filename="../../../src/plugins/cmakeprojectmanager/cmaketarget.cpp" line="+47"/> + <location filename="../../../src/plugins/cmakeprojectmanager/cmaketarget.cpp" line="+49"/> <location filename="../../../src/plugins/projectexplorer/userfileaccessor.cpp" line="+772"/> <source>Desktop</source> <comment>CMake Default target display name</comment> @@ -18382,7 +18495,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <translation>Es ist kein Ziel festgelegt.</translation> </message> <message> - <location line="+103"/> + <location line="+102"/> <source>Qt Creator</source> <translation>Qt Creator</translation> </message> @@ -18473,7 +18586,13 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <translation>Maemo</translation> </message> <message> - <location line="+378"/> + <location line="+2"/> + <source>Qt Simulator</source> + <comment>Qt4 Simulator target display name</comment> + <translation>Qt Simulator</translation> + </message> + <message> + <location line="+383"/> <source><b>Device:</b> Not connected</source> <translation><b>Gerät:</b> Nicht angeschlossen</translation> </message> @@ -18505,7 +18624,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <translation>-Neues Formular-</translation> </message> <message> - <location line="+179"/> + <location line="+182"/> <source>Cannot save to file "%1": permission denied.</source> <translation>Die Datei "%1" konnte wegen nicht ausreichender Zugriffsrechte nicht geschrieben werden.</translation> </message> @@ -18550,7 +18669,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <translation>Kein QmlDesigner-Plugin.</translation> </message> <message> - <location filename="../../../src/plugins/qmldesigner/core/pluginmanager/widgetpluginpath.cpp" line="-133"/> + <location filename="../../../src/plugins/qmldesigner/designercore/pluginmanager/widgetpluginpath.cpp" line="-133"/> <source>Failed to create instance of file '%1': %2</source> <translation>Es konnte keine Instanz der Datei '%1' erzeugt werden: %2</translation> </message> @@ -18712,7 +18831,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <context> <name>QmlDesigner::RewriterView</name> <message> - <location filename="../../../src/plugins/qmldesigner/core/model/rewriterview.cpp" line="+79"/> + <location filename="../../../src/plugins/qmldesigner/designercore/model/rewriterview.cpp" line="+79"/> <source>Error parsing</source> <translation>Fehler beim Parsen</translation> </message> @@ -19200,7 +19319,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <context> <name>QtVersion</name> <message> - <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.cpp" line="+902"/> + <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.cpp" line="+928"/> <source>No qmake path set</source> <translation>Es ist keine qmake-Pfad gesetzt</translation> </message> @@ -19220,7 +19339,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <translation>Der Pfad zu den ausführbaren Dateien der Qt-Installation konnte nicht bestimmt werden, möglicherweise ist der Pfad zu qmake falsch?</translation> </message> <message> - <location line="+122"/> + <location line="+128"/> <source>The Qt Version has no toolchain.</source> <translation>Dieser Qt-Version ist keine Toolchain zugeordnet.</translation> </message> @@ -19262,7 +19381,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <context> <name>TextEditor</name> <message> - <location filename="../../../src/plugins/texteditor/texteditorconstants.h" line="+111"/> + <location filename="../../../src/plugins/texteditor/texteditorconstants.h" line="+127"/> <source>Text Editor</source> <translation>Text Editor</translation> </message> @@ -19318,7 +19437,7 @@ Sie können die Änderungen in einem Stash ablegen oder rücksetzen.</translatio <context> <name>trk::Launcher</name> <message> - <location filename="../../../src/shared/symbianutils/launcher.cpp" line="+492"/> + <location filename="../../../src/shared/symbianutils/launcher.cpp" line="+506"/> <source>Cannot open remote file '%1': %2</source> <translation>Die Datei '%1' auf dem Gerät konnte nicht geöffnet werden: %2</translation> </message> @@ -19892,7 +20011,7 @@ Please check your project settings.</source> <context> <name>Qt4ProjectManager::Internal::Qt4TargetFactory</name> <message> - <location filename="../../../src/plugins/qt4projectmanager/qt4target.cpp" line="-271"/> + <location filename="../../../src/plugins/qt4projectmanager/qt4target.cpp" line="-274"/> <source>Debug</source> <translation>Debug</translation> </message> @@ -20313,7 +20432,7 @@ Please check your project settings.</source> <context> <name>Core::CommandMappings</name> <message> - <location filename="../../../src/plugins/coreplugin/actionmanager/commandmappings.cpp" line="+138"/> + <location filename="../../../src/plugins/coreplugin/actionmanager/commandmappings.cpp" line="+139"/> <source>Command</source> <translation>Kommando</translation> </message> @@ -20434,7 +20553,7 @@ Please check your project settings.</source> <context> <name>QmlDesigner::Internal::SubComponentManagerPrivate</name> <message> - <location filename="../../../src/plugins/qmldesigner/core/metainfo/subcomponentmanager.cpp" line="+307"/> + <location filename="../../../src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp" line="+307"/> <source>QML Components</source> <translation>QML-Komponenten</translation> </message> @@ -20735,7 +20854,7 @@ Haben Sie Qemu gestartet?</translation> <context> <name>Qt4ProjectManager::Internal::S60CreatePackageStepConfigWidget</name> <message> - <location line="+47"/> + <location line="+49"/> <source>self-signed</source> <translation>Selbstsigniert</translation> </message> @@ -21319,14 +21438,22 @@ Haben Sie Qemu gestartet?</translation> <context> <name>Designer::Internal::FormEditorFactory</name> <message> - <location filename="../../../src/plugins/designer/formeditorfactory.cpp" line="+93"/> <source>This file can only be edited in Design Mode.</source> - <translation>Datei kann nur im Entwurfsmodus bearbeitet werden.</translation> + <translation type="obsolete">Datei kann nur im Entwurfsmodus bearbeitet werden.</translation> </message> <message> - <location line="+1"/> <source>Open Designer</source> - <translation>Designer öffnen</translation> + <translation type="obsolete">Designer öffnen</translation> + </message> + <message> + <location filename="../../../src/plugins/designer/formeditorfactory.cpp" line="+93"/> + <source>This file can only be edited in <b>Design</b> mode.</source> + <translation>Datei kann nur im <b>Entwurfsmodus</b> bearbeitet werden.</translation> + </message> + <message> + <location line="+1"/> + <source>Switch mode</source> + <translation>Modus umschalten</translation> </message> </context> <context> @@ -21410,7 +21537,7 @@ Haben Sie Qemu gestartet?</translation> <translation>Status</translation> </message> <message> - <location filename="../../../src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp" line="+297"/> + <location filename="../../../src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp" line="+300"/> <source>Qt Creator can set up the following targets for project <b>%1</b>:</source> <comment>%1: Project name</comment> <translation>Qt Creator kann für das Projekt <b>%1</b> die folgenden Ziele anlegen:</translation> @@ -21444,7 +21571,7 @@ Haben Sie Qemu gestartet?</translation> <translation><b>Warnung:</b> </translation> </message> <message> - <location line="-295"/> + <location line="-298"/> <source>Import</source> <comment>Is this an import of an existing build or a new one?</comment> <translation>Import</translation> @@ -21943,7 +22070,7 @@ Namen <E-Mail> Alias <E-Mail?</translation> <context> <name>QmlDesigner::Internal::ModelPrivate</name> <message> - <location filename="../../../src/plugins/qmldesigner/core/model/model.cpp" line="+172"/> + <location filename="../../../src/plugins/qmldesigner/designercore/model/model.cpp" line="+172"/> <source>invalid type</source> <translation>ungültiger Typ</translation> </message> @@ -22428,7 +22555,7 @@ Namen <E-Mail> Alias <E-Mail?</translation> <context> <name>Qt4ProjectManager::QtVersion</name> <message> - <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.cpp" line="-989"/> + <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.cpp" line="-1021"/> <source>The Qt version is invalid: %1</source> <extracomment>%1: Reason for being invalid</extracomment> <translation>Ungültige Qt-Version: %1</translation> @@ -22558,7 +22685,7 @@ Namen <E-Mail> Alias <E-Mail?</translation> <context> <name>InvalidIdException</name> <message> - <location filename="../../../src/plugins/qmldesigner/core/exceptions/invalididexception.cpp" line="+59"/> + <location filename="../../../src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp" line="+59"/> <source>Ids have to be unique: </source> <translation>Ids müssen eindeutig sein: </translation> </message> @@ -22579,7 +22706,7 @@ Ids müssen mit einem Kleinbuchstaben beginnen und dürfen nur alphanumerische Z <context> <name>QmlDesigner::InvalidArgumentException</name> <message> - <location filename="../../../src/plugins/qmldesigner/core/exceptions/invalidargumentexception.cpp" line="+60"/> + <location filename="../../../src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp" line="+60"/> <source>Failed to create item of type %1</source> <translation>Es konnte kein Element des Typs %1 erzeugt werden</translation> </message> diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts index b6126535e2879a5cd5236aab71b2fce551a6dc54..3b9405ef944667b218ccb1f1b25acb02bac75733 100644 --- a/share/qtcreator/translations/qtcreator_pl.ts +++ b/share/qtcreator/translations/qtcreator_pl.ts @@ -128,7 +128,7 @@ <message> <location/> <source>Load</source> - <translation type="unfinished"></translation> + <translation>ZaÅ‚adowana</translation> </message> </context> <context> @@ -911,7 +911,7 @@ p, li { white-space: pre-wrap; } <message> <location/> <source>Timeout:</source> - <translation type="unfinished"></translation> + <translation>Czas oczekiwania:</translation> </message> <message> <location/> @@ -1262,17 +1262,20 @@ p, li { white-space: pre-wrap; } to extract full path information for all source files from gdb. This is a slow process but enables setting breakpoints in files with the same file name in different directories.</source> - <translation type="unfinished"></translation> + <translation>Kiedy ta opcja jest zaznaczona, debugger próbuje uzyskać informacje od gdb +o peÅ‚nych Å›cieżkach dla wszystkich plików źródÅ‚owych. Jest to wolny proces +ale umożliwia ustawianie puÅ‚apek w plikach o tych samych nazwach +leżących w różnych katalogach.</translation> </message> <message> <location/> <source>Use full path information to set breakpoints</source> - <translation type="unfinished"></translation> + <translation>Używaj informacji o peÅ‚nych Å›cieżkach do ustawiania puÅ‚apek</translation> </message> <message> <location/> <source>Gdb timeout:</source> - <translation type="unfinished"></translation> + <translation>Czas oczekiwania:</translation> </message> <message> <location/> @@ -1281,7 +1284,11 @@ 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="unfinished"></translation> + <translation>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> <location/> @@ -1297,7 +1304,7 @@ on slow machines. In this case, the value should be increased.</source> <location/> <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>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 pojedyÅ„cze "Wskocz do wnÄ™trza" dla emisji sygnaÅ‚u wskoczy bezpoÅ›rednio do podłączonego slotu.</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> <location/> @@ -1507,7 +1514,7 @@ on slow machines. In this case, the value should be increased.</source> <message> <location/> <source>Shift width:</source> - <translation type="unfinished"></translation> + <translation>Szerokość przesuniÄ™cia:</translation> </message> <message> <source>Smart tabulators:</source> @@ -1530,7 +1537,7 @@ on slow machines. In this case, the value should be increased.</source> <message> <location/> <source>Backspace:</source> - <translation type="unfinished"></translation> + <translation>CofniÄ™cie:</translation> </message> <message> <source>VIM's "autoindent" option</source> @@ -2049,7 +2056,7 @@ on slow machines. In this case, the value should be increased.</source> <message> <location/> <source>Timeout:</source> - <translation type="unfinished"></translation> + <translation>Czas oczekiwania:</translation> </message> <message> <location/> @@ -2351,7 +2358,7 @@ Add, modify, and remove document filters, which determine the documentation set <message> <location/> <source>Timeout:</source> - <translation type="unfinished"></translation> + <translation>Czas oczekiwania:</translation> </message> <message> <location/> @@ -2366,7 +2373,7 @@ Add, modify, and remove document filters, which determine the documentation set <message> <location/> <source>Log count:</source> - <translation type="unfinished"></translation> + <translation>Licznik dziennika:</translation> </message> <message> <location/> @@ -3103,7 +3110,7 @@ JednoczeÅ›nie samoczynnie ustawia odpowiedniÄ… wersjÄ™ Qt.</translation> <message> <location line="+4"/> <source>You can switch between Qt Creator's modes using <tt>Ctrl+number</tt>:<ul><li>1 - Welcome</li><li>2 - Edit</li><li>3 - Debug</li><li>4 - Projects</li><li>5 - Help</li></ul></source> - <translation>Możesz przełączać tryby Qt Creator'a używajÄ…c <tt>Ctrl+liczba</tt>:<ul><li>1 - Powitanie</li><li>2 - Edycja</li><li>3 - Debug</li><li>4 - Projekty</li><li>5 - Pomoc</li></ul></translation> + <translation>Możesz przełączać tryby Qt Creator'a używajÄ…c <tt>Ctrl+liczba</tt>:<ul><li>1 - Powitanie</li><li>2 - Edycja</li><li>3 - Debugowanie</li><li>4 - Projekty</li><li>5 - Pomoc</li></ul></translation> </message> <message> <location line="+21"/> @@ -3590,7 +3597,7 @@ p, li { white-space: pre-wrap; } <message> <location/> <source>Timeout:</source> - <translation type="unfinished"></translation> + <translation>Czas oczekiwania:</translation> </message> <message> <location/> @@ -3833,7 +3840,7 @@ p, li { white-space: pre-wrap; } <message> <location/> <source>&Visualize whitespace</source> - <translation>&Pokazuj biaÅ‚e znaki</translation> + <translation>Pokazuj &biaÅ‚e znaki</translation> </message> <message> <source>Animate matching parentheses</source> @@ -3875,12 +3882,12 @@ p, li { white-space: pre-wrap; } <message> <location/> <source>Auto-fold first &comment</source> - <translation type="unfinished"></translation> + <translation>Zwijaj automatycznie poczÄ…tkowy &komentarz</translation> </message> <message> <location/> <source>Center &cursor on scroll</source> - <translation type="unfinished"></translation> + <translation>WyÅ›rodkowuj przy &przewijaniu</translation> </message> </context> <context> @@ -3991,32 +3998,32 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../../src/plugins/welcome/communitywelcomepagewidget.cpp" line="+46"/> <source><b>Forum Nokia</b><br /><font color='gray'>Mobile Application Support</font></source> - <translation type="unfinished"></translation> + <translation><b>Forum Nokii</b><br /><font color='gray'>Wsparcie techniczne dla mobilnych aplikacji</font></translation> </message> <message> <location line="+3"/> <source><b>Qt LGPL Support</b><br /><font color='gray'>Buy professional Qt support</font></source> - <translation type="unfinished"></translation> + <translation><b>Wsparcie techniczne Qt LGPL</b><br /><font color='gray'>Kup profesjonalne wsparcie techniczne Qt</font></translation> </message> <message> <location line="+3"/> <source><b>Qt Centre</b><br /><font color='gray'>Community based Qt support</font></source> - <translation type="unfinished"></translation> + <translation><b>Qt Centre</b><br /><font color='gray'>SpoÅ‚eczne wsparcie techniczne Qt</font></translation> </message> <message> <location line="+6"/> <source><b>Qt Home</b><br /><font color='gray'>Qt by Nokia on the web</font></source> - <translation type="unfinished"></translation> + <translation><b>Strona domowa Qt</b><br /><font color='gray'>Strona domowa Qt / Nokia</font></translation> </message> <message> <location line="+3"/> <source><b>Qt Git Hosting</b><br /><font color='gray'>Participate in Qt development</font></source> - <translation type="unfinished"></translation> + <translation><b>SkÅ‚adnica Git dla Qt</b><br /><font color='gray'>Weź udziaÅ‚ w rozwoju Qt</font></translation> </message> <message> <location line="+3"/> <source><b>Qt Apps</b><br /><font color='gray'>Find free Qt-based apps</font></source> - <translation type="unfinished"></translation> + <translation><b>Aplikacje Qt</b><br /><font color='gray'>Znajdź darmowe aplikacje bazujÄ…ce na Qt</font></translation> </message> <message> <location line="+34"/> @@ -4594,7 +4601,7 @@ Przyczyna: %3</translation> <message> <location line="+244"/> <source>Resolving dependencies failed because state != Read</source> - <translation>RozwiÄ…zanie zależnoÅ›ci nie udaÅ‚o siÄ™, bo stan wtyczki jest inny niż "wczytana"</translation> + <translation>Nie udaÅ‚o siÄ™ rozwiÄ…zać zależnoÅ›ci ponieważ stan wtyczki jest inny niż "wczytana"</translation> </message> <message> <location line="+23"/> @@ -4604,7 +4611,7 @@ Przyczyna: %3</translation> <message> <location line="+28"/> <source>Loading the library failed because state != Resolved</source> - <translation>Åadowanie biblioteki nie powiodÅ‚o siÄ™, bo stan wtyczki jest inny niż "rozwiÄ…zana"</translation> + <translation>Błąd Å‚adowania biblioteki, stan wtyczki jest inny niż "rozwiÄ…zana"</translation> </message> <message> <location line="+36"/> @@ -4614,7 +4621,7 @@ Przyczyna: %3</translation> <message> <location line="+21"/> <source>Initializing the plugin failed because state != Loaded</source> - <translation>Zainicjowanie wtyczki nie powiodÅ‚o siÄ™, bo jej stan jest inny niż "zaÅ‚adowana"</translation> + <translation>Błąd inicjalizacji wtyczki, jej stan jest inny niż "zaÅ‚adowana"</translation> </message> <message> <location line="+5"/> @@ -4624,7 +4631,7 @@ Przyczyna: %3</translation> <message> <location line="+6"/> <source>Plugin initialization failed: %1</source> - <translation>Nie można zainicjalizować wtyczki: %1</translation> + <translation>Błąd inicjalizacji wtyczki: %1</translation> </message> <message> <location line="+19"/> @@ -7556,7 +7563,7 @@ Zwróć uwagÄ™ że spowoduje to usuniÄ™cie lokalnego pliku.</translation> <message> <location line="+2"/> <source><html>The installed version of the <i>Debugging Tools for Windows</i> (%1) is rather old. Upgrading to version %2 is recommended for the proper display of Qt's data types.</html></source> - <translation type="unfinished"></translation> + <translation><html>Zainstalowana wersja <i>narzÄ™dzi debugowych dla Windows</i> (%1) jest przestarzaÅ‚a. Zalecane jest uaktualnienie do wersji %2 w celu poprawnego wyÅ›wietlania typów danych Qt.</html></translation> </message> <message> <location line="+4"/> @@ -7622,7 +7629,7 @@ Zwróć uwagÄ™ że spowoduje to usuniÄ™cie lokalnego pliku.</translation> <message> <location line="+37"/> <source>Stepping %1</source> - <translation type="unfinished"></translation> + <translation>Kroczenie %1</translation> </message> <message> <source>Running to 0x%1...</source> @@ -7763,7 +7770,7 @@ Zwróć uwagÄ™ że spowoduje to usuniÄ™cie lokalnego pliku.</translation> <message> <location line="+29"/> <source>The debuggee does not appear to be Qt application.</source> - <translation type="unfinished"></translation> + <translation>Debugowany proces nie wyglÄ…da na aplikacjÄ™ Qt.</translation> </message> <message> <location line="+10"/> @@ -7841,12 +7848,12 @@ Zwróć uwagÄ™ że spowoduje to usuniÄ™cie lokalnego pliku.</translation> <message> <location filename="../../../src/plugins/debugger/cdb/cdbsymbolpathlisteditor.cpp" line="+42"/> <source>Symbol Server...</source> - <translation type="unfinished"></translation> + <translation>Serwer z symbolami...</translation> </message> <message> <location line="+1"/> <source>Adds the Microsoft symbol server providing symbols for operating system libraries.Requires specifying a local cache directory.</source> - <translation type="unfinished"></translation> + <translation>Dodaje serwer z symbolami Microsoft dostarczajÄ…cy symboli dla bibliotek systemu operacyjnego. Wymaga podania katalogu dla lokalnego cache.</translation> </message> <message> <location line="+6"/> @@ -8539,7 +8546,7 @@ Zwróć uwagÄ™ że spowoduje to usuniÄ™cie lokalnego pliku.</translation> <message> <location filename="../../../src/plugins/debugger/debuggerplugin.cpp" line="+216"/> <source>Debug</source> - <translation>Debug</translation> + <translation>Debugowanie</translation> </message> </context> <context> @@ -8629,12 +8636,12 @@ Czy chcesz jÄ… zakoÅ„czyć?</translation> <message> <location line="+5"/> <source>Detach Debugger</source> - <translation>Odłącz debugger</translation> + <translation>Odłącz debuggera</translation> </message> <message> <location line="+44"/> <source>Stop Debugger/Interrupt Debugger</source> - <translation>Zatrzymaj debugger / przerwij debugger</translation> + <translation>Zatrzymaj debuggera / przerwij debuggera</translation> </message> <message> <location line="+7"/> @@ -8825,7 +8832,7 @@ Czy chcesz jÄ… zakoÅ„czyć?</translation> <message> <location filename="../../../src/plugins/debugger/gdb/gdbengine.cpp" line="+290"/> <source>The Gdb process failed to start. Either the invoked program '%1' is missing, or you may have insufficient permissions to invoke the program.</source> - <translation type="unfinished"></translation> + <translation>Nie można rozpocząć procesu Gdb. Brak programu "%1" albo brak wymaganych uprawnieÅ„ aby go uruchomić.</translation> </message> <message> <location line="+5"/> @@ -9022,12 +9029,12 @@ Zaleca siÄ™ użycie gdb wersji 6.7 lub późniejszej.</translation> <message> <location line="+12"/> <source>Run to line %1 requested...</source> - <translation type="unfinished"></translation> + <translation>Zażądano wykonania do osiÄ…gniÄ™cia linii %1...</translation> </message> <message> <location line="+23"/> <source>Run to function %1 requested...</source> - <translation type="unfinished"></translation> + <translation>Zażądano wykonania do osiÄ…gniÄ™cia funkcji %1...</translation> </message> <message> <location line="+594"/> @@ -9161,7 +9168,8 @@ Zaleca siÄ™ użycie gdb wersji 6.7 lub późniejszej.</translation> <location line="+1"/> <source>In order to load snapshots the debugged process needs to be stopped. Continuation will not be possible afterwards. Do you want to stop the debugged process and load the selected snapshot?</source> - <translation type="unfinished"></translation> + <translation>W celu zaÅ‚adowania zrzutów należy zakoÅ„czyć debugowany proces. Kontynuacja debugowania nie bÄ™dzie wtedy możliwa. +Czy chcesz zakoÅ„czyć debugowany proces i zaÅ‚adować wybrany zrzut?</translation> </message> <message> <location line="+378"/> @@ -9171,7 +9179,7 @@ Do you want to stop the debugged process and load the selected snapshot?</source <message> <location line="+777"/> <source>crashed</source> - <translation type="unfinished"></translation> + <translation>zakoÅ„czyÅ‚ pracÄ™ błędem</translation> </message> <message> <location line="+0"/> @@ -9181,12 +9189,12 @@ Do you want to stop the debugged process and load the selected snapshot?</source <message> <location line="+14"/> <source>Adapter start failed</source> - <translation type="unfinished"></translation> + <translation>Nie można uruchomić adaptera</translation> </message> <message> <location line="-70"/> <source>Cannot find debugger initialization script</source> - <translation type="unfinished"></translation> + <translation>Nie można odnaleźć skryptu inicjalizujÄ…cego dla debuggera</translation> </message> <message> <location line="-3638"/> @@ -9314,7 +9322,7 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location line="+53"/> <source>There is no gdb binary available for '%1'</source> - <translation type="unfinished"></translation> + <translation>Brak dostÄ™pnego pliku binarnego gdb dla "%1"</translation> </message> <message> <location line="+57"/> @@ -9324,12 +9332,12 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location line="+232"/> <source>Immediate return from function requested...</source> - <translation type="unfinished"></translation> + <translation>Zażądano natychmiastowego powrotu z funkcji...</translation> </message> <message> <location line="+406"/> <source>ATTEMPT BREAKPOINT SYNC</source> - <translation type="unfinished"></translation> + <translation>PRÓBA SYNCHRONIZACJI PUÅAPEK</translation> </message> <message> <location line="+229"/> @@ -9356,12 +9364,12 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location filename="../../../src/plugins/debugger/gdb/classicgdbengine.cpp" line="-161"/> <source>The debugging helper library was not found at %1.</source> - <translation type="unfinished"></translation> + <translation>Nie odnaleziono biblioteki asystenta debuggera w %1.</translation> </message> <message> <location filename="../../../src/plugins/debugger/gdb/gdbengine.cpp" line="-135"/> <source>The debugger settings point to a script file at '%1' which is not accessible. If a script file is not needed, consider clearing that entry to avoid this warning. </source> - <translation type="unfinished"></translation> + <translation>Ustawienia debuggera pokazujÄ… na skrypt w "%1" króry nie jest dostÄ™pny. JeÅ›li plik ze skryptem nie jest potrzebny rozważ usuniÄ™cie go z ustawieÅ„ w celu unikniÄ™cia tego ostrzeżenia.</translation> </message> <message> <location line="+109"/> @@ -9385,7 +9393,7 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location line="+68"/> <source>Adapter crashed</source> - <translation type="unfinished"></translation> + <translation>Adapter zakoÅ„czyÅ‚ pracÄ™ błędem</translation> </message> </context> <context> @@ -9425,7 +9433,7 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location filename="../../../src/plugins/debugger/gdb/remotegdbadapter.cpp" line="+113"/> <source>The upload process failed to start. Shell missing?</source> - <translation type="unfinished"></translation> + <translation>Nie można rozpocząć procesu upload. Brak powÅ‚oki?</translation> </message> <message> <location line="+3"/> @@ -9473,7 +9481,7 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location filename="../../../src/plugins/debugger/gdb/trkgdbadapter.cpp" line="+1723"/> <source>Port specification missing.</source> - <translation type="unfinished"></translation> + <translation>Nie podano portu.</translation> </message> <message> <location line="+6"/> @@ -9483,7 +9491,7 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location line="+118"/> <source>Process started, PID: 0x%1, thread id: 0x%2, code segment: 0x%3, data segment: 0x%4.</source> - <translation type="unfinished"></translation> + <translation>Proces uruchomiony, PID: 0x%1, identyfikator wÄ…tku: 0x%2, segment kodu: 0x%3, segment danych: 0x%4.</translation> </message> <message> <location line="+40"/> @@ -9715,7 +9723,7 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location line="+43"/> <source>Invalid non-negative number</source> - <translation type="unfinished"></translation> + <translation>Niepoprawna liczba naturalna</translation> </message> <message> <location line="+58"/> @@ -9786,29 +9794,29 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location line="+17"/> <source>Invalid pointer-to-member-type</source> - <translation type="unfinished"></translation> + <translation>Niepoprawny wskaźnik do typu skÅ‚adnika</translation> </message> <message> <location line="+47"/> <location line="+10"/> <location line="+36"/> <source>Invalid substitution</source> - <translation type="unfinished"></translation> + <translation>Niepoprawne zastÄ…pienie</translation> </message> <message> <location line="-42"/> <source>Invalid substitution: element %1 was requested, but there are only %2</source> - <translation type="unfinished"></translation> + <translation>Niepoprawne zastÄ…pienie: zażądano elementu %1 podczas gdy wszystkich elementów jest %2</translation> </message> <message> <location line="+11"/> <source>Invalid substitution: There are no elements</source> - <translation type="unfinished"></translation> + <translation>Niepoprawne zastÄ…pienie: brak elementów</translation> </message> <message> <location line="+103"/> <source>Invalid special-name</source> - <translation type="unfinished"></translation> + <translation>Niepoprawna nazwa specjalna</translation> </message> <message> <location line="+43"/> @@ -10372,22 +10380,22 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location line="+1"/> <source>Latin1 string</source> - <translation type="unfinished"></translation> + <translation>CiÄ…g Latin1</translation> </message> <message> <location line="+1"/> <source>UTF8 string</source> - <translation type="unfinished"></translation> + <translation>CiÄ…g UTF8</translation> </message> <message> <location line="+1"/> <source>UTF16 string</source> - <translation type="unfinished"></translation> + <translation>CiÄ…g UTF16</translation> </message> <message> <location line="+1"/> <source>UCS4 string</source> - <translation type="unfinished"></translation> + <translation>CiÄ…g UCS4</translation> </message> <message> <location line="+89"/> @@ -10410,7 +10418,7 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <message> <location filename="../../../src/plugins/debugger/watchutils.cpp" line="+103"/> <source>Found an outdated version of the debugging helper library (%1); version %2 is required.</source> - <translation type="unfinished"></translation> + <translation>Znaleziono nieaktualnÄ… wersjÄ™ biblioteki asystenta debuggera (%1); wymagana wersja: %2.</translation> </message> <message> <location line="+36"/> @@ -10596,13 +10604,15 @@ Zaleca siÄ™ użycie gdb wersji 7.1 lub późniejszej.</translation> <location filename="../../../src/plugins/designer/codemodelhelpers.cpp" line="+129"/> <source>The generated header of the form '%1' could be found. Rebuilding the project might help.</source> - <translation type="unfinished"></translation> + <translation>Nie można odnaleźć wygenerowanego pliku nagłówkowego dla formularza "%1". +Spróbuj ponownie przebudować projekt.</translation> </message> <message> <location line="+6"/> <source>The generated header '%1' could not be found in the code model. Rebuilding the project might help.</source> - <translation type="unfinished"></translation> + <translation>Nie można odnaleźć wygenerowanego pliku nagłówkowego "%1" w modelu kodu. +Spróbuj ponownie przebudować projekt.</translation> </message> </context> <context> @@ -10867,7 +10877,7 @@ Rebuilding the project might help.</source> <source>No documents matching '%1' could be found. Rebuilding the project might help.</source> <translation>Brak dokumentów załączajÄ…cych "%1". -Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> +Przebudowanie projektu może pomóc w ich odnalezieniu.</translation> </message> <message> <location line="+59"/> @@ -11545,7 +11555,7 @@ Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> <message> <location line="+2"/> <source>Unable apply patch %1 to %2: %3</source> - <translation type="unfinished"></translation> + <translation>Nie można zastosować Å‚aty %1 do %2: %3</translation> </message> <message> <location line="+576"/> @@ -11654,7 +11664,7 @@ Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> <message> <location line="+32"/> <source>Git SVN Log</source> - <translation type="unfinished"></translation> + <translation>Dziennik git SVN</translation> </message> <message> <location line="+14"/> @@ -11670,7 +11680,7 @@ Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> '%1' failed (exit code %2). </source> <translation> -'%1' zakoÅ„czone niepowodzeniem (kod wyjÅ›ciowy %2). +'%1' zakoÅ„czone błędem (kod wyjÅ›ciowy %2). </translation> </message> <message> @@ -11693,7 +11703,7 @@ Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> <message> <location line="+45"/> <source>Request failed for '%1': %2</source> - <translation>Żądanie zostaÅ‚o niepomyÅ›lnie zakoÅ„czone dla "%1": %2</translation> + <translation>Żądanie zostaÅ‚o błędnie zakoÅ„czone dla "%1": %2</translation> </message> <message> <location line="+80"/> @@ -11894,12 +11904,12 @@ Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> <message> <location line="-51"/> <source>Clean Project...</source> - <translation type="unfinished"></translation> + <translation>Wyczyść projekt...</translation> </message> <message> <location line="+0"/> <source>Clean Project "%1"...</source> - <translation type="unfinished"></translation> + <translation>Wyczyść projekt "%1"...</translation> </message> <message> <location line="+7"/> @@ -11959,7 +11969,7 @@ Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> <message> <location line="+3"/> <source>Pull</source> - <translation type="unfinished"></translation> + <translation>PociÄ…gnij</translation> </message> <message> <location line="+4"/> @@ -11984,7 +11994,7 @@ Przebudowanie projektu może pomóc w odnalezieniu ich.</translation> <message> <location line="+3"/> <source>Push</source> - <translation type="unfinished"></translation> + <translation>Popchnij</translation> </message> <message> <location line="+6"/> @@ -14032,12 +14042,12 @@ Powód: %2</translation> <message> <location line="+338"/> <source>Cannot run without a project.</source> - <translation type="unfinished"></translation> + <translation>Nie można uruchamiać bez wybranego projektu.</translation> </message> <message> <location line="+1"/> <source>Cannot debug without a project.</source> - <translation type="unfinished"></translation> + <translation>Nie można debugować bez wybranego projektu.</translation> </message> <message> <location line="+151"/> @@ -16947,7 +16957,7 @@ NastÄ™pujÄ…ce kodowania bÄ™dÄ… najprawdopodobniej pasowaÅ‚y:</translation> <message> <location line="+3"/> <source>&Rewrap Paragraph</source> - <translation type="unfinished"></translation> + <translation>ZawiÅ„ &ponownie paragraf</translation> </message> <message> <location line="+2"/> @@ -16957,7 +16967,7 @@ NastÄ™pujÄ…ce kodowania bÄ™dÄ… najprawdopodobniej pasowaÅ‚y:</translation> <message> <location line="+5"/> <source>&Visualize Whitespace</source> - <translation>&Pokazuj biaÅ‚e znaki</translation> + <translation>Pokazuj &biaÅ‚e znaki</translation> </message> <message> <location line="+4"/> @@ -17967,7 +17977,7 @@ NastÄ™pujÄ…ce kodowania bÄ™dÄ… najprawdopodobniej pasowaÅ‚y:</translation> <message> <location line="+10"/> <source>Copying failed</source> - <translation>Kopiowanie zakoÅ„czone niepowodzeniem</translation> + <translation>Błąd kopiowania</translation> </message> <message> <location line="+1"/> @@ -18842,7 +18852,7 @@ aktywny tylko po wpisaniu przedrostka</translation> <message> <location line="+4"/> <source>%1: Process %2 crashed.</source> - <translation type="unfinished"></translation> + <translation>%1: Proces %2 zakoÅ„czyÅ‚ pracÄ™ błędem.</translation> </message> <message> <location line="+8"/> @@ -19298,7 +19308,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location/> <source>Log count:</source> - <translation type="unfinished"></translation> + <translation>Licznik dziennika:</translation> </message> <message> <location/> @@ -19308,7 +19318,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location/> <source>Timeout:</source> - <translation type="unfinished"></translation> + <translation>Czas oczekiwania:</translation> </message> <message> <location/> @@ -20249,7 +20259,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location/> <source>Connection Timeout:</source> - <translation type="unfinished"></translation> + <translation>Czas oczekiwania na połączenie:</translation> </message> <message> <location/> @@ -20528,12 +20538,12 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="-245"/> <source>easing-curve name is not a string</source> - <translation type="unfinished"></translation> + <translation>nazwa Å‚agodnej krzywej nie jest ciÄ…giem</translation> </message> <message> <location line="-6"/> <source>unknown easing-curve name</source> - <translation type="unfinished"></translation> + <translation>nieznana nazwa Å‚agodnej krzywej</translation> </message> <message> <location line="+4"/> @@ -20553,7 +20563,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+12"/> <source>string value expected</source> - <translation type="unfinished"></translation> + <translation>Oczekiwano wartoÅ›ci typu ciÄ…g</translation> </message> <message> <location line="+41"/> @@ -20563,7 +20573,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+9"/> <source>expected anchor line</source> - <translation type="unfinished"></translation> + <translation>oczekiwano linii kotwicznej</translation> </message> <message> <location line="+93"/> @@ -20691,7 +20701,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location filename="../../../src/libs/utils/unixutils.cpp" line="+60"/> <source><table border=1 cellspacing=0 cellpadding=3><tr><th>Variable</th><th>Expands to</th></tr><tr><td>%d</td><td>directory of current file</td></tr><tr><td>%f</td><td>file name (with full path)</td></tr><tr><td>%n</td><td>file name (without path)</td></tr><tr><td>%%</td><td>%</td></tr></table></source> - <translation type="unfinished"></translation> + <translation><table border=1 cellspacing=0 cellpadding=3><tr><th>Zmienna</th><th>RozwiniÄ™cie</th></tr><tr><td>%d</td><td>katalog bieżącego pliku</td></tr><tr><td>%f</td><td>nazwa pliku (z peÅ‚nÄ… Å›cieżkÄ…)</td></tr><tr><td>%n</td><td>nazwa pliku (bez Å›cieżki)</td></tr><tr><td>%%</td><td>%</td></tr></table></translation> </message> </context> <context> @@ -20717,12 +20727,12 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+110"/> <source>Copy Selection as ASCII Characters</source> - <translation type="unfinished"></translation> + <translation>Skopiuj jako znaki ASCII</translation> </message> <message> <location line="+1"/> <source>Copy Selection as Hex Values</source> - <translation type="unfinished"></translation> + <translation>Skopiuj jako wartoÅ›ci szesnastkowe</translation> </message> <message> <location line="+27"/> @@ -21596,12 +21606,12 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+44"/> <source>Pull...</source> - <translation type="unfinished"></translation> + <translation>PociÄ…gnij...</translation> </message> <message> <location line="+7"/> <source>Push...</source> - <translation type="unfinished"></translation> + <translation>Popchnij...</translation> </message> <message> <location line="+7"/> @@ -21656,7 +21666,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+28"/> <source>Incoming Source</source> - <translation type="unfinished"></translation> + <translation>NadchodzÄ…ce źródÅ‚o</translation> </message> <message> <location line="+18"/> @@ -21747,7 +21757,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+19"/> <source>"%1" crashed.</source> - <translation>WystÄ…piÅ‚ błąd w "%1" - proces zakoÅ„czony.</translation> + <translation>"%1" zakoÅ„czyÅ‚ pracÄ™ błędem.</translation> </message> <message> <location line="+5"/> @@ -21862,7 +21872,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+1"/> <source>Example Object Class-name:</source> - <translation type="unfinished"></translation> + <translation>PrzykÅ‚adowa nazwa klasy obiektu:</translation> </message> </context> <context> @@ -21976,7 +21986,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+2"/> <source>Open Terminal here...</source> - <translation type="unfinished"></translation> + <translation>Otwórz tutaj terminal...</translation> </message> <message> <location line="+9"/> @@ -22891,7 +22901,7 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+1"/> <source>Show uninspectable items</source> - <translation type="unfinished">Pokazuj elementy</translation> + <translation type="unfinished"></translation> </message> <message> <location line="+2"/> @@ -22975,7 +22985,9 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <source>[Inspector] disconnected. </source> - <translation type="unfinished"></translation> + <translation>[Inspektor] rozłączony. + +</translation> </message> <message> <location line="+14"/> @@ -23002,7 +23014,8 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <location line="+23"/> <source>[Inspector] error: (%1) %2</source> <comment>%1=error code, %2=error message</comment> - <translation type="unfinished"></translation> + <translation>[Inspektor] błąd: (%1) %2 +</translation> </message> <message> <location line="+111"/> @@ -23012,13 +23025,13 @@ Możesz odÅ‚ożyć zmiany lub je porzucić.</translation> <message> <location line="+32"/> <source>No project was found.</source> - <translation type="unfinished"></translation> + <translation>Nie znaleziono żadnego projektu.</translation> </message> <message> <location line="+21"/> <location line="+47"/> <source>No run configurations were found for the project '%1'.</source> - <translation type="unfinished"></translation> + <translation>Nie znaleziono żadnych konfiguracji uruchamiania dla projektu "%1".</translation> </message> <message> <location line="+2"/> @@ -23034,7 +23047,7 @@ Please check your project settings.</source> <message> <location line="+54"/> <source>Debugging failed: could not start C++ debugger.</source> - <translation type="unfinished"></translation> + <translation>Błąd debugowania: nie można uruchomić debuggera C++.</translation> </message> <message> <location line="-287"/> @@ -23095,28 +23108,28 @@ Please check your project settings.</source> <message> <location filename="../../../src/plugins/qmljseditor/qmljseditorfactory.cpp" line="+141"/> <source>Do you want to enable the experimental Qt Quick Designer?</source> - <translation type="unfinished"></translation> + <translation>Czy chcesz włączyć eksperymentalnego Qt Quick Designera?</translation> </message> <message> <location line="+1"/> <location line="+23"/> <source>Enable Qt Quick Designer</source> - <translation type="unfinished"></translation> + <translation>Włącz Qt Quick Designera</translation> </message> <message> <location line="-11"/> <source>Qt Creator -> About Plugins...</source> - <translation type="unfinished"></translation> + <translation>Qt Creator -> Informacje o wtyczkach...</translation> </message> <message> <location line="+2"/> <source>Help -> About Plugins...</source> - <translation type="unfinished"></translation> + <translation>Pomoc -> Informacje o wtyczkach...</translation> </message> <message> <location line="+3"/> <source>Enable experimental Qt Quick Designer?</source> - <translation type="unfinished"></translation> + <translation>Włączyć Qt Quick Designera?</translation> </message> <message> <location line="+1"/> @@ -23131,12 +23144,12 @@ Please check your project settings.</source> <message> <location line="+8"/> <source>Please restart Qt Creator</source> - <translation type="unfinished"></translation> + <translation>Uruchom ponownie Qt Creatora</translation> </message> <message> <location line="+1"/> <source>Please restart Qt Creator to make the change effective.</source> - <translation type="unfinished"></translation> + <translation>Uruchom ponownie Qt Creatora aby zmiana mogÅ‚a zostać zastosowana.</translation> </message> </context> <context> @@ -23188,7 +23201,7 @@ Please check your project settings.</source> <message> <location filename="../../../src/plugins/qmlprojectmanager/qmlproject.cpp" line="+102"/> <source>Error while loading project file!</source> - <translation type="unfinished"></translation> + <translation>Błąd podczas Å‚adowania pliku z projektem!</translation> </message> </context> <context> @@ -23228,7 +23241,7 @@ Please check your project settings.</source> <source>Include .qml, .js, and image files from current directory and subdirectories</source> <comment>qmlproject Template</comment> <extracomment>Comment added to generated .qmlproject file</extracomment> - <translation type="unfinished"></translation> + <translation>Włącz .qml, .js i pliki graficzne z bieżącego katalogu i jego podkatalogów</translation> </message> <message> <location line="+11"/> @@ -23302,7 +23315,7 @@ Please check your project settings.</source> <source>Include .qml, .js, and image files from current directory and subdirectories</source> <comment>qmlproject Template</comment> <extracomment>Comment added to generated .qmlproject file</extracomment> - <translation type="unfinished"></translation> + <translation>Włącz .qml, .js i pliki graficzne z bieżącego katalogu i jego podkatalogów</translation> </message> <message> <location line="+11"/> @@ -23494,12 +23507,12 @@ Czy uruchomiÅ‚eÅ› Qemu?</translation> <message> <location line="+323"/> <source>'%1' does not contain a valid Maemo simulator image.</source> - <translation type="unfinished"></translation> + <translation>"%1" nie zawiera prawidÅ‚owego obrazu symulatora Maemo.</translation> </message> <message> <location line="+41"/> <source>Simulator could not be found. Please check the Qt Version you are using and that a simulator image is already installed.</source> - <translation type="unfinished"></translation> + <translation>Nie można odnaleźć symulatora. Sprawdź którÄ… wersjÄ™ Qt używasz i upewnij siÄ™ że obraz symulatora jest już zainstalowany.</translation> </message> </context> <context> @@ -23615,7 +23628,7 @@ Czy uruchomiÅ‚eÅ› Qemu?</translation> <message> <location line="-76"/> <source>Deployment failed: %1</source> - <translation>Instalacja zakoÅ„czona niepowodzeniem: %1</translation> + <translation>Błąd instalacji: %1</translation> </message> </context> <context> @@ -23649,7 +23662,7 @@ Czy uruchomiÅ‚eÅ› Qemu?</translation> <location line="-11"/> <location line="+22"/> <source>Deployment Failed</source> - <translation>Instalacja zakoÅ„czona niepowodzeniem</translation> + <translation>Błąd instalacji</translation> </message> <message> <location line="-222"/> @@ -23670,7 +23683,7 @@ Czy uruchomiÅ‚eÅ› Qemu?</translation> <message> <location line="+22"/> <source>Key deployment failed: %1</source> - <translation>Instalacja klucza zakoÅ„czona niepowodzeniem: %1</translation> + <translation>Błąd instalacji klucza: %1</translation> </message> <message> <location line="+2"/> @@ -24131,17 +24144,17 @@ Czy uruchomiÅ‚eÅ› Qemu?</translation> <message> <location/> <source>Viewer path:</source> - <translation type="unfinished"></translation> + <translation>Åšcieżka przeglÄ…darki:</translation> </message> <message> <location/> <source>Viewer arguments:</source> - <translation type="unfinished"></translation> + <translation>Argumenty przeglÄ…darki:</translation> </message> <message> <location/> <source>To switch languages while debugging, go to Debug->Language menu.</source> - <translation type="unfinished"></translation> + <translation>Aby zmienić jÄ™zyk podczas debugowania przejdź do menu: Debugowanie->JÄ™zyk.</translation> </message> </context> <context> @@ -24259,7 +24272,7 @@ name <email> alias <email></source> <message> <location filename="../qmldesigner/propertyeditor/Qt/BorderImageSpecifics.qml" line="+17"/> <source>Image</source> - <translation type="unfinished"></translation> + <translation>Obrazek</translation> </message> <message> <location line="+7"/> @@ -24274,22 +24287,22 @@ name <email> alias <email></source> <message> <location line="+35"/> <source>Left</source> - <translation type="unfinished"></translation> + <translation>Lewy</translation> </message> <message> <location line="+10"/> <source>Right</source> - <translation type="unfinished"></translation> + <translation>Prawy</translation> </message> <message> <location line="+10"/> <source>Top</source> - <translation type="unfinished"></translation> + <translation>Górny</translation> </message> <message> <location line="+10"/> <source>Bottom</source> - <translation type="unfinished"></translation> + <translation>Dolny</translation> </message> </context> <context> @@ -24394,7 +24407,7 @@ name <email> alias <email></source> <message> <location filename="../qmldesigner/propertyeditor/Qt/ImageSpecifics.qml" line="+15"/> <source>Image</source> - <translation type="unfinished"></translation> + <translation>Obrazek</translation> </message> <message> <location line="+7"/> @@ -24414,7 +24427,7 @@ name <email> alias <email></source> <message> <location line="+4"/> <source>Smooth</source> - <translation type="unfinished"></translation> + <translation>GÅ‚adki</translation> </message> <message> <location line="+12"/> @@ -24563,12 +24576,12 @@ name <email> alias <email></source> <message> <location line="+12"/> <source>Wrap Mode</source> - <translation type="unfinished"></translation> + <translation>Tryb zawijania</translation> </message> <message> <location line="+18"/> <source>Alignment</source> - <translation type="unfinished"></translation> + <translation>Wyrównanie</translation> </message> <message> <location line="+18"/> @@ -24578,7 +24591,7 @@ name <email> alias <email></source> <message> <location line="+4"/> <source>Smooth</source> - <translation type="unfinished"></translation> + <translation>GÅ‚adki</translation> </message> <message> <location line="-8"/> @@ -24619,7 +24632,7 @@ name <email> alias <email></source> <message> <location filename="../qmldesigner/propertyeditor/Qt/TextEditSpecifics.qml" line="+24"/> <source>Text Edit</source> - <translation type="unfinished"></translation> + <translation>Edytor tekstu</translation> </message> <message> <location line="+8"/> @@ -24672,12 +24685,12 @@ name <email> alias <email></source> <message> <location line="+14"/> <source>Focus On Press</source> - <translation type="unfinished"></translation> + <translation>Fokus po naciÅ›niÄ™ciu</translation> </message> <message> <location line="+13"/> <source>Auto Scroll</source> - <translation type="unfinished"></translation> + <translation>Automatyczne przewijanie</translation> </message> </context> <context> @@ -24695,47 +24708,47 @@ name <email> alias <email></source> <message> <location line="+20"/> <source>Top Left</source> - <translation type="unfinished"></translation> + <translation>Górny lewy</translation> </message> <message> <location line="+1"/> <source>Top</source> - <translation type="unfinished"></translation> + <translation>Górny</translation> </message> <message> <location line="+1"/> <source>Top Right</source> - <translation type="unfinished"></translation> + <translation>Górny prawy</translation> </message> <message> <location line="+1"/> <source>Left</source> - <translation type="unfinished"></translation> + <translation>Lewy</translation> </message> <message> <location line="+1"/> <source>Center</source> - <translation type="unfinished"></translation> + <translation>Centralny</translation> </message> <message> <location line="+1"/> <source>Right</source> - <translation type="unfinished"></translation> + <translation>Prawy</translation> </message> <message> <location line="+1"/> <source>Bottom Left</source> - <translation type="unfinished"></translation> + <translation>Dolny lewy</translation> </message> <message> <location line="+1"/> <source>Bottom</source> - <translation type="unfinished"></translation> + <translation>Dolny</translation> </message> <message> <location line="+1"/> <source>Bottom Right</source> - <translation type="unfinished"></translation> + <translation>Dolny prawy</translation> </message> <message> <location line="+9"/> @@ -24930,7 +24943,7 @@ name <email> alias <email></source> <message> <location line="+11"/> <source>Please configure a path.</source> - <translation type="unfinished"></translation> + <translation>Skonfiguruj Å›cieżkÄ™.</translation> </message> <message> <location line="+59"/> @@ -24940,7 +24953,7 @@ name <email> alias <email></source> <message> <location line="+17"/> <source>Pasted: %1</source> - <translation type="unfinished"></translation> + <translation>Wklejono: %1</translation> </message> </context> <context> @@ -25031,7 +25044,7 @@ name <email> alias <email></source> <message> <location line="+3"/> <source>Gdb binary</source> - <translation type="unfinished"></translation> + <translation>Plik binarny Gdb</translation> </message> <message> <location line="+2"/> @@ -25049,12 +25062,12 @@ name <email> alias <email></source> <message> <location line="+30"/> <source>Unable to start pdb '%1': %2</source> - <translation type="unfinished"></translation> + <translation>Nie można rozpocząć pdb "%1": %2</translation> </message> <message> <location line="+5"/> <source>Adapter start failed</source> - <translation type="unfinished"></translation> + <translation>Nie można uruchomić adaptera</translation> </message> <message> <location line="+263"/> @@ -25079,7 +25092,7 @@ name <email> alias <email></source> <message> <location line="+10"/> <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 type="unfinished"></translation> + <translation>Nie można rozpocząć procesu Pdb. Brak programu "%1" albo brak wymaganych uprawnieÅ„ aby go uruchomić.</translation> </message> <message> <location line="+5"/> @@ -25104,7 +25117,7 @@ name <email> alias <email></source> <message> <location line="+3"/> <source>An unknown error in the Pdb process occurred. </source> - <translation type="unfinished"></translation> + <translation>WystÄ…piÅ‚ nieznany błąd w procesie Pdb.</translation> </message> </context> <context> @@ -25228,22 +25241,22 @@ name <email> alias <email></source> <message> <location line="+40"/> <source>Packaging Error: Cannot open file '%1'.</source> - <translation type="unfinished"></translation> + <translation>Błąd pakowania: Nie można otworzyć pliku "%1".</translation> </message> <message> <location line="+10"/> <source>Packaging Error: Cannot write file '%1'.</source> - <translation type="unfinished"></translation> + <translation>Błąd pakowania: Nie można zapisać pliku "%1".</translation> </message> <message> <location line="+13"/> <source>Packaging Error: Could not replace file '%1'.</source> - <translation type="unfinished"></translation> + <translation>Błąd pakowania: Nie można zastÄ…pić pliku "%1".</translation> </message> <message> <location line="+6"/> <source>Packaging Error: Could not copy '%1' to '%2'.</source> - <translation type="unfinished"></translation> + <translation>Błąd pakowania: Nie można skopiować pliku "%1" do "%2".</translation> </message> <message> <location line="+15"/> @@ -25258,7 +25271,7 @@ name <email> alias <email></source> <message> <location line="+8"/> <source>Packaging failed.</source> - <translation type="unfinished"></translation> + <translation>Błąd pakowania.</translation> </message> <message> <location line="+1"/> @@ -25268,7 +25281,7 @@ name <email> alias <email></source> <message> <location line="+4"/> <source>Packaging Error: Command '%1' failed.</source> - <translation type="unfinished"></translation> + <translation>Błąd pakowania: Komenda "%1" zakoÅ„czona błędem.</translation> </message> <message> <location line="+3"/> @@ -25330,7 +25343,7 @@ name <email> alias <email></source> <message> <location filename="../../../src/plugins/qt4projectmanager/qt-s60/s60devicespreferencepane.cpp" line="-277"/> <source>Default</source> - <translation type="unfinished"></translation> + <translation>DomyÅ›lne</translation> </message> <message> <location line="+1"/> @@ -25430,7 +25443,7 @@ name <email> alias <email></source> <message> <location filename="../qmldesigner/propertyeditor/Qt/emptyPane.qml" line="+38"/> <source>none or multiple items selected</source> - <translation type="unfinished"></translation> + <translation>nie zaznaczono lub zaznaczono wiele elementów</translation> </message> </context> <context> @@ -25448,7 +25461,7 @@ name <email> alias <email></source> <message> <location line="+10"/> <source>Only select items with content (S)</source> - <translation type="unfinished"></translation> + <translation>Wybierz tylko elementy z zawartoÅ›ciÄ… (S)</translation> </message> </context> <context> diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 0d16929749810d0472eca773d85e0f97c05625f6..ddc77365e5b77da92543cb1e70e8884b2e7419db 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -574,6 +574,17 @@ QString PluginManager::testDataDirectory() const return s; } +/*! + \fn void PluginManager::profilingReport(const char *what, const PluginSpec *spec = 0) + + Create a profiling entry showing the elapsed time if profiling is activated. +*/ + +void PluginManager::profilingReport(const char *what, const PluginSpec *spec) +{ + d->profilingReport(what, spec); +} + //============PluginManagerPrivate=========== /*! @@ -601,6 +612,7 @@ PluginSpecPrivate *PluginManagerPrivate::privateSpec(PluginSpec *spec) PluginManagerPrivate::PluginManagerPrivate(PluginManager *pluginManager) : extension(QLatin1String("xml")), m_profileElapsedMS(0), + m_profilingVerbosity(0), q(pluginManager) { } @@ -679,6 +691,13 @@ void PluginManagerPrivate::addObject(QObject *obj) if (debugLeaks) qDebug() << "PluginManagerPrivate::addObject" << obj << obj->objectName(); + if (m_profilingVerbosity && !m_profileTimer.isNull()) { + // Report a timestamp when adding an object. Useful for profiling + // its initialization time. + const int absoluteElapsedMS = m_profileTimer->elapsed(); + qDebug(" %-43s %8dms", obj->metaObject()->className(), absoluteElapsedMS); + } + allObjects.append(obj); } emit q->objectAdded(obj); @@ -954,6 +973,8 @@ void PluginManagerPrivate::initProfiling() m_profileTimer->start(); m_profileElapsedMS = 0; qDebug("Profiling started"); + } else { + m_profilingVerbosity++; } } @@ -966,7 +987,7 @@ void PluginManagerPrivate::profilingReport(const char *what, const PluginSpec *s if (spec) { qDebug("%-22s %-22s %8dms (%8dms)", what, qPrintable(spec->name()), absoluteElapsedMS, elapsedMS); } else { - qDebug("%-22s %8dms (%8dms)", what, absoluteElapsedMS, elapsedMS); + qDebug("%-45s %8dms (%8dms)", what, absoluteElapsedMS, elapsedMS); } } } diff --git a/src/libs/extensionsystem/pluginmanager.h b/src/libs/extensionsystem/pluginmanager.h index 23d011f07f83ea81a4db126f1f7f4b5f81929709..037308945e5801e2959df593a545405cb06bfe52 100644 --- a/src/libs/extensionsystem/pluginmanager.h +++ b/src/libs/extensionsystem/pluginmanager.h @@ -118,6 +118,8 @@ public: bool runningTests() const; QString testDataDirectory() const; + void profilingReport(const char *what, const PluginSpec *spec = 0); + signals: void objectAdded(QObject *obj); void aboutToRemoveObject(QObject *obj); diff --git a/src/libs/extensionsystem/pluginmanager_p.h b/src/libs/extensionsystem/pluginmanager_p.h index a29ac6b5efa2888561fb8384655a725fd7934e51..fe7ed3da44c9f79e9d74481e8f284b0f2906858f 100644 --- a/src/libs/extensionsystem/pluginmanager_p.h +++ b/src/libs/extensionsystem/pluginmanager_p.h @@ -85,6 +85,7 @@ public: QStringList arguments; QScopedPointer<QTime> m_profileTimer; int m_profileElapsedMS; + unsigned m_profilingVerbosity; // Look in argument descriptions of the specs for the option. PluginSpec *pluginForOption(const QString &option, bool *requiresArgument) const; diff --git a/src/libs/qmljs/qmljsbind.cpp b/src/libs/qmljs/qmljsbind.cpp index 00d90139bc03d55710745d911e94261dd4e91c13..b9dabcb3e853f3e5998dbc0f46d29fe21a290044 100644 --- a/src/libs/qmljs/qmljsbind.cpp +++ b/src/libs/qmljs/qmljsbind.cpp @@ -106,6 +106,11 @@ Interpreter::ObjectValue *Bind::findFunctionScope(AST::FunctionDeclaration *node return _functionScopes.value(node); } +bool Bind::isGroupedPropertyBinding(AST::Node *node) const +{ + return _groupedPropertyBindings.contains(node); +} + ObjectValue *Bind::switchObjectValue(ObjectValue *newObjectValue) { ObjectValue *oldObjectValue = _currentObjectValue; @@ -139,7 +144,6 @@ ExpressionNode *Bind::expression(UiScriptBinding *ast) const ObjectValue *Bind::bindObject(UiQualifiedId *qualifiedTypeNameId, UiObjectInitializer *initializer) { ObjectValue *parentObjectValue = 0; - const QString typeName = toString(qualifiedTypeNameId); // normal component instance ASTObjectValue *objectValue = new ASTObjectValue(qualifiedTypeNameId, initializer, _doc, &_engine); @@ -204,8 +208,20 @@ bool Bind::visit(UiPublicMember *) bool Bind::visit(UiObjectDefinition *ast) { - ObjectValue *value = bindObject(ast->qualifiedTypeNameId, ast->initializer); - _qmlObjects.insert(ast, value); + // an UiObjectDefinition may be used to group property bindings + // think anchors { ... } + bool isGroupedBinding = false; + for (UiQualifiedId *it = ast->qualifiedTypeNameId; it; it = it->next) { + if (!it->next) + isGroupedBinding = it->name->asString().at(0).isLower(); + } + + if (!isGroupedBinding) { + ObjectValue *value = bindObject(ast->qualifiedTypeNameId, ast->initializer); + _qmlObjects.insert(ast, value); + } else { + _groupedPropertyBindings.insert(ast); + } return false; } diff --git a/src/libs/qmljs/qmljsbind.h b/src/libs/qmljs/qmljsbind.h index 9de6f2709cca661416425f05beb8e8b83ea0a0da..ed9264e24292fb4d21f9d11922e69e537d2f61be 100644 --- a/src/libs/qmljs/qmljsbind.h +++ b/src/libs/qmljs/qmljsbind.h @@ -63,6 +63,7 @@ public: Interpreter::Context *context) const; Interpreter::ObjectValue *findFunctionScope(AST::FunctionDeclaration *node) const; + bool isGroupedPropertyBinding(AST::Node *node) const; static QString toString(AST::UiQualifiedId *qualifiedId, QChar delimiter = QChar('.')); @@ -100,6 +101,7 @@ private: Interpreter::ObjectValue *_rootObjectValue; QHash<AST::Node *, Interpreter::ObjectValue *> _qmlObjects; + QSet<AST::Node *> _groupedPropertyBindings; QHash<AST::FunctionDeclaration *, Interpreter::ObjectValue *> _functionScopes; QStringList _includedScripts; diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 564482d0a92b3c2a6f4a2713ce514920b93e54b1..ec4a1d981ac9f4779bd0fb4f17d7444c07f8c71b 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -1472,6 +1472,8 @@ const Value *Context::lookup(const QString &name) const ObjectValue *Context::lookupType(const QmlJS::Document *doc, UiQualifiedId *qmlTypeName) { const ObjectValue *objectValue = typeEnvironment(doc); + if (!objectValue) + return 0; for (UiQualifiedId *iter = qmlTypeName; objectValue && iter; iter = iter->next) { if (! iter->name) @@ -1490,6 +1492,8 @@ const ObjectValue *Context::lookupType(const QmlJS::Document *doc, UiQualifiedId const ObjectValue *Context::lookupType(const QmlJS::Document *doc, const QStringList &qmlTypeName) { const ObjectValue *objectValue = typeEnvironment(doc); + if (!objectValue) + return 0; foreach (const QString &name, qmlTypeName) { const Value *value = objectValue->property(name, this); diff --git a/src/libs/qmljs/qmljsscopebuilder.cpp b/src/libs/qmljs/qmljsscopebuilder.cpp index a90b0b9efce1e8ca95f326664225f98930682231..7a3bcfd86a588d4465a35f4586944f539d734d80 100644 --- a/src/libs/qmljs/qmljsscopebuilder.cpp +++ b/src/libs/qmljs/qmljsscopebuilder.cpp @@ -66,10 +66,24 @@ void ScopeBuilder::setQmlScopeObject(Node *node) { ScopeChain &scopeChain = _context->scopeChain(); - scopeChain.qmlScopeObjects.clear(); + if (_doc->bind()->isGroupedPropertyBinding(node)) { + UiObjectDefinition *definition = cast<UiObjectDefinition *>(node); + if (!definition) + return; + const Value *v = scopeObjectLookup(definition->qualifiedTypeNameId); + if (!v) + return; + const ObjectValue *object = v->asObjectValue(); + if (!object) + return; + + scopeChain.qmlScopeObjects.clear(); + scopeChain.qmlScopeObjects += object; + } const ObjectValue *scopeObject = _doc->bind()->findQmlObject(node); if (scopeObject) { + scopeChain.qmlScopeObjects.clear(); scopeChain.qmlScopeObjects += scopeObject; } else { return; // Probably syntax errors, where we're working with a "recovered" AST. @@ -130,3 +144,28 @@ void ScopeBuilder::setQmlScopeObject(Node *node) } } } + +const Value *ScopeBuilder::scopeObjectLookup(AST::UiQualifiedId *id) +{ + // do a name lookup on the scope objects + const Value *result = 0; + foreach (const ObjectValue *scopeObject, _context->scopeChain().qmlScopeObjects) { + const ObjectValue *object = scopeObject; + for (UiQualifiedId *it = id; it; it = it->next) { + result = object->property(it->name->asString(), _context); + if (!result) + break; + if (it->next) { + object = result->asObjectValue(); + if (!object) { + result = 0; + break; + } + } + } + if (result) + break; + } + + return result; +} diff --git a/src/libs/qmljs/qmljsscopebuilder.h b/src/libs/qmljs/qmljsscopebuilder.h index 6b433c749ff073730d2a1604fbd9aebaa7500844..34485039bf2ebcc2879adb131aa4baf4d3023bc5 100644 --- a/src/libs/qmljs/qmljsscopebuilder.h +++ b/src/libs/qmljs/qmljsscopebuilder.h @@ -13,6 +13,7 @@ namespace AST { namespace Interpreter { class Context; + class Value; } class QMLJS_EXPORT ScopeBuilder @@ -27,6 +28,7 @@ public: private: void setQmlScopeObject(AST::Node *node); + const Interpreter::Value *scopeObjectLookup(AST::UiQualifiedId *id); Document::Ptr _doc; Interpreter::Context *_context; diff --git a/src/plugins/coreplugin/coreconstants.h b/src/plugins/coreplugin/coreconstants.h index e3f82883a8557326321c89389e80a75847931295..c976cbef925c3e4f5461cd39ac8c571fdfb4535a 100644 --- a/src/plugins/coreplugin/coreconstants.h +++ b/src/plugins/coreplugin/coreconstants.h @@ -50,6 +50,12 @@ const char * const IDE_VERSION_LONG = IDE_VERSION; const char * const IDE_AUTHOR = "Nokia Corporation"; const char * const IDE_YEAR = "2010"; +#ifdef IDE_VERSION_DESCRIPTION +const char * const IDE_VERSION_DESCRIPTION_STR = STRINGIFY(IDE_VERSION_DESCRIPTION); +#else +const char * const IDE_VERSION_DESCRIPTION_STR = ""; +#endif + #ifdef IDE_REVISION const char * const IDE_REVISION_STR = STRINGIFY(IDE_REVISION); #else diff --git a/src/plugins/coreplugin/versiondialog.cpp b/src/plugins/coreplugin/versiondialog.cpp index c735e532bec9966467f648fabcdf22f5bab97f25..e92b81627294af83dffa766bdbaf3fbf923fe2d0 100644 --- a/src/plugins/coreplugin/versiondialog.cpp +++ b/src/plugins/coreplugin/versiondialog.cpp @@ -61,7 +61,11 @@ VersionDialog::VersionDialog(QWidget *parent) layout->setSizeConstraint(QLayout::SetFixedSize); QString version = QLatin1String(IDE_VERSION_LONG); - version += QDate(2007, 25, 10).toString(Qt::SystemLocaleDate); + + QString ideVersionDescription; +#ifdef IDE_VERSION_DESCRIPTION + ideVersionDescription = tr("(%1)").arg(QLatin1String(IDE_VERSION_DESCRIPTION_STR)); +#endif QString ideRev; #ifdef IDE_REVISION @@ -70,21 +74,23 @@ VersionDialog::VersionDialog(QWidget *parent) #endif const QString description = tr( - "<h3>Qt Creator %1</h3>" + "<h3>Qt Creator %1 %8</h3>" "Based on Qt %2 (%3 bit)<br/>" "<br/>" "Built on %4 at %5<br />" "<br/>" - "%8" + "%9" "<br/>" "Copyright 2008-%6 %7. All rights reserved.<br/>" "<br/>" "The program is provided AS IS with NO WARRANTY OF ANY KIND, " "INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A " "PARTICULAR PURPOSE.<br/>") - .arg(version, QLatin1String(QT_VERSION_STR), QString::number(QSysInfo::WordSize), + .arg(version, + QLatin1String(QT_VERSION_STR), QString::number(QSysInfo::WordSize), QLatin1String(__DATE__), QLatin1String(__TIME__), QLatin1String(IDE_YEAR), - (QLatin1String(IDE_AUTHOR)), ideRev); + (QLatin1String(IDE_AUTHOR)), ideVersionDescription, + ideRev); QLabel *copyRightLabel = new QLabel(description); copyRightLabel->setWordWrap(true); diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp index da9c11ed30e6e0730a9037e5f4762fdf1b81e18e..57528bf6f715070c0e9f61b2e63fa86ba8c5875a 100644 --- a/src/plugins/cppeditor/cppplugin.cpp +++ b/src/plugins/cppeditor/cppplugin.cpp @@ -215,16 +215,16 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess wizardParameters.setDisplayName(tr("C++ Class")); wizardParameters.setId(QLatin1String("A.Class")); wizardParameters.setKind(Core::IWizard::ClassWizard); - wizardParameters.setDescription(tr("Creates a header and a source file for a new class.")); + wizardParameters.setDescription(tr("Creates a C++ header and a source file for a new class that you can add to a C++ project.")); addAutoReleasedObject(new CppClassWizard(wizardParameters, core)); wizardParameters.setKind(Core::IWizard::FileWizard); - wizardParameters.setDescription(tr("Creates a C++ source file.")); + wizardParameters.setDescription(tr("Creates a C++ source file that you can add to a C++ project.")); wizardParameters.setDisplayName(tr("C++ Source File")); wizardParameters.setId(QLatin1String("B.Source")); addAutoReleasedObject(new CppFileWizard(wizardParameters, Source, core)); - wizardParameters.setDescription(tr("Creates a C++ header file.")); + wizardParameters.setDescription(tr("Creates a C++ header file that you can add to a C++ project.")); wizardParameters.setDisplayName(tr("C++ Header File")); wizardParameters.setId(QLatin1String("C.Header")); addAutoReleasedObject(new CppFileWizard(wizardParameters, Header, core)); diff --git a/src/plugins/cpptools/completionsettingspage.cpp b/src/plugins/cpptools/completionsettingspage.cpp index e001313e10a9b6824801bf3b2d61e02e41cadae1..ae1882b0093f0ad117792342d2140a473566a0f1 100644 --- a/src/plugins/cpptools/completionsettingspage.cpp +++ b/src/plugins/cpptools/completionsettingspage.cpp @@ -32,15 +32,15 @@ #include <coreplugin/icore.h> #include <extensionsystem/pluginmanager.h> +#include <texteditor/texteditorsettings.h> #include <QtCore/QTextStream> #include <QtCore/QCoreApplication> using namespace CppTools::Internal; -CompletionSettingsPage::CompletionSettingsPage(CppCodeCompletion *completion) - : m_completion(completion) - , m_page(new Ui_CompletionSettingsPage) +CompletionSettingsPage::CompletionSettingsPage() + : m_page(new Ui_CompletionSettingsPage) { } @@ -64,23 +64,27 @@ QWidget *CompletionSettingsPage::createPage(QWidget *parent) QWidget *w = new QWidget(parent); m_page->setupUi(w); + const TextEditor::CompletionSettings &settings = + TextEditor::TextEditorSettings::instance()->completionSettings(); + int caseSensitivityIndex = 0; - switch (m_completion->caseSensitivity()) { - case CppCodeCompletion::CaseSensitive: + switch (settings.m_caseSensitivity) { + case TextEditor::CaseSensitive: caseSensitivityIndex = 0; break; - case CppCodeCompletion::CaseInsensitive: + case TextEditor::CaseInsensitive: caseSensitivityIndex = 1; break; - case CppCodeCompletion::FirstLetterCaseSensitive: + case TextEditor::FirstLetterCaseSensitive: caseSensitivityIndex = 2; break; } m_page->caseSensitivity->setCurrentIndex(caseSensitivityIndex); - m_page->autoInsertBrackets->setChecked(m_completion->autoInsertBrackets()); - m_page->partiallyComplete->setChecked(m_completion->isPartialCompletionEnabled()); - m_page->spaceAfterFunctionName->setChecked(m_completion->isSpaceAfterFunctionName()); + m_page->autoInsertBrackets->setChecked(settings.m_autoInsertBrackets); + m_page->partiallyComplete->setChecked(settings.m_partiallyComplete); + m_page->spaceAfterFunctionName->setChecked(settings.m_spaceAfterFunctionName); + if (m_searchKeywords.isEmpty()) { QTextStream(&m_searchKeywords) << m_page->caseSensitivityLabel->text() << ' ' << m_page->autoInsertBrackets->text() @@ -88,15 +92,19 @@ QWidget *CompletionSettingsPage::createPage(QWidget *parent) << ' ' << m_page->spaceAfterFunctionName->text(); m_searchKeywords.remove(QLatin1Char('&')); } + return w; } void CompletionSettingsPage::apply() { - m_completion->setCaseSensitivity(caseSensitivity()); - m_completion->setAutoInsertBrackets(m_page->autoInsertBrackets->isChecked()); - m_completion->setPartialCompletionEnabled(m_page->partiallyComplete->isChecked()); - m_completion->setSpaceAfterFunctionName(m_page->spaceAfterFunctionName->isChecked()); + TextEditor::CompletionSettings settings; + settings.m_caseSensitivity = caseSensitivity(); + settings.m_autoInsertBrackets = m_page->autoInsertBrackets->isChecked(); + settings.m_partiallyComplete = m_page->partiallyComplete->isChecked(); + settings.m_spaceAfterFunctionName = m_page->spaceAfterFunctionName->isChecked(); + + TextEditor::TextEditorSettings::instance()->setCompletionSettings(settings); } bool CompletionSettingsPage::matches(const QString &s) const @@ -104,14 +112,14 @@ bool CompletionSettingsPage::matches(const QString &s) const return m_searchKeywords.contains(s, Qt::CaseInsensitive); } -CppCodeCompletion::CaseSensitivity CompletionSettingsPage::caseSensitivity() const +TextEditor::CaseSensitivity CompletionSettingsPage::caseSensitivity() const { switch (m_page->caseSensitivity->currentIndex()) { case 0: // Full - return CppCodeCompletion::CaseSensitive; + return TextEditor::CaseSensitive; case 1: // None - return CppCodeCompletion::CaseInsensitive; + return TextEditor::CaseInsensitive; default: // First letter - return CppCodeCompletion::FirstLetterCaseSensitive; + return TextEditor::FirstLetterCaseSensitive; } } diff --git a/src/plugins/cpptools/completionsettingspage.h b/src/plugins/cpptools/completionsettingspage.h index fe9b8477c39e3f52dbca11bf9f17aab834459d42..4221811ad63077985392eeded0f850c28e40514e 100644 --- a/src/plugins/cpptools/completionsettingspage.h +++ b/src/plugins/cpptools/completionsettingspage.h @@ -30,10 +30,9 @@ #ifndef COMPLETIONSETTINGSPAGE_H #define COMPLETIONSETTINGSPAGE_H +#include <texteditor/completionsettings.h> #include <texteditor/texteditoroptionspage.h> -#include "cppcodecompletion.h" - QT_BEGIN_NAMESPACE class Ui_CompletionSettingsPage; QT_END_NAMESPACE @@ -41,12 +40,14 @@ QT_END_NAMESPACE namespace CppTools { namespace Internal { +// TODO: Move this class to the text editor plugin + class CompletionSettingsPage : public TextEditor::TextEditorOptionsPage { Q_OBJECT public: - CompletionSettingsPage(CppCodeCompletion *completion); + CompletionSettingsPage(); ~CompletionSettingsPage(); QString id() const; @@ -58,9 +59,8 @@ public: virtual bool matches(const QString &) const; private: - CppCodeCompletion::CaseSensitivity caseSensitivity() const; + TextEditor::CaseSensitivity caseSensitivity() const; - CppCodeCompletion *m_completion; Ui_CompletionSettingsPage *m_page; QString m_searchKeywords; }; diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index 4edf10962465b6590cc8775f621eec23a5e3c5af..977fb4001a3c9fb3e75b6d6aa2d1090e0b60d986 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -57,6 +57,7 @@ #include <coreplugin/icore.h> #include <coreplugin/mimedatabase.h> #include <coreplugin/editormanager/editormanager.h> +#include <texteditor/completionsettings.h> #include <texteditor/itexteditor.h> #include <texteditor/itexteditable.h> #include <texteditor/basetexteditor.h> @@ -436,10 +437,6 @@ CppCodeCompletion::CppCodeCompletion(CppModelManager *manager) m_manager(manager), m_editor(0), m_startPosition(-1), - m_caseSensitivity(FirstLetterCaseSensitive), - m_autoInsertBrackets(true), - m_partialCompletionEnabled(true), - m_spaceAfterFunctionName(false), m_forcedCompletion(false), m_completionOperator(T_EOF_SYMBOL), m_objcEnabled(true) @@ -451,46 +448,6 @@ QIcon CppCodeCompletion::iconForSymbol(Symbol *symbol) const return m_icons.iconForSymbol(symbol); } -CppCodeCompletion::CaseSensitivity CppCodeCompletion::caseSensitivity() const -{ - return m_caseSensitivity; -} - -void CppCodeCompletion::setCaseSensitivity(CaseSensitivity caseSensitivity) -{ - m_caseSensitivity = caseSensitivity; -} - -bool CppCodeCompletion::autoInsertBrackets() const -{ - return m_autoInsertBrackets; -} - -void CppCodeCompletion::setAutoInsertBrackets(bool autoInsertBrackets) -{ - m_autoInsertBrackets = autoInsertBrackets; -} - -bool CppCodeCompletion::isPartialCompletionEnabled() const -{ - return m_partialCompletionEnabled; -} - -void CppCodeCompletion::setPartialCompletionEnabled(bool partialCompletionEnabled) -{ - m_partialCompletionEnabled = partialCompletionEnabled; -} - -bool CppCodeCompletion::isSpaceAfterFunctionName() const -{ - return m_spaceAfterFunctionName; -} - -void CppCodeCompletion::setSpaceAfterFunctionName(bool spaceAfterFunctionName) -{ - m_spaceAfterFunctionName = spaceAfterFunctionName; -} - /* Searches backwards for an access operator. */ @@ -1512,7 +1469,7 @@ void CppCodeCompletion::completions(QList<TextEditor::CompletionItem> *completio return; if (m_completionOperator != T_LPAREN) { - filter(m_completions, completions, key, m_caseSensitivity); + filter(m_completions, completions, key); } else if (m_completionOperator == T_LPAREN || m_completionOperator == T_SIGNAL || @@ -1590,7 +1547,9 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) //qDebug() << "current symbol:" << overview.prettyName(symbol->name()) //<< overview.prettyType(symbol->type()); - if (m_autoInsertBrackets && symbol && symbol->type()) { + const bool autoInsertBrackets = completionSettings().m_autoInsertBrackets; + + if (autoInsertBrackets && symbol && symbol->type()) { if (Function *function = symbol->type()->asFunctionType()) { // If the member is a function, automatically place the opening parenthesis, // except when it might take template parameters. @@ -1603,8 +1562,8 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) extraChars += QLatin1Char('<'); } } else if (! function->isAmbiguous()) { - if (m_spaceAfterFunctionName) - extraChars += QLatin1Char(' '); + if (completionSettings().m_spaceAfterFunctionName) + extraChars += QLatin1Char(' '); extraChars += QLatin1Char('('); // If the function doesn't return anything, automatically place the semicolon, @@ -1631,7 +1590,7 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) } } - if (m_autoInsertBrackets && item.data.canConvert<CompleteFunctionDeclaration>()) { + if (autoInsertBrackets && item.data.canConvert<CompleteFunctionDeclaration>()) { // everything from the closing parenthesis on are extra chars, to // make sure an auto-inserted ")" gets replaced by ") const" if necessary int closingParen = toInsert.lastIndexOf(QLatin1Char(')')); @@ -1667,7 +1626,7 @@ bool CppCodeCompletion::partiallyComplete(const QList<TextEditor::CompletionItem } else if (completionItems.count() == 1) { complete(completionItems.first()); return true; - } else if (m_partialCompletionEnabled && m_completionOperator != T_LPAREN) { + } else if (m_completionOperator != T_LPAREN) { return TextEditor::ICompletionCollector::partiallyComplete(completionItems); } diff --git a/src/plugins/cpptools/cppcodecompletion.h b/src/plugins/cpptools/cppcodecompletion.h index c2938a6726fe1e5087e79347292389a3961e5abd..6337ed5c9f2f3cd63418ff1ed17a5c6ec3cb6514 100644 --- a/src/plugins/cpptools/cppcodecompletion.h +++ b/src/plugins/cpptools/cppcodecompletion.h @@ -86,18 +86,6 @@ public: QIcon iconForSymbol(CPlusPlus::Symbol *symbol) const; - CaseSensitivity caseSensitivity() const; - void setCaseSensitivity(CaseSensitivity caseSensitivity); - - bool autoInsertBrackets() const; - void setAutoInsertBrackets(bool autoInsertBrackets); - - bool isPartialCompletionEnabled() const; - void setPartialCompletionEnabled(bool partialCompletionEnabled); - - bool isSpaceAfterFunctionName() const; - void setSpaceAfterFunctionName(bool spaceAfterFunctionName); - private: void addKeywords(); void addMacros(const QString &fileName, const CPlusPlus::Snapshot &snapshot); @@ -159,10 +147,6 @@ private: TextEditor::ITextEditable *m_editor; int m_startPosition; // Position of the cursor from which completion started - CaseSensitivity m_caseSensitivity; - bool m_autoInsertBrackets; - bool m_partialCompletionEnabled; - bool m_spaceAfterFunctionName; bool m_forcedCompletion; unsigned m_completionOperator; bool m_objcEnabled; diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index 19f986a8b98b0c17de2758eb2f8a46b5e57d627f..61173c8e5f6297834d064d71acf346da7014edf6 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -51,6 +51,7 @@ #include <coreplugin/progressmanager/progressmanager.h> #include <coreplugin/vcsmanager.h> #include <coreplugin/filemanager.h> +#include <texteditor/texteditorsettings.h> #include <cppeditor/cppeditorconstants.h> #include <QtCore/QtConcurrentRun> @@ -109,8 +110,8 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error) m_modelManager, SLOT(updateSourceFiles(QStringList))); addAutoReleasedObject(m_modelManager); - m_completion = new CppCodeCompletion(m_modelManager); - addAutoReleasedObject(m_completion); + CppCodeCompletion *completion = new CppCodeCompletion(m_modelManager); + addAutoReleasedObject(completion); CppLocatorFilter *locatorFilter = new CppLocatorFilter(m_modelManager, core->editorManager()); @@ -118,7 +119,7 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error) addAutoReleasedObject(new CppClassesFilter(m_modelManager, core->editorManager())); addAutoReleasedObject(new CppFunctionsFilter(m_modelManager, core->editorManager())); addAutoReleasedObject(new CppCurrentDocumentFilter(m_modelManager, core->editorManager())); - addAutoReleasedObject(new CompletionSettingsPage(m_completion)); + addAutoReleasedObject(new CompletionSettingsPage); addAutoReleasedObject(new CppFileSettingsPage(m_fileSettings)); // Menus @@ -139,17 +140,11 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error) mcpptools->addAction(command); connect(switchAction, SIGNAL(triggered()), this, SLOT(switchHeaderSource())); - // Restore settings - QSettings *settings = Core::ICore::instance()->settings(); - settings->beginGroup(QLatin1String("CppTools")); - settings->beginGroup(QLatin1String("Completion")); - const int caseSensitivity = settings->value(QLatin1String("CaseSensitivity"), m_completion->caseSensitivity()).toInt(); - m_completion->setCaseSensitivity((CppCodeCompletion::CaseSensitivity) caseSensitivity); - m_completion->setAutoInsertBrackets(settings->value(QLatin1String("AutoInsertBraces"), true).toBool()); - m_completion->setPartialCompletionEnabled(settings->value(QLatin1String("PartiallyComplete"), true).toBool()); - m_completion->setSpaceAfterFunctionName(settings->value(QLatin1String("SpaceAfterFunctionName"), false).toBool()); - settings->endGroup(); - settings->endGroup(); + // Set completion settings and keep them up to date + TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance(); + completion->setCompletionSettings(textEditorSettings->completionSettings()); + connect(textEditorSettings, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)), + completion, SLOT(setCompletionSettings(TextEditor::CompletionSettings))); return true; } @@ -170,16 +165,6 @@ void CppToolsPlugin::extensionsInitialized() void CppToolsPlugin::aboutToShutdown() { - // Save settings - QSettings *settings = Core::ICore::instance()->settings(); - settings->beginGroup(QLatin1String("CppTools")); - settings->beginGroup(QLatin1String("Completion")); - settings->setValue(QLatin1String("CaseSensitivity"), (int) m_completion->caseSensitivity()); - settings->setValue(QLatin1String("AutoInsertBraces"), m_completion->autoInsertBrackets()); - settings->setValue(QLatin1String("PartiallyComplete"), m_completion->isPartialCompletionEnabled()); - settings->setValue(QLatin1String("SpaceAfterFunctionName"), m_completion->isSpaceAfterFunctionName()); - settings->endGroup(); - settings->endGroup(); } void CppToolsPlugin::switchHeaderSource() diff --git a/src/plugins/cpptools/cpptoolsplugin.h b/src/plugins/cpptools/cpptoolsplugin.h index c5b82982ca3ab1417dc4722453672213ffe57d6e..ff4aa9ce81f88070086e048c8b66556dffb260c9 100644 --- a/src/plugins/cpptools/cpptoolsplugin.h +++ b/src/plugins/cpptools/cpptoolsplugin.h @@ -50,7 +50,6 @@ QT_END_NAMESPACE namespace CppTools { namespace Internal { -class CppCodeCompletion; class CppModelManager; struct CppFileSettings; @@ -79,7 +78,6 @@ private: int m_context; CppModelManager *m_modelManager; - CppCodeCompletion *m_completion; QSharedPointer<CppFileSettings> m_fileSettings; static CppToolsPlugin *m_instance; diff --git a/src/plugins/cvs/checkoutwizard.cpp b/src/plugins/cvs/checkoutwizard.cpp index c999d314085140c1a554bb8acbccc133fc1c3030..ed70c63c66803367d2e18b30d8e80caa50bbf396 100644 --- a/src/plugins/cvs/checkoutwizard.cpp +++ b/src/plugins/cvs/checkoutwizard.cpp @@ -53,7 +53,7 @@ QIcon CheckoutWizard::icon() const QString CheckoutWizard::description() const { - return tr("Checks out a project from a CVS repository."); + return tr("Checks out a project from a CVS repository and tries to load the contained project."); } QString CheckoutWizard::displayName() const diff --git a/src/plugins/debugger/cdb/cdbdebugengine.cpp b/src/plugins/debugger/cdb/cdbdebugengine.cpp index a77383e17d1a1764c6bd8352b72f2148789298f2..16548f9146e916b8040b78e47ec350c5e732f954 100644 --- a/src/plugins/debugger/cdb/cdbdebugengine.cpp +++ b/src/plugins/debugger/cdb/cdbdebugengine.cpp @@ -1584,11 +1584,12 @@ IDebuggerEngine *createCdbEngine(DebuggerManager *parent, // Create engine QString errorMessage; IDebuggerEngine *engine = CdbDebugEngine::create(parent, options, &errorMessage); - if (!engine) { + if (engine) { + QObject::connect(optionsPage, SIGNAL(debuggerPathsChanged()), engine, SLOT(syncDebuggerPaths())); + } else { optionsPage->setFailureMessage(errorMessage); qWarning("%s\n" ,qPrintable(errorMessage)); } - QObject::connect(optionsPage, SIGNAL(debuggerPathsChanged()), engine, SLOT(syncDebuggerPaths())); return engine; } diff --git a/src/plugins/designer/formeditorplugin.cpp b/src/plugins/designer/formeditorplugin.cpp index b02f0aca7403ad551b7b90c1bc97cdaa32534266..6eb8bd8d47f983fc90a9e60f2ac29809e4818198 100644 --- a/src/plugins/designer/formeditorplugin.cpp +++ b/src/plugins/designer/formeditorplugin.cpp @@ -129,14 +129,16 @@ void FormEditorPlugin::initializeTemplates() const QString formFileType = QLatin1String(Constants::FORM_FILE_TYPE); wizardParameters.setDisplayName(tr("Qt Designer Form")); wizardParameters.setId(QLatin1String("D.Form")); - wizardParameters.setDescription(tr("Creates a Qt Designer form file (.ui).")); + wizardParameters.setDescription(tr("Creates a Qt Designer form along with a matching class (C++ header and source file) " + "for implementation purposes. You can add the form and class to an existing Qt C++ Project.")); addAutoReleasedObject(new FormWizard(wizardParameters, this)); #ifdef CPP_ENABLED wizardParameters.setKind(Core::IWizard::ClassWizard); wizardParameters.setDisplayName(tr("Qt Designer Form Class")); wizardParameters.setId(QLatin1String("C.FormClass")); - wizardParameters.setDescription(tr("Creates a Qt Designer form file (.ui) with a matching class.")); + wizardParameters.setDescription(tr("Creates a Qt Designer form that you can add to a Qt C++ project. " + "This is useful if you already have an existing class for the UI business logic.")); addAutoReleasedObject(new FormClassWizard(wizardParameters, this)); addAutoReleasedObject(new CppSettingsPage); #endif diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp index 4d6b33655fea5d908843ef3d664de87d0a48a441..25eea3fb5a7c9a7232e94b16b10ca935e108dd35 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp +++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp @@ -96,7 +96,8 @@ Core::BaseFileWizardParameters GenericProjectWizard::parameters() parameters.setIcon(QIcon(QLatin1String(":/wizards/images/console.png"))); parameters.setDisplayName(tr("Import Existing Project")); parameters.setId(QLatin1String("Z.Makefile")); - parameters.setDescription(tr("Creates a generic project, supporting any build system.")); + parameters.setDescription(tr("Imports existing projects that do not use qmake or CMake. " + "This allows you to use Qt Creator as a code editor.")); parameters.setCategory(QLatin1String(ProjectExplorer::Constants::PROJECT_WIZARD_CATEGORY)); parameters.setDisplayCategory(QCoreApplication::translate("ProjectExplorer", ProjectExplorer::Constants::PROJECT_WIZARD_TR_CATEGORY)); return parameters; diff --git a/src/plugins/git/clonewizard.cpp b/src/plugins/git/clonewizard.cpp index 63d7c6c578c006948c7569178b481671438a3da2..60c9c13289bbe9428adcff10c3bef63cedc17589 100644 --- a/src/plugins/git/clonewizard.cpp +++ b/src/plugins/git/clonewizard.cpp @@ -52,7 +52,7 @@ QIcon CloneWizard::icon() const QString CloneWizard::description() const { - return tr("Clones a project from a git repository."); + return tr("Clones a project from a Git repository and tries to load the contained project."); } QString CloneWizard::displayName() const diff --git a/src/plugins/git/gitorious/gitoriousclonewizard.cpp b/src/plugins/git/gitorious/gitoriousclonewizard.cpp index de0eaec39c5237c2a3f5f570e1ee35fddced0982..46a7efab9b8e484dbe2349492db7772091071471 100644 --- a/src/plugins/git/gitorious/gitoriousclonewizard.cpp +++ b/src/plugins/git/gitorious/gitoriousclonewizard.cpp @@ -80,7 +80,7 @@ QIcon GitoriousCloneWizard::icon() const QString GitoriousCloneWizard::description() const { - return tr("Clones a project from a Gitorious repository."); + return tr("Clones a project from a Gitorious repository and tries to load the contained project."); } QString GitoriousCloneWizard::displayName() const diff --git a/src/plugins/mercurial/clonewizard.cpp b/src/plugins/mercurial/clonewizard.cpp index 1753af17fd39737c72ce7076825a6554c80e9b57..2013d72d34ae580500ea64208cd3afe8e2fcc11b 100644 --- a/src/plugins/mercurial/clonewizard.cpp +++ b/src/plugins/mercurial/clonewizard.cpp @@ -53,7 +53,7 @@ QIcon CloneWizard::icon() const QString CloneWizard::description() const { - return tr("Clone a Mercurial repository"); + return tr("Clones a Mercurial repository and tries to load the contained project."); } QString CloneWizard::displayName() const diff --git a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp index a32ea9b7190548c7d0c0f737855910583cc5e1a1..58f0b89ace64ffbf1462cba853291c2b27113ec1 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp @@ -389,7 +389,7 @@ void ColorBox::mouseMoveEvent(QMouseEvent *e) void GradientLine::setItemNode(const QVariant &itemNode) { - if (!itemNode.value<ModelNode>().isValid() || !QmlItemNode(itemNode.value<ModelNode>()).hasNodeParent()) + if (!itemNode.value<ModelNode>().isValid()) return; m_itemNode = itemNode.value<ModelNode>(); setup(); @@ -442,6 +442,8 @@ void GradientLine::setActiveColor(const QColor &newColor) void GradientLine::setupGradient() { ModelNode modelNode = m_itemNode.modelNode(); + if (!modelNode.isValid()) + return; m_colorList.clear(); m_stops.clear(); diff --git a/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp b/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp index d087c727bc40b3140eb0256256111e549cf57e94..b5a5450bf3764792bf023d1a35340e2663ec42e1 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp @@ -74,7 +74,7 @@ void QmlAnchorBindingProxy::setup(const QmlItemNode &fxItemNode) if (horizontalCentered()) m_horizontalTarget = m_fxItemNode.anchors().instanceAnchor(AnchorLine::HorizontalCenter).qmlItemNode(); - + emit itemNodeChanged(); emit parentChanged(); emit topAnchorChanged(); emit bottomAnchorChanged(); diff --git a/src/plugins/qmljseditor/qmljscodecompletion.cpp b/src/plugins/qmljseditor/qmljscodecompletion.cpp index aae8b16863bacd34d8b44cdcc7ad806761683285..b9e7bbbfdc0a6bf8e89356a7db0a9099cf5d069c 100644 --- a/src/plugins/qmljseditor/qmljscodecompletion.cpp +++ b/src/plugins/qmljseditor/qmljscodecompletion.cpp @@ -477,8 +477,7 @@ CodeCompletion::CodeCompletion(ModelManagerInterface *modelManager, QObject *par : TextEditor::ICompletionCollector(parent), m_modelManager(modelManager), m_editor(0), - m_startPosition(0), - m_caseSensitivity(Qt::CaseSensitive) + m_startPosition(0) { Q_ASSERT(modelManager); } @@ -486,12 +485,6 @@ CodeCompletion::CodeCompletion(ModelManagerInterface *modelManager, QObject *par CodeCompletion::~CodeCompletion() { } -Qt::CaseSensitivity CodeCompletion::caseSensitivity() const -{ return m_caseSensitivity; } - -void CodeCompletion::setCaseSensitivity(Qt::CaseSensitivity caseSensitivity) -{ m_caseSensitivity = caseSensitivity; } - TextEditor::ITextEditable *CodeCompletion::editor() const { return m_editor; } @@ -637,7 +630,7 @@ int CodeCompletion::startCompletion(TextEditor::ITextEditable *editor) // Set up the current scope chain. QList<AST::Node *> astPath = semanticInfo.astPath(editor->position()); - context.build(astPath , document, snapshot, m_modelManager->importPaths()); + context.build(astPath, document, snapshot, m_modelManager->importPaths()); // Search for the operator that triggered the completion. QChar completionOperator; @@ -854,7 +847,7 @@ void CodeCompletion::completions(QList<TextEditor::CompletionItem> *completions) else if (length > 0) { const QString key = m_editor->textAt(m_startPosition, length); - filter(m_completions, completions, key, FirstLetterCaseSensitive); + filter(m_completions, completions, key); if (completions->size() == 1) { if (key == completions->first().text) diff --git a/src/plugins/qmljseditor/qmljscodecompletion.h b/src/plugins/qmljseditor/qmljscodecompletion.h index aa5b19044ca1f4aeebdb6a9d7a81e7b1fe795134..7129bce9007d0c114effd61df54e7add5ad48dcb 100644 --- a/src/plugins/qmljseditor/qmljscodecompletion.h +++ b/src/plugins/qmljseditor/qmljscodecompletion.h @@ -55,9 +55,6 @@ public: CodeCompletion(ModelManagerInterface *modelManager, QObject *parent = 0); virtual ~CodeCompletion(); - Qt::CaseSensitivity caseSensitivity() const; - void setCaseSensitivity(Qt::CaseSensitivity caseSensitivity); - virtual TextEditor::ITextEditable *editor() const; virtual int startPosition() const; virtual bool shouldRestartCompletion(); @@ -81,7 +78,6 @@ private: TextEditor::ITextEditable *m_editor; int m_startPosition; QList<TextEditor::CompletionItem> m_completions; - Qt::CaseSensitivity m_caseSensitivity; QList<TextEditor::CompletionItem> m_snippets; QDateTime m_snippetFileLastModified; diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp index a2b005f416ea5b269859362252495bd9d344bd0f..f998309ac172fb3dd971b8039cbaeb6c89599ac7 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.cpp +++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp @@ -77,8 +77,7 @@ QmlJSEditorPlugin::QmlJSEditorPlugin() : m_modelManager(0), m_wizard(0), m_editor(0), - m_actionHandler(0), - m_completion(0) + m_actionHandler(0) { m_instance = this; } @@ -148,19 +147,16 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e cmd = am->command(TextEditor::Constants::UN_COMMENT_SELECTION); contextMenu->addAction(cmd); - m_completion = new CodeCompletion(m_modelManager); - addAutoReleasedObject(m_completion); + CodeCompletion *completion = new CodeCompletion(m_modelManager); + addAutoReleasedObject(completion); - addAutoReleasedObject(new HoverHandler()); + addAutoReleasedObject(new HoverHandler); - // Restore settings - QSettings *settings = Core::ICore::instance()->settings(); - settings->beginGroup(QLatin1String("CppTools")); // ### FIXME: - settings->beginGroup(QLatin1String("Completion")); - const bool caseSensitive = settings->value(QLatin1String("CaseSensitive"), true).toBool(); - m_completion->setCaseSensitivity(caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive); - settings->endGroup(); - settings->endGroup(); + // Set completion settings and keep them up to date + TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance(); + completion->setCompletionSettings(textEditorSettings->completionSettings()); + connect(textEditorSettings, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)), + completion, SLOT(setCompletionSettings(TextEditor::CompletionSettings))); error_message->clear(); diff --git a/src/plugins/qmljseditor/qmljseditorplugin.h b/src/plugins/qmljseditor/qmljseditorplugin.h index b119e554d0a06a661bddb3f2111cc6e58936e589..db534f0f290faad17c0da689cb871a369c26eed4 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.h +++ b/src/plugins/qmljseditor/qmljseditorplugin.h @@ -52,7 +52,6 @@ class QmlFileWizard; namespace Internal { class QmlJSEditorFactory; -class CodeCompletion; class QmlJSTextEditor; class QmlJSPreviewRunner; @@ -92,7 +91,6 @@ private: QmlFileWizard *m_wizard; QmlJSEditorFactory *m_editor; TextEditor::TextEditorActionHandler *m_actionHandler; - CodeCompletion *m_completion; }; } // namespace Internal diff --git a/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp b/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp index d52bec61b3af4428c7e6f49564731d15a5d0ac58..30215eb12d0774e7b9cfb21d485c3d9b081b26d8 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp @@ -61,7 +61,8 @@ Core::BaseFileWizardParameters QmlProjectApplicationWizard::parameters() parameters.setIcon(QIcon(QLatin1String(":/wizards/images/console.png"))); parameters.setDisplayName(tr("Qt QML Application")); parameters.setId(QLatin1String("QA.QML Application")); - parameters.setDescription(tr("Creates a Qt QML application.")); + parameters.setDescription(tr("Creates a Qt QML application project with a single QML file containing the main view.\n\n" + "QML application projects are executed through the QML runtime and do not need to be built.")); parameters.setCategory(QLatin1String(Constants::QML_WIZARD_CATEGORY)); parameters.setDisplayCategory(QCoreApplication::translate(Constants::QML_WIZARD_TR_SCOPE, Constants::QML_WIZARD_TR_CATEGORY)); diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index b658c96b79376b753390395fb3bb3458d93506b3..4bb885f580276d24a23747cc2e98572e9a1e84fd 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -627,16 +627,6 @@ bool QtVersion::supportsShadowBuilds() const // We can not support shadow building with the ABLD system return false; } - if (targets.contains(Constants::MAEMO_DEVICE_TARGET_ID)) { -#if defined(Q_OS_WIN) - // qmake -unix fails with shadow building on windows - return false; -#else - // ... but works fine anywhere else - return true; -#endif - } - return true; } diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp index 11f313b8292dae6e63ce1c8f491c4aad7e43de78..d12e3f0e0b9855f5bafb6e3703e65ecfdcc5f2a3 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp @@ -57,7 +57,8 @@ ConsoleAppWizard::ConsoleAppWizard() QLatin1String(Constants::QT_APP_WIZARD_TR_SCOPE), QLatin1String(Constants::QT_APP_WIZARD_TR_CATEGORY), tr("Qt Console Application"), - tr("Creates a Qt console application."), + tr("Creates a project containing a single main.cpp file with a stub implementation.\n\n" + "Preselects a desktop Qt for building the application if available."), QIcon(QLatin1String(":/wizards/images/console.png"))) { } diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp index a8c9c5c53327336a6ee9a879e40d943f6c39cc10..63cbf6fe07d22d0f2c49df67f05bed3eecd61237 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp @@ -44,7 +44,8 @@ EmptyProjectWizard::EmptyProjectWizard() QLatin1String(ProjectExplorer::Constants::PROJECT_WIZARD_TR_SCOPE), QLatin1String(ProjectExplorer::Constants::PROJECT_WIZARD_TR_CATEGORY), tr("Empty Qt Project"), - tr("Creates an empty Qt project."), + tr("Creates a qmake-based project without any files. This allows you to create " + "an application without any default classes."), QIcon(QLatin1String(":/wizards/images/gui.png"))) { } diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp index 92bbb1a33834267fe34b3d460efd3f8a3a5c725f..a112fb13ae50c66c36cc37dcf8069bf653fb48b9 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp @@ -81,7 +81,9 @@ GuiAppWizard::GuiAppWizard() QLatin1String(Constants::QT_APP_WIZARD_TR_SCOPE), QLatin1String(Constants::QT_APP_WIZARD_TR_CATEGORY), tr("Qt Gui Application"), - tr("Creates a Qt Gui Application with one form."), + tr("Creates a Qt application for the desktop. " + "Includes a Qt Designer-based main window.\n\n" + "Preselects a desktop Qt for building the application if available."), QIcon(QLatin1String(":/wizards/images/gui.png"))), m_createMobileProject(false) { diff --git a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp index 65e115c1e1fc0ff964570b57a95ff46c299f7318..39eede1791cca2cebce8f2d8a4860c04ac3032f6 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp @@ -53,7 +53,9 @@ LibraryWizard::LibraryWizard() QLatin1String(ProjectExplorer::Constants::PROJECT_WIZARD_TR_SCOPE), QLatin1String(ProjectExplorer::Constants::PROJECT_WIZARD_TR_CATEGORY), tr("C++ Library"), - tr("Creates a Qt based C++ Library."), + tr("Creates a C++ library based on qmake. This can be used to create:<ul>" + "<li>a shared C++ library for use with <tt>QPluginLoader</tt> and runtime (Plugins)</li>" + "<li>a shared or static C++ library for use with another project at linktime</li></ul>."), QIcon(QLatin1String(":/wizards/images/lib.png"))) { } diff --git a/src/plugins/qt4projectmanager/wizards/mobileguiappwizard.cpp b/src/plugins/qt4projectmanager/wizards/mobileguiappwizard.cpp index e5815ec139596bc7fd01deda90afa5fd17694f07..0d5d1bcc6a90240da6e1b79f8b34e80eb04997bc 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileguiappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/mobileguiappwizard.cpp @@ -42,7 +42,9 @@ MobileGuiAppWizard::MobileGuiAppWizard() : QLatin1String(Constants::QT_APP_WIZARD_TR_SCOPE), QLatin1String(Constants::QT_APP_WIZARD_TR_CATEGORY), tr("Mobile Qt Application"), - tr("Creates a mobile Qt Gui Application with one form."), + tr("Creates a Qt application optimized for mobile devices " + "with a Qt Designer-based main window.\n\n" + "Preselects Qt for Simulator and mobile targets if available"), QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png")), true) { diff --git a/src/plugins/qt4projectmanager/wizards/testwizard.cpp b/src/plugins/qt4projectmanager/wizards/testwizard.cpp index 33223db97b737cf904135eb5cf695507639779ec..55b3e21ae84213241105b958f0ef5b5fff8242a8 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/testwizard.cpp @@ -49,7 +49,9 @@ TestWizard::TestWizard() : QLatin1String(ProjectExplorer::Constants::PROJECT_WIZARD_TR_SCOPE), QLatin1String(ProjectExplorer::Constants::PROJECT_WIZARD_TR_CATEGORY), tr("Qt Unit Test"), - tr("Creates a Qt Unit Test."), + tr("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."), QIcon(QLatin1String(":/wizards/images/console.png"))) { } diff --git a/src/plugins/resourceeditor/resourceeditorplugin.cpp b/src/plugins/resourceeditor/resourceeditorplugin.cpp index e9c67cf254d8207c2cf92c474ad72b34342a70ae..2638df860b84d5e56345742add2b93f09e79b642 100644 --- a/src/plugins/resourceeditor/resourceeditorplugin.cpp +++ b/src/plugins/resourceeditor/resourceeditorplugin.cpp @@ -75,7 +75,7 @@ bool ResourceEditorPlugin::initialize(const QStringList &arguments, QString *err addObject(m_editor); Core::BaseFileWizardParameters wizardParameters(Core::IWizard::FileWizard); - wizardParameters.setDescription(tr("Creates a Qt Resource file (.qrc).")); + wizardParameters.setDescription(tr("Creates a Qt Resource file (.qrc) that you can add to a Qt C++ project.")); wizardParameters.setDisplayName(tr("Qt Resource file")); wizardParameters.setId(QLatin1String("F.Resource")); wizardParameters.setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT)); diff --git a/src/plugins/subversion/checkoutwizard.cpp b/src/plugins/subversion/checkoutwizard.cpp index 5c3392e36917c796eb852719f052d8156db06681..dbe355b813b7500531e7436008860f47b07b8499 100644 --- a/src/plugins/subversion/checkoutwizard.cpp +++ b/src/plugins/subversion/checkoutwizard.cpp @@ -53,7 +53,7 @@ QIcon CheckoutWizard::icon() const QString CheckoutWizard::description() const { - return tr("Checks out a project from a Subversion repository."); + return tr("Checks out a project from a Subversion repository and tries to load the contained project."); } QString CheckoutWizard::displayName() const diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 4964ec634b428b436afe72375530f8739b0b83fc..413011f9c34d9aa24f9091728fbad15add497bc6 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -34,6 +34,7 @@ #include "basetexteditor_p.h" #include "behaviorsettings.h" #include "codecselector.h" +#include "completionsettings.h" #include "completionsupport.h" #include "tabsettings.h" #include "texteditorconstants.h" @@ -179,7 +180,7 @@ static void convertToPlainText(QString &txt) BaseTextEditor::BaseTextEditor(QWidget *parent) : QPlainTextEdit(parent) { - d = new BaseTextEditorPrivate(); + d = new BaseTextEditorPrivate; d->q = this; d->m_extraArea = new TextEditExtraArea(this); d->m_extraArea->setMouseTracking(true); @@ -195,8 +196,6 @@ BaseTextEditor::BaseTextEditor(QWidget *parent) d->m_lastScrollPos = -1; setCursorWidth(2); - d->m_allowSkippingOfBlockEnd = false; - // from RESEARCH setLayoutDirection(Qt::LeftToRight); @@ -221,7 +220,6 @@ BaseTextEditor::BaseTextEditor(QWidget *parent) // parentheses matcher - d->m_parenthesesMatchingEnabled = false; d->m_formatRange = true; d->m_matchFormat.setForeground(Qt::red); d->m_rangeFormat.setBackground(QColor(0xb4, 0xee, 0xb4)); @@ -1709,6 +1707,16 @@ bool BaseTextEditor::isParenthesesMatchingEnabled() const return d->m_parenthesesMatchingEnabled; } +void BaseTextEditor::setAutoParenthesesEnabled(bool b) +{ + d->m_autoParenthesesEnabled = b; +} + +bool BaseTextEditor::isAutoParenthesesEnabled() const +{ + return d->m_autoParenthesesEnabled; +} + void BaseTextEditor::setHighlightCurrentLine(bool b) { d->m_highlightCurrentLine = b; @@ -1837,8 +1845,10 @@ BaseTextEditorPrivate::BaseTextEditorPrivate() : m_contentsChanged(false), m_lastCursorChangeWasInteresting(false), - m_document(new BaseTextDocument()), + m_allowSkippingOfBlockEnd(false), + m_document(new BaseTextDocument), m_parenthesesMatchingEnabled(false), + m_autoParenthesesEnabled(true), m_extraArea(0), m_mouseOnCollapsedMarker(false), m_marksVisible(false), @@ -3889,13 +3899,16 @@ QString BaseTextEditor::autoComplete(QTextCursor &cursor, const QString &textToI const bool checkBlockEnd = d->m_allowSkippingOfBlockEnd; d->m_allowSkippingOfBlockEnd = false; // consume blockEnd. + if (!d->m_autoParenthesesEnabled) + return QString(); + if (!contextAllowsAutoParentheses(cursor, textToInsert)) return QString(); const QString text = textToInsert; const QChar lookAhead = characterAt(cursor.selectionEnd()); - QChar character = textToInsert.at(0); + const QChar character = textToInsert.at(0); const QString parentheses = QLatin1String("()"); const QString brackets = QLatin1String("[]"); if (parentheses.contains(character) || brackets.contains(character)) { @@ -3950,17 +3963,20 @@ bool BaseTextEditor::autoBackspace(QTextCursor &cursor) { d->m_allowSkippingOfBlockEnd = false; + if (!d->m_autoParenthesesEnabled) + return false; + int pos = cursor.position(); if (pos == 0) return false; QTextCursor c = cursor; c.setPosition(pos - 1); - QChar lookAhead = characterAt(pos); - QChar lookBehind = characterAt(pos-1); - QChar lookFurtherBehind = characterAt(pos-2); + const QChar lookAhead = characterAt(pos); + const QChar lookBehind = characterAt(pos - 1); + const QChar lookFurtherBehind = characterAt(pos - 2); - QChar character = lookBehind; + const QChar character = lookBehind; if (character == QLatin1Char('(') || character == QLatin1Char('[')) { QTextCursor tmp = cursor; TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tmp); @@ -4005,7 +4021,10 @@ bool BaseTextEditor::autoBackspace(QTextCursor &cursor) int BaseTextEditor::paragraphSeparatorAboutToBeInserted(QTextCursor &cursor) { - if (characterAt(cursor.position()-1) != QLatin1Char('{')) + if (!d->m_autoParenthesesEnabled) + return 0; + + if (characterAt(cursor.position() - 1) != QLatin1Char('{')) return 0; if (!contextAllowsAutoParentheses(cursor)) @@ -4908,6 +4927,11 @@ void BaseTextEditor::setStorageSettings(const StorageSettings &storageSettings) d->m_document->setStorageSettings(storageSettings); } +void BaseTextEditor::setCompletionSettings(const TextEditor::CompletionSettings &completionSettings) +{ + setAutoParenthesesEnabled(completionSettings.m_autoInsertBrackets); +} + void BaseTextEditor::collapse() { QTextDocument *doc = document(); diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index fed0d251d59055d1638962b3c56d9d42cef147c1..967543a61945ee0f1088bb8e112a642c3cbb74ed 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -59,6 +59,7 @@ class BaseTextDocument; class BaseTextEditorEditable; class FontSettings; struct BehaviorSettings; +struct CompletionSettings; struct DisplaySettings; struct StorageSettings; struct TabSettings; @@ -160,13 +161,15 @@ public: void setParenthesesMatchingEnabled(bool b); bool isParenthesesMatchingEnabled() const; + void setAutoParenthesesEnabled(bool b); + bool isAutoParenthesesEnabled() const; + void setHighlightCurrentLine(bool b); bool highlightCurrentLine() const; void setLineNumbersVisible(bool b); bool lineNumbersVisible() const; - void setMarksVisible(bool b); bool marksVisible() const; @@ -366,6 +369,7 @@ public slots: virtual void setDisplaySettings(const TextEditor::DisplaySettings &); virtual void setBehaviorSettings(const TextEditor::BehaviorSettings &); virtual void setStorageSettings(const TextEditor::StorageSettings &); + virtual void setCompletionSettings(const TextEditor::CompletionSettings &); protected: bool viewportEvent(QEvent *event); diff --git a/src/plugins/texteditor/basetexteditor_p.h b/src/plugins/texteditor/basetexteditor_p.h index cd8eb7c3d1ecd9cd27f01350fe442c158b85fd57..784d95fd9e1076a9bad8296d26e8261812d9452b 100644 --- a/src/plugins/texteditor/basetexteditor_p.h +++ b/src/plugins/texteditor/basetexteditor_p.h @@ -265,7 +265,6 @@ public: int m_cursorBlockNumber; bool m_inKeyPressEvent; - }; } // namespace Internal diff --git a/src/plugins/texteditor/completionsettings.cpp b/src/plugins/texteditor/completionsettings.cpp new file mode 100644 index 0000000000000000000000000000000000000000..0d800da3b32dc4f0bafd106061050d9c01ec8d01 --- /dev/null +++ b/src/plugins/texteditor/completionsettings.cpp @@ -0,0 +1,86 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** Commercial Usage +** +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** 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. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at http://qt.nokia.com/contact. +** +**************************************************************************/ + +#include "completionsettings.h" + +#include <QtCore/QSettings> + +static const char * const groupPostfix = "Completion"; +static const char * const caseSensitivityKey = "CaseSensitivity"; +static const char * const autoInsertBracesKey = "AutoInsertBraces"; +static const char * const partiallyCompleteKey = "PartiallyComplete"; +static const char * const spaceAfterFunctionNameKey = "SpaceAfterFunctionName"; + +using namespace TextEditor; + +CompletionSettings::CompletionSettings() + : m_caseSensitivity(FirstLetterCaseSensitive) + , m_autoInsertBrackets(true) + , m_partiallyComplete(true) + , m_spaceAfterFunctionName(false) +{ +} + +void CompletionSettings::toSettings(const QString &category, QSettings *s) const +{ + QString group = QLatin1String(groupPostfix); + if (!category.isEmpty()) + group.insert(0, category); + + s->beginGroup(group); + s->setValue(QLatin1String(caseSensitivityKey), (int) m_caseSensitivity); + s->setValue(QLatin1String(autoInsertBracesKey), m_autoInsertBrackets); + s->setValue(QLatin1String(partiallyCompleteKey), m_partiallyComplete); + s->setValue(QLatin1String(spaceAfterFunctionNameKey), m_spaceAfterFunctionName); + s->endGroup(); +} + +void CompletionSettings::fromSettings(const QString &category, const QSettings *s) +{ + QString group = QLatin1String(groupPostfix); + if (!category.isEmpty()) + group.insert(0, category); + group += QLatin1Char('/'); + + *this = CompletionSettings(); // Assign defaults + + m_caseSensitivity = (CaseSensitivity) s->value(group + QLatin1String(caseSensitivityKey), m_caseSensitivity).toInt(); + m_autoInsertBrackets = s->value(group + QLatin1String(autoInsertBracesKey), m_autoInsertBrackets).toBool(); + m_partiallyComplete = s->value(group + QLatin1String(partiallyCompleteKey), m_partiallyComplete).toBool(); + m_spaceAfterFunctionName = s->value(group + QLatin1String(spaceAfterFunctionNameKey), m_spaceAfterFunctionName).toBool(); +} + +bool CompletionSettings::equals(const CompletionSettings &cs) const +{ + return m_caseSensitivity == cs.m_caseSensitivity + && m_autoInsertBrackets == cs.m_autoInsertBrackets + && m_partiallyComplete == cs.m_partiallyComplete + && m_spaceAfterFunctionName == cs.m_spaceAfterFunctionName + ; +} diff --git a/src/plugins/texteditor/completionsettings.h b/src/plugins/texteditor/completionsettings.h new file mode 100644 index 0000000000000000000000000000000000000000..0d35abf9bb32638e9572b4009e57e12d88eeb83e --- /dev/null +++ b/src/plugins/texteditor/completionsettings.h @@ -0,0 +1,70 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** Commercial Usage +** +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** 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. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at http://qt.nokia.com/contact. +** +**************************************************************************/ + +#ifndef COMPLETIONSETTINGS_H +#define COMPLETIONSETTINGS_H + +#include "texteditor_global.h" + +QT_BEGIN_NAMESPACE +class QSettings; +QT_END_NAMESPACE + +namespace TextEditor { + +enum CaseSensitivity { + CaseInsensitive, + CaseSensitive, + FirstLetterCaseSensitive +}; + +/** + * Settings that describe how the code completion behaves. + */ +struct TEXTEDITOR_EXPORT CompletionSettings +{ + CompletionSettings(); + + void toSettings(const QString &category, QSettings *s) const; + void fromSettings(const QString &category, const QSettings *s); + + bool equals(const CompletionSettings &bs) const; + + CaseSensitivity m_caseSensitivity; + bool m_autoInsertBrackets; + bool m_partiallyComplete; + bool m_spaceAfterFunctionName; +}; + +inline bool operator==(const CompletionSettings &t1, const CompletionSettings &t2) { return t1.equals(t2); } +inline bool operator!=(const CompletionSettings &t1, const CompletionSettings &t2) { return !t1.equals(t2); } + +} // namespace TextEditor + +#endif // COMPLETIONSETTINGS_H diff --git a/src/plugins/texteditor/icompletioncollector.cpp b/src/plugins/texteditor/icompletioncollector.cpp index 9bf453e1b5a0c671fa1487d3763387805213a712..0d4dd1296673f4c5fc38bd370a083349122097d4 100644 --- a/src/plugins/texteditor/icompletioncollector.cpp +++ b/src/plugins/texteditor/icompletioncollector.cpp @@ -28,11 +28,27 @@ **************************************************************************/ #include "icompletioncollector.h" + +#include "completionsettings.h" #include "itexteditable.h" + #include <QtCore/QRegExp> #include <algorithm> using namespace TextEditor; +using namespace TextEditor::Internal; + +namespace TextEditor { +namespace Internal { + +struct ICompletionCollectorPrivate +{ +public: + CompletionSettings m_completionSettings; +}; + +} // namespace Internal +} // namespace TextEditor bool ICompletionCollector::compareChar(const QChar &l, const QChar &r) { @@ -62,6 +78,27 @@ bool ICompletionCollector::completionItemLessThan(const CompletionItem &i1, cons return lessThan(lower1, lower2); } +ICompletionCollector::ICompletionCollector(QObject *parent) + : QObject(parent) + , m_d(new Internal::ICompletionCollectorPrivate) +{ +} + +ICompletionCollector::~ICompletionCollector() +{ + delete m_d; +} + +void ICompletionCollector::setCompletionSettings(const CompletionSettings &settings) +{ + m_d->m_completionSettings = settings; +} + +const CompletionSettings &ICompletionCollector::completionSettings() const +{ + return m_d->m_completionSettings; +} + QList<CompletionItem> ICompletionCollector::getCompletions() { QList<CompletionItem> completionItems; @@ -88,6 +125,9 @@ QList<CompletionItem> ICompletionCollector::getCompletions() bool ICompletionCollector::partiallyComplete(const QList<TextEditor::CompletionItem> &completionItems) { + if (! m_d->m_completionSettings.m_partiallyComplete) + return false; + // Compute common prefix QString firstKey = completionItems.first().text; QString lastKey = completionItems.last().text; @@ -113,9 +153,10 @@ bool ICompletionCollector::partiallyComplete(const QList<TextEditor::CompletionI void ICompletionCollector::filter(const QList<TextEditor::CompletionItem> &items, QList<TextEditor::CompletionItem> *filteredItems, - const QString &key, - ICompletionCollector::CaseSensitivity caseSensitivity) + const QString &key) { + const TextEditor::CaseSensitivity caseSensitivity = m_d->m_completionSettings.m_caseSensitivity; + /* * This code builds a regular expression in order to more intelligently match * camel-case style. This means upper-case characters will be rewritten as follows: @@ -132,8 +173,8 @@ void ICompletionCollector::filter(const QList<TextEditor::CompletionItem> &items bool first = true; const QLatin1String wordContinuation("[a-z0-9_]*"); foreach (const QChar &c, key) { - if (caseSensitivity == CaseInsensitive || - (caseSensitivity == FirstLetterCaseSensitive && !first)) { + if (caseSensitivity == TextEditor::CaseInsensitive || + (caseSensitivity == TextEditor::FirstLetterCaseSensitive && !first)) { keyRegExp += QLatin1String("(?:"); if (c.isUpper() && !first) @@ -158,7 +199,7 @@ void ICompletionCollector::filter(const QList<TextEditor::CompletionItem> &items if (hasKey) { if (item.text.startsWith(key, Qt::CaseSensitive)) { item.relevance = 2; - } else if (caseSensitivity != CaseSensitive + } else if (caseSensitivity != TextEditor::CaseSensitive && item.text.startsWith(key, Qt::CaseInsensitive)) { item.relevance = 1; } diff --git a/src/plugins/texteditor/icompletioncollector.h b/src/plugins/texteditor/icompletioncollector.h index e2cfdfacd81874f16bb0559e46d75f57c7b6aefe..e78ad83b829fe2cc0bc21ff42de0df2788ae0234 100644 --- a/src/plugins/texteditor/icompletioncollector.h +++ b/src/plugins/texteditor/icompletioncollector.h @@ -38,8 +38,13 @@ namespace TextEditor { +namespace Internal { +class ICompletionCollectorPrivate; +} + class ICompletionCollector; class ITextEditable; +struct CompletionSettings; struct CompletionItem { @@ -73,8 +78,10 @@ class TEXTEDITOR_EXPORT ICompletionCollector : public QObject { Q_OBJECT public: - ICompletionCollector(QObject *parent = 0) : QObject(parent) {} - virtual ~ICompletionCollector() {} + ICompletionCollector(QObject *parent = 0); + virtual ~ICompletionCollector(); + + const CompletionSettings &completionSettings() const; virtual QList<CompletionItem> getCompletions(); virtual bool shouldRestartCompletion(); @@ -120,21 +127,20 @@ public: // helpers - enum CaseSensitivity { - CaseInsensitive, - CaseSensitive, - FirstLetterCaseSensitive - }; - void filter(const QList<TextEditor::CompletionItem> &items, QList<TextEditor::CompletionItem> *filteredItems, - const QString &key, - CaseSensitivity caseSensitivity); + const QString &key); + +public slots: + void setCompletionSettings(const TextEditor::CompletionSettings &); protected: static bool compareChar(const QChar &item, const QChar &other); static bool lessThan(const QString &item, const QString &other); static bool completionItemLessThan(const CompletionItem &item, const CompletionItem &other); + +private: + Internal::ICompletionCollectorPrivate *m_d; }; class TEXTEDITOR_EXPORT IQuickFixCollector : public ICompletionCollector diff --git a/src/plugins/texteditor/texteditor.pro b/src/plugins/texteditor/texteditor.pro index 26429c0858660418673ca84b156108e00e5a9c2a..a27f857809a36a97a7bfcc9810824dea36aaaabe 100644 --- a/src/plugins/texteditor/texteditor.pro +++ b/src/plugins/texteditor/texteditor.pro @@ -34,7 +34,8 @@ SOURCES += texteditorplugin.cpp \ itexteditor.cpp \ texteditoroverlay.cpp \ texteditoroptionspage.cpp \ - basetextdocumentlayout.cpp + basetextdocumentlayout.cpp \ + completionsettings.cpp HEADERS += texteditorplugin.h \ textfilewizard.h \ @@ -71,7 +72,8 @@ HEADERS += texteditorplugin.h \ colorschemeedit.h \ texteditoroverlay.h \ texteditoroptionspage.h \ - basetextdocumentlayout.h + basetextdocumentlayout.h \ + completionsettings.h FORMS += behaviorsettingspage.ui \ diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 410325dbab91fe7c96abc3d119bba8aae06ca071..dca81bed5a895848840bcf076c87119860a5d0b4 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -91,7 +91,8 @@ bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMe return false; Core::BaseFileWizardParameters wizardParameters(Core::IWizard::FileWizard); - wizardParameters.setDescription(tr("Creates a text file (.txt).")); + wizardParameters.setDescription(tr("Creates a text file. The default file extension is <tt>.txt</tt>. " + "You can specify a different extension as part of the filename.")); wizardParameters.setDisplayName(tr("Text File")); wizardParameters.setCategory(QLatin1String("U.General")); wizardParameters.setDisplayCategory(tr("General")); diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp index de018d407fe710b66ef558d0e3299ce38fcfb2bd..26a829eba800653267bc5b6109994e2432d7d270 100644 --- a/src/plugins/texteditor/texteditorsettings.cpp +++ b/src/plugins/texteditor/texteditorsettings.cpp @@ -33,6 +33,7 @@ #include "basetexteditor.h" #include "behaviorsettings.h" #include "behaviorsettingspage.h" +#include "completionsettings.h" #include "displaysettings.h" #include "displaysettingspage.h" #include "fontsettingspage.h" @@ -41,17 +42,54 @@ #include "texteditorplugin.h" #include <extensionsystem/pluginmanager.h> +#include <coreplugin/icore.h> #include <utils/qtcassert.h> #include <QtGui/QApplication> using namespace TextEditor; using namespace TextEditor::Constants; +using namespace TextEditor::Internal; + +namespace TextEditor { +namespace Internal { + +class TextEditorSettingsPrivate +{ +public: + FontSettingsPage *m_fontSettingsPage; + BehaviorSettingsPage *m_behaviorSettingsPage; + DisplaySettingsPage *m_displaySettingsPage; + + CompletionSettings m_completionSettings; + + void fontZoomRequested(int pointSize); + void zoomResetRequested(); +}; + +void TextEditorSettingsPrivate::fontZoomRequested(int zoom) +{ + FontSettings &fs = const_cast<FontSettings&>(m_fontSettingsPage->fontSettings()); + fs.setFontZoom(qMax(10, fs.fontZoom() + zoom)); + m_fontSettingsPage->saveSettings(); +} + +void TextEditorSettingsPrivate::zoomResetRequested() +{ + FontSettings &fs = const_cast<FontSettings&>(m_fontSettingsPage->fontSettings()); + fs.setFontZoom(100); + m_fontSettingsPage->saveSettings(); +} + +} // namespace Internal +} // namespace TextEditor + TextEditorSettings *TextEditorSettings::m_instance = 0; TextEditorSettings::TextEditorSettings(QObject *parent) : QObject(parent) + , m_d(new Internal::TextEditorSettingsPrivate) { QTC_ASSERT(!m_instance, return); m_instance = this; @@ -102,44 +140,50 @@ TextEditorSettings::TextEditorSettings(QObject *parent) formatDescriptions.append(FormatDescription(QLatin1String(C_DIFF_FILE), tr("Diff File"), Qt::darkBlue)); formatDescriptions.append(FormatDescription(QLatin1String(C_DIFF_LOCATION), tr("Diff Location"), Qt::blue)); - m_fontSettingsPage = new FontSettingsPage(formatDescriptions, - QLatin1String("A.FontSettings"), - this); - pm->addObject(m_fontSettingsPage); + m_d->m_fontSettingsPage = new FontSettingsPage(formatDescriptions, + QLatin1String("A.FontSettings"), + this); + pm->addObject(m_d->m_fontSettingsPage); // Add the GUI used to configure the tab, storage and interaction settings TextEditor::BehaviorSettingsPageParameters behaviorSettingsPageParameters; behaviorSettingsPageParameters.id = QLatin1String("B.BehaviourSettings"); behaviorSettingsPageParameters.displayName = tr("Behavior"); behaviorSettingsPageParameters.settingsPrefix = QLatin1String("text"); - m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this); - pm->addObject(m_behaviorSettingsPage); + m_d->m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this); + pm->addObject(m_d->m_behaviorSettingsPage); TextEditor::DisplaySettingsPageParameters displaySettingsPageParameters; displaySettingsPageParameters.id = QLatin1String("D.DisplaySettings"), displaySettingsPageParameters.displayName = tr("Display"); displaySettingsPageParameters.settingsPrefix = QLatin1String("text"); - m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this); - pm->addObject(m_displaySettingsPage); + m_d->m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this); + pm->addObject(m_d->m_displaySettingsPage); - connect(m_fontSettingsPage, SIGNAL(changed(TextEditor::FontSettings)), + connect(m_d->m_fontSettingsPage, SIGNAL(changed(TextEditor::FontSettings)), this, SIGNAL(fontSettingsChanged(TextEditor::FontSettings))); - connect(m_behaviorSettingsPage, SIGNAL(tabSettingsChanged(TextEditor::TabSettings)), + connect(m_d->m_behaviorSettingsPage, SIGNAL(tabSettingsChanged(TextEditor::TabSettings)), this, SIGNAL(tabSettingsChanged(TextEditor::TabSettings))); - connect(m_behaviorSettingsPage, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)), + connect(m_d->m_behaviorSettingsPage, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)), this, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings))); - connect(m_behaviorSettingsPage, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)), + connect(m_d->m_behaviorSettingsPage, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)), this, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings))); - connect(m_displaySettingsPage, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)), + connect(m_d->m_displaySettingsPage, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)), this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings))); + + // TODO: Move these settings to TextEditor category + if (QSettings *s = Core::ICore::instance()->settings()) + m_d->m_completionSettings.fromSettings(QLatin1String("CppTools/"), s); } TextEditorSettings::~TextEditorSettings() { ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); - pm->removeObject(m_fontSettingsPage); - pm->removeObject(m_behaviorSettingsPage); - pm->removeObject(m_displaySettingsPage); + pm->removeObject(m_d->m_fontSettingsPage); + pm->removeObject(m_d->m_behaviorSettingsPage); + pm->removeObject(m_d->m_displaySettingsPage); + + delete m_d; m_instance = 0; } @@ -166,6 +210,8 @@ void TextEditorSettings::initializeEditor(BaseTextEditor *editor) editor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings))); connect(this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)), editor, SLOT(setDisplaySettings(TextEditor::DisplaySettings))); + connect(this, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)), + editor, SLOT(setCompletionSettings(TextEditor::CompletionSettings))); connect(editor, SIGNAL(requestFontZoom(int)), this, SLOT(fontZoomRequested(int))); @@ -178,44 +224,50 @@ void TextEditorSettings::initializeEditor(BaseTextEditor *editor) editor->setStorageSettings(storageSettings()); editor->setBehaviorSettings(behaviorSettings()); editor->setDisplaySettings(displaySettings()); + editor->setCompletionSettings(completionSettings()); } -void TextEditorSettings::fontZoomRequested(int zoom) +const FontSettings &TextEditorSettings::fontSettings() const { - FontSettings &fs = const_cast<FontSettings&>(fontSettings()); - fs.setFontZoom(qMax(10, fs.fontZoom() + zoom)); - m_fontSettingsPage->saveSettings(); + return m_d->m_fontSettingsPage->fontSettings(); } -void TextEditorSettings::zoomResetRequested() +const TabSettings &TextEditorSettings::tabSettings() const { - FontSettings &fs = const_cast<FontSettings&>(fontSettings()); - fs.setFontZoom(100); - m_fontSettingsPage->saveSettings(); + return m_d->m_behaviorSettingsPage->tabSettings(); } -const FontSettings &TextEditorSettings::fontSettings() const +const StorageSettings &TextEditorSettings::storageSettings() const { - return m_fontSettingsPage->fontSettings(); + return m_d->m_behaviorSettingsPage->storageSettings(); } -const TabSettings &TextEditorSettings::tabSettings() const +const BehaviorSettings &TextEditorSettings::behaviorSettings() const { - return m_behaviorSettingsPage->tabSettings(); + return m_d->m_behaviorSettingsPage->behaviorSettings(); } -const StorageSettings &TextEditorSettings::storageSettings() const +const DisplaySettings &TextEditorSettings::displaySettings() const { - return m_behaviorSettingsPage->storageSettings(); + return m_d->m_displaySettingsPage->displaySettings(); } -const BehaviorSettings &TextEditorSettings::behaviorSettings() const +const CompletionSettings &TextEditorSettings::completionSettings() const { - return m_behaviorSettingsPage->behaviorSettings(); + return m_d->m_completionSettings; } -const DisplaySettings &TextEditorSettings::displaySettings() const +void TextEditorSettings::setCompletionSettings(const TextEditor::CompletionSettings &settings) { - return m_displaySettingsPage->displaySettings(); + if (m_d->m_completionSettings == settings) + return; + + m_d->m_completionSettings = settings; + if (QSettings *s = Core::ICore::instance()->settings()) + m_d->m_completionSettings.toSettings(QLatin1String("CppTools/"), s); + + emit completionSettingsChanged(m_d->m_completionSettings); } + +#include "moc_texteditorsettings.cpp" diff --git a/src/plugins/texteditor/texteditorsettings.h b/src/plugins/texteditor/texteditorsettings.h index a5836304bee1ca853126b3b9da66575997656c61..ff6c9b958628e4aa51cb653191ea7b0d7e73dc07 100644 --- a/src/plugins/texteditor/texteditorsettings.h +++ b/src/plugins/texteditor/texteditorsettings.h @@ -45,11 +45,16 @@ struct TabSettings; struct StorageSettings; struct BehaviorSettings; struct DisplaySettings; +struct CompletionSettings; + +namespace Internal { +class TextEditorSettingsPrivate; +} /** * This class provides a central place for basic text editor settings. These * settings include font settings, tab settings, storage settings, behavior - * settings and display settings. + * settings, display settings and completion settings. */ class TEXTEDITOR_EXPORT TextEditorSettings : public QObject { @@ -68,6 +73,9 @@ public: const StorageSettings &storageSettings() const; const BehaviorSettings &behaviorSettings() const; const DisplaySettings &displaySettings() const; + const CompletionSettings &completionSettings() const; + + void setCompletionSettings(const TextEditor::CompletionSettings &); signals: void fontSettingsChanged(const TextEditor::FontSettings &); @@ -75,15 +83,12 @@ signals: void storageSettingsChanged(const TextEditor::StorageSettings &); void behaviorSettingsChanged(const TextEditor::BehaviorSettings &); void displaySettingsChanged(const TextEditor::DisplaySettings &); - -private slots: - void fontZoomRequested(int pointSize); - void zoomResetRequested(); + void completionSettingsChanged(const TextEditor::CompletionSettings &); private: - FontSettingsPage *m_fontSettingsPage; - BehaviorSettingsPage *m_behaviorSettingsPage; - DisplaySettingsPage *m_displaySettingsPage; + Internal::TextEditorSettingsPrivate *m_d; + Q_PRIVATE_SLOT(m_d, void fontZoomRequested(int pointSize)); + Q_PRIVATE_SLOT(m_d, void zoomResetRequested()); static TextEditorSettings *m_instance; }; diff --git a/src/plugins/welcome/images/welcomebg.png b/src/plugins/welcome/images/welcomebg.png index 43e26923f67753a8f32366d50dada7ae0deec62e..a82abe93f77d70eddd89dd25f029a46c8fa951b8 100644 Binary files a/src/plugins/welcome/images/welcomebg.png and b/src/plugins/welcome/images/welcomebg.png differ diff --git a/src/plugins/welcome/welcomemode.ui b/src/plugins/welcome/welcomemode.ui index f00d137f2ac1eecf901c798896b5b1ab05a313a3..e60f8143ad2a301d06d7c8ced698c0aec01eca36 100644 --- a/src/plugins/welcome/welcomemode.ui +++ b/src/plugins/welcome/welcomemode.ui @@ -76,12 +76,7 @@ QToolButton:pressed, QPushButton:pressed{ <item> <widget class="QWidget" name="gradientWidget" native="true"> <property name="styleSheet"> - <string notr="true">/* -#gradientWidget { - background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:1.0, y2:1, stop:0 rgba(240, 240, 240, 255), stop:1 rgba(200, 200, 200, 255)); -} -*/ -#gradientWidget { + <string notr="true">#gradientWidget { border-image: url(:/welcome/images/welcomebg.png) 0; } </string> diff --git a/src/shared/help/bookmarkmanager.cpp b/src/shared/help/bookmarkmanager.cpp index b3ad3dd204a17317849d92dae4014fc5fa102f6b..e8619922e00e8f82718de9e659a83f82e6e185e8 100644 --- a/src/shared/help/bookmarkmanager.cpp +++ b/src/shared/help/bookmarkmanager.cpp @@ -33,6 +33,9 @@ #include "helpmanager.h" #include "openpagesmanager.h" +#include <utils/filterlineedit.h> +#include <utils/styledbar.h> + #include <QtGui/QMenu> #include <QtGui/QIcon> #include <QtGui/QStyle> @@ -423,19 +426,27 @@ void BookmarkWidget::setup(bool showButtons) regExp.setCaseSensitivity(Qt::CaseInsensitive); QLayout *vlayout = new QVBoxLayout(this); - vlayout->setMargin(4); - - QLabel *label = new QLabel(tr("Filter:"), this); - vlayout->addWidget(label); + vlayout->setMargin(0); + vlayout->setSpacing(0); - searchField = new QLineEdit(this); + searchField = new Utils::FilterLineEdit(this); setFocusProxy(searchField); + + Utils::StyledBar *toolbar = new Utils::StyledBar(this); + toolbar->setSingleRow(false); + QLayout *tbLayout = new QHBoxLayout(); + tbLayout->setMargin(4); + tbLayout->addWidget(searchField); + toolbar->setLayout(tbLayout); + + vlayout->addWidget(toolbar); + searchField->installEventFilter(this); - vlayout->addWidget(searchField); connect(searchField, SIGNAL(textChanged(const QString &)), this, SLOT(filterChanged())); treeView = new TreeView(this); + treeView->setFrameStyle(QFrame::NoFrame); vlayout->addWidget(treeView); #ifdef Q_OS_MAC diff --git a/src/shared/help/contentwindow.cpp b/src/shared/help/contentwindow.cpp index e728a9a74780809a4eb24f23e131090e0fdc412b..a8ed1f1613a2a770da192dce8dd2aa66cd88d1d5 100644 --- a/src/shared/help/contentwindow.cpp +++ b/src/shared/help/contentwindow.cpp @@ -52,7 +52,7 @@ ContentWindow::ContentWindow() setFocusProxy(m_contentWidget); QVBoxLayout *layout = new QVBoxLayout(this); - layout->setMargin(4); + layout->setMargin(0); layout->addWidget(m_contentWidget); connect(m_contentWidget, SIGNAL(customContextMenuRequested(QPoint)), this, @@ -63,6 +63,8 @@ ContentWindow::ContentWindow() QHelpContentModel *contentModel = qobject_cast<QHelpContentModel*>(m_contentWidget->model()); connect(contentModel, SIGNAL(contentsCreated()), this, SLOT(expandTOC())); + + m_contentWidget->setFrameStyle(QFrame::NoFrame); } ContentWindow::~ContentWindow() diff --git a/src/shared/help/indexwindow.cpp b/src/shared/help/indexwindow.cpp index 0b9bf0935f0fb2d2a3fa9edf24f60a980d6ebb8b..1bc86d60ecf9f2a2eadd4273611ce8f7278debad 100644 --- a/src/shared/help/indexwindow.cpp +++ b/src/shared/help/indexwindow.cpp @@ -34,6 +34,9 @@ #include "openpagesmanager.h" #include "topicchooser.h" +#include <utils/filterlineedit.h> +#include <utils/styledbar.h> + #include <QtGui/QLayout> #include <QtGui/QLabel> #include <QtGui/QLineEdit> @@ -41,6 +44,7 @@ #include <QtGui/QMenu> #include <QtGui/QContextMenuEvent> #include <QtGui/QListWidgetItem> +#include <QtGui/QToolBar> #include <QtHelp/QHelpEngine> #include <QtHelp/QHelpIndexWidget> @@ -52,17 +56,29 @@ IndexWindow::IndexWindow() , m_indexWidget(0) { QVBoxLayout *layout = new QVBoxLayout(this); - QLabel *l = new QLabel(tr("&Look for:")); - layout->addWidget(l); - m_searchLineEdit = new QLineEdit(); - l->setBuddy(m_searchLineEdit); + m_searchLineEdit = new Utils::FilterLineEdit(); + m_searchLineEdit->setPlaceholderText(QString()); setFocusProxy(m_searchLineEdit); connect(m_searchLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterIndices(QString))); m_searchLineEdit->installEventFilter(this); - layout->setMargin(4); - layout->addWidget(m_searchLineEdit); + + QLabel *l = new QLabel(tr("&Look for:")); + l->setBuddy(m_searchLineEdit); + layout->addWidget(l); + layout->setMargin(0); + layout->setSpacing(0); + + Utils::StyledBar *toolbar = new Utils::StyledBar(this); + toolbar->setSingleRow(false); + QLayout *tbLayout = new QHBoxLayout(); + tbLayout->setSpacing(6); + tbLayout->setMargin(4); + tbLayout->addWidget(l); + tbLayout->addWidget(m_searchLineEdit); + toolbar->setLayout(tbLayout); + layout->addWidget(toolbar); QHelpEngine *engine = &Help::HelpManager::helpEngine(); m_indexWidget = engine->indexWidget(); @@ -77,6 +93,7 @@ IndexWindow::IndexWindow() this, SIGNAL(linksActivated(QMap<QString, QUrl>, QString))); connect(m_searchLineEdit, SIGNAL(returnPressed()), m_indexWidget, SLOT(activateCurrentItem())); + m_indexWidget->setFrameStyle(QFrame::NoFrame); layout->addWidget(m_indexWidget); m_indexWidget->viewport()->installEventFilter(this); diff --git a/src/shared/qrceditor/qrceditor.cpp b/src/shared/qrceditor/qrceditor.cpp index ecb0efde45be90a703b795c7a26d0400983d33c5..693faf54c61ebde83d7f16e36a5201b522b9f928 100644 --- a/src/shared/qrceditor/qrceditor.cpp +++ b/src/shared/qrceditor/qrceditor.cpp @@ -61,7 +61,8 @@ QrcEditor::QrcEditor(QWidget *parent) connect(m_treeview, SIGNAL(addPrefixTriggered()), this, SLOT(onAddPrefix())); connect(m_treeview, SIGNAL(addFilesTriggered(QString)), this, SLOT(onAddFiles())); connect(m_treeview, SIGNAL(removeItem()), this, SLOT(onRemove())); - connect(m_treeview, SIGNAL(currentIndexChanged()), this, SLOT(updateCurrent())); + connect(m_treeview->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), + this, SLOT(updateCurrent())); connect(m_treeview, SIGNAL(dirtyChanged(bool)), this, SIGNAL(dirtyChanged(bool))); m_treeview->setFocus(); diff --git a/src/shared/qrceditor/resourceview.cpp b/src/shared/qrceditor/resourceview.cpp index d0b077cc92c80c1faa678eb4b2ffa2e7194e860f..814d044c9bc73cdabb18b7442227f32e4714c15b 100644 --- a/src/shared/qrceditor/resourceview.cpp +++ b/src/shared/qrceditor/resourceview.cpp @@ -203,13 +203,6 @@ ResourceView::~ResourceView() { } -void ResourceView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) -{ - Q_UNUSED(current) - Q_UNUSED(previous) - emit currentIndexChanged(); -} - bool ResourceView::isDirty() const { return m_qrcModel->dirty(); diff --git a/src/shared/qrceditor/resourceview.h b/src/shared/qrceditor/resourceview.h index a0da7df5977f9241959b99a0a4ab3b9b99be5c38..2e44da25a7f0d0268d1bccf088d707076a25d89d 100644 --- a/src/shared/qrceditor/resourceview.h +++ b/src/shared/qrceditor/resourceview.h @@ -139,14 +139,10 @@ protected: signals: void removeItem(); void dirtyChanged(bool b); - void currentIndexChanged(); void addFilesTriggered(const QString &prefix); void addPrefixTriggered(); -protected slots: - void currentChanged(const QModelIndex ¤t, const QModelIndex &previous); - private slots: void onEditAlias(); void onEditPrefix(); diff --git a/src/shared/symbianutils/launcher.cpp b/src/shared/symbianutils/launcher.cpp index a597cf6d1334ad613a6f937b9d38139c52d553d7..25dc3959350bd9b418ed2922d63074840cad5515 100644 --- a/src/shared/symbianutils/launcher.cpp +++ b/src/shared/symbianutils/launcher.cpp @@ -353,8 +353,22 @@ void Launcher::handleResult(const TrkResult &result) QByteArray prefix = "READ BUF: "; QByteArray str = result.toString().toUtf8(); if (result.isDebugOutput) { // handle application output - logMessage("APPLICATION OUTPUT: " + result.data); - emit applicationOutputReceived(result.data); + QString msg; + if (result.multiplex == MuxTextTrace) { + if (result.data.length() > 8) { + quint64 timestamp = extractInt64(result.data) & 0x0FFFFFFFFFFFFFFFULL; + quint64 secs = timestamp / 1000000000; + quint64 ns = timestamp % 1000000000; + msg = QString("[%1.%2] %3").arg(secs).arg(ns).arg(QString(result.data.mid(8))); + logMessage("TEXT TRACE: " + msg); + } + } else { + logMessage("APPLICATION OUTPUT: " + result.data); + msg = result.data; + } + msg.replace("\r\n", "\n"); + if(!msg.endsWith('\n')) msg.append('\n'); + emit applicationOutputReceived(msg); return; } switch (result.code) { diff --git a/src/shared/symbianutils/trkutils.cpp b/src/shared/symbianutils/trkutils.cpp index 6c44c9038dbc3bf34de93fad93574bd7a2f97fe3..40c448d02f3b642e7199184988fc7298e4b0636a 100644 --- a/src/shared/symbianutils/trkutils.cpp +++ b/src/shared/symbianutils/trkutils.cpp @@ -264,14 +264,13 @@ QByteArray frameMessage(byte command, byte token, const QByteArray &data, bool s /* returns 0 if array doesn't represent a result, otherwise returns the length of the result data */ -ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame) +ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame, ushort& mux) { if (serialFrame) { // Serial protocol with length info if (buffer.length() < 4) return 0; - if (buffer.at(0) != 0x01 || byte(buffer.at(1)) != 0x90) - return 0; + mux = extractShort(buffer.data()); const ushort len = extractShort(buffer.data() + 2); return (buffer.size() >= len + 4) ? len : ushort(0); } @@ -280,6 +279,7 @@ ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame) const int firstDelimiterPos = buffer.indexOf(delimiter); // Regular message delimited by 0x7e..0x7e if (firstDelimiterPos == 0) { + mux = MuxTrk; const int endPos = buffer.indexOf(delimiter, firstDelimiterPos + 1); return endPos != -1 ? endPos + 1 - firstDelimiterPos : 0; } @@ -292,7 +292,7 @@ bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByt result->clear(); if(rawData) rawData->clear(); - const ushort len = isValidTrkResult(*buffer, serialFrame); + const ushort len = isValidTrkResult(*buffer, serialFrame, result->multiplex); if (!len) return false; // handle receiving application output, which is not a regular command @@ -300,7 +300,6 @@ bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByt if (buffer->at(delimiterPos) != 0x7e) { result->isDebugOutput = true; result->data = buffer->mid(delimiterPos, len); - result->data.replace("\r\n", "\n"); *buffer->remove(0, delimiterPos + len); return true; } @@ -341,6 +340,19 @@ SYMBIANUTILS_EXPORT uint extractInt(const char *data) return res; } +SYMBIANUTILS_EXPORT quint64 extractInt64(const char *data) +{ + quint64 res = byte(data[0]); + res <<= 8; res += byte(data[1]); + res <<= 8; res += byte(data[2]); + res <<= 8; res += byte(data[3]); + res <<= 8; res += byte(data[4]); + res <<= 8; res += byte(data[5]); + res <<= 8; res += byte(data[6]); + res <<= 8; res += byte(data[7]); + return res; +} + SYMBIANUTILS_EXPORT QString quoteUnprintableLatin1(const QByteArray &ba) { QString res; diff --git a/src/shared/symbianutils/trkutils.h b/src/shared/symbianutils/trkutils.h index 248f6fcdd732783cb42661bafa25360b52b8f66f..e438c1b0ceae4cd41175fe386ac46f650d112e3d 100644 --- a/src/shared/symbianutils/trkutils.h +++ b/src/shared/symbianutils/trkutils.h @@ -123,9 +123,16 @@ enum Command { TrkDSPositionFile = 0xd4 }; +enum SerialMultiplexor { + MuxRaw = 0, + MuxTextTrace = 0x0102, + MuxTrk = 0x0190 +}; + inline byte extractByte(const char *data) { return *data; } SYMBIANUTILS_EXPORT ushort extractShort(const char *data); SYMBIANUTILS_EXPORT uint extractInt(const char *data); +SYMBIANUTILS_EXPORT quint64 extractInt64(const char *data); SYMBIANUTILS_EXPORT QString quoteUnprintableLatin1(const QByteArray &ba); @@ -205,6 +212,7 @@ struct SYMBIANUTILS_EXPORT TrkResult int errorCode() const; QString errorString() const; + ushort multiplex; byte code; byte token; QByteArray data;