Reload data source on share saving
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 4 Mar 2024 13:51:37 +0000 (21:51 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:38:55 +0000 (16:38 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareOptionsView.swift
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareTableViewDataSource.swift
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.swift

index 02f2b95fa77febcf364cbb0bcaddd558d0f3e162..86a1398a11b4593b8d4bb3d866bb7d929cb052d2 100644 (file)
@@ -22,6 +22,7 @@ class ShareOptionsView: NSView {
     @IBOutlet private weak var saveButton: NSButton!
     @IBOutlet private weak var deleteButton: NSButton!
 
+    var dataSource: ShareTableViewDataSource?
     var controller: ShareController? {
         didSet {
             cancellable?.cancel()
@@ -110,6 +111,7 @@ class ShareOptionsView: NSView {
                 label: label,
                 hideDownload: hideDownload
             )
+            await dataSource?.reload()
         }
     }
 }
index de709367b6e93c673cd40e1600a39b1281691ad9..ab4ae47e997721a528ea8ab7227a1689e321c004 100644 (file)
@@ -50,7 +50,7 @@ class ShareTableViewDataSource: NSObject, NSTableViewDataSource, NSTableViewDele
         }
     }
 
-    private func reload() async {
+    func reload() async {
         guard let itemURL = itemURL else { return }
         guard let itemIdentifier = await withCheckedContinuation({
             (continuation: CheckedContinuation<NSFileProviderItemIdentifier?, Never>) -> Void in
index d5a4bb4dfe9b5c8eac243096c6d5a5ac6c4d1abf..ef2ef85b9c982fca6504f31209569a8161a159c9 100644 (file)
@@ -71,6 +71,7 @@ class ShareViewController: NSViewController, ShareViewDataSourceUIDelegate {
             shareDataSource.uiDelegate = self
             shareDataSource.sharesTableView = tableView
             shareDataSource.loadItem(url: itemUrl)
+            optionsView.dataSource = shareDataSource
         } catch let error {
             let errorString = "Error processing item: \(error)"
             Logger.shareViewController.error("\(errorString)")