<table><tr><td style="">markg added a comment.
</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/D12321">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
color: #6B748C;
font-style: italic;
margin: 4px 0 12px 0;
padding: 8px 12px;
background-color: #F8F9FC;">
<div style="font-style: normal;
padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D12321#252264" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">D12321#252264</a>, <a href="https://phabricator.kde.org/p/rkflx/" style="
border-color: #f1f7ff;
color: #19558d;
background-color: #f1f7ff;
border: 1px solid transparent;
border-radius: 3px;
font-weight: bold;
padding: 0 4px;">@rkflx</a> wrote:</div>
<div style="margin: 0;
padding: 0;
border: 0;
color: rgb(107, 116, 140);"><blockquote style="border-left: 3px solid #8C98B8;
color: #6B748C;
font-style: italic;
margin: 4px 0 12px 0;
padding: 8px 12px;
background-color: #F8F9FC;">
<div style="font-style: normal;
padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D12321#252261" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">D12321#252261</a>, <a href="https://phabricator.kde.org/p/markg/" style="
border-color: #f1f7ff;
color: #19558d;
background-color: #f1f7ff;
border: 1px solid transparent;
border-radius: 3px;
font-weight: bold;
padding: 0 4px;">@markg</a> wrote:</div>
<div style="margin: 0;
padding: 0;
border: 0;
color: rgb(107, 116, 140);"><p>That is unexpected behavior.</p></div>
</blockquote>
<p>I disagree, adapting the interface dynamically is good design.</p></div>
</blockquote>
<p>I agree but not for a button that the user controls.<br />
It should either be a tri-state or a "auto preview" button.</p>
<p>You should never change states that users had set explicitly (at least, that's my opinion).<br />
It will only cause confusion and becomes a nightmare when saving settings as you then already need to maintain if a button was changed by the user or code logic.<br />
In fact, the current patch already adds class-wide bools to check for this thus internally it already needs a tri state.</p>
<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;">
<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>A tri-state would prevent that.<br />
For the record, if it becomes a tri-state i would set it to auto (this implementation, the view knows best) by default.</p></blockquote>
<p>Suppose previews are on. Now the user clicks on the button, wanting to turn previews off. Sadly, nothing will happen, because the user just switched into "automatic" mode. That's not something we should implement!</p>
<p>Besides that, <tt style="background: #ebebeb; font-size: 13px;">tristate</tt> is only a property of <tt style="background: #ebebeb; font-size: 13px;">QCheckBox</tt>, but not of <tt style="background: #ebebeb; font-size: 13px;">QToolButton</tt>. (And see also confusion here: <a href="https://www.reddit.com/r/kde/comments/8c5ael/there_are_several_settings_in_kde_that_have_a/." class="remarkup-link" target="_blank" rel="noreferrer">https://www.reddit.com/r/kde/comments/8c5ael/there_are_several_settings_in_kde_that_have_a/.</a>)</p>
<p>Thus this would need to be a separate config option, making everything even more complicated. I don't get why you want to see those tiny previews? Or is it simply out of principle that you want to control the thumbnails, even if they are not useful?</p></blockquote>
<p>With a two-state button you either give me control or you don't, anything in between is potentially unexpected behavior.<br />
If you want smarter ways then two-states then it should either be represented in a button that can handle it (a tri-state) or a new button altogether with the downside that you get two (at first sight seemingly the same) buttons.</p>
<p>As for the vision, i'm perfectly fine with that :)<br />
Just as long as it doesn't cause unexpected behavior which i think this one as implemented now will cause. That doesn't make the vision wrong, it merely means the technical execution of some parts might need a little tweaking.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D12321">https://phabricator.kde.org/D12321</a></div></div><br /><div><strong>To: </strong>anemeth, VDG, Frameworks, ngraham, rkflx, Dolphin, markg<br /><strong>Cc: </strong>markg, xyquadrat, sharvey, rkflx, ngraham, Frameworks, michaelh, bruns<br /></div>