added file action, export to html

This commit is contained in:
Basile Burg 2014-12-06 22:40:47 +01:00
parent f567639784
commit 55dd5d13fe
2 changed files with 79 additions and 2 deletions

View File

@ -332,6 +332,9 @@ object CEMainForm: TCEMainForm
CEFFD8D1D2FFB37A06FFB78116FFB9851CC5BB871F00BB871F00 CEFFD8D1D2FFB37A06FFB78116FFB9851CC5BB871F00BB871F00
} }
end end
object MenuItem62: TMenuItem
Action = actFileHtmlExport
end
object MenuItem25: TMenuItem object MenuItem25: TMenuItem
Caption = '-' Caption = '-'
end end
@ -2117,11 +2120,17 @@ object CEMainForm: TCEMainForm
ImageIndex = 30 ImageIndex = 30
OnExecute = actLayoutSaveExecute OnExecute = actLayoutSaveExecute
end end
object actFileHtmlExport: TAction
Category = 'File'
Caption = 'Export to html...'
ImageIndex = 33
OnExecute = actFileHtmlExportExecute
end
end end
object imgList: TImageList object imgList: TImageList
left = 64 left = 64
Bitmap = { Bitmap = {
4C69210000001000000010000000008F4E00008C4AB000965DFF00935AFF0093 4C69220000001000000010000000008F4E00008C4AB000965DFF00935AFF0093
59FF009359FF009359FF009359FF009359FF00945AFF008743FF008945FF008A 59FF009359FF009359FF009359FF009359FF00945AFF008743FF008945FF008A
49A8FFFFFF00008F4E00008F4F00008E4E00008A47FF66E2D0FF62DDCAFF62DD 49A8FFFFFF00008F4E00008F4F00008E4E00008A47FF66E2D0FF62DDCAFF62DD
C8FF62DDC8FF62DDC8FF62DDC8FF62DDC8FF62DDC9FF61E0CAFF62DEC8FF3ABA C8FF62DDC8FF62DDC8FF62DDC8FF62DDC8FF62DDC9FF61E0CAFF62DEC8FF3ABA
@ -3177,6 +3186,38 @@ object CEMainForm: TCEMainForm
53FFB67751FFB47651FFB17450FFAD724FFFAA714FFFA86F4EFFA76E4DFFA66E 53FFB67751FFB47651FFB17450FFAD724FFFAA714FFFA86F4EFFA76E4DFFA66E
4DFEA46E4DF1A66E4DC4FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 4DFEA46E4DF1A66E4DC4FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 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 FF00FFFFFF00FFFFFF00FFFFFF00
} }
end end

View File

