<table><tr><td style="">davidedmundson added inline comments.
</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/D8641" rel="noreferrer">View Revision</a></tr></table><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/D8641#inline-37862" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">FormLayout.qml:8</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: rgba(151, 234, 151, .6);"><span style="color: #004012">Control</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">id: root</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Why do we inherit from Control?</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/D8641#inline-37863" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">FormLayout.qml:20</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: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">columnSpacing:</span> <span style="color: #004012">Kirigami</span><span class="p">.</span><span style="color: #004012">Units</span><span class="p">.</span><span style="color: #004012">smallSpacing</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #004012">anchors</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">left:</span> <span style="color: #004012">parent</span><span class="p">.</span><span style="color: #004012">left</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">this can be taller than the parent item.</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/D8641#inline-37865" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">FormLayout.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; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">default</span> <span style="color: #004012">property</span> <span style="color: #004012">list</span><span style="color: #aa2211"><</span><span style="color: #004012">Item</span><span style="color: #aa2211">></span> <span style="color: #004012">__items</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">on__ItemsChanged:</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">for</span> <span class="p">(</span><span style="color: #aa4000">var</span> <span style="color: #004012">i</span> <span style="color: #aa2211">=</span> <span style="color: #601200">0</span><span class="p">;</span> <span style="color: #004012">i</span> <span style="color: #aa2211"><</span> <span style="color: #004012">__items</span><span class="p">.</span><span style="color: #004012">length</span><span class="p">;</span> <span style="color: #aa2211">++</span><span style="color: #004012">i</span><span class="p">)</span> <span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">what about when an item gets deleted?</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/D8641#inline-37860" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">FormLayout.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; background: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">if</span> <span class="p">(</span><span style="color: #004012">item</span><span class="p">.</span><span style="color: #004012">parent</span> <span style="color: #aa2211">&&</span> <span style="color: #004012">item</span><span class="p">.</span><span style="color: #004012">parent</span><span class="p">.</span><span style="color: #004012">parent</span> <span style="color: #aa2211">==</span> <span style="color: #004012">lay</span><span class="p">)</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                <span style="color: #aa4000">continue</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">so this is skipping items that are already in here?</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/D8641#inline-37864" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">FormLayout.qml:47-48</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: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">var</span> <span style="color: #004012">buddy</span> <span style="color: #aa2211">=</span> <span style="color: #004012">buddyComponent</span><span class="p">.</span><span style="color: #004012">createObject</span><span class="p">(</span><span style="color: #004012">lay</span><span class="p">,</span> <span class="p">{</span><span style="color: #766510">"formData"</span><span style="color: #aa2211">:</span> <span style="color: #004012">item</span><span class="p">.</span><span style="color: #004012">Kirigami</span><span class="p">.</span><span style="color: #004012">FormData</span><span class="p">})</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span style="color: #004012">buddy</span><span class="p">.</span><span style="color: #004012">parent</span> <span style="color: #aa2211">=</span> <span style="color: #004012">lay</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">merge</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/D8641#inline-37858" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">FormLayout.qml:83</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: rgba(151, 234, 151, .6);">            <span style="color: #004012">property</span> <span style="color: #aa4000">var</span> <span style="color: #004012">formData</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">width:</span> <span style="color: #601200">1</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">text:</span> <span style="color: #004012">formData</span><span class="p">.</span><span style="color: #004012">label</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">If you're doing a hack round something, document what.</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/D8641#inline-37859" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">FormLayout.qml:86</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: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">font.pointSize:</span> <span style="color: #004012">formData</span><span class="p">.</span><span style="color: #004012">isSection</span> <span style="color: #aa2211">?</span> <span style="color: #004012">Kirigami</span><span class="p">.</span><span style="color: #004012">Theme</span><span class="p">.</span><span style="color: #004012">defaultFont</span><span class="p">.</span><span style="color: #004012">pointSize</span> <span style="color: #aa2211">*</span> <span style="color: #601200">1.2</span> <span style="color: #aa2211">:</span> <span style="color: #004012">Kirigami</span><span class="p">.</span><span style="color: #004012">Theme</span><span class="p">.</span><span style="color: #004012">defaultFont</span><span class="p">.</span><span style="color: #004012">pointSize</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">font.weight:</span> <span style="color: #004012">formData</span><span class="p">.</span><span style="color: #004012">isSection</span> <span style="color: #aa2211">?</span> <span style="color: #aa4000">Font.Light :</span> <span style="color: #004012">Font</span><span class="p">.</span><span style="color: #004012">Normal</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">We have an entire KCM with fonts where you can customise everything.</p>

<p style="padding: 0; margin: 8px;">Then we ignore it and hardcode a bunch of them. The end result is we have complexity and don't even use it.</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/D8641#inline-37857" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">formlayoutattached.h:33</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: rgba(151, 234, 151, .6);">    <span class="n">Q_PROPERTY</span><span class="p">(</span><span style="color: #aa4000">bool</span> <span class="n">isSection</span> <span class="n">READ</span> <span class="n">isSection</span> <span class="n">WRITE</span> <span class="n">setIsSection</span> <span class="n">NOTIFY</span> <span class="n">isSectionChanged</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">Q_PROPERTY</span><span class="p">(</span><span class="n">QQuickItem</span> <span style="color: #aa2211">*</span><span class="n">buddyFor</span> <span class="n">READ</span> <span class="n">buddyFor</span> <span class="n">WRITE</span> <span class="n">setBuddyFor</span> <span class="n">NOTIFY</span> <span class="n">buddyForChanged</span><span class="p">)</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Why would this ever not be the parent? I think having that writable is opening a confusing mess you don't want.</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/D8641#inline-37855" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">formlayoutattached.h:40</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: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">void</span> <span style="color: #004012">setLabel</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QString</span> <span style="color: #aa2211">&</span><span class="n">text</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">QString</span> <span style="color: #004012">label</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">That's a really clever idea; it makes it very flexible so a phone layout could have the labels on top ++++</p>

<p style="padding: 0; margin: 8px;">so I'm a bit surprised that the FormLayout.qml is an object, and not a template; I think it's throwing away an opportunity.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R169 Kirigami</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8641" rel="noreferrer">https://phabricator.kde.org/D8641</a></div></div><br /><div><strong>To: </strong>mart, Plasma, Kirigami, hein<br /><strong>Cc: </strong>davidedmundson, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, hein<br /></div>