From 6a55ca9776c9fc5d6cce0bc0240b7437620cd49f Mon Sep 17 00:00:00 2001 From: dt Date: Mon, 6 Apr 2009 15:23:27 +0200 Subject: [PATCH] Make .user files a little more robust to be used in different paths Save a relative path to the .pro file. This means RunConfigurations can now be shared between platforms. Note: BuildConfigurations have two problems: The qt version id and the shadow build option. If the user doesn't use those two, then he is fine. --- src/plugins/qt4projectmanager/qt4runconfiguration.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp index 0522fab8d35..f3cfed80025 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -225,8 +226,9 @@ QWidget *Qt4RunConfiguration::configurationWidget() void Qt4RunConfiguration::save(PersistentSettingsWriter &writer) const { + QDir projectDir(QFileInfo(project()->file()->fileName()).absoluteDir()); writer.saveValue("CommandLineArguments", m_commandLineArguments); - writer.saveValue("ProFile", m_proFilePath); + writer.saveValue("ProFile", projectDir.relativeFilePath(m_proFilePath)); writer.saveValue("UserSetName", m_userSetName); writer.saveValue("UseTerminal", m_runMode == Console); writer.saveValue("UseDyldImageSuffix", m_isUsingDyldImageSuffix); @@ -234,10 +236,11 @@ void Qt4RunConfiguration::save(PersistentSettingsWriter &writer) const } void Qt4RunConfiguration::restore(const PersistentSettingsReader &reader) -{ +{ ApplicationRunConfiguration::restore(reader); + QDir projectDir(QFileInfo(project()->file()->fileName()).absoluteDir()); m_commandLineArguments = reader.restoreValue("CommandLineArguments").toStringList(); - m_proFilePath = reader.restoreValue("ProFile").toString(); + m_proFilePath = projectDir.filePath(reader.restoreValue("ProFile").toString()); m_userSetName = reader.restoreValue("UserSetName").toBool(); m_runMode = reader.restoreValue("UseTerminal").toBool() ? Console : Gui; m_isUsingDyldImageSuffix = reader.restoreValue("UseDyldImageSuffix").toBool();