forked from qt-creator/qt-creator
Gerrit: Support plink
Change-Id: I7fe7c5d47b17b2e5d8179e7deb9cb8e566f15912 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This commit is contained in:
committed by
Friedemann Kleint
parent
cc6a3b4fd7
commit
b7927fe1b0
@@ -124,6 +124,7 @@ GerritParameters GerritOptionsWidget::parameters() const
|
||||
result.port = m_portSpinBox->value();
|
||||
result.additionalQueries = m_additionalQueriesLineEdit->text().trimmed();
|
||||
result.https = m_httpsCheckBox->isChecked();
|
||||
result.setPortFlagBySshType();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@@ -38,6 +38,7 @@
|
||||
#else
|
||||
# include <utils/environment.h>
|
||||
#endif
|
||||
#include <utils/pathchooser.h>
|
||||
#include <QDebug>
|
||||
#include <QFileInfo>
|
||||
#include <QSettings>
|
||||
@@ -49,12 +50,15 @@ static const char settingsGroupC[] = "Gerrit";
|
||||
static const char hostKeyC[] = "Host";
|
||||
static const char userKeyC[] = "User";
|
||||
static const char portKeyC[] = "Port";
|
||||
static const char portFlagKeyC[] = "PortFlag";
|
||||
static const char sshKeyC[] = "Ssh";
|
||||
static const char httpsKeyC[] = "Https";
|
||||
static const char defaultHostC[] = "codereview.qt-project.org";
|
||||
static const char defaultSshC[] = "ssh";
|
||||
static const char additionalQueriesKeyC[] = "AdditionalQueries";
|
||||
|
||||
static const char defaultPortFlag[] = "-p";
|
||||
|
||||
enum { defaultPort = 29418 };
|
||||
|
||||
static inline QString detectSsh()
|
||||
@@ -83,17 +87,25 @@ static inline QString detectSsh()
|
||||
return ssh;
|
||||
}
|
||||
|
||||
void GerritParameters::setPortFlagBySshType()
|
||||
{
|
||||
const QString version = Utils::PathChooser::toolVersion(ssh, QStringList(QLatin1String("-V")));
|
||||
portFlag = (version.contains(QLatin1String("plink"), Qt::CaseInsensitive)) ?
|
||||
QLatin1String("-P") : QLatin1String(defaultPortFlag);
|
||||
}
|
||||
|
||||
GerritParameters::GerritParameters()
|
||||
: host(QLatin1String(defaultHostC))
|
||||
, port(defaultPort)
|
||||
, https(true)
|
||||
, portFlag(QLatin1String(defaultPortFlag))
|
||||
{
|
||||
}
|
||||
|
||||
QStringList GerritParameters::baseCommandArguments() const
|
||||
{
|
||||
QStringList result;
|
||||
result << ssh << QLatin1String("-p") << QString::number(port)
|
||||
result << ssh << portFlag << QString::number(port)
|
||||
<< sshHostArgument() << QLatin1String("gerrit");
|
||||
return result;
|
||||
}
|
||||
@@ -116,6 +128,7 @@ void GerritParameters::toSettings(QSettings *s) const
|
||||
s->setValue(QLatin1String(hostKeyC), host);
|
||||
s->setValue(QLatin1String(userKeyC), user);
|
||||
s->setValue(QLatin1String(portKeyC), port);
|
||||
s->setValue(QLatin1String(portFlagKeyC), portFlag);
|
||||
s->setValue(QLatin1String(sshKeyC), ssh);
|
||||
s->setValue(QLatin1String(additionalQueriesKeyC), additionalQueries);
|
||||
s->setValue(QLatin1String(httpsKeyC), https);
|
||||
@@ -129,6 +142,7 @@ void GerritParameters::fromSettings(const QSettings *s)
|
||||
user = s->value(rootKey + QLatin1String(userKeyC), QString()).toString();
|
||||
ssh = s->value(rootKey + QLatin1String(sshKeyC), QString()).toString();
|
||||
port = s->value(rootKey + QLatin1String(portKeyC), QVariant(int(defaultPort))).toInt();
|
||||
portFlag = s->value(rootKey + QLatin1String(portFlagKeyC), QLatin1String(defaultPortFlag)).toString();
|
||||
additionalQueries = s->value(rootKey + QLatin1String(additionalQueriesKeyC), QString()).toString();
|
||||
https = s->value(rootKey + QLatin1String(httpsKeyC), QVariant(true)).toBool();
|
||||
if (ssh.isEmpty())
|
||||
|
@@ -51,6 +51,7 @@ public:
|
||||
bool equals(const GerritParameters &rhs) const;
|
||||
void toSettings(QSettings *) const;
|
||||
void fromSettings(const QSettings *);
|
||||
void setPortFlagBySshType();
|
||||
|
||||
QString host;
|
||||
unsigned short port;
|
||||
@@ -58,6 +59,7 @@ public:
|
||||
QString ssh;
|
||||
QString additionalQueries;
|
||||
bool https;
|
||||
QString portFlag;
|
||||
};
|
||||
|
||||
inline bool operator==(const GerritParameters &p1, const GerritParameters &p2)
|
||||
|
Reference in New Issue
Block a user