aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/mercurial
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2014-11-16 12:05:34 +0200
committerOrgad Shaneh <orgads@gmail.com>2014-11-17 10:57:07 +0100
commita4b4728267ce81880d0fbde6b8c559e3a762d091 (patch)
treecac57389e4f61fa81f6436cb1e6f3aa31f2f39fe /src/plugins/mercurial
parent17c92cdeef9e76ae4f5ff2643b98aa2c8d81f071 (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.h1
-rw-r--r--src/plugins/mercurial/mercurialplugin.cpp12
-rw-r--r--src/plugins/mercurial/mercurialplugin.h2
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);