starmath/source/edit.cxx | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
New commits: commit 2ebe64ba90cf35d2744519d6b3a033375715614e Author: Marcos Paulo de Souza <marcos.souza....@gmail.com> Date: Tue Aug 13 11:22:47 2013 -0300 fdo#43090: Improve auto close brackets Now it works this way: * Auto close in end of current line of formula * Auto close when we have "<?>" selected * Auto close when we're in the beginning of current line. We're adding a space between the brakets, like this: "[ ]" and putting the cursor in the center of these brackets. Change-Id: I8d77bfd7c33f875e7f4070343e634c2b6c45d33c Reviewed-on: https://gerrit.libreoffice.org/5388 Reviewed-by: Tor Lillqvist <t...@iki.fi> Tested-by: Tor Lillqvist <t...@iki.fi> diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx index 2a7cb93..0459866 100644 --- a/starmath/source/edit.cxx +++ b/starmath/source/edit.cxx @@ -425,6 +425,34 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt) if (selected.trim() == "<?>") autoClose = true; + else if (selected.isEmpty() && !aSelection.HasRange()) + { + selected = pEditView->GetEditEngine()->GetText(aSelection.nEndPara); + if (!selected.isEmpty()) + { + sal_Int32 index = selected.indexOf("\n", aSelection.nEndPos); + if (index != -1) + { + selected = selected.copy(index, sal_Int32(aSelection.nEndPos)); + if (selected.trim().isEmpty()) + autoClose = true; + } + else + { + sal_Int32 length = selected.getLength(); + if (aSelection.nEndPos == length) + autoClose = true; + else + { + selected = selected.copy(aSelection.nEndPos, length); + if (selected.trim().isEmpty()) + autoClose = true; + } + } + } + else + autoClose = true; + } if (!pEditView) CreateEditView(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits