If you search from a General Ledger the search results will update the
General Ledger and the only way to get back the contents is to close
and reopen the General Ledger.
This change makes it the same as any other register in that the search
results are opened in a new search page.
When the above function is activated, the slot 'equity type' is used and
set in relation to opening balances and the checkbox for marking the
opening balance in the accounts dialog can be changed.
Up to now, opening balance accounts have been identified by means of
fixed names and their translations, which in some cases is not
appropriate.
With this commit, therefore, opening balance accounts can now be
identified by a special slot, which should solve the above problem.
in gnc_find_or_create_equity_account(), when querying the
EQUITY_OPENING_BALANCE type, the system now first searches for an
account with an existing 'equity-type' slot having the value
'opening-balance' and returns it as an opening balance account if
one exists. If no corresponding account is found, the search is
continued as before. An account found in the process is automatically
given the status of an opening balance account (it is given an
'equity-type' slot with value 'opening-balance') to simplify the
future search.
The opening balance status of an account is visualized in the account
settings dialog with a check box. If a Gnucash file does not yet contain
an opening balance account, one can be selected in the account settings
dialog.
https://bugs.gnucash.org/show_bug.cgi?id=797836
If the horizontal scrollbar is present for a register and you start to
tab from one cell to the next one that is not in view the sheet does
not scroll to keep the active cell in view.
This commit fixes that by getting the active cell horizontal offset and
width and comparing it to the sheet width and window width.
To reproduce this, with an existing list of four recently opened files,
open a fifth file whose name must differ from those already in the list
and you will observe that the file history list is not updated.
This was down to when doing the 'File->Open', a call is made to
gnc_close_gui_component_by_session which closes the existing pages and
as part of that the preference callbacks for the history plugin page
were being removed along with some others like for tab placement.
To fix this added the removal inside an if statement that checks to see
if the window is quitting or not.
Wrapping the std::vector to hold the log flags is unneeded and actually harmful.
Just work on the vector directly. If user doesn't specify any '--log' options
the vector will just be empty.
With GnuCash's main libraries now linked at startup instead of being
dlopened at runtime except by Guile we can restrict the library path
renaming to Gnu Libtool's environment variable.
Windows build failed on creating gchar *format with g_strdup_printf
parameter '%ld' expects argument of type 'long int', but argument 3 has
type 'size_t' {aka 'unsigned int'}
Fixed by replacing strlen with g_utf8_strlen.
With GnuCash's main libraries now linked at startup instead of being
dlopened at runtime except by Guile we can restrict the library path
renaming to Gnu Libtool's environment variable.
This reverts commit afcf1765f6.
Not satisfactory. Introduces unacceptable delay after each
keystroke. Will try again when knapsack algorithm is improved to
generate toclear_list as GHashTable value.
When you duplicate a transaction, the dialog presented has a
GtkSpinbutton for the number field and non-numeric values are being
discarded. The register and transfer dialog have a GtkEntry for this
field so change this dialog to using them also.
This is responsible for test failures on DST transition days.
See the comments in gnc-timezone.cpp for an explanation of why this is
correct. The rubric was tested on macOS, Arch Linux, Debian Unstable,
Fedora 33, and Ubuntu 18.04 to confirm universal applicability.
If you have more than one Gnucash window open is is very easy to close
the wrong window with the 'x' and in doing so change your saved pages.
The way to save the configuration of all windows and pages is to use
'File->Quit'.
Add ability to do key combination Ctrl+Alt+Menu to bring up the main
notebook menu so pages can be selected.
Also add Ctrl+Alt+a to jump to the Accounts page with the 'a' being
translatable.
With the focus on the webkit webview, this key sequence can be used to
scroll the view. For the key sequence to work for tab page switching a
callback is connected to the 'key-press-event' for the webkit view and
checked for the sequence and passed to the notebook if required.
If you have report pages that are left open when the current book is
'Saved' and then use the 'File->Open' to open a new book Gnucash may
crash. This was traced to the use of a g_idle_add to delay loading the
reports in the pages that was not being cleared when the first book was
closed.
To fix this the g_idle_add has been removed and the loading of the
report has been moved to the page focus function. By using a flag to
indicate when pages are being restored, the report loading is delayed
until the page is focused which has also decreased book loading time
especially if no report pages were the current page when the book was
closed.