#include <QPrinter>
#include <QPrintDialog>
#include <QWebInspector>
+#include <QWebFrame>
+#include <QWebHistory>
//#include "Viewer.mpp"
#define prefix_
///////////////////////////////////////////////////////////////////////////
// pykit::Viewer
+namespace {
+ pykit::Viewer * instance_ (0);
+}
+
prefix_ pykit::Viewer::Viewer(QUrl const & url, Publisher * publisher, QWidget * parent)
: QWebView (parent)
{
+ instance_ = this;
QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);
if (! QWebSettings::globalSettings()->testAttribute(QWebSettings::DeveloperExtrasEnabled))
setContextMenuPolicy(Qt::NoContextMenu);
load(url);
inspector_ = new QWebInspector();
inspector_->setPage(page());
+ connect(page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),
+ this, SLOT(initJSObjects()));
+ initJSObjects();
}
prefix_ pykit::Viewer::~Viewer()
delete inspector_;
}
+prefix_ pykit::Viewer * pykit::Viewer::instance()
+{
+ return instance_;
+}
+
+prefix_ bool pykit::Viewer::canGoBack()
+{
+ return page()->history()->canGoBack();
+}
+
+prefix_ bool pykit::Viewer::canGoForward()
+{
+ return page()->history()->canGoForward();
+}
+
+prefix_ void pykit::Viewer::initJSObjects()
+{
+ page()->mainFrame()->addToJavaScriptWindowObject("view", this);
+}
+
prefix_ void pykit::Viewer::printRequested()
{
QPrinter printer;