diff src/mainwindow.cpp @ 633:db62a0cb3037

* Added setting to specify that diff command should be run once for each selected file, rather than passing all file names to diff command (p4merge doesn't like being given many files)
author Sam Izzo <sam@humbug.net>
date Mon, 27 Aug 2012 01:26:57 +1000
parents 38c84c66ad7a
children 6e479f33ea93
line wrap: on
line diff
--- a/src/mainwindow.cpp	Mon Aug 27 01:26:05 2012 +1000
+++ b/src/mainwindow.cpp	Mon Aug 27 01:26:57 2012 +1000
@@ -915,11 +915,20 @@
     // Diff parent against working folder (folder diff)
 
     params << "--config" << "extensions.extdiff=" << "extdiff";
-    params << "--program" << diff;
-
-    params << "--" << files; // may be none: whole dir
-
-    m_runner->requestAction(HgAction(ACT_FOLDERDIFF, m_workFolderPath, params));
+    params << "--program" << diff << "--";
+
+    QSettings settings;
+    if (settings.value("multipleDiffInstances", false).toBool()) {
+        foreach (QString file, files) {
+            QStringList p = params;
+            p << file;
+            m_runner->requestAction(HgAction(ACT_FOLDERDIFF, m_workFolderPath, p));
+        }
+    }
+    else {
+        params << files; // may be none: whole dir
+        m_runner->requestAction(HgAction(ACT_FOLDERDIFF, m_workFolderPath, params));
+    }
 }
 
 void MainWindow::hgDiffToCurrent(QString id)