diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp index 1dbc697899a46f220a58a9d8abd0c133d255752a..a69fcb3ded7d028b258809889eaa539a5dd732b0 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp @@ -36,7 +36,10 @@ #include "cmakehighlighter.h" #include "cmakeeditorfactory.h" #include "cmakeprojectconstants.h" +#include "cmakeproject.h" +#include <projectexplorer/projectexplorer.h> +#include <projectexplorer/session.h> #include <texteditor/fontsettings.h> #include <texteditor/texteditoractionhandler.h> #include <texteditor/texteditorconstants.h> @@ -55,7 +58,10 @@ CMakeEditor::CMakeEditor(CMakeEditorWidget *editor) : BaseTextEditor(editor), m_context(CMakeProjectManager::Constants::C_CMAKEEDITOR, TextEditor::Constants::C_TEXTEDITOR) -{ } +{ + connect (this, SIGNAL(changed()), + this, SLOT(markAsChanged())); +} Core::Context CMakeEditor::context() const { @@ -76,6 +82,30 @@ QString CMakeEditor::id() const return QLatin1String(CMakeProjectManager::Constants::CMAKE_EDITOR_ID); } +void CMakeEditor::markAsChanged() +{ + Core::EditorManager::instance()-> + showEditorInfoBar(QLatin1String("CMakeEditor.RunCMake"), + tr("Changes to cmake files are shown in the project tree after building."), + tr("Build now"), + this, SLOT(build())); +} + +void CMakeEditor::build() +{ + QList<ProjectExplorer::Project *> projects = + ProjectExplorer::ProjectExplorerPlugin::instance()->session()->projects(); + foreach (ProjectExplorer::Project *p, projects) { + CMakeProject *cmakeProject = qobject_cast<CMakeProject *>(p); + if (cmakeProject) { + if (cmakeProject->isProjectFile(file()->fileName())) { + ProjectExplorer::ProjectExplorerPlugin::instance()->buildProject(cmakeProject); + break; + } + } + } +} + // // CMakeEditor // diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.h b/src/plugins/cmakeprojectmanager/cmakeeditor.h index 460f90eb81e84ffa3012ab48cf83d3fbd3923904..2ce08908df048b99e393841a9443e4ff9d20eb76 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.h +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.h @@ -53,6 +53,7 @@ class CMakeManager; class CMakeEditor : public TextEditor::BaseTextEditor { + Q_OBJECT public: CMakeEditor(CMakeEditorWidget *); Core::Context context() const; @@ -61,6 +62,9 @@ public: Core::IEditor *duplicate(QWidget *parent); QString id() const; bool isTemporary() const { return false; } +private slots: + void markAsChanged(); + void build(); private: const Core::Context m_context; }; diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 399e83f0c23027a5f3ec7f9182dfe44d861db218..a882e5ebf932ab0455a410be51c24806c73cfd15 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -97,7 +97,6 @@ CMakeProject::CMakeProject(CMakeManager *manager, const QString &fileName) : m_manager(manager), m_fileName(fileName), m_rootNode(new CMakeProjectNode(m_fileName)), - m_insideFileChanged(false), m_lastEditor(0) { m_file = new CMakeFile(this, fileName); @@ -126,15 +125,8 @@ CMakeProject::~CMakeProject() void CMakeProject::fileChanged(const QString &fileName) { Q_UNUSED(fileName) - if (!activeTarget() || - !activeTarget()->activeBuildConfiguration()) - return; - if (m_insideFileChanged) - return; - m_insideFileChanged = true; - changeActiveBuildConfiguration(activeTarget()->activeBuildConfiguration()); - m_insideFileChanged = false; + parseCMakeLists(); } void CMakeProject::changeActiveBuildConfiguration(ProjectExplorer::BuildConfiguration *bc) @@ -201,6 +193,8 @@ bool CMakeProject::parseCMakeLists() !activeTarget()->activeBuildConfiguration()) return false; + Core::EditorManager::instance()->hideEditorInfoBar("CMakeEditor.RunCMake"); + // Find cbp file CMakeBuildConfiguration *activeBC = activeTarget()->activeBuildConfiguration(); QString cbpFile = CMakeManager::findCbpFile(activeBC->buildDirectory()); @@ -212,12 +206,17 @@ bool CMakeProject::parseCMakeLists() //qDebug()<<"Parsing file "<<cbpFile; if (!cbpparser.parseCbpFile(cbpFile)) { // TODO report error - qDebug()<<"Parsing failed"; - // activeBC->updateToolChain(QString::null); emit buildTargetsChanged(); return false; } + foreach (const QString &file, m_watcher->files()) + if (file != cbpFile) + m_watcher->removePath(file); + + // how can we ensure that it is completly written? + m_watcher->addPath(cbpFile); + // ToolChain // activeBC->updateToolChain(cbpparser.compilerName()); m_projectName = cbpparser.projectName(); @@ -238,12 +237,6 @@ bool CMakeProject::parseCMakeLists() projectFiles.insert(cmakeListTxt); } - QSet<QString> added = projectFiles; - added.subtract(m_watchedFiles); - foreach(const QString &add, added) - m_watcher->addFile(add); - foreach(const QString &remove, m_watchedFiles.subtract(projectFiles)) - m_watcher->removeFile(remove); m_watchedFiles = projectFiles; m_files.clear(); @@ -279,7 +272,6 @@ bool CMakeProject::parseCMakeLists() } cmakeCache.close(); - //qDebug()<<"Updating CodeModel"; createUiCodeModelSupport(); if (!activeBC->toolChain()) @@ -317,12 +309,16 @@ bool CMakeProject::parseCMakeLists() m_codeModelFuture = modelmanager->updateSourceFiles(pinfo.sourceFiles); } } - emit buildTargetsChanged(); emit fileListChanged(); return true; } +bool CMakeProject::isProjectFile(const QString &fileName) +{ + return m_watchedFiles.contains(fileName); +} + QList<CMakeBuildTarget> CMakeProject::buildTargets() const { return m_buildTargets; @@ -562,7 +558,7 @@ bool CMakeProject::fromMap(const QVariantMap &map) } } - m_watcher = new ProjectExplorer::FileWatcher(this); + m_watcher = new QFileSystemWatcher(this); connect(m_watcher, SIGNAL(fileChanged(QString)), this, SLOT(fileChanged(QString))); if (!parseCMakeLists()) // Gets the directory from the active buildconfiguration diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index df1b9a7a577c628a077deaf4275ca4197b7f6f4c..52540fba22907ef4a11858ae6f9a07c40fc3a93d 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -46,9 +46,11 @@ #include <projectexplorer/filewatcher.h> #include <projectexplorer/buildconfiguration.h> #include <coreplugin/ifile.h> +#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/ieditor.h> #include <QtCore/QXmlStreamReader> +#include <QtCore/QFileSystemWatcher> #include <QtGui/QPushButton> #include <QtGui/QLineEdit> @@ -105,6 +107,8 @@ public: QString uicCommand() const; + bool isProjectFile(const QString &fileName); + signals: /// emitted after parsing void buildTargetsChanged(); @@ -142,8 +146,7 @@ private: CMakeProjectNode *m_rootNode; QStringList m_files; QList<CMakeBuildTarget> m_buildTargets; - ProjectExplorer::FileWatcher *m_watcher; - bool m_insideFileChanged; + QFileSystemWatcher *m_watcher; QSet<QString> m_watchedFiles; QFuture<void> m_codeModelFuture; diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index ddc37f12decdd3a6b2e57314d9da6d2ad7dcb511..8fcf218f79e1ef77276042eb178253afba436027 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -175,7 +175,7 @@ void AbstractProcessStep::run(QFutureInterface<bool> &fi) void AbstractProcessStep::processStarted() { - emit addOutput(tr("Starting: \"%1\" %2\n") + emit addOutput(tr("Starting: \"%1\" %2") .arg(QDir::toNativeSeparators(m_param.effectiveCommand()), m_param.prettyArguments()), BuildStep::MessageOutput); @@ -222,7 +222,7 @@ void AbstractProcessStep::stdOutput(const QString &line) { if (m_outputParserChain) m_outputParserChain->stdOutput(line); - emit addOutput(line, BuildStep::NormalOutput); + emit addOutput(line, BuildStep::NormalOutput, BuildStep::DontAppendNewline); } void AbstractProcessStep::processReadyReadStdError() @@ -238,7 +238,7 @@ void AbstractProcessStep::stdError(const QString &line) { if (m_outputParserChain) m_outputParserChain->stdError(line); - emit addOutput(line, BuildStep::ErrorOutput); + emit addOutput(line, BuildStep::ErrorOutput, BuildStep::DontAppendNewline); } void AbstractProcessStep::checkForCancel() @@ -301,7 +301,7 @@ void AbstractProcessStep::taskAdded(const ProjectExplorer::Task &task) void AbstractProcessStep::outputAdded(const QString &string, ProjectExplorer::BuildStep::OutputFormat format) { - emit addOutput(string, format); + emit addOutput(string, format, BuildStep::DontAppendNewline); } void AbstractProcessStep::slotProcessFinished(int, QProcess::ExitStatus) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index e737957ac6ed36f94fbd6a549031496304fcc3f4..d934305628b58dfb51154a5e5ed55a44a6f3dcbf 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -136,6 +136,7 @@ BuildManager::BuildManager(ProjectExplorerPlugin *parent) pm->addObject(d->m_taskWindow); qRegisterMetaType<ProjectExplorer::BuildStep::OutputFormat>(); + qRegisterMetaType<ProjectExplorer::BuildStep::OutputNewlineSetting>(); connect(d->m_taskWindow, SIGNAL(tasksChanged()), this, SLOT(updateTaskCount())); @@ -198,10 +199,7 @@ void BuildManager::cancel() // (And we want those to be before the cancel message.) QTimer::singleShot(0, this, SLOT(emitCancelMessage())); - disconnect(d->m_currentBuildStep, SIGNAL(addTask(ProjectExplorer::Task)), - this, SLOT(addToTaskWindow(ProjectExplorer::Task))); - disconnect(d->m_currentBuildStep, SIGNAL(addOutput(QString, ProjectExplorer::BuildStep::OutputFormat)), - this, SLOT(addToOutputWindow(QString, ProjectExplorer::BuildStep::OutputFormat))); + disconnectOutput(d->m_currentBuildStep); decrementActiveBuildSteps(d->m_currentBuildStep->buildConfiguration()->target()->project()); d->m_progressFutureInterface->setProgressValueAndText(d->m_progress*100, tr("Build canceled")); //TODO NBS fix in qtconcurrent @@ -229,17 +227,14 @@ void BuildManager::finish() void BuildManager::emitCancelMessage() { - emit addToOutputWindow(tr("Canceled build."), BuildStep::ErrorMessageOutput); + addToOutputWindow(tr("Canceled build."), BuildStep::ErrorMessageOutput); } void BuildManager::clearBuildQueue() { foreach (BuildStep *bs, d->m_buildQueue) { decrementActiveBuildSteps(bs->buildConfiguration()->target()->project()); - disconnect(bs, SIGNAL(addTask(ProjectExplorer::Task)), - this, SLOT(addToTaskWindow(ProjectExplorer::Task))); - disconnect(bs, SIGNAL(addOutput(QString, ProjectExplorer::BuildStep::OutputFormat)), - this, SLOT(addToOutputWindow(QString, ProjectExplorer::BuildStep::OutputFormat))); + disconnectOutput(bs); } d->m_buildQueue.clear(); @@ -329,9 +324,13 @@ void BuildManager::addToTaskWindow(const ProjectExplorer::Task &task) d->m_taskHub->addTask(task); } -void BuildManager::addToOutputWindow(const QString &string, ProjectExplorer::BuildStep::OutputFormat format) +void BuildManager::addToOutputWindow(const QString &string, BuildStep::OutputFormat format, + BuildStep::OutputNewlineSetting newLineSetting) { - d->m_outputWindow->appendText(string, format); + QString stringToWrite = string; + if (newLineSetting == BuildStep::DoAppendNewline) + stringToWrite += QLatin1Char('\n'); + d->m_outputWindow->appendText(stringToWrite, format); } void BuildManager::nextBuildQueue() @@ -339,11 +338,7 @@ void BuildManager::nextBuildQueue() if (d->m_canceling) return; - disconnect(d->m_currentBuildStep, SIGNAL(addTask(ProjectExplorer::Task)), - this, SLOT(addToTaskWindow(ProjectExplorer::Task))); - disconnect(d->m_currentBuildStep, SIGNAL(addOutput(QString, ProjectExplorer::BuildStep::OutputFormat)), - this, SLOT(addToOutputWindow(QString, ProjectExplorer::BuildStep::OutputFormat))); - + disconnectOutput(d->m_currentBuildStep); ++d->m_progress; d->m_progressFutureInterface->setProgressValueAndText(d->m_progress*100, msgProgress(d->m_progress, d->m_maxProgress)); decrementActiveBuildSteps(d->m_currentBuildStep->buildConfiguration()->target()->project()); @@ -420,8 +415,8 @@ bool BuildManager::buildQueueAppend(QList<BuildStep *> steps) BuildStep *bs = steps.at(i); connect(bs, SIGNAL(addTask(ProjectExplorer::Task)), this, SLOT(addToTaskWindow(ProjectExplorer::Task))); - connect(bs, SIGNAL(addOutput(QString, ProjectExplorer::BuildStep::OutputFormat)), - this, SLOT(addToOutputWindow(QString, ProjectExplorer::BuildStep::OutputFormat))); + connect(bs, SIGNAL(addOutput(QString, ProjectExplorer::BuildStep::OutputFormat, ProjectExplorer::BuildStep::OutputNewlineSetting)), + this, SLOT(addToOutputWindow(QString, ProjectExplorer::BuildStep::OutputFormat, ProjectExplorer::BuildStep::OutputNewlineSetting))); init = bs->init(); if (!init) break; @@ -437,13 +432,8 @@ bool BuildManager::buildQueueAppend(QList<BuildStep *> steps) addToOutputWindow(tr("When executing build step '%1'").arg(bs->displayName()), BuildStep::ErrorOutput); // disconnect the buildsteps again - for (int j = 0; j <= i; ++j) { - BuildStep *bs = steps.at(j); - disconnect(bs, SIGNAL(addTask(ProjectExplorer::Task)), - this, SLOT(addToTaskWindow(ProjectExplorer::Task))); - disconnect(bs, SIGNAL(addOutput(QString, ProjectExplorer::BuildStep::OutputFormat)), - this, SLOT(addToOutputWindow(QString, ProjectExplorer::BuildStep::OutputFormat))); - } + for (int j = 0; j <= i; ++j) + disconnectOutput(steps.at(j)); return false; } @@ -535,4 +525,14 @@ void BuildManager::decrementActiveBuildSteps(Project *pro) } } +void BuildManager::disconnectOutput(BuildStep *bs) +{ + disconnect(bs, SIGNAL(addTask(ProjectExplorer::Task)), + this, SLOT(addToTaskWindow(ProjectExplorer::Task))); + disconnect(bs, SIGNAL(addOutput(QString, ProjectExplorer::BuildStep::OutputFormat, + ProjectExplorer::BuildStep::OutputNewlineSetting)), + this, SLOT(addToOutputWindow(QString, ProjectExplorer::BuildStep::OutputFormat, + ProjectExplorer::BuildStep::OutputNewlineSetting))); +} + } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/buildmanager.h b/src/plugins/projectexplorer/buildmanager.h index fe1862d6a0315e41b9e55d7159dabfa0e2ec5d1f..f272bc56af894dcd62439857631ea629804fac5b 100644 --- a/src/plugins/projectexplorer/buildmanager.h +++ b/src/plugins/projectexplorer/buildmanager.h @@ -85,7 +85,8 @@ signals: private slots: void addToTaskWindow(const ProjectExplorer::Task &task); - void addToOutputWindow(const QString &string, ProjectExplorer::BuildStep::OutputFormat); + void addToOutputWindow(const QString &string, ProjectExplorer::BuildStep::OutputFormat, + ProjectExplorer::BuildStep::OutputNewlineSetting = BuildStep::DoAppendNewline); void nextBuildQueue(); void progressChanged(); @@ -102,6 +103,7 @@ private: bool buildQueueAppend(QList<BuildStep *> steps); void incrementActiveBuildSteps(Project *pro); void decrementActiveBuildSteps(Project *pro); + void disconnectOutput(BuildStep *bs); QScopedPointer<BuildManagerPrivate> d; }; diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h index 15f3a92235c8624eb531e8021c76ee7883cea179..29e98b7eaf2f8f558fa0707a7a4a3b92e5b8c740 100644 --- a/src/plugins/projectexplorer/buildstep.h +++ b/src/plugins/projectexplorer/buildstep.h @@ -106,14 +106,17 @@ public: Target *target() const; enum OutputFormat { NormalOutput, ErrorOutput, MessageOutput, ErrorMessageOutput }; + enum OutputNewlineSetting { DoAppendNewline, DontAppendNewline }; signals: // Add a task. void addTask(const ProjectExplorer::Task &task); + // The string is added to the generated output, usually in the output // window. // It should be in plain text, with the format in the parameter - void addOutput(const QString &string, ProjectExplorer::BuildStep::OutputFormat format); + void addOutput(const QString &string, ProjectExplorer::BuildStep::OutputFormat format, + ProjectExplorer::BuildStep::OutputNewlineSetting newlineSetting = DoAppendNewline); }; class PROJECTEXPLORER_EXPORT IBuildStepFactory : @@ -175,5 +178,6 @@ signals: } // namespace ProjectExplorer Q_DECLARE_METATYPE(ProjectExplorer::BuildStep::OutputFormat) +Q_DECLARE_METATYPE(ProjectExplorer::BuildStep::OutputNewlineSetting) #endif // BUILDSTEP_H diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 56dddf980419480777dc27d488ad34de78cd4cf8..af08b0bf26aec0df5bbfcf6ad10041705fb88321 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1691,6 +1691,12 @@ void ProjectExplorerPlugin::buildProjectOnly() queue(QList<Project *>() << session()->startupProject(), QStringList() << Constants::BUILDSTEPS_BUILD); } +void ProjectExplorerPlugin::buildProject(ProjectExplorer::Project *p) +{ + queue(d->m_session->projectOrder(p), + QStringList() << Constants::BUILDSTEPS_BUILD); +} + void ProjectExplorerPlugin::buildProject() { queue(d->m_session->projectOrder(session()->startupProject()), diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index 85cc013fb85b16795c320d56513a1ddb2da46f23..8b09c7df8b0ff3775470791c344e6a5d92720034 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -124,6 +124,8 @@ public: void addExistingFiles(ProjectExplorer::ProjectNode *projectNode, const QStringList &filePaths); void addExistingFiles(const QStringList &filePaths); + void buildProject(ProjectExplorer::Project *p); + signals: void aboutToShowContextMenu(ProjectExplorer::Project *project, ProjectExplorer::Node *node); diff --git a/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.cpp b/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.cpp index 87d771eef98475cd566def316474c7fc1fe22f74..5207e8baacb2c1c02d81733af4799f817c617ced 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.cpp @@ -190,9 +190,10 @@ void AbstractMaemoDeployStep::raiseError(const QString &errorString) emit error(); } -void AbstractMaemoDeployStep::writeOutput(const QString &text, OutputFormat format) +void AbstractMaemoDeployStep::writeOutput(const QString &text, OutputFormat format, + OutputNewlineSetting newlineSetting) { - emit addOutput(text, format); + emit addOutput(text, format, newlineSetting); } void AbstractMaemoDeployStep::stop() @@ -377,7 +378,7 @@ void AbstractMaemoDeployStep::handleRemoteStdout(const QString &output) switch (m_baseState) { case Deploying: case StopRequested: - writeOutput(output, NormalOutput); + writeOutput(output, NormalOutput, DontAppendNewline); break; default: break; @@ -391,7 +392,7 @@ void AbstractMaemoDeployStep::handleRemoteStderr(const QString &output) switch (m_baseState) { case Deploying: case StopRequested: - writeOutput(output, ErrorOutput); + writeOutput(output, ErrorOutput, DontAppendNewline); break; default: break; diff --git a/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.h b/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.h index 6470e30f965286976e4454e9b5a5e24d1c2ff32a..47fe4bd3250d1733e88f1e54627f88ebf491316b 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.h +++ b/src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.h @@ -89,7 +89,8 @@ protected: BaseState baseState() const { return m_baseState; } void raiseError(const QString &error); - void writeOutput(const QString &text, OutputFormat = MessageOutput); + void writeOutput(const QString &text, OutputFormat format = MessageOutput, + OutputNewlineSetting newlineSetting = DoAppendNewline); void setDeploymentFinished(); const AbstractMaemoPackageCreationStep *packagingStep() const; QString deployMountPoint() const; diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp index 33d0b069ce8fbb0dab998ed8493e8d44a0f69050..2dbe02bf820044b49f2e134efbb13e728fdab08f 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp @@ -147,7 +147,7 @@ void AbstractMaemoDeployByMountStep::handleMountDebugOutput(const QString &outpu ASSERT_BASE_STATE(QList<BaseState>() << Deploying << StopRequested); if (m_extendedState != Inactive) - writeOutput(output, ErrorOutput); + writeOutput(output, ErrorOutput, DontAppendNewline); } void AbstractMaemoDeployByMountStep::mount() diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index cf6cce4d5d212b22b8b9df0dbd8305118226284d..573ca699b1046f9675d950683fcf30375ab5be67 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -144,11 +144,13 @@ void AbstractMaemoPackageCreationStep::handleBuildOutput() QByteArray stdOut = buildProc->readAllStandardOutput(); stdOut.replace('\0', QByteArray()); // Output contains NUL characters. if (!stdOut.isEmpty()) - emit addOutput(QString::fromLocal8Bit(stdOut), BuildStep::NormalOutput); + emit addOutput(QString::fromLocal8Bit(stdOut), BuildStep::NormalOutput, + BuildStep::DontAppendNewline); QByteArray errorOut = buildProc->readAllStandardError(); errorOut.replace('\0', QByteArray()); if (!errorOut.isEmpty()) { - emit addOutput(QString::fromLocal8Bit(errorOut), BuildStep::ErrorOutput); + emit addOutput(QString::fromLocal8Bit(errorOut), BuildStep::ErrorOutput, + BuildStep::DontAppendNewline); } } diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp index d2ac2e15e2157b973c77e67b6211cb036edf94ab..bc83c73e0d438a22237736648387280a01b25e64 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp @@ -583,7 +583,7 @@ void S60CreatePackageStep::stdOutput(const QString &line) { if (m_outputParserChain) m_outputParserChain->stdOutput(line); - emit addOutput(line, BuildStep::NormalOutput); + emit addOutput(line, BuildStep::NormalOutput, BuildStep::DontAppendNewline); } void S60CreatePackageStep::processReadyReadStdError() @@ -599,7 +599,7 @@ void S60CreatePackageStep::stdError(const QString &line) { if (m_outputParserChain) m_outputParserChain->stdError(line); - emit addOutput(line, BuildStep::ErrorOutput); + emit addOutput(line, BuildStep::ErrorOutput, BuildStep::DontAppendNewline); } void S60CreatePackageStep::checkForCancel()