<table><tr><td style="">sitter created this revision.<br />sitter added a reviewer: Plasma.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />sitter 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/D19187">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>when sidepanel clickedSlot gets called it issues clicked() and that causes<br />
a reset of the infocenter state (among other things disabling the help<br />
button). previously this reset would happen all the time.<br />
if you clicked the same kcm in the sidepanel twice the first click would<br />
reset and then activate the help button, the second click would reset and<br />
then not enable the help button because the kcm is already loaded (see<br />
setKcm).</p>
<p>this broke in <a href="https://phabricator.kde.org/R102:5e27d9476e71d6e51c433e4edde3c403f6242aa8" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">5e27d9476e71d6e51c433e4edde3c403f6242aa8</a> which caused every<br />
click event to get signaled twice for every single entry (thus always<br />
resulting in a double reset) AND the commit also introduced<br />
the reload-guard in setKcm which ultimately resulted in the entirely broken<br />
behavior of resetting the UI twice but only loading kcm-dependent states<br />
once</p>
<p>to resolve this problem the actual selected Item* is now held in the<br />
InfoCenter and when a click is received it will only result in a UI reset<br />
iff the clicked item isn't already the active item. the check in setKcm<br />
is replaced by this.<br />
additionally the sidepanel now only connects to activated() signals as<br />
activation also includes activation-by-click rendering the second<br />
connection a duplicate.</p>
<p>BUG: 392597<br />
FIXED-IN: 5.15.2<br />
CHANGELOG: The "Module Help" button gets enabled when help is available</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">select memory module (has documention)</li>
<li class="remarkup-list-item">module help button enabled</li>
<li class="remarkup-list-item">select about module (has no documentation)</li>
<li class="remarkup-list-item">help disabled</li>
<li class="remarkup-list-item">keyboard navigate to memory module</li>
<li class="remarkup-list-item">help enabled</li>
<li class="remarkup-list-item">click to double-activate the memory module</li>
<li class="remarkup-list-item">help stays enabled</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R102 KInfoCenter</div></div></div><br /><div><strong>BRANCH</strong><div><div>Plasma/5.15</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D19187">https://phabricator.kde.org/D19187</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>infocenter.cpp<br />
infocenter.h<br />
sidepanel.cpp</div></div></div><br /><div><strong>To: </strong>sitter, Plasma<br /><strong>Cc: </strong>plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>