/**************************************************************************** ** ** Copyright (C) 2015 The Qt Company Ltd. ** Contact: http://www.qt.io/licensing/ ** ** This file is part of the QtWebView module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL3$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see http://www.qt.io/terms-conditions. For further ** information use the contact form at http://www.qt.io/contact-us. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 3 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPLv3 included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 3 requirements ** will be met: https://www.gnu.org/licenses/lgpl.html. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 2.0 or later as published by the Free ** Software Foundation and appearing in the file LICENSE.GPL included in ** the packaging of this file. Please review the following information to ** ensure the GNU General Public License version 2.0 requirements will be ** met: http://www.gnu.org/licenses/gpl-2.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "qwebview_p.h" #include "qwebviewplugin_p.h" #include "qwebviewloadrequest_p.h" #include "qwebviewfactory_p.h" QT_BEGIN_NAMESPACE QWebView::QWebView(QObject *p) : QObject(p) , d(QWebViewFactory::createWebView()) , m_progress(0) { d->setParent(this); qRegisterMetaType(); connect(d, &QAbstractWebView::titleChanged, this, &QWebView::onTitleChanged); connect(d, &QAbstractWebView::urlChanged, this, &QWebView::onUrlChanged); connect(d, &QAbstractWebView::loadingChanged, this, &QWebView::onLoadingChanged); connect(d, &QAbstractWebView::loadProgressChanged, this, &QWebView::onLoadProgressChanged); connect(d, &QAbstractWebView::httpUserAgentChanged, this, &QWebView::onHttpUserAgentChanged); connect(d, &QAbstractWebView::requestFocus, this, &QWebView::requestFocus); connect(d, &QAbstractWebView::javaScriptResult, this, &QWebView::javaScriptResult); } QWebView::~QWebView() { } QString QWebView::httpUserAgent() const { if (m_httpUserAgent.isEmpty()){ m_httpUserAgent = d->httpUserAgent(); } return m_httpUserAgent; } void QWebView::setHttpUserAgent(const QString &userAgent) { return d->setHttpUserAgent(userAgent); } QUrl QWebView::url() const { return m_url; } void QWebView::setUrl(const QUrl &url) { d->setUrl(url); } bool QWebView::canGoBack() const { return d->canGoBack(); } void QWebView::goBack() { d->goBack(); } bool QWebView::canGoForward() const { return d->canGoForward(); } void QWebView::goForward() { d->goForward(); } void QWebView::reload() { d->reload(); } void QWebView::stop() { d->stop(); } QString QWebView::title() const { return m_title; } int QWebView::loadProgress() const { return m_progress; } bool QWebView::isLoading() const { return d->isLoading(); } void QWebView::setParentView(QObject *view) { d->setParentView(view); } QObject *QWebView::parentView() const { return d->parentView(); } void QWebView::setGeometry(const QRect &geometry) { d->setGeometry(geometry); } void QWebView::setVisibility(QWindow::Visibility visibility) { d->setVisibility(visibility); } void QWebView::setVisible(bool visible) { d->setVisible(visible); } void QWebView::setFocus(bool focus) { d->setFocus(focus); } void QWebView::loadHtml(const QString &html, const QUrl &baseUrl) { d->loadHtml(html, baseUrl); } void QWebView::runJavaScriptPrivate(const QString &script, int callbackId) { d->runJavaScriptPrivate(script, callbackId); } void QWebView::onTitleChanged(const QString &title) { if (m_title == title) return; m_title = title; Q_EMIT titleChanged(); } void QWebView::onUrlChanged(const QUrl &url) { if (m_url == url) return; m_url = url; Q_EMIT urlChanged(); } void QWebView::onLoadProgressChanged(int progress) { if (m_progress == progress) return; m_progress = progress; Q_EMIT loadProgressChanged(); } void QWebView::onLoadingChanged(const QWebViewLoadRequestPrivate &loadRequest) { if (loadRequest.m_status == QWebView::LoadFailedStatus) m_progress = 0; onUrlChanged(loadRequest.m_url); Q_EMIT loadingChanged(loadRequest); } void QWebView::onHttpUserAgentChanged(const QString &userAgent) { if (m_httpUserAgent == userAgent) return; m_httpUserAgent = userAgent; Q_EMIT httpUserAgentChanged(); } void QWebView::init() { d->init(); } QT_END_NAMESPACE