diff --git a/app/NativeMacReceiverSelector/ViewController.swift b/app/NativeMacReceiverSelector/ViewController.swift index 8d470d9..f986d73 100644 --- a/app/NativeMacReceiverSelector/ViewController.swift +++ b/app/NativeMacReceiverSelector/ViewController.swift @@ -106,33 +106,48 @@ class ViewController : NSViewController { stackView.addArrangedSubview(mediaTypeStackView) - /** - * For each receiver in the initData list, create a new - * ReceiverView, set self as a ReceiverViewDelegate and - * appends to main stack view. - * - * Keeps a reference to the receiver view to call disable() - * later. - */ - for receiver in initData.receivers { - // Create separator between last receiver / media type - let receiverSeparator = NSBox() - receiverSeparator.boxType = .separator + if initData.receivers.count < 1 { + let separator = NSBox() + separator.boxType = .separator - let receiverView = ReceiverView(receiver: receiver) - receiverView.receiverViewDelegate = self + let notFoundStackView = NSStackView(views: [ + makeLabel(initData.i18n_noReceiversFound) + ]) - if UInt(initData.availableMediaTypes) == 0 - || (initData.availableMediaTypes - & initData.defaultMediaType.rawValue) == 0 { - receiverView.isEnabled = false + notFoundStackView.alignment = .centerX + notFoundStackView.edgeInsets = NSEdgeInsetsMake(18, 0, 18, 0) + + stackView.addArrangedSubview(separator) + stackView.addArrangedSubview(notFoundStackView) + } else { + /** + * For each receiver in the initData list, create a new + * ReceiverView, set self as a ReceiverViewDelegate and + * appends to main stack view. + * + * Keeps a reference to the receiver view to call disable() + * later. + */ + for receiver in initData.receivers { + // Create separator between last receiver / media type + let receiverSeparator = NSBox() + receiverSeparator.boxType = .separator + + let receiverView = ReceiverView(receiver: receiver) + receiverView.receiverViewDelegate = self + + if UInt(initData.availableMediaTypes) == 0 + || (initData.availableMediaTypes + & initData.defaultMediaType.rawValue) == 0 { + receiverView.isEnabled = false + } + + + self.receiverViews.append(receiverView) + + stackView.addArrangedSubview(receiverSeparator) + stackView.addArrangedSubview(receiverView) } - - - self.receiverViews.append(receiverView) - - stackView.addArrangedSubview(receiverSeparator) - stackView.addArrangedSubview(receiverView) } diff --git a/app/NativeMacReceiverSelector/models/InitData.swift b/app/NativeMacReceiverSelector/models/InitData.swift index e616e75..641eccb 100644 --- a/app/NativeMacReceiverSelector/models/InitData.swift +++ b/app/NativeMacReceiverSelector/models/InitData.swift @@ -16,4 +16,5 @@ struct InitData : Codable { let i18n_mediaTypeFile: String let i18n_mediaSelectCastLabel: String let i18n_mediaSelectToLabel: String + let i18n_noReceiversFound: String } diff --git a/ext/src/_locales/en/messages.json b/ext/src/_locales/en/messages.json index 618da31..105032c 100755 --- a/ext/src/_locales/en/messages.json +++ b/ext/src/_locales/en/messages.json @@ -34,6 +34,10 @@ "message": "to:" , "description": "Cast