summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-05-03 17:31:26 +0300
committerAndrei Karas <akaras@inbox.ru>2014-05-03 17:31:26 +0300
commitb592850c224965729dfb68fcdce486346ab8301a (patch)
treec18fd7dd1fc92428c6452ac31af6fe864a10c8af /src/gui
parentcb6899fa0d8488e7e380179cb2d4bde763667d71 (diff)
downloadmanaplus-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.cpp7
-rw-r--r--src/gui/windows/updaterwindow.cpp4
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);