forked from qt-creator/qt-creator
Move EditorSettings over to new save/restore scheme
Reviewed-by: dt
This commit is contained in:
@@ -33,6 +33,10 @@
|
|||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
const char * const CODEC("EditorConfiguration.Codec");
|
||||||
|
}
|
||||||
|
|
||||||
EditorConfiguration::EditorConfiguration()
|
EditorConfiguration::EditorConfiguration()
|
||||||
: m_defaultTextCodec(QTextCodec::codecForLocale())
|
: m_defaultTextCodec(QTextCodec::codecForLocale())
|
||||||
{
|
{
|
||||||
@@ -45,6 +49,23 @@ QTextCodec *EditorConfiguration::defaultTextCodec() const
|
|||||||
|
|
||||||
void EditorConfiguration::setDefaultTextCodec(QTextCodec *codec)
|
void EditorConfiguration::setDefaultTextCodec(QTextCodec *codec)
|
||||||
{
|
{
|
||||||
|
if (!codec)
|
||||||
|
return;
|
||||||
m_defaultTextCodec = codec;
|
m_defaultTextCodec = codec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QVariantMap EditorConfiguration::toMap() const
|
||||||
|
{
|
||||||
|
QVariantMap map;
|
||||||
|
map.insert(QLatin1String(CODEC), m_defaultTextCodec->name());
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool EditorConfiguration::fromMap(const QVariantMap &map)
|
||||||
|
{
|
||||||
|
QTextCodec *codec = QTextCodec::codecForName(map.value(QLatin1String(CODEC)).toString().toLocal8Bit());
|
||||||
|
if (!codec)
|
||||||
|
return false;
|
||||||
|
m_defaultTextCodec = codec;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "projectexplorer_export.h"
|
#include "projectexplorer_export.h"
|
||||||
|
|
||||||
#include <QtCore/qglobal.h>
|
#include <QtCore/QVariantMap>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QTextCodec;
|
class QTextCodec;
|
||||||
@@ -44,9 +44,13 @@ class PROJECTEXPLORER_EXPORT EditorConfiguration
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EditorConfiguration();
|
EditorConfiguration();
|
||||||
|
|
||||||
QTextCodec *defaultTextCodec() const;
|
QTextCodec *defaultTextCodec() const;
|
||||||
void setDefaultTextCodec(QTextCodec *codec);
|
void setDefaultTextCodec(QTextCodec *codec);
|
||||||
|
|
||||||
|
QVariantMap toMap() const;
|
||||||
|
bool fromMap(const QVariantMap &map);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTextCodec *m_defaultTextCodec;
|
QTextCodec *m_defaultTextCodec;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ using namespace ProjectExplorer::Internal;
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
const char * const PROJECT_FILE_POSTFIX(".user");
|
const char * const PROJECT_FILE_POSTFIX(".user");
|
||||||
|
const char * const EDITOR_SETTINGS_KEY("ProjectExplorer.Project.EditorSettings");
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
@@ -211,7 +212,7 @@ void Project::saveSettingsImpl(PersistentSettingsWriter &writer)
|
|||||||
writer.setPrefix(QString::null);
|
writer.setPrefix(QString::null);
|
||||||
writer.saveValue("activeRunConfiguration", activeId);
|
writer.saveValue("activeRunConfiguration", activeId);
|
||||||
|
|
||||||
writer.saveValue("defaultFileEncoding", m_editorConfiguration->defaultTextCodec()->name());
|
writer.saveValue(QLatin1String(EDITOR_SETTINGS_KEY), m_editorConfiguration->toMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||||
@@ -386,13 +387,11 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
|||||||
}
|
}
|
||||||
reader.setPrefix(QString::null);
|
reader.setPrefix(QString::null);
|
||||||
|
|
||||||
QTextCodec *codec = QTextCodec::codecForName(reader.restoreValue("defaultFileEncoding").toByteArray());
|
|
||||||
if (codec)
|
|
||||||
m_editorConfiguration->setDefaultTextCodec(codec);
|
|
||||||
|
|
||||||
if (!m_activeRunConfiguration && !m_runConfigurations.isEmpty())
|
if (!m_activeRunConfiguration && !m_runConfigurations.isEmpty())
|
||||||
setActiveRunConfiguration(m_runConfigurations.at(0));
|
setActiveRunConfiguration(m_runConfigurations.at(0));
|
||||||
return true;
|
|
||||||
|
QVariantMap tmp = reader.restoreValue(QLatin1String(EDITOR_SETTINGS_KEY)).toMap();
|
||||||
|
return m_editorConfiguration->fromMap(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration *Project::activeBuildConfiguration() const
|
BuildConfiguration *Project::activeBuildConfiguration() const
|
||||||
|
|||||||
Reference in New Issue
Block a user