[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