diff options
author | Valentin Fokin <fokinv@inf.u-szeged.hu> | 2018-07-13 16:03:48 +0200 |
---|---|---|
committer | Valentin Fokin <fokinv@inf.u-szeged.hu> | 2018-07-18 09:31:51 +0000 |
commit | 4b7bcec6c80ae7b4ecf433b6d7b87abb0f387be7 (patch) | |
tree | 0543d6ca5bfb2b9b2fb82c5a66f4e480664c90e2 | |
parent | 2bfd0679bc92707f6adb3bb1575ce966b6378b9e (diff) |
Fix build with '-no-feature-action' configuration
Task-number: QTBUG-56117
Change-Id: Ia097db769d0914f989860048db4ba628737f39c7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 48 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.h | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 6 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.h | 2 |
4 files changed, 58 insertions, 0 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 57af5b20d..16a9c138d 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -71,16 +71,26 @@ #include <QApplication> #include <QAuthenticator> #include <QClipboard> +#if QT_CONFIG(colordialog) #include <QColorDialog> +#endif #include <QContextMenuEvent> +#if QT_CONFIG(filedialog) #include <QFileDialog> +#endif #include <QKeyEvent> #include <QIcon> +#if QT_CONFIG(inputdialog) #include <QInputDialog> +#endif #include <QLayout> #include <QLoggingCategory> +#if QT_CONFIG(menu) #include <QMenu> +#endif +#if QT_CONFIG(messagebox) #include <QMessageBox> +#endif #include <QMimeData> #if QT_CONFIG(webengine_printing_and_pdf) #include <QPrinter> @@ -544,6 +554,7 @@ void QWebEnginePagePrivate::authenticationRequired(QSharedPointer<Authentication void QWebEnginePagePrivate::showColorDialog(QSharedPointer<ColorChooserController> controller) { +#if QT_CONFIG(colordialog) QColorDialog *dialog = new QColorDialog(controller.data()->initialColor(), view); QColorDialog::connect(dialog, SIGNAL(colorSelected(QColor)), controller.data(), SLOT(accept(QColor))); @@ -554,6 +565,9 @@ void QWebEnginePagePrivate::showColorDialog(QSharedPointer<ColorChooserControlle QColorDialog::connect(dialog, SIGNAL(rejected()), dialog, SLOT(deleteLater())); dialog->open(); +#else + Q_UNUSED(controller); +#endif } void QWebEnginePagePrivate::runMediaAccessPermissionRequest(const QUrl &securityOrigin, WebContentsAdapterClient::MediaRequestFlags requestFlags) @@ -1539,6 +1553,7 @@ void QWebEnginePagePrivate::wasHidden() void QWebEnginePagePrivate::contextMenuRequested(const WebEngineContextMenuData &data) { +#if QT_CONFIG(action) if (!view) return; @@ -1567,6 +1582,9 @@ void QWebEnginePagePrivate::contextMenuRequested(const WebEngineContextMenuData } Q_UNREACHABLE(); +#else + Q_UNUSED(data); +#endif // QT_CONFIG(action) } void QWebEnginePagePrivate::navigationRequested(int navigationType, const QUrl &url, int &navigationRequestAction, bool isMainFrame) @@ -1612,7 +1630,9 @@ void QWebEnginePagePrivate::javascriptDialog(QSharedPointer<JavaScriptDialogCont accepted = q->javaScriptConfirm(controller->securityOrigin(), QCoreApplication::translate("QWebEnginePage", "Are you sure you want to leave this page? Changes that you made may not be saved.")); break; case InternalAuthorizationDialog: +#if QT_CONFIG(messagebox) accepted = (QMessageBox::question(view, controller->title(), controller->message(), QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes); +#endif // QT_CONFIG(messagebox) break; } if (accepted) @@ -1731,6 +1751,7 @@ void QWebEnginePagePrivate::setToolTip(const QString &toolTipText) view->setToolTip(wrappedTip); } +#if QT_CONFIG(menu) QMenu *QWebEnginePage::createStandardContextMenu() { Q_D(QWebEnginePage); @@ -1749,6 +1770,7 @@ QMenu *QWebEnginePage::createStandardContextMenu() return menu; } +#endif // QT_CONFIG(menu) void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEnginePage::Feature feature, QWebEnginePage::PermissionPolicy policy) { @@ -2124,6 +2146,7 @@ ASSERT_ENUMS_MATCH(FilePickerController::OpenMultiple, QWebEnginePage::FileSelec QStringList QWebEnginePage::chooseFiles(FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes) { +#if QT_CONFIG(filedialog) // FIXME: Should we expose this in QWebPage's API ? Right now it is very open and can contain a mix and match of file extensions (which QFileDialog // can work with) and mimetypes ranging from text/plain or images/* to application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Q_UNUSED(acceptedMimeTypes); @@ -2151,27 +2174,50 @@ QStringList QWebEnginePage::chooseFiles(FileSelectionMode mode, const QStringLis break; } return ret; +#else + Q_UNUSED(mode); + Q_UNUSED(oldFiles); + Q_UNUSED(acceptedMimeTypes); + + return QStringList(); +#endif // QT_CONFIG(filedialog) } void QWebEnginePage::javaScriptAlert(const QUrl &securityOrigin, const QString &msg) { Q_UNUSED(securityOrigin); +#if QT_CONFIG(messagebox) QMessageBox::information(view(), QStringLiteral("Javascript Alert - %1").arg(url().toString()), msg); +#else + Q_UNUSED(msg); +#endif // QT_CONFIG(messagebox) } bool QWebEnginePage::javaScriptConfirm(const QUrl &securityOrigin, const QString &msg) { Q_UNUSED(securityOrigin); +#if QT_CONFIG(messagebox) return (QMessageBox::information(view(), QStringLiteral("Javascript Confirm - %1").arg(url().toString()), msg, QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok); +#else + Q_UNUSED(msg); + return false; +#endif // QT_CONFIG(messagebox) } bool QWebEnginePage::javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result) { Q_UNUSED(securityOrigin); +#if QT_CONFIG(inputdialog) bool ret = false; if (result) *result = QInputDialog::getText(view(), QStringLiteral("Javascript Prompt - %1").arg(url().toString()), msg, QLineEdit::Normal, defaultValue, &ret); return ret; +#else + Q_UNUSED(msg); + Q_UNUSED(defaultValue); + Q_UNUSED(result); + return false; +#endif // QT_CONFIG(inputdialog) } void QWebEnginePage::javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID) @@ -2328,6 +2374,7 @@ const QWebEngineContextMenuData &QWebEnginePage::contextMenuData() const return d->contextData; } +#if QT_CONFIG(action) QContextMenuBuilder::QContextMenuBuilder(const QtWebEngineCore::WebEngineContextMenuData &data, QWebEnginePage *page, QMenu *menu) @@ -2495,6 +2542,7 @@ bool QContextMenuBuilder::isMenuItemEnabled(ContextMenuItem menuItem) } Q_UNREACHABLE(); } +#endif // QT_CONFIG(action) QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 6de31d9d5..3e5e083df 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -248,7 +248,9 @@ public: void findText(const QString &subString, FindFlags options = FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>()); +#if QT_CONFIG(menu) QMenu *createStandardContextMenu(); +#endif void setFeaturePermission(const QUrl &securityOrigin, Feature feature, PermissionPolicy policy); diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index f03679d17..369c6b02b 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -43,8 +43,12 @@ #include "qwebenginepage_p.h" #include "web_contents_adapter.h" +#if QT_CONFIG(action) #include <QAction> +#endif +#if QT_CONFIG(menu) #include <QMenu> +#endif #include <QContextMenuEvent> #include <QToolTip> #include <QVBoxLayout> @@ -339,11 +343,13 @@ bool QWebEngineView::event(QEvent *ev) /*! * \reimp */ +#if QT_CONFIG(contextmenu) void QWebEngineView::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = page()->createStandardContextMenu(); menu->popup(event->globalPos()); } +#endif // QT_CONFIG(contextmenu) /*! * \reimp diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h index 77d26b8ec..e3cb7ad75 100644 --- a/src/webenginewidgets/api/qwebengineview.h +++ b/src/webenginewidgets/api/qwebengineview.h @@ -120,7 +120,9 @@ Q_SIGNALS: protected: virtual QWebEngineView *createWindow(QWebEnginePage::WebWindowType type); +#if QT_CONFIG(contextmenu) void contextMenuEvent(QContextMenuEvent*) override; +#endif // QT_CONFIG(contextmenu) bool event(QEvent*) override; void showEvent(QShowEvent *) override; void hideEvent(QHideEvent *) override; |