IdeIntf: Remember the layout of String property editors, and ToolbarConfig dialog. Issue #32113.

git-svn-id: trunk@55987 -
This commit is contained in:
juha 2017-10-06 10:06:02 +00:00
parent 1f7440575f
commit 60b135d29f
6 changed files with 69 additions and 31 deletions

View File

@ -8,9 +8,10 @@ object KeyValPropEditorFrm: TKeyValPropEditorFrm
ClientWidth = 400 ClientWidth = 400
Constraints.MinHeight = 160 Constraints.MinHeight = 160
Constraints.MinWidth = 180 Constraints.MinWidth = 180
OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '1.3' LCLVersion = '1.9.0.0'
object TextGroupBox: TGroupBox object TextGroupBox: TGroupBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
@ -18,13 +19,13 @@ object KeyValPropEditorFrm: TKeyValPropEditorFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = BtnPanel AnchorSideBottom.Control = BtnPanel
Left = 6 Left = 6
Height = 251 Height = 257
Top = 6 Top = 6
Width = 388 Width = 388
Align = alTop Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ClientHeight = 247 ClientHeight = 253
ClientWidth = 384 ClientWidth = 384
TabOrder = 0 TabOrder = 0
object StatusLabel: TLabel object StatusLabel: TLabel
@ -32,8 +33,8 @@ object KeyValPropEditorFrm: TKeyValPropEditorFrm
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 9 Left = 9
Height = 15 Height = 15
Top = 226 Top = 232
Width = 74 Width = 71
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'StatusLabel' Caption = 'StatusLabel'
@ -43,10 +44,10 @@ object KeyValPropEditorFrm: TKeyValPropEditorFrm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = TextGroupBox AnchorSideRight.Control = TextGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 268 Left = 274
Height = 25 Height = 25
Top = 6 Top = 6
Width = 110 Width = 104
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -60,9 +61,9 @@ object KeyValPropEditorFrm: TKeyValPropEditorFrm
AnchorSideRight.Control = SortButton AnchorSideRight.Control = SortButton
AnchorSideBottom.Control = StatusLabel AnchorSideBottom.Control = StatusLabel
Left = 6 Left = 6
Height = 214 Height = 220
Top = 6 Top = 6
Width = 256 Width = 262
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
DefaultColWidth = 100 DefaultColWidth = 100
@ -76,14 +77,14 @@ object KeyValPropEditorFrm: TKeyValPropEditorFrm
) )
ColWidths = ( ColWidths = (
100 100
152 158
) )
end end
end end
object BtnPanel: TButtonPanel object BtnPanel: TButtonPanel
Left = 6 Left = 6
Height = 33 Height = 27
Top = 263 Top = 269
Width = 388 Width = 388
OKButton.Name = 'OKButton' OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True OKButton.DefaultCaption = True

View File

@ -14,8 +14,11 @@ unit KeyValPropEditDlg;
interface interface
uses uses
Classes, SysUtils, LCLProc, Forms, Controls, Buttons, Dialogs, StdCtrls, SysUtils,
TextTools, ObjInspStrConsts, ExtCtrls, ButtonPanel, ValEdit; // LCL
Forms, StdCtrls, ButtonPanel, ValEdit,
// IdeIntf
TextTools, ObjInspStrConsts, IDEWindowIntf;
type type
@ -27,6 +30,7 @@ type
StatusLabel: TLabel; StatusLabel: TLabel;
SortButton: TButton; SortButton: TButton;
TextGroupBox: TGroupBox; TextGroupBox: TGroupBox;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure SortButtonClick(Sender: TObject); procedure SortButtonClick(Sender: TObject);
public public
@ -44,6 +48,12 @@ begin
Caption := oisStringsEditorDialog; Caption := oisStringsEditorDialog;
StatusLabel.Caption := ois0Lines0Chars; StatusLabel.Caption := ois0Lines0Chars;
//SortButton.Caption := oisSort; //SortButton.Caption := oisSort;
IDEDialogLayoutList.ApplyLayout(Self);
end;
procedure TKeyValPropEditorFrm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
IDEDialogLayoutList.SaveLayout(Self);
end; end;
procedure TKeyValPropEditorFrm.SortButtonClick(Sender: TObject); procedure TKeyValPropEditorFrm.SortButtonClick(Sender: TObject);

View File

@ -9,9 +9,10 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
ClientWidth = 400 ClientWidth = 400
Constraints.MinHeight = 160 Constraints.MinHeight = 160
Constraints.MinWidth = 180 Constraints.MinWidth = 180
OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '1.7' LCLVersion = '1.9.0.0'
object TextGroupBox: TGroupBox object TextGroupBox: TGroupBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
@ -19,22 +20,22 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = BtnPanel AnchorSideBottom.Control = BtnPanel
Left = 6 Left = 6
Height = 258 Height = 257
Top = 6 Top = 6
Width = 388 Width = 388
Align = alTop Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ClientHeight = 240 ClientHeight = 253
ClientWidth = 384 ClientWidth = 384
TabOrder = 0 TabOrder = 0
object StatusLabel: TLabel object StatusLabel: TLabel
AnchorSideBottom.Control = TextGroupBox AnchorSideBottom.Control = TextGroupBox
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 9 Left = 9
Height = 14 Height = 15
Top = 220 Top = 232
Width = 57 Width = 71
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'StatusLabel' Caption = 'StatusLabel'
@ -45,7 +46,7 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
AnchorSideRight.Control = SortButton AnchorSideRight.Control = SortButton
AnchorSideBottom.Control = StatusLabel AnchorSideBottom.Control = StatusLabel
Left = 6 Left = 6
Height = 208 Height = 220
Top = 6 Top = 6
Width = 291 Width = 291
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
@ -61,7 +62,7 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
AnchorSideRight.Control = TextGroupBox AnchorSideRight.Control = TextGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 303 Left = 303
Height = 23 Height = 25
Top = 6 Top = 6
Width = 75 Width = 75
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@ -80,7 +81,7 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 303 Left = 303
Height = 27 Height = 27
Top = 39 Top = 37
Width = 75 Width = 75
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
Caption = 'Clear' Caption = 'Clear'
@ -90,9 +91,17 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
end end
object BtnPanel: TButtonPanel object BtnPanel: TButtonPanel
Left = 6 Left = 6
Height = 26 Height = 27
Top = 270 Top = 269
Width = 388 Width = 388
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 = 1 TabOrder = 1
ShowButtons = [pbOK, pbCancel] ShowButtons = [pbOK, pbCancel]
ShowBevel = False ShowBevel = False

View File

@ -16,9 +16,14 @@ unit StringsPropEditDlg;
interface interface
uses uses
Classes, SysUtils, Forms, Controls, Buttons, Dialogs, StdCtrls, SysUtils,
TextTools, ObjInspStrConsts, ExtCtrls, ButtonPanel, LazUTF8; // LCL
Forms, Controls, StdCtrls, ButtonPanel,
// LazUtils
LazUTF8,
// IdeIntf
TextTools, ObjInspStrConsts, IDEWindowIntf;
type type
{ TStringsPropEditorFrm } { TStringsPropEditorFrm }
@ -31,6 +36,7 @@ type
TextGroupBox: TGroupBox; TextGroupBox: TGroupBox;
Memo: TMemo; Memo: TMemo;
procedure ClearButtonClick(Sender: TObject); procedure ClearButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure MemoChange(Sender: TObject); procedure MemoChange(Sender: TObject);
procedure SortButtonClick(Sender: TObject); procedure SortButtonClick(Sender: TObject);
@ -51,8 +57,13 @@ begin
StatusLabel.Caption := ois0Lines0Chars; StatusLabel.Caption := ois0Lines0Chars;
SortButton.Caption := oisSort; SortButton.Caption := oisSort;
ClearButton.Caption := oisClear; ClearButton.Caption := oisClear;
AddButtons; AddButtons;
IDEDialogLayoutList.ApplyLayout(Self);
end;
procedure TStringsPropEditorFrm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
IDEDialogLayoutList.SaveLayout(Self);
end; end;
procedure TStringsPropEditorFrm.ClearButtonClick(Sender: TObject); procedure TStringsPropEditorFrm.ClearButtonClick(Sender: TObject);

View File

@ -8,6 +8,7 @@ object ToolBarConfig: TToolBarConfig
ClientWidth = 696 ClientWidth = 696
Constraints.MinHeight = 350 Constraints.MinHeight = 350
Constraints.MinWidth = 500 Constraints.MinWidth = 500
OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
Position = poScreenCenter Position = poScreenCenter

View File

@ -32,7 +32,7 @@ uses
// LazUtils // LazUtils
Laz2_XMLCfg, Laz2_XMLCfg,
// IdeIntf // IdeIntf
ToolBarIntf, IDEImagesIntf, ToolBarIntf, IDEImagesIntf, IDEWindowIntf,
// IDE // IDE
LazarusIDEStrConsts; LazarusIDEStrConsts;
@ -65,6 +65,7 @@ type
Splitter1: TSplitter; Splitter1: TSplitter;
TV: TTreeView; TV: TTreeView;
procedure btnHelpClick(Sender: TObject); procedure btnHelpClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure lvToolbarDblClick(Sender: TObject); procedure lvToolbarDblClick(Sender: TObject);
@ -180,7 +181,6 @@ begin
TIDEImages.AssignImage(FilterEdit.Glyph, 'btnfiltercancel'); TIDEImages.AssignImage(FilterEdit.Glyph, 'btnfiltercancel');
btnAddDivider.Caption := '---'; btnAddDivider.Caption := '---';
btnAdd.Hint := lisCoolBarAddSelected; btnAdd.Hint := lisCoolBarAddSelected;
btnRemove.Hint := lisCoolBarRemoveSelected; btnRemove.Hint := lisCoolBarRemoveSelected;
btnMoveUp.Hint := lisCoolBarMoveSelectedUp; btnMoveUp.Hint := lisCoolBarMoveSelectedUp;
@ -197,6 +197,12 @@ begin
Image := TBitmap.Create; Image := TBitmap.Create;
SetupCaptions; SetupCaptions;
LoadCategories; LoadCategories;
IDEDialogLayoutList.ApplyLayout(Self);
end;
procedure TToolBarConfig.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
IDEDialogLayoutList.SaveLayout(Self);
end; end;
procedure TToolBarConfig.FormDestroy(Sender: TObject); procedure TToolBarConfig.FormDestroy(Sender: TObject);