mirror of
https://github.com/zealdocs/zeal.git
synced 2026-08-31 01:20:55 +08:00
65 lines
1.1 KiB
C++
65 lines
1.1 KiB
C++
#include "webview.h"
|
|
|
|
#include "../mainwindow.h"
|
|
|
|
#include <QApplication>
|
|
#include <QWheelEvent>
|
|
|
|
WebView::WebView(QWidget *parent) :
|
|
QWebView(parent)
|
|
{
|
|
}
|
|
|
|
int WebView::zealZoomFactor() const
|
|
{
|
|
return m_zoomFactor;
|
|
}
|
|
|
|
void WebView::setZealZoomFactor(int zf)
|
|
{
|
|
m_zoomFactor = zf;
|
|
updateZoomFactor();
|
|
}
|
|
|
|
QWebView *WebView::createWindow(QWebPage::WebWindowType type)
|
|
{
|
|
Q_UNUSED(type)
|
|
|
|
MainWindow *mw = qobject_cast<MainWindow *>(qApp->activeWindow());
|
|
mw->createTab();
|
|
return this;
|
|
}
|
|
|
|
void WebView::mousePressEvent(QMouseEvent *event)
|
|
{
|
|
switch (event->button()) {
|
|
case Qt::BackButton:
|
|
back();
|
|
event->accept();
|
|
break;
|
|
case Qt::ForwardButton:
|
|
forward();
|
|
event->accept();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
QWebView::mousePressEvent(event);
|
|
}
|
|
|
|
void WebView::wheelEvent(QWheelEvent *event)
|
|
{
|
|
if (event->modifiers() & Qt::ControlModifier) {
|
|
m_zoomFactor += event->delta() / 120;
|
|
updateZoomFactor();
|
|
} else {
|
|
QWebView::wheelEvent(event);
|
|
}
|
|
}
|
|
|
|
void WebView::updateZoomFactor()
|
|
{
|
|
setZoomFactor(1 + m_zoomFactor / 10.);
|
|
}
|