Instead of using the sheet row height as the basis of obtaining the
popup height use the treeview cellrenderer height instead. This has the
advantage that any CSS font change applied to the treeview will be used
to get the correct height.
As the popup_item is cell dependant, the popup size-allocate check
callback needs to be setup when entering a cell and removed when
leaving so move this to the gnc_item_edit_set_popup function.
When item_edit is destroyed it tries to remove a signal handler based
on the saved id for the size-allocate signal for popups. If there have
been no popup used this id value is 0 so to prevent this error check
for id number greater than 0 before being used.
When using type-ahead, it clears the tmp_store in gnc_combo_cell_enter
so clearing the action list. Change this to only clear the tmp_store
when using quickfill or type-ahead.
A GtkScrolledWindow in automatic mode reserves at least enough space for
its vertical scrollbar even if it's empty. This causes the combo to be
at least two rows tall even when there's only one item, which is ugly.
Worse, it caused check_popup_height_is_true to fail resulting in an
infinite loop because it's predicated on there being a size error that
can be fixed by calling gnc_item_edit_update, which will cause a redraw
and call check_popup_height_is_true again.
This is a change from the previous code which used gtk_tree_selection_set_select_function() to prevent some transactions from being selectable.
In this solution, I removed the select_function, instead, during the cursor moved callback, I look at the list of selected transactions and de-select those that should be de-selected, but only if we have more than one transaction selected.
This allows the user to arrow up/down and see the transaction under the cursor be highlighted, but when rubber-banding selections, only the right ones are added to the selection.
In an account register, scrolling stops working when the mouse pointer
re-enters the scrollbar after leaving it. This was caused by a fix for
the scrollbar not being updated in earlier versions of Gtk+. Having
removed this earlier fix and tried on Windows 10 and two flavours of
Linux with the current version of Gtk+ the earlier problem is not
evident so this commit removes that fix.
Once the transfer account is selected and control returned to the
Generic main matcher window the transaction rows will now be unselected.
This commit reselects the appropriate rows.
cannot delete splits, unable to tab complete account name.
The final piece, commits the currently selected item in the PopBox
when tabbing out of a register combocell in type-ahead mode.
Don't clear the selection before passing the event to the entry's
keypress handler. Instead set the sheet selection from the entry
when the handler returns.
Change the Options GtkCheckBox to use its own built-in label and remove
the label in the first column. The GtkCheckBox will still be placed in
the second column and aligned with the other widgets.
1. taxtables? was a hack to disable tax display; this is now obsolete
since bug 573645 was fixed with 8221aada. the equivalent
taxinvoice.eguile.scm hack was removed with 0eb2c2b3 but never removed
in receipt.eguile.scm
2. break out date<? comparator
3. use lispy for-each instead of pythonic for
3. compact code
1. break out date<? comparator
2. the (if (not (null? opt-invoice)) ...) section is always run
because display-report is only called when opt-invoice isn't null
3. use lispy for-each instead of pythonic for loops
I had to rebase against master which included the reconcile after import and there were a few conflicts.
So this is the new version. It includes all the recommendations made in the original PR but the code now includes the reconcile part.
error in commit 710b559cc4
xaccSplitGetSharePrice is priced in the transaction
currency. gnc-account-get-currency-or-parent would only output the
correct price currency if the chart of accounts was set up properly.
also: for Dr/Cr display, small modification to ensure a "$0.00" is
rendered when the split value is neither positive nor negative.
With the new the options dialogue using a GtkGrid it is required that
clicking on the label of the GtkCheckBox would also toggle the
GtkCheckBox. To this end the label is added to an event box so it can
be clicked on and a callback used to toggle the checkbox.
This commit changes the saving of register filter and sort information
from KVP entries to using the .gcm file. On register load these
settings are transferred to the .gcm file and the KVP entries removed.
A feature flag is also set when the first register is loaded by this
version.
Add two menu items under windows, one to save an existing register
layout based on the register type to there respective default layouts
so the user set column widths will be used when opening registers. The
second menu item will reset the column widths to defaults and remove
the associated default layout.
Open registers will also save there column widths to the page section
so these could can temporarily have different widths.
Add SplitRegisterTypeGroup to group registers that have the same layout
and it will also be used to get the default user state information for
register cell widths.