summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoawindow.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoawindow.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index e726c1e4fd..e3cd791930 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -188,6 +188,8 @@ static bool isMouseEvent(NSEvent *ev)
@end
+const int QCocoaWindow::NoAlertRequest = -1;
+
QCocoaWindow::QCocoaWindow(QWindow *tlw)
: QPlatformWindow(tlw)
, m_nsWindow(0)
@@ -202,6 +204,7 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw)
, m_frameStrutEventsEnabled(false)
, m_isExposed(false)
, m_registerTouchCount(0)
+ , m_alertRequest(NoAlertRequest)
{
#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG
qDebug() << "QCocoaWindow::QCocoaWindow" << this;
@@ -496,6 +499,21 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
}
}
+void QCocoaWindow::setAlertState(bool enabled)
+{
+ if (m_alertRequest == NoAlertRequest && enabled) {
+ m_alertRequest = [NSApp requestUserAttention:NSCriticalRequest];
+ } else if (m_alertRequest != NoAlertRequest && !enabled) {
+ [NSApp cancelUserAttentionRequest:m_alertRequest];
+ m_alertRequest = NoAlertRequest;
+ }
+}
+
+bool QCocoaWindow::isAlertState() const
+{
+ return m_alertRequest != NoAlertRequest;
+}
+
void QCocoaWindow::raise()
{
//qDebug() << "raise" << this;