diff options
-rw-r--r-- | doc/addressbook-sdk.qdoc | 2 | ||||
-rw-r--r-- | doc/images/addressbook-tutorial-part1-labeled-screenshot.png | bin | 0 -> 26594 bytes | |||
-rw-r--r-- | doc/images/addressbook-tutorial-part1-screenshot.png | bin | 0 -> 7180 bytes | |||
-rw-r--r-- | doc/images/addressbook-tutorial-screenshot.png | bin | 0 -> 11916 bytes | |||
-rw-r--r-- | src/plugins/coreplugin/editormanager/editormanager.cpp | 8 | ||||
-rw-r--r-- | src/plugins/coreplugin/navigationwidget.cpp | 1 | ||||
-rw-r--r-- | src/plugins/coreplugin/welcomemode.cpp | 8 | ||||
-rw-r--r-- | src/plugins/cppeditor/cpphoverhandler.cpp | 9 | ||||
-rw-r--r-- | src/plugins/cpptools/cppfilesettingspage.ui | 54 | ||||
-rw-r--r-- | src/plugins/cpptools/cpptoolsconstants.h | 2 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 14 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.cpp | 77 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.h | 7 | ||||
-rw-r--r-- | tests/auto/fakevim/main.cpp | 13 |
15 files changed, 107 insertions, 90 deletions
diff --git a/doc/addressbook-sdk.qdoc b/doc/addressbook-sdk.qdoc index 1ad252a846..26c575a876 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 Binary files differnew file mode 100644 index 0000000000..43810794ec --- /dev/null +++ b/doc/images/addressbook-tutorial-part1-labeled-screenshot.png diff --git a/doc/images/addressbook-tutorial-part1-screenshot.png b/doc/images/addressbook-tutorial-part1-screenshot.png Binary files differnew file mode 100644 index 0000000000..cf15627974 --- /dev/null +++ b/doc/images/addressbook-tutorial-part1-screenshot.png diff --git a/doc/images/addressbook-tutorial-screenshot.png b/doc/images/addressbook-tutorial-screenshot.png Binary files differnew file mode 100644 index 0000000000..d6727dcf4f --- /dev/null +++ b/doc/images/addressbook-tutorial-screenshot.png diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index e7e717d335..ebc5033c9d 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), @@ -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; } diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp index d93abca335..093c83c4b9 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<QShortcut *>(sender()); QString title = m_shortcutMap[original]; diff --git a/src/plugins/coreplugin/welcomemode.cpp b/src/plugins/coreplugin/welcomemode.cpp index 64cf613300..b0698088ce 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 <tt>Ctrl+number</tt>:" "<ol><li> - Welcome</li><li> - Edit</li><li>- Debug</li><li>- Projects</li><li>- Help</li>" "<li></li><li>- Output</li></ol>")); - tips.append(tr("You can show and hide the side bar using <tt>Alt+0<tt>.")); + tips.append(tr("You can show and hide the side bar using <tt>%1<tt>.").arg(sideBarShortcut)); tips.append(tr("You can fine tune the <tt>Find</tt> 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 <a href=\"qthelp://com.nokia.qtcreator/doc/creator-external-library-handling.html\"" diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp index 1022fc1374..2850bcd92d 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()) { diff --git a/src/plugins/cpptools/cppfilesettingspage.ui b/src/plugins/cpptools/cppfilesettingspage.ui index 61bf7880f0..7c55c16f2b 100644 --- a/src/plugins/cpptools/cppfilesettingspage.ui +++ b/src/plugins/cpptools/cppfilesettingspage.ui @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0" > +<ui version="4.0"> <class>CppFileSettingsPage</class> - <widget class="QWidget" name="CppFileSettingsPage" > - <property name="geometry" > + <widget class="QWidget" name="CppFileSettingsPage"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -10,45 +10,45 @@ <height>503</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout" > + <layout class="QVBoxLayout" name="verticalLayout"> <item> - <widget class="QGroupBox" name="groupBox" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Maximum" hsizetype="Preferred" > + <widget class="QGroupBox" name="groupBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="title" > - <string>File naming conventions</string> + <property name="title"> + <string>File Naming Conventions</string> </property> - <layout class="QFormLayout" name="formLayout" > - <property name="fieldGrowthPolicy" > + <layout class="QFormLayout" name="formLayout"> + <property name="fieldGrowthPolicy"> <enum>QFormLayout::ExpandingFieldsGrow</enum> </property> - <item row="0" column="0" > - <widget class="QLabel" name="headerSuffixLabel" > - <property name="text" > + <item row="0" column="0"> + <widget class="QLabel" name="headerSuffixLabel"> + <property name="text"> <string>Header suffix:</string> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QComboBox" name="headerSuffixComboBox" /> + <item row="0" column="1"> + <widget class="QComboBox" name="headerSuffixComboBox"/> </item> - <item row="1" column="0" > - <widget class="QLabel" name="sourceSuffixLabel" > - <property name="text" > + <item row="1" column="0"> + <widget class="QLabel" name="sourceSuffixLabel"> + <property name="text"> <string>Source suffix:</string> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QComboBox" name="sourceSuffixComboBox" /> + <item row="1" column="1"> + <widget class="QComboBox" name="sourceSuffixComboBox"/> </item> - <item row="2" column="1" > - <widget class="QCheckBox" name="lowerCaseFileNamesCheckBox" > - <property name="text" > + <item row="2" column="1"> + <widget class="QCheckBox" name="lowerCaseFileNamesCheckBox"> + <property name="text"> <string>Lower case file names</string> </property> </widget> @@ -57,11 +57,11 @@ </widget> </item> <item> - <spacer name="verticalSpacer" > - <property name="orientation" > + <spacer name="verticalSpacer"> + <property name="orientation"> <enum>Qt::Vertical</enum> </property> - <property name="sizeHint" stdset="0" > + <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>430</height> diff --git a/src/plugins/cpptools/cpptoolsconstants.h b/src/plugins/cpptools/cpptoolsconstants.h index 7528ddc79e..23e33baa23 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 80fad9ab1c..fc58e95f52 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())); diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index f78bd890ac..bb46ba2c81 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/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 9c2dfacb49..b53700b28c 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,51 +507,44 @@ 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); - // 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 +1280,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()"<<building; + qDebug() << "BuildManager::isBuilding()" << building; - if (m_currentProject == 0) { - m_unloadAction->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_buildAction->setParameter(projectName); + m_rebuildAction->setParameter(projectName); + m_cleanAction->setParameter(projectName); - m_buildProjectOnlyMenu->setEnabled(enableBuildActions); m_buildProjectOnlyAction->setEnabled(enableBuildActions); m_rebuildProjectOnlyAction->setEnabled(enableBuildActions); m_cleanProjectOnlyAction->setEnabled(enableBuildActions); @@ -1349,13 +1336,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 fc60b3129e..985ff10d8e 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; @@ -253,7 +253,6 @@ private: QAction *m_removeFileAction; QAction *m_renameFileAction; - QMenu *m_buildProjectOnlyMenu; QMenu *m_buildConfigurationMenu; QActionGroup *m_buildConfigurationActionGroup; QMenu *m_runConfigurationMenu; diff --git a/tests/auto/fakevim/main.cpp b/tests/auto/fakevim/main.cpp index 991900d128..d4b8030acc 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 <QtCore>\n" + lmid(2)); + check("df ", l[0] + "\n#inc@<QtCore>\n" + lmid(2)); + check("j", l[0] + "\n#inc<QtCore>\n#inc@lude <QtGui>\n" + lmid(3)); + check(".", l[0] + "\n#inc<QtCore>\n#inc@<QtGui>\n" + lmid(3)); +return; + check("u", l[0] + "\n#inc<QtCore>\n#inc@lude <QtGui>\n" + lmid(3)); + check("u", l[0] + "\n#inc@lude <QtCore>\n" + lmid(2)); +} + void tst_FakeVim::command_e() { setup(); |