mirror of https://gitlab.com/basile.b/dexed.git
project inspector, detect new sources
This commit is contained in:
parent
6d48342da0
commit
97d4355b5d
|
@ -111,6 +111,7 @@ type
|
||||||
procedure loadFromFile(const fname: string);
|
procedure loadFromFile(const fname: string);
|
||||||
procedure saveToFile(const fname: string);
|
procedure saveToFile(const fname: string);
|
||||||
//
|
//
|
||||||
|
procedure updateSourcesList;
|
||||||
procedure activate;
|
procedure activate;
|
||||||
function inGroup: boolean;
|
function inGroup: boolean;
|
||||||
procedure inGroup(value: boolean);
|
procedure inGroup(value: boolean);
|
||||||
|
@ -764,6 +765,11 @@ begin
|
||||||
fConfigsCount := fConfigs.Count * fBuildTypes.Count;
|
fConfigsCount := fConfigs.Count * fBuildTypes.Count;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEDubProject.updateSourcesList;
|
||||||
|
begin
|
||||||
|
updateSourcesFromJson;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEDubProject.updateSourcesFromJson;
|
procedure TCEDubProject.updateSourcesFromJson;
|
||||||
var
|
var
|
||||||
lst: TStringList;
|
lst: TStringList;
|
||||||
|
|
|
@ -7,13 +7,14 @@ interface
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, TreeFilterEdit, Forms, Controls, Graphics, actnlist,
|
Classes, SysUtils, TreeFilterEdit, Forms, Controls, Graphics, actnlist,
|
||||||
Dialogs, ExtCtrls, ComCtrls, Menus, Buttons, lcltype, ce_ceproject, ce_interfaces,
|
Dialogs, ExtCtrls, ComCtrls, Menus, Buttons, lcltype, ce_ceproject, ce_interfaces,
|
||||||
ce_common, ce_widget, ce_observer, ce_dialogs, ce_sharedres, ce_dsgncontrols;
|
ce_common, ce_widget, ce_observer, ce_dialogs, ce_sharedres, ce_dsgncontrols,
|
||||||
|
ce_dubproject, ce_synmemo;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TCEProjectInspectWidget }
|
{ TCEProjectInspectWidget }
|
||||||
|
|
||||||
TCEProjectInspectWidget = class(TCEWidget, ICEProjectObserver)
|
TCEProjectInspectWidget = class(TCEWidget, ICEProjectObserver, ICEDocumentObserver)
|
||||||
btnAddFile: TCEToolButton;
|
btnAddFile: TCEToolButton;
|
||||||
btnAddFold: TCEToolButton;
|
btnAddFold: TCEToolButton;
|
||||||
btnRemFile: TCEToolButton;
|
btnRemFile: TCEToolButton;
|
||||||
|
@ -44,6 +45,7 @@ type
|
||||||
fLastFileOrFolder: string;
|
fLastFileOrFolder: string;
|
||||||
fSymStringExpander: ICESymStringExpander;
|
fSymStringExpander: ICESymStringExpander;
|
||||||
procedure actUpdate(sender: TObject);
|
procedure actUpdate(sender: TObject);
|
||||||
|
procedure DetectNewDubSources(const document: TCESynMemo);
|
||||||
procedure TreeDblClick(sender: TObject);
|
procedure TreeDblClick(sender: TObject);
|
||||||
procedure actOpenFileExecute(sender: TObject);
|
procedure actOpenFileExecute(sender: TObject);
|
||||||
procedure actBuildExecute(sender: TObject);
|
procedure actBuildExecute(sender: TObject);
|
||||||
|
@ -55,6 +57,11 @@ type
|
||||||
procedure projCompiling(project: ICECommonProject);
|
procedure projCompiling(project: ICECommonProject);
|
||||||
procedure projCompiled(project: ICECommonProject; success: boolean);
|
procedure projCompiled(project: ICECommonProject; success: boolean);
|
||||||
procedure updateButtons;
|
procedure updateButtons;
|
||||||
|
//
|
||||||
|
procedure docNew(document: TCESynMemo);
|
||||||
|
procedure docFocused(document: TCESynMemo);
|
||||||
|
procedure docChanged(document: TCESynMemo);
|
||||||
|
procedure docClosing(document: TCESynMemo);
|
||||||
protected
|
protected
|
||||||
function contextName: string; override;
|
function contextName: string; override;
|
||||||
function contextActionCount: integer; override;
|
function contextActionCount: integer; override;
|
||||||
|
@ -104,7 +111,8 @@ end;
|
||||||
procedure TCEProjectInspectWidget.SetVisible(value: boolean);
|
procedure TCEProjectInspectWidget.SetVisible(value: boolean);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
if value then updateImperative;
|
if value then
|
||||||
|
updateImperative;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.setToolBarFlat(value: boolean);
|
procedure TCEProjectInspectWidget.setToolBarFlat(value: boolean);
|
||||||
|
@ -149,7 +157,28 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEProjectMonitor -----------------------------------------------------}
|
{$REGION ICEDocumentObserver ---------------------------------------------------}
|
||||||
|
procedure TCEProjectInspectWidget.docNew(document: TCESynMemo);
|
||||||
|
begin
|
||||||
|
DetectNewDubSources(document);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEProjectInspectWidget.docFocused(document: TCESynMemo);
|
||||||
|
begin
|
||||||
|
DetectNewDubSources(document);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEProjectInspectWidget.docChanged(document: TCESynMemo);
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEProjectInspectWidget.docClosing(document: TCESynMemo);
|
||||||
|
begin
|
||||||
|
DetectNewDubSources(document);
|
||||||
|
end;
|
||||||
|
{$ENDREGION}
|
||||||
|
|
||||||
|
{$REGION ICEProjectObserver -----------------------------------------------------}
|
||||||
procedure TCEProjectInspectWidget.projNew(project: ICECommonProject);
|
procedure TCEProjectInspectWidget.projNew(project: ICECommonProject);
|
||||||
begin
|
begin
|
||||||
fLastFileOrFolder := '';
|
fLastFileOrFolder := '';
|
||||||
|
@ -174,6 +203,7 @@ procedure TCEProjectInspectWidget.projFocused(project: ICECommonProject);
|
||||||
begin
|
begin
|
||||||
fLastFileOrFolder := '';
|
fLastFileOrFolder := '';
|
||||||
fProject := project;
|
fProject := project;
|
||||||
|
DetectNewDubSources(nil);
|
||||||
updateButtons;
|
updateButtons;
|
||||||
if Visible then
|
if Visible then
|
||||||
beginDelayedUpdate;
|
beginDelayedUpdate;
|
||||||
|
@ -291,6 +321,20 @@ begin
|
||||||
fActOpenFile.Enabled := Tree.Selected.Parent = fFileNode;
|
fActOpenFile.Enabled := Tree.Selected.Parent = fFileNode;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEProjectInspectWidget.DetectNewDubSources(const document: TCESynMemo
|
||||||
|
);
|
||||||
|
begin
|
||||||
|
if not assigned(fProject) or (fProject.getFormat <> pfDUB) then
|
||||||
|
exit;
|
||||||
|
if document.isNotNil then
|
||||||
|
begin
|
||||||
|
if document.fileName.contains(fProject.basePath) then
|
||||||
|
TCEDubProject(fProject.getProject).updateSourcesList;
|
||||||
|
end
|
||||||
|
else TCEDubProject(fProject.getProject).updateSourcesList;
|
||||||
|
updateImperative;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.btnAddFileClick(Sender: TObject);
|
procedure TCEProjectInspectWidget.btnAddFileClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
fname: string;
|
fname: string;
|
||||||
|
|
Loading…
Reference in New Issue