bundled/include/LibreOfficeKit/LibreOfficeKit.h | 3 +++ bundled/include/LibreOfficeKit/LibreOfficeKit.hxx | 10 +++++++--- kit/Kit.cpp | 12 ++++++------ 3 files changed, 16 insertions(+), 9 deletions(-)
New commits: commit 3763202dff87f27080b77fd3c8504701bf3739d0 Author: Ashod Nakashian <[email protected]> AuthorDate: Thu Jan 24 06:53:37 2019 -0500 Commit: Andras Timar <[email protected]> CommitDate: Mon Mar 4 15:36:48 2019 +0100 wsd: set the language when creating a new view This uses the new createViewWithOptions API to set the language of the user at the point of creating a new view. Change-Id: Ibf3e0af1b0cc300126388c1217692d8d969be0f3 Reviewed-on: https://gerrit.libreoffice.org/68288 Reviewed-by: Andras Timar <[email protected]> Tested-by: Andras Timar <[email protected]> diff --git a/bundled/include/LibreOfficeKit/LibreOfficeKit.h b/bundled/include/LibreOfficeKit/LibreOfficeKit.h index 2df1cea6d..fe1b25bc3 100644 --- a/bundled/include/LibreOfficeKit/LibreOfficeKit.h +++ b/bundled/include/LibreOfficeKit/LibreOfficeKit.h @@ -360,6 +360,9 @@ struct _LibreOfficeKitDocumentClass /// @see lok::Document::renderShapeSelection size_t (*renderShapeSelection)(LibreOfficeKitDocument* pThis, char** pOutput); + /// @see lok::Document::createViewWithOptions(). + int (*createViewWithOptions) (LibreOfficeKitDocument* pThis, const char* pOptions); + #endif // defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY }; diff --git a/bundled/include/LibreOfficeKit/LibreOfficeKit.hxx b/bundled/include/LibreOfficeKit/LibreOfficeKit.hxx index 31e95a09c..72824be0f 100644 --- a/bundled/include/LibreOfficeKit/LibreOfficeKit.hxx +++ b/bundled/include/LibreOfficeKit/LibreOfficeKit.hxx @@ -440,13 +440,17 @@ public: } /** - * Create a new view for an existing document. + * Create a new view for an existing document with + * options similar to documentLoadWithOptions. * By default a loaded document has 1 view. * @return the ID of the new view. */ - int createView() + int createView(const char* pOptions = nullptr) { - return mpDoc->pClass->createView(mpDoc); + if (LIBREOFFICEKIT_DOCUMENT_HAS(mpDoc, createViewWithOptions)) + return mpDoc->pClass->createViewWithOptions(mpDoc, pOptions); + else + return mpDoc->pClass->createView(mpDoc); } /** diff --git a/kit/Kit.cpp b/kit/Kit.cpp index a91514ed4..23df2bc9e 100644 --- a/kit/Kit.cpp +++ b/kit/Kit.cpp @@ -1644,6 +1644,10 @@ private: { const std::string sessionId = session->getId(); + std::string options; + if (!lang.empty()) + options = "Language=" + lang; + std::unique_lock<std::mutex> lock(_documentMutex); if (!_loKitDocument) @@ -1667,10 +1671,6 @@ private: _jailedUrl = uri; _isDocPasswordProtected = false; - std::string options; - if (!lang.empty()) - options = "Language=" + lang; - LOG_DBG("Calling lokit::documentLoad(" << uriAnonym << ", \"" << options << "\")."); Timestamp timestamp; _loKitDocument.reset(_loKit->documentLoad(uri.c_str(), options.c_str())); @@ -1735,8 +1735,8 @@ private: } } - LOG_INF("Creating view to url [" << uriAnonym << "] for session [" << sessionId << "]."); - _loKitDocument->createView(); + LOG_INF("Creating view to url [" << uriAnonym << "] for session [" << sessionId << "] with " << options << '.'); + _loKitDocument->createView(options.c_str()); LOG_TRC("View to url [" << uriAnonym << "] created."); } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
