import AppKit
import FileProvider
+import NextcloudKit
import OSLog
import QuickLookThumbnailing
-class ShareViewController: NSViewController {
+class ShareViewController: NSViewController, ShareViewDataSourceUIDelegate {
let shareDataSource = ShareTableViewDataSource()
let itemIdentifiers: [NSFileProviderItemIdentifier]
@IBOutlet weak var closeButton: NSButton!
@IBOutlet weak var tableView: NSTableView!
@IBOutlet weak var optionsView: NSView!
+ @IBOutlet weak var splitView: NSSplitView!
public override var nibName: NSNib.Name? {
return NSNib.Name(self.className)
fatalError("init(coder:) has not been implemented")
}
+ override func viewDidLoad() {
+ hideOptions()
+ }
+
@IBAction func closeAction(_ sender: Any) {
actionViewController.extensionContext.completeRequest()
}
do {
let itemUrl = try await manager.getUserVisibleURL(for: itemIdentifier)
await updateDisplay(itemUrl: itemUrl)
+ shareDataSource.uiDelegate = self
shareDataSource.sharesTableView = tableView
shareDataSource.loadItem(url: itemUrl)
} catch let error {
}
fileNameIcon.image = fileThumbnail?.nsImage
}
+
+ func hideOptions() {
+ splitView.removeArrangedSubview(optionsView)
+ optionsView.isHidden = true
+ }
+
+ func showOptions(share: NKShare) {
+ splitView.addArrangedSubview(optionsView)
+ optionsView.isHidden = false
+ }
}
<outlet property="fileNameIcon" destination="zSV-DV-Ray" id="336-e0-CEo"/>
<outlet property="fileNameLabel" destination="slV-H6-zJ3" id="DPp-sN-Yff"/>
<outlet property="optionsView" destination="EXb-m8-yzj" id="uAb-lv-EZ4"/>
+ <outlet property="splitView" destination="91w-SP-6sl" id="20T-gQ-SPY"/>
<outlet property="tableView" destination="vb0-a6-eeH" id="KQo-eg-dba"/>
<outlet property="view" destination="Jw6-da-U8j" id="5Ek-F1-w7C"/>
</connections>