|
@@ -9,17 +9,25 @@ class QrPageController: UIPageViewController, ProgressAlertHandler {
|
|
|
|
|
|
private var selectedIndex: Int = 0
|
|
|
|
|
|
- private lazy var qrCodeHint: String = {
|
|
|
+ private func getQrCodeHint() -> String {
|
|
|
var qrCodeHint = ""
|
|
|
if dcContext.isConfigured() {
|
|
|
- let contact = DcContact(id: Int(DC_CONTACT_ID_SELF))
|
|
|
+ // we cannot use dc_contact_get_displayname() as this would result in "Me" instead of the real name
|
|
|
+ let name = dcContext.getConfig("displayname") ?? ""
|
|
|
+ let addr = dcContext.getConfig("addr") ?? ""
|
|
|
+ var nameAndAddress = ""
|
|
|
+ if name.isEmpty {
|
|
|
+ nameAndAddress = addr
|
|
|
+ } else {
|
|
|
+ nameAndAddress = "\(name) (\(addr))"
|
|
|
+ }
|
|
|
qrCodeHint = String.localizedStringWithFormat(
|
|
|
String.localized("qrshow_join_contact_hint"),
|
|
|
- contact.email
|
|
|
+ nameAndAddress
|
|
|
)
|
|
|
}
|
|
|
return qrCodeHint
|
|
|
- }()
|
|
|
+ }
|
|
|
|
|
|
private lazy var qrSegmentControl: UISegmentedControl = {
|
|
|
let control = UISegmentedControl(
|
|
@@ -47,7 +55,7 @@ class QrPageController: UIPageViewController, ProgressAlertHandler {
|
|
|
delegate = self
|
|
|
navigationItem.titleView = qrSegmentControl
|
|
|
|
|
|
- let qrController = QrViewController(dcContext: dcContext, qrCodeHint: qrCodeHint)
|
|
|
+ let qrController = QrViewController(dcContext: dcContext, qrCodeHint: getQrCodeHint())
|
|
|
setViewControllers(
|
|
|
[qrController],
|
|
|
direction: .forward,
|
|
@@ -72,12 +80,10 @@ class QrPageController: UIPageViewController, ProgressAlertHandler {
|
|
|
self.progressObserver = nil
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// MARK: - actions
|
|
|
@objc private func qrSegmentControlChanged(_ sender: UISegmentedControl) {
|
|
|
if sender.selectedSegmentIndex == 0 {
|
|
|
- let qrController = QrViewController(dcContext: dcContext, qrCodeHint: qrCodeHint)
|
|
|
+ let qrController = QrViewController(dcContext: dcContext, qrCodeHint: getQrCodeHint())
|
|
|
setViewControllers([qrController], direction: .reverse, animated: true, completion: nil)
|
|
|
} else {
|
|
|
let qrCodeReaderController = makeQRReader()
|
|
@@ -113,7 +119,7 @@ extension QrPageController: UIPageViewControllerDataSource, UIPageViewController
|
|
|
if viewController is QrViewController {
|
|
|
return nil
|
|
|
}
|
|
|
- return QrViewController(dcContext: dcContext, qrCodeHint: qrCodeHint)
|
|
|
+ return QrViewController(dcContext: dcContext, qrCodeHint: getQrCodeHint())
|
|
|
}
|
|
|
|
|
|
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
|