- Rename components with reasonable names
- Use caching mechanism from Childwin.FetchDBTableList to fill tables listbox
- Make form resizable, store and restore customized dimensions
- Keep form instance alive and recycle that instance as long as Mainform lives
- Fix confusion with action item (wasn't really used in both menuitems)
- Add documentation
- Give them their own icon in dbtree and ListTables
- Disable pure table actions (like "Alter table", "Optimize" etc.) in context menus when a view is selected
- Add new column in ListTables: "Type" which is filled either with "Base table" or "View"
- Introduce new property "NodeType" in TVTreeData record, used currently to store NODETYPE_VIEW or NODETYPE_TABLE. This new property is meant to be used for various purposes in other VirtualTrees in the future.
- Introduce Childwin.SelectedTableType, corresponding to Childwin.SelectedTable
- Make DropTable action fit for also dropping views (and surely a list with a mixture of views and tables)
- Don't fetch rowcount from views in DisplayRowCountStats to fix bug #1844952
- "Table" => "Name" (can also contain views)
- "Records" => "Rows" (records is old-style)
- "Type" => "Engine" (dito, plus MySQL renamed that also in the SHOW TABLE STATUS result)
- Fix wrong imageindexes in quickfilter menus for clipboard inserting and "Drop filter"
- Assign existing, fitting icons to all other quick filter menu items and "Insert date/time" items.
- Replace icon for "Query" tab by the big blue arrow which is also used for the "Play" button
- Replace icon for "View Data" buttons and "Data" tab with a more simplistic one from the Silk set. This makes the normal "table" icon more distinct as these both looked very similar previously.
- Edit the "Import CSV file" icon: add some lines which can be better associated with a "text file"
- Remove "Reload privileges" button on toolbar and leave it in the tools "flush" menu. Also remove confusing icon for this menu item as that was highly similar to the master refresh symbol.
- Assign a different (hopefully clearer) icon to "Export SQL" action
- Add seperator between database and table toolbuttons
I have a slight feeling that this change fixes at least one access violation in the last nightly builds which I cannot reproduce when I compile these changed files.
- Ban glyph data of all TSpeedButton's + TBitBtn's out of dfm files by converting them to TPngSpeedButtons and assign an image from PngImageListMain at runtime.
- Add "highlight" versions of "database" and "table" icons and use these on selected DBtree nodes.
- Remove no longer used BMP icons
Todo: Fill PngImageListMain at runtime.
Note 1: TBitBtn's are not Windows-theme-aware, even with a manifest in place, so we should avoid using them anywhere.
Note 2: T(Png)SpeedButton lacks a TabOrder property, so some of the other TabOrder's are automatically changed here.
Btw: The red "busy" and green "ready" icon in the statusbar had been removed now, as that was no longer working with the PNGImageList. Refixes the everlasting bug #1472803. Maybe these two icons can be added sometime, as that can be very informative to the user, but then please with a less hackish solution than previously.
TODO: find some sleep command for the batch file, as we sometimes get "access denied" while trying to overwrite the just terminated exe. Seems like taskkill doesn't close all handles itself.
- Fix URL opened by btnBuild
- Fetch and display date, revision and note of release/build
- Put the download buttons into separated TGroupBoxes and add a TMemo for Notes above them
- Enable a download button if "download revision" > "current revision". Enables a more exact comparision, especially for releases.
- Remove dodgy "refresh" icon on form.
If you stumble across this compiler notice: "FileAge(File)" is deprecated, while the used overloaded method "FileAge(File, DateTime)" is not. See also: http://groups.google.com/group/borland.public.delphi.rtl.win32/browse_thread/thread/9792bef1ee37a298/75b96783bb4862ee
Implements a simple dialog which tells the user if there is some new release or nightly build available. Parses http://www.heidisql.com/updatecheck.php as a .ini file. Download buttons just start the webbrowser currently.
Todo: Automatic invocation of this dialog at regular intervals (for example once a week)
Todo: Automatic download + update + restart
- Consequently use Mainform.GetRegValue() to read these values, an overloaded method with either Boolean, String or Integer result. These methods keep a global TRegistry object (regMain) open while the application runs, rather than creating a new one for each caller.
- Remove Mainform.SaveRegValue() which was used in one or two callers. Rather use a TRegistry object and do that by hand. There's no significant advantage in using a SaveRegValue method currently.
Error message: <spatial data type> can't have a default value.
Solution: I tried every type of this family data type and found that they needs the flag HasDefault as False.