aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui
diff options
context:
space:
mode:
authorTrial97 <alexandru.tripon97@gmail.com>2023-06-25 10:41:29 +0300
committerTrial97 <alexandru.tripon97@gmail.com>2023-06-25 10:41:29 +0300
commitce4a86fbcd0c891472b842e76066d285de3aef7b (patch)
tree33b246e0ac4d5d81aca7652d495ea2439f308a1c /launcher/ui
parent54d7477679d4be05ce69dfe7d3ff21b0de46e8af (diff)
downloadPrismLauncher-ce4a86fbcd0c891472b842e76066d285de3aef7b.tar.gz
PrismLauncher-ce4a86fbcd0c891472b842e76066d285de3aef7b.tar.bz2
PrismLauncher-ce4a86fbcd0c891472b842e76066d285de3aef7b.zip
Made custom url function
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
Diffstat (limited to 'launcher/ui')
-rw-r--r--launcher/ui/pages/instance/ModFolderPage.cpp18
-rw-r--r--launcher/ui/widgets/InfoFrame.cpp21
2 files changed, 8 insertions, 31 deletions
diff --git a/launcher/ui/pages/instance/ModFolderPage.cpp b/launcher/ui/pages/instance/ModFolderPage.cpp
index 9722d483..1d31a292 100644
--- a/launcher/ui/pages/instance/ModFolderPage.cpp
+++ b/launcher/ui/pages/instance/ModFolderPage.cpp
@@ -298,17 +298,9 @@ bool NilModFolderPage::shouldDisplay() const
void ModFolderPage::visitModPages()
{
auto selection = m_filterModel->mapSelectionToSource(ui->treeView->selectionModel()->selection()).indexes();
- for (auto mod : m_model->selectedMods(selection))
- if (auto meta = mod->metadata(); meta != nullptr) {
- auto slug = meta->slug.remove(".pw.toml");
- switch (meta->provider) {
- case ModPlatform::ResourceProvider::MODRINTH:
- DesktopServices::openUrl(QString("https://modrinth.com/mod/%1").arg(slug));
- break;
- case ModPlatform::ResourceProvider::FLAME:
- DesktopServices::openUrl(QString("https://www.curseforge.com/minecraft/mc-mods/%1").arg(slug));
- break;
- }
- } else if (mod->homeurl().size() != 0)
- DesktopServices::openUrl(mod->homeurl());
+ for (auto mod : m_model->selectedMods(selection)) {
+ auto url = mod->metaurl();
+ if (!url.isEmpty())
+ DesktopServices::openUrl(url);
+ }
} \ No newline at end of file
diff --git a/launcher/ui/widgets/InfoFrame.cpp b/launcher/ui/widgets/InfoFrame.cpp
index 52e79dc0..57562a93 100644
--- a/launcher/ui/widgets/InfoFrame.cpp
+++ b/launcher/ui/widgets/InfoFrame.cpp
@@ -41,9 +41,7 @@
#include "ui/dialogs/CustomMessageBox.h"
-InfoFrame::InfoFrame(QWidget *parent) :
- QFrame(parent),
- ui(new Ui::InfoFrame)
+InfoFrame::InfoFrame(QWidget* parent) : QFrame(parent), ui(new Ui::InfoFrame)
{
ui->setupUi(this);
ui->descriptionLabel->setHidden(true);
@@ -67,31 +65,18 @@ void InfoFrame::updateWithMod(Mod const& m)
QString text = "";
QString name = "";
- QString link = "";
+ QString link = m.metaurl();
QString toolTip = "";
if (m.name().isEmpty())
name = m.internal_id();
else
name = m.name();
- if (auto meta = m.metadata(); meta != nullptr) {
- auto slug = meta->slug.remove(".pw.toml");
- switch (meta->provider) {
- case ModPlatform::ResourceProvider::MODRINTH:
- link = QString("https://modrinth.com/mod/%1").arg(slug);
- break;
- case ModPlatform::ResourceProvider::FLAME:
- link = QString("https://www.curseforge.com/minecraft/mc-mods/%1").arg(slug);
- break;
- }
- } else if (!m.homeurl().isEmpty())
- link = m.homeurl();
-
if (link.isEmpty())
text = name;
else {
text = "<a href=\"" + link + "\">" + name + "</a>";
- toolTip = tr("Go to mod's home page");
+ toolTip = link;
}
if (!m.authors().isEmpty())
text += " by " + m.authors().join(", ");