diff --git a/obs/settings-basic-general.cpp b/obs/settings-basic-general.cpp index aa6f3a73a..7853d0fd3 100644 --- a/obs/settings-basic-general.cpp +++ b/obs/settings-basic-general.cpp @@ -15,6 +15,8 @@ along with this program. If not, see . ******************************************************************************/ +#include + #include "obs-app.hpp" #include "settings-basic.hpp" #include "window-settings-basic.hpp" @@ -23,11 +25,14 @@ class GeneralSettings : public BasicSettingsData { ConfigFile localeIni; + void LanguageChanged(wxCommandEvent &event); + int AddLanguage(const char *tag); void FillLanguageList(const char *currentLang); public: GeneralSettings(OBSBasicSettings *window); + virtual ~GeneralSettings(); virtual void Apply(); }; @@ -80,6 +85,25 @@ GeneralSettings::GeneralSettings(OBSBasicSettings *window) const char *currentLang = config_get_string(GetGlobalConfig(), "General", "Language"); FillLanguageList(currentLang); + + window->languageList->Connect( + wxEVT_COMBOBOX, + wxCommandEventHandler(GeneralSettings::LanguageChanged), + NULL, + this); +} + +GeneralSettings::~GeneralSettings() +{ + window->languageList->Disconnect( + wxEVT_COMBOBOX, + wxCommandEventHandler(GeneralSettings::LanguageChanged), + NULL, + this); +} + +void GeneralSettings::LanguageChanged(wxCommandEvent &event) +{ } void GeneralSettings::Apply() diff --git a/obs/settings.hpp b/obs/settings.hpp index e623f25a5..5e6e7befa 100644 --- a/obs/settings.hpp +++ b/obs/settings.hpp @@ -17,12 +17,13 @@ #pragma once -class SettingsData { +#include + +class SettingsData : public wxEvtHandler { protected: bool dataChanged; public: - virtual ~SettingsData() {} virtual void Apply()=0; inline bool DataChanged() const {return dataChanged;}