diff --git a/obs/forms/OBSWindows.cpp b/obs/forms/OBSWindows.cpp
index 8cb752971..d3f858c2c 100644
--- a/obs/forms/OBSWindows.cpp
+++ b/obs/forms/OBSWindows.cpp
@@ -240,12 +240,15 @@ OBSBasicBase::OBSBasicBase( wxWindow* parent, wxWindowID id, const wxString& tit
this->Connect( fileOpenMenu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileOpenClicked ) );
this->Connect( fileSaveMenu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileSaveClicked ) );
this->Connect( fileExitMenu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileExitClicked ) );
+ scenes->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::scenesClicked ), NULL, this );
scenes->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::scenesRDown ), NULL, this );
this->Connect( ID_SCENE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneAddClicked ) );
this->Connect( ID_SCENE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneRemoveClicked ) );
this->Connect( ID_SCENE_PROPERTIES, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::scenePropertiesClicked ) );
this->Connect( ID_SCENE_MOVEUP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneUpClicked ) );
this->Connect( ID_SCENE_MOVEDOWN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneDownClicked ) );
+ sources->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::sourcesClicked ), NULL, this );
+ sources->Connect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( OBSBasicBase::sourcesToggled ), NULL, this );
sources->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::sourcesRDown ), NULL, this );
this->Connect( ID_SOURCE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceAddClicked ) );
this->Connect( ID_SOURCE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceRemoveClicked ) );
@@ -268,12 +271,15 @@ OBSBasicBase::~OBSBasicBase()
this->Disconnect( IF_FILE_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileOpenClicked ) );
this->Disconnect( IF_FILE_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileSaveClicked ) );
this->Disconnect( ID_FILE_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileExitClicked ) );
+ scenes->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::scenesClicked ), NULL, this );
scenes->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::scenesRDown ), NULL, this );
this->Disconnect( ID_SCENE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneAddClicked ) );
this->Disconnect( ID_SCENE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneRemoveClicked ) );
this->Disconnect( ID_SCENE_PROPERTIES, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::scenePropertiesClicked ) );
this->Disconnect( ID_SCENE_MOVEUP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneUpClicked ) );
this->Disconnect( ID_SCENE_MOVEDOWN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneDownClicked ) );
+ sources->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::sourcesClicked ), NULL, this );
+ sources->Disconnect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( OBSBasicBase::sourcesToggled ), NULL, this );
sources->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::sourcesRDown ), NULL, this );
this->Disconnect( ID_SOURCE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceAddClicked ) );
this->Disconnect( ID_SOURCE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceRemoveClicked ) );
diff --git a/obs/forms/OBSWindows.fbp b/obs/forms/OBSWindows.fbp
index 6eaa3c7fb..b8f706ae7 100644
--- a/obs/forms/OBSWindows.fbp
+++ b/obs/forms/OBSWindows.fbp
@@ -677,7 +677,7 @@
-
+ scenesClicked
@@ -1129,9 +1129,9 @@
wxNO_BORDER
-
+ sourcesClicked
-
+ sourcesToggled
diff --git a/obs/forms/OBSWindows.h b/obs/forms/OBSWindows.h
index 3f254a71f..0fa90e0f5 100644
--- a/obs/forms/OBSWindows.h
+++ b/obs/forms/OBSWindows.h
@@ -139,12 +139,15 @@ class OBSBasicBase : public WindowSubclass
virtual void fileOpenClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void fileSaveClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void fileExitClicked( wxCommandEvent& event ) { event.Skip(); }
+ virtual void scenesClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void scenesRDown( wxMouseEvent& event ) { event.Skip(); }
virtual void sceneAddClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void sceneRemoveClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void scenePropertiesClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void sceneUpClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void sceneDownClicked( wxCommandEvent& event ) { event.Skip(); }
+ virtual void sourcesClicked( wxCommandEvent& event ) { event.Skip(); }
+ virtual void sourcesToggled( wxCommandEvent& event ) { event.Skip(); }
virtual void sourcesRDown( wxMouseEvent& event ) { event.Skip(); }
virtual void sourceAddClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void sourceRemoveClicked( wxCommandEvent& event ) { event.Skip(); }