* Sanitize main unit from unused variables
* Move global variables to public scope
* Bring public vars into some reasonable order
* Move constants to const.inc, unless dependent from some used VCL unit
* Remove workaround for Unicode text to and from clipboard
* Fix writing/reading wrong encoded text into/from registry - no need to use Utf8Encode() any longer
* Implement TMySQLQuery.ColAsAnsi() for cases in which we read binary data.
* Removes TNT Unicode controls, which are no longer required. All VCL controls now have native Unicode support.
* Remove Delphi 11 packages, otherwise we would either need to keep TNT or break Unicode
* PngComponents update from Uwe Raabe on http://cc.embarcadero.com/Item/26127
* Adjust auto build process
* Since Delphi 2009, Strings are now UnicodeStrings, not AnsiStrings any longer. Fix a bunch of compiler errors which came along with this change.
TODO: Project should compile but give tons of compiler warnings.
* Collect all relevant controls of one query tab and its variables in a new object
* Collect these tab objects into a TObjectList
* Fixes mixed up QueryMemoLineBreakStyle variable - was used for all tabs, now part of the above mentioned object
* Same goes for minor remembering of selected tab on queryhelpers list
* Use filenames on tabs if saved or loaded.
* On tab close ask if content should be saved.
* Use AttrCount and Attribute[x] in SynEditHighlighters to iterate through available attributes, instead of doing less with more code.
* Use integer registry values for highlighter colors (were strings) and also integers for bold, italic, underline, strikeout (was one boolean per attribute).
a) optimizes registry access b) normalizes registry names and c) simplifies code. Unfortunately this breaks everyone's customized highlighter style - hopefully ok to do this is in an interim build.
* Leads to unpredictable errors in special cases
* Advantage over SHOW TABLE STATUS is hardly measurable
* Makes integrating stored routines into the database tab complex and unstable for the benefit of nothing
* 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.