Bug 409371 - Amount fields behaviour strangely
Summary: Amount fields behaviour strangely
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: git (master)
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-01 14:56 UTC by Ian Neal
Modified: 2019-07-02 06:42 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Neal 2019-07-01 14:56:04 UTC
SUMMARY
When entering a transaction and you tab into an amount field, instead of highlighting field, cursor is placed at the end of the number.
If you highlight amount with mouse and then press decimal, instead of deleting amount, cursor is placed at the end of the amount.

I'm fairly sure this is a regression.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.13.5
KDE Frameworks Version: 5.55.0
Qt Version: 5.11.3
Comment 1 Thomas Baumgart 2019-07-01 16:07:17 UTC
I am unable to duplicate the behavior when using the TAB/BACKTAB key to enter the amount field. All of the text is selected (highlighted). Here is the fix which I added to solve the problem: https://cgit.kde.org/kmymoney.git/commit/?id=5008fc800e8806522263a9c9b5cc1cc5d74c7ae5

Nevertheless, I was able to duplicate the behavior with the decimal symbol character. This needs to be fixed.
Comment 2 Thomas Baumgart 2019-07-01 21:45:28 UTC
Git commit bb624bf6e54f7a27abe08e5a88e95d3ad40e960a by Thomas Baumgart.
Committed on 01/07/2019 at 16:20.
Pushed by tbaumgart into branch 'master'.

Improve handling of decimal point character in amount edits

Pressing the decimal point in an amount edit field with all text
selected caused the selection to be removed and the cursor to jump to
the end of the amount.

This change now forces the text to be replaced with a 0 so that pressing
the decimal point with all text selected allows to start entry of a
fractional amount without pressing a leading 0.

M  +6    -0    kmymoney/widgets/amountedit.cpp

https://commits.kde.org/kmymoney/bb624bf6e54f7a27abe08e5a88e95d3ad40e960a
Comment 3 Ian Neal 2019-07-01 22:47:40 UTC
(In reply to Thomas Baumgart from comment #1)
> I am unable to duplicate the behavior when using the TAB/BACKTAB key to
> enter the amount field. All of the text is selected (highlighted). Here is
> the fix which I added to solve the problem:
> https://cgit.kde.org/kmymoney.git/commit/
> ?id=5008fc800e8806522263a9c9b5cc1cc5d74c7ae5
> 
> Nevertheless, I was able to duplicate the behavior with the decimal symbol
> character. This needs to be fixed.

Sorry, I should have said it was in the split transaction screen, when using the standard transaction screen it does work fine.
Perhaps similar changes are also needed in:
kmymoney/dialogs/keditscheduledlg.cpp line 612
kmymoney/dialogs/kenterscheduledlg.cpp line 397
kmymoney/dialogs/kmymoneysplittable.cpp line 1130
Comment 4 Thomas Baumgart 2019-07-02 06:42:59 UTC
Git commit 0ce282a4b21f8490672cf42905167f6952dfd83c by Thomas Baumgart.
Committed on 02/07/2019 at 06:42.
Pushed by tbaumgart into branch 'master'.

Select amount when changing focus using the tab/backtab key

Commit 8841ae39d15b5ddb916a151d7bc20415862fe34d introduced a problem
such that the amount was not selected when the focus was changed to the
amountfield using the tab or backtab key. This used to work before with
the KMyMoneyEdit object.

For the standard transaction editor this was fixed by commit
5008fc800e8806522263a9c9b5cc1cc5d74c7ae5 but there are more locations in
the code where this change is necessary.

This change adds the fix to cover all locations which show the above
problem.

M  +1    -1    kmymoney/dialogs/keditscheduledlg.cpp
M  +1    -1    kmymoney/dialogs/kenterscheduledlg.cpp
M  +1    -1    kmymoney/dialogs/kmymoneysplittable.cpp

https://commits.kde.org/kmymoney/0ce282a4b21f8490672cf42905167f6952dfd83c