Commit Graph

69 Commits

Author SHA1 Message Date
Ansgar Becker
54bb0bab45 Issue #1965: show SQL warnings in forms: event editor, copy table, create database, insert files, load CSV 2024-06-19 17:09:46 +02:00
Ansgar Becker
f3ce46af4d Update VirtualTrees component code to release v7.6.6 from Jan 12 2024 2024-01-29 15:00:26 +01:00
Ansgar Becker
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
Ansgar Becker
965e88b579 Delphi 11.1: fix VirtualTree package files, fix missing uses clauses, and some newly required type casts 2022-06-18 18:08:00 +02:00
Ansgar Becker
142e26ec22 Issue #1503: move SaveListSetup and RestoreListSetup to extra_controls unit, and handle column widths DPI independently 2021-12-26 13:58:25 +01:00
Ansgar Becker
d46716ff2e Issue #1503: reactivate DPI awareness, and try to read/write component dimensions DPI independently 2021-12-26 13:06:24 +01:00
Ansgar Becker
9baeb9f018 Outsource large list of MySQL functions into separate .ini files, one per server type. Todo: definitions for SQLite and Interbase. 2021-10-11 21:32:55 +02:00
Ansgar Becker
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
Ansgar Becker
19677fa7f0 Let a second version of EscapeString decide itself whether to quote a string, based on the given datatype. Closes #1386 2021-06-09 20:10:00 +02:00
Ansgar Becker
65cf4a5820 Introduce an auto-quoting mode in TDBConnection.EscapeString, and use that to get rid of quotes around hex values and integers in quick filters 2021-05-01 07:35:56 +02:00
Ansgar Becker
57c12c2c6b Fix crash in file import, when file was deleted after adding it to the list 2020-11-14 16:10:34 +01:00
Ansgar Becker
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
Ansgar Becker
05d02627f3 Make TConnectionParameters.IsMySQL specific to MySQL only, and rename the grouped type checks to IsAnyMySQL, IsAnyMSSQL etc. This way the status bar now shows "MySQL", not "MySQL or MariaDB" 2020-02-22 09:06:37 +01:00
Ansgar Becker
56e541a478 Introduce read-only mode for grid editors. Closes #631 2020-02-06 12:29:35 +01:00
Ansgar Becker
b45a0d57c7 Issue #12: Implement TDBConnection.GetTableColumns and .GetTableKeys (todo: .GetTableForeignKeys), as a replacement for the error prone ParseTableStructure. SQLite columns and keys should be parsed correctly now, MS SQL and PostgreSQL may now have some glitches to fix. 2020-01-08 15:28:36 +01:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
92c8f62b85 High DPI:
* remove ParentFont flag from forms again (introduced in 9cdcd63145 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
Ansgar Becker
2a91a13b42 Issue #677:
* drop workaround for application crash on WinXP, when loading newer libmariadb (see #79)
* raise TDbLib's own exception instead of baking an own one with less details. Probably helps in debugging: https://www.heidisql.com/forum.php?t=34044
* rename EDatabaseError to EDbError, to overcome naming conflict in DB unit
* load libpq.dll always with path, which should anyway work better than without it. See http://www.heidisql.com/forum.php?t=22514
2019-07-08 20:23:05 +02:00
Ansgar Becker
4f9613b05c High DPI: fix growing window dimensions on each opening. Related to #378 2019-07-07 21:22:19 +02:00
Ansgar Becker
1d6a415f5f Refactor: rename mysql_structures unit neutrally to dbstructures 2019-06-22 14:26:41 +02:00
Ansgar Becker
aa0540921c Issue #448: Apply 192 new icons mainly from Icons8 gallery, with an OpenSource permission (talked to Eugenie from Icons8) 2019-01-26 19:15:25 +01:00
Ansgar Becker
cdb10d8005 Required code updates for recent VirtualTreeview update 2018-12-11 21:50:26 +01:00
Ansgar Becker
f1c9f1a8a4 Make several overseen strings translatable. Closes issue #19. 2018-11-13 19:15:49 +01:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
63468b0c01 Make grid UPDATEs and INSERTs more compatible with DATE/TIME columns in MSSQL. Fixes issue #3469. 2013-12-16 18:44:12 +00:00
Ansgar Becker
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
Ansgar Becker
1347a3a368 Fix usage of wrong TDBObject caused by using wrong offset from TDBObjectList. 2013-08-24 18:11:43 +00:00
Ansgar Becker
5e83eaab1b * Move code from FillPopupQueryLoad into automatically triggered FillPopupQuery.OnPopup event.
* Make getting system imagelist and imageindex shared code in Helpers.GetSystemImageList and Helpers.GetSystemImageIndex
* Remove call to TranslateComponent, accidentally committed in r4490
* Draw system icons with transparency
2013-08-24 05:28:39 +00:00
Ansgar Becker
3eb6e431cc Leave out "_binary" keyword on MSSQL when inserting binary files. Fixes issue #3244. 2013-06-22 04:47:17 +00:00
Ansgar Becker
6371ff5557 Issue #3212: Introduce TDBConnection.QuotedDbAndTableName(), callable with a db and table string. Internally calls TDBObject.QuotedDbAndTableName(), so we get the schema between db and table if required. 2013-06-22 04:45:53 +00:00
Ansgar Becker
f96288fce9 Translate string variables and literals in .pas files. TODO: translate constants. 2012-11-26 05:44:01 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
af3f590723 Use one color pulldown for setting grid text colors, not one per data type. Use all TDBDatatypeCategory's here, so this introduces a separate color for floats and integers, which were "numeric" before. 2012-02-27 22:16:05 +00:00
Ansgar Becker
a69041d17d Add support for Windows 7 task button progress. Unify all callers of ProgressBarStatus in a set of 5 functions in main unit instead of helpers, as this is where the progress bar is placed and also we need the handle of the main window. 2011-11-08 22:27:52 +00:00
Ansgar Becker
a26f891957 Minor cosmetics on file import dialog 2011-07-12 22:16:05 +00:00
Ansgar Becker
3824e552fe Rewrite import file dialog: Use a grid for column values, distinct between binary and text files 2011-07-11 06:13:50 +00:00
Ansgar Becker
afed597cc5 Benefit from cached DBObject.CreateCode, on "insert files" dialog. 2011-06-27 22:58:26 +00:00
Ansgar Becker
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
Ansgar Becker
2d548b5ef6 Introduce some wrapper functions for message and error dialogs in order to have less code and to avoid hidden titles on Windows XP. Fixes issue #2425. 2011-05-27 04:48:21 +00:00
Ansgar Becker
c8b25c75fa Bind session parameter object to session manager list nodes, to be able to show the right vendor icon in that list. 2011-04-17 23:21:05 +00:00
Ansgar Becker
4fbf2c23dd Introduce experimental MS SQL support 2011-03-29 23:20:21 +00:00
Ansgar Becker
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
Ansgar Becker
6f95a796e1 Modify identifier quoting logic:
- Move QuoteIdent() and DeQuoteIdent() out of TMySQLConnection, make them classless
- Remove TMainForm.mask(), instead always use QuoteIdent()
- Introduce a third parameter to QuoteIdent(): "AlwaysQuote" - setting this to false will quote only if required
- Set AlwaysQuote to false for all stuff which drops some code into the query editor, see http://www.heidisql.com/forum.php?t=6986
2010-11-24 23:12:13 +00:00
Ansgar Becker
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
Ansgar Becker
97f01a175b Move database filter again from mainform to session manager, so people without privilege to run SHOW DATABASE are not stuck. Fixes issue #1485. Also, allow to see available databases when user does a dropdown. Also, simplify logic for refreshing database list in mainform. 2010-04-22 15:16:27 +00:00
Ansgar Becker
f690de4405 Fix half read binary files in "Insert files" dialog, now that SizeOf(Char) returns 2 instead of 1. 2010-01-07 18:35:37 +00:00