<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/103492/">http://git.reviewboard.kde.org/r/103492/</a>
</td>
</tr>
</table>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/103492/diff/2/?file=46695#file46695line47" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/plugins/csvimport/convdate.cpp</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">QDate ConvertDate::convertDate(const QString& txt)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">47</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">if</span> <span class="p">(</span><span class="n">count</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// no separators so use QDate()</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">47</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">if</span><span class="p">(</span><span class="n">count</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// no separators so use QDate()</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">What happened with this file?
All spaces between 'if' and '(' were removed.</pre>
</div>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/103492/diff/2/?file=46696#file46696line128" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/plugins/csvimport/csvdialog.h</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">public:</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">124</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">bool</span> <span class="n">m_decimalSymbolChanged</span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">126</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="c1"><span class="hl">///</span> bool m_decimalSymbolChanged;<span class="hl">/// //???</span></span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Do you really need to keep this? It's just garbage if it's not used.</pre>
</div>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/103492/diff/2/?file=46696#file46696line483" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/plugins/csvimport/csvdialog.h</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">private slots:</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">446</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cm"> *<span class="hl">/</span></span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">473</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cm"> *</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Same as before, why keep commented code?</pre>
</div>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/103492/diff/2/?file=46697#file46697line220" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/plugins/csvimport/csvdialog.cpp</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void CSVDialog::init()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">210</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">MAXCOL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// populate comboboxes with col # values</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">219</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">MAXCOL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// populate comboboxes with col # values</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">White space was removed. Please bring it back.</pre>
</div>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/103492/diff/2/?file=46697#file46697line518" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/plugins/csvimport/csvdialog.cpp</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void CSVDialog::init()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">398</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">new</span> <span class="n">KFileDialog</span><span class="p">(</span><span class="n">KUrl</span><span class="p">(</span><span class="s">"kfiledialog:///kmymoney-csvbank"</span><span class="p"><span class="hl">),</span></span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">500</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">new</span> <span class="n">KFileDialog</span><span class="p">(</span><span class="n">KUrl</span><span class="p">(</span><span class="n"><span class="hl">KUrl</span></span><span class="p"><span class="hl">(</span></span><span class="n"><span class="hl">m_csvPath</span></span><span class="p"><span class="hl">)),</span></span><span class="c1"><span class="hl">// </span>"kfiledialog:///kmymoney-csvbank"</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Why do you need the 'KUrl(KUrl(' construction?</pre>
</div>
<br />
<p>- Cristian</p>
<br />
<p>On January 15th, 2012, 1:09 p.m., Allan Anderson wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for KMymoney.</div>
<div>By Allan Anderson.</div>
<p style="color: grey;"><i>Updated Jan. 15, 2012, 1:09 p.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The intro wizard is changed to have radio buttons to select either Banking or Investment. Also, the selection combobox has an 'Add New Profile' item. Once the user has named the profile, selected the file to be imported, selected the input parameters and completed the import, the new profile is saved.
Later, on selecting the appropriate profile and filename, the csv file is imported without needing to go through the wizard pages.
That's the theory, anyway, but unfortunately, it's not always as straight forward as that. In general, though, banking files should be straight forward, but the 'last line' setting could cause a problem if there are trailer lines that need to be dropped.
With investment files, there appear to be two general formats involving the security. The file could have a column for the ticker symbol, but often this may not be supplied on every line and the user will need to add this before import. Or, if the file includes just one security with no symbol column, the security name needs to be input. Also, it may be necessary to supply the name of a brokerage account. So, with imports of investments, the import process is not so straight-forward.
Then, there is a potential problem if an error is detected during import. The wizard then reverts to 'non-profile' mode, giving the user the chance to correct possible selection problems, like with the end line.
When a profile is used, on completion of the import process, the final wizard page has 'lost' its Back button (that is, it's disabled). This, I'm pretty sure, is because, with several pages being skipped, there is no 'history' available to the wizard.
An outstanding issue is that, should a profile be deleted, or renamed, the resource file will still contain its settings, and will need to be edited at some stage.
PS.
I probably should mention that when the plugin is installed, the default resource file gets installed in ${CONFIG_INSTALL_DIR}), then is saved locally. The reason is that I've left settings in for two investment profiles, to give the user some clues.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Tested with several different file layouts, including live work. astyle run, and unit test.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kmymoney/plugins/csvimport/CMakeLists.txt <span style="color: grey">(9837a08)</span></li>
<li>kmymoney/plugins/csvimport/completionwizardpage.ui <span style="color: grey">(5adf2c2)</span></li>
<li>kmymoney/plugins/csvimport/convdate.cpp <span style="color: grey">(56bd235)</span></li>
<li>kmymoney/plugins/csvimport/csvdialog.h <span style="color: grey">(6885072)</span></li>
<li>kmymoney/plugins/csvimport/csvdialog.cpp <span style="color: grey">(754ee92)</span></li>
<li>kmymoney/plugins/csvimport/csvdialog.ui <span style="color: grey">(282c7a9)</span></li>
<li>kmymoney/plugins/csvimport/csvimporterplugin.h <span style="color: grey">(f525463)</span></li>
<li>kmymoney/plugins/csvimport/csvimporterplugin.cpp <span style="color: grey">(48fa8de)</span></li>
<li>kmymoney/plugins/csvimport/csvimporterrc <span style="color: grey">(3ba3f55)</span></li>
<li>kmymoney/plugins/csvimport/csvutil.cpp <span style="color: grey">(b566b66)</span></li>
<li>kmymoney/plugins/csvimport/introwizardpage.ui <span style="color: grey">(2dee1ce)</span></li>
<li>kmymoney/plugins/csvimport/investmentdlg.cpp <span style="color: grey">(33ee8bd)</span></li>
<li>kmymoney/plugins/csvimport/investmentwizardpage.ui <span style="color: grey">(c37f0d5)</span></li>
<li>kmymoney/plugins/csvimport/investprocessing.h <span style="color: grey">(cf56056)</span></li>
<li>kmymoney/plugins/csvimport/investprocessing.cpp <span style="color: grey">(9c33531)</span></li>
<li>kmymoney/plugins/csvimport/kmm_csvimport.desktop <span style="color: grey">(55491d9)</span></li>
<li>kmymoney/plugins/csvimport/lines-datewizardpage.ui <span style="color: grey">(9a4bbb6)</span></li>
<li>kmymoney/plugins/csvimport/parsedatatest.cpp <span style="color: grey">(fa8bdc0)</span></li>
<li>kmymoney/plugins/csvimport/redefinedlg.h <span style="color: grey">(8b11b28)</span></li>
<li>kmymoney/plugins/csvimport/redefinedlg.cpp <span style="color: grey">(44294ae)</span></li>
<li>kmymoney/plugins/csvimport/redefinedlgdecl.ui <span style="color: grey">(35d8f43)</span></li>
<li>kmymoney/plugins/csvimport/separatorwizardpage.ui <span style="color: grey">(f9d07d3)</span></li>
<li>kmymoney/plugins/csvimport/symboltabledlg.cpp <span style="color: grey">(b38a6c5)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/103492/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>