- Adjust description on the assistant's start page to match current behavior
- Hide separator buttons in case the file format is set to fixed width
- For fixed width display some instructions on how to manipulate columns
- Move the error messages to below the preview table
This happens because in case std::string is the base type for the tokenizer
the offsets are interpreted as byte offsets although some characters
may consist of more that one byte in utf-8. This is not so for std::wstring
so to solve this issue the fixed width tokenizer is changed to use
wide character strings internally.
Each column change would cause the code to completely delete the
existing columns and then add new ones from scratch. For some
reason his upsets the MOVE_NOTIFY event, which is triggered
whenever you move the mouse pointer around. I suspect it internally
keeps a link to the last hovered column to check if the move action
moves the mouse to a different column. As the code removed the columns
this internal references becomes invalid.
I have worked around this by no longer completely recreating the
columns. Instead columns are added or removed as needed to follow
the changes in the data model.
At the same time the refresh function has been split into several
smaller ones.
- Properly enable/disable context menu for managing columns in fixed width data mode
- Make this context menu work on the table body instead of the table headers
- Both of the above is done a well for the double-click column creation behaviour
- Migrate the column type setting widgets to the table header cells and remove
the second (one-row) table, which was only used to allow type selection.
- Use enums instead of magic numbers to access associated treeview models
To fix: for some reason the column headers are no responding to clicks when
the preview page is first opened. However the first time the preview table
is regenerated (pretty much whenever an option is changed) they are. This
should still be debugged.
The Character Encoding menu imported from goffice comes with many such strings.
I still need to find a nice way to copy the existing translations for them
from goffice directly to gnucash.
The previous logic failed because GMOCK_SRC_DIR is cached. On
subsequent cmake runs FIND_PATH is not invoked again and hence
the first test for GMOCK_SRC_DIR will always succeed and
src is always appended to it to obtain GMOCK_SRC_MAIN_DIR.
This is not what we want, so I have chosen to force a rerun
of FIND_PATH by clearing the cached value of GMOCK_SRC_DIR.
All c++ unit tests will be written with it, and testing
should be possible out of the box.
We could make it optional, but then lots of tests will
be skipped. This creates an illusion of all tests passing
while many are simply not run. This confusion should be
avoided.
This change depends on a second commit for the windows build
in the gnucash-on-windows repository. This commit will be
pushed at the same time.
This has the unwanted side-effect of misaligning the chart
legends (due to some internal bug in webkit). Resizing the window
properly redraws the chart afterwards, but leaving the page and
returning reloads the page again, hitting the bug again. This
prevents multiple report tabs open at once to show a correct chart.
Each resize of the window to correct one chart will trigger a
misaligned legend on all other charts the next time you look at them.
The disadvantage of removing this code is that reports loaded
automatically when gnucash opens are not sized properly. (All but
the one in the very last tab of the book being opened, that is).
However these pages can be corrected by manually reloading them
once. That's annoying but at least allows for correctly displayed reports.
A proper solution must be found for this of course.
This reverts commit 12994ca6e7.
Webkit takes care of this properly for newly opened reports. It
somehow fails for reports that are automatically loaded when
reopening gnucash. This needs additional investigation, but
reloading the report when exposing the page has undesired
side-effects which should be avoided.
This reverts commit 74091fbcfa.
Webkit takes care of this properly for newly opened reports. It
somehow fails for reports that are automatically loaded when
reopening gnucash. This needs additional investigation, but
reloading the report when exposing the page has undesired
side-effects which should be avoided.
In the travis environment (guile 1.8 in combination with other unidentified,
particular package versions) the scm based tests are looking for
backend modules (xml and dbi) in the installation prefix instead of
in the build directory. Explicitly setting the environment variables
GNC_BUILDDIR and GNC_UNINSTALLED fix this. I haven't figured out why this
is not needed on all platforms/tool version combinations. But the fix
works in all (autotools based) cases. CMake builds may need a similar
fix, but I don't know that environment sufficiently to implement it.
While a proper solution is only possible with a more recent
version of webkit, this commit will allow users to work around
the issue by manually setting a default zoom level for reports.
This setting can be found under
Edit->Preferences->Reports