diff options
author | Kai Koehne <kai.koehne@nokia.com> | 2009-08-13 13:17:05 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@nokia.com> | 2009-08-13 13:17:05 +0200 |
commit | 9141727beeae1cdde5fa6acb738af1b48d84369b (patch) | |
tree | 552483fe90a8c3d76609e6df0aa4916cd2008769 /src | |
parent | 457e9b92d7581902ee0d1137c2ec72f605860ce4 (diff) | |
parent | 24bf4c37a585402b24d767bbc3ed43da4d25397a (diff) | |
download | qt-creator-9141727beeae1cdde5fa6acb738af1b48d84369b.tar.gz |
Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/cmakeprojectmanager/makestep.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cmakeprojectmanager/makestep.h | 2 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/gdbengine.cpp | 23 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevim.pro | 2 | ||||
-rw-r--r-- | src/plugins/genericprojectmanager/genericmakestep.cpp | 14 | ||||
-rw-r--r-- | src/plugins/genericprojectmanager/genericmakestep.h | 1 | ||||
-rw-r--r-- | src/plugins/help/help.pro | 8 | ||||
-rw-r--r-- | src/plugins/help/help_dependencies.pri | 4 | ||||
-rw-r--r-- | src/plugins/projectexplorer/buildstep.cpp | 11 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.cpp | 3 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.h | 8 | ||||
-rw-r--r-- | src/plugins/qt4projectmanager/makestep.cpp | 19 | ||||
-rw-r--r-- | src/plugins/qt4projectmanager/makestep.h | 3 | ||||
-rw-r--r-- | src/plugins/qt4projectmanager/qmakestep.cpp | 1 |
14 files changed, 82 insertions, 19 deletions
diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp index 9b9bd54927..14f7e45e8e 100644 --- a/src/plugins/cmakeprojectmanager/makestep.cpp +++ b/src/plugins/cmakeprojectmanager/makestep.cpp @@ -175,6 +175,8 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) } connect(m_targetsList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*))); + connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), + this, SLOT(updateDetails())); } void MakeStepConfigWidget::additionalArgumentsEdited() diff --git a/src/plugins/cmakeprojectmanager/makestep.h b/src/plugins/cmakeprojectmanager/makestep.h index f5b7a5ee28..90cd0f1696 100644 --- a/src/plugins/cmakeprojectmanager/makestep.h +++ b/src/plugins/cmakeprojectmanager/makestep.h @@ -82,8 +82,8 @@ public: private slots: void itemChanged(QListWidgetItem*); void additionalArgumentsEdited(); -private: void updateDetails(); +private: QString m_buildConfiguration; MakeStep *m_makeStep; QListWidget *m_targetsList; diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 006b1420db..d7ab3f5939 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -762,6 +762,25 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record) if (token == -1) return; + if (!m_cookieForToken.contains(token)) { + // In theory this should not happen, in practice it does. + debugMessage(_("COOKIE FOR TOKEN %1 ALREADY EATEN. " + "TWO RESPONSES FOR ONE COMMAND?").arg(token)); + // handle a case known to occur on Linux/gdb 6.8 when debugging moc + // with helpers enabled. In this case we get a second response with + // msg="Cannot find new threads: generic error" + if (record.resultClass == GdbResultError) { + QByteArray msg = record.data.findChild("msg").data(); + QMessageBox::critical(q->mainWindow(), tr("Error"), + tr("Executable failed:\n") + QString::fromLocal8Bit(msg)); + q->showStatusMessage(tr("Process failed to start.")); + exitDebugger(); + //qq->notifyInferiorStopped(); + //qq->notifyInferiorExited(); + } + return; + } + GdbCommand cmd = m_cookieForToken.take(token); if (theDebuggerBoolSetting(LogTimeStamps)) { emit gdbOutputAvailable(LogTime, _("Response time: %1: %2 s") @@ -1162,7 +1181,7 @@ void GdbEngine::handleAsyncOutput(const GdbMi &data) GdbMi frameData = data.findChild("frame"); if (frameData.findChild("func").data() == "_start" && frameData.findChild("from").data() == "/lib/ld-linux.so.2") { - postCommand(_("-exec-continue")); + postCommand(_("-exec-continue"), CB(handleExecContinue)); return; } } @@ -1812,7 +1831,7 @@ void GdbEngine::runToFunctionExec(const QString &functionName) qq->notifyInferiorRunningRequested(); // that should be "^running". We need to handle the resulting // "Stopped" - postCommand(_("-exec-continue")); + postCommand(_("-exec-continue"), CB(handleExecContinue)); //postCommand(_("-exec-continue"), handleExecRunToFunction); } diff --git a/src/plugins/fakevim/fakevim.pro b/src/plugins/fakevim/fakevim.pro index 2de72d429b..1ebc95c2dc 100644 --- a/src/plugins/fakevim/fakevim.pro +++ b/src/plugins/fakevim/fakevim.pro @@ -7,7 +7,7 @@ include(../../libs/cplusplus/cplusplus.pri) include(../../plugins/projectexplorer/projectexplorer.pri) include(../../plugins/coreplugin/coreplugin.pri) include(../../plugins/texteditor/texteditor.pri) -include(../../plugins/texteditor/cppeditor.pri) +include(../../plugins/cppeditor/cppeditor.pri) include(../../shared/indenter/indenter.pri) # DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp index 95cd2ed7e2..b84bab7c14 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.cpp +++ b/src/plugins/genericprojectmanager/genericmakestep.cpp @@ -169,6 +169,11 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt this, SLOT(makeLineEditTextEdited())); connect(m_ui->makeArgumentsLineEdit, SIGNAL(textEdited(QString)), this, SLOT(makeArgumentsLineEditTextEdited())); + + connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), + this, SLOT(updateMakeOverrrideLabel())); + connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), + this, SLOT(updateDetails())); } QString GenericMakeStepConfigWidget::displayName() const @@ -176,12 +181,17 @@ QString GenericMakeStepConfigWidget::displayName() const return "Make"; } +// TODO: Label should update when tool chain is changed +void GenericMakeStepConfigWidget::updateMakeOverrrideLabel() +{ + m_ui->makeLabel->setText(tr("Override %1:").arg(m_makeStep->makeCommand(m_buildConfiguration))); +} + void GenericMakeStepConfigWidget::init(const QString &buildConfiguration) { m_buildConfiguration = buildConfiguration; - // TODO: Label should update when tool chain is changed - m_ui->makeLabel->setText(tr("Override %1:").arg(m_makeStep->makeCommand(buildConfiguration))); + updateMakeOverrrideLabel(); QString makeCommand = m_makeStep->value(buildConfiguration, "makeCommand").toString(); m_ui->makeLineEdit->setText(makeCommand); diff --git a/src/plugins/genericprojectmanager/genericmakestep.h b/src/plugins/genericprojectmanager/genericmakestep.h index a9cd9c067d..28446092e4 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.h +++ b/src/plugins/genericprojectmanager/genericmakestep.h @@ -80,6 +80,7 @@ private slots: void itemChanged(QListWidgetItem*); void makeLineEditTextEdited(); void makeArgumentsLineEditTextEdited(); + void updateMakeOverrrideLabel(); private: void updateDetails(); QString m_buildConfiguration; diff --git a/src/plugins/help/help.pro b/src/plugins/help/help.pro index b733a1fa70..5375420fb3 100644 --- a/src/plugins/help/help.pro +++ b/src/plugins/help/help.pro @@ -1,10 +1,10 @@ TEMPLATE = lib TARGET = Help -include(../../qtcreatorplugin.pri) -include(../../plugins/coreplugin/coreplugin.pri) -include(../../plugins/find/find.pri) -include(../../plugins/quickopen/quickopen.pri) QT += network + +include(../../qtcreatorplugin.pri) +include(help_dependencies.pri) + CONFIG += help DEFINES += QT_CLUCENE_SUPPORT \ HELP_LIBRARY diff --git a/src/plugins/help/help_dependencies.pri b/src/plugins/help/help_dependencies.pri new file mode 100644 index 0000000000..2b46febe3b --- /dev/null +++ b/src/plugins/help/help_dependencies.pri @@ -0,0 +1,4 @@ +include(../../plugins/coreplugin/coreplugin.pri) +include(../../plugins/find/find.pri) +include(../../plugins/quickopen/quickopen.pri) + diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index 710dae5821..e35c80e400 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -137,8 +137,15 @@ bool BuildStep::immutable() const void BuildConfigWidget::fixupLayout(QWidget *widget) { QWidget *parent = widget; - while((parent = parent->parentWidget()) && parent && parent->layout()) - parent->layout()->activate(); + QStack<QWidget *> widgets; + while((parent = parent->parentWidget()) && parent && parent->layout()) { + widgets.push(parent); + parent->layout()->update(); + } + + while(!widgets.isEmpty()) { + widgets.pop()->layout()->activate(); + } } IBuildStepFactory::IBuildStepFactory() diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 223be8d215..b671466b1f 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1989,7 +1989,10 @@ void ProjectExplorerPlugin::setSession(QAction *action) void ProjectExplorerPlugin::setProjectExplorerSettings(const Internal::ProjectExplorerSettings &pes) { + if (m_projectExplorerSettings == pes) + return; m_projectExplorerSettings = pes; + emit settingsChanged(); } Internal::ProjectExplorerSettings ProjectExplorerPlugin::projectExplorerSettings() const diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index da163b19c7..10d60a7b52 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -81,6 +81,12 @@ struct ProjectExplorerSettings bool saveBeforeBuild; bool showCompilerOutput; bool useJom; + bool operator==(const ProjectExplorerSettings &other) { + return this->buildBeforeRun == other.buildBeforeRun + && this->saveBeforeBuild == other.saveBeforeBuild + && this->showCompilerOutput == other.showCompilerOutput + && this->useJom == other.useJom; + } }; } // namespace Internal @@ -136,6 +142,8 @@ signals: void currentNodeChanged(ProjectExplorer::Node *node, ProjectExplorer::Project *project); void aboutToExecuteProject(ProjectExplorer::Project *project); + void settingsChanged(); + private slots: void buildStateChanged(ProjectExplorer::Project * pro); void buildQueueFinished(bool success); diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index 5c1d3bc290..fff2728c18 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -174,9 +174,18 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) connect(makeStep, SIGNAL(changed()), this, SLOT(update())); + connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), + this, SLOT(updateMakeOverrideLabel())); + connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), + this, SLOT(updateSummary())); } -void MakeStepConfigWidget::updateTitle() +void MakeStepConfigWidget::updateMakeOverrideLabel() +{ + m_ui.makeLabel->setText(tr("Override %1:").arg(static_cast<Qt4Project *>(m_makeStep->project())->makeCommand(m_buildConfiguration))); +} + +void MakeStepConfigWidget::updateDetails() { // TODO reduce heavy code duplication QString workingDirectory; @@ -244,7 +253,7 @@ void MakeStepConfigWidget::init(const QString &buildConfiguration) m_makeStep->setValue(buildConfiguration, "makeargs", QStringList() << "clean"); } - m_ui.makeLabel->setText(tr("Override %1:").arg(pro->makeCommand(buildConfiguration))); + updateMakeOverrideLabel(); const QString &makeCmd = m_makeStep->value(buildConfiguration, "makeCmd").toString(); m_ui.makeLineEdit->setText(makeCmd); @@ -252,14 +261,14 @@ void MakeStepConfigWidget::init(const QString &buildConfiguration) const QStringList &makeArguments = m_makeStep->value(buildConfiguration, "makeargs").toStringList(); m_ui.makeArgumentsLineEdit->setText(ProjectExplorer::Environment::joinArgumentList(makeArguments)); - updateTitle(); + updateDetails(); } void MakeStepConfigWidget::makeLineEditTextEdited() { Q_ASSERT(!m_buildConfiguration.isNull()); m_makeStep->setValue(m_buildConfiguration, "makeCmd", m_ui.makeLineEdit->text()); - updateTitle(); + updateDetails(); } void MakeStepConfigWidget::makeArgumentsLineEditTextEdited() @@ -267,7 +276,7 @@ void MakeStepConfigWidget::makeArgumentsLineEditTextEdited() Q_ASSERT(!m_buildConfiguration.isNull()); m_makeStep->setValue(m_buildConfiguration, "makeargs", ProjectExplorer::Environment::parseCombinedArgString(m_ui.makeArgumentsLineEdit->text())); - updateTitle(); + updateDetails(); } /// diff --git a/src/plugins/qt4projectmanager/makestep.h b/src/plugins/qt4projectmanager/makestep.h index 039b0ef2ab..cd16ce6be1 100644 --- a/src/plugins/qt4projectmanager/makestep.h +++ b/src/plugins/qt4projectmanager/makestep.h @@ -91,8 +91,9 @@ private slots: void makeLineEditTextEdited(); void makeArgumentsLineEditTextEdited(); void update(); + void updateMakeOverrideLabel(); + void updateDetails(); private: - void updateTitle(); QString m_buildConfiguration; Ui::MakeStep m_ui; MakeStep *m_makeStep; diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 5c86ca0332..0181e2da1d 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -178,7 +178,6 @@ bool QMakeStep::immutable() const return false; } - void QMakeStep::processStartupFailed() { m_forced = true; |