Show human readable interface names (mostly affects Windows)

This commit is contained in:
Nick Tiskov 2013-01-13 17:44:14 +04:00 committed by Christophe Dumez
parent b085fc12d0
commit d6b2131a91
2 changed files with 26 additions and 0 deletions

View file

@ -89,8 +89,16 @@ public slots:
if (combo_iface.currentIndex() == 0) {
// All interfaces (default)
pref.setNetworkInterface(QString::null);
#if QT_VERSION >= QT_VERSION_CHECK(4,5,0)
pref.setNetworkInterfaceName(QString::null);
#endif
} else {
#if QT_VERSION < QT_VERSION_CHECK(4,5,0)
pref.setNetworkInterface(combo_iface.currentText());
#else
pref.setNetworkInterface(combo_iface.itemData(combo_iface.currentIndex()).toString());
pref.setNetworkInterfaceName(combo_iface.currentText());
#endif
}
// Network address
QHostAddress addr(txt_network_address.text().trimmed());
@ -213,7 +221,11 @@ private slots:
int i = 1;
foreach (const QNetworkInterface& iface, QNetworkInterface::allInterfaces()) {
if (iface.flags() & QNetworkInterface::IsLoopBack) continue;
#if QT_VERSION >= QT_VERSION_CHECK(4,5,0)
combo_iface.addItem(iface.humanReadableName(),iface.name());
#else
combo_iface.addItem(iface.name());
#endif
if (!current_iface.isEmpty() && iface.name() == current_iface) {
combo_iface.setCurrentIndex(i);
interface_exists = true;
@ -222,7 +234,11 @@ private slots:
}
// Saved interface does not exist, show it anyway
if (!interface_exists) {
#if QT_VERSION >= QT_VERSION_CHECK(4,5,0)
combo_iface.addItem(pref.getNetworkInterfaceName(),current_iface);
#else
combo_iface.addItem(current_iface);
#endif
combo_iface.setCurrentIndex(i);
}
setRow(NETWORK_IFACE, tr("Network Interface (requires restart)"), &combo_iface);

View file

@ -1009,6 +1009,16 @@ public:
QString getNetworkInterface() const {
return value(QString::fromUtf8("Preferences/Connection/Interface"), QString()).toString();
}
#if QT_VERSION >= QT_VERSION_CHECK(4,5,0)
void setNetworkInterfaceName(const QString& iface) {
setValue(QString::fromUtf8("Preferences/Connection/InterfaceName"), iface);
}
QString getNetworkInterfaceName() const {
return value(QString::fromUtf8("Preferences/Connection/InterfaceName"), QString()).toString();
}
#endif
void setNetworkAddress(const QString& addr) {
setValue(QString::fromUtf8("Preferences/Connection/InetAddress"), addr);