From 7db196e9def5f45d996cb3c70a33ca4ae82a58d2 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Wed, 2 Apr 2025 13:58:14 +0200 Subject: [PATCH] Issue #1482: fix more anchor siblings, disable TExtForm.PageControlTabHighlight --- source/createdatabase.lfm | 9 ++- source/extra_controls.pas | 2 + source/insertfiles.lfm | 142 ++++++++++++++++++++++++------------ source/sqlhelp.lfm | 150 +++++++++++++++++++++++++------------- source/updatecheck.lfm | 97 ++++++++++++++++-------- 5 files changed, 269 insertions(+), 131 deletions(-) diff --git a/source/createdatabase.lfm b/source/createdatabase.lfm index 89672e2b..2ab049db 100644 --- a/source/createdatabase.lfm +++ b/source/createdatabase.lfm @@ -3,7 +3,6 @@ object CreateDatabaseForm: TCreateDatabaseForm Height = 284 Top = 0 Width = 396 - BorderStyle = bsDialog Caption = 'Create database ...' ClientHeight = 284 ClientWidth = 396 @@ -37,10 +36,12 @@ object CreateDatabaseForm: TCreateDatabaseForm object lblCreateCode: TLabel AnchorSideTop.Control = btnOK AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom Left = 10 Height = 20 Top = 137 - Width = 81 + Width = 380 Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 Caption = 'CREATE code' @@ -48,10 +49,12 @@ object CreateDatabaseForm: TCreateDatabaseForm object lblServerDefaultCollation: TLabel AnchorSideTop.Control = comboCollation AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom Left = 120 Height = 20 Top = 74 - Width = 103 + Width = 270 Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 Caption = 'Servers default:' diff --git a/source/extra_controls.pas b/source/extra_controls.pas index 6ef8d36d..c42019fa 100644 --- a/source/extra_controls.pas +++ b/source/extra_controls.pas @@ -446,6 +446,8 @@ var GrayscaleMode: Integer; IsQueryTab, DoGrayscale: Boolean; begin + // Unsupported yet. We have no TVirtualImageList, see MainForm.PrepareImageList + Exit; // Set grayscale icon on inactive tabs if not (PageControl.Images is TImageList) then Exit; diff --git a/source/insertfiles.lfm b/source/insertfiles.lfm index d5ccf4ce..89268e1f 100644 --- a/source/insertfiles.lfm +++ b/source/insertfiles.lfm @@ -16,9 +16,12 @@ object frmInsertFiles: TfrmInsertFiles OnShow = FormShow Position = poOwnerFormCenter object btnInsert: TButton - Left = 341 + AnchorSideRight.Control = btnCancel + AnchorSideBottom.Control = Owner + AnchorSideBottom.Side = asrBottom + Left = 346 Height = 31 - Top = 573 + Top = 577 Width = 162 Anchors = [akRight, akBottom] BorderSpacing.Around = 6 @@ -30,9 +33,13 @@ object frmInsertFiles: TfrmInsertFiles OnClick = btnInsertClick end object btnCancel: TButton - Left = 510 + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = Owner + AnchorSideBottom.Side = asrBottom + Left = 514 Height = 31 - Top = 573 + Top = 577 Width = 119 Anchors = [akRight, akBottom] BorderSpacing.Around = 6 @@ -42,39 +49,52 @@ object frmInsertFiles: TfrmInsertFiles TabOrder = 0 end object grpSelectObject: TGroupBox - Left = 10 + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Left = 6 Height = 292 - Top = 10 - Width = 619 - Anchors = [akTop, akLeft, akRight] + Top = 6 + Width = 627 + Align = alTop BorderSpacing.Around = 6 Caption = 'Target table and columns' ClientHeight = 267 - ClientWidth = 615 + ClientWidth = 623 ParentBackground = False TabOrder = 2 object lblTable: TLabel - Left = 12 + AnchorSideLeft.Control = grpSelectObject + AnchorSideTop.Control = grpSelectObject + Left = 6 Height = 20 - Top = 8 + Top = 6 Width = 107 BorderSpacing.Around = 6 Caption = 'Database, table:' end object lblFilecontents: TLabel + AnchorSideLeft.Control = grpSelectObject AnchorSideTop.Control = comboDBs AnchorSideTop.Side = asrBottom - Left = 12 + AnchorSideRight.Control = grpSelectObject + AnchorSideRight.Side = asrBottom + Left = 6 Height = 20 - Top = 39 - Width = 515 + Top = 40 + Width = 611 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 Caption = 'Column values (Hint: Assign "%filecontent%" value to a BLOB or TEXT column)' end object comboDBs: TComboBox - Left = 212 + AnchorSideLeft.Control = lblTable + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = grpSelectObject + Left = 119 Height = 28 - Top = 5 + Top = 6 Width = 189 BorderSpacing.Around = 6 ItemHeight = 20 @@ -83,10 +103,15 @@ object frmInsertFiles: TfrmInsertFiles OnChange = comboDBsChange end object comboTables: TComboBox - Left = 409 + AnchorSideLeft.Control = comboDBs + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = grpSelectObject + AnchorSideRight.Control = grpSelectObject + AnchorSideRight.Side = asrBottom + Left = 314 Height = 28 - Top = 5 - Width = 195 + Top = 6 + Width = 303 Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 ItemHeight = 20 @@ -95,13 +120,18 @@ object frmInsertFiles: TfrmInsertFiles OnChange = comboTablesChange end object ListColumns: TLazVirtualStringTree + AnchorSideLeft.Control = grpSelectObject AnchorSideTop.Control = lblFilecontents AnchorSideTop.Side = asrBottom - Left = 12 - Height = 189 - Top = 65 - Width = 592 - Anchors = [akTop, akLeft, akRight] + AnchorSideRight.Control = grpSelectObject + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = grpSelectObject + AnchorSideBottom.Side = asrBottom + Left = 6 + Height = 195 + Top = 66 + Width = 611 + Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 EditDelay = 0 Header.AutoSizeIndex = 2 @@ -122,7 +152,7 @@ object frmInsertFiles: TfrmInsertFiles Options = [coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coVisible, coAllowFocus] Position = 2 Text = 'Value' - Width = 363 + Width = 382 end> Header.Height = 32 Header.Images = MainForm.ImageListIcons8 @@ -142,22 +172,33 @@ object frmInsertFiles: TfrmInsertFiles end end object GroupBox2: TGroupBox - Left = 10 - Height = 255 - Top = 310 - Width = 619 + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = grpSelectObject + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = btnInsert + Left = 6 + Height = 267 + Top = 304 + Width = 627 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 Caption = 'Files to import' - ClientHeight = 230 - ClientWidth = 615 + ClientHeight = 242 + ClientWidth = 623 ParentBackground = False TabOrder = 3 object lblDropHint: TLabel - Left = 310 + AnchorSideLeft.Control = ToolBar1 + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = GroupBox2 + AnchorSideRight.Control = GroupBox2 + AnchorSideRight.Side = asrBottom + Left = 302 Height = 28 - Top = 17 - Width = 290 + Top = 6 + Width = 315 Anchors = [akTop, akLeft, akRight] AutoSize = False BorderSpacing.Around = 6 @@ -165,24 +206,30 @@ object frmInsertFiles: TfrmInsertFiles Layout = tlCenter end object lblFileCount: TLabel + AnchorSideLeft.Control = GroupBox2 AnchorSideTop.Control = ListFiles AnchorSideTop.Side = asrBottom - Left = 12 + AnchorSideBottom.Control = GroupBox2 + AnchorSideBottom.Side = asrBottom + Left = 6 Height = 20 - Top = 195 + Top = 216 Width = 39 Anchors = [akLeft, akBottom] BorderSpacing.Around = 6 Caption = '0 files' end object ListFiles: TLazVirtualStringTree + AnchorSideLeft.Control = GroupBox2 AnchorSideTop.Control = ToolBar1 AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = GroupBox2 + AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = lblFileCount - Left = 12 - Height = 138 - Top = 51 - Width = 592 + Left = 6 + Height = 170 + Top = 40 + Width = 611 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 Header.AutoSizeIndex = 0 @@ -190,7 +237,7 @@ object frmInsertFiles: TfrmInsertFiles item Position = 0 Text = 'Filename' - Width = 400 + Width = 419 end item CheckBox = True @@ -229,29 +276,32 @@ object frmInsertFiles: TfrmInsertFiles OnStructureChange = ListFilesStructureChange end object ToolBar1: TToolBar - Left = 12 + AnchorSideLeft.Control = GroupBox2 + AnchorSideTop.Control = GroupBox2 + Left = 6 Height = 28 - Top = 17 + Top = 6 Width = 290 Align = alNone BorderSpacing.Around = 6 ButtonHeight = 35 ButtonWidth = 82 Caption = 'ToolBarFiles' + EdgeBorders = [] Images = MainForm.ImageListIcons8 List = True ShowCaptions = True TabOrder = 1 object btnAddFiles: TToolButton Left = 1 - Top = 2 + Top = 0 Caption = 'Add' ImageIndex = 45 OnClick = btnAddFilesClick end object btnRemoveFiles: TToolButton Left = 83 - Top = 2 + Top = 0 Caption = 'Remove' Enabled = False ImageIndex = 46 @@ -259,7 +309,7 @@ object frmInsertFiles: TfrmInsertFiles end object btnClearFiles: TToolButton Left = 168 - Top = 2 + Top = 0 Caption = 'Clear' Enabled = False ImageIndex = 26 diff --git a/source/sqlhelp.lfm b/source/sqlhelp.lfm index 28082ac3..1506a232 100644 --- a/source/sqlhelp.lfm +++ b/source/sqlhelp.lfm @@ -3,7 +3,6 @@ object frmSQLhelp: TfrmSQLhelp Height = 444 Top = 0 Width = 728 - BorderWidth = 10 Caption = 'Integrated SQL-help' ClientHeight = 444 ClientWidth = 728 @@ -15,40 +14,54 @@ object frmSQLhelp: TfrmSQLhelp OnDestroy = FormDestroy OnShow = FormShow object pnlMain: TPanel - Left = 10 - Height = 382 - Top = 10 - Width = 708 + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Left = 6 + Height = 384 + Top = 6 + Width = 716 Align = alClient + BorderSpacing.Around = 6 BevelOuter = bvNone - ClientHeight = 382 - ClientWidth = 708 + ClientHeight = 384 + ClientWidth = 716 ParentBackground = False TabOrder = 0 object Splitter1: TSplitter Cursor = crSizeWE Left = 191 - Height = 382 + Height = 384 Top = 0 Width = 10 end object pnlLeft: TPanel + AnchorSideLeft.Control = pnlMain + AnchorSideTop.Control = pnlMain + AnchorSideRight.Control = Splitter1 + AnchorSideRight.Side = asrBottom Left = 0 - Height = 382 + Height = 384 Top = 0 Width = 191 Align = alLeft BevelOuter = bvNone - ClientHeight = 382 + ClientHeight = 384 ClientWidth = 191 ParentBackground = False TabOrder = 0 object editFilter: TEditButton - Left = 0 + AnchorSideLeft.Control = pnlLeft + AnchorSideTop.Control = pnlLeft + AnchorSideRight.Control = pnlLeft + AnchorSideRight.Side = asrBottom + Left = 2 Height = 28 - Top = 0 - Width = 191 + Top = 2 + Width = 187 Align = alTop + BorderSpacing.Around = 2 ButtonWidth = 29 Images = MainForm.ImageListIcons8 ImageIndex = 193 @@ -61,11 +74,16 @@ object frmSQLhelp: TfrmSQLhelp TextHint = 'Filter' end object treeTopics: TLazVirtualStringTree - Left = 0 - Height = 354 - Top = 28 - Width = 191 + AnchorSideLeft.Control = pnlLeft + AnchorSideTop.Control = editFilter + AnchorSideRight.Control = pnlLeft + AnchorSideRight.Side = asrBottom + Left = 2 + Height = 350 + Top = 32 + Width = 187 Align = alClient + BorderSpacing.Around = 2 Constraints.MinWidth = 38 Header.AutoSizeIndex = 0 Header.Columns = <> @@ -83,55 +101,73 @@ object frmSQLhelp: TfrmSQLhelp end end object pnlRight: TPanel + AnchorSideLeft.Control = Splitter1 + AnchorSideTop.Control = pnlMain + AnchorSideRight.Control = pnlMain + AnchorSideRight.Side = asrBottom Left = 201 - Height = 382 + Height = 384 Top = 0 - Width = 507 + Width = 515 Align = alClient BevelOuter = bvNone - ClientHeight = 382 - ClientWidth = 507 + ClientHeight = 384 + ClientWidth = 515 ParentBackground = False TabOrder = 1 object Splitter2: TSplitter Cursor = crVSplit Left = 0 Height = 10 - Top = 212 - Width = 507 + Top = 220 + Width = 515 Align = alTop ResizeAnchor = akTop end object lblDescription: TLabel - Left = 0 + AnchorSideLeft.Control = pnlRight + AnchorSideTop.Control = pnlRight + AnchorSideRight.Control = pnlRight + AnchorSideRight.Side = asrBottom + Left = 2 Height = 20 - Top = 1 - Width = 507 + Top = 5 + Width = 511 Align = alTop + BorderSpacing.Around = 2 Caption = 'Description:' end object lblKeyword: TLabel - Left = 0 + Left = 2 Height = 1 - Top = 0 - Width = 507 + Top = 2 + Width = 511 Align = alTop + BorderSpacing.Around = 2 ShowAccelChar = False end object lblExample: TLabel - Left = 0 + AnchorSideTop.Control = Splitter2 + AnchorSideTop.Side = asrBottom + Left = 2 Height = 20 - Top = 222 - Width = 507 + Top = 232 + Width = 511 Align = alTop + BorderSpacing.Around = 2 Caption = 'Example:' end inline memoDescription: TSynEdit - Left = 0 + AnchorSideTop.Control = lblDescription + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = pnlRight + AnchorSideRight.Side = asrBottom + Left = 2 Height = 191 - Top = 21 - Width = 507 + Top = 27 + Width = 511 Align = alTop + BorderSpacing.Around = 2 Constraints.MinHeight = 38 Font.Height = -16 Font.Name = 'Courier New' @@ -211,11 +247,12 @@ object frmSQLhelp: TfrmSQLhelp end end inline MemoExample: TSynEdit - Left = 0 - Height = 140 - Top = 242 - Width = 507 + Left = 2 + Height = 128 + Top = 254 + Width = 511 Align = alClient + BorderSpacing.Around = 2 Constraints.MinHeight = 38 Font.Height = -16 Font.Name = 'Courier New' @@ -297,33 +334,44 @@ object frmSQLhelp: TfrmSQLhelp end end object pnlBottom: TPanel - Left = 10 + Left = 6 Height = 42 - Top = 392 - Width = 708 + Top = 396 + Width = 716 Align = alBottom + AutoSize = True + BorderSpacing.Around = 6 BevelOuter = bvNone ClientHeight = 42 - ClientWidth = 708 + ClientWidth = 716 ParentBackground = False TabOrder = 1 object btnSearchOnline: TSpeedButton - Left = 444 - Height = 31 - Top = 8 - Width = 129 + AnchorSideTop.Control = pnlBottom + AnchorSideRight.Control = ButtonClose + Left = 529 + Height = 24 + Top = 6 + Width = 113 Anchors = [akTop, akRight] + AutoSize = True + BorderSpacing.Around = 6 Caption = 'Search online' Images = MainForm.ImageListIcons8 ImageIndex = 69 OnClick = ButtonOnlinehelpClick end object ButtonClose: TButton - Left = 580 - Height = 31 - Top = 8 - Width = 128 + AnchorSideTop.Control = pnlBottom + AnchorSideRight.Control = pnlBottom + AnchorSideRight.Side = asrBottom + Left = 648 + Height = 30 + Top = 6 + Width = 62 Anchors = [akTop, akRight] + AutoSize = True + BorderSpacing.Around = 6 Cancel = True Caption = 'Close' Default = True diff --git a/source/updatecheck.lfm b/source/updatecheck.lfm index 24e6f3a6..88f254cf 100644 --- a/source/updatecheck.lfm +++ b/source/updatecheck.lfm @@ -16,11 +16,17 @@ object frmUpdateCheck: TfrmUpdateCheck OnShow = FormShow Position = poOwnerFormCenter object lblStatus: TLabel - Left = 10 - Height = 48 - Top = 455 - Width = 262 - Anchors = [akLeft, akRight, akBottom] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = groupBuild + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = btnCancel + AnchorSideBottom.Control = Owner + AnchorSideBottom.Side = asrBottom + Left = 6 + Height = 31 + Top = 468 + Width = 300 + Anchors = [akTop, akLeft, akRight, akBottom] AutoSize = False BorderSpacing.Around = 6 Caption = 'lblStatus' @@ -28,9 +34,13 @@ object frmUpdateCheck: TfrmUpdateCheck WordWrap = True end object btnCancel: TButton - Left = 308 + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = Owner + AnchorSideBottom.Side = asrBottom + Left = 312 Height = 31 - Top = 464 + Top = 468 Width = 132 Anchors = [akRight, akBottom] BorderSpacing.Around = 6 @@ -41,23 +51,33 @@ object frmUpdateCheck: TfrmUpdateCheck TabOrder = 3 end object groupBuild: TGroupBox + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = groupRelease + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnCancel - Left = 10 - Height = 218 - Top = 240 - Width = 430 + Left = 6 + Height = 230 + Top = 232 + Width = 438 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 Caption = 'Nightly build' - ClientHeight = 193 - ClientWidth = 426 + ClientHeight = 205 + ClientWidth = 434 ParentBackground = False TabOrder = 2 object btnBuild: TButton - Left = 8 + AnchorSideLeft.Control = groupBuild + AnchorSideRight.Control = groupBuild + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = groupBuild + AnchorSideBottom.Side = asrBottom + Left = 6 Height = 31 - Top = 153 - Width = 409 + Top = 168 + Width = 422 Anchors = [akLeft, akRight, akBottom] BorderSpacing.Around = 6 Caption = 'Download nightly build' @@ -68,10 +88,15 @@ object frmUpdateCheck: TfrmUpdateCheck OnClick = btnBuildClick end object memoBuild: TMemo - Left = 8 - Height = 93 - Top = 11 - Width = 409 + AnchorSideLeft.Control = groupBuild + AnchorSideTop.Control = groupBuild + AnchorSideRight.Control = groupBuild + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = btnChangelog + Left = 6 + Height = 119 + Top = 6 + Width = 422 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 BorderStyle = bsNone @@ -88,11 +113,14 @@ object frmUpdateCheck: TfrmUpdateCheck TabOrder = 0 end object btnChangelog: TButton + AnchorSideLeft.Control = groupBuild + AnchorSideRight.Control = groupBuild + AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = btnBuild - Left = 8 + Left = 6 Height = 31 - Top = 116 - Width = 409 + Top = 131 + Width = 422 Anchors = [akLeft, akRight, akBottom] BorderSpacing.Around = 6 Caption = 'View changelog' @@ -101,17 +129,20 @@ object frmUpdateCheck: TfrmUpdateCheck end end object groupRelease: TGroupBox + AnchorSideLeft.Control = Owner AnchorSideTop.Control = btnDonate AnchorSideTop.Side = asrBottom - Left = 10 + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Left = 6 Height = 122 - Top = 108 - Width = 430 + Top = 104 + Width = 438 Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 Caption = 'Official release' ClientHeight = 97 - ClientWidth = 426 + ClientWidth = 434 Enabled = False ParentBackground = False TabOrder = 1 @@ -119,7 +150,7 @@ object frmUpdateCheck: TfrmUpdateCheck Left = 8 Height = 59 Top = 5 - Width = 409 + Width = 417 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 BorderStyle = bsNone @@ -145,10 +176,14 @@ object frmUpdateCheck: TfrmUpdateCheck end end object btnDonate: TButton - Left = 10 + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Left = 6 Height = 92 - Top = 10 - Width = 430 + Top = 6 + Width = 438 Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 Caption = 'Donate'