Replacing libgncmod-python, libgncmod-core-utils-python, and
libgncmod-app-utils-python with _sw_core_utils and _sw_app_utils.
The latter two are the modules that init.py wants to load and with
Python3 Swig appears to no longer make them available via libgncmod.
Note that there may still be some problems with actually using the
console, but it at least loads at startup without complaint.
Although the PR was titled "Some [fixes] for missing transient parent
warnings", it actually has a bugfix and an assorted collection of
GUI cleanups that happen to include a couple of transient-parent fixes.
This switches swig to use python 3 specific features when generating the
bindings, switches the build over to python 3 and makes the neccesary
python 2 to 3 conversions in the bindings and tests.
The crash was caused by the timezone constructor encountering a
newline on the timezone. Prevent this by removing all whitespace
from the end of the input string.
Four date elements were affected: GncEntry::date, GncEntry::date_entered,
GncInvoice::opened, and GncInvoice::posted. The problem arose during the
cleansing of Timespec from the reports; the setter functions for those
elements were converted to time64 but no provision was made to the SQL
backend to pass them time64 instead of Timespec*.
This commit adds a new column type, CT_TIME64, and changes the column
types for those elements to CT_TIME64.
The import-map-bayes uses a three-part key that uses the same delimiter
as a path and the SQL backend was throwing away everything except the
account guid.
Added more slot types including import-map-bayes ones to the test xml
file to help debug this and to catch it in the future.
Also don't pass std::string.c_str() to a std::vector<std::string>
constructor, just pass the string.
Using the function gnc_price_create and book as a parameter, it is possible to create the new GncPrice object. This will remove the necessity of cloning the prices from existing ones in Python scripts.
Date field and pressing escape.
gtk_widget_destroy() ran the signals on the dialog controls which
tried to access the XferDialog data, but since gnc_xfer_dialog_close_cb()
had already run that memory had been freed and then used by the std::string
in GncDate::format; later handlers attempting to access the XferData had
garbage pointers to work with, causing a crash.
Running gtk_widget_destroy() first preserves the pointers long enough for
the dialog control callbacks to function without crashing.
Change from using a GtkDialog to a GtkWindow to stop the transient
parent warning and add parent for cancel dialog. No strings have been
changed just the top level container.
When glade files are saved which have GtkAssistants defined a packing
section is added to the assistant action area which then causes a
warning so remove them.