Commit Graph

5018 Commits

Author SHA1 Message Date
Ansgar Becker
118cd13473 Fix bug #616 Pressing shift-del in query editor 2008-07-14 22:05:16 +00:00
Ansgar Becker
764f444ebf Clean registry from unwanted WHERE clauses if "Remember WHERE filters" was unchecked. Avoids confusion with unwanted filters when that option was switched OFF and then ON again. 2008-07-14 21:46:38 +00:00
Ansgar Becker
fe5479d56f Move filter editor and relevant components to above the datagrid. The filter panel can be manually activated by a third button besides "Columns" and "Sorting": "Filter". Or, if the preference option "Remember filters" is switched on, it is activated each time a filter is loaded from registry, just like before, but without stealing focus from the sql log or editor tab. If RememberFilters is ON, the filter panel is auto shown/hidden as long as it's not manually activated by the above button - in the latter case it stays until it gets manually hidden.
Plus: Removes the load/save filter file buttons as proposed on the mailing list. Seemed totally unneeded and confusing.

I tried to add a new form for this filter stuff, just like the two other buttons do it (Columns, Sorting) but that was of horrible usability as it would have been auto closed as soon as you unfocus it.

TODO:
+ Move LIMIT stuff to a popup, activated by a 4th button above the datagrid.
+ Remove memo/blob editors from the bottom page control, show them inline in the grid or as a new form. The log tab should never get automatically hidden any more then.
2008-07-14 21:18:03 +00:00
Francisco Ernesto Teixeira
549390ab28 Accidently forgotten file in r1585 2008-07-09 02:39:26 +00:00
Ansgar Becker
62f60653bf Fix bug #611 AV after renaming table + click another table 2008-07-08 22:58:18 +00:00
Ansgar Becker
f122cb82f7 Find colors for drop down arrows which do their job better to signalize a currently active SELECT or ORDER clause 2008-07-08 22:27:49 +00:00
Ansgar Becker
db1dae81de Merge old code from IsValidDelimiter into Mainform.SetDelimiter so it creates the same validation error messages as before, also in parsesql() now. Formal adjustment: SetDelimiter raises an exception now for invalid values which has to be caught by parsesql() instead of just displaying a returned message string. 2008-07-08 22:16:04 +00:00
rosenfield.albert
f0d48c92fa Bugfix: 'Rows' is null while 'avg_row_length' is not for some internal tables on some server versions; fx information_schema.statistics. Caused an exception while browsing those tables. 2008-07-08 14:58:49 +00:00
rosenfield.albert
8ca2138a48 * Remove unused code paths.
* Raise flag when a bug occurs.
2008-07-08 14:56:09 +00:00
Ansgar Becker
d4e9386682 Work around bug #580 by converting the two TSpeedbuttons above the datagrid to toolbar buttons. This should stop the AV annoyance for these buttons. Not sure if we have the same issue still on other TPNGSpeedButtons as it's long ago I saw one. 2008-07-07 23:22:36 +00:00
Ansgar Becker
6b942bf1e0 Merge tables display their size as the sum of the underlying unioned tables, which is fine. But this size should not get counted to the overall sum, displayed besides the db nodes in the tree. 2008-07-07 18:24:57 +00:00
Ansgar Becker
75b7d25bf8 Fix hint for actSetDelimiter for cases in which parsesql() changes the delimiter silently. 2008-07-07 17:09:15 +00:00
Ansgar Becker
815aaaf3e7 Fix remembering delimiter string after detecting one with parsesql() 2008-07-07 05:38:37 +00:00
Ansgar Becker
1d3bfe6219 Fix and simplify delimiter customizing, now that the dropdown was moved to the mainform and didn't fire the OnExit event any longer for some reason. The new mechanism just uses a button (surely including a new icon, sigh...) which asks via InputQuery for the new value. Delimmiter "validation" is only done when setting the value per button, not in parseSql() any longer - avoids being bug-per-bug compatible with MySQL's SQL parser at least in the non interactive mode.
(Hope that code is ok with Franciscos original implementation. At least the old validation IF's are adapted)
2008-07-06 20:22:16 +00:00
Ansgar Becker
51f2342663 Avoid AV annoyance by suppressing AVs in TMysqlQuery.SetThreadResult and work around bug #580 and bug #308. Doesn't seem to have any (visible) problematic consquences. Todo: Find and fix the real cause of these AVs which don't reveal to me currently. 2008-07-06 08:59:43 +00:00
Ansgar Becker
0a3e514983 Add button on query toolbar for executing the current SQL line and find different icons for both "exec selection" and "exec line" actions. 2008-07-06 08:53:38 +00:00
Ansgar Becker
37792a8dc8 Fix hint on menuitem "About" to use its associated action's hint 2008-07-06 08:29:16 +00:00
Ansgar Becker
6004ebe5b8 Fix toggling enabled state of actExecuteSelection and actExecuteLine actions/buttons 2008-07-06 08:24:49 +00:00
Ansgar Becker
dacd58d754 Ban last yet overseen occurences of "MySQL-Front". 2008-07-06 08:15:22 +00:00
Ansgar Becker
580b5ed258 The option buttons "Stop on errors in batch mode" and "Wrap long lines" should be always enabled even if the query editor is empty. 2008-07-05 20:06:44 +00:00
Ansgar Becker
754ccec6a4 Find/create more distinct icons for
- add field
- edit field
- drop field
- create view
- edit view
- stop on errors in batch mode
- wordwrap mode
- various weblinks in help menu
- export/import settings
- maybe more..
2008-07-05 20:04:09 +00:00
Ansgar Becker
38f8740eb3 Fix initial state for "delete selected row(s)" in data grid. All other TDataSet Actions get enabled/disabled automagically by Delphi but actDatasetDelete is the only one of them which has an OnExecute procedure which seems to avoid Delphi of doing this enabling/disabling 2008-07-05 11:27:34 +00:00
Ansgar Becker
31460322f5 Fix enabled query toolbar buttons after closing mdi child.
I thought I could replace this weird FrmIsFocused by a "FrmIsFocussed := not (csDestroying in ComponentState)" but this does csDestroying is set later in FormDestroy, not in FormClose.
2008-07-05 10:12:28 +00:00
Ansgar Becker
ab291881e1 Slightly enhance open SQL file mechanism:
- Open the file in "read and leave" mode, don't lock it for write operations. This fixes opening a file which is opened and write locked in another application
- Handle exceptions for ReadTextfile in QueryLoad which was malfunctioning yet, lead to an AV.
- Enhance inline documentation
2008-07-05 10:00:55 +00:00
Ansgar Becker
b335a120ec rfe #607 "Stop toolbar popups" . All toolbars are visible now, regardless of the activated tab. Only relevant buttons are enabled when switching tabs. 2008-07-05 09:16:38 +00:00
Ansgar Becker
7ca77ad2f8 Fix bug #606 "Enabled toolbuttons after canceling connection dialog" 2008-07-03 18:24:57 +00:00
Ansgar Becker
7908f769e0 Accidently forgotten file in r1558 2008-07-02 22:41:10 +00:00
Ansgar Becker
ffc58c022b Revert broken r1561. Worse than before - more AVs, even when pressing a speedbutton which has loaded its icon correctly. Weird. 2008-07-02 22:33:05 +00:00
Ansgar Becker
94822c33fa Fix one critical AV, part of bug #580 . Loading a PNGImage from a TPNGImagelist onto a TSpeedbuttons seems buggy. Instead, assign icons at designtime. Ugly fix as we now have redundant icons, anyway, we should look after not using TPNGSpeedbutton in too many places. 2008-07-02 22:21:04 +00:00
Ansgar Becker
450edab57c Try to fix bug #604, AV when pressing help button 2008-07-02 21:51:11 +00:00
Ansgar Becker
4215631083 Fix bug #603 (Ctrl+A shortcut in query editor). Would have been nice to put this TEditSelectAll action into the "Edit" main menu, as it provides a global shortcut which magically works in all TEdits and other descendants of TCustomEdit. But TEditSelectAll interferes with SynEdit's own shortcut in a way that
a) the action's shortcut has prio over SynMemo's shortcut
b) the "select all" action itself is not functioning for a SynMemo
Not sure where the bug is, either in TEditSelectAll or in TSynMemo.
2008-07-02 21:29:02 +00:00
Ansgar Becker
b145877d95 Finally move ToolbarQuery and relevant code to main unit. 2008-07-02 19:32:27 +00:00
Ansgar Becker
844c87f356 Add buttons to main toolbars to edit selected database and table 2008-07-01 19:07:20 +00:00
Ansgar Becker
5b0bb48d0a Convert the myriad of redundant menuitems and buttons on the main controlbar + important toolbars in the tabsheets to use TActions. This moves
a) some hundred lines of code from childwin.pas to main.pas
b) redundant hints/captions/shortcuts/events for similar buttons/menuitems to their corresponding TAction in main.dfm .

This change
a) avoids several inconsistent captions like described in issue #595
b) makes it easier to have toolbars on the mainform which are controlled by childform.
2008-07-01 18:59:07 +00:00
Ansgar Becker
d571ce83b9 Convert remaining menuitems in database tab to use TActions (add "Alter table" and "Table properties") and prefix various neighbour actions with "act" 2008-06-28 20:16:20 +00:00
Ansgar Becker
a72f5a0e0f Consistently use TActions on ToolbarDatabase.
-> Sanitizes code from various error prone button/menuitem enablings/disablings.
-> Ensure consistent captions + hints for actions which are used in more than one menu/toolbar
Fixes one part of bug #595
2008-06-28 19:15:35 +00:00
Ansgar Becker
fa4e3f066c Fulfill rfe #300 "Allow keypress to "search" in treeview" 2008-06-28 07:13:46 +00:00
Ansgar Becker
3e8080ff48 Move toolbar with field actions from tabTable to main controlbar.
TODO: Find more distinct icons for add|edit|delete field buttons.
2008-06-28 07:01:19 +00:00
Ansgar Becker
7a0c9a6862 Fix bug #299 "Pageup/PageDown in Tree View Looses Focus". Only set focus to the relevant component in the new tab if the tabchange was done by a click on the pagecontrol, not on automatic changes. So the dbtree never looses focus if you navigate there. 2008-06-28 06:09:49 +00:00
Ansgar Becker
a8022acb8b Important toolbars should live on the main controlbar. Move toolbar from database sheet there. Plus:
- Remove redundant buttons on it ("view data" + "table properties")
- Move table related buttons from ToolbarStandard to the new ToolbarDatabase ("delete table" + "create table").
2008-06-26 17:10:31 +00:00
Ansgar Becker
84c3e0d260 Make various clipboard actions Unicode compliant:
- Copy (+ export to file) data as html, xml or csv
- Copy + paste actions in the grids
- Copy memo content
2008-06-26 12:37:34 +00:00
Ansgar Becker
f296b1730c Move heading panels from above grids to tab captions (hostname, database, table) and status bar (uptime, MySQL version). Makes space for coming GUI changes. 2008-06-26 09:49:17 +00:00
Ansgar Becker
1e3102d0b6 Fix warn colors in table name TEdit of CREATE TABLE dialog if table name is empty (2nd report in issue #556) 2008-06-26 05:46:56 +00:00
rosenfield.albert
71ec2f9f49 Replace DbMemo with TntDbMemo. 2008-06-25 14:29:21 +00:00
rosenfield.albert
f148664018 * Zeos: Make SetFieldData() public to provide a way to poke NULL into a field.
* Heidi: Use above to set field to NULL when requested by user.
2008-06-25 13:47:15 +00:00
rosenfield.albert
5c7631796f Add specific modes supposed to include various brokenness in mysqldump. Hopefully we won't have to discuss whether to account for a specific brokenness in mysqldump ever again. I almost couldn't be happier if MySQL actually fixed their bugs ;-). Fixes issue #537. 2008-06-25 05:46:19 +00:00
rosenfield.albert
5c1c61af8b Work around a bug in MySQL server; NO_BACKSLASH_ESCAPES is not included in ANSI mode, even though according to the manual:
"NO_BACKSLASH_ESCAPES enables an SQL standard compatibility mode, where backslash is 
not considered a special character."
2008-06-25 04:31:14 +00:00
rosenfield.albert
d137917930 Add code page 936 <-> gbk. 2008-06-25 04:23:00 +00:00
Ansgar Becker
173aca5009 Make sstr() unicode compliant to fix bug #313 "Run SQL file dialog fails for German umlauts in file" 2008-06-24 20:22:00 +00:00
Ansgar Becker
ab790b4072 Bring back SynUnicode to the uses clause to fix SynMemoQueryDropFiles . Files dropped were just not loaded with no error. Use namespace/unit prefixing in one place to avoid a compiler error. 2008-06-24 18:43:20 +00:00