mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-11 15:36:31 +02:00
* Renamed IDESpotter to IDE scout
git-svn-id: trunk@59264 -
This commit is contained in:
parent
e720b191ee
commit
127ad759f1
16
.gitattributes
vendored
16
.gitattributes
vendored
@ -2093,14 +2093,14 @@ components/ideintf/toolbarintf.pas svneol=native#text/pascal
|
||||
components/ideintf/treeviewpropedit.lfm svneol=native#text/plain
|
||||
components/ideintf/treeviewpropedit.pas svneol=native#text/plain
|
||||
components/ideintf/unitresources.pas svneol=native#text/plain
|
||||
components/idespotter/ReadMe.txt svneol=native#text/plain
|
||||
components/idespotter/frmspotter.lfm svneol=native#text/plain
|
||||
components/idespotter/frmspotter.pas svneol=native#text/plain
|
||||
components/idespotter/idespotter.lpk svneol=native#text/plain
|
||||
components/idespotter/idespotter.pas svneol=native#text/plain
|
||||
components/idespotter/idespotteroptions.lfm svneol=native#text/plain
|
||||
components/idespotter/idespotteroptions.pas svneol=native#text/plain
|
||||
components/idespotter/regidespotter.pas svneol=native#text/plain
|
||||
components/idescout/ReadMe.txt svneol=native#text/plain
|
||||
components/idescout/frmscout.lfm svneol=native#text/plain
|
||||
components/idescout/frmscout.pas svneol=native#text/plain
|
||||
components/idescout/idescout.lpk svneol=native#text/plain
|
||||
components/idescout/idescout.pas svneol=native#text/plain
|
||||
components/idescout/idescoutoptions.lfm svneol=native#text/plain
|
||||
components/idescout/idescoutoptions.pas svneol=native#text/plain
|
||||
components/idescout/regidescout.pas svneol=native#text/plain
|
||||
components/images/examples/README.txt svneol=native#text/plain
|
||||
components/images/examples/imagesexample.lpi svneol=native#text/plain
|
||||
components/images/examples/imagesexample.lpr svneol=native#text/pascal
|
||||
|
@ -8,13 +8,19 @@ Shift-Alt-P on all other platforms.
|
||||
Start typing, and the available commands will be filtered.
|
||||
If you type multiple words, all words must match.
|
||||
|
||||
The list of recent files/packages/projects is also searchable. Using the
|
||||
enter key will open the selected file.
|
||||
|
||||
The list of installed components is also searchable. Using the enter key
|
||||
will drop the selected component on the currently designed form (if any is
|
||||
active) or will select it on the component palette. This is configurable.
|
||||
|
||||
The key combination can be configured in the key options, search for
|
||||
spotter.
|
||||
scout.
|
||||
|
||||
You can set
|
||||
* the color of the matches,
|
||||
* color of shortcut key (and whether it should be shown at all)
|
||||
in the IDE options.
|
||||
* What to search (commands/recent items/components)
|
||||
|
||||
|
||||
Todo: Search recent files/packages
|
@ -1,10 +1,10 @@
|
||||
object SpotterForm: TSpotterForm
|
||||
object IDEScoutForm: TIDEScoutForm
|
||||
Left = 404
|
||||
Height = 232
|
||||
Top = 195
|
||||
Width = 497
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'Spotter'
|
||||
Caption = 'IDE Scout'
|
||||
ClientHeight = 232
|
||||
ClientWidth = 497
|
||||
FormStyle = fsStayOnTop
|
@ -1,4 +1,4 @@
|
||||
{ Form for the spotter window
|
||||
{ Form for the scout window
|
||||
|
||||
Copyright (C) 2018 Michael van Canneyt michael@freepascal.org
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
along with this library; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA.
|
||||
}
|
||||
unit frmspotter;
|
||||
unit frmscout;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
@ -38,8 +38,8 @@ uses
|
||||
StdCtrls, EditBtn, IDECommands, LazIDEIntf, Types, LCLType, IDEOptionsIntf, IDEOptEditorIntf;
|
||||
|
||||
Type
|
||||
TSpotHighlight = (shCommands,shRecentProjects,shRecentFiles,shRecentPackages,shComponents);
|
||||
TSpotHighlights = set of TSpotHighlight;
|
||||
TScoutTerrain = (stCommands,stRecentProjects,stRecentFiles,stRecentPackages,stComponents);
|
||||
TScoutTerrains = set of TScoutTerrain;
|
||||
|
||||
{ TSearchItem }
|
||||
TMatchPos = Array of Integer;
|
||||
@ -98,9 +98,9 @@ Type
|
||||
end;
|
||||
|
||||
|
||||
{ TSpotterForm }
|
||||
{ TIDEScoutForm }
|
||||
|
||||
TSpotterForm = class(TForm)
|
||||
TIDEScoutForm = class(TForm)
|
||||
ESearch: TEditButton;
|
||||
LBMatches: TListBox;
|
||||
procedure ECommandChange(Sender: TObject);
|
||||
@ -118,7 +118,7 @@ Type
|
||||
);
|
||||
private
|
||||
FRefresh,
|
||||
FHighlights: TSpotHighlights;
|
||||
FHighlights: TScoutTerrains;
|
||||
FKeyStrokeColor: TColor;
|
||||
FMatchColor: TColor;
|
||||
FShowCategory: Boolean;
|
||||
@ -144,26 +144,26 @@ Type
|
||||
Property ShowShortCutKey : Boolean Read FShowShortCutKey Write FShowShortCutKey;
|
||||
property KeyStrokeColor : TColor Read FKeyStrokeColor Write FKeyStrokeColor;
|
||||
property MatchColor : TColor Read FMatchColor Write FMatchColor;
|
||||
Property Highlights : TSpotHighlights Read FHighlights Write FHighlights;
|
||||
Property Highlights : TScoutTerrains Read FHighlights Write FHighlights;
|
||||
end;
|
||||
|
||||
|
||||
Const
|
||||
AllSpots = [shCommands,shRecentProjects,shRecentFiles,shRecentPackages];
|
||||
AllTerrains = [stCommands,stRecentProjects,stRecentFiles,stRecentPackages];
|
||||
|
||||
Var
|
||||
SpotHighlights : TSpotHighlights = AllSpots;
|
||||
ScoutTerrains : TScoutTerrains = AllTerrains;
|
||||
ShowCmdCategory : Boolean = True;
|
||||
ShowShortCutKey : Boolean = True;
|
||||
MatchColor : TColor = clMaroon;
|
||||
KeyStrokeColor : TColor = clNavy;
|
||||
SettingsClass : TAbstractIDEOptionsEditorClass = Nil;
|
||||
|
||||
Procedure ShowSpotterForm;
|
||||
Procedure ApplySpotterOptions;
|
||||
Procedure SaveSpotterOptions;
|
||||
procedure LoadSpotterOptions;
|
||||
procedure CreateSpotterWindow(Sender: TObject; aFormName: string; var AForm: TCustomForm; DoDisableAutoSizing: boolean);
|
||||
Procedure ShowScoutForm;
|
||||
Procedure ApplyScoutOptions;
|
||||
Procedure SaveScoutOptions;
|
||||
procedure LoadScoutOptions;
|
||||
procedure CreateScoutWindow(Sender: TObject; aFormName: string; var AForm: TCustomForm; DoDisableAutoSizing: boolean);
|
||||
|
||||
implementation
|
||||
|
||||
@ -173,11 +173,11 @@ Uses
|
||||
{$R *.lfm}
|
||||
|
||||
var
|
||||
SpotterForm: TSpotterForm;
|
||||
ScoutForm: TIDEScoutForm;
|
||||
|
||||
|
||||
Const
|
||||
IDESpotterOptsFile = 'idespotter.xml';
|
||||
IDEScoutOptsFile = 'idescout.xml';
|
||||
|
||||
KeyHighLight = 'highlight/';
|
||||
KeyShowCategory = 'showcategory/value';
|
||||
@ -189,23 +189,23 @@ Const
|
||||
KeyDropComponent = 'Components/Drop';
|
||||
|
||||
|
||||
HighlightNames : Array[TSpotHighlight] of string =
|
||||
HighlightNames : Array[TScoutTerrain] of string =
|
||||
('Commands','Projects','Files','Packages','Components');
|
||||
|
||||
procedure LoadSpotterOptions;
|
||||
procedure LoadScoutOptions;
|
||||
var
|
||||
Cfg: TConfigStorage;
|
||||
SH : TSpotHighlight;
|
||||
SHS : TSpotHighlights;
|
||||
SH : TScoutTerrain;
|
||||
SHS : TScoutTerrains;
|
||||
|
||||
begin
|
||||
Cfg:=GetIDEConfigStorage(IDESpotterOptsFile,true);
|
||||
Cfg:=GetIDEConfigStorage(IDEScoutOptsFile,true);
|
||||
try
|
||||
SHS:=[];
|
||||
for SH in TSpotHighlight do
|
||||
if Cfg.GetValue(KeyHighLight+HighlightNames[SH],SH In SpotHighlights) then
|
||||
for SH in TScoutTerrain do
|
||||
if Cfg.GetValue(KeyHighLight+HighlightNames[SH],SH In ScoutTerrains) then
|
||||
Include(SHS,SH);
|
||||
SpotHighlights:=SHS;
|
||||
ScoutTerrains:=SHS;
|
||||
TComponentItem.DefaultWidth:=Cfg.GetValue(KeyDefaultComponentWidth,TComponentItem.DefaultWidth);
|
||||
TComponentItem.DefaultHeight:=Cfg.GetValue(KeyDefaultComponentHeight,TComponentItem.DefaultHeight);
|
||||
TComponentItem.Drop:=Cfg.GetValue(KeyDropComponent,TComponentItem.Drop);
|
||||
@ -213,23 +213,23 @@ begin
|
||||
ShowShortCutKey:=Cfg.GetValue(KeyShowShortCut,ShowShortCutKey);
|
||||
KeyStrokeColor:=TColor(Cfg.GetValue(KeyShortCutColor,Ord(KeyStrokeColor)));
|
||||
MatchColor:=TColor(Cfg.GetValue(KeyMatchColor,Ord(MatchColor)));
|
||||
ApplySpotterOptions;
|
||||
ApplyScoutOptions;
|
||||
finally
|
||||
Cfg.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure SaveSpotterOptions;
|
||||
procedure SaveScoutOptions;
|
||||
var
|
||||
Cfg: TConfigStorage;
|
||||
SH : TSpotHighlight;
|
||||
SH : TScoutTerrain;
|
||||
|
||||
begin
|
||||
Cfg:=GetIDEConfigStorage(IDESpotterOptsFile,false);
|
||||
Cfg:=GetIDEConfigStorage(IDEScoutOptsFile,false);
|
||||
try
|
||||
for SH in TSpotHighlight do
|
||||
Cfg.SetValue(KeyHighLight+HighlightNames[SH],SH In SpotHighlights);
|
||||
for SH in TScoutTerrain do
|
||||
Cfg.SetValue(KeyHighLight+HighlightNames[SH],SH In ScoutTerrains);
|
||||
Cfg.SetValue(KeyDefaultComponentWidth,TComponentItem.DefaultWidth);
|
||||
Cfg.SetValue(KeyDefaultComponentHeight,TComponentItem.DefaultHeight);
|
||||
Cfg.SetValue(KeyDropComponent,TComponentItem.Drop);
|
||||
@ -242,43 +242,43 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
Procedure ApplySpotterOptions;
|
||||
Procedure ApplyScoutOptions;
|
||||
|
||||
begin
|
||||
if Assigned(SpotterForm) then
|
||||
if Assigned(ScoutForm) then
|
||||
begin
|
||||
SpotterForm.ShowCategory:=ShowCmdCategory;
|
||||
SpotterForm.MatchColor:=MatchColor;
|
||||
SpotterForm.KeyStrokeColor:=KeyStrokeColor;
|
||||
SpotterForm.ShowShortCutKey:=ShowShortCutKey;
|
||||
SpotterForm.Highlights:=SpotHighlights;
|
||||
SpotterForm.Initialize;
|
||||
ScoutForm.ShowCategory:=ShowCmdCategory;
|
||||
ScoutForm.MatchColor:=MatchColor;
|
||||
ScoutForm.KeyStrokeColor:=KeyStrokeColor;
|
||||
ScoutForm.ShowShortCutKey:=ShowShortCutKey;
|
||||
ScoutForm.Highlights:=ScoutTerrains;
|
||||
ScoutForm.Initialize;
|
||||
end;
|
||||
end;
|
||||
|
||||
Procedure MaybeCreateSpotterForm;
|
||||
Procedure MaybeCreateScoutForm;
|
||||
|
||||
begin
|
||||
if SpotterForm=Nil then
|
||||
if ScoutForm=Nil then
|
||||
begin
|
||||
SpotterForm:=TSpotterForm.Create(Application);
|
||||
ApplySpotterOptions;
|
||||
ScoutForm:=TIDEScoutForm.Create(Application);
|
||||
ApplyScoutOptions;
|
||||
end;
|
||||
end;
|
||||
|
||||
Procedure ShowSpotterForm;
|
||||
Procedure ShowScoutForm;
|
||||
|
||||
begin
|
||||
MaybeCreateSpotterForm;
|
||||
IDEWindowCreators.ShowForm(SpotterForm,True,vmAlwaysMoveToVisible);
|
||||
MaybeCreateScoutForm;
|
||||
IDEWindowCreators.ShowForm(ScoutForm,True,vmAlwaysMoveToVisible);
|
||||
end;
|
||||
|
||||
|
||||
procedure CreateSpotterWindow(Sender: TObject; aFormName: string;
|
||||
procedure CreateScoutWindow(Sender: TObject; aFormName: string;
|
||||
var AForm: TCustomForm; DoDisableAutoSizing: boolean);
|
||||
begin
|
||||
MaybeCreateSpotterForm;
|
||||
aForm:=SpotterForm;
|
||||
MaybeCreateScoutForm;
|
||||
aForm:=ScoutForm;
|
||||
end;
|
||||
|
||||
{ TComponentItem }
|
||||
@ -378,14 +378,14 @@ begin
|
||||
Inherited;
|
||||
end;
|
||||
|
||||
{ TSpotterForm }
|
||||
{ TIDEScoutForm }
|
||||
|
||||
procedure TSpotterForm.ECommandChange(Sender: TObject);
|
||||
procedure TIDEScoutForm.ECommandChange(Sender: TObject);
|
||||
begin
|
||||
FilterList(ESearch.Text);
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.ECommandKeyDown(Sender: TObject; var Key: Word;
|
||||
procedure TIDEScoutForm.ECommandKeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
begin
|
||||
Case Key of
|
||||
@ -410,25 +410,25 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.ESearchButtonClick(Sender: TObject);
|
||||
procedure TIDEScoutForm.ESearchButtonClick(Sender: TObject);
|
||||
begin
|
||||
LazarusIDE.DoOpenIDEOptions(SettingsClass,'IDE Spotter');
|
||||
LazarusIDE.DoOpenIDEOptions(SettingsClass,'IDE Scout');
|
||||
Close;
|
||||
end;
|
||||
|
||||
|
||||
procedure TSpotterForm.FormActivate(Sender: TObject);
|
||||
procedure TIDEScoutForm.FormActivate(Sender: TObject);
|
||||
begin
|
||||
ESearch.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FormClose(Sender: TObject;
|
||||
procedure TIDEScoutForm.FormClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
begin
|
||||
CloseAction:=caHide;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.RefreshCaption(aCount : Integer);
|
||||
procedure TIDEScoutForm.RefreshCaption(aCount : Integer);
|
||||
|
||||
begin
|
||||
if ACount=-1 then
|
||||
@ -437,7 +437,7 @@ begin
|
||||
Caption:=FOrgCaption+Format(' (%d/%d)',[aCount,FSearchItems.Count]);
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FilterList(aSearchTerm: String);
|
||||
procedure TIDEScoutForm.FilterList(aSearchTerm: String);
|
||||
|
||||
Var
|
||||
i : Integer;
|
||||
@ -497,7 +497,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.AddFileToList(aFileName: String; aType: TIDERecentHandler; CheckDuplicate : Boolean = False);
|
||||
procedure TIDEScoutForm.AddFileToList(aFileName: String; aType: TIDERecentHandler; CheckDuplicate : Boolean = False);
|
||||
|
||||
Var
|
||||
F : TOpenFileItem;
|
||||
@ -522,14 +522,14 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FormCreate(Sender: TObject);
|
||||
procedure TIDEScoutForm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
FSearchItems:=TStringList.Create;
|
||||
FSearchItems.OwnsObjects:=True;
|
||||
FOrgCaption:=Caption;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FormDestroy(Sender: TObject);
|
||||
procedure TIDEScoutForm.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
With IDEEnvironmentOptions do
|
||||
begin
|
||||
@ -538,10 +538,10 @@ begin
|
||||
RemoveHandlerAddToRecentPackageFiles(@ProjectOpened);
|
||||
end;
|
||||
FreeAndNil(FSearchItems);
|
||||
SpotterForm:=Nil;
|
||||
ScoutForm:=Nil;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FormShow(Sender: TObject);
|
||||
procedure TIDEScoutForm.FormShow(Sender: TObject);
|
||||
|
||||
begin
|
||||
ESearch.Clear;
|
||||
@ -551,13 +551,13 @@ begin
|
||||
RefreshList;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.LBMatchesClick(Sender: TObject);
|
||||
procedure TIDEScoutForm.LBMatchesClick(Sender: TObject);
|
||||
|
||||
begin
|
||||
ExecuteSelected;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.LBMatchesDrawItem(Control: TWinControl; Index: Integer;
|
||||
procedure TIDEScoutForm.LBMatchesDrawItem(Control: TWinControl; Index: Integer;
|
||||
ARect: TRect; State: TOwnerDrawState);
|
||||
|
||||
Const
|
||||
@ -616,7 +616,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.ExecuteSelected;
|
||||
procedure TIDEScoutForm.ExecuteSelected;
|
||||
|
||||
Var
|
||||
idx: Integer;
|
||||
@ -638,14 +638,14 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TSpotterForm.LBMatchesKeyUp(Sender: TObject; var Key: Word;
|
||||
procedure TIDEScoutForm.LBMatchesKeyUp(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
begin
|
||||
if Key=VK_ESCAPE then
|
||||
Hide;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FillRecent(aType : TIDERecentHandler);
|
||||
procedure TIDEScoutForm.FillRecent(aType : TIDERecentHandler);
|
||||
|
||||
Var
|
||||
L : TStringList;
|
||||
@ -662,7 +662,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FillComponents;
|
||||
procedure TIDEScoutForm.FillComponents;
|
||||
|
||||
Var
|
||||
I : integer;
|
||||
@ -685,7 +685,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.ClearRefreshableItems;
|
||||
procedure TIDEScoutForm.ClearRefreshableItems;
|
||||
|
||||
Var
|
||||
I : Integer;
|
||||
@ -694,11 +694,11 @@ Var
|
||||
|
||||
begin
|
||||
SH:=[];
|
||||
if shRecentFiles in FRefresh then
|
||||
if stRecentFiles in FRefresh then
|
||||
Include(SH,irhOpenFiles);
|
||||
if shRecentProjects in FRefresh then
|
||||
if stRecentProjects in FRefresh then
|
||||
Include(SH,irhProjectFiles);
|
||||
if shRecentPackages in FRefresh then
|
||||
if stRecentPackages in FRefresh then
|
||||
Include(SH,irhPackageFiles);
|
||||
I:=FSearchItems.Count-1;
|
||||
While I>=0 do
|
||||
@ -711,18 +711,18 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.RefreshList;
|
||||
procedure TIDEScoutForm.RefreshList;
|
||||
|
||||
begin
|
||||
FSearchItems.Sorted:=False;
|
||||
FSearchItems.BeginUpdate;
|
||||
try
|
||||
ClearRefreshableItems;
|
||||
if shRecentFiles in FRefresh then
|
||||
if stRecentFiles in FRefresh then
|
||||
FillRecent(irhOpenFiles);
|
||||
if shRecentProjects in FRefresh then
|
||||
if stRecentProjects in FRefresh then
|
||||
FillRecent(irhProjectFiles);
|
||||
if shRecentPackages in FRefresh then
|
||||
if stRecentPackages in FRefresh then
|
||||
FillRecent(irhPackageFiles);
|
||||
FRefresh:=[];
|
||||
finally
|
||||
@ -731,27 +731,27 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.Initialize;
|
||||
procedure TIDEScoutForm.Initialize;
|
||||
begin
|
||||
FSearchItems.Sorted:=False;
|
||||
FSearchItems.BeginUpdate;
|
||||
try
|
||||
FSearchItems.Clear;
|
||||
if shCommands in Highlights then
|
||||
if stCommands in Highlights then
|
||||
FillCommands;
|
||||
if shComponents in Highlights then
|
||||
if stComponents in Highlights then
|
||||
FillComponents;
|
||||
if shRecentFiles in Highlights then
|
||||
if stRecentFiles in Highlights then
|
||||
begin
|
||||
IDEEnvironmentOptions.AddHandlerAddToRecentOpenFiles(@FileOpened,False);
|
||||
FillRecent(irhOpenFiles);
|
||||
end;
|
||||
if shRecentProjects in Highlights then
|
||||
if stRecentProjects in Highlights then
|
||||
begin
|
||||
IDEEnvironmentOptions.AddHandlerAddToRecentProjectFiles(@ProjectOpened,False);
|
||||
FillRecent(irhProjectFiles);
|
||||
end;
|
||||
if shRecentPackages in Highlights then
|
||||
if stRecentPackages in Highlights then
|
||||
begin
|
||||
IDEEnvironmentOptions.AddHandlerAddToRecentPackageFiles(@PackageOpened,False);
|
||||
FillRecent(irhPackageFiles);
|
||||
@ -762,7 +762,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TSpotterForm.GetCommandCategoryString(Cmd: TIDECommand): String;
|
||||
function TIDEScoutForm.GetCommandCategoryString(Cmd: TIDECommand): String;
|
||||
|
||||
Const
|
||||
Cmds = ' commands';
|
||||
@ -789,25 +789,25 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.PackageOpened(Sender: TObject; AFileName: string;
|
||||
procedure TIDEScoutForm.PackageOpened(Sender: TObject; AFileName: string;
|
||||
var AAllow: Boolean);
|
||||
begin
|
||||
Include(FRefresh,shRecentPackages);
|
||||
Include(FRefresh,stRecentPackages);
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FileOpened(Sender: TObject; AFileName: string;
|
||||
procedure TIDEScoutForm.FileOpened(Sender: TObject; AFileName: string;
|
||||
var AAllow: Boolean);
|
||||
begin
|
||||
Include(FRefresh,shRecentFiles);
|
||||
Include(FRefresh,stRecentFiles);
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.ProjectOpened(Sender: TObject; AFileName: string;
|
||||
procedure TIDEScoutForm.ProjectOpened(Sender: TObject; AFileName: string;
|
||||
var AAllow: Boolean);
|
||||
begin
|
||||
Include(FRefresh,shRecentProjects);
|
||||
Include(FRefresh,stRecentProjects);
|
||||
end;
|
||||
|
||||
procedure TSpotterForm.FillCommands;
|
||||
procedure TIDEScoutForm.FillCommands;
|
||||
var
|
||||
I, J: Integer;
|
||||
Itm : TSearchItem;
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<Package Version="4">
|
||||
<Name Value="idespotter"/>
|
||||
<Name Value="idescout"/>
|
||||
<Type Value="DesignTime"/>
|
||||
<Author Value="Michael Van Canneyt"/>
|
||||
<CompilerOptions>
|
||||
@ -10,27 +10,27 @@
|
||||
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
</CompilerOptions>
|
||||
<Description Value="IDE addon showing the "IDE Spotter" - a quick search window for IDE commands.
|
||||
<Description Value="IDE addon showing the "IDE Scout" - a quick search window for IDE commands.
|
||||
See the ReadMe.txt included in the package for a more detailed explanation."/>
|
||||
<License Value="Modified LGPL-2"/>
|
||||
<Version Release="1"/>
|
||||
<Files Count="4">
|
||||
<Item1>
|
||||
<Filename Value="regidespotter.pas"/>
|
||||
<Filename Value="regidescout.pas"/>
|
||||
<HasRegisterProc Value="True"/>
|
||||
<UnitName Value="RegIDESpotter"/>
|
||||
<UnitName Value="RegIDEScout"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Filename Value="frmspotter.pas"/>
|
||||
<UnitName Value="frmspotter"/>
|
||||
<Filename Value="frmscout.pas"/>
|
||||
<UnitName Value="frmscout"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Filename Value="ReadMe.txt"/>
|
||||
<Type Value="Binary"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Filename Value="idespotteroptions.pas"/>
|
||||
<UnitName Value="IDESPotterOptions"/>
|
||||
<Filename Value="idescoutoptions.pas"/>
|
||||
<UnitName Value="IDEScoutOptions"/>
|
||||
</Item4>
|
||||
</Files>
|
||||
<i18n>
|
@ -2,21 +2,21 @@
|
||||
This source is only used to compile and install the package.
|
||||
}
|
||||
|
||||
unit idespotter;
|
||||
unit idescout;
|
||||
|
||||
{$warn 5023 off : no warning about unused units}
|
||||
interface
|
||||
|
||||
uses
|
||||
RegIDESpotter, frmspotter, IDESPotterOptions, LazarusPackageIntf;
|
||||
RegIDEScout, frmscout, IDEScoutOptions, LazarusPackageIntf;
|
||||
|
||||
implementation
|
||||
|
||||
procedure Register;
|
||||
begin
|
||||
RegisterUnit('RegIDESpotter', @RegIDESpotter.Register);
|
||||
RegisterUnit('RegIDEScout', @RegIDEScout.Register);
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterPackage('idespotter', @Register);
|
||||
RegisterPackage('idescout', @Register);
|
||||
end.
|
@ -1,4 +1,4 @@
|
||||
object IDESpotterOptionsFrame: TIDESpotterOptionsFrame
|
||||
object IDEScoutOptionsFrame: TIDEScoutOptionsFrame
|
||||
Left = 0
|
||||
Height = 504
|
||||
Top = 0
|
@ -1,4 +1,4 @@
|
||||
{ IDE options frame for IDE Spotter options
|
||||
{ IDE options frame for IDE Scout options
|
||||
|
||||
Copyright (C) 2018 Michael van Canneyt michael@freepascal.org
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
along with this library; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA.
|
||||
}
|
||||
unit IDESPotterOptions;
|
||||
unit IDEScoutOptions;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$Inline on}
|
||||
@ -39,13 +39,13 @@ uses
|
||||
// LCL
|
||||
Forms, StdCtrls, Dialogs, Spin, ExtCtrls, ColorBox,
|
||||
// IdeIntf
|
||||
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils, frmSpotter;
|
||||
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils, frmScout;
|
||||
|
||||
|
||||
Type
|
||||
{ TIDESpotterOptionsFrame }
|
||||
{ TIDEScoutOptionsFrame }
|
||||
|
||||
TIDESpotterOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
TIDEScoutOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
CGSearch: TCheckGroup;
|
||||
CBShowShortCut: TCheckBox;
|
||||
CBMatchColor: TColorBox;
|
||||
@ -76,40 +76,40 @@ implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
{ TIDESpotterOptionsFrame }
|
||||
{ TIDEScoutOptionsFrame }
|
||||
|
||||
procedure TIDESpotterOptionsFrame.CGSearchClick(Sender: TObject);
|
||||
procedure TIDEScoutOptionsFrame.CGSearchClick(Sender: TObject);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TIDESpotterOptionsFrame.CGSearchItemClick(Sender: TObject;
|
||||
procedure TIDEScoutOptionsFrame.CGSearchItemClick(Sender: TObject;
|
||||
Index: integer);
|
||||
begin
|
||||
if Index=Ord(shComponents) then
|
||||
if Index=Ord(stComponents) then
|
||||
GBComponents.Enabled:=CGsearch.Checked[Index];
|
||||
end;
|
||||
|
||||
function TIDESpotterOptionsFrame.GetTitle: String;
|
||||
function TIDEScoutOptionsFrame.GetTitle: String;
|
||||
begin
|
||||
Result:='IDE Spotter';
|
||||
Result:='IDE Scout';
|
||||
end;
|
||||
|
||||
procedure TIDESpotterOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
procedure TIDEScoutOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
|
||||
|
||||
begin
|
||||
// Do nothing, maybe localize ?
|
||||
end;
|
||||
|
||||
procedure TIDESpotterOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
procedure TIDEScoutOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
|
||||
Var
|
||||
sh : TSpotHighlight;
|
||||
st : TScoutTerrain;
|
||||
|
||||
begin
|
||||
for SH in TSpotHighlight do
|
||||
CGSearch.Checked[Ord(SH)]:=SH in SpotHighlights;
|
||||
for St in TScoutTerrain do
|
||||
CGSearch.Checked[Ord(St)]:=St in ScoutTerrains;
|
||||
CBSelectComponent.Checked:=Not TComponentItem.Drop;
|
||||
SEComponentDefaultHeight.Value:=TComponentItem.DefaultHeight;
|
||||
SEComponentDefaultWidth.Value:=TComponentItem.DefaultWidth;
|
||||
@ -119,18 +119,18 @@ begin
|
||||
CBShortCutColor.Selected := KeyStrokeColor;
|
||||
end;
|
||||
|
||||
procedure TIDESpotterOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
procedure TIDEScoutOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
|
||||
Var
|
||||
sh : TSpotHighlight;
|
||||
SHS : TSpotHighlights;
|
||||
st : TScoutTerrain;
|
||||
STS : TScoutTerrains;
|
||||
|
||||
begin
|
||||
SHS:=[];
|
||||
for SH in TSpotHighlight do
|
||||
if CGSearch.Checked[Ord(SH)] then
|
||||
Include(SHS,SH);
|
||||
SpotHighlights:=SHS;
|
||||
STS:=[];
|
||||
for ST in TScoutTerrain do
|
||||
if CGSearch.Checked[Ord(ST)] then
|
||||
Include(STS,ST);
|
||||
ScoutTerrains:=STS;
|
||||
TComponentItem.Drop:=not CBSelectComponent.Checked;
|
||||
TComponentItem.DefaultHeight:=SEComponentDefaultHeight.Value;
|
||||
TComponentItem.DefaultWidth:=SEComponentDefaultWidth.Value;
|
||||
@ -138,11 +138,11 @@ begin
|
||||
ShowShortCutKey:=CBShowShortCut.Checked;
|
||||
MatchColor:=CBMatchColor.Selected;
|
||||
KeyStrokeColor:=CBShortCutColor.Selected;
|
||||
SaveSpotterOptions;
|
||||
ApplySpotterOptions;
|
||||
SaveScoutOptions;
|
||||
ApplyScoutOptions;
|
||||
end;
|
||||
|
||||
class function TIDESpotterOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
class function TIDEScoutOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result:=IDEEditorGroups.GetByIndex(GroupEnvironment)^.GroupClass;
|
||||
end;
|
@ -1,4 +1,4 @@
|
||||
{ Register IDE Spotter unit
|
||||
{ Register IDE Scout unit
|
||||
|
||||
Copyright (C) 2018 Michael van Canneyt michael@freepascal.org
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
along with this library; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA.
|
||||
}
|
||||
unit RegIDESpotter;
|
||||
unit RegIDEScout;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
@ -41,12 +41,12 @@ Procedure Register;
|
||||
|
||||
implementation
|
||||
|
||||
uses IDESpotterOptions,forms, graphics,lcltype,idecommands,toolbarintf, idewindowintf, menuintf, frmspotter;
|
||||
uses IDEScoutOptions,forms, graphics,lcltype,idecommands,toolbarintf, idewindowintf, menuintf, frmscout;
|
||||
|
||||
Procedure IdeMenuClicked(Sender : TObject);
|
||||
|
||||
begin
|
||||
ShowSpotterForm;
|
||||
ShowScoutForm;
|
||||
end;
|
||||
|
||||
|
||||
@ -64,27 +64,27 @@ var
|
||||
IDEShortCutX: TIDEShortCut;
|
||||
IDECommandCategory: TIDECommandCategory;
|
||||
IDECommand: TIDECommand;
|
||||
IDESpotteroptionsFrameID: Integer = 2000;
|
||||
IDEScoutOptionsFrameID: Integer = 2000;
|
||||
|
||||
begin
|
||||
LoadSpotterOptions;
|
||||
LoadScoutOptions;
|
||||
IDEShortCutX := IDEShortCut(VK_P, ShiftKeys, VK_UNKNOWN, []);
|
||||
IDECommandCategory := IDECommandList.FindCategoryByName(CommandCategoryViewName);
|
||||
if IDECommandCategory <> nil then
|
||||
begin
|
||||
IDECommand := RegisterIDECommand(IDECommandCategory, 'Spotter', 'Open Spotter',
|
||||
IDECommand := RegisterIDECommand(IDECommandCategory, 'IDEScout', 'Open IDE Scout',
|
||||
IDEShortCutX, nil, @IDEMenuClicked);
|
||||
if IDECommand <> nil then
|
||||
RegisterIDEButtonCommand(IDECommand);
|
||||
end;
|
||||
IDESpotteroptionsFrameID:=RegisterIDEOptionsEditor(GroupEnvironment,TIDESpotterOptionsFrame,
|
||||
IDESpotteroptionsFrameID)^.Index;
|
||||
RegisterIDEMenuCommand(itmViewIDEInternalsWindows, 'Spotter', 'Spotter', nil,
|
||||
IDEScoutOptionsFrameID:=RegisterIDEOptionsEditor(GroupEnvironment,TIDEScoutOptionsFrame,
|
||||
IDEScoutOptionsFrameID)^.Index;
|
||||
RegisterIDEMenuCommand(itmViewIDEInternalsWindows, 'IDEScout', 'Open IDE Scout', nil,
|
||||
@IDEMenuClicked,IDECommand);
|
||||
IDEWindowCreators.Add('IDESpotter',@CreateSpotterWindow,nil,'40%','10%','+500','+240');
|
||||
IDEWindowCreators.Add('IDEScout',@CreateScoutWindow,nil,'40%','10%','+500','+240');
|
||||
end;
|
||||
|
||||
Initialization
|
||||
SettingsClass:=TIDESpotterOptionsFrame;
|
||||
SettingsClass:=TIDEScoutOptionsFrame;
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user