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;
}
}
-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();
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
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;
}
}
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
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;
}