From d87f743a2bd2fac761b94de77ed7255d7a983f03 Mon Sep 17 00:00:00 2001
From: he3als <65787561+he3als@users.noreply.github.com>
Date: Tue, 18 Oct 2022 17:49:35 +0100
Subject: Add flat white icons
This is mainly for dark mode users, as I think that the regular colour of the flat icons do not look good with dark mode.
---
launcher/resources/flat_white/flat_white.qrc | 46 +++++++++
launcher/resources/flat_white/index.theme | 11 +++
launcher/resources/flat_white/scalable/about.svg | 3 +
.../resources/flat_white/scalable/accounts.svg | 3 +
launcher/resources/flat_white/scalable/bug.svg | 3 +
launcher/resources/flat_white/scalable/cat.svg | 3 +
.../resources/flat_white/scalable/centralmods.svg | 3 +
.../resources/flat_white/scalable/checkupdate.svg | 3 +
launcher/resources/flat_white/scalable/copy.svg | 3 +
.../resources/flat_white/scalable/coremods.svg | 3 +
.../flat_white/scalable/custom-commands.svg | 86 +++++++++++++++++
launcher/resources/flat_white/scalable/discord.svg | 4 +
.../flat_white/scalable/externaltools.svg | 3 +
launcher/resources/flat_white/scalable/help.svg | 17 ++++
.../flat_white/scalable/instance-settings.svg | 3 +
launcher/resources/flat_white/scalable/jarmods.svg | 3 +
launcher/resources/flat_white/scalable/java.svg | 3 +
.../resources/flat_white/scalable/language.svg | 103 +++++++++++++++++++++
.../resources/flat_white/scalable/launcher.svg | 2 +
.../resources/flat_white/scalable/loadermods.svg | 3 +
launcher/resources/flat_white/scalable/log.svg | 3 +
.../resources/flat_white/scalable/minecraft.svg | 3 +
launcher/resources/flat_white/scalable/multimc.svg | 3 +
launcher/resources/flat_white/scalable/new.svg | 3 +
launcher/resources/flat_white/scalable/news.svg | 3 +
launcher/resources/flat_white/scalable/notes.svg | 3 +
.../resources/flat_white/scalable/packages.svg | 3 +
launcher/resources/flat_white/scalable/patreon.svg | 3 +
launcher/resources/flat_white/scalable/proxy.svg | 3 +
.../resources/flat_white/scalable/quickmods.svg | 3 +
.../resources/flat_white/scalable/reddit-alien.svg | 3 +
launcher/resources/flat_white/scalable/refresh.svg | 3 +
.../flat_white/scalable/resourcepacks.svg | 3 +
.../flat_white/scalable/screenshot-placeholder.svg | 3 +
.../resources/flat_white/scalable/screenshots.svg | 3 +
.../resources/flat_white/scalable/settings.svg | 3 +
.../resources/flat_white/scalable/shaderpacks.svg | 56 +++++++++++
launcher/resources/flat_white/scalable/star.svg | 3 +
.../resources/flat_white/scalable/status-bad.svg | 3 +
.../resources/flat_white/scalable/status-good.svg | 3 +
.../flat_white/scalable/status-running.svg | 3 +
.../flat_white/scalable/status-yellow.svg | 3 +
.../resources/flat_white/scalable/viewfolder.svg | 3 +
launcher/resources/flat_white/scalable/worlds.svg | 3 +
44 files changed, 433 insertions(+)
create mode 100644 launcher/resources/flat_white/flat_white.qrc
create mode 100644 launcher/resources/flat_white/index.theme
create mode 100644 launcher/resources/flat_white/scalable/about.svg
create mode 100644 launcher/resources/flat_white/scalable/accounts.svg
create mode 100644 launcher/resources/flat_white/scalable/bug.svg
create mode 100644 launcher/resources/flat_white/scalable/cat.svg
create mode 100644 launcher/resources/flat_white/scalable/centralmods.svg
create mode 100644 launcher/resources/flat_white/scalable/checkupdate.svg
create mode 100644 launcher/resources/flat_white/scalable/copy.svg
create mode 100644 launcher/resources/flat_white/scalable/coremods.svg
create mode 100644 launcher/resources/flat_white/scalable/custom-commands.svg
create mode 100644 launcher/resources/flat_white/scalable/discord.svg
create mode 100644 launcher/resources/flat_white/scalable/externaltools.svg
create mode 100644 launcher/resources/flat_white/scalable/help.svg
create mode 100644 launcher/resources/flat_white/scalable/instance-settings.svg
create mode 100644 launcher/resources/flat_white/scalable/jarmods.svg
create mode 100644 launcher/resources/flat_white/scalable/java.svg
create mode 100644 launcher/resources/flat_white/scalable/language.svg
create mode 100644 launcher/resources/flat_white/scalable/launcher.svg
create mode 100644 launcher/resources/flat_white/scalable/loadermods.svg
create mode 100644 launcher/resources/flat_white/scalable/log.svg
create mode 100644 launcher/resources/flat_white/scalable/minecraft.svg
create mode 100644 launcher/resources/flat_white/scalable/multimc.svg
create mode 100644 launcher/resources/flat_white/scalable/new.svg
create mode 100644 launcher/resources/flat_white/scalable/news.svg
create mode 100644 launcher/resources/flat_white/scalable/notes.svg
create mode 100644 launcher/resources/flat_white/scalable/packages.svg
create mode 100644 launcher/resources/flat_white/scalable/patreon.svg
create mode 100644 launcher/resources/flat_white/scalable/proxy.svg
create mode 100644 launcher/resources/flat_white/scalable/quickmods.svg
create mode 100644 launcher/resources/flat_white/scalable/reddit-alien.svg
create mode 100644 launcher/resources/flat_white/scalable/refresh.svg
create mode 100644 launcher/resources/flat_white/scalable/resourcepacks.svg
create mode 100644 launcher/resources/flat_white/scalable/screenshot-placeholder.svg
create mode 100644 launcher/resources/flat_white/scalable/screenshots.svg
create mode 100644 launcher/resources/flat_white/scalable/settings.svg
create mode 100644 launcher/resources/flat_white/scalable/shaderpacks.svg
create mode 100644 launcher/resources/flat_white/scalable/star.svg
create mode 100644 launcher/resources/flat_white/scalable/status-bad.svg
create mode 100644 launcher/resources/flat_white/scalable/status-good.svg
create mode 100644 launcher/resources/flat_white/scalable/status-running.svg
create mode 100644 launcher/resources/flat_white/scalable/status-yellow.svg
create mode 100644 launcher/resources/flat_white/scalable/viewfolder.svg
create mode 100644 launcher/resources/flat_white/scalable/worlds.svg
(limited to 'launcher')
diff --git a/launcher/resources/flat_white/flat_white.qrc b/launcher/resources/flat_white/flat_white.qrc
new file mode 100644
index 00000000..d2b752b1
--- /dev/null
+++ b/launcher/resources/flat_white/flat_white.qrc
@@ -0,0 +1,46 @@
+
+
+
+ index.theme
+ scalable/about.svg
+ scalable/accounts.svg
+ scalable/bug.svg
+ scalable/cat.svg
+ scalable/centralmods.svg
+ scalable/checkupdate.svg
+ scalable/copy.svg
+ scalable/coremods.svg
+ scalable/custom-commands.svg
+ scalable/discord.svg
+ scalable/externaltools.svg
+ scalable/help.svg
+ scalable/instance-settings.svg
+ scalable/jarmods.svg
+ scalable/java.svg
+ scalable/language.svg
+ scalable/launcher.svg
+ scalable/loadermods.svg
+ scalable/log.svg
+ scalable/minecraft.svg
+ scalable/new.svg
+ scalable/news.svg
+ scalable/notes.svg
+ scalable/packages.svg
+ scalable/proxy.svg
+ scalable/quickmods.svg
+ scalable/reddit-alien.svg
+ scalable/refresh.svg
+ scalable/resourcepacks.svg
+ scalable/shaderpacks.svg
+ scalable/screenshot-placeholder.svg
+ scalable/screenshots.svg
+ scalable/settings.svg
+ scalable/star.svg
+ scalable/status-bad.svg
+ scalable/status-good.svg
+ scalable/status-running.svg
+ scalable/status-yellow.svg
+ scalable/viewfolder.svg
+ scalable/worlds.svg
+
+
diff --git a/launcher/resources/flat_white/index.theme b/launcher/resources/flat_white/index.theme
new file mode 100644
index 00000000..a0b3ba6f
--- /dev/null
+++ b/launcher/resources/flat_white/index.theme
@@ -0,0 +1,11 @@
+[Icon Theme]
+Name=White Flat
+Comment=White version of the flat icons (for dark mode)
+Inherits=multimc
+Directories=scalable
+
+[scalable]
+Size=48
+Type=Scalable
+MinSize=16
+MaxSize=256
diff --git a/launcher/resources/flat_white/scalable/about.svg b/launcher/resources/flat_white/scalable/about.svg
new file mode 100644
index 00000000..e42ca948
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/about.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/accounts.svg b/launcher/resources/flat_white/scalable/accounts.svg
new file mode 100644
index 00000000..e714bde1
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/accounts.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/bug.svg b/launcher/resources/flat_white/scalable/bug.svg
new file mode 100644
index 00000000..3122702e
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/bug.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/cat.svg b/launcher/resources/flat_white/scalable/cat.svg
new file mode 100644
index 00000000..18da097a
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/cat.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/centralmods.svg b/launcher/resources/flat_white/scalable/centralmods.svg
new file mode 100644
index 00000000..d8d10f2f
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/centralmods.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/checkupdate.svg b/launcher/resources/flat_white/scalable/checkupdate.svg
new file mode 100644
index 00000000..0fa66fc2
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/checkupdate.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/copy.svg b/launcher/resources/flat_white/scalable/copy.svg
new file mode 100644
index 00000000..1aaed97b
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/copy.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/coremods.svg b/launcher/resources/flat_white/scalable/coremods.svg
new file mode 100644
index 00000000..32c34383
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/coremods.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/custom-commands.svg b/launcher/resources/flat_white/scalable/custom-commands.svg
new file mode 100644
index 00000000..3d67d8f1
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/custom-commands.svg
@@ -0,0 +1,86 @@
+
+
diff --git a/launcher/resources/flat_white/scalable/discord.svg b/launcher/resources/flat_white/scalable/discord.svg
new file mode 100644
index 00000000..ee07ed25
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/discord.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/externaltools.svg b/launcher/resources/flat_white/scalable/externaltools.svg
new file mode 100644
index 00000000..e7c0930c
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/externaltools.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/help.svg b/launcher/resources/flat_white/scalable/help.svg
new file mode 100644
index 00000000..82b413fe
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/help.svg
@@ -0,0 +1,17 @@
+
+
diff --git a/launcher/resources/flat_white/scalable/instance-settings.svg b/launcher/resources/flat_white/scalable/instance-settings.svg
new file mode 100644
index 00000000..7dac7b14
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/instance-settings.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/jarmods.svg b/launcher/resources/flat_white/scalable/jarmods.svg
new file mode 100644
index 00000000..f0f298f3
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/jarmods.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/java.svg b/launcher/resources/flat_white/scalable/java.svg
new file mode 100644
index 00000000..56bb481f
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/java.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/language.svg b/launcher/resources/flat_white/scalable/language.svg
new file mode 100644
index 00000000..18c22efb
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/language.svg
@@ -0,0 +1,103 @@
+
+
diff --git a/launcher/resources/flat_white/scalable/launcher.svg b/launcher/resources/flat_white/scalable/launcher.svg
new file mode 100644
index 00000000..d7ad0dd3
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/launcher.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/launcher/resources/flat_white/scalable/loadermods.svg b/launcher/resources/flat_white/scalable/loadermods.svg
new file mode 100644
index 00000000..100f7a93
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/loadermods.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/log.svg b/launcher/resources/flat_white/scalable/log.svg
new file mode 100644
index 00000000..69b7c1dc
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/log.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/minecraft.svg b/launcher/resources/flat_white/scalable/minecraft.svg
new file mode 100644
index 00000000..a0348e79
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/minecraft.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/multimc.svg b/launcher/resources/flat_white/scalable/multimc.svg
new file mode 100644
index 00000000..3dce2699
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/multimc.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/new.svg b/launcher/resources/flat_white/scalable/new.svg
new file mode 100644
index 00000000..46dc3361
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/new.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/news.svg b/launcher/resources/flat_white/scalable/news.svg
new file mode 100644
index 00000000..414e5454
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/news.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/notes.svg b/launcher/resources/flat_white/scalable/notes.svg
new file mode 100644
index 00000000..4ce5f6f1
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/notes.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/packages.svg b/launcher/resources/flat_white/scalable/packages.svg
new file mode 100644
index 00000000..909ad0b2
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/packages.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/patreon.svg b/launcher/resources/flat_white/scalable/patreon.svg
new file mode 100644
index 00000000..b745765b
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/patreon.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/proxy.svg b/launcher/resources/flat_white/scalable/proxy.svg
new file mode 100644
index 00000000..a86703f4
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/proxy.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/quickmods.svg b/launcher/resources/flat_white/scalable/quickmods.svg
new file mode 100644
index 00000000..9e0045b2
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/quickmods.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/reddit-alien.svg b/launcher/resources/flat_white/scalable/reddit-alien.svg
new file mode 100644
index 00000000..be22148c
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/reddit-alien.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/refresh.svg b/launcher/resources/flat_white/scalable/refresh.svg
new file mode 100644
index 00000000..08c63bdf
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/refresh.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/resourcepacks.svg b/launcher/resources/flat_white/scalable/resourcepacks.svg
new file mode 100644
index 00000000..9dd73c3a
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/resourcepacks.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/screenshot-placeholder.svg b/launcher/resources/flat_white/scalable/screenshot-placeholder.svg
new file mode 100644
index 00000000..41eb6fcf
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/screenshot-placeholder.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/screenshots.svg b/launcher/resources/flat_white/scalable/screenshots.svg
new file mode 100644
index 00000000..68cf8969
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/screenshots.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/settings.svg b/launcher/resources/flat_white/scalable/settings.svg
new file mode 100644
index 00000000..7dac7b14
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/settings.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/shaderpacks.svg b/launcher/resources/flat_white/scalable/shaderpacks.svg
new file mode 100644
index 00000000..ccae221c
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/shaderpacks.svg
@@ -0,0 +1,56 @@
+
+
diff --git a/launcher/resources/flat_white/scalable/star.svg b/launcher/resources/flat_white/scalable/star.svg
new file mode 100644
index 00000000..116f952e
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/star.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/status-bad.svg b/launcher/resources/flat_white/scalable/status-bad.svg
new file mode 100644
index 00000000..5a121c09
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/status-bad.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/status-good.svg b/launcher/resources/flat_white/scalable/status-good.svg
new file mode 100644
index 00000000..ccb732ab
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/status-good.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/status-running.svg b/launcher/resources/flat_white/scalable/status-running.svg
new file mode 100644
index 00000000..aa2d5fbf
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/status-running.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/status-yellow.svg b/launcher/resources/flat_white/scalable/status-yellow.svg
new file mode 100644
index 00000000..772699d3
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/status-yellow.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/viewfolder.svg b/launcher/resources/flat_white/scalable/viewfolder.svg
new file mode 100644
index 00000000..145f8624
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/viewfolder.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/worlds.svg b/launcher/resources/flat_white/scalable/worlds.svg
new file mode 100644
index 00000000..cea30cf8
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/worlds.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
--
cgit
From 92dfd659f1a3e11accdbf0ebbdc7cb91f74d9a21 Mon Sep 17 00:00:00 2001
From: he3als <65787561+he3als@users.noreply.github.com>
Date: Tue, 18 Oct 2022 17:54:26 +0100
Subject: Fix .QRC file for flat white icons
---
launcher/resources/flat_white/flat_white.qrc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'launcher')
diff --git a/launcher/resources/flat_white/flat_white.qrc b/launcher/resources/flat_white/flat_white.qrc
index d2b752b1..feda4762 100644
--- a/launcher/resources/flat_white/flat_white.qrc
+++ b/launcher/resources/flat_white/flat_white.qrc
@@ -1,6 +1,6 @@
-
+
index.theme
scalable/about.svg
scalable/accounts.svg
--
cgit
From 7eecf454e83314cd6f8029f54678dea568d41843 Mon Sep 17 00:00:00 2001
From: flow
Date: Fri, 21 Oct 2022 14:07:43 -0300
Subject: fix: remove max height logic for mod update changelogs
It's not worth it to keep this, it's just a heuristic that fails from
time to time.
Signed-off-by: flow
---
launcher/ui/dialogs/ModUpdateDialog.cpp | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
(limited to 'launcher')
diff --git a/launcher/ui/dialogs/ModUpdateDialog.cpp b/launcher/ui/dialogs/ModUpdateDialog.cpp
index 4171586e..cedd4a96 100644
--- a/launcher/ui/dialogs/ModUpdateDialog.cpp
+++ b/launcher/ui/dialogs/ModUpdateDialog.cpp
@@ -366,33 +366,28 @@ void ModUpdateDialog::appendMod(CheckUpdateTask::UpdatableMod const& info)
auto changelog = new QTreeWidgetItem(changelog_item);
auto changelog_area = new QTextBrowser();
+ QString text = info.changelog;
switch (info.provider) {
case ModPlatform::Provider::MODRINTH: {
HoeDown h;
// HoeDown bug?: \n aren't converted to
- auto text = h.process(info.changelog.toUtf8());
+ text = h.process(info.changelog.toUtf8());
// Don't convert if there's an HTML tag right after (Qt rendering weirdness)
text.remove(QRegularExpression("(\n+)(?=<)"));
text.replace('\n', "
");
- changelog_area->setHtml(text);
break;
}
- case ModPlatform::Provider::FLAME: {
- changelog_area->setHtml(info.changelog);
+ default:
break;
- }
}
+ changelog_area->setHtml(text);
changelog_area->setOpenExternalLinks(true);
- changelog_area->setLineWrapMode(QTextBrowser::LineWrapMode::NoWrap);
+ changelog_area->setLineWrapMode(QTextBrowser::LineWrapMode::WidgetWidth);
changelog_area->setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAsNeeded);
- // HACK: Is there a better way of achieving this?
- auto font_height = QFontMetrics(changelog_area->font()).height();
- changelog_area->setMaximumHeight((changelog_area->toPlainText().count(QRegularExpression("\n|
")) + 2) * font_height);
-
ui->modTreeWidget->setItemWidget(changelog, 0, changelog_area);
ui->modTreeWidget->addTopLevelItem(item_top);
--
cgit
From 1288b926153c86b7966727e60de4af8e7dcb4031 Mon Sep 17 00:00:00 2001
From: Hibi <69405847+Hibiii@users.noreply.github.com>
Date: Fri, 21 Oct 2022 15:40:28 -0300
Subject: Add argument to show instance window
---
launcher/Application.cpp | 14 +++++++++++++-
launcher/Application.h | 1 +
2 files changed, 14 insertions(+), 1 deletion(-)
(limited to 'launcher')
diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 6ffec1ae..ace06c2c 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -245,7 +245,8 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
{{"s", "server"}, "Join the specified server on launch (only valid in combination with --launch)", "address"},
{{"a", "profile"}, "Use the account specified by its profile name (only valid in combination with --launch)", "profile"},
{"alive", "Write a small '" + liveCheckFile + "' file after the launcher starts"},
- {{"I", "import"}, "Import instance from specified zip (local path or URL)", "file"}
+ {{"I", "import"}, "Import instance from specified zip (local path or URL)", "file"},
+ {"show", "Opens the window for the specified instance (by instance ID)", "show"}
});
parser.addHelpOption();
parser.addVersionOption();
@@ -257,6 +258,7 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
m_profileToUse = parser.value("profile");
m_liveCheck = parser.isSet("alive");
m_zipToImport = parser.value("import");
+ m_instanceIdToShowWindowOf = parser.value("show");
// error if --launch is missing with --server or --profile
if((!m_serverToJoin.isEmpty() || !m_profileToUse.isEmpty()) && m_instanceIdToLaunch.isEmpty())
@@ -986,6 +988,16 @@ void Application::performMainStartupAction()
return;
}
}
+ if(!m_instanceIdToShowWindowOf.isEmpty())
+ {
+ auto inst = instances()->getInstanceById(m_instanceIdToShowWindowOf);
+ if(inst)
+ {
+ qDebug() << "<> Showing window of instance " << m_instanceIdToShowWindowOf;
+ showInstanceWindow(inst);
+ return;
+ }
+ }
if(!m_mainWindow)
{
// normal main window
diff --git a/launcher/Application.h b/launcher/Application.h
index 34ad8c15..c453cc28 100644
--- a/launcher/Application.h
+++ b/launcher/Application.h
@@ -301,6 +301,7 @@ public:
QString m_profileToUse;
bool m_liveCheck = false;
QUrl m_zipToImport;
+ QString m_instanceIdToShowWindowOf;
std::unique_ptr logFile;
};
--
cgit
From 56ae4e5b6ad984d4c9569cb024d807bd695555a6 Mon Sep 17 00:00:00 2001
From: Bensuperpc
Date: Sat, 22 Oct 2022 13:04:48 +0200
Subject: Change old style cast to C++ cast
Change old style cast to C++ cast
Signed-off-by: Bensuperpc
---
launcher/GZip.cpp | 4 ++--
launcher/HoeDown.h | 2 +-
launcher/tasks/Task.cpp | 2 +-
libraries/LocalPeer/src/LocalPeer.cpp | 2 +-
libraries/katabasis/src/DeviceFlow.cpp | 2 +-
libraries/murmur2/src/MurmurHash2.cpp | 6 +++---
6 files changed, 9 insertions(+), 9 deletions(-)
(limited to 'launcher')
diff --git a/launcher/GZip.cpp b/launcher/GZip.cpp
index 067104cf..e36dc8a4 100644
--- a/launcher/GZip.cpp
+++ b/launcher/GZip.cpp
@@ -72,7 +72,7 @@ bool GZip::unzip(const QByteArray &compressedBytes, QByteArray &uncompressedByte
uncompLength *= 2;
}
- strm.next_out = (Bytef *)(uncompressedBytes.data() + strm.total_out);
+ strm.next_out = reinterpret_cast((uncompressedBytes.data() + strm.total_out));
strm.avail_out = uncompLength - strm.total_out;
// Inflate another chunk.
@@ -129,7 +129,7 @@ bool GZip::zip(const QByteArray &uncompressedBytes, QByteArray &compressedBytes)
{
compressedBytes.resize(compressedBytes.size() * 2);
}
- zs.next_out = (Bytef *) (compressedBytes.data() + offset);
+ zs.next_out = reinterpret_cast((compressedBytes.data() + offset));
temp = zs.avail_out = compressedBytes.size() - offset;
ret = deflate(&zs, Z_FINISH);
offset += temp - zs.avail_out;
diff --git a/launcher/HoeDown.h b/launcher/HoeDown.h
index b9e06ffb..cb62de6c 100644
--- a/launcher/HoeDown.h
+++ b/launcher/HoeDown.h
@@ -42,7 +42,7 @@ public:
}
void put(QByteArray input)
{
- hoedown_buffer_put(buf, (uint8_t *) input.data(), input.size());
+ hoedown_buffer_put(buf, reinterpret_cast(input.data()), input.size());
}
const uint8_t * data() const
{
diff --git a/launcher/tasks/Task.cpp b/launcher/tasks/Task.cpp
index b4babdd4..9ea1bb26 100644
--- a/launcher/tasks/Task.cpp
+++ b/launcher/tasks/Task.cpp
@@ -153,7 +153,7 @@ QString Task::describe()
auto name = objectName();
if(name.isEmpty())
{
- out << QString("0x%1").arg((quintptr)this, 0, 16);
+ out << QString("0x%1").arg(reinterpret_cast(this), 0, 16);
}
else
{
diff --git a/libraries/LocalPeer/src/LocalPeer.cpp b/libraries/LocalPeer/src/LocalPeer.cpp
index 3c3d8b4c..b7149c40 100644
--- a/libraries/LocalPeer/src/LocalPeer.cpp
+++ b/libraries/LocalPeer/src/LocalPeer.cpp
@@ -210,7 +210,7 @@ void LocalPeer::receiveConnection()
return;
}
- while (socket->bytesAvailable() < (int)sizeof(quint32))
+ while (socket->bytesAvailable() < static_cast(sizeof(quint32)))
{
socket->waitForReadyRead();
}
diff --git a/libraries/katabasis/src/DeviceFlow.cpp b/libraries/katabasis/src/DeviceFlow.cpp
index ba1d121d..f78fd620 100644
--- a/libraries/katabasis/src/DeviceFlow.cpp
+++ b/libraries/katabasis/src/DeviceFlow.cpp
@@ -445,7 +445,7 @@ void DeviceFlow::onRefreshError(QNetworkReply::NetworkError error, QNetworkReply
if(refreshReply) {
refreshReply->deleteLater();
}
- qDebug() << "DeviceFlow::onRefreshFinished: Error" << (int)error << " - " << errorString;
+ qDebug() << "DeviceFlow::onRefreshFinished: Error" << static_cast(error) << " - " << errorString;
}
}
diff --git a/libraries/murmur2/src/MurmurHash2.cpp b/libraries/murmur2/src/MurmurHash2.cpp
index b625efb1..c13608f0 100644
--- a/libraries/murmur2/src/MurmurHash2.cpp
+++ b/libraries/murmur2/src/MurmurHash2.cpp
@@ -55,12 +55,12 @@ uint32_t MurmurHash2(std::ifstream&& file_stream, std::size_t buffer_size, std::
// Mix 4 bytes at a time into the hash
if (index == 0)
- FourBytes_MurmurHash2((unsigned char*)&data, info);
+ FourBytes_MurmurHash2(reinterpret_cast(&data), info);
}
} while (!file_stream.eof());
// Do one last bit shuffle in the hash
- FourBytes_MurmurHash2((unsigned char*)&data, info);
+ FourBytes_MurmurHash2(reinterpret_cast(&data), info);
delete[] buffer;
@@ -72,7 +72,7 @@ void FourBytes_MurmurHash2(const unsigned char* data, IncrementalHashInfo& prev)
{
if (prev.len >= 4) {
// Not the final mix
- uint32_t k = *(uint32_t*)data;
+ uint32_t k = *reinterpret_cast(data);
k *= m;
k ^= k >> r;
--
cgit
From a6e65dfc7a7e8080297b59ecf322b788d1c9bad2 Mon Sep 17 00:00:00 2001
From: he3als <65787561+he3als@users.noreply.github.com>
Date: Sat, 22 Oct 2022 15:40:39 +0100
Subject: Add new flat white icons
---
launcher/resources/flat_white/scalable/delete.svg | 5 +++++
launcher/resources/flat_white/scalable/export.svg | 5 +++++
launcher/resources/flat_white/scalable/rename.svg | 4 ++++
launcher/resources/flat_white/scalable/tag.svg | 4 ++++
4 files changed, 18 insertions(+)
create mode 100644 launcher/resources/flat_white/scalable/delete.svg
create mode 100644 launcher/resources/flat_white/scalable/export.svg
create mode 100644 launcher/resources/flat_white/scalable/rename.svg
create mode 100644 launcher/resources/flat_white/scalable/tag.svg
(limited to 'launcher')
diff --git a/launcher/resources/flat_white/scalable/delete.svg b/launcher/resources/flat_white/scalable/delete.svg
new file mode 100644
index 00000000..4cf7206e
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/delete.svg
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/export.svg b/launcher/resources/flat_white/scalable/export.svg
new file mode 100644
index 00000000..a28bb254
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/export.svg
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/rename.svg b/launcher/resources/flat_white/scalable/rename.svg
new file mode 100644
index 00000000..f2067c16
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/rename.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/tag.svg b/launcher/resources/flat_white/scalable/tag.svg
new file mode 100644
index 00000000..2473126f
--- /dev/null
+++ b/launcher/resources/flat_white/scalable/tag.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
--
cgit
From 99e1c13e80d12764f57a993661656d9ed7de27bb Mon Sep 17 00:00:00 2001
From: he3als <65787561+he3als@users.noreply.github.com>
Date: Sat, 22 Oct 2022 15:50:06 +0100
Subject: fix: add flat_white to code
---
launcher/CMakeLists.txt | 1 +
launcher/main.cpp | 1 +
launcher/resources/flat_white/index.theme | 2 +-
launcher/ui/pages/global/LauncherPage.cpp | 13 ++++++++++---
launcher/ui/pages/global/LauncherPage.ui | 5 +++++
5 files changed, 18 insertions(+), 4 deletions(-)
(limited to 'launcher')
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index 79ac49c7..0dae47df 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -602,6 +602,7 @@ SET(LAUNCHER_SOURCES
resources/OSX/OSX.qrc
resources/iOS/iOS.qrc
resources/flat/flat.qrc
+ resources/flat_white/flat_white.qrc
resources/documents/documents.qrc
../${Launcher_Branding_LogoQRC}
diff --git a/launcher/main.cpp b/launcher/main.cpp
index c6a7614c..e2116f38 100644
--- a/launcher/main.cpp
+++ b/launcher/main.cpp
@@ -84,6 +84,7 @@ int main(int argc, char *argv[])
Q_INIT_RESOURCE(OSX);
Q_INIT_RESOURCE(iOS);
Q_INIT_RESOURCE(flat);
+ Q_INIT_RESOURCE(flat_white);
return app.exec();
}
case Application::Failed:
diff --git a/launcher/resources/flat_white/index.theme b/launcher/resources/flat_white/index.theme
index a0b3ba6f..0292509f 100644
--- a/launcher/resources/flat_white/index.theme
+++ b/launcher/resources/flat_white/index.theme
@@ -1,5 +1,5 @@
[Icon Theme]
-Name=White Flat
+Name=Flat (White)
Comment=White version of the flat icons (for dark mode)
Inherits=multimc
Directories=scalable
diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp
index b8431e8c..536ab22e 100644
--- a/launcher/ui/pages/global/LauncherPage.cpp
+++ b/launcher/ui/pages/global/LauncherPage.cpp
@@ -310,9 +310,12 @@ void LauncherPage::applySettings()
s->set("IconTheme", "flat");
break;
case 7:
- s->set("IconTheme", "multimc");
+ s->set("IconTheme", "flat_white");
break;
case 8:
+ s->set("IconTheme", "multimc");
+ break;
+ case 9:
s->set("IconTheme", "custom");
break;
}
@@ -408,14 +411,18 @@ void LauncherPage::loadSettings()
{
ui->themeComboBox->setCurrentIndex(6);
}
- else if (theme == "multimc")
+ else if (theme == "flat_white")
{
ui->themeComboBox->setCurrentIndex(7);
}
- else if (theme == "custom")
+ else if (theme == "multimc")
{
ui->themeComboBox->setCurrentIndex(8);
}
+ else if (theme == "custom")
+ {
+ ui->themeComboBox->setCurrentIndex(9);
+ }
{
auto currentTheme = s->get("ApplicationTheme").toString();
diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 0d14f147..76a25f2e 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -300,6 +300,11 @@
Flat
+ -
+
+ Flat (White)
+
+
-
Legacy
--
cgit
From 46fe7e77b3285a77ee71df5f055b927b777ca112 Mon Sep 17 00:00:00 2001
From: he3als <65787561+he3als@users.noreply.github.com>
Date: Sat, 22 Oct 2022 16:14:50 +0100
Subject: DCO Remediation Commit for he3als
<65787561+he3als@users.noreply.github.com>
I, he3als <65787561+he3als@users.noreply.github.com>, hereby add my Signed-off-by to this commit: d87f743a2bd2fac761b94de77ed7255d7a983f03
I, he3als <65787561+he3als@users.noreply.github.com>, hereby add my Signed-off-by to this commit: 92dfd659f1a3e11accdbf0ebbdc7cb91f74d9a21
I, he3als <65787561+he3als@users.noreply.github.com>, hereby add my Signed-off-by to this commit: a6e65dfc7a7e8080297b59ecf322b788d1c9bad2
I, he3als <65787561+he3als@users.noreply.github.com>, hereby add my Signed-off-by to this commit: 99e1c13e80d12764f57a993661656d9ed7de27bb
Signed-off-by: he3als <65787561+he3als@users.noreply.github.com>
---
launcher/resources/flat_white/index.theme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'launcher')
diff --git a/launcher/resources/flat_white/index.theme b/launcher/resources/flat_white/index.theme
index 0292509f..54dd0e10 100644
--- a/launcher/resources/flat_white/index.theme
+++ b/launcher/resources/flat_white/index.theme
@@ -1,6 +1,6 @@
[Icon Theme]
Name=Flat (White)
-Comment=White version of the flat icons (for dark mode)
+Comment=White version of the flat icons (dark mode)
Inherits=multimc
Directories=scalable
--
cgit
From 4777a4572267a604dc4fa8e1cd1f4bf2fc068929 Mon Sep 17 00:00:00 2001
From: he3als <65787561+he3als@users.noreply.github.com>
Date: Sun, 23 Oct 2022 14:32:35 +0100
Subject: Fix new flat white icons
Signed-off-by: he3als <65787561+he3als@users.noreply.github.com>
---
launcher/resources/flat_white/flat_white.qrc | 6 +++++-
launcher/resources/flat_white/scalable/delete.svg | 2 +-
launcher/resources/flat_white/scalable/tag.svg | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
(limited to 'launcher')
diff --git a/launcher/resources/flat_white/flat_white.qrc b/launcher/resources/flat_white/flat_white.qrc
index feda4762..4243760b 100644
--- a/launcher/resources/flat_white/flat_white.qrc
+++ b/launcher/resources/flat_white/flat_white.qrc
@@ -41,6 +41,10 @@
scalable/status-running.svg
scalable/status-yellow.svg
scalable/viewfolder.svg
- scalable/worlds.svg
+ scalable/worlds.svg
+ scalable/delete.svg
+ scalable/export.svg
+ scalable/rename.svg
+ scalable/tag.svg
diff --git a/launcher/resources/flat_white/scalable/delete.svg b/launcher/resources/flat_white/scalable/delete.svg
index 4cf7206e..3365a96f 100644
--- a/launcher/resources/flat_white/scalable/delete.svg
+++ b/launcher/resources/flat_white/scalable/delete.svg
@@ -1,5 +1,5 @@
\ No newline at end of file
diff --git a/launcher/resources/flat_white/scalable/tag.svg b/launcher/resources/flat_white/scalable/tag.svg
index 2473126f..f91fb0b4 100644
--- a/launcher/resources/flat_white/scalable/tag.svg
+++ b/launcher/resources/flat_white/scalable/tag.svg
@@ -1,4 +1,4 @@
\ No newline at end of file
--
cgit
From 0aac85dda145603434e64bf04f39823f44509605 Mon Sep 17 00:00:00 2001
From: he3als <65787561+he3als@users.noreply.github.com>
Date: Sun, 23 Oct 2022 14:35:33 +0100
Subject: Replace tab with spaces in flat_white.qrc
Signed-off-by: he3als <65787561+he3als@users.noreply.github.com>
---
launcher/resources/flat_white/flat_white.qrc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'launcher')
diff --git a/launcher/resources/flat_white/flat_white.qrc b/launcher/resources/flat_white/flat_white.qrc
index 4243760b..9df69060 100644
--- a/launcher/resources/flat_white/flat_white.qrc
+++ b/launcher/resources/flat_white/flat_white.qrc
@@ -42,7 +42,7 @@
scalable/status-yellow.svg
scalable/viewfolder.svg
scalable/worlds.svg
- scalable/delete.svg
+ scalable/delete.svg
scalable/export.svg
scalable/rename.svg
scalable/tag.svg
--
cgit
From d5109f024b7bde5862a60b7359d815dc3d138663 Mon Sep 17 00:00:00 2001
From: Trisave <42098407+Protrikk@users.noreply.github.com>
Date: Sun, 23 Oct 2022 20:32:04 +0200
Subject: Better dark theme selection contrast
Tweak background of the selection background in order to make text more readable
Signed-off-by: Trisave <42098407+Protrikk@users.noreply.github.com>
---
launcher/ui/themes/DarkTheme.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'launcher')
diff --git a/launcher/ui/themes/DarkTheme.cpp b/launcher/ui/themes/DarkTheme.cpp
index 07a2efd2..48231b53 100644
--- a/launcher/ui/themes/DarkTheme.cpp
+++ b/launcher/ui/themes/DarkTheme.cpp
@@ -31,7 +31,7 @@ QPalette DarkTheme::colorScheme()
darkPalette.setColor(QPalette::ButtonText, Qt::white);
darkPalette.setColor(QPalette::BrightText, Qt::red);
darkPalette.setColor(QPalette::Link, QColor(47,163,198));
- darkPalette.setColor(QPalette::Highlight, QColor(145,205,92));
+ darkPalette.setColor(QPalette::Highlight, QColor(150,219,89));
darkPalette.setColor(QPalette::HighlightedText, Qt::black);
darkPalette.setColor(QPalette::PlaceholderText, Qt::darkGray);
return fadeInactive(darkPalette, fadeAmount(), fadeColor());
--
cgit
From b638a6ae950e472c6e6139cfdbaa2950e848efb0 Mon Sep 17 00:00:00 2001
From: flow
Date: Mon, 24 Oct 2022 09:07:41 -0300
Subject: fix: retry mod search job after aborting it
This way, we don't get stuck with an aborted job in our way! :o
Signed-off-by: flow
---
launcher/modplatform/helpers/NetworkModAPI.cpp | 1 +
launcher/ui/pages/modplatform/ModModel.cpp | 25 ++++++++++++++++---------
launcher/ui/pages/modplatform/ModModel.h | 1 +
3 files changed, 18 insertions(+), 9 deletions(-)
(limited to 'launcher')
diff --git a/launcher/modplatform/helpers/NetworkModAPI.cpp b/launcher/modplatform/helpers/NetworkModAPI.cpp
index 866e7540..7633030e 100644
--- a/launcher/modplatform/helpers/NetworkModAPI.cpp
+++ b/launcher/modplatform/helpers/NetworkModAPI.cpp
@@ -15,6 +15,7 @@ void NetworkModAPI::searchMods(CallerType* caller, SearchArgs&& args) const
QObject::connect(netJob, &NetJob::started, caller, [caller, netJob] { caller->setActiveJob(netJob); });
QObject::connect(netJob, &NetJob::failed, caller, &CallerType::searchRequestFailed);
+ QObject::connect(netJob, &NetJob::aborted, caller, &CallerType::searchRequestAborted);
QObject::connect(netJob, &NetJob::succeeded, caller, [caller, response] {
QJsonParseError parse_error{};
QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error);
diff --git a/launcher/ui/pages/modplatform/ModModel.cpp b/launcher/ui/pages/modplatform/ModModel.cpp
index 49766fa6..ed58eb32 100644
--- a/launcher/ui/pages/modplatform/ModModel.cpp
+++ b/launcher/ui/pages/modplatform/ModModel.cpp
@@ -267,18 +267,25 @@ void ListModel::searchRequestFailed(QString reason)
.arg(m_parent->displayName())
.arg(tr("API version too old!\nPlease update %1!").arg(BuildConfig.LAUNCHER_DISPLAYNAME)));
}
+
jobPtr.reset();
+ searchState = Finished;
+}
- if (searchState == ResetRequested) {
- beginResetModel();
- modpacks.clear();
- endResetModel();
+void ListModel::searchRequestAborted()
+{
+ if (searchState != ResetRequested)
+ qCritical() << "Search task in ModModel aborted by an unknown reason!";
- nextSearchOffset = 0;
- performPaginatedSearch();
- } else {
- searchState = Finished;
- }
+ // Retry fetching
+ jobPtr.reset();
+
+ beginResetModel();
+ modpacks.clear();
+ endResetModel();
+
+ nextSearchOffset = 0;
+ performPaginatedSearch();
}
void ListModel::infoRequestFinished(QJsonDocument& doc, ModPlatform::IndexedPack& pack, const QModelIndex& index)
diff --git a/launcher/ui/pages/modplatform/ModModel.h b/launcher/ui/pages/modplatform/ModModel.h
index a58c7c55..d2636d87 100644
--- a/launcher/ui/pages/modplatform/ModModel.h
+++ b/launcher/ui/pages/modplatform/ModModel.h
@@ -51,6 +51,7 @@ class ListModel : public QAbstractListModel {
public slots:
void searchRequestFinished(QJsonDocument& doc);
void searchRequestFailed(QString reason);
+ void searchRequestAborted();
void infoRequestFinished(QJsonDocument& doc, ModPlatform::IndexedPack& pack, const QModelIndex& index);
--
cgit
From 2ba3de79d8df31d196f0cd249b1606e7233cf840 Mon Sep 17 00:00:00 2001
From: Sefa Eyeoglu
Date: Thu, 27 Oct 2022 21:14:30 +0200
Subject: chore: add comment about copy bug
Signed-off-by: Sefa Eyeoglu
---
launcher/FileSystem.cpp | 1 +
1 file changed, 1 insertion(+)
(limited to 'launcher')
diff --git a/launcher/FileSystem.cpp b/launcher/FileSystem.cpp
index 39e68c20..76cfccb0 100644
--- a/launcher/FileSystem.cpp
+++ b/launcher/FileSystem.cpp
@@ -401,6 +401,7 @@ bool overrideFolder(QString overwritten_path, QString override_path)
std::error_code err;
fs::copy_options opt = copy_opts::recursive | copy_opts::overwrite_existing;
+ // FIXME: hello traveller! Apparently std::copy does NOT overwrite existing files on GNU libstdc++ on Windows?
fs::copy(toStdString(override_path), toStdString(overwritten_path), opt, err);
if (err) {
--
cgit
From 93894f62ffcb8c33caf36e8801e163738cc2873d Mon Sep 17 00:00:00 2001
From: Sefa Eyeoglu
Date: Fri, 28 Oct 2022 00:05:11 +0200
Subject: fix: avoid segfault for unexpected API reponse
Signed-off-by: Sefa Eyeoglu
---
.../modplatform/modrinth/ModrinthPackIndex.cpp | 55 ++++++++++++----------
1 file changed, 31 insertions(+), 24 deletions(-)
(limited to 'launcher')
diff --git a/launcher/modplatform/modrinth/ModrinthPackIndex.cpp b/launcher/modplatform/modrinth/ModrinthPackIndex.cpp
index 3e53becb..ae45e096 100644
--- a/launcher/modplatform/modrinth/ModrinthPackIndex.cpp
+++ b/launcher/modplatform/modrinth/ModrinthPackIndex.cpp
@@ -1,20 +1,20 @@
// SPDX-License-Identifier: GPL-3.0-only
/*
-* PolyMC - Minecraft Launcher
-* Copyright (c) 2022 flowln
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, version 3.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
+ * PolyMC - Minecraft Launcher
+ * Copyright (c) 2022 flowln
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
#include "ModrinthPackIndex.h"
#include "ModrinthAPI.h"
@@ -35,7 +35,7 @@ void Modrinth::loadIndexedPack(ModPlatform::IndexedPack& pack, QJsonObject& obj)
pack.provider = ModPlatform::Provider::MODRINTH;
pack.name = Json::requireString(obj, "title");
-
+
pack.slug = Json::ensureString(obj, "slug", "");
if (!pack.slug.isEmpty())
pack.websiteUrl = "https://modrinth.com/mod/" + pack.slug;
@@ -59,23 +59,23 @@ void Modrinth::loadIndexedPack(ModPlatform::IndexedPack& pack, QJsonObject& obj)
void Modrinth::loadExtraPackData(ModPlatform::IndexedPack& pack, QJsonObject& obj)
{
pack.extraData.issuesUrl = Json::ensureString(obj, "issues_url");
- if(pack.extraData.issuesUrl.endsWith('/'))
+ if (pack.extraData.issuesUrl.endsWith('/'))
pack.extraData.issuesUrl.chop(1);
pack.extraData.sourceUrl = Json::ensureString(obj, "source_url");
- if(pack.extraData.sourceUrl.endsWith('/'))
+ if (pack.extraData.sourceUrl.endsWith('/'))
pack.extraData.sourceUrl.chop(1);
pack.extraData.wikiUrl = Json::ensureString(obj, "wiki_url");
- if(pack.extraData.wikiUrl.endsWith('/'))
+ if (pack.extraData.wikiUrl.endsWith('/'))
pack.extraData.wikiUrl.chop(1);
pack.extraData.discordUrl = Json::ensureString(obj, "discord_url");
- if(pack.extraData.discordUrl.endsWith('/'))
+ if (pack.extraData.discordUrl.endsWith('/'))
pack.extraData.discordUrl.chop(1);
auto donate_arr = Json::ensureArray(obj, "donation_urls");
- for(auto d : donate_arr){
+ for (auto d : donate_arr) {
auto d_obj = Json::requireObject(d);
ModPlatform::DonationData donate;
@@ -104,7 +104,7 @@ void Modrinth::loadIndexedPackVersions(ModPlatform::IndexedPack& pack,
auto obj = versionIter.toObject();
auto file = loadIndexedPackVersion(obj);
- if(file.fileId.isValid()) // Heuristic to check if the returned value is valid
+ if (file.fileId.isValid()) // Heuristic to check if the returned value is valid
unsortedVersions.append(file);
}
auto orderSortPredicate = [](const ModPlatform::IndexedVersion& a, const ModPlatform::IndexedVersion& b) -> bool {
@@ -116,7 +116,8 @@ void Modrinth::loadIndexedPackVersions(ModPlatform::IndexedPack& pack,
pack.versionsLoaded = true;
}
-auto Modrinth::loadIndexedPackVersion(QJsonObject &obj, QString preferred_hash_type, QString preferred_file_name) -> ModPlatform::IndexedVersion
+auto Modrinth::loadIndexedPackVersion(QJsonObject& obj, QString preferred_hash_type, QString preferred_file_name)
+ -> ModPlatform::IndexedVersion
{
ModPlatform::IndexedVersion file;
@@ -141,6 +142,12 @@ auto Modrinth::loadIndexedPackVersion(QJsonObject &obj, QString preferred_hash_t
auto files = Json::requireArray(obj, "files");
int i = 0;
+ if (files.empty()) {
+ // This should not happen normally, but check just in case
+ qWarning() << "Modrinth returned an unexpected empty list of files:" << obj;
+ return {};
+ }
+
// Find correct file (needed in cases where one version may have multiple files)
// Will default to the last one if there's no primary (though I think Modrinth requires that
// at least one file is primary, idk)
@@ -167,7 +174,7 @@ auto Modrinth::loadIndexedPackVersion(QJsonObject &obj, QString preferred_hash_t
file.fileName = Json::requireString(parent, "filename");
file.is_preferred = Json::requireBoolean(parent, "primary") || (files.count() == 1);
auto hash_list = Json::requireObject(parent, "hashes");
-
+
if (hash_list.contains(preferred_hash_type)) {
file.hash = Json::requireString(hash_list, preferred_hash_type);
file.hash_type = preferred_hash_type;
--
cgit