This code is not yet complete but I want to merge from trunk to get my previous branch.
merge from trunk - no conflicts
Uncrustify previously merged files
When we get a click on the small 'clear' button for a TCmbAutoComplete we do 3 things: set selectedIndex to 0, then to -1 then set text to empty string.  This check-in moves setting the text to empty as the first thing because I noticed that setting the selectedIndex also sets the text to empty but then we potentially ignore the event becuse of our flag to suppress duplicate events.  What I noticed was that sometimes clicking the clear button did not give rise to a argument changed event.  I hope this change doesn't break anything else.
This implements Find for both Account Code and Cost Centre Code
Created manual code to create the message that is displayed when there are outstanding changes to be saved.  This commit works for Partner Edit and for GL Batch and Gift Batch (and recurring equivalents).  There will be more screens that require the same treatment.
Uncrustify
Small modification to the 'WriteProjectFile' code so that we can include files named like BaseName.ExtraName.ManualCode.cs which are compiled as dependent on the BaseName-generated.cs.  Any number of these 'ExtraName' files can contain manual code and be associated with the BaseName-generated.cs file.  I have used this to encapsulate the filter/find manual functionality inside each of the hierarchy screens.
I missed this off the last change to this file.  If we ShowDetails for a null record we now will clear the details from the details panel.  We need this because filtering can result in no records to display in the grid.
Having changed the template this code is no longer required because the generated code handles the functionality.
Moved the manual filter/find code out of the main Manual file and into the new helper classes.  Much neater!
Added code to Partner-Edit so that table names are turned into nice names when we list the outstanding changes to be saved.  I also forgot that it is possible to need to save multiple records on screens that have grids with a New button.  So the message now does state how many records need to be saved.
Had a re-think about the best way of internationlising the table names into the 'Do you want to save' message.  I have modified (slightly) the GenerateORM code so that the Table Label is wrapped in Catalg.GetString.  That way the code to display table names in a friendly way is also in the user's language and it is much better to be centralised.  So as a result I have been able to revert Partner Edit to use the default Utils Object behaviour.
Just 4 detail changes where the label attribute had space characters missing.
Uncrustify
Merge from trunk - no conflicts
Another merge with trunk!
More trunk merge with null transaction fixes
Modified the SQL filter to allow for the fact that NULL rows for CheckBoxes behave as False.  I was getting incorrect filtering for the BankAccount flag.
Uncrustify - mostly code that came in from a merge!!