gnucash master: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Mon Feb 20 14:45:53 EST 2017


Updated	 via  https://github.com/Gnucash/gnucash/commit/2c5f6b9c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1d552fbe (commit)
	 via  https://github.com/Gnucash/gnucash/commit/558d4b43 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cd66fb2e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a2956802 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/372c46cc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/61244301 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5d96e47b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8d03abac (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6657e666 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4687eb64 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9fbbd736 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/449db629 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/59535435 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9ecde3a0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/88a482c5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/92969b4e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e92c5eba (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1660276e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5ba4764a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5b446cd9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f8470ffa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f85e52be (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d2098bfc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b629fc97 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b13718ee (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cfeb1f63 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/522b75ee (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1a1a3fc9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e4fc93ff (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0d721b79 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4032b553 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/26e59c4e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e5a175a2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e6e36d64 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/550a431c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7a381cd8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/91c4202f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7fdf135a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/718a755f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a0320d3a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0b345d47 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/847b140b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/35ba4ec9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/49bbbca1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/95d7e17c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/24929310 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d2597ef1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/848c7b8f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/443237f2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5950b902 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6d304d3c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1fc4b3cd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9e70166b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e8d24e19 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7a69d552 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/dcce2d79 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/861bff3f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8e20c640 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4f2980ef (commit)
	 via  https://github.com/Gnucash/gnucash/commit/056d20c1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/854ee319 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/90e5e96f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d642d080 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ab6dc0f5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/91df5eda (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ffa68c6b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0d4d92fb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f64d217e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/43087577 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d64c66e6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b9e73d92 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bbac6aa1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/26380562 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c0d518e8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9525d9b8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a6aa76fc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bce5eaaa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/da0120d5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c1d798d0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e0caec0e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6adbab1d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bbeb351a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/737cbfb3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f47d12c3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b425a5e7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1b44310b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d557c01c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/05c18796 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/11ff8273 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bebc871f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/42c2f94b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2d42bf59 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f26d3cea (commit)
	 via  https://github.com/Gnucash/gnucash/commit/38b0b356 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e6d9a614 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8f9b3d32 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5c9f9059 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0b73a56c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6f15805c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c21cf188 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b9646e9b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/142fb617 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0f6dc53c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d85de012 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/17b2b466 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8f9d2ee8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bcae6628 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e95b1e2c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/533b5eb7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cecfe9ec (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ce63d8aa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1507ec0c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3a0f0dff (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9ff993bb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c6043ccc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/48cfbc23 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/efcd2669 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ed7b863d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/83da5187 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d57a7cee (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0dc6fdc7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/baf10bb7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d858c7d5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/20eecb05 (commit)
	from  https://github.com/Gnucash/gnucash/commit/01d31c71 (commit)



commit 2c5f6b9cc33b215a5384ef4c401ddca68811951f
Merge: 01d31c7 1d552fb
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 20 20:42:21 2017 +0100

    Merge branch 'csv_imp_cpp'
    
    This feature branch is about the c++ conversion of the
    csv transaction importer.

commit 1d552fbe7fd7f5e96b44ad5e34ff6b8610406d40
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 20 20:22:45 2017 +0100

    Use boost::locale:conv:utf_to_uft instead of codecvt_utf8
    
    The latter is not available until gcc 5.x and we still depend on
    gcc 4.8 on some platforms (RHEL/Centos, Travis/Ubuntu 14.04, Windows).

commit 558d4b43b2966d842cdf943a54f86749b13a379b
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 20 13:16:38 2017 +0100

    Properly test for invalid dates (gnc-date C interface no longer throws - rightfully so)

commit cd66fb2e2db884ab435d6ab1a211d5af73b87a40
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 20 12:52:18 2017 +0100

    Some ui refinement
    
    - 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

commit a29568021291748bc51cea891d60ce252853a212
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 20 11:40:36 2017 +0100

    Cleanup - use less ambiguous variable name for an iterator

commit 372c46cc0f2dcb1f275f167d9c6fd4c00e09ffe3
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 20 11:38:28 2017 +0100

    Fix base account reset when an account column is selected
    
    This got broken somehow while refactoring the assistant.

commit 61244301f22df436515fd9fb3988e0714ecf8f57
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Feb 18 22:34:02 2017 +0100

    Recover separators or column_widths when juggling file format more than once

commit 5d96e47b3956b76eff38c57de15be9fbf565a69d
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Feb 17 21:58:48 2017 +0100

    Prevent multi-byte characters from erroneously being split in fixed-width mode
    
    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.

commit 8d03abac19e5e9fb439409acee35196c2f0eae56
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Feb 15 22:12:14 2017 +0100

    Include glib.h as everywhere else

commit 6657e6660bfa6adb2de11f3b19b55954db3e6e39
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Feb 11 11:27:35 2017 +0100

    Remove some obsolete comments and commented out code

commit 4687eb649b4a9ade874d57fd69606e5c6f62e31c
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Feb 11 11:13:39 2017 +0100

    Trim newlines from csv data
    
    If the newline happens in the middle some field, replace it with a space.
    We can't import newlines in gnucash.

