5d7b25d7e9
Add preference option to restrict number of application instances to 1. If the executable is open and called a second time, it's brought to foreground. Plus, if a filename was passed, a new tab is opened. Should fix a part of what is described in issue #1332 .
2010-01-24 00:14:23 +00:00
f7ed772b29
Code cosmetic: Remove dead code, and bring some variables into the right order
2010-01-24 00:03:51 +00:00
97ce23ee1f
Add support for indexes using BTREE/RTREE/HASH algorithm. Make that visible in a new, 3rd column in the index tree. Fixes issue #1576 .
2010-01-22 10:21:27 +00:00
a5a1e138b8
Don't quote numeric values in grid export as SQL. See: http://www.heidisql.com/forum.php?t=4885
2010-01-22 08:54:25 +00:00
24e59b329b
SizeOf(AnsiStrings) returns 4, the size of a 32 bit pointer, not the number of bytes which one char takes. Fix that. Also, stabilize text copying to clipboard by just using Clipboard.AsText. Fixes issue #1614 .
2010-01-19 23:51:00 +00:00
b1a7e7780f
Add formatted HTML to clipboard for "Copy rows as HTML". Fixes issue #1249
2010-01-19 00:45:31 +00:00
0d8653db6a
Override VirtualTree's incremental search event, make it case insensitive, and apply that event in FixVT to various lists and grids, which have IncrementalSearch enabled. Fixes issue #1605 .
2010-01-17 10:50:47 +00:00
9080ad7607
No need to use the Wide* version of string functions any longer.
2010-01-15 20:28:48 +00:00
d70ea85786
Ask user if in-memory modifications to table, view, trigger or routine should get saved, this time including a Cancel button, which cancels either
...
* focusing a different object in database tree and/or
* closing application
TODO: Internal switching to different connection probably needs that too?
2010-01-15 17:13:24 +00:00
52ea8f410a
Use Unicode enabled TStringList instead of TWideStringList in all places. Should have no visible effect, apart from a very minor performance optimization, as String reference pointers are handled by Delphi, WideString by Windows.
2010-01-14 19:41:58 +00:00
fcb62acc07
Enhance too bright NULL colors for grids. Fixes issue #1584 .
2010-01-13 22:44:00 +00:00
4d47af1e9e
Code cosmetic:
...
* 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
2010-01-10 17:11:42 +00:00
43b010d227
Inject SVN revision into executable's version infos last segment (4.0.0.[r]). Don't modify main.pas any longer, just version.rc by a new console app.
2010-01-10 13:53:52 +00:00
25ac096554
Make more use of Generics, this time for columns, keys and foreigne keys lists, used by main unit and table editor. Frees code from annoying casting and makes it more type safe.
2010-01-08 00:30:51 +00:00
a4652d39a4
* Fix compiler warnings due to implicit AnsiString to (Unicode)String or vice versa
...
* 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.
2010-01-07 00:00:56 +00:00
0106ee3b4f
Fix broken UTF8 export files
2010-01-06 00:50:17 +00:00
7d401ffde8
Upgrade to Delphi 2010:
...
* 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.
2010-01-05 23:14:33 +00:00
e13c019022
Add underscore character to list of letters, to avoid separation of keywords like UNIX_TIMESTAMP
2009-12-30 09:20:35 +00:00
c61b2ead2e
Implement SQL pretty formatter, fixes issue #428 .
2009-12-30 01:23:44 +00:00
eff81d8e35
Code cosmetic: Let GetSelectedTable return a TDBObject which has the same properties as TListNode but even more.
2009-12-25 11:26:05 +00:00
e356cb7ed7
Sanitize all "uses" clauses from unneeded unit references.
2009-12-22 23:19:56 +00:00
45ea75752a
Fix empty returning string, broken in r2890. Fixes issue #1549 and various other places where esc() is called.
2009-12-21 11:31:58 +00:00
18b7b8bb82
Only copy selected rows in "Copy as ..." actions. Fixes issue #789 .
2009-12-21 11:24:19 +00:00
a9e404e181
Move string escaping methods from helpers to connection unit, replace code in TMySQLConnection.EscapeString(). So we don't use two different methods for the same task. Also, EscapeString() converted WideStrings into Strings using Utf8Encode, which was then displayed as broken text in SQL log.
2009-12-21 10:23:58 +00:00
35e8bbb304
Do not fetch database objects from information_schema, which has gotten extremely slow on servers with many databases and triggers, since we support triggers.
...
* Instead, use separate SHOW commands for tables, functions, procedures and triggers
* Catch this chance to move these methods from main unit to mysql_connection, so they're accessible in a more generic way
* Additionally, introduce new classes TDBObject and TDBObjectList which provide a more generic way than TMySQLQuery to access these database objects.
Fixes issue #1529
2009-12-19 11:40:28 +00:00
03d7052d78
Fix ALTER code for modified index names, and added + deleted indexes. Fixes issue #1533 .
2009-12-15 00:25:46 +00:00
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