- 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..
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.
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.
-> 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
- Remove redundant buttons on it ("view data" + "table properties")
- Move table related buttons from ToolbarStandard to the new ToolbarDatabase ("delete table" + "create table").
- Fixes bug #271 "F5 shortcut in database tree not working"
- Fullfills rfe #519 "Highlight selected item in tree view when focus is elsewhere"
- Fixes inconsistent expansion state of nodes after refreshing
- Fixes plus sign staying when a db node with 0 tables was selected
- Slightly enhances painting speed within the dbtree
- Removes temporary storage of a rightclicked node (DBRightClickSelectItem). VirtualTree handles its right clicked selection exactly like the left clicked one, which makes makes coding a bit cleaner as we can always use the selected item instead of hacking with the right and left clicked node. On the other side it removes a quite user friendly feature. Well, we can reimplement this feature later, though it's not user UNfriendly currently.
- Reasonably rename the StringList "OnlyDBs" to "DatabasesWanted" and "OnlyDBs2" to "Databases"
- Accounts and existing privileges are presented in a pulldown which makes it as easy to use as a toy
- Adding privileges calls the new SelectDBO dialog which is basically a tree like childwins dbtree
- Updating accounts canonicalizes various odd/legacy mechanisms in the MySQL user system
- Fullfills feature request #1547437 (btw)
- Wants to be tested heavily on different servers
A result of a team work. 1000 thanks to rosenfield for the admin friendly logic implementation, tons of fixes and usability ideas.
- 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
- 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
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.
- Implement an alternative solution for handling sorted columns without usage of SMDBGrid's sortcolumns. Move relevant structures and functions from data_sorting.pas to childwin.pas and use them in both units.
- Upgrade some code parts to use WideStrings instead of Strings so they don't break with the new grid.
- Use Grid.OnDrawDataCell as an alternative to Grid.OnGetCellParams as the latter one is a feature of SMDBGrid
- Cosmetic: enhance screen real estate in viewdata()
* Bugfix: When methods are called recursively, they should push/pop altered event handlers on a LIFO stack instead of blindly setting and unsetting them.
* Cosmetic: Reclaim screen real estate in ReadDatabasesAndTables().
- File logging can be activated in preferences dialog, by default of course NOT active.
- One file per session is written to [Documents and settings]\[username]\Application data\HeidiSQL\Sessionlogs\
- Filename pattern: "[session name] [zeropadded session nr].log"
- Fetch more descriptive CSIDL_* constants for system folders from ShlObj unit rather than hardcoded hex values
- Give the user a prettier confirmation message with listed tables to drop.
- Add documentation
- Drop large WITH .. DO statement
- Correctly call refresh-procedures