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