mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-19 22:09:29 +01:00
ide: project options: replace monolith project options dialog with project options frames, register them in IDE options
git-svn-id: trunk@23318 -
This commit is contained in:
parent
cda8e1ba09
commit
bad42d79bc
24
.gitattributes
vendored
24
.gitattributes
vendored
@ -3447,6 +3447,27 @@ ide/frames/naming_options.pas svneol=native#text/pascal
|
||||
ide/frames/oi_options.lfm svneol=native#text/plain
|
||||
ide/frames/oi_options.lrs svneol=native#text/pascal
|
||||
ide/frames/oi_options.pas svneol=native#text/pascal
|
||||
ide/frames/project_application_options.lfm svneol=native#text/plain
|
||||
ide/frames/project_application_options.lrs svneol=native#text/plain
|
||||
ide/frames/project_application_options.pas svneol=native#text/plain
|
||||
ide/frames/project_forms_options.lfm svneol=native#text/plain
|
||||
ide/frames/project_forms_options.lrs svneol=native#text/plain
|
||||
ide/frames/project_forms_options.pas svneol=native#text/plain
|
||||
ide/frames/project_i18n_options.lfm svneol=native#text/plain
|
||||
ide/frames/project_i18n_options.lrs svneol=native#text/plain
|
||||
ide/frames/project_i18n_options.pas svneol=native#text/plain
|
||||
ide/frames/project_lazdoc_options.lfm svneol=native#text/plain
|
||||
ide/frames/project_lazdoc_options.lrs svneol=native#text/plain
|
||||
ide/frames/project_lazdoc_options.pas svneol=native#text/plain
|
||||
ide/frames/project_misc_options.lfm svneol=native#text/plain
|
||||
ide/frames/project_misc_options.lrs svneol=native#text/plain
|
||||
ide/frames/project_misc_options.pas svneol=native#text/plain
|
||||
ide/frames/project_save_options.lfm svneol=native#text/plain
|
||||
ide/frames/project_save_options.lrs svneol=native#text/plain
|
||||
ide/frames/project_save_options.pas svneol=native#text/plain
|
||||
ide/frames/project_versioninfo_options.lfm svneol=native#text/plain
|
||||
ide/frames/project_versioninfo_options.lrs svneol=native#text/plain
|
||||
ide/frames/project_versioninfo_options.pas svneol=native#text/plain
|
||||
ide/frames/window_options.lfm svneol=native#text/plain
|
||||
ide/frames/window_options.lrs svneol=native#text/pascal
|
||||
ide/frames/window_options.pas svneol=native#text/pascal
|
||||
@ -3563,9 +3584,6 @@ ide/projecticon.pas svneol=native#text/pascal
|
||||
ide/projectinspector.lfm svneol=native#text/plain
|
||||
ide/projectinspector.lrs svneol=native#text/pascal
|
||||
ide/projectinspector.pas svneol=native#text/pascal
|
||||
ide/projectopts.lfm svneol=native#text/plain
|
||||
ide/projectopts.lrs svneol=native#text/pascal
|
||||
ide/projectopts.pp svneol=native#text/pascal
|
||||
ide/projectresources.pas svneol=native#text/pascal
|
||||
ide/projectwizarddlg.lfm svneol=native#text/plain
|
||||
ide/projectwizarddlg.lrs svneol=native#text/pascal
|
||||
|
||||
@ -66,6 +66,7 @@ type
|
||||
function CheckUnitPathForAmbiguousPascalFiles(const BaseDir, TheUnitPath,
|
||||
CompiledExt, ContextDescription: string
|
||||
): TModalResult; virtual; abstract;
|
||||
function CreateProjectApplicationBundle: Boolean; virtual; abstract;
|
||||
|
||||
function BackupFile(const Filename: string): TModalResult; virtual; abstract;
|
||||
|
||||
|
||||
@ -44,7 +44,8 @@ uses
|
||||
// IDE
|
||||
LazarusIDEStrConsts, DialogProcs, IDEProcs, CodeToolsOptions, InputHistory,
|
||||
ProjectResources, MiscOptions, LazConf, EnvironmentOpts, TransferMacros,
|
||||
CompilerOptions, OutputFilter, Compiler, Project, BaseBuildManager;
|
||||
CompilerOptions, OutputFilter, Compiler, Project, BaseBuildManager,
|
||||
ApplicationBundle;
|
||||
|
||||
type
|
||||
|
||||
@ -145,6 +146,7 @@ type
|
||||
function CheckUnitPathForAmbiguousPascalFiles(const BaseDir, TheUnitPath,
|
||||
CompiledExt, ContextDescription: string
|
||||
): TModalResult; override;
|
||||
function CreateProjectApplicationBundle: Boolean; override;
|
||||
function BackupFile(const Filename: string): TModalResult; override;
|
||||
|
||||
function GetResourceType(AnUnitInfo: TUnitInfo): TResourceType;
|
||||
@ -895,6 +897,28 @@ begin
|
||||
Result:=mrOk;
|
||||
end;
|
||||
|
||||
function TBuildManager.CreateProjectApplicationBundle: Boolean;
|
||||
var
|
||||
TargetExeName: string;
|
||||
begin
|
||||
Result := False;
|
||||
if Project1.MainUnitInfo = nil then
|
||||
Exit;
|
||||
if Project1.IsVirtual then
|
||||
TargetExeName := GetTestBuildDirectory +
|
||||
ExtractFilename(Project1.MainUnitInfo.Filename)
|
||||
else
|
||||
TargetExeName := Project1.CompilerOptions.CreateTargetFilename(
|
||||
Project1.MainFilename);
|
||||
|
||||
if not (CreateApplicationBundle(TargetExeName, Project1.Title, True) in
|
||||
[mrOk, mrIgnore]) then
|
||||
Exit;
|
||||
if not (CreateAppBundleSymbolicLink(TargetExeName, True) in [mrOk, mrIgnore]) then
|
||||
Exit;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function TBuildManager.BackupFile(const Filename: string): TModalResult;
|
||||
var BackupFilename, CounterFilename: string;
|
||||
AText,ACaption:string;
|
||||
|
||||
@ -47,7 +47,7 @@ uses
|
||||
SynEdit, CodeCache, CodeToolManager,
|
||||
SrcEditorIntf, MenuIntf, IDECommands, LazIDEIntf, ProjectIntf, IDEDialogs,
|
||||
LazConf,
|
||||
CompilerOptions, EditorOptions, EnvironmentOpts, ProjectOpts, KeyMapping, SourceEditor,
|
||||
CompilerOptions, EditorOptions, EnvironmentOpts, KeyMapping, SourceEditor,
|
||||
ProjectDefs, Project, IDEProcs, InputHistory, Debugger, CmdLineDebugger,
|
||||
IDEOptionDefs, LazarusIDEStrConsts,
|
||||
MainBar, MainIntf, MainBase, BaseBuildManager,
|
||||
@ -2171,7 +2171,7 @@ begin
|
||||
[LaunchingCmdLine, #13, #13, #13, #13]),
|
||||
mtError, [mbYes, mbNo, mbCancel], 0) = mrYes then
|
||||
begin
|
||||
if not CreateProjectApplicationBundle(Project1) then Exit;
|
||||
if not BuildBoss.CreateProjectApplicationBundle then Exit;
|
||||
end
|
||||
else
|
||||
Exit;
|
||||
|
||||
248
ide/frames/project_application_options.lfm
Normal file
248
ide/frames/project_application_options.lfm
Normal file
@ -0,0 +1,248 @@
|
||||
inherited ProjectApplicationOptionsFrame: TProjectApplicationOptionsFrame
|
||||
Height = 425
|
||||
Width = 522
|
||||
ClientHeight = 425
|
||||
ClientWidth = 522
|
||||
TabOrder = 0
|
||||
DesignLeft = 411
|
||||
DesignTop = 290
|
||||
object AppSettingsGroupBox: TGroupBox[0]
|
||||
Left = 0
|
||||
Height = 271
|
||||
Top = 0
|
||||
Width = 522
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
Caption = 'AppSettingsGroupBox'
|
||||
ClientHeight = 253
|
||||
ClientWidth = 518
|
||||
TabOrder = 0
|
||||
object TitleLabel: TLabel
|
||||
AnchorSideLeft.Control = AppSettingsGroupBox
|
||||
AnchorSideTop.Control = TitleEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 9
|
||||
Width = 46
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'TitleLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object IconLabel: TLabel
|
||||
AnchorSideLeft.Control = AppSettingsGroupBox
|
||||
AnchorSideTop.Control = IconPanel
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 33
|
||||
Width = 47
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'IconLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object IconTrackLabel: TLabel
|
||||
AnchorSideLeft.Control = IconTrack
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = IconTrack
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = IconTrack
|
||||
Left = 240
|
||||
Height = 14
|
||||
Top = 174
|
||||
Width = 73
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Right = 6
|
||||
Caption = 'IconTrackLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object TitleEdit: TEdit
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
Left = 106
|
||||
Height = 21
|
||||
Top = 6
|
||||
Width = 406
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 100
|
||||
BorderSpacing.Around = 6
|
||||
TabOrder = 0
|
||||
Text = 'TitleEdit'
|
||||
end
|
||||
object UseAppBundleCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = AppSettingsGroupBox
|
||||
AnchorSideTop.Control = IconTrack
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 17
|
||||
Top = 207
|
||||
Width = 134
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'UseAppBundleCheckBox'
|
||||
TabOrder = 1
|
||||
end
|
||||
object UseXPManifestCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = AppSettingsGroupBox
|
||||
AnchorSideTop.Control = UseAppBundleCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 17
|
||||
Top = 230
|
||||
Width = 136
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'UseXPManifestCheckBox'
|
||||
TabOrder = 2
|
||||
end
|
||||
object IconPanel: TPanel
|
||||
AnchorSideLeft.Control = AppSettingsGroupBox
|
||||
AnchorSideTop.Control = TitleEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 106
|
||||
Height = 128
|
||||
Top = 33
|
||||
Width = 128
|
||||
BorderSpacing.Left = 106
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 6
|
||||
BevelOuter = bvNone
|
||||
BorderWidth = 1
|
||||
BorderStyle = bsSingle
|
||||
ClientHeight = 124
|
||||
ClientWidth = 124
|
||||
TabOrder = 3
|
||||
object IconImage: TImage
|
||||
Left = 1
|
||||
Height = 122
|
||||
Top = 1
|
||||
Width = 122
|
||||
Align = alClient
|
||||
Center = True
|
||||
OnPictureChanged = IconImagePictureChanged
|
||||
end
|
||||
end
|
||||
object LoadIconButton: TBitBtn
|
||||
AnchorSideLeft.Control = IconPanel
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = IconPanel
|
||||
AnchorSideBottom.Control = IconPanel
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 240
|
||||
Height = 23
|
||||
Top = 33
|
||||
Width = 102
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'LoadIconButton'
|
||||
NumGlyphs = 0
|
||||
OnClick = LoadIconButtonClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object SaveIconButton: TBitBtn
|
||||
AnchorSideLeft.Control = LoadIconButton
|
||||
AnchorSideTop.Control = LoadIconButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 240
|
||||
Height = 23
|
||||
Top = 62
|
||||
Width = 103
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'SaveIconButton'
|
||||
NumGlyphs = 0
|
||||
OnClick = SaveIconButtonClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object ClearIconButton: TBitBtn
|
||||
AnchorSideLeft.Control = SaveIconButton
|
||||
AnchorSideTop.Control = SaveIconButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 240
|
||||
Height = 23
|
||||
Top = 91
|
||||
Width = 104
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'ClearIconButton'
|
||||
NumGlyphs = 0
|
||||
OnClick = ClearIconButtonClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object IconTrack: TTrackBar
|
||||
AnchorSideLeft.Control = IconPanel
|
||||
AnchorSideTop.Control = IconPanel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = IconPanel
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 106
|
||||
Height = 40
|
||||
Top = 161
|
||||
Width = 128
|
||||
Max = 0
|
||||
OnChange = IconTrackChange
|
||||
Position = 0
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 7
|
||||
end
|
||||
end
|
||||
object OutputSettingsGroupBox: TGroupBox[1]
|
||||
Left = 0
|
||||
Height = 71
|
||||
Top = 277
|
||||
Width = 522
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'OutputSettingsGroupBox'
|
||||
ClientHeight = 53
|
||||
ClientWidth = 518
|
||||
TabOrder = 1
|
||||
object TargetFileLabel: TLabel
|
||||
AnchorSideLeft.Control = OutputSettingsGroupBox
|
||||
AnchorSideTop.Control = OutputSettingsGroupBox
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 74
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'TargetFileLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object TargetFileEdit: TEdit
|
||||
AnchorSideLeft.Control = OutputSettingsGroupBox
|
||||
AnchorSideTop.Control = TargetFileLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = OutputSettingsGroupBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 506
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Around = 6
|
||||
TabOrder = 0
|
||||
Text = 'TargetFileEdit'
|
||||
end
|
||||
end
|
||||
object CreateAppBundleButton: TBitBtn[2]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = OutputSettingsGroupBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 23
|
||||
Top = 354
|
||||
Width = 142
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'CreateAppBundleButton'
|
||||
NumGlyphs = 0
|
||||
OnClick = CreateAppBundleButtonClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object OpenPictureDialog1: TOpenPictureDialog[3]
|
||||
left = 8
|
||||
top = 392
|
||||
end
|
||||
object SavePictureDialog1: TSavePictureDialog[4]
|
||||
Title = 'Save file as'
|
||||
left = 37
|
||||
top = 392
|
||||
end
|
||||
end
|
||||
85
ide/frames/project_application_options.lrs
Normal file
85
ide/frames/project_application_options.lrs
Normal file
@ -0,0 +1,85 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectApplicationOptionsFrame','FORMDATA',[
|
||||
'TPF0'#241#31'TProjectApplicationOptionsFrame'#30'ProjectApplicationOptionsFr'
|
||||
+'ame'#6'Height'#3#169#1#5'Width'#3#10#2#12'ClientHeight'#3#169#1#11'ClientWi'
|
||||
+'dth'#3#10#2#8'TabOrder'#2#0#10'DesignLeft'#3#155#1#9'DesignTop'#3'"'#1#0#242
|
||||
+#2#0#9'TGroupBox'#19'AppSettingsGroupBox'#4'Left'#2#0#6'Height'#3#15#1#3'Top'
|
||||
+#2#0#5'Width'#3#10#2#5'Align'#7#5'alTop'#8'AutoSize'#9#7'Caption'#6#19'AppSe'
|
||||
+'ttingsGroupBox'#12'ClientHeight'#3#253#0#11'ClientWidth'#3#6#2#8'TabOrder'#2
|
||||
+#0#0#6'TLabel'#10'TitleLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGro'
|
||||
+'upBox'#21'AnchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9
|
||||
+'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5'Width'#2'.'#18'BorderSpa'
|
||||
+'cing.Left'#2#6#7'Caption'#6#10'TitleLabel'#11'ParentColor'#8#0#0#6'TLabel'#9
|
||||
+'IconLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSi'
|
||||
+'deTop.Control'#7#9'IconPanel'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'!'#5'Widt'
|
||||
+'h'#2'/'#18'BorderSpacing.Left'#2#6#7'Caption'#6#9'IconLabel'#11'ParentColor'
|
||||
+#8#0#0#6'TLabel'#14'IconTrackLabel'#22'AnchorSideLeft.Control'#7#9'IconTrack'
|
||||
+#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconTr'
|
||||
+'ack'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#9
|
||||
+'IconTrack'#4'Left'#3#240#0#6'Height'#2#14#3'Top'#3#174#0#5'Width'#2'I'#18'B'
|
||||
+'orderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#14'IconTrac'
|
||||
+'kLabel'#11'ParentColor'#8#0#0#5'TEdit'#9'TitleEdit'#19'AnchorSideLeft.Side'
|
||||
+#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2#21#3'Top'#2#6#5'Width'#3#150#1#5'Al'
|
||||
+'ign'#7#5'alTop'#18'BorderSpacing.Left'#2'd'#20'BorderSpacing.Around'#2#6#8
|
||||
+'TabOrder'#2#0#4'Text'#6#9'TitleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckB'
|
||||
+'ox'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.C'
|
||||
+'ontrol'#7#9'IconTrack'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6
|
||||
+'Height'#2#17#3'Top'#3#207#0#5'Width'#3#134#0#20'BorderSpacing.Around'#2#6#7
|
||||
+'Caption'#6#20'UseAppBundleCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#21'Use'
|
||||
+'XPManifestCheckBox'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21
|
||||
+'AnchorSideTop.Control'#7#20'UseAppBundleCheckBox'#18'AnchorSideTop.Side'#7#9
|
||||
+'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#3#230#0#5'Width'#3#136#0#20'Bo'
|
||||
+'rderSpacing.Around'#2#6#7'Caption'#6#21'UseXPManifestCheckBox'#8'TabOrder'#2
|
||||
+#2#0#0#6'TPanel'#9'IconPanel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGro'
|
||||
+'upBox'#21'AnchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9
|
||||
+'asrBottom'#4'Left'#2'j'#6'Height'#3#128#0#3'Top'#2'!'#5'Width'#3#128#0#18'B'
|
||||
+'orderSpacing.Left'#2'j'#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2
|
||||
+#6#10'BevelOuter'#7#6'bvNone'#11'BorderWidth'#2#1#11'BorderStyle'#7#8'bsSing'
|
||||
+'le'#12'ClientHeight'#2'|'#11'ClientWidth'#2'|'#8'TabOrder'#2#3#0#6'TImage'#9
|
||||
+'IconImage'#4'Left'#2#1#6'Height'#2'z'#3'Top'#2#1#5'Width'#2'z'#5'Align'#7#8
|
||||
+'alClient'#6'Center'#9#16'OnPictureChanged'#7#23'IconImagePictureChanged'#0#0
|
||||
+#0#7'TBitBtn'#14'LoadIconButton'#22'AnchorSideLeft.Control'#7#9'IconPanel'#19
|
||||
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconPanel'
|
||||
+#24'AnchorSideBottom.Control'#7#9'IconPanel'#21'AnchorSideBottom.Side'#7#9'a'
|
||||
+'srBottom'#4'Left'#3#240#0#6'Height'#2#23#3'Top'#2'!'#5'Width'#2'f'#8'AutoSi'
|
||||
+'ze'#9#18'BorderSpacing.Left'#2#6#7'Caption'#6#14'LoadIconButton'#9'NumGlyph'
|
||||
+'s'#2#0#7'OnClick'#7#19'LoadIconButtonClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'
|
||||
+#14'SaveIconButton'#22'AnchorSideLeft.Control'#7#14'LoadIconButton'#21'Ancho'
|
||||
+'rSideTop.Control'#7#14'LoadIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'
|
||||
+#4'Left'#3#240#0#6'Height'#2#23#3'Top'#2'>'#5'Width'#2'g'#8'AutoSize'#9#17'B'
|
||||
+'orderSpacing.Top'#2#6#7'Caption'#6#14'SaveIconButton'#9'NumGlyphs'#2#0#7'On'
|
||||
+'Click'#7#19'SaveIconButtonClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#15'ClearIco'
|
||||
+'nButton'#22'AnchorSideLeft.Control'#7#14'SaveIconButton'#21'AnchorSideTop.C'
|
||||
+'ontrol'#7#14'SaveIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3
|
||||
+#240#0#6'Height'#2#23#3'Top'#2'['#5'Width'#2'h'#8'AutoSize'#9#17'BorderSpaci'
|
||||
+'ng.Top'#2#6#7'Caption'#6#15'ClearIconButton'#9'NumGlyphs'#2#0#7'OnClick'#7
|
||||
+#20'ClearIconButtonClick'#8'TabOrder'#2#6#0#0#9'TTrackBar'#9'IconTrack'#22'A'
|
||||
+'nchorSideLeft.Control'#7#9'IconPanel'#21'AnchorSideTop.Control'#7#9'IconPan'
|
||||
+'el'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'I'
|
||||
+'conPanel'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2
|
||||
+'('#3'Top'#3#161#0#5'Width'#3#128#0#3'Max'#2#0#8'OnChange'#7#15'IconTrackCha'
|
||||
+'nge'#8'Position'#2#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrd'
|
||||
+'er'#2#7#0#0#0#242#2#1#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#0#6
|
||||
+'Height'#2'G'#3'Top'#3#21#1#5'Width'#3#10#2#5'Align'#7#5'alTop'#8'AutoSize'#9
|
||||
+#17'BorderSpacing.Top'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'Client'
|
||||
+'Height'#2'5'#11'ClientWidth'#3#6#2#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFil'
|
||||
+'eLabel'#22'AnchorSideLeft.Control'#7#22'OutputSettingsGroupBox'#21'AnchorSi'
|
||||
,'deTop.Control'#7#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2#14#3'To'
|
||||
+'p'#2#6#5'Width'#2'J'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'TargetFil'
|
||||
+'eLabel'#11'ParentColor'#8#0#0#5'TEdit'#14'TargetFileEdit'#22'AnchorSideLeft'
|
||||
+'.Control'#7#22'OutputSettingsGroupBox'#21'AnchorSideTop.Control'#7#15'Targe'
|
||||
+'tFileLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Contro'
|
||||
+'l'#7#22'OutputSettingsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'L'
|
||||
+'eft'#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#3#250#1#7'Anchors'#11#5'akTop'
|
||||
+#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Text'
|
||||
+#6#14'TargetFileEdit'#0#0#0#242#2#2#7'TBitBtn'#21'CreateAppBundleButton'#22
|
||||
+'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#22'OutputSet'
|
||||
+'tingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2
|
||||
+#23#3'Top'#3'b'#1#5'Width'#3#142#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7
|
||||
+'Caption'#6#21'CreateAppBundleButton'#9'NumGlyphs'#2#0#7'OnClick'#7#26'Creat'
|
||||
+'eAppBundleButtonClick'#8'TabOrder'#2#2#0#0#242#2#3#18'TOpenPictureDialog'#18
|
||||
+'OpenPictureDialog1'#4'left'#2#8#3'top'#3#136#1#0#0#242#2#4#18'TSavePictureD'
|
||||
+'ialog'#18'SavePictureDialog1'#5'Title'#6#12'Save file as'#4'left'#2'%'#3'to'
|
||||
+'p'#3#136#1#0#0#0
|
||||
]);
|
||||
237
ide/frames/project_application_options.pas
Normal file
237
ide/frames/project_application_options.pas
Normal file
@ -0,0 +1,237 @@
|
||||
unit project_application_options;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, StdCtrls, Buttons, ComCtrls, ExtDlgs, Math, LCLType, IDEOptionsIntf,
|
||||
Project, LazarusIDEStrConsts, EnvironmentOpts, ApplicationBundle;
|
||||
|
||||
type
|
||||
|
||||
{ TProjectApplicationOptionsFrame }
|
||||
|
||||
TProjectApplicationOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
AppSettingsGroupBox: TGroupBox;
|
||||
ClearIconButton: TBitBtn;
|
||||
CreateAppBundleButton: TBitBtn;
|
||||
IconImage: TImage;
|
||||
IconLabel: TLabel;
|
||||
IconPanel: TPanel;
|
||||
IconTrack: TTrackBar;
|
||||
IconTrackLabel: TLabel;
|
||||
LoadIconButton: TBitBtn;
|
||||
OpenPictureDialog1: TOpenPictureDialog;
|
||||
OutputSettingsGroupBox: TGroupBox;
|
||||
SaveIconButton: TBitBtn;
|
||||
SavePictureDialog1: TSavePictureDialog;
|
||||
TargetFileEdit: TEdit;
|
||||
TargetFileLabel: TLabel;
|
||||
TitleEdit: TEdit;
|
||||
TitleLabel: TLabel;
|
||||
UseAppBundleCheckBox: TCheckBox;
|
||||
UseXPManifestCheckBox: TCheckBox;
|
||||
procedure ClearIconButtonClick(Sender: TObject);
|
||||
procedure CreateAppBundleButtonClick(Sender: TObject);
|
||||
procedure IconImagePictureChanged(Sender: TObject);
|
||||
procedure IconTrackChange(Sender: TObject);
|
||||
procedure LoadIconButtonClick(Sender: TObject);
|
||||
procedure SaveIconButtonClick(Sender: TObject);
|
||||
private
|
||||
FProject: TProject;
|
||||
procedure SetIconFromStream(Value: TStream);
|
||||
function GetIconAsStream: TStream;
|
||||
public
|
||||
function GetTitle: string; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
function CreateProjectApplicationBundle(AProject: TProject): boolean;
|
||||
var
|
||||
TargetExeName: string;
|
||||
begin
|
||||
Result := False;
|
||||
if AProject.MainUnitInfo = nil then
|
||||
Exit;
|
||||
if AProject.IsVirtual then
|
||||
TargetExeName := EnvironmentOptions.GetTestBuildDirectory +
|
||||
ExtractFilename(AProject.MainUnitInfo.Filename)
|
||||
else
|
||||
TargetExeName := AProject.CompilerOptions.CreateTargetFilename(
|
||||
AProject.MainFilename);
|
||||
|
||||
if not (CreateApplicationBundle(TargetExeName, AProject.Title, True) in
|
||||
[mrOk, mrIgnore]) then
|
||||
Exit;
|
||||
if not (CreateAppBundleSymbolicLink(TargetExeName, True) in [mrOk, mrIgnore]) then
|
||||
Exit;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
{ TProjectApplicationOptionsFrame }
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.IconImagePictureChanged(Sender: TObject);
|
||||
var
|
||||
HasIcon: boolean;
|
||||
cx, cy: integer;
|
||||
begin
|
||||
HasIcon := (IconImage.Picture.Graphic <> nil) and
|
||||
(not IconImage.Picture.Graphic.Empty);
|
||||
IconTrack.Enabled := HasIcon;
|
||||
if HasIcon then
|
||||
begin
|
||||
IconTrack.Min := 0;
|
||||
IconTrack.Max := IconImage.Picture.Icon.Count - 1;
|
||||
IconTrack.Position := IconImage.Picture.Icon.Current;
|
||||
IconImage.Picture.Icon.GetSize(cx, cy);
|
||||
IconTrackLabel.Caption :=
|
||||
Format(dlgPOIconDesc, [cx, cy, PIXELFORMAT_BPP[IconImage.Picture.Icon.PixelFormat]]);
|
||||
end
|
||||
else
|
||||
IconTrackLabel.Caption := dlgPOIconDescNone;
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.IconTrackChange(Sender: TObject);
|
||||
begin
|
||||
IconImage.Picture.Icon.Current :=
|
||||
Max(0, Min(IconImage.Picture.Icon.Count - 1, IconTrack.Position));
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.ClearIconButtonClick(Sender: TObject);
|
||||
begin
|
||||
IconImage.Picture.Clear;
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.CreateAppBundleButtonClick(Sender: TObject);
|
||||
begin
|
||||
CreateProjectApplicationBundle(FProject);
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.LoadIconButtonClick(Sender: TObject);
|
||||
begin
|
||||
if OpenPictureDialog1.Execute then
|
||||
IconImage.Picture.LoadFromFile(OpenPictureDialog1.FileName);
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.SaveIconButtonClick(Sender: TObject);
|
||||
begin
|
||||
if SavePictureDialog1.Execute then
|
||||
IconImage.Picture.SaveToFile(SavePictureDialog1.FileName);
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.SetIconFromStream(Value: TStream);
|
||||
begin
|
||||
IconImage.Picture.Clear;
|
||||
if Value <> nil then
|
||||
try
|
||||
IconImage.Picture.Icon.LoadFromStream(Value);
|
||||
except
|
||||
on E: Exception do
|
||||
MessageDlg(E.Message, mtError, [mbOK], 0);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TProjectApplicationOptionsFrame.GetIconAsStream: TStream;
|
||||
begin
|
||||
Result := nil;
|
||||
if not ((IconImage.Picture.Graphic = nil) or IconImage.Picture.Graphic.Empty) then
|
||||
begin
|
||||
Result := TMemoryStream.Create;
|
||||
IconImage.Picture.Icon.SaveToStream(Result);
|
||||
Result.Position := 0;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TProjectApplicationOptionsFrame.GetTitle: string;
|
||||
begin
|
||||
Result := dlgPOApplication;
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
begin
|
||||
AppSettingsGroupBox.Caption := dlgApplicationSettings;
|
||||
TitleLabel.Caption := dlgPOTitle;
|
||||
TitleEdit.Text := '';
|
||||
OutputSettingsGroupBox.Caption := dlgPOOutputSettings;
|
||||
TargetFileLabel.Caption := dlgPOTargetFileName;
|
||||
TargetFileEdit.Text := '';
|
||||
UseAppBundleCheckBox.Caption := dlgPOUseAppBundle;
|
||||
UseAppBundleCheckBox.Checked := False;
|
||||
UseXPManifestCheckBox.Caption := dlgPOUseManifest;
|
||||
UseXPManifestCheckBox.Checked := False;
|
||||
CreateAppBundleButton.Caption := dlgPOCreateAppBundle;
|
||||
CreateAppBundleButton.LoadGlyphFromLazarusResource('pkg_compile');
|
||||
|
||||
// icon
|
||||
IconLabel.Caption := dlgPOIcon;
|
||||
LoadIconButton.Caption := dlgPOLoadIcon;
|
||||
SaveIconButton.Caption := dlgPOSaveIcon;
|
||||
ClearIconButton.Caption := dlgPOClearIcon;
|
||||
LoadIconButton.LoadGlyphFromStock(idButtonOpen);
|
||||
if LoadIconButton.Glyph.Empty then
|
||||
LoadIconButton.LoadGlyphFromLazarusResource('laz_open');
|
||||
SaveIconButton.LoadGlyphFromStock(idButtonSave);
|
||||
if SaveIconButton.Glyph.Empty then
|
||||
SaveIconButton.LoadGlyphFromLazarusResource('laz_save');
|
||||
ClearIconButton.LoadGlyphFromLazarusResource('menu_clean');
|
||||
IconImagePictureChanged(nil);
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
AStream: TStream;
|
||||
begin
|
||||
FProject := AOptions as TProject;
|
||||
with FProject do
|
||||
begin
|
||||
TitleEdit.Text := Title;
|
||||
TargetFileEdit.Text := TargetFilename;
|
||||
UseAppBundleCheckBox.Checked := UseAppBundle;
|
||||
UseXPManifestCheckBox.Checked := Resources.XPManifest.UseManifest;
|
||||
AStream := Resources.ProjectIcon.GetStream;
|
||||
try
|
||||
SetIconFromStream(AStream);
|
||||
finally
|
||||
AStream.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TProjectApplicationOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
AStream: TStream;
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
begin
|
||||
Title := TitleEdit.Text;
|
||||
AStream := GetIconAsStream;
|
||||
try
|
||||
Resources.ProjectIcon.SetStream(AStream);
|
||||
finally
|
||||
AStream.Free;
|
||||
end;
|
||||
TargetFilename := TargetFileEdit.Text;
|
||||
UseAppBundle := UseAppBundleCheckBox.Checked;
|
||||
Resources.XPManifest.UseManifest := UseXPManifestCheckBox.Checked;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TProjectApplicationOptionsFrame.SupportedOptionsClass:
|
||||
TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProject;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I project_application_options.lrs}
|
||||
RegisterIDEOptionsEditor(GroupProject, TProjectApplicationOptionsFrame, ProjectOptionsApplication);
|
||||
|
||||
end.
|
||||
|
||||
143
ide/frames/project_forms_options.lfm
Normal file
143
ide/frames/project_forms_options.lfm
Normal file
@ -0,0 +1,143 @@
|
||||
inherited ProjectFormsOptionsFrame: TProjectFormsOptionsFrame
|
||||
Height = 463
|
||||
Width = 501
|
||||
ClientHeight = 463
|
||||
ClientWidth = 501
|
||||
TabOrder = 0
|
||||
DesignLeft = 356
|
||||
DesignTop = 178
|
||||
object FormsAutoCreatedLabel: TLabel[0]
|
||||
AnchorSideLeft.Control = FormsAutoCreatedListBox
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 30
|
||||
Height = 14
|
||||
Top = 0
|
||||
Width = 117
|
||||
Caption = 'FormsAutoCreatedLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object FormsAvailFormsLabel: TLabel[1]
|
||||
AnchorSideLeft.Control = FormsAvailFormsListBox
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 284
|
||||
Height = 14
|
||||
Top = 0
|
||||
Width = 107
|
||||
Caption = 'FormsAvailFormsLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object FormsMoveAutoCreatedFormUpBtn: TSpeedButton[2]
|
||||
AnchorSideLeft.Control = Owner
|
||||
Left = 0
|
||||
Height = 24
|
||||
Top = 36
|
||||
Width = 24
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = FormsMoveAutoCreatedFormUpBtnClick
|
||||
end
|
||||
object FormsMoveAutoCreatedFormsDownBtn: TSpeedButton[3]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = FormsMoveAutoCreatedFormUpBtn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 24
|
||||
Top = 66
|
||||
Width = 24
|
||||
BorderSpacing.Top = 6
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = FormsMoveAutoCreatedFormsDownBtnClick
|
||||
end
|
||||
object FormsRemoveFromAutoCreatedFormsBtn: TSpeedButton[4]
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideRight.Control = FormsAvailFormsLabel
|
||||
Left = 254
|
||||
Height = 24
|
||||
Top = 36
|
||||
Width = 24
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Right = 6
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = FormsRemoveFromAutoCreatedFormsBtnClick
|
||||
end
|
||||
object FormsAddToAutoCreatedFormsBtn: TSpeedButton[5]
|
||||
AnchorSideLeft.Control = FormsRemoveFromAutoCreatedFormsBtn
|
||||
AnchorSideTop.Control = FormsRemoveFromAutoCreatedFormsBtn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 254
|
||||
Height = 24
|
||||
Top = 66
|
||||
Width = 24
|
||||
BorderSpacing.Top = 6
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = FormsAddToAutoCreatedFormsBtnClick
|
||||
end
|
||||
object FormsAutoCreatedListBox: TListBox[6]
|
||||
AnchorSideLeft.Control = FormsMoveAutoCreatedFormsDownBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = FormsAutoCreatedLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = lblMiddle
|
||||
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
|
||||
Left = 30
|
||||
Height = 420
|
||||
Top = 20
|
||||
Width = 217
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 3
|
||||
BorderSpacing.Bottom = 6
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
OnDblClick = FormsRemoveFromAutoCreatedFormsBtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object FormsAvailFormsListBox: TListBox[7]
|
||||
AnchorSideLeft.Control = lblMiddle
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = FormsAvailFormsLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
|
||||
Left = 284
|
||||
Height = 420
|
||||
Top = 20
|
||||
Width = 217
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 33
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
OnDblClick = FormsAddToAutoCreatedFormsBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object FormsAutoCreateNewFormsCheckBox: TCheckBox[8]
|
||||
AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn
|
||||
AnchorSideTop.Control = FormsAutoCreatedListBox
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 446
|
||||
Width = 501
|
||||
Align = alBottom
|
||||
Caption = 'FormsAutoCreateNewFormsCheckBox'
|
||||
TabOrder = 2
|
||||
end
|
||||
object lblMiddle: TLabel[9]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 250
|
||||
Height = 1
|
||||
Top = 231
|
||||
Width = 1
|
||||
AutoSize = False
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
||||
59
ide/frames/project_forms_options.lrs
Normal file
59
ide/frames/project_forms_options.lrs
Normal file
@ -0,0 +1,59 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectFormsOptionsFrame','FORMDATA',[
|
||||
'TPF0'#241#25'TProjectFormsOptionsFrame'#24'ProjectFormsOptionsFrame'#6'Heigh'
|
||||
+'t'#3#207#1#5'Width'#3#245#1#12'ClientHeight'#3#207#1#11'ClientWidth'#3#245#1
|
||||
+#8'TabOrder'#2#0#10'DesignLeft'#3'd'#1#9'DesignTop'#3#178#0#0#242#2#0#6'TLab'
|
||||
+'el'#21'FormsAutoCreatedLabel'#22'AnchorSideLeft.Control'#7#23'FormsAutoCrea'
|
||||
+'tedListBox'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2#30#6'Height'#2#14
|
||||
+#3'Top'#2#0#5'Width'#2'u'#7'Caption'#6#21'FormsAutoCreatedLabel'#11'ParentCo'
|
||||
+'lor'#8#0#0#242#2#1#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorSideLeft.Con'
|
||||
+'trol'#7#22'FormsAvailFormsListBox'#21'AnchorSideTop.Control'#7#5'Owner'#4'L'
|
||||
+'eft'#3#28#1#6'Height'#2#14#3'Top'#2#0#5'Width'#2'k'#7'Caption'#6#20'FormsAv'
|
||||
+'ailFormsLabel'#11'ParentColor'#8#0#0#242#2#2#12'TSpeedButton'#29'FormsMoveA'
|
||||
+'utoCreatedFormUpBtn'#22'AnchorSideLeft.Control'#7#5'Owner'#4'Left'#2#0#6'He'
|
||||
+'ight'#2#24#3'Top'#2'$'#5'Width'#2#24#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2
|
||||
+#0#7'OnClick'#7'"FormsMoveAutoCreatedFormUpBtnClick'#0#0#242#2#3#12'TSpeedBu'
|
||||
+'tton FormsMoveAutoCreatedFormsDownBtn'#22'AnchorSideLeft.Control'#7#5'Owner'
|
||||
+#21'AnchorSideTop.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#18'AnchorSide'
|
||||
+'Top.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#24#3'Top'#2'B'#5'Width'#2
|
||||
+#24#17'BorderSpacing.Top'#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnC'
|
||||
+'lick'#7'%FormsMoveAutoCreatedFormsDownBtnClick'#0#0#242#2#4#12'TSpeedButton'
|
||||
+'"FormsRemoveFromAutoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrCenter'
|
||||
+#23'AnchorSideRight.Control'#7#20'FormsAvailFormsLabel'#4'Left'#3#254#0#6'He'
|
||||
+'ight'#2#24#3'Top'#2'$'#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akRight'#0#19
|
||||
+'BorderSpacing.Right'#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'
|
||||
+#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#0#0#242#2#5#12'TSpeedButton'#29
|
||||
+'FormsAddToAutoCreatedFormsBtn'#22'AnchorSideLeft.Control'#7'"FormsRemoveFro'
|
||||
+'mAutoCreatedFormsBtn'#21'AnchorSideTop.Control'#7'"FormsRemoveFromAutoCreat'
|
||||
+'edFormsBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#254#0#6'Height'
|
||||
+#2#24#3'Top'#2'B'#5'Width'#2#24#17'BorderSpacing.Top'#2#6#5'Color'#7#9'clBtn'
|
||||
+'Face'#9'NumGlyphs'#2#0#7'OnClick'#7'"FormsAddToAutoCreatedFormsBtnClick'#0#0
|
||||
+#242#2#6#8'TListBox'#23'FormsAutoCreatedListBox'#22'AnchorSideLeft.Control'#7
|
||||
+' FormsMoveAutoCreatedFormsDownBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
|
||||
+'AnchorSideTop.Control'#7#21'FormsAutoCreatedLabel'#18'AnchorSideTop.Side'#7
|
||||
+#9'asrBottom'#23'AnchorSideRight.Control'#7#9'lblMiddle'#24'AnchorSideBottom'
|
||||
+'.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2#30#6'Height'#3#164
|
||||
+#1#3'Top'#2#20#5'Width'#3#217#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
|
||||
+'akBottom'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderS'
|
||||
+'pacing.Right'#2#3#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#0#11'MultiS'
|
||||
+'elect'#9#10'OnDblClick'#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#8'TabO'
|
||||
+'rder'#2#0#0#0#242#2#7#8'TListBox'#22'FormsAvailFormsListBox'#22'AnchorSideL'
|
||||
+'eft.Control'#7#9'lblMiddle'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Ancho'
|
||||
+'rSideTop.Control'#7#20'FormsAvailFormsLabel'#18'AnchorSideTop.Side'#7#9'asr'
|
||||
+'Bottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9
|
||||
+'asrBottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoCreateNewFormsCheckBo'
|
||||
+'x'#4'Left'#3#28#1#6'Height'#3#164#1#3'Top'#2#20#5'Width'#3#217#0#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#18'BorderSpacing.Left'#2'!'
|
||||
+#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#0#11
|
||||
+'MultiSelect'#9#10'OnDblClick'#7'"FormsAddToAutoCreatedFormsBtnClick'#8'TabO'
|
||||
+'rder'#2#1#0#0#242#2#8#9'TCheckBox'#31'FormsAutoCreateNewFormsCheckBox'#22'A'
|
||||
+'nchorSideLeft.Control'#7#29'FormsAddToAutoCreatedFormsBtn'#21'AnchorSideTop'
|
||||
+'.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#2#0#6'Height'#2#17#3'Top'#3
|
||||
+#190#1#5'Width'#3#245#1#5'Align'#7#8'alBottom'#7'Caption'#6#31'FormsAutoCrea'
|
||||
+'teNewFormsCheckBox'#8'TabOrder'#2#2#0#0#242#2#9#6'TLabel'#9'lblMiddle'#22'A'
|
||||
+'nchorSideLeft.Control'#7#5'Owner'#19'AnchorSideLeft.Side'#7#9'asrCenter'#21
|
||||
+'AnchorSideTop.Control'#7#5'Owner'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'L'
|
||||
+'eft'#3#250#0#6'Height'#2#1#3'Top'#3#231#0#5'Width'#2#1#8'AutoSize'#8#11'Par'
|
||||
+'entColor'#8#0#0#0
|
||||
]);
|
||||
282
ide/frames/project_forms_options.pas
Normal file
282
ide/frames/project_forms_options.pas
Normal file
@ -0,0 +1,282 @@
|
||||
unit project_forms_options;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, IDEOptionsIntf, PackageDefs, ProjectIntf, Project,
|
||||
LazarusIDEStrConsts, CodeToolManager;
|
||||
|
||||
type
|
||||
|
||||
{ TProjectFormsOptionsFrame }
|
||||
|
||||
TProjectFormsOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
FormsAddToAutoCreatedFormsBtn: TSpeedButton;
|
||||
FormsAutoCreatedLabel: TLabel;
|
||||
FormsAutoCreatedListBox: TListBox;
|
||||
FormsAutoCreateNewFormsCheckBox: TCheckBox;
|
||||
FormsAvailFormsLabel: TLabel;
|
||||
FormsAvailFormsListBox: TListBox;
|
||||
FormsMoveAutoCreatedFormsDownBtn: TSpeedButton;
|
||||
FormsMoveAutoCreatedFormUpBtn: TSpeedButton;
|
||||
FormsRemoveFromAutoCreatedFormsBtn: TSpeedButton;
|
||||
lblMiddle: TLabel;
|
||||
procedure FormsAddToAutoCreatedFormsBtnClick(Sender: TObject);
|
||||
procedure FormsMoveAutoCreatedFormsDownBtnClick(Sender: TObject);
|
||||
procedure FormsMoveAutoCreatedFormUpBtnClick(Sender: TObject);
|
||||
procedure FormsRemoveFromAutoCreatedFormsBtnClick(Sender: TObject);
|
||||
private
|
||||
function FirstAutoCreateFormSelected: Integer;
|
||||
function FirstAvailFormSelected: Integer;
|
||||
procedure SelectOnlyThisAutoCreateForm(Index: integer);
|
||||
public
|
||||
function GetTitle: string; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TProjectFormsOptionsFrame }
|
||||
|
||||
procedure TProjectFormsOptionsFrame.SelectOnlyThisAutoCreateForm(Index: integer);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
with FormsAutoCreatedListBox do
|
||||
for i := 0 to Items.Count - 1 do
|
||||
Selected[i] := (i = Index);
|
||||
end;
|
||||
|
||||
procedure TProjectFormsOptionsFrame.FormsMoveAutoCreatedFormUpBtnClick(
|
||||
Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
h: string;
|
||||
begin
|
||||
i := FirstAutoCreateFormSelected;
|
||||
if i < 1 then
|
||||
Exit;
|
||||
with FormsAutoCreatedListBox do
|
||||
begin
|
||||
Items.BeginUpdate;
|
||||
h := Items[i];
|
||||
Items[i] := Items[i - 1];
|
||||
Items[i - 1] := h;
|
||||
Items.EndUpdate;
|
||||
end;
|
||||
SelectOnlyThisAutoCreateForm(i - 1);
|
||||
end;
|
||||
|
||||
procedure TProjectFormsOptionsFrame.FormsRemoveFromAutoCreatedFormsBtnClick(
|
||||
Sender: TObject);
|
||||
var
|
||||
i, NewPos, cmp: integer;
|
||||
OldFormName: string;
|
||||
begin
|
||||
FormsAutoCreatedListBox.Items.BeginUpdate;
|
||||
FormsAvailFormsListBox.Items.BeginUpdate;
|
||||
i := 0;
|
||||
while i < FormsAutoCreatedListBox.Items.Count do
|
||||
if FormsAutoCreatedListBox.Selected[i] then
|
||||
begin
|
||||
OldFormName := FormsAutoCreatedListBox.Items[i];
|
||||
FormsAutoCreatedListBox.Items.Delete(i);
|
||||
NewPos := 0;
|
||||
cmp := 1;
|
||||
while (NewPos < FormsAvailFormsListBox.Items.Count) do
|
||||
begin
|
||||
cmp := AnsiCompareText(FormsAvailFormsListBox.Items[NewPos], OldFormName);
|
||||
if cmp < 0 then
|
||||
Inc(NewPos)
|
||||
else
|
||||
break;
|
||||
end;
|
||||
if cmp = 0 then
|
||||
continue;
|
||||
FormsAvailFormsListBox.Items.Insert(NewPos, OldFormName);
|
||||
end
|
||||
else
|
||||
Inc(i);
|
||||
FormsAvailFormsListBox.Items.EndUpdate;
|
||||
FormsAutoCreatedListBox.Items.EndUpdate;
|
||||
end;
|
||||
|
||||
function TProjectFormsOptionsFrame.FirstAutoCreateFormSelected: Integer;
|
||||
begin
|
||||
Result := 0;
|
||||
while (Result < FormsAutoCreatedListBox.Items.Count) and
|
||||
(not FormsAutoCreatedListBox.Selected[Result]) do
|
||||
inc(Result);
|
||||
if Result = FormsAutoCreatedListBox.Items.Count then
|
||||
Result := -1;
|
||||
end;
|
||||
|
||||
function TProjectFormsOptionsFrame.FirstAvailFormSelected: Integer;
|
||||
begin
|
||||
Result := 0;
|
||||
while (Result < FormsAvailFormsListBox.Items.Count) and
|
||||
(not FormsAvailFormsListBox.Selected[Result]) do
|
||||
inc(Result);
|
||||
if Result = FormsAvailFormsListBox.Items.Count then
|
||||
Result := -1;
|
||||
end;
|
||||
|
||||
procedure TProjectFormsOptionsFrame.FormsMoveAutoCreatedFormsDownBtnClick(
|
||||
Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
h: string;
|
||||
begin
|
||||
i := FirstAutoCreateFormSelected;
|
||||
if (i < 0) or (i >= FormsAutoCreatedListBox.Items.Count - 1) then
|
||||
exit;
|
||||
with FormsAutoCreatedListBox do
|
||||
begin
|
||||
Items.BeginUpdate;
|
||||
h := Items[i];
|
||||
Items[i] := Items[i + 1];
|
||||
Items[i + 1] := h;
|
||||
Items.EndUpdate;
|
||||
end;
|
||||
SelectOnlyThisAutoCreateForm(i + 1);
|
||||
end;
|
||||
|
||||
procedure TProjectFormsOptionsFrame.FormsAddToAutoCreatedFormsBtnClick(
|
||||
Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
NewFormName: string;
|
||||
begin
|
||||
FormsAutoCreatedListBox.Items.BeginUpdate;
|
||||
with FormsAvailFormsListBox do
|
||||
begin
|
||||
Items.BeginUpdate;
|
||||
i := 0;
|
||||
while i < Items.Count do
|
||||
if Selected[i] then
|
||||
begin
|
||||
NewFormName := Items[i];
|
||||
Items.Delete(i);
|
||||
FormsAutoCreatedListBox.Items.Add(NewFormName);
|
||||
end
|
||||
else
|
||||
Inc(i);
|
||||
Items.EndUpdate;
|
||||
end;
|
||||
FormsAutoCreatedListBox.Items.EndUpdate;
|
||||
end;
|
||||
|
||||
function TProjectFormsOptionsFrame.GetTitle: string;
|
||||
begin
|
||||
Result := dlgPOFroms;
|
||||
end;
|
||||
|
||||
procedure TProjectFormsOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
begin
|
||||
FormsAutoCreatedLabel.Caption := dlgAutoCreateForms;
|
||||
FormsAvailFormsLabel.Caption := dlgAvailableForms;
|
||||
FormsAutoCreateNewFormsCheckBox.Caption := dlgAutoCreateNewForms;
|
||||
FormsMoveAutoCreatedFormUpBtn.LoadGlyphFromLazarusResource('arrow_up');
|
||||
FormsMoveAutoCreatedFormsDownBtn.LoadGlyphFromLazarusResource('arrow_down');
|
||||
FormsAddToAutoCreatedFormsBtn.LoadGlyphFromLazarusResource('arrow_left');
|
||||
FormsRemoveFromAutoCreatedFormsBtn.LoadGlyphFromLazarusResource('arrow_right');
|
||||
end;
|
||||
|
||||
procedure TProjectFormsOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
Project: TProject absolute AOptions;
|
||||
|
||||
procedure FillAutoCreateFormsListbox;
|
||||
var
|
||||
sl: TStrings;
|
||||
begin
|
||||
sl := Project.GetAutoCreatedFormsList;
|
||||
FormsAutoCreatedListBox.Items.BeginUpdate;
|
||||
FormsAutoCreatedListBox.Items.Clear;
|
||||
if sl <> nil then
|
||||
begin
|
||||
FormsAutoCreatedListBox.Items.Assign(sl);
|
||||
sl.Free;
|
||||
end;
|
||||
FormsAutoCreatedListBox.Items.EndUpdate;
|
||||
end;
|
||||
|
||||
function IndexOfAutoCreateForm(FormName: string): integer;
|
||||
var
|
||||
p: integer;
|
||||
begin
|
||||
p := Pos(':', FormName);
|
||||
if p > 0 then
|
||||
FormName := Copy(FormName, 1, p - 1);
|
||||
Result := FormsAutoCreatedListBox.Items.Count - 1;
|
||||
while (Result >= 0) do
|
||||
begin
|
||||
p := Pos(':', FormsAutoCreatedListBox.Items[Result]);
|
||||
if p < 1 then
|
||||
p := Length(FormsAutoCreatedListBox.Items[Result]) + 1;
|
||||
if AnsiCompareText(copy(FormsAutoCreatedListBox.Items[Result], 1, p - 1),
|
||||
FormName) = 0 then
|
||||
Exit;
|
||||
Dec(Result);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure FillAvailFormsListBox;
|
||||
var
|
||||
sl: TStringList;
|
||||
i: integer;
|
||||
begin
|
||||
FormsAvailFormsListBox.Items.BeginUpdate;
|
||||
FormsAvailFormsListBox.Items.Clear;
|
||||
|
||||
if (Project <> nil) then
|
||||
begin
|
||||
sl := TStringList.Create;
|
||||
try
|
||||
for i := 0 to Project.UnitCount - 1 do
|
||||
if (Project.Units[i].IsPartOfProject) and
|
||||
(Project.Units[i].ComponentName <> '') and
|
||||
(Project.Units[i].ResourceBaseClass in [pfcbcForm, pfcbcDataModule]) and
|
||||
(IndexOfAutoCreateForm(Project.Units[i].ComponentName) < 0) then
|
||||
sl.Add(Project.Units[i].ComponentName);
|
||||
sl.Sort;
|
||||
FormsAvailFormsListBox.Items.Assign(sl);
|
||||
finally
|
||||
sl.Free;
|
||||
end;
|
||||
end;
|
||||
FormsAvailFormsListBox.Items.EndUpdate;
|
||||
end;
|
||||
|
||||
begin
|
||||
FillAutoCreateFormsListbox;
|
||||
FillAvailFormsListBox;
|
||||
|
||||
FormsAutoCreateNewFormsCheckBox.Checked := Project.AutoCreateForms;
|
||||
end;
|
||||
|
||||
procedure TProjectFormsOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
Project: TProject absolute AOptions;
|
||||
begin
|
||||
Project.AutoCreateForms := FormsAutoCreateNewFormsCheckBox.Checked;
|
||||
Project.TmpAutoCreatedForms := FormsAutoCreatedListBox.Items;
|
||||
end;
|
||||
|
||||
class function TProjectFormsOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProject;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I project_forms_options.lrs}
|
||||
RegisterIDEOptionsEditor(GroupProject, TProjectFormsOptionsFrame, ProjectOptionsForms);
|
||||
|
||||
end.
|
||||
|
||||
75
ide/frames/project_i18n_options.lfm
Normal file
75
ide/frames/project_i18n_options.lfm
Normal file
@ -0,0 +1,75 @@
|
||||
inherited ProjectI18NOptionsFrame: TProjectI18NOptionsFrame
|
||||
Height = 177
|
||||
Width = 438
|
||||
ClientHeight = 177
|
||||
ClientWidth = 438
|
||||
TabOrder = 0
|
||||
DesignLeft = 467
|
||||
DesignTop = 355
|
||||
object EnableI18NCheckBox: TCheckBox[0]
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 0
|
||||
Width = 438
|
||||
Align = alTop
|
||||
Caption = 'Enable i18n'
|
||||
OnChange = EnableI18NCheckBoxChange
|
||||
TabOrder = 0
|
||||
end
|
||||
object I18NGroupBox: TGroupBox[1]
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 73
|
||||
Top = 23
|
||||
Width = 438
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'i18n Options'
|
||||
ClientHeight = 55
|
||||
ClientWidth = 434
|
||||
TabOrder = 1
|
||||
object PoOutDirLabel: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 103
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'PO Output Directory:'
|
||||
ParentColor = False
|
||||
end
|
||||
object POOutDirEdit: TEdit
|
||||
AnchorSideLeft.Control = I18NGroupBox
|
||||
AnchorSideTop.Control = PoOutDirLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = POOutDirButton
|
||||
Left = 6
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 398
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
TabOrder = 0
|
||||
Text = 'POOutDirEdit'
|
||||
end
|
||||
object POOutDirButton: TButton
|
||||
AnchorSideTop.Control = POOutDirEdit
|
||||
AnchorSideRight.Control = I18NGroupBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = POOutDirEdit
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 404
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 24
|
||||
Anchors = [akTop, akRight, akBottom]
|
||||
BorderSpacing.Right = 6
|
||||
Caption = '...'
|
||||
OnClick = POOutDirButtonClick
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
29
ide/frames/project_i18n_options.lrs
Normal file
29
ide/frames/project_i18n_options.lrs
Normal file
@ -0,0 +1,29 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectI18NOptionsFrame','FORMDATA',[
|
||||
'TPF0'#241#24'TProjectI18NOptionsFrame'#23'ProjectI18NOptionsFrame'#6'Height'
|
||||
+#3#177#0#5'Width'#3#182#1#12'ClientHeight'#3#177#0#11'ClientWidth'#3#182#1#8
|
||||
+'TabOrder'#2#0#10'DesignLeft'#3#211#1#9'DesignTop'#3'c'#1#0#242#2#0#9'TCheck'
|
||||
+'Box'#18'EnableI18NCheckBox'#4'Left'#2#0#6'Height'#2#17#3'Top'#2#0#5'Width'#3
|
||||
+#182#1#5'Align'#7#5'alTop'#7'Caption'#6#11'Enable i18n'#8'OnChange'#7#24'Ena'
|
||||
+'bleI18NCheckBoxChange'#8'TabOrder'#2#0#0#0#242#2#1#9'TGroupBox'#12'I18NGrou'
|
||||
+'pBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'as'
|
||||
+'rBottom'#4'Left'#2#0#6'Height'#2'I'#3'Top'#2#23#5'Width'#3#182#1#5'Align'#7
|
||||
+#5'alTop'#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'Caption'#6#12'i18n Optio'
|
||||
+'ns'#12'ClientHeight'#2'7'#11'ClientWidth'#3#178#1#8'TabOrder'#2#1#0#6'TLabe'
|
||||
+'l'#13'PoOutDirLabel'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'g'#20
|
||||
+'BorderSpacing.Around'#2#6#7'Caption'#6#20'PO Output Directory:'#11'ParentCo'
|
||||
+'lor'#8#0#0#5'TEdit'#12'POOutDirEdit'#22'AnchorSideLeft.Control'#7#12'I18NGr'
|
||||
+'oupBox'#21'AnchorSideTop.Control'#7#13'PoOutDirLabel'#18'AnchorSideTop.Side'
|
||||
+#7#9'asrBottom'#23'AnchorSideRight.Control'#7#14'POOutDirButton'#4'Left'#2#6
|
||||
+#6'Height'#2#21#3'Top'#2#26#5'Width'#3#142#1#7'Anchors'#11#5'akTop'#6'akLeft'
|
||||
+#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20'Border'
|
||||
+'Spacing.Bottom'#2#6#8'TabOrder'#2#0#4'Text'#6#12'POOutDirEdit'#0#0#7'TButto'
|
||||
+'n'#14'POOutDirButton'#21'AnchorSideTop.Control'#7#12'POOutDirEdit'#23'Ancho'
|
||||
+'rSideRight.Control'#7#12'I18NGroupBox'#20'AnchorSideRight.Side'#7#9'asrBott'
|
||||
+'om'#24'AnchorSideBottom.Control'#7#12'POOutDirEdit'#21'AnchorSideBottom.Sid'
|
||||
+'e'#7#9'asrBottom'#4'Left'#3#148#1#6'Height'#2#21#3'Top'#2#26#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#19'POOutDirButtonClick'#8'TabOrder'#2#1#0#0#0
|
||||
+#0
|
||||
]);
|
||||
109
ide/frames/project_i18n_options.pas
Normal file
109
ide/frames/project_i18n_options.pas
Normal file
@ -0,0 +1,109 @@
|
||||
unit project_i18n_options;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Project, IDEOptionsIntf, LazarusIDEStrConsts, IDEDialogs;
|
||||
|
||||
type
|
||||
|
||||
{ TProjectI18NOptionsFrame }
|
||||
|
||||
TProjectI18NOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
EnableI18NCheckBox: TCheckBox;
|
||||
I18NGroupBox: TGroupBox;
|
||||
POOutDirButton: TButton;
|
||||
POOutDirEdit: TEdit;
|
||||
PoOutDirLabel: TLabel;
|
||||
procedure EnableI18NCheckBoxChange(Sender: TObject);
|
||||
procedure POOutDirButtonClick(Sender: TObject);
|
||||
private
|
||||
FProject: TProject;
|
||||
procedure Enablei18nInfo(Usei18n: boolean);
|
||||
public
|
||||
function GetTitle: string; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TProjectI18NOptionsFrame }
|
||||
|
||||
procedure TProjectI18NOptionsFrame.EnableI18NCheckBoxChange(Sender: TObject);
|
||||
begin
|
||||
Enablei18nInfo(EnableI18NCheckBox.Checked);
|
||||
end;
|
||||
|
||||
procedure TProjectI18NOptionsFrame.POOutDirButtonClick(Sender: TObject);
|
||||
var
|
||||
NewDirectory: string;
|
||||
begin
|
||||
NewDirectory := LazSelectDirectory(lisPOChoosePoFileDirectory,
|
||||
FProject.ProjectDirectory);
|
||||
if NewDirectory = '' then Exit;
|
||||
FProject.ShortenFilename(NewDirectory);
|
||||
POOutDirEdit.Text := NewDirectory;
|
||||
end;
|
||||
|
||||
procedure TProjectI18NOptionsFrame.Enablei18nInfo(Usei18n: boolean);
|
||||
begin
|
||||
I18NGroupBox.Enabled := Usei18n;
|
||||
end;
|
||||
|
||||
function TProjectI18NOptionsFrame.GetTitle: string;
|
||||
begin
|
||||
Result := dlgPOI18n;
|
||||
end;
|
||||
|
||||
procedure TProjectI18NOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
begin
|
||||
EnableI18NCheckBox.Caption := rsEnableI18n;
|
||||
I18NGroupBox.Caption := rsI18nOptions;
|
||||
PoOutDirLabel.Caption := rsPOOutputDirectory;
|
||||
end;
|
||||
|
||||
procedure TProjectI18NOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
AFilename: String;
|
||||
begin
|
||||
FProject := AOptions as TProject;
|
||||
with FProject do
|
||||
begin
|
||||
AFilename := POOutputDirectory;
|
||||
ShortenFilename(AFilename);
|
||||
POOutDirEdit.Text := AFilename;
|
||||
EnableI18NCheckBox.Checked := Enablei18n;
|
||||
Enablei18nInfo(Enablei18n);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TProjectI18NOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
AFilename: String;
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
begin
|
||||
AFilename := TrimFilename(POOutDirEdit.Text);
|
||||
LongenFilename(AFilename);
|
||||
POOutputDirectory := AFilename;
|
||||
EnableI18N := EnableI18NCheckBox.Checked;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TProjectI18NOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProject;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I project_i18n_options.lrs}
|
||||
RegisterIDEOptionsEditor(GroupProject, TProjectI18NOptionsFrame, ProjectOptionsI18N);
|
||||
|
||||
end.
|
||||
|
||||
90
ide/frames/project_lazdoc_options.lfm
Normal file
90
ide/frames/project_lazdoc_options.lfm
Normal file
@ -0,0 +1,90 @@
|
||||
inherited ProjectLazDocOptionsFrame: TProjectLazDocOptionsFrame
|
||||
Height = 269
|
||||
Width = 478
|
||||
ClientHeight = 269
|
||||
ClientWidth = 478
|
||||
TabOrder = 0
|
||||
DesignLeft = 422
|
||||
DesignTop = 407
|
||||
object LazDocListBox: TListBox[0]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 108
|
||||
Top = 0
|
||||
Width = 478
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ItemHeight = 0
|
||||
TabOrder = 0
|
||||
end
|
||||
object LazDocPathEdit: TEdit[1]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = LazDocListBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = LazDocBrowseButton
|
||||
Left = 0
|
||||
Height = 21
|
||||
Top = 114
|
||||
Width = 454
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
TabOrder = 1
|
||||
Text = 'LazDocPathEdit'
|
||||
end
|
||||
object LazDocBrowseButton: TButton[2]
|
||||
AnchorSideLeft.Control = LazDocPathEdit
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = LazDocPathEdit
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = LazDocPathEdit
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 454
|
||||
Height = 21
|
||||
Top = 114
|
||||
Width = 24
|
||||
Anchors = [akTop, akRight, akBottom]
|
||||
Caption = '...'
|
||||
OnClick = LazDocBrowseButtonClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object LazDocAddPathButton: TBitBtn[3]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = LazDocPathEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 23
|
||||
Top = 141
|
||||
Width = 133
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'LazDocAddPathButton'
|
||||
NumGlyphs = 0
|
||||
OnClick = LazDocAddPathButtonClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object LazDocDeletePathButton: TBitBtn[4]
|
||||
AnchorSideLeft.Control = LazDocAddPathButton
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = LazDocPathEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 139
|
||||
Height = 23
|
||||
Top = 141
|
||||
Width = 145
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'LazDocDeletePathButton'
|
||||
NumGlyphs = 0
|
||||
OnClick = LazDocDeletePathButtonClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object SelectDirectoryDialog: TSelectDirectoryDialog[5]
|
||||
FilterIndex = 0
|
||||
left = 116
|
||||
top = 241
|
||||
end
|
||||
end
|
||||
37
ide/frames/project_lazdoc_options.lrs
Normal file
37
ide/frames/project_lazdoc_options.lrs
Normal file
@ -0,0 +1,37 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectLazDocOptionsFrame','FORMDATA',[
|
||||
'TPF0'#241#26'TProjectLazDocOptionsFrame'#25'ProjectLazDocOptionsFrame'#6'Hei'
|
||||
+'ght'#3#13#1#5'Width'#3#222#1#12'ClientHeight'#3#13#1#11'ClientWidth'#3#222#1
|
||||
+#8'TabOrder'#2#0#10'DesignLeft'#3#166#1#9'DesignTop'#3#151#1#0#242#2#0#8'TLi'
|
||||
+'stBox'#13'LazDocListBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSid'
|
||||
+'eTop.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSi'
|
||||
+'deRight.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2'l'#3'Top'#2#0#5'Width'
|
||||
+#3#222#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#10'ItemHeight'#2#0#8
|
||||
+'TabOrder'#2#0#0#0#242#2#1#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLeft.Con'
|
||||
+'trol'#7#5'Owner'#21'AnchorSideTop.Control'#7#13'LazDocListBox'#18'AnchorSid'
|
||||
+'eTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#18'LazDocBrowseButt'
|
||||
+'on'#4'Left'#2#0#6'Height'#2#21#3'Top'#2'r'#5'Width'#3#198#1#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Bo'
|
||||
+'ttom'#2#6#8'TabOrder'#2#1#4'Text'#6#14'LazDocPathEdit'#0#0#242#2#2#7'TButto'
|
||||
+'n'#18'LazDocBrowseButton'#22'AnchorSideLeft.Control'#7#14'LazDocPathEdit'#19
|
||||
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'LazDocPa'
|
||||
+'thEdit'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9
|
||||
+'asrBottom'#24'AnchorSideBottom.Control'#7#14'LazDocPathEdit'#21'AnchorSideB'
|
||||
+'ottom.Side'#7#9'asrBottom'#4'Left'#3#198#1#6'Height'#2#21#3'Top'#2'r'#5'Wid'
|
||||
+'th'#2#24#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#7'Caption'#6#3'...'
|
||||
+#7'OnClick'#7#23'LazDocBrowseButtonClick'#8'TabOrder'#2#2#0#0#242#2#3#7'TBit'
|
||||
+'Btn'#19'LazDocAddPathButton'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Ancho'
|
||||
+'rSideTop.Control'#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'
|
||||
+#4'Left'#2#0#6'Height'#2#23#3'Top'#3#141#0#5'Width'#3#133#0#8'AutoSize'#9#17
|
||||
+'BorderSpacing.Top'#2#6#7'Caption'#6#19'LazDocAddPathButton'#9'NumGlyphs'#2#0
|
||||
+#7'OnClick'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#3#0#0#242#2#4#7'TBi'
|
||||
+'tBtn'#22'LazDocDeletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDocAddP'
|
||||
+'athButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'
|
||||
+#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#139#0#6
|
||||
+'Height'#2#23#3'Top'#3#141#0#5'Width'#3#145#0#8'AutoSize'#9#20'BorderSpacing'
|
||||
+'.Around'#2#6#7'Caption'#6#22'LazDocDeletePathButton'#9'NumGlyphs'#2#0#7'OnC'
|
||||
+'lick'#7#27'LazDocDeletePathButtonClick'#8'TabOrder'#2#4#0#0#242#2#5#22'TSel'
|
||||
+'ectDirectoryDialog'#21'SelectDirectoryDialog'#11'FilterIndex'#2#0#4'left'#2
|
||||
+'t'#3'top'#3#241#0#0#0#0
|
||||
]);
|
||||
94
ide/frames/project_lazdoc_options.pas
Normal file
94
ide/frames/project_lazdoc_options.pas
Normal file
@ -0,0 +1,94 @@
|
||||
unit project_lazdoc_options;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, Project, IDEOptionsIntf, LazarusIDEStrConsts, IDEProcs;
|
||||
|
||||
type
|
||||
|
||||
{ TProjectLazDocOptionsFrame }
|
||||
|
||||
TProjectLazDocOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
LazDocAddPathButton: TBitBtn;
|
||||
LazDocBrowseButton: TButton;
|
||||
LazDocDeletePathButton: TBitBtn;
|
||||
LazDocListBox: TListBox;
|
||||
LazDocPathEdit: TEdit;
|
||||
SelectDirectoryDialog: TSelectDirectoryDialog;
|
||||
procedure LazDocAddPathButtonClick(Sender: TObject);
|
||||
procedure LazDocBrowseButtonClick(Sender: TObject);
|
||||
procedure LazDocDeletePathButtonClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
function GetTitle: string; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TProjectLazDocOptionsFrame }
|
||||
|
||||
procedure TProjectLazDocOptionsFrame.LazDocBrowseButtonClick(Sender: TObject);
|
||||
begin
|
||||
if SelectDirectoryDialog.Execute then
|
||||
LazDocPathEdit.Text := SelectDirectoryDialog.FileName;
|
||||
end;
|
||||
|
||||
procedure TProjectLazDocOptionsFrame.LazDocDeletePathButtonClick(Sender: TObject);
|
||||
begin
|
||||
if (LazDocListBox.ItemIndex >= 0) then
|
||||
LazDocListBox.Items.Delete(LazDocListBox.ItemIndex);
|
||||
end;
|
||||
|
||||
procedure TProjectLazDocOptionsFrame.LazDocAddPathButtonClick(Sender: TObject);
|
||||
begin
|
||||
if LazDocPathEdit.Text <> '' then
|
||||
LazDocListBox.Items.Add(LazDocPathEdit.Text);
|
||||
end;
|
||||
|
||||
function TProjectLazDocOptionsFrame.GetTitle: string;
|
||||
begin
|
||||
Result := lisFPDocEditor;
|
||||
end;
|
||||
|
||||
procedure TProjectLazDocOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
begin
|
||||
LazDocAddPathButton.Caption := lisCodeHelpAddPathButton;
|
||||
LazDocDeletePathButton.Caption := lisCodeHelpDeletePathButton;
|
||||
LazDocDeletePathButton.LoadGlyphFromLazarusResource('laz_delete');
|
||||
LazDocAddPathButton.LoadGlyphFromLazarusResource('laz_add');
|
||||
|
||||
LazDocPathEdit.Clear;
|
||||
end;
|
||||
|
||||
procedure TProjectLazDocOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
SplitString(LazDocPaths, ';', LazDocListBox.Items, True);
|
||||
end;
|
||||
|
||||
procedure TProjectLazDocOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
LazDocPaths := StringListToText(LazDocListBox.Items, ';', True);
|
||||
end;
|
||||
|
||||
class function TProjectLazDocOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProject;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I project_lazdoc_options.lrs}
|
||||
RegisterIDEOptionsEditor(GroupProject, TProjectLazDocOptionsFrame, ProjectOptionsLazDoc);
|
||||
|
||||
end.
|
||||
|
||||
151
ide/frames/project_misc_options.lfm
Normal file
151
ide/frames/project_misc_options.lfm
Normal file
@ -0,0 +1,151 @@
|
||||
inherited ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
|
||||
Height = 460
|
||||
Width = 536
|
||||
ClientHeight = 460
|
||||
ClientWidth = 536
|
||||
TabOrder = 0
|
||||
DesignLeft = 306
|
||||
DesignTop = 188
|
||||
object Bevel1: TBevel[0]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = MainUnitHasTitleStatementCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 3
|
||||
Top = 92
|
||||
Width = 536
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
end
|
||||
object MainUnitHasUsesSectionForAllUnitsCheckBox: TCheckBox[1]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = MainUnitIsPascalSourceCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 23
|
||||
Width = 233
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'MainUnitHasUsesSectionForAllUnitsCheckBox'
|
||||
TabOrder = 0
|
||||
end
|
||||
object MainUnitHasCreateFormStatementsCheckBox: TCheckBox[2]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = MainUnitHasUsesSectionForAllUnitsCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 46
|
||||
Width = 236
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'MainUnitHasCreateFormStatementsCheckBox'
|
||||
TabOrder = 1
|
||||
end
|
||||
object MainUnitIsPascalSourceCheckBox: TCheckBox[3]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 0
|
||||
Width = 178
|
||||
Caption = 'MainUnitIsPascalSourceCheckBox'
|
||||
TabOrder = 2
|
||||
end
|
||||
object MainUnitHasTitleStatementCheckBox: TCheckBox[4]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = MainUnitHasCreateFormStatementsCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 69
|
||||
Width = 194
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'MainUnitHasTitleStatementCheckBox'
|
||||
TabOrder = 3
|
||||
end
|
||||
object RunnableCheckBox: TCheckBox[5]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Bevel1
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 98
|
||||
Width = 110
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'RunnableCheckBox'
|
||||
TabOrder = 4
|
||||
end
|
||||
object AlwaysBuildCheckBox: TCheckBox[6]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = RunnableCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 121
|
||||
Width = 121
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'AlwaysBuildCheckBox'
|
||||
TabOrder = 5
|
||||
end
|
||||
object LRSInOutputDirCheckBox: TCheckBox[7]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = AlwaysBuildCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 144
|
||||
Width = 140
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'LRSInOutputDirCheckBox'
|
||||
TabOrder = 6
|
||||
end
|
||||
object ResourceGroupBox: TGroupBox[8]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = LRSInOutputDirCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 81
|
||||
Top = 167
|
||||
Width = 536
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'ResourceGroupBox'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
ClientHeight = 63
|
||||
ClientWidth = 532
|
||||
TabOrder = 7
|
||||
object UseLRSFilesRadioButton: TRadioButton
|
||||
Left = 6
|
||||
Height = 26
|
||||
Top = 6
|
||||
Width = 520
|
||||
Caption = 'UseLRSFilesRadioButton'
|
||||
Checked = True
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
State = cbChecked
|
||||
TabOrder = 0
|
||||
end
|
||||
object UseFPCResourcesRadioButton: TRadioButton
|
||||
Left = 6
|
||||
Height = 25
|
||||
Top = 32
|
||||
Width = 520
|
||||
Caption = 'UseFPCResourcesRadioButton'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
TabStop = False
|
||||
end
|
||||
end
|
||||
end
|
||||
59
ide/frames/project_misc_options.lrs
Normal file
59
ide/frames/project_misc_options.lrs
Normal file
@ -0,0 +1,59 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectMiscOptionsFrame','FORMDATA',[
|
||||
'TPF0'#241#24'TProjectMiscOptionsFrame'#23'ProjectMiscOptionsFrame'#6'Height'
|
||||
+#3#204#1#5'Width'#3#24#2#12'ClientHeight'#3#204#1#11'ClientWidth'#3#24#2#8'T'
|
||||
+'abOrder'#2#0#10'DesignLeft'#3'2'#1#9'DesignTop'#3#188#0#0#242#2#0#6'TBevel'
|
||||
+#6'Bevel1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7
|
||||
+'!MainUnitHasTitleStatementCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23
|
||||
+'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'
|
||||
+#4'Left'#2#0#6'Height'#2#3#3'Top'#2'\'#5'Width'#3#24#2#7'Anchors'#11#5'akTop'
|
||||
+#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#0#0#242#2#1#9'TCheckBox)Ma'
|
||||
+'inUnitHasUsesSectionForAllUnitsCheckBox'#22'AnchorSideLeft.Control'#7#5'Own'
|
||||
+'er'#21'AnchorSideTop.Control'#7#30'MainUnitIsPascalSourceCheckBox'#18'Ancho'
|
||||
+'rSideTop.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#17#3'Top'#2#23#5'Widt'
|
||||
+'h'#3#233#0#17'BorderSpacing.Top'#2#6#7'Caption'#6')MainUnitHasUsesSectionFo'
|
||||
+'rAllUnitsCheckBox'#8'TabOrder'#2#0#0#0#242#2#2#9'TCheckBox''MainUnitHasCrea'
|
||||
+'teFormStatementsCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSi'
|
||||
+'deTop.Control'#7')MainUnitHasUsesSectionForAllUnitsCheckBox'#18'AnchorSideT'
|
||||
+'op.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#17#3'Top'#2'.'#5'Width'#3
|
||||
+#236#0#17'BorderSpacing.Top'#2#6#7'Caption'#6'''MainUnitHasCreateFormStateme'
|
||||
+'ntsCheckBox'#8'TabOrder'#2#1#0#0#242#2#3#9'TCheckBox'#30'MainUnitIsPascalSo'
|
||||
+'urceCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Contro'
|
||||
+'l'#7#5'Owner'#4'Left'#2#0#6'Height'#2#17#3'Top'#2#0#5'Width'#3#178#0#7'Capt'
|
||||
+'ion'#6#30'MainUnitIsPascalSourceCheckBox'#8'TabOrder'#2#2#0#0#242#2#4#9'TCh'
|
||||
+'eckBox!MainUnitHasTitleStatementCheckBox'#22'AnchorSideLeft.Control'#7#5'Ow'
|
||||
+'ner'#21'AnchorSideTop.Control'#7'''MainUnitHasCreateFormStatementsCheckBox'
|
||||
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#17#3'Top'#2'E'
|
||||
+#5'Width'#3#194#0#17'BorderSpacing.Top'#2#6#7'Caption'#6'!MainUnitHasTitleSt'
|
||||
+'atementCheckBox'#8'TabOrder'#2#3#0#0#242#2#5#9'TCheckBox'#16'RunnableCheckB'
|
||||
+'ox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#6'Bev'
|
||||
+'el1'#4'Left'#2#0#6'Height'#2#17#3'Top'#2'b'#5'Width'#2'n'#17'BorderSpacing.'
|
||||
+'Top'#2#6#7'Caption'#6#16'RunnableCheckBox'#8'TabOrder'#2#4#0#0#242#2#6#9'TC'
|
||||
+'heckBox'#19'AlwaysBuildCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'A'
|
||||
+'nchorSideTop.Control'#7#16'RunnableCheckBox'#18'AnchorSideTop.Side'#7#9'asr'
|
||||
+'Bottom'#4'Left'#2#0#6'Height'#2#17#3'Top'#2'y'#5'Width'#2'y'#17'BorderSpaci'
|
||||
+'ng.Top'#2#6#7'Caption'#6#19'AlwaysBuildCheckBox'#8'TabOrder'#2#5#0#0#242#2#7
|
||||
+#9'TCheckBox'#22'LRSInOutputDirCheckBox'#22'AnchorSideLeft.Control'#7#5'Owne'
|
||||
+'r'#21'AnchorSideTop.Control'#7#19'AlwaysBuildCheckBox'#18'AnchorSideTop.Sid'
|
||||
+'e'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#17#3'Top'#3#144#0#5'Width'#3#140#0
|
||||
+#17'BorderSpacing.Top'#2#6#7'Caption'#6#22'LRSInOutputDirCheckBox'#8'TabOrde'
|
||||
+'r'#2#6#0#0#242#2#8#9'TGroupBox'#16'ResourceGroupBox'#22'AnchorSideLeft.Cont'
|
||||
+'rol'#7#5'Owner'#21'AnchorSideTop.Control'#7#22'LRSInOutputDirCheckBox'#18'A'
|
||||
+'nchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20
|
||||
+'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2'Q'#3'Top'#3#167
|
||||
+#0#5'Width'#3#24#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSp'
|
||||
+'acing.Top'#2#6#7'Caption'#6#16'ResourceGroupBox'#28'ChildSizing.LeftRightSp'
|
||||
+'acing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHoriz'
|
||||
+'ontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24
|
||||
+'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChi'
|
||||
+'lds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Lay'
|
||||
+'out'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
|
||||
+#12'ClientHeight'#2'?'#11'ClientWidth'#3#20#2#8'TabOrder'#2#7#0#12'TRadioBut'
|
||||
+'ton'#22'UseLRSFilesRadioButton'#4'Left'#2#6#6'Height'#2#26#3'Top'#2#6#5'Wid'
|
||||
+'th'#3#8#2#7'Caption'#6#22'UseLRSFilesRadioButton'#7'Checked'#9#14'ParentSho'
|
||||
+'wHint'#8#8'ShowHint'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#0#0#0#12'TRadi'
|
||||
+'oButton'#26'UseFPCResourcesRadioButton'#4'Left'#2#6#6'Height'#2#25#3'Top'#2
|
||||
+' '#5'Width'#3#8#2#7'Caption'#6#26'UseFPCResourcesRadioButton'#14'ParentShow'
|
||||
+'Hint'#8#8'ShowHint'#9#8'TabOrder'#2#1#7'TabStop'#8#0#0#0#0
|
||||
]);
|
||||
123
ide/frames/project_misc_options.pas
Normal file
123
ide/frames/project_misc_options.pas
Normal file
@ -0,0 +1,123 @@
|
||||
unit project_misc_options;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, StdCtrls, ProjectIntf, Project, IDEOptionsIntf, LazarusIDEStrConsts;
|
||||
|
||||
type
|
||||
|
||||
{ TProjectMiscOptionsFrame }
|
||||
|
||||
TProjectMiscOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
AlwaysBuildCheckBox: TCheckBox;
|
||||
Bevel1: TBevel;
|
||||
LRSInOutputDirCheckBox: TCheckBox;
|
||||
MainUnitHasCreateFormStatementsCheckBox: TCheckBox;
|
||||
MainUnitHasTitleStatementCheckBox: TCheckBox;
|
||||
MainUnitHasUsesSectionForAllUnitsCheckBox: TCheckBox;
|
||||
MainUnitIsPascalSourceCheckBox: TCheckBox;
|
||||
ResourceGroupBox: TGroupBox;
|
||||
RunnableCheckBox: TCheckBox;
|
||||
UseFPCResourcesRadioButton: TRadioButton;
|
||||
UseLRSFilesRadioButton: TRadioButton;
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
function GetTitle: string; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TProjectMiscOptionsFrame }
|
||||
|
||||
function TProjectMiscOptionsFrame.GetTitle: string;
|
||||
begin
|
||||
Result := dlgPOMisc;
|
||||
end;
|
||||
|
||||
procedure TProjectMiscOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
begin
|
||||
MainUnitIsPascalSourceCheckBox.Caption := lisMainUnitIsPascalSource;
|
||||
MainUnitHasUsesSectionForAllUnitsCheckBox.Caption := lisMainUnitHasUsesSectionContainingAllUnitsOfProject;
|
||||
MainUnitHasCreateFormStatementsCheckBox.Caption := lisMainUnitHasApplicationCreateFormStatements;
|
||||
MainUnitHasTitleStatementCheckBox.Caption := lisMainUnitHasApplicationTitleStatements;
|
||||
RunnableCheckBox.Caption := lisProjectIsRunnable;
|
||||
AlwaysBuildCheckBox.Caption := lisProjOptsAlwaysBuildEvenIfNothingChanged;
|
||||
LRSInOutputDirCheckBox.Caption := lisPutLrsFilesInOutputDirectory;
|
||||
ResourceGroupBox.Caption := lisResourceTypeOfNewFiles;
|
||||
UseLRSFilesRadioButton.Caption := lisLrsIncludeFiles;
|
||||
UseLRSFilesRadioButton.Hint := lisAutomaticallyConvertLfmFilesToLrsIncludeFiles;
|
||||
UseFPCResourcesRadioButton.Caption := lisFPCResources;
|
||||
UseFPCResourcesRadioButton.Hint := lisRequiresFPC24OrAboveLikeDelphiResources;
|
||||
end;
|
||||
|
||||
procedure TProjectMiscOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
begin
|
||||
MainUnitIsPascalSourceCheckBox.Checked := (pfMainUnitIsPascalSource in Flags);
|
||||
MainUnitHasUsesSectionForAllUnitsCheckBox.Checked := (pfMainUnitHasUsesSectionForAllUnits in Flags);
|
||||
MainUnitHasCreateFormStatementsCheckBox.Checked := (pfMainUnitHasCreateFormStatements in Flags);
|
||||
MainUnitHasTitleStatementCheckBox.Checked := (pfMainUnitHasTitleStatement in Flags);
|
||||
RunnableCheckBox.Checked := (pfRunnable in Flags);
|
||||
AlwaysBuildCheckBox.Checked := (pfAlwaysBuild in Flags);
|
||||
LRSInOutputDirCheckBox.Checked := (pfLRSFilesInOutputDirectory in Flags);
|
||||
case Resources.ResourceType of
|
||||
rtLRS: UseLRSFilesRadioButton.Checked := True;
|
||||
rtRes: UseFPCResourcesRadioButton.Checked := True;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TProjectMiscOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
Project: TProject absolute AOptions;
|
||||
NewFlags: TProjectFlags;
|
||||
|
||||
procedure SetProjectFlag(AFlag: TProjectFlag; AValue: Boolean);
|
||||
begin
|
||||
if AValue then
|
||||
Include(NewFlags, AFlag)
|
||||
else
|
||||
Exclude(NewFlags, AFlag);
|
||||
end;
|
||||
|
||||
begin
|
||||
NewFlags := Project.Flags;
|
||||
SetProjectFlag(pfMainUnitIsPascalSource,
|
||||
MainUnitIsPascalSourceCheckBox.Checked);
|
||||
SetProjectFlag(pfMainUnitHasUsesSectionForAllUnits,
|
||||
MainUnitHasUsesSectionForAllUnitsCheckBox.Checked);
|
||||
SetProjectFlag(pfMainUnitHasCreateFormStatements,
|
||||
MainUnitHasCreateFormStatementsCheckBox.Checked);
|
||||
SetProjectFlag(pfMainUnitHasTitleStatement,
|
||||
MainUnitHasTitleStatementCheckBox.Checked);
|
||||
SetProjectFlag(pfRunnable, RunnableCheckBox.Checked);
|
||||
SetProjectFlag(pfAlwaysBuild, AlwaysBuildCheckBox.Checked);
|
||||
SetProjectFlag(pfLRSFilesInOutputDirectory, LRSInOutputDirCheckBox.Checked);
|
||||
Project.Flags := NewFlags;
|
||||
if UseLRSFilesRadioButton.Checked then
|
||||
Project.Resources.ResourceType := rtLRS
|
||||
else
|
||||
Project.Resources.ResourceType := rtRes;
|
||||
end;
|
||||
|
||||
class function TProjectMiscOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProject;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I project_misc_options.lrs}
|
||||
RegisterIDEOptionsEditor(GroupProject, TProjectMiscOptionsFrame, ProjectOptionsMisc);
|
||||
|
||||
end.
|
||||
|
||||
58
ide/frames/project_save_options.lfm
Normal file
58
ide/frames/project_save_options.lfm
Normal file
@ -0,0 +1,58 @@
|
||||
inherited ProjectSaveOptionsFrame: TProjectSaveOptionsFrame
|
||||
TabOrder = 0
|
||||
DesignLeft = 617
|
||||
DesignTop = 390
|
||||
object SaveClosedUnitInfoCheckBox: TCheckBox[0]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 0
|
||||
Width = 320
|
||||
Align = alTop
|
||||
Caption = 'SaveClosedUnitInfoCheckBox'
|
||||
TabOrder = 0
|
||||
end
|
||||
object SaveOnlyProjectUnitInfoCheckBox: TCheckBox[1]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = SaveClosedUnitInfoCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 23
|
||||
Width = 320
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'SaveOnlyProjectUnitInfoCheckBox'
|
||||
TabOrder = 1
|
||||
end
|
||||
object SaveSessionLocationRadioGroup: TRadioGroup[2]
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = SaveOnlyProjectUnitInfoCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 4
|
||||
Top = 46
|
||||
Width = 320
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoFill = True
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'SaveSessionLocationRadioGroup'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
29
ide/frames/project_save_options.lrs
Normal file
29
ide/frames/project_save_options.lrs
Normal file
@ -0,0 +1,29 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectSaveOptionsFrame','FORMDATA',[
|
||||
'TPF0'#241#24'TProjectSaveOptionsFrame'#23'ProjectSaveOptionsFrame'#8'TabOrde'
|
||||
+'r'#2#0#10'DesignLeft'#3'i'#2#9'DesignTop'#3#134#1#0#242#2#0#9'TCheckBox'#26
|
||||
+'SaveClosedUnitInfoCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Anchor'
|
||||
+'SideTop.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'Ancho'
|
||||
+'rSideRight.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#17#3'Top'#2#0#5'Wid'
|
||||
+'th'#3'@'#1#5'Align'#7#5'alTop'#7'Caption'#6#26'SaveClosedUnitInfoCheckBox'#8
|
||||
+'TabOrder'#2#0#0#0#242#2#1#9'TCheckBox'#31'SaveOnlyProjectUnitInfoCheckBox'
|
||||
+#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#26'SaveCl'
|
||||
+'osedUnitInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRi'
|
||||
+'ght.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#0
|
||||
+#6'Height'#2#17#3'Top'#2#23#5'Width'#3'@'#1#7'Anchors'#11#5'akTop'#6'akLeft'
|
||||
+#7'akRight'#0#17'BorderSpacing.Top'#2#6#7'Caption'#6#31'SaveOnlyProjectUnitI'
|
||||
+'nfoCheckBox'#8'TabOrder'#2#1#0#0#242#2#2#11'TRadioGroup'#29'SaveSessionLoca'
|
||||
+'tionRadioGroup'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Cont'
|
||||
+'rol'#7#31'SaveOnlyProjectUnitInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBo'
|
||||
+'ttom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'a'
|
||||
+'srBottom'#4'Left'#2#0#6'Height'#2#4#3'Top'#2'.'#5'Width'#3'@'#1#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#17'BorderSpa'
|
||||
+'cing.Top'#2#6#7'Caption'#6#29'SaveSessionLocationRadioGroup'#28'ChildSizing'
|
||||
+'.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.'
|
||||
+'EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVer'
|
||||
+'tical'#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#1#8'TabOrder'#2#2#0#0#0
|
||||
]);
|
||||
112
ide/frames/project_save_options.pas
Normal file
112
ide/frames/project_save_options.pas
Normal file
@ -0,0 +1,112 @@
|
||||
unit project_save_options;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, ExtCtrls, Project, IDEOptionsIntf, ProjectIntf, LCLProc,
|
||||
LazarusIDEStrConsts, IDEProcs;
|
||||
|
||||
type
|
||||
|
||||
{ TProjectSaveOptionsFrame }
|
||||
|
||||
TProjectSaveOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
SaveClosedUnitInfoCheckBox: TCheckBox;
|
||||
SaveOnlyProjectUnitInfoCheckBox: TCheckBox;
|
||||
SaveSessionLocationRadioGroup: TRadioGroup;
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
function GetTitle: string; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
function ProjectSessionStorageToLocalizedName(s: TProjectSessionStorage): string;
|
||||
begin
|
||||
case s of
|
||||
pssInProjectInfo: Result := lisPOSaveInLpiFil;
|
||||
pssInProjectDir: Result := lisPOSaveInLpsFileInProjectDirectory;
|
||||
pssInIDEConfig: Result := lisPOSaveInIDEConfigDirectory;
|
||||
pssNone: Result := lisPODoNotSaveAnySessionInfo;
|
||||
else
|
||||
RaiseGDBException('');
|
||||
end;
|
||||
end;
|
||||
|
||||
function LocalizedNameToProjectSessionStorage(const s: string): TProjectSessionStorage;
|
||||
begin
|
||||
for Result := Low(TProjectSessionStorage) to High(TProjectSessionStorage) do
|
||||
if ProjectSessionStorageToLocalizedName(Result) = s then exit;
|
||||
Result := pssInProjectInfo;
|
||||
end;
|
||||
|
||||
{ TProjectSaveOptionsFrame }
|
||||
|
||||
function TProjectSaveOptionsFrame.GetTitle: string;
|
||||
begin
|
||||
Result := dlgPOSaveSession;
|
||||
end;
|
||||
|
||||
procedure TProjectSaveOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
var
|
||||
s: TProjectSessionStorage;
|
||||
begin
|
||||
SaveClosedUnitInfoCheckBox.Caption := dlgSaveEditorInfo;
|
||||
SaveOnlyProjectUnitInfoCheckBox.Caption := dlgSaveEditorInfoProject;
|
||||
SaveSessionLocationRadioGroup.Caption := lisPOSaveSessionInformationIn;
|
||||
for s := Low(TProjectSessionStorage) to High(TProjectSessionStorage) do
|
||||
SaveSessionLocationRadioGroup.Items.Add(ProjectSessionStorageToLocalizedName(s));
|
||||
end;
|
||||
|
||||
procedure TProjectSaveOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
begin
|
||||
SaveClosedUnitInfoCheckBox.Checked := (pfSaveClosedUnits in Flags);
|
||||
SaveOnlyProjectUnitInfoCheckBox.Checked := (pfSaveOnlyProjectUnits in Flags);
|
||||
SaveSessionLocationRadioGroup.ItemIndex := ord(SessionStorage);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TProjectSaveOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
AFlags: TProjectFlags;
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
begin
|
||||
AFlags := Flags;
|
||||
if SaveClosedUnitInfoCheckBox.Checked then
|
||||
include(AFlags, pfSaveClosedUnits)
|
||||
else
|
||||
exclude(AFlags, pfSaveClosedUnits);
|
||||
if SaveOnlyProjectUnitInfoCheckBox.Checked then
|
||||
include(AFlags, pfSaveOnlyProjectUnits)
|
||||
else
|
||||
exclude(AFlags, pfSaveOnlyProjectUnits);
|
||||
if SaveSessionLocationRadioGroup.ItemIndex >= 0 then
|
||||
SessionStorage := LocalizedNameToProjectSessionStorage(
|
||||
SaveSessionLocationRadioGroup.Items[
|
||||
SaveSessionLocationRadioGroup.ItemIndex]);
|
||||
Flags := AFlags;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TProjectSaveOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProject;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I project_save_options.lrs}
|
||||
RegisterIDEOptionsEditor(GroupProject, TProjectSaveOptionsFrame, ProjectOptionsSave);
|
||||
|
||||
end.
|
||||
|
||||
295
ide/frames/project_versioninfo_options.lfm
Normal file
295
ide/frames/project_versioninfo_options.lfm
Normal file
@ -0,0 +1,295 @@
|
||||
inherited ProjectVersionInfoOptionsFrame: TProjectVersionInfoOptionsFrame
|
||||
Height = 364
|
||||
Width = 594
|
||||
ClientHeight = 364
|
||||
ClientWidth = 594
|
||||
TabOrder = 0
|
||||
DesignLeft = 273
|
||||
DesignTop = 145
|
||||
object VersionInfoGroupBox: TGroupBox[0]
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 100
|
||||
Top = 23
|
||||
Width = 594
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'Version Numbering'
|
||||
ClientHeight = 82
|
||||
ClientWidth = 590
|
||||
TabOrder = 0
|
||||
object VersionLabel: TLabel
|
||||
AnchorSideLeft.Control = VersionInfoGroupBox
|
||||
AnchorSideTop.Control = VersionInfoGroupBox
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 40
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Version:'
|
||||
ParentColor = False
|
||||
end
|
||||
object MajorRevisionLabel: TLabel
|
||||
AnchorSideLeft.Control = VersionSpinEdit
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = VersionInfoGroupBox
|
||||
Left = 106
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 75
|
||||
BorderSpacing.Left = 24
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Major Revision:'
|
||||
ParentColor = False
|
||||
end
|
||||
object MinorRevisionLabel: TLabel
|
||||
AnchorSideLeft.Control = MajorRevisionSpinEdit
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = VersionInfoGroupBox
|
||||
Left = 206
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 74
|
||||
BorderSpacing.Left = 24
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Minor Revision:'
|
||||
ParentColor = False
|
||||
end
|
||||
object BuildLabel: TLabel
|
||||
AnchorSideLeft.Control = MinorRevisionSpinEdit
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = VersionInfoGroupBox
|
||||
Left = 306
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 27
|
||||
BorderSpacing.Left = 24
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Build:'
|
||||
ParentColor = False
|
||||
end
|
||||
object VersionSpinEdit: TSpinEdit
|
||||
AnchorSideLeft.Control = VersionLabel
|
||||
AnchorSideTop.Control = VersionLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 70
|
||||
MaxValue = 65535
|
||||
TabOrder = 0
|
||||
end
|
||||
object MajorRevisionSpinEdit: TSpinEdit
|
||||
AnchorSideLeft.Control = MajorRevisionLabel
|
||||
AnchorSideTop.Control = MajorRevisionLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 106
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 70
|
||||
MaxValue = 65535
|
||||
TabOrder = 1
|
||||
end
|
||||
object MinorRevisionSpinEdit: TSpinEdit
|
||||
AnchorSideLeft.Control = MinorRevisionLabel
|
||||
AnchorSideTop.Control = MinorRevisionLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 206
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 70
|
||||
MaxValue = 65535
|
||||
TabOrder = 2
|
||||
end
|
||||
object AutomaticallyIncreaseBuildCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = VersionInfoGroupBox
|
||||
AnchorSideTop.Control = VersionSpinEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 17
|
||||
Top = 59
|
||||
Width = 150
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Automatically increase Build'
|
||||
TabOrder = 4
|
||||
end
|
||||
object BuildSpinEdit: TSpinEdit
|
||||
AnchorSideLeft.Control = BuildLabel
|
||||
AnchorSideTop.Control = BuildLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 306
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 70
|
||||
MaxValue = 65535
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
object UseVersionInfoCheckBox: TCheckBox[1]
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 0
|
||||
Width = 594
|
||||
Align = alTop
|
||||
Caption = 'Include Version Info in executable'
|
||||
OnChange = UseVersionInfoCheckBoxChange
|
||||
TabOrder = 1
|
||||
end
|
||||
object LanguageSettingsGroupBox: TGroupBox[2]
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 71
|
||||
Top = 129
|
||||
Width = 594
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'Language Options'
|
||||
ClientHeight = 53
|
||||
ClientWidth = 590
|
||||
TabOrder = 2
|
||||
object LanguageSelectionLabel: TLabel
|
||||
AnchorSideLeft.Control = LanguageSettingsGroupBox
|
||||
AnchorSideTop.Control = LanguageSettingsGroupBox
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 98
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Language Selection:'
|
||||
ParentColor = False
|
||||
end
|
||||
object CharacterSetLabel: TLabel
|
||||
AnchorSideLeft.Control = LanguageSelectionComboBox
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = LanguageSettingsGroupBox
|
||||
Left = 260
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 72
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Character Set:'
|
||||
ParentColor = False
|
||||
end
|
||||
object LanguageSelectionComboBox: TComboBox
|
||||
AnchorSideLeft.Control = LanguageSelectionLabel
|
||||
AnchorSideTop.Control = LanguageSelectionLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 248
|
||||
BorderSpacing.Top = 2
|
||||
BorderSpacing.Bottom = 6
|
||||
ItemHeight = 13
|
||||
TabOrder = 0
|
||||
Text = 'U.S. English'
|
||||
end
|
||||
object CharacterSetComboBox: TComboBox
|
||||
AnchorSideLeft.Control = CharacterSetLabel
|
||||
AnchorSideTop.Control = LanguageSelectionComboBox
|
||||
AnchorSideRight.Control = LanguageSettingsGroupBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 260
|
||||
Height = 21
|
||||
Top = 26
|
||||
Width = 324
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Right = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
ItemHeight = 13
|
||||
TabOrder = 1
|
||||
Text = 'Multilingual'
|
||||
end
|
||||
end
|
||||
object OtherInfoGroupBox: TGroupBox[3]
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 107
|
||||
Top = 206
|
||||
Width = 594
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'Other Info'
|
||||
ClientHeight = 89
|
||||
ClientWidth = 590
|
||||
TabOrder = 3
|
||||
object DescriptionLabel: TLabel
|
||||
AnchorSideTop.Control = DescriptionEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 9
|
||||
Width = 58
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'Description:'
|
||||
ParentColor = False
|
||||
end
|
||||
object CopyrightLabel: TLabel
|
||||
AnchorSideLeft.Control = DescriptionLabel
|
||||
AnchorSideTop.Control = CopyrightEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 36
|
||||
Width = 52
|
||||
Caption = 'Copyright:'
|
||||
ParentColor = False
|
||||
end
|
||||
object DescriptionEdit: TEdit
|
||||
AnchorSideLeft.Control = DescriptionLabel
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = OtherInfoGroupBox
|
||||
AnchorSideRight.Control = OtherInfoGroupBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 74
|
||||
Height = 21
|
||||
Top = 6
|
||||
Width = 510
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 10
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 6
|
||||
TabOrder = 0
|
||||
end
|
||||
object CopyrightEdit: TEdit
|
||||
AnchorSideLeft.Control = DescriptionEdit
|
||||
AnchorSideTop.Control = DescriptionEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = OtherInfoGroupBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 74
|
||||
Height = 21
|
||||
Top = 33
|
||||
Width = 510
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 6
|
||||
TabOrder = 1
|
||||
end
|
||||
object AdditionalInfoButton: TBitBtn
|
||||
AnchorSideTop.Control = CopyrightEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = OtherInfoGroupBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 488
|
||||
Height = 23
|
||||
Top = 60
|
||||
Width = 96
|
||||
Anchors = [akTop, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Additional Info'
|
||||
NumGlyphs = 0
|
||||
OnClick = AdditionalInfoButtonClick
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
105
ide/frames/project_versioninfo_options.lrs
Normal file
105
ide/frames/project_versioninfo_options.lrs
Normal file
@ -0,0 +1,105 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectVersionInfoOptionsFrame','FORMDATA',[
|
||||
'TPF0'#241#31'TProjectVersionInfoOptionsFrame'#30'ProjectVersionInfoOptionsFr'
|
||||
+'ame'#6'Height'#3'l'#1#5'Width'#3'R'#2#12'ClientHeight'#3'l'#1#11'ClientWidt'
|
||||
+'h'#3'R'#2#8'TabOrder'#2#0#10'DesignLeft'#3#17#1#9'DesignTop'#3#145#0#0#242#2
|
||||
+#0#9'TGroupBox'#19'VersionInfoGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'
|
||||
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2'd'#3'Top'#2
|
||||
+#23#5'Width'#3'R'#2#5'Align'#7#5'alTop'#8'AutoSize'#9#17'BorderSpacing.Top'#2
|
||||
+#6#7'Caption'#6#17'Version Numbering'#12'ClientHeight'#2'R'#11'ClientWidth'#3
|
||||
+'N'#2#8'TabOrder'#2#0#0#6'TLabel'#12'VersionLabel'#22'AnchorSideLeft.Control'
|
||||
+#7#19'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBo'
|
||||
+'x'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'('#20'BorderSpacing.Aro'
|
||||
+'und'#2#6#7'Caption'#6#8'Version:'#11'ParentColor'#8#0#0#6'TLabel'#18'MajorR'
|
||||
+'evisionLabel'#22'AnchorSideLeft.Control'#7#15'VersionSpinEdit'#19'AnchorSid'
|
||||
+'eLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupB'
|
||||
+'ox'#4'Left'#2'j'#6'Height'#2#14#3'Top'#2#6#5'Width'#2'K'#18'BorderSpacing.L'
|
||||
+'eft'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Major Revision:'#11
|
||||
+'ParentColor'#8#0#0#6'TLabel'#18'MinorRevisionLabel'#22'AnchorSideLeft.Contr'
|
||||
+'ol'#7#21'MajorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'A'
|
||||
+'nchorSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#3#206#0#6'Height'#2
|
||||
+#14#3'Top'#2#6#5'Width'#2'J'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Ar'
|
||||
+'ound'#2#6#7'Caption'#6#15'Minor Revision:'#11'ParentColor'#8#0#0#6'TLabel'
|
||||
+#10'BuildLabel'#22'AnchorSideLeft.Control'#7#21'MinorRevisionSpinEdit'#19'An'
|
||||
+'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInf'
|
||||
+'oGroupBox'#4'Left'#3'2'#1#6'Height'#2#14#3'Top'#2#6#5'Width'#2#27#18'Border'
|
||||
+'Spacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Build:'#11'P'
|
||||
+'arentColor'#8#0#0#9'TSpinEdit'#15'VersionSpinEdit'#22'AnchorSideLeft.Contro'
|
||||
+'l'#7#12'VersionLabel'#21'AnchorSideTop.Control'#7#12'VersionLabel'#18'Ancho'
|
||||
+'rSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#26#5'Widt'
|
||||
+'h'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#0#0#0#9'TSpinEdit'#21'Major'
|
||||
+'RevisionSpinEdit'#22'AnchorSideLeft.Control'#7#18'MajorRevisionLabel'#21'An'
|
||||
+'chorSideTop.Control'#7#18'MajorRevisionLabel'#18'AnchorSideTop.Side'#7#9'as'
|
||||
+'rBottom'#4'Left'#2'j'#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4
|
||||
+#255#255#0#0#8'TabOrder'#2#1#0#0#9'TSpinEdit'#21'MinorRevisionSpinEdit'#22'A'
|
||||
+'nchorSideLeft.Control'#7#18'MinorRevisionLabel'#21'AnchorSideTop.Control'#7
|
||||
+#18'MinorRevisionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#206#0
|
||||
+#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrd'
|
||||
+'er'#2#2#0#0#9'TCheckBox"AutomaticallyIncreaseBuildCheckBox'#22'AnchorSideLe'
|
||||
+'ft.Control'#7#19'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#15'Versio'
|
||||
+'nSpinEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17
|
||||
+#3'Top'#2';'#5'Width'#3#150#0#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Aro'
|
||||
+'und'#2#6#7'Caption'#6#28'Automatically increase Build'#8'TabOrder'#2#4#0#0#9
|
||||
+'TSpinEdit'#13'BuildSpinEdit'#22'AnchorSideLeft.Control'#7#10'BuildLabel'#21
|
||||
+'AnchorSideTop.Control'#7#10'BuildLabel'#18'AnchorSideTop.Side'#7#9'asrBotto'
|
||||
+'m'#4'Left'#3'2'#1#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255
|
||||
+#255#0#0#8'TabOrder'#2#3#0#0#0#242#2#1#9'TCheckBox'#22'UseVersionInfoCheckBo'
|
||||
+'x'#4'Left'#2#0#6'Height'#2#17#3'Top'#2#0#5'Width'#3'R'#2#5'Align'#7#5'alTop'
|
||||
+#7'Caption'#6'"Include Version Info in executable'#8'OnChange'#7#28'UseVersi'
|
||||
+'onInfoCheckBoxChange'#8'TabOrder'#2#1#0#0#242#2#2#9'TGroupBox'#24'LanguageS'
|
||||
+'ettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.S'
|
||||
+'ide'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2'G'#3'Top'#3#129#0#5'Width'#3'R'
|
||||
+#2#5'Align'#7#5'alTop'#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'Caption'#6
|
||||
+#16'Language Options'#12'ClientHeight'#2'5'#11'ClientWidth'#3'N'#2#8'TabOrde'
|
||||
+'r'#2#2#0#6'TLabel'#22'LanguageSelectionLabel'#22'AnchorSideLeft.Control'#7
|
||||
+#24'LanguageSettingsGroupBox'#21'AnchorSideTop.Control'#7#24'LanguageSetting'
|
||||
+'sGroupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'b'#20'BorderSpa'
|
||||
+'cing.Around'#2#6#7'Caption'#6#19'Language Selection:'#11'ParentColor'#8#0#0
|
||||
+#6'TLabel'#17'CharacterSetLabel'#22'AnchorSideLeft.Control'#7#25'LanguageSel'
|
||||
+'ectionComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Con'
|
||||
+'trol'#7#24'LanguageSettingsGroupBox'#4'Left'#3#4#1#6'Height'#2#14#3'Top'#2#6
|
||||
+#5'Width'#2'H'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'Character Set:'
|
||||
+#11'ParentColor'#8#0#0#9'TComboBox'#25'LanguageSelectionComboBox'#22'AnchorS'
|
||||
+'ideLeft.Control'#7#22'LanguageSelectionLabel'#21'AnchorSideTop.Control'#7#22
|
||||
+'LanguageSelectionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6
|
||||
+'Height'#2#21#3'Top'#2#26#5'Width'#3#248#0#17'BorderSpacing.Top'#2#2#20'Bord'
|
||||
+'erSpacing.Bottom'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#0#4'Text'#6#12'U.S.'
|
||||
,' English'#0#0#9'TComboBox'#20'CharacterSetComboBox'#22'AnchorSideLeft.Contr'
|
||||
+'ol'#7#17'CharacterSetLabel'#21'AnchorSideTop.Control'#7#25'LanguageSelectio'
|
||||
+'nComboBox'#23'AnchorSideRight.Control'#7#24'LanguageSettingsGroupBox'#20'An'
|
||||
+'chorSideRight.Side'#7#9'asrBottom'#4'Left'#3#4#1#6'Height'#2#21#3'Top'#2#26
|
||||
+#5'Width'#3'D'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpac'
|
||||
+'ing.Right'#2#6#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#8'TabOrder'
|
||||
+#2#1#4'Text'#6#12'Multilingual'#0#0#0#242#2#3#9'TGroupBox'#17'OtherInfoGroup'
|
||||
+'Box'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asr'
|
||||
+'Bottom'#4'Left'#2#0#6'Height'#2'k'#3'Top'#3#206#0#5'Width'#3'R'#2#5'Align'#7
|
||||
+#5'alTop'#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'Caption'#6#10'Other Info'
|
||||
+#12'ClientHeight'#2'Y'#11'ClientWidth'#3'N'#2#8'TabOrder'#2#3#0#6'TLabel'#16
|
||||
+'DescriptionLabel'#21'AnchorSideTop.Control'#7#15'DescriptionEdit'#18'Anchor'
|
||||
+'SideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5'Width'
|
||||
+#2':'#18'BorderSpacing.Left'#2#6#7'Caption'#6#12'Description:'#11'ParentColo'
|
||||
+'r'#8#0#0#6'TLabel'#14'CopyrightLabel'#22'AnchorSideLeft.Control'#7#16'Descr'
|
||||
+'iptionLabel'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop'
|
||||
+'.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'$'#5'Width'#2'4'#7
|
||||
+'Caption'#6#10'Copyright:'#11'ParentColor'#8#0#0#5'TEdit'#15'DescriptionEdit'
|
||||
+#22'AnchorSideLeft.Control'#7#16'DescriptionLabel'#19'AnchorSideLeft.Side'#7
|
||||
+#9'asrBottom'#21'AnchorSideTop.Control'#7#17'OtherInfoGroupBox'#23'AnchorSid'
|
||||
+'eRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBot'
|
||||
+'tom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2#6#5'Width'#3#254#1#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#10#17'BorderSpacing.'
|
||||
+'Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13'Copyri'
|
||||
+'ghtEdit'#22'AnchorSideLeft.Control'#7#15'DescriptionEdit'#21'AnchorSideTop.'
|
||||
+'Control'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Anc'
|
||||
+'horSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9
|
||||
+'asrBottom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2'!'#5'Width'#3#254#1#7'Ancho'
|
||||
+'rs'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#19'BorderS'
|
||||
+'pacing.Right'#2#6#8'TabOrder'#2#1#0#0#7'TBitBtn'#20'AdditionalInfoButton'#21
|
||||
+'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrBo'
|
||||
+'ttom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRigh'
|
||||
+'t.Side'#7#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3
|
||||
+#232#1#6'Height'#2#23#3'Top'#2'<'#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'akR'
|
||||
+'ight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Addition'
|
||||
+'al Info'#9'NumGlyphs'#2#0#7'OnClick'#7#25'AdditionalInfoButtonClick'#8'TabO'
|
||||
+'rder'#2#2#0#0#0#0
|
||||
]);
|
||||
153
ide/frames/project_versioninfo_options.pas
Normal file
153
ide/frames/project_versioninfo_options.pas
Normal file
@ -0,0 +1,153 @@
|
||||
unit project_versioninfo_options;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Spin, Buttons, Project, IDEOptionsIntf, LazarusIDEStrConsts,
|
||||
W32VersionInfo, VersionInfoAdditionalInfo;
|
||||
|
||||
type
|
||||
|
||||
{ TProjectVersionInfoOptionsFrame }
|
||||
|
||||
TProjectVersionInfoOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
AdditionalInfoButton: TBitBtn;
|
||||
AutomaticallyIncreaseBuildCheckBox: TCheckBox;
|
||||
BuildLabel: TLabel;
|
||||
BuildSpinEdit: TSpinEdit;
|
||||
CharacterSetComboBox: TComboBox;
|
||||
CharacterSetLabel: TLabel;
|
||||
CopyrightEdit: TEdit;
|
||||
CopyrightLabel: TLabel;
|
||||
DescriptionEdit: TEdit;
|
||||
DescriptionLabel: TLabel;
|
||||
LanguageSelectionComboBox: TComboBox;
|
||||
LanguageSelectionLabel: TLabel;
|
||||
LanguageSettingsGroupBox: TGroupBox;
|
||||
MajorRevisionLabel: TLabel;
|
||||
MajorRevisionSpinEdit: TSpinEdit;
|
||||
MinorRevisionLabel: TLabel;
|
||||
MinorRevisionSpinEdit: TSpinEdit;
|
||||
OtherInfoGroupBox: TGroupBox;
|
||||
UseVersionInfoCheckBox: TCheckBox;
|
||||
VersionInfoGroupBox: TGroupBox;
|
||||
VersionLabel: TLabel;
|
||||
VersionSpinEdit: TSpinEdit;
|
||||
procedure AdditionalInfoButtonClick(Sender: TObject);
|
||||
procedure UseVersionInfoCheckBoxChange(Sender: TObject);
|
||||
private
|
||||
FProject: TProject;
|
||||
procedure EnableVersionInfo(UseVersionInfo: boolean);
|
||||
public
|
||||
function GetTitle: string; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TProjectVersionInfoOptionsFrame }
|
||||
|
||||
procedure TProjectVersionInfoOptionsFrame.UseVersionInfoCheckBoxChange(Sender: TObject);
|
||||
begin
|
||||
EnableVersionInfo(UseVersionInfoCheckBox.Checked);
|
||||
end;
|
||||
|
||||
procedure TProjectVersionInfoOptionsFrame.AdditionalInfoButtonClick(Sender: TObject);
|
||||
begin
|
||||
ShowVersionInfoAdditionailInfoForm(FProject.Resources.VersionInfo);
|
||||
end;
|
||||
|
||||
procedure TProjectVersionInfoOptionsFrame.EnableVersionInfo(UseVersionInfo: boolean);
|
||||
begin
|
||||
VersionInfoGroupBox.Enabled := UseVersionInfo;
|
||||
LanguageSettingsGroupBox.Enabled := UseVersionInfo;
|
||||
OtherInfoGroupBox.Enabled := UseVersionInfo;
|
||||
end;
|
||||
|
||||
function TProjectVersionInfoOptionsFrame.GetTitle: string;
|
||||
begin
|
||||
Result := VersionInfoTitle;
|
||||
end;
|
||||
|
||||
procedure TProjectVersionInfoOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
begin
|
||||
UseVersionInfoCheckBox.Caption := rsIncludeVersionInfoInExecutable;
|
||||
VersionInfoGroupBox.Caption := rsVersionNumbering;
|
||||
VersionLabel.Caption := rsVersion;
|
||||
MajorRevisionLabel.Caption := rsMajorRevision;
|
||||
MinorRevisionLabel.Caption := rsMinorRevision;
|
||||
BuildLabel.Caption := rsBuild;
|
||||
AutomaticallyIncreaseBuildCheckBox.Caption := rsAutomaticallyIncreaseBuildNumber;
|
||||
LanguageSettingsGroupBox.Caption := rsLanguageOptions;
|
||||
LanguageSelectionLabel.Caption := rsLanguageSelection;
|
||||
CharacterSetLabel.Caption := rsCharacterSet;
|
||||
OtherInfoGroupBox.Caption := rsOtherInfo;
|
||||
DescriptionLabel.Caption := lisCodeToolsDefsDescription;
|
||||
CopyrightLabel.Caption := rsCopyright;
|
||||
AdditionalInfoButton.Caption := rsAdditionalInfo;
|
||||
AdditionalInfoButton.LoadGlyphFromLazarusResource('laz_add');
|
||||
end;
|
||||
|
||||
procedure TProjectVersionInfoOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
FProject := AOptions as TProject;
|
||||
with FProject do
|
||||
begin
|
||||
UseVersionInfoCheckBox.Checked := Resources.VersionInfo.UseVersionInfo;
|
||||
VersionSpinEdit.Value := Resources.VersionInfo.VersionNr;
|
||||
MajorRevisionSpinEdit.Value := Resources.VersionInfo.MajorRevNr;
|
||||
MinorRevisionSpinEdit.Value := Resources.VersionInfo.MinorRevNr;
|
||||
BuildSpinEdit.Value := Resources.VersionInfo.BuildNr;
|
||||
|
||||
EnableVersionInfo(Resources.VersionInfo.UseVersionInfo);
|
||||
|
||||
if Resources.VersionInfo.AutoIncrementBuild then
|
||||
AutomaticallyIncreaseBuildCheckBox.Checked := True;
|
||||
LanguageSelectionComboBox.Items.Assign(MSLanguages);
|
||||
LanguageSelectionComboBox.ItemIndex :=
|
||||
MSHexLanguages.IndexOf(Resources.VersionInfo.HexLang);
|
||||
LanguageSelectionComboBox.Sorted := True;
|
||||
CharacterSetComboBox.Items.Assign(MSCharacterSets);
|
||||
CharacterSetComboBox.ItemIndex :=
|
||||
MSHexCharacterSets.IndexOf(Resources.VersionInfo.HexCharSet);
|
||||
CharacterSetComboBox.Sorted := True;
|
||||
DescriptionEdit.Text := Resources.VersionInfo.DescriptionString;
|
||||
CopyrightEdit.Text := Resources.VersionInfo.CopyrightString;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TProjectVersionInfoOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
with AOptions as TProject do
|
||||
begin
|
||||
Resources.VersionInfo.UseVersionInfo := UseVersionInfoCheckBox.Checked;
|
||||
Resources.VersionInfo.AutoIncrementBuild := AutomaticallyIncreaseBuildCheckBox.Checked;
|
||||
Resources.VersionInfo.VersionNr := VersionSpinEdit.Value;
|
||||
Resources.VersionInfo.MajorRevNr := MajorRevisionSpinEdit.Value;
|
||||
Resources.VersionInfo.MinorRevNr := MinorRevisionSpinEdit.Value;
|
||||
Resources.VersionInfo.BuildNr := BuildSpinEdit.Value;
|
||||
Resources.VersionInfo.DescriptionString := DescriptionEdit.Text;
|
||||
Resources.VersionInfo.CopyrightString := CopyrightEdit.Text;
|
||||
Resources.VersionInfo.HexLang := MSLanguageToHex(LanguageSelectionComboBox.Text);
|
||||
Resources.VersionInfo.HexCharSet := MSCharacterSetToHex(CharacterSetComboBox.Text);
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TProjectVersionInfoOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProject;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I project_versioninfo_options.lrs}
|
||||
RegisterIDEOptionsEditor(GroupProject, TProjectVersionInfoOptionsFrame,
|
||||
ProjectOptionsVersionInfo);
|
||||
|
||||
end.
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<PackageName Value="SynEdit"/>
|
||||
</Item4>
|
||||
</RequiredPackages>
|
||||
<Units Count="52">
|
||||
<Units Count="59">
|
||||
<Unit0>
|
||||
<Filename Value="lazarus.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -400,6 +400,55 @@
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="AskCompNameDlg"/>
|
||||
</Unit51>
|
||||
<Unit52>
|
||||
<Filename Value="frames/project_application_options.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProjectApplicationOptionsFrame"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="project_application_options"/>
|
||||
</Unit52>
|
||||
<Unit53>
|
||||
<Filename Value="frames/project_forms_options.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProjectFormsOptionsFrame"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="project_forms_options"/>
|
||||
</Unit53>
|
||||
<Unit54>
|
||||
<Filename Value="frames/project_lazdoc_options.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProjectLazDocOptionsFrame"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="project_lazdoc_options"/>
|
||||
</Unit54>
|
||||
<Unit55>
|
||||
<Filename Value="frames/project_save_options.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProjectSaveOptionsFrame"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="project_save_options"/>
|
||||
</Unit55>
|
||||
<Unit56>
|
||||
<Filename Value="frames/project_versioninfo_options.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProjectVersionInfoOptionsFrame"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="project_versioninfo_options"/>
|
||||
</Unit56>
|
||||
<Unit57>
|
||||
<Filename Value="frames/project_i18n_options.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProjectI18NOptionsFrame"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="project_i18n_options"/>
|
||||
</Unit57>
|
||||
<Unit58>
|
||||
<Filename Value="frames/project_misc_options.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProjectMiscOptionsFrame"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="project_misc_options"/>
|
||||
</Unit58>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
||||
130
ide/main.pp
130
ide/main.pp
@ -80,7 +80,7 @@ uses
|
||||
Compiler, CompilerOptions, CompilerOptionsDlg, CheckCompilerOpts,
|
||||
ApplicationBundle, ImExportCompilerOpts, InfoBuild,
|
||||
// projects
|
||||
ProjectResources, Project, ProjectDefs, NewProjectDlg, ProjectOpts,
|
||||
ProjectResources, Project, ProjectDefs, NewProjectDlg,
|
||||
PublishProjectDlg, ProjectInspector, PackageDefs,
|
||||
// help manager
|
||||
IDEContextHelpEdit, IDEHelpIntf, HelpManager, CodeHelp, HelpOptions,
|
||||
@ -103,8 +103,9 @@ uses
|
||||
ChgEncodingDlg, DelphiUnit2Laz, DelphiProject2Laz, LazXMLForms,
|
||||
// rest of the ide
|
||||
Splash, IDEDefs, LazarusIDEStrConsts, LazConf, MsgView, SearchResultView,
|
||||
CodeTemplatesDlg, CodeBrowser, FindUnitDlg, OI_options, IdeOptionsDlg,
|
||||
editor_general_options, formed_options,
|
||||
CodeTemplatesDlg, CodeBrowser, FindUnitDlg, IdeOptionsDlg,
|
||||
// environment options
|
||||
editor_general_options, formed_options, OI_options,
|
||||
files_options, desktop_options, window_options,
|
||||
Backup_Options, naming_options, fpdoc_options,
|
||||
editor_display_options, editor_keymapping_options, editor_mouseaction_options,
|
||||
@ -120,6 +121,11 @@ uses
|
||||
codeexplorer_update_options, codeexplorer_categories_options,
|
||||
codeobserver_options,
|
||||
help_general_options,
|
||||
// project options
|
||||
project_application_options, project_forms_options, project_lazdoc_options,
|
||||
project_save_options, project_versioninfo_options, project_i18n_options,
|
||||
project_misc_options,
|
||||
|
||||
PublishModule, EnvironmentOpts, TransferMacros, KeyMapping, IDETranslations,
|
||||
IDEProcs, ExtToolDialog, ExtToolEditDlg, OutputFilter, JumpHistoryView,
|
||||
BuildLazDialog, MiscOptions, InputHistory, UnitDependencies, ClipBoardHistory,
|
||||
@ -357,6 +363,8 @@ type
|
||||
procedure DoEditorOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoCodetoolsOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoCodeExplorerOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoProjectBeforeRead(Sender: TObject);
|
||||
procedure DoProjectAfterWrite(Sender: TObject);
|
||||
|
||||
// SourceNotebook events
|
||||
procedure OnSrcNoteBookActivated(Sender: TObject);
|
||||
@ -3692,14 +3700,8 @@ begin
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuProjectOptionsClicked(Sender: TObject);
|
||||
var
|
||||
ActiveSrcEdit: TSourceEditor;
|
||||
ActiveUnitInfo: TUnitInfo;
|
||||
begin
|
||||
BeginCodeTool(ActiveSrcEdit, ActiveUnitInfo, []);
|
||||
if ShowProjectOptionsDialog(Project1)=mrOk then begin
|
||||
UpdateCaption;
|
||||
end;
|
||||
DoOpenIDEOptions(nil, TAbstractIDEProjectOptions);
|
||||
end;
|
||||
|
||||
function TMainIDE.UpdateProjectPOFile(AProject: TProject): TModalResult;
|
||||
@ -4334,6 +4336,112 @@ begin
|
||||
CodeExplorerView.Refresh(true);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoProjectBeforeRead(Sender: TObject);
|
||||
var
|
||||
ActiveSrcEdit: TSourceEditor;
|
||||
ActiveUnitInfo: TUnitInfo;
|
||||
begin
|
||||
BeginCodeTool(ActiveSrcEdit, ActiveUnitInfo, []);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoProjectAfterWrite(Sender: TObject);
|
||||
var
|
||||
Project: TProject absolute Sender;
|
||||
|
||||
function GetTitle: String;
|
||||
begin
|
||||
Result := '';
|
||||
if (Project = nil) or (Project.MainUnitID < 0) then
|
||||
Exit;
|
||||
CodeToolBoss.GetApplicationTitleStatement(Project.MainUnitInfo.Source, Result);
|
||||
end;
|
||||
|
||||
function SetTitle: Boolean;
|
||||
var
|
||||
OldTitle: String;
|
||||
begin
|
||||
Result := True;
|
||||
if (Project.MainUnitID < 0) or
|
||||
(not (pfMainUnitHasTitleStatement in Project.Flags)) then
|
||||
Exit;
|
||||
OldTitle := GetTitle;
|
||||
if (OldTitle = '') and Project.TitleIsDefault then
|
||||
Exit;
|
||||
|
||||
if (OldTitle <> Project.Title) and (not Project.TitleIsDefault) then
|
||||
if not CodeToolBoss.SetApplicationTitleStatement(Project.MainUnitInfo.Source, Project.Title) then
|
||||
begin
|
||||
MessageDlg(lisProjOptsError,
|
||||
'Unable to change project title in source.'#13 +
|
||||
CodeToolBoss.ErrorMessage,
|
||||
mtWarning, [mbOk], 0);
|
||||
Result := False;
|
||||
Exit;
|
||||
end;// set Application.Title:= statement
|
||||
|
||||
if (OldTitle <> '') and Project.TitleIsDefault then
|
||||
if not CodeToolBoss.RemoveApplicationTitleStatement(Project.MainUnitInfo.Source) then
|
||||
begin
|
||||
MessageDlg(lisProjOptsError,
|
||||
'Unable to remove project title from source.'#13 +
|
||||
CodeToolBoss.ErrorMessage,
|
||||
mtWarning, [mbOk], 0);
|
||||
Result := False;
|
||||
Exit;
|
||||
end;// delete title
|
||||
end;
|
||||
|
||||
function SetAutoCreateForms: boolean;
|
||||
var
|
||||
i: integer;
|
||||
OldList: TStrings;
|
||||
begin
|
||||
Result := True;
|
||||
if (Project.MainUnitID < 0) or
|
||||
(not (pfMainUnitHasUsesSectionForAllUnits in Project.Flags)) then
|
||||
Exit;
|
||||
OldList := Project.GetAutoCreatedFormsList;
|
||||
if (OldList = nil) then
|
||||
Exit;
|
||||
try
|
||||
if OldList.Count = Project.TmpAutoCreatedForms.Count then
|
||||
begin
|
||||
|
||||
{ Just exit if the form list is the same }
|
||||
i := OldList.Count - 1;
|
||||
while (i >= 0) and (CompareText(OldList[i], Project.TmpAutoCreatedForms[i]) = 0) do
|
||||
Dec(i);
|
||||
if i < 0 then
|
||||
Exit;
|
||||
end;
|
||||
|
||||
if not CodeToolBoss.SetAllCreateFromStatements(Project.MainUnitInfo.Source,
|
||||
Project.TmpAutoCreatedForms) then
|
||||
begin
|
||||
MessageDlg(lisProjOptsError,
|
||||
Format(lisProjOptsUnableToChangeTheAutoCreateFormList, [LineEnding]),
|
||||
mtWarning, [mbOK], 0);
|
||||
Result := False;
|
||||
Exit;
|
||||
end;
|
||||
finally
|
||||
OldList.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
SetTitle;
|
||||
SetAutoCreateForms;
|
||||
// extend include path
|
||||
Project.AutoAddOutputDirToIncPath;
|
||||
if Project.Resources.Modified and (Project.MainUnitID >= 0) then
|
||||
begin
|
||||
if not Project.Resources.Regenerate(Project.MainFilename, True, False, '') then
|
||||
MessageDlg(Project.Resources.Messages.Text, mtWarning, [mbOk], 0);
|
||||
end;
|
||||
UpdateCaption;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuEnvEditorOptionsClicked(Sender: TObject);
|
||||
begin
|
||||
DoOpenIDEOptions(TEditorGeneralOptionsFrame);
|
||||
@ -6892,6 +7000,8 @@ begin
|
||||
Result.OnSaveUnitSessionInfo:=@OnSaveProjectUnitSessionInfo;
|
||||
Result.OnGetTestDirectory:=@OnProjectGetTestDirectory;
|
||||
Result.OnChangeProjectInfoFile:=@OnProjectChangeInfoFile;
|
||||
Result.OnBeforeRead:=@DoProjectBeforeRead;
|
||||
Result.OnAfterWrite:=@DoProjectAfterWrite;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.OnSaveProjectUnitSessionInfo(AUnitInfo: TUnitInfo);
|
||||
|
||||
@ -579,6 +579,7 @@ type
|
||||
private
|
||||
fActiveEditorIndexAtStart: integer;
|
||||
FAutoCreateForms: boolean;
|
||||
FTmpAutoCreatedForms: TStrings; // temporary, used to apply auto create forms changes
|
||||
FAutoOpenDesignerFormsDisabled: boolean;
|
||||
FBookmarks: TProjectBookmarkList;
|
||||
fChanged: boolean;
|
||||
@ -839,6 +840,10 @@ type
|
||||
|
||||
// i18n
|
||||
function GetPOOutDirectory: string;
|
||||
|
||||
//auto created forms
|
||||
function GetAutoCreatedFormsList: TStrings;
|
||||
property TmpAutoCreatedForms: TStrings read FTmpAutoCreatedForms write FTmpAutoCreatedForms;
|
||||
public
|
||||
property ActiveEditorIndexAtStart: integer read fActiveEditorIndexAtStart
|
||||
write fActiveEditorIndexAtStart;
|
||||
@ -4310,6 +4315,27 @@ begin
|
||||
LongenFilename(Result);
|
||||
end;
|
||||
|
||||
function TProject.GetAutoCreatedFormsList: TStrings;
|
||||
var
|
||||
i, j: integer;
|
||||
begin
|
||||
if (MainUnitID >= 0) then
|
||||
begin
|
||||
Result := CodeToolBoss.ListAllCreateFormStatements(MainUnitInfo.Source);
|
||||
if Result <> nil then
|
||||
for i := 0 to Result.Count - 1 do
|
||||
begin
|
||||
j := Pos(':', Result[i]);
|
||||
if j > 0 then
|
||||
if 't' + LowerCase(Copy(Result[i], 1, j - 1)) = LowerCase(
|
||||
Copy(Result[i], j + 1, Length(Result[i]) - j)) then
|
||||
Result[i] := Copy(Result[i], 1, j - 1);
|
||||
end;// shorten lines of type 'FormName:TFormName' to simply 'FormName'
|
||||
end
|
||||
else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
procedure TProject.OnUnitNameChange(AnUnitInfo: TUnitInfo;
|
||||
const OldUnitName, NewUnitName: string; CheckIfAllowed: boolean;
|
||||
var Allowed: boolean);
|
||||
|
||||
1071
ide/projectopts.lfm
1071
ide/projectopts.lfm
File diff suppressed because it is too large
Load Diff
@ -1,374 +0,0 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
|
||||
'TPF0'#21'TProjectOptionsDialog'#20'ProjectOptionsDialog'#4'Left'#3#142#1#6'H'
|
||||
+'eight'#3#245#1#3'Top'#3#177#0#5'Width'#3#5#2#13'ActiveControl'#7#8'Notebook'
|
||||
+#11'BorderIcons'#11#12'biSystemMenu'#0#7'Caption'#6#20'ProjectOptionsDialog'
|
||||
+#12'ClientHeight'#3#245#1#11'ClientWidth'#3#5#2#21'Constraints.MinHeight'#3
|
||||
+#234#1#20'Constraints.MinWidth'#3#254#1#7'OnClose'#7#19'ProjectOptionsClose'
|
||||
+#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.29'#0#9'TNotebook'#8
|
||||
+'Notebook'#4'Left'#2#0#6'Height'#3#207#1#3'Top'#2#0#5'Width'#3#5#2#5'Align'#7
|
||||
+#8'alClient'#20'BorderSpacing.Bottom'#2#6#9'PageIndex'#2#6#8'TabOrder'#2#0#0
|
||||
+#5'TPage'#15'ApplicationPage'#7'Caption'#6#15'ApplicationPage'#11'ClientWidt'
|
||||
+'h'#3#253#1#12'ClientHeight'#3#181#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4
|
||||
+'Left'#2#6#6'Height'#3' '#1#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#8
|
||||
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBo'
|
||||
+'x'#12'ClientHeight'#3#14#1#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#6'TLab'
|
||||
+'el'#10'TitleLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21
|
||||
+'AnchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'
|
||||
+#4'Left'#2#6#6'Height'#2#18#3'Top'#2#10#5'Width'#2'='#18'BorderSpacing.Left'
|
||||
+#2#6#7'Caption'#6#10'TitleLabel'#11'ParentColor'#8#0#0#6'TLabel'#9'IconLabel'
|
||||
+#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Contr'
|
||||
+'ol'#7#9'IconPanel'#4'Left'#2#6#6'Height'#2#18#3'Top'#2''''#5'Width'#2'='#18
|
||||
+'BorderSpacing.Left'#2#6#7'Caption'#6#9'IconLabel'#11'ParentColor'#8#0#0#6'T'
|
||||
+'Label'#14'IconTrackLabel'#22'AnchorSideLeft.Control'#7#9'IconTrack'#19'Anch'
|
||||
+'orSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconTrack'#18
|
||||
+'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#9'IconTrac'
|
||||
+'k'#4'Left'#3#240#0#6'Height'#2#18#3'Top'#3#178#0#5'Width'#2']'#18'BorderSpa'
|
||||
+'cing.Left'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#14'IconTrackLabel'
|
||||
+#11'ParentColor'#8#0#0#5'TEdit'#9'TitleEdit'#19'AnchorSideLeft.Side'#7#9'asr'
|
||||
+'Bottom'#4'Left'#2'j'#6'Height'#2#27#3'Top'#2#6#5'Width'#3'}'#1#5'Align'#7#5
|
||||
+'alTop'#18'BorderSpacing.Left'#2'd'#20'BorderSpacing.Around'#2#6#8'TabOrder'
|
||||
+#2#0#4'Text'#6#9'TitleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckBox'#22'Anc'
|
||||
+'horSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Control'#7#9
|
||||
+'IconTrack'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22
|
||||
+#3'Top'#3#213#0#5'Width'#3#181#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#20
|
||||
+'UseAppBundleCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#21'UseXPManifestChec'
|
||||
+'kBox'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop'
|
||||
+'.Control'#7#20'UseAppBundleCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
|
||||
+'Left'#2#6#6'Height'#2#22#3'Top'#3#241#0#5'Width'#3#182#0#20'BorderSpacing.A'
|
||||
+'round'#2#6#7'Caption'#6#21'UseXPManifestCheckBox'#8'TabOrder'#2#2#0#0#6'TPa'
|
||||
+'nel'#9'IconPanel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'A'
|
||||
+'nchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
|
||||
+'Left'#2'j'#6'Height'#3#128#0#3'Top'#2''''#5'Width'#3#128#0#18'BorderSpacing'
|
||||
+'.Left'#2'j'#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#10'BevelO'
|
||||
+'uter'#7#6'bvNone'#11'BorderWidth'#2#1#11'BorderStyle'#7#8'bsSingle'#12'Clie'
|
||||
+'ntHeight'#2'|'#11'ClientWidth'#2'|'#8'TabOrder'#2#3#0#6'TImage'#9'IconImage'
|
||||
+#4'Left'#2#1#6'Height'#2'z'#3'Top'#2#1#5'Width'#2'z'#5'Align'#7#8'alClient'#6
|
||||
+'Center'#9#16'OnPictureChanged'#7#23'IconImagePictureChanged'#0#0#0#7'TBitBt'
|
||||
+'n'#14'LoadIconButton'#22'AnchorSideLeft.Control'#7#9'IconPanel'#19'AnchorSi'
|
||||
+'deLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconPanel'#24'Anc'
|
||||
+'horSideBottom.Control'#7#9'IconPanel'#21'AnchorSideBottom.Side'#7#9'asrBott'
|
||||
+'om'#4'Left'#3#240#0#6'Height'#2#29#3'Top'#2''''#5'Width'#2's'#8'AutoSize'#9
|
||||
+#18'BorderSpacing.Left'#2#6#7'Caption'#6#14'LoadIconButton'#9'NumGlyphs'#2#0
|
||||
+#7'OnClick'#7#19'LoadIconButtonClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#14'Save'
|
||||
+'IconButton'#22'AnchorSideLeft.Control'#7#14'LoadIconButton'#21'AnchorSideTo'
|
||||
+'p.Control'#7#14'LoadIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef'
|
||||
+'t'#3#240#0#6'Height'#2#29#3'Top'#2'J'#5'Width'#2't'#8'AutoSize'#9#17'Border'
|
||||
+'Spacing.Top'#2#6#7'Caption'#6#14'SaveIconButton'#9'NumGlyphs'#2#0#7'OnClick'
|
||||
+#7#19'SaveIconButtonClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#15'ClearIconButton'
|
||||
+#22'AnchorSideLeft.Control'#7#14'SaveIconButton'#21'AnchorSideTop.Control'#7
|
||||
+#14'SaveIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#240#0#6
|
||||
+'Height'#2#29#3'Top'#2'm'#5'Width'#2'u'#8'AutoSize'#9#17'BorderSpacing.Top'#2
|
||||
+#6#7'Caption'#6#15'ClearIconButton'#9'NumGlyphs'#2#0#7'OnClick'#7#20'ClearIc'
|
||||
+'onButtonClick'#8'TabOrder'#2#6#0#0#9'TTrackBar'#9'IconTrack'#22'AnchorSideL'
|
||||
+'eft.Control'#7#9'IconPanel'#21'AnchorSideTop.Control'#7#9'IconPanel'#18'Anc'
|
||||
+'horSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'IconPanel'
|
||||
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2'('#3'Top'#3
|
||||
,#167#0#5'Width'#3#128#0#3'Max'#2#0#8'OnChange'#7#15'IconTrackChange'#8'Posit'
|
||||
+'ion'#2#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#7#0#0#0
|
||||
+#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'R'#3'Top'#3
|
||||
+','#1#5'Width'#3#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Ar'
|
||||
+'ound'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'@'#11
|
||||
+'ClientWidth'#3#237#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#22'Anc'
|
||||
+'horSideLeft.Control'#7#22'OutputSettingsGroupBox'#21'AnchorSideTop.Control'
|
||||
+#7#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'
|
||||
+#2'^'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'TargetFileLabel'#11'Paren'
|
||||
+'tColor'#8#0#0#5'TEdit'#14'TargetFileEdit'#22'AnchorSideLeft.Control'#7#22'O'
|
||||
+'utputSettingsGroupBox'#21'AnchorSideTop.Control'#7#15'TargetFileLabel'#18'A'
|
||||
+'nchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#22'OutputSe'
|
||||
+'ttingsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh'
|
||||
+'t'#2#27#3'Top'#2#30#5'Width'#3#225#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR'
|
||||
+'ight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Text'#6#14'TargetFil'
|
||||
+'eEdit'#0#0#0#7'TBitBtn'#21'CreateAppBundleButton'#22'AnchorSideLeft.Control'
|
||||
+#7#15'ApplicationPage'#21'AnchorSideTop.Control'#7#22'OutputSettingsGroupBox'
|
||||
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#29#3'Top'#3
|
||||
+#132#1#5'Width'#3#170#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'
|
||||
+#6#21'CreateAppBundleButton'#9'NumGlyphs'#2#0#7'OnClick'#7#26'CreateAppBundl'
|
||||
+'eButtonClick'#8'TabOrder'#2#2#0#0#0#5'TPage'#9'FormsPage'#7'Caption'#6#9'Fo'
|
||||
+'rmsPage'#11'ClientWidth'#3#253#1#12'ClientHeight'#3#181#1#8'OnResize'#7#15
|
||||
+'FormsPageResize'#0#6'TLabel'#21'FormsAutoCreatedLabel'#4'Left'#2'$'#6'Heigh'
|
||||
+'t'#2#18#3'Top'#2#10#5'Width'#3#156#0#7'Caption'#6#21'FormsAutoCreatedLabel'
|
||||
+#11'ParentColor'#8#0#0#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorSideLeft.'
|
||||
+'Control'#7#22'FormsAvailFormsListBox'#4'Left'#3#10#1#6'Height'#2#18#3'Top'#2
|
||||
+#10#5'Width'#3#144#0#7'Caption'#6#20'FormsAvailFormsLabel'#11'ParentColor'#8
|
||||
+#0#0#12'TSpeedButton'#29'FormsMoveAutoCreatedFormUpBtn'#22'AnchorSideLeft.Co'
|
||||
+'ntrol'#7#9'FormsPage'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBo'
|
||||
+'x'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'('#5'Width'#2#24#20'BorderSpacing.Ar'
|
||||
+'ound'#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'"FormsMoveA'
|
||||
+'utoCreatedFormUpBtnClick'#0#0#12'TSpeedButton FormsMoveAutoCreatedFormsDown'
|
||||
+'Btn'#22'AnchorSideLeft.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#21'Anch'
|
||||
+'orSideTop.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#18'AnchorSideTop.Sid'
|
||||
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'F'#5'Width'#2#24#5'Co'
|
||||
+'lor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'$FormsMoveAutoCreatedForm'
|
||||
+'DownBtnClick'#0#0#12'TSpeedButton"FormsRemoveFromAutoCreatedFormsBtn'#22'An'
|
||||
+'chorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Side'
|
||||
+#7#9'asrBottom'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Le'
|
||||
+'ft'#3#236#0#6'Height'#2#24#3'Top'#2'('#5'Width'#2#24#20'BorderSpacing.Aroun'
|
||||
+'d'#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'''FormsRemoveF'
|
||||
+'romAutoCreatedFormsBtnClick'#0#0#12'TSpeedButton'#29'FormsAddToAutoCreatedF'
|
||||
+'ormsBtn'#22'AnchorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'Anchor'
|
||||
+'SideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7'"FormsRemoveFromA'
|
||||
+'utoCreatedFormsBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6
|
||||
+'Height'#2#24#3'Top'#2'F'#5'Width'#2#24#5'Color'#7#9'clBtnFace'#9'NumGlyphs'
|
||||
+#2#0#7'OnClick'#7'"FormsAddToAutoCreatedFormsBtnClick'#0#0#8'TListBox'#23'Fo'
|
||||
+'rmsAutoCreatedListBox'#22'AnchorSideLeft.Control'#7' FormsMoveAutoCreatedFo'
|
||||
+'rmsDownBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'
|
||||
+#7#21'FormsAutoCreatedLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'Anchor'
|
||||
+'SideBottom.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2'$'#6'He'
|
||||
+'ight'#3'q'#1#3'Top'#2'"'#5'Width'#3#194#0#7'Anchors'#11#5'akTop'#6'akLeft'#8
|
||||
+'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'
|
||||
+#9#10'OnDblClick'#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#8'TabOrder'#2
|
||||
+#0#0#0#8'TListBox'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Control'#7#29
|
||||
+'FormsAddToAutoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'An'
|
||||
+'chorSideTop.Control'#7#20'FormsAvailFormsLabel'#18'AnchorSideTop.Side'#7#9
|
||||
+'asrBottom'#23'AnchorSideRight.Control'#7#9'FormsPage'#20'AnchorSideRight.Si'
|
||||
+'de'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoCreateNewForm'
|
||||
+'sCheckBox'#4'Left'#3#10#1#6'Height'#3'q'#1#3'Top'#2'"'#5'Width'#3#237#0#7'A'
|
||||
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Aro'
|
||||
+'und'#2#6#10'ItemHeight'#2#0#11'MultiSelect'#9#10'OnDblClick'#7'"FormsAddToA'
|
||||
+'utoCreatedFormsBtnClick'#8'TabOrder'#2#1#0#0#9'TCheckBox'#31'FormsAutoCreat'
|
||||
+'eNewFormsCheckBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToAutoCreatedFor'
|
||||
,'msBtn'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#2#6#6
|
||||
+'Height'#2#22#3'Top'#3#153#1#5'Width'#3#241#1#5'Align'#7#8'alBottom'#20'Bord'
|
||||
+'erSpacing.Around'#2#6#7'Caption'#6#31'FormsAutoCreateNewFormsCheckBox'#8'Ta'
|
||||
+'bOrder'#2#2#0#0#0#5'TPage'#10'LazDocPage'#7'Caption'#6#10'LazDocPage'#11'Cl'
|
||||
+'ientWidth'#3#253#1#12'ClientHeight'#3#181#1#0#9'TGroupBox'#19'LazDocPathsGr'
|
||||
+'oupBox'#4'Left'#2#6#6'Height'#3#207#0#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7
|
||||
+#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocP'
|
||||
+'athsGroupBox'#12'ClientHeight'#3#189#0#11'ClientWidth'#3#237#1#8'TabOrder'#2
|
||||
+#0#0#8'TListBox'#13'LazDocListBox'#22'AnchorSideLeft.Control'#7#19'LazDocPat'
|
||||
+'hsGroupBox'#21'AnchorSideTop.Control'#7#19'LazDocPathsGroupBox'#23'AnchorSi'
|
||||
+'deRight.Control'#7#19'LazDocPathsGroupBox'#20'AnchorSideRight.Side'#7#9'asr'
|
||||
+'Bottom'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5'Width'#3#225#1#7'Anchors'#11
|
||||
+#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'
|
||||
+#2#0#8'TabOrder'#2#0#0#0#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLeft.Contr'
|
||||
+'ol'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#13'LazDocListBox'
|
||||
+#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#18'LazD'
|
||||
+'ocBrowseButton'#4'Left'#2#6#6'Height'#2#27#3'Top'#2'x'#5'Width'#3#201#1#7'A'
|
||||
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'Bo'
|
||||
+'rderSpacing.Top'#2#6#20'BorderSpacing.Bottom'#2#6#8'TabOrder'#2#1#4'Text'#6
|
||||
+#14'LazDocPathEdit'#0#0#7'TButton'#18'LazDocBrowseButton'#22'AnchorSideLeft.'
|
||||
+'Control'#7#14'LazDocPathEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anc'
|
||||
+'horSideTop.Control'#7#14'LazDocPathEdit'#23'AnchorSideRight.Control'#7#19'L'
|
||||
+'azDocPathsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBo'
|
||||
+'ttom.Control'#7#14'LazDocPathEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'
|
||||
+#4'Left'#3#207#1#6'Height'#2#27#3'Top'#2'x'#5'Width'#2#24#7'Anchors'#11#5'ak'
|
||||
+'Top'#7'akRight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#3'..'
|
||||
+'.'#7'OnClick'#7#23'LazDocBrowseButtonClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'
|
||||
+#19'LazDocAddPathButton'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'
|
||||
+#21'AnchorSideTop.Control'#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'a'
|
||||
+'srBottom'#4'Left'#2#6#6'Height'#2#29#3'Top'#3#153#0#5'Width'#3#158#0#8'Auto'
|
||||
+'Size'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocAddPathButton'#9
|
||||
+'NumGlyphs'#2#0#7'OnClick'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#3#0#0
|
||||
+#7'TBitBtn'#22'LazDocDeletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDo'
|
||||
+'cAddPathButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Con'
|
||||
+'trol'#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3
|
||||
+#170#0#6'Height'#2#29#3'Top'#3#153#0#5'Width'#3#175#0#8'AutoSize'#9#20'Borde'
|
||||
+'rSpacing.Around'#2#6#7'Caption'#6#22'LazDocDeletePathButton'#9'NumGlyphs'#2
|
||||
+#0#7'OnClick'#7#27'LazDocDeletePathButtonClick'#8'TabOrder'#2#4#0#0#0#0#5'TP'
|
||||
+'age'#8'SavePage'#7'Caption'#6#8'SavePage'#11'ClientWidth'#3#253#1#12'Client'
|
||||
+'Height'#3#181#1#0#9'TCheckBox'#26'SaveClosedUnitInfoCheckBox'#4'Left'#2#6#6
|
||||
+'Height'#2#22#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpaci'
|
||||
+'ng.Around'#2#6#7'Caption'#6#26'SaveClosedUnitInfoCheckBox'#8'TabOrder'#2#0#0
|
||||
+#0#9'TCheckBox'#31'SaveOnlyProjectUnitInfoCheckBox'#21'AnchorSideTop.Control'
|
||||
+#7#26'SaveClosedUnitInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
|
||||
+'ft'#2#6#6'Height'#2#22#3'Top'#2'"'#5'Width'#3#241#1#5'Align'#7#5'alTop'#20
|
||||
+'BorderSpacing.Around'#2#6#7'Caption'#6#31'SaveOnlyProjectUnitInfoCheckBox'#8
|
||||
+'TabOrder'#2#1#0#0#11'TRadioGroup'#29'SaveSessionLocationRadioGroup'#21'Anch'
|
||||
+'orSideTop.Control'#7#31'SaveOnlyProjectUnitInfoCheckBox'#18'AnchorSideTop.S'
|
||||
+'ide'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#8'SavePage'#20'AnchorSide'
|
||||
+'Right.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#4#3'Top'#2'D'#5'Width'#3
|
||||
+#241#1#5'Align'#7#5'alTop'#8'AutoFill'#9#8'AutoSize'#9#17'BorderSpacing.Top'
|
||||
+#2#6#20'BorderSpacing.Around'#2#6#7'Caption'#6#29'SaveSessionLocationRadioGr'
|
||||
+'oup'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2
|
||||
+#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'Child'
|
||||
+'Sizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.Shrin'
|
||||
+'kHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsSc'
|
||||
+'aleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'Ch'
|
||||
+'ildSizing.ControlsPerLine'#2#1#8'TabOrder'#2#2#0#0#0#5'TPage'#15'VersionInf'
|
||||
+'oPage'#7'Caption'#6#15'VersionInfoPage'#11'ClientWidth'#3#253#1#12'ClientHe'
|
||||
+'ight'#3#181#1#0#9'TGroupBox'#19'VersionInfoGroupBox'#22'AnchorSideLeft.Cont'
|
||||
+'rol'#7#24'LanguageSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20
|
||||
+'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'd'#3'Top'#2#29
|
||||
+#5'Width'#3#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'
|
||||
+#2#6#7'Caption'#6#17'Version Numbering'#12'ClientHeight'#2'R'#11'ClientWidth'
|
||||
,#3#237#1#8'TabOrder'#2#1#0#6'TLabel'#12'VersionLabel'#22'AnchorSideLeft.Cont'
|
||||
+'rol'#7#19'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGr'
|
||||
+'oupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'('#20'BorderSpacin'
|
||||
+'g.Around'#2#6#7'Caption'#6#8'Version:'#11'ParentColor'#8#0#0#6'TLabel'#18'M'
|
||||
+'ajorRevisionLabel'#22'AnchorSideLeft.Control'#7#15'VersionSpinEdit'#19'Anch'
|
||||
+'orSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInfoG'
|
||||
+'roupBox'#4'Left'#2'j'#6'Height'#2#14#3'Top'#2#6#5'Width'#2'K'#18'BorderSpac'
|
||||
+'ing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Major Revision:'
|
||||
+#11'ParentColor'#8#0#0#6'TLabel'#18'MinorRevisionLabel'#22'AnchorSideLeft.Co'
|
||||
+'ntrol'#7#21'MajorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
|
||||
+'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#3#206#0#6'Height'#2
|
||||
+#14#3'Top'#2#6#5'Width'#2'J'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Ar'
|
||||
+'ound'#2#6#7'Caption'#6#15'Minor Revision:'#11'ParentColor'#8#0#0#6'TLabel'
|
||||
+#10'BuildLabel'#22'AnchorSideLeft.Control'#7#21'MinorRevisionSpinEdit'#19'An'
|
||||
+'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInf'
|
||||
+'oGroupBox'#4'Left'#3'2'#1#6'Height'#2#14#3'Top'#2#6#5'Width'#2#27#18'Border'
|
||||
+'Spacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Build:'#11'P'
|
||||
+'arentColor'#8#0#0#9'TSpinEdit'#15'VersionSpinEdit'#22'AnchorSideLeft.Contro'
|
||||
+'l'#7#12'VersionLabel'#21'AnchorSideTop.Control'#7#12'VersionLabel'#18'Ancho'
|
||||
+'rSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#26#5'Widt'
|
||||
+'h'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#0#0#0#9'TSpinEdit'#21'Major'
|
||||
+'RevisionSpinEdit'#22'AnchorSideLeft.Control'#7#18'MajorRevisionLabel'#21'An'
|
||||
+'chorSideTop.Control'#7#18'MajorRevisionLabel'#18'AnchorSideTop.Side'#7#9'as'
|
||||
+'rBottom'#4'Left'#2'j'#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4
|
||||
+#255#255#0#0#8'TabOrder'#2#1#0#0#9'TSpinEdit'#21'MinorRevisionSpinEdit'#22'A'
|
||||
+'nchorSideLeft.Control'#7#18'MinorRevisionLabel'#21'AnchorSideTop.Control'#7
|
||||
+#18'MinorRevisionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#206#0
|
||||
+#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrd'
|
||||
+'er'#2#2#0#0#9'TCheckBox"AutomaticallyIncreaseBuildCheckBox'#22'AnchorSideLe'
|
||||
+'ft.Control'#7#19'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#15'Versio'
|
||||
+'nSpinEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17
|
||||
+#3'Top'#2';'#5'Width'#3#150#0#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Aro'
|
||||
+'und'#2#6#7'Caption'#6#28'Automatically increase Build'#8'TabOrder'#2#4#0#0#9
|
||||
+'TSpinEdit'#13'BuildSpinEdit'#22'AnchorSideLeft.Control'#7#10'BuildLabel'#21
|
||||
+'AnchorSideTop.Control'#7#10'BuildLabel'#18'AnchorSideTop.Side'#7#9'asrBotto'
|
||||
+'m'#4'Left'#3'2'#1#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255
|
||||
+#255#0#0#8'TabOrder'#2#3#0#0#0#9'TCheckBox'#22'UseVersionInfoCheckBox'#4'Lef'
|
||||
+'t'#2#6#6'Height'#2#17#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'Bo'
|
||||
+'rderSpacing.Around'#2#6#7'Caption'#6'"Include Version Info in executable'#8
|
||||
+'OnChange'#7#28'UseVersionInfoCheckBoxChange'#8'TabOrder'#2#0#0#0#9'TGroupBo'
|
||||
+'x'#24'LanguageSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'An'
|
||||
+'chorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'G'#3'Top'#3#135#0
|
||||
+#5'Width'#3#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'
|
||||
+#2#6#7'Caption'#6#16'Language Options'#12'ClientHeight'#2'5'#11'ClientWidth'
|
||||
+#3#237#1#8'TabOrder'#2#2#0#6'TLabel'#22'LanguageSelectionLabel'#22'AnchorSid'
|
||||
+'eLeft.Control'#7#24'LanguageSettingsGroupBox'#21'AnchorSideTop.Control'#7#24
|
||||
+'LanguageSettingsGroupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2
|
||||
+'b'#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'Language Selection:'#11'Par'
|
||||
+'entColor'#8#0#0#6'TLabel'#17'CharacterSetLabel'#22'AnchorSideLeft.Control'#7
|
||||
+#25'LanguageSelectionComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anc'
|
||||
+'horSideTop.Control'#7#24'LanguageSettingsGroupBox'#4'Left'#3#4#1#6'Height'#2
|
||||
+#14#3'Top'#2#6#5'Width'#2'H'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'Ch'
|
||||
+'aracter Set:'#11'ParentColor'#8#0#0#9'TComboBox'#25'LanguageSelectionComboB'
|
||||
+'ox'#22'AnchorSideLeft.Control'#7#22'LanguageSelectionLabel'#21'AnchorSideTo'
|
||||
+'p.Control'#7#22'LanguageSelectionLabel'#18'AnchorSideTop.Side'#7#9'asrBotto'
|
||||
+'m'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#3#248#0#17'BorderSpacing'
|
||||
+'.Top'#2#2#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#0#4
|
||||
+'Text'#6#12'U.S. English'#0#0#9'TComboBox'#20'CharacterSetComboBox'#22'Ancho'
|
||||
+'rSideLeft.Control'#7#17'CharacterSetLabel'#21'AnchorSideTop.Control'#7#25'L'
|
||||
+'anguageSelectionComboBox'#23'AnchorSideRight.Control'#7#24'LanguageSettings'
|
||||
+'GroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#4#1#6'Height'#2
|
||||
+#21#3'Top'#2#26#5'Width'#3#227#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
|
||||
+#0#19'BorderSpacing.Right'#2#6#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2
|
||||
+#13#8'TabOrder'#2#1#4'Text'#6#12'Multilingual'#0#0#0#9'TGroupBox'#17'OtherIn'
|
||||
,'foGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7
|
||||
+#9'asrBottom'#4'Left'#2#6#6'Height'#2'k'#3'Top'#3#212#0#5'Width'#3#241#1#5'A'
|
||||
+'lign'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#10
|
||||
+'Other Info'#12'ClientHeight'#2'Y'#11'ClientWidth'#3#237#1#8'TabOrder'#2#3#0
|
||||
+#6'TLabel'#16'DescriptionLabel'#21'AnchorSideTop.Control'#7#15'DescriptionEd'
|
||||
+'it'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'
|
||||
+#2#9#5'Width'#2':'#18'BorderSpacing.Left'#2#6#7'Caption'#6#12'Description:'
|
||||
+#11'ParentColor'#8#0#0#6'TLabel'#14'CopyrightLabel'#22'AnchorSideLeft.Contro'
|
||||
+'l'#7#16'DescriptionLabel'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18
|
||||
+'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'$'#5
|
||||
+'Width'#2'4'#7'Caption'#6#10'Copyright:'#11'ParentColor'#8#0#0#5'TEdit'#15'D'
|
||||
+'escriptionEdit'#22'AnchorSideLeft.Control'#7#16'DescriptionLabel'#19'Anchor'
|
||||
+'SideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#17'OtherInfoGroup'
|
||||
+'Box'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight'
|
||||
+'.Side'#7#9'asrBottom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2#6#5'Width'#3#157
|
||||
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#10
|
||||
+#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#0#0#0#5
|
||||
+'TEdit'#13'CopyrightEdit'#22'AnchorSideLeft.Control'#7#15'DescriptionEdit'#21
|
||||
+'AnchorSideTop.Control'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asr'
|
||||
+'Bottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRi'
|
||||
+'ght.Side'#7#9'asrBottom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2'!'#5'Width'#3
|
||||
+#157#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2
|
||||
+#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#1#0#0#7'TBitBtn'#20'AdditionalI'
|
||||
+'nfoButton'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.S'
|
||||
+'ide'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20
|
||||
+'AnchorSideRight.Side'#7#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBotto'
|
||||
+'m'#4'Left'#3#135#1#6'Height'#2#23#3'Top'#2'<'#5'Width'#2'`'#7'Anchors'#11#5
|
||||
+'akTop'#7'akRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6
|
||||
+#15'Additional Info'#9'NumGlyphs'#2#0#7'OnClick'#7#25'AdditionalInfoButtonCl'
|
||||
+'ick'#8'TabOrder'#2#2#0#0#0#0#5'TPage'#8'i18nPage'#7'Caption'#6#4'i18n'#11'C'
|
||||
+'lientWidth'#3#253#1#12'ClientHeight'#3#181#1#0#9'TGroupBox'#12'I18NGroupBox'
|
||||
+#22'AnchorSideLeft.Control'#7#17'OtherInfoGroupBox'#21'AnchorSideTop.Control'
|
||||
+#7#19'VersionInfoGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSi'
|
||||
+'deRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBo'
|
||||
+'ttom'#4'Left'#2#6#6'Height'#2'T'#3'Top'#2'"'#5'Width'#3#241#1#5'Align'#7#5
|
||||
+'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'i18n Opti'
|
||||
+'ons'#12'ClientHeight'#2'B'#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#6'TLab'
|
||||
+'el'#13'PoOutDirLabel'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#3#132#0
|
||||
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#20'PO Output Directory:'#11'Paren'
|
||||
+'tColor'#8#0#0#5'TEdit'#12'POOutDirEdit'#22'AnchorSideLeft.Control'#7#12'I18'
|
||||
+'NGroupBox'#21'AnchorSideTop.Control'#7#13'PoOutDirLabel'#18'AnchorSideTop.S'
|
||||
+'ide'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#14'POOutDirButton'#4'Left'
|
||||
+#2#6#6'Height'#2#27#3'Top'#2#30#5'Width'#3#201#1#7'Anchors'#11#5'akTop'#6'ak'
|
||||
+'Left'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20
|
||||
+'BorderSpacing.Bottom'#2#6#8'TabOrder'#2#0#4'Text'#6#12'POOutDirEdit'#0#0#7
|
||||
+'TButton'#14'POOutDirButton'#21'AnchorSideTop.Control'#7#12'POOutDirEdit'#23
|
||||
+'AnchorSideRight.Control'#7#12'I18NGroupBox'#20'AnchorSideRight.Side'#7#9'as'
|
||||
+'rBottom'#24'AnchorSideBottom.Control'#7#12'POOutDirEdit'#21'AnchorSideBotto'
|
||||
+'m.Side'#7#9'asrBottom'#4'Left'#3#207#1#6'Height'#2#27#3'Top'#2#30#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#19'POOutDirButtonClick'#8'TabOrder'#2#1#0
|
||||
+#0#0#9'TCheckBox'#18'EnableI18NCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2
|
||||
+#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Capti'
|
||||
+'on'#6#11'Enable i18n'#8'OnChange'#7#24'EnableI18NCheckBoxChange'#8'TabOrder'
|
||||
+#2#1#0#0#0#5'TPage'#8'MiscPage'#7'Caption'#6#8'MiscPage'#11'ClientWidth'#3
|
||||
+#253#1#12'ClientHeight'#3#181#1#0#6'TBevel'#6'Bevel1'#22'AnchorSideLeft.Cont'
|
||||
+'rol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7'!MainUnitHasTitleStatementCh'
|
||||
+'eckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7
|
||||
+#8'MiscPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
|
||||
+#3#3'Top'#2'b'#5'Width'#3#241#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
|
||||
+#20'BorderSpacing.Around'#2#6#0#0#9'TCheckBox)MainUnitHasUsesSectionForAllUn'
|
||||
+'itsCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Cont'
|
||||
+'rol'#7#30'MainUnitIsPascalSourceCheckBox'#18'AnchorSideTop.Side'#7#9'asrBot'
|
||||
+'tom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#29#5'Width'#3#233#0#20'BorderSpaci'
|
||||
,'ng.Around'#2#6#7'Caption'#6')MainUnitHasUsesSectionForAllUnitsCheckBox'#8'T'
|
||||
+'abOrder'#2#0#0#0#9'TCheckBox''MainUnitHasCreateFormStatementsCheckBox'#22'A'
|
||||
+'nchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7')MainUnitH'
|
||||
+'asUsesSectionForAllUnitsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'L'
|
||||
+'eft'#2#6#6'Height'#2#17#3'Top'#2'4'#5'Width'#3#236#0#20'BorderSpacing.Aroun'
|
||||
+'d'#2#6#7'Caption'#6'''MainUnitHasCreateFormStatementsCheckBox'#8'TabOrder'#2
|
||||
+#1#0#0#9'TCheckBox'#30'MainUnitIsPascalSourceCheckBox'#22'AnchorSideLeft.Con'
|
||||
+'trol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#8'MiscPage'#4'Left'#2#6#6'H'
|
||||
+'eight'#2#17#3'Top'#2#6#5'Width'#3#178#0#20'BorderSpacing.Around'#2#6#7'Capt'
|
||||
+'ion'#6#30'MainUnitIsPascalSourceCheckBox'#8'TabOrder'#2#2#0#0#9'TCheckBox!M'
|
||||
+'ainUnitHasTitleStatementCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'
|
||||
+#21'AnchorSideTop.Control'#7'''MainUnitHasCreateFormStatementsCheckBox'#18'A'
|
||||
+'nchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2'K'#5
|
||||
+'Width'#3#194#0#20'BorderSpacing.Around'#2#6#7'Caption'#6'!MainUnitHasTitleS'
|
||||
+'tatementCheckBox'#8'TabOrder'#2#5#0#0#9'TCheckBox'#16'RunnableCheckBox'#22
|
||||
+'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#6'Bevel1'
|
||||
+#4'Left'#2#6#6'Height'#2#17#3'Top'#2'h'#5'Width'#2'n'#20'BorderSpacing.Aroun'
|
||||
+'d'#2#6#7'Caption'#6#16'RunnableCheckBox'#8'TabOrder'#2#3#0#0#9'TCheckBox'#19
|
||||
+'AlwaysBuildCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSide'
|
||||
+'Top.Control'#7#16'RunnableCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
|
||||
+'Left'#2#6#6'Height'#2#17#3'Top'#2#127#5'Width'#2'y'#20'BorderSpacing.Around'
|
||||
+#2#6#7'Caption'#6#19'AlwaysBuildCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#22
|
||||
+'LRSInOutputDirCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorS'
|
||||
+'ideTop.Control'#7#19'AlwaysBuildCheckBox'#18'AnchorSideTop.Side'#7#9'asrBot'
|
||||
+'tom'#4'Left'#2#6#6'Height'#2#17#3'Top'#3#150#0#5'Width'#3#140#0#20'BorderSp'
|
||||
+'acing.Around'#2#6#7'Caption'#6#22'LRSInOutputDirCheckBox'#8'TabOrder'#2#6#0
|
||||
+#0#9'TGroupBox'#16'ResourceGroupBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'
|
||||
+#21'AnchorSideTop.Control'#7#22'LRSInOutputDirCheckBox'#18'AnchorSideTop.Sid'
|
||||
+'e'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#8'MiscPage'#20'AnchorSideRi'
|
||||
+'ght.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'Q'#3'Top'#3#173#0#5'Width'
|
||||
+#3#241#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Arou'
|
||||
+'nd'#2#6#7'Caption'#6#16'ResourceGroupBox'#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#1#12'Clien'
|
||||
+'tHeight'#2'?'#11'ClientWidth'#3#237#1#8'TabOrder'#2#7#0#12'TRadioButton'#22
|
||||
+'UseLRSFilesRadioButton'#4'Left'#2#6#6'Height'#2#26#3'Top'#2#6#5'Width'#3#225
|
||||
+#1#7'Caption'#6#22'UseLRSFilesRadioButton'#7'Checked'#9#14'ParentShowHint'#8
|
||||
+#8'ShowHint'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#0#0#0#12'TRadioButton'
|
||||
+#26'UseFPCResourcesRadioButton'#4'Left'#2#6#6'Height'#2#25#3'Top'#2' '#5'Wid'
|
||||
+'th'#3#225#1#7'Caption'#6#26'UseFPCResourcesRadioButton'#14'ParentShowHint'#8
|
||||
+#8'ShowHint'#9#8'TabOrder'#2#1#7'TabStop'#8#0#0#0#0#0#12'TButtonPanel'#11'Bu'
|
||||
+'ttonPanel'#4'Left'#2#6#6'Height'#2#26#3'Top'#3#213#1#5'Width'#3#249#1#8'Tab'
|
||||
+'Order'#2#1#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbHelp'#0#9'ShowBevel'#8
|
||||
+#0#0#22'TSelectDirectoryDialog'#21'SelectDirectoryDialog'#11'FilterIndex'#2#0
|
||||
+#4'left'#2'X'#3'top'#3'p'#1#0#0#18'TOpenPictureDialog'#18'OpenPictureDialog1'
|
||||
+#4'left'#2'u'#3'top'#3'p'#1#0#0#18'TSavePictureDialog'#18'SavePictureDialog1'
|
||||
+#5'Title'#6#12'Save file as'#4'left'#3#146#0#3'top'#3'p'#1#0#0#0
|
||||
]);
|
||||
1036
ide/projectopts.pp
1036
ide/projectopts.pp
File diff suppressed because it is too large
Load Diff
@ -69,14 +69,12 @@ type
|
||||
end;
|
||||
|
||||
|
||||
function ShowVersionInfoAdditionailInfoForm(LocalVersionInfo: TProjectVersionInfo;
|
||||
var ProjectModified: boolean) : TModalResult;
|
||||
function ShowVersionInfoAdditionailInfoForm(LocalVersionInfo: TProjectVersionInfo) : TModalResult;
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
function ShowVersionInfoAdditionailInfoForm(LocalVersionInfo: TProjectVersionInfo;
|
||||
var ProjectModified: boolean) : TModalResult;
|
||||
function ShowVersionInfoAdditionailInfoForm(LocalVersionInfo: TProjectVersionInfo) : TModalResult;
|
||||
|
||||
var VersionInfoAdditionalInfoForm: TVersionInfoAdditinalInfoForm;
|
||||
begin
|
||||
|
||||
@ -203,6 +203,14 @@ const
|
||||
|
||||
// predefined project options groups
|
||||
GroupProject = 100100;
|
||||
ProjectOptionsApplication = 100;
|
||||
ProjectOptionsForms = 200;
|
||||
ProjectOptionsLazDoc = 300;
|
||||
ProjectOptionsSave = 400;
|
||||
ProjectOptionsVersionInfo = 500;
|
||||
ProjectOptionsI18N = 600;
|
||||
ProjectOptionsMisc = 700;
|
||||
|
||||
GroupCompiler = 100200;
|
||||
implementation
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user