aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/pages/instance
diff options
context:
space:
mode:
authorTrial97 <alexandru.tripon97@gmail.com>2023-08-15 00:33:24 +0300
committerTrial97 <alexandru.tripon97@gmail.com>2023-08-15 00:33:24 +0300
commit0ba88ff138dc5bfc7128333c5ff6c65ab790c7bb (patch)
treea21a93f0b456386a6dcf57b73b8332b22db72c8d /launcher/ui/pages/instance
parent215d7dbb741de9516ab5f00acb7b699adff82cab (diff)
parent3aba7f8fec45c7c87be486d8f6b5c96f69facf93 (diff)
downloadPrismLauncher-0ba88ff138dc5bfc7128333c5ff6c65ab790c7bb.tar.gz
PrismLauncher-0ba88ff138dc5bfc7128333c5ff6c65ab790c7bb.tar.bz2
PrismLauncher-0ba88ff138dc5bfc7128333c5ff6c65ab790c7bb.zip
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into staging
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
Diffstat (limited to 'launcher/ui/pages/instance')
-rw-r--r--launcher/ui/pages/instance/ManagedPackPage.cpp16
-rw-r--r--launcher/ui/pages/instance/ManagedPackPage.ui12
-rw-r--r--launcher/ui/pages/instance/ServersPage.cpp20
3 files changed, 31 insertions, 17 deletions
diff --git a/launcher/ui/pages/instance/ManagedPackPage.cpp b/launcher/ui/pages/instance/ManagedPackPage.cpp
index 82de9742..8fdaf065 100644
--- a/launcher/ui/pages/instance/ManagedPackPage.cpp
+++ b/launcher/ui/pages/instance/ManagedPackPage.cpp
@@ -3,6 +3,9 @@
// SPDX-License-Identifier: GPL-3.0-only
#include "ManagedPackPage.h"
+#include <QDesktopServices>
+#include <QUrl>
+#include <QUrlQuery>
#include "ui_ManagedPackPage.h"
#include <QListView>
@@ -105,6 +108,19 @@ ManagedPackPage::ManagedPackPage(BaseInstance* inst, InstanceWindow* instance_wi
// Pretend we're opening the page again
openedImpl();
});
+
+ connect(ui->changelogTextBrowser, &QTextBrowser::anchorClicked, this, [](const QUrl url) {
+ if (url.scheme().isEmpty()) {
+ auto querry =
+ QUrlQuery(url.query()).queryItemValue("remoteUrl", QUrl::FullyDecoded); // curseforge workaround for linkout?remoteUrl=
+ auto decoded = QUrl::fromPercentEncoding(querry.toUtf8());
+ auto newUrl = QUrl(decoded);
+ if (newUrl.isValid() && (newUrl.scheme() == "http" || newUrl.scheme() == "https"))
+ QDesktopServices ::openUrl(newUrl);
+ return;
+ }
+ QDesktopServices::openUrl(url);
+ });
}
ManagedPackPage::~ManagedPackPage()
diff --git a/launcher/ui/pages/instance/ManagedPackPage.ui b/launcher/ui/pages/instance/ManagedPackPage.ui
index bbe44a94..05e91bbc 100644
--- a/launcher/ui/pages/instance/ManagedPackPage.ui
+++ b/launcher/ui/pages/instance/ManagedPackPage.ui
@@ -168,10 +168,13 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
- <widget class="QTextBrowser" name="changelogTextBrowser">
+ <widget class="ProjectDescriptionPage" name="changelogTextBrowser">
<property name="placeholderText">
<string>No changelog available for this version!</string>
</property>
+ <property name="openLinks">
+ <bool>false</bool>
+ </property>
</widget>
</item>
</layout>
@@ -188,6 +191,13 @@
</item>
</layout>
</widget>
+ <customwidgets>
+ <customwidget>
+ <class>ProjectDescriptionPage</class>
+ <extends>QTextBrowser</extends>
+ <header>ui/widgets/ProjectDescriptionPage.h</header>
+ </customwidget>
+ </customwidgets>
<resources/>
<connections/>
</ui>
diff --git a/launcher/ui/pages/instance/ServersPage.cpp b/launcher/ui/pages/instance/ServersPage.cpp
index da49f4a7..5c31f73b 100644
--- a/launcher/ui/pages/instance/ServersPage.cpp
+++ b/launcher/ui/pages/instance/ServersPage.cpp
@@ -354,14 +354,8 @@ class ServersModel : public QAbstractListModel {
}
}
- virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override
- {
- return parent.isValid() ? 0 : m_servers.size();
- }
- int columnCount(const QModelIndex& parent) const override
- {
- return parent.isValid() ? 0 : COLUMN_COUNT;
- }
+ virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override { return parent.isValid() ? 0 : m_servers.size(); }
+ int columnCount(const QModelIndex& parent) const override { return parent.isValid() ? 0 : COLUMN_COUNT; }
Server* at(int index)
{
@@ -445,10 +439,7 @@ class ServersModel : public QAbstractListModel {
qDebug() << "Changed:" << path;
load();
}
- void fileChanged(const QString& path)
- {
- qDebug() << "Changed:" << path;
- }
+ void fileChanged(const QString& path) { qDebug() << "Changed:" << path; }
private slots:
void save_internal()
@@ -492,10 +483,7 @@ class ServersModel : public QAbstractListModel {
m_saveTimer.stop();
}
- bool saveIsScheduled() const
- {
- return m_dirty;
- }
+ bool saveIsScheduled() const { return m_dirty; }
void updateFSObserver()
{