MCPcopy Create free account
hub / github.com/KDE/kate / showWithFullContextChanged

Method showWithFullContextChanged

apps/lib/diff/diffwidget.cpp:590–625  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

588}
589
590void 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
627void DiffWidget::diffDocs(KTextEditor::Document *l, KTextEditor::Document *r)
628{

Callers

nothing calls this directly

Calls 6

sizeMethod · 0.80
indexOfMethod · 0.80
insertMethod · 0.80
scrollToLineNumberMethod · 0.80
setShowFullContextMethod · 0.80

Tested by

no test coverage detected