IDE: added info build window from David Guadagnini

git-svn-id: trunk@15417 -
This commit is contained in:
mattias 2008-06-14 11:21:49 +00:00
parent 7c6f7a9fcd
commit 343e405a4a
19 changed files with 1898 additions and 1216 deletions

3
.gitattributes vendored
View File

@ -2088,6 +2088,9 @@ ide/include/unix/lazbaseconf.inc svneol=native#text/pascal
ide/include/win/lazbaseconf.inc svneol=native#text/plain
ide/include/win32/lazconf.inc svneol=native#text/pascal
ide/include/win64/lazconf.inc svneol=native#text/plain
ide/infobuild.lfm svneol=native#text/plain
ide/infobuild.lrs svneol=native#text/plain
ide/infobuild.pp svneol=native#text/plain
ide/initialsetupdlgs.pas svneol=native#text/pascal
ide/inputfiledialog.pas svneol=native#text/pascal
ide/inputhistory.pas svneol=native#text/pascal

View File

@ -1,27 +1,27 @@
object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
Left = 517
Height = 522
Top = 174
Left = 674
Height = 539
Top = 199
Width = 542
ActiveControl = Notebook
Caption = 'EnvironmentOptionsDialog'
ClientHeight = 522
ClientHeight = 539
ClientWidth = 542
Position = poScreenCenter
LCLVersion = '0.9.25'
object Notebook: TNotebook
AnchorSideBottom.Control = EODBtnPanel
Height = 481
Height = 498
Width = 542
Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom]
OnChangeBounds = NotebookChangeBounds
PageIndex = 1
PageIndex = 0
TabOrder = 0
object FilesPage: TPage
Caption = 'FilesPage'
ClientWidth = 538
ClientHeight = 450
ClientHeight = 467
object MaxRecentOpenFilesLabel: TLabel
Left = 6
Height = 20
@ -81,23 +81,41 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
TabOrder = 1
end
object OpenLastProjectAtStartCheckBox: TCheckBox
AnchorSideTop.Control = MaxRecentProjectFilesComboBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 22
Top = 106
Top = 103
Width = 526
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'OpenLastProjectAtStartCheckBox'
TabOrder = 8
end
object ShowCompileDialogCheckBox: TCheckBox
AnchorSideTop.Control = OpenLastProjectAtStartCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 22
Top = 125
Width = 526
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'ShowCompileDialogCheckBox'
TabOrder = 2
end
object LazarusDirGroupBox: TGroupBox
AnchorSideTop.Control = ShowCompileDialogCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 142
Top = 147
Width = 526
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
@ -139,11 +157,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
end
end
object CompilerPathGroupBox: TGroupBox
AnchorSideTop.Control = LazarusDirGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 197
Top = 201
Width = 526
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
@ -183,11 +203,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
end
end
object FPCSourceDirGroupBox: TGroupBox
AnchorSideTop.Control = CompilerPathGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 252
Top = 255
Width = 526
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
@ -227,11 +249,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
end
end
object MakePathGroupBox: TGroupBox
AnchorSideTop.Control = FPCSourceDirGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 307
Top = 309
Width = 526
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
@ -271,11 +295,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
end
end
object TestBuildDirGroupBox: TGroupBox
AnchorSideTop.Control = MakePathGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 362
Top = 363
Width = 526
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
@ -318,7 +344,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
object DesktopPage: TPage
Caption = 'DesktopPage'
ClientWidth = 538
ClientHeight = 450
ClientHeight = 467
object LanguageGroupBox: TGroupBox
AnchorSideRight.Control = DesktopPage
AnchorSideRight.Side = asrBottom
@ -495,9 +521,9 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AnchorSideTop.Control = MsgViewDblClickJumpsCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 23
Height = 22
Top = 404
Width = 90
Width = 179
Caption = 'MsgViewFocusCheckBox'
TabOrder = 7
end
@ -505,7 +531,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
object WindowsPage: TPage
Caption = 'WindowsPage'
ClientWidth = 538
ClientHeight = 456
ClientHeight = 450
object MinimizeAllOnMinimizeMainCheckBox: TCheckBox
AnchorSideRight.Control = WindowsPage
AnchorSideRight.Side = asrBottom
@ -535,13 +561,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AnchorSideRight.Control = WindowsPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 326
Height = 320
Top = 68
Width = 526
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Right = 6
Caption = 'WindowPositionsGroupBox'
ClientHeight = 322
ClientHeight = 316
ClientWidth = 522
TabOrder = 2
object WindowPositionsListBox: TListBox
@ -563,7 +589,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
object FormEditorPage: TPage
Caption = 'FormEditorPage'
ClientWidth = 538
ClientHeight = 456
ClientHeight = 450
OnResize = FormEditorPageResize
object GridGroupBox: TGroupBox
Left = 6
@ -728,13 +754,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AnchorSideBottom.Control = FormEditorPage
AnchorSideBottom.Side = asrBottom
Left = 349
Height = 226
Height = 220
Top = 224
Width = 183
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
Caption = 'GuideLinesGroupBox'
ClientHeight = 222
ClientHeight = 216
ClientWidth = 179
TabOrder = 1
object GuideLineColorLeftTopButton: TColorButton
@ -823,13 +849,13 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AnchorSideBottom.Control = FormEditorPage
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 226
Height = 220
Top = 224
Width = 337
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6
Caption = 'FormEditMiscGroupBox'
ClientHeight = 222
ClientHeight = 216
ClientWidth = 333
TabOrder = 2
object GrabberColorButton: TColorButton
@ -1061,7 +1087,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
AnchorSideRight.Control = ObjectInspectorPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 177
Height = 173
Top = 7
Width = 526
Anchors = [akTop, akLeft, akRight]
@ -1074,7 +1100,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
ChildSizing.TopBottomSpacing = 6
ChildSizing.HorizontalSpacing = 2
ChildSizing.VerticalSpacing = 2
ClientHeight = 158
ClientHeight = 169
ClientWidth = 522
TabOrder = 0
object OIBackgroundColorButton: TColorButton
@ -1133,54 +1159,54 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
end
object OIBackgroundColorLabel: TLabel
Left = 65
Height = 20
Height = 14
Top = 12
Width = 438
Width = 434
Anchors = [akTop, akLeft, akRight]
Caption = 'OIBackgroundColorLabel'
ParentColor = False
end
object OISubPropsColorLabel: TLabel
Left = 65
Height = 20
Height = 14
Top = 36
Width = 438
Width = 434
Anchors = [akTop, akLeft, akRight]
Caption = 'OISubPropsColorLabel'
ParentColor = False
end
object OIReferencesColorLabel: TLabel
Left = 65
Height = 20
Height = 14
Top = 60
Width = 438
Width = 434
Anchors = [akTop, akLeft, akRight]
Caption = 'OIReferencesColorLabel'
ParentColor = False
end
object OIValueColorLabel: TLabel
Left = 65
Height = 20
Height = 14
Top = 84
Width = 438
Width = 434
Anchors = [akTop, akLeft, akRight]
Caption = 'OIValueColorLabel'
ParentColor = False
end
object OIDefaultValueColorLabel: TLabel
Left = 65
Height = 20
Height = 14
Top = 108
Width = 438
Width = 434
Anchors = [akTop, akLeft, akRight]
Caption = 'OIDefaultValueColorLabel'
ParentColor = False
end
object OIPropNameColorLabel: TLabel
Left = 65
Height = 20
Height = 14
Top = 132
Width = 438
Width = 434
Anchors = [akTop, akLeft, akRight]
Caption = 'OIPropNameColorLabel'
ParentColor = False
@ -1192,19 +1218,19 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
Left = 6
Height = 129
Top = 186
Width = 526
Width = 530
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'OIMiscGroupBox'
ClientHeight = 110
ClientWidth = 522
ClientHeight = 125
ClientWidth = 526
TabOrder = 1
object OIDefaultItemHeightLabel: TLabel
AnchorSideLeft.Control = OIMiscGroupBox
Left = 6
Height = 20
Top = 6
Width = 462
Width = 466
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -1218,7 +1244,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
Left = 6
Height = 22
Top = 63
Width = 462
Width = 466
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -1257,7 +1283,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
object BackupPage: TPage
Caption = 'BackupPage'
ClientWidth = 538
ClientHeight = 456
ClientHeight = 450
object BackupHelpLabel: TLabel
AnchorSideRight.Control = BackupPage
AnchorSideRight.Side = asrBottom
@ -1533,7 +1559,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
object NamingPage: TPage
Caption = 'NamingPage'
ClientWidth = 538
ClientHeight = 456
ClientHeight = 450
object PascalFileExtRadiogroup: TRadioGroup
AnchorSideRight.Control = NamingPage
AnchorSideRight.Side = asrBottom
@ -1604,7 +1630,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
object LazDocPage: TPage
Caption = 'LazDocPage'
ClientWidth = 538
ClientHeight = 456
ClientHeight = 450
object LazDocPathsGroupBox: TGroupBox
AnchorSideRight.Control = LazDocPage
AnchorSideRight.Side = asrBottom
@ -1695,7 +1721,7 @@ object EnvironmentOptionsDialog: TEnvironmentOptionsDialog
end
object EODBtnPanel: TPanel
Height = 41
Top = 481
Top = 498
Width = 542
Align = alBottom
AutoSize = True

