View Issue Details

IDProjectCategoryView StatusLast Update
0005927DarkRadiantDesign/Codingpublic01.04.2022 14:25
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version3.0.0 
Target Version3.0.0Fixed in Version3.0.0 
Summary0005927: Save user settings by application version
DescriptionTo prevent newer DarkRadiant versions from overwriting settings of previous builds, each version should save its settings to its own folder. I assume this is pretty much what Blender has been doing for quite some time now.

When new DarkRadiant versions are starting up the first time, they should copy/upgrade the newest existing settings, accessing them in a read-only fashion. From that point on, the active build will write to the folder tied to its specific version only, never touching any other folders.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: master 2b7db900

2022-03-31 14:42:24

greebo

Details Diff
0005927: Introduce auxiliary classes to deal with version-specific settings files. Affected Issues
0005927
add - libs/settings/MajorMinorVersion.h Diff File
add - libs/settings/SettingsManager.h Diff File
mod - test/CMakeLists.txt Diff File
add - test/Settings.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: master b0f6d29b

2022-03-31 15:48:16

greebo

Details Diff
0005927: Implement MajorMinorVersion class, plus unit tests Affected Issues
0005927
mod - libs/settings/MajorMinorVersion.h Diff File
mod - test/Settings.cpp Diff File

DarkRadiant: master c9e2cb2d

2022-04-01 04:17:05

greebo

Details Diff
0005927: Add SettingsManager::getCurrentVersionSettingsFolder() to retrieve the output folder for a specific DR version Affected Issues
0005927
mod - libs/settings/SettingsManager.h Diff File
mod - test/Settings.cpp Diff File

DarkRadiant: master 9190754d

2022-04-01 05:11:13

greebo

Details Diff
0005927: Implement SettingsManager constructor Affected Issues
0005927
mod - libs/settings/SettingsManager.h Diff File
mod - test/Settings.cpp Diff File

DarkRadiant: master df68bd3f

2022-04-01 07:26:25

greebo

Details Diff
0005927: Craft unit test to check SettingsManager file resolution Affected Issues
0005927
mod - libs/settings/SettingsManager.h Diff File
mod - test/Settings.cpp Diff File

DarkRadiant: master 80db958c

2022-04-01 08:47:08

greebo

Details Diff
0005927: Implement SettingsManager::getExistingSettingsFile Affected Issues
0005927
mod - libs/settings/MajorMinorVersion.h Diff File
mod - libs/settings/SettingsManager.h Diff File
mod - test/Settings.cpp Diff File

DarkRadiant: master 0d4cde47

2022-04-01 09:04:00

greebo

Details Diff
0005927: Add missing inclusion guard Affected Issues
0005927
mod - include/version.h Diff File

DarkRadiant: master fcb2d659

2022-04-01 09:14:29

greebo

Details Diff
0005927: Migrate XMLRegistry load/save code to use the SettingsManager helper Affected Issues
0005927
mod - libs/settings/SettingsManager.h Diff File
mod - radiantcore/xmlregistry/XMLRegistry.cpp Diff File
mod - radiantcore/xmlregistry/XMLRegistry.h Diff File

DarkRadiant: master b98a5e89

2022-04-01 14:23:43

greebo

Details Diff
0005927: Migrate LocalisationProvider to use the SettingsManager helper Affected Issues
0005927
mod - radiant/settings/LocalisationProvider.cpp Diff File

DarkRadiant: master 69a04751

2022-04-01 14:23:53

greebo

Details Diff
0005927: Fixup unit tests Affected Issues
0005927
mod - test/ColourSchemes.cpp Diff File
mod - test/Favourites.cpp Diff File
mod - test/Settings.cpp Diff File

Issue History

Date Modified Username Field Change
27.03.2022 13:29 greebo New Issue
27.03.2022 13:29 greebo Status new => confirmed
01.04.2022 06:20 greebo Assigned To => greebo
01.04.2022 06:20 greebo Status confirmed => assigned
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master 2b7db900
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master b0f6d29b
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master c9e2cb2d
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master 9190754d
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master df68bd3f
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master 80db958c
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master 0d4cde47
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master fcb2d659
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master b98a5e89
01.04.2022 14:25 greebo Changeset attached => DarkRadiant master 69a04751
01.04.2022 14:25 greebo Target Version => 3.0.0
01.04.2022 14:25 greebo Status assigned => resolved
01.04.2022 14:25 greebo Resolution open => fixed
01.04.2022 14:25 greebo Fixed in Version => 3.0.0