diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp
index 164c1e47361b17d88375c7fbda08401b38f3b493..169e2340f0f17920e8ac8076184f83803fb1d907 100644
--- a/src/plugins/projectexplorer/settingsaccessor.cpp
+++ b/src/plugins/projectexplorer/settingsaccessor.cpp
@@ -54,6 +54,19 @@
using namespace Utils;
+namespace {
+static QString generateSuffix(const QString &alt1, const QString &alt2)
+{
+ QString suffix = alt1;
+ if (suffix.isEmpty())
+ suffix = alt2;
+ suffix.replace(QRegExp(QLatin1String("[^a-zA-Z0-9_.-]")), QString(QLatin1Char('_'))); // replace fishy characters:
+ if (!suffix.startsWith(QLatin1String(".")))
+ suffix.prepend(QLatin1Char('.'));
+ return suffix;
+}
+} // end namespace
+
namespace ProjectExplorer {
namespace Internal {
@@ -877,7 +890,7 @@ SettingsAccessor::FileAccessor::FileAccessor(const QString &defaultSuffix,
, m_accessor(accessor)
, m_writer(0)
{
- assignSuffix(defaultSuffix, environmentSuffix);
+ m_suffix = generateSuffix(environmentSuffix, defaultSuffix);
}
SettingsAccessor::FileAccessor::~FileAccessor()
@@ -885,18 +898,6 @@ SettingsAccessor::FileAccessor::~FileAccessor()
delete m_writer;
}
-void SettingsAccessor::FileAccessor::assignSuffix(const QString &defaultSuffix,
- const QString &environmentSuffix)
-{
- if (!environmentSuffix.isEmpty()) {
- m_suffix = environmentSuffix;
- m_suffix.replace(QRegExp(QLatin1String("[^a-zA-Z0-9_.-]")), QString(QLatin1Char('_'))); // replace fishy characters:
- m_suffix.prepend(QLatin1Char('.'));
- } else {
- m_suffix = defaultSuffix;
- }
-}
-
bool SettingsAccessor::FileAccessor::readFile(SettingsData *settings) const
{
if (settings->fileName().isEmpty()) {
diff --git a/src/plugins/projectexplorer/settingsaccessor.h b/src/plugins/projectexplorer/settingsaccessor.h
index e6bfac4e88fbba18b40a6c428ec648be9501977b..99dc4a39a65eebb92c9e7f1c5d7a347e638781d1 100644
--- a/src/plugins/projectexplorer/settingsaccessor.h
+++ b/src/plugins/projectexplorer/settingsaccessor.h
@@ -104,8 +104,6 @@ private:
QString suffix() const { return m_suffix; }
private:
- void assignSuffix(const QString &defaultSuffix, const QString &environmentSuffix);
-
QString m_suffix;
bool m_environmentSpecific;
SettingsAccessor *m_accessor;