diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-03-10 11:02:12 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-03-10 11:02:12 +0100 |
commit | 6ffdf7cf40a75be1c8c5b39e69d00eeb2b2f0d75 (patch) | |
tree | 4d46ec186e2e07fe80409900b5b790c18c899dbe /src/plugins/perforce | |
parent | f2550c2ca709656f721be0d2c3d153c43a42db54 (diff) |
Fixes: Add a combo for diff file browsing, bring diff editors to front, exclude qconfig.pri from files examined by p4.
Task: 234842
Diffstat (limited to 'src/plugins/perforce')
-rw-r--r-- | src/plugins/perforce/perforceplugin.cpp | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index d3fcc1d17d..65efbc977f 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -106,6 +106,27 @@ static inline QString debugCodec(const QTextCodec *c) return c ? QString::fromAscii(c->name()) : QString::fromAscii("Null codec"); } +// Return the project files relevant for VCS +static const QStringList currentProjectFiles(QString *name) +{ + QStringList files = VCSBase::VCSBaseSubmitEditor::currentProjectFiles(true, name); + if (!files.empty()) { + // Filter out mkspecs/qconfig.pri + QString exclusion = QLatin1String("mkspecs"); + exclusion += QDir::separator(); + exclusion += QLatin1String("qconfig.pri"); + for (QStringList::iterator it = files.begin(); it != files.end(); ) { + if (it->endsWith(exclusion)) { + it = files.erase(it); + break; + } else { + ++it; + } + } + } + return files; +} + const char * const PerforcePlugin::PERFORCE_MENU = "Perforce.Menu"; const char * const PerforcePlugin::EDIT = "Perforce.Edit"; const char * const PerforcePlugin::ADD = "Perforce.Add"; @@ -450,7 +471,7 @@ void PerforcePlugin::diffCurrentFile() void PerforcePlugin::diffCurrentProject() { QString name; - const QStringList nativeFiles = VCSBase::VCSBaseSubmitEditor::currentProjectFiles(true, &name); + const QStringList nativeFiles = currentProjectFiles(&name); p4Diff(nativeFiles, name); } @@ -509,7 +530,7 @@ void PerforcePlugin::submit() // Assemble file list of project QString name; - const QStringList nativeFiles = VCSBase::VCSBaseSubmitEditor::currentProjectFiles(true, &name); + const QStringList nativeFiles = currentProjectFiles(&name); PerforceResponse result2 = runP4Cmd(QStringList(QLatin1String("fstat")), nativeFiles, CommandToWindow|StdErrToWindow|ErrorToWindow); if (result2.error) { @@ -846,7 +867,9 @@ Core::IEditor * PerforcePlugin::showOutputInEditor(const QString& title, const Q e->setSuggestedFileName(s); if (codec) e->setCodec(codec); - return e->editableInterface(); + Core::IEditor *ie = e->editableInterface(); + Core::EditorManager::instance()->activateEditor(ie); + return ie; } QStringList PerforcePlugin::environment() const |