aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/settingspage.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@theqtcompany.com>2016-01-13 14:48:40 +0100
committerThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-01-21 09:48:45 +0000
commitff3ccba7c10c15ea2a92781b27686e13a262fa54 (patch)
tree9fe553deac802c55572a5ac02621562acc1b6181 /src/plugins/qmldesigner/settingspage.cpp
parent85290a9313bb7a116d971d2dcbcfc352c866496e (diff)
QmlDesigner: improve settings for easy adding new values
- move settings keys constants to the settings file - transform settings to a QHash Change-Id: I1d41476421ce569cea3a4bd1c956d3bc0c6643f4 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmldesigner/settingspage.cpp')
-rw-r--r--src/plugins/qmldesigner/settingspage.cpp109
1 files changed, 69 insertions, 40 deletions
diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp
index d0df988c28..2a0dd5f65c 100644
--- a/src/plugins/qmldesigner/settingspage.cpp
+++ b/src/plugins/qmldesigner/settingspage.cpp
@@ -57,57 +57,82 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) :
DesignerSettings SettingsPageWidget::settings() const
{
- DesignerSettings designerSettings;
- designerSettings.itemSpacing = m_ui.spinItemSpacing->value();
- designerSettings.containerPadding = m_ui.spinSnapMargin->value();
- designerSettings.canvasWidth = m_ui.spinCanvasWidth->value();
- designerSettings.canvasHeight = m_ui.spinCanvasHeight->value();
- designerSettings.warningsInDesigner = m_ui.designerWarningsCheckBox->isChecked();
- designerSettings.designerWarningsInEditor = m_ui.designerWarningsInEditorCheckBox->isChecked();
- designerSettings.showDebugView = m_ui.designerShowDebuggerCheckBox->isChecked();
- designerSettings.enableDebugView = m_ui.designerEnableDebuggerCheckBox->isChecked();
- designerSettings.useOnlyFallbackPuppet = m_ui.useDefaultPuppetRadioButton->isChecked();
- designerSettings.useQsTrFunction = m_ui.useQsTrFunctionRadioButton->isChecked();
- designerSettings.controlsStyle = m_ui.styleLineEdit->text();
+ DesignerSettings settings = QmlDesignerPlugin::instance()->settings();
+ settings.insert(DesignerSettingsKey::ITEMSPACING, m_ui.spinItemSpacing->value());
+ settings.insert(DesignerSettingsKey::CONTAINERPADDING, m_ui.spinSnapMargin->value());
+ settings.insert(DesignerSettingsKey::CANVASWIDTH, m_ui.spinCanvasWidth->value());
+ settings.insert(DesignerSettingsKey::CANVASHEIGHT, m_ui.spinCanvasHeight->value());
+ settings.insert(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER,
+ m_ui.designerWarningsCheckBox->isChecked());
+ settings.insert(DesignerSettingsKey::WARNING_FOR_DESIGNER_FEATURES_IN_EDITOR,
+ m_ui.designerWarningsInEditorCheckBox->isChecked());
+ settings.insert(DesignerSettingsKey::SHOW_DEBUGVIEW,
+ m_ui.designerShowDebuggerCheckBox->isChecked());
+ settings.insert(DesignerSettingsKey::ENABLE_DEBUGVIEW,
+ m_ui.designerEnableDebuggerCheckBox->isChecked());
+ settings.insert(DesignerSettingsKey::USE_ONLY_FALLBACK_PUPPET,
+ m_ui.useDefaultPuppetRadioButton->isChecked());
+ settings.insert(DesignerSettingsKey::USE_QSTR_FUNCTION,
+ m_ui.useQsTrFunctionRadioButton->isChecked());
+ settings.insert(DesignerSettingsKey::CONTROLS_STYLE, m_ui.styleLineEdit->text());
if (!m_ui.fallbackPuppetPathLineEdit->path().isEmpty() &&
m_ui.fallbackPuppetPathLineEdit->path() != PuppetCreator::defaultPuppetFallbackDirectory()) {
- designerSettings.puppetFallbackDirectory = m_ui.fallbackPuppetPathLineEdit->path();
+ settings.insert(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY,
+ m_ui.fallbackPuppetPathLineEdit->path());
}
if (!m_ui.puppetBuildPathLineEdit->path().isEmpty() &&
m_ui.puppetBuildPathLineEdit->path() != PuppetCreator::defaultPuppetToplevelBuildDirectory()) {
- designerSettings.puppetToplevelBuildDirectory = m_ui.puppetBuildPathLineEdit->path();
+ settings.insert(DesignerSettingsKey::PUPPET_TOPLEVEL_BUILD_DIRECTORY,
+ m_ui.puppetBuildPathLineEdit->path());
}
- return designerSettings;
+ return settings;
}
-void SettingsPageWidget::setSettings(const DesignerSettings &designerSettings)
+void SettingsPageWidget::setSettings(const DesignerSettings &settings)
{
- m_ui.spinItemSpacing->setValue(designerSettings.itemSpacing);
- m_ui.spinSnapMargin->setValue(designerSettings.containerPadding);
- m_ui.spinCanvasWidth->setValue(designerSettings.canvasWidth);
- m_ui.spinCanvasHeight->setValue(designerSettings.canvasHeight);
- m_ui.designerWarningsCheckBox->setChecked(designerSettings.warningsInDesigner);
- m_ui.designerWarningsInEditorCheckBox->setChecked(designerSettings.designerWarningsInEditor);
- m_ui.designerShowDebuggerCheckBox->setChecked(designerSettings.showDebugView);
- m_ui.designerEnableDebuggerCheckBox->setChecked(designerSettings.enableDebugView);
- m_ui.useDefaultPuppetRadioButton->setChecked(designerSettings.useOnlyFallbackPuppet);
- m_ui.useQtRelatedPuppetRadioButton->setChecked(!designerSettings.useOnlyFallbackPuppet);
- m_ui.useQsTrFunctionRadioButton->setChecked(designerSettings.useQsTrFunction);
- m_ui.useQsTrIdFunctionRadioButton->setChecked(!designerSettings.useQsTrFunction);
- m_ui.styleLineEdit->setText(designerSettings.controlsStyle);
-
- if (designerSettings.puppetFallbackDirectory.isEmpty())
+ m_ui.spinItemSpacing->setValue(settings.value(
+ DesignerSettingsKey::ITEMSPACING).toInt());
+ m_ui.spinSnapMargin->setValue(settings.value(
+ DesignerSettingsKey::CONTAINERPADDING).toInt());
+ m_ui.spinCanvasWidth->setValue(settings.value(
+ DesignerSettingsKey::CANVASWIDTH).toInt());
+ m_ui.spinCanvasHeight->setValue(settings.value(
+ DesignerSettingsKey::CANVASHEIGHT).toInt());
+ m_ui.designerWarningsCheckBox->setChecked(settings.value(
+ DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER).toBool());
+ m_ui.designerWarningsInEditorCheckBox->setChecked(settings.value(
+ DesignerSettingsKey::WARNING_FOR_DESIGNER_FEATURES_IN_EDITOR).toBool());
+ m_ui.designerShowDebuggerCheckBox->setChecked(settings.value(
+ DesignerSettingsKey::SHOW_DEBUGVIEW).toBool());
+ m_ui.designerEnableDebuggerCheckBox->setChecked(settings.value(
+ DesignerSettingsKey::ENABLE_DEBUGVIEW).toBool());
+ m_ui.useDefaultPuppetRadioButton->setChecked(settings.value(
+ DesignerSettingsKey::USE_ONLY_FALLBACK_PUPPET).toBool());
+ m_ui.useQtRelatedPuppetRadioButton->setChecked(!settings.value(
+ DesignerSettingsKey::USE_ONLY_FALLBACK_PUPPET).toBool());
+ m_ui.useQsTrFunctionRadioButton->setChecked(settings.value(
+ DesignerSettingsKey::USE_QSTR_FUNCTION).toBool());
+ m_ui.useQsTrIdFunctionRadioButton->setChecked(!settings.value(
+ DesignerSettingsKey::USE_QSTR_FUNCTION).toBool());
+ m_ui.styleLineEdit->setText(settings.value(
+ DesignerSettingsKey::CONTROLS_STYLE).toString());
+
+ QString puppetFallbackDirectory = settings.value(
+ DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY).toString();
+ if (puppetFallbackDirectory.isEmpty())
resetFallbackPuppetPath();
else
- m_ui.fallbackPuppetPathLineEdit->setPath(designerSettings.puppetFallbackDirectory);
+ m_ui.fallbackPuppetPathLineEdit->setPath(puppetFallbackDirectory);
- if (designerSettings.puppetToplevelBuildDirectory.isEmpty())
+ QString puppetToplevelBuildDirectory = settings.value(
+ DesignerSettingsKey::PUPPET_TOPLEVEL_BUILD_DIRECTORY).toString();
+ if (puppetToplevelBuildDirectory.isEmpty())
resetQmlPuppetBuildPath();
else
- m_ui.puppetBuildPathLineEdit->setPath(designerSettings.puppetToplevelBuildDirectory);
+ m_ui.puppetBuildPathLineEdit->setPath(puppetToplevelBuildDirectory);
}
void SettingsPageWidget::resetFallbackPuppetPath()
@@ -156,16 +181,20 @@ void SettingsPage::apply()
if (!m_widget) // page was never shown
return;
- DesignerSettings currentDesignerSettings(QmlDesignerPlugin::instance()->settings());
- DesignerSettings newDesignerSettings(m_widget->settings());
+ DesignerSettings currentSettings(QmlDesignerPlugin::instance()->settings());
+ DesignerSettings newSettings(m_widget->settings());
+
+ if (currentSettings.value(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY) !=
+ newSettings.value(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY) ||
+ currentSettings.value(DesignerSettingsKey::PUPPET_TOPLEVEL_BUILD_DIRECTORY) !=
+ newSettings.value(DesignerSettingsKey::PUPPET_TOPLEVEL_BUILD_DIRECTORY)) {
- if (currentDesignerSettings.puppetFallbackDirectory != newDesignerSettings.puppetFallbackDirectory ||
- currentDesignerSettings.puppetToplevelBuildDirectory != newDesignerSettings.puppetToplevelBuildDirectory) {
QMessageBox::information(Core::ICore::mainWindow(), tr("Restart Required"),
- tr("The QML emulation layer path changes will take effect after a restart of the QML Emulation layer or Qt Creator."));
+ tr("The QML emulation layer path changes will take effect after a "
+ "restart of the QML Emulation layer or Qt Creator."));
}
- QmlDesignerPlugin::instance()->setSettings(newDesignerSettings);
+ QmlDesignerPlugin::instance()->setSettings(newSettings);
}
void SettingsPage::finish()