diff options
Diffstat (limited to 'src/webengine/ui_delegates_manager.h')
-rw-r--r-- | src/webengine/ui_delegates_manager.h | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/src/webengine/ui_delegates_manager.h b/src/webengine/ui_delegates_manager.h deleted file mode 100644 index 4b6e291b2..000000000 --- a/src/webengine/ui_delegates_manager.h +++ /dev/null @@ -1,152 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWebEngine module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UI_DELEGATES_MANAGER_H -#define UI_DELEGATES_MANAGER_H - -#include "api/qquickwebengineaction_p.h" -#include "qglobal.h" -#include "web_contents_adapter.h" -#include "web_contents_adapter_client.h" - -#include <QCoreApplication> -#include <QExplicitlySharedDataPointer> -#include <QPoint> -#include <QSharedPointer> - -#define FOR_EACH_COMPONENT_TYPE(F, SEPARATOR) \ - F(Menu, menu) SEPARATOR \ - F(MenuItem, menuItem) SEPARATOR \ - F(MenuSeparator, menuSeparator) SEPARATOR \ - F(AlertDialog, alertDialog) SEPARATOR \ - F(ColorDialog, colorDialog) SEPARATOR \ - F(ConfirmDialog, confirmDialog) SEPARATOR \ - F(PromptDialog, promptDialog) SEPARATOR \ - F(FilePicker, filePicker) SEPARATOR \ - F(AuthenticationDialog, authenticationDialog) SEPARATOR \ - F(ToolTip, toolTip) SEPARATOR \ - F(TouchHandle, touchHandle) SEPARATOR \ - F(TouchSelectionMenu, touchSelectionMenu) SEPARATOR \ - -#define COMMA_SEPARATOR , -#define SEMICOLON_SEPARATOR ; -#define ENUM_DECLARATION(TYPE, COMPONENT) \ - TYPE -#define MEMBER_DECLARATION(TYPE, COMPONENT) \ - QQmlComponent *COMPONENT##Component - -QT_BEGIN_NAMESPACE -class QQmlContext; -class QQmlComponent; -class QQuickItem; -class QQuickWebEngineView; -class QQmlEngine; -QT_END_NAMESPACE - -namespace QtWebEngineCore { -class AuthenticationDialogController; -class JavaScriptDialogController; -class FilePickerController; -class TouchSelectionMenuController; - -const char *defaultPropertyName(QObject *obj); - -class UIDelegatesManager -{ - Q_DECLARE_TR_FUNCTIONS(UIDelegatesManager) -public: - enum ComponentType { - Invalid = -1, - FOR_EACH_COMPONENT_TYPE(ENUM_DECLARATION, COMMA_SEPARATOR) - ComponentTypeCount - }; - - UIDelegatesManager(QQuickWebEngineView *); - virtual ~UIDelegatesManager(); - - virtual bool initializeImportDirs(QStringList &dirs, QQmlEngine *engine); - virtual void addMenuItem(QQuickWebEngineAction *action, QObject *menu, - bool checkable = false, bool checked = true); - void addMenuSeparator(QObject *menu); - virtual QObject *addMenu(QObject *parentMenu, const QString &title, - const QPoint &pos = QPoint()); - QQmlContext *creationContextForComponent(QQmlComponent *); - void showColorDialog(QSharedPointer<ColorChooserController>); - void showDialog(QSharedPointer<JavaScriptDialogController>); - void showDialog(QSharedPointer<AuthenticationDialogController>); - void showFilePicker(QSharedPointer<FilePickerController>); - virtual void showMenu(QObject *menu); - void showToolTip(const QString &text); - QQuickItem *createTouchHandle(); - void showTouchSelectionMenu(TouchSelectionMenuController *, const QRect &, const int spacing); - void hideTouchSelectionMenu(); - -protected: - bool ensureComponentLoaded(ComponentType); - - QQuickWebEngineView *m_view; - QScopedPointer<QObject> m_toolTip; - QStringList m_importDirs; - QScopedPointer<QObject> m_touchSelectionMenu; - - FOR_EACH_COMPONENT_TYPE(MEMBER_DECLARATION, SEMICOLON_SEPARATOR) - - Q_DISABLE_COPY(UIDelegatesManager) - -}; - -// delegate manager for qtquickcontrols2 with fallback to qtquickcontrols1 - -class UI2DelegatesManager : public UIDelegatesManager -{ -public: - UI2DelegatesManager(QQuickWebEngineView *); - bool initializeImportDirs(QStringList &dirs, QQmlEngine *engine) override; - QObject *addMenu(QObject *parentMenu, const QString &title, - const QPoint &pos = QPoint()) override; - void addMenuItem(QQuickWebEngineAction *action, QObject *menu, - bool checkable = false, bool checked = false) override; - void showMenu(QObject *menu) override; - Q_DISABLE_COPY(UI2DelegatesManager) - -}; - -} // namespace QtWebEngineCore - -#endif // UI_DELEGATES_MANAGER_H |