[graphics/krita/krita/6.0] /: macos: remove quicklook generator

Dmitry Kazakov <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit e1146ec57d0330022622d2c97bba8908553fcd7c by Dmitry Kazakov, on behalf of Ivan Yossi.
Committed on 27/07/2026 at 11:04.
Pushed by dkazakov into branch 'krita/6.0'.

macos: remove quicklook generator

Since 10.15 the system will favor the use of QLThumbnailProvider
which we provide in krita-thumbnailer, making qlgenerator redundant
and unnecessary.

note: the old generator "qlgenerator" has support up to macOS 14

M  +0    -4    krita/integration/CMakeLists.txt
M  +4    -155  krita/integration/integration.xcodeproj/project.pbxproj
D  +0    -85   krita/integration/quicklook/GeneratePreviewForURL.m
D  +0    -111  krita/integration/quicklook/GenerateThumbnailForURL.m
D  +0    -161  krita/integration/quicklook/Info.plist
D  +0    -231  krita/integration/quicklook/main.c
M  +2    -8    packaging/macos/macos-deploy.py
M  +1    -12   packaging/macos/macos_signdmg.py

https://invent.kde.org/graphics/krita/-/commit/e1146ec57d0330022622d2c97bba8908553fcd7c

diff --git a/krita/integration/CMakeLists.txt b/krita/integration/CMakeLists.txt
index 4a085208202..09d54575d15 100644
--- a/krita/integration/CMakeLists.txt
+++ b/krita/integration/CMakeLists.txt
@@ -7,16 +7,12 @@ endif()
 
 add_custom_target( kritaintegration ALL xcodebuild archive
     -project "${CMAKE_CURRENT_SOURCE_DIR}/integration.xcodeproj" ${XCODEBUILD_ARCHS}
-    -target kritaquicklook
     -target kritaspotlight
     -target krita-thumbnailer
     -target krita-preview
     -configuration Release COMMENT build all macOS plugins
 )
 
-# TODO kritaquicklook should be removed once 10.x series is unsupported by krita
-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Build/UninstalledProducts/macosx/kritaquicklook.qlgenerator DESTINATION ${KDE_INSTALL_PLUGINDIR})
-
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Build/UninstalledProducts/macosx/kritaspotlight.mdimporter DESTINATION ${KDE_INSTALL_PLUGINDIR})
 
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Build/UninstalledProducts/macosx/krita-thumbnailer.appex DESTINATION ${KDE_INSTALL_PLUGINDIR})
diff --git a/krita/integration/integration.xcodeproj/project.pbxproj b/krita/integration/integration.xcodeproj/project.pbxproj
index 69d2b762b48..9dfb18a3771 100644
--- a/krita/integration/integration.xcodeproj/project.pbxproj
+++ b/krita/integration/integration.xcodeproj/project.pbxproj
@@ -17,6 +17,7 @@
 		110986472ED0DE4400C1ECC8 /* PreviewProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1109863E2ED0DE4400C1ECC8 /* PreviewProvider.swift */; };
 		110986482ED0DE4400C1ECC8 /* PreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1109863F2ED0DE4400C1ECC8 /* PreviewViewController.swift */; };
 		1109864A2ED0DE4400C1ECC8 /* PreviewViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 110986412ED0DE4400C1ECC8 /* PreviewViewController.xib */; };
+		1136A44C2FE1B8F700AF40E8 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 1136A44B2FE1B8F700AF40E8 /* main.c */; };
 		114946422EA3FACB00515C4C /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 114946412EA3FACB00515C4C /* AppKit.framework */; };
 		1149465C2EA6B34D00515C4C /* ThumbnailProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B7B62D25619404003662DB /* ThumbnailProvider.swift */; };
 		1149465E2EA6B34D00515C4C /* QuickLookThumbnailing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84B7B62825619404003662DB /* QuickLookThumbnailing.framework */; };
@@ -42,12 +43,7 @@
 		84D505DF256086C1005AFC55 /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 84D5059C256056BF005AFC55 /* ioapi.c */; };
 		84D505E0256086C1005AFC55 /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 84D505972560520B005AFC55 /* unzip.c */; };
 		84D505E2256086CA005AFC55 /* libunziptask.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D505D725608693005AFC55 /* libunziptask.a */; };
-		84D505E5256086D0005AFC55 /* libunziptask.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D505D725608693005AFC55 /* libunziptask.a */; };
-		84D6510E2560370B00CC2E75 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 84D6510D2560370B00CC2E75 /* main.c */; };
-		84D6511B2560371600CC2E75 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 84D6511A2560371600CC2E75 /* main.c */; };
 		84D6511D2560371600CC2E75 /* GetMetadataForFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 84D6511C2560371600CC2E75 /* GetMetadataForFile.m */; };
-		84D6513025603A1E00CC2E75 /* GenerateThumbnailForURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 84D6512E25603A1E00CC2E75 /* GenerateThumbnailForURL.m */; };
-		84D6513125603A1E00CC2E75 /* GeneratePreviewForURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 84D6512F25603A1E00CC2E75 /* GeneratePreviewForURL.m */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -100,13 +96,6 @@
 			remoteGlobalIDString = 84D505D625608693005AFC55;
 			remoteInfo = unziptask;
 		};
