Mercurial > hg > easyhg
diff hgexpwidget.cpp @ 95:d1be9712818a
* Update actions appropriately when selections are changed
author | Chris Cannam |
---|---|
date | Wed, 24 Nov 2010 16:29:05 +0000 |
parents | 44ed7766d55a |
children |
line wrap: on
line diff
--- a/hgexpwidget.cpp Wed Nov 24 14:41:52 2010 +0000 +++ b/hgexpwidget.cpp Wed Nov 24 16:29:05 2010 +0000 @@ -31,15 +31,17 @@ #include <iostream> -HgExpWidget::HgExpWidget(QWidget *parent, QString remoteRepo, - QString workFolderPath, - unsigned char viewFileTypesBits) : +HgExpWidget::HgExpWidget(QWidget *parent, + QString remoteRepo, + QString workFolderPath) : QTabWidget(parent) { // Work page fileStatusWidget = new FileStatusWidget; fileStatusWidget->setLocalPath(workFolderPath); fileStatusWidget->setRemoteURL(remoteRepo); + connect(fileStatusWidget, SIGNAL(selectionChanged()), + this, SIGNAL(selectionChanged())); addTab(fileStatusWidget, tr("My work")); // History graph page @@ -67,6 +69,46 @@ return fileStatusWidget->haveChangesToCommit(); } +bool HgExpWidget::canAdd() const +{ + if (fileStatusWidget->getSelectedAddableFiles().empty()) return false; + if (!fileStatusWidget->getSelectedCommittableFiles().empty()) return false; + if (!fileStatusWidget->getSelectedRemovableFiles().empty()) return false; + return true; +} + +bool HgExpWidget::canRemove() const +{ + if (fileStatusWidget->getSelectedRemovableFiles().empty()) return false; + if (!fileStatusWidget->getSelectedAddableFiles().empty()) return false; + return true; +} + +bool HgExpWidget::canDoDiff() const +{ + return canCommit(); +} + +QStringList HgExpWidget::getAllSelectedFiles() const +{ + return fileStatusWidget->getAllSelectedFiles(); +} + +QStringList HgExpWidget::getSelectedCommittableFiles() const +{ + return fileStatusWidget->getSelectedCommittableFiles(); +} + +QStringList HgExpWidget::getSelectedAddableFiles() const +{ + return fileStatusWidget->getSelectedAddableFiles(); +} + +QStringList HgExpWidget::getSelectedRemovableFiles() const +{ + return fileStatusWidget->getSelectedRemovableFiles(); +} + void HgExpWidget::updateWorkFolderFileList(QString fileList) { fileStates.parseStates(fileList);