<table><tr><td style="">broulik 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/D27509">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/D27509#inline-156735">View Inline</a><span style="color: #4b4d51; font-weight: bold;">extended_process_list.cpp:62</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 class="n">m_changeFlag</span> <span style="color: #aa2211">!=</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: rgba(151, 234, 151, .6);">            <span class="n">connect</span><span class="p">(</span><span class="n">parent</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">ExtendedProcesses</span><span style="color: #aa2211">::</span><span class="n">processChanged</span><span class="p">,</span> <span style="color: #aa4000">this</span><span class="p">,</span> <span class="p">[</span><span style="color: #aa2211">=</span><span class="p">](</span><span class="n">KSysGuard</span><span style="color: #aa2211">::</span><span class="n">Process</span> <span style="color: #aa2211">*</span><span class="n">process</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">if</span> <span class="p">(</span><span style="color: #aa2211">!</span><span class="n">process</span><span style="color: #aa2211">-></span><span class="n">changes</span><span class="p">().</span><span class="n">testFlag</span><span class="p">(</span><span class="n">m_changeFlag</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;">Capture only <tt style="background: #ebebeb; font-size: 13px;">[this]</tt></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/D27509#inline-156717">View Inline</a><span style="color: #4b4d51; font-weight: bold;">extended_process_list.cpp:93</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">auto</span> <span class="n">pidSensor</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">new</span> <span class="n">ProcessSensor</span><span style="color: #aa2211"><</span><span class="n">qlonglong</span><span style="color: #aa2211">></span><span class="p">(</span><span style="color: #aa4000">this</span><span class="p">,</span> <span class="n">QStringLiteral</span><span class="p">(</span><span style="color: #766510">"pid"</span><span class="p">),</span> <span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"PID"</span><span class="p">),</span> <span style="color: #aa2211">&</span><span class="n">KSysGuard</span><span style="color: #aa2211">::</span><span class="n">Process</span><span style="color: #aa2211">::</span><span class="n">pid</span><span class="p">,</span> <span class="n">KSysGuard</span><span style="color: #aa2211">::</span><span class="n">Process</span><span style="color: #aa2211">::</span><span class="n">Status</span><span class="p">,</span> <span class="n">ForwardFirstEntry</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">pidSensor</span><span style="color: #aa2211">-></span><span class="n">setDescription</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"The unique Process ID that identifies this process."</span><span class="p">));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Isn't the <tt style="background: #ebebeb; font-size: 13px;">typename</tt> auto-deduced/implied? Doesn't hurt though.</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/D27509#inline-156715">View Inline</a><span style="color: #4b4d51; font-weight: bold;">extended_process_list.cpp:109</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">this</span><span class="p">,</span> <span class="n">QStringLiteral</span><span class="p">(</span><span style="color: #766510">"username"</span><span class="p">),</span> <span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Username"</span><span class="p">),</span> <span class="p">[](</span><span class="n">KSysGuard</span><span style="color: #aa2211">::</span><span class="n">Process</span> <span style="color: #aa2211">*</span><span class="n">p</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 class="n">KUser</span> <span class="n">user</span><span class="p">(</span><span class="n">p</span><span style="color: #aa2211">-></span><span class="n">uid</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 class="n">username</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Does this need caching?</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/D27509#inline-156714">View Inline</a><span style="color: #4b4d51; font-weight: bold;">extended_process_list.cpp:122</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">K_UID</span> <span class="n">uid</span> <span style="color: #aa2211">=</span> <span class="n">p</span><span style="color: #aa2211">-></span><span class="n">uid</span><span class="p">();</span>
</div><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 class="n">uid</span> <span style="color: #aa2211">==</span> <span style="color: #601200">65534</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">return</span> <span style="color: #304a96">false</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Add a comment that this magic number is <tt style="background: #ebebeb; font-size: 13px;">nobody</tt></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/D27509#inline-156716">View Inline</a><span style="color: #4b4d51; font-weight: bold;">extended_process_list.cpp:354</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">ioCharactersActuallyReadRateSensor</span><span style="color: #aa2211">-></span><span class="n">setUnit</span><span class="p">(</span><span class="n">KSysGuard</span><span style="color: #aa2211">::</span><span class="n">UnitByteRate</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">ioCharactersActuallyReadRateSensor</span><span style="color: #aa2211">-></span><span class="n">setShortName</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Read"</span><span class="p">));</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">ioCharactersActuallyReadRateSensor</span><span style="color: #aa2211">-></span><span class="n">setDescription</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"The rate of data being read from disk."</span><span class="p">));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Do any of the sensor names need / used to have i18n context?</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/D27509#inline-156718">View Inline</a><span style="color: #4b4d51; font-weight: bold;">extended_process_list.cpp:394</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="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span class="n">QVector</span><span style="color: #aa2211"><</span><span class="n">ProcessAttribute</span> <span style="color: #aa2211">*></span> <span class="n">rc</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #aa4000">for</span> <span class="p">(</span><span style="color: #aa4000">auto</span> <span style="color: #a0a000">p</span> <span class="p">:</span> <span class="n">qAsConst</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_providers</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;">This could have used a <tt style="background: #ebebeb; font-size: 13px;">reserve</tt> call :)</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/D27509#inline-156724">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.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: rgba(151, 234, 151, .6);"><span style="color: #304a96">#include</span> <span class="cpf">"process_data_model.h"</span><span style="color: #304a96"></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #304a96">#include</span> <span class="cpf">"formatter.h"</span><span style="color: #304a96"></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Missing 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/D27509#inline-156726">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.cpp:56</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="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">connect</span><span class="p">(</span><span class="n">m_processes</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">KSysGuard</span><span style="color: #aa2211">::</span><span class="n">Processes</span><span style="color: #aa2211">::</span><span class="n">beginAddProcess</span><span class="p">,</span> <span style="color: #aa4000">this</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">ProcessDataModelPrivate</span><span style="color: #aa2211">::</span><span class="n">beginInsertRow</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">connect</span><span class="p">(</span><span class="n">m_processes</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">KSysGuard</span><span style="color: #aa2211">::</span><span class="n">Processes</span><span style="color: #aa2211">::</span><span class="n">endAddProcess</span><span class="p">,</span> <span style="color: #aa4000">this</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">ProcessDataModelPrivate</span><span style="color: #aa2211">::</span><span class="n">endInsertRow</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Does <tt style="background: #ebebeb; font-size: 13px;">ProcessDataModelPrivate</tt> really need to be a <tt style="background: #ebebeb; font-size: 13px;">QObject</tt>? Can't you connect it to <tt style="background: #ebebeb; font-size: 13px;">q</tt> with a lambda?</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/D27509#inline-156725">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.cpp:63</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">for</span> <span class="p">(</span><span style="color: #aa4000">auto</span> <span style="color: #a0a000">attr</span> <span class="p">:</span> <span class="n">attributes</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 class="n">m_availableAttributes</span><span class="p">[</span><span class="n">attr</span><span style="color: #aa2211">-></span><span class="n">id</span><span class="p">()]</span> <span style="color: #aa2211">=</span> <span class="n">attr</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="p">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Add <tt style="background: #ebebeb; font-size: 13px;">reserve()</tt></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/D27509#inline-156727">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.cpp:145</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 class="n">ProcessDataModel</span><span style="color: #aa2211">::</span><span class="n">setEnabledAttributes</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QStringList</span> <span style="color: #aa2211">&</span><span class="n">enabledAttributes</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">beginResetModel</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><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);">if (d->enabledAttributes == enabledAttributes) {
     return;
}</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/D27509#inline-156729">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.cpp:183</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="p">{</span>
</div><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 class="n">row</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: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">return</span> <span class="n">QModelIndex</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Coding style</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/D27509#inline-156731">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.cpp:190</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">return</span> <span class="n">QModelIndex</span><span class="p">();</span>
</div><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 class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_processes</span><span style="color: #aa2211">-></span><span class="n">processCount</span><span class="p">()</span> <span style="color: #aa2211"><=</span> <span class="n">row</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">return</span> <span class="n">QModelIndex</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Remove equals, or better turn it around to match everone else around it:</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);">if (row >= d->m_processes->processCount()) {
    return QModelIndex();
}</pre></div></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/D27509#inline-156732">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.cpp:254</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">QMetaEnum</span> <span class="n">e</span> <span style="color: #aa2211">=</span> <span class="n">metaObject</span><span class="p">()</span><span style="color: #aa2211">-></span><span class="n">enumerator</span><span class="p">(</span><span class="n">metaObject</span><span class="p">()</span><span style="color: #aa2211">-></span><span class="n">indexOfEnumerator</span><span class="p">(</span><span style="color: #766510">"AdditionalRoles"</span><span class="p">));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">There is:</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);">QMetaEnum::fromType<AdditionalRoles>();</pre></div></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/D27509#inline-156734">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.cpp:278</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">case</span> <span style="color: #a0a000">ShortName</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">if</span> <span class="p">(</span><span style="color: #aa2211">!</span><span class="n">attribute</span><span style="color: #aa2211">-></span><span class="n">shortName</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: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">return</span> <span class="n">attribute</span><span style="color: #aa2211">-></span><span class="n">shortName</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Superfluous; or have it return <tt style="background: #ebebeb; font-size: 13px;">name()</tt> instead</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/D27509#inline-156719">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.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 style="color: #74777d">/**</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #74777d"> * This class contains contains a model of all running processes</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #74777d"> * Rows represent processes</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Remove second "contains"</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/D27509#inline-156721">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.h: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 class="n">Q_PROPERTY</span><span class="p">(</span><span class="n">QStringList</span> <span class="n">enabledAttributes</span> <span class="n">READ</span> <span class="n">enabledAttributes</span> <span class="n">WRITE</span> <span class="n">setEnabledAttributes</span> <span class="n">NOTIFY</span> <span class="n">enabledAttributesChanged</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">QObject</span> <span style="color: #aa2211">*</span><span class="n">attributesModel</span> <span class="n">READ</span> <span class="n">attributesModel</span> <span class="n">CONSTANT</span><span class="p">)</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">would it hurt to make this a <tt style="background: #ebebeb; font-size: 13px;">QAbstractItemModel *</tt>?</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/D27509#inline-156720">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.h:53</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">Value</span> <span style="color: #aa2211">=</span> <span class="n">Qt</span><span style="color: #aa2211">::</span><span class="n">UserRole</span><span class="p">,</span> <span style="color: #74777d">/// The raw value of the attribute. This is unformatted and could represent an int, real or string</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span class="n">FormattedValue</span><span class="p">,</span> <span style="color: #74777d">/// A string containing the value in a locale friendly way with appropriate suffix "eg. 5Mb" "20%"</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">should this just be <tt style="background: #ebebeb; font-size: 13px;">Qt::DisplayRole</tt> given you return for both in <tt style="background: #ebebeb; font-size: 13px;">data</tt>?</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/D27509#inline-156722">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.h:66</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">ProcessDataModel</span><span class="p">(</span><span class="n">QObject</span> <span style="color: #aa2211">*</span><span class="n">parent</span> <span style="color: #aa2211">=</span> <span class="n">nullptr</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa2211">~</span><span class="n">ProcessDataModel</span><span class="p">()</span> <span class="n">override</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;"><tt style="background: #ebebeb; font-size: 13px;">explicit</tt></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/D27509#inline-156723">View Inline</a><span style="color: #4b4d51; font-weight: bold;">process_data_model.h:104</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: #a0a000">private</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">QScopedPointer</span><span style="color: #aa2211"><</span><span class="n">ProcessDataModelPrivate</span><span style="color: #aa2211">></span> <span class="n">d</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">friend</span> <span class="n">class</span> <span class="n">ProcessDataModelPrivate</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Why is this not a nested <tt style="background: #ebebeb; font-size: 13px;">Private</tt> class like in the extended processes list?</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R111 KSysguard Library</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27509">https://phabricator.kde.org/D27509</a></div></div><br /><div><strong>To: </strong>davidedmundson, Plasma<br /><strong>Cc: </strong>broulik, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>