Base: simplify UnitsSchemas management
Fixes: Maintaining schemas is difficult and error-prone - Facilitate easy schemas add, remove, change, etc. - Remove 14 files containing approx 2,190 lines of if/else code and data - Place data in one file (UnitsSchemasData.h) using a normalized structure (including special functions) - Isolate and simplify data operations (code) - Remove schemas enum to keep data independent of code - Separate responsibilities: Specifications, data, schemas, schema - Add schema data 'isDefault' - Add schema data name - Prefer algorithms to raw loops - Add schemas unit tests - Tweak quantity unit tests
This commit is contained in:
@@ -1072,12 +1072,12 @@ void Application::slotActiveDocument(const App::Document& Doc)
|
||||
"User parameter:BaseApp/Preferences/Units");
|
||||
if (!hGrp->GetBool("IgnoreProjectSchema")) {
|
||||
int userSchema = Doc.UnitSystem.getValue();
|
||||
Base::UnitsApi::setSchema(static_cast<Base::UnitSystem>(userSchema));
|
||||
Base::UnitsApi::setSchema(userSchema);
|
||||
getMainWindow()->setUserSchema(userSchema);
|
||||
Application::Instance->onUpdate();
|
||||
}
|
||||
else { // set up Unit system default
|
||||
Base::UnitsApi::setSchema((Base::UnitSystem)hGrp->GetInt("UserSchema", 0));
|
||||
Base::UnitsApi::setSchema(hGrp->GetInt("UserSchema", 0));
|
||||
Base::UnitsApi::setDecimals(hGrp->GetInt("Decimals", Base::UnitsApi::getDecimals()));
|
||||
}
|
||||
signalActiveDocument(*doc->second);
|
||||
|
||||
Reference in New Issue
Block a user