forked from qt-creator/qt-creator
Maemo: Implement GUI for per-device port specification.
Currently hidden.
This commit is contained in:
@@ -57,6 +57,7 @@ namespace {
|
|||||||
const QLatin1String HostKey("Host");
|
const QLatin1String HostKey("Host");
|
||||||
const QLatin1String SshPortKey("SshPort");
|
const QLatin1String SshPortKey("SshPort");
|
||||||
const QLatin1String DebuggingPortKey("GdbServerPort");
|
const QLatin1String DebuggingPortKey("GdbServerPort");
|
||||||
|
const QLatin1String PortsSpecKey("FreePortsSpec");
|
||||||
const QLatin1String UserNameKey("Uname");
|
const QLatin1String UserNameKey("Uname");
|
||||||
const QLatin1String AuthKey("Authentication");
|
const QLatin1String AuthKey("Authentication");
|
||||||
const QLatin1String KeyFileKey("KeyFile");
|
const QLatin1String KeyFileKey("KeyFile");
|
||||||
@@ -107,7 +108,7 @@ public:
|
|||||||
* ElemList -> Elem [ ',' ElemList ]
|
* ElemList -> Elem [ ',' ElemList ]
|
||||||
* Elem -> Port [ '-' Port ]
|
* Elem -> Port [ '-' Port ]
|
||||||
*/
|
*/
|
||||||
QList<int> parse()
|
MaemoPortList parse()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if (!atEnd())
|
if (!atEnd())
|
||||||
@@ -115,7 +116,7 @@ public:
|
|||||||
} catch (ParseException &e) {
|
} catch (ParseException &e) {
|
||||||
qWarning("Malformed ports specification: %s", e.error);
|
qWarning("Malformed ports specification: %s", e.error);
|
||||||
}
|
}
|
||||||
return m_ports;
|
return m_portList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -138,15 +139,14 @@ private:
|
|||||||
{
|
{
|
||||||
const int startPort = parsePort();
|
const int startPort = parsePort();
|
||||||
if (atEnd() || nextChar() != '-') {
|
if (atEnd() || nextChar() != '-') {
|
||||||
m_ports << startPort;
|
m_portList.addRange(MaemoPortList::Range(startPort, startPort));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
++m_pos;
|
++m_pos;
|
||||||
const int endPort = parsePort();
|
const int endPort = parsePort();
|
||||||
if (endPort < startPort)
|
if (endPort < startPort)
|
||||||
throw ParseException("Invalid range (end < start).");
|
throw ParseException("Invalid range (end < start).");
|
||||||
for (int port = startPort; port <= endPort; ++port)
|
m_portList.addRange(MaemoPortList::Range(startPort, endPort));
|
||||||
m_ports << port;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int parsePort()
|
int parsePort()
|
||||||
@@ -154,12 +154,13 @@ private:
|
|||||||
if (atEnd())
|
if (atEnd())
|
||||||
throw ParseException("Empty port string.");
|
throw ParseException("Empty port string.");
|
||||||
int port = 0;
|
int port = 0;
|
||||||
char next = nextChar();
|
do {
|
||||||
while (!atEnd() && std::isdigit(next)) {
|
const char next = nextChar();
|
||||||
|
if (!std::isdigit(next))
|
||||||
|
break;
|
||||||
port = 10*port + next - '0';
|
port = 10*port + next - '0';
|
||||||
++m_pos;
|
++m_pos;
|
||||||
next = nextChar();
|
} while (!atEnd());
|
||||||
}
|
|
||||||
if (port == 0 || port >= 2 << 16)
|
if (port == 0 || port >= 2 << 16)
|
||||||
throw ParseException("Invalid port value.");
|
throw ParseException("Invalid port value.");
|
||||||
return port;
|
return port;
|
||||||
@@ -168,7 +169,7 @@ private:
|
|||||||
bool atEnd() const { return m_pos == m_portsSpec.length(); }
|
bool atEnd() const { return m_pos == m_portsSpec.length(); }
|
||||||
char nextChar() const { return m_portsSpec.at(m_pos).toAscii(); }
|
char nextChar() const { return m_portsSpec.at(m_pos).toAscii(); }
|
||||||
|
|
||||||
QList<int> m_ports;
|
MaemoPortList m_portList;
|
||||||
int m_pos;
|
int m_pos;
|
||||||
const QString &m_portsSpec;
|
const QString &m_portsSpec;
|
||||||
};
|
};
|
||||||
@@ -177,6 +178,7 @@ MaemoDeviceConfig::MaemoDeviceConfig(const QString &name, MaemoDeviceConfig::Dev
|
|||||||
: name(name),
|
: name(name),
|
||||||
type(devType),
|
type(devType),
|
||||||
debuggingPort(defaultDebuggingPort(type)),
|
debuggingPort(defaultDebuggingPort(type)),
|
||||||
|
portsSpec(defaultPortsSpec(type)),
|
||||||
internalId(MaemoDeviceConfigurations::instance().m_nextId++)
|
internalId(MaemoDeviceConfigurations::instance().m_nextId++)
|
||||||
{
|
{
|
||||||
server.host = defaultHost(type);
|
server.host = defaultHost(type);
|
||||||
@@ -192,6 +194,7 @@ MaemoDeviceConfig::MaemoDeviceConfig(const QSettings &settings,
|
|||||||
: name(settings.value(NameKey).toString()),
|
: name(settings.value(NameKey).toString()),
|
||||||
type(static_cast<DeviceType>(settings.value(TypeKey, DefaultDeviceType).toInt())),
|
type(static_cast<DeviceType>(settings.value(TypeKey, DefaultDeviceType).toInt())),
|
||||||
debuggingPort(settings.value(DebuggingPortKey, defaultDebuggingPort(type)).toInt()),
|
debuggingPort(settings.value(DebuggingPortKey, defaultDebuggingPort(type)).toInt()),
|
||||||
|
portsSpec(settings.value(PortsSpecKey, defaultPortsSpec(type)).toString()),
|
||||||
internalId(settings.value(InternalIdKey, nextId).toULongLong())
|
internalId(settings.value(InternalIdKey, nextId).toULongLong())
|
||||||
{
|
{
|
||||||
if (internalId == nextId)
|
if (internalId == nextId)
|
||||||
@@ -230,6 +233,11 @@ int MaemoDeviceConfig::defaultDebuggingPort(DeviceType type) const
|
|||||||
return type == Physical ? DefaultGdbServerPortHW : DefaultGdbServerPortSim;
|
return type == Physical ? DefaultGdbServerPortHW : DefaultGdbServerPortSim;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString MaemoDeviceConfig::defaultPortsSpec(DeviceType type) const
|
||||||
|
{
|
||||||
|
return QLatin1String(type == Physical ? "10000-10100" : "13219,14168");
|
||||||
|
}
|
||||||
|
|
||||||
QString MaemoDeviceConfig::defaultHost(DeviceType type) const
|
QString MaemoDeviceConfig::defaultHost(DeviceType type) const
|
||||||
{
|
{
|
||||||
return type == Physical ? DefaultHostNameHW : DefaultHostNameSim;
|
return type == Physical ? DefaultHostNameHW : DefaultHostNameSim;
|
||||||
@@ -240,7 +248,7 @@ bool MaemoDeviceConfig::isValid() const
|
|||||||
return internalId != InvalidId;
|
return internalId != InvalidId;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<int> MaemoDeviceConfig::freePorts() const
|
MaemoPortList MaemoDeviceConfig::freePorts() const
|
||||||
{
|
{
|
||||||
return PortsSpecParser(portsSpec).parse();
|
return PortsSpecParser(portsSpec).parse();
|
||||||
}
|
}
|
||||||
@@ -252,6 +260,7 @@ void MaemoDeviceConfig::save(QSettings &settings) const
|
|||||||
settings.setValue(HostKey, server.host);
|
settings.setValue(HostKey, server.host);
|
||||||
settings.setValue(SshPortKey, server.port);
|
settings.setValue(SshPortKey, server.port);
|
||||||
settings.setValue(DebuggingPortKey, debuggingPort);
|
settings.setValue(DebuggingPortKey, debuggingPort);
|
||||||
|
settings.setValue(PortsSpecKey, portsSpec);
|
||||||
settings.setValue(UserNameKey, server.uname);
|
settings.setValue(UserNameKey, server.uname);
|
||||||
settings.setValue(AuthKey, server.authType);
|
settings.setValue(AuthKey, server.authType);
|
||||||
settings.setValue(PasswordKey, server.pwd);
|
settings.setValue(PasswordKey, server.pwd);
|
||||||
|
@@ -39,6 +39,7 @@
|
|||||||
|
|
||||||
#include <QtCore/QList>
|
#include <QtCore/QList>
|
||||||
#include <QtCore/QObject>
|
#include <QtCore/QObject>
|
||||||
|
#include <QtCore/QPair>
|
||||||
#include <QtCore/QString>
|
#include <QtCore/QString>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
@@ -48,6 +49,31 @@ QT_END_NAMESPACE
|
|||||||
namespace Qt4ProjectManager {
|
namespace Qt4ProjectManager {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
class MaemoPortList
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
typedef QPair<int, int> Range;
|
||||||
|
void addRange(const Range &range) { m_ranges << range; }
|
||||||
|
bool hasMore() const { return !m_ranges.isEmpty(); }
|
||||||
|
int count() const {
|
||||||
|
int n = 0;
|
||||||
|
foreach (const Range &r, m_ranges)
|
||||||
|
n += r.second - r.first + 1;
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
int getNext() {
|
||||||
|
Q_ASSERT(!m_ranges.isEmpty());
|
||||||
|
Range &firstRange = m_ranges.first();
|
||||||
|
const int next = firstRange.first++;
|
||||||
|
if (firstRange.first > firstRange.second)
|
||||||
|
m_ranges.removeFirst();
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
QList<Range> m_ranges;
|
||||||
|
};
|
||||||
|
|
||||||
class MaemoDeviceConfig
|
class MaemoDeviceConfig
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -57,7 +83,7 @@ public:
|
|||||||
MaemoDeviceConfig(const QSettings &settings, quint64 &nextId);
|
MaemoDeviceConfig(const QSettings &settings, quint64 &nextId);
|
||||||
void save(QSettings &settings) const;
|
void save(QSettings &settings) const;
|
||||||
bool isValid() const;
|
bool isValid() const;
|
||||||
QList<int> freePorts() const;
|
MaemoPortList freePorts() const;
|
||||||
static QString portsRegExpr();
|
static QString portsRegExpr();
|
||||||
|
|
||||||
static const quint64 InvalidId = 0;
|
static const quint64 InvalidId = 0;
|
||||||
@@ -72,6 +98,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
int defaultSshPort(DeviceType type) const;
|
int defaultSshPort(DeviceType type) const;
|
||||||
int defaultDebuggingPort(DeviceType type) const;
|
int defaultDebuggingPort(DeviceType type) const;
|
||||||
|
QString defaultPortsSpec(DeviceType type) const;
|
||||||
QString defaultHost(DeviceType type) const;
|
QString defaultHost(DeviceType type) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@@ -145,6 +145,13 @@ void MaemoSettingsWidget::initGui()
|
|||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
m_ui->nameLineEdit->setValidator(m_nameValidator);
|
m_ui->nameLineEdit->setValidator(m_nameValidator);
|
||||||
m_ui->keyFileLineEdit->setExpectedKind(Utils::PathChooser::File);
|
m_ui->keyFileLineEdit->setExpectedKind(Utils::PathChooser::File);
|
||||||
|
QRegExpValidator * const portsValidator
|
||||||
|
= new QRegExpValidator(QRegExp(MaemoDeviceConfig::portsRegExpr()), this);
|
||||||
|
m_ui->portsLineEdit->setValidator(portsValidator);
|
||||||
|
#if 1
|
||||||
|
m_ui->freePortsLabel->hide();
|
||||||
|
m_ui->portsLineEdit->hide();
|
||||||
|
#endif
|
||||||
|
|
||||||
foreach (const MaemoDeviceConfig &devConf, m_devConfs)
|
foreach (const MaemoDeviceConfig &devConf, m_devConfs)
|
||||||
m_ui->configurationComboBox->addItem(devConf.name);
|
m_ui->configurationComboBox->addItem(devConf.name);
|
||||||
@@ -217,6 +224,7 @@ void MaemoSettingsWidget::fillInValues()
|
|||||||
m_ui->hostLineEdit->setText(currentConfig().server.host);
|
m_ui->hostLineEdit->setText(currentConfig().server.host);
|
||||||
m_ui->sshPortSpinBox->setValue(currentConfig().server.port);
|
m_ui->sshPortSpinBox->setValue(currentConfig().server.port);
|
||||||
m_ui->gdbServerPortSpinBox->setValue(currentConfig().debuggingPort);
|
m_ui->gdbServerPortSpinBox->setValue(currentConfig().debuggingPort);
|
||||||
|
m_ui->portsLineEdit->setText(currentConfig().portsSpec);
|
||||||
m_ui->timeoutSpinBox->setValue(currentConfig().server.timeout);
|
m_ui->timeoutSpinBox->setValue(currentConfig().server.timeout);
|
||||||
m_ui->userLineEdit->setText(currentConfig().server.uname);
|
m_ui->userLineEdit->setText(currentConfig().server.uname);
|
||||||
m_ui->pwdLineEdit->setText(currentConfig().server.pwd);
|
m_ui->pwdLineEdit->setText(currentConfig().server.pwd);
|
||||||
@@ -302,6 +310,11 @@ void MaemoSettingsWidget::gdbServerPortEditingFinished()
|
|||||||
currentConfig().debuggingPort = m_ui->gdbServerPortSpinBox->value();
|
currentConfig().debuggingPort = m_ui->gdbServerPortSpinBox->value();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MaemoSettingsWidget::handleFreePortsChanged()
|
||||||
|
{
|
||||||
|
currentConfig().portsSpec = m_ui->portsLineEdit->text();
|
||||||
|
}
|
||||||
|
|
||||||
void MaemoSettingsWidget::timeoutEditingFinished()
|
void MaemoSettingsWidget::timeoutEditingFinished()
|
||||||
{
|
{
|
||||||
currentConfig().server.timeout = m_ui->timeoutSpinBox->value();
|
currentConfig().server.timeout = m_ui->timeoutSpinBox->value();
|
||||||
|
@@ -84,6 +84,7 @@ private slots:
|
|||||||
void passwordEditingFinished();
|
void passwordEditingFinished();
|
||||||
void keyFileEditingFinished();
|
void keyFileEditingFinished();
|
||||||
void showPassword(bool showClearText);
|
void showPassword(bool showClearText);
|
||||||
|
void handleFreePortsChanged();
|
||||||
|
|
||||||
// For configuration testing.
|
// For configuration testing.
|
||||||
void testConfig();
|
void testConfig();
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>596</width>
|
<width>602</width>
|
||||||
<height>354</height>
|
<height>421</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -209,13 +209,44 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="freePortsLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Free ports:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="portsLineEdit">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>You can enter lists and ranges like this: 1024,1026-1028,1030</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
<widget class="QLabel" name="connectionTimeoutLabel">
|
<widget class="QLabel" name="connectionTimeoutLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Connection timeout:</string>
|
<string>Connection timeout:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="6" column="1">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSpinBox" name="timeoutSpinBox">
|
<widget class="QSpinBox" name="timeoutSpinBox">
|
||||||
@@ -248,24 +279,24 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="7" column="0">
|
||||||
<widget class="QLabel" name="userNameLabel">
|
<widget class="QLabel" name="userNameLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Username:</string>
|
<string>Username:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="1">
|
<item row="7" column="1">
|
||||||
<widget class="QLineEdit" name="userLineEdit"/>
|
<widget class="QLineEdit" name="userLineEdit"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0">
|
<item row="8" column="0">
|
||||||
<widget class="QLabel" name="passwordLabel">
|
<widget class="QLabel" name="passwordLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Password:</string>
|
<string>Password:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="1">
|
<item row="8" column="1">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="pwdLineEdit">
|
<widget class="QLineEdit" name="pwdLineEdit">
|
||||||
@@ -283,14 +314,14 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="0">
|
<item row="9" column="0">
|
||||||
<widget class="QLabel" name="keyLabel">
|
<widget class="QLabel" name="keyLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Private key file:</string>
|
<string>Private key file:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="1">
|
<item row="9" column="1">
|
||||||
<widget class="Utils::PathChooser" name="keyFileLineEdit" native="true"/>
|
<widget class="Utils::PathChooser" name="keyFileLineEdit" native="true"/>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
@@ -420,8 +451,8 @@
|
|||||||
<slot>userNameEditingFinished()</slot>
|
<slot>userNameEditingFinished()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>419</x>
|
<x>425</x>
|
||||||
<y>268</y>
|
<y>302</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>422</x>
|
<x>422</x>
|
||||||
@@ -436,8 +467,8 @@
|
|||||||
<slot>passwordEditingFinished()</slot>
|
<slot>passwordEditingFinished()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>291</x>
|
<x>297</x>
|
||||||
<y>299</y>
|
<y>334</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>423</x>
|
<x>423</x>
|
||||||
@@ -516,8 +547,8 @@
|
|||||||
<slot>keyFileEditingFinished()</slot>
|
<slot>keyFileEditingFinished()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>419</x>
|
<x>425</x>
|
||||||
<y>321</y>
|
<y>356</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>257</x>
|
<x>257</x>
|
||||||
@@ -532,8 +563,8 @@
|
|||||||
<slot>keyFileEditingFinished()</slot>
|
<slot>keyFileEditingFinished()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>419</x>
|
<x>425</x>
|
||||||
<y>321</y>
|
<y>356</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>257</x>
|
<x>257</x>
|
||||||
@@ -628,8 +659,8 @@
|
|||||||
<slot>timeoutEditingFinished()</slot>
|
<slot>timeoutEditingFinished()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>199</x>
|
<x>237</x>
|
||||||
<y>227</y>
|
<y>270</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>6</x>
|
<x>6</x>
|
||||||
@@ -644,8 +675,8 @@
|
|||||||
<slot>timeoutEditingFinished()</slot>
|
<slot>timeoutEditingFinished()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>178</x>
|
<x>237</x>
|
||||||
<y>224</y>
|
<y>270</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
@@ -724,8 +755,8 @@
|
|||||||
<slot>showPassword(bool)</slot>
|
<slot>showPassword(bool)</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>316</x>
|
<x>424</x>
|
||||||
<y>290</y>
|
<y>332</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>3</x>
|
<x>3</x>
|
||||||
@@ -733,6 +764,22 @@
|
|||||||
</hint>
|
</hint>
|
||||||
</hints>
|
</hints>
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>portsLineEdit</sender>
|
||||||
|
<signal>editingFinished()</signal>
|
||||||
|
<receiver>MaemoSettingsWidget</receiver>
|
||||||
|
<slot>handleFreePortsChanged()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>184</x>
|
||||||
|
<y>225</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>0</x>
|
||||||
|
<y>393</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
</connections>
|
</connections>
|
||||||
<slots>
|
<slots>
|
||||||
<slot>configNameEditingFinished()</slot>
|
<slot>configNameEditingFinished()</slot>
|
||||||
@@ -753,5 +800,6 @@
|
|||||||
<slot>currentConfigChanged(int)</slot>
|
<slot>currentConfigChanged(int)</slot>
|
||||||
<slot>showGenerateSshKeyDialog()</slot>
|
<slot>showGenerateSshKeyDialog()</slot>
|
||||||
<slot>showPassword(bool)</slot>
|
<slot>showPassword(bool)</slot>
|
||||||
|
<slot>handleFreePortsChanged()</slot>
|
||||||
</slots>
|
</slots>
|
||||||
</ui>
|
</ui>
|
||||||
|
Reference in New Issue
Block a user