]> git.saurik.com Git - wxWidgets.git/commitdiff
Implement CanSetZoomType correctly for the IE backend.
authorSteve Lamerton <steve.lamerton@gmail.com>
Thu, 14 Jul 2011 11:14:37 +0000 (11:14 +0000)
committerSteve Lamerton <steve.lamerton@gmail.com>
Thu, 14 Jul 2011 11:14:37 +0000 (11:14 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/webview_ie.cpp

index fd68dccafe874d9aeb0f7ecbfd7ab7c00d9ec4e9..af3742a683fa46707d7e0a9c67079e03f0c8f952 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "wx/msw/webview_ie.h"
 
 
 #include "wx/msw/webview_ie.h"
 
+
 #if wxUSE_WEBVIEW_IE
 
 #include <olectl.h>
 #if wxUSE_WEBVIEW_IE
 
 #include <olectl.h>
@@ -23,7 +24,7 @@
 #include <exdispid.h>
 #include <exdisp.h>
 #include <mshtml.h>
 #include <exdispid.h>
 #include <exdisp.h>
 #include <mshtml.h>
-
+#include "wx/msw/registry.h"
 // Various definitions are missing from mingw
 #ifdef __MINGW32__
 typedef enum CommandStateChangeConstants {
 // Various definitions are missing from mingw
 #ifdef __MINGW32__
 typedef enum CommandStateChangeConstants {
@@ -319,11 +320,19 @@ wxWebViewZoomType wxWebViewIE::GetZoomType() const
     return m_zoomType;
 }
 
     return m_zoomType;
 }
 
-bool wxWebViewIE::CanSetZoomType(wxWebViewZoomType) const
+bool wxWebViewIE::CanSetZoomType(wxWebViewZoomType type) const
 {
 {
-    // both are supported
-    // TODO: IE6 only supports text zoom, check if it's IE6 first
-    return true;
+    //IE 6 and below only support text zoom, so check the registry to see what
+    //version we actually have
+    wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Internet Explorer");
+    wxString value;
+    key.QueryValue("Version", value);
+
+    long version = wxAtoi(value.Left(1));
+    if(version <= 6 && type == wxWEB_VIEW_ZOOM_TYPE_LAYOUT)
+        return false;
+    else
+        return true;
 }
 
 void wxWebViewIE::Print()
 }
 
 void wxWebViewIE::Print()