From 0c5d26efb72fd985f519feb79ef191240324abcc Mon Sep 17 00:00:00 2001 From: paul Date: Sun, 19 Oct 2008 05:18:52 +0000 Subject: [PATCH] ide: - add base environment options frame class to derive from - extract options_desktop as frame from environment options dialog git-svn-id: trunk@17050 - --- .gitattributes | 3 + ide/environmentopts.pp | 24 ++ ide/environmentopts_dlg.lfm | 230 +------------- ide/environmentopts_dlg.lrs | 544 ++++++++++++++------------------- ide/environmentopts_dlg.pas | 304 ++++-------------- ide/frames/options_desktop.lfm | 216 +++++++++++++ ide/frames/options_desktop.lrs | 84 +++++ ide/frames/options_desktop.pas | 289 ++++++++++++++++++ ide/frames/options_files.pas | 32 +- ide/frames/options_oi.pas | 12 +- ide/lazarus.lpi | 10 +- 11 files changed, 956 insertions(+), 792 deletions(-) create mode 100644 ide/frames/options_desktop.lfm create mode 100644 ide/frames/options_desktop.lrs create mode 100644 ide/frames/options_desktop.pas diff --git a/.gitattributes b/.gitattributes index b8174428ea..8a12cb2d64 100644 --- a/.gitattributes +++ b/.gitattributes @@ -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 diff --git a/ide/environmentopts.pp b/ide/environmentopts.pp index fbe82784f5..ff3391399c 100644 --- a/ide/environmentopts.pp +++ b/ide/environmentopts.pp @@ -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; diff --git a/ide/environmentopts_dlg.lfm b/ide/environmentopts_dlg.lfm index 765b9ef0fe..efc366e640 100644 --- a/ide/environmentopts_dlg.lfm +++ b/ide/environmentopts_dlg.lfm @@ -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 diff --git a/ide/environmentopts_dlg.lrs b/ide/environmentopts_dlg.lrs index 7e55578dc6..073172a2c5 100644 --- a/ide/environmentopts_dlg.lrs +++ b/ide/environmentopts_dlg.lrs @@ -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 ]); diff --git a/ide/environmentopts_dlg.pas b/ide/environmentopts_dlg.pas index cf8af32abc..cbed27434c 100644 --- a/ide/environmentopts_dlg.pas +++ b/ide/environmentopts_dlg.pas @@ -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} diff --git a/ide/frames/options_desktop.lfm b/ide/frames/options_desktop.lfm new file mode 100644 index 0000000000..f6a0c2671e --- /dev/null +++ b/ide/frames/options_desktop.lfm @@ -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 diff --git a/ide/frames/options_desktop.lrs b/ide/frames/options_desktop.lrs new file mode 100644 index 0000000000..30817e7345 --- /dev/null +++ b/ide/frames/options_desktop.lrs @@ -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 +]); diff --git a/ide/frames/options_desktop.pas b/ide/frames/options_desktop.pas new file mode 100644 index 0000000000..aea49fbbf3 --- /dev/null +++ b/ide/frames/options_desktop.pas @@ -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 . 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. + diff --git a/ide/frames/options_files.pas b/ide/frames/options_files.pas index 3b7b971277..40d7d54da8 100644 --- a/ide/frames/options_files.pas +++ b/ide/frames/options_files.pas @@ -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 . 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 diff --git a/ide/frames/options_oi.pas b/ide/frames/options_oi.pas index a0a151ecf6..72f943307d 100644 --- a/ide/frames/options_oi.pas +++ b/ide/frames/options_oi.pas @@ -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 diff --git a/ide/lazarus.lpi b/ide/lazarus.lpi index 8f3d3c3a0c..5215fb45a0 100644 --- a/ide/lazarus.lpi +++ b/ide/lazarus.lpi @@ -41,7 +41,7 @@ - + @@ -69,6 +69,14 @@ + + + + + + + +