Example #1
0
void General::LoadSettings() {
    Settings *settings = Settings::Instance();
    LanguageTranslator *lt = settings->Translator();
    _startup.Checked(RunOnStartup());
    _notifyIcon.Checked(settings->NotifyIconEnabled());
    _sounds.Checked(settings->SoundEffectsEnabled());

    /* 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) {
        _language.AddItem(language);
    }
    std::wstring currentLang = settings->LanguageName();
    _language.Select(currentLang);
}
Example #2
0
void General::Initialize() {
    INIT_CONTROL(GRP_BEHAVIOR, GroupBox, _behaviorGroup);
    INIT_CONTROL(CHK_STARTUP, Checkbox, _startup);
    INIT_CONTROL(CHK_NOTIFY, Checkbox, _notifyIcon);
    INIT_CONTROL(CHK_SOUNDS, Checkbox, _sounds);

    INIT_CONTROL(GRP_SKIN, GroupBox, _skinGroup);
    INIT_CONTROL(CMB_SKIN, ComboBox, _skin);
    _skin.OnSelectionChange = [this]() {
        LoadSkinInfo(_skin.Selection());
        return true;
    };
    INIT_CONTROL(LBL_AUTHOR, Label, _author);
    INIT_CONTROL(BTN_WEBSITE, Button, _website);
    _website.OnClick = [this]() {
        if (_url != L"") {
            ShellExecute(NULL, L"open", _url.c_str(),
                NULL, NULL, SW_SHOWNORMAL);
        }
        return true;
    };

    INIT_CONTROL(GRP_LANGUAGE, GroupBox, _languageGroup);
    INIT_CONTROL(CMB_LANG, ComboBox, _language);
    _language.OnSelectionChange = [this]() {
        // Handle language selection change 
        return true;
    };
}
Example #3
0
void General::Initialize() {
    _behaviorGroup = new GroupBox(GRP_BEHAVIOR, *this);
    _startup = new Checkbox(CHK_STARTUP, *this);
    _showStartup = new Checkbox(CHK_SHOWSTARTUP, *this);
    _sounds = new Checkbox(CHK_SOUNDS, *this);
    _autoUpdate = new Checkbox(CHK_AUTOUPDATE, *this);
    _checkNow = new Button(BTN_CHECK, *this);
    _checkNow->OnClick = std::bind(&General::CheckForUpdates, this);

    _skinGroup = new GroupBox(GRP_SKIN, *this);
    _skin = new ComboBox(CMB_SKIN, *this);
    _skin->OnSelectionChange = [this]() {
        LoadSkinInfo(_skin->Selection());
        return true;
    };
    _author = new Label(LBL_AUTHOR, *this);
    _website = new Button(BTN_WEBSITE, *this);
    _website->OnClick = [this]() {
        if (_url != L"") {
            ShellExecute(NULL, L"open", _url.c_str(),
                NULL, NULL, SW_SHOWNORMAL);
        }
        return true;
    };

    _languageGroup = new GroupBox(GRP_LANGUAGE, *this);
    _language = new ComboBox(CMB_LANG, *this);
}
Example #4
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);
}