mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-19 10:16:34 +01:00
Initial port to QtWebEngine
This is first quick port to QtWebEngine, most of advanced features are not working yet. Please read README. For now, it will use separate profile directory as well as browser session, that means you can use both QtWebEngine and QtWebKit versions at the same time.
This commit is contained in:
parent
cc08957148
commit
60b2386a6e
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,7 +5,6 @@ DEBIAN
|
||||
*.autosave
|
||||
*~
|
||||
*.a
|
||||
*.orig
|
||||
*.qm
|
||||
*.o
|
||||
!qt_*.qm
|
||||
|
@ -24,4 +24,4 @@ src_main.depends = sub-src-lib
|
||||
src_plugins.subdir = src/plugins
|
||||
src_plugins.depends = sub-src-lib
|
||||
|
||||
SUBDIRS += src_lib src_main src_plugins
|
||||
SUBDIRS += src_lib src_main
|
||||
|
96
README.md
96
README.md
@ -1,99 +1,15 @@
|
||||
QupZilla Web Browser
|
||||
QupZilla Web Browser - QtWebEngine
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
[![Build Status](https://travis-ci.org/QupZilla/qupzilla.svg?branch=master)](https://travis-ci.org/QupZilla/qupzilla)
|
||||
Homepage: [http://www.qupzilla.com](http://www.qupzilla.com)
|
||||
Blog: [http://blog.qupzilla.com](http://blog.qupzilla.com)
|
||||
IRC: `#qupzilla` at `irc.freenode.net`
|
||||
Translations: [https://www.transifex.com](https://www.transifex.com/projects/p/qupzilla)
|
||||
|
||||
About QupZilla
|
||||
THIS IS QTWEBENGINE BRANCH
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
QupZilla is a new and very fast QtWebKit browser. It aims to be a lightweight web browser
|
||||
available through all major platforms. This project has been originally started only
|
||||
for educational purposes. But from its start, QupZilla has grown into a feature-rich browser.
|
||||
|
||||
QupZilla has all standard functions you expect from a web browser. It includes bookmarks,
|
||||
history (both also in sidebar) and tabs. Above that, you can manage RSS feeds with an included
|
||||
RSS reader, block ads with a built-in AdBlock plugin, block Flash content with Click2Flash
|
||||
and edit the local CA Certificates database with an SSL Manager.
|
||||
|
||||
QupZilla's main aim is to be a very fast and very stable QtWebKit browser available to everyone.
|
||||
There are already a lot of QtWebKit browsers available, but they are either bound to the KDE
|
||||
environment (rekonq), are not actively developed or very unstable and miss important
|
||||
features. But there is missing a multi-platform, modern and actively developed browser. QupZilla
|
||||
is trying to fill this gap by providing a very stable browsing experience.
|
||||
|
||||
History
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
The very first version of QupZilla has been released in December 2010 and it was written
|
||||
in Python with PyQt4 bindings. After a few versions, QupZilla has been completely rewritten
|
||||
in C++ with the Qt Framework. The Windows version of QupZilla was compiled using MingW, but due to
|
||||
a huge problem with Flash, it is now compiled with Microsoft Visual C++ Compiler 2008.
|
||||
First public release was 1.0.0-b4.
|
||||
|
||||
Compiling
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
Before you start compiling, make sure that you have installed the Qt (>=4.7) development libraries
|
||||
and you have read the [BUILDING](https://github.com/QupZilla/qupzilla/blob/master/BUILDING) information.
|
||||
|
||||
**Linux**
|
||||
|
||||
* OpenSSL (libcrypto) is required
|
||||
* pkg-config is recommended (to correctly detect versions of QtWebKit)
|
||||
* pkg-config is required for Hunspell spellcheck
|
||||
* Hunspell development package for spellcheck
|
||||
* QtWebKit 2.3 is needed to have support for spellcheck
|
||||
|
||||
**Windows**
|
||||
* OpenSSL (libeay32) is required
|
||||
* QtWebKit 2.3 is required
|
||||
* Hunspell library is required for spellcheck
|
||||
|
||||
Then you can start compiling by running this commands:
|
||||
|
||||
$ qmake
|
||||
$ make
|
||||
|
||||
After a successful compilation the executable binary can be found in the bin/ directory.
|
||||
On Fedora and possibly other Linux distributions you need to replace `qmake` with `qmake-qt4` or `qmake-qt5` since `qmake` is for Qt3.
|
||||
|
||||
On Linux/Unix: To install QupZilla, run this command: (it may be necessary to run it as root)
|
||||
|
||||
$ make install
|
||||
|
||||
On Mac OS X: To deploy QupZilla in dmg image, run this command:
|
||||
|
||||
$ ./mac/macdeploy.sh full-path-to-macdeployqt
|
||||
|
||||
You need to specify path to `macdeployqt` only if it is not in PATH.
|
||||
|
||||
Current version
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
The current stable version of QupZilla is 1.8.6. You can download precompiled packages
|
||||
and the sources from the download section at [homepage](http://www.qupzilla.com/download).
|
||||
However, if you want the latest revision, just take the latest code snapshot either by
|
||||
downloading a tarball or running:
|
||||
|
||||
$ git clone git://github.com/QupZilla/qupzilla.git
|
||||
|
||||
If you are using Ubuntu, you can download QupZilla from PPA:
|
||||
|
||||
$ sudo add-apt-repository ppa:nowrep/qupzilla
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install qupzilla
|
||||
|
||||
for development version:
|
||||
|
||||
$ sudo apt-get install qupzilla-next
|
||||
|
||||
FAQ and Changelog
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
If you are experiencing some sort of problem, please read the FAQ before you open an issue.
|
||||
|
||||
[FAQ](https://github.com/QupZilla/qupzilla/wiki/FAQ) | [Changelog](https://github.com/QupZilla/qupzilla/blob/master/CHANGELOG) | [Bug Reports](https://github.com/QupZilla/qupzilla/wiki/Bug-Reports)
|
||||
Master branch is now for QtWebEngine. It is still in very early development state, so except
|
||||
a lot of features found in QtWebKit branch not working here. Thanks for understanding!
|
||||
|
||||
For QtWebKit, please use [v1.8](https://github.com/QupZilla/qupzilla/tree/v1.8)
|
@ -53,8 +53,7 @@
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QNetworkRequest>
|
||||
#include <QWebFrame>
|
||||
#include <QWebPage>
|
||||
#include <QWebEnginePage>
|
||||
|
||||
// Version for Qt < 4.8 has one issue, it will wrongly
|
||||
// count .co.uk (and others) as second-level domain
|
||||
@ -352,12 +351,13 @@ bool AdBlockRule::matchObject(const QNetworkRequest &request) const
|
||||
|
||||
bool AdBlockRule::matchSubdocument(const QNetworkRequest &request) const
|
||||
{
|
||||
QWebFrame* originatingFrame = static_cast<QWebFrame*>(request.originatingObject());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineFrame* originatingFrame = static_cast<QWebEngineFrame*>(request.originatingObject());
|
||||
if (!originatingFrame) {
|
||||
return false;
|
||||
}
|
||||
|
||||
QWebPage* page = originatingFrame->page();
|
||||
QWebEnginePage* page = originatingFrame->page();
|
||||
if (!page) {
|
||||
return false;
|
||||
}
|
||||
@ -365,6 +365,9 @@ bool AdBlockRule::matchSubdocument(const QNetworkRequest &request) const
|
||||
bool match = !(originatingFrame == page->mainFrame());
|
||||
|
||||
return hasException(SubdocumentOption) ? !match : match;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool AdBlockRule::matchXmlHttpRequest(const QNetworkRequest &request) const
|
||||
|
@ -82,8 +82,7 @@
|
||||
#include <QDesktopServices>
|
||||
#include <QPrintPreviewDialog>
|
||||
#include <QPrinter>
|
||||
#include <QWebFrame>
|
||||
#include <QWebHistory>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QMessageBox>
|
||||
#include <QDesktopWidget>
|
||||
#include <QToolTip>
|
||||
@ -105,7 +104,11 @@
|
||||
#endif
|
||||
#endif /* Q_OS_WIN */
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QString BrowserWindow::WEBKITVERSION = qWebKitVersion();
|
||||
#else
|
||||
const QString BrowserWindow::WEBKITVERSION = QSL("QtWebEngine");
|
||||
#endif
|
||||
|
||||
static QKeySequence actionShortcut(QKeySequence shortcut, QKeySequence fallBack, QKeySequence shortcutRTL = QKeySequence(), QKeySequence fallbackRTL = QKeySequence())
|
||||
{
|
||||
@ -197,6 +200,7 @@ void BrowserWindow::postLaunch()
|
||||
|
||||
switch (m_windowType) {
|
||||
case Qz::BW_FirstAppWindow:
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (mApp->isStartingAfterCrash()) {
|
||||
addTab = true;
|
||||
startUrl = QUrl("qupzilla:restore");
|
||||
@ -204,6 +208,11 @@ void BrowserWindow::postLaunch()
|
||||
else if (afterLaunch == 3 && mApp->restoreManager()) {
|
||||
addTab = !mApp->restoreSession(this, mApp->restoreManager()->restoreData());
|
||||
}
|
||||
#else
|
||||
if (afterLaunch == 3 && mApp->restoreManager()) {
|
||||
addTab = !mApp->restoreSession(this, mApp->restoreManager()->restoreData());
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
// Pinned tabs are restored in MainApplication::restoreStateSlot
|
||||
// Make sure they will be restored also when not restoring session
|
||||
@ -427,7 +436,11 @@ void BrowserWindow::createEncodingSubMenu(const QString &name, QStringList &code
|
||||
std::sort(codecNames.begin(), codecNames.end());
|
||||
|
||||
QMenu* subMenu = new QMenu(name, menu);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QString activeCodecName = QWebSettings::globalSettings()->defaultTextEncoding();
|
||||
#else
|
||||
const QString activeCodecName = QL1S("UTF-8");
|
||||
#endif
|
||||
|
||||
foreach (const QString &codecName, codecNames) {
|
||||
subMenu->addAction(createEncodingAction(codecName, activeCodecName, subMenu));
|
||||
@ -668,7 +681,9 @@ void BrowserWindow::changeEncoding()
|
||||
{
|
||||
if (QAction* action = qobject_cast<QAction*>(sender())) {
|
||||
const QString encoding = action->data().toString();
|
||||
QWebSettings::globalSettings()->setDefaultTextEncoding(encoding);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineSettings::globalSettings()->setDefaultTextEncoding(encoding);
|
||||
#endif
|
||||
|
||||
Settings settings;
|
||||
settings.setValue("Web-Browser-Settings/DefaultEncoding", encoding);
|
||||
@ -742,8 +757,9 @@ void BrowserWindow::showHistoryManager()
|
||||
mApp->browsingLibrary()->showHistory(this);
|
||||
}
|
||||
|
||||
void BrowserWindow::showSource(QWebFrame* frame, const QString &selectedHtml)
|
||||
void BrowserWindow::showSource(QWebEngineFrame* frame, const QString &selectedHtml)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (!frame) {
|
||||
frame = weView()->page()->mainFrame();
|
||||
}
|
||||
@ -751,6 +767,7 @@ void BrowserWindow::showSource(QWebFrame* frame, const QString &selectedHtml)
|
||||
SourceViewer* source = new SourceViewer(frame, selectedHtml);
|
||||
QzTools::centerWidgetToParent(source, this);
|
||||
source->show();
|
||||
#endif
|
||||
}
|
||||
|
||||
SideBar* BrowserWindow::addSideBar()
|
||||
@ -863,12 +880,14 @@ void BrowserWindow::toggleTabsOnTop(bool enable)
|
||||
|
||||
void BrowserWindow::toggleCaretBrowsing()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#if QTWEBKIT_FROM_2_3
|
||||
bool enable = !QWebSettings::globalSettings()->testAttribute(QWebSettings::CaretBrowsingEnabled);
|
||||
bool enable = !QWebEngineSettings::globalSettings()->testAttribute(QWebEngineSettings::CaretBrowsingEnabled);
|
||||
|
||||
Settings().setValue("Web-Browser-Settings/CaretBrowsing", enable);
|
||||
|
||||
QWebSettings::globalSettings()->setAttribute(QWebSettings::CaretBrowsingEnabled, enable);
|
||||
QWebEngineSettings::globalSettings()->setAttribute(QWebEngineSettings::CaretBrowsingEnabled, enable);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1000,7 +1019,11 @@ void BrowserWindow::createSidebarsMenu(QMenu* menu)
|
||||
|
||||
void BrowserWindow::createEncodingMenu(QMenu* menu)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QString activeCodecName = QWebSettings::globalSettings()->defaultTextEncoding();
|
||||
#else
|
||||
const QString activeCodecName = QL1S("UTF-8");
|
||||
#endif
|
||||
|
||||
QStringList isoCodecs, utfCodecs, windowsCodecs, isciiCodecs, otherCodecs;
|
||||
|
||||
@ -1193,7 +1216,7 @@ bool BrowserWindow::event(QEvent* event)
|
||||
return QMainWindow::event(event);
|
||||
}
|
||||
|
||||
void BrowserWindow::printPage(QWebFrame* frame)
|
||||
void BrowserWindow::printPage(QWebEngineFrame* frame)
|
||||
{
|
||||
QPrintPreviewDialog* dialog = new QPrintPreviewDialog(this);
|
||||
dialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
@ -1206,9 +1229,11 @@ void BrowserWindow::printPage(QWebFrame* frame)
|
||||
connect(dialog, SIGNAL(paintRequested(QPrinter*)), weView(), SLOT(print(QPrinter*)));
|
||||
}
|
||||
else {
|
||||
#if QTWEBENGINE_DISABLED
|
||||
dialog->printer()->setDocName(QzTools::getFileNameFromUrl(QzTools::frameUrl(frame)));
|
||||
|
||||
connect(dialog, SIGNAL(paintRequested(QPrinter*)), frame, SLOT(print(QPrinter*)));
|
||||
#endif
|
||||
}
|
||||
|
||||
dialog->open();
|
||||
@ -1216,8 +1241,10 @@ void BrowserWindow::printPage(QWebFrame* frame)
|
||||
|
||||
void BrowserWindow::savePageScreen()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
PageScreen* dialog = new PageScreen(weView(), this);
|
||||
dialog->show();
|
||||
#endif
|
||||
}
|
||||
|
||||
void BrowserWindow::resizeEvent(QResizeEvent* event)
|
||||
@ -1409,6 +1436,7 @@ void BrowserWindow::keyPressEvent(QKeyEvent* event)
|
||||
m_tabWidget->setCurrentIndex(number - 1);
|
||||
return;
|
||||
}
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (event->modifiers() & Qt::ControlModifier && m_useSpeedDialNumberShortcuts) {
|
||||
const QUrl url = mApp->plugins()->speedDial()->urlForShortcut(number - 1);
|
||||
if (url.isValid()) {
|
||||
@ -1422,6 +1450,7 @@ void BrowserWindow::keyPressEvent(QKeyEvent* event)
|
||||
if (number == 2)
|
||||
m_tabWidget->nextTab();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
QMainWindow::keyPressEvent(event);
|
||||
|
@ -28,7 +28,7 @@
|
||||
class QLabel;
|
||||
class QVBoxLayout;
|
||||
class QSplitter;
|
||||
class QWebFrame;
|
||||
class QWebEngineFrame;
|
||||
class QTimer;
|
||||
|
||||
class Menu;
|
||||
@ -142,8 +142,8 @@ public slots:
|
||||
void bookmarkPage();
|
||||
void bookmarkAllTabs();
|
||||
void loadAddress(const QUrl &url);
|
||||
void showSource(QWebFrame* frame = 0, const QString &selectedHtml = QString());
|
||||
void printPage(QWebFrame* frame = 0);
|
||||
void showSource(QWebEngineFrame* frame = 0, const QString &selectedHtml = QString());
|
||||
void printPage(QWebEngineFrame* frame = 0);
|
||||
|
||||
private slots:
|
||||
void addTab();
|
||||
|
@ -209,6 +209,9 @@ MainApplication::MainApplication(int &argc, char** argv)
|
||||
appId.append(QLatin1String("Portable"));
|
||||
}
|
||||
|
||||
// QtWebEngine
|
||||
appId.append(QL1S("-QtWebEngine"));
|
||||
|
||||
// TODO: This should generate some random string for appId
|
||||
if (newInstance) {
|
||||
if (startProfile.isEmpty() || startProfile == QLatin1String("default")) {
|
||||
@ -516,7 +519,11 @@ QNetworkDiskCache* MainApplication::networkCache()
|
||||
Settings settings;
|
||||
const QString defaultBasePath = QString("%1/networkcache/").arg(DataPaths::currentProfilePath());
|
||||
const QString basePath = settings.value("Web-Browser-Settings/CachePath", defaultBasePath).toString();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QString cachePath = QString("%1/%2-Qt%3/").arg(basePath, qWebKitVersion(), qVersion());
|
||||
#else
|
||||
const QString cachePath = QString("%1/QtWebEngine/").arg(basePath);
|
||||
#endif
|
||||
|
||||
m_networkCache = new QNetworkDiskCache(this);
|
||||
m_networkCache->setCacheDirectory(cachePath);
|
||||
@ -533,6 +540,7 @@ BrowsingLibrary* MainApplication::browsingLibrary()
|
||||
return m_browsingLibrary;
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
RSSManager* MainApplication::rssManager()
|
||||
{
|
||||
if (!m_rssManager) {
|
||||
@ -540,11 +548,12 @@ RSSManager* MainApplication::rssManager()
|
||||
}
|
||||
return m_rssManager;
|
||||
}
|
||||
#endif
|
||||
|
||||
NetworkManager* MainApplication::networkManager()
|
||||
QNetworkAccessManager* MainApplication::networkManager()
|
||||
{
|
||||
if (!m_networkManager) {
|
||||
m_networkManager = new NetworkManager(this);
|
||||
m_networkManager = new QNetworkAccessManager(this);
|
||||
}
|
||||
return m_networkManager;
|
||||
}
|
||||
@ -636,8 +645,10 @@ void MainApplication::startPrivateBrowsing(const QUrl &startUrl)
|
||||
|
||||
void MainApplication::reloadUserStyleSheet()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QUrl userCss = userStyleSheet(Settings().value("Web-Browser-Settings/userStyleSheet", QString()).toString());
|
||||
QWebSettings::globalSettings()->setUserStyleSheetUrl(userCss);
|
||||
QWebEngineSettings::globalSettings()->setUserStyleSheetUrl(userCss);
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainApplication::restoreOverrideCursor()
|
||||
@ -690,7 +701,9 @@ void MainApplication::postLaunch()
|
||||
}
|
||||
|
||||
QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, DataPaths::currentProfilePath());
|
||||
QWebHistoryInterface::setDefaultInterface(new WebHistoryInterface(this));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineHistoryInterface::setDefaultInterface(new WebHistoryInterface(this));
|
||||
#endif
|
||||
|
||||
connect(this, SIGNAL(messageReceived(QString)), this, SLOT(messageReceived(QString)));
|
||||
connect(this, SIGNAL(aboutToQuit()), this, SLOT(saveSettings()));
|
||||
@ -758,7 +771,6 @@ void MainApplication::saveSettings()
|
||||
}
|
||||
|
||||
m_searchEnginesManager->saveSettings();
|
||||
m_networkManager->saveSettings();
|
||||
m_plugins->shutdown();
|
||||
|
||||
DataPaths::clearTempData();
|
||||
@ -854,6 +866,7 @@ void MainApplication::loadSettings()
|
||||
|
||||
loadTheme(activeTheme);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebSettings* webSettings = QWebSettings::globalSettings();
|
||||
|
||||
// Web browsing settings
|
||||
@ -915,9 +928,12 @@ void MainApplication::loadSettings()
|
||||
|
||||
webSettings->setWebGraphic(QWebSettings::DefaultFrameIconGraphic, IconProvider::emptyWebIcon().pixmap(16, 16));
|
||||
webSettings->setWebGraphic(QWebSettings::MissingImageGraphic, QPixmap());
|
||||
#endif
|
||||
|
||||
if (isPrivate()) {
|
||||
#if QTWEBENGINE_DISABLED
|
||||
webSettings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
|
||||
#endif
|
||||
history()->setSaving(false);
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
|
||||
class QMenu;
|
||||
class QNetworkDiskCache;
|
||||
class QNetworkAccessManager;
|
||||
|
||||
class History;
|
||||
class AutoFill;
|
||||
@ -39,7 +40,6 @@ class RSSManager;
|
||||
class ProxyStyle;
|
||||
class PluginProxy;
|
||||
class BrowserWindow;
|
||||
class NetworkManager;
|
||||
class BrowsingLibrary;
|
||||
class DownloadManager;
|
||||
class UserAgentManager;
|
||||
@ -92,7 +92,7 @@ public:
|
||||
BrowsingLibrary* browsingLibrary();
|
||||
|
||||
RSSManager* rssManager();
|
||||
NetworkManager* networkManager();
|
||||
QNetworkAccessManager* networkManager();
|
||||
RestoreManager* restoreManager();
|
||||
DownloadManager* downloadManager();
|
||||
UserAgentManager* userAgentManager();
|
||||
@ -157,7 +157,7 @@ private:
|
||||
BrowsingLibrary* m_browsingLibrary;
|
||||
|
||||
RSSManager* m_rssManager;
|
||||
NetworkManager* m_networkManager;
|
||||
QNetworkAccessManager* m_networkManager;
|
||||
RestoreManager* m_restoreManager;
|
||||
DownloadManager* m_downloadManager;
|
||||
UserAgentManager* m_userAgentManager;
|
||||
|
@ -36,7 +36,7 @@
|
||||
#include <QApplication>
|
||||
#include <QMetaObject>
|
||||
#include <QStatusBar>
|
||||
#include <QWebPage>
|
||||
#include <QWebEnginePage>
|
||||
#include <QMenuBar>
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
@ -303,11 +303,13 @@ void MainMenu::webSearch()
|
||||
|
||||
void MainMenu::showSiteInfo()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (m_window) {
|
||||
SiteInfo* info = new SiteInfo(m_window->weView(), m_window);
|
||||
info->setAttribute(Qt::WA_DeleteOnClose);
|
||||
info->show();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainMenu::showDownloadManager()
|
||||
@ -403,8 +405,10 @@ void MainMenu::aboutToShowViewMenu()
|
||||
m_actions[QSL("View/FullScreen")]->setChecked(m_window->isFullScreen());
|
||||
m_actions[QSL("View/PageSource")]->setEnabled(true);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#if QTWEBKIT_FROM_2_3
|
||||
m_actions[QSL("View/CaretBrowsing")]->setChecked(m_window->weView()->settings()->testAttribute(QWebSettings::CaretBrowsingEnabled));
|
||||
m_actions[QSL("View/CaretBrowsing")]->setChecked(m_window->weView()->settings()->testAttribute(QWebEngineSettings::CaretBrowsingEnabled));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -421,12 +425,12 @@ void MainMenu::aboutToShowEditMenu()
|
||||
|
||||
WebView* view = m_window->weView();
|
||||
|
||||
m_actions[QSL("Edit/Undo")]->setEnabled(view->pageAction(QWebPage::Undo)->isEnabled());
|
||||
m_actions[QSL("Edit/Redo")]->setEnabled(view->pageAction(QWebPage::Redo)->isEnabled());
|
||||
m_actions[QSL("Edit/Cut")]->setEnabled(view->pageAction(QWebPage::Cut)->isEnabled());
|
||||
m_actions[QSL("Edit/Copy")]->setEnabled(view->pageAction(QWebPage::Copy)->isEnabled());
|
||||
m_actions[QSL("Edit/Paste")]->setEnabled(view->pageAction(QWebPage::Paste)->isEnabled());
|
||||
m_actions[QSL("Edit/SelectAll")]->setEnabled(view->pageAction(QWebPage::SelectAll)->isEnabled());
|
||||
m_actions[QSL("Edit/Undo")]->setEnabled(view->pageAction(QWebEnginePage::Undo)->isEnabled());
|
||||
m_actions[QSL("Edit/Redo")]->setEnabled(view->pageAction(QWebEnginePage::Redo)->isEnabled());
|
||||
m_actions[QSL("Edit/Cut")]->setEnabled(view->pageAction(QWebEnginePage::Cut)->isEnabled());
|
||||
m_actions[QSL("Edit/Copy")]->setEnabled(view->pageAction(QWebEnginePage::Copy)->isEnabled());
|
||||
m_actions[QSL("Edit/Paste")]->setEnabled(view->pageAction(QWebEnginePage::Paste)->isEnabled());
|
||||
m_actions[QSL("Edit/SelectAll")]->setEnabled(view->pageAction(QWebEnginePage::SelectAll)->isEnabled());
|
||||
m_actions[QSL("Edit/Find")]->setEnabled(true);
|
||||
}
|
||||
|
||||
|
@ -132,14 +132,20 @@ QString ProfileManager::currentProfile() const
|
||||
|
||||
QString ProfileManager::startingProfile() const
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QSettings settings(DataPaths::path(DataPaths::Profiles) + QLatin1String("/profiles.ini"), QSettings::IniFormat);
|
||||
return settings.value(QLatin1String("Profiles/startProfile"), QLatin1String("default")).toString();
|
||||
#else
|
||||
return QString("qtwebengine");
|
||||
#endif
|
||||
}
|
||||
|
||||
void ProfileManager::setStartingProfile(const QString &profileName)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QSettings settings(DataPaths::path(DataPaths::Profiles) + QLatin1String("/profiles.ini"), QSettings::IniFormat);
|
||||
settings.setValue(QLatin1String("Profiles/startProfile"), profileName);
|
||||
#endif
|
||||
}
|
||||
|
||||
QStringList ProfileManager::availableProfiles() const
|
||||
|
@ -146,6 +146,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Qz::NewTabPositionFlags)
|
||||
#define DEFAULT_DOWNLOAD_USE_NATIVE_DIALOG true
|
||||
#endif
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#define QTWEBKIT_FROM_2_2 \
|
||||
(QT_VERSION >= 0x050000 || (QTWEBKIT_VERSION >= QTWEBKIT_VERSION_CHECK(2, 2, 0)))
|
||||
|
||||
@ -157,5 +158,15 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Qz::NewTabPositionFlags)
|
||||
|
||||
#define QTWEBKIT_TO_2_3 \
|
||||
(QT_VERSION < 0x050000 && (QTWEBKIT_VERSION < QTWEBKIT_VERSION_CHECK(2, 3, 0)))
|
||||
#else
|
||||
|
||||
#define QTWEBKIT_FROM_2_2 true
|
||||
#define QTWEBKIT_TO_2_2 false
|
||||
#define QTWEBKIT_FROM_2_3 true
|
||||
#define QTWEBKIT_TO_2_3 false
|
||||
|
||||
#undef USE_QTWEBKIT_2_2
|
||||
#undef USE_QTWEBKIT_2_3
|
||||
#endif
|
||||
|
||||
#endif // QZCOMMON_H
|
||||
|
@ -30,7 +30,6 @@
|
||||
|
||||
#include <QXmlStreamWriter>
|
||||
#include <QXmlStreamReader>
|
||||
#include <QWebFrame>
|
||||
#include <QNetworkRequest>
|
||||
|
||||
#if QT_VERSION >= 0x050000
|
||||
@ -170,7 +169,7 @@ void AutoFill::removeAllEntries()
|
||||
}
|
||||
|
||||
// If password was filled in the page, returns all saved passwords on this page
|
||||
QVector<PasswordEntry> AutoFill::completeFrame(QWebFrame* frame)
|
||||
QVector<PasswordEntry> AutoFill::completeFrame(QWebEngineFrame* frame)
|
||||
{
|
||||
bool completed = false;
|
||||
QVector<PasswordEntry> list;
|
||||
@ -202,12 +201,13 @@ QVector<PasswordEntry> AutoFill::completeFrame(QWebFrame* frame)
|
||||
|
||||
void AutoFill::post(const QNetworkRequest &request, const QByteArray &outgoingData)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Don't save in private browsing
|
||||
if (mApp->isPrivate()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QWebFrame* frame = qobject_cast<QWebFrame*>(request.originatingObject());
|
||||
QWebEngineFrame* frame = qobject_cast<QWebEngineFrame*>(request.originatingObject());
|
||||
if (!frame) {
|
||||
return;
|
||||
}
|
||||
@ -259,6 +259,7 @@ void AutoFill::post(const QNetworkRequest &request, const QByteArray &outgoingDa
|
||||
|
||||
AutoFillNotification* aWidget = new AutoFillNotification(frameUrl, formData, updateData);
|
||||
webView->addNotification(aWidget);
|
||||
#endif
|
||||
}
|
||||
|
||||
QByteArray AutoFill::exportPasswords()
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "qzcommon.h"
|
||||
|
||||
class QUrl;
|
||||
class QWebFrame;
|
||||
class QWebEngineFrame;
|
||||
class QWebElement;
|
||||
class QNetworkRequest;
|
||||
|
||||
@ -61,7 +61,7 @@ public:
|
||||
void removeAllEntries();
|
||||
|
||||
void post(const QNetworkRequest &request, const QByteArray &outgoingData);
|
||||
QVector<PasswordEntry> completeFrame(QWebFrame* frame);
|
||||
QVector<PasswordEntry> completeFrame(QWebEngineFrame *frame);
|
||||
|
||||
QByteArray exportPasswords();
|
||||
bool importPasswords(const QByteArray &data);
|
||||
|
@ -18,9 +18,7 @@
|
||||
#include "pageformcompleter.h"
|
||||
#include "qzregexp.h"
|
||||
|
||||
#include <QWebPage>
|
||||
#include <QWebFrame>
|
||||
#include <QWebElement>
|
||||
#include <QWebEnginePage>
|
||||
#if QT_VERSION >= 0x050000
|
||||
#include <QUrlQuery>
|
||||
#endif
|
||||
@ -31,25 +29,25 @@ PageFormCompleter::PageFormCompleter()
|
||||
{
|
||||
}
|
||||
|
||||
PageFormData PageFormCompleter::extractFormData(QWebPage* page, const QByteArray &postData)
|
||||
PageFormData PageFormCompleter::extractFormData(QWebEnginePage* page, const QByteArray &postData)
|
||||
{
|
||||
m_page = page;
|
||||
return extractFormData(postData);
|
||||
}
|
||||
|
||||
PageFormData PageFormCompleter::extractFormData(QWebFrame* frame, const QByteArray &postData)
|
||||
PageFormData PageFormCompleter::extractFormData(QWebEngineFrame* frame, const QByteArray &postData)
|
||||
{
|
||||
m_frame = frame;
|
||||
return extractFormData(postData);
|
||||
}
|
||||
|
||||
bool PageFormCompleter::completeFormData(QWebPage* page, const QByteArray &data)
|
||||
bool PageFormCompleter::completeFormData(QWebEnginePage* page, const QByteArray &data)
|
||||
{
|
||||
m_page = page;
|
||||
return completeFormData(data);
|
||||
}
|
||||
|
||||
bool PageFormCompleter::completeFormData(QWebFrame* frame, const QByteArray &data)
|
||||
bool PageFormCompleter::completeFormData(QWebEngineFrame* frame, const QByteArray &data)
|
||||
{
|
||||
m_frame = frame;
|
||||
return completeFormData(data);
|
||||
@ -73,6 +71,7 @@ PageFormData PageFormCompleter::extractFormData(const QByteArray &postData) cons
|
||||
return formData;
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QWebElementCollection allForms = getAllElementsFromPage("form");
|
||||
|
||||
// Find form that contains password value sent in data
|
||||
@ -109,6 +108,7 @@ PageFormData PageFormCompleter::extractFormData(const QByteArray &postData) cons
|
||||
|
||||
formData.username = usernameValue;
|
||||
formData.password = passwordValue;
|
||||
#endif
|
||||
|
||||
return formData;
|
||||
}
|
||||
@ -123,6 +123,7 @@ bool PageFormCompleter::completeFormData(const QByteArray &data) const
|
||||
QStringList inputTypes;
|
||||
inputTypes << "text" << "password" << "email";
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Find all input elements in the page
|
||||
const QWebElementCollection inputs = getAllElementsFromPage("input");
|
||||
|
||||
@ -144,6 +145,7 @@ bool PageFormCompleter::completeFormData(const QByteArray &data) const
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return completed;
|
||||
}
|
||||
@ -212,6 +214,7 @@ QByteArray PageFormCompleter::convertWebKitFormBoundaryIfNecessary(const QByteAr
|
||||
|
||||
PageFormCompleter::QueryItem PageFormCompleter::findUsername(const QWebElement &form) const
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Try to find username (or email) field in the form.
|
||||
QStringList selectors;
|
||||
selectors << "input[type=\"text\"][name*=\"user\"]"
|
||||
@ -234,6 +237,7 @@ PageFormCompleter::QueryItem PageFormCompleter::findUsername(const QWebElement &
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return QueryItem();
|
||||
}
|
||||
@ -254,6 +258,7 @@ PageFormCompleter::QueryItems PageFormCompleter::createQueryItems(QByteArray dat
|
||||
return arguments;
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElementCollection PageFormCompleter::getAllElementsFromPage(const QString &selector) const
|
||||
{
|
||||
QWebElementCollection list;
|
||||
@ -280,3 +285,5 @@ QWebElementCollection PageFormCompleter::getAllElementsFromPage(const QString &s
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -24,8 +24,8 @@
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
class QWebPage;
|
||||
class QWebFrame;
|
||||
class QWebEnginePage;
|
||||
class QWebEngineFrame;
|
||||
class QWebElement;
|
||||
class QWebElementCollection;
|
||||
|
||||
@ -44,11 +44,11 @@ class QUPZILLA_EXPORT PageFormCompleter
|
||||
public:
|
||||
explicit PageFormCompleter();
|
||||
|
||||
PageFormData extractFormData(QWebPage* page, const QByteArray &postData);
|
||||
PageFormData extractFormData(QWebFrame* frame, const QByteArray &postData);
|
||||
PageFormData extractFormData(QWebEnginePage* page, const QByteArray &postData);
|
||||
PageFormData extractFormData(QWebEngineFrame* frame, const QByteArray &postData);
|
||||
|
||||
bool completeFormData(QWebPage* page, const QByteArray &data);
|
||||
bool completeFormData(QWebFrame* frame, const QByteArray &data);
|
||||
bool completeFormData(QWebEnginePage* page, const QByteArray &data);
|
||||
bool completeFormData(QWebEngineFrame* frame, const QByteArray &data);
|
||||
|
||||
private:
|
||||
typedef QPair<QString, QString> QueryItem;
|
||||
@ -62,10 +62,12 @@ private:
|
||||
QByteArray convertWebKitFormBoundaryIfNecessary(const QByteArray &data) const;
|
||||
QueryItem findUsername(const QWebElement &form) const;
|
||||
QueryItems createQueryItems(QByteArray data) const;
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElementCollection getAllElementsFromPage(const QString &selector) const;
|
||||
#endif
|
||||
|
||||
QWebPage* m_page;
|
||||
QWebFrame* m_frame;
|
||||
QWebEnginePage* m_page;
|
||||
QWebEngineFrame* m_frame;
|
||||
};
|
||||
|
||||
#endif // PAGEFORMCOMPLETER_H
|
||||
|
@ -40,7 +40,9 @@ BookmarksIcon::BookmarksIcon(QWidget* parent)
|
||||
connect(mApp->bookmarks(), SIGNAL(bookmarkAdded(BookmarkItem*)), this, SLOT(bookmarksChanged()));
|
||||
connect(mApp->bookmarks(), SIGNAL(bookmarkRemoved(BookmarkItem*)), this, SLOT(bookmarksChanged()));
|
||||
connect(mApp->bookmarks(), SIGNAL(bookmarkChanged(BookmarkItem*)), this, SLOT(bookmarksChanged()));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
connect(mApp->plugins()->speedDial(), SIGNAL(pagesChanged()), this, SLOT(speedDialChanged()));
|
||||
#endif
|
||||
|
||||
connect(this, SIGNAL(clicked(QPoint)), this, SLOT(iconClicked()));
|
||||
}
|
||||
@ -59,7 +61,9 @@ void BookmarksIcon::checkBookmark(const QUrl &url, bool forceCheck)
|
||||
QList<BookmarkItem*> items = mApp->bookmarks()->searchBookmarks(url);
|
||||
m_bookmark = items.isEmpty() ? 0 : items.first();
|
||||
|
||||
if (m_bookmark || !mApp->plugins()->speedDial()->pageForUrl(url).url.isEmpty()) {
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#endif
|
||||
if (m_bookmark /*|| !mApp->plugins()->speedDial()->pageForUrl(url).url.isEmpty()*/) {
|
||||
setBookmarkSaved();
|
||||
}
|
||||
else {
|
||||
|
@ -50,6 +50,7 @@ BookmarksWidget::~BookmarksWidget()
|
||||
|
||||
void BookmarksWidget::toggleSpeedDial()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const SpeedDial::Page page = m_speedDial->pageForUrl(m_view->url());
|
||||
|
||||
if (page.url.isEmpty()) {
|
||||
@ -61,6 +62,7 @@ void BookmarksWidget::toggleSpeedDial()
|
||||
}
|
||||
|
||||
closePopup();
|
||||
#endif
|
||||
}
|
||||
|
||||
void BookmarksWidget::toggleBookmark()
|
||||
@ -104,6 +106,7 @@ void BookmarksWidget::init()
|
||||
// it dynamically changes and so, it's not good choice for this widget.
|
||||
setLayoutDirection(QApplication::layoutDirection());
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Init SpeedDial button
|
||||
const SpeedDial::Page page = m_speedDial->pageForUrl(m_view->url());
|
||||
if (page.url.isEmpty()) {
|
||||
@ -114,6 +117,7 @@ void BookmarksWidget::init()
|
||||
ui->speeddialButton->setFlat(false);
|
||||
ui->speeddialButton->setText(tr("Remove from Speed Dial"));
|
||||
}
|
||||
#endif
|
||||
|
||||
// Init Bookmarks button
|
||||
if (m_bookmark) {
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "qztools.h"
|
||||
|
||||
#include <QNetworkCookie>
|
||||
#include <QWebSettings>
|
||||
#include <QWebEngineSettings>
|
||||
#include <QDateTime>
|
||||
|
||||
//#define COOKIE_DEBUG
|
||||
@ -56,6 +56,7 @@ void CookieJar::loadSettings()
|
||||
m_blacklist = settings.value("blacklist", QStringList()).toStringList();
|
||||
settings.endGroup();
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#if QTWEBKIT_FROM_2_3
|
||||
switch (m_allowThirdParty) {
|
||||
case 0:
|
||||
@ -71,6 +72,7 @@ void CookieJar::loadSettings()
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void CookieJar::setAllowCookies(bool allow)
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include <QFileIconProvider>
|
||||
#include <QListWidgetItem>
|
||||
#include <QTemporaryFile>
|
||||
#include <QWebHistory>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QFileDialog>
|
||||
|
||||
#if QT_VERSION >= 0x050000
|
||||
|
@ -138,6 +138,7 @@ void DownloadItem::startDownloadingFromFtp(const QUrl &url)
|
||||
return;
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
m_ftpDownloader = new FtpDownloader(this);
|
||||
connect(m_ftpDownloader, SIGNAL(finished()), this, SLOT(finished()));
|
||||
connect(m_ftpDownloader, SIGNAL(dataTransferProgress(qint64,qint64)), this, SLOT(downloadProgress(qint64,qint64)));
|
||||
@ -153,6 +154,7 @@ void DownloadItem::startDownloadingFromFtp(const QUrl &url)
|
||||
if (m_ftpDownloader->error() != QFtp::NoError) {
|
||||
error();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void DownloadItem::parentResized(const QSize &size)
|
||||
@ -182,7 +184,7 @@ void DownloadItem::finished()
|
||||
#endif
|
||||
m_timer.stop();
|
||||
|
||||
QString host = m_reply ? m_reply->url().host() : m_ftpDownloader->url().host();
|
||||
QString host = m_reply->url().host();
|
||||
ui->downloadInfo->setText(tr("Done - %1 (%2)").arg(host, QDateTime::currentDateTime().toString(Qt::DefaultLocaleShortDate)));
|
||||
ui->progressBar->hide();
|
||||
ui->button->hide();
|
||||
@ -193,7 +195,9 @@ void DownloadItem::finished()
|
||||
m_reply->deleteLater();
|
||||
}
|
||||
else {
|
||||
#if QTWEBENGINE_DISABLED
|
||||
m_ftpDownloader->deleteLater();
|
||||
#endif
|
||||
}
|
||||
|
||||
m_item->setSizeHint(sizeHint());
|
||||
@ -327,7 +331,9 @@ void DownloadItem::stop(bool askForDeleteFile)
|
||||
host = m_reply->url().host();
|
||||
}
|
||||
else if (m_ftpDownloader) {
|
||||
#if QTWEBENGINE_DISABLED
|
||||
host = m_ftpDownloader->url().host();
|
||||
#endif
|
||||
}
|
||||
m_openAfterFinish = false;
|
||||
m_timer.stop();
|
||||
@ -335,8 +341,10 @@ void DownloadItem::stop(bool askForDeleteFile)
|
||||
m_reply->abort();
|
||||
}
|
||||
else if (m_ftpDownloader) {
|
||||
#if QTWEBENGINE_DISABLED
|
||||
m_ftpDownloader->abort();
|
||||
m_ftpDownloader->close();
|
||||
#endif
|
||||
}
|
||||
QString outputfile = QFileInfo(m_outputFile).absoluteFilePath();
|
||||
m_outputFile.close();
|
||||
@ -455,10 +463,12 @@ void DownloadItem::error()
|
||||
if (m_reply && m_reply->error() != QNetworkReply::NoError) {
|
||||
ui->downloadInfo->setText(tr("Error: ") + m_reply->errorString());
|
||||
}
|
||||
#if QTWEBENGINE_DISABLED
|
||||
else if (m_ftpDownloader && m_ftpDownloader->error() != QFtp::NoError) {
|
||||
stop(false);
|
||||
ui->downloadInfo->setText(tr("Error: ") + m_ftpDownloader->errorString());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void DownloadItem::updateDownload()
|
||||
@ -468,6 +478,7 @@ void DownloadItem::updateDownload()
|
||||
#endif
|
||||
// after caling stop() (from readyRead()) m_reply will be a dangling pointer,
|
||||
// thus it should be checked after m_outputFile.isOpen()
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (ui->progressBar->maximum() == 0 && m_outputFile.isOpen() &&
|
||||
((m_reply && m_reply->isFinished()) ||
|
||||
(m_ftpDownloader && m_ftpDownloader->isFinished())
|
||||
@ -476,6 +487,13 @@ void DownloadItem::updateDownload()
|
||||
downloadProgress(0, 0);
|
||||
finished();
|
||||
}
|
||||
#else
|
||||
if (ui->progressBar->maximum() == 0 && m_outputFile.isOpen() &&
|
||||
((m_reply && m_reply->isFinished()))) {
|
||||
downloadProgress(0, 0);
|
||||
finished();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
DownloadItem::~DownloadItem()
|
||||
|
@ -221,9 +221,12 @@ void DownloadManager::download(const QNetworkRequest &request, const DownloadInf
|
||||
QNetworkRequest req = request;
|
||||
req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 100), 0);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
handleUnsupportedContent(m_networkManager->get(req), info);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void DownloadManager::handleUnsupportedContent(QNetworkReply* reply, const DownloadInfo &info)
|
||||
{
|
||||
if (!info.page || reply->url().scheme() == QLatin1String("qupzilla")) {
|
||||
@ -247,6 +250,7 @@ void DownloadManager::handleUnsupportedContent(QNetworkReply* reply, const Downl
|
||||
h->setListWidget(ui->list);
|
||||
h->handleUnsupportedContent(reply, info);
|
||||
}
|
||||
#endif
|
||||
|
||||
void DownloadManager::itemCreated(QListWidgetItem* item, DownloadItem* downItem)
|
||||
{
|
||||
@ -349,3 +353,4 @@ DownloadManager::~DownloadManager()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
@ -30,12 +30,12 @@ class DownloadManager;
|
||||
|
||||
class QNetworkReply;
|
||||
class QNetworkRequest;
|
||||
class QNetworkAccessManager;
|
||||
class QListWidgetItem;
|
||||
class QUrl;
|
||||
|
||||
class DownloadItem;
|
||||
class EcWin7;
|
||||
class NetworkManager;
|
||||
class WebPage;
|
||||
|
||||
class QUPZILLA_EXPORT DownloadManager : public QWidget
|
||||
@ -65,7 +65,10 @@ public:
|
||||
void loadSettings();
|
||||
|
||||
void download(const QNetworkRequest &request, const DownloadInfo &info);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void handleUnsupportedContent(QNetworkReply* reply, const DownloadInfo &info);
|
||||
#endif
|
||||
|
||||
bool canClose();
|
||||
|
||||
@ -107,7 +110,7 @@ private:
|
||||
void keyPressEvent(QKeyEvent* e);
|
||||
|
||||
Ui::DownloadManager* ui;
|
||||
NetworkManager* m_networkManager;
|
||||
QNetworkAccessManager* m_networkManager;
|
||||
QBasicTimer m_timer;
|
||||
|
||||
QString m_lastDownloadPath;
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include "qzsettings.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QWebHistory>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QSqlQuery>
|
||||
|
||||
static QKeySequence actionShortcut(QKeySequence shortcut, QKeySequence fallback, QKeySequence shortcutRTL, QKeySequence fallbackRTL)
|
||||
|
@ -19,8 +19,10 @@
|
||||
#include "mainapplication.h"
|
||||
#include "history.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
WebHistoryInterface::WebHistoryInterface(QObject* parent)
|
||||
: QWebHistoryInterface(parent)
|
||||
: QWebEngineHistoryInterface(parent)
|
||||
{
|
||||
}
|
||||
|
||||
@ -33,3 +35,5 @@ bool WebHistoryInterface::historyContains(const QString &url) const
|
||||
{
|
||||
return m_clickedLinks.find(url) != m_clickedLinks.end();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,12 +18,13 @@
|
||||
#ifndef WEBHISTORYINTERFACE_H
|
||||
#define WEBHISTORYINTERFACE_H
|
||||
|
||||
#include <QWebHistoryInterface>
|
||||
#include <set>
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
class QUPZILLA_EXPORT WebHistoryInterface : public QWebHistoryInterface
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
class QUPZILLA_EXPORT WebHistoryInterface : public QWebEngineHistoryInterface
|
||||
{
|
||||
public:
|
||||
explicit WebHistoryInterface(QObject* parent = 0);
|
||||
@ -36,4 +37,6 @@ private:
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // WEBHISTORYINTERFACE_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
isEqual(QT_MAJOR_VERSION, 5) {
|
||||
QT += webkitwidgets network widgets printsupport sql script gui-private
|
||||
QT += webenginewidgets network widgets printsupport sql script gui-private
|
||||
} else {
|
||||
QT += core gui webkit sql network script concurrent
|
||||
}
|
||||
@ -12,7 +12,9 @@ DEFINES *= QUPZILLA_SHAREDLIBRARY
|
||||
include(../defines.pri)
|
||||
include(../../translations/translations.pri)
|
||||
include(3rdparty/qtsingleapplication/qtsingleapplication.pri)
|
||||
include(plugins/qtwebkit/qtwebkit-plugins.pri)
|
||||
|
||||
# QTWEBENGINE DISABLED
|
||||
#include(plugins/qtwebkit/qtwebkit-plugins.pri)
|
||||
|
||||
CONFIG(debug, debug|release): include(../../tests/modeltest/modeltest.pri)
|
||||
|
||||
|
@ -61,7 +61,6 @@ LocationBar::LocationBar(BrowserWindow* window)
|
||||
|
||||
m_bookmarkIcon = new BookmarksIcon(this);
|
||||
m_goIcon = new GoIcon(this);
|
||||
m_rssIcon = new RssIcon(this);
|
||||
m_siteIcon = new SiteIcon(m_window, this);
|
||||
m_autofillIcon = new AutoFillIcon(this);
|
||||
DownIcon* down = new DownIcon(this);
|
||||
@ -69,7 +68,6 @@ LocationBar::LocationBar(BrowserWindow* window)
|
||||
addWidget(m_siteIcon, LineEdit::LeftSide);
|
||||
addWidget(m_autofillIcon, LineEdit::RightSide);
|
||||
addWidget(m_bookmarkIcon, LineEdit::RightSide);
|
||||
addWidget(m_rssIcon, LineEdit::RightSide);
|
||||
addWidget(m_goIcon, LineEdit::RightSide);
|
||||
addWidget(down, LineEdit::RightSide);
|
||||
|
||||
@ -104,7 +102,6 @@ LocationBar::LocationBar(BrowserWindow* window)
|
||||
|
||||
// Hide icons by default
|
||||
m_goIcon->setVisible(qzSettings->alwaysShowGoIcon);
|
||||
m_rssIcon->hide();
|
||||
m_autofillIcon->hide();
|
||||
|
||||
QTimer::singleShot(0, this, SLOT(updatePlaceHolderText()));
|
||||
@ -120,17 +117,18 @@ void LocationBar::setWebView(TabbedWebView* view)
|
||||
m_webView = view;
|
||||
|
||||
m_bookmarkIcon->setWebView(m_webView);
|
||||
m_rssIcon->setWebView(m_webView);
|
||||
m_siteIcon->setWebView(m_webView);
|
||||
m_autofillIcon->setWebView(m_webView);
|
||||
|
||||
connect(m_webView, SIGNAL(loadStarted()), SLOT(loadStarted()));
|
||||
connect(m_webView, SIGNAL(loadProgress(int)), SLOT(loadProgress(int)));
|
||||
connect(m_webView, SIGNAL(loadFinished(bool)), SLOT(loadFinished()));
|
||||
connect(m_webView, SIGNAL(iconChanged()), this, SLOT(updateSiteIcon()));
|
||||
connect(m_webView, SIGNAL(urlChanged(QUrl)), this, SLOT(showUrl(QUrl)));
|
||||
connect(m_webView, SIGNAL(rssChanged(bool)), this, SLOT(setRssIconVisible(bool)));
|
||||
connect(m_webView, SIGNAL(privacyChanged(bool)), this, SLOT(setPrivacyState(bool)));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
connect(m_webView, SIGNAL(iconChanged()), this, SLOT(updateSiteIcon()));
|
||||
#endif
|
||||
}
|
||||
|
||||
void LocationBar::setText(const QString &text)
|
||||
@ -299,11 +297,9 @@ void LocationBar::setGoIconVisible(bool state)
|
||||
{
|
||||
if (state) {
|
||||
m_bookmarkIcon->hide();
|
||||
m_rssIcon->hide();
|
||||
m_goIcon->show();
|
||||
}
|
||||
else {
|
||||
m_rssIcon->setVisible(m_webView && m_webView->hasRss());
|
||||
m_bookmarkIcon->show();
|
||||
|
||||
if (!qzSettings->alwaysShowGoIcon) {
|
||||
@ -316,8 +312,6 @@ void LocationBar::setGoIconVisible(bool state)
|
||||
|
||||
void LocationBar::setRssIconVisible(bool state)
|
||||
{
|
||||
m_rssIcon->setVisible(state);
|
||||
|
||||
updateTextMargins();
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
||||
#include <QSplitter>
|
||||
#include <QHBoxLayout>
|
||||
#include <QStackedWidget>
|
||||
#include <QWebHistory>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QMouseEvent>
|
||||
#include <QStyleOption>
|
||||
|
||||
@ -212,13 +212,13 @@ void NavigationBar::aboutToShowHistoryBackMenu()
|
||||
return;
|
||||
}
|
||||
m_menuBack->clear();
|
||||
QWebHistory* history = m_window->weView()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->history();
|
||||
|
||||
int curindex = history->currentItemIndex();
|
||||
int count = 0;
|
||||
|
||||
for (int i = curindex - 1; i >= 0; i--) {
|
||||
QWebHistoryItem item = history->itemAt(i);
|
||||
QWebEngineHistoryItem item = history->itemAt(i);
|
||||
if (item.isValid()) {
|
||||
QString title = titleForUrl(item.title(), item.url());
|
||||
|
||||
@ -247,12 +247,12 @@ void NavigationBar::aboutToShowHistoryNextMenu()
|
||||
}
|
||||
m_menuForward->clear();
|
||||
|
||||
QWebHistory* history = m_window->weView()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->history();
|
||||
int curindex = history->currentItemIndex();
|
||||
int count = 0;
|
||||
|
||||
for (int i = curindex + 1; i < history->count(); i++) {
|
||||
QWebHistoryItem item = history->itemAt(i);
|
||||
QWebEngineHistoryItem item = history->itemAt(i);
|
||||
if (item.isValid()) {
|
||||
QString title = titleForUrl(item.title(), item.url());
|
||||
|
||||
@ -276,7 +276,7 @@ void NavigationBar::aboutToShowHistoryNextMenu()
|
||||
|
||||
void NavigationBar::clearHistory()
|
||||
{
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
history->clear();
|
||||
refreshHistory();
|
||||
}
|
||||
@ -290,7 +290,7 @@ void NavigationBar::contextMenuRequested(const QPoint &pos)
|
||||
|
||||
void NavigationBar::loadHistoryIndex()
|
||||
{
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
|
||||
if (QAction* action = qobject_cast<QAction*>(sender())) {
|
||||
loadHistoryItem(history->itemAt(action->data().toInt()));
|
||||
@ -307,7 +307,7 @@ void NavigationBar::loadHistoryIndexInNewTab(int index)
|
||||
return;
|
||||
}
|
||||
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
loadHistoryItemInNewTab(history->itemAt(index));
|
||||
}
|
||||
|
||||
@ -317,7 +317,7 @@ void NavigationBar::refreshHistory()
|
||||
return;
|
||||
}
|
||||
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
m_buttonBack->setEnabled(history->canGoBack());
|
||||
m_buttonForward->setEnabled(history->canGoForward());
|
||||
}
|
||||
@ -334,13 +334,13 @@ void NavigationBar::reload()
|
||||
|
||||
void NavigationBar::goBack()
|
||||
{
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
history->back();
|
||||
}
|
||||
|
||||
void NavigationBar::goBackInNewTab()
|
||||
{
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
|
||||
if (!history->canGoBack()) {
|
||||
return;
|
||||
@ -351,13 +351,13 @@ void NavigationBar::goBackInNewTab()
|
||||
|
||||
void NavigationBar::goForward()
|
||||
{
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
history->forward();
|
||||
}
|
||||
|
||||
void NavigationBar::goForwardInNewTab()
|
||||
{
|
||||
QWebHistory* history = m_window->weView()->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView()->page()->history();
|
||||
|
||||
if (!history->canGoForward()) {
|
||||
return;
|
||||
@ -387,19 +387,19 @@ QIcon NavigationBar::iconForPage(const QUrl &url, const QIcon &sIcon)
|
||||
return icon;
|
||||
}
|
||||
|
||||
void NavigationBar::loadHistoryItem(const QWebHistoryItem &item)
|
||||
void NavigationBar::loadHistoryItem(const QWebEngineHistoryItem &item)
|
||||
{
|
||||
m_window->weView()->page()->history()->goToItem(item);
|
||||
|
||||
refreshHistory();
|
||||
}
|
||||
|
||||
void NavigationBar::loadHistoryItemInNewTab(const QWebHistoryItem &item)
|
||||
void NavigationBar::loadHistoryItemInNewTab(const QWebEngineHistoryItem &item)
|
||||
{
|
||||
TabWidget* tabWidget = m_window->tabWidget();
|
||||
int tabIndex = tabWidget->duplicateTab(tabWidget->currentIndex());
|
||||
|
||||
QWebHistory* history = m_window->weView(tabIndex)->page()->history();
|
||||
QWebEngineHistory* history = m_window->weView(tabIndex)->page()->history();
|
||||
history->goToItem(item);
|
||||
|
||||
if (qzSettings->newTabPosition == Qz::NT_SelectedTab) {
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
class QHBoxLayout;
|
||||
class QSplitter;
|
||||
class QWebHistoryItem;
|
||||
class QWebEngineHistoryItem;
|
||||
|
||||
class ToolButton;
|
||||
class WebSearchBar;
|
||||
@ -90,8 +90,8 @@ private:
|
||||
QString titleForUrl(QString title, const QUrl &url);
|
||||
QIcon iconForPage(const QUrl &url, const QIcon &sIcon);
|
||||
|
||||
void loadHistoryItem(const QWebHistoryItem &item);
|
||||
void loadHistoryItemInNewTab(const QWebHistoryItem &item);
|
||||
void loadHistoryItem(const QWebEngineHistoryItem &item);
|
||||
void loadHistoryItemInNewTab(const QWebEngineHistoryItem &item);
|
||||
|
||||
BrowserWindow* m_window;
|
||||
|
||||
|
@ -36,7 +36,9 @@
|
||||
#include <QStringListModel>
|
||||
#include <QMenu>
|
||||
#include <QTimer>
|
||||
#include <QWebFrame>
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebEngineFrame>
|
||||
#endif
|
||||
#include <QClipboard>
|
||||
#include <QContextMenuEvent>
|
||||
|
||||
@ -217,8 +219,10 @@ void WebSearchBar::searchInNewTab()
|
||||
|
||||
void WebSearchBar::completeMenuWithAvailableEngines(QMenu* menu)
|
||||
{
|
||||
Q_UNUSED(menu)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
WebView* view = m_window->weView();
|
||||
QWebFrame* frame = view->page()->mainFrame();
|
||||
QWebEngineFrame* frame = view->page()->mainFrame();
|
||||
|
||||
QWebElementCollection elements = frame->documentElement().findAll(QLatin1String("link[rel=search]"));
|
||||
foreach (const QWebElement &element, elements) {
|
||||
@ -237,6 +241,7 @@ void WebSearchBar::completeMenuWithAvailableEngines(QMenu* menu)
|
||||
|
||||
menu->addAction(view->icon(), tr("Add %1 ...").arg(title), this, SLOT(addEngineFromAction()))->setData(url);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebSearchBar::addEngineFromAction()
|
||||
|
@ -27,6 +27,8 @@
|
||||
#include <QNetworkReply>
|
||||
#include <QFile>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
CaBundleUpdater::CaBundleUpdater(NetworkManager* manager, QObject* parent)
|
||||
: QObject(parent)
|
||||
, m_manager(manager)
|
||||
@ -146,3 +148,5 @@ void CaBundleUpdater::replyFinished()
|
||||
mApp->networkManager()->loadSettings();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,8 @@
|
||||
#ifndef CABUNDLEUPDATER_H
|
||||
#define CABUNDLEUPDATER_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "qzcommon.h"
|
||||
@ -54,4 +56,6 @@ private:
|
||||
int m_latestBundleVersion;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // CABUNDLEUPDATER_H
|
||||
|
@ -54,6 +54,8 @@
|
||||
#include <QAuthenticator>
|
||||
#include <QDirIterator>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
static QString fileNameForCert(const QSslCertificate &cert)
|
||||
{
|
||||
QString certFileName = CertificateInfoWidget::certificateItemText(cert);
|
||||
@ -74,8 +76,6 @@ NetworkManager::NetworkManager(QObject* parent)
|
||||
, m_ignoreAllWarnings(false)
|
||||
, m_disableWeakCiphers(true)
|
||||
{
|
||||
connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), this, SLOT(authentication(QNetworkReply*,QAuthenticator*)));
|
||||
connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), this, SLOT(proxyAuthentication(QNetworkProxy,QAuthenticator*)));
|
||||
connect(this, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(sslError(QNetworkReply*,QList<QSslError>)));
|
||||
connect(this, SIGNAL(finished(QNetworkReply*)), this, SLOT(setSSLConfiguration(QNetworkReply*)));
|
||||
|
||||
@ -341,7 +341,7 @@ void NetworkManager::authentication(QNetworkReply* reply, QAuthenticator* auth)
|
||||
}
|
||||
|
||||
// Try to set the originating WebTab as a current tab
|
||||
QWebFrame* frame = qobject_cast<QWebFrame*>(reply->request().originatingObject());
|
||||
QWebEngineFrame* frame = qobject_cast<QWebEngineFrame*>(reply->request().originatingObject());
|
||||
if (frame) {
|
||||
WebPage* page = qobject_cast<WebPage*>(frame->page());
|
||||
if (page) {
|
||||
@ -462,63 +462,6 @@ void NetworkManager::ftpAuthentication(const QUrl &url, QAuthenticator* auth)
|
||||
}
|
||||
}
|
||||
|
||||
void NetworkManager::proxyAuthentication(const QNetworkProxy &proxy, QAuthenticator* auth)
|
||||
{
|
||||
QString userName;
|
||||
QString password;
|
||||
QVector<PasswordEntry> psws = mApp->autoFill()->getFormData(QUrl(proxy.hostName()));
|
||||
|
||||
if (psws.isEmpty()) {
|
||||
QDialog* dialog = new QDialog();
|
||||
dialog->setWindowTitle(tr("Proxy authorisation required"));
|
||||
|
||||
QFormLayout* formLa = new QFormLayout(dialog);
|
||||
|
||||
QLabel* label = new QLabel(dialog);
|
||||
QLabel* userLab = new QLabel(dialog);
|
||||
QLabel* passLab = new QLabel(dialog);
|
||||
userLab->setText(tr("Username: "));
|
||||
passLab->setText(tr("Password: "));
|
||||
|
||||
QLineEdit* user = new QLineEdit(dialog);
|
||||
QLineEdit* pass = new QLineEdit(dialog);
|
||||
pass->setEchoMode(QLineEdit::Password);
|
||||
|
||||
QDialogButtonBox* box = new QDialogButtonBox(dialog);
|
||||
box->addButton(QDialogButtonBox::Ok);
|
||||
box->addButton(QDialogButtonBox::Cancel);
|
||||
connect(box, SIGNAL(rejected()), dialog, SLOT(reject()));
|
||||
connect(box, SIGNAL(accepted()), dialog, SLOT(accept()));
|
||||
|
||||
QCheckBox* rememberCheck = new QCheckBox(tr("Remember username and password for this proxy."), dialog);
|
||||
|
||||
label->setText(tr("A username and password are being requested by proxy %1. ").arg(proxy.hostName()));
|
||||
formLa->addRow(label);
|
||||
formLa->addRow(userLab, user);
|
||||
formLa->addRow(passLab, pass);
|
||||
formLa->addRow(rememberCheck);
|
||||
formLa->addWidget(box);
|
||||
|
||||
if (dialog->exec() != QDialog::Accepted) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (rememberCheck->isChecked()) {
|
||||
mApp->autoFill()->addEntry(QUrl(proxy.hostName()), user->text(), pass->text());
|
||||
}
|
||||
|
||||
userName = user->text();
|
||||
password = pass->text();
|
||||
}
|
||||
else {
|
||||
userName = psws.at(0).username;
|
||||
password = psws.at(0).password;
|
||||
}
|
||||
|
||||
auth->setUser(userName);
|
||||
auth->setPassword(password);
|
||||
}
|
||||
|
||||
QNetworkReply* NetworkManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice* outgoingData)
|
||||
{
|
||||
if (op == PostOperation && outgoingData) {
|
||||
@ -775,3 +718,5 @@ void NetworkManager::loadCertificates()
|
||||
new CaBundleUpdater(this, this);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,8 @@
|
||||
#ifndef NETWORKMANAGER_H
|
||||
#define NETWORKMANAGER_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QSslError>
|
||||
#include <QStringList>
|
||||
|
||||
@ -64,9 +66,7 @@ signals:
|
||||
void sslDialogClosed();
|
||||
|
||||
private slots:
|
||||
void authentication(QNetworkReply* reply, QAuthenticator* auth);
|
||||
void ftpAuthentication(const QUrl &url, QAuthenticator* auth);
|
||||
void proxyAuthentication(const QNetworkProxy &proxy, QAuthenticator* auth);
|
||||
void sslError(QNetworkReply* reply, QList<QSslError> errors);
|
||||
void setSSLConfiguration(QNetworkReply* reply);
|
||||
|
||||
@ -90,4 +90,6 @@ private:
|
||||
bool m_sendReferer;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // NETWORKMANAGER_H
|
||||
|
@ -23,6 +23,8 @@
|
||||
|
||||
#include <QNetworkRequest>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
NetworkManagerProxy::NetworkManagerProxy(QObject* parent)
|
||||
: QNetworkAccessManager(parent)
|
||||
, m_page(0)
|
||||
@ -57,3 +59,5 @@ QNetworkReply* NetworkManagerProxy::createRequest(QNetworkAccessManager::Operati
|
||||
|
||||
return QNetworkAccessManager::createRequest(op, request, outgoingData);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,8 @@
|
||||
#ifndef NETWORKMANAGERPROXY_H
|
||||
#define NETWORKMANAGERPROXY_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QNetworkAccessManager>
|
||||
|
||||
#include "qzcommon.h"
|
||||
@ -40,4 +42,6 @@ private:
|
||||
NetworkManager* m_manager;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // NETWORKMANAGERPROXY_H
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "iconprovider.h"
|
||||
#include "mainapplication.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebSecurityOrigin>
|
||||
#include <QFileIconProvider>
|
||||
#include <QDateTime>
|
||||
@ -576,3 +577,5 @@ void FtpDownloader::onDone(bool err)
|
||||
emit finished();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -24,6 +24,8 @@
|
||||
#include <QNetworkReply>
|
||||
#include <QBuffer>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#if QT_VERSION >= 0x050000
|
||||
#include "qftp.h"
|
||||
#include "qurlinfo.h"
|
||||
@ -128,4 +130,6 @@ signals:
|
||||
void finished();
|
||||
void errorOccured(QFtp::Error);
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // FTPSCHEMEHANDLER_H
|
||||
|
@ -28,6 +28,8 @@
|
||||
#include "datapaths.h"
|
||||
#include "iconprovider.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QTextStream>
|
||||
#include <QTimer>
|
||||
#include <QSettings>
|
||||
@ -36,7 +38,7 @@
|
||||
#if QT_VERSION < 0x050000
|
||||
#include "qwebkitversion.h"
|
||||
#else
|
||||
#include <QWebPage>
|
||||
#include <QWebEnginePage>
|
||||
#endif
|
||||
|
||||
static QString authorString(const char* name, const QString &mail)
|
||||
@ -499,3 +501,5 @@ QString QupZillaSchemeReply::configPage()
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -21,6 +21,8 @@
|
||||
#include <QNetworkReply>
|
||||
#include <QBuffer>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include "schemehandler.h"
|
||||
#include "qzcommon.h"
|
||||
|
||||
@ -60,4 +62,6 @@ private:
|
||||
QString m_pageName;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // QUPZILLASCHEMEHANDLER_H
|
||||
|
@ -29,7 +29,6 @@
|
||||
|
||||
#include <QNetworkReply>
|
||||
#include <QMessageBox>
|
||||
#include <QWebElement>
|
||||
#include <QSqlQuery>
|
||||
#include <QBuffer>
|
||||
|
||||
@ -261,6 +260,7 @@ void SearchEnginesManager::addEngine(const Engine &engine)
|
||||
|
||||
void SearchEnginesManager::addEngineFromForm(const QWebElement &element, WebView* view)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElement formElement = element.parent();
|
||||
|
||||
while (!formElement.isNull()) {
|
||||
@ -362,6 +362,7 @@ void SearchEnginesManager::addEngineFromForm(const QWebElement &element, WebView
|
||||
}
|
||||
|
||||
addEngine(engine);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SearchEnginesManager::addEngine(OpenSearchEngine* engine)
|
||||
|
@ -26,7 +26,7 @@
|
||||
#if QT_VERSION < 0x050000
|
||||
#include "qwebkitversion.h"
|
||||
#else
|
||||
#include <QWebPage>
|
||||
#include <QWebEnginePage>
|
||||
#endif
|
||||
|
||||
AboutDialog::AboutDialog(QWidget* parent)
|
||||
@ -75,11 +75,15 @@ void AboutDialog::showAbout()
|
||||
Qz::VERSION
|
||||
#endif
|
||||
);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
m_aboutHtml += tr("<b>WebKit version %1</b></p>").arg(qWebKitVersion());
|
||||
#endif
|
||||
m_aboutHtml += QString("<p>© %1 %2<br/>").arg(Qz::COPYRIGHT, Qz::AUTHOR);
|
||||
m_aboutHtml += tr("<small>Build time: %1 </small></p>").arg(Qz::BUILDTIME);
|
||||
m_aboutHtml += QString("<p><a href=%1>%1</a></p>").arg(Qz::WWWADDRESS);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
m_aboutHtml += "<p>" + (mApp->windowCount() > 0 ? mApp->getWindow()->weView()->page()->userAgentForUrl(QUrl()) : QString()) + "</p>";
|
||||
#endif
|
||||
m_aboutHtml += "</div></center>";
|
||||
}
|
||||
ui->textBrowser->setHtml(m_aboutHtml);
|
||||
|
@ -34,7 +34,6 @@ BrowsingLibrary::BrowsingLibrary(BrowserWindow* window, QWidget* parent)
|
||||
, ui(new Ui::BrowsingLibrary)
|
||||
, m_historyManager(new HistoryManager(window))
|
||||
, m_bookmarksManager(new BookmarksManager(window))
|
||||
, m_rssManager(mApp->rssManager())
|
||||
, m_rssLoaded(false)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
@ -49,7 +48,6 @@ BrowsingLibrary::BrowsingLibrary(BrowserWindow* window, QWidget* parent)
|
||||
|
||||
ui->tabs->AddTab(m_historyManager, QIcon(":/icons/other/bighistory.png"), tr("History"));
|
||||
ui->tabs->AddTab(m_bookmarksManager, QIcon(":/icons/other/bigstar.png"), tr("Bookmarks"));
|
||||
ui->tabs->AddTab(m_rssManager, QIcon(":/icons/other/feed.png"), tr("RSS"));
|
||||
ui->tabs->SetMode(FancyTabWidget::Mode_LargeSidebar);
|
||||
ui->tabs->setFocus();
|
||||
|
||||
@ -79,7 +77,6 @@ void BrowsingLibrary::currentIndexChanged(int index)
|
||||
|
||||
case 2:
|
||||
if (!m_rssLoaded) {
|
||||
m_rssManager->refreshTable();
|
||||
m_rssLoaded = true;
|
||||
}
|
||||
ui->searchLine->hide();
|
||||
@ -134,6 +131,7 @@ void BrowsingLibrary::showBookmarks(BrowserWindow* window)
|
||||
|
||||
void BrowsingLibrary::showRSS(BrowserWindow* window)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
ui->tabs->SetCurrentIndex(2);
|
||||
show();
|
||||
m_rssManager->setMainWindow(window);
|
||||
@ -145,6 +143,7 @@ void BrowsingLibrary::showRSS(BrowserWindow* window)
|
||||
|
||||
raise();
|
||||
activateWindow();
|
||||
#endif
|
||||
}
|
||||
|
||||
void BrowsingLibrary::closeEvent(QCloseEvent* e)
|
||||
@ -155,10 +154,6 @@ void BrowsingLibrary::closeEvent(QCloseEvent* e)
|
||||
settings.setValue("historyState", m_historyManager->saveState());
|
||||
settings.endGroup();
|
||||
e->accept();
|
||||
|
||||
// Saves a few megabytes
|
||||
m_rssManager->deleteAllTabs();
|
||||
m_rssLoaded = false;
|
||||
}
|
||||
|
||||
void BrowsingLibrary::keyPressEvent(QKeyEvent* e)
|
||||
|
@ -33,8 +33,10 @@
|
||||
|
||||
#include <QNetworkCookie>
|
||||
#include <QMessageBox>
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebDatabase>
|
||||
#include <QWebSettings>
|
||||
#endif
|
||||
#include <QWebEngineSettings>
|
||||
#include <QNetworkDiskCache>
|
||||
#include <QDateTime>
|
||||
#include <QSqlQuery>
|
||||
@ -78,21 +80,27 @@ void ClearPrivateData::clearWebDatabases()
|
||||
{
|
||||
const QString profile = DataPaths::currentProfilePath();
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebDatabase::removeAllDatabases();
|
||||
#endif
|
||||
QzTools::removeDir(profile + "/Databases");
|
||||
}
|
||||
|
||||
void ClearPrivateData::clearCache()
|
||||
{
|
||||
mApp->networkCache()->clear();
|
||||
QWebSettings::globalSettings()->clearMemoryCaches();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineSettings::globalSettings()->clearMemoryCaches();
|
||||
#endif
|
||||
|
||||
QFile::remove(DataPaths::currentProfilePath() + "/ApplicationCache.db");
|
||||
}
|
||||
|
||||
void ClearPrivateData::clearIcons()
|
||||
{
|
||||
QWebSettings::globalSettings()->clearIconDatabase();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineSettings::globalSettings()->clearIconDatabase();
|
||||
#endif
|
||||
IconProvider::instance()->clearIconsDatabase();
|
||||
}
|
||||
|
||||
|
@ -331,9 +331,9 @@ void MacMenuReceiver::quitApp()
|
||||
}
|
||||
}
|
||||
|
||||
void MacMenuReceiver::printPage(QWebFrame* frame)
|
||||
void MacMenuReceiver::printPage(QWebEngineFrame* frame)
|
||||
{
|
||||
callSlot("printPage", false, Q_ARG(QWebFrame*, frame));
|
||||
callSlot("printPage", false, Q_ARG(QWebEngineFrame*, frame));
|
||||
}
|
||||
|
||||
void MacMenuReceiver::showBookmarksToolbar()
|
||||
@ -341,9 +341,9 @@ void MacMenuReceiver::showBookmarksToolbar()
|
||||
callSlot("showBookmarksToolbar");
|
||||
}
|
||||
|
||||
void MacMenuReceiver::showSource(QWebFrame* frame, const QString &selectedHtml)
|
||||
void MacMenuReceiver::showSource(QWebEngineFrame* frame, const QString &selectedHtml)
|
||||
{
|
||||
callSlot("showSource", false, Q_ARG(QWebFrame*, frame), Q_ARG(const QString &, selectedHtml));
|
||||
callSlot("showSource", false, Q_ARG(QWebEngineFrame*, frame), Q_ARG(const QString &, selectedHtml));
|
||||
}
|
||||
|
||||
void MacMenuReceiver::bookmarkPage()
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
class QWebFrame;
|
||||
class QWebEngineFrame;
|
||||
class Menu;
|
||||
class QMenu;
|
||||
class QAction;
|
||||
@ -127,9 +127,9 @@ private slots:
|
||||
void closeWindow();
|
||||
void quitApp();
|
||||
|
||||
void printPage(QWebFrame* frame = 0);
|
||||
void printPage(QWebEngineFrame* frame = 0);
|
||||
void showBookmarksToolbar();
|
||||
void showSource(QWebFrame* frame = 0, const QString &selectedHtml = QString());
|
||||
void showSource(QWebEngineFrame* frame = 0, const QString &selectedHtml = QString());
|
||||
void bookmarkPage();
|
||||
void showPageInfo();
|
||||
void showWebInspector(bool toggle = true);
|
||||
|
@ -23,9 +23,11 @@
|
||||
#include "browserwindow.h"
|
||||
#include "settings.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QWebFrame>
|
||||
#include <QWebEngineFrame>
|
||||
#include <QLabel>
|
||||
#include <QTimer>
|
||||
#include <QMovie>
|
||||
@ -191,7 +193,7 @@ void PageScreen::saveAsDocument(const QString &format)
|
||||
|
||||
void PageScreen::createThumbnail()
|
||||
{
|
||||
QWebPage* page = m_view->page();
|
||||
QWebEnginePage* page = m_view->page();
|
||||
|
||||
const int heightLimit = 20000;
|
||||
const QPoint originalScrollPosition = page->mainFrame()->scrollPosition();
|
||||
@ -275,3 +277,5 @@ PageScreen::~PageScreen()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -23,6 +23,8 @@
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class PageScreen;
|
||||
@ -63,4 +65,6 @@ private:
|
||||
QStringList m_formats;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // PAGESCREEN_H
|
||||
|
@ -26,11 +26,13 @@
|
||||
#include "qztools.h"
|
||||
#include "iconprovider.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QMenu>
|
||||
#include <QMessageBox>
|
||||
#include <QFileDialog>
|
||||
#include <QNetworkDiskCache>
|
||||
#include <QWebFrame>
|
||||
#include <QWebEngineFrame>
|
||||
#include <QClipboard>
|
||||
#include <QWebSecurityOrigin>
|
||||
#include <QWebDatabase>
|
||||
@ -66,7 +68,7 @@ SiteInfo::SiteInfo(WebView* view, QWidget* parent)
|
||||
ui->listWidget->item(0)->setSelected(true);
|
||||
|
||||
WebPage* webPage = view->page();
|
||||
QWebFrame* frame = view->page()->mainFrame();
|
||||
QWebEngineFrame* frame = view->page()->mainFrame();
|
||||
QString title = view->title();
|
||||
QSslCertificate cert = webPage->sslCertificate();
|
||||
m_baseUrl = frame->baseUrl();
|
||||
@ -103,7 +105,7 @@ SiteInfo::SiteInfo(WebView* view, QWidget* parent)
|
||||
ui->treeTags->addTopLevelItem(item);
|
||||
}
|
||||
if (encoding.isEmpty()) {
|
||||
encoding = QWebSettings::globalSettings()->defaultTextEncoding();
|
||||
encoding = QWebEngineSettings::globalSettings()->defaultTextEncoding();
|
||||
}
|
||||
ui->encodingLabel->setText(encoding.toUpper());
|
||||
|
||||
@ -298,3 +300,5 @@ SiteInfo::~SiteInfo()
|
||||
delete ui;
|
||||
delete m_certWidget;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -23,6 +23,8 @@
|
||||
#include <QDialog>
|
||||
#include <QUrl>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class SiteInfo;
|
||||
@ -62,4 +64,6 @@ private:
|
||||
QUrl m_baseUrl;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // SITEINFO_H
|
||||
|
@ -29,10 +29,11 @@
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QInputDialog>
|
||||
#include <QWebFrame>
|
||||
#include <QTimer>
|
||||
|
||||
SourceViewer::SourceViewer(QWebFrame* frame, const QString &selectedHtml)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
SourceViewer::SourceViewer(QWebEngineFrame* frame, const QString &selectedHtml)
|
||||
: QWidget(0)
|
||||
, m_frame(frame)
|
||||
, m_selectedHtml(selectedHtml)
|
||||
@ -231,3 +232,5 @@ void SourceViewer::goToLine()
|
||||
|
||||
m_sourceEdit->goToLine(line);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,8 @@
|
||||
#ifndef SOURCEVIEWER_H
|
||||
#define SOURCEVIEWER_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QWidget>
|
||||
#include <QPointer>
|
||||
|
||||
@ -27,13 +29,13 @@ class PlainEditWithLines;
|
||||
|
||||
class QBoxLayout;
|
||||
class QStatusBar;
|
||||
class QWebFrame;
|
||||
class QWebEngineFrame;
|
||||
|
||||
class QUPZILLA_EXPORT SourceViewer : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit SourceViewer(QWebFrame* frame, const QString &selectedHtml);
|
||||
explicit SourceViewer(QWebEngineFrame* frame, const QString &selectedHtml);
|
||||
PlainEditWithLines* sourceEdit() { return m_sourceEdit; }
|
||||
|
||||
private slots:
|
||||
@ -54,7 +56,7 @@ private slots:
|
||||
private:
|
||||
QBoxLayout* m_layout;
|
||||
PlainEditWithLines* m_sourceEdit;
|
||||
QPointer<QWebFrame> m_frame;
|
||||
QPointer<QWebEngineFrame> m_frame;
|
||||
QStatusBar* m_statusBar;
|
||||
|
||||
QString m_selectedHtml;
|
||||
@ -66,4 +68,6 @@ private:
|
||||
QAction* m_actionPaste;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // SOURCEVIEWER_H
|
||||
|
@ -24,6 +24,8 @@
|
||||
#include <QShortcut>
|
||||
#include <QKeyEvent>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
SourceViewerSearch::SourceViewerSearch(SourceViewer* parent)
|
||||
: AnimatedWidget(AnimatedWidget::Up)
|
||||
, m_sourceViewer(parent)
|
||||
@ -132,3 +134,5 @@ bool SourceViewerSearch::eventFilter(QObject* obj, QEvent* event)
|
||||
|
||||
return AnimatedWidget::eventFilter(obj, event);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -23,6 +23,8 @@
|
||||
#include "qzcommon.h"
|
||||
#include "animatedwidget.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class SourceViewerSearch;
|
||||
@ -59,4 +61,6 @@ private:
|
||||
QTextDocument::FindFlags m_findFlags;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // SOURCEVIEWERSEARCH_H
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include <QStatusBar>
|
||||
#include <QToolTip>
|
||||
#include <QStylePainter>
|
||||
#include <QWebFrame>
|
||||
#include <QTimer>
|
||||
|
||||
TipLabel::TipLabel(QWidget* parent)
|
||||
@ -125,18 +124,22 @@ void StatusBarMessage::showMessage(const QString &message)
|
||||
else {
|
||||
#endif
|
||||
WebView* view = m_window->weView();
|
||||
QWebFrame* mainFrame = view->page()->mainFrame();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineFrame* mainFrame = view->page()->mainFrame();
|
||||
#endif
|
||||
|
||||
int horizontalScrollSize = 0;
|
||||
int verticalScrollSize = 0;
|
||||
const int scrollbarSize = m_window->style()->pixelMetric(QStyle::PM_ScrollBarExtent);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (mainFrame->scrollBarMaximum(Qt::Horizontal)) {
|
||||
horizontalScrollSize = scrollbarSize;
|
||||
}
|
||||
if (mainFrame->scrollBarMaximum(Qt::Vertical)) {
|
||||
verticalScrollSize = scrollbarSize;
|
||||
}
|
||||
#endif
|
||||
|
||||
m_statusBarText->setText(message);
|
||||
m_statusBarText->setMaximumWidth(view->width() - verticalScrollSize);
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "qztools.h"
|
||||
#include "settings.h"
|
||||
|
||||
#include <QWebPage> // QTWEBKIT_VERSION_CHECK macro
|
||||
#include <QWebEnginePage> // QTWEBKIT_VERSION_CHECK macro
|
||||
|
||||
UserAgentManager::UserAgentManager(QObject* parent)
|
||||
: QObject(parent)
|
||||
|
@ -51,8 +51,10 @@
|
||||
#include <QFormLayout>
|
||||
#include <QMenu>
|
||||
#include <QTimer>
|
||||
#include <QWebView>
|
||||
#include <QWebEngineView>
|
||||
#include <QNetworkRequest>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebHitTestResult>
|
||||
|
||||
QUrl ClickToFlash::acceptedUrl;
|
||||
@ -152,9 +154,9 @@ void ClickToFlash::findElement()
|
||||
}
|
||||
|
||||
QWidget* parent = parentWidget();
|
||||
QWebView* view = 0;
|
||||
QWebEngineView* view = 0;
|
||||
while (parent) {
|
||||
if (QWebView* aView = qobject_cast<QWebView*>(parent)) {
|
||||
if (QWebEngineView* aView = qobject_cast<QWebEngineView*>(parent)) {
|
||||
view = aView;
|
||||
break;
|
||||
}
|
||||
@ -165,7 +167,7 @@ void ClickToFlash::findElement()
|
||||
}
|
||||
|
||||
QPoint objectPos = view->mapFromGlobal(m_toolButton->mapToGlobal(m_toolButton->pos()));
|
||||
QWebFrame* objectFrame = view->page()->frameAt(objectPos);
|
||||
QWebEngineFrame* objectFrame = view->page()->frameAt(objectPos);
|
||||
QWebHitTestResult hitResult;
|
||||
QWebElement hitElement;
|
||||
|
||||
@ -183,12 +185,12 @@ void ClickToFlash::findElement()
|
||||
// HitTestResult failed, trying to find element by src
|
||||
// attribute in elements at all frames on page (less accurate)
|
||||
|
||||
QList<QWebFrame*> frames;
|
||||
QList<QWebEngineFrame*> frames;
|
||||
frames.append(objectFrame);
|
||||
frames.append(view->page()->mainFrame());
|
||||
|
||||
while (!frames.isEmpty()) {
|
||||
QWebFrame* frame = frames.takeFirst();
|
||||
QWebEngineFrame* frame = frames.takeFirst();
|
||||
if (!frame) {
|
||||
continue;
|
||||
}
|
||||
@ -320,3 +322,5 @@ void ClickToFlash::showInfo()
|
||||
QzTools::centerWidgetToParent(widg, m_page->view());
|
||||
widg->show();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -42,6 +42,8 @@
|
||||
#ifndef CLICKTOFLASH_H
|
||||
#define CLICKTOFLASH_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
// Qt Includes
|
||||
@ -98,5 +100,7 @@ private:
|
||||
WebPage* m_page;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // CLICKTOFLASH_H
|
||||
|
||||
|
@ -21,7 +21,11 @@
|
||||
#include <QPixmap>
|
||||
#include <QtPlugin>
|
||||
#include <QNetworkRequest>
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebHitTestResult>
|
||||
#endif
|
||||
|
||||
#include <QNetworkAccessManager>
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
Plugins::Plugins(QObject* parent)
|
||||
: QObject(parent)
|
||||
, m_pluginsLoaded(false)
|
||||
, m_speedDial(new SpeedDial(this))
|
||||
//, m_speedDial(new SpeedDial(this))
|
||||
{
|
||||
loadSettings();
|
||||
}
|
||||
|
@ -22,11 +22,13 @@
|
||||
#include "qztools.h"
|
||||
#include "autosaver.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QDir>
|
||||
#include <QCryptographicHash>
|
||||
#include <QFileDialog>
|
||||
#include <QWebFrame>
|
||||
#include <QWebPage>
|
||||
#include <QWebEngineFrame>
|
||||
#include <QWebEnginePage>
|
||||
#include <QImage>
|
||||
|
||||
#define ENSURE_LOADED if (!m_loaded) loadSettings();
|
||||
@ -124,7 +126,7 @@ QUrl SpeedDial::urlForShortcut(int key)
|
||||
return QUrl::fromEncoded(m_webPages.at(key).url.toUtf8());
|
||||
}
|
||||
|
||||
void SpeedDial::addWebFrame(QWebFrame* frame)
|
||||
void SpeedDial::addWebFrame(QWebEngineFrame* frame)
|
||||
{
|
||||
if (!m_webFrames.contains(frame)) {
|
||||
m_webFrames.append(frame);
|
||||
@ -146,8 +148,8 @@ void SpeedDial::addPage(const QUrl &url, const QString &title)
|
||||
m_webPages.append(page);
|
||||
m_regenerateScript = true;
|
||||
|
||||
foreach (QWebFrame* frame, cleanFrames()) {
|
||||
frame->page()->triggerAction(QWebPage::Reload);
|
||||
foreach (QWebEngineFrame* frame, cleanFrames()) {
|
||||
frame->page()->triggerAction(QWebEnginePage::Reload);
|
||||
}
|
||||
|
||||
emit pagesChanged();
|
||||
@ -165,8 +167,8 @@ void SpeedDial::removePage(const Page &page)
|
||||
m_webPages.removeAll(page);
|
||||
m_regenerateScript = true;
|
||||
|
||||
foreach (QWebFrame* frame, cleanFrames()) {
|
||||
frame->page()->triggerAction(QWebPage::Reload);
|
||||
foreach (QWebEngineFrame* frame, cleanFrames()) {
|
||||
frame->page()->triggerAction(QWebEnginePage::Reload);
|
||||
}
|
||||
|
||||
emit pagesChanged();
|
||||
@ -361,7 +363,7 @@ void SpeedDial::thumbnailCreated(const QPixmap &pixmap)
|
||||
m_regenerateScript = true;
|
||||
|
||||
cleanFrames();
|
||||
foreach (QWebFrame* frame, cleanFrames()) {
|
||||
foreach (QWebEngineFrame* frame, cleanFrames()) {
|
||||
frame->evaluateJavaScript(QString("setImageToUrl('%1', '%2');").arg(escapeUrl(url), escapeTitle(fileName)));
|
||||
if (loadTitle) {
|
||||
frame->evaluateJavaScript(QString("setTitleToUrl('%1', '%2');").arg(escapeUrl(url), escapeTitle(title)));
|
||||
@ -413,3 +415,5 @@ QString SpeedDial::generateAllPages()
|
||||
|
||||
return allPages;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,13 +18,15 @@
|
||||
#ifndef SPEEDDIAL_H
|
||||
#define SPEEDDIAL_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QObject>
|
||||
#include <QPointer>
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
class QUrl;
|
||||
class QWebFrame;
|
||||
class QWebEngineFrame;
|
||||
class QPixmap;
|
||||
|
||||
class AutoSaver;
|
||||
@ -52,7 +54,7 @@ public:
|
||||
Page pageForUrl(const QUrl &url);
|
||||
QUrl urlForShortcut(int key);
|
||||
|
||||
void addWebFrame(QWebFrame* frame);
|
||||
void addWebFrame(QWebEngineFrame* frame);
|
||||
void addPage(const QUrl &url, const QString &title);
|
||||
void removePage(const Page &page);
|
||||
|
||||
@ -88,7 +90,7 @@ private:
|
||||
QString escapeTitle(QString string) const;
|
||||
QString escapeUrl(QString url) const;
|
||||
|
||||
QList<QWebFrame*> cleanFrames();
|
||||
QList<QWebEngineFrame*> cleanFrames();
|
||||
QString generateAllPages();
|
||||
|
||||
QString m_initialScript;
|
||||
@ -107,4 +109,6 @@ private:
|
||||
bool m_regenerateScript;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // SPEEDDIAL_H
|
||||
|
@ -55,7 +55,6 @@ PopupLocationBar::PopupLocationBar(QWidget* parent)
|
||||
m_siteIcon->setFixedSize(26, 26);
|
||||
|
||||
m_bookmarkIcon = new BookmarksIcon(this);
|
||||
m_rssIcon = new RssIcon(this);
|
||||
m_autofillIcon = new AutoFillIcon(this);
|
||||
|
||||
m_loadingAnimation = new QLabel(this);
|
||||
@ -69,7 +68,6 @@ PopupLocationBar::PopupLocationBar(QWidget* parent)
|
||||
addWidget(m_siteIcon, LineEdit::LeftSide);
|
||||
addWidget(m_autofillIcon, LineEdit::RightSide);
|
||||
addWidget(m_bookmarkIcon, LineEdit::RightSide);
|
||||
addWidget(m_rssIcon, LineEdit::RightSide);
|
||||
addWidget(m_loadingAnimation, LineEdit::RightSide);
|
||||
addWidget(rightSpacer, LineEdit::RightSide);
|
||||
setLeftMargin(20);
|
||||
@ -78,7 +76,6 @@ PopupLocationBar::PopupLocationBar(QWidget* parent)
|
||||
setReadOnly(true);
|
||||
|
||||
// Hide icons by default
|
||||
m_rssIcon->hide();
|
||||
m_autofillIcon->hide();
|
||||
}
|
||||
|
||||
@ -87,7 +84,6 @@ void PopupLocationBar::setView(PopupWebView* view)
|
||||
m_view = view;
|
||||
|
||||
m_bookmarkIcon->setWebView(m_view);
|
||||
m_rssIcon->setWebView(m_view);
|
||||
m_autofillIcon->setWebView(m_view);
|
||||
|
||||
connect(m_view, SIGNAL(rssChanged(bool)), this, SLOT(showRSSIcon(bool)));
|
||||
@ -133,7 +129,5 @@ void PopupLocationBar::showSiteIcon()
|
||||
|
||||
void PopupLocationBar::showRSSIcon(bool state)
|
||||
{
|
||||
m_rssIcon->setVisible(state);
|
||||
|
||||
updateTextMargins();
|
||||
}
|
||||
|
@ -24,7 +24,6 @@
|
||||
|
||||
#include <QStatusBar>
|
||||
#include <QStyle>
|
||||
#include <QWebFrame>
|
||||
|
||||
PopupStatusBarMessage::PopupStatusBarMessage(PopupWindow* window)
|
||||
: m_popupWindow(window)
|
||||
@ -43,18 +42,22 @@ void PopupStatusBarMessage::showMessage(const QString &message)
|
||||
else {
|
||||
#endif
|
||||
PopupWebView* view = m_popupWindow->webView();
|
||||
QWebFrame* mainFrame = view->page()->mainFrame();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineFrame* mainFrame = view->page()->mainFrame();
|
||||
#endif
|
||||
|
||||
int horizontalScrollSize = 0;
|
||||
int verticalScrollSize = 0;
|
||||
const int scrollbarSize = m_popupWindow->style()->pixelMetric(QStyle::PM_ScrollBarExtent);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (mainFrame->scrollBarMaximum(Qt::Horizontal)) {
|
||||
horizontalScrollSize = scrollbarSize;
|
||||
}
|
||||
if (mainFrame->scrollBarMaximum(Qt::Vertical)) {
|
||||
verticalScrollSize = scrollbarSize;
|
||||
}
|
||||
#endif
|
||||
|
||||
m_statusBarText->setText(message);
|
||||
m_statusBarText->setMaximumWidth(view->width() - verticalScrollSize);
|
||||
|
@ -31,7 +31,7 @@
|
||||
//
|
||||
// Got an idea how to determine it from kWebKitPart.
|
||||
|
||||
PopupWebPage::PopupWebPage(QWebPage::WebWindowType type, BrowserWindow* window)
|
||||
PopupWebPage::PopupWebPage(QWebEnginePage::WebWindowType type, BrowserWindow* window)
|
||||
: WebPage()
|
||||
, m_window(window)
|
||||
, m_type(type)
|
||||
@ -43,9 +43,11 @@ PopupWebPage::PopupWebPage(QWebPage::WebWindowType type, BrowserWindow* window)
|
||||
, m_progress(0)
|
||||
{
|
||||
connect(this, SIGNAL(geometryChangeRequested(QRect)), this, SLOT(slotGeometryChangeRequested(QRect)));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
connect(this, SIGNAL(menuBarVisibilityChangeRequested(bool)), this, SLOT(slotMenuBarVisibilityChangeRequested(bool)));
|
||||
connect(this, SIGNAL(toolBarVisibilityChangeRequested(bool)), this, SLOT(slotToolBarVisibilityChangeRequested(bool)));
|
||||
connect(this, SIGNAL(statusBarVisibilityChangeRequested(bool)), this, SLOT(slotStatusBarVisibilityChangeRequested(bool)));
|
||||
#endif
|
||||
|
||||
connect(this, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()));
|
||||
connect(this, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int)));
|
||||
|
@ -45,7 +45,7 @@ private slots:
|
||||
|
||||
private:
|
||||
BrowserWindow* m_window;
|
||||
QWebPage::WebWindowType m_type;
|
||||
QWebEnginePage::WebWindowType m_type;
|
||||
bool m_createNewWindow;
|
||||
|
||||
bool m_menuBarVisible;
|
||||
|
@ -25,7 +25,6 @@
|
||||
#include "enhancedmenu.h"
|
||||
#include "loadrequest.h"
|
||||
|
||||
#include <QWebFrame>
|
||||
#include <QContextMenuEvent>
|
||||
|
||||
PopupWebView::PopupWebView(QWidget* parent)
|
||||
@ -94,13 +93,16 @@ void PopupWebView::closeView()
|
||||
|
||||
void PopupWebView::inspectElement()
|
||||
{
|
||||
triggerPageAction(QWebPage::InspectElement);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
triggerPageAction(QWebEnginePage::InspectElement);
|
||||
#endif
|
||||
}
|
||||
|
||||
void PopupWebView::contextMenuEvent(QContextMenuEvent* event)
|
||||
{
|
||||
m_menu->clear();
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QWebHitTestResult hitTest = page()->mainFrame()->hitTestContent(event->pos());
|
||||
|
||||
createContextMenu(m_menu, hitTest, event->pos());
|
||||
@ -115,6 +117,7 @@ void PopupWebView::contextMenuEvent(QContextMenuEvent* event)
|
||||
m_menu->popup(p);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
WebView::contextMenuEvent(event);
|
||||
}
|
||||
|
@ -28,7 +28,6 @@
|
||||
|
||||
#include <QVBoxLayout>
|
||||
#include <QStatusBar>
|
||||
#include <QWebFrame>
|
||||
#include <QCloseEvent>
|
||||
#include <QMenuBar>
|
||||
|
||||
@ -67,14 +66,14 @@ PopupWindow::PopupWindow(PopupWebView* view)
|
||||
m_menuBar->addMenu(menuFile);
|
||||
|
||||
m_menuEdit = new QMenu(tr("Edit"));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebPage::Undo));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebPage::Redo));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebEnginePage::Undo));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebEnginePage::Redo));
|
||||
m_menuEdit->addSeparator();
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebPage::Cut));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebPage::Copy));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebPage::Paste));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebEnginePage::Cut));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebEnginePage::Copy));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebEnginePage::Paste));
|
||||
m_menuEdit->addSeparator();
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebPage::SelectAll));
|
||||
m_menuEdit->addAction(m_view->pageAction(QWebEnginePage::SelectAll));
|
||||
m_menuEdit->addAction(QIcon::fromTheme("edit-find"), tr("Find"), this, SLOT(searchOnPage()))->setShortcut(QKeySequence("Ctrl+F"));
|
||||
m_menuBar->addMenu(m_menuEdit);
|
||||
|
||||
@ -125,9 +124,11 @@ PopupWindow::PopupWindow(PopupWebView* view)
|
||||
titleChanged();
|
||||
|
||||
QUrl urlToShow = m_view->url();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (urlToShow.isEmpty()) {
|
||||
urlToShow = m_view->page()->mainFrame()->requestedUrl();
|
||||
}
|
||||
#endif
|
||||
|
||||
m_locationBar->showUrl(urlToShow);
|
||||
|
||||
@ -212,8 +213,10 @@ void PopupWindow::closeEvent(QCloseEvent* event)
|
||||
|
||||
void PopupWindow::savePageScreen()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
PageScreen* pageScreen = new PageScreen(m_view, this);
|
||||
pageScreen->show();
|
||||
#endif
|
||||
}
|
||||
|
||||
void PopupWindow::searchOnPage()
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include "mainapplication.h"
|
||||
#include "settings.h"
|
||||
|
||||
#include <QWebPage> // QTWEBKIT_VERSION_CHECK macro
|
||||
#include <QWebEnginePage> // QTWEBKIT_VERSION_CHECK macro
|
||||
#include <QFileDialog>
|
||||
|
||||
JsOptions::JsOptions(QWidget* parent)
|
||||
|
@ -364,18 +364,19 @@ Preferences::Preferences(BrowserWindow* window, QWidget* parent)
|
||||
|
||||
//FONTS
|
||||
settings.beginGroup("Browser-Fonts");
|
||||
QWebSettings* webSettings = QWebSettings::globalSettings();
|
||||
ui->fontStandard->setCurrentFont(QFont(settings.value("StandardFont", webSettings->fontFamily(QWebSettings::StandardFont)).toString()));
|
||||
ui->fontCursive->setCurrentFont(QFont(settings.value("CursiveFont", webSettings->fontFamily(QWebSettings::CursiveFont)).toString()));
|
||||
ui->fontFantasy->setCurrentFont(QFont(settings.value("FantasyFont", webSettings->fontFamily(QWebSettings::FantasyFont)).toString()));
|
||||
ui->fontFixed->setCurrentFont(QFont(settings.value("FixedFont", webSettings->fontFamily(QWebSettings::FixedFont)).toString()));
|
||||
ui->fontSansSerif->setCurrentFont(QFont(settings.value("SansSerifFont", webSettings->fontFamily(QWebSettings::SansSerifFont)).toString()));
|
||||
ui->fontSerif->setCurrentFont(QFont(settings.value("SerifFont", webSettings->fontFamily(QWebSettings::SerifFont)).toString()));
|
||||
|
||||
ui->sizeDefault->setValue(settings.value("DefaultFontSize", webSettings->fontSize(QWebSettings::DefaultFontSize)).toInt());
|
||||
ui->sizeFixed->setValue(settings.value("FixedFontSize", webSettings->fontSize(QWebSettings::DefaultFixedFontSize)).toInt());
|
||||
ui->sizeMinimum->setValue(settings.value("MinimumFontSize", webSettings->fontSize(QWebSettings::MinimumFontSize)).toInt());
|
||||
ui->sizeMinimumLogical->setValue(settings.value("MinimumLogicalFontSize", webSettings->fontSize(QWebSettings::MinimumLogicalFontSize)).toInt());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineSettings* webSettings = QWebEngineSettings::globalSettings();
|
||||
ui->fontStandard->setCurrentFont(QFont(settings.value("StandardFont", webSettings->fontFamily(QWebEngineSettings::StandardFont)).toString()));
|
||||
ui->fontCursive->setCurrentFont(QFont(settings.value("CursiveFont", webSettings->fontFamily(QWebEngineSettings::CursiveFont)).toString()));
|
||||
ui->fontFantasy->setCurrentFont(QFont(settings.value("FantasyFont", webSettings->fontFamily(QWebEngineSettings::FantasyFont)).toString()));
|
||||
ui->fontFixed->setCurrentFont(QFont(settings.value("FixedFont", webSettings->fontFamily(QWebEngineSettings::FixedFont)).toString()));
|
||||
ui->fontSansSerif->setCurrentFont(QFont(settings.value("SansSerifFont", webSettings->fontFamily(QWebEngineSettings::SansSerifFont)).toString()));
|
||||
ui->fontSerif->setCurrentFont(QFont(settings.value("SerifFont", webSettings->fontFamily(QWebEngineSettings::SerifFont)).toString()));
|
||||
ui->sizeDefault->setValue(settings.value("DefaultFontSize", webSettings->fontSize(QWebEngineSettings::DefaultFontSize)).toInt());
|
||||
ui->sizeFixed->setValue(settings.value("FixedFontSize", webSettings->fontSize(QWebEngineSettings::DefaultFixedFontSize)).toInt());
|
||||
ui->sizeMinimum->setValue(settings.value("MinimumFontSize", webSettings->fontSize(QWebEngineSettings::MinimumFontSize)).toInt());
|
||||
ui->sizeMinimumLogical->setValue(settings.value("MinimumLogicalFontSize", webSettings->fontSize(QWebEngineSettings::MinimumLogicalFontSize)).toInt());
|
||||
#endif
|
||||
settings.endGroup();
|
||||
|
||||
//KEYBOARD SHORTCUTS
|
||||
@ -780,7 +781,9 @@ void Preferences::changeCachePathClicked()
|
||||
|
||||
void Preferences::reloadPacFileClicked()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
mApp->networkManager()->proxyFactory()->pacManager()->downloadPacFile();
|
||||
#endif
|
||||
}
|
||||
|
||||
void Preferences::showPassManager(bool state)
|
||||
@ -1110,7 +1113,9 @@ void Preferences::saveSettings()
|
||||
mApp->history()->loadSettings();
|
||||
mApp->reloadSettings();
|
||||
mApp->plugins()->c2f_saveSettings();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
mApp->networkManager()->loadSettings();
|
||||
#endif
|
||||
mApp->desktopNotifications()->loadSettings();
|
||||
mApp->autoFill()->loadSettings();
|
||||
}
|
||||
|
@ -56,8 +56,10 @@ SSLManager::SSLManager(QWidget* parent)
|
||||
connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(close()));
|
||||
|
||||
// Settings
|
||||
#if QTWEBENGINE_DISABLED
|
||||
ui->disableWeakCiphers->setChecked(mApp->networkManager()->isDisablingWeakCiphers());
|
||||
ui->ignoreAll->setChecked(mApp->networkManager()->isIgnoringAllWarnings());
|
||||
#endif
|
||||
}
|
||||
|
||||
void SSLManager::addPath()
|
||||
@ -98,6 +100,7 @@ void SSLManager::refreshCAList()
|
||||
|
||||
void SSLManager::refreshLocalList()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
ui->localList->setUpdatesEnabled(false);
|
||||
ui->localList->clear();
|
||||
m_localCerts = mApp->networkManager()->getLocalCertificates();
|
||||
@ -111,13 +114,16 @@ void SSLManager::refreshLocalList()
|
||||
|
||||
ui->localList->setCurrentRow(0);
|
||||
ui->localList->setUpdatesEnabled(true);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SSLManager::refreshPaths()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
foreach (const QString &path, mApp->networkManager()->certificatePaths()) {
|
||||
ui->pathList->addItem(path);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void SSLManager::showCaCertInfo()
|
||||
@ -133,6 +139,7 @@ void SSLManager::showCaCertInfo()
|
||||
|
||||
void SSLManager::addLocalCertificate()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QString path = QzTools::getOpenFileName("SSLManager-AddLocalCert", this, tr("Import certificate..."), QDir::homePath(), "*.crt");
|
||||
|
||||
if (path.isEmpty()) {
|
||||
@ -147,6 +154,7 @@ void SSLManager::addLocalCertificate()
|
||||
mApp->networkManager()->addLocalCertificate(list.at(0));
|
||||
|
||||
refreshLocalList();
|
||||
#endif
|
||||
}
|
||||
|
||||
void SSLManager::showLocalCertInfo()
|
||||
@ -179,6 +187,7 @@ void SSLManager::showCertificateInfo(const QSslCertificate &cert)
|
||||
|
||||
void SSLManager::deleteCertificate()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QListWidgetItem* item = ui->localList->currentItem();
|
||||
if (!item) {
|
||||
return;
|
||||
@ -188,20 +197,26 @@ void SSLManager::deleteCertificate()
|
||||
m_localCerts.removeOne(cert);
|
||||
mApp->networkManager()->removeLocalCertificate(cert);
|
||||
refreshLocalList();
|
||||
#endif
|
||||
}
|
||||
|
||||
void SSLManager::ignoreAll(bool state)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
mApp->networkManager()->setIgnoreAllWarnings(state);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SSLManager::disableWeakCiphers(bool state)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
mApp->networkManager()->setDisableWeakCiphers(state);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SSLManager::closeEvent(QCloseEvent* e)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QStringList paths;
|
||||
for (int i = 0; i < ui->pathList->count(); i++) {
|
||||
QListWidgetItem* item = ui->pathList->item(i);
|
||||
@ -214,6 +229,7 @@ void SSLManager::closeEvent(QCloseEvent* e)
|
||||
|
||||
mApp->networkManager()->setCertificatePaths(paths);
|
||||
mApp->networkManager()->saveSettings();
|
||||
#endif
|
||||
|
||||
QWidget::closeEvent(e);
|
||||
}
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
#include <QMouseEvent>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
RssIcon::RssIcon(QWidget* parent)
|
||||
: ClickableLabel(parent)
|
||||
, m_view(0)
|
||||
@ -60,3 +62,5 @@ void RssIcon::mousePressEvent(QMouseEvent* ev)
|
||||
// Prevent propagating to LocationBar
|
||||
ev->accept();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -21,6 +21,8 @@
|
||||
#include "qzcommon.h"
|
||||
#include "clickablelabel.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
class WebView;
|
||||
|
||||
class QUPZILLA_EXPORT RssIcon : public ClickableLabel
|
||||
@ -41,4 +43,6 @@ private:
|
||||
WebView* m_view;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // RSSICON_H
|
||||
|
@ -32,12 +32,14 @@
|
||||
#include <QLabel>
|
||||
#include <QXmlStreamReader>
|
||||
#include <QXmlStreamWriter>
|
||||
#include <QWebSettings>
|
||||
#include <QWebEngineSettings>
|
||||
#include <QMessageBox>
|
||||
#include <QNetworkReply>
|
||||
#include <QBuffer>
|
||||
#include <QSqlQuery>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
RSSManager::RSSManager(BrowserWindow* window, QWidget* parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::RSSManager)
|
||||
@ -423,3 +425,5 @@ RSSManager::~RSSManager()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -30,6 +30,8 @@
|
||||
#include <QToolButton>
|
||||
#include <QInputDialog>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class RSSManager;
|
||||
@ -77,4 +79,6 @@ private:
|
||||
QPointer<BrowserWindow> m_window;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // RSSMANAGER_H
|
||||
|
@ -30,6 +30,8 @@
|
||||
#include <QClipboard>
|
||||
#include <QFile>
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
RSSNotification::RSSNotification(const QString &title, const QUrl &url, WebView* parent)
|
||||
: AnimatedWidget(AnimatedWidget::Down, 300, parent)
|
||||
, ui(new Ui::RSSNotification)
|
||||
@ -185,3 +187,5 @@ RSSNotification::~RSSNotification()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -25,6 +25,8 @@
|
||||
#include "qzcommon.h"
|
||||
#include "animatedwidget.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
class WebView;
|
||||
|
||||
namespace Ui
|
||||
@ -65,4 +67,6 @@ private:
|
||||
QVector<RssApp> m_rssApps;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // RSSNOTIFICATION_H
|
||||
|
@ -23,9 +23,11 @@
|
||||
#include "rssmanager.h"
|
||||
#include "rssnotification.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QToolTip>
|
||||
#include <QPushButton>
|
||||
#include <QWebFrame>
|
||||
#include <QWebEngineFrame>
|
||||
#include <QSqlQuery>
|
||||
|
||||
RSSWidget::RSSWidget(WebView* view, QWidget* parent)
|
||||
@ -35,7 +37,7 @@ RSSWidget::RSSWidget(WebView* view, QWidget* parent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
QWebFrame* frame = m_view->page()->mainFrame();
|
||||
QWebEngineFrame* frame = m_view->page()->mainFrame();
|
||||
QWebElementCollection links = frame->findAllElements("link[type=\"application/rss+xml\"]");
|
||||
|
||||
// Make sure RSS feeds fit into a window, in case there is a lot of feeds from one page
|
||||
@ -133,3 +135,5 @@ RSSWidget::~RSSWidget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,8 @@
|
||||
#ifndef RSSWIDGET_H
|
||||
#define RSSWIDGET_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QMenu>
|
||||
|
||||
#include "qzcommon.h"
|
||||
@ -47,4 +49,6 @@ private:
|
||||
WebView* m_view;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // RSSWIDGET_H
|
||||
|
@ -50,7 +50,9 @@ void TabIcon::setWebTab(WebTab* tab)
|
||||
|
||||
connect(m_tab->webView(), SIGNAL(loadStarted()), this, SLOT(showLoadingAnimation()));
|
||||
connect(m_tab->webView(), SIGNAL(loadFinished(bool)), this, SLOT(hideLoadingAnimation()));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
connect(m_tab->webView(), SIGNAL(iconChanged()), this, SLOT(showIcon()));
|
||||
#endif
|
||||
|
||||
showIcon();
|
||||
}
|
||||
|
@ -37,8 +37,7 @@
|
||||
#include <QMimeData>
|
||||
#include <QStackedWidget>
|
||||
#include <QMouseEvent>
|
||||
#include <QWebHistory>
|
||||
#include <QWebFrame>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QClipboard>
|
||||
|
||||
AddTabButton::AddTabButton(TabWidget* tabWidget, TabBar* tabBar)
|
||||
@ -388,9 +387,10 @@ int TabWidget::addView(const LoadRequest &req, const QString &title, const Qz::N
|
||||
m_window->locationBar()->setFocus();
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (openFlags & Qz::NT_NotSelectedTab) {
|
||||
WebTab* currentWebTab = weTab();
|
||||
// Workarounding invalid QWebPage::viewportSize() until QWebView is shown
|
||||
// Workarounding invalid QWebEnginePage::viewportSize() until QWebEngineView is shown
|
||||
// Fixes invalid scrolling to anchor(#) links
|
||||
if (currentWebTab && currentWebTab->webView()) {
|
||||
TabbedWebView* currentView = currentWebTab->webView();
|
||||
@ -398,6 +398,7 @@ int TabWidget::addView(const LoadRequest &req, const QString &title, const Qz::N
|
||||
webTab->webView()->page()->setViewportSize(currentView->page()->viewportSize());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Make sure user notice opening new background tabs
|
||||
if (!(openFlags & Qz::NT_SelectedTab)) {
|
||||
|
@ -20,8 +20,8 @@
|
||||
#include "qztools.h"
|
||||
#include "mainapplication.h"
|
||||
|
||||
#include <QWebHistory>
|
||||
#include <QWebSettings>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QWebEngineSettings>
|
||||
|
||||
ClosedTabsManager::ClosedTabsManager()
|
||||
{
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include "settings.h"
|
||||
#include "webview.h"
|
||||
|
||||
#include <QWebFrame>
|
||||
|
||||
HTML5PermissionsManager::HTML5PermissionsManager(QObject* parent)
|
||||
: QObject(parent)
|
||||
@ -28,8 +27,8 @@ HTML5PermissionsManager::HTML5PermissionsManager(QObject* parent)
|
||||
loadSettings();
|
||||
}
|
||||
|
||||
#if QTWEBKIT_FROM_2_2
|
||||
void HTML5PermissionsManager::requestPermissions(WebPage* page, QWebFrame* frame, const QWebPage::Feature &feature)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void HTML5PermissionsManager::requestPermissions(WebPage* page, QWebEngineFrame* frame, const QWebEnginePage::Feature &feature)
|
||||
{
|
||||
if (!frame || !page) {
|
||||
return;
|
||||
@ -39,14 +38,14 @@ void HTML5PermissionsManager::requestPermissions(WebPage* page, QWebFrame* frame
|
||||
WebView* view = qobject_cast<WebView*>(page->view());
|
||||
|
||||
switch (feature) {
|
||||
case QWebPage::Notifications:
|
||||
case QWebEnginePage::Notifications:
|
||||
if (m_notificationsGranted.contains(host)) {
|
||||
page->setFeaturePermission(frame, feature, QWebPage::PermissionGrantedByUser);
|
||||
page->setFeaturePermission(frame, feature, QWebEnginePage::PermissionGrantedByUser);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_notificationsDenied.contains(host)) {
|
||||
page->setFeaturePermission(frame, feature, QWebPage::PermissionDeniedByUser);
|
||||
page->setFeaturePermission(frame, feature, QWebEnginePage::PermissionDeniedByUser);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -57,14 +56,14 @@ void HTML5PermissionsManager::requestPermissions(WebPage* page, QWebFrame* frame
|
||||
|
||||
break;
|
||||
|
||||
case QWebPage::Geolocation:
|
||||
case QWebEnginePage::Geolocation:
|
||||
if (m_geolocationGranted.contains(host)) {
|
||||
page->setFeaturePermission(frame, feature, QWebPage::PermissionGrantedByUser);
|
||||
page->setFeaturePermission(frame, feature, QWebEnginePage::PermissionGrantedByUser);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_geolocationDenied.contains(host)) {
|
||||
page->setFeaturePermission(frame, feature, QWebPage::PermissionDeniedByUser);
|
||||
page->setFeaturePermission(frame, feature, QWebEnginePage::PermissionDeniedByUser);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -81,16 +80,16 @@ void HTML5PermissionsManager::requestPermissions(WebPage* page, QWebFrame* frame
|
||||
}
|
||||
}
|
||||
|
||||
void HTML5PermissionsManager::rememberPermissions(const QString &host, const QWebPage::Feature &feature,
|
||||
const QWebPage::PermissionPolicy &policy)
|
||||
void HTML5PermissionsManager::rememberPermissions(const QString &host, const QWebEnginePage::Feature &feature,
|
||||
const QWebEnginePage::PermissionPolicy &policy)
|
||||
{
|
||||
if (host.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (feature) {
|
||||
case QWebPage::Notifications:
|
||||
if (policy == QWebPage::PermissionGrantedByUser) {
|
||||
case QWebEnginePage::Notifications:
|
||||
if (policy == QWebEnginePage::PermissionGrantedByUser) {
|
||||
m_notificationsGranted.append(host);
|
||||
}
|
||||
else {
|
||||
@ -98,8 +97,8 @@ void HTML5PermissionsManager::rememberPermissions(const QString &host, const QWe
|
||||
}
|
||||
break;
|
||||
|
||||
case QWebPage::Geolocation:
|
||||
if (policy == QWebPage::PermissionGrantedByUser) {
|
||||
case QWebEnginePage::Geolocation:
|
||||
if (policy == QWebEnginePage::PermissionGrantedByUser) {
|
||||
m_geolocationGranted.append(host);
|
||||
}
|
||||
else {
|
||||
@ -141,3 +140,4 @@ void HTML5PermissionsManager::saveSettings()
|
||||
void HTML5PermissionsManager::showSettingsDialog()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -32,10 +32,10 @@ class QUPZILLA_EXPORT HTML5PermissionsManager : public QObject
|
||||
public:
|
||||
explicit HTML5PermissionsManager(QObject* parent);
|
||||
|
||||
#if QTWEBKIT_FROM_2_2
|
||||
void requestPermissions(WebPage* page, QWebFrame* frame, const QWebPage::Feature &feature);
|
||||
void rememberPermissions(const QString &host, const QWebPage::Feature &feature,
|
||||
const QWebPage::PermissionPolicy &policy);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void requestPermissions(WebPage* page, QWebEngineFrame* frame, const QWebEnginePage::Feature &feature);
|
||||
void rememberPermissions(const QString &host, const QWebEnginePage::Feature &feature,
|
||||
const QWebEnginePage::PermissionPolicy &policy);
|
||||
#endif
|
||||
|
||||
void loadSettings();
|
||||
|
@ -21,10 +21,11 @@
|
||||
#include "mainapplication.h"
|
||||
#include "iconprovider.h"
|
||||
|
||||
#include <QWebFrame>
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebEngineFrame>
|
||||
|
||||
#ifdef USE_QTWEBKIT_2_2
|
||||
HTML5PermissionsNotification::HTML5PermissionsNotification(const QString &host, QWebFrame* frame, const QWebPage::Feature &feature)
|
||||
HTML5PermissionsNotification::HTML5PermissionsNotification(const QString &host, QWebEngineFrame* frame, const QWebEnginePage::Feature &feature)
|
||||
: AnimatedWidget(AnimatedWidget::Down, 300, 0)
|
||||
, ui(new Ui::HTML5PermissionsNotification)
|
||||
, m_host(host)
|
||||
@ -39,11 +40,11 @@ HTML5PermissionsNotification::HTML5PermissionsNotification(const QString &host,
|
||||
QString message;
|
||||
QString site = m_host.isEmpty() ? tr("this site") : QString("<b>%1</b>").arg(m_host);
|
||||
|
||||
if (feature == QWebPage::Notifications) {
|
||||
if (feature == QWebEnginePage::Notifications) {
|
||||
ui->iconLabel->setPixmap(QPixmap(":icons/other/notification.png"));
|
||||
message = tr("Allow %1 to show desktop notifications?").arg(site);
|
||||
}
|
||||
else if (feature == QWebPage::Geolocation) {
|
||||
else if (feature == QWebEnginePage::Geolocation) {
|
||||
ui->iconLabel->setPixmap(QPixmap(":icons/other/geolocation.png"));
|
||||
message = tr("Allow %1 to locate your position?").arg(site);
|
||||
}
|
||||
@ -63,11 +64,11 @@ void HTML5PermissionsNotification::grantPermissions()
|
||||
return;
|
||||
}
|
||||
|
||||
QWebPage* page = m_frame->page();
|
||||
page->setFeaturePermission(m_frame, m_feature, QWebPage::PermissionGrantedByUser);
|
||||
QWebEnginePage* page = m_frame->page();
|
||||
page->setFeaturePermission(m_frame, m_feature, QWebEnginePage::PermissionGrantedByUser);
|
||||
|
||||
if (ui->remember->isChecked()) {
|
||||
mApp->html5PermissionsManager()->rememberPermissions(m_host, m_feature, QWebPage::PermissionGrantedByUser);
|
||||
mApp->html5PermissionsManager()->rememberPermissions(m_host, m_feature, QWebEnginePage::PermissionGrantedByUser);
|
||||
}
|
||||
|
||||
hide();
|
||||
@ -79,11 +80,11 @@ void HTML5PermissionsNotification::denyPermissions()
|
||||
return;
|
||||
}
|
||||
|
||||
QWebPage* page = m_frame->page();
|
||||
page->setFeaturePermission(m_frame, m_feature, QWebPage::PermissionDeniedByUser);
|
||||
QWebEnginePage* page = m_frame->page();
|
||||
page->setFeaturePermission(m_frame, m_feature, QWebEnginePage::PermissionDeniedByUser);
|
||||
|
||||
if (ui->remember->isChecked()) {
|
||||
mApp->html5PermissionsManager()->rememberPermissions(m_host, m_feature, QWebPage::PermissionDeniedByUser);
|
||||
mApp->html5PermissionsManager()->rememberPermissions(m_host, m_feature, QWebEnginePage::PermissionDeniedByUser);
|
||||
}
|
||||
|
||||
hide();
|
||||
@ -94,3 +95,5 @@ HTML5PermissionsNotification::~HTML5PermissionsNotification()
|
||||
delete ui;
|
||||
}
|
||||
#endif // USE_QTWEBKIT_2_2
|
||||
|
||||
#endif
|
||||
|
@ -34,7 +34,7 @@ class HTML5PermissionsNotification : public AnimatedWidget
|
||||
|
||||
#ifdef USE_QTWEBKIT_2_2
|
||||
public:
|
||||
explicit HTML5PermissionsNotification(const QString &host, QWebFrame* frame, const QWebPage::Feature &feature);
|
||||
explicit HTML5PermissionsNotification(const QString &host, QWebEngineFrame* frame, const QWebEnginePage::Feature &feature);
|
||||
~HTML5PermissionsNotification();
|
||||
|
||||
private slots:
|
||||
@ -45,8 +45,8 @@ private:
|
||||
Ui::HTML5PermissionsNotification* ui;
|
||||
|
||||
QString m_host;
|
||||
QWebFrame* m_frame;
|
||||
QWebPage::Feature m_feature;
|
||||
QWebEngineFrame* m_frame;
|
||||
QWebEnginePage::Feature m_feature;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -19,8 +19,10 @@
|
||||
#include "mainapplication.h"
|
||||
#include "networkmanagerproxy.h"
|
||||
|
||||
#include <QWebPage>
|
||||
#include <QWebFrame>
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QWebEnginePage>
|
||||
#include <QWebEngineFrame>
|
||||
#include <QPainter>
|
||||
|
||||
CleanPluginFactory::CleanPluginFactory(QObject* parent)
|
||||
@ -45,7 +47,7 @@ QObject* CleanPluginFactory::create(const QString &mimeType, const QUrl &url, co
|
||||
|
||||
PageThumbnailer::PageThumbnailer(QObject* parent)
|
||||
: QObject(parent)
|
||||
, m_page(new QWebPage(this))
|
||||
, m_page(new QWebEnginePage(this))
|
||||
, m_size(QSize(450, 253))
|
||||
, m_loadTitle(false)
|
||||
{
|
||||
@ -129,7 +131,7 @@ void PageThumbnailer::createThumbnail(bool status)
|
||||
|
||||
QPainter painter(&pixmap);
|
||||
painter.scale(scalingFactor, scalingFactor);
|
||||
m_page->mainFrame()->render(&painter, QWebFrame::ContentsLayer);
|
||||
m_page->mainFrame()->render(&painter, QWebEngineFrame::ContentsLayer);
|
||||
painter.end();
|
||||
|
||||
emit thumbnailCreated(pixmap.scaled(m_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
|
||||
@ -139,3 +141,5 @@ PageThumbnailer::~PageThumbnailer()
|
||||
{
|
||||
m_page->deleteLater();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,8 @@
|
||||
#ifndef PAGETHUMBNAILER_H
|
||||
#define PAGETHUMBNAILER_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QObject>
|
||||
#include <QSize>
|
||||
#include <QUrl>
|
||||
@ -25,7 +27,7 @@
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
class QWebPage;
|
||||
class QWebEnginePage;
|
||||
class QPixmap;
|
||||
|
||||
class QUPZILLA_EXPORT CleanPluginFactory : public QWebPluginFactory
|
||||
@ -67,7 +69,7 @@ private slots:
|
||||
void createThumbnail(bool status);
|
||||
|
||||
private:
|
||||
QWebPage* m_page;
|
||||
QWebEnginePage* m_page;
|
||||
|
||||
QSize m_size;
|
||||
QUrl m_url;
|
||||
@ -75,4 +77,6 @@ private:
|
||||
bool m_loadTitle;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // PAGETHUMBNAILER_H
|
||||
|
@ -39,7 +39,6 @@
|
||||
#include <QSysInfo>
|
||||
#include <QProcess>
|
||||
#include <QMessageBox>
|
||||
#include <QWebFrame>
|
||||
|
||||
#if QT_VERSION >= 0x050000
|
||||
#include <QUrlQuery>
|
||||
@ -216,9 +215,13 @@ QString QzTools::escapeSqlString(QString urlString)
|
||||
return urlString;
|
||||
}
|
||||
|
||||
QUrl QzTools::frameUrl(QWebFrame* frame)
|
||||
QUrl QzTools::frameUrl(QWebEngineFrame* frame)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
return frame->url().isEmpty() ? frame->baseUrl() : frame->url();
|
||||
#else
|
||||
return QUrl();
|
||||
#endif
|
||||
}
|
||||
|
||||
QString QzTools::ensureUniqueFilename(const QString &name, const QString &appendFormat)
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
class QSslCertificate;
|
||||
class QFontMetrics;
|
||||
class QWebFrame;
|
||||
class QWebEngineFrame;
|
||||
class QPixmap;
|
||||
class QIcon;
|
||||
class QWidget;
|
||||
@ -49,7 +49,7 @@ public:
|
||||
static QString urlEncodeQueryString(const QUrl &url);
|
||||
static QString fromPunycode(const QString &str);
|
||||
static QString escapeSqlString(QString urlString);
|
||||
static QUrl frameUrl(QWebFrame* frame);
|
||||
static QUrl frameUrl(QWebEngineFrame *frame);
|
||||
|
||||
static QString ensureUniqueFilename(const QString &name, const QString &appendFormat = QString("(%1)"));
|
||||
static QString getFileNameFromUrl(const QUrl &url);
|
||||
|
@ -40,7 +40,11 @@ int ExternalJsObject::IsSearchProviderInstalled(const QString &engineURL)
|
||||
|
||||
QObject* ExternalJsObject::speedDial() const
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
return m_onSpeedDial ? mApp->plugins()->speedDial() : 0;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void ExternalJsObject::setOnSpeedDial(bool on)
|
||||
|
@ -17,7 +17,7 @@
|
||||
* ============================================================ */
|
||||
#include "loadrequest.h"
|
||||
|
||||
#include <QWebView>
|
||||
#include <QWebEngineView>
|
||||
|
||||
LoadRequest::LoadRequest()
|
||||
: m_operation(GetOperation)
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "toolbutton.h"
|
||||
#include "iconprovider.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
#include <QTimer>
|
||||
|
||||
WebInspector::WebInspector(QWidget* parent)
|
||||
@ -68,3 +70,5 @@ void WebInspector::resizeEvent(QResizeEvent* event)
|
||||
|
||||
QTimer::singleShot(0, this, SLOT(updateCloseButton()));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
#ifndef WEBINSPECTORDOCKWIDGET_H
|
||||
#define WEBINSPECTORDOCKWIDGET_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebInspector>
|
||||
|
||||
#include "qzcommon.h"
|
||||
@ -42,5 +43,6 @@ private:
|
||||
ToolButton* m_closeButton;
|
||||
bool m_blockHideEvent;
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // WEBINSPECTORDOCKWIDGET_H
|
||||
|
@ -50,16 +50,19 @@
|
||||
#include <QPushButton>
|
||||
#endif
|
||||
|
||||
#include <QAuthenticator>
|
||||
#include <QDir>
|
||||
#include <QFormLayout>
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QMouseEvent>
|
||||
#include <QWebHistory>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QTimer>
|
||||
#include <QNetworkReply>
|
||||
#include <QDesktopServices>
|
||||
#include <QMessageBox>
|
||||
#include <QFileDialog>
|
||||
#include <QWebFrame>
|
||||
#include <QWebSecurityOrigin>
|
||||
#include <QCheckBox>
|
||||
|
||||
QString WebPage::s_lastUploadLocation = QDir::homePath();
|
||||
QUrl WebPage::s_lastUnsupportedUrl;
|
||||
@ -67,7 +70,7 @@ QTime WebPage::s_lastUnsupportedUrlTime;
|
||||
QList<WebPage*> WebPage::s_livingPages;
|
||||
|
||||
WebPage::WebPage(QObject* parent)
|
||||
: QWebPage(parent)
|
||||
: QWebEnginePage(parent)
|
||||
, m_view(0)
|
||||
, m_fileWatcher(0)
|
||||
, m_runningLoop(0)
|
||||
@ -76,7 +79,8 @@ WebPage::WebPage(QObject* parent)
|
||||
, m_secureStatus(false)
|
||||
, m_adjustingScheduled(false)
|
||||
{
|
||||
m_javaScriptEnabled = QWebSettings::globalSettings()->testAttribute(QWebSettings::JavascriptEnabled);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
m_javaScriptEnabled = QWebEngineSettings::globalSettings()->testAttribute(QWebEngineSettings::JavascriptEnabled);
|
||||
|
||||
m_networkProxy = new NetworkManagerProxy(this);
|
||||
m_networkProxy->setPrimaryNetworkAccessManager(mApp->networkManager());
|
||||
@ -113,6 +117,8 @@ WebPage::WebPage(QObject* parent)
|
||||
#elif QTWEBKIT_FROM_2_2
|
||||
connect(this, SIGNAL(applicationCacheQuotaExceeded(QWebSecurityOrigin*,quint64)),
|
||||
this, SLOT(appCacheQuotaExceeded(QWebSecurityOrigin*,quint64)));
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
s_livingPages.append(this);
|
||||
@ -129,14 +135,11 @@ WebPage::~WebPage()
|
||||
|
||||
s_livingPages.removeOne(this);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Page's network manager will be deleted and then set to null
|
||||
// Fixes issue with network manager being used after deleted in destructor
|
||||
setNetworkAccessManager(0);
|
||||
}
|
||||
|
||||
QUrl WebPage::url() const
|
||||
{
|
||||
return mainFrame()->url();
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebPage::setWebView(TabbedWebView* view)
|
||||
@ -177,7 +180,11 @@ void WebPage::scheduleAdjustPage()
|
||||
|
||||
bool WebPage::loadingError() const
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
return !mainFrame()->findFirstElement("span[id=\"qupzilla-error-page\"]").isNull();
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebPage::addRejectedCerts(const QList<QSslCertificate> &certs)
|
||||
@ -206,11 +213,13 @@ bool WebPage::containsRejectedCerts(const QList<QSslCertificate> &certs)
|
||||
return matches == certs.count();
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElement WebPage::activeElement() const
|
||||
{
|
||||
QRect activeRect = inputMethodQuery(Qt::ImMicroFocus).toRect();
|
||||
return mainFrame()->hitTestContent(activeRect.center()).element();
|
||||
}
|
||||
#endif
|
||||
|
||||
bool WebPage::isRunningLoop()
|
||||
{
|
||||
@ -224,10 +233,12 @@ bool WebPage::isLoading() const
|
||||
|
||||
void WebPage::urlChanged(const QUrl &url)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Make sure JavaScript is enabled for qupzilla pages regardless of user settings
|
||||
if (url.scheme() == QLatin1String("qupzilla")) {
|
||||
settings()->setAttribute(QWebSettings::JavascriptEnabled, true);
|
||||
settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (isLoading()) {
|
||||
m_adBlockedEntries.clear();
|
||||
@ -253,8 +264,8 @@ void WebPage::finished()
|
||||
|
||||
if (m_adjustingScheduled) {
|
||||
m_adjustingScheduled = false;
|
||||
mainFrame()->setZoomFactor(mainFrame()->zoomFactor() + 1);
|
||||
mainFrame()->setZoomFactor(mainFrame()->zoomFactor() - 1);
|
||||
setZoomFactor(zoomFactor() + 1);
|
||||
setZoomFactor(zoomFactor() - 1);
|
||||
}
|
||||
|
||||
// File scheme watcher
|
||||
@ -284,11 +295,12 @@ void WebPage::finished()
|
||||
void WebPage::watchedFileChanged(const QString &file)
|
||||
{
|
||||
if (url().toLocalFile() == file) {
|
||||
triggerAction(QWebPage::Reload);
|
||||
triggerAction(QWebEnginePage::Reload);
|
||||
}
|
||||
}
|
||||
|
||||
void WebPage::printFrame(QWebFrame* frame)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void WebPage::printFrame(QWebEngineFrame* frame)
|
||||
{
|
||||
WebView* webView = qobject_cast<WebView*>(view());
|
||||
if (!webView) {
|
||||
@ -297,22 +309,25 @@ void WebPage::printFrame(QWebFrame* frame)
|
||||
|
||||
webView->printPage(frame);
|
||||
}
|
||||
#endif
|
||||
|
||||
void WebPage::addJavaScriptObject()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Make sure all other sites have JavaScript set by user preferences
|
||||
// (JavaScript is enabled in WebPage::urlChanged)
|
||||
if (url().scheme() != QLatin1String("qupzilla")) {
|
||||
settings()->setAttribute(QWebSettings::JavascriptEnabled, m_javaScriptEnabled);
|
||||
settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, m_javaScriptEnabled);
|
||||
}
|
||||
|
||||
ExternalJsObject* jsObject = new ExternalJsObject(this);
|
||||
mainFrame()->addToJavaScriptWindowObject("external", jsObject);
|
||||
addToJavaScriptWindowObject("external", jsObject);
|
||||
|
||||
if (url().toString() == QLatin1String("qupzilla:speeddial")) {
|
||||
jsObject->setOnSpeedDial(true);
|
||||
mApp->plugins()->speedDial()->addWebFrame(mainFrame());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebPage::handleUnsupportedContent(QNetworkReply* reply)
|
||||
@ -327,6 +342,7 @@ void WebPage::handleUnsupportedContent(QNetworkReply* reply)
|
||||
case QNetworkReply::NoError:
|
||||
if (reply->header(QNetworkRequest::ContentTypeHeader).isValid()) {
|
||||
QString requestUrl = reply->request().url().toString(QUrl::RemoveFragment | QUrl::RemoveQuery);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (requestUrl.endsWith(QLatin1String(".swf"))) {
|
||||
const QWebElement docElement = mainFrame()->documentElement();
|
||||
const QWebElement object = docElement.findFirst(QString("object[src=\"%1\"]").arg(requestUrl));
|
||||
@ -340,6 +356,7 @@ void WebPage::handleUnsupportedContent(QNetworkReply* reply)
|
||||
}
|
||||
DownloadManager* dManager = mApp->downloadManager();
|
||||
dManager->handleUnsupportedContent(reply, this);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
// Falling unsupported content with invalid ContentTypeHeader to be handled as UnknownProtocol
|
||||
@ -352,7 +369,9 @@ void WebPage::handleUnsupportedContent(QNetworkReply* reply)
|
||||
|
||||
if (url.scheme() == QLatin1String("ftp")) {
|
||||
DownloadManager* dManager = mApp->downloadManager();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
dManager->handleUnsupportedContent(reply, this);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
@ -457,6 +476,7 @@ void WebPage::windowCloseRequested()
|
||||
webView->closeView();
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void WebPage::frameCreated(QWebFrame* frame)
|
||||
{
|
||||
connect(frame, SIGNAL(initialLayoutCompleted()), this, SLOT(frameInitialLayoutCompleted()));
|
||||
@ -471,8 +491,144 @@ void WebPage::frameInitialLayoutCompleted()
|
||||
// Autofill
|
||||
m_passwordEntries = mApp->autoFill()->completeFrame(frame);
|
||||
}
|
||||
#endif
|
||||
|
||||
void WebPage::dbQuotaExceeded(QWebFrame* frame)
|
||||
void WebPage::authentication(const QUrl &requestUrl, QAuthenticator* auth)
|
||||
{
|
||||
QDialog* dialog = new QDialog();
|
||||
dialog->setWindowTitle(tr("Authorisation required"));
|
||||
|
||||
QFormLayout* formLa = new QFormLayout(dialog);
|
||||
|
||||
QLabel* label = new QLabel(dialog);
|
||||
QLabel* userLab = new QLabel(dialog);
|
||||
QLabel* passLab = new QLabel(dialog);
|
||||
userLab->setText(tr("Username: "));
|
||||
passLab->setText(tr("Password: "));
|
||||
|
||||
QLineEdit* user = new QLineEdit(dialog);
|
||||
QLineEdit* pass = new QLineEdit(dialog);
|
||||
pass->setEchoMode(QLineEdit::Password);
|
||||
QCheckBox* save = new QCheckBox(dialog);
|
||||
save->setText(tr("Save username and password on this site"));
|
||||
|
||||
QDialogButtonBox* box = new QDialogButtonBox(dialog);
|
||||
box->addButton(QDialogButtonBox::Ok);
|
||||
box->addButton(QDialogButtonBox::Cancel);
|
||||
connect(box, SIGNAL(rejected()), dialog, SLOT(reject()));
|
||||
connect(box, SIGNAL(accepted()), dialog, SLOT(accept()));
|
||||
|
||||
label->setText(tr("A username and password are being requested by %1. "
|
||||
"The site says: \"%2\"").arg(requestUrl.host(), QzTools::escape(auth->realm())));
|
||||
|
||||
formLa->addRow(label);
|
||||
formLa->addRow(userLab, user);
|
||||
formLa->addRow(passLab, pass);
|
||||
formLa->addRow(save);
|
||||
formLa->addWidget(box);
|
||||
|
||||
AutoFill* fill = mApp->autoFill();
|
||||
QString storedUser;
|
||||
QString storedPassword;
|
||||
bool shouldUpdateEntry = false;
|
||||
|
||||
if (fill->isStored(requestUrl)) {
|
||||
const QVector<PasswordEntry> &data = fill->getFormData(requestUrl);
|
||||
if (!data.isEmpty()) {
|
||||
save->setChecked(true);
|
||||
shouldUpdateEntry = true;
|
||||
storedUser = data.first().username;
|
||||
storedPassword = data.first().password;
|
||||
user->setText(storedUser);
|
||||
pass->setText(storedPassword);
|
||||
}
|
||||
}
|
||||
|
||||
// Try to set the originating WebTab as a current tab
|
||||
TabbedWebView* tabView = qobject_cast<TabbedWebView*>(view());
|
||||
if (tabView) {
|
||||
tabView->setAsCurrentTab();
|
||||
}
|
||||
|
||||
// Do not save when private browsing is enabled
|
||||
if (mApp->isPrivate()) {
|
||||
save->setVisible(false);
|
||||
}
|
||||
|
||||
if (dialog->exec() != QDialog::Accepted) {
|
||||
return;
|
||||
}
|
||||
|
||||
auth->setUser(user->text());
|
||||
auth->setPassword(pass->text());
|
||||
|
||||
if (save->isChecked()) {
|
||||
if (shouldUpdateEntry) {
|
||||
if (storedUser != user->text() || storedPassword != pass->text()) {
|
||||
fill->updateEntry(requestUrl, user->text(), pass->text());
|
||||
}
|
||||
}
|
||||
else {
|
||||
fill->addEntry(requestUrl, user->text(), pass->text());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void WebPage::proxyAuthentication(const QUrl &requestUrl, QAuthenticator* auth, const QString &proxyHost)
|
||||
{
|
||||
Q_UNUSED(requestUrl)
|
||||
|
||||
QVector<PasswordEntry> passwords = mApp->autoFill()->getFormData(QUrl(proxyHost));
|
||||
if (!passwords.isEmpty()) {
|
||||
auth->setUser(passwords.at(0).username);
|
||||
auth->setPassword(passwords.at(0).password);
|
||||
return;
|
||||
}
|
||||
|
||||
QDialog* dialog = new QDialog();
|
||||
dialog->setWindowTitle(tr("Proxy authorisation required"));
|
||||
|
||||
QFormLayout* formLa = new QFormLayout(dialog);
|
||||
|
||||
QLabel* label = new QLabel(dialog);
|
||||
QLabel* userLab = new QLabel(dialog);
|
||||
QLabel* passLab = new QLabel(dialog);
|
||||
userLab->setText(tr("Username: "));
|
||||
passLab->setText(tr("Password: "));
|
||||
|
||||
QLineEdit* user = new QLineEdit(dialog);
|
||||
QLineEdit* pass = new QLineEdit(dialog);
|
||||
pass->setEchoMode(QLineEdit::Password);
|
||||
QCheckBox* save = new QCheckBox(dialog);
|
||||
save->setText(tr("Remember username and password for this proxy."));
|
||||
|
||||
QDialogButtonBox* box = new QDialogButtonBox(dialog);
|
||||
box->addButton(QDialogButtonBox::Ok);
|
||||
box->addButton(QDialogButtonBox::Cancel);
|
||||
connect(box, SIGNAL(rejected()), dialog, SLOT(reject()));
|
||||
connect(box, SIGNAL(accepted()), dialog, SLOT(accept()));
|
||||
|
||||
label->setText(tr("A username and password are being requested by proxy %1. ").arg(proxyHost));
|
||||
formLa->addRow(label);
|
||||
formLa->addRow(userLab, user);
|
||||
formLa->addRow(passLab, pass);
|
||||
formLa->addRow(save);
|
||||
formLa->addWidget(box);
|
||||
|
||||
if (dialog->exec() != QDialog::Accepted) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (save->isChecked()) {
|
||||
mApp->autoFill()->addEntry(QUrl(proxyHost), user->text(), pass->text());
|
||||
}
|
||||
|
||||
auth->setUser(user->text());
|
||||
auth->setPassword(pass->text());
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void WebPage::dbQuotaExceeded(QWebEngineFrame* frame)
|
||||
{
|
||||
if (!frame) {
|
||||
return;
|
||||
@ -483,6 +639,7 @@ void WebPage::dbQuotaExceeded(QWebFrame* frame)
|
||||
|
||||
frame->securityOrigin().setDatabaseQuota(oldQuota * 2);
|
||||
}
|
||||
#endif
|
||||
|
||||
void WebPage::doWebSearch(const QString &text)
|
||||
{
|
||||
@ -504,7 +661,7 @@ void WebPage::appCacheQuotaExceeded(QWebSecurityOrigin* origin, quint64 original
|
||||
origin->setApplicationCacheQuota(originalQuota * 2);
|
||||
}
|
||||
|
||||
void WebPage::featurePermissionRequested(QWebFrame* frame, const QWebPage::Feature &feature)
|
||||
void WebPage::featurePermissionRequested(QWebEngineFrame* frame, const QWebEnginePage::Feature &feature)
|
||||
{
|
||||
mApp->html5PermissionsManager()->requestPermissions(this, frame, feature);
|
||||
}
|
||||
@ -513,7 +670,7 @@ void WebPage::featurePermissionRequested(QWebFrame* frame, const QWebPage::Featu
|
||||
bool WebPage::event(QEvent* event)
|
||||
{
|
||||
if (event->type() == QEvent::Leave) {
|
||||
// QWebPagePrivate::leaveEvent():
|
||||
// QWebEnginePagePrivate::leaveEvent():
|
||||
// Fake a mouse move event just outside of the widget, since all
|
||||
// the interesting mouse-out behavior like invalidating scrollbars
|
||||
// is handled by the WebKit event handler's mouseMoved function.
|
||||
@ -548,10 +705,10 @@ bool WebPage::event(QEvent* event)
|
||||
}
|
||||
|
||||
QMouseEvent fakeEvent(QEvent::MouseMove, mousePos, Qt::NoButton, Qt::NoButton, Qt::NoModifier);
|
||||
return QWebPage::event(&fakeEvent);
|
||||
return QWebEnginePage::event(&fakeEvent);
|
||||
}
|
||||
|
||||
return QWebPage::event(event);
|
||||
return QWebEnginePage::event(event);
|
||||
}
|
||||
|
||||
void WebPage::setSSLCertificate(const QSslCertificate &cert)
|
||||
@ -569,12 +726,13 @@ QSslCertificate WebPage::sslCertificate()
|
||||
return QSslCertificate();
|
||||
}
|
||||
|
||||
bool WebPage::acceptNavigationRequest(QWebFrame* frame, const QNetworkRequest &request, NavigationType type)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
bool WebPage::acceptNavigationRequest(QWebEngineFrame* frame, const QNetworkRequest &request, NavigationType type)
|
||||
{
|
||||
m_lastRequestType = type;
|
||||
m_lastRequestUrl = request.url();
|
||||
|
||||
if (type == QWebPage::NavigationTypeFormResubmitted) {
|
||||
if (type == QWebEnginePage::NavigationTypeFormResubmitted) {
|
||||
// Don't show this dialog if app is still starting
|
||||
if (!view() || !view()->isVisible()) {
|
||||
return false;
|
||||
@ -588,9 +746,10 @@ bool WebPage::acceptNavigationRequest(QWebFrame* frame, const QNetworkRequest &r
|
||||
}
|
||||
}
|
||||
|
||||
bool accept = QWebPage::acceptNavigationRequest(frame, request, type);
|
||||
bool accept = QWebEnginePage::acceptNavigationRequest(frame, request, type);
|
||||
return accept;
|
||||
}
|
||||
#endif
|
||||
|
||||
void WebPage::populateNetworkRequest(QNetworkRequest &request)
|
||||
{
|
||||
@ -599,15 +758,17 @@ void WebPage::populateNetworkRequest(QNetworkRequest &request)
|
||||
QVariant variant = QVariant::fromValue((void*) pagePointer);
|
||||
request.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 100), variant);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (m_lastRequestUrl == request.url()) {
|
||||
request.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 101), m_lastRequestType);
|
||||
if (m_lastRequestType == NavigationTypeLinkClicked) {
|
||||
request.setRawHeader("X-QupZilla-UserLoadAction", QByteArray("1"));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
QWebPage* WebPage::createWindow(QWebPage::WebWindowType type)
|
||||
QWebEnginePage* WebPage::createWindow(QWebEnginePage::WebWindowType type)
|
||||
{
|
||||
if (m_view) {
|
||||
return new PopupWebPage(type, m_view->browserWindow());
|
||||
@ -631,7 +792,7 @@ QObject* WebPage::createPlugin(const QString &classid, const QUrl &url,
|
||||
return new RecoveryWidget(m_view, m_view->browserWindow());
|
||||
}
|
||||
else {
|
||||
mainFrame()->load(QUrl("qupzilla:start"));
|
||||
load(QUrl("qupzilla:start"));
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -665,6 +826,7 @@ QVector<PasswordEntry> WebPage::autoFillData() const
|
||||
|
||||
void WebPage::cleanBlockedObjects()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
AdBlockManager* manager = AdBlockManager::instance();
|
||||
if (!manager->isEnabled()) {
|
||||
return;
|
||||
@ -718,14 +880,16 @@ void WebPage::cleanBlockedObjects()
|
||||
if (view() && !view()->isVisible() && !url().fragment().isEmpty()) {
|
||||
mainFrame()->scrollToAnchor(url().fragment());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
QString WebPage::userAgentForUrl(const QUrl &url) const
|
||||
{
|
||||
QString userAgent = mApp->userAgentManager()->userAgentForUrl(url);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
|
||||
if (userAgent.isEmpty()) {
|
||||
userAgent = QWebPage::userAgentForUrl(url);
|
||||
userAgent = QWebEnginePage::userAgentForUrl(url);
|
||||
#ifdef Q_OS_MAC
|
||||
#ifdef __i386__ || __x86_64__
|
||||
userAgent.replace(QLatin1String("PPC Mac OS X"), QLatin1String("Intel Mac OS X"));
|
||||
@ -733,9 +897,11 @@ QString WebPage::userAgentForUrl(const QUrl &url) const
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
return userAgent;
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
bool WebPage::supportsExtension(Extension extension) const
|
||||
{
|
||||
Q_UNUSED(extension)
|
||||
@ -746,11 +912,11 @@ bool WebPage::supportsExtension(Extension extension) const
|
||||
bool WebPage::extension(Extension extension, const ExtensionOption* option, ExtensionReturn* output)
|
||||
{
|
||||
if (extension == ChooseMultipleFilesExtension) {
|
||||
const QWebPage::ChooseMultipleFilesExtensionOption* exOption = static_cast<const QWebPage::ChooseMultipleFilesExtensionOption*>(option);
|
||||
QWebPage::ChooseMultipleFilesExtensionReturn* exReturn = static_cast<QWebPage::ChooseMultipleFilesExtensionReturn*>(output);
|
||||
const QWebEnginePage::ChooseMultipleFilesExtensionOption* exOption = static_cast<const QWebEnginePage::ChooseMultipleFilesExtensionOption*>(option);
|
||||
QWebEnginePage::ChooseMultipleFilesExtensionReturn* exReturn = static_cast<QWebEnginePage::ChooseMultipleFilesExtensionReturn*>(output);
|
||||
|
||||
if (!exOption || !exReturn) {
|
||||
return QWebPage::extension(extension, option, output);
|
||||
return QWebEnginePage::extension(extension, option, output);
|
||||
}
|
||||
|
||||
QString suggestedFileName;
|
||||
@ -762,21 +928,21 @@ bool WebPage::extension(Extension extension, const ExtensionOption* option, Exte
|
||||
return true;
|
||||
}
|
||||
|
||||
const ErrorPageExtensionOption* exOption = static_cast<const QWebPage::ErrorPageExtensionOption*>(option);
|
||||
ErrorPageExtensionReturn* exReturn = static_cast<QWebPage::ErrorPageExtensionReturn*>(output);
|
||||
const ErrorPageExtensionOption* exOption = static_cast<const QWebEnginePage::ErrorPageExtensionOption*>(option);
|
||||
ErrorPageExtensionReturn* exReturn = static_cast<QWebEnginePage::ErrorPageExtensionReturn*>(output);
|
||||
|
||||
if (!exOption || !exReturn) {
|
||||
return QWebPage::extension(extension, option, output);
|
||||
return QWebEnginePage::extension(extension, option, output);
|
||||
}
|
||||
|
||||
WebPage* erPage = qobject_cast<WebPage*>(exOption->frame->page());
|
||||
|
||||
if (!erPage) {
|
||||
return QWebPage::extension(extension, option, output);
|
||||
return QWebEnginePage::extension(extension, option, output);
|
||||
}
|
||||
|
||||
QString errorString;
|
||||
if (exOption->domain == QWebPage::QtNetwork) {
|
||||
if (exOption->domain == QWebEnginePage::QtNetwork) {
|
||||
switch (exOption->error) {
|
||||
case QNetworkReply::ConnectionRefusedError:
|
||||
errorString = tr("Server refused the connection");
|
||||
@ -881,7 +1047,7 @@ bool WebPage::extension(Extension extension, const ExtensionOption* option, Exte
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (exOption->domain == QWebPage::Http) {
|
||||
else if (exOption->domain == QWebEnginePage::Http) {
|
||||
// 200 status code = OK
|
||||
// It shouldn't be reported as an error, but sometimes it is ...
|
||||
if (exOption->error == 200) {
|
||||
@ -889,7 +1055,7 @@ bool WebPage::extension(Extension extension, const ExtensionOption* option, Exte
|
||||
}
|
||||
errorString = tr("Error code %1").arg(exOption->error);
|
||||
}
|
||||
else if (exOption->domain == QWebPage::WebKit) {
|
||||
else if (exOption->domain == QWebEnginePage::WebKit) {
|
||||
return false; // Downloads
|
||||
}
|
||||
|
||||
@ -918,11 +1084,12 @@ bool WebPage::extension(Extension extension, const ExtensionOption* option, Exte
|
||||
exReturn->content = QString(errString + "<span id=\"qupzilla-error-page\"></span>").toUtf8();
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool WebPage::javaScriptPrompt(QWebFrame* originatingFrame, const QString &msg, const QString &defaultValue, QString* result)
|
||||
bool WebPage::javaScriptPrompt(QUrl securityOrigin, const QString &msg, const QString &defaultValue, QString* result)
|
||||
{
|
||||
#ifndef NONBLOCK_JS_DIALOGS
|
||||
return QWebPage::javaScriptPrompt(originatingFrame, msg, defaultValue, result);
|
||||
return QWebEnginePage::javaScriptPrompt(securityOrigin, msg, defaultValue, result);
|
||||
#else
|
||||
if (m_runningLoop) {
|
||||
return false;
|
||||
@ -963,10 +1130,10 @@ bool WebPage::javaScriptPrompt(QWebFrame* originatingFrame, const QString &msg,
|
||||
#endif
|
||||
}
|
||||
|
||||
bool WebPage::javaScriptConfirm(QWebFrame* originatingFrame, const QString &msg)
|
||||
bool WebPage::javaScriptConfirm(QUrl securityOrigin, const QString &msg)
|
||||
{
|
||||
#ifndef NONBLOCK_JS_DIALOGS
|
||||
return QWebPage::javaScriptConfirm(originatingFrame, msg);
|
||||
return QWebEnginePage::javaScriptConfirm(securityOrigin, msg);
|
||||
#else
|
||||
if (m_runningLoop) {
|
||||
return false;
|
||||
@ -1003,9 +1170,9 @@ bool WebPage::javaScriptConfirm(QWebFrame* originatingFrame, const QString &msg)
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebPage::javaScriptAlert(QWebFrame* originatingFrame, const QString &msg)
|
||||
void WebPage::javaScriptAlert(QUrl securityOrigin, const QString &msg)
|
||||
{
|
||||
Q_UNUSED(originatingFrame)
|
||||
Q_UNUSED(securityOrigin)
|
||||
|
||||
if (m_blockAlerts || m_runningLoop) {
|
||||
return;
|
||||
@ -1058,11 +1225,14 @@ void WebPage::javaScriptAlert(QWebFrame* originatingFrame, const QString &msg)
|
||||
|
||||
void WebPage::setJavaScriptEnabled(bool enabled)
|
||||
{
|
||||
settings()->setAttribute(QWebSettings::JavascriptEnabled, enabled);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, enabled);
|
||||
m_javaScriptEnabled = enabled;
|
||||
#endif
|
||||
}
|
||||
|
||||
QString WebPage::chooseFile(QWebFrame* originatingFrame, const QString &oldFile)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QString WebPage::chooseFile(QWebEngineFrame* originatingFrame, const QString &oldFile)
|
||||
{
|
||||
QString suggFileName;
|
||||
|
||||
@ -1073,7 +1243,7 @@ QString WebPage::chooseFile(QWebFrame* originatingFrame, const QString &oldFile)
|
||||
suggFileName = oldFile;
|
||||
}
|
||||
|
||||
const QString fileName = QzTools::getOpenFileName("WebPage-ChooseFile", originatingFrame->page()->view(), tr("Choose file..."), suggFileName);
|
||||
const QString fileName = QzTools::getOpenFileName("WebPage-ChooseFile", view(), tr("Choose file..."), suggFileName);
|
||||
|
||||
if (!fileName.isEmpty()) {
|
||||
s_lastUploadLocation = fileName;
|
||||
@ -1089,6 +1259,7 @@ QString WebPage::chooseFile(QWebFrame* originatingFrame, const QString &oldFile)
|
||||
|
||||
return fileName;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool WebPage::isPointerSafeToUse(WebPage* page)
|
||||
{
|
||||
|
@ -18,7 +18,7 @@
|
||||
#ifndef WEBPAGE_H
|
||||
#define WEBPAGE_H
|
||||
|
||||
#include <QWebPage>
|
||||
#include <QWebEnginePage>
|
||||
#include <QSslCertificate>
|
||||
#include <QVector>
|
||||
|
||||
@ -35,7 +35,7 @@ class SpeedDial;
|
||||
class NetworkManagerProxy;
|
||||
class DelayedFileWatcher;
|
||||
|
||||
class QUPZILLA_EXPORT WebPage : public QWebPage
|
||||
class QUPZILLA_EXPORT WebPage : public QWebEnginePage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@ -51,17 +51,15 @@ public:
|
||||
WebPage(QObject* parent = 0);
|
||||
~WebPage();
|
||||
|
||||
QUrl url() const;
|
||||
|
||||
void setWebView(TabbedWebView* view);
|
||||
void populateNetworkRequest(QNetworkRequest &request);
|
||||
|
||||
void setSSLCertificate(const QSslCertificate &cert);
|
||||
QSslCertificate sslCertificate();
|
||||
|
||||
bool javaScriptPrompt(QWebFrame* originatingFrame, const QString &msg, const QString &defaultValue, QString* result);
|
||||
bool javaScriptConfirm(QWebFrame* originatingFrame, const QString &msg);
|
||||
void javaScriptAlert(QWebFrame* originatingFrame, const QString &msg);
|
||||
bool javaScriptPrompt(QUrl securityOrigin, const QString &msg, const QString &defaultValue, QString* result);
|
||||
bool javaScriptConfirm(QUrl securityOrigin, const QString &msg);
|
||||
void javaScriptAlert(QUrl securityOrigin, const QString &msg);
|
||||
|
||||
void setJavaScriptEnabled(bool enabled);
|
||||
|
||||
@ -80,7 +78,9 @@ public:
|
||||
void addRejectedCerts(const QList<QSslCertificate> &certs);
|
||||
bool containsRejectedCerts(const QList<QSslCertificate> &certs);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElement activeElement() const;
|
||||
#endif
|
||||
QString userAgentForUrl(const QUrl &url) const;
|
||||
|
||||
static bool isPointerSafeToUse(WebPage* page);
|
||||
@ -100,14 +100,18 @@ private slots:
|
||||
void addJavaScriptObject();
|
||||
|
||||
void watchedFileChanged(const QString &file);
|
||||
void printFrame(QWebFrame* frame);
|
||||
void downloadRequested(const QNetworkRequest &request);
|
||||
void windowCloseRequested();
|
||||
void authentication(const QUrl &requestUrl, QAuthenticator* auth);
|
||||
void proxyAuthentication(const QUrl &requestUrl, QAuthenticator* auth, const QString &proxyHost);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void frameCreated(QWebFrame* frame);
|
||||
void frameInitialLayoutCompleted();
|
||||
void dbQuotaExceeded(QWebEngineFrame* frame);
|
||||
void printFrame(QWebEngineFrame* frame);
|
||||
#endif
|
||||
|
||||
void dbQuotaExceeded(QWebFrame* frame);
|
||||
void doWebSearch(const QString &text);
|
||||
|
||||
#ifdef USE_QTWEBKIT_2_2
|
||||
@ -117,14 +121,16 @@ private slots:
|
||||
|
||||
protected:
|
||||
bool event(QEvent* event);
|
||||
QWebPage* createWindow(QWebPage::WebWindowType type);
|
||||
QWebEnginePage* createWindow(QWebEnginePage::WebWindowType type);
|
||||
QObject* createPlugin(const QString &classid, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues);
|
||||
|
||||
private:
|
||||
#if QTWEBENGINE_DISABLED
|
||||
bool supportsExtension(Extension extension) const;
|
||||
bool extension(Extension extension, const ExtensionOption* option, ExtensionReturn* output = 0);
|
||||
bool acceptNavigationRequest(QWebFrame* frame, const QNetworkRequest &request, NavigationType type);
|
||||
QString chooseFile(QWebFrame* originatingFrame, const QString &oldFile);
|
||||
#endif
|
||||
|
||||
void handleUnknownProtocol(const QUrl &url);
|
||||
void desktopServicesOpen(const QUrl &url);
|
||||
@ -144,7 +150,6 @@ private:
|
||||
QVector<AdBlockedEntry> m_adBlockedEntries;
|
||||
QVector<PasswordEntry> m_passwordEntries;
|
||||
|
||||
QWebPage::NavigationType m_lastRequestType;
|
||||
QUrl m_lastRequestUrl;
|
||||
|
||||
int m_loadProgress;
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "adblockmanager.h"
|
||||
#include "webpage.h"
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QNetworkRequest>
|
||||
|
||||
WebPluginFactory::WebPluginFactory(WebPage* page)
|
||||
@ -97,3 +98,5 @@ QList<QWebPluginFactory::Plugin> WebPluginFactory::plugins() const
|
||||
// plugins.append(plugin);
|
||||
// return plugins;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
#ifndef WEB_PLUGIN_FACTORY_H
|
||||
#define WEB_PLUGIN_FACTORY_H
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebPluginFactory>
|
||||
|
||||
#include "qzcommon.h"
|
||||
@ -35,4 +36,5 @@ public:
|
||||
private:
|
||||
WebPage* m_page;
|
||||
};
|
||||
#endif
|
||||
#endif // WEB_PLUGIN_FACTORY_H
|
||||
|
@ -45,8 +45,7 @@
|
||||
#include <QTimer>
|
||||
#include <QDesktopServices>
|
||||
#include <QNetworkRequest>
|
||||
#include <QWebHistory>
|
||||
#include <QWebFrame>
|
||||
#include <QWebEngineHistory>
|
||||
#include <QClipboard>
|
||||
#include <QTouchEvent>
|
||||
#include <QPrintPreviewDialog>
|
||||
@ -54,10 +53,12 @@
|
||||
bool WebView::s_forceContextMenuOnMouseRelease = false;
|
||||
|
||||
WebView::WebView(QWidget* parent)
|
||||
: QWebView(parent)
|
||||
: QWebEngineView(parent)
|
||||
, m_isLoading(false)
|
||||
, m_progress(0)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
, m_clickedFrame(0)
|
||||
#endif
|
||||
, m_page(0)
|
||||
, m_disableTouchMocking(false)
|
||||
, m_isReloading(false)
|
||||
@ -67,8 +68,10 @@ WebView::WebView(QWidget* parent)
|
||||
connect(this, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()));
|
||||
connect(this, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int)));
|
||||
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(slotLoadFinished()));
|
||||
connect(this, SIGNAL(iconChanged()), this, SLOT(slotIconChanged()));
|
||||
connect(this, SIGNAL(urlChanged(QUrl)), this, SLOT(slotUrlChanged(QUrl)));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
connect(this, SIGNAL(iconChanged()), this, SLOT(slotIconChanged()));
|
||||
#endif
|
||||
|
||||
m_zoomLevels = zoomLevels();
|
||||
m_currentZoomLevel = m_zoomLevels.indexOf(100);
|
||||
@ -82,7 +85,7 @@ WebView::WebView(QWidget* parent)
|
||||
|
||||
WebView::~WebView()
|
||||
{
|
||||
delete m_page;
|
||||
//delete m_page;
|
||||
}
|
||||
|
||||
QIcon WebView::icon() const
|
||||
@ -99,9 +102,11 @@ QIcon WebView::icon() const
|
||||
return IconProvider::standardIcon(QStyle::SP_ComputerIcon);
|
||||
}
|
||||
|
||||
if (!QWebView::icon().isNull()) {
|
||||
return QWebView::icon();
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (!QWebEngineView::icon().isNull()) {
|
||||
return QWebEngineView::icon();
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!m_siteIcon.isNull() && m_siteIconUrl.host() == url().host()) {
|
||||
return m_siteIcon;
|
||||
@ -112,7 +117,7 @@ QIcon WebView::icon() const
|
||||
|
||||
QString WebView::title() const
|
||||
{
|
||||
QString title = QWebView::title();
|
||||
QString title = QWebEngineView::title();
|
||||
|
||||
if (title.isEmpty()) {
|
||||
title = url().toString(QUrl::RemoveFragment);
|
||||
@ -127,7 +132,7 @@ QString WebView::title() const
|
||||
|
||||
bool WebView::isTitleEmpty() const
|
||||
{
|
||||
return QWebView::title().isEmpty();
|
||||
return QWebEngineView::title().isEmpty();
|
||||
}
|
||||
|
||||
QUrl WebView::url() const
|
||||
@ -146,16 +151,18 @@ WebPage* WebView::page() const
|
||||
return m_page;
|
||||
}
|
||||
|
||||
void WebView::setPage(QWebPage* page)
|
||||
void WebView::setPage(QWebEnginePage* page)
|
||||
{
|
||||
if (m_page == page) {
|
||||
return;
|
||||
}
|
||||
|
||||
QWebView::setPage(page);
|
||||
QWebEngineView::setPage(page);
|
||||
m_page = qobject_cast<WebPage*>(page);
|
||||
|
||||
connect(m_page, SIGNAL(saveFrameStateRequested(QWebFrame*,QWebHistoryItem*)), this, SLOT(frameStateChanged()));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
connect(m_page, SIGNAL(saveFrameStateRequested(QWebEngineFrame*,QWebHistoryItem*)), this, SLOT(frameStateChanged()));
|
||||
#endif
|
||||
connect(m_page, SIGNAL(privacyChanged(bool)), this, SIGNAL(privacyChanged(bool)));
|
||||
|
||||
// Set default zoom level
|
||||
@ -166,11 +173,13 @@ void WebView::setPage(QWebPage* page)
|
||||
|
||||
mApp->plugins()->emitWebPageCreated(m_page);
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// Set white background by default.
|
||||
// Fixes issue with dark themes. See #602
|
||||
QPalette pal = palette();
|
||||
pal.setBrush(QPalette::Base, Qt::white);
|
||||
page->setPalette(pal);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::load(const LoadRequest &request)
|
||||
@ -182,9 +191,9 @@ void WebView::load(const LoadRequest &request)
|
||||
// Is the javascript source percent encoded or not?
|
||||
// Looking for % character in source should work in most cases
|
||||
if (scriptSource.contains(QL1C('%')))
|
||||
page()->mainFrame()->evaluateJavaScript(QUrl::fromPercentEncoding(scriptSource.toUtf8()));
|
||||
page()->runJavaScript(QUrl::fromPercentEncoding(scriptSource.toUtf8()));
|
||||
else
|
||||
page()->mainFrame()->evaluateJavaScript(scriptSource);
|
||||
page()->runJavaScript(scriptSource);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -235,11 +244,13 @@ bool WebView::hasRss() const
|
||||
return m_hasRss;
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElement WebView::activeElement() const
|
||||
{
|
||||
QRect activeRect = inputMethodQuery(Qt::ImMicroFocus).toRect();
|
||||
return page()->mainFrame()->hitTestContent(activeRect.center()).element();
|
||||
}
|
||||
#endif
|
||||
|
||||
int WebView::zoomLevel() const
|
||||
{
|
||||
@ -254,11 +265,13 @@ void WebView::setZoomLevel(int level)
|
||||
|
||||
bool WebView::onBeforeUnload()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
const QString res = page()->mainFrame()->evaluateJavaScript("window.onbeforeunload(new Event(\"beforeunload\"))").toString();
|
||||
|
||||
if (!res.isEmpty()) {
|
||||
return page()->javaScriptConfirm(page()->mainFrame(), res);
|
||||
}
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -364,32 +377,32 @@ void WebView::zoomReset()
|
||||
|
||||
void WebView::editUndo()
|
||||
{
|
||||
triggerPageAction(QWebPage::Undo);
|
||||
triggerPageAction(QWebEnginePage::Undo);
|
||||
}
|
||||
|
||||
void WebView::editRedo()
|
||||
{
|
||||
triggerPageAction(QWebPage::Redo);
|
||||
triggerPageAction(QWebEnginePage::Redo);
|
||||
}
|
||||
|
||||
void WebView::editCut()
|
||||
{
|
||||
triggerPageAction(QWebPage::Cut);
|
||||
triggerPageAction(QWebEnginePage::Cut);
|
||||
}
|
||||
|
||||
void WebView::editCopy()
|
||||
{
|
||||
triggerPageAction(QWebPage::Copy);
|
||||
triggerPageAction(QWebEnginePage::Copy);
|
||||
}
|
||||
|
||||
void WebView::editPaste()
|
||||
{
|
||||
triggerPageAction(QWebPage::Paste);
|
||||
triggerPageAction(QWebEnginePage::Paste);
|
||||
}
|
||||
|
||||
void WebView::editSelectAll()
|
||||
{
|
||||
triggerPageAction(QWebPage::SelectAll);
|
||||
triggerPageAction(QWebEnginePage::SelectAll);
|
||||
}
|
||||
|
||||
void WebView::editDelete()
|
||||
@ -402,40 +415,44 @@ void WebView::reload()
|
||||
{
|
||||
m_isReloading = true;
|
||||
|
||||
if (LocationBar::convertUrlToText(QWebView::url()).isEmpty() && !m_aboutToLoadUrl.isEmpty()) {
|
||||
if (LocationBar::convertUrlToText(QWebEngineView::url()).isEmpty() && !m_aboutToLoadUrl.isEmpty()) {
|
||||
load(m_aboutToLoadUrl);
|
||||
return;
|
||||
}
|
||||
|
||||
QWebView::reload();
|
||||
QWebEngineView::reload();
|
||||
}
|
||||
|
||||
void WebView::reloadBypassCache()
|
||||
{
|
||||
triggerPageAction(QWebPage::ReloadAndBypassCache);
|
||||
triggerPageAction(QWebEnginePage::ReloadAndBypassCache);
|
||||
}
|
||||
|
||||
void WebView::back()
|
||||
{
|
||||
QWebHistory* history = page()->history();
|
||||
QWebEngineHistory* history = page()->history();
|
||||
|
||||
if (history->canGoBack()) {
|
||||
history->back();
|
||||
|
||||
emit urlChanged(url());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
emit iconChanged();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void WebView::forward()
|
||||
{
|
||||
QWebHistory* history = page()->history();
|
||||
QWebEngineHistory* history = page()->history();
|
||||
|
||||
if (history->canGoForward()) {
|
||||
history->forward();
|
||||
|
||||
emit urlChanged(url());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
emit iconChanged();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -472,7 +489,7 @@ void WebView::slotLoadFinished()
|
||||
|
||||
void WebView::frameStateChanged()
|
||||
{
|
||||
// QWebFrame::baseUrl() is not updated yet, so we are invoking 0 second timer
|
||||
// QWebEngineFrame::baseUrl() is not updated yet, so we are invoking 0 second timer
|
||||
QTimer::singleShot(0, this, SLOT(emitChangedUrl()));
|
||||
}
|
||||
|
||||
@ -483,16 +500,18 @@ void WebView::emitChangedUrl()
|
||||
|
||||
void WebView::checkRss()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (m_rssChecked) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_rssChecked = true;
|
||||
QWebFrame* frame = page()->mainFrame();
|
||||
QWebEngineFrame* frame = page()->mainFrame();
|
||||
const QWebElementCollection links = frame->findAllElements("link[type=\"application/rss+xml\"]");
|
||||
|
||||
m_hasRss = links.count() != 0;
|
||||
emit rssChanged(m_hasRss);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::slotIconChanged()
|
||||
@ -599,7 +618,9 @@ void WebView::downloadUrlToDisk()
|
||||
|
||||
void WebView::copyImageToClipboard()
|
||||
{
|
||||
triggerPageAction(QWebPage::CopyImageToClipboard);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
triggerPageAction(QWebEnginePage::CopyImageToClipboard);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::openActionUrl()
|
||||
@ -609,7 +630,8 @@ void WebView::openActionUrl()
|
||||
}
|
||||
}
|
||||
|
||||
void WebView::showSource(QWebFrame* frame, const QString &selectedHtml)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void WebView::showSource(QWebEngineFrame* frame, const QString &selectedHtml)
|
||||
{
|
||||
if (!frame) {
|
||||
frame = page()->mainFrame();
|
||||
@ -619,11 +641,14 @@ void WebView::showSource(QWebFrame* frame, const QString &selectedHtml)
|
||||
QzTools::centerWidgetToParent(source, this);
|
||||
source->show();
|
||||
}
|
||||
#endif
|
||||
|
||||
void WebView::showSiteInfo()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
SiteInfo* s = new SiteInfo(this, this);
|
||||
s->show();
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::searchSelectedText()
|
||||
@ -733,22 +758,26 @@ void WebView::userDefinedOpenUrlInBgTab(const QUrl &url)
|
||||
|
||||
void WebView::loadClickedFrame()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QUrl frameUrl = m_clickedFrame->baseUrl();
|
||||
if (frameUrl.isEmpty()) {
|
||||
frameUrl = m_clickedFrame->requestedUrl();
|
||||
}
|
||||
|
||||
load(frameUrl);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::loadClickedFrameInNewTab(bool invert)
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QUrl frameUrl = m_clickedFrame->baseUrl();
|
||||
if (frameUrl.isEmpty()) {
|
||||
frameUrl = m_clickedFrame->requestedUrl();
|
||||
}
|
||||
|
||||
userDefinedOpenUrlInNewTab(frameUrl, invert);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::loadClickedFrameInBgTab()
|
||||
@ -758,50 +787,63 @@ void WebView::loadClickedFrameInBgTab()
|
||||
|
||||
void WebView::reloadClickedFrame()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QUrl frameUrl = m_clickedFrame->baseUrl();
|
||||
if (frameUrl.isEmpty()) {
|
||||
frameUrl = m_clickedFrame->requestedUrl();
|
||||
}
|
||||
|
||||
m_clickedFrame->load(frameUrl);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::printClickedFrame()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
printPage(m_clickedFrame);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::clickedFrameZoomIn()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
qreal zFactor = m_clickedFrame->zoomFactor() + 0.1;
|
||||
if (zFactor > 2.5) {
|
||||
zFactor = 2.5;
|
||||
}
|
||||
|
||||
m_clickedFrame->setZoomFactor(zFactor);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::clickedFrameZoomOut()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
qreal zFactor = m_clickedFrame->zoomFactor() - 0.1;
|
||||
if (zFactor < 0.5) {
|
||||
zFactor = 0.5;
|
||||
}
|
||||
|
||||
m_clickedFrame->setZoomFactor(zFactor);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::clickedFrameZoomReset()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
m_clickedFrame->setZoomFactor(zoomFactor());
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::showClickedFrameSource()
|
||||
{
|
||||
#if QTWEBENGINE_DISABLED
|
||||
showSource(m_clickedFrame);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::printPage(QWebFrame* frame)
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void WebView::printPage(QWebEngineFrame* frame)
|
||||
{
|
||||
QPrintPreviewDialog* dialog = new QPrintPreviewDialog(this);
|
||||
dialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
@ -816,12 +858,14 @@ void WebView::printPage(QWebFrame* frame)
|
||||
|
||||
dialog->open();
|
||||
}
|
||||
#endif
|
||||
|
||||
QUrl WebView::lastUrl()
|
||||
{
|
||||
return m_lastUrl;
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
bool WebView::isMediaElement(const QWebElement &element)
|
||||
{
|
||||
return (element.tagName().toLower() == QLatin1String("video")
|
||||
@ -921,7 +965,7 @@ void WebView::createContextMenu(QMenu* menu, const QWebHitTestResult &hitTest, c
|
||||
++i;
|
||||
}
|
||||
|
||||
if (menu->actions().last() == pageAction(QWebPage::InspectElement)) {
|
||||
if (menu->actions().last() == pageAction(QWebEnginePage::InspectElement)) {
|
||||
// We have own Inspect Element action
|
||||
menu->actions().last()->setVisible(false);
|
||||
}
|
||||
@ -953,7 +997,7 @@ void WebView::createContextMenu(QMenu* menu, const QWebHitTestResult &hitTest, c
|
||||
|
||||
void WebView::createPageContextMenu(QMenu* menu, const QPoint &pos)
|
||||
{
|
||||
QWebFrame* frameAtPos = page()->frameAt(pos);
|
||||
QWebEngineFrame* frameAtPos = page()->frameAt(pos);
|
||||
|
||||
QAction* action = menu->addAction(tr("&Back"), this, SLOT(back()));
|
||||
action->setIcon(IconProvider::standardIcon(QStyle::SP_ArrowBack));
|
||||
@ -1045,8 +1089,8 @@ void WebView::createLinkContextMenu(QMenu* menu, const QWebHitTestResult &hitTes
|
||||
menu->addSeparator();
|
||||
|
||||
if (!selectedText().isEmpty()) {
|
||||
pageAction(QWebPage::Copy)->setIcon(QIcon::fromTheme("edit-copy"));
|
||||
menu->addAction(pageAction(QWebPage::Copy));
|
||||
pageAction(QWebEnginePage::Copy)->setIcon(QIcon::fromTheme("edit-copy"));
|
||||
menu->addAction(pageAction(QWebEnginePage::Copy));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1066,8 +1110,8 @@ void WebView::createImageContextMenu(QMenu* menu, const QWebHitTestResult &hitTe
|
||||
menu->addSeparator();
|
||||
|
||||
if (!selectedText().isEmpty()) {
|
||||
pageAction(QWebPage::Copy)->setIcon(QIcon::fromTheme("edit-copy"));
|
||||
menu->addAction(pageAction(QWebPage::Copy));
|
||||
pageAction(QWebEnginePage::Copy)->setIcon(QIcon::fromTheme("edit-copy"));
|
||||
menu->addAction(pageAction(QWebEnginePage::Copy));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1078,8 +1122,8 @@ void WebView::createSelectedTextContextMenu(QMenu* menu, const QWebHitTestResult
|
||||
QString selectedText = page()->selectedText();
|
||||
|
||||
menu->addSeparator();
|
||||
if (!menu->actions().contains(pageAction(QWebPage::Copy))) {
|
||||
menu->addAction(pageAction(QWebPage::Copy));
|
||||
if (!menu->actions().contains(pageAction(QWebEnginePage::Copy))) {
|
||||
menu->addAction(pageAction(QWebEnginePage::Copy));
|
||||
}
|
||||
menu->addAction(QIcon::fromTheme("mail-message-new"), tr("Send text..."), this, SLOT(sendLinkByMail()))->setData(selectedText);
|
||||
menu->addSeparator();
|
||||
@ -1186,74 +1230,77 @@ void WebView::muteMedia()
|
||||
m_clickedElement.evaluateJavaScript("this.muted = true");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void WebView::addSpeedDial()
|
||||
{
|
||||
page()->mainFrame()->evaluateJavaScript("addSpeedDial()");
|
||||
page()->runJavaScript("addSpeedDial()");
|
||||
}
|
||||
|
||||
void WebView::configureSpeedDial()
|
||||
{
|
||||
page()->mainFrame()->evaluateJavaScript("configureSpeedDial()");
|
||||
page()->runJavaScript("configureSpeedDial()");
|
||||
}
|
||||
|
||||
void WebView::reloadAllSpeedDials()
|
||||
{
|
||||
page()->mainFrame()->evaluateJavaScript("reloadAll()");
|
||||
page()->runJavaScript("reloadAll()");
|
||||
}
|
||||
|
||||
void WebView::initializeActions()
|
||||
{
|
||||
QAction* undoAction = pageAction(QWebPage::Undo);
|
||||
QAction* undoAction = pageAction(QWebEnginePage::Undo);
|
||||
undoAction->setText(tr("&Undo"));
|
||||
undoAction->setShortcut(QKeySequence("Ctrl+Z"));
|
||||
undoAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||
undoAction->setIcon(QIcon::fromTheme(QSL("edit-undo")));
|
||||
|
||||
QAction* redoAction = pageAction(QWebPage::Redo);
|
||||
QAction* redoAction = pageAction(QWebEnginePage::Redo);
|
||||
redoAction->setText(tr("&Redo"));
|
||||
redoAction->setShortcut(QKeySequence("Ctrl+Shift+Z"));
|
||||
redoAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||
redoAction->setIcon(QIcon::fromTheme(QSL("edit-redo")));
|
||||
|
||||
QAction* cutAction = pageAction(QWebPage::Cut);
|
||||
QAction* cutAction = pageAction(QWebEnginePage::Cut);
|
||||
cutAction->setText(tr("&Cut"));
|
||||
cutAction->setShortcut(QKeySequence("Ctrl+X"));
|
||||
cutAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||
cutAction->setIcon(QIcon::fromTheme(QSL("edit-cut")));
|
||||
|
||||
QAction* copyAction = pageAction(QWebPage::Copy);
|
||||
QAction* copyAction = pageAction(QWebEnginePage::Copy);
|
||||
copyAction->setText(tr("&Copy"));
|
||||
copyAction->setShortcut(QKeySequence("Ctrl+C"));
|
||||
copyAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||
copyAction->setIcon(QIcon::fromTheme(QSL("edit-copy")));
|
||||
|
||||
QAction* pasteAction = pageAction(QWebPage::Paste);
|
||||
QAction* pasteAction = pageAction(QWebEnginePage::Paste);
|
||||
pasteAction->setText(tr("&Paste"));
|
||||
pasteAction->setShortcut(QKeySequence("Ctrl+V"));
|
||||
pasteAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||
pasteAction->setIcon(QIcon::fromTheme(QSL("edit-paste")));
|
||||
|
||||
QAction* selectAllAction = pageAction(QWebPage::SelectAll);
|
||||
QAction* selectAllAction = pageAction(QWebEnginePage::SelectAll);
|
||||
selectAllAction->setText(tr("Select All"));
|
||||
selectAllAction->setShortcut(QKeySequence("Ctrl+A"));
|
||||
selectAllAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||
selectAllAction->setIcon(QIcon::fromTheme(QSL("edit-select-all")));
|
||||
|
||||
QAction* reloadAction = pageAction(QWebPage::Reload);
|
||||
QAction* reloadAction = pageAction(QWebEnginePage::Reload);
|
||||
reloadAction->setText(tr("&Reload"));
|
||||
reloadAction->setIcon(QIcon::fromTheme(QSL("view-refresh")));
|
||||
|
||||
QAction* stopAction = pageAction(QWebPage::Stop);
|
||||
QAction* stopAction = pageAction(QWebEnginePage::Stop);
|
||||
stopAction->setText(tr("S&top"));
|
||||
stopAction->setIcon(QIcon::fromTheme(QSL("process-stop")));
|
||||
|
||||
pageAction(QWebPage::SetTextDirectionDefault)->setText(tr("Default"));
|
||||
pageAction(QWebPage::SetTextDirectionLeftToRight)->setText(tr("Left to Right"));
|
||||
pageAction(QWebPage::SetTextDirectionRightToLeft)->setText(tr("Right to Left"));
|
||||
pageAction(QWebPage::ToggleBold)->setText(tr("Bold"));
|
||||
pageAction(QWebPage::ToggleItalic)->setText(tr("Italic"));
|
||||
pageAction(QWebPage::ToggleUnderline)->setText(tr("Underline"));
|
||||
#if QTWEBENGINE_DISABLED
|
||||
pageAction(QWebEnginePage::SetTextDirectionDefault)->setText(tr("Default"));
|
||||
pageAction(QWebEnginePage::SetTextDirectionLeftToRight)->setText(tr("Left to Right"));
|
||||
pageAction(QWebEnginePage::SetTextDirectionRightToLeft)->setText(tr("Right to Left"));
|
||||
pageAction(QWebEnginePage::ToggleBold)->setText(tr("Bold"));
|
||||
pageAction(QWebEnginePage::ToggleItalic)->setText(tr("Italic"));
|
||||
pageAction(QWebEnginePage::ToggleUnderline)->setText(tr("Underline"));
|
||||
#endif
|
||||
|
||||
// Make action shortcuts available for webview
|
||||
addAction(undoAction);
|
||||
@ -1277,7 +1324,7 @@ void WebView::wheelEvent(QWheelEvent* event)
|
||||
return;
|
||||
}
|
||||
|
||||
QWebView::wheelEvent(event);
|
||||
QWebEngineView::wheelEvent(event);
|
||||
}
|
||||
|
||||
void WebView::mousePressEvent(QMouseEvent* event)
|
||||
@ -1298,19 +1345,22 @@ void WebView::mousePressEvent(QMouseEvent* event)
|
||||
break;
|
||||
|
||||
case Qt::MiddleButton: {
|
||||
QWebFrame* frame = page()->frameAt(event->pos());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineFrame* frame = page()->frameAt(event->pos());
|
||||
if (frame) {
|
||||
m_clickedUrl = frame->hitTestContent(event->pos()).linkUrl();
|
||||
if (!m_clickedUrl.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case Qt::LeftButton: {
|
||||
QWebFrame* frame = page()->frameAt(event->pos());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineFrame* frame = page()->frameAt(event->pos());
|
||||
if (frame) {
|
||||
const QUrl link = frame->hitTestContent(event->pos()).linkUrl();
|
||||
if (event->modifiers() & Qt::ControlModifier && isUrlValid(link)) {
|
||||
@ -1319,13 +1369,14 @@ void WebView::mousePressEvent(QMouseEvent* event)
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
QWebView::mousePressEvent(event);
|
||||
QWebEngineView::mousePressEvent(event);
|
||||
}
|
||||
|
||||
void WebView::mouseReleaseEvent(QMouseEvent* event)
|
||||
@ -1336,7 +1387,8 @@ void WebView::mouseReleaseEvent(QMouseEvent* event)
|
||||
|
||||
switch (event->button()) {
|
||||
case Qt::MiddleButton: {
|
||||
QWebFrame* frame = page()->frameAt(event->pos());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebEngineFrame* frame = page()->frameAt(event->pos());
|
||||
if (frame) {
|
||||
const QUrl link = frame->hitTestContent(event->pos()).linkUrl();
|
||||
if (m_clickedUrl == link && isUrlValid(link)) {
|
||||
@ -1345,6 +1397,7 @@ void WebView::mouseReleaseEvent(QMouseEvent* event)
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1359,7 +1412,7 @@ void WebView::mouseReleaseEvent(QMouseEvent* event)
|
||||
break;
|
||||
}
|
||||
|
||||
QWebView::mouseReleaseEvent(event);
|
||||
QWebEngineView::mouseReleaseEvent(event);
|
||||
}
|
||||
|
||||
void WebView::mouseMoveEvent(QMouseEvent* event)
|
||||
@ -1368,7 +1421,7 @@ void WebView::mouseMoveEvent(QMouseEvent* event)
|
||||
return;
|
||||
}
|
||||
|
||||
QWebView::mouseMoveEvent(event);
|
||||
QWebEngineView::mouseMoveEvent(event);
|
||||
}
|
||||
|
||||
void WebView::keyPressEvent(QKeyEvent* event)
|
||||
@ -1386,6 +1439,7 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
|
||||
// event->spontaneous() check guards recursive calling of keyPressEvent
|
||||
// Events created from app have spontaneous() == false
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (event->spontaneous() && (eventKey == Qt::Key_Left || eventKey == Qt::Key_Right)) {
|
||||
const QWebElement elementHasCursor = activeElement();
|
||||
if (!elementHasCursor.isNull()) {
|
||||
@ -1455,7 +1509,7 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
|
||||
case Qt::Key_Down:
|
||||
if (event->modifiers() & Qt::ShiftModifier) {
|
||||
triggerPageAction(QWebPage::SelectNextLine);
|
||||
triggerPageAction(QWebEnginePage::SelectNextLine);
|
||||
event->accept();
|
||||
return;
|
||||
}
|
||||
@ -1464,10 +1518,10 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
case Qt::Key_Left:
|
||||
if (event->modifiers() & Qt::ShiftModifier) {
|
||||
if (event->modifiers() == Qt::ShiftModifier) {
|
||||
triggerPageAction(QWebPage::SelectPreviousChar);
|
||||
triggerPageAction(QWebEnginePage::SelectPreviousChar);
|
||||
}
|
||||
else if (event->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier)) {
|
||||
triggerPageAction(QWebPage::SelectPreviousWord);
|
||||
triggerPageAction(QWebEnginePage::SelectPreviousWord);
|
||||
}
|
||||
event->accept();
|
||||
return;
|
||||
@ -1477,10 +1531,10 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
case Qt::Key_Right:
|
||||
if (event->modifiers() & Qt::ShiftModifier) {
|
||||
if (event->modifiers() == Qt::ShiftModifier) {
|
||||
triggerPageAction(QWebPage::SelectNextChar);
|
||||
triggerPageAction(QWebEnginePage::SelectNextChar);
|
||||
}
|
||||
else if (event->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier)) {
|
||||
triggerPageAction(QWebPage::SelectNextWord);
|
||||
triggerPageAction(QWebEnginePage::SelectNextWord);
|
||||
}
|
||||
event->accept();
|
||||
return;
|
||||
@ -1490,10 +1544,10 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
case Qt::Key_Home:
|
||||
if (event->modifiers() & Qt::ShiftModifier) {
|
||||
if (event->modifiers() == Qt::ShiftModifier) {
|
||||
triggerPageAction(QWebPage::SelectStartOfLine);
|
||||
triggerPageAction(QWebEnginePage::SelectStartOfLine);
|
||||
}
|
||||
else if (event->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier)) {
|
||||
triggerPageAction(QWebPage::SelectStartOfDocument);
|
||||
triggerPageAction(QWebEnginePage::SelectStartOfDocument);
|
||||
}
|
||||
event->accept();
|
||||
return;
|
||||
@ -1503,10 +1557,10 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
case Qt::Key_End:
|
||||
if (event->modifiers() & Qt::ShiftModifier) {
|
||||
if (event->modifiers() == Qt::ShiftModifier) {
|
||||
triggerPageAction(QWebPage::SelectEndOfLine);
|
||||
triggerPageAction(QWebEnginePage::SelectEndOfLine);
|
||||
}
|
||||
else if (event->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier)) {
|
||||
triggerPageAction(QWebPage::SelectEndOfDocument);
|
||||
triggerPageAction(QWebEnginePage::SelectEndOfDocument);
|
||||
}
|
||||
event->accept();
|
||||
return;
|
||||
@ -1515,12 +1569,12 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
|
||||
case Qt::Key_Insert:
|
||||
if (event->modifiers() == Qt::ControlModifier) {
|
||||
triggerPageAction(QWebPage::Copy);
|
||||
triggerPageAction(QWebEnginePage::Copy);
|
||||
event->accept();
|
||||
return;
|
||||
}
|
||||
if (event->modifiers() == Qt::ShiftModifier) {
|
||||
triggerPageAction(QWebPage::Paste);
|
||||
triggerPageAction(QWebEnginePage::Paste);
|
||||
event->accept();
|
||||
return;
|
||||
}
|
||||
@ -1529,8 +1583,9 @@ void WebView::keyPressEvent(QKeyEvent* event)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
QWebView::keyPressEvent(event);
|
||||
QWebEngineView::keyPressEvent(event);
|
||||
}
|
||||
|
||||
void WebView::keyReleaseEvent(QKeyEvent* event)
|
||||
@ -1539,23 +1594,29 @@ void WebView::keyReleaseEvent(QKeyEvent* event)
|
||||
return;
|
||||
}
|
||||
|
||||
QWebView::keyReleaseEvent(event);
|
||||
QWebEngineView::keyReleaseEvent(event);
|
||||
}
|
||||
|
||||
void WebView::resizeEvent(QResizeEvent* event)
|
||||
{
|
||||
QWebView::resizeEvent(event);
|
||||
QWebEngineView::resizeEvent(event);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
emit viewportResized(page()->viewportSize());
|
||||
#endif
|
||||
}
|
||||
|
||||
void WebView::loadRequest(const LoadRequest &req)
|
||||
{
|
||||
m_aboutToLoadUrl = req.url();
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
if (req.operation() == LoadRequest::GetOperation)
|
||||
QWebView::load(req.networkRequest());
|
||||
QWebEngineView::load(req.networkRequest());
|
||||
else
|
||||
QWebView::load(req.networkRequest(), QNetworkAccessManager::PostOperation, req.data());
|
||||
QWebEngineView::load(req.networkRequest(), QNetworkAccessManager::PostOperation, req.data());
|
||||
#else
|
||||
QWebEngineView::load(req.url());
|
||||
#endif
|
||||
}
|
||||
|
||||
bool WebView::eventFilter(QObject* obj, QEvent* event)
|
||||
@ -1568,6 +1629,7 @@ bool WebView::eventFilter(QObject* obj, QEvent* event)
|
||||
}
|
||||
}
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
// This hack is no longer needed with QtWebKit 2.3 (bundled in Qt 5)
|
||||
#if QTWEBKIT_TO_2_3
|
||||
// This function was taken and modified from QTestBrowser to fix bug #33 with flightradar24.com
|
||||
@ -1588,6 +1650,7 @@ bool WebView::eventFilter(QObject* obj, QEvent* event)
|
||||
if (ev->type() == QEvent::MouseMove && !(ev->buttons() & Qt::LeftButton)) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ev->type() == QEvent::MouseButtonPress && !(ev->buttons() & Qt::LeftButton)) {
|
||||
return false;
|
||||
@ -1634,5 +1697,5 @@ bool WebView::eventFilter(QObject* obj, QEvent* event)
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
return QWebView::eventFilter(obj, event);
|
||||
return QWebEngineView::eventFilter(obj, event);
|
||||
}
|
||||
|
@ -18,8 +18,11 @@
|
||||
#ifndef WEBVIEW_H
|
||||
#define WEBVIEW_H
|
||||
|
||||
#include <QWebView>
|
||||
#include <QIcon>
|
||||
#include <QWebEngineView>
|
||||
#if QTWEBENGINE_DISABLED
|
||||
#include <QWebElement>
|
||||
#endif
|
||||
|
||||
#include "qzcommon.h"
|
||||
#include "loadrequest.h"
|
||||
@ -27,7 +30,7 @@
|
||||
class WebPage;
|
||||
class LoadRequest;
|
||||
|
||||
class QUPZILLA_EXPORT WebView : public QWebView
|
||||
class QUPZILLA_EXPORT WebView : public QWebEngineView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@ -41,7 +44,7 @@ public:
|
||||
bool isTitleEmpty() const;
|
||||
|
||||
WebPage* page() const;
|
||||
void setPage(QWebPage* page);
|
||||
void setPage(QWebEnginePage* page);
|
||||
|
||||
void load(const LoadRequest &request);
|
||||
bool loadingError() const;
|
||||
@ -51,7 +54,9 @@ public:
|
||||
void fakeLoadingProgress(int progress);
|
||||
|
||||
bool hasRss() const;
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElement activeElement() const;
|
||||
#endif
|
||||
|
||||
// Set zoom level (0 - 17)
|
||||
int zoomLevel() const;
|
||||
@ -100,7 +105,9 @@ public slots:
|
||||
void back();
|
||||
void forward();
|
||||
|
||||
void printPage(QWebFrame* frame = 0);
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void printPage(QWebEngineFrame* frame = 0);
|
||||
#endif
|
||||
void sendPageByMail();
|
||||
void savePageAs();
|
||||
|
||||
@ -124,7 +131,9 @@ protected slots:
|
||||
void downloadUrlToDisk();
|
||||
void copyImageToClipboard();
|
||||
void openActionUrl();
|
||||
void showSource(QWebFrame* frame = 0, const QString &selectedHtml = QString());
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void showSource(QWebEngineFrame* frame = 0, const QString &selectedHtml = QString());
|
||||
#endif
|
||||
void showSiteInfo();
|
||||
void searchSelectedText();
|
||||
void searchSelectedTextInBackgroundTab();
|
||||
@ -136,7 +145,9 @@ protected slots:
|
||||
void userDefinedOpenUrlInNewTab(const QUrl &url = QUrl(), bool invert = false);
|
||||
void userDefinedOpenUrlInBgTab(const QUrl &url = QUrl());
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void createSearchEngine();
|
||||
#endif
|
||||
|
||||
// Clicked frame actions
|
||||
void loadClickedFrame();
|
||||
@ -162,6 +173,7 @@ protected:
|
||||
void applyZoom();
|
||||
QUrl lastUrl();
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
bool isMediaElement(const QWebElement &element);
|
||||
void checkForForm(QMenu* menu, const QWebElement &element);
|
||||
|
||||
@ -171,10 +183,13 @@ protected:
|
||||
void createImageContextMenu(QMenu* menu, const QWebHitTestResult &hitTest);
|
||||
void createSelectedTextContextMenu(QMenu* menu, const QWebHitTestResult &hitTest);
|
||||
void createMediaContextMenu(QMenu* menu, const QWebHitTestResult &hitTest);
|
||||
#endif
|
||||
|
||||
private slots:
|
||||
#if QTWEBENGINE_DISABLED
|
||||
void pauseMedia();
|
||||
void muteMedia();
|
||||
#endif
|
||||
void frameStateChanged();
|
||||
void emitChangedUrl();
|
||||
void checkRss();
|
||||
@ -196,8 +211,10 @@ private:
|
||||
QUrl m_aboutToLoadUrl;
|
||||
QUrl m_lastUrl;
|
||||
|
||||
#if QTWEBENGINE_DISABLED
|
||||
QWebElement m_clickedElement;
|
||||
QWebFrame* m_clickedFrame;
|
||||
QWebEngineFrame* m_clickedFrame;
|
||||
#endif
|
||||
QUrl m_clickedUrl;
|
||||
|
||||
WebPage* m_page;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user