Several improvements to the server selection screen
This commit is contained in:
parent
830c85a262
commit
19b0c1a465
@ -9,7 +9,8 @@
|
||||
</div>
|
||||
|
||||
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
||||
<list id="server_list" x="0" y="0" width="100%" height="93%"/>
|
||||
<list id="server_list" x="0" y="0" width="100%" height="93%" word_wrap="true"
|
||||
alternate_bg="true" line_height="small"/>
|
||||
<textbox id="searcher" width="100%" height="7%"/>
|
||||
</box>
|
||||
<div width="99%" align="center" layout="vertical-row" height="fit">
|
||||
|
@ -115,19 +115,18 @@ void ServerSelection::loadedFromFile()
|
||||
*/
|
||||
void ServerSelection::beforeAddingWidget()
|
||||
{
|
||||
m_server_list_widget->setAlternatingDarkness(true);
|
||||
m_server_list_widget->clearColumns();
|
||||
m_server_list_widget->addColumn( _C("column_name", "Name"), 3);
|
||||
m_server_list_widget->addColumn( _C("column_name", "Players"), 1);
|
||||
m_server_list_widget->addColumn(_C("column_name", "Difficulty"), 1);
|
||||
m_server_list_widget->addColumn(_C("column_name", "Game mode"), 2);
|
||||
m_server_list_widget->addColumn( _C("column_name", "Name"), 7);
|
||||
m_server_list_widget->addColumn(_C("column_name", "Game mode"), 3);
|
||||
m_server_list_widget->addColumn( _C("column_name", "Players"), 2);
|
||||
m_server_list_widget->addColumn(_C("column_name", "Difficulty"), 3);
|
||||
if (NetworkConfig::get()->isWAN())
|
||||
{
|
||||
// I18N: In server selection screen, owner of server, only displayed
|
||||
// if it's localhost or friends'
|
||||
m_server_list_widget->addColumn(_C("column_name", "Owner"), 1);
|
||||
m_server_list_widget->addColumn(_C("column_name", "Owner"), 3);
|
||||
// I18N: In server selection screen, distance to server
|
||||
m_server_list_widget->addColumn(_C("column_name", "Distance (km)"), 1);
|
||||
m_server_list_widget->addColumn(_C("column_name", "Distance (km)"), 3);
|
||||
}
|
||||
} // beforeAddingWidget
|
||||
|
||||
@ -142,7 +141,7 @@ void ServerSelection::init()
|
||||
m_searcher->addListener(this);
|
||||
m_icon_bank->setScale((float)getHeight() / 15.0f / 128.0f);
|
||||
m_server_list_widget->setIcons(m_icon_bank,
|
||||
int(getHeight() / 12.0f));
|
||||
int(getHeight() / 15.0f));
|
||||
m_sort_desc = false;
|
||||
/** Triggers the loading of the server list in the servers manager. */
|
||||
refresh(true);
|
||||
@ -167,13 +166,13 @@ void ServerSelection::loadList()
|
||||
return c->getLowerCaseName() > d->getLowerCaseName();
|
||||
break;
|
||||
case 1:
|
||||
return c->getCurrentPlayers() > d->getCurrentPlayers();
|
||||
return c->getServerMode() > d->getServerMode();
|
||||
break;
|
||||
case 2:
|
||||
return c->getDifficulty() > d->getDifficulty();
|
||||
return c->getCurrentPlayers() > d->getCurrentPlayers();
|
||||
break;
|
||||
case 3:
|
||||
return c->getServerMode() > d->getServerMode();
|
||||
return c->getDifficulty() > d->getDifficulty();
|
||||
break;
|
||||
case 4:
|
||||
return c->getServerOwnerLowerCaseName() >
|
||||
@ -195,28 +194,29 @@ void ServerSelection::loadList()
|
||||
num_players.append(StringUtils::toWString(server->getMaxPlayers()));
|
||||
std::vector<GUIEngine::ListWidget::ListCell> row;
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(server->getName(), icon,
|
||||
3));
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(num_players, -1, 1,
|
||||
7));
|
||||
|
||||
core::stringw mode =
|
||||
ServerConfig::getModeName(server->getServerMode());
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(mode, -1, 3, true));
|
||||
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(num_players, -1, 2,
|
||||
true));
|
||||
|
||||
core::stringw difficulty =
|
||||
race_manager->getDifficultyName(server->getDifficulty());
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(difficulty, -1, 1,
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(difficulty, -1, 3,
|
||||
true));
|
||||
|
||||
core::stringw mode =
|
||||
ServerConfig::getModeName(server->getServerMode());
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(mode, -1, 2, true));
|
||||
|
||||
if (NetworkConfig::get()->isWAN())
|
||||
{
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(
|
||||
server->getServerOwnerName(), -1, 1, true));
|
||||
server->getServerOwnerName(), -1, 3, true));
|
||||
// I18N: In server selection screen, unknown distance to server
|
||||
core::stringw distance = _("Unknown");
|
||||
if (!(server->getDistance() < 0.0f))
|
||||
distance = StringUtils::toWString(server->getDistance());
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(distance, -1, 1,
|
||||
row.push_back(GUIEngine::ListWidget::ListCell(distance, -1, 3,
|
||||
true));
|
||||
}
|
||||
m_server_list_widget->addItem("server", row);
|
||||
|
Loading…
Reference in New Issue
Block a user