forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.6'
Conflicts: src/plugins/coreplugin/helpmanager.cpp Change-Id: I2feb60ec0afb2f22f75dc137a01c3fa217b299d8
This commit is contained in:
@@ -289,12 +289,12 @@ DiffEditor::DiffEditor()
|
||||
connect(m_viewSwitcherAction, &QAction::triggered, this, [this]() { showDiffView(nextView()); });
|
||||
}
|
||||
|
||||
void DiffEditor::setDocument(QSharedPointer<DiffEditorDocument>(doc))
|
||||
void DiffEditor::setDocument(QSharedPointer<DiffEditorDocument> doc)
|
||||
{
|
||||
QTC_ASSERT(m_document.isNull(), return);
|
||||
QTC_ASSERT(doc, return);
|
||||
|
||||
m_document = QSharedPointer<DiffEditorDocument>(doc);
|
||||
m_document = doc;
|
||||
|
||||
connect(m_descriptionWidget, &DescriptionEditorWidget::requestBranchList,
|
||||
m_document.data(), &DiffEditorDocument::requestMoreInformation);
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "diffeditorcontroller.h"
|
||||
|
||||
#include <coreplugin/editormanager/ieditor.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
#include <utils/guard.h>
|
||||
|
||||
@@ -71,9 +71,10 @@ QString DiffEditorController::revisionFromDescription() const
|
||||
return m_document->description().mid(7, 12);
|
||||
}
|
||||
|
||||
QString DiffEditorController::makePatch(PatchOptions options) const
|
||||
QString DiffEditorController::makePatch(int fileIndex, int chunkIndex,
|
||||
PatchOptions options) const
|
||||
{
|
||||
return m_document->makePatch(m_diffFileIndex, m_chunkIndex,
|
||||
return m_document->makePatch(fileIndex, chunkIndex,
|
||||
options & Revert, options & AddPrefix);
|
||||
}
|
||||
|
||||
@@ -152,11 +153,27 @@ void DiffEditorController::reloadFinished(bool success)
|
||||
m_isReloading = false;
|
||||
}
|
||||
|
||||
void DiffEditorController::requestChunkActions(QMenu *menu, int diffFileIndex, int chunkIndex)
|
||||
void DiffEditorController::requestChunkActions(QMenu *menu, int fileIndex, int chunkIndex)
|
||||
{
|
||||
m_diffFileIndex = diffFileIndex;
|
||||
m_chunkIndex = chunkIndex;
|
||||
emit chunkActionsRequested(menu, diffFileIndex >= 0 && chunkIndex >= 0);
|
||||
emit chunkActionsRequested(menu, fileIndex, chunkIndex);
|
||||
}
|
||||
|
||||
bool DiffEditorController::chunkExists(int fileIndex, int chunkIndex) const
|
||||
{
|
||||
if (!m_document)
|
||||
return false;
|
||||
|
||||
if (fileIndex < 0 || chunkIndex < 0)
|
||||
return false;
|
||||
|
||||
if (fileIndex >= m_document->diffFiles().count())
|
||||
return false;
|
||||
|
||||
const FileData fileData = m_document->diffFiles().at(fileIndex);
|
||||
if (chunkIndex >= fileData.chunks.count())
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace DiffEditor
|
||||
|
||||
@@ -59,16 +59,18 @@ public:
|
||||
AddPrefix = 2
|
||||
};
|
||||
Q_DECLARE_FLAGS(PatchOptions, PatchOption)
|
||||
QString makePatch(PatchOptions options) const;
|
||||
QString makePatch(int fileIndex, int chunkIndex, PatchOptions options) const;
|
||||
|
||||
static Core::IDocument *findOrCreateDocument(const QString &vcsId,
|
||||
const QString &displayName);
|
||||
static DiffEditorController *controller(Core::IDocument *document);
|
||||
|
||||
void branchesReceived(const QString &branches);
|
||||
void requestChunkActions(QMenu *menu, int fileIndex, int chunkIndex);
|
||||
bool chunkExists(int fileIndex, int chunkIndex) const;
|
||||
|
||||
signals:
|
||||
void chunkActionsRequested(QMenu *menu, bool isValid);
|
||||
void chunkActionsRequested(QMenu *menu, int fileIndex, int chunkIndex);
|
||||
void requestInformationForCommit(const QString &revision);
|
||||
|
||||
protected:
|
||||
@@ -87,15 +89,14 @@ protected:
|
||||
|
||||
private:
|
||||
void requestMoreInformation();
|
||||
void requestChunkActions(QMenu *menu, int diffFileIndex, int chunkIndex);
|
||||
|
||||
Internal::DiffEditorDocument *const m_document;
|
||||
|
||||
bool m_isReloading = false;
|
||||
int m_diffFileIndex = -1;
|
||||
int m_chunkIndex = -1;
|
||||
|
||||
friend class Internal::DiffEditorDocument;
|
||||
};
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS(DiffEditorController::PatchOptions)
|
||||
|
||||
} // namespace DiffEditor
|
||||
|
||||
@@ -71,8 +71,6 @@ void DiffEditorDocument::setController(DiffEditorController *controller)
|
||||
m_controller = controller;
|
||||
|
||||
if (m_controller) {
|
||||
connect(this, &DiffEditorDocument::chunkActionsRequested,
|
||||
m_controller, &DiffEditorController::requestChunkActions);
|
||||
connect(this, &DiffEditorDocument::requestMoreInformation,
|
||||
m_controller, &DiffEditorController::requestMoreInformation);
|
||||
}
|
||||
|
||||
@@ -90,7 +90,6 @@ signals:
|
||||
void temporaryStateChanged();
|
||||
void documentChanged();
|
||||
void descriptionChanged();
|
||||
void chunkActionsRequested(QMenu *menu, int diffFileIndex, int chunkIndex);
|
||||
void requestMoreInformation();
|
||||
|
||||
private:
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
#include "diffeditorwidgetcontroller.h"
|
||||
#include "diffeditorconstants.h"
|
||||
#include "diffeditorcontroller.h"
|
||||
#include "diffeditordocument.h"
|
||||
|
||||
#include <coreplugin/documentmanager.h>
|
||||
@@ -122,11 +123,14 @@ void DiffEditorWidgetController::hideProgress()
|
||||
m_progressIndicator->hide();
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::patch(bool revert)
|
||||
void DiffEditorWidgetController::patch(bool revert, int fileIndex, int chunkIndex)
|
||||
{
|
||||
if (!m_document)
|
||||
return;
|
||||
|
||||
if (!chunkExists(fileIndex, chunkIndex))
|
||||
return;
|
||||
|
||||
const QString title = revert ? tr("Revert Chunk") : tr("Apply Chunk");
|
||||
const QString question = revert
|
||||
? tr("Would you like to revert the chunk?")
|
||||
@@ -138,7 +142,7 @@ void DiffEditorWidgetController::patch(bool revert)
|
||||
return;
|
||||
}
|
||||
|
||||
const FileData fileData = m_contextFileData.at(m_contextMenuFileIndex);
|
||||
const FileData fileData = m_contextFileData.at(fileIndex);
|
||||
const QString fileName = revert
|
||||
? fileData.rightFileInfo.fileName
|
||||
: fileData.leftFileInfo.fileName;
|
||||
@@ -154,7 +158,7 @@ void DiffEditorWidgetController::patch(bool revert)
|
||||
if (patchBehaviour == DiffFileInfo::PatchFile) {
|
||||
const int strip = m_document->baseDirectory().isEmpty() ? -1 : 0;
|
||||
|
||||
const QString patch = m_document->makePatch(m_contextMenuFileIndex, m_contextMenuChunkIndex, revert);
|
||||
const QString patch = m_document->makePatch(fileIndex, chunkIndex, revert);
|
||||
|
||||
if (patch.isEmpty())
|
||||
return;
|
||||
@@ -179,8 +183,8 @@ void DiffEditorWidgetController::patch(bool revert)
|
||||
const QString contentsCopyFileName = contentsCopy.fileName();
|
||||
const QString contentsCopyDir = QFileInfo(contentsCopyFileName).absolutePath();
|
||||
|
||||
const QString patch = m_document->makePatch(m_contextMenuFileIndex,
|
||||
m_contextMenuChunkIndex, revert, false, QFileInfo(contentsCopyFileName).fileName());
|
||||
const QString patch = m_document->makePatch(fileIndex,
|
||||
chunkIndex, revert, false, QFileInfo(contentsCopyFileName).fileName());
|
||||
|
||||
if (patch.isEmpty())
|
||||
return;
|
||||
@@ -218,64 +222,59 @@ void DiffEditorWidgetController::setFontSettings(const FontSettings &fontSetting
|
||||
m_rightCharFormat = fontSettings.toTextCharFormat(C_DIFF_DEST_CHAR);
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::addCodePasterAction(QMenu *menu)
|
||||
void DiffEditorWidgetController::addCodePasterAction(QMenu *menu, int fileIndex, int chunkIndex)
|
||||
{
|
||||
if (ExtensionSystem::PluginManager::getObject<CodePaster::Service>()) {
|
||||
// optional code pasting service
|
||||
QAction *sendChunkToCodePasterAction = menu->addAction(tr("Send Chunk to CodePaster..."));
|
||||
connect(sendChunkToCodePasterAction, &QAction::triggered,
|
||||
this, &DiffEditorWidgetController::slotSendChunkToCodePaster);
|
||||
connect(sendChunkToCodePasterAction, &QAction::triggered, [this, fileIndex, chunkIndex]() {
|
||||
sendChunkToCodePaster(fileIndex, chunkIndex);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
bool DiffEditorWidgetController::setAndVerifyIndexes(QMenu *menu,
|
||||
int diffFileIndex, int chunkIndex)
|
||||
bool DiffEditorWidgetController::chunkExists(int fileIndex, int chunkIndex) const
|
||||
{
|
||||
if (!m_document)
|
||||
return false;
|
||||
|
||||
m_contextMenuFileIndex = diffFileIndex;
|
||||
m_contextMenuChunkIndex = chunkIndex;
|
||||
if (DiffEditorController *controller = m_document->controller())
|
||||
return controller->chunkExists(fileIndex, chunkIndex);
|
||||
|
||||
if (m_contextMenuFileIndex < 0 || m_contextMenuChunkIndex < 0)
|
||||
return false;
|
||||
|
||||
if (m_contextMenuFileIndex >= m_contextFileData.count())
|
||||
return false;
|
||||
|
||||
const FileData fileData = m_contextFileData.at(m_contextMenuFileIndex);
|
||||
if (m_contextMenuChunkIndex >= fileData.chunks.count())
|
||||
return false;
|
||||
|
||||
m_document->chunkActionsRequested(menu, diffFileIndex, chunkIndex);
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DiffEditorWidgetController::fileNamesAreDifferent() const
|
||||
bool DiffEditorWidgetController::fileNamesAreDifferent(int fileIndex) const
|
||||
{
|
||||
const FileData fileData = m_contextFileData.at(m_contextMenuFileIndex);
|
||||
const FileData fileData = m_contextFileData.at(fileIndex);
|
||||
return fileData.leftFileInfo.fileName != fileData.rightFileInfo.fileName;
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::addApplyAction(QMenu *menu, int diffFileIndex,
|
||||
int chunkIndex)
|
||||
void DiffEditorWidgetController::addApplyAction(QMenu *menu, int fileIndex, int chunkIndex)
|
||||
{
|
||||
QAction *applyAction = menu->addAction(tr("Apply Chunk..."));
|
||||
connect(applyAction, &QAction::triggered, this, &DiffEditorWidgetController::slotApplyChunk);
|
||||
applyAction->setEnabled(setAndVerifyIndexes(menu, diffFileIndex, chunkIndex)
|
||||
&& fileNamesAreDifferent());
|
||||
connect(applyAction, &QAction::triggered, [this, fileIndex, chunkIndex]() {
|
||||
patch(false, fileIndex, chunkIndex);
|
||||
});
|
||||
applyAction->setEnabled(chunkExists(fileIndex, chunkIndex) && fileNamesAreDifferent(fileIndex));
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::addRevertAction(QMenu *menu, int diffFileIndex,
|
||||
int chunkIndex)
|
||||
void DiffEditorWidgetController::addRevertAction(QMenu *menu, int fileIndex, int chunkIndex)
|
||||
{
|
||||
QAction *revertAction = menu->addAction(tr("Revert Chunk..."));
|
||||
connect(revertAction, &QAction::triggered, this, &DiffEditorWidgetController::slotRevertChunk);
|
||||
revertAction->setEnabled(setAndVerifyIndexes(menu, diffFileIndex, chunkIndex));
|
||||
connect(revertAction, &QAction::triggered, [this, fileIndex, chunkIndex]() {
|
||||
patch(true, fileIndex, chunkIndex);
|
||||
});
|
||||
revertAction->setEnabled(chunkExists(fileIndex, chunkIndex));
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::slotSendChunkToCodePaster()
|
||||
void DiffEditorWidgetController::addExtraActions(QMenu *menu, int fileIndex, int chunkIndex)
|
||||
{
|
||||
if (DiffEditorController *controller = m_document->controller())
|
||||
controller->requestChunkActions(menu, fileIndex, chunkIndex);
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::sendChunkToCodePaster(int fileIndex, int chunkIndex)
|
||||
{
|
||||
if (!m_document)
|
||||
return;
|
||||
@@ -284,7 +283,7 @@ void DiffEditorWidgetController::slotSendChunkToCodePaster()
|
||||
auto pasteService = ExtensionSystem::PluginManager::getObject<CodePaster::Service>();
|
||||
QTC_ASSERT(pasteService, return);
|
||||
|
||||
const QString patch = m_document->makePatch(m_contextMenuFileIndex, m_contextMenuChunkIndex, false);
|
||||
const QString patch = m_document->makePatch(fileIndex, chunkIndex, false);
|
||||
|
||||
if (patch.isEmpty())
|
||||
return;
|
||||
@@ -292,15 +291,5 @@ void DiffEditorWidgetController::slotSendChunkToCodePaster()
|
||||
pasteService->postText(patch, Constants::DIFF_EDITOR_MIMETYPE);
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::slotApplyChunk()
|
||||
{
|
||||
patch(false);
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::slotRevertChunk()
|
||||
{
|
||||
patch(true);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace DiffEditor
|
||||
|
||||
@@ -52,13 +52,13 @@ public:
|
||||
void setDocument(DiffEditorDocument *document);
|
||||
DiffEditorDocument *document() const;
|
||||
|
||||
void patch(bool revert);
|
||||
void jumpToOriginalFile(const QString &fileName, int lineNumber,
|
||||
int columnNumber);
|
||||
void setFontSettings(const TextEditor::FontSettings &fontSettings);
|
||||
void addCodePasterAction(QMenu *menu);
|
||||
void addApplyAction(QMenu *menu, int diffFileIndex, int chunkIndex);
|
||||
void addRevertAction(QMenu *menu, int diffFileIndex, int chunkIndex);
|
||||
void addCodePasterAction(QMenu *menu, int fileIndex, int chunkIndex);
|
||||
void addApplyAction(QMenu *menu, int fileIndex, int chunkIndex);
|
||||
void addRevertAction(QMenu *menu, int fileIndex, int chunkIndex);
|
||||
void addExtraActions(QMenu *menu, int fileIndex, int chunkIndex);
|
||||
|
||||
bool m_ignoreCurrentIndexChange = false;
|
||||
QList<FileData> m_contextFileData; // ultimate data to be shown
|
||||
@@ -71,11 +71,10 @@ public:
|
||||
QTextCharFormat m_rightCharFormat;
|
||||
|
||||
private:
|
||||
void slotSendChunkToCodePaster();
|
||||
void slotApplyChunk();
|
||||
void slotRevertChunk();
|
||||
bool setAndVerifyIndexes(QMenu *menu, int diffFileIndex, int chunkIndex);
|
||||
bool fileNamesAreDifferent() const;
|
||||
void patch(bool revert, int fileIndex, int chunkIndex);
|
||||
void sendChunkToCodePaster(int fileIndex, int chunkIndex);
|
||||
bool chunkExists(int fileIndex, int chunkIndex) const;
|
||||
bool fileNamesAreDifferent(int fileIndex) const;
|
||||
|
||||
void scheduleShowProgress();
|
||||
void showProgress();
|
||||
@@ -85,9 +84,6 @@ private:
|
||||
|
||||
DiffEditorDocument *m_document = nullptr;
|
||||
|
||||
int m_contextMenuFileIndex = -1;
|
||||
int m_contextMenuChunkIndex = -1;
|
||||
|
||||
Utils::ProgressIndicator *m_progressIndicator = nullptr;
|
||||
QTimer m_timer;
|
||||
};
|
||||
|
||||
@@ -1059,59 +1059,79 @@ void SideBySideDiffEditorWidget::slotRightJumpToOriginalFileRequested(
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::slotLeftContextMenuRequested(QMenu *menu,
|
||||
int diffFileIndex,
|
||||
int fileIndex,
|
||||
int chunkIndex)
|
||||
{
|
||||
menu->addSeparator();
|
||||
|
||||
m_controller.addCodePasterAction(menu);
|
||||
m_controller.addApplyAction(menu, diffFileIndex, chunkIndex);
|
||||
m_controller.addCodePasterAction(menu, fileIndex, chunkIndex);
|
||||
m_controller.addApplyAction(menu, fileIndex, chunkIndex);
|
||||
m_controller.addExtraActions(menu, fileIndex, chunkIndex);
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::slotRightContextMenuRequested(QMenu *menu,
|
||||
int diffFileIndex,
|
||||
int fileIndex,
|
||||
int chunkIndex)
|
||||
{
|
||||
menu->addSeparator();
|
||||
|
||||
m_controller.addCodePasterAction(menu);
|
||||
m_controller.addRevertAction(menu, diffFileIndex, chunkIndex);
|
||||
m_controller.addCodePasterAction(menu, fileIndex, chunkIndex);
|
||||
m_controller.addRevertAction(menu, fileIndex, chunkIndex);
|
||||
m_controller.addExtraActions(menu, fileIndex, chunkIndex);
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::leftVSliderChanged()
|
||||
{
|
||||
if (m_controller.m_ignoreCurrentIndexChange)
|
||||
return;
|
||||
|
||||
m_rightEditor->verticalScrollBar()->setValue(m_leftEditor->verticalScrollBar()->value());
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::rightVSliderChanged()
|
||||
{
|
||||
if (m_controller.m_ignoreCurrentIndexChange)
|
||||
return;
|
||||
|
||||
m_leftEditor->verticalScrollBar()->setValue(m_rightEditor->verticalScrollBar()->value());
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::leftHSliderChanged()
|
||||
{
|
||||
if (m_controller.m_ignoreCurrentIndexChange)
|
||||
return;
|
||||
|
||||
if (m_horizontalSync)
|
||||
m_rightEditor->horizontalScrollBar()->setValue(m_leftEditor->horizontalScrollBar()->value());
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::rightHSliderChanged()
|
||||
{
|
||||
if (m_controller.m_ignoreCurrentIndexChange)
|
||||
return;
|
||||
|
||||
if (m_horizontalSync)
|
||||
m_leftEditor->horizontalScrollBar()->setValue(m_rightEditor->horizontalScrollBar()->value());
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::leftCursorPositionChanged()
|
||||
{
|
||||
if (m_controller.m_ignoreCurrentIndexChange)
|
||||
return;
|
||||
|
||||
handlePositionChange(m_leftEditor, m_rightEditor);
|
||||
leftVSliderChanged();
|
||||
leftHSliderChanged();
|
||||
handlePositionChange(m_leftEditor, m_rightEditor);
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::rightCursorPositionChanged()
|
||||
{
|
||||
if (m_controller.m_ignoreCurrentIndexChange)
|
||||
return;
|
||||
|
||||
handlePositionChange(m_rightEditor, m_leftEditor);
|
||||
rightVSliderChanged();
|
||||
rightHSliderChanged();
|
||||
handlePositionChange(m_rightEditor, m_leftEditor);
|
||||
}
|
||||
|
||||
void SideBySideDiffEditorWidget::handlePositionChange(SideDiffEditorWidget *source, SideDiffEditorWidget *dest)
|
||||
@@ -1129,6 +1149,8 @@ void SideBySideDiffEditorWidget::handlePositionChange(SideDiffEditorWidget *sour
|
||||
|
||||
void SideBySideDiffEditorWidget::syncCursor(SideDiffEditorWidget *source, SideDiffEditorWidget *dest)
|
||||
{
|
||||
const int oldHSliderPos = dest->horizontalScrollBar()->value();
|
||||
|
||||
const QTextCursor sourceCursor = source->textCursor();
|
||||
const int sourceLine = sourceCursor.blockNumber();
|
||||
const int sourceColumn = sourceCursor.positionInBlock();
|
||||
@@ -1139,6 +1161,7 @@ void SideBySideDiffEditorWidget::syncCursor(SideDiffEditorWidget *source, SideDi
|
||||
destCursor.setPosition(destPosition);
|
||||
dest->setTextCursor(destCursor);
|
||||
|
||||
dest->horizontalScrollBar()->setValue(oldHSliderPos);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -85,9 +85,9 @@ private:
|
||||
int lineNumber, int columnNumber);
|
||||
void slotRightJumpToOriginalFileRequested(int diffFileIndex,
|
||||
int lineNumber, int columnNumber);
|
||||
void slotLeftContextMenuRequested(QMenu *menu, int diffFileIndex,
|
||||
void slotLeftContextMenuRequested(QMenu *menu, int fileIndex,
|
||||
int chunkIndex);
|
||||
void slotRightContextMenuRequested(QMenu *menu, int diffFileIndex,
|
||||
void slotRightContextMenuRequested(QMenu *menu, int fileIndex,
|
||||
int chunkIndex);
|
||||
void leftVSliderChanged();
|
||||
void rightVSliderChanged();
|
||||
|
||||
@@ -190,14 +190,15 @@ void UnifiedDiffEditorWidget::contextMenuEvent(QContextMenuEvent *e)
|
||||
}
|
||||
|
||||
void UnifiedDiffEditorWidget::addContextMenuActions(QMenu *menu,
|
||||
int diffFileIndex,
|
||||
int fileIndex,
|
||||
int chunkIndex)
|
||||
{
|
||||
menu->addSeparator();
|
||||
|
||||
m_controller.addCodePasterAction(menu);
|
||||
m_controller.addApplyAction(menu, diffFileIndex, chunkIndex);
|
||||
m_controller.addRevertAction(menu, diffFileIndex, chunkIndex);
|
||||
m_controller.addCodePasterAction(menu, fileIndex, chunkIndex);
|
||||
m_controller.addApplyAction(menu, fileIndex, chunkIndex);
|
||||
m_controller.addRevertAction(menu, fileIndex, chunkIndex);
|
||||
m_controller.addExtraActions(menu, fileIndex, chunkIndex);
|
||||
}
|
||||
|
||||
void UnifiedDiffEditorWidget::clear(const QString &message)
|
||||
|
||||
@@ -96,7 +96,7 @@ private:
|
||||
int chunkIndexForBlockNumber(int blockNumber) const;
|
||||
void jumpToOriginalFile(const QTextCursor &cursor);
|
||||
void addContextMenuActions(QMenu *menu,
|
||||
int diffFileIndex,
|
||||
int fileIndex,
|
||||
int chunkIndex);
|
||||
|
||||
// block number, visual line number.
|
||||
|
||||
Reference in New Issue
Block a user