<table><tr><td style="">ngraham requested changes to this revision.<br />ngraham 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/D24932">View Revision</a></tr></table><br /><div><div><p>We're getting there, but this code now causes a crash that must be fixed. Please make sure you are testing your changes for all conditions (i.e. don't just make sure that it works when Filelight is installed, also test the case where it's not installed).</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/D24932#inline-147799">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:782</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">QLabel</span> <span style="color: #aa2211">*</span><span class="n">m_sizeLabel</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span class="n">QPushButton</span> <span style="color: #aa2211">*</span><span class="n">m_sizeDetermineButton</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">When you add a newline, make sure it doesn't have any spaces in 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/D24932#inline-147800">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:786</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">QPushButton</span> <span style="color: #aa2211">*</span><span class="n">m_sizeDetailsButton</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span class="n">KLineEdit</span> <span style="color: #aa2211">*</span><span class="n">m_linkTargetLineEdit</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">ditto</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/D24932#inline-147801">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:1099</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">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeStopButton</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">new</span> <span class="n">QPushButton</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Stop"</span><span class="p">),</span> <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_frame</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        
</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">QStandardPaths</span><span style="color: #aa2211">::</span><span class="n">findExecutable</span><span class="p">(</span><span class="n">QStringLiteral</span><span class="p">(</span><span style="color: #766510">"filelight"</span><span class="p">)).</span><span class="n">isEmpty</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;">ditto</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/D24932#inline-147796">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:1101</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: #aa2211">!</span><span class="n">QStandardPaths</span><span style="color: #aa2211">::</span><span class="n">findExecutable</span><span class="p">(</span><span class="n">QStringLiteral</span><span class="p">(</span><span style="color: #766510">"filelight"</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 class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeDetailsButton</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">new</span> <span class="n">QPushButton</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Explore in Filelight?"</span><span class="p">),</span> <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_frame</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeDetailsButton</span><span style="color: #aa2211">-></span><span class="n">setIcon</span><span class="p">(</span><span class="n">QIcon</span><span style="color: #aa2211">::</span><span class="n">fromTheme</span><span class="p">(</span><span class="n">QStringLiteral</span><span class="p">(</span><span style="color: #766510">"filelight"</span><span class="p">)));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Heh, I think I confused you, my bad. I wasn't trying to imply that the label should actually have a question mark in it. Button labels don't typically end with punctuation like that. Just "Explore in Filelight" is 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/D24932#inline-147802">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:1105</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);">        
</div><div style="padding: 0 8px; margin: 0 4px; ">        <span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeDetermineButton</span><span style="color: #aa2211">-></span><span class="n">setIcon</span><span class="p">(</span><span class="n">QIcon</span><span style="color: #aa2211">::</span><span class="n">fromTheme</span><span class="p">(</span><span class="n">QStringLiteral</span><span class="p">(</span><span style="color: #766510">"view-refresh"</span><span class="p">)));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">ditto</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/D24932#inline-147803">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:1108</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">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeStopButton</span><span style="color: #aa2211">-></span><span class="n">setIcon</span><span class="p">(</span><span class="n">QIcon</span><span style="color: #aa2211">::</span><span class="n">fromTheme</span><span class="p">(</span><span class="n">QStringLiteral</span><span class="p">(</span><span style="color: #766510">"dialog-cancel"</span><span class="p">)));</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        
</div><div style="padding: 0 8px; margin: 0 4px; ">        <span class="n">connect</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeDetermineButton</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">QAbstractButton</span><span style="color: #aa2211">::</span><span class="n">clicked</span><span class="p">,</span> <span style="color: #aa4000">this</span><span class="p">,</span> <span style="color: #aa2211">&</span><span class="n">KFilePropsPlugin</span><span style="color: #aa2211">::</span><span class="n">slotSizeDetermine</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">ditto</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/D24932#inline-147806">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:1114</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">sizelay</span><span style="color: #aa2211">-></span><span class="n">addWidget</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeStopButton</span><span class="p">,</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 class="n">sizelay</span><span style="color: #aa2211">-></span><span class="n">addWidget</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeDetailsButton</span><span class="p">,</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;">This causes a crash when Filelight isn't installed, because in that case, <tt style="background: #ebebeb; font-size: 13px;">d->m_sizeDetailsButton</tt> is a <tt style="background: #ebebeb; font-size: 13px;">nullptr</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/D24932#inline-147804">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:1115</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">sizelay</span><span style="color: #aa2211">-></span><span class="n">addWidget</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">m_sizeDetailsButton</span><span class="p">,</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);">
</div><div style="padding: 0 8px; margin: 0 4px; ">        <span class="n">sizelay</span><span style="color: #aa2211">-></span><span class="n">addStretch</span><span class="p">(</span><span style="color: #601200">10</span><span class="p">);</span> <span style="color: #74777d">// so that the buttons don't grow horizontally</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">ditto</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/D24932#inline-147805">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kpropertiesdialog.cpp:1453</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">const</span> <span class="n">QUrl</span> <span class="n">url</span> <span style="color: #aa2211">=</span> <span class="n">properties</span><span style="color: #aa2211">-></span><span class="n">url</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #74777d">// Open the current folder in filelight</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">ditto</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24932">https://phabricator.kde.org/D24932</a></div></div><br /><div><strong>To: </strong>shubham, ngraham, Frameworks<br /><strong>Cc: </strong>kde-frameworks-devel, Frameworks, LeGast00n, GB_2, michaelh, ngraham, bruns<br /></div>