diff options
author | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-01-23 08:24:11 +0100 |
---|---|---|
committer | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-01-27 17:12:15 +0100 |
commit | 533da96f3c657e07a338712c7c7926c624360301 (patch) | |
tree | 4f18008c07ebb7ff1f11f594c36664075eea5e23 | |
parent | cc15cc8b920cffc57ca521714fef620a590bcc8c (diff) | |
download | browser-poc-533da96f3c657e07a338712c7c7926c624360301.tar.gz |
Added support for user input via IUserInput
-rw-r--r-- | browser/browser.cpp | 3 | ||||
-rw-r--r-- | browser/browserview.cpp | 10 | ||||
-rw-r--r-- | browser/browserview.h | 1 |
3 files changed, 12 insertions, 2 deletions
diff --git a/browser/browser.cpp b/browser/browser.cpp index e6d7bd4..04acdbf 100644 --- a/browser/browser.cpp +++ b/browser/browser.cpp @@ -79,8 +79,7 @@ void browser::setView(QString viewpath) { void browser::inputText(QString input) { qDebug() << __PRETTY_FUNCTION__ << input; - wpw->webitem->setProperty("input", input); - wpw->webitem->metaObject()->invokeMethod(wpw->webitem, "inputText"); + wpw->webitem->inputText(input); } conn::brw::ERROR_IDS browser::destroyPageWindow(conn::brw::OBJECT_HANDLE a_hPageWindowHandle) { diff --git a/browser/browserview.cpp b/browser/browserview.cpp index 7fccc78..79bf3c9 100644 --- a/browser/browserview.cpp +++ b/browser/browserview.cpp @@ -1,5 +1,6 @@ #include <QDebug> #include <QWebFrame> +#include <QCoreApplication> #include "browserview.h" @@ -12,6 +13,8 @@ BrowserView::BrowserView() this->load("http://www.bmw.com"); + setWindowFlags(Qt::FramelessWindowHint); + connect(&m_webview, SIGNAL (loadStarted()), this, SIGNAL (pageLoadStarted ())); connect(&m_webview, SIGNAL (loadFinished(bool)), this, SIGNAL (pageLoadFinished (bool))); connect(&m_webview, SIGNAL (loadProgress(int)), this, SLOT (loadProgress(int))); @@ -60,6 +63,13 @@ void BrowserView::scroll (BrowserView::ScrollDirection dir, BrowserView::ScrollT stepSize*yMultiplier); } +void BrowserView::inputText (QString input) +{ + QInputMethodEvent event; + event.setCommitString(input); + QCoreApplication::sendEvent(m_webview.page(), &event); +} + void BrowserView::resizeEvent (QResizeEvent *event) { int w = event->size().width(); int h = event->size().height(); diff --git a/browser/browserview.h b/browser/browserview.h index c0132a2..5dfbc24 100644 --- a/browser/browserview.h +++ b/browser/browserview.h @@ -32,6 +32,7 @@ public: void pageReload() { m_webview.reload(); } void pageStop() { m_webview.stop(); } void scroll (BrowserView::ScrollDirection dir, BrowserView::ScrollType type); + void inputText (QString input); signals: void pageLoadStarted(); |