diff options
author | Balazs Egedi <egedib@inf.u-szeged.hu> | 2021-07-12 14:53:52 +0200 |
---|---|---|
committer | Balazs Egedi <egedib@inf.u-szeged.hu> | 2021-07-18 23:29:36 +0000 |
commit | 96cc8cc8a93ece10031a6638b68ca9c88050ac13 (patch) | |
tree | a162a8ad5e61f8728438c86cdb1f2ae603041039 /src/webenginequick | |
parent | d74aeb924a5bcb8ea6f2d3b37c219b666118aa74 (diff) |
Merge UI2DelegatesManager into UIDelegatesManager
Drop Quick Controls 1 support.
Task-number: QTBUG-93666
Pick-to: 6.2
Change-Id: I68580ef4649141d3d1507fd207088794e7764d2a
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/webenginequick')
-rw-r--r-- | src/webenginequick/api/qquickwebengineaction_p.h | 2 | ||||
-rw-r--r-- | src/webenginequick/api/qquickwebengineview.cpp | 2 | ||||
-rw-r--r-- | src/webenginequick/ui_delegates_manager.cpp | 96 | ||||
-rw-r--r-- | src/webenginequick/ui_delegates_manager.h | 16 |
4 files changed, 5 insertions, 111 deletions
diff --git a/src/webenginequick/api/qquickwebengineaction_p.h b/src/webenginequick/api/qquickwebengineaction_p.h index 335e2193e..d07694150 100644 --- a/src/webenginequick/api/qquickwebengineaction_p.h +++ b/src/webenginequick/api/qquickwebengineaction_p.h @@ -59,7 +59,6 @@ namespace QtWebEngineCore { class UIDelegatesManager; - class UI2DelegatesManager; } QT_BEGIN_NAMESPACE @@ -98,7 +97,6 @@ private: friend class QQuickWebEngineView; friend class QQuickWebEngineViewPrivate; friend class QtWebEngineCore::UIDelegatesManager; - friend class QtWebEngineCore::UI2DelegatesManager; friend class QQuickContextMenuBuilder; QScopedPointer<QQuickWebEngineActionPrivate> d_ptr; diff --git a/src/webenginequick/api/qquickwebengineview.cpp b/src/webenginequick/api/qquickwebengineview.cpp index cfd17e5aa..50ea17766 100644 --- a/src/webenginequick/api/qquickwebengineview.cpp +++ b/src/webenginequick/api/qquickwebengineview.cpp @@ -202,7 +202,7 @@ UIDelegatesManager *QQuickWebEngineViewPrivate::ui() { Q_Q(QQuickWebEngineView); if (m_uIDelegatesManager.isNull()) - m_uIDelegatesManager.reset(new UI2DelegatesManager(q)); + m_uIDelegatesManager.reset(new UIDelegatesManager(q)); return m_uIDelegatesManager.data(); } diff --git a/src/webenginequick/ui_delegates_manager.cpp b/src/webenginequick/ui_delegates_manager.cpp index 02f0f124f..dc983d408 100644 --- a/src/webenginequick/ui_delegates_manager.cpp +++ b/src/webenginequick/ui_delegates_manager.cpp @@ -141,23 +141,6 @@ UIDelegatesManager::~UIDelegatesManager() component = &COMPONENT##Component; \ break; -bool UIDelegatesManager::initializeImportDirs(QStringList &dirs, QQmlEngine *engine) -{ - const QStringList paths = engine->importPathList(); - for (const QString &path : paths) { - QString importPath = path % QLatin1String("/QtWebEngine/Controls1Delegates/"); - - // resource paths have to be tested using the ":/" prefix - if (importPath.startsWith(QLatin1String("qrc:/"))) - importPath.remove(0, 3); - - QFileInfo fi(importPath); - if (fi.exists()) - dirs << fi.absolutePath(); - } - return !dirs.isEmpty(); -} - bool UIDelegatesManager::ensureComponentLoaded(ComponentType type) { QQmlEngine* engine = qmlEngine(m_view); @@ -210,32 +193,6 @@ bool UIDelegatesManager::ensureComponentLoaded(ComponentType type) if (!prop.isSignalProperty()) \ qWarning("%s is missing %s signal property.\n", qPrintable(location.toString()), qPrintable(prop.name())); -void UIDelegatesManager::addMenuItem(QQuickWebEngineAction *action, QObject *menu, bool checkable, bool checked) -{ - Q_ASSERT(action); - if (!ensureComponentLoaded(MenuItem)) - return; - QObject *it = menuItemComponent->beginCreate(qmlContext(m_view)); - - QQmlProperty(it, QStringLiteral("text")).write(action->text()); - QQmlProperty(it, QStringLiteral("iconName")).write(action->iconName()); - QQmlProperty(it, QStringLiteral("enabled")).write(action->isEnabled()); - QQmlProperty(it, QStringLiteral("checkable")).write(checkable); - QQmlProperty(it, QStringLiteral("checked")).write(checked); - - QQmlProperty signal(it, QStringLiteral("onTriggered")); - CHECK_QML_SIGNAL_PROPERTY(signal, menuItemComponent->url()); - const QMetaObject *actionMeta = action->metaObject(); - QObject::connect(it, signal.method(), action, actionMeta->method(actionMeta->indexOfSlot("trigger()"))); - menuItemComponent->completeCreate(); - - it->setParent(menu); - - QQmlListReference entries(menu, defaultPropertyName(menu), qmlEngine(m_view)); - if (entries.isValid()) - entries.append(it); -} - void UIDelegatesManager::addMenuSeparator(QObject *menu) { if (!ensureComponentLoaded(MenuSeparator)) @@ -250,37 +207,6 @@ void UIDelegatesManager::addMenuSeparator(QObject *menu) entries.append(sep); } -QObject *UIDelegatesManager::addMenu(QObject *parentMenu, const QString &title, const QPoint& pos) -{ - Q_ASSERT(parentMenu); - if (!ensureComponentLoaded(Menu)) - return nullptr; - QQmlContext *context = qmlContext(m_view); - QObject *menu = menuComponent->beginCreate(context); - // set visual parent for non-Window-based menus - if (QQuickItem *item = qobject_cast<QQuickItem*>(menu)) - item->setParentItem(m_view); - - if (!title.isEmpty()) - QQmlProperty(menu, QStringLiteral("title")).write(title); - if (!pos.isNull()) - menu->setProperty("pos", pos); - - menu->setParent(parentMenu); - - QQmlProperty doneSignal(menu, QStringLiteral("onDone")); - static int deleteLaterIndex = menu->metaObject()->indexOfSlot("deleteLater()"); - CHECK_QML_SIGNAL_PROPERTY(doneSignal, menuComponent->url()); - QObject::connect(menu, doneSignal.method(), menu, menu->metaObject()->method(deleteLaterIndex)); - - QQmlListReference entries(parentMenu, defaultPropertyName(parentMenu), qmlEngine(m_view)); - if (entries.isValid()) - entries.append(menu); - - menuComponent->completeCreate(); - return menu; -} - #define ASSIGN_DIALOG_COMPONENT_DATA_CASE_STATEMENT(TYPE, COMPONENT) \ case TYPE:\ dialogComponent = COMPONENT##Component; \ @@ -530,15 +456,6 @@ private: QPoint m_oldCursorPos; }; -void UIDelegatesManager::showMenu(QObject *menu) -{ - // QtQuick.Controls.Menu.popup() always shows the menu under the mouse cursor, i.e. the menu's - // position we set above is ignored. Work around the problem by moving the mouse cursor - // temporarily to the right position. - TemporaryCursorMove tcm(m_view, menu->property("pos").toPoint()); - QMetaObject::invokeMethod(menu, "popup"); -} - void UIDelegatesManager::showToolTip(const QString &text) { if (text.isEmpty()) { @@ -649,12 +566,7 @@ void UIDelegatesManager::hideTouchSelectionMenu() QTimer::singleShot(0, m_view, [this] { m_touchSelectionMenu.reset(); }); } -UI2DelegatesManager::UI2DelegatesManager(QQuickWebEngineView *view) : UIDelegatesManager(view) -{ - -} - -bool UI2DelegatesManager::initializeImportDirs(QStringList &dirs, QQmlEngine *engine) +bool UIDelegatesManager::initializeImportDirs(QStringList &dirs, QQmlEngine *engine) { const QStringList paths = engine->importPathList(); for (const QString &path : paths) { @@ -672,7 +584,7 @@ bool UI2DelegatesManager::initializeImportDirs(QStringList &dirs, QQmlEngine *en return !dirs.isEmpty(); } -QObject *UI2DelegatesManager::addMenu(QObject *parentMenu, const QString &title, const QPoint &pos) +QObject *UIDelegatesManager::addMenu(QObject *parentMenu, const QString &title, const QPoint &pos) { Q_ASSERT(parentMenu); if (!ensureComponentLoaded(Menu)) @@ -700,7 +612,7 @@ QObject *UI2DelegatesManager::addMenu(QObject *parentMenu, const QString &title, return menu; } -void UI2DelegatesManager::addMenuItem(QQuickWebEngineAction *action, QObject *menu, bool checkable, bool checked) +void UIDelegatesManager::addMenuItem(QQuickWebEngineAction *action, QObject *menu, bool checkable, bool checked) { Q_ASSERT(action); if (!ensureComponentLoaded(MenuItem)) @@ -726,7 +638,7 @@ void UI2DelegatesManager::addMenuItem(QQuickWebEngineAction *action, QObject *me entries.append(it); } -void UI2DelegatesManager::showMenu(QObject *menu) +void UIDelegatesManager::showMenu(QObject *menu) { QMetaObject::invokeMethod(menu, "open"); } diff --git a/src/webenginequick/ui_delegates_manager.h b/src/webenginequick/ui_delegates_manager.h index 4b6e291b2..94c2987e1 100644 --- a/src/webenginequick/ui_delegates_manager.h +++ b/src/webenginequick/ui_delegates_manager.h @@ -131,22 +131,6 @@ protected: }; -// 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 |