Bug 283234 - Select all does not update GUI
Summary: Select all does not update GUI
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: 4.5.3
Platform: Ubuntu Linux
: NOR minor
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-03 10:46 UTC by schlatter@phys.ethz.ch
Modified: 2011-12-12 20:44 UTC (History)
1 user (show)

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 schlatter@phys.ethz.ch 2011-10-03 10:46:12 UTC
Version:           4.5.3 (using KDE 4.6.2) 
OS:                Linux

Selecting all entries in a ledger (using Ctrl-A or Transactions->Select All) *does* select all entries but does not highlight those entries in the GUI.

Reproducible: Always

Steps to Reproduce:
- Open a ledger
- Select all entries (Ctrl-A or Transactions->Select All)

I expect that all entries get highlighted which does not happen.

However, the entries *are* selected: As soon as I right-click on any entry all entries get highlighted and the action I choose in the right-click menu executes in the way one expects.

Actual Results:  
No highlighting of selected entries.

Expected Results:  
Highlighting of selected entries.

OS: Linux (i686) release 2.6.38-11-generic-pae
Compiler: cc
Comment 1 Thomas Baumgart 2011-10-03 11:34:30 UTC
Adrian, you caught us on the previous bug 283205, but this one has already been fixed and works as you request. Please upgrade to 4.6.0.
Comment 2 David Houlden 2011-10-03 12:12:01 UTC
I think there is still a problem with this even on the very latest SVN. If I select all from the transaction menu it works as expected. However, if I press CTRL-A the ledger entries don't get highlighted until I move the mouse pointer over the ledger area. As the pointer passes over each line it gets highlighted. Very strange!
Comment 3 schlatter@phys.ethz.ch 2011-10-04 19:17:22 UTC
I'll comment on 4.6.0 as soon as I can get it to compile. So far, I was not successful.
Comment 4 schlatter@phys.ethz.ch 2011-10-04 19:54:38 UTC
Ok, I managed to compile and install 4.6.0. I can't test the bug in 4.6.0 because KMyMoney crashes reproducibly as soon as I try to open an account. Also strange: As soon as I start KMyMoney, the currently opened .kmy file is immediately marked as [modified] (before I have done a single click). Well, well, I'll try a little more. Should everything else fail I will report another bug.
Comment 5 David Houlden 2011-10-09 09:50:15 UTC
Could someone please reopen this bug. I don't want it to get lost until someone has a chance to check my comment #2 above. Thanks.
Comment 6 Jack 2011-12-11 00:12:46 UTC
I also see this in 4.6.1 and the latest git.  If you move the mouse over other transactions, they highlight not one transaction at a time but one line at a time.  Once you move the mouse out of the window, they all highlight.
Comment 7 Cristian Oneț 2011-12-12 20:36:13 UTC
Git commit a2a96ce406218ae345edd2224b1c85a3cc081e8c by Cristian Oneț.
Committed on 12/12/2011 at 21:24.
Pushed by conet into branch 'master'.

Fixed the fact that select all was not updating the register until a paint was being triggered by the system (mouse over or something similar that caused the widget to be marked as dirty).

This problem is caused by the fact that the actual TableWidget which
is used to render the register is just a "painting shell". The actual
data is being kept in the register items which are used to paint the
register. The selection was correctly set in those items but no repaint
was triggered. Solved this by calling the view's selectAll method.

Also remove the unimplemented repaintItems method since it should not be needed
anymore.

The whole register would need a complete rewrite but we don't have the
resources yet to do that.

BUG: 283234

M  +3    -1    kmymoney/views/kgloballedgerview.cpp
M  +1    -26   kmymoney/widgets/register.cpp
M  +0    -2    kmymoney/widgets/register.h

http://commits.kde.org/kmymoney/a2a96ce406218ae345edd2224b1c85a3cc081e8c
Comment 8 Cristian Oneț 2011-12-12 20:44:10 UTC
Git commit 452ce8e08cd33e9537ad28544f45cedd00c4abef by Cristian Oneț.
Committed on 12/12/2011 at 21:24.
Pushed by conet into branch '4.6'.

Fixed the fact that select all was not updating the register until a paint was being triggered by the system (mouse over or something similar that caused the widget to be marked as dirty).

This problem is caused by the fact that the actual TableWidget which
is used to render the register is just a "painting shell". The actual
data is being kept in the register items which are used to paint the
register. The selection was correctly set in those items but no repaint
was triggered. Solved this by calling the view's selectAll method.

Also remove the unimplemented repaintItems method since it should not be needed
anymore.

The whole register would need a complete rewrite but we don't have the
resources yet to do that.

BUG: 283234

M  +3    -1    kmymoney/views/kgloballedgerview.cpp
M  +1    -26   kmymoney/widgets/register.cpp
M  +0    -2    kmymoney/widgets/register.h

http://commits.kde.org/kmymoney/452ce8e08cd33e9537ad28544f45cedd00c4abef