dd398bb101
* Factor more code out of each database object editors into parent TDBObjectEditor.
...
* Use this chance to add a confirmation dialog when leaving the editors, to ask the user if he wants to save modifications. Fixes issue #1524 .
* Also, enhance Mainform.RefreshTreeDB in a way that it does not trigger the OnFocusChange event. Important for the editors when saving changes.
2009-12-14 23:55:36 +00:00
3aef5bb5e5
Unify Init() method of database object editors.
2009-12-13 07:32:46 +00:00
2dcf02feb3
Implement a parent class for all database object editors (table, view, routine, trigger) and let these editors derive from this class. Could simplify code in the future.
2009-12-11 18:20:16 +00:00
b4cca2ea1f
Implement handling of triggers as separate database objects, on the same level as tables, routines and views. Means we have a trigger editor frame, a new icon and various code extensions. Fixes issue #806 .
2009-12-11 16:07:59 +00:00
1f1e771fa6
Make views show their data again in data tab. Fixes issue #1515 .
2009-12-09 21:08:38 +00:00
a3aae38d2e
Do not add UTF-8 BOM headers to written files, they are not needed in most cases, and break other tools from reading them, e.g. mysqldump. See http://www.heidisql.com/forum.php?t=4622
2009-12-08 23:51:43 +00:00
0e29eda7ac
Add preference option to use locale number format for CSV+XML+HTML exports. Mainly to work around an Excel bug, which expects float values to be formatted with locale decimal separator when pasting. Fixes issue #1459 .
2009-12-08 09:14:42 +00:00
43fe695bc1
Make SHOW KEYS FROM <selected-table> and SHOW COLUMNS FROM <selected-table> superfluous. To achieve that, move parser for SHOW CREATE TABLE string from table editor to helpers unit, where it can be called by everyone. For consistency reasons the index list in table editor is converted from a TWideStringList to a TObjectList, like both table and foreign key list. However, that results in a large diff here.
2009-12-04 21:20:06 +00:00
1e0f6444b8
Enhance readability of sorted columns in high contrast mode (white text on black background). Check brightness and decide for a brighter or darker background color as needed. See issue #1366 .
2009-12-01 00:17:21 +00:00
1b1a2c2edc
No need to center selected node vertically normally. Should make selecting the next node after deletions in datagrid nicer. See issue #1471 .
2009-11-29 00:21:00 +00:00
8ac6fbd15c
There is no 64 bit unsigned integer type in Delphi, but MySQL has it: bigint unsigned. Handle these as strings in the table editor. Fixes issue #1489 .
2009-11-29 00:18:20 +00:00
a0fc5e2065
Readd code which I deleted in r2790 to achieve numbers without thousand separators in grids. A side effect was that FormatNumber(Float) still returned numbers with thousands. Avoid that, and let both int and float overloaded FormatNumber() functions pass their parameter to FormatNumber(string), and introduce a thousands parameter to be able to turn that off for grid numbers.
2009-11-25 23:17:08 +00:00
1c0af2316a
Turn off adding regional thousand separators in grids again. 4 reports in one day tell me that users don't like that. Fixes issue #1484
2009-11-25 19:23:41 +00:00
e5771ad084
Do not add thousand separators to zerofilled numbers
2009-11-24 18:36:57 +00:00
6b5c692d3b
Fix formatted, signed floats with a thousands separator after the minus sign, e.g. "-,123,456.789"
2009-11-23 21:57:34 +00:00
cdb936b77d
Consistently use FormatTimeNumber() also for formatting server uptime. Leave out the day portion if zero.
2009-11-23 21:24:25 +00:00
a1d0d0c0ec
Prefer local formatting over raw numbers in grids:
...
* This time, also support formatted integers, not only floats.
* Do not quote both types in grid updates/deletes/inserts.
* Do no internal conversion from string to float and back to string (FloatToStr did that) to avoid silent data corruption. Just use strings in all places.
* Replace FloatStr() function with UnformatNumber(), which is also able to handle integers
Should fix issue #1012
2009-11-23 20:11:13 +00:00
ef5fbe225a
Rewrite export to SQL dialog and code. Integrate that into the table tools dialog, let it use the nice checkbox tree and make exporting lighting fast.
...
* Fixes issue #886 (broken CREATE TABLE)
* Fixes issue #608 (full backup)
* Fixes issue #281 (export views)
* Fixes issue #307 (header in directory mode)
2009-11-16 01:24:49 +00:00
f6a4748081
WinExec() is deprecated in Vista and Windows 7, even in WinXP it was only kept for compatibility to 16 bit applications. Replace these 3 calls with ShellExecute(). Fixes issue #1406 .
2009-11-05 00:20:27 +00:00
9aebe487dc
Remove dead code
2009-10-30 18:51:45 +00:00
12a8e2ebc5
Implement a more lightweight connection layer, consisting of 2 units in source directory. Breaks threading and window to window communication, which should be reimplemented later.
2009-10-28 00:08:49 +00:00
aaa02877a2
Cosmetic in project files:
...
* Move const.inc and compilers.inc back to main source directory
* Move remaining few lines of code from heidicomp.pas to helpers.pas
* Remove components/compilerdetection and components/heidisql
* Remove remainders of EDBImage component, unused since Aug 08.
2009-10-19 22:13:04 +00:00
0790c125f4
Only check selected table node(s) in table tools tree, if table(s) were right clicked. Check db node if that db was right clicked. Fixes issue #1362 .
2009-10-17 11:17:59 +00:00
c6be8dd575
Implement customizing of shortcuts for all available TActions and SynEditor commands. Fixes issue #536 .
2009-09-21 23:12:21 +00:00
60beacc049
Implement a second tab on the table tools dialog: "Find text on server". Scans all tables with OR'd LIKE clauses for a given text. User can restrict that search to a data type category (integer, text, etc.). Fixes issue #529 .
2009-09-17 23:00:29 +00:00
a7eedd3823
Table editor, "Add column" action: Pointer to added TColumn object was mixed up with an existing column. ALTER code also needs to follow the order of tree nodes. Fixes issue #1340 .
2009-09-05 09:30:49 +00:00
a2c327fd26
Find a more self-explanatory name for ResetVTNodes()
2009-09-03 22:26:40 +00:00
be2ec499f8
Refactor internal handling of columns in table editor. Replaces the multi TStringList workaround with a more readable, object oriented approach. One minor visible effect is lightning fast initializing on very huge tables with several 100 columns. Apart from that this change should not affect any visible stuff.
2009-09-03 22:18:29 +00:00
1d6ff80121
Code cosmetic:
...
* Move "const" + "type" fragments to a unified place.
* Use mixed case instead of all upper in a variable
* No need to format the "uses" list vertically
* Move helper InheritFont() to helpers.pas
2009-08-30 06:27:53 +00:00
6517a04eff
Implement creation and editing of foreign key constraints in a separate new tab on the table editor. Fixes issue #400 .
2009-08-16 20:32:37 +00:00
4cc0e67bf7
Show hints on all VirtualTree's, including table editor's columns list and index editor.
2009-08-14 18:08:27 +00:00
4ff1acf408
Refactor session manager:
...
* Replace the pulldown by a list to get a better overview
* Display last connected and created date in details
* Prompt user on form closing if modifications should be saved
* Remove moreorless useless image
* Remove options "timeout" and "sort database"
TODO: Display some help text on the right side when no session at all is existant to help new users.
2009-08-09 23:57:52 +00:00
7e9fcc6586
Implement multiple query tabs. Fixes issue #443 .
2009-08-03 23:16:16 +00:00
4d9d5a1ff7
Enable multi row selection in table editor's column list. Relevant functions adjusted:
...
* Add to index
* Create index
* Remove Column(s) (=> makes the "Clear columns" button superfluous)
2009-07-26 19:45:02 +00:00
3ffeb708c1
Disable hottracking in non-Vista mode, looks ugly in XP but nice in Vista. Fixes issue #1263 .
2009-07-25 12:40:25 +00:00
cd1000c601
The popup text editor is only called within the InplaceEditor. So it doesn't seem to have some advantage any longer to have an abstract base class for the memo and binary editor.
2009-07-21 06:03:30 +00:00
d26d93aefa
Sanitize MySQL structure unit:
...
* Remove old, unused code (TMysqlIndex, TMysqlField)
* Move relevant code from helpers to mysql_structures unit
* Rename various stuff to more compact names
* Use ordinal values instead of constants for datatypes and their categories
* Replace TGridColumn.IsXYZ boolean's by a new .DatatypeCat property
2009-06-14 19:45:48 +00:00
1b8301c64e
Avoid AV in StrToFloat when strings with multiple commas are passed to MakeFloat. Fixes issue #1217 : Trying to change sql_mode variable gives a floating point error
2009-06-11 06:41:47 +00:00
f01893d08a
Experimental: Reintroduce table tab, this time by placing the existing editors for tables, views and routines as TFrames onto that tab. Unfortunately a whole bunch of GUI changes involved here which makes the diff unreadable. Should solve issue #1149 .
2009-06-04 12:56:55 +00:00
20e21f6cc4
Try to fix issue #1127 and issue #1131 (handling float numbers in grids). Do not convert them back and forth using MakeFloat + FormatFloat. Breaks rfe #1012 and r2320 . FloatField.AsString returns an exponent number in various cases which is compatible between MySQL and Delphi. Only those exponent numbers must not be quoted in an SQL sentence - which fixes this commit.
2009-05-16 18:13:56 +00:00
7f32b33505
Issue #436 : Implement a new table editor dialog. Nukes both create + alter table dialogs.
2009-05-12 22:24:09 +00:00
eadeed1ae2
Use helper methods where possible, and leave GUI stuff in form units.
2009-04-28 22:35:00 +00:00
d25e271591
Detect and process NUL characters before giving loaded SQL to SynEdit. Works around issue #1093 .
2009-04-28 21:16:18 +00:00
a827f68509
Work around for issue #1097 : Text editor mangles text containing NUL. Pops up a warning if text contains one or more #0 chars and removes all of them for editing.
2009-04-25 18:08:31 +00:00
5687b8d7bf
Extend detection of irregular linebreaks into a more informative method, now detecting various (non)consistent linebreaks. Related: issue #1095 and issue #1094
2009-04-21 17:06:42 +00:00
34520be50c
* Update to WideString.
...
* Update to SynEdit (rather than MEMO) bugs.
2009-04-17 11:56:08 +00:00
51f8c54e91
Partial revert of r2369 to restore potentially useful functions.
2009-04-17 11:20:31 +00:00
c92994aa99
* Redo r2106 and r2283, fixing issue #916 and #1000 .
...
Did not bother adding char5, char6 and char7, opted instead to run escChars() twice. Haven't tested performance but adding the extra chars could be faster.
* Add comment explaining why these characters are escaped.
2009-04-17 01:03:53 +00:00
6ee468fb26
Revert r2106 and a similar change. Fixes issue #1092 .
2009-04-16 14:33:06 +00:00
d3c505f032
Remove unused constants and code.
2009-04-05 11:54:02 +00:00