Bazaar,Mercurial: fix update of the commit button

There was a bug with the initial display of the submit editor.
The submit action was not disabled (description field is empty) and
thus the user was allowed to commit changes without entering a
description. Empty commit message causes error for most VCS (if not all).

Technically, Utils::SubmitEditorWidget::registerActions() must be called
before init of the widget (eg call to BazaarPlugin::setFields()), because
SubmitEditorWidget::updateActions() won't have any chance to be called.

Change-Id: I154d6c807e0943b98abcb6222d8f57ec5421181c
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-by: Bill King <bill.king@nokia.com>
This commit is contained in:
Hugues Delorme
2011-11-22 15:11:58 +01:00
parent 0b67a513d6
commit df058c8027
2 changed files with 10 additions and 11 deletions

View File

@@ -601,20 +601,19 @@ void MercurialPlugin::showCommitWidget(const QList<VCSBase::VCSBaseClient::Statu
QTC_ASSERT(qobject_cast<CommitEditor *>(editor), return)
CommitEditor *commitEditor = static_cast<CommitEditor *>(editor);
commitEditor->registerActions(editorUndo, editorRedo, editorCommit, editorDiff);
connect(commitEditor, SIGNAL(diffSelectedFiles(QStringList)),
this, SLOT(diffFromEditorSelected(QStringList)));
commitEditor->setCheckScriptWorkingDirectory(m_submitRepository);
const QString msg = tr("Commit changes for \"%1\".").
arg(QDir::toNativeSeparators(m_submitRepository));
commitEditor->setDisplayName(msg);
QString branch = m_client->branchQuerySync(m_submitRepository);
commitEditor->setFields(m_submitRepository, branch,
mercurialSettings.stringValue(MercurialSettings::userNameKey),
mercurialSettings.stringValue(MercurialSettings::userEmailKey), status);
commitEditor->registerActions(editorUndo, editorRedo, editorCommit, editorDiff);
connect(commitEditor, SIGNAL(diffSelectedFiles(QStringList)),
this, SLOT(diffFromEditorSelected(QStringList)));
commitEditor->setCheckScriptWorkingDirectory(m_submitRepository);
}
void MercurialPlugin::diffFromEditorSelected(const QStringList &files)