Mercurial > hg > easyhg
changeset 22:465fbf9ad5a9
Tries to show hg serve ipv6 address correctly (at least for browser, dont know about hg itself).
author | Jari Korhonen <jtkorhonen@gmail.com> |
---|---|
date | Tue, 18 May 2010 23:56:20 +0300 |
parents | 799cfade2cb3 |
children | 16be237acf13 |
files | mainwindow.cpp |
diffstat | 1 files changed, 28 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mainwindow.cpp Tue May 18 01:56:40 2010 +0300 +++ b/mainwindow.cpp Tue May 18 23:56:20 2010 +0300 @@ -546,20 +546,33 @@ } -QString MainWindow::findMyIps() +QString MainWindow::findMyIp(bool& isAddrIpV6) { QString ret; QHostInfo info = QHostInfo::fromName(QHostInfo::localHostName()); QList <QHostAddress> ipList = info.addresses(); + if (!ipList.isEmpty()) { QHostAddress addr = ipList.at(0); + + if (QAbstractSocket::IPv6Protocol == addr.protocol()) + { + isAddrIpV6 = true; + } + else + { + isAddrIpV6 = false; + } + ret = addr.toString(); } else { - ret = "unknown"; + //This won't help your teammate much, but is funny ;-) + ret = "127.0.0.1"; + isAddrIpV6 = false; } return ret; @@ -570,15 +583,24 @@ if (runningAction == ACT_NONE) { QStringList params; + QString msg; + bool isIpv6; - params << "serve"; + QString addr = findMyIp(isIpv6); + if (isIpv6) + { + QTextStream(&msg) << "Server running on http://[" << addr << "]:8000/"; + params << "serve" << "--ipv6"; + } + else + { + QTextStream(&msg) << "Server running on http://" << addr << ":8000/"; + params << "serve"; + } runner -> startProc(getHgBinaryName(), workFolderPath, params, false); runningAction = ACT_SERVE; - QString msg; - - QTextStream(&msg) << "Server running on http://" << findMyIps() << ":8000/"; QMessageBox::information(this, "Serve", msg, QMessageBox::Close); runner -> killProc(); }