From: Claudio Cambra Date: Wed, 28 Feb 2024 13:36:19 +0000 (+0800) Subject: Implement hide and show of share options in share view controller X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~7^2~46^2~101 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=48bd2bb9a641789d0e4ae6b6d5022124df11993a;p=nextcloud-desktop.git Implement hide and show of share options in share view controller Signed-off-by: Claudio Cambra --- diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.swift index 29526e21e..2a292c07e 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.swift @@ -7,10 +7,11 @@ import AppKit import FileProvider +import NextcloudKit import OSLog import QuickLookThumbnailing -class ShareViewController: NSViewController { +class ShareViewController: NSViewController, ShareViewDataSourceUIDelegate { let shareDataSource = ShareTableViewDataSource() let itemIdentifiers: [NSFileProviderItemIdentifier] @@ -20,6 +21,7 @@ class ShareViewController: NSViewController { @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) @@ -48,6 +50,10 @@ class ShareViewController: NSViewController { fatalError("init(coder:) has not been implemented") } + override func viewDidLoad() { + hideOptions() + } + @IBAction func closeAction(_ sender: Any) { actionViewController.extensionContext.completeRequest() } @@ -60,6 +66,7 @@ class ShareViewController: NSViewController { 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 { @@ -91,4 +98,14 @@ class ShareViewController: NSViewController { } fileNameIcon.image = fileThumbnail?.nsImage } + + func hideOptions() { + splitView.removeArrangedSubview(optionsView) + optionsView.isHidden = true + } + + func showOptions(share: NKShare) { + splitView.addArrangedSubview(optionsView) + optionsView.isHidden = false + } } diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.xib b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.xib index 94ca48770..f1d5801aa 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.xib +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareViewController.xib @@ -14,6 +14,7 @@ +