diff --git a/src/ce_main.lfm b/src/ce_main.lfm index 1e6fddfa..673f8a56 100644 --- a/src/ce_main.lfm +++ b/src/ce_main.lfm @@ -332,6 +332,9 @@ object CEMainForm: TCEMainForm CEFFD8D1D2FFB37A06FFB78116FFB9851CC5BB871F00BB871F00 } end + object MenuItem62: TMenuItem + Action = actFileHtmlExport + end object MenuItem25: TMenuItem Caption = '-' end @@ -2117,11 +2120,17 @@ object CEMainForm: TCEMainForm ImageIndex = 30 OnExecute = actLayoutSaveExecute end + object actFileHtmlExport: TAction + Category = 'File' + Caption = 'Export to html...' + ImageIndex = 33 + OnExecute = actFileHtmlExportExecute + end end object imgList: TImageList left = 64 Bitmap = { - 4C69210000001000000010000000008F4E00008C4AB000965DFF00935AFF0093 + 4C69220000001000000010000000008F4E00008C4AB000965DFF00935AFF0093 59FF009359FF009359FF009359FF009359FF00945AFF008743FF008945FF008A 49A8FFFFFF00008F4E00008F4F00008E4E00008A47FF66E2D0FF62DDCAFF62DD C8FF62DDC8FF62DDC8FF62DDC8FF62DDC8FF62DDC9FF61E0CAFF62DEC8FF3ABA @@ -3177,6 +3186,38 @@ object CEMainForm: TCEMainForm 53FFB67751FFB47651FFB17450FFAD724FFFAA714FFFA86F4EFFA76E4DFFA66E 4DFEA46E4DF1A66E4DC4FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00B15F18B0AF5B14FFAE5A12FFAE5A12FFAE5A + 12FFAE5A12FFAE5A12FFAE5A12FFAE5A12FFAE5A12FFAE5A12FFAE5A12FFAE5A + 12FFAE5A12FFAF5B14FFB15F18B0AF5B14FFE2BD92FFE0BB8FFFE0BB90FFE0BB + 90FFE0BB90FFE0BB90FFE0BB90FFE0BB90FFE0BB90FFE0BB90FFE0BB90FFE0BB + 90FFE0BB8FFFE2BD92FFAF5B14FFAE5A12FFE0B98CFFC47928FFC57A2BFFC57A + 2BFFC47A2AFFC47A2AFFC57A2AFFC57A2BFFC57B2CFFC57B2CFFC57B2CFFC57A + 2BFFC47A29FFE0B98DFFAE5A12FFAE5911FFDFB583FFC67D2BFFC77E2EFFC67D + 2BFFC57B28FFC57A28FFC57B29FFC67D2CFFC77F30FFC78030FFC78032FFC780 + 30FFC88031FFE0B787FFAE5A12FFAD5810FFDCAF79FFFFFFFFFFC67B28FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF7F3FFC57A25FFFEFBFAFFC77E2BFFFFFE + FFFFCA8435FFDFB583FFAE5A12FFAD5810FFDCAC72FFFFFFFFFFC67A23FFFFFF + FFFFC67A22FFFFFFFFFFC57A22FFFFFFFFFFF8EEE4FFFFFFFFFFD69F62FFFFFF + FFFFCC8839FFE0B47FFFAE5A12FFAD5810FFDDAB6FFFFFFFFFFFFFFFFFFFFFFF + FFFFCC8430FFFFFFFFFFCB832FFFFFFFFFFFFFFFFFFFFFFFFFFFD9A366FFFEFB + F8FFD08F41FFE1B37CFFAE5912FFAD5810FFDFAD70FFFFFFFFFFCE8837FFFFFF + FFFFD08C3DFFFFFFFFFFD08B3CFFFFFFFFFFF1DCC3FFFAF3E9FFDBA96EFFFDFB + F7FFD39247FFE1B27AFFAD5912FFAD5810FFE1B072FFFFFFFFFFD5964BFFFFFF + FFFFD5974CFFFFFFFFFFD5964CFFFFFFFFFFD49549FFF5E8D8FFE1B27DFFFFFF + FFFFFEFDF9FFE1B276FFAD5911FFAD5912FFE4B57BFFDCA663FFDCA663FFDCA5 + 62FFDCA663FFDCA562FFDCA663FFDBA561FFDCA663FFDCA663FFDCA562FFDBA4 + 5FFFDCA662FFE4B67BFFAD5912FFAF5B14FFEAC084FFE5B879FFE5B779FFE5B7 + 78FFE5B779FFE5B778FFE5B779FFE5B778FFE5B779FFE5B779FFE5B778FFE5B7 + 78FFE5B879FFEAC084FFAF5B14FFAE5E18F2AF5B15FFAD5912FFAD5912FFAD59 + 12FFAD5912FFAD5912FFAD5912FFAD5912FFAD5912FFAD5912FFAD5912FFAD59 + 12FFAD5912FFAF5B15FFAE5E18F2000000300000003300000033000000330000 + 0033000000330000003300000033000000330000003300000033000000330000 + 0033000000330000003300000030FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00 } end diff --git a/src/ce_main.pas b/src/ce_main.pas index 36dc9c41..295e5ae9 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -7,7 +7,7 @@ interface uses Classes, SysUtils, FileUtil, SynEditKeyCmds, SynHighlighterLFM, Forms, asyncprocess, AnchorDocking, AnchorDockStorage, AnchorDockOptionsDlg, Controls, Graphics, - Dialogs, Menus, ActnList, ExtCtrls, process, XMLPropStorage, dynlibs, + Dialogs, Menus, ActnList, ExtCtrls, process, XMLPropStorage, dynlibs, SynExportHTML, ce_common, ce_dmdwrap, ce_project, ce_dcd, ce_plugin, ce_synmemo, ce_widget, ce_messages, ce_interfaces, ce_editor, ce_projinspect, ce_projconf, ce_search, ce_staticexplorer, ce_miniexplorer, ce_libman, ce_libmaneditor, @@ -34,6 +34,7 @@ type actEdFind: TAction; actEdFindNext: TAction; actFileOpenContFold: TAction; + actFileHtmlExport: TAction; actLayoutSave: TAction; actProjOpenContFold: TAction; actProjOptView: TAction; @@ -117,6 +118,7 @@ type MenuItem59: TMenuItem; MenuItem60: TMenuItem; MenuItem61: TMenuItem; + MenuItem62: TMenuItem; mnuLayout: TMenuItem; mnuItemMruFile: TMenuItem; mnuItemMruProj: TMenuItem; @@ -133,6 +135,7 @@ type procedure actFileCloseExecute(Sender: TObject); procedure actFileCompAndRunExecute(Sender: TObject); procedure actFileCompAndRunWithArgsExecute(Sender: TObject); + procedure actFileHtmlExportExecute(Sender: TObject); procedure actFileOpenContFoldExecute(Sender: TObject); procedure actFileSaveAllExecute(Sender: TObject); procedure actEdIndentExecute(Sender: TObject); @@ -165,6 +168,7 @@ type procedure actEdUndoExecute(Sender: TObject); procedure actProjSourceExecute(Sender: TObject); procedure actEdUnIndentExecute(Sender: TObject); + procedure ApplicationProperties1Activate(Sender: TObject); procedure ApplicationProperties1Exception(Sender: TObject; E: Exception); procedure ApplicationProperties1ShowHint(var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo); @@ -766,6 +770,7 @@ begin actFileClose.Enabled := true; actFileSaveAll.Enabled := true; actFileOpenContFold.Enabled := true; + actFileHtmlExport.Enabled := true; end else begin actEdCopy.Enabled := false; @@ -787,6 +792,7 @@ begin actFileClose.Enabled := false; actFileSaveAll.Enabled := false; actFileOpenContFold.Enabled := false; + actFileHtmlExport.Enabled := false; end; hasProj := fProject <> nil; actProjSave.Enabled := hasProj; @@ -957,6 +963,31 @@ end; {$ENDREGION} {$REGION file ------------------------------------------------------------------} +procedure TCEMainForm.actFileHtmlExportExecute(Sender: TObject); +var + exp: TSynExporterHTML; +begin + if fDoc = nil then + exit; + exp := TSynExporterHTML.Create(nil); + try + with TOpenDialog.Create(nil) do + try + if Execute then begin + exp.Highlighter := fDoc.Highlighter; + exp.Title := fDoc.fileName; + exp.ExportAsText:=true; + exp.ExportAll(fDoc.Lines); + exp.SaveToFile(filename); + end; + finally + Free; + end; + finally + exp.Free; + end; +end; + procedure TCEMainForm.newFile; begin if fEditWidg = nil then exit; @@ -1198,6 +1229,11 @@ begin fDoc.ExecuteCommand(ecBlockUnIndent, '', nil); end; +procedure TCEMainForm.ApplicationProperties1Activate(Sender: TObject); +begin + +end; + procedure TCEMainForm.actEdFindExecute(Sender: TObject); var win: TAnchorDockHostSite;