# HG changeset patch
# User Chris Cannam
# Date 1294154527 0
# Node ID d256cc418fa3df962bc2dca74cffda493e38f94e
# Parent  c77c4d00a4fe5c7904e37c1eadab7296e7936081
 * Fix failure to enable Add button when a "Removed" file was selected

diff -r c77c4d00a4fe -r d256cc418fa3 hgtabwidget.cpp
--- a/hgtabwidget.cpp	Tue Jan 04 14:31:30 2011 +0000
+++ b/hgtabwidget.cpp	Tue Jan 04 15:22:07 2011 +0000
@@ -115,10 +115,17 @@
 
 bool HgTabWidget::canAdd() const
 {
-    if (m_fileStatusWidget->getSelectedAddableFiles().empty()) return false;
-    if (!m_fileStatusWidget->getSelectedCommittableFiles().empty()) return false;
-    if (!m_fileStatusWidget->getSelectedRemovableFiles().empty()) return false;
-    return true;
+    QStringList addable = m_fileStatusWidget->getSelectedAddableFiles();
+    if (addable.empty()) return false;
+
+    QStringList removable = m_fileStatusWidget->getSelectedRemovableFiles();
+    if (!removable.empty()) return false;
+
+    QStringList committable = m_fileStatusWidget->getSelectedCommittableFiles();
+    // "Removed" files are both committable and addable; don't return
+    // a false positive if the selection only contains these
+    if (committable == addable || committable.empty()) return true;
+    return false;
 }
 
 bool HgTabWidget::canRemove() const