56 Commits

Author SHA1 Message Date
f3ce46af4d Update VirtualTrees component code to release v7.6.6 from Jan 12 2024 2024-01-29 15:00:26 +01:00
0d9de512cd Remove unit scopes from project settings, prefer fully qualified unit names in uses clauses. Enhance readability and compiler performance. 2022-12-26 17:59:19 +01:00
25d15d8b41 Optimization: set up a single TSynMemo instance instead of all, e.g. when creating a new query tab 2022-05-25 13:16:27 +02:00
d46716ff2e Issue #1503: reactivate DPI awareness, and try to read/write component dimensions DPI independently 2021-12-26 13:06:24 +01:00
cb1024b048 Fix more potential theme related EAccessViolation's, due to Action:=caFree in OnClose event of modal forms. Their caller now frees these modal forms. In non-modal forms, keep caFree in OnClose but remove existing OnDestroy events, moving code to OnClose instead.
https://www.heidisql.com/forum.php?t=38043
https://stackoverflow.com/questions/2075405/how-to-close-non-modal-form-in-delphi
2021-06-22 20:37:34 +02:00
76555bd417 Adjust position of SQL help dialog if it shows up on a no longer plugged in monitor 2020-10-14 19:28:33 +02:00
3eb3480e1c Get rid of global esc() function (which always refers to MainForm.ActiveConnection) and prefer the method's or unit's connection object instead 2020-05-10 13:41:15 +02: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
88a9e53f0d Remove remainders of DPI related code, and move TExtForm.AddSizeGrip procedure to property .HasSizeGrip. Uses TSizeGripXP instead of TSizeGripThemed, as this looks quite the same. 2019-07-21 19:44:05 +02:00
c31cae2060 Giving up on high DPI readiness - remove tweaks which mostly don't work as expected, and even differently on various computers. Instead, let Windows blur fonts. 2019-07-18 20:53:53 +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
4f9613b05c High DPI: fix growing window dimensions on each opening. Related to #378 2019-07-07 21:22:19 +02:00
cdb10d8005 Required code updates for recent VirtualTreeview update 2018-12-11 21:50:26 +01:00
fefcc43212 Issue #8: Apply theme colors to SynMemo's on help dialog 2018-10-28 11:03:41 +01: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
0e73a8cb92 Issue #213: activate ParentFont on remaining TLabel's, so their font scales like all others 2018-10-24 20:01:29 +02: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
b1546db09d Set focus on filter box when SQL help dialog opens. See http://www.heidisql.com/forum.php?t=17294 2015-01-01 17:41:32 +00:00
0f3c603c44 Prefer Delphi's Indy library over Synapse for encoding URL parameters. Remove Synapse code, which was meant to help in implementing the HTTP tunnel code which can easily be done with Indy. 2013-11-02 06:23:41 +00:00
6e608f157e Replace out-dated code which does not compile in 64bit mode in helpers.SetWindowSizeGrip. Use a TForm descendant in the new unit "extra_controls". Code parts taken from http://www.delphigroups.info/2/4/326787.html 2013-11-01 14:54:13 +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
583a8350b8 Install Ararat Synapse library (r169 from trunk), as a preparation for HTTP tunnel implementation. See issue #1405. 2012-10-21 12:17:43 +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
30474de294 Encode more unsafe characters in urls 2012-05-01 12:10:17 +00:00
e96fa77cbd Do not cache dialog instances any longer. OnCreate code is mostly very quick, and caching them adds quite some pitfalls into the code. Not to mention 30 lines less code in main.pas now :) 2011-06-26 20:01:42 +00:00
49a97584e6 Code preparation for non-MySQL connections: Extract abstract stuff into a new TDBConnection class, and let TMySQLConnection derive from that. Same with TDBQuery / TMySQLQuery. See issue #1008. 2011-03-17 23:03:54 +00:00
0fa6c15c9d Implement multiple connections per window. DBtree and friends now have their nodes bound to TDBObject instances. Fixes issue #2144. 2010-10-05 23:06:29 +00:00
a64b9412ef Some random server versions have duplicated category names in help tables, which cause infinite tree recursion in help tree, e.g. for "Polygon properties" > "Contents". Do not display these duplicates as folder to avoid infinite recursion. Fixes issue #2135. 2010-08-26 00:02:10 +00:00
25fb0ed266 Refactor code in SQL help dialog, replace the TTreeView with a VirtualTree. 2010-07-31 17:16:08 +00:00
1bef78634b Avoid endless loop in SQL help topics tree on broken help tables, by displaying a category node as topic item if has the same name as its parent category. Fixes issue #1988. 2010-06-10 22:19:38 +00:00
601edef305 Realign most controls on SQL help dialog, sanitize them from weird paddings and margins. Remove statusbar which was just there to display the size grip in the lower right corner. 2010-02-24 22:53:45 +00:00
19fa02b4c6 Add filter input above SQL help tree. Fixes issue #1718. New code mostly from SuperNiFF. 2010-02-24 22:22:22 +00:00
e045cb3d76 Delphi 2010 has PNG + alpha channel support in TImageList, so we don't need PNGcomponents any longer. 2010-02-08 00:36:17 +00:00
a9e1f12096 Save a loop for finding the right tree node in topic browser, when the user already clicked the relevant item. Fixes wrong item selection when item text exists twice or more often (e.g. "SHOW PLUGINS") Fixes issue #1575. 2010-01-17 16:52:43 +00:00
e356cb7ed7 Sanitize all "uses" clauses from unneeded unit references. 2009-12-22 23:19:56 +00:00
84f7663887 Make SQL help dialog modeless, so it can stay open while the user returns to its query or whatever. A later F1 pressing again searches the right help item. Fixes issue #971. 2009-11-30 00:52:02 +00:00
12a8e2ebc5 Implement a more lightweight connection layer, consisting of 2 units in source directory. Breaks threading and window to window communication, which should be reimplemented later. 2009-10-28 00:08:49 +00:00
4799f84bc6 Fix unsaved change for previous commit. 2009-09-21 23:15:56 +00:00
c6be8dd575 Implement customizing of shortcuts for all available TActions and SynEditor commands. Fixes issue #536. 2009-09-21 23:12:21 +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
f1b3f5501f Remove last traces of MDI (issue #513). Merges code, controls and events from childwin into main. 2009-01-01 23:24:36 +00:00
2d123ad52a Replace TMemos by TSynMemos in SQL help window and add URI openers. Enables linked URIs in text. 2008-11-25 20:11:50 +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
ffc58c022b Revert broken r1561. Worse than before - more AVs, even when pressing a speedbutton which has loaded its icon correctly. Weird. 2008-07-02 22:33:05 +00:00
94822c33fa Fix one critical AV, part of bug #580 . Loading a PNGImage from a TPNGImagelist onto a TSpeedbuttons seems buggy. Instead, assign icons at designtime. Ugly fix as we now have redundant icons, anyway, we should look after not using TPNGSpeedbutton in too many places. 2008-07-02 22:21:04 +00:00
450edab57c Try to fix bug #604, AV when pressing help button 2008-07-02 21:51:11 +00:00
e53db0a9b7 PngIcons:
- 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.
2008-03-09 19:56:52 +00:00