bool editorSettingsChanged = false;
bool compilerSettingsChanged = false;
bool projectOptionsChanged = false;
+ AVLTree<String> cfgsToWrite = null;
if(editorTab.modifiedDocument)
{
if(editorTab.useFreeCaret.checked != ideSettings.useFreeCaret ||
{
if(strcmp(compilersTab.compilerConfigsDir.path, ideSettings.compilerConfigsDir))
ideSettings.compilerConfigsDir = compilersTab.compilerConfigsDir.path;
- ideSettings.compilerConfigs.Free();
- for(compiler : compilersTab.compilerConfigs)
+ if(compilersTab.compilerConfigs.OnCompare(ideSettings.compilerConfigs))
{
- ideSettings.compilerConfigs.Add(compiler.Copy());
+ cfgsToWrite = compilersTab.compilerConfigs.getWriteRequiredList(ideSettings.compilerConfigs);
+ ideSettings.compilerConfigs.Free();
+ for(compiler : compilersTab.compilerConfigs)
+ {
+ ideSettings.compilerConfigs.Add(compiler.Copy());
+ }
+ compilerSettingsChanged = true;
}
-
- compilerSettingsChanged = true;
}
if(projectOptionsTab.modifiedDocument)
}
}
- settingsContainer.Save();
+ if(editorSettingsChanged || projectOptionsChanged)
+ settingsContainer.Save();
if(compilerSettingsChanged)
+ {
+ ideSettings.compilerConfigs.write(cfgsToWrite);
OnGlobalSettingChange(GlobalSettingsChange::compilerSettings);
+ cfgsToWrite.Free();
+ delete cfgsToWrite;
+ }
if(editorSettingsChanged)
OnGlobalSettingChange(GlobalSettingsChange::editorSettings);
if(projectOptionsChanged)
{
this, text = $"Compiler Configurations:", anchor = { left = 148, top = 38, right = 99 }; size = { 0, 26 };
opacity = 0;
- direction = horizontal, scrollable = true;
+ direction = horizontal;
+ scrollable = true;
+ endButtons = false;
+ hoverScroll = true;
bool OnKeyDown(Key key, unichar ch)
{
CompilerEnvironmentTab environmentTab { this, tabControl = tabControl };
CompilerOptionsTab optionsTab { this, tabControl = tabControl };
- List<CompilerConfig> compilerConfigs { };
+ CompilerConfigs compilerConfigs { };
CompilerConfig activeCompiler;
Label labelCompilers
}
};
+ Button resourcesDotEar
+ {
+ this, text = $"Use resources.ear", position = { 300, 308 };
+ isCheckbox = true;
+
+ bool NotifyClicked(Button button, int x, int y, Modifiers mods)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ if(compiler)
+ {
+ compiler.resourcesDotEar = button.checked;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+
CompilerOptionsTab()
{
Platform p;
linkerFlags.strings = compiler.linkerFlags;
objectFileExt.contents = compiler.objectFileExt;
outputFileExt.contents = compiler.outputFileExt;
+ resourcesDotEar.checked = compiler.resourcesDotEar;
labelTargetPlatform.disabled = disabled;
targetPlatform.disabled = disabled;