diff options
Diffstat (limited to 'src/plugins/projectexplorer/buildpropertiessettings.cpp')
-rw-r--r-- | src/plugins/projectexplorer/buildpropertiessettings.cpp | 73 |
1 files changed, 21 insertions, 52 deletions
diff --git a/src/plugins/projectexplorer/buildpropertiessettings.cpp b/src/plugins/projectexplorer/buildpropertiessettings.cpp index a9126551e3e..6df8fdd328e 100644 --- a/src/plugins/projectexplorer/buildpropertiessettings.cpp +++ b/src/plugins/projectexplorer/buildpropertiessettings.cpp @@ -16,15 +16,33 @@ namespace ProjectExplorer { const char DEFAULT_BUILD_DIRECTORY_TEMPLATE[] = "../%{JS: Util.asciify(\"build-%{Project:Name}-%{Kit:FileSystemName}-%{BuildConfig:Name}\")}"; -BuildPropertiesSettings::BuildTriStateAspect::BuildTriStateAspect() - : TriStateAspect{Tr::tr("Enable"), Tr::tr("Disable"), Tr::tr("Use Project Default")} +BuildPropertiesSettings::BuildTriStateAspect::BuildTriStateAspect(AspectContainer *container) + : TriStateAspect(container, Tr::tr("Enable"), Tr::tr("Disable"), Tr::tr("Use Project Default")) {} BuildPropertiesSettings::BuildPropertiesSettings() { setAutoApply(false); - registerAspect(&buildDirectoryTemplate); + setId("AB.ProjectExplorer.BuildPropertiesSettingsPage"); + setDisplayName(Tr::tr("Default Build Properties")); + setCategory(ProjectExplorer::Constants::BUILD_AND_RUN_SETTINGS_CATEGORY); + setSettings(this); + + setLayouter([this] { + using namespace Layouting; + + return Column { + Form { + buildDirectoryTemplate, br, + separateDebugInfo, br, + qmlDebugging, br, + qtQuickCompiler + }, + st + }; + }); + buildDirectoryTemplate.setDisplayStyle(StringAspect::LineEditDisplay); buildDirectoryTemplate.setSettingsKey("Directories/BuildDirectory.TemplateV2"); buildDirectoryTemplate.setDefaultValue(DEFAULT_BUILD_DIRECTORY_TEMPLATE); @@ -32,19 +50,12 @@ BuildPropertiesSettings::BuildPropertiesSettings() buildDirectoryTemplate.setUseGlobalMacroExpander(); buildDirectoryTemplate.setUseResetButton(); - registerAspect(&buildDirectoryTemplateOld); // TODO: Remove in ~4.16 - buildDirectoryTemplateOld.setSettingsKey("Directories/BuildDirectory.Template"); - buildDirectoryTemplateOld.setDefaultValue(DEFAULT_BUILD_DIRECTORY_TEMPLATE); - - registerAspect(&separateDebugInfo); separateDebugInfo.setSettingsKey("ProjectExplorer/Settings/SeparateDebugInfo"); separateDebugInfo.setLabelText(Tr::tr("Separate debug info:")); - registerAspect(&qmlDebugging); qmlDebugging.setSettingsKey("ProjectExplorer/Settings/QmlDebugging"); qmlDebugging.setLabelText(Tr::tr("QML debugging:")); - registerAspect(&qtQuickCompiler); qtQuickCompiler.setSettingsKey("ProjectExplorer/Settings/QtQuickCompiler"); qtQuickCompiler.setLabelText(Tr::tr("Use qmlcachegen:")); @@ -54,51 +65,9 @@ BuildPropertiesSettings::BuildPropertiesSettings() &qtQuickCompiler, &BaseAspect::setVisible); } -void BuildPropertiesSettings::readSettings(QSettings *s) -{ - AspectContainer::readSettings(s); - - // TODO: Remove in ~4.16 - QString v = buildDirectoryTemplate.value(); - if (v.isEmpty()) - v = buildDirectoryTemplateOld.value(); - if (v.isEmpty()) - v = DEFAULT_BUILD_DIRECTORY_TEMPLATE; - v.replace("%{CurrentProject:Name}", "%{Project:Name}"); - v.replace("%{CurrentKit:FileSystemName}", "%{Kit:FileSystemName}"); - v.replace("%{CurrentBuild:Name}", "%{BuildConfig:Name}"); - buildDirectoryTemplate.setValue(v); -} - QString BuildPropertiesSettings::defaultBuildDirectoryTemplate() { return QString(DEFAULT_BUILD_DIRECTORY_TEMPLATE); } -namespace Internal { - -BuildPropertiesSettingsPage::BuildPropertiesSettingsPage(BuildPropertiesSettings *settings) -{ - setId("AB.ProjectExplorer.BuildPropertiesSettingsPage"); - setDisplayName(Tr::tr("Default Build Properties")); - setCategory(ProjectExplorer::Constants::BUILD_AND_RUN_SETTINGS_CATEGORY); - setSettings(settings); - - setLayouter([settings](QWidget *widget) { - BuildPropertiesSettings &s = *settings; - using namespace Layouting; - - Column { - Form { - s.buildDirectoryTemplate, - s.separateDebugInfo, - s.qmlDebugging, - s.qtQuickCompiler - }, - st - }.attachTo(widget); - }); -} - -} // Internal } // ProjectExplorer |