public TrackObject(IFileAcManager manager, string id, bool enabled)
: base(manager, id, enabled) {
InitializeLocationsOnce();
try {
var information = GetLayouts();
if (information != null) {
_layoutLocation = information.MainLayout;
InitializeLocationsInner(_layoutLocation);
LayoutId = information.SimpleMainLayout ? null : Path.GetFileName(_layoutLocation);
IdWithLayout = information.SimpleMainLayout ? Id : $@"{Id}/{LayoutId}";
MultiLayouts = new BetterObservableCollection<TrackObjectBase>(
information.AdditionalLayouts.Select(x => {
var c = new TrackExtraLayoutObject(manager, this, enabled, x);
c.PropertyChanged += Configuration_PropertyChanged;
return c;
}).Prepend((TrackObjectBase)this));
return;
}
} catch (AcErrorException e) {
AddError(e.AcError);
}
InitializeLocationsInner(Path.Combine(Location, "ui"));
_layoutLocation = null;
LayoutId = null;
IdWithLayout = Id;
MultiLayouts = null;
}