* Keep only one TRegistry object in memory instead of creating a new one in each routine.
* Move out relevant functions and TRegistry object from main to helpers to make them usable globally.
The bug seems caused by any TUpDown + TEdit which fire OnChange when they get visible for the first time. PageControl.OnChanging + .OnChange help here.
* Remove sub tabs
* Replace the color panels by a combobox showing which item is to be changed and a color combo box.
* Add a SynMemo, displaying color and font changes immediately using some sample SQL text.
* Normalize component names
* Apply and use modal results to OK and Cancel buttons
* Fix apply button to be enabled after changing NULL color
* Fix all tab orders
* Fix cut labels on Vista
* Also disable btnOK after applying changes
* Find better/shorter captions for main tabs
* Remove form borders and apply 8px edge margins instead
* Indicate in CSV files which rows need to be UNHEX()ed with LOAD DATA INFILE during import. Takes care of export part of issue #709.
* Optimization: stop copying records and arrays to stack where appropriate. See also note in helpers.pas.
* Factor out code to extract a cell in it's full width into EnsureFullWidth().
* Create method DiscardData() to release memory for a row.
* Bugfix: GridTo{Xml,Csv,Html} did not export cells in their full widths; they do now. Fixes remainder of issue #685.
* Bugfix: remove superfluous field separator at end of each CSV record.
* Bugfix: CSV field enclose characters within field data must be escaped by printing the enclose character twice, as per de-facto (is it a standard when there are hundreds of applications supporting it, but *all* the major ones all come from the same company?..) CSV.
* Indicate in CSV files which cells are NULL by removing field enclosing (non-standard MySQL CSV extension).
* Indicate in XML files which cells are null and which cells are in hexadecimal format.
* Bugfix: always escape <, &, > in HTML and XML files.
Affected issues: rfe #618, rfe #464, bug #324, bug #635 (maybe more)
Breaks: Unicode grid editing (due to yet unsolved bug #620), enum pulldowns, MEMO editing
Major changes:
- editor tab at bottom completely removed, SQL log is always visible now.
- memo, blob and enum editors don't have a replacement yet. This is left for later commits.
- grid cells are colorized to signalize their datatypes
- UPDATEs, DELETEs and INSERTs are composed by own code, no longer by Zeos internal mechanisms. Should make debugging easier.
- UPDATEs + DELETEs on tables without unique key are blocked now.
- editing in the query grid is always blocked. Would need some extensive parser to allow that.
a) some hundred lines of code from childwin.pas to main.pas
b) redundant hints/captions/shortcuts/events for similar buttons/menuitems to their corresponding TAction in main.dfm .
This change
a) avoids several inconsistent captions like described in issue #595
b) makes it easier to have toolbars on the mainform which are controlled by childform.
- Consequently use Mainform.GetRegValue() to read these values, an overloaded method with either Boolean, String or Integer result. These methods keep a global TRegistry object (regMain) open while the application runs, rather than creating a new one for each caller.
- Remove Mainform.SaveRegValue() which was used in one or two callers. Rather use a TRegistry object and do that by hand. There's no significant advantage in using a SaveRegValue method currently.
* TNTGrid is not capable of displaying a sort arrow in column titles. So, signalize sort direction of columns in grids and listviews by lightgrey (= ascending) and mediumgrey (= descending)
* Remove special color for NULL cells in grids because it can conflict with the new sorting colors. Instead, place a grey (NULL) text in these cells. Less gaudy colors now.
* Also remove grey background in primary key columns for the benefit of sorting colors. PK cells have bold font anyway, should be noticable enough.
- File logging can be activated in preferences dialog, by default of course NOT active.
- One file per session is written to [Documents and settings]\[username]\Application data\HeidiSQL\Sessionlogs\
- Filename pattern: "[session name] [zeropadded session nr].log"
- Fetch more descriptive CSIDL_* constants for system folders from ShlObj unit rather than hardcoded hex values
- Consistency:
- Move all global preferences vars from mainform to childwin.
- Get rid of unused legacy vars NativeFieldTypes + LanguageOffset
- Readability:
- Add documentation
- Prefix preferences vars with "pref"
- Get rid of WITH .. DO statements