diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-06-27 13:06:38 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-06-27 13:06:38 +0200 |
commit | 572200989b224ad68e7b8ae4c0aecceb6ca871a2 (patch) | |
tree | 5591e8e6c17df64674aa79227ad6b70374c169ff /src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm | |
parent | 7ed024226faa9c53c6bad96fb6c9f38a22d25751 (diff) | |
parent | 241eca33ed45f112feed18c6256c31e606f47796 (diff) | |
download | qtbase-572200989b224ad68e7b8ae4c0aecceb6ca871a2.tar.gz |
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
configure
mkspecs/features/create_cmake.prf
Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm index 4002d61318..75a33cbda3 100644 --- a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm @@ -100,6 +100,11 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QNSColorPanelDelegate); mDialogIsExecuting = false; mResultSet = false; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 + if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7) + [mColorPanel setRestorable:NO]; +#endif + if (mHelper->options()->testOption(QColorDialogOptions::NoButtons)) { mStolenContentView = 0; mOkButton = 0; @@ -276,6 +281,7 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QNSColorPanelDelegate); - (void)showModelessPanel { mDialogIsExecuting = false; + mResultSet = false; [mColorPanel makeKeyAndOrderFront:mColorPanel]; } @@ -369,10 +375,8 @@ void QCocoaColorDialogHelper::exec() bool QCocoaColorDialogHelper::show(Qt::WindowFlags, Qt::WindowModality windowModality, QWindow *parent) { - if (windowModality == Qt::WindowModal) { - // Cocoa's shared color panel cannot be shown as a sheet - return false; - } + if (windowModality == Qt::WindowModal) + windowModality = Qt::ApplicationModal; return showCocoaColorPanel(windowModality, parent); } @@ -435,9 +439,9 @@ bool QCocoaColorDialogHelper::showCocoaColorPanel(Qt::WindowModality windowModal createNSColorPanelDelegate(); QNSColorPanelDelegate *delegate = static_cast<QNSColorPanelDelegate *>(mDelegate); [delegate->mColorPanel setShowsAlpha:options()->testOption(QColorDialogOptions::ShowAlphaChannel)]; - if (windowModality == Qt::NonModal) + if (windowModality != Qt::WindowModal) [delegate showModelessPanel]; - // no need to show a Qt::ApplicationModal dialog here, since it will be done in _q_platformRunNativeAppModalPanel() + // no need to show a Qt::WindowModal dialog here, because it's necessary to call exec() in that case return true; } |