forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/11.0'
Change-Id: Ifab8b72af33de4decf20d2a879bea4dfba1e9fbe
This commit is contained in:
@@ -12437,7 +12437,7 @@ Siehe auch die Einstellungen für Google Test.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The remote executable must be set in order to run a custom remote run configuration.</source>
|
||||
<translation>Die entfernte ausführbare Datei muss eingestellt sein um eine benutzerdefinierte enternte Ausführungskonfiguration zu verwenden.</translation>
|
||||
<translation>Die entfernte ausführbare Datei muss gesetzt sein, um eine benutzerdefinierte entfernte Ausführungskonfiguration zu verwenden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Custom Executable</source>
|
||||
@@ -14425,7 +14425,7 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev
|
||||
</message>
|
||||
<message>
|
||||
<source>Set as the default CMake Tool to use when creating a new kit or when no value is set.</source>
|
||||
<translation>Als vorgegebenes CMake-Werkzeug einstellen, das verwendet wird, wenn eine neues Kit erstellt wird oder kein Wert eingestellt ist.</translation>
|
||||
<translation>Als vorgegebenes CMake-Werkzeug einstellen, das verwendet wird, wenn ein neues Kit erstellt wird oder kein Wert gesetzt ist.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clone of %1</source>
|
||||
@@ -14481,7 +14481,7 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev
|
||||
</message>
|
||||
<message>
|
||||
<source>A CMake tool must be set up for building. Configure a CMake tool in the kit options.</source>
|
||||
<translation>Zum Erstellen muss ein CMake-Werkzeug eingestellt sein. Die Konfiguration erfolgt in den Kit Einstellungen.</translation>
|
||||
<translation>Zum Erstellen muss ein CMake-Werkzeug gesetzt sein. Die Konfiguration erfolgt in den Kit Einstellungen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a CMakeCache.txt file in "%1", which suggest an in-source build was done before. You are now building in "%2", and the CMakeCache.txt file might confuse CMake.</source>
|
||||
@@ -32854,11 +32854,11 @@ Möchten Sie sie überschreiben?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No device chosen. Select %1.</source>
|
||||
<translation>Kein Gerät eingestellt. Wählen Sie %1 aus.</translation>
|
||||
<translation>Kein Gerät ausgewählt. Wählen Sie %1 aus.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No device chosen. Enable developer mode on a device.</source>
|
||||
<translation>Kein Gerät eingestellt. Aktivieren Sie den Entwicklungsmodus auf einem Gerät.</translation>
|
||||
<translation>Kein Gerät ausgewählt. Aktivieren Sie den Entwicklungsmodus auf einem Gerät.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No device available.</source>
|
||||
@@ -34785,7 +34785,7 @@ Dies ist hilfreich, wenn das Build-Verzeichnis beschädigt ist oder das Projekt
|
||||
</message>
|
||||
<message>
|
||||
<source>Set as the default Meson executable to use when creating a new kit or when no value is set.</source>
|
||||
<translation>Als vorgegebenes Meson-Werkzeug einstellen, das verwendet wird, wenn eine neues Kit erstellt wird oder kein Wert eingestellt ist.</translation>
|
||||
<translation>Als vorgegebenes Meson-Werkzeug einstellen, das verwendet wird, wenn ein neues Kit erstellt wird oder kein Wert gesetzt ist.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -41386,7 +41386,7 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No device set.</source>
|
||||
<translation>Es ist kein Gerät eingestellt.</translation>
|
||||
<translation>Es ist kein Gerät gesetzt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device is incompatible with this kit.</source>
|
||||
@@ -43230,7 +43230,7 @@ Weder der Pfad zur Bibliothek noch der Pfad zu den Headerdateien wird zur .pro-D
|
||||
</message>
|
||||
<message>
|
||||
<source><b>qmake:</b> No Qt version set. Cannot run qmake.</source>
|
||||
<translation><b>qmake:</b> Es ist keine Qt-Version eingestellt. qmake kann nicht ausgeführt werden.</translation>
|
||||
<translation><b>qmake:</b> Es ist keine Qt-Version gesetzt. qmake kann nicht ausgeführt werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>qmake:</b> %1 %2</source>
|
||||
@@ -46061,7 +46061,7 @@ Are you sure?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remote path not set</source>
|
||||
<translation>Der entfernte Pfad ist nicht eingestellt</translation>
|
||||
<translation>Der entfernte Pfad ist nicht gesetzt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executable on host:</source>
|
||||
@@ -46983,7 +46983,7 @@ Zusätzlich wird die Verbindung zum Gerät getestet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No device configuration set.</source>
|
||||
<translation>Es ist keine Gerätekonfiguration eingestellt.</translation>
|
||||
<translation>Es ist keine Gerätekonfiguration gesetzt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot deploy: %1</source>
|
||||
@@ -47504,7 +47504,7 @@ Der Kontrollprozess konnte nicht gestartet werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The remote executable must be set in order to run a custom remote run configuration.</source>
|
||||
<translation>Die entfernte ausführbare Datei muss eingestellt sein um eine benutzerdefinierte enternte Ausführungskonfiguration zu verwenden.</translation>
|
||||
<translation>Die entfernte ausführbare Datei muss gesetzt sein um eine benutzerdefinierte entfernte Ausführungskonfiguration zu verwenden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Custom Executable</source>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2048,14 +2048,14 @@ const Value *Check::checkScopeObjectMember(const UiQualifiedId *id)
|
||||
return nullptr;
|
||||
|
||||
if (!value) {
|
||||
// We omit M16 messages if the type using ImmediateProperties
|
||||
// Ideally, we should obtain them through metaobject information
|
||||
const bool omitMessage = !m_typeStack.isEmpty()
|
||||
&& ((m_typeStack.last() == "PropertyChanges")
|
||||
|| m_typeStack.last() == "Binding")
|
||||
&& !m_idStack.isEmpty() && m_idStack.last().contains(propertyName);
|
||||
if (!omitMessage)
|
||||
// We omit M16 messages if the enclosing type have ImmediateProperties classinfo.
|
||||
// Ideally, we should get this information from metaobject by checking the index
|
||||
// metaObject->indexOfClassInfo("ImmediatePropertyNames"), for now it's hard coded.
|
||||
if ( !m_typeStack.isEmpty()
|
||||
&& ((m_typeStack.last() != "PropertyChanges")
|
||||
&& m_typeStack.last() != "Binding")) {
|
||||
addMessage(ErrInvalidPropertyName, id->identifierToken, propertyName);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -198,15 +198,16 @@ static QString initialStagingDir(Kit *kit)
|
||||
static bool supportsStageForInstallation(const Kit *kit)
|
||||
{
|
||||
IDeviceConstPtr runDevice = DeviceKitAspect::device(kit);
|
||||
Id runDeviceType = DeviceTypeKitAspect::deviceTypeId(kit);
|
||||
IDeviceConstPtr buildDevice = BuildDeviceKitAspect::device(kit);
|
||||
QTC_ASSERT(runDevice, return false);
|
||||
QTC_ASSERT(runDeviceType.isValid(), return false);
|
||||
QTC_ASSERT(buildDevice, return false);
|
||||
return runDevice->id() != buildDevice->id()
|
||||
&& runDevice->type() != Android::Constants::ANDROID_DEVICE_TYPE
|
||||
&& runDevice->type() != Ios::Constants::IOS_DEVICE_TYPE
|
||||
&& runDevice->type() != Ios::Constants::IOS_SIMULATOR_TYPE
|
||||
&& runDevice->type() != BareMetal::Constants::BareMetalOsType
|
||||
&& runDevice->type() != WebAssembly::Constants::WEBASSEMBLY_DEVICE_TYPE;
|
||||
return (!runDevice || runDevice->id() != buildDevice->id())
|
||||
&& runDeviceType != Android::Constants::ANDROID_DEVICE_TYPE
|
||||
&& runDeviceType != Ios::Constants::IOS_DEVICE_TYPE
|
||||
&& runDeviceType != Ios::Constants::IOS_SIMULATOR_TYPE
|
||||
&& runDeviceType != BareMetal::Constants::BareMetalOsType
|
||||
&& runDeviceType != WebAssembly::Constants::WEBASSEMBLY_DEVICE_TYPE;
|
||||
}
|
||||
|
||||
CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) :
|
||||
|
||||
@@ -285,6 +285,8 @@ bool CMakeBuildSystem::addFiles(Node *context, const FilePaths &filePaths, FileP
|
||||
const int targetDefinitionLine = target.backtrace.last().line;
|
||||
|
||||
// Have a fresh look at the CMake file, not relying on a cached value
|
||||
Core::DocumentManager::saveModifiedDocumentSilently(
|
||||
Core::DocumentModel::documentForFilePath(targetCMakeFile));
|
||||
expected_str<QByteArray> fileContent = targetCMakeFile.fileContents();
|
||||
cmListFile cmakeListFile;
|
||||
std::string errorString;
|
||||
@@ -410,6 +412,8 @@ CMakeBuildSystem::projectFileArgumentPosition(const QString &targetName, const Q
|
||||
const FilePath targetCMakeFile = target.backtrace.last().path;
|
||||
|
||||
// Have a fresh look at the CMake file, not relying on a cached value
|
||||
Core::DocumentManager::saveModifiedDocumentSilently(
|
||||
Core::DocumentModel::documentForFilePath(targetCMakeFile));
|
||||
expected_str<QByteArray> fileContent = targetCMakeFile.fileContents();
|
||||
cmListFile cmakeListFile;
|
||||
std::string errorString;
|
||||
|
||||
@@ -1450,10 +1450,12 @@ void GdbEngine::handleStop2(const GdbMi &data)
|
||||
|
||||
void GdbEngine::handleStop3()
|
||||
{
|
||||
if (terminal() && state() != InferiorRunOk) {
|
||||
DebuggerCommand cmd("-thread-info", Discardable);
|
||||
cmd.callback = CB(handleThreadInfo);
|
||||
runCommand(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
void GdbEngine::handleShowVersion(const DebuggerResponse &response)
|
||||
{
|
||||
|
||||
@@ -471,7 +471,7 @@ QWidget *QMakeStep::createConfigWidget()
|
||||
connect(abisListWidget, &QListWidget::itemChanged, this, [this] {
|
||||
if (m_ignoreChanges.isLocked())
|
||||
return;
|
||||
updateAbiWidgets();
|
||||
abisChanged();
|
||||
if (QmakeBuildConfiguration *bc = qmakeBuildConfiguration())
|
||||
BuildManager::buildLists({bc->cleanSteps()});
|
||||
});
|
||||
|
||||
Submodule src/shared/qbs updated: b4c7d6078c...b607fac54e
@@ -211,6 +211,38 @@ void onInferiorErrorOccurered(QProcess::ProcessError error)
|
||||
qCWarning(log) << "Inferior error: " << error << inferiorProcess.errorString();
|
||||
}
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
QString statusToString(int status)
|
||||
{
|
||||
if (WIFEXITED(status))
|
||||
return QString("exit, status=%1").arg(WEXITSTATUS(status));
|
||||
else if (WIFSIGNALED(status))
|
||||
return QString("Killed by: %1").arg(WTERMSIG(status));
|
||||
else if (WIFSTOPPED(status)) {
|
||||
return QString("Stopped by: %1").arg(WSTOPSIG(status));
|
||||
} else if (WIFCONTINUED(status))
|
||||
return QString("Continued");
|
||||
|
||||
return QString("Unknown status");
|
||||
}
|
||||
|
||||
bool waitFor(int signalToWaitFor)
|
||||
{
|
||||
int status = 0;
|
||||
|
||||
waitpid(inferiorId, &status, WUNTRACED);
|
||||
|
||||
if (!WIFSTOPPED(status) || WSTOPSIG(status) != signalToWaitFor) {
|
||||
qCCritical(log) << "Unexpected status during startup:" << statusToString(status)
|
||||
<< ", aborting";
|
||||
sendCrash(0xFF);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
void onInferiorStarted()
|
||||
{
|
||||
inferiorId = inferiorProcess.processId();
|
||||
@@ -223,25 +255,21 @@ void onInferiorStarted()
|
||||
if (!debugMode)
|
||||
sendPid(inferiorId);
|
||||
#else
|
||||
|
||||
if (debugMode) {
|
||||
qCInfo(log) << "Waiting for SIGTRAP from inferiors execve ...";
|
||||
if (!waitFor(SIGTRAP))
|
||||
return;
|
||||
|
||||
qCInfo(log) << "Detaching ...";
|
||||
ptrace(PTRACE_DETACH, inferiorId, 0, SIGSTOP);
|
||||
|
||||
// Wait until the process actually finished detaching
|
||||
int status = 0;
|
||||
waitpid(inferiorId, &status, WUNTRACED);
|
||||
if (log().isInfoEnabled()) {
|
||||
if (WIFEXITED(status))
|
||||
qCInfo(log) << "inferior exited, status=" << WEXITSTATUS(status);
|
||||
else if (WIFSIGNALED(status))
|
||||
qCInfo(log) << "inferior killed by signal" << WTERMSIG(status);
|
||||
else if (WIFSTOPPED(status))
|
||||
qCInfo(log) << "inferior stopped by signal" << WSTOPSIG(status);
|
||||
else if (WIFCONTINUED(status))
|
||||
qCInfo(log) << "inferior continued";
|
||||
}
|
||||
if (!waitFor(SIGSTOP))
|
||||
return;
|
||||
}
|
||||
|
||||
qCInfo(log) << "Sending pid:" << inferiorId;
|
||||
sendPid(inferiorId);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -28,12 +28,23 @@ Window {
|
||||
Text {
|
||||
id: innerText
|
||||
}
|
||||
states: State {
|
||||
states: [
|
||||
State {
|
||||
name: "widerText"
|
||||
PropertyChanges { myText.width: undefined }
|
||||
AnchorChanges { innerRect.width: undefined } // 16 29 37
|
||||
},
|
||||
State {
|
||||
when: root.visible
|
||||
PropertyChanges {
|
||||
// change an object property that is not an ancestor
|
||||
innerRect {
|
||||
color: "blue"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Binding {rect.width: innerText.width}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user