[Libreoffice-commits] core.git: sc/source

Eike Rathke erack at redhat.com
Thu Sep 1 10:26:25 UTC 2016


 sc/source/ui/app/inputhdl.cxx |   17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

New commits:
commit b9a2c849a657bdb9d5953b96f60409cb877b0005
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Sep 1 12:17:36 2016 +0200

    exclude also single quoted strings from function name suggestion
    
    These may be sheet names or label names, but never function names.
    For example, typing ='e should not suggest "[EASTERSUNDAY], EDATE, ..."
    
    Change-Id: I818b91b533b868ccb6d2eb1eef74112162d2fe3d

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 0a4cfe1..d7e8160 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -1242,14 +1242,21 @@ void ScInputHandler::UseFormulaData()
                 miAutoPosFormula = findTextAll(*pFormulaData, miAutoPosFormula, aText, aNewVec, false);
                 if (miAutoPosFormula != pFormulaData->end())
                 {
-                    // check if partial function name is not Between quotes
-                    bool bBetweenQuotes = false;
+                    // check if partial function name is not between quotes
+                    sal_Unicode cBetweenQuotes = 0;
                     for ( int n = 0; n < aSelText.getLength(); n++ )
                     {
-                        if ( aSelText[ n ] == '"' )
-                            bBetweenQuotes = !bBetweenQuotes;
+                        if (cBetweenQuotes)
+                        {
+                            if (aSelText[n] == cBetweenQuotes)
+                                cBetweenQuotes = 0;
+                        }
+                        else if ( aSelText[ n ] == '"' )
+                            cBetweenQuotes = '"';
+                        else if ( aSelText[ n ] == '\'' )
+                            cBetweenQuotes = '\'';
                     }
-                    if ( bBetweenQuotes )
+                    if ( cBetweenQuotes )
                         return;  // we're between quotes
 
                     ShowFuncList(aNewVec);


More information about the Libreoffice-commits mailing list