From 5023e8442fd1c41eaff4a9740f90148d82df92e4 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Wed, 11 Aug 2010 10:46:45 +0200 Subject: [PATCH] debugger: show all dockwidgets in the views menu, even if disabled. --- src/plugins/debugger/debuggerplugin.cpp | 2 +- src/plugins/debugger/debuggeruiswitcher.cpp | 29 +++++++++++---------- src/plugins/debugger/qml/qmlengine.cpp | 13 +++++---- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index f071a4a697c..3e5f9ddcb05 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1264,7 +1264,7 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments, QString *er connect(m_registerDock->toggleViewAction(), SIGNAL(toggled(bool)), SLOT(registerDockToggled(bool)), Qt::QueuedConnection); - m_outputDock = m_uiSwitcher->createDockWidget(LANG_CPP, m_outputWindow, + m_outputDock = m_uiSwitcher->createDockWidget(QString(), m_outputWindow, Qt::TopDockWidgetArea, false); m_snapshotDock = m_uiSwitcher->createDockWidget(LANG_CPP, m_snapshotWindow); diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp index 9471b13284c..3304f97fe7e 100644 --- a/src/plugins/debugger/debuggeruiswitcher.cpp +++ b/src/plugins/debugger/debuggeruiswitcher.cpp @@ -216,13 +216,17 @@ void DebuggerUISwitcher::createViewsMenuItems() d->m_debugMenu->addMenu(d->m_languageMenu, Core::Constants::G_DEFAULT_THREE); // Add menu items - Core::Command *cmd = am->registerAction(d->m_mainWindow->menuSeparator1(), QLatin1String("Debugger.Views.Separator1"), globalcontext); + Core::Command *cmd = am->registerAction(d->m_mainWindow->menuSeparator1(), + QLatin1String("Debugger.Views.Separator1"), globalcontext); d->m_viewsMenu->addAction(cmd); - cmd = am->registerAction(d->m_mainWindow->toggleLockedAction(), QLatin1String("Debugger.Views.ToggleLocked"), globalcontext); + cmd = am->registerAction(d->m_mainWindow->toggleLockedAction(), + QLatin1String("Debugger.Views.ToggleLocked"), globalcontext); d->m_viewsMenu->addAction(cmd); - cmd = am->registerAction(d->m_mainWindow->menuSeparator2(), QLatin1String("Debugger.Views.Separator2"), globalcontext); + cmd = am->registerAction(d->m_mainWindow->menuSeparator2(), + QLatin1String("Debugger.Views.Separator2"), globalcontext); d->m_viewsMenu->addAction(cmd); - cmd = am->registerAction(d->m_mainWindow->resetLayoutAction(), QLatin1String("Debugger.Views.ResetSimple"), globalcontext); + cmd = am->registerAction(d->m_mainWindow->resetLayoutAction(), + QLatin1String("Debugger.Views.ResetSimple"), globalcontext); d->m_viewsMenu->addAction(cmd); } @@ -282,9 +286,9 @@ void DebuggerUISwitcher::changeDebuggerUI(const QString &langName) // << window->m_visible; if (window->m_languageId != langId) { - // visibleTo must be used because during init, debugger is not visible, - // although visibility is explicitly set through both default layout and - // QSettings. + // visibleTo must be used because during init, debugger is + // not visible, although visibility is explicitly set through + // both default layout and QSettings. window->m_visible = window->m_dockWidget->isVisibleTo(d->m_mainWindow); window->m_dockWidget->hide(); } else { @@ -295,11 +299,8 @@ void DebuggerUISwitcher::changeDebuggerUI(const QString &langName) } foreach (ViewsMenuItems menuitem, d->m_viewsMenuItems) { - if (menuitem.first == langId) { - menuitem.second->setVisible(true); - } else { - menuitem.second->setVisible(false); - } + bool enable = menuitem.first == langId || menuitem.first == -1; + menuitem.second->setEnabled(enable); } d->m_languageMenu->menu()->setTitle(tr("Language") + " (" + langName + ")"); @@ -405,12 +406,12 @@ QDockWidget *DebuggerUISwitcher::createDockWidget(const QString &langName, if (d->m_languages.indexOf(langName) != d->m_activeLanguage) dockWidget->hide(); - Core::Context langContext = d->m_contextsForLanguage.value(d->m_languages.indexOf(langName)); + Core::Context globalContext(Core::Constants::C_GLOBAL); Core::ActionManager *am = Core::ICore::instance()->actionManager(); QAction *action = dockWidget->toggleViewAction(); Core::Command *cmd = am->registerAction(action, - "Debugger." + dockWidget->objectName(), langContext); + "Debugger." + dockWidget->objectName(), globalContext); cmd->setAttribute(Core::Command::CA_Hide); d->m_viewsMenu->addAction(cmd); diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index 79e864fe40e..5a40f7dc424 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -333,9 +333,9 @@ void QmlEngine::updateWatchData(const WatchData &data) sendMessage(reply); } - if (!data.name.isEmpty() && data.isChildrenNeeded() && watchHandler()->isExpandedIName(data.iname)) { + if (!data.name.isEmpty() && data.isChildrenNeeded() + && watchHandler()->isExpandedIName(data.iname)) expandObject(data.iname, data.objectId); - } { QByteArray reply; @@ -447,8 +447,9 @@ void QmlEngine::messageReceived(const QByteArray &message) else watchHandler()->endCycle(); - //ensure we got the right ui right now - Debugger::DebuggerUISwitcher *uiSwitcher = Debugger::DebuggerUISwitcher::instance(); + // Ensure we got the right ui right now. + Debugger::DebuggerUISwitcher *uiSwitcher + = Debugger::DebuggerUISwitcher::instance(); uiSwitcher->setActiveLanguage("C++"); bool becauseOfexception; @@ -457,7 +458,9 @@ void QmlEngine::messageReceived(const QByteArray &message) QString error; stream >> error; - QString msg = tr("<p>An Uncaught Exception occured in <i>%1</i>:</p><p>%2</p>").arg(stackFrames.value(0).file, Qt::escape(error)); + QString msg = + tr("<p>An Uncaught Exception occured in <i>%1</i>:</p><p>%2</p>") + .arg(stackFrames.value(0).file, Qt::escape(error)); showMessageBox(QMessageBox::Information, tr("Uncaught Exception"), msg); } -- GitLab