summaryrefslogtreecommitdiffstats
path: root/src/webengine/ui_delegates_manager.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-03-16 14:34:43 +0100
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-03-16 14:34:43 +0100
commit9ffb601435df46744b1f4a95b3a4b231f4bda64e (patch)
tree48b34f7ef1ef8aea962cf103d97ec8ab7b38291b /src/webengine/ui_delegates_manager.cpp
parent6e356d55c8eabcc96223e25182458b78378dd5a4 (diff)
parent9bec2760d44c944e7f6b43388924b5714d9e8e06 (diff)
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts: src/webengine/ui_delegates_manager.h Change-Id: I989280b6008fbc4844ed86d6d16f7e7aa6ba8db9
Diffstat (limited to 'src/webengine/ui_delegates_manager.cpp')
-rw-r--r--src/webengine/ui_delegates_manager.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/webengine/ui_delegates_manager.cpp b/src/webengine/ui_delegates_manager.cpp
index 44c763f37..48466bfe2 100644
--- a/src/webengine/ui_delegates_manager.cpp
+++ b/src/webengine/ui_delegates_manager.cpp
@@ -139,6 +139,7 @@ void NavigateMenuItem::onTriggered()
UIDelegatesManager::UIDelegatesManager(QQuickWebEngineView *view)
: m_view(view)
+ , m_messageBubbleItem(0)
FOR_EACH_COMPONENT_TYPE(COMPONENT_MEMBER_INIT, NO_SEPARATOR)
{
}
@@ -390,4 +391,36 @@ void UIDelegatesManager::showFilePicker(FilePickerController *controller)
QMetaObject::invokeMethod(filePicker, "open");
}
+void UIDelegatesManager::showMessageBubble(const QRect &anchor, const QString &mainText, const QString &subText)
+{
+ if (!ensureComponentLoaded(MessageBubble))
+ return;
+
+ Q_ASSERT(m_messageBubbleItem.isNull());
+
+ QQmlContext *context = qmlContext(m_view);
+ m_messageBubbleItem.reset(qobject_cast<QQuickItem *>(messageBubbleComponent->beginCreate(context)));
+ m_messageBubbleItem->setParentItem(m_view);
+ messageBubbleComponent->completeCreate();
+
+ QQmlProperty(m_messageBubbleItem.data(), QStringLiteral("maxWidth")).write(anchor.size().width());
+ QQmlProperty(m_messageBubbleItem.data(), QStringLiteral("mainText")).write(mainText);
+ QQmlProperty(m_messageBubbleItem.data(), QStringLiteral("subText")).write(subText);
+ QQmlProperty(m_messageBubbleItem.data(), QStringLiteral("x")).write(anchor.x());
+ QQmlProperty(m_messageBubbleItem.data(), QStringLiteral("y")).write(anchor.y() + anchor.size().height());
+}
+
+void UIDelegatesManager::hideMessageBubble()
+{
+ m_messageBubbleItem.reset();
+}
+
+void UIDelegatesManager::moveMessageBubble(const QRect &anchor)
+{
+ Q_ASSERT(!m_messageBubbleItem.isNull());
+
+ QQmlProperty(m_messageBubbleItem.data(), QStringLiteral("x")).write(anchor.x());
+ QQmlProperty(m_messageBubbleItem.data(), QStringLiteral("y")).write(anchor.y() + anchor.size().height());
+}
+
} // namespace QtWebEngineCore