sc/source/ui/app/inputhdl.cxx  |    5 +++--
 sc/source/ui/view/editsh.cxx   |    1 +
 sc/source/ui/view/viewfunc.cxx |    2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 8204d322379cbc054fb834911d88fb0fe3b040c6
Author:     Eike Rathke <er...@redhat.com>
AuthorDate: Sat Jan 22 18:20:08 2022 +0100
Commit:     Eike Rathke <er...@redhat.com>
CommitDate: Mon Jan 24 21:49:45 2022 +0100

    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 <er...@redhat.com>

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 1abff527b363..9bcc6bbe71be 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -1278,6 +1278,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;
 
@@ -1525,7 +1526,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;
 
@@ -2756,7 +2757,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 9d7cc3351c6e..7f0a6d9ef080 100644
--- a/sc/source/ui/view/editsh.cxx
+++ b/sc/source/ui/view/editsh.cxx
@@ -528,6 +528,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 af151534c018..247fdeda5a70 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] == '=' )

Reply via email to