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); }
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; }; }
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); }
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); }