mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 01:39:31 +02:00
IDE: clean build: search files
git-svn-id: trunk@30985 -
This commit is contained in:
parent
8b67104316
commit
efefac194f
@ -143,7 +143,6 @@ type
|
||||
procedure SetStrings(const AStringType: TCTDirCacheString;
|
||||
const AValue: string);
|
||||
procedure ClearUnitLinks;
|
||||
procedure UpdateListing;
|
||||
function GetUnitSourceCacheValue(const UnitSrc: TCTDirectoryUnitSources;
|
||||
const Search: string; var Filename: string): boolean;
|
||||
procedure AddToCache(const UnitSrc: TCTDirectoryUnitSources;
|
||||
@ -171,8 +170,10 @@ type
|
||||
function FindCompiledUnitInCompletePath(const AnUnitname: string;
|
||||
AnyCase: boolean): string;
|
||||
procedure IterateFPCUnitsInSet(const Iterate: TCTOnIterateFile);
|
||||
procedure UpdateListing;
|
||||
procedure WriteListing;
|
||||
procedure Invalidate; inline;
|
||||
procedure GetFiles(var Files: TStrings);
|
||||
public
|
||||
property Directory: string read FDirectory;
|
||||
property RefCount: integer read FRefCount;
|
||||
@ -1243,6 +1244,20 @@ begin
|
||||
FListing.FileTimeStamp:=CTInvalidChangeStamp;
|
||||
end;
|
||||
|
||||
procedure TCTDirectoryCache.GetFiles(var Files: TStrings);
|
||||
var
|
||||
ListedFiles: PChar;
|
||||
i: Integer;
|
||||
begin
|
||||
if Files=nil then
|
||||
Files:=TStringList.Create;
|
||||
if Directory='' then exit;
|
||||
UpdateListing;
|
||||
ListedFiles:=FListing.Files;
|
||||
for i:=0 to FListing.Count do
|
||||
Files.Add(PChar(@ListedFiles[FListing.Starts[i]+SizeOf(TCTDirectoryListingTime)]));
|
||||
end;
|
||||
|
||||
{ TCTDirectoryCachePool }
|
||||
|
||||
procedure TCTDirectoryCachePool.DoRemove(ACache: TCTDirectoryCache);
|
||||
|
@ -1,19 +1,22 @@
|
||||
object BuildProjectDialog: TBuildProjectDialog
|
||||
Left = 275
|
||||
Height = 317
|
||||
Height = 492
|
||||
Top = 250
|
||||
Width = 367
|
||||
Width = 537
|
||||
Caption = 'BuildProjectDialog'
|
||||
ClientHeight = 317
|
||||
ClientWidth = 367
|
||||
ClientHeight = 492
|
||||
ClientWidth = 537
|
||||
OnClose = FormClose
|
||||
OnCreate = FormCreate
|
||||
OnDestroy = FormDestroy
|
||||
OnResize = FormResize
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '0.9.31'
|
||||
object ButtonPanel1: TButtonPanel
|
||||
Left = 6
|
||||
Height = 40
|
||||
Top = 271
|
||||
Width = 355
|
||||
Height = 42
|
||||
Top = 444
|
||||
Width = 525
|
||||
OKButton.Name = 'OKButton'
|
||||
OKButton.Caption = '&OK'
|
||||
HelpButton.Name = 'HelpButton'
|
||||
@ -25,117 +28,153 @@ object BuildProjectDialog: TBuildProjectDialog
|
||||
TabOrder = 0
|
||||
ShowButtons = [pbOK, pbCancel, pbHelp]
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 265
|
||||
Top = 0
|
||||
Width = 367
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
ChildSizing.EnlargeHorizontal = crsScaleChilds
|
||||
ChildSizing.EnlargeVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ClientHeight = 265
|
||||
ClientWidth = 367
|
||||
object ProjOutCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = ProjOutMaskComboBox
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 10
|
||||
Height = 22
|
||||
Top = 12
|
||||
Width = 148
|
||||
BorderSpacing.Left = 10
|
||||
Caption = 'ProjOutCheckBox'
|
||||
Checked = True
|
||||
OnChange = ProjOutCheckBoxChange
|
||||
State = cbChecked
|
||||
TabOrder = 1
|
||||
object ProjectGroupBox: TGroupBox
|
||||
Left = 6
|
||||
Height = 157
|
||||
Top = 6
|
||||
Width = 421
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ProjectGroupBox'
|
||||
ClientHeight = 138
|
||||
ClientWidth = 417
|
||||
end
|
||||
object ProjSrcCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = ProjOutCheckBox
|
||||
AnchorSideTop.Control = ProjSrcMaskComboBox
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 10
|
||||
Height = 22
|
||||
Top = 45
|
||||
Width = 144
|
||||
Caption = 'ProjSrcCheckBox'
|
||||
Checked = True
|
||||
OnChange = ProjSrcCheckBoxChange
|
||||
State = cbChecked
|
||||
TabOrder = 2
|
||||
end
|
||||
object PkgOutCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = ProjOutCheckBox
|
||||
AnchorSideTop.Control = PkgOutMaskComboBox
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 10
|
||||
Height = 22
|
||||
Top = 78
|
||||
Width = 145
|
||||
Caption = 'PkgOutCheckBox'
|
||||
Checked = True
|
||||
OnChange = PkgOutCheckBoxChange
|
||||
State = cbChecked
|
||||
TabOrder = 3
|
||||
end
|
||||
object PkgSrcCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = ProjOutCheckBox
|
||||
AnchorSideTop.Control = PkgSrcMaskComboBox
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 10
|
||||
Height = 22
|
||||
Top = 111
|
||||
Width = 141
|
||||
Caption = 'PkgSrcCheckBox'
|
||||
Checked = True
|
||||
OnChange = PkgSrcCheckBoxChange
|
||||
State = cbChecked
|
||||
TabOrder = 4
|
||||
end
|
||||
object ProjOutMaskComboBox: TComboBox
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = ButtonPanel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 241
|
||||
Height = 27
|
||||
Top = 10
|
||||
Width = 280
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 10
|
||||
BorderSpacing.Right = 10
|
||||
ItemHeight = 0
|
||||
OnChange = ProjOutMaskComboBoxChange
|
||||
TabOrder = 9
|
||||
Text = 'ProjOutMaskComboBox'
|
||||
end
|
||||
object ProjSrcMaskComboBox: TComboBox
|
||||
AnchorSideLeft.Control = ProjOutMaskComboBox
|
||||
AnchorSideTop.Control = ProjOutMaskComboBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = ProjOutMaskComboBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 241
|
||||
Height = 27
|
||||
Top = 43
|
||||
Width = 280
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
ItemHeight = 0
|
||||
OnChange = ProjOutMaskComboBoxChange
|
||||
TabOrder = 5
|
||||
Text = 'ProjSrcMaskComboBox'
|
||||
end
|
||||
object PkgOutMaskComboBox: TComboBox
|
||||
AnchorSideLeft.Control = ProjOutMaskComboBox
|
||||
AnchorSideTop.Control = ProjSrcMaskComboBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = ProjOutMaskComboBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 241
|
||||
Height = 27
|
||||
Top = 76
|
||||
Width = 280
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
ItemHeight = 0
|
||||
OnChange = ProjOutMaskComboBoxChange
|
||||
TabOrder = 6
|
||||
Text = 'PkgOutMaskComboBox'
|
||||
end
|
||||
object PkgSrcMaskComboBox: TComboBox
|
||||
AnchorSideLeft.Control = ProjOutMaskComboBox
|
||||
AnchorSideTop.Control = PkgOutMaskComboBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = ProjOutMaskComboBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 241
|
||||
Height = 27
|
||||
Top = 109
|
||||
Width = 280
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
ItemHeight = 0
|
||||
OnChange = ProjOutMaskComboBoxChange
|
||||
TabOrder = 7
|
||||
Text = 'PkgSrcMaskComboBox'
|
||||
end
|
||||
object PreviewGroupBox: TGroupBox
|
||||
AnchorSideTop.Control = PkgSrcMaskComboBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 292
|
||||
Top = 146
|
||||
Width = 525
|
||||
Align = alBottom
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'PreviewGroupBox'
|
||||
ClientHeight = 271
|
||||
ClientWidth = 517
|
||||
TabOrder = 8
|
||||
object FilesTreeView: TTreeView
|
||||
Left = 0
|
||||
Height = 271
|
||||
Top = 0
|
||||
Width = 517
|
||||
Align = alClient
|
||||
DefaultItemHeight = 19
|
||||
TabOrder = 0
|
||||
object ProjClearOutDirButton: TButton
|
||||
AnchorSideLeft.Control = ProjectGroupBox
|
||||
AnchorSideTop.Control = ProjectGroupBox
|
||||
Left = 6
|
||||
Height = 29
|
||||
Top = 6
|
||||
Width = 156
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ProjClearOutDirButton'
|
||||
TabOrder = 0
|
||||
end
|
||||
object ProjClearSrcDirsButton: TButton
|
||||
AnchorSideLeft.Control = ProjectGroupBox
|
||||
AnchorSideTop.Control = ProjClearOutDirButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 29
|
||||
Top = 41
|
||||
Width = 160
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ProjClearSrcDirsButton'
|
||||
TabOrder = 1
|
||||
end
|
||||
object ProjClearSrcDirMaskLabel: TLabel
|
||||
AnchorSideLeft.Control = ProjClearSrcDirsButton
|
||||
AnchorSideTop.Control = ProjClearSrcDirsButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 18
|
||||
Top = 76
|
||||
Width = 169
|
||||
Caption = 'ProjClearSrcDirMaskLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object ProjClearSrcDirMaskEdit: TEdit
|
||||
Left = 205
|
||||
Height = 27
|
||||
Top = 95
|
||||
Width = 80
|
||||
TabOrder = 2
|
||||
Text = 'ProjClearSrcDirMaskEdit'
|
||||
end
|
||||
end
|
||||
object DependenciesGroupBox: TGroupBox
|
||||
Left = 6
|
||||
Height = 90
|
||||
Top = 169
|
||||
Width = 421
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'DependenciesGroupBox'
|
||||
ClientHeight = 71
|
||||
ClientWidth = 417
|
||||
Constraints.MinHeight = 30
|
||||
TabOrder = 1
|
||||
object PkgClearOutDirsButton: TButton
|
||||
Left = 106
|
||||
Height = 25
|
||||
Top = 3
|
||||
Width = 75
|
||||
Caption = 'PkgClearOutDirsButton'
|
||||
TabOrder = 0
|
||||
end
|
||||
object PkgClearSrcDirsButton: TButton
|
||||
Left = 152
|
||||
Height = 25
|
||||
Top = 34
|
||||
Width = 75
|
||||
Caption = 'PkgClearSrcDirsButton'
|
||||
TabOrder = 1
|
||||
end
|
||||
object PkgClearSrcDirsMaskLabel: TLabel
|
||||
Left = 242
|
||||
Height = 18
|
||||
Top = 43
|
||||
Width = 175
|
||||
Caption = 'PkgClearSrcDirsMaskLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object PkgClearSrcDirsMaskEdit: TEdit
|
||||
Left = 285
|
||||
Height = 27
|
||||
Top = 27
|
||||
Width = 80
|
||||
TabOrder = 2
|
||||
Text = 'PkgClearSrcDirsMaskEdit'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,3 +1,26 @@
|
||||
{
|
||||
***************************************************************************
|
||||
* *
|
||||
* 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. *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
Abstract:
|
||||
Dialog to clean up a project and its packages and to compile the project.
|
||||
}
|
||||
unit BuildProjectDlg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -5,41 +28,53 @@ unit BuildProjectDlg;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
||||
ExtCtrls, StdCtrls, IDEDialogs, LazarusIDEStrConsts, Project;
|
||||
Classes, SysUtils, Math, FileProcs, Forms, Controls, Graphics, Dialogs,
|
||||
ButtonPanel, ExtCtrls, StdCtrls, ComCtrls, Masks,
|
||||
CodeToolManager, DirectoryCacher,
|
||||
IDEDialogs, IDEImagesIntf,
|
||||
PackageDefs, PackageSystem, InputHistory, LazarusIDEStrConsts, Project;
|
||||
|
||||
type
|
||||
TBuildCleanMode = (
|
||||
bcmIfNeeded,
|
||||
bcmNormal,
|
||||
bcmWithB // with -B
|
||||
);
|
||||
TBuildCleanModes = set of TBuildCleanMode;
|
||||
|
||||
TBuildCleanParams = record
|
||||
Mode: TBuildCleanMode;
|
||||
CleanOutputDirectory: boolean;
|
||||
CleanSrcDirs: string; // file masks separated by semicolon
|
||||
end;
|
||||
|
||||
{ TBuildProjectDialog }
|
||||
|
||||
TBuildProjectDialog = class(TForm)
|
||||
ButtonPanel1: TButtonPanel;
|
||||
DependenciesGroupBox: TGroupBox;
|
||||
Panel1: TPanel;
|
||||
PkgClearOutDirsButton: TButton;
|
||||
PkgClearSrcDirsButton: TButton;
|
||||
PkgClearSrcDirsMaskEdit: TEdit;
|
||||
PkgClearSrcDirsMaskLabel: TLabel;
|
||||
ProjClearOutDirButton: TButton;
|
||||
ProjClearSrcDirMaskEdit: TEdit;
|
||||
ProjClearSrcDirMaskLabel: TLabel;
|
||||
ProjClearSrcDirsButton: TButton;
|
||||
ProjectGroupBox: TGroupBox;
|
||||
PkgOutCheckBox: TCheckBox;
|
||||
PkgOutMaskComboBox: TComboBox;
|
||||
PkgSrcCheckBox: TCheckBox;
|
||||
PkgSrcMaskComboBox: TComboBox;
|
||||
PreviewGroupBox: TGroupBox;
|
||||
FilesTreeView: TTreeView;
|
||||
ProjOutCheckBox: TCheckBox;
|
||||
ProjOutMaskComboBox: TComboBox;
|
||||
ProjSrcCheckBox: TCheckBox;
|
||||
ProjSrcMaskComboBox: TComboBox;
|
||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure FormResize(Sender: TObject);
|
||||
procedure PkgOutCheckBoxChange(Sender: TObject);
|
||||
procedure PkgSrcCheckBoxChange(Sender: TObject);
|
||||
procedure ProjOutCheckBoxChange(Sender: TObject);
|
||||
procedure ProjOutMaskComboBoxChange(Sender: TObject);
|
||||
procedure ProjSrcCheckBoxChange(Sender: TObject);
|
||||
private
|
||||
ImageIndexDirectory: Integer;
|
||||
ImageIndexFile: Integer;
|
||||
FIdleConnected: boolean;
|
||||
procedure SetIdleConnected(const AValue: boolean);
|
||||
procedure OnIdle(Sender: TObject; var Done: Boolean);
|
||||
private
|
||||
FProject: TProject;
|
||||
FUpdateNeeded: boolean;
|
||||
procedure UpdateFilesTreeView(Immediately: boolean = false);
|
||||
procedure AddProjOutDirectory;
|
||||
procedure AddProjSrcDirectories;
|
||||
procedure AddPkgOutDirectories;
|
||||
procedure AddPkgSrcDirectory;
|
||||
procedure AddDirectory(aTVPath, aDirectory, aFileMask: string);
|
||||
procedure AddDirectories(aTVPath, aSearchPath, aFileMask: string);
|
||||
property IdleConnected: boolean read FIdleConnected write SetIdleConnected;
|
||||
public
|
||||
procedure Init(AProject: TProject);
|
||||
end;
|
||||
@ -67,21 +102,325 @@ end;
|
||||
|
||||
procedure TBuildProjectDialog.FormCreate(Sender: TObject);
|
||||
begin
|
||||
Caption:='Build Project';
|
||||
PrProjectGroupBoxaption:='Compile project:';
|
||||
PrProjectGroupBoxtems.Add('Standard');
|
||||
PrProjectGroupBoxtems.Add('with -B');
|
||||
PrProjectGroupBoxtems.Add('Clean output directory');
|
||||
DeDependenciesGroupBoxaption:='Compile used packages:';
|
||||
DeDependenciesGroupBoxtems.Add('If needed');
|
||||
DeDependenciesGroupBoxtems.Add('Compile');
|
||||
DeDependenciesGroupBoxtems.Add('with -B');
|
||||
DeDependenciesGroupBoxtems.Add('Clean output directory');
|
||||
Caption:=lisCleanUpAndBuildProject;
|
||||
|
||||
ProjOutCheckBox.Caption:=lisProjectOutputDirectory;
|
||||
ProjSrcCheckBox.Caption:=lisProjectSourceDirectories;
|
||||
PkgOutCheckBox.Caption:=lisPackageOutputDirectories;
|
||||
PkgSrcCheckBox.Caption:=lisPackageSourceDirectories;
|
||||
PreviewGroupBox.Caption:=lisTheseFilesWillBeDeleted;
|
||||
|
||||
ButtonPanel1.OKButton.Caption:=lisBuildProject;
|
||||
|
||||
FilesTreeView.Images:=IDEImages.Images_16;
|
||||
ImageIndexDirectory := IDEImages.LoadImage(16, 'pkg_files');
|
||||
ImageIndexFile := IDEImages.LoadImage(16, 'laz_delete');
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
FProject:=nil;
|
||||
IdleConnected:=false;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.FormClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
|
||||
procedure StoreCombo(AComboBox: TComboBox);
|
||||
begin
|
||||
// store all masks into one history list
|
||||
ProjOutMaskComboBox.AddHistoryItem(AComboBox.Text,30,true,false);
|
||||
end;
|
||||
|
||||
begin
|
||||
FProject.CleanOutputFileMask:=ProjOutMaskComboBox.Text;
|
||||
FProject.CleanSourcesFileMask:=ProjSrcMaskComboBox.Text;
|
||||
InputHistories.CleanOutputFileMask:=PkgOutMaskComboBox.Text;
|
||||
InputHistories.CleanSourcesFileMask:=PkgSrcMaskComboBox.Text;
|
||||
|
||||
// combine history lists
|
||||
StoreCombo(ProjOutMaskComboBox);
|
||||
StoreCombo(ProjSrcMaskComboBox);
|
||||
StoreCombo(PkgOutMaskComboBox);
|
||||
StoreCombo(PkgSrcMaskComboBox);
|
||||
InputHistories.HistoryLists.GetList(hlCleanBuildFileMask,true).Assign(ProjOutMaskComboBox.Items);
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.FormResize(Sender: TObject);
|
||||
var
|
||||
r: Integer;
|
||||
begin
|
||||
r:=ProjOutCheckBox.Left
|
||||
+Max(Max(ProjOutCheckBox.Width,ProjSrcCheckBox.Width),
|
||||
Max(PkgOutCheckBox.Width,PkgSrcCheckBox.Width));
|
||||
ProjOutMaskComboBox.Left:=r+10;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.PkgOutCheckBoxChange(Sender: TObject);
|
||||
begin
|
||||
PkgOutMaskComboBox.Enabled:=PkgOutCheckBox.Checked;
|
||||
UpdateFilesTreeView;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.PkgSrcCheckBoxChange(Sender: TObject);
|
||||
begin
|
||||
PkgSrcMaskComboBox.Enabled:=PkgSrcCheckBox.Checked;
|
||||
UpdateFilesTreeView;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.ProjOutCheckBoxChange(Sender: TObject);
|
||||
begin
|
||||
ProjOutMaskComboBox.Enabled:=ProjOutCheckBox.Checked;
|
||||
UpdateFilesTreeView;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.ProjOutMaskComboBoxChange(Sender: TObject);
|
||||
begin
|
||||
UpdateFilesTreeView;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.ProjSrcCheckBoxChange(Sender: TObject);
|
||||
begin
|
||||
ProjSrcMaskComboBox.Enabled:=ProjSrcCheckBox.Checked;
|
||||
UpdateFilesTreeView;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.SetIdleConnected(const AValue: boolean);
|
||||
begin
|
||||
if FIdleConnected=AValue then exit;
|
||||
FIdleConnected:=AValue;
|
||||
if IdleConnected then
|
||||
Application.AddOnIdleHandler(@OnIdle)
|
||||
else
|
||||
Application.RemoveOnIdleHandler(@OnIdle);
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.OnIdle(Sender: TObject; var Done: Boolean);
|
||||
begin
|
||||
if FProject=nil then exit;
|
||||
if not FUpdateNeeded then exit;
|
||||
IdleConnected:=false;
|
||||
UpdateFilesTreeView(true);
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.UpdateFilesTreeView(Immediately: boolean);
|
||||
|
||||
function CreateTVChildCounts(TVNode: TTreeNode): integer;
|
||||
var
|
||||
ChildNode: TTreeNode;
|
||||
begin
|
||||
Result:=0;
|
||||
if TVNode=nil then exit;
|
||||
ChildNode:=TVNode.GetFirstChild;
|
||||
while ChildNode<>nil do begin
|
||||
inc(Result,CreateTVChildCounts(ChildNode));
|
||||
ChildNode:=ChildNode.GetNextSibling;
|
||||
end;
|
||||
if (Result=0) and (TVNode.Count>0) then
|
||||
// has children, but no grand children => is a directory
|
||||
inc(Result,TVNode.Count);
|
||||
if Result>0 then
|
||||
TVNode.Text:=TVNode.Text+' ('+IntToStr(Result)+' files)';
|
||||
end;
|
||||
|
||||
var
|
||||
i: Integer;
|
||||
TVNode: TTreeNode;
|
||||
begin
|
||||
if not Immediately then begin
|
||||
FUpdateNeeded:=true;
|
||||
IdleConnected:=true;
|
||||
exit;
|
||||
end;
|
||||
FUpdateNeeded:=false;
|
||||
|
||||
FilesTreeView.BeginUpdate;
|
||||
FilesTreeView.Items.Clear;
|
||||
if FProject<>nil then begin
|
||||
if ProjOutCheckBox.Checked then AddProjOutDirectory;
|
||||
if ProjSrcCheckBox.Checked then AddProjSrcDirectories;
|
||||
if PkgOutCheckBox.Checked then AddPkgOutDirectories;
|
||||
if PkgSrcCheckBox.Checked then AddPkgSrcDirectory;
|
||||
end;
|
||||
for i:=0 to FilesTreeView.Items.TopLvlCount-1 do begin
|
||||
TVNode:=FilesTreeView.Items.TopLvlItems[i];
|
||||
CreateTVChildCounts(TVNode);
|
||||
TVNode.Expand(true);
|
||||
end;
|
||||
FilesTreeView.EndUpdate;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.AddProjOutDirectory;
|
||||
begin
|
||||
AddDirectory('Project output directory',
|
||||
FProject.CompilerOptions.GetUnitOutputDirectory(false),
|
||||
ProjOutMaskComboBox.Text);
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.AddProjSrcDirectories;
|
||||
begin
|
||||
AddDirectories('Project output directory',
|
||||
FProject.SourceDirectories.CreateSearchPathFromAllFiles,
|
||||
ProjSrcMaskComboBox.Text);
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.AddPkgOutDirectories;
|
||||
var
|
||||
List: TFPList;
|
||||
i: Integer;
|
||||
Pkg: TLazPackage;
|
||||
begin
|
||||
List:=nil;
|
||||
try
|
||||
PackageGraph.GetAllRequiredPackages(FProject.FirstRequiredDependency,List);
|
||||
if List=nil then exit;
|
||||
for i:=0 to List.Count-1 do begin
|
||||
Pkg:=TLazPackage(List[i]);
|
||||
AddDirectory(Pkg.Name,Pkg.CompilerOptions.GetUnitOutputDirectory(false),
|
||||
PkgOutMaskComboBox.Text);
|
||||
end;
|
||||
finally
|
||||
List.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.AddPkgSrcDirectory;
|
||||
var
|
||||
List: TFPList;
|
||||
i: Integer;
|
||||
Pkg: TLazPackage;
|
||||
begin
|
||||
List:=nil;
|
||||
try
|
||||
PackageGraph.GetAllRequiredPackages(FProject.FirstRequiredDependency,List);
|
||||
if List=nil then exit;
|
||||
for i:=0 to List.Count-1 do begin
|
||||
Pkg:=TLazPackage(List[i]);
|
||||
AddDirectories(Pkg.Name,Pkg.SourceDirectories.CreateSearchPathFromAllFiles,
|
||||
PkgSrcMaskComboBox.Text);
|
||||
end;
|
||||
finally
|
||||
List.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.AddDirectory(aTVPath, aDirectory,
|
||||
aFileMask: string);
|
||||
var
|
||||
Cache: TCTDirectoryCache;
|
||||
Files: TStrings;
|
||||
TVFiles: TStringList;
|
||||
MaskList: TMaskList;
|
||||
p: SizeInt;
|
||||
NodeText: String;
|
||||
TVNode: TTreeNode;
|
||||
ParentTVNode: TTreeNode;
|
||||
i: Integer;
|
||||
begin
|
||||
//debugln(['TBuildProjectDialog.AddDirectory aTVPath="',aTVPath,'" aDirectory="',aDirectory,'" aFileMask="',aFileMask,'"']);
|
||||
if (aDirectory='') or (aFileMask='')
|
||||
or (not FilenameIsAbsolute(aDirectory))
|
||||
or (not DirPathExistsCached(aDirectory))
|
||||
then exit;
|
||||
// get directory listing from cache
|
||||
Cache:=CodeToolBoss.DirectoryCachePool.GetCache(aDirectory,true,false);
|
||||
if Cache=nil then exit;
|
||||
Files:=TStringList.Create;
|
||||
TVFiles:=TStringList.Create;
|
||||
MaskList:=TMaskList.Create(aFileMask,';');
|
||||
try
|
||||
if MaskList.Count=0 then exit;
|
||||
Cache.GetFiles(Files);
|
||||
|
||||
//debugln(['TBuildProjectDialog.AddDirectory AllFiles="',Files.Text,'"']);
|
||||
// filter files
|
||||
for i:=0 to Files.Count-1 do
|
||||
if MaskList.Matches(Files[i]) then
|
||||
TVFiles.Add(Files[i]);
|
||||
//debugln(['TBuildProjectDialog.AddDirectory FilteredFiles="',TVFiles.Text,'"']);
|
||||
if TVFiles.Count=0 then exit;
|
||||
|
||||
// create tree node for aTVPath
|
||||
ParentTVNode:=nil;
|
||||
p:=System.Pos('/',aTVPath);
|
||||
if p>0 then begin
|
||||
NodeText:=copy(aTVPath,1,p-1);
|
||||
aTVPath:=Copy(aTVPath,p+1,length(aTVPath));
|
||||
end else begin
|
||||
NodeText:=aTVPath;
|
||||
end;
|
||||
if ParentTVNode=nil then
|
||||
TVNode:=FilesTreeView.Items.FindTopLvlNode(NodeText)
|
||||
else
|
||||
TVNode:=ParentTVNode.FindNode(NodeText);
|
||||
if TVNode=nil then
|
||||
TVNode:=FilesTreeView.Items.AddChild(ParentTVNode,NodeText);
|
||||
TVNode.ImageIndex:=ImageIndexDirectory;
|
||||
TVNode.SelectedIndex:=ImageIndexDirectory;
|
||||
ParentTVNode:=TVNode;
|
||||
|
||||
// create tree node for directory
|
||||
NodeText:=FProject.GetShortFilename(aDirectory,true);
|
||||
TVNode:=ParentTVNode.GetFirstChild;
|
||||
while (TVNode<>nil) and (CompareFilenames(TVNode.Text,NodeText)<0) do
|
||||
TVNode:=TVNode.GetNextSibling;
|
||||
if TVNode=nil then
|
||||
TVNode:=FilesTreeView.Items.AddChild(ParentTVNode,NodeText)
|
||||
else if (CompareFilenames(TVNode.Text,NodeText)<>0) then
|
||||
TVNode:=FilesTreeView.Items.Add(TVNode,NodeText);
|
||||
TVNode.ImageIndex:=ImageIndexDirectory;
|
||||
TVNode.SelectedIndex:=ImageIndexDirectory;
|
||||
ParentTVNode:=TVNode;
|
||||
|
||||
// add files
|
||||
for i:=0 to TVFiles.Count-1 do begin
|
||||
TVNode:=FilesTreeView.Items.AddChild(ParentTVNode,TVFiles[i]);
|
||||
TVNode.ImageIndex:=ImageIndexFile;
|
||||
TVNode.SelectedIndex:=ImageIndexFile;
|
||||
end;
|
||||
finally
|
||||
MaskList.Free;
|
||||
Files.Free;
|
||||
TVFiles.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.AddDirectories(aTVPath, aSearchPath,
|
||||
aFileMask: string);
|
||||
var
|
||||
Directory: String;
|
||||
p: Integer;
|
||||
begin
|
||||
p:=1;
|
||||
while p<=length(aSearchPath) do begin
|
||||
Directory:=TrimFilename(GetNextDelimitedItem(aSearchPath,';',p));
|
||||
if FilenameIsAbsolute(Directory) then
|
||||
AddDirectory(aTVPath,Directory,aFileMask);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.Init(AProject: TProject);
|
||||
var
|
||||
List: THistoryList;
|
||||
begin
|
||||
List:=InputHistories.HistoryLists.GetList(hlCleanBuildFileMask,true);
|
||||
ProjOutMaskComboBox.Items.Assign(List);
|
||||
ProjOutMaskComboBox.Text:=AProject.CleanOutputFileMask;
|
||||
ProjSrcMaskComboBox.Items.Assign(List);
|
||||
ProjSrcMaskComboBox.Text:=AProject.CleanSourcesFileMask;
|
||||
PkgOutMaskComboBox.Items.Assign(List);
|
||||
PkgOutMaskComboBox.Text:=InputHistories.CleanOutputFileMask;
|
||||
PkgSrcMaskComboBox.Items.Assign(List);
|
||||
PkgSrcMaskComboBox.Text:=InputHistories.CleanSourcesFileMask;
|
||||
|
||||
if AProject.CompilerOptions.UnitOutputDirectory='' then begin
|
||||
ProjOutCheckBox.Enabled:=false;
|
||||
ProjOutCheckBox.Checked:=false;
|
||||
ProjOutMaskComboBox.Enabled:=false;
|
||||
end;
|
||||
|
||||
FProject:=AProject;
|
||||
UpdateFilesTreeView;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -36,7 +36,8 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, FileProcs, DiffPatch, IDEProcs, AvgLvlTree,
|
||||
SynEditTypes, Laz_XMLCfg, LazConf, Dialogs, LCLProc, IDEDialogs;
|
||||
SynEditTypes, Laz_XMLCfg, LazConf, Dialogs, LCLProc,
|
||||
IDEDialogs, ProjectIntf;
|
||||
|
||||
{$ifdef Windows}
|
||||
{$define CaseInsensitiveFilenames}
|
||||
@ -56,6 +57,7 @@ const
|
||||
hlLaunchingApplication = 'LaunchingApplication';
|
||||
hlCmdLineParameters = 'CommandLineParameters';
|
||||
hlWorkingDirectory = 'WorkingDirectory';
|
||||
hlCleanBuildFileMask = 'CleanBuildFileMask';
|
||||
|
||||
type
|
||||
TFileDialogSettings = record
|
||||
@ -191,6 +193,8 @@ type
|
||||
|
||||
TInputHistories = class
|
||||
private
|
||||
FCleanOutputFileMask: string;
|
||||
FCleanSourcesFileMask: string;
|
||||
FDiffFlags: TTextDiffFlags;
|
||||
FDiffText2: string;
|
||||
FDiffText2OnlySelection: boolean;
|
||||
@ -285,7 +289,9 @@ type
|
||||
// filedialogs
|
||||
property FileDialogSettings: TFileDialogSettings
|
||||
read FFileDialogSettings write FFileDialogSettings;
|
||||
|
||||
property CleanOutputFileMask: string read FCleanOutputFileMask write FCleanOutputFileMask;
|
||||
property CleanSourcesFileMask: string read FCleanSourcesFileMask write FCleanSourcesFileMask;
|
||||
|
||||
// various history lists
|
||||
property HistoryLists: THistoryLists read FHistoryLists;
|
||||
|
||||
@ -463,6 +469,8 @@ begin
|
||||
FFPCConfigCache.Clear;
|
||||
FLastConvertDelphiProject:='';
|
||||
FLastConvertDelphiUnit:='';
|
||||
FCleanOutputFileMask:=DefaultProjectCleanOutputFileMask;
|
||||
FCleanSourcesFileMask:=DefaultProjectCleanSourcesFileMask;
|
||||
fFileEncodings.Clear;
|
||||
FIgnores.Clear;
|
||||
end;
|
||||
@ -516,6 +524,10 @@ begin
|
||||
MaxHistory:=XMLConfig.GetValue(Path+'FileDialog/MaxHistory',20);
|
||||
LoadRecentList(XMLConfig,HistoryList,Path+'FileDialog/HistoryList/');
|
||||
end;
|
||||
FCleanOutputFileMask:=XMLConfig.GetValue(Path+'Clean/OutputFilemask',
|
||||
DefaultProjectCleanOutputFileMask);
|
||||
FCleanSourcesFileMask:=XMLConfig.GetValue(Path+'Clean/SourcesFilemask',
|
||||
DefaultProjectCleanSourcesFileMask);
|
||||
// history lists
|
||||
FHistoryLists.LoadFromXMLConfig(XMLConfig,Path+'HistoryLists/');
|
||||
// diff dialog
|
||||
@ -584,6 +596,10 @@ begin
|
||||
XMLConfig.SetDeleteValue(Path+'FileDialog/MaxHistory',MaxHistory,20);
|
||||
SaveRecentList(XMLConfig,HistoryList,Path+'FileDialog/HistoryList/');
|
||||
end;
|
||||
XMLConfig.SetDeleteValue(Path+'Clean/OutputFilemask',FCleanOutputFileMask,
|
||||
DefaultProjectCleanOutputFileMask);
|
||||
XMLConfig.SetDeleteValue(Path+'Clean/SourcesFilemask',FCleanSourcesFileMask,
|
||||
DefaultProjectCleanSourcesFileMask);
|
||||
// history lists
|
||||
FHistoryLists.SaveToXMLConfig(XMLConfig,Path+'HistoryLists/');
|
||||
// diff dialog
|
||||
|
@ -235,6 +235,12 @@ procedure GetDefaultKeyForWindowsScheme(Command: word;
|
||||
TheKeyB:=IDEShortCut(NewKey2A,NewShift2A,NewKey2B,NewShift2B);
|
||||
end;
|
||||
|
||||
procedure SetResult2(
|
||||
NewKey1A: word; NewShift1A: TShiftState;
|
||||
NewKey1B: word; NewShift1B: TShiftState);
|
||||
begin
|
||||
SetResult2(NewKey1A,NewShift1A,NewKey1B,NewShift1B,VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
end;
|
||||
|
||||
// procedure SetResult(NewKeyA: word; NewShiftA: TShiftState);
|
||||
// begin
|
||||
@ -279,12 +285,12 @@ begin
|
||||
ecSelectAll: SetResult(VK_A,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSelectToBrace: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectCodeBlock: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectWord: SetResult2(VK_K,[SSCtrl],VK_T,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectLine: SetResult2(VK_K,[SSCtrl],VK_L,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectWord: SetResult2(VK_K,[SSCtrl],VK_T,[]);
|
||||
ecSelectLine: SetResult2(VK_K,[SSCtrl],VK_L,[]);
|
||||
ecSelectParagraph: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionUpperCase: SetResult2(VK_K,[SSCtrl],VK_N,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionLowerCase: SetResult2(VK_K,[SSCtrl],VK_O,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionSwapCase: SetResult2(VK_K,[SSCtrl],VK_P,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionUpperCase: SetResult2(VK_K,[SSCtrl],VK_N,[]);
|
||||
ecSelectionLowerCase: SetResult2(VK_K,[SSCtrl],VK_O,[]);
|
||||
ecSelectionSwapCase: SetResult2(VK_K,[SSCtrl],VK_P,[]);
|
||||
ecSelectionTabs2Spaces: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionEnclose: SetResult(VK_N, [ssShift,ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSelectionComment: SetResult(VK_V, [ssShift,ssCtrl],VK_UNKNOWN,[]);
|
||||
@ -297,8 +303,8 @@ begin
|
||||
ecBlockSetBegin : SetResult2(VK_K,[ssCtrl],VK_B,[], VK_K,[ssCtrl],VK_B,[ssCtrl]);
|
||||
ecBlockSetEnd : SetResult2(VK_K,[ssCtrl],VK_K,[], VK_K,[ssCtrl],VK_K,[ssCtrl]);
|
||||
ecBlockToggleHide : SetResult2(VK_K,[ssCtrl],VK_H,[], VK_K,[ssCtrl],VK_H,[ssCtrl]);
|
||||
ecBlockHide : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockShow : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockHide : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockShow : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockMove : SetResult2(VK_K,[ssCtrl],VK_V,[], VK_K,[ssCtrl],VK_V,[ssCtrl]);
|
||||
ecBlockCopy : SetResult2(VK_K,[ssCtrl],VK_C,[], VK_K,[ssCtrl],VK_C,[ssCtrl]);
|
||||
ecBlockDelete : SetResult2(VK_K,[ssCtrl],VK_Y,[], VK_K,[ssCtrl],VK_Y,[ssCtrl]);
|
||||
@ -370,7 +376,7 @@ begin
|
||||
ecViewJumpHistory: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpToPrevError: SetResult(VK_F8,[ssCtrl, ssShift],VK_UNKNOWN,[]);
|
||||
ecJumpToNextError: SetResult(VK_F8,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecOpenFileAtCursor: SetResult2(VK_RETURN,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenFileAtCursor: SetResult2(VK_RETURN,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecProcedureList: SetResult(VK_G, [ssAlt],VK_UNKNOWN,[]);
|
||||
|
||||
// marker
|
||||
@ -430,8 +436,8 @@ begin
|
||||
ecFindProcedureDefinition: SetResult(VK_UP,[ssShift,SSCtrl],VK_UNKNOWN,[]);
|
||||
ecFindProcedureMethod: SetResult(VK_DOWN,[ssShift,SSCtrl],VK_UNKNOWN,[]);
|
||||
ecFindDeclaration: SetResult(VK_UP,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecFindBlockOtherEnd: SetResult2(VK_Q,[ssCtrl],VK_K,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindBlockStart: SetResult2(VK_Q,[ssCtrl],VK_B,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindBlockOtherEnd: SetResult2(VK_Q,[ssCtrl],VK_K,[]);
|
||||
ecFindBlockStart: SetResult2(VK_Q,[ssCtrl],VK_B,[]);
|
||||
ecGotoIncludeDirective: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecShowAbstractMethods: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRemoveEmptyMethods: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -549,6 +555,7 @@ begin
|
||||
ecCompile: SetResult(VK_F9,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecBuild: SetResult(VK_F9,[ssShift],VK_UNKNOWN,[]);
|
||||
ecQuickCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCleanCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAbortBuild: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRun: SetResult(VK_F9,[],VK_UNKNOWN,[]);
|
||||
ecPause: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -708,7 +715,7 @@ begin
|
||||
ecLineEnd: SetResult(VK_Q, [ssCtrl], VK_D, [], VK_END, [],VK_UNKNOWN,[]);
|
||||
ecPageUp: SetResult(VK_R, [ssCtrl], VK_UNKNOWN, [], VK_PRIOR, [],VK_UNKNOWN,[]);
|
||||
ecPageDown: SetResult(VK_C, [ssCtrl], VK_UNKNOWN, [], VK_NEXT, [],VK_UNKNOWN,[]);
|
||||
ecPageLeft: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPageLeft: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPageRight: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPageTop: SetResult(VK_Q, [ssCtrl], VK_E, [], VK_HOME, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecPageBottom: SetResult(VK_Q, [ssCtrl], VK_X, [], VK_END, [ssCtrl],VK_UNKNOWN,[]);
|
||||
@ -716,8 +723,8 @@ begin
|
||||
ecEditorBottom: SetResult(VK_Q, [ssCtrl], VK_C, [], VK_NEXT,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecScrollUp: SetResult(VK_W, [ssCtrl], VK_UNKNOWN, [], VK_UP, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecScrollDown: SetResult(VK_Z, [ssCtrl], VK_UNKNOWN, [], VK_DOWN, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecScrollLeft: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecScrollRight: SetResult(VK_UNKNOWN, [], VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecScrollLeft: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecScrollRight: SetResult(VK_UNKNOWN, [], VK_UNKNOWN,[]);
|
||||
|
||||
// selection
|
||||
ecCopy: SetResult(VK_Insert,[ssCtrl],VK_UNKNOWN, [],VK_UNKNOWN, [],VK_UNKNOWN, []);
|
||||
@ -742,7 +749,7 @@ begin
|
||||
ecSelectParagraph: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[], VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
ecSelectionUpperCase: SetResult(VK_K,[ssCtrl],VK_N,[], VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionLowerCase: SetResult(VK_K,[ssCtrl],VK_O,[], VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionSwapCase: SetResult(VK_K,[SSCtrl],VK_P,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionSwapCase: SetResult(VK_K,[SSCtrl],VK_P,[]);
|
||||
ecSelectionTabs2Spaces: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[], VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
ecSelectionEnclose: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[], VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
ecSelectionComment: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[], VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
@ -755,8 +762,8 @@ begin
|
||||
ecBlockSetBegin : SetResult(VK_K,[ssCtrl],VK_B,[], VK_K,[ssCtrl],VK_B,[ssCtrl]);
|
||||
ecBlockSetEnd : SetResult(VK_K,[ssCtrl],VK_K,[], VK_K,[ssCtrl],VK_K,[ssCtrl]);
|
||||
ecBlockToggleHide : SetResult(VK_K,[ssCtrl],VK_H,[], VK_K,[ssCtrl],VK_H,[ssCtrl]);
|
||||
ecBlockHide : SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockShow : SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockHide : SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockShow : SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockMove : SetResult(VK_K,[ssCtrl],VK_V,[], VK_K,[ssCtrl],VK_V,[ssCtrl]);
|
||||
ecBlockCopy : SetResult(VK_K,[ssCtrl],VK_C,[], VK_K,[ssCtrl],VK_C,[ssCtrl]);
|
||||
ecBlockDelete : SetResult(VK_K,[ssCtrl],VK_Y,[ssCtrl], VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -778,120 +785,120 @@ begin
|
||||
ecColSelEditorBottom: SetResult(VK_END, [ssAlt, ssShift,ssCtrl], VK_UNKNOWN,[], VK_UNKNOWN,[], VK_UNKNOWN,[]);
|
||||
|
||||
// editing
|
||||
ecBlockIndent: SetResult(VK_K,[ssCtrl],VK_I,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockUnindent: SetResult(VK_K,[ssCtrl],VK_U,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockIndent: SetResult(VK_K,[ssCtrl],VK_I,[]);
|
||||
ecBlockUnindent: SetResult(VK_K,[ssCtrl],VK_U,[]);
|
||||
ecDeleteLastChar: SetResult(VK_H,[ssCtrl],VK_UNKNOWN,[],VK_BACK, [],VK_UNKNOWN,[]);
|
||||
ecDeleteChar: SetResult(VK_DELETE,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDeleteWord: SetResult(VK_T,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDeleteLastWord: SetResult(VK_BACK,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDeleteBOL: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDeleteEOL: SetResult(VK_K,[ssCtrl],VK_Y,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDeleteLine: SetResult(VK_Y,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecClearAll: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDeleteChar: SetResult(VK_DELETE,[],VK_UNKNOWN,[]);
|
||||
ecDeleteWord: SetResult(VK_T,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecDeleteLastWord: SetResult(VK_BACK,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecDeleteBOL: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDeleteEOL: SetResult(VK_K,[ssCtrl],VK_Y,[]);
|
||||
ecDeleteLine: SetResult(VK_Y,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecClearAll: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecLineBreak: SetResult(VK_RETURN,[],VK_UNKNOWN,[],VK_M,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecInsertLine: SetResult(VK_N,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCharacter: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertGPLNotice: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertLGPLNotice: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertModifiedLGPLNotice: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertUserName: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertDateTime: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertChangeLogEntry: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSAuthor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSDate: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSHeader: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSID: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSLog: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSName: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSRevision: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSSource: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertLine: SetResult(VK_N,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecInsertCharacter: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertGPLNotice: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertLGPLNotice: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertModifiedLGPLNotice: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertUserName: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertDateTime: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertChangeLogEntry: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSAuthor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSDate: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSHeader: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSID: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSLog: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSName: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSRevision: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInsertCVSSource: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// command commands
|
||||
ecUndo: SetResult(VK_BACK,[ssALT],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRedo: SetResult(VK_BACK,[ssALT,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecUndo: SetResult(VK_BACK,[ssALT],VK_UNKNOWN,[]);
|
||||
ecRedo: SetResult(VK_BACK,[ssALT,ssShift],VK_UNKNOWN,[]);
|
||||
|
||||
// search & replace
|
||||
ecMatchBracket: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMatchBracket: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFind: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_F,[]);
|
||||
ecFindNext: SetResult(VK_L,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindPrevious: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindInFiles: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecReplace: SetResult(VK_Q,[SSCtrl],VK_A,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecIncrementalFind: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoLineNumber: SetResult(VK_G,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindNextWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindPrevWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpBack: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpForward: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddJumpPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewJumpHistory: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpToPrevError: SetResult(VK_F7,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpToNextError: SetResult(VK_F8,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenFileAtCursor: SetResult(VK_RETURN,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindNext: SetResult(VK_L,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecFindPrevious: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindInFiles: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecReplace: SetResult(VK_Q,[SSCtrl],VK_A,[]);
|
||||
ecIncrementalFind: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoLineNumber: SetResult(VK_G,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecFindNextWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindPrevWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpBack: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpForward: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddJumpPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewJumpHistory: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecJumpToPrevError: SetResult(VK_F7,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecJumpToNextError: SetResult(VK_F8,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecOpenFileAtCursor: SetResult(VK_RETURN,[ssCtrl],VK_UNKNOWN,[]);
|
||||
|
||||
// marker
|
||||
ecSetFreeBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPrevBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNextBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker0: SetResult(VK_Q,[ssCtrl],VK_0,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker1: SetResult(VK_Q,[ssCtrl],VK_1,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker2: SetResult(VK_Q,[ssCtrl],VK_2,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker3: SetResult(VK_Q,[ssCtrl],VK_3,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker4: SetResult(VK_Q,[ssCtrl],VK_4,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker5: SetResult(VK_Q,[ssCtrl],VK_5,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker6: SetResult(VK_Q,[ssCtrl],VK_6,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker7: SetResult(VK_Q,[ssCtrl],VK_7,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker8: SetResult(VK_Q,[ssCtrl],VK_8,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker9: SetResult(VK_Q,[ssCtrl],VK_9,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSetMarker0..ecSetMarker9: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker0: SetResult(VK_K,[ssCtrl],VK_0,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker1: SetResult(VK_K,[ssCtrl],VK_1,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker2: SetResult(VK_K,[ssCtrl],VK_2,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker3: SetResult(VK_K,[ssCtrl],VK_3,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker4: SetResult(VK_K,[ssCtrl],VK_4,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker5: SetResult(VK_K,[ssCtrl],VK_5,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker6: SetResult(VK_K,[ssCtrl],VK_6,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker7: SetResult(VK_K,[ssCtrl],VK_7,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker8: SetResult(VK_K,[ssCtrl],VK_8,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker9: SetResult(VK_K,[ssCtrl],VK_9,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoMarker0: SetResult(VK_Q,[ssCtrl],VK_0,[]);
|
||||
ecGotoMarker1: SetResult(VK_Q,[ssCtrl],VK_1,[]);
|
||||
ecGotoMarker2: SetResult(VK_Q,[ssCtrl],VK_2,[]);
|
||||
ecGotoMarker3: SetResult(VK_Q,[ssCtrl],VK_3,[]);
|
||||
ecGotoMarker4: SetResult(VK_Q,[ssCtrl],VK_4,[]);
|
||||
ecGotoMarker5: SetResult(VK_Q,[ssCtrl],VK_5,[]);
|
||||
ecGotoMarker6: SetResult(VK_Q,[ssCtrl],VK_6,[]);
|
||||
ecGotoMarker7: SetResult(VK_Q,[ssCtrl],VK_7,[]);
|
||||
ecGotoMarker8: SetResult(VK_Q,[ssCtrl],VK_8,[]);
|
||||
ecGotoMarker9: SetResult(VK_Q,[ssCtrl],VK_9,[]);
|
||||
ecSetMarker0..ecSetMarker9: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMarker0: SetResult(VK_K,[ssCtrl],VK_0,[]);
|
||||
ecToggleMarker1: SetResult(VK_K,[ssCtrl],VK_1,[]);
|
||||
ecToggleMarker2: SetResult(VK_K,[ssCtrl],VK_2,[]);
|
||||
ecToggleMarker3: SetResult(VK_K,[ssCtrl],VK_3,[]);
|
||||
ecToggleMarker4: SetResult(VK_K,[ssCtrl],VK_4,[]);
|
||||
ecToggleMarker5: SetResult(VK_K,[ssCtrl],VK_5,[]);
|
||||
ecToggleMarker6: SetResult(VK_K,[ssCtrl],VK_6,[]);
|
||||
ecToggleMarker7: SetResult(VK_K,[ssCtrl],VK_7,[]);
|
||||
ecToggleMarker8: SetResult(VK_K,[ssCtrl],VK_8,[]);
|
||||
ecToggleMarker9: SetResult(VK_K,[ssCtrl],VK_9,[]);
|
||||
|
||||
// codetools
|
||||
ecAutoCompletion: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecWordCompletion: SetResult(VK_W,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCompleteCode: SetResult(VK_C,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecIdentCompletion: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecShowCodeContext: SetResult(VK_SPACE,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecExtractProc: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindIdentifierRefs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRenameIdentifier: SetResult(VK_E,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInvertAssignment: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSyntaxCheck: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGuessUnclosedBlock: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGuessMisplacedIFDEF: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConvertDFM2LFM: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCheckLFM: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAutoCompletion: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecWordCompletion: SetResult(VK_W,[ssShift,ssCtrl],VK_UNKNOWN,[]);
|
||||
ecCompleteCode: SetResult(VK_C,[ssShift,ssCtrl],VK_UNKNOWN,[]);
|
||||
ecIdentCompletion: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecShowCodeContext: SetResult(VK_SPACE,[ssShift,ssCtrl],VK_UNKNOWN,[]);
|
||||
ecExtractProc: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindIdentifierRefs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRenameIdentifier: SetResult(VK_E,[ssShift,ssCtrl],VK_UNKNOWN,[]);
|
||||
ecInvertAssignment: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSyntaxCheck: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGuessUnclosedBlock: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGuessMisplacedIFDEF: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConvertDFM2LFM: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCheckLFM: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConvertDelphiUnit: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConvertDelphiProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConvertDelphiPackage: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConvertEncoding: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindProcedureDefinition: SetResult(VK_UP,[ssShift,SSCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindProcedureMethod: SetResult(VK_DOWN,[ssShift,SSCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindDeclaration: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindBlockOtherEnd: SetResult(VK_Q,[ssCtrl],VK_K,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindBlockStart: SetResult(VK_Q,[ssCtrl],VK_B,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoIncludeDirective: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindProcedureDefinition: SetResult(VK_UP,[ssShift,SSCtrl],VK_UNKNOWN,[]);
|
||||
ecFindProcedureMethod: SetResult(VK_DOWN,[ssShift,SSCtrl],VK_UNKNOWN,[]);
|
||||
ecFindDeclaration: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecFindBlockOtherEnd: SetResult(VK_Q,[ssCtrl],VK_K,[]);
|
||||
ecFindBlockStart: SetResult(VK_Q,[ssCtrl],VK_B,[]);
|
||||
ecGotoIncludeDirective: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecShowAbstractMethods: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRemoveEmptyMethods: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// source notebook
|
||||
ecNextEditor: SetResult(VK_F6,[],VK_UNKNOWN,[],VK_TAB, [ssCtrl], VK_UNKNOWN, []);
|
||||
ecPrevEditor: SetResult(VK_F6,[ssShift],VK_UNKNOWN,[],VK_TAB, [ssShift,ssCtrl], VK_UNKNOWN, []);
|
||||
ecResetDebugger: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleBreakPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMoveEditorLeft: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMoveEditorRight: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMoveEditorLeftmost: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMoveEditorRightmost: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecResetDebugger: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleBreakPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMoveEditorLeft: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
ecMoveEditorRight: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
ecMoveEditorLeftmost: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
ecMoveEditorRightmost: SetResult(VK_UNKNOWN, [], VK_UNKNOWN, []);
|
||||
|
||||
ecNextSharedEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPrevSharedEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -904,211 +911,212 @@ begin
|
||||
ecCopyEditorPrevWindow: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCopyEditorNewWindow: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
ecGotoEditor1: SetResult(VK_1,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor2: SetResult(VK_2,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor3: SetResult(VK_3,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor4: SetResult(VK_4,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor5: SetResult(VK_5,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor6: SetResult(VK_6,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor7: SetResult(VK_7,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor8: SetResult(VK_8,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor9: SetResult(VK_9,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor0: SetResult(VK_0,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecGotoEditor1: SetResult(VK_1,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor2: SetResult(VK_2,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor3: SetResult(VK_3,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor4: SetResult(VK_4,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor5: SetResult(VK_5,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor6: SetResult(VK_6,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor7: SetResult(VK_7,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor8: SetResult(VK_8,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor9: SetResult(VK_9,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecGotoEditor0: SetResult(VK_0,[ssAlt],VK_UNKNOWN,[]);
|
||||
|
||||
ecLockEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
EcFoldLevel1: SetResult(VK_1,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel2: SetResult(VK_2,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel3: SetResult(VK_3,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel4: SetResult(VK_4,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel5: SetResult(VK_5,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel6: SetResult(VK_6,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel7: SetResult(VK_7,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel8: SetResult(VK_8,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel9: SetResult(VK_9,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel0: SetResult(VK_0,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldCurrent: SetResult(VK_OEM_PLUS,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcUnFoldCurrent: SetResult(VK_OEM_MINUS,[ssAlt,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcToggleMarkupWord: SetResult(VK_M,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
EcFoldLevel1: SetResult(VK_1,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel2: SetResult(VK_2,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel3: SetResult(VK_3,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel4: SetResult(VK_4,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel5: SetResult(VK_5,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel6: SetResult(VK_6,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel7: SetResult(VK_7,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel8: SetResult(VK_8,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel9: SetResult(VK_9,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldLevel0: SetResult(VK_0,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcFoldCurrent: SetResult(VK_OEM_PLUS,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcUnFoldCurrent: SetResult(VK_OEM_MINUS,[ssAlt,ssShift],VK_UNKNOWN,[]);
|
||||
EcToggleMarkupWord: SetResult(VK_M,[ssAlt],VK_UNKNOWN,[]);
|
||||
|
||||
// file menu
|
||||
ecNew: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewUnit: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewForm: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpen: SetResult(VK_F3,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRevert: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSave: SetResult(VK_F2,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSaveAs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSaveAll: SetResult(VK_F2,[ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecClose: SetResult(VK_F3,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCloseAll: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCleanDirectory: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRestart: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecQuit: SetResult(VK_X,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNew: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewUnit: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewForm: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpen: SetResult(VK_F3,[],VK_UNKNOWN,[]);
|
||||
ecRevert: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSave: SetResult(VK_F2,[],VK_UNKNOWN,[]);
|
||||
ecSaveAs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSaveAll: SetResult(VK_F2,[ssShift],VK_UNKNOWN,[]);
|
||||
ecClose: SetResult(VK_F3,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecCloseAll: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCleanDirectory: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRestart: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecQuit: SetResult(VK_X,[ssAlt],VK_UNKNOWN,[]);
|
||||
|
||||
// view menu
|
||||
ecToggleObjectInsp: SetResult(VK_F11,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleSourceEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCodeExpl: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleFPDocEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMessages: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleSearchResults: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleWatches: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleBreakPoints: SetResult(VK_F8,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleLocals: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCallStack: SetResult(VK_F3,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleRegisters: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleAssembler: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleDebugEvents: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleDebuggerOut: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewUnitDependencies: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewUnitInfo: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleFormUnit: SetResult(VK_F12,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewAnchorEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCodeBrowser: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleRestrictionBrowser: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCompPalette: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleIDESpeedBtns: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleObjectInsp: SetResult(VK_F11,[],VK_UNKNOWN,[]);
|
||||
ecToggleSourceEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCodeExpl: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleFPDocEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleMessages: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleSearchResults: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleWatches: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleBreakPoints: SetResult(VK_F8,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecToggleLocals: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCallStack: SetResult(VK_F3,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecToggleRegisters: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleAssembler: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleDebugEvents: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleDebuggerOut: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewUnitDependencies: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewUnitInfo: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleFormUnit: SetResult(VK_F12,[],VK_UNKNOWN,[]);
|
||||
ecViewAnchorEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCodeBrowser: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleRestrictionBrowser: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCompPalette: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleIDESpeedBtns: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// project menu
|
||||
ecNewProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewProjectFromFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenProject: SetResult(VK_F11,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCloseProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSaveProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSaveProjectAs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPublishProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecProjectInspector: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddCurUnitToProj: SetResult(VK_F11,[ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRemoveFromProj: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewProjectUnits: SetResult(VK_F12,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewProjectForms: SetResult(VK_F12,[ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewProjectSource: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecProjectOptions: SetResult(VK_F11,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewProjectFromFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenProject: SetResult(VK_F11,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecCloseProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSaveProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSaveProjectAs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPublishProject: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecProjectInspector: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddCurUnitToProj: SetResult(VK_F11,[ssShift],VK_UNKNOWN,[]);
|
||||
ecRemoveFromProj: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewProjectUnits: SetResult(VK_F12,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecViewProjectForms: SetResult(VK_F12,[ssShift],VK_UNKNOWN,[]);
|
||||
ecViewProjectSource: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecProjectOptions: SetResult(VK_F11,[ssShift,ssCtrl],VK_UNKNOWN,[]);
|
||||
|
||||
// run menu
|
||||
ecCompile: SetResult(VK_F9,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBuild: SetResult(VK_F9,[ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecQuickCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAbortBuild: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRun: SetResult(VK_F9,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPause: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecShowExecutionPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecStepInto: SetResult(VK_F7,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecStepOver: SetResult(VK_F8,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecStepIntoInstr: SetResult(VK_F7,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecStepOverInstr: SetResult(VK_F8,[ssAlt],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecStepOut: SetResult(VK_F8,[ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRunToCursor: SetResult(VK_F4,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecStopProgram: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRemoveBreakPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRunParameters: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBuildFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRunFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConfigBuildFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInspect: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEvaluate: SetResult(VK_F4,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddWatch: SetResult(VK_F7,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCompile: SetResult(VK_F9,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecBuild: SetResult(VK_F9,[ssShift],VK_UNKNOWN,[]);
|
||||
ecQuickCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCleanCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAbortBuild: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRun: SetResult(VK_F9,[],VK_UNKNOWN,[]);
|
||||
ecPause: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecShowExecutionPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecStepInto: SetResult(VK_F7,[],VK_UNKNOWN,[]);
|
||||
ecStepOver: SetResult(VK_F8,[],VK_UNKNOWN,[]);
|
||||
ecStepIntoInstr: SetResult(VK_F7,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecStepOverInstr: SetResult(VK_F8,[ssAlt],VK_UNKNOWN,[]);
|
||||
ecStepOut: SetResult(VK_F8,[ssShift],VK_UNKNOWN,[]);
|
||||
ecRunToCursor: SetResult(VK_F4,[],VK_UNKNOWN,[]);
|
||||
ecStopProgram: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRemoveBreakPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRunParameters: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBuildFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRunFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConfigBuildFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecInspect: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEvaluate: SetResult(VK_F4,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecAddWatch: SetResult(VK_F7,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecAddBpSource: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddBpAddress: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// components menu
|
||||
ecNewPackage: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenPackage: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenPackageFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenPackageOfCurUnit: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddCurUnitToPkg: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPackageGraph: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditInstallPkgs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConfigCustomComps: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecNewPackage: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenPackage: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenPackageFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOpenPackageOfCurUnit: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAddCurUnitToPkg: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecPackageGraph: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditInstallPkgs: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConfigCustomComps: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// tools menu
|
||||
ecExtToolSettings: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBuildLazarus: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConfigBuildLazarus: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMakeResourceString: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDiff: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecExtToolSettings: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBuildLazarus: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecConfigBuildLazarus: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecMakeResourceString: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDiff: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// environment menu
|
||||
ecEnvironmentOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRescanFPCSrcDir: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditCodeTemplates: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCodeToolsDefinesEd: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEnvironmentOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRescanFPCSrcDir: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditCodeTemplates: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCodeToolsDefinesEd: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// help menu
|
||||
ecAboutLazarus: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOnlineHelp: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecContextHelp: SetResult(VK_F1,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditContextHelp: SetResult(VK_F1,[ssCtrl,ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecReportingBug: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAboutLazarus: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecOnlineHelp: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecContextHelp: SetResult(VK_F1,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecEditContextHelp: SetResult(VK_F1,[ssCtrl,ssShift],VK_UNKNOWN,[]);
|
||||
ecReportingBug: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
// designer
|
||||
ecDesignerCopy : SetResult(VK_C,[ssCtrl],VK_UNKNOWN,[],VK_Insert,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecDesignerCut : SetResult(VK_X,[ssCtrl],VK_UNKNOWN,[],VK_Delete,[ssShift],VK_UNKNOWN,[]);
|
||||
ecDesignerPaste : SetResult(VK_V,[ssCtrl],VK_UNKNOWN,[],VK_Insert,[ssShift],VK_UNKNOWN,[]);
|
||||
ecDesignerSelectParent: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDesignerMoveToFront : SetResult(VK_PRIOR,[ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDesignerMoveToBack : SetResult(VK_NEXT,[ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDesignerForwardOne : SetResult(VK_PRIOR,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDesignerBackOne : SetResult(VK_NEXT,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecDesignerSelectParent: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[]);
|
||||
ecDesignerMoveToFront : SetResult(VK_PRIOR,[ssShift],VK_UNKNOWN,[]);
|
||||
ecDesignerMoveToBack : SetResult(VK_NEXT,[ssShift],VK_UNKNOWN,[]);
|
||||
ecDesignerForwardOne : SetResult(VK_PRIOR,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecDesignerBackOne : SetResult(VK_NEXT,[ssCtrl],VK_UNKNOWN,[]);
|
||||
|
||||
else
|
||||
begin
|
||||
SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
case TSynPluginTemplateEdit.ConvertCommandToBase(Command) of
|
||||
// Edit template
|
||||
ecSynPTmplEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSelRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellHome: SetResult(VK_HOME, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellEnd: SetResult(VK_END, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellSelect: SetResult(VK_A, [ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdFinish: SetResult(VK_RETURN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSelRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellHome: SetResult(VK_HOME, [],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellEnd: SetResult(VK_END, [],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellSelect: SetResult(VK_A, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdFinish: SetResult(VK_RETURN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[]);
|
||||
end;
|
||||
case TSynPluginTemplateEdit.ConvertCommandToBaseOff(Command) of
|
||||
// Edit template
|
||||
ecSynPTmplEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSelRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellHome: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellEnd: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellSelect: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdFinish: SetResult(VK_RETURN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdNextCellSelRotate: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellHome: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellEnd: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdCellSelect: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdFinish: SetResult(VK_RETURN,[],VK_UNKNOWN,[]);
|
||||
ecSynPTmplEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[]);
|
||||
end;
|
||||
case TSynPluginSyncroEdit.ConvertCommandToBase(Command) of
|
||||
// SyncroEdit
|
||||
ecSynPSyncroEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellHome: SetResult(VK_HOME, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellEnd: SetResult(VK_END, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellSelect: SetResult(VK_A, [ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellHome: SetResult(VK_HOME, [],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellEnd: SetResult(VK_END, [],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellSelect: SetResult(VK_A, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[]);
|
||||
end;
|
||||
case TSynPluginSyncroEdit.ConvertCommandToBaseOff(Command) of
|
||||
// SyncroEdit
|
||||
ecSynPSyncroEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellHome: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellEnd: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellSelect: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdNextCell: SetResult(VK_RIGHT,[ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdNextCellSel: SetResult(VK_TAB, [], VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCell: SetResult(VK_LEFT, [ssCtrl],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdPrevCellSel: SetResult(VK_TAB, [ssShift],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellHome: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellEnd: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdCellSelect: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdEscape: SetResult(VK_ESCAPE,[],VK_UNKNOWN,[]);
|
||||
end;
|
||||
case TSynPluginSyncroEdit.ConvertCommandToBaseSel(Command) of
|
||||
// SyncroEdit, during selection
|
||||
ecSynPSyncroEdStart: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSynPSyncroEdStart: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -1316,6 +1324,13 @@ procedure GetDefaultKeyForMacOSXScheme(Command: word; var TheKeyA, TheKeyB: TIDE
|
||||
TheKeyB:=IDEShortCut(NewKey2A,NewShift2A,NewKey2B,NewShift2B);
|
||||
end;
|
||||
|
||||
procedure SetResult2(
|
||||
NewKey1A: word; NewShift1A: TShiftState;
|
||||
NewKey1B: word; NewShift1B: TShiftState);
|
||||
begin
|
||||
SetResult2(NewKey1A,NewShift1A,NewKey1B,NewShift1B,VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
end;
|
||||
|
||||
begin
|
||||
case Command of
|
||||
// moving
|
||||
@ -1354,12 +1369,12 @@ begin
|
||||
ecSelectAll: SetResult(VK_A,[ssMeta],VK_UNKNOWN,[]);
|
||||
ecSelectToBrace: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectCodeBlock: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectWord: SetResult2(VK_K,[SSCtrl],VK_T,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectLine: SetResult2(VK_K,[SSCtrl],VK_L,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectWord: SetResult2(VK_K,[SSCtrl],VK_T,[]);
|
||||
ecSelectLine: SetResult2(VK_K,[SSCtrl],VK_L,[]);
|
||||
ecSelectParagraph: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionUpperCase: SetResult2(VK_K,[SSCtrl],VK_N,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionLowerCase: SetResult2(VK_K,[SSCtrl],VK_O,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionSwapCase: SetResult2(VK_K,[SSCtrl],VK_P,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecSelectionUpperCase: SetResult2(VK_K,[SSCtrl],VK_N,[]);
|
||||
ecSelectionLowerCase: SetResult2(VK_K,[SSCtrl],VK_O,[]);
|
||||
ecSelectionSwapCase: SetResult2(VK_K,[SSCtrl],VK_P,[]);
|
||||
ecSelectionTabs2Spaces: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionEnclose: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionComment: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
@ -1372,8 +1387,8 @@ begin
|
||||
ecBlockSetBegin : SetResult2(VK_K,[ssCtrl],VK_B,[], VK_K,[ssCtrl],VK_B,[ssCtrl]);
|
||||
ecBlockSetEnd : SetResult2(VK_K,[ssCtrl],VK_K,[], VK_K,[ssCtrl],VK_K,[ssCtrl]);
|
||||
ecBlockToggleHide : SetResult2(VK_K,[ssCtrl],VK_H,[], VK_K,[ssCtrl],VK_H,[ssCtrl]);
|
||||
ecBlockHide : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockShow : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockHide : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockShow : SetResult2(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecBlockMove : SetResult2(VK_K,[ssCtrl],VK_V,[], VK_K,[ssCtrl],VK_V,[ssCtrl]);
|
||||
ecBlockCopy : SetResult2(VK_K,[ssCtrl],VK_C,[], VK_K,[ssCtrl],VK_C,[ssCtrl]);
|
||||
ecBlockDelete : SetResult2(VK_K,[ssCtrl],VK_Y,[], VK_K,[ssCtrl],VK_Y,[ssCtrl]);
|
||||
@ -1615,6 +1630,7 @@ begin
|
||||
ecCompile: SetResult(VK_B,[ssMeta],VK_UNKNOWN,[]);
|
||||
ecBuild: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecQuickCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCleanCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAbortBuild: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRun: SetResult(VK_R,[ssMeta],VK_UNKNOWN,[]);
|
||||
ecPause: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -1781,6 +1797,7 @@ begin
|
||||
ecCompile: SetResult(VK_F9,[ssCtrl],VK_F9,[ssCtrl,ssMeta]);
|
||||
ecBuild: SetResult(VK_F9,[ssShift],VK_UNKNOWN,[]);
|
||||
ecQuickCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCleanCompile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecAbortBuild: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRun: SetResult(VK_F9,[],VK_F9,[ssMeta]);
|
||||
ecPause: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -2154,6 +2171,7 @@ begin
|
||||
ecCompile : Result:= srkmecCompile;
|
||||
ecBuild : Result:= srkmecBuild;
|
||||
ecQuickCompile : Result:= srkmecQuickCompile;
|
||||
ecCleanCompile : Result:= srkmecCleanCompile;
|
||||
ecAbortBuild : Result:= srkmecAbortBuild;
|
||||
ecRun : Result:= srkmecRun;
|
||||
ecPause : Result:= srkmecPause;
|
||||
@ -2802,6 +2820,7 @@ begin
|
||||
AddDefault(C, 'Compile project/program', lisKMCompileProjectProgram, ecCompile);
|
||||
AddDefault(C, 'Build project/program', lisKMBuildProjectProgram, ecBuild);
|
||||
AddDefault(C, 'Quick compile, no linking', lisKMQuickCompileNoLinking, ecQuickCompile);
|
||||
AddDefault(C, 'Clean up and compile project/program', lisKMCleanCompile, ecCleanCompile);
|
||||
AddDefault(C, 'Abort building', lisKMAbortBuilding, ecAbortBuild);
|
||||
AddDefault(C, 'Run program', lisKMRunProgram, ecRun);
|
||||
AddDefault(C, 'Pause program', lisKMPauseProgram, ecPause);
|
||||
|
@ -347,6 +347,7 @@ resourcestring
|
||||
lisBFBuildCommand = 'Build Command';
|
||||
lisMenuBuild = 'Build';
|
||||
lisMenuQuickCompile = 'Quick compile';
|
||||
lisMenuCleanCompile = 'Clean compile';
|
||||
lisMenuAbortBuild = 'Abort Build';
|
||||
lisMenuProjectRun = '&Run';
|
||||
lisBFAlwaysBuildBeforeRun = 'Always Build before Run';
|
||||
@ -2681,6 +2682,7 @@ resourcestring
|
||||
srkmecCompile = 'compile program/project';
|
||||
srkmecBuild = 'build program/project';
|
||||
srkmecQuickCompile = 'quick compile, no linking';
|
||||
srkmecCleanCompile = 'clean up and compile';
|
||||
srkmecAbortBuild = 'abort build';
|
||||
srkmecRun = 'run program';
|
||||
srkmecPause = 'pause program';
|
||||
@ -2772,6 +2774,7 @@ resourcestring
|
||||
lisKMCompileProjectProgram = 'Compile project/program';
|
||||
lisKMBuildProjectProgram = 'Build project/program';
|
||||
lisKMQuickCompileNoLinking = 'Quick compile, no linking';
|
||||
lisKMCleanCompile = 'Clean up and compile project/program';
|
||||
lisKMAbortBuilding = 'Abort building';
|
||||
lisKMRunProgram = 'Run program';
|
||||
lisKMPauseProgram = 'Pause program';
|
||||
@ -5337,6 +5340,13 @@ resourcestring
|
||||
lisEventLogSaveToFile = 'Save Events to File';
|
||||
lisEventsLogAddComment = 'Add Comment ...';
|
||||
lisEventsLogAddComment2 = 'Add Comment';
|
||||
lisCleanUpAndBuildProject = 'Clean up and build project';
|
||||
lisProjectOutputDirectory = 'Project output directory';
|
||||
lisProjectSourceDirectories = 'Project source directories';
|
||||
lisPackageOutputDirectories = 'Package output directories';
|
||||
lisPackageSourceDirectories = 'Package source directories';
|
||||
lisTheseFilesWillBeDeleted = 'These files will be deleted:';
|
||||
lisBuildProject = 'Build project';
|
||||
|
||||
implementation
|
||||
|
||||
|
11
ide/main.pp
11
ide/main.pp
@ -79,7 +79,7 @@ uses
|
||||
// protocol
|
||||
IDEProtocol,
|
||||
// compile
|
||||
Compiler, CompilerOptions, CheckCompilerOpts,
|
||||
Compiler, CompilerOptions, CheckCompilerOpts, BuildProjectDlg,
|
||||
ApplicationBundle, ImExportCompilerOpts, InfoBuild,
|
||||
// projects
|
||||
ProjectResources, Project, ProjectDefs, NewProjectDlg,
|
||||
@ -318,6 +318,7 @@ type
|
||||
procedure mnuCompileProjectClicked(Sender: TObject);
|
||||
procedure mnuBuildProjectClicked(Sender: TObject);
|
||||
procedure mnuQuickCompileProjectClicked(Sender: TObject);
|
||||
procedure mnuCleanCompileProjectClicked(Sender: TObject);
|
||||
procedure mnuAbortBuildProjectClicked(Sender: TObject);
|
||||
procedure mnuRunProjectClicked(Sender: TObject);
|
||||
procedure mnuPauseProjectClicked(Sender: TObject);
|
||||
@ -2600,6 +2601,7 @@ begin
|
||||
itmRunMenuCompile.OnClick := @mnuCompileProjectClicked;
|
||||
itmRunMenuBuild.OnClick := @mnuBuildProjectClicked;
|
||||
itmRunMenuQuickCompile.OnClick := @mnuQuickCompileProjectClicked;
|
||||
itmRunMenuCleanCompile.OnClick := @mnuCleanCompileProjectClicked;
|
||||
itmRunMenuAbortBuild.OnClick := @mnuAbortBuildProjectClicked;
|
||||
itmRunMenuRun.OnClick := @mnuRunProjectClicked;
|
||||
itmRunMenuPause.OnClick := @mnuPauseProjectClicked;
|
||||
@ -3214,6 +3216,7 @@ begin
|
||||
end;
|
||||
|
||||
ecBuild: DoBuildProject(crBuild, [pbfCleanCompile, pbfCompileDependenciesClean]);
|
||||
ecCleanCompile: mnuCleanCompileProjectClicked(nil);
|
||||
ecQuickCompile: DoQuickCompile;
|
||||
ecAbortBuild: DoAbortBuild;
|
||||
|
||||
@ -4348,6 +4351,12 @@ begin
|
||||
DoQuickCompile;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuCleanCompileProjectClicked(Sender: TObject);
|
||||
begin
|
||||
if ShowBuildProjectDialog(Project1)<>mrOk then exit;
|
||||
DoBuildProject(crCompile,[]);
|
||||
end;
|
||||
|
||||
Procedure TMainIDE.mnuAbortBuildProjectClicked(Sender: TObject);
|
||||
Begin
|
||||
DoAbortBuild;
|
||||
|
@ -279,6 +279,7 @@ type
|
||||
itmRunMenuCompile: TIDEMenuCommand;
|
||||
itmRunMenuBuild: TIDEMenuCommand;
|
||||
itmRunMenuQuickCompile: TIDEMenuCommand;
|
||||
itmRunMenuCleanCompile: TIDEMenuCommand;
|
||||
itmRunMenuAbortBuild: TIDEMenuCommand;
|
||||
//itmRunnning: TIDEMenuSection;
|
||||
itmRunMenuRun: TIDEMenuCommand;
|
||||
|
@ -671,6 +671,7 @@ begin
|
||||
CreateMenuItem(ParentMI,itmRunMenuCompile,'itmRunMenuCompile',lisMenuCompile,'menu_build');
|
||||
CreateMenuItem(ParentMI,itmRunMenuBuild,'itmRunMenuBuild',lisMenuBuild,'menu_build_all');
|
||||
CreateMenuItem(ParentMI,itmRunMenuQuickCompile,'itmRunMenuQuickCompile',lisMenuQuickCompile,'menu_quick_compile');
|
||||
CreateMenuItem(ParentMI,itmRunMenuCleanCompile,'itmRunMenuCleanCompile',lisMenuCleanCompile,'menu_build'{$IFNDEF EnableCleanBuild},true,false,false{$ENDIF});
|
||||
CreateMenuItem(ParentMI,itmRunMenuAbortBuild,'itmRunMenuAbortBuild',lisMenuAbortBuild,'menu_abort_build');
|
||||
|
||||
CreateMenuSeparatorSection(mnuRun,itmRunnning,'itmRunnning');
|
||||
|
@ -862,7 +862,7 @@ type
|
||||
destructor Destroy; override;
|
||||
class function GetInstance: TAbstractIDEOptions; override;
|
||||
class function GetGroupCaption: string; override;
|
||||
procedure Clear;
|
||||
procedure Clear; override;
|
||||
procedure BeginUpdate(Change: boolean);
|
||||
procedure EndUpdate;
|
||||
procedure UnitModified(AnUnitInfo: TUnitInfo);
|
||||
@ -2730,6 +2730,10 @@ function TProject.WriteProject(ProjectWriteFlags: TProjectWriteFlags;
|
||||
ActiveWindowIndexAtStart,-1);
|
||||
aConfig.SetDeleteValue('SkipCheckLCLInterfaces/Value',
|
||||
FSkipCheckLCLInterfaces,false);
|
||||
aConfig.SetDeleteValue(Path+'Build/CleanOutputFileMask/Value',
|
||||
CleanOutputFileMask,DefaultProjectCleanOutputFileMask);
|
||||
aConfig.SetDeleteValue(Path+'Build/CleanSourcesFileMask/Value',
|
||||
CleanSourcesFileMask,DefaultProjectCleanSourcesFileMask);
|
||||
|
||||
if (not (pfSaveOnlyProjectUnits in Flags))
|
||||
and (not (pwfSkipJumpPoints in ProjectWriteFlags)) then begin
|
||||
@ -2839,7 +2843,7 @@ begin
|
||||
SaveFlags(XMLConfig,Path);
|
||||
xmlconfig.SetDeleteValue(Path+'General/SessionStorage/Value',
|
||||
ProjectSessionStorageNames[SessionStorage],
|
||||
ProjectSessionStorageNames[pssInProjectInfo]);
|
||||
ProjectSessionStorageNames[DefaultProjectSessionStorage]);
|
||||
|
||||
// properties
|
||||
xmlconfig.SetValue(Path+'General/MainUnit/Value', MainUnitID); // always write a value to support opening by older IDEs (<=0.9.28). This can be changed in a few released.
|
||||
@ -2874,7 +2878,7 @@ begin
|
||||
// save the Publish Options
|
||||
PublishOptions.SaveToXMLConfig(xmlconfig,Path+'PublishOptions/',fCurStorePathDelim);
|
||||
|
||||
// save the Run Parameter Options
|
||||
// save the Run and Build parameter options
|
||||
RunParameterOptions.Save(xmlconfig,Path,fCurStorePathDelim);
|
||||
|
||||
// save dependencies
|
||||
@ -3266,6 +3270,10 @@ var
|
||||
FSkipCheckLCLInterfaces:=xmlconfig.GetValue(
|
||||
Path+'SkipCheckLCLInterfaces/Value',false);
|
||||
FJumpHistory.LoadFromXMLConfig(xmlconfig,Path+'');
|
||||
CleanOutputFileMask:=xmlconfig.GetValue(Path+'Build/CleanOutputFileMask/Value',
|
||||
DefaultProjectCleanOutputFileMask);
|
||||
CleanSourcesFileMask:=xmlconfig.GetValue(Path+'Build/CleanSourcesFileMask/Value',
|
||||
DefaultProjectCleanSourcesFileMask);
|
||||
|
||||
// load custom session data
|
||||
LoadStringToStringTree(xmlconfig,CustomSessionData,Path+'CustomSessionData/');
|
||||
@ -3369,7 +3377,7 @@ begin
|
||||
|
||||
SessionStorage:=StrToProjectSessionStorage(
|
||||
XMLConfig.GetValue(Path+'General/SessionStorage/Value',
|
||||
ProjectSessionStorageNames[pssInProjectInfo]));
|
||||
ProjectSessionStorageNames[DefaultProjectSessionStorage]));
|
||||
//DebugLn('TProject.ReadProject SessionStorage=',dbgs(ord(SessionStorage)),' ProjectSessionFile=',ProjectSessionFile);
|
||||
|
||||
// load properties
|
||||
@ -3419,7 +3427,7 @@ begin
|
||||
LoadPkgDependencyList(XMLConfig,Path+'RequiredPackages/',
|
||||
FFirstRequiredDependency,pdlRequires,Self,true,false);
|
||||
|
||||
// load the Run Parameter Options
|
||||
// load the Run and Build parameter Options
|
||||
RunParameterOptions.Load(xmlconfig,Path,fPathDelimChanged);
|
||||
|
||||
// load the Publish Options
|
||||
@ -3676,6 +3684,7 @@ procedure TProject.Clear;
|
||||
var i:integer;
|
||||
begin
|
||||
BeginUpdate(true);
|
||||
inherited Clear;
|
||||
|
||||
// break and free removed dependencies
|
||||
while FFirstRemovedDependency<>nil do
|
||||
|
@ -187,7 +187,7 @@ const
|
||||
ecToggleDebugEvents = ecFirstLazarus + 327;
|
||||
ecViewPseudoTerminal = ecFirstLazarus + 328;
|
||||
ecViewThreads = ecFirstLazarus + 329;
|
||||
ecViewHistory = ecFirstLazarus + 450;
|
||||
ecViewHistory = ecFirstLazarus + 460;
|
||||
|
||||
// sourcenotebook commands
|
||||
ecNextEditor = ecFirstLazarus + 330;
|
||||
@ -233,32 +233,33 @@ const
|
||||
ecCompile = ecFirstLazarus + 400;
|
||||
ecBuild = ecFirstLazarus + 401;
|
||||
ecQuickCompile = ecFirstLazarus + 402;
|
||||
ecAbortBuild = ecFirstLazarus + 403;
|
||||
ecRun = ecFirstLazarus + 404;
|
||||
ecPause = ecFirstLazarus + 405;
|
||||
ecStepInto = ecFirstLazarus + 406;
|
||||
ecStepOver = ecFirstLazarus + 407;
|
||||
ecRunToCursor = ecFirstLazarus + 408;
|
||||
ecStopProgram = ecFirstLazarus + 409;
|
||||
ecResetDebugger = ecFirstLazarus + 410;
|
||||
ecBuildLazarus = ecFirstLazarus + 411;
|
||||
ecBuildFile = ecFirstLazarus + 412;
|
||||
ecRunFile = ecFirstLazarus + 413;
|
||||
ecConfigBuildFile = ecFirstLazarus + 414;
|
||||
ecInspect = ecFirstLazarus + 415;
|
||||
ecEvaluate = ecFirstLazarus + 416;
|
||||
ecAddWatch = ecFirstLazarus + 417;
|
||||
ecShowExecutionPoint = ecFirstLazarus + 418;
|
||||
ecStepOut = ecFirstLazarus + 419;
|
||||
ecStepIntoInstr = ecFirstLazarus + 420;
|
||||
ecStepOverInstr = ecFirstLazarus + 421;
|
||||
ecStepIntoContext = ecFirstLazarus + 422;
|
||||
ecStepOverContext = ecFirstLazarus + 423;
|
||||
ecBuildAdvancedLazarus = ecFirstLazarus + 424;
|
||||
ecAddBpSource = ecFirstLazarus + 425;
|
||||
ecAddBpAddress = ecFirstLazarus + 426;
|
||||
ecCleanCompile = ecFirstLazarus + 403;
|
||||
ecAbortBuild = ecFirstLazarus + 404;
|
||||
ecRun = ecFirstLazarus + 410;
|
||||
ecPause = ecFirstLazarus + 411;
|
||||
ecStepInto = ecFirstLazarus + 412;
|
||||
ecStepOver = ecFirstLazarus + 413;
|
||||
ecRunToCursor = ecFirstLazarus + 414;
|
||||
ecStopProgram = ecFirstLazarus + 415;
|
||||
ecResetDebugger = ecFirstLazarus + 416;
|
||||
ecBuildLazarus = ecFirstLazarus + 420;
|
||||
ecBuildAdvancedLazarus = ecFirstLazarus + 421;
|
||||
ecBuildFile = ecFirstLazarus + 431;
|
||||
ecRunFile = ecFirstLazarus + 432;
|
||||
ecConfigBuildFile = ecFirstLazarus + 433;
|
||||
ecInspect = ecFirstLazarus + 440;
|
||||
ecEvaluate = ecFirstLazarus + 441;
|
||||
ecAddWatch = ecFirstLazarus + 442;
|
||||
ecShowExecutionPoint = ecFirstLazarus + 443;
|
||||
ecStepOut = ecFirstLazarus + 444;
|
||||
ecStepIntoInstr = ecFirstLazarus + 445;
|
||||
ecStepOverInstr = ecFirstLazarus + 446;
|
||||
ecStepIntoContext = ecFirstLazarus + 447;
|
||||
ecStepOverContext = ecFirstLazarus + 448;
|
||||
ecAddBpSource = ecFirstLazarus + 449;
|
||||
ecAddBpAddress = ecFirstLazarus + 450;
|
||||
|
||||
// 450++ : used for ecViewHistory (debugger)
|
||||
// 460++ : used for ecViewHistory (debugger)
|
||||
|
||||
// project menu
|
||||
ecNewProject = ecFirstLazarus + 500;
|
||||
|
@ -231,9 +231,7 @@ type
|
||||
procedure(CompOpts: TLazCompilerOptions) of object;
|
||||
var
|
||||
CheckCompOptsAndMainSrcForNewUnitEvent: TCheckCompOptsAndMainSrcForNewUnitEvent; // set by the IDE
|
||||
|
||||
type
|
||||
TLazProject = class;
|
||||
|
||||
{ TProjectDescriptor - Template for initializing new projects }
|
||||
|
||||
@ -260,6 +258,13 @@ type
|
||||
);
|
||||
TProjectSessionStorages = set of TProjectSessionStorage;
|
||||
|
||||
const
|
||||
DefaultProjectCleanOutputFileMask = '*';
|
||||
DefaultProjectCleanSourcesFileMask = '*.ppu;*.ppl;*.o;*.or;*.a;*.so;*.dll';
|
||||
DefaultProjectSessionStorage = pssInProjectInfo;
|
||||
|
||||
type
|
||||
TLazProject = class;
|
||||
{ TProjectDescriptor
|
||||
- to show an option dialog to the user override the DoInitDescriptor
|
||||
- to initialize project compiler settings and paths override InitProject
|
||||
@ -329,6 +334,8 @@ type
|
||||
|
||||
TLazProject = class(TAbstractIDEProjectOptions)
|
||||
private
|
||||
FCleanOutputFileMask: string;
|
||||
FCleanSourcesFileMask: string;
|
||||
FCustomData: TStringToStringTree;
|
||||
FCustomSessionData: TStringToStringTree;
|
||||
FExecutableType: TProjectExecutableType;
|
||||
@ -338,6 +345,8 @@ type
|
||||
FTitle: String;
|
||||
FSessionStorage: TProjectSessionStorage;
|
||||
FLazDocPaths: string;
|
||||
procedure SetCleanOutputFileMask(const AValue: string);
|
||||
procedure SetCleanSourcesFileMask(const AValue: string);
|
||||
procedure SetLazDocPaths(const AValue: string);
|
||||
protected
|
||||
FLazCompilerOptions: TLazCompilerOptions;
|
||||
@ -359,6 +368,7 @@ type
|
||||
public
|
||||
constructor Create(ProjectDescription: TProjectDescriptor); virtual;
|
||||
destructor Destroy; override;
|
||||
procedure Clear; virtual;
|
||||
function CreateProjectFile(const Filename: string
|
||||
): TLazProjectFile; virtual; abstract;
|
||||
procedure AddFile(ProjectFile: TLazProjectFile;
|
||||
@ -399,6 +409,8 @@ type
|
||||
// project session data (not units, data),
|
||||
// units have their own SessionModified
|
||||
property LazDocPaths: string read FLazDocPaths write SetLazDocPaths;
|
||||
property CleanOutputFileMask: string read FCleanOutputFileMask write SetCleanOutputFileMask; // saved in session
|
||||
property CleanSourcesFileMask: string read FCleanSourcesFileMask write SetCleanSourcesFileMask; // saved in session
|
||||
property CustomData: TStringToStringTree read FCustomData;
|
||||
property CustomSessionData: TStringToStringTree read FCustomSessionData;
|
||||
end;
|
||||
@ -976,6 +988,20 @@ begin
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
procedure TLazProject.SetCleanOutputFileMask(const AValue: string);
|
||||
begin
|
||||
if FCleanOutputFileMask=AValue then exit;
|
||||
FCleanOutputFileMask:=AValue;
|
||||
SessionModified:=true;
|
||||
end;
|
||||
|
||||
procedure TLazProject.SetCleanSourcesFileMask(const AValue: string);
|
||||
begin
|
||||
if FCleanSourcesFileMask=AValue then exit;
|
||||
FCleanSourcesFileMask:=AValue;
|
||||
SessionModified:=true;
|
||||
end;
|
||||
|
||||
function TLazProject.GetModified: boolean;
|
||||
begin
|
||||
Result:=fModified;
|
||||
@ -998,7 +1024,9 @@ end;
|
||||
constructor TLazProject.Create(ProjectDescription: TProjectDescriptor);
|
||||
begin
|
||||
inherited Create;
|
||||
FSessionStorage:=pssInProjectInfo;
|
||||
FSessionStorage:=DefaultProjectSessionStorage;
|
||||
FCleanOutputFileMask:=DefaultProjectCleanOutputFileMask;
|
||||
FCleanSourcesFileMask:=DefaultProjectCleanSourcesFileMask;
|
||||
FCustomData:=TStringToStringTree.Create(true);
|
||||
FCustomSessionData:=TStringToStringTree.Create(true);
|
||||
end;
|
||||
@ -1010,6 +1038,18 @@ begin
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TLazProject.Clear;
|
||||
begin
|
||||
FCleanOutputFileMask:=DefaultProjectCleanOutputFileMask;
|
||||
FCleanSourcesFileMask:=DefaultProjectCleanSourcesFileMask;
|
||||
FCustomData.Clear;
|
||||
FCustomSessionData.Clear;
|
||||
FExecutableType:=petNone;
|
||||
FTitle:='';
|
||||
FSessionStorage:=DefaultProjectSessionStorage;
|
||||
FLazDocPaths:='';
|
||||
end;
|
||||
|
||||
function TLazProject.ShortDescription: string;
|
||||
begin
|
||||
if Title<>'' then
|
||||
|
Loading…
Reference in New Issue
Block a user