| 98 | } |
| 99 | |
| 100 | void ModsMenu::openLink() { |
| 101 | size_t selectedItem = m_modList->selectedItem(); |
| 102 | if (selectedItem == NPos) |
| 103 | return; |
| 104 | |
| 105 | String assetsSource = m_assetsSources.at(selectedItem); |
| 106 | JsonObject assetsSourceMetadata = Root::singleton().assets()->assetSourceMetadata(assetsSource); |
| 107 | String link = assetsSourceMetadata.value("link", "").toString(); |
| 108 | |
| 109 | if (link.empty()) |
| 110 | return; |
| 111 | |
| 112 | auto& guiContext = GuiContext::singleton(); |
| 113 | if (auto desktopService = guiContext.applicationController()->desktopService()) |
| 114 | desktopService->openUrl(link); |
| 115 | else |
| 116 | guiContext.setClipboard(link); |
| 117 | } |
| 118 | |
| 119 | void ModsMenu::openWorkshop() { |
| 120 | auto assets = Root::singleton().assets(); |
nothing calls this directly
no test coverage detected