Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Tries to read the installed version of IE from iexplore.exe's file version info. Otherwise, tries from svcVersion as well as from Version in HKLM\Software\Microsoft\Internet Explorer. Moved composition of the plugin's menu items from the constructor to the override of SetInfo, since we now need the config dir, and we don't know that until we have a handle to the Npp window. |
|---|---|
| Timelines: | family | ancestors | descendants | both | version-override |
| Files: | files | file ages | folders |
| SHA1: |
dcf6086ee44568faaf30c5dcaa5c9a81 |
| User & Date: | Martijn 2013-07-14 09:37:53.469 |
References
|
2013-07-14
| ||
| 10:14 | • Fixed ticket [72b989980b]: IE10 not allowed plus 4 other changes artifact: 78f5c478e4 user: tinus | |
Context
|
2013-07-14
| ||
| 10:00 | Merged in changes from version-override (v1.3.1.0) check-in: ee91dce380 user: Martijn tags: updatecheck | |
| 09:44 | Release of v1.3.1.0 check-in: 4159519e53 user: Martijn tags: trunk, release, src-1.3.1.0 | |
| 09:37 | Tries to read the installed version of IE from iexplore.exe's file version info. Otherwise, tries from svcVersion as well as from Version in HKLM\Software\Microsoft\Internet Explorer. Moved composition of the plugin's menu items from the constructor to the override of SetInfo, since we now need the config dir, and we don't know that until we have a handle to the Npp window. Closed-Leaf check-in: dcf6086ee4 user: Martijn tags: version-override | |
|
2013-07-12
| ||
| 20:02 | Moved GetSettings to the plugin class. Read eventual version override from settings file (but it doesn't seem to work yet). check-in: ef8f24d6c5 user: Martijn tags: version-override | |
Changes
Changes to src/F_PreviewHTML.pas.
| ︙ | ︙ | |||
102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
//self.KeyPreview := true; // special hack for input forms
self.OnFloat := self.FormFloat;
self.OnDock := self.FormDock;
inherited;
FBufferID := -1;
with TNppPluginPreviewHTML(Npp).GetSettings() do begin
tmrAutorefresh.Interval := ReadInteger('Autorefresh', 'Interval', tmrAutorefresh.Interval);
end;
end {TfrmHTMLPreview.FormCreate};
{ ------------------------------------------------------------------------------------------------ }
procedure TfrmHTMLPreview.FormDestroy(Sender: TObject);
begin
FreeAndNil(FScrollPositions);
FreeAndNil(FFilterThread);
| > | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
//self.KeyPreview := true; // special hack for input forms
self.OnFloat := self.FormFloat;
self.OnDock := self.FormDock;
inherited;
FBufferID := -1;
with TNppPluginPreviewHTML(Npp).GetSettings() do begin
tmrAutorefresh.Interval := ReadInteger('Autorefresh', 'Interval', tmrAutorefresh.Interval);
Free;
end;
end {TfrmHTMLPreview.FormCreate};
{ ------------------------------------------------------------------------------------------------ }
procedure TfrmHTMLPreview.FormDestroy(Sender: TObject);
begin
FreeAndNil(FScrollPositions);
FreeAndNil(FFilterThread);
|
| ︙ | ︙ |
Changes to src/U_Npp_PreviewHTML.pas.
| ︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
type
TNppPluginPreviewHTML = class(TNppPlugin)
private
FSettings: TIniFile;
public
constructor Create;
procedure CommandShowPreview;
procedure CommandSetIEVersion(const BrowserEmulation: Integer);
procedure CommandOpenFile(const Filename: nppString);
procedure CommandShowAbout;
procedure CommandReplaceHelloWorld;
procedure DoNppnToolbarModification; override;
| > > > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
type
TNppPluginPreviewHTML = class(TNppPlugin)
private
FSettings: TIniFile;
public
constructor Create;
procedure SetInfo(NppData: TNppData); override;
procedure CommandShowPreview;
procedure CommandSetIEVersion(const BrowserEmulation: Integer);
procedure CommandOpenFile(const Filename: nppString);
procedure CommandShowAbout;
procedure CommandReplaceHelloWorld;
procedure DoNppnToolbarModification; override;
|
| ︙ | ︙ | |||
47 48 49 50 51 52 53 | Npp: TNppPluginPreviewHTML; //////////////////////////////////////////////////////////////////////////////////////////////////// implementation uses WebBrowser, Registry; | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
Npp: TNppPluginPreviewHTML;
////////////////////////////////////////////////////////////////////////////////////////////////////
implementation
uses
WebBrowser, Registry;
{ ------------------------------------------------------------------------------------------------ }
procedure _FuncReplaceHelloWorld; cdecl;
begin
Npp.CommandReplaceHelloWorld;
end;
{ ------------------------------------------------------------------------------------------------ }
procedure _FuncOpenSettings; cdecl;
|
| ︙ | ︙ | |||
163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
end;
{ ------------------------------------------------------------------------------------------------ }
procedure _FuncSetIE13; cdecl;
begin
Npp.CommandSetIEVersion(13000);
end;
{ ------------------------------------------------------------------------------------------------ }
procedure TNppPluginPreviewHTML.CommandOpenFile(const Filename: nppString);
var
FullPath: nppString;
begin
try
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
end;
{ ------------------------------------------------------------------------------------------------ }
procedure _FuncSetIE13; cdecl;
begin
Npp.CommandSetIEVersion(13000);
end;
{ ================================================================================================ }
{ TNppPluginPreviewHTML }
{ ------------------------------------------------------------------------------------------------ }
constructor TNppPluginPreviewHTML.Create;
begin
inherited;
self.PluginName := '&Preview HTML';
end {TNppPluginPreviewHTML.Create};
{ ------------------------------------------------------------------------------------------------ }
procedure TNppPluginPreviewHTML.SetInfo(NppData: TNppData);
var
IEVersion: string;
MajorIEVersion, Code, EmulatedVersion: Integer;
sk: TShortcutKey;
begin
inherited;
sk.IsShift := True; sk.IsCtrl := true; sk.IsAlt := False;
sk.Key := 'H'; // Ctrl-Shift-H
self.AddFuncItem('&Preview HTML', _FuncShowPreview, sk);
IEVersion := GetIEVersion;
with GetSettings do begin
IEVersion := ReadString('Emulation', 'Installed IE version', IEVersion);
Free;
end;
Val(IEVersion, MajorIEVersion, Code);
if Code <= 1 then
MajorIEVersion := 0;
EmulatedVersion := GetBrowserEmulation div 1000;
if MajorIEVersion > 7 then begin
self.AddFuncSeparator;
self.AddFuncItem('View as IE&7', _FuncSetIE7, EmulatedVersion = 7);
end;
if MajorIEVersion >= 8 then
self.AddFuncItem('View as IE&8', _FuncSetIE8, EmulatedVersion = 8);
if MajorIEVersion >= 9 then
self.AddFuncItem('View as IE&9', _FuncSetIE9, EmulatedVersion = 9);
if MajorIEVersion >= 10 then
self.AddFuncItem('View as IE1&0', _FuncSetIE10, EmulatedVersion = 10);
if MajorIEVersion >= 11 then
self.AddFuncItem('View as IE1&1', _FuncSetIE11, EmulatedVersion = 11);
if MajorIEVersion >= 12 then
self.AddFuncItem('View as IE1&2', _FuncSetIE12, EmulatedVersion = 12);
if MajorIEVersion >= 13 then
self.AddFuncItem('View as IE1&3', _FuncSetIE13, EmulatedVersion = 13);
self.AddFuncSeparator;
self.AddFuncItem('Edit &settings', _FuncOpenSettings);
self.AddFuncItem('Edit &filter definitions', _FuncOpenFilters);
self.AddFuncSeparator;
self.AddFuncItem('&About', _FuncShowAbout);
end {TNppPluginPreviewHTML.SetInfo};
{ ------------------------------------------------------------------------------------------------ }
procedure TNppPluginPreviewHTML.CommandOpenFile(const Filename: nppString);
var
FullPath: nppString;
begin
try
|
| ︙ | ︙ |
Changes to src/lib/WebBrowser.pas.
| ︙ | ︙ | |||
20 21 22 23 24 25 26 | function GetBrowserEmulation: Integer; procedure SetBrowserEmulation(const Value: Integer); function GetIEVersion: string; implementation uses | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
function GetBrowserEmulation: Integer;
procedure SetBrowserEmulation(const Value: Integer);
function GetIEVersion: string;
implementation
uses
SysUtils, Forms, ActiveX, Variants, Registry, Windows, L_VersionInfoW;
{ ------------------------------------------------------------------------------------------------ }
procedure TWBHelper.ExecJS(const Code: string);
begin
GetDocument.parentWindow.execScript(Code, 'JScript');
end;
|
| ︙ | ︙ | |||
145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
RegKey.Free;
end;
end {SetBrowserEmulation};
{ ------------------------------------------------------------------------------------------------ }
function GetIEVersion: string;
var
Reg: TRegistry;
begin
try
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKeyReadOnly('Software\Microsoft\Internet Explorer');
| > > > > > > > > > > > > > > > > > > | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
RegKey.Free;
end;
end {SetBrowserEmulation};
{ ------------------------------------------------------------------------------------------------ }
function GetIEVersion: string;
var
Exe: string;
Dummy: PChar;
VerInfo: TFileVersionInfo;
Reg: TRegistry;
begin
SetLength(Exe, MAX_PATH);
SetLength(Exe, SearchPath(nil, 'iexplore.exe', nil, MAX_PATH, PChar(Exe), Dummy));
if Length(Exe) > 0 then begin
VerInfo := TFileVersionInfo.Create(Exe);
try
Result := Format('%d.%d.%d.%d', [VerInfo.MajorVersion, VerInfo.MinorVersion, VerInfo.Revision, VerInfo.Build]);
Exit;
finally
VerInfo.Free;
end;
end;
try
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKeyReadOnly('Software\Microsoft\Internet Explorer');
if Reg.ValueExists('svcVersion') then
Result := Reg.ReadString('svcVersion')
else
Result := Reg.ReadString('Version');
Reg.CloseKey;
finally
Reg.Free;
end;
except
Result := '';
end;
end {GetIEVersion};
end.
|
Changes to src/lib/nppplugin.pas.
| ︙ | ︙ | |||
510 511 512 513 514 515 516 517 518 519 520 521 522 523 |
// df
function DoOpen(filename: String): boolean; overload;
function DoOpen(filename: String; Line: Integer): boolean; overload;
procedure GetFileLine(var filename: String; var Line: Integer);
function GetWord: string;
property ConfigDir: string read GetPluginsConfigDir;
end;
implementation
{ TNppPlugin }
| > | 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 |
// df
function DoOpen(filename: String): boolean; overload;
function DoOpen(filename: String; Line: Integer): boolean; overload;
procedure GetFileLine(var filename: String; var Line: Integer);
function GetWord: string;
// helpers
property ConfigDir: string read GetPluginsConfigDir;
end;
implementation
{ TNppPlugin }
|
| ︙ | ︙ |
Changes to src/prj/PreviewHTML.dproj.
| ︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
| > > > > > > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<Cfg_1_Win32>true</Cfg_1_Win32>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
|
| ︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | <DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_1)'!=''"> <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> <DCC_DebugInformation>false</DCC_DebugInformation> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_2)'!=''"> <DCC_SymbolReferenceInfo>2</DCC_SymbolReferenceInfo> <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> <DCC_Optimize>false</DCC_Optimize> <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> | > > > > | | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | <DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_1)'!=''"> <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> <DCC_DebugInformation>false</DCC_DebugInformation> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''"> <VerInfo_Keys>CompanyName=Voronwë;FileDescription=HTML Preview plugin for Notepad++;FileVersion=1.3.1.0;InternalName=PreviewHTML;LegalCopyright=© Martijn Coppoolse;LegalTrademarks=;OriginalFilename=PreviewHTML.dll;ProductName=Notepad++;ProductVersion=6.0.0.0;Comments=http://martijn.coppoolse.com/software</VerInfo_Keys> <VerInfo_Release>1</VerInfo_Release> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_2)'!=''"> <DCC_SymbolReferenceInfo>2</DCC_SymbolReferenceInfo> <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> <DCC_Optimize>false</DCC_Optimize> <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> <VerInfo_Release>1</VerInfo_Release> <VerInfo_Debug>true</VerInfo_Debug> <VerInfo_Keys>CompanyName=Voronwë;FileDescription=HTML Preview plugin for Notepad++;FileVersion=1.3.1.0;InternalName=PreviewHTML;LegalCopyright=© Martijn Coppoolse;LegalTrademarks=;OriginalFilename=PreviewHTML.dll;ProductName=Notepad++;ProductVersion=6.0.0.0;Comments=http://martijn.coppoolse.com/software</VerInfo_Keys> <PostBuildEvent><![CDATA[]]></PostBuildEvent> </PropertyGroup> <ItemGroup> <DelphiCompile Include="$(MainSource)"> <MainSource>MainSource</MainSource> </DelphiCompile> <RcCompile Include="PreviewHTML_TB.rc"> |
| ︙ | ︙ |