<table><tr><td style="">rjvbb created 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/D5178" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This patch introduces several improvements to QtCurve's integration with KF5:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Inherit KStyle instead of QCommonStyle when built with KDE support</li>
<li class="remarkup-list-item">recognise at least KF5 systemsettings application and above all KWin5</li>
<li class="remarkup-list-item">use the new method of being informed about changes to the compositing mode</li>
<li class="remarkup-list-item">detect when KWin5 adapted its colour palette to an application's dedicated palette.</li>
</ul>

<p>The last point addresses the issue that KWin's context (window) menus can become unreadable when they KWin5 adapts their palette to match the palette of an application set to use a palette that is different from the user's desktop colour palette (or when KWin5 itself modifies the palette of a specific application via a window or application rule).</p>

<p>In this case, the patch attempts to use a temporary palette for the concerned menus and menu items. Depending on how QtCurve is configured this may not give exactly the same colours as used in the application's own menus, but they ought to give readable menus with appropriate colours.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Tested on Linux/X11 with Qt 5.8.0, KF5 Frameworks 5.32.0, KWin5 5.9.3 as well as the latest KWin4 version.</p>

<p>Care has been taken not to introduce regressions when used on a Plasma4 desktop.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R626 QtCurve</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D5178" rel="noreferrer">https://phabricator.kde.org/D5178</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>qt5/CMakeLists.txt<br />
qt5/config/CMakeLists.txt<br />
qt5/style/CMakeLists.txt<br />
qt5/style/qtcurve.cpp<br />
qt5/style/qtcurve.h<br />
qt5/style/qtcurve_api.cpp<br />
qt5/style/qtcurve_primitive.cpp</div></div></div><br /><div><strong>To: </strong>rjvbb, yuyichao<br /><strong>Cc: </strong>Frameworks, yuyichao<br /></div>