Skip to content
Snippets Groups Projects
Commit 4c9f7dac authored by Orgad Shaneh's avatar Orgad Shaneh
Browse files

Git: Disable Commit button when unmerged files exist


Change-Id: Icea74641516292b130784d2d7d48bd05254480df
Reviewed-by: default avatarTobias Hunger <tobias.hunger@digia.com>
parent cbf75f67
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment