[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-mac
Subject: Re: [KDE/Mac] Review Request 128097: optional mode to draw checked menu items with only a check mark
From: Yichao Yu <yyc1992 () gmail ! com>
Date: 2016-06-06 18:05:45
Message-ID: 20160606180545.3239.2317 () mimi ! kde ! org
[Download RAW message or body]
--===============0750116338415511743==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128097/#review96230
-----------------------------------------------------------
Ship it!
LGTM. Thank.
- Yichao Yu
On 六月 5, 2016, 12:50 p.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128097/
> -----------------------------------------------------------
>
> (Updated 六月 5, 2016, 12:50 p.m.)
>
>
> Review request for KDE Software on Mac OS X and Yichao Yu.
>
>
> 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
> -----
>
> 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_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
> ----------------
>
> 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
>
>
--===============0750116338415511743==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: \
1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;"> <tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/128097/">https://git.reviewboard.kde.org/r/128097/</a>
</td>
</tr>
</table>
<br />
<p>
Ship it!
</p>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">LGTM. Thank.</p></pre> <br \
/>
<p>- Yichao Yu</p>
<br />
<p>On 六月 5th, 2016, 12:50 p.m. EDT, René J.V. Bertin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" \
style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: \
6px; -webkit-border-radius: 6px;"> <tr>
<td>
<div>Review request for KDE Software on Mac OS X and Yichao Yu.</div>
<div>By René J.V. Bertin.</div>
<p style="color: grey;"><i>Updated 六月 5, 2016, 12:50 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
qtcurve
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description \
</h1> <table width="100%" bgcolor="#ffffff" cellspacing="0" \
cellpadding="10" style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">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).</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">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 <code \
style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: \
normal;margin: 0;line-height: inherit;">Check Mark</code> glyph (? cf. \
http://www.fileformat.info/info/unicode/char/2713/index.htm) rendered in \
the menu font (or <code style="text-rendering: inherit;color: \
#4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">Apple Symbols</code>, on OS X).</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">A new member is introduced in the <code style="text-rendering: \
inherit;color: #4444cc;padding: 0;white-space: normal;margin: \
0;line-height: inherit;">Options</code> 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.</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">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).</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">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).</p></pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing \
</h1> <table width="100%" bgcolor="#ffffff" cellspacing="0" \
cellpadding="10" style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">On OS X 10.9 and Linux with \
Qt 4.8.7 and Qt 5.6.0 .</p></pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> \
</h1> <ul style="margin-left: 3em; padding-left: 0;">
<li>gtk2/common/common.h <span style="color: grey">(cb0ec87)</span></li>
<li>gtk2/common/config_file.cpp <span style="color: \
grey">(96936e2)</span></li>
<li>qt4/common/common.h <span style="color: grey">(313db33)</span></li>
<li>qt4/common/config_file.cpp <span style="color: \
grey">(c58ad1a)</span></li>
<li>qt4/config/qtcurveconfig.cpp <span style="color: \
grey">(aef4c26)</span></li>
<li>qt4/config/qtcurveconfigbase.ui <span style="color: \
grey">(5247266)</span></li>
<li>qt4/config/stylepreview.ui <span style="color: \
grey">(29b1ef8)</span></li>
<li>qt4/style/qtcurve.cpp <span style="color: grey">(951ec1a)</span></li>
<li>qt5/common/common.h <span style="color: grey">(bb103fd)</span></li>
<li>qt5/common/config_file.cpp <span style="color: \
grey">(362381a)</span></li>
<li>qt5/config/qtcurveconfig.cpp <span style="color: \
grey">(304e3bf)</span></li>
<li>qt5/config/qtcurveconfigbase.ui <span style="color: \
grey">(81d693b)</span></li>
<li>qt5/config/stylepreview.ui <span style="color: \
grey">(ec36ee3)</span></li>
<li>qt5/style/qtcurve_api.cpp <span style="color: \
grey">(b8535da)</span></li>
<li>qt5/style/qtcurve_primitive.cpp <span style="color: \
grey">(a8a2bed)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/128097/diff/" \
style="margin-left: 3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File \
Attachments </h1>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/ef4fe141-c028-4cc0-b5dd-3edae7dd600b__KPT-qtcurveFontTicks-X11.png">QtCurve, \
check marks only on X11</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/a31bdbc8-ca8e-4af7-a48a-d6d5386b3a7e__KPT-qtcurveStandard-X11.png">QtCurve \
with the "standard" checkable menu items, X11</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/7cd3ceb0-7049-44b0-80ff-adbf21e82133__noKPT-qtcurveFontTicks.png">QtCurve \
checkmark-only popup menu on OS X (without KDE platform theme \
plugin)</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/0 \
5/3ceb9b1d-c484-4296-ba47-778263f50439__noKPT-qtcurveStandard-macintosh.png">QtCurve \
standard popup menus on OS X, no platform theme plugin</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/05/c9fa1fe6-f9f6-4f02-a9a7-70b8199753a6__configUI-preview.png">menu \
preview in the config editor (Qt5)</a></li>
</ul>
</td>
</tr>
</table>
</div>
</body>
</html>
--===============0750116338415511743==--
[Attachment #3 (text/plain)]
_______________________________________________
kde-mac@kde.org
List Information: https://mail.kde.org/mailman/listinfo/kde-mac
KDE/Mac Information: http://community.kde.org/Mac
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic