aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/dialogs
diff options
context:
space:
mode:
authorTheKodeToad <TheKodeToad@proton.me>2023-06-03 13:39:42 +0100
committerTheKodeToad <TheKodeToad@proton.me>2023-06-03 13:39:42 +0100
commite26827b84922d7d84c3ee83dfed58759b1c0ca15 (patch)
tree0ef6e3cb4505e3f15519937596896102463cbc23 /launcher/ui/dialogs
parent86974b046ee0b232b07e3a28cbc1e954d88dd40f (diff)
downloadPrismLauncher-e26827b84922d7d84c3ee83dfed58759b1c0ca15.tar.gz
PrismLauncher-e26827b84922d7d84c3ee83dfed58759b1c0ca15.tar.bz2
PrismLauncher-e26827b84922d7d84c3ee83dfed58759b1c0ca15.zip
Optimised icons
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/ui/dialogs')
-rw-r--r--launcher/ui/dialogs/ExportInstanceDialog.cpp5
-rw-r--r--launcher/ui/dialogs/ExportInstanceDialog.h42
-rw-r--r--launcher/ui/dialogs/ExportMrPackDialog.cpp3
-rw-r--r--launcher/ui/dialogs/ExportMrPackDialog.h2
4 files changed, 40 insertions, 12 deletions
diff --git a/launcher/ui/dialogs/ExportInstanceDialog.cpp b/launcher/ui/dialogs/ExportInstanceDialog.cpp
index 603a723c..8ecd91a9 100644
--- a/launcher/ui/dialogs/ExportInstanceDialog.cpp
+++ b/launcher/ui/dialogs/ExportInstanceDialog.cpp
@@ -1,7 +1,8 @@
// SPDX-License-Identifier: GPL-3.0-only
/*
- * PolyMC - Minecraft Launcher
+ * Prism Launcher - Minecraft Launcher
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
+ * Copyright (C) 2023 TheKodeToad <TheKodeToad@proton.me>
*
* 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
@@ -46,7 +47,6 @@
#include <QSaveFile>
#include <QStack>
#include <QFileInfo>
-#include "StringUtils.h"
#include "SeparatorPrefixTree.h"
#include "Application.h"
#include <icons/IconList.h>
@@ -57,6 +57,7 @@ ExportInstanceDialog::ExportInstanceDialog(InstancePtr instance, QWidget *parent
{
ui->setupUi(this);
auto model = new QFileSystemModel(this);
+ model->setIconProvider(&icons);
auto root = instance->instanceRoot();
proxyModel = new FileIgnoreProxy(root, this);
loadPackIgnore();
diff --git a/launcher/ui/dialogs/ExportInstanceDialog.h b/launcher/ui/dialogs/ExportInstanceDialog.h
index d96f4537..5e801875 100644
--- a/launcher/ui/dialogs/ExportInstanceDialog.h
+++ b/launcher/ui/dialogs/ExportInstanceDialog.h
@@ -1,16 +1,36 @@
-/* Copyright 2013-2021 MultiMC Contributors
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ * Prism Launcher - Minecraft Launcher
+ * Copyright (C) 2023 TheKodeToad <TheKodeToad@proton.me>
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * 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.
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * 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.
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * This file incorporates work covered by the following copyright and
+ * permission notice:
+ *
+ * Copyright 2013-2021 MultiMC Contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
#pragma once
@@ -19,6 +39,7 @@
#include <QModelIndex>
#include <memory>
#include "FileIgnoreProxy.h"
+#include "FastFileIconProvider.h"
class BaseInstance;
typedef std::shared_ptr<BaseInstance> InstancePtr;
@@ -48,6 +69,7 @@ private:
Ui::ExportInstanceDialog *ui;
InstancePtr m_instance;
FileIgnoreProxy * proxyModel;
+ FastFileIconProvider icons;
private slots:
void rowsInserted(QModelIndex parent, int top, int bottom);
diff --git a/launcher/ui/dialogs/ExportMrPackDialog.cpp b/launcher/ui/dialogs/ExportMrPackDialog.cpp
index 1551cc60..06e4693e 100644
--- a/launcher/ui/dialogs/ExportMrPackDialog.cpp
+++ b/launcher/ui/dialogs/ExportMrPackDialog.cpp
@@ -26,6 +26,7 @@
#include <QFileSystemModel>
#include <QJsonDocument>
#include <QMessageBox>
+#include "FastFileIconProvider.h"
#include "FileSystem.h"
#include "MMCZip.h"
#include "modplatform/modrinth/ModrinthPackExportTask.h"
@@ -38,6 +39,8 @@ ExportMrPackDialog::ExportMrPackDialog(InstancePtr instance, QWidget* parent)
ui->summary->setText(instance->notes().split(QRegularExpression("\\r?\\n"))[0]);
QFileSystemModel* model = new QFileSystemModel(this);
+ model->setIconProvider(&icons);
+
// use the game root - everything outside cannot be exported
const QDir root(instance->gameRoot());
proxy = new FileIgnoreProxy(instance->gameRoot(), this);
diff --git a/launcher/ui/dialogs/ExportMrPackDialog.h b/launcher/ui/dialogs/ExportMrPackDialog.h
index 63e3f016..98f1d5fc 100644
--- a/launcher/ui/dialogs/ExportMrPackDialog.h
+++ b/launcher/ui/dialogs/ExportMrPackDialog.h
@@ -20,6 +20,7 @@
#include <QDialog>
#include "BaseInstance.h"
+#include "FastFileIconProvider.h"
#include "FileIgnoreProxy.h"
namespace Ui {
@@ -39,4 +40,5 @@ class ExportMrPackDialog : public QDialog {
const InstancePtr instance;
Ui::ExportMrPackDialog* ui;
FileIgnoreProxy* proxy;
+ FastFileIconProvider icons;
};