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-21 14:27:08 +0200
commitaf9238d913c24d3bb326d3b0834c5008c9745446 (patch)
treea82bcb53bd2d4cc58f5d36cb8df09ea269779985 /desktop
parentf900c896697386fcc82b51f3f9ab3c8a84fdbb67 (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>
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 48aa12b9d658..6cb4303d4439 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(...) {}