forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/2.4'
Conflicts: qtcreator.pri src/libs/qmljs/qmljstypedescriptionreader.cpp src/plugins/analyzerbase/startremotedialog.ui src/plugins/qmldesigner/designercore/include/rewriterview.h src/plugins/qt4projectmanager/makestep.cpp Change-Id: If9d15a8c8f73106585fd8ce6ac47c253a40af6b1
This commit is contained in:
Binary file not shown.
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 29 KiB |
Binary file not shown.
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 17 KiB |
@@ -103,6 +103,13 @@
|
|||||||
to mobile devices, use the \gui {Qt Quick Application} wizard to convert
|
to mobile devices, use the \gui {Qt Quick Application} wizard to convert
|
||||||
them to Qt Quick applications.
|
them to Qt Quick applications.
|
||||||
|
|
||||||
|
\note Qt 4.7.3 supports Qt Quick 1.0 and Qt 4.7.4 supports Qt Quick 1.1. The
|
||||||
|
application wizards import Qt Quick 1.1, and therefore, you can use them
|
||||||
|
without changes if you target only platforms that run Qt 4.7.4 (such as
|
||||||
|
MeeGo or the desktop). If you also target platforms that run Qt 4.7.3
|
||||||
|
(such as Maemo and S60 5th Edition), you must change the import statement to
|
||||||
|
import Qt Quick 1.0.
|
||||||
|
|
||||||
\section1 Creating Qt Quick UI Projects
|
\section1 Creating Qt Quick UI Projects
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
|
@@ -1987,7 +1987,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Switch Between Method Declaration/Definition</source>
|
<source>Switch Between Method Declaration/Definition</source>
|
||||||
<translation>Wechsel zwischen Deklaration und Definition der Methode.</translation>
|
<translation>Wechsel zwischen Deklaration und Definition der Methode</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Rename Symbol Under Cursor</source>
|
<source>Rename Symbol Under Cursor</source>
|
||||||
@@ -4679,6 +4679,10 @@ Grund: %3</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>FakeVim::Internal::FakeVimPluginPrivate</name>
|
<name>FakeVim::Internal::FakeVimPluginPrivate</name>
|
||||||
|
<message>
|
||||||
|
<source>Execute User Action #%1</source>
|
||||||
|
<translation>Benutzerdefinierte Aktion #%1 ausführen</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>File not saved</source>
|
<source>File not saved</source>
|
||||||
<translation>Datei nicht gespeichert</translation>
|
<translation>Datei nicht gespeichert</translation>
|
||||||
@@ -7436,7 +7440,7 @@ rückgängig machen?</translation>
|
|||||||
<message>
|
<message>
|
||||||
<source>Compile</source>
|
<source>Compile</source>
|
||||||
<comment>Category for compiler isses listed under 'Issues'</comment>
|
<comment>Category for compiler isses listed under 'Issues'</comment>
|
||||||
<translation>Compilierung</translation>
|
<translation>Kompilierung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build System</source>
|
<source>Build System</source>
|
||||||
@@ -7447,11 +7451,6 @@ rückgängig machen?</translation>
|
|||||||
<source>Error while building project %1 (target: %2)</source>
|
<source>Error while building project %1 (target: %2)</source>
|
||||||
<translation>Fehler beim Erstellen des Projekts %1(Ziel: %2)</translation>
|
<translation>Fehler beim Erstellen des Projekts %1(Ziel: %2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Compile</source>
|
|
||||||
<comment>Category for compiler isses listened under 'Build Issues'</comment>
|
|
||||||
<translation type="obsolete">Compilierung</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ProjectExplorer::CustomExecutableRunConfiguration</name>
|
<name>ProjectExplorer::CustomExecutableRunConfiguration</name>
|
||||||
@@ -7720,7 +7719,7 @@ Fehler: %2</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run in &Terminal</source>
|
<source>Run in &Terminal</source>
|
||||||
<translation>In &Terminal Ausführen</translation>
|
<translation>In &Terminal ausführen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Debugger:</source>
|
<source>Debugger:</source>
|
||||||
@@ -8333,7 +8332,7 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Deploy Project "%1"</source>
|
<source>Deploy Project "%1"</source>
|
||||||
<translation>Deployment des Projekts %1" durchführen</translation>
|
<translation>Deployment des Projekts "%1" durchführen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Publish Project...</source>
|
<source>Publish Project...</source>
|
||||||
@@ -8401,19 +8400,19 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cancel Build && Unload</source>
|
<source>Cancel Build && Unload</source>
|
||||||
<translation>Erstellen abbrechen und Schließen</translation>
|
<translation>Erstellen abbrechen und schließen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do Not Unload</source>
|
<source>Do Not Unload</source>
|
||||||
<translation>Nicht Schließen</translation>
|
<translation>Nicht schließen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unload Project %1?</source>
|
<source>Unload Project %1?</source>
|
||||||
<translation>Projekt %1 schließen?</translation>
|
<translation>Projekt "%1" schließen?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The project %1 is currently being built.</source>
|
<source>The project %1 is currently being built.</source>
|
||||||
<translation>Das Projekt %1 wird gerade erstellt.</translation>
|
<translation>Das Projekt "%1" wird gerade erstellt.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do you want to cancel the build process and unload the project anyway?</source>
|
<source>Do you want to cancel the build process and unload the project anyway?</source>
|
||||||
@@ -8433,7 +8432,7 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Building '%1' is disabled: %2<br></source>
|
<source>Building '%1' is disabled: %2<br></source>
|
||||||
<translation>Das Erstellen von '%1' ist deaktiviert: %12<br></translation>
|
<translation>Das Erstellen von "%1" ist deaktiviert: %2<br></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>A build is in progress</source>
|
<source>A build is in progress</source>
|
||||||
@@ -8442,7 +8441,7 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<source>Building '%1' is disabled: %2
|
<source>Building '%1' is disabled: %2
|
||||||
</source>
|
</source>
|
||||||
<translation>Das Erstellen von '%1' ist deaktiviert: %12</translation>
|
<translation>Das Erstellen von "%1" ist deaktiviert: %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active project</source>
|
<source>No active project</source>
|
||||||
@@ -8450,15 +8449,15 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The project '%1' has no active target</source>
|
<source>The project '%1' has no active target</source>
|
||||||
<translation>Das Projekt '%1' hat kein aktives Ziel</translation>
|
<translation>Das Projekt "%1" hat kein aktives Ziel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The target '%1' for project '%2' has no active run configuration</source>
|
<source>The target '%1' for project '%2' has no active run configuration</source>
|
||||||
<translation>Das Ziel '%1' des Projektes '%2' hat keine aktive Ausführungskonfiguration</translation>
|
<translation>Das Ziel "%1" des Projektes "%2" hat keine aktive Ausführungskonfiguration</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cannot run '%1' in mode '%2'.</source>
|
<source>Cannot run '%1' in mode '%2'.</source>
|
||||||
<translation>'%1' kann nicht im Modus '%2' ausgeführt werden.</translation>
|
<translation>"%1" kann nicht im Modus "%2" ausgeführt werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>A build is still in progress.</source>
|
<source>A build is still in progress.</source>
|
||||||
@@ -8532,7 +8531,7 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Delete %1 from file system?</source>
|
<source>Delete %1 from file system?</source>
|
||||||
<translation>Soll die Datei %1 gelöscht werden?</translation>
|
<translation>Soll die Datei "%1" gelöscht werden?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Close Project "%1"</source>
|
<source>Close Project "%1"</source>
|
||||||
@@ -8548,7 +8547,7 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build Project "%1"</source>
|
<source>Build Project "%1"</source>
|
||||||
<translation>Projekt '%1" erstellen</translation>
|
<translation>Projekt "%1" erstellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Rebuild Project "%1"</source>
|
<source>Rebuild Project "%1"</source>
|
||||||
@@ -8585,7 +8584,7 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do Not Close</source>
|
<source>Do Not Close</source>
|
||||||
<translation>Nicht Schließen</translation>
|
<translation>Nicht schließen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New File</source>
|
<source>New File</source>
|
||||||
@@ -8599,7 +8598,7 @@ konnte dem Projekt '%2' nicht hinzugefügt werden.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<source>Could not add following files to project %1:
|
<source>Could not add following files to project %1:
|
||||||
</source>
|
</source>
|
||||||
<translation>Die folgenden Dateien konnten nicht zum Projekt %1 hinzugefügt werden:
|
<translation>Die folgenden Dateien konnten nicht zum Projekt "%1" hinzugefügt werden:
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
@@ -8622,11 +8621,11 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Could not remove file %1 from project %2.</source>
|
<source>Could not remove file %1 from project %2.</source>
|
||||||
<translation>Die Datei %1 konnte nicht vom Projekt %2 entfernt werden.</translation>
|
<translation>Die Datei "%1" konnte nicht aus dem Projekt "%2" entfernt werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Could not delete file %1.</source>
|
<source>Could not delete file %1.</source>
|
||||||
<translation>Die Datei %1 konnte nicht gelöscht werden.</translation>
|
<translation>Die Datei "%1" konnte nicht gelöscht werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -10028,7 +10027,7 @@ Um es abzurufen, tippen Sie das Kürzel im Locator, gefolgt von einem Leerzeich
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run in &terminal:</source>
|
<source>Run in &terminal:</source>
|
||||||
<translation>In &Terminal Ausführen:</translation>
|
<translation>In &Terminal ausführen:</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -15880,6 +15879,14 @@ with a password, which you can can enter below.</source>
|
|||||||
<source>Only select items with content (S)</source>
|
<source>Only select items with content (S)</source>
|
||||||
<translation>Nur Elemente mit Inhalt auswählen (S)</translation>
|
<translation>Nur Elemente mit Inhalt auswählen (S)</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>width</source>
|
||||||
|
<translation>Breite</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>height</source>
|
||||||
|
<translation>Höhe</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reset view (R)</source>
|
<source>Reset view (R)</source>
|
||||||
<translation>Ansicht zurücksetzen (R)</translation>
|
<translation>Ansicht zurücksetzen (R)</translation>
|
||||||
@@ -19627,7 +19634,7 @@ Hinweis: Unter Umständen wird die lokale Datei gelöscht.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Attach to Core...</source>
|
<source>Attach to Core...</source>
|
||||||
<translation>Debugge core-Datei</translation>
|
<translation>Debugge core-Datei...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Start and Debug Remote Application...</source>
|
<source>Start and Debug Remote Application...</source>
|
||||||
@@ -22393,7 +22400,7 @@ Einschränkungen bezüglich der Erstellung von SIS-Dateien bestehen.</translatio
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>%1 is a default vendor name used for testing and development.</source>
|
<source>%1 is a default vendor name used for testing and development.</source>
|
||||||
<translation>%1 ist ein zum Testen und zur Entwicklung vorgegebener Anbietername.</translation>
|
<translation>"%1" ist ein zum Testen und zur Entwicklung vorgegebener Anbietername.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>%1 are default vendor names used for testing and development.</source>
|
<source>%1 are default vendor names used for testing and development.</source>
|
||||||
@@ -26573,7 +26580,7 @@ Erfordert Qt 4.7.4 oder neuer sowie die Installation des Komponentensatzes für
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Compile</source>
|
<source>Compile</source>
|
||||||
<translation>Compilierung</translation>
|
<translation>Kompilierung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Create</source>
|
<source>Create</source>
|
||||||
@@ -27976,7 +27983,7 @@ Es wird versucht eine Paketdatei zu erstellen, es können aber Probleme auftrete
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The project is missing some information important to publishing:</source>
|
<source>The project is missing some information important to publishing:</source>
|
||||||
<translation>Bei dem Projekt fehlen einige für die Veröffentlichung erforderliche Informationen:</translation>
|
<translation>Dem Projekt fehlen einige für die Veröffentlichung erforderliche Informationen:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Publishing failed: Missing project information.</source>
|
<source>Publishing failed: Missing project information.</source>
|
||||||
@@ -28102,7 +28109,7 @@ Es wird versucht eine Paketdatei zu erstellen, es können aber Probleme auftrete
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The package description is '%1', which is probably not what you want. Please change it in Projects -> Run -> Create Package -> Details.</source>
|
<source>The package description is '%1', which is probably not what you want. Please change it in Projects -> Run -> Create Package -> Details.</source>
|
||||||
<translation>Die Paketbeschreibung ist gegenwärtig '%1', was wahrscheinlich nicht beabsichtigt ist. Bitte ändern Sie sie unter Projekte -> Ausführung -> Paketerzeugung -> Details.</translation>
|
<translation>Die Paketbeschreibung ist gegenwärtig '%1', was wahrscheinlich nicht beabsichtigt ist. Bitte ändern Sie sie unter Projekte -> Ausführung -> Erzeuge Paketdatei -> Details.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You have not set an icon for the package manager. The icon must be set in Projects -> Run -> Create Package -> Details.</source>
|
<source>You have not set an icon for the package manager. The icon must be set in Projects -> Run -> Create Package -> Details.</source>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -352,11 +352,11 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reload All Unchanged Editors</source>
|
<source>Reload All Unchanged Editors</source>
|
||||||
<translation>Przeładuj wszystkie niezmienione edytory</translation>
|
<translation>Przeładowuj wszystkie niezmienione edytory</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Ignore Modifications</source>
|
<source>Ignore Modifications</source>
|
||||||
<translation>Zignoruj modyfikacje</translation>
|
<translation>Ignoruj modyfikacje</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reset</source>
|
<source>Reset</source>
|
||||||
@@ -662,14 +662,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<source>&Tool chain:</source>
|
<source>&Tool chain:</source>
|
||||||
<translation>Zestaw &narzędzi:</translation>
|
<translation>Zestaw &narzędzi:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Override &Start script:</source>
|
|
||||||
<translation>Nadpisz skrypt &startowy:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Sys&root:</source>
|
<source>Sys&root:</source>
|
||||||
<translation>Sys&root:</translation>
|
<translation>Sys&root:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Override &start script:</source>
|
||||||
|
<translation>Nadpisz skrypt &startowy:</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AttachExternalDialog</name>
|
<name>AttachExternalDialog</name>
|
||||||
@@ -712,18 +712,10 @@ p, li { white-space: pre-wrap; }
|
|||||||
<source>Use Qt Creator for post-mortem debugging</source>
|
<source>Use Qt Creator for post-mortem debugging</source>
|
||||||
<translation>Używaj Creatora do pośmiertnego debugowania</translation>
|
<translation>Używaj Creatora do pośmiertnego debugowania</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Close temporary buffers on debugger exit.</source>
|
|
||||||
<translation>Zamykaj tymczasowe bufory po zakończeniu debugowania.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Close temporary buffers on debugger exit</source>
|
<source>Close temporary buffers on debugger exit</source>
|
||||||
<translation>Zamykaj tymczasowe bufory po zakończeniu debugowania</translation>
|
<translation>Zamykaj tymczasowe bufory po zakończeniu debugowania</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Switch to previous mode on debugger exit.</source>
|
|
||||||
<translation>Przełączaj do poprzedniego trybu po zakończeniu debugowania.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Switch to previous mode on debugger exit</source>
|
<source>Switch to previous mode on debugger exit</source>
|
||||||
<translation>Przełączaj do poprzedniego trybu po zakończeniu debugowania</translation>
|
<translation>Przełączaj do poprzedniego trybu po zakończeniu debugowania</translation>
|
||||||
@@ -822,7 +814,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Use asynchronous mode to control the inferior</source>
|
<source>Use asynchronous mode to control the inferior</source>
|
||||||
<translation>Użyj trybu asynchronicznego do kontrolowania podprocesu</translation>
|
<translation>Używaj trybu asynchronicznego do kontrolowania podprocesu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GDB</source>
|
<source>GDB</source>
|
||||||
@@ -872,7 +864,7 @@ I tak np. kod atomowego licznika referencji będzie pominięty, a pojedyncze &qu
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Stop when a qWarning is issued</source>
|
<source>Stop when a qWarning is issued</source>
|
||||||
<translation>Zatrzymaj kiedy wystąpi qWarning</translation>
|
<translation>Zatrzymuj kiedy wystąpi qWarning</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Always try to set breakpoints in plugins automatically</source>
|
<source>Always try to set breakpoints in plugins automatically</source>
|
||||||
@@ -880,7 +872,7 @@ I tak np. kod atomowego licznika referencji będzie pominięty, a pojedyncze &qu
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Stop when a qFatal is issued</source>
|
<source>Stop when a qFatal is issued</source>
|
||||||
<translation>Zatrzymaj kiedy wystąpi qFatal</translation>
|
<translation>Zatrzymuj kiedy wystąpi qFatal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This adds common paths to locations of debug information at debugger startup.</source>
|
<source>This adds common paths to locations of debug information at debugger startup.</source>
|
||||||
@@ -1203,7 +1195,7 @@ I tak np. kod atomowego licznika referencji będzie pominięty, a pojedyncze &qu
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Would you like to delete the <b>unmerged</b> branch '%1'?</source>
|
<source>Would you like to delete the <b>unmerged</b> branch '%1'?</source>
|
||||||
<translation>Czy chcesz usunąć <b>niescaloną</b> gałąź "%1"?</translation>
|
<translation>Czy usunąć <b>niescaloną</b> gałąź "%1"?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Delete Branch</source>
|
<source>Delete Branch</source>
|
||||||
@@ -1211,7 +1203,7 @@ I tak np. kod atomowego licznika referencji będzie pominięty, a pojedyncze &qu
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Would you like to delete the branch '%1'?</source>
|
<source>Would you like to delete the branch '%1'?</source>
|
||||||
<translation>Czy chcesz usunąć gałąź "%1"?</translation>
|
<translation>Czy usunąć gałąź "%1"?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Re&fresh</source>
|
<source>Re&fresh</source>
|
||||||
@@ -2187,10 +2179,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Qt4ProjectManager::Internal::Qt4ProjectConfigWidget</name>
|
<name>Qt4ProjectManager::Internal::Qt4ProjectConfigWidget</name>
|
||||||
<message>
|
|
||||||
<source>Manage</source>
|
|
||||||
<translation>Zarządzaj</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source><a href="import">Import existing build</a></source>
|
<source><a href="import">Import existing build</a></source>
|
||||||
<translation><a href="import">Zaimportuj istniejącą wersję</a></translation>
|
<translation><a href="import">Zaimportuj istniejącą wersję</a></translation>
|
||||||
@@ -2275,6 +2263,10 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum
|
|||||||
<source>Build directory:</source>
|
<source>Build directory:</source>
|
||||||
<translation>Katalog wersji:</translation>
|
<translation>Katalog wersji:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Manage...</source>
|
||||||
|
<translation>Zarządzaj...</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ShowBuildLog</name>
|
<name>ShowBuildLog</name>
|
||||||
@@ -2633,7 +2625,7 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unable to send command line arguments to the already running instance. It appears to be not responding. Do you want to start a new instance of Creator?</source>
|
<source>Unable to send command line arguments to the already running instance. It appears to be not responding. Do you want to start a new instance of Creator?</source>
|
||||||
<translation>Nie można wysłać argumentów do uruchomionego programu. Wygląda na to, że program nie odpowiada. Czy chcesz uruchomić nową instancję Creatora?</translation>
|
<translation>Nie można wysłać argumentów do uruchomionego programu. Wygląda na to, że program nie odpowiada. Czy uruchomić nową instancję Creatora?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Could not find 'Core.pluginspec' in %1</source>
|
<source>Could not find 'Core.pluginspec' in %1</source>
|
||||||
@@ -3118,7 +3110,7 @@ Przyczyna: %3</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The unsaved file <i>%1</i> has been changed outside Qt Creator. Do you want to reload it and discard your changes?</source>
|
<source>The unsaved file <i>%1</i> has been changed outside Qt Creator. Do you want to reload it and discard your changes?</source>
|
||||||
<translation>Niezachowany plik <i>%1</i> został zmieniony na zewnątrz Qt Creatora. Czy chcesz go ponownie załadować tracąc swoje zmiany?</translation>
|
<translation>Niezachowany plik <i>%1</i> został zmieniony na zewnątrz Qt Creatora. Czy chcesz ponownie go załadować tracąc swoje zmiany?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The file <i>%1</i> has changed outside Qt Creator. Do you want to reload it?</source>
|
<source>The file <i>%1</i> has changed outside Qt Creator. Do you want to reload it?</source>
|
||||||
@@ -3865,7 +3857,7 @@ Przyczyna: %3</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>An item named '%1' already exists at this location. Do you want to overwrite it?</source>
|
<source>An item named '%1' already exists at this location. Do you want to overwrite it?</source>
|
||||||
<translation>Element o nazwie "%1" istnieje już w tym miejscu. Czy chcesz go nadpisać?</translation>
|
<translation>Element o nazwie "%1" istnieje już w tym miejscu. Czy nadpisać go?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save File As</source>
|
<source>Save File As</source>
|
||||||
@@ -4401,7 +4393,7 @@ Przyczyna: %3</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>CppTools::Internal::CppFunctionsFilter</name>
|
<name>CppTools::Internal::CppFunctionsFilter</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Methods and functions</source>
|
<source>Methods and Functions</source>
|
||||||
<translation>Metody i funkcje</translation>
|
<translation>Metody i funkcje</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@@ -4659,11 +4651,11 @@ Przyczyna: %3</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do you want to commit the change?</source>
|
<source>Do you want to commit the change?</source>
|
||||||
<translation>Czy chcesz wrzucić zmianę?</translation>
|
<translation>Czy wrzucić zmianę?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The commit message check failed. Do you want to commit the change?</source>
|
<source>The commit message check failed. Do you want to commit the change?</source>
|
||||||
<translation>Błąd podczas sprawdzania opisu wrzucanych zmian. Czy chcesz wrzucić zmianę?</translation>
|
<translation>Błąd podczas sprawdzania opisu wrzucanych zmian. Czy wrzucić zmianę?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The files do not differ.</source>
|
<source>The files do not differ.</source>
|
||||||
@@ -4675,7 +4667,7 @@ Przyczyna: %3</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Revert all pending changes to the repository?</source>
|
<source>Revert all pending changes to the repository?</source>
|
||||||
<translation>Czy chcesz odwrócić wszystkie oczekujące zmiany w repozytorium?</translation>
|
<translation>Czy odwrócić wszystkie oczekujące zmiany w repozytorium?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Revert failed: %1</source>
|
<source>Revert failed: %1</source>
|
||||||
@@ -4683,7 +4675,7 @@ Przyczyna: %3</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The file has been changed. Do you want to revert it?</source>
|
<source>The file has been changed. Do you want to revert it?</source>
|
||||||
<translation>Plik został zmieniony. Czy chcesz odwrócić w nim zmiany?</translation>
|
<translation>Plik został zmieniony. Czy odwrócić w nim zmiany?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Another commit is currently being executed.</source>
|
<source>Another commit is currently being executed.</source>
|
||||||
@@ -5726,6 +5718,10 @@ Może to spowodować uzyskanie błędnych rezultatów.</translation>
|
|||||||
<source>The gdb process crashed some time after starting successfully.</source>
|
<source>The gdb process crashed some time after starting successfully.</source>
|
||||||
<translation>Proces gdb zakończony błędem po poprawnym uruchomieniu.</translation>
|
<translation>Proces gdb zakończony błędem po poprawnym uruchomieniu.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The gdb process was ended forcefully</source>
|
||||||
|
<translation>Wymuszono zakończenie procesu gdb</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>An error occurred when attempting to write to the gdb process. For example, the process may not be running, or it may have closed its input channel.</source>
|
<source>An error occurred when attempting to write to the gdb process. For example, the process may not be running, or it may have closed its input channel.</source>
|
||||||
<translation>Wystąpił błąd podczas próby pisania do procesu gdb. Być może proces nie jest uruchomiony lub zamknął on swój kanał wejściowy.</translation>
|
<translation>Wystąpił błąd podczas próby pisania do procesu gdb. Być może proces nie jest uruchomiony lub zamknął on swój kanał wejściowy.</translation>
|
||||||
@@ -7045,6 +7041,10 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>FakeVim::Internal::FakeVimPluginPrivate</name>
|
<name>FakeVim::Internal::FakeVimPluginPrivate</name>
|
||||||
|
<message>
|
||||||
|
<source>Execute User Action #%1</source>
|
||||||
|
<translation>Wykonaj akcję użytkownika #%1</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>File not saved</source>
|
<source>File not saved</source>
|
||||||
<translation>Plik nie został zachowany</translation>
|
<translation>Plik nie został zachowany</translation>
|
||||||
@@ -7456,7 +7456,7 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Would you like to stash your changes?</source>
|
<source>Would you like to stash your changes?</source>
|
||||||
<translation>Chcesz odłożyć swoje zmiany?</translation>
|
<translation>Czy odłożyć Twoje zmiany?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cannot obtain status: %1</source>
|
<source>Cannot obtain status: %1</source>
|
||||||
@@ -7682,10 +7682,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
<source>Alt+G,Alt+K</source>
|
<source>Alt+G,Alt+K</source>
|
||||||
<translation>Alt+G,Alt+K</translation>
|
<translation>Alt+G,Alt+K</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Undo Uncommited Changes...</source>
|
|
||||||
<translation>Cofnij niewrzucone zmiany...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Remotes...</source>
|
<source>Remotes...</source>
|
||||||
<translation>Zdalne repozytoria...</translation>
|
<translation>Zdalne repozytoria...</translation>
|
||||||
@@ -7802,7 +7798,7 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Git will not accept this commit. Do you want to continue to edit it?</source>
|
<source>Git will not accept this commit. Do you want to continue to edit it?</source>
|
||||||
<translation>Git nie zaakceptuje tej zmiany. Czy chcesz kontynuować edycję?</translation>
|
<translation>Git nie zaakceptuje tej zmiany. Czy kontynuować edycję?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unable to retrieve file list</source>
|
<source>Unable to retrieve file list</source>
|
||||||
@@ -7848,6 +7844,10 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
<source>Status</source>
|
<source>Status</source>
|
||||||
<translation>Stan</translation>
|
<translation>Stan</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Undo Uncommitted Changes...</source>
|
||||||
|
<translation>Cofnij niewrzucone zmiany...</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Clean...</source>
|
<source>Clean...</source>
|
||||||
<translation>Wyczyść...</translation>
|
<translation>Wyczyść...</translation>
|
||||||
@@ -7890,7 +7890,7 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do you want to commit the change?</source>
|
<source>Do you want to commit the change?</source>
|
||||||
<translation>Czy chcesz wrzucić zmianę?</translation>
|
<translation>Czy wrzucić zmianę?</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -8521,8 +8521,8 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
%2</translation>
|
%2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>File &pattern:</source>
|
<source>Fi&le pattern:</source>
|
||||||
<translation>&Wzorzec:</translation>
|
<translation>&Wzorzec pliku:</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -8638,21 +8638,37 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
|
|||||||
<translation>Usuń</translation>
|
<translation>Usuń</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Rename</source>
|
<source>Cancel Build && Remove Build Configuration</source>
|
||||||
<translation>Zmień nazwę</translation>
|
<translation>Przerwij budowanie i usuń konfigurację budowania</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do Not Remove</source>
|
||||||
|
<translation>Nie usuwaj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove Build Configuration %1?</source>
|
||||||
|
<translation>Usunąć konfigurację budowania %1?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The build configuration <b>%1</b> is currently being built.</source>
|
||||||
|
<translation>Konfiguracja budowania <b>%1</b> jest w tej chwili wykorzystywana.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do you want to cancel the build process and remove the Build Configuration anyway?</source>
|
||||||
|
<translation>Czy przerwać budowanie i usunąć tę konfigurację?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove Build Configuration?</source>
|
||||||
|
<translation>Usunąć konfigurację budowania?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do you really want to delete build configuration <b>%1</b>?</source>
|
||||||
|
<translation>Czy na pewno usunąć konfigurację budowania <b>%1</b>?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Clone Selected</source>
|
<source>&Clone Selected</source>
|
||||||
<translation>S&klonuj wybraną</translation>
|
<translation>S&klonuj wybraną</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove Build Configuration</source>
|
|
||||||
<translation>Usuń konfigurację budowania</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Do you really want to delete the build configuration <b>%1</b>?</source>
|
|
||||||
<translation>Czy na pewno usunąć konfigurację budowania <b>%1</b>?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rename...</source>
|
<source>Rename...</source>
|
||||||
<translation>Zmień nazwę...</translation>
|
<translation>Zmień nazwę...</translation>
|
||||||
@@ -8850,11 +8866,11 @@ Powód: %2</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unset <a href="%1"><b>%1</b></a></source>
|
<source>Unset <a href="%1"><b>%1</b></a></source>
|
||||||
<translation>Usuń <a href="%1"><b>%1</b></a></translation>
|
<translation>Usunięto <a href="%1"><b>%1</b></a></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Set <a href="%1"><b>%1</b></a> to <b>%2</b></source>
|
<source>Set <a href="%1"><b>%1</b></a> to <b>%2</b></source>
|
||||||
<translation>Ustaw <a href="%1"><b>%1</b></a> na <b>%2</b></translation>
|
<translation>Ustawiono <a href="%1"><b>%1</b></a> na <b>%2</b></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Using <b>%1</b></source>
|
<source>Using <b>%1</b></source>
|
||||||
@@ -8862,7 +8878,7 @@ Powód: %2</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Using <b>%1</b> and</source>
|
<source>Using <b>%1</b> and</source>
|
||||||
<translation>Użyto: <b>%1</b> i</translation>
|
<translation>Użyto: <b>%1</b> oraz</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -9072,6 +9088,10 @@ Powód: %2</translation>
|
|||||||
<source>Delete File...</source>
|
<source>Delete File...</source>
|
||||||
<translation>Usuń plik...</translation>
|
<translation>Usuń plik...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rename...</source>
|
||||||
|
<translation>Zmień nazwę...</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Collapse All</source>
|
<source>Collapse All</source>
|
||||||
<translation>Zwiń wszystko</translation>
|
<translation>Zwiń wszystko</translation>
|
||||||
@@ -9088,9 +9108,29 @@ Powód: %2</translation>
|
|||||||
<source>Failed to open project</source>
|
<source>Failed to open project</source>
|
||||||
<translation>Nie można otworzyć projektu</translation>
|
<translation>Nie można otworzyć projektu</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel Build && Unload</source>
|
||||||
|
<translation>Przerwij budowanie i wyładuj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do Not Unload</source>
|
||||||
|
<translation>Nie wyładowuj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unload Project %1?</source>
|
||||||
|
<translation>Wyładować projekt %1?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The project %1 is currently being built.</source>
|
||||||
|
<translation>Trwa budowanie projektu %1.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do you want to cancel the build process and unload the project anyway?</source>
|
||||||
|
<translation>Czy przerwać budowanie i wyładować projekt?</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cancel Build && Close</source>
|
<source>Cancel Build && Close</source>
|
||||||
<translation>Anuluj budowanie i zamknij</translation>
|
<translation>Przerwij budowanie i zamknij</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do Not Close</source>
|
<source>Do Not Close</source>
|
||||||
@@ -9106,7 +9146,7 @@ Powód: %2</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do you want to cancel the build process and close Qt Creator anyway?</source>
|
<source>Do you want to cancel the build process and close Qt Creator anyway?</source>
|
||||||
<translation>Czy chcesz anulować proces budowania i zamknąć Qt Creatora?</translation>
|
<translation>Czy przerwać budowanie i zamknąć Qt Creatora?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Subproject</source>
|
<source>New Subproject</source>
|
||||||
@@ -9143,7 +9183,7 @@ Powód: %2</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cancel Build</source>
|
<source>Cancel Build</source>
|
||||||
<translation>Anuluj budowanie</translation>
|
<translation>Przerwij budowanie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Add New...</source>
|
<source>Add New...</source>
|
||||||
@@ -9157,10 +9197,6 @@ Powód: %2</translation>
|
|||||||
<source>Remove File...</source>
|
<source>Remove File...</source>
|
||||||
<translation>Usuń plik...</translation>
|
<translation>Usuń plik...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rename</source>
|
|
||||||
<translation>Zmień nazwę</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Set as Active Project</source>
|
<source>Set as Active Project</source>
|
||||||
<translation>Ustaw jako aktywny projekt</translation>
|
<translation>Ustaw jako aktywny projekt</translation>
|
||||||
@@ -9389,10 +9425,6 @@ do projektu "%2".</translation>
|
|||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>Usuń</translation>
|
<translation>Usuń</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rename</source>
|
|
||||||
<translation>Zmień nazwę</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Deployment</source>
|
<source>Deployment</source>
|
||||||
<translation>Instalacja</translation>
|
<translation>Instalacja</translation>
|
||||||
@@ -9425,17 +9457,37 @@ do projektu "%2".</translation>
|
|||||||
<source>New name for run configuration <b>%1</b>:</source>
|
<source>New name for run configuration <b>%1</b>:</source>
|
||||||
<translation>Nowa nazwa dla konfiguracji uruchamiania <b>%1</b>:</translation>
|
<translation>Nowa nazwa dla konfiguracji uruchamiania <b>%1</b>:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel Build && Remove Deploy Configuration</source>
|
||||||
|
<translation>Przerwij budowanie i usuń konfigurację instalacji</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do Not Remove</source>
|
||||||
|
<translation>Nie usuwaj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove Deploy Configuration %1?</source>
|
||||||
|
<translation>Usunąć konfigurację instalacji %1?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The deploy configuration <b>%1</b> is currently being built.</source>
|
||||||
|
<translation>Konfiguracja instalacji <b>%1</b> jest w tej chwili wykorzystywana.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do you want to cancel the build process and remove the Deploy Configuration anyway?</source>
|
||||||
|
<translation>Czy przerwać budowanie i usunąć tę konfigurację?</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Remove Deploy Configuration?</source>
|
<source>Remove Deploy Configuration?</source>
|
||||||
<translation>Usunąć konfigurację instalowania?</translation>
|
<translation>Usunąć konfigurację instalacji?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Do you really want to delete deploy configuration <b>%1</b>?</source>
|
<source>Do you really want to delete deploy configuration <b>%1</b>?</source>
|
||||||
<translation>Czy na pewno usunąć konfigurację instalowania <b>%1</b>?</translation>
|
<translation>Czy na pewno usunąć konfigurację instalacji <b>%1</b>?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New name for deploy configuration <b>%1</b>:</source>
|
<source>New name for deploy configuration <b>%1</b>:</source>
|
||||||
<translation>Nowa nazwa dla konfiguracji instalowania <b>%1</b>:</translation>
|
<translation>Nowa nazwa dla konfiguracji instalacji <b>%1</b>:</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -9672,10 +9724,6 @@ do projektu "%2".</translation>
|
|||||||
<source>Enable QML debugging:</source>
|
<source>Enable QML debugging:</source>
|
||||||
<translation>Włącz debugowanie QML:</translation>
|
<translation>Włącz debugowanie QML:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Link QML debugging library:</source>
|
|
||||||
<translation>Dowiąż bibliotekę debugującą QML:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Might make your application vulnerable. Only use in a safe environment.</source>
|
<source>Might make your application vulnerable. Only use in a safe environment.</source>
|
||||||
<translation>Może to sprawić, że aplikacja będzie podatna na ataki. Używaj tylko w bezpiecznym środowisku.</translation>
|
<translation>Może to sprawić, że aplikacja będzie podatna na ataki. Używaj tylko w bezpiecznym środowisku.</translation>
|
||||||
@@ -10076,8 +10124,8 @@ Wstępnie wybiera wersję desktopową Qt do budowania aplikacji (jeśli jest dos
|
|||||||
<translation>Biblioteka C++</translation>
|
<translation>Biblioteka C++</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>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>.</source>
|
<source>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></source>
|
||||||
<translation>Tworzy bibliotekę C++ bazującą na qmake. To pozwala na utworzenie:<ul><li>dzielonej biblioteki C++ zdolnej do ładowania wtyczek za pomocą <tt>QPluginLoader</tt></li><li>dzielonej lub statycznej biblioteki C++ ,którą można dowiązać do innego projektu</li></ul>.</translation>
|
<translation>Tworzy bibliotekę C++ bazującą na qmake. To pozwala na utworzenie:<ul><li>dzielonej biblioteki C++, zdolnej do ładowania wtyczek za pomocą <tt>QPluginLoader</tt></li><li>dzielonej lub statycznej biblioteki C++, którą można dowiązać do innego projektu</li></ul></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -10565,7 +10613,7 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-&indent Selection</source>
|
<source>Auto-&indent Selection</source>
|
||||||
<translation>Automatyczne wc&ięcia dla selekcji</translation>
|
<translation>Sformatuj wc&ięcia w zaznaczonym tekście</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Ctrl+I</source>
|
<source>Ctrl+I</source>
|
||||||
@@ -10681,7 +10729,7 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Toggle Comment &Selection</source>
|
<source>Toggle Comment &Selection</source>
|
||||||
<translation>Wykomentuj / odkomentuj &selekcję</translation>
|
<translation>Wykomentuj / odkomentuj zaznaczony tek&st</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy &Line</source>
|
<source>Copy &Line</source>
|
||||||
@@ -11340,7 +11388,7 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation>
|
|||||||
<translation>Pokaż zakładkę</translation>
|
<translation>Pokaż zakładkę</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Show Bookmark in New Tab</source>
|
<source>Show Bookmark as New Page</source>
|
||||||
<translation>Pokaż zakładkę w nowej karcie</translation>
|
<translation>Pokaż zakładkę w nowej karcie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
@@ -12281,7 +12329,7 @@ Możesz odłożyć zmiany lub je porzucić.</translation>
|
|||||||
<translation>np. https://[użytkownik[:hasło]@]host[:port]/[ścieżka]</translation>
|
<translation>np. https://[użytkownik[:hasło]@]host[:port]/[ścieżka]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Specify Url:</source>
|
<source>Specify URL:</source>
|
||||||
<translation>Podaj URL:</translation>
|
<translation>Podaj URL:</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@@ -13720,6 +13768,14 @@ Użyj właściwości importPaths dla projektów qmlproject aby dodać scieżki i
|
|||||||
<comment>Default short title for custom wizard page to be shown in the progress pane of the wizard.</comment>
|
<comment>Default short title for custom wizard page to be shown in the progress pane of the wizard.</comment>
|
||||||
<translation>Szczegóły</translation>
|
<translation>Szczegóły</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Creates a plain C project using qmake, not using the Qt library.</source>
|
||||||
|
<translation>Tworzy zwykły projekt C używający qmake, nie używający biblioteki Qt.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Creates a plain C++ project using qmake, not using the Qt library.</source>
|
||||||
|
<translation>Tworzy zwykły projekt C++ używający qmake, nie używający biblioteki Qt.</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a C++ plugin that makes it possible to offer extensions that can be loaded dynamically into applications using the QDeclarativeEngine class.</source>
|
<source>Creates a C++ plugin that makes it possible to offer extensions that can be loaded dynamically into applications using the QDeclarativeEngine class.</source>
|
||||||
<translation>Tworzy wtyczkę C++ umożliwiającą rozszerzenia, które mogą być dynamicznie załadowane przy pomocy klasy QDeclarativeEngine.</translation>
|
<translation>Tworzy wtyczkę C++ umożliwiającą rozszerzenia, które mogą być dynamicznie załadowane przy pomocy klasy QDeclarativeEngine.</translation>
|
||||||
@@ -13756,22 +13812,18 @@ Użyj właściwości importPaths dla projektów qmlproject aby dodać scieżki i
|
|||||||
<source>Qt Creator plugin</source>
|
<source>Qt Creator plugin</source>
|
||||||
<translation>Wtyczka Qt Creatora</translation>
|
<translation>Wtyczka Qt Creatora</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>URL:</source>
|
||||||
|
<translation>URL:</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Other Project</source>
|
<source>Other Project</source>
|
||||||
<translation>Inny projekt</translation>
|
<translation>Inny projekt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Creates a plain C project using QMake, not using the Qt library.</source>
|
|
||||||
<translation>Tworzy zwykły projekt C używający QMake, nie używający biblioteki Qt.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Plain C Project</source>
|
<source>Plain C Project</source>
|
||||||
<translation>Zwykły projekt C</translation>
|
<translation>Zwykły projekt C</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Creates a plain C++ project using QMake, not using the Qt library.</source>
|
|
||||||
<translation>Tworzy zwykły projekt C++ używający QMake, nie używający biblioteki Qt.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Plain C++ Project</source>
|
<source>Plain C++ Project</source>
|
||||||
<translation>Zwykły projekt C++</translation>
|
<translation>Zwykły projekt C++</translation>
|
||||||
@@ -13800,10 +13852,6 @@ Użyj właściwości importPaths dla projektów qmlproject aby dodać scieżki i
|
|||||||
<source>Description:</source>
|
<source>Description:</source>
|
||||||
<translation>Opis:</translation>
|
<translation>Opis:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Url:</source>
|
|
||||||
<translation>Url:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Qt Creator sources:</source>
|
<source>Qt Creator sources:</source>
|
||||||
<translation>Źródła Qt Creatora:</translation>
|
<translation>Źródła Qt Creatora:</translation>
|
||||||
@@ -13983,6 +14031,26 @@ Użyj właściwości importPaths dla projektów qmlproject aby dodać scieżki i
|
|||||||
<source>No target defined.</source>
|
<source>No target defined.</source>
|
||||||
<translation>Brak zdefiniowanych produktów docelowych.</translation>
|
<translation>Brak zdefiniowanych produktów docelowych.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel Build && Remove Target</source>
|
||||||
|
<translation>Przerwij budowanie i usuń produkt docelowy</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do Not Remove</source>
|
||||||
|
<translation>Nie usuwaj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove Target %1?</source>
|
||||||
|
<translation>Usunąć produkt docelowy %1?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The target <b>%1</b> is currently being built.</source>
|
||||||
|
<translation>Trwa budowanie produktu docelowego <b>%1</b>.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Do you want to cancel the build process and remove the Target anyway?</source>
|
||||||
|
<translation>Czy przerwać budowanie i usunąć produkt docelowy?</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Qt Creator</source>
|
<source>Qt Creator</source>
|
||||||
<translation>Qt Creator</translation>
|
<translation>Qt Creator</translation>
|
||||||
@@ -14286,45 +14354,6 @@ Użyj właściwości importPaths dla projektów qmlproject aby dodać scieżki i
|
|||||||
<translation>Zamknij inne</translation>
|
<translation>Zamknij inne</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
|
||||||
<name>QmlJSEditor::Internal::QmlJSEditorFactory</name>
|
|
||||||
<message>
|
|
||||||
<source>Do you want to enable the experimental Qt Quick Designer?</source>
|
|
||||||
<translation>Czy chcesz włączyć eksperymentalnego Qt Quick Designera?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Enable Qt Quick Designer</source>
|
|
||||||
<translation>Włącz Qt Quick Designera</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Qt Creator -> About Plugins...</source>
|
|
||||||
<translation>Qt Creator -> Informacje o wtyczkach...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Help -> About Plugins...</source>
|
|
||||||
<translation>Pomoc -> Informacje o wtyczkach...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Enable experimental Qt Quick Designer?</source>
|
|
||||||
<translation>Włączyć Qt Quick Designera?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Do you want to enable the experimental Qt Quick Designer? After enabling it, you can access the visual design capabilities by switching to Design Mode. This can affect the overall stability of Qt Creator. To disable Qt Quick Designer again, visit the menu '%1' and disable 'QmlDesigner'.</source>
|
|
||||||
<translation>Czy chcesz włączyć eksperymentalny Qt Quick Designer? Po włączeniu możliwy jest dostęp do edytora graficznego przechodząc w tryb Design. Może to mieć wpływ na ogólną stabilność Qt Creatora. W menu "%1" można ponownie wyłączyć Qt Quick Designer naciskając "QmlDesigner".</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cancel</source>
|
|
||||||
<translation>Anuluj</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Please restart Qt Creator</source>
|
|
||||||
<translation>Uruchom ponownie Qt Creatora</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Please restart Qt Creator to make the change effective.</source>
|
|
||||||
<translation>Uruchom ponownie Qt Creatora aby zmiana mogła zostać zastosowana.</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
<context>
|
||||||
<name>QmlJSEditor::Internal::QmlJSEditorPlugin</name>
|
<name>QmlJSEditor::Internal::QmlJSEditorPlugin</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -14853,7 +14882,7 @@ Możesz przeglądać projekty przy pomocy QML Viewera bez ich uprzedniego budowa
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Display:</source>
|
<source>&Display:</source>
|
||||||
<translation>&Wyświetl:</translation>
|
<translation>&Wyświetlaj:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>entries</source>
|
<source>entries</source>
|
||||||
@@ -15398,8 +15427,8 @@ Sprawdź dokumentację SSH zmienną środowiskową SSH_ASKPASS.</translation>
|
|||||||
<translation>WidokSieci</translation>
|
<translation>WidokSieci</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Url</source>
|
<source>URL</source>
|
||||||
<translation>Url</translation>
|
<translation>URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pref Width</source>
|
<source>Pref Width</source>
|
||||||
@@ -15689,6 +15718,14 @@ które można ustawić poniżej.</translation>
|
|||||||
<source>Only select items with content (S)</source>
|
<source>Only select items with content (S)</source>
|
||||||
<translation>Wybierz tylko elementy z zawartością (S)</translation>
|
<translation>Wybierz tylko elementy z zawartością (S)</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>width</source>
|
||||||
|
<translation>szerokość</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>height</source>
|
||||||
|
<translation>wysokość</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reset view (R)</source>
|
<source>Reset view (R)</source>
|
||||||
<translation>Zresetuj widok (R)</translation>
|
<translation>Zresetuj widok (R)</translation>
|
||||||
@@ -17488,7 +17525,7 @@ zamiast w jego katalogu instalacyjnym.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<source>Deploy</source>
|
<source>Deploy</source>
|
||||||
<extracomment>Display name of the deploy build step list. Used as part of the labels in the project window.</extracomment>
|
<extracomment>Display name of the deploy build step list. Used as part of the labels in the project window.</extracomment>
|
||||||
<translation>Zainstaluj</translation>
|
<translation>instalacji</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No deployment</source>
|
<source>No deployment</source>
|
||||||
@@ -18207,10 +18244,10 @@ Wstępnie wybiera wersję Qt dla Symulatora i aplikacji mobilnych (jeśli jest d
|
|||||||
<message>
|
<message>
|
||||||
<source>Creates a Qt Quick application project that can contain both QML and C++ code and includes a QDeclarativeView.
|
<source>Creates a Qt Quick application project that can contain both QML and C++ code and includes a QDeclarativeView.
|
||||||
|
|
||||||
You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects. Moreover, you can select to use a set of premade UI components in your Qt Quick application. To utilize the components, Qt 4.7.3 or newer is required.</source>
|
You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects. Moreover, you can select to use a set of premade UI components in your Qt Quick application. To utilize the components, Qt 4.7.4 or newer is required.</source>
|
||||||
<translation>Tworzy projekt aplikacji Qt Quick, który może zawierać kod QML i C++ i dołącza QDeclarativeView
|
<translation>Tworzy projekt aplikacji Qt Quick, który może zawierać kod QML i C++, oraz dołącza QDeclarativeView.
|
||||||
|
|
||||||
Aplikację można zbudować i zainstalować na desktopie i urządzeniach mobilnych. Dla tego typu projektów można na przykład utworzyć podpisane pakiety Symbian Installation System (SIS). Ponadto, można użyć zestawu wbudowanych komponentów UI w aplikacji Qt Quick. Aby skorzystać z komponentów wymagana jest wersja Qt 4.7.3 albo nowsza.</translation>
|
Aplikację można zbudować i zainstalować na desktopie i urządzeniach mobilnych. Dla tego typu projektów można na przykład utworzyć podpisane pakiety Symbian Installation System (SIS). Ponadto, można użyć zestawu wbudowanych komponentów UI w aplikacji Qt Quick. Aby skorzystać z komponentów, wymagana jest wersja Qt 4.7.4 albo nowsza.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -19623,7 +19660,7 @@ Poprzednie wersje mają ograniczenia w budowaniu odpowiednich plików SIS.</tran
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Clean whitespace</source>
|
<source>&Clean whitespace</source>
|
||||||
<translation>Wy&czyść białe znaki</translation>
|
<translation>&Czyść białe znaki</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Clean whitespace in entire document instead of only for changed parts.</source>
|
<source>Clean whitespace in entire document instead of only for changed parts.</source>
|
||||||
@@ -19639,7 +19676,7 @@ Poprzednie wersje mają ograniczenia w budowaniu odpowiednich plików SIS.</tran
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Clean indentation</source>
|
<source>Clean indentation</source>
|
||||||
<translation>Wyczyść wcięcia</translation>
|
<translation>Czyść wcięcia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Ensure newline at end of file</source>
|
<source>&Ensure newline at end of file</source>
|
||||||
@@ -19671,7 +19708,7 @@ Poprzednie wersje mają ograniczenia w budowaniu odpowiednich plików SIS.</tran
|
|||||||
<li><i>Zachowuj, jeśli już istnieje: </i></li>zachowuje plik z BOM jeśli go posiadał podczas ładowania</li>
|
<li><i>Zachowuj, jeśli już istnieje: </i></li>zachowuje plik z BOM jeśli go posiadał podczas ładowania</li>
|
||||||
<li><i>Zawsze usuwaj:</i> nigdy nie zapisuje UTF-8 BOM kasując poprzednie wystąpienia.</li></ul>
|
<li><i>Zawsze usuwaj:</i> nigdy nie zapisuje UTF-8 BOM kasując poprzednie wystąpienia.</li></ul>
|
||||||
<p>Uwaga: UTF-8 BOMy występują rzadko i niektóre edytory traktują je za błędne, więc zwykle nie ma sensu ich dodawać.</p>
|
<p>Uwaga: UTF-8 BOMy występują rzadko i niektóre edytory traktują je za błędne, więc zwykle nie ma sensu ich dodawać.</p>
|
||||||
<p>To ustawienie <b>nie</b> nie wpływa na używanie BOMów UTF-16 i UTF-32.</p></body></html></translation>
|
<p>To ustawienie <b>nie</b> wpływa na używanie BOMów UTF-16 i UTF-32.</p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Add If Encoding Is UTF-8</source>
|
<source>Add If Encoding Is UTF-8</source>
|
||||||
@@ -19773,6 +19810,10 @@ Ustala, jak klawisz "Backspace" reaguje na wcięcia.
|
|||||||
<translation>Pokazuj &podpowiedzi
|
<translation>Pokazuj &podpowiedzi
|
||||||
tylko z przyciśniętym klawiszem "Shift"</translation>
|
tylko z przyciśniętym klawiszem "Shift"</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Always write a newline character at the end of the file.</source>
|
||||||
|
<translation>Zawsze wstawiaj znak nowej linii na końcu pliku.</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SnippetsSettingsPage</name>
|
<name>SnippetsSettingsPage</name>
|
||||||
@@ -19909,7 +19950,7 @@ tylko z przyciśniętym klawiszem "Shift"</translation>
|
|||||||
<name>Utils::EnvironmentModel</name>
|
<name>Utils::EnvironmentModel</name>
|
||||||
<message>
|
<message>
|
||||||
<source><UNSET></source>
|
<source><UNSET></source>
|
||||||
<translation><SKASUJ></translation>
|
<translation><USUNIĘTO></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Variable</source>
|
<source>Variable</source>
|
||||||
@@ -20889,8 +20930,8 @@ Uwaga: może to spowodować usunięcie lokalnego pliku.</translation>
|
|||||||
<translation>Komendy użytkownika nie są akceptowalne w bieżącym stanie.</translation>
|
<translation>Komendy użytkownika nie są akceptowalne w bieżącym stanie.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Qt4 Options</source>
|
<source>Open Qt Options</source>
|
||||||
<translation>Otwórz ustawienia Qt4</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Turn off Helper Usage</source>
|
<source>Turn off Helper Usage</source>
|
||||||
@@ -21812,13 +21853,13 @@ komponentów QML.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Color selection for %1</source>
|
<source>Color selection for %1</source>
|
||||||
<translation>Selekcja kolorów dla %1</translation>
|
<translation>Wybór koloru dla %1</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QmlJSTools::Internal::FunctionFilter</name>
|
<name>QmlJSTools::Internal::FunctionFilter</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Methods and functions</source>
|
<source>Methods and Functions</source>
|
||||||
<translation>Metody i funkcje</translation>
|
<translation>Metody i funkcje</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@@ -22894,7 +22935,7 @@ wyliczeniowych</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Align</source>
|
<source>Align</source>
|
||||||
<translation>Wyrównuj</translation>
|
<translation>Wyrównanie przeniesionych linii</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source><html><head/><body>
|
<source><html><head/><body>
|
||||||
@@ -22912,7 +22953,7 @@ a = a +
|
|||||||
</pre>
|
</pre>
|
||||||
</body></html></source>
|
</body></html></source>
|
||||||
<translation><html><head/><body>
|
<translation><html><head/><body>
|
||||||
Włącza wyrównywanie do znaków po =, += itd. Kiedy ta opcja jest wyłączona użyte zostanie zwykłe wyrównanie przeniesionych linii.<br>
|
Włącza wyrównywanie do znaków po =, +=, itd. Kiedy ta opcja jest wyłączona, użyte zostanie zwykłe wyrównanie przeniesionych linii.<br>
|
||||||
<br>
|
<br>
|
||||||
Z wyrównaniem:
|
Z wyrównaniem:
|
||||||
<pre>
|
<pre>
|
||||||
@@ -22928,7 +22969,8 @@ a = a +
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Align after assignments</source>
|
<source>Align after assignments</source>
|
||||||
<translation>Wyrównuj do znaków przypisania</translation>
|
<translation>Wyrównuj przeniesione linie
|
||||||
|
do znaków przypisania</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source><html><head/><body>
|
<source><html><head/><body>
|
||||||
@@ -22946,7 +22988,14 @@ if (a &&
|
|||||||
</pre>
|
</pre>
|
||||||
</body></html></source>
|
</body></html></source>
|
||||||
<translation><html><head/><body>
|
<translation><html><head/><body>
|
||||||
Dodatkowe wcięcie wpływa zwykle tylko na warunki instrukcji "if". Bez dodatkowego wcięcia:
|
Dodatkowe wcięcie wpływa zwykle tylko na warunki instrukcji "if", choć zależnie od
|
||||||
|
wielkości wcięć, może wpływać również na instrukcje "foreach", "switch" i "while".
|
||||||
|
Dodaktowe wcięcie dodawane jest w przypadku, gdy wyrównanie przeniesionej linii
|
||||||
|
byłoby mniejsze lub równe pojedynczemu wcięciu.<br>
|
||||||
|
<br>
|
||||||
|
Dla wcięć o rozmiarze 4 mamy:<br>
|
||||||
|
<br>
|
||||||
|
Bez dodatkowego wcięcia:
|
||||||
<pre>
|
<pre>
|
||||||
if (a &&
|
if (a &&
|
||||||
b)
|
b)
|
||||||
@@ -22963,8 +23012,9 @@ if (a &&
|
|||||||
<message>
|
<message>
|
||||||
<source>Add extra padding to conditions
|
<source>Add extra padding to conditions
|
||||||
if they would align to the next line</source>
|
if they would align to the next line</source>
|
||||||
<translation>Dodatkowe wcięcia
|
<translation>Dodatkowe wcięcia przeniesionych
|
||||||
w instrukcjach warunkowych</translation>
|
linii w instrukcjach "if", "foreach",
|
||||||
|
"switch" i "while", jeśli wymagane</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -23085,10 +23135,6 @@ w instrukcjach warunkowych</translation>
|
|||||||
<source>Show Log</source>
|
<source>Show Log</source>
|
||||||
<translation>Pokaż log</translation>
|
<translation>Pokaż log</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Compile debugging helpers that are checked.</source>
|
|
||||||
<translation>Kompiluje zaznaczonych asystentów debugowania.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Build All</source>
|
<source>Build All</source>
|
||||||
<translation>Zbuduj wszystko</translation>
|
<translation>Zbuduj wszystko</translation>
|
||||||
@@ -25457,14 +25503,6 @@ Requires Qt 4.7.1 or newer.</source>
|
|||||||
<translation>Wbudowane elementy w przestrzeni nazw QtQuick umożliwiają pisanie przenośnych aplikacji z przystosowalnym wyglądem.
|
<translation>Wbudowane elementy w przestrzeni nazw QtQuick umożliwiają pisanie przenośnych aplikacji z przystosowalnym wyglądem.
|
||||||
|
|
||||||
Wymaga Qt 4.7.1 lub nowszego.</translation>
|
Wymaga Qt 4.7.1 lub nowszego.</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>The Qt Quick Components for Symbian are a set of ready-made components that are designed with specific native appearance for the Symbian platform.
|
|
||||||
|
|
||||||
Requires Qt 4.7.3 or newer, and the component set installed for your Qt version.</source>
|
|
||||||
<translation>Komponenty Qt Quick dla Symbiana to zestaw gotowych komponentów o natywnym wyglądzie, zaprojektowanych specjalnie dla Symbiana.
|
|
||||||
|
|
||||||
Wymaga Qt 4.7.3 lub nowszego oraz zainstalowanego zestawu komponentów dla tej wersji.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All files and directories that reside in the same directory as the main QML file are deployed. You can modify the contents of the directory any time before deploying.</source>
|
<source>All files and directories that reside in the same directory as the main QML file are deployed. You can modify the contents of the directory any time before deploying.</source>
|
||||||
@@ -25480,6 +25518,14 @@ Wymaga Qt 4.7.3 lub nowszego oraz zainstalowanego zestawu komponentów dla tej w
|
|||||||
Requires Qt 4.7.4 or newer, and the component set installed for your Qt version.</source>
|
Requires Qt 4.7.4 or newer, and the component set installed for your Qt version.</source>
|
||||||
<translation>Komponenty Qt Quick dla MeeGo/Harmattan to zestaw gotowych komponentów o natywnym wyglądzie, zaprojektowanych specjalnie dla Meego/Harmattan.
|
<translation>Komponenty Qt Quick dla MeeGo/Harmattan to zestaw gotowych komponentów o natywnym wyglądzie, zaprojektowanych specjalnie dla Meego/Harmattan.
|
||||||
|
|
||||||
|
Wymaga Qt 4.7.4 lub nowszego oraz zainstalowanego zestawu komponentów dla tej wersji.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The Qt Quick Components for Symbian are a set of ready-made components that are designed with specific native appearance for the Symbian platform.
|
||||||
|
|
||||||
|
Requires Qt 4.7.4 or newer, and the component set installed for your Qt version.</source>
|
||||||
|
<translation>Komponenty Qt Quick dla Symbiana to zestaw gotowych komponentów o natywnym wyglądzie, zaprojektowanych specjalnie dla Symbiana.
|
||||||
|
|
||||||
Wymaga Qt 4.7.4 lub nowszego oraz zainstalowanego zestawu komponentów dla tej wersji.</translation>
|
Wymaga Qt 4.7.4 lub nowszego oraz zainstalowanego zestawu komponentów dla tej wersji.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@@ -25611,13 +25657,6 @@ Wymaga Qt 4.7.4 lub nowszego oraz zainstalowanego zestawu komponentów dla tej w
|
|||||||
<translation>%1 (bieżąca sesja)</translation>
|
<translation>%1 (bieżąca sesja)</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
|
||||||
<name>TagBrowser</name>
|
|
||||||
<message>
|
|
||||||
<source>Please choose a tag to filter for:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
<context>
|
||||||
<name>GenericProjectManager::Internal::FilesSelectionWizardPage</name>
|
<name>GenericProjectManager::Internal::FilesSelectionWizardPage</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -26164,22 +26203,6 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
|
|||||||
<source>Analyzer Toolbar</source>
|
<source>Analyzer Toolbar</source>
|
||||||
<translation>Pasek narzędzi analizatora</translation>
|
<translation>Pasek narzędzi analizatora</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source><html><head/><body><center><i>%1</i> is still running. You have to quit the Analyzer before being able to run another instance.<center/><center>Force it to quit?</center></body></html></source>
|
|
||||||
<translation><html><head/><body><center><i>%1</i> jest wciąż uruchomiony. Należy zakończyć pracę analizatora przed uruchomieniem kolejnej instancji.<center/><center>Wymusić zakończenie?</center></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Analyzer Still Running</source>
|
|
||||||
<translation>Analizator wciąż uruchomiony</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Stop Active Run</source>
|
|
||||||
<translation>Zatrzymaj</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Keep Running</source>
|
|
||||||
<translation>Pozostaw uruchomionym</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Debug</source>
|
<source>Debug</source>
|
||||||
<translation>Debug</translation>
|
<translation>Debug</translation>
|
||||||
@@ -26533,10 +26556,6 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
|
|||||||
<source>Set as Default</source>
|
<source>Set as Default</source>
|
||||||
<translation>Ustaw jako domyślny</translation>
|
<translation>Ustaw jako domyślny</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>&Add</source>
|
|
||||||
<translation>&Dodaj</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>&Remove</source>
|
<source>&Remove</source>
|
||||||
<translation>&Usuń</translation>
|
<translation>&Usuń</translation>
|
||||||
@@ -26553,6 +26572,10 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
|
|||||||
<source>&Generate SSH Key...</source>
|
<source>&Generate SSH Key...</source>
|
||||||
<translation>&Generuj klucz SSH...</translation>
|
<translation>&Generuj klucz SSH...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Add...</source>
|
||||||
|
<translation>&Dodaj...</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>LinuxDeviceTestDialog</name>
|
<name>LinuxDeviceTestDialog</name>
|
||||||
@@ -26696,25 +26719,6 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
|
|||||||
<translation>&Uaktualnij listę</translation>
|
<translation>&Uaktualnij listę</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
|
||||||
<name>ExampleLineEdit</name>
|
|
||||||
<message>
|
|
||||||
<source>Show Examples and Demos</source>
|
|
||||||
<translation>Pokaż przykłady i dema</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search in Tutorials</source>
|
|
||||||
<translation>Wyszukaj w samouczkach</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search in Tutorials, Examples and Demos</source>
|
|
||||||
<translation>Wyszukaj w samouczkach, przykładach i demach</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Tag List</source>
|
|
||||||
<translation>Lista tagów</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
<context>
|
||||||
<name>LinksBar</name>
|
<name>LinksBar</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -27044,12 +27048,12 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
|
|||||||
<translation>Test</translation>
|
<translation>Test</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Remote Processes</source>
|
<source>Remote Processes...</source>
|
||||||
<translation>Zdalne procesy</translation>
|
<translation>Zdalne procesy...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Deploy Public Key</source>
|
<source>Deploy Public Key...</source>
|
||||||
<translation>Zainstaluj klucz publiczny</translation>
|
<translation>Zainstaluj klucz publiczny...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -28194,7 +28198,9 @@ Jeśli zdecydujesz, żeby nie kontynuować, Qt Creator nie załaduje pliku .shar
|
|||||||
<source>The module URI cannot be determined by static analysis. The type will be available
|
<source>The module URI cannot be determined by static analysis. The type will be available
|
||||||
globally in the QML editor. You can add a "// @uri My.Module.Uri" annotation to let
|
globally in the QML editor. You can add a "// @uri My.Module.Uri" annotation to let
|
||||||
Qt Creator know about a likely URI.</source>
|
Qt Creator know about a likely URI.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Nie można określić URI modułu po zastosowaniu analizy statycznej. Typ będzie dostępny
|
||||||
|
globalnie w edytorze QML. Dodanie adnotacji "// @uri Uri.Mojego.Modułu"
|
||||||
|
poinstruuje Qt Creatora o URI.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>must be a string literal to be available in the QML editor</source>
|
<source>must be a string literal to be available in the QML editor</source>
|
||||||
@@ -28412,12 +28418,12 @@ Czy urządzenie jest podłączone i czy zostało skonfigurowane połączenie sie
|
|||||||
<translation>Test</translation>
|
<translation>Test</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Remote Processes</source>
|
<source>Remote Processes...</source>
|
||||||
<translation>Zdalne procesy</translation>
|
<translation>Zdalne procesy...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Deploy Public Key</source>
|
<source>Deploy Public Key...</source>
|
||||||
<translation>Instaluj klucz publiczny</translation>
|
<translation>Zainstaluj klucz publiczny...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -28880,6 +28886,18 @@ Zawartość zdalnego wyjścia z błędami: %1</translation>
|
|||||||
<source>Code style name:</source>
|
<source>Code style name:</source>
|
||||||
<translation>Nazwa stylu kodu:</translation>
|
<translation>Nazwa stylu kodu:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>You cannot save changes to a built-in code style. Copy it first to create your own version.</source>
|
||||||
|
<translation>Nie można zachować zmian we wbudowanym stylu kodu. W celu utworzenia własnej wersji skopiuj go najpierw.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copy Built-in Code Style</source>
|
||||||
|
<translation>Skopiuj wbudowany styl kodu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 (Copy)</source>
|
||||||
|
<translation>%1 (Kopia)</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>TextEditor::CodeStyleSelectorWidget</name>
|
<name>TextEditor::CodeStyleSelectorWidget</name>
|
||||||
@@ -28955,6 +28973,10 @@ Zawartość zdalnego wyjścia z błędami: %1</translation>
|
|||||||
<source>%1 [built-in]</source>
|
<source>%1 [built-in]</source>
|
||||||
<translation>%1 [wbudowane]</translation>
|
<translation>%1 [wbudowane]</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Form</source>
|
||||||
|
<translation>Formularz</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>TextEditor::FindInFiles</name>
|
<name>TextEditor::FindInFiles</name>
|
||||||
@@ -28979,8 +29001,8 @@ Filtr: %2
|
|||||||
<translation>&Katalog:</translation>
|
<translation>&Katalog:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Browse</source>
|
<source>&Browse...</source>
|
||||||
<translation>&Przeglądaj</translation>
|
<translation>&Przeglądaj...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Fi&le pattern:</source>
|
<source>Fi&le pattern:</source>
|
||||||
@@ -28993,6 +29015,14 @@ Filtr: %2
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>UpdateInfo::Internal::UpdateInfoPlugin</name>
|
<name>UpdateInfo::Internal::UpdateInfoPlugin</name>
|
||||||
|
<message>
|
||||||
|
<source>Could not determine location of maintenance tool. Please check your installation if you did not enable this plugin manually.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Could not find maintenance tool at '%1'. Check your installation.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Start Updater</source>
|
<source>Start Updater</source>
|
||||||
<translation>Uruchom uaktualniacza</translation>
|
<translation>Uruchom uaktualniacza</translation>
|
||||||
|
@@ -45,22 +45,6 @@
|
|||||||
<source>Analyzer Toolbar</source>
|
<source>Analyzer Toolbar</source>
|
||||||
<translation>Панель анализатора</translation>
|
<translation>Панель анализатора</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source><html><head/><body><center><i>%1</i> is still running. You have to quit the Analyzer before being able to run another instance.<center/><center>Force it to quit?</center></body></html></source>
|
|
||||||
<translation><html><head/><body><center><i>%1</i> ещё выполняется. Необходимо завершить анализатор для запуска другого экземпляра.</center><center>Желаете завершить?</center></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Analyzer Still Running</source>
|
|
||||||
<translation>Анализатор ещё работает</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Stop Active Run</source>
|
|
||||||
<translation>Остановить текущую работу</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Keep Running</source>
|
|
||||||
<translation>Продолжить выполнение</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Debug</source>
|
<source>Debug</source>
|
||||||
<translation>Отладка</translation>
|
<translation>Отладка</translation>
|
||||||
@@ -9184,6 +9168,10 @@ Reason: %3</source>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>FakeVim::Internal::FakeVimPluginPrivate</name>
|
<name>FakeVim::Internal::FakeVimPluginPrivate</name>
|
||||||
|
<message>
|
||||||
|
<source>Execute User Action #%1</source>
|
||||||
|
<translation>Выполнить особое действие №%1</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>File not saved</source>
|
<source>File not saved</source>
|
||||||
<translation>Файл не сохранён</translation>
|
<translation>Файл не сохранён</translation>
|
||||||
@@ -18210,6 +18198,14 @@ If you choose not to continue Qt Creator will not try to load the .shared file.<
|
|||||||
<source>Only select items with content (S)</source>
|
<source>Only select items with content (S)</source>
|
||||||
<translation>Выделять только элементы с содержимым (S)</translation>
|
<translation>Выделять только элементы с содержимым (S)</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>width</source>
|
||||||
|
<translation>ширина</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>height</source>
|
||||||
|
<translation>высота</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reset view (R)</source>
|
<source>Reset view (R)</source>
|
||||||
<translation>Сбросить вид (R)</translation>
|
<translation>Сбросить вид (R)</translation>
|
||||||
@@ -22232,10 +22228,6 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB.
|
|||||||
<source>Enable QML debugging:</source>
|
<source>Enable QML debugging:</source>
|
||||||
<translation>Включить отладку QML:</translation>
|
<translation>Включить отладку QML:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Link QML debugging library:</source>
|
|
||||||
<translation>Подключить библиотеку отладки QML:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Might make your application vulnerable. Only use in a safe environment.</source>
|
<source>Might make your application vulnerable. Only use in a safe environment.</source>
|
||||||
<translation>Может сделать приложение уязвимым. Используйте только в безопасном окружении.</translation>
|
<translation>Может сделать приложение уязвимым. Используйте только в безопасном окружении.</translation>
|
||||||
|
2
src/libs/3rdparty/botan/src/src.pro
vendored
2
src/libs/3rdparty/botan/src/src.pro
vendored
@@ -1,8 +1,6 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
TARGET = Botan
|
TARGET = Botan
|
||||||
|
|
||||||
CONFIG += dll
|
|
||||||
|
|
||||||
PRECOMPILED_HEADER = ../../precompiled_headers/botan_pch.h
|
PRECOMPILED_HEADER = ../../precompiled_headers/botan_pch.h
|
||||||
|
|
||||||
include(../../../../qtcreatorlibrary.pri)
|
include(../../../../qtcreatorlibrary.pri)
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG+=dll
|
|
||||||
TARGET = CPlusPlus
|
TARGET = CPlusPlus
|
||||||
|
|
||||||
DEFINES += NDEBUG
|
DEFINES += NDEBUG
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += dll
|
|
||||||
TARGET = GLSL
|
TARGET = GLSL
|
||||||
DEFINES += GLSL_BUILD_LIB QT_CREATOR
|
DEFINES += GLSL_BUILD_LIB QT_CREATOR
|
||||||
|
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += dll
|
|
||||||
TARGET = LanguageUtils
|
TARGET = LanguageUtils
|
||||||
DEFINES += QT_CREATOR
|
DEFINES += QT_CREATOR
|
||||||
|
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG+=dll
|
|
||||||
TARGET = QmlEditorWidgets
|
TARGET = QmlEditorWidgets
|
||||||
|
|
||||||
DEFINES += QWEAKPOINTER_ENABLE_ARROW
|
DEFINES += QWEAKPOINTER_ENABLE_ARROW
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += dll
|
|
||||||
TARGET = QmlJS
|
TARGET = QmlJS
|
||||||
DEFINES += QMLJS_BUILD_DIR QT_CREATOR
|
DEFINES += QMLJS_BUILD_DIR QT_CREATOR
|
||||||
|
|
||||||
|
@@ -149,7 +149,11 @@ void TypeDescriptionReader::readModule(UiObjectDefinition *ast)
|
|||||||
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
|
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
|
||||||
UiObjectMember *member = it->member;
|
UiObjectMember *member = it->member;
|
||||||
UiObjectDefinition *component = dynamic_cast<UiObjectDefinition *>(member);
|
UiObjectDefinition *component = dynamic_cast<UiObjectDefinition *>(member);
|
||||||
const QString typeName = toString(component->qualifiedTypeNameId);
|
|
||||||
|
QString typeName;
|
||||||
|
if (component)
|
||||||
|
typeName = toString(component->qualifiedTypeNameId);
|
||||||
|
|
||||||
if (!component || (typeName != "Component" && typeName != "ModuleApi")) {
|
if (!component || (typeName != "Component" && typeName != "ModuleApi")) {
|
||||||
addWarning(member->firstSourceLocation(), "Expected only 'Component' and 'ModuleApi' object definitions");
|
addWarning(member->firstSourceLocation(), "Expected only 'Component' and 'ModuleApi' object definitions");
|
||||||
continue;
|
continue;
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += dll
|
|
||||||
TARGET = QmlJSDebugClient
|
TARGET = QmlJSDebugClient
|
||||||
QT += network
|
QT += network
|
||||||
DEFINES += QMLJSDEBUGCLIENT_LIBRARY
|
DEFINES += QMLJSDEBUGCLIENT_LIBRARY
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG+=dll
|
|
||||||
TARGET = symbianutils
|
TARGET = symbianutils
|
||||||
DEFINES += SYMBIANUTILS_BUILD_LIB JSON_BUILD_LIB
|
DEFINES += SYMBIANUTILS_BUILD_LIB JSON_BUILD_LIB
|
||||||
include(../../qtcreatorlibrary.pri)
|
include(../../qtcreatorlibrary.pri)
|
||||||
|
@@ -3,7 +3,6 @@ TARGET = Utils
|
|||||||
QT += gui \
|
QT += gui \
|
||||||
network
|
network
|
||||||
|
|
||||||
CONFIG += dll
|
|
||||||
include(../../qtcreatorlibrary.pri)
|
include(../../qtcreatorlibrary.pri)
|
||||||
include(utils_dependencies.pri)
|
include(utils_dependencies.pri)
|
||||||
|
|
||||||
|
@@ -143,7 +143,6 @@ void CMakeOpenProjectWizard::init()
|
|||||||
{
|
{
|
||||||
setOption(QWizard::NoBackButtonOnStartPage);
|
setOption(QWizard::NoBackButtonOnStartPage);
|
||||||
setWindowTitle(tr("CMake Wizard"));
|
setWindowTitle(tr("CMake Wizard"));
|
||||||
setMinimumSize(800, 600);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeManager *CMakeOpenProjectWizard::cmakeManager() const
|
CMakeManager *CMakeOpenProjectWizard::cmakeManager() const
|
||||||
@@ -354,6 +353,7 @@ void CMakeRunPage::initWidgets()
|
|||||||
fl->addRow(m_exitCodeLabel);
|
fl->addRow(m_exitCodeLabel);
|
||||||
|
|
||||||
setTitle(tr("Run CMake"));
|
setTitle(tr("Run CMake"));
|
||||||
|
setMinimumSize(600, 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeRunPage::initializePage()
|
void CMakeRunPage::initializePage()
|
||||||
|
@@ -78,15 +78,16 @@ public:
|
|||||||
virtual void goToPrev() = 0;
|
virtual void goToPrev() = 0;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void popup() { popup(true); }
|
void popup() { popup(true, false); }
|
||||||
void popup(bool withFocus) { emit showPage(withFocus); }
|
void popup(bool withFocus) { popup(withFocus, false); }
|
||||||
|
void popup(bool withFocus, bool ensureSizeHint) { emit showPage(withFocus, ensureSizeHint); }
|
||||||
void hide() { emit hidePage(); }
|
void hide() { emit hidePage(); }
|
||||||
void toggle() { toggle(true); }
|
void toggle() { toggle(true); }
|
||||||
void toggle(bool withFocusIfShown) { emit togglePage(withFocusIfShown); }
|
void toggle(bool withFocusIfShown) { emit togglePage(withFocusIfShown); }
|
||||||
void navigateStateChanged() { emit navigateStateUpdate(); }
|
void navigateStateChanged() { emit navigateStateUpdate(); }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void showPage(bool withFocus);
|
void showPage(bool withFocus, bool ensureSizeHint);
|
||||||
void hidePage();
|
void hidePage();
|
||||||
void togglePage(bool withFocusIfShown);
|
void togglePage(bool withFocusIfShown);
|
||||||
void navigateStateUpdate();
|
void navigateStateUpdate();
|
||||||
|
@@ -143,6 +143,28 @@ bool OutputPanePlaceHolder::isMaximized() const
|
|||||||
return Internal::OutputPaneManager::instance()->isMaximized();
|
return Internal::OutputPaneManager::instance()->isMaximized();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OutputPanePlaceHolder::ensureSizeHintAsMinimum()
|
||||||
|
{
|
||||||
|
if (!d->m_splitter)
|
||||||
|
return;
|
||||||
|
int idx = d->m_splitter->indexOf(this);
|
||||||
|
if (idx < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
QList<int> sizes = d->m_splitter->sizes();
|
||||||
|
Internal::OutputPaneManager *om = Internal::OutputPaneManager::instance();
|
||||||
|
int minimum = (d->m_splitter->orientation() == Qt::Vertical
|
||||||
|
? om->sizeHint().height() : om->sizeHint().width());
|
||||||
|
int difference = minimum - sizes.at(idx);
|
||||||
|
if (difference <= 0) // is already larger
|
||||||
|
return;
|
||||||
|
for (int i = 0; i < sizes.count(); ++i) {
|
||||||
|
sizes[i] += difference / (sizes.count()-1);
|
||||||
|
}
|
||||||
|
sizes[idx] = minimum;
|
||||||
|
d->m_splitter->setSizes(sizes);
|
||||||
|
}
|
||||||
|
|
||||||
void OutputPanePlaceHolder::unmaximize()
|
void OutputPanePlaceHolder::unmaximize()
|
||||||
{
|
{
|
||||||
if (Internal::OutputPaneManager::instance()->isMaximized())
|
if (Internal::OutputPaneManager::instance()->isMaximized())
|
||||||
|
@@ -64,6 +64,7 @@ public:
|
|||||||
|
|
||||||
void unmaximize();
|
void unmaximize();
|
||||||
bool isMaximized() const;
|
bool isMaximized() const;
|
||||||
|
void ensureSizeHintAsMinimum();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void currentModeChanged(Core::IMode *);
|
void currentModeChanged(Core::IMode *);
|
||||||
|
@@ -254,7 +254,7 @@ void OutputPaneManager::init()
|
|||||||
const int idx = m_outputWidgetPane->addWidget(outPane->outputWidget(this));
|
const int idx = m_outputWidgetPane->addWidget(outPane->outputWidget(this));
|
||||||
|
|
||||||
m_pageMap.insert(idx, outPane);
|
m_pageMap.insert(idx, outPane);
|
||||||
connect(outPane, SIGNAL(showPage(bool)), this, SLOT(showPage(bool)));
|
connect(outPane, SIGNAL(showPage(bool,bool)), this, SLOT(showPage(bool,bool)));
|
||||||
connect(outPane, SIGNAL(hidePage()), this, SLOT(slotHide()));
|
connect(outPane, SIGNAL(hidePage()), this, SLOT(slotHide()));
|
||||||
connect(outPane, SIGNAL(togglePage(bool)), this, SLOT(togglePage(bool)));
|
connect(outPane, SIGNAL(togglePage(bool)), this, SLOT(togglePage(bool)));
|
||||||
connect(outPane, SIGNAL(navigateStateUpdate()), this, SLOT(updateNavigateState()));
|
connect(outPane, SIGNAL(navigateStateUpdate()), this, SLOT(updateNavigateState()));
|
||||||
@@ -431,10 +431,12 @@ void OutputPaneManager::updateNavigateState()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Slot connected to showPage signal of each page
|
// Slot connected to showPage signal of each page
|
||||||
void OutputPaneManager::showPage(bool focus)
|
void OutputPaneManager::showPage(bool focus, bool ensureSizeHint)
|
||||||
{
|
{
|
||||||
int idx = findIndexForPage(qobject_cast<IOutputPane*>(sender()));
|
int idx = findIndexForPage(qobject_cast<IOutputPane*>(sender()));
|
||||||
showPage(idx, focus);
|
showPage(idx, focus);
|
||||||
|
if (ensureSizeHint && OutputPanePlaceHolder::getCurrent())
|
||||||
|
OutputPanePlaceHolder::getCurrent()->ensureSizeHintAsMinimum();
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputPaneManager::showPage(int idx, bool focus)
|
void OutputPaneManager::showPage(int idx, bool focus)
|
||||||
|
@@ -78,7 +78,7 @@ protected:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void changePage();
|
void changePage();
|
||||||
void showPage(bool focus);
|
void showPage(bool focus, bool ensureSizeHint);
|
||||||
void togglePage(bool focus);
|
void togglePage(bool focus);
|
||||||
void clearPage();
|
void clearPage();
|
||||||
void buttonTriggered();
|
void buttonTriggered();
|
||||||
|
@@ -4,7 +4,6 @@ include(../../qtcreatorlibrary.pri)
|
|||||||
|
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
TARGET = DebuggingHelper
|
TARGET = DebuggingHelper
|
||||||
CONFIG += shared
|
|
||||||
DESTDIR = $$IDE_LIBRARY_PATH # /tmp would be better in some respect ...
|
DESTDIR = $$IDE_LIBRARY_PATH # /tmp would be better in some respect ...
|
||||||
|
|
||||||
linux-* {
|
linux-* {
|
||||||
|
@@ -3,7 +3,6 @@ include(../../qtcreatorlibrary.pri)
|
|||||||
|
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
TARGET = ptracepreload
|
TARGET = ptracepreload
|
||||||
CONFIG += shared
|
|
||||||
CONFIG -= qt
|
CONFIG -= qt
|
||||||
DESTDIR = $$IDE_LIBRARY_PATH
|
DESTDIR = $$IDE_LIBRARY_PATH
|
||||||
|
|
||||||
|
@@ -457,16 +457,16 @@ QString WatchModel::formattedValue(const WatchData &data) const
|
|||||||
QString result = value;
|
QString result = value;
|
||||||
if (result.startsWith(QLatin1Char('<'))) {
|
if (result.startsWith(QLatin1Char('<'))) {
|
||||||
if (result == QLatin1String("<Edit>"))
|
if (result == QLatin1String("<Edit>"))
|
||||||
result = WatchHandler::tr("<Edit>");
|
return WatchHandler::tr("<Edit>");
|
||||||
else if (result == QLatin1String("<empty>"))
|
if (result == QLatin1String("<empty>"))
|
||||||
result = WatchHandler::tr("<empty>");
|
return WatchHandler::tr("<empty>");
|
||||||
else if (result == QLatin1String("<uninitialized>"))
|
if (result == QLatin1String("<uninitialized>"))
|
||||||
result = WatchHandler::tr("<uninitialized>");
|
return WatchHandler::tr("<uninitialized>");
|
||||||
else if (result == QLatin1String("<invalid>"))
|
if (result == QLatin1String("<invalid>"))
|
||||||
result = WatchHandler::tr("<invalid>");
|
return WatchHandler::tr("<invalid>");
|
||||||
else if (result == QLatin1String("<not accessible>"))
|
if (result == QLatin1String("<not accessible>"))
|
||||||
result = WatchHandler::tr("<not accessible>");
|
return WatchHandler::tr("<not accessible>");
|
||||||
else if (result.endsWith(" items>")) {
|
if (result.endsWith(" items>")) {
|
||||||
// '<10 items>' or '<>10 items>' (more than)
|
// '<10 items>' or '<>10 items>' (more than)
|
||||||
bool ok;
|
bool ok;
|
||||||
const bool moreThan = result.at(1) == QLatin1Char('>');
|
const bool moreThan = result.at(1) == QLatin1Char('>');
|
||||||
@@ -475,7 +475,7 @@ QString WatchModel::formattedValue(const WatchData &data) const
|
|||||||
const int size = result.mid(numberPos, len).toInt(&ok);
|
const int size = result.mid(numberPos, len).toInt(&ok);
|
||||||
QTC_ASSERT(ok, qWarning("WatchHandler: Invalid item count '%s'",
|
QTC_ASSERT(ok, qWarning("WatchHandler: Invalid item count '%s'",
|
||||||
qPrintable(result)))
|
qPrintable(result)))
|
||||||
result = moreThan ?
|
return moreThan ?
|
||||||
WatchHandler::tr("<more than %n items>", 0, size) :
|
WatchHandler::tr("<more than %n items>", 0, size) :
|
||||||
WatchHandler::tr("<%n items>", 0, size);
|
WatchHandler::tr("<%n items>", 0, size);
|
||||||
}
|
}
|
||||||
|
@@ -991,7 +991,7 @@ bool FakeVimPluginPrivate::initialize()
|
|||||||
|
|
||||||
for (int i = 1; i < 10; ++i) {
|
for (int i = 1; i < 10; ++i) {
|
||||||
QAction *act = new QAction(this);
|
QAction *act = new QAction(this);
|
||||||
act->setText(QString("Execute User Action #%1").arg(i));
|
act->setText(tr("Execute User Action #%1").arg(i));
|
||||||
act->setData(i);
|
act->setData(i);
|
||||||
QString id = QString("FakeVim.UserAction%1").arg(i);
|
QString id = QString("FakeVim.UserAction%1").arg(i);
|
||||||
QString keys = QString("Alt+V,%1").arg(i);
|
QString keys = QString("Alt+V,%1").arg(i);
|
||||||
|
@@ -48,6 +48,7 @@
|
|||||||
#include <QtGui/QFont>
|
#include <QtGui/QFont>
|
||||||
#include <QtGui/QAction>
|
#include <QtGui/QAction>
|
||||||
#include <QtGui/QComboBox>
|
#include <QtGui/QComboBox>
|
||||||
|
#include <QtGui/QScrollArea>
|
||||||
#include <QtGui/QStackedWidget>
|
#include <QtGui/QStackedWidget>
|
||||||
|
|
||||||
static const char SETTINGSKEYSECTIONNAME[] = "SearchResults";
|
static const char SETTINGSKEYSECTIONNAME[] = "SearchResults";
|
||||||
@@ -209,7 +210,10 @@ SearchResultWindow::SearchResultWindow(QWidget *newSearchPanel)
|
|||||||
d->m_widget = new QStackedWidget;
|
d->m_widget = new QStackedWidget;
|
||||||
d->m_widget->setWindowTitle(displayName());
|
d->m_widget->setWindowTitle(displayName());
|
||||||
|
|
||||||
d->m_widget->addWidget(newSearchPanel);
|
QScrollArea *newSearchArea = new QScrollArea(d->m_widget);
|
||||||
|
newSearchArea->setFrameStyle(QFrame::NoFrame);
|
||||||
|
newSearchArea->setWidget(newSearchPanel);
|
||||||
|
d->m_widget->addWidget(newSearchArea);
|
||||||
d->m_currentIndex = 0;
|
d->m_currentIndex = 0;
|
||||||
|
|
||||||
d->m_expandCollapseButton = new QToolButton(d->m_widget);
|
d->m_expandCollapseButton = new QToolButton(d->m_widget);
|
||||||
@@ -400,7 +404,7 @@ void SearchResultWindow::setTextEditorFont(const QFont &font)
|
|||||||
void SearchResultWindow::openNewSearchPanel()
|
void SearchResultWindow::openNewSearchPanel()
|
||||||
{
|
{
|
||||||
d->setCurrentIndex(0);
|
d->setCurrentIndex(0);
|
||||||
popup();
|
popup(true/*focus*/, true/*sizeHint*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@@ -427,7 +427,7 @@ bool AppOutputPane::closeTab(int index)
|
|||||||
|
|
||||||
bool AppOutputPane::closeTab(int tabIndex, CloseTabMode closeTabMode)
|
bool AppOutputPane::closeTab(int tabIndex, CloseTabMode closeTabMode)
|
||||||
{
|
{
|
||||||
const int index = indexOf(m_tabWidget->widget(tabIndex));
|
int index = indexOf(m_tabWidget->widget(tabIndex));
|
||||||
QTC_ASSERT(index != -1, return true;)
|
QTC_ASSERT(index != -1, return true;)
|
||||||
|
|
||||||
RunControlTab &tab = m_runControlTabs[index];
|
RunControlTab &tab = m_runControlTabs[index];
|
||||||
@@ -441,14 +441,30 @@ bool AppOutputPane::closeTab(int tabIndex, CloseTabMode closeTabMode)
|
|||||||
case CloseTabNoPrompt:
|
case CloseTabNoPrompt:
|
||||||
break;
|
break;
|
||||||
case CloseTabWithPrompt:
|
case CloseTabWithPrompt:
|
||||||
|
QWidget *tabWidget = m_tabWidget->widget(tabIndex);
|
||||||
if (!tab.runControl->promptToStop())
|
if (!tab.runControl->promptToStop())
|
||||||
return false;
|
return false;
|
||||||
|
// The event loop has run, thus the ordering might have changed, a tab might
|
||||||
|
// have been closed, so do some strange things...
|
||||||
|
tabIndex = m_tabWidget->indexOf(tabWidget);
|
||||||
|
index = indexOf(tabWidget);
|
||||||
|
if (tabIndex == -1 || index == -1)
|
||||||
|
return false;
|
||||||
|
tab = m_runControlTabs[index];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (tab.runControl->isRunning()) { // yes it might have stopped already, then just close
|
||||||
|
QWidget *tabWidget = m_tabWidget->widget(tabIndex);
|
||||||
if (tab.runControl->stop() == RunControl::AsynchronousStop) {
|
if (tab.runControl->stop() == RunControl::AsynchronousStop) {
|
||||||
tab.asyncClosing = true;
|
tab.asyncClosing = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
tabIndex = m_tabWidget->indexOf(tabWidget);
|
||||||
|
index = indexOf(tabWidget);
|
||||||
|
if (tabIndex == -1 || index == -1)
|
||||||
|
return false;
|
||||||
|
tab = m_runControlTabs[index];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_tabWidget->removeTab(tabIndex);
|
m_tabWidget->removeTab(tabIndex);
|
||||||
|
@@ -187,6 +187,10 @@ bool BuildConfiguration::fromMap(const QVariantMap &map)
|
|||||||
delete list;
|
delete list;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (list->id() == QLatin1String(Constants::BUILDSTEPS_BUILD))
|
||||||
|
list->setDefaultDisplayName(tr("Build"));
|
||||||
|
else if (list->id() == QLatin1String(Constants::BUILDSTEPS_CLEAN))
|
||||||
|
list->setDefaultDisplayName(tr("Clean"));
|
||||||
m_stepLists.append(list);
|
m_stepLists.append(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -382,7 +382,6 @@ void GccToolChain::addToEnvironment(Utils::Environment &env) const
|
|||||||
{
|
{
|
||||||
if (!m_compilerPath.isEmpty())
|
if (!m_compilerPath.isEmpty())
|
||||||
env.prependOrSetPath(QFileInfo(m_compilerPath).absolutePath());
|
env.prependOrSetPath(QFileInfo(m_compilerPath).absolutePath());
|
||||||
env.set(QLatin1String("LANG"), QLatin1String("C"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GccToolChain::setDebuggerCommand(const QString &d)
|
void GccToolChain::setDebuggerCommand(const QString &d)
|
||||||
|
@@ -1178,7 +1178,7 @@ void ProjectExplorerPlugin::showSessionManager()
|
|||||||
} else {
|
} else {
|
||||||
d->m_session->save();
|
d->m_session->save();
|
||||||
}
|
}
|
||||||
SessionDialog sessionDialog(d->m_session);
|
SessionDialog sessionDialog(d->m_session, Core::ICore::instance()->mainWindow());
|
||||||
sessionDialog.setAutoLoadSession(d->m_projectExplorerSettings.autorestoreLastSession);
|
sessionDialog.setAutoLoadSession(d->m_projectExplorerSettings.autorestoreLastSession);
|
||||||
sessionDialog.exec();
|
sessionDialog.exec();
|
||||||
d->m_projectExplorerSettings.autorestoreLastSession = sessionDialog.autoLoadSession();
|
d->m_projectExplorerSettings.autorestoreLastSession = sessionDialog.autoLoadSession();
|
||||||
|
@@ -145,8 +145,8 @@ bool SessionNameInputDialog::isSwitchToRequested() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SessionDialog::SessionDialog(SessionManager *sessionManager)
|
SessionDialog::SessionDialog(SessionManager *sessionManager, QWidget *parent)
|
||||||
: m_sessionManager(sessionManager)
|
: QDialog(parent), m_sessionManager(sessionManager)
|
||||||
{
|
{
|
||||||
m_ui.setupUi(this);
|
m_ui.setupUi(this);
|
||||||
|
|
||||||
|
@@ -48,7 +48,7 @@ class SessionDialog : public QDialog
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
SessionDialog(SessionManager *sessionManager);
|
SessionDialog(SessionManager *sessionManager, QWidget *parent = 0);
|
||||||
|
|
||||||
void setAutoLoadSession(bool);
|
void setAutoLoadSession(bool);
|
||||||
bool autoLoadSession() const;
|
bool autoLoadSession() const;
|
||||||
|
@@ -132,12 +132,12 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
|
|||||||
addAction(m_selectOnlyContentItemsAction.data());
|
addAction(m_selectOnlyContentItemsAction.data());
|
||||||
upperActions.append(m_selectOnlyContentItemsAction.data());
|
upperActions.append(m_selectOnlyContentItemsAction.data());
|
||||||
|
|
||||||
m_rootWidthAction = new LineEditAction("width", this);
|
m_rootWidthAction = new LineEditAction(tr("width"), this);
|
||||||
connect(m_rootWidthAction.data(), SIGNAL(textChanged(QString)), this, SLOT(changeRootItemWidth(QString)));
|
connect(m_rootWidthAction.data(), SIGNAL(textChanged(QString)), this, SLOT(changeRootItemWidth(QString)));
|
||||||
addAction(m_rootWidthAction.data());
|
addAction(m_rootWidthAction.data());
|
||||||
upperActions.append(m_rootWidthAction.data());
|
upperActions.append(m_rootWidthAction.data());
|
||||||
|
|
||||||
m_rootHeightAction = new LineEditAction("height", this);
|
m_rootHeightAction = new LineEditAction(tr("height"), this);
|
||||||
connect(m_rootHeightAction.data(), SIGNAL(textChanged(QString)), this, SLOT(changeRootItemHeight(QString)));
|
connect(m_rootHeightAction.data(), SIGNAL(textChanged(QString)), this, SLOT(changeRootItemHeight(QString)));
|
||||||
addAction(m_rootHeightAction.data());
|
addAction(m_rootHeightAction.data());
|
||||||
upperActions.append(m_rootHeightAction.data());
|
upperActions.append(m_rootHeightAction.data());
|
||||||
|
@@ -187,8 +187,8 @@ public:
|
|||||||
|
|
||||||
bool renameId(const QString& oldId, const QString& newId);
|
bool renameId(const QString& oldId, const QString& newId);
|
||||||
|
|
||||||
const QmlJS::ScopeChain &scopeChain() const;
|
|
||||||
const QmlJS::Document *document() const;
|
const QmlJS::Document *document() const;
|
||||||
|
const QmlJS::ScopeChain *scopeChain() const;
|
||||||
|
|
||||||
QString convertTypeToImportAlias(const QString &type) const;
|
QString convertTypeToImportAlias(const QString &type) const;
|
||||||
|
|
||||||
|
@@ -490,8 +490,8 @@ const QmlJS::ObjectValue *NodeMetaInfoPrivate::getObjectValue() const
|
|||||||
|
|
||||||
QmlJS::ContextPtr NodeMetaInfoPrivate::context() const
|
QmlJS::ContextPtr NodeMetaInfoPrivate::context() const
|
||||||
{
|
{
|
||||||
if (m_model && m_model->rewriterView()) {
|
if (m_model && m_model->rewriterView() && m_model->rewriterView()->scopeChain()) {
|
||||||
return m_model->rewriterView()->scopeChain().context();
|
return m_model->rewriterView()->scopeChain()->context();
|
||||||
}
|
}
|
||||||
return QmlJS::ContextPtr(0);
|
return QmlJS::ContextPtr(0);
|
||||||
}
|
}
|
||||||
|
@@ -624,7 +624,7 @@ bool RewriterView::renameId(const QString& oldId, const QString& newId)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QmlJS::ScopeChain &RewriterView::scopeChain() const
|
const QmlJS::ScopeChain *RewriterView::scopeChain() const
|
||||||
{
|
{
|
||||||
return textToModelMerger()->scopeChain();
|
return textToModelMerger()->scopeChain();
|
||||||
}
|
}
|
||||||
|
@@ -68,8 +68,8 @@ public:
|
|||||||
RewriterView *view() const
|
RewriterView *view() const
|
||||||
{ return m_rewriterView; }
|
{ return m_rewriterView; }
|
||||||
|
|
||||||
const QmlJS::ScopeChain &scopeChain() const
|
const QmlJS::ScopeChain *scopeChain() const
|
||||||
{ return *m_scopeChain; }
|
{ return m_scopeChain.data(); }
|
||||||
|
|
||||||
const QmlJS::Document *document() const
|
const QmlJS::Document *document() const
|
||||||
{ return m_document.data(); }
|
{ return m_document.data(); }
|
||||||
|
@@ -354,8 +354,9 @@ void ModelManager::updateProjectInfo(const ProjectInfo &pinfo)
|
|||||||
}
|
}
|
||||||
updateSourceFiles(newFiles, false);
|
updateSourceFiles(newFiles, false);
|
||||||
|
|
||||||
// dump builtin types if the shipped definitions are probably outdated
|
// dump builtin types if the shipped definitions are probably outdated and the
|
||||||
if (QtSupport::QtVersionNumber(pinfo.qtVersionString) > QtSupport::QtVersionNumber(4, 7, 3))
|
// Qt version ships qmlplugindump
|
||||||
|
if (QtSupport::QtVersionNumber(pinfo.qtVersionString) >= QtSupport::QtVersionNumber(4, 8, 0))
|
||||||
m_pluginDumper->loadBuiltinTypes(pinfo);
|
m_pluginDumper->loadBuiltinTypes(pinfo);
|
||||||
|
|
||||||
emit projectInfoUpdated(pinfo);
|
emit projectInfoUpdated(pinfo);
|
||||||
|
@@ -190,6 +190,9 @@ bool MakeStep::init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
Utils::Environment env = bc->environment();
|
Utils::Environment env = bc->environment();
|
||||||
|
// Force output to english for the parsers. Do this here and not in the toolchain's
|
||||||
|
// addToEnvironment() to not screw up the users run environment.
|
||||||
|
env.set(QLatin1String("LC_ALL"), QLatin1String("C"));
|
||||||
// -w option enables "Enter"/"Leaving directory" messages, which we need for detecting the
|
// -w option enables "Enter"/"Leaving directory" messages, which we need for detecting the
|
||||||
// absolute file path
|
// absolute file path
|
||||||
// FIXME doing this without the user having a way to override this is rather bad
|
// FIXME doing this without the user having a way to override this is rather bad
|
||||||
@@ -361,6 +364,9 @@ void MakeStepConfigWidget::updateDetails()
|
|||||||
}
|
}
|
||||||
|
|
||||||
Utils::Environment env = bc->environment();
|
Utils::Environment env = bc->environment();
|
||||||
|
// Force output to english for the parsers. Do this here and not in the toolchain's
|
||||||
|
// addToEnvironment() to not screw up the users run environment.
|
||||||
|
env.set(QLatin1String("LC_ALL"), QLatin1String("C"));
|
||||||
// -w option enables "Enter"/"Leaving directory" messages, which we need for detecting the
|
// -w option enables "Enter"/"Leaving directory" messages, which we need for detecting the
|
||||||
// absolute file path
|
// absolute file path
|
||||||
// FIXME doing this without the user having a way to override this is rather bad
|
// FIXME doing this without the user having a way to override this is rather bad
|
||||||
|
@@ -165,7 +165,7 @@ enum { debug = 0 };
|
|||||||
using namespace Qt4ProjectManager;
|
using namespace Qt4ProjectManager;
|
||||||
using namespace Qt4ProjectManager::Internal;
|
using namespace Qt4ProjectManager::Internal;
|
||||||
|
|
||||||
Qt4PriFile::Qt4PriFile(Qt4PriFileNode *qt4PriFile)
|
Qt4PriFile::Qt4PriFile(Qt4ProjectManager::Qt4PriFileNode *qt4PriFile)
|
||||||
: IFile(qt4PriFile), m_priFile(qt4PriFile)
|
: IFile(qt4PriFile), m_priFile(qt4PriFile)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -243,6 +243,8 @@ bool Qt4PriFile::reload(QString *errorString, ReloadFlag flag, ChangeType type)
|
|||||||
Implements abstract ProjectNode class
|
Implements abstract ProjectNode class
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace Qt4ProjectManager {
|
||||||
|
|
||||||
Qt4PriFileNode::Qt4PriFileNode(Qt4Project *project, Qt4ProFileNode* qt4ProFileNode, const QString &filePath)
|
Qt4PriFileNode::Qt4PriFileNode(Qt4Project *project, Qt4ProFileNode* qt4ProFileNode, const QString &filePath)
|
||||||
: ProjectNode(filePath),
|
: ProjectNode(filePath),
|
||||||
m_project(project),
|
m_project(project),
|
||||||
@@ -266,7 +268,6 @@ void Qt4PriFileNode::scheduleUpdate()
|
|||||||
m_qt4ProFileNode->scheduleUpdate();
|
m_qt4ProFileNode->scheduleUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Qt4ProjectManager {
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
struct InternalNode
|
struct InternalNode
|
||||||
{
|
{
|
||||||
@@ -375,7 +376,7 @@ struct InternalNode
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Makes the projectNode's subtree below the given folder match this internal node's subtree
|
// Makes the projectNode's subtree below the given folder match this internal node's subtree
|
||||||
void updateSubFolders(Qt4PriFileNode *projectNode, ProjectExplorer::FolderNode *folder)
|
void updateSubFolders(Qt4ProjectManager::Qt4PriFileNode *projectNode, ProjectExplorer::FolderNode *folder)
|
||||||
{
|
{
|
||||||
updateFiles(projectNode, folder, type);
|
updateFiles(projectNode, folder, type);
|
||||||
|
|
||||||
@@ -440,7 +441,7 @@ struct InternalNode
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Makes the folder's files match this internal node's file list
|
// Makes the folder's files match this internal node's file list
|
||||||
void updateFiles(Qt4PriFileNode *projectNode, FolderNode *folder, FileType type)
|
void updateFiles(Qt4ProjectManager::Qt4PriFileNode *projectNode, FolderNode *folder, FileType type)
|
||||||
{
|
{
|
||||||
QList<FileNode*> existingFileNodes;
|
QList<FileNode*> existingFileNodes;
|
||||||
foreach (FileNode *fileNode, folder->fileNodes()) {
|
foreach (FileNode *fileNode, folder->fileNodes()) {
|
||||||
@@ -485,7 +486,6 @@ struct InternalNode
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
QStringList Qt4PriFileNode::baseVPaths(QtSupport::ProFileReader *reader, const QString &projectDir)
|
QStringList Qt4PriFileNode::baseVPaths(QtSupport::ProFileReader *reader, const QString &projectDir)
|
||||||
{
|
{
|
||||||
@@ -1291,6 +1291,8 @@ QSet<Utils::FileName> Qt4PriFileNode::filterFilesRecursiveEnumerata(ProjectExplo
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace Qt4ProjectManager
|
||||||
|
|
||||||
static Qt4ProjectType proFileTemplateTypeToProjectType(ProFileEvaluator::TemplateType type)
|
static Qt4ProjectType proFileTemplateTypeToProjectType(ProFileEvaluator::TemplateType type)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
@@ -118,8 +118,8 @@ class CentralizedFolderWatcher : public QObject
|
|||||||
public:
|
public:
|
||||||
CentralizedFolderWatcher(QObject *parent);
|
CentralizedFolderWatcher(QObject *parent);
|
||||||
~CentralizedFolderWatcher();
|
~CentralizedFolderWatcher();
|
||||||
void watchFolders(const QList<QString> &folders, Qt4PriFileNode *node);
|
void watchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node);
|
||||||
void unwatchFolders(const QList<QString> &folders, Qt4PriFileNode *node);
|
void unwatchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void folderChanged(const QString &folder);
|
void folderChanged(const QString &folder);
|
||||||
@@ -129,7 +129,7 @@ private slots:
|
|||||||
private:
|
private:
|
||||||
QSet<QString> recursiveDirs(const QString &folder);
|
QSet<QString> recursiveDirs(const QString &folder);
|
||||||
QFileSystemWatcher m_watcher;
|
QFileSystemWatcher m_watcher;
|
||||||
QMultiMap<QString, Qt4PriFileNode *> m_map;
|
QMultiMap<QString, Qt4ProjectManager::Qt4PriFileNode *> m_map;
|
||||||
|
|
||||||
QSet<QString> m_recursiveWatchedFolders;
|
QSet<QString> m_recursiveWatchedFolders;
|
||||||
QTimer m_compressTimer;
|
QTimer m_compressTimer;
|
||||||
@@ -1198,7 +1198,7 @@ QSet<QString> CentralizedFolderWatcher::recursiveDirs(const QString &folder)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qt4PriFileNode *node)
|
void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node)
|
||||||
{
|
{
|
||||||
if (debugCFW)
|
if (debugCFW)
|
||||||
qDebug()<<"CFW::watchFolders()"<<folders<<"for node"<<node->path();
|
qDebug()<<"CFW::watchFolders()"<<folders<<"for node"<<node->path();
|
||||||
@@ -1222,7 +1222,7 @@ void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qt4Pr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qt4PriFileNode *node)
|
void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node)
|
||||||
{
|
{
|
||||||
if (debugCFW)
|
if (debugCFW)
|
||||||
qDebug()<<"CFW::unwatchFolders()"<<folders<<"for node"<<node->path();
|
qDebug()<<"CFW::unwatchFolders()"<<folders<<"for node"<<node->path();
|
||||||
@@ -1246,7 +1246,7 @@ void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qt4
|
|||||||
// So the rwf is a subdirectory of a folder we aren't watching
|
// So the rwf is a subdirectory of a folder we aren't watching
|
||||||
// but maybe someone else wants us to watch
|
// but maybe someone else wants us to watch
|
||||||
bool needToWatch = false;
|
bool needToWatch = false;
|
||||||
QMultiMap<QString, Qt4PriFileNode *>::const_iterator it, end;
|
QMultiMap<QString, Qt4ProjectManager::Qt4PriFileNode *>::const_iterator it, end;
|
||||||
end = m_map.constEnd();
|
end = m_map.constEnd();
|
||||||
for (it = m_map.constEnd(); it != end; ++it) {
|
for (it = m_map.constEnd(); it != end; ++it) {
|
||||||
if (rwf.startsWith(it.key())) {
|
if (rwf.startsWith(it.key())) {
|
||||||
@@ -1293,8 +1293,8 @@ void CentralizedFolderWatcher::delayedFolderChanged(const QString &folder)
|
|||||||
while (true) {
|
while (true) {
|
||||||
if (!dir.endsWith('/'))
|
if (!dir.endsWith('/'))
|
||||||
dir.append('/');
|
dir.append('/');
|
||||||
QList<Qt4PriFileNode *> nodes = m_map.values(dir);
|
QList<Qt4ProjectManager::Qt4PriFileNode *> nodes = m_map.values(dir);
|
||||||
foreach (Qt4PriFileNode *node, nodes) {
|
foreach (Qt4ProjectManager::Qt4PriFileNode *node, nodes) {
|
||||||
node->folderChanged(folder);
|
node->folderChanged(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -746,6 +746,10 @@ QtVersionManager::MakefileCompatible QtVersionManager::makefileIsFor(const QStri
|
|||||||
if (proFile.isEmpty())
|
if (proFile.isEmpty())
|
||||||
return CouldNotParse;
|
return CouldNotParse;
|
||||||
|
|
||||||
|
// The Makefile.Debug / Makefile.Release lack a # Command: line
|
||||||
|
if (findQMakeLine(makefile, QLatin1String("# Command:")).trimmed().isEmpty())
|
||||||
|
return CouldNotParse;
|
||||||
|
|
||||||
QString line = findQMakeLine(makefile, QLatin1String("# Project:")).trimmed();
|
QString line = findQMakeLine(makefile, QLatin1String("# Project:")).trimmed();
|
||||||
if (line.isEmpty())
|
if (line.isEmpty())
|
||||||
return CouldNotParse;
|
return CouldNotParse;
|
||||||
|
@@ -13,6 +13,8 @@ include(rpath.pri)
|
|||||||
|
|
||||||
TARGET = $$qtLibraryName($$TARGET)
|
TARGET = $$qtLibraryName($$TARGET)
|
||||||
|
|
||||||
|
CONFIG += shared dll
|
||||||
|
|
||||||
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
|
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
|
||||||
|
|
||||||
!macx {
|
!macx {
|
||||||
|
@@ -417,6 +417,7 @@ void QrcEditor::onAddFiles()
|
|||||||
: m_treeview->model()->parent(current).row();
|
: m_treeview->model()->parent(current).row();
|
||||||
int const cursorFileArrayIndex = currentIsPrefixNode ? 0 : current.row();
|
int const cursorFileArrayIndex = currentIsPrefixNode ? 0 : current.row();
|
||||||
QStringList fileNames = m_treeview->fileNamesToAdd();
|
QStringList fileNames = m_treeview->fileNamesToAdd();
|
||||||
|
fileNames = m_treeview->existingFilesSubtracted(prefixArrayIndex, fileNames);
|
||||||
resolveLocationIssues(fileNames);
|
resolveLocationIssues(fileNames);
|
||||||
if (fileNames.isEmpty())
|
if (fileNames.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
@@ -793,36 +793,45 @@ QModelIndex ResourceModel::addFiles(const QModelIndex &model_idx, const QStringL
|
|||||||
return index(lastFileArrayIndex, 0, prefixModelIndex);
|
return index(lastFileArrayIndex, 0, prefixModelIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList ResourceModel::existingFilesSubtracted(int prefixIndex, const QStringList &fileNames) const
|
||||||
|
{
|
||||||
|
const QModelIndex prefixModelIdx = index(prefixIndex, 0, QModelIndex());
|
||||||
|
QStringList uniqueList;
|
||||||
|
|
||||||
|
if (prefixModelIdx.isValid()) {
|
||||||
|
foreach (const QString &file, fileNames) {
|
||||||
|
if (!m_resource_file.contains(prefixIndex, file) && !uniqueList.contains(file))
|
||||||
|
uniqueList.append(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return uniqueList;
|
||||||
|
}
|
||||||
|
|
||||||
void ResourceModel::addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile,
|
void ResourceModel::addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile,
|
||||||
int &firstFile, int &lastFile)
|
int &firstFile, int &lastFile)
|
||||||
{
|
{
|
||||||
Q_UNUSED(cursorFile)
|
Q_UNUSED(cursorFile)
|
||||||
const QModelIndex prefix_model_idx = index(prefixIndex, 0, QModelIndex());
|
const QModelIndex prefix_model_idx = index(prefixIndex, 0, QModelIndex());
|
||||||
const QStringList &file_list = fileNames;
|
|
||||||
firstFile = -1;
|
firstFile = -1;
|
||||||
lastFile = -1;
|
lastFile = -1;
|
||||||
|
|
||||||
if (!prefix_model_idx.isValid()) {
|
if (!prefix_model_idx.isValid()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const int prefix_idx = prefixIndex;
|
|
||||||
|
|
||||||
QStringList unique_list;
|
QStringList unique_list = existingFilesSubtracted(prefixIndex, fileNames);
|
||||||
foreach (const QString &file, file_list) {
|
|
||||||
if (!m_resource_file.contains(prefix_idx, file) && !unique_list.contains(file))
|
|
||||||
unique_list.append(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (unique_list.isEmpty()) {
|
if (unique_list.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const int cnt = m_resource_file.fileCount(prefix_idx);
|
|
||||||
|
const int cnt = m_resource_file.fileCount(prefixIndex);
|
||||||
beginInsertRows(prefix_model_idx, cnt, cnt + unique_list.count() - 1); // ### FIXME
|
beginInsertRows(prefix_model_idx, cnt, cnt + unique_list.count() - 1); // ### FIXME
|
||||||
|
|
||||||
foreach (const QString &file, unique_list)
|
foreach (const QString &file, unique_list)
|
||||||
m_resource_file.addFile(prefix_idx, file);
|
m_resource_file.addFile(prefixIndex, file);
|
||||||
|
|
||||||
const QFileInfo fi(file_list.last());
|
const QFileInfo fi(unique_list.last());
|
||||||
m_lastResourceDir = fi.absolutePath();
|
m_lastResourceDir = fi.absolutePath();
|
||||||
|
|
||||||
endInsertRows();
|
endInsertRows();
|
||||||
|
@@ -216,6 +216,7 @@ public:
|
|||||||
|
|
||||||
virtual QModelIndex addNewPrefix();
|
virtual QModelIndex addNewPrefix();
|
||||||
virtual QModelIndex addFiles(const QModelIndex &idx, const QStringList &file_list);
|
virtual QModelIndex addFiles(const QModelIndex &idx, const QStringList &file_list);
|
||||||
|
QStringList existingFilesSubtracted(int prefixIndex, const QStringList &fileNames) const;
|
||||||
void addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile, int &firstFile, int &lastFile);
|
void addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile, int &firstFile, int &lastFile);
|
||||||
void insertPrefix(int prefixIndex, const QString &prefix, const QString &lang);
|
void insertPrefix(int prefixIndex, const QString &prefix, const QString &lang);
|
||||||
void insertFile(int prefixIndex, int fileIndex, const QString &fileName, const QString &alias);
|
void insertFile(int prefixIndex, int fileIndex, const QString &fileName, const QString &alias);
|
||||||
|
@@ -305,6 +305,11 @@ EntryBackup * ResourceView::removeEntry(const QModelIndex &index)
|
|||||||
return m_qrcModel->removeEntry(index);
|
return m_qrcModel->removeEntry(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList ResourceView::existingFilesSubtracted(int prefixIndex, const QStringList &fileNames) const
|
||||||
|
{
|
||||||
|
return m_qrcModel->existingFilesSubtracted(prefixIndex, fileNames);
|
||||||
|
}
|
||||||
|
|
||||||
void ResourceView::addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile,
|
void ResourceView::addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile,
|
||||||
int &firstFile, int &lastFile)
|
int &firstFile, int &lastFile)
|
||||||
{
|
{
|
||||||
|
@@ -117,6 +117,7 @@ public:
|
|||||||
|
|
||||||
void findSamePlacePostDeletionModelIndex(int &row, QModelIndex &parent) const;
|
void findSamePlacePostDeletionModelIndex(int &row, QModelIndex &parent) const;
|
||||||
EntryBackup *removeEntry(const QModelIndex &index);
|
EntryBackup *removeEntry(const QModelIndex &index);
|
||||||
|
QStringList existingFilesSubtracted(int prefixIndex, const QStringList &fileNames) const;
|
||||||
void addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile,
|
void addFiles(int prefixIndex, const QStringList &fileNames, int cursorFile,
|
||||||
int &firstFile, int &lastFile);
|
int &firstFile, int &lastFile);
|
||||||
void removeFiles(int prefixIndex, int firstFileIndex, int lastFileIndex);
|
void removeFiles(int prefixIndex, int firstFileIndex, int lastFileIndex);
|
||||||
|
@@ -100,6 +100,7 @@ private Q_SLOTS:
|
|||||||
void multilineTernaryInProperty();
|
void multilineTernaryInProperty();
|
||||||
void bug1();
|
void bug1();
|
||||||
void multilineString();
|
void multilineString();
|
||||||
|
void bug1();
|
||||||
};
|
};
|
||||||
|
|
||||||
enum { DontCheck = -2, DontIndent = -1 };
|
enum { DontCheck = -2, DontIndent = -1 };
|
||||||
@@ -1331,6 +1332,20 @@ void tst_QMLCodeFormatter::multilineString()
|
|||||||
checkIndent(data);
|
checkIndent(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMLCodeFormatter::bug1()
|
||||||
|
{
|
||||||
|
QList<Line> data;
|
||||||
|
data << Line("Item {")
|
||||||
|
<< Line(" x: {")
|
||||||
|
<< Line(" if (a==a) {}")
|
||||||
|
<< Line(" else (b==b) {}")
|
||||||
|
<< Line(" foo()")
|
||||||
|
<< Line(" }")
|
||||||
|
<< Line("}")
|
||||||
|
;
|
||||||
|
checkIndent(data);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_APPLESS_MAIN(tst_QMLCodeFormatter)
|
QTEST_APPLESS_MAIN(tst_QMLCodeFormatter)
|
||||||
#include "tst_qmlcodeformatter.moc"
|
#include "tst_qmlcodeformatter.moc"
|
||||||
|
|
||||||
|
89
tests/system/README
Normal file
89
tests/system/README
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
Preface
|
||||||
|
-------
|
||||||
|
The usage of the hook-into subprocess has following prerequisites:
|
||||||
|
Either:
|
||||||
|
* have no firewall at all enabled (sure that's a bad idea)
|
||||||
|
Or:
|
||||||
|
* have the Windows Firewall enabled (no other firewalls are handled by the scripts)
|
||||||
|
* run the Squish tests with administrator privileges
|
||||||
|
* additionally the UAC should be disabled, too
|
||||||
|
|
||||||
|
Otherwise you'll have some trouble with popping up dialogs from the firewall.
|
||||||
|
If you're using a different firewall - try to figure out and add a rule for this.
|
||||||
|
|
||||||
|
|
||||||
|
Using the internal test data fallback
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
* inside the shared_data folder a "standard" mapping file is located (qt_squish_mapping.tsv)
|
||||||
|
* this file defines currently some Squish versions that are available for usage
|
||||||
|
* all of the Squish versions mentioned in there should exist inside QTSDK/src/creator-test-data (see the file for naming the Squish versions) - of course this depends on the OS you're testing on
|
||||||
|
|
||||||
|
Attention! This file will be updated with more columns (and rows) for making it possible to also test Debug builds or 64bit builds. So, even the path entries currently listed could change when this feature is implemented.
|
||||||
|
|
||||||
|
|
||||||
|
Using QT_SQUISH_MAPFILE variable
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
* create a simple text file (UTF-8 encoded) that follows this scheme:
|
||||||
|
|
||||||
|
QtVersion mkspec Path
|
||||||
|
|
||||||
|
* QtVersion: only major and minor number will be used (e.g. 4.7, 4.8, 5.0)
|
||||||
|
* mkspec: a string holding the mkspec as it appears inside QTSDK/mkspec (or inside Qt Creator)
|
||||||
|
* Path: the path to the Squish directory that can be used with this combination of QtVersion and mkspec
|
||||||
|
* between QtVersion and mkspec as well as between mkspec and Path use whitespaces only
|
||||||
|
* lines STARTING with # within the first column will be ignored
|
||||||
|
* path can contain spaces as well as ~ (for the home directory)
|
||||||
|
* you can put any entry of a line into quotes (no matter whether single or double quotes)
|
||||||
|
* a line holding a mapping MUST start with a QtVersion entry in the first column
|
||||||
|
|
||||||
|
Example 1: (using single space, no quoting)
|
||||||
|
|
||||||
|
#qtversion mkspec path
|
||||||
|
4.7<SP>win32-g++<SP>C:\Tools\Squish_MinGW
|
||||||
|
4.7<SP>win32-msvc2008<SP>C:\Tools\Squish_MSVC9
|
||||||
|
4.7<SP>win32-msvc2010<SP>C:\Tools\Squish_MSVC10
|
||||||
|
4.8<SP>win32-g++<SP>C:\Tools\Squish_MinGW
|
||||||
|
4.8<SP>win32-msvc2008<SP>C:\Tools\Squish_MSVC9
|
||||||
|
4.8<SP>win32-msvc2010<SP>C:\Tools\Squish_MSVC10
|
||||||
|
|
||||||
|
Example 2: (using mixed whitespaces, some quoting)
|
||||||
|
|
||||||
|
#qtversion<TAB>mkspec<TAB><TAB><SP>path
|
||||||
|
"4.7"<SP><TAB>win32-g++<TAB><TAB>'C:\Tools\Squish_MinGW'
|
||||||
|
'4.7'<SP><TAB>'win32-msvc2008'<TAB>"C:\Tools\Squish_MSVC9"
|
||||||
|
4.7<SP><SP><TAB>win32-msvc2010<TAB>C:\Tools\Squish_MSVC10
|
||||||
|
"4.8"<SP><TAB>"win32-g++"<SP><SP><TAB>"C:\Tools\Squish_MinGW"
|
||||||
|
'4.8'<SP><TAB>win32-msvc2008<SP><TAB>'C:\Tools\Squish_MSVC9'
|
||||||
|
'4.8'<SP><TAB>win32-msvc2010<SP><TAB>C:\Tools\Squish_MSVC10
|
||||||
|
|
||||||
|
Explanation: <SP> = space, <TAB> = tabulator
|
||||||
|
|
||||||
|
* after creating this file put it somewhere and define environment variable QT_SQUISH_MAPFILE to point directly to the file
|
||||||
|
* definition of this variable should be done BEFORE the test is started and can be done in various ways:
|
||||||
|
* declare this variable as a system environment variable (how to do this depends on the OS you're using) [recommended way]
|
||||||
|
* add this variable to the envvar file inside the directory holding the Squish test suites [please don't do this when pushing envvar back to git]
|
||||||
|
* you can also modify the os.environ dict inside the test script(s) but this has to be done, before the test tries to read the variable [best place would be right before/after the call to startApplication()]
|
||||||
|
|
||||||
|
Hint: You can also use the provided tsv file as a template. Simply remove lines you're not needing and adjust the path entries to point to the correct paths on your system and you should be fine.
|
||||||
|
|
||||||
|
Attention! The format of the file might slightly change as soon also Debug builds will be easily testable (and maybe again for 64bit builds)
|
||||||
|
|
||||||
|
|
||||||
|
Preparation of the SQUISH directories
|
||||||
|
-------------------------------------
|
||||||
|
To make the hook-into sub-process really work you have to provide a modified Squish.
|
||||||
|
|
||||||
|
Steps to set up the Squish directories on Windows:
|
||||||
|
* get the Squish version you need from froglogic.com
|
||||||
|
* extract the archive to place of your choice
|
||||||
|
* go to the bin directory of Squish and remove the following dll's:
|
||||||
|
* Qt3Support.dll
|
||||||
|
* QtCore4.dll
|
||||||
|
* QtGui4.dll
|
||||||
|
* QtNetwork4.dll
|
||||||
|
* QtSql4.dll
|
||||||
|
* QtXml4.dll
|
||||||
|
|
||||||
|
You can additionally remove the complete ide folder as well as squishclassicide.exe and squishide.exe (to safe disk space).
|
@@ -22,6 +22,7 @@
|
|||||||
:Qt Creator.QtCreator.MenuBar_QMenuBar {name='QtCreator.MenuBar' type='QMenuBar' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
:Qt Creator.QtCreator.MenuBar_QMenuBar {name='QtCreator.MenuBar' type='QMenuBar' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
||||||
:Qt Creator.ReRun_QToolButton {toolTip='Re-run this run-configuration' type='QToolButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
:Qt Creator.ReRun_QToolButton {toolTip='Re-run this run-configuration' type='QToolButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
||||||
:Qt Creator.Stop_QToolButton {text='Stop' type='QToolButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
:Qt Creator.Stop_QToolButton {text='Stop' type='QToolButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
||||||
|
:Qt Creator.scrollArea_QScrollArea {name='scrollArea' type='QScrollArea' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
||||||
:Qt Creator_Core::Internal::MainWindow {type='Core::Internal::MainWindow' visible='1' windowTitle?='*Qt Creator'}
|
:Qt Creator_Core::Internal::MainWindow {type='Core::Internal::MainWindow' visible='1' windowTitle?='*Qt Creator'}
|
||||||
:Qt Creator_Core::Internal::OutputPaneToggleButton {occurrence='3' type='Core::Internal::OutputPaneToggleButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
:Qt Creator_Core::Internal::OutputPaneToggleButton {occurrence='3' type='Core::Internal::OutputPaneToggleButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
||||||
:Qt Creator_CppEditor::Internal::CPPEditorWidget {type='CppEditor::Internal::CPPEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
:Qt Creator_CppEditor::Internal::CPPEditorWidget {type='CppEditor::Internal::CPPEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
|
||||||
@@ -51,4 +52,6 @@
|
|||||||
:scrollArea.Qt Version:_QComboBox {aboveWidget=':scrollArea.Use Shadow Building_QCheckBox' container=':Qt Gui Application.scrollArea_QScrollArea' leftWidget=':scrollArea.Qt Version:_QLabel' type='QComboBox' unnamed='1' visible='1'}
|
:scrollArea.Qt Version:_QComboBox {aboveWidget=':scrollArea.Use Shadow Building_QCheckBox' container=':Qt Gui Application.scrollArea_QScrollArea' leftWidget=':scrollArea.Qt Version:_QLabel' type='QComboBox' unnamed='1' visible='1'}
|
||||||
:scrollArea.Qt Version:_QLabel {container=':Qt Gui Application.scrollArea_QScrollArea' text='Qt Version:' type='QLabel' unnamed='1' visible='1'}
|
:scrollArea.Qt Version:_QLabel {container=':Qt Gui Application.scrollArea_QScrollArea' text='Qt Version:' type='QLabel' unnamed='1' visible='1'}
|
||||||
:scrollArea.Use Shadow Building_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' text='Use Shadow Building' type='QCheckBox' unnamed='1' visible='1'}
|
:scrollArea.Use Shadow Building_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' text='Use Shadow Building' type='QCheckBox' unnamed='1' visible='1'}
|
||||||
|
:scrollArea.qtVersionComboBox_QComboBox {container=':Qt Creator.scrollArea_QScrollArea' name='qtVersionComboBox' type='QComboBox' visible='1'}
|
||||||
|
:scrollArea_QTableView {container=':Qt Creator.scrollArea_QScrollArea' type='QTableView' unnamed='1' visible='1'}
|
||||||
:sourceFileLineEdit_Utils::FileNameValidatingLineEdit {buddy=':Qt Gui Application.Source file:_QLabel' name='sourceFileLineEdit' type='Utils::FileNameValidatingLineEdit' visible='1'}
|
:sourceFileLineEdit_Utils::FileNameValidatingLineEdit {buddy=':Qt Gui Application.Source file:_QLabel' name='sourceFileLineEdit' type='Utils::FileNameValidatingLineEdit' visible='1'}
|
||||||
|
273
tests/system/shared/hook_utils.py
Normal file
273
tests/system/shared/hook_utils.py
Normal file
@@ -0,0 +1,273 @@
|
|||||||
|
import re
|
||||||
|
# flag that caches the information whether Windows firewall is running or not
|
||||||
|
fireWallState = None
|
||||||
|
|
||||||
|
# this function modifies all necessary run settings to make it possible to hook into
|
||||||
|
# the application compiled by Creator
|
||||||
|
def modifyRunSettingsForHookInto(projectName, port):
|
||||||
|
prepareBuildSettings(1, 0)
|
||||||
|
# this uses the defaultQtVersion currently
|
||||||
|
switchViewTo(ViewConstants.PROJECTS)
|
||||||
|
switchToBuildOrRunSettingsFor(1, 0, ProjectSettings.BUILD)
|
||||||
|
qtVersionTT = str(waitForObject("{type='QComboBox' name='qtVersionComboBox' visible='1'}").toolTip)
|
||||||
|
mkspec = __getMkspec__(qtVersionTT)
|
||||||
|
qmakeVersion = __getQMakeVersion__(qtVersionTT)
|
||||||
|
qmakeLibPath = __getQMakeLibPath__(qtVersionTT)
|
||||||
|
qmakeBinPath = __getQMakeBinPath__(qtVersionTT)
|
||||||
|
switchToBuildOrRunSettingsFor(1, 0, ProjectSettings.RUN)
|
||||||
|
result = __configureCustomExecutable__(projectName, port, mkspec, qmakeVersion)
|
||||||
|
if result:
|
||||||
|
clickButton(waitForObject("{container=':Qt Creator.scrollArea_QScrollArea' text='Details' "
|
||||||
|
"type='Utils::DetailsButton' unnamed='1' visible='1' "
|
||||||
|
"leftWidget={type='QLabel' text='Using <b>Build Environment</b>' unnamed='1' visible='1'}}"))
|
||||||
|
envVarsTableView = waitForObject("{type='QTableView' visible='1' unnamed='1'}")
|
||||||
|
model = envVarsTableView.model()
|
||||||
|
for row in range(model.rowCount()):
|
||||||
|
# get var name
|
||||||
|
index = model.index(row, 0)
|
||||||
|
envVarsTableView.scrollTo(index)
|
||||||
|
varName = str(model.data(index).toString())
|
||||||
|
# if its a special SQUISH var simply unset it
|
||||||
|
if varName == "PATH":
|
||||||
|
currentItem = __doubleClickQTableView__(row, 1)
|
||||||
|
test.log("replacing PATH with '%s'" % qmakeBinPath)
|
||||||
|
replaceEditorContent(currentItem, qmakeBinPath)
|
||||||
|
elif varName.find("SQUISH") == 0:
|
||||||
|
if varName == "SQUISH_LIBQTDIR":
|
||||||
|
currentItem = __doubleClickQTableView__(row, 1)
|
||||||
|
if platform.system() in ('Microsoft', 'Windows'):
|
||||||
|
replacement = qmakeBinPath
|
||||||
|
else:
|
||||||
|
replacement = qmakeLibPath
|
||||||
|
test.log("Changing SQUISH_LIBQTDIR",
|
||||||
|
"Replacing '%s' with '%s'" % (currentItem.text, replacement))
|
||||||
|
replaceEditorContent(currentItem, replacement)
|
||||||
|
else:
|
||||||
|
mouseClick(waitForObject("{container=':scrollArea_QTableView' "
|
||||||
|
"type='QModelIndex' row='%d' column='1'}" % row), 5, 5, 0, Qt.LeftButton)
|
||||||
|
clickButton(waitForObject("{type='QPushButton' text='Unset' unnamed='1' visible='1'}"))
|
||||||
|
#test.log("Unsetting %s for run" % varName)
|
||||||
|
switchViewTo(ViewConstants.EDIT)
|
||||||
|
return result
|
||||||
|
|
||||||
|
# helper that double clicks the table view at specified row and column
|
||||||
|
# returns the QExpandingLineEdit (the editable table cell)
|
||||||
|
def __doubleClickQTableView__(row, column):
|
||||||
|
doubleClick(waitForObject("{container=':scrollArea_QTableView' "
|
||||||
|
"type='QModelIndex' row='%d' column='%d'}" % (row, column)), 5, 5, 0, Qt.LeftButton)
|
||||||
|
return waitForObject("{type='QExpandingLineEdit' visible='1' unnamed='1'}")
|
||||||
|
|
||||||
|
# this function configures the custom executable onto the run settings page (using startaut from Squish)
|
||||||
|
def __configureCustomExecutable__(projectName, port, mkspec, qmakeVersion):
|
||||||
|
startAUT = getSquishPath(mkspec, qmakeVersion)
|
||||||
|
if startAUT == None:
|
||||||
|
test.warning("Something went wrong determining the right Squish for %s / %s combination - "
|
||||||
|
"using fallback without hooking into subprocess." % (qmakeVersion, mkspec))
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
startAUT = os.path.abspath(startAUT + "/bin/startaut")
|
||||||
|
if platform.system() in ('Microsoft', 'Windows'):
|
||||||
|
startAUT += ".exe"
|
||||||
|
if not os.path.exists(startAUT):
|
||||||
|
test.warning("Configured Squish directory seems to be missing - using fallback without hooking into subprocess.",
|
||||||
|
"Failed to find '%s'" % startAUT)
|
||||||
|
return False
|
||||||
|
clickButton("{container=':Qt Creator.scrollArea_QScrollArea' occurrence='2' text='Add' type='QPushButton' unnamed='1' visible='1'}")
|
||||||
|
activateItem(waitForObject("{type='QMenu' visible='1' unnamed='1'}"), "Custom Executable")
|
||||||
|
exePathChooser = waitForObject("{buddy={container=':Qt Creator.scrollArea_QScrollArea' text='Executable:' type='QLabel'} "
|
||||||
|
"type='Utils::PathChooser' unnamed='1' visible='1'}")
|
||||||
|
exeLineEd = getChildByClass(exePathChooser, "Utils::BaseValidatingLineEdit")
|
||||||
|
argLineEd = waitForObject("{buddy={container={type='QScrollArea' name='scrollArea'} "
|
||||||
|
"type='QLabel' text='Arguments:' visible='1'} type='QLineEdit' "
|
||||||
|
"unnamed='1' visible='1'}")
|
||||||
|
wdPathChooser = waitForObject("{buddy={container=':Qt Creator.scrollArea_QScrollArea' text='Working directory:' type='QLabel'} "
|
||||||
|
"type='Utils::PathChooser' unnamed='1' visible='1'}")
|
||||||
|
replaceEditorContent(exeLineEd, startAUT)
|
||||||
|
# the following is currently only configured for release builds (will be enhanced later)
|
||||||
|
if platform.system() in ('Microsoft', 'Windows'):
|
||||||
|
debOrRel = "release" + os.sep
|
||||||
|
else:
|
||||||
|
debOrRel = ""
|
||||||
|
replaceEditorContent(argLineEd, "--verbose --port=%d %s%s" % (port, debOrRel, projectName))
|
||||||
|
return True
|
||||||
|
|
||||||
|
# function that retrieves a specific child object by its class
|
||||||
|
# this is sometimes the best way to avoid using waitForObject() on objects that
|
||||||
|
# occur more than once - but could easily be found by using a compound object
|
||||||
|
# (e.g. search for Utils::PathChooser instead of Utils::BaseValidatingLineEdit and get the child)
|
||||||
|
def getChildByClass(parent, classToSearchFor, occurence=1):
|
||||||
|
counter = 0
|
||||||
|
for child in object.children(parent):
|
||||||
|
if className(child) == classToSearchFor:
|
||||||
|
counter = counter + 1
|
||||||
|
if counter == occurence:
|
||||||
|
return child
|
||||||
|
return None
|
||||||
|
|
||||||
|
# helper that tries to get the mkspec entry of the QtVersion ToolTip
|
||||||
|
def __getMkspec__(qtToolTip):
|
||||||
|
return ___searchInsideQtVersionToolTip___(qtToolTip, "mkspec:")
|
||||||
|
|
||||||
|
# helper that tries to get the qmake version entry of the QtVersion ToolTip
|
||||||
|
def __getQMakeVersion__(qtToolTip):
|
||||||
|
return ___searchInsideQtVersionToolTip___(qtToolTip, "Version:")
|
||||||
|
|
||||||
|
# helper that tries to get the path of the qmake libraries of the QtVersion ToolTip
|
||||||
|
def __getQMakeLibPath__(qtToolTip):
|
||||||
|
qmake = ___searchInsideQtVersionToolTip___(qtToolTip, "qmake:")
|
||||||
|
result = getOutputFromCmdline("%s -v" % qmake)
|
||||||
|
for line in result.splitlines():
|
||||||
|
if "Using Qt version" in line:
|
||||||
|
return line.rsplit(" ", 1)[1]
|
||||||
|
|
||||||
|
# helper that tries to get the path of qmake of the QtVersion ToolTip
|
||||||
|
def __getQMakeBinPath__(qtToolTip):
|
||||||
|
qmake = ___searchInsideQtVersionToolTip___(qtToolTip, "qmake:")
|
||||||
|
endIndex = qmake.find("/qmake")
|
||||||
|
return qmake[:endIndex]
|
||||||
|
|
||||||
|
# helper that does the work for __getMkspec__() and __getQMakeVersion__()
|
||||||
|
def ___searchInsideQtVersionToolTip___(qtToolTip, what):
|
||||||
|
result = None
|
||||||
|
tmp = qtToolTip.split("<td>")
|
||||||
|
for i in range(len(tmp)):
|
||||||
|
if i % 2 == 0:
|
||||||
|
continue
|
||||||
|
if what in tmp[i]:
|
||||||
|
result = tmp[i + 1].split("</td>", 1)[0]
|
||||||
|
break
|
||||||
|
return result
|
||||||
|
|
||||||
|
# get the Squish path that is needed to successfully hook into the compiled app
|
||||||
|
def getSquishPath(mkspec, qmakev):
|
||||||
|
qmakev = ".".join(qmakev.split(".")[0:2])
|
||||||
|
path = None
|
||||||
|
mapfile = os.environ.get("QT_SQUISH_MAPFILE")
|
||||||
|
if mapfile and os.path.isfile(mapfile):
|
||||||
|
file = codecs.open(mapfile, "r", "utf-8")
|
||||||
|
pattern = re.compile("\s+")
|
||||||
|
for line in file:
|
||||||
|
if line[0] == "#":
|
||||||
|
continue
|
||||||
|
tmp = pattern.split(line, 2)
|
||||||
|
if tmp[0].strip("'\"") == qmakev and tmp[1].strip("'\"") == mkspec:
|
||||||
|
path = os.path.expanduser(tmp[2].strip().strip("'\""))
|
||||||
|
break
|
||||||
|
file.close()
|
||||||
|
else:
|
||||||
|
if not mapfile:
|
||||||
|
test.warning("Environment variable QT_SQUISH_MAPFILE isn't set. Using fallback test data.",
|
||||||
|
"See the README file how to use it.")
|
||||||
|
else:
|
||||||
|
test.warning("Environment variable QT_SQUISH_MAPFILE isn't set correctly or map file does not exist. Using fallback test data.",
|
||||||
|
"See the README file how to use it.")
|
||||||
|
# try the test data fallback
|
||||||
|
mapData = testData.dataset(os.getcwd() + "/../../shared_data/qt_squish_mapping.tsv")
|
||||||
|
for row, record in enumerate(mapData):
|
||||||
|
if testData.field(record, "qtversion") == qmakev and testData.field(record, "mkspec") == mkspec:
|
||||||
|
path = os.path.expanduser(testData.field(record, "path"))
|
||||||
|
break
|
||||||
|
return path
|
||||||
|
|
||||||
|
# function to add a program to allow communication through the win firewall
|
||||||
|
# param workingDir this directory is the parent of the project folder
|
||||||
|
# param projectName this is the name of the project (the folder inside workingDir as well as the name for the executable)
|
||||||
|
# param isReleaseBuild should currently always be set to True (will later add debug build testing)
|
||||||
|
def allowAppThroughWinFW(workingDir, projectName, isReleaseBuild=True):
|
||||||
|
if not __isWinFirewallRunning__():
|
||||||
|
return
|
||||||
|
# WinFirewall seems to run - hopefully no other
|
||||||
|
result = __configureFW__(projectName, isReleaseBuild)
|
||||||
|
if result == 0:
|
||||||
|
test.log("Added %s to firewall" % projectName)
|
||||||
|
else:
|
||||||
|
test.fatal("Could not add %s as allowed program to win firewall" % projectName)
|
||||||
|
|
||||||
|
# function to delete a (former added) program from the win firewall
|
||||||
|
# param workingDir this directory is the parent of the project folder
|
||||||
|
# param projectName this is the name of the project (the folder inside workingDir as well as the name for the executable)
|
||||||
|
# param isReleaseBuild should currently always be set to True (will later add debug build testing)
|
||||||
|
def deleteAppFromWinFW(workingDir, projectName, isReleaseBuild=True):
|
||||||
|
if not __isWinFirewallRunning__():
|
||||||
|
return
|
||||||
|
# WinFirewall seems to run - hopefully no other
|
||||||
|
result = __configureFW__(projectName, isReleaseBuild, False)
|
||||||
|
if result == 0:
|
||||||
|
test.log("Deleted %s from firewall" % projectName)
|
||||||
|
else:
|
||||||
|
test.fatal("Could not delete %s as allowed program from win firewall" % (mode, projectName))
|
||||||
|
|
||||||
|
# helper that can modify the win firewall to allow a program to communicate through it or delete it
|
||||||
|
# param addToFW defines whether to add (True) or delete (False) this programm to/from the firewall
|
||||||
|
def __configureFW__(projectName, isReleaseBuild, addToFW=True):
|
||||||
|
if isReleaseBuild:
|
||||||
|
path = "%s%s%s%srelease%s%s" % (workingDir, os.sep, projectName, os.sep, os.sep, projectName)
|
||||||
|
else:
|
||||||
|
path = "%s%s%s%sdebug%s%s" % (workingDir, os.sep, projectName, os.sep, os.sep, projectName)
|
||||||
|
if addToFW:
|
||||||
|
mode = "add"
|
||||||
|
enable = "ENABLE"
|
||||||
|
else:
|
||||||
|
mode = "delete"
|
||||||
|
enable = ""
|
||||||
|
return subprocess.call('netsh firewall %s allowedprogram "%s.exe" %s %s' % (mode, path, projectName, enable))
|
||||||
|
|
||||||
|
# helper to check whether win firewall is running or not
|
||||||
|
# this doesn't check for other firewalls!
|
||||||
|
def __isWinFirewallRunning__():
|
||||||
|
global fireWallState
|
||||||
|
if fireWallState != None:
|
||||||
|
return fireWallState
|
||||||
|
if not platform.system() in ('Microsoft' 'Windows'):
|
||||||
|
fireWallState = False
|
||||||
|
return False
|
||||||
|
result = getOutputFromCmdline("netsh firewall show state")
|
||||||
|
for line in result.splitlines():
|
||||||
|
if "Operational mode" in line:
|
||||||
|
fireWallState = not "Disable" in line
|
||||||
|
return fireWallState
|
||||||
|
return None
|
||||||
|
|
||||||
|
# this function adds the given executable as an attachable AUT
|
||||||
|
# Bad: executable/port could be empty strings - you should be aware of this
|
||||||
|
def addExecutableAsAttachableAUT(executable, port, host=None):
|
||||||
|
if not __checkParamsForAttachableAUT__(executable, port):
|
||||||
|
return False
|
||||||
|
if host == None:
|
||||||
|
host = "localhost"
|
||||||
|
squishSrv = __getSquishServer__()
|
||||||
|
if (squishSrv == None):
|
||||||
|
return False
|
||||||
|
result = subprocess.call('%s --config addAttachableAUT "%s" %s:%s' % (squishSrv, executable, host, port), shell=True)
|
||||||
|
if result == 0:
|
||||||
|
test.passes("Added %s as attachable AUT" % executable)
|
||||||
|
else:
|
||||||
|
test.fail("Failed to add %s as attachable AUT" % executable)
|
||||||
|
return result == 0
|
||||||
|
|
||||||
|
# this function removes the given executable as an attachable AUT
|
||||||
|
# Bad: executable/port could be empty strings - you should be aware of this
|
||||||
|
def removeExecutableAsAttachableAUT(executable, port, host=None):
|
||||||
|
if not __checkParamsForAttachableAUT__(executable, port):
|
||||||
|
return False
|
||||||
|
if host == None:
|
||||||
|
host = "localhost"
|
||||||
|
squishSrv = __getSquishServer__()
|
||||||
|
if (squishSrv == None):
|
||||||
|
return False
|
||||||
|
result = subprocess.call('%s --config removeAttachableAUT "%s" %s:%s' % (squishSrv, executable, host, port), shell=True)
|
||||||
|
if result == 0:
|
||||||
|
test.passes("Removed %s as attachable AUT" % executable)
|
||||||
|
else:
|
||||||
|
test.fail("Failed to remove %s as attachable AUT" % executable)
|
||||||
|
return result == 0
|
||||||
|
|
||||||
|
def __checkParamsForAttachableAUT__(executable, port):
|
||||||
|
return port != None and executable != None
|
||||||
|
|
||||||
|
def __getSquishServer__():
|
||||||
|
squishSrv = currentApplicationContext().environmentVariable("SQUISH_PREFIX")
|
||||||
|
if (squishSrv == ""):
|
||||||
|
test.fatal("SQUISH_PREFIX isn't set - leaving test")
|
||||||
|
return None
|
||||||
|
return os.path.abspath(squishSrv + "/bin/squishserver")
|
@@ -77,7 +77,7 @@ def __createProjectSetNameAndPath__(path, projectName = None, checks = True):
|
|||||||
# make sure this is not set as default location
|
# make sure this is not set as default location
|
||||||
ensureChecked("{type='QCheckBox' name='projectsDirectoryCheckBox' visible='1'}", False)
|
ensureChecked("{type='QCheckBox' name='projectsDirectoryCheckBox' visible='1'}", False)
|
||||||
clickButton(waitForObject(":Next_QPushButton"))
|
clickButton(waitForObject(":Next_QPushButton"))
|
||||||
return projectName
|
return str(projectName)
|
||||||
|
|
||||||
def __createProjectHandleLastPage__(expectedFiles = None):
|
def __createProjectHandleLastPage__(expectedFiles = None):
|
||||||
if expectedFiles != None:
|
if expectedFiles != None:
|
||||||
@@ -156,6 +156,7 @@ def createNewQtQuickApplication(workingDir, projectName = None, templateFile = N
|
|||||||
snooze(1)
|
snooze(1)
|
||||||
clickButton(nextButton)
|
clickButton(nextButton)
|
||||||
__createProjectHandleLastPage__()
|
__createProjectHandleLastPage__()
|
||||||
|
return projectName
|
||||||
|
|
||||||
def createNewQtQuickUI(workingDir):
|
def createNewQtQuickUI(workingDir):
|
||||||
__createProjectSelectType__("Qt Quick Project", "Qt Quick UI")
|
__createProjectSelectType__("Qt Quick Project", "Qt Quick UI")
|
||||||
|
128
tests/system/shared/project_explorer.py
Normal file
128
tests/system/shared/project_explorer.py
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
import re;
|
||||||
|
|
||||||
|
# this class holds some constants for easier usage inside the Projects view
|
||||||
|
class ProjectSettings:
|
||||||
|
BUILD = 1
|
||||||
|
RUN = 2
|
||||||
|
|
||||||
|
# this class defines some constants for the views of the creator's MainWindow
|
||||||
|
class ViewConstants:
|
||||||
|
WELCOME = 0
|
||||||
|
EDIT = 1
|
||||||
|
DESIGN = 2
|
||||||
|
DEBUG = 3
|
||||||
|
PROJECTS = 4
|
||||||
|
ANALYZE = 5
|
||||||
|
HELP = 6
|
||||||
|
# always adjust the following to the highest value of the available ViewConstants when adding new
|
||||||
|
LAST_AVAILABLE = HELP
|
||||||
|
|
||||||
|
# this function returns a regex of the tooltip of the FancyTabBar elements
|
||||||
|
# this is needed because the keyboard shortcut is OS specific
|
||||||
|
# if the provided argument does not match any of the ViewConstants it returns None
|
||||||
|
@staticmethod
|
||||||
|
def getToolTipForViewTab(viewTab):
|
||||||
|
if viewTab == ViewConstants.WELCOME:
|
||||||
|
return ur'Switch to <b>Welcome</b> mode <span style="color: gray; font-size: small">(Ctrl\+|\u2303)1</span>'
|
||||||
|
elif viewTab == ViewConstants.EDIT:
|
||||||
|
return ur'Switch to <b>Edit</b> mode <span style="color: gray; font-size: small">(Ctrl\+|\u2303)2</span>'
|
||||||
|
elif viewTab == ViewConstants.DESIGN:
|
||||||
|
return ur'Switch to <b>Design</b> mode <span style="color: gray; font-size: small">(Ctrl\+|\u2303)3</span>'
|
||||||
|
elif viewTab == ViewConstants.DEBUG:
|
||||||
|
return ur'Switch to <b>Debug</b> mode <span style="color: gray; font-size: small">(Ctrl\+|\u2303)4</span>'
|
||||||
|
elif viewTab == ViewConstants.PROJECTS:
|
||||||
|
return ur'Switch to <b>Projects</b> mode <span style="color: gray; font-size: small">(Ctrl\+|\u2303)5</span>'
|
||||||
|
elif viewTab == ViewConstants.ANALYZE:
|
||||||
|
return ur'Switch to <b>Analyze</b> mode <span style="color: gray; font-size: small">(Ctrl\+|\u2303)6</span>'
|
||||||
|
elif viewTab == ViewConstants.HELP:
|
||||||
|
return ur'Switch to <b>Help</b> mode <span style="color: gray; font-size: small">(Ctrl\+|\u2303)7</span>'
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
|
# this function switches the MainWindow of creator to the specified view
|
||||||
|
def switchViewTo(view):
|
||||||
|
if view < ViewConstants.WELCOME or view > ViewConstants.LAST_AVAILABLE:
|
||||||
|
return
|
||||||
|
tabBar = waitForObject("{type='Core::Internal::FancyTabBar' unnamed='1' visible='1' "
|
||||||
|
"window=':Qt Creator_Core::Internal::MainWindow'}")
|
||||||
|
mouseMove(tabBar, 10, 10 + 52 * view)
|
||||||
|
snooze(2)
|
||||||
|
text = str(QToolTip.text())
|
||||||
|
pattern = ViewConstants.getToolTipForViewTab(view)
|
||||||
|
if re.match(pattern, unicode(text), re.UNICODE):
|
||||||
|
test.passes("ToolTip verified")
|
||||||
|
else:
|
||||||
|
test.warning("ToolTip does not match", "Expected pattern: %s\nGot: %s" % (pattern, text))
|
||||||
|
mouseClick(waitForObject("{type='Core::Internal::FancyTabBar' unnamed='1' visible='1' "
|
||||||
|
"window=':Qt Creator_Core::Internal::MainWindow'}"), 5, 5 + 52 * view, 0, Qt.LeftButton)
|
||||||
|
|
||||||
|
# this function is used to make sure that simple building prerequisites are met
|
||||||
|
# param targetCount specifies how many build targets had been selected (it's important that this one is correct)
|
||||||
|
# param currentTarget specifies which target should be selected for the next build (zero based index)
|
||||||
|
# param setReleaseBuild defines whether the current target(s) will be set to a Release or a Debug build
|
||||||
|
# param disableShadowBuild defines whether to disable shadow build or leave it unchanged (no matter what is defined)
|
||||||
|
# param setForAll defines whether to set Release or Debug and ShadowBuild option for all targets or only for the currentTarget
|
||||||
|
def prepareBuildSettings(targetCount, currentTarget, setReleaseBuild=True, disableShadowBuild=True, setForAll=True):
|
||||||
|
switchViewTo(ViewConstants.PROJECTS)
|
||||||
|
success = True
|
||||||
|
for current in range(targetCount):
|
||||||
|
if setForAll or current == currentTarget:
|
||||||
|
switchToBuildOrRunSettingsFor(targetCount, current, ProjectSettings.BUILD)
|
||||||
|
qtCombo = waitForObject(":scrollArea.qtVersionComboBox_QComboBox")
|
||||||
|
chooseThis = None
|
||||||
|
wait = False
|
||||||
|
try:
|
||||||
|
if qtCombo.currentText != defaultQtVersion:
|
||||||
|
selectFromCombo(qtCombo, defaultQtVersion.replace(".", "\\."))
|
||||||
|
if setReleaseBuild:
|
||||||
|
chooseThis = "%s Release" % defaultQtVersion
|
||||||
|
else:
|
||||||
|
chooseThis = "%s Debug" % defaultQtVersion
|
||||||
|
editBuildCfg = waitForObject("{container={type='QScrollArea' name='scrollArea'} "
|
||||||
|
"leftWidget={container={type='QScrollArea' name='scrollArea'} "
|
||||||
|
"text='Edit build configuration:' type='QLabel'}"
|
||||||
|
"unnamed='1' type='QComboBox' visible='1'}", 20000)
|
||||||
|
if editBuildCfg.currentText != chooseThis:
|
||||||
|
wait = True
|
||||||
|
clickItem(editBuildCfg, chooseThis.replace(".", "\\."), 5, 5, 0, Qt.LeftButton)
|
||||||
|
else:
|
||||||
|
wait = False
|
||||||
|
except:
|
||||||
|
if current == currentTarget:
|
||||||
|
success = False
|
||||||
|
if wait and chooseThis != None:
|
||||||
|
waitFor("editBuildCfg.currentText==chooseThis")
|
||||||
|
ensureChecked("{name='shadowBuildCheckBox' type='QCheckBox' visible='1'}", not disableShadowBuild)
|
||||||
|
# get back to the current target
|
||||||
|
if currentTarget < 0 or currentTarget >= targetCount:
|
||||||
|
test.warning("Parameter currentTarget is out of range - will be ignored this time!")
|
||||||
|
else:
|
||||||
|
switchToBuildOrRunSettingsFor(targetCount, currentTarget, ProjectSettings.BUILD)
|
||||||
|
switchViewTo(ViewConstants.EDIT)
|
||||||
|
return success
|
||||||
|
|
||||||
|
# this function switches to the build or the run settings (inside the Projects view)
|
||||||
|
# if you haven't already switched to the Projects view this will fail and return False
|
||||||
|
# param currentTarget specifies the target for which to switch into the specified settings (zero based index)
|
||||||
|
# param targetCount specifies the number of targets currently defined (must be correct!)
|
||||||
|
# param projectSettings specifies where to switch to (must be one of ProjectSettings.BUILD or ProjectSettings.RUN)
|
||||||
|
def switchToBuildOrRunSettingsFor(targetCount, currentTarget, projectSettings):
|
||||||
|
try:
|
||||||
|
targetSel = waitForObject("{type='ProjectExplorer::Internal::TargetSelector' unnamed='1' "
|
||||||
|
"visible='1' window=':Qt Creator_Core::Internal::MainWindow'}")
|
||||||
|
except LookupError:
|
||||||
|
test.fatal("Wrong (time of) call - must be already at Projects view")
|
||||||
|
return False
|
||||||
|
ADD_BUTTON_WIDTH = 27 # bad... (taken from source)
|
||||||
|
selectorWidth = (targetSel.width - 3 - 2 * (ADD_BUTTON_WIDTH + 1)) / targetCount - 1
|
||||||
|
yToClick = targetSel.height * 3 / 5 + 5
|
||||||
|
if projectSettings == ProjectSettings.RUN:
|
||||||
|
xToClick = ADD_BUTTON_WIDTH + (selectorWidth + 1) * currentTarget - 2 + selectorWidth / 2 + 5
|
||||||
|
elif projectSettings == ProjectSettings.BUILD:
|
||||||
|
xToClick = ADD_BUTTON_WIDTH + (selectorWidth + 1) * currentTarget - 2 + selectorWidth / 2 - 5
|
||||||
|
else:
|
||||||
|
test.fatal("Don't know what you're trying to switch to")
|
||||||
|
return False
|
||||||
|
mouseClick(targetSel, xToClick, yToClick, 0, Qt.LeftButton)
|
||||||
|
return True
|
||||||
|
|
@@ -18,6 +18,8 @@ source("../../shared/build_utils.py")
|
|||||||
source("../../shared/qtquick.py")
|
source("../../shared/qtquick.py")
|
||||||
source("../../shared/project.py")
|
source("../../shared/project.py")
|
||||||
source("../../shared/editor_utils.py")
|
source("../../shared/editor_utils.py")
|
||||||
|
source("../../shared/project_explorer.py")
|
||||||
|
source("../../shared/hook_utils.py")
|
||||||
|
|
||||||
def waitForCleanShutdown(timeOut=10):
|
def waitForCleanShutdown(timeOut=10):
|
||||||
appCtxt = currentApplicationContext()
|
appCtxt = currentApplicationContext()
|
||||||
|
@@ -83,7 +83,7 @@ def __chooseTargets__(targets=QtQuickConstants.Targets.DESKTOP):
|
|||||||
if mustCheck:
|
if mustCheck:
|
||||||
test.fail("Failed to check target '%s'" % QtQuickConstants.getStringForTarget(current))
|
test.fail("Failed to check target '%s'" % QtQuickConstants.getStringForTarget(current))
|
||||||
|
|
||||||
def runAndCloseApp():
|
def runAndCloseApp(withHookInto=False, executable=None, port=None):
|
||||||
global processStarted, processExited
|
global processStarted, processExited
|
||||||
processStarted = processExited = False
|
processStarted = processExited = False
|
||||||
installLazySignalHandler("{type='ProjectExplorer::ApplicationLaucher'}", "processStarted()", "__handleProcessStarted__")
|
installLazySignalHandler("{type='ProjectExplorer::ApplicationLaucher'}", "processStarted()", "__handleProcessStarted__")
|
||||||
@@ -101,13 +101,32 @@ def runAndCloseApp():
|
|||||||
test.fatal("Couldn't start application - leaving test")
|
test.fatal("Couldn't start application - leaving test")
|
||||||
invokeMenuItem("File", "Exit")
|
invokeMenuItem("File", "Exit")
|
||||||
return False
|
return False
|
||||||
# the following is currently a work-around for not using hooking into subprocesses
|
if withHookInto and not executable in ("", None):
|
||||||
|
__closeSubprocessByHookingIntoQmlApplicationViewer__(executable, port)
|
||||||
|
else:
|
||||||
|
__closeSubprocessByPushingStop__()
|
||||||
|
return True
|
||||||
|
|
||||||
|
def __closeSubprocessByPushingStop__():
|
||||||
ensureChecked(":Qt Creator_Core::Internal::OutputPaneToggleButton")
|
ensureChecked(":Qt Creator_Core::Internal::OutputPaneToggleButton")
|
||||||
playButton = verifyEnabled(":Qt Creator.ReRun_QToolButton", False)
|
playButton = verifyEnabled(":Qt Creator.ReRun_QToolButton", False)
|
||||||
stopButton = verifyEnabled(":Qt Creator.Stop_QToolButton")
|
stopButton = verifyEnabled(":Qt Creator.Stop_QToolButton")
|
||||||
clickButton(stopButton)
|
clickButton(stopButton)
|
||||||
test.verify(playButton.enabled)
|
test.verify(playButton.enabled)
|
||||||
test.compare(stopButton.enabled, False)
|
test.compare(stopButton.enabled, False)
|
||||||
|
|
||||||
|
def __closeSubprocessByHookingIntoQmlApplicationViewer__(executable, port):
|
||||||
|
global processExited
|
||||||
|
ensureChecked(":Qt Creator_Core::Internal::OutputPaneToggleButton")
|
||||||
|
output = waitForObject("{type='Core::OutputWindow' visible='1' windowTitle='Application Output Window'}", 20000)
|
||||||
|
if port == None:
|
||||||
|
test.warning("I need a port number or attaching might fail.")
|
||||||
|
else:
|
||||||
|
waitFor("'Listening on port %d for incoming connectionsdone' in str(output.plainText)" % port, 5000)
|
||||||
|
attachToApplication(executable)
|
||||||
|
sendEvent("QCloseEvent", "{type='QmlApplicationViewer' unnamed='1' visible='1'}")
|
||||||
|
waitFor("processExited==True", 10000)
|
||||||
|
setApplicationContext(applicationContext("qtcreator"))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def runAndCloseQtQuickUI():
|
def runAndCloseQtQuickUI():
|
||||||
|
@@ -24,16 +24,36 @@ def ensureChecked(objectName, shouldBeChecked = True):
|
|||||||
object = waitForObject(objectName, 20000)
|
object = waitForObject(objectName, 20000)
|
||||||
if object.checked ^ shouldBeChecked:
|
if object.checked ^ shouldBeChecked:
|
||||||
clickButton(object)
|
clickButton(object)
|
||||||
|
if shouldBeChecked:
|
||||||
|
state = "checked"
|
||||||
|
else:
|
||||||
|
state = "unchecked"
|
||||||
|
test.log("New state for QCheckBox: %s" % state)
|
||||||
|
test.verify(object.checked == shouldBeChecked)
|
||||||
return object
|
return object
|
||||||
|
|
||||||
def verifyEnabled(objectName, expectedState = True):
|
# verify that an object is in an expected enable state. Returns the object.
|
||||||
waitFor("object.exists('" + objectName + "')", 20000)
|
# param objectSpec specifies the object to check. It can either be a string determining an object
|
||||||
object = findObject(objectName)
|
# or the object itself. If it is an object, it must exist already.
|
||||||
test.compare(object.enabled, expectedState)
|
# param expectedState is the expected enable state of the object
|
||||||
return object
|
def verifyEnabled(objectSpec, expectedState = True):
|
||||||
|
if isinstance(objectSpec, (str, unicode)):
|
||||||
|
waitFor("object.exists('" + objectSpec + "')", 20000)
|
||||||
|
foundObject = findObject(objectSpec)
|
||||||
|
else:
|
||||||
|
foundObject = objectSpec
|
||||||
|
if objectSpec == None:
|
||||||
|
test.warning("No valid object in function verifyEnabled.")
|
||||||
|
else:
|
||||||
|
test.compare(foundObject.enabled, expectedState)
|
||||||
|
return foundObject
|
||||||
|
|
||||||
def selectFromCombo(objectName, itemName):
|
# select an item from a combo box
|
||||||
object = verifyEnabled(objectName)
|
# param objectSpec specifies the combo box. It can either be a string determining an object
|
||||||
|
# or the object itself. If it is an object, it must exist already.
|
||||||
|
# param itemName is the item to be selected in the combo box
|
||||||
|
def selectFromCombo(objectSpec, itemName):
|
||||||
|
object = verifyEnabled(objectSpec)
|
||||||
mouseClick(object, 5, 5, 0, Qt.LeftButton)
|
mouseClick(object, 5, 5, 0, Qt.LeftButton)
|
||||||
mouseClick(waitForObjectItem(object, itemName), 5, 5, 0, Qt.LeftButton)
|
mouseClick(waitForObjectItem(object, itemName), 5, 5, 0, Qt.LeftButton)
|
||||||
|
|
||||||
@@ -151,3 +171,10 @@ def logApplicationOutput():
|
|||||||
"window=':Qt Creator_Core::Internal::MainWindow' occurrence='3'}")
|
"window=':Qt Creator_Core::Internal::MainWindow' occurrence='3'}")
|
||||||
output = waitForObject("{type='Core::OutputWindow' visible='1' windowTitle='Application Output Window'}", 20000)
|
output = waitForObject("{type='Core::OutputWindow' visible='1' windowTitle='Application Output Window'}", 20000)
|
||||||
test.log("Application Output:\n%s" % output.plainText)
|
test.log("Application Output:\n%s" % output.plainText)
|
||||||
|
|
||||||
|
# get the output from a given cmdline call
|
||||||
|
def getOutputFromCmdline(cmdline):
|
||||||
|
versCall = subprocess.Popen(cmdline, stdout=subprocess.PIPE, shell=True)
|
||||||
|
result = versCall.communicate()[0]
|
||||||
|
versCall.stdout.close()
|
||||||
|
return result
|
||||||
|
13
tests/system/shared_data/qt_squish_mapping.tsv
Normal file
13
tests/system/shared_data/qt_squish_mapping.tsv
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
"qtversion" "mkspec" "path"
|
||||||
|
"4.7" "win32-g++" "C:\QtSDK\src\creator-test-data\Squish_MinGW"
|
||||||
|
"4.7" "win32-msvc2008" "C:\QtSDK\src\creator-test-data\Squish_MSVC9"
|
||||||
|
"4.7" "win32-msvc-2010" "C:\QtSDK\src\creator-test-data\Squish_MSVC10"
|
||||||
|
"4.7" "linux-g++" "~/QtSDK/src/creator-test-data/Squish_32"
|
||||||
|
"4.7" "linux-g++-64" "~/QtSDK/src/creator-test-data/Squish_64"
|
||||||
|
"4.7" "macx-g++" "~/QtSDK/src/creator-test-data/Squish_47x"
|
||||||
|
"4.8" "win32-g++" "C:\QtSDK\src\creator-test-data\Squish_MinGW"
|
||||||
|
"4.8" "win32-msvc2008" "C:\QtSDK\src\creator-test-data\Squish_MSVC9"
|
||||||
|
"4.8" "win32-msvc-2010" "C:\QtSDK\src\creator-test-data\Squish_MSVC10"
|
||||||
|
"4.8" "linux-g++" "~/QtSDK/src/creator-test-data/Squish_32"
|
||||||
|
"4.8" "linux-g++-64" "~/QtSDK/src/creator-test-data/Squish_64"
|
||||||
|
"4.8" "macx-g++" "~/QtSDK/src/creator-test-data/Squish_47x"
|
|
@@ -7,10 +7,11 @@ def main():
|
|||||||
startApplication("qtcreator" + SettingsPath)
|
startApplication("qtcreator" + SettingsPath)
|
||||||
# using a temporary directory won't mess up an eventually exisiting
|
# using a temporary directory won't mess up an eventually exisiting
|
||||||
workingDir = tempDir()
|
workingDir = tempDir()
|
||||||
createNewQtQuickApplication(workingDir)
|
projectName = createNewQtQuickApplication(workingDir, targets = QtQuickConstants.Targets.DESKTOP)
|
||||||
# wait for parsing to complete
|
# wait for parsing to complete
|
||||||
waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)", 30000)
|
waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)", 30000)
|
||||||
test.log("Building project")
|
test.log("Building project")
|
||||||
|
result = modifyRunSettingsForHookInto(projectName, 11223)
|
||||||
invokeMenuItem("Build", "Build All")
|
invokeMenuItem("Build", "Build All")
|
||||||
waitForSignal("{type='ProjectExplorer::BuildManager' unnamed='1'}", "buildQueueFinished(bool)", 300000)
|
waitForSignal("{type='ProjectExplorer::BuildManager' unnamed='1'}", "buildQueueFinished(bool)", 300000)
|
||||||
if not checkCompile():
|
if not checkCompile():
|
||||||
@@ -18,8 +19,20 @@ def main():
|
|||||||
else:
|
else:
|
||||||
checkLastBuild()
|
checkLastBuild()
|
||||||
test.log("Running project (includes build)")
|
test.log("Running project (includes build)")
|
||||||
if runAndCloseApp():
|
if result:
|
||||||
|
result = addExecutableAsAttachableAUT(projectName, 11223)
|
||||||
|
allowAppThroughWinFW(workingDir, projectName)
|
||||||
|
if result:
|
||||||
|
result = runAndCloseApp(True, projectName, 11223)
|
||||||
|
else:
|
||||||
|
result = runAndCloseApp()
|
||||||
|
removeExecutableAsAttachableAUT(projectName, 11223)
|
||||||
|
deleteAppFromWinFW(workingDir, projectName)
|
||||||
|
else:
|
||||||
|
result = runAndCloseApp()
|
||||||
|
if result:
|
||||||
logApplicationOutput()
|
logApplicationOutput()
|
||||||
|
|
||||||
invokeMenuItem("File", "Exit")
|
invokeMenuItem("File", "Exit")
|
||||||
|
|
||||||
def cleanup():
|
def cleanup():
|
||||||
|
Reference in New Issue
Block a user