/* ============================================================ * The rekonq project * ============================================================ * SPDX-License-Identifier: GPL-3.0-only * Copyright (C) 2022 aqua * ============================================================ * Description: Qt WebEngine View * ============================================================ */ #include "webview.h" #include #include WebView::WebView(const QUrl &url, QWidget *parent) : RekonqView(url, parent), view(new QWebEngineView(this)) { auto *layout = new QVBoxLayout; layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(view); setLayout(layout); connect(view, &QWebEngineView::iconChanged, this, [this](const QIcon &icon) { emit iconChanged(icon); }); connect(view, &QWebEngineView::urlChanged, this, [this](const QUrl &u) { emit urlChanged(u); }); connect(view, &QWebEngineView::titleChanged, this, [this](const QString &title) { emit titleChanged(title); }); // load progress connect(view, &QWebEngineView::loadStarted, this, [this]() { m_loadProgress = 0; emit loadStarted(); }); connect(view, &QWebEngineView::loadProgress, this, [this](int progress) { m_loadProgress = progress; emit loadProgress(progress); }); connect(view, &QWebEngineView::loadFinished, this, [this]() { m_loadProgress = 100; emit loadFinished(); }); view->load(url); } void WebView::load(const QUrl &url) { view->load(url); } QUrl WebView::url() const { return view->url(); } QString WebView::title() const { return view->title(); } QIcon WebView::icon() const { return view->icon(); }