summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets/qmenu_mac.mm
Commit message (Collapse)AuthorAgeFilesLines
* Compile on MacOlivier Goffart2009-11-061-1/+1
| | | | Reviewed-by: Thierry
* Mac: fix bug when reparenting non-native menu barsRichard Moe Gustavsen2009-10-201-2/+18
| | | | | | | | | | If we reparent a naive menu bar inside a widget that has a menu bar from before, the old menu bar is lost. This patch makes sure that we don't set the new menu bar in this case, but let it remain as-is in case the widget is reparanted out again later. Rev-By: MortenS
* Merge commit 'origin/4.5' into origin/4.6Olivier Goffart2009-10-151-2/+2
|\ | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qcocoaview_mac.mm src/network/access/qhttpnetworkconnection.cpp src/opengl/qgl_qws.cpp src/opengl/qglpixelbuffer_egl.cpp
| * Some sub menus are disabled in CocoaPrasanth Ullattil2009-10-151-2/+2
| | | | | | | | | | | | | | | | The commit faec535829a0e454a6784b0c5c37cb63e7da8f73 introduced this bug. Since we can add a submenu to the same supermenu, we should consider it before disabling the submenu who already have a supermenu. Reviewed-by: MortenS
* | Merge branch '4.5' of scm.dev.nokia.troll.no:qt/qt into 4.6Simon Hausmann2009-09-181-2/+13
|\ \ | |/
| * Application crashes when a menu is inserted twice on a menubar (Cocoa).Prasanth Ullattil2009-09-181-2/+13
| | | | | | | | | | | | | | | | | | Cocoa does not allow NSMenu to have multiple supermenu's. If a menu is added again as submenu, Qt will now disable the menu item or the menu will not be added at all if it is added again to the menubar. Task-number: 258822 Reviewed-by: MortenS
| * Update license headers again.Jason McDonald2009-09-081-4/+4
| | | | | | | | Reviewed-by: Trust Me
* | Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | | | | | Reviewed-by: Trust Me
* | Merge branch '4.5' into 4.6Thiago Macieira2009-08-311-13/+13
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h doc/src/desktop-integration.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/topics.qdoc src/corelib/tools/qdumper.cpp src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qwindowsurface_d3d.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/opengl/util/fragmentprograms_p.h src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/script/parser/qscript.g src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclassdata_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h tests/auto/linguist/lupdate/testdata/recursivescan/project.ui tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tools/linguist/shared/cpp.cpp
| * Update tech preview license header.Jason McDonald2009-08-311-13/+13
| | | | | | | | Reviewed-by: Trust Me
* | Cocoa, the menus can be disabled after a modal dialogRichard Moe Gustavsen2009-08-261-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Why this happends is a bit blurry. From before, I know that cocoa is a bit buggy regarding setting a menu item hidden or not. The solution back then resulted in the function syncNSMenuItemEnabled in qmenu_mac.mm. This patch basically applies the same (silly) trick; disabling the menuitem before enabling it. This seems to force an update to the menu items enabled state. For the record: this is not a fix that I embrace. I hope we can remove it again some day. See task for how to reproduce. Task: 259600 Rev-By: alexis
* | Mac: respect Qt::AA_MacPluginApplication and disable native menubarRichard Moe Gustavsen2009-08-251-8/+7
| | | | | | | | | | Adding a second patch to this problem. This patch hooks into an earlier stage in the 'use native' detection
* | Mac: When using Qt as a plugin app, menubars does not workRichard Moe Gustavsen2009-08-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | It seems like we don't respect the Qt::AA_MacPluginApplication attribute. Setting this attribute means that the native application should control the menu bar. This patch does a check for this, and leaves the menubar alone if its set. We could consider allowing menubars if the Qt::AA_DontUseNativeMenuBar is set (those should placed inside the window) Reviewed-by: msorvig
* | Merge branch '4.5' into 4.6Thiago Macieira2009-08-241-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt configure demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h dist/README dist/changes-3.0.0 dist/changes-3.0.0-beta1 dist/changes-4.3.0 doc/src/desktop-integration.qdoc doc/src/development/designer-manual.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/index.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/porting/porting4.qdoc doc/src/porting4-obsoletedmechanism.qdocinc doc/src/qt-webpages.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/snippets/code/src_corelib_tools_qregexp.cpp doc/src/snippets/code/src_qt3support_network_q3ftp.cpp doc/src/snippets/qstring/main.cpp doc/src/snippets/textdocument-blocks/xmlwriter.cpp doc/src/snippets/textdocument-frames/xmlwriter.cpp doc/src/snippets/textdocument-tables/xmlwriter.cpp doc/src/tech-preview/known-issues.html doc/src/topics.qdoc doc/src/xml-processing/xml-processing.qdoc examples/xml/saxbookmarks/jennifer.xbel src/3rdparty/phonon/ds9/mediaobject.cpp src/3rdparty/phonon/ds9/mediaobject.h src/corelib/io/qurl.cpp src/corelib/tools/qdumper.cpp src/corelib/xml/qxmlstream.h src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/image/qpixmapcache.cpp src/gui/kernel/qmotifdnd_x11.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qpaintengine_raster.cpp src/gui/painting/qwindowsurface_d3d.cpp src/gui/styles/qmacstyle_mac.mm src/gui/text/qtextformat.cpp src/gui/text/qtextobject_p.h src/network/access/qhttp.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/plugins/codecs/kr/qeuckrcodec.cpp src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/qt3support/network/q3http.cpp src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h src/sql/drivers/sqlite/qsql_sqlite.cpp src/svg/qsvghandler.cpp src/svg/qsvgstyle.cpp src/xmlpatterns/expr/qcastingplatform_p.h src/xmlpatterns/iterators/qcachingiterator_p.h src/xmlpatterns/parser/qquerytransformparser_p.h tests/auto/q3uridrag/tst_q3uridrag.cpp tests/auto/qcombobox/tst_qcombobox.cpp tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tests/auto/qmainwindow/tst_qmainwindow.cpp tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp tests/auto/qsslsocket/tst_qsslsocket.cpp tests/auto/qurl/tst_qurl.cpp tests/auto/qvariant/tst_qvariant.cpp tests/auto/qwidget/tst_qwidget.cpp tests/auto/uic/baseline/batchtranslation.ui tests/auto/uic/baseline/batchtranslation.ui.h tests/auto/uic/baseline/config.ui tests/auto/uic/baseline/config.ui.h tests/auto/uic/baseline/finddialog.ui tests/auto/uic/baseline/finddialog.ui.h tests/auto/uic/baseline/formwindowsettings.ui tests/auto/uic/baseline/formwindowsettings.ui.h tests/auto/uic/baseline/helpdialog.ui tests/auto/uic/baseline/helpdialog.ui.h tests/auto/uic/baseline/listwidgeteditor.ui tests/auto/uic/baseline/listwidgeteditor.ui.h tests/auto/uic/baseline/mainwindowbase.ui tests/auto/uic/baseline/mainwindowbase.ui.h tests/auto/uic/baseline/newactiondialog.ui tests/auto/uic/baseline/newactiondialog.ui.h tests/auto/uic/baseline/newform.ui tests/auto/uic/baseline/newform.ui.h tests/auto/uic/baseline/orderdialog.ui tests/auto/uic/baseline/orderdialog.ui.h tests/auto/uic/baseline/paletteeditor.ui tests/auto/uic/baseline/paletteeditor.ui.h tests/auto/uic/baseline/paletteeditoradvancedbase.ui tests/auto/uic/baseline/paletteeditoradvancedbase.ui.h tests/auto/uic/baseline/phrasebookbox.ui tests/auto/uic/baseline/phrasebookbox.ui.h tests/auto/uic/baseline/plugindialog.ui tests/auto/uic/baseline/plugindialog.ui.h tests/auto/uic/baseline/previewwidget.ui tests/auto/uic/baseline/previewwidget.ui.h tests/auto/uic/baseline/previewwidgetbase.ui tests/auto/uic/baseline/previewwidgetbase.ui.h tests/auto/uic/baseline/qfiledialog.ui tests/auto/uic/baseline/qfiledialog.ui.h tests/auto/uic/baseline/qtgradientdialog.ui tests/auto/uic/baseline/qtgradientdialog.ui.h tests/auto/uic/baseline/qtgradientviewdialog.ui tests/auto/uic/baseline/qtgradientviewdialog.ui.h tests/auto/uic/baseline/saveformastemplate.ui tests/auto/uic/baseline/saveformastemplate.ui.h tests/auto/uic/baseline/statistics.ui tests/auto/uic/baseline/statistics.ui.h tests/auto/uic/baseline/stringlisteditor.ui tests/auto/uic/baseline/stringlisteditor.ui.h tests/auto/uic/baseline/tabbedbrowser.ui tests/auto/uic/baseline/tabbedbrowser.ui.h tests/auto/uic/baseline/tablewidgeteditor.ui tests/auto/uic/baseline/tablewidgeteditor.ui.h tests/auto/uic/baseline/translatedialog.ui tests/auto/uic/baseline/translatedialog.ui.h tests/auto/uic/baseline/treewidgeteditor.ui tests/auto/uic/baseline/treewidgeteditor.ui.h tests/auto/uic/baseline/trpreviewtool.ui tests/auto/uic/baseline/trpreviewtool.ui.h tests/auto/uic3/baseline/previewwidget.ui tests/auto/uic3/baseline/previewwidget.ui.4 tests/auto/uic3/baseline/previewwidgetbase.ui tests/auto/uic3/baseline/previewwidgetbase.ui.4 tests/auto/uic3/baseline/qactivexselect.ui tests/auto/uic3/baseline/qactivexselect.ui.4 tests/auto/uiloader/baseline/batchtranslation.ui tests/auto/uiloader/baseline/config.ui tests/auto/uiloader/baseline/finddialog.ui tests/auto/uiloader/baseline/formwindowsettings.ui tests/auto/uiloader/baseline/helpdialog.ui tests/auto/uiloader/baseline/listwidgeteditor.ui tests/auto/uiloader/baseline/mainwindowbase.ui tests/auto/uiloader/baseline/newactiondialog.ui tests/auto/uiloader/baseline/newform.ui tests/auto/uiloader/baseline/orderdialog.ui tests/auto/uiloader/baseline/paletteeditor.ui tests/auto/uiloader/baseline/paletteeditoradvancedbase.ui tests/auto/uiloader/baseline/phrasebookbox.ui tests/auto/uiloader/baseline/plugindialog.ui tests/auto/uiloader/baseline/previewwidget.ui tests/auto/uiloader/baseline/previewwidgetbase.ui tests/auto/uiloader/baseline/qfiledialog.ui tests/auto/uiloader/baseline/qtgradientdialog.ui tests/auto/uiloader/baseline/qtgradienteditor.ui tests/auto/uiloader/baseline/qtgradientviewdialog.ui tests/auto/uiloader/baseline/saveformastemplate.ui tests/auto/uiloader/baseline/statistics.ui tests/auto/uiloader/baseline/stringlisteditor.ui tests/auto/uiloader/baseline/tabbedbrowser.ui tests/auto/uiloader/baseline/tablewidgeteditor.ui tests/auto/uiloader/baseline/translatedialog.ui tests/auto/uiloader/baseline/treewidgeteditor.ui tests/auto/uiloader/baseline/trpreviewtool.ui tests/auto/windowsmobile/test/test.pro tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp tools/doxygen/config/header.html tools/doxygen/config/phonon.doxyfile tools/installer/nsis/opensource.ini tools/linguist/phrasebooks/polish.qph tools/linguist/shared/cpp.cpp tools/linguist/shared/ts.dtd tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-inc.qdocconf tools/qdoc3/test/qt.qdocconf tools/qvfb/qtopiakeysym.h tools/qvfb/qvfbx11view.cpp tools/qvfb/qvfbx11view.h tools/qvfb/x11keyfaker.cpp tools/xmlpatterns/main.cpp tools/xmlpatterns/main.h tools/xmlpatterns/qcoloringmessagehandler_p.h tools/xmlpatterns/qcoloroutput.cpp tools/xmlpatterns/qcoloroutput_p.h translations/assistant_de.ts translations/qt_ar.ts translations/qt_da.ts translations/qt_de.ts translations/qt_fr.ts translations/qt_ja_JP.ts translations/qt_ru.ts translations/qt_uk.ts translations/qt_zh_CN.ts util/qlalr/compress.cpp util/qlalr/cppgenerator.cpp util/qlalr/dotgraph.cpp util/qlalr/grammar.cpp util/qlalr/lalr.cpp util/qlalr/main.cpp util/qlalr/parsetable.cpp util/qlalr/recognizer.cpp
| * Fix Menu icons are too large on CocoaDean Dettman2009-08-131-2/+2
| | | | | | | | | | | | | | | | The magic number 22 was based on windows sized icons, a size of 16 should be correct for mac Task-number: 259289 Reviewed-by: NRC
| * Update license headers.Jason McDonald2009-08-111-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Update contact URL in license headers.Jason McDonald2009-08-121-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Get collapsible menus working correctly.Norwegian Rock Cat2009-07-241-50/+31
| | | | | | | | | | | | | | | | | | | | There was an attempt to do this earlier, but it was a bit more complex than it needed to be. We now do the update on show in Cocoa. Carbon actually does it all for us, we just need to flip the bit. We may do the updates to often, but it's better than not enough. Task-Id: 195445 Reviewed-by: Denis
* | "Emacs" style keyboard shortcuts don't work on Carbon.Prasanth Ullattil2009-07-231-2/+2
| | | | | | | | | | | | | | | | | | Set the native key equivalent for menu items only for single key shortcuts. Qt's shortcut mechanism will take care of sending the multiple key shortcut events. Task-number: 258438 Reviewed-by: Norwegian Rock Cat
* | "Emacs" style keyboard shortcuts don't work on Cocoa.Prasanth Ullattil2009-07-231-2/+4
| | | | | | | | | | | | | | | | | | Mac supports only single key shortcuts as key equivalent for menu items. So if a multiple key QKeySequence is set, use Qt's shortcut mechanism instead of the native menu shortcut mechanism. Task-number: 258438 Reviewed-by: Norwegian Rock Cat
* | Compile.Norwegian Rock Cat2009-06-291-1/+1
| | | | | | | | | | I now need to get the index of the action before I can find any corresponding window item.
* | Merge license header changes from 4.5Volker Hilsheimer2009-06-161-2/+2
|\ \ | |/
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | | | | | Reviewed-by: Trust Me
* | Implement QMenu::separatorsCollapsible on Mac/Cocoa.Morten Sørvig2009-06-161-10/+49
| | | | | | | | | | | | | | | | | | | | Hide duplicate separators and separators at the beginning and end of the menu. The main challenge here is that separators and "normal" menu items can be added in any order, for example add all the separators first and then fill in the items. This means that we have to redo the visibility decision for separators above and below when adding normal items. Reviewed-by: Prasanth Ullattil
* | Merge commit 'origin/4.5'Olivier Goffart2009-06-041-15/+37
|\ \ | |/
| * BT: Fix a crash in the SDI example in CocoaNorwegian Rock Cat2009-06-031-15/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was quite a bug and it showed to some issues that I hadn't taken into account when doing the initial port to Cocoa. The issue was that we weren't "merging" items into the application menu if an item had already been associated with it. Which seems OK for applications that create one window with one menubar, but breaks down horrible when you have multiple windows with each having their own menubar. The result is that items in the application menu potentially go to the wrong window (and the potential crash). Since there can only ever be one "Quit", "About", or "Preferences" menu item in Cocoa, we need to make sure that we keep these items in sync whenever we switch the menubar or remove actions that are being deleted. That's what we do here. FWIW, QActions with "ApplicationSpecificRole" for their menu role have potential to cause memory leaks or other bugs if abused. If you are a happy open source hacker who wants a thankless job, solving them would get you lots of goodwill in my book. Task-number: 255038 Reviewed-by: Richard Moe Gustavsen
| * Long live Qt 4.5!Lars Knoll2009-03-231-0/+2038
|
* Change crazy casts from QString to NSSting to qt_mac_QStringToNSString.Norwegian Rock Cat2009-06-031-7/+7
| | | | | These function exist for making code not look so crazy, so let's actually use that in code where it didn't exist before.
* Mac: App menus reactivated when a sheet is used on a modal dialog.Richard Moe Gustavsen2009-05-291-14/+14
| | | | | | | | We need to check all window anchestors of the sheet to make sure that there it is not in effekt application modal Task-number: 254543 Reviewed-by: Trenton Schulz
* Add a AA_MacDontSwapCtrlAndMeta application attribute.Norwegian Rock Cat2009-05-111-60/+48
| | | | | | | | | | | | | | | | | | This is to help undo the some magic that is in the Qt/Mac port. Qt automatically flips the Meta and Control keys on Mac. This is a "feature" that makes porting older programs that don't use standard shortcuts easier as Ctrl and Command usually map to the same shortcuts in the application. The upshot of this is that I need to strip the text() out of key events if they contain the Control or Meta modifier. This causes much headache for anyone writing a terminal emulator. Though they would still have to write special code because the keys are swapped anyway. This allows people to write the terminal emulator where hitting the Control key will really send a Control key modifier. We've also done the extra work to ensure that standard shortcuts work correctly regardless of what the value of the attribute is. That is, if you specify QKeySequence::Cut for a shortcut you can always hit Command+X and things will work.
* Deprecate qt_mac_set_show_menubar for a public cross-platform API.Norwegian Rock Cat2009-05-041-10/+24
| | | | | | | | | | | | | | | I'm tired of these "hidden" functions. We have an AA_MacPluginApplication, but sometimes you may have a legitimate reason for setting this outside of "plugin applications." In the footsteps of the menu icon attribute, the attribute is the main leader, but menubars can disable/enable this locally the new QMenuBar::setNativeMenuBar() property. Otherwise, the menubars take their que from the application attribute. This also works for Windows CE. So, there is a bit on convergence as well. Task-number: 236757
* Long live Qt!Lars Knoll2009-03-231-0/+2038