From e844b07a4662a41fa88e0a2589ac8b1fc34fbb14 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Sat, 11 Jun 2016 23:28:01 -0400 Subject: [PATCH] All Toolbars define RegenerateTooltips; invoke during project init... ... and UpdatePrefs --- src/Project.cpp | 2 +- src/toolbars/ControlToolBar.cpp | 10 +++++----- src/toolbars/ControlToolBar.h | 2 +- src/toolbars/DeviceToolBar.h | 2 +- src/toolbars/EditToolBar.h | 4 ++-- src/toolbars/MeterToolBar.h | 2 +- src/toolbars/MixerToolBar.cpp | 2 ++ src/toolbars/MixerToolBar.h | 2 ++ src/toolbars/SelectionBar.cpp | 2 ++ src/toolbars/SelectionBar.h | 1 + src/toolbars/SpectralSelectionBar.cpp | 2 ++ src/toolbars/SpectralSelectionBar.h | 2 ++ src/toolbars/ToolBar.h | 1 + src/toolbars/ToolManager.cpp | 8 ++++++++ src/toolbars/ToolManager.h | 1 + src/toolbars/ToolsToolBar.cpp | 6 +++--- src/toolbars/ToolsToolBar.h | 2 +- src/toolbars/TranscriptionToolBar.h | 2 +- 18 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/Project.cpp b/src/Project.cpp index 5cc178c1e..b87c47050 100644 --- a/src/Project.cpp +++ b/src/Project.cpp @@ -545,7 +545,7 @@ AudacityProject *CreateNewAudacityProject() // Okay, GetActiveProject() is ready. Now we can get its CommandManager, // and add the shortcut keys to the tooltips. - p->GetControlToolBar()->RegenerateToolsTooltips(); + p->GetToolManager()->RegenerateTooltips(); ModuleManager::Get().Dispatch(ProjectInitialized); diff --git a/src/toolbars/ControlToolBar.cpp b/src/toolbars/ControlToolBar.cpp index d2b7bfd9d..4ead8e117 100644 --- a/src/toolbars/ControlToolBar.cpp +++ b/src/toolbars/ControlToolBar.cpp @@ -188,7 +188,7 @@ void ControlToolBar::Populate() mRecord->FollowModifierKeys(); #if wxUSE_TOOLTIPS - RegenerateToolsTooltips(); + RegenerateTooltips(); wxToolTip::Enable(true); wxToolTip::SetDelay(1000); #endif @@ -197,7 +197,7 @@ void ControlToolBar::Populate() ArrangeButtons(); } -void ControlToolBar::RegenerateToolsTooltips() +void ControlToolBar::RegenerateTooltips() { #if wxUSE_TOOLTIPS std::vector commands; @@ -256,14 +256,14 @@ void ControlToolBar::UpdatePrefs() if( updated ) { - ReCreateButtons(); // side effect: calls RegenerateToolsTooltips() + ReCreateButtons(); // side effect: calls RegenerateTooltips() Updated(); } else // The other reason to regenerate tooltips is if keyboard shortcuts for // transport buttons changed, but that's too much work to check for, so just // always do it. (Much cheaper than calling ReCreateButtons() in all cases. - RegenerateToolsTooltips(); + RegenerateTooltips(); // Set label to pull in language change @@ -377,7 +377,7 @@ void ControlToolBar::ReCreateButtons() EnableDisableButtons(); - RegenerateToolsTooltips(); + RegenerateTooltips(); } void ControlToolBar::Repaint( wxDC *dc ) diff --git a/src/toolbars/ControlToolBar.h b/src/toolbars/ControlToolBar.h index 29fc21893..9171dfcef 100644 --- a/src/toolbars/ControlToolBar.h +++ b/src/toolbars/ControlToolBar.h @@ -101,7 +101,7 @@ class ControlToolBar final : public ToolBar { void EnableDisableButtons() override; void ReCreateButtons() override; - void RegenerateToolsTooltips(); + void RegenerateTooltips() override; int WidthForStatusBar(wxStatusBar* const); void UpdateStatusBar(AudacityProject *pProject); diff --git a/src/toolbars/DeviceToolBar.h b/src/toolbars/DeviceToolBar.h index 261d3ccb6..c1a114119 100644 --- a/src/toolbars/DeviceToolBar.h +++ b/src/toolbars/DeviceToolBar.h @@ -63,7 +63,7 @@ class DeviceToolBar final : public ToolBar { void SetDevices(const DeviceSourceMap *in, const DeviceSourceMap *out); void RepositionCombos(); void SetNames(); - void RegenerateTooltips(); + void RegenerateTooltips() override; void ShowComboDialog(wxChoice *combo, const wxString &title); diff --git a/src/toolbars/EditToolBar.h b/src/toolbars/EditToolBar.h index 7f3496b51..aedf2a1bd 100644 --- a/src/toolbars/EditToolBar.h +++ b/src/toolbars/EditToolBar.h @@ -83,7 +83,7 @@ class EditToolBar final : public ToolBar { void MakeButtons(); - void RegenerateTooltips(); + void RegenerateTooltips() override; AButton *mButtons[ETBNumButtons]; @@ -136,7 +136,7 @@ public: void EnableDisableButtons(); void UpdatePrefs(); - void RegenerateTooltips(); + void RegenerateTooltips() override; private: diff --git a/src/toolbars/MeterToolBar.h b/src/toolbars/MeterToolBar.h index 6b5dac7f5..e6af911aa 100644 --- a/src/toolbars/MeterToolBar.h +++ b/src/toolbars/MeterToolBar.h @@ -53,7 +53,7 @@ class MeterToolBar final : public ToolBar { wxSize GetDockedSize(); private: - void RegenerateTooltips(); + void RegenerateTooltips() override; AudacityProject *mProject; int mWhichMeters; diff --git a/src/toolbars/MixerToolBar.cpp b/src/toolbars/MixerToolBar.cpp index 172d1c6af..43a5c0644 100644 --- a/src/toolbars/MixerToolBar.cpp +++ b/src/toolbars/MixerToolBar.cpp @@ -196,6 +196,8 @@ void MixerToolBar::UpdatePrefs() // Set label to pull in language change SetLabel(_("Mixer")); + RegenerateTooltips(); + // Give base class a chance ToolBar::UpdatePrefs(); } diff --git a/src/toolbars/MixerToolBar.h b/src/toolbars/MixerToolBar.h index cc94c67df..3ef6ed155 100644 --- a/src/toolbars/MixerToolBar.h +++ b/src/toolbars/MixerToolBar.h @@ -49,6 +49,8 @@ class MixerToolBar final : public ToolBar { void AdjustOutputGain(int adj); void AdjustInputGain(int adj); + void RegenerateTooltips() override {}; + protected: float mInputSliderVolume; float mOutputSliderVolume; diff --git a/src/toolbars/SelectionBar.cpp b/src/toolbars/SelectionBar.cpp index ce665490c..0eaa66344 100644 --- a/src/toolbars/SelectionBar.cpp +++ b/src/toolbars/SelectionBar.cpp @@ -296,6 +296,8 @@ void SelectionBar::UpdatePrefs() // Set label to pull in language change SetLabel(_("Selection")); + RegenerateTooltips(); + // Give base class a chance ToolBar::UpdatePrefs(); } diff --git a/src/toolbars/SelectionBar.h b/src/toolbars/SelectionBar.h index fe3f19e2e..4756e282d 100644 --- a/src/toolbars/SelectionBar.h +++ b/src/toolbars/SelectionBar.h @@ -49,6 +49,7 @@ class SelectionBar final : public ToolBar { void SetSelectionFormat(const wxString & format); void SetRate(double rate); void SetListener(SelectionBarListener *l); + void RegenerateTooltips() override {}; private: diff --git a/src/toolbars/SpectralSelectionBar.cpp b/src/toolbars/SpectralSelectionBar.cpp index 7dc674892..bef455779 100644 --- a/src/toolbars/SpectralSelectionBar.cpp +++ b/src/toolbars/SpectralSelectionBar.cpp @@ -209,6 +209,8 @@ void SpectralSelectionBar::UpdatePrefs() // Set label to pull in language change SetLabel(_("Spectral Selection")); + RegenerateTooltips(); + // Give base class a chance ToolBar::UpdatePrefs(); } diff --git a/src/toolbars/SpectralSelectionBar.h b/src/toolbars/SpectralSelectionBar.h index 75581f98f..54ad0bc32 100644 --- a/src/toolbars/SpectralSelectionBar.h +++ b/src/toolbars/SpectralSelectionBar.h @@ -46,6 +46,8 @@ public: void SetBandwidthSelectionFormatName(const wxString & formatName); void SetListener(SpectralSelectionBarListener *l); + void RegenerateTooltips() override {}; + private: void ValuesToControls(); diff --git a/src/toolbars/ToolBar.h b/src/toolbars/ToolBar.h index 2392bc675..8b7f0b3a9 100644 --- a/src/toolbars/ToolBar.h +++ b/src/toolbars/ToolBar.h @@ -99,6 +99,7 @@ class ToolBar /* not final */ : public wxPanel virtual void EnableDisableButtons() = 0; virtual void ReCreateButtons(); virtual void UpdatePrefs(); + virtual void RegenerateTooltips() = 0; int GetType(); wxString GetTitle(); diff --git a/src/toolbars/ToolManager.cpp b/src/toolbars/ToolManager.cpp index afdaafb69..4366b21d6 100644 --- a/src/toolbars/ToolManager.cpp +++ b/src/toolbars/ToolManager.cpp @@ -598,6 +598,14 @@ void ToolManager::Reset() Updated(); } +void ToolManager::RegenerateTooltips() +{ + for (auto bar : mBars) { + if (bar) + bar->RegenerateTooltips(); + } +} + // // Read the toolbar states // diff --git a/src/toolbars/ToolManager.h b/src/toolbars/ToolManager.h index 9c3050c12..40174fedd 100644 --- a/src/toolbars/ToolManager.h +++ b/src/toolbars/ToolManager.h @@ -65,6 +65,7 @@ class ToolManager final : public wxEvtHandler ToolDock *GetBotDock(); void Reset(); + void RegenerateTooltips(); private: diff --git a/src/toolbars/ToolsToolBar.cpp b/src/toolbars/ToolsToolBar.cpp index 20f0f3d03..bd74bb5e4 100644 --- a/src/toolbars/ToolsToolBar.cpp +++ b/src/toolbars/ToolsToolBar.cpp @@ -111,7 +111,7 @@ ToolsToolBar::~ToolsToolBar() { } -void ToolsToolBar::RegenerateToolsTooltips() +void ToolsToolBar::RegenerateTooltips() { // JKC: @@ -150,7 +150,7 @@ void ToolsToolBar::RegenerateToolsTooltips() void ToolsToolBar::UpdatePrefs() { - RegenerateToolsTooltips(); + RegenerateTooltips(); } AButton * ToolsToolBar::MakeTool( teBmps eTool, @@ -183,7 +183,7 @@ void ToolsToolBar::Populate() mTool[mCurrentTool]->PushDown(); - RegenerateToolsTooltips(); + RegenerateTooltips(); } /// Gets the currently active tool diff --git a/src/toolbars/ToolsToolBar.h b/src/toolbars/ToolsToolBar.h index 4cc7937e9..0e76696c9 100644 --- a/src/toolbars/ToolsToolBar.h +++ b/src/toolbars/ToolsToolBar.h @@ -70,7 +70,7 @@ class ToolsToolBar final : public ToolBar { private: - void RegenerateToolsTooltips(); + void RegenerateTooltips() override; wxImage *MakeToolImage(wxImage *tool, wxImage *mask, int style); AButton *MakeTool(teBmps eTool, int id, const wxChar *label); diff --git a/src/toolbars/TranscriptionToolBar.h b/src/toolbars/TranscriptionToolBar.h index 734b37cce..28b7810d9 100644 --- a/src/toolbars/TranscriptionToolBar.h +++ b/src/toolbars/TranscriptionToolBar.h @@ -131,7 +131,7 @@ class TranscriptionToolBar final : public ToolBar { int id, unsigned altIdx); void GetSamples(WaveTrack *t, sampleCount *s0, sampleCount *slen); void SetButton(bool newstate, AButton *button); - void RegenerateTooltips(); + void RegenerateTooltips() override; AButton *mButtons[TTBNumButtons]; wxImage *upImage;