From 2094449a7dd99cb2042da188b1f6a6c0fc78cdbb Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sat, 30 Jan 2016 07:58:41 +0100 Subject: [PATCH] editor, indicates if readonly --- src/ce_editor.lfm | 4 ++++ src/ce_editor.pas | 9 ++++++++- src/ce_synmemo.pas | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/ce_editor.lfm b/src/ce_editor.lfm index 896145d0..caad8351 100644 --- a/src/ce_editor.lfm +++ b/src/ce_editor.lfm @@ -33,6 +33,10 @@ inherited CEEditorWidget: TCEEditorWidget item Width = 120 end + item + Alignment = taCenter + Width = 100 + end item Width = 2000 end> diff --git a/src/ce_editor.pas b/src/ce_editor.pas index 0c455617..16217082 100644 --- a/src/ce_editor.pas +++ b/src/ce_editor.pas @@ -472,6 +472,7 @@ begin editorStatus.Panels[1].Text := ''; editorStatus.Panels[2].Text := ''; editorStatus.Panels[3].Text := ''; + editorStatus.Panels[4].Text := ''; end else begin editorStatus.Panels[0].Text := format('%d : %d | %d', [fDoc.CaretY, fDoc.CaretX, fDoc.SelEnd - fDoc.SelStart]); editorStatus.Panels[1].Text := modstr[fDoc.modified]; @@ -481,7 +482,13 @@ begin editorStatus.Panels[2].Text := 'no macro' else editorStatus.Panels[2].Text := 'macro ready'; - editorStatus.Panels[3].Text := fDoc.fileName; + if fDoc.ReadOnly then + begin + editorStatus.Panels[3].Width:= 120; + editorStatus.Panels[3].Text := '(read-only)'; + end else + editorStatus.Panels[3].Width:= 0; + editorStatus.Panels[4].Text := fDoc.fileName; if Visible and (pageControl.currentPage <> nil) and ((pageControl.currentPage.Caption = '') or (pageControl.currentPage.Caption = '')) then begin diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index 7259b121..da61c45e 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -1008,6 +1008,7 @@ begin Lines.LoadFromFile(aFilename); fFilename := aFilename; FileAge(fFilename, fFileDate); + ReadOnly := FileIsReadOnly(fFilename); // fModified := false; if Showing then @@ -1023,6 +1024,8 @@ procedure TCESynMemo.saveToFile(const aFilename: string); var ext: string; begin + if readOnly then + exit; Lines.SaveToFile(aFilename); fFilename := aFilename; ext := aFilename.extractFileExt; @@ -1036,6 +1039,8 @@ end; procedure TCESynMemo.save; begin + if readOnly then + exit; Lines.SaveToFile(fFilename); FileAge(fFilename, fFileDate); fModified := false;