diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index 2e82b77c4e2..117c5de6cbf 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -1197,7 +1197,7 @@ void ClearCasePluginPrivate::ccDiffWithPred(const FilePath &workingDir, const QS // diff of a single file? re-use an existing view if possible to support // the common usage pattern of continuously changing and diffing a file - const QString tag = VcsBaseEditor::editorTag(DiffOutput, workingDir.toString(), files); + const QString tag = VcsBaseEditor::editorTag(DiffOutput, workingDir, files); if (files.count() == 1) { // Show in the same editor if diff has been executed before if (IEditor *existingEditor = VcsBaseEditor::locateEditorByTag(tag)) { @@ -1459,7 +1459,7 @@ void ClearCasePluginPrivate::history(const FilePath &workingDir, // the common usage pattern of continuously changing and diffing a file const QString id = VcsBaseEditor::getTitleId(workingDir, files); - const QString tag = VcsBaseEditor::editorTag(LogOutput, workingDir.toString(), files); + const QString tag = VcsBaseEditor::editorTag(LogOutput, workingDir, files); if (IEditor *editor = VcsBaseEditor::locateEditorByTag(tag)) { editor->document()->setContents(result.cleanedStdOut().toUtf8()); EditorManager::activateEditor(editor); @@ -1563,7 +1563,7 @@ void ClearCasePluginPrivate::vcsAnnotateHelper(const FilePath &workingDir, const stream << result.cleanedStdOut().mid(dataStart) << headerSep << QLatin1Char('\n') << headerSep << QLatin1Char('\n') << result.cleanedStdOut().left(pos); const QStringList files = QStringList(file); - const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir.toString(), files); + const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir, files); if (IEditor *editor = VcsBaseEditor::locateEditorByTag(tag)) { editor->document()->setContents(res.toUtf8()); VcsBaseEditor::gotoLineOfEditor(editor, lineNumber); @@ -1599,7 +1599,7 @@ void ClearCasePluginPrivate::vcsDescribe(const FilePath &source, const QString & // Re-use an existing view if possible to support // the common usage pattern of continuously changing and diffing a file - const QString tag = VcsBaseEditor::editorTag(DiffOutput, source.toString(), QStringList(), changeNr); + const QString tag = VcsBaseEditor::editorTag(DiffOutput, source, {}, changeNr); if (IEditor *editor = VcsBaseEditor::locateEditorByTag(tag)) { editor->document()->setContents(description.toUtf8()); EditorManager::activateEditor(editor); diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index b21b3a12eb9..a004be3b6d5 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -1011,7 +1011,7 @@ void CvsPluginPrivate::filelog(const FilePath &workingDir, // Re-use an existing view if possible to support // the common usage pattern of continuously changing and diffing a file - const QString tag = VcsBaseEditor::editorTag(LogOutput, workingDir.toString(), QStringList(file)); + const QString tag = VcsBaseEditor::editorTag(LogOutput, workingDir, {file}); if (IEditor *editor = VcsBaseEditor::locateEditorByTag(tag)) { editor->document()->setContents(response.cleanedStdOut().toUtf8()); EditorManager::activateEditor(editor); @@ -1150,7 +1150,7 @@ void CvsPluginPrivate::annotate(const FilePath &workingDir, const QString &file, if (lineNumber < 1) lineNumber = VcsBaseEditor::lineNumberOfCurrentEditor(file); - const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir.toString(), QStringList(file), revision); + const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir, {file}, revision); if (IEditor *editor = VcsBaseEditor::locateEditorByTag(tag)) { editor->document()->setContents(response.cleanedStdOut().toUtf8()); VcsBaseEditor::gotoLineOfEditor(editor, lineNumber); diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index bcf419edb5d..15202625682 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -1462,7 +1462,7 @@ void PerforcePluginPrivate::p4Diff(const PerforceDiffParameters &p) QTextCodec *codec = VcsBaseEditor::getCodec(p.workingDir, p.files); const QString id = VcsBaseEditor::getTitleId(p.workingDir, p.files); // Reuse existing editors for that id - const QString tag = VcsBaseEditor::editorTag(DiffOutput, p.workingDir.toString(), p.files); + const QString tag = VcsBaseEditor::editorTag(DiffOutput, p.workingDir, p.files); IEditor *existingEditor = VcsBaseEditor::locateEditorByTag(tag); // Split arguments according to size QStringList args; diff --git a/src/plugins/subversion/subversionclient.cpp b/src/plugins/subversion/subversionclient.cpp index 104488f789e..0262e6358c5 100644 --- a/src/plugins/subversion/subversionclient.cpp +++ b/src/plugins/subversion/subversionclient.cpp @@ -253,7 +253,8 @@ SubversionDiffEditorController *SubversionClient::findOrCreateDiffEditor(const Q return controller; } -void SubversionClient::diff(const FilePath &workingDirectory, const QStringList &files, const QStringList &extraOptions) +void SubversionClient::diff(const FilePath &workingDirectory, const QStringList &files, + const QStringList &extraOptions) { Q_UNUSED(extraOptions) @@ -268,10 +269,8 @@ void SubversionClient::diff(const FilePath &workingDirectory, const QStringList controller->requestReload(); } -void SubversionClient::log(const FilePath &workingDir, - const QStringList &files, - const QStringList &extraOptions, - bool enableAnnotationContextMenu) +void SubversionClient::log(const FilePath &workingDir, const QStringList &files, + const QStringList &extraOptions, bool enableAnnotationContextMenu) { auto &settings = static_cast(this->settings()); const int logCount = settings.logCount.value(); @@ -285,16 +284,15 @@ void SubversionClient::log(const FilePath &workingDir, VcsBaseClient::log(workingDir, escapeFiles(files), svnExtraOptions, enableAnnotationContextMenu); } -void SubversionClient::describe(const FilePath &workingDirectory, int changeNumber, const QString &title) +void SubversionClient::describe(const FilePath &workingDirectory, int changeNumber, + const QString &title) { const QString documentId = QLatin1String(Constants::SUBVERSION_PLUGIN) - + QLatin1String(".Describe.") + VcsBaseEditor::editorTag(DiffOutput, - workingDirectory.toString(), - QStringList(), - QString::number(changeNumber)); + + QLatin1String(".Describe.") + VcsBaseEditor::editorTag(DiffOutput, + workingDirectory, {}, QString::number(changeNumber)); - SubversionDiffEditorController *controller = - findOrCreateDiffEditor(documentId, workingDirectory.toString(), title, workingDirectory); + SubversionDiffEditorController *controller = findOrCreateDiffEditor(documentId, + workingDirectory.toString(), title, workingDirectory); controller->setChangeNumber(changeNumber); controller->requestReload(); } diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index f093b066491..da5f67e68cd 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -906,7 +906,7 @@ void SubversionPluginPrivate::vcsAnnotateHelper(const FilePath &workingDir, cons // Determine id const QStringList files = QStringList(file); const QString id = VcsBaseEditor::getTitleId(workingDir, files, revision); - const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir.toString(), files); + const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir, files); if (IEditor *editor = VcsBaseEditor::locateEditorByTag(tag)) { editor->document()->setContents(response.cleanedStdOut().toUtf8()); VcsBaseEditor::gotoLineOfEditor(editor, lineNumber); diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index 2ca4c01d2c5..f6ecadc253b 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -1595,10 +1595,8 @@ void VcsBaseEditorWidget::slotApplyDiffChunk(const DiffChunk &chunk, PatchAction } // Tagging of editors for re-use. -QString VcsBaseEditor::editorTag(EditorContentType t, - const QString &workingDirectory, - const QStringList &files, - const QString &revision) +QString VcsBaseEditor::editorTag(EditorContentType t, const FilePath &workingDirectory, + const QStringList &files, const QString &revision) { const QChar colon = QLatin1Char(':'); QString rc = QString::number(t); @@ -1607,7 +1605,7 @@ QString VcsBaseEditor::editorTag(EditorContentType t, rc += revision; rc += colon; } - rc += workingDirectory; + rc += workingDirectory.toString(); if (!files.isEmpty()) { rc += colon; rc += files.join(QString(colon)); diff --git a/src/plugins/vcsbase/vcsbaseeditor.h b/src/plugins/vcsbase/vcsbaseeditor.h index a79df047553..3cdbc3c343e 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.h +++ b/src/plugins/vcsbase/vcsbaseeditor.h @@ -104,8 +104,8 @@ public: * the editor, they get a 'tag' containing type and parameters (dynamic property string). */ static void tagEditor(Core::IEditor *e, const QString &tag); static Core::IEditor* locateEditorByTag(const QString &tag); - static QString editorTag(EditorContentType t, const QString &workingDirectory, const QStringList &files, - const QString &revision = QString()); + static QString editorTag(EditorContentType t, const Utils::FilePath &workingDirectory, + const QStringList &files, const QString &revision = {}); void finalizeInitialization() override; };