# HG changeset patch # User Chris Cannam # Date 1294158267 0 # Node ID 49bf8cc4f6b26f8c1af9e794b06c6ebb3f484299 # Parent 3cc6455e58c2e8c70252b41a75249c008e4bd36c# Parent d256cc418fa3df962bc2dca74cffda493e38f94e Merge diff -r 3cc6455e58c2 -r 49bf8cc4f6b2 hgtabwidget.cpp --- a/hgtabwidget.cpp Tue Jan 04 15:34:12 2011 +0000 +++ b/hgtabwidget.cpp Tue Jan 04 16:24:27 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