aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/perforce
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-03-10 11:02:12 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-03-10 11:02:12 +0100
commit6ffdf7cf40a75be1c8c5b39e69d00eeb2b2f0d75 (patch)
tree4d46ec186e2e07fe80409900b5b790c18c899dbe /src/plugins/perforce
parentf2550c2ca709656f721be0d2c3d153c43a42db54 (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.cpp29
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