summaryrefslogtreecommitdiff
path: root/ios
diff options
context:
space:
mode:
authorjan Iversen <jani@libreoffice.org>2017-02-19 08:09:08 +0100
committerjan iversen <jani@libreoffice.org>2017-03-19 15:49:17 +0000
commit03feb950308bcbb26a7b1c52fa0ce820be9e6472 (patch)
tree799ea1475f3353e7ebac4967c6919335c51d8dff /ios
parent34ccc9c4866e10abe7d366c354dfadf4f2671bb1 (diff)
ios LibreOfficeLight
start project with sidemenu and navigation the aim of the project is to provide an IOS prototype based on work from the online repo and added up with native swift work. The project aims at having a simple editor, where the user can correct typos etc. in complex documents. Sharing will be done using the iCloud drive. The project is a proof of concept, to replace the current android/ios viewers. The document will be presented using the webkit (available in both IOS and Android) and reusing the Javascripts from online. Thereby having one set of files to handle user interface for online, android and ios. The sidebar is intented to be used similar to MUFFIN (notebook bar), while the action is for save/print etc. Change-Id: I307a70b87e6367de2d22c1360a3e9cfa53d373a9 Reviewed-on: https://gerrit.libreoffice.org/35376 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@libreoffice.org> Tested-by: jan iversen <jani@libreoffice.org>
Diffstat (limited to 'ios')
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj581
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift79
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json110
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.pngbin0 -> 6927 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.pngbin0 -> 8967 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.pngbin0 -> 10178 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.pngbin0 -> 11729 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.pngbin0 -> 1118 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.pngbin0 -> 1563 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.pngbin0 -> 2067 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.pngbin0 -> 3092 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.pngbin0 -> 3257 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.pngbin0 -> 4097 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.pngbin0 -> 4383 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.pngbin0 -> 4489 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Document.pngbin0 -> 2067 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/intro.pngbin0 -> 16241 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu.pngbin0 -> 586 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@2x.pngbin0 -> 648 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@3x.pngbin0 -> 722 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/pdf.pngbin0 -> 2903 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/print.pngbin0 -> 2644 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/properties.pngbin0 -> 2883 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/save.pngbin0 -> 3197 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/saveas.pngbin0 -> 3520 bytes
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist40
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift34
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/.xccurrentversion8
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/LibreOfficeLight.xcdatamodel/contents4
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/SideMenu.swift99
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/ViewController.swift82
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/ViewDocument.swift13
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/ViewFileManager.swift13
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/ViewPrintManager.swift13
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/ViewProperties.swift13
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib93
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard334
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLightTests/Info.plist22
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLightTests/LibreOfficeLightTests.swift36
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/Info.plist22
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/LibreOfficeLightUITests.swift36
49 files changed, 1816 insertions, 0 deletions
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj b/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
new file mode 100644
index 000000000000..837aa290bfee
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
@@ -0,0 +1,581 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 392ED9B31E5E4B03005C8435 /* ViewPrintManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */; };
+ 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 */; };
+ 397E09061E597BD8001374E0 /* LibreOfficeLight.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 397E09041E597BD8001374E0 /* LibreOfficeLight.xcdatamodeld */; };
+ 397E09081E597BD8001374E0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 397E09071E597BD8001374E0 /* Assets.xcassets */; };
+ 397E09161E597BD8001374E0 /* LibreOfficeLightTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 397E09151E597BD8001374E0 /* LibreOfficeLightTests.swift */; };
+ 397E09211E597BD8001374E0 /* LibreOfficeLightUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 397E09201E597BD8001374E0 /* LibreOfficeLightUITests.swift */; };
+ 3992D8581E5B761700BEA987 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3992D8571E5B761700BEA987 /* ViewController.swift */; };
+ 3992D85A1E5B762A00BEA987 /* ViewDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3992D8591E5B762A00BEA987 /* ViewDocument.swift */; };
+ 3992D85D1E5B764A00BEA987 /* SideMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3992D85B1E5B764A00BEA987 /* SideMenu.swift */; };
+ 3992D85E1E5B764A00BEA987 /* ViewFileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3992D85C1E5B764A00BEA987 /* ViewFileManager.swift */; };
+ 399648471E5B87DC00E73E83 /* ViewProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 399648461E5B87DC00E73E83 /* ViewProperties.swift */; };
+ 399648491E5C4E5500E73E83 /* LO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 399648481E5C4E5500E73E83 /* LO.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 397E09121E597BD8001374E0 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 397E08F21E597BD8001374E0 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 397E08F91E597BD8001374E0;
+ remoteInfo = LibreOfficeLight;
+ };
+ 397E091D1E597BD8001374E0 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 397E08F21E597BD8001374E0 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 397E08F91E597BD8001374E0;
+ remoteInfo = LibreOfficeLight;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewPrintManager.swift; 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>"; };
+ 397E09051E597BD8001374E0 /* LibreOfficeLight.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LibreOfficeLight.xcdatamodel; sourceTree = "<group>"; };
+ 397E09071E597BD8001374E0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = LibreOfficeLight/Assets.xcassets; sourceTree = SOURCE_ROOT; };
+ 397E090C1E597BD8001374E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = LibreOfficeLight/Info.plist; sourceTree = SOURCE_ROOT; };
+ 397E09111E597BD8001374E0 /* LibreOfficeLightTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LibreOfficeLightTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 397E09151E597BD8001374E0 /* LibreOfficeLightTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LibreOfficeLightTests.swift; path = LibreOfficeLightTests/LibreOfficeLightTests.swift; sourceTree = SOURCE_ROOT; };
+ 397E09171E597BD8001374E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = LibreOfficeLightTests/Info.plist; sourceTree = SOURCE_ROOT; };
+ 397E091C1E597BD8001374E0 /* LibreOfficeLightUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LibreOfficeLightUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 397E09201E597BD8001374E0 /* LibreOfficeLightUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LibreOfficeLightUITests.swift; path = LibreOfficeLightUITests/LibreOfficeLightUITests.swift; sourceTree = SOURCE_ROOT; };
+ 397E09221E597BD8001374E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = LibreOfficeLightUITests/Info.plist; sourceTree = SOURCE_ROOT; };
+ 3992D8571E5B761700BEA987 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
+ 3992D8591E5B762A00BEA987 /* ViewDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewDocument.swift; sourceTree = "<group>"; };
+ 3992D85B1E5B764A00BEA987 /* SideMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SideMenu.swift; sourceTree = "<group>"; };
+ 3992D85C1E5B764A00BEA987 /* ViewFileManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewFileManager.swift; sourceTree = "<group>"; };
+ 399648461E5B87DC00E73E83 /* ViewProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewProperties.swift; sourceTree = "<group>"; };
+ 399648481E5C4E5500E73E83 /* LO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LO.swift; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 397E08F71E597BD8001374E0 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 397E090E1E597BD8001374E0 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 397E09191E597BD8001374E0 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 3911D89F1E5993600050D6BC /* Support files */ = {
+ isa = PBXGroup;
+ children = (
+ 397E09071E597BD8001374E0 /* Assets.xcassets */,
+ 397E09041E597BD8001374E0 /* LibreOfficeLight.xcdatamodeld */,
+ 397E090C1E597BD8001374E0 /* Info.plist */,
+ );
+ name = "Support files";
+ path = LibreOfficeLight;
+ sourceTree = SOURCE_ROOT;
+ };
+ 397E08F11E597BD8001374E0 = {
+ isa = PBXGroup;
+ children = (
+ 397E08FC1E597BD8001374E0 /* LibreOfficeLight */,
+ 397E09141E597BD8001374E0 /* LibreOfficeLightTests */,
+ 397E091F1E597BD8001374E0 /* LibreOfficeLightUITests */,
+ 397E08FB1E597BD8001374E0 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 397E08FB1E597BD8001374E0 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 397E08FA1E597BD8001374E0 /* LibreOfficeLight.app */,
+ 397E09111E597BD8001374E0 /* LibreOfficeLightTests.xctest */,
+ 397E091C1E597BD8001374E0 /* LibreOfficeLightUITests.xctest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 397E08FC1E597BD8001374E0 /* LibreOfficeLight */ = {
+ isa = PBXGroup;
+ children = (
+ 397E08FD1E597BD8001374E0 /* AppDelegate.swift */,
+ 3992D8571E5B761700BEA987 /* ViewController.swift */,
+ 3992D85B1E5B764A00BEA987 /* SideMenu.swift */,
+ 3992D8591E5B762A00BEA987 /* ViewDocument.swift */,
+ 3992D85C1E5B764A00BEA987 /* ViewFileManager.swift */,
+ 392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */,
+ 399648461E5B87DC00E73E83 /* ViewProperties.swift */,
+ 399648481E5C4E5500E73E83 /* LO.swift */,
+ 397E09011E597BD8001374E0 /* Main.storyboard */,
+ 397868D81E59A3EA007F9248 /* LaunchScreen.xib */,
+ 3911D89F1E5993600050D6BC /* Support files */,
+ );
+ path = LibreOfficeLight;
+ sourceTree = SOURCE_ROOT;
+ };
+ 397E09141E597BD8001374E0 /* LibreOfficeLightTests */ = {
+ isa = PBXGroup;
+ children = (
+ 397E09151E597BD8001374E0 /* LibreOfficeLightTests.swift */,
+ 397E09171E597BD8001374E0 /* Info.plist */,
+ );
+ path = LibreOfficeLightTests;
+ sourceTree = SOURCE_ROOT;
+ };
+ 397E091F1E597BD8001374E0 /* LibreOfficeLightUITests */ = {
+ isa = PBXGroup;
+ children = (
+ 397E09201E597BD8001374E0 /* LibreOfficeLightUITests.swift */,
+ 397E09221E597BD8001374E0 /* Info.plist */,
+ );
+ path = LibreOfficeLightUITests;
+ sourceTree = SOURCE_ROOT;
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 397E08F91E597BD8001374E0 /* LibreOfficeLight */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 397E09251E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLight" */;
+ buildPhases = (
+ 397E08F61E597BD8001374E0 /* Sources */,
+ 397E08F71E597BD8001374E0 /* Frameworks */,
+ 397E08F81E597BD8001374E0 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = LibreOfficeLight;
+ productName = LibreOfficeLight;
+ productReference = 397E08FA1E597BD8001374E0 /* LibreOfficeLight.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 397E09101E597BD8001374E0 /* LibreOfficeLightTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 397E09281E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLightTests" */;
+ buildPhases = (
+ 397E090D1E597BD8001374E0 /* Sources */,
+ 397E090E1E597BD8001374E0 /* Frameworks */,
+ 397E090F1E597BD8001374E0 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 397E09131E597BD8001374E0 /* PBXTargetDependency */,
+ );
+ name = LibreOfficeLightTests;
+ productName = LibreOfficeLightTests;
+ productReference = 397E09111E597BD8001374E0 /* LibreOfficeLightTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 397E091B1E597BD8001374E0 /* LibreOfficeLightUITests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 397E092B1E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLightUITests" */;
+ buildPhases = (
+ 397E09181E597BD8001374E0 /* Sources */,
+ 397E09191E597BD8001374E0 /* Frameworks */,
+ 397E091A1E597BD8001374E0 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 397E091E1E597BD8001374E0 /* PBXTargetDependency */,
+ );
+ name = LibreOfficeLightUITests;
+ productName = LibreOfficeLightUITests;
+ productReference = 397E091C1E597BD8001374E0 /* LibreOfficeLightUITests.xctest */;
+ productType = "com.apple.product-type.bundle.ui-testing";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 397E08F21E597BD8001374E0 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastSwiftUpdateCheck = 0820;
+ LastUpgradeCheck = 0820;
+ ORGANIZATIONNAME = jani;
+ TargetAttributes = {
+ 397E08F91E597BD8001374E0 = {
+ CreatedOnToolsVersion = 8.2;
+ ProvisioningStyle = Automatic;
+ };
+ 397E09101E597BD8001374E0 = {
+ CreatedOnToolsVersion = 8.2;
+ ProvisioningStyle = Automatic;
+ TestTargetID = 397E08F91E597BD8001374E0;
+ };
+ 397E091B1E597BD8001374E0 = {
+ CreatedOnToolsVersion = 8.2;
+ ProvisioningStyle = Automatic;
+ TestTargetID = 397E08F91E597BD8001374E0;
+ };
+ };
+ };
+ buildConfigurationList = 397E08F51E597BD8001374E0 /* Build configuration list for PBXProject "LibreOfficeLight" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 397E08F11E597BD8001374E0;
+ productRefGroup = 397E08FB1E597BD8001374E0 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 397E08F91E597BD8001374E0 /* LibreOfficeLight */,
+ 397E09101E597BD8001374E0 /* LibreOfficeLightTests */,
+ 397E091B1E597BD8001374E0 /* LibreOfficeLightUITests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 397E08F81E597BD8001374E0 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 397E09081E597BD8001374E0 /* Assets.xcassets in Resources */,
+ 397868D61E59A3EA007F9248 /* LaunchScreen.xib in Resources */,
+ 397E09031E597BD8001374E0 /* Main.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 397E090F1E597BD8001374E0 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 397E091A1E597BD8001374E0 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 397E08F61E597BD8001374E0 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 392ED9B31E5E4B03005C8435 /* ViewPrintManager.swift in Sources */,
+ 397E09061E597BD8001374E0 /* LibreOfficeLight.xcdatamodeld in Sources */,
+ 3992D85D1E5B764A00BEA987 /* SideMenu.swift in Sources */,
+ 399648471E5B87DC00E73E83 /* ViewProperties.swift in Sources */,
+ 3992D85E1E5B764A00BEA987 /* ViewFileManager.swift in Sources */,
+ 3992D85A1E5B762A00BEA987 /* ViewDocument.swift in Sources */,
+ 397E08FE1E597BD8001374E0 /* AppDelegate.swift in Sources */,
+ 399648491E5C4E5500E73E83 /* LO.swift in Sources */,
+ 3992D8581E5B761700BEA987 /* ViewController.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 397E090D1E597BD8001374E0 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 397E09161E597BD8001374E0 /* LibreOfficeLightTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 397E09181E597BD8001374E0 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 397E09211E597BD8001374E0 /* LibreOfficeLightUITests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 397E09131E597BD8001374E0 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 397E08F91E597BD8001374E0 /* LibreOfficeLight */;
+ targetProxy = 397E09121E597BD8001374E0 /* PBXContainerItemProxy */;
+ };
+ 397E091E1E597BD8001374E0 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 397E08F91E597BD8001374E0 /* LibreOfficeLight */;
+ targetProxy = 397E091D1E597BD8001374E0 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 397868D81E59A3EA007F9248 /* LaunchScreen.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 397868D71E59A3EA007F9248 /* en */,
+ );
+ name = LaunchScreen.xib;
+ sourceTree = "<group>";
+ };
+ 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;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ 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_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;
+ IPHONEOS_DEPLOYMENT_TARGET = 10.2;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 397E09241E597BD8001374E0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ 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-with-dsym";
+ 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;
+ IPHONEOS_DEPLOYMENT_TARGET = 10.2;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 397E09261E597BD8001374E0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = LibreOfficeLight/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = jani.libreofficeLight.LibreOfficeLight;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 3.0;
+ };
+ name = Debug;
+ };
+ 397E09271E597BD8001374E0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = LibreOfficeLight/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = jani.libreofficeLight.LibreOfficeLight;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 3.0;
+ };
+ name = Release;
+ };
+ 397E09291E597BD8001374E0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ INFOPLIST_FILE = LibreOfficeLightTests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = jani.libreofficeLight.LibreOfficeLightTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 3.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LibreOfficeLight.app/LibreOfficeLight";
+ };
+ name = Debug;
+ };
+ 397E092A1E597BD8001374E0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ INFOPLIST_FILE = LibreOfficeLightTests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = jani.libreofficeLight.LibreOfficeLightTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 3.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LibreOfficeLight.app/LibreOfficeLight";
+ };
+ name = Release;
+ };
+ 397E092C1E597BD8001374E0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ INFOPLIST_FILE = LibreOfficeLightUITests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = jani.libreofficeLight.LibreOfficeLightUITests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 3.0;
+ TEST_TARGET_NAME = LibreOfficeLight;
+ };
+ name = Debug;
+ };
+ 397E092D1E597BD8001374E0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ INFOPLIST_FILE = LibreOfficeLightUITests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = jani.libreofficeLight.LibreOfficeLightUITests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 3.0;
+ TEST_TARGET_NAME = LibreOfficeLight;
+ };
+ 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 = Release;
+ };
+ 397E09251E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLight" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 397E09261E597BD8001374E0 /* Debug */,
+ 397E09271E597BD8001374E0 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 397E09281E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLightTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 397E09291E597BD8001374E0 /* Debug */,
+ 397E092A1E597BD8001374E0 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 397E092B1E597BD8001374E0 /* Build configuration list for PBXNativeTarget "LibreOfficeLightUITests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 397E092C1E597BD8001374E0 /* Debug */,
+ 397E092D1E597BD8001374E0 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+
+/* Begin XCVersionGroup section */
+ 397E09041E597BD8001374E0 /* LibreOfficeLight.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 397E09051E597BD8001374E0 /* LibreOfficeLight.xcdatamodel */,
+ );
+ currentVersion = 397E09051E597BD8001374E0 /* LibreOfficeLight.xcdatamodel */;
+ path = LibreOfficeLight.xcdatamodeld;
+ sourceTree = "<group>";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+/* End XCVersionGroup section */
+ };
+ rootObject = 397E08F21E597BD8001374E0 /* Project object */;
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift
new file mode 100644
index 000000000000..3c09d88bd671
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift
@@ -0,0 +1,79 @@
+//
+// 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
+
+
+
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate
+{
+ var window: UIWindow?
+
+
+
+ // MARK: - AppDelegate functions
+
+
+
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
+ {
+ LOinterface.Initialize()
+
+ // Override point for customization after application launch.
+ return true
+ }
+
+
+
+ func applicationWillResignActive(_ application: UIApplication)
+ {
+ // 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 to the background state.
+ // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks.
+ // Games should use this method to pause the game.
+ }
+
+
+
+ func applicationDidEnterBackground(_ application: UIApplication)
+ {
+ // 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
+ // in case it is terminated later.
+ // If your application supports background execution,
+ // this method is called instead of applicationWillTerminate: when the user quits.
+ }
+
+
+
+ func applicationWillEnterForeground(_ application: UIApplication)
+ {
+ // Called as part of the transition from the background to the active state;
+ // here you can undo many of the changes made on entering the background.
+ }
+
+
+
+ func applicationDidBecomeActive(_ application: UIApplication)
+ {
+ // Restart any tasks that were paused (or not yet started) while the application was inactive.
+ // If the application was previously in the background, optionally refresh the user interface.
+ }
+
+
+
+ func applicationWillTerminate(_ application: UIApplication)
+ {
+ // Called 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.
+ }
+}
+
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 000000000000..c5f125791449
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,110 @@
+{
+ "images" : [
+ {
+ "idiom" : "iphone",
+ "size" : "20x20",
+ "scale" : "2x",
+ "filename" : "LibreOffice-40.png"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "20x20",
+ "scale" : "3x",
+ "filename" : "LibreOffice-60.png"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "2x",
+ "filename" : "LibreOffice-58.png"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "3x",
+ "filename" : "LibreOffice-87.png"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "2x",
+ "filename" : "LibreOffice-80.png"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "3x",
+ "filename" : "LibreOffice-120.png"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "2x",
+ "filename" : "LibreOffice-120.png"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "3x",
+ "filename" : "LibreOffice-180.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "20x20",
+ "scale" : "1x",
+ "filename" : "LibreOffice-20.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "20x20",
+ "scale" : "2x",
+ "filename" : "LibreOffice-40.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "29x29",
+ "scale" : "1x",
+ "filename" : "LibreOffice-29.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "29x29",
+ "scale" : "2x",
+ "filename" : "LibreOffice-58.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "40x40",
+ "scale" : "1x",
+ "filename" : "LibreOffice-40.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "40x40",
+ "scale" : "2x",
+ "filename" : "LibreOffice-80.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "76x76",
+ "scale" : "1x",
+ "filename" : "LibreOffice-76.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "76x76",
+ "scale" : "2x",
+ "filename" : "LibreOffice-152.png"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "83.5x83.5",
+ "scale" : "2x",
+ "filename" : "LibreOffice-167.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png
new file mode 100644
index 000000000000..b6371ab981a9
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png
new file mode 100644
index 000000000000..e0e1cf3123a9
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png
new file mode 100644
index 000000000000..b3ac8e54e4b2
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.png
new file mode 100644
index 000000000000..05c3d0616ad2
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.png
new file mode 100644
index 000000000000..adb2ea30b016
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.png
new file mode 100644
index 000000000000..69a807475505
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.png
new file mode 100644
index 000000000000..a0bf9afbb596
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png
new file mode 100644
index 000000000000..b73a8b8011e8
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.png
new file mode 100644
index 000000000000..3e9199974bd7
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.png
new file mode 100644
index 000000000000..729d0cbb4f50
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.png
new file mode 100644
index 000000000000..25c8f68837fe
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.png
new file mode 100644
index 000000000000..0c830e3092cb
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Contents.json
new file mode 100644
index 000000000000..9eceac21a50d
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "Document.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "Document.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "Document.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Document.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Document.png
new file mode 100644
index 000000000000..a0bf9afbb596
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/document.imageset/Document.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/Contents.json
new file mode 100644
index 000000000000..1f910096d224
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "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/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/intro.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/intro.png
new file mode 100644
index 000000000000..8c1025f6d84c
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/intro.imageset/intro.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/Contents.json
new file mode 100644
index 000000000000..da2ac2bbdaa2
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "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/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu.png
new file mode 100644
index 000000000000..fe97b0cfe224
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@2x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@2x.png
new file mode 100644
index 000000000000..f5e9a1597c95
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@2x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@3x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@3x.png
new file mode 100644
index 000000000000..9f00717fe29e
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/menu.imageset/menu@3x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/Contents.json
new file mode 100644
index 000000000000..8742f628718d
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "pdf.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "pdf.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "pdf.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/pdf.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/pdf.png
new file mode 100644
index 000000000000..08e1731d5bf5
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/pdf.imageset/pdf.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/Contents.json
new file mode 100644
index 000000000000..3cb4a13f5aa6
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "print.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "print.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "print.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/print.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/print.png
new file mode 100644
index 000000000000..b73c31b044ae
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/print.imageset/print.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/Contents.json
new file mode 100644
index 000000000000..a17872b1b40e
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "properties.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "properties.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "properties.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/properties.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/properties.png
new file mode 100644
index 000000000000..3186d45ccda6
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/properties.imageset/properties.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/Contents.json
new file mode 100644
index 000000000000..82ec4f81c801
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "save.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "save.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "save.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/save.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/save.png
new file mode 100644
index 000000000000..43d20e587b3c
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/save.imageset/save.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/Contents.json
new file mode 100644
index 000000000000..9988ef324d41
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "saveas.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "saveas.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "saveas.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/saveas.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/saveas.png
new file mode 100644
index 000000000000..d1d6ea2e0f86
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/saveas.imageset/saveas.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist
new file mode 100755
index 000000000000..6905cc67bbf7
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist
@@ -0,0 +1,40 @@
+<?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>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>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UILaunchStoryboardName</key>
+ <string>LaunchScreen</string>
+ <key>UIMainStoryboardFile</key>
+ <string>Main</string>
+ <key>UIRequiredDeviceCapabilities</key>
+ <array>
+ <string>armv7</string>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift
new file mode 100755
index 000000000000..e6556adafe3a
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift
@@ -0,0 +1,34 @@
+//
+// 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/.
+//
+
+
+// Global variable to reference LibreOffice functions
+var LOinterface = LOkit.init()
+
+
+
+class LOkit
+{
+ init()
+ {
+
+ }
+
+
+
+ func Initialize()
+ {
+
+ }
+
+ func DeleteCurrentDocument()
+ {
+
+ }
+}
+
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/.xccurrentversion b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/.xccurrentversion
new file mode 100644
index 000000000000..446e9ff7b5e7
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/.xccurrentversion
@@ -0,0 +1,8 @@
+<?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>_XCCurrentVersionName</key>
+ <string>LibreOfficeLight.xcdatamodel</string>
+</dict>
+</plist>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/LibreOfficeLight.xcdatamodel/contents b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/LibreOfficeLight.xcdatamodel/contents
new file mode 100644
index 000000000000..476e5b6cfe4c
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.xcdatamodeld/LibreOfficeLight.xcdatamodel/contents
@@ -0,0 +1,4 @@
+<?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/experimental/LibreOfficeLight/LibreOfficeLight/SideMenu.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/SideMenu.swift
new file mode 100755
index 000000000000..ef5a1f70de21
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/SideMenu.swift
@@ -0,0 +1,99 @@
+//
+// 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 SidebarController: UIViewController
+{
+ @IBAction func menuOpen(_ sender: Any)
+ {
+ loadController("FileManager")
+ }
+
+
+
+ @IBAction func menuNew(_ sender: Any)
+ {
+ loadController("Document")
+ }
+
+
+
+ @IBAction func menuSave(_ sender: Any)
+ {
+ loadController("Document")
+ }
+
+
+
+ @IBAction func menuSaveAs(_ sender: Any)
+ {
+ loadController("FileManager")
+ }
+
+
+
+ @IBAction func menuPDF(_ sender: Any)
+ {
+ loadController("Document")
+ }
+
+
+
+ @IBAction func menuProperties(_ sender: Any)
+ {
+ loadController("Properties")
+ }
+
+
+
+ @IBAction func menuPrint(_ sender: Any)
+ {
+ loadController("PrintManager")
+ }
+
+
+
+ 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/experimental/LibreOfficeLight/LibreOfficeLight/ViewController.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewController.swift
new file mode 100755
index 000000000000..7ffbac0ec594
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewController.swift
@@ -0,0 +1,82 @@
+//
+// 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 ViewController: UIViewController {
+
+
+ // MARK: - ViewController menu actions
+
+
+
+ @IBAction func doMenu(_ sender: UIBarButtonItem)
+ {
+ if (sender.tag == 10)
+ {
+ sender.tag = 0;
+
+ let viewMenuBack : UIView = view.subviews.last!
+
+ 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()
+ })
+
+ return
+ }
+
+ sender.isEnabled = false
+ sender.tag = 10
+
+ let sidebar : SidebarController = self.storyboard!.instantiateViewController(withIdentifier: "SidebarController") as! SidebarController
+ self.view.addSubview(sidebar.view)
+ self.addChildViewController(sidebar)
+ sidebar.view.layoutIfNeeded()
+
+
+ sidebar.view.frame=CGRect(x: 0 - UIScreen.main.bounds.size.width, y: 0, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height);
+
+ UIView.animate(withDuration: 0.3, animations: { () -> Void in
+ sidebar.view.frame=CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height);
+ sender.isEnabled = true
+ }, completion:nil)
+ }
+
+
+
+ @IBAction func doDelete(_ sender: UIBarButtonItem)
+ {
+ LOinterface.DeleteCurrentDocument()
+ }
+
+
+
+ // MARK: - ViewController basic
+
+
+
+ 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/experimental/LibreOfficeLight/LibreOfficeLight/ViewDocument.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewDocument.swift
new file mode 100755
index 000000000000..fba043c24455
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewDocument.swift
@@ -0,0 +1,13 @@
+//
+// 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/.
+//
+
+
+
+class ViewDocument: ViewController
+{
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewFileManager.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewFileManager.swift
new file mode 100755
index 000000000000..7142d5ff5573
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewFileManager.swift
@@ -0,0 +1,13 @@
+//
+// 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/.
+//
+
+
+
+class ViewFileManager: ViewController
+{
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewPrintManager.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewPrintManager.swift
new file mode 100755
index 000000000000..5111d62e9ea2
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewPrintManager.swift
@@ -0,0 +1,13 @@
+//
+// 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/.
+//
+
+
+
+class ViewPrintManager: ViewController
+{
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewProperties.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewProperties.swift
new file mode 100755
index 000000000000..f1ec45af3e01
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/ViewProperties.swift
@@ -0,0 +1,13 @@
+//
+// 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/.
+//
+
+
+
+class ViewProperties: ViewController
+{
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib
new file mode 100644
index 000000000000..55da64dac5a8
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" 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="11757"/>
+ <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>
+ <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="top" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="URr-5Q-HMY">
+ <rect key="frame" x="20" y="352.5" width="440" height="107.5"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LibreOfficeLight is part of LibreOffice." lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
+ <rect key="frame" x="0.0" y="0.0" width="289.5" height="21"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="21" id="IVd-NC-hHO"/>
+ </constraints>
+ <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" text="Full source is available at:" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="6sz-Sz-e1h">
+ <rect key="frame" x="0.0" y="29" width="194.5" height="21"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="21" id="twV-kk-6mo"/>
+ </constraints>
+ <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" text="git://anongit.freedesktop.org/libreoffice/core" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="I4U-tD-bDs">
+ <rect key="frame" x="0.0" y="58" width="340" height="21"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="21" id="iyc-5F-yst"/>
+ </constraints>
+ <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" text="Maintained by jani@libreoffice.org" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jCj-XE-D37">
+ <rect key="frame" x="0.0" y="87" width="259.5" height="20.5"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ </stackView>
+ <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="16" translatesAutoresizingMaskIntoConstraints="NO" id="n2g-DN-Rct">
+ <rect key="frame" x="75" y="137" width="330" height="180.5"/>
+ <subviews>
+ <imageView userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="intro" translatesAutoresizingMaskIntoConstraints="NO" id="iba-PG-iZB">
+ <rect key="frame" x="0.0" y="0.0" width="330" height="84"/>
+ </imageView>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LibreOfficeLight" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
+ <rect key="frame" x="0.0" y="100" width="330" 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" text="Version 0.1" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="ZEw-zA-Ntv">
+ <rect key="frame" x="0.0" y="159" width="330" height="21.5"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ </stackView>
+ </subviews>
+ <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ <constraints>
+ <constraint firstAttribute="bottom" secondItem="URr-5Q-HMY" secondAttribute="bottom" constant="20" id="3m6-NH-jCO"/>
+ <constraint firstAttribute="trailing" secondItem="URr-5Q-HMY" secondAttribute="trailing" constant="20" id="Cbg-9M-z0k"/>
+ <constraint firstItem="URr-5Q-HMY" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" id="acA-cQ-LIe"/>
+ <constraint firstItem="n2g-DN-Rct" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="s0F-na-NC4"/>
+ <constraint firstItem="n2g-DN-Rct" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="tRc-C9-cy7"/>
+ </constraints>
+ <nil key="simulatedStatusBarMetrics"/>
+ <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+ <point key="canvasLocation" x="548" y="455"/>
+ </view>
+ </objects>
+ <resources>
+ <image name="intro" width="330" height="84"/>
+ </resources>
+</document>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
new file mode 100755
index 000000000000..ca8bcc1855e9
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="DGj-7d-jfR">
+ <device id="retina4_7" orientation="portrait">
+ <adaptation id="fullscreen"/>
+ </device>
+ <dependencies>
+ <deployment identifier="iOS"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
+ <capability name="Constraints to layout margins" minToolsVersion="6.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="ViewDocument" 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="375" height="667"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="My Document" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UR6-NA-Ecz">
+ <rect key="frame" x="177" y="495" width="128" 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>
+ <toolbarItems/>
+ <navigationItem key="navigationItem" title="Document" id="5c6-32-T4J">
+ <barButtonItem key="leftBarButtonItem" image="menu" id="fdq-Uw-536">
+ <connections>
+ <action selector="doMenu:" destination="vXZ-lx-hvc" id="sJP-Fp-Kn2"/>
+ </connections>
+ </barButtonItem>
+ <barButtonItem key="rightBarButtonItem" systemItem="trash" id="BNq-ol-ZVK">
+ <connections>
+ <action selector="doDelete:" destination="vXZ-lx-hvc" id="lUR-yj-rgv"/>
+ </connections>
+ </barButtonItem>
+ </navigationItem>
+ <simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="1109.5999999999999" y="-378.26086956521743"/>
+ </scene>
+ <!--File Manager-->
+ <scene sceneID="q6l-iR-WN3">
+ <objects>
+ <viewController storyboardIdentifier="FileManager" useStoryboardIdentifierAsRestorationIdentifier="YES" id="khG-SL-0rk" customClass="ViewFileManager" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController">
+ <layoutGuides>
+ <viewControllerLayoutGuide type="top" id="7nB-gN-E7d"/>
+ <viewControllerLayoutGuide type="bottom" id="ykb-8v-9YB"/>
+ </layoutGuides>
+ <view key="view" contentMode="scaleToFill" id="8Tm-V4-HTY">
+ <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="My File Manager" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BHy-9g-bWe">
+ <rect key="frame" x="124" y="377" width="172" 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>
+ <navigationItem key="navigationItem" title="File Manager" id="f24-Ia-thn">
+ <barButtonItem key="leftBarButtonItem" image="menu" id="R1E-Ko-iZM">
+ <connections>
+ <action selector="doMenu:" destination="khG-SL-0rk" id="x2w-2j-oWj"/>
+ </connections>
+ </barButtonItem>
+ </navigationItem>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="mmn-PL-HS6" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="256.80000000000001" y="1145.577211394303"/>
+ </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="375" height="667"/>
+ <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="doMenu:" 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="1109.5999999999999" y="1145.577211394303"/>
+ </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="0.0" width="320" 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="khG-SL-0rk" kind="show" identifier="showFilemanager" id="Xag-AL-gHQ"/>
+ <segue destination="ay1-ce-WHs" kind="show" identifier="showPrintManager" id="BgL-QR-QJ0"/>
+ <segue destination="vXZ-lx-hvc" kind="relationship" relationship="rootViewController" id="BEf-s3-rE8"/>
+ </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>
+ <!--Sidebar Controller-->
+ <scene sceneID="moB-At-Om8">
+ <objects>
+ <viewController storyboardIdentifier="SidebarController" useStoryboardIdentifierAsRestorationIdentifier="YES" id="E9y-3m-fEc" customClass="SidebarController" 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="375" height="667"/>
+ <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="K3a-CQ-sBC">
+ <rect key="frame" x="16" y="359" width="150" height="45"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="45" id="Rg4-bW-MQk"/>
+ <constraint firstAttribute="width" constant="150" id="y0o-Nq-4z4"/>
+ </constraints>
+ <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
+ <state key="normal" title="Properties..." image="properties">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ </state>
+ <connections>
+ <action selector="menuProperties:" destination="E9y-3m-fEc" eventType="touchUpInside" id="LcD-vQ-l3D"/>
+ </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="16" y="304" width="150" height="45"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="150" id="UL6-xy-1qB"/>
+ <constraint firstAttribute="height" constant="45" id="hty-y5-gVo"/>
+ </constraints>
+ <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
+ <state key="normal" title="PDF" image="pdf">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ </state>
+ <connections>
+ <action selector="menuPDF:" destination="E9y-3m-fEc" eventType="touchUpInside" id="IdR-tr-sxl"/>
+ </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="16" y="249" width="150" height="45"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="150" id="U6W-G1-H2J"/>
+ <constraint firstAttribute="height" constant="45" id="wOH-9b-B8P"/>
+ </constraints>
+ <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
+ <state key="normal" title="Save as..." image="saveas">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ </state>
+ <connections>
+ <action selector="menuSaveAs:" destination="E9y-3m-fEc" eventType="touchUpInside" id="5zk-pM-Bpu"/>
+ </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="16" y="194" width="150" height="45"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="45" id="N7I-YK-5uo"/>
+ <constraint firstAttribute="width" constant="150" id="eLW-p8-QBZ"/>
+ </constraints>
+ <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
+ <state key="normal" title="Save" image="save">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ </state>
+ <connections>
+ <action selector="menuSave:" destination="E9y-3m-fEc" eventType="touchUpInside" id="fMK-Ar-DfV"/>
+ </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="16" y="139" width="150" height="45"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="45" id="4H0-0k-rm5"/>
+ <constraint firstAttribute="width" constant="150" id="Q1z-1N-WMF"/>
+ </constraints>
+ <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
+ <state key="normal" title="New..." image="document">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ </state>
+ <connections>
+ <action selector="menuNew:" destination="E9y-3m-fEc" eventType="touchUpInside" id="shs-o3-IgE"/>
+ </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="16" y="414" width="150" height="45"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="45" id="Fyt-Iq-YWv"/>
+ <constraint firstAttribute="width" constant="150" id="eFy-qB-RER"/>
+ </constraints>
+ <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
+ <state key="normal" title="Print..." image="print">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ </state>
+ <connections>
+ <action selector="menuPrint:" destination="E9y-3m-fEc" eventType="touchUpInside" id="SQh-RG-I4h"/>
+ </connections>
+ </button>
+ <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="16" y="84" width="150" height="45"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="150" id="Uuo-01-tfU"/>
+ <constraint firstAttribute="height" constant="45" id="v75-o1-ii6"/>
+ </constraints>
+ <inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
+ <state key="normal" title="Open..." image="document">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ </state>
+ <connections>
+ <action selector="menuOpen:" destination="E9y-3m-fEc" eventType="touchUpInside" id="owI-Ax-5Au"/>
+ </connections>
+ </button>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstItem="Hk4-yl-lM9" firstAttribute="top" secondItem="CBj-V3-BKJ" secondAttribute="bottom" constant="10" id="3aD-it-Msw"/>
+ <constraint firstItem="Hk4-yl-lM9" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="4zN-qk-gCk"/>
+ <constraint firstItem="g5y-SJ-jU1" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="JxJ-kA-qwz"/>
+ <constraint firstItem="eZV-Rh-hCf" firstAttribute="top" secondItem="YTV-Y5-L8R" secondAttribute="bottom" constant="10" id="PLr-1M-6Jv"/>
+ <constraint firstItem="YTV-Y5-L8R" firstAttribute="top" secondItem="g5y-SJ-jU1" secondAttribute="bottom" constant="10" id="Ws8-TE-V6O"/>
+ <constraint firstItem="CBj-V3-BKJ" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="XWf-mb-RwF"/>
+ <constraint firstItem="eZV-Rh-hCf" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="akz-vF-hHv"/>
+ <constraint firstItem="K3a-CQ-sBC" firstAttribute="top" secondItem="Hk4-yl-lM9" secondAttribute="bottom" constant="10" id="bIw-3k-voG"/>
+ <constraint firstItem="YTV-Y5-L8R" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="dto-y0-1aX"/>
+ <constraint firstItem="CBj-V3-BKJ" firstAttribute="top" secondItem="eZV-Rh-hCf" secondAttribute="bottom" constant="10" id="hEC-J7-NxJ"/>
+ <constraint firstItem="5Mv-7b-xjF" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="k0M-cK-qBw"/>
+ <constraint firstItem="g5y-SJ-jU1" firstAttribute="top" secondItem="qJv-1E-iEi" secondAttribute="bottom" constant="64" id="nSZ-rC-b7a"/>
+ <constraint firstItem="K3a-CQ-sBC" firstAttribute="leading" secondItem="e1u-sT-aSe" secondAttribute="leadingMargin" id="njx-0E-3hs"/>
+ <constraint firstItem="5Mv-7b-xjF" firstAttribute="top" secondItem="K3a-CQ-sBC" secondAttribute="bottom" constant="10" id="sPb-nU-SoB"/>
+ </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>
+ <!--LibreOffice - Properties-->
+ <scene sceneID="XNm-Ch-28q">
+ <objects>
+ <viewController storyboardIdentifier="Properties" title="LibreOffice - 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="375" height="667"/>
+ <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>
+ <navigationItem key="navigationItem" title="Properties" id="9nH-at-6AF">
+ <barButtonItem key="leftBarButtonItem" image="menu" id="wYo-zq-cqh">
+ <connections>
+ <action selector="doMenu:" destination="h7c-B7-pKT" id="Yls-8o-msb"/>
+ </connections>
+ </barButtonItem>
+ <barButtonItem key="rightBarButtonItem" systemItem="trash" id="25I-J4-o11">
+ <connections>
+ <action selector="doDelete:" destination="h7c-B7-pKT" id="c6k-Q0-vtQ"/>
+ </connections>
+ </barButtonItem>
+ </navigationItem>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="vaO-NX-hiP" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="1109.5999999999999" y="304.4977511244378"/>
+ </scene>
+ </scenes>
+ <resources>
+ <image name="document" width="20" height="20"/>
+ <image name="menu" width="22" height="22"/>
+ <image name="pdf" width="20" height="20"/>
+ <image name="print" width="20" height="20"/>
+ <image name="properties" width="20" height="20"/>
+ <image name="save" width="20" height="20"/>
+ <image name="saveas" width="20" height="20"/>
+ </resources>
+</document>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLightTests/Info.plist b/ios/experimental/LibreOfficeLight/LibreOfficeLightTests/Info.plist
new file mode 100644
index 000000000000..6c6c23c43adc
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLightTests/Info.plist
@@ -0,0 +1,22 @@
+<?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>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>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLightTests/LibreOfficeLightTests.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLightTests/LibreOfficeLightTests.swift
new file mode 100644
index 000000000000..bf6b081cda1e
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLightTests/LibreOfficeLightTests.swift
@@ -0,0 +1,36 @@
+//
+// LibreOfficeLightTests.swift
+// LibreOfficeLightTests
+//
+// Created by Jan Iversen on 19/02/2017.
+// Copyright © 2017 jani. All rights reserved.
+//
+
+import XCTest
+@testable import LibreOfficeLight
+
+class LibreOfficeLightTests: 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 testExample() {
+ // This is an example of a functional test case.
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ }
+
+ func testPerformanceExample() {
+ // This is an example of a performance test case.
+ self.measure {
+ // Put the code you want to measure the time of here.
+ }
+ }
+
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/Info.plist b/ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/Info.plist
new file mode 100644
index 000000000000..6c6c23c43adc
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/Info.plist
@@ -0,0 +1,22 @@
+<?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>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>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/LibreOfficeLightUITests.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/LibreOfficeLightUITests.swift
new file mode 100644
index 000000000000..4e8279547aaa
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLightUITests/LibreOfficeLightUITests.swift
@@ -0,0 +1,36 @@
+//
+// LibreOfficeLightUITests.swift
+// LibreOfficeLightUITests
+//
+// Created by Jan Iversen on 19/02/2017.
+// Copyright © 2017 jani. All rights reserved.
+//
+
+import XCTest
+
+class LibreOfficeLightUITests: XCTestCase {
+
+ override func setUp() {
+ super.setUp()
+
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+
+ // In UI tests it is usually best to stop immediately when a failure occurs.
+ continueAfterFailure = false
+ // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
+ XCUIApplication().launch()
+
+ // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
+ }
+
+ override func tearDown() {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ super.tearDown()
+ }
+
+ func testExample() {
+ // Use recording to get started writing UI tests.
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ }
+
+}