mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-06 13:07:23 +01:00
IDE: Export as HTML
git-svn-id: trunk@36523 -
This commit is contained in:
parent
eb22eb28b9
commit
db25fe4136
@ -61,6 +61,7 @@ resourcestring
|
||||
lisDlgSave = 'Save ...';
|
||||
lisSaveAs = 'Save As';
|
||||
lisSaveAll = 'Save All';
|
||||
lisExportHtml = 'Export as HTML';
|
||||
lisCloseAll = 'Close All';
|
||||
lisFile = 'File';
|
||||
lisNew = 'New';
|
||||
|
||||
32
ide/main.pp
32
ide/main.pp
@ -202,6 +202,7 @@ type
|
||||
procedure mnuSaveClicked(Sender: TObject);
|
||||
procedure mnuSaveAsClicked(Sender: TObject);
|
||||
procedure mnuSaveAllClicked(Sender: TObject);
|
||||
procedure mnuExportHtml(Sender: TObject);
|
||||
procedure mnuCloseClicked(Sender: TObject);
|
||||
procedure mnuCloseAllClicked(Sender: TObject);
|
||||
procedure mnuCleanDirectoryClicked(Sender: TObject);
|
||||
@ -2470,6 +2471,7 @@ begin
|
||||
itmFileSave.OnClick := @mnuSaveClicked;
|
||||
itmFileSaveAs.OnClick := @mnuSaveAsClicked;
|
||||
itmFileSaveAll.OnClick := @mnuSaveAllClicked;
|
||||
itmFileExportHtml.OnClick := @mnuExportHtml;
|
||||
itmFileClose.Enabled := False;
|
||||
itmFileClose.OnClick := @mnuCloseClicked;
|
||||
itmFileCloseAll.Enabled := False;
|
||||
@ -2958,6 +2960,35 @@ begin
|
||||
DoSaveAll([sfCheckAmbiguousFiles]);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuExportHtml(Sender: TObject);
|
||||
var
|
||||
SrcEdit: TSourceEditor;
|
||||
AnUnitInfo: TUnitInfo;
|
||||
Filename: string;
|
||||
SaveDialog: TSaveDialog;
|
||||
begin
|
||||
GetCurrentUnit(SrcEdit,AnUnitInfo);
|
||||
if SrcEdit = nil then exit;
|
||||
|
||||
SaveDialog:=TSaveDialog.Create(nil);
|
||||
try
|
||||
SaveDialog.Title:=lisSaveSpace;
|
||||
SaveDialog.FileName:=SrcEdit.PageName+'.html';
|
||||
SaveDialog.Filter := ' (*.html;*.htm)|*.html;*.htm';
|
||||
SaveDialog.Options := [ofOverwritePrompt, ofPathMustExist, ofNoReadOnlyReturn];
|
||||
// show save dialog
|
||||
if (not SaveDialog.Execute) or (ExtractFileName(SaveDialog.Filename)='')
|
||||
then begin
|
||||
exit;
|
||||
end;
|
||||
Filename:=ExpandFileNameUTF8(SaveDialog.Filename);
|
||||
finally
|
||||
SaveDialog.Free;
|
||||
end;
|
||||
|
||||
SrcEdit.ExportAsHtml(Filename);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuCloseClicked(Sender: TObject);
|
||||
var
|
||||
PageIndex: integer;
|
||||
@ -8031,6 +8062,7 @@ begin
|
||||
MainIDEBar.itmFileSave.Enabled :=
|
||||
((SrcEdit<>nil) and SrcEdit.Modified)
|
||||
or ((AnUnitInfo<>nil) and (AnUnitInfo.IsVirtual));
|
||||
MainIDEBar.itmFileExportHtml.Enabled := (SrcEdit<>nil);
|
||||
if UpdateSaveAll then
|
||||
MainIDEBar.itmFileSaveAll.Enabled := MainIDEBar.itmProjectSave.Enabled;
|
||||
// toolbar buttons
|
||||
|
||||
@ -95,6 +95,7 @@ type
|
||||
itmFileSave: TIDEMenuCommand;
|
||||
itmFileSaveAs: TIDEMenuCommand;
|
||||
itmFileSaveAll: TIDEMenuCommand;
|
||||
itmFileExportHtml: TIDEMenuCommand;
|
||||
itmFileClose: TIDEMenuCommand;
|
||||
itmFileCloseAll: TIDEMenuCommand;
|
||||
//itmFileDirectories: TIDEMenuSection;
|
||||
|
||||
@ -390,6 +390,7 @@ begin
|
||||
CreateMenuItem(ParentMI,itmFileSave,'itmFileSave',lisMenuSave,'laz_save');
|
||||
CreateMenuItem(ParentMI,itmFileSaveAs,'itmFileSaveAs',lisMenuSaveAs,'menu_saveas');
|
||||
CreateMenuItem(ParentMI,itmFileSaveAll,'itmFileSaveAll',lisSaveAll,'menu_save_all');
|
||||
CreateMenuItem(ParentMI,itmFileExportHtml,'itmFileExportHtml',lisExportHtml,'menu_export_html');
|
||||
CreateMenuItem(ParentMI,itmFileClose,'itmFileClose',lisClose,'menu_close',false);
|
||||
CreateMenuItem(ParentMI,itmFileCloseAll,'itmFileCloseAll',lisMenuCloseAll,'menu_close_all',false);
|
||||
|
||||
|
||||
@ -54,6 +54,7 @@ uses
|
||||
SynEditMiscClasses, SynEditMarkupHighAll, SynEditMarks,
|
||||
SynBeautifier, SynEditTextBase, LazSynEditText,
|
||||
SynPluginSyncronizedEditBase, SourceSynEditor, SynMacroRecorder,
|
||||
SynExportHTML,
|
||||
// Intf
|
||||
SrcEditorIntf, MenuIntf, LazIDEIntf, PackageIntf, IDEHelpIntf, IDEImagesIntf,
|
||||
IDEWindowIntf, ProjectIntf,
|
||||
@ -417,6 +418,8 @@ type
|
||||
procedure CopyToClipboard; override;
|
||||
procedure CutToClipboard; override;
|
||||
|
||||
procedure ExportAsHtml(AFileName: String);
|
||||
|
||||
// context help
|
||||
procedure FindHelpForSourceAtCursor;
|
||||
|
||||
@ -3663,6 +3666,20 @@ begin
|
||||
FEditor.CutToClipboard;
|
||||
end;
|
||||
|
||||
procedure TSourceEditor.ExportAsHtml(AFileName: String);
|
||||
var
|
||||
Html: TSynExporterHTML;
|
||||
begin
|
||||
Html := TSynExporterHTML.Create(nil);
|
||||
Html.Clear;
|
||||
Html.ExportAsText := True;
|
||||
Html.Highlighter := FEditor.Highlighter;
|
||||
Html.Title := PageName;
|
||||
Html.ExportAll(FEditor.Lines);
|
||||
Html.SaveToFile(AFileName);
|
||||
Html.Free;
|
||||
end;
|
||||
|
||||
procedure TSourceEditor.FindHelpForSourceAtCursor;
|
||||
begin
|
||||
//DebugLn('TSourceEditor.FindHelpForSourceAtCursor A');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user