IDE: save and restore of "Delete all the files?" confirmation dialog, issue #40611

(cherry picked from commit 486ffc5d9a)
This commit is contained in:
Maxim Ganetsky 2023-11-24 03:23:33 +03:00
parent 9951feea7e
commit cecfd2034e
2 changed files with 31 additions and 84 deletions

View File

@ -1,119 +1,59 @@
object ShowDeletingFilesDialog: TShowDeletingFilesDialog
Left = 209
Height = 350
Height = 438
Top = 326
Width = 400
HelpContext = 0
Width = 500
HorzScrollBar.Page = 168
VertScrollBar.Page = 164
ActiveControl = FileList
Align = alNone
AllowDropFiles = False
AutoScroll = True
AutoSize = False
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
BorderStyle = bsSizeable
Caption = 'ShowDeletingFilesDialog'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 350
ClientWidth = 400
DockSite = False
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Font.Height = 0
Font.Style = []
FormStyle = fsNormal
OnCreate = FormCreate
ParentBiDiMode = True
ParentFont = False
ClientHeight = 438
ClientWidth = 500
DesignTimePPI = 120
Position = poScreenCenter
ShowInTaskBar = stDefault
UseDockManager = False
LCLVersion = '0.9.27'
WindowState = wsNormal
LCLVersion = '3.99.0.0'
OnCreate = FormCreate
OnDestroy = FormDestroy
object ButtonPanel: TButtonPanel
Left = 6
Height = 48
Top = 302
Width = 388
HelpContext = 0
Align = alBottom
AutoSize = True
ButtonOrder = boDefault
BorderSpacing.Around = 8
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CancelButton.Name = 'CancelButton'
CancelButton.DefaultCaption = True
TabOrder = 0
DefaultButton = pbOK
ShowButtons = [pbOK, pbCancel]
ShowGlyphs = [pbOK, pbCancel, pbClose, pbHelp]
Visible = True
end
object FileList: TCheckListBox
Left = 6
Height = 262
Top = 6
Width = 388
HelpContext = 0
Align = alClient
AllowGrayed = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsSingle
Columns = 0
DragCursor = crDrag
DragMode = dmManual
ExtendedSelect = True
Enabled = True
IntegralHeight = False
ItemHeight = 0
MultiSelect = False
ParentBidiMode = True
ParentFont = True
ParentShowHint = True
Sorted = False
Style = lbStandard
BorderSpacing.Around = 8
ItemHeight = 21
TabOrder = 1
TabStop = True
TopIndex = -1
Visible = True
end
object UnCheckAll: TCheckBox
Left = 6
Height = 22
Top = 274
Width = 388
HelpContext = 0
Align = alBottom
AllowGrayed = False
AutoSize = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderSpacing.Around = 8
Caption = 'UnCheckAll'
Checked = True
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
OnChange = UnCheckAllChange
ParentColor = True
ParentFont = True
ParentShowHint = True
ParentBidiMode = True
State = cbChecked
TabOrder = 2
TabStop = True
UseOnChange = False
Visible = True
OnChange = UnCheckAllChange
end
end

View File

@ -6,7 +6,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, ButtonPanel, LazarusIDEStrConsts, CheckLst;
StdCtrls, ButtonPanel, LazarusIDEStrConsts, IDEWindowIntf, CheckLst;
type
@ -17,6 +17,7 @@ type
UnCheckAll: TCheckBox;
FileList: TCheckListBox;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure UnCheckAllChange(Sender: TObject);
private
{ private declarations }
@ -35,6 +36,12 @@ begin
Caption:=lisDeleteAllTheseFiles;
FileList.Clear;
UnCheckAll.Caption := lisCheckUncheckAll;
IDEDialogLayoutList.ApplyLayout(Self);
end;
procedure TShowDeletingFilesDialog.FormDestroy(Sender: TObject);
begin
IDEDialogLayoutList.SaveLayout(Self);
end;
procedure TShowDeletingFilesDialog.UnCheckAllChange(Sender: TObject);