> On Jan. 23, 2013, 12:32 p.m., Alessandro Russo wrote:
> > When I added the tags I followed as example the code for memo and payee 
> > fields, so if that line of code was wrong for the memo and payee fields it 
> > will be wrong also for the tag field.
> 
> Allan Anderson wrote:
>     The patch I proposed takes care of the enabling of the OK button issues, 
> including those with TAGs, but I think you'll find that the other points I 
> raised may still exist.
>     
>     I'm just about to push this fix, so we'll soon see.
> 
> Allan Anderson wrote:
>     Erm, there still is a problem with the OK button, to do with the amount 
> and memo fields, which I thought I'd fixed as part of the patch.  I'll need 
> to look again.
>     
>     So far as Tags are concerned, I've assumed that they would function in 
> the same way as the payee field.  Enter a new name, then move focus to 
> another field.  A dialog pops up to ask if a new payee should be created.  
> With a new tag, however, when focus is moved to another field, the new name 
> is cleared and no popup appears.
>     
>     Whilst this may be what was intended, isn't it a bit inconsistent?
>
> 
> Allan Anderson wrote:
>     Sorry, false alarm.  I had to break off, and when I returned, I found 
> there is not still a problem with the OK button, so far as I can see.  I'd 
> looked at the code and all the calls to slotUpdateButtonState() in that area 
> had been removed.  I started to think that it must be getting called from 
> elsewhere, but it wasn't.
>     
>     I then realised that I could no longer produce that problem.  So, what I 
> had done, I don't now know, but possibly had reverted to a pre-patched 
> version.  Apologies again.
>     
>     The Tag issue still is there, and there is a variation.  If I create a 
> new tag, then select that in a new schedule, then click in another field, the 
> selection disappears, both from the line-edit and from the drop-down.  
> Clicking the red 'x' restores it to the drop-down, which gets us back to 
> square one.
>
> 
> Alessandro Russo wrote:
>     The intended behavior of tag field is the following: After you start 
> typing the tag in the tag field a drop down list show up with all the tag 
> names that match the characters typed. When you stop typing and click on 
> another field (or press the Tab key) if a tag with that name exists than it 
> will be added after the tag field with a little red 'X' on the left and the 
> name of the tag; the name of this tag will be removed from the combo box list 
> (you can't insert the same tag two times), if you click on the red 'x' the 
> tag will be removed from the transaction and it will be re-added to the combo 
> box (so that you can re-add it if you change idea). If the name that you 
> wrote in the tag field is different from the names of existing tags a new 
> dialog will appear (like the payee field), there you can choose to create a 
> new tag or to close it. If you create the tag it will be automatically added 
> to the transaction.
> 
> Allan Anderson wrote:
>     Yes, I can see it works that way in Ledger view, but not in Schedules.
>     I have created a new tag called 'New Tag', and in the schedule dialog,
>     I type a 't', and the drop-down appears showing 'New Tag'. I continue to 
> type
>     'ag' and 'New Tag' still shows.  If I now type a 'u', the drop-down 
> disappears.
>     So far, so good. Now, and this is where it differs, I have 'tagu' in the 
> line-edit,
>     and if I now click in the memo field, or any edit field in the 
> transaction tab widget,
>     but not in the schedule name box, 'tagu' disappears.  Clicking in the 
> schedule name box
>     appears to cause the tag to be 'accepted'.  In no way can I get the  
> dialog to appear
>     asking if I want to accept the new tag.
>     
>     I was expecting it to function as for a new payee or category, which it 
> does in the ledger,
>     but not in the new schedule.
>     
>     Allan
> 
> Alessandro Russo wrote:
>     Hum.. so maybe there is a bug .. I haven't used the schedules too much... 
> In the weekend I'll make some tests.
> 
> Marko Käning wrote:
>     BTW, is it a bug or a feature that the editor doesn't allow to edit 
> overdue payments of schedules?
> 
> Alessandro Russo wrote:
>     Ok, i found the problem. Here there is the fix, can you modify your patch 
> or should I open a different review request?
>     diff --git a/kmymoney/dialogs/keditscheduledlg.cpp 
> b/kmymoney/dialogs/keditscheduledlg.cpp
>     index 7ddf3c3..f3146f3 100644
>     --- a/kmymoney/dialogs/keditscheduledlg.cpp
>     +++ b/kmymoney/dialogs/keditscheduledlg.cpp
>     @@ -201,6 +201,7 @@ TransactionEditor* KEditScheduleDlg::startEdit(void)
>          connect(MyMoneyFile::instance(), SIGNAL(dataChanged()), editor, 
> SLOT(slotReloadEditWidgets()));
>          // connect(editor, 
> SIGNAL(finishEdit(KMyMoneyRegister::SelectedTransactions)), this, 
> SLOT(slotLeaveEditMode(KMyMoneyRegister::SelectedTransactions)));
>          connect(editor, SIGNAL(createPayee(QString,QString&)), kmymoney, 
> SLOT(slotPayeeNew(QString,QString&)));
>     +    connect(editor, SIGNAL(createTag(QString,QString&)), kmymoney, 
> SLOT(slotTagNew(QString,QString&)));
>          connect(editor, 
> SIGNAL(createCategory(MyMoneyAccount&,MyMoneyAccount)), kmymoney, 
> SLOT(slotCategoryNew(MyMoneyAccount&,MyMoneyAccount)));
>          connect(editor, 
> SIGNAL(createSecurity(MyMoneyAccount&,MyMoneyAccount)), kmymoney, 
> SLOT(slotInvestmentNew(MyMoneyAccount&,MyMoneyAccount)));
>          connect(MyMoneyFile::instance(), SIGNAL(dataChanged()), editor, 
> SLOT(slotReloadEditWidgets()));
>     diff --git a/kmymoney/dialogs/kenterscheduledlg.cpp 
> b/kmymoney/dialogs/kenterscheduledlg.cpp
>     index 9f4432f..04752f0 100644
>     --- a/kmymoney/dialogs/kenterscheduledlg.cpp
>     +++ b/kmymoney/dialogs/kenterscheduledlg.cpp
>     @@ -218,6 +218,7 @@ TransactionEditor* KEnterScheduleDlg::startEdit(void)
>          connect(MyMoneyFile::instance(), SIGNAL(dataChanged()), editor, 
> SLOT(slotReloadEditWidgets()));
>          // connect(editor, 
> SIGNAL(finishEdit(KMyMoneyRegister::SelectedTransactions)), this, 
> SLOT(slotLeaveEditMode(KMyMoneyRegister::SelectedTransactions)));
>          connect(editor, SIGNAL(createPayee(QString,QString&)), kmymoney, 
> SLOT(slotPayeeNew(QString,QString&)));
>     +    connect(editor, SIGNAL(createTag(QString,QString&)), kmymoney, 
> SLOT(slotTagNew(QString,QString&)));
>          connect(editor, 
> SIGNAL(createCategory(MyMoneyAccount&,MyMoneyAccount)), kmymoney, 
> SLOT(slotCategoryNew(MyMoneyAccount&,MyMoneyAccount)));
>          connect(editor, 
> SIGNAL(createSecurity(MyMoneyAccount&,MyMoneyAccount)), kmymoney, 
> SLOT(slotInvestmentNew(MyMoneyAccount&,MyMoneyAccount)));
>          connect(MyMoneyFile::instance(), SIGNAL(dataChanged()), editor, 
> SLOT(slotReloadEditWidgets()));
>     
>     You simply need to add the following line:
>     connect(editor, SIGNAL(createTag(QString,QString&)), kmymoney, 
> SLOT(slotTagNew(QString,QString&)));
>     after the similar line with createPayee in the files 
> dialogs/keditscheduledlg.cpp and dialogs/kenterscheduledlg.cpp
>     
>     (I fixed the same bug in the Enter Scheduled dialog)
> 
> Allan Anderson wrote:
>     My patches are committed already, but it doesn't make sense really to 
> start a new review,
>     having got this far, so I've added your changes here.
>     
>     If I type in a new tag name and then click in one of the edit fields, the 
> dialog now appears
>     asking whether to add it.  It doesn't appear though if I focus on the 
> schedule name, or widgets
>     not in the transaction area, or click outside the transaction widgets.
>     
>     If I am creating a new schedule, and type in all the fields, the entries 
> remain visible in the
>     line edit boxes.  This isn't the case with a new tag. If I type in a new 
> tag name and accept it,
>     it gets cleared.  I have to click the red cross then select it from the 
> combo. With the name now
>     showing, however, if I click the memo field it goes again.  It also is 
> possible to get more than
>     one red cross visible, together with the added tag name alongside.
>     
>     If I have added a new tag to a schedule, and then decide to delete that 
> tag, and it is the only
>     tag, I get a message saying I can't delete the last tag as there needs to 
> be one to reassign to.
>     I understand that, but if I have a bunch of schedules, how do I find 
> which is the one referencing
>     that tag, to allow me to remove it?  Search transaction shows the tag, 
> but selecting it doesn't
>     enable Find.
>     
>     Apologies if I seem 'picky'.  I didn't set out to undermine your good 
> work, and it is quite a
>     big change.
>
> 
> Alessandro Russo wrote:
>     Hi, no, you don't seem picky, I appreciate your testing.
>     The first problem (clicking on the schedule name and in other places) is 
> present also for the payee and category/account fields. So we should fix them 
> too.
>     The second problem is the intended behavior. You can have multiple tags 
> so the behavior is this: you have to write (or select in the combo) a tag (or 
> write a new tag and click 'yes') when you press tab or change focus your tag 
> is 'added' by removing it from the combo box and creating a new label with 
> the same name and a 'X' on its left just after the combo box. You can add 
> multiple tags in this way. To remove a tag from the transaction/schedule you 
> simply have to click on the red X for that tag. I tested it also when adding 
> a new tag (by accepting the creation clicking 'yes' in the modal dialog) and 
> it works too.
>     
>     The last problem is a TODO present somewhere in the sources, I used the 
> same code for payee that require that every transaction has a payee, for the 
> tags maybe isn't needed. You could simply delete the tag and remove it from 
> all the transaction. Maybe we could show a dialog offering the possibility 
> (not requesting it) to substitute it with another tag, if the user chooses to 
> not do it simply remove the tag from all transactions.
>     
>     About the Search transaction: I couldn't reproduce it. If I select a tag, 
> it enables 'Find' and you can search all the transactions with that tag/tags. 
> However it can not find any scheduled transaction (this not only for tag 
> search but for every search). So the bug is more general.
> 
> Allan Anderson wrote:
>     > About the Search transaction: I couldn't reproduce it. If I select a 
> tag, it enables 'Find' and you can search all the transactions with that 
> tag/tags. 
>     > However it can not find any scheduled transaction (this not only for 
> tag search but for every search). So the bug is more general.
>     
>     I had just created and saved a new schedule having a new tab.  I hadn't 
> got to the stage of creating a transaction with that tab.  As I had completed 
> what I was testing, I decided to delete the tab, but couldn't remember which 
> schedule I'd added it to.  The Schedules list doesn't show tabs, so that's 
> why I tried the transaction search.  Of course, I now realise there weren't 
> any transactions with the tab to find, but couldn't get to that stage as Find 
> was disabled.
>     
>     Whether or not it is a real requirement to show, or find, which schedules 
> use a particular tab, I'll leave to you.
>     
>     One final point.  If I create a new schedule and set up all the fields 
> except tag, then select a tag and immediately click OK, the tag isn't entered.
>     
>     Prior to looking at tags, I had been going over new schedule creation 
> with a fine tooth comb looking at OK button enabling, and that's how I 
> approached tabs, so nothing personal <BG>
> 
> Alessandro Russo wrote:
>     The 'Find' button is not enabled because you have only 1 tag. If you have 
> more than 1 tag you can deselect the other tags and leave selected only the 
> tag you are searching for. There is the possibility to search for all the 
> transaction without tag but not to search the transaction with a tag when 
> this tag is the only one. I think we could change the search dialog as 
> follow: remove the check 'Select transactions without tags' and put at the 
> top of the tags list a row with the name 'None'. So to replicate the old 
> functionality you have to deselect all the tags except for the first one 
> ('None'). To search for a specific tag when you have only 1 you have to 
> deselect 'None' and select the tag.
>     
>     For the last fix we need to check, when the 'Ok' button is clicked, if 
> there is a tag to be added in the tag field and if so add it.
>     
>     I don't know if it's needed to add a 'tag' column in the scheduled 
> transaction list, do you have so many of them?

