<table><tr><td style="">davidedmundson 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/D4508" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>I want to do another full review next week when I'm home; but I'd be happy with doing that after we merge it, as it'll only be small things, and nothing which will affect API.</p>

<p>In general it all looks very good, I like that you split out ButtonShadow and all the rest seems neat. Good stuff.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17970" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Button.qml:28</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">implicitWidth:</span> <span style="color: #304a96">Math</span><span class="p">.</span><span style="color: #004012">max</span><span class="p">(</span><span style="color: #004012">background</span> <span style="color: #aa2211">?</span> <span style="color: #aa4000">background.implicitWidth :</span> <span style="color: #601200">0</span><span class="p">,</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">                            <span style="color: #004012">contentItem</span><span class="p">.</span><span style="color: #004012">implicitWidth</span> <span style="color: #aa2211">+</span> <span style="color: #004012">leftPadding</span> <span style="color: #aa2211">+</span> <span style="color: #004012">rightPadding</span><span class="p">)</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I don't get why we check background here and in other places. It would only be null if a user subclassed this and then overwrote the property to undefined, at which point they deserve errors.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17935" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Button.qml:51</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #74777d">//retrocompatibility with old controls</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">implicitWidth:</span> <span style="color: #004012">units</span><span class="p">.</span><span style="color: #004012">gridUnit</span> <span style="color: #aa2211">*</span> <span style="color: #601200">6</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #004012">Private</span><span class="p">.</span><span style="color: #004012">ButtonShadow</span> <span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">we do someting differently for widths and heights which isn't ideal, can we move the units.gridUnit * 1.6 into here as an implicitHeight?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17943" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">CheckIndicator.qml:32</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">opacity:</span> <span style="color: #004012">control</span><span class="p">.</span><span style="color: #004012">enabled</span> <span style="color: #aa2211">?</span> <span style="color: #601200">1</span> <span style="color: #aa2211">:</span> <span style="color: #601200">0.6</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #004012">property</span> <span style="color: #304a96">int</span> <span style="color: #aa4000">checkState:</span> <span style="color: #004012">control</span><span class="p">.</span><span style="color: #004012">checkState</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">why?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17945" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">GroupBox.qml:34</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">padding:</span> <span style="color: #601200">6</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">topPadding:</span> <span style="color: #004012">padding</span> <span style="color: #aa2211">+</span> <span class="p">(</span><span style="color: #004012">label</span> <span style="color: #aa2211">&&</span> <span style="color: #004012">label</span><span class="p">.</span><span style="color: #004012">implicitWidth</span> <span style="color: #aa2211">></span> <span style="color: #601200">0</span> <span style="color: #aa2211">?</span> <span style="color: #004012">label</span><span class="p">.</span><span style="color: #004012">implicitHeight</span> <span style="color: #aa2211">+</span> <span style="color: #aa4000">spacing :</span> <span style="color: #601200">0</span><span class="p">)</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">booo!</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17946" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Label.qml:27</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">height:</span> <span style="color: #304a96">Math</span><span class="p">.</span><span style="color: #004012">round</span><span class="p">(</span><span style="color: #304a96">Math</span><span class="p">.</span><span style="color: #004012">max</span><span class="p">(</span><span style="color: #004012">paintedHeight</span><span class="p">,</span> <span style="color: #004012">units</span><span class="p">.</span><span style="color: #004012">gridUnit</span> <span style="color: #aa2211">*</span> <span style="color: #601200">1.6</span><span class="p">))</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">verticalAlignment:</span> <span style="color: #004012">lineCount</span> <span style="color: #aa2211">></span> <span style="color: #601200">1</span> <span style="color: #aa2211">?</span> <span style="color: #aa4000">Text.AlignTop :</span> <span style="color: #004012">Text</span><span class="p">.</span><span style="color: #004012">AlignVCenter</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Now we have an API break, lets fix this.</p>

<p style="padding: 0; margin: 8px;">As soon as you put this in a layout it won't do anything, so it's quite inconsistent.<br />
If anything it should be an implicitHeight, or just set the lineHeight?</p>

<p style="padding: 0; margin: 8px;">But I'd rather we didn't have it at all, we have to work round it in lots of places.</p>

<p style="padding: 0; margin: 8px;">If we want a padded Label, we can make a new subclass in the import with all the other headings.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17967" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Label.qml:31</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">activeFocusOnTab:</span> <span style="color: #000a65">false</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">renderType:</span> <span style="color: #004012">Text</span><span class="p">.</span><span style="color: #004012">NativeRendering</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Bhushan did a patch for P-F that changed this on the current label if we're on mobile, is that still possible?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17968" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">TextField.qml:60</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">background:</span> <span style="color: #004012">Item</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">        <span style="color: #004012">Private</span><span class="p">.</span><span style="color: #004012">TextFieldFocus</span> <span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">can we kill an item here?</p>

<p style="padding: 0; margin: 8px;">background: FrameSvgItem {</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">TextFiledFocus {
    anchors.fill:parent
 }</pre></div>

<p style="padding: 0; margin: 8px;">}</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4508#inline-17969" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">qmldir:39</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">ToolButton 3.0 ToolButton.qml
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">maybe we don't want:</p>

<p style="padding: 0; margin: 8px;">ToolTip, Popup, Dialog, DialogButtonBox here and only in the style?</p>

<p style="padding: 0; margin: 8px;">Also which is the "correct" ItemDelegate we have one of them in PlasmaExtras</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R242 Plasma Framework (Library)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D4508" rel="noreferrer">https://phabricator.kde.org/D4508</a></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>mart, Plasma<br /><strong>Cc: </strong>davidedmundson, broulik, plasma-devel, Frameworks, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol<br /></div>