forked from qt-creator/qt-creator
Git: Disable Commit button when unmerged files exist
Change-Id: Icea74641516292b130784d2d7d48bd05254480df Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -61,8 +61,10 @@ GitSubmitEditorWidget *GitSubmitEditor::submitEditorWidget()
|
||||
|
||||
void GitSubmitEditor::setCommitData(const CommitData &d)
|
||||
{
|
||||
submitEditorWidget()->setPanelData(d.panelData);
|
||||
submitEditorWidget()->setPanelInfo(d.panelInfo);
|
||||
GitSubmitEditorWidget *w = submitEditorWidget();
|
||||
w->setPanelData(d.panelData);
|
||||
w->setPanelInfo(d.panelInfo);
|
||||
w->setHasUnmerged(false);
|
||||
|
||||
m_commitEncoding = d.commitEncoding;
|
||||
|
||||
@@ -73,12 +75,14 @@ void GitSubmitEditor::setCommitData(const CommitData &d)
|
||||
const FileStates state = it->first;
|
||||
const QString file = it->second;
|
||||
VcsBase::CheckMode checkMode;
|
||||
if (state & UnmergedFile)
|
||||
if (state & UnmergedFile) {
|
||||
checkMode = VcsBase::Uncheckable;
|
||||
else if (state & StagedFile)
|
||||
w->setHasUnmerged(true);
|
||||
} else if (state & StagedFile) {
|
||||
checkMode = VcsBase::Checked;
|
||||
else
|
||||
} else {
|
||||
checkMode = VcsBase::Unchecked;
|
||||
}
|
||||
m_model->addFile(file, CommitData::stateDisplayName(state), checkMode,
|
||||
QVariant(static_cast<int>(state)));
|
||||
}
|
||||
|
||||
@@ -115,7 +115,8 @@ void GitSubmitHighlighter::highlightBlock(const QString &text)
|
||||
// ------------------
|
||||
GitSubmitEditorWidget::GitSubmitEditorWidget(QWidget *parent) :
|
||||
Utils::SubmitEditorWidget(parent),
|
||||
m_gitSubmitPanel(new QWidget)
|
||||
m_gitSubmitPanel(new QWidget),
|
||||
m_hasUnmerged(false)
|
||||
{
|
||||
m_gitSubmitPanelUi.setupUi(m_gitSubmitPanel);
|
||||
insertTopWidget(m_gitSubmitPanel);
|
||||
@@ -139,6 +140,11 @@ void GitSubmitEditorWidget::setPanelInfo(const GitSubmitEditorPanelInfo &info)
|
||||
m_gitSubmitPanelUi.branchLabel->setText(info.branch);
|
||||
}
|
||||
|
||||
void GitSubmitEditorWidget::setHasUnmerged(bool e)
|
||||
{
|
||||
m_hasUnmerged = e;
|
||||
}
|
||||
|
||||
GitSubmitEditorPanelData GitSubmitEditorWidget::panelData() const
|
||||
{
|
||||
GitSubmitEditorPanelData rc;
|
||||
@@ -159,7 +165,8 @@ void GitSubmitEditorWidget::setPanelData(const GitSubmitEditorPanelData &data)
|
||||
bool GitSubmitEditorWidget::canSubmit() const
|
||||
{
|
||||
if (m_gitSubmitPanelUi.invalidAuthorLabel->isVisible()
|
||||
|| m_gitSubmitPanelUi.invalidEmailLabel->isVisible())
|
||||
|| m_gitSubmitPanelUi.invalidEmailLabel->isVisible()
|
||||
|| m_hasUnmerged)
|
||||
return false;
|
||||
return SubmitEditorWidget::canSubmit();
|
||||
}
|
||||
|
||||
@@ -59,11 +59,10 @@ class GitSubmitEditorWidget : public Utils::SubmitEditorWidget
|
||||
public:
|
||||
explicit GitSubmitEditorWidget(QWidget *parent = 0);
|
||||
|
||||
|
||||
GitSubmitEditorPanelData panelData() const;
|
||||
void setPanelData(const GitSubmitEditorPanelData &data);
|
||||
|
||||
void setPanelInfo(const GitSubmitEditorPanelInfo &info);
|
||||
void setHasUnmerged(bool e);
|
||||
|
||||
protected:
|
||||
bool canSubmit() const;
|
||||
@@ -78,6 +77,7 @@ private:
|
||||
QWidget *m_gitSubmitPanel;
|
||||
Ui::GitSubmitPanel m_gitSubmitPanelUi;
|
||||
QValidator *m_emailValidator;
|
||||
bool m_hasUnmerged;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user