251 Commits

Author SHA1 Message Date
adf68ecc65 Issue #401: Extend SSH tunnel options: Allow user to set SHH host/ip and port, and a private key file used for authentication. If SSH host is not set, use what the user specified as MySQL server host. 2010-04-01 23:34:07 +00:00
79fc6c74d4 Modify logic in Explode(), so it returns an empty last segment when returning list has one or more items already. Fixes issue #1821. 2010-03-31 11:08:51 +00:00
0970f5c2bd Implement SSH tunnel with plink.exe on session manager. Fixes issue #401 Plus:
* Simplify code for getting connection parameters from registry by implementing helpers:LoadConnectionParams()
* Use combobox for network type instead of radio buttons, now that 3 options would need more horizontal space than we have
* Hide tabs on session manager which are irrelevant for the selected network type (e.g. no SSL options for named pipe)
* Some minor code simplifications
2010-03-30 23:22:08 +00:00
42fae0ebd6 In portable mode, auto delete left behind registry keys from earlier instances which didn't do that themselves, because they were closed unclean or terminated by user. 2010-03-26 21:08:48 +00:00
254c156964 Use id of current process in registry key, not the thread id. 2010-03-25 22:26:19 +00:00
954b32b0df Display "HeidiSQL Portable" in window title 2010-03-25 22:13:18 +00:00
61e4ff0603 Add option to export SQL to clipboard. Fixes issue #1798 and issue #506. 2010-03-24 22:22:21 +00:00
1ef9ebf07b Fix wrong ALTER code when changing a column name more than one time. Fixes issue #1792. 2010-03-24 17:18:48 +00:00
ed5ec1e122 Rethink portable releases:
* Remove complicated and unreadable NSIS stuff. No need to have a installer for a developer application. ZIP file is fine.
* On startup, if a portable_settings.txt exists in the application folder, heidisql.exe will read its contents into a unique registry key.
* In MainForm.OnDestroy, settings are written to that file again, and the reg key gets deleted.
* Avoid using Microsoft's .reg file syntax, as you need admin privileges to store and restore such files, even when using the appropriate Windows API functions.
2010-03-22 21:10:38 +00:00
be645ac79b Unify code for refreshing Virtual Trees in a new helper method InvalidateVT. Fixes issue #1789 and issue #1790.
* Don't try to access a passed tree if it has been destroyed by some earlier event.
* Don't try to access registry in DoDisconnect after key has been closed.
* Now that DoDisconnect lives in FormDestroy it is save to call it slightly earlier, before registry has been closed. There should be no later paint events which will trigger random database queries.
2010-03-21 10:43:16 +00:00
067036c7ef Make regular expression safe against huge length/set attributes of column types. Fixes issue #1786. 2010-03-20 22:32:57 +00:00
860390e986 User manager: Add button to generate a random password. Fixes issue #1460. 2010-03-16 23:50:40 +00:00
9d18bd433e Don't touch X() SQL function from being uppercased and detected as keyword in pretty formatter, so that hex values like "0x0101" don't break. Fixes issue #1736. 2010-03-16 23:04:01 +00:00
71c687986f When dragging a table into a query editor while Shift is pressed, include its database name. Fixes issue #1749 . Fixes issue #1661. 2010-03-15 23:40:26 +00:00
fc31018600 Display key icons in data grid column headers 2010-03-14 12:22:05 +00:00
e417eef591 Datagrid: To reduce network traffic and loading time, reintroduce the old LEFT() strategy for potentially large columns. 2010-03-12 21:27:19 +00:00
7bb3cfdfb5 Ensure both overloaded SelectNode procs do the same with the desired node. 2010-03-08 23:23:37 +00:00
d35815de77 Code cosmetic: rename showstatus to ShowStatusMsg 2010-03-08 23:21:34 +00:00
553bcc54c7 Include HTML portion when copying SQL to clipboard, so rich text applications like MS Word get highlighted SQL. Fixes issue #1740. Todo: Find out why OpenOffice Writer does not accept these HTML fragments. 2010-03-06 08:46:37 +00:00
5e4238fa7f Minor: Just process initialized nodes in DeInitializeVTNodes(). Can produce AVs otherwise on startup, and makes superfluous loops on non initialized ones. 2010-03-03 23:49:23 +00:00
b8fd48a6cb After setting grids to multi line mode their vertical scrollbar was not updated. Fix that. Additionally, let FixVT() do what's required instead of doing that in OnInitNode respectively the "Apply" action on the preferences dialog. 2010-03-03 23:46:01 +00:00
458b4c3acf Introduce a more simple strategy in data tab grid for loading data:
* Load in OnBeforePaint, if the tree's tag is set to NOTLOADED
* Load 1,000 rows in one step, up to a maximum of 100,000 rows. Both values are customizable.
* Load next chunk when user presses PageDown on the last node, or, more explicitly, when user clicks "Next rows" button
* Should fix all AVs which seem to be a timing issue with loading data on demand.
* Fixes issue #1675, fixes issue #1580, fixes issue #1721, fixes issue #1734, fixes issue #972
2010-03-01 16:44:36 +00:00
3e4d47d1c9 Don't prompt more than one time if a table, trigger etc. should be saved, after user clicked "No" and focused a different db tree node. Fixes issue #1715. 2010-02-24 23:07:17 +00:00
25be03a4b0 Parse result of SHOW CREATE PROCEDURE, instead of querying information_schema.ROUTINES, which seems broken as escaped quotes appear non-escaped here, on a 5.1.22 server. Fixes issue #1713. 2010-02-23 21:25:48 +00:00
812cbc82b6 Apply a new style to the user manager dialog:
* Use 2 VirtualTree's instead of broken TComboBoxEx pulldown's
* Enlarge the user list so all items are visible at once
* Privilege objects now use a tree style, 1st level is the objects name, 2nd level is the privilege name ("select", "update" ...)
Fixes issue #1707
2010-02-20 17:12:54 +00:00
29bd958a9f Work around too few items in TComboBoxEx in higher DPI modes. Fixes issue #1707. 2010-02-19 07:10:01 +00:00
4e5468f709 GetParentForm() returns the parent form of a frame. So, list layouts were saved with potential naming conflicts in registry since table editor and friends are TFrame, not TForm. Solve that by implementing GetParentFormOrFrame() and add that control's name to all relevant registry names in SaveListSetup() and RestoreListSetup(). This resets everyone's favorite list layout once, using this new build, but that should not be a problem. 2010-02-17 09:20:26 +00:00
d10929dbe8 Fix broken ALTER TABLE code when dropping primary key. Fixes issue #1688. 2010-02-12 19:19:48 +00:00
9192543d8c Auto create pretty foreign key name "FK_thistable_reftable" if it was not customized yet. Fixes issue #1671. 2010-02-07 12:14:22 +00:00
788cbf565f End editing with home brown editors when the underlying tree scrolls, to avoid a misplaced cell editor. Fixes issue #1670. 2010-02-07 11:59:36 +00:00
fc6d4c2a48 Try to fix most DPI related glitches. Especially TFrames need a ScaleBy() call, which is done automatically on TForms. Fixes issue #1656. 2010-02-04 23:50:47 +00:00
efbf7a0b98 Add a toolbar button which, when pressed, allows BLOBs to be displayed as text. Explicitly ignoring weird effects in grid updates/inserts. Fixes issue #1624. 2010-01-30 07:57:07 +00:00
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