Commit Graph

5018 Commits

Author SHA1 Message Date
Ansgar Becker
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
Ansgar Becker
3168a3e277 Fix flicker and crappy text display in status bar after explicit repaint. 2010-03-21 07:40:27 +00:00
Ansgar Becker
067036c7ef Make regular expression safe against huge length/set attributes of column types. Fixes issue #1786. 2010-03-20 22:32:57 +00:00
Ansgar Becker
3ef86ccdb3 Remove nonsense from old MDI days, where OnActivate needed to update its child windows. 2010-03-20 21:54:28 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
b57153c956 For DROP TRIGGER there is no IF EXISTS clause, so we just ignore errors. Important if trigger was dropped before, tried to recreate for the second or later time. Fixes issue #1788. 2010-03-20 16:05:58 +00:00
Ansgar Becker
03cc9d632a Attempt to fix issue #1780 - AV on closing main window. Free the cached list of db object lists, instead of making it empty, so a call to Assigned() returns false. 2010-03-20 00:18:17 +00:00
Ansgar Becker
939425dc19 Do cell text formatting for decimal and binary columns, also in DataGridEnsureFullRow(). Fixes issue #1784. 2010-03-20 00:03:34 +00:00
Ansgar Becker
63bb7ae022 Fix wrong column name in SELECT when one or more columns are deselected. 2010-03-19 18:25:18 +00:00
Ansgar Becker
13302d5b2f Remove empty and useless procedure 2010-03-19 07:09:30 +00:00
Ansgar Becker
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
Ansgar Becker
a96ccdfdb2 Fix wrong enabled/disabled status of "Clear filter" menu item. 2010-03-18 22:28:45 +00:00
Ansgar Becker
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
Ansgar Becker
89774dbe44 Fix minor memory leak 2010-03-18 22:11:42 +00:00
Ansgar Becker
f86a0ee692 Clear table structure cache after modifying columns. Fixes issue #1774. 2010-03-18 07:00:23 +00:00
Ansgar Becker
862fbf9b5f Optimize setting column widths in data grid. 2010-03-18 06:59:26 +00:00
Ansgar Becker
37a05196ae Add useful hint for new password generator button in user manager dialog 2010-03-17 20:11:43 +00:00
Ansgar Becker
52328ada0c Pass double clicks on dbtree and queryhelpers over to ActiveQueryMemo.DragDrop, which does the same. So all actions behave consistently wrt to shift pressed. Fixes issue #1661. 2010-03-17 13:55:16 +00:00
Ansgar Becker
bf2d8591f4 Missing file for r3176 2010-03-17 09:09:12 +00:00
Ansgar Becker
0ffef111af Allow to drop column names vertically when holding the Shift key while mouse drops cols. Fixes issue #1331. 2010-03-17 00:19:10 +00:00
Ansgar Becker
256a921563 Do not mandate the user to save a entered or modified password with a popup dialog. Fixes issue #1371. 2010-03-17 00:10:16 +00:00
Ansgar Becker
860390e986 User manager: Add button to generate a random password. Fixes issue #1460. 2010-03-16 23:50:40 +00:00
Ansgar Becker
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
Ansgar Becker
f411f36f32 Force repainting columns list after modifying some index. Ensures key icons on column nodes are displayed immediately. 2010-03-16 18:20:38 +00:00
Ansgar Becker
3ed8c5bd91 Make session log directory configurable. Fixes issue #494. 2010-03-16 00:18:44 +00:00
Ansgar Becker
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
Ansgar Becker
6c4be937ab PreviousFocusedNode must be manually unassigned, to avoid accessing invalid memory locations. Fixes issue #1762. Probably also issue #1771. 2010-03-15 23:20:34 +00:00
Ansgar Becker
558bafc0d7 Enable incremental search on keyboard presses in various lists and trees. Fixes issue #1769. 2010-03-15 17:52:09 +00:00
Ansgar Becker
20297a6955 Switch to query tab early enough to avoid AVs when accessing ActiveQueryTab. Fixes issue #1770. 2010-03-15 17:47:27 +00:00
Ansgar Becker
1b3b16b291 Open object editor on selected list node on pressing <return>. Fixes issue #1768. 2010-03-14 17:19:57 +00:00
Ansgar Becker
fc31018600 Display key icons in data grid column headers 2010-03-14 12:22:05 +00:00
Ansgar Becker
c82fa61eb1 Fix staying invisible columns in data grid after deselecting one or more and reselecting them. 2010-03-14 12:02:11 +00:00
Ansgar Becker
17e4a63f81 Allow data grid editing and deleting rows for tables without primary or unique key. Just ensure that all full column values are taken into WHERE clauses for UPDATE and DELETE actions. Additionally, append a "LIMIT [SelectionCount]" so we don't update or delete unwanted rows. Fixes issue #1392. 2010-03-14 11:57:53 +00:00
Ansgar Becker
bbab8c5d12 Same as previous commit: Revert r3056. Fixes issue #1749. 2010-03-14 10:22:23 +00:00
Ansgar Becker
630244aa16 Revert r3053 - do not include database name when dropping table nodes in query editor. Seems more users including me are against that. Fixes issue #1749 and invalidates issue #1661. 2010-03-14 10:17:33 +00:00
Ansgar Becker
f8d8ae9bf0 Totally forgot that we have GetWhereClause(), which makes some code superfluous in DataGridEnsureFullRow(). 2010-03-13 16:19:18 +00:00
Ansgar Becker
8a02113489 Log some message when going to load a file into any query tab. Should help fixing issue #1764. 2010-03-13 16:02:36 +00:00
Ansgar Becker
bd762fe439 Do not open a new tab for a dropped file, at least if it's the only one or first one of multiple files. Fixes issue #1764. 2010-03-13 14:03:13 +00:00
Ansgar Becker
532713e51a No need to check if a trigger exists if we're already in edit-mode. MySQL 5.0 seems to not support the IF EXISTS clause anyway. Fixes issue #1763. 2010-03-13 13:59:03 +00:00
Ansgar Becker
7b237496d8 When user clicks "Show next 1000 rows", auto select first one of these. 2010-03-13 08:03:02 +00:00
Ansgar Becker
885ea4ecc4 Load all rows when user clicks the "Go to last row" button, so it is really the last row, not the 1000th one. Fixes issue #1750. 2010-03-13 07:57:36 +00:00
Ansgar Becker
4147bbcfbc r3150 didn't fix all exceptions thrown by ListTables.OnGetText when nodes are bound to already freed TDBObjects. Do it right now - introduce a new event TMySQLConnection.OnAfterClearDBObjects for this purpose. Todo: Fix related issue #1723. 2010-03-12 22:23:09 +00:00
Ansgar Becker
059b7ebe56 Left instead of right alignment for "Rows" and "Size" columns in "Database" tab, now that these columns display colored bars, that looks nicer. 2010-03-12 21:39:39 +00:00
Ansgar Becker
1540c74d31 Missing change for r3124 - wrong column type detection 2010-03-12 21:29:42 +00:00
Ansgar Becker
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
Ansgar Becker
1e7b3e235c Decide for a slightly darker gray value for non-focused cells of selected nodes. Fixes issue #1757. 2010-03-11 21:59:43 +00:00
Ansgar Becker
1e13ecae2a ListTables.OnBeforePaint is a fine place to check if db objects in active db are already cached. Also, there is no need to clear the whole cache after renaming a table. Fixes issue #1755. Fixes issue #1758. 2010-03-11 21:55:50 +00:00
Ansgar Becker
680389a7a6 Slightly enhance colors of selected grid cells:
* Use system default colors for highlighted cell
* Do not colorize a focused cell in a non-selected node, so it does not look as if it's selected
2010-03-10 20:45:32 +00:00
Ansgar Becker
20048c230a Fix empty table name in SELECT and following AV when hiding tabs auto selects the data tab for a millisecond. Reproducible when you have the table editor open and click a different database in the tree. 2010-03-09 23:45:42 +00:00