@ -7,7 +7,7 @@ interface
uses uses
Classes, SysUtils, FileUtil, SynEditKeyCmds, SynHighlighterLFM, Forms, asyncprocess, Classes, SysUtils, FileUtil, SynEditKeyCmds, SynHighlighterLFM, Forms, asyncprocess,
AnchorDocking, AnchorDockStorage, AnchorDockOptionsDlg, Controls, Graphics, 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_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_messages, ce_interfaces, ce_editor, ce_projinspect, ce_projconf, ce_search,
ce_staticexplorer, ce_miniexplorer, ce_libman, ce_libmaneditor, ce_staticexplorer, ce_miniexplorer, ce_libman, ce_libmaneditor,
@ -34,6 +34,7 @@ type
actEdFind: TAction; actEdFind: TAction;
actEdFindNext: TAction; actEdFindNext: TAction;
actFileOpenContFold: TAction; actFileOpenContFold: TAction;
actFileHtmlExport: TAction;
actLayoutSave: TAction; actLayoutSave: TAction;
actProjOpenContFold: TAction; actProjOpenContFold: TAction;
actProjOptView: TAction; actProjOptView: TAction;
@ -117,6 +118,7 @@ type
MenuItem59: TMenuItem; MenuItem59: TMenuItem;
MenuItem60: TMenuItem; MenuItem60: TMenuItem;
MenuItem61: TMenuItem; MenuItem61: TMenuItem;
MenuItem62: TMenuItem;
mnuLayout: TMenuItem; mnuLayout: TMenuItem;
mnuItemMruFile: TMenuItem; mnuItemMruFile: TMenuItem;
mnuItemMruProj: TMenuItem; mnuItemMruProj: TMenuItem;
@ -133,6 +135,7 @@ type
procedure actFileCloseExecute(Sender: TObject); procedure actFileCloseExecute(Sender: TObject);
procedure actFileCompAndRunExecute(Sender: TObject); procedure actFileCompAndRunExecute(Sender: TObject);
procedure actFileCompAndRunWithArgsExecute(Sender: TObject); procedure actFileCompAndRunWithArgsExecute(Sender: TObject);
procedure actFileHtmlExportExecute(Sender: TObject);
procedure actFileOpenContFoldExecute(Sender: TObject); procedure actFileOpenContFoldExecute(Sender: TObject);
procedure actFileSaveAllExecute(Sender: TObject); procedure actFileSaveAllExecute(Sender: TObject);
procedure actEdIndentExecute(Sender: TObject); procedure actEdIndentExecute(Sender: TObject);
@ -165,6 +168,7 @@ type
procedure actEdUndoExecute(Sender: TObject); procedure actEdUndoExecute(Sender: TObject);
procedure actProjSourceExecute(Sender: TObject); procedure actProjSourceExecute(Sender: TObject);
procedure actEdUnIndentExecute(Sender: TObject); procedure actEdUnIndentExecute(Sender: TObject);
procedure ApplicationProperties1Activate(Sender: TObject);
procedure ApplicationProperties1Exception(Sender: TObject; E: Exception); procedure ApplicationProperties1Exception(Sender: TObject; E: Exception);
procedure ApplicationProperties1ShowHint(var HintStr: string; procedure ApplicationProperties1ShowHint(var HintStr: string;
var CanShow: Boolean; var HintInfo: THintInfo); var CanShow: Boolean; var HintInfo: THintInfo);
@ -766,6 +770,7 @@ begin
actFileClose.Enabled := true; actFileClose.Enabled := true;
actFileSaveAll.Enabled := true; actFileSaveAll.Enabled := true;
actFileOpenContFold.Enabled := true; actFileOpenContFold.Enabled := true;
actFileHtmlExport.Enabled := true;
end end
else begin else begin
actEdCopy.Enabled := false; actEdCopy.Enabled := false;
@ -787,6 +792,7 @@ begin
actFileClose.Enabled := false; actFileClose.Enabled := false;
actFileSaveAll.Enabled := false; actFileSaveAll.Enabled := false;
actFileOpenContFold.Enabled := false; actFileOpenContFold.Enabled := false;
actFileHtmlExport.Enabled := false;
end; end;
hasProj := fProject <> nil; hasProj := fProject <> nil;
actProjSave.Enabled := hasProj; actProjSave.Enabled := hasProj;
@ -957,6 +963,31 @@ end;
{$ENDREGION} {$ENDREGION}
{$REGION file ------------------------------------------------------------------} {$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; procedure TCEMainForm.newFile;
begin begin
if fEditWidg = nil then exit; if fEditWidg = nil then exit;
@ -1198,6 +1229,11 @@ begin
fDoc.ExecuteCommand(ecBlockUnIndent, '', nil); fDoc.ExecuteCommand(ecBlockUnIndent, '', nil);
end; end;
procedure TCEMainForm.ApplicationProperties1Activate(Sender: TObject);
begin
end;
procedure TCEMainForm.actEdFindExecute(Sender: TObject); procedure TCEMainForm.actEdFindExecute(Sender: TObject);
var var
win: TAnchorDockHostSite; win: TAnchorDockHostSite;