MCPcopy Create free account
hub / github.com/FreesmTeam/FreesmLauncher / data

Method data

launcher/ui/pages/instance/ServersPage.cpp:306–355  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

304 }
305
306 virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override
307 {
308 if (!index.isValid())
309 return QVariant();
310
311 int row = index.row();
312 int column = index.column();
313 if (column < 0 || column >= COLUMN_COUNT)
314 return QVariant();
315
316 if (row < 0 || row >= m_servers.size())
317 return QVariant();
318
319 switch (column) {
320 case 0:
321 switch (role) {
322 case Qt::DecorationRole: {
323 auto& bytes = m_servers[row].m_icon;
324 if (bytes.size()) {
325 QPixmap px;
326 if (px.loadFromData(bytes))
327 return QIcon(px);
328 }
329 return APPLICATION->getThemedIcon("unknown_server");
330 }
331 case Qt::DisplayRole:
332 return m_servers[row].m_name;
333 case ServerPtrRole:
334 return QVariant::fromValue<void*>((void*)&m_servers[row]);
335 default:
336 return QVariant();
337 }
338 case 1:
339 switch (role) {
340 case Qt::DisplayRole:
341 return m_servers[row].m_address;
342 default:
343 return QVariant();
344 }
345 case 2:
346 switch (role) {
347 case Qt::DisplayRole:
348 return m_servers[row].m_ping;
349 default:
350 return QVariant();
351 }
352 default:
353 return QVariant();
354 }
355 }
356
357 virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override { return parent.isValid() ? 0 : m_servers.size(); }
358 int columnCount(const QModelIndex& parent) const override { return parent.isValid() ? 0 : COLUMN_COUNT; }

Callers 1

serializeServerDatFunction · 0.45

Calls 3

getThemedIconMethod · 0.80
isValidMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected