Exemple #1
0
void General::SaveSettings() {
    if (DialogHandle() == NULL) {
        return;
    }

    CLOG(L"Saving: General");
    Settings *settings = Settings::Instance();

    RunOnStartup(_startup->Checked());
    settings->ShowOnStartup(_showStartup->Checked());
    settings->SoundEffectsEnabled(_sounds->Checked());
    settings->AutomaticUpdates(_autoUpdate->Checked());

    settings->CurrentSkin(_skin->Selection());

    std::wstring lang = _language->Selection();
    if (lang != settings->LanguageName()) {
        settings->LanguageName(lang);
        _3RVX::SettingsMessage(_3RVX::MSG_MUSTRESTART, NULL);
    }
}
Exemple #2
0
void General::LoadSettings() {
    Settings *settings = Settings::Instance();
    LanguageTranslator *lt = settings->Translator();
    _startup->Checked(RunOnStartup());
    _showStartup->Checked(settings->ShowOnStartup());
    _sounds->Checked(settings->SoundEffectsEnabled());
    _autoUpdate->Checked(settings->AutomaticUpdates());

    /* Determine which skins are available */
    std::list<std::wstring> skins = FindSkins(Settings::SkinDir().c_str());
    for (std::wstring skin : skins) {
        _skin->AddItem(skin);
    }

    /* Update the combo box with the current skin */
    std::wstring current = settings->CurrentSkin();
    int idx = _skin->Select(current);
    if (idx == CB_ERR) {
        _skin->Select(Settings::DefaultSkin);
    }
    LoadSkinInfo(current);

    /* Populate the language box */
    std::list<std::wstring> languages = FindLanguages(
        settings->LanguagesDir().c_str());
    for (std::wstring language : languages) {
        int ext = language.find(L".xml");
        if (ext == language.npos) {
            continue;
        }

        _language->AddItem(language.substr(0, ext));
    }
    std::wstring currentLang = settings->LanguageName();
    _language->Select(currentLang);
}