27 #include "serverdetailsdock.h" 28 #include "ui_serverdetailsdock.h" 29 #include "serverapi/playerslist.h" 30 #include "serverapi/server.h" 33 #include "serverapi/tooltips/tooltipgenerator.h" 35 DClass<ServerDetailsDock> :
public Ui::ServerDetailsDock
44 this->toggleViewAction()->setIcon(QIcon(
":/icons/server_details.png"));
49 ServerDetailsDock::~ServerDetailsDock()
53 void ServerDetailsDock::clear()
55 d->lblServer->setText(
"");
56 d->sbArea->setText(
"");
57 d->detailsArea->setText(
"");
60 void ServerDetailsDock::displaySelection(QList<ServerPtr> &selectedServers)
62 ServerPtr server = selectServer(selectedServers);
69 d->lblServer->setText(server->name());
71 if(server->players().numClients() != 0)
74 d->sbArea->setText(QString());
75 d->detailsArea->setText(QString(
"<div>%1</div>%2").arg(server->customDetails()).arg(tooltipGenerator->
dmflagsHTML()));
76 delete tooltipGenerator;
79 void ServerDetailsDock::reorientContentsBasingOnDimensions()
81 const int TOPTOBOTTOM_PREFERENCE_THRESHOLD = 100;
82 if (height() + TOPTOBOTTOM_PREFERENCE_THRESHOLD > width())
84 static_cast<QBoxLayout*
>(d->dataLayout)->setDirection(QBoxLayout::TopToBottom);
88 static_cast<QBoxLayout*
>(d->dataLayout)->setDirection(QBoxLayout::LeftToRight);
92 void ServerDetailsDock::resizeEvent(QResizeEvent *event)
94 reorientContentsBasingOnDimensions();
97 ServerPtr ServerDetailsDock::selectServer(QList<ServerPtr> &selectedServers)
99 if (selectedServers.count() == 0)
103 if (!selectedServers[0]->isKnown())
107 return selectedServers[0];