<table><tr><td style="">sitter created this revision.<br />sitter added a reviewer: Frameworks.<br />Restricted Application added a project: Frameworks.
</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/D8825" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>keditbookmarks lives in applications, making it very likely that it is<br />
not installed. this does already raise an error window explaining that<br />
the binary is not installed, unfortunately that is fairly poor user<br />
experience. instead do not show the edit action if we have no editor<br />
installed.</p>

<p>this is a bit unfortunate design-wise KBookmarkOwner is meant to control<br />
if the edit action is shown, it does however encourage deriving from it<br />
to control this behavior making it more than likely that devs simply derive<br />
and override enableOption always returning true to enable all features<br />
(while technically unnecessary). to deal with this we make the executable<br />
lookup in the menu implementation, in addition to checking enableOption.<br />
effectively we now have "does the owner want us to show the edit option,<br />
and if so can we even edit?"</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">uninstall keditbookmarks</li>
<li class="remarkup-list-item">konsole has no edit entry</li>
<li class="remarkup-list-item">install again</li>
<li class="remarkup-list-item">konsole has edit entry</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R294 KBookmarks</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8825" rel="noreferrer">https://phabricator.kde.org/D8825</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/kbookmarkmanager.cpp<br />
src/kbookmarkmenu.cpp<br />
src/kbookmarkmenu_p.h</div></div></div><br /><div><strong>To: </strong>sitter, Frameworks<br /></div>