1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-25 16:48:44 +02:00

Bug 1773 - Wave Color not grayed out in TCP dropdown menu when in Spectrogram view

The "Wave Color" option is now not shown in spectrogram mode.
This commit is contained in:
James Crook 2018-01-18 12:19:09 +00:00
parent d38f3752d0
commit f9fb4b3b7d

View File

@ -549,10 +549,11 @@ void RateMenuTable::OnRateOther(wxCommandEvent &)
class WaveTrackMenuTable : public PopupMenuTable class WaveTrackMenuTable : public PopupMenuTable
{ {
public: public:
static WaveTrackMenuTable &Instance(); static WaveTrackMenuTable &Instance( Track * pTrack);
Track * mpTrack;
protected: protected:
WaveTrackMenuTable() : mpData(NULL) {} WaveTrackMenuTable() : mpData(NULL) {mpTrack=NULL;}
void InitMenu(Menu *pMenu, void *pUserData) override; void InitMenu(Menu *pMenu, void *pUserData) override;
@ -578,9 +579,16 @@ protected:
void OnSplitStereoMono(wxCommandEvent & event); void OnSplitStereoMono(wxCommandEvent & event);
}; };
WaveTrackMenuTable &WaveTrackMenuTable::Instance() WaveTrackMenuTable &WaveTrackMenuTable::Instance( Track * pTrack )
{ {
static WaveTrackMenuTable instance; static WaveTrackMenuTable instance;
wxCommandEvent evt;
// Clear it out so we force a repopulate
instance.Invalidate( evt );
// Ensure we know how to poulate.
// Messy, but the design does not seem to offer an alternative.
// We won't use pTrack after populate.
instance.mpTrack = pTrack;
return instance; return instance;
} }
@ -686,8 +694,12 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable)
#ifndef EXPERIMENTAL_DA #ifndef EXPERIMENTAL_DA
POPUP_MENU_ITEM(OnSplitStereoMonoID, _("Split Stereo to Mo&no"), OnSplitStereoMono) POPUP_MENU_ITEM(OnSplitStereoMonoID, _("Split Stereo to Mo&no"), OnSplitStereoMono)
#endif #endif
POPUP_MENU_SEPARATOR()
POPUP_MENU_SUB_MENU(0, _("&Wave Color"), WaveColorMenuTable) WaveTrack *const pTrack = static_cast<WaveTrack*>(mpTrack);
if( pTrack && pTrack->GetDisplay() != WaveTrack::Spectrum ){
POPUP_MENU_SEPARATOR()
POPUP_MENU_SUB_MENU(OnWaveColorID, _("&Wave Color"), WaveColorMenuTable)
}
POPUP_MENU_SEPARATOR() POPUP_MENU_SEPARATOR()
POPUP_MENU_SUB_MENU(0, _("&Format"), FormatMenuTable) POPUP_MENU_SUB_MENU(0, _("&Format"), FormatMenuTable)
@ -1000,7 +1012,9 @@ void WaveTrackMenuTable::OnSplitStereoMono(wxCommandEvent &)
} }
//============================================================================= //=============================================================================
PopupMenuTable *WaveTrackControls::GetMenuExtension(Track *WXUNUSED(pTrack)) PopupMenuTable *WaveTrackControls::GetMenuExtension(Track * pTrack)
{ {
return &WaveTrackMenuTable::Instance();
WaveTrackMenuTable & result = WaveTrackMenuTable::Instance( pTrack );
return &result;
} }