diff options
-rw-r--r-- | src/plugins/git/gitclient.cpp | 27 | ||||
-rw-r--r-- | src/plugins/git/gitclient.h | 2 | ||||
-rw-r--r-- | src/plugins/git/gitplugin.cpp | 4 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseplugin.cpp | 9 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseplugin.h | 2 |
5 files changed, 21 insertions, 23 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 3ad47bd620..8b89f7f7be 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -637,7 +637,7 @@ public: const QString &directory, bool enableAnnotationContextMenu, const QStringList &args, - const QStringList &fileNames) : + const QString &fileName) : BaseGitDiffArgumentsWidget(client, directory, args), m_client(client), m_workingDirectory(directory), @@ -657,24 +657,24 @@ public: QToolButton *graphButton = addToggleButton(graphArguments, tr("Graph"), tr("Show textual graph log.")); mapSetting(graphButton, m_client->settings()->boolPointer(GitSettings::graphLogKey)); - setFileNames(fileNames); + setFileName(fileName); } - void setFileNames(const QStringList &fileNames) + void setFileName(const QString &fileNames) { - m_fileNames = fileNames; + m_fileName = fileNames; } void executeCommand() { - m_client->log(m_workingDirectory, m_fileNames, m_enableAnnotationContextMenu, baseArguments()); + m_client->log(m_workingDirectory, m_fileName, m_enableAnnotationContextMenu, baseArguments()); } private: GitClient *m_client; QString m_workingDirectory; bool m_enableAnnotationContextMenu; - QStringList m_fileNames; + QString m_fileName; }; class ConflictHandler : public QObject @@ -1113,20 +1113,19 @@ void GitClient::status(const QString &workingDirectory) Qt::QueuedConnection); } -void GitClient::log(const QString &workingDirectory, const QStringList &fileNames, +void GitClient::log(const QString &workingDirectory, const QString &fileName, bool enableAnnotationContextMenu, const QStringList &args) { - const QString msgArg = fileNames.empty() ? workingDirectory : - fileNames.join(QLatin1String(", ")); + const QString msgArg = fileName.isEmpty() ? workingDirectory : fileName; const QString title = tr("Git Log \"%1\"").arg(msgArg); const Core::Id editorId = Git::Constants::GIT_LOG_EDITOR_ID; - const QString sourceFile = VcsBase::VcsBaseEditorWidget::getSource(workingDirectory, fileNames); + const QString sourceFile = VcsBase::VcsBaseEditorWidget::getSource(workingDirectory, fileName); VcsBase::VcsBaseEditorWidget *editor = findExistingVCSEditor("logFileName", sourceFile); if (!editor) editor = createVcsEditor(editorId, title, sourceFile, CodecLogOutput, "logFileName", sourceFile, new GitLogArgumentsWidget(this, workingDirectory, enableAnnotationContextMenu, - args, fileNames)); + args, fileName)); editor->setFileLogAnnotateEnabled(enableAnnotationContextMenu); editor->setDiffBaseDirectory(workingDirectory); @@ -1140,13 +1139,13 @@ void GitClient::log(const QString &workingDirectory, const QStringList &fileName GitLogArgumentsWidget *argWidget = qobject_cast<GitLogArgumentsWidget *>(editor->configurationWidget()); argWidget->setBaseArguments(args); - argWidget->setFileNames(fileNames); + argWidget->setFileName(fileName); QStringList userArgs = argWidget->arguments(); arguments.append(userArgs); - if (!fileNames.isEmpty()) - arguments << QLatin1String("--") << fileNames; + if (!fileName.isEmpty()) + arguments << QLatin1String("--") << fileName; executeGit(workingDirectory, arguments, editor); } diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 47e27ccf5b..fa7ac9a921 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -146,7 +146,7 @@ public: void merge(const QString &workingDirectory, const QStringList &unmergedFileNames = QStringList()); void status(const QString &workingDirectory); - void log(const QString &workingDirectory, const QStringList &fileNames = QStringList(), + void log(const QString &workingDirectory, const QString &fileName = QString(), bool enableAnnotationContextMenu = false, const QStringList &args = QStringList()); void blame(const QString &workingDirectory, const QStringList &args, const QString &fileName, const QString &revision = QString(), int lineNumber = -1); diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 6801a97390..1692b780d2 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -744,7 +744,7 @@ void GitPlugin::diffCurrentProject() { const VcsBase::VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasProject(), return); - m_gitClient->diff(state.currentProjectTopLevel(), state.relativeCurrentProject()); + m_gitClient->diff(state.currentProjectTopLevel(), QStringList(state.relativeCurrentProject())); } void GitPlugin::diffRepository() @@ -758,7 +758,7 @@ void GitPlugin::logFile() { const VcsBase::VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasFile(), return); - m_gitClient->log(state.currentFileTopLevel(), QStringList(state.relativeCurrentFile()), true); + m_gitClient->log(state.currentFileTopLevel(), state.relativeCurrentFile(), true); } void GitPlugin::blameFile() diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index 9d1905ccc7..e47fb10f06 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -404,13 +404,12 @@ QString VcsBasePluginState::currentProjectTopLevel() const return data->m_state.currentProjectTopLevel; } -QStringList VcsBasePluginState::relativeCurrentProject() const +QString VcsBasePluginState::relativeCurrentProject() const { - QStringList rc; - QTC_ASSERT(hasProject(), return rc); + QTC_ASSERT(hasProject(), return QString()); if (data->m_state.currentProjectTopLevel != data->m_state.currentProjectPath) - rc.append(QDir(data->m_state.currentProjectTopLevel).relativeFilePath(data->m_state.currentProjectPath)); - return rc; + return QDir(data->m_state.currentProjectTopLevel).relativeFilePath(data->m_state.currentProjectPath); + return QString(); } bool VcsBasePluginState::hasTopLevel() const diff --git a/src/plugins/vcsbase/vcsbaseplugin.h b/src/plugins/vcsbase/vcsbaseplugin.h index 8c1f5fe39b..f657f55871 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.h +++ b/src/plugins/vcsbase/vcsbaseplugin.h @@ -96,7 +96,7 @@ public: /* Convenience: Returns project path relative to top level if it * differs from top level (else empty()) as an argument list to do * eg a 'vcs diff <args>' */ - QStringList relativeCurrentProject() const; + QString relativeCurrentProject() const; // Top level directory for actions on the top level. Preferably // the file one. |