commit 9fbbd7366c5efbbd0da8b19b25261752dae1a366
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Feb 10 21:34:17 2017 +0100

    Fix crash when adding columns by double-clicking the preview data
    
    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.

commit 449db629213ce38a6a034c7221ec795ac48ac512
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Feb 9 19:35:23 2017 +0100

    Fix settings loading and saving
    
    - fixed width columns widths weren't saved
    - column types were lost when loading a fixed width preset

commit 5953543573515d1d9a9795b405bf76f737f67d5a
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Feb 8 17:11:32 2017 +0100

    Improve visual feedback when previewing importable data

commit 9ecde3a05d457a718067a696aa58ca4fd9c5cd00
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 6 11:05:39 2017 +0100

    Improve preview table handling
    
    - 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.

commit 88a482c5d36e8cdffe6514f911def90b71286ceb
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 14 15:52:55 2017 +0100

    Use GncRational directly instead of gnc_numeric in gnc-trans-props

commit 92969b4e39220000acd70013e51f1ddfe733e6a8
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Jan 12 09:41:25 2017 +0100

    Prevent the user from setting an invalid settings name
    
    The keyfile that stores the settings won't accept '[' and ']' as settingss names,
    so this commit will prevent the user from entering these characters. They are
    automatically replaced with the valid '(' and ')' characters.
    
    In addition any attempt to save settings with an invalid name via a code path
    bypassing the gui will be refused.

commit e92c5ebad4919136afdbc710f77fdea079e8f3e1
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 30 16:52:56 2016 +0100

    Move column parsing earlier up the chain of events
    
    In this form not all data needs reparsing when a single column
    changes. The drawback is it makes the code slightly more complicated
    because accounts can only be verified after the account match page
    has completed, while most columns are set on the preview page.

commit 1660276e295fb9f7487bfd5aebcb9e4942ad3c01
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Wed Dec 28 09:53:15 2016 +0100

    Copyright updates

commit 5ba4764a2d18546d5d3bf3977dfd17f91b4a8f99
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Wed Dec 28 09:40:06 2016 +0100

    Add a reset member function to GncPreTrans and GncPreSplit
    
    These will be used in future commits

commit 5b446cd9a1d9ab971955cc20b449141869c9a826
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 24 17:36:31 2016 +0100

    Make sure all lines are checked for errors, regardless of their skipped status
    
    Which errors get actually reported the user remains filtered based on the
    line skipping options the user has set.

commit f8470ffa4c8877c2b7a7939b24d56685c83c2be7
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 24 17:34:43 2016 +0100

    Isolate the gtk callbacks from the assistant class' member variables.
    
    This required some refactoring of a number of callback funtions.

commit f85e52beeef1afdd99a955e5ae90789e600ae38d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 24 13:00:18 2016 +0100

    Consistently use gnucash dialogs instead of generic gtk ones

commit d2098bfc84121794077129c2d9c53efca77455a2
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 24 12:59:47 2016 +0100

    Use std::unique_ptr for the TxImport object for better memory management

commit b629fc97a67888db42e1aa048e8b888779f8b173
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 24 12:26:21 2016 +0100

    Convert assistant struct into a real c++ class

commit b13718ee0b3fa748f3af577a040b7357770cb461
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 23 20:08:20 2016 +0100

    Handle error skipping on the preview page as well and drop the custom page forwarder
    
    With the preview page blocking as long as there are (unskipped) errors
    there is no need any more for the assistant to go back from the documentation
    page to the preview page in case of errors - the documentation page
    can only be reached if all required data is valid.
    This required some additional tweaks to other functions that were
    written to be called twice in TxImport and no longer will be.

commit cfeb1f638809dd117ba6bd1bd6a8fc234859347d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Dec 22 21:48:55 2016 +0100

    Complete error checking on the preview page
    
    - Not all possible issues were reported to the user.
    - Report column conflicts above the table, and line issues in the first column of the line having the issue

commit 522b75ee18c39bd27cb5b70f35b110dd99c632a2
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Dec 20 21:18:28 2016 +0100

    Move account searching to GncTxImport as it's responsible for the data
    
    And use c++ containers to do the heavy lifting

commit 1a1a3fc9512ca45b08269c94541ebffed9f760a6
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Dec 20 17:42:44 2016 +0100

    Remove redundant code

commit e4fc93ffe09fe309174997d781c112c9dad4410d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Dec 20 17:03:07 2016 +0100

    Cleanup round - move functions up and down to group related ones

commit 0d721b795c20a9691ca89951899d55af2dc26b51
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 18 18:12:57 2016 +0100

    Cleanup round
    
    - m_ prefix all member variables
    - delay variable declarations until actually needed
    - use auto where possible for variable declarations
    - use standard c(++) types and constants where possible
    - rename variables and functions to be more consistent
    - set gui callbacks as much as possible in the glade file
    - drop unused parameters

