| 2741 | } |
| 2742 | |
| 2743 | bool MergeResultWindow::findString(const QString& s, LineRef& d3vLine, qsizetype& posInLine, bool bDirDown, bool bCaseSensitive) |
| 2744 | { |
| 2745 | qint32 it = d3vLine; |
| 2746 | qint32 endIt = bDirDown ? getNofLines() : -1; |
| 2747 | qint32 step = bDirDown ? 1 : -1; |
| 2748 | qsizetype startPos = posInLine; |
| 2749 | |
| 2750 | for(; it != endIt; it += step) |
| 2751 | { |
| 2752 | QString line = getString(it); |
| 2753 | if(!line.isEmpty()) |
| 2754 | { |
| 2755 | qsizetype pos = line.indexOf(s, startPos, bCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive); |
| 2756 | |
| 2757 | if(pos != -1) |
| 2758 | { |
| 2759 | d3vLine = it; |
| 2760 | posInLine = pos; |
| 2761 | |
| 2762 | setSelection(d3vLine, posInLine, d3vLine, posInLine + s.length()); |
| 2763 | mVScrollBar->setValue(d3vLine - MergeResultWindow::mVScrollBar->pageStep() / 2); |
| 2764 | scrollToH(pos); |
| 2765 | |
| 2766 | return true; |
| 2767 | } |
| 2768 | |
| 2769 | startPos = 0; |
| 2770 | } |
| 2771 | } |
| 2772 | return false; |
| 2773 | } |
| 2774 | |
| 2775 | void MergeResultWindow::setSelection(LineType firstLine, qsizetype startPos, LineType lastLine, qsizetype endPos) |
| 2776 | { |