summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/diffeditor/diffeditorcontroller.h7
-rw-r--r--src/plugins/mercurial/mercurialclient.cpp9
2 files changed, 7 insertions, 9 deletions
diff --git a/src/plugins/diffeditor/diffeditorcontroller.h b/src/plugins/diffeditor/diffeditorcontroller.h
index efa8982440..b94fdc7314 100644
--- a/src/plugins/diffeditor/diffeditorcontroller.h
+++ b/src/plugins/diffeditor/diffeditorcontroller.h
@@ -52,15 +52,14 @@ public:
bool chunkExists(int fileIndex, int chunkIndex) const;
Core::IDocument *document() const;
- // reloadFinished() should be called inside the reloader (for synchronous reload)
- // or later (for asynchronous reload)
- void setReloader(const std::function<void ()> &reloader);
-
signals:
void chunkActionsRequested(QMenu *menu, int fileIndex, int chunkIndex,
const ChunkSelection &selection);
protected:
+ // reloadFinished() should be called inside the reloader (for synchronous reload)
+ // or later (for asynchronous reload)
+ void setReloader(const std::function<void ()> &reloader);
void reloadFinished(bool success);
void setDiffFiles(const QList<FileData> &diffFileList,
diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp
index 35e933272b..f9da6262e2 100644
--- a/src/plugins/mercurial/mercurialclient.cpp
+++ b/src/plugins/mercurial/mercurialclient.cpp
@@ -38,12 +38,14 @@ namespace Mercurial::Internal {
class MercurialDiffEditorController : public VcsBaseDiffEditorController
{
public:
- MercurialDiffEditorController(IDocument *document)
+ MercurialDiffEditorController(IDocument *document, const QStringList &args)
: VcsBaseDiffEditorController(document)
{
setDisplayName("Hg Diff");
+ setReloader([this, args] { runCommand({addConfigurationArguments(args)}); });
}
+private:
void runCommand(const QList<QStringList> &args, QTextCodec *codec = nullptr);
QStringList addConfigurationArguments(const QStringList &args) const;
};
@@ -416,10 +418,7 @@ void MercurialClient::requestReload(const QString &documentId, const QString &so
IDocument *document = DiffEditorController::findOrCreateDocument(documentId, title);
QTC_ASSERT(document, return);
- auto controller = new MercurialDiffEditorController(document);
- controller->setReloader([controller, args] {
- controller->runCommand({controller->addConfigurationArguments(args)});
- });
+ auto controller = new MercurialDiffEditorController(document, args);
controller->setVcsBinary(settings().binaryPath.filePath());
controller->setVcsTimeoutS(settings().timeout.value());
controller->setProcessEnvironment(processEnvironment());