Mercurial > hg > easyhg
diff hgtabwidget.cpp @ 326:6e1fdda1dff2 filelist_right_button_menu
Implement right-button menu functions for file lists; convert the toolbar-button functions (apart from Add and Remove) to modal only on working copy state rather than selection state
author | Chris Cannam |
---|---|
date | Fri, 11 Mar 2011 15:33:16 +0000 |
parents | 4811eb34e819 |
children | f166f70c64f9 |
line wrap: on
line diff
--- a/hgtabwidget.cpp Thu Mar 10 21:04:58 2011 +0000 +++ b/hgtabwidget.cpp Fri Mar 11 15:33:16 2011 +0000 @@ -30,16 +30,49 @@ QString workFolderPath) : QTabWidget(parent) { - // Work page + // Work tab m_fileStatusWidget = new FileStatusWidget; m_fileStatusWidget->setLocalPath(workFolderPath); + connect(m_fileStatusWidget, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged())); + connect(m_fileStatusWidget, SIGNAL(showAllChanged(bool)), this, SIGNAL(showAllChanged(bool))); + + connect(m_fileStatusWidget, SIGNAL(annotateFiles(QStringList)), + this, SIGNAL(annotateFiles(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(diffFiles(QStringList)), + this, SIGNAL(diffFiles(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(commitFiles(QStringList)), + this, SIGNAL(commitFiles(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(revertFiles(QStringList)), + this, SIGNAL(revertFiles(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(addFiles(QStringList)), + this, SIGNAL(addFiles(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(removeFiles(QStringList)), + this, SIGNAL(removeFiles(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(redoFileMerges(QStringList)), + this, SIGNAL(redoFileMerges(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(markFilesResolved(QStringList)), + this, SIGNAL(markFilesResolved(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(ignoreFiles(QStringList)), + this, SIGNAL(ignoreFiles(QStringList))); + + connect(m_fileStatusWidget, SIGNAL(unIgnoreFiles(QStringList)), + this, SIGNAL(unIgnoreFiles(QStringList))); + addTab(m_fileStatusWidget, tr("My work")); - // History graph page + // History graph tab m_historyWidget = new HistoryWidget; addTab(m_historyWidget, tr("History")); @@ -116,16 +149,7 @@ { if (!m_fileStatusWidget->haveChangesToCommit()) return false; if (!m_fileStatusWidget->getAllUnresolvedFiles().empty()) return false; - - QStringList addable = m_fileStatusWidget->getSelectedAddableFiles(); - if (addable.empty()) return true; - - QStringList committable = m_fileStatusWidget->getSelectedCommittableFiles(); - - // "Removed" files are both committable and addable; don't return - // a false negative if the selection only contains these - if (committable == addable) return true; - return false; + return true; } bool HgTabWidget::canRevert() const @@ -134,15 +158,7 @@ // unresolved files, but we can't commit them if (!m_fileStatusWidget->haveChangesToCommit() && m_fileStatusWidget->getAllUnresolvedFiles().empty()) return false; - - // The rest of this logic is as in canCommit though - - QStringList addable = m_fileStatusWidget->getSelectedAddableFiles(); - if (addable.empty()) return true; - - QStringList committable = m_fileStatusWidget->getSelectedCommittableFiles(); - if (committable == addable) return true; - return false; + return true; } bool HgTabWidget::canAdd() const @@ -153,12 +169,7 @@ 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 negative if the selection only contains these - if (committable == addable || committable.empty()) return true; - return false; + return true; } bool HgTabWidget::canRemove() const @@ -170,7 +181,7 @@ bool HgTabWidget::canResolve() const { - return !m_fileStatusWidget->getSelectedUnresolvedFiles().empty(); + return !m_fileStatusWidget->getAllUnresolvedFiles().empty(); } bool HgTabWidget::haveChangesToCommit() const @@ -178,41 +189,21 @@ return m_fileStatusWidget->haveChangesToCommit(); } -QStringList HgTabWidget::getAllSelectedFiles() const -{ - return m_fileStatusWidget->getAllSelectedFiles(); -} - QStringList HgTabWidget::getAllCommittableFiles() const { return m_fileStatusWidget->getAllCommittableFiles(); } -QStringList HgTabWidget::getSelectedCommittableFiles() const -{ - return m_fileStatusWidget->getSelectedCommittableFiles(); -} - QStringList HgTabWidget::getAllRevertableFiles() const { return m_fileStatusWidget->getAllRevertableFiles(); } -QStringList HgTabWidget::getSelectedRevertableFiles() const -{ - return m_fileStatusWidget->getSelectedRevertableFiles(); -} - QStringList HgTabWidget::getSelectedAddableFiles() const { return m_fileStatusWidget->getSelectedAddableFiles(); } -QStringList HgTabWidget::getAllRemovableFiles() const -{ - return m_fileStatusWidget->getAllRemovableFiles(); -} - QStringList HgTabWidget::getSelectedRemovableFiles() const { return m_fileStatusWidget->getSelectedRemovableFiles(); @@ -223,11 +214,6 @@ return m_fileStatusWidget->getAllUnresolvedFiles(); } -QStringList HgTabWidget::getSelectedUnresolvedFiles() const -{ - return m_fileStatusWidget->getSelectedUnresolvedFiles(); -} - void HgTabWidget::updateWorkFolderFileList(QString fileList) { m_fileStates.parseStates(fileList);