summaryrefslogtreecommitdiff
path: root/ios
diff options
context:
space:
mode:
authorjan Iversen <jani@libreoffice.org>2017-03-14 09:08:00 +0100
committerjan iversen <jani@libreoffice.org>2017-03-21 16:59:34 +0000
commit46a71fa01a2268a0a6e02ed04ece3094153ab247 (patch)
tree12c7b180049867be5f4bb92cf7dbb1fc94e6646f /ios
parent17307a10537fbd1f04c683c2f93bf880173ce3b4 (diff)
ios LibreOfficeLight iCloud support
Added iCloud document support to fileManager Change-Id: I7c8f78b6b148926398b170ee8a32d3c09413205f Reviewed-on: https://gerrit.libreoffice.org/35503 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@libreoffice.org>
Diffstat (limited to 'ios')
-rw-r--r--ios/experimental/LibreOfficeLight/Default-568h@2x.pngbin0 -> 18594 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj43
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift2
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift39
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist51
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.entitlements18
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib8
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard31
8 files changed, 152 insertions, 40 deletions
diff --git a/ios/experimental/LibreOfficeLight/Default-568h@2x.png b/ios/experimental/LibreOfficeLight/Default-568h@2x.png
new file mode 100644
index 000000000000..0891b7aabfcf
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/Default-568h@2x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj b/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
index 82f9ed2c73a9..8cd983ccb6ec 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
@@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */
392ED9B31E5E4B03005C8435 /* ViewPrintManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */; };
+ 397275401E782CDC006ACDCC /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3972753F1E782CDC006ACDCC /* Default-568h@2x.png */; };
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 */; };
@@ -53,6 +54,8 @@
/* Begin PBXFileReference section */
392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewPrintManager.swift; path = LibreOfficeLight/ViewPrintManager.swift; sourceTree = SOURCE_ROOT; };
+ 397275391E77D9F1006ACDCC /* LibreOfficeLight.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LibreOfficeLight.entitlements; sourceTree = "<group>"; };
+ 3972753F1E782CDC006ACDCC /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; 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; };
@@ -125,15 +128,24 @@
path = LibreOfficeLight;
sourceTree = SOURCE_ROOT;
};
+ 3972753A1E77D9F7006ACDCC /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
397E08F11E597BD8001374E0 = {
isa = PBXGroup;
children = (
+ 3972753F1E782CDC006ACDCC /* Default-568h@2x.png */,
39B084E41E5F0B5200682A59 /* Resources */,
3911D89F1E5993600050D6BC /* Support files */,
397E08FC1E597BD8001374E0 /* LibreOfficeLight */,
397E09141E597BD8001374E0 /* LibreOfficeLightTests */,
397E091F1E597BD8001374E0 /* LibreOfficeLightUITests */,
397E08FB1E597BD8001374E0 /* Products */,
+ 3972753A1E77D9F7006ACDCC /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -150,6 +162,7 @@
397E08FC1E597BD8001374E0 /* LibreOfficeLight */ = {
isa = PBXGroup;
children = (
+ 397275391E77D9F1006ACDCC /* LibreOfficeLight.entitlements */,
39A83A8E1E5F471D00D0C683 /* lokit.c */,
397E08FD1E597BD8001374E0 /* AppDelegate.swift */,
3992D8571E5B761700BEA987 /* ViewController.swift */,
@@ -268,8 +281,17 @@
TargetAttributes = {
397E08F91E597BD8001374E0 = {
CreatedOnToolsVersion = 8.2;
+ DevelopmentTeam = TM977DU7EF;
LastSwiftMigration = 0820;
ProvisioningStyle = Automatic;
+ SystemCapabilities = {
+ com.apple.Push = {
+ enabled = 0;
+ };
+ com.apple.iCloud = {
+ enabled = 1;
+ };
+ };
};
397E09101E597BD8001374E0 = {
CreatedOnToolsVersion = 8.2;
@@ -312,6 +334,7 @@
39B08BD71E5F0BB600682A59 /* rc in Resources */,
39B08B9E1E5F0BB600682A59 /* offapi.rdb in Resources */,
39B084E31E5F0A9600682A59 /* lo.xcconfig in Resources */,
+ 397275401E782CDC006ACDCC /* Default-568h@2x.png in Resources */,
397868D61E59A3EA007F9248 /* LaunchScreen.xib in Resources */,
39B08B9F1E5F0BB600682A59 /* oovbaapi.rdb in Resources */,
39B08B9D1E5F0BB600682A59 /* fundamentalrc in Resources */,
@@ -550,21 +573,25 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 39B084E21E5F0A9600682A59 /* lo.xcconfig */;
buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
CLANG_WARN_INFINITE_RECURSION = NO;
+ CODE_SIGN_ENTITLEMENTS = LibreOfficeLight/LibreOfficeLight.entitlements;
+ DEVELOPMENT_TEAM = TM977DU7EF;
ENABLE_TESTABILITY = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "LibreOfficeLight/LibreOfficeLight-Prefix.pch";
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
INFOPLIST_FILE = LibreOfficeLight/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = LibreOfficeLight;
+ PRODUCT_BUNDLE_IDENTIFIER = com.jani.Editors.LibreOfficeLight;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "LibreOfficeLight/lokit-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
+ "VALID_ARCHS[sdk=*]" = arm64;
};
name = Debug;
};
@@ -572,21 +599,25 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 39B084E21E5F0A9600682A59 /* lo.xcconfig */;
buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
CLANG_WARN_INFINITE_RECURSION = NO;
+ CODE_SIGN_ENTITLEMENTS = LibreOfficeLight/LibreOfficeLight.entitlements;
COPY_PHASE_STRIP = YES;
+ DEVELOPMENT_TEAM = TM977DU7EF;
ENABLE_TESTABILITY = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "LibreOfficeLight/LibreOfficeLight-Prefix.pch";
INFOPLIST_FILE = LibreOfficeLight/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = LibreOfficeLight;
+ PRODUCT_BUNDLE_IDENTIFIER = com.jani.Editors.LibreOfficeLight;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "LibreOfficeLight/lokit-Bridging-Header.h";
SWIFT_VERSION = 3.0;
+ "VALID_ARCHS[sdk=*]" = arm64;
};
name = Release;
};
@@ -598,7 +629,7 @@
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_BUNDLE_IDENTIFIER = com.jani.Editors.LibreOfficeLight.LibreOfficeLightTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LibreOfficeLight.app/LibreOfficeLight";
@@ -613,7 +644,7 @@
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_BUNDLE_IDENTIFIER = com.jani.Editors.LibreOfficeLight.LibreOfficeLightTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LibreOfficeLight.app/LibreOfficeLight";
@@ -627,7 +658,7 @@
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_BUNDLE_IDENTIFIER = com.jani.Editors.LibreOfficeLight.LibreOfficeLightUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
TEST_TARGET_NAME = LibreOfficeLight;
@@ -641,7 +672,7 @@
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_BUNDLE_IDENTIFIER = com.jani.Editors.LibreOfficeLight.LibreOfficeLightUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
TEST_TARGET_NAME = LibreOfficeLight;
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift
index 3c09d88bd671..b100ed05875d 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/AppDelegate.swift
@@ -57,6 +57,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate
{
// 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.
+
+ //JIX add code to check iCloud again
}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift
index e5b1df3d1ac8..94f4106edf1a 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift
@@ -25,10 +25,10 @@ private class FileStorage
// make access to current dir independent of storage selection
private var localDir : URL
- private var cloudDir : URL
+ private var cloudDir : URL?
private var currentDir : URL {
get {
- return storageIsLocal ? localDir : cloudDir
+ return storageIsLocal ? localDir : cloudDir!
}
set(newDir) {
if storageIsLocal {
@@ -50,7 +50,7 @@ private class FileStorage
// Support functions
func iCloudEnabled() -> Bool
{
- return baseCloudDocPath != nil
+ return filemgr.ubiquityIdentityToken != nil
}
@@ -121,7 +121,7 @@ private class FileStorage
func copyFile(_ name: String)
{
try! filemgr.copyItem(at: currentDir.appendingPathComponent(name),
- to: (storageIsLocal ? localDir : cloudDir).appendingPathComponent(name))
+ to: (storageIsLocal ? cloudDir! : localDir).appendingPathComponent(name))
}
@@ -129,7 +129,7 @@ private class FileStorage
func moveFile(_ name: String)
{
try! filemgr.moveItem(at: currentDir.appendingPathComponent(name),
- to: (storageIsLocal ? localDir : cloudDir).appendingPathComponent(name))
+ to: (storageIsLocal ? localDir : cloudDir!).appendingPathComponent(name))
buildFileList()
}
@@ -157,11 +157,11 @@ private class FileStorage
init()
{
baseLocalDocPath = filemgr.urls(for: .documentDirectory, in: .userDomainMask)[0]
- baseCloudDocPath = nil
localDir = baseLocalDocPath
- // JIX, fix add support for iCloud
- cloudDir = baseLocalDocPath
+ let cloudUrl = filemgr.url(forUbiquityContainerIdentifier: nil)
+ baseCloudDocPath = (cloudUrl == nil) ? nil : cloudUrl?.appendingPathComponent("Documents")
+ cloudDir = baseCloudDocPath
buildFileList()
}
}
@@ -175,7 +175,18 @@ class FileManagerController : UITableViewController, actionsControlDelegate
private var fileData = FileStorage()
private var selectedRow : IndexPath?
+
+
+ // selectStorage is only enabled when iCloud is active
+ @IBOutlet weak var buttonSelectStorage: UIBarButtonItem!
+ override func viewDidLoad()
+ {
+ super.viewDidLoad()
+ buttonSelectStorage.isEnabled = fileData.iCloudEnabled()
+ }
+
+
// Toogle between local and cloud storage
@IBAction func doSelectStorage(_ sender: UIBarButtonItem)
{
@@ -192,6 +203,7 @@ class FileManagerController : UITableViewController, actionsControlDelegate
vc.delegate = self
vc.inFileSelect = (selectedRow != nil)
vc.inSubDirectory = fileData.isSubDirectory()
+ vc.useCloud = fileData.iCloudEnabled()
}
@@ -224,7 +236,11 @@ class FileManagerController : UITableViewController, actionsControlDelegate
func actionUploadDownload()
{
- // JIX filemanager copy
+ if selectedRow != nil {
+ let currentCell = self.tableView.cellForRow(at: selectedRow!) as! FileManagerCell
+ fileData.copyFile(currentCell.fileName)
+ reloadData()
+ }
}
@@ -330,6 +346,7 @@ class FileManagerActions : UITableViewController
var delegate : actionsControlDelegate?
var inSubDirectory : Bool = false
var inFileSelect : Bool = false
+ var useCloud : Bool = false
// Calling class might enable/disable each button
@IBOutlet weak var buttonUploadDownload: UIButton!
@@ -359,7 +376,7 @@ class FileManagerActions : UITableViewController
@IBAction func doUploadDownload(_ sender: UIButton)
{
- delegate?.actionDelete()
+ delegate?.actionUploadDownload()
dismiss(animated: false)
}
@@ -387,6 +404,6 @@ class FileManagerActions : UITableViewController
buttonLevelUp.isEnabled = inSubDirectory
buttonOpen.isEnabled = inFileSelect
buttonDelete.isEnabled = inFileSelect
- buttonUploadDownload.isEnabled = inFileSelect
+ buttonUploadDownload.isEnabled = (inFileSelect && useCloud)
}
}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist
index 6905cc67bbf7..a030ad44af3b 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Info.plist
@@ -4,6 +4,21 @@
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeName</key>
+ <string>ODF-Document</string>
+ <key>LSHandlerRank</key>
+ <string>Owner</string>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.odf.doc</string>
+ <string>com.odf.calc</string>
+ <string>com.odf.impress</string>
+ </array>
+ </dict>
+ </array>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@@ -15,13 +30,39 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>1.0</string>
+ <string>0.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>1</string>
+ <string>3</string>
+ <key>LSApplicationCategoryType</key>
+ <string>public.app-category.business</string>
+ <key>LSMultipleInstancesProhibited</key>
+ <true/>
<key>LSRequiresIPhoneOS</key>
<true/>
+ <key>LSSupportsOpeningDocumentsInPlace</key>
+ <true/>
+ <key>NSHighResolutionCapable</key>
+ <true/>
+ <key>NSHumanReadableCopyright</key>
+ <string>The Source Code Form is subject to the terms of the Mozilla Public
+License, v. 2.0. If a copy of the MPL was not distributed with this
+file, You can obtain one at http://mozilla.org/MPL/2.0/.</string>
+ <key>NSUbiquitousContainers</key>
+ <dict>
+ <key>iCloud.com.jani.Editors.LibreOfficeLight</key>
+ <dict>
+ <key>NSUbiquitousContainerIsDocumentScopePublic</key>
+ <true/>
+ <key>NSUbiquitousContainerName</key>
+ <string>LibreOffice</string>
+ <key>NSUbiquitousContainerSupportedFolderLevels</key>
+ <string>None</string>
+ </dict>
+ </dict>
+ <key>UIFileSharingEnabled</key>
+ <true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
@@ -32,6 +73,12 @@
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.entitlements b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.entitlements
new file mode 100644
index 000000000000..bb42bb6ead0b
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LibreOfficeLight.entitlements
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>com.apple.developer.icloud-container-identifiers</key>
+ <array>
+ <string>iCloud.$(CFBundleIdentifier)</string>
+ </array>
+ <key>com.apple.developer.icloud-services</key>
+ <array>
+ <string>CloudDocuments</string>
+ </array>
+ <key>com.apple.developer.ubiquity-container-identifiers</key>
+ <array>
+ <string>iCloud.$(CFBundleIdentifier)</string>
+ </array>
+</dict>
+</plist>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib
index 55da64dac5a8..dc876d9b7181 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/LaunchScreen.xib
@@ -54,7 +54,7 @@
</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"/>
+ <rect key="frame" x="75" y="169" width="330" height="143"/>
<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"/>
@@ -65,12 +65,6 @@
<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>
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
index 35fa0d50834e..d7589a64ea2d 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
@@ -58,7 +58,7 @@
<rect key="frame" x="0.0" y="28" width="768" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="kKu-xM-S1e" id="80i-6K-kty">
- <rect key="frame" x="0.0" y="0.0" width="768" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="768" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="fileEntry" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vlx-gc-YQQ">
@@ -111,6 +111,9 @@
</connections>
</barButtonItem>
</navigationItem>
+ <connections>
+ <outlet property="buttonSelectStorage" destination="aad-FF-63q" id="1zz-Vy-Wve"/>
+ </connections>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="HFd-ah-Xo4" userLabel="First Responder" sceneMemberID="firstResponder"/>
<exit id="iOm-U1-ALi" userLabel="Exit" sceneMemberID="exit"/>
@@ -132,7 +135,7 @@
<rect key="frame" x="0.0" y="0.0" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="VuG-w2-cW6" id="8SA-cA-5eZ">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZSm-By-dJs">
@@ -150,7 +153,7 @@
<rect key="frame" x="0.0" y="30" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="L5l-rq-TxW" id="dmK-Lh-hje">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IQ3-hK-KmM">
@@ -168,7 +171,7 @@
<rect key="frame" x="0.0" y="60" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gCu-Su-BAB" id="P2T-Nb-OqI">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BSN-dd-e84">
@@ -186,7 +189,7 @@
<rect key="frame" x="0.0" y="90" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="bzW-XI-AgR" id="z9x-qQ-lou">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fNi-5u-PqA">
@@ -204,7 +207,7 @@
<rect key="frame" x="0.0" y="120" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="b9s-rz-SjN" id="NVs-9k-H8m">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Rk-LW-Ub9">
@@ -222,7 +225,7 @@
<rect key="frame" x="0.0" y="150" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Va5-1U-paI" id="LW9-jL-3U7">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="type name" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Lms-Tp-Xtt">
@@ -513,7 +516,7 @@
<rect key="frame" x="0.0" y="0.0" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KLS-lN-QYa" id="dA0-Ji-bxj">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mCx-kB-iUI">
@@ -531,7 +534,7 @@
<rect key="frame" x="0.0" y="30" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="VNE-JL-Lw0" id="EB2-HA-y79">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="myk-zs-md7">
@@ -549,7 +552,7 @@
<rect key="frame" x="0.0" y="60" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="mPa-wa-TDO" id="jhW-pd-Qkl">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Iva-rO-9V3">
@@ -567,7 +570,7 @@
<rect key="frame" x="0.0" y="90" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="XW7-H5-0ob" id="lJN-OL-mO8">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b90-ja-Wm0">
@@ -586,7 +589,7 @@
<rect key="frame" x="0.0" y="120" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="fqs-uC-KiW" id="nT7-Ly-JW5">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ioJ-xc-RrS">
@@ -607,7 +610,7 @@
<rect key="frame" x="0.0" y="150" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="GmK-gj-GYu" id="3OK-Zz-mqN">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="apE-3B-lUt">
@@ -626,7 +629,7 @@
<rect key="frame" x="0.0" y="180" width="134" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="1ly-sz-g0x" id="wVi-tX-eKD">
- <rect key="frame" x="0.0" y="0.0" width="134" height="29"/>
+ <rect key="frame" x="0.0" y="0.0" width="134" height="29.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="516-b0-K4N">