forked from qt-creator/qt-creator
Maemo: Let user set default key file.
Task-number: QTCREATORBUG-3276
This commit is contained in:
@@ -64,6 +64,7 @@ namespace {
|
|||||||
const QLatin1String PasswordKey("Password");
|
const QLatin1String PasswordKey("Password");
|
||||||
const QLatin1String TimeoutKey("Timeout");
|
const QLatin1String TimeoutKey("Timeout");
|
||||||
const QLatin1String InternalIdKey("InternalId");
|
const QLatin1String InternalIdKey("InternalId");
|
||||||
|
const QLatin1String DefaultKeyFilePathKey("DefaultKeyFile");
|
||||||
|
|
||||||
const QString DefaultKeyFile =
|
const QString DefaultKeyFile =
|
||||||
QDesktopServices::storageLocation(QDesktopServices::HomeLocation)
|
QDesktopServices::storageLocation(QDesktopServices::HomeLocation)
|
||||||
@@ -185,7 +186,8 @@ MaemoDeviceConfig::MaemoDeviceConfig(const QString &name, MaemoDeviceConfig::Dev
|
|||||||
server.port = defaultSshPort(type);
|
server.port = defaultSshPort(type);
|
||||||
server.uname = DefaultUserName;
|
server.uname = DefaultUserName;
|
||||||
server.authType = DefaultAuthType;
|
server.authType = DefaultAuthType;
|
||||||
server.privateKeyFile = DefaultKeyFile;
|
server.privateKeyFile
|
||||||
|
= MaemoDeviceConfigurations::instance().defaultSshKeyFilePath();
|
||||||
server.timeout = DefaultTimeout;
|
server.timeout = DefaultTimeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,6 +285,7 @@ void MaemoDeviceConfigurations::save()
|
|||||||
QSettings *settings = Core::ICore::instance()->settings();
|
QSettings *settings = Core::ICore::instance()->settings();
|
||||||
settings->beginGroup(SettingsGroup);
|
settings->beginGroup(SettingsGroup);
|
||||||
settings->setValue(IdCounterKey, m_nextId);
|
settings->setValue(IdCounterKey, m_nextId);
|
||||||
|
settings->setValue(DefaultKeyFilePathKey, m_defaultSshKeyFilePath);
|
||||||
settings->beginWriteArray(ConfigListKey, m_devConfigs.count());
|
settings->beginWriteArray(ConfigListKey, m_devConfigs.count());
|
||||||
for (int i = 0; i < m_devConfigs.count(); ++i) {
|
for (int i = 0; i < m_devConfigs.count(); ++i) {
|
||||||
settings->setArrayIndex(i);
|
settings->setArrayIndex(i);
|
||||||
@@ -303,6 +306,8 @@ void MaemoDeviceConfigurations::load()
|
|||||||
QSettings *settings = Core::ICore::instance()->settings();
|
QSettings *settings = Core::ICore::instance()->settings();
|
||||||
settings->beginGroup(SettingsGroup);
|
settings->beginGroup(SettingsGroup);
|
||||||
m_nextId = settings->value(IdCounterKey, 1).toULongLong();
|
m_nextId = settings->value(IdCounterKey, 1).toULongLong();
|
||||||
|
m_defaultSshKeyFilePath
|
||||||
|
= settings->value(DefaultKeyFilePathKey, DefaultKeyFile).toString();
|
||||||
int count = settings->beginReadArray(ConfigListKey);
|
int count = settings->beginReadArray(ConfigListKey);
|
||||||
for (int i = 0; i < count; ++i) {
|
for (int i = 0; i < count; ++i) {
|
||||||
settings->setArrayIndex(i);
|
settings->setArrayIndex(i);
|
||||||
|
|||||||
@@ -137,11 +137,16 @@ class MaemoDeviceConfigurations : public QObject
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
static MaemoDeviceConfigurations &instance(QObject *parent = 0);
|
static MaemoDeviceConfigurations &instance(QObject *parent = 0);
|
||||||
|
|
||||||
QList<MaemoDeviceConfig> devConfigs() const { return m_devConfigs; }
|
QList<MaemoDeviceConfig> devConfigs() const { return m_devConfigs; }
|
||||||
void setDevConfigs(const QList<MaemoDeviceConfig> &devConfigs);
|
void setDevConfigs(const QList<MaemoDeviceConfig> &devConfigs);
|
||||||
|
|
||||||
MaemoDeviceConfig find(const QString &name) const;
|
MaemoDeviceConfig find(const QString &name) const;
|
||||||
MaemoDeviceConfig find(quint64 id) const;
|
MaemoDeviceConfig find(quint64 id) const;
|
||||||
|
|
||||||
|
void setDefaultSshKeyFilePath(const QString &path) { m_defaultSshKeyFilePath = path; }
|
||||||
|
QString defaultSshKeyFilePath() const { return m_defaultSshKeyFilePath; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void updated();
|
void updated();
|
||||||
|
|
||||||
@@ -153,6 +158,7 @@ private:
|
|||||||
static MaemoDeviceConfigurations *m_instance;
|
static MaemoDeviceConfigurations *m_instance;
|
||||||
QList<MaemoDeviceConfig> m_devConfigs;
|
QList<MaemoDeviceConfig> m_devConfigs;
|
||||||
quint64 m_nextId;
|
quint64 m_nextId;
|
||||||
|
QString m_defaultSshKeyFilePath;
|
||||||
friend class MaemoDeviceConfig;
|
friend class MaemoDeviceConfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -157,6 +157,8 @@ void MaemoDeviceConfigurationsSettingsWidget::initGui()
|
|||||||
QRegExpValidator * const portsValidator
|
QRegExpValidator * const portsValidator
|
||||||
= new QRegExpValidator(QRegExp(MaemoDeviceConfig::portsRegExpr()), this);
|
= new QRegExpValidator(QRegExp(MaemoDeviceConfig::portsRegExpr()), this);
|
||||||
m_ui->portsLineEdit->setValidator(portsValidator);
|
m_ui->portsLineEdit->setValidator(portsValidator);
|
||||||
|
connect(m_ui->makeKeyFileDefaultButton, SIGNAL(clicked()),
|
||||||
|
SLOT(setDefaultKeyFilePath()));
|
||||||
foreach (const MaemoDeviceConfig &devConf, m_devConfs)
|
foreach (const MaemoDeviceConfig &devConf, m_devConfs)
|
||||||
m_ui->configurationComboBox->addItem(devConf.name);
|
m_ui->configurationComboBox->addItem(devConf.name);
|
||||||
connect(m_ui->configurationComboBox, SIGNAL(currentIndexChanged(int)),
|
connect(m_ui->configurationComboBox, SIGNAL(currentIndexChanged(int)),
|
||||||
@@ -302,6 +304,7 @@ void MaemoDeviceConfigurationsSettingsWidget::authenticationTypeChanged()
|
|||||||
m_ui->passwordLabel->setEnabled(usePassword);
|
m_ui->passwordLabel->setEnabled(usePassword);
|
||||||
m_ui->keyFileLineEdit->setEnabled(!usePassword);
|
m_ui->keyFileLineEdit->setEnabled(!usePassword);
|
||||||
m_ui->keyLabel->setEnabled(!usePassword);
|
m_ui->keyLabel->setEnabled(!usePassword);
|
||||||
|
m_ui->makeKeyFileDefaultButton->setEnabled(!usePassword);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MaemoDeviceConfigurationsSettingsWidget::hostNameEditingFinished()
|
void MaemoDeviceConfigurationsSettingsWidget::hostNameEditingFinished()
|
||||||
@@ -364,6 +367,12 @@ void MaemoDeviceConfigurationsSettingsWidget::showRemoteProcesses()
|
|||||||
dlg.exec();
|
dlg.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MaemoDeviceConfigurationsSettingsWidget::setDefaultKeyFilePath()
|
||||||
|
{
|
||||||
|
MaemoDeviceConfigurations::instance()
|
||||||
|
.setDefaultSshKeyFilePath(m_ui->keyFileLineEdit->path());
|
||||||
|
}
|
||||||
|
|
||||||
void MaemoDeviceConfigurationsSettingsWidget::setPrivateKey(const QString &path)
|
void MaemoDeviceConfigurationsSettingsWidget::setPrivateKey(const QString &path)
|
||||||
{
|
{
|
||||||
m_ui->keyFileLineEdit->setPath(path);
|
m_ui->keyFileLineEdit->setPath(path);
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ private slots:
|
|||||||
void showPassword(bool showClearText);
|
void showPassword(bool showClearText);
|
||||||
void handleFreePortsChanged();
|
void handleFreePortsChanged();
|
||||||
void showRemoteProcesses();
|
void showRemoteProcesses();
|
||||||
|
void setDefaultKeyFilePath();
|
||||||
|
|
||||||
// For configuration testing.
|
// For configuration testing.
|
||||||
void testConfig();
|
void testConfig();
|
||||||
|
|||||||
@@ -67,9 +67,6 @@
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QFormLayout" name="formLayout_2">
|
<layout class="QFormLayout" name="formLayout_2">
|
||||||
<property name="fieldGrowthPolicy">
|
|
||||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="deviceNameLabel">
|
<widget class="QLabel" name="deviceNameLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -333,8 +330,19 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="1">
|
<item row="9" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||||
|
<item>
|
||||||
<widget class="Utils::PathChooser" name="keyFileLineEdit" native="true"/>
|
<widget class="Utils::PathChooser" name="keyFileLineEdit" native="true"/>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="makeKeyFileDefaultButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Set as Default</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
Reference in New Issue
Block a user