Commit Graph

710 Commits

Author SHA1 Message Date
rosenfield.albert
86d034b7d0 * Exclude "0x" from XML and CSV files, making the hex strings easier to parse on import.
* Handle NULLs explicitly in HTML export.
* Switch CSV import defaults to match those used by export.  Helps with issue #709.
2008-09-04 13:07:48 +00:00
rosenfield.albert
1defb9eaa6 * Bugfix: default enclose/separate for CSV should be " and ;. Takes care of export part of issue #709.
* 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.
2008-09-03 21:53:45 +00:00
Ansgar Becker
0115bfa2ce rfe #708: No indicator of changed row . Adds a red small triangle at the top left corner of a modified cell. Background colors don't work here as the cell always has the selection color before modifications get posted. 2008-09-03 19:32:25 +00:00
Ansgar Becker
502d15cca1 CSV import: Allow charset selection on server versions 5.0.38 +, but not on 5.1.0 to 5.1.17 2008-09-03 17:27:47 +00:00
Ansgar Becker
562e44782f Remove no longer relevant and unimportant name from the "Thanks" box in the about dialog, move the others around in a better order of importance. 2008-09-03 06:09:00 +00:00
Ansgar Becker
789e6672d6 LOAD DATA with charset is supported since MySQL 5.1.17. On prior versions it makes no sense to fill the comboCharset on the Import textfile dialog.
See http://dev.mysql.com/doc/refman/5.1/en/load-data.html
2008-09-02 23:21:44 +00:00
Ansgar Becker
cc901ae8d3 Fix bug #693 Import CSV file: LOAD DATA statement breaks data if the CSV file has a different charset than the current DB. Implements the discussed pulldown on the first page of the dialog, below the file input. Defaults to UTF-8 selection. 2008-09-02 23:11:05 +00:00
Ansgar Becker
48aca3d928 Disable VirtualTree's totally annoying autoscroll feature for both DataGrid and QueryGrid. Just seen and then focused fields tend to get lost for the eye. 2008-09-02 21:51:17 +00:00
rosenfield.albert
44b8b70fb3 Minor cosmetic issue. 2008-09-02 20:17:33 +00:00
rosenfield.albert
c1e48c3bf5 Bugfix: buffer length is the input buffer, not the output buffer.
Bugfix: HexToBin() will simply stop when hitting invalid characters, make sure the buffers are valid in that case (should add code to raise an exception).
2008-09-02 20:09:55 +00:00
Ansgar Becker
18a9b29af6 Fix bug #710: No CSV options on Vista by switching to a standard TSaveDialog. 2008-09-02 19:38:24 +00:00
Ansgar Becker
2efb248325 Virtual Tree needs a further fix for usage with custom DPI settings: its default node height is hardcoded and only works for 96 DPI. Make that dynamically by checking the grid's font height. Fixes issue #705: Unreadable text on Vista 2008-09-02 18:34:39 +00:00
Ansgar Becker
c15f1ce7a5 Vista, Field editor: Work around for higher DPI settings no longer needed using the Segeo font. Instead, fix the pulldown's ItemHeight in that case which per default only fits for 96 DPI. 2008-09-02 18:22:18 +00:00
Ansgar Becker
ff5480682a Fix bug #706 Unintuitive connection buttons. At least the buttons are completely visible now in all DPI modes. 2008-09-02 17:44:34 +00:00
rosenfield.albert
5c9a096179 Use WideFormat() instead of Format(). 2008-09-02 15:07:25 +00:00
rosenfield.albert
881da41fa0 * Export binary data to SQL without corruption.
* Add todo notes in GridTo[Xml,Csv,Html}.
* Whitespace adjustments.

Partly fixes issue #659.
2008-09-02 15:05:02 +00:00
rosenfield.albert
807484ab6e Use Format() where appropriate. 2008-09-02 14:19:58 +00:00
rosenfield.albert
952cdd5a18 Fix a wrong comment. 2008-09-02 09:32:36 +00:00
rosenfield.albert
5d877d7f18 Avoid overflowing the target compatibility box. 2008-09-02 07:21:23 +00:00
rosenfield.albert
883cd1e7d8 Avoid mucking with other client applications character_set_connection: do not emit a SET CHARACTER SET into exported SQL files. Instead rely on the receiving application to correctly interpret files in Unicode format. 2008-09-02 07:14:33 +00:00
rosenfield.albert
3ab4029776 MEDIUMTEXT is wider than TEXT so list it last. 2008-09-01 22:01:22 +00:00
rosenfield.albert
5e072c39a3 Bugfix: MySQL Server does not accept 0x as an empty string of bytes, give it '' instead when composing SQL.
Todo: Perhaps looks a little silly with 0x in the grid for empty binary fields, too.
2008-09-01 21:59:04 +00:00
rosenfield.albert
cc2f93b24e * Add a binary editor to allow editing (var)binary and (tiny|medium|long)blob fields without messing up NULs etc.
* Add a few notes about where AVs seem to randomly occur when GridPost{Insert,Update,Delete} and EnsureDataLoaded invokes the query logic from outside the main thread.

