summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoawindow.mm
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-03-27 16:19:29 +0200
committerKent Hansen <kent.hansen@nokia.com>2012-03-27 19:22:48 +0200
commitd236fe2214340164bec4f34cb27dea4a634ee0de (patch)
treecda4ebbcc91717b37e5a2dbccb9ee46c2a1d3885 /src/plugins/platforms/cocoa/qcocoawindow.mm
parent2b17b0235b70f89d15d3b91a14c3297d38377f94 (diff)
parentcbc883da6910b3357a4e03d0e2dfa841da1a03e8 (diff)
Merge master into api_changes
Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoawindow.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index b5e8ff2246..4f95489798 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -111,8 +111,8 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw)
QCocoaWindow::~QCocoaWindow()
{
- [m_contentView release];
clearNSWindow(m_nsWindow);
+ [m_contentView release];
[m_nsWindow release];
}
@@ -198,13 +198,17 @@ void QCocoaWindow::raise()
{
//qDebug() << "raise" << this;
// ### handle spaces (see Qt 4 raise_sys in qwidget_mac.mm)
- if (m_nsWindow)
+ if (!m_nsWindow)
+ return;
+ if ([m_nsWindow isVisible])
[m_nsWindow orderFront: m_nsWindow];
}
void QCocoaWindow::lower()
{
- if (m_nsWindow)
+ if (!m_nsWindow)
+ return;
+ if ([m_nsWindow isVisible])
[m_nsWindow orderBack: m_nsWindow];
}
@@ -233,6 +237,12 @@ void QCocoaWindow::propagateSizeHints()
}
}
+void QCocoaWindow::setOpacity(qreal level)
+{
+ if (m_nsWindow)
+ [m_nsWindow setAlphaValue:level];
+}
+
bool QCocoaWindow::setKeyboardGrabEnabled(bool grab)
{
if (!m_nsWindow)
@@ -439,7 +449,9 @@ void QCocoaWindow::setNSWindow(NSWindow *window)
void QCocoaWindow::clearNSWindow(NSWindow *window)
{
+ [window setDelegate:nil];
[[NSNotificationCenter defaultCenter] removeObserver:m_contentView];
+ [m_contentView removeFromSuperviewWithoutNeedingDisplay];
}
// Returns the current global screen geometry for the nswindow associated with this window.