mirror of https://gitlab.com/basile.b/dexed.git
parent
6ece0bf0aa
commit
1e4650dccc
|
@ -7,7 +7,7 @@ interface
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, ListFilterEdit, Forms, Controls,
|
Classes, SysUtils, FileUtil, ListFilterEdit, Forms, Controls,
|
||||||
strutils, Graphics, Dialogs, ExtCtrls, Menus, Buttons, ComCtrls,
|
strutils, Graphics, Dialogs, ExtCtrls, Menus, Buttons, ComCtrls,
|
||||||
ce_widget, process, ce_common, ce_interfaces, ce_synmemo,
|
ce_widget, process, ce_common, ce_interfaces, ce_synmemo, ce_processes,
|
||||||
ce_nativeproject, ce_symstring, ce_writableComponent, ce_observer;
|
ce_nativeproject, ce_symstring, ce_writableComponent, ce_observer;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
@ -79,12 +79,11 @@ type
|
||||||
procedure handleListClick(Sender: TObject);
|
procedure handleListClick(Sender: TObject);
|
||||||
procedure mnuAutoRefreshClick(Sender: TObject);
|
procedure mnuAutoRefreshClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
fToolOutput: TMemoryStream;
|
|
||||||
fAutoRefresh: Boolean;
|
fAutoRefresh: Boolean;
|
||||||
fSingleClick: Boolean;
|
fSingleClick: Boolean;
|
||||||
fProj: TCENativeProject;
|
fProj: TCENativeProject;
|
||||||
fDoc: TCESynMemo;
|
fDoc: TCESynMemo;
|
||||||
fToolProc: TCheckedAsyncProcess;
|
fToolProc: TCEProcess;
|
||||||
fTodos: TTodoItems;
|
fTodos: TTodoItems;
|
||||||
fMsgs: ICEMessagesDisplay;
|
fMsgs: ICEMessagesDisplay;
|
||||||
fOptions: TCETodoOptions;
|
fOptions: TCETodoOptions;
|
||||||
|
@ -110,7 +109,6 @@ type
|
||||||
procedure killToolProcess;
|
procedure killToolProcess;
|
||||||
procedure callToolProcess;
|
procedure callToolProcess;
|
||||||
procedure toolTerminated(Sender: TObject);
|
procedure toolTerminated(Sender: TObject);
|
||||||
procedure toolOutputData(Sender: TObject);
|
|
||||||
procedure procOutputDbg(Sender: TObject);
|
procedure procOutputDbg(Sender: TObject);
|
||||||
procedure clearTodoList;
|
procedure clearTodoList;
|
||||||
procedure fillTodoList;
|
procedure fillTodoList;
|
||||||
|
@ -199,7 +197,6 @@ var
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
//
|
//
|
||||||
fToolOutput := TMemoryStream.Create;
|
|
||||||
fOptions := TCETodoOptions.Create(self);
|
fOptions := TCETodoOptions.Create(self);
|
||||||
fOptions.autoRefresh := True;
|
fOptions.autoRefresh := True;
|
||||||
fOptions.Name := 'todolistOptions';
|
fOptions.Name := 'todolistOptions';
|
||||||
|
@ -237,7 +234,6 @@ destructor TCETodoListWidget.Destroy;
|
||||||
begin
|
begin
|
||||||
fOptions.saveToFile(getCoeditDocPath + OptFname);
|
fOptions.saveToFile(getCoeditDocPath + OptFname);
|
||||||
killToolProcess;
|
killToolProcess;
|
||||||
fToolOutput.Free;
|
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -419,13 +415,12 @@ begin
|
||||||
//
|
//
|
||||||
killToolProcess;
|
killToolProcess;
|
||||||
// process parameter
|
// process parameter
|
||||||
fToolProc := TCheckedAsyncProcess.Create(nil);
|
fToolProc := TCEProcess.Create(nil);
|
||||||
fToolProc.Executable := exeFullName(ToolExeName);
|
fToolProc.Executable := exeFullName(ToolExeName);
|
||||||
fToolProc.Options := [poUsePipes];
|
fToolProc.Options := [poUsePipes];
|
||||||
fToolProc.ShowWindow := swoHIDE;
|
fToolProc.ShowWindow := swoHIDE;
|
||||||
fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName);
|
fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName);
|
||||||
fToolProc.OnTerminate := @toolTerminated;
|
fToolProc.OnTerminate := @toolTerminated;
|
||||||
fToolProc.OnReadData := @toolOutputData;
|
|
||||||
|
|
||||||
// files passed to the tool argument
|
// files passed to the tool argument
|
||||||
if ctxt = tcProject then
|
if ctxt = tcProject then
|
||||||
|
@ -458,22 +453,14 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCETodoListWidget.toolOutputData(Sender: TObject);
|
|
||||||
begin
|
|
||||||
processOutputToStream(fToolProc, fToolOutput);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCETodoListWidget.toolTerminated(Sender: TObject);
|
procedure TCETodoListWidget.toolTerminated(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
processOutputToStream(fToolProc, fToolOutput);
|
|
||||||
fToolOutput.Position := 0;
|
|
||||||
//TODO-cbugfix: UTF chars in TODO comments bug either in the widget or the tool, symptom: empty todo list, conditions: to determine.
|
//TODO-cbugfix: UTF chars in TODO comments bug either in the widget or the tool, symptom: empty todo list, conditions: to determine.
|
||||||
//fToolOutput.SaveToFile('C:\cetodo_widgetside.txt');
|
|
||||||
fTodos.loadFromTxtStream(fToolOutput);
|
fToolProc.OutputStack.Position := 0;
|
||||||
|
fTodos.loadFromTxtStream(fToolProc.OutputStack);
|
||||||
fillTodoList;
|
fillTodoList;
|
||||||
fToolProc.OnTerminate := nil;
|
fToolProc.OnTerminate := nil;
|
||||||
fToolProc.OnReadData := nil;
|
|
||||||
fToolOutput.Clear;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCETodoListWidget.clearTodoList;
|
procedure TCETodoListWidget.clearTodoList;
|
||||||
|
|
Loading…
Reference in New Issue