commit 4032b553f4f2097fa39dfaa4faed5a2abbd9fb6c
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 17 19:10:02 2016 +0100

    Revisit csv settings
    
    - Store importer settings in a separate object inside the CsvTxImport
    - make CsvTxImport responsible for maintaining a consistent settings state
    - reduce the assistant's responsability to passing settings changes to CsvTxImport and
      visual display. It no longer does validation
    - Refine the gui some more

commit 26e59c4e2140a4acc8fc112dfa2790cfa829267e
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 16 21:22:48 2016 +0100

    Revisit error checking on the preview page.
    
    - make the CsvTxImport class responsible for the check
    - guide the user with suggestions rather than have the user click through to the next page to find out things weren't set up properly

commit e5a175a2c7fc06f6433100d3d2fc08ba756eb04d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 16 19:29:13 2016 +0100

    Move the base account selection to the preview page

commit e6e36d648b8a211236c58755ad1907400e06bb04
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 16 13:48:08 2016 +0100

    Add account selector to the preview window

commit 550a431cdc102c8208c6963bcc9cce74aad59a13
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 16 13:47:08 2016 +0100

    Some variable declaration cleanups

commit 7a381cd88bde9ba22a1603486166df5921307114
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 16 13:45:52 2016 +0100

    Make sure row coloring happens each time the preview is updated

commit 91c4202f2a0920cbefb38a7cd90c0eabbe1c7d92
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 16 13:43:52 2016 +0100

    Remove redundant check for valid column types
    
    The CsvTransSettings object guarantees all types in the vector are valid
    so there's no need any more to check this again in the assistant.

commit 7fdf135a5417db8fd6174a147066e330b60017b7
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Dec 13 19:59:45 2016 +0100

    Revisit csv trans import settings handling
    
    - move all gtk related stuff to the assistant code
    - move all checks to the settings object, the assistant should query that
    - handle sensitivity of the save and delete button more intelligently

commit 718a755f67d0a133b6e999289bc1bc935c956db9
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Dec 13 13:47:09 2016 +0100

    Drop fixed-format csv importer
    
    It's functionality has been completely replicated
    in the generic csv importer.

commit a0320d3a213cf7908adb312fa7328de96f996493
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Dec 13 12:22:11 2016 +0100

    Allow user to only select column_types that make sense in the current context
    
    The context being either multi-split or two-split. There's no use
    in selecting a Transaction ID column in two-split mode for example.
    Similarly none of the 'Transfer xzy' types will be used in
    multi-split mode.

commit 0b345d471e3a052600e0f6bf86ed0626d96597e9
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Dec 13 10:09:01 2016 +0100

    Drop balance column from csv importer
    
    In its current state it will only work for a very restricted context.
    However there's no code to validate this context so the importer will
    happily produce wrong results in all other contexts.
    A query on the mailing list didn't return any interest in this feature
    so instead of fixing it I'd rather drop it to keep the code clean.

commit 847b140b34bd5a4f613eb8edc7537ebb2bb20db3
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 23:15:34 2016 +0100

    Adapt csv export format to new csv importer capabilities

commit 35ba4ec92fab052e72e08c86dad0a3d0b2fe2335
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 19:16:33 2016 +0100

    Extend csv importer to be able to import multi-currency and stock transactions

commit 49bbbca1d514b32b8bd493a203e753b14a8ee7d7
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 16:54:17 2016 +0100

    Extend csv importer to be able to import voided transactions

commit 95d7e17c7bed77625a935b84527aba5cc37f595b
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 16:16:21 2016 +0100

    Extend csv importer to be able to import reconcile states
    
    A detail worth noting: contrary to most other date fields
    an empty value for a reconcile date is allowed if the reconcile
    field is not set to 'y' (reconciled).

commit 2492931094a63b770e80c6745508ec5433cd4a6d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 16:15:38 2016 +0100

    Add additional check before creating splits or transactions
    
    This allows the code following the check to make certain assumptions about the state
    of the prop objects.

commit d2597ef1e292cd67c315c04a01d282ab2374b1ba
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 16:02:19 2016 +0100

    Defer testing boost:optionals until really needed
    Similarly only lookup book when really needed

commit 848c7b8f8ec00b2862ca4a80208030342fe38040
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 14:54:48 2016 +0100

    Create trans/split props only when needed and have them keep their own value of date/currency format

commit 443237f2b9057c654e73933af19eeb582b440750
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 14 15:46:01 2017 +0100

    Extend csv importer to be able to import split action fields
    
    At the same time drop the exception handling for the num for action setting.
    The importer can't possibly get this right automatically in all cases. It's
    now up to the user to assign the right columns to the correct properties
    based on how he/she wants gnucash to store it internally.

commit 5950b902a41237b30e6b559f3678361c662bd2fe
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 10 18:34:30 2016 +0100

    Avoid assigning empty or null char*'s to a std::string
    
    Apparently this can cause segfaults

commit 6d304d3c3ee6b0a41c0c005bc3dfdad69a8976ae
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 10 16:37:51 2016 +0100

    csv import prefs - store coltypes as strings
    
    Additionally use g_key_file_[gs]_<type>_list to store and retrieve coltypes and colwidths
    instead of storing/retrieving a raw string to parse afterwards

