Module: wine Branch: master Commit: f79771cb6cfe8bcfa5547bb6d06837de0f7b0860 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f79771cb6cfe8bcfa5547bb6d0... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Jan 3 16:39:01 2008 +0100 shdocvw: Added OnProgress implementation. --- dlls/shdocvw/navigate.c | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c index e9c3db1..90f8fe0 100644 --- a/dlls/shdocvw/navigate.c +++ b/dlls/shdocvw/navigate.c @@ -90,6 +90,14 @@ static void dump_BINDINFO(BINDINFO *bi) ); } +static void set_status_text(BindStatusCallback *This, LPCWSTR str) +{ + if(!This->doc_host || !This->doc_host->frame) + return; + + IOleInPlaceFrame_SetStatusText(This->doc_host->frame, str); +} + #define BINDSC_THIS(iface) DEFINE_THIS(BindStatusCallback, BindStatusCallback, iface) static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *iface, @@ -178,8 +186,26 @@ static HRESULT WINAPI BindStatusCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) { BindStatusCallback *This = BINDSC_THIS(iface); - FIXME("(%p)->(%d %d %d %s)\n", This, ulProgress, ulProgressMax, ulStatusCode, + + TRACE("(%p)->(%d %d %d %s)\n", This, ulProgress, ulProgressMax, ulStatusCode, debugstr_w(szStatusText)); + + switch(ulStatusCode) { + case BINDSTATUS_BEGINDOWNLOADDATA: + set_status_text(This, szStatusText); /* FIXME: "Start downloading from site: %s" */ + return S_OK; + case BINDSTATUS_ENDDOWNLOADDATA: + set_status_text(This, szStatusText); /* FIXME: "Downloading from site: %s" */ + return S_OK; + case BINDSTATUS_CLASSIDAVAILABLE: + case BINDSTATUS_MIMETYPEAVAILABLE: + case BINDSTATUS_BEGINSYNCOPERATION: + case BINDSTATUS_ENDSYNCOPERATION: + return S_OK; + default: + FIXME("status code %u\n", ulStatusCode); + } + return E_NOTIMPL; }