MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / showQuests

Method showQuests

source/frontend/StarQuestInterface.cpp:242–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

240}
241
242void QuestLogInterface::showQuests(List<QuestPtr> quests) {
243 auto mainQuestList = fetchChild<ListWidget>("scrollArea.verticalLayout.mainQuestList");
244 auto sideQuestList = fetchChild<ListWidget>("scrollArea.verticalLayout.sideQuestList");
245
246 auto mainQuestHeader = fetchChild<Widget>("scrollArea.verticalLayout.mainQuestHeader");
247 auto sideQuestHeader = fetchChild<Widget>("scrollArea.verticalLayout.sideQuestHeader");
248
249 String selectedQuest;
250 if (auto selected = getSelected())
251 selectedQuest = selected->data().toString();
252 else if (m_manager->currentQuest())
253 selectedQuest = (*m_manager->currentQuest())->questId();
254
255 mainQuestList->clear();
256 mainQuestHeader->hide();
257 sideQuestList->clear();
258 sideQuestHeader->hide();
259 for (auto const& quest : quests) {
260 WidgetPtr entry;
261 if (quest->mainQuest()) {
262 entry = mainQuestList->addItem();
263 mainQuestHeader->show();
264 } else {
265 entry = sideQuestList->addItem();
266 sideQuestHeader->show();
267 }
268
269 entry->setData(quest->questId());
270 entry->fetchChild<LabelWidget>("lblQuestEntry")->setText(quest->title());
271 entry->fetchChild<ImageWidget>("imgNew")->setVisibility(quest->unread());
272 entry->fetchChild<ImageWidget>("imgTracked")->setVisibility(m_manager->isCurrent(quest->questId()));
273
274 bool currentWorld = false;
275 if (auto questWorld = quest->worldId()) {
276 currentWorld = m_client->playerWorld() == *questWorld;
277 }
278 entry->fetchChild<ImageWidget>("imgCurrent")->setVisibility(currentWorld);
279
280 entry->fetchChild<ImageWidget>("imgPortrait")->setDrawables(quest->portrait("QuestStarted").value({}));
281 entry->show();
282 if (quest->questId() == selectedQuest)
283 setSelected(entry);
284 }
285
286 auto verticalLayout = fetchChild<VerticalLayout>("scrollArea.verticalLayout");
287 verticalLayout->update(0);
288}
289
290QuestPane::QuestPane(QuestPtr const& quest, PlayerPtr player) : Pane(), m_quest(quest), m_player(std::move(player)) {}
291

Callers

nothing calls this directly

Calls 15

currentQuestMethod · 0.80
questIdMethod · 0.80
mainQuestMethod · 0.80
addItemMethod · 0.80
setVisibilityMethod · 0.80
unreadMethod · 0.80
isCurrentMethod · 0.80
setDrawablesMethod · 0.80
toStringMethod · 0.45
dataMethod · 0.45
clearMethod · 0.45
hideMethod · 0.45

Tested by

no test coverage detected