Navigation 2.5.1

Geert Janssens janssens-geert at telenet.be
Sun May 19 17:05:39 EDT 2013


Hi Robert,

Thank you for the detailed explanation. My feedback follows.

I have a question regarding activating a cell: is there a reason you only activate it in the 
specific cases you mention ? I mean can't a cell be activated when entered, regardless of 
which method is used to enter it ? I'm particularly thinking about the arrow keys. Arrow-Up or 
Arrow-Down change transactions, but don't activate the cell they enter.

I will also note that enter (numeric keypad) and return (main keyboard) behave the same way: 
the disactivate a cell, or move from a disactivated cell to the next row. This is also different 
from the old register (at least for numeric cells).

In the old register this difference was deliberate: when a formula is entered in a numeric field, 
enter calculated the value of the formula, replacing the formula with the value. Return would 
do the same but also move to the next transaction in one step. Not having this difference 
means that there will be additional keys to hit in pure data entry. On the other hand, I believe 
the subtle difference between the two keys has confused many newcomers.

So while I'm a heavy keyboard user and hence prefer the old behaviour, your way may be 
more friendly to new users. I mention this explicitly so it can be discussed.

In general in my mind there should be as little resistance as possible to edit cells. When it's 
entered (regardless of how this happened) it should immediatly be ready to accept input.

I should have no friction either when I want to leave a cell (other than perhaps the dialog that 
warns you have changed a protected transaction). So when I hit an arrow down after entering 
a formula, I'd expect to land in the cell right below it to start entering new data.

Also that is currently not like this: in the new register code, when I edit a cell and then hit the 
down arrow, the cell is disactivated. I have to hit the arrow key again to actually move down.

I think the analogy is with excell/calc. Cells in there are always immediatly ready for input and 
can always be moved out with one single keystroke.

Further comments in between below...

On Saturday 18 May 2013 17:21:05 Robert Fewell wrote:
> As you know, the register rewrite is based on the use of a GtkTreeView and
> as such there are some differences to navigation from the old register so I
> thought I would mention them here, this is all after the latest patch in
> bug 700579.
> 
I have committed this patch in 22994, so others can start playing with this as well.

> To change cell entries they need to be active, this can be done by mouse
> clicking in the cell, hitting space when the cursor is in the cell or by
> tabbing into the cell. To finish the changes, you need to hit enter or tab
> to the next cell. Tabbing will step over any cell not editable. The cursor
> keys move the cursor around while no cell is active or navigate within the
> cell when active.
> 
> Cells like reconcile can be toggled either by mouse click or the space bar.
> 
This cell was not modifyable via keyboard before. I'm happy with this improvement !

> Escape key is used to cancel the cell changes so we have an undo option,
> thats before leaving the cell or committing.
> 
Another nice improvement !

> Committing the changes can be done by using the enter icon on the tool bar,
> mouse clicking a different transaction, tabbing out of the transaction,
> using the cursor keys to leave the transaction or hitting the enter key
> when no cell is active. All of these methods will bring up the save the
> changed transaction dialogue unless you have ticked the remember feature.
> 
> The description column gets any extra space when the window is resized.
> 
> Column resizing is done by dragging the column separator as normal in the
> header or you can double click it. If you double click, it seems to change
> the size back to that of the saved values, so if you drag the description
> separator to make it bigger, just double click it and it will restore.
> 
Can this be changed ? It would be nice if a double-click would resize the column such that it 
can fully show the widest cell content in the column. That's again what the old register does 
and seems to make more sense to me.

> Columns can now be moved by dragging the appropriate header. The only
> difficult one is the status column, just move the ones around it to achieve
> the desired effect.
> 
Impressive ! Does it save the order as well when you close GnuCash ?

> Sorting is done the clicking on the headers while the appropriate title is
> visible.
> 
Much easier than the menu item we had before, thanks.

> Showing the Date entered is a preference setting along with showing the
> buttons on the calendar.
> 
I wanted to ask about date entered in the comment just above, but you answered it here. I 
am not sure I really like the preference choice. I usually would want to see date entered order 
only briefly. Having to go to the preferences to set and unset this is slightly cumbersome.

Can't we make the date column header loop through 4 sort methods ?
Date ascending
Date descending
Date entered ascending
Date entered descending

Next to the arrow key we would need a visual clue in the column header to show which date 
type is being sorted on of course.

Related question: how do you sort on statement date (the other date sorting option that was 
in the old sort dialog) ?

> The tree view is now using fixed height rows and so should improve the
> speed but it is still not as fast as the old register but by specifying the
> number of transactions to load in the preference settings I can load 1000
> transaction in about two seconds in my under resource virtual machine.


More information about the gnucash-devel mailing list