commit 1fc4b3cd9b6c11015cd1d3b715aa57eebcec0468
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Dec 8 18:07:12 2016 +0100

    Convert column_widths to a vector

commit 9e70166b8ed27754a3af8db1a78de9a191080ac0
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Dec 8 17:24:42 2016 +0100

    Drop superfluous code that sets the default in case of an error.
    
    The returned values in case of an error from the g_key_file_get* are
    the correct defaults in most cases already.
    In addition:
    - Reduce number of temporary variables
    - Fix a memory leak while testing the saved data

commit e8d24e193b65c77c814a25ffd65934c9d30d7067
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Dec 8 16:51:39 2016 +0100

    Use std::vector to store column types, and a few other data type changes

commit 7a69d552bd006786199e7a5e17672d2a09f7d1ec
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Dec 5 17:42:55 2016 +0100

    Convert CsvTransSettings into a c++ class

commit dcce2d79cd24b380a652ddbbfd5b3d35c3ee8710
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 14 14:36:56 2017 +0100

    Remove final dependencies on GOFFICE
    
    This was still pulled in via the now removed gnc-csv-model.
    In order to remove this, the fixed format csv importer
    has been tweaked to get the required features from
    the c++ csv importer code instead.

commit 861bff3f3ba46d8fb0b531f892091b8c44543b6e
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 3 17:45:03 2016 +0100

    Fix error handling in the multi-split case (and probaly in the other case as well)
    
    Dereferencing an iterator and then assigning it to another variable
    apparently copies the object the iterator points at, instead
    of making a reference to it. C++ beginner mistakes...
    Also do the multi-split parent dance before handling errors. Otherwise
    child lines would be mistakenly added to the first working parent split
    instead of also being skipped until the parent is fixed.

commit 8e20c6404e28c16726e28d1cb2b1f17de9420ae0
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 2 14:25:20 2016 +0100

    Introduce multi-split imports in the csv importer
    
    This should be the start for round-trip export-import.
    Full roundtrip is not supported yet though. Missing
    is multi-currency/commodity imports.

commit 4f2980ef4239e2c7b23d02ff4c5215897c686e4c
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Dec 2 12:45:30 2016 +0100

    Rework csv import preview with additional cleanups
    
    - The preview part should be less chaotic now. It already has an option for future multi-split
      import functionality, but that's not used yet
    - rename a few variables
    - change semantics on start/end lines; this is now communicated in number of lines to skip
    - avoid a couple of double value storing (once in the assistant object and onece in the import object)

commit 056d20c1f73b0db7e7553929e28914a074cf5ed8
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Nov 29 20:33:04 2016 +0100

    Fix memory leaks in the draft transactions object

