Skip to content

Commit 856f2da

Browse files
Menu cell fix UI (#4008)
* rename class Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * #4006 Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * fix dot in list cell Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * fix Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> --------- Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
1 parent 0dc9238 commit 856f2da

10 files changed

Lines changed: 56 additions & 28 deletions

File tree

Nextcloud.xcodeproj/project.pbxproj

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@
221221
F70D7C3725FFBF82002B9E34 /* NCCollectionViewCommon.swift in Sources */ = {isa = PBXBuildFile; fileRef = F70D7C3525FFBF81002B9E34 /* NCCollectionViewCommon.swift */; };
222222
F70D8D8124A4A9BF000A5756 /* NCNetworkingProcess.swift in Sources */ = {isa = PBXBuildFile; fileRef = F70D8D8024A4A9BF000A5756 /* NCNetworkingProcess.swift */; };
223223
F710D1F52405770F00A6033D /* NCViewerPDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = F710D1F42405770F00A6033D /* NCViewerPDF.swift */; };
224-
F710D2022405826100A6033D /* NCViewerContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = F710D2012405826100A6033D /* NCViewerContextMenu.swift */; };
224+
F710D2022405826100A6033D /* NCContextMenuViewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F710D2012405826100A6033D /* NCContextMenuViewer.swift */; };
225225
F710FC80277B7D2700AA9FBF /* RealmSwift in Frameworks */ = {isa = PBXBuildFile; productRef = F710FC7F277B7D2700AA9FBF /* RealmSwift */; };
226226
F710FC84277B7D3500AA9FBF /* RealmSwift in Frameworks */ = {isa = PBXBuildFile; productRef = F710FC83277B7D3500AA9FBF /* RealmSwift */; };
227227
F710FC88277B7D3F00AA9FBF /* RealmSwift in Frameworks */ = {isa = PBXBuildFile; productRef = F710FC87277B7D3F00AA9FBF /* RealmSwift */; };
@@ -291,6 +291,7 @@
291291
F72AD70F28C24BA1006CB92D /* NextcloudKit in Frameworks */ = {isa = PBXBuildFile; productRef = F72AD70E28C24BA1006CB92D /* NextcloudKit */; };
292292
F72AD71128C24BBB006CB92D /* NextcloudKit in Frameworks */ = {isa = PBXBuildFile; productRef = F72AD71028C24BBB006CB92D /* NextcloudKit */; };
293293
F72AD71328C24BCC006CB92D /* NextcloudKit in Frameworks */ = {isa = PBXBuildFile; productRef = F72AD71228C24BCC006CB92D /* NextcloudKit */; };
294+
F72CA0572F5048C3002E2F06 /* UIApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72CA0562F5048C3002E2F06 /* UIApplication+Extension.swift */; };
294295
F72CD63A25C19EBF00F46F9A /* NCAutoUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72CD63925C19EBF00F46F9A /* NCAutoUpload.swift */; };
295296
F72D1007210B6882009C96B7 /* NCPushNotificationEncryption.m in Sources */ = {isa = PBXBuildFile; fileRef = F72D1005210B6882009C96B7 /* NCPushNotificationEncryption.m */; };
296297
F72D404923D2082500A97FD0 /* NCViewerNextcloudText.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72D404823D2082500A97FD0 /* NCViewerNextcloudText.swift */; };
@@ -300,7 +301,6 @@
300301
F72EA95428B7BABA00C88F0C /* FilesWidgetProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72EA95328B7BABA00C88F0C /* FilesWidgetProvider.swift */; };
301302
F72EA95828B7BC4F00C88F0C /* FilesData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72EA95728B7BC4F00C88F0C /* FilesData.swift */; };
302303
F72EA95A28B7BD0D00C88F0C /* FilesWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72EA95928B7BD0D00C88F0C /* FilesWidgetView.swift */; };
303-
F72EC7222F45C7F900A2135C /* UIApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72EC7212F45C7F900A2135C /* UIApplication+Extension.swift */; };
304304
F72EC7242F45C81600A2135C /* NotificationCenter+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72EC7232F45C81600A2135C /* NotificationCenter+Extension.swift */; };
305305
F72EC7262F45C91E00A2135C /* NCContextMenuNavigation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72EC7252F45C90600A2135C /* NCContextMenuNavigation.swift */; };
306306
F72EC7282F45FF1400A2135C /* NCContextMenuPlus.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72EC7272F45FF0600A2135C /* NCContextMenuPlus.swift */; };
@@ -870,7 +870,6 @@
870870
F7E98C1627E0D0FC001F9F19 /* NCManageDatabase+Video.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E98C1527E0D0FC001F9F19 /* NCManageDatabase+Video.swift */; };
871871
F7E98C1727E0D0FC001F9F19 /* NCManageDatabase+Video.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E98C1527E0D0FC001F9F19 /* NCManageDatabase+Video.swift */; };
872872
F7E98C1927E0D0FC001F9F19 /* NCManageDatabase+Video.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E98C1527E0D0FC001F9F19 /* NCManageDatabase+Video.swift */; };
873-
F7EB9B132BBC12F300EDF036 /* UIApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7EB9B122BBC12F300EDF036 /* UIApplication+Extension.swift */; };
874873
F7ED547C25EEA65400956C55 /* QRCodeReader in Frameworks */ = {isa = PBXBuildFile; productRef = F7ED547B25EEA65400956C55 /* QRCodeReader */; };
875874
F7EDE4D6262D7B9600414FE6 /* NCListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78ACD4121903CE00088454D /* NCListCell.swift */; };
876875
F7EDE4DB262D7BA200414FE6 /* NCCellMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D26AE248A3D7A00121797 /* NCCellMain.swift */; };
@@ -1310,7 +1309,7 @@
13101309
F70D8D8024A4A9BF000A5756 /* NCNetworkingProcess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCNetworkingProcess.swift; sourceTree = "<group>"; };
13111310
F70F96AF2874394B006C8379 /* Nextcloud-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Nextcloud-Bridging-Header.h"; sourceTree = "<group>"; };
13121311
F710D1F42405770F00A6033D /* NCViewerPDF.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCViewerPDF.swift; sourceTree = "<group>"; };
1313-
F710D2012405826100A6033D /* NCViewerContextMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCViewerContextMenu.swift; sourceTree = "<group>"; };
1312+
F710D2012405826100A6033D /* NCContextMenuViewer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCContextMenuViewer.swift; sourceTree = "<group>"; };
13141313
F711A4DB2AF92CAD00095DD8 /* NCUtility+Date.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NCUtility+Date.swift"; sourceTree = "<group>"; };
13151314
F7132C6B2D085AD200B42D6A /* NCTermOfServiceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCTermOfServiceModel.swift; sourceTree = "<group>"; };
13161315
F7132C6C2D085AD200B42D6A /* NCTermOfServiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCTermOfServiceView.swift; sourceTree = "<group>"; };
@@ -1347,6 +1346,7 @@
13471346
F72944F12A84246400246839 /* NCEndToEndMetadataV20.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCEndToEndMetadataV20.swift; sourceTree = "<group>"; };
13481347
F72944F42A8424F800246839 /* NCEndToEndMetadataV1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCEndToEndMetadataV1.swift; sourceTree = "<group>"; };
13491348
F72A17D728B221E300F3F159 /* DashboardWidgetView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DashboardWidgetView.swift; sourceTree = "<group>"; };
1349+
F72CA0562F5048C3002E2F06 /* UIApplication+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIApplication+Extension.swift"; sourceTree = "<group>"; };
13501350
F72CD63925C19EBF00F46F9A /* NCAutoUpload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCAutoUpload.swift; sourceTree = "<group>"; };
13511351
F72D1005210B6882009C96B7 /* NCPushNotificationEncryption.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NCPushNotificationEncryption.m; sourceTree = "<group>"; };
13521352
F72D1006210B6882009C96B7 /* NCPushNotificationEncryption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NCPushNotificationEncryption.h; sourceTree = "<group>"; };
@@ -1355,7 +1355,6 @@
13551355
F72EA95328B7BABA00C88F0C /* FilesWidgetProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilesWidgetProvider.swift; sourceTree = "<group>"; };
13561356
F72EA95728B7BC4F00C88F0C /* FilesData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilesData.swift; sourceTree = "<group>"; };
13571357
F72EA95928B7BD0D00C88F0C /* FilesWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilesWidgetView.swift; sourceTree = "<group>"; };
1358-
F72EC7212F45C7F900A2135C /* UIApplication+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIApplication+Extension.swift"; sourceTree = "<group>"; };
13591358
F72EC7232F45C81600A2135C /* NotificationCenter+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NotificationCenter+Extension.swift"; sourceTree = "<group>"; };
13601359
F72EC7252F45C90600A2135C /* NCContextMenuNavigation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCContextMenuNavigation.swift; sourceTree = "<group>"; };
13611360
F72EC7272F45FF0600A2135C /* NCContextMenuPlus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCContextMenuPlus.swift; sourceTree = "<group>"; };
@@ -1776,7 +1775,6 @@
17761775
F7E7AEA42BA32C6500512E52 /* NCCollectionViewDownloadThumbnail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCCollectionViewDownloadThumbnail.swift; sourceTree = "<group>"; };
17771776
F7E8A390295DC5E0006CB2D0 /* View+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Extension.swift"; sourceTree = "<group>"; };
17781777
F7E98C1527E0D0FC001F9F19 /* NCManageDatabase+Video.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NCManageDatabase+Video.swift"; sourceTree = "<group>"; };
1779-
F7EB9B122BBC12F300EDF036 /* UIApplication+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIApplication+Extension.swift"; sourceTree = "<group>"; };
17801778
F7EDE508262DA9D600414FE6 /* NCSelectCommandViewSelect.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NCSelectCommandViewSelect.xib; sourceTree = "<group>"; };
17811779
F7EDE513262DC2CD00414FE6 /* NCSelectCommandViewSelect+CreateFolder.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "NCSelectCommandViewSelect+CreateFolder.xib"; sourceTree = "<group>"; };
17821780
F7EDE51A262DD0C400414FE6 /* NCSelectCommandViewCopyMove.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NCSelectCommandViewCopyMove.xib; sourceTree = "<group>"; };
@@ -1988,16 +1986,16 @@
19881986
isa = PBXGroup;
19891987
children = (
19901988
F376A3732E5CC5FF0067EE25 /* ContextMenuActions.swift */,
1991-
F78C6FDD296D677300C952C3 /* NCContextMenuMain.swift */,
1992-
BB7697C94BA14450A0867940 /* NCContextMenuProfile.swift */,
19931989
8932E90EC4278026D86CCCC9 /* NCContextMenuComment.swift */,
1990+
F78C6FDD296D677300C952C3 /* NCContextMenuMain.swift */,
19941991
F72EC7252F45C90600A2135C /* NCContextMenuNavigation.swift */,
1995-
F72EC7272F45FF0600A2135C /* NCContextMenuPlus.swift */,
1996-
B4C7A5B36D1ED178FB6B76CB /* NCContextMenuPlayerTracks.swift */,
19971992
F7FAFD3928BFA947000777FE /* NCContextMenuNotification.swift */,
1993+
B4C7A5B36D1ED178FB6B76CB /* NCContextMenuPlayerTracks.swift */,
1994+
F72EC7272F45FF0600A2135C /* NCContextMenuPlus.swift */,
1995+
BB7697C94BA14450A0867940 /* NCContextMenuProfile.swift */,
19981996
AF93471127E2341B002537EE /* NCContextMenuShare.swift */,
19991997
F75D19E225EFE09000D74598 /* NCContextMenuTrash.swift */,
2000-
F710D2012405826100A6033D /* NCViewerContextMenu.swift */,
1998+
F710D2012405826100A6033D /* NCContextMenuViewer.swift */,
20011999
);
20022000
path = Menu;
20032001
sourceTree = "<group>";
@@ -2818,8 +2816,7 @@
28182816
F351D1A52D0AF24A00930F94 /* PHAssetCollection+Extension.swift */,
28192817
F7A0D1342591FBC5008F8A13 /* String+Extension.swift */,
28202818
AF1A9B6327D0CA1E00F17A9E /* UIAlertController+Extension.swift */,
2821-
F72EC7212F45C7F900A2135C /* UIApplication+Extension.swift */,
2822-
F7EB9B122BBC12F300EDF036 /* UIApplication+Extension.swift */,
2819+
F72CA0562F5048C3002E2F06 /* UIApplication+Extension.swift */,
28232820
AF7E504D27A2D8FF00B5E4AF /* UIBarButton+Extension.swift */,
28242821
F32FADA82D1176DE007035E2 /* UIButton+Extension.swift */,
28252822
F70CEF5523E9C7E50007035B /* UIColor+Extension.swift */,
@@ -4493,7 +4490,7 @@
44934490
F78ACD52219046DC0088454D /* NCSectionFirstHeader.swift in Sources */,
44944491
F743C89E2E5B25A1000173A9 /* UIScene+Extension.swift in Sources */,
44954492
F72944F52A8424F800246839 /* NCEndToEndMetadataV1.swift in Sources */,
4496-
F710D2022405826100A6033D /* NCViewerContextMenu.swift in Sources */,
4493+
F710D2022405826100A6033D /* NCContextMenuViewer.swift in Sources */,
44974494
F765E9CD295C585800A09ED8 /* NCUploadScanDocument.swift in Sources */,
44984495
F741C2242B6B9FD600E849BB /* NCMediaSelectTabBar.swift in Sources */,
44994496
F7BF9D822934CA21009EE9A6 /* NCManageDatabase+LayoutForView.swift in Sources */,
@@ -4550,6 +4547,7 @@
45504547
F78ACD4A21903F850088454D /* NCTrashListCell.swift in Sources */,
45514548
F7386E482DA90E0F009A00F6 /* NCAppVersionManager.swift in Sources */,
45524549
F76882352C0DD1E7001CF441 /* NCWebBrowserView.swift in Sources */,
4550+
F72CA0572F5048C3002E2F06 /* UIApplication+Extension.swift in Sources */,
45534551
F3A047972BD2668800658E7B /* NCAssistantEmptyView.swift in Sources */,
45544552
F757CC8D29E82D0500F31428 /* NCGroupfolders.swift in Sources */,
45554553
F3BB46542A3A1E9D00461F6E /* CCCellMore.swift in Sources */,
@@ -4577,7 +4575,6 @@
45774575
F74B6D952A7E239A00F03C5F /* NCManageDatabase+Chunk.swift in Sources */,
45784576
F310B1EF2BA862F1001C42F5 /* NCViewerMedia+VisionKit.swift in Sources */,
45794577
F702F2F725EE5CED008F8E80 /* NCLogin.swift in Sources */,
4580-
F7EB9B132BBC12F300EDF036 /* UIApplication+Extension.swift in Sources */,
45814578
F75D90212D2BE26F003E740B /* NCRecommendationsCell.swift in Sources */,
45824579
F7E98C1627E0D0FC001F9F19 /* NCManageDatabase+Video.swift in Sources */,
45834580
F76882222C0DD1E7001CF441 /* NCCapabilitiesView.swift in Sources */,
@@ -4755,7 +4752,6 @@
47554752
F3E173C02C9B1067006D177A /* AwakeMode.swift in Sources */,
47564753
F7CAFE182F164B9500DB35A5 /* NCCollectionViewCommon+CellDelegate.swift in Sources */,
47574754
F711A4DC2AF92CAE00095DD8 /* NCUtility+Date.swift in Sources */,
4758-
F72EC7222F45C7F900A2135C /* UIApplication+Extension.swift in Sources */,
47594755
AF4BF61E27562B3F0081CEEF /* NCManageDatabase+Activity.swift in Sources */,
47604756
);
47614757
runOnlyForDeploymentPostprocessing = 0;
@@ -5729,7 +5725,7 @@
57295725
CLANG_WARN_UNREACHABLE_CODE = YES;
57305726
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
57315727
COPY_PHASE_STRIP = NO;
5732-
CURRENT_PROJECT_VERSION = 1;
5728+
CURRENT_PROJECT_VERSION = 0;
57335729
DEBUG_INFORMATION_FORMAT = dwarf;
57345730
DEVELOPMENT_TEAM = NKUJUXUJ3B;
57355731
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -5756,7 +5752,7 @@
57565752
"@executable_path/Frameworks",
57575753
"@executable_path/../../Frameworks",
57585754
);
5759-
MARKETING_VERSION = 33.0.2;
5755+
MARKETING_VERSION = 33.0.3;
57605756
ONLY_ACTIVE_ARCH = YES;
57615757
OTHER_CFLAGS = "-v";
57625758
OTHER_LDFLAGS = "";
@@ -5795,7 +5791,7 @@
57955791
CLANG_WARN_UNREACHABLE_CODE = YES;
57965792
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
57975793
COPY_PHASE_STRIP = NO;
5798-
CURRENT_PROJECT_VERSION = 1;
5794+
CURRENT_PROJECT_VERSION = 0;
57995795
DEVELOPMENT_TEAM = NKUJUXUJ3B;
58005796
ENABLE_STRICT_OBJC_MSGSEND = YES;
58015797
ENABLE_TESTABILITY = YES;
@@ -5819,7 +5815,7 @@
58195815
"@executable_path/Frameworks",
58205816
"@executable_path/../../Frameworks",
58215817
);
5822-
MARKETING_VERSION = 33.0.2;
5818+
MARKETING_VERSION = 33.0.3;
58235819
ONLY_ACTIVE_ARCH = YES;
58245820
OTHER_CFLAGS = "-v";
58255821
OTHER_LDFLAGS = "";

Share/NCShareExtension+DataSource.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ extension NCShareExtension: UICollectionViewDelegate {
1919

2020
if metadata.e2eEncrypted && !NCPreferences().isEndToEndEnabled(account: tblAccount.account) {
2121
self.showAlert(title: "_info_", description: "_e2e_goto_settings_for_enable_")
22+
return
2223
}
2324
let capabilities = await NKCapabilities.shared.getCapabilities(for: tblAccount.account)
2425

@@ -106,6 +107,7 @@ extension NCShareExtension: UICollectionViewDataSource {
106107
cell.hideButtonMore(true)
107108
cell.hideButtonShare(true)
108109
cell.selected(false, isEditMode: false)
110+
cell.writeInfoDateSize(date: metadata.date, size: metadata.size)
109111

110112
if metadata.isLivePhoto {
111113
cell.imageStatus.image = utility.loadImage(named: "livephoto", colors: [NCBrandColor.shared.iconImageColor2])

iOSClient/Main/Collection Common/Cell/NCListCell.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellMainP
115115
labelTitle.text = ""
116116
labelInfo.text = ""
117117
labelSubinfo.text = ""
118-
labelInfoSeparator.text = ""
119118
tag0.text = ""
120119
tag1.text = ""
121120

iOSClient/Menu/NCContextMenuMain.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,12 @@ class NCContextMenuMain: NSObject {
164164
)
165165
}
166166

167+
// Save Live Photo
168+
if NCNetworking.shared.isOnline,
169+
let metadataMOV = NCManageDatabase.shared.getMetadataLivePhoto(metadata: metadata) {
170+
mainActionsMenu.append(makeSaveLivePhotoAction(metadata: metadata, metadataMOV: metadataMOV))
171+
}
172+
167173
// Save as scan
168174
if NCNetworking.shared.isOnline,
169175
metadata.isSavebleAsImage {
@@ -286,6 +292,15 @@ class NCContextMenuMain: NSObject {
286292

287293
// MARK: File Actions
288294

295+
private func makeSaveLivePhotoAction(metadata: tableMetadata, metadataMOV: tableMetadata) -> UIAction {
296+
return UIAction(
297+
title: NSLocalizedString("_livephoto_save_", comment: ""),
298+
image: utility.loadImage(named: "livephoto", colors: [NCBrandColor.shared.iconImageColor])
299+
) { _ in
300+
NCNetworking.shared.saveLivePhotoQueue.addOperation(NCOperationSaveLivePhoto(metadata: metadata, metadataMOV: metadataMOV, controller: self.controller))
301+
}
302+
}
303+
289304
private func makeSaveAsScanAction(metadata: tableMetadata) -> UIAction {
290305
return UIAction(
291306
title: NSLocalizedString("_save_as_scan_", comment: ""),
Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import NextcloudKit
77

88
/// A context menu created to be used universally with the different `NCViewer`s.
99
/// See ``NCViewerImage``, ``NCViewerMedia``, ``NCViewerPDF`` for usage details.
10-
class NCViewerContextMenu: NSObject {
10+
class NCContextMenuViewer: NSObject {
1111
let metadata: tableMetadata
1212
let controller: NCMainTabBarController?
1313
let webView: Bool
@@ -53,6 +53,13 @@ class NCViewerContextMenu: NSObject {
5353
menuElements.append(ContextMenuActions.setAvailableOffline(metadatas: [metadata], isAnyOffline: isOffline, controller: controller))
5454
}
5555

56+
// LIVE PHOTO
57+
if !webView,
58+
NCNetworking.shared.isOnline,
59+
let metadataMOV = NCManageDatabase.shared.getMetadataLivePhoto(metadata: metadata) {
60+
menuElements.append(makeSaveLivePhotoAction(metadata: metadata, metadataMOV: metadataMOV))
61+
}
62+
5663
// SHARE
5764
if !webView, metadata.canShare {
5865
menuElements.append(ContextMenuActions.share(metadatas: [metadata], controller: controller, sender: sender))
@@ -132,4 +139,13 @@ class NCViewerContextMenu: NSObject {
132139
}
133140
]
134141
}
142+
143+
private func makeSaveLivePhotoAction(metadata: tableMetadata, metadataMOV: tableMetadata) -> UIAction {
144+
return UIAction(
145+
title: NSLocalizedString("_livephoto_save_", comment: ""),
146+
image: utility.loadImage(named: "livephoto", colors: [NCBrandColor.shared.iconImageColor])
147+
) { _ in
148+
NCNetworking.shared.saveLivePhotoQueue.addOperation(NCOperationSaveLivePhoto(metadata: metadata, metadataMOV: metadataMOV, controller: self.controller))
149+
}
150+
}
135151
}

0 commit comments

Comments
 (0)