Jacek Caban : shdocvw: Added OnProgress implementation.

Alexandre Julliard julliard at winehq.org
Fri Jan 4 07:12:39 CST 2008


Module: wine
Branch: master
Commit: f79771cb6cfe8bcfa5547bb6d06837de0f7b0860
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f79771cb6cfe8bcfa5547bb6d06837de0f7b0860

Author: Jacek Caban <jacek at 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;
 }
 




More information about the wine-cvs mailing list