Setting a listview column to expand before the window is realized causes
the sizer to allocate too much width so that the horizontal scrollbar is
required. Move setting the expand column to after gtk_widget_show_all.
More clearly describes the actions and is more consistent with other
software (e.g. Libre Office).
This commit primarily changes the translatable strings, though it also
removes the Remove menu item because that can be done in the Manage
dialog box.
The headers were made up from two parts, 'Tot' which was translated and
'Debit/Credit' which was not. Traced to some missing brackets around
the returned dflt_acct_debit_str and dflt_acct_credit_str.
Similar to f6d34f226:
* refactor to combine scrub_split common code
* progressbar and text updated every 10 splits
* abort_scrub is tested every for loop rather than 100 splits
More clearly describes the actions and is more consistent with other
software (e.g. Libre Office).
This commit primarily changes the translatable strings, though it also
removes the Remove menu item because that can be done in the Manage
dialog box.
gnc_window_show_progress receives 2 arguments: message string and
percentage. The progressbar text was not updated if message string was
NULL. Reports call (gnc-window-show-progress "" percent). This commit
ensures empty string does not overwrite progressbar text.
Formerly would update progress bar every 100 splits. With scrub being
slow, it's nicer to update every 10 splits. Also remove
the (percentagefunc)(NULL, 0.0) which seems an error -- it would reset
the progressbar back to zero immediately.
When compiling with -Werror, GNUCash fails to build due to various error: missing sentinel in function call.
This patch resolves the issue by passing nullptr instead of C-style casting NULL.
Addendum to c14241644 - ensure the splitlist is sorted before finding
split. This ensures the correct split is found when the register has a
non-default sorting. e.g. sorting by reverse posted-date would find
the most recent split; this commit ensures the split nearest the
desired date is selected.
Also I've confirmed there's no need to clear filter; if the register
has filtered splits, the algorithm will find the nearest *visible*
split on or after the desired date.
removes the need to store and reset the current QofDateFormat via
qof-date-format-set and qof-date-format-get.
also fix test-transaction csv output test.
Slightly speculative since the bug isn't reliably reproduceable, but
qof_class_get_property can silently return nullptr so it's wise to
make sure that we have a ptr before trying to dereference it.
The account tree page didn't have a "finish" function normally used to verify a page can close.
I added one, along with two flags that indicate whether a scrubbing operation is currently ongoing
and whether we should quit when the scrubbing is done.
The result is: If a user attempts to quit while scrubbing isn't done, an alert pops up asking whether the
user wants to abort the scrub. If so, the scrub is aborted (safely) and GC quits.
If not the app does not quit.
I have to say, I'm not sure this is the right way to do this. In my view, the right way would be:
- Disable the "quit" menu when scrubbing is happening (for some reason gnc_suspend_gui_refresh() does
not cause the quit menu to be grayed) so there's no chance of quitting while scrubbing is ongoing
- If needed, add an abort scrubbing button to the main window. Not sure whether that's desirable or not.
Let me know what you think: is what I have what we need, or would the above be better.
The bug was triggered by txn referring to the invalid split being
used *outside* the let environment. Use (car splits) instead for
logging. Also augment error handling by listing the invalid splits
before the aging-list.
Finally the proper fix in aging-report.
The aging-report must consider only activity in the report period
specified. If an invoice is paid after the report period, it is
considered unpaid.