Fixes: Random enabling of submit/diff buttons when switching contexts (viewing diffs) from the submit editor

Details: Register actions directly
This commit is contained in:
Friedemann Kleint
2009-01-13 14:06:42 +01:00
parent 1263660507
commit dd235e2b48
5 changed files with 31 additions and 54 deletions

View File

@@ -210,11 +210,7 @@ GitPlugin *GitPlugin::instance()
static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = {
Git::Constants::SUBMIT_MIMETYPE,
Git::Constants::GITSUBMITEDITOR_KIND,
Git::Constants::C_GITSUBMITEDITOR,
Core::Constants::UNDO,
Core::Constants::REDO,
Git::Constants::SUBMIT_CURRENT,
Git::Constants::DIFF_SELECTED
Git::Constants::C_GITSUBMITEDITOR
};
static Core::ICommand *createSeparator(Core::ActionManagerInterface *am,
@@ -640,10 +636,7 @@ Core::IEditor *GitPlugin::openSubmitEditor(const QString &fileName, const Commit
QTC_ASSERT(submitEditor, return 0);
// The actions are for some reason enabled by the context switching
// mechanism. Disable them correctly.
m_submitCurrentAction->setEnabled(!cd.stagedFiles.empty());
m_diffSelectedFilesAction->setEnabled(false);
m_undoAction->setEnabled(false);
m_redoAction->setEnabled(false);
submitEditor->registerActions(m_undoAction, m_redoAction, m_submitCurrentAction, m_diffSelectedFilesAction);
submitEditor->setCommitData(cd);
connect(submitEditor, SIGNAL(diffStaged(QStringList)), this, SLOT(submitEditorDiffStaged(QStringList)));
connect(submitEditor, SIGNAL(diffUnstaged(QStringList)), this, SLOT(submitEditorDiffUnstaged(QStringList)));