diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-02-27 04:04:26 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-02-27 09:43:45 +0000 |
commit | aa10a19c8e56a51654bcb26f718f6e7187159c72 (patch) | |
tree | 4b9940918dbdc052cd2fa045404a1a2a0ebfffa3 | |
parent | 2a285790535c0ae4c2d791c8f8c44038203d82b7 (diff) |
uitest: add a specific method for executing dialogs
This allows us to split the parts that need to run async and the ones
that can run synchronous. This will reduce the number of signals that we
need.
Change-Id: I9c9f3df3422cc66d28d66e0638e212b39c743e33
Reviewed-on: https://gerrit.libreoffice.org/34669
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | include/vcl/uitest/uitest.hxx | 2 | ||||
-rw-r--r-- | offapi/com/sun/star/ui/test/XUITest.idl | 2 | ||||
-rw-r--r-- | vcl/source/uitest/uitest.cxx | 10 | ||||
-rw-r--r-- | vcl/source/uitest/uno/uitest_uno.cxx | 8 |
4 files changed, 22 insertions, 0 deletions
diff --git a/include/vcl/uitest/uitest.hxx b/include/vcl/uitest/uitest.hxx index 9f226b8bf581..53a049069a14 100644 --- a/include/vcl/uitest/uitest.hxx +++ b/include/vcl/uitest/uitest.hxx @@ -21,6 +21,8 @@ public: static void executeCommand(const OUString& rCommand); + static void executeDialog(const OUString& rCommand); + static std::unique_ptr<UIObject> getFocusTopWindow(); }; diff --git a/offapi/com/sun/star/ui/test/XUITest.idl b/offapi/com/sun/star/ui/test/XUITest.idl index 87a091202ffd..89da44c7d6e7 100644 --- a/offapi/com/sun/star/ui/test/XUITest.idl +++ b/offapi/com/sun/star/ui/test/XUITest.idl @@ -18,6 +18,8 @@ interface XUITest { void executeCommand([in] string command); + void executeDialog([in] string command); + XUIObject getTopFocusWindow(); }; diff --git a/vcl/source/uitest/uitest.cxx b/vcl/source/uitest/uitest.cxx index d8764790f9e6..4484975c44f9 100644 --- a/vcl/source/uitest/uitest.cxx +++ b/vcl/source/uitest/uitest.cxx @@ -26,6 +26,16 @@ void UITest::executeCommand(const OUString& rCommand) SAL_WARN_IF(!bSuccess, "vcl.uitest", "failed to execute command: " << rCommand); } +void UITest::executeDialog(const OUString& rCommand) +{ + bool bSuccess = comphelper::dispatchCommand( + rCommand, + {{"SynchronMode", -1, css::uno::Any(false), + css::beans::PropertyState_DIRECT_VALUE}}); + + SAL_WARN_IF(!bSuccess, "vcl.uitest", "failed to execute dialog command: " << rCommand); +} + std::unique_ptr<UIObject> UITest::getFocusTopWindow() { ImplSVData* pSVData = ImplGetSVData(); diff --git a/vcl/source/uitest/uno/uitest_uno.cxx b/vcl/source/uitest/uno/uitest_uno.cxx index aad296e9b604..c5a15a4f52ee 100644 --- a/vcl/source/uitest/uno/uitest_uno.cxx +++ b/vcl/source/uitest/uno/uitest_uno.cxx @@ -40,6 +40,8 @@ public: void SAL_CALL executeCommand(const OUString& rCommand) override; + void SAL_CALL executeDialog(const OUString& rCommand) override; + css::uno::Reference<css::ui::test::XUIObject> SAL_CALL getTopFocusWindow() override; OUString SAL_CALL getImplementationName() override; @@ -61,6 +63,12 @@ void SAL_CALL UITestUnoObj::executeCommand(const OUString& rCommand) UITest::executeCommand(rCommand); } +void SAL_CALL UITestUnoObj::executeDialog(const OUString& rCommand) +{ + SolarMutexGuard aGuard; + UITest::executeDialog(rCommand); +} + css::uno::Reference<css::ui::test::XUIObject> SAL_CALL UITestUnoObj::getTopFocusWindow() { SolarMutexGuard aGuard; |