[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
Wed Jun 8 11:41:08 UTC 2016


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

(Updated June 8, 2016, 1:41 p.m.)


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


Changes
-------

Somehow I missed the "Ship it" notification, gmail has made a habit of delivering RR notifications to my spam folder :-/

I've spent a few days polishing the Qt5 implementation of this. If we're going to use a check mark font glyph to get the tick to scale with the menu font we could just as well ensure that it gives satisfactory results over a reasonable range of font sizes. The current revision works for sizes from 8pt to 32pt (which is really not-very-reasonably large).
I'm tempted to think that the Qt4 implementation works well enough (tested up to 18pt) so I think I'll backport support for the larger font size range later (or on-demand).


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/config/qtcurveconfig.cpp aef4c26 
  qt4/config/qtcurveconfigbase.ui 5247266 
  qt4/config/stylepreview.ui 29b1ef8 
  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.h 6836b9d 
  qt5/style/qtcurve.cpp b2a7738 
  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
Screen Shot 2016-06-08 at 13.29.23.png
  https://git.reviewboard.kde.org/media/uploaded/files/2016/06/08/64f58fa4-7b63-41e9-b1ef-3d08deb0e77d__Screen_Shot_2016-06-08_at_13.29.23.png


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160608/3a5325df/attachment.html>


More information about the kde-mac mailing list