[KDE/Mac] Review Request 128097: optional mode to draw checked menu items with only a check mark

René J.V. Bertin rjvbertin at gmail.com
Sun Jun 5 16:50:30 UTC 2016


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

(Updated June 5, 2016, 6:50 p.m.)


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


Changes
-------

This revision adds the configuration UI, adding the option as a checkbox under the "menuIcons" option.

A menu/menu item preview was missing, so I've added a menubar to `Tab 1` among the other control widget previews. I considered adding it above the tabbed widget, but 1) that could be confusing when detaching the preview window (2 menubars right under each other) and 2) I couldn't figure out how to resize the tabbed widget so it doesn't take up the whole window.


Repository: qtcurve


Description
-------

This introduces an option (hidden for now) to adorn checked menu items with only a check mark rather than the same widget that is used for checkboxes or radio buttons (for sets of mutually exclusive menu items).

Initially I implemented this by simply skipping the widget "box" and drawing only the checkbox tick for both kinds of menu items (cf. https://bugs.kde.org/show_bug.cgi?id=363895). I then realised that this looks weird when the user uses a very tall or tiny font (or has a high DPI screen). Therefore the check is now generated using the UniCode `Check Mark` glyph (? cf. http://www.fileformat.info/info/unicode/char/2713/index.htm) rendered in the menu font (or `Apple Symbols`, on OS X).

A new member is introduced in the `Options` structure that controls this new behaviour. Its value is read from and written to the config file, but I have not yet implemented its UI control through the configuration interface. I'll want some guidance for that step.

I propose to make this the default behaviour on OS X, so that popup menus can be closer in appearance to the native menus from the toplevel menubar (those menus are not rendered through Qt, and use a single check mark too).

The GTk2 style already rendered checked menu items like this so I did not change anything there (and don't really plan to touch that code at all).


Diffs (updated)
-----

  gtk2/common/common.h cb0ec87 
  gtk2/common/config_file.cpp 96936e2 
  qt4/common/common.h 313db33 
  qt4/common/config_file.cpp c58ad1a 
  qt4/style/qtcurve.cpp 951ec1a 
  qt5/common/common.h bb103fd 
  qt5/common/config_file.cpp 362381a 
  qt5/config/qtcurveconfig.cpp 304e3bf 
  qt5/config/qtcurveconfigbase.ui 81d693b 
  qt5/config/stylepreview.ui ec36ee3 
  qt5/style/qtcurve_api.cpp b8535da 
  qt5/style/qtcurve_primitive.cpp a8a2bed 

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


Testing
-------

On OS X 10.9 and Linux with Qt 4.8.7 and Qt 5.6.0 .


File Attachments (updated)
----------------

QtCurve, check marks only on X11
  https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/ef4fe141-c028-4cc0-b5dd-3edae7dd600b__KPT-qtcurveFontTicks-X11.png
QtCurve with the "standard" checkable menu items, X11
  https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/a31bdbc8-ca8e-4af7-a48a-d6d5386b3a7e__KPT-qtcurveStandard-X11.png
QtCurve checkmark-only popup menu on OS X (without KDE platform theme plugin)
  https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/7cd3ceb0-7049-44b0-80ff-adbf21e82133__noKPT-qtcurveFontTicks.png
QtCurve standard popup menus on OS X, no platform theme plugin
  https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/3ceb9b1d-c484-4296-ba47-778263f50439__noKPT-qtcurveStandard-macintosh.png
menu preview in the config editor (Qt5)
  https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/c9fa1fe6-f9f6-4f02-a9a7-70b8199753a6__configUI-preview.png


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160605/605f4ea3/attachment.html>


More information about the kde-mac mailing list