From b14a2082739e185c317562f8b93f965b23553012 Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt <lasse.holmstedt@nokia.com> Date: Wed, 17 Mar 2010 18:41:14 +0100 Subject: [PATCH] Made debugger menu items disabled in QML inspector mode --- src/plugins/debugger/debuggeractions.cpp | 1 + src/plugins/debugger/debuggermanager.cpp | 12 ++++++++++++ src/plugins/debugger/debuggermanager.h | 1 + src/plugins/debugger/debuggeruiswitcher.cpp | 1 - src/plugins/qmljseditor/qmljseditor.cpp | 2 ++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp index 9f65c0eca18..a382ae42e35 100644 --- a/src/plugins/debugger/debuggeractions.cpp +++ b/src/plugins/debugger/debuggeractions.cpp @@ -163,6 +163,7 @@ DebuggerSettings *DebuggerSettings::instance() item->setText(tr("Operate by Instruction")); item->setCheckable(true); item->setDefaultValue(false); + item->setSettingsKey(debugModeGroup, QLatin1String("OperateByInstruction")); item->setIcon(QIcon(":/debugger/images/SingleInstructionMode.png")); item->setToolTip(tr("This switches the debugger to instruction-wise " "operation mode. In this mode, stepping operates on single " diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 399c65e0c60..cd251d612ce 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -466,6 +466,10 @@ void DebuggerManager::init() connect(this, SIGNAL(emitShowOutput(int, QString)), d->m_outputWindow, SLOT(showOutput(int, QString)), Qt::QueuedConnection); + // UI Switcher + connect(DebuggerUISwitcher::instance(), SIGNAL(languageChanged(QString)), + this, SLOT(languageChanged(QString))); + // Tooltip //QTreeView *tooltipView = qobject_cast<QTreeView *>(d->m_tooltipWindow); //tooltipView->setModel(d->m_watchHandler->model(TooltipsWatch)); @@ -1925,6 +1929,14 @@ void DebuggerManager::fontSettingsChanged(const TextEditor::FontSettings &settin changeFontSize(d->m_threadsWindow, size); } +// only update necessary menu items on language change +void DebuggerManager::languageChanged(const QString &debuggerLanguage) +{ + const bool debuggerIsCPP = (debuggerLanguage == Constants::LANG_CPP); + d->m_actions.reverseDirectionAction->setEnabled(debuggerIsCPP); + theDebuggerAction(OperateByInstruction)->setEnabled(debuggerIsCPP); +} + ////////////////////////////////////////////////////////////////////// // // AbstractDebuggerEngine diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 13e9f4f08c1..aa1c80ae6da 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -280,6 +280,7 @@ public slots: // FIXME void reloadFullStack(); void operateByInstructionTriggered(); void startFailed(); + void languageChanged(const QString &debuggerLanguage); private: Internal::ModulesHandler *modulesHandler() const; diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp index 88e5e40e6a9..e7557736f17 100644 --- a/src/plugins/debugger/debuggeruiswitcher.cpp +++ b/src/plugins/debugger/debuggeruiswitcher.cpp @@ -126,7 +126,6 @@ int DebuggerUISwitcher::activeLanguageId() const { return d->m_activeLanguage; } - void DebuggerUISwitcher::modeChanged(Core::IMode *mode) { d->m_isActiveMode = (mode->id() == Debugger::Constants::MODE_DEBUG); diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index 3d9d59a2227..ce557ffbdf0 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -650,6 +650,8 @@ QmlJSTextEditor::QmlJSTextEditor(QWidget *parent) : connect(m_semanticHighlighter, SIGNAL(changed(QmlJSEditor::Internal::SemanticInfo)), this, SLOT(updateSemanticInfo(QmlJSEditor::Internal::SemanticInfo))); + + setRequestMarkEnabled(false); } QmlJSTextEditor::~QmlJSTextEditor() -- GitLab