IDE: Improve Window options frame with hints.

git-svn-id: trunk@40891 -
This commit is contained in:
juha 2013-04-26 08:05:42 +00:00
parent e2f70c366f
commit d641da3f9e
3 changed files with 186 additions and 112 deletions

View File

@ -1,9 +1,9 @@
object WindowOptionsFrame: TWindowOptionsFrame object WindowOptionsFrame: TWindowOptionsFrame
Left = 0 Left = 0
Height = 473 Height = 482
Top = 0 Top = 0
Width = 566 Width = 566
ClientHeight = 473 ClientHeight = 482
ClientWidth = 566 ClientWidth = 566
TabOrder = 0 TabOrder = 0
Visible = False Visible = False
@ -42,13 +42,13 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 0 Left = 0
Height = 362 Height = 374
Top = 111 Top = 108
Width = 566 Width = 566
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 6 BorderSpacing.Top = 3
Caption = 'WindowPositionsGroupBox' Caption = 'WindowPositionsGroupBox'
ClientHeight = 333 ClientHeight = 345
ClientWidth = 560 ClientWidth = 560
TabOrder = 2 TabOrder = 2
object Bevel1: TBevel object Bevel1: TBevel
@ -57,7 +57,7 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 3 Height = 3
Top = 138 Top = 132
Width = 50 Width = 50
BorderSpacing.Left = 6 BorderSpacing.Left = 6
end end
@ -70,7 +70,7 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 205 Left = 205
Height = 3 Height = 3
Top = 138 Top = 132
Width = 349 Width = 349
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
@ -82,7 +82,7 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 70 Left = 70
Height = 15 Height = 15
Top = 132 Top = 126
Width = 129 Width = 129
BorderSpacing.Left = 70 BorderSpacing.Left = 70
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -97,7 +97,7 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Control = LeftEdit AnchorSideRight.Control = LeftEdit
Left = 285 Left = 285
Height = 15 Height = 15
Top = 218 Top = 230
Width = 56 Width = 56
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 3 BorderSpacing.Right = 3
@ -110,7 +110,7 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Control = TopEdit AnchorSideRight.Control = TopEdit
Left = 287 Left = 287
Height = 15 Height = 15
Top = 247 Top = 259
Width = 54 Width = 54
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 3 BorderSpacing.Right = 3
@ -123,7 +123,7 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Control = WidthEdit AnchorSideRight.Control = WidthEdit
Left = 408 Left = 408
Height = 15 Height = 15
Top = 218 Top = 230
Width = 68 Width = 68
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 3 BorderSpacing.Right = 3
@ -136,7 +136,7 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Control = HeightEdit AnchorSideRight.Control = HeightEdit
Left = 402 Left = 402
Height = 15 Height = 15
Top = 247 Top = 259
Width = 74 Width = 74
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 3 BorderSpacing.Right = 3
@ -150,77 +150,96 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 120 Height = 120
Top = 6 Top = 0
Width = 548 Width = 548
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6
ItemHeight = 0 ItemHeight = 0
OnSelectionChange = WindowPositionsListBoxSelectionChange OnSelectionChange = WindowPositionsListBoxSelectionChange
ParentShowHint = False
ShowHint = True
TabOrder = 0 TabOrder = 0
end end
object UseWindowManagerSettingRadioButton: TRadioButton object LetWindowManagerDecideRadioButton: TRadioButton
AnchorSideLeft.Control = WindowPositionsGroupBox
AnchorSideTop.Control = SplitterPanel
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 214
Width = 273
BorderSpacing.Around = 6
Caption = 'UseWindowManagerSettingRadioButton'
Checked = True
TabOrder = 1
TabStop = True
end
object DefaultRadioButton: TRadioButton
AnchorSideLeft.Control = WindowPositionsGroupBox
AnchorSideTop.Control = UseWindowManagerSettingRadioButton
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 241
Width = 147
BorderSpacing.Around = 6
Caption = 'DefaultRadioButton'
TabOrder = 2
end
object RestoreWindowGeometryRadioButton: TRadioButton
AnchorSideLeft.Control = WindowPositionsGroupBox
AnchorSideTop.Control = DefaultRadioButton
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 268
Width = 257
BorderSpacing.Around = 6
Caption = 'RestoreWindowGeometryRadioButton'
TabOrder = 3
end
object CustomPositionRadioButton: TRadioButton
AnchorSideLeft.Control = WindowPositionsGroupBox AnchorSideLeft.Control = WindowPositionsGroupBox
AnchorSideTop.Control = RestoreWindowGeometryRadioButton AnchorSideTop.Control = RestoreWindowGeometryRadioButton
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 21 Height = 21
Top = 295 Top = 250
Width = 199 Width = 266
BorderSpacing.Around = 6 BorderSpacing.Left = 6
Caption = 'CustomPositionRadioButton' BorderSpacing.Top = 3
Caption = 'LetWindowManagerDecideRadioButton'
OnClick = WindowGeometryRadioButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
object FixedDefaultRadioButton: TRadioButton
AnchorSideLeft.Control = WindowPositionsGroupBox
AnchorSideTop.Control = LetWindowManagerDecideRadioButton
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 274
Width = 178
BorderSpacing.Left = 6
BorderSpacing.Top = 3
Caption = 'FixedDefaultRadioButton'
OnClick = WindowGeometryRadioButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 2
end
object RestoreWindowGeometryRadioButton: TRadioButton
AnchorSideLeft.Control = WindowPositionsGroupBox
AnchorSideTop.Control = SplitterPanel
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 226
Width = 257
BorderSpacing.Left = 6
BorderSpacing.Top = 4
Caption = 'RestoreWindowGeometryRadioButton'
Checked = True
OnClick = WindowGeometryRadioButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 3
TabStop = True
end
object CustomGeometryRadioButton: TRadioButton
AnchorSideLeft.Control = WindowPositionsGroupBox
AnchorSideTop.Control = FixedDefaultRadioButton
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 298
Width = 209
BorderSpacing.Left = 6
BorderSpacing.Top = 3
Caption = 'CustomGeometryRadioButton'
OnClick = CustomGeometryRadioButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 4 TabOrder = 4
end end
object LeftEdit: TSpinEdit object LeftEdit: TSpinEdit
AnchorSideTop.Control = SplitterPanel AnchorSideTop.Control = RestoreWindowGeometryRadioButton
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = WidthEdit AnchorSideRight.Control = WidthEdit
Left = 344 Left = 344
Height = 23 Height = 23
Top = 214 Top = 226
Width = 75 Width = 75
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 6
BorderSpacing.Right = 60 BorderSpacing.Right = 60
MaxValue = 4096 MaxValue = 4096
MinValue = -5000 MinValue = -5000
ParentShowHint = False
ShowHint = True
TabOrder = 5 TabOrder = 5
end end
object TopEdit: TSpinEdit object TopEdit: TSpinEdit
@ -229,28 +248,30 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Control = HeightEdit AnchorSideRight.Control = HeightEdit
Left = 344 Left = 344
Height = 23 Height = 23
Top = 243 Top = 255
Width = 75 Width = 75
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 60 BorderSpacing.Right = 60
MaxValue = 4096 MaxValue = 4096
MinValue = -5000 MinValue = -5000
ParentShowHint = False
ShowHint = True
TabOrder = 6 TabOrder = 6
end end
object WidthEdit: TSpinEdit object WidthEdit: TSpinEdit
AnchorSideTop.Control = SplitterPanel AnchorSideTop.Control = LeftEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = WindowPositionsGroupBox AnchorSideRight.Control = WindowPositionsGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 479 Left = 479
Height = 23 Height = 23
Top = 214 Top = 226
Width = 75 Width = 75
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
MaxValue = 4096 MaxValue = 4096
ParentShowHint = False
ShowHint = True
TabOrder = 7 TabOrder = 7
end end
object HeightEdit: TSpinEdit object HeightEdit: TSpinEdit
@ -260,25 +281,26 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 479 Left = 479
Height = 23 Height = 23
Top = 243 Top = 255
Width = 75 Width = 75
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
MaxValue = 4096 MaxValue = 4096
ParentShowHint = False
ShowHint = True
TabOrder = 8 TabOrder = 8
end end
object GetWindowPositionButton: TButton object GetWindowPositionButton: TButton
AnchorSideTop.Control = TopEdit AnchorSideTop.Control = ApplyButton
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ApplyButton AnchorSideRight.Control = ApplyButton
Left = 286 Left = 286
Height = 24 Height = 24
Top = 272 Top = 290
Width = 174 Width = 174
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Right = 6
Caption = 'GetWindowPositionButton' Caption = 'GetWindowPositionButton'
Constraints.MinWidth = 75 Constraints.MinWidth = 75
OnClick = GetWindowPositionButtonClick OnClick = GetWindowPositionButtonClick
@ -291,11 +313,12 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 466 Left = 466
Height = 24 Height = 24
Top = 272 Top = 290
Width = 88 Width = 88
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Top = 12
BorderSpacing.Right = 6
Caption = 'ApplyButton' Caption = 'ApplyButton'
Constraints.MinWidth = 75 Constraints.MinWidth = 75
OnClick = ApplyButtonClick OnClick = ApplyButtonClick
@ -310,17 +333,18 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideBottom.Control = WindowPositionsGroupBox AnchorSideBottom.Control = WindowPositionsGroupBox
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 4 Left = 4
Height = 57 Height = 78
Top = 151 Top = 144
Width = 552 Width = 556
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 4 BorderSpacing.Left = 4
BorderSpacing.Top = 3
BevelOuter = bvNone BevelOuter = bvNone
BorderWidth = 1 BorderWidth = 1
BorderStyle = bsSingle BorderStyle = bsSingle
Caption = ' ' Caption = ' '
ClientHeight = 51 ClientHeight = 72
ClientWidth = 546 ClientWidth = 550
TabOrder = 11 TabOrder = 11
Visible = False Visible = False
object SplitterList: TListBox object SplitterList: TListBox
@ -329,23 +353,26 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideBottom.Control = SplitterPanel AnchorSideBottom.Control = SplitterPanel
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 1 Left = 1
Height = 49 Height = 70
Top = 1 Top = 1
Width = 275 Width = 275
Anchors = [akTop, akLeft, akBottom] Anchors = [akTop, akLeft, akBottom]
ItemHeight = 0 ItemHeight = 0
OnSelectionChange = SplitterListSelectionChange OnSelectionChange = SplitterListSelectionChange
ParentShowHint = False
ShowHint = True
TabOrder = 0 TabOrder = 0
end end
object SplitLabel: TLabel object SplitLabel: TLabel
AnchorSideTop.Control = SplitEdit AnchorSideTop.Control = SplitEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = SplitEdit AnchorSideRight.Control = SplitEdit
Left = 410 Left = 411
Height = 15 Height = 15
Top = 31 Top = 43
Width = 60 Width = 60
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 3
Caption = 'SplitLabel' Caption = 'SplitLabel'
ParentColor = False ParentColor = False
end end
@ -354,12 +381,15 @@ object WindowOptionsFrame: TWindowOptionsFrame
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = SplitterPanel AnchorSideBottom.Control = SplitterPanel
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 470 Left = 474
Height = 23 Height = 23
Top = 27 Top = 39
Width = 75 Width = 75
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
BorderSpacing.Bottom = 9
MaxValue = 5000 MaxValue = 5000
ParentShowHint = False
ShowHint = True
TabOrder = 1 TabOrder = 1
end end
object dropSplitterPlacement: TComboBox object dropSplitterPlacement: TComboBox
@ -371,10 +401,12 @@ object WindowOptionsFrame: TWindowOptionsFrame
Left = 282 Left = 282
Height = 24 Height = 24
Top = 1 Top = 1
Width = 263 Width = 267
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
ItemHeight = 0 ItemHeight = 0
ParentShowHint = False
ShowHint = True
Style = csDropDownList Style = csDropDownList
TabOrder = 2 TabOrder = 2
end end

View File

@ -39,8 +39,8 @@ type
Bevel1: TBevel; Bevel1: TBevel;
Bevel2: TBevel; Bevel2: TBevel;
dropSplitterPlacement: TComboBox; dropSplitterPlacement: TComboBox;
CustomPositionRadioButton: TRadioButton; CustomGeometryRadioButton: TRadioButton;
DefaultRadioButton: TRadioButton; FixedDefaultRadioButton: TRadioButton;
GetWindowPositionButton: TButton; GetWindowPositionButton: TButton;
HeightEdit: TSpinEdit; HeightEdit: TSpinEdit;
HeightLabel: TLabel; HeightLabel: TLabel;
@ -59,13 +59,15 @@ type
ProjectDirInIdeTitleCheckBox: TCheckBox; ProjectDirInIdeTitleCheckBox: TCheckBox;
TopEdit: TSpinEdit; TopEdit: TSpinEdit;
TopLabel: TLabel; TopLabel: TLabel;
UseWindowManagerSettingRadioButton: TRadioButton; LetWindowManagerDecideRadioButton: TRadioButton;
WidthEdit: TSpinEdit; WidthEdit: TSpinEdit;
WidthLabel: TLabel; WidthLabel: TLabel;
WindowPositionsGroupBox: TGroupBox; WindowPositionsGroupBox: TGroupBox;
WindowPositionsListBox: TListBox; WindowPositionsListBox: TListBox;
procedure ApplyButtonClick(Sender: TObject); procedure ApplyButtonClick(Sender: TObject);
procedure CustomGeometryRadioButtonClick(Sender: TObject);
procedure GetWindowPositionButtonClick(Sender: TObject); procedure GetWindowPositionButtonClick(Sender: TObject);
procedure WindowGeometryRadioButtonClick(Sender: TObject);
procedure SplitterListSelectionChange(Sender: TObject; User: boolean); procedure SplitterListSelectionChange(Sender: TObject; User: boolean);
procedure WindowPositionsListBoxSelectionChange(Sender: TObject; User: boolean); procedure WindowPositionsListBoxSelectionChange(Sender: TObject; User: boolean);
private private
@ -73,6 +75,7 @@ type
FLayout: TSimpleWindowLayout; FLayout: TSimpleWindowLayout;
FDivider: TSimpleWindowLayoutDividerPos; FDivider: TSimpleWindowLayoutDividerPos;
FShowSimpleLayout: boolean; FShowSimpleLayout: boolean;
procedure EnableGeometryEdits(aEnable: Boolean);
function GetPlacementRadioButtons(APlacement: TIDEWindowPlacement): TRadioButton; function GetPlacementRadioButtons(APlacement: TIDEWindowPlacement): TRadioButton;
procedure SetLayout(const AValue: TSimpleWindowLayout); procedure SetLayout(const AValue: TSimpleWindowLayout);
procedure SetDivider(const AValue: TSimpleWindowLayoutDividerPos); procedure SetDivider(const AValue: TSimpleWindowLayoutDividerPos);
@ -122,8 +125,7 @@ end;
procedure TWindowOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions); procedure TWindowOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
var var
Creator: TIDEWindowCreator; Creator: TIDEWindowCreator;
i: Integer; i, j: Integer;
j: Integer;
begin begin
with AOptions as TEnvironmentOptions do with AOptions as TEnvironmentOptions do
begin begin
@ -156,6 +158,11 @@ begin
WindowPositionsListBox.Sorted := True; WindowPositionsListBox.Sorted := True;
WindowPositionsListBox.Items.EndUpdate; WindowPositionsListBox.Items.EndUpdate;
WindowPositionsListBox.Hint := rsiwpPositionWindowListHint;
SplitterList.Hint := rsiwpColumnNamesHint;
dropSplitterPlacement.Hint := rsiwpColumnStrategyHint;
SplitEdit.Hint := rsiwpColumnWidthHint;
LeftLabel.Caption := dlgLeftPos; LeftLabel.Caption := dlgLeftPos;
TopLabel.Caption := dlgTopPos; TopLabel.Caption := dlgTopPos;
WidthLabel.Caption := dlgWidthPos; WidthLabel.Caption := dlgWidthPos;
@ -164,15 +171,25 @@ begin
GetWindowPositionButton.Caption := dlgGetPosition; GetWindowPositionButton.Caption := dlgGetPosition;
SplitLabel.Caption := dlgWidthPos; SplitLabel.Caption := dlgWidthPos;
UseWindowManagerSettingRadioButton.Caption := rsiwpUseWindowManagerSetting; LeftEdit.Hint := rsiwpSplitterCustomPosition;
DefaultRadioButton.Caption := rsiwpDefault; TopEdit.Hint := rsiwpSplitterCustomPosition;
WidthEdit.Hint := rsiwpSplitterCustomPosition;
HeightEdit.Hint := rsiwpSplitterCustomPosition;
RestoreWindowGeometryRadioButton.Caption := rsiwpRestoreWindowGeometry; RestoreWindowGeometryRadioButton.Caption := rsiwpRestoreWindowGeometry;
CustomPositionRadioButton.Caption := rsiwpCustomPosition; LetWindowManagerDecideRadioButton.Caption := rsiwpLetWindowManagerDecide;
FixedDefaultRadioButton.Caption := rsiwpFixedDefaultGeometry;
CustomGeometryRadioButton.Caption := rsiwpCustomGeometry;
RestoreWindowGeometryRadioButton.Hint := rsiwpRestoreWindowGeometryHint;
LetWindowManagerDecideRadioButton.Hint := rsiwpLetWindowManagerDecideHint;
FixedDefaultRadioButton.Hint := rsiwpFixedDefaultGeometryHint;
CustomGeometryRadioButton.Hint := rsiwpCustomGeometryHint;
dropSplitterPlacement.Clear; dropSplitterPlacement.Clear;
dropSplitterPlacement.Items.Add(rsiwpSplitterFollowWindow); dropSplitterPlacement.Items.Add(rsiwpSplitterFollowWindow);
dropSplitterPlacement.Items.Add(rsiwpSplitterDefault);
dropSplitterPlacement.Items.Add(rsiwpSplitterRestoreWindowGeometry); dropSplitterPlacement.Items.Add(rsiwpSplitterRestoreWindowGeometry);
dropSplitterPlacement.Items.Add(rsiwpSplitterDefault);
dropSplitterPlacement.Items.Add(rsiwpSplitterCustomPosition); dropSplitterPlacement.Items.Add(rsiwpSplitterCustomPosition);
SetWindowPositionsItem(0); SetWindowPositionsItem(0);
@ -202,9 +219,9 @@ function TWindowOptionsFrame.GetPlacementRadioButtons(
begin begin
case APlacement of case APlacement of
iwpRestoreWindowGeometry: Result := RestoreWindowGeometryRadioButton; iwpRestoreWindowGeometry: Result := RestoreWindowGeometryRadioButton;
iwpDefault: Result := DefaultRadioButton; iwpDefault: Result := FixedDefaultRadioButton;
iwpCustomPosition: Result := CustomPositionRadioButton; iwpCustomPosition: Result := CustomGeometryRadioButton;
iwpUseWindowManagerSetting: Result := UseWindowManagerSettingRadioButton; iwpUseWindowManagerSetting: Result := LetWindowManagerDecideRadioButton;
else else
Result := nil; Result := nil;
end; end;
@ -281,8 +298,8 @@ begin
SplitEdit.Value := FDivider.Size; SplitEdit.Value := FDivider.Size;
case FDivider.Placement of case FDivider.Placement of
iwpdUseWindowSetting: dropSplitterPlacement.ItemIndex := 0; iwpdUseWindowSetting: dropSplitterPlacement.ItemIndex := 0;
iwpdDefault: dropSplitterPlacement.ItemIndex := 1; iwpdRestore: dropSplitterPlacement.ItemIndex := 1;
iwpdRestore: dropSplitterPlacement.ItemIndex := 2; iwpdDefault: dropSplitterPlacement.ItemIndex := 2;
iwpdCustomSize: dropSplitterPlacement.ItemIndex := 3; iwpdCustomSize: dropSplitterPlacement.ItemIndex := 3;
end; end;
end; end;
@ -306,6 +323,24 @@ begin
end; end;
end; end;
procedure TWindowOptionsFrame.EnableGeometryEdits(aEnable: Boolean);
begin
LeftEdit.Enabled := aEnable;
TopEdit.Enabled := aEnable;
WidthEdit.Enabled := aEnable;
HeightEdit.Enabled := aEnable;
end;
procedure TWindowOptionsFrame.WindowGeometryRadioButtonClick(Sender: TObject);
begin
EnableGeometryEdits(False);
end;
procedure TWindowOptionsFrame.CustomGeometryRadioButtonClick(Sender: TObject);
begin
EnableGeometryEdits(True);
end;
procedure TWindowOptionsFrame.GetWindowPositionButtonClick(Sender: TObject); procedure TWindowOptionsFrame.GetWindowPositionButtonClick(Sender: TObject);
begin begin
if (Layout<>nil) and (Layout.Form <> nil) then if (Layout<>nil) and (Layout.Form <> nil) then
@ -346,8 +381,8 @@ begin
if FDivider = nil then exit; if FDivider = nil then exit;
case dropSplitterPlacement.ItemIndex of case dropSplitterPlacement.ItemIndex of
0: FDivider.Placement := iwpdUseWindowSetting; 0: FDivider.Placement := iwpdUseWindowSetting;
1: FDivider.Placement := iwpdDefault; 1: FDivider.Placement := iwpdRestore;
2: FDivider.Placement := iwpdRestore; 2: FDivider.Placement := iwpdDefault;
3: FDivider.Placement := iwpdCustomSize; 3: FDivider.Placement := iwpdCustomSize;
end; end;
FDivider.Size := SplitEdit.Value; FDivider.Size := SplitEdit.Value;

View File

@ -2421,17 +2421,24 @@ resourcestring
dlgWidthPos = 'Width:'; dlgWidthPos = 'Width:';
dlgTopPos = 'Top:'; dlgTopPos = 'Top:';
DlgHeightPos = 'Height:'; DlgHeightPos = 'Height:';
rsiwpUseWindowManagerSetting = 'Use windowmanager setting'; rsiwpRestoreWindowGeometry = 'Restore window geometry';
rsiwpDefault = 'Default'; rsiwpLetWindowManagerDecide = 'Let windowmanager decide';
rsiwpRestoreWindowGeometry = 'Restore window geometry'; rsiwpFixedDefaultGeometry = 'Fixed default geometry';
rsiwpDocked = 'Docked'; rsiwpCustomGeometry = 'Custom geometry';
rsiwpCustomPosition = 'Custom position';
rsiwpRestoreWindowSize = 'Restore window size';
rsiwpSplitterFollowWindow = 'Restore with window'; rsiwpPositionWindowListHint = 'Windows that have been open. They may be closed now.';
rsiwpSplitterDefault = 'Default Size'; rsiwpColumnNamesHint = 'Column Names';
rsiwpSplitterRestoreWindowGeometry = 'Restore Size'; rsiwpColumnStrategyHint = 'Strategy for saving Columns';
rsiwpSplitterCustomPosition = 'Custom Size'; rsiwpColumnWidthHint = 'Column Width';
rsiwpRestoreWindowGeometryHint = 'Use previous position and size';
rsiwpLetWindowManagerDecideHint = 'System windowmanagers have different strategies for positioning windows';
rsiwpFixedDefaultGeometryHint = 'Always the same fixed position and size';
rsiwpCustomGeometryHint = 'User can define window''s position and size';
rsiwpSplitterFollowWindow = 'Restore with window';
rsiwpSplitterRestoreWindowGeometry = 'Restore Size';
rsiwpSplitterDefault = 'Default Size';
rsiwpSplitterCustomPosition = 'Custom Size';
// Code Explorer // Code Explorer
lisCodeExplorer = 'Code Explorer'; lisCodeExplorer = 'Code Explorer';