From 4e578d955a2cc38a82bfea24fe56aa0d032e0ed3 Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt <lasse.holmstedt@nokia.com> Date: Thu, 18 Mar 2010 16:55:27 +0100 Subject: [PATCH] setting menu item visiblity in debuggeruiswitcher --- src/plugins/debugger/debuggermanager.h | 2 +- src/plugins/debugger/debuggerplugin.cpp | 1 + src/plugins/debugger/debuggeruiswitcher.cpp | 11 ++++++++--- src/plugins/debugger/debuggeruiswitcher.h | 1 - 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 13e9f4f08c1..b968f4c3933 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -258,7 +258,7 @@ public slots: public slots: // FIXME void showDebuggerOutput(const QString &msg) { showDebuggerOutput(LogDebug, msg); } - void ensureLogVisible(); + void ensureLogVisible(); //private slots: // FIXME void showDebuggerOutput(int channel, const QString &msg); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 30e814e21b3..11df358d824 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1251,6 +1251,7 @@ void DebuggerPlugin::languageChanged(const QString &language) m_attachCoreAction->setVisible(debuggerIsCPP); m_startRemoteAction->setVisible(debuggerIsCPP); m_detachAction->setVisible(debuggerIsCPP); + } void DebuggerPlugin::writeSettings() const diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp index 2a5d6ab8c06..0a2343ef8df 100644 --- a/src/plugins/debugger/debuggeruiswitcher.cpp +++ b/src/plugins/debugger/debuggeruiswitcher.cpp @@ -6,7 +6,7 @@ #include <utils/savedaction.h> #include <utils/styledbar.h> - +#include <coreplugin/actionmanager/command.h> #include <debugger/debuggerconstants.h> #include <debugger/debuggeractions.h> @@ -73,6 +73,8 @@ struct DebuggerUISwitcherPrivate { Core::ActionContainer *m_viewsMenu; Core::ActionContainer *m_debugMenu; + QMultiHash< int, Core::Command *> m_menuCommands; + static DebuggerUISwitcher *m_instance; }; @@ -119,9 +121,11 @@ DebuggerUISwitcher::~DebuggerUISwitcher() delete d; } +void DebuggerUISwitcher::addMenuAction(Core::Command *command, const QString &langName, + const QString &group) { d->m_debugMenu->addAction(command, group); - m_menuCommands.insert(d->m_languages.indexOf(langName), command); + d->m_menuCommands.insert(d->m_languages.indexOf(langName), command); } void DebuggerUISwitcher::setActiveLanguage(const QString &langName) @@ -270,8 +274,9 @@ void DebuggerUISwitcher::changeDebuggerUI(const QString &langName) menuitem.second->setVisible(false); } } + d->m_languageMenu->menu()->setTitle(tr("Language") + " (" + langName + ")"); - QHashIterator<int, Core::Command *> iter(m_menuCommands); + QHashIterator<int, Core::Command *> iter(d->m_menuCommands); while (iter.hasNext()) { iter.next(); bool active = (iter.key() == langId); diff --git a/src/plugins/debugger/debuggeruiswitcher.h b/src/plugins/debugger/debuggeruiswitcher.h index cb1a14a53e3..b06db60d3c6 100644 --- a/src/plugins/debugger/debuggeruiswitcher.h +++ b/src/plugins/debugger/debuggeruiswitcher.h @@ -89,7 +89,6 @@ private: QWidget *createMainWindow(Core::BaseMode *mode); DebuggerUISwitcherPrivate *d; - QMultiHash< int, Core::Command *> m_menuCommands; Utils::SavedAction *m_changeLanguageAction; }; -- GitLab