summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@nokia.com>2009-08-13 13:17:05 +0200
committerKai Koehne <kai.koehne@nokia.com>2009-08-13 13:17:05 +0200
commit9141727beeae1cdde5fa6acb738af1b48d84369b (patch)
tree552483fe90a8c3d76609e6df0aa4916cd2008769 /src
parent457e9b92d7581902ee0d1137c2ec72f605860ce4 (diff)
parent24bf4c37a585402b24d767bbc3ed43da4d25397a (diff)
downloadqt-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.cpp2
-rw-r--r--src/plugins/cmakeprojectmanager/makestep.h2
-rw-r--r--src/plugins/debugger/gdb/gdbengine.cpp23
-rw-r--r--src/plugins/fakevim/fakevim.pro2
-rw-r--r--src/plugins/genericprojectmanager/genericmakestep.cpp14
-rw-r--r--src/plugins/genericprojectmanager/genericmakestep.h1
-rw-r--r--src/plugins/help/help.pro8
-rw-r--r--src/plugins/help/help_dependencies.pri4
-rw-r--r--src/plugins/projectexplorer/buildstep.cpp11
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp3
-rw-r--r--src/plugins/projectexplorer/projectexplorer.h8
-rw-r--r--src/plugins/qt4projectmanager/makestep.cpp19
-rw-r--r--src/plugins/qt4projectmanager/makestep.h3
-rw-r--r--src/plugins/qt4projectmanager/qmakestep.cpp1
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;