]> git.lyx.org Git - lyx.git/blobdiff - src/Row.cpp
When we use InPremable styles, we want to write as many versions
[lyx.git] / src / Row.cpp
index 2bfe55a1b80d46d00b1aad0fbd6253d9910a4e74..8af6fa9ae173f426d600ad2572dfbe134bb3f868 100644 (file)
@@ -129,17 +129,6 @@ bool Row::Element::breakAt(int w, bool force)
                return true;
        }
 
-       // Qt will not break at a leading space, and we need that sometimes, see
-       //   http://www.lyx.org/trac/ticket/9921.
-       // It would be nice to fix this properly, but for now do it by hand.
-       // FIXME: figure out what to do for RtL text.
-       if (!isRTL() && !str.empty() && str[0] == ' ') {
-               dim.wid = 0;
-               str = ' ';
-               endpos = pos + 1;
-               return true;
-       }
-
        return false;
 }
 
@@ -424,10 +413,10 @@ void Row::pop_back()
 }
 
 
-void Row::shortenIfNeeded(pos_type const keep, int const w)
+bool Row::shortenIfNeeded(pos_type const keep, int const w)
 {
        if (empty() || width() <= w)
-               return;
+               return false;
 
        Elements::iterator const beg = elements_.begin();
        Elements::iterator const end = elements_.end();
@@ -444,7 +433,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
        if (cit == end) {
                // This should not happen since the row is too long.
                LYXERR0("Something is wrong cannot shorten row: " << *this);
-               return;
+               return false;
        }
 
        // Iterate backwards over breakable elements and try to break them
@@ -487,7 +476,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                        dim_.wid = wid_brk + brk.dim.wid;
                        // If there are other elements, they should be removed.
                        elements_.erase(cit_brk + 1, end);
-                       return;
+                       return true;
                }
        }
 
@@ -504,7 +493,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                end_ = cit->pos;
                dim_.wid = wid;
                elements_.erase(cit, end);
-               return;
+               return true;
        }
 
        /* If we are here, it means that we have not found a separator to
@@ -519,7 +508,9 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                dim_.wid = wid + cit->dim.wid;
                // If there are other elements, they should be removed.
                elements_.erase(next(cit, 1), end);
+               return true;
        }
+       return false;
 }