|
@@ -0,0 +1,55 @@
|
|
|
+#include "fb2view.h"
|
|
|
+#include <QtDebug>
|
|
|
+#include <QNetworkReply>
|
|
|
+#include <QNetworkRequest>
|
|
|
+
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+// Fb2NetworkAccessManager
|
|
|
+//
|
|
|
+// http://doc.trolltech.com/qq/32/qq32-webkit-protocols.html
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+
|
|
|
+Fb2NetworkAccessManager::Fb2NetworkAccessManager(QObject *parent)
|
|
|
+ : QNetworkAccessManager(parent)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+QNetworkReply * Fb2NetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
|
|
|
+{
|
|
|
+ qCritical() << request.url().toString();
|
|
|
+ return QNetworkAccessManager::createRequest(op, request, outgoingData);
|
|
|
+}
|
|
|
+
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+// Fb2WebView
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+
|
|
|
+Fb2WebView::Fb2WebView(QWidget *parent)
|
|
|
+ : QWebView(parent)
|
|
|
+{
|
|
|
+ page()->setContentEditable(true);
|
|
|
+ QWebSettings *settings = page()->settings();
|
|
|
+ settings->setAttribute(QWebSettings::JavaEnabled, false);
|
|
|
+ settings->setAttribute(QWebSettings::JavascriptEnabled, true);
|
|
|
+ settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
|
|
|
+ settings->setAttribute(QWebSettings::PluginsEnabled, false);
|
|
|
+ settings->setAttribute(QWebSettings::ZoomTextOnly, true);
|
|
|
+ page()->setNetworkAccessManager(&m_network);
|
|
|
+}
|
|
|
+
|
|
|
+void Fb2WebView::zoomIn()
|
|
|
+{
|
|
|
+ qreal zoom = zoomFactor();
|
|
|
+ setZoomFactor(zoom * 1.1);
|
|
|
+}
|
|
|
+
|
|
|
+void Fb2WebView::zoomOut()
|
|
|
+{
|
|
|
+ qreal zoom = zoomFactor();
|
|
|
+ setZoomFactor(zoom * 0.9);
|
|
|
+}
|
|
|
+
|
|
|
+void Fb2WebView::zoomOrig()
|
|
|
+{
|
|
|
+ setZoomFactor(1);
|
|
|
+}
|