ScInputHandler::UpdateFormulaMode() also for multi-line formulas

Additionally sprinkle some
TODO: MLFORMULA
comments on places where multi-line formulas should be supported
as well but code currently only works for one paragraph.

Change-Id: If2630a6493910984e0abb81ff2ed42ed51394681
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128787
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit 8204d322379cbc054fb834911d88fb0fe3b040c6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128822
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 8b4d8bd..d844401 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -1287,6 +1287,7 @@ void ScInputHandler::ShowTipCursor()
    HideTipBelow();
    EditView* pActiveView = pTopView ? pTopView : pTableView;

    /* TODO: MLFORMULA: this should work also with multi-line formulas. */
    if ( !(bFormulaMode && pActiveView && pFormulaDataPara && mpEditEngine->GetParagraphCount() == 1) )
        return;

@@ -1534,7 +1535,7 @@ void ScInputHandler::UseFormulaData()
{
    EditView* pActiveView = pTopView ? pTopView : pTableView;

    // Formulas may only have 1 paragraph
    /* TODO: MLFORMULA: this should work also with multi-line formulas. */
    if ( !(pActiveView && pFormulaData && mpEditEngine->GetParagraphCount() == 1) )
        return;

@@ -2765,7 +2766,7 @@ void ScInputHandler::UpdateFormulaMode()
{
    SfxApplication* pSfxApp = SfxGetpApp();

    bool bIsFormula = !bProtected && mpEditEngine->GetParagraphCount() == 1;
    bool bIsFormula = !bProtected;
    if (bIsFormula)
    {
        const OUString& rText = mpEditEngine->GetText(0);
diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx
index c7e7dabd..ba0abdc 100644
--- a/sc/source/ui/view/editsh.cxx
+++ b/sc/source/ui/view/editsh.cxx
@@ -526,6 +526,7 @@ void ScEditShell::Execute( SfxRequest& rReq )

        case SID_TOGGLE_REL:
            {
                /* TODO: MLFORMULA: this should work also with multi-line formulas. */
                if (pEngine->GetParagraphCount() == 1)
                {
                    OUString aText = pEngine->GetText();
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index af15153..247fded 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -661,7 +661,7 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab,
            // formulas have to be recognized even if they're formatted
            // (but common attributes are still collected)

            if ( !bSimple && aEngine.GetParagraphCount() == 1 )
            if (!bSimple)
            {
                OUString aParStr(aEngine.GetText( 0 ));
                if ( aParStr[0] == '=' )