aboutsummaryrefslogtreecommitdiff
path: root/launcher/FastFileIconProvider.cpp
diff options
context:
space:
mode:
authorRachel Powers <508861+Ryex@users.noreply.github.com>2023-07-02 19:32:25 -0700
committerGitHub <noreply@github.com>2023-07-02 19:32:25 -0700
commitca061080c13042642fb3bd49a29a863756f45866 (patch)
treea468b90c31ecb0cb5f2ca7885c2ecc7d4ab09570 /launcher/FastFileIconProvider.cpp
parent2680dba0aa74abefea58903dadad6578381101cb (diff)
parent3ad559ab22b6b20264eebb826efc4227374a64cc (diff)
downloadPrismLauncher-ca061080c13042642fb3bd49a29a863756f45866.tar.gz
PrismLauncher-ca061080c13042642fb3bd49a29a863756f45866.tar.bz2
PrismLauncher-ca061080c13042642fb3bd49a29a863756f45866.zip
Merge pull request #2 from Trial97/feat/acknowledge_release_type
Feat/acknowledge release type
Diffstat (limited to 'launcher/FastFileIconProvider.cpp')
-rw-r--r--launcher/FastFileIconProvider.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/launcher/FastFileIconProvider.cpp b/launcher/FastFileIconProvider.cpp
new file mode 100644
index 00000000..f2b6f442
--- /dev/null
+++ b/launcher/FastFileIconProvider.cpp
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ * Prism Launcher - Minecraft Launcher
+ * 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
+ * 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 <https://www.gnu.org/licenses/>.
+ */
+
+#include "FastFileIconProvider.h"
+
+#include <QApplication>
+#include <QStyle>
+
+QIcon FastFileIconProvider::icon(const QFileInfo& info) const
+{
+#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
+ bool link = info.isSymbolicLink() || info.isAlias() || info.isShortcut();
+#else
+ // in versions prior to 6.4 we don't have access to isAlias
+ bool link = info.isSymLink();
+#endif
+ QStyle::StandardPixmap icon;
+
+ if (info.isDir()) {
+ if (link)
+ icon = QStyle::SP_DirLinkIcon;
+ else
+ icon = QStyle::SP_DirIcon;
+ } else {
+ if (link)
+ icon = QStyle::SP_FileLinkIcon;
+ else
+ icon = QStyle::SP_FileIcon;
+ }
+
+ return QApplication::style()->standardIcon(icon);
+} \ No newline at end of file