#252 ✓fixed
Virgil Dupras

Remember selected transaction with multiple account views opened

Reported by Virgil Dupras | May 9th, 2011 @ 09:48 PM | in v2.5 (closed)

From email:

If you open two or more accounts one with small amount of transactions (all fit into one page) and second account with big amount (several pages of transactions), scroll position is not preserved when you
switch between accounts.

This problem is a limitation due to the current design (there's only one actual entry view, which is shared by all opened accounts). It's possible to send the scroll position down to the model and save it for the next refresh, but it seems like a lot of code for such a small feature. I wonder if it's not better to simply restore the selected transaction(s) at the middle of the table instead (it's currently restored at "the nearest point", so if the previous account was scrolled up, the selected transaction will be at the bottom of the scrollable table).

UPDATE: Forget about the paragraph above, I didn't remember that account views don't remember their own selected transactions yet and that this value is still document-wide. So, to fix this, each account view has to remember its own selected transaction.

Comments and changes to this ticket

  • Roman Kapusta

    Roman Kapusta May 10th, 2011 @ 02:25 PM

    I have a look on your source code, I don't like this heavy use of properties, but I managed to find where are changing account panes (core/gui/main_window.py, _change_current_pane, line 66) there should be something like 'remeber first visible transaction in hiding account' and 'scroll to first visible transaction in showing account'. You vill have something like 'first visible transaction' for every entry pane.

    or more simple approach: just scroll to first selected transaction, if it is not visible.

  • Virgil Dupras

    Virgil Dupras May 10th, 2011 @ 02:35 PM

    moneyGuru already does that. The problem, as I wrote is that it does the minimum scrolling necessary to make the first selected transaction visible, which means that most of the time, the selected transaction ends up either at the very top or the very bottom, which is probably not optimal in most cases. That's why I was suggesting to scroll until the first selected transaction was in the middle of the table.

  • Virgil Dupras

    Virgil Dupras May 10th, 2011 @ 02:37 PM

    Oops, sorry, I checked again and it doesn't. I thought it did. I have to change the ticket.

  • Virgil Dupras

    Virgil Dupras May 10th, 2011 @ 02:38 PM

    • Title changed from “Scroll position lost in entry view when changing active tab” to “Remember selected transaction with multiple account views opened”
  • Virgil Dupras

    Virgil Dupras May 10th, 2011 @ 02:43 PM

    (by the way, this is part of an ongoing, long run refactoring process described at http://www.hardcoded.net/docs/moneyguru/refactorings.html#more-resp... )

  • Virgil Dupras

    Virgil Dupras October 7th, 2011 @ 09:17 PM

    • Milestone set to 2.4.0
    • Milestone order changed from “195283” to “0”
  • Virgil Dupras

    Virgil Dupras October 13th, 2011 @ 03:40 PM

    • Assigned user set to “Virgil Dupras”
  • Virgil Dupras

    Virgil Dupras October 13th, 2011 @ 06:26 PM

    • State changed from “accepted” to “hold”
    • Milestone cleared.

    The transaction selection update/restore process right now is a mess right now, and before I can un-mess it and implement this selection behavior, I'd ideally have to fully complete the proxy/model instantiation shift I'm currently in the middle of so that I can get rid of the shared account view kludge that's there right now. Once this is done, implementing this ticket will be much easier. Later.

  • Virgil Dupras

    Virgil Dupras January 24th, 2012 @ 10:17 PM

    • State changed from “hold” to “accepted”
    • Milestone set to v2.5
    • Milestone order changed from “4” to “0”

    The core gui instantiation refactoring process is complete, so I can give this ticket another try.

  • Virgil Dupras

    Virgil Dupras January 27th, 2012 @ 05:24 PM

    (from [3f54ce82b68e]) [#252] Replaced most references to MainWindow.shown_account by AccountView's own account reference.

    Also, removed the shown_account_changed notification. All of this is in preparation of show_account's complete removal so we can have each AccountView instance independent of each other.

  • Virgil Dupras

    Virgil Dupras January 27th, 2012 @ 08:10 PM

    • State changed from “accepted” to “fixed”

    (from [c536e5ba7b40]) [#252 state:fixed] Completely removed MainWindow.shown_account.

    This completes the transition from a shared AccountView to one instance of AccountView per opened Account pane. This shared AccountView thing was the cause of the entry selection glitch in #252. With one account instance per account, the entry selection doesn't have to be restored because it isn't touched when we switch accounts.

  • Roman Kapusta

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Shared Ticket Bins

People watching this ticket