summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2019-10-21 13:16:50 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2019-10-22 11:16:41 +0200
commitcf76e876c37384a6583f4f9681c8c192c34f615a (patch)
tree9ccbbce519bbebfdd58d7012d6d851dc6f3a20ba /desktop
parent7eb60b0d656679e88619084103e5c3eca2dde511 (diff)
jsdialogs: handle spinfields
Change-Id: I9b845917ff1a7cb2242d7ef2b6b370007d0091b4 Reviewed-on: https://gerrit.libreoffice.org/81230 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit af9238d913c24d3bb326d3b0834c5008c9745446) Reviewed-on: https://gerrit.libreoffice.org/81305 Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/lib/init.cxx23
1 files changed, 21 insertions, 2 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 43dfaf896259..200be4cf465f 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -3303,6 +3303,10 @@ static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned nWin
{
const OUString sClickAction("CLICK");
const OUString sSelectAction("SELECT");
+ const OUString sClearAction("CLEAR");
+ const OUString sTypeAction("TYPE");
+ const OUString sUpAction("UP");
+ const OUString sDownAction("DOWN");
try
{
@@ -3310,6 +3314,7 @@ static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned nWin
std::unique_ptr<UIObject> pUIWindow(aUIObject.get_child(sId));
if (pUIWindow) {
bool bIsClickAction = false;
+ StringMap aMap;
if (pOptionalEventType) {
if (strcmp(pOptionalEventType, "selected") == 0 && pOptionalData)
@@ -3324,12 +3329,26 @@ static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned nWin
return;
}
- StringMap aMap;
aMap["POS"] = OUString::createFromAscii(pPos);
aMap["TEXT"] = OUString::createFromAscii(pText);
pUIWindow->execute(sSelectAction, aMap);
}
+ else if (strcmp(pOptionalEventType, "plus") == 0)
+ {
+ pUIWindow->execute(sUpAction, aMap);
+ }
+ else if (strcmp(pOptionalEventType, "minus") == 0)
+ {
+ pUIWindow->execute(sDownAction, aMap);
+ }
+ else if (pOptionalData)
+ {
+ aMap["TEXT"] = OUString::createFromAscii(pOptionalData);
+
+ pUIWindow->execute(sClearAction, aMap);
+ pUIWindow->execute(sTypeAction, aMap);
+ }
else
bIsClickAction = true;
}
@@ -3337,7 +3356,7 @@ static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned nWin
bIsClickAction = true;
if (bIsClickAction)
- pUIWindow->execute(sClickAction, StringMap());
+ pUIWindow->execute(sClickAction, aMap);
}
} catch(...) {}