> I don't know if it's needed to add a 'tag' column in the scheduled 
> transaction list, do you have so many of them?

Nope!  I have none.  My requirements are pretty simple, and I don't, so far, 
have a need for them.  But, I do have quite
a few schedules, so wouldn't fancy plodding through them all.


- Allan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107714/#review26063
-----------------------------------------------------------


On Jan. 12, 2013, 12:07 p.m., Allan Anderson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/107714/
> -----------------------------------------------------------
> 
> (Updated Jan. 12, 2013, 12:07 p.m.)
> 
> 
> Review request for KMymoney.
> 
> 
> Description
> -------
> 
> The problem as originally reported was that in Schedules view, the OK button 
> became enabled even though no schedule name had been entered.
> 
> It was found that the button became enabled as soon as a payee was entered.  
> It was also found that this happened when an amount was entered.
> 
> For "payee", line 753 of transactioneditor.cpp has - 
> "connect(payee,SIGNAL(textChanged(QString)),this,SLOT(slotUpdateButtonState()))",
>  and slotUpdateButtonState() has - 
> "emit transactionDataSufficient(isComplete(reason)", 
> and 'This signal is sent out whenever enough data is present to enter the 
> transaction into the ledger.'
> 
> Similarly, for "amount", at line 826, the same line appears.
> 
> As neither of these fields is a mandatory one, I believe they should not 
> affect the OK button status.  So, as shown in the patch, I have temporarily 
> disabled these lines.  I have done numerous tests of schedule creation and 
> editing, and manual entry and editing of transactions without any problem.
> 
> The same area of code in transactioneditor.cpp has several more of these 
> possibly unneeded lines, although not affecting schedules.  For instance, 
> even with these two lines out and with no mandatory fields completed, if a 
> payee is selected and the memo, tag field, next due date or status is edited, 
> the OK button again is enabled wrongly.
> 
> I don't really see any valid reason for 'slotUpdateButtonState()' to be in 
> this section.  What do the wise men think?
> 
> 
> This addresses bug 311481.
>     http://bugs.kde.org/show_bug.cgi?id=311481
> 
> 
> Diffs
> -----
> 
>   kmymoney/dialogs/transactioneditor.cpp 8f6f06b 
> 
> Diff: http://git.reviewboard.kde.org/r/107714/diff/
> 
> 
> Testing
> -------
> 
> Numerous tests of schedule creation and editing, and manual entry and editing 
> of transactions without any problem.
> 
> 
> Thanks,
> 
> Allan Anderson
> 
>

_______________________________________________
KMyMoney-devel mailing list
KMyMoney-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmymoney-devel

Reply via email to