634 Commits

Author SHA1 Message Date
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
9b786c81e0 Make RefreshActiveTreeDB more safe against follow up errors, non responding db tree. 2010-04-19 22:27:03 +00:00
604672f3d8 Attempt to slightly simplify logic for refreshing database tree node after adding/renaming a db object. 2010-04-18 23:15:20 +00:00
dfb19d1d1d Refreshing ListTables after creating a table from outside did not make that new table visible in database tree. Fixes issue #1876. 2010-04-18 11:24:29 +00:00
5b08b82947 Clear grid filter editor when refreshing data or going to different table. Fixes issue #1873 2010-04-17 13:55:25 +00:00
b1ab76e0ba Display first available text column value when editing InnoDB contents. Fixes issue #1849. 2010-04-14 22:45:12 +00:00
46fd8f5e99 Handle geo spatial values like we handle binary data. Use hex editor, and fetch contents using BinColAsHex(). Fixes issue #1855. 2010-04-14 21:35:04 +00:00
ffc434de4f Fix logic for loading snippet file via double click. Fixes issue #1857. 2010-04-14 17:35:30 +00:00
23247a53b4 Populate combobox with allowed foreign key values when editing InnoDB tables. Fixes issue #1849. 2010-04-12 21:38:12 +00:00
75bca23433 Fix typo 2010-04-12 21:16:58 +00:00
6f9e2a88d2 Add support for hiding column headers to all lists, via a) context menu + b) via dragging out headers. 2010-04-11 23:57:51 +00:00
2cda425c39 Make SQL completion proposal optional. Fixes issue #1782. 2010-04-11 22:23:58 +00:00
2790e5a94b Leave expansion state of db node after dropping one or more tables. Also, don't reset the whole db objects cache for all databases when only one db was involved. Fixes issue #1831. 2010-04-11 16:10:59 +00:00
aef5f3b147 Modify Mainform.SelectedTable so that it always returns a new TDBObject, instead of passing an item of the connection's internal cache. Makes sure that the object editors (table editor e.g.) still has a valid object reference. See also http://www.heidisql.com/forum.php?t=5511#p5514 2010-04-11 13:36:42 +00:00
f451d061eb Introduce 2 new columns in Host > Databases: "Last modification" and "Events". Plus:
* enhance db object lists for storing additional details like last modification and data size
* remove home brown Min() and Max() functions and use those from Math unit which are not restricted to Integers.
2010-04-11 12:03:07 +00:00
5b80d6765d Leave out a check for unsaved modifications if new and old node are one and the same. Fixes issue #1832 (unlike the previous commit which said the same but didn't fix anything) 2010-04-10 14:23:19 +00:00
6226193906 Keep horizontal scroll offset in data grid, after clicking a column header for sorting reasons. Fixes issue #1845. 2010-04-10 08:07:17 +00:00
72178a6830 Integrate events in DROP action by removing 45 lines of code. Fixes issue #1842. 2010-04-09 15:30:04 +00:00
389b19f6e5 Clear old selection in table tools tree. Fixes issue #1840. 2010-04-08 23:52:10 +00:00
2c319fb80a Fix non restoring of used database from last session 2010-04-08 23:21:48 +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
ea8574bc1a Fix some AVs around ListTables by reintroducing recently deleted connection event OnDBObjectsCleared. Required in cases where cache is cleared or refreshed (!) elsewhere and ListTables get repainted later. 2010-04-04 23:30:37 +00:00
45ba97b13f Add button and global action for executing selected functions and/or procedures by click. Fixes issue #1818. This requires some parsing code to be moved to helpers unit so it's also available in ListTables' context menu. Also, to avoid new AVs, any db object editor now focuses the edited object in the tree, which is important for creating new ones which were neither existant nor focused. 2010-04-04 22:33:12 +00:00
f014190c9c Do not clear cache with db objects in a reconnect situation. Heals several AVs where we rely on some valid TDBObject, also when server stays unreachable. Fixes issue #1819. Also, this makes it superfluous to have an event fired after clearing the cache. 2010-04-03 21:30:11 +00:00
2d9a4bc70e Refresh and repaint ListTables immediately after reconnect, to avoid AVs on double click. 2010-04-03 17:10:59 +00:00
a3dd2e86df Enhance window positioning on startup: If window was maximized on second screen, old Left+Top values were restored next time. Fixes issue #1826. 2010-04-02 13:14:25 +00:00
c196a4af69 Extend columns in database tab to display separate number of tables, views, procedures, functions and triggers per database. 2010-03-31 20:13:54 +00:00
899040655c Add sub tab "Databases" with a more detailed list than the tree has. Also, paint bars for size and number of items in it. Implement TMySQLConnection.GetDBSize() which caches the size of dbs, synchronized with DBobjectlists. 2010-03-31 19:13:22 +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
5309366fa4 Code cosmetic: Integrate code fro ShowHost() back into DBtreeFocusChanged(). Also, give page control a change hit, so the filter editors are updated correctly per tab. 2010-03-28 12:17:54 +00:00
3ddf1cbd15 tabEditor gets hidden if user selects server root node but active tab was not changed to "Host" in that case. Instead, for a millisecond tabData is visible which calls DataGrid.OnPaint and causes AVs as no table is selected any more. Fixes issue #1809. 2010-03-27 14:03:28 +00:00
b47ddd730d Min() and Max() break 64 bit Integers to 32 bit. Avoid using these functions in relevant context. Fixes issue #1803. 2010-03-27 08:04:27 +00:00
6bc47ac3df Use default registry key for storing main window dimensions, remove separation of different screen resolutions. Leaves accessing registry to GetRegValue which cannot handle sub keys. Fixes issue #1807. 2010-03-27 07:21:32 +00:00
1b869e43ac Slightly decrease maximum width of colored bars in lists, so their right edge doesn't display as if cut off. Fixes issue #1803. 2010-03-26 14:41:41 +00:00
954b32b0df Display "HeidiSQL Portable" in window title 2010-03-25 22:13:18 +00:00
9acec6dfe1 Code cosmetic: Remove last XYZWindow() function 2010-03-25 21:42:18 +00:00
aa9525e527 Unify default sorting of database objects in tree and lists. Fixes issue #1799. 2010-03-25 21:03:37 +00:00
92fdcbb481 Set focus on query editor after double click on db tree or query helpers box. Fixes issue #1796. 2010-03-24 16:36:13 +00:00
d67f746de8 Fix AV on application exit while datagrid has pending changes. Fixes issue #1780. 2010-03-24 13:45: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
3ef86ccdb3 Remove nonsense from old MDI days, where OnActivate needed to update its child windows. 2010-03-20 21:54:28 +00:00
d62e3a138b Related to issue #1780: Move code from Main.OnClose to Main.OnDestroy, where visible controls do not process painting any longer, which makes it more safe against AVs after destroying critical objects. Now, saveWindowConfig is not able to set WindowState to wsNormal in OnDestroy, which was required in order to store correct registry settings. Solution: Only save dimensions if WindowState was wsNormal. This change finally removes an annoying animation effect when closing the main window. 2010-03-20 21:38:41 +00:00
63557fe852 Disconnect from server must be the last thing to do in FormClose, as other (repaint) actions can implicitly trigger some database query. Fixes issue #1780. 2010-03-20 21:08:32 +00:00
939425dc19 Do cell text formatting for decimal and binary columns, also in DataGridEnsureFullRow(). Fixes issue #1784. 2010-03-20 00:03:34 +00:00
63bb7ae022 Fix wrong column name in SELECT when one or more columns are deselected. 2010-03-19 18:25:18 +00:00
13302d5b2f Remove empty and useless procedure 2010-03-19 07:09:30 +00:00
d7d65e1015 Add submenu in "Quick filter" menu: "More values", with subitems displaying first 30 distinct values and their frequency in the focused column. Fixes issue #1098. 2010-03-19 00:02:44 +00:00
a96ccdfdb2 Fix wrong enabled/disabled status of "Clear filter" menu item. 2010-03-18 22:28:45 +00:00
78f0838c6d Do not steel focus or change cursor position on filter editor while pressing F9 or "Apply filter". 2010-03-18 22:19:19 +00:00