Three corresponding ranges. (Minimum size of a valid range is one line.)
| 535 | |
| 536 | // Three corresponding ranges. (Minimum size of a valid range is one line.) |
| 537 | class ManualDiffHelpEntry |
| 538 | { |
| 539 | private: |
| 540 | LineRef lineA1; |
| 541 | LineRef lineA2; |
| 542 | LineRef lineB1; |
| 543 | LineRef lineB2; |
| 544 | LineRef lineC1; |
| 545 | LineRef lineC2; |
| 546 | |
| 547 | public: |
| 548 | ManualDiffHelpEntry() = default; |
| 549 | ManualDiffHelpEntry(e_SrcSelector winIdx, LineRef firstLine, LineRef lastLine) |
| 550 | { |
| 551 | if(winIdx == e_SrcSelector::A) |
| 552 | { |
| 553 | lineA1 = firstLine; |
| 554 | lineA2 = lastLine; |
| 555 | } |
| 556 | else if(winIdx == e_SrcSelector::B) |
| 557 | { |
| 558 | lineB1 = firstLine; |
| 559 | lineB2 = lastLine; |
| 560 | } |
| 561 | else |
| 562 | { |
| 563 | lineC1 = firstLine; |
| 564 | lineC2 = lastLine; |
| 565 | } |
| 566 | } |
| 567 | |
| 568 | LineRef& firstLine(e_SrcSelector winIdx) |
| 569 | { |
| 570 | return winIdx == e_SrcSelector::A ? lineA1 : (winIdx == e_SrcSelector::B ? lineB1 : lineC1); |
| 571 | } |
| 572 | |
| 573 | LineRef& lastLine(e_SrcSelector winIdx) |
| 574 | { |
| 575 | return winIdx == e_SrcSelector::A ? lineA2 : (winIdx == e_SrcSelector::B ? lineB2 : lineC2); |
| 576 | } |
| 577 | |
| 578 | bool isLineInRange(LineRef line, e_SrcSelector winIdx) |
| 579 | { |
| 580 | return line.isValid() && line >= firstLine(winIdx) && line <= lastLine(winIdx); |
| 581 | } |
| 582 | |
| 583 | bool operator==(const ManualDiffHelpEntry& r) const |
| 584 | { |
| 585 | return lineA1 == r.lineA1 && lineB1 == r.lineB1 && lineC1 == r.lineC1 && |
| 586 | lineA2 == r.lineA2 && lineB2 == r.lineB2 && lineC2 == r.lineC2; |
| 587 | } |
| 588 | |
| 589 | qint32 calcManualDiffFirstDiff3LineIdx(const Diff3LineVector& d3lv); |
| 590 | |
| 591 | void getRangeForUI(const e_SrcSelector winIdx, LineRef* rangeLine1, LineRef* rangeLine2) const |
| 592 | { |
| 593 | if(winIdx == e_SrcSelector::A) |
| 594 | { |
no outgoing calls