From 6b54ffdf0fa634858917db765e510e775328c3ed Mon Sep 17 00:00:00 2001 From: James Crook Date: Fri, 2 Mar 2018 22:13:41 +0000 Subject: [PATCH] Update tools menu on changing available chains. - We recreate the whole menu bar. --- src/BatchProcessDialog.cpp | 11 +++++++++++ src/BatchProcessDialog.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/BatchProcessDialog.cpp b/src/BatchProcessDialog.cpp index fbbacadc6..9d61e3a94 100644 --- a/src/BatchProcessDialog.cpp +++ b/src/BatchProcessDialog.cpp @@ -699,6 +699,14 @@ void EditChainsDialog::AddItem(const wxString &Action, const wxString &Params) mList->SetItem(i, ParamsColumn, Params ); } +void EditChainsDialog::UpdateMenus() +{ +// Mac won't tolerate a menus update during a modal dialog. +#ifndef __WXMAC__ + GetActiveProject()->RebuildMenuBar(); +#endif +} + bool EditChainsDialog::ChangeOK() { if (mChanged) { @@ -879,6 +887,7 @@ void EditChainsDialog::OnAdd(wxCommandEvent & WXUNUSED(event)) mActiveChain = name; PopulateChains(); + UpdateMenus(); break; } @@ -913,6 +922,7 @@ void EditChainsDialog::OnRemove(wxCommandEvent & WXUNUSED(event)) mActiveChain = mChains->GetItemText(item); PopulateChains(); + UpdateMenus(); } /// @@ -926,6 +936,7 @@ void EditChainsDialog::OnRename(wxCommandEvent & WXUNUSED(event)) } mChains->EditLabel(item); + UpdateMenus(); } /// An item in the list has been selected. diff --git a/src/BatchProcessDialog.h b/src/BatchProcessDialog.h index 810824064..44871c242 100644 --- a/src/BatchProcessDialog.h +++ b/src/BatchProcessDialog.h @@ -90,6 +90,7 @@ private: void PopulateList(); void AddItem(const wxString &command, wxString const ¶ms); bool ChangeOK(); + void UpdateMenus(); void OnChainSelected(wxListEvent &event); void OnListSelected(wxListEvent &event);