forked from qt-creator/qt-creator
Introduce the concept of an abstract device.
The idea is that all kinds of devices inherit from one abstract base class and that they are all managed by one device manager, who does not know about their specifics. For now, the only concrete subclass is the LinuxDeviceConguration. Change-Id: I31ff5586a0fdd6bcf8dcc0554bb2b91fe65b2f3f Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
This commit is contained in:
@@ -32,10 +32,9 @@
|
||||
#include "genericlinuxdeviceconfigurationwidget.h"
|
||||
#include "ui_genericlinuxdeviceconfigurationwidget.h"
|
||||
|
||||
#include <remotelinux/linuxdeviceconfigurations.h>
|
||||
|
||||
#include <utils/portlist.h>
|
||||
#include <utils/ssh/sshconnection.h>
|
||||
#include <utils/ssh/sshkeycreationdialog.h>
|
||||
|
||||
#include <QTextStream>
|
||||
|
||||
@@ -45,7 +44,7 @@ using namespace Utils;
|
||||
GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
|
||||
const LinuxDeviceConfiguration::Ptr &deviceConfig,
|
||||
QWidget *parent) :
|
||||
ILinuxDeviceConfigurationWidget(deviceConfig, parent),
|
||||
ProjectExplorer::IDeviceWidget(deviceConfig, parent),
|
||||
m_ui(new Ui::GenericLinuxDeviceConfigurationWidget)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
@@ -62,7 +61,7 @@ GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
|
||||
connect(m_ui->sshPortSpinBox, SIGNAL(valueChanged(int)), this, SLOT(sshPortEditingFinished()));
|
||||
connect(m_ui->showPasswordCheckBox, SIGNAL(toggled(bool)), this, SLOT(showPassword(bool)));
|
||||
connect(m_ui->portsLineEdit, SIGNAL(editingFinished()), this, SLOT(handleFreePortsChanged()));
|
||||
connect(m_ui->makeKeyFileDefaultButton, SIGNAL(clicked()), SLOT(setDefaultKeyFilePath()));
|
||||
connect(m_ui->createKeyButton, SIGNAL(clicked()), SLOT(createNewKey()));
|
||||
|
||||
initGui();
|
||||
}
|
||||
@@ -84,7 +83,6 @@ void GenericLinuxDeviceConfigurationWidget::authenticationTypeChanged()
|
||||
m_ui->passwordLabel->setEnabled(usePassword);
|
||||
m_ui->keyFileLineEdit->setEnabled(!usePassword);
|
||||
m_ui->keyLabel->setEnabled(!usePassword);
|
||||
m_ui->makeKeyFileDefaultButton->setEnabled(!usePassword);
|
||||
}
|
||||
|
||||
void GenericLinuxDeviceConfigurationWidget::hostNameEditingFinished()
|
||||
@@ -141,17 +139,19 @@ void GenericLinuxDeviceConfigurationWidget::showPassword(bool showClearText)
|
||||
? QLineEdit::Normal : QLineEdit::Password);
|
||||
}
|
||||
|
||||
void GenericLinuxDeviceConfigurationWidget::setDefaultKeyFilePath()
|
||||
{
|
||||
emit defaultSshKeyFilePathChanged(m_ui->keyFileLineEdit->path());
|
||||
}
|
||||
|
||||
void GenericLinuxDeviceConfigurationWidget::setPrivateKey(const QString &path)
|
||||
{
|
||||
m_ui->keyFileLineEdit->setPath(path);
|
||||
keyFileEditingFinished();
|
||||
}
|
||||
|
||||
void GenericLinuxDeviceConfigurationWidget::createNewKey()
|
||||
{
|
||||
SshKeyCreationDialog dialog(this);
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
setPrivateKey(dialog.privateKeyFilePath());
|
||||
}
|
||||
|
||||
void GenericLinuxDeviceConfigurationWidget::updatePortsWarningLabel()
|
||||
{
|
||||
m_ui->portsWarningLabel->setVisible(!deviceConfiguration()->freePorts().hasMore());
|
||||
@@ -192,3 +192,8 @@ void GenericLinuxDeviceConfigurationWidget::initGui()
|
||||
m_ui->showPasswordCheckBox->setChecked(false);
|
||||
updatePortsWarningLabel();
|
||||
}
|
||||
|
||||
LinuxDeviceConfiguration::Ptr GenericLinuxDeviceConfigurationWidget::deviceConfiguration() const
|
||||
{
|
||||
return device().staticCast<LinuxDeviceConfiguration>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user