mirror of
https://github.com/reactos/reactos.git
synced 2025-01-01 03:54:02 +00:00
- Sync atl, hlink, shdocvw, wtsapi32 with Wine 1.3.7
svn path=/trunk/; revision=49631
This commit is contained in:
parent
752c855c83
commit
4e31a0e529
40 changed files with 2729 additions and 139 deletions
|
@ -2,10 +2,10 @@ HKCR
|
|||
{
|
||||
ATL.Registrar = s 'Registrar Class'
|
||||
{
|
||||
CLSID = s '%CLSID_ATLRegistrar%'
|
||||
CLSID = s '%CLSID_Registrar%'
|
||||
}
|
||||
NoRemove CLSID {
|
||||
ForceRemove '%CLSID_ATLRegistrar%' = s 'Registrar Class'
|
||||
ForceRemove '%CLSID_Registrar%' = s 'Registrar Class'
|
||||
{
|
||||
ProgID = s 'ATL.Registrar'
|
||||
InprocServer32 = s '%MODULE%'
|
||||
|
|
|
@ -1053,6 +1053,9 @@ HRESULT WINAPI AtlAxAttachControl(IUnknown* pControl, HWND hWnd, IUnknown** ppUn
|
|||
*ppUnkContainer = (IUnknown*) pUnkContainer;
|
||||
}
|
||||
|
||||
if(!hWnd)
|
||||
return S_FALSE;
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
import "ocidl.idl";
|
||||
|
||||
cpp_quote("#ifdef ATL_INITGUID")
|
||||
cpp_quote("#include \"initguid.h\"")
|
||||
cpp_quote("#include <initguid.h>")
|
||||
cpp_quote("#endif")
|
||||
|
||||
[
|
||||
|
@ -68,7 +68,7 @@ interface IRegistrar : IUnknown
|
|||
[in] LPCOLESTR szType);
|
||||
}
|
||||
|
||||
cpp_quote("DEFINE_GUID(CLSID_ATLRegistrar,0x44ec053a,0x400f,0x11d0,0x9d,0xcd,0x00,0xa0,0xc9,0x03,0x91,0xd3);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_Registrar,0x44ec053a,0x400f,0x11d0,0x9d,0xcd,0x00,0xa0,0xc9,0x03,0x91,0xd3);")
|
||||
|
||||
cpp_quote("HRESULT WINAPI AtlAxCreateControl(LPCOLESTR,HWND,IStream*,IUnknown**);")
|
||||
cpp_quote("HRESULT WINAPI AtlAxCreateControlEx(LPCOLESTR,HWND,IStream*,IUnknown**,IUnknown**,REFIID,IUnknown*);")
|
||||
|
|
|
@ -687,8 +687,9 @@ static HRESULT WINAPI RegistrarCF_QueryInterface(IClassFactory *iface, REFIID ri
|
|||
{
|
||||
TRACE("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppvObject);
|
||||
|
||||
if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IRegistrar, riid)) {
|
||||
if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IClassFactory, riid)) {
|
||||
*ppvObject = iface;
|
||||
IClassFactory_AddRef( iface );
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@ -743,10 +744,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, LPVOID *ppvObject)
|
|||
{
|
||||
TRACE("(%s %s %p)\n", debugstr_guid(clsid), debugstr_guid(riid), ppvObject);
|
||||
|
||||
if(IsEqualGUID(&CLSID_ATLRegistrar, clsid)) {
|
||||
*ppvObject = &RegistrarCF;
|
||||
return S_OK;
|
||||
}
|
||||
if(IsEqualGUID(&CLSID_Registrar, clsid))
|
||||
return IClassFactory_QueryInterface( &RegistrarCF, riid, ppvObject );
|
||||
|
||||
FIXME("Not supported class %s\n", debugstr_guid(clsid));
|
||||
return CLASS_E_CLASSNOTAVAILABLE;
|
||||
|
@ -787,14 +786,14 @@ static HRESULT do_register_dll_server(IRegistrar *pRegistrar, LPCOLESTR wszDll,
|
|||
|
||||
static HRESULT do_register_server(BOOL do_register)
|
||||
{
|
||||
static const WCHAR CLSID_ATLRegistrarW[] =
|
||||
{'C','L','S','I','D','_','A','T','L','R','e','g','i','s','t','r','a','r',0};
|
||||
static const WCHAR CLSID_RegistrarW[] =
|
||||
{'C','L','S','I','D','_','R','e','g','i','s','t','r','a','r',0};
|
||||
static const WCHAR atl_dllW[] = {'a','t','l','.','d','l','l',0};
|
||||
|
||||
WCHAR clsid_str[40];
|
||||
const struct _ATL_REGMAP_ENTRY reg_map[] = {{CLSID_ATLRegistrarW, clsid_str}, {NULL,NULL}};
|
||||
const struct _ATL_REGMAP_ENTRY reg_map[] = {{CLSID_RegistrarW, clsid_str}, {NULL,NULL}};
|
||||
|
||||
StringFromGUID2(&CLSID_ATLRegistrar, clsid_str, sizeof(clsid_str)/sizeof(WCHAR));
|
||||
StringFromGUID2(&CLSID_Registrar, clsid_str, sizeof(clsid_str)/sizeof(WCHAR));
|
||||
return do_register_dll_server(NULL, atl_dllW, MAKEINTRESOURCEW(101), do_register, reg_map);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
4 stdcall HlinkCreateFromString(wstr wstr wstr ptr long ptr ptr ptr)
|
||||
5 stdcall HlinkCreateFromData(ptr ptr long ptr ptr ptr)
|
||||
6 stdcall HlinkCreateBrowseContext(ptr ptr ptr)
|
||||
7 stub HlinkClone
|
||||
7 stdcall HlinkClone(ptr ptr ptr long ptr)
|
||||
8 stdcall HlinkNavigateToStringReference(wstr wstr ptr long ptr long ptr ptr ptr)
|
||||
9 stdcall HlinkOnNavigate(ptr ptr long ptr wstr wstr ptr)
|
||||
10 stdcall HlinkNavigate(ptr ptr long ptr ptr ptr)
|
||||
|
|
|
@ -428,6 +428,71 @@ HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER pimkReference, DWORD reserve
|
|||
return IMoniker_BindToStorage(pimkReference, pibc, NULL, &IID_IUnknown, &obj);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* HlinkClone (HLINK.@)
|
||||
*/
|
||||
HRESULT WINAPI HlinkClone(IHlink *hlink, REFIID riid, IHlinkSite *hls,
|
||||
DWORD site_data, void **obj)
|
||||
{
|
||||
IMoniker *mk, *clone_mk = NULL;
|
||||
WCHAR *loc, *name = NULL;
|
||||
HRESULT hres;
|
||||
|
||||
if(!hlink || !riid || !obj)
|
||||
return E_INVALIDARG;
|
||||
|
||||
*obj = NULL;
|
||||
|
||||
hres = IHlink_GetMonikerReference(hlink, HLINKGETREF_DEFAULT, &mk, &loc);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
if(mk) {
|
||||
IStream *strm;
|
||||
LARGE_INTEGER lgint;
|
||||
|
||||
hres = CreateStreamOnHGlobal(NULL, TRUE, &strm);
|
||||
if(FAILED(hres)) {
|
||||
IMoniker_Release(mk);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
hres = OleSaveToStream((IPersistStream*)mk, strm);
|
||||
if(FAILED(hres)) {
|
||||
IStream_Release(strm);
|
||||
IMoniker_Release(mk);
|
||||
goto cleanup;
|
||||
}
|
||||
IMoniker_Release(mk);
|
||||
|
||||
lgint.QuadPart = 0;
|
||||
hres = IStream_Seek(strm, lgint, STREAM_SEEK_SET, NULL);
|
||||
if(FAILED(hres)) {
|
||||
IStream_Release(strm);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
hres = OleLoadFromStream(strm, &IID_IMoniker, (void**)&clone_mk);
|
||||
IStream_Release(strm);
|
||||
if(FAILED(hres))
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
hres = IHlink_GetFriendlyName(hlink, HLFNAMEF_DEFAULT, &name);
|
||||
if(FAILED(hres))
|
||||
goto cleanup;
|
||||
|
||||
hres = HlinkCreateFromMoniker(clone_mk, loc, name, hls, site_data, NULL,
|
||||
&IID_IHlink, obj);
|
||||
|
||||
cleanup:
|
||||
if(clone_mk)
|
||||
IMoniker_Release(clone_mk);
|
||||
CoTaskMemFree(loc);
|
||||
CoTaskMemFree(name);
|
||||
return hres;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HLinkCF_fnQueryInterface ( LPCLASSFACTORY iface,
|
||||
REFIID riid, LPVOID *ppvObj)
|
||||
{
|
||||
|
|
|
@ -69,20 +69,40 @@ static inline HlinkImpl* HlinkImpl_from_IDataObject( IDataObject* iface)
|
|||
return (HlinkImpl*) ((CHAR*)iface - FIELD_OFFSET(HlinkImpl, lpDOVtbl));
|
||||
}
|
||||
|
||||
static inline void __GetMoniker(HlinkImpl* This, IMoniker** moniker)
|
||||
static HRESULT __GetMoniker(HlinkImpl* This, IMoniker** moniker,
|
||||
DWORD ref_type)
|
||||
{
|
||||
*moniker = NULL;
|
||||
if (This->Moniker)
|
||||
HRESULT hres;
|
||||
|
||||
if (ref_type == HLINKGETREF_DEFAULT)
|
||||
ref_type = HLINKGETREF_RELATIVE;
|
||||
|
||||
if (ref_type == HLINKGETREF_ABSOLUTE && This->Site)
|
||||
{
|
||||
*moniker = This->Moniker;
|
||||
if (*moniker)
|
||||
IMoniker_AddRef(*moniker);
|
||||
}
|
||||
else if (This->Site)
|
||||
{
|
||||
IHlinkSite_GetMoniker(This->Site, This->SiteData,
|
||||
OLEGETMONIKER_FORCEASSIGN, OLEWHICHMK_CONTAINER, moniker);
|
||||
IMoniker *hls_moniker;
|
||||
|
||||
hres = IHlinkSite_GetMoniker(This->Site, This->SiteData,
|
||||
OLEGETMONIKER_FORCEASSIGN, OLEWHICHMK_CONTAINER, &hls_moniker);
|
||||
if (FAILED(hres))
|
||||
return hres;
|
||||
|
||||
if (This->Moniker)
|
||||
{
|
||||
hres = IMoniker_ComposeWith(hls_moniker, This->Moniker, FALSE,
|
||||
moniker);
|
||||
IMoniker_Release(hls_moniker);
|
||||
return hres;
|
||||
}
|
||||
|
||||
*moniker = hls_moniker;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
*moniker = This->Moniker;
|
||||
if (*moniker)
|
||||
IMoniker_AddRef(*moniker);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI HLink_Constructor(IUnknown *pUnkOuter, REFIID riid,
|
||||
|
@ -191,10 +211,11 @@ static HRESULT WINAPI IHlink_fnGetHlinkSite( IHlink* iface,
|
|||
TRACE("(%p)->(%p %p)\n", This, ppihlSite, pdwSiteData);
|
||||
|
||||
*ppihlSite = This->Site;
|
||||
*pdwSiteData = This->SiteData;
|
||||
|
||||
if (This->Site)
|
||||
if (This->Site) {
|
||||
IHlinkSite_AddRef(This->Site);
|
||||
*pdwSiteData = This->SiteData;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
@ -307,8 +328,16 @@ static HRESULT WINAPI IHlink_fnGetMonikerReference(IHlink* iface,
|
|||
TRACE("(%p) -> (%i %p %p)\n", This, dwWhichRef, ppimkTarget,
|
||||
ppwzLocation);
|
||||
|
||||
if(ppimkTarget)
|
||||
__GetMoniker(This, ppimkTarget);
|
||||
if (ppimkTarget)
|
||||
{
|
||||
HRESULT hres = __GetMoniker(This, ppimkTarget, dwWhichRef);
|
||||
if (FAILED(hres))
|
||||
{
|
||||
if (ppwzLocation)
|
||||
*ppwzLocation = NULL;
|
||||
return hres;
|
||||
}
|
||||
}
|
||||
|
||||
if (ppwzLocation)
|
||||
IHlink_GetStringReference(iface, dwWhichRef, NULL, ppwzLocation);
|
||||
|
@ -323,7 +352,6 @@ static HRESULT WINAPI IHlink_fnGetStringReference (IHlink* iface,
|
|||
|
||||
TRACE("(%p) -> (%i %p %p)\n", This, dwWhichRef, ppwzTarget, ppwzLocation);
|
||||
|
||||
/* note: undocumented behavior with dwWhichRef == -1 */
|
||||
if(dwWhichRef != -1 && dwWhichRef & ~(HLINKGETREF_DEFAULT | HLINKGETREF_ABSOLUTE | HLINKGETREF_RELATIVE))
|
||||
{
|
||||
if(ppwzTarget)
|
||||
|
@ -333,13 +361,16 @@ static HRESULT WINAPI IHlink_fnGetStringReference (IHlink* iface,
|
|||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
if(dwWhichRef != HLINKGETREF_DEFAULT)
|
||||
FIXME("unhandled flags: 0x%x\n", dwWhichRef);
|
||||
|
||||
if (ppwzTarget)
|
||||
{
|
||||
IMoniker* mon;
|
||||
__GetMoniker(This, &mon);
|
||||
HRESULT hres = __GetMoniker(This, &mon, dwWhichRef);
|
||||
if (FAILED(hres))
|
||||
{
|
||||
if (ppwzLocation)
|
||||
*ppwzLocation = NULL;
|
||||
return hres;
|
||||
}
|
||||
if (mon)
|
||||
{
|
||||
IBindCtx *pbc;
|
||||
|
@ -389,7 +420,12 @@ static HRESULT WINAPI IHlink_fnGetFriendlyName (IHlink* iface,
|
|||
else
|
||||
{
|
||||
IMoniker *moniker;
|
||||
__GetMoniker(This, &moniker);
|
||||
HRESULT hres = __GetMoniker(This, &moniker, HLINKGETREF_DEFAULT);
|
||||
if (FAILED(hres))
|
||||
{
|
||||
*ppwzFriendlyName = NULL;
|
||||
return hres;
|
||||
}
|
||||
if (moniker)
|
||||
{
|
||||
IBindCtx *bcxt;
|
||||
|
@ -440,20 +476,17 @@ static HRESULT WINAPI IHlink_fnNavigate(IHlink* iface, DWORD grfHLNF, LPBC pbc,
|
|||
{
|
||||
HlinkImpl *This = (HlinkImpl*)iface;
|
||||
IMoniker *mon = NULL;
|
||||
HRESULT r;
|
||||
|
||||
FIXME("Semi-Stub:(%p)->(%i %p %p %p)\n", This, grfHLNF, pbc, pbsc, phbc);
|
||||
|
||||
if (This->Site)
|
||||
IHlinkSite_ReadyToNavigate(This->Site, This->SiteData, 0);
|
||||
|
||||
__GetMoniker(This, &mon);
|
||||
r = __GetMoniker(This, &mon, HLINKGETREF_ABSOLUTE);
|
||||
TRACE("Moniker %p\n", mon);
|
||||
|
||||
if (mon)
|
||||
if (SUCCEEDED(r))
|
||||
{
|
||||
IBindCtx *bcxt;
|
||||
IHlinkTarget *target = NULL;
|
||||
HRESULT r = S_OK;
|
||||
|
||||
CreateBindCtx(0, &bcxt);
|
||||
|
||||
|
@ -488,10 +521,10 @@ static HRESULT WINAPI IHlink_fnNavigate(IHlink* iface, DWORD grfHLNF, LPBC pbc,
|
|||
}
|
||||
|
||||
if (This->Site)
|
||||
IHlinkSite_OnNavigationComplete(This->Site, This->SiteData, 0, 0, NULL);
|
||||
IHlinkSite_OnNavigationComplete(This->Site, This->SiteData, 0, r, NULL);
|
||||
|
||||
TRACE("Finished Navigation\n");
|
||||
return S_OK;
|
||||
return r;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IHlink_fnSetAdditonalParams(IHlink* iface,
|
||||
|
@ -782,14 +815,17 @@ end:
|
|||
static HRESULT WINAPI IPersistStream_fnSave(IPersistStream* iface,
|
||||
IStream* pStm, BOOL fClearDirty)
|
||||
{
|
||||
HRESULT r = E_FAIL;
|
||||
HRESULT r;
|
||||
HlinkImpl *This = HlinkImpl_from_IPersistStream(iface);
|
||||
DWORD hdr[2];
|
||||
IMoniker *moniker;
|
||||
|
||||
TRACE("(%p) Moniker(%p)\n", This, This->Moniker);
|
||||
|
||||
__GetMoniker(This, &moniker);
|
||||
r = __GetMoniker(This, &moniker, HLINKGETREF_DEFAULT);
|
||||
if (FAILED(r))
|
||||
return r;
|
||||
r = E_FAIL;
|
||||
|
||||
hdr[0] = HLINK_SAVE_MAGIC;
|
||||
hdr[1] = 0;
|
||||
|
@ -850,7 +886,7 @@ end:
|
|||
static HRESULT WINAPI IPersistStream_fnGetSizeMax(IPersistStream* iface,
|
||||
ULARGE_INTEGER* pcbSize)
|
||||
{
|
||||
HRESULT r = E_FAIL;
|
||||
HRESULT r;
|
||||
HlinkImpl *This = HlinkImpl_from_IPersistStream(iface);
|
||||
IMoniker *moniker;
|
||||
|
||||
|
@ -864,7 +900,11 @@ static HRESULT WINAPI IPersistStream_fnGetSizeMax(IPersistStream* iface,
|
|||
if (This->FriendlyName)
|
||||
pcbSize->QuadPart += size_hlink_string(This->FriendlyName);
|
||||
|
||||
__GetMoniker(This, &moniker);
|
||||
r = __GetMoniker(This, &moniker, HLINKGETREF_DEFAULT);
|
||||
if (FAILED(r))
|
||||
return r;
|
||||
r = E_FAIL;
|
||||
|
||||
if (moniker)
|
||||
{
|
||||
IPersistStream* monstream = NULL;
|
||||
|
|
88
reactos/dll/win32/shdocvw/De.rc
Normal file
88
reactos/dll/win32/shdocvw/De.rc
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright 2010 André Hentschel
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "URL öffnen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Geben Sie die Url ein, die Sie mit Internet Explorer öffnen möchten",-1,30, 5, 150,15
|
||||
LTEXT "Öffnen:", -1, 2, 32, 25, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 30, 30, 160, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 30, 50, 50, 15
|
||||
PUSHBUTTON "&Abbrechen", IDCANCEL, 90, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Datei"
|
||||
{
|
||||
POPUP "&Neu"
|
||||
{
|
||||
MENUITEM "&Fenster" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "Ö&ffnen...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Speichern", ID_BROWSE_SAVE
|
||||
MENUITEM "Speichern &als...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Seite &einrichten...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "Dr&ucken...", ID_BROWSE_PRINT
|
||||
MENUITEM "Seiten&vorschau...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ei&genschaften...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Beenden", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Ansicht"
|
||||
{
|
||||
POPUP "&Symbolleisten"
|
||||
{
|
||||
MENUITEM "&Standard" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Adressleiste" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Favoriten"
|
||||
{
|
||||
MENUITEM "&Zu den Favoriten hinzufügen..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Hilfe"
|
||||
{
|
||||
MENUITEM "Über &Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Zurück"
|
||||
IDS_TB_FORWARD "Vorwärts"
|
||||
IDS_TB_STOP "Stopp"
|
||||
IDS_TB_REFRESH "Neu laden"
|
||||
IDS_TB_HOME "Start"
|
||||
IDS_TB_PRINT "Drucken"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Adresse"
|
||||
}
|
|
@ -49,9 +49,38 @@ IDR_BROWSE_MAIN_MENU MENU
|
|||
MENUITEM "Print previe&w...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Properties...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Close", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&View"
|
||||
{
|
||||
POPUP "&Toolbars"
|
||||
{
|
||||
MENUITEM "&Standard bar" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Address bar" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Favorites"
|
||||
{
|
||||
MENUITEM "&Add to Favorites..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Help"
|
||||
{
|
||||
MENUITEM "&About Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Back"
|
||||
IDS_TB_FORWARD "Forward"
|
||||
IDS_TB_STOP "Stop"
|
||||
IDS_TB_REFRESH "Refresh"
|
||||
IDS_TB_HOME "Home"
|
||||
IDS_TB_PRINT "Print"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Address"
|
||||
}
|
||||
|
|
89
reactos/dll/win32/shdocvw/Es.rc
Normal file
89
reactos/dll/win32/shdocvw/Es.rc
Normal file
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* Spanish resources for shdocvw
|
||||
*
|
||||
* Copyright 2010 José Rostagno
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Abrir URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Especifique la dirección que desea abrir en Internet Explorer",-1,25, 5, 150,15
|
||||
LTEXT "Abrir:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&Aceptar", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Archivo"
|
||||
{
|
||||
POPUP "&Nuevo"
|
||||
{
|
||||
MENUITEM "&Ventana" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Abrir...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Guardar", ID_BROWSE_SAVE
|
||||
MENUITEM "Guardar &como...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Formato de impresión...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "&Imprimir...", ID_BROWSE_PRINT
|
||||
MENUITEM "&Vista previa de impresión...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Propiedades...", ID_BROWSE_PROPERTIES
|
||||
}
|
||||
POPUP "&Ver"
|
||||
{
|
||||
POPUP "&Barra de herramientas"
|
||||
{
|
||||
MENUITEM "Barra &estándar" ID_BROWSE_BAR_STD
|
||||
MENUITEM "Barra de &direcciones" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Favoritos"
|
||||
{
|
||||
MENUITEM "&Añadir a Favoritos..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "A&yuda"
|
||||
{
|
||||
MENUITEM "Acerca &de Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Atrás"
|
||||
IDS_TB_FORWARD "Adelante"
|
||||
IDS_TB_STOP "Detener"
|
||||
IDS_TB_REFRESH "Recargar"
|
||||
IDS_TB_HOME "Inicio"
|
||||
IDS_TB_PRINT "Imprimir"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Dirección"
|
||||
}
|
91
reactos/dll/win32/shdocvw/Fr.rc
Normal file
91
reactos/dll/win32/shdocvw/Fr.rc
Normal file
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* shdocvw French resources
|
||||
*
|
||||
* Copyright 2010 Frédéric Delanoy
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Open URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Spécifiez l'URL que vous désirez ouvrir dans Internet Explorer :",-1,30, 6, 150, 17
|
||||
LTEXT "Ouvrir :", -1, 2, 32, 27, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 30, 30, 155, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 54, 50, 50, 15
|
||||
PUSHBUTTON "&Annuler", IDCANCEL, 114, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Fichier"
|
||||
{
|
||||
POPUP "&Nouvelle"
|
||||
{
|
||||
MENUITEM "&Fenêtre" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Ouvrir...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Enregistrer", ID_BROWSE_SAVE
|
||||
MENUITEM "Enregistrer &sous...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Format d'impression...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "&Imprimer...", ID_BROWSE_PRINT
|
||||
MENUITEM "&Aperçu avant impression...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Propriétés...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Quitter", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Afficher"
|
||||
{
|
||||
POPUP "&Barres d'outils"
|
||||
{
|
||||
MENUITEM "Barre &standard" ID_BROWSE_BAR_STD
|
||||
MENUITEM "Barre d'&adresse" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Favoris"
|
||||
{
|
||||
MENUITEM "&Ajouter aux favoris..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "A&ide"
|
||||
{
|
||||
MENUITEM "À &propos d'Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Précédent"
|
||||
IDS_TB_FORWARD "Suivant"
|
||||
IDS_TB_STOP "Arrêter"
|
||||
IDS_TB_REFRESH "Recharger"
|
||||
IDS_TB_HOME "Accueil"
|
||||
IDS_TB_PRINT "Imprimer"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Adresse"
|
||||
}
|
90
reactos/dll/win32/shdocvw/He.rc
Normal file
90
reactos/dll/win32/shdocvw/He.rc
Normal file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
|
||||
* Copyright 2010 Yaron Shahrabani <sh.yaron@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "פתיחת כתובת"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "נא לציין את הכתובת אותה ברצונך לפתוח באמצעות Internet Explorer",-1,25, 5, 150,15
|
||||
LTEXT "פתיחה:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&אישור", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&ביטול", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&קובץ"
|
||||
{
|
||||
POPUP "&חדש"
|
||||
{
|
||||
MENUITEM "&חלון" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&פתיחה...", ID_BROWSE_OPEN
|
||||
MENUITEM "&שמירה", ID_BROWSE_SAVE
|
||||
MENUITEM "שמירה &בשם...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&תצורת ההדפסה...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "ה&דפסה...", ID_BROWSE_PRINT
|
||||
MENUITEM "תצוגה מ&קדימה להדפסה...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "מ&אפיינים...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&סגירה", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&תצוגה"
|
||||
{
|
||||
POPUP "&סרגלי כלים"
|
||||
{
|
||||
MENUITEM "סרגל הכלים ה&רגיל" ID_BROWSE_BAR_STD
|
||||
MENUITEM "סרגל ה&כתובות" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&מועדפים"
|
||||
{
|
||||
MENUITEM "הו&ספה למועדפים..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "ע&זרה"
|
||||
{
|
||||
MENUITEM "על &אודות Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "חזרה"
|
||||
IDS_TB_FORWARD "קדימה"
|
||||
IDS_TB_STOP "עצירה"
|
||||
IDS_TB_REFRESH "רענון"
|
||||
IDS_TB_HOME "דף הבית"
|
||||
IDS_TB_PRINT "הדפסה"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "כתובת"
|
||||
}
|
90
reactos/dll/win32/shdocvw/It.rc
Normal file
90
reactos/dll/win32/shdocvw/It.rc
Normal file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
|
||||
* Copyright 2010 Luca Bennati <lucak3@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Apri URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Specifica l'URL che vuoi aprire in Internet Explorer",-1,25, 5, 150,15
|
||||
LTEXT "Apri:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Annulla", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&File"
|
||||
{
|
||||
POPUP "&Nuova"
|
||||
{
|
||||
MENUITEM "Fin&estra" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Apri...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Salva", ID_BROWSE_SAVE
|
||||
MENUITEM "Sa&lva come...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Imposta pagina...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "S&tampa...", ID_BROWSE_PRINT
|
||||
MENUITEM "Antepri&ma di stampa...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Proprietà...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Chiudi", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Visualizza"
|
||||
{
|
||||
POPUP "&Barre degli strumenti"
|
||||
{
|
||||
MENUITEM "Barra &predefinita" ID_BROWSE_BAR_STD
|
||||
MENUITEM "Barra dell'&indirizzo" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Preferiti"
|
||||
{
|
||||
MENUITEM "&Aggiungi ai Preferiti..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Aiuto"
|
||||
{
|
||||
MENUITEM "&Informazioni su Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Indietro"
|
||||
IDS_TB_FORWARD "Avanti"
|
||||
IDS_TB_STOP "Ferma"
|
||||
IDS_TB_REFRESH "Aggiorna"
|
||||
IDS_TB_HOME "Inizio"
|
||||
IDS_TB_PRINT "Stampa"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Indirizzo"
|
||||
}
|
88
reactos/dll/win32/shdocvw/Ko.rc
Normal file
88
reactos/dll/win32/shdocvw/Ko.rc
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
|
||||
* Copyright 2010 YunSOng Hwang
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "URL 열기"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "인터넷 익스플로어로 열 URL 지정",-1,25, 5, 150,15
|
||||
LTEXT "열기:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "확인(&O)", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "취소(&C)", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "파일(&F)"
|
||||
{
|
||||
POPUP "새 작업(&N)"
|
||||
{
|
||||
MENUITEM "창(&W)" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "열기(&O)...", ID_BROWSE_OPEN
|
||||
MENUITEM "저장(&S)", ID_BROWSE_SAVE
|
||||
MENUITEM "다른 이름으로 저장(&A)...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "인쇄 형식(&F)...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "인쇄(&I)...", ID_BROWSE_PRINT
|
||||
MENUITEM "인쇄 미리보기(&W)...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "속성(&P)...", ID_BROWSE_PROPERTIES
|
||||
}
|
||||
POPUP "보기(&V)"
|
||||
{
|
||||
POPUP "도구바(&T)"
|
||||
{
|
||||
MENUITEM "표준 바(&S)" ID_BROWSE_BAR_STD
|
||||
MENUITEM "주소 바(&A)" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "즐겨찾기(&F)"
|
||||
{
|
||||
MENUITEM "즐겨찾기 추가(&A)..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "도움말(&H)"
|
||||
{
|
||||
MENUITEM "인터넷 익스플로어 정보(&A)...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "뒤로"
|
||||
IDS_TB_FORWARD "앞으로"
|
||||
IDS_TB_STOP "멈추기"
|
||||
IDS_TB_REFRESH "새로 고침"
|
||||
IDS_TB_HOME "홈"
|
||||
IDS_TB_PRINT "인쇄"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "주소"
|
||||
}
|
89
reactos/dll/win32/shdocvw/Lt.rc
Normal file
89
reactos/dll/win32/shdocvw/Lt.rc
Normal file
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* Copyright 2010 Aurimas Fišeras <aurimas@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Atverti URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Nurodykite URL, kurį norite atverti su interneto naršykle",-1 ,30, 5, 150, 16
|
||||
LTEXT "Atverti:", -1, 2, 32, 25, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 30, 30, 160, 13
|
||||
DEFPUSHBUTTON "&Gerai", IDOK, 30, 50, 50, 15
|
||||
PUSHBUTTON "&Atsisakyti", IDCANCEL, 90, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Failas"
|
||||
{
|
||||
POPUP "&Naujas"
|
||||
{
|
||||
MENUITEM "&Langas" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Atverti...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Išsaugoti", ID_BROWSE_SAVE
|
||||
MENUITEM "Išsaugoti &kaip...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Spaudinio &formatas...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "S&pausdinti...", ID_BROWSE_PRINT
|
||||
MENUITEM "Spaudinio pe&ržiūra...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Savybės...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Užverti", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Rodymas"
|
||||
{
|
||||
POPUP "&Įrankių juosta"
|
||||
{
|
||||
MENUITEM "Į&prastinė juosta" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Adreso juosta" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Adresynas"
|
||||
{
|
||||
MENUITEM "Į&rašyti į adresyną..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Žinynas"
|
||||
{
|
||||
MENUITEM "&Apie interneto naršyklę...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Atgal"
|
||||
IDS_TB_FORWARD "Pirmyn"
|
||||
IDS_TB_STOP "Stabdyti"
|
||||
IDS_TB_REFRESH "Atnaujinti"
|
||||
IDS_TB_HOME "Pradžia"
|
||||
IDS_TB_PRINT "Spausdinti"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Adresas"
|
||||
}
|
86
reactos/dll/win32/shdocvw/Nl.rc
Normal file
86
reactos/dll/win32/shdocvw/Nl.rc
Normal file
|
@ -0,0 +1,86 @@
|
|||
/*
|
||||
* Copyright 2010 Sven Baars
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Open URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Specificeer de URL die u wilt openen in Internet Explorer",-1,25, 5, 150,15
|
||||
LTEXT "Open:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Annuleren", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Bestand"
|
||||
{
|
||||
POPUP "&Nieuw"
|
||||
{
|
||||
MENUITEM "&Venster" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Openen...", ID_BROWSE_OPEN
|
||||
MENUITEM "Op&slaan", ID_BROWSE_SAVE
|
||||
MENUITEM "Ops&laan als...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Pa&gina-instellingen...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "Af&drukken...", ID_BROWSE_PRINT
|
||||
MENUITEM "Afdruk&voorbeeld...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Eigenschappen...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Afsluiten", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "Bee&ld"
|
||||
{
|
||||
POPUP "&Werkbalken"
|
||||
{
|
||||
MENUITEM "&Standaardbalk" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Adresbalk" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Favorieten"
|
||||
{
|
||||
MENUITEM "&Toevoegen aan Favorieten..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Help"
|
||||
{
|
||||
MENUITEM "&Over Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Terug"
|
||||
IDS_TB_FORWARD "Vooruit"
|
||||
IDS_TB_STOP "Stoppen"
|
||||
IDS_TB_REFRESH "Vernieuwen"
|
||||
IDS_TB_HOME "Startpagina"
|
||||
IDS_TB_PRINT "Printen"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Adres"
|
||||
}
|
87
reactos/dll/win32/shdocvw/Pl.rc
Normal file
87
reactos/dll/win32/shdocvw/Pl.rc
Normal file
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* Copyright 2010 £ukasz Wojni³owicz
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
|
||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Otwórz URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Podaj adres URL, który chcesz otworzyæ w Internet Explorerze",-1,25, 5, 150,15
|
||||
LTEXT "Otwórz:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Anuluj", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Plik"
|
||||
{
|
||||
POPUP "&Nowe"
|
||||
{
|
||||
MENUITEM "&Okno" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Otwórz...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Zapisz", ID_BROWSE_SAVE
|
||||
MENUITEM "Zapisz &jako...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Forma&t wydruku...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "&Drukuj...", ID_BROWSE_PRINT
|
||||
MENUITEM "Podgl¹&d wydruku...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&W³aœciwoœci...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Zamknij...", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Widok"
|
||||
{
|
||||
POPUP "&Paski narzêdzi"
|
||||
{
|
||||
MENUITEM "Pasek &standardowy" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Pasek adresu" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Ulubione"
|
||||
{
|
||||
MENUITEM "&Dodaj do ulubionych..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Pomoc"
|
||||
{
|
||||
MENUITEM "&O Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Wstecz"
|
||||
IDS_TB_FORWARD "Dalej"
|
||||
IDS_TB_STOP "Zatrzymaj"
|
||||
IDS_TB_REFRESH "Odœwierz"
|
||||
IDS_TB_HOME "Strona g³ówna"
|
||||
IDS_TB_PRINT "Drukuj"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Adres"
|
||||
}
|
94
reactos/dll/win32/shdocvw/Pt.rc
Normal file
94
reactos/dll/win32/shdocvw/Pt.rc
Normal file
|
@ -0,0 +1,94 @@
|
|||
/*
|
||||
* Copyright 2010 Gustavo Henrique Milaré
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Abrir URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Especifique a URL que você deseja abrir no Internet Explorer",-1,25, 5, 150,15
|
||||
LTEXT "Abrir:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Arquivo"
|
||||
{
|
||||
POPUP "&Novo"
|
||||
{
|
||||
MENUITEM "&Janela" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Abrir...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Salvar", ID_BROWSE_SAVE
|
||||
MENUITEM "Salvar &como...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Imprimir &formato...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "&Imprimir...", ID_BROWSE_PRINT
|
||||
MENUITEM "&Vizualizar impressão...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Propriedades...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Fechar", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Ver"
|
||||
{
|
||||
POPUP "&Ferramentas"
|
||||
{
|
||||
MENUITEM "Barra &padrão" ID_BROWSE_BAR_STD
|
||||
MENUITEM "Barra de &endereço" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Favoritos"
|
||||
{
|
||||
MENUITEM "&Adicionar aos Favoritos..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "A&juda"
|
||||
{
|
||||
MENUITEM "&Sobre o Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Voltar"
|
||||
IDS_TB_FORWARD "Avançar"
|
||||
IDS_TB_STOP "Parar"
|
||||
IDS_TB_REFRESH "Atualizar"
|
||||
IDS_TB_HOME "Início"
|
||||
IDS_TB_PRINT "Imprimir"
|
||||
}
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Endereço"
|
||||
}
|
60
reactos/dll/win32/shdocvw/Ro.rc
Normal file
60
reactos/dll/win32/shdocvw/Ro.rc
Normal file
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
|
||||
* Copyright 2010 Michael Stefaniuc
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 210, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Deschide URL-ul"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Specificați URL-ul pe care doriți să îl deschideți în Internet Explorer",-1,35, 5, 160,15
|
||||
LTEXT "Deschide:", -1, 2, 32, 30, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 35, 30, 170, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 35, 50, 50, 15
|
||||
PUSHBUTTON "&Renunță", IDCANCEL, 95, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Fișier"
|
||||
{
|
||||
POPUP "&Nou"
|
||||
{
|
||||
MENUITEM "&Fereastră" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Deschidere...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Salvează", ID_BROWSE_SAVE
|
||||
MENUITEM "S&alvare ca...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Format tipărire...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "T&ipărire...", ID_BROWSE_PRINT
|
||||
MENUITEM "Pre&vizualizare imprimare...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Proprietăți...", ID_BROWSE_PROPERTIES
|
||||
}
|
||||
POPUP "&Ajutor"
|
||||
{
|
||||
MENUITEM "&Despre Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
88
reactos/dll/win32/shdocvw/Si.rc
Normal file
88
reactos/dll/win32/shdocvw/Si.rc
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright 2010 Matej Spindler
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Open URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Vnesite interneti naslov dokumenta, ki ga bo Internet Explorer odpru.",-1,25, 5, 150,15
|
||||
LTEXT "Odpri:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&V redu", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Prekliči", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Datoteka"
|
||||
{
|
||||
POPUP "&Nov"
|
||||
{
|
||||
MENUITEM "&Okno" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Odpri ...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Shrani", ID_BROWSE_SAVE
|
||||
MENUITEM "Shrani &kot ...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Nastavitve tiskanja ...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "Na&tisni ...", ID_BROWSE_PRINT
|
||||
MENUITEM "Predo&gled tiskanja ...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Lastnosti ...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Zapri", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "Pogl&ed"
|
||||
{
|
||||
POPUP "Oro&dne vrstice"
|
||||
{
|
||||
MENUITEM "&Statusna vrstica" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Naslovna vrstica" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Priljubljene"
|
||||
{
|
||||
MENUITEM "&Dodaj med priljubljene ..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Pomoč"
|
||||
{
|
||||
MENUITEM "O programu Internet Explorer ...",ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Nazaj"
|
||||
IDS_TB_FORWARD "Naprej"
|
||||
IDS_TB_STOP "Stop"
|
||||
IDS_TB_REFRESH "Osveži"
|
||||
IDS_TB_HOME "Domov"
|
||||
IDS_TB_PRINT "Natisni"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Naslov"
|
||||
}
|
156
reactos/dll/win32/shdocvw/Sr.rc
Normal file
156
reactos/dll/win32/shdocvw/Sr.rc
Normal file
|
@ -0,0 +1,156 @@
|
|||
/*
|
||||
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
|
||||
* Copyright 2010 Đorđe Vasiljević
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Отварање адресе"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Унесите адресу коју желите да отворите у Internet Explorer-у",-1,25, 5, 150,15
|
||||
LTEXT "Отвори:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&У реду", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Откажи", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Датотека"
|
||||
{
|
||||
POPUP "&Ново"
|
||||
{
|
||||
MENUITEM "&Прозор" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Отвори...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Сачувај", ID_BROWSE_SAVE
|
||||
MENUITEM "Сачувај &као...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Формат &штампе...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "&Штампај...", ID_BROWSE_PRINT
|
||||
MENUITEM "&Преглед штампе...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Својства...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Затвори", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Приказ"
|
||||
{
|
||||
POPUP "&Алатнице"
|
||||
{
|
||||
MENUITEM "&Стандардна трака" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Трака за навигацију" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Омиљено"
|
||||
{
|
||||
MENUITEM "&Додај у омиљене..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Помоћ"
|
||||
{
|
||||
MENUITEM "&О Internet Explorer-у...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Назад"
|
||||
IDS_TB_FORWARD "Напред"
|
||||
IDS_TB_STOP "Заустави"
|
||||
IDS_TB_REFRESH "Освежи"
|
||||
IDS_TB_HOME "Почетна"
|
||||
IDS_TB_PRINT "Штампај"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Адреса"
|
||||
}
|
||||
|
||||
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Otvaranje adrese"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Unesite adresu koju želite da otvorite u Internet Explorer-u",-1,25, 5, 150,15
|
||||
LTEXT "Otvori:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&U redu", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Otkaži", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Datoteka"
|
||||
{
|
||||
POPUP "&Novo"
|
||||
{
|
||||
MENUITEM "&Prozor" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Otvori...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Sačuvaj", ID_BROWSE_SAVE
|
||||
MENUITEM "Sačuvaj &kao...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Format &štampe...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "&Štampaj...", ID_BROWSE_PRINT
|
||||
MENUITEM "&Pregled štampe...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Svojstva...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "&Zatvori", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Prikaz"
|
||||
{
|
||||
POPUP "&Alatnice"
|
||||
{
|
||||
MENUITEM "&Standardna traka" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Traka za navigaciju" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Omiljeno"
|
||||
{
|
||||
MENUITEM "&Dodaj u omiljene..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Pomoć"
|
||||
{
|
||||
MENUITEM "&O Internet Explorer-u...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Nazad"
|
||||
IDS_TB_FORWARD "Napred"
|
||||
IDS_TB_STOP "Zaustavi"
|
||||
IDS_TB_REFRESH "Osveži"
|
||||
IDS_TB_HOME "Početna"
|
||||
IDS_TB_PRINT "Štampaj"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Adresa"
|
||||
}
|
88
reactos/dll/win32/shdocvw/Sv.rc
Normal file
88
reactos/dll/win32/shdocvw/Sv.rc
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright 2010 Anders Jonsson
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Öppna webbadress"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Ange webbadressen du vill öppna med Internet Explorer",-1,25, 5, 150,15
|
||||
LTEXT "Öppna:", -1, 2, 32, 20, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 25, 30, 160, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 25, 50, 50, 15
|
||||
PUSHBUTTON "&Avbryt", IDCANCEL, 85, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Arkiv"
|
||||
{
|
||||
POPUP "&Nytt"
|
||||
{
|
||||
MENUITEM "&Fönster" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Öppna...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Spara", ID_BROWSE_SAVE
|
||||
MENUITEM "S¶ som...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "U&tskriftsformat...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "Skriv &ut...", ID_BROWSE_PRINT
|
||||
MENUITEM "&Förhandsgranska...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Egenskaper...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "Stä&ng", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Visa"
|
||||
{
|
||||
POPUP "Verktygs&fält"
|
||||
{
|
||||
MENUITEM "&Standardfält" ID_BROWSE_BAR_STD
|
||||
MENUITEM "&Adressfält" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Favoriter"
|
||||
{
|
||||
MENUITEM "&Lägg till favoriter..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Hjälp"
|
||||
{
|
||||
MENUITEM "&Om Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Bakåt"
|
||||
IDS_TB_FORWARD "Framåt"
|
||||
IDS_TB_STOP "Stopp"
|
||||
IDS_TB_REFRESH "Uppdatera"
|
||||
IDS_TB_HOME "Hem"
|
||||
IDS_TB_PRINT "Skriv ut"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Adress"
|
||||
}
|
90
reactos/dll/win32/shdocvw/Uk.rc
Normal file
90
reactos/dll/win32/shdocvw/Uk.rc
Normal file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
|
||||
* Copyright 2010 Igor Paliychuk
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_BROWSE_OPEN DIALOG 10, 10, 200, 70
|
||||
STYLE DS_MODALFRAME | WS_CAPTION
|
||||
CAPTION "Відкрити URL"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Вкажіть URL, що ви хочете відкрити в Internet Explorer",-1,25, 5, 150,15
|
||||
LTEXT "Відкрити:", -1, 2, 32, 30, 15
|
||||
EDITTEXT IDC_BROWSE_OPEN_URL, 35, 30, 160, 13
|
||||
DEFPUSHBUTTON "&OK", IDOK, 45, 50, 50, 15
|
||||
PUSHBUTTON "&Скасувати", IDCANCEL, 105, 50, 50, 15
|
||||
}
|
||||
|
||||
IDR_BROWSE_MAIN_MENU MENU
|
||||
{
|
||||
POPUP "&Файл"
|
||||
{
|
||||
POPUP "&Створити"
|
||||
{
|
||||
MENUITEM "&Вікно" ID_BROWSE_NEW_WINDOW
|
||||
}
|
||||
MENUITEM "&Відкрити...", ID_BROWSE_OPEN
|
||||
MENUITEM "&Зберегти", ID_BROWSE_SAVE
|
||||
MENUITEM "Зберегти &як...", ID_BROWSE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Формат друку...", ID_BROWSE_PRINT_FORMAT
|
||||
MENUITEM "&Друк...", ID_BROWSE_PRINT
|
||||
MENUITEM "Попередній пе&регляд...", ID_BROWSE_PRINT_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "В&ластивості...", ID_BROWSE_PROPERTIES
|
||||
MENUITEM "За&крити", ID_BROWSE_QUIT
|
||||
}
|
||||
POPUP "&Вигляд"
|
||||
{
|
||||
POPUP "&Панелі інструментів"
|
||||
{
|
||||
MENUITEM "&Стандартна панель" ID_BROWSE_BAR_STD
|
||||
MENUITEM "Рядок &адреси" ID_BROWSE_BAR_ADDR
|
||||
}
|
||||
}
|
||||
POPUP "&Обране"
|
||||
{
|
||||
MENUITEM "&Додати до Обраного..." ID_BROWSE_ADDFAV
|
||||
MENUITEM SEPARATOR
|
||||
}
|
||||
POPUP "&Довідка"
|
||||
{
|
||||
MENUITEM "&Про Internet Explorer...", ID_BROWSE_ABOUT
|
||||
}
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_TB_BACK "Назад"
|
||||
IDS_TB_FORWARD "Вперед"
|
||||
IDS_TB_STOP "Зупинити"
|
||||
IDS_TB_REFRESH "Оновити"
|
||||
IDS_TB_HOME "Додому"
|
||||
IDS_TB_PRINT "Друк"
|
||||
}
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
IDS_ADDRESS "Адреса"
|
||||
}
|
|
@ -311,7 +311,7 @@ void create_doc_view_hwnd(DocHost *This)
|
|||
doc_view_atom = RegisterClassExW(&wndclass);
|
||||
}
|
||||
|
||||
GetClientRect(This->frame_hwnd, &rect); /* FIXME */
|
||||
This->container_vtbl->GetDocObjRect(This, &rect);
|
||||
This->hwnd = CreateWindowExW(0, wszShell_DocObject_View,
|
||||
wszShell_DocObject_View,
|
||||
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_TABSTOP,
|
||||
|
@ -447,8 +447,14 @@ static HRESULT WINAPI ClOleCommandTarget_Exec(IOleCommandTarget *iface,
|
|||
nCmdexecopt, debugstr_variant(pvaIn), debugstr_variant(pvaOut));
|
||||
|
||||
if(!pguidCmdGroup) {
|
||||
FIXME("Unimplemented cmdid %d\n", nCmdID);
|
||||
return E_NOTIMPL;
|
||||
switch(nCmdID) {
|
||||
case OLECMDID_UPDATECOMMANDS:
|
||||
return This->container_vtbl->exec(This, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
|
||||
default:
|
||||
FIXME("Unimplemented cmdid %d\n", nCmdID);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(IsEqualGUID(pguidCmdGroup, &CGID_DocHostCmdPriv)) {
|
||||
|
@ -783,7 +789,7 @@ static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl = {
|
|||
PropertyNotifySink_OnRequestEdit
|
||||
};
|
||||
|
||||
void DocHost_Init(DocHost *This, IDispatch *disp)
|
||||
void DocHost_Init(DocHost *This, IDispatch *disp, const IDocHostContainerVtbl* container)
|
||||
{
|
||||
This->lpDocHostUIHandlerVtbl = &DocHostUIHandler2Vtbl;
|
||||
This->lpOleCommandTargetVtbl = &OleCommandTargetVtbl;
|
||||
|
@ -791,6 +797,8 @@ void DocHost_Init(DocHost *This, IDispatch *disp)
|
|||
|
||||
This->disp = disp;
|
||||
|
||||
This->container_vtbl = container;
|
||||
|
||||
This->client_disp = NULL;
|
||||
|
||||
This->document = NULL;
|
||||
|
|
|
@ -33,6 +33,9 @@ static HRESULT WINAPI InPlaceFrame_QueryInterface(IOleInPlaceFrame *iface,
|
|||
if(IsEqualGUID(&IID_IUnknown, riid)) {
|
||||
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
|
||||
*ppv = INPLACEFRAME(This);
|
||||
}else if(IsEqualGUID(&IID_IOleWindow, riid)) {
|
||||
TRACE("(%p)->(IID_IOleWindow %p)\n", This, ppv);
|
||||
*ppv = INPLACEFRAME(This);
|
||||
}else if(IsEqualGUID(&IID_IOleInPlaceUIWindow, riid)) {
|
||||
TRACE("(%p)->(IID_IOleInPlaceUIWindow %p)\n", This, ppv);
|
||||
*ppv = INPLACEFRAME(This);
|
||||
|
@ -135,8 +138,8 @@ static HRESULT WINAPI InPlaceFrame_SetStatusText(IOleInPlaceFrame *iface,
|
|||
LPCOLESTR pszStatusText)
|
||||
{
|
||||
DocHost *This = INPLACEFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(pszStatusText));
|
||||
return E_NOTIMPL;
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(pszStatusText));
|
||||
return This->container_vtbl->SetStatusText(This, pszStatusText);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI InPlaceFrame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
|
||||
|
|
|
@ -47,6 +47,8 @@ static HRESULT WINAPI InternetExplorer_QueryInterface(IWebBrowser2 *iface, REFII
|
|||
}else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) {
|
||||
TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppv);
|
||||
*ppv = CONPTCONT(&This->doc_host.cps);
|
||||
}else if(HlinkFrame_QI(&This->hlink_frame, riid, ppv)) {
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(*ppv) {
|
||||
|
@ -394,8 +396,10 @@ static HRESULT WINAPI InternetExplorer_get_StatusText(IWebBrowser2 *iface, BSTR
|
|||
static HRESULT WINAPI InternetExplorer_put_StatusText(IWebBrowser2 *iface, BSTR StatusText)
|
||||
{
|
||||
InternetExplorer *This = WEBBROWSER_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(StatusText));
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(StatusText));
|
||||
|
||||
return update_ie_statustext(This, StatusText);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI InternetExplorer_get_ToolBar(IWebBrowser2 *iface, int *Value)
|
||||
|
@ -426,19 +430,11 @@ static HRESULT WINAPI InternetExplorer_put_MenuBar(IWebBrowser2 *iface, VARIANT_
|
|||
|
||||
TRACE("(%p)->(%x)\n", This, Value);
|
||||
|
||||
if((menu = GetMenu(This->frame_hwnd)))
|
||||
DestroyMenu(menu);
|
||||
|
||||
menu = NULL;
|
||||
|
||||
if(Value)
|
||||
menu = LoadMenuW(shdocvw_hinstance, MAKEINTRESOURCEW(IDR_BROWSE_MAIN_MENU));
|
||||
menu = This->menu;
|
||||
|
||||
if(!SetMenu(This->frame_hwnd, menu))
|
||||
{
|
||||
DestroyMenu(menu);
|
||||
return HRESULT_FROM_WIN32(GetLastError());
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
|
BIN
reactos/dll/win32/shdocvw/ietoolbar.bmp
Normal file
BIN
reactos/dll/win32/shdocvw/ietoolbar.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
285
reactos/dll/win32/shdocvw/ietoolbar.svg
Normal file
285
reactos/dll/win32/shdocvw/ietoolbar.svg
Normal file
|
@ -0,0 +1,285 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="192" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata id="metadata280">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||
<dc:title/>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs id="defs4">
|
||||
<radialGradient id="radialGradient2004" gradientUnits="userSpaceOnUse" cy="32.798" cx="22.292" gradientTransform="matrix(-0.589125,0,0,0.685598,29.3555,0.773753)" r="16.956">
|
||||
<stop id="stop2593" stop-color="#73d216" offset="0"/>
|
||||
<stop id="stop2595" stop-color="#4e9a06" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient2001" gradientUnits="userSpaceOnUse" cy="5.786" cx="25.076" gradientTransform="matrix(-1.430305,0,0,1.046783,46.13938,2.164948)" r="17.171">
|
||||
<stop id="stop8652" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop8654" stop-color="#FFF" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient1992" gradientUnits="userSpaceOnUse" cy="36.421" cx="24.837" gradientTransform="matrix(1,0,0,0.536723,0,16.87306)" r="15.645">
|
||||
<stop id="stop8664" stop-color="#000" offset="0"/>
|
||||
<stop id="stop8666" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient5060">
|
||||
<stop id="stop5062" stop-color="#000" offset="0"/>
|
||||
<stop id="stop5064" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2797">
|
||||
<stop id="stop2799" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop2801" stop-color="#FFF" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2871">
|
||||
<stop id="stop2873" stop-color="#3465a4" offset="0"/>
|
||||
<stop id="stop2875" stop-color="#3465a4" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2380">
|
||||
<stop id="stop2382-9" stop-color="#b9cfe7" offset="0"/>
|
||||
<stop id="stop2384" stop-color="#729fcf" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2402">
|
||||
<stop id="stop2404" stop-color="#729fcf" offset="0"/>
|
||||
<stop id="stop2406" stop-color="#528ac5" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="radialGradient3588" gradientUnits="userSpaceOnUse" cy="32.798" cx="22.292" gradientTransform="matrix(0.588566,0,0,0.691503,34.980416,1020.9693)" r="16.956">
|
||||
<stop id="stop2593-1" stop-color="#73d216" offset="0"/>
|
||||
<stop id="stop2595-2" stop-color="#4e9a06" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient3590" gradientUnits="userSpaceOnUse" cy="2.8969" cx="19.701" gradientTransform="matrix(1.364487,0,0,1.038407,19.299385,1022.6636)" r="17.171">
|
||||
<stop id="stop8652-8" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop8654-8" stop-color="#FFF" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient3593" gradientUnits="userSpaceOnUse" cy="10.666" cx="16.75" gradientTransform="matrix(2.737165,0,0,2.125222,29.37911,1006.2414)" r="21.25">
|
||||
<stop id="stop2250" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop2252" stop-color="#FFF" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient3596" y2="47.374" gradientUnits="userSpaceOnUse" x2="53.57" gradientTransform="matrix(0.658703,0,0,0.658681,64.193874,1020.5559)" y1="12.504" x1="15.737">
|
||||
<stop id="stop11782" stop-color="#ff8b8b" offset="0"/>
|
||||
<stop id="stop11784" stop-color="#ec1b1b" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="radialGradient3599" gradientUnits="userSpaceOnUse" cy="33.302" cx="24.302" gradientTransform="matrix(1.105562,0,0,1.105705,53.33881,1005.6202)" r="12.302">
|
||||
<stop id="stop9649" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop9651" stop-color="#dbdbdb" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient3601" y2="35.052" gradientUnits="userSpaceOnUse" x2="24.302" gradientTransform="matrix(0.652641,0,0,0.652725,64.345805,1020.7054)" y1="15.802" x1="21.75">
|
||||
<stop id="stop2258" stop-color="#ff0202" offset="0"/>
|
||||
<stop id="stop2260" stop-color="#ff9b9b" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3604" y2="37.96" gradientUnits="userSpaceOnUse" x2="41.048" gradientTransform="matrix(0.67419,0,0,0.674276,63.822139,1020.1817)" y1="20.105" x1="23.996">
|
||||
<stop id="stop4983" stop-color="#C00" offset="0"/>
|
||||
<stop id="stop4985" stop-color="#b30000" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="radialGradient3607" gradientUnits="userSpaceOnUse" cy="36.75" cx="25.125" gradientTransform="matrix(1,0,0,0.595238,0,14.875)" r="15.75">
|
||||
<stop id="stop21646" stop-color="#000" offset="0"/>
|
||||
<stop id="stop21648" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient3681" y2="19.115" gradientUnits="userSpaceOnUse" x2="15.419" gradientTransform="matrix(0.666667,0,0,0.646309,96.83003,1019.302)" y1="10.612" x1="13.479">
|
||||
<stop id="stop2833" stop-color="#3465a4" offset="0"/>
|
||||
<stop id="stop2855" stop-color="#5b86be" offset="0.33333"/>
|
||||
<stop id="stop2835" stop-color="#83a8d8" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3683" y2="26.194" gradientUnits="userSpaceOnUse" x2="37.065" gradientTransform="matrix(-0.666667,0,0,-0.646309,128.20505,1049.113)" y1="29.73" x1="37.128">
|
||||
<stop id="stop2849" stop-color="#3465a4" offset="0"/>
|
||||
<stop id="stop2851" stop-color="#3465a4" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3685" y2="20.609" xlink:href="#linearGradient2380" gradientUnits="userSpaceOnUse" x2="15.985" y1="36.061" x1="62.514"/>
|
||||
<linearGradient id="linearGradient3687" y2="50.94" xlink:href="#linearGradient2871" gradientUnits="userSpaceOnUse" x2="45.38" y1="45.264" x1="46.835"/>
|
||||
<linearGradient id="linearGradient3691" y2="24.842" gradientUnits="userSpaceOnUse" x2="37.124" gradientTransform="matrix(0.666667,0,0,0.647455,96.519755,1019.8536)" y1="30.749" x1="32.648">
|
||||
<stop id="stop2692" stop-color="#c4d7eb" offset="0"/>
|
||||
<stop id="stop2694" stop-color="#c4d7eb" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3693" y2="24.842" gradientUnits="userSpaceOnUse" x2="37.124" gradientTransform="matrix(0.666667,0,0,0.647455,96.519755,1019.8536)" y1="31.456" x1="36.714">
|
||||
<stop id="stop2684" stop-color="#3977c3" offset="0"/>
|
||||
<stop id="stop2686" stop-color="#89aedc" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3695" y2="26.649" xlink:href="#linearGradient2402" gradientUnits="userSpaceOnUse" x2="53.589" y1="23.668" x1="18.936"/>
|
||||
<linearGradient id="linearGradient3703" y2="26.048" xlink:href="#linearGradient2797" gradientUnits="userSpaceOnUse" x2="52.854" y1="26.048" x1="5.9649"/>
|
||||
<radialGradient id="radialGradient3821" gradientUnits="userSpaceOnUse" cy="26.926" cx="9.1295" r="2.1227">
|
||||
<stop id="stop4700" stop-color="#fffffd" offset="0"/>
|
||||
<stop id="stop4706" stop-color="#bbbbb9" offset="0.5"/>
|
||||
<stop id="stop4702" stop-color="#000" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient3832" gradientUnits="userSpaceOnUse" cy="30.443" cx="29.913" gradientTransform="matrix(2.525807,0,0,1.713442,72.53038,988.81062)" r="4.0019">
|
||||
<stop id="stop2370" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop2372" stop-color="#FFF" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient3837" gradientUnits="userSpaceOnUse" cy="19.554" cx="11.681" gradientTransform="matrix(2.733392,0,0,-2.800883,124.51812,1090.5979)" r="8.2452">
|
||||
<stop id="stop2343" stop-color="#000" offset="0"/>
|
||||
<stop id="stop2345" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient3840" gradientUnits="userSpaceOnUse" cy="24.203" cx="7.5327" gradientTransform="matrix(2.733392,0,0,2.800883,111.04015,968.00238)" r="8.2452">
|
||||
<stop id="stop2301" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop2303" stop-color="#FFF" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient3844" y2="35.569" gradientUnits="userSpaceOnUse" x2="64.388" gradientTransform="matrix(0.236067,0,0,0.236067,129.07598,1020.3064)" y1="65.124" x1="64.388">
|
||||
<stop id="stop336" stop-color="#FFF" offset="0"/>
|
||||
<stop id="stop338" stop-color="#ff6200" offset="0.8539"/>
|
||||
<stop id="stop340" stop-color="#f25d00" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="radialGradient3847" gradientUnits="userSpaceOnUse" cy="36.778" cx="19.986" gradientTransform="matrix(0.845492,0,0,0.650968,124.14222,1020.5274)" r="1.0821">
|
||||
<stop id="stop2309" stop-color="#edd400" offset="0"/>
|
||||
<stop id="stop2311" stop-color="#980" offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="radialGradient3850" gradientUnits="userSpaceOnUse" cy="37.426" cx="20.444" gradientTransform="matrix(0.845492,0,0,0.650968,124.14222,1020.6369)" r="1.0821">
|
||||
<stop id="stop2321" stop-color="#000" offset="0"/>
|
||||
<stop id="stop2323" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient3853" y2="41.032" gradientUnits="userSpaceOnUse" x2="19.04" gradientTransform="matrix(0.667809,0,0,0.721564,128.52999,1019.1429)" y1="28.939" x1="17.85">
|
||||
<stop id="stop2408" stop-color="#7c7e79" offset="0"/>
|
||||
<stop id="stop2414" stop-color="#848681" offset="0.17241"/>
|
||||
<stop id="stop2410" stop-color="#898c86" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="radialGradient3856" gradientUnits="userSpaceOnUse" cy="10.578" cx="24.195" gradientTransform="matrix(0.750176,-2.390279e-8,2.846547e-8,0.893373,125.97906,1021.2658)" r="15.243">
|
||||
<stop id="stop2380" stop-color="#575757" offset="0"/>
|
||||
<stop id="stop2382" stop-color="#575757" stop-opacity="0" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient3860" y2="32.654" gradientUnits="userSpaceOnUse" x2="17.683" gradientTransform="matrix(0.675325,0,0,0.710034,127.07761,1018.7743)" y1="26.057" x1="17.603">
|
||||
<stop id="stop2331" stop-color="#000" stop-opacity="0.18556701" offset="0"/>
|
||||
<stop id="stop2333" stop-color="#FFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3864" y2="-42.219" gradientUnits="userSpaceOnUse" x2="14.049" gradientTransform="matrix(0.221835,0,0,0.110024,140.0235,1030.616)" y1="166.13" x1="52.006">
|
||||
<stop id="stop17" stop-color="#CCC" offset="0"/>
|
||||
<stop id="stop19" stop-color="#FFF" offset="0.9831"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3870" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" y1="366.65" x1="302.86">
|
||||
<stop id="stop5050" stop-color="#000" stop-opacity="0" offset="0"/>
|
||||
<stop id="stop5056" stop-color="#000" offset="0.5"/>
|
||||
<stop id="stop5052" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="radialGradient3872" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" r="117.14"/>
|
||||
<radialGradient id="radialGradient3874" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" r="117.14"/>
|
||||
<linearGradient id="linearGradient3907" y2="72.064" gradientUnits="userSpaceOnUse" x2="9.9128" gradientTransform="matrix(1.848058,0,0,0.217548,160.26603,1024.7799)" y1="57.228" x1="9.8698">
|
||||
<stop id="stop4735" stop-color="#000" stop-opacity="0.2371134" offset="0"/>
|
||||
<stop id="stop4737" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3911" y2="54.136" gradientUnits="userSpaceOnUse" x2="10.338" gradientTransform="matrix(1.544788,0,0,0.264367,160.01852,1023.7146)" y1="64.652" x1="10.338">
|
||||
<stop id="stop4682" stop-color="#f7f6f5" offset="0"/>
|
||||
<stop id="stop4684" stop-color="#f7f6f5" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3913" y2="62.282" gradientUnits="userSpaceOnUse" x2="9.7053" gradientTransform="matrix(1.544788,0,0,0.264367,160.01852,1023.7146)" y1="70.725" x1="9.7317">
|
||||
<stop id="stop4690" stop-color="#666" offset="0"/>
|
||||
<stop id="stop4692" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3916" y2="19.337" gradientUnits="userSpaceOnUse" x2="20.718" gradientTransform="matrix(0.814222,0,0,0.576573,159.61207,1022.5218)" y1="25.14" x1="20.771">
|
||||
<stop id="stop15664" stop-color="#FFF" stop-opacity="0" offset="0"/>
|
||||
<stop id="stop15666" stop-color="#f8f8f8" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3919" y2="25.247" gradientUnits="userSpaceOnUse" x2="24.79" gradientTransform="matrix(0.665463,0,0,0.744457,159.14802,1023.5823)" y1="3.6785" x1="25.057">
|
||||
<stop id="stop260" stop-color="#e0e0e0" offset="0"/>
|
||||
<stop id="stop4886" stop-color="#FFF" offset="0.40547"/>
|
||||
<stop id="stop4884" stop-color="#cdcdcd" offset="0.53448"/>
|
||||
<stop id="stop261" stop-color="#494949" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3922" y2="62.101" gradientUnits="userSpaceOnUse" x2="15.488" gradientTransform="matrix(0.955896,0,0,0.432698,160.6615,1023.6066)" y1="32.539" x1="15.388">
|
||||
<stop id="stop4764" stop-color="#FFF" stop-opacity="0.12371134" offset="0"/>
|
||||
<stop id="stop4768" stop-color="#FFF" offset="0.10345"/>
|
||||
<stop id="stop4766" stop-color="#FFF" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3926" y2="88.295" gradientUnits="userSpaceOnUse" x2="18.972" gradientTransform="matrix(1.510349,0,0,0.297131,160.25238,1022.5201)" y1="88.295" x1="1.8456">
|
||||
<stop id="stop4743" stop-color="#dcdcda" offset="0"/>
|
||||
<stop id="stop4745" stop-color="#bab9b7" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient3929" y2="88.295" gradientUnits="userSpaceOnUse" x2="18.972" gradientTransform="matrix(1.501108,0,0,0.291945,160.40355,1021.921)" y1="88.295" x1="1.8456">
|
||||
<stop id="stop4670" stop-color="#8e8d87" offset="0"/>
|
||||
<stop id="stop4676" stop-color="#cbc9c1" offset="0.27586"/>
|
||||
<stop id="stop4672" stop-color="#8e8d87" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="radialGradient3932" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.04372487,0,0,0.02533308,191.79481,1036.9981)" r="117.14"/>
|
||||
<radialGradient id="radialGradient3935" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.04372487,0,0,0.02533308,160.20518,1036.9981)" r="117.14"/>
|
||||
<linearGradient id="linearGradient3938" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(0.04372487,0,0,0.02533308,160.19658,1036.9981)" y1="366.65" x1="302.86">
|
||||
<stop id="stop5050-7" stop-color="#000" stop-opacity="0" offset="0"/>
|
||||
<stop id="stop5056-6" stop-color="#000" offset="0.5"/>
|
||||
<stop id="stop5052-3" stop-color="#000" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="layer1" transform="translate(0,-1020.3622)">
|
||||
<g id="layer1-9" transform="translate(1.0000011,1020.3622)">
|
||||
<path id="path8660" opacity="0.29946522" style="color:#000000;" d="m40.482,36.421a15.645,8.3969,0,1,1,-31.289,0,15.645,8.3969,0,1,1,31.289,0z" fill-rule="evenodd" transform="matrix(-0.847458,0,0,0.847458,37.46345,-10.18573)" fill="url(#radialGradient1992)"/>
|
||||
<path id="path8643" stroke-linejoin="round" style="color:#000000;stroke-dasharray:none;" d="m26.453,10.472,0.04687,11.046-8.9853,0,0,5.9819l-14.015-11.425,14.01-11.589-0.04687,5.9893,8.9896-0.0036z" fill-rule="evenodd" stroke-dashoffset="0" stroke="#3a7304" stroke-linecap="round" stroke-miterlimit="10" stroke-width="1.00000072" fill="url(#radialGradient2004)"/>
|
||||
<path id="path8645" opacity="0.5080214" style="color:#000000;" d="m17.065,5.3254,0,5.6956,8.9193,0,0,5.6895c-11.706-4.2-11.15,3.559-21.807-0.642l12.888-10.743z" fill-rule="evenodd" fill="url(#radialGradient2001)"/>
|
||||
<path id="path8658" opacity="0.48128339" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="m25.5,11.502,0,9.0144-8.9812,0,0,4.9833l-11.47-9.464,11.481-9.535v5.0054l8.9704-0.0031z" stroke-dashoffset="0" stroke="#FFF" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="1.00000048" fill="none"/>
|
||||
</g>
|
||||
<g id="g3892">
|
||||
<path id="path8660-9" opacity="0.29946522" style="color:#000000;" d="m40.482,36.421a15.645,8.3969,0,1,1,-31.289,0,15.645,8.3969,0,1,1,31.289,0z" fill-rule="evenodd" transform="matrix(0.847458,0,0,0.847458,26.898465,1010.2943)" fill="url(#radialGradient1992)"/>
|
||||
<g id="g3583" transform="translate(-1.3113835,-0.4798)">
|
||||
<path id="path8643-6" stroke-linejoin="round" style="color:#000000;stroke-dasharray:none;" d="m37.811,1030.9,0,10.989,9.0648,0,0,5.9689,13.935-11.46-14.018-11.54,0,6.0457-8.9818,0z" fill-rule="evenodd" stroke-dashoffset="0" stroke="#3a7304" stroke-linecap="round" stroke-miterlimit="10" stroke-width="1.00000095" fill="url(#radialGradient3588)"/>
|
||||
<path id="path8645-3" opacity="0.5080214" style="color:#000000;" d="m47.307,1025.9,0,5.5579-8.8983,0,0,5.6736c11.833,1.3333,11.752-5.0586,21.585-0.7253l-12.687-10.506z" fill-rule="evenodd" fill="url(#radialGradient3590)"/>
|
||||
<path id="path8658-8" opacity="0.48128339" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="m38.811,1031.8,0,9.0074,9.0567,0,0,5.0159,11.464-9.5049-11.475-9.4951,0,4.9798-9.0459,0z" stroke-dashoffset="0" stroke="#FFF" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="1.00000107" fill="none"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="g3609">
|
||||
<path id="path21642" opacity="0.63068183" style="color:#000000;" d="m40.875,36.75a15.75,9.375,0,1,1,-31.5,0,15.75,9.375,0,1,1,31.5,0z" fill-rule="evenodd" transform="matrix(0.782536,0,0,0.36,60.663725,1035.7572)" fill="url(#radialGradient3607)"/>
|
||||
<path id="path9480" stroke-linejoin="miter" style="stroke-dasharray:none;" d="m74.333,1021.9,11.519,0,8.644,8.8292,0,12.065-8.5276,8.1027-11.751,0-8.7134-8.6568,0-11.594,8.8296-8.7468z" fill-rule="evenodd" stroke="#860000" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.0000006" fill="url(#linearGradient3604)"/>
|
||||
<path id="path2787" stroke-linejoin="round" style="stroke-dasharray:none;" d="m75.289,1028.9-2.7849,2.7853,4.9177,4.9183-4.9177,4.9184,2.7849,2.7853,4.9177-4.9184,4.9177,4.9184,2.7849-2.7853-4.9177-4.9184,4.9177-4.9183-2.7849-2.7853-4.9177,4.9183-4.9177-4.9183z" fill-rule="evenodd" stroke="url(#linearGradient3601)" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.80000001" fill="url(#radialGradient3599)"/>
|
||||
<path id="path9482" opacity="0.81318683" stroke-linejoin="miter" d="m74.747,1022.9,10.689,0,8.0677,8.1824,0,11.273-7.8109,7.5425-11.045,0-8.1423-8.088,0-10.778,8.2414-8.1316z" stroke="url(#linearGradient3596)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.00000036" fill="none"/>
|
||||
<path id="path2241" opacity="0.28977272" d="m74.527,1022.4-8.5228,8.5126,0,11.295,1.9351,1.9309c11.043,0.038,10.855-8.6495,26.063-7.8897v-5.2529l-8.3582-8.5956h-11.117z" fill-rule="evenodd" fill="url(#radialGradient3593)"/>
|
||||
</g>
|
||||
<g id="g3961">
|
||||
<g id="g5022" fill-rule="nonzero" transform="matrix(0.01379016,0,0,0.01239639,156.26546,1048.1206)">
|
||||
<rect id="rect4173" opacity="0.40206" style="color:#000000;" height="478.36" width="1339.6" y="-150.7" x="-1559.3" fill="url(#linearGradient3870)"/>
|
||||
<path id="path5058" opacity="0.40206185" style="color:#000000;" d="m-219.62-150.68v478.33c142.87,0.90045,345.4-107.17,345.4-239.2s-159.44-239.13-345.4-239.13z" fill="url(#radialGradient3872)"/>
|
||||
<path id="path5018" opacity="0.40206185" style="color:#000000;" d="m-1559.3-150.68v478.33c-142.87,0.90045-345.4-107.17-345.4-239.2s159.44-239.13,345.4-239.13z" fill="url(#radialGradient3874)"/>
|
||||
</g>
|
||||
<path id="rect1512" stroke-linejoin="miter" style="color:#000000;" d="m142.42,1025.8,3.9225,0c0.55289,0,9.1431,10.176,9.1431,10.773l-0.29203,12.194c0,0.5968-0.44511,1.0773-0.998,1.0773h-20.712c-0.55289,0-0.998-0.4805-0.998-1.0773l0.0372-12.194c0-0.5969,9.3443-10.773,9.8972-10.773z" fill-rule="nonzero" stroke-dashoffset="0" stroke="#757575" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.00000083" fill="url(#linearGradient3864)"/>
|
||||
<path id="path5" fill="none" d="m159.29,1050.9-30.217,0,0-30.217,30.217,0,0,30.217z"/>
|
||||
<path id="path2327" fill-rule="evenodd" fill="url(#linearGradient3860)" d="m144,1039.4-0.0344,9.9962-8.8984,0-0.0838-9.9962,9.0165,0z"/>
|
||||
<path id="path2357" opacity="0.3125" stroke-linejoin="miter" style="color:#000000;" d="m142.61,1026.6,3.5558,0c0.50121,0,8.3159,9.3803,8.3159,9.9305l-0.22206,11.864c0,0.2992-0.0919,0.4257-0.32774,0.4257l-20.077,0.01c-0.2358,0-0.37353-0.052-0.37353-0.2955l0.13774-12.004c0-0.5502,8.4892-9.9305,8.9905-9.9305z" stroke-dashoffset="0" stroke="#FFF" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.0000006" fill="none"/>
|
||||
<path id="path23" opacity="0.2" d="m132.79,1039-0.0362,1.7301,12.245-8.7861,10.191,7.4362,0.0476-0.2078-10.914-10.603-11.534,10.43z" fill-rule="evenodd" fill="url(#radialGradient3856)"/>
|
||||
<path id="path188" fill-rule="evenodd" fill="url(#linearGradient3853)" d="m143.25,1040,0,9.3338-7.3717,0-0.14199-9.3338,7.5137,0z"/>
|
||||
<path id="path2315" opacity="0.40909089" d="m141.43,1044.3c0.50552,0,0.91413,0.3144,0.91413,0.7012,0,0.3907-0.40861,0.7077-0.91413,0.7077-0.50513,0-0.91569-0.317-0.91569-0.7077,0.00039-0.3868,0.41056-0.7012,0.91569-0.7012z" fill-rule="evenodd" fill="url(#radialGradient3850)"/>
|
||||
<path id="path217" fill-rule="evenodd" fill="url(#radialGradient3847)" d="m141.34,1044c0.50551,0,0.91413,0.3144,0.91413,0.7011,0,0.3907-0.40862,0.7077-0.91413,0.7077-0.50513,0-0.91569-0.317-0.91569-0.7077,0.00039-0.3867,0.41056-0.7011,0.91569-0.7011z"/>
|
||||
<path id="path342" fill="url(#linearGradient3844)" d="m144.28,1028.1,12.618,11.447,0.32979,0.2613,0.26912-0.1142-0.24858-0.5078-0.18508-0.149-12.783-10.382-12.926,10.496-0.1584,0.096-0.14448,0.4712,0.28895,0.086,0.25637-0.2056,12.684-11.499z"/>
|
||||
<path id="path362" stroke-linejoin="round" style="stroke-dasharray:none;" d="m144.2,1021.9-14.72,11.986,0,5,1,1s13.654-11.203,13.798-11.317l13.202,11.317,1-1v-4l-14.202-13.055-0.0784,0.07z" stroke="#a40000" stroke-miterlimit="4" stroke-width="0.80000001" fill="#ef2929"/>
|
||||
<path id="path1536" opacity="0.40909089" style="color:#000000;" d="m129.98,1034.1,0,4.25,14.246-12.013-0.0469-3.9289-14.199,11.692z" fill-rule="nonzero" fill="url(#radialGradient3840)"/>
|
||||
<path id="path2337" opacity="0.14901961" style="color:#000000;" d="m144.31,1026.2,0.0663-3.8941,13.589,12.76-0.0175,3.2098-13.637-12.075z" fill-rule="nonzero" fill="url(#radialGradient3837)"/>
|
||||
<path id="rect2361" opacity="0.31818183" stroke-linejoin="miter" style="color:#000000;" d="m145.82,1039.2,6.6456,0c0.56648,0,1.0225,0.4065,1.0225,0.9114l-0.006,5.9496c0,0.505-0.43838,0.8296-1.0049,0.8296h-6.6574c-0.56649,0-1.0225-0.4065-1.0225-0.9115v-5.8677c0-0.5049,0.45605-0.9114,1.0225-0.9114z" stroke-dashoffset="0" stroke="#FFF" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1" fill="none"/>
|
||||
<rect id="rect3263" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" fill-rule="nonzero" stroke-dashoffset="0" rx="0.26686" ry="0.22963" height="6" width="7" stroke="#757575" stroke-linecap="butt" stroke-miterlimit="4" y="1039.9" x="145.48" stroke-width="1" fill="#3465a4"/>
|
||||
<path id="rect2363" opacity="0.39772728" style="color:#000000;" d="m146,1043.3c2.4359,0.1802,3.7217-0.787,5.9708-0.8452l0.0166-2.0954h-6l0.0126,2.9439z" fill-rule="nonzero" fill="url(#radialGradient3832)"/>
|
||||
</g>
|
||||
<g id="g3876">
|
||||
<path id="path8660-0" opacity="0.38333333" style="color:#000000;" d="m40.482,36.421a15.645,8.3969,0,1,1,-31.289,0,15.645,8.3969,0,1,1,31.289,0z" fill-rule="evenodd" transform="matrix(-0.993158,0,0,-0.667502,137.20489,1070.0684)" fill="url(#radialGradient1992)"/>
|
||||
<g id="g3667" transform="translate(-0.41059,1.42455)">
|
||||
<path id="path2865" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="m109.96,1026.2s-5.9583-0.4039-4.125,6.3823h-5.125s0.33334-7.6749,9.25-6.3823z" fill-rule="nonzero" stroke-dashoffset="0" display="block" stroke="url(#linearGradient3683)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.00000024" fill="url(#linearGradient3681)"/>
|
||||
<g id="g1878" transform="matrix(-0.386034,-0.316192,-0.326152,0.374245,134.46368,1028.1234)" stroke="#3465a4" stroke-width="1.52344131" fill="url(#linearGradient3685)">
|
||||
<path id="path1880" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="M44.307,50.23c18.514-14.411,5.358-36.818-21.845-37.732l-0.348-9.3465-14.49,17.346,15.09,12.722s-0.25192-9.8812-0.25192-9.8812c18.83,0.99898,32.982,14.072,21.844,26.892z" fill-rule="nonzero" stroke-dashoffset="0" display="block" stroke="url(#linearGradient3687)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="2.00967717" fill="url(#linearGradient3685)"/>
|
||||
</g>
|
||||
<path id="path2839" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="m115.44,1041.5s5.9583,0.4046,4.125-6.3936h5.1839c0,0.9728-0.39226,7.6885-9.3089,6.3936z" fill-rule="nonzero" stroke-dashoffset="0" display="block" stroke="url(#linearGradient3693)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.00000012" fill="url(#linearGradient3691)"/>
|
||||
<g id="g2779" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" fill-rule="nonzero" display="block" stroke-dashoffset="0" transform="matrix(0.386034,0.316753,0.326152,-0.374909,91.23907,1039.6243)" stroke="url(#linearGradient3687)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="2.00789738" fill="url(#linearGradient3695)">
|
||||
<path id="path2781" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="M44.307,50.23c18.514-14.411,5.358-36.818-21.845-37.732l-0.063-9.429-14.605,17.355,14.668,12.582v-9.6684c18.83,0.99898,32.982,14.072,21.844,26.892z" fill-rule="nonzero" stroke-dashoffset="0" display="block" stroke="url(#linearGradient3687)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="2.00789738" fill="url(#linearGradient3695)"/>
|
||||
</g>
|
||||
<path id="path2791" opacity="0.27222224" style="color:#000000;" d="m101.42,1044.2-0.005-9.2715,8.1406-0.04-2.8009,3.2437,2.7032,1.7397c-2,1.4568-2.9393,1.3182-3.606,2.9773l-1.9248-1.4913-2.5069,2.8418z" fill-rule="nonzero" fill="#FFF"/>
|
||||
<g id="g2793" opacity="0.5" transform="matrix(0.328713,0.262901,0.277723,-0.311169,94.451191,1039.6682)" stroke="#FFF" stroke-width="1.59006381" fill="none">
|
||||
<path id="path2795" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="M51.77,46.731c9.12-15.22-5.305-35.305-33.483-34.489l-0.061-7.0152-11.692,14.07,11.502,9.847s0.05562-9.0069,0.05562-9.0069c23.572,0.79434,37.206,12.015,33.678,26.594z" stroke-dashoffset="0" display="block" stroke="url(#linearGradient3703)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="2.38841796" fill="none"/>
|
||||
</g>
|
||||
<g id="g2805" opacity="0.5" transform="matrix(-0.339024,-0.277687,-0.286434,0.328671,131.88578,1028.1196)" stroke="#FFF" stroke-width="1.52344131" fill="none">
|
||||
<path id="path2807" stroke-linejoin="miter" style="color:#000000;stroke-dasharray:none;" d="M51.39,46.506c9.12-15.22-5.103-33.388-32.525-33.75l-0.203-6.8084-11.22,13.22,11.585,9.795s-0.31396-8.424-0.31396-8.424c22.406,0.47504,35.698,11.698,32.677,25.967z" stroke-dashoffset="0" display="block" stroke="url(#linearGradient3703)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="2.2883451" fill="none"/>
|
||||
</g>
|
||||
<path id="path2811" opacity="0.27222224" style="color:#000000;" d="m101.06,1030.1c1.8331-6.967,11.056-4.1901,13.552-3.1271,2.7835,0.1366,3.6269-1.4573,5.8438-1.564-9.3665-6.3273-18.708-4.0447-19.396,4.6911z" fill-rule="nonzero" fill="#FFF"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="g3940">
|
||||
<rect id="rect4173-6" opacity="0.40206" style="color:#000000;" fill-rule="nonzero" height="6.1523" width="21.113" y="1046.3" x="165.44" fill="url(#linearGradient3938)"/>
|
||||
<path id="path5058-2" opacity="0.40206185" style="color:#000000;" d="m186.56,1046.3v6.152c2.2517,0.012,5.4436-1.3783,5.4436-3.0764,0-1.698-2.5128-3.0756-5.4436-3.0756z" fill-rule="nonzero" fill="url(#radialGradient3935)"/>
|
||||
<path id="path5018-1" opacity="0.40206185" style="color:#000000;" d="m165.44,1046.3v6.152c-2.2517,0.012-5.4436-1.3783-5.4436-3.0764,0-1.698,2.5128-3.0756,5.4436-3.0756z" fill-rule="nonzero" fill="url(#radialGradient3932)"/>
|
||||
<rect id="rect4652" rx="1.1157" ry="1.141" height="4.3277" width="25.057" stroke="#595959" stroke-miterlimit="4" y="1045.5" x="163.5" stroke-width="1" fill="url(#linearGradient3929)"/>
|
||||
<path id="rect4609" stroke-linejoin="miter" style="color:#000000;" d="m164.89,1035.9,22.235,0c0.25375,0,0.57798,0.1972,0.77793,0.4953,0.19994,0.2982,1.1444,1.7858,1.3565,2.1033,0.21216,0.3175,0.25896,0.6185,0.25896,1.01v8.2631c0,0.6251-0.48239,1.1283-1.0816,1.1283h-24.859c-0.59921,0-1.0816-0.5032-1.0816-1.1283v-8.2631c0-0.3381,0.0667-0.8227,0.29419-1.1313,0.2871-0.3893,1.0573-1.7433,1.2604-2.0304,0.20315-0.2872,0.57619-0.4469,0.83877-0.4469z" fill-rule="nonzero" stroke-dashoffset="0" stroke="#676767" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.00000072" fill="url(#linearGradient3926)"/>
|
||||
<path id="path4718" fill-rule="evenodd" fill="#fbfbfb" d="m165.21,1036.4c-0.32896,0-0.75194,0.078-0.92539,0.3188l-1.2146,1.6835c-0.19552,0.271,0.0222,0.9098,0.61055,0.9098h24.632c0.79582,0,0.79814-0.6012,0.61054-0.8572l-1.1567-1.5782c-0.20974-0.2862-0.28587-0.4767-0.80972-0.4767h-21.747z"/>
|
||||
<path id="path4750" stroke-linejoin="miter" style="color:#000000;" d="m165.48,1036.8,21.024,0c0.23419,0,0.53343,0.1765,0.71796,0.4435,0.18454,0.2671,0.83016,1.3133,1.026,1.5976,0.19581,0.2843,0.27896,0.5539,0.27896,0.9045v7.2992c0,0.5598-0.0856,0.8082-0.63867,0.8082h-23.736c-0.55303,0-0.67863-0.2484-0.67863-0.8082v-7.2992c0-0.3027,0.14144-0.7368,0.35143-1.0131,0.26497-0.3486,0.69329-1.2752,0.88078-1.5323,0.18749-0.2572,0.53178-0.4002,0.77413-0.4002z" stroke-dashoffset="0" stroke="url(#linearGradient3922)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="0.9469679" fill="none"/>
|
||||
<path id="rect15391" stroke-linejoin="miter" style="color:#000000;" d="m167.33,1023.9,17.347,0c0.45791,0,0.82657,0.3529,0.82657,0.7913v12.941h-19v-12.941c0-0.4384,0.36865-0.7913,0.82657-0.7913z" fill-rule="nonzero" stroke-dashoffset="0" display="block" stroke="#898989" stroke-linecap="round" stroke-miterlimit="4" stroke-width="1.00000083" fill="url(#linearGradient3919)"/>
|
||||
<rect id="rect15660" stroke-linejoin="round" style="color:#000000;" display="block" stroke-dashoffset="0" rx="0.12007" ry="0.11941" height="12.724" width="16.981" stroke="url(#linearGradient3916)" stroke-linecap="round" stroke-miterlimit="4" y="1024.9" x="167.52" stroke-width="1" fill="none"/>
|
||||
<rect id="rect4678" rx="1.1157" ry="1.0723" height="3.25" width="22" stroke="url(#linearGradient3913)" stroke-miterlimit="4" y="1039.6" x="164.5" stroke-width="1" fill="url(#linearGradient3911)"/>
|
||||
<path id="path4696" fill="url(#radialGradient3821)" d="m10.872,27.626a1.2816,1.2816,0,1,1,-2.5633,0,1.2816,1.2816,0,1,1,2.5633,0z" transform="matrix(0.666667,0,0,0.666667,160.58599,1022.3401)"/>
|
||||
<path id="path4731" opacity="0.36571428" d="m167.68,1038.4,17.042,0.038c0.45833,0,0.65855-0.2238,0.625-0.6031l-0.0833-0.9423h1.2441c0.54167,0,0.66014,0.1162,0.79167,0.3393l0.33333,0.5653c0.3512,0.5957,1.2074,1.1905,0.33211,1.1905-3.0018,0-18.785-0.2105-20.285-0.5874z" fill-rule="evenodd" fill="url(#linearGradient3907)"/>
|
||||
<path id="path4760" stroke-linejoin="round" d="m188.47,1039-24.975,0" stroke="#FFF" stroke-linecap="round" stroke-width="1.00000048px" fill="none"/>
|
||||
<g id="g4849" opacity="0.43575416" fill-opacity="0.29239765" fill-rule="nonzero" transform="matrix(0.684243,0,0,0.993056,159.41998,1019.4386)" fill="#000">
|
||||
<rect id="rect4833" style="color:#000000;" height="1" width="19" y="7" x="14"/>
|
||||
<rect id="rect4835" style="color:#000000;" height="1" width="19" y="9" x="14"/>
|
||||
<rect id="rect4837" style="color:#000000;" height="1" width="19" y="11" x="14"/>
|
||||
<rect id="rect4839" style="color:#000000;" height="1" width="11" y="13" x="14"/>
|
||||
</g>
|
||||
<path id="path8643-7" style="color:#000000;" fill-rule="evenodd" fill="#a7a7a7" d="m173.99,1034.4,5.0626,0,0-1.9842,1.9686-0.031-4.5899-6.0785-5.0468,6.053,2.607,0-0.001,2.0409z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 32 KiB |
|
@ -34,6 +34,9 @@
|
|||
#include "shdocvw.h"
|
||||
#include "mshtmcid.h"
|
||||
#include "shellapi.h"
|
||||
#include "winreg.h"
|
||||
#include "shlwapi.h"
|
||||
#include "intshcut.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
||||
|
@ -41,12 +44,299 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
|
|||
|
||||
#define IDI_APPICON 1
|
||||
|
||||
#define DOCHOST_THIS(iface) DEFINE_THIS2(InternetExplorer,doc_host,iface)
|
||||
|
||||
static const WCHAR szIEWinFrame[] = { 'I','E','F','r','a','m','e',0 };
|
||||
|
||||
/* Windows uses "Microsoft Internet Explorer" */
|
||||
static const WCHAR wszWineInternetExplorer[] =
|
||||
{'W','i','n','e',' ','I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r',0};
|
||||
|
||||
HRESULT update_ie_statustext(InternetExplorer* This, LPCWSTR text)
|
||||
{
|
||||
if(!SendMessageW(This->status_hwnd, SB_SETTEXTW, MAKEWORD(SB_SIMPLEID, 0), (LPARAM)text))
|
||||
return E_FAIL;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static void adjust_ie_docobj_rect(HWND frame, RECT* rc)
|
||||
{
|
||||
HWND hwndRebar = GetDlgItem(frame, IDC_BROWSE_REBAR);
|
||||
HWND hwndStatus = GetDlgItem(frame, IDC_BROWSE_STATUSBAR);
|
||||
INT barHeight = SendMessageW(hwndRebar, RB_GETBARHEIGHT, 0, 0);
|
||||
|
||||
rc->top += barHeight;
|
||||
rc->bottom -= barHeight;
|
||||
|
||||
if(IsWindowVisible(hwndStatus))
|
||||
{
|
||||
RECT statusrc;
|
||||
|
||||
GetClientRect(hwndStatus, &statusrc);
|
||||
rc->bottom -= statusrc.bottom - statusrc.top;
|
||||
}
|
||||
}
|
||||
|
||||
static HMENU get_tb_menu(HMENU menu)
|
||||
{
|
||||
HMENU menu_view = GetSubMenu(menu, 1);
|
||||
|
||||
return GetSubMenu(menu_view, 0);
|
||||
}
|
||||
|
||||
static HMENU get_fav_menu(HMENU menu)
|
||||
{
|
||||
return GetSubMenu(menu, 2);
|
||||
}
|
||||
|
||||
static LPWSTR get_fav_url_from_id(HMENU menu, UINT id)
|
||||
{
|
||||
MENUITEMINFOW item;
|
||||
|
||||
item.cbSize = sizeof(item);
|
||||
item.fMask = MIIM_DATA;
|
||||
|
||||
if(!GetMenuItemInfoW(menu, id, FALSE, &item))
|
||||
return NULL;
|
||||
|
||||
return (LPWSTR)item.dwItemData;
|
||||
}
|
||||
|
||||
static void free_fav_menu_data(HMENU menu)
|
||||
{
|
||||
LPWSTR url;
|
||||
int i;
|
||||
|
||||
for(i = 0; (url = get_fav_url_from_id(menu, ID_BROWSE_GOTOFAV_FIRST + i)); i++)
|
||||
heap_free( url );
|
||||
}
|
||||
|
||||
static int get_menu_item_count(HMENU menu)
|
||||
{
|
||||
MENUITEMINFOW item;
|
||||
int count = 0;
|
||||
int i;
|
||||
|
||||
item.cbSize = sizeof(item);
|
||||
item.fMask = MIIM_DATA | MIIM_SUBMENU;
|
||||
|
||||
for(i = 0; GetMenuItemInfoW(menu, i, TRUE, &item); i++)
|
||||
{
|
||||
if(item.hSubMenu)
|
||||
count += get_menu_item_count(item.hSubMenu);
|
||||
else
|
||||
count++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
static void add_fav_to_menu(HMENU favmenu, HMENU menu, LPWSTR title, LPCWSTR url)
|
||||
{
|
||||
MENUITEMINFOW item;
|
||||
/* Subtract the number of standard elements in the Favorites menu */
|
||||
int favcount = get_menu_item_count(favmenu) - 2;
|
||||
LPWSTR urlbuf;
|
||||
|
||||
if(favcount > (ID_BROWSE_GOTOFAV_MAX - ID_BROWSE_GOTOFAV_FIRST))
|
||||
{
|
||||
FIXME("Add support for more than %d Favorites\n", favcount);
|
||||
return;
|
||||
}
|
||||
|
||||
urlbuf = heap_alloc((lstrlenW(url) + 1) * sizeof(WCHAR));
|
||||
|
||||
if(!urlbuf)
|
||||
return;
|
||||
|
||||
lstrcpyW(urlbuf, url);
|
||||
|
||||
item.cbSize = sizeof(item);
|
||||
item.fMask = MIIM_FTYPE | MIIM_STRING | MIIM_DATA | MIIM_ID;
|
||||
item.fType = MFT_STRING;
|
||||
item.dwTypeData = title;
|
||||
item.wID = ID_BROWSE_GOTOFAV_FIRST + favcount;
|
||||
item.dwItemData = (ULONG_PTR)urlbuf;
|
||||
InsertMenuItemW(menu, -1, TRUE, &item);
|
||||
}
|
||||
|
||||
static void add_favs_to_menu(HMENU favmenu, HMENU menu, LPCWSTR dir)
|
||||
{
|
||||
WCHAR path[MAX_PATH*2];
|
||||
const WCHAR search[] = {'*',0};
|
||||
WCHAR* filename;
|
||||
HANDLE findhandle;
|
||||
WIN32_FIND_DATAW finddata;
|
||||
IUniformResourceLocatorW* urlobj;
|
||||
IPersistFile* urlfile;
|
||||
HRESULT res;
|
||||
|
||||
lstrcpyW(path, dir);
|
||||
PathAppendW(path, search);
|
||||
|
||||
findhandle = FindFirstFileW(path, &finddata);
|
||||
|
||||
if(findhandle == INVALID_HANDLE_VALUE)
|
||||
return;
|
||||
|
||||
res = CoCreateInstance(&CLSID_InternetShortcut, NULL, CLSCTX_INPROC_SERVER, &IID_IUniformResourceLocatorW, (PVOID*)&urlobj);
|
||||
|
||||
if(SUCCEEDED(res))
|
||||
res = IUnknown_QueryInterface(urlobj, &IID_IPersistFile, (PVOID*)&urlfile);
|
||||
|
||||
if(SUCCEEDED(res))
|
||||
{
|
||||
filename = path + lstrlenW(path) - lstrlenW(search);
|
||||
|
||||
do
|
||||
{
|
||||
lstrcpyW(filename, finddata.cFileName);
|
||||
|
||||
if(finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
||||
{
|
||||
MENUITEMINFOW item;
|
||||
const WCHAR ignore1[] = {'.','.',0};
|
||||
const WCHAR ignore2[] = {'.',0};
|
||||
|
||||
if(!lstrcmpW(filename, ignore1) || !lstrcmpW(filename, ignore2))
|
||||
continue;
|
||||
|
||||
item.cbSize = sizeof(item);
|
||||
item.fMask = MIIM_STRING | MIIM_SUBMENU;
|
||||
item.dwTypeData = filename;
|
||||
item.hSubMenu = CreatePopupMenu();
|
||||
InsertMenuItemW(menu, -1, TRUE, &item);
|
||||
add_favs_to_menu(favmenu, item.hSubMenu, path);
|
||||
} else
|
||||
{
|
||||
WCHAR* fileext;
|
||||
WCHAR* url = NULL;
|
||||
const WCHAR urlext[] = {'.','u','r','l',0};
|
||||
|
||||
if(lstrcmpiW(PathFindExtensionW(filename), urlext))
|
||||
continue;
|
||||
|
||||
if(FAILED(IPersistFile_Load(urlfile, path, 0)))
|
||||
continue;
|
||||
|
||||
urlobj->lpVtbl->GetURL(urlobj, &url);
|
||||
|
||||
if(!url)
|
||||
continue;
|
||||
|
||||
fileext = filename + lstrlenW(filename) - lstrlenW(urlext);
|
||||
*fileext = 0;
|
||||
add_fav_to_menu(favmenu, menu, filename, url);
|
||||
}
|
||||
} while(FindNextFileW(findhandle, &finddata));
|
||||
}
|
||||
|
||||
if(urlfile)
|
||||
IPersistFile_Release(urlfile);
|
||||
|
||||
if(urlobj)
|
||||
IUnknown_Release(urlobj);
|
||||
|
||||
FindClose(findhandle);
|
||||
}
|
||||
|
||||
static void add_tbs_to_menu(HMENU menu)
|
||||
{
|
||||
HUSKEY toolbar_handle;
|
||||
WCHAR toolbar_key[] = {'S','o','f','t','w','a','r','e','\\',
|
||||
'M','i','c','r','o','s','o','f','t','\\',
|
||||
'I','n','t','e','r','n','e','t',' ',
|
||||
'E','x','p','l','o','r','e','r','\\',
|
||||
'T','o','o','l','b','a','r',0};
|
||||
|
||||
if(SHRegOpenUSKeyW(toolbar_key, KEY_READ, NULL, &toolbar_handle, TRUE) == ERROR_SUCCESS)
|
||||
{
|
||||
HUSKEY classes_handle;
|
||||
WCHAR classes_key[] = {'S','o','f','t','w','a','r','e','\\',
|
||||
'C','l','a','s','s','e','s','\\','C','L','S','I','D',0};
|
||||
WCHAR guid[39];
|
||||
DWORD value_len = sizeof(guid)/sizeof(guid[0]);
|
||||
int i;
|
||||
|
||||
if(SHRegOpenUSKeyW(classes_key, KEY_READ, NULL, &classes_handle, TRUE) != ERROR_SUCCESS)
|
||||
{
|
||||
SHRegCloseUSKey(toolbar_handle);
|
||||
ERR("Failed to open key %s\n", debugstr_w(classes_key));
|
||||
return;
|
||||
}
|
||||
|
||||
for(i = 0; SHRegEnumUSValueW(toolbar_handle, i, guid, &value_len, NULL, NULL, NULL, SHREGENUM_HKLM) == ERROR_SUCCESS; i++)
|
||||
{
|
||||
WCHAR tb_name[100];
|
||||
DWORD tb_name_len = sizeof(tb_name)/sizeof(tb_name[0]);
|
||||
HUSKEY tb_class_handle;
|
||||
MENUITEMINFOW item;
|
||||
LSTATUS ret;
|
||||
value_len = sizeof(guid)/sizeof(guid[0]);
|
||||
|
||||
if(lstrlenW(guid) != 38)
|
||||
{
|
||||
TRACE("Found invalid IE toolbar entry: %s\n", debugstr_w(guid));
|
||||
continue;
|
||||
}
|
||||
|
||||
if(SHRegOpenUSKeyW(guid, KEY_READ, classes_handle, &tb_class_handle, TRUE) != ERROR_SUCCESS)
|
||||
{
|
||||
ERR("Failed to get class info for %s\n", debugstr_w(guid));
|
||||
continue;
|
||||
}
|
||||
|
||||
ret = SHRegQueryUSValueW(tb_class_handle, NULL, NULL, tb_name, &tb_name_len, TRUE, NULL, 0);
|
||||
|
||||
SHRegCloseUSKey(tb_class_handle);
|
||||
|
||||
if(ret != ERROR_SUCCESS)
|
||||
{
|
||||
ERR("Failed to get toolbar name for %s\n", debugstr_w(guid));
|
||||
continue;
|
||||
}
|
||||
|
||||
item.cbSize = sizeof(item);
|
||||
item.fMask = MIIM_STRING;
|
||||
item.dwTypeData = tb_name;
|
||||
InsertMenuItemW(menu, GetMenuItemCount(menu), TRUE, &item);
|
||||
}
|
||||
|
||||
SHRegCloseUSKey(classes_handle);
|
||||
SHRegCloseUSKey(toolbar_handle);
|
||||
}
|
||||
}
|
||||
|
||||
static HMENU create_ie_menu(void)
|
||||
{
|
||||
HMENU menu = LoadMenuW(shdocvw_hinstance, MAKEINTRESOURCEW(IDR_BROWSE_MAIN_MENU));
|
||||
HMENU favmenu = get_fav_menu(menu);
|
||||
WCHAR path[MAX_PATH];
|
||||
|
||||
add_tbs_to_menu(get_tb_menu(menu));
|
||||
|
||||
if(SHGetFolderPathW(NULL, CSIDL_COMMON_FAVORITES, NULL, SHGFP_TYPE_CURRENT, path) == S_OK)
|
||||
add_favs_to_menu(favmenu, favmenu, path);
|
||||
|
||||
if(SHGetFolderPathW(NULL, CSIDL_FAVORITES, NULL, SHGFP_TYPE_CURRENT, path) == S_OK)
|
||||
add_favs_to_menu(favmenu, favmenu, path);
|
||||
|
||||
return menu;
|
||||
}
|
||||
|
||||
static void ie_navigate(InternetExplorer* This, LPCWSTR url)
|
||||
{
|
||||
VARIANT variant;
|
||||
|
||||
V_VT(&variant) = VT_BSTR;
|
||||
V_BSTR(&variant) = SysAllocString(url);
|
||||
|
||||
IWebBrowser2_Navigate2(WEBBROWSER2(This), &variant, NULL, NULL, NULL, NULL);
|
||||
|
||||
SysFreeString(V_BSTR(&variant));
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK ie_dialog_open_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
static InternetExplorer* This;
|
||||
|
@ -81,7 +371,7 @@ static INT_PTR CALLBACK ie_dialog_open_proc(HWND hwnd, UINT msg, WPARAM wparam,
|
|||
V_VT(&url) = VT_BSTR;
|
||||
V_BSTR(&url) = SysAllocStringLen(NULL, len);
|
||||
|
||||
GetWindowTextW(hwndurl, V_BSTR(&url), len);
|
||||
GetWindowTextW(hwndurl, V_BSTR(&url), len + 1);
|
||||
IWebBrowser2_Navigate2(WEBBROWSER2(This), &url, NULL, NULL, NULL, NULL);
|
||||
|
||||
SysFreeString(V_BSTR(&url));
|
||||
|
@ -105,32 +395,169 @@ static void ie_dialog_about(HWND hwnd)
|
|||
DestroyIcon(icon);
|
||||
}
|
||||
|
||||
static void add_tb_separator(HWND hwnd)
|
||||
{
|
||||
TBBUTTON btn;
|
||||
|
||||
ZeroMemory(&btn, sizeof(btn));
|
||||
|
||||
btn.iBitmap = 3;
|
||||
btn.fsStyle = BTNS_SEP;
|
||||
SendMessageW(hwnd, TB_ADDBUTTONSW, 1, (LPARAM)&btn);
|
||||
}
|
||||
|
||||
static void add_tb_button(HWND hwnd, int bmp, int cmd, int strId)
|
||||
{
|
||||
TBBUTTON btn;
|
||||
WCHAR buf[30];
|
||||
|
||||
LoadStringW(shdocvw_hinstance, strId, buf, sizeof(buf)/sizeof(buf[0]));
|
||||
|
||||
btn.iBitmap = bmp;
|
||||
btn.idCommand = cmd;
|
||||
btn.fsState = TBSTATE_ENABLED;
|
||||
btn.fsStyle = BTNS_SHOWTEXT;
|
||||
btn.dwData = 0;
|
||||
btn.iString = (INT_PTR)buf;
|
||||
|
||||
SendMessageW(hwnd, TB_ADDBUTTONSW, 1, (LPARAM)&btn);
|
||||
}
|
||||
|
||||
static void create_rebar(HWND hwnd)
|
||||
{
|
||||
HWND hwndRebar;
|
||||
HWND hwndAddress;
|
||||
HWND hwndToolbar;
|
||||
REBARINFO rebarinf;
|
||||
REBARBANDINFOW bandinf;
|
||||
WCHAR addr[40];
|
||||
HIMAGELIST imagelist;
|
||||
WCHAR idb_ietoolbar[] = {'I','D','B','_','I','E','T','O','O','L','B','A','R',0};
|
||||
|
||||
LoadStringW(shdocvw_hinstance, IDS_ADDRESS, addr, sizeof(addr)/sizeof(addr[0]));
|
||||
|
||||
hwndRebar = CreateWindowExW(WS_EX_TOOLWINDOW, REBARCLASSNAMEW, NULL, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|RBS_VARHEIGHT|CCS_TOP|CCS_NODIVIDER, 0, 0, 0, 0, hwnd, (HMENU)IDC_BROWSE_REBAR, shdocvw_hinstance, NULL);
|
||||
|
||||
rebarinf.cbSize = sizeof(rebarinf);
|
||||
rebarinf.fMask = 0;
|
||||
rebarinf.himl = NULL;
|
||||
rebarinf.cbSize = sizeof(rebarinf);
|
||||
|
||||
SendMessageW(hwndRebar, RB_SETBARINFO, 0, (LPARAM)&rebarinf);
|
||||
|
||||
hwndToolbar = CreateWindowExW(TBSTYLE_EX_MIXEDBUTTONS, TOOLBARCLASSNAMEW, NULL, TBSTYLE_FLAT | WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwndRebar, (HMENU)IDC_BROWSE_TOOLBAR, shdocvw_hinstance, NULL);
|
||||
|
||||
imagelist = ImageList_LoadImageW(shdocvw_hinstance, idb_ietoolbar, 32, 0, CLR_NONE, IMAGE_BITMAP, LR_CREATEDIBSECTION);
|
||||
|
||||
SendMessageW(hwndToolbar, TB_SETIMAGELIST, 0, (LPARAM)imagelist);
|
||||
SendMessageW(hwndToolbar, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
|
||||
add_tb_button(hwndToolbar, 0, 0, IDS_TB_BACK);
|
||||
add_tb_button(hwndToolbar, 1, 0, IDS_TB_FORWARD);
|
||||
add_tb_button(hwndToolbar, 2, 0, IDS_TB_STOP);
|
||||
add_tb_button(hwndToolbar, 3, 0, IDS_TB_REFRESH);
|
||||
add_tb_button(hwndToolbar, 4, ID_BROWSE_HOME, IDS_TB_HOME);
|
||||
add_tb_separator(hwndToolbar);
|
||||
add_tb_button(hwndToolbar, 5, ID_BROWSE_PRINT, IDS_TB_PRINT);
|
||||
SendMessageW(hwndToolbar, TB_SETBUTTONSIZE, 0, MAKELPARAM(55,50));
|
||||
SendMessageW(hwndToolbar, TB_AUTOSIZE, 0, 0);
|
||||
|
||||
bandinf.cbSize = sizeof(bandinf);
|
||||
bandinf.fMask = RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE;
|
||||
bandinf.fStyle = RBBS_CHILDEDGE;
|
||||
bandinf.cx = 100;
|
||||
bandinf.cyMinChild = 52;
|
||||
bandinf.hwndChild = hwndToolbar;
|
||||
|
||||
SendMessageW(hwndRebar, RB_INSERTBANDW, -1, (LPARAM)&bandinf);
|
||||
|
||||
hwndAddress = CreateWindowExW(0, WC_COMBOBOXEXW, NULL, WS_BORDER|WS_CHILD|WS_VISIBLE|CBS_DROPDOWN, 0, 0, 100,20,hwndRebar, (HMENU)IDC_BROWSE_ADDRESSBAR, shdocvw_hinstance, NULL);
|
||||
|
||||
bandinf.fMask |= RBBIM_TEXT;
|
||||
bandinf.fStyle = RBBS_CHILDEDGE | RBBS_BREAK;
|
||||
bandinf.lpText = addr;
|
||||
bandinf.cyMinChild = 20;
|
||||
bandinf.hwndChild = hwndAddress;
|
||||
|
||||
SendMessageW(hwndRebar, RB_INSERTBANDW, -1, (LPARAM)&bandinf);
|
||||
}
|
||||
|
||||
static LRESULT iewnd_OnCreate(HWND hwnd, LPCREATESTRUCTW lpcs)
|
||||
{
|
||||
InternetExplorer* This = (InternetExplorer*)lpcs->lpCreateParams;
|
||||
SetWindowLongPtrW(hwnd, 0, (LONG_PTR) lpcs->lpCreateParams);
|
||||
|
||||
This->menu = create_ie_menu();
|
||||
|
||||
This->status_hwnd = CreateStatusWindowW(CCS_NODIVIDER|WS_CHILD|WS_VISIBLE, NULL, hwnd, IDC_BROWSE_STATUSBAR);
|
||||
SendMessageW(This->status_hwnd, SB_SIMPLE, TRUE, 0);
|
||||
|
||||
create_rebar(hwnd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT iewnd_OnSize(InternetExplorer *This, INT width, INT height)
|
||||
{
|
||||
HWND hwndRebar = GetDlgItem(This->frame_hwnd, IDC_BROWSE_REBAR);
|
||||
INT barHeight = SendMessageW(hwndRebar, RB_GETBARHEIGHT, 0, 0);
|
||||
RECT docarea = {0, 0, width, height};
|
||||
|
||||
SendMessageW(This->status_hwnd, WM_SIZE, 0, 0);
|
||||
|
||||
adjust_ie_docobj_rect(This->frame_hwnd, &docarea);
|
||||
|
||||
if(This->doc_host.hwnd)
|
||||
SetWindowPos(This->doc_host.hwnd, NULL, 0, 0, width, height,
|
||||
SetWindowPos(This->doc_host.hwnd, NULL, docarea.left, docarea.top, docarea.right, docarea.bottom,
|
||||
SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
|
||||
SetWindowPos(hwndRebar, NULL, 0, 0, width, barHeight, SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT iewnd_OnNotify(InternetExplorer *This, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
NMHDR* hdr = (NMHDR*)lparam;
|
||||
|
||||
if(hdr->idFrom == IDC_BROWSE_ADDRESSBAR && hdr->code == CBEN_ENDEDITW)
|
||||
{
|
||||
NMCBEENDEDITW* info = (NMCBEENDEDITW*)lparam;
|
||||
|
||||
if(info->fChanged && info->iWhy == CBENF_RETURN && info->szText)
|
||||
{
|
||||
VARIANT vt;
|
||||
|
||||
V_VT(&vt) = VT_BSTR;
|
||||
V_BSTR(&vt) = SysAllocString(info->szText);
|
||||
|
||||
IWebBrowser2_Navigate2(WEBBROWSER2(This), &vt, NULL, NULL, NULL, NULL);
|
||||
|
||||
SysFreeString(V_BSTR(&vt));
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT iewnd_OnDestroy(InternetExplorer *This)
|
||||
{
|
||||
HWND hwndRebar = GetDlgItem(This->frame_hwnd, IDC_BROWSE_REBAR);
|
||||
HWND hwndToolbar = GetDlgItem(hwndRebar, IDC_BROWSE_TOOLBAR);
|
||||
HIMAGELIST list = (HIMAGELIST)SendMessageW(hwndToolbar, TB_GETIMAGELIST, 0, 0);
|
||||
|
||||
TRACE("%p\n", This);
|
||||
|
||||
free_fav_menu_data(get_fav_menu(This->menu));
|
||||
ImageList_Destroy(list);
|
||||
This->frame_hwnd = NULL;
|
||||
PostQuitMessage(0); /* FIXME */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK iewnd_OnCommand(InternetExplorer *This, HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
static LRESULT iewnd_OnCommand(InternetExplorer *This, HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
switch(LOWORD(wparam))
|
||||
{
|
||||
|
@ -152,16 +579,43 @@ static LRESULT CALLBACK iewnd_OnCommand(InternetExplorer *This, HWND hwnd, UINT
|
|||
}
|
||||
break;
|
||||
|
||||
case ID_BROWSE_HOME:
|
||||
IWebBrowser2_GoHome(WEBBROWSER2(This));
|
||||
break;
|
||||
|
||||
case ID_BROWSE_ABOUT:
|
||||
ie_dialog_about(hwnd);
|
||||
break;
|
||||
|
||||
case ID_BROWSE_QUIT:
|
||||
iewnd_OnDestroy(This);
|
||||
break;
|
||||
|
||||
default:
|
||||
if(LOWORD(wparam) >= ID_BROWSE_GOTOFAV_FIRST && LOWORD(wparam) <= ID_BROWSE_GOTOFAV_MAX)
|
||||
{
|
||||
LPCWSTR url = get_fav_url_from_id(get_fav_menu(This->menu), LOWORD(wparam));
|
||||
|
||||
if(url)
|
||||
ie_navigate(This, url);
|
||||
}
|
||||
return DefWindowProcW(hwnd, msg, wparam, lparam);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT update_addrbar(InternetExplorer *This, LPARAM lparam)
|
||||
{
|
||||
HWND hwndRebar = GetDlgItem(This->frame_hwnd, IDC_BROWSE_REBAR);
|
||||
HWND hwndAddress = GetDlgItem(hwndRebar, IDC_BROWSE_ADDRESSBAR);
|
||||
HWND hwndEdit = (HWND)SendMessageW(hwndAddress, CBEM_GETEDITCONTROL, 0, 0);
|
||||
LPCWSTR url = (LPCWSTR)lparam;
|
||||
|
||||
SendMessageW(hwndEdit, WM_SETTEXT, 0, (LPARAM)url);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK
|
||||
ie_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
|
@ -177,8 +631,12 @@ ie_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
|||
return iewnd_OnSize(This, LOWORD(lparam), HIWORD(lparam));
|
||||
case WM_COMMAND:
|
||||
return iewnd_OnCommand(This, hwnd, msg, wparam, lparam);
|
||||
case WM_NOTIFY:
|
||||
return iewnd_OnNotify(This, wparam, lparam);
|
||||
case WM_DOCHOSTTASK:
|
||||
return process_dochost_task(&This->doc_host, lparam);
|
||||
case WM_UPDATEADDRBAR:
|
||||
return update_addrbar(This, lparam);
|
||||
}
|
||||
return DefWindowProcW(hwnd, msg, wparam, lparam);
|
||||
}
|
||||
|
@ -264,6 +722,35 @@ static IWebBrowser2 *create_ie_window(LPCSTR cmdline)
|
|||
return wb;
|
||||
}
|
||||
|
||||
static void WINAPI DocHostContainer_GetDocObjRect(DocHost* This, RECT* rc)
|
||||
{
|
||||
GetClientRect(This->frame_hwnd, rc);
|
||||
adjust_ie_docobj_rect(This->frame_hwnd, rc);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI DocHostContainer_SetStatusText(DocHost* This, LPCWSTR text)
|
||||
{
|
||||
InternetExplorer* ie = DOCHOST_THIS(This);
|
||||
return update_ie_statustext(ie, text);
|
||||
}
|
||||
|
||||
static void WINAPI DocHostContainer_SetURL(DocHost* This, LPCWSTR url)
|
||||
{
|
||||
SendMessageW(This->frame_hwnd, WM_UPDATEADDRBAR, 0, (LPARAM)url);
|
||||
}
|
||||
|
||||
static HRESULT DocHostContainer_exec(DocHost* This, const GUID *cmd_group, DWORD cmdid, DWORD execopt, VARIANT *in,
|
||||
VARIANT *out)
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
static const IDocHostContainerVtbl DocHostContainerVtbl = {
|
||||
DocHostContainer_GetDocObjRect,
|
||||
DocHostContainer_SetStatusText,
|
||||
DocHostContainer_SetURL,
|
||||
DocHostContainer_exec
|
||||
};
|
||||
|
||||
HRESULT InternetExplorer_Create(IUnknown *pOuter, REFIID riid, void **ppv)
|
||||
{
|
||||
InternetExplorer *ret;
|
||||
|
@ -275,10 +762,12 @@ HRESULT InternetExplorer_Create(IUnknown *pOuter, REFIID riid, void **ppv)
|
|||
ret->ref = 0;
|
||||
|
||||
ret->doc_host.disp = (IDispatch*)WEBBROWSER2(ret);
|
||||
DocHost_Init(&ret->doc_host, (IDispatch*)WEBBROWSER2(ret));
|
||||
DocHost_Init(&ret->doc_host, (IDispatch*)WEBBROWSER2(ret), &DocHostContainerVtbl);
|
||||
|
||||
InternetExplorer_WebBrowser_Init(ret);
|
||||
|
||||
HlinkFrame_Init(&ret->hlink_frame, (IUnknown*)WEBBROWSER2(ret), &ret->doc_host);
|
||||
|
||||
create_frame_hwnd(ret);
|
||||
ret->doc_host.frame_hwnd = ret->frame_hwnd;
|
||||
|
||||
|
|
|
@ -27,11 +27,17 @@
|
|||
* The installer for the Zuma Deluxe Popcap game is good for testing.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "wine/debug.h"
|
||||
#include "shdocvw.h"
|
||||
#include "objidl.h"
|
||||
#include "shobjidl.h"
|
||||
#include "intshcut.h"
|
||||
#include "shellapi.h"
|
||||
#include "winreg.h"
|
||||
#include "shlwapi.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
|
||||
|
||||
|
@ -237,8 +243,47 @@ static HRESULT WINAPI UniformResourceLocatorW_GetUrl(IUniformResourceLocatorW *u
|
|||
|
||||
static HRESULT WINAPI UniformResourceLocatorW_InvokeCommand(IUniformResourceLocatorW *url, PURLINVOKECOMMANDINFOW pCommandInfo)
|
||||
{
|
||||
FIXME("(%p, %p): stub\n", url, pCommandInfo);
|
||||
return E_NOTIMPL;
|
||||
InternetShortcut *This = impl_from_IUniformResourceLocatorW(url);
|
||||
WCHAR app[64];
|
||||
HKEY hkey;
|
||||
static const WCHAR wszURLProtocol[] = {'U','R','L',' ','P','r','o','t','o','c','o','l',0};
|
||||
SHELLEXECUTEINFOW sei;
|
||||
DWORD res, type;
|
||||
HRESULT hres;
|
||||
|
||||
TRACE("%p %p\n", This, pCommandInfo );
|
||||
|
||||
if (pCommandInfo->dwcbSize < sizeof (URLINVOKECOMMANDINFOW))
|
||||
return E_INVALIDARG;
|
||||
|
||||
if (pCommandInfo->dwFlags != IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB)
|
||||
{
|
||||
FIXME("(%p, %p): non-default verbs not implemented\n", url, pCommandInfo);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
hres = CoInternetParseUrl(This->url, PARSE_SCHEMA, 0, app, sizeof(app)/sizeof(WCHAR), NULL, 0);
|
||||
if(FAILED(hres))
|
||||
return E_FAIL;
|
||||
|
||||
res = RegOpenKeyW(HKEY_CLASSES_ROOT, app, &hkey);
|
||||
if(res != ERROR_SUCCESS)
|
||||
return E_FAIL;
|
||||
|
||||
res = RegQueryValueExW(hkey, wszURLProtocol, NULL, &type, NULL, NULL);
|
||||
RegCloseKey(hkey);
|
||||
if(res != ERROR_SUCCESS || type != REG_SZ)
|
||||
return E_FAIL;
|
||||
|
||||
memset(&sei, 0, sizeof(sei));
|
||||
sei.cbSize = sizeof(sei);
|
||||
sei.lpFile = This->url;
|
||||
sei.nShow = SW_SHOW;
|
||||
|
||||
if( ShellExecuteExW(&sei) )
|
||||
return S_OK;
|
||||
else
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI UniformResourceLocatorA_QueryInterface(IUniformResourceLocatorA *url, REFIID riid, PVOID *ppvObject)
|
||||
|
@ -299,8 +344,26 @@ static HRESULT WINAPI UniformResourceLocatorA_GetUrl(IUniformResourceLocatorA *u
|
|||
|
||||
static HRESULT WINAPI UniformResourceLocatorA_InvokeCommand(IUniformResourceLocatorA *url, PURLINVOKECOMMANDINFOA pCommandInfo)
|
||||
{
|
||||
FIXME("(%p, %p): stub\n", url, pCommandInfo);
|
||||
return E_NOTIMPL;
|
||||
URLINVOKECOMMANDINFOW wideCommandInfo;
|
||||
int len;
|
||||
WCHAR *wideVerb;
|
||||
HRESULT res;
|
||||
InternetShortcut *This = impl_from_IUniformResourceLocatorA(url);
|
||||
|
||||
wideCommandInfo.dwcbSize = sizeof wideCommandInfo;
|
||||
wideCommandInfo.dwFlags = pCommandInfo->dwFlags;
|
||||
wideCommandInfo.hwndParent = pCommandInfo->hwndParent;
|
||||
|
||||
len = MultiByteToWideChar(CP_ACP, 0, pCommandInfo->pcszVerb, -1, NULL, 0);
|
||||
wideVerb = heap_alloc(len * sizeof(WCHAR));
|
||||
MultiByteToWideChar(CP_ACP, 0, pCommandInfo->pcszVerb, -1, wideVerb, len);
|
||||
|
||||
wideCommandInfo.pcszVerb = wideVerb;
|
||||
|
||||
res = UniformResourceLocatorW_InvokeCommand(&This->uniformResourceLocatorW, &wideCommandInfo);
|
||||
heap_free(wideVerb);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PersistFile_QueryInterface(IPersistFile *pFile, REFIID riid, PVOID *ppvObject)
|
||||
|
@ -506,6 +569,22 @@ static const IPersistFileVtbl persistFileVtbl = {
|
|||
PersistFile_GetCurFile
|
||||
};
|
||||
|
||||
static InternetShortcut *create_shortcut(void)
|
||||
{
|
||||
InternetShortcut *newshortcut;
|
||||
|
||||
newshortcut = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(InternetShortcut));
|
||||
if (newshortcut)
|
||||
{
|
||||
newshortcut->uniformResourceLocatorA.lpVtbl = &uniformResourceLocatorAVtbl;
|
||||
newshortcut->uniformResourceLocatorW.lpVtbl = &uniformResourceLocatorWVtbl;
|
||||
newshortcut->persistFile.lpVtbl = &persistFileVtbl;
|
||||
newshortcut->refCount = 0;
|
||||
}
|
||||
|
||||
return newshortcut;
|
||||
}
|
||||
|
||||
HRESULT InternetShortcut_Create(IUnknown *pOuter, REFIID riid, void **ppv)
|
||||
{
|
||||
InternetShortcut *This;
|
||||
|
@ -518,13 +597,9 @@ HRESULT InternetShortcut_Create(IUnknown *pOuter, REFIID riid, void **ppv)
|
|||
if(pOuter)
|
||||
return CLASS_E_NOAGGREGATION;
|
||||
|
||||
This = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(InternetShortcut));
|
||||
This = create_shortcut();
|
||||
if (This)
|
||||
{
|
||||
This->uniformResourceLocatorA.lpVtbl = &uniformResourceLocatorAVtbl;
|
||||
This->uniformResourceLocatorW.lpVtbl = &uniformResourceLocatorWVtbl;
|
||||
This->persistFile.lpVtbl = &persistFileVtbl;
|
||||
This->refCount = 0;
|
||||
hr = Unknown_QueryInterface(This, riid, ppv);
|
||||
if (SUCCEEDED(hr))
|
||||
SHDOCVW_LockModule();
|
||||
|
@ -535,3 +610,39 @@ HRESULT InternetShortcut_Create(IUnknown *pOuter, REFIID riid, void **ppv)
|
|||
else
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* OpenURL (SHDOCVW.@)
|
||||
*/
|
||||
void WINAPI OpenURL(HWND hWnd, HINSTANCE hInst, LPCSTR lpcstrUrl, int nShowCmd)
|
||||
{
|
||||
InternetShortcut *shortcut;
|
||||
WCHAR* urlfilepath = NULL;
|
||||
shortcut = create_shortcut();
|
||||
|
||||
if (shortcut)
|
||||
{
|
||||
int len;
|
||||
|
||||
len = MultiByteToWideChar(CP_ACP, 0, lpcstrUrl, -1, NULL, 0);
|
||||
urlfilepath = heap_alloc(len * sizeof(WCHAR));
|
||||
MultiByteToWideChar(CP_ACP, 0, lpcstrUrl, -1, urlfilepath, len);
|
||||
|
||||
if(SUCCEEDED(IPersistFile_Load(&shortcut->persistFile, urlfilepath, 0)))
|
||||
{
|
||||
URLINVOKECOMMANDINFOW ici;
|
||||
|
||||
memset( &ici, 0, sizeof ici );
|
||||
ici.dwcbSize = sizeof ici;
|
||||
ici.dwFlags = IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB;
|
||||
ici.hwndParent = hWnd;
|
||||
|
||||
if FAILED(UniformResourceLocatorW_InvokeCommand(&shortcut->uniformResourceLocatorW, (PURLINVOKECOMMANDINFOW) &ici))
|
||||
TRACE("failed to open URL: %s\n.",debugstr_a(lpcstrUrl));
|
||||
}
|
||||
|
||||
heap_free(shortcut);
|
||||
heap_free(urlfilepath);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,6 +125,8 @@ static HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
|
|||
|
||||
heap_free(This->url);
|
||||
This->url = new_url;
|
||||
|
||||
This->container_vtbl->SetURL(This, This->url);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@ -759,7 +761,7 @@ HRESULT navigate_url(DocHost *This, LPCWSTR url, const VARIANT *Flags,
|
|||
Flags, Flags ? V_VT(Flags) : -1, TargetFrameName,
|
||||
TargetFrameName ? V_VT(TargetFrameName) : -1);
|
||||
|
||||
if(PostData && V_VT(PostData) == (VT_ARRAY | VT_UI1)) {
|
||||
if(PostData && V_VT(PostData) == (VT_ARRAY | VT_UI1) && V_ARRAY(PostData)) {
|
||||
SafeArrayAccessData(V_ARRAY(PostData), (void**)&post_data);
|
||||
post_data_len = V_ARRAY(PostData)->rgsabound[0].cElements;
|
||||
}
|
||||
|
@ -781,7 +783,8 @@ HRESULT navigate_url(DocHost *This, LPCWSTR url, const VARIANT *Flags,
|
|||
DWORD size;
|
||||
|
||||
size = sizeof(new_url)/sizeof(WCHAR);
|
||||
hres = UrlApplySchemeW(url, new_url, &size, URL_APPLY_GUESSSCHEME);
|
||||
hres = UrlApplySchemeW(url, new_url, &size,
|
||||
URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT);
|
||||
if(FAILED(hres)) {
|
||||
WARN("UrlApplyScheme failed: %08x\n", hres);
|
||||
new_url[0] = 0;
|
||||
|
@ -881,30 +884,30 @@ HRESULT go_home(DocHost *This)
|
|||
return navigate_url(This, wszPageName, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
#define HLINKFRAME_THIS(iface) DEFINE_THIS(WebBrowser, HlinkFrame, iface)
|
||||
#define HLINKFRAME_THIS(iface) DEFINE_THIS(HlinkFrame, IHlinkFrame, iface)
|
||||
|
||||
static HRESULT WINAPI HlinkFrame_QueryInterface(IHlinkFrame *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
return IWebBrowser2_QueryInterface(WEBBROWSER2(This), riid, ppv);
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
return IUnknown_QueryInterface(This->outer, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HlinkFrame_AddRef(IHlinkFrame *iface)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
return IWebBrowser2_AddRef(WEBBROWSER2(This));
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
return IUnknown_AddRef(This->outer);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HlinkFrame_Release(IHlinkFrame *iface)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
return IWebBrowser2_Release(WEBBROWSER2(This));
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
return IUnknown_Release(This->outer);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HlinkFrame_SetBrowseContext(IHlinkFrame *iface,
|
||||
IHlinkBrowseContext *pihlbc)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, pihlbc);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -912,7 +915,7 @@ static HRESULT WINAPI HlinkFrame_SetBrowseContext(IHlinkFrame *iface,
|
|||
static HRESULT WINAPI HlinkFrame_GetBrowseContext(IHlinkFrame *iface,
|
||||
IHlinkBrowseContext **ppihlbc)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppihlbc);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -920,7 +923,7 @@ static HRESULT WINAPI HlinkFrame_GetBrowseContext(IHlinkFrame *iface,
|
|||
static HRESULT WINAPI HlinkFrame_Navigate(IHlinkFrame *iface, DWORD grfHLNF, LPBC pbc,
|
||||
IBindStatusCallback *pibsc, IHlink *pihlNavigate)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
IMoniker *mon;
|
||||
LPWSTR location = NULL;
|
||||
|
||||
|
@ -945,13 +948,13 @@ static HRESULT WINAPI HlinkFrame_Navigate(IHlinkFrame *iface, DWORD grfHLNF, LPB
|
|||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
return navigate_hlink(&This->doc_host, mon, pbc, pibsc);
|
||||
return navigate_hlink(This->doc_host, mon, pbc, pibsc);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HlinkFrame_OnNavigate(IHlinkFrame *iface, DWORD grfHLNF,
|
||||
IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, DWORD dwreserved)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%08x %p %s %s %d)\n", This, grfHLNF, pimkTarget, debugstr_w(pwzLocation),
|
||||
debugstr_w(pwzFriendlyName), dwreserved);
|
||||
return E_NOTIMPL;
|
||||
|
@ -960,7 +963,7 @@ static HRESULT WINAPI HlinkFrame_OnNavigate(IHlinkFrame *iface, DWORD grfHLNF,
|
|||
static HRESULT WINAPI HlinkFrame_UpdateHlink(IHlinkFrame *iface, ULONG uHLID,
|
||||
IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
|
||||
{
|
||||
WebBrowser *This = HLINKFRAME_THIS(iface);
|
||||
HlinkFrame *This = HLINKFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%u %p %s %s)\n", This, uHLID, pimkTarget, debugstr_w(pwzLocation),
|
||||
debugstr_w(pwzFriendlyName));
|
||||
return E_NOTIMPL;
|
||||
|
@ -979,106 +982,106 @@ static const IHlinkFrameVtbl HlinkFrameVtbl = {
|
|||
HlinkFrame_UpdateHlink
|
||||
};
|
||||
|
||||
#define TARGETFRAME2_THIS(iface) DEFINE_THIS(WebBrowser, ITargetFrame2, iface)
|
||||
#define TARGETFRAME2_THIS(iface) DEFINE_THIS(HlinkFrame, ITargetFrame2, iface)
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_QueryInterface(ITargetFrame2 *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
return IWebBrowser2_QueryInterface(WEBBROWSER2(This), riid, ppv);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
return IUnknown_QueryInterface(This->outer, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI TargetFrame2_AddRef(ITargetFrame2 *iface)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
return IWebBrowser2_AddRef(WEBBROWSER2(This));
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
return IUnknown_AddRef(This->outer);
|
||||
}
|
||||
|
||||
static ULONG WINAPI TargetFrame2_Release(ITargetFrame2 *iface)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
return IWebBrowser2_Release(WEBBROWSER2(This));
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
return IUnknown_Release(This->outer);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameName(ITargetFrame2 *iface, LPCWSTR pszFrameName)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameName));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameName(ITargetFrame2 *iface, LPWSTR *ppszFrameName)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppszFrameName);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetParentFrame(ITargetFrame2 *iface, IUnknown **ppunkParent)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppunkParent);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameSrc(ITargetFrame2 *iface, LPCWSTR pszFrameSrc)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameSrc));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameSrc(ITargetFrame2 *iface, LPWSTR *ppszFrameSrc)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->()\n", This);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFramesContainer(ITargetFrame2 *iface, IOleContainer **ppContainer)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ppContainer);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameOptions(ITargetFrame2 *iface, DWORD dwFlags)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%x)\n", This, dwFlags);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameOptions(ITargetFrame2 *iface, DWORD *pdwFlags)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, pdwFlags);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_SetFrameMargins(ITargetFrame2 *iface, DWORD dwWidth, DWORD dwHeight)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%d %d)\n", This, dwWidth, dwHeight);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetFrameMargins(ITargetFrame2 *iface, DWORD *pdwWidth, DWORD *pdwHeight)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%p %p)\n", This, pdwWidth, pdwHeight);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_FindFrame(ITargetFrame2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%s %x %p)\n", This, debugstr_w(pszTargetName), dwFlags, ppunkTargetFrame);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TargetFrame2_GetTargetAlias(ITargetFrame2 *iface, LPCWSTR pszTargetName, LPWSTR *ppszTargetAlias)
|
||||
{
|
||||
WebBrowser *This = TARGETFRAME2_THIS(iface);
|
||||
HlinkFrame *This = TARGETFRAME2_THIS(iface);
|
||||
FIXME("(%p)->(%s %p)\n", This, debugstr_w(pszTargetName), ppszTargetAlias);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -1103,8 +1106,27 @@ static const ITargetFrame2Vtbl TargetFrame2Vtbl = {
|
|||
TargetFrame2_GetTargetAlias
|
||||
};
|
||||
|
||||
void WebBrowser_HlinkFrame_Init(WebBrowser *This)
|
||||
BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
|
||||
{
|
||||
This->lpHlinkFrameVtbl = &HlinkFrameVtbl;
|
||||
This->lpITargetFrame2Vtbl = &TargetFrame2Vtbl;
|
||||
if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
|
||||
TRACE("(%p)->(IID_IHlinkFrame %p)\n", This, ppv);
|
||||
*ppv = HLINKFRAME(This);
|
||||
}else if(IsEqualGUID(&IID_ITargetFrame2, riid)) {
|
||||
TRACE("(%p)->(IID_ITargetFrame2 %p)\n", This, ppv);
|
||||
*ppv = TARGETFRAME2(This);
|
||||
}else {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
IUnknown_AddRef((IUnknown*)*ppv);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void HlinkFrame_Init(HlinkFrame *This, IUnknown *outer, DocHost *doc_host)
|
||||
{
|
||||
This->lpIHlinkFrameVtbl = &HlinkFrameVtbl;
|
||||
This->lpITargetFrame2Vtbl = &TargetFrame2Vtbl;
|
||||
|
||||
This->outer = outer;
|
||||
This->doc_host = doc_host;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,11 @@
|
|||
#define IDR_BROWSE_MAIN_MENU 1000
|
||||
#define IDD_BROWSE_OPEN 1001
|
||||
#define IDC_BROWSE_OPEN_URL 1002
|
||||
#define IDC_BROWSE_REBAR 1003
|
||||
#define IDC_BROWSE_ADDRESSBAR 1004
|
||||
#define IDC_BROWSE_STATUSBAR 1005
|
||||
#define IDC_BROWSE_TOOLBAR 1006
|
||||
#define IDB_IETOOLBAR 1007
|
||||
|
||||
#define ID_BROWSE_NEW_WINDOW 275
|
||||
#define ID_BROWSE_OPEN 256
|
||||
|
@ -33,4 +38,23 @@
|
|||
#define ID_BROWSE_PRINT 260
|
||||
#define ID_BROWSE_PRINT_PREVIEW 277
|
||||
#define ID_BROWSE_PROPERTIES 262
|
||||
#define ID_BROWSE_QUIT 278
|
||||
#define ID_BROWSE_ABOUT 336
|
||||
|
||||
#define ID_BROWSE_ADDFAV 1200
|
||||
#define ID_BROWSE_HOME 1201
|
||||
|
||||
#define ID_BROWSE_BAR_STD 1300
|
||||
#define ID_BROWSE_BAR_ADDR 1301
|
||||
|
||||
#define ID_BROWSE_GOTOFAV_FIRST 2000
|
||||
#define ID_BROWSE_GOTOFAV_MAX 65000
|
||||
|
||||
#define IDS_TB_BACK 1100
|
||||
#define IDS_TB_FORWARD 1101
|
||||
#define IDS_TB_STOP 1102
|
||||
#define IDS_TB_REFRESH 1103
|
||||
#define IDS_TB_HOME 1104
|
||||
#define IDS_TB_PRINT 1105
|
||||
|
||||
#define IDS_ADDRESS 1106
|
||||
|
|
|
@ -43,6 +43,8 @@
|
|||
#include "resource.h"
|
||||
|
||||
|
||||
#define WM_UPDATEADDRBAR (WM_APP+1)
|
||||
|
||||
/**********************************************************************
|
||||
* Shell Instance Objects
|
||||
*/
|
||||
|
@ -66,6 +68,14 @@ typedef struct {
|
|||
IUnknown *impl;
|
||||
} ConnectionPointContainer;
|
||||
|
||||
typedef struct {
|
||||
const IHlinkFrameVtbl *lpIHlinkFrameVtbl;
|
||||
const ITargetFrame2Vtbl *lpITargetFrame2Vtbl;
|
||||
|
||||
IUnknown *outer;
|
||||
DocHost *doc_host;
|
||||
} HlinkFrame;
|
||||
|
||||
struct _task_header_t;
|
||||
|
||||
typedef void (*task_proc_t)(DocHost*, struct _task_header_t*);
|
||||
|
@ -74,6 +84,14 @@ typedef struct _task_header_t {
|
|||
task_proc_t proc;
|
||||
} task_header_t;
|
||||
|
||||
typedef struct _IDocHostContainerVtbl
|
||||
{
|
||||
void (WINAPI* GetDocObjRect)(DocHost*,RECT*);
|
||||
HRESULT (WINAPI* SetStatusText)(DocHost*,LPCWSTR);
|
||||
void (WINAPI* SetURL)(DocHost*,LPCWSTR);
|
||||
HRESULT (*exec)(DocHost*,const GUID*,DWORD,DWORD,VARIANT*,VARIANT*);
|
||||
} IDocHostContainerVtbl;
|
||||
|
||||
struct DocHost {
|
||||
const IOleClientSiteVtbl *lpOleClientSiteVtbl;
|
||||
const IOleInPlaceSiteVtbl *lpOleInPlaceSiteVtbl;
|
||||
|
@ -97,6 +115,8 @@ struct DocHost {
|
|||
IOleDocumentView *view;
|
||||
IUnknown *doc_navigate;
|
||||
|
||||
const IDocHostContainerVtbl *container_vtbl;
|
||||
|
||||
HWND hwnd;
|
||||
HWND frame_hwnd;
|
||||
|
||||
|
@ -128,10 +148,9 @@ struct WebBrowser {
|
|||
const IViewObject2Vtbl *lpViewObjectVtbl;
|
||||
const IOleInPlaceActiveObjectVtbl *lpOleInPlaceActiveObjectVtbl;
|
||||
const IOleCommandTargetVtbl *lpOleCommandTargetVtbl;
|
||||
const IHlinkFrameVtbl *lpHlinkFrameVtbl;
|
||||
const ITargetFrame2Vtbl *lpITargetFrame2Vtbl;
|
||||
const IServiceProviderVtbl *lpServiceProviderVtbl;
|
||||
const IDataObjectVtbl *lpDataObjectVtbl;
|
||||
HlinkFrame hlink_frame;
|
||||
|
||||
LONG ref;
|
||||
|
||||
|
@ -166,10 +185,13 @@ struct WebBrowser {
|
|||
|
||||
struct InternetExplorer {
|
||||
const IWebBrowser2Vtbl *lpWebBrowser2Vtbl;
|
||||
HlinkFrame hlink_frame;
|
||||
|
||||
LONG ref;
|
||||
|
||||
HWND frame_hwnd;
|
||||
HWND status_hwnd;
|
||||
HMENU menu;
|
||||
|
||||
DocHost doc_host;
|
||||
};
|
||||
|
@ -188,9 +210,7 @@ struct InternetExplorer {
|
|||
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectVtbl);
|
||||
#define ACTIVEOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
|
||||
#define OLECMD(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl)
|
||||
#define HLINKFRAME(x) ((IHlinkFrame*) &(x)->lpHlinkFrameVtbl)
|
||||
#define DATAOBJECT(x) ((IDataObject*) &(x)->lpDataObjectVtbl)
|
||||
#define TARGETFRAME2(x) ((ITargetFrame2*) &(x)->lpITargetFrame2Vtbl)
|
||||
|
||||
#define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl)
|
||||
#define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl)
|
||||
|
@ -203,16 +223,18 @@ struct InternetExplorer {
|
|||
|
||||
#define INPLACEFRAME(x) ((IOleInPlaceFrame*) &(x)->lpOleInPlaceFrameVtbl)
|
||||
|
||||
#define HLINKFRAME(x) ((IHlinkFrame*) &(x)->lpIHlinkFrameVtbl)
|
||||
#define TARGETFRAME2(x) ((ITargetFrame2*) &(x)->lpITargetFrame2Vtbl)
|
||||
|
||||
void WebBrowser_OleObject_Init(WebBrowser*);
|
||||
void WebBrowser_ViewObject_Init(WebBrowser*);
|
||||
void WebBrowser_DataObject_Init(WebBrowser*);
|
||||
void WebBrowser_Persist_Init(WebBrowser*);
|
||||
void WebBrowser_ClassInfo_Init(WebBrowser*);
|
||||
void WebBrowser_HlinkFrame_Init(WebBrowser*);
|
||||
|
||||
void WebBrowser_OleObject_Destroy(WebBrowser*);
|
||||
|
||||
void DocHost_Init(DocHost*,IDispatch*);
|
||||
void DocHost_Init(DocHost*,IDispatch*,const IDocHostContainerVtbl*);
|
||||
void DocHost_ClientSite_Init(DocHost*);
|
||||
void DocHost_Frame_Init(DocHost*);
|
||||
void release_dochost_client(DocHost*);
|
||||
|
@ -223,6 +245,9 @@ void DocHost_ClientSite_Release(DocHost*);
|
|||
void ConnectionPointContainer_Init(ConnectionPointContainer*,IUnknown*);
|
||||
void ConnectionPointContainer_Destroy(ConnectionPointContainer*);
|
||||
|
||||
void HlinkFrame_Init(HlinkFrame*,IUnknown*,DocHost*);
|
||||
BOOL HlinkFrame_QI(HlinkFrame*,REFIID,void**);
|
||||
|
||||
HRESULT WebBrowserV1_Create(IUnknown*,REFIID,void**);
|
||||
HRESULT WebBrowserV2_Create(IUnknown*,REFIID,void**);
|
||||
|
||||
|
@ -247,7 +272,8 @@ HRESULT InternetShortcut_Create(IUnknown*,REFIID,void**);
|
|||
|
||||
HRESULT TaskbarList_Create(IUnknown*,REFIID,void**);
|
||||
|
||||
#define DEFINE_THIS(cls,ifc,iface) ((cls*)((BYTE*)(iface)-offsetof(cls,lp ## ifc ## Vtbl)))
|
||||
#define DEFINE_THIS2(cls,ifc,iface) ((cls*)((BYTE*)(iface)-offsetof(cls,ifc)))
|
||||
#define DEFINE_THIS(cls,ifc,iface) DEFINE_THIS2(cls,lp ## ifc ## Vtbl,iface)
|
||||
|
||||
/**********************************************************************
|
||||
* Dll lifetime tracking declaration for shdocvw.dll
|
||||
|
@ -259,6 +285,7 @@ static inline void SHDOCVW_UnlockModule(void) { InterlockedDecrement( &SHDOCVW_r
|
|||
extern HINSTANCE shdocvw_hinstance;
|
||||
extern void register_iewindow_class(void);
|
||||
extern void unregister_iewindow_class(void);
|
||||
extern HRESULT update_ie_statustext(InternetExplorer*, LPCWSTR);
|
||||
|
||||
HRESULT register_class_object(BOOL);
|
||||
HRESULT get_typeinfo(ITypeInfo**);
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<library>uuid</library>
|
||||
<library>ntdll</library>
|
||||
<library>advapi32</library>
|
||||
<library>comctl32</library>
|
||||
<library>user32</library>
|
||||
<library>ole32</library>
|
||||
<library>oleaut32</library>
|
||||
|
|
|
@ -34,4 +34,22 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
|||
/* @makedep: shdocvw.inf */
|
||||
REGINST REGINST shdocvw.inf
|
||||
|
||||
/* @makedep: ietoolbar.bmp */
|
||||
IDB_IETOOLBAR BITMAP ietoolbar.bmp
|
||||
|
||||
#include "De.rc"
|
||||
#include "En.rc"
|
||||
#include "Es.rc"
|
||||
#include "Fr.rc"
|
||||
#include "He.rc"
|
||||
#include "It.rc"
|
||||
#include "Ko.rc"
|
||||
#include "Lt.rc"
|
||||
#include "Nl.rc"
|
||||
//#include "Pl.rc"
|
||||
#include "Pt.rc"
|
||||
#include "Ro.rc"
|
||||
#include "Si.rc"
|
||||
#include "Sr.rc"
|
||||
#include "Sv.rc"
|
||||
#include "Uk.rc"
|
||||
|
|
|
@ -120,7 +120,7 @@
|
|||
@ stub HlinkFrameNavigateNHL
|
||||
@ stub IEAboutBox
|
||||
@ stub IEWriteErrorLog
|
||||
@ stub ImportPrivacySettings
|
||||
@ stdcall ImportPrivacySettings(wstr ptr ptr)
|
||||
@ stub InstallReg_RunDLL
|
||||
@ stdcall OpenURL(long long str long)
|
||||
@ stub SHGetIDispatchForFolder
|
||||
|
|
|
@ -218,14 +218,6 @@ DWORD WINAPI SetQueryNetSessionCount(DWORD arg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* OpenURL (SHDOCVW.@)
|
||||
*/
|
||||
void WINAPI OpenURL(HWND hWnd, HINSTANCE hInst, LPCSTR lpcstrUrl, int nShowCmd)
|
||||
{
|
||||
FIXME("%p %p %s %d\n", hWnd, hInst, debugstr_a(lpcstrUrl), nShowCmd);
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* Some forwards (by ordinal) to SHLWAPI
|
||||
*/
|
||||
|
@ -461,3 +453,35 @@ DWORD WINAPI SHRestricted2A(DWORD restriction, LPCSTR url, DWORD reserved)
|
|||
heap_free(urlW);
|
||||
return res;
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
* ImportPrivacySettings (SHDOCVW.@)
|
||||
*
|
||||
* Import global and/or per site privacy preferences from an xml file
|
||||
*
|
||||
* PARAMS
|
||||
* filename [I] XML file to use
|
||||
* pGlobalPrefs [IO] PTR to a usage flag for the global privacy preferences
|
||||
* pPerSitePrefs [IO] PTR to a usage flag for the per site privacy preferences
|
||||
*
|
||||
* RETURNS
|
||||
* Success: TRUE (the privacy preferences where updated)
|
||||
* Failure: FALSE (the privacy preferences are unchanged)
|
||||
*
|
||||
* NOTES
|
||||
* Set the flag to TRUE, when the related privacy preferences in the xml file
|
||||
* should be used (parsed and overwrite the current settings).
|
||||
* On return, the flag is TRUE, when the related privacy settings where used
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI ImportPrivacySettings(LPCWSTR filename, BOOL *pGlobalPrefs, BOOL * pPerSitePrefs)
|
||||
{
|
||||
FIXME("(%s, %p->%d, %p->%d): stub\n", debugstr_w(filename),
|
||||
pGlobalPrefs, pGlobalPrefs ? *pGlobalPrefs : 0,
|
||||
pPerSitePrefs, pPerSitePrefs ? *pPerSitePrefs : 0);
|
||||
|
||||
if (pGlobalPrefs) *pGlobalPrefs = FALSE;
|
||||
if (pPerSitePrefs) *pPerSitePrefs = FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -100,12 +100,6 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
|
|||
}else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) {
|
||||
TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv);
|
||||
*ppv = OLECMD(This);
|
||||
}else if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
|
||||
TRACE("(%p)->(IID_IHlinkFrame %p)\n", This, ppv);
|
||||
*ppv = HLINKFRAME(This);
|
||||
}else if(IsEqualGUID(&IID_ITargetFrame2, riid)) {
|
||||
TRACE("(%p)->(IID_ITargetFrame2 %p)\n", This, ppv);
|
||||
*ppv = TARGETFRAME2(This);
|
||||
}else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
|
||||
*ppv = SERVPROV(This);
|
||||
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
|
||||
|
@ -133,6 +127,17 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
|
|||
}else if(IsEqualGUID(&IID_IViewObjectEx, riid)) {
|
||||
TRACE("(%p)->(IID_IViewObjectEx %p) returning NULL\n", This, ppv);
|
||||
return E_NOINTERFACE;
|
||||
}else if(IsEqualGUID(&IID_IOleLink, riid)) {
|
||||
TRACE("(%p)->(IID_IOleLink %p) returning NULL\n", This, ppv);
|
||||
return E_NOINTERFACE;
|
||||
}else if(IsEqualGUID(&IID_IMarshal, riid)) {
|
||||
TRACE("(%p)->(IID_IMarshal %p) returning NULL\n", This, ppv);
|
||||
return E_NOINTERFACE;
|
||||
}else if(IsEqualGUID(&IID_IStdMarshalInfo, riid)) {
|
||||
TRACE("(%p)->(IID_IStdMarshalInfo %p) returning NULL\n", This, ppv);
|
||||
return E_NOINTERFACE;
|
||||
}else if(HlinkFrame_QI(&This->hlink_frame, riid, ppv)) {
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(*ppv) {
|
||||
|
@ -1130,6 +1135,62 @@ static const IServiceProviderVtbl ServiceProviderVtbl =
|
|||
WebBrowser_IServiceProvider_QueryService
|
||||
};
|
||||
|
||||
#define DOCHOST_THIS(iface) DEFINE_THIS2(WebBrowser,doc_host,iface)
|
||||
|
||||
static void WINAPI DocHostContainer_GetDocObjRect(DocHost* This, RECT* rc)
|
||||
{
|
||||
GetClientRect(This->frame_hwnd, rc);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI DocHostContainer_SetStatusText(DocHost* This, LPCWSTR text)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static void WINAPI DocHostContainer_SetURL(DocHost* This, LPCWSTR url)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static HRESULT DocHostContainer_exec(DocHost *doc_host, const GUID *cmd_group, DWORD cmdid, DWORD execopt, VARIANT *in,
|
||||
VARIANT *out)
|
||||
{
|
||||
WebBrowser *This = DOCHOST_THIS(doc_host);
|
||||
IOleCommandTarget *cmdtrg = NULL;
|
||||
HRESULT hres;
|
||||
|
||||
if(This->client) {
|
||||
hres = IOleClientSite_QueryInterface(This->client, &IID_IOleCommandTarget, (void**)&cmdtrg);
|
||||
if(FAILED(hres))
|
||||
cmdtrg = NULL;
|
||||
}
|
||||
|
||||
if(!cmdtrg && This->container) {
|
||||
hres = IOleContainer_QueryInterface(This->container, &IID_IOleCommandTarget, (void**)&cmdtrg);
|
||||
if(FAILED(hres))
|
||||
cmdtrg = NULL;
|
||||
}
|
||||
|
||||
if(!cmdtrg)
|
||||
return S_OK;
|
||||
|
||||
hres = IOleCommandTarget_Exec(cmdtrg, cmd_group, cmdid, execopt, in, out);
|
||||
IOleCommandTarget_Release(cmdtrg);
|
||||
if(FAILED(hres))
|
||||
FIXME("Exec failed\n");
|
||||
|
||||
return hres;
|
||||
}
|
||||
|
||||
#undef DOCHOST_THIS
|
||||
|
||||
static const IDocHostContainerVtbl DocHostContainerVtbl = {
|
||||
DocHostContainer_GetDocObjRect,
|
||||
DocHostContainer_SetStatusText,
|
||||
DocHostContainer_SetURL,
|
||||
DocHostContainer_exec
|
||||
};
|
||||
|
||||
static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, void **ppv)
|
||||
{
|
||||
WebBrowser *ret;
|
||||
|
@ -1144,7 +1205,7 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi
|
|||
ret->ref = 1;
|
||||
ret->version = version;
|
||||
|
||||
DocHost_Init(&ret->doc_host, (IDispatch*)WEBBROWSER2(ret));
|
||||
DocHost_Init(&ret->doc_host, (IDispatch*)WEBBROWSER2(ret), &DocHostContainerVtbl);
|
||||
|
||||
ret->visible = VARIANT_TRUE;
|
||||
ret->menu_bar = VARIANT_TRUE;
|
||||
|
@ -1157,7 +1218,8 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi
|
|||
WebBrowser_DataObject_Init(ret);
|
||||
WebBrowser_Persist_Init(ret);
|
||||
WebBrowser_ClassInfo_Init(ret);
|
||||
WebBrowser_HlinkFrame_Init(ret);
|
||||
|
||||
HlinkFrame_Init(&ret->hlink_frame, (IUnknown*)WEBBROWSER2(ret), &ret->doc_host);
|
||||
|
||||
SHDOCVW_LockModule();
|
||||
|
||||
|
|
|
@ -141,6 +141,16 @@ void WINAPI WTSFreeMemory(PVOID pMemory)
|
|||
return;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
* WTSLogoffSession (WTSAPI32.@)
|
||||
*/
|
||||
BOOL WINAPI WTSLogoffSession(HANDLE hserver, DWORD session_id, BOOL bwait)
|
||||
{
|
||||
FIXME("(%p, 0x%x, %d): stub\n", hserver, session_id, bwait);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
* WTSOpenServerA (WTSAPI32.@)
|
||||
*/
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
@ stdcall WTSEnumerateSessionsA(long long long ptr ptr)
|
||||
@ stdcall WTSEnumerateSessionsW(long long long ptr ptr)
|
||||
@ stdcall WTSFreeMemory(ptr)
|
||||
@ stub WTSLogoffSession
|
||||
@ stdcall WTSLogoffSession(ptr long long)
|
||||
@ stdcall WTSOpenServerA(ptr)
|
||||
@ stdcall WTSOpenServerW(ptr)
|
||||
@ stdcall WTSQuerySessionInformationA(long long long ptr ptr)
|
||||
|
|
Loading…
Reference in a new issue