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

Method slotEditFindNext

src/pdiff.cpp:1644–1718  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1642}
1643
1644void KDiff3App::slotEditFindNext()
1645{
1646 QString s = m_pFindDialog->m_pSearchString->text();
1647 if(s.isEmpty())
1648 {
1649 slotEditFind();
1650 return;
1651 }
1652
1653 bool bDirDown = true;
1654 bool bCaseSensitive = m_pFindDialog->m_pCaseSensitive->isChecked();
1655
1656 LineRef d3vLine = m_pFindDialog->currentLine;
1657 qsizetype posInLine = m_pFindDialog->currentPos;
1658
1659 if(m_pFindDialog->getCurrentWindow() == eWindowIndex::A)
1660 {
1661 if(m_pFindDialog->m_pSearchInA->isChecked() && m_pDiffTextWindow1 != nullptr &&
1662 m_pDiffTextWindow1->findString(s, d3vLine, posInLine, bDirDown, bCaseSensitive))
1663 {
1664 m_pFindDialog->currentLine = d3vLine;
1665 m_pFindDialog->currentPos = posInLine + 1;
1666 return;
1667 }
1668 m_pFindDialog->nextWindow();
1669 }
1670
1671 d3vLine = m_pFindDialog->currentLine;
1672 posInLine = m_pFindDialog->currentPos;
1673 if(m_pFindDialog->getCurrentWindow() == eWindowIndex::B)
1674 {
1675 if(m_pFindDialog->m_pSearchInB->isChecked() && m_pDiffTextWindow2 != nullptr &&
1676 m_pDiffTextWindow2->findString(s, d3vLine, posInLine, bDirDown, bCaseSensitive))
1677 {
1678 m_pFindDialog->currentLine = d3vLine;
1679 m_pFindDialog->currentPos = posInLine + 1;
1680 return;
1681 }
1682
1683 m_pFindDialog->nextWindow();
1684 }
1685
1686 d3vLine = m_pFindDialog->currentLine;
1687 posInLine = m_pFindDialog->currentPos;
1688 if(m_pFindDialog->getCurrentWindow() == eWindowIndex::C)
1689 {
1690 if(m_pFindDialog->m_pSearchInC->isChecked() && m_pDiffTextWindow3 != nullptr &&
1691 m_pDiffTextWindow3->findString(s, d3vLine, posInLine, bDirDown, bCaseSensitive))
1692 {
1693 m_pFindDialog->currentLine = d3vLine;
1694 m_pFindDialog->currentPos = posInLine + 1;
1695 return;
1696 }
1697
1698 m_pFindDialog->nextWindow();
1699 }
1700
1701 d3vLine = m_pFindDialog->currentLine;

Callers

nothing calls this directly

Calls 5

getCurrentWindowMethod · 0.80
nextWindowMethod · 0.80
restartFindMethod · 0.80
isEmptyMethod · 0.45
findStringMethod · 0.45

Tested by

no test coverage detected