diff hgtabwidget.cpp @ 109:1721c580c10e

* Add a queueing mechanism for Hg actions, instead of refusing to start an action if something else is already happening. This is essential now that actions can be prompted by asynchronous events (e.g. filesystem watcher). * Make Revert behave sensibly
author Chris Cannam
date Fri, 26 Nov 2010 12:48:29 +0000
parents 8ae3b44c0073
children 78374cefa10f
line wrap: on
line diff
--- a/hgtabwidget.cpp	Thu Nov 25 21:08:17 2010 +0000
+++ b/hgtabwidget.cpp	Fri Nov 26 12:48:29 2010 +0000
@@ -66,9 +66,16 @@
 
 bool HgTabWidget::canCommit() const
 {
+    if (!fileStatusWidget->getSelectedAddableFiles().empty()) return false;
     return fileStatusWidget->haveChangesToCommit();
 }
 
+bool HgTabWidget::canRevert() const
+{
+    return fileStatusWidget->haveChangesToCommit() ||
+        !fileStatusWidget->getSelectedRevertableFiles().empty();
+}
+
 bool HgTabWidget::canAdd() const
 {
     if (fileStatusWidget->getSelectedAddableFiles().empty()) return false;
@@ -94,36 +101,41 @@
     return fileStatusWidget->getAllSelectedFiles();
 }
 
+QStringList HgTabWidget::getAllCommittableFiles() const
+{
+    return fileStatusWidget->getAllCommittableFiles();
+}
+
 QStringList HgTabWidget::getSelectedCommittableFiles() const
 {
     return fileStatusWidget->getSelectedCommittableFiles();
 }
 
+QStringList HgTabWidget::getAllRevertableFiles() const
+{
+    return fileStatusWidget->getAllRevertableFiles();
+}
+
+QStringList HgTabWidget::getSelectedRevertableFiles() const
+{
+    return fileStatusWidget->getSelectedRevertableFiles();
+}
+
 QStringList HgTabWidget::getSelectedAddableFiles() const
 {
     return fileStatusWidget->getSelectedAddableFiles();
 }
 
+QStringList HgTabWidget::getAllRemovableFiles() const
+{
+    return fileStatusWidget->getAllRemovableFiles();
+}
+
 QStringList HgTabWidget::getSelectedRemovableFiles() const
 {
     return fileStatusWidget->getSelectedRemovableFiles();
 }
 
-QStringList HgTabWidget::getAllCommittableFiles() const
-{
-    return fileStatusWidget->getAllCommittableFiles();
-}
-
-QStringList HgTabWidget::getAllAddableFiles() const
-{
-    return fileStatusWidget->getAllAddableFiles();
-}
-
-QStringList HgTabWidget::getAllRemovableFiles() const
-{
-    return fileStatusWidget->getAllRemovableFiles();
-}
-
 void HgTabWidget::updateWorkFolderFileList(QString fileList)
 {
     fileStates.parseStates(fileList);