summaryrefslogtreecommitdiff
path: root/ios
diff options
context:
space:
mode:
authorjan Iversen <jani@libreoffice.org>2017-03-17 15:13:42 +0100
committerjan iversen <jani@libreoffice.org>2017-03-24 15:02:07 +0000
commit3691457e9abde8af74db9c3b85e5494b2f9d7840 (patch)
tree6de37a6b54dc4145a3f525f677b7300495476704 /ios
parentcb20ca1f52f2a0d61b972f88fb01e23958a0f3a5 (diff)
iOS LibreOfficeLight filemanager
Update to filemanager to act as an overlay to documentView updated appIcon to include only required added setName dialog (used for rename/create directory/save as) Removed trailing whitespace Change-Id: I1c8a8cd7ef4eb76687f40e806a14884a1e396bc5 Reviewed-on: https://gerrit.libreoffice.org/35612 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@libreoffice.org>
Diffstat (limited to 'ios')
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json94
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.pngbin11729 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.pngbin1118 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.pngbin1563 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.pngbin2067 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.pngbin3257 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60x60@2x.png (renamed from ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png)bin6927 -> 6927 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.pngbin4097 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76x76@2x.png (renamed from ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png)bin8967 -> 8967 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.pngbin4383 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-83.5x83.5@2x.png (renamed from ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png)bin10178 -> 10178 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.pngbin4489 -> 0 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-Small.png (renamed from ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png)bin3092 -> 3092 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back.pngbin0 -> 805 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@2x.pngbin0 -> 1111 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@3x.pngbin0 -> 1813 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive.pngbin0 -> 1166 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@2x.pngbin0 -> 2090 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@3x.pngbin0 -> 2991 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/Contents.json23
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone.pngbin0 -> 1305 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@2x.pngbin0 -> 1799 bytes
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@3x.pngbin0 -> 2291 bytes
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/DocumentController.swift51
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift880
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard181
28 files changed, 664 insertions, 611 deletions
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json
index c5f125791449..2f6bc9bc4eff 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,107 +1,29 @@
{
"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",
+ "idiom" : "ipad",
+ "size" : "83.5x83.5",
"scale" : "2x",
- "filename" : "LibreOffice-58.png"
- },
- {
- "idiom" : "iphone",
- "size" : "29x29",
- "scale" : "3x",
- "filename" : "LibreOffice-87.png"
+ "filename" : "LibreOffice-83.5x83.5@2x.png"
},
{
- "idiom" : "iphone",
- "size" : "40x40",
+ "idiom" : "ipad",
+ "size" : "76x76",
"scale" : "2x",
- "filename" : "LibreOffice-80.png"
- },
- {
- "idiom" : "iphone",
- "size" : "40x40",
- "scale" : "3x",
- "filename" : "LibreOffice-120.png"
+ "filename" : "LibreOffice-76x76@2x.png"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x",
- "filename" : "LibreOffice-120.png"
+ "filename" : "LibreOffice-60x60@2x.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"
+ "filename" : "LibreOffice-Small.png"
},
- {
- "idiom" : "ipad",
- "size" : "83.5x83.5",
- "scale" : "2x",
- "filename" : "LibreOffice-167.png"
- }
],
"info" : {
"version" : 1,
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
deleted file mode 100644
index 05c3d0616ad2..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-180.png
+++ /dev/null
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
deleted file mode 100644
index adb2ea30b016..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-20.png
+++ /dev/null
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
deleted file mode 100644
index 69a807475505..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-29.png
+++ /dev/null
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
deleted file mode 100644
index a0bf9afbb596..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-40.png
+++ /dev/null
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
deleted file mode 100644
index 3e9199974bd7..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60.png
+++ /dev/null
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60x60@2x.png
index b6371ab981a9..b6371ab981a9 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-120.png
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-60x60@2x.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
deleted file mode 100644
index 729d0cbb4f50..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76.png
+++ /dev/null
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-76x76@2x.png
index e0e1cf3123a9..e0e1cf3123a9 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-152.png
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-76x76@2x.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
deleted file mode 100644
index 25c8f68837fe..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-80.png
+++ /dev/null
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-83.5x83.5@2x.png
index b3ac8e54e4b2..b3ac8e54e4b2 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-167.png
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-83.5x83.5@2x.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
deleted file mode 100644
index 0c830e3092cb..000000000000
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-87.png
+++ /dev/null
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-Small.png
index b73a8b8011e8..b73a8b8011e8 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-58.png
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/AppIcon.appiconset/LibreOffice-Small.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/Contents.json
new file mode 100644
index 000000000000..cc9fb3d1aa3e
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "back.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "back@2x.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "back@3x.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back.png
new file mode 100644
index 000000000000..0b9776a64231
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@2x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@2x.png
new file mode 100644
index 000000000000..6e7c3995dfdb
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@2x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@3x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@3x.png
new file mode 100644
index 000000000000..e66980cddde4
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/back.imageset/back@3x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/Contents.json
new file mode 100644
index 000000000000..cd69f7f90c00
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "iCloudDrive.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "iCloudDrive@2x.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "iCloudDrive@3x.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive.png
new file mode 100644
index 000000000000..d213949b467f
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@2x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@2x.png
new file mode 100644
index 000000000000..ba486fbbe6ae
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@2x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@3x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@3x.png
new file mode 100644
index 000000000000..28c41597cf0f
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iCloudDrive.imageset/iCloudDrive@3x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/Contents.json b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/Contents.json
new file mode 100644
index 000000000000..2d0a29db946a
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x",
+ "filename" : "iPhone.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x",
+ "filename" : "iPhone@2x.png"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x",
+ "filename" : "iPhone@3x.png"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone.png
new file mode 100644
index 000000000000..defe533b489a
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@2x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@2x.png
new file mode 100644
index 000000000000..da7dcbff0dc4
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@2x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@3x.png b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@3x.png
new file mode 100644
index 000000000000..1c827c89af6f
--- /dev/null
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/Assets.xcassets/iPhone.imageset/iPhone@3x.png
Binary files differ
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/DocumentController.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/DocumentController.swift
index 051d714c821b..9c6cd1b9fb82 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/DocumentController.swift
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/DocumentController.swift
@@ -11,42 +11,42 @@ import UIKit
class DocumentController: UIViewController
{
-
-
+
+
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view.
}
-
-
+
+
@IBAction func returned(segue: UIStoryboardSegue) {
print("I returned")
}
-
+
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
-
-
+
+
}
class DocumentActions: UITableViewController
{
-
+
@IBAction func doOpen(_ sender: UIButton) {
}
-
+
@IBAction func doNew(_ sender: UIButton) {
}
-
+
@IBAction func doSave(_ sender: UIButton) {
}
-
+
@IBAction func doPDF(_ sender: UIButton) {
}
override func viewDidLoad()
@@ -54,38 +54,15 @@ class DocumentActions: UITableViewController
super.viewDidLoad()
// Do any additional setup after loading the view.
}
-
-
-
- override func didReceiveMemoryWarning()
- {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
-}
-
-class DocumentSaveAsAction: UIViewController
-{
-
-
- override func viewDidLoad()
- {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- }
-
-
-
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
-
-
+
+
}
+
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift b/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift
index 2fee4804b4f2..9f6352071c10 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/FileManagerController.swift
@@ -1,411 +1,477 @@
//
-// This file is part of the LibreOffice project.
+//ThisfileispartoftheLibreOfficeproject.
//
-// 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/.
+//ThisSourceCodeFormissubjecttothetermsoftheMozillaPublic
+//License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
+//file,Youcanobtainoneathttp://mozilla.org/MPL/2.0/.
//
-import UIKit
-
-
-private class FileStorage
-{
- // house keeping variables
- private let filemgr : FileManager = FileManager.default
- private var storageIsLocal : Bool = true
-
- // Start path for the 2 storage locations
- private let baseLocalDocPath : URL
- private let baseCloudDocPath : URL?
- private var currentDocPath : URL? {
- get {
- return storageIsLocal ? baseLocalDocPath : baseCloudDocPath
- }
- }
-
- // make access to current dir independent of storage selection
- private var localDir : URL
- private var cloudDir : URL?
- private var currentDir : URL {
- get {
- return storageIsLocal ? localDir : cloudDir!
- }
- set(newDir) {
- if storageIsLocal {
- localDir = newDir
- } else {
- cloudDir = newDir
- }
- }
- }
-
-
-
- // content of current directory
- var currentFileList : [String] = []
- var currentDirList : [String] = []
-
-
-
- // Support functions
- func iCloudEnabled() -> Bool
- {
- return filemgr.ubiquityIdentityToken != nil
- }
-
-
- func isSubDirectory() -> Bool
- {
- return currentDir != currentDocPath
- }
-
-
-
- func selectStorage(_ doSwitch : Bool) -> Bool
- {
- if doSwitch {
- storageIsLocal = !storageIsLocal
- buildFileList()
- }
- return storageIsLocal
- }
-
-
-
- func enterDirectory(_ name: String)
- {
- // simple add directory
- currentDir = currentDir.appendingPathComponent(name)
- filemgr.changeCurrentDirectoryPath(name)
- buildFileList()
- }
-
-
- func leaveDirectory()
- {
- // step up for active storage, and only if not in root
- if isSubDirectory() {
- currentDir = currentDir.deletingLastPathComponent()
- buildFileList()
- }
- }
-
-
-
- func createDirectory(_ name: String)
- {
- let newDir = currentDir.appendingPathComponent(name)
- try! filemgr.createDirectory(at: newDir, withIntermediateDirectories: true, attributes: nil)
- currentDir = currentDir.appendingPathComponent(name)
- buildFileList()
- }
-
-
-
- func deleteFileDirectory(_ name: String)
- {
- let delDir = currentDir.appendingPathComponent(name)
- try! filemgr.removeItem(at: delDir)
- buildFileList()
- }
-
-
-
- func getFileURL(_ name: String) -> URL
- {
- return currentDir.appendingPathComponent(name)
- }
-
-
-
- func copyFile(_ name: String)
- {
- try! filemgr.copyItem(at: currentDir.appendingPathComponent(name),
- to: (storageIsLocal ? cloudDir! : localDir).appendingPathComponent(name))
- }
-
-
-
- func moveFile(_ name: String)
- {
- try! filemgr.moveItem(at: currentDir.appendingPathComponent(name),
- to: (storageIsLocal ? localDir : cloudDir!).appendingPathComponent(name))
- buildFileList()
- }
-
-
-
- private func buildFileList()
- {
- currentDirList = []
- currentFileList = []
- let rawFileList = try! filemgr.contentsOfDirectory(at: currentDir,
- includingPropertiesForKeys: [URLResourceKey.isDirectoryKey])
- for rawFile in rawFileList {
- var isDir: ObjCBool = false
- filemgr.fileExists(atPath: rawFile.path, isDirectory: &isDir)
- if isDir.boolValue {
- currentDirList.append(rawFile.lastPathComponent)
- } else {
- currentFileList.append(rawFile.lastPathComponent)
- }
- }
- }
-
-
-
- init()
- {
- baseLocalDocPath = filemgr.urls(for: .documentDirectory, in: .userDomainMask)[0]
- localDir = baseLocalDocPath
-
- let cloudUrl = filemgr.url(forUbiquityContainerIdentifier: nil)
- baseCloudDocPath = (cloudUrl == nil) ? nil : cloudUrl?.appendingPathComponent("Documents")
- cloudDir = baseCloudDocPath
- buildFileList()
- }
-}
-
-
-
-class FileManagerController : UITableViewController, actionsControlDelegate
-
-{
- // Housekeeping variables
- 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)
- {
- sender.title = fileData.selectStorage(true) ? "iCloud" : "iPad"
- reloadData()
- }
-
-
-
- // Last stop before displaying popover
- override func prepare(for segue: UIStoryboardSegue, sender: Any?)
- {
- if segue.identifier == "doShowFileManagerActions" {
- let vc = segue.destination as! FileManagerActions
- vc.delegate = self
- vc.inFileSelect = (selectedRow != nil)
- vc.inSubDirectory = fileData.isSubDirectory()
- vc.useCloud = fileData.iCloudEnabled()
- }
- }
-
-
-
- func actionOpen()
- {
- if selectedRow != nil {
- let currentCell = tableView.cellForRow(at: selectedRow!) as! FileManagerCell
- if currentCell.isDirectory {
- fileData.enterDirectory(currentCell.fileName)
- reloadData()
- } else {
- // JIX delegate to Document
- }
- }
- }
-
-
-
- func actionDelete()
- {
- if selectedRow != nil {
- let currentCell = self.tableView.cellForRow(at: selectedRow!) as! FileManagerCell
- fileData.deleteFileDirectory(currentCell.fileName)
- reloadData()
- }
- }
-
-
-
- func actionUploadDownload()
- {
- if selectedRow != nil {
- let currentCell = self.tableView.cellForRow(at: selectedRow!) as! FileManagerCell
- fileData.copyFile(currentCell.fileName)
- reloadData()
- }
- }
-
-
-
- func actionLevelUp()
- {
- fileData.leaveDirectory()
- reloadData()
- }
-
-
-
- func actionCreateDirectory(_ name : String)
- {
- fileData.createDirectory(name)
- reloadData()
- }
-
-
-
- // Table handling functions
- override func numberOfSections(in tableView: UITableView) -> Int
- {
- return 1
- }
-
-
-
- override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
- {
- return fileData.currentDirList.count + fileData.currentFileList.count
- }
-
-
-
- override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
- {
- let cell = self.tableView.dequeueReusableCell(withIdentifier: "fileEntry", for: indexPath) as! FileManagerCell
- let row = indexPath.row
-
- if row < fileData.currentDirList.count {
- cell.fileName = fileData.currentDirList[row]
- cell.fileLabel.text = cell.fileName + "/"
- cell.isDirectory = true
- } else {
- let inx = row - fileData.currentDirList.count
- cell.fileName = fileData.currentFileList[inx]
- cell.fileLabel.text = cell.fileName
- cell.isDirectory = false
- }
- return cell
- }
-
-
-
- // Select a row (file) and show actions
- override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
- {
- selectedRow = indexPath
- performSegue(withIdentifier: "showActions", sender: self)
- }
-
-
-
- // Support function
- func reloadData()
- {
- selectedRow = nil
- tableView.reloadData()
- }
-
-}
-
-
-
-// Space holder for extra information needed to do the right thing for each action
-class FileManagerCell: UITableViewCell {
-
- @IBOutlet weak var fileLabel: UILabel!
- var isDirectory : Bool = false
- var fileName : String = ""
-}
-
-
-
-// Protocol for action popover callback
-protocol actionsControlDelegate
-{
- func actionOpen()
- func actionDelete()
- func actionUploadDownload()
- func actionLevelUp()
- func actionCreateDirectory(_ name : String)
-}
-
-
-
-// Action popover dialog
-class FileManagerActions : UITableViewController
-
-{
- // Pointer to callback class
- 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!
- @IBOutlet weak var buttonDelete: UIButton!
- @IBOutlet weak var buttonOpen: UIButton!
- @IBOutlet weak var buttonLevelUp: UIButton!
- @IBOutlet weak var buttonCreateDirectory: UIButton!
- @IBOutlet weak var editDirectoryName: UITextField!
-
-
- // Actions
- @IBAction func doOpen(_ sender: UIButton)
- {
- delegate?.actionOpen()
- dismiss(animated: false)
- }
-
-
-
- @IBAction func doDelete(_ sender: UIButton)
- {
- delegate?.actionDelete()
- dismiss(animated: false)
- }
-
-
-
- @IBAction func doUploadDownload(_ sender: UIButton)
- {
- delegate?.actionUploadDownload()
- dismiss(animated: false)
- }
-
-
-
- @IBAction func doLevelUp(_ sender: UIButton)
- {
- delegate?.actionLevelUp()
- dismiss(animated: false)
- }
-
- @IBAction func doCreateDirectory(_ sender: UIButton)
- {
- if editDirectoryName.text != "type name" {
- delegate?.actionCreateDirectory(editDirectoryName.text!)
- }
- dismiss(animated: false)
- }
-
-
-
- override func viewDidLoad()
- {
- super.viewDidLoad()
- buttonLevelUp.isEnabled = inSubDirectory
- buttonOpen.isEnabled = inFileSelect
- buttonDelete.isEnabled = inFileSelect
- buttonUploadDownload.isEnabled = (inFileSelect && useCloud)
- }
+importUIKit
+
+
+privateclassFileStorage
+{
+//housekeepingvariables
+privateletfilemgr:FileManager=FileManager.default
+privatevarstorageIsLocal:Bool=true
+
+//Startpathforthe2storagelocations
+privateletbaseLocalDocPath:URL
+privateletbaseCloudDocPath:URL?
+privatevarcurrentDocPath:URL?{
+get{
+returnstorageIsLocal?baseLocalDocPath:baseCloudDocPath
+}
+}
+
+//makeaccesstocurrentdirindependentofstorageselection
+privatevarlocalDir:URL
+privatevarcloudDir:URL?
+privatevarcurrentDir:URL{
+get{
+returnstorageIsLocal?localDir:cloudDir!
+}
+set(newDir){
+ifstorageIsLocal{
+localDir=newDir
+}else{
+cloudDir=newDir
+}
+}
+}
+
+
+
+//contentofcurrentdirectory
+varcurrentFileList:[String]=[]
+varcurrentDirList:[String]=[]
+
+
+
+//Supportfunctions
+funciCloudEnabled()->Bool
+{
+returnfilemgr.ubiquityIdentityToken!=nil
+}
+
+
+funcisSubDirectory()->Bool
+{
+returncurrentDir!=currentDocPath
+}
+
+
+
+funcselectStorage(_doSwitch:Bool)->Bool
+{
+ifdoSwitch{
+storageIsLocal=!storageIsLocal
+buildFileList()
+}
+returnstorageIsLocal
+}
+
+
+
+funcenterDirectory(_name:String)
+{
+//simpleadddirectory
+currentDir=currentDir.appendingPathComponent(name)
+filemgr.changeCurrentDirectoryPath(name)
+buildFileList()
+}
+
+
+funcleaveDirectory()
+{
+//stepupforactivestorage,andonlyifnotinroot
+ifisSubDirectory(){
+currentDir=currentDir.deletingLastPathComponent()
+buildFileList()
+}
+}
+
+
+
+funccreateDirectory(_name:String)
+{
+letnewDir=currentDir.appendingPathComponent(name)
+try!filemgr.createDirectory(at:newDir,withIntermediateDirectories:true,attributes:nil)
+currentDir=currentDir.appendingPathComponent(name)
+buildFileList()
+}
+
+
+
+funcdeleteFileDirectory(_name:String)
+{
+letdelDir=currentDir.appendingPathComponent(name)
+try!filemgr.removeItem(at:delDir)
+buildFileList()
+}
+
+
+
+funcgetFileURL(_name:String)->URL
+{
+returncurrentDir.appendingPathComponent(name)
+}
+
+
+
+funccopyFile(_name:String)
+{
+try!filemgr.copyItem(at:currentDir.appendingPathComponent(name),
+to:(storageIsLocal?cloudDir!:localDir).appendingPathComponent(name))
+}
+
+
+
+funcmoveFile(_name:String)
+{
+try!filemgr.moveItem(at:currentDir.appendingPathComponent(name),
+to:(storageIsLocal?localDir:cloudDir!).appendingPathComponent(name))
+buildFileList()
+}
+
+
+
+funcrenameFile(_oldName:String,_newName:String)
+{
+try!filemgr.moveItem(at:currentDir.appendingPathComponent(oldName),
+to:currentDir.appendingPathComponent(newName))
+buildFileList()
+}
+
+
+
+privatefuncbuildFileList()
+{
+currentDirList=[]
+currentFileList=[]
+letrawFileList=try!filemgr.contentsOfDirectory(at:currentDir,
+includingPropertiesForKeys:[URLResourceKey.isDirectoryKey])
+forrawFileinrawFileList{
+varisDir:ObjCBool=false
+filemgr.fileExists(atPath:rawFile.path,isDirectory:&isDir)
+ifisDir.boolValue{
+currentDirList.append(rawFile.lastPathComponent)
+}else{
+currentFileList.append(rawFile.lastPathComponent)
+}
+}
+}
+
+
+
+init()
+{
+baseLocalDocPath=filemgr.urls(for:.documentDirectory,in:.userDomainMask)[0]
+localDir=baseLocalDocPath
+
+letcloudUrl=filemgr.url(forUbiquityContainerIdentifier:nil)
+baseCloudDocPath=(cloudUrl==nil)?nil:cloudUrl?.appendingPathComponent("Documents")
+cloudDir=baseCloudDocPath
+buildFileList()
+}
+}
+
+
+
+classFileManagerController:UITableViewController,actionsControlDelegate
+
+{
+//Housekeepingvariables
+privatevarfileData=FileStorage()
+privatevarselectedRow:IndexPath?
+
+
+
+//selectStorageisonlyenabledwheniCloudisactive
+@IBOutletweakvarbuttonSelectStorage:UIBarButtonItem!
+overridefuncviewDidLoad()
+{
+super.viewDidLoad()
+buttonSelectStorage.isEnabled=fileData.iCloudEnabled()
+}
+
+
+
+//Tooglebetweenlocalandcloudstorage
+@IBActionfuncdoSelectStorage(_sender:UIBarButtonItem)
+{
+sender.image=fileData.selectStorage(true)?#imageLiteral(resourceName:"iCloudDrive"):#imageLiteral(resourceName:"iPhone")
+reloadData()
+self.presentedViewController?.dismiss(animated:true,completion:nil)
+}
+
+
+
+//Laststopbeforedisplayingpopover
+overridefuncprepare(forsegue:UIStoryboardSegue,sender:Any?)
+{
+ifsegue.identifier=="showActions"{
+letvc=segue.destinationas!FileManagerActions
+vc.delegate=self
+vc.inFileSelect=(selectedRow!=nil)
+vc.inSubDirectory=fileData.isSubDirectory()
+vc.useCloud=fileData.iCloudEnabled()
+}
+}
+
+
+
+funcactionOpen()
+{
+ifselectedRow!=nil{
+letcurrentCell=tableView.cellForRow(at:selectedRow!)as!FileManagerCell
+ifcurrentCell.isDirectory{
+fileData.enterDirectory(currentCell.fileName)
+reloadData()
+}else{
+//JIXdelegatetoDocument
+}
+}
+}
+
+
+
+funcactionDelete()
+{
+ifselectedRow!=nil{
+letcurrentCell=self.tableView.cellForRow(at:selectedRow!)as!FileManagerCell
+fileData.deleteFileDirectory(currentCell.fileName)
+reloadData()
+}
+}
+
+
+
+funcactionRename(_name:String)
+{
+ifselectedRow!=nil{
+letcurrentCell=tableView.cellForRow(at:selectedRow!)as!FileManagerCell
+fileData.renameFile(currentCell.fileName,name)
+reloadData()
+}
+}
+
+
+
+funcactionUploadDownload()
+{
+ifselectedRow!=nil{
+letcurrentCell=self.tableView.cellForRow(at:selectedRow!)as!FileManagerCell
+fileData.copyFile(currentCell.fileName)
+reloadData()
+}
+}
+
+
+
+funcactionLevelUp()
+{
+fileData.leaveDirectory()
+reloadData()
+}
+
+
+
+funcactionCreateDirectory(_name:String)
+{
+fileData.createDirectory(name)
+reloadData()
}
+
+
+
+//Tablehandlingfunctions
+overridefuncnumberOfSections(intableView:UITableView)->Int
+{
+return1
+}
+
+
+
+overridefunctableView(_tableView:UITableView,numberOfRowsInSectionsection:Int)->Int
+{
+returnfileData.currentDirList.count+fileData.currentFileList.count
+}
+
+
+
+overridefunctableView(_tableView:UITableView,cellForRowAtindexPath:IndexPath)->UITableViewCell
+{
+letcell=self.tableView.dequeueReusableCell(withIdentifier:"fileEntry",for:indexPath)as!FileManagerCell
+letrow=indexPath.row
+
+ifrow<fileData.currentDirList.count{
+cell.fileName=fileData.currentDirList[row]
+cell.fileLabel.text=cell.fileName+"/"
+cell.isDirectory=true
+}else{
+letinx=row-fileData.currentDirList.count
+cell.fileName=fileData.currentFileList[inx]
+cell.fileLabel.text=cell.fileName
+cell.isDirectory=false
+}
+returncell
+}
+
+
+
+//Selectarow(file)andshowactions
+overridefunctableView(_tableView:UITableView,didSelectRowAtindexPath:IndexPath)
+{
+selectedRow=indexPath
+performSegue(withIdentifier:"showActions",sender:self)
+}
+
+
+
+//Supportfunction
+funcreloadData()
+{
+selectedRow=nil
+tableView.reloadData()
+}
+
+}
+
+
+
+//Spaceholderforextrainformationneededtodotherightthingforeachaction
+classFileManagerCell:UITableViewCell{
+
+@IBOutletweakvarfileLabel:UILabel!
+varisDirectory:Bool=false
+varfileName:String=""
+}
+
+
+
+//Protocolforactionpopovercallback
+protocolactionsControlDelegate
+{
+funcactionOpen()
+funcactionDelete()
+funcactionRename(_name:String)
+funcactionUploadDownload()
+funcactionLevelUp()
+funcactionCreateDirectory(_name:String)
+}
+
+
+
+//Actionpopoverdialog
+classFileManagerActions:UITableViewController
+
+{
+//Pointertocallbackclass
+vardelegate:actionsControlDelegate?
+varinSubDirectory:Bool=false
+varinFileSelect:Bool=false
+varuseCloud:Bool=false
+
+//Callingclassmightenable/disableeachbutton
+@IBOutletweakvarbuttonUploadDownload:UIButton!
+@IBOutletweakvarbuttonDelete:UIButton!
+@IBOutletweakvarbuttonOpen:UIButton!
+@IBOutletweakvarbuttonRename:UIButton!
+@IBOutletweakvarbuttonLevelUp:UIButton!
+
+
+//Actions
+@IBActionfuncdoOpen(_sender:UIButton)
+{
+delegate?.actionOpen()
+dismiss(animated:false)
+}
+
+
+
+@IBActionfuncdoDelete(_sender:UIButton)
+{
+delegate?.actionDelete()
+dismiss(animated:false)
+}
+
+
+
+@IBActionfuncdoUploadDownload(_sender:UIButton)
+{
+delegate?.actionUploadDownload()
+dismiss(animated:false)
+}
+
+
+
+@IBActionfuncdoLevelUp(_sender:UIButton)
+{
+delegate?.actionLevelUp()
+dismiss(animated:false)
+}
+
+
+
+overridefuncviewDidLoad()
+{
+super.viewDidLoad()
+buttonLevelUp.isEnabled=inSubDirectory
+buttonDelete.isEnabled=inFileSelect
+buttonOpen.isEnabled=inFileSelect
+buttonRename.isEnabled=inFileSelect
+buttonUploadDownload.isEnabled=(inFileSelect&&useCloud)
+}
+
+
+
+//Laststopbeforedisplayingpopover
+overridefuncprepare(forsegue:UIStoryboardSegue,sender:Any?)
+{
+letvc=segue.destinationas!setNameAction
+vc.delegate=self.delegate
+vc.protocolActionToPerform=(segue.identifier=="showRename")?0:1
+}
+}
+
+
+
+//Actionpopoverdialog
+classsetNameAction:UIViewController
+
+{
+//Pointertocallbackclass
+vardelegate:actionsControlDelegate?
+varprotocolActionToPerform:Int=-1
+
+
+//Callingclassmightenable/disableeachbutton
+@IBOutletweakvareditText:UITextField!
+
+
+
+@IBActionfuncdoOK(_sender:UIButton)
+{
+print("checking\(protocolActionToPerform)")
+switchprotocolActionToPerform
+{
+case0:
+print("runrenameDir")
+delegate?.actionRename(editText.text!)
+case1:
+print("runcreateDir")
+delegate?.actionCreateDirectory(editText.text!)
+default:
+break
+}
+dismiss(animated:false)
+}
+
+
+
+overridefuncviewDidLoad()
+{
+super.viewDidLoad()
+}
+}
+
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
index 06935c3708d6..0530cf99a2ce 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/en.lproj/Main.storyboard
@@ -99,12 +99,12 @@
</tableView>
<navigationItem key="navigationItem" title="File Manager" id="fBX-vO-7Rj">
<leftBarButtonItems>
- <barButtonItem title="Back" id="q43-8I-nlC">
+ <barButtonItem image="back" id="q43-8I-nlC">
<connections>
<segue destination="iOm-U1-ALi" kind="unwind" unwindAction="returnedWithSegue:" id="oBt-oU-XA8"/>
</connections>
</barButtonItem>
- <barButtonItem title="iCloud" id="aad-FF-63q">
+ <barButtonItem image="iCloudDrive" id="aad-FF-63q">
<connections>
<action selector="doSelectStorage:" destination="cip-1Z-62J" id="uv2-gA-Pqq"/>
</connections>
@@ -125,7 +125,7 @@
<placeholder placeholderIdentifier="IBFirstResponder" id="HFd-ah-Xo4" userLabel="First Responder" sceneMemberID="firstResponder"/>
<exit id="iOm-U1-ALi" userLabel="Exit" sceneMemberID="exit"/>
</objects>
- <point key="canvasLocation" x="1231" y="1504"/>
+ <point key="canvasLocation" x="1230" y="1063"/>
</scene>
<!--File Manager Actions-->
<scene sceneID="H5Y-px-61Q">
@@ -192,56 +192,61 @@
</subviews>
</tableViewCellContentView>
</tableViewCell>
- <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="bzW-XI-AgR">
+ <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="b9s-rz-SjN">
<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">
+ <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.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">
+ <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Rk-LW-Ub9">
<rect key="frame" x="10" y="-1" width="124" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <state key="normal" title="Level up"/>
+ <state key="normal" title="Rename"/>
<connections>
- <action selector="doLevelUp:" destination="5ff-kT-49H" eventType="touchUpInside" id="fM6-nH-5Z1"/>
+ <segue destination="99b-cf-b84" kind="popoverPresentation" identifier="showRename" popoverAnchorView="5Rk-LW-Ub9" id="nga-Gl-Vki">
+ <popoverArrowDirection key="popoverArrowDirection" up="YES" down="YES" left="YES" right="YES"/>
+ </segue>
</connections>
</button>
</subviews>
</tableViewCellContentView>
</tableViewCell>
- <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="b9s-rz-SjN">
+ <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="bzW-XI-AgR">
<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">
+ <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.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">
+ <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fNi-5u-PqA">
<rect key="frame" x="10" y="-1" width="124" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <state key="normal" title="Create directory"/>
+ <state key="normal" title="Level up"/>
<connections>
- <action selector="doCreateDirectory:" destination="5ff-kT-49H" eventType="touchUpInside" id="oJG-8y-O2q"/>
+ <action selector="doLevelUp:" destination="5ff-kT-49H" eventType="touchUpInside" id="fM6-nH-5Z1"/>
</connections>
</button>
</subviews>
</tableViewCellContentView>
</tableViewCell>
- <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="Va5-1U-paI">
+ <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="1ne-Jo-yKA">
<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">
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="1ne-Jo-yKA" id="qmx-Us-SWx">
<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">
- <rect key="frame" x="8" y="0.0" width="118" height="30"/>
+ <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pir-sf-icw">
+ <rect key="frame" x="10" y="-1" width="124" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <nil key="textColor"/>
- <fontDescription key="fontDescription" type="system" pointSize="14"/>
- <textInputTraits key="textInputTraits"/>
- </textField>
+ <state key="normal" title="Create directory"/>
+ <connections>
+ <segue destination="99b-cf-b84" kind="popoverPresentation" identifier="showCreateDirectory" popoverAnchorView="pir-sf-icw" id="mBN-fl-zFy">
+ <popoverArrowDirection key="popoverArrowDirection" up="YES" down="YES" left="YES" right="YES"/>
+ </segue>
+ </connections>
+ </button>
</subviews>
</tableViewCellContentView>
</tableViewCell>
@@ -260,17 +265,71 @@
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<size key="freeformSize" width="134" height="180"/>
<connections>
- <outlet property="buttonCreateDirectory" destination="5Rk-LW-Ub9" id="4oy-Px-rKR"/>
<outlet property="buttonDelete" destination="IQ3-hK-KmM" id="GNv-Wu-Gdw"/>
<outlet property="buttonLevelUp" destination="fNi-5u-PqA" id="phL-bi-HaC"/>
<outlet property="buttonOpen" destination="BSN-dd-e84" id="j4Q-KH-UFt"/>
+ <outlet property="buttonRename" destination="5Rk-LW-Ub9" id="Saz-Nh-NEc"/>
<outlet property="buttonUploadDownload" destination="ZSm-By-dJs" id="oVW-Nt-Pfx"/>
- <outlet property="editDirectoryName" destination="Lms-Tp-Xtt" id="ztl-WH-mbg"/>
</connections>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="gPn-3u-MDl" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
- <point key="canvasLocation" x="1929.6875" y="1200.5859375"/>
+ <point key="canvasLocation" x="1798" y="1063"/>
+ </scene>
+ <!--Set Name Action-->
+ <scene sceneID="M2W-AJ-QxD">
+ <objects>
+ <viewController autoresizesArchivedViewToFullSize="NO" automaticallyAdjustsScrollViewInsets="NO" id="99b-cf-b84" customClass="setNameAction" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController">
+ <layoutGuides>
+ <viewControllerLayoutGuide type="top" id="SMN-Rx-xIG"/>
+ <viewControllerLayoutGuide type="bottom" id="oj2-7U-Jur"/>
+ </layoutGuides>
+ <view key="view" contentMode="scaleToFill" id="eHg-qn-AKi">
+ <rect key="frame" x="0.0" y="0.0" width="240" height="80"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Smn-X6-e1O">
+ <rect key="frame" x="16" y="13" width="45" height="21"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <nil key="textColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="type name" borderStyle="roundedRect" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="P46-5S-7HA">
+ <rect key="frame" x="72" y="8" width="152" height="30"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <nil key="textColor"/>
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <textInputTraits key="textInputTraits"/>
+ </textField>
+ <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5gp-5e-vgs">
+ <rect key="frame" x="95" y="46" width="50" height="30"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <state key="normal" title="OK"/>
+ <connections>
+ <action selector="doOK:" destination="99b-cf-b84" eventType="touchUpInside" id="fqo-s0-dF1"/>
+ </connections>
+ </button>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstItem="Smn-X6-e1O" firstAttribute="top" secondItem="SMN-Rx-xIG" secondAttribute="bottom" constant="13" id="1Pp-90-Tbh"/>
+ <constraint firstItem="Smn-X6-e1O" firstAttribute="leading" secondItem="eHg-qn-AKi" secondAttribute="leadingMargin" id="7EW-oc-cmC"/>
+ </constraints>
+ </view>
+ <extendedEdge key="edgesForExtendedLayout"/>
+ <value key="contentSizeForViewInPopover" type="size" width="240" height="80"/>
+ <nil key="simulatedStatusBarMetrics"/>
+ <nil key="simulatedTopBarMetrics"/>
+ <nil key="simulatedBottomBarMetrics"/>
+ <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+ <size key="freeformSize" width="240" height="80"/>
+ <connections>
+ <outlet property="editText" destination="P46-5S-7HA" id="mjq-2S-W67"/>
+ </connections>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="p1z-28-W1j" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="2365" y="786"/>
</scene>
<!--Print Manager-->
<scene sceneID="viJ-XJ-htc">
@@ -306,7 +365,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="S7J-dT-DQn" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
- <point key="canvasLocation" x="2508" y="882"/>
+ <point key="canvasLocation" x="1230" y="-458"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="nrt-yR-DmY">
@@ -516,15 +575,6 @@
<rect key="frame" x="0.0" y="0.0" width="134" height="210"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
- <button key="tableFooterView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="516-b0-K4N">
- <rect key="frame" x="0.0" y="210" width="134" height="30"/>
- <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <state key="normal" title="Print..."/>
- <connections>
- <action selector="doOpen:" destination="IER-X5-Ax8" eventType="touchUpInside" id="tqe-2K-EJc"/>
- <segue destination="ay1-ce-WHs" kind="presentation" id="tJ8-Jt-UeD"/>
- </connections>
- </button>
<sections>
<tableViewSection id="iZc-fF-wRk">
<cells>
@@ -611,12 +661,9 @@
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ioJ-xc-RrS">
<rect key="frame" x="8" y="-1" width="118" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <state key="normal" title="Save copy"/>
+ <state key="normal" title="Save as..."/>
<connections>
<action selector="doOpen:" destination="IER-X5-Ax8" eventType="touchUpInside" id="IhZ-cb-cgC"/>
- <segue destination="gVG-YM-Glc" kind="popoverPresentation" popoverAnchorView="ioJ-xc-RrS" id="5Pw-2I-6DI">
- <popoverArrowDirection key="popoverArrowDirection" up="YES" down="YES" left="YES" right="YES"/>
- </segue>
</connections>
</button>
</subviews>
@@ -647,6 +694,16 @@
<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.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">
+ <rect key="frame" x="8" y="-1" width="118" height="30"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <state key="normal" title="Print..."/>
+ <connections>
+ <action selector="doOpen:" destination="IER-X5-Ax8" eventType="touchUpInside" id="tqe-2K-EJc"/>
+ </connections>
+ </button>
+ </subviews>
</tableViewCellContentView>
</tableViewCell>
</cells>
@@ -657,7 +714,7 @@
<outlet property="delegate" destination="IER-X5-Ax8" id="sji-7W-aF0"/>
</connections>
</tableView>
- <value key="contentSizeForViewInPopover" type="size" width="200" height="200"/>
+ <value key="contentSizeForViewInPopover" type="size" width="200" height="230"/>
<nil key="simulatedStatusBarMetrics"/>
<nil key="simulatedTopBarMetrics"/>
<nil key="simulatedBottomBarMetrics"/>
@@ -666,51 +723,13 @@
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="D6j-Ov-CSK" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
- <point key="canvasLocation" x="1929.6875" y="302.9296875"/>
- </scene>
- <!--Save As-->
- <scene sceneID="FH4-dv-F8q">
- <objects>
- <viewController autoresizesArchivedViewToFullSize="NO" title="Save As" id="gVG-YM-Glc" customClass="DocumentSaveAsAction" customModule="LibreOfficeLight" customModuleProvider="target" sceneMemberID="viewController">
- <layoutGuides>
- <viewControllerLayoutGuide type="top" id="JoI-LP-cup"/>
- <viewControllerLayoutGuide type="bottom" id="lV5-3e-Ctd"/>
- </layoutGuides>
- <view key="view" contentMode="scaleToFill" id="8ob-86-sqW">
- <rect key="frame" x="0.0" y="0.0" width="200" height="60"/>
- <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
- <subviews>
- <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Name:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cFj-yx-7J7">
- <rect key="frame" x="16" y="8" width="58" height="21"/>
- <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <fontDescription key="fontDescription" type="system" pointSize="17"/>
- <nil key="textColor"/>
- <nil key="highlightedColor"/>
- </label>
- <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="CTF-ig-GzQ">
- <rect key="frame" x="87" y="8" width="97" height="30"/>
- <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <nil key="textColor"/>
- <fontDescription key="fontDescription" type="system" pointSize="14"/>
- <textInputTraits key="textInputTraits"/>
- </textField>
- </subviews>
- <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
- </view>
- <value key="contentSizeForViewInPopover" type="size" width="200" height="200"/>
- <nil key="simulatedStatusBarMetrics"/>
- <nil key="simulatedTopBarMetrics"/>
- <nil key="simulatedBottomBarMetrics"/>
- <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
- <size key="freeformSize" width="200" height="60"/>
- </viewController>
- <placeholder placeholderIdentifier="IBFirstResponder" id="EUo-VR-TkH" userLabel="First Responder" sceneMemberID="firstResponder"/>
- </objects>
- <point key="canvasLocation" x="2596.8000000000002" y="303.14842578710648"/>
+ <point key="canvasLocation" x="1799" y="303"/>
</scene>
</scenes>
<resources>
+ <image name="back" width="7" height="12"/>
<image name="document" width="20" height="20"/>
+ <image name="iCloudDrive" width="22" height="22"/>
<image name="menu" width="22" height="22"/>
<image name="pdf" width="20" height="20"/>
<image name="print" width="20" height="20"/>
@@ -720,6 +739,6 @@
</resources>
<inferredMetricsTieBreakers>
<segue reference="0sd-5x-euH"/>
- <segue reference="tJ8-Jt-UeD"/>
+ <segue reference="nga-Gl-Vki"/>
</inferredMetricsTieBreakers>
</document>