Fixes issue #659 as far as the grids go,  but not for export functions.
2008-09-01 21:46:28 +00:00
Ansgar Becker
6a4c1e7637 Change problematic/interfering shortcut "Enter" to "Ctr+Enter" for switching between database and table tab, having a table focused. "Enter" is needed for the "end editing" event when a table gets renamed which didn't work before. Fixed now. 2008-09-01 20:31:56 +00:00
rosenfield.albert
d60b1b6f93 Rename 'memoeditor' to 'texteditor', in preparation for inclusion of a binary editor. 2008-09-01 19:47:05 +00:00
rosenfield.albert
92f4ebc762 Bugfix: (regression) avoid using 4.x functions UUID() and IS_FREE_LOCK() during export. 2008-09-01 18:23:22 +00:00
rosenfield.albert
020b620c47 Avoid destructive actions (DROP before CREATE) when user tried to do a 'recreate' action on two sessions connected to the same database. Fixes issue #703. 2008-09-01 17:51:25 +00:00
rosenfield.albert
85075d5be7 * Fix inconsistent enable/disable of the other host database dropdown.
* Fix generating wrong SQL when non-enabled cbxDatabase was checked.
* Correct wording a few places.
2008-09-01 16:21:24 +00:00
Ansgar Becker
4c47dc04e1 Clean up connection dialog by making it a bit more compact, gathering all top buttons on a toolbar. Removes a workaround for loading images on a TPNGSpeedbutton and fixes some too wide labels using the Vista font. 2008-08-31 20:46:31 +00:00
Ansgar Becker
9a52593dc2 Use Vista's Segeo font for all forms by using the SetVistaFonts() in mainform plus the new routine InheritFont() which simply overtakes fontname and size from the mainform to all other forms. 2008-08-29 18:20:14 +00:00
Ansgar Becker
084914b077 Sanitize GridToCSV/HTML/XML routines from redundant stream writing code. Introduce new StreamWrite() method, also used by wfs() which does slightly more than StreamWrite(). 2008-08-29 17:49:52 +00:00
Ansgar Becker
e5c43fe823 Add helper library for Vista related GUI fixes. With permission of the author Nathanial Woolls via pm.
See http://www.installationexcellence.com/articles/VistaWithDelphi/ for technical details. No license details out there unfortunately.
2008-08-28 21:46:03 +00:00
Ansgar Becker
76f2952a84 Try to fix issue #693 : Import CSV file: LOAD DATA fails with UTF-16 encoded file.
Pros:
- CSV/HTML/XML exports are now encoded as UTF-8, not UTF-16. Importing such CSV files should now work magically when using the Import CSV dialog.
- Exported files should now be significanty smaller when most content is latin1 encoded.
2008-08-28 16:05:56 +00:00
Ansgar Becker
776fa891a8 Use WideDequotedStr as a replacement for the helpers:TrimC . Fixes Unicode in autocompletion logic. 2008-08-27 18:09:53 +00:00
Ansgar Becker
07d4f1c9d4 Fix (re)storing Unicode table and column names for the ORDER BY clause 2008-08-27 18:01:15 +00:00
Ansgar Becker
70969b2fc1 Avoid a full table load on column auto resizing by using the new Column.coSmartResize option in VirtualTree 4.7.0 . "Smart resizing" only takes the cells in view to check the needed width, instead of all cells. 2008-08-27 15:40:15 +00:00
Ansgar Becker
007798c10a Update VirtualTreeview component to 4.7.0, released on Aug 24, 2008. 2008-08-27 15:28:43 +00:00
Ansgar Becker
baa8ceb024 Memo editor enhancement: Disable/enable the "Apply" button according to if the text was modified or not. 2008-08-27 14:32:41 +00:00
Ansgar Becker
369450d14f Memo editor fix: Changing the scrollbars invoke the OnChange event. Avoid thinking the text was really modified in that case. 2008-08-27 14:20:58 +00:00
Ansgar Becker
06a7242891 Fix crappy positioning of memo editor: MemoEditor.Parent was set to DataGrid which was the reason for why it couldn't exceed the borders of DataGrid. Now, Parent is left to default (mainform) and it's centered on the main form, which seems to also fix some cosmetic stuff on Vista. 2008-08-27 14:11:49 +00:00
Ansgar Becker
8367deb592 Fix bug #613 Target database not remembered in Export window 2008-08-26 19:38:49 +00:00
Ansgar Becker
cd6e4024a6 Fix bug #689 insert row into table BUTTON is enabled when I'm not connected 2008-08-26 10:10:28 +00:00
Ansgar Becker
43b86901d7 Fix displaying the original text in the memoeditor when editing a field for the second time. 2008-08-26 10:05:28 +00:00
Ansgar Becker
55aad43115 The memoeditor has a window heading since 1700 which surely includes a "Close" system button. If this button was pressed, editing was neither cancelled nor applied. Fix that by implementing a confirmatin dialog in case the text was modified. 2008-08-26 09:52:58 +00:00
Ansgar Becker
2cff5732fc Remove no longer needed routine for autocalculating row limit: GetCalculatedLimit. The Export SQL dialog now uses a constant number of 5000 rows fetched per step. Also removes the option in the preferences screen for limiting the data amount, which was misleading the user before and only used to limit the export stuff. 2008-08-26 09:09:41 +00:00
Ansgar Becker
e2b67b5831 Cosmetic: Replace old style SQL wait mouse cursor with system default wait cursor. Especially prettier when running Vista. 2008-08-26 08:36:06 +00:00
Ansgar Becker
c197a86751 Fix rfe #695 Disable "Drop database" in tree popup if a table is selected 2008-08-26 08:28:07 +00:00
Ansgar Becker
2ff02a7eb1 Don't hide the window caption of the memo editor, display the form as toolwindow. Looks better since the form is centered. 2008-08-26 06:14:48 +00:00
Ansgar Becker
7e2897ebcf Fix bug #696 Problem with popup editor editing the last record.
Solution: Always center the memo editor within the grid.
2008-08-26 05:56:43 +00:00
Ansgar Becker
d8f5674b3d Implement ENUM grid field editor, basically a combobox 2008-08-26 05:14:05 +00:00