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)
|
void GitSubmitEditor::setCommitData(const CommitData &d)
|
||||||
{
|
{
|
||||||
submitEditorWidget()->setPanelData(d.panelData);
|
GitSubmitEditorWidget *w = submitEditorWidget();
|
||||||
submitEditorWidget()->setPanelInfo(d.panelInfo);
|
w->setPanelData(d.panelData);
|
||||||
|
w->setPanelInfo(d.panelInfo);
|
||||||
|
w->setHasUnmerged(false);
|
||||||
|
|
||||||
m_commitEncoding = d.commitEncoding;
|
m_commitEncoding = d.commitEncoding;
|
||||||
|
|
||||||
@@ -73,12 +75,14 @@ void GitSubmitEditor::setCommitData(const CommitData &d)
|
|||||||
const FileStates state = it->first;
|
const FileStates state = it->first;
|
||||||
const QString file = it->second;
|
const QString file = it->second;
|
||||||
VcsBase::CheckMode checkMode;
|
VcsBase::CheckMode checkMode;
|
||||||
if (state & UnmergedFile)
|
if (state & UnmergedFile) {
|
||||||
checkMode = VcsBase::Uncheckable;
|
checkMode = VcsBase::Uncheckable;
|
||||||
else if (state & StagedFile)
|
w->setHasUnmerged(true);
|
||||||
|
} else if (state & StagedFile) {
|
||||||
checkMode = VcsBase::Checked;
|
checkMode = VcsBase::Checked;
|
||||||
else
|
} else {
|
||||||
checkMode = VcsBase::Unchecked;
|
checkMode = VcsBase::Unchecked;
|
||||||
|
}
|
||||||
m_model->addFile(file, CommitData::stateDisplayName(state), checkMode,
|
m_model->addFile(file, CommitData::stateDisplayName(state), checkMode,
|
||||||
QVariant(static_cast<int>(state)));
|
QVariant(static_cast<int>(state)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,7 +115,8 @@ void GitSubmitHighlighter::highlightBlock(const QString &text)
|
|||||||
// ------------------
|
// ------------------
|
||||||
GitSubmitEditorWidget::GitSubmitEditorWidget(QWidget *parent) :
|
GitSubmitEditorWidget::GitSubmitEditorWidget(QWidget *parent) :
|
||||||
Utils::SubmitEditorWidget(parent),
|
Utils::SubmitEditorWidget(parent),
|
||||||
m_gitSubmitPanel(new QWidget)
|
m_gitSubmitPanel(new QWidget),
|
||||||
|
m_hasUnmerged(false)
|
||||||
{
|
{
|
||||||
m_gitSubmitPanelUi.setupUi(m_gitSubmitPanel);
|
m_gitSubmitPanelUi.setupUi(m_gitSubmitPanel);
|
||||||
insertTopWidget(m_gitSubmitPanel);
|
insertTopWidget(m_gitSubmitPanel);
|
||||||
@@ -139,6 +140,11 @@ void GitSubmitEditorWidget::setPanelInfo(const GitSubmitEditorPanelInfo &info)
|
|||||||
m_gitSubmitPanelUi.branchLabel->setText(info.branch);
|
m_gitSubmitPanelUi.branchLabel->setText(info.branch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GitSubmitEditorWidget::setHasUnmerged(bool e)
|
||||||
|
{
|
||||||
|
m_hasUnmerged = e;
|
||||||
|
}
|
||||||
|
|
||||||
GitSubmitEditorPanelData GitSubmitEditorWidget::panelData() const
|
GitSubmitEditorPanelData GitSubmitEditorWidget::panelData() const
|
||||||
{
|
{
|
||||||
GitSubmitEditorPanelData rc;
|
GitSubmitEditorPanelData rc;
|
||||||
@@ -159,7 +165,8 @@ void GitSubmitEditorWidget::setPanelData(const GitSubmitEditorPanelData &data)
|
|||||||
bool GitSubmitEditorWidget::canSubmit() const
|
bool GitSubmitEditorWidget::canSubmit() const
|
||||||
{
|
{
|
||||||
if (m_gitSubmitPanelUi.invalidAuthorLabel->isVisible()
|
if (m_gitSubmitPanelUi.invalidAuthorLabel->isVisible()
|
||||||
|| m_gitSubmitPanelUi.invalidEmailLabel->isVisible())
|
|| m_gitSubmitPanelUi.invalidEmailLabel->isVisible()
|
||||||
|
|| m_hasUnmerged)
|
||||||
return false;
|
return false;
|
||||||
return SubmitEditorWidget::canSubmit();
|
return SubmitEditorWidget::canSubmit();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,11 +59,10 @@ class GitSubmitEditorWidget : public Utils::SubmitEditorWidget
|
|||||||
public:
|
public:
|
||||||
explicit GitSubmitEditorWidget(QWidget *parent = 0);
|
explicit GitSubmitEditorWidget(QWidget *parent = 0);
|
||||||
|
|
||||||
|
|
||||||
GitSubmitEditorPanelData panelData() const;
|
GitSubmitEditorPanelData panelData() const;
|
||||||
void setPanelData(const GitSubmitEditorPanelData &data);
|
void setPanelData(const GitSubmitEditorPanelData &data);
|
||||||
|
|
||||||
void setPanelInfo(const GitSubmitEditorPanelInfo &info);
|
void setPanelInfo(const GitSubmitEditorPanelInfo &info);
|
||||||
|
void setHasUnmerged(bool e);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool canSubmit() const;
|
bool canSubmit() const;
|
||||||
@@ -78,6 +77,7 @@ private:
|
|||||||
QWidget *m_gitSubmitPanel;
|
QWidget *m_gitSubmitPanel;
|
||||||
Ui::GitSubmitPanel m_gitSubmitPanelUi;
|
Ui::GitSubmitPanel m_gitSubmitPanelUi;
|
||||||
QValidator *m_emailValidator;
|
QValidator *m_emailValidator;
|
||||||
|
bool m_hasUnmerged;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
Reference in New Issue
Block a user