commit 854ee319894f941d2f89d43cf8b733b98c69d4b4
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Dec 11 17:10:53 2016 +0100

    Cleanup commit
    
    - improve comments
    - improve variable and function names (to be more concise and to the point
    - use 'Transfer Account' instead of 'Other Account' as that's the term used in the rest of gnucash

commit 90e5e96f8fbc50bf702b90cd524176c53ff5d8c7
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Nov 29 12:32:02 2016 +0100

    Rework the intermediate properties storage
    
    The overly complex templated class hierarchy is replaced
    with two simple classes. One to keep the discovered transaction
    properties and one for the discovered split properties. Make
    both classes responsible for verifying it's state and creating
    the necessary objects.

commit d642d0804bcc93340482dfa39c4e4c20d11fa735
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Nov 28 17:29:51 2016 +0100

    Refactor parse_to_trans into smaller functions

commit ab6dc0f5900f720130f2d64770e0a4febffd3ef8
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Nov 28 15:21:41 2016 +0100

    Add property structs for transaction vs split properties

commit 91df5edaa50d13211580a9ca51fda874789ff33f
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Nov 28 14:39:02 2016 +0100

    Refactor pair into a tuple in preparation of extending it

commit ffa68c6b84ab08b0b320c1d47936899f13bd713a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Nov 28 14:38:38 2016 +0100

    Factor out balance calculating function

commit 0d4d92fbb4eb97b9006c6029480040c1450e3c0a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Wed Oct 12 12:31:33 2016 +0200

    Drop unused parameter

commit f64d217ed3642eff538ba89f38c7bca076e26073
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Oct 11 23:11:39 2016 +0200

    Drop remaining GError boilerplate from the c++ importer

commit 430875772be18bbe273ee001407c448cfef9930a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Oct 11 23:05:18 2016 +0200

    Replace GError usage in parse function with proper try catch blocks
    
    In addition fix a crash while loading importer settings that would reduce
    the number of columns found in the import file.

commit d64c66e68d8f6dbef40a615a323617d026927da9
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Oct 10 23:01:05 2016 +0200

    Replace GError usage in file_format and load_file with proper try catch blocks

commit b9e73d923e96884e7ac5233274b7786bfa43c2cb
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 14 15:56:34 2017 +0100

    Throw in case date can't be parsed instead of returning -1 as date

commit bbac6aa1c5ff7d26cf091e6195f5894b22967b42
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Oct 10 16:09:24 2016 +0200

    Various small C++ and other cleanups
    
    - Use CamelCase for type definitions and _ for function names
    - m_ for member variables
    - avoid typedef (not needed for structs, replace by using for aliases)
    - use std::string for composing strings
    - fix condition part in for loop (can't use , need &&)
    - markup comment for doxygen inclusion

commit 2638056203f8065664469fc81247f71d46adc0e9
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Oct 10 15:13:36 2016 +0200

    Use gnc-date functions while parsing date strings for consistent timezone handling

commit c0d518e8708e0840fe47579348a4c6e91ad4051c
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 16 23:18:41 2016 +0200

    Migrate the glib based test case for GncTxImport to google-test

commit 9525d9b84badd15d90b079a1135e0177070deecb
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 16 23:17:26 2016 +0200

    Use consistent name for importer class and its filename
    
    The class was still called after the original struct in c and the file
    had an almost ok name from when I started the conversion.
    Add some usage information to the class as well.

commit a6aa76fc76d1c22c65eb61fb56f9f93c1783bf08
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Sep 15 16:06:54 2016 +0200

    Fix column sizing for fixed width data
    
    It was written to work with absolute column positions (from stf)
    but boost::tokenizer uses column widths instead.

commit bce5eaaa1de99473d265476bfc3f8749966c0b43
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Sep 15 14:26:35 2016 +0200

    Prevent crash when switching to fixed with in assistant
    
    The problem was initially the user doesn't have any column offsets
    defined which the tokenize function wasn't handling properly

commit da0120d5332441a1eb3157b030cf3c9e1d5d8833
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Sep 15 11:40:28 2016 +0200

    Readd a column for the error messages when reviewing parse errors

commit c1d798d0b0748c2237b406212d4f3ea274d32771
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Sep 15 10:23:11 2016 +0200

    Return nullptr in case of invalid numeric field to allow proper error handling

commit e0caec0e225d4ca54a0a89ba592db492ce92dbaa
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Sep 15 10:11:27 2016 +0200

    Rearrange statements in gnc_csv_preview_update_assist
    
    - Use a more logical grouping for setting up liststores and columns
    - Use one common store for all the header line's combo box entries
    - Store column number in each combo box entry for later retrieval

commit 6adbab1d38feeb07be2c9d7e0f11830889bb1f1a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Wed Sep 14 20:32:41 2016 +0200

    Use one common liststore for all the combocells in the preview header treeview
    
    They all show the same list anyway and this simplifies the code

commit bbeb351aa83ed5178345f242f43fec8aaf488ffa
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Wed Sep 14 18:49:06 2016 +0200

    Some changes to adhere better to the gnucash coding guidelines
    
    - use m_ prefix on member variables
    - prefer passing by reference over copying

commit 737cbfb35bfda091d38d150cd4a8ca2965dc3e9f
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Sep 13 23:50:19 2016 +0200

    Drop fake test in fw tokenizer

commit f47d12c373f11dfb9b1d5f5521748f0cd6cba365
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Sep 13 23:49:22 2016 +0200

    Add test cases for tokenizer classes

commit b425a5e7ddade7f31c82819626344bb801ca9a75
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Sep 13 23:48:57 2016 +0200

    Trim whitespace in case of fixed width input

commit 1b44310b04adab2aebb151679f31462a4ec6988d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Sep 10 18:03:16 2016 +0200

    Replace transactions GList with a std::multimap

commit d557c01c88cc4cd293fd4a238e257babd6c88cde
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Sep 10 17:35:12 2016 +0200

    Another round of small c to c++(11) conversions
    
    - prefer c++ data types (auto, bool, int, std::string)
    - iterate over vectors instead of accessing via the [] operator
    - use boost::{u32}regex instead of directly manipulating a c-string

commit 05c187960a1eeaacf5cf6eee81e8b9e266afebf7
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Sep 10 14:04:11 2016 +0200

    Delay the test for a default account until it's needed

commit 11ff8273e549357d4e03ef40722b5d762a606f60
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 9 18:58:21 2016 +0200

    Fix memory management for the temporary trans properties
    
    This is done by wrapping each property in a minimal template class hierarchy
    and keep track of each using a std::shared_pointer

commit bebc871fe8f9a88f135b28064387a67fcdd3e4c0
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Sep 10 11:50:35 2016 +0200

    Reduce code duplication by reusing trans_add_split

commit 42c2f94b384ae5676ed74d7515e8090a13539d18
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 9 18:21:46 2016 +0200

    Fix memory corruption bug

commit 2d42bf5920a1ced2ea38a11f8cbaf62eb1c105c3
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 9 14:51:37 2016 +0200

    Refactor TransProperty stuff to a simple void*
    
    Needs more attention for memory management though.

commit f26d3cea7d22cbeb3a1e03084a269d686b7da750
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Sep 8 16:59:20 2016 +0200

    Replace private data structure TransPropertyList with a std::map
    
    This required moving around a few other parameters
    - currency_format and date_format will now be passed directly to the function that needs it
    - Account is converted into a trans_prop just like all the other columns the user had selected

commit 38b0b356e4f1f731af790ade0407f267406a109a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Jul 5 16:46:39 2016 +0200

    Remove fake csv parsing test

commit e6d9a614adc8713f924ead9be55a34e153bed360
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Jul 5 16:46:19 2016 +0200

    Add some polish to csv_import_trans_file_chooser_confirm_cb
    
    - avoid superfluous string copying
    - flatten the nested if structures
    - set a default file format before attempting to parse

commit 8f9b3d322ae5f6858ffa7d2d5090dc5169be517a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jun 25 19:00:20 2016 +0200

    Prevent c++ name mangling on functions used as callbacks by gtk

commit 5c9f9059a150bd81bc2cdbf8213cc0ff0d854cb2
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jun 25 18:21:23 2016 +0200

    csv-imp - use enum instead of strings to track user selected column types

commit 0b73a56c295a0cde3ad21ad17eeeb63fe6b59c3b
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Jun 12 20:00:52 2016 +0200

    Convert column type to name mapping into a std::map

commit 6f15805c0b2c1e138e4bf7f81eea96cde1f3e4e7
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Jun 12 16:08:44 2016 +0200

    Adapt assistant for c++ guid changes

commit c21cf18847cf03baca4978ac45b33c12270cccb8
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 30 14:53:22 2016 +0100

    Refactor csv assistant code to use GncCsvParseData class instead of gnc-csv-model code

commit b9646e9b9a81e7945e43f7e80691b979cfdf4d12
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Jun 7 21:27:29 2016 +0200

    Build assistant-csv-trans-import.c(pp) as c++

commit 142fb61724823149e830e63b01e384b45855182d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Jun 12 12:41:51 2016 +0200

    Introduce parse error state

commit 0f6dc53cd1c8bb4687b1e5f4a0ac412fb13d5322
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Jun 12 12:38:50 2016 +0200

    Small local variable cleanups

commit d85de0124c4e1ef794d394f7140f303c3277aec9
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Jun 7 10:33:38 2016 +0200

    C++ - use std::pair to store tokenized line together with its error message
    
    Also drop a few variables that carry superfluous data and add more c++11 semantics

commit 17b2b4668ee4eb9d3a091a18df4198437afc00fe
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Jan 31 13:53:45 2016 +0100

    C++11 Convert unscoped enum into scoped one
    
    As per recommendation 10 in Meyer's Effective Modern C++
    
    This also means the string array with column type names
    can no longer be shared between c and c++ code, so
    set up a separate one in c++

commit 8f9d2ee826c6179faf0b63f0aa0ab72c6a77f5ac
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Jan 31 14:25:17 2016 +0100

    Use more C++11 features
    
    - use iterators to loop and std::find
      This allows us to use 'continue' on the loop in case
      of errors instead of using an ever more indenting if/else
    - Use auto where possible
    - Use constant iterators where possible

commit bcae6628d634ff05c3fb10687fa49ec15199ab44
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Feb 8 18:47:57 2016 +0100

    Revert to boost.regex without ICU support
    
    For some reason named capture groups trigger an uninitialized shared_ptr assert

commit e95b1e2c169862d4cfee6188ca7a545edba17bf4
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Feb 6 17:41:34 2016 +0100

    Redo parse_date function using boost regular expressions

commit 533b5eb7bea8605998994d29cb8dd287d71fc26f
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Jan 28 17:20:04 2016 +0100

    Convert error_lines GList in a vector of strings
    
    Also keep the errors separate from the original data.
    Use for loop instead of while.

commit cecfe9ecb871a1e1bb92d4b7812e51d2272c0fa4
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Jan 28 16:21:12 2016 +0100

    Replace stf based file parser with gnc-tokenizer based one

commit ce63d8aab0e2a929766b850bb48970fa4f4a6681
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri May 8 21:59:00 2015 +0200

    Use vector instead of GArray for column_types class member

commit 1507ec0c30116228423a6250f13d26962c0096bb
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 23 16:43:28 2016 +0100

    Convert GncCsvParseData into a class
    
    This is just an initial conversion. Lots of
    work is still needed to get to proper data encapsulation
    and using modern c++ semantics

commit 3a0f0dff8eb9757fb605ce9b52655a7a03b69db3
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 23 15:53:11 2016 +0100

    csv-imp - copy gnc-csv-model and make it build as c++
    
    This will be the start of a GncCsvImpTrans class that will
    manage transaction imports from csv files

commit 9ff993bbffa31b161bd79aac6f4840e54ac6f507
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Jun 7 21:59:28 2016 +0200

    Add dummy tokenizer to be used when file format isn't known yet

commit c6043ccc235de08db79fd595c53e61c68badc2f0
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Jun 12 12:27:08 2016 +0200

    Add functions to manipulate fixed width column positions

commit 48cfbc23d4f35da060d06dd6eeaa93700909dbc9
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Jan 28 12:30:29 2016 +0100

    Add fixed width file parser based on boost::tokenize
    
    Effective c++ notes:
    - explicitly declare special member functions
    - explicitly declare overriding functions as override

commit efcd266971b8d2ed59c5f09ac7d1081a0b23b4e5
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Jan 26 09:48:29 2016 +0100

    Add csv file parser based on boost::tokenize
    
    Effective c++ notes:
    - explicitly declare special member functions
    - explicitly declare overriding functions as override

commit ed7b863d8fe974b822db5e0fed7547997326f92a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Jan 28 11:18:20 2016 +0100

    Introduce base class for parsing importable files
    
    This base class takes care of the common things like
    file opening and character set conversion.
    The actual interpretation of the contents will be
    delegated to specialized child classes.
    
    Effective c++ note: explicitly declare special member functions

commit 83da518763782f84e069bd23f2a2efe64f1fc51a
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Jan 28 10:25:53 2016 +0100

    Whitespace and spelling corrections

commit d57a7ceed23f7fd60944a530a98003d521384b39
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Jan 14 17:24:13 2017 +0100

    Look for translatable strings in lib directory as well
    
    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.

commit 0dc6fdc79cafd3325002d9a61d2fa33ba290e7ae
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Jan 14 14:36:41 2017 +0100

    Use internalized goffice parts in csv-import
    
    The dependency on goffice can't be eliminated completely yet at this point.
    The stf library we're currently using to parse csv files depends on it. This
    will be fixed in a future commit.

commit baf10bb7a553a232498708b553c0e1e9def3ab1f
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Jan 26 17:13:36 2016 +0100

    Fix build issues with goffice imported sources
    
    - Remove unused includes and functions
    - Some small cleanups

commit d858c7d51db343a4495721266cb8484548036ab0
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Jan 28 09:12:43 2016 +0100

    Internalize parts of the goffice code
    
    We're using only a tiny fraction of that library.
    Adding it directly in the gnucash source saves a large dependency chain.
    
    Note this is a verbatim copy of these files from
    https://github.com/GNOME/goffice/tree/GOFFICE_0_8_17
    to preserve a clean link with it's origin.
    It will only build correctly after the next commit.

commit 20eecb05da4a02d10b5b9a0592a8903bfe102291
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Wed Jan 27 20:20:43 2016 +0100

    Small amendements to gnc-csv-account-map
    
    - add to POTFILES.in
    - const correctness fixup (c++ is picky about this)



Summary of changes:
 CMakeLists.txt                                     |    5 +-
 configure.ac                                       |    7 +-
 lib/Makefile.am                                    |    2 +-
 lib/goffice/Makefile.am                            |   19 +
 lib/goffice/README                                 |   13 +
 lib/goffice/go-charmap-sel.c                       |  746 +++++
 lib/goffice/go-charmap-sel.h                       |   54 +
 lib/goffice/go-glib-extras.c                       |  139 +
 lib/goffice/go-glib-extras.h                       |   16 +
 lib/goffice/go-optionmenu.c                        |  445 +++
 lib/goffice/go-optionmenu.h                        |   83 +
 lib/stf/Makefile.am                                |   13 -
 lib/stf/README                                     |    2 -
 lib/stf/stf-parse.c                                | 1414 ---------
 lib/stf/stf-parse.h                                |  112 -
 make-gnucash-potfiles.in                           |    2 +-
 po/POTFILES.in                                     |   22 +-
 src/app-utils/gnc-ui-util.c                        |    2 +-
 src/app-utils/gnc-ui-util.h                        |    2 +-
 src/import-export/csv-exp/Makefile.am              |    5 +-
 .../csv-exp/csv-transactions-export.c              |  346 +--
 src/import-export/csv-imp/CMakeLists.txt           |   39 +-
 src/import-export/csv-imp/Makefile.am              |   38 +-
 .../csv-imp/assistant-csv-fixed-trans-import.c     |  797 -----
 .../csv-imp/assistant-csv-fixed-trans-import.glade |  502 ----
 .../csv-imp/assistant-csv-fixed-trans-import.h     |   73 -
 .../csv-imp/assistant-csv-trans-import.c           | 3176 --------------------
 .../csv-imp/assistant-csv-trans-import.cpp         | 2013 +++++++++++++
 .../csv-imp/assistant-csv-trans-import.glade       | 1232 ++++----
 src/import-export/csv-imp/csv-fixed-trans-import.c |  695 -----
 src/import-export/csv-imp/csv-fixed-trans-import.h |   53 -
 src/import-export/csv-imp/gnc-csv-account-map.c    |    4 +-
 src/import-export/csv-imp/gnc-csv-account-map.h    |    5 +-
 src/import-export/csv-imp/gnc-csv-model.c          | 1352 ---------
 src/import-export/csv-imp/gnc-csv-model.h          |  149 -
 src/import-export/csv-imp/gnc-csv-tokenizer.cpp    |   67 +
 src/import-export/csv-imp/gnc-csv-tokenizer.hpp    |   64 +
 src/import-export/csv-imp/gnc-csv-trans-settings.c |  353 ---
 .../csv-imp/gnc-csv-trans-settings.cpp             |  399 +++
 src/import-export/csv-imp/gnc-csv-trans-settings.h |  100 -
 .../csv-imp/gnc-csv-trans-settings.hpp             |  119 +
 src/import-export/csv-imp/gnc-dummy-tokenizer.cpp  |   31 +
 src/import-export/csv-imp/gnc-dummy-tokenizer.hpp  |   62 +
 src/import-export/csv-imp/gnc-fw-tokenizer.cpp     |  195 ++
 src/import-export/csv-imp/gnc-fw-tokenizer.hpp     |   83 +
 .../csv-imp/gnc-plugin-csv-import-ui.xml           |    1 -
 src/import-export/csv-imp/gnc-plugin-csv-import.c  |   14 -
 src/import-export/csv-imp/gnc-tokenizer.cpp        |   95 +
 src/import-export/csv-imp/gnc-tokenizer.hpp        |   91 +
 src/import-export/csv-imp/gnc-trans-props.cpp      |  755 +++++
 src/import-export/csv-imp/gnc-trans-props.hpp      |  190 ++
 src/import-export/csv-imp/gnc-tx-import.cpp        |  925 ++++++
 src/import-export/csv-imp/gnc-tx-import.hpp        |  198 ++
 src/import-export/csv-imp/test/CMakeLists.txt      |   28 +-
 src/import-export/csv-imp/test/Makefile.am         |   78 +-
 src/import-export/csv-imp/test/test-csv-imp.c      |   60 -
 src/import-export/csv-imp/test/test-tokenizer.cpp  |  246 ++
 src/import-export/csv-imp/test/test-tx-import.cpp  |  211 ++
 .../csv-imp/test/utest-gnc-csv-model.c             |  462 ---
 src/libqof/qof/test/test-qofbackend.c              |    2 +-
 60 files changed, 8237 insertions(+), 10169 deletions(-)
 create mode 100644 lib/goffice/Makefile.am
 create mode 100644 lib/goffice/README
 create mode 100644 lib/goffice/go-charmap-sel.c
 create mode 100644 lib/goffice/go-charmap-sel.h
 create mode 100644 lib/goffice/go-glib-extras.c
 create mode 100644 lib/goffice/go-glib-extras.h
 create mode 100644 lib/goffice/go-optionmenu.c
 create mode 100644 lib/goffice/go-optionmenu.h
 delete mode 100644 lib/stf/Makefile.am
 delete mode 100644 lib/stf/README
 delete mode 100644 lib/stf/stf-parse.c
 delete mode 100644 lib/stf/stf-parse.h
 delete mode 100644 src/import-export/csv-imp/assistant-csv-fixed-trans-import.c
 delete mode 100644 src/import-export/csv-imp/assistant-csv-fixed-trans-import.glade
 delete mode 100644 src/import-export/csv-imp/assistant-csv-fixed-trans-import.h
 delete mode 100644 src/import-export/csv-imp/assistant-csv-trans-import.c
 create mode 100644 src/import-export/csv-imp/assistant-csv-trans-import.cpp
 delete mode 100644 src/import-export/csv-imp/csv-fixed-trans-import.c
 delete mode 100644 src/import-export/csv-imp/csv-fixed-trans-import.h
 delete mode 100644 src/import-export/csv-imp/gnc-csv-model.c
 delete mode 100644 src/import-export/csv-imp/gnc-csv-model.h
 create mode 100644 src/import-export/csv-imp/gnc-csv-tokenizer.cpp
 create mode 100644 src/import-export/csv-imp/gnc-csv-tokenizer.hpp
 delete mode 100644 src/import-export/csv-imp/gnc-csv-trans-settings.c
 create mode 100644 src/import-export/csv-imp/gnc-csv-trans-settings.cpp
 delete mode 100644 src/import-export/csv-imp/gnc-csv-trans-settings.h
 create mode 100644 src/import-export/csv-imp/gnc-csv-trans-settings.hpp
 create mode 100644 src/import-export/csv-imp/gnc-dummy-tokenizer.cpp
 create mode 100644 src/import-export/csv-imp/gnc-dummy-tokenizer.hpp
 create mode 100644 src/import-export/csv-imp/gnc-fw-tokenizer.cpp
 create mode 100644 src/import-export/csv-imp/gnc-fw-tokenizer.hpp
 create mode 100644 src/import-export/csv-imp/gnc-tokenizer.cpp
 create mode 100644 src/import-export/csv-imp/gnc-tokenizer.hpp
 create mode 100644 src/import-export/csv-imp/gnc-trans-props.cpp
 create mode 100644 src/import-export/csv-imp/gnc-trans-props.hpp
 create mode 100644 src/import-export/csv-imp/gnc-tx-import.cpp
 create mode 100644 src/import-export/csv-imp/gnc-tx-import.hpp
 delete mode 100644 src/import-export/csv-imp/test/test-csv-imp.c
 create mode 100644 src/import-export/csv-imp/test/test-tokenizer.cpp
 create mode 100644 src/import-export/csv-imp/test/test-tx-import.cpp
 delete mode 100644 src/import-export/csv-imp/test/utest-gnc-csv-model.c



More information about the gnucash-patches mailing list