* Also, convert the donate button to a second label on the menu, so it's less intrusive than before. See http://www.heidisql.com/forum.php?t=13446
* With the "Update available" label visible all the time, we check for updates also for builds, but only show the update check dialog if the user has activated "Check for builds also" option.
* Decrease connect timeout for donation state check from 30s down to 3s, so especially on application start noone has to wait too long only because heidisql.com is down again.
* Return TThreeStateBoolean in HasDonated(), so we can display an appropriate warning when the HTTP check was unsuccessful
* Introduce TAppSettings, created in dpr file
* Implement read and write methods, and replace callers of GetRegValue and MainReg.WriteInt/... with these
* Optimize read and write methods for avoiding redundant accesses to registry
* Auto-remove stored default settings from registry to avoid registry spam
* Replace synced MainForm.pref* variables with TAppSettings.Read* calls
* Move SetLocales call to dpr file
* Move MainForm.FDirname* variables to appropriate methods in helpers.pas
* Implement TQueryHistory.Create(SessionPath), reading its items within constructor
* Sanitize main unit from unused variables
* Move global variables to public scope
* Bring public vars into some reasonable order
* Move constants to const.inc, unless dependent from some used VCL unit
* Keep only one TRegistry object in memory instead of creating a new one in each routine.
* Move out relevant functions and TRegistry object from main to helpers to make them usable globally.
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