diff options
Diffstat (limited to 'src/plugins/platforms/ios/qiosmessagedialog.mm')
-rw-r--r-- | src/plugins/platforms/ios/qiosmessagedialog.mm | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/src/plugins/platforms/ios/qiosmessagedialog.mm b/src/plugins/platforms/ios/qiosmessagedialog.mm index 1f39a94172..7fbd5d8729 100644 --- a/src/plugins/platforms/ios/qiosmessagedialog.mm +++ b/src/plugins/platforms/ios/qiosmessagedialog.mm @@ -30,7 +30,7 @@ inline QString QIOSMessageDialog::messageTextPlain() { // Concatenate text fragments, and remove HTML tags const QSharedPointer<QMessageDialogOptions> &opt = options(); - const QString &lineShift = QStringLiteral("\n\n"); + constexpr auto lineShift = "\n\n"_L1; const QString &informativeText = opt->informativeText(); const QString &detailedText = opt->detailedText(); @@ -40,7 +40,7 @@ inline QString QIOSMessageDialog::messageTextPlain() if (!detailedText.isEmpty()) text += lineShift + detailedText; - text.replace("<p>"_L1, QStringLiteral("\n"), Qt::CaseInsensitive); + text.replace("<p>"_L1, "\n"_L1, Qt::CaseInsensitive); text.remove(QRegularExpression(QStringLiteral("<[^>]*>"))); return text; @@ -92,7 +92,7 @@ bool QIOSMessageDialog::show(Qt::WindowFlags windowFlags, Qt::WindowModality win || windowModality == Qt::NonModal) // We can only do modal dialogs return false; - if (options()->supressionCheckBoxEnabled()) + if (!options()->checkBoxLabel().isNull()) return false; // Can't support m_alertController = [[UIAlertController @@ -116,26 +116,18 @@ bool QIOSMessageDialog::show(Qt::WindowFlags windowFlags, Qt::WindowModality win [m_alertController addAction:createAction(NoButton)]; } - UIWindow *window = parent ? reinterpret_cast<UIView *>(parent->winId()).window : qt_apple_sharedApplication().keyWindow; - if (!window) { - qCDebug(lcQpaWindow, "Attempting to exec a dialog without any window/widget visible."); - - auto *primaryScreen = static_cast<QIOSScreen*>(QGuiApplication::primaryScreen()->handle()); - Q_ASSERT(primaryScreen); - - window = primaryScreen->uiWindow(); - if (window.hidden) { - // With a window hidden, an attempt to present view controller - // below fails with a warning, that a view "is not a part of - // any view hierarchy". The UIWindow is initially hidden, - // as unhiding it is what hides the splash screen. - window.hidden = NO; - } - } - + UIWindow *window = presentationWindow(parent); if (!window) return false; + if (window.hidden) { + // With a window hidden, an attempt to present view controller + // below fails with a warning, that a view "is not a part of + // any view hierarchy". The UIWindow is initially hidden, + // as unhiding it is what hides the splash screen. + window.hidden = NO; + } + [window.rootViewController presentViewController:m_alertController animated:YES completion:nil]; return true; } |