From 9da539fd5fb493a62800a6e1de9a38c7b86ce33c Mon Sep 17 00:00:00 2001 From: con Date: Thu, 11 Jun 2009 11:43:57 +0200 Subject: [PATCH 1/9] Ensure that navigation sidebar is visible when using nav widget shortcut Reviewed-by: Daniel Molkentin --- src/plugins/coreplugin/navigationwidget.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp index d93abca335e..093c83c4b9a 100644 --- a/src/plugins/coreplugin/navigationwidget.cpp +++ b/src/plugins/coreplugin/navigationwidget.cpp @@ -186,6 +186,7 @@ NavigationSubWidget *NavigationWidget::insertSubItem(int position) void NavigationWidget::activateSubWidget() { + setShown(true); QShortcut *original = qobject_cast(sender()); QString title = m_shortcutMap[original]; From 8f0e45cf6aa6a49da5e1b59c2df6d2e9cb7787b9 Mon Sep 17 00:00:00 2001 From: mae Date: Thu, 11 Jun 2009 14:31:40 +0200 Subject: [PATCH 2/9] make sure there is always a correct current view --- src/plugins/coreplugin/editormanager/editormanager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index e7e717d3352..ac7882e096c 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -539,7 +539,9 @@ Core::Internal::SplitterOrView *EditorManager::currentView() const { SplitterOrView *view = m_d->m_currentView; if (!view) - view = m_d->m_splitter->findView(m_d->m_currentEditor); + view = m_d->m_currentEditor? + m_d->m_splitter->findView(m_d->m_currentEditor): + m_d->m_splitter->findFirstView(); return view; } From 3f45568006b5d8f8dd2489d60a32b7455ced6494 Mon Sep 17 00:00:00 2001 From: con Date: Thu, 11 Jun 2009 15:08:32 +0200 Subject: [PATCH 3/9] Correct shortcuts in tips. Reviewed-by: Daniel Molkentin --- src/plugins/coreplugin/welcomemode.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/welcomemode.cpp b/src/plugins/coreplugin/welcomemode.cpp index 64cf6133002..b0698088cef 100644 --- a/src/plugins/coreplugin/welcomemode.cpp +++ b/src/plugins/coreplugin/welcomemode.cpp @@ -418,10 +418,16 @@ QStringList WelcomeMode::tipsOfTheDay() { static QStringList tips; if (tips.isEmpty()) { + QString sideBarShortcut = +#ifdef Q_WS_MAC + tr("Cmd+0"); +#else + tr("Alt+0"); +#endif tips.append(tr("You can switch between Qt Creator's modes using Ctrl+number:" "
  1. - Welcome
  2. - Edit
  3. - Debug
  4. - Projects
  5. - Help
  6. " "
  7. - Output
")); - tips.append(tr("You can show and hide the side bar using Alt+0.")); + tips.append(tr("You can show and hide the side bar using %1.").arg(sideBarShortcut)); tips.append(tr("You can fine tune the Find function by selecting "Whole Words" " "or "Case Sensitive". Simply click on the icons on the right end of the line edit.")); tips.append(tr("If you add Date: Thu, 11 Jun 2009 15:00:21 +0200 Subject: [PATCH 4/9] Some capitalization fixes --- .../editormanager/editormanager.cpp | 4 +- src/plugins/cpptools/cppfilesettingspage.ui | 54 +++++++++---------- src/plugins/cpptools/cpptoolsconstants.h | 2 +- src/plugins/debugger/debuggerplugin.cpp | 2 +- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index ac7882e096c..ebc5033c9d2 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -197,8 +197,8 @@ EditorManagerPrivate::EditorManagerPrivate(ICore *core, QWidget *parent) : m_closeOtherEditorsAction(new QAction(EditorManager::tr("Close Others"), parent)), m_gotoNextDocHistoryAction(new QAction(EditorManager::tr("Next Document in History"), parent)), m_gotoPreviousDocHistoryAction(new QAction(EditorManager::tr("Previous Document in History"), parent)), - m_goBackAction(new QAction(EditorManager::tr("Go back"), parent)), - m_goForwardAction(new QAction(EditorManager::tr("Go forward"), parent)), + m_goBackAction(new QAction(EditorManager::tr("Go Back"), parent)), + m_goForwardAction(new QAction(EditorManager::tr("Go Forward"), parent)), m_openInExternalEditorAction(new QAction(EditorManager::tr("Open in External Editor"), parent)), currentNavigationHistoryPosition(0), m_windowPopup(0), diff --git a/src/plugins/cpptools/cppfilesettingspage.ui b/src/plugins/cpptools/cppfilesettingspage.ui index 61bf7880f0c..7c55c16f2b4 100644 --- a/src/plugins/cpptools/cppfilesettingspage.ui +++ b/src/plugins/cpptools/cppfilesettingspage.ui @@ -1,8 +1,8 @@ - + CppFileSettingsPage - - + + 0 0 @@ -10,45 +10,45 @@ 503 - + - - - + + + 0 0 - - File naming conventions + + File Naming Conventions - - + + QFormLayout::ExpandingFieldsGrow - - - + + + Header suffix: - - + + - - - + + + Source suffix: - - + + - - - + + + Lower case file names @@ -57,11 +57,11 @@ - - + + Qt::Vertical - + 20 430 diff --git a/src/plugins/cpptools/cpptoolsconstants.h b/src/plugins/cpptools/cpptoolsconstants.h index 7528ddc79e4..23e33baa23f 100644 --- a/src/plugins/cpptools/cpptoolsconstants.h +++ b/src/plugins/cpptools/cpptoolsconstants.h @@ -49,7 +49,7 @@ const char * const CPPTOOLS_SETTINGSGROUP = "CppTools"; const char * const LOWERCASE_CPPFILES_KEY = "LowerCaseFiles"; enum { lowerCaseFilesDefault = 1 }; -const char * const CPP_SETTINGS_ID = QT_TRANSLATE_NOOP("CppTools", "File naming conventions"); +const char * const CPP_SETTINGS_ID = QT_TRANSLATE_NOOP("CppTools", "File Naming Conventions"); const char * const CPP_SETTINGS_CATEGORY = QT_TRANSLATE_NOOP("CppTools", "C++"); } // namespace Constants diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 80fad9ab1c4..fc58e95f52b 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -592,7 +592,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess m_detachAction = new QAction(this); - m_detachAction->setText(tr("Detach debugger")); + m_detachAction->setText(tr("Detach Debugger")); connect(m_detachAction, SIGNAL(triggered()), m_manager, SLOT(detachDebugger())); From 8bf032833ae396c29c1a764137b8d30e90a7ed82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Thu, 11 Jun 2009 15:03:37 +0200 Subject: [PATCH 5/9] Removed the Build Project Only actions from the menu They can still be assigned shortcuts for those who really need them. The description has been updated to "Build Without Dependencies", so that their function is clearer. --- .../projectexplorer/projectexplorer.cpp | 52 ++++++------------- src/plugins/projectexplorer/projectexplorer.h | 1 - 2 files changed, 16 insertions(+), 37 deletions(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 9c2dfacb493..26912f5d42c 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -525,33 +525,17 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er mbuild->addAction(cmd, Constants::G_BUILD_PROJECT); mproject->addAction(cmd, Constants::G_PROJECT_BUILD); - // build project only menu - Core::ActionContainer *mpo = am->createMenu(Constants::BUILDPROJECTONLYMENU); - m_buildProjectOnlyMenu = mpo->menu(); - m_buildProjectOnlyMenu->setTitle(tr("Project Only")); - mbuild->addMenu(mpo, Constants::G_BUILD_PROJECT); - mproject->addMenu(mpo, Constants::G_PROJECT_BUILD); - - // build action - m_buildProjectOnlyAction = new QAction(tr("Build"), this); + // build without dependencies action + m_buildProjectOnlyAction = new QAction(tr("Build Without Dependencies"), this); cmd = am->registerAction(m_buildProjectOnlyAction, Constants::BUILDPROJECTONLY, globalcontext); - cmd->setAttribute(Core::Command::CA_UpdateText); - cmd->setDefaultText(m_buildProjectOnlyAction->text()); - mpo->addAction(cmd); - // rebuild action - m_rebuildProjectOnlyAction = new QAction(tr("Rebuild"), this); + // rebuild without dependencies action + m_rebuildProjectOnlyAction = new QAction(tr("Rebuild Without Dependencies"), this); cmd = am->registerAction(m_rebuildProjectOnlyAction, Constants::REBUILDPROJECTONLY, globalcontext); - cmd->setAttribute(Core::Command::CA_UpdateText); - cmd->setDefaultText(m_rebuildProjectOnlyAction->text()); - mpo->addAction(cmd); - // clean action - m_cleanProjectOnlyAction = new QAction(tr("Clean"), this); + // clean without dependencies action + m_cleanProjectOnlyAction = new QAction(tr("Clean Without Dependencies"), this); cmd = am->registerAction(m_cleanProjectOnlyAction, Constants::CLEANPROJECTONLY, globalcontext); - cmd->setAttribute(Core::Command::CA_UpdateText); - cmd->setDefaultText(m_cleanProjectOnlyAction->text()); - mpo->addAction(cmd); // Add Set Build Configuration to menu mbuild->addMenu(mbc, Constants::G_BUILD_PROJECT); @@ -1287,23 +1271,17 @@ void ProjectExplorerPlugin::updateActions() bool enableBuildActions = m_currentProject && ! (m_buildManager->isBuilding(m_currentProject)); bool hasProjects = !m_session->projects().isEmpty(); bool building = m_buildManager->isBuilding(); + QString projectName = m_currentProject ? m_currentProject->name() : QString(); if (debug) - qDebug()<<"BuildManager::isBuilding()"<setParameter(QString()); - m_buildProjectOnlyMenu->setTitle(tr("Current Project")); - } else { - m_unloadAction->setParameter(m_currentProject->name()); - m_buildProjectOnlyMenu->setTitle(tr("Project \"%1\"").arg(m_currentProject->name())); - } + m_unloadAction->setParameter(projectName); m_buildAction->setEnabled(enableBuildActions); m_rebuildAction->setEnabled(enableBuildActions); m_cleanAction->setEnabled(enableBuildActions); - m_buildProjectOnlyMenu->setEnabled(enableBuildActions); m_buildProjectOnlyAction->setEnabled(enableBuildActions); m_rebuildProjectOnlyAction->setEnabled(enableBuildActions); m_cleanProjectOnlyAction->setEnabled(enableBuildActions); @@ -1349,13 +1327,15 @@ bool ProjectExplorerPlugin::saveModifiedFiles() } else { bool cancelled = false; bool alwaysSave = false; - Core::ICore::instance()->fileManager()->saveModifiedFiles(filesToSave, &cancelled, QString::null, "Always save files before build", &alwaysSave); - if (cancelled) { + + Core::FileManager *fm = Core::ICore::instance()->fileManager(); + fm->saveModifiedFiles(filesToSave, &cancelled, QString::null, + "Always save files before build", &alwaysSave); + + if (cancelled) return false; - } - if (alwaysSave) { + if (alwaysSave) m_projectExplorerSettings.saveBeforeBuild = true; - } } } return true; diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index fc60b3129e6..858a8ed5a40 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -253,7 +253,6 @@ private: QAction *m_removeFileAction; QAction *m_renameFileAction; - QMenu *m_buildProjectOnlyMenu; QMenu *m_buildConfigurationMenu; QActionGroup *m_buildConfigurationActionGroup; QMenu *m_runConfigurationMenu; From dc47257081d10316301b55959908e5dd580638d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Thu, 11 Jun 2009 15:13:18 +0200 Subject: [PATCH 6/9] Display the project name in the build, rebuild and clean actions Reviewed-by: mae --- .../projectexplorer/projectexplorer.cpp | 25 +++++++++++++------ src/plugins/projectexplorer/projectexplorer.h | 6 ++--- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 26912f5d42c..b53700b28c4 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -446,7 +446,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er this, SLOT(updateRecentProjectMenu())); // unload action - m_unloadAction = new Core::Utils::ParameterAction(tr("Close Project"), tr("Close Project \"%1\""), Core::Utils::ParameterAction::EnabledWithParameter, this); + m_unloadAction = new Core::Utils::ParameterAction(tr("Close Project"), tr("Close Project \"%1\""), + Core::Utils::ParameterAction::EnabledWithParameter, this); cmd = am->registerAction(m_unloadAction, Constants::UNLOAD, globalcontext); cmd->setAttribute(Core::Command::CA_UpdateText); cmd->setDefaultText(m_unloadAction->text()); @@ -489,7 +490,6 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er // Add to mode bar modeManager->addAction(cmd, Constants::P_ACTION_BUILDSESSION, m_buildConfigurationMenu); - // rebuild session action QIcon rebuildIcon(Constants::ICON_REBUILD); rebuildIcon.addFile(Constants::ICON_REBUILD_SMALL); @@ -507,21 +507,30 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er msessionContextMenu->addAction(cmd, Constants::G_SESSION_BUILD); // build action - m_buildAction = new QAction(tr("Build Project"), this); + m_buildAction = new Core::Utils::ParameterAction(tr("Build Project"), tr("Build Project \"%1\""), + Core::Utils::ParameterAction::EnabledWithParameter, this); cmd = am->registerAction(m_buildAction, Constants::BUILD, globalcontext); + cmd->setAttribute(Core::Command::CA_UpdateText); + cmd->setDefaultText(m_buildAction->text()); cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+B"))); mbuild->addAction(cmd, Constants::G_BUILD_PROJECT); mproject->addAction(cmd, Constants::G_PROJECT_BUILD); // rebuild action - m_rebuildAction = new QAction(tr("Rebuild Project"), this); + m_rebuildAction = new Core::Utils::ParameterAction(tr("Rebuild Project"), tr("Rebuild Project \"%1\""), + Core::Utils::ParameterAction::EnabledWithParameter, this); cmd = am->registerAction(m_rebuildAction, Constants::REBUILD, globalcontext); + cmd->setAttribute(Core::Command::CA_UpdateText); + cmd->setDefaultText(m_rebuildAction->text()); mbuild->addAction(cmd, Constants::G_BUILD_PROJECT); mproject->addAction(cmd, Constants::G_PROJECT_BUILD); // clean action - m_cleanAction = new QAction(tr("Clean Project"), this); + m_cleanAction = new Core::Utils::ParameterAction(tr("Clean Project"), tr("Clean Project \"%1\""), + Core::Utils::ParameterAction::EnabledWithParameter, this); cmd = am->registerAction(m_cleanAction, Constants::CLEAN, globalcontext); + cmd->setAttribute(Core::Command::CA_UpdateText); + cmd->setDefaultText(m_cleanAction->text()); mbuild->addAction(cmd, Constants::G_BUILD_PROJECT); mproject->addAction(cmd, Constants::G_PROJECT_BUILD); @@ -1278,9 +1287,9 @@ void ProjectExplorerPlugin::updateActions() m_unloadAction->setParameter(projectName); - m_buildAction->setEnabled(enableBuildActions); - m_rebuildAction->setEnabled(enableBuildActions); - m_cleanAction->setEnabled(enableBuildActions); + m_buildAction->setParameter(projectName); + m_rebuildAction->setParameter(projectName); + m_cleanAction->setParameter(projectName); m_buildProjectOnlyAction->setEnabled(enableBuildActions); m_rebuildProjectOnlyAction->setEnabled(enableBuildActions); diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index 858a8ed5a40..985ff10d8ea 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -231,13 +231,13 @@ private: Core::Utils::ParameterAction *m_unloadAction; QAction *m_clearSession; QAction *m_buildProjectOnlyAction; - QAction *m_buildAction; + Core::Utils::ParameterAction *m_buildAction; QAction *m_buildSessionAction; QAction *m_rebuildProjectOnlyAction; - QAction *m_rebuildAction; + Core::Utils::ParameterAction *m_rebuildAction; QAction *m_rebuildSessionAction; QAction *m_cleanProjectOnlyAction; - QAction *m_cleanAction; + Core::Utils::ParameterAction *m_cleanAction; QAction *m_cleanSessionAction; QAction *m_runAction; QAction *m_runActionContextMenu; From b919dbe572eb2ece07089310dee35a122e9baea3 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 11 Jun 2009 15:41:20 +0200 Subject: [PATCH 7/9] fakevim: fix cursor column positioning bug after cfx + --- src/plugins/fakevim/fakevimhandler.cpp | 14 +++++++++++--- tests/auto/fakevim/main.cpp | 13 +++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index f78bd890ac5..bb46ba2c810 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -253,7 +253,10 @@ public: void moveToFirstNonBlankOnLine(); void moveToTargetColumn(); - void setTargetColumn() { m_targetColumn = leftDist(); } + void setTargetColumn() { + m_targetColumn = leftDist(); + //qDebug() << "TARGET: " << m_targetColumn; + } void moveToNextWord(bool simple); void moveToMatchingParanthesis(); void moveToWordBoundary(bool simple, bool forward); @@ -672,6 +675,8 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand) m_submode = NoSubMode; if (atEndOfLine()) moveLeft(); + else + setTargetColumn(); } else if (m_submode == YankSubMode) { m_registers[m_register] = selectedText(); setPosition(m_savedYankPosition); @@ -2507,9 +2512,12 @@ void FakeVimHandler::Private::replay(const QString &command, int n) { //qDebug() << "REPLAY: " << command; m_inReplay = true; - for (int i = n; --i >= 0; ) - foreach (QChar c, command) + for (int i = n; --i >= 0; ) { + foreach (QChar c, command) { + //qDebug() << " REPLAY: " << QString(c); handleKey(c.unicode(), c.unicode(), QString(c)); + } + } m_inReplay = false; } diff --git a/tests/auto/fakevim/main.cpp b/tests/auto/fakevim/main.cpp index 991900d1284..d4b8030acc6 100644 --- a/tests/auto/fakevim/main.cpp +++ b/tests/auto/fakevim/main.cpp @@ -60,6 +60,7 @@ private slots: void command_dd(); void command_dollar(); void command_down(); + void command_dfx_down(); void command_e(); void command_i(); void command_left(); @@ -296,6 +297,18 @@ void tst_FakeVim::command_down() move("4j", "@ return app.exec()"); } +void tst_FakeVim::command_dfx_down() +{ + setup(); + check("j4l", l[0] + "\n#inc@lude \n" + lmid(2)); + check("df ", l[0] + "\n#inc@\n" + lmid(2)); + check("j", l[0] + "\n#inc\n#inc@lude \n" + lmid(3)); + check(".", l[0] + "\n#inc\n#inc@\n" + lmid(3)); +return; + check("u", l[0] + "\n#inc\n#inc@lude \n" + lmid(3)); + check("u", l[0] + "\n#inc@lude \n" + lmid(2)); +} + void tst_FakeVim::command_e() { setup(); From d44655bde2ac6aea4113de12ef67efa2808e7da9 Mon Sep 17 00:00:00 2001 From: Kavindra Palaraja Date: Thu, 11 Jun 2009 17:02:16 +0200 Subject: [PATCH 8/9] Doc - Adding in Screenshots RevBy: TrustMe --- doc/addressbook-sdk.qdoc | 2 +- ...ssbook-tutorial-part1-labeled-screenshot.png | Bin 0 -> 26594 bytes .../addressbook-tutorial-part1-screenshot.png | Bin 0 -> 7180 bytes doc/images/addressbook-tutorial-screenshot.png | Bin 0 -> 11916 bytes 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 doc/images/addressbook-tutorial-part1-labeled-screenshot.png create mode 100644 doc/images/addressbook-tutorial-part1-screenshot.png create mode 100644 doc/images/addressbook-tutorial-screenshot.png diff --git a/doc/addressbook-sdk.qdoc b/doc/addressbook-sdk.qdoc index 1ad252a8466..26c575a8764 100644 --- a/doc/addressbook-sdk.qdoc +++ b/doc/addressbook-sdk.qdoc @@ -54,7 +54,7 @@ This tutorial gives an introduction to GUI programming using the Qt SDK. - ### Screenshot + \image addressbook-tutorial-screenshot.png In the process, we will learn about some basic technologies provided by Qt, such as: diff --git a/doc/images/addressbook-tutorial-part1-labeled-screenshot.png b/doc/images/addressbook-tutorial-part1-labeled-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..43810794ecb6eb7144d944dba2bfbe41c509c693 GIT binary patch literal 26594 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 YkM7=A;1xcDfq{X+)78&qol`;+02P5!`2YX_ literal 0 HcmV?d00001 From f17a81c9c926a73d2b9f56746b9b4e263c0c22f1 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Thu, 11 Jun 2009 17:00:35 +0200 Subject: [PATCH 9/9] Fixed helpId and tooltip for member declarations. --- src/plugins/cppeditor/cpphoverhandler.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp index 1022fc1374f..2850bcd92d5 100644 --- a/src/plugins/cppeditor/cpphoverhandler.cpp +++ b/src/plugins/cppeditor/cpphoverhandler.cpp @@ -327,8 +327,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in FullySpecifiedType firstType = result.first; // result of `type of expression'. Symbol *lookupSymbol = result.second; // lookup symbol - Symbol *resolvedSymbol = 0; - Name *resolvedName = 0; + Symbol *resolvedSymbol = lookupSymbol; + Name *resolvedName = lookupSymbol->name(); firstType = resolve(firstType, typeOfExpression.lookupContext(), &resolvedSymbol, &resolvedName); @@ -343,9 +343,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in overview.setShowReturnTypes(true); overview.setShowFullyQualifiedNamed(true); - if (lookupSymbol && lookupSymbol->isDeclaration()) { - Declaration *decl = lookupSymbol->asDeclaration(); - m_toolTip = overview.prettyType(firstType, decl->name()); + if (lookupSymbol && (lookupSymbol->isDeclaration() || lookupSymbol->isArgument())) { + m_toolTip = overview.prettyType(firstType, buildHelpId(lookupSymbol, lookupSymbol->name())); } else if (firstType->isClassType() || firstType->isEnumType() || firstType->isForwardClassDeclarationType()) {