diff --git a/.gitattributes b/.gitattributes index bd71e1b5b3..bdccdf1708 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_backup.lfm svneol=native#text/plain +ide/frames/options_backup.lrs svneol=native#text/pascal +ide/frames/options_backup.pas svneol=native#text/pascal 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 @@ -2397,6 +2400,12 @@ ide/frames/options_files.pas svneol=native#text/pascal ide/frames/options_formed.lfm svneol=native#text/plain ide/frames/options_formed.lrs svneol=native#text/pascal ide/frames/options_formed.pas svneol=native#text/pascal +ide/frames/options_fpdoc.lfm svneol=native#text/plain +ide/frames/options_fpdoc.lrs svneol=native#text/pascal +ide/frames/options_fpdoc.pas svneol=native#text/pascal +ide/frames/options_naming.lfm svneol=native#text/plain +ide/frames/options_naming.lrs svneol=native#text/pascal +ide/frames/options_naming.pas svneol=native#text/pascal ide/frames/options_oi.lfm svneol=native#text/plain ide/frames/options_oi.lrs svneol=native#text/pascal ide/frames/options_oi.pas svneol=native#text/pascal diff --git a/ide/environmentopts.pp b/ide/environmentopts.pp index ff3391399c..ddba4e68b4 100644 --- a/ide/environmentopts.pp +++ b/ide/environmentopts.pp @@ -485,6 +485,8 @@ const DefaultLazDocPath = '$(LazarusDir)/docs/xml/lcl'; DefaultMsgViewFocus = {$IFDEF Windows}true{$ELSE}false{$ENDIF}; MaxComboBoxCount: integer = 20; + EnvOptsConfFileName = 'environmentoptions.xml'; + BakMaxCounterInfiniteTxt = 'infinite'; implementation @@ -613,10 +615,6 @@ end; { TEnvironmentOptions } -const - EnvOptsConfFileName='environmentoptions.xml'; - BakMaxCounterInfiniteTxt = 'infinite'; - constructor TEnvironmentOptions.Create; begin inherited Create; diff --git a/ide/environmentopts_dlg.lfm b/ide/environmentopts_dlg.lfm index ebbd0efec9..0964bbd527 100644 --- a/ide/environmentopts_dlg.lfm +++ b/ide/environmentopts_dlg.lfm @@ -21,7 +21,6 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog Align = alTop Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Bottom = 6 - OnChangeBounds = NotebookChangeBounds PageIndex = 0 TabOrder = 0 object FilesPage: TPage @@ -41,441 +40,12 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog end object BackupPage: TPage Caption = 'BackupPage' - ClientWidth = 534 - ClientHeight = 463 - object BackupHelpLabel: TLabel - AnchorSideRight.Control = BackupPage - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 14 - Top = 7 - Width = 522 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Right = 6 - Caption = 'BackupHelpLabel' - ParentColor = False - end - object BackupProjectGroupBox: TGroupBox - AnchorSideRight.Control = BackupPage - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 141 - Top = 34 - Width = 522 - Anchors = [akTop, akLeft, akRight] - AutoSize = True - BorderSpacing.Right = 6 - Caption = 'BackupProjectGroupBox' - ClientHeight = 141 - ClientWidth = 522 - TabOrder = 0 - object BakProjAddExtLabel: TLabel - AnchorSideLeft.Control = BakProjAddExtComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BakProjAddExtComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = BackupProjectGroupBox - AnchorSideRight.Side = asrBottom - Left = 112 - Height = 14 - Top = 45 - Width = 400 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Around = 6 - Caption = 'BakProjAddExtLabel' - ParentColor = False - end - object BakProjMaxCounterLabel: TLabel - AnchorSideLeft.Control = BakProjMaxCounterComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BakProjMaxCounterComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = BackupProjectGroupBox - AnchorSideRight.Side = asrBottom - Left = 112 - Height = 14 - Top = 72 - Width = 400 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Around = 6 - Caption = 'BakProjMaxCounterLabel' - ParentColor = False - end - object BakProjSubDirLabel: TLabel - AnchorSideLeft.Control = BakProjSubDirComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BakProjSubDirComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = BackupProjectGroupBox - AnchorSideRight.Side = asrBottom - Left = 112 - Height = 14 - Top = 99 - Width = 400 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Around = 6 - Caption = 'BakProjSubDirLabel' - ParentColor = False - end - object BakProjTypeRadioGroup: TRadioGroup - AnchorSideRight.Control = BackupProjectGroupBox - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 30 - Top = 6 - Width = 506 - Anchors = [akTop, akLeft, akRight] - AutoFill = True - AutoSize = True - BorderSpacing.Around = 6 - Caption = 'BakProjTypeRadioGroup' - ChildSizing.LeftRightSpacing = 6 - ChildSizing.TopBottomSpacing = 6 - ChildSizing.EnlargeHorizontal = crsHomogenousChildResize - ChildSizing.EnlargeVertical = crsHomogenousChildResize - ChildSizing.ShrinkHorizontal = crsScaleChilds - ChildSizing.ShrinkVertical = crsScaleChilds - ChildSizing.Layout = cclLeftToRightThenTopToBottom - ChildSizing.ControlsPerLine = 2 - Columns = 2 - Constraints.MinHeight = 30 - OnClick = BakTypeRadioGroupClick - TabOrder = 0 - end - object BakProjAddExtComboBox: TComboBox - AnchorSideTop.Control = BakProjTypeRadioGroup - AnchorSideTop.Side = asrBottom - Left = 6 - Height = 21 - Top = 42 - Width = 100 - AutoSelect = True - BorderSpacing.Around = 6 - ItemHeight = 13 - MaxLength = -1 - TabOrder = 1 - Text = 'BakProjAddExtComboBox' - end - object BakProjMaxCounterComboBox: TComboBox - AnchorSideTop.Control = BakProjAddExtComboBox - AnchorSideTop.Side = asrBottom - Left = 6 - Height = 21 - Top = 69 - Width = 100 - AutoSelect = True - BorderSpacing.Around = 6 - ItemHeight = 13 - MaxLength = -1 - TabOrder = 2 - Text = 'BakProjMaxCounterComboBox' - end - object BakProjSubDirComboBox: TComboBox - AnchorSideTop.Control = BakProjMaxCounterComboBox - AnchorSideTop.Side = asrBottom - Left = 6 - Height = 21 - Top = 96 - Width = 100 - AutoSelect = True - BorderSpacing.Around = 6 - ItemHeight = 13 - MaxLength = -1 - TabOrder = 3 - Text = 'BakProjSubDirComboBox' - end - end - object BackupOtherGroupBox: TGroupBox - AnchorSideTop.Control = BackupProjectGroupBox - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = BackupPage - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 141 - Top = 181 - Width = 522 - Anchors = [akTop, akLeft, akRight] - AutoSize = True - BorderSpacing.Around = 6 - Caption = 'BackupOtherGroupBox' - ClientHeight = 141 - ClientWidth = 522 - TabOrder = 1 - object BakOtherAddExtLabel: TLabel - AnchorSideLeft.Control = BakOtherAddExtComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BakOtherAddExtComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = BackupOtherGroupBox - AnchorSideRight.Side = asrBottom - Left = 112 - Height = 14 - Top = 45 - Width = 400 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Around = 6 - Caption = 'BakOtherAddExtLabel' - ParentColor = False - end - object BakOtherMaxCounterLabel: TLabel - AnchorSideLeft.Control = BakOtherMaxCounterComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BakOtherMaxCounterComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = BackupOtherGroupBox - AnchorSideRight.Side = asrBottom - Left = 112 - Height = 14 - Top = 72 - Width = 400 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Around = 6 - Caption = 'BakOtherMaxCounterLabel' - ParentColor = False - end - object BakOtherSubDirLabel: TLabel - AnchorSideLeft.Control = BakOtherSubDirComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BakOtherSubDirComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = BackupOtherGroupBox - AnchorSideRight.Side = asrBottom - Left = 112 - Height = 14 - Top = 99 - Width = 400 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Around = 6 - Caption = 'BakOtherSubDirLabel' - ParentColor = False - end - object BakOtherTypeRadioGroup: TRadioGroup - AnchorSideRight.Control = BackupOtherGroupBox - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 30 - Top = 6 - Width = 506 - Anchors = [akTop, akLeft, akRight] - AutoFill = True - AutoSize = True - BorderSpacing.Around = 6 - Caption = 'BakOtherTypeRadioGroup' - ChildSizing.LeftRightSpacing = 6 - ChildSizing.TopBottomSpacing = 6 - ChildSizing.EnlargeHorizontal = crsHomogenousChildResize - ChildSizing.EnlargeVertical = crsHomogenousChildResize - ChildSizing.ShrinkHorizontal = crsScaleChilds - ChildSizing.ShrinkVertical = crsScaleChilds - ChildSizing.Layout = cclLeftToRightThenTopToBottom - ChildSizing.ControlsPerLine = 2 - Columns = 2 - Constraints.MinHeight = 30 - OnClick = BakTypeRadioGroupClick - TabOrder = 0 - end - object BakOtherAddExtComboBox: TComboBox - AnchorSideTop.Control = BakOtherTypeRadioGroup - AnchorSideTop.Side = asrBottom - Left = 6 - Height = 21 - Top = 42 - Width = 100 - BorderSpacing.Around = 6 - ItemHeight = 13 - MaxLength = -1 - TabOrder = 1 - Text = 'BakOtherAddExtComboBox' - end - object BakOtherMaxCounterComboBox: TComboBox - AnchorSideTop.Control = BakOtherAddExtComboBox - AnchorSideTop.Side = asrBottom - Left = 6 - Height = 21 - Top = 69 - Width = 100 - BorderSpacing.Around = 6 - ItemHeight = 13 - MaxLength = -1 - TabOrder = 2 - Text = 'BakOtherMaxCounterComboBox' - end - object BakOtherSubDirComboBox: TComboBox - AnchorSideTop.Control = BakOtherMaxCounterComboBox - AnchorSideTop.Side = asrBottom - Left = 6 - Height = 21 - Top = 96 - Width = 100 - BorderSpacing.Around = 6 - ItemHeight = 13 - MaxLength = -1 - TabOrder = 3 - Text = 'BakOtherSubDirComboBox' - end - end end object NamingPage: TPage Caption = 'NamingPage' - ClientWidth = 538 - ClientHeight = 450 - object PascalFileExtRadiogroup: TRadioGroup - AnchorSideRight.Control = NamingPage - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 47 - Top = 6 - Width = 526 - Align = alTop - AutoFill = True - BorderSpacing.Around = 6 - Caption = 'PascalFileExtRadiogroup' - ChildSizing.LeftRightSpacing = 6 - ChildSizing.TopBottomSpacing = 6 - ChildSizing.EnlargeHorizontal = crsHomogenousChildResize - ChildSizing.EnlargeVertical = crsHomogenousChildResize - ChildSizing.ShrinkHorizontal = crsScaleChilds - ChildSizing.ShrinkVertical = crsScaleChilds - ChildSizing.Layout = cclLeftToRightThenTopToBottom - ChildSizing.ControlsPerLine = 2 - Columns = 2 - TabOrder = 0 - end - object CharcaseFileActionRadioGroup: TRadioGroup - AnchorSideRight.Control = NamingPage - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 85 - Top = 165 - Width = 526 - Align = alTop - AutoFill = True - BorderSpacing.Around = 6 - Caption = 'CharcaseFileActionRadioGroup' - ChildSizing.LeftRightSpacing = 6 - ChildSizing.TopBottomSpacing = 6 - ChildSizing.EnlargeHorizontal = crsHomogenousChildResize - ChildSizing.EnlargeVertical = crsHomogenousChildResize - ChildSizing.ShrinkHorizontal = crsScaleChilds - ChildSizing.ShrinkVertical = crsScaleChilds - ChildSizing.Layout = cclLeftToRightThenTopToBottom - ChildSizing.ControlsPerLine = 2 - Columns = 2 - TabOrder = 1 - end - object AmbiguousFileActionRadioGroup: TRadioGroup - AnchorSideRight.Control = NamingPage - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 100 - Top = 59 - Width = 526 - Align = alTop - AutoFill = True - BorderSpacing.Around = 6 - Caption = 'AmbiguousFileActionRadioGroup' - ChildSizing.LeftRightSpacing = 6 - ChildSizing.TopBottomSpacing = 6 - ChildSizing.EnlargeHorizontal = crsHomogenousChildResize - ChildSizing.EnlargeVertical = crsHomogenousChildResize - ChildSizing.ShrinkHorizontal = crsScaleChilds - ChildSizing.ShrinkVertical = crsScaleChilds - ChildSizing.Layout = cclLeftToRightThenTopToBottom - ChildSizing.ControlsPerLine = 2 - Columns = 2 - TabOrder = 2 - end end object LazDocPage: TPage Caption = 'LazDocPage' - ClientWidth = 538 - ClientHeight = 450 - object LazDocPathsGroupBox: TGroupBox - AnchorSideRight.Control = LazDocPage - AnchorSideRight.Side = asrBottom - Left = 6 - Height = 205 - Top = 6 - Width = 526 - Align = alTop - AutoSize = True - BorderSpacing.Around = 6 - Caption = 'LazDocPathsGroupBox' - ClientHeight = 205 - ClientWidth = 526 - TabOrder = 0 - object LazDocListBox: TListBox - Left = 6 - Height = 108 - Top = 6 - Width = 510 - Align = alTop - BorderSpacing.Around = 6 - TabOrder = 0 - TopIndex = -1 - end - object LazDocAddPathButton: TButton - AnchorSideLeft.Control = LazDocPathsGroupBox - AnchorSideTop.Control = LazDocListBox - AnchorSideTop.Side = asrBottom - Left = 6 - Height = 31 - Top = 120 - Width = 163 - AutoSize = True - BorderSpacing.Around = 6 - Caption = 'LazDocAddPathButton' - OnClick = LazDocAddPathButtonClick - TabOrder = 1 - end - object LazDocDeletePathButton: TButton - AnchorSideLeft.Control = LazDocAddPathButton - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = LazDocAddPathButton - Left = 179 - Height = 31 - Top = 120 - Width = 180 - AutoSize = True - BorderSpacing.Left = 10 - Caption = 'LazDocDeletePathButton' - OnClick = LazDocDeletePathButtonClick - TabOrder = 2 - end - object LazDocBrowseButton: TButton - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = LazDocPathEdit - AnchorSideRight.Control = LazDocPathsGroupBox - AnchorSideRight.Side = asrBottom - AnchorSideBottom.Control = LazDocPathEdit - AnchorSideBottom.Side = asrBottom - Left = 492 - Height = 23 - Top = 157 - Width = 24 - Anchors = [akTop, akRight, akBottom] - BorderSpacing.Right = 6 - Caption = '...' - OnClick = LazDocBrowseButtonClick - TabOrder = 3 - end - object LazDocPathEdit: TEdit - AnchorSideLeft.Control = LazDocPathsGroupBox - AnchorSideTop.Control = LazDocAddPathButton - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = LazDocBrowseButton - Left = 6 - Height = 23 - Top = 157 - Width = 486 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 6 - BorderSpacing.Top = 6 - BorderSpacing.Bottom = 6 - TabOrder = 4 - Text = 'LazDocPathEdit' - end - end end end object ButtonPanel: TButtonPanel @@ -488,9 +58,4 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog TabOrder = 1 ShowButtons = [pbOK, pbCancel, pbHelp] end - object SelectDirectoryDialog: TSelectDirectoryDialog - FilterIndex = 0 - left = 488 - top = 8 - end end diff --git a/ide/environmentopts_dlg.lrs b/ide/environmentopts_dlg.lrs index d119016b1f..17a8d91460 100644 --- a/ide/environmentopts_dlg.lrs +++ b/ide/environmentopts_dlg.lrs @@ -10,181 +10,14 @@ LazarusResources.Add('TEnvironmentOptionsDialog','FORMDATA',[ +'ol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.' +'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'#0#0#5'TPage'#11'Windows' - +'Page'#7'Caption'#6#11'WindowsPage'#0#0#5'TPage'#14'FormEditorPage'#7'Captio' - +'n'#6#14'FormEditorPage'#0#0#5'TPage'#19'ObjectInspectorPage'#7'Caption'#6#19 - +'ObjectInspectorPage'#0#0#5'TPage'#10'BackupPage'#7'Caption'#6#10'BackupPage' - +#11'ClientWidth'#3#22#2#12'ClientHeight'#3#207#1#0#6'TLabel'#15'BackupHelpLa' - +'bel'#23'AnchorSideRight.Control'#7#10'BackupPage'#20'AnchorSideRight.Side'#7 - +#9'asrBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#7#5'Width'#3#10#2#7'Anchor' - +'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpacing.Right'#2#6#7'Caption' - +#6#15'BackupHelpLabel'#11'ParentColor'#8#0#0#9'TGroupBox'#21'BackupProjectGr' - +'oupBox'#23'AnchorSideRight.Control'#7#10'BackupPage'#20'AnchorSideRight.Sid' - +'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3#141#0#3'Top'#2'"'#5'Width'#3#10#2 - +#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#19'BorderSpacin' - +'g.Right'#2#6#7'Caption'#6#21'BackupProjectGroupBox'#12'ClientHeight'#3#141#0 - +#11'ClientWidth'#3#10#2#8'TabOrder'#2#0#0#6'TLabel'#18'BakProjAddExtLabel'#22 - +'AnchorSideLeft.Control'#7#21'BakProjAddExtComboBox'#19'AnchorSideLeft.Side' - +#7#9'asrBottom'#21'AnchorSideTop.Control'#7#21'BakProjAddExtComboBox'#18'Anc' - +'horSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#21'BackupProj' - +'ectGroupBox'#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'akLeft'#7'akRigh' - +'t'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'BakProjAddExtLabel'#11'Pa' - +'rentColor'#8#0#0#6'TLabel'#22'BakProjMaxCounterLabel'#22'AnchorSideLeft.Con' - +'trol'#7#25'BakProjMaxCounterComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom' - +#21'AnchorSideTop.Control'#7#25'BakProjMaxCounterComboBox'#18'AnchorSideTop.' - +'Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#21'BackupProjectGroupBox' - +#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'Border' - +'Spacing.Around'#2#6#7'Caption'#6#22'BakProjMaxCounterLabel'#11'ParentColor' - +#8#0#0#6'TLabel'#18'BakProjSubDirLabel'#22'AnchorSideLeft.Control'#7#21'BakP' - +'rojSubDirComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.' - +'Control'#7#21'BakProjSubDirComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter' - +#23'AnchorSideRight.Control'#7#21'BackupProjectGroupBox'#20'AnchorSideRight.' - +'Side'#7#9'asrBottom'#4'Left'#2'p'#6'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#18'BakProjSubDirLabel'#11'ParentColor'#8#0#0#11'TRadioGroup'#21 - +'BakProjTypeRadioGroup'#23'AnchorSideRight.Control'#7#21'BackupProjectGroupB' - +'ox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#30#3'To' - +'p'#2#6#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'Aut' - +'oFill'#9#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#21'BakProj' - +'TypeRadioGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBott' - +'omSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildRes' - +'ize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'Chil' - +'dSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertica' - +'l'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopTo' - +'Bottom'#27'ChildSizing.ControlsPerLine'#2#2#7'Columns'#2#2#21'Constraints.M' - +'inHeight'#2#30#7'OnClick'#7#22'BakTypeRadioGroupClick'#8'TabOrder'#2#0#0#0#9 - +'TComboBox'#21'BakProjAddExtComboBox'#21'AnchorSideTop.Control'#7#21'BakProj' - +'TypeRadioGroup'#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#9'MaxLength'#2#255#8'TabOrder'#2#1#4'Text'#6#21'BakProj' - +'AddExtComboBox'#0#0#9'TComboBox'#25'BakProjMaxCounterComboBox'#21'AnchorSid' - +'eTop.Control'#7#21'BakProjAddExtComboBox'#18'AnchorSideTop.Side'#7#9'asrBot' - +'tom'#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#9'MaxLength'#2#255#8'TabOr' - ,'der'#2#2#4'Text'#6#25'BakProjMaxCounterComboBox'#0#0#9'TComboBox'#21'BakPro' - +'jSubDirComboBox'#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#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'Bac' - +'kupProjectGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRigh' - +'t.Control'#7#10'BackupPage'#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'BackupOtherGroupBox'#12'ClientHeight'#3#141#0#11'ClientWidth'#3#10#2#8 - +'TabOrder'#2#1#0#6'TLabel'#19'BakOtherAddExtLabel'#22'AnchorSideLeft.Control' - +#7#22'BakOtherAddExtComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anch' - +'orSideTop.Control'#7#22'BakOtherAddExtComboBox'#18'AnchorSideTop.Side'#7#9 - +'asrCenter'#23'AnchorSideRight.Control'#7#19'BackupOtherGroupBox'#20'AnchorS' - +'ideRight.Side'#7#9'asrBottom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'-'#5'Wid' - +'th'#3#144#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.' - +'Around'#2#6#7'Caption'#6#19'BakOtherAddExtLabel'#11'ParentColor'#8#0#0#6'TL' - +'abel'#23'BakOtherMaxCounterLabel'#22'AnchorSideLeft.Control'#7#26'BakOtherM' - +'axCounterComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.' - +'Control'#7#26'BakOtherMaxCounterComboBox'#18'AnchorSideTop.Side'#7#9'asrCen' - +'ter'#23'AnchorSideRight.Control'#7#19'BackupOtherGroupBox'#20'AnchorSideRig' - +'ht.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'BakOtherMaxCounterLabel'#11'ParentColor'#8#0#0#6'TLabel' - +#19'BakOtherSubDirLabel'#22'AnchorSideLeft.Control'#7#22'BakOtherSubDirCombo' - +'Box'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#22 - +'BakOtherSubDirComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSide' - +'Right.Control'#7#19'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7#9'asrBo' - +'ttom'#4'Left'#2'p'#6'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'BakOtherTypeR' - +'adioGroup'#23'AnchorSideRight.Control'#7#19'BackupOtherGroupBox'#20'AnchorS' - +'ideRight.Side'#7#9'asrBottom'#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'AutoS' - +'ize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#22'BakOtherTypeRadioGroup' - +#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#21'Constraints.MinHeight'#2#30#7'O' - +'nClick'#7#22'BakTypeRadioGroupClick'#8'TabOrder'#2#0#0#0#9'TComboBox'#22'Ba' - +'kOtherAddExtComboBox'#21'AnchorSideTop.Control'#7#22'BakOtherTypeRadioGroup' - +#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#1#4'Text'#6#22'BakOtherAddExtComboBox'#0#0#9'TComboBox' - +#26'BakOtherMaxCounterComboBox'#21'AnchorSideTop.Control'#7#22'BakOtherAddEx' - +'tComboBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21 - +#3'Top'#2'E'#5'Width'#2'd'#20'BorderSpacing.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'BakOtherSubDirComboBox'#21'AnchorSideTop.Control'#7#26'Ba' - +'kOtherMaxCounterComboBox'#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'It' - +'emHeight'#2#13#9'MaxLength'#2#255#8'TabOrder'#2#3#4'Text'#6#22'BakOtherSubD' - +'irComboBox'#0#0#0#0#5'TPage'#10'NamingPage'#7'Caption'#6#10'NamingPage'#11 - +'ClientWidth'#3#26#2#12'ClientHeight'#3#194#1#0#11'TRadioGroup'#23'PascalFil' - +'eExtRadiogroup'#23'AnchorSideRight.Control'#7#10'NamingPage'#20'AnchorSideR' - +'ight.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'Capti' - +'on'#6#23'PascalFileExtRadiogroup'#28'ChildSizing.LeftRightSpacing'#2#6#28'C' - +'hildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crs' - +'HomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousCh' - +'ildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSi' - ,'zing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLe' - +'ftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2#7'Columns'#2#2 - +#8'TabOrder'#2#0#0#0#11'TRadioGroup'#28'CharcaseFileActionRadioGroup'#23'Anc' - +'horSideRight.Control'#7#10'NamingPage'#20'AnchorSideRight.Side'#7#9'asrBott' - +'om'#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'CharcaseF' - +'ileActionRadioGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.To' - +'pBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChi' - +'ldResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28 - +'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVer' - +'tical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenT' - +'opToBottom'#27'ChildSizing.ControlsPerLine'#2#2#7'Columns'#2#2#8'TabOrder'#2 - +#1#0#0#11'TRadioGroup'#29'AmbiguousFileActionRadioGroup'#23'AnchorSideRight.' - +'Control'#7#10'NamingPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2 - +#6#6'Height'#2'd'#3'Top'#2';'#5'Width'#3#14#2#5'Align'#7#5'alTop'#8'AutoFill' - +#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#29'AmbiguousFileActionRadioGrou' - +'p'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6 - +#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSi' - +'zing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkH' - +'orizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScal' - +'eChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'Chil' - +'dSizing.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'Client' - +'Height'#3#194#1#0#9'TGroupBox'#19'LazDocPathsGroupBox'#23'AnchorSideRight.C' - +'ontrol'#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'LazDocPathsGroupBox'#12'Clie' - +'ntHeight'#3#205#0#11'ClientWidth'#3#14#2#8'TabOrder'#2#0#0#8'TListBox'#13'L' - +'azDocListBox'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5'Width'#3#254#1#5'Alig' - +'n'#7#5'alTop'#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#8'TopIndex'#2#255 - +#0#0#7'TButton'#19'LazDocAddPathButton'#22'AnchorSideLeft.Control'#7#19'LazD' - +'ocPathsGroupBox'#21'AnchorSideTop.Control'#7#13'LazDocListBox'#18'AnchorSid' - +'eTop.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'LazDocAddP' - +'athButton'#7'OnClick'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#1#0#0#7 - +'TButton'#22'LazDocDeletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDocA' - +'ddPathButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contr' - +'ol'#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'La' - +'zDocDeletePathButton'#7'OnClick'#7#27'LazDocDeletePathButtonClick'#8'TabOrd' - +'er'#2#2#0#0#7'TButton'#18'LazDocBrowseButton'#19'AnchorSideLeft.Side'#7#9'a' - +'srBottom'#21'AnchorSideTop.Control'#7#14'LazDocPathEdit'#23'AnchorSideRight' - +'.Control'#7#19'LazDocPathsGroupBox'#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'LazDocPathsGr' - +'oupBox'#21'AnchorSideTop.Control'#7#19'LazDocAddPathButton'#18'AnchorSideTo' - +'p.Side'#7#9'asrBottom'#23'AnchorSideRight.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.T' - +'op'#2#6#20'BorderSpacing.Bottom'#2#6#8'TabOrder'#2#4#4'Text'#6#14'LazDocPat' - +'hEdit'#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'TabOr' - +'der'#2#1#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbHelp'#0#0#0#22'TSelectD' - +'irectoryDialog'#21'SelectDirectoryDialog'#11'FilterIndex'#2#0#4'left'#3#232 - +#1#3'top'#2#8#0#0#0 + +'acing.Bottom'#2#6#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'Deskto' + +'pPage'#0#0#5'TPage'#11'WindowsPage'#7'Caption'#6#11'WindowsPage'#0#0#5'TPag' + +'e'#14'FormEditorPage'#7'Caption'#6#14'FormEditorPage'#0#0#5'TPage'#19'Objec' + +'tInspectorPage'#7'Caption'#6#19'ObjectInspectorPage'#0#0#5'TPage'#10'Backup' + +'Page'#7'Caption'#6#10'BackupPage'#0#0#5'TPage'#10'NamingPage'#7'Caption'#6 + +#10'NamingPage'#0#0#5'TPage'#10'LazDocPage'#7'Caption'#6#10'LazDocPage'#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'ShowB' + +'uttons'#11#4'pbOK'#8'pbCancel'#6'pbHelp'#0#0#0#0 ]); diff --git a/ide/environmentopts_dlg.pas b/ide/environmentopts_dlg.pas index a4103ae381..09fbe66a2f 100644 --- a/ide/environmentopts_dlg.pas +++ b/ide/environmentopts_dlg.pas @@ -41,7 +41,8 @@ uses LazarusIDEStrConsts, TransferMacros, LazConf, ExtToolDialog, IDEProcs, IDEOptionDefs, InputHistory, EditorOptions, IDETranslations, ButtonPanel, EnvironmentOpts, - options_files, options_desktop, options_window, options_formed, options_oi; + options_files, options_desktop, options_window, options_formed, options_oi, + options_backup, options_naming, options_fpdoc; type { TEnvironmentOptionsDialog: EnvironmentOptionsDialog for environment options } @@ -72,49 +73,8 @@ type BackupPage: TPage; NamingPage: TPage; LazDocPage: TPage; - SelectDirectoryDialog: TSelectDirectoryDialog; - // lazdoc settings - LazDocBrowseButton: TButton; - LazDocPathEdit: TEdit; - LazDocDeletePathButton: TButton; - LazDocAddPathButton: TButton; - LazDocPathsGroupBox: TGroupBox; - LazDocListBox: TListBox; - - - - // backup - BackupHelpLabel: TLabel; - BackupProjectGroupBox: TGroupBox; - BakProjTypeRadioGroup: TRadioGroup; - BakProjAddExtLabel: TLabel; - BakProjAddExtComboBox: TComboBox; - BakProjMaxCounterLabel: TLabel; - BakProjMaxCounterComboBox: TComboBox; - BakProjSubDirLabel: TLabel; - BakProjSubDirComboBox: TComboBox; - BackupOtherGroupBox: TGroupBox; - BakOtherTypeRadioGroup: TRadioGroup; - BakOtherAddExtLabel: TLabel; - BakOtherAddExtComboBox: TComboBox; - BakOtherMaxCounterLabel: TLabel; - BakOtherMaxCounterComboBox: TComboBox; - BakOtherSubDirLabel: TLabel; - BakOtherSubDirComboBox: TComboBox; - - // naming conventions - PascalFileExtRadiogroup: TRadioGroup; - CharCaseFileActionRadioGroup: TRadioGroup; - AmbiguousFileActionRadioGroup: TRadioGroup; - - - procedure BakTypeRadioGroupClick(Sender: TObject); procedure HelpButtonClick(Sender: TObject); - procedure LazDocAddPathButtonClick(Sender: TObject); - procedure LazDocBrowseButtonClick(Sender: TObject); - procedure LazDocDeletePathButtonClick(Sender: TObject); - procedure NotebookChangeBounds(Sender: TObject); procedure OkButtonClick(Sender: TObject); procedure CancelButtonClick(Sender: TObject); private @@ -125,6 +85,9 @@ type WindowOptionsFrame: TWindowOptionsFrame; FormEditorOptionsFrame: TFormEditorOptionsFrame; OIOptionsFrame: TOIOptionsFrame; + BackupOptionsFrame: TBackupOptionsFrame; + NamingOptionsFrame: TNamingOptionsFrame; + FpDocOptionsFrame: TFpDocOptionsFrame; procedure SetupFrame(AFrame: TAbstractOptionsFrame; APage: TPage); @@ -159,20 +122,13 @@ implementation uses IDEContextHelpEdit; -{ TEnvironmentOptions } - -const - EnvOptsConfFileName='environmentoptions.xml'; - BakMaxCounterInfiniteTxt = 'infinite'; - - { TEnvironmentOptionsDialog } constructor TEnvironmentOptionsDialog.Create(TheOwner: TComponent); begin inherited Create(TheOwner); IDEDialogLayoutList.ApplyLayout(Self,Width,Height); - Caption:=lisMenuGeneralOptions; + Caption := lisMenuGeneralOptions; NoteBook.PageIndex:=0; @@ -204,109 +160,8 @@ end; procedure TEnvironmentOptionsDialog.SetupBackupPage(Page: integer); begin - NoteBook.Page[Page].Caption := dlgEnvBckup; - - BackupHelpLabel.Caption:=dlgEnvBackupHelpNote; - - BackupProjectGroupBox.Caption:=dlgProjFiles; - - with BakProjTypeRadioGroup do begin - Caption:=dlgEnvType; - with Items do begin - BeginUpdate; - Add(lisNoBackupFiles); - Add(dlgSmbFront); - Add(dlgSmbBehind); - Add(dlgSmbCounter); - Add(dlgCustomExt); - Add(dlgBckUpSubDir); - EndUpdate; - end; - end; - - BakProjAddExtLabel.Caption:=dlgEdCustomExt; - - with BakProjAddExtComboBox.Items do begin - BeginUpdate; - Clear; - Add('bak'); - Add('old'); - EndUpdate; - end; - - BakProjMaxCounterLabel.Caption:=dlgMaxCntr; - - with BakProjMaxCounterComboBox.Items do begin - BeginUpdate; - Clear; - Add('1'); - Add('2'); - Add('3'); - Add('5'); - Add('9'); - Add(BakMaxCounterInfiniteTxt); - EndUpdate; - end; - - BakProjSubDirLabel.Caption:=dlgEdBSubDir; - - BakProjSubDirComboBox.Text:=''; - with BakProjSubDirComboBox.Items do begin - BeginUpdate; - Clear; - Add(dlgBakNoSubDirectory); - Add('backup'); - EndUpdate; - end; - - BackupOtherGroupBox.Caption:=dlgEnvOtherFiles; - - with BakOtherTypeRadioGroup do begin - Caption:=dlgEnvType; - with Items do begin - BeginUpdate; - Add(lisNoBackupFiles); - Add(dlgSmbFront); - Add(dlgSmbBehind); - Add(dlgSmbCounter); - Add(dlgCustomExt); - Add(dlgBckUpSubDir); - EndUpdate; - end; - end; - - BakOtherAddExtLabel.Caption:=dlgEdCustomExt; - - with BakOtherAddExtComboBox.Items do begin - BeginUpdate; - Add('bak'); - Add('old'); - EndUpdate; - end; - - BakOtherMaxCounterLabel.Caption:=dlgMaxCntr; - - with BakOtherMaxCounterComboBox.Items do begin - BeginUpdate; - Clear; - Add('1'); - Add('2'); - Add('3'); - Add('5'); - Add('9'); - Add(BakMaxCounterInfiniteTxt); - EndUpdate; - end; - - BakOtherSubDirLabel.Caption:=dlgEdBSubDir; - - with BakOtherSubDirComboBox.Items do begin - BeginUpdate; - Clear; - Add(dlgBakNoSubDirectory); - Add('backup'); - EndUpdate; - end; + BackupOptionsFrame := TBackupOptionsFrame.Create(Self); + SetupFrame(BackupOptionsFrame, NoteBook.Page[Page]); end; procedure TEnvironmentOptionsDialog.SetupFrame(AFrame: TAbstractOptionsFrame; APage: TPage); @@ -360,74 +215,15 @@ begin end; procedure TEnvironmentOptionsDialog.SetupNamingPage(Page: integer); -var - pe: TPascalExtType; begin - NoteBook.Page[Page].Caption := dlgNaming; - - with PascalFileExtRadiogroup do begin - Caption:=dlgPasExt; - with Items do begin - BeginUpdate; - for pe:=Low(TPascalExtType) to High(TPascalExtType) do - if pe<>petNone then - Add(PascalExtension[pe]); - EndUpdate; - end; - PascalFileExtRadiogroup.Columns:=PascalFileExtRadiogroup.Items.Count; - end; - - with CharcaseFileActionRadioGroup do begin - Caption:=dlgCharCaseFileAct; - with Items do begin - BeginUpdate; - Add(dlgEnvAsk); - Add(dlgAutoRen); - Add(dlgnoAutomaticRenaming); - EndUpdate; - end; - end; - - with AmbiguousFileActionRadioGroup do begin - Caption:=dlgAmbigFileAct; - with Items do begin - BeginUpdate; - Add(dlgEnvAsk); - Add(dlgAutoDel); - Add(dlgAutoRen); - Add(dlgAmbigWarn); - Add(dlgIgnoreVerb); - EndUpdate; - end; - end; + NamingOptionsFrame := TNamingOptionsFrame.Create(Self); + SetupFrame(NamingOptionsFrame, NoteBook.Page[Page]); end; procedure TEnvironmentOptionsDialog.SetupLazDocPage(Page: integer); begin - NoteBook.Page[Page].Caption := lisFPDocEditor; - - LazDocPathsGroupBox.Caption := lisCodeHelpPathsGroupBox; - LazDocAddPathButton.Caption := lisCodeHelpAddPathButton; - LazDocDeletePathButton.Caption := lisCodeHelpDeletePathButton; - - LazDocPathEdit.Clear; -end; - -procedure TEnvironmentOptionsDialog.BakTypeRadioGroupClick(Sender: TObject); -var i: integer; -begin - i:=TRadioGroup(Sender).ItemIndex; - if Sender=BakProjTypeRadioGroup then begin - BakProjAddExtComboBox.Enabled:=(i=4); - BakProjAddExtLabel.Enabled:=BakProjAddExtComboBox.Enabled; - BakProjMaxCounterComboBox.Enabled:=(i=3); - BakProjMaxCounterLabel.EnableD:=BakProjMaxCounterComboBox.Enabled; - end else begin - BakOtherAddExtComboBox.Enabled:=(i=4); - BakOtherAddExtLabel.Enabled:=BakOtherAddExtComboBox.Enabled; - BakOtherMaxCounterComboBox.Enabled:=(i=3); - BakOtherMaxCounterLabel.EnableD:=BakOtherMaxCounterComboBox.Enabled; - end; + FpDocOptionsFrame := TFpDocOptionsFrame .Create(Self); + SetupFrame(FpDocOptionsFrame, NoteBook.Page[Page]); end; procedure TEnvironmentOptionsDialog.HelpButtonClick(Sender: TObject); @@ -435,45 +231,21 @@ begin ShowContextHelpForIDE(Self); end; -procedure TEnvironmentOptionsDialog.LazDocAddPathButtonClick(Sender: TObject); -begin - if LazDocPathEdit.Text <> '' then - LazDocListBox.Items.Add(LazDocPathEdit.Text); -end; - -procedure TEnvironmentOptionsDialog.LazDocBrowseButtonClick(Sender: TObject); -begin - if SelectDirectoryDialog.Execute then - LazDocPathEdit.Text := SelectDirectoryDialog.FileName; -end; - -procedure TEnvironmentOptionsDialog.LazDocDeletePathButtonClick(Sender: TObject - ); -begin - LazDocListBox.Items.Delete(LazDocListBox.ItemIndex); -end; - -procedure TEnvironmentOptionsDialog.NotebookChangeBounds(Sender: TObject); -begin - -end; - procedure TEnvironmentOptionsDialog.OkButtonClick(Sender: TObject); begin - if not CheckValues then exit; + if not CheckValues then + Exit; IDEDialogLayoutList.SaveLayout(Self); - ModalResult:=mrOk; + ModalResult := mrOk; end; procedure TEnvironmentOptionsDialog.CancelButtonClick(Sender: TObject); begin IDEDialogLayoutList.SaveLayout(Self); - ModalResult:=mrCancel; + ModalResult := mrCancel; end; procedure TEnvironmentOptionsDialog.ReadSettings(AnEnvironmentOptions: TEnvironmentOptions); -var - i: integer; begin with AnEnvironmentOptions do begin @@ -492,58 +264,14 @@ begin // Form editor FormEditorOptionsFrame.ReadSettings(AnEnvironmentOptions); - // backup - with BackupInfoProjectFiles do begin - case BackupType of - bakNone: BakProjTypeRadioGroup.ItemIndex:=0; - bakSymbolInFront: BakProjTypeRadioGroup.ItemIndex:=1; - bakSymbolBehind: BakProjTypeRadioGroup.ItemIndex:=2; - bakCounter: BakProjTypeRadioGroup.ItemIndex:=3; - bakUserDefinedAddExt: BakProjTypeRadioGroup.ItemIndex:=4; - bakSameName: BakProjTypeRadioGroup.ItemIndex:=5; - end; - SetComboBoxText(BakProjAddExtComboBox,AdditionalExtension); - if MaxCounter<=0 then - SetComboBoxText(BakProjMaxCounterComboBox,BakMaxCounterInfiniteTxt) - else - SetComboBoxText(BakProjMaxCounterComboBox,IntToStr(MaxCounter)); - if SubDirectory<>'' then - SetComboBoxText(BakProjSubDirComboBox,SubDirectory) - else - SetComboBoxText(BakProjSubDirComboBox,dlgBakNoSubDirectory); - end; - BakTypeRadioGroupClick(BakProjTypeRadioGroup); - with BackupInfoOtherFiles do begin - case BackupType of - bakNone: BakOtherTypeRadioGroup.ItemIndex:=0; - bakSymbolInFront: BakOtherTypeRadioGroup.ItemIndex:=1; - bakSymbolBehind: BakOtherTypeRadioGroup.ItemIndex:=2; - bakCounter: BakOtherTypeRadioGroup.ItemIndex:=3; - bakUserDefinedAddExt: BakOtherTypeRadioGroup.ItemIndex:=4; - bakSameName: BakOtherTypeRadioGroup.ItemIndex:=5; - end; - SetComboBoxText(BakOtherAddExtComboBox,AdditionalExtension); - if MaxCounter<=0 then - SetComboBoxText(BakOtherMaxCounterComboBox,BakMaxCounterInfiniteTxt) - else - SetComboBoxText(BakOtherMaxCounterComboBox,IntToStr(MaxCounter)); - if SubDirectory<>'' then - SetComboBoxText(BakOtherSubDirComboBox,SubDirectory) - else - SetComboBoxText(BakOtherSubDirComboBox,dlgBakNoSubDirectory); - end; - BakTypeRadioGroupClick(BakOtherTypeRadioGroup); - - // naming - for i:=0 to PascalFileExtRadiogroup.Items.Count-1 do - if PascalFileExtRadiogroup.Items[i]=PascalExtension[PascalFileExtension] - then PascalFileExtRadiogroup.ItemIndex:=i; + // Backup + BackupOptionsFrame.ReadSettings(AnEnvironmentOptions); + + // naming + NamingOptionsFrame.ReadSettings(AnEnvironmentOptions); - CharCaseFileActionRadioGroup.ItemIndex := ord(CharCaseFileAction); - AmbiguousFileActionRadioGroup.ItemIndex := ord(AmbiguousFileAction); - //lazdoc - SplitString(LazDocPaths,';',LazDocListBox.Items); + FpDocOptionsFrame.ReadSettings(AnEnvironmentOptions); end; end; @@ -566,57 +294,14 @@ begin // Form editor FormEditorOptionsFrame.WriteSettings(AnEnvironmentOptions); - // backup - with BackupInfoProjectFiles do begin - case BakProjTypeRadioGroup.ItemIndex of - 0: BackupType:=bakNone; - 1: BackupType:=bakSymbolInFront; - 2: BackupType:=bakSymbolBehind; - 3: BackupType:=bakCounter; - 4: BackupType:=bakUserDefinedAddExt; - 5: BackupType:=bakSameName; - end; - AdditionalExtension:=BakProjAddExtComboBox.Text; - if BakProjMaxCounterComboBox.Text=BakMaxCounterInfiniteTxt then - MaxCounter:=0 - else - MaxCounter:=StrToIntDef(BakProjMaxCounterComboBox.Text,1); - SubDirectory:=BakProjSubDirComboBox.Text; - if SubDirectory=dlgBakNoSubDirectory then - SubDirectory:=''; - end; - with BackupInfoOtherFiles do begin - case BakOtherTypeRadioGroup.ItemIndex of - 0: BackupType:=bakNone; - 1: BackupType:=bakSymbolInFront; - 2: BackupType:=bakSymbolBehind; - 3: BackupType:=bakCounter; - 4: BackupType:=bakUserDefinedAddExt; - 5: BackupType:=bakSameName; - end; - AdditionalExtension:=BakOtherAddExtComboBox.Text; - if BakOtherMaxCounterComboBox.Text=BakMaxCounterInfiniteTxt then - MaxCounter:=0 - else - MaxCounter:=StrToIntDef(BakOtherMaxCounterComboBox.Text,1); - if BakOtherSubDirComboBox.Text=dlgBakNoSubDirectory then - SubDirectory:='' - else - SubDirectory:=BakOtherSubDirComboBox.Text; - end; - + // Backup + BackupOptionsFrame.WriteSettings(AnEnvironmentOptions); + // naming - if PascalFileExtRadiogroup.ItemIndex>=0 then - PascalFileExtension:=PascalExtToType( - PascalFileExtRadiogroup.Items[PascalFileExtRadiogroup.ItemIndex]) - else - PascalFileExtension:=petPAS; + NamingOptionsFrame.WriteSettings(AnEnvironmentOptions); //lazdoc - LazDocPaths:=StringListToText(LazDocListBox.Items,';',true); - - CharcaseFileAction := TCharCaseFileAction(CharcaseFileActionRadioGroup.ItemIndex); - AmbiguousFileAction := TAmbiguousFileAction(AmbiguousFileActionRadioGroup.ItemIndex); + FpDocOptionsFrame.WriteSettings(AnEnvironmentOptions); end; end; @@ -628,10 +313,7 @@ end; function TEnvironmentOptionsDialog.CheckValues: boolean; begin - Result:=false; - if not FilesOptionsFrame.Check then - Exit; - Result:=true; + Result := FilesOptionsFrame.Check; end; procedure TEnvironmentOptionsDialog.LoadEnvironmentSettings(Sender: TObject; diff --git a/ide/frames/options_backup.lfm b/ide/frames/options_backup.lfm new file mode 100644 index 0000000000..44fcad5ec9 --- /dev/null +++ b/ide/frames/options_backup.lfm @@ -0,0 +1,280 @@ +inherited BackupOptionsFrame: TBackupOptionsFrame + Height = 324 + Width = 562 + ClientHeight = 324 + ClientWidth = 562 + TabOrder = 0 + Visible = False + DesignLeft = 22 + DesignTop = 29 + object BackupHelpLabel: TLabel[0] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + AnchorSideRight.Side = asrBottom + Height = 14 + Width = 81 + Caption = 'BackupHelpLabel' + ParentColor = False + end + object BackupProjectGroupBox: TGroupBox[1] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = BackupHelpLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Height = 141 + Top = 20 + Width = 562 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 + Caption = 'BackupProjectGroupBox' + ClientHeight = 123 + ClientWidth = 558 + TabOrder = 0 + object BakProjAddExtLabel: TLabel + AnchorSideLeft.Control = BakProjAddExtComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BakProjAddExtComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = BackupProjectGroupBox + AnchorSideRight.Side = asrBottom + Left = 112 + Height = 14 + Top = 45 + Width = 440 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Around = 6 + Caption = 'BakProjAddExtLabel' + ParentColor = False + end + object BakProjMaxCounterLabel: TLabel + AnchorSideLeft.Control = BakProjMaxCounterComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BakProjMaxCounterComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = BackupProjectGroupBox + AnchorSideRight.Side = asrBottom + Left = 112 + Height = 14 + Top = 72 + Width = 440 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Around = 6 + Caption = 'BakProjMaxCounterLabel' + ParentColor = False + end + object BakProjSubDirLabel: TLabel + AnchorSideLeft.Control = BakProjSubDirComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BakProjSubDirComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = BackupProjectGroupBox + AnchorSideRight.Side = asrBottom + Left = 112 + Height = 14 + Top = 99 + Width = 440 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Around = 6 + Caption = 'BakProjSubDirLabel' + ParentColor = False + end + object BakProjTypeRadioGroup: TRadioGroup + AnchorSideRight.Control = BackupProjectGroupBox + AnchorSideRight.Side = asrBottom + Left = 6 + Height = 30 + Top = 6 + Width = 546 + Anchors = [akTop, akLeft, akRight] + AutoFill = True + AutoSize = True + BorderSpacing.Around = 6 + Caption = 'BakProjTypeRadioGroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 2 + Columns = 2 + Constraints.MinHeight = 30 + OnClick = BakTypeRadioGroupClick + TabOrder = 0 + end + object BakProjAddExtComboBox: TComboBox + AnchorSideTop.Control = BakProjTypeRadioGroup + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 21 + Top = 42 + Width = 100 + AutoSelect = True + BorderSpacing.Around = 6 + ItemHeight = 13 + MaxLength = -1 + TabOrder = 1 + Text = 'BakProjAddExtComboBox' + end + object BakProjMaxCounterComboBox: TComboBox + AnchorSideTop.Control = BakProjAddExtComboBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 21 + Top = 69 + Width = 100 + AutoSelect = True + BorderSpacing.Around = 6 + ItemHeight = 13 + MaxLength = -1 + TabOrder = 2 + Text = 'BakProjMaxCounterComboBox' + end + object BakProjSubDirComboBox: TComboBox + AnchorSideTop.Control = BakProjMaxCounterComboBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 21 + Top = 96 + Width = 100 + AutoSelect = True + BorderSpacing.Around = 6 + ItemHeight = 13 + MaxLength = -1 + TabOrder = 3 + Text = 'BakProjSubDirComboBox' + end + end + object BackupOtherGroupBox: TGroupBox[2] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = BackupProjectGroupBox + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Height = 141 + Top = 167 + Width = 562 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 + Caption = 'BackupOtherGroupBox' + ClientHeight = 123 + ClientWidth = 558 + TabOrder = 1 + object BakOtherAddExtLabel: TLabel + AnchorSideLeft.Control = BakOtherAddExtComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BakOtherAddExtComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = BackupOtherGroupBox + AnchorSideRight.Side = asrBottom + Left = 112 + Height = 14 + Top = 45 + Width = 440 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Around = 6 + Caption = 'BakOtherAddExtLabel' + ParentColor = False + end + object BakOtherMaxCounterLabel: TLabel + AnchorSideLeft.Control = BakOtherMaxCounterComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BakOtherMaxCounterComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = BackupOtherGroupBox + AnchorSideRight.Side = asrBottom + Left = 112 + Height = 14 + Top = 72 + Width = 440 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Around = 6 + Caption = 'BakOtherMaxCounterLabel' + ParentColor = False + end + object BakOtherSubDirLabel: TLabel + AnchorSideLeft.Control = BakOtherSubDirComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BakOtherSubDirComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = BackupOtherGroupBox + AnchorSideRight.Side = asrBottom + Left = 112 + Height = 14 + Top = 99 + Width = 440 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Around = 6 + Caption = 'BakOtherSubDirLabel' + ParentColor = False + end + object BakOtherTypeRadioGroup: TRadioGroup + AnchorSideRight.Control = BackupOtherGroupBox + AnchorSideRight.Side = asrBottom + Left = 6 + Height = 30 + Top = 6 + Width = 546 + Anchors = [akTop, akLeft, akRight] + AutoFill = True + AutoSize = True + BorderSpacing.Around = 6 + Caption = 'BakOtherTypeRadioGroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 2 + Columns = 2 + Constraints.MinHeight = 30 + OnClick = BakTypeRadioGroupClick + TabOrder = 0 + end + object BakOtherAddExtComboBox: TComboBox + AnchorSideTop.Control = BakOtherTypeRadioGroup + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 21 + Top = 42 + Width = 100 + BorderSpacing.Around = 6 + ItemHeight = 13 + MaxLength = -1 + TabOrder = 1 + Text = 'BakOtherAddExtComboBox' + end + object BakOtherMaxCounterComboBox: TComboBox + AnchorSideTop.Control = BakOtherAddExtComboBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 21 + Top = 69 + Width = 100 + BorderSpacing.Around = 6 + ItemHeight = 13 + MaxLength = -1 + TabOrder = 2 + Text = 'BakOtherMaxCounterComboBox' + end + object BakOtherSubDirComboBox: TComboBox + AnchorSideTop.Control = BakOtherMaxCounterComboBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 21 + Top = 96 + Width = 100 + BorderSpacing.Around = 6 + ItemHeight = 13 + MaxLength = -1 + TabOrder = 3 + Text = 'BakOtherSubDirComboBox' + end + end +end diff --git a/ide/frames/options_backup.lrs b/ide/frames/options_backup.lrs new file mode 100644 index 0000000000..6f262432b7 --- /dev/null +++ b/ide/frames/options_backup.lrs @@ -0,0 +1,112 @@ +{ This is an automatically generated lazarus resource file } + +LazarusResources.Add('TBackupOptionsFrame','FORMDATA',[ + 'TPF0'#241#19'TBackupOptionsFrame'#18'BackupOptionsFrame'#6'Height'#3'D'#1#5 + +'Width'#3'2'#2#12'ClientHeight'#3'D'#1#11'ClientWidth'#3'2'#2#8'TabOrder'#2#0 + +#7'Visible'#8#10'DesignLeft'#2#22#9'DesignTop'#2#29#0#242#2#0#6'TLabel'#15'B' + +'ackupHelpLabel'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Cont' + +'rol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#6'Height'#2#14#5'Wi' + +'dth'#2'Q'#7'Caption'#6#15'BackupHelpLabel'#11'ParentColor'#8#0#0#242#2#1#9 + +'TGroupBox'#21'BackupProjectGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner' + +#21'AnchorSideTop.Control'#7#15'BackupHelpLabel'#18'AnchorSideTop.Side'#7#9 + +'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7 + +#9'asrBottom'#6'Height'#3#141#0#3'Top'#2#20#5'Width'#3'2'#2#7'Anchors'#11#5 + +'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'Cap' + +'tion'#6#21'BackupProjectGroupBox'#12'ClientHeight'#2'{'#11'ClientWidth'#3'.' + +#2#8'TabOrder'#2#0#0#6'TLabel'#18'BakProjAddExtLabel'#22'AnchorSideLeft.Cont' + +'rol'#7#21'BakProjAddExtComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21 + +'AnchorSideTop.Control'#7#21'BakProjAddExtComboBox'#18'AnchorSideTop.Side'#7 + +#9'asrCenter'#23'AnchorSideRight.Control'#7#21'BackupProjectGroupBox'#20'Anc' + +'horSideRight.Side'#7#9'asrBottom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'-'#5 + +'Width'#3#184#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpaci' + +'ng.Around'#2#6#7'Caption'#6#18'BakProjAddExtLabel'#11'ParentColor'#8#0#0#6 + +'TLabel'#22'BakProjMaxCounterLabel'#22'AnchorSideLeft.Control'#7#25'BakProjM' + +'axCounterComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.' + +'Control'#7#25'BakProjMaxCounterComboBox'#18'AnchorSideTop.Side'#7#9'asrCent' + +'er'#23'AnchorSideRight.Control'#7#21'BackupProjectGroupBox'#20'AnchorSideRi' + +'ght.Side'#7#9'asrBottom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'H'#5'Width'#3 + +#184#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around' + +#2#6#7'Caption'#6#22'BakProjMaxCounterLabel'#11'ParentColor'#8#0#0#6'TLabel' + +#18'BakProjSubDirLabel'#22'AnchorSideLeft.Control'#7#21'BakProjSubDirComboBo' + +'x'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#21'Ba' + +'kProjSubDirComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRig' + +'ht.Control'#7#21'BackupProjectGroupBox'#20'AnchorSideRight.Side'#7#9'asrBot' + +'tom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'c'#5'Width'#3#184#1#7'Anchors'#11 + +#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18 + +'BakProjSubDirLabel'#11'ParentColor'#8#0#0#11'TRadioGroup'#21'BakProjTypeRad' + +'ioGroup'#23'AnchorSideRight.Control'#7#21'BackupProjectGroupBox'#20'AnchorS' + +'ideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#30#3'Top'#2#6#5'Width' + +#3'"'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#9#8'AutoSi' + +'ze'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#21'BakProjTypeRadioGroup'#28 + +'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'C' + +'hildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing' + +'.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHoriz' + +'ontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChi' + +'lds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSiz' + +'ing.ControlsPerLine'#2#2#7'Columns'#2#2#21'Constraints.MinHeight'#2#30#7'On' + +'Click'#7#22'BakTypeRadioGroupClick'#8'TabOrder'#2#0#0#0#9'TComboBox'#21'Bak' + +'ProjAddExtComboBox'#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'AutoSelect'#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'BakProjMaxCounterComboBox'#21'AnchorSideTop.Control'#7#21 + +'BakProjAddExtComboBox'#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.Ar' + +'ound'#2#6#10'ItemHeight'#2#13#9'MaxLength'#2#255#8'TabOrder'#2#2#4'Text'#6 + +#25'BakProjMaxCounterComboBox'#0#0#9'TComboBox'#21'BakProjSubDirComboBox'#21 + +'AnchorSideTop.Control'#7#25'BakProjMaxCounterComboBox'#18'AnchorSideTop.Sid' + +'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'`'#5'Width'#2'd'#10'A' + +'utoSelect'#9#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#13#9'MaxLength'#2 + +#255#8'TabOrder'#2#3#4'Text'#6#21'BakProjSubDirComboBox'#0#0#0#242#2#2#9'TGr' + +'oupBox'#19'BackupOtherGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'An' + +'chorSideTop.Control'#7#21'BackupProjectGroupBox'#18'AnchorSideTop.Side'#7#9 + +'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7 + +#9'asrBottom'#6'Height'#3#141#0#3'Top'#3#167#0#5'Width'#3'2'#2#7'Anchors'#11 + +#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'C' + +'aption'#6#19'BackupOtherGroupBox'#12'ClientHeight'#2'{'#11'ClientWidth'#3'.' + +#2#8'TabOrder'#2#1#0#6'TLabel'#19'BakOtherAddExtLabel'#22'AnchorSideLeft.Con' + ,'trol'#7#22'BakOtherAddExtComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21 + +'AnchorSideTop.Control'#7#22'BakOtherAddExtComboBox'#18'AnchorSideTop.Side'#7 + +#9'asrCenter'#23'AnchorSideRight.Control'#7#19'BackupOtherGroupBox'#20'Ancho' + +'rSideRight.Side'#7#9'asrBottom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'-'#5'W' + +'idth'#3#184#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacin' + +'g.Around'#2#6#7'Caption'#6#19'BakOtherAddExtLabel'#11'ParentColor'#8#0#0#6 + +'TLabel'#23'BakOtherMaxCounterLabel'#22'AnchorSideLeft.Control'#7#26'BakOthe' + +'rMaxCounterComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTo' + +'p.Control'#7#26'BakOtherMaxCounterComboBox'#18'AnchorSideTop.Side'#7#9'asrC' + +'enter'#23'AnchorSideRight.Control'#7#19'BackupOtherGroupBox'#20'AnchorSideR' + +'ight.Side'#7#9'asrBottom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'H'#5'Width'#3 + +#184#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'BakOtherSubDirLabel'#22'AnchorSideLeft.Control'#7#22'BakOtherSubDirCombo' + +'Box'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#22 + +'BakOtherSubDirComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSide' + +'Right.Control'#7#19'BackupOtherGroupBox'#20'AnchorSideRight.Side'#7#9'asrBo' + +'ttom'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2'c'#5'Width'#3#184#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'BakOtherTypeR' + +'adioGroup'#23'AnchorSideRight.Control'#7#19'BackupOtherGroupBox'#20'AnchorS' + +'ideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#30#3'Top'#2#6#5'Width' + +#3'"'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#9#8'AutoSi' + +'ze'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#22'BakOtherTypeRadioGroup' + +#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#21'Constraints.MinHeight'#2#30#7'O' + +'nClick'#7#22'BakTypeRadioGroupClick'#8'TabOrder'#2#0#0#0#9'TComboBox'#22'Ba' + +'kOtherAddExtComboBox'#21'AnchorSideTop.Control'#7#22'BakOtherTypeRadioGroup' + +#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#1#4'Text'#6#22'BakOtherAddExtComboBox'#0#0#9'TComboBox' + +#26'BakOtherMaxCounterComboBox'#21'AnchorSideTop.Control'#7#22'BakOtherAddEx' + +'tComboBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21 + +#3'Top'#2'E'#5'Width'#2'd'#20'BorderSpacing.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'BakOtherSubDirComboBox'#21'AnchorSideTop.Control'#7#26'Ba' + +'kOtherMaxCounterComboBox'#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'It' + +'emHeight'#2#13#9'MaxLength'#2#255#8'TabOrder'#2#3#4'Text'#6#22'BakOtherSubD' + +'irComboBox'#0#0#0#0 +]); diff --git a/ide/frames/options_backup.pas b/ide/frames/options_backup.pas new file mode 100644 index 0000000000..9419d62d17 --- /dev/null +++ b/ide/frames/options_backup.pas @@ -0,0 +1,303 @@ +{ + *************************************************************************** + * * + * 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_backup; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, LResources, Forms, StdCtrls, ExtCtrls, + EnvironmentOpts, LazarusIDEStrConsts; + +type + + { TBackupOptionsFrame } + + TBackupOptionsFrame = class(TAbstractOptionsFrame) + BackupHelpLabel: TLabel; + BackupOtherGroupBox: TGroupBox; + BackupProjectGroupBox: TGroupBox; + BakOtherAddExtComboBox: TComboBox; + BakOtherAddExtLabel: TLabel; + BakOtherMaxCounterComboBox: TComboBox; + BakOtherMaxCounterLabel: TLabel; + BakOtherSubDirComboBox: TComboBox; + BakOtherSubDirLabel: TLabel; + BakOtherTypeRadioGroup: TRadioGroup; + BakProjAddExtComboBox: TComboBox; + BakProjAddExtLabel: TLabel; + BakProjMaxCounterComboBox: TComboBox; + BakProjMaxCounterLabel: TLabel; + BakProjSubDirComboBox: TComboBox; + BakProjSubDirLabel: TLabel; + BakProjTypeRadioGroup: TRadioGroup; + procedure BakTypeRadioGroupClick(Sender: TObject); + private + public + function Check: Boolean; override; + function GetTitle: String; override; + procedure Setup; override; + procedure ReadSettings(AOptions: TEnvironmentOptions); override; + procedure WriteSettings(AOptions: TEnvironmentOptions); override; + end; + +implementation + +{ TBackupOptionsFrame } + +procedure TBackupOptionsFrame.BakTypeRadioGroupClick(Sender: TObject); +var + i: integer; +begin + i := TRadioGroup(Sender).ItemIndex; + if Sender=BakProjTypeRadioGroup then + begin + BakProjAddExtComboBox.Enabled:=(i=4); + BakProjAddExtLabel.Enabled:=BakProjAddExtComboBox.Enabled; + BakProjMaxCounterComboBox.Enabled:=(i=3); + BakProjMaxCounterLabel.EnableD:=BakProjMaxCounterComboBox.Enabled; + end else + begin + BakOtherAddExtComboBox.Enabled:=(i=4); + BakOtherAddExtLabel.Enabled:=BakOtherAddExtComboBox.Enabled; + BakOtherMaxCounterComboBox.Enabled:=(i=3); + BakOtherMaxCounterLabel.EnableD:=BakOtherMaxCounterComboBox.Enabled; + end; +end; + +function TBackupOptionsFrame.Check: Boolean; +begin + Result := True; +end; + +function TBackupOptionsFrame.GetTitle: String; +begin + Result := dlgEnvBckup; +end; + +procedure TBackupOptionsFrame.Setup; +begin + BackupHelpLabel.Caption := dlgEnvBackupHelpNote; + BackupProjectGroupBox.Caption := dlgProjFiles; + + with BakProjTypeRadioGroup do + begin + Caption := dlgEnvType; + with Items do + begin + BeginUpdate; + Add(lisNoBackupFiles); + Add(dlgSmbFront); + Add(dlgSmbBehind); + Add(dlgSmbCounter); + Add(dlgCustomExt); + Add(dlgBckUpSubDir); + EndUpdate; + end; + end; + + BakProjAddExtLabel.Caption := dlgEdCustomExt; + with BakProjAddExtComboBox.Items do + begin + BeginUpdate; + Clear; + Add('bak'); + Add('old'); + EndUpdate; + end; + + BakProjMaxCounterLabel.Caption := dlgMaxCntr; + with BakProjMaxCounterComboBox.Items do + begin + BeginUpdate; + Clear; + Add('1'); + Add('2'); + Add('3'); + Add('5'); + Add('9'); + Add(BakMaxCounterInfiniteTxt); + EndUpdate; + end; + + BakProjSubDirLabel.Caption := dlgEdBSubDir; + BakProjSubDirComboBox.Text:=''; + with BakProjSubDirComboBox.Items do + begin + BeginUpdate; + Clear; + Add(dlgBakNoSubDirectory); + Add('backup'); + EndUpdate; + end; + + BackupOtherGroupBox.Caption := dlgEnvOtherFiles; + with BakOtherTypeRadioGroup do + begin + Caption:=dlgEnvType; + with Items do + begin + BeginUpdate; + Add(lisNoBackupFiles); + Add(dlgSmbFront); + Add(dlgSmbBehind); + Add(dlgSmbCounter); + Add(dlgCustomExt); + Add(dlgBckUpSubDir); + EndUpdate; + end; + end; + + BakOtherAddExtLabel.Caption := dlgEdCustomExt; + with BakOtherAddExtComboBox.Items do + begin + BeginUpdate; + Add('bak'); + Add('old'); + EndUpdate; + end; + + BakOtherMaxCounterLabel.Caption := dlgMaxCntr; + with BakOtherMaxCounterComboBox.Items do + begin + BeginUpdate; + Clear; + Add('1'); + Add('2'); + Add('3'); + Add('5'); + Add('9'); + Add(BakMaxCounterInfiniteTxt); + EndUpdate; + end; + + BakOtherSubDirLabel.Caption := dlgEdBSubDir; + with BakOtherSubDirComboBox.Items do + begin + BeginUpdate; + Clear; + Add(dlgBakNoSubDirectory); + Add('backup'); + EndUpdate; + end; +end; + +procedure TBackupOptionsFrame.ReadSettings(AOptions: TEnvironmentOptions); +begin + with AOptions do + begin + with BackupInfoProjectFiles do + begin + case BackupType of + bakNone: BakProjTypeRadioGroup.ItemIndex:=0; + bakSymbolInFront: BakProjTypeRadioGroup.ItemIndex:=1; + bakSymbolBehind: BakProjTypeRadioGroup.ItemIndex:=2; + bakCounter: BakProjTypeRadioGroup.ItemIndex:=3; + bakUserDefinedAddExt: BakProjTypeRadioGroup.ItemIndex:=4; + bakSameName: BakProjTypeRadioGroup.ItemIndex:=5; + end; + SetComboBoxText(BakProjAddExtComboBox,AdditionalExtension); + if MaxCounter<=0 then + SetComboBoxText(BakProjMaxCounterComboBox,BakMaxCounterInfiniteTxt) + else + SetComboBoxText(BakProjMaxCounterComboBox,IntToStr(MaxCounter)); + if SubDirectory<>'' then + SetComboBoxText(BakProjSubDirComboBox,SubDirectory) + else + SetComboBoxText(BakProjSubDirComboBox,dlgBakNoSubDirectory); + end; + BakTypeRadioGroupClick(BakProjTypeRadioGroup); + with BackupInfoOtherFiles do + begin + case BackupType of + bakNone: BakOtherTypeRadioGroup.ItemIndex:=0; + bakSymbolInFront: BakOtherTypeRadioGroup.ItemIndex:=1; + bakSymbolBehind: BakOtherTypeRadioGroup.ItemIndex:=2; + bakCounter: BakOtherTypeRadioGroup.ItemIndex:=3; + bakUserDefinedAddExt: BakOtherTypeRadioGroup.ItemIndex:=4; + bakSameName: BakOtherTypeRadioGroup.ItemIndex:=5; + end; + SetComboBoxText(BakOtherAddExtComboBox,AdditionalExtension); + if MaxCounter<=0 then + SetComboBoxText(BakOtherMaxCounterComboBox,BakMaxCounterInfiniteTxt) + else + SetComboBoxText(BakOtherMaxCounterComboBox,IntToStr(MaxCounter)); + if SubDirectory<>'' then + SetComboBoxText(BakOtherSubDirComboBox,SubDirectory) + else + SetComboBoxText(BakOtherSubDirComboBox,dlgBakNoSubDirectory); + end; + BakTypeRadioGroupClick(BakOtherTypeRadioGroup); + end; +end; + +procedure TBackupOptionsFrame.WriteSettings(AOptions: TEnvironmentOptions); +begin + with AOptions do + begin + with BackupInfoProjectFiles do + begin + case BakProjTypeRadioGroup.ItemIndex of + 0: BackupType:=bakNone; + 1: BackupType:=bakSymbolInFront; + 2: BackupType:=bakSymbolBehind; + 3: BackupType:=bakCounter; + 4: BackupType:=bakUserDefinedAddExt; + 5: BackupType:=bakSameName; + end; + AdditionalExtension:=BakProjAddExtComboBox.Text; + if BakProjMaxCounterComboBox.Text=BakMaxCounterInfiniteTxt then + MaxCounter:=0 + else + MaxCounter:=StrToIntDef(BakProjMaxCounterComboBox.Text,1); + SubDirectory:=BakProjSubDirComboBox.Text; + if SubDirectory=dlgBakNoSubDirectory then + SubDirectory:=''; + end; + with BackupInfoOtherFiles do + begin + case BakOtherTypeRadioGroup.ItemIndex of + 0: BackupType:=bakNone; + 1: BackupType:=bakSymbolInFront; + 2: BackupType:=bakSymbolBehind; + 3: BackupType:=bakCounter; + 4: BackupType:=bakUserDefinedAddExt; + 5: BackupType:=bakSameName; + end; + AdditionalExtension:=BakOtherAddExtComboBox.Text; + if BakOtherMaxCounterComboBox.Text=BakMaxCounterInfiniteTxt then + MaxCounter:=0 + else + MaxCounter:=StrToIntDef(BakOtherMaxCounterComboBox.Text,1); + if BakOtherSubDirComboBox.Text=dlgBakNoSubDirectory then + SubDirectory:='' + else + SubDirectory:=BakOtherSubDirComboBox.Text; + end; + end; +end; + +initialization + {$I options_backup.lrs} + +end. + diff --git a/ide/frames/options_fpdoc.lfm b/ide/frames/options_fpdoc.lfm new file mode 100644 index 0000000000..190a59f2da --- /dev/null +++ b/ide/frames/options_fpdoc.lfm @@ -0,0 +1,99 @@ +object FpDocOptionsFrame: TFpDocOptionsFrame + Height = 380 + Width = 476 + ClientHeight = 380 + ClientWidth = 476 + TabOrder = 0 + Visible = False + DesignLeft = 535 + DesignTop = 389 + object LazDocPathsGroupBox: TGroupBox + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Height = 196 + Width = 476 + Align = alTop + AutoSize = True + Caption = 'LazDocPathsGroupBox' + ClientHeight = 178 + ClientWidth = 472 + TabOrder = 0 + object LazDocListBox: TListBox + Left = 6 + Height = 108 + Top = 6 + Width = 460 + Align = alTop + BorderSpacing.Around = 6 + TabOrder = 0 + end + object LazDocAddPathButton: TButton + AnchorSideLeft.Control = LazDocPathsGroupBox + AnchorSideTop.Control = LazDocListBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 23 + Top = 120 + Width = 133 + AutoSize = True + BorderSpacing.Around = 6 + Caption = 'LazDocAddPathButton' + OnClick = LazDocAddPathButtonClick + TabOrder = 1 + end + object LazDocDeletePathButton: TButton + AnchorSideLeft.Control = LazDocAddPathButton + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = LazDocAddPathButton + Left = 149 + Height = 23 + Top = 120 + Width = 145 + AutoSize = True + BorderSpacing.Left = 10 + Caption = 'LazDocDeletePathButton' + OnClick = LazDocDeletePathButtonClick + TabOrder = 2 + end + object LazDocBrowseButton: TButton + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = LazDocPathEdit + AnchorSideRight.Control = LazDocPathsGroupBox + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = LazDocPathEdit + AnchorSideBottom.Side = asrBottom + Left = 442 + Height = 23 + Top = 149 + Width = 24 + Anchors = [akTop, akRight, akBottom] + BorderSpacing.Right = 6 + Caption = '...' + OnClick = LazDocBrowseButtonClick + TabOrder = 3 + end + object LazDocPathEdit: TEdit + AnchorSideLeft.Control = LazDocPathsGroupBox + AnchorSideTop.Control = LazDocAddPathButton + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = LazDocBrowseButton + Left = 6 + Height = 23 + Top = 149 + Width = 436 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 6 + BorderSpacing.Top = 6 + BorderSpacing.Bottom = 6 + TabOrder = 4 + Text = 'LazDocPathEdit' + end + end + object SelectDirectoryDialog: TSelectDirectoryDialog + FilterIndex = 0 + left = 372 + top = 8 + end +end diff --git a/ide/frames/options_fpdoc.lrs b/ide/frames/options_fpdoc.lrs new file mode 100644 index 0000000000..80fef375ec --- /dev/null +++ b/ide/frames/options_fpdoc.lrs @@ -0,0 +1,39 @@ +{ This is an automatically generated lazarus resource file } + +LazarusResources.Add('TFpDocOptionsFrame','FORMDATA',[ + 'TPF0'#18'TFpDocOptionsFrame'#17'FpDocOptionsFrame'#6'Height'#3'|'#1#5'Width' + +#3#220#1#12'ClientHeight'#3'|'#1#11'ClientWidth'#3#220#1#8'TabOrder'#2#0#7'V' + +'isible'#8#10'DesignLeft'#3#23#2#9'DesignTop'#3#133#1#0#9'TGroupBox'#19'LazD' + +'ocPathsGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Con' + +'trol'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.' + +'Side'#7#9'asrBottom'#6'Height'#3#196#0#5'Width'#3#220#1#5'Align'#7#5'alTop' + +#8'AutoSize'#9#7'Caption'#6#19'LazDocPathsGroupBox'#12'ClientHeight'#3#178#0 + +#11'ClientWidth'#3#216#1#8'TabOrder'#2#0#0#8'TListBox'#13'LazDocListBox'#4'L' + +'eft'#2#6#6'Height'#2'l'#3'Top'#2#6#5'Width'#3#204#1#5'Align'#7#5'alTop'#20 + +'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#0#0#7'TButton'#19'LazDocAddPathBu' + +'tton'#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#23#3'Top'#2'x'#5'Width'#3#133#0#8'AutoSize'#9#20'BorderSpac' + +'ing.Around'#2#6#7'Caption'#6#19'LazDocAddPathButton'#7'OnClick'#7#24'LazDoc' + +'AddPathButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#22'LazDocDeletePathButto' + +'n'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathButton'#19'AnchorSideLeft.S' + +'ide'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'LazDocAddPathButton'#4'L' + +'eft'#3#149#0#6'Height'#2#23#3'Top'#2'x'#5'Width'#3#145#0#8'AutoSize'#9#18'B' + +'orderSpacing.Left'#2#10#7'Caption'#6#22'LazDocDeletePathButton'#7'OnClick'#7 + +#27'LazDocDeletePathButtonClick'#8'TabOrder'#2#2#0#0#7'TButton'#18'LazDocBro' + +'wseButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control' + +#7#14'LazDocPathEdit'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox' + +#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'L' + +'azDocPathEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#186#1#6'H' + +'eight'#2#23#3'Top'#3#149#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.Control' + +#7#19'LazDocAddPathButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSi' + +'deRight.Control'#7#18'LazDocBrowseButton'#4'Left'#2#6#6'Height'#2#23#3'Top' + +#3#149#0#5'Width'#3#180#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'B' + +'orderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Bottom'#2 + +#6#8'TabOrder'#2#4#4'Text'#6#14'LazDocPathEdit'#0#0#0#22'TSelectDirectoryDia' + +'log'#21'SelectDirectoryDialog'#11'FilterIndex'#2#0#4'left'#3't'#1#3'top'#2#8 + +#0#0#0 +]); diff --git a/ide/frames/options_fpdoc.pas b/ide/frames/options_fpdoc.pas new file mode 100644 index 0000000000..a6d9f25c8b --- /dev/null +++ b/ide/frames/options_fpdoc.pas @@ -0,0 +1,111 @@ +{ + *************************************************************************** + * * + * 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_fpdoc; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, LResources, Forms, Dialogs, StdCtrls, + EnvironmentOpts, LazarusIDEStrConsts, IDEProcs; + +type + + { TFpDocOptionsFrame } + + TFpDocOptionsFrame = class(TAbstractOptionsFrame) + LazDocAddPathButton: TButton; + LazDocBrowseButton: TButton; + LazDocDeletePathButton: TButton; + LazDocListBox: TListBox; + LazDocPathEdit: TEdit; + LazDocPathsGroupBox: TGroupBox; + SelectDirectoryDialog: TSelectDirectoryDialog; + procedure LazDocDeletePathButtonClick(Sender: TObject); + procedure LazDocAddPathButtonClick(Sender: TObject); + procedure LazDocBrowseButtonClick(Sender: TObject); + private + public + function Check: Boolean; override; + function GetTitle: String; override; + procedure Setup; override; + procedure ReadSettings(AOptions: TEnvironmentOptions); override; + procedure WriteSettings(AOptions: TEnvironmentOptions); override; + end; + +implementation + +{ TFpDocOptionsFrame } + +function TFpDocOptionsFrame.Check: Boolean; +begin + Result := True; +end; + +function TFpDocOptionsFrame.GetTitle: String; +begin + Result := lisFPDocEditor; +end; + +procedure TFpDocOptionsFrame.Setup; +begin + LazDocPathsGroupBox.Caption := lisCodeHelpPathsGroupBox; + LazDocAddPathButton.Caption := lisCodeHelpAddPathButton; + LazDocDeletePathButton.Caption := lisCodeHelpDeletePathButton; + + LazDocPathEdit.Clear; +end; + +procedure TFpDocOptionsFrame.ReadSettings(AOptions: TEnvironmentOptions); +begin + with AOptions do + SplitString(LazDocPaths, ';', LazDocListBox.Items); +end; + +procedure TFpDocOptionsFrame.WriteSettings(AOptions: TEnvironmentOptions); +begin + with AOptions do + LazDocPaths := StringListToText(LazDocListBox.Items, ';', true); +end; + +procedure TFpDocOptionsFrame.LazDocAddPathButtonClick(Sender: TObject); +begin + if LazDocPathEdit.Text <> '' then + LazDocListBox.Items.Add(LazDocPathEdit.Text); +end; + +procedure TFpDocOptionsFrame.LazDocBrowseButtonClick(Sender: TObject); +begin + if SelectDirectoryDialog.Execute then + LazDocPathEdit.Text := SelectDirectoryDialog.FileName; +end; + +procedure TFpDocOptionsFrame.LazDocDeletePathButtonClick(Sender: TObject); +begin + LazDocListBox.Items.Delete(LazDocListBox.ItemIndex); +end; + +initialization + {$I options_fpdoc.lrs} + +end. + diff --git a/ide/frames/options_naming.lfm b/ide/frames/options_naming.lfm new file mode 100644 index 0000000000..1c0fd14daf --- /dev/null +++ b/ide/frames/options_naming.lfm @@ -0,0 +1,77 @@ +object NamingOptionsFrame: TNamingOptionsFrame + Height = 367 + Width = 507 + ClientHeight = 367 + ClientWidth = 507 + TabOrder = 0 + Visible = False + DesignLeft = 369 + DesignTop = 316 + object PascalFileExtRadiogroup: TRadioGroup + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Height = 47 + Width = 507 + Align = alTop + AutoFill = True + Caption = 'PascalFileExtRadiogroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 2 + Columns = 2 + TabOrder = 0 + end + object AmbiguousFileActionRadioGroup: TRadioGroup + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = CharcaseFileActionRadioGroup + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Height = 100 + Top = 53 + Width = 507 + Align = alTop + AutoFill = True + BorderSpacing.Top = 6 + Caption = 'AmbiguousFileActionRadioGroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 2 + Columns = 2 + TabOrder = 1 + end + object CharcaseFileActionRadioGroup: TRadioGroup + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = AmbiguousFileActionRadioGroup + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Height = 85 + Top = 159 + Width = 507 + Align = alTop + AutoFill = True + BorderSpacing.Top = 6 + Caption = 'CharcaseFileActionRadioGroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 2 + Columns = 2 + TabOrder = 2 + end +end diff --git a/ide/frames/options_naming.lrs b/ide/frames/options_naming.lrs new file mode 100644 index 0000000000..ccb0d1775f --- /dev/null +++ b/ide/frames/options_naming.lrs @@ -0,0 +1,39 @@ +{ This is an automatically generated lazarus resource file } + +LazarusResources.Add('TNamingOptionsFrame','FORMDATA',[ + 'TPF0'#19'TNamingOptionsFrame'#18'NamingOptionsFrame'#6'Height'#3'o'#1#5'Widt' + +'h'#3#251#1#12'ClientHeight'#3'o'#1#11'ClientWidth'#3#251#1#8'TabOrder'#2#0#7 + +'Visible'#8#10'DesignLeft'#3'q'#1#9'DesignTop'#3'<'#1#0#11'TRadioGroup'#23'P' + +'ascalFileExtRadiogroup'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSide' + +'Top.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSid' + +'eRight.Side'#7#9'asrBottom'#6'Height'#2'/'#5'Width'#3#251#1#5'Align'#7#5'al' + +'Top'#8'AutoFill'#9#7'Caption'#6#23'PascalFileExtRadiogroup'#28'ChildSizing.' + +'LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.E' + +'nlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVert' + +'ical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14 + +'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'Chil' + +'dSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.Controls' + +'PerLine'#2#2#7'Columns'#2#2#8'TabOrder'#2#0#0#0#11'TRadioGroup'#29'Ambiguou' + +'sFileActionRadioGroup'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideT' + +'op.Control'#7#28'CharcaseFileActionRadioGroup'#23'AnchorSideRight.Control'#7 + +#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#6'Height'#2'd'#3'Top'#2'5' + +#5'Width'#3#251#1#5'Align'#7#5'alTop'#8'AutoFill'#9#17'BorderSpacing.Top'#2#6 + +#7'Caption'#6#29'AmbiguousFileActionRadioGroup'#28'ChildSizing.LeftRightSpac' + +'ing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizon' + +'tal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'cr' + +'sHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChild' + +'s'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layou' + +'t'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2#7 + +'Columns'#2#2#8'TabOrder'#2#1#0#0#11'TRadioGroup'#28'CharcaseFileActionRadio' + +'Group'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#29 + +'AmbiguousFileActionRadioGroup'#23'AnchorSideRight.Control'#7#5'Owner'#20'An' + +'chorSideRight.Side'#7#9'asrBottom'#6'Height'#2'U'#3'Top'#3#159#0#5'Width'#3 + +#251#1#5'Align'#7#5'alTop'#8'AutoFill'#9#17'BorderSpacing.Top'#2#6#7'Caption' + +#6#28'CharcaseFileActionRadioGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28 + +'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'cr' + +'sHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousC' + +'hildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildS' + +'izing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclL' + +'eftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2#7'Columns'#2 + +#2#8'TabOrder'#2#2#0#0#0 +]); diff --git a/ide/frames/options_naming.pas b/ide/frames/options_naming.pas new file mode 100644 index 0000000000..165c4f2af8 --- /dev/null +++ b/ide/frames/options_naming.pas @@ -0,0 +1,141 @@ +{ + *************************************************************************** + * * + * 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_naming; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, LResources, Forms, ExtCtrls, + EnvironmentOpts, LazarusIDEStrConsts; + +type + + { TNamingOptionsFrame } + + TNamingOptionsFrame = class(TAbstractOptionsFrame) + AmbiguousFileActionRadioGroup: TRadioGroup; + CharcaseFileActionRadioGroup: TRadioGroup; + PascalFileExtRadiogroup: TRadioGroup; + private + public + function Check: Boolean; override; + function GetTitle: String; override; + procedure Setup; override; + procedure ReadSettings(AOptions: TEnvironmentOptions); override; + procedure WriteSettings(AOptions: TEnvironmentOptions); override; + end; + +implementation + +{ TNamingOptionsFrame } + +function TNamingOptionsFrame.Check: Boolean; +begin + Result := True; +end; + +function TNamingOptionsFrame.GetTitle: String; +begin + Result := dlgNaming; +end; + +procedure TNamingOptionsFrame.Setup; +var + pe: TPascalExtType; +begin + with PascalFileExtRadiogroup do + begin + Caption:=dlgPasExt; + with Items do + begin + BeginUpdate; + for pe:=Low(TPascalExtType) to High(TPascalExtType) do + if pe<>petNone then + Add(PascalExtension[pe]); + EndUpdate; + end; + PascalFileExtRadiogroup.Columns:=PascalFileExtRadiogroup.Items.Count; + end; + + with CharcaseFileActionRadioGroup do + begin + Caption:=dlgCharCaseFileAct; + with Items do + begin + BeginUpdate; + Add(dlgEnvAsk); + Add(dlgAutoRen); + Add(dlgnoAutomaticRenaming); + EndUpdate; + end; + end; + + with AmbiguousFileActionRadioGroup do + begin + Caption:=dlgAmbigFileAct; + with Items do + begin + BeginUpdate; + Add(dlgEnvAsk); + Add(dlgAutoDel); + Add(dlgAutoRen); + Add(dlgAmbigWarn); + Add(dlgIgnoreVerb); + EndUpdate; + end; + end; +end; + +procedure TNamingOptionsFrame.ReadSettings(AOptions: TEnvironmentOptions); +var + i: integer; +begin + with AOptions do + begin + for i := 0 to PascalFileExtRadiogroup.Items.Count-1 do + if PascalFileExtRadiogroup.Items[i] = PascalExtension[PascalFileExtension] then + PascalFileExtRadiogroup.ItemIndex := i; + + CharCaseFileActionRadioGroup.ItemIndex := ord(CharCaseFileAction); + AmbiguousFileActionRadioGroup.ItemIndex := ord(AmbiguousFileAction); + end; +end; + +procedure TNamingOptionsFrame.WriteSettings(AOptions: TEnvironmentOptions); +begin + with AOptions do + begin + if PascalFileExtRadiogroup.ItemIndex >= 0 then + PascalFileExtension := PascalExtToType(PascalFileExtRadiogroup.Items[PascalFileExtRadiogroup.ItemIndex]) + else + PascalFileExtension := petPAS; + CharcaseFileAction := TCharCaseFileAction(CharcaseFileActionRadioGroup.ItemIndex); + AmbiguousFileAction := TAmbiguousFileAction(AmbiguousFileActionRadioGroup.ItemIndex); + end; +end; + +initialization + {$I options_naming.lrs} + +end. + diff --git a/ide/lazarus.lpi b/ide/lazarus.lpi index 63721d7dce..aab8a61790 100644 --- a/ide/lazarus.lpi +++ b/ide/lazarus.lpi @@ -41,7 +41,7 @@ - + @@ -93,6 +93,30 @@ + + + + + + + + + + + + + + + + + + + + + + + +