-		84D505E6256086D0005AFC55 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 84D650F0256036F000CC2E75 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 84D505D625608693005AFC55;
-			remoteInfo = unziptask;
-		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -132,16 +121,6 @@
 			name = "Embed Libraries";
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		84D505B925607381005AFC55 /* Embed Libraries */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = "";
-			dstSubfolderSpec = 10;
-			files = (
-			);
-			name = "Embed Libraries";
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
@@ -153,6 +132,7 @@
 		1109863E2ED0DE4400C1ECC8 /* PreviewProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewProvider.swift; sourceTree = "<group>"; };
 		1109863F2ED0DE4400C1ECC8 /* PreviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewViewController.swift; sourceTree = "<group>"; };
 		110986402ED0DE4400C1ECC8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PreviewViewController.xib; sourceTree = "<group>"; };
+		1136A44B2FE1B8F700AF40E8 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
 		114946412EA3FACB00515C4C /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
 		114946472EA5593D00515C4C /* previewHelper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = previewHelper.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		114946662EA6B34D00515C4C /* krita-thumbnailer_helper.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "krita-thumbnailer_helper.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -175,15 +155,9 @@
 		84D5059C256056BF005AFC55 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
 		84D5059D256056BF005AFC55 /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = "<group>"; };
 		84D505D725608693005AFC55 /* libunziptask.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libunziptask.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		84D651072560370B00CC2E75 /* kritaquicklook.qlgenerator */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kritaquicklook.qlgenerator; sourceTree = BUILT_PRODUCTS_DIR; };
-		84D6510D2560370B00CC2E75 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
-		84D6510F2560370B00CC2E75 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		84D651172560371600CC2E75 /* kritaspotlight.mdimporter */ = {isa = PBXFileReference; explicitFileType = "wrapper.spotlight-importer"; includeInIndex = 0; path = kritaspotlight.mdimporter; sourceTree = BUILT_PRODUCTS_DIR; };
-		84D6511A2560371600CC2E75 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = main.c; path = ../main.c; sourceTree = "<group>"; };
 		84D6511C2560371600CC2E75 /* GetMetadataForFile.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GetMetadataForFile.m; sourceTree = "<group>"; };
 		84D651222560371600CC2E75 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		84D6512E25603A1E00CC2E75 /* GenerateThumbnailForURL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GenerateThumbnailForURL.m; sourceTree = "<group>"; };
-		84D6512F25603A1E00CC2E75 /* GeneratePreviewForURL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratePreviewForURL.m; sourceTree = "<group>"; };
 		84D65139256043A000CC2E75 /* UnzipTask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UnzipTask.m; sourceTree = "<group>"; };
 		84D6513A256043A000CC2E75 /* UnzipTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnzipTask.h; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -245,14 +219,6 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		84D651032560370B00CC2E75 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				84D505E5256086D0005AFC55 /* libunziptask.a in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		84D651142560371600CC2E75 /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
@@ -350,7 +316,6 @@
 				114946682EA6B42B00515C4C /* krita-thumbnailer_helper */,
 				84D505AC2560726A005AFC55 /* unzipTask */,
 				84D6512A2560379A00CC2E75 /* 3rdparty */,
-				84D651082560370B00CC2E75 /* quicklook */,
 				84D651182560371600CC2E75 /* spotlight */,
 				84B7B62C25619404003662DB /* krita-thumbnailer */,
 				110986382ED0DE3F00C1ECC8 /* previewHelper */,
@@ -363,7 +328,6 @@
 		84D650F9256036F000CC2E75 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				84D651072560370B00CC2E75 /* kritaquicklook.qlgenerator */,
 				84D651172560371600CC2E75 /* kritaspotlight.mdimporter */,
 				84D505D725608693005AFC55 /* libunziptask.a */,
 				84B7B62725619404003662DB /* krita-thumbnailer.appex */,
@@ -375,35 +339,16 @@
 			name = Products;
 			sourceTree = "<group>";
 		};
-		84D651082560370B00CC2E75 /* quicklook */ = {
-			isa = PBXGroup;
-			children = (
-				84D6512F25603A1E00CC2E75 /* GeneratePreviewForURL.m */,
-				84D6512E25603A1E00CC2E75 /* GenerateThumbnailForURL.m */,
-				84D6510F2560370B00CC2E75 /* Info.plist */,
-				84D6513F256043CC00CC2E75 /* Supporting Files */,
-			);
-			path = quicklook;
-			sourceTree = "<group>";
-		};
 		84D651182560371600CC2E75 /* spotlight */ = {
 			isa = PBXGroup;
 			children = (
+				1136A44B2FE1B8F700AF40E8 /* main.c */,
 				84D6511C2560371600CC2E75 /* GetMetadataForFile.m */,
 				84D651222560371600CC2E75 /* Info.plist */,
-				84D651192560371600CC2E75 /* Supporting Files */,
 			);
 			path = spotlight;
 			sourceTree = "<group>";
 		};
