70 Commits

Author SHA1 Message Date
b51123ee2c Reorganize "import textfile" dialog, and implement an own CSV parser, selectable as an alternative to the LOAD DATA method. Fixes issue #2134. 2010-09-03 22:22:23 +00:00
88e7f7aa05 Implement query profiling in helpers box. Enhance usability of turning the listbox + tabset into a tree, with 5 root nodes instead of 5 tabs. Fixes issue #902. 2010-08-13 19:42:54 +00:00
25fb0ed266 Refactor code in SQL help dialog, replace the TTreeView with a VirtualTree. 2010-07-31 17:16:08 +00:00
8c34a9e15a Session manager: Add checkbox option for users who want to be prompted for username + password rather than saving that to registry. Prompt window itself is called from within TMySQLConnection.SetActive. 2010-07-19 20:06:09 +00:00
2796965146 Remove 3 dead constants 2010-07-11 20:13:53 +00:00
5757899eaa Bring back database filter pulldown, for users who dislike to create one session per filter. Fixes issue #2054. 2010-07-04 10:59:46 +00:00
ff1467c749 Remember state of WordWrap button on text and hex editor. Fixes issue #2055. 2010-07-02 23:08:06 +00:00
63be11dd14 Implement recent filters in "Copy table" dialog, selectable via button + dropdown menu. 2010-06-15 18:36:58 +00:00
c0da6e5a21 Refactor "Copy table" dialog:
* Replace checkboxes, radio buttons and checklistbox by a VirtualTree using checkbox support
* Support selecting/deselecting single indexes
* Support foreign keys
* Place a SynMemo at the bottom in which the user can type an optional WHERE clause to filter incoming data. Fixes issue #2000.
* Move code for SQL generation into TTableColumn etc.
2010-06-14 00:21:33 +00:00
3c4beba2dd Set and fetch default height of PageControl via constant rather than from the control itself, as that may not be created that early. A minimal chance that this fixes issue #1995. 2010-06-11 16:56:12 +00:00
0767d5387a Replace "Image view" action code which opened BLOBs in external app by a home brown preview area for images in BLOBs, using GraphicEx library for detecting image types. Also, add a "Save to file" action for any grid cell content. Fixes issue #1960. Fixes issue #492. Fixes issue #955. 2010-06-03 23:19:27 +00:00
2e301d1095 Code cosmetic: Do not pass default parameter in one zillion callers of ShowStatusMsg() 2010-05-28 23:09:38 +00:00
d1db340f7b Wording: Display "Idle" instead of "Ready" in status bar 2010-05-28 13:45:54 +00:00
9984bf0236 Issue #1135: Implement tabs for multiple batch results in a query tab. Does not yet show multi results of stored procedures. Maximum number of tabs is customizable in Preferences > Data. 2010-05-26 23:11:08 +00:00
05b07eb8f2 Implement editing capabilities into TMySQLQuery, and make query results editable by using all the same events as in DataGrid. Most probably some bugs to fix now.
* Fixes issue #723
* Fixes issue #873
2010-05-05 21:39:15 +00:00
97f01a175b Move database filter again from mainform to session manager, so people without privilege to run SHOW DATABASE are not stuck. Fixes issue #1485. Also, allow to see available databases when user does a dropdown. Also, simplify logic for refreshing database list in mainform. 2010-04-22 15:16:27 +00:00
2cda425c39 Make SQL completion proposal optional. Fixes issue #1782. 2010-04-11 22:23:58 +00:00
5f9129bef2 Implement event editor for MySQL 5.1+ servers. Also, simplify some code around database objects and their editors. Fixes issue #1527 2010-04-08 23:16:40 +00:00
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
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
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
3ed8c5bd91 Make session log directory configurable. Fixes issue #494. 2010-03-16 00:18:44 +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
f7ee77561b Display colored bar for table size and row count columns in ListTables, and for process time column in ListProcesses. Also, extend the preferences dialog so this color can be customized and/or disabled. 2010-03-09 23:30:44 +00:00
c426bc5e16 Enable variable node height in data and query grids. Customizable as number of lines per row. Fixes issue #1082. 2010-03-02 23:11:48 +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
4e84c99a72 Introduce SSL support on session manager. Code parts from SuperNiFF. Fixes issue #518. 2010-02-26 00:13:17 +00:00
f9ea5dc1ec Add support for startup SQL script on session manager. Fixes issue #1716. 2010-02-25 20:45:16 +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
5de3fc1d57 Display parameters of stored routines in "Cols" tab of query helpers when a procedure or function is selected. Fixes issue #1702. 2010-02-17 23:16:26 +00:00
a0ba865f66 Remove pink foreign key icon - we already had another one. Use that consistently in both foreign key list and columns list. 2010-02-07 14:23:27 +00:00
17c27c8b58 Add pink icon for foreign key columns. Fixes issue #1669. 2010-02-07 12:31:09 +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
95e12a0bd1 Introduce new log category lcUserFiredSQL, and make log level customizable via preferences. Fixes issue #1652. 2010-02-04 00:39:29 +00:00
02d29ea976 Implement a home brown find + replace dialog, supporting regular expressions, and using all stuff SynEdit gives us. Add main menu item "Search" next to "Edit". Fixes issue #1069. 2010-02-01 23:55:44 +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
1731e61570 Convert remaining WideString constant to String 2010-01-14 18:25:32 +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
684983b57b Remove "perspectives" feature, to make data browsing less annoying. Restore old behavior where just the last set filter/columns/sorting was remembered. Fixes issue #822. 2009-12-24 11:39:20 +00:00
7272ba3bc3 Remove handling of crashed tables - there is no difference to normal tables in the way we handle them. 2009-12-19 21:25:59 +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
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
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
bd4dd71797 Remember state of "Stop on errors in batch mode" button/action. Fixes issue #1128. 2009-12-07 20:13:52 +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
a9ab1a1c6d Fix documentation 2009-12-01 00:32:49 +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
0c83491ed5 Implement preference option to adjust tab width in SynMemos. Fixes issue #857. 2009-11-24 19:34:48 +00:00