loolwsd/DocumentBroker.cpp | 7 +++++++ loolwsd/MasterProcessSession.cpp | 4 ++++ loolwsd/MasterProcessSession.hpp | 3 +++ 3 files changed, 14 insertions(+)
New commits: commit 5500b090167b46a9b02b465c0cce75abacde37f8 Author: Pranav Kant <[email protected]> Date: Mon May 9 21:50:43 2016 +0530 bccu#1776: Restore input mode if we are in one before saving Change-Id: I46d57dce69777fdfe6afb95f9534b170972fe390 diff --git a/loolwsd/DocumentBroker.cpp b/loolwsd/DocumentBroker.cpp index b51f872..7b1af96 100644 --- a/loolwsd/DocumentBroker.cpp +++ b/loolwsd/DocumentBroker.cpp @@ -289,6 +289,13 @@ bool DocumentBroker::sendUnoSave() if (queue) { queue->put("uno .uno:Save"); + + // Set calc cell mode back to edit mode + // if we were in edit before save + if (sessionIt.second->isCursorVisible()) + { + queue->put("uno .uno:SetInputMode"); + } return true; } } diff --git a/loolwsd/MasterProcessSession.cpp b/loolwsd/MasterProcessSession.cpp index 6d24b1a..3d5ee3c 100644 --- a/loolwsd/MasterProcessSession.cpp +++ b/loolwsd/MasterProcessSession.cpp @@ -175,6 +175,10 @@ bool MasterProcessSession::_handleInput(const char *buffer, int length) } } } + else if (tokens.count() == 2 && tokens[0] == "cursorvisible:") + { + peer->setCursorVisible(tokens[1] == "true"); + } } if (peer && !_isDocPasswordProtected) diff --git a/loolwsd/MasterProcessSession.hpp b/loolwsd/MasterProcessSession.hpp index 19a4788..2472eb5 100644 --- a/loolwsd/MasterProcessSession.hpp +++ b/loolwsd/MasterProcessSession.hpp @@ -50,6 +50,8 @@ class MasterProcessSession final : public LOOLSession, public std::enable_shared void setEditLock(const bool value); void markEditLock(const bool value) { _bEditLock = value; } bool isEditLocked() const { return _bEditLock; } + void setCursorVisible(const bool value) { _isCursorVisible = value; } + bool isCursorVisible() { return _isCursorVisible; } bool shutdownPeer(Poco::UInt16 statusCode, const std::string& message); @@ -86,6 +88,7 @@ public: int _curPart; int _loadPart; + bool _isCursorVisible; /// Kind::ToClient instances store URLs of completed 'save as' documents. MessageQueue _saveAsQueue; std::shared_ptr<DocumentBroker> _docBroker; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
