Review Request 129008: [OS X] add a setting to use non-native ("in-window") menubars

René J.V. Bertin rjvbertin at gmail.com
Sun Oct 2 16:30:34 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129008/
-----------------------------------------------------------

(Updated Oct. 2, 2016, 12:30 p.m.)


Status
------

This change has been marked as submitted.


Review request for KDE Software on Mac OS X and Yichao Yu.


Changes
-------

Submitted with commit ae2aa694d36630d0d4948a2088256dc06c4134e9 by René J.V. Bertin to branch master.


Repository: qtcurve


Description
-------

OS X/macOS uses the well-known toplevel menubar by default, but menus and menu items in that bar are subject to restrictions. Notably they are reparented, which can lead to issues when they're intended to be used in multiple locations (menus). This is typically the case with menus and actions created via KXMLGui. A workaround can usually be found in that case, but that is not normally a trivial tweak for the average user.

An example: the Tools/Mode and Tools/Hightlighting menus from the KTextEditor framework, which are populated almost exclusively with disabled submenus.

The easiest workaround is not to use the native menubar, and this patch adds a possibility to achieve that via QtCurve. The straightforward command not to use a native menubar doesn't have the expected effect with all applications, so the feature is implemented as a per-application preference.

An attempt is made to handle changes in the setting dynamically, but due to the nature of the controlled widget it is strongly advised to restart the target application.

The settings are read and written on all platforms, but the actual menubar commands are executed only on OS X.


Diffs
-----

  qt4/common/common.h e32e76c 
  qt4/common/config_file.cpp 78e6982 
  qt4/config/qtcurveconfig.cpp e5378b1 
  qt4/config/qtcurveconfigbase.ui 6ef3295 
  qt4/style/qtcurve.cpp b7e6bea 
  qt5/common/common.h 045c13a 
  qt5/common/config_file.cpp 13ba077 
  qt5/config/qtcurveconfig.cpp 91b6471 
  qt5/config/qtcurveconfigbase.ui 35044bc 
  qt5/style/qtcurve.cpp ce15754 
  qt5/style/qtcurve_api.cpp f164ff1 

Diff: https://git.reviewboard.kde.org/r/129008/diff/


Testing
-------

Tested on OS X 10.9.5 and Linux, both with Qt 5.6.1 and FWs 5.24.0 installed into /opt/local


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20161002/7077a83f/attachment.html>


More information about the kde-mac mailing list