Respond to changes in share of sharecontroller in shareoptionsview
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 4 Mar 2024 13:02:35 +0000 (21:02 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:38:54 +0000 (16:38 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareOptionsView.swift

index d0f75a13c48025cfd40b086bbeacc388ac21a5ec..6a3e63c315df1c1cf6a5448759ebd0edc52c8dab 100644 (file)
@@ -6,6 +6,7 @@
 //
 
 import AppKit
+import Combine
 import NextcloudKit
 
 class ShareOptionsView: NSView {
@@ -23,10 +24,12 @@ class ShareOptionsView: NSView {
 
     var controller: ShareController? {
         didSet {
+            cancellable?.cancel()
             update()
-
+            cancellable = controller.publisher.sink { _ in self.update() }
         }
     }
+    private var cancellable: AnyCancellable?
 
     private func update() {
         guard let share = controller?.share else {