- add base environment options frame class to derive from
  - extract options_desktop as frame from environment options dialog

git-svn-id: trunk@17050 -
This commit is contained in:
paul 2008-10-19 05:18:52 +00:00
parent 3f810f4d24
commit 0c5d26efb7
11 changed files with 956 additions and 792 deletions

3
.gitattributes vendored
View File

@ -2388,6 +2388,9 @@ ide/fpdocselectinherited.pas svneol=native#text/plain
ide/fpdocselectlink.lfm svneol=native#text/plain
ide/fpdocselectlink.lrs svneol=native#text/plain
ide/fpdocselectlink.pas svneol=native#text/plain
ide/frames/options_desktop.lfm svneol=native#text/plain
ide/frames/options_desktop.lrs svneol=native#text/pascal
ide/frames/options_desktop.pas svneol=native#text/pascal
ide/frames/options_files.lfm svneol=native#text/plain
ide/frames/options_files.lrs svneol=native#text/pascal
ide/frames/options_files.pas svneol=native#text/pascal

View File

@ -437,6 +437,30 @@ type
property MsgViewFocus: boolean read fMsgViewFocus write fMsgViewFocus;
end;
TOnLoadEnvironmentSettings = procedure (Sender: TObject;
EnvironmentOptions: TEnvironmentOptions) of object;
TOnSaveEnvironmentSettings = procedure (Sender: TObject;
EnvironmentOptions: TEnvironmentOptions) of object;
{ TAbstractOptionsFrame }
TAbstractOptionsFrame = class(TFrame)
private
FOnLoadEnvironmentSettings: TOnLoadEnvironmentSettings;
FOnSaveEnvironmentSettings: TOnSaveEnvironmentSettings;
public
function Check: Boolean; virtual; abstract;
function GetTitle: String; virtual; abstract;
procedure Setup; virtual; abstract;
procedure ReadSettings(AOptions: TEnvironmentOptions); virtual; abstract;
procedure WriteSettings(AOptions: TEnvironmentOptions); virtual; abstract;
property OnSaveEnvironmentSettings: TOnSaveEnvironmentSettings
read FOnSaveEnvironmentSettings write FOnSaveEnvironmentSettings;
property OnLoadEnvironmentSettings: TOnLoadEnvironmentSettings
read FOnLoadEnvironmentSettings write FOnLoadEnvironmentSettings;
end;
var
EnvironmentOptions: TEnvironmentOptions = nil;

View File

@ -22,233 +22,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Bottom = 6
OnChangeBounds = NotebookChangeBounds
PageIndex = 0
PageIndex = 1
TabOrder = 0
object FilesPage: TPage
Caption = 'FilesPage'
end
object DesktopPage: TPage
Caption = 'DesktopPage'
ClientWidth = 534
ClientHeight = 463
object LanguageGroupBox: TGroupBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = DesktopPage
AnchorSideRight.Control = DesktopPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 51
Top = 6
Width = 522
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'LanguageGroupBox'
ClientHeight = 51
ClientWidth = 522
TabOrder = 0
object LanguageComboBox: TComboBox
AnchorSideLeft.Control = LanguageGroupBox
AnchorSideRight.Control = LanguageGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 21
Top = 6
Width = 506
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
Style = csDropDownList
TabOrder = 0
end
end
object CheckDiskChangesWithLoadingCheckBox: TCheckBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = DesktopFilesGroupBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 308
Width = 222
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'CheckDiskChangesWithLoadingCheckBox'
TabOrder = 1
end
object ShowHintsForComponentPaletteCheckBox: TCheckBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = CheckDiskChangesWithLoadingCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 333
Width = 228
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'ShowHintsForComponentPaletteCheckBox'
TabOrder = 2
end
object AutoSaveGroupBox: TGroupBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = LanguageGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DesktopPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 136
Top = 63
Width = 522
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'AutoSaveGroupBox'
ClientHeight = 136
ClientWidth = 522
TabOrder = 6
object AutoSaveIntervalInSecsLabel: TLabel
Left = 6
Height = 14
Top = 67
Width = 451
Anchors = [akTop, akLeft, akRight]
Caption = 'AutoSaveIntervalInSecsLabel'
Enabled = False
ParentColor = False
end
object AutoSaveEditorFilesCheckBox: TCheckBox
Left = 6
Height = 19
Top = 4
Width = 460
Anchors = [akTop, akLeft, akRight]
Caption = 'AutoSaveEditorFilesCheckBox'
Enabled = False
TabOrder = 0
end
object AutoSaveProjectCheckBox: TCheckBox
Left = 6
Height = 19
Top = 30
Width = 460
Anchors = [akTop, akLeft, akRight]
Caption = 'AutoSaveProjectCheckBox'
Enabled = False
TabOrder = 1
end
object AutoSaveIntervalInSecsComboBox: TComboBox
AnchorSideLeft.Control = AutoSaveGroupBox
AnchorSideRight.Control = AutoSaveGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 21
Top = 87
Width = 506
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Enabled = False
ItemHeight = 13
Items.Strings = (
'1200'
'600'
'300'
'120'
)
MaxLength = -1
TabOrder = 2
end
end
object DesktopFilesGroupBox: TGroupBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = AutoSaveGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DesktopPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 97
Top = 205
Width = 522
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'DesktopFilesGroupBox'
ClientHeight = 97
ClientWidth = 522
TabOrder = 3
object SaveDesktopSettingsToFileButton: TButton
AnchorSideLeft.Control = DesktopFilesGroupBox
AnchorSideRight.Control = DesktopFilesGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 23
Top = 8
Width = 506
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'SaveDesktopSettingsToFileButton'
OnClick = SaveDesktopSettingsToFileButtonClick
TabOrder = 0
end
object LoadDesktopSettingsFromFileButton: TButton
AnchorSideLeft.Control = DesktopFilesGroupBox
AnchorSideRight.Control = DesktopFilesGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 23
Top = 43
Width = 506
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'LoadDesktopSettingsFromFileButton'
OnClick = LoadDesktopSettingsFromFileButtonClick
TabOrder = 1
end
end
object ShowHintsForMainSpeedButtonsCheckBox: TCheckBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = ShowHintsForComponentPaletteCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 358
Width = 228
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'ShowHintsForMainSpeedButtonsCheckBox'
TabOrder = 4
end
object MsgViewDblClickJumpsCheckBox: TCheckBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = ShowHintsForMainSpeedButtonsCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 383
Width = 180
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'MsgViewDblClickJumpsCheckBox'
TabOrder = 5
end
object MsgViewFocusCheckBox: TCheckBox
AnchorSideLeft.Control = DesktopPage
AnchorSideTop.Control = MsgViewDblClickJumpsCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 408
Width = 142
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'MsgViewFocusCheckBox'
TabOrder = 7
end
end
object WindowsPage: TPage
Caption = 'WindowsPage'
@ -420,7 +200,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
'25'
'30'
)
MaxLength = -1
ParentShowHint = False
ShowHint = True
TabOrder = 2
@ -446,7 +225,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
'25'
'30'
)
MaxLength = -1
ParentShowHint = False
ShowHint = True
TabOrder = 3
@ -916,7 +694,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AutoSelect = True
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
TabOrder = 1
Text = 'BakProjAddExtComboBox'
end
@ -930,7 +707,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AutoSelect = True
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
TabOrder = 2
Text = 'BakProjMaxCounterComboBox'
end
@ -944,7 +720,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AutoSelect = True
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
TabOrder = 3
Text = 'BakProjSubDirComboBox'
end
@ -1047,7 +822,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
Width = 100
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
TabOrder = 1
Text = 'BakOtherAddExtComboBox'
end
@ -1060,7 +834,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
Width = 100
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
TabOrder = 2
Text = 'BakOtherMaxCounterComboBox'
end
@ -1073,7 +846,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
Width = 100
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
TabOrder = 3
Text = 'BakOtherSubDirComboBox'
end

View File

