Subversion Repositories fastphp

Compare Revisions

Regard whitespace Rev 66 → Rev 67

/trunk/EditorMain.pas
167,6 → 167,7
procedure BtnLightClick(Sender: TObject);
procedure StartUpTimerTimer(Sender: TObject);
private
hMutex: THandle;
CurSearchTerm: string;
HlpPrevPageIndex: integer;
SrcRep: TSynEditFindReplace;
174,9 → 175,9
gOnlineHelpWord: string;
{$ENDIF}
procedure Help;
function MarkUpLineReference(cont: string): string;
function InputRequestCallback(var data: AnsiString): boolean;
function OutputNotifyCallback(const data: AnsiString): boolean;
procedure RightTrimAll;
protected
ChmIndex: TMemIniFile;
FScrapFile: string;
189,6 → 190,7
procedure Theme_Light;
procedure Theme_Dark;
function IsThemeDark: boolean;
function MarkUpLineReference(cont: string): string;
end;
 
var
286,8 → 288,19
SynEdit1.SetFocus;
end;
 
procedure TForm1.RightTrimAll;
var
i: integer;
begin
for i := 0 to SynEdit1.Lines.Count do
begin
SynEdit1.Lines.Strings[i] := TrimRight(SynEdit1.Lines.Strings[i]);
end;
end;
 
procedure TForm1.ActionSaveExecute(Sender: TObject);
begin
RightTrimAll;
SynEdit1.Lines.SaveToFile(GetScrapFile);
SynEdit1.Modified := false;
RefreshModifySign;
411,8 → 424,8
procedure TForm1.Run(Sender: TObject);
var
bakTS: TTabSheet;
ss: TStringStream;
bakPos: Int64;
//ss: TStringStream;
//bakPos: Int64;
begin
memo2.Lines.Text := '';
 
764,16 → 777,6
begin
BeforeNavigate(URL, Cancel);
end;
procedure TForm1.WebBrowser1WindowClosing(ASender: TObject;
IsChildWindow: WordBool; var Cancel: WordBool);
resourcestring
LNG_CLOSE_REQUEST = 'A script has requested the window to be closed. The window of a standalone script would now close.';
begin
ShowMessage(LNG_CLOSE_REQUEST);
TWebBrowser(ASender).Clear;
Cancel := true;
end;
 
(*
{$ELSE}
procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
785,6 → 788,16
{$ENDIF}
*)
 
procedure TForm1.WebBrowser1WindowClosing(ASender: TObject;
IsChildWindow: WordBool; var Cancel: WordBool);
resourcestring
LNG_CLOSE_REQUEST = 'A script has requested the window to be closed. The window of a standalone script would now close.';
begin
ShowMessage(LNG_CLOSE_REQUEST);
TWebBrowser(ASender).Clear;
Cancel := true;
end;
 
procedure TForm1.BeforeNavigate(const URL: OleVariant; var Cancel: WordBool);
var
s, myURL: string;
927,6 → 940,8
end;
FreeAndNil(SrcRep);
 
if hMutex <> 0 then CloseHandle(hMutex);
 
if Assigned(codeExplorer) then
begin
codeExplorer.Terminate;
962,7 → 977,17
SynEdit1.Options := opts;
 
if FileExists(ScrapFile) then
SynEdit1.Lines.LoadFromFile(ScrapFile)
begin
hMutex := CreateMutex(nil, True, PChar('FastPHP'+IntToStr(StrHash(ScrapFile))));
if GetLastError = ERROR_ALREADY_EXISTS then
begin
// TODO: It would be great if the window of that FastPHP instance would switched to foreground
ShowMessageFmt('File "%s" is alrady open!', [ScrapFile]);
Close;
end;
 
SynEdit1.Lines.LoadFromFile(ScrapFile);
end
else
SynEdit1.Lines.Clear;
 
/trunk/FindReplace.pas
51,7 → 51,7
procedure OnFind(Sender: TObject); virtual;
procedure OnReplace(Sender: TObject); virtual;
 
procedure DoFind(dialog: TFindDialog; direction: TFindDirection);
procedure DoFind(dialog: TFindDialog; direction: TFindDirection); overload;
procedure DoReplace(dialog: TReplaceDialog; direction: TFindDirection);
 
function GetDirection(dialog: TFindDialog): TFindDirection;
139,6 → 139,7
 
if not found then
begin
// TODO: If single replace was chosen, behave like Notepad and select the last replaced word
if direction = sdForwards then
MessageDlg('End of document reached.', mtInformation, [mbOk], 0)
else
153,6 → 154,7
opt: TSynSearchOptions;
numReplacements: integer;
begin
try
if direction = sdDefault then direction := GetDirection(dialog);
 
opt := [];
165,6 → 167,15
if fEditor.SelAvail then Include(opt, ssoSelectedOnly);
Exclude(opt, ssoEntireScope); // TODO: ok?
 
if not (ssoReplaceAll in opt) then
begin
if fEditor.SelLength = 0 then
begin
DoFind(dialog, sdForwards);
exit;
end;
end;
 
fEditor.BeginUpdate; // TODO: geht nicht?
//fEditor.BeginUndoBlock;
try
174,10 → 185,18
fEditor.EndUpdate;
end;
 
if not (ssoReplaceAll in opt) then
begin
DoFind(dialog, sdForwards);
end
else
begin
ShowMessageFmt('%d replaced.', [numReplacements]);
 
end;
finally
if fAutofocus and fEditor.CanFocus then fEditor.SetFocus;
end;
end;
 
procedure TSynEditFindReplace.OnFind(Sender: TObject);
begin
/trunk/Functions.pas
22,6 → 22,7
function GetTempDir: string;
function GetSpecialFolder(const aCSIDL: Integer): string;
function GetMyDocumentsFolder: string;
function StrHash(const st:string): cardinal;
 
implementation
 
326,4 → 327,14
Result := GetSpecialFolder(CSIDL_PERSONAL);
end;
 
function StrHash(const st:string): cardinal;
var
i:integer;
begin
// https://stackoverflow.com/a/41400477/488539
result := 0;
for i := 1 to length(st) do
result := result*$20844 xor byte(st[i]);
end;
 
end.