From 9039145fd74dfe2bb9d3a77447883010b8bd81f8 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Wed, 28 Feb 2024 21:16:34 +0800 Subject: [PATCH] Implement ui delegate in ShareTableViewDataSource Signed-off-by: Claudio Cambra --- .../FileProviderUIExt/ShareTableViewDataSource.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareTableViewDataSource.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareTableViewDataSource.swift index f86829876..d19a8d0ae 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareTableViewDataSource.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareTableViewDataSource.swift @@ -14,6 +14,7 @@ class ShareTableViewDataSource: NSObject, NSTableViewDataSource, NSTableViewDele private let shareItemViewIdentifier = NSUserInterfaceItemIdentifier("ShareTableItemView") private let shareItemViewNib = NSNib(nibNamed: "ShareTableItemView", bundle: nil) + var uiDelegate: ShareViewDataSourceUIDelegate? var sharesTableView: NSTableView? { didSet { sharesTableView?.register(shareItemViewNib, forIdentifier: shareItemViewIdentifier) @@ -23,6 +24,7 @@ class ShareTableViewDataSource: NSObject, NSTableViewDataSource, NSTableViewDele sharesTableView?.reloadData() } } + private var kit: NextcloudKit? private var itemURL: URL? private var shares: [NKShare] = [] { @@ -149,4 +151,13 @@ class ShareTableViewDataSource: NSObject, NSTableViewDataSource, NSTableViewDele view.share = share return view } + + @objc func tableViewSelectionDidChange(_ notification: Notification) { + guard let selectedRow = sharesTableView?.selectedRow, selectedRow >= 0 else { + uiDelegate?.hideOptions() + return + } + let share = shares[selectedRow] + uiDelegate?.showOptions(share: share) + } } -- 2.30.2