starmath/source/edit.cxx | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
New commits: commit d12980ce0b86549028ddaac3192f14456dde25c6 Author: Marcos Paulo de Souza <[email protected]> Date: Thu Jun 20 00:23:29 2013 -0300 Fix fdo#43090: Auto Closing of brackets Check if we hit the left bracket, left parenthesis or left braces, insert the right close character and set the current position to center the characters. Change-Id: If1ee8a00799ef0933d5dfd51c32f669a2a27b2a7 Reviewed-on: https://gerrit.libreoffice.org/4374 Reviewed-by: Michael Meeks <[email protected]> Tested-by: Michael Meeks <[email protected]> diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx index f68e0fb..45d27ce 100644 --- a/starmath/source/edit.cxx +++ b/starmath/source/edit.cxx @@ -455,6 +455,27 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt) aModifyTimer.Start(); } + // get the current char of the key event + sal_Unicode charCode = rKEvt.GetCharCode(); + OUString close; + + if (charCode == '{') + close = " }"; + else if (charCode == '[') + close = " ]"; + else if (charCode == '(') + close = " )"; + + // auto close the current character + if (!close.isEmpty()) + { + pEditView->InsertText(close); + // position it at center of brackets + ESelection aSelection = pEditView->GetSelection(); + aSelection.nStartPos = aSelection.nEndPos = aSelection.nEndPos - 2; + pEditView->SetSelection(aSelection); + } + InvalidateSlots(); } } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