File diff suppressed because it is too large Load Diff

View File

@ -201,6 +201,7 @@ type
FDebuggerFilename: string; // per debugger class
FDebuggerFileHistory: TStringList; // per debugger class
FDebuggerShowStopMessage: Boolean;
FShowCompileDialog: Boolean; // show dialog during compile
FTestBuildDirectory: string;
FTestBuildDirHistory: TStringList;
@ -375,6 +376,8 @@ type
write SetDebuggerSearchPath;
property DebuggerShowStopMessage: boolean read FDebuggerShowStopMessage
write FDebuggerShowStopMessage;
property ShowCompileDialog: boolean read FShowCompileDialog
write FShowCompileDialog;
property TestBuildDirectory: string read FTestBuildDirectory
write SetTestBuildDirectory;
property TestBuildDirHistory: TStringList read FTestBuildDirHistory
@ -448,7 +451,6 @@ type
{ TEnvironmentOptionsDialog }
TEnvironmentOptionsDialog = class(TForm)
OIAutoShowCheckBox: TCheckBox;
NoteBook: TNoteBook;
FilesPage: TPage;
DesktopPage: TPage;
@ -491,6 +493,7 @@ type
// messages view
MsgViewDblClickJumpsCheckBox: TCheckBox;
MsgViewFocusCheckBox: TCheckBox;
ShowCompileDialogCheckBox: TCheckBox;
// window layout
WindowPositionsGroupBox: TGroupBox;
@ -535,10 +538,10 @@ type
DesignerPaintLazyCheckBox: TCheckBox;
// object inspector
OIAutoShowCheckBox: TCheckBox;
ObjectInspectorColorsGroupBox: TGroupBox;
OIBackgroundColorLabel: TLabel;
OIBackgroundColorButton: TColorButton;
OISubPropsColorLabel: TLabel;
OISubPropsColorButton: TColorButton;
OIReferencesColorLabel: TLabel;
@ -1038,6 +1041,8 @@ begin
Path+'AutoSave/LastSavedProjectFile','');
FOpenLastProjectAtStart:=XMLConfig.GetValue(
Path+'AutoSave/OpenLastProjectAtStart',true);
FShowCompileDialog:=XMLConfig.GetValue(
Path+'ShowCompileDialog/Value',true);
// windows
FIDEWindowLayoutList.LoadFromXMLConfig(XMLConfig,
@ -1341,6 +1346,9 @@ begin
XMLConfig.SetDeleteValue(
Path+'FormEditor/DesignerPaint/Lazy/Value',FDesignerPaintLazy,true);
XMLConfig.SetDeleteValue(
Path+'ShowCompileDialog/Value',FShowCompileDialog,True);
if not OnlyDesktop then begin
// files
XMLConfig.SetDeleteValue(
@ -1900,6 +1908,8 @@ begin
OpenLastProjectAtStartCheckBox.Caption:=dlgQOpenLastPrj;
ShowCompileDialogCheckBox.Caption:=dlgQShowCompileDialog;
LazarusDirGroupBox.Caption:=dlgLazarusDir;
with LazarusDirComboBox.Items do begin
@ -2387,6 +2397,7 @@ begin
SetComboBoxText(MaxRecentOpenFilesComboBox,IntToStr(MaxRecentOpenFiles));
SetComboBoxText(MaxRecentProjectFilesComboBox,IntToStr(MaxRecentProjectFiles));
OpenLastProjectAtStartCheckBox.Checked:=OpenLastProjectAtStart;
ShowCompileDialogCheckBox.Checked:=ShowCompileDialog;
// backup
with BackupInfoProjectFiles do begin

View File

@ -9,12 +9,13 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Caption = 'EnvironmentOptionsDialog'
ClientHeight = 547
ClientWidth = 768
OnActivate = nil
Position = poScreenCenter
inherited BottomPanel: TPanel
Top = 497
Width = 768
ClientWidth = 768
TabOrder = 3
TabOrder = 2
inherited OKCancelPanel: TPanel
Left = 581
inherited btnCancel: TBitBtn
@ -29,6 +30,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
end
end
inherited HelpButton: TBitBtn
OnClick = nil
end
end
inherited CategoriesPanel: TPanel
@ -39,57 +41,62 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
end
inherited SearchLabel: TLabel
Left = 445
OnClick = nil
end
inherited ClearFilterButton: TBitBtn
Left = 725
OnClick = nil
end
inherited FilterEdit: TEdit
Left = 542
OnChange = nil
OnEnter = nil
OnExit = nil
end
end
inherited SectionsTreePanel: TPanel
Height = 419
ClientHeight = 419
TabOrder = 1
Height = 457
ClientHeight = 457
TabOrder = 0
inherited SectionList: TListBox
Height = 419
Height = 457
OnSelectionChange = nil
end
end
inherited MainSplitter: TSplitter
Height = 419
Height = 457
end
inherited OptionsAreaPanel: TPanel
Height = 419
Height = 457
Width = 613
ClientHeight = 419
ClientHeight = 457
ClientWidth = 613
TabOrder = 2
TabOrder = 1
object Notebook: TNotebook
AnchorSideBottom.Control = EODBtnPanel
Height = 419
Height = 457
Width = 613
Align = alClient
OnChangeBounds = NotebookChangeBounds
PageIndex = 1
PageIndex = 0
ShowTabs = False
TabOrder = 0
object FilesPage: TPage
Caption = 'FilesPage'
ClientWidth = 613
ClientHeight = 419
ClientWidth = 605
ClientHeight = 449
object MaxRecentOpenFilesLabel: TLabel
Left = 6
Height = 13
Height = 14
Top = 10
Width = 153
Width = 127
Caption = 'MaxRecentOpenFilesLabel'
ParentColor = False
end
object MaxRecentProjectFilesLabel: TLabel
Left = 6
Height = 13
Height = 14
Top = 58
Width = 161
Width = 135
Caption = 'MaxRecentProjectFilesLabel'
ParentColor = False
end
@ -99,10 +106,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 26
Width = 597
Width = 593
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Right = 6
ItemHeight = 13
Items.Strings = (
'5'
'10'
@ -120,10 +128,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 74
Width = 597
Width = 593
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Right = 6
ItemHeight = 13
Items.Strings = (
'5'
'10'
@ -138,10 +147,10 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
object OpenLastProjectAtStartCheckBox: TCheckBox
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 20
Top = 106
Width = 597
Left = 7
Height = 19
Top = 102
Width = 592
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'OpenLastProjectAtStartCheckBox'
@ -152,13 +161,13 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 142
Width = 597
Top = 152
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'LazarusDirGroupBox'
ClientHeight = 54
ClientWidth = 597
ClientHeight = 36
ClientWidth = 589
TabOrder = 3
object LazarusDirComboBox: TComboBox
AnchorSideLeft.Control = LazarusDirGroupBox
@ -166,10 +175,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 3
Width = 560
Width = 552
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Left = 6
ItemHeight = 13
MaxLength = 0
TabOrder = 0
Text = 'LazarusDirComboBox'
@ -182,7 +192,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = LazarusDirComboBox
AnchorSideBottom.Side = asrBottom
Left = 566
Left = 558
Height = 21
Top = 3
Width = 25
@ -198,13 +208,13 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 197
Width = 597
Top = 207
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'CompilerPathGroupBox'
ClientHeight = 54
ClientWidth = 597
ClientHeight = 36
ClientWidth = 589
TabOrder = 4
object CompilerPathComboBox: TComboBox
AnchorSideLeft.Control = CompilerPathGroupBox
@ -212,10 +222,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 3
Width = 560
Width = 552
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Left = 6
ItemHeight = 13
MaxLength = 0
TabOrder = 0
Text = 'CompilerPathComboBox'
@ -226,7 +237,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CompilerPathComboBox
AnchorSideBottom.Side = asrBottom
Left = 566
Left = 558
Height = 21
Top = 3
Width = 25
@ -242,13 +253,13 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 252
Width = 597
Top = 262
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'FPCSourceDirGroupBox'
ClientHeight = 54
ClientWidth = 597
ClientHeight = 36
ClientWidth = 589
TabOrder = 5
object FPCSourceDirComboBox: TComboBox
AnchorSideLeft.Control = FPCSourceDirGroupBox
@ -256,10 +267,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 3
Width = 560
Width = 552
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Left = 6
ItemHeight = 13
MaxLength = 0
TabOrder = 0
Text = 'FPCSourceDirComboBox'
@ -270,7 +282,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = FPCSourceDirComboBox
AnchorSideBottom.Side = asrBottom
Left = 566
Left = 558
Height = 21
Top = 3
Width = 25
@ -286,13 +298,13 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 307
Width = 597
Top = 317
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'MakePathGroupBox'
ClientHeight = 54
ClientWidth = 597
ClientHeight = 36
ClientWidth = 589
TabOrder = 6
object MakePathComboBox: TComboBox
AnchorSideLeft.Control = MakePathGroupBox
@ -300,10 +312,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 3
Width = 560
Width = 552
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Left = 6
ItemHeight = 13
MaxLength = 0
TabOrder = 0
Text = 'MakePathComboBox'
@ -314,7 +327,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = MakePathComboBox
AnchorSideBottom.Side = asrBottom
Left = 566
Left = 558
Height = 21
Top = 3
Width = 25
@ -330,13 +343,13 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
Left = 6
Height = 54
Top = 362
Width = 597
Top = 372
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'TestBuildDirGroupBox'
ClientHeight = 54
ClientWidth = 597
ClientHeight = 36
ClientWidth = 589
TabOrder = 7
object TestBuildDirComboBox: TComboBox
AnchorSideLeft.Control = TestBuildDirGroupBox
@ -344,10 +357,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 3
Width = 560
Width = 552
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Left = 6
ItemHeight = 13
MaxLength = 0
TabOrder = 0
Text = 'TestBuildDirComboBox'
@ -358,7 +372,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = TestBuildDirComboBox
AnchorSideBottom.Side = asrBottom
Left = 566
Left = 558
Height = 21
Top = 3
Width = 25
@ -369,23 +383,35 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
TabOrder = 1
end
end
object ShowCompileDialogCheckBox: TCheckBox
AnchorSideRight.Control = FilesPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 19
Top = 124
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'ShowCompileDialogCheckBox'
TabOrder = 8
end
end
object DesktopPage: TPage
Caption = 'DesktopPage'
ClientWidth = 613
ClientHeight = 419
ClientWidth = 605
ClientHeight = 449
object LanguageGroupBox: TGroupBox
AnchorSideRight.Control = DesktopPage
AnchorSideRight.Side = asrBottom
Left = 4
Height = 56
Top = 10
Width = 603
Width = 595
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'LanguageGroupBox'
ClientHeight = 39
ClientWidth = 599
ClientHeight = 38
ClientWidth = 591
TabOrder = 0
object LanguageComboBox: TComboBox
AnchorSideLeft.Control = LanguageGroupBox
@ -394,10 +420,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 8
Width = 587
Width = 579
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Around = 6
ItemHeight = 13
MaxLength = 0
Style = csDropDownList
TabOrder = 0
@ -405,17 +432,17 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
end
object CheckDiskChangesWithLoadingCheckBox: TCheckBox
Left = 6
Height = 20
Height = 19
Top = 320
Width = 263
Width = 229
Caption = 'CheckDiskChangesWithLoadingCheckBox'
TabOrder = 1
end
object ShowHintsForComponentPaletteCheckBox: TCheckBox
Left = 6
Height = 20
Height = 19
Top = 342
Width = 263
Width = 228
Caption = 'ShowHintsForComponentPaletteCheckBox'
TabOrder = 2
end
@ -425,18 +452,18 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 4
Height = 136
Top = 74
Width = 603
Width = 595
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'AutoSaveGroupBox'
ClientHeight = 119
ClientWidth = 599
ClientHeight = 118
ClientWidth = 591
TabOrder = 6
object AutoSaveIntervalInSecsLabel: TLabel
Left = 6
Height = 13
Height = 14
Top = 67
Width = 520
Width = 512
Anchors = [akTop, akLeft, akRight]
Caption = 'AutoSaveIntervalInSecsLabel'
Enabled = False
@ -444,9 +471,9 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
end
object AutoSaveEditorFilesCheckBox: TCheckBox
Left = 6
Height = 20
Height = 19
Top = 4
Width = 529
Width = 521
Anchors = [akTop, akLeft, akRight]
Caption = 'AutoSaveEditorFilesCheckBox'
Enabled = False
@ -454,9 +481,9 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
end
object AutoSaveProjectCheckBox: TCheckBox
Left = 6
Height = 20
Height = 19
Top = 30
Width = 529
Width = 521
Anchors = [akTop, akLeft, akRight]
Caption = 'AutoSaveProjectCheckBox'
Enabled = False
@ -469,11 +496,12 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 21
Top = 87
Width = 587
Width = 579
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Around = 6
Enabled = False
ItemHeight = 13
Items.Strings = (
'1200'
'600'
@ -490,12 +518,12 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 4
Height = 97
Top = 218
Width = 603
Width = 595
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'DesktopFilesGroupBox'
ClientHeight = 80
ClientWidth = 599
ClientHeight = 79
ClientWidth = 591
TabOrder = 3
object SaveDesktopSettingsToFileButton: TButton
AnchorSideLeft.Control = DesktopFilesGroupBox
@ -504,7 +532,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 25
Top = 8
Width = 587
Width = 579
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Caption = 'SaveDesktopSettingsToFileButton'
@ -518,7 +546,7 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 25
Top = 43
Width = 587
Width = 579
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Caption = 'LoadDesktopSettingsFromFileButton'
@ -528,32 +556,32 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
end
object ShowHintsForMainSpeedButtonsCheckBox: TCheckBox
Left = 6
Height = 20
Height = 19
Top = 362
Width = 267
Width = 231
Caption = 'ShowHintsForMainSpeedButtonsCheckBox'
TabOrder = 4
end
object MsgViewDblClickJumpsCheckBox: TCheckBox
Left = 6
Height = 20
Height = 19
Top = 382
Width = 219
Width = 187
Caption = 'MsgViewDblClickJumpsCheckBox'
TabOrder = 5
end
end
object WindowsPage: TPage
Caption = 'WindowsPage'
ClientWidth = 613
ClientHeight = 419
ClientWidth = 605
ClientHeight = 449
object MinimizeAllOnMinimizeMainCheckBox: TCheckBox
AnchorSideRight.Control = WindowsPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 22
Height = 19
Top = 10
Width = 526
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'MinimizeAllOnMinimizeMainCheckBox'
@ -564,9 +592,9 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Control = WindowsPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 22
Height = 19
Top = 34
Width = 526
Width = 593
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
Caption = 'HideIDEOnRunCheckBox'
@ -576,14 +604,14 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
AnchorSideRight.Control = WindowsPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 320
Height = 350
Top = 68
Width = 526
Width = 593
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Right = 6
Caption = 'WindowPositionsGroupBox'
ClientHeight = 320
ClientWidth = 526
ClientHeight = 332
ClientWidth = 589
TabOrder = 2
object WindowPositionsListBox: TListBox
AnchorSideLeft.Control = WindowPositionsGroupBox
@ -592,12 +620,11 @@ inherited EnvironmentOptionsDialogNew: TEnvironmentOptionsDialogNew
Left = 6
Height = 100
Top = 6
Width = 514
Width = 577
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
OnMouseUp = WindowPositionsListBoxMouseUp
TabOrder = 0
TopIndex = -1
end
end
end

File diff suppressed because it is too large Load Diff

View File

@ -49,6 +49,9 @@ uses
{ TEnvironmentOptionsDialog }
type
{ TEnvironmentOptionsDialogNew }
TEnvironmentOptionsDialogNew = class(TOptionsEditorForm)
NoteBook: TNoteBook;
FilesPage: TPage;
@ -160,6 +163,7 @@ type
MaxRecentProjectFilesLabel: TLabel;
MaxRecentProjectFilesComboBox: TComboBox;
OpenLastProjectAtStartCheckBox: TCheckBox;
ShowCompileDialogCheckBox : TCheckBox;
LazarusDirGroupBox: TGroupBox;
LazarusDirComboBox: TComboBox;
LazarusDirButton: TButton;
@ -634,6 +638,8 @@ begin
OpenLastProjectAtStartCheckBox.Caption:=dlgQOpenLastPrj;
ShowCompileDialogCheckBox.Caption:=dlgQShowCompileDialog;
LazarusDirGroupBox.Caption:=dlgLazarusDir;
with LazarusDirComboBox.Items do begin
@ -1119,6 +1125,7 @@ begin
SetComboBoxText(MaxRecentOpenFilesComboBox,IntToStr(MaxRecentOpenFiles));
SetComboBoxText(MaxRecentProjectFilesComboBox,IntToStr(MaxRecentProjectFiles));
OpenLastProjectAtStartCheckBox.Checked:=OpenLastProjectAtStart;
ShowCompileDialogCheckBox.Checked:=ShowCompileDialog;
// backup
with BackupInfoProjectFiles do begin
@ -1264,6 +1271,7 @@ begin
MaxRecentProjectFiles:=StrToIntDef(
MaxRecentProjectFilesComboBox.Text,MaxRecentProjectFiles);
OpenLastProjectAtStart:=OpenLastProjectAtStartCheckBox.Checked;
ShowCompileDialog:=ShowCompileDialogCheckBox.Checked;
// backup
with BackupInfoProjectFiles do begin

View File

@ -24,28 +24,28 @@ object ExternalToolDialog: TExternalToolDialog
ShowHint = True
TabOrder = 0
object MoveDownButton: TToolButton
Left = 1
Top = 48
Left = 283
Top = 2
Caption = 'MoveDownButton'
ImageIndex = 4
OnClick = MoveDownButtonClick
end
object MoveUpButton: TToolButton
Left = 261
Left = 204
Top = 2
Caption = 'MoveUpButton'
ImageIndex = 3
OnClick = MoveUpButtonClick
end
object EditButton: TToolButton
Left = 179
Left = 139
Top = 2
Caption = 'EditButton'
ImageIndex = 2
OnClick = EditButtonClick
end
object RemoveButton: TToolButton
Left = 77
Left = 60
Top = 2
Caption = 'RemoveButton'
ImageIndex = 1
@ -59,7 +59,7 @@ object ExternalToolDialog: TExternalToolDialog
OnClick = AddButtonClick
end
object tbSeparator: TToolButton
Left = 254
Left = 197
Top = 2
Width = 7
Caption = 'tbSeparator'
@ -68,7 +68,7 @@ object ExternalToolDialog: TExternalToolDialog
end
object ListBox: TListBox
AnchorSideBottom.Control = BtnPanel
Height = 322
Height = 332
Top = 48
Width = 410
Align = alTop
@ -76,22 +76,21 @@ object ExternalToolDialog: TExternalToolDialog
BorderSpacing.Bottom = 6
OnClick = ListboxClick
TabOrder = 1
TopIndex = -1
end
object BtnPanel: TPanel
Height = 48
Top = 376
Height = 38
Top = 386
Width = 410
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 48
ClientHeight = 38
ClientWidth = 410
TabOrder = 2
object OKButton: TBitBtn
AnchorSideBottom.Side = asrBottom
Left = 329
Height = 36
Height = 26
Top = 6
Width = 75
Align = alRight
@ -110,7 +109,7 @@ object ExternalToolDialog: TExternalToolDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 245
Height = 36
Height = 26
Top = 6
Width = 78
Align = alRight

View File

@ -9,31 +9,31 @@ LazarusResources.Add('TExternalToolDialog','FORMDATA',[
+'ToolBar'#6'Height'#2'0'#5'Width'#3#154#1#8'AutoSize'#9#12'ButtonHeight'#2'.'
+#11'ButtonWidth'#2'/'#7'Caption'#6#7'ToolBar'#4'Flat'#9#14'ParentShowHint'#8
+#12'ShowCaptions'#9#8'ShowHint'#9#8'TabOrder'#2#0#0#11'TToolButton'#14'MoveD'
+'ownButton'#4'Left'#2#1#3'Top'#2'0'#7'Caption'#6#14'MoveDownButton'#10'Image'
+'Index'#2#4#7'OnClick'#7#19'MoveDownButtonClick'#0#0#11'TToolButton'#12'Move'
+'UpButton'#4'Left'#3#5#1#3'Top'#2#2#7'Caption'#6#12'MoveUpButton'#10'ImageIn'
+'dex'#2#3#7'OnClick'#7#17'MoveUpButtonClick'#0#0#11'TToolButton'#10'EditButt'
+'on'#4'Left'#3#179#0#3'Top'#2#2#7'Caption'#6#10'EditButton'#10'ImageIndex'#2
+#2#7'OnClick'#7#15'EditButtonClick'#0#0#11'TToolButton'#12'RemoveButton'#4'L'
+'eft'#2'M'#3'Top'#2#2#7'Caption'#6#12'RemoveButton'#10'ImageIndex'#2#1#7'OnC'
+'lick'#7#17'RemoveButtonClick'#0#0#11'TToolButton'#9'AddButton'#4'Left'#2#1#3
+'Top'#2#2#7'Caption'#6#9'AddButton'#10'ImageIndex'#2#0#7'OnClick'#7#14'AddBu'
+'ttonClick'#0#0#11'TToolButton'#11'tbSeparator'#4'Left'#3#254#0#3'Top'#2#2#5
+'Width'#2#7#7'Caption'#6#11'tbSeparator'#5'Style'#7#10'tbsDivider'#0#0#0#8'T'
+'ListBox'#7'ListBox'#24'AnchorSideBottom.Control'#7#8'BtnPanel'#6'Height'#3
+'B'#1#3'Top'#2'0'#5'Width'#3#154#1#5'Align'#7#5'alTop'#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Bottom'#2#6#7'OnClick'#7
+#12'ListboxClick'#8'TabOrder'#2#1#8'TopIndex'#2#255#0#0#6'TPanel'#8'BtnPanel'
+#6'Height'#2'0'#3'Top'#3'x'#1#5'Width'#3#154#1#5'Align'#7#8'alBottom'#8'Auto'
+'Size'#9#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'0'#11'ClientWidth'#3
+#154#1#8'TabOrder'#2#2#0#7'TBitBtn'#8'OKButton'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#3'I'#1#6'Height'#2'$'#3'Top'#2#6#5'Width'#2'K'#5'Align'#7
+#7'alRight'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#3'&OK'#20
+'Constraints.MinWidth'#2'K'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2
+#1#9'NumGlyphs'#2#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#12'CancelButton'#18'Ancho'
+'rSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#21'An'
+'chorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#245#0#6'Height'#2'$'#3'Top'#2
+#6#5'Width'#2'N'#5'Align'#7#7'alRight'#8'AutoSize'#9#20'BorderSpacing.Around'
+#2#6#6'Cancel'#9#7'Caption'#6#6'Cancel'#20'Constraints.MinWidth'#2'K'#4'Kind'
+#7#8'bkCancel'#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#1#0#0#0#0
+'ownButton'#4'Left'#3#27#1#3'Top'#2#2#7'Caption'#6#14'MoveDownButton'#10'Ima'
+'geIndex'#2#4#7'OnClick'#7#19'MoveDownButtonClick'#0#0#11'TToolButton'#12'Mo'
+'veUpButton'#4'Left'#3#204#0#3'Top'#2#2#7'Caption'#6#12'MoveUpButton'#10'Ima'
+'geIndex'#2#3#7'OnClick'#7#17'MoveUpButtonClick'#0#0#11'TToolButton'#10'Edit'
+'Button'#4'Left'#3#139#0#3'Top'#2#2#7'Caption'#6#10'EditButton'#10'ImageInde'
+'x'#2#2#7'OnClick'#7#15'EditButtonClick'#0#0#11'TToolButton'#12'RemoveButton'
+#4'Left'#2'<'#3'Top'#2#2#7'Caption'#6#12'RemoveButton'#10'ImageIndex'#2#1#7
+'OnClick'#7#17'RemoveButtonClick'#0#0#11'TToolButton'#9'AddButton'#4'Left'#2
+#1#3'Top'#2#2#7'Caption'#6#9'AddButton'#10'ImageIndex'#2#0#7'OnClick'#7#14'A'
+'ddButtonClick'#0#0#11'TToolButton'#11'tbSeparator'#4'Left'#3#197#0#3'Top'#2
+#2#5'Width'#2#7#7'Caption'#6#11'tbSeparator'#5'Style'#7#10'tbsDivider'#0#0#0
+#8'TListBox'#7'ListBox'#24'AnchorSideBottom.Control'#7#8'BtnPanel'#6'Height'
+#3'L'#1#3'Top'#2'0'#5'Width'#3#154#1#5'Align'#7#5'alTop'#7'Anchors'#11#5'akT'
+'op'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Bottom'#2#6#7'OnCli'
+'ck'#7#12'ListboxClick'#8'TabOrder'#2#1#0#0#6'TPanel'#8'BtnPanel'#6'Height'#2
+'&'#3'Top'#3#130#1#5'Width'#3#154#1#5'Align'#7#8'alBottom'#8'AutoSize'#9#10
+'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'&'#11'ClientWidth'#3#154#1#8'Tab'
+'Order'#2#2#0#7'TBitBtn'#8'OKButton'#21'AnchorSideBottom.Side'#7#9'asrBottom'
+#4'Left'#3'I'#1#6'Height'#2#26#3'Top'#2#6#5'Width'#2'K'#5'Align'#7#7'alRight'
+#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#3'&OK'#20'Constrain'
+'ts.MinWidth'#2'K'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumG'
+'lyphs'#2#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#12'CancelButton'#18'AnchorSideTop'
+'.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#21'AnchorSide'
+'Bottom.Side'#7#9'asrBottom'#4'Left'#3#245#0#6'Height'#2#26#3'Top'#2#6#5'Wid'
+'th'#2'N'#5'Align'#7#7'alRight'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#6
+'Cancel'#9#7'Caption'#6#6'Cancel'#20'Constraints.MinWidth'#2'K'#4'Kind'#7#8
+'bkCancel'#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#1#0#0#0#0
]);

View File

@ -40,11 +40,11 @@ uses
MemCheck,
{$ENDIF}
Classes, SysUtils, Process, LCLType, LCLProc, Controls, Forms, Buttons,
StdCtrls, ComCtrls, Dialogs, LResources,
StdCtrls, ComCtrls, Dialogs, LResources, ExtCtrls,
LazConfigStorage, FileUtil,
IDEExternToolIntf, IDEImagesIntf,
ExtToolEditDlg, IDECommands, KeyMapping, TransferMacros, IDEProcs,
CompilerOptions, OutputFilter, LazarusIDEStrConsts, ExtCtrls;
InfoBuild, CompilerOptions, OutputFilter, LazarusIDEStrConsts;
const
MaxExtTools = ecExtToolLast-ecExtToolFirst+1;
@ -317,6 +317,8 @@ begin
),
mtError,[mbIgnore,mbAbort],0);
if Result=mrIgnore then Result:=mrCancel;
PutExitInfoBuilder(Format(lisExtToolUnableToRunTheTool, ['"', Title, '"', #13,
'Program '+Filename+' not found']));
exit;
end;
Filename:=NewFilename;
@ -343,6 +345,7 @@ begin
Abort:=false;
OnNeedsOutputFilter(TheOutputFilter,Abort);
if Abort then begin
PutExitInfoBuilder(lisInfoBuildAbort);
Result:=mrAbort;
exit;
end;
@ -409,6 +412,8 @@ begin
),
mtError,[mbIgnore,mbAbort],0);
if Result=mrIgnore then Result:=mrCancel;
PutExitInfoBuilder(Format(lisExtToolUnableToRunTheTool,
['"', Title, '"', #13, e.Message]));
exit;
end;
end;

185
ide/infobuild.lfm Normal file
View File

@ -0,0 +1,185 @@
object FInfoCompile: TFInfoCompile
Left = 242
Height = 199
Top = 231
Width = 397
HorzScrollBar.Page = 396
VertScrollBar.Page = 198
ActiveControl = BClose
BorderIcons = []
BorderStyle = bsDialog
Caption = 'Compile project'
ClientHeight = 199
ClientWidth = 397
FormStyle = fsStayOnTop
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '0.9.25'
object PInfo: TPanel
Left = 6
Height = 24
Top = 6
Width = 386
BevelInner = bvLowered
BevelOuter = bvLowered
BorderStyle = bsSingle
Caption = 'PInfo'
Font.Style = [fsBold]
TabOrder = 0
end
object BClose: TBitBtn
Left = 138
Height = 34
Top = 154
Width = 107
Caption = '&OK'
Default = True
Kind = bkOK
ModalResult = 1
NumGlyphs = 0
OnClick = BCloseClick
TabOrder = 1
end
object Panel1: TPanel
Left = 6
Height = 50
Top = 34
Width = 386
BevelInner = bvLowered
BevelOuter = bvLowered
BorderWidth = 1
ClientHeight = 50
ClientWidth = 386
TabOrder = 2
object PCurrentStatus: TLabel
Left = 3
Height = 44
Top = 3
Width = 380
Align = alClient
Alignment = taCenter
AutoSize = False
Caption = 'PCurrentStatus'
ParentColor = False
WordWrap = True
end
end
object Panel4: TPanel
Left = 176
Height = 48
Top = 94
Width = 210
BevelInner = bvLowered
BevelOuter = bvLowered
BorderStyle = bsSingle
ClientHeight = 44
ClientWidth = 206
TabOrder = 3
object LNHint: TLabel
Left = 68
Height = 14
Top = 5
Width = 31
Alignment = taRightJustify
AutoSize = False
Caption = '0'
Font.Color = clBlue
ParentColor = False
end
object LInfoHint: TLabel
Left = 6
Height = 14
Top = 5
Width = 29
Caption = 'Hints:'
ParentColor = False
end
object LInfoWarning: TLabel
Left = 6
Height = 14
Top = 26
Width = 50
Caption = 'Warnings:'
ParentColor = False
end
object LNWarning: TLabel
Left = 68
Height = 14
Top = 26
Width = 31
Alignment = taRightJustify
AutoSize = False
Caption = '0'
Font.Color = clGreen
ParentColor = False
end
object LInfoError: TLabel
Left = 112
Height = 14
Top = 26
Width = 34
Caption = 'Errors:'
ParentColor = False
end
object LNError: TLabel
Left = 172
Height = 14
Top = 26
Width = 31
Alignment = taRightJustify
AutoSize = False
Caption = '0'
Font.Color = clRed
ParentColor = False
end
object LInfoNote: TLabel
Left = 112
Height = 14
Top = 5
Width = 33
Caption = 'Notes:'
ParentColor = False
end
object LNNote: TLabel
Left = 172
Height = 14
Top = 5
Width = 31
Alignment = taRightJustify
AutoSize = False
Caption = '0'
Font.Color = clBlack
ParentColor = False
end
end
object Panel2: TPanel
Left = 8
Height = 28
Top = 104
Width = 144
BevelInner = bvLowered
BevelOuter = bvLowered
BorderStyle = bsSingle
ClientHeight = 28
ClientWidth = 144
TabOrder = 4
object LNLines: TLabel
Left = 88
Height = 14
Top = 6
Width = 49
Alignment = taRightJustify
AutoSize = False
Caption = '0'
ParentColor = False
end
object LInfoLines: TLabel
Left = 6
Height = 14
Top = 6
Width = 29
Caption = 'Lines:'
ParentColor = False
end
end
end

49
ide/infobuild.lrs Normal file
View File

@ -0,0 +1,49 @@
{ Questo è un file risorse generato automaticamente da Lazarus }
LazarusResources.Add('TFInfoCompile','FORMDATA',[
'TPF0'#13'TFInfoCompile'#12'FInfoCompile'#4'Left'#3#242#0#6'Height'#3#199#0#3
+'Top'#3#231#0#5'Width'#3#141#1#18'HorzScrollBar.Page'#3#140#1#18'VertScrollB'
+'ar.Page'#3#198#0#13'ActiveControl'#7#6'BClose'#11'BorderIcons'#11#0#11'Bord'
+'erStyle'#7#8'bsDialog'#7'Caption'#6#15'Compile project'#12'ClientHeight'#3
+#199#0#11'ClientWidth'#3#141#1#9'FormStyle'#7#11'fsStayOnTop'#8'OnCreate'#7
+#10'FormCreate'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.25'#0
+#6'TPanel'#5'PInfo'#4'Left'#2#6#6'Height'#2#24#3'Top'#2#6#5'Width'#3#130#1#10
+'BevelInner'#7#9'bvLowered'#10'BevelOuter'#7#9'bvLowered'#11'BorderStyle'#7#8
+'bsSingle'#7'Caption'#6#5'PInfo'#10'Font.Style'#11#6'fsBold'#0#8'TabOrder'#2
+#0#0#0#7'TBitBtn'#6'BClose'#4'Left'#3#138#0#6'Height'#2'"'#3'Top'#3#154#0#5
+'Width'#2'k'#7'Caption'#6#3'&OK'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResu'
+'lt'#2#1#9'NumGlyphs'#2#0#7'OnClick'#7#11'BCloseClick'#8'TabOrder'#2#1#0#0#6
+'TPanel'#6'Panel1'#4'Left'#2#6#6'Height'#2'2'#3'Top'#2'"'#5'Width'#3#130#1#10
+'BevelInner'#7#9'bvLowered'#10'BevelOuter'#7#9'bvLowered'#11'BorderWidth'#2#1
+#12'ClientHeight'#2'2'#11'ClientWidth'#3#130#1#8'TabOrder'#2#2#0#6'TLabel'#14
+'PCurrentStatus'#4'Left'#2#3#6'Height'#2','#3'Top'#2#3#5'Width'#3'|'#1#5'Ali'
+'gn'#7#8'alClient'#9'Alignment'#7#8'taCenter'#8'AutoSize'#8#7'Caption'#6#14
+'PCurrentStatus'#11'ParentColor'#8#8'WordWrap'#9#0#0#0#6'TPanel'#6'Panel4'#4
+'Left'#3#176#0#6'Height'#2'0'#3'Top'#2'^'#5'Width'#3#210#0#10'BevelInner'#7#9
+'bvLowered'#10'BevelOuter'#7#9'bvLowered'#11'BorderStyle'#7#8'bsSingle'#12'C'
+'lientHeight'#2','#11'ClientWidth'#3#206#0#8'TabOrder'#2#3#0#6'TLabel'#6'LNH'
+'int'#4'Left'#2'D'#6'Height'#2#14#3'Top'#2#5#5'Width'#2#31#9'Alignment'#7#14
+'taRightJustify'#8'AutoSize'#8#7'Caption'#6#1'0'#10'Font.Color'#7#6'clBlue'
+#11'ParentColor'#8#0#0#6'TLabel'#9'LInfoHint'#4'Left'#2#6#6'Height'#2#14#3'T'
+'op'#2#5#5'Width'#2#29#7'Caption'#6#6'Hints:'#11'ParentColor'#8#0#0#6'TLabel'
+#12'LInfoWarning'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#26#5'Width'#2'2'#7'Cap'
+'tion'#6#9'Warnings:'#11'ParentColor'#8#0#0#6'TLabel'#9'LNWarning'#4'Left'#2
+'D'#6'Height'#2#14#3'Top'#2#26#5'Width'#2#31#9'Alignment'#7#14'taRightJustif'
+'y'#8'AutoSize'#8#7'Caption'#6#1'0'#10'Font.Color'#7#7'clGreen'#11'ParentCol'
+'or'#8#0#0#6'TLabel'#10'LInfoError'#4'Left'#2'p'#6'Height'#2#14#3'Top'#2#26#5
+'Width'#2'"'#7'Caption'#6#7'Errors:'#11'ParentColor'#8#0#0#6'TLabel'#7'LNErr'
+'or'#4'Left'#3#172#0#6'Height'#2#14#3'Top'#2#26#5'Width'#2#31#9'Alignment'#7
+#14'taRightJustify'#8'AutoSize'#8#7'Caption'#6#1'0'#10'Font.Color'#7#5'clRed'
+#11'ParentColor'#8#0#0#6'TLabel'#9'LInfoNote'#4'Left'#2'p'#6'Height'#2#14#3
+'Top'#2#5#5'Width'#2'!'#7'Caption'#6#6'Notes:'#11'ParentColor'#8#0#0#6'TLabe'
+'l'#6'LNNote'#4'Left'#3#172#0#6'Height'#2#14#3'Top'#2#5#5'Width'#2#31#9'Alig'
+'nment'#7#14'taRightJustify'#8'AutoSize'#8#7'Caption'#6#1'0'#10'Font.Color'#7
+#7'clBlack'#11'ParentColor'#8#0#0#0#6'TPanel'#6'Panel2'#4'Left'#2#8#6'Height'
+#2#28#3'Top'#2'h'#5'Width'#3#144#0#10'BevelInner'#7#9'bvLowered'#10'BevelOut'
+'er'#7#9'bvLowered'#11'BorderStyle'#7#8'bsSingle'#12'ClientHeight'#2#28#11'C'
+'lientWidth'#3#144#0#8'TabOrder'#2#4#0#6'TLabel'#7'LNLines'#4'Left'#2'X'#6'H'
+'eight'#2#14#3'Top'#2#6#5'Width'#2'1'#9'Alignment'#7#14'taRightJustify'#8'Au'
+'toSize'#8#7'Caption'#6#1'0'#11'ParentColor'#8#0#0#6'TLabel'#10'LInfoLines'#4
+'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2#29#7'Caption'#6#6'Lines:'#11
+'ParentColor'#8#0#0#0#0
]);

252
ide/infobuild.pp Normal file
View File

@ -0,0 +1,252 @@
{
***************************************************************************
* *
* This source is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This code is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* A copy of the GNU General Public License is available on the World *
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
* obtain it by writing to the Free Software Foundation, *
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
***************************************************************************
Dialog box used during compile or build
$Author$ Guadagnini David
$Date$ Feb-28-2008
$Revision$ 2.1
}
unit InfoBuild;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
ExtCtrls, StdCtrls, ExtDlgs,
LazIDEIntf,
LazarusIDEStrConsts;
type
{ TFInfoCompile }
TFInfoCompile = class ( TForm )
BClose : TBitBtn;
LInfoError : TLabel;
LInfoNote : TLabel;
LInfoHint : TLabel;
LInfoWarning : TLabel;
LInfoLines : TLabel;
LNError : TLabel;
LNNote : TLabel;
LNLines : TLabel;
LNHint : TLabel;
LNWarning : TLabel;
Panel2 : TPanel;
Panel4 : TPanel;
PCurrentStatus : TLabel;
Panel1 : TPanel;
PInfo : TPanel;
procedure BCloseClick ( Sender : TObject ) ;
procedure FormCreate ( Sender : TObject ) ;
private
NHints : Integer;
NWarnings : Integer;
NErrors : Integer;
NNotes : Integer;
NLines : Integer;
ToAbort : Boolean;
public
Procedure SetProjectName(Const Sname : String);
Procedure SetStatus(Const SStatus : String);
Procedure SetCanClose;
Procedure MakeBold;
end;
var
FInfoCompile : TFInfoCompile;
ShowCompileDialog: Boolean = false;
Procedure CreateInfoBuilder(Owner: TComponent);
Procedure DestroyInfoBuilder;
Procedure PutInfoBuilderStatus(Const Info : String);
Procedure PutInfoBuilderProject(Const Info : String);
Procedure AbleInfoBuilderExit;
Procedure PutExitInfoBuilder(Const Info : String);
implementation
{ TFInfoCompile }
procedure TFInfoCompile.BCloseClick ( Sender : TObject ) ;
begin
If ToAbort then
begin
LazarusIDE.AbortBuild;
SetStatus('Aborted...!');
MakeBold;
SetCanClose;
end
else
Close;
end;
procedure TFInfoCompile.FormCreate ( Sender : TObject ) ;
begin
NHints := 0;
NWarnings := 0;
NErrors := 0;
NNotes := 0;
NLines := 0;
LInfoLines.Caption := lisInfoBuildLines;
LInfoError.Caption := lisInfoBuildErrors;
LInfoHint.Caption := lisInfoBuildHint;
LInfoWarning.Caption := lisInfoBuildWarning;
LInfoNote.Caption := lisInfoBuildNote;
BClose.Kind := bkNoToAll;
BClose.Caption := lisInfoBuildMakeAbort;
Caption := lisInfoBuildCaption;
ToAbort := True;
SetProjectName('');
SetStatus('');
end;
Procedure TFInfoCompile.SetProjectName(Const Sname : String);
begin
PInfo.Caption := lisInfoBuildBuild + ' '+Sname;
end;
Procedure TFInfoCompile.SetStatus(Const SStatus : String);
Var
S : String;
Ok : Boolean;
NL : Integer;
begin
S := LowerCase(SStatus);
if (pos('warning(s)', s) > 0) or
(pos('hint(s)', s) > 0) or
(pos('note(s)', s) > 0) then exit;
Ok := True;
if (Pos('hint:', s) > 0) then
begin
Inc(NHints);
LNHint.Caption := IntToStr(NHints);
Ok := False;
end;
If Pos('warning:', s) > 0 then
begin
Inc(NWarnings);
LNWarning.Caption := IntToStr(NWarnings);
Ok := False;
end;
If (Pos('fatal:', s) > 0) Or (Pos('error:', s) > 0) then
begin
Inc(NErrors);
LNError.Caption := IntToStr(NErrors);
Ok := False;
end;
If (Pos('note:', s) > 0) then
begin
Inc(NNotes);
LNNote.Caption := IntToStr(NNotes);
Ok := False;
end;
If (Pos('lines compiled', s) > 0) then
begin
s := copy(s, 1, pos('lines compiled', s)-1);
while copy(s, 1, 1) = ' ' do delete(s, 1, 1);
while copy(s, length(s), 1) = ' ' do delete(s, length(s), 1);
try
NL := strtoint(s)
except
NL := 0;
end;
NLines := NLines + NL;
LNLines.Caption := IntToStr(NLines);
Ok := false;
end;
If Ok then PCurrentStatus.Caption := SStatus;
end;
Procedure TFInfoCompile.SetCanClose;
begin
ToAbort := False;
BClose.Kind := bkOk;
BClose.Caption := lisMenuClose;
end;
Procedure TFInfoCompile.MakeBold;
begin
PCurrentStatus.Font.Style:= PCurrentStatus.Font.Style + [fsBold];
end;
Procedure PutInfoBuilderStatus(Const Info : String);
begin
if Assigned(FInfoCompile) then FInfoCompile.SetStatus(Info);
end;
Procedure DestroyInfoBuilder;
begin
if Assigned(FInfoCompile) then
begin
FInfoCompile.Free;
FinfoCompile := Nil;
end;
end;
Procedure CreateInfoBuilder(Owner: TComponent);
begin
DestroyInfoBuilder;
if ShowCompileDialog then
begin
FInfoCompile := TFInfoCompile.Create(Owner);
FInfoCompile.Show;
end;
end;
Procedure PutInfoBuilderProject(Const Info : String);
begin
if Assigned(FInfoCompile) then FInfoCompile.SetProjectName(Info);
end;
Procedure AbleInfoBuilderExit;
begin
if Assigned(FInfoCompile) then FInfoCompile.SetCanClose;
end;
Procedure PutExitInfoBuilder(Const Info : String);
begin
PutInfoBuilderStatus(Info);
if Assigned(FInfoCompile) then FInfoCompile.MakeBold;
AbleInfoBuilderExit;
end;
initialization
{$I infobuild.lrs}
end.

View File

@ -660,6 +660,18 @@ resourcestring
lisStopDebugging = 'Stop Debugging?';
lisStopTheDebugging = 'Stop the debugging?';
lisCannotFindLazarusStarter = 'Cannot find lazarus starter:%s%s';
lisInfoBuildLines = 'Lines:';
lisInfoBuildErrors = 'Errors:';
lisInfoBuildHint = 'Hints:';
lisInfoBuildWarning = 'Warnings:';
lisInfoBuildBuild = 'Build';
lisInfoBuildComplile = 'Compiling...';
lisInfoBuildError = 'Error...';
lisInfoBuildSuccess = 'Success...';
lisInfoBuildAbort = 'Aborted...';
lisInfoBuildCaption = 'Compile Project';
lisInfoBuildMakeAbort = 'Abort';
lisInfoBuildNote = 'Notes:';
// resource files
lisResourceFileComment =
@ -936,6 +948,7 @@ resourcestring
dlgMaxRecentFiles = 'Max recent files';
dlgMaxRecentProjs = 'Max recent project files';
dlgQOpenLastPrj = 'Open last project at start';
dlgQShowCompileDialog = 'Show compile dialog';
dlgLazarusDir = 'Lazarus directory (default for all projects)';
dlgFpcPath = 'Compiler path (e.g. %s)';
dlgFpcSrcPath = 'FPC source directory';

View File

@ -71,7 +71,7 @@ uses
MemCheck,
{$ENDIF}
// fpc packages
Classes, SysUtils, Process, AsyncProcess, TypInfo,
Math, Classes, SysUtils, Process, AsyncProcess, TypInfo,
// lcl
LCLProc, LCLMemManager, LCLType, LCLIntf, LConvEncoding, LMessages,
LResources, StdCtrls, Forms, Buttons, Menus, FileUtil, Controls, GraphType,
@ -95,7 +95,7 @@ uses
IDEProtocol,
// compile
Compiler, CompilerOptions, CompilerOptionsDlg, CheckCompilerOpts,
W32VersionInfo, ImExportCompilerOpts,
W32VersionInfo, ImExportCompilerOpts, infobuild,
// projects
Project, ProjectDefs, NewProjectDlg, ProjectOpts,
PublishProjectDlg, ProjectInspector, PackageDefs,
@ -122,7 +122,7 @@ uses
Splash, IDEDefs, LazarusIDEStrConsts, LazConf, MsgView, SearchResultView,
CodeTemplatesDlg, CodeBrowser,
PublishModule, EnvironmentOpts, TransferMacros, KeyMapping, IDETranslations,
IDEProcs, ExtToolDialog, ExtToolEditDlg, OutputFilter,
IDEProcs, ExtToolDialog, ExtToolEditDlg, OutputFilter, JumpHistoryView,
BuildLazDialog, MiscOptions, InputHistory, UnitDependencies, ClipBoardHistory,
ProcessList, InitialSetupDlgs, NewDialog, MakeResStrDlg, ToDoList,
DialogProcs, FindReplaceDialog, FindInFilesDlg, CodeExplorer, BuildFileDlg,
@ -825,6 +825,7 @@ type
function DoPublishModule(Options: TPublishModuleOptions;
const SrcDirectory, DestDirectory: string
): TModalResult; override;
procedure AbortBuild; override;
// useful frontend methods
procedure DoSwitchToFormSrc(var ActiveSourceEditor:TSourceEditor;
@ -934,9 +935,6 @@ var
implementation
uses
Math, JumpHistoryView;
var
SkipAutoLoadingLastProject: boolean = false;
StartedByStartLazarus: boolean = false;
@ -1917,7 +1915,7 @@ begin
if FileExists(Filename) then
DeleteFile(Filename);
// start timer
FRemoteControlTimer:=TTimer.Create(Self);
FRemoteControlTimer:=TTimer.Create(OwningComponent);
FRemoteControlTimer.Interval:=500;
FRemoteControlTimer.OnTimer:=@OnRemoteControlTimer;
FRemoteControlTimer.Enabled:=true;
@ -4099,6 +4097,8 @@ Begin
ReadSettings(EnvironmentOptions);
end;
if EnvironmentOptionsDialog.ShowModal=mrOk then begin
ShowCompileDialog:=EnvironmentOptions.ShowCompileDialog;
// invalidate cached substituted macros
IncreaseCompilerParseStamp;
@ -7805,7 +7805,7 @@ end;
procedure TMainIDE.DoShowComponentList;
begin
if not Assigned(ComponentListForm)
then ComponentListForm := TComponentListForm.Create(Self);
then ComponentListForm := TComponentListForm.Create(OwningComponent);
ComponentListForm.Show;
end;
@ -9119,6 +9119,10 @@ begin
Result:=DoSaveForBuild;
if Result<>mrOk then exit;
CreateInfoBuilder(OwningComponent);
PutInfoBuilderProject(Project1.MainFilename);
PutInfoBuilderStatus(lisInfoBuildComplile);
// handle versioninfo
if not (pbfSkipLinking in Flags) then begin
VersionInfo := Project1.VersionInfo;
@ -9128,7 +9132,11 @@ begin
for i := 1 to VersionInfo.VersionInfoMessages.Count do
MessagesView.AddMsg(Format(VersionInfo.VersionInfoMessages[i - 1],
['"', Project1.ShortDescription, '"']), '' ,-1);
if Result <> mrOk then exit;
if Result <> mrOk then
begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
end else
VersionInfo:=nil;
@ -9139,7 +9147,11 @@ begin
for i := 1 to Project1.XPManifest.Messages.Count do
MessagesView.AddMsg(Format(Project1.XPManifest.Messages[i - 1],
['"', Project1.ShortDescription, '"']), '' ,-1);
if Result <> mrOk then exit;
if Result <> mrOk then
begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
end;
// compile required packages
@ -9148,7 +9160,11 @@ begin
if pbfCompileDependenciesClean in Flags then
Include(PkgFlags,pcfCompileDependenciesClean);
Result:=PkgBoss.DoCompileProjectDependencies(Project1,PkgFlags);
if Result<>mrOk then exit;
if Result <> mrOk then
begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
end;
// clear old error lines
@ -9174,7 +9190,11 @@ begin
// warn for ambiguous files
Result:=DoWarnAmbiguousFiles;
if Result<>mrOk then exit;
if Result<>mrOk then
begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
// check if build is needed (only if we will call the compiler)
// and check if a 'build all' is needed
@ -9186,10 +9206,15 @@ begin
if (pbfOnlyIfNeeded in Flags)
and (not (pfAlwaysBuild in Project1.Flags)) then begin
if Result=mrNo then begin
PutExitInfoBuilder(lisInfoBuildError);
Result:=mrOk;
exit;
end;
if Result<>mrYes then exit;
if Result<>mrYes then
begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
end;
end;
@ -9200,7 +9225,11 @@ begin
if (AReason in ToolBefore.CompileReasons) then begin
Result:=Project1.CompilerOptions.ExecuteBefore.Execute(
Project1.ProjectDirectory,lisExecutingCommandBefore);
if Result<>mrOk then exit;
if Result<>mrOk then
begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
end;
end;
@ -9224,15 +9253,22 @@ begin
Project1.LastCompilerParams:=CompilerParams;
Project1.LastCompilerFileDate:=FileAge(CompilerFilename);
DoJumpToCompilerMessage(-1,true);
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
// compilation succeded -> write state file
Result:=Project1.SaveStateFile(CompilerFilename,CompilerParams);
if Result<>mrOk then exit;
if Result<>mrOk then begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
// update project .po file
Result:=UpdateProjectPOFile(Project1);
if Result<>mrOk then exit;
if Result<>mrOk then begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
finally
ToolStatus:=itNone;
@ -9247,13 +9283,18 @@ begin
if (AReason in ToolAfter.CompileReasons) then begin
Result:=Project1.CompilerOptions.ExecuteAfter.Execute(
Project1.ProjectDirectory,lisExecutingCommandAfter);
if Result<>mrOk then exit;
if Result<>mrOk then
begin
PutExitInfoBuilder(lisInfoBuildError);
exit;
end;
end;
end;
// add success message
MessagesView.AddMsg(Format(lisProjectSuccessfullyBuilt, ['"',
Project1.ShortDescription, '"']),'',-1);
PutExitInfoBuilder(lisInfoBuildSuccess);
finally
// check sources
@ -9582,6 +9623,8 @@ begin
// first compile all lazarus components (LCL, SynEdit, CodeTools, ...)
// but not the IDE
SourceNotebook.ClearErrorLines;
CreateInfoBuilder(OwningComponent);
PutInfoBuilderProject('Lazarus...');
Result:=BuildLazarus(MiscellaneousOptions.BuildLazOpts,
EnvironmentOptions.ExternalTools,GlobalMacroList,
'',EnvironmentOptions.CompilerFilename,
@ -9594,7 +9637,10 @@ begin
// then compile the 'installed' packages
if ([blfWithStaticPackages,blfOnlyIDE]*Flags=[])
and (MiscellaneousOptions.BuildLazOpts.ItemIDE.MakeMode=mmNone) then exit;
and (MiscellaneousOptions.BuildLazOpts.ItemIDE.MakeMode=mmNone) then begin
AbleInfoBuilderExit;
exit;
end;
// prepare static auto install packages
PkgOptions:='';
@ -9658,9 +9704,17 @@ begin
DoCheckFilesOnDisk;
MessagesView.EndBlock;
if Result = mrOK then
PutExitInfoBuilder(lisinfoBuildSuccess)
else
PutExitInfoBuilder(lisInfoBuildError);
end;
if (Result=mrOK) and MiscellaneousOptions.BuildLazOpts.RestartAfterBuild then
begin
DestroyInfoBuilder;
mnuRestartClicked(nil);
end;
end;
function TMainIDE.DoBuildFile: TModalResult;
@ -9740,6 +9794,11 @@ begin
DirectiveList.Free;
end;
Result:=mrOk;
{if AReason <> crRun then
AbleInfoBuilderExit
else}
DestroyInfoBuilder;
end;
function TMainIDE.DoRunFile: TModalResult;
@ -10507,6 +10566,12 @@ begin
end;
end;
procedure TMainIDE.AbortBuild;
begin
if TheOutputFilter<>nil then
TheOutputFilter.StopExecute:=true;
end;
procedure TMainIDE.UpdateCaption;
var NewCaption: string;
begin

View File

@ -1,7 +1,7 @@
inherited MessagesView: TMessagesView
Left = 259
Left = 15
Height = 79
Top = 502
Top = 635
Width = 722
HorzScrollBar.Page = 721
VertScrollBar.Page = 78
@ -17,7 +17,7 @@ inherited MessagesView: TMessagesView
Height = 79
Width = 722
Align = alClient
DefaultItemHeight = 19
DefaultItemHeight = 15
PopupMenu = MainPopupMenu
TabOrder = 0
OnExit = MessageViewExit

View File

@ -1,16 +1,16 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TMessagesView','FORMDATA',[
'TPF0'#241#13'TMessagesView'#12'MessagesView'#4'Left'#3#3#1#6'Height'#2'O'#3
+'Top'#3#246#1#5'Width'#3#210#2#18'HorzScrollBar.Page'#3#209#2#18'VertScrollB'
+'ar.Page'#2'N'#13'ActiveControl'#7#15'MessageTreeView'#11'BorderStyle'#7#13
+'bsSizeToolWin'#7'Caption'#6#12'MessagesView'#12'ClientHeight'#2'O'#11'Clien'
+'tWidth'#3#210#2#10'KeyPreview'#9#12'OnDeactivate'#7#14'FormDeactivate'#9'On'
+'KeyDown'#7#19'MessagesViewKeyDown'#0#9'TTreeView'#15'MessageTreeView'#6'Hei'
+'ght'#2'O'#5'Width'#3#210#2#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#19
+#9'PopupMenu'#7#13'MainPopupMenu'#8'TabOrder'#2#0#6'OnExit'#7#15'MessageView'
+'Exit'#7'Options'#11#19'tvoAllowMultiselect'#17'tvoAutoItemHeight'#16'tvoHid'
+'eSelection'#21'tvoKeepCollapsedNodes'#14'tvoShowButtons'#12'tvoShowLines'#11
'TPF0'#241#13'TMessagesView'#12'MessagesView'#4'Left'#2#15#6'Height'#2'O'#3'T'
+'op'#3'{'#2#5'Width'#3#210#2#18'HorzScrollBar.Page'#3#209#2#18'VertScrollBar'
+'.Page'#2'N'#13'ActiveControl'#7#15'MessageTreeView'#11'BorderStyle'#7#13'bs'
+'SizeToolWin'#7'Caption'#6#12'MessagesView'#12'ClientHeight'#2'O'#11'ClientW'
+'idth'#3#210#2#10'KeyPreview'#9#12'OnDeactivate'#7#14'FormDeactivate'#9'OnKe'
+'yDown'#7#19'MessagesViewKeyDown'#0#9'TTreeView'#15'MessageTreeView'#6'Heigh'
+'t'#2'O'#5'Width'#3#210#2#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#15#9
+'PopupMenu'#7#13'MainPopupMenu'#8'TabOrder'#2#0#6'OnExit'#7#15'MessageViewEx'
+'it'#7'Options'#11#19'tvoAllowMultiselect'#17'tvoAutoItemHeight'#16'tvoHideS'
+'election'#21'tvoKeepCollapsedNodes'#14'tvoShowButtons'#12'tvoShowLines'#11
+'tvoShowRoot'#11'tvoToolTips'#0#0#0#10'TPopupMenu'#13'MainPopupMenu'#7'OnPop'
+'up'#7#18'MainPopupMenuPopup'#4'left'#2'.'#3'top'#2')'#0#0#0
]);

View File

@ -40,11 +40,12 @@ interface
uses
Classes, SysUtils, AVL_Tree,
LCLProc, LResources, ClipBrd, Controls, Dialogs, FileUtil, Forms, Menus,
StdCtrls, ComCtrls, LDockCtrl,
LCLProc, LResources, LCLType, ClipBrd, Controls, Dialogs, FileUtil, Forms,
Menus, StdCtrls, ComCtrls, LDockCtrl, Graphics,
IDEExternToolIntf, IDECommands, MenuIntf, IDEMsgIntf, LazIDEIntf,
DialogProcs, EnvironmentOpts,
LazarusIDEStrConsts, IDEOptionDefs, IDEProcs, InputHistory, KeyMapping;
LazarusIDEStrConsts, IDEOptionDefs, IDEProcs, InputHistory, infobuild,
KeyMapping;
type
@ -176,10 +177,6 @@ function MessageLinesAsText(ListOfTLazMessageLine: TFPList): string;
implementation
uses
Graphics, // used for TColor
LCLType; // used for TOwnerDrawState
const
SeparatorLine = '---------------------------------------------';
@ -390,7 +387,9 @@ var
NewMsg: TLazMessageLine;
i: integer;
LastItem: TLazMessageLine;
ToStoreMessage : Boolean;
begin
ToStoreMessage := VisibleLine;
//ConsistencyCheck;
//DebugLn('TMessagesView.Add START ItemCount=',dbgs(ItemCount),' VisibleCount=',dbgs(VisibleItemCount),' ListBoxCount=',dbgs(MessageTreeView.Items.Count),' ProgressLine=',dbgs(ProgressLine),' VisibleLine=',dbgs(VisibleLine),' OriginalIndex=',dbgs(OriginalIndex),' Msg="',Msg,'"');
NewMsg:=nil;
@ -399,8 +398,12 @@ begin
if (OriginalIndex>=0) and (LastItem.OriginalIndex=OriginalIndex) then begin
// already added
NewMsg:=LastItem;
ToStoreMessage := False;
end;
end;
if ToStoreMessage then PutInfoBuilderStatus(Msg);
if NewMsg=nil then begin
NewMsg := TLazMessageLine.Create;
FItems.Add(NewMsg);

View File

@ -226,6 +226,7 @@ type
procedure DoJumpToNextError(DirectionDown: boolean); virtual; abstract;
procedure DoShowMessagesView; virtual; abstract;
function DoCheckFilesOnDisk(Instantaneous: boolean = false): TModalResult; virtual; abstract;
procedure AbortBuild; virtual; abstract;
// designer
function GetDesignerWithProjectFile(AFile: TLazProjectFile;