<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 />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 26th, 2012, 7:07 p.m., <b>Cristian Oneț</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">These are the runtime issues I've found so far:
1. It's difficult to figure out that you have to press enter to create the new profile for the first time
2. After I've created a profile I failed to create a second one
3. When you go back to the initial page because of an error there is no 'Next' button and the user has to open a file even if one is opened already

That's all for now, I'll look deeper into why I could not save a second profile if you can't reproduce that.</pre>
 </blockquote>




 <p>On January 27th, 2012, midnight, <b>Allan Anderson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">1) I did show that in the tooltip.
2) I've managed to create several, on many occasions without that problem.
3) As explained in the Description, skipping pages in the wizard gave rise to some peculiar or unfortunate side effects, like the Finish button not appearing when the completion page had been skipped to. There was a similar problem in the return to the intro page and I used m_wizard->restart().  This restarts with the original button set-up, where advancing to the next page is via File Select.  I did consider not returning to the initial page, but to the following page, but I think I decided eventually to go back to the start to give the user the opportunity to select a different file, in case that was the cause of his error.  I will have another look, though.

Thanks.</pre>
 </blockquote>





 <p>On January 28th, 2012, 1:20 p.m., <b>Cristian Oneț</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">2. This is caused by the hidden (to the user) functionality of the combobox, let me explain since I didn't figure this out until I was looking at the code:

- It is important to actually select the 'Add new profile' entry from the combobox so that the new profile will actually be added, but then, why is 'Add new profile' selected by default? Once it's selected it's awkward that you have to keep in mind to reselect it again.
- If you select 'Add new profile' but you change your mind and want to select an existing profile you'll get the 'A profile named ' XXX ' already exists.' which I think is wrong
- the most important is that if you have not selected 'Add new profile' but just typed the name of the new profile since 'Add new profile' was already selected then you'll go trough the whole wizard thinking that you actually do something but loose the profile at the end because you did not select 'Add new profile' from the dropdown.
</pre>
 </blockquote>





 <p>On January 29th, 2012, 12:56 p.m., <b>Allan Anderson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Just starting to look at this.

> - If you select 'Add new profile' but you change your mind and want to select an existing profile you'll get the 'A profile named ' XXX ' already
> exists.' which I think is wrong

How will I know that you've changed your mind?  What if you accidentally enter an existing profile , don't get a warning, and then carry on changing on the wrong profile?

> - the most important is that if you have not selected 'Add new profile' but just typed the name of the new profile since 'Add new profile' was already 
> selected then you'll go trough the whole wizard thinking that you actually do something but loose the profile at the end because you did not select 
> 'Add new profile' from the dropdown.

Unless I'm missing something, if you don't select 'Add new profile', but just over-type a new name, then when you hit return, that name is accepted, as long as it doesn't already exist, so you still get a new profile in the combo.
</pre>
 </blockquote>





 <p>On January 29th, 2012, 1:14 p.m., <b>Cristian Oneț</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> Unless I'm missing something, if you don't select 'Add new profile', but just over-type a new name, then when you hit return, that name is accepted, as long as it doesn't already exist, so you still get a new profile in the combo.

You do get the new profile in the combo but in the end nothing will be saved and you loose all your configuration data.</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">That's true.  I didn't set out to enter new profiles that way, so it doesn't do the whole job.

Would you prefer it to be accepted as a valid way of entering a new profile, or to be removed?  If it is included, it probably would avoid the need for
the 'Add new profile' entry, just initially display an empty edit box, or, still show the text, but clear it when text entry starts.
</pre>
<br />








<p>- Allan</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>