diff options
Diffstat (limited to 'ios')
121 files changed, 0 insertions, 7303 deletions
diff --git a/ios/.gitignore b/ios/.gitignore deleted file mode 100644 index 8bd528904f33..000000000000 --- a/ios/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -generated diff --git a/ios/CustomTarget_iOS_link.mk b/ios/CustomTarget_iOS_link.mk deleted file mode 100644 index ed4b7b2b0525..000000000000 --- a/ios/CustomTarget_iOS_link.mk +++ /dev/null @@ -1,90 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - - -#- Env ------------------------------------------------------------------------ -IOSGEN = $(BUILDDIR)/workdir/CustomTarget/ios -IOSLIBS := $(shell \ - (export INSTDIR=$(INSTDIR);export OS=$(OS); \ - export WORKDIR=$(WORKDIR);export LIBO_LIB_FOLDER=$(LIBO_LIB_FOLDER); \ - $(SRCDIR)/bin/lo-all-static-libs)) -IOSOBJ = $(IOSGEN)/Kit.o -IOSSRC = $(SRCDIR)/ios/source/LibreOfficeKit.c - -ifeq ($(ENABLE_DEBUG),TRUE) -ifeq ($(CPUNAME),X86_64) -IOSKIT = $(IOSGEN)/Debug_x86_64/libKit.dylib -else -IOSKIT = $(IOSGEN)/Debug_arm64/libKit.dylib -endif -else -ifeq ($(CPUNAME),AARCH64) -IOSKIT = $(IOSGEN)/Release_arm64/libKit.dylib -endif -endif - - - -#- Top level ----------------------------------------------------------------- -$(eval $(call gb_CustomTarget_CustomTarget,ios/iOS_link)) - -$(call gb_CustomTarget_get_target,ios/iOS_link): $(IOSKIT) - - -#- build --------------------------------------------------------------------- -$(IOSOBJ): $(IOSSRC) $(call gb_CustomTarget_get_target,ios/iOS_setup) - $(call gb_Output_announce,iOS compile interface,$(true),C,2) - $(gb_CC) $(gb_COMPILERDEFS) $(gb_OSDEFS) $(gb_CFLAGS) \ - -DDISABLE_DYNLOADING -DLIBO_INTERNAL_ONLY \ - -fvisibility=hidden -Werror -O0 -fstrict-overflow \ - $(if $(ENABLE_DEBUG),-g) \ - -c $(IOSSRC) -o $(IOSOBJ) \ - -I$(SRCDIR)/include -I$(BUILDDIR)/config_host \ - -$(IOSKIT): $(IOSOBJ) $(IOSLIBS) - $(call gb_Output_announce,iOS dylib,$(true),LNK,2) - $(call gb_Trace_StartRange,iOS dylib,LNK) - $(gb_CC) -dynamiclib \ - -Xlinker -rpath -Xlinker @executable_path/Frameworks \ - -Xlinker -rpath -Xlinker @loader_path/Frameworks \ - -install_name @rpath/libKit.dylib \ - -dead_strip \ - -Xlinker -export_dynamic \ - -Xlinker -no_deduplicate \ - -Xlinker -objc_abi_version -Xlinker 2 \ - -fobjc-link-runtime \ - -framework CoreFoundation \ - -framework CoreGraphics \ - -framework CoreText \ - -liconv \ - -lc++ \ - -lz \ - -lpthread \ - -single_module \ - -compatibility_version 1 \ - -current_version 1 \ - `$(SRCDIR)/bin/lo-all-static-libs` \ - $(IOSOBJ) \ - -o $(IOSKIT) -ifeq ($(origin IOS_CODEID),undefined) - @echo "please define environment variable IOS_CODEID as\n" \ - "export IOS_CODEID=<your apple code identifier>" - @exit -1 -else - codesign -s "$(IOS_CODEID)" $(IOSKIT) -endif - $(call gb_Trace_EndRange,iOS dylib,LNK) - - -#- clean ios ----------------------------------------------------------------- -$(call gb_CustomTarget_get_clean_target,ios/iOS_link): - rm -f $(IOSKIT) - - - -# vim: set noet sw=4 ts=4: diff --git a/ios/DISCLAIMER_WARNING b/ios/DISCLAIMER_WARNING deleted file mode 100644 index 36663688db14..000000000000 --- a/ios/DISCLAIMER_WARNING +++ /dev/null @@ -1,11 +0,0 @@ -****** -Everything in ios is currently - WORK IN PROGRESS - -Do not expect it to work, or even compile - -If you want to help with the work, please send -an email to our dev@ list. - -rgds -jan I diff --git a/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj b/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj deleted file mode 100644 index f1de19fdd9ec..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj +++ /dev/null @@ -1,635 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 48; - objects = { - -/* Begin PBXBuildFile section */ - 39284DB31FA5F207006F43E4 /* DocumentActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39284DB21FA5F207006F43E4 /* DocumentActions.swift */; }; - 392ED9B31E5E4B03005C8435 /* ViewPrintManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */; }; - 3941EF15204B4C8A00082486 /* unorc in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF06204B4C8900082486 /* unorc */; }; - 3941EF16204B4C8A00082486 /* fundamentalrc in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF07204B4C8900082486 /* fundamentalrc */; }; - 3941EF17204B4C8A00082486 /* program in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF08204B4C8900082486 /* program */; }; - 3941EF18204B4C8A00082486 /* services.rdb in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF09204B4C8900082486 /* services.rdb */; }; - 3941EF19204B4C8A00082486 /* oovbaapi.rdb in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF0A204B4C8900082486 /* oovbaapi.rdb */; }; - 3941EF1A204B4C8A00082486 /* registry in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF0B204B4C8900082486 /* registry */; }; - 3941EF1B204B4C8A00082486 /* services in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF0C204B4C8900082486 /* services */; }; - 3941EF1C204B4C8A00082486 /* offapi.rdb in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF0D204B4C8900082486 /* offapi.rdb */; }; - 3941EF1D204B4C8A00082486 /* filter in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF0E204B4C8900082486 /* filter */; }; - 3941EF1E204B4C8A00082486 /* rc in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF0F204B4C8900082486 /* rc */; }; - 3941EF1F204B4C8A00082486 /* udkapi.rdb in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF10204B4C8900082486 /* udkapi.rdb */; }; - 3941EF20204B4C8A00082486 /* icudt62l.dat in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF11204B4C8900082486 /* icudt62l.dat */; }; - 3941EF21204B4C8A00082486 /* welcome.odt in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF12204B4C8900082486 /* welcome.odt */; }; - 3941EF22204B4C8A00082486 /* config in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF13204B4C8900082486 /* config */; }; - 3941EF23204B4C8A00082486 /* share in Resources */ = {isa = PBXBuildFile; fileRef = 3941EF14204B4C8900082486 /* share */; }; - 39514E002057DC55005599D0 /* shared in Resources */ = {isa = PBXBuildFile; fileRef = 39514DFF2057DC55005599D0 /* shared */; }; - 39514E082057E4A8005599D0 /* inc in Resources */ = {isa = PBXBuildFile; fileRef = 39514E072057E4A8005599D0 /* inc */; }; - 396F92F71E7AE62400A28C82 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 396F92F61E7AE62400A28C82 /* Settings.bundle */; }; - 397868D61E59A3EA007F9248 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 397868D81E59A3EA007F9248 /* LaunchScreen.xib */; }; - 397E08FE1E597BD8001374E0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 397E08FD1E597BD8001374E0 /* AppDelegate.swift */; }; - 397E09031E597BD8001374E0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 397E09011E597BD8001374E0 /* Main.storyboard */; }; - 397E09081E597BD8001374E0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 397E09071E597BD8001374E0 /* Assets.xcassets */; }; - 3992D85A1E5B762A00BEA987 /* DocumentController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3992D8591E5B762A00BEA987 /* DocumentController.swift */; }; - 399648471E5B87DC00E73E83 /* ViewProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 399648461E5B87DC00E73E83 /* ViewProperties.swift */; }; - 39EF4E2F1FA500C9001914AC /* PropertiesController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39EF4E2E1FA500C9001914AC /* PropertiesController.swift */; }; - FC31D01E2012F65500E7F402 /* DocumentHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC31D01D2012F65500E7F402 /* DocumentHolder.swift */; }; - FC31D0202012F6D300E7F402 /* RenderCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC31D01F2012F6D300E7F402 /* RenderCache.swift */; }; - FC31D02B2013500E00E7F402 /* ButtonScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC31D02A2013500E00E7F402 /* ButtonScrollView.swift */; }; - FC31D02D2015DE1700E7F402 /* UIViewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC31D02C2015DE1700E7F402 /* UIViewExtensions.swift */; }; - FCAB1CB82009DB6900F1CC34 /* DocumentOverlaysView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCAB1CB72009DB6900F1CC34 /* DocumentOverlaysView.swift */; }; - FCC2E3FA2004A01500CEB504 /* Document.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCC2E3F62004A01400CEB504 /* Document.swift */; }; - FCC2E3FC2004A01500CEB504 /* LibreOfficeKitWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCC2E3F82004A01400CEB504 /* LibreOfficeKitWrapper.swift */; }; - FCC2E3FD2004A01500CEB504 /* LOKitThread.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCC2E3F92004A01400CEB504 /* LOKitThread.swift */; }; - FCC2E3FF2004B59B00CEB504 /* DocumentTiledView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCC2E3FE2004B59B00CEB504 /* DocumentTiledView.swift */; }; - FCC2E4032004B72700CEB504 /* Util.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCC2E4022004B72700CEB504 /* Util.swift */; }; - FCC2E4052004B74000CEB504 /* AsyncUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCC2E4042004B74000CEB504 /* AsyncUtil.swift */; }; - FCC7651D201C7F8A007D190C /* libKit.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FCC7651C201C7F8A007D190C /* libKit.dylib */; }; - FCC7651E201C80A5007D190C /* libKit.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = FCC7651C201C7F8A007D190C /* libKit.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - FC148CE420187F7800C349CA /* Embed Libraries */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - FCC7651E201C80A5007D190C /* libKit.dylib in Embed Libraries */, - ); - name = "Embed Libraries"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 39284DB21FA5F207006F43E4 /* DocumentActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentActions.swift; sourceTree = "<group>"; }; - 392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewPrintManager.swift; path = LibreOfficeLight/ViewPrintManager.swift; sourceTree = SOURCE_ROOT; }; - 3941EF06204B4C8900082486 /* unorc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = unorc; path = ../../workdir/CustomTarget/ios/resources/unorc; sourceTree = "<group>"; }; - 3941EF07204B4C8900082486 /* fundamentalrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = fundamentalrc; path = ../../workdir/CustomTarget/ios/resources/fundamentalrc; sourceTree = "<group>"; }; - 3941EF08204B4C8900082486 /* program */ = {isa = PBXFileReference; lastKnownFileType = folder; name = program; path = ../../workdir/CustomTarget/ios/resources/program; sourceTree = "<group>"; }; - 3941EF09204B4C8900082486 /* services.rdb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = services.rdb; path = ../../workdir/CustomTarget/ios/resources/services.rdb; sourceTree = "<group>"; }; - 3941EF0A204B4C8900082486 /* oovbaapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = oovbaapi.rdb; path = ../../workdir/CustomTarget/ios/resources/oovbaapi.rdb; sourceTree = "<group>"; }; - 3941EF0B204B4C8900082486 /* registry */ = {isa = PBXFileReference; lastKnownFileType = folder; name = registry; path = ../../workdir/CustomTarget/ios/resources/registry; sourceTree = "<group>"; }; - 3941EF0C204B4C8900082486 /* services */ = {isa = PBXFileReference; lastKnownFileType = folder; name = services; path = ../../workdir/CustomTarget/ios/resources/services; sourceTree = "<group>"; }; - 3941EF0D204B4C8900082486 /* offapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = offapi.rdb; path = ../../workdir/CustomTarget/ios/resources/offapi.rdb; sourceTree = "<group>"; }; - 3941EF0E204B4C8900082486 /* filter */ = {isa = PBXFileReference; lastKnownFileType = folder; name = filter; path = ../../workdir/CustomTarget/ios/resources/filter; sourceTree = "<group>"; }; - 3941EF0F204B4C8900082486 /* rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rc; path = ../../workdir/CustomTarget/ios/resources/rc; sourceTree = "<group>"; }; - 3941EF10204B4C8900082486 /* udkapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = udkapi.rdb; path = ../../workdir/CustomTarget/ios/resources/udkapi.rdb; sourceTree = "<group>"; }; - 3941EF11204B4C8900082486 /* icudt62l.dat */ = {isa = PBXFileReference; lastKnownFileType = file; name = icudt62l.dat; path = ../../workdir/CustomTarget/ios/resources/icudt62l.dat; sourceTree = "<group>"; }; - 3941EF12204B4C8900082486 /* welcome.odt */ = {isa = PBXFileReference; lastKnownFileType = file; name = welcome.odt; path = ../../workdir/CustomTarget/ios/resources/welcome.odt; sourceTree = "<group>"; }; - 3941EF13204B4C8900082486 /* config */ = {isa = PBXFileReference; lastKnownFileType = folder; name = config; path = ../../workdir/CustomTarget/ios/resources/config; sourceTree = "<group>"; }; - 3941EF14204B4C8900082486 /* share */ = {isa = PBXFileReference; lastKnownFileType = folder; name = share; path = ../../workdir/CustomTarget/ios/resources/share; sourceTree = "<group>"; }; - 39503A6F1F94C4AC00F19C78 /* lokit-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "lokit-Bridging-Header.h"; sourceTree = "<group>"; }; - 39514DFF2057DC55005599D0 /* shared */ = {isa = PBXFileReference; lastKnownFileType = folder; name = shared; path = ../../bridges/source/cpp_uno/shared; sourceTree = "<group>"; }; - 39514E012057DC92005599D0 /* gcc3_ios */ = {isa = PBXFileReference; lastKnownFileType = folder; name = gcc3_ios; path = ../../bridges/source/cpp_uno/gcc3_ios; sourceTree = "<group>"; }; - 39514E032057DCE7005599D0 /* gcc3_macosx_x86-64 */ = {isa = PBXFileReference; lastKnownFileType = folder; name = "gcc3_macosx_x86-64"; path = "../../bridges/source/cpp_uno/gcc3_macosx_x86-64"; sourceTree = "<group>"; }; - 39514E052057DD17005599D0 /* gcc3_linux_aarch64 */ = {isa = PBXFileReference; lastKnownFileType = folder; name = gcc3_linux_aarch64; path = ../../bridges/source/cpp_uno/gcc3_linux_aarch64; sourceTree = "<group>"; }; - 39514E072057E4A8005599D0 /* inc */ = {isa = PBXFileReference; lastKnownFileType = folder; name = inc; path = ../../bridges/inc; sourceTree = "<group>"; }; - 396F92F61E7AE62400A28C82 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = "<group>"; }; - 397275391E77D9F1006ACDCC /* LibreOfficeLight.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LibreOfficeLight.entitlements; sourceTree = "<group>"; }; - 397868D71E59A3EA007F9248 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/LaunchScreen.xib; sourceTree = "<group>"; }; - 397E08FA1E597BD8001374E0 /* LibreOfficeLight.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LibreOfficeLight.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 397E08FD1E597BD8001374E0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = LibreOfficeLight/AppDelegate.swift; sourceTree = SOURCE_ROOT; }; - 397E09021E597BD8001374E0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/Main.storyboard; sourceTree = "<group>"; }; - 397E09071E597BD8001374E0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = LibreOfficeLight/Assets.xcassets; sourceTree = SOURCE_ROOT; }; - 3992D8591E5B762A00BEA987 /* DocumentController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DocumentController.swift; path = LibreOfficeLight/DocumentController.swift; sourceTree = SOURCE_ROOT; }; - 399648461E5B87DC00E73E83 /* ViewProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewProperties.swift; path = LibreOfficeLight/ViewProperties.swift; sourceTree = SOURCE_ROOT; }; - 39B092501E5F3DEA00682A59 /* LibreOfficeLight-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "LibreOfficeLight-Prefix.pch"; sourceTree = "<group>"; }; - 39B4245D2060FB2300347588 /* ucbhelper.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ucbhelper.cxx; path = ../../unotools/source/ucbhelper/ucbhelper.cxx; sourceTree = "<group>"; }; - 39E950521FC9842000D82C49 /* source */ = {isa = PBXFileReference; lastKnownFileType = folder; name = source; path = ../source; sourceTree = "<group>"; }; - 39EE81531FA644E800B73AB8 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 39EF4E2E1FA500C9001914AC /* PropertiesController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PropertiesController.swift; sourceTree = "<group>"; }; - 39FD89E6204EBCB900E7179F /* exc_thrower.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exc_thrower.cxx; path = ../../cppuhelper/source/exc_thrower.cxx; sourceTree = "<group>"; }; - FC31D01D2012F65500E7F402 /* DocumentHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentHolder.swift; sourceTree = "<group>"; }; - FC31D01F2012F6D300E7F402 /* RenderCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RenderCache.swift; sourceTree = "<group>"; }; - FC31D02A2013500E00E7F402 /* ButtonScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonScrollView.swift; sourceTree = "<group>"; }; - FC31D02C2015DE1700E7F402 /* UIViewExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIViewExtensions.swift; sourceTree = "<group>"; }; - FCAB1CB72009DB6900F1CC34 /* DocumentOverlaysView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentOverlaysView.swift; sourceTree = "<group>"; }; - FCC2E3F62004A01400CEB504 /* Document.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Document.swift; sourceTree = "<group>"; }; - FCC2E3F82004A01400CEB504 /* LibreOfficeKitWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibreOfficeKitWrapper.swift; sourceTree = "<group>"; }; - FCC2E3F92004A01400CEB504 /* LOKitThread.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LOKitThread.swift; sourceTree = "<group>"; }; - FCC2E3FE2004B59B00CEB504 /* DocumentTiledView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocumentTiledView.swift; sourceTree = "<group>"; }; - FCC2E4022004B72700CEB504 /* Util.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Util.swift; sourceTree = "<group>"; }; - FCC2E4042004B74000CEB504 /* AsyncUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncUtil.swift; sourceTree = "<group>"; }; - FCC7651C201C7F8A007D190C /* libKit.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libKit.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 397E08F71E597BD8001374E0 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FCC7651D201C7F8A007D190C /* libKit.dylib in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 3911D89F1E5993600050D6BC /* Support files */ = { - isa = PBXGroup; - children = ( - 39B092501E5F3DEA00682A59 /* LibreOfficeLight-Prefix.pch */, - 397275391E77D9F1006ACDCC /* LibreOfficeLight.entitlements */, - 397E09071E597BD8001374E0 /* Assets.xcassets */, - 396F92F61E7AE62400A28C82 /* Settings.bundle */, - ); - name = "Support files"; - path = LibreOfficeLight; - sourceTree = SOURCE_ROOT; - }; - 3956B72D1FAB3DBF00BF5DE4 /* extra */ = { - isa = PBXGroup; - children = ( - 39514E072057E4A8005599D0 /* inc */, - 39514E052057DD17005599D0 /* gcc3_linux_aarch64 */, - 39514E032057DCE7005599D0 /* gcc3_macosx_x86-64 */, - 39514E012057DC92005599D0 /* gcc3_ios */, - 39514DFF2057DC55005599D0 /* shared */, - 39FD89E6204EBCB900E7179F /* exc_thrower.cxx */, - 39B4245D2060FB2300347588 /* ucbhelper.cxx */, - 39E950521FC9842000D82C49 /* source */, - ); - name = extra; - sourceTree = "<group>"; - }; - 3972753A1E77D9F7006ACDCC /* Frameworks */ = { - isa = PBXGroup; - children = ( - FCC7651C201C7F8A007D190C /* libKit.dylib */, - ); - name = Frameworks; - sourceTree = "<group>"; - }; - 397E08F11E597BD8001374E0 = { - isa = PBXGroup; - children = ( - 3956B72D1FAB3DBF00BF5DE4 /* extra */, - 39B084E41E5F0B5200682A59 /* Resources */, - 3911D89F1E5993600050D6BC /* Support files */, - 397E08FC1E597BD8001374E0 /* LibreOfficeLight */, - 397E08FB1E597BD8001374E0 /* Products */, - 3972753A1E77D9F7006ACDCC /* Frameworks */, - ); - sourceTree = "<group>"; - }; - 397E08FB1E597BD8001374E0 /* Products */ = { - isa = PBXGroup; - children = ( - 397E08FA1E597BD8001374E0 /* LibreOfficeLight.app */, - ); - name = Products; - sourceTree = "<group>"; - }; - 397E08FC1E597BD8001374E0 /* LibreOfficeLight */ = { - isa = PBXGroup; - children = ( - FCC2E3F52004A01400CEB504 /* LOKit */, - 39EE81531FA644E800B73AB8 /* Info.plist */, - 39503A6F1F94C4AC00F19C78 /* lokit-Bridging-Header.h */, - 397E08FD1E597BD8001374E0 /* AppDelegate.swift */, - FC31D02A2013500E00E7F402 /* ButtonScrollView.swift */, - 3992D8591E5B762A00BEA987 /* DocumentController.swift */, - FCAB1CB72009DB6900F1CC34 /* DocumentOverlaysView.swift */, - FCC2E3FE2004B59B00CEB504 /* DocumentTiledView.swift */, - 39284DB21FA5F207006F43E4 /* DocumentActions.swift */, - 39EF4E2E1FA500C9001914AC /* PropertiesController.swift */, - FC31D02C2015DE1700E7F402 /* UIViewExtensions.swift */, - 392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */, - 399648461E5B87DC00E73E83 /* ViewProperties.swift */, - 397E09011E597BD8001374E0 /* Main.storyboard */, - 397868D81E59A3EA007F9248 /* LaunchScreen.xib */, - ); - path = LibreOfficeLight; - sourceTree = SOURCE_ROOT; - }; - 39B084E41E5F0B5200682A59 /* Resources */ = { - isa = PBXGroup; - children = ( - 3941EF13204B4C8900082486 /* config */, - 3941EF0E204B4C8900082486 /* filter */, - 3941EF07204B4C8900082486 /* fundamentalrc */, - 3941EF11204B4C8900082486 /* icudt62l.dat */, - 3941EF0D204B4C8900082486 /* offapi.rdb */, - 3941EF0A204B4C8900082486 /* oovbaapi.rdb */, - 3941EF08204B4C8900082486 /* program */, - 3941EF0F204B4C8900082486 /* rc */, - 3941EF0B204B4C8900082486 /* registry */, - 3941EF0C204B4C8900082486 /* services */, - 3941EF09204B4C8900082486 /* services.rdb */, - 3941EF14204B4C8900082486 /* share */, - 3941EF10204B4C8900082486 /* udkapi.rdb */, - 3941EF06204B4C8900082486 /* unorc */, - 3941EF12204B4C8900082486 /* welcome.odt */, - ); - name = Resources; - sourceTree = SOURCE_ROOT; - }; - FCC2E3F52004A01400CEB504 /* LOKit */ = { - isa = PBXGroup; - children = ( - FCC2E4042004B74000CEB504 /* AsyncUtil.swift */, - FCC2E3F62004A01400CEB504 /* Document.swift */, - FC31D01D2012F65500E7F402 /* DocumentHolder.swift */, - FCC2E3F82004A01400CEB504 /* LibreOfficeKitWrapper.swift */, - FCC2E3F92004A01400CEB504 /* LOKitThread.swift */, - FC31D01F2012F6D300E7F402 /* RenderCache.swift */, - FCC2E4022004B72700CEB504 /* Util.swift */, - ); - path = LOKit; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 397E08F91E597BD8001374E0 /* LibreOfficeLight */ = { - isa = PBXNativeTarget; - buildConfigurationList = 397E09251E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLight" */; - buildPhases = ( - FC148D13201C7A6600C349CA /* ShellScript */, - 397E08F61E597BD8001374E0 /* Sources */, - 397E08F71E597BD8001374E0 /* Frameworks */, - 397E08F81E597BD8001374E0 /* Resources */, - FC148CE420187F7800C349CA /* Embed Libraries */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = LibreOfficeLight; - productName = LibreOfficeLight; - productReference = 397E08FA1E597BD8001374E0 /* LibreOfficeLight.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 397E08F21E597BD8001374E0 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0820; - LastUpgradeCheck = 0930; - ORGANIZATIONNAME = jani; - TargetAttributes = { - 397E08F91E597BD8001374E0 = { - CreatedOnToolsVersion = 8.2; - LastSwiftMigration = 0900; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 0; - }; - com.apple.Push = { - enabled = 0; - }; - com.apple.iCloud = { - enabled = 1; - }; - }; - }; - }; - }; - buildConfigurationList = 397E08F51E597BD8001374E0 /* Build configuration list for PBXProject "LibreOfficeLight" */; - compatibilityVersion = "Xcode 8.0"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 397E08F11E597BD8001374E0; - productRefGroup = 397E08FB1E597BD8001374E0 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 397E08F91E597BD8001374E0 /* LibreOfficeLight */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 397E08F81E597BD8001374E0 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3941EF15204B4C8A00082486 /* unorc in Resources */, - 3941EF19204B4C8A00082486 /* oovbaapi.rdb in Resources */, - 3941EF1D204B4C8A00082486 /* filter in Resources */, - 397E09081E597BD8001374E0 /* Assets.xcassets in Resources */, - 397868D61E59A3EA007F9248 /* LaunchScreen.xib in Resources */, - 39514E002057DC55005599D0 /* shared in Resources */, - 3941EF1A204B4C8A00082486 /* registry in Resources */, - 3941EF18204B4C8A00082486 /* services.rdb in Resources */, - 3941EF1C204B4C8A00082486 /* offapi.rdb in Resources */, - 3941EF22204B4C8A00082486 /* config in Resources */, - 396F92F71E7AE62400A28C82 /* Settings.bundle in Resources */, - 3941EF1E204B4C8A00082486 /* rc in Resources */, - 3941EF23204B4C8A00082486 /* share in Resources */, - 3941EF1B204B4C8A00082486 /* services in Resources */, - 3941EF21204B4C8A00082486 /* welcome.odt in Resources */, - 397E09031E597BD8001374E0 /* Main.storyboard in Resources */, - 3941EF20204B4C8A00082486 /* icudt62l.dat in Resources */, - 3941EF16204B4C8A00082486 /* fundamentalrc in Resources */, - 39514E082057E4A8005599D0 /* inc in Resources */, - 3941EF1F204B4C8A00082486 /* udkapi.rdb in Resources */, - 3941EF17204B4C8A00082486 /* program in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - FC148D13201C7A6600C349CA /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/bash; - shellScript = "\nGEN=$PROJECT_DIR/../../workdir/CustomTarget/ios/$CONFIGURATION\\_$ARCHS/libKit.dylib\ncp $GEN $TARGET_BUILD_DIR/libKit.dylib\n\n\n\n\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 397E08F61E597BD8001374E0 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FCC2E4032004B72700CEB504 /* Util.swift in Sources */, - 392ED9B31E5E4B03005C8435 /* ViewPrintManager.swift in Sources */, - FC31D01E2012F65500E7F402 /* DocumentHolder.swift in Sources */, - FCAB1CB82009DB6900F1CC34 /* DocumentOverlaysView.swift in Sources */, - FC31D0202012F6D300E7F402 /* RenderCache.swift in Sources */, - 399648471E5B87DC00E73E83 /* ViewProperties.swift in Sources */, - FCC2E3FC2004A01500CEB504 /* LibreOfficeKitWrapper.swift in Sources */, - 39284DB31FA5F207006F43E4 /* DocumentActions.swift in Sources */, - 3992D85A1E5B762A00BEA987 /* DocumentController.swift in Sources */, - FCC2E3FD2004A01500CEB504 /* LOKitThread.swift in Sources */, - 397E08FE1E597BD8001374E0 /* AppDelegate.swift in Sources */, - FC31D02B2013500E00E7F402 /* ButtonScrollView.swift in Sources */, - FCC2E3FA2004A01500CEB504 /* Document.swift in Sources */, - FCC2E3FF2004B59B00CEB504 /* DocumentTiledView.swift in Sources */, - FC31D02D2015DE1700E7F402 /* UIViewExtensions.swift in Sources */, - FCC2E4052004B74000CEB504 /* AsyncUtil.swift in Sources */, - 39EF4E2F1FA500C9001914AC /* PropertiesController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 397868D81E59A3EA007F9248 /* LaunchScreen.xib */ = { - isa = PBXVariantGroup; - children = ( - 397868D71E59A3EA007F9248 /* en */, - ); - name = LaunchScreen.xib; - path = LibreOfficeLight; - sourceTree = SOURCE_ROOT; - }; - 397E09011E597BD8001374E0 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 397E09021E597BD8001374E0 /* en */, - ); - name = Main.storyboard; - path = LibreOfficeLight; - sourceTree = SOURCE_ROOT; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 397E09231E597BD8001374E0 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - LO_CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - LO_CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_OPTIMIZATION_PROFILE_FILE = "$(SRCROOT)/../../workdir/CustomTarget/ios/$(PROJECT_NAME).profdata"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_BITCODE = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(inherited)"; - IPHONEOS_DEPLOYMENT_TARGET = 11.3; - LD_MAP_FILE_PATH = ""; - LIBRARY_SEARCH_PATHS = "$PROJECT_DIR/../../workdir/CustomTarget/ios/debug/**"; - MACH_O_TYPE = mh_execute; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OBJC_BRIDGING_HEADER = "lokit-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - SYMROOT = ../../workdir/CustomTarget/ios/build; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 x86_64"; - }; - name = Debug; - }; - 397E09241E597BD8001374E0 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - LO_CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - LO_CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_OPTIMIZATION_PROFILE_FILE = "$(SRCROOT)/../../workdir/CustomTarget/ios/$(PROJECT_NAME).profdata"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(inherited)"; - IPHONEOS_DEPLOYMENT_TARGET = 11.3; - LD_MAP_FILE_PATH = ""; - LIBRARY_SEARCH_PATHS = "$PROJECT_DIR/../../workdir/CustomTarget/ios/release/**"; - MACH_O_TYPE = mh_execute; - MTL_ENABLE_DEBUG_INFO = NO; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "lokit-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - SYMROOT = ../../workdir/CustomTarget/ios/build; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VALID_ARCHS = "arm64 x86_64"; - }; - name = Release; - }; - 397E09261E597BD8001374E0 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CLANG_WARN_INFINITE_RECURSION = NO; - CODE_SIGN_ENTITLEMENTS = LibreOfficeLight/LibreOfficeLight.entitlements; - DEVELOPMENT_TEAM = J4FQ687VJK; - ENABLE_TESTABILITY = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "LibreOfficeLight/LibreOfficeLight-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "IOS=1", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/../../include", - ); - INFOPLIST_FILE = LibreOfficeLight/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.libreoffice.ios.LibreOfficeLight; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "LibreOfficeLight/lokit-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 x86_64"; - }; - name = Debug; - }; - 397E09271E597BD8001374E0 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CLANG_WARN_INFINITE_RECURSION = NO; - CODE_SIGN_ENTITLEMENTS = LibreOfficeLight/LibreOfficeLight.entitlements; - COPY_PHASE_STRIP = YES; - DEVELOPMENT_TEAM = J4FQ687VJK; - ENABLE_TESTABILITY = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "LibreOfficeLight/LibreOfficeLight-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = "IOS=1"; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/../../include", - ); - INFOPLIST_FILE = LibreOfficeLight/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.libreoffice.ios.LibreOfficeLight; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "LibreOfficeLight/lokit-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 x86_64"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 397E08F51E597BD8001374E0 /* Build configuration list for PBXProject "LibreOfficeLight" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 397E09231E597BD8001374E0 /* Debug */, - 397E09241E597BD8001374E0 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 397E09251E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLight" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 397E09261E597BD8001374E0 /* Debug */, - 397E09271E597BD8001374E0 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = 397E08F21E597BD8001374E0 /* Project object */; -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/xcshareddata/xcschemes/Debug.xcscheme b/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/xcshareddata/xcschemes/Debug.xcscheme deleted file mode 100644 index 450c96e3b6ba..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/xcshareddata/xcschemes/Debug.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "0930" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - <BuildActionEntries> - <BuildActionEntry - buildForTesting = "YES" - buildForRunning = "YES" - buildForProfiling = "YES" - buildForArchiving = "YES" - buildForAnalyzing = "YES"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - </Testables> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </MacroExpansion> - <AdditionalOptions> - </AdditionalOptions> - </TestAction> - <LaunchAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "NO" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - <EnvironmentVariables> - <EnvironmentVariable - key = "SAL_LOG" - value = "+INFO+WARN" - isEnabled = "YES"> - </EnvironmentVariable> - </EnvironmentVariables> - <AdditionalOptions> - </AdditionalOptions> - </LaunchAction> - <ProfileAction - buildConfiguration = "Debug" - shouldUseLaunchSchemeArgsEnv = "YES" - savedToolIdentifier = "" - useCustomWorkingDirectory = "NO" - debugDocumentVersioning = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Debug"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme> diff --git a/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/xcshareddata/xcschemes/Release.xcscheme b/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/xcshareddata/xcschemes/Release.xcscheme deleted file mode 100644 index 9c3d62de88a1..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight.xcodeproj/xcshareddata/xcschemes/Release.xcscheme +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "0930" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - <BuildActionEntries> - <BuildActionEntry - buildForTesting = "YES" - buildForRunning = "YES" - buildForProfiling = "YES" - buildForArchiving = "YES" - buildForAnalyzing = "YES"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - </Testables> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </MacroExpansion> - <AdditionalOptions> - </AdditionalOptions> - </TestAction> - <LaunchAction - buildConfiguration = "Release" - selectedDebuggerIdentifier = "" - selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn" - launchStyle = "0" - useCustomWorkingDirectory = "NO" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - <AdditionalOptions> - </AdditionalOptions> - </LaunchAction> - <ProfileAction - buildConfiguration = "Release" - shouldUseLaunchSchemeArgsEnv = "YES" - savedToolIdentifier = "" - useCustomWorkingDirectory = "NO" - debugDocumentVersioning = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "397E08F91E597BD8001374E0" - BuildableName = "LibreOfficeLight.app" - BlueprintName = "LibreOfficeLight" - ReferencedContainer = "container:LibreOfficeLight.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Release"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme> diff --git a/ios/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift b/ios/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift deleted file mode 100644 index f0b5f6bd3740..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift +++ /dev/null @@ -1,117 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -import UIKit -import Foundation - - -// AppDelegate is a Delegate class that receives calls from the iOS -// kernel, and theirby allows stop/start/sleep of the application -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate -{ - var window: UIWindow? - - - - // sent when clicking on an OO document in another app - // allowing this app to handle the document. - // remark if the app is not started it will be started first - func application(_ app: UIApplication, - open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) - -> Bool - { - let document = window?.rootViewController?.childViewControllers[0] as! DocumentController - document.doOpen(url) - return true - } - - - - // this function is called when the app is first started (loaded from EEProm) - // it initializes the LO system and prepares for a normal run - func application(_ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: - [UIApplicationLaunchOptionsKey: Any]?) - -> Bool - { - // Get version info - let appInfo = Bundle.main.infoDictionary! as Dictionary<String,AnyObject> - let applicationVersion = (appInfo["CFBundleShortVersionString"] as! String) + "." + - (appInfo["CFBundleVersion"] as! String) - - // Add version string to setting - let defaults = UserDefaults.standard - defaults.set(applicationVersion, forKey: "application_version") - defaults.synchronize() - - // start LibreOfficeKit - let _ = LOKitThread.instance - - return true - } - - - - // Sent when the application is about to move from active to inactive state. - // This can occur for certain types of temporary interruptions - // (such as an incoming phone call or SMS message) - // or when the user quits the application and it begins the transition - // jto the background state. - // Use this method to pause ongoing tasks, disable timers, - // and invalidate graphics rendering callbacks. - func applicationWillResignActive(_ application: UIApplication) - { - // NOT used in this App - } - - - - // Sent when the application enters background (hipernating) - // Use this method to release shared resources, save user data, invalidate timers, - // and store enough application state information to restore your application - // to its current state jin case it is terminated later. - // If your application supports background execution, - // this method is called instead of applicationWillTerminate: when the user quits. - func applicationDidEnterBackground(_ application: UIApplication) - { - let document = window?.rootViewController?.childViewControllers[0] - as! DocumentController - document.Hipernate() - } - - - - // Sent before the application reenters foreground (hipernating -> active) - // Restart timers, tasks as well as graphic rendering - func applicationWillEnterForeground(_ application: UIApplication) - { - let document = window?.rootViewController?.childViewControllers[0] as! DocumentController - document.LeaveHipernate() - } - - - - // Sent after the application reenters foreground (hipernating -> active) - // Restart timers, tasks as well as graphic rendering - func applicationDidBecomeActive(_ application: UIApplication) - { - // NOT used in this App - } - - - - // Sent when the application is about to terminate. Save data if appropriate. - // See also applicationDidEnterBackground:. - // Saves changes in the application's managed object context before the application terminates. - func applicationWillTerminate(_ application: UIApplication) - { - let document = window?.rootViewController?.childViewControllers[0] as! DocumentController - document.Hipernate() - } -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index b179c2c532c9..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "filename" : "LibreOffice-40.png", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "filename" : "LibreOffice-60.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "LibreOffice-58.png", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "filename" : "LibreOffice-87.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "LibreOffice-80.png", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "filename" : "LibreOffice-120.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "LibreOffice-120.png", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "filename" : "LibreOffice-180.png", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "filename" : "LibreOffice-20.png", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "filename" : "LibreOffice-40.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "LibreOffice-29.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "LibreOffice-58.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "LibreOffice-40.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "LibreOffice-80.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "LibreOffice-76.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "LibreOffice-152.png", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "83.5x83.5", - "filename" : "LibreOffice-167.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "LibreOffice-1024.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-1024.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-1024.png Binary files differdeleted file mode 100644 index e25eb6bddb7b..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-1024.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png Binary files differdeleted file mode 100644 index 49a7a1070b60..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png Binary files differdeleted file mode 100644 index 9a204a930a16..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png Binary files differdeleted file mode 100644 index ef0033f9a8c5..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.png Binary files differdeleted file mode 100644 index 2fdcb30dcad7..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.png Binary files differdeleted file mode 100644 index ba82eb87b5e3..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.png Binary files differdeleted file mode 100644 index 5a03ed3f40a3..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.png Binary files differdeleted file mode 100644 index 1fefbff4bddb..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png Binary files differdeleted file mode 100644 index cd6cf1338bd0..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.png Binary files differdeleted file mode 100644 index 00774322c381..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.png Binary files differdeleted file mode 100644 index 879629fc827e..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.png Binary files differdeleted file mode 100644 index 1ae49c48cb6a..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.png Binary files differdeleted file mode 100644 index 679f6abc0816..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/Contents.json deleted file mode 100644 index cc9fb3d1aa3e..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x", - "filename" : "back.png" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "back@2x.png" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "back@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back.png Binary files differdeleted file mode 100644 index 0b9776a64231..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@2x.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@2x.png Binary files differdeleted file mode 100644 index 6e7c3995dfdb..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@2x.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@3x.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@3x.png Binary files differdeleted file mode 100644 index e66980cddde4..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@3x.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/Contents.json deleted file mode 100644 index da4a164c9186..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing-template.dataset/Contents.json deleted file mode 100644 index 885f35756af9..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "drawing-template.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing-template.dataset/drawing-template.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing-template.dataset/drawing-template.icns Binary files differdeleted file mode 100644 index 64c373ecaa33..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing-template.dataset/drawing-template.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing.dataset/Contents.json deleted file mode 100644 index 3e1c14b1bd99..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "drawing.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing.dataset/drawing.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing.dataset/drawing.icns Binary files differdeleted file mode 100644 index d179d041a6ca..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/drawing.dataset/drawing.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-document.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-document.dataset/Contents.json deleted file mode 100644 index 816e9aa12ac6..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-document.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "empty-document.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-document.dataset/empty-document.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-document.dataset/empty-document.ico Binary files differdeleted file mode 100644 index ec11e8fe579a..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-document.dataset/empty-document.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-template.dataset/Contents.json deleted file mode 100644 index 8d4ccc066991..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "empty-template.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-template.dataset/empty-template.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-template.dataset/empty-template.ico Binary files differdeleted file mode 100644 index ec11e8fe579a..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/empty-template.dataset/empty-template.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/extension.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/extension.dataset/Contents.json deleted file mode 100644 index f35fc2be7409..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/extension.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "extension.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/extension.dataset/extension.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/extension.dataset/extension.icns Binary files differdeleted file mode 100644 index cec1b92c37b2..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/extension.dataset/extension.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/formula.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/formula.dataset/Contents.json deleted file mode 100644 index dec8005ed4ef..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/formula.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "formula.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/formula.dataset/formula.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/formula.dataset/formula.icns Binary files differdeleted file mode 100644 index f6dc588095f4..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/formula.dataset/formula.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/main.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/main.dataset/Contents.json deleted file mode 100644 index 1fb866b12621..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/main.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "main.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/main.dataset/main.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/main.dataset/main.icns Binary files differdeleted file mode 100644 index c3e1bf693142..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/main.dataset/main.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/master-document.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/master-document.dataset/Contents.json deleted file mode 100644 index 1b65ad0ed8af..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/master-document.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "master-document.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/master-document.dataset/master-document.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/master-document.dataset/master-document.icns Binary files differdeleted file mode 100644 index 4b0cf1bb7ea6..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/master-document.dataset/master-document.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-database.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-database.dataset/Contents.json deleted file mode 100644 index 5f270e1fe434..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-database.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-database.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-database.dataset/oasis-database.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-database.dataset/oasis-database.icns Binary files differdeleted file mode 100644 index e523fdd9d5d1..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-database.dataset/oasis-database.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing-template.dataset/Contents.json deleted file mode 100644 index c2c2cc129596..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-drawing-template.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing-template.dataset/oasis-drawing-template.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing-template.dataset/oasis-drawing-template.ico Binary files differdeleted file mode 100644 index 9991270a5f84..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing-template.dataset/oasis-drawing-template.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing.dataset/Contents.json deleted file mode 100644 index 74ba17140dd8..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-drawing.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing.dataset/oasis-drawing.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing.dataset/oasis-drawing.icns Binary files differdeleted file mode 100644 index 64563d2576ab..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-drawing.dataset/oasis-drawing.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-formula.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-formula.dataset/Contents.json deleted file mode 100644 index 19236e87ff66..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-formula.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-formula.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-formula.dataset/oasis-formula.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-formula.dataset/oasis-formula.ico Binary files differdeleted file mode 100644 index 07b3e8ecf929..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-formula.dataset/oasis-formula.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document-template.dataset/Contents.json deleted file mode 100644 index 47b7fb7ef3c0..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-master-document-template.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document-template.dataset/oasis-master-document-template.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document-template.dataset/oasis-master-document-template.icns Binary files differdeleted file mode 100644 index 9115dfc4b443..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document-template.dataset/oasis-master-document-template.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document.dataset/Contents.json deleted file mode 100644 index 5043c1477d89..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-master-document.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document.dataset/oasis-master-document.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document.dataset/oasis-master-document.ico Binary files differdeleted file mode 100644 index 0ac9681b10b9..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-master-document.dataset/oasis-master-document.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation-template.dataset/Contents.json deleted file mode 100644 index 0f5874081f8f..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-presentation-template.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation-template.dataset/oasis-presentation-template.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation-template.dataset/oasis-presentation-template.icns Binary files differdeleted file mode 100644 index 6bf52a1849b4..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation-template.dataset/oasis-presentation-template.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation.dataset/Contents.json deleted file mode 100644 index 98bd94f4db47..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-presentation.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation.dataset/oasis-presentation.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation.dataset/oasis-presentation.ico Binary files differdeleted file mode 100644 index 0845cad87f48..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-presentation.dataset/oasis-presentation.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet-template.dataset/Contents.json deleted file mode 100644 index 97df6313091a..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-spreadsheet-template.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet-template.dataset/oasis-spreadsheet-template.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet-template.dataset/oasis-spreadsheet-template.icns Binary files differdeleted file mode 100644 index d217378535ff..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet-template.dataset/oasis-spreadsheet-template.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet.dataset/Contents.json deleted file mode 100644 index 189679bfcc2b..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-spreadsheet.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet.dataset/oasis-spreadsheet.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet.dataset/oasis-spreadsheet.icns Binary files differdeleted file mode 100644 index 95cc98b343da..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-spreadsheet.dataset/oasis-spreadsheet.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text-template.dataset/Contents.json deleted file mode 100644 index ead3ca01d657..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-text-template.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text-template.dataset/oasis-text-template.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text-template.dataset/oasis-text-template.ico Binary files differdeleted file mode 100644 index 71136e778458..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text-template.dataset/oasis-text-template.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text.dataset/Contents.json deleted file mode 100644 index 36818aec009f..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-text.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text.dataset/oasis-text.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text.dataset/oasis-text.ico Binary files differdeleted file mode 100644 index 70210b0ec661..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-text.dataset/oasis-text.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-web-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-web-template.dataset/Contents.json deleted file mode 100644 index 59b4f2d0759c..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-web-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "oasis-web-template.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-web-template.dataset/oasis-web-template.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-web-template.dataset/oasis-web-template.icns Binary files differdeleted file mode 100644 index 06fcd5ad1193..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/oasis-web-template.dataset/oasis-web-template.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/open.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/open.dataset/Contents.json deleted file mode 100644 index 26efddc8e782..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/open.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "open.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/open.dataset/open.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/open.dataset/open.ico Binary files differdeleted file mode 100644 index ec11e8fe579a..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/open.dataset/open.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation-template.dataset/Contents.json deleted file mode 100644 index 1cf424888b4c..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "presentation-template.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation-template.dataset/presentation-template.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation-template.dataset/presentation-template.ico Binary files differdeleted file mode 100644 index b248474958e9..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation-template.dataset/presentation-template.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation.dataset/Contents.json deleted file mode 100644 index 48727c0d5b39..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "presentation.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation.dataset/presentation.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation.dataset/presentation.ico Binary files differdeleted file mode 100644 index 0845cad87f48..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/presentation.dataset/presentation.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/soffice.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/soffice.dataset/Contents.json deleted file mode 100644 index 30042d0d9633..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/soffice.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "soffice.ico" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/soffice.dataset/soffice.ico b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/soffice.dataset/soffice.ico Binary files differdeleted file mode 100644 index ec11e8fe579a..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/soffice.dataset/soffice.ico +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet-template.dataset/Contents.json deleted file mode 100644 index 01557a90814d..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "spreadsheet-template.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet-template.dataset/spreadsheet-template.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet-template.dataset/spreadsheet-template.icns Binary files differdeleted file mode 100644 index f527a14b7969..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet-template.dataset/spreadsheet-template.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet.dataset/Contents.json deleted file mode 100644 index 87e81d2698c1..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "spreadsheet.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet.dataset/spreadsheet.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet.dataset/spreadsheet.icns Binary files differdeleted file mode 100644 index 9d61c699c47b..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/spreadsheet.dataset/spreadsheet.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text-template.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text-template.dataset/Contents.json deleted file mode 100644 index c5cbe2c9cb42..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text-template.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "text-template.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text-template.dataset/text-template.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text-template.dataset/text-template.icns Binary files differdeleted file mode 100644 index accd48b9bdd2..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text-template.dataset/text-template.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text.dataset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text.dataset/Contents.json deleted file mode 100644 index 3fd87b58858c..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text.dataset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "data" : [ - { - "idiom" : "universal", - "filename" : "text.icns" - } - ] -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text.dataset/text.icns b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text.dataset/text.icns Binary files differdeleted file mode 100644 index 9b7a301ee02b..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.icons/text.dataset/text.icns +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/Contents.json deleted file mode 100644 index 1f910096d224..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x", - "filename" : "intro.png" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "intro.png" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "intro.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/intro.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/intro.png Binary files differdeleted file mode 100644 index d27f8858dc6c..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/intro.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/Contents.json b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/Contents.json deleted file mode 100644 index da2ac2bbdaa2..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x", - "filename" : "menu.png" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "menu@2x.png" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "menu@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -}
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu.png Binary files differdeleted file mode 100644 index fe97b0cfe224..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@2x.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@2x.png Binary files differdeleted file mode 100644 index f5e9a1597c95..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@2x.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@3x.png b/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@3x.png Binary files differdeleted file mode 100644 index 9f00717fe29e..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@3x.png +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/ButtonScrollView.swift b/ios/LibreOfficeLight/LibreOfficeLight/ButtonScrollView.swift deleted file mode 100644 index 615c145fe385..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/ButtonScrollView.swift +++ /dev/null @@ -1,145 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -import UIKit - -/// Scrollable list of buttons. -/// Kind of like a tab bar, but doesn't maintain or switch between views, just calls back on click -open class ButtonScrollView: UIScrollView -{ - var buttonList: ButtonList? = nil - - var buttonClickedCallback: ( (Int) -> () )? = nil - - var selectedIndex: Int? - { - get { - return buttonList?.selectedIndex - } - set { - buttonList?.selectedIndex = selectedIndex - } - } - - public override init(frame: CGRect) - { - super.init(frame: frame) - } - - public required init?(coder aDecoder: NSCoder) - { - super.init(coder: aDecoder) - } - - public func setButtonLabels(labels: [String]) - { - if let bl = buttonList - { - bl.removeFromSuperview() - } - let bl = ButtonList(frame: CGRect(x:0, y:0, width: self.frame.width, height:44), - labels: labels, - owner: self) - self.addSubview(bl) - self.contentSize = bl.frame.size - self.buttonList = bl - } -} - -/// Horizontally laid out buttons, living within the owned scroll view -open class ButtonList: UIView -{ - let labels: [String] - let gap: CGFloat = 10.0 - let topGap: CGFloat = 8 - weak var owner: ButtonScrollView? = nil - - var buttonBackground = UIColor(white: 0.6, alpha: 1) - var selectedButtonBackground = UIColor.white - - var selectedIndex: Int? = 0 - { - didSet { - runOnMain { - self.highlightSelectedIndex() - } - } - } - - public init(frame: CGRect, labels: [String], owner: ButtonScrollView) - { - self.labels = labels - self.owner = owner - super.init(frame: frame) - self.backgroundColor = UIColor(white: 0.9, alpha: 1) - - var idx = 0 - for label in labels - { - let b = UIButton(type: .custom) - b.setTitle(label, for: .normal) - b.backgroundColor = buttonBackground - b.contentEdgeInsets = UIEdgeInsets(top: 4, left: 4, bottom: 4, right: 4) - b.layer.cornerRadius = 4 - b.tag = idx - b.addTarget(self, action: #selector(buttonTapped), for: UIControlEvents.touchUpInside) - self.addSubview(b) - idx += 1 - } - self.layoutSubviews() - } - - @objc func buttonTapped(sender: UIButton, forEvent event: UIEvent) - { - let idx = sender.tag - owner?.buttonClickedCallback?(idx) - self.selectedIndex = idx - } - - public required init?(coder aDecoder: NSCoder) - { - fatalError("init(coder:) has not been implemented") - } - - public var buttons: [UIButton] - { - return self.subviews.compactMap({ $0 as? UIButton }) - } - - open override func layoutSubviews() - { - - var x: CGFloat = gap - for button in buttons - { - button.sizeToFit() - let s = button.frame.size - button.frame = CGRect(x: x, y: topGap, width: s.width, height: s.height) - x = x + (s.width + gap) - } - highlightSelectedIndex() - self.frame = CGRect(x:0, y: 0, width: x, height: self.frame.height) - } - - open func highlightSelectedIndex() - { - for (index, button) in buttons.enumerated() - { - if (index == selectedIndex) - { - button.backgroundColor = selectedButtonBackground - button.setTitleColor(.black, for: .normal) - } - else - { - button.backgroundColor = buttonBackground - button.setTitleColor(.white, for: .normal) - } - - } - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/DocumentActions.swift b/ios/LibreOfficeLight/LibreOfficeLight/DocumentActions.swift deleted file mode 100644 index dddb3b22d3b0..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/DocumentActions.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -import UIKit - - - -// DocumentActions is the main menu popover started from DocumentController -// it allows the user to invoke global actions and delegates the processing -// back to the DocumentController -class DocumentActions: UITableViewController -{ - // Pointer to callback class (in reality instance of DocumentController) - var delegate : MenuDelegate? - - - - // set by DocumentController before invoking the menu - // the variable is used to control which menu entries are active - var isDocActive : Bool = false - - - - // Reference to instances of the buttons - @IBOutlet weak var buttonOpen: UIButton! - @IBOutlet weak var buttonProperties: UIButton! - @IBOutlet weak var buttonSave: UIButton! - @IBOutlet weak var buttonClose: UIButton! - @IBOutlet weak var buttonSaveAs: UIButton! - @IBOutlet weak var buttonSaveAsPDF: UIButton! - @IBOutlet weak var buttonPrint: UIButton! - - - - // called once controller is loaded - override func viewDidLoad() - { - super.viewDidLoad() - - // Some menu entries are only active when a document is loaded - buttonSave.isEnabled = isDocActive - buttonProperties.isEnabled = isDocActive - buttonClose.isEnabled = isDocActive - buttonSaveAs.isEnabled = isDocActive - buttonSaveAsPDF.isEnabled = isDocActive - buttonPrint.isEnabled = isDocActive - } - - - - // Called when user click on a menu entry (all entries goes here) - // see storyboard Document actions scene for details - @IBAction func actionMenuSelect(_ sender: UIButton) - { - // make popover go away, when this function returns - dismiss(animated: false) - - // inform DocumentController about the selected entry - delegate?.actionMenuSelected(sender.tag) - } -} - - - -// Protocol for action popover callback -protocol MenuDelegate -{ - // inform delegate about selected menu entry - func actionMenuSelected(_ tag : Int) -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/DocumentController.swift b/ios/LibreOfficeLight/LibreOfficeLight/DocumentController.swift deleted file mode 100644 index d06ccac4e728..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/DocumentController.swift +++ /dev/null @@ -1,598 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -import UIKit - - -// DocumentController is the main viewer in the app, it displays the selected -// documents and holds a top entry to view the properties as well as a normal -// menu to handle global actions -// It is a delegate class to receive Menu events as well as file handling events -class DocumentController: UIViewController, MenuDelegate, UIDocumentBrowserViewControllerDelegate -{ - var document: DocumentHolder? = nil - - var documentView: DocumentTiledView? = nil - var documentOverlaysView: DocumentOverlaysView? = nil - - // *** Handling of DocumentController - // this is normal functions every controller must implement - - - // holds known document types - var KnownDocumentTypes : [String] = [] - - var zeroInsets: UIEdgeInsets = .zero - - @IBOutlet weak var scrollView: UIScrollView! - @IBOutlet weak var mask: UIView! - @IBOutlet weak var progressBar: UIProgressView! - @IBOutlet weak var searchBar: UISearchBar! - @IBOutlet weak var buttonScrollView: ButtonScrollView! - - deinit - { - NotificationCenter.default.removeObserver(self) - } - - // called once controller is loaded - override func viewDidLoad() - { - super.viewDidLoad() - - // loading known document types, so we can use them for the open call - let path = Bundle.main.path(forResource: "Info", ofType: "plist") - let plist = NSDictionary(contentsOfFile: path!) - for dict in (plist!.object(forKey: "UTExportedTypeDeclarations") as! [NSDictionary]) + - (plist!.object(forKey: "UTImportedTypeDeclarations") as! [NSDictionary]) { - let x = ((dict["UTTypeTagSpecification"] as! NSDictionary)["public.filename-extension"] as! NSArray) - KnownDocumentTypes.append( x[0] as! String ) - } - LOKitThread.instance.progressDelegate = self - } - - override func viewWillAppear(_ animated: Bool) - { - super.viewWillAppear(animated) - registerKeyboardNotifications() - } - - override func viewDidAppear(_ animated: Bool) - { - super.viewDidAppear(animated) - - // Always load the 'welcome' file, as per the android app - let res = Bundle.main.url(forResource: "welcome", withExtension: "odt") - - // uncomment for test data in resources until the doc picker works properly - //let res = Bundle.main.url(forResource: "testdata/2", withExtension: "xlsx") - - if let exampleDoc = res - { - self.doOpen(exampleDoc) - } - } - - // called when there is a memory constraint - override func didReceiveMemoryWarning() - { - super.didReceiveMemoryWarning() - // not used in this App - } - - @IBAction func searchIconTapped(_ sender: Any) - { - searchBar.isHidden = !searchBar.isHidden - if (!searchBar.isHidden) - { - searchBar.becomeFirstResponder() - } - } - - - // *** Handling of Background (hipernate) - // iOS is not true multitasking, only 1 app can be active (foreground) at any time, - // therefore apps frequently are moved to the background. - // background really means hipernate by terminating all threads and solely keep the - // data - - - - // Moving to hipernate - public func Hipernate() -> Void - { - //BridgeLOkit_Hipernate() // FIXME - } - - - - // Moving back to foreground - public func LeaveHipernate() -> Void - { - //BridgeLOkit_LeaveHipernate() // FIXME - } - - - - // *** handling of PropertiesController - // The PropertiesController is a left sidebar, that will scroll in when activated - // The Controller handles manipulation of properties in the document - - - - // Activate/Deactivate PropertiesController (from navigationController, see storyboard) - @IBAction func doProperties(_ sender: UIBarButtonItem) - { - // Check if deactivation - if (sender.tag == 99) { - // Deactivate - - // Mark it as deactivated (it stays loaded) - sender.tag = 0; - - // get handle of PropertiesController - let viewMenuBack : UIView = view.subviews.last! - - // Blend out sidebar - UIView.animate(withDuration: 0.3, animations: { () -> Void in - var frameMenu : CGRect = viewMenuBack.frame - frameMenu.origin.x = -1 * UIScreen.main.bounds.size.width - viewMenuBack.frame = frameMenu - viewMenuBack.layoutIfNeeded() - viewMenuBack.backgroundColor = UIColor.clear - }, completion: { (finished) -> Void in - viewMenuBack.removeFromSuperview() - }) - } - else { - // Activate - - // Mark as activated - sender.isEnabled = false - sender.tag = 99 - - // make instance of PropertiesController - let prop : PropertiesController = self.storyboard!.instantiateViewController( - withIdentifier: "PropertiesController") as! PropertiesController - view.addSubview(prop.view) - addChildViewController(prop) - prop.view.layoutIfNeeded() - prop.view.frame=CGRect(x: 0 - UIScreen.main.bounds.size.width, - y: 0, - width: UIScreen.main.bounds.size.width, - height: UIScreen.main.bounds.size.height); - - // Blend in sidebar - UIView.animate(withDuration: 0.3, animations: { () -> Void in - prop.view.frame=CGRect(x: 0, - y: 0, - width: UIScreen.main.bounds.size.width, - height: UIScreen.main.bounds.size.height); - sender.isEnabled = true - }, completion:nil) - } - } - - - - // *** Handling of menu popover - // the menu contains all global functions and use seque/delegate - - - - var currentDocumentName : String? = nil - - - - // Last stop before displaying popover - override func prepare(for segue: UIStoryboardSegue, sender: Any?) - { - // "showActions" is the name of the popover menu, see storyboard - if segue.identifier == "showActions" { - let vc = segue.destination as! DocumentActions - vc.delegate = self - vc.isDocActive = (currentDocumentName != nil) - } - } - - - - // Delegate call from menu (see protocol MenuDelegate) - func actionMenuSelected(_ tag : Int) - { - // a tag can sadly enough only be a number and not a string, - // whenever adding a menu entry, it (of course) needs to be added - // to the Document actions scene in storyboard and assigned a tag number - // the tag number must be repeated in the following switch - // BE CAREFUL to keep the tags synchronized (manually) - switch tag - { - case 1: // Open... - startOpenDocument() - - case 2: // Properties - showProperties() - - case 3: // Save - doSave() - - case 4: // Close... - doClose() - - case 5: // Save as... - doSaveAs() - - case 6: // Save as PDF... - doSaveAsPDF() - - case 7: // Print... - startPrint() - - default: // should not happen - print("unknown menu" + String(tag)) - } - } - - - - // *** handling of menu actions - // This is the real base of the application - - var openMenu : UIDocumentBrowserViewController? = nil - - // Load document into LibreOfficeKit and present it - internal func startOpenDocument() - { - openMenu = UIDocumentBrowserViewController() - openMenu?.allowsDocumentCreation = true - openMenu?.browserUserInterfaceStyle = UIDocumentBrowserViewController.BrowserUserInterfaceStyle.dark - openMenu?.delegate = self - self.present(openMenu!, animated: true, completion: nil) - } - - - - // Show document properties (new overloaded page) - internal func showProperties() - { - //FIXME - print("menu Properties to be done") - } - - - - // Save current document - internal func doSave() - { - //FIXME - print("menu Save to be done") - } - - - - // Close current document (without saving) - internal func doClose() - { - //FIXME - print("menu Close to be done") - } - - - - // make a copy of current document, and save - internal func doSaveAs() - { - //FIXME - print("menu Save as... to be done") - } - - - - // save current document as PDF - internal func doSaveAsPDF() - { - //FIXME - print("menu Save as PDF... to be done") - } - - - - // print current document - internal func startPrint() - { - //FIXME - print("menu Print... to be done") - } - - - - // *** Handling of DocumentViewController delegate functions - // this handles open/create/copy/delete document - - - - // Create an empty document, and present it - internal func documentBrowser(_ controller: UIDocumentBrowserViewController, - didRequestDocumentCreationWithHandler importHandler: @escaping (URL?, - UIDocumentBrowserViewController.ImportMode) -> Void) - { - //FIXME - } - - - - // import (copy from iCloud to iPad) document, open it and present it - internal func documentBrowser(_ controller: UIDocumentBrowserViewController, - didImportDocumentAt sourceURL: URL, - toDestinationURL destinationURL: URL) - { - //FIXME - } - - - - // Import failed, inform user - internal func documentBrowser(_ controller: UIDocumentBrowserViewController, - failedToImportDocumentAt documentURL: URL, - error: Error?) - { - //FIXME - } - - - - // open document and present it - internal func documentBrowser(_ controller: UIDocumentBrowserViewController, - didPickDocumentURLs documentURLs: [URL]) - { - openMenu?.dismiss(animated: true, completion: nil) - openMenu = nil - doOpen(documentURLs[0]) - } - - - - // *** Handling of document (open/print) - - - - // Real open and presentation of document - public func doOpen(_ docURL : URL) - { - LOKitThread.instance.documentLoad(url: docURL.absoluteString) - { - doc, error in - - if let document = doc - { - - runOnMain - { - self.setDocument(doc: document) - } - } - else - { - // TODO - alert user of failure - - } - } - - /* FIXME - BridgeLOkit_Sizing(4, 4, 256, 256); - */ - } - - /// Sets the document to use and set's up it's view. Should be called on the main thread - public func setDocument(doc: DocumentHolder) - { - if let _ = self.document - { - // TODO - cleanup - self.document = nil - } - if let existingView = self.documentView - { - existingView.removeFromSuperview() - self.documentView = nil // forces the close of the view and it's held documents before we setup the new one - } - // also remove current overlays and start fresh - documentOverlaysView?.removeFromSuperview() - - // setup the new doc view - self.document = doc - // setup delegates - doc.searchDelegate = self - - let frameToUse = self.scrollView.frame - - let docView = DocumentTiledView(frame: frameToUse, document: doc, scale: 1.0) - - self.scrollView.addSubview(docView) - self.scrollView.contentSize = docView.frame.size - self.documentView = docView - - // overlay view - let overlay = DocumentOverlaysView(docTiledView: docView) - docView.addSubview(overlay) - self.documentOverlaysView = overlay - - // button view - used for spreadsheet tabs - if doc.isSpreadsheet - { - buttonScrollView.isHidden = false - buttonScrollView.setButtonLabels(labels: doc.partNames) - buttonScrollView.buttonClickedCallback = { - [weak self] index in - self?.document?.async { - $0.setPart(nPart: Int32(index)) - runOnMain { - self?.documentView?.setNeedsDisplay() - } - } - } - // make room for the scroll view - zeroInsets = UIEdgeInsets(top: 0, left: 0, bottom: buttonScrollView.height, right: 0) - } - else - { - zeroInsets = .zero - buttonScrollView.isHidden = true - } - scrollView.contentInset = zeroInsets - - // debugging view borders - /* - self.scrollView.layer.borderColor = UIColor.red.cgColor - self.scrollView.layer.borderWidth = 1.0 - docView.layer.borderColor = UIColor.green.cgColor - docView.layer.borderWidth = 1.0 - */ - } - - // MARK: - UIScrollViewDelegate -} - -extension DocumentController: UIScrollViewDelegate -{ - // return a view that will be scaled. if delegate returns nil, nothing happens - func viewForZooming(in scrollView: UIScrollView) -> UIView? - { - return self.documentView - } - - // called before the scroll view begins zooming its content - func scrollViewWillBeginZooming(_ scrollView: UIScrollView, with view: UIView?) - { - print("scrollViewWillBeginZooming currentScale=\(scrollView.zoomScale)") - } - - // scale between minimum and maximum. called after any 'bounce' animations - func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) - { - print("scrollViewDidEndZooming scale=\(scale)") - self.documentView?.scrollViewDidEndZooming(scrollView, with: view, atScale: scale) - } -} - - // MARK: - UIKeyInput -// public var hasText: Bool -// { -// true -// } -// -// -// public func insertText(_ text: String) -// { -// -// } -// -// public func deleteBackward() -// { -// -// } - -extension DocumentController: ProgressDelegate -{ - // MARK: - ProgressDelegate - func statusIndicatorStart() - { - self.mask?.isHidden = false - self.progressBar?.isHidden = false - self.progressBar?.progress = 0.0 - } - - func statusIndicatorFinish() - { - // what would be nice would be to be able to wait until the initial tiles have rendered... - self.mask?.isHidden = true - self.progressBar?.isHidden = true - } - - func statusIndicatorSetValue(value: Double) - { - self.progressBar?.progress = Float(value) / 100.0 - } -} - -extension DocumentController: UISearchBarDelegate -{ - // called when text changes (including clear) - func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) - { - - } - - - // called when keyboard search button pressed - func searchBarSearchButtonClicked(_ searchBar: UISearchBar) - { - if let text = searchBar.text - { - if text.count > 0 - { - document?.search(searchString: text, forwardDirection: true, from: CGPoint(x:0, y:0) ) - } - } - } - - func searchBarCancelButtonClicked(_ searchBar: UISearchBar) - { - searchBar.isHidden = true - } -} - -extension DocumentController: SearchDelegate -{ - func searchNotFound() - { - // TODO: tell user somehow - self.documentOverlaysView?.clearSearchResults() - } - - func searchResultSelection(searchResults: SearchResults) - { - self.documentOverlaysView?.setSearchResults(searchResults: searchResults) - } -} - -/// Keyboard notifications -extension DocumentController -{ - - func registerKeyboardNotifications() - { - NotificationCenter.default.addObserver(self, - selector: #selector(keyboardWillShow(notification:)), - name: NSNotification.Name.UIKeyboardWillShow, - object: nil) - NotificationCenter.default.addObserver(self, - selector: #selector(keyboardWillHide(notification:)), - name: NSNotification.Name.UIKeyboardWillHide, - object: nil) - } - - @objc func keyboardWillShow(notification: NSNotification) - { - - let userInfo: NSDictionary = notification.userInfo! as NSDictionary - guard let keyboardInfo = userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue else { return } - print(userInfo) - let keyboardSize = keyboardInfo.cgRectValue.size - print("keyboardWillShow \(keyboardSize)") - let contentInsets = UIEdgeInsets(top: 0, left: 0, bottom: keyboardSize.height, right: 0) - scrollView.contentInset = contentInsets - scrollView.scrollIndicatorInsets = contentInsets - } - - @objc func keyboardWillHide(notification: NSNotification) - { - print("keyboardWillHide") - scrollView.contentInset = zeroInsets - scrollView.scrollIndicatorInsets = zeroInsets - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/DocumentOverlaysView.swift b/ios/LibreOfficeLight/LibreOfficeLight/DocumentOverlaysView.swift deleted file mode 100644 index 16bc35c0a0ac..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/DocumentOverlaysView.swift +++ /dev/null @@ -1,68 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import UIKit - -public class DocumentOverlaysView: UIView -{ - var searchSubViews: [UIView] = [] - weak var documentTiledView: DocumentTiledView? = nil - - public init(docTiledView: DocumentTiledView) - { - self.documentTiledView = docTiledView - super.init(frame: docTiledView.frame) - - self.layer.compositingFilter = "multiplyBlendMode" - } - - required public init?(coder aDecoder: NSCoder) - { - fatalError("init(coder:) has not been implemented") - } - - public func clearSearchResults() - { - for v in self.searchSubViews - { - v.removeFromSuperview() - } - searchSubViews = [] - } - - public func setSearchResults(searchResults: SearchResults) - { - clearSearchResults() - - guard let documentTiledView = self.documentTiledView else { return } - - if let srs = searchResults.searchResultSelection - { - let allTheRects = srs.compactMap { $0.rectsAsCGRects } - .flatMap { $0 } - .map { documentTiledView.twipsToPixels(rect: $0) } - - for rect in allTheRects - { - let subView = UIView(frame: rect) - subView.backgroundColor = UIColor.yellow // TODO - subView.layer.compositingFilter = "multiplyBlendMode" - self.addSubview(subView) - searchSubViews.append(subView) - } - - if let first = allTheRects.first - { - if let scrollView = self.superview?.superview as? UIScrollView - { - scrollView.scrollRectToVisible(first, animated: true) - } - } - } - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/DocumentTiledView.swift b/ios/LibreOfficeLight/LibreOfficeLight/DocumentTiledView.swift deleted file mode 100644 index f0a36878c4b3..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/DocumentTiledView.swift +++ /dev/null @@ -1,244 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import UIKit -import QuartzCore - - -class DocumentTiledLayer : CATiledLayer -{ - override class func fadeDuration() -> CFTimeInterval - { - return 0 - } -} - -/// The main tiled view, which sits inside the scroll view -public class DocumentTiledView: UIView -{ - var myScale: CGFloat - - weak var document: DocumentHolder? = nil - - let initialSize: CGSize - let docSize: CGSize - let initialScaleFactor: CGFloat - - var drawCount = 0 - - // Create a new view with the desired frame and scale. - public init(frame: CGRect, document: DocumentHolder, scale: CGFloat) - { - self.document = document - - myScale = scale - initialSize = frame.size - var size = document.sync { $0.getDocumentSizeAsCGSize() } - - // avoid divide by zero crashes - if (size.width == 0) - { - size.width = 1 - } - if (size.height == 0) - { - size.height = 1 - } - self.docSize = size - initialScaleFactor = (docSize.width / initialSize.width) - let scaledFrame = CGRect(x: 0, y: 0, width: frame.width, height: frame.width * (docSize.height / docSize.width)) - - print("DocumentTiledView.init frame=\(frame.desc) \n scaledFrame=\(scaledFrame.desc)\n docSize=\(docSize) \n initialScaleFactor=\(initialScaleFactor)") - super.init(frame: scaledFrame) - - //self.contentScaleFactor = 1.0 - - if let tiledLayer = self.layer as? CATiledLayer - { - // these are all tweakable parameters, that give different behaviour to the tiled view - tiledLayer.levelsOfDetail = 4 - tiledLayer.levelsOfDetailBias = 7 - tiledLayer.tileSize = CGSize(width: 1024.0, height: 1024.0) - //tiledLayer.tileSize = CGSize(width: 512.0, height: 512.0) - } - - let tap = UITapGestureRecognizer(target: self, action: #selector(onTap) ) - tap.numberOfTapsRequired = 1 - self.addGestureRecognizer(tap) - - if (document.isPresentation) // only for preso atm - { - // add swipe left/right gestures on a preso - let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(onSwipeRight)) - swipeRight.direction = .right - self.addGestureRecognizer(swipeRight) - - let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(onSwipeLeft)) - swipeLeft.direction = .left - self.addGestureRecognizer(swipeLeft) - } - } - - required public init?(coder aDecoder: NSCoder) - { - fatalError("init(coder:) has not been implemented") - } - - func incrementPart(amount: Int) - { - document?.incrementPart(amount: Int32(amount)) - document?.async { _ in - runOnMain { self.setNeedsDisplay() } - } - } - - public func twipsToPixels(rect: CGRect) -> CGRect - { - return rect.applying(CGAffineTransform(scaleX: 1.0/initialScaleFactor, y: 1.0/initialScaleFactor )) - } - - public func pixelsToTwips(rect: CGRect) -> CGRect - { - return rect.applying(CGAffineTransform(scaleX: initialScaleFactor, y: initialScaleFactor )) - } - - - override public class var layerClass : AnyClass - { - return DocumentTiledLayer.self - } - - - override public func draw(_ r: CGRect) - { - // UIView uses the existence of -drawRect: to determine if it should allow its CALayer - // to be invalidated, which would then lead to the layer creating a backing store and - // -drawLayer:inContext: being called. - // By implementing an empty -drawRect: method, we allow UIKit to continue to implement - // this logic, while doing our real drawing work inside of -drawLayer:inContext: - } - - // Draw the CGPDFPageRef into the layer at the correct scale. - override public func draw(_ layer: CALayer, in context: CGContext) - { -// if self.superview == nil -// { -// // check that we are still active - ios is doing some really funny things where this method gets called after dealloc which causes bad bad karma -// return -// } - guard let document = self.document else - { - return - } - - guard let tiledLayer = layer as? CATiledLayer else { return } - - - - let tileSize: CGSize = tiledLayer.tileSize - let box: CGRect = context.boundingBoxOfClipPath - let ctm: CGAffineTransform = context.ctm - - drawCount += 1 - let filename = "tile\(drawCount).png" - - print("drawLayer \(filename)\n bounds=\(layer.bounds.desc)\n ctm.a=\(ctm.a)\n tileSize=\(tileSize)\n box=\(box.desc)") - - //context.setFillColor(UIColor.white.cgColor) - context.setFillColor(UIColor.blue.cgColor) - context.fill(box) - context.saveGState() - - context.interpolationQuality = CGInterpolationQuality.high - context.setRenderingIntent(CGColorRenderingIntent.defaultIntent) - - // This is where the magic happens - - let pageRect = pixelsToTwips(rect: box) - print(" pageRect: \(pageRect.desc)") - - // Figure out how many pixels we need for the dimensions of our tile - // tileSize represents a "full size" one in pixels - - //let fullSizeTileInPoints = CGSize(width: CGFloat(tileSize.width) / ctm.a, height: CGFloat(tileSize.height) / ctm.a) - //let cropRectTileFraction = CGSize(width: box.size.width / fullSizeTileInPoints.width, height: box.size.height / fullSizeTileInPoints.height) - //let bitmapSize = CGSize(width: tileSize.width * cropRectTileFraction.width, height: tileSize.height * cropRectTileFraction.height) - - let canvasSize = tileSize; //CGSize(width:512, height:512) // FIXME - this needs to be calculated - - // we have to do the call synchronously, as the tile has to be painted now, on the current thread - // TODO - cache the image, and check the cache before we do the sync call - let image = document.paintTileToImage(canvasSize: canvasSize, tileRect: pageRect) - - - if let img = image - { - // Debugging: write the file to disk - /* - if let data = UIImagePNGRepresentation(img) - { - let filename = getDocumentsDirectory().appendingPathComponent(filename) - try? data.write(to: filename) - print("Wrote tile to: \(filename)") - } - */ - - // We use the UIImage draw function as it automatically handles the flipping of the co-ordinate system for us. - UIGraphicsPushContext(context); - img.draw(in: box) - UIGraphicsPopContext() - } - - context.restoreGState() - - - } - - - deinit - { - self.document = nil - - } - - - func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) - { - //self.setNeedsDisplay() - } - - -} - -/// Gesture handlers -public extension DocumentTiledView -{ - @objc func onTap(_ sender: UITapGestureRecognizer) - { - if (document?.isPresentation ?? false) - { - incrementPart(amount: 1) - } - } - - @objc func onSwipeRight(_ sender: UISwipeGestureRecognizer) - { - if (document?.isPresentation ?? false) - { - incrementPart(amount: -1) - } - } - - @objc func onSwipeLeft(_ sender: UISwipeGestureRecognizer) - { - if (document?.isPresentation ?? false) - { - incrementPart(amount: 1) - } - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Info.plist b/ios/LibreOfficeLight/LibreOfficeLight/Info.plist deleted file mode 100644 index 82ce94908030..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Info.plist +++ /dev/null @@ -1,1812 +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>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Text</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.text</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Text</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.text</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Spreadsheet</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.spreadsheet</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Spreadsheet</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.spreadsheet</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Presentation</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.presentation</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Presentation</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.presentation</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Drawing</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.graphics</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Drawing</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.graphics</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Chart</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.chart</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Master</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.text-master</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Master</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.text-master</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Formula</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.formula</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Formula</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.formula</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Text Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.text-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Text Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.text-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Master Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.text-master-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Spreadsheet Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.spreadsheet-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Spreadsheet Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.spreadsheet-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Presentation Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.presentation-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Presentation Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.presentation-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenOffice.org 1.0 Drawing Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.graphics-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>OpenDocument Drawing Template</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.oasis-open.opendocument.graphics-template</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>LibreOfficeDev Extension</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>org.openoffice.extension</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>Flat ODF</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Owner</string> - <key>LSItemContentTypes</key> - <array> - <string>vnd.oasis.opendocument.text-flat-xml</string> - <string>vnd.oasis.opendocument.spreadsheet-flat-xml</string> - <string>vnd.oasis.opendocument.presentation-flat-xml</string> - <string>vnd.oasis.opendocument.graphics-flat-xml</string> - </array> - </dict> - <dict> - <key>CFBundleTypeName</key> - <string>3rd party formats</string> - <key>CFBundleTypeRole</key> - <string>Editor</string> - <key>LSHandlerRank</key> - <string>Alternate</string> - <key>LSItemContentTypes</key> - <array> - <string>public.plain-text</string> - <string>public.rtf</string> - <string>public.html</string> - <string>public.jpeg</string> - <string>public.tiff</string> - <string>public.png</string> - <string>public.xbitmap-image</string> - <string>com.adobe.encapsulated-postscript</string> - <string>com.microsoft.bmp</string> - <string>com.microsoft.word.doc</string> - <string>com.microsoft.word.dot</string> - <string>com.microsoft.excel.xls</string> - <string>com.microsoft.powerpoint.ppt</string> - <string>org.openxmlformats.wordprocessingml.document</string> - <string>org.openxmlformats.wordprocessingml.document.macroEnabled</string> - <string>org.openxmlformats.wordprocessingml.template</string> - <string>org.openxmlformats.wordprocessingml.template.macroEnabled</string> - <string>org.openxmlformats.spreadsheetml.sheet</string> - <string>org.openxmlformats.spreadsheetml.sheet.macroEnabled</string> - <string>com.microsoft.excel.sheet.binary.macroEnabled</string> - <string>org.openxmlformats.spreadsheetml.template</string> - <string>org.openxmlformats.spreadsheetml.template.macroEnabled</string> - <string>org.openxmlformats.presentationml.presentation</string> - <string>org.openxmlformats.presentationml.presentation.macroEnabled</string> - <string>org.openxmlformats.presentationml.template</string> - <string>org.openxmlformats.presentationml.template.macroEnabled</string> - <string>org.libreoffice.pdb-document</string> - <string>org.libreoffice.wpd-document</string> - <string>org.libreoffice.hwp-document</string> - <string>org.libreoffice.wks-document</string> - <string>org.libreoffice.wri-document</string> - <string>org.libreoffice.dif-document</string> - <string>org.libreoffice.slk-document</string> - <string>org.libreoffice.csv-document</string> - <string>org.libreoffice.dbf-document</string> - <string>org.libreoffice.123-document</string> - <string>org.libreoffice.cgm-document</string> - <string>org.libreoffice.dxf-document</string> - <string>org.libreoffice.emf-document</string> - <string>org.libreoffice.wmf-document</string> - <string>org.libreoffice.cdr-document</string> - <string>org.libreoffice.visio-document</string> - <string>org.libreoffice.mspub-document</string> - <string>com.adobe.pdf</string> - </array> - </dict> - </array> - <key>CFBundleExecutable</key> - <string>$(EXECUTABLE_NAME)</string> - <key>CFBundleIdentifier</key> - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>$(PRODUCT_NAME)</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>0.8.5</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1</string> - <key>LSApplicationCategoryType</key> - <string>public.app-category.business</string> - <key>LSMultipleInstancesProhibited</key> - <true/> - <key>LSRequiresIPhoneOS</key> - <true/> - <key>LSSupportsOpeningDocumentsInPlace</key> - <true/> - <key>NSHighResolutionCapable</key> - <true/> - <key>NSHumanReadableCopyright</key> - <string>The Source Code Form is subject to the terms of the Mozilla Public -License, v. 2.0. If a copy of the MPL was not distributed with this -file, You can obtain one at http://mozilla.org/MPL/2.0/.</string> - <key>NSUbiquitousContainers</key> - <dict> - <key>iCloud.com.jani.Editors.LibreOfficeLight</key> - <dict> - <key>NSUbiquitousContainerIsDocumentScopePublic</key> - <true/> - <key>NSUbiquitousContainerName</key> - <string>LibreOffice</string> - <key>NSUbiquitousContainerSupportedFolderLevels</key> - <string>None</string> - </dict> - </dict> - <key>UIFileSharingEnabled</key> - <true/> - <key>UILaunchStoryboardName</key> - <string>LaunchScreen.xib</string> - <key>UIMainStoryboardFile</key> - <string>Main</string> - <key>UIRequiredDeviceCapabilities</key> - <array> - <string>armv7</string> - </array> - <key>UIRequiresFullScreen</key> - <false/> - <key>UISupportedInterfaceOrientations</key> - <array> - <string>UIInterfaceOrientationPortraitUpsideDown</string> - <string>UIInterfaceOrientationPortrait</string> - <string>UIInterfaceOrientationLandscapeLeft</string> - <string>UIInterfaceOrientationLandscapeRight</string> - </array> - <key>UISupportsDocumentBrowser</key> - <true/> - <key>UTExportedTypeDeclarations</key> - <array> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Text</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.text</string> - <key>UTTypeSize64IconFile</key> - <string>text.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>sxw</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.writer</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Text</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.text</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-text.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>odt</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.text</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Text (Flat XML)</string> - <key>UTTypeIdentifier</key> - <string>vnd.oasis.opendocument.text-flat-xml</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-text.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>fodt</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.text-flat-xml</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Spreadsheet</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.spreadsheet</string> - <key>UTTypeSize64IconFile</key> - <string>spreadsheet.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>sxc</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.calc</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Spreadsheet</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.spreadsheet</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-spreadsheet.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>ods</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.spreadsheet</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Spreadsheet (Flat XML)</string> - <key>UTTypeIdentifier</key> - <string>vnd.oasis.opendocument.spreadsheet-flat-xml</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-spreadsheet.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>fods</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.spreadsheet-flat-xml</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Presentation</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.presentation</string> - <key>UTTypeSize64IconFile</key> - <string>presentation.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>sxi</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.impress</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Presentation</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.presentation</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-presentation.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>odp</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.presentation</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Presentation</string> - <key>UTTypeIdentifier</key> - <string>vnd.oasis.opendocument.presentation-flat-xml</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-presentation.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>fodp</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.presentation-flat-xml</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Drawing</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.graphics</string> - <key>UTTypeSize64IconFile</key> - <string>drawing.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>sxd</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.draw</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Drawing</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.graphics</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-drawing.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>odg</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.graphics</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Drawing (Flat XML)</string> - <key>UTTypeIdentifier</key> - <string>vnd.oasis.opendocument.graphics-flat-xml</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-drawing.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>fodg</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.graphics-flat-xml</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Chart</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.chart</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>odc</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.chart</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Master</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.text-master</string> - <key>UTTypeSize64IconFile</key> - <string>master-document.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>sxg</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.writer.global</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Master</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.text-master</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-master-document.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>odm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.text-master</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Formula</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.formula</string> - <key>UTTypeSize64IconFile</key> - <string>formula.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>sxm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.math</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Formula</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.formula</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-formula.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>odf</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.formula</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Text Template</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.text-template</string> - <key>UTTypeSize64IconFile</key> - <string>text-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>stw</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.writer.template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Text Template</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.text-template</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-text-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>ott</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.text-template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Text Master Template</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.text-master-template</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-master-document-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>otm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.text-master-template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Spreadsheet Template</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.spreadsheet-template</string> - <key>UTTypeSize64IconFile</key> - <string>spreadsheet-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>stc</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.calc.template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Spreadsheet Template</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.spreadsheet-template</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-spreadsheet-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>ots</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.spreadsheet-template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Presentation Template</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.presentation-template</string> - <key>UTTypeSize64IconFile</key> - <string>presentation-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>sti</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.impress.template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Presentation Template</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.presentation-template</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-presentation-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>otp</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.presentation-template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenOffice.org 1.0 Drawing Template</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.graphics-template</string> - <key>UTTypeSize64IconFile</key> - <string>drawing-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>std</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.sun.xml.draw.template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>OpenDocument Drawing Template</string> - <key>UTTypeIdentifier</key> - <string>org.oasis-open.opendocument.graphics-template</string> - <key>UTTypeSize64IconFile</key> - <string>oasis-drawing-template.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>otg</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.oasis.opendocument.graphics-template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>LibreOfficeDev Extension</string> - <key>UTTypeIdentifier</key> - <string>org.openoffice.extension</string> - <key>UTTypeSize64IconFile</key> - <string>extension.icns</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>oxt</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.openofficeorg.extension</string> - </array> - </dict> - </dict> - </array> - <key>UTImportedTypeDeclarations</key> - <array> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.composite-content</string> - </array> - <key>UTTypeDescription</key> - <string>Microsoft Word Template</string> - <key>UTTypeIdentifier</key> - <string>com.microsoft.word.dot</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>dot</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/msword</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML word processing document</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.wordprocessingml.document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>docx</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.openxmlformats-officedocument.wordprocessingml.document</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML word processing document (macros enabled)</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.wordprocessingml.document.macroEnabled</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>docm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-word.document.macroEnabled.12</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML word processing template</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.wordprocessingml.template</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>dotx</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.openxmlformats-officedocument.wordprocessingml.template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML word processing template (macros enabled)</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.wordprocessingml.template.macroEnabled</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>dotm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-word.template.macroEnabled.12</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML spreadsheet template</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.spreadsheetml.template</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>xltx</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.openxmlformats-officedocument.spreadsheetml.template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML spreadsheet template (macros enabled)</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.spreadsheetml.template.macroEnabled</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>xltm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-excel.template.macroEnabled.12</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML spreadsheet</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.spreadsheetml.sheet</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>xlsx</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.zip-archive</string> - <string>public.composite-content</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Microsoft Excel 2007 spreadsheet (macros enabled)</string> - <key>UTTypeIdentifier</key> - <string>com.microsoft.excel.sheet.binary.macroEnabled</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>xlsb</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-excel.sheet.binary.macroEnabled.12</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.composite-content</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML spreadsheet (macros enabled)</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.spreadsheetml.sheet.macroEnabled</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>xlsm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-excel.sheet.macroEnabled.12</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.presentation</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML presentation</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.presentationml.presentation</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>pptx</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.openxmlformats-officedocument.presentationml.presentation</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.presentation</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML presentation (macros enabled)</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.presentationml.presentation.macroEnabled</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>pptm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-powerpoint.presentation.macroEnabled.12</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.presentation</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML presentation template</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.presentationml.template</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>potx</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.openxmlformats-officedocument.presentationml.template</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>org.openxmlformats.openxml</string> - <string>public.presentation</string> - <string>public.executable</string> - </array> - <key>UTTypeDescription</key> - <string>Office Open XML presentation template (macros enabled)</string> - <key>UTTypeIdentifier</key> - <string>org.openxmlformats.presentationml.template.macroEnabled</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>potm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-powerpoint.template.macroEnabled.12</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>WordPerfect Document</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.wpd-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>wpd</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.wordperfect</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>PalmDoc eBook </string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.pdb-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>pdb</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/x-aportisdoc</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Hangul WP 97 Document</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.hwp-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>hwp</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/x-hwp</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Microsoft Works for Mac Document (v1 - v4)</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.wks-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>wps</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.ms-works</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Microsoft Write</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.wri-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>wri</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/x-mswrite</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Data Interchange Format</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.dif-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>dif</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/x-dif-document</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.text</string> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>SYLK Document</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.slk-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>slk</string> - </array> - <key>public.mime-type</key> - <array> - <string>text/spreadsheet</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.text</string> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Comma-Separated Value Document</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.csv-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>csv</string> - </array> - <key>public.mime-type</key> - <array> - <string>text/csv</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>dBASE Document</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.dbf-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>dbf</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/x-dbase</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Lotus 1-2-3 Spreadsheet</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.123-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>wk1</string> - <string>wks</string> - <string>123</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.lotus-1-2-3</string> - <string>application/vnd.lotus-1-2-3</string> - <string>application/vnd.lotus-1-2-3</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - <string>public.image</string> - </array> - <key>UTTypeDescription</key> - <string>Computer Graphics Metafile</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.cgm-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>cgm</string> - </array> - <key>public.mime-type</key> - <array> - <string>image/cgm</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - <string>public.image</string> - </array> - <key>UTTypeDescription</key> - <string>AutoCAD Interchange Format</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.dxf-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>dxf</string> - </array> - <key>public.mime-type</key> - <array> - <string>image/vnd.dxf</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - <string>public.image</string> - </array> - <key>UTTypeDescription</key> - <string>Windows Enhanced Metafile</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.emf-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>emf</string> - </array> - <key>public.mime-type</key> - <array> - <string>image/x-emf</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - <string>public.image</string> - </array> - <key>UTTypeDescription</key> - <string>Windows Metafile</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.wmf-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>wmf</string> - </array> - <key>public.mime-type</key> - <array> - <string>image/x-wmf</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - <string>public.image</string> - </array> - <key>UTTypeDescription</key> - <string>CorelDRAW Image</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.cdr-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>cdr</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/cdr</string> - <string>application/coreldraw</string> - <string>application/vnd.corel-draw</string> - <string>application/x-cdr</string> - <string>application/x-coreldraw</string> - <string>image/cdr</string> - <string>image/x-cdr</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Microsoft Visio Document</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.visio-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>vsd</string> - <string>vss</string> - <string>vst</string> - <string>vdx</string> - <string>vsx</string> - <string>vtx</string> - <string>vsdx</string> - <string>vsdm</string> - <string>vssx</string> - <string>vssm</string> - <string>vstx</string> - <string>vstm</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/vnd.visio2013</string> - <string>application/vnd.visio</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.content</string> - </array> - <key>UTTypeDescription</key> - <string>Microsoft Publisher Document</string> - <key>UTTypeIdentifier</key> - <string>org.libreoffice.mspub-document</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>pub</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/x-mspublisher</string> - </array> - </dict> - </dict> - <dict> - <key>UTTypeConformsTo</key> - <array> - <string>public.data</string> - <string>public.composite-content</string> - </array> - <key>UTTypeDescription</key> - <string>Apple PDF pasteboard type PDF data</string> - <key>UTTypeIdentifier</key> - <string>com.adobe.pdf</string> - <key>UTTypeTagSpecification</key> - <dict> - <key>public.filename-extension</key> - <array> - <string>pdf</string> - </array> - <key>public.mime-type</key> - <array> - <string>application/pdf</string> - </array> - </dict> - </dict> - </array> -</dict> -</plist> diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/AsyncUtil.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/AsyncUtil.swift deleted file mode 100644 index 52f8c1bddced..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/AsyncUtil.swift +++ /dev/null @@ -1,92 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation - - -public typealias Runnable = () -> () - -/// Runs the closure on a queued background thread -public func runInBackground(_ runnable: @escaping Runnable) -{ - DispatchQueue.global(qos: .background).async(execute: runnable) -} - - -/// Runs the closure on the UI (main) thread. Exceptions are caught and logged -public func runOnMain(_ runnable: @escaping () -> ()) -{ - DispatchQueue.main.async(execute: runnable) -} - -/// Returns true if we are on the Main / UI thread -public func isMainThread() -> Bool -{ - return Thread.isMainThread -} - -/// Runs tasks in a serial way on a single thread. -/// Why wouldn't we just use DispatchQueue or NSOperationQueue to do this? -/// Because neither guarantee running their tasks on the same thread all the time. -/// And in fact DispatchQueue will try and run sync tasks on the current thread where it can. -/// Both classes try and abstract the thread away, whereas we have to use the same thread, or we end up with deadlocks in LOKit -public class SingleThreadedQueue: Thread -{ - public init(name: String) - { - super.init() - self.name = name - self.start() - } - - override public func main() - { - // You need the NSPort here because a runloop with no sources or ports registered with it - // will simply exit immediately instead of running forever. - let keepAlive = Port() - let rl = RunLoop.current - keepAlive.schedule(in: rl, forMode: .commonModes) - - rl.run() - } - - /// Run the task on the serial queue, and return immediately - public func async( _ runnable: @escaping Runnable) - { - let operation = BlockOperation { - runnable() - } - async(operation: operation) - } - - /// Run the task on the serial queue, and return immediately - public func async( operation: Operation) - { - if ( Thread.current == self) - { - operation.start(); - } - else - { - operation.perform(#selector(Operation.start), on: self, with: nil, waitUntilDone: false) - } - } - - public func sync<R>( _ closure: @escaping () -> R ) -> R - { - var ret: R! = nil - let op = BlockOperation { - ret = closure(); - } - async(operation: op) - op.waitUntilFinished() - return ret - } - -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/Document.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/Document.swift deleted file mode 100644 index 53772c636a9e..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/Document.swift +++ /dev/null @@ -1,592 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation -import UIKit -import QuartzCore - - -/// The Document class represents one loaded document instance -/// Obtained through LibreOffice.documentLoad() -open class Document -{ - private let pDoc: UnsafeMutablePointer<LibreOfficeKitDocument> - private let docClass: LibreOfficeKitDocumentClass - - internal init(pDoc: UnsafeMutablePointer<LibreOfficeKitDocument>) - { - self.pDoc = pDoc - self.docClass = pDoc.pointee.pClass.pointee - } - - /** - * Stores the document's persistent data to a URL and - * continues to be a representation of the old URL. - * - * @param pUrl the location where to store the document - * @param pFormat the format to use while exporting, when omitted, then deducted from pURL's extension - * @param pFilterOptions options for the export filter, e.g. SkipImages. - * Another useful FilterOption is "TakeOwnership". It is consumed - * by the saveAs() itself, and when provided, the document identity - * changes to the provided pUrl - meaning that '.uno:ModifiedStatus' - * is triggered as with the "Save As..." in the UI. - * "TakeOwnership" mode must not be used when saving to PNG or PDF. - */ - public func saveAs(url: String, format: String? = nil, filterOptions: String? = nil) -> Bool - { - return docClass.saveAs(pDoc, url, format, filterOptions) != 0 - } - - /** - * Get document type. - * - * @since LibreOffice 6.0 - * @return an element of the LibreOfficeKitDocumentType enum. - */ - public func getDocumentType() -> LibreOfficeKitDocumentType - { - return LibreOfficeKitDocumentType(rawValue: LibreOfficeKitDocumentType.RawValue(docClass.getDocumentType(pDoc))) - } - - /** - * Get number of part that the document contains. - * - * Part refers to either individual sheets in a Calc, or slides in Impress, - * and has no relevance for Writer. - */ - public func getParts() -> Int32 - { - return docClass.getParts(pDoc); - } - - public func initializeForRendering() - { - docClass.initializeForRendering(pDoc, "") // TODO: arguments?? - } - - /** - * Get the logical rectangle of each part in the document. - * - * A part refers to an individual page in Writer and has no relevant for - * Calc or Impress. - * - * @return a rectangle list, using the same format as - * LOK_CALLBACK_TEXT_SELECTION. - */ - public func getPartRectangles() -> String - { - return toString( docClass.getPartPageRectangles(pDoc) ) ?? "" - - // TODO: convert to CGRects? Comes out like "284, 284, 11906, 16838; 284, 17406, 11906, 16838; 284, 34528, 11906, 16838" - - } - - /// Get the current part of the document. - public func getPart() -> Int32 - { - return docClass.getPart(pDoc); - } - - /// Set the current part of the document. - public func setPart( nPart: Int32 ) - { - docClass.setPart(pDoc, nPart); - } - - /// Get the current part's name. - public func getPartName( nPart: Int32) -> String? - { - return toString( docClass.getPartName(pDoc, nPart) ) - - } - - /// Get the current part's hash. - public func getPartHash( nPart: Int32 ) -> String? - { - return toString( docClass.getPartHash(pDoc, nPart) ) - - } - - public func setPartMode( nMode: Int32 ) - { - docClass.setPartMode( pDoc, nMode); - } - - /** - * Renders a subset of the document to a pre-allocated buffer. - * - * Note that the buffer size and the tile size implicitly supports - * rendering at different zoom levels, as the number of rendered pixels and - * the rendered rectangle of the document are independent. - * - * @param rCGContext Core Graphics context, cast to a UnsafeMutableRawPointer - * @param nCanvasWidth number of pixels in a row of pBuffer. - * @param nCanvasHeight number of pixels in a column of pBuffer. - * @param nTilePosX logical X position of the top left corner of the rendered rectangle, in TWIPs. - * @param nTilePosY logical Y position of the top left corner of the rendered rectangle, in TWIPs. - * @param nTileWidth logical width of the rendered rectangle, in TWIPs. - * @param nTileHeight logical height of the rendered rectangle, in TWIPs. - */ - public func paintTileToCGContext( rCGContext: UnsafeMutableRawPointer, - canvasWidth: Int32, - canvasHeight: Int32, - tilePosX: Int32, - tilePosY: Int32, - tileWidth: Int32, - tileHeight: Int32) - { - print("paintTile canvasWidth=\(canvasWidth) canvasHeight=\(canvasHeight) tilePosX=\(tilePosX) tilePosY=\(tilePosY) tileWidth=\(tileWidth) tileHeight=\(tileHeight) ") - return docClass.paintTileToCGContext(pDoc, rCGContext, canvasWidth, canvasHeight, - tilePosX, tilePosY, tileWidth, tileHeight); - } - - /** - * Renders a window (dialog, popup, etc.) with give id - * - * @param nWindowId - * @param pBuffer Buffer with enough memory allocated to render any dialog - * @param x x-coordinate from where the dialog should start painting - * @param y y-coordinate from where the dialog should start painting - * @param width The width of the dialog image to be painted - * @param height The height of the dialog image to be painted - */ - public func paintWindow( nWindowId: UInt32, - pBuffer: UnsafeMutablePointer<UInt8>, - x: Int32, - y: Int32, - width: Int32, - height: Int32) - { - return docClass.paintWindow(pDoc, nWindowId, pBuffer, x, y, width, height); - } - - /** - * Posts a command to the window (dialog, popup, etc.) with given id - * - * @param nWindowid - */ - public func postWindow( nWindowId: UInt32, nAction: Int32, data: String) - { - return docClass.postWindow(pDoc, nWindowId, nAction, data); - } - - /** - * Gets the tile mode: the pixel format used for the pBuffer of paintTile(). - * - * @return an element of the LibreOfficeKitTileMode enum. - */ - public func getTileMode() -> LibreOfficeKitTileMode - { - return LibreOfficeKitTileMode(rawValue: LibreOfficeKitTileMode.RawValue(docClass.getTileMode(pDoc))); - } - - /// Get the document sizes in TWIPs. - public func getDocumentSize() -> (Int, Int) - { - print(Thread.isMainThread) - // long* pWidth, long* pHeight - var pWidth: Int = 0 - var pHeight: Int = 0 - docClass.getDocumentSize(pDoc, &pWidth, &pHeight); - return (pWidth, pHeight) - } - - /** - * Initialize document for rendering. - * - * Sets the rendering and document parameters to default values that are - * needed to render the document correctly using tiled rendering. This - * method has to be called right after documentLoad() in case any of the - * tiled rendering methods are to be used later. - * - * Example argument string for text documents: - * - * { - * ".uno:HideWhitespace": - * { - * "type": "boolean", - * "value": "true" - * } - * } - * - * @param pArguments arguments of the rendering - */ - public func initializeForRendering(arguments: String? = nil) - { - docClass.initializeForRendering(pDoc, arguments); - } - - /** - * Registers a callback. LOK will invoke this function when it wants to - * inform the client about events. - * - * @param pCallback the callback to invoke - * @param pData the user data, will be passed to the callback on invocation - */ - @discardableResult - public func registerCallback( callback: @escaping LibreOfficeCallback ) -> Int - { - let ret = Callbacks.register(callback: callback) - let pointer = UnsafeMutableRawPointer(bitPattern: ret) - docClass.registerCallback(pDoc, callbackFromLibreOffice, pointer) - return ret - } - - /** - * Posts a keyboard event to the focused frame. - * - * @param nType Event type, like press or release. - * @param nCharCode contains the Unicode character generated by this event or 0 - * @param nKeyCode contains the integer code representing the key of the event (non-zero for control keys) - */ - public func postKeyEvent(nType: Int32, nCharCode: Int32, nKeyCode: Int32) - { - docClass.postKeyEvent(pDoc, nType, nCharCode, nKeyCode); - } - - /** - * Posts a keyboard event to the dialog - * - * @param nWindowId - * @param nType Event type, like press or release. - * @param nCharCode contains the Unicode character generated by this event or 0 - * @param nKeyCode contains the integer code representing the key of the event (non-zero for control keys) - */ - public func postWindowKeyEvent( nWindowId: UInt32, nType: Int32, nCharCode: Int32, nKeyCode: Int32) - { - docClass.postWindowKeyEvent(pDoc, nWindowId, nType, nCharCode, nKeyCode); - } - - /** - * Posts a mouse event to the document. - * - * @param nType Event type, like down, move or up. - * @param nX horizontal position in document coordinates - * @param nY vertical position in document coordinates - * @param nCount number of clicks: 1 for single click, 2 for double click - * @param nButtons: which mouse buttons: 1 for left, 2 for middle, 4 right - * @param nModifier: which keyboard modifier: (see include/vcl/vclenum.hxx for possible values) - */ - public func postMouseEvent( nType: Int32, nX: Int32, nY: Int32, nCount: Int32, nButtons: Int32, nModifier: Int32) - { - docClass.postMouseEvent(pDoc, nType, nX, nY, nCount, nButtons, nModifier); - } - - /** - * Posts a mouse event to the window with given id. - * - * @param nWindowId - * @param nType Event type, like down, move or up. - * @param nX horizontal position in document coordinates - * @param nY vertical position in document coordinates - * @param nCount number of clicks: 1 for single click, 2 for double click - * @param nButtons: which mouse buttons: 1 for left, 2 for middle, 4 right - * @param nModifier: which keyboard modifier: (see include/vcl/vclenum.hxx for possible values) - */ - public func postWindowMouseEvent(nWindowId: UInt32, nType: Int32, nX: Int32, nY: Int32, nCount: Int32, nButtons: Int32, nModifier: Int32) - { - docClass.postWindowMouseEvent(pDoc, nWindowId, nType, nX, nY, nCount, nButtons, nModifier); - } - - /** - * Posts a UNO command to the document. - * - * Example argument string: - * - * { - * "SearchItem.SearchString": - * { - * "type": "string", - * "value": "foobar" - * }, - * "SearchItem.Backward": - * { - * "type": "boolean", - * "value": "false" - * } - * } - * - * @param pCommand uno command to be posted to the document, like ".uno:Bold" - * @param pArguments arguments of the uno command. - */ - public func postUnoCommand(command: String, arguments: String? = nil, notifyWhenFinished: Bool = false) - { - docClass.postUnoCommand(pDoc, command, arguments, notifyWhenFinished); - } - - /** - * Sets the start or end of a text selection. - * - * @param nType @see LibreOfficeKitSetTextSelectionType - * @param nX horizontal position in document coordinates - * @param nY vertical position in document coordinates - */ - public func setTextSelection( nType: Int32, nX: Int32, nY: Int32) - { - docClass.setTextSelection(pDoc, nType, nX, nY); - } - - /** - * Gets the currently selected text. - * - * @param pMimeType suggests the return format, for example text/plain;charset=utf-8. - * @param pUsedMimeType output parameter to inform about the determined format (suggested one or plain text). - */ - // FIXME - work out how to use an inout param for usedMimeType - public func getTextSelection(mimeType: String, usedMimeType: UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>? = nil) -> String? - { - return toString( docClass.getTextSelection(pDoc, mimeType, usedMimeType) ); - } - - /** - * Pastes content at the current cursor position. - * - * @param pMimeType format of pData, for example text/plain;charset=utf-8. - * @param pData the actual data to be pasted. - * @return if the supplied data was pasted successfully. - */ - public func paste(mimeType: String, data: String, size: Int) -> Bool - { - return docClass.paste(pDoc, mimeType, data, size); - } - - /** - * Adjusts the graphic selection. - * - * @param nType @see LibreOfficeKitSetGraphicSelectionType - * @param nX horizontal position in document coordinates - * @param nY vertical position in document coordinates - */ - public func setGraphicSelection( nType: Int32, nX: Int32, nY: Int32) - { - docClass.setGraphicSelection(pDoc, nType, nX, nY); - } - - /** - * Gets rid of any text or graphic selection. - */ - public func resetSelection() - { - docClass.resetSelection(pDoc); - } - - /** - * Returns a json mapping of the possible values for the given command - * e.g. {commandName: ".uno:StyleApply", commandValues: {"familyName1" : ["list of style names in the family1"], etc.}} - * @param pCommand a UNO command for which the possible values are requested - * @return {commandName: unoCmd, commandValues: {possible_values}} - */ - public func getCommandValues(command: String) -> String? - { - return toString(docClass.getCommandValues(pDoc, command)); - } - - /** - * Save the client's view so that we can compute the right zoom level - * for the mouse events. This only affects CALC. - * @param nTilePixelWidth - tile width in pixels - * @param nTilePixelHeight - tile height in pixels - * @param nTileTwipWidth - tile width in twips - * @param nTileTwipHeight - tile height in twips - */ - public func setClientZoom( - nTilePixelWidth: Int32, - nTilePixelHeight: Int32, - nTileTwipWidth: Int32, - nTileTwipHeight: Int32) - { - docClass.setClientZoom(pDoc, nTilePixelWidth, nTilePixelHeight, nTileTwipWidth, nTileTwipHeight); - } - - /** - * Inform core about the currently visible area of the document on the - * client, so that it can perform e.g. page down (which depends on the - * visible height) in a sane way. - * - * @param nX - top left corner horizontal position - * @param nY - top left corner vertical position - * @param nWidth - area width - * @param nHeight - area height - */ - public func setClientVisibleArea( nX: Int32, nY: Int32, nWidth: Int32, nHeight: Int32) - { - docClass.setClientVisibleArea(pDoc, nX, nY, nWidth, nHeight); - } - - /** - * Show/Hide a single row/column header outline for Calc documents. - * - * @param bColumn - if we are dealing with a column or row group - * @param nLevel - the level to which the group belongs - * @param nIndex - the group entry index - * @param bHidden - the new group state (collapsed/expanded) - */ - public func setOutlineState( column: Bool, level: Int32, index: Int32, hidden: Bool) - { - docClass.setOutlineState(pDoc, column, level, index, hidden); - } - - /** - * Create a new view for an existing document. - * By default a loaded document has 1 view. - * @return the ID of the new view. - */ - public func createView() -> Int32 - { - return docClass.createView(pDoc); - } - - /** - * Destroy a view of an existing document. - * @param nId a view ID, returned by createView(). - */ - public func destroyView( id: Int32 ) - { - docClass.destroyView(pDoc, id); - } - - /** - * Set an existing view of an existing document as current. - * @param nId a view ID, returned by createView(). - */ - public func setView(id: Int32) - { - docClass.setView(pDoc, id); - } - - /** - * Get the current view. - * @return a view ID, previously returned by createView(). - */ - public func getView() -> Int32 - { - return docClass.getView(pDoc); - } - - /** - * Get number of views of this document. - */ - public func getViewsCount() -> Int32 - { - return docClass.getViewsCount(pDoc); - } - - /** - * Paints a font name or character if provided to be displayed in the font list - * @param pFontName the font to be painted - */ - // TODO -// public func renderFont(fontName: String, -// const char *pChar, -// int *pFontWidth, -// int *pFontHeight) -// { -// return docClass.renderFont(pDoc, pFontName, pChar, pFontWidth, pFontHeight); -// } - - /** - * Renders a subset of the document's part to a pre-allocated buffer. - * - * @param nPart the part number of the document of which the tile is painted. - * @see paintTile. - */ - public func paintPartTile(pBuffer: UnsafeMutablePointer<UInt8>, - nPart: Int32, - nCanvasWidth: Int32, - nCanvasHeight: Int32, - nTilePosX: Int32, - nTilePosY: Int32, - nTileWidth: Int32, - nTileHeight: Int32) - { - return docClass.paintPartTile(pDoc, pBuffer, nPart, - nCanvasWidth, nCanvasHeight, - nTilePosX, nTilePosY, - nTileWidth, nTileHeight); - } - - /** - * Returns the viewID for each existing view. Since viewIDs are not reused, - * viewIDs are not the same as the index of the view in the view array over - * time. Use getViewsCount() to know the minimal nSize that's large enough. - * - * @param pArray the array to write the viewIDs into - * @param nSize the size of pArray - * @returns true if pArray was large enough and result is written, false - * otherwise. - */ -// bool getViewIds(int* pArray, -// size_t nSize) -// { -// return docClass.getViewIds(pDoc, pArray, nSize); -// } - - /** - * Set the language tag of the window with the specified nId. - * - * @param nId a view ID, returned by createView(). - * @param language Bcp47 languageTag, like en-US or so. - */ - public func setViewLanguage( id: Int32, language: String) - { - docClass.setViewLanguage(pDoc, id, language); - } - - public func invokeHandlers() - { - // The app seems to work even without this? Or maybe I - // just didn't test hard enough? - // temporaryHackToInvokeCallbackHandlers(pDoc) - - } - -} - -/** - * iOS friendly extensions of Document. - * TODO: move me back to the framework. - */ -public extension Document -{ - public func getDocumentSizeAsCGSize() -> CGSize - { - let (x,y) = self.getDocumentSize() - return CGSize(width: x, height: y) - } - - public func paintTileToCurrentContext(canvasSize: CGSize, - tileRect: CGRect) - { - let ctx = UIGraphicsGetCurrentContext() - //print(ctx!) - let ptr = unsafeBitCast(ctx, to: UnsafeMutableRawPointer.self) - //print(ptr) - - self.paintTileToCGContext(rCGContext:ptr, - canvasWidth: Int32(canvasSize.width), - canvasHeight: Int32(canvasSize.height), - tilePosX: Int32(tileRect.minX), - tilePosY: Int32(tileRect.minY), - tileWidth: Int32(tileRect.size.width), - tileHeight: Int32(tileRect.size.height)) - } - - public func paintTileToImage(canvasSize: CGSize, - tileRect: CGRect) -> UIImage? - { - - UIGraphicsBeginImageContextWithOptions(canvasSize, false, 1.0) - let _ = UIGraphicsGetCurrentContext()! - - self.paintTileToCurrentContext(canvasSize: canvasSize, tileRect: tileRect) - let image = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - return image - } -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/DocumentHolder.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/DocumentHolder.swift deleted file mode 100644 index 9ca58eddf599..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/DocumentHolder.swift +++ /dev/null @@ -1,345 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation -import UIKit -import QuartzCore - -/** - * Holds the document object so to enforce access in a thread safe way. - */ -public class DocumentHolder -{ - private let doc: Document - - public weak var delegate: DocumentUIDelegate? = nil - public weak var searchDelegate: SearchDelegate? = nil - - private let cache = RenderCache() - - public let documentType: LibreOfficeKitDocumentType - public let documentSize: CGSize - public let views: Int32 - public let parts: Int32 - public let partNames: [String] - - public private(set) var currentPart: Int32 = 0 - - init(doc: Document) - { - self.doc = doc - - // we go and get a bunch of document properties and store them in properties - // this allows easy access to these without threading issues - // when we get to editing they will have to be invalidated - - self.documentType = doc.getDocumentType() - documentSize = doc.getDocumentSizeAsCGSize() - views = doc.getViewsCount() - parts = doc.getParts() - - var partNames = [String]() - for i in 0..<parts - { - let n = doc.getPartName(nPart: i) ?? "" - partNames.append(n) - } - self.partNames = partNames - - doc.registerCallback() { - [weak self] typ, payload in - self?.onDocumentEvent(type: typ, payload: payload) - } - } - - public var isPresentation: Bool - { - return documentType == LOK_DOCTYPE_PRESENTATION - } - public var isText: Bool - { - return documentType == LOK_DOCTYPE_TEXT - } - public var isDrawing: Bool - { - return documentType == LOK_DOCTYPE_DRAWING - } - public var isSpreadsheet: Bool - { - return documentType == LOK_DOCTYPE_SPREADSHEET - } - - /// Gives async access to the document - public func async(_ closure: @escaping (Document) -> ()) - { - LOKitThread.instance.async - { - closure(self.doc) - } - self.invokeHandlers() - } - - public func invokeHandlers() - { - LOKitThread.instance.async - { - self.doc.invokeHandlers() - } - } - - /// Gives sync access to the document - blocks until the closure runs. - /// Careful of deadlocks. - public func sync<R>( _ closure: @escaping (Document) -> R ) -> R - { - return LOKitThread.instance.sync - { - self.invokeHandlers() - return closure(self.doc) - } - } - - /// Paints a tile and return synchronously, using a cached version if it can - public func paintTileToImage(canvasSize: CGSize, - tileRect: CGRect) -> UIImage? - { - if let cached = cache.get(part: currentPart, canvasSize: canvasSize, tileRect: tileRect) - { - return cached - } - - let img = sync { - $0.paintTileToImage(canvasSize: canvasSize, tileRect: tileRect) - } - if let image = img - { - cache.add(cachedRender: CachedRender(part: currentPart, canvasSize: canvasSize, tileRect: tileRect, image: image)) - } - - return img - } - - private func onDocumentEvent(type: LibreOfficeKitCallbackType, payload: String?) - { - print("onDocumentEvent type:\(type) payload:\(payload ?? "")") - - switch type - { - case LOK_CALLBACK_INVALIDATE_TILES: - runOnMain { - self.delegate?.invalidateTiles( rects: decodeRects(payload) ) - } - case LOK_CALLBACK_INVALIDATE_VISIBLE_CURSOR: - runOnMain { - self.delegate?.invalidateVisibleCursor( rects: decodeRects(payload) ) - } - case LOK_CALLBACK_TEXT_SELECTION: - runOnMain { - self.delegate?.textSelection( rects: decodeRects(payload) ) - } - case LOK_CALLBACK_TEXT_SELECTION_START: - runOnMain { - self.delegate?.textSelectionStart( rects: decodeRects(payload) ) - } - case LOK_CALLBACK_TEXT_SELECTION_END: - runOnMain { - self.delegate?.textSelectionEnd( rects: decodeRects(payload) ) - } - - case LOK_CALLBACK_SEARCH_NOT_FOUND: - runOnMain { - self.searchDelegate?.searchNotFound() - } - case LOK_CALLBACK_SEARCH_RESULT_SELECTION: - runOnMain { - self.searchResults(payload: payload) - } - - case LOK_CALLBACK_SET_PART: - if let p = payload, let newPart = Int32(p) - { - self.currentPart = newPart - // TODO: callback? - } - - case LOK_CALLBACK_STATE_CHANGED: - // TODO: call backback - print("onDocumentEvent type: LOK_CALLBACK_STATE_CHANGED: \(payload ?? "")") - - default: - print("onDocumentEvent type:\(type) not handled!") - } - } - - private func searchResults(payload: String?) - { - if let d = payload, let data = d.data(using: .utf8) - { - let decoder = JSONDecoder() - do - { - let searchResults = try decoder.decode(SearchResults.self, from: data ) - self.searchDelegate?.searchResultSelection(searchResults: searchResults) - } - catch - { - print("Error decoding payload: \(error)") - } - } - } - - public func search(searchString: String, forwardDirection: Bool = true, from: CGPoint) - { - var rootJson = JSONObject() - addProperty(&rootJson, "SearchItem.SearchString", "string", searchString); - addProperty(&rootJson, "SearchItem.Backward", "boolean", String(!forwardDirection) ); - addProperty(&rootJson, "SearchItem.SearchStartPointX", "long", String(describing: from.x) ); - addProperty(&rootJson, "SearchItem.SearchStartPointY", "long", String(describing: from.y) ); - addProperty(&rootJson, "SearchItem.Command", "long", "0") // String.valueOf(0)); // search all == 1 - - if let jsonStr = encode(json: rootJson) - { - async { - $0.postUnoCommand(command: ".uno:ExecuteSearch", arguments: jsonStr, notifyWhenFinished: true) - } - } - } - - public func incrementPart(amount: Int32) - { - async { - document in - let currentPart = document.getPart() - let numParts = document.getParts() - let newPart = currentPart + amount - if (newPart < numParts && newPart > 0) - { - document.setPart(nPart: newPart) - } - } - } -} - -public typealias JSONObject = Dictionary<String, AnyObject> -public func addProperty( _ json: inout JSONObject, _ parentValue: String, _ type: String, _ value: String) -{ - var child = JSONObject(); - child["type"] = type as AnyObject - child["value"] = value as AnyObject - json[parentValue] = child as AnyObject -} - -func encode(json: JSONObject) -> String? -{ - if let data = try? JSONSerialization.data(withJSONObject: json, options: .prettyPrinted) - { - return String(data: data, encoding: String.Encoding.utf8) - } - return nil -} - -/// Decodes a series of rectangles in the form: "x, y, width, height; x, y, width, height" -public func decodeRects(_ payload: String?) -> [CGRect]? -{ - guard var pl = payload else { return nil } - pl = pl.trimmingCharacters(in: .whitespacesAndNewlines ) - if pl == "EMPTY" || pl.count == 0 - { - return nil - } - var ret = [CGRect]() - for rectStr in pl.split(separator: ";") - { - let coords = rectStr.split(separator: ",").compactMap { Double($0.trimmingCharacters(in: .whitespacesAndNewlines)) } - if coords.count == 4 - { - let rect = CGRect(x: coords[0], - y: coords[1], - width: coords[2], - height: coords[3]) - ret.append( rect ) - } - } - return ret -} - -// MARK :- Delegates - -public protocol DocumentUIDelegate: class -{ - func invalidateTiles(rects: [CGRect]? ) - func invalidateVisibleCursor(rects: [CGRect]? ) - - func textSelection(rects: [CGRect]? ) - func textSelectionStart(rects: [CGRect]? ) - func textSelectionEnd(rects: [CGRect]? ) -} - -public protocol SearchDelegate: class -{ - func searchNotFound() - func searchResultSelection(searchResults: SearchResults) -} - -/** - Encodes this example json: - { - "searchString": "Office", - "highlightAll": "true", - "searchResultSelection": [ - { - "part": "0", - "rectangles": "1951, 10743, 627, 239" - }, - { - "part": "0", - "rectangles": "5343, 9496, 627, 287" - }, - { - "part": "0", - "rectangles": "1951, 9256, 627, 239" - }, - { - "part": "0", - "rectangles": "6502, 5946, 626, 287" - }, - { - "part": "0", - "rectangles": "6686, 5658, 627, 287" - }, - { - "part": "0", - "rectangles": "4103, 5418, 573, 239" - }, - { - "part": "0", - "rectangles": "1951, 5418, 627, 239" - }, - { - "part": "0", - "rectangles": "4934, 1658, 1586, 559" - } - ] - } - */ -public struct SearchResults: Codable -{ - public var searchString: String? - public var highlightAll: String? - public var searchResultSelection: Array<PartAndRectangles>? -} - -public struct PartAndRectangles: Codable -{ - public var part: String? - public var rectangles: String? - - public var rectsAsCGRects: [CGRect]? { - return decodeRects(self.rectangles) - } -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LOKitThread.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LOKitThread.swift deleted file mode 100644 index cdf73ab2d14c..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LOKitThread.swift +++ /dev/null @@ -1,139 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation -import UIKit - - - - -/// Serves the same purpose as the LOKitThread in the Android project - sequentialises all access to LOKit on a background thread, off the UI thread. -/// It's a singleton, and keeps a single instance of LibreOfficeKit -/// Public methods may be called from any thread, and will dispatch their work onto the held sequential queue. -/// TODO: move me to framework -public class LOKitThread -{ - public static let instance = LOKitThread() // statics are lazy and thread safe in swift, so no need for anything more complex - - - fileprivate let queue = SingleThreadedQueue(name: "LOKitThread.queue") - - /// singleton LibreOffice instance. Can only be accessed through the queue. - var libreOffice: LibreOffice! = nil // initialised in didFinishLaunchingWithOptions - - public weak var delegate: LOKitUIDelegate? = nil - public weak var progressDelegate: ProgressDelegate? = nil - - private init() - { - - async { - self.libreOffice = try! LibreOffice() // will blow up the app if it throws, but fair enough - - // hook up event handler - self.libreOffice.registerCallback(callback: self.onLOKEvent) - - } - } - - private func onLOKEvent(type: LibreOfficeKitCallbackType, payload: String?) - { - //LibreOfficeLight.LibreOfficeKitKeyEventType. - print("onLOKEvent type:\(type) payload:\(payload ?? "")") - - switch type - { - case LOK_CALLBACK_STATUS_INDICATOR_START: - runOnMain { - self.progressDelegate?.statusIndicatorStart() - } - - case LOK_CALLBACK_STATUS_INDICATOR_SET_VALUE: - runOnMain { - if let doub = Double(payload ?? "") - { - self.progressDelegate?.statusIndicatorSetValue(value: doub) - } - } - - case LOK_CALLBACK_STATUS_INDICATOR_FINISH: - runOnMain { - self.progressDelegate?.statusIndicatorFinish() - } - default: - print("onLOKEvent type:\(type) not handled!") - } - } - - /// Run the task on the serial queue, and return immediately - public func async(_ runnable: @escaping Runnable) - { - queue.async( runnable) - } - - /// Run the task on the serial queue, and block to get the result - /// Careful of deadlocking! - public func sync<R>( _ closure: @escaping () -> R ) -> R - { - let ret = queue.sync( closure ) - return ret - } - - public func withLibreOffice( _ closure: @escaping (LibreOffice) -> ()) - { - async { - closure(self.libreOffice) - } - } - - /// Loads a document, and calls the callback with a wrapper if successful, or an error if not. - public func documentLoad(url: String, callback: @escaping (DocumentHolder?, Error?) -> ()) - { - withLibreOffice - { - lo in - - do - { - // this is trying to avoid null context errors which pop up on doc init - // doesn't seem to fix - UIGraphicsBeginImageContext(CGSize(width:1,height:1)) - let doc = try lo.documentLoad(url: url) - print("Opened document: \(url)") - doc.initializeForRendering() - UIGraphicsEndImageContext() - - callback(DocumentHolder(doc: doc), nil) - } - catch - { - print("Failed to load document: \(error)") - callback(nil, error) - } - } - } -} - -/** - * Delegate methods for global events emitted from LOKit. - * Mostly dispatched on the main thread unless noted. - */ -public protocol LOKitUIDelegate: class -{ - // Nothing ATM... -} - -public protocol ProgressDelegate: class -{ - func statusIndicatorStart() - func statusIndicatorFinish() - func statusIndicatorSetValue(value: Double) -} - - - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LibreOfficeKitIOSTests.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LibreOfficeKitIOSTests.swift deleted file mode 100644 index 45682850bb7e..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LibreOfficeKitIOSTests.swift +++ /dev/null @@ -1,102 +0,0 @@ -// -// LibreOfficeKitIOSTests.swift -// LibreOfficeKitIOSTests -// -// Created by Jon Nermut on 30/12/17. -// Copyright © 2017 LibreOffice. All rights reserved. -// - -import XCTest -@testable import LibreOfficeKitIOS - -class LibreOfficeKitIOSTests: XCTestCase { - - override func setUp() { - super.setUp() - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - - - func testLoadingSimpleDoc() { - - guard let lo = try? LibreOffice() else - { - XCTFail("Could not start LibreOffice") - return - } - - let b = Bundle.init(for: LibreOfficeKitIOSTests.self) - guard let url = b.url(forResource: "test-page-format", withExtension: "docx") else - { - XCTFail("Failed to get url to test doc") - return - } - - var loCallbackCount = 0 - lo.registerCallback() - { - typ, payload in - print(typ) - print(payload) - loCallbackCount += 1 - } - - guard let doc = try? lo.documentLoad(url: url.absoluteString) else - { - XCTFail("Could not load document") - return - } - - var docCallbackCount = 0 - doc.registerCallback() - { - typ, payload in - print(typ) - print(payload) - docCallbackCount += 1 - } - - //let typ: LibreOfficeDocumentType = doc.getDocumentType() - //XCTAssertTrue(typ == LibreOfficeDocumentType.LOK_DOCTYPE_TEXT) - - doc.initializeForRendering() - let rects = doc.getPartRectangles() - print(rects) // 284, 284, 12240, 15840; 284, 16408, 12240, 15840 - let tileMode = doc.getTileMode() - print(tileMode) // 1 - let canvasSize = CGSize(width: 1024,height: 1024) - let tile = CGRect(x: 284, y: 284, width: 12240, height: 12240) - - - guard let image = doc.paintTileToImage(canvasSize: canvasSize, tileRect: tile) else - { - XCTFail("No image") - return - } - if let data = UIImagePNGRepresentation(image) - { - let filename = getDocumentsDirectory().appendingPathComponent("tile1.png") - try? data.write(to: filename) - print("Wrote tile to: \(filename)") - } - } - -} - -func getDocumentsDirectory() -> URL -{ - let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) - return paths[0] -} - -public extension Document -{ - -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LibreOfficeKitWrapper.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LibreOfficeKitWrapper.swift deleted file mode 100644 index 375dd6def824..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/LibreOfficeKitWrapper.swift +++ /dev/null @@ -1,231 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation - - -public struct LibreOfficeError: Error -{ - let message: String - public init(_ message: String) - { - self.message = message - } -} - -public typealias LibreOfficeCallback = (_ type: LibreOfficeKitCallbackType, _ payload: String?) -> () - -func callbackFromLibreOffice(nType: Int32, payload: UnsafePointer<Int8>?, pData: UnsafeMutableRawPointer?) -{ - if let val = pData?.hashValue - { - if let theFunc = Callbacks.callbackRegister[val] - { - let payString = toString(payload) - theFunc(LibreOfficeKitCallbackType(rawValue: LibreOfficeKitCallbackType.RawValue(nType)), payString) - } - else - { - print("Unknown callback: \(val)") - } - } - else - { - print("callbackFromLibreOffice, but pData was nil") - } -} - - -internal struct Callbacks -{ - static var count = 0 - static var callbackRegister: Dictionary<Int, LibreOfficeCallback> = [:] - - static func register(callback: @escaping LibreOfficeCallback) -> Int - { - count += 1 - let id = count - callbackRegister[id] = callback - return id - - } -} - - -open class LibreOffice -{ - private let pLok: UnsafeMutablePointer<LibreOfficeKit> - private let lokClass: LibreOfficeKitClass - - public init() throws - { - let b = Bundle.init(for: LibreOffice.self) - let path = b.bundlePath // not Bundle.main.bundlePath - let docsDir = getDocumentsDirectory() - let userDir = docsDir.appendingPathComponent("user") - print("Calling BridgeLOkit_Init with \(path), \(userDir.path)" ) - BridgeLOkit_Init(path, userDir.path) - let pLok = BridgeLOkit_getLOK() - if let lokClass = pLok?.pointee.pClass?.pointee - { - self.pLok = pLok! - self.lokClass = lokClass - print("Loaded LibreOfficeKit: \(self.getVersionInfo() ?? "")") - return - } - throw LibreOfficeError("Unable to init LibreOfficeKit") - } - - /** - * Get version information of the LOKit process - * - * @since LibreOffice 6.0 - * @returns JSON string containing version information in format: - * {ProductName: <>, ProductVersion: <>, ProductExtension: <>, BuildId: <>} - * - * Eg: {"ProductName": "LibreOffice", - * "ProductVersion": "5.3", - * "ProductExtension": ".0.0.alpha0", - * "BuildId": "<full 40 char git hash>"} - */ - public func getVersionInfo() -> String? - { - if let pRet = lokClass.getVersionInfo(pLok) - { - return String(cString: pRet) // TODO: convert JSON - } - return nil - } - - /** - * Loads a document from a URL. - * - * @param pUrl the URL of the document to load - * @param pFilterOptions options for the import filter, e.g. SkipImages. - * Another useful FilterOption is "Language=...". It is consumed - * by the documentLoad() itself, and when provided, LibreOfficeKit - * switches the language accordingly first. - * @since pFilterOptions argument added in LibreOffice 5.0 - */ - public func documentLoad(url: String) throws -> Document - { - if let pDoc = lokClass.documentLoad(pLok, url) - { - return Document(pDoc: pDoc) - } - throw LibreOfficeError("Unable to load document") - } - - - - /// Returns the last error as a string - public func getError() -> String? - { - if let cstr = lokClass.getError(pLok) - { - let ret = String(cString: cstr) - lokClass.freeError(cstr) - return ret - } - return nil - } - - - /** - * Registers a callback. LOK will invoke this function when it wants to - * inform the client about events. - * - * @since LibreOffice 6.0 - * @param pCallback the callback to invoke - * @param pData the user data, will be passed to the callback on invocation - */ - @discardableResult - public func registerCallback( callback: @escaping LibreOfficeCallback ) -> Int - { - let ret = Callbacks.register(callback: callback) - let pointer = UnsafeMutableRawPointer(bitPattern: ret) - lokClass.registerCallback(pLok, callbackFromLibreOffice, pointer) - return ret - } - - /** - * Returns details of filter types. - * - * Example returned string: - * - * { - * "writer8": { - * "MediaType": "application/vnd.oasis.opendocument.text" - * }, - * "calc8": { - * "MediaType": "application/vnd.oasis.opendocument.spreadsheet" - * } - * } - * - * @since LibreOffice 6.0 - */ - public func getFilterTypes() -> String? - { - return toString(lokClass.getFilterTypes(pLok)); - } - - /** - * Set bitmask of optional features supported by the client. - * - * @since LibreOffice 6.0 - * @see LibreOfficeKitOptionalFeatures - */ - public func setOptionalFeatures(features: UInt64) - { - return lokClass.setOptionalFeatures(pLok, features); - } - - /** - * Set password required for loading or editing a document. - * - * Loading the document is blocked until the password is provided. - * - * @param pURL the URL of the document, as sent to the callback - * @param pPassword the password, nullptr indicates no password - * - * In response to LOK_CALLBACK_DOCUMENT_PASSWORD, a valid password - * will continue loading the document, an invalid password will - * result in another LOK_CALLBACK_DOCUMENT_PASSWORD request, - * and a NULL password will abort loading the document. - * - * In response to LOK_CALLBACK_DOCUMENT_PASSWORD_TO_MODIFY, a valid - * password will continue loading the document, an invalid password will - * result in another LOK_CALLBACK_DOCUMENT_PASSWORD_TO_MODIFY request, - * and a NULL password will continue loading the document in read-only - * mode. - * - * @since LibreOffice 6.0 - */ - public func setDocumentPassword(URL: String, password: String) - { - lokClass.setDocumentPassword(pLok, URL, password); - } - - - - - /** - * Run a macro. - * - * Same syntax as on command line is permissible (ie. the macro:// URI forms) - * - * @since LibreOffice 6.0 - * @param pURL macro url to run - */ - - public func runMacro( URL: String ) -> Bool - { - return lokClass.runMacro( pLok, URL ) != 0; - } -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/RenderCache.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/RenderCache.swift deleted file mode 100644 index f217db0414a6..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/RenderCache.swift +++ /dev/null @@ -1,78 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation -import UIKit - - -open class CachedRender -{ - open let part: Int32 - open let canvasSize: CGSize - open let tileRect: CGRect - open let image: UIImage - - public init(part: Int32, canvasSize: CGSize, tileRect: CGRect, image: UIImage) - { - self.canvasSize = canvasSize - self.tileRect = tileRect - self.image = image - self.part = part - } -} - -class RenderCache -{ - let CACHE_LOWMEM = 4 - let CACHE_NORMAL = 20 - - var cachedRenders: [CachedRender] = [] - var hasReceivedMemoryWarning = false - - let lock = NSRecursiveLock() - - func emptyCache() - { - lock.lock(); defer { lock.unlock() } - cachedRenders.removeAll() - } - - func pruneCache() - { - lock.lock(); defer { lock.unlock() } - - let max = hasReceivedMemoryWarning ? CACHE_LOWMEM : CACHE_NORMAL - while cachedRenders.count > max - { - cachedRenders.remove(at: 0) - } - } - - func add(cachedRender: CachedRender) - { - lock.lock(); defer { lock.unlock() } - - cachedRenders.append(cachedRender) - pruneCache() - } - - func get(part: Int32, canvasSize: CGSize, tileRect: CGRect) -> UIImage? - { - lock.lock(); defer { lock.unlock() } - - if let cr = cachedRenders.first(where: { - $0.canvasSize == canvasSize - && $0.tileRect == tileRect - && $0.part == part - }) - { - return cr.image - } - return nil - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/Util.swift b/ios/LibreOfficeLight/LibreOfficeLight/LOKit/Util.swift deleted file mode 100644 index 596ca45e34a9..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LOKit/Util.swift +++ /dev/null @@ -1,43 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import UIKit - - -func getDocumentsDirectory() -> URL -{ - let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) - return paths[0] -} - -public extension CGRect -{ - public var desc: String - { - return "(x: \(self.origin.x), y: \(self.origin.y), width: \(self.size.width), height: \(self.size.height), maxX: \(self.maxX), maxY: \(self.maxY))" - } -} - -public func toString(_ pointer: UnsafeMutablePointer<Int8>?) -> String? -{ - if let p = pointer - { - return String(cString: p) - } - return nil -} - -public func toString(_ pointer: UnsafePointer<Int8>?) -> String? -{ - if let p = pointer - { - return String(cString: p) - } - return nil -} - diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight-Prefix.pch b/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight-Prefix.pch deleted file mode 100644 index 638bf30e867e..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight-Prefix.pch +++ /dev/null @@ -1,22 +0,0 @@ -// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#import <Availability.h> - -#ifndef __IPHONE_5_0 -#warning "This project uses features only available in iOS SDK 5.0 and later." -#endif - -#ifdef __OBJC__ - #include <premac.h> - #import <UIKit/UIKit.h> - #import <Foundation/Foundation.h> - #include <postmac.h> -#endif - -// vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.entitlements b/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.entitlements deleted file mode 100644 index bb42bb6ead0b..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.entitlements +++ /dev/null @@ -1,18 +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>com.apple.developer.icloud-container-identifiers</key> - <array> - <string>iCloud.$(CFBundleIdentifier)</string> - </array> - <key>com.apple.developer.icloud-services</key> - <array> - <string>CloudDocuments</string> - </array> - <key>com.apple.developer.ubiquity-container-identifiers</key> - <array> - <string>iCloud.$(CFBundleIdentifier)</string> - </array> -</dict> -</plist> diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/.xccurrentversion b/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/.xccurrentversion deleted file mode 100644 index 0c67376ebacb..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/.xccurrentversion +++ /dev/null @@ -1,5 +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/> -</plist> diff --git a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/LibreOfficeLight.xcdatamodel/contents b/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/LibreOfficeLight.xcdatamodel/contents deleted file mode 100644 index 476e5b6cfe4c..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/LibreOfficeLight.xcdatamodel/contents +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="1" systemVersion="11A491" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier=""> - <elements/> -</model>
\ No newline at end of file diff --git a/ios/LibreOfficeLight/LibreOfficeLight/PropertiesController.swift b/ios/LibreOfficeLight/LibreOfficeLight/PropertiesController.swift deleted file mode 100644 index 04ebaf78d670..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/PropertiesController.swift +++ /dev/null @@ -1,99 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -import UIKit - - -class PropertiesController: UIViewController -{ - // Temp. functions - @IBAction func doStyle1(_ sender: UIButton) - { - loadController("Document") - } - - - - @IBAction func doStyle2(_ sender: UIButton) - { - loadController("Document") - } - - - - @IBAction func doStyle3(_ sender: UIButton) - { - loadController("Document") - } - - - - @IBAction func doStyle4(_ sender: UIButton) - { - loadController("Document") - } - - - - @IBAction func doStyle5(_ sender: UIButton) - { - loadController("Document") - } - - - - @IBAction func doStyle6(_ sender: UIButton) - { - loadController("Document") - } - - - @IBAction func doStyle7(_ sender: UIButton) - { - loadController("Document") - } - - - - func loadController(_ name:String) - { - let destController : UIViewController = self.storyboard!.instantiateViewController(withIdentifier: name) - self.navigationController!.pushViewController(destController, animated: true) - - UIView.animate(withDuration: 0.3, animations: { () -> Void in - self.view.frame = CGRect(x: -UIScreen.main.bounds.size.width, y: 0, width: UIScreen.main.bounds.size.width,height: UIScreen.main.bounds.size.height) - self.view.layoutIfNeeded() - self.view.backgroundColor = UIColor.clear - }, completion: { (finished) -> Void in - self.view.removeFromSuperview() - self.removeFromParentViewController() - }) - } - - - - override func viewDidLoad() - { - super.viewDidLoad() - // Do any additional setup after loading the view. - } - - - - override func didReceiveMemoryWarning() - { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - - - override func viewWillAppear(_ animated: Bool) - { - super.viewWillAppear(animated) - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Settings.bundle/Root.plist b/ios/LibreOfficeLight/LibreOfficeLight/Settings.bundle/Root.plist deleted file mode 100644 index 0865e51d7e04..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Settings.bundle/Root.plist +++ /dev/null @@ -1,38 +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>StringsTable</key> - <string>Root</string> - <key>PreferenceSpecifiers</key> - <array> - <dict> - <key>Type</key> - <string>PSGroupSpecifier</string> - <key>Title</key> - <string>About</string> - </dict> - <dict> - <key>DefaultValue</key> - <string>The Source Code Form is subject to the terms of the Mozilla Public -License, v. 2.0.</string> - <key>Type</key> - <string>PSTextFieldSpecifier</string> - <key>Title</key> - <string>Copyright</string> - <key>Key</key> - <string>some text</string> - </dict> - <dict> - <key>DefaultValue</key> - <string>0.0.0</string> - <key>Type</key> - <string>PSTextFieldSpecifier</string> - <key>Title</key> - <string>Version</string> - <key>Key</key> - <string>application_version</string> - </dict> - </array> -</dict> -</plist> diff --git a/ios/LibreOfficeLight/LibreOfficeLight/Settings.bundle/en.lproj/Root.strings b/ios/LibreOfficeLight/LibreOfficeLight/Settings.bundle/en.lproj/Root.strings Binary files differdeleted file mode 100644 index 8cd87b9d6b20..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/Settings.bundle/en.lproj/Root.strings +++ /dev/null diff --git a/ios/LibreOfficeLight/LibreOfficeLight/UIViewExtensions.swift b/ios/LibreOfficeLight/LibreOfficeLight/UIViewExtensions.swift deleted file mode 100644 index 1c0322331e51..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/UIViewExtensions.swift +++ /dev/null @@ -1,74 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import UIKit - -public extension UIView -{ - public var height: CGFloat - { - get - { - return frame.size.height - } - set - { - frame.size.height = newValue - } - } - - public var size: CGSize - { - get - { - return frame.size - } - set - { - width = newValue.width - height = newValue.height - } - } - - public var width: CGFloat - { - get - { - return frame.size.width - } - set - { - frame.size.width = newValue - } - } - - public var x: CGFloat - { - get - { - return frame.origin.x - } - set - { - frame.origin.x = newValue - } - } - - - public var y: CGFloat - { - get - { - return frame.origin.y - } - set - { - frame.origin.y = newValue - } - } -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/ViewPrintManager.swift b/ios/LibreOfficeLight/LibreOfficeLight/ViewPrintManager.swift deleted file mode 100644 index e05fa553ff62..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/ViewPrintManager.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -import UIKit - - -class ViewPrintManager: UIViewController -{ - override func viewDidLoad() - { - super.viewDidLoad() - // Do any additional setup after loading the view. - } - - - - override func didReceiveMemoryWarning() - { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/ViewProperties.swift b/ios/LibreOfficeLight/LibreOfficeLight/ViewProperties.swift deleted file mode 100644 index 2e275f2bd3c7..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/ViewProperties.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -import UIKit - - -class ViewProperties: UIViewController -{ - - - override func viewDidLoad() - { - super.viewDidLoad() - // Do any additional setup after loading the view. - } - - - - override func didReceiveMemoryWarning() - { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - -} diff --git a/ios/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib b/ios/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib deleted file mode 100644 index fa0ccf2ff001..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES"> - <device id="retina4_7" orientation="portrait"> - <adaptation id="fullscreen"/> - </device> - <dependencies> - <deployment identifier="iOS"/> - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/> - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> - </dependencies> - <objects> - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> - <view contentMode="scaleToFill" id="iN0-l3-epB"> - <rect key="frame" x="0.0" y="0.0" width="480" height="480"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="LibreOfficeLight" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX"> - <rect key="frame" x="15" y="235" width="450" height="43"/> - <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="LibreOfficeLight is part of LibreOffice" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye"> - <rect key="frame" x="15" y="293" width="450" height="21"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="https://www.libreoffice.org/get-help/community-support" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="6sz-Sz-e1h"> - <rect key="frame" x="15" y="423" width="450" height="21"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="git://anongit.freedesktop.org/libreoffice/core" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="I4U-tD-bDs"> - <rect key="frame" x="15" y="371" width="450" height="21"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Maintained by Jan Iversen and Jon Nermut" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jCj-XE-D37"> - <rect key="frame" x="15" y="319" width="450" height="21"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="User support and development:" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="LOF-2P-X0o"> - <rect key="frame" x="15" y="397" width="450" height="21"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="libreoffice@lists.freedesktop.org" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="h8D-4s-nQh"> - <rect key="frame" x="15" y="449" width="450" height="21"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Full source is available at:" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="R3A-1h-X3D"> - <rect key="frame" x="15" y="345" width="450" height="21"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> - <imageView userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" image="intro" translatesAutoresizingMaskIntoConstraints="NO" id="iba-PG-iZB"> - <rect key="frame" x="5" y="20" width="470" height="128"/> - </imageView> - </subviews> - <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - <constraints> - <constraint firstItem="I4U-tD-bDs" firstAttribute="top" secondItem="R3A-1h-X3D" secondAttribute="bottom" constant="5" id="1MI-gV-daV"/> - <constraint firstItem="h8D-4s-nQh" firstAttribute="top" secondItem="6sz-Sz-e1h" secondAttribute="bottom" constant="5" id="76h-os-PqN"/> - <constraint firstAttribute="trailing" secondItem="jCj-XE-D37" secondAttribute="trailing" constant="15" id="DmL-rk-YcF"/> - <constraint firstAttribute="bottom" secondItem="h8D-4s-nQh" secondAttribute="bottom" constant="10" id="ESJ-gH-xnX"/> - <constraint firstAttribute="trailing" secondItem="I4U-tD-bDs" secondAttribute="trailing" constant="15" id="EgU-Wx-Hpw"/> - <constraint firstItem="I4U-tD-bDs" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="Glv-5u-Qk4"/> - <constraint firstItem="LOF-2P-X0o" firstAttribute="top" secondItem="I4U-tD-bDs" secondAttribute="bottom" constant="5" id="H6a-qQ-p4a"/> - <constraint firstAttribute="trailing" secondItem="LOF-2P-X0o" secondAttribute="trailing" constant="15" id="J28-1n-Fgm"/> - <constraint firstItem="6sz-Sz-e1h" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="Jmn-sO-AVf"/> - <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="Qvq-TN-GGX"/> - <constraint firstAttribute="trailing" secondItem="iba-PG-iZB" secondAttribute="trailing" constant="5" id="SQG-Oy-orw"/> - <constraint firstItem="LOF-2P-X0o" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="T6B-k2-ejO"/> - <constraint firstItem="R3A-1h-X3D" firstAttribute="top" secondItem="jCj-XE-D37" secondAttribute="bottom" constant="5" id="Vzd-4l-NiA"/> - <constraint firstItem="h8D-4s-nQh" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="Wdb-nn-wdr"/> - <constraint firstAttribute="trailing" secondItem="6sz-Sz-e1h" secondAttribute="trailing" constant="15" id="ZCQ-vB-oHx"/> - <constraint firstAttribute="trailing" secondItem="kId-c2-rCX" secondAttribute="trailing" constant="15" id="ZvJ-2e-0hE"/> - <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="cDT-4h-Rbh"/> - <constraint firstAttribute="trailing" secondItem="R3A-1h-X3D" secondAttribute="trailing" constant="15" id="dcX-7M-2kQ"/> - <constraint firstItem="8ie-xW-0ye" firstAttribute="top" secondItem="kId-c2-rCX" secondAttribute="bottom" constant="15" id="ftR-wj-GaQ"/> - <constraint firstItem="jCj-XE-D37" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="hTT-gF-WpT"/> - <constraint firstItem="R3A-1h-X3D" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="15" id="hbP-Wj-hgc"/> - <constraint firstItem="iba-PG-iZB" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="20" id="jwj-qG-D6R"/> - <constraint firstItem="jCj-XE-D37" firstAttribute="top" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="5" id="nW0-DF-i3G"/> - <constraint firstAttribute="trailing" secondItem="h8D-4s-nQh" secondAttribute="trailing" constant="15" id="nz0-e0-vfD"/> - <constraint firstItem="kId-c2-rCX" firstAttribute="top" secondItem="iba-PG-iZB" secondAttribute="bottom" constant="8" symbolic="YES" id="ogG-Lo-8Ep"/> - <constraint firstAttribute="trailing" secondItem="8ie-xW-0ye" secondAttribute="trailing" constant="15" id="qKd-9S-EKe"/> - <constraint firstItem="6sz-Sz-e1h" firstAttribute="top" secondItem="LOF-2P-X0o" secondAttribute="bottom" constant="5" id="tdi-EJ-KXm"/> - <constraint firstItem="iba-PG-iZB" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="5" id="uoy-a0-Eez"/> - </constraints> - <nil key="simulatedStatusBarMetrics"/> - <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> - <point key="canvasLocation" x="548" y="455"/> - </view> - </objects> - <resources> - <image name="intro" width="500" height="128"/> - </resources> -</document> diff --git a/ios/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard b/ios/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard deleted file mode 100644 index ffd5059d06a9..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard +++ /dev/null @@ -1,501 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="DGj-7d-jfR"> - <device id="ipad9_7" orientation="portrait"> - <adaptation id="fullscreen"/> - </device> - <dependencies> - <deployment identifier="iOS"/> - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/> - <capability name="Constraints to layout margins" minToolsVersion="6.0"/> - <capability name="Navigation items with more than one left or right bar item" minToolsVersion="7.0"/> - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> - </dependencies> - <scenes> - <!--Document--> - <scene sceneID="ufC-wZ-h7g"> - <objects> - <viewController storyboardIdentifier="Document" useStoryboardIdentifierAsRestorationIdentifier="YES" id="vXZ-lx-hvc" customClass="DocumentController" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController"> - <layoutGuides> - <viewControllerLayoutGuide type="top" id="lZa-u5-V0W"/> - <viewControllerLayoutGuide type="bottom" id="uE0-fS-86O"/> - </layoutGuides> - <view key="view" contentMode="scaleToFill" id="kh9-bI-dsS"> - <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <subviews> - <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" minimumZoomScale="0.5" maximumZoomScale="8" translatesAutoresizingMaskIntoConstraints="NO" id="cJ7-wO-9D1"> - <rect key="frame" x="0.0" y="64" width="768" height="960"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <connections> - <outlet property="delegate" destination="vXZ-lx-hvc" id="mWv-AB-k2W"/> - </connections> - </scrollView> - <view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8HF-MM-fd0" userLabel="ButtonBar" customClass="ButtonScrollView" customModule="LibreOfficeLight" customModuleProvider="target"> - <rect key="frame" x="0.0" y="980" width="768" height="44"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - </view> - <view opaque="NO" userInteractionEnabled="NO" alpha="0.5" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="URZ-zU-xtO" userLabel="Mask"> - <rect key="frame" x="0.0" y="64" width="768" height="960"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" fixedFrame="YES" progressViewStyle="bar" translatesAutoresizingMaskIntoConstraints="NO" id="hRJ-mR-Vnv"> - <rect key="frame" x="309" y="479" width="150" height="1.5"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES"/> - </progressView> - </subviews> - <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> - </view> - <searchBar hidden="YES" contentMode="redraw" fixedFrame="YES" placeholder="Search for text" showsCancelButton="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Aq0-4K-7FT"> - <rect key="frame" x="0.0" y="64" width="768" height="56"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/> - <textInputTraits key="textInputTraits"/> - <connections> - <outlet property="delegate" destination="vXZ-lx-hvc" id="bZ5-fa-vQ6"/> - </connections> - </searchBar> - </subviews> - <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </view> - <toolbarItems/> - <navigationItem key="navigationItem" title="Document" id="5c6-32-T4J"> - <barButtonItem key="leftBarButtonItem" image="menu" id="fdq-Uw-536" userLabel="Button Properties"> - <connections> - <action selector="doProperties:" destination="vXZ-lx-hvc" id="mHw-Uf-vh2"/> - </connections> - </barButtonItem> - <rightBarButtonItems> - <barButtonItem systemItem="action" id="BNq-ol-ZVK"> - <connections> - <segue destination="IER-X5-Ax8" kind="popoverPresentation" identifier="showActions" popoverAnchorBarButtonItem="BNq-ol-ZVK" id="xmZ-1A-ZrW"> - <popoverArrowDirection key="popoverArrowDirection" up="YES" down="YES" left="YES" right="YES"/> - </segue> - </connections> - </barButtonItem> - <barButtonItem systemItem="search" id="3s2-a6-9gP"> - <connections> - <action selector="searchIconTapped:" destination="vXZ-lx-hvc" id="tSY-uz-ifH"/> - </connections> - </barButtonItem> - </rightBarButtonItems> - </navigationItem> - <simulatedToolbarMetrics key="simulatedBottomBarMetrics"/> - <connections> - <outlet property="buttonScrollView" destination="8HF-MM-fd0" id="Mlq-CV-p8N"/> - <outlet property="mask" destination="URZ-zU-xtO" id="pkw-v3-0gr"/> - <outlet property="progressBar" destination="hRJ-mR-Vnv" id="4lJ-kG-9SW"/> - <outlet property="scrollView" destination="cJ7-wO-9D1" id="U50-LO-plb"/> - <outlet property="searchBar" destination="Aq0-4K-7FT" id="B3A-Ck-UdD"/> - </connections> - </viewController> - <placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="1230.46875" y="303.515625"/> - </scene> - <!--Print Manager--> - <scene sceneID="viJ-XJ-htc"> - <objects> - <viewController storyboardIdentifier="PrintManager" useStoryboardIdentifierAsRestorationIdentifier="YES" id="ay1-ce-WHs" customClass="ViewPrintManager" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController"> - <layoutGuides> - <viewControllerLayoutGuide type="top" id="N2T-Vd-NX5"/> - <viewControllerLayoutGuide type="bottom" id="pxU-MS-J0z"/> - </layoutGuides> - <view key="view" contentMode="scaleToFill" id="uQ6-KY-cCv"> - <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="My Print Manager" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cbo-NR-JZi"> - <rect key="frame" x="175" y="386" width="156" height="21"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <nil key="textColor"/> - <nil key="highlightedColor"/> - </label> - </subviews> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - </view> - <toolbarItems/> - <navigationItem key="navigationItem" title="Print Manager" id="2Z5-ad-smF"> - <barButtonItem key="leftBarButtonItem" image="menu" id="KpY-Uq-nOk"> - <connections> - <action selector="doProperties:" destination="ay1-ce-WHs" id="abP-LB-4yO"/> - </connections> - </barButtonItem> - </navigationItem> - <simulatedToolbarMetrics key="simulatedBottomBarMetrics"/> - </viewController> - <placeholder placeholderIdentifier="IBFirstResponder" id="S7J-dT-DQn" userLabel="First Responder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="1230" y="-458"/> - </scene> - <!--Navigation Controller--> - <scene sceneID="nrt-yR-DmY"> - <objects> - <navigationController automaticallyAdjustsScrollViewInsets="NO" id="DGj-7d-jfR" sceneMemberID="viewController"> - <toolbarItems/> - <navigationBar key="navigationBar" contentMode="scaleToFill" barStyle="black" id="mjw-Ry-qIh"> - <rect key="frame" x="0.0" y="20" width="768" height="44"/> - <autoresizingMask key="autoresizingMask"/> - <color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - <color key="barTintColor" red="0.0" green="0.58367598684210531" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - <textAttributes key="titleTextAttributes"> - <fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/> - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> - </textAttributes> - </navigationBar> - <nil name="viewControllers"/> - <connections> - <segue destination="h7c-B7-pKT" kind="show" identifier="showProperties" id="dDf-1s-0HH"/> - <segue destination="ay1-ce-WHs" kind="show" identifier="showPrintManager" id="BgL-QR-QJ0"/> - <segue destination="vXZ-lx-hvc" kind="relationship" relationship="rootViewController" id="ONR-Tq-ptF"/> - </connections> - </navigationController> - <placeholder placeholderIdentifier="IBFirstResponder" id="XfU-3W-Qcb" userLabel="First Responder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="259.19999999999999" y="305.84707646176912"/> - </scene> - <!--Properties Controller--> - <scene sceneID="moB-At-Om8"> - <objects> - <viewController storyboardIdentifier="PropertiesController" useStoryboardIdentifierAsRestorationIdentifier="YES" id="E9y-3m-fEc" userLabel="Properties Controller" customClass="PropertiesController" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController"> - <layoutGuides> - <viewControllerLayoutGuide type="top" id="qJv-1E-iEi"/> - <viewControllerLayoutGuide type="bottom" id="syI-80-ufe"/> - </layoutGuides> - <view key="view" contentMode="scaleToFill" id="e1u-sT-aSe"> - <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="g5y-SJ-jU1"> - <rect key="frame" x="20" y="84" width="69" height="45"/> - <constraints> - <constraint firstAttribute="height" constant="45" id="GiU-Zv-tSK"/> - </constraints> - <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/> - <state key="normal" title="Style1" image="document"> - <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> - </state> - <connections> - <action selector="doStyle1:" destination="E9y-3m-fEc" eventType="touchUpInside" id="Tvz-2x-oik"/> - </connections> - </button> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YTV-Y5-L8R"> - <rect key="frame" x="20" y="139" width="71" height="45"/> - <constraints> - <constraint firstAttribute="height" constant="45" id="6Nn-8E-Eun"/> - </constraints> - <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/> - <state key="normal" title="Style2" image="document"> - <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> - </state> - <connections> - <action selector="doStyle2:" destination="E9y-3m-fEc" eventType="touchUpInside" id="u7L-s5-vmD"/> - </connections> - </button> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eZV-Rh-hCf"> - <rect key="frame" x="20" y="194" width="72" height="45"/> - <constraints> - <constraint firstAttribute="height" constant="45" id="aVx-Vb-bZq"/> - </constraints> - <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/> - <state key="normal" title="Style3" image="document"> - <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> - </state> - <connections> - <action selector="doStyle3:" destination="E9y-3m-fEc" eventType="touchUpInside" id="t2Q-iq-Exh"/> - </connections> - </button> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CBj-V3-BKJ"> - <rect key="frame" x="20" y="249" width="72" height="45"/> - <constraints> - <constraint firstAttribute="height" constant="45" id="RLA-17-w0s"/> - </constraints> - <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/> - <state key="normal" title="Style4" image="document"> - <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> - </state> - <connections> - <action selector="doStyle4:" destination="E9y-3m-fEc" eventType="touchUpInside" id="x4U-Gg-ylt"/> - </connections> - </button> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Hk4-yl-lM9"> - <rect key="frame" x="20" y="304" width="72" height="45"/> - <constraints> - <constraint firstAttribute="height" constant="45" id="AEu-v6-MfG"/> - </constraints> - <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/> - <state key="normal" title="Style5" image="document"> - <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> - </state> - <connections> - <action selector="doStyle5:" destination="E9y-3m-fEc" eventType="touchUpInside" id="o3m-zn-dyf"/> - </connections> - </button> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="K3a-CQ-sBC"> - <rect key="frame" x="20" y="359" width="72" height="45"/> - <constraints> - <constraint firstAttribute="height" constant="45" id="fyO-4v-nFF"/> - </constraints> - <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/> - <state key="normal" title="Style6" image="document"> - <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> - </state> - <connections> - <action selector="doStyle6:" destination="E9y-3m-fEc" eventType="touchUpInside" id="t58-52-FY4"/> - </connections> - </button> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Mv-7b-xjF"> - <rect key="frame" x="20" y="414" width="70" height="45"/> - <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/> - <state key="normal" title="Style7" image="document"> - <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> - </state> - <connections> - <action selector="doStyle7:" destination="E9y-3m-fEc" eventType="touchUpInside" id="cNb-al-UOa"/> - </connections> - </button> - </subviews> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - <constraints> - <constraint firstItem="eZV-Rh-hCf" firstAttribute="top" secondItem="YTV-Y5-L8R" secondAttribute="bottom" constant="10" id="8MW-wy-3mP"/> - <constraint firstItem="YTV-Y5-L8R" firstAttribute="leading" secondItem="g5y-SJ-jU1" secondAttribute="leading" id="GdK-zW-XUW"/> - <constraint firstItem="syI-80-ufe" firstAttribute="top" secondItem="5Mv-7b-xjF" secondAttribute="bottom" constant="565" id="H6C-1e-7UE"/> - <constraint firstItem="5Mv-7b-xjF" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="NnF-fS-TRc"/> - <constraint firstItem="CBj-V3-BKJ" firstAttribute="leading" secondItem="eZV-Rh-hCf" secondAttribute="leading" id="Nts-Pq-gbT"/> - <constraint firstItem="Hk4-yl-lM9" firstAttribute="top" secondItem="CBj-V3-BKJ" secondAttribute="bottom" constant="10" id="Qjz-bp-Zdz"/> - <constraint firstItem="CBj-V3-BKJ" firstAttribute="top" secondItem="eZV-Rh-hCf" secondAttribute="bottom" constant="10" id="TqY-lf-jld"/> - <constraint firstItem="Hk4-yl-lM9" firstAttribute="leading" secondItem="CBj-V3-BKJ" secondAttribute="leading" id="X9n-Bn-V0R"/> - <constraint firstItem="eZV-Rh-hCf" firstAttribute="leading" secondItem="YTV-Y5-L8R" secondAttribute="leading" id="XFl-0W-rjg"/> - <constraint firstItem="K3a-CQ-sBC" firstAttribute="top" secondItem="Hk4-yl-lM9" secondAttribute="bottom" constant="10" id="guC-5D-obv"/> - <constraint firstItem="K3a-CQ-sBC" firstAttribute="leading" secondItem="Hk4-yl-lM9" secondAttribute="leading" id="jpn-3d-FRp"/> - <constraint firstItem="5Mv-7b-xjF" firstAttribute="top" secondItem="K3a-CQ-sBC" secondAttribute="bottom" constant="10" id="ozy-Rl-tAb"/> - <constraint firstItem="5Mv-7b-xjF" firstAttribute="leading" secondItem="K3a-CQ-sBC" secondAttribute="leading" id="sHO-T6-sUz"/> - <constraint firstItem="YTV-Y5-L8R" firstAttribute="top" secondItem="g5y-SJ-jU1" secondAttribute="bottom" constant="10" id="v9r-Th-jAf"/> - <constraint firstItem="g5y-SJ-jU1" firstAttribute="top" secondItem="qJv-1E-iEi" secondAttribute="bottom" constant="64" id="wPY-qL-9aw"/> - </constraints> - </view> - </viewController> - <placeholder placeholderIdentifier="IBFirstResponder" id="wg5-HE-6LR" userLabel="First Responder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-612" y="304.4977511244378"/> - </scene> - <!--Properties--> - <scene sceneID="XNm-Ch-28q"> - <objects> - <viewController storyboardIdentifier="Properties" title="Properties" useStoryboardIdentifierAsRestorationIdentifier="YES" id="h7c-B7-pKT" customClass="ViewProperties" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController"> - <layoutGuides> - <viewControllerLayoutGuide type="top" id="VKw-5g-PNK"/> - <viewControllerLayoutGuide type="bottom" id="BiA-CR-Pte"/> - </layoutGuides> - <view key="view" contentMode="scaleToFill" id="Z9n-50-7Jf"> - <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="My Properties" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Jt-Yy-kcR"> - <rect key="frame" x="166" y="484" width="142" height="21"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <nil key="textColor"/> - <nil key="highlightedColor"/> - </label> - </subviews> - <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </view> - </viewController> - <placeholder placeholderIdentifier="IBFirstResponder" id="vaO-NX-hiP" userLabel="First Responder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="-447" y="-745"/> - </scene> - <!--Document Actions--> - <scene sceneID="U7J-9A-X5o"> - <objects> - <tableViewController autoresizesArchivedViewToFullSize="NO" title="Document Actions" automaticallyAdjustsScrollViewInsets="NO" modalTransitionStyle="crossDissolve" modalPresentationStyle="overCurrentContext" clearsSelectionOnViewWillAppear="NO" id="IER-X5-Ax8" customClass="DocumentActions" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController"> - <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="plain" separatorStyle="default" rowHeight="30" sectionHeaderHeight="28" sectionFooterHeight="28" id="RqF-IL-YJc"> - <rect key="frame" x="0.0" y="0.0" width="134" height="210"/> - <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - <sections> - <tableViewSection id="iZc-fF-wRk"> - <cells> - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="VNE-JL-Lw0"> - <rect key="frame" x="0.0" y="0.0" width="134" height="30"/> - <autoresizingMask key="autoresizingMask"/> - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="VNE-JL-Lw0" id="EB2-HA-y79"> - <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button opaque="NO" tag="1" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="myk-zs-md7"> - <rect key="frame" x="8" y="0.0" width="118" height="30"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <accessibility key="accessibilityConfiguration"> - <bool key="isElement" value="NO"/> - </accessibility> - <state key="normal" title="Open..."/> - <connections> - <action selector="actionMenuSelect:" destination="IER-X5-Ax8" eventType="touchUpInside" id="0gI-or-ji2"/> - </connections> - </button> - </subviews> - </tableViewCellContentView> - </tableViewCell> - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="XW7-H5-0ob"> - <rect key="frame" x="0.0" y="30" width="134" height="30"/> - <autoresizingMask key="autoresizingMask"/> - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="XW7-H5-0ob" id="lJN-OL-mO8"> - <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button opaque="NO" tag="2" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b90-ja-Wm0" userLabel="Button Properties"> - <rect key="frame" x="8" y="0.0" width="118" height="30"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <accessibility key="accessibilityConfiguration" identifier="actionSave"> - <bool key="isElement" value="NO"/> - </accessibility> - <state key="normal" title="Properties"/> - <connections> - <action selector="actionMenuSelect:" destination="IER-X5-Ax8" eventType="touchUpInside" id="ErC-4Q-0we"/> - </connections> - </button> - </subviews> - </tableViewCellContentView> - </tableViewCell> - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="Osp-RA-lhK"> - <rect key="frame" x="0.0" y="60" width="134" height="30"/> - <autoresizingMask key="autoresizingMask"/> - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Osp-RA-lhK" id="mU4-Wv-5dR"> - <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button opaque="NO" tag="3" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="m45-MR-Gca" userLabel="Button Save"> - <rect key="frame" x="8" y="0.0" width="118" height="30"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <accessibility key="accessibilityConfiguration" identifier="actionSave"> - <bool key="isElement" value="NO"/> - </accessibility> - <state key="normal" title="Save"/> - <connections> - <action selector="actionMenuSelect:" destination="IER-X5-Ax8" eventType="touchUpInside" id="pXt-Kb-Vjw"/> - </connections> - </button> - </subviews> - </tableViewCellContentView> - </tableViewCell> - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="Kys-Iw-SeT"> - <rect key="frame" x="0.0" y="90" width="134" height="30"/> - <autoresizingMask key="autoresizingMask"/> - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Kys-Iw-SeT" id="2C9-6w-WS3"> - <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button opaque="NO" tag="4" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="95N-Hk-rcU" userLabel="Button Close"> - <rect key="frame" x="8" y="0.0" width="118" height="30"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <accessibility key="accessibilityConfiguration" identifier="actionSave"> - <bool key="isElement" value="NO"/> - </accessibility> - <state key="normal" title="Close"/> - <connections> - <action selector="actionMenuSelect:" destination="IER-X5-Ax8" eventType="touchUpInside" id="lIq-w7-Yr5"/> - </connections> - </button> - </subviews> - </tableViewCellContentView> - </tableViewCell> - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="AN7-6j-wO7"> - <rect key="frame" x="0.0" y="120" width="134" height="30"/> - <autoresizingMask key="autoresizingMask"/> - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="AN7-6j-wO7" id="kl1-nQ-aIu"> - <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button opaque="NO" tag="5" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6vH-aM-aYe" userLabel="Button Save copy"> - <rect key="frame" x="8" y="0.0" width="118" height="30"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <accessibility key="accessibilityConfiguration"> - <bool key="isElement" value="NO"/> - </accessibility> - <state key="normal" title="Save copy..."/> - <connections> - <action selector="actionMenuSelect:" destination="IER-X5-Ax8" eventType="touchUpInside" id="KBW-3d-D5Z"/> - </connections> - </button> - </subviews> - </tableViewCellContentView> - </tableViewCell> - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="GmK-gj-GYu"> - <rect key="frame" x="0.0" y="150" width="134" height="30"/> - <autoresizingMask key="autoresizingMask"/> - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="GmK-gj-GYu" id="3OK-Zz-mqN"> - <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button opaque="NO" tag="6" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="apE-3B-lUt" userLabel="Button Save As PDF"> - <rect key="frame" x="8" y="0.0" width="118" height="30"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <accessibility key="accessibilityConfiguration" identifier="actionSaveAsPDF"> - <bool key="isElement" value="NO"/> - </accessibility> - <state key="normal" title="Save as PDF"/> - <connections> - <action selector="actionMenuSelect:" destination="IER-X5-Ax8" eventType="touchUpInside" id="0gI-or-ji5"/> - </connections> - </button> - </subviews> - </tableViewCellContentView> - </tableViewCell> - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="diN-3v-tgm"> - <rect key="frame" x="0.0" y="180" width="134" height="30"/> - <autoresizingMask key="autoresizingMask"/> - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="diN-3v-tgm" id="24s-fs-4cw"> - <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button opaque="NO" tag="7" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tvH-WR-c61" userLabel="Button Print"> - <rect key="frame" x="8" y="0.0" width="118" height="30"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <accessibility key="accessibilityConfiguration"> - <bool key="isElement" value="NO"/> - </accessibility> - <state key="normal" title="Print..."/> - <connections> - <action selector="actionMenuSelect:" destination="IER-X5-Ax8" eventType="touchUpInside" id="saH-6n-BkX"/> - </connections> - </button> - </subviews> - </tableViewCellContentView> - </tableViewCell> - </cells> - </tableViewSection> - </sections> - <connections> - <outlet property="dataSource" destination="IER-X5-Ax8" id="BBZ-8e-Waf"/> - <outlet property="delegate" destination="IER-X5-Ax8" id="sji-7W-aF0"/> - </connections> - </tableView> - <extendedEdge key="edgesForExtendedLayout"/> - <value key="contentSizeForViewInPopover" type="size" width="134" height="210"/> - <nil key="simulatedStatusBarMetrics"/> - <nil key="simulatedTopBarMetrics"/> - <nil key="simulatedBottomBarMetrics"/> - <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> - <size key="freeformSize" width="134" height="210"/> - <connections> - <outlet property="buttonClose" destination="95N-Hk-rcU" id="hJo-Qc-Wgv"/> - <outlet property="buttonOpen" destination="myk-zs-md7" id="xQK-I1-pDl"/> - <outlet property="buttonPrint" destination="tvH-WR-c61" id="4YU-p2-Fim"/> - <outlet property="buttonProperties" destination="b90-ja-Wm0" id="scY-Fn-fss"/> - <outlet property="buttonSave" destination="m45-MR-Gca" id="UZw-LX-Bco"/> - <outlet property="buttonSaveAs" destination="6vH-aM-aYe" id="4KY-Zi-iH4"/> - <outlet property="buttonSaveAsPDF" destination="apE-3B-lUt" id="AZL-ON-v2Y"/> - </connections> - </tableViewController> - <placeholder placeholderIdentifier="IBFirstResponder" id="D6j-Ov-CSK" userLabel="First Responder" sceneMemberID="firstResponder"/> - </objects> - <point key="canvasLocation" x="1799" y="303"/> - </scene> - </scenes> - <resources> - <image name="document" width="20" height="20"/> - <image name="menu" width="22" height="22"/> - </resources> -</document> diff --git a/ios/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h b/ios/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h deleted file mode 100644 index 5a4e07ffdc5e..000000000000 --- a/ios/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -// LibreOfficeKit is a prelink of all used LO libraries, generated -// as its own xCode project. -#define LOK_USE_UNSTABLE_API -#import "../../source/LibreOfficeKit.h" - -void temporaryHackToInvokeCallbackHandlers(LibreOfficeKitDocument* pThis); diff --git a/ios/Module_ios.mk b/ios/Module_ios.mk index 259c34ba3416..4f88bc4e92b4 100644 --- a/ios/Module_ios.mk +++ b/ios/Module_ios.mk @@ -14,12 +14,6 @@ $(eval $(call gb_Module_add_targets,ios,\ CustomTarget_iOS_setup \ )) -ifneq ($(ENABLE_IOS_LIBREOFFICELIGHT_APP),) -$(eval $(call gb_Module_add_targets,ios,\ - CustomTarget_iOS_link \ -)) - -endif endif # vim: set noet sw=4 ts=4: diff --git a/ios/README b/ios/README deleted file mode 100644 index 7f01d5d600d8..000000000000 --- a/ios/README +++ /dev/null @@ -1,49 +0,0 @@ -Somewhat obsolete README for the LibreOfficeLight iOS app and LibreOfficeKit. - --- LibreOfficeLight -a swift based UI, very much work in progress - --- support -the arm64 and simulator are the only supported processors, -old 32 bit iPhones are not supported. - -The swift app are done for 3 structures - simulator + full debug libraries - arm64 + full debug libraries - arm64 + optimized libraries - --- SETUP -Due to the 3 modes, at least 3 workdirs are needed together with a -separated UI workdir. - -Because the main work is done on the UI, where it is convenient to -switch fast between arm64 and simulator, it is advantageous to compile -the 3 configurations of LO first, and then link against those. - -Due to the multiple workdirs a separate work directories are needed as follows: -(names/locations can be changes, they are "linked" together by running autogen.sh) - ./core - libreoffice git clone (name can be changed) - ./ios-arm64 - workdir for production - ./ios-arm64-debug - workdir for debug on device - ./ios-simulator - workdir for simulator-debug - --- Steps to generate -1) copy ./core/distro-configs/LibreOfficeiOS.conf to autogen.input in - ./ios-arm64, ./ios-arm64-debug, ./ios-simulator - Correct as defined in the conf file, - add your local setup (e.g. location of tarballs) -2) run ../core/autogen.sh in ios-arm64, ios-arm64-debug and ios-simulator -3) run make in ios-arm64, ios-arm64-debug and ios-simulator - this will generate core/loApp.xcconfig which prepares LO to be compiled - and build LOkit is 3 configurations and store the preparedLibreOfficeKit - in ./core/ios/generated as: - release/libKit.a - release/libKit.dylib - debug/libKit.a - debug/libKit.dylib - simulator/libKit.a - simulator/libKit.dylib -5) open xcode with LibreOfficeLight select scheme and build/test/run. -6) enjoy - - diff --git a/ios/source/LibreOfficeKit.c b/ios/source/LibreOfficeKit.c deleted file mode 100644 index a4a78e8112f8..000000000000 --- a/ios/source/LibreOfficeKit.c +++ /dev/null @@ -1,119 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -#include <stdio.h> -#include <TargetConditionals.h> -#define LOK_USE_UNSTABLE_API 1 -#include "LibreOfficeKit.h" - -#include <LibreOfficeKit/LibreOfficeKitInit.h> - -#include <osl/process.h> - -// generated by solenv/bin/native-code.py: -#include <../workdir/CustomTarget/ios/native-code.h> - - -// pointers to our instance -static LibreOfficeKit* kit; -static LibreOfficeKitDocument* document; - - -// Tile variables -static int tileSizeX, tileSizeY, tileMaxY, documentParts; -static double twipsPerXtile, twipsPerYtile; - - - -// Bridge functions to LibreOfficeKit -__attribute__((visibility("default"))) -int BridgeLOkit_Init(const char *appPath, const char *userPath) -{ - - // Initialize LibreOfficeKit - if (!kit) { - kit = lok_init_2(appPath, userPath); - if (!kit) - return 1; - } - return 0; -} - - - -__attribute__((visibility("default"))) -int BridgeLOkit_Sizing(const int countXtiles, const int countYtiles, - const int pixelsXtile, const int pixelsYtile) -{ - long docWidth, docHeight; - - (void)countXtiles; - (void)countYtiles; - - // Remember for later - tileSizeX = pixelsXtile; - tileSizeY = pixelsYtile; - - // Calculate twips to pixels in X,Y direction - document->pClass->getDocumentSize(document, &docWidth, &docHeight); - twipsPerXtile = docWidth / countXtiles; - double ratio = (double)docHeight / (double)docWidth + 0.05; - int x0 = (int)((ratio - (int)ratio) * 10.0); - int x1 = x0 * countXtiles / 10; - int x2 = (int)ratio; - tileMaxY = x1 + x2; - twipsPerYtile = docHeight / tileMaxY; - documentParts = document->pClass->getParts(document); - return 0; -} - - - -__attribute__((visibility("default"))) -int BridgeLOkit_open(const char *path) -{ - document = kit->pClass->documentLoad(kit, path); - document->pClass->initializeForRendering(document, ""); - return 0; -} - - - -__attribute__((visibility("default"))) -int BridgeLOkit_ClientCommand(const char *input) -{ - (void)input; - return 0; -} - - - -__attribute__((visibility("default"))) -int BridgeLOkit_Hipernate() -{ - //FIXME - // check if document needs to be saved, to avoid data loss - // terminate all threads (basically terminate LOkit) - return 0; -} - - - -__attribute__((visibility("default"))) -int BridgeLOkit_LeaveHipernate() -{ - //FIXME - // restart LOkit - // reload document (it may have been changed by other programs, especially if iCloud - return 0; -} - -__attribute__((visibility("default"))) -LibreOfficeKit* BridgeLOkit_getLOK() -{ - return kit; -} diff --git a/ios/source/LibreOfficeKit.h b/ios/source/LibreOfficeKit.h deleted file mode 100644 index abc4fe87a4ce..000000000000 --- a/ios/source/LibreOfficeKit.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// This file is part of the LibreOffice project. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -// Bridge functions between LibreOfficeKit library and swift application. -// Only functions mentioned here can be used from the application -// The swift compiler uses this header to generate a needed interface -// The functions (LibreOfficeKit.mm) calls functions directly in LibreOffice - -int BridgeLOkit_Init(const char *appPath, const char *userPath); -int BridgeLOkit_Sizing(const int countXtiles, const int countYtiles, - const int pixelsXtile, const int pixelsYtile); -int BridgeLOkit_open(const char *path); -int BridgeLOkit_ClientCommand(const char *input); -int BridgeLOkit_Hipernate(void); -int BridgeLOkit_LeaveHipernate(void); - - -// Use LOK_USE_UNSTABLE_API to get access to the low level -// LibreOfficeKit. -// REMARK: There are no guarantee these functions will work !! -// REMARK: BridgeLOkit_Init MUST be called, NOT the original init() - -#ifdef LOK_USE_UNSTABLE_API -#include <LibreOfficeKit/LibreOfficeKit.h> -#include <LibreOfficeKit/LibreOfficeKitEnums.h> - -LibreOfficeKit* BridgeLOkit_getLOK(void); -#endif - |