diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2014-11-16 12:05:34 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2014-11-17 10:57:07 +0100 |
commit | a4b4728267ce81880d0fbde6b8c559e3a762d091 (patch) | |
tree | cac57389e4f61fa81f6436cb1e6f3aa31f2f39fe /src/plugins/mercurial | |
parent | 17c92cdeef9e76ae4f5ff2643b98aa2c8d81f071 (diff) |
VCS: Rework disabling of ambiguous actions
Task-number: QTCREATORBUG-13364
Change-Id: Ib9dc98964983f1a2808a89d90969089a09d2b55e
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/mercurial')
-rw-r--r-- | src/plugins/mercurial/constants.h | 1 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialplugin.cpp | 12 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialplugin.h | 2 |
3 files changed, 7 insertions, 8 deletions
diff --git a/src/plugins/mercurial/constants.h b/src/plugins/mercurial/constants.h index 80d1deefe3..fbc682725f 100644 --- a/src/plugins/mercurial/constants.h +++ b/src/plugins/mercurial/constants.h @@ -37,6 +37,7 @@ namespace Constants { enum { debug = 0 }; const char MERCURIALREPO[] = ".hg"; const char MERCURIALDEFAULT[] = "hg"; +const char MERCURIAL_CONTEXT[] = "Mercurial Context"; // Changeset identifiers const char CHANGESETID12[] = " ([a-f0-9]{12,12}) "; //match 12 hex chars and capture diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp index 863232c2b6..5b57e492c3 100644 --- a/src/plugins/mercurial/mercurialplugin.cpp +++ b/src/plugins/mercurial/mercurialplugin.cpp @@ -133,8 +133,10 @@ MercurialPlugin::~MercurialPlugin() bool MercurialPlugin::initialize(const QStringList & /* arguments */, QString * /*errorMessage */) { + Core::Context context(Constants::MERCURIAL_CONTEXT); + m_client = new MercurialClient(&mercurialSettings); - initializeVcs(new MercurialControl(m_client)); + initializeVcs(new MercurialControl(m_client), context); optionsPage = new OptionsPage(); addAutoReleasedObject(optionsPage); @@ -166,7 +168,7 @@ bool MercurialPlugin::initialize(const QStringList & /* arguments */, QString * m_commandLocator = new Core::CommandLocator("Mercurial", prefix, prefix); addAutoReleasedObject(m_commandLocator); - createMenu(); + createMenu(context); createSubmitEditorActions(); @@ -186,10 +188,8 @@ void MercurialPlugin::setSettings(const MercurialSettings &settings) } } -void MercurialPlugin::createMenu() +void MercurialPlugin::createMenu(const Core::Context &context) { - Core::Context context(Core::Constants::C_GLOBAL); - // Create menu item for Mercurial m_mercurialContainer = Core::ActionManager::createMenu("Mercurial.MercurialMenu"); QMenu *menu = m_mercurialContainer->menu(); @@ -659,13 +659,11 @@ void MercurialPlugin::createRepositoryManagementActions(const Core::Context &con void MercurialPlugin::updateActions(VcsBasePlugin::ActionState as) { if (!enableMenuAction(as, m_menuAction)) { - m_mercurialContainer->setEnabled(false); m_commandLocator->setEnabled(false); return; } const QString filename = currentState().currentFileName(); const bool repoEnabled = currentState().hasTopLevel(); - m_mercurialContainer->setEnabled(repoEnabled); m_commandLocator->setEnabled(repoEnabled); annotateFile->setParameter(filename); diff --git a/src/plugins/mercurial/mercurialplugin.h b/src/plugins/mercurial/mercurialplugin.h index 5fc4edf017..2716186b9e 100644 --- a/src/plugins/mercurial/mercurialplugin.h +++ b/src/plugins/mercurial/mercurialplugin.h @@ -129,7 +129,7 @@ protected: bool submitEditorAboutToClose(); private: - void createMenu(); + void createMenu(const Core::Context &context); void createSubmitEditorActions(); void createFileActions(const Core::Context &context); void createDirectoryActions(const Core::Context &context); |