diff options
author | Robert C. Helling <helling@atdotde.de> | 2016-08-09 00:12:12 +0200 |
---|---|---|
committer | Robert C. Helling <helling@atdotde.de> | 2016-12-30 19:43:00 +0100 |
commit | 529a4d499b8dad35de6cd43e3004017ccfd288aa (patch) | |
tree | fb0f163c32c029134a849ac49183849870b3c0ae /desktop-widgets/plugins | |
parent | 10b8bda6626fe1de602e38da34de419972031755 (diff) | |
download | subsurface-529a4d499b8dad35de6cd43e3004017ccfd288aa.tar.gz |
Start transition from QWebKit to QWebEngine
This removes all references to WebKit if cmake option USE_WEBKIT is enabled.
For the user manual it changes it to WebEngine (seems to work for me).
Similar for the Facebook connection (minus a reference to a cookie jar).
This I could not test at the moment, as I wrote this on a train.
Printing does not work, it is a null operation at the moment. Currently,
large parts of of the printing code are commented out as there is no direct
way to access page elements in WebEngine. It seems this needs to be done
via Javascript (with a callback invoked). There is new functionality in
WebEngine to render a view to a PDF file but this needs more work (and
probably some thoughts towards page breaks).
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Diffstat (limited to 'desktop-widgets/plugins')
-rw-r--r-- | desktop-widgets/plugins/facebook/facebookconnectwidget.cpp | 17 | ||||
-rw-r--r-- | desktop-widgets/plugins/facebook/facebookconnectwidget.h | 8 |
2 files changed, 24 insertions, 1 deletions
diff --git a/desktop-widgets/plugins/facebook/facebookconnectwidget.cpp b/desktop-widgets/plugins/facebook/facebookconnectwidget.cpp index e0d2aab67..40d598229 100644 --- a/desktop-widgets/plugins/facebook/facebookconnectwidget.cpp +++ b/desktop-widgets/plugins/facebook/facebookconnectwidget.cpp @@ -16,8 +16,11 @@ #include <QDebug> #include <QMessageBox> #include <QInputDialog> +#ifdef USE_WEBENGINE +#include <QWebEngineView> +#else #include <QWebView> - +#endif #include "mainwindow.h" #include "profile-widget/profilewidget2.h" @@ -224,14 +227,22 @@ void FacebookManager::sendDive() FacebookConnectWidget::FacebookConnectWidget(QWidget *parent) : QDialog(parent), ui(new Ui::FacebookConnectWidget) { ui->setupUi(this); FacebookManager *fb = FacebookManager::instance(); +#ifdef USE_WEBENGINE + facebookWebView = new QWebEngineView(this); +#else facebookWebView = new QWebView(this); +#endif ui->fbWebviewContainer->layout()->addWidget(facebookWebView); if (fb->loggedIn()) { facebookLoggedIn(); } else { facebookDisconnect(); } +#ifdef USE_WEBENGINE + connect(facebookWebView, &QWebEngineView::urlChanged, fb, &FacebookManager::tryLogin); +#else connect(facebookWebView, &QWebView::urlChanged, fb, &FacebookManager::tryLogin); +#endif connect(fb, &FacebookManager::justLoggedIn, this, &FacebookConnectWidget::facebookLoggedIn); } @@ -250,7 +261,11 @@ void FacebookConnectWidget::facebookDisconnect() ui->fbWebviewContainer->setEnabled(true); ui->FBLabel->setText(tr("To connect to Facebook, please log in. This enables Subsurface to publish dives to your timeline")); if (facebookWebView) { +#ifdef USE_WEBENGINE + //FIX ME +#else facebookWebView->page()->networkAccessManager()->setCookieJar(new QNetworkCookieJar()); +#endif facebookWebView->setUrl(FacebookManager::instance()->connectUrl()); } } diff --git a/desktop-widgets/plugins/facebook/facebookconnectwidget.h b/desktop-widgets/plugins/facebook/facebookconnectwidget.h index e97097806..8fbf249e2 100644 --- a/desktop-widgets/plugins/facebook/facebookconnectwidget.h +++ b/desktop-widgets/plugins/facebook/facebookconnectwidget.h @@ -2,7 +2,11 @@ #define FACEBOOKCONNECTWIDGET_H #include <QDialog> +#ifdef USE_WEBENGINE +class QWebEngineView; +#else class QWebView; +#endif namespace Ui { class FacebookConnectWidget; class SocialnetworksDialog; @@ -41,7 +45,11 @@ public: void facebookDisconnect(); private: Ui::FacebookConnectWidget *ui; +#ifdef USE_WEBENGINE + QWebEngineView *facebookWebView; +#else QWebView *facebookWebView; +#endif }; class SocialNetworkDialog : public QDialog { |