<table><tr><td style="">ahmadsamir created this revision.<br />ahmadsamir added reviewers: Plasma, davidedmundson.<br />Herald added a project: Plasma.<br />ahmadsamir requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D27785">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>A "Regular" font will have an empty styleName e.g. "DejaVu Sans,12,-1,5,50,0,0,0,0,0"<br />
so that setBold(true) can work; we deliberately clear the styleName for<br />
"Regular"-like font styles when saving via KConfig, see: writeEntryGui()<br />
from kconfiggroupgui.cpp and <a href="https://phabricator.kde.org/D27735" class="remarkup-link" target="_blank" rel="noreferrer">https://phabricator.kde.org/D27735</a> for more<br />
gory details.</p>

<p>Change nearestExistingFont() to return the same font it's been called on<br />
if the search result gives us the same font (same weight, same style), and<br />
interpret the case when the styleName is empty to mean it's using a<br />
"Regular"-like style if the font weight is QFont::Normal and the styleName<br />
is "Regular|Normal|Book|Roman".</p>

<p>Change setNearestExistingFonts() to set the fonts only if nearestExistingFont()<br />
returns a different font.</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Remove ",Regular|Normal|Book|Roman" from *font* entries in kdeglobals</li>
<li class="remarkup-list-item">Open the fonts kcm, notice that the Apply button is enabled even when you haven't changed anything</li>
<li class="remarkup-list-item">Apply the diff then try again, the Apply button should be disabled until you actually change something</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R119 Plasma Desktop</div></div></div><br /><div><strong>BRANCH</strong><div><div>l-fonts-kcm-nearest (branched from master)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27785">https://phabricator.kde.org/D27785</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kcms/fonts/fonts.cpp</div></div></div><br /><div><strong>To: </strong>ahmadsamir, Plasma, davidedmundson<br /><strong>Cc: </strong>plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>