diff options
| author | LePresidente <brian.alexander.munro@gmail.com> | 2017-01-04 14:22:18 +0200 |
|---|---|---|
| committer | Brian Munro <brian.alexander.munro@gmail.com> | 2017-01-04 14:23:53 +0200 |
| commit | 99156abc6e0779ed3de437c0005b6de8293c7a15 (patch) | |
| tree | 15cc0cce34a5e5302a0279fe1f7807bd8dffe234 /src | |
| parent | 7432f7870b2021fe88a6f99aa0d192249fd35ea1 (diff) | |
First attempt to update to QT5.7
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | src/browserdialog.cpp | 32 | ||||
| -rw-r--r-- | src/browserdialog.h | 2 | ||||
| -rw-r--r-- | src/browserview.cpp | 35 | ||||
| -rw-r--r-- | src/browserview.h | 8 | ||||
| -rw-r--r-- | src/modinfodialog.cpp | 3 | ||||
| -rw-r--r-- | src/modinfodialog.ui | 6 |
7 files changed, 48 insertions, 46 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 500dc56b..0d330d72 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -233,10 +233,10 @@ SET(CMAKE_INCLUDE_CURRENT_DIR ON) SET(CMAKE_AUTOMOC ON) SET(CMAKE_AUTOUIC ON) FIND_PACKAGE(Qt5Widgets REQUIRED) -FIND_PACKAGE(Qt5Declarative REQUIRED) +FIND_PACKAGE(Qt5QuickWidgets REQUIRED) FIND_PACKAGE(Qt5Network REQUIRED) FIND_PACKAGE(Qt5WinExtras REQUIRED) -FIND_PACKAGE(Qt5WebKitWidgets REQUIRED) +FIND_PACKAGE(Qt5WebEngineWidgets REQUIRED) FIND_PACKAGE(Qt5LinguistTools) QT5_WRAP_UI(organizer_UIHDRS ${organizer_UIS}) QT5_ADD_RESOURCES(organizer_RCCPPS ${organizer_QRCS}) @@ -299,7 +299,7 @@ ENDIF() ADD_EXECUTABLE(ModOrganizer WIN32 ${organizer_HDRS} ${organizer_SRCS} ${organizer_UIHDRS} ${organizer_RCS} ${organizer_RCCPPS} ${organizer_translations_qm}) TARGET_LINK_LIBRARIES(ModOrganizer - Qt5::Widgets Qt5::WinExtras Qt5::WebKitWidgets + Qt5::Widgets Qt5::WinExtras Qt5::WebEngineWidgets ${Boost_LIBRARIES} zlibstatic uibase esptk bsatk githubpp @@ -313,7 +313,7 @@ SET_TARGET_PROPERTIES(ModOrganizer PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/LARGEADDRESSAWARE ${OPTIMIZE_LINK_FLAGS}") -QT5_USE_MODULES(ModOrganizer Widgets Declarative Network WebKitWidgets) +QT5_USE_MODULES(ModOrganizer Widgets Script Qml QuickWidgets Network WebEngineWidgets) ############### diff --git a/src/browserdialog.cpp b/src/browserdialog.cpp index e5f0f21d..c2c65acc 100644 --- a/src/browserdialog.cpp +++ b/src/browserdialog.cpp @@ -28,13 +28,13 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include <utility.h>
#include "settings.h"
+#include <QWebEngineSettings>
#include <QNetworkCookieJar>
#include <QNetworkCookie>
#include <QMenu>
#include <QInputDialog>
-#include <QWebHistory>
+#include <QWebEngineHistory>
#include <QDir>
-#include <QWebFrame>
#include <QDesktopWidget>
#include <QKeyEvent>
@@ -77,8 +77,8 @@ void BrowserDialog::closeEvent(QCloseEvent *event) void BrowserDialog::initTab(BrowserView *newView)
{
- newView->page()->setNetworkAccessManager(m_AccessManager);
- newView->page()->setForwardUnsupportedContent(true);
+ //newView->page()->setNetworkAccessManager(m_AccessManager);
+ //newView->page()->setForwardUnsupportedContent(true);
connect(newView, SIGNAL(loadProgress(int)), this, SLOT(progress(int)));
connect(newView, SIGNAL(titleChanged(QString)), this, SLOT(titleChanged(QString)));
@@ -86,14 +86,14 @@ void BrowserDialog::initTab(BrowserView *newView) connect(newView, SIGNAL(startFind()), this, SLOT(startSearch()));
connect(newView, SIGNAL(urlChanged(QUrl)), this, SLOT(urlChanged(QUrl)));
connect(newView, SIGNAL(openUrlInNewTab(QUrl)), this, SLOT(openInNewTab(QUrl)));
- connect(newView->page(), SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest)));
- connect(newView->page(), SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(unsupportedContent(QNetworkReply*)));
+ connect(newView, SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest)));
+ connect(newView, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(unsupportedContent(QNetworkReply*)));
ui->backBtn->setEnabled(false);
ui->fwdBtn->setEnabled(false);
m_Tabs->addTab(newView, tr("new"));
- newView->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
- newView->settings()->setAttribute(QWebSettings::AutoLoadImages, true);
+ newView->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
+ newView->settings()->setAttribute(QWebEngineSettings::AutoLoadImages, true);
}
@@ -133,10 +133,10 @@ void BrowserDialog::openUrl(const QUrl &url) void BrowserDialog::maximizeWidth()
{
- int viewportWidth = getCurrentView()->page()->viewportSize().width();
+ int viewportWidth = getCurrentView()->page()->contentsSize ().width();
int frameWidth = width() - viewportWidth;
- int contentWidth = getCurrentView()->page()->mainFrame()->contentsSize().width();
+ int contentWidth = getCurrentView()->page()->contentsSize().width();
QDesktopWidget screen;
int currentScreen = screen.screenNumber(this);
@@ -190,7 +190,7 @@ QString BrowserDialog::guessFileName(const QString &url) void BrowserDialog::unsupportedContent(QNetworkReply *reply)
{
try {
- QWebPage *page = qobject_cast<QWebPage*>(sender());
+ QWebEnginePage *page = qobject_cast<QWebEnginePage*>(sender());
if (page == nullptr) {
qCritical("sender not a page");
return;
@@ -252,10 +252,10 @@ void BrowserDialog::startSearch() void BrowserDialog::on_searchEdit_returnPressed()
{
- BrowserView *currentView = getCurrentView();
- if (currentView != nullptr) {
- currentView->findText(ui->searchEdit->text(), QWebPage::FindWrapsAroundDocument);
- }
+// BrowserView *currentView = getCurrentView();
+// if (currentView != nullptr) {
+// currentView->findText(ui->searchEdit->text(), QWebEnginePage::FindWrapsAroundDocument);
+// }
}
void BrowserDialog::on_refreshBtn_clicked()
@@ -274,7 +274,7 @@ void BrowserDialog::on_browserTabWidget_currentChanged(int index) void BrowserDialog::on_urlEdit_returnPressed()
{
- QWebView *currentView = getCurrentView();
+ QWebEngineView *currentView = getCurrentView();
if (currentView != nullptr) {
currentView->setUrl(QUrl(ui->urlEdit->text()));
}
diff --git a/src/browserdialog.h b/src/browserdialog.h index 04567f5f..354a377b 100644 --- a/src/browserdialog.h +++ b/src/browserdialog.h @@ -24,7 +24,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include <QNetworkRequest>
#include <QNetworkReply>
#include <QTimer>
-#include <QWebView>
+#include <QWebEngineView>
#include <QQueue>
#include <QTabWidget>
#include <QAtomicInt>
diff --git a/src/browserview.cpp b/src/browserview.cpp index aeb16520..0b871e23 100644 --- a/src/browserview.cpp +++ b/src/browserview.cpp @@ -21,23 +21,23 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include <QEvent>
#include <QKeyEvent>
-#include <QWebFrame>
-#include <QWebElement>
#include <QNetworkDiskCache>
+#include <QWebEngineContextMenuData>
+#include <QWebEngineSettings>
#include <QMenu>
#include <Shlwapi.h>
#include "utility.h"
BrowserView::BrowserView(QWidget *parent)
- : QWebView(parent)
+ : QWebEngineView(parent)
{
installEventFilter(this);
- page()->settings()->setMaximumPagesInCache(10);
+ //page()->settings()->setMaximumPagesInCache(10);
}
-QWebView *BrowserView::createWindow(QWebPage::WebWindowType)
+QWebEngineView *BrowserView::createWindow(QWebEnginePage::WebWindowType)
{
BrowserView *newView = new BrowserView(parentWidget());
emit initTab(newView);
@@ -59,17 +59,18 @@ bool BrowserView::eventFilter(QObject *obj, QEvent *event) mouseEvent->ignore();
return true;
}
- } else if (event->type() == QEvent::MouseButtonRelease) {
- QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
- if (mouseEvent->button() == Qt::MidButton) {
- QWebHitTestResult hitTest = page()->frameAt(mouseEvent->pos())->hitTestContent(mouseEvent->pos());
- if (hitTest.linkUrl().isValid()) {
- emit openUrlInNewTab(hitTest.linkUrl());
- }
- mouseEvent->ignore();
-
- return true;
- }
+// TODO This is due to that QTWebEnginePage doesn't support QWebFrame anymore
+// } else if (event->type() == QEvent::MouseButtonRelease) {
+// QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
+// if (mouseEvent->button() == Qt::MidButton) {
+// QWebEngineContextMenuData hitTest = page()->hitTestContent(mouseEvent->pos());
+// if (hitTest.linkUrl().isValid()) {
+// emit openUrlInNewTab(hitTest.linkUrl());
+// }
+// mouseEvent->ignore();
+//
+// return true;
+// }
}
- return QWebView::eventFilter(obj, event);
+ return QWebEngineView::eventFilter(obj, event);
}
diff --git a/src/browserview.h b/src/browserview.h index 6a89752a..24be21c1 100644 --- a/src/browserview.h +++ b/src/browserview.h @@ -24,13 +24,13 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. class QEvent;
class QUrl;
class QWidget;
-#include <QWebView>
-#include <QWebPage>
+#include <QWebEngineView>
+#include <QWebEnginePage>
/**
* @brief web view used to display a nexus page
**/
-class BrowserView : public QWebView
+class BrowserView : public QWebEngineView
{
Q_OBJECT
@@ -66,7 +66,7 @@ signals: protected:
- virtual QWebView *createWindow(QWebPage::WebWindowType type);
+ virtual QWebEngineView *createWindow(QWebEnginePage::WebWindowType type);
virtual bool eventFilter(QObject *obj, QEvent *event);
diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index e1a2183c..0e77859a 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -89,7 +89,8 @@ ModInfoDialog::ModInfoDialog(ModInfo::Ptr modInfo, const DirectoryEntry *directo connect(this, SIGNAL(thumbnailClickedSignal(const QString&)), this, SLOT(thumbnailClicked(const QString&)));
connect(m_ModInfo.data(), SIGNAL(modDetailsUpdated(bool)), this, SLOT(modDetailsUpdated(bool)));
connect(ui->descriptionView, SIGNAL(linkClicked(QUrl)), this, SLOT(linkClicked(QUrl)));
- ui->descriptionView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
+ //TODO: No easy way to delegate links
+ //ui->descriptionView->page()->acceptNavigationRequest(QWebEnginePage::DelegateAllLinks);
if (directory->originExists(ToWString(modInfo->name()))) {
m_Origin = &directory->getOriginByName(ToWString(modInfo->name()));
diff --git a/src/modinfodialog.ui b/src/modinfodialog.ui index a03edef7..a452bc59 100644 --- a/src/modinfodialog.ui +++ b/src/modinfodialog.ui @@ -678,7 +678,7 @@ p, li { white-space: pre-wrap; } </layout>
</item>
<item>
- <widget class="QWebView" name="descriptionView">
+ <widget class="QWebEngineView" name="descriptionView">
<property name="url">
<url>
<string>about:blank</string>
@@ -807,9 +807,9 @@ p, li { white-space: pre-wrap; } </widget>
<customwidgets>
<customwidget>
- <class>QWebView</class>
+ <class>QQuickWidget</class>
<extends>QWidget</extends>
- <header>QtWebKitWidgets/QWebView</header>
+ <header>QtQuickWidgets/QQuickWidget</header>
</customwidget>
</customwidgets>
<resources>
|
