]> git.lyx.org Git - lyx.git/blobdiff - src/Row.cpp
es.po: fix a typo introduced by last commit
[lyx.git] / src / Row.cpp
index 5bdcbe004bbb46f7443a30e1b05c6e3e7160bf31..6e51fb192b49e64e6673b8198c31e1e4dc70f2e6 100644 (file)
@@ -41,7 +41,19 @@ int Row::Element::countSeparators() const
 {
        if (type != STRING)
                return 0;
-       return count(str.begin(), str.end(), ' ');
+       // Consecutive spaces count as only one separator.
+       bool wasspace = false;
+       int nsep = 0;
+       for (size_t i = 0 ; i < str.size() ; ++i) {
+               if (str[i] == ' ') {
+                       if (!wasspace) {
+                               ++nsep;
+                               wasspace = true;
+                       }
+               } else
+                       wasspace = false;
+       }
+       return nsep;
 }
 
 
@@ -116,6 +128,7 @@ bool Row::Element::breakAt(int w, bool force)
                //lyxerr << "breakAt(" << w << ")  Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl;
                return true;
        }
+
        return false;
 }
 
@@ -454,7 +467,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                        /* after breakAt, there may be spaces at the end of the
                         * string, but they are not counted in the string length
                         * (QTextLayout feature, actually). We remove them, but do
-                        * not change the endo of the row, since the spaces at row
+                        * not change the end of the row, since spaces at row
                         * break are invisible.
                         */
                        brk.str = rtrim(brk.str);