forked from qt-creator/qt-creator
LanguageClient: make current settings accessible
Change-Id: Ie56272067a56475b1a61006432dc1fbee4192c9c Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -126,6 +126,8 @@ public:
|
|||||||
void apply() override;
|
void apply() override;
|
||||||
void finish() override;
|
void finish() override;
|
||||||
|
|
||||||
|
QList<StdIOSettings *> settings() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
LanguageClientSettingsModel m_model;
|
LanguageClientSettingsModel m_model;
|
||||||
QList<StdIOSettings *> m_settings; // owned
|
QList<StdIOSettings *> m_settings; // owned
|
||||||
@@ -290,6 +292,11 @@ void LanguageClientSettingsPage::finish()
|
|||||||
m_model.reset(m_settings);
|
m_model.reset(m_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QList<StdIOSettings *> LanguageClientSettingsPage::settings() const
|
||||||
|
{
|
||||||
|
return m_settings;
|
||||||
|
}
|
||||||
|
|
||||||
LanguageClientSettingsModel::~LanguageClientSettingsModel()
|
LanguageClientSettingsModel::~LanguageClientSettingsModel()
|
||||||
{
|
{
|
||||||
qDeleteAll(m_settings);
|
qDeleteAll(m_settings);
|
||||||
@@ -428,8 +435,7 @@ void BaseSettings::fromMap(const QVariantMap &map)
|
|||||||
|
|
||||||
void LanguageClientSettings::init()
|
void LanguageClientSettings::init()
|
||||||
{
|
{
|
||||||
static LanguageClientSettingsPage settingsPage;
|
settingsPage().init();
|
||||||
settingsPage.init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<StdIOSettings *> LanguageClientSettings::fromSettings(QSettings *settingsIn)
|
QList<StdIOSettings *> LanguageClientSettings::fromSettings(QSettings *settingsIn)
|
||||||
@@ -445,6 +451,11 @@ QList<StdIOSettings *> LanguageClientSettings::fromSettings(QSettings *settingsI
|
|||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QList<StdIOSettings *> LanguageClientSettings::currentSettings()
|
||||||
|
{
|
||||||
|
return settingsPage().settings();
|
||||||
|
}
|
||||||
|
|
||||||
void LanguageClientSettings::toSettings(QSettings *settings, const QList<StdIOSettings *> &languageClientSettings)
|
void LanguageClientSettings::toSettings(QSettings *settings, const QList<StdIOSettings *> &languageClientSettings)
|
||||||
{
|
{
|
||||||
settings->beginGroup(settingsGroupKey);
|
settings->beginGroup(settingsGroupKey);
|
||||||
@@ -455,6 +466,12 @@ void LanguageClientSettings::toSettings(QSettings *settings, const QList<StdIOSe
|
|||||||
settings->endGroup();
|
settings->endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LanguageClientSettingsPage &LanguageClientSettings::settingsPage()
|
||||||
|
{
|
||||||
|
static LanguageClientSettingsPage settingsPage;
|
||||||
|
return settingsPage;
|
||||||
|
}
|
||||||
|
|
||||||
void StdIOSettings::applyFromSettingsWidget(QWidget *widget)
|
void StdIOSettings::applyFromSettingsWidget(QWidget *widget)
|
||||||
{
|
{
|
||||||
if (auto settingsWidget = qobject_cast<StdIOSettingsWidget *>(widget)) {
|
if (auto settingsWidget = qobject_cast<StdIOSettingsWidget *>(widget)) {
|
||||||
|
|||||||
@@ -120,12 +120,18 @@ protected:
|
|||||||
StdIOSettings &operator=(StdIOSettings &&other) = default;
|
StdIOSettings &operator=(StdIOSettings &&other) = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class LanguageClientSettingsPage;
|
||||||
|
|
||||||
class LanguageClientSettings
|
class LanguageClientSettings
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static void init();
|
static void init();
|
||||||
static QList<StdIOSettings *> fromSettings(QSettings *settings);
|
static QList<StdIOSettings *> fromSettings(QSettings *settings);
|
||||||
|
static QList<StdIOSettings *> currentSettings();
|
||||||
static void toSettings(QSettings *settings, const QList<StdIOSettings *> &languageClientSettings);
|
static void toSettings(QSettings *settings, const QList<StdIOSettings *> &languageClientSettings);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static LanguageClientSettingsPage &settingsPage();
|
||||||
};
|
};
|
||||||
|
|
||||||
class BaseSettingsWidget : public QWidget
|
class BaseSettingsWidget : public QWidget
|
||||||
|
|||||||
Reference in New Issue
Block a user