51 Commits

Author SHA1 Message Date
19391e0d3f Tweak update check dialog, closes #784
* make dialog resizable
* restore previous dialog size
* use fixed pitch font in build notes
2020-01-30 16:15:42 +01:00
fcdf323086 Let TExtForm translate all strings on a form, to reduce the code in any FormCreate event 2019-07-21 20:12:13 +02:00
92c8f62b85 High DPI:
* remove ParentFont flag from forms again (introduced in 9cdcd631454f6f9e999893ea89fcf502d994474c for #213). This just inherits from default Windows settings.
* instead, scale font size in InheritFont(), and move that to the new TExtForm class
* mark app with PerMonitorV2 support
2019-07-17 21:59:18 +02:00
3759611c34 Issue #8: convert system colors applied by code into their theme color 2018-10-27 17:47:16 +02:00
9cdcd63145 Issue #213: Assign system or custom font once, to the application, and let all forms inherit that font, so there is no need to call InheritFont() for each form. 2018-10-25 19:24:45 +02:00
f63fab4aa6 Wording fix: "Microsoft Store", not "Windows Store" 2018-02-06 19:32:52 +01:00
b92addf089 Issue #60: Check if HeidiSQL runs as a Windows Store App, and disable all update check mechanisms, due to Store policies 10.2.5 https://docs.microsoft.com/legal/windows/agreements/store-policies#102-security .
Detection code taken/modified from
* https://github.com/appconsult/DesktopBridgeHelpers/blob/master/DesktopBridge.Helpers/Helpers.cs
* https://stackoverflow.com/questions/48549899/how-to-detect-universal-windows-platform-uwp-in-delphi
2018-02-01 20:30:50 +01:00
5a8a4af29a Rename helpers unit to apphelpers, to overcome a naming conflict with the FireMonkey unit FMX.Canvas.GPU.Helpers. Closes #102. 2018-01-22 19:48:17 +01:00
36c5d90d39 Use unsecured heidisql.com url in donor check if secure one did not work. Closes #65 2018-01-02 18:55:06 +01:00
31dc8f3f97 Use unsecure project web url for donor checks, as the ssl certificate seems not accepted on some Wine systems. 2017-03-05 17:40:11 +00:00
80b0d8935a Add "view changelog" button to updatecheck dialog. 2014-11-08 15:07:51 +00:00
68dc0bce05 Also display download page when clicking the "download release" button in update dialog. 2014-11-08 14:57:41 +00:00
4adacaac28 Verify size of downloaded build update to see if it was somehow corrupted during the download. Fixes issue #3386. 2013-11-16 06:44:08 +00:00
59dbff06a2 Introduce 64bit builds and 32/64 bit mixed installer 2013-11-13 05:38:44 +00:00
61202be058 Convert main menu and toolbars from TControlBar to TCoolBar, to be able to place an "Update available" link right aligned on the menu.
* 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.
2013-11-09 06:34:09 +00:00
ff09cd4be6 Remove donate button from updatecheck dialog 2013-11-05 04:58:11 +00:00
54a297f39b Fix back door introduced in r4523 2013-10-03 04:01:26 +00:00
dd20574b3c Handle click events on donate button in a single procedure 2013-09-28 05:51:29 +00:00
ff7ead47bc Issue #3334:
* 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
2013-09-17 18:11:15 +00:00
3a6531c965 Issue #3334: Check heidisql.com for the given donator email address, provided in the about dialog. 2013-09-14 04:57:33 +00:00
d7cdd3cd91 Provide a way to enter the donators email address in the about dialog, and hide all donate buttons if a check on heidisql.com succeeded. Fixes issue #3334. 2013-09-13 04:32:28 +00:00
37487e821a Remove unused uses clause. 2013-09-11 20:14:09 +00:00
74ca351be6 Add donate button to 3 places:
* main toolbar
* about dialog
* updatecheck dialog
2013-09-11 20:11:25 +00:00
f96288fce9 Translate string variables and literals in .pas files. TODO: translate constants. 2012-11-26 05:44:01 +00:00
ca1d94c87b Issue #557: Include gnugettext.pas from https://dxgettext.svn.sourceforge.net/svnroot/dxgettext/trunk/dxgettext/sample/ . And add basic code to all FormCreate events to translate their components in the future. 2012-11-10 14:28:44 +00:00
90ab0b6cf1 Refactor logic for reading and writing application and session settings:
* 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
2012-08-19 10:55:08 +00:00
3e2d4371a3 Implement home brown "THttpDownload" class, making use of the Internet_* methods from WinINet unit. Replaces "TDownloadUrl2" class. Fixes single char in user agent. 2012-04-29 06:37:24 +00:00
e58d033342 Handle build download errors in update checker. Fixes issue #2512. 2011-08-13 05:38:20 +00:00
b3b1710c35 Introduce EDatabaseError exception class, so we're able to handle only those and let others raise the exception up to MadExcept. Helps finding non-database related AVs as users are able to get the callstack now. Similar to r3292 but more consistent all over the code now. 2010-04-24 13:56:57 +00:00
d0d015339b Add dummy GET parameter holding current time, to force loading that file, even after the VCL internals have that file cached somewhere. Fixes issue #1806. 2010-03-26 18:53:35 +00:00
06333f36bf Only replace updater tool in temp directory if it has become outdated. Avoids annoyance for users which have whitelisted this .exe in their antivirus or whatever software. 2010-02-23 23:32:49 +00:00
a43edc883f Implement a new external updater tool, stick that updater.exe as resource to the main executable, release and run it when the user clicks "Download build xyz". The updater itself posts WM_CLOSE messages to all Heidi instances, waits until all instances are gone, and then replaces the .exe with the downloaded one, after having copied a backup file to your temp directory. 2010-02-16 23:58:48 +00:00
4d47af1e9e Code cosmetic:
* 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
2010-01-10 17:11:42 +00:00
43b010d227 Inject SVN revision into executable's version infos last segment (4.0.0.[r]). Don't modify main.pas any longer, just version.rc by a new console app. 2010-01-10 13:53:52 +00:00
e356cb7ed7 Sanitize all "uses" clauses from unneeded unit references. 2009-12-22 23:19:56 +00:00
8d5111cf8a Fix flicker in update checker dialog while downloading a build file. 2009-12-10 18:55:01 +00:00
8aafc3980f Keep memo with revision logs enabled, even if local executable is up-to-date. Can be useful for reading the changelog at any point. Fixes issue #1452 2009-11-10 22:37:03 +00:00
caec005625 Don't disable the build download button if using a developer build, or if we at some point, accidentally have an "M" in the current revision. 2009-11-05 00:22:47 +00:00
f6a4748081 WinExec() is deprecated in Vista and Windows 7, even in WinXP it was only kept for compatibility to 16 bit applications. Replace these 3 calls with ShellExecute(). Fixes issue #1406. 2009-11-05 00:20:27 +00:00
909d31fd64 Simplify writing settings to registry:
* 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.
2009-01-03 17:16:11 +00:00
6f8c67aff7 Make the memo for build infos slightly larger in updatecheck dialog. Put notes from more than only the last revision into it. By passing the revision with "?r=123" to the PHP file, it returns all notes from the current up to the used revision (but never more than 10, as TIniFile seems to have a small maximum line size of 2048 chars. 2008-09-21 22:59:09 +00:00
b6e243545d Updatecheck: Fix displaying the correct filesize of a nightly build while downloading. Read it from the checkfile. The server doesn't include the filesize in the header any longer. 2008-09-13 19:02:19 +00:00
5959297f2d Bugfix: we're not Internet Explorer, so stop pretending to be. 2008-09-09 11:21:58 +00:00
9a52593dc2 Use Vista's Segeo font for all forms by using the SetVistaFonts() in mainform plus the new routine InheritFont() which simply overtakes fontname and size from the mainform to all other forms. 2008-08-29 18:20:14 +00:00
88d25c902d Add option "Also check for updated nightly builds" to preferences dialog and implement needed logic in updatecheck dialog and main unit. 2008-05-25 19:35:58 +00:00
2f30ee2e68 Simplify updatecheck: Make unit updatedownload superflous by moving relevant code to updatecheck.pas. Resign from displaying a progressbar for the mostly short download time, instead use the existing status label for a textual progress information. 2008-02-27 19:31:58 +00:00
9f23a9b313 Updatecheck: Find a batchfile-solution to replace the running exe with a downloaded build.
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.
2008-02-23 00:54:02 +00:00
b584aa5ae4 Introduce automatism for calling the updatecheck dialog. User can set the interval how often this is done in preferences dialog (default interval: 3 days, can be completely disabled). The automatic calling of this dialog should not disturb anyone as it's closed immediately if there are no updates available or if a developer version with an unknown revision is used.
Some GUI controls on the dialog had to be moved around as well as some lines of code so everything works well with the automatic dialog closing.
2008-02-19 19:44:33 +00:00
b9f615f024 Minor fix for updatecheck: Set the font color of the correct TMemo after a button has been disabled. 2008-02-14 23:04:05 +00:00
32a4c08a8b Enhancements and fixes for updatecheck dialog:
- 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
2008-02-14 20:24:02 +00:00