MCPcopy Create free account
hub / github.com/KDE/kdiff3 / recalcWordWrap

Method recalcWordWrap

src/difftextwindow.cpp:1723–1777  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1721}
1722
1723void DiffTextWindow::recalcWordWrap(bool bWordWrap, size_t wrapLineVectorSize, qint32 visibleTextWidth)
1724{
1725 if(d->getDiff3LineVector() == nullptr || !isVisible())
1726 {
1727 d->m_bWordWrap = bWordWrap;
1728 if(!bWordWrap) d->m_diff3WrapLineVector.resize(0);
1729 return;
1730 }
1731
1732 d->m_bWordWrap = bWordWrap;
1733
1734 if(bWordWrap)
1735 {
1736 d->m_diff3WrapLineVector.resize(wrapLineVectorSize);
1737
1738 if(wrapLineVectorSize == 0)
1739 {
1740 d->m_wrapLineCacheList.clear();
1741 setUpdatesEnabled(false);
1742 for(size_t i = 0, j = 0; i < d->getDiff3LineVector()->size(); i += s_linesPerRunnable, ++j)
1743 {
1744 RecalcWordWrapRunner* p = new RecalcWordWrapRunner(this, visibleTextWidth, j);
1745 p->connect();
1746
1747 d->m_wrapLineCacheList.push_back(std::vector<WrapLineCacheData>());
1748 s_runnables.push_back(p);
1749 }
1750 }
1751 else
1752 {
1753 recalcWordWrapHelper(wrapLineVectorSize, visibleTextWidth, 0);
1754 setUpdatesEnabled(true);
1755 }
1756 }
1757 else
1758 {
1759 if(wrapLineVectorSize == 0 && d->m_maxTextWidth.loadRelaxed() < 0)
1760 {
1761 d->m_diff3WrapLineVector.resize(0);
1762 d->m_wrapLineCacheList.clear();
1763 setUpdatesEnabled(false);
1764 for(size_t i = 0, j = 0; i < d->getDiff3LineVector()->size(); i += s_linesPerRunnable, ++j)
1765 {
1766 RecalcWordWrapRunner* p = new RecalcWordWrapRunner(this, visibleTextWidth, j);
1767 p->connect();
1768
1769 s_runnables.push_back(p);
1770 }
1771 }
1772 else
1773 {
1774 setUpdatesEnabled(true);
1775 }
1776 }
1777}
1778
1779void DiffTextWindow::recalcWordWrapHelper(size_t wrapLineVectorSize, qint32 visibleTextWidth, size_t cacheListIdx)
1780{

Callers

nothing calls this directly

Calls 5

connectMethod · 0.80
push_backMethod · 0.80
getDiff3LineVectorMethod · 0.45
clearMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected