diff --git a/src/toolbars/DeviceToolBar.cpp b/src/toolbars/DeviceToolBar.cpp index ad5a592c7..8c8d66a50 100644 --- a/src/toolbars/DeviceToolBar.cpp +++ b/src/toolbars/DeviceToolBar.cpp @@ -110,20 +110,6 @@ void DeviceToolBar::Populate() Add(mHost, 0, wxALIGN_CENTER); - // Output device - mPlayBitmap = new wxBitmap(theTheme.Bitmap(bmpSpeaker)); - Add(new wxStaticBitmap(this, - wxID_ANY, - *mPlayBitmap), 0, wxALIGN_CENTER); - - mOutput = new wxChoice(this, - wxID_ANY, - wxDefaultPosition, - wxDefaultSize); - /* i18n-hint: (noun) It's the device used for playback.*/ - mOutput->SetName(_("Playback Device")); - Add(mOutput, 0, wxALIGN_CENTER); - // Input device mRecordBitmap = new wxBitmap(theTheme.Bitmap(bmpMic)); @@ -146,6 +132,23 @@ void DeviceToolBar::Populate() mInputChannels->SetName(_("Recording Channels")); Add(mInputChannels, 0, wxALIGN_CENTER); + // Output device + mPlayBitmap = new wxBitmap(theTheme.Bitmap(bmpSpeaker)); + Add(new wxStaticBitmap(this, + wxID_ANY, + *mPlayBitmap), 0, wxALIGN_CENTER); + + mOutput = new wxChoice(this, + wxID_ANY, + wxDefaultPosition, + wxDefaultSize); + /* i18n-hint: (noun) It's the device used for playback.*/ + mOutput->SetName(_("Playback Device")); + Add(mOutput, 0, wxALIGN_CENTER); + + + + mHost->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(DeviceToolBar::OnFocus), NULL, @@ -212,15 +215,15 @@ void DeviceToolBar::OnCaptureKey(wxCommandEvent &event) int keyCode = kevent->GetKeyCode(); // Pass UP/DOWN/LEFT/RIGHT through for input/output choice - if (FindFocus() == mOutput && (keyCode == WXK_LEFT || keyCode == WXK_RIGHT - || keyCode == WXK_UP || keyCode == WXK_DOWN)) { - return; - } if (FindFocus() == mInput && (keyCode == WXK_LEFT || keyCode == WXK_RIGHT || keyCode == WXK_UP || keyCode == WXK_DOWN)) { return; } + if (FindFocus() == mOutput && (keyCode == WXK_LEFT || keyCode == WXK_RIGHT + || keyCode == WXK_UP || keyCode == WXK_DOWN)) { + return; + } event.Skip(); return; diff --git a/src/toolbars/MixerToolBar.cpp b/src/toolbars/MixerToolBar.cpp index 03d3e176c..84615b4f5 100644 --- a/src/toolbars/MixerToolBar.cpp +++ b/src/toolbars/MixerToolBar.cpp @@ -82,18 +82,6 @@ void MixerToolBar::RecreateTipWindows() void MixerToolBar::Populate() { - mPlayBitmap = new wxBitmap(theTheme.Bitmap(bmpSpeaker)); - - Add(new wxStaticBitmap(this, - wxID_ANY, - *mPlayBitmap), 0, wxALIGN_CENTER); - - mOutputSlider = new ASlider(this, wxID_ANY, _("Playback Volume"), - wxDefaultPosition, wxSize(130, 25)); - mOutputSlider->SetScroll(0.1f, 2.0f); - mOutputSlider->SetName(_("Slider Playback")); - Add(mOutputSlider, 0, wxALIGN_CENTER); - mRecordBitmap = new wxBitmap(theTheme.Bitmap(bmpMic)); Add(new wxStaticBitmap(this, @@ -106,15 +94,19 @@ void MixerToolBar::Populate() mInputSlider->SetName(_("Slider Recording")); Add(mInputSlider, 0, wxALIGN_CENTER); + mPlayBitmap = new wxBitmap(theTheme.Bitmap(bmpSpeaker)); + + Add(new wxStaticBitmap(this, + wxID_ANY, + *mPlayBitmap), 0, wxALIGN_CENTER); + + mOutputSlider = new ASlider(this, wxID_ANY, _("Playback Volume"), + wxDefaultPosition, wxSize(130, 25)); + mOutputSlider->SetScroll(0.1f, 2.0f); + mOutputSlider->SetName(_("Slider Playback")); + Add(mOutputSlider, 0, wxALIGN_CENTER); + // this bit taken from SelectionBar::Populate() - mOutputSlider->Connect(wxEVT_SET_FOCUS, - wxFocusEventHandler(MixerToolBar::OnFocus), - NULL, - this); - mOutputSlider->Connect(wxEVT_KILL_FOCUS, - wxFocusEventHandler(MixerToolBar::OnFocus), - NULL, - this); mInputSlider->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(MixerToolBar::OnFocus), NULL, @@ -123,6 +115,14 @@ void MixerToolBar::Populate() wxFocusEventHandler(MixerToolBar::OnFocus), NULL, this); + mOutputSlider->Connect(wxEVT_SET_FOCUS, + wxFocusEventHandler(MixerToolBar::OnFocus), + NULL, + this); + mOutputSlider->Connect(wxEVT_KILL_FOCUS, + wxFocusEventHandler(MixerToolBar::OnFocus), + NULL, + this); // Show or hide the input slider based on whether it works mInputSlider->Enable(gAudioIO->InputMixerWorks()); @@ -154,12 +154,12 @@ void MixerToolBar::OnCaptureKey(wxCommandEvent &event) int keyCode = kevent->GetKeyCode(); // Pass LEFT/RIGHT/UP/DOWN/PAGEUP/PAGEDOWN through for input/output sliders - if (FindFocus() == mOutputSlider && (keyCode == WXK_LEFT || keyCode == WXK_RIGHT + if (FindFocus() == mInputSlider && (keyCode == WXK_LEFT || keyCode == WXK_RIGHT || keyCode == WXK_UP || keyCode == WXK_DOWN || keyCode == WXK_PAGEUP || keyCode == WXK_PAGEDOWN)) { return; } - if (FindFocus() == mInputSlider && (keyCode == WXK_LEFT || keyCode == WXK_RIGHT + if (FindFocus() == mOutputSlider && (keyCode == WXK_LEFT || keyCode == WXK_RIGHT || keyCode == WXK_UP || keyCode == WXK_DOWN || keyCode == WXK_PAGEUP || keyCode == WXK_PAGEDOWN)) { return;