| 588 | } |
| 589 | |
| 590 | void DiffWidget::showWithFullContextChanged(bool fullContextEnabled) |
| 591 | { |
| 592 | if (m_params.arguments.size() < 1) { |
| 593 | return; |
| 594 | } |
| 595 | |
| 596 | if (fullContextEnabled) { |
| 597 | m_paramsNoFullContext = m_params; |
| 598 | int idx = m_params.arguments.indexOf(QLatin1String("--")); |
| 599 | if (idx != -1) { |
| 600 | m_params.arguments.insert(idx, QStringLiteral("-U5000")); |
| 601 | } else if (m_params.arguments.size() == 1) { |
| 602 | m_params.arguments << QStringLiteral("-U5000"); |
| 603 | } else { |
| 604 | m_params.arguments.insert(2, QStringLiteral("-U5000")); |
| 605 | } |
| 606 | } else { |
| 607 | m_params = m_paramsNoFullContext; |
| 608 | } |
| 609 | |
| 610 | const int lineNo = m_left->firstVisibleLineNumber(); |
| 611 | runGitDiff(); |
| 612 | |
| 613 | // After the diff runs and we show the result, try to take the user back to where he was |
| 614 | QPointer<QTimer> delayedSlotTrigger = new QTimer(this); |
| 615 | delayedSlotTrigger->setSingleShot(true); |
| 616 | delayedSlotTrigger->setInterval(10); |
| 617 | delayedSlotTrigger->callOnTimeout(this, [this, lineNo, delayedSlotTrigger, fullContextEnabled] { |
| 618 | if (delayedSlotTrigger) { |
| 619 | m_left->scrollToLineNumber(lineNo); |
| 620 | m_toolbar->setShowFullContext(fullContextEnabled); |
| 621 | delete delayedSlotTrigger; |
| 622 | } |
| 623 | }); |
| 624 | connect(m_left, &QPlainTextEdit::textChanged, delayedSlotTrigger, qOverload<>(&QTimer::start)); |
| 625 | } |
| 626 | |
| 627 | void DiffWidget::diffDocs(KTextEditor::Document *l, KTextEditor::Document *r) |
| 628 | { |
nothing calls this directly
no test coverage detected