Implement NSTableViewDelegate viewFor method in sharetableviewdatasource
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 27 Feb 2024 15:56:08 +0000 (23:56 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:38:49 +0000 (16:38 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareTableViewDataSource.swift

index fac590e2afde66b6edac710bd1c6b9c35c35f1e5..e02377ffe499f537479d14eba9fd7a9c11703beb 100644 (file)
@@ -10,7 +10,8 @@ import FileProvider
 import NextcloudKit
 import OSLog
 
-class ShareTableViewDataSource: NSObject, NSTableViewDataSource {
+class ShareTableViewDataSource: NSObject, NSTableViewDataSource, NSTableViewDelegate {
+    private let shareItemViewIdentifier = NSUserInterfaceItemIdentifier("ShareTableItemView")
     var sharesTableView: NSTableView? {
         didSet {
             sharesTableView?.dataSource = self
@@ -65,4 +66,14 @@ class ShareTableViewDataSource: NSObject, NSTableViewDataSource {
     @objc func numberOfRows(in tableView: NSTableView) -> Int {
         shares.count
     }
+
+    // MARK: - NSTableViewDelegate protocol methods
+
+    @objc func tableView(
+        _ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int
+    ) -> NSView? {
+        //let share = shares[row]
+        let view = tableView.makeView(withIdentifier: shareItemViewIdentifier, owner: self)
+        return view
+    }
 }