-		84D651192560371600CC2E75 /* Supporting Files */ = {
-			isa = PBXGroup;
-			children = (
-				84D6511A2560371600CC2E75 /* main.c */,
-			);
-			path = "Supporting Files";
-			sourceTree = "<group>";
-		};
 		84D6512A2560379A00CC2E75 /* 3rdparty */ = {
 			isa = PBXGroup;
 			children = (
@@ -415,14 +360,6 @@
 			path = 3rdparty;
 			sourceTree = "<group>";
 		};
-		84D6513F256043CC00CC2E75 /* Supporting Files */ = {
-			isa = PBXGroup;
-			children = (
-				84D6510D2560370B00CC2E75 /* main.c */,
-			);
-			name = "Supporting Files";
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXHeadersBuildPhase section */
@@ -436,13 +373,6 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		84D651042560370B00CC2E75 /* Headers */ = {
-			isa = PBXHeadersBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		84D6512B256037CE00CC2E75 /* Headers */ = {
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
@@ -568,26 +498,6 @@
 			productReference = 84D505D725608693005AFC55 /* libunziptask.a */;
 			productType = "com.apple.product-type.library.static";
 		};
-		84D651062560370B00CC2E75 /* kritaquicklook */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 84D651102560370B00CC2E75 /* Build configuration list for PBXNativeTarget "kritaquicklook" */;
-			buildPhases = (
-				84D651042560370B00CC2E75 /* Headers */,
-				84D651022560370B00CC2E75 /* Sources */,
-				84D651032560370B00CC2E75 /* Frameworks */,
-				84D651052560370B00CC2E75 /* Resources */,
-				84D505B925607381005AFC55 /* Embed Libraries */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				84D505E7256086D0005AFC55 /* PBXTargetDependency */,
-			);
-			name = kritaquicklook;
-			productName = quicklook;
-			productReference = 84D651072560370B00CC2E75 /* kritaquicklook.qlgenerator */;
-			productType = "com.apple.product-type.bundle";
-		};
 		84D651162560371600CC2E75 /* kritaspotlight */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 84D651232560371600CC2E75 /* Build configuration list for PBXNativeTarget "kritaspotlight" */;
@@ -632,9 +542,6 @@
 					84D505D625608693005AFC55 = {
 						CreatedOnToolsVersion = 11.3.1;
 					};
-					84D651062560370B00CC2E75 = {
-						CreatedOnToolsVersion = 11.3.1;
-					};
 					84D651162560371600CC2E75 = {
 						CreatedOnToolsVersion = 11.3.1;
 					};
@@ -653,7 +560,6 @@
 			projectDirPath = "";
 			projectRoot = "";
 			targets = (
-				84D651062560370B00CC2E75 /* kritaquicklook */,
 				84D651162560371600CC2E75 /* kritaspotlight */,
 				84D505D625608693005AFC55 /* unziptask */,
 				114946462EA5593D00515C4C /* previewHelper */,
@@ -705,13 +611,6 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		84D651052560370B00CC2E75 /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		84D651152560371600CC2E75 /* Resources */ = {
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -775,22 +674,12 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		84D651022560370B00CC2E75 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				84D6513025603A1E00CC2E75 /* GenerateThumbnailForURL.m in Sources */,
-				84D6513125603A1E00CC2E75 /* GeneratePreviewForURL.m in Sources */,
-				84D6510E2560370B00CC2E75 /* main.c in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		84D651132560371600CC2E75 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 				84D6511D2560371600CC2E75 /* GetMetadataForFile.m in Sources */,
-				84D6511B2560371600CC2E75 /* main.c in Sources */,
+				1136A44C2FE1B8F700AF40E8 /* main.c in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -832,11 +721,6 @@
 			target = 84D505D625608693005AFC55 /* unziptask */;
 			targetProxy = 84D505E3256086CA005AFC55 /* PBXContainerItemProxy */;
 		};
-		84D505E7256086D0005AFC55 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 84D505D625608693005AFC55 /* unziptask */;
-			targetProxy = 84D505E6256086D0005AFC55 /* PBXContainerItemProxy */;
-		};
 /* End PBXTargetDependency section */
 
 /* Begin PBXVariantGroup section */
@@ -1394,32 +1278,6 @@
 			};
 			name = Release;
 		};
-		84D651112560370B00CC2E75 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CODE_SIGN_STYLE = Automatic;
-				COMBINE_HIDPI_IMAGES = YES;
-				INFOPLIST_FILE = quicklook/Info.plist;
-				MARKETING_VERSION = 4.4.0;
-				PRODUCT_BUNDLE_IDENTIFIER = org.krita.quicklook;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				WRAPPER_EXTENSION = qlgenerator;
-			};
-			name = Debug;
-		};
-		84D651122560370B00CC2E75 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CODE_SIGN_STYLE = Automatic;
-				COMBINE_HIDPI_IMAGES = YES;
-				INFOPLIST_FILE = quicklook/Info.plist;
-				MARKETING_VERSION = 4.4.0;
-				PRODUCT_BUNDLE_IDENTIFIER = org.krita.quicklook;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				WRAPPER_EXTENSION = qlgenerator;
-			};
-			name = Release;
-		};
 		84D651242560371600CC2E75 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -1518,15 +1376,6 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		84D651102560370B00CC2E75 /* Build configuration list for PBXNativeTarget "kritaquicklook" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				84D651112560370B00CC2E75 /* Debug */,
-				84D651122560370B00CC2E75 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
 		84D651232560371600CC2E75 /* Build configuration list for PBXNativeTarget "kritaspotlight" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
diff --git a/krita/integration/quicklook/GeneratePreviewForURL.m b/krita/integration/quicklook/GeneratePreviewForURL.m
deleted file mode 100644
index e9ba387d052..00000000000
--- a/krita/integration/quicklook/GeneratePreviewForURL.m
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * This file is part of Krita
- *
- * Copyright (c) 2015 Algorithmus <[email protected]>
- * Copyright (c) 2015 beelzy <[email protected]>
- * Copyright (c) 2020 L. E. Segovia <[email protected]>
- *
- *  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; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  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, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
- */
-
-#include "UnzipTask.h"
-#import <Cocoa/Cocoa.h>
-#include <CoreFoundation/CoreFoundation.h>
-#include <CoreServices/CoreServices.h>
-#include <QuickLook/QuickLook.h>
-
-OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview,
-                               CFURLRef url, CFStringRef contentTypeUTI,
-                               CFDictionaryRef options);
-void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview);
-
-/* -----------------------------------------------------------------------------
-   Generate a preview for file
-
-   This function's job is to create preview for designated file
-   -----------------------------------------------------------------------------
- */
-
-OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview,
-                               CFURLRef url, CFStringRef contentTypeUTI,
-                               CFDictionaryRef options) {
-  @autoreleasepool {
-    NSData *appPlist =
-        UnzipTask([(__bridge NSURL *)url path], @"mergedimage.png");
-
-    if (QLPreviewRequestIsCancelled(preview)) {
-      return noErr;
-    }
-
-    if ([appPlist length]) {
-      NSImage *appIcon = [[NSImage alloc] initWithData:appPlist];
-
-      NSImageRep *rep = [[appIcon representations] objectAtIndex:0];
-
-      NSSize canvasSize = NSMakeSize(rep.pixelsWide, rep.pixelsHigh);
-      NSRect renderRect = NSMakeRect(0.0, 0.0, rep.pixelsWide, rep.pixelsHigh);
-
-      CGContextRef _context =
-          QLPreviewRequestCreateContext(preview, canvasSize, true, NULL);
-
-      if (_context) {
-        NSGraphicsContext *_graphicsContext =
-            [NSGraphicsContext graphicsContextWithGraphicsPort:_context
-                                                       flipped:NO];
-
-        [NSGraphicsContext setCurrentContext:_graphicsContext];
-        [appIcon drawInRect:renderRect];
-
-        QLPreviewRequestFlushContext(preview, _context);
-        CFRelease(_context);
-      }
-
-      return noErr;
-    }
-
-    return NSFileNoSuchFileError;
-  }
-}
-
-void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview) {
-  // Implement only if supported
-}
diff --git a/krita/integration/quicklook/GenerateThumbnailForURL.m b/krita/integration/quicklook/GenerateThumbnailForURL.m
deleted file mode 100644
index fc8c044bf37..00000000000
--- a/krita/integration/quicklook/GenerateThumbnailForURL.m
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * This file is part of Krita
- *
- * Copyright (c) 2015 Algorithmus <[email protected]>
- * Copyright (c) 2015 beelzy <[email protected]>
- * Copyright (c) 2020 L. E. Segovia <[email protected]>
- *
- *  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; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  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, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
- */
-
-#include "UnzipTask.h"
-#import <Cocoa/Cocoa.h>
-#include <CoreFoundation/CoreFoundation.h>
-#include <CoreServices/CoreServices.h>
-#include <QuickLook/QuickLook.h>
-
-OSStatus GenerateThumbnailForURL(void *thisInterface,
-                                 QLThumbnailRequestRef thumbnail, CFURLRef url,
-                                 CFStringRef contentTypeUTI,
-                                 CFDictionaryRef options, CGSize maxSize);
-void CancelThumbnailGeneration(void *thisInterface,
-                               QLThumbnailRequestRef thumbnail);
-
-/* -----------------------------------------------------------------------------
-    Generate a thumbnail for file
-
-   This function's job is to create thumbnail for designated file as fast as
-   possible
-   -----------------------------------------------------------------------------
- */
-
-OSStatus GenerateThumbnailForURL(void *thisInterface,
-                                 QLThumbnailRequestRef thumbnail, CFURLRef url,
-                                 CFStringRef contentTypeUTI,
-                                 CFDictionaryRef options, CGSize maxSize) {
-  @autoreleasepool {
-    // Allows you to print the name of the extension on top of the thumbnail
-    // preview. Uncomment and change NULL to properties in
-    // QLThumbnailRequestSetImage down below to use it.
-    /*
-     // Get the UTI properties
-     NSDictionary* uti_declarations = (
-     NSDictionary*)UTTypeCopyDeclaration(contentTypeUTI);
-
-     // Get the extensions corresponding to the image UTI, for some UTI there
-     can be more than 1 extension (ex image.jpeg = jpeg, jpg...)
-     // If it fails for whatever reason fallback to the filename extension
-     id extensions = uti_declarations[(__bridge
-     NSString*)kUTTypeTagSpecificationKey][(__bridge
-     NSString*)kUTTagClassFilenameExtension]; NSString* extension = ([extensions
-     isKindOfClass:[NSArray class]]) ? extensions[0] : extensions; if (nil ==
-     extension) extension = ([(__bridge NSURL*)url pathExtension] != nil) ?
-     [(__bridge NSURL*)url pathExtension] : @""; extension = [extension
-     lowercaseString];
-
-     // Create the properties dic
-     CFTypeRef keys[1] = {kQLThumbnailPropertyExtensionKey};
-     CFTypeRef values[1] = {(__bridge CFStringRef)extension};
-     CFDictionaryRef properties = CFDictionaryCreate(kCFAllocatorDefault, (const
-     void**)keys, (const void**)values, 1, &kCFTypeDictionaryKeyCallBacks,
-     &kCFTypeDictionaryValueCallBacks);
-     */
-
-    NSData *appPlist = UnzipTask([(__bridge NSURL *)url path], @"preview.png");
-
-    // Not made with Krita. Find ORA thumbnail instead.
-    if (appPlist == nil || [appPlist length] == 0) {
-      appPlist =
-          UnzipTask([(__bridge NSURL *)url path], @"Thumbnails/thumbnail.png");
-    }
-
-    if (QLThumbnailRequestIsCancelled(thumbnail)) {
-      return noErr;
-    }
-
-    if ([appPlist length]) {
-      NSImage *appIcon = [[NSImage alloc] initWithData:appPlist];
-
-      NSImageRep *rep = [[appIcon representations] objectAtIndex:0];
-
-      NSRect renderRect = NSMakeRect(0.0, 0.0, rep.pixelsWide, rep.pixelsHigh);
-
-      CGImageRef cgImage =
-          [appIcon CGImageForProposedRect:&renderRect context:NULL hints:nil];
-
-      QLThumbnailRequestSetImage(thumbnail, cgImage, NULL);
-    } else {
-      return NSFileNoSuchFileError;
-    }
-
-    return noErr;
-  }
-}
-
-void CancelThumbnailGeneration(void *thisInterface,
-                               QLThumbnailRequestRef thumbnail) {
-  // Implement only if supported
-}
diff --git a/krita/integration/quicklook/Info.plist b/krita/integration/quicklook/Info.plist
deleted file mode 100644
index 9c1a153c4db..00000000000
--- a/krita/integration/quicklook/Info.plist
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleDocumentTypes</key>
-	<array>
-		<dict>
-			<key>CFBundleTypeRole</key>
-			<string>QLGenerator</string>
-			<key>LSItemContentTypes</key>
-			<array>
-				<string>dyn.ah62d4rv4ge8006xb</string>
-				<string>org.krita.kra</string>
-				<string>org.krita.ora</string>
-			</array>
-		</dict>
-	</array>
-	<key>CFBundleExecutable</key>
-	<string>$(EXECUTABLE_NAME)</string>
-	<key>CFBundleIdentifier</key>
-	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
-	<key>CFBundlePackageType</key>
-	<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>$(PRODUCT_NAME)</string>
-	<key>CFBundleShortVersionString</key>
-	<string>$(MARKETING_VERSION)</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1</string>
-	<key>CFPlugInDynamicRegisterFunction</key>
-	<string></string>
-	<key>CFPlugInDynamicRegistration</key>
-	<string>NO</string>
-	<key>CFPlugInFactories</key>
-	<dict>
-		<key>292DC9CD-1640-49AE-B0C1-308ED88E6677</key>
-		<string>QuickLookGeneratorPluginFactory</string>
-	</dict>
-	<key>CFPlugInTypes</key>
-	<dict>
-		<key>5E2D9680-5022-40FA-B806-43349622E5B9</key>
-		<array>
-			<string>292DC9CD-1640-49AE-B0C1-308ED88E6677</string>
-		</array>
-	</dict>
-	<key>CFPlugInUnloadFunction</key>
-	<string></string>
-	<key>NSHumanReadableCopyright</key>
-	<string>Copyright © 2015-2020 Stichting Krita Foundation. All rights reserved.</string>
-	<key>QLNeedsToBeRunInMainThread</key>
-	<false/>
-	<key>QLPreviewHeight</key>
-	<real>600</real>
-	<key>QLPreviewWidth</key>
-	<real>800</real>
-	<key>QLSupportsConcurrentRequests</key>
-	<false/>
-	<key>QLThumbnailMinimumSize</key>
-	<real>17</real>
-	<key>UTExportedTypeDeclarations</key>
-	<array>
-		<dict>
-			<key>UTTypeConformsTo</key>
-			<array>
-				<string>public.image</string>
-			</array>
-			<key>UTTypeDescription</key>
-			<string>Krita 3.0 Image</string>
-			<key>UTTypeIdentifier</key>
-			<string>dyn.ah62d4rv4ge8006xb</string>
-			<key>UTTypeTagSpecification</key>
-			<dict>
-				<key>public.filename-extension</key>
-				<array>
-					<string>kra</string>
-					<string>KRA</string>
-				</array>
-				<key>public.mime-type</key>
-				<array>
-					<string>application/x-krita</string>
-				</array>
-			</dict>
-		</dict>
-		<dict>
-			<key>UTTypeConformsTo</key>
-			<array>
-				<string>public.image</string>
-			</array>
-			<key>UTTypeDescription</key>
-			<string>Open Raster Image</string>
-			<key>UTTypeIdentifier</key>
-			<string>dyn.ah62d4rv4ge8006xb</string>
-			<key>UTTypeTagSpecification</key>
-			<dict>
-				<key>public.filename-extension</key>
-				<array>
-					<string>ora</string>
-					<string>ORA</string>
-				</array>
-				<key>public.mime-type</key>
-				<array>
-					<string>image/openraster</string>
-				</array>
-			</dict>
-		</dict>
-	</array>
-	<key>UTImportedTypeDeclarations</key>
-	<array>
-		<dict>
-			<key>UTTypeConformsTo</key>
-			<array>
-				<string>public.image</string>
-			</array>
-			<key>UTTypeDescription</key>
-			<string>Krita 3.0 Image</string>
-			<key>UTTypeIdentifier</key>
-			<string>org.krita.kra</string>
-			<key>UTTypeTagSpecification</key>
-			<dict>
-				<key>public.filename-extension</key>
-				<array>
-					<string>kra</string>
-					<string>KRA</string>
-				</array>
-				<key>public.mime-type</key>
-				<array>
-					<string>application/x-krita</string>
-				</array>
-			</dict>
-		</dict>
-		<dict>
-			<key>UTTypeConformsTo</key>
-			<array>
-				<string>public.image</string>
-			</array>
-			<key>UTTypeDescription</key>
-			<string>Open Raster Image</string>
-			<key>UTTypeIdentifier</key>
-			<string>org.krita.ora</string>
-			<key>UTTypeTagSpecification</key>
-			<dict>
-				<key>public.filename-extension</key>
-				<array>
-					<string>ora</string>
-					<string>ORA</string>
-				</array>
-				<key>public.mime-type</key>
-				<array>
-					<string>image/openraster</string>
-				</array>
-			</dict>
-		</dict>
-	</array>
-</dict>
-</plist>
diff --git a/krita/integration/quicklook/main.c b/krita/integration/quicklook/main.c
deleted file mode 100644
index 448f116978d..00000000000
--- a/krita/integration/quicklook/main.c
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * This file is part of Krita
- *
- * SPDX-FileCopyrightText: 2015 Algorithmus <[email protected]>
- * SPDX-FileCopyrightText: 2015 beelzy <[email protected]>
- * SPDX-FileCopyrightText: 2020 L. E. Segovia <[email protected]>
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
- *
- */
-
-/* clang-format off */
-
-//==============================================================================
-//
-//	DO NO MODIFY THE CONTENT OF THIS FILE
-//
-//	This file contains the generic CFPlug-in code necessary for your generator
-//	To complete your generator implement the function in GenerateThumbnailForURL/GeneratePreviewForURL.c
-//
-//==============================================================================
-
-
-
-
-
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <CoreFoundation/CFPlugInCOM.h>
-#include <CoreServices/CoreServices.h>
-#include <QuickLook/QuickLook.h>
-
-// -----------------------------------------------------------------------------
-//	constants
-// -----------------------------------------------------------------------------
-
-// Don't modify this line
-#define PLUGIN_ID "292DC9CD-1640-49AE-B0C1-308ED88E6677"
-
-//
-// Below is the generic glue code for all plug-ins.
-//
-// You should not have to modify this code aside from changing
-// names if you decide to change the names defined in the Info.plist
-//
-
-
-// -----------------------------------------------------------------------------
-//	typedefs
-// -----------------------------------------------------------------------------
-
-// The thumbnail generation function to be implemented in GenerateThumbnailForURL.c
-OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize);
-void CancelThumbnailGeneration(void* thisInterface, QLThumbnailRequestRef thumbnail);
-
-// The preview generation function to be implemented in GeneratePreviewForURL.c
-OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options);
-void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview);
-
-// The layout for an instance of QuickLookGeneratorPlugIn
-typedef struct __QuickLookGeneratorPluginType
-{
-    void        *conduitInterface;
-    CFUUIDRef    factoryID;
-    UInt32       refCount;
-} QuickLookGeneratorPluginType;
-
-// -----------------------------------------------------------------------------
-//	prototypes
-// -----------------------------------------------------------------------------
-//	Forward declaration for the IUnknown implementation.
-//
-
-QuickLookGeneratorPluginType  *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID);
-void                         DeallocQuickLookGeneratorPluginType(QuickLookGeneratorPluginType *thisInstance);
-HRESULT                      QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv);
-void                        *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID);
-ULONG                        QuickLookGeneratorPluginAddRef(void *thisInstance);
-ULONG                        QuickLookGeneratorPluginRelease(void *thisInstance);
-
-// -----------------------------------------------------------------------------
-//	myInterfaceFtbl	definition
-// -----------------------------------------------------------------------------
-//	The QLGeneratorInterfaceStruct function table.
-//
-static QLGeneratorInterfaceStruct myInterfaceFtbl = {
-    NULL,
-    QuickLookGeneratorQueryInterface,
-    QuickLookGeneratorPluginAddRef,
-    QuickLookGeneratorPluginRelease,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-
-// -----------------------------------------------------------------------------
-//	AllocQuickLookGeneratorPluginType
-// -----------------------------------------------------------------------------
-//	Utility function that allocates a new instance.
-//      You can do some initial setup for the generator here if you wish
-//      like allocating globals etc...
-//
-QuickLookGeneratorPluginType *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID)
-{
-    QuickLookGeneratorPluginType *theNewInstance;
-
-    theNewInstance = (QuickLookGeneratorPluginType *)malloc(sizeof(QuickLookGeneratorPluginType));
-    memset(theNewInstance,0,sizeof(QuickLookGeneratorPluginType));
-
-        /* Point to the function table Malloc enough to store the stuff and copy the filler from myInterfaceFtbl over */
-    theNewInstance->conduitInterface = malloc(sizeof(QLGeneratorInterfaceStruct));
-    memcpy(theNewInstance->conduitInterface,&myInterfaceFtbl,sizeof(QLGeneratorInterfaceStruct));
-
-        /*  Retain and keep an open instance refcount for each factory. */
-    theNewInstance->factoryID = CFRetain(inFactoryID);
-    CFPlugInAddInstanceForFactory(inFactoryID);
-
-        /* This function returns the IUnknown interface so set the refCount to one. */
-    theNewInstance->refCount = 1;
-    return theNewInstance;
-}
-
-// -----------------------------------------------------------------------------
-//	DeallocQuickLookGeneratorPluginType
-// -----------------------------------------------------------------------------
-//	Utility function that deallocates the instance when
-//	the refCount goes to zero.
-//      In the current implementation generator interfaces are never deallocated
-//      but implement this as this might change in the future
-//
-void DeallocQuickLookGeneratorPluginType(QuickLookGeneratorPluginType *thisInstance)
-{
-    CFUUIDRef theFactoryID;
-
-    theFactoryID = thisInstance->factoryID;
-        /* Free the conduitInterface table up */
-    free(thisInstance->conduitInterface);
-
-        /* Free the instance structure */
-    free(thisInstance);
-    if (theFactoryID){
-        CFPlugInRemoveInstanceForFactory(theFactoryID);
-        CFRelease(theFactoryID);
-    }
-}
-
-// -----------------------------------------------------------------------------
-//	QuickLookGeneratorQueryInterface
-// -----------------------------------------------------------------------------
-//	Implementation of the IUnknown QueryInterface function.
-//
-HRESULT QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv)
-{
-    CFUUIDRef interfaceID;
-
-    interfaceID = CFUUIDCreateFromUUIDBytes(kCFAllocatorDefault,iid);
-
-    if (CFEqual(interfaceID,kQLGeneratorCallbacksInterfaceID)){
-            /* If the Right interface was requested, bump the ref count,
-             * set the ppv parameter equal to the instance, and
-             * return good status.
-             */
-        ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->GenerateThumbnailForURL = GenerateThumbnailForURL;
-        ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->CancelThumbnailGeneration = CancelThumbnailGeneration;
-        ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->GeneratePreviewForURL = GeneratePreviewForURL;
-        ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->CancelPreviewGeneration = CancelPreviewGeneration;
-        ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType*)thisInstance)->conduitInterface)->AddRef(thisInstance);
-        *ppv = thisInstance;
-        CFRelease(interfaceID);
-        return S_OK;
-    }else{
-        /* Requested interface unknown, bail with error. */
-        *ppv = NULL;
-        CFRelease(interfaceID);
-        return E_NOINTERFACE;
-    }
-}
-
-// -----------------------------------------------------------------------------
-// QuickLookGeneratorPluginAddRef
-// -----------------------------------------------------------------------------
-//	Implementation of reference counting for this type. Whenever an interface
-//	is requested, bump the refCount for the instance. NOTE: returning the
-//	refcount is a convention but is not required so don't rely on it.
-//
-ULONG QuickLookGeneratorPluginAddRef(void *thisInstance)
-{
-    ((QuickLookGeneratorPluginType *)thisInstance )->refCount += 1;
-    return ((QuickLookGeneratorPluginType*) thisInstance)->refCount;
-}
-
-// -----------------------------------------------------------------------------
-// QuickLookGeneratorPluginRelease
-// -----------------------------------------------------------------------------
-//	When an interface is released, decrement the refCount.
-//	If the refCount goes to zero, deallocate the instance.
-//
-ULONG QuickLookGeneratorPluginRelease(void *thisInstance)
-{
-    ((QuickLookGeneratorPluginType*)thisInstance)->refCount -= 1;
-    if (((QuickLookGeneratorPluginType*)thisInstance)->refCount == 0){
-        DeallocQuickLookGeneratorPluginType((QuickLookGeneratorPluginType*)thisInstance );
-        return 0;
-    }else{
-        return ((QuickLookGeneratorPluginType*) thisInstance )->refCount;
-    }
-}
-
-// -----------------------------------------------------------------------------
-//  QuickLookGeneratorPluginFactory
-// -----------------------------------------------------------------------------
-void *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID)
-{
-    QuickLookGeneratorPluginType *result;
-    CFUUIDRef                 uuid;
-
-        /* If correct type is being requested, allocate an
-         * instance of kQLGeneratorTypeID and return the IUnknown interface.
-         */
-    if (CFEqual(typeID,kQLGeneratorTypeID)){
-        uuid = CFUUIDCreateFromString(kCFAllocatorDefault,CFSTR(PLUGIN_ID));
-        result = AllocQuickLookGeneratorPluginType(uuid);
-        CFRelease(uuid);
-        return result;
-    }
-        /* If the requested type is incorrect, return NULL. */
-    return NULL;
-}
-
diff --git a/packaging/macos/macos-deploy.py b/packaging/macos/macos-deploy.py
index 51a9fff7c1d..d3815e80d7e 100644
--- a/packaging/macos/macos-deploy.py
+++ b/packaging/macos/macos-deploy.py
@@ -429,19 +429,13 @@ def kritaDeploy(from_install: pathlib.Path, dst: pathlib.Path, source: pathlib.P
         shutil.copy2(file,krita_app['frameworks'], follow_symlinks=False)
 
     print("Copying plugins...")
-    extra_args = '--delete --delete-excluded --exclude kritaquicklook.qlgenerator --exclude kritaspotlight.mdimporter'
+    extra_args = '--delete --delete-excluded --exclude kritaspotlight.mdimporter'
     copyDirSub(krita_install_dir.joinpath('plugins'), krita_app['plugins'], extra_args=extra_args.split())
 
     plugins = []
-    krita_app_qlook = krita_app['contents'].joinpath('Library','QuickLook')
     krita_app_spotlight = krita_app['contents'].joinpath('Library', 'Spotlight')
-
-    krita_app_qlook.mkdir(parents=True)
     krita_app_spotlight.mkdir(parents=True)
 
-    plugins.append('QuickLook')
-    copyDirSub(krita_install_dir.joinpath('plugins','kritaquicklook.qlgenerator'),krita_app_qlook,
-               only_contents=False)
     plugins.append('Spotlight')
     copyDirSub(krita_install_dir.joinpath('plugins', 'kritaspotlight.mdimporter'), krita_app_spotlight,
                only_contents=False)
@@ -554,7 +548,7 @@ def kritaDeploy(from_install: pathlib.Path, dst: pathlib.Path, source: pathlib.P
 
 
     # TODO: remove after move to Qt6, those plugins are not compatible with macOS>=12
-    # fixes kritaspotlight and kritaquicklook binaries
+    # fixes kritaspotlight binaries
     filesToFix = [f for f in krita_app['contents'].joinpath('Library').rglob('*/Contents/MacOS/*') if
                   (f.is_file() and stat.S_IMODE(f.stat().st_mode) & 0o111)]
     for f in filesToFix:
diff --git a/packaging/macos/macos_signdmg.py b/packaging/macos/macos_signdmg.py
index a9d8b4223be..370a13cdcd2 100644
--- a/packaging/macos/macos_signdmg.py
+++ b/packaging/macos/macos_signdmg.py
@@ -223,37 +223,28 @@ def fix_bundle(bundle_root: pathlib.Path, bundle_version: str="", for_store: boo
 def fix_krita_plists(krita_app: pathlib.Path, bundle_id: str, version: str, build_version: str):
 
     macosx_deployment_target = '10.15' if version.startswith('5') else '12'
-    appex_plugins_deployment_target = '10.15'
 
     kritaspotlight = pathlib.Path(krita_app, 'Contents', 'Library','Spotlight', 'kritaspotlight.mdimporter', 'Contents')
-    kritaquicklook = pathlib.Path(krita_app, 'Contents', 'Library', 'Quicklook', 'kritaquicklook.qlgenerator', 'Contents')
     krita_thumbnailer = pathlib.Path(krita_app, 'Contents', 'Plugins', 'krita-thumbnailer.appex', 'Contents')
     krita_preview = pathlib.Path(krita_app, 'Contents', 'Plugins', 'krita-preview.appex', 'Contents')
 
     plists = dict()
     plists['krita'] = PlistBuddyModifier(pathlib.Path(krita_app, 'Contents', 'Info.plist'))
     plists['spotlight'] = PlistBuddyModifier(pathlib.Path(kritaspotlight, 'Info.plist'))
-    plists['quicklook'] = PlistBuddyModifier(pathlib.Path(kritaquicklook, 'Info.plist'))
     plists['thumbnailer'] = PlistBuddyModifier(pathlib.Path(krita_thumbnailer, 'Info.plist'))
     plists['preview'] = PlistBuddyModifier(pathlib.Path(krita_preview, 'Info.plist'))
 
     # modify plist contents
     plists['krita'].set('CFBundleIdentifier', bundle_id)
     plists['krita'].set('CFBundleLongVersionString', version)
-    plists['krita'].set('LSMinimumSystemVersion', macosx_deployment_target)
 
     plists['spotlight'].set('CFBundleIdentifier', bundle_id + '.spotlight')
-    plists['quicklook'].set('CFBundleIdentifier', bundle_id + '.kritaquicklook')
     plists['thumbnailer'].set('CFBundleIdentifier', bundle_id + '.krita-thumbnailer')
     plists['preview'].set('CFBundleIdentifier', bundle_id + '.krita-preview')
 
-    plists['spotlight'].set('LSMinimumSystemVersion', macosx_deployment_target)
-    plists['quicklook'].set('LSMinimumSystemVersion', macosx_deployment_target)
-    plists['thumbnailer'].set('LSMinimumSystemVersion', appex_plugins_deployment_target)
-    plists['preview'].set('LSMinimumSystemVersion', appex_plugins_deployment_target)
-
     # common keys
     for plist in plists.values():
+        plist.set('LSMinimumSystemVersion', macosx_deployment_target)
         plist.set('CFBundleVersion', build_version)
         plist.set('CFBundleShortVersionString', version)
 
@@ -298,7 +289,6 @@ def sign_bundle(bundle_root: pathlib.Path, signer: Codesigner, entitlements_path
     resources_root = content_root.joinpath('Resources')
     targets.extend([f for f in resources_root.rglob('*') if f.is_file() and (stat.S_IMODE(f.stat().st_mode) & 0o111 > 0)])
 
-    targets.append(content_root.joinpath('Library', 'QuickLook', 'kritaquicklook.qlgenerator'))
     targets.append(content_root.joinpath('Library', 'Spotlight', 'kritaspotlight.mdimporter'))
 
     signer.add(targets, entitlements.general)
@@ -350,7 +340,6 @@ def verify_bundle(bundle: pathlib.Path) -> bool:
         print(f'missing signature: {element}')
 
     check_pkg = [f for f in bundle.rglob('*.framework')]
-    check_pkg.append(bundle.joinpath('Contents', 'Library', 'Quicklook', 'kritaquicklook.qlgenerator'))
     check_pkg.append(bundle.joinpath('Contents', 'Library', 'Spotlight', 'kritaspotlight.mdimporter'))
     check_pkg.append(bundle.joinpath('Contents', 'PlugIns', 'krita-thumbnailer.appex'))
     check_pkg.append(bundle.joinpath('Contents', 'PlugIns', 'krita-preview.appex'))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.