--- desktop-2.5.0-beta1/src/libsync/networkjobs.cpp 2018-08-02 16:32:56.000000000 -0400
+++ desktop-2.5.0-beta1/src/libsync/networkjobs.cpp 2018-08-15 19:10:43.340595365 -0400
@@ -922,7 +922,7 @@
// WebViewFlow > OAuth > Shib > Basic
if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
- result = WebViewFlow;
+ result = Basic;
}
qCInfo(lcDetermineAuthTypeJob) << "Auth type for" << _account->davUrl() << "is" << result;
--- desktop-2.5.0-beta1/src/gui/creds/webflowcredentialsdialog.cpp 2018-08-02 16:32:56.000000000 -0400
+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
@@ -1,49 +0,0 @@
-#include "webflowcredentialsdialog.h"
-
-#include <QVBoxLayout>
-#include <QLabel>
-
-#include "wizard/webview.h"
-
-namespace OCC {
-
-WebFlowCredentialsDialog::WebFlowCredentialsDialog(QWidget *parent)
- : QDialog(parent)
-{
- _layout = new QVBoxLayout(this);
-
- //QString msg = tr("You have been logged out of %1 as user %2, please login again")
- // .arg(_account->displayName(), _user);
- _infoLabel = new QLabel();
- _layout->addWidget(_infoLabel);
-
- _webView = new WebView();
- _layout->addWidget(_webView);
-
- _errorLabel = new QLabel();
- _errorLabel->hide();
- _layout->addWidget(_errorLabel);
-
- setLayout(_layout);
-
- connect(_webView, &WebView::urlCatched, this, &WebFlowCredentialsDialog::urlCatched);
-}
-
-void WebFlowCredentialsDialog::setUrl(const QUrl &url) {
- _webView->setUrl(url);
-}
-
-void WebFlowCredentialsDialog::setInfo(const QString &msg) {
- _infoLabel->setText(msg);
-}
-
-void WebFlowCredentialsDialog::setError(const QString &error) {
- if (error.isEmpty()) {
- _errorLabel->hide();
- } else {
- _errorLabel->setText(error);
- _errorLabel->show();
- }
-}
-
-}
--- desktop-2.5.0-beta1/src/gui/creds/webflowcredentials.cpp 2018-08-02 16:32:56.000000000 -0400
+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
@@ -1,258 +0,0 @@
-#include "webflowcredentials.h"
-
-#include "creds/httpcredentials.h"
-
-#include <QAuthenticator>
-#include <QNetworkAccessManager>
-#include <QNetworkReply>
-#include <QPointer>
-#include <QTimer>
-#include <keychain.h>
-#include <QDialog>
-#include <QVBoxLayout>
-#include <QLabel>
-
-#include "accessmanager.h"
-#include "account.h"
-#include "theme.h"
-#include "wizard/webview.h"
-#include "webflowcredentialsdialog.h"
-
-using namespace QKeychain;
-
-namespace OCC {
-
-Q_LOGGING_CATEGORY(lcWebFlowCredentials, "sync.credentials.webflow", QtInfoMsg)
-
-WebFlowCredentials::WebFlowCredentials()
- : _ready(false),
- _credentialsValid(false)
-{
-
-}
-
-WebFlowCredentials::WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate, const QSslKey &key)
- : _user(user)
- , _password(password)
- , _clientSslKey(key)
- , _clientSslCertificate(certificate)
- , _ready(true)
- , _credentialsValid(true)
-{
-
-}
-
-QString WebFlowCredentials::authType() const {
- return QString::fromLatin1("webflow");
-}
-
-QString WebFlowCredentials::user() const {
- return _user;
-}
-
-QString WebFlowCredentials::password() const {
- return _password;
-}
-
-QNetworkAccessManager *WebFlowCredentials::createQNAM() const {
- qCInfo(lcWebFlowCredentials()) << "Get QNAM";
- AccessManager *qnam = new AccessManager();
-
- connect(qnam, &AccessManager::authenticationRequired, this, &WebFlowCredentials::slotAuthentication);
- connect(qnam, &AccessManager::finished, this, &WebFlowCredentials::slotFinished);
-
- return qnam;
-}
-
-bool WebFlowCredentials::ready() const {
- return _ready;
-}
-
-void WebFlowCredentials::fetchFromKeychain() {
- _wasFetched = true;
-
- // Make sure we get the user fromt he config file
- fetchUser();
-
- if (ready()) {
- emit fetched();
- } else {
- qCInfo(lcWebFlowCredentials()) << "Fetch from keyhchain!";
- fetchFromKeychainHelper();
- }
-}
-
-void WebFlowCredentials::askFromUser() {
- _askDialog = new WebFlowCredentialsDialog();
-
- QUrl url = _account->url();
- QString path = url.path() + "/index.php/login/flow";
- url.setPath(path);
- _askDialog->setUrl(url);
-
- QString msg = tr("You have been logged out of %1 as user %2. Please login again")
- .arg(_account->displayName(), _user);
- _askDialog->setInfo(msg);
-
- _askDialog->show();
-
- connect(_askDialog, &WebFlowCredentialsDialog::urlCatched, this, &WebFlowCredentials::slotAskFromUserCredentialsProvided);
-
- qCWarning(lcWebFlowCredentials()) << "User needs to reauth!";
-}
-
-void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user, const QString &pass, const QString &host) {
- Q_UNUSED(host);
-
- if (_user != user) {
- qCInfo(lcWebFlowCredentials()) << "Authed with the wrong user!";
-
- QString msg = tr("Please login with the user: %1")
- .arg(_user);
- _askDialog->setError(msg);
-
- QUrl url = _account->url();
- QString path = url.path() + "/index.php/login/flow";
- url.setPath(path);
- _askDialog->setUrl(url);
-
- return;
- }
-
- qCInfo(lcWebFlowCredentials()) << "Obtained a new password";
-
- _password = pass;
- _ready = true;
- _credentialsValid = true;
- persist();
- emit asked();
-
- _askDialog->close();
- delete _askDialog;
- _askDialog = NULL;
-}
-
-
-bool WebFlowCredentials::stillValid(QNetworkReply *reply) {
- qCWarning(lcWebFlowCredentials()) << "Still valid?";
- qCWarning(lcWebFlowCredentials()) << reply->error();
- qCWarning(lcWebFlowCredentials()) << reply->errorString();
- return (reply->error() != QNetworkReply::AuthenticationRequiredError);
-}
-
-void WebFlowCredentials::persist() {
- if (_user.isEmpty()) {
- // We don't even have a user nothing to see here move along
- return;
- }
-
- _account->setCredentialSetting("user", _user);
- _account->wantsAccountSaved(_account);
-
- //TODO: Add ssl cert and key storing
- WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName());
- job->setInsecureFallback(false);
- job->setKey(keychainKey(_account->url().toString(), _user, _account->id()));
- job->setTextData(_password);
- job->start();
-}
-
-void WebFlowCredentials::invalidateToken() {
- // clear the session cookie.
- _account->clearCookieJar();
-
- // let QNAM forget about the password
- // This needs to be done later in the event loop because we might be called (directly or
- // indirectly) from QNetworkAccessManagerPrivate::authenticationRequired, which itself
- // is a called from a BlockingQueuedConnection from the Qt HTTP thread. And clearing the
- // cache needs to synchronize again with the HTTP thread.
- QTimer::singleShot(0, _account, &Account::clearQNAMCache);
-}
-
-void WebFlowCredentials::forgetSensitiveData(){
- _password = QString();
- _ready = false;
-
- fetchUser();
-
- const QString kck = keychainKey(_account->url().toString(), _user, _account->id());
- if (kck.isEmpty()) {
- qCWarning(lcWebFlowCredentials()) << "InvalidateToken: User is empty, bailing out!";
- return;
- }
-
- DeletePasswordJob *job = new DeletePasswordJob(Theme::instance()->appName());
- job->setInsecureFallback(false);
- job->setKey(kck);
- job->start();
-
- invalidateToken();
-}
-
-void WebFlowCredentials::setAccount(Account *account) {
- AbstractCredentials::setAccount(account);
- if (_user.isEmpty()) {
- fetchUser();
- }
-}
-
-QString WebFlowCredentials::fetchUser() {
- _user = _account->credentialSetting("user").toString();
- return _user;
-}
-
-void WebFlowCredentials::slotAuthentication(QNetworkReply *reply, QAuthenticator *authenticator) {
- Q_UNUSED(reply);
-
- if (!_ready) {
- return;
- }
-
- if (_credentialsValid == false) {
- return;
- }
-
- qCWarning(lcWebFlowCredentials()) << "Requires authentication";
-
- authenticator->setUser(_user);
- authenticator->setPassword(_password);
- _credentialsValid = false;
-}
-
-void WebFlowCredentials::slotFinished(QNetworkReply *reply) {
- qCInfo(lcWebFlowCredentials()) << "request finished";
-
- if (reply->error() == QNetworkReply::NoError) {
- _credentialsValid = true;
- }
-}
-
-void WebFlowCredentials::fetchFromKeychainHelper() {
- const QString kck = keychainKey(
- _account->url().toString(),
- _user,
- _account->id());
-
- ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName());
- job->setInsecureFallback(false);
- job->setKey(kck);
- connect(job, &Job::finished, this, &WebFlowCredentials::slotReadPasswordJobDone);
- job->start();
-}
-
-void WebFlowCredentials::slotReadPasswordJobDone(Job *incomingJob) {
- QKeychain::ReadPasswordJob *job = static_cast<ReadPasswordJob *>(incomingJob);
- QKeychain::Error error = job->error();
-
- if (error == QKeychain::NoError) {
- _password = job->textData();
- _ready = true;
- _credentialsValid = true;
- } else {
- _ready = false;
- }
-
- emit fetched();
-}
-
-}
--- desktop-2.5.0-beta1/src/gui/creds/webflowcredentialsdialog.h 2018-08-02 16:32:56.000000000 -0400
+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
@@ -1,36 +0,0 @@
-#ifndef WEBFLOWCREDENTIALSDIALOG_H
-#define WEBFLOWCREDENTIALSDIALOG_H
-
-#include <QDialog>
-#include <QUrl>
-
-class QLabel;
-class QVBoxLayout;
-
-namespace OCC {
-
-class WebView;
-
-class WebFlowCredentialsDialog : public QDialog
-{
- Q_OBJECT
-public:
- WebFlowCredentialsDialog(QWidget *parent = 0);
-
- void setUrl(const QUrl &url);
- void setInfo(const QString &msg);
- void setError(const QString &error);
-
-signals:
- void urlCatched(const QString user, const QString pass, const QString host);
-
-private:
- WebView *_webView;
- QLabel *_errorLabel;
- QLabel *_infoLabel;
- QVBoxLayout *_layout;
-};
-
-}
-
-#endif // WEBFLOWCREDENTIALSDIALOG_H
--- desktop-2.5.0-beta1/src/gui/creds/credentialsfactory.cpp 2018-08-02 16:32:56.000000000 -0400
+++ desktop-2.5.0-beta1/src/gui/creds/credentialsfactory.cpp 2018-08-15 19:29:27.240615471 -0400
@@ -21,7 +21,6 @@
#ifndef NO_SHIBBOLETH
#include "creds/shibbolethcredentials.h"
#endif
-#include "creds/webflowcredentials.h"
namespace OCC {
@@ -40,8 +39,6 @@
} else if (type == "shibboleth") {
return new ShibbolethCredentials;
#endif
- } else if (type == "webflow") {
- return new WebFlowCredentials;
} else {
qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
return new DummyCredentials;
--- desktop-2.5.0-beta1/src/gui/creds/webflowcredentials.h 2018-08-02 16:32:56.000000000 -0400
+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
@@ -1,79 +0,0 @@
-#ifndef WEBFLOWCREDENTIALS_H
-#define WEBFLOWCREDENTIALS_H
-
-#include <QSslCertificate>
-#include <QSslKey>
-
-#include "creds/abstractcredentials.h"
-
-class QDialog;
-class QLabel;
-class QNetworkReply;
-class QAuthenticator;
-
-namespace QKeychain {
- class Job;
-}
-
-namespace OCC {
-
-class WebFlowCredentialsDialog;
-
-class WebFlowCredentials : public AbstractCredentials
-{
- Q_OBJECT
-public:
- explicit WebFlowCredentials();
- WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate = QSslCertificate(), const QSslKey &key = QSslKey());
-
- QString authType() const override;
- QString user() const override;
- QString password() const;
- QNetworkAccessManager *createQNAM() const override;
-
- bool ready() const override;
-
- void fetchFromKeychain() override;
- void askFromUser() override;
-
- bool stillValid(QNetworkReply *reply) override;
- void persist() override;
- void invalidateToken() override;
- void forgetSensitiveData() override;
-
- // To fetch the user name as early as possible
- void setAccount(Account *account) override;
-
-private slots:
- void slotAuthentication(QNetworkReply *reply, QAuthenticator *authenticator);
- void slotFinished(QNetworkReply *reply);
-
- void slotReadPasswordJobDone(QKeychain::Job *incomingJob);
- void slotAskFromUserCredentialsProvided(const QString &user, const QString &pass, const QString &host);
-
-private:
- /** Reads data from keychain locations
- *
- * Goes through
- * slotReadClientCertPEMJobDone to
- * slotReadClientCertPEMJobDone to
- * slotReadJobDone
- */
- void fetchFromKeychainHelper();
-
- QString fetchUser();
-
- QString _user;
- QString _password;
- QSslKey _clientSslKey;
- QSslCertificate _clientSslCertificate;
-
- bool _ready;
- bool _credentialsValid;
-
- WebFlowCredentialsDialog *_askDialog;
-};
-
-}
-
-#endif // WEBFLOWCREDENTIALS_H
--- desktop-2.5.0-beta1/src/gui/CMakeLists.txt 2018-08-02 16:32:56.000000000 -0400
+++ desktop-2.5.0-beta1/src/gui/CMakeLists.txt 2018-08-15 19:28:53.640614870 -0400
@@ -41,7 +41,6 @@
wizard/owncloudoauthcredspage.ui
wizard/owncloudsetupnocredspage.ui
wizard/owncloudwizardresultpage.ui
- wizard/webview.ui
)
set(client_SRCS
@@ -104,8 +103,6 @@
creds/credentialsfactory.cpp
creds/httpcredentialsgui.cpp
creds/oauth.cpp
- creds/webflowcredentials.cpp
- creds/webflowcredentialsdialog.cpp
wizard/postfixlineedit.cpp
wizard/abstractcredswizardpage.cpp
wizard/owncloudadvancedsetuppage.cpp
@@ -116,8 +113,6 @@
wizard/owncloudwizardcommon.cpp
wizard/owncloudwizard.cpp
wizard/owncloudwizardresultpage.cpp
- wizard/webviewpage.cpp
- wizard/webview.cpp
)
IF(NOT NO_SHIBBOLETH)
@@ -290,7 +290,7 @@
endif()
add_library(updater STATIC ${updater_SRCS})
-target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml Qt5::WebEngineWidgets)
+target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml)
target_include_directories(updater PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
--- desktop-2.5.0-beta2/src/gui/wizard/webview.cpp 2018-08-24 12:54:42.000000000 +0000
+++ /dev/null 2018-10-03 06:10:44.230254545 +0000
@@ -1,162 +0,0 @@
-#include "webview.h"
-
-#include <QWebEnginePage>
-#include <QWebEngineProfile>
-#include <QWebEngineUrlRequestInterceptor>
-#include <QWebEngineUrlRequestJob>
-#include <QWebEngineUrlSchemeHandler>
-#include <QWebEngineView>
-#include <QDesktopServices>
-#include <QProgressBar>
-#include <QLoggingCategory>
-#include <QLocale>
-
-#include "common/utility.h"
-
-namespace OCC {
-
-Q_LOGGING_CATEGORY(lcWizardWebiew, "gui.wizard.webview", QtInfoMsg)
-
-
-class WebViewPageUrlRequestInterceptor : public QWebEngineUrlRequestInterceptor
-{
- Q_OBJECT
-public:
- WebViewPageUrlRequestInterceptor(QObject *parent = 0);
- void interceptRequest(QWebEngineUrlRequestInfo &info);
-};
-
-class WebViewPageUrlSchemeHandler : public QWebEngineUrlSchemeHandler
-{
- Q_OBJECT
-public:
- WebViewPageUrlSchemeHandler(QObject *parent = 0);
- void requestStarted(QWebEngineUrlRequestJob *request);
-
-Q_SIGNALS:
- void urlCatched(QString user, QString pass, QString host);
-};
-
-class WebEnginePage : public QWebEnginePage {
-public:
- WebEnginePage(QWebEngineProfile *profile, QObject* parent = nullptr);
- QWebEnginePage * createWindow(QWebEnginePage::WebWindowType type) override;
-};
-
-// We need a separate class here, since we cannot simply return the same WebEnginePage object
-// this leads to a strage segfault somewhere deep inside of the QWebEngine code
-class ExternalWebEnginePage : public QWebEnginePage {
-public:
- ExternalWebEnginePage(QWebEngineProfile *profile, QObject* parent = nullptr);
- bool acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) override;
-};
-
-WebView::WebView(QWidget *parent)
- : QWidget(parent),
- _ui()
-{
- _ui.setupUi(this);
-
- _webview = new QWebEngineView(this);
- _profile = new QWebEngineProfile(this);
- _page = new WebEnginePage(_profile);
- _interceptor = new WebViewPageUrlRequestInterceptor(this);
- _schemeHandler = new WebViewPageUrlSchemeHandler(this);
-
- const QString userAgent(Utility::userAgentString());
- _profile->setHttpUserAgent(userAgent);
- QWebEngineProfile::defaultProfile()->setHttpUserAgent(userAgent);
- _profile->setRequestInterceptor(_interceptor);
- _profile->installUrlSchemeHandler("nc", _schemeHandler);
-
- /*
- * Set a proper accept langauge to the language of the client
- * code from: http://code.qt.io/cgit/qt/qtbase.git/tree/src/network/access/qhttpnetworkconnection.cpp
- */
- {
- QString systemLocale = QLocale::system().name().replace(QChar::fromLatin1('_'),QChar::fromLatin1('-'));
- QString acceptLanguage;
- if (systemLocale == QLatin1String("C")) {
- acceptLanguage = QString::fromLatin1("en,*");
- } else if (systemLocale.startsWith(QLatin1String("en-"))) {
- acceptLanguage = systemLocale + QLatin1String(",*");
- } else {
- acceptLanguage = systemLocale + QLatin1String(",en,*");
- }
- _profile->setHttpAcceptLanguage(acceptLanguage);
- }
-
- _webview->setPage(_page);
- _ui.verticalLayout->addWidget(_webview);
-
- connect(_webview, &QWebEngineView::loadProgress, _ui.progressBar, &QProgressBar::setValue);
- connect(_schemeHandler, &WebViewPageUrlSchemeHandler::urlCatched, this, &WebView::urlCatched);
-}
-
-void WebView::setUrl(const QUrl &url) {
- _page->setUrl(url);
-}
-
-WebViewPageUrlRequestInterceptor::WebViewPageUrlRequestInterceptor(QObject *parent)
- : QWebEngineUrlRequestInterceptor(parent) {
-
-}
-
-void WebViewPageUrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info) {
- info.setHttpHeader("OCS-APIREQUEST", "true");
-}
-
-WebViewPageUrlSchemeHandler::WebViewPageUrlSchemeHandler(QObject *parent)
- : QWebEngineUrlSchemeHandler(parent) {
-
-}
-
-void WebViewPageUrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request) {
- QUrl url = request->requestUrl();
-
- QString path = url.path().mid(1);
- QStringList parts = path.split("&");
-
- QString server;
- QString user;
- QString password;
-
- for (QString part : parts) {
- if (part.startsWith("server:")) {
- server = part.mid(7);
- } else if (part.startsWith("user:")) {
- user = part.mid(5);
- } else if (part.startsWith("password:")) {
- password = part.mid(9);
- }
- }
-
- qCInfo(lcWizardWebiew()) << "Got user: " << user << ", server: " << server;
-
- emit urlCatched(user, password, server);
-}
-
-
-WebEnginePage::WebEnginePage(QWebEngineProfile *profile, QObject* parent) : QWebEnginePage(profile, parent) {
-
-}
-
-QWebEnginePage * WebEnginePage::createWindow(QWebEnginePage::WebWindowType type) {
- ExternalWebEnginePage *view = new ExternalWebEnginePage(this->profile());
- return view;
-}
-
-ExternalWebEnginePage::ExternalWebEnginePage(QWebEngineProfile *profile, QObject* parent) : QWebEnginePage(profile, parent) {
-
-}
-
-
-bool ExternalWebEnginePage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
-{
- QDesktopServices::openUrl(url);
- return false;
-}
-
-}
-
-#include "webview.moc"
--- desktop-2.5.0-beta1/src/gui/wizard/webviewpage.cpp 2018-08-02 16:32:56.000000000 -0400
+++ /dev/null 2018-08-15 19:06:30.250590838 -0400
@@ -1,73 +0,0 @@
-#include "webviewpage.h"
-
-#include <QWebEngineUrlRequestJob>
-#include <QProgressBar>
-#include <QVBoxLayout>
-
-#include "owncloudwizard.h"
-#include "creds/webflowcredentials.h"
-#include "webview.h"
-#include "account.h"
-
-namespace OCC {
-
-Q_LOGGING_CATEGORY(lcWizardWebiewPage, "gui.wizard.webviewpage", QtInfoMsg)
-
-
-WebViewPage::WebViewPage(QWidget *parent)
- : AbstractCredentialsWizardPage()
-{
- _ocWizard = qobject_cast<OwncloudWizard *>(parent);
-
- qCInfo(lcWizardWebiewPage()) << "Time for a webview!";
- _webView = new WebView(this);
-
- QVBoxLayout *layout = new QVBoxLayout(this);
- layout->addWidget(_webView);
- setLayout(layout);
-
- connect(_webView, &WebView::urlCatched, this, &WebViewPage::urlCatched);
-}
-
-void WebViewPage::initializePage() {
- QString url;
- if (_ocWizard->registration()) {
- url = "https://nextcloud.com/register";
- } else {
- url = _ocWizard->ocUrl();
- url += "/index.php/login/flow";
- }
- qCInfo(lcWizardWebiewPage()) << "Url to auth at: " << url;
- _webView->setUrl(QUrl(url));
-}
-
-int WebViewPage::nextId() const {
- return WizardCommon::Page_AdvancedSetup;
-}
-
-bool WebViewPage::isComplete() const {
- return false;
-}
-
-AbstractCredentials* WebViewPage::getCredentials() const {
- return new WebFlowCredentials(_user, _pass, _ocWizard->_clientSslCertificate, _ocWizard->_clientSslKey);
-}
-
-void WebViewPage::setConnected() {
- qCInfo(lcWizardWebiewPage()) << "YAY! we are connected!";
-}
-
-void WebViewPage::urlCatched(QString user, QString pass, QString host) {
- qCInfo(lcWizardWebiewPage()) << "Got user: " << user << ", server: " << host;
-
- _user = user;
- _pass = pass;
-
- AccountPtr account = _ocWizard->account();
- account->setUrl(host);
-
- qCInfo(lcWizardWebiewPage()) << "URL: " << field("OCUrl").toString();
- emit connectToOCUrl(host);
-}
-
-}
--- desktop-2.5.0-beta2/src/gui/wizard/webview.h 2018-08-24 12:54:42.000000000 +0000
+++ /dev/null 2018-10-03 06:11:27.640255322 +0000
@@ -1,42 +0,0 @@
-#ifndef WEBVIEW_H
-#define WEBVIEW_H
-
-#include <QUrl>
-#include <QWidget>
-
-#include "ui_webview.h"
-
-class QWebEngineView;
-class QWebEngineProfile;
-class QWebEnginePage;
-
-namespace OCC {
-
-class WebViewPageUrlRequestInterceptor;
-class WebViewPageUrlSchemeHandler;
-class WebEnginePage;
-
-class WebView : public QWidget
-{
- Q_OBJECT
-public:
- WebView(QWidget *parent = 0);
- void setUrl(const QUrl &url);
-
-signals:
- void urlCatched(const QString user, const QString pass, const QString host);
-
-private:
- Ui_WebView _ui;
-
- QWebEngineView *_webview;
- QWebEngineProfile *_profile;
- WebEnginePage *_page;
-
- WebViewPageUrlRequestInterceptor *_interceptor;
- WebViewPageUrlSchemeHandler *_schemeHandler;
-};
-
-}
-
-#endif // WEBVIEW_H
--- desktop-2.5.0-beta1/src/gui/wizard/webviewpage.h 2018-08-02 16:32:56.000000000 -0400
+++ /dev/null 2018-08-15 19:25:56.010611692 -0400
@@ -1,41 +0,0 @@
-#ifndef WEBVIEWPAGE_H
-#define WEBVIEWPAGE_H
-
-#include "wizard/abstractcredswizardpage.h"
-
-namespace OCC {
-
-class AbstractCredentials;
-class OwncloudWizard;
-class WebView;
-
-class WebViewPage : public AbstractCredentialsWizardPage
-{
- Q_OBJECT
-public:
- WebViewPage(QWidget *parent = 0);
-
- void initializePage() Q_DECL_OVERRIDE;
- int nextId() const Q_DECL_OVERRIDE;
- bool isComplete() const;
-
- AbstractCredentials* getCredentials() const;
- void setConnected();
-
-signals:
- void connectToOCUrl(const QString&);
-
-private slots:
- void urlCatched(QString user, QString pass, QString host);
-
-private:
- OwncloudWizard *_ocWizard;
- WebView *_webView;
-
- QString _user;
- QString _pass;
-};
-
-}
-
-#endif // WEBVIEWPAGE_H
--- desktop-2.5.0-beta1/src/gui/wizard/owncloudsetuppage.cpp 2018-08-02 16:32:56.000000000 -0400
+++ desktop-2.5.0-beta1/src/gui/wizard/owncloudsetuppage.cpp 2018-08-15 19:23:33.100609136 -0400
@@ -161,7 +161,7 @@
void OwncloudSetupPage::slotGotoProviderList()
{
_ocWizard->setRegistration(true);
- _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
+ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
_authTypeKnown = true;
_checking = false;
emit completeChanged();
@@ -278,8 +278,6 @@
return WizardCommon::Page_OAuthCreds;
case DetermineAuthTypeJob::Shibboleth:
return WizardCommon::Page_ShibbolethCreds;
- case DetermineAuthTypeJob::WebViewFlow:
- return WizardCommon::Page_WebView;
}
return WizardCommon::Page_HttpCreds;
}
--- desktop-2.5.0-beta1/src/gui/wizard/webview.ui 2018-08-02 16:32:56.000000000 -0400
+++ /dev/null 2018-08-15 19:24:43.320610392 -0400
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>WebView</class>
- <widget class="QWidget" name="WebView">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>800</width>
- <height>700</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Maximum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>800</width>
- <height>650</height>
- </size>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item row="1" column="0">
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="QProgressBar" name="progressBar">
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>5</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">QProgressBar::chunk {
- background-color: rgba(0, 130, 201, 255);
-}</string>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- <property name="textVisible">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="resultLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- </layout>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
--- desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.h 2018-08-02 16:32:56.000000000 -0400
+++ desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.h 2018-08-15 19:22:00.430607478 -0400
@@ -39,7 +39,6 @@
class OwncloudWizardResultPage;
class AbstractCredentials;
class AbstractCredentialsWizardPage;
-class WebViewPage;
/**
* @brief The OwncloudWizard class
@@ -106,7 +105,6 @@
OwncloudAdvancedSetupPage *_advancedSetupPage;
OwncloudWizardResultPage *_resultPage;
AbstractCredentialsWizardPage *_credentialsPage;
- WebViewPage *_webViewPage;
QStringList _setupLog;
--- desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.cpp 2018-08-02 16:32:56.000000000 -0400
+++ desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.cpp 2018-08-15 19:04:35.670588788 -0400
@@ -26,7 +26,6 @@
#endif
#include "wizard/owncloudadvancedsetuppage.h"
#include "wizard/owncloudwizardresultpage.h"
-#include "wizard/webviewpage.h"
#include "QProgressIndicator.h"
@@ -51,7 +50,6 @@
, _advancedSetupPage(new OwncloudAdvancedSetupPage)
, _resultPage(new OwncloudWizardResultPage)
, _credentialsPage(0)
- , _webViewPage(new WebViewPage(this))
, _setupLog()
, _registration(false)
{
@@ -64,7 +62,6 @@
#endif
setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
setPage(WizardCommon::Page_Result, _resultPage);
- setPage(WizardCommon::Page_WebView, _webViewPage);
connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
@@ -79,7 +76,6 @@
#ifndef NO_SHIBBOLETH
connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
#endif
- connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
this, &OwncloudWizard::createLocalAndRemoteFolders);
connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
@@ -168,10 +164,6 @@
break;
#endif
- case WizardCommon::Page_WebView:
- _webViewPage->setConnected();
- break;
-
case WizardCommon::Page_AdvancedSetup:
_advancedSetupPage->directoriesCreated();
break;
@@ -195,8 +187,6 @@
#endif
if (type == DetermineAuthTypeJob::OAuth) {
_credentialsPage = _browserCredsPage;
- } else if (type == DetermineAuthTypeJob::WebViewFlow) {
- _credentialsPage = _webViewPage;
} else { // try Basic auth even for "Unknown"
_credentialsPage = _httpCredsPage;
}
--- desktop-2.5.0-beta1/src/CMakeLists.txt 2018-08-02 16:32:56.000000000 -0400
+++ desktop-2.5.0-beta1/src/CMakeLists.txt 2018-08-15 20:59:59.390712646 -0400
@@ -4,7 +4,7 @@
set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
-find_package(Qt5 5.6 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
+find_package(Qt5 5.6 COMPONENTS Core Network Xml Concurrent REQUIRED)
if (Qt5Core_VERSION VERSION_LESS 5.9.0)
message(STATUS "For HTTP/2 support, compile with Qt 5.9 or higher.")
endif()