summaryrefslogtreecommitdiff
path: root/browser/browserview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'browser/browserview.cpp')
-rw-r--r--browser/browserview.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/browser/browserview.cpp b/browser/browserview.cpp
index 1e2263d..697361a 100644
--- a/browser/browserview.cpp
+++ b/browser/browserview.cpp
@@ -124,6 +124,15 @@ void BrowserView::loadFinished(bool ok)
"document.addEventListener('focusout', function(e){"
" pocCurrentElement = e.relatedTarget;"
"}, true);"
+ "var elems = document.querySelectorAll('select:not([multiple])');"
+ "for (var i = 0; i < elems.length; i++) {"
+ " elem = elems[i];"
+ " elem.addEventListener('mousedown', function(e) {"
+ " e.target.setAttribute('value', e.target.value);"
+ " window.inputHandler.setCurrentFocus(e.target);"
+ " pocCurrentElement = e.target;"
+ " }, true);"
+ "}"
"})()"
);
@@ -309,8 +318,14 @@ void BrowserView::activate() {
}
void BrowserView::onSelectIndexes(QList<int> indexes) {
+ m_webview.page()->mainFrame()->evaluateJavaScript(
+ "for (var i = 0; i < document.activeElement.options.length; i++){"
+ " document.activeElement.options[i].selected = false;"
+ "}"
+ );
for (int i = 0; i < indexes.size(); i++) {
- QString cmd = QString("document.activeElement.options[%1].selected = true").arg(
+ QString cmd = QString(
+ "document.activeElement.options[%1].selected = true;").arg(
QString::number(indexes.at(i)));
m_webview.page()->mainFrame()->evaluateJavaScript(cmd);
}