Module: wine Branch: master Commit: f79771cb6cfe8bcfa5547bb6d06837de0f7b0860 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f79771cb6cfe8bcfa5547bb6d0...
Author: Jacek Caban jacek@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; }