public CuraManagerSettings LoadSettings()
    {
        CuraManagerSettings result;

        if (!File.Exists(SettingFilePath))
        {
            result = new CuraManagerSettings();
        }
        else
        {
            result = JsonConvert.DeserializeObject <CuraManagerSettings>(File.ReadAllText(SettingFilePath));
        }

        result.ResetChangeTracking();
        return(result);
    }
    public void SaveSettings(CuraManagerSettings settings)
    {
        Directory.CreateDirectory(AppDataPath);
        File.WriteAllText(SettingFilePath, JsonConvert.SerializeObject(settings, Formatting.Indented));
        settings.ResetChangeTracking();

        var transMan = ServiceContext.Instance.GetService <ITranslationManager>();
        var c        = settings.Language.HasValue ? CultureInfo.GetCultureInfo(settings.Language.Value) : null;

        if (transMan.CurrentLanguage.LCID != c?.LCID)
        {
            transMan.CurrentLanguage = c;
        }

        var themeManager = ServiceContext.Instance.GetService <IThemeManager>();

        themeManager.LoadTheme(Theme.FromDefaultTheme(settings.Theme));
    }