<table><tr><td style="">graesslin requested changes to this revision.<br />graesslin added a comment.<br />This revision now requires changes to proceed.
</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/D3472" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>Overall looks quite good. Please watch the coding style a little bit. That created a few comments.</p>

<p>There are two conceptional things I don't get. One is why you have the tabCount in DecoratedClient, I would assume that is only relevant to the DecorationTabGroup or the Decoration.</p>

<p>The other is all these "Op" things. I don't understand why it would be needed in KDecoration at all and why it's exposed through the DecoratedClient. If you need to know whether a mouse button should start the drag, use the settings.</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/D3472#inline-13688" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decoratedclient.h:205-211</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">//Begin Window Tabbing</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">int</span> <span style="color: #004012">tabCount</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span> <span style="color: #74777d">// tab count</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">void</span> <span style="color: #004012">activateClient</span><span class="p">();</span> <span style="color: #74777d">// activates the tab</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QList</span><span style="color: #aa2211"><</span><span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecoratedClient</span><span style="color: #aa2211">>></span> <span class="n">clients</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span> <span style="color: #74777d">// get list of clients in the client group</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span style="color: #004012">isTabDragOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</span><span class="p">)</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span style="color: #004012">isOperationsOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</span><span class="p">)</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #74777d">//End Window Tabbing</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">you can turn your comments into documentation. The begin window tabbing and end window tabbing could for example be doxygen sections.</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/D3472#inline-13690" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decoratedclient.h:206</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">//Begin Window Tabbing</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">int</span> <span style="color: #004012">tabCount</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span> <span style="color: #74777d">// tab count</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">void</span> <span style="color: #004012">activateClient</span><span class="p">();</span> <span style="color: #74777d">// activates the tab</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">What is tabCount in the context of a DecoratedClient?</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/D3472#inline-13689" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decoratedclient.h:207</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">int</span> <span style="color: #004012">tabCount</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span> <span style="color: #74777d">// tab count</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">void</span> <span style="color: #004012">activateClient</span><span class="p">();</span> <span style="color: #74777d">// activates the tab</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QList</span><span style="color: #aa2211"><</span><span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecoratedClient</span><span style="color: #aa2211">>></span> <span class="n">clients</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span> <span style="color: #74777d">// get list of clients in the client group</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">The method name and the comment do not match. Either it's activating a client or the tab. In general I wouldn't call a method activateFoo if it's in a Foo class. So just activate would be enough.</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/D3472#inline-13692" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decoratedclient.h:209</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 class="n">QList</span><span style="color: #aa2211"><</span><span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecoratedClient</span><span style="color: #aa2211">>></span> <span class="n">clients</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span> <span style="color: #74777d">// get list of clients in the client group</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span style="color: #004012">isTabDragOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</span><span class="p">)</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span style="color: #004012">isOperationsOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</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;">what's an "Op"?</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/D3472#inline-13691" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decoratedclient.h:259</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">//for window tabbing</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">void</span> <span style="color: #004012">updateTabGroup</span><span class="p">();</span> <span style="color: #74777d">//emitted when a client is tabbed/untabbed</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">that doesn't sound like a signal, but more like a method to invoke. Maybe tabGroupChanged?</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/D3472#inline-13693" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decoration_p.h:68</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 class="n">QVector</span><span style="color: #aa2211"><</span><span class="n">DecorationButton</span><span style="color: #aa2211">*></span> <span class="n">buttons</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">DecorationTabGroup</span> <span style="color: #aa2211">*</span><span class="n">tabGroup</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span class="n">QSharedPointer</span><span style="color: #aa2211"><</span><span class="n">DecorationShadow</span><span style="color: #aa2211">></span> <span class="n">shadow</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 see where it's initialized. It's neither set to null nor to a proper value on construction. Please initialize.</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/D3472#inline-13696" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtab.cpp:1</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: #304a96">#include</span> <span class="cpf">"decoratedclient.h"</span><span style="color: #304a96"></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span style="color: #304a96">#include</span> <span class="cpf">"decorationtab.h"</span><span style="color: #304a96"></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">please add copyright header</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/D3472#inline-13698" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtab.cpp:8-11</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: #aa2211">:</span><span class="n">QObject</span><span class="p">(</span><span class="n">parent</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">m_client</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">m_geometry</span><span class="p">(</span><span class="n">QRectF</span><span class="p">())</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">active</span><span class="p">(</span><span class="n">client</span><span style="color: #aa2211">-></span><span class="n">isActive</span><span class="p">())</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">nitpick on coding style: add a space between : and QObject and , and the variables</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/D3472#inline-13701" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtab.cpp: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;"><span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">return</span> <span class="n">active</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span class="p">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Once the DecorationTab got activated this method is returning an incorrect value. It caches the active state of the client, but never updates again.</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/D3472#inline-13694" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtab.h:1</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: #304a96">#ifndef KDECORATION2_DECORATIONTAB_H</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span style="color: #304a96">#define KDECORATION2_DECORATIONTAB_H</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">please add a copyright header</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/D3472#inline-13700" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtab.h:35</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">bool</span> <span style="color: #004012">isActive</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">void</span> <span style="color: #004012">setActive</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">with the name setActive I would assume a bool argument. Given that it's about activation, call it "activate"</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/D3472#inline-13699" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtab.h:46</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 class="n">QRectF</span> <span class="n">m_geometry</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span class="n">active</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span class="p">};</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">naming style: m_active</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/D3472#inline-13705" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:1</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: #304a96">#include</span> <span class="cpf">"decoration.h"</span><span style="color: #304a96"></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span style="color: #304a96">#include</span> <span class="cpf">"decoration_p.h"</span><span style="color: #304a96"></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Please add copyright header</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/D3472#inline-13708" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:14-18</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: #aa2211">:</span><span class="n">decoration</span><span class="p">(</span><span class="n">decoration</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">needTabs</span><span class="p">(</span><span style="color: #304a96">false</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">mouseButtonPressed</span><span class="p">(</span><span style="color: #304a96">false</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">tab</span><span class="p">(</span><span style="color: #304a96">NULL</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">q</span><span class="p">(</span><span class="n">parent</span><span class="p">)</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">coding style: white spaces</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/D3472#inline-13707" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:26-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: #d0ffd0;"><span class="n">DecorationTabGroup</span><span style="color: #aa2211">::</span><span class="n">DecorationTabGroup</span><span class="p">(</span><span class="n">Decoration</span> <span style="color: #aa2211">*</span><span class="n">parent</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa2211">:</span><span class="n">QObject</span><span class="p">(</span><span class="n">parent</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">,</span><span class="n">d</span><span class="p">(</span><span style="color: #aa4000">new</span> <span class="n">Private</span><span class="p">(</span><span class="n">parent</span><span class="p">,</span><span style="color: #aa4000">this</span><span class="p">))</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">coding style: white spaces</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/D3472#inline-13706" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:32-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: #d0ffd0;">    <span class="n">connect</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">DecoratedClient</span><span style="color: #aa2211">::</span><span class="n">updateTabGroup</span><span class="p">,</span> <span style="color: #aa4000">this</span><span class="p">,</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">            <span class="p">[</span><span style="color: #aa4000">this</span><span class="p">](){</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">             <span class="n">setNeedTabs</span><span class="p">(</span><span class="n">tabCount</span><span class="p">()</span><span style="color: #aa2211">!=</span><span style="color: #601200">0</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="p">});</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">coding style: add whitespaces</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/D3472#inline-13710" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:82-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: #d0ffd0;"><span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">auto</span> <span class="n">c</span> <span style="color: #aa2211">=</span> <span class="n">decoration</span><span class="p">()</span><span style="color: #aa2211">-></span><span class="n">client</span><span class="p">().</span><span class="n">data</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">return</span> <span class="n">c</span><span style="color: #aa2211">-></span><span class="n">tabCount</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span class="p">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">why do you go through the DecoratedClient? You have the d->windowTabs you can derive the number from?</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/D3472#inline-13712" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:90</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">if</span><span class="p">(</span><span style="color: #aa2211">!</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">windowTabs</span><span class="p">.</span><span class="n">isEmpty</span><span class="p">())</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span class="n">qDeleteAll</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">windowTabs</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">missing white space</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/D3472#inline-13711" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:95-96</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">if</span> <span class="p">(</span><span style="color: #aa2211">!</span><span class="n">needTabs</span><span class="p">())</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">return</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">please use {}</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/D3472#inline-13716" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:109-110</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">int</span> <span class="n">i</span> <span style="color: #aa2211">=</span> <span style="color: #601200">0</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QSizeF</span> <span class="n">size</span> <span style="color: #aa2211">=</span> <span class="n">geometry</span><span class="p">().</span><span class="n">size</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">int</span> <span class="n">tabWidth</span> <span style="color: #aa2211">=</span> <span class="n">size</span><span class="p">.</span><span class="n">width</span><span class="p">()</span><span style="color: #aa2211">/</span><span class="n">tabCount</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">auto</span> <span class="n">it</span> <span style="color: #aa2211">=</span> <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">windowTabs</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">const</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/D3472#inline-13713" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:111-112</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">int</span> <span class="n">tabWidth</span> <span style="color: #aa2211">=</span> <span class="n">size</span><span class="p">.</span><span class="n">width</span><span class="p">()</span><span style="color: #aa2211">/</span><span class="n">tabCount</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">auto</span> <span class="n">it</span> <span style="color: #aa2211">=</span> <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">windowTabs</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">while</span> <span class="p">(</span><span class="n">it</span> <span style="color: #aa2211">!=</span> <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">windowTabs</span><span class="p">.</span><span class="n">end</span><span class="p">())</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span class="n">QRectF</span> <span class="n">tabGeom</span><span class="p">(</span><span class="n">geometry</span><span class="p">().</span><span class="n">x</span><span class="p">()</span> <span style="color: #aa2211">+</span> <span class="n">i</span><span style="color: #aa2211">*</span><span class="n">tabWidth</span><span class="p">,</span><span style="color: #601200">0</span><span class="p">,</span><span class="n">tabWidth</span><span class="p">,</span><span class="n">size</span><span class="p">.</span><span class="n">height</span><span class="p">());</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">constBegin and constEnd</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/D3472#inline-13714" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:113</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">while</span> <span class="p">(</span><span class="n">it</span> <span style="color: #aa2211">!=</span> <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">windowTabs</span><span class="p">.</span><span class="n">end</span><span class="p">())</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span class="n">QRectF</span> <span class="n">tabGeom</span><span class="p">(</span><span class="n">geometry</span><span class="p">().</span><span class="n">x</span><span class="p">()</span> <span style="color: #aa2211">+</span> <span class="n">i</span><span style="color: #aa2211">*</span><span class="n">tabWidth</span><span class="p">,</span><span style="color: #601200">0</span><span class="p">,</span><span class="n">tabWidth</span><span class="p">,</span><span class="n">size</span><span class="p">.</span><span class="n">height</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span class="p">(</span><span style="color: #aa2211">*</span><span class="n">it</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">setGeometry</span><span class="p">(</span><span class="n">tabGeom</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">whitespaces</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/D3472#inline-13715" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.cpp:113</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">while</span> <span class="p">(</span><span class="n">it</span> <span style="color: #aa2211">!=</span> <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">windowTabs</span><span class="p">.</span><span class="n">end</span><span class="p">())</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span class="n">QRectF</span> <span class="n">tabGeom</span><span class="p">(</span><span class="n">geometry</span><span class="p">().</span><span class="n">x</span><span class="p">()</span> <span style="color: #aa2211">+</span> <span class="n">i</span><span style="color: #aa2211">*</span><span class="n">tabWidth</span><span class="p">,</span><span style="color: #601200">0</span><span class="p">,</span><span class="n">tabWidth</span><span class="p">,</span><span class="n">size</span><span class="p">.</span><span class="n">height</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span class="p">(</span><span style="color: #aa2211">*</span><span class="n">it</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">setGeometry</span><span class="p">(</span><span class="n">tabGeom</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">const</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/D3472#inline-13702" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.h:1</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: #304a96">#ifndef KDECORATION2_DECORATIONTABGROUP_H</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span style="color: #304a96">#define KDECORATION2_DECORATIONTABGROUP_H</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">please add copyright header</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/D3472#inline-13703" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.h:30</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">void</span> <span style="color: #004012">setNeedTabs</span><span class="p">(</span><span style="color: #aa4000">bool</span> <span class="n">set</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">int</span> <span style="color: #004012">tabCount</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">void</span> <span style="color: #004012">createTabs</span><span class="p">(</span><span class="n">std</span><span style="color: #aa2211">::</span><span class="n">function</span><span style="color: #aa2211"><</span><span class="n">DecorationTab</span><span style="color: #aa2211">*</span><span class="p">(</span><span class="n">DecoratedClient</span><span style="color: #aa2211">*</span><span class="p">,</span> <span class="n">QObject</span><span style="color: #aa2211">*</span><span class="p">)</span><span style="color: #aa2211">></span> <span class="n">tabCreator</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">const and rename just to count</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/D3472#inline-13709" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.h: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: #d0ffd0;">    <span style="color: #aa4000">int</span> <span style="color: #004012">tabCount</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">void</span> <span style="color: #004012">createTabs</span><span class="p">(</span><span class="n">std</span><span style="color: #aa2211">::</span><span class="n">function</span><span style="color: #aa2211"><</span><span class="n">DecorationTab</span><span style="color: #aa2211">*</span><span class="p">(</span><span class="n">DecoratedClient</span><span style="color: #aa2211">*</span><span class="p">,</span> <span class="n">QObject</span><span style="color: #aa2211">*</span><span class="p">)</span><span style="color: #aa2211">></span> <span class="n">tabCreator</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span style="color: #004012">isButtonPressed</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;">It doesn't createTabs, it only creates one tab. But also either call it createDecorationTab or just create</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/D3472#inline-13704" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.h:38-43</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: #a0a000">private</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span class="n">isTabDragOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</span><span class="p">)</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">bool</span> <span style="color: #004012">isOperationsOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</span><span class="p">)</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">Decoration</span><span style="color: #aa2211">></span> <span class="n">decoration</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecorationTab</span><span style="color: #aa2211">></span> <span class="n">tabAt</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QPointF</span> <span style="color: #aa2211">&</span><span class="n">pos</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QList</span><span style="color: #aa2211"><</span><span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecoratedClient</span><span style="color: #aa2211">>></span> <span class="n">getClientList</span><span class="p">();</span> 
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">as it's private methods it should go into the Private class</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/D3472#inline-13717" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup.h:42</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 class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">Decoration</span><span style="color: #aa2211">></span> <span class="n">decoration</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecorationTab</span><span style="color: #aa2211">></span> <span class="n">tabAt</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QPointF</span> <span style="color: #aa2211">&</span><span class="n">pos</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">QList</span><span style="color: #aa2211"><</span><span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecoratedClient</span><span style="color: #aa2211">>></span> <span class="n">getClientList</span><span class="p">();</span> 
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">const</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/D3472#inline-13718" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decorationtabgroup_p.h:1</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: #304a96">#ifndef KDECORATION_DECORATIONTABGROUP_P_H</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span style="color: #304a96">#define KDECORATION_DECORATIONTABGROUP_P_H</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">please add copyright header</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/D3472#inline-13719" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">decoratedclientprivate.h:91-95</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 class="n">virtual</span> <span style="color: #aa4000">int</span> <span style="color: #004012">tabCount</span><span class="p">()</span> <span style="color: #aa4000">const</span> <span class="p">{</span> <span style="color: #aa4000">return</span> <span style="color: #601200">0</span><span class="p">;</span> <span class="p">}</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">virtual</span> <span style="color: #aa4000">void</span> <span style="color: #004012">activateClient</span><span class="p">()</span> <span class="p">{</span> <span style="color: #aa4000">return</span><span class="p">;</span> <span class="p">}</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">virtual</span> <span class="n">QList</span><span style="color: #aa2211"><</span><span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecoratedClient</span><span style="color: #aa2211">>></span> <span class="n">clients</span><span class="p">()</span> <span style="color: #aa4000">const</span> <span class="p">{</span> <span style="color: #aa4000">return</span> <span class="n">QList</span><span style="color: #aa2211"><</span><span class="n">QPointer</span><span style="color: #aa2211"><</span><span class="n">DecoratedClient</span><span style="color: #aa2211">>></span><span class="p">();</span> <span class="p">}</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">virtual</span> <span style="color: #aa4000">bool</span> <span class="n">isTabDragOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</span><span class="p">)</span> <span style="color: #aa4000">const</span> <span class="p">{</span><span class="n">Q_UNUSED</span><span class="p">(</span><span class="n">btn</span><span class="p">);</span> <span style="color: #aa4000">return</span> <span style="color: #601200">0</span><span class="p">;};</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">virtual</span> <span style="color: #aa4000">bool</span> <span style="color: #004012">isOperationsOp</span><span class="p">(</span><span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">MouseButtons</span> <span class="n">btn</span><span class="p">)</span> <span style="color: #aa4000">const</span> <span class="p">{</span><span class="n">Q_UNUSED</span><span class="p">(</span><span class="n">btn</span><span class="p">);</span> <span style="color: #aa4000">return</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;">please don't inline virtual methods. That can result in problems.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>rKDECORATION Window Decoration Library</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D3472" rel="noreferrer">https://phabricator.kde.org/D3472</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>chinmoyr, graesslin, KWin, Plasma<br /><strong>Cc: </strong>plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas<br /></div>