Automatically open QR view if no devices found

This commit is contained in:
Leon Böttger committed 2025-03-14 20:33:39 +01:00
1 parent b0d4cc19c3
commit 1f5901ed38
1 file changed
+25 -5
+25 -5
View File
@@ -115,7 +115,7 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
override func viewDidLoad(){
super.viewDidLoad()
launchMainApp()
dicoverDevices()
NearbyConnectionManager.shared.addShareExtensionDelegate(self)
}
@@ -146,7 +146,11 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
@IBAction func dontSeeDeviceButton(_ sender: AnyObject?) {
openQrCodeView()
}
private func openQrCodeView() {
let contentView = QrCodeView {
self.closeQrCodeView()
}
@@ -235,9 +239,10 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
}
}
func addDevice(device: RemoteDeviceInfo) {
if foundDevices.isEmpty{
loadingOverlay?.animator().isHidden=true
if foundDevices.isEmpty {
loadingOverlay?.animator().isHidden = true
}
foundDevices.append(device)
listView?.animator().insertItems(at: [[0, foundDevices.count-1]])
@@ -245,6 +250,7 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
closeQrCodeView()
}
func removeDevice(id: String) {
if chosenDevice != nil {
return
@@ -261,6 +267,7 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
}
}
func connectionWasEstablished(pinCode: String) {
connectionEstablished = true
@@ -271,6 +278,7 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
progressProgressBar?.doubleValue = 0
}
func connectionFailed(with error: Error) {
progressProgressBar?.isIndeterminate = false
@@ -303,19 +311,23 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
}
}
func transferAccepted() {
progressState?.stringValue=NSLocalizedString("Sending", value: "Sending...", comment: "")
}
func transferProgress(progress: Double) {
progressProgressBar!.doubleValue=progress*progressProgressBar!.maxValue
}
func transferFinished() {
progressState?.stringValue=NSLocalizedString("TransferFinished", value: "Transfer finished", comment: "")
dismissDelayed()
}
func selectDevice(device:RemoteDeviceInfo){
isDiscovering = false
@@ -351,6 +363,7 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
DispatchQueue.main.asyncAfter(deadline: .now() + 10.0, execute: timeoutAlert)
}
private func dismissDelayed(){
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
@@ -363,7 +376,8 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
}
}
private func launchMainApp() {
private func dicoverDevices() {
let bundleIdentifier = "com.leonboettger.neardrop"
let runningApps = NSWorkspace.shared.runningApplications
@@ -387,6 +401,12 @@ class ShareViewController: NSViewController, ShareExtensionDelegate{
NearbyConnectionManager.shared.startDeviceDiscovery()
self.isDiscovering = true
}
DispatchQueue.main.asyncAfter(deadline: .now() + 5.0) {
if self.foundDevices.isEmpty {
self.openQrCodeView()
}
}
}
}