RemoteLinux: Add a per-device setting for qml runtimes

Task-number: QTCREATORBUG-28074
Change-Id: I8d1ea1908685212a8aba79ade39a2abf77e05409
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2022-12-13 14:51:58 +01:00
parent 354f67f11a
commit f9e373bba7
2 changed files with 19 additions and 3 deletions

View File

@@ -69,8 +69,14 @@ GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
m_machineTypeValueLabel = new QLabel(this); m_machineTypeValueLabel = new QLabel(this);
const QString hint = Tr::tr("Leave empty to look up executable in $PATH");
m_gdbServerLineEdit = new QLineEdit(this); m_gdbServerLineEdit = new QLineEdit(this);
m_gdbServerLineEdit->setPlaceholderText(Tr::tr("Leave empty to look up executable in $PATH")); m_gdbServerLineEdit->setPlaceholderText(hint);
m_gdbServerLineEdit->setToolTip(hint);
m_qmlRuntimeLineEdit = new QLineEdit(this);
m_qmlRuntimeLineEdit->setPlaceholderText(hint);
m_qmlRuntimeLineEdit->setToolTip(hint);
auto sshPortLabel = new QLabel(Tr::tr("&SSH port:")); auto sshPortLabel = new QLabel(Tr::tr("&SSH port:"));
sshPortLabel->setBuddy(m_sshPortSpinBox); sshPortLabel->setBuddy(m_sshPortSpinBox);
@@ -84,7 +90,8 @@ GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
Tr::tr("Free ports:"), m_portsLineEdit, m_portsWarningLabel, Tr::tr("Timeout:"), m_timeoutSpinBox, st, br, Tr::tr("Free ports:"), m_portsLineEdit, m_portsWarningLabel, Tr::tr("Timeout:"), m_timeoutSpinBox, st, br,
Tr::tr("&Username:"), m_userLineEdit, st, br, Tr::tr("&Username:"), m_userLineEdit, st, br,
m_keyLabel, m_keyFileLineEdit, createKeyButton, st, br, m_keyLabel, m_keyFileLineEdit, createKeyButton, st, br,
Tr::tr("GDB server executable:"), m_gdbServerLineEdit, st, br Tr::tr("GDB server executable:"), m_gdbServerLineEdit, st, br,
Tr::tr("QML runtime executable:"), m_qmlRuntimeLineEdit, st, br
}.attachTo(this); }.attachTo(this);
connect(m_hostLineEdit, &QLineEdit::editingFinished, connect(m_hostLineEdit, &QLineEdit::editingFinished,
@@ -111,9 +118,10 @@ GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
this, &GenericLinuxDeviceConfigurationWidget::createNewKey); this, &GenericLinuxDeviceConfigurationWidget::createNewKey);
connect(m_gdbServerLineEdit, &QLineEdit::editingFinished, connect(m_gdbServerLineEdit, &QLineEdit::editingFinished,
this, &GenericLinuxDeviceConfigurationWidget::gdbServerEditingFinished); this, &GenericLinuxDeviceConfigurationWidget::gdbServerEditingFinished);
connect(m_qmlRuntimeLineEdit, &QLineEdit::editingFinished,
this, &GenericLinuxDeviceConfigurationWidget::qmlRuntimeEditingFinished);
connect(m_hostKeyCheckBox, &QCheckBox::toggled, connect(m_hostKeyCheckBox, &QCheckBox::toggled,
this, &GenericLinuxDeviceConfigurationWidget::hostKeyCheckingChanged); this, &GenericLinuxDeviceConfigurationWidget::hostKeyCheckingChanged);
m_gdbServerLineEdit->setToolTip(m_gdbServerLineEdit->placeholderText());
initGui(); initGui();
} }
@@ -172,6 +180,11 @@ void GenericLinuxDeviceConfigurationWidget::gdbServerEditingFinished()
device()->setDebugServerPath(device()->filePath(m_gdbServerLineEdit->text())); device()->setDebugServerPath(device()->filePath(m_gdbServerLineEdit->text()));
} }
void GenericLinuxDeviceConfigurationWidget::qmlRuntimeEditingFinished()
{
device()->setQmlRunCommand(device()->filePath(m_qmlRuntimeLineEdit->text()));
}
void GenericLinuxDeviceConfigurationWidget::handleFreePortsChanged() void GenericLinuxDeviceConfigurationWidget::handleFreePortsChanged()
{ {
device()->setFreePorts(PortList::fromString(m_portsLineEdit->text())); device()->setFreePorts(PortList::fromString(m_portsLineEdit->text()));
@@ -254,6 +267,7 @@ void GenericLinuxDeviceConfigurationWidget::initGui()
m_keyFileLineEdit->setFilePath(sshParams.privateKeyFile); m_keyFileLineEdit->setFilePath(sshParams.privateKeyFile);
// FIXME: Use a remote executable line edit // FIXME: Use a remote executable line edit
m_gdbServerLineEdit->setText(device()->debugServerPath().path()); m_gdbServerLineEdit->setText(device()->debugServerPath().path());
m_qmlRuntimeLineEdit->setText(device()->qmlRunCommand().path());
updatePortsWarningLabel(); updatePortsWarningLabel();
} }

View File

@@ -37,6 +37,7 @@ private:
void userNameEditingFinished(); void userNameEditingFinished();
void keyFileEditingFinished(); void keyFileEditingFinished();
void gdbServerEditingFinished(); void gdbServerEditingFinished();
void qmlRuntimeEditingFinished();
void handleFreePortsChanged(); void handleFreePortsChanged();
void setPrivateKey(const Utils::FilePath &path); void setPrivateKey(const Utils::FilePath &path);
void createNewKey(); void createNewKey();
@@ -59,6 +60,7 @@ private:
Utils::PathChooser *m_keyFileLineEdit; Utils::PathChooser *m_keyFileLineEdit;
QLabel *m_machineTypeValueLabel; QLabel *m_machineTypeValueLabel;
QLineEdit *m_gdbServerLineEdit; QLineEdit *m_gdbServerLineEdit;
QLineEdit *m_qmlRuntimeLineEdit;
}; };
} // RemoteLinux::Internal } // RemoteLinux::Internal