Skip to content

Commit 143189d

Browse files
NMC 2172 - Dashboard theming customisation updated changes
1 parent a5bd861 commit 143189d

27 files changed

Lines changed: 1692 additions & 1628 deletions

Nextcloud.xcodeproj/project.pbxproj

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
2C33C48223E2C475005F963B /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C33C48123E2C475005F963B /* NotificationService.swift */; };
1313
2C33C48623E2C475005F963B /* Notification Service Extension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 2C33C47F23E2C475005F963B /* Notification Service Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
1414
2F96A1BAFB10ACFEAC68EF1C /* NCContextMenuPlayerTracks.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4C7A5B36D1ED178FB6B76CB /* NCContextMenuPlayerTracks.swift */; };
15-
370D26AF248A3D7A00121797 /* NCCellMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D26AE248A3D7A00121797 /* NCCellMain.swift */; };
1615
A5A87F9E4B0E4441A6A4BC20 /* NCContextMenuProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB7697C94BA14450A0867940 /* NCContextMenuProfile.swift */; };
1716
AA3C85E82D36B08C00F74F12 /* UITestBackend.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA3C85E72D36B08C00F74F12 /* UITestBackend.swift */; };
1817
AA3C85EB2D36BBFB00F74F12 /* OCSResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA3C85EA2D36BBF400F74F12 /* OCSResponse.swift */; };
@@ -84,6 +83,10 @@
8483
AFCE353527E4ED5900FEA6C2 /* DateFormatter+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCE353427E4ED5900FEA6C2 /* DateFormatter+Extension.swift */; };
8584
AFCE353727E4ED7B00FEA6C2 /* NCShareCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCE353627E4ED7B00FEA6C2 /* NCShareCells.swift */; };
8685
AFCE353927E5DE0500FEA6C2 /* Shareable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCE353827E5DE0400FEA6C2 /* Shareable.swift */; };
86+
B55AFB502FE28B8000A1A1A4 /* NCCellProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B55AFB4F2FE28B8000A1A1A4 /* NCCellProtocol.swift */; };
87+
B55AFB512FE28B8000A1A1A4 /* NCCellProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B55AFB4F2FE28B8000A1A1A4 /* NCCellProtocol.swift */; };
88+
B55AFB542FE28C5100A1A1A4 /* NCSortMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = B55AFB532FE28C5100A1A1A4 /* NCSortMenu.swift */; };
89+
B55AFB552FE28C5100A1A1A4 /* NCMenuAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B55AFB522FE28C5100A1A1A4 /* NCMenuAction.swift */; };
8790
CB3666201AF7550816B5CD6A /* NCContextMenuComment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8932E90EC4278026D86CCCC9 /* NCContextMenuComment.swift */; };
8891
D5B6AA7827200C7200D49C24 /* NCActivityTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B6AA7727200C7200D49C24 /* NCActivityTableViewCell.swift */; };
8992
F310B1EF2BA862F1001C42F5 /* NCViewerMedia+VisionKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F310B1EE2BA862F1001C42F5 /* NCViewerMedia+VisionKit.swift */; };
@@ -905,7 +908,6 @@
905908
F7E98C1927E0D0FC001F9F19 /* NCManageDatabase+Video.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E98C1527E0D0FC001F9F19 /* NCManageDatabase+Video.swift */; };
906909
F7ED547C25EEA65400956C55 /* QRCodeReader in Frameworks */ = {isa = PBXBuildFile; productRef = F7ED547B25EEA65400956C55 /* QRCodeReader */; };
907910
F7EDE4D6262D7B9600414FE6 /* NCListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78ACD4121903CE00088454D /* NCListCell.swift */; };
908-
F7EDE4DB262D7BA200414FE6 /* NCCellMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D26AE248A3D7A00121797 /* NCCellMain.swift */; };
909911
F7EDE509262DA9D600414FE6 /* NCSelectCommandViewSelect.xib in Resources */ = {isa = PBXBuildFile; fileRef = F7EDE508262DA9D600414FE6 /* NCSelectCommandViewSelect.xib */; };
910912
F7EDE514262DC2CD00414FE6 /* NCSelectCommandViewSelect+CreateFolder.xib in Resources */ = {isa = PBXBuildFile; fileRef = F7EDE513262DC2CD00414FE6 /* NCSelectCommandViewSelect+CreateFolder.xib */; };
911913
F7EDE51B262DD0C400414FE6 /* NCSelectCommandViewCopyMove.xib in Resources */ = {isa = PBXBuildFile; fileRef = F7EDE51A262DD0C400414FE6 /* NCSelectCommandViewCopyMove.xib */; };
@@ -1149,7 +1151,6 @@
11491151
2C33C47F23E2C475005F963B /* Notification Service Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Notification Service Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
11501152
2C33C48123E2C475005F963B /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; };
11511153
2C33C48A23E2CC26005F963B /* Notification_Service_Extension-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Notification_Service_Extension-Bridging-Header.h"; sourceTree = "<group>"; };
1152-
370D26AE248A3D7A00121797 /* NCCellMain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCCellMain.swift; sourceTree = "<group>"; };
11531154
8932E90EC4278026D86CCCC9 /* NCContextMenuComment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCContextMenuComment.swift; sourceTree = "<group>"; };
11541155
AA3C85E72D36B08C00F74F12 /* UITestBackend.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestBackend.swift; sourceTree = "<group>"; };
11551156
AA3C85EA2D36BBF400F74F12 /* OCSResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OCSResponse.swift; sourceTree = "<group>"; };
@@ -1269,6 +1270,9 @@
12691270
AFCE353627E4ED7B00FEA6C2 /* NCShareCells.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCShareCells.swift; sourceTree = "<group>"; };
12701271
AFCE353827E5DE0400FEA6C2 /* Shareable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shareable.swift; sourceTree = "<group>"; };
12711272
B4C7A5B36D1ED178FB6B76CB /* NCContextMenuPlayerTracks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCContextMenuPlayerTracks.swift; sourceTree = "<group>"; };
1273+
B55AFB4F2FE28B8000A1A1A4 /* NCCellProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCCellProtocol.swift; sourceTree = "<group>"; };
1274+
B55AFB522FE28C5100A1A1A4 /* NCMenuAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCMenuAction.swift; sourceTree = "<group>"; };
1275+
B55AFB532FE28C5100A1A1A4 /* NCSortMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCSortMenu.swift; sourceTree = "<group>"; };
12721276
BB7697C94BA14450A0867940 /* NCContextMenuProfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCContextMenuProfile.swift; sourceTree = "<group>"; };
12731277
C0046CDA2A17B98400D87C9D /* NextcloudUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NextcloudUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
12741278
C04E2F202A17BB4D001BAD85 /* NextcloudIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NextcloudIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -2053,6 +2057,8 @@
20532057
371B5A2F23D0B04B00FAFAE9 /* Menu */ = {
20542058
isa = PBXGroup;
20552059
children = (
2060+
B55AFB522FE28C5100A1A1A4 /* NCMenuAction.swift */,
2061+
B55AFB532FE28C5100A1A1A4 /* NCSortMenu.swift */,
20562062
F376A3732E5CC5FF0067EE25 /* ContextMenuActions.swift */,
20572063
8932E90EC4278026D86CCCC9 /* NCContextMenuComment.swift */,
20582064
F78C6FDD296D677300C952C3 /* NCContextMenuMain.swift */,
@@ -2539,7 +2545,7 @@
25392545
F75FE06B2BB01D0D00A0EFEF /* Cell */ = {
25402546
isa = PBXGroup;
25412547
children = (
2542-
370D26AE248A3D7A00121797 /* NCCellMain.swift */,
2548+
B55AFB4F2FE28B8000A1A1A4 /* NCCellProtocol.swift */,
25432549
F78ACD4121903CE00088454D /* NCListCell.swift */,
25442550
F78ACD3F21903CC20088454D /* NCGridCell.swift */,
25452551
F751247A2C42919C00E63DB8 /* NCPhotoCell.swift */,
@@ -4388,8 +4394,8 @@
43884394
F799DF862C4B7E56003410B5 /* NCSectionHeader.swift in Sources */,
43894395
F702F2D025EE5B5C008F8E80 /* NCGlobal.swift in Sources */,
43904396
F72437802C10B92400C7C68D /* NCSharePermissions.swift in Sources */,
4391-
F7EDE4DB262D7BA200414FE6 /* NCCellMain.swift in Sources */,
43924397
F72944F62A8424F800246839 /* NCEndToEndMetadataV1.swift in Sources */,
4398+
B55AFB512FE28B8000A1A1A4 /* NCCellProtocol.swift in Sources */,
43934399
F73EF7BA2B0224AB0087E6E9 /* NCManageDatabase+ExternalSites.swift in Sources */,
43944400
F711A4EB2AF9327D00095DD8 /* UIImage+animatedGIF.m in Sources */,
43954401
F36E64FA2B96236C0085ABB5 /* UIView+Extension.swift in Sources */,
@@ -4565,7 +4571,6 @@
45654571
F3C6F6F62F34CC0900C531B6 /* NCAssistantChatConversationsModel.swift in Sources */,
45664572
F76340FC2EBDF64D0056F538 /* NCManageDatabase+Tag.swift in Sources */,
45674573
F733598125C1C188002ABA72 /* NCAskAuthorization.swift in Sources */,
4568-
370D26AF248A3D7A00121797 /* NCCellMain.swift in Sources */,
45694574
F32FADA92D1176E3007035E2 /* UIButton+Extension.swift in Sources */,
45704575
F7DF7B3F2F1A2EF900514020 /* WarningBannerView.swift in Sources */,
45714576
F768822C2C0DD1E7001CF441 /* NCPreferences.swift in Sources */,
@@ -4729,6 +4734,7 @@
47294734
AF93471A27E2361E002537EE /* NCShareHeader.swift in Sources */,
47304735
F7F878AE1FB9E3B900599E4F /* NCEndToEndMetadata.swift in Sources */,
47314736
F7A7FDDD2C2DBD6200E9A93A /* NCDeepLinkHandler.swift in Sources */,
4737+
B55AFB502FE28B8000A1A1A4 /* NCCellProtocol.swift in Sources */,
47324738
F778231E2C42C07C001BB94F /* NCCollectionViewCommon+MediaLayout.swift in Sources */,
47334739
F710D1F52405770F00A6033D /* NCViewerPDF.swift in Sources */,
47344740
F72EC7242F45C81600A2135C /* NotificationCenter+Extension.swift in Sources */,
@@ -4823,6 +4829,8 @@
48234829
F74C0436253F1CDC009762AB /* NCShares.swift in Sources */,
48244830
F79699E72E689F68000EC82A /* NCMediaNavigationController.swift in Sources */,
48254831
F7AC1CB028AB94490032D99F /* Array+Extension.swift in Sources */,
4832+
B55AFB542FE28C5100A1A1A4 /* NCSortMenu.swift in Sources */,
4833+
B55AFB552FE28C5100A1A1A4 /* NCMenuAction.swift in Sources */,
48264834
F7AE00F5230D5F9E007ACF8A /* NCLoginProvider.swift in Sources */,
48274835
F707C26521A2DC5200F6181E /* NCStoreReview.swift in Sources */,
48284836
F7814E972F3B5F170074DA3A /* NCSVGRenderer.swift in Sources */,

iOSClient/Files/NCFiles.swift

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ class NCFiles: NCCollectionViewCommon {
4444
}
4545

4646
NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { _ in
47-
self.stopSyncMetadata()
47+
Task {
48+
await self.stopSyncMetadata()
49+
await self.searchOperationHandle.cancel()
50+
}
4851
}
4952

5053
if self.serverUrl.isEmpty {
@@ -134,8 +137,8 @@ class NCFiles: NCCollectionViewCommon {
134137
override func viewWillDisappear(_ animated: Bool) {
135138
super.viewWillDisappear(animated)
136139

137-
stopSyncMetadata()
138140
Task {
141+
await stopSyncMetadata()
139142
await NCNetworking.shared.networkingTasks.cancel(identifier: "\(self.serverUrl)_NCFiles")
140143
}
141144
}
@@ -197,7 +200,8 @@ class NCFiles: NCCollectionViewCommon {
197200
}
198201

199202
guard !isSearchingMode else {
200-
return networkSearch()
203+
await self.search()
204+
return
201205
}
202206

203207
func downloadMetadata(_ metadata: tableMetadata) async -> Bool {
@@ -325,20 +329,13 @@ class NCFiles: NCCollectionViewCommon {
325329

326330
// No metadata fount, re-send it
327331
if results.error.errorCode == NCGlobal.shared.errorResourceNotFound {
328-
NCContentPresenter().showInfo(description: "Metadata not found")
332+
await showInfoBanner(windowScene: windowScene, text: "Metadata not found")
329333
let error = await NCNetworkingE2EE().uploadMetadata(serverUrl: serverUrl, account: account)
330334
if error != .success {
331-
await showErrorBanner(controller: self.controller,
332-
errorDescription: error.errorDescription,
333-
errorCode: error.errorCode)
335+
await showErrorBanner(windowScene: windowScene, text: error.errorDescription, errorCode: error.errorCode)
334336
}
335337
} else {
336-
// show error
337-
Task {@MainActor in
338-
await showErrorBanner(controller: self.controller,
339-
errorDescription: error.errorDescription,
340-
errorCode: error.errorCode)
341-
}
338+
await showErrorBanner(windowScene: windowScene, text: error.errorDescription, errorCode: error.errorCode)
342339
}
343340

344341
return(metadatas, error, reloadRequired)
@@ -349,31 +346,24 @@ class NCFiles: NCCollectionViewCommon {
349346

350347
if errorDecodeMetadata == .success {
351348
let capabilities = await NKCapabilities.shared.getCapabilities(for: self.session.account)
352-
if version == "v1", capabilities.e2EEApiVersion == NCGlobal.shared.e2eeVersionV20 {
353-
NCContentPresenter().showInfo(description: "Conversion metadata v1 to v2 required, please wait...")
349+
if version == "v1", NCGlobal.shared.isE2eeVersion2(capabilities.e2EEApiVersion) {
350+
await showInfoBanner(windowScene: windowScene, text: "Conversion metadata v1 to v2 required, please wait...")
354351
nkLog(tag: self.global.logTagE2EE, message: "Conversion v1 to v2")
355352
NCActivityIndicator.shared.start()
356353

357354
let error = await NCNetworkingE2EE().uploadMetadata(serverUrl: serverUrl, updateVersionV1V2: true, account: account)
358355
if error != .success {
359-
Task {@MainActor in
360-
await showErrorBanner(controller: self.controller,
361-
errorDescription: error.errorDescription,
362-
errorCode: error.errorCode)
363-
}
356+
await showErrorBanner(windowScene: windowScene, text: error.errorDescription, errorCode: error.errorCode)
364357
}
365358
NCActivityIndicator.shared.stop()
366359
}
367360
} else {
368361
// Client Diagnostic
369362
await self.database.addDiagnosticAsync(account: account, issue: NCGlobal.shared.diagnosticIssueE2eeErrors)
370-
Task {@MainActor in
371-
await showErrorBanner(controller: self.controller,
372-
errorDescription: error.errorDescription,
373-
errorCode: error.errorCode)
374-
}
363+
await showErrorBanner(windowScene: windowScene, text: errorDecodeMetadata.errorDescription, errorCode: errorDecodeMetadata.errorCode)
375364
}
376365

366+
377367
return (metadatas, error, reloadRequired)
378368
}
379369

0 commit comments

Comments
 (0)