@ -11,193 +11,114 @@ LazarusResources.Add('TEnvironmentOptionsDialog','FORMDATA',[
+'Control'#7#11'ButtonPanel'#6'Height'#3#233#1#5'Width'#3#30#2#5'Align'#7#5'a'
+'lTop'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSp'
+'acing.Bottom'#2#6#14'OnChangeBounds'#7#20'NotebookChangeBounds'#9'PageIndex'
+#2#0#8'TabOrder'#2#0#0#5'TPage'#9'FilesPage'#7'Caption'#6#9'FilesPage'#0#0#5
+'TPage'#11'DesktopPage'#7'Caption'#6#11'DesktopPage'#11'ClientWidth'#3#22#2
+#12'ClientHeight'#3#207#1#0#9'TGroupBox'#16'LanguageGroupBox'#22'AnchorSideL'
+'eft.Control'#7#11'DesktopPage'#21'AnchorSideTop.Control'#7#11'DesktopPage'
+#23'AnchorSideRight.Control'#7#11'DesktopPage'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2'3'#3'Top'#2#6#5'Width'#3#10#2#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6
+#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#16'Langu'
+'ageGroupBox'#12'ClientHeight'#2'3'#11'ClientWidth'#3#10#2#8'TabOrder'#2#0#0
+#9'TComboBox'#16'LanguageComboBox'#22'AnchorSideLeft.Control'#7#16'LanguageG'
+'roupBox'#23'AnchorSideRight.Control'#7#16'LanguageGroupBox'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#6#5'Width'#3
+#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'
+#2#6#10'ItemHeight'#2#13#9'MaxLength'#2#255#5'Style'#7#14'csDropDownList'#8
+'TabOrder'#2#0#0#0#0#9'TCheckBox#CheckDiskChangesWithLoadingCheckBox'#22'Anc'
+'horSideLeft.Control'#7#11'DesktopPage'#21'AnchorSideTop.Control'#7#20'Deskt'
+'opFilesGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'
+#2#19#3'Top'#3'4'#1#5'Width'#3#222#0#18'BorderSpacing.Left'#2#6#17'BorderSpa'
+'cing.Top'#2#6#7'Caption'#6'#CheckDiskChangesWithLoadingCheckBox'#8'TabOrder'
+#2#1#0#0#9'TCheckBox$ShowHintsForComponentPaletteCheckBox'#22'AnchorSideLeft'
+'.Control'#7#11'DesktopPage'#21'AnchorSideTop.Control'#7'#CheckDiskChangesWi'
+'thLoadingCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heig'
+'ht'#2#19#3'Top'#3'M'#1#5'Width'#3#228#0#18'BorderSpacing.Left'#2#6#17'Borde'
+'rSpacing.Top'#2#6#7'Caption'#6'$ShowHintsForComponentPaletteCheckBox'#8'Tab'
+'Order'#2#2#0#0#9'TGroupBox'#16'AutoSaveGroupBox'#22'AnchorSideLeft.Control'
+#7#11'DesktopPage'#21'AnchorSideTop.Control'#7#16'LanguageGroupBox'#18'Ancho'
+'rSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#11'DesktopPage'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3#136#0#3'Top'
+#2'?'#5'Width'#3#10#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'Borde'
+'rSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7
+'Caption'#6#16'AutoSaveGroupBox'#12'ClientHeight'#3#136#0#11'ClientWidth'#3
+#10#2#8'TabOrder'#2#6#0#6'TLabel'#27'AutoSaveIntervalInSecsLabel'#4'Left'#2#6
+#6'Height'#2#14#3'Top'#2'C'#5'Width'#3#195#1#7'Anchors'#11#5'akTop'#6'akLeft'
+#7'akRight'#0#7'Caption'#6#27'AutoSaveIntervalInSecsLabel'#7'Enabled'#8#11'P'
+'arentColor'#8#0#0#9'TCheckBox'#27'AutoSaveEditorFilesCheckBox'#4'Left'#2#6#6
+'Height'#2#19#3'Top'#2#4#5'Width'#3#204#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#7'Caption'#6#27'AutoSaveEditorFilesCheckBox'#7'Enabled'#8#8'TabO'
+'rder'#2#0#0#0#9'TCheckBox'#23'AutoSaveProjectCheckBox'#4'Left'#2#6#6'Height'
+#2#19#3'Top'#2#30#5'Width'#3#204#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRigh'
+'t'#0#7'Caption'#6#23'AutoSaveProjectCheckBox'#7'Enabled'#8#8'TabOrder'#2#1#0
+#0#9'TComboBox'#30'AutoSaveIntervalInSecsComboBox'#22'AnchorSideLeft.Control'
+#7#16'AutoSaveGroupBox'#23'AnchorSideRight.Control'#7#16'AutoSaveGroupBox'#20
+'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'W'
+#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpa'
+'cing.Around'#2#6#7'Enabled'#8#10'ItemHeight'#2#13#13'Items.Strings'#1#6#4'1'
+'200'#6#3'600'#6#3'300'#6#3'120'#0#9'MaxLength'#2#255#8'TabOrder'#2#2#0#0#0#9
+'TGroupBox'#20'DesktopFilesGroupBox'#22'AnchorSideLeft.Control'#7#11'Desktop'
+'Page'#21'AnchorSideTop.Control'#7#16'AutoSaveGroupBox'#18'AnchorSideTop.Sid'
+'e'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#11'DesktopPage'#20'AnchorSi'
+'deRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'a'#3'Top'#3#205#0#5'Wi'
+'dth'#3#10#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.'
+'Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6
+#20'DesktopFilesGroupBox'#12'ClientHeight'#2'a'#11'ClientWidth'#3#10#2#8'Tab'
+'Order'#2#3#0#7'TButton'#31'SaveDesktopSettingsToFileButton'#22'AnchorSideLe'
,'ft.Control'#7#20'DesktopFilesGroupBox'#23'AnchorSideRight.Control'#7#20'Des'
+'ktopFilesGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'He'
+'ight'#2#23#3'Top'#2#8#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'a'
+'kRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#31'SaveDe'
+'sktopSettingsToFileButton'#7'OnClick'#7'$SaveDesktopSettingsToFileButtonCli'
+'ck'#8'TabOrder'#2#0#0#0#7'TButton!LoadDesktopSettingsFromFileButton'#22'Anc'
+'horSideLeft.Control'#7#20'DesktopFilesGroupBox'#23'AnchorSideRight.Control'
+#7#20'DesktopFilesGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2#23#3'Top'#2'+'#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLe'
+'ft'#7'akRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6'!L'
+'oadDesktopSettingsFromFileButton'#7'OnClick'#7'&LoadDesktopSettingsFromFile'
+'ButtonClick'#8'TabOrder'#2#1#0#0#0#9'TCheckBox$ShowHintsForMainSpeedButtons'
+'CheckBox'#22'AnchorSideLeft.Control'#7#11'DesktopPage'#21'AnchorSideTop.Con'
+'trol'#7'$ShowHintsForComponentPaletteCheckBox'#18'AnchorSideTop.Side'#7#9'a'
+'srBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3'f'#1#5'Width'#3#228#0#18'Bord'
+'erSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6'$ShowHintsForMai'
+'nSpeedButtonsCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#28'MsgViewDblClickJ'
+'umpsCheckBox'#22'AnchorSideLeft.Control'#7#11'DesktopPage'#21'AnchorSideTop'
+'.Control'#7'$ShowHintsForMainSpeedButtonsCheckBox'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3''#1#5'Width'#3#180#0#18'B'
+'orderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#28'MsgViewDbl'
+'ClickJumpsCheckBox'#8'TabOrder'#2#5#0#0#9'TCheckBox'#20'MsgViewFocusCheckBo'
+'x'#22'AnchorSideLeft.Control'#7#11'DesktopPage'#21'AnchorSideTop.Control'#7
+#28'MsgViewDblClickJumpsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
+'ft'#2#6#6'Height'#2#19#3'Top'#3#152#1#5'Width'#3#142#0#18'BorderSpacing.Lef'
+'t'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#20'MsgViewFocusCheckBox'#8'Ta'
+'bOrder'#2#7#0#0#0#5'TPage'#11'WindowsPage'#7'Caption'#6#11'WindowsPage'#11
+'ClientWidth'#3#22#2#12'ClientHeight'#3#222#1#0#9'TCheckBox!MinimizeAllOnMin'
+'imizeMainCheckBox'#23'AnchorSideRight.Control'#7#11'WindowsPage'#20'AnchorS'
+'ideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#10#5'Widt'
+'h'#3#10#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpacing.Ri'
+'ght'#2#6#7'Caption'#6'!MinimizeAllOnMinimizeMainCheckBox'#7'Enabled'#8#8'Ta'
+'bOrder'#2#0#0#0#9'TCheckBox'#20'HideIDEOnRunCheckBox'#23'AnchorSideRight.Co'
+'ntrol'#7#11'WindowsPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6
+#6'Height'#2#19#3'Top'#2'"'#5'Width'#3#10#2#7'Anchors'#11#5'akTop'#6'akLeft'
+#7'akRight'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#20'HideIDEOnRunCheckB'
+'ox'#8'TabOrder'#2#1#0#0#9'TGroupBox'#23'WindowPositionsGroupBox'#23'AnchorS'
+'ideRight.Control'#7#11'WindowsPage'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#3'\'#1#3'Top'#2'D'#5'Width'#3#10#2#7'Anchors'#11#5'ak'
+'Top'#6'akLeft'#7'akRight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Capti'
+'on'#6#23'WindowPositionsGroupBox'#12'ClientHeight'#3'\'#1#11'ClientWidth'#3
+#10#2#8'TabOrder'#2#2#0#8'TListBox'#22'WindowPositionsListBox'#22'AnchorSide'
+'Left.Control'#7#23'WindowPositionsGroupBox'#23'AnchorSideRight.Control'#7#23
+'WindowPositionsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6
+#6'Height'#2'd'#3'Top'#2#6#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'
+#7'akRight'#0#20'BorderSpacing.Around'#2#6#17'OnSelectionChange'#7'%WindowPo'
+'sitionsListBoxSelectionChange'#8'TabOrder'#2#0#0#0#0#0#5'TPage'#14'FormEdit'
+'orPage'#7'Caption'#6#14'FormEditorPage'#11'ClientWidth'#3#22#2#12'ClientHei'
+'ght'#3#222#1#8'OnResize'#7#20'FormEditorPageResize'#0#9'TGroupBox'#12'GridG'
+'roupBox'#4'Left'#2#6#6'Height'#3#212#0#3'Top'#2#6#5'Width'#3'Q'#1#20'Border'
+'Spacing.Around'#2#6#7'Caption'#6#12'GridGroupBox'#12'ClientHeight'#3#212#0
+#11'ClientWidth'#3'Q'#1#8'TabOrder'#2#0#0#6'TLabel'#14'GridColorLabel'#22'An'
+'chorSideLeft.Control'#7#12'GridGroupBox'#21'AnchorSideTop.Control'#7#14'Gri'
+'dSizeYLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+#14#3'Top'#2'w'#5'Width'#2'F'#17'BorderSpacing.Top'#2#4#20'BorderSpacing.Aro'
+'und'#2#6#7'Caption'#6#14'GridColorLabel'#11'ParentColor'#8#0#0#6'TLabel'#14
+'GridSizeXLabel'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#21'AnchorSide'
+'Top.Control'#7#18'SnapToGridCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#2#14#3'Top'#2'G'#5'Width'#2'F'#20'BorderSpacing.Aroun'
+'d'#2#6#7'Caption'#6#14'GridSizeXLabel'#11'ParentColor'#8#0#0#6'TLabel'#14'G'
+'ridSizeYLabel'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#21'AnchorSideT'
+'op.Control'#7#14'GridSizeXLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
+'ft'#2#6#6'Height'#2#14#3'Top'#2'_'#5'Width'#2'F'#17'BorderSpacing.Top'#2#4
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'GridSizeYLabel'#11'ParentColor'
,#8#0#0#12'TColorButton'#15'GridColorButton'#22'AnchorSideLeft.Control'#7#14
+'GridColorLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Con'
+'trol'#7#14'GridColorLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2
+'R'#6'Height'#2#23#3'Top'#2's'#5'Width'#2'2'#11'BorderWidth'#2#2#15'ButtonCo'
+'lorSize'#2#16#5'Color'#7#9'clBtnFace'#0#0#9'TCheckBox'#18'SnapToGridCheckBo'
+'x'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#21'AnchorSideTop.Control'#7
+#23'ShowBorderSpaceCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Anchor'
+'SideRight.Control'#7#12'GridGroupBox'#20'AnchorSideRight.Side'#7#9'asrBotto'
+'m'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'.'#5'Width'#3'A'#1#7'Anchors'#11#5'a'
+'kTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.To'
+'p'#2#4#19'BorderSpacing.Right'#2#6#7'Caption'#6#18'SnapToGridCheckBox'#8'Ta'
+'bOrder'#2#1#0#0#9'TCheckBox'#16'ShowGridCheckBox'#22'AnchorSideLeft.Control'
+#7#12'GridGroupBox'#4'Left'#2#6#6'Height'#2#19#5'Width'#2'v'#18'BorderSpacin'
+'g.Left'#2#6#7'Caption'#6#16'ShowGridCheckBox'#8'TabOrder'#2#0#0#0#9'TComboB'
+'ox'#17'GridSizeXComboBox'#22'AnchorSideLeft.Control'#7#14'GridSizeXLabel'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'GridSize'
+'XLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2'R'#6'Height'#2#21#3
+'Top'#2'D'#5'Width'#2'd'#10'ItemHeight'#2#13#13'Items.Strings'#1#6#1'2'#6#1
+'5'#6#1'8'#6#2'10'#6#2'12'#6#2'15'#6#2'20'#6#2'25'#6#2'30'#0#9'MaxLength'#2
+#255#14'ParentShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#2#0#0#9'TComboBox'#17
+'GridSizeYComboBox'#22'AnchorSideLeft.Control'#7#14'GridSizeYLabel'#19'Ancho'
+'rSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'GridSizeYLabe'
+'l'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2'R'#6'Height'#2#21#3'Top'
+#2'\'#5'Width'#2'd'#10'ItemHeight'#2#13#13'Items.Strings'#1#6#1'2'#6#1'5'#6#1
+'8'#6#2'10'#6#2'12'#6#2'15'#6#2'20'#6#2'25'#6#2'30'#0#9'MaxLength'#2#255#14
+'ParentShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#3#0#0#9'TCheckBox'#23'ShowBor'
+'derSpaceCheckBox'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#21'AnchorSi'
+'deTop.Control'#7#16'ShowGridCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#2#19#3'Top'#2#23#5'Width'#3#160#0#18'BorderSpacing.Le'
+'ft'#2#6#17'BorderSpacing.Top'#2#4#7'Caption'#6#23'ShowBorderSpaceCheckBox'#8
+'TabOrder'#2#4#0#0#0#9'TGroupBox'#18'GuideLinesGroupBox'#22'AnchorSideLeft.C'
+'ontrol'#7#20'FormEditMiscGroupBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#18'RubberbandGroupBox'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#23'AnchorSideRight.Control'#7#14'FormEditorPage'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'FormEditorPage'
+#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3']'#1#6'Height'#3#248#0#3
+'Top'#3#224#0#5'Width'#3#179#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'GuideLinesGroupBox'
+#12'ClientHeight'#3#248#0#11'ClientWidth'#3#179#0#8'TabOrder'#2#1#0#12'TColo'
+'rButton'#27'GuideLineColorLeftTopButton'#21'AnchorSideTop.Control'#7#26'Gui'
+'deLineColorLeftTopLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6
+'Height'#2#23#3'Top'#2'^'#5'Width'#2'2'#11'BorderWidth'#2#2#15'ButtonColorSi'
+'ze'#2#16#5'Color'#7#9'clBtnFace'#0#0#12'TColorButton'#31'GuideLineColorRigh'
+'tBottomButton'#21'AnchorSideTop.Control'#7#30'GuideLineColorRightBottomLabe'
+'l'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#23#3'Top'#3
+#143#0#5'Width'#2'2'#11'BorderWidth'#2#2#15'ButtonColorSize'#2#16#5'Color'#7
+#9'clBtnFace'#0#0#6'TLabel'#26'GuideLineColorLeftTopLabel'#22'AnchorSideLeft'
+'.Control'#7#18'GuideLinesGroupBox'#23'AnchorSideRight.Control'#7#18'GuideLi'
+'nesGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+#14#3'Top'#2'J'#5'Width'#3#163#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#26'GuideLineColorLeftTopLabel'
+#11'ParentColor'#8#0#0#6'TLabel'#30'GuideLineColorRightBottomLabel'#22'Ancho'
+'rSideLeft.Control'#7#18'GuideLinesGroupBox'#21'AnchorSideTop.Control'#7#27
+'GuideLineColorLeftTopButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Ancho'
+'rSideRight.Control'#7#18'GuideLinesGroupBox'#20'AnchorSideRight.Side'#7#9'a'
+'srBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'{'#5'Width'#3#163#0#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#30'GuideLineColorRightBottomLabel'#11'ParentColor'#8#0#0#9'TCheckBox'#22'Sh'
+'owGuideLinesCheckBox'#22'AnchorSideLeft.Control'#7#18'GuideLinesGroupBox'#23
+'AnchorSideRight.Control'#7#18'GuideLinesGroupBox'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#5'Width'#3#163#0#7'Anchors'#11#5'ak'
+'Top'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#22'Sh'
+'owGuideLinesCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox'#24'SnapToGuideLinesC'
+'heckBox'#22'AnchorSideLeft.Control'#7#18'GuideLinesGroupBox'#21'AnchorSideT'
,'op.Control'#7#22'ShowGuideLinesCheckBox'#18'AnchorSideTop.Side'#7#9'asrBott'
+'om'#23'AnchorSideRight.Control'#7#18'GuideLinesGroupBox'#20'AnchorSideRight'
+'.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#25#5'Width'#3#163
+#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6
+#7'Caption'#6#24'SnapToGuideLinesCheckBox'#8'TabOrder'#2#1#0#0#0#9'TGroupBox'
+#2#1#8'TabOrder'#2#0#0#5'TPage'#9'FilesPage'#7'Caption'#6#9'FilesPage'#0#0#5
+'TPage'#11'DesktopPage'#7'Caption'#6#11'DesktopPage'#0#0#5'TPage'#11'Windows'
+'Page'#7'Caption'#6#11'WindowsPage'#11'ClientWidth'#3#22#2#12'ClientHeight'#3
+#222#1#0#9'TCheckBox!MinimizeAllOnMinimizeMainCheckBox'#23'AnchorSideRight.C'
+'ontrol'#7#11'WindowsPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2#19#3'Top'#2#10#5'Width'#3#10#2#7'Anchors'#11#5'akTop'#6'akLef'
+'t'#7'akRight'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6'!MinimizeAllOnMini'
+'mizeMainCheckBox'#7'Enabled'#8#8'TabOrder'#2#0#0#0#9'TCheckBox'#20'HideIDEO'
+'nRunCheckBox'#23'AnchorSideRight.Control'#7#11'WindowsPage'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'"'#5'Width'#3
+#10#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpacing.Right'#2
+#6#7'Caption'#6#20'HideIDEOnRunCheckBox'#8'TabOrder'#2#1#0#0#9'TGroupBox'#23
+'WindowPositionsGroupBox'#23'AnchorSideRight.Control'#7#11'WindowsPage'#20'A'
+'nchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3'\'#1#3'Top'#2'D'
+#5'Width'#3#10#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#19
+'BorderSpacing.Right'#2#6#7'Caption'#6#23'WindowPositionsGroupBox'#12'Client'
+'Height'#3'\'#1#11'ClientWidth'#3#10#2#8'TabOrder'#2#2#0#8'TListBox'#22'Wind'
+'owPositionsListBox'#22'AnchorSideLeft.Control'#7#23'WindowPositionsGroupBox'
+#23'AnchorSideRight.Control'#7#23'WindowPositionsGroupBox'#20'AnchorSideRigh'
+'t.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'd'#3'Top'#2#6#5'Width'#3#250
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6
+#17'OnSelectionChange'#7'%WindowPositionsListBoxSelectionChange'#8'TabOrder'
+#2#0#0#0#0#0#5'TPage'#14'FormEditorPage'#7'Caption'#6#14'FormEditorPage'#11
+'ClientWidth'#3#22#2#12'ClientHeight'#3#222#1#8'OnResize'#7#20'FormEditorPag'
+'eResize'#0#9'TGroupBox'#12'GridGroupBox'#4'Left'#2#6#6'Height'#3#212#0#3'To'
+'p'#2#6#5'Width'#3'Q'#1#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'GridGro'
+'upBox'#12'ClientHeight'#3#212#0#11'ClientWidth'#3'Q'#1#8'TabOrder'#2#0#0#6
+'TLabel'#14'GridColorLabel'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#21
+'AnchorSideTop.Control'#7#14'GridSizeYLabel'#18'AnchorSideTop.Side'#7#9'asrB'
+'ottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'w'#5'Width'#2'F'#17'BorderSpacin'
+'g.Top'#2#4#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'GridColorLabel'#11
+'ParentColor'#8#0#0#6'TLabel'#14'GridSizeXLabel'#22'AnchorSideLeft.Control'#7
+#12'GridGroupBox'#21'AnchorSideTop.Control'#7#18'SnapToGridCheckBox'#18'Anch'
+'orSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'G'#5'Wid'
+'th'#2'F'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'GridSizeXLabel'#11'Pa'
+'rentColor'#8#0#0#6'TLabel'#14'GridSizeYLabel'#22'AnchorSideLeft.Control'#7
+#12'GridGroupBox'#21'AnchorSideTop.Control'#7#14'GridSizeXLabel'#18'AnchorSi'
+'deTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'_'#5'Width'#2
+'F'#17'BorderSpacing.Top'#2#4#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'G'
+'ridSizeYLabel'#11'ParentColor'#8#0#0#12'TColorButton'#15'GridColorButton'#22
+'AnchorSideLeft.Control'#7#14'GridColorLabel'#19'AnchorSideLeft.Side'#7#9'as'
+'rBottom'#21'AnchorSideTop.Control'#7#14'GridColorLabel'#18'AnchorSideTop.Si'
+'de'#7#9'asrCenter'#4'Left'#2'R'#6'Height'#2#23#3'Top'#2's'#5'Width'#2'2'#11
+'BorderWidth'#2#2#15'ButtonColorSize'#2#16#5'Color'#7#9'clBtnFace'#0#0#9'TCh'
+'eckBox'#18'SnapToGridCheckBox'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'
+#21'AnchorSideTop.Control'#7#23'ShowBorderSpaceCheckBox'#18'AnchorSideTop.Si'
+'de'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#12'GridGroupBox'#20'Anchor'
+'SideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'.'#5'Wid'
+'th'#3'A'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.L'
+'eft'#2#6#17'BorderSpacing.Top'#2#4#19'BorderSpacing.Right'#2#6#7'Caption'#6
+#18'SnapToGridCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#16'ShowGridCheckBox'
+#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#4'Left'#2#6#6'Height'#2#19#5
+'Width'#2'v'#18'BorderSpacing.Left'#2#6#7'Caption'#6#16'ShowGridCheckBox'#8
+'TabOrder'#2#0#0#0#9'TComboBox'#17'GridSizeXComboBox'#22'AnchorSideLeft.Cont'
,'rol'#7#14'GridSizeXLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorS'
+'ideTop.Control'#7#14'GridSizeXLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
+'Left'#2'R'#6'Height'#2#21#3'Top'#2'D'#5'Width'#2'd'#10'ItemHeight'#2#13#13
+'Items.Strings'#1#6#1'2'#6#1'5'#6#1'8'#6#2'10'#6#2'12'#6#2'15'#6#2'20'#6#2'2'
+'5'#6#2'30'#0#14'ParentShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#2#0#0#9'TComb'
+'oBox'#17'GridSizeYComboBox'#22'AnchorSideLeft.Control'#7#14'GridSizeYLabel'
+#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'GridS'
+'izeYLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2'R'#6'Height'#2#21
+#3'Top'#2'\'#5'Width'#2'd'#10'ItemHeight'#2#13#13'Items.Strings'#1#6#1'2'#6#1
+'5'#6#1'8'#6#2'10'#6#2'12'#6#2'15'#6#2'20'#6#2'25'#6#2'30'#0#14'ParentShowHi'
+'nt'#8#8'ShowHint'#9#8'TabOrder'#2#3#0#0#9'TCheckBox'#23'ShowBorderSpaceChec'
+'kBox'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#21'AnchorSideTop.Contro'
+'l'#7#16'ShowGridCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6
+#6'Height'#2#19#3'Top'#2#23#5'Width'#3#160#0#18'BorderSpacing.Left'#2#6#17'B'
+'orderSpacing.Top'#2#4#7'Caption'#6#23'ShowBorderSpaceCheckBox'#8'TabOrder'#2
+#4#0#0#0#9'TGroupBox'#18'GuideLinesGroupBox'#22'AnchorSideLeft.Control'#7#20
+'FormEditMiscGroupBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideT'
+'op.Control'#7#18'RubberbandGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#14'FormEditorPage'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'FormEditorPage'#21'AnchorSid'
+'eBottom.Side'#7#9'asrBottom'#4'Left'#3']'#1#6'Height'#3#248#0#3'Top'#3#224#0
+#5'Width'#3#179#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'GuideLinesGroupBox'#12'ClientH'
+'eight'#3#248#0#11'ClientWidth'#3#179#0#8'TabOrder'#2#1#0#12'TColorButton'#27
+'GuideLineColorLeftTopButton'#21'AnchorSideTop.Control'#7#26'GuideLineColorL'
+'eftTopLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+#23#3'Top'#2'^'#5'Width'#2'2'#11'BorderWidth'#2#2#15'ButtonColorSize'#2#16#5
+'Color'#7#9'clBtnFace'#0#0#12'TColorButton'#31'GuideLineColorRightBottomButt'
+'on'#21'AnchorSideTop.Control'#7#30'GuideLineColorRightBottomLabel'#18'Ancho'
+'rSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#23#3'Top'#3#143#0#5'W'
+'idth'#2'2'#11'BorderWidth'#2#2#15'ButtonColorSize'#2#16#5'Color'#7#9'clBtnF'
+'ace'#0#0#6'TLabel'#26'GuideLineColorLeftTopLabel'#22'AnchorSideLeft.Control'
+#7#18'GuideLinesGroupBox'#23'AnchorSideRight.Control'#7#18'GuideLinesGroupBo'
+'x'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'
+#2'J'#5'Width'#3#163#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'Bord'
+'erSpacing.Around'#2#6#7'Caption'#6#26'GuideLineColorLeftTopLabel'#11'Parent'
+'Color'#8#0#0#6'TLabel'#30'GuideLineColorRightBottomLabel'#22'AnchorSideLeft'
+'.Control'#7#18'GuideLinesGroupBox'#21'AnchorSideTop.Control'#7#27'GuideLine'
+'ColorLeftTopButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRigh'
+'t.Control'#7#18'GuideLinesGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#2#14#3'Top'#2'{'#5'Width'#3#163#0#7'Anchors'#11#5'akT'
+'op'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#30'Gui'
+'deLineColorRightBottomLabel'#11'ParentColor'#8#0#0#9'TCheckBox'#22'ShowGuid'
+'eLinesCheckBox'#22'AnchorSideLeft.Control'#7#18'GuideLinesGroupBox'#23'Anch'
+'orSideRight.Control'#7#18'GuideLinesGroupBox'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2#19#5'Width'#3#163#0#7'Anchors'#11#5'akTo'
+'p'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#22'Show'
+'GuideLinesCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox'#24'SnapToGuideLinesChe'
+'ckBox'#22'AnchorSideLeft.Control'#7#18'GuideLinesGroupBox'#21'AnchorSideTop'
+'.Control'#7#22'ShowGuideLinesCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#18'GuideLinesGroupBox'#20'AnchorSideRight.Sid'
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#25#5'Width'#3#163#0#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7
+'Caption'#6#24'SnapToGuideLinesCheckBox'#8'TabOrder'#2#1#0#0#0#9'TGroupBox'
+#20'FormEditMiscGroupBox'#21'AnchorSideTop.Control'#7#12'GridGroupBox'#18'An'
+'chorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#14'FormEdito'
+'rPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'
@ -208,7 +129,7 @@ LazarusResources.Add('TEnvironmentOptionsDialog','FORMDATA',[
+#12'TColorButton'#18'GrabberColorButton'#22'AnchorSideLeft.Control'#7#17'Gra'
+'bberColorLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Con'
+'trol'#7#17'GrabberColorLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'
+#2'f'#6'Height'#2#23#3'Top'#2'^'#5'Width'#2'2'#11'BorderWidth'#2#2#15'Button'
,#2'f'#6'Height'#2#23#3'Top'#2'^'#5'Width'#2'2'#11'BorderWidth'#2#2#15'Button'
+'ColorSize'#2#16#5'Color'#7#9'clBtnFace'#0#0#12'TColorButton'#17'MarkerColor'
+'Button'#22'AnchorSideLeft.Control'#7#16'MarkerColorLabel'#19'AnchorSideLeft'
+'.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#16'MarkerColorLabel'#18'A'
@ -257,7 +178,7 @@ LazarusResources.Add('TEnvironmentOptionsDialog','FORMDATA',[
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#4#20
+'BorderSpacing.Around'#2#6#7'Caption'#6#25'DesignerPaintLazyCheckBox'#14'Par'
+'entShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#18'Rubberba'
,'ndGroupBox'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#19'AnchorSideLeft'
+'ndGroupBox'#22'AnchorSideLeft.Control'#7#12'GridGroupBox'#19'AnchorSideLeft'
+'.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#14'FormEditorPage'#20'A'
+'nchorSideRight.Side'#7#9'asrBottom'#4'Left'#3']'#1#6'Height'#3#212#0#3'Top'
+#2#6#5'Width'#3#179#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'Borde'
@ -272,7 +193,7 @@ LazarusResources.Add('TEnvironmentOptionsDialog','FORMDATA',[
+#21'AnchorSideTop.Control'#7#26'RubberbandCreateColorLabel'#18'AnchorSideTop'
+'.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#23#3'Top'#2'K'#5'Width'#2'2'
+#11'BorderWidth'#2#2#15'ButtonColorSize'#2#16#5'Color'#7#9'clBtnFace'#0#0#6
+'TLabel'#26'RubberbandSelectColorLabel'#22'AnchorSideLeft.Control'#7#18'Rubb'
,'TLabel'#26'RubberbandSelectColorLabel'#22'AnchorSideLeft.Control'#7#18'Rubb'
+'erbandGroupBox'#21'AnchorSideTop.Control'#7#18'RubberbandGroupBox'#23'Ancho'
+'rSideRight.Control'#7#18'RubberbandGroupBox'#20'AnchorSideRight.Side'#7#9'a'
+'srBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#3#163#0#7'Anchors'
@ -321,7 +242,7 @@ LazarusResources.Add('TEnvironmentOptionsDialog','FORMDATA',[
+'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#21'BackupP'
+'rojectGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'p'#6'Heig'
+'ht'#2#14#3'Top'#2'c'#5'Width'#3#144#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'ak'
,'Right'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'BakProjSubDirLabel'#11
+'Right'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'BakProjSubDirLabel'#11
+'ParentColor'#8#0#0#11'TRadioGroup'#21'BakProjTypeRadioGroup'#23'AnchorSideR'
+'ight.Control'#7#21'BackupProjectGroupBox'#20'AnchorSideRight.Side'#7#9'asrB'
+'ottom'#4'Left'#2#6#6'Height'#2#30#3'Top'#2#6#5'Width'#3#250#1#7'Anchors'#11
@ -336,131 +257,130 @@ LazarusResources.Add('TEnvironmentOptionsDialog','FORMDATA',[
+'dioGroupClick'#8'TabOrder'#2#0#0#0#9'TComboBox'#21'BakProjAddExtComboBox'#21
+'AnchorSideTop.Control'#7#21'BakProjTypeRadioGroup'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'*'#5'Width'#2'd'#10'AutoSe'
+'lect'#9#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#13#9'MaxLength'#2#255
+#8'TabOrder'#2#1#4'Text'#6#21'BakProjAddExtComboBox'#0#0#9'TComboBox'#25'Bak'
+'ProjMaxCounterComboBox'#21'AnchorSideTop.Control'#7#21'BakProjAddExtComboBo'
+'x'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2
+'E'#5'Width'#2'd'#10'AutoSelect'#9#20'BorderSpacing.Around'#2#6#10'ItemHeigh'
+'t'#2#13#9'MaxLength'#2#255#8'TabOrder'#2#2#4'Text'#6#25'BakProjMaxCounterCo'
+'mboBox'#0#0#9'TComboBox'#21'BakProjSubDirComboBox'#21'AnchorSideTop.Control'
+#7#25'BakProjMaxCounterComboBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef'
+'t'#2#6#6'Height'#2#21#3'Top'#2'`'#5'Width'#2'd'#10'AutoSelect'#9#20'BorderS'
+'pacing.Around'#2#6#10'ItemHeight'#2#13#9'MaxLength'#2#255#8'TabOrder'#2#3#4
+'Text'#6#21'BakProjSubDirComboBox'#0#0#0#9'TGroupBox'#19'BackupOtherGroupBox'
+#21'AnchorSideTop.Control'#7#21'BackupProjectGroupBox'#18'AnchorSideTop.Side'
+#7#9'asrBottom'#23'AnchorSideRight.Control'#7#10'BackupPage'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3#141#0#3'Top'#3#181#0#5'Wid'
+'th'#3#10#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#20'B'
+'orderSpacing.Around'#2#6#7'Caption'#6#19'BackupOtherGroupBox'#12'ClientHeig'
+'ht'#3#141#0#11'ClientWidth'#3#10#2#8'TabOrder'#2#1#0#6'TLabel'#19'BakOtherA'
+'ddExtLabel'#22'AnchorSideLeft.Control'#7#22'BakOtherAddExtComboBox'#19'Anch'
+'orSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#22'BakOtherAddE'
+'xtComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Contro'
+'l'#7#19'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'
+#2'p'#6'Height'#2#14#3'Top'#2'-'#5'Width'#3#144#1#7'Anchors'#11#5'akTop'#6'a'
+'kLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'BakOtherAd'
+'dExtLabel'#11'ParentColor'#8#0#0#6'TLabel'#23'BakOtherMaxCounterLabel'#22'A'
+'nchorSideLeft.Control'#7#26'BakOtherMaxCounterComboBox'#19'AnchorSideLeft.S'
+'ide'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#26'BakOtherMaxCounterComboB'
+'ox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#19
,'lect'#9#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#1#4
+'Text'#6#21'BakProjAddExtComboBox'#0#0#9'TComboBox'#25'BakProjMaxCounterComb'
+'oBox'#21'AnchorSideTop.Control'#7#21'BakProjAddExtComboBox'#18'AnchorSideTo'
+'p.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'E'#5'Width'#2'd'
+#10'AutoSelect'#9#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#13#8'TabOrde'
+'r'#2#2#4'Text'#6#25'BakProjMaxCounterComboBox'#0#0#9'TComboBox'#21'BakProjS'
+'ubDirComboBox'#21'AnchorSideTop.Control'#7#25'BakProjMaxCounterComboBox'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'`'#5
+'Width'#2'd'#10'AutoSelect'#9#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2
+#13#8'TabOrder'#2#3#4'Text'#6#21'BakProjSubDirComboBox'#0#0#0#9'TGroupBox'#19
+'BackupOtherGroupBox'#21'AnchorSideTop.Control'#7#21'BackupProjectGroupBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#10'Back'
+'upPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3#141
+#0#3'Top'#3#181#0#5'Width'#3#10#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'BackupOtherGro'
+'upBox'#12'ClientHeight'#3#141#0#11'ClientWidth'#3#10#2#8'TabOrder'#2#1#0#6
+'TLabel'#19'BakOtherAddExtLabel'#22'AnchorSideLeft.Control'#7#22'BakOtherAdd'
+'ExtComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contro'
+'l'#7#22'BakOtherAddExtComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'An'
+'chorSideRight.Control'#7#19'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'-'#5'Width'#3#144#1#7'Anc'
+'hors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Cap'
+'tion'#6#19'BakOtherAddExtLabel'#11'ParentColor'#8#0#0#6'TLabel'#23'BakOther'
+'MaxCounterLabel'#22'AnchorSideLeft.Control'#7#26'BakOtherMaxCounterComboBox'
+#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#26'BakOt'
+'herMaxCounterComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideR'
+'ight.Control'#7#19'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7#9'asrBot'
+'tom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'H'#5'Width'#3#144#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#23
+'BakOtherMaxCounterLabel'#11'ParentColor'#8#0#0#6'TLabel'#19'BakOtherSubDirL'
+'abel'#22'AnchorSideLeft.Control'#7#22'BakOtherSubDirComboBox'#19'AnchorSide'
+'Left.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#22'BakOtherSubDirComb'
+'oBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#19
+'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'p'#6
+'Height'#2#14#3'Top'#2'H'#5'Width'#3#144#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#23'BakOtherMaxCounterL'
+'abel'#11'ParentColor'#8#0#0#6'TLabel'#19'BakOtherSubDirLabel'#22'AnchorSide'
+'Left.Control'#7#22'BakOtherSubDirComboBox'#19'AnchorSideLeft.Side'#7#9'asrB'
+'ottom'#21'AnchorSideTop.Control'#7#22'BakOtherSubDirComboBox'#18'AnchorSide'
+'Top.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#19'BackupOtherGroupB'
+'ox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'p'#6'Height'#2#14#3'T'
+'op'#2'c'#5'Width'#3#144#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20
+'BorderSpacing.Around'#2#6#7'Caption'#6#19'BakOtherSubDirLabel'#11'ParentCol'
+'or'#8#0#0#11'TRadioGroup'#22'BakOtherTypeRadioGroup'#23'AnchorSideRight.Con'
+'trol'#7#19'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2#30#3'Top'#2#6#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6
+'akLeft'#7'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#20'BorderSpacing.Around'#2
+#6#7'Caption'#6#22'BakOtherTypeRadioGroup'#28'ChildSizing.LeftRightSpacing'#2
+'Height'#2#14#3'Top'#2'c'#5'Width'#3#144#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'BakOtherSubDirLabel'
+#11'ParentColor'#8#0#0#11'TRadioGroup'#22'BakOtherTypeRadioGroup'#23'AnchorS'
+'ideRight.Control'#7#19'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7#9'as'
+'rBottom'#4'Left'#2#6#6'Height'#2#30#3'Top'#2#6#5'Width'#3#250#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#20'BorderSpa'
+'cing.Around'#2#6#7'Caption'#6#22'BakOtherTypeRadioGroup'#28'ChildSizing.Lef'
+'tRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.Enla'
+'rgeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertica'
+'l'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crs'
+'ScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSi'
+'zing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPer'
+'Line'#2#2#7'Columns'#2#2#21'Constraints.MinHeight'#2#30#7'OnClick'#7#22'Bak'
+'TypeRadioGroupClick'#8'TabOrder'#2#0#0#0#9'TComboBox'#22'BakOtherAddExtComb'
+'oBox'#21'AnchorSideTop.Control'#7#22'BakOtherTypeRadioGroup'#18'AnchorSideT'
+'op.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'*'#5'Width'#2'd'
+#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#1#4'Text'#6
+#22'BakOtherAddExtComboBox'#0#0#9'TComboBox'#26'BakOtherMaxCounterComboBox'
+#21'AnchorSideTop.Control'#7#22'BakOtherAddExtComboBox'#18'AnchorSideTop.Sid'
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'E'#5'Width'#2'd'#20'B'
+'orderSpacing.Around'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#2#4'Text'#6#26'B'
+'akOtherMaxCounterComboBox'#0#0#9'TComboBox'#22'BakOtherSubDirComboBox'#21'A'
+'nchorSideTop.Control'#7#26'BakOtherMaxCounterComboBox'#18'AnchorSideTop.Sid'
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'`'#5'Width'#2'd'#20'B'
+'orderSpacing.Around'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#3#4'Text'#6#22'B'
+'akOtherSubDirComboBox'#0#0#0#0#5'TPage'#10'NamingPage'#7'Caption'#6#10'Nami'
+'ngPage'#11'ClientWidth'#3#26#2#12'ClientHeight'#3#194#1#0#11'TRadioGroup'#23
+'PascalFileExtRadiogroup'#23'AnchorSideRight.Control'#7#10'NamingPage'#20'An'
+'chorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'/'#3'Top'#2#6#5
+'Width'#3#14#2#5'Align'#7#5'alTop'#8'AutoFill'#9#20'BorderSpacing.Around'#2#6
,#7'Caption'#6#23'PascalFileExtRadiogroup'#28'ChildSizing.LeftRightSpacing'#2
+#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7
+#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomoge'
+'nousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'C'
+'hildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29
+'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2#7'Column'
+'s'#2#2#21'Constraints.MinHeight'#2#30#7'OnClick'#7#22'BakTypeRadioGroupClic'
+'k'#8'TabOrder'#2#0#0#0#9'TComboBox'#22'BakOtherAddExtComboBox'#21'AnchorSid'
,'eTop.Control'#7#22'BakOtherTypeRadioGroup'#18'AnchorSideTop.Side'#7#9'asrBo'
+'ttom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'*'#5'Width'#2'd'#20'BorderSpacing'
+'.Around'#2#6#10'ItemHeight'#2#13#9'MaxLength'#2#255#8'TabOrder'#2#1#4'Text'
+#6#22'BakOtherAddExtComboBox'#0#0#9'TComboBox'#26'BakOtherMaxCounterComboBox'
+#21'AnchorSideTop.Control'#7#22'BakOtherAddExtComboBox'#18'AnchorSideTop.Sid'
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'E'#5'Width'#2'd'#20'B'
+'orderSpacing.Around'#2#6#10'ItemHeight'#2#13#9'MaxLength'#2#255#8'TabOrder'
+#2#2#4'Text'#6#26'BakOtherMaxCounterComboBox'#0#0#9'TComboBox'#22'BakOtherSu'
+'bDirComboBox'#21'AnchorSideTop.Control'#7#26'BakOtherMaxCounterComboBox'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'`'#5
+'Width'#2'd'#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#13#9'MaxLength'#2
+#255#8'TabOrder'#2#3#4'Text'#6#22'BakOtherSubDirComboBox'#0#0#0#0#5'TPage'#10
+'NamingPage'#7'Caption'#6#10'NamingPage'#11'ClientWidth'#3#26#2#12'ClientHei'
+'ght'#3#194#1#0#11'TRadioGroup'#23'PascalFileExtRadiogroup'#23'AnchorSideRig'
+'ht.Control'#7#10'NamingPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'
+#2#6#6'Height'#2'/'#3'Top'#2#6#5'Width'#3#14#2#5'Align'#7#5'alTop'#8'AutoFil'
+'l'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#23'PascalFileExtRadiogroup'
+#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29
+'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizin'
+'g.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHori'
+'zontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleCh'
+'ilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSi'
+'zing.ControlsPerLine'#2#2#7'Columns'#2#2#8'TabOrder'#2#0#0#0#11'TRadioGroup'
+#28'CharcaseFileActionRadioGroup'#23'AnchorSideRight.Control'#7#10'NamingPag'
+'e'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'U'#3'Top'
+#3#165#0#5'Width'#3#14#2#5'Align'#7#5'alTop'#8'AutoFill'#9#20'BorderSpacing.'
+'Around'#2#6#7'Caption'#6#28'CharcaseFileActionRadioGroup'#28'ChildSizing.Le'
+'ftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.Enl'
+'argeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertic'
+'al'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'cr'
+'sScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildS'
+'izing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPe'
+'rLine'#2#2#7'Columns'#2#2#8'TabOrder'#2#1#0#0#11'TRadioGroup'#29'AmbiguousF'
+'ileActionRadioGroup'#23'AnchorSideRight.Control'#7#10'NamingPage'#20'Anchor'
+'SideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'd'#3'Top'#2';'#5'Wid'
+'th'#3#14#2#5'Align'#7#5'alTop'#8'AutoFill'#9#20'BorderSpacing.Around'#2#6#7
+'Caption'#6#29'AmbiguousFileActionRadioGroup'#28'ChildSizing.LeftRightSpacin'
+'g'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizonta'
+'l'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsH'
+'omogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'
+#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7
+#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2#7'Col'
+'umns'#2#2#8'TabOrder'#2#2#0#0#0#5'TPage'#10'LazDocPage'#7'Caption'#6#10'Laz'
+'DocPage'#11'ClientWidth'#3#26#2#12'ClientHeight'#3#194#1#0#9'TGroupBox'#19
+'LazDocPathsGroupBox'#23'AnchorSideRight.Control'#7#10'LazDocPage'#20'Anchor'
+'SideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3#205#0#3'Top'#2#6#5'W'
+'idth'#3#14#2#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6
+#7'Caption'#6#19'LazDocPathsGroupBox'#12'ClientHeight'#3#205#0#11'ClientWidt'
+'h'#3#14#2#8'TabOrder'#2#0#0#8'TListBox'#13'LazDocListBox'#4'Left'#2#6#6'Hei'
+'ght'#2'l'#3'Top'#2#6#5'Width'#3#254#1#5'Align'#7#5'alTop'#20'BorderSpacing.'
+'Around'#2#6#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#7'TButton'#19'LazDocAddPa'
+'thButton'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSid'
+'eTop.Control'#7#13'LazDocListBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2#31#3'Top'#2'x'#5'Width'#3#163#0#8'AutoSize'#9#20'Borde'
+'rSpacing.Around'#2#6#7'Caption'#6#19'LazDocAddPathButton'#7'OnClick'#7#24'L'
+'azDocAddPathButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#22'LazDocDeletePath'
+'Button'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathButton'#19'AnchorSideL'
+'eft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'LazDocAddPathButton'
+#4'Left'#3#179#0#6'Height'#2#31#3'Top'#2'x'#5'Width'#3#180#0#8'AutoSize'#9#18
+'BorderSpacing.Left'#2#10#7'Caption'#6#22'LazDocDeletePathButton'#7'OnClick'
+#7#27'LazDocDeletePathButtonClick'#8'TabOrder'#2#2#0#0#7'TButton'#18'LazDocB'
+'rowseButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contro'
+'l'#7#14'LazDocPathEdit'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBo'
+'x'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#14
,'LazDocPathEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#236#1#6
+'Height'#2#23#3'Top'#3#157#0#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akRight'
+#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnClick'#7
+#23'LazDocBrowseButtonClick'#8'TabOrder'#2#3#0#0#5'TEdit'#14'LazDocPathEdit'
+#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Contr'
+'ol'#7#19'LazDocAddPathButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Anch'
+'orSideRight.Control'#7#18'LazDocBrowseButton'#4'Left'#2#6#6'Height'#2#23#3
+'Top'#3#157#0#5'Width'#3#230#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
+#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Botto'
+'m'#2#6#8'TabOrder'#2#4#4'Text'#6#14'LazDocPathEdit'#0#0#0#0#0#12'TButtonPan'
+'el'#11'ButtonPanel'#4'Left'#2#6#6'Height'#2'('#3'Top'#3#239#1#5'Width'#3#18
+#2#5'Align'#7#8'alBottom'#8'AutoSize'#9#8'TabOrder'#2#1#11'ShowButtons'#11#4
+'pbOK'#8'pbCancel'#6'pbHelp'#0#0#0#22'TSelectDirectoryDialog'#21'SelectDirec'
+'toryDialog'#11'FilterIndex'#2#0#4'left'#3#232#1#3'top'#2#8#0#0#0
+'s'#2#2#8'TabOrder'#2#0#0#0#11'TRadioGroup'#28'CharcaseFileActionRadioGroup'
+#23'AnchorSideRight.Control'#7#10'NamingPage'#20'AnchorSideRight.Side'#7#9'a'
+'srBottom'#4'Left'#2#6#6'Height'#2'U'#3'Top'#3#165#0#5'Width'#3#14#2#5'Align'
+#7#5'alTop'#8'AutoFill'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#28'Charc'
+'aseFileActionRadioGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizin'
+'g.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenou'
+'sChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'
+#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.Shrink'
+'Vertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightTh'
+'enTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2#7'Columns'#2#2#8'TabOrde'
+'r'#2#1#0#0#11'TRadioGroup'#29'AmbiguousFileActionRadioGroup'#23'AnchorSideR'
+'ight.Control'#7#10'NamingPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Le'
+'ft'#2#6#6'Height'#2'd'#3'Top'#2';'#5'Width'#3#14#2#5'Align'#7#5'alTop'#8'Au'
+'toFill'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#29'AmbiguousFileActionR'
+'adioGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpa'
+'cing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'
+#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizi'
+'ng.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7
+#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBotto'
+'m'#27'ChildSizing.ControlsPerLine'#2#2#7'Columns'#2#2#8'TabOrder'#2#2#0#0#0
+#5'TPage'#10'LazDocPage'#7'Caption'#6#10'LazDocPage'#11'ClientWidth'#3#26#2
+#12'ClientHeight'#3#194#1#0#9'TGroupBox'#19'LazDocPathsGroupBox'#23'AnchorSi'
+'deRight.Control'#7#10'LazDocPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#3#205#0#3'Top'#2#6#5'Width'#3#14#2#5'Align'#7#5'alTop'#8
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocPathsGroupBo'
+'x'#12'ClientHeight'#3#205#0#11'ClientWidth'#3#14#2#8'TabOrder'#2#0#0#8'TLis'
+'tBox'#13'LazDocListBox'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5'Width'#3#254
+#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#8'TopInd'
+'ex'#2#255#0#0#7'TButton'#19'LazDocAddPathButton'#22'AnchorSideLeft.Control'
+#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#13'LazDocListBox'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#31#3'Top'#2'x'#5
+'Width'#3#163#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'L'
+'azDocAddPathButton'#7'OnClick'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2
+#1#0#0#7'TButton'#22'LazDocDeletePathButton'#22'AnchorSideLeft.Control'#7#19
+'LazDocAddPathButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTo'
+'p.Control'#7#19'LazDocAddPathButton'#4'Left'#3#179#0#6'Height'#2#31#3'Top'#2
+'x'#5'Width'#3#180#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#10#7'Caption'#6
+#22'LazDocDeletePathButton'#7'OnClick'#7#27'LazDocDeletePathButtonClick'#8'T'
+'abOrder'#2#2#0#0#7'TButton'#18'LazDocBrowseButton'#19'AnchorSideLeft.Side'#7
+#9'asrBottom'#21'AnchorSideTop.Control'#7#14'LazDocPathEdit'#23'AnchorSideRi'
+'ght.Control'#7#19'LazDocPathsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBott'
+'om'#24'AnchorSideBottom.Control'#7#14'LazDocPathEdit'#21'AnchorSideBottom.S'
+'ide'#7#9'asrBottom'#4'Left'#3#236#1#6'Height'#2#23#3'Top'#3#157#0#5'Width'#2
+#24#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#19'BorderSpacing.Right'#2
+#6#7'Caption'#6#3'...'#7'OnClick'#7#23'LazDocBrowseButtonClick'#8'TabOrder'#2
+#3#0#0#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLeft.Control'#7#19'LazDocPat'
+'hsGroupBox'#21'AnchorSideTop.Control'#7#19'LazDocAddPathButton'#18'AnchorSi'
+'deTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#18'LazDocBrowseBut'
+'ton'#4'Left'#2#6#6'Height'#2#23#3'Top'#3#157#0#5'Width'#3#230#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpac'
+'ing.Top'#2#6#20'BorderSpacing.Bottom'#2#6#8'TabOrder'#2#4#4'Text'#6#14'LazD'
+'ocPathEdit'#0#0#0#0#0#12'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Height'
+#2'('#3'Top'#3#239#1#5'Width'#3#18#2#5'Align'#7#8'alBottom'#8'AutoSize'#9#8
+'TabOrder'#2#1#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbHelp'#0#0#0#22'TSe'
+'lectDirectoryDialog'#21'SelectDirectoryDialog'#11'FilterIndex'#2#0#4'left'#3
+#232#1#3'top'#2#8#0#0#0
]);

View File

@ -41,19 +41,23 @@ uses
LazarusIDEStrConsts, TransferMacros, LazConf, ExtToolDialog, IDEProcs,
IDEOptionDefs, InputHistory, EditorOptions, IDETranslations, ButtonPanel,
EnvironmentOpts,
options_oi, options_files;
options_files, options_desktop, options_oi;
type
TOnLoadEnvironmentSettings = procedure (Sender: TObject;
EnvironmentOptions: TEnvironmentOptions) of object;
TOnSaveEnvironmentSettings = procedure (Sender: TObject;
EnvironmentOptions: TEnvironmentOptions) of object;
{ TEnvironmentOptionsDialog: EnvironmentOptionsDialog for environment options }
TEnvOptsDialogPage = (eodpLanguage, eodpAutoSave, eodpDesktop, eodpMainHints,
eodpWindowPositions, eodpFormEditor, eodpObjectInspector, eodpFiles,
eodpBackup, eodpNaming);
TEnvOptsDialogPage = (
eodpLanguage,
eodpAutoSave,
eodpDesktop,
eodpMainHints,
eodpWindowPositions,
eodpFormEditor,
eodpObjectInspector,
eodpFiles,
eodpBackup,
eodpNaming
);
{ TEnvironmentOptionsDialog }
@ -78,29 +82,6 @@ type
LazDocPathsGroupBox: TGroupBox;
LazDocListBox: TListBox;
// language
LanguageGroupBox: TGroupBox;
LanguageComboBox: TComboBox;
AutoSaveGroupBox: TGroupBox;
AutoSaveEditorFilesCheckBox: TCheckBox;
AutoSaveProjectCheckBox: TCheckBox;
AutoSaveIntervalInSecsLabel: TLabel;
AutoSaveIntervalInSecsComboBox: TComboBox;
// desktop files
DesktopFilesGroupBox: TGroupBox;
SaveDesktopSettingsToFileButton: TButton;
LoadDesktopSettingsFromFileButton: TButton;
// hints
CheckDiskChangesWithLoadingCheckBox: TCheckBox;
ShowHintsForComponentPaletteCheckBox: TCheckBox;
ShowHintsForMainSpeedButtonsCheckBox: TCheckBox;
// messages view
MsgViewDblClickJumpsCheckBox: TCheckBox;
MsgViewFocusCheckBox: TCheckBox;
// window layout
WindowPositionsGroupBox: TGroupBox;
WindowPositionsListBox: TListBox;
@ -178,8 +159,6 @@ type
procedure NotebookChangeBounds(Sender: TObject);
procedure OkButtonClick(Sender: TObject);
procedure CancelButtonClick(Sender: TObject);
procedure SaveDesktopSettingsToFileButtonClick(Sender: TObject);
procedure LoadDesktopSettingsFromFileButtonClick(Sender: TObject);
procedure WindowPositionsListBoxSelectionChange(Sender: TObject;
User: boolean);
private
@ -188,6 +167,9 @@ type
FLayouts: TIDEWindowLayoutList;
OIOptionsFrame: TOIOptionsFrame;
FilesOptionsFrame: TFilesOptionsFrame;
DesktopOptionsFrame: TDesktopOptionsFrame;
procedure SetupFrame(AFrame: TAbstractOptionsFrame; APage: TPage);
procedure SetCategoryPage(const AValue: TEnvOptsDialogPage);
procedure SetupFilesPage(Page: integer);
@ -200,8 +182,9 @@ type
procedure SetupLazDocPage(Page: integer);
procedure SetWindowPositionsItem(Index: integer);
function CheckValues: boolean;
function LangIDToCaption(const LangID: string): string;
function CaptionToLangID(const ACaption: string): string;
procedure LoadEnvironmentSettings(Sender: TObject; AOptions: TEnvironmentOptions);
procedure SaveEnvironmentSettings(Sender: TObject; AOptions: TEnvironmentOptions);
published
property OnSaveEnvironmentSettings: TOnSaveEnvironmentSettings
read FOnSaveEnvironmentSettings write FOnSaveEnvironmentSettings;
@ -252,47 +235,9 @@ begin
end;
procedure TEnvironmentOptionsDialog.SetupDesktopPage(Page: integer);
var
i: Integer;
LangID: String;
sl: TStringList;
begin
NoteBook.Page[Page].Caption := dlgDesktop;
// language
LanguageGroupBox.Caption:=dlgEnvLanguage;
// languages: first the automatic, then sorted the rest
sl:=TStringList.Create;
for i:=0 to LazarusTranslations.Count-1 do begin
LangID:=LazarusTranslations[i].ID;
if LangID<>'' then
sl.Add(LangIDToCaption(LangID));
end;
sl.Sort;
sl.Insert(0,GetLazarusLanguageLocalizedName(''));
LanguageComboBox.Items.Assign(sl);
sl.Free;
// auto save
AutoSaveGroupBox.Caption:=dlgAutoSave;
AutoSaveEditorFilesCheckBox.Caption:=dlgEdFiles;
AutoSaveProjectCheckBox.Caption:=dlgEnvProject;
AutoSaveIntervalInSecsLabel.Caption:=dlgIntvInSec;
// desktop files
DesktopFilesGroupBox.Caption:=dlgDesktopFiles;
SaveDesktopSettingsToFileButton.Caption:=dlgSaveDFile;
LoadDesktopSettingsFromFileButton.Caption:=dlgLoadDFile;
// hints
CheckDiskChangesWithLoadingCheckBox.Caption:=lisCheckChangesOnDiskWithLoading;
ShowHintsForComponentPaletteCheckBox.Caption:=dlgPalHints;
ShowHintsForMainSpeedButtonsCheckBox.Caption:=dlgSpBHints;
// messages view
MsgViewDblClickJumpsCheckBox.Caption:=lisEnvDoubleClickOnMessagesJumpsOtherwiseSingleClick;
MsgViewFocusCheckBox.Caption:=dlgEOFocusMessagesAfterCompilation;
DesktopOptionsFrame := TDesktopOptionsFrame.Create(Self);
SetupFrame(DesktopOptionsFrame, DesktopPage);
end;
procedure TEnvironmentOptionsDialog.SetupWindowsPage(Page: integer);
@ -435,26 +380,33 @@ begin
end;
end;
procedure TEnvironmentOptionsDialog.SetupFrame(AFrame: TAbstractOptionsFrame; APage: TPage);
begin
AFrame.Parent := APage;
AFrame.Anchors := [akLeft, akTop, akRight];
AFrame.AnchorSideLeft.Control := APage;
AFrame.AnchorSideTop.Control := APage;
AFrame.AnchorSideRight.Side := asrBottom;
AFrame.AnchorSideRight.Control := APage;
AFrame.BorderSpacing.Around := 6;
AFrame.OnLoadEnvironmentSettings := @LoadEnvironmentSettings;
AFrame.OnSaveEnvironmentSettings := @SaveEnvironmentSettings;
AFrame.Setup;
AFrame.Visible := True;
APage.Caption := AFrame.GetTitle;
end;
procedure TEnvironmentOptionsDialog.SetupFilesPage(Page: integer);
begin
FilesOptionsFrame := TFilesOptionsFrame.Create(Self);
FilesOptionsFrame.Parent := FilesPage;
FilesOptionsFrame.Anchors := [akLeft, akTop, akRight];
FilesOptionsFrame.AnchorSideLeft.Control := FilesPage;
FilesOptionsFrame.AnchorSideTop.Control := FilesPage;
FilesOptionsFrame.AnchorSideRight.Side := asrBottom;
FilesOptionsFrame.AnchorSideRight.Control := FilesPage;
FilesOptionsFrame.BorderSpacing.Around := 6;
FilesOptionsFrame.Setup;
FilesOptionsFrame.Visible := True;
FilesPage.Caption := FilesOptionsFrame.GetTitle;
SetupFrame(FilesOptionsFrame, FilesPage);
end;
procedure TEnvironmentOptionsDialog.SetCategoryPage(
const AValue: TEnvOptsDialogPage);
procedure TEnvironmentOptionsDialog.SetCategoryPage(const AValue: TEnvOptsDialogPage);
var
p: Integer;
begin
@ -656,94 +608,16 @@ begin
ModalResult:=mrCancel;
end;
procedure TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick(
Sender: TObject);
var AnEnvironmentOptions: TEnvironmentOptions;
SaveDialog: TSaveDialog;
begin
debugln('TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick A');
SaveDialog:=TSaveDialog.Create(nil);
try
try
InputHistories.ApplyFileDialogSettings(SaveDialog);
SaveDialog.Filter:=lisLazarusDesktopSettings+' (*.lds)|*.lds'
+'|'+lisXMLFiles+' (*.xml)|*.xml'
+'|'+dlgAllFiles+' ('+GetAllFilesMask+')|' + GetAllFilesMask;
if SaveDialog.Execute then begin
AnEnvironmentOptions:=TEnvironmentOptions.Create;
try
WriteSettings(AnEnvironmentOptions);
AnEnvironmentOptions.Filename:=SaveDialog.Filename;
if Assigned(OnSaveEnvironmentSettings) then
OnSaveEnvironmentSettings(Self,AnEnvironmentOptions);
AnEnvironmentOptions.Save(true);
finally
AnEnvironmentOptions.Free;
end;
end;
InputHistories.StoreFileDialogSettings(SaveDialog);
except
on E: Exception do begin
DebugLn('ERROR: [TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick] ',E.Message);
end;
end;
finally
SaveDialog.Free;
end;
end;
procedure TEnvironmentOptionsDialog.LoadDesktopSettingsFromFileButtonClick(
Sender: TObject);
var AnEnvironmentOptions: TEnvironmentOptions;
OpenDialog: TOpenDialog;
begin
debugln('TEnvironmentOptionsDialog.LoadDesktopSettingsFromFileButtonClick A');
OpenDialog:=TOpenDialog.Create(nil);
try
try
InputHistories.ApplyFileDialogSettings(OpenDialog);
OpenDialog.Filter:=lisLazarusDesktopSettings+' (*.lds)|*.lds'
+'|'+lisXMLFiles+' (*.xml)|*.xml'
+'|'+dlgAllFiles+' ('+GetAllFilesMask+')|' + GetAllFilesMask;
if OpenDialog.Execute then begin
AnEnvironmentOptions:=TEnvironmentOptions.Create;
try
AnEnvironmentOptions.Filename:=OpenDialog.Filename;
AnEnvironmentOptions.Load(true);
if Assigned(OnLoadEnvironmentSettings) then
OnLoadEnvironmentSettings(Self,AnEnvironmentOptions);
ReadSettings(AnEnvironmentOptions);
finally
AnEnvironmentOptions.Free;
end;
end;
InputHistories.StoreFileDialogSettings(OpenDialog);
except
// ToDo
DebugLn('ERROR: [TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick]');
end;
finally
OpenDialog.Free;
end;
end;
procedure TEnvironmentOptionsDialog.ReadSettings(AnEnvironmentOptions: TEnvironmentOptions);
var
i: integer;
begin
with AnEnvironmentOptions do
begin
// language
LanguageComboBox.Text:=LangIDToCaption(LanguageID);
//debugln('TEnvironmentOptionsDialog.ReadSettings LanguageComboBox.ItemIndex=',dbgs(LanguageComboBox.ItemIndex),' LanguageID="',LanguageID,'" LanguageComboBox.Text="',LanguageComboBox.Text,'"');
// Desktop
DesktopOptionsFrame.ReadSettings(AnEnvironmentOptions);
// auto save
AutoSaveEditorFilesCheckBox.Checked:=AutoSaveEditorFiles;
AutoSaveProjectCheckBox.Checked:=AutoSaveProject;
SetComboBoxText(AutoSaveIntervalInSecsComboBox
,IntToStr(AutoSaveIntervalInSecs));
// desktop
// Window
FLayouts:=IDEWindowLayoutList;
SetWindowPositionsItem(0);
@ -754,18 +628,6 @@ begin
MinimizeAllOnMinimizeMainCheckBox.Checked:=MinimizeAllOnMinimizeMain;
HideIDEOnRunCheckBox.Checked:=HideIDEOnRun;
// hints
CheckDiskChangesWithLoadingCheckBox.Checked:=
CheckDiskChangesWithLoading;
ShowHintsForComponentPaletteCheckBox.Checked:=
ShowHintsForComponentPalette;
ShowHintsForMainSpeedButtonsCheckBox.Checked:=
ShowHintsForMainSpeedButtons;
// messages view
MsgViewDblClickJumpsCheckBox.Checked:=MsgViewDblClickJumps;
MsgViewFocusCheckBox.Checked:=MsgViewFocus;
// EnvironmentOptionsDialog editor
ShowBorderSpaceCheckBox.Checked:=ShowBorderSpacing;
ShowGridCheckBox.Checked:=ShowGrid;
@ -850,17 +712,10 @@ procedure TEnvironmentOptionsDialog.WriteSettings(AnEnvironmentOptions: TEnviron
begin
with AnEnvironmentOptions do
begin
// language
LanguageID:=CaptionToLangID(LanguageComboBox.Text);
//debugln('TEnvironmentOptionsDialog.WriteSettings A LanguageID="',LanguageID,'" LanguageComboBox.ItemIndex=',dbgs(LanguageComboBox.ItemIndex),' LanguageComboBox.Text=',LanguageComboBox.Text);
// Desktop
DesktopOptionsFrame.WriteSettings(AnEnvironmentOptions);
// auto save
AutoSaveEditorFiles:=AutoSaveEditorFilesCheckBox.Checked;
AutoSaveProject:=AutoSaveProjectCheckBox.Checked;
AutoSaveIntervalInSecs:=StrToIntDef(
AutoSaveIntervalInSecsComboBox.Text,AutoSaveIntervalInSecs);
// desktop
// Window
WindowPositionsBox.Save;
// Object inspector
@ -870,15 +725,6 @@ begin
MinimizeAllOnMinimizeMain:=MinimizeAllOnMinimizeMainCheckBox.Checked;
HideIDEOnRun:=HideIDEOnRunCheckBox.Checked;
// hints
CheckDiskChangesWithLoading:=CheckDiskChangesWithLoadingCheckBox.Checked;
ShowHintsForComponentPalette:=ShowHintsForComponentPaletteCheckBox.Checked;
ShowHintsForMainSpeedButtons:=ShowHintsForMainSpeedButtonsCheckBox.Checked;
// messages view
MsgViewDblClickJumps:=MsgViewDblClickJumpsCheckBox.Checked;
MsgViewFocus:=MsgViewFocusCheckBox.Checked;
// EnvironmentOptionsDialog editor
ShowBorderSpacing:=ShowBorderSpaceCheckBox.Checked;
ShowGrid:=ShowGridCheckBox.Checked;
@ -961,19 +807,7 @@ end;
procedure TEnvironmentOptionsDialog.SetupObjectInspectorPage(Page: integer);
begin
OIOptionsFrame := TOIOptionsFrame.Create(Self);
OIOptionsFrame.Parent := ObjectInspectorPage;
OIOptionsFrame.Anchors := [akLeft, akTop, akRight];
OIOptionsFrame.AnchorSideLeft.Control := ObjectInspectorPage;
OIOptionsFrame.AnchorSideTop.Control := ObjectInspectorPage;
OIOptionsFrame.AnchorSideRight.Side := asrBottom;
OIOptionsFrame.AnchorSideRight.Control := ObjectInspectorPage;
OIOptionsFrame.BorderSpacing.Around := 6;
OIOptionsFrame.Setup;
OIOptionsFrame.Visible := True;
ObjectInspectorPage.Caption := OIOptionsFrame.GetTitle;
SetupFrame(OIOptionsFrame, ObjectInspectorPage);
end;
procedure TEnvironmentOptionsDialog.WindowPositionsListBoxSelectionChange(
@ -1003,28 +837,6 @@ begin
WindowPositionsBox.Caption:=WindowPositionsListBox.Items[Index];
end;
function TEnvironmentOptionsDialog.LangIDToCaption(const LangID: string
): string;
begin
if LangID<>'' then
Result:=GetLazarusLanguageLocalizedName(LangID)+' ['+LangID+']'
else
//No [] if automatic
Result:=GetLazarusLanguageLocalizedName(LangID);
end;
function TEnvironmentOptionsDialog.CaptionToLangID(const ACaption: string
): string;
var
i: Integer;
begin
for i:=0 to LazarusTranslations.Count-1 do begin
Result:=LazarusTranslations[i].ID;
if ACaption=LangIDToCaption(Result) then exit;
end;
Result:='';
end;
function TEnvironmentOptionsDialog.CheckValues: boolean;
begin
Result:=false;
@ -1033,6 +845,22 @@ begin
Result:=true;
end;
procedure TEnvironmentOptionsDialog.LoadEnvironmentSettings(Sender: TObject;
AOptions: TEnvironmentOptions);
begin
if Assigned(OnLoadEnvironmentSettings) then
OnLoadEnvironmentSettings(Self, AOptions);
ReadSettings(AOptions);
end;
procedure TEnvironmentOptionsDialog.SaveEnvironmentSettings(Sender: TObject;
AOptions: TEnvironmentOptions);
begin
WriteSettings(AOptions);
if Assigned(OnSaveEnvironmentSettings) then
OnSaveEnvironmentSettings(Self, AOptions);
end;
initialization
{$I environmentopts_dlg.lrs}

View File

@ -0,0 +1,216 @@
inherited DesktopOptionsFrame: TDesktopOptionsFrame
Height = 382
Width = 597
ClientHeight = 382
ClientWidth = 597
TabOrder = 0
Visible = False
DesignLeft = 44
DesignTop = 58
object LanguageGroupBox: TGroupBox[0]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Height = 51
Width = 597
Anchors = [akTop, akLeft, akRight]
AutoSize = True
Caption = 'LanguageGroupBox'
ClientHeight = 33
ClientWidth = 593
TabOrder = 0
object LanguageComboBox: TComboBox
AnchorSideLeft.Control = LanguageGroupBox
AnchorSideRight.Control = LanguageGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 21
Top = 6
Width = 581
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = -1
Style = csDropDownList
TabOrder = 0
end
end
object AutoSaveGroupBox: TGroupBox[1]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = LanguageGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Height = 112
Top = 57
Width = 597
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'AutoSaveGroupBox'
ClientHeight = 94
ClientWidth = 593
TabOrder = 1
object AutoSaveIntervalInSecsLabel: TLabel
AnchorSideLeft.Control = AutoSaveGroupBox
AnchorSideTop.Control = AutoSaveProjectCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 14
Top = 50
Width = 143
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'AutoSaveIntervalInSecsLabel'
Enabled = False
ParentColor = False
end
object AutoSaveEditorFilesCheckBox: TCheckBox
AnchorSideLeft.Control = AutoSaveGroupBox
AnchorSideTop.Control = AutoSaveGroupBox
Left = 6
Height = 19
Top = 6
Width = 169
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'AutoSaveEditorFilesCheckBox'
Enabled = False
TabOrder = 0
end
object AutoSaveProjectCheckBox: TCheckBox
AnchorSideLeft.Control = AutoSaveGroupBox
AnchorSideTop.Control = AutoSaveEditorFilesCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 25
Width = 154
BorderSpacing.Left = 6
Caption = 'AutoSaveProjectCheckBox'
Enabled = False
TabOrder = 1
end
object AutoSaveIntervalInSecsComboBox: TComboBox
AnchorSideLeft.Control = AutoSaveGroupBox
AnchorSideTop.Control = AutoSaveIntervalInSecsLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = AutoSaveGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 21
Top = 64
Width = 581
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Enabled = False
ItemHeight = 13
Items.Strings = (
'1200'
'600'
'300'
'120'
)
MaxLength = -1
TabOrder = 2
end
end
object DesktopFilesGroupBox: TGroupBox[2]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = AutoSaveGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Height = 97
Top = 175
Width = 597
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'DesktopFilesGroupBox'
ClientHeight = 79
ClientWidth = 593
TabOrder = 2
object SaveDesktopSettingsToFileButton: TButton
AnchorSideLeft.Control = DesktopFilesGroupBox
AnchorSideRight.Control = DesktopFilesGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 23
Top = 8
Width = 581
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'SaveDesktopSettingsToFileButton'
OnClick = SaveDesktopSettingsToFileButtonClick
TabOrder = 0
end
object LoadDesktopSettingsFromFileButton: TButton
AnchorSideLeft.Control = DesktopFilesGroupBox
AnchorSideRight.Control = DesktopFilesGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 23
Top = 43
Width = 581
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'LoadDesktopSettingsFromFileButton'
OnClick = LoadDesktopSettingsFromFileButtonClick
TabOrder = 1
end
end
object CheckDiskChangesWithLoadingCheckBox: TCheckBox[3]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DesktopFilesGroupBox
AnchorSideTop.Side = asrBottom
Height = 19
Top = 278
Width = 222
BorderSpacing.Top = 6
Caption = 'CheckDiskChangesWithLoadingCheckBox'
TabOrder = 3
end
object ShowHintsForComponentPaletteCheckBox: TCheckBox[4]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = CheckDiskChangesWithLoadingCheckBox
AnchorSideTop.Side = asrBottom
Height = 19
Top = 297
Width = 228
Caption = 'ShowHintsForComponentPaletteCheckBox'
TabOrder = 4
end
object ShowHintsForMainSpeedButtonsCheckBox: TCheckBox[5]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ShowHintsForComponentPaletteCheckBox
AnchorSideTop.Side = asrBottom
Height = 19
Top = 316
Width = 228
Caption = 'ShowHintsForMainSpeedButtonsCheckBox'
TabOrder = 5
end
object MsgViewDblClickJumpsCheckBox: TCheckBox[6]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ShowHintsForMainSpeedButtonsCheckBox
AnchorSideTop.Side = asrBottom
Height = 19
Top = 335
Width = 180
Caption = 'MsgViewDblClickJumpsCheckBox'
TabOrder = 6
end
object MsgViewFocusCheckBox: TCheckBox[7]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = MsgViewDblClickJumpsCheckBox
AnchorSideTop.Side = asrBottom
Height = 19
Top = 354
Width = 142
Caption = 'MsgViewFocusCheckBox'
TabOrder = 7
end
end

View File

@ -0,0 +1,84 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TDesktopOptionsFrame','FORMDATA',[
'TPF0'#241#20'TDesktopOptionsFrame'#19'DesktopOptionsFrame'#6'Height'#3'~'#1#5
+'Width'#3'U'#2#12'ClientHeight'#3'~'#1#11'ClientWidth'#3'U'#2#8'TabOrder'#2#0
+#7'Visible'#8#10'DesignLeft'#2','#9'DesignTop'#2':'#0#242#2#0#9'TGroupBox'#16
+'LanguageGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Co'
+'ntrol'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight'
+'.Side'#7#9'asrBottom'#6'Height'#2'3'#5'Width'#3'U'#2#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#8'AutoSize'#9#7'Caption'#6#16'LanguageGroupBox'#12'C'
+'lientHeight'#2'!'#11'ClientWidth'#3'Q'#2#8'TabOrder'#2#0#0#9'TComboBox'#16
+'LanguageComboBox'#22'AnchorSideLeft.Control'#7#16'LanguageGroupBox'#23'Anch'
+'orSideRight.Control'#7#16'LanguageGroupBox'#20'AnchorSideRight.Side'#7#9'as'
+'rBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#6#5'Width'#3'E'#2#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'
+#2#13#9'MaxLength'#2#255#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#0
+#242#2#1#9'TGroupBox'#16'AutoSaveGroupBox'#22'AnchorSideLeft.Control'#7#5'Ow'
+'ner'#21'AnchorSideTop.Control'#7#16'LanguageGroupBox'#18'AnchorSideTop.Side'
+#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Si'
+'de'#7#9'asrBottom'#6'Height'#2'p'#3'Top'#2'9'#5'Width'#3'U'#2#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#7'Caption'#6#16'A'
+'utoSaveGroupBox'#12'ClientHeight'#2'^'#11'ClientWidth'#3'Q'#2#8'TabOrder'#2
+#1#0#6'TLabel'#27'AutoSaveIntervalInSecsLabel'#22'AnchorSideLeft.Control'#7
+#16'AutoSaveGroupBox'#21'AnchorSideTop.Control'#7#23'AutoSaveProjectCheckBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'2'
+#5'Width'#3#143#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Cap'
+'tion'#6#27'AutoSaveIntervalInSecsLabel'#7'Enabled'#8#11'ParentColor'#8#0#0#9
+'TCheckBox'#27'AutoSaveEditorFilesCheckBox'#22'AnchorSideLeft.Control'#7#16
+'AutoSaveGroupBox'#21'AnchorSideTop.Control'#7#16'AutoSaveGroupBox'#4'Left'#2
+#6#6'Height'#2#19#3'Top'#2#6#5'Width'#3#169#0#18'BorderSpacing.Left'#2#6#17
+'BorderSpacing.Top'#2#6#7'Caption'#6#27'AutoSaveEditorFilesCheckBox'#7'Enabl'
+'ed'#8#8'TabOrder'#2#0#0#0#9'TCheckBox'#23'AutoSaveProjectCheckBox'#22'Ancho'
+'rSideLeft.Control'#7#16'AutoSaveGroupBox'#21'AnchorSideTop.Control'#7#27'Au'
+'toSaveEditorFilesCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6
+#6'Height'#2#19#3'Top'#2#25#5'Width'#3#154#0#18'BorderSpacing.Left'#2#6#7'Ca'
+'ption'#6#23'AutoSaveProjectCheckBox'#7'Enabled'#8#8'TabOrder'#2#1#0#0#9'TCo'
+'mboBox'#30'AutoSaveIntervalInSecsComboBox'#22'AnchorSideLeft.Control'#7#16
+'AutoSaveGroupBox'#21'AnchorSideTop.Control'#7#27'AutoSaveIntervalInSecsLabe'
+'l'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#16'A'
+'utoSaveGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heig'
+'ht'#2#21#3'Top'#2'@'#5'Width'#3'E'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR'
+'ight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#6#7'Enabled'#8
+#10'ItemHeight'#2#13#13'Items.Strings'#1#6#4'1200'#6#3'600'#6#3'300'#6#3'120'
+#0#9'MaxLength'#2#255#8'TabOrder'#2#2#0#0#0#242#2#2#9'TGroupBox'#20'DesktopF'
+'ilesGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Contro'
+'l'#7#16'AutoSaveGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSi'
+'deRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#6'Heigh'
+'t'#2'a'#3'Top'#3#175#0#5'Width'#3'U'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'a'
+'kRight'#0#17'BorderSpacing.Top'#2#6#7'Caption'#6#20'DesktopFilesGroupBox'#12
+'ClientHeight'#2'O'#11'ClientWidth'#3'Q'#2#8'TabOrder'#2#2#0#7'TButton'#31'S'
+'aveDesktopSettingsToFileButton'#22'AnchorSideLeft.Control'#7#20'DesktopFile'
+'sGroupBox'#23'AnchorSideRight.Control'#7#20'DesktopFilesGroupBox'#20'Anchor'
+'SideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#23#3'Top'#2#8#5'Widt'
+'h'#3'E'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#20'Bo'
+'rderSpacing.Around'#2#6#7'Caption'#6#31'SaveDesktopSettingsToFileButton'#7
+'OnClick'#7'$SaveDesktopSettingsToFileButtonClick'#8'TabOrder'#2#0#0#0#7'TBu'
+'tton!LoadDesktopSettingsFromFileButton'#22'AnchorSideLeft.Control'#7#20'Des'
+'ktopFilesGroupBox'#23'AnchorSideRight.Control'#7#20'DesktopFilesGroupBox'#20
+'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#23#3'Top'#2'+'
+#5'Width'#3'E'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9
+#20'BorderSpacing.Around'#2#6#7'Caption'#6'!LoadDesktopSettingsFromFileButto'
+'n'#7'OnClick'#7'&LoadDesktopSettingsFromFileButtonClick'#8'TabOrder'#2#1#0#0
+#0#242#2#3#9'TCheckBox#CheckDiskChangesWithLoadingCheckBox'#22'AnchorSideLef'
+'t.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#20'DesktopFilesGroupBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#6'Height'#2#19#3'Top'#3#22#1#5'Width'
+#3#222#0#17'BorderSpacing.Top'#2#6#7'Caption'#6'#CheckDiskChangesWithLoading'
+'CheckBox'#8'TabOrder'#2#3#0#0#242#2#4#9'TCheckBox$ShowHintsForComponentPale'
,'tteCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'
+#7'#CheckDiskChangesWithLoadingCheckBox'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'m'#6'Height'#2#19#3'Top'#3')'#1#5'Width'#3#228#0#7'Caption'#6'$ShowHintsFor'
+'ComponentPaletteCheckBox'#8'TabOrder'#2#4#0#0#242#2#5#9'TCheckBox$ShowHints'
+'ForMainSpeedButtonsCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Ancho'
+'rSideTop.Control'#7'$ShowHintsForComponentPaletteCheckBox'#18'AnchorSideTop'
+'.Side'#7#9'asrBottom'#6'Height'#2#19#3'Top'#3'<'#1#5'Width'#3#228#0#7'Capti'
+'on'#6'$ShowHintsForMainSpeedButtonsCheckBox'#8'TabOrder'#2#5#0#0#242#2#6#9
+'TCheckBox'#28'MsgViewDblClickJumpsCheckBox'#22'AnchorSideLeft.Control'#7#5
+'Owner'#21'AnchorSideTop.Control'#7'$ShowHintsForMainSpeedButtonsCheckBox'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#6'Height'#2#19#3'Top'#3'O'#1#5'Width'#3
+#180#0#7'Caption'#6#28'MsgViewDblClickJumpsCheckBox'#8'TabOrder'#2#6#0#0#242
+#2#7#9'TCheckBox'#20'MsgViewFocusCheckBox'#22'AnchorSideLeft.Control'#7#5'Ow'
+'ner'#21'AnchorSideTop.Control'#7#28'MsgViewDblClickJumpsCheckBox'#18'Anchor'
+'SideTop.Side'#7#9'asrBottom'#6'Height'#2#19#3'Top'#3'b'#1#5'Width'#3#142#0#7
+'Caption'#6#20'MsgViewFocusCheckBox'#8'TabOrder'#2#7#0#0#0
]);

View File

@ -0,0 +1,289 @@
{
***************************************************************************
* *
* This source is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This code is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* A copy of the GNU General Public License is available on the World *
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
* obtain it by writing to the Free Software Foundation, *
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
***************************************************************************
}
unit options_desktop;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, StdCtrls, Dialogs, LCLProc,
EnvironmentOpts, LazarusIDEStrConsts, IDETranslations, InputHistory;
type
{ TDesktopOptionsFrame }
TDesktopOptionsFrame = class(TAbstractOptionsFrame)
AutoSaveEditorFilesCheckBox: TCheckBox;
AutoSaveGroupBox: TGroupBox;
AutoSaveIntervalInSecsComboBox: TComboBox;
AutoSaveIntervalInSecsLabel: TLabel;
AutoSaveProjectCheckBox: TCheckBox;
CheckDiskChangesWithLoadingCheckBox: TCheckBox;
DesktopFilesGroupBox: TGroupBox;
LanguageComboBox: TComboBox;
LanguageGroupBox: TGroupBox;
LoadDesktopSettingsFromFileButton: TButton;
MsgViewDblClickJumpsCheckBox: TCheckBox;
MsgViewFocusCheckBox: TCheckBox;
SaveDesktopSettingsToFileButton: TButton;
ShowHintsForComponentPaletteCheckBox: TCheckBox;
ShowHintsForMainSpeedButtonsCheckBox: TCheckBox;
procedure SaveDesktopSettingsToFileButtonClick(Sender: TObject);
procedure LoadDesktopSettingsFromFileButtonClick(Sender: TObject);
private
function LangIDToCaption(const LangID: string): string;
function CaptionToLangID(const ACaption: string): string;
procedure DoLoadSettings(AOptions: TEnvironmentOptions);
procedure DoSaveSettings(AOptions: TEnvironmentOptions);
public
function Check: Boolean; override;
function GetTitle: String; override;
procedure Setup; override;
procedure ReadSettings(AOptions: TEnvironmentOptions); override;
procedure WriteSettings(AOptions: TEnvironmentOptions); override;
end;
implementation
{ TDesktopOptionsFrame }
function TDesktopOptionsFrame.Check: Boolean;
begin
Result := True;
end;
function TDesktopOptionsFrame.GetTitle: String;
begin
Result := dlgDesktop;
end;
procedure TDesktopOptionsFrame.Setup;
var
i: Integer;
LangID: String;
sl: TStringList;
begin
// language
LanguageGroupBox.Caption:=dlgEnvLanguage;
// languages: first the automatic, then sorted the rest
sl:=TStringList.Create;
for i:=0 to LazarusTranslations.Count-1 do
begin
LangID:=LazarusTranslations[i].ID;
if LangID<>'' then
sl.Add(LangIDToCaption(LangID));
end;
sl.Sort;
sl.Insert(0,GetLazarusLanguageLocalizedName(''));
LanguageComboBox.Items.Assign(sl);
sl.Free;
// auto save
AutoSaveGroupBox.Caption:=dlgAutoSave;
AutoSaveEditorFilesCheckBox.Caption:=dlgEdFiles;
AutoSaveProjectCheckBox.Caption:=dlgEnvProject;
AutoSaveIntervalInSecsLabel.Caption:=dlgIntvInSec;
// desktop files
DesktopFilesGroupBox.Caption:=dlgDesktopFiles;
SaveDesktopSettingsToFileButton.Caption:=dlgSaveDFile;
LoadDesktopSettingsFromFileButton.Caption:=dlgLoadDFile;
// hints
CheckDiskChangesWithLoadingCheckBox.Caption:=lisCheckChangesOnDiskWithLoading;
ShowHintsForComponentPaletteCheckBox.Caption:=dlgPalHints;
ShowHintsForMainSpeedButtonsCheckBox.Caption:=dlgSpBHints;
// messages view
MsgViewDblClickJumpsCheckBox.Caption:=lisEnvDoubleClickOnMessagesJumpsOtherwiseSingleClick;
MsgViewFocusCheckBox.Caption:=dlgEOFocusMessagesAfterCompilation;
end;
procedure TDesktopOptionsFrame.ReadSettings(AOptions: TEnvironmentOptions);
begin
with AOptions do
begin
// language
LanguageComboBox.Text:=LangIDToCaption(LanguageID);
//debugln('TEnvironmentOptionsDialog.ReadSettings LanguageComboBox.ItemIndex=',dbgs(LanguageComboBox.ItemIndex),' LanguageID="',LanguageID,'" LanguageComboBox.Text="',LanguageComboBox.Text,'"');
// auto save
AutoSaveEditorFilesCheckBox.Checked:=AutoSaveEditorFiles;
AutoSaveProjectCheckBox.Checked:=AutoSaveProject;
SetComboBoxText(AutoSaveIntervalInSecsComboBox
,IntToStr(AutoSaveIntervalInSecs));
// hints
CheckDiskChangesWithLoadingCheckBox.Checked:=
CheckDiskChangesWithLoading;
ShowHintsForComponentPaletteCheckBox.Checked:=
ShowHintsForComponentPalette;
ShowHintsForMainSpeedButtonsCheckBox.Checked:=
ShowHintsForMainSpeedButtons;
// messages view
MsgViewDblClickJumpsCheckBox.Checked:=MsgViewDblClickJumps;
MsgViewFocusCheckBox.Checked:=MsgViewFocus;
end;
end;
procedure TDesktopOptionsFrame.WriteSettings(AOptions: TEnvironmentOptions);
begin
with AOptions do
begin
// language
LanguageID:=CaptionToLangID(LanguageComboBox.Text);
//debugln('TEnvironmentOptionsDialog.WriteSettings A LanguageID="',LanguageID,'" LanguageComboBox.ItemIndex=',dbgs(LanguageComboBox.ItemIndex),' LanguageComboBox.Text=',LanguageComboBox.Text);
// auto save
AutoSaveEditorFiles:=AutoSaveEditorFilesCheckBox.Checked;
AutoSaveProject:=AutoSaveProjectCheckBox.Checked;
AutoSaveIntervalInSecs:=StrToIntDef(
AutoSaveIntervalInSecsComboBox.Text,AutoSaveIntervalInSecs);
// hints
CheckDiskChangesWithLoading:=CheckDiskChangesWithLoadingCheckBox.Checked;
ShowHintsForComponentPalette:=ShowHintsForComponentPaletteCheckBox.Checked;
ShowHintsForMainSpeedButtons:=ShowHintsForMainSpeedButtonsCheckBox.Checked;
// messages view
MsgViewDblClickJumps:=MsgViewDblClickJumpsCheckBox.Checked;
MsgViewFocus:=MsgViewFocusCheckBox.Checked;
end;
end;
procedure TDesktopOptionsFrame.SaveDesktopSettingsToFileButtonClick(Sender: TObject);
var
AnEnvironmentOptions: TEnvironmentOptions;
SaveDialog: TSaveDialog;
begin
//debugln('TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick A');
SaveDialog := TSaveDialog.Create(nil);
try
try
InputHistories.ApplyFileDialogSettings(SaveDialog);
SaveDialog.Filter:=lisLazarusDesktopSettings+' (*.lds)|*.lds'
+'|'+lisXMLFiles+' (*.xml)|*.xml'
+'|'+dlgAllFiles+' ('+GetAllFilesMask+')|' + GetAllFilesMask;
if SaveDialog.Execute then
begin
AnEnvironmentOptions := TEnvironmentOptions.Create;
try
AnEnvironmentOptions.Filename := SaveDialog.Filename;
DoSaveSettings(AnEnvironmentOptions);
AnEnvironmentOptions.Save(true);
finally
AnEnvironmentOptions.Free;
end;
end;
InputHistories.StoreFileDialogSettings(SaveDialog);
except
on E: Exception do
begin
DebugLn('ERROR: [TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick] ', E.Message);
end;
end;
finally
SaveDialog.Free;
end;
end;
procedure TDesktopOptionsFrame.LoadDesktopSettingsFromFileButtonClick(
Sender: TObject);
var
AnEnvironmentOptions: TEnvironmentOptions;
OpenDialog: TOpenDialog;
begin
//debugln('TEnvironmentOptionsDialog.LoadDesktopSettingsFromFileButtonClick A');
OpenDialog := TOpenDialog.Create(nil);
try
try
InputHistories.ApplyFileDialogSettings(OpenDialog);
OpenDialog.Filter:=lisLazarusDesktopSettings+' (*.lds)|*.lds'
+'|'+lisXMLFiles+' (*.xml)|*.xml'
+'|'+dlgAllFiles+' ('+GetAllFilesMask+')|' + GetAllFilesMask;
if OpenDialog.Execute then
begin
AnEnvironmentOptions := TEnvironmentOptions.Create;
try
AnEnvironmentOptions.Filename := OpenDialog.Filename;
AnEnvironmentOptions.Load(true);
DoLoadSettings(AnEnvironmentOptions);
finally
AnEnvironmentOptions.Free;
end;
end;
InputHistories.StoreFileDialogSettings(OpenDialog);
except
on E: Exception do
begin
// ToDo
DebugLn('ERROR: [TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick] ', E.Message);
end;
end;
finally
OpenDialog.Free;
end;
end;
function TDesktopOptionsFrame.LangIDToCaption(const LangID: string): string;
begin
if LangID <> '' then
Result := GetLazarusLanguageLocalizedName(LangID)+' ['+LangID+']'
else
//No [] if automatic
Result := GetLazarusLanguageLocalizedName(LangID);
end;
function TDesktopOptionsFrame.CaptionToLangID(const ACaption: string): string;
var
i: Integer;
begin
for i := 0 to LazarusTranslations.Count-1 do
begin
Result := LazarusTranslations[i].ID;
if ACaption = LangIDToCaption(Result) then
Exit;
end;
Result := '';
end;
procedure TDesktopOptionsFrame.DoLoadSettings(AOptions: TEnvironmentOptions);
begin
if Assigned(OnLoadEnvironmentSettings) then
OnLoadEnvironmentSettings(Self, AOptions);
end;
procedure TDesktopOptionsFrame.DoSaveSettings(AOptions: TEnvironmentOptions);
begin
if Assigned(OnSaveEnvironmentSettings) then
OnSaveEnvironmentSettings(Self, AOptions);
end;
initialization
{$I options_desktop.lrs}
end.

View File

@ -1,3 +1,23 @@
{
***************************************************************************
* *
* This source is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This code is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* A copy of the GNU General Public License is available on the World *
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
* obtain it by writing to the Free Software Foundation, *
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
***************************************************************************
}
unit options_files;
{$mode objfpc}{$H+}
@ -12,7 +32,7 @@ type
{ TFilesOptionsFrame }
TFilesOptionsFrame = class(TFrame)
TFilesOptionsFrame = class(TAbstractOptionsFrame)
CompilerPathButton: TButton;
CompilerPathComboBox: TComboBox;
CompilerPathGroupBox: TGroupBox;
@ -46,11 +66,11 @@ type
function IsFPCSourceDir: boolean;
function CheckTestDir: boolean;
public
function Check: Boolean;
function GetTitle: String;
procedure Setup;
procedure ReadSettings(AOptions: TEnvironmentOptions);
procedure WriteSettings(AOptions: TEnvironmentOptions);
function Check: Boolean; override;
function GetTitle: String; override;
procedure Setup; override;
procedure ReadSettings(AOptions: TEnvironmentOptions); override;
procedure WriteSettings(AOptions: TEnvironmentOptions); override;
end;
implementation

View File

@ -32,7 +32,7 @@ type
{ TOIOptionsFrame }
TOIOptionsFrame = class(TFrame)
TOIOptionsFrame = class(TAbstractOptionsFrame)
ObjectInspectorColorsGroupBox: TGroupBox;
OIAutoShowCheckBox: TCheckBox;
OIBackgroundColorButton: TColorButton;
@ -55,11 +55,11 @@ type
OIValueColorLabel: TLabel;
private
public
function Check: Boolean;
function GetTitle: String;
procedure Setup;
procedure ReadSettings(AOptions: TEnvironmentOptions);
procedure WriteSettings(AOptions: TEnvironmentOptions);
function Check: Boolean; override;
function GetTitle: String; override;
procedure Setup; override;
procedure ReadSettings(AOptions: TEnvironmentOptions); override;
procedure WriteSettings(AOptions: TEnvironmentOptions); override;
end;
implementation

View File

@ -41,7 +41,7 @@
<PackageName Value="SynEdit"/>
</Item4>
</RequiredPackages>
<Units Count="4">
<Units Count="5">
<Unit0>
<Filename Value="lazarus.pp"/>
<IsPartOfProject Value="True"/>
@ -69,6 +69,14 @@
<ResourceFilename Value="frames\options_files.lrs"/>
<UnitName Value="options_files"/>
</Unit3>
<Unit4>
<Filename Value="frames\options_desktop.pas"/>
<ComponentName Value="DesktopOptionsFrame"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Frame"/>
<ResourceFilename Value="frames\options_desktop.lrs"/>
<UnitName Value="options_desktop"/>
</Unit4>
</Units>
</ProjectOptions>
<CompilerOptions>