diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-05-03 17:31:26 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-05-03 17:31:26 +0300 |
commit | b592850c224965729dfb68fcdce486346ab8301a (patch) | |
tree | c18fd7dd1fc92428c6452ac31af6fe864a10c8af /src/gui | |
parent | cb6899fa0d8488e7e380179cb2d4bde763667d71 (diff) | |
download | manaplus-b592850c224965729dfb68fcdce486346ab8301a.tar.gz manaplus-b592850c224965729dfb68fcdce486346ab8301a.tar.bz2 manaplus-b592850c224965729dfb68fcdce486346ab8301a.tar.xz manaplus-b592850c224965729dfb68fcdce486346ab8301a.zip |
Add support for update server mirrors.
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/windows/serverdialog.cpp | 7 | ||||
-rw-r--r-- | src/gui/windows/updaterwindow.cpp | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/gui/windows/serverdialog.cpp b/src/gui/windows/serverdialog.cpp index c9695c2c1..653d62567 100644 --- a/src/gui/windows/serverdialog.cpp +++ b/src/gui/windows/serverdialog.cpp @@ -329,6 +329,7 @@ void ServerDialog::connectToSelectedServer() mServerInfo->supportUrl = server.supportUrl; mServerInfo->save = true; mServerInfo->persistentIp = server.persistentIp; + mServerInfo->updateMirrors = server.updateMirrors; if (chatLogger) chatLogger->setServerName(mServerInfo->hostname); @@ -637,6 +638,11 @@ void ServerDialog::loadServers(const bool addNew) subNode->xmlChildrenNode->content); server.persistentIp = (text == "1" || text == "true"); } + else if (xmlNameEqual(subNode, "updateMirror")) + { + server.updateMirrors.push_back(reinterpret_cast<const char*>( + subNode->xmlChildrenNode->content)); + } } server.version.first = font->getWidth(version); @@ -659,6 +665,7 @@ void ServerDialog::loadServers(const bool addNew) mServers[i].supportUrl = server.supportUrl; mServers[i].althostname = server.althostname; mServers[i].persistentIp = server.persistentIp; + mServers[i].updateMirrors = server.updateMirrors; mServersListModel->setVersionString(i, version); found = true; break; diff --git a/src/gui/windows/updaterwindow.cpp b/src/gui/windows/updaterwindow.cpp index 75460cf78..37bbabda3 100644 --- a/src/gui/windows/updaterwindow.cpp +++ b/src/gui/windows/updaterwindow.cpp @@ -540,6 +540,10 @@ void UpdaterWindow::download() "/").append(mCurrentFile), &updateProgress, false, false); } + const std::vector<std::string> &mirrors = client->getMirrors(); + FOR_EACH (std::vector<std::string>::const_iterator, it, mirrors) + mDownload->addMirror(*it); + if (mStoreInMemory) { mDownload->setWriteFunction(&UpdaterWindow::memoryWrite); |