44 Commits

Author SHA1 Message Date
cb3aa812b6 Add menuitem "Lookup field datatype in SQL help" to popupDatagrid. Makes help system more visible. 2007-09-12 08:46:39 +00:00
912c46b20c Add menuitem "Lookup [keyword] in SQL help" to popupQuery. Many users likely don't know that they can press F1 in SynMemoQuery/SynMemoFilter to do the same, so here's the more visible solution. 2007-09-12 08:31:01 +00:00
0fc363f988 Bugfix: Load database properties (tables) when switching directly to a new table in another database via the tree. 2007-09-11 18:06:57 +00:00
9409c798ab Remove ActualDatabase and ActualTable variables, plus various minor optimizations that ensued from said change. Fixes a problem where when:
- viewing data in a table
 - switching to query tab
 - pressing master refresh
some of the tabs would disappear.
2007-09-11 15:58:47 +00:00
970d267a23 Implement feature wish #1779324 : Support for field COMMENT in ListColumns and field editor. 2007-09-06 14:39:11 +00:00
21a7d22af9 TimerProcesslist should not exclusively refresh ListProcesses. Instead it look useful that the other two subtabs ListVariables + ListCommandstats have this auto-refresh feature too. 2007-09-03 09:17:08 +00:00
67a4887e0e Make the id-column in ListProcesses slightly wider so large numbers can be viewed without resizing the column. 2007-09-02 23:08:16 +00:00
f279d9cc3f Add support for killing more than one process in one go. 2007-09-02 23:04:42 +00:00
8ab0b95440 Implement a more effective solution for hiding and unhiding columns in ListColumns.
Pros:
- ShowDBProperties doesn't reset column layout
- Sort direction is remembered automatically
- Reading columnlist from registry is done once in a TMDIChild, not on each ShowDBProperties
- Hiding/unhiding columns doesn't call ShowDBProperties
- No more hassling with what is called a "default column" or not. popupDBGrid is usable like in Windows Explorer.
- Column layout is stored global, not per session.
Cons:
- Column layout from old settings logic needed to be discarded

Side effect:
- Fixes a potential AV in FormatNumber(str) with empty strings.
- Created an overloaded FormatByteNumber() which can take a string as input
2007-08-30 23:49:38 +00:00
c4f7ada3cb Paint background of sorted columns light grey. Imitates behaviour of the Windows XP Explorer and adds a clear signal to the user that the list is somehow sorted currently. 2007-08-27 20:58:33 +00:00
46cad8f9eb The right place to call ValidateControls is in ListTables.OnChange rather than in ListTables.OnClick + popupDbGrid.OnPopup. 2007-08-27 18:10:24 +00:00
20ce6fc803 Adjust the withs of columns in ListColumns so they're more usable. Autosizing rightmost column only. 2007-08-27 18:02:22 +00:00
ad14e12595 Don't call VT.SortTree manually. Let AutoSort do the work for us. 2007-08-27 17:55:43 +00:00
3f0b70c409 Switch ListColumns from TSortListView to TVirtualStringTree
Additionally/Sideeffects:
- Fix vstFreeNode to delete the item from the array, not only free the item itself
- Change/Rename GetSelectedNodesFromVT to GetVTCaptions and give it the ability to return all captions, not only the selected. This function is very useful now and saves writing much redundant code.

A table with 500 columns needed 3 seconds to display in the TSortListView, now that takes less than a half second.
2007-08-27 00:01:53 +00:00
f814439f03 Nuke an ugly workaround for setting the correct width and height of ListTables and ListColumns after the form has been resized. Somehow this workaround was not functioning as expected any longer with the new VirtualTree on the Database-tab.
Now the lists take all room they can get (alClient), which makes the workaround superflous. However, that made it necessairy to group the toolbars on a TPanel and set the TPanel to alLeft.
2007-08-25 11:53:53 +00:00
51e212ae6d Add shortcuts to processlist's popup menuitems in "Auto-refresh":
"Active" [Ctrl+F5]
  "Inactive" [Esc]
Fixes the ability to disable autorefreshing without using the mouse + menu, which is impossible when the interval is set to 1 second.
2007-08-25 11:18:14 +00:00
cc11515859 Add Header.hoHotTrack property to VirtualTrees where that was missing. This enables the mouse-over effect when XP-theming is active.
Also adjust the height of the header to be the same in all VTs.
2007-08-25 00:13:11 +00:00
9068f08609 Convert ListTables from TSortListview to TVirtualStringTree
Additionally/Side effects:
- TVTreeData structure moved to helpers.pas to be able to use it in new function GetSelectedNodesFromVT.
- ListTablesEditing dropped. We don't need to disable any shortcut there because there is none set.
- Avoid potential AVs when accessing not created items in TVTreeData.Captions
2007-08-25 00:08:31 +00:00
43f6d11cc2 Convert ListProcesses from TSortListView to VirtualTree.
- Don't replace "ListProcessesSelectItem" by "ListProcessesClick". Do the menuitem stuff in popupHost.popup()
- Avoid potential AV when exceeding the captions-list of a node in GetNodeText.
2007-08-21 23:19:51 +00:00
45cc29269e Don't display ugly "bevels" on TSplitters. It's obvious enough that there *are* splitters. 2007-08-21 19:25:29 +00:00
797cf5502f Adjust style of VT-headercolumns to be more standard looking when XP theming is not active (hsThickButtons is default) 2007-08-21 19:18:52 +00:00
cc1063b8dd Implement RFE #1685787: create table button in popup menu. 2007-08-21 18:28:53 +00:00
de4182d69d Add menuitem "Explore folder" to query helpers. Just opens the snippets-folder in your windows explorer. 2007-08-17 23:37:40 +00:00
50b5d31e11 Add menuitems to query helpers, "Snippets" tab:
- "Insert at cursor"
 - "Load"
2007-08-17 23:28:29 +00:00
830b879a24 Add missing event OnFreeNode and popupmenu property to ListVariables. OnFreeNode is new in rev 815 and popupHost was accidently not referenced in rev 807. 2007-08-17 22:31:04 +00:00
17cad32f1c Convert ListCommandStats from TSortListView to VirtualTree.
- Make OnInitNode a general procedure by detecting which list was the Sender.
- Add recommended OnFreeNode procedure for all VT's.
2007-08-17 22:25:26 +00:00
3692c53a16 Switch from TListView to TVirtualStringTree (VST) for ListVariables.
This is the first VST and therefore some base procedures are added which can be reused for most other coming VT's:
- vstGetNodeDataSize
- vstGetText
- vstGetImageIndex
- vstHeaderClick
- vstCompareNodes
All these procedures should normally get linked to other VST's. Only the OnInitNode procedure cannot be reused, as it contains references to the data of the VST's nodes.

I hope the billions of options in this VST object make sense.

Left for later:
printlist.pas cannot process this list without changes. I will rewrite that as soon as all 5 lists are switched to VST.
2007-08-14 22:33:17 +00:00
fa11cf2fb6 New feature: Allow the user to select and delete multiple fields in listColumns. Just like in listTables where we allow to drop multiple tables. 2007-08-01 20:43:48 +00:00
c94cde0682 Add a popupmenu to queryhelpers which contains 2 items with shortcuts:
+ Delete [Del] (Deletes a snippetfile)
  + Help [F1] (Calls SQL help for selected keyword or function)
2007-07-27 22:36:19 +00:00
5cecd6a91e Minor: Change format of "123,456,789 Characters" above querymemo to a better readable "123,4 MB" 2007-07-26 06:07:01 +00:00
021d56e0bc Clean up and enhance popupQuery menu:
* Bring items in a better, usable order
* Nuke dependency of hardcoded itemcount in code for SQL functions: "popupQuery.Items[i+13].Add(mi);"
* Add useful actions:
  + Insert file at cursor
  + Save selection to file
  + Save as snippet
  + Save selection as snippet
* Assign procedures for menuLoad + menuSave at designtime, not at runtime (which made sense in a MDI mechanism)
* Minor optimization of detecting selected text in SynMemo
2007-07-25 21:18:20 +00:00
8e10529741 New feature: Enable column renaming from within listColumns.
Side-effect: Needed to change some editor-related shortcuts so they don't trigger their corresponding menu-commands from popupTableGrid when the user presses them at the time the column name gets edited:
- Call field editor : Now "Alt+Enter", was "Enter"
- Drop field : Now "Ctrl+Del", was "Del"
2007-07-15 06:45:47 +00:00
490e192ca9 Call help window when pressing F1 in those query helpers tabs for which that makes sense. 2007-07-14 18:31:14 +00:00
d6da05aa13 Add a splitter between query memo and helpers which recalls its position set in the last session. 2007-07-14 18:21:00 +00:00
f49e9f9e41 New Feature. Add SQL snippets to query helpers in a new tab 2007-07-14 18:03:27 +00:00
cc84963b25 Implement a dialog for easier accessing the options for ordered columns.
This has one positive side effect: ViewData no longer re-saves an ORDERCLAUSE to registry after it has been read. At the same time the ORDERCLAUSE is read everytime when grid is filled, not only the first time. Those changes were needed to be able to apply an ORDERCLAUSE which was generated and saved by the new dialog.

Left for later: Moving order-columns up and down. Tested that with a TUpDown which seems to ignore clicks sometimes and then doesn't fire OnClick.
2007-07-12 22:33:59 +00:00
37f0b45363 Display rowcount statistics in a wordwrapped TLabel. Makes room for coming buttons "ORDER" (and "GROUP"). 2007-07-08 19:10:21 +00:00
5207ec37a7 Move popupmenu main.SQLfunctions to childwin.popupQuery. So every new created MDI-child get its own instance of this popupmenu. 2007-07-06 19:10:04 +00:00
22adaf2439 Remember last selected item in query helpers tabs. 2007-07-02 06:23:41 +00:00
5cbebfe42c Implement query helpers: Columns, SQL functions and SQL keywords, presented in a listbox where they can be doubleclicked or dragged to insert into query-memo.
As a benefit, function.txt is read into 3 stringlists at startup now: Names, Declarations and Descriptions. Used in SynCompletionProposal and to fill the above mentioned helpers-list.

Also fixes a minor issue in SynMemoQueryDragOver using an unset "Accept" var.
2007-07-01 23:29:42 +00:00
134f23e82c Sanitize component names located in main pagecontrol. 2007-07-01 19:33:31 +00:00
c79febe7b4 Defer execution of TDataSet Post() and ExecSQL() to background thread. 2007-06-30 00:25:11 +00:00
36d9603f3c Remove all remaining ExplicitXYZ properties.
Wrote a small console app which removes these properties automatically in a given directory. Feel free to download it at http://www.heidisql.com/files/explicit_sucks.exe and use it before committing *.dfm files.
2007-06-28 21:55:57 +00:00
3c8f123a81 Move *.pas, *.dfm and *.inc files from root directory to a new "source" subdirectory. Leaving just the readme in the root to give all newbies a very clear and unique starting point. 2007-06-28 20:00:04 +00:00