summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/serverdialog.cpp32
-rw-r--r--src/gui/serverdialog.h5
2 files changed, 9 insertions, 28 deletions
diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp
index 6cd364cc..340536d1 100644
--- a/src/gui/serverdialog.cpp
+++ b/src/gui/serverdialog.cpp
@@ -113,20 +113,6 @@ void ServersListModel::setVersionString(int index, const std::string &version)
}
}
-void ServersListModel::addServer(const ServerInfo &info,
- const std::string &version)
-{
- mServers->push_back(info);
-
- if (version.empty())
- mVersionStrings.push_back(VersionString(0, ""));
- else
- {
- int width = gui->getFont()->getWidth(version);
- mVersionStrings.push_back(VersionString(width, version));
- }
-}
-
std::string TypeListModel::getElementAt(int elementIndex)
{
if (elementIndex == 0)
@@ -188,13 +174,12 @@ public:
graphics->drawText(model->getElementAt(i), 2, top);
- const ServersListModel::VersionString versionInfo = model->getVersionString(i);
- if (versionInfo.first > 0)
+ if (info.version.first > 0)
{
graphics->setColor(unsupported);
- graphics->drawText(versionInfo.second,
- getWidth() - versionInfo.first - 2, top);
+ graphics->drawText(info.version.second,
+ getWidth() - info.version.first - 2, top);
}
}
}
@@ -538,11 +523,11 @@ void ServerDialog::loadServers()
std::string version = XML::getProperty(serverNode, "minimumVersion",
std::string());
- server.meetsMinimumVersion = (compareStrI(version, PACKAGE_VERSION)
+ bool meetsMinimumVersion = (compareStrI(version, PACKAGE_VERSION)
<= 0);
// For display in the list
- if (server.meetsMinimumVersion)
+ if (meetsMinimumVersion)
version.clear();
else
version = strprintf(_("requires v%s"), version.c_str());
@@ -571,6 +556,8 @@ void ServerDialog::loadServers()
}
}
+ server.version.first = gui->getFont()->getWidth(version);
+ server.version.second = version;
MutexLocker lock(&mMutex);
// Add the server to the local list if it's not already present
@@ -581,7 +568,7 @@ void ServerDialog::loadServers()
{
// Use the name listed in the server list
mServers[i].name = server.name;
- mServers[i].meetsMinimumVersion = server.meetsMinimumVersion;
+ mServers[i].version = server.version;
mServersListModel->setVersionString(i, version);
found = true;
break;
@@ -589,7 +576,7 @@ void ServerDialog::loadServers()
}
if (!found)
- mServersListModel->addServer(server, version);
+ mServers.push_back(server);
}
}
@@ -614,7 +601,6 @@ void ServerDialog::loadCustomServers()
break;
server.save = true;
- server.meetsMinimumVersion = true;
mServers.push_back(server);
}
}
diff --git a/src/gui/serverdialog.h b/src/gui/serverdialog.h
index 5b9d53fd..03ed0f7a 100644
--- a/src/gui/serverdialog.h
+++ b/src/gui/serverdialog.h
@@ -71,13 +71,8 @@ class ServersListModel : public gcn::ListModel
const ServerInfo &getServer(int elementIndex) const
{ return mServers->at(elementIndex); }
- const VersionString &getVersionString(int index) const
- { return mVersionStrings[index]; }
-
void setVersionString(int index, const std::string &version);
- void addServer(const ServerInfo &info, const std::string &version);
-
private:
typedef std::vector<VersionString> VersionStrings;