diff --git a/src/PluginRegistrationDialog.cpp b/src/PluginRegistrationDialog.cpp index 0bc1125abe26b1b40a68bc2707cc1ac2eb540f88..d0fb57017ed731179ac26f81f10c339a9934cad8 100644 --- a/src/PluginRegistrationDialog.cpp +++ b/src/PluginRegistrationDialog.cpp @@ -12,14 +12,15 @@ #include <numeric> #include <unordered_map> +#include "AudacityMessageBox.h" #include "EffectInterface.h" +#include "HelpSystem.h" #include "IncompatiblePluginsDialog.h" #include "ModuleManager.h" #include "PluginManager.h" #include "PluginStartupRegistration.h" -#include "ShuttleGui.h" -#include "AudacityMessageBox.h" #include "ProgressDialog.h" +#include "ShuttleGui.h" #include <set> #include <wx/setup.h> // for wxUSE_* macros @@ -43,13 +44,15 @@ enum ID_FilterType, ID_FilterCategory, ID_List, - ID_Rescan + ID_Rescan, + ID_GetMoreEffects, }; BEGIN_EVENT_TABLE(PluginRegistrationDialog, wxDialogWrapper) EVT_BUTTON(wxID_OK, PluginRegistrationDialog::OnOK) EVT_BUTTON(wxID_CANCEL, PluginRegistrationDialog::OnCancel) EVT_BUTTON(ID_Rescan, PluginRegistrationDialog::OnRescan) + EVT_BUTTON(ID_GetMoreEffects, PluginRegistrationDialog::OnGetMoreEffects) EVT_CHOICE(ID_FilterState, PluginRegistrationDialog::OnStateFilterValueChanged) EVT_CHOICE(ID_FilterType, PluginRegistrationDialog::OnTypeFilterValueChanged) EVT_CHOICE(ID_FilterCategory, PluginRegistrationDialog::OnCategoryFilterValueChanged) @@ -200,6 +203,9 @@ void PluginRegistrationDialog::PopulateOrExchange(ShuttleGui &S) { S.AddSpace(Margin, 1); S.Id(ID_Rescan).AddButton(XXO("&Rescan")); +#if defined(__WXMSW__) || defined(__WXMAC__) + S.Id(ID_GetMoreEffects).AddButton(XXO("&Get more effects...")); +#endif S.AddSpace(1, 1, 1); S.Id(wxID_OK).AddButton(XXO("&OK")); @@ -222,7 +228,7 @@ void PluginRegistrationDialog::PopulateOrExchange(ShuttleGui &S) sz.SetWidth(wxMin(sz.GetWidth(), r.GetWidth())); sz.SetHeight(wxMin(sz.GetHeight(), r.GetHeight())); SetMinSize(sz); - + mPluginList->GetColumn(PluginDataModel::ColumnName)->SetWidth(200); mPluginList->GetColumn(PluginDataModel::ColumnType)->SetWidth(80); mPluginList->GetColumn(PluginDataModel::ColumnPath)->SetWidth(350); @@ -251,7 +257,7 @@ void PluginRegistrationDialog::OnSearchTextChanged(wxCommandEvent& evt) void PluginRegistrationDialog::OnStateFilterValueChanged(wxCommandEvent& evt) { const auto index = evt.GetInt(); - + mPluginsModel->SetFilterState( index == 2 ? 1 : (index == 1 ? 0 : -1) ); @@ -336,6 +342,11 @@ void PluginRegistrationDialog::OnRescan(wxCommandEvent& WXUNUSED(evt)) }); } +void PluginRegistrationDialog::OnGetMoreEffects(wxCommandEvent& WXUNUSED(evt)) +{ + OpenInDefaultBrowser("https://www.musehub.com"); +} + void PluginRegistrationDialog::OnOK(wxCommandEvent & WXUNUSED(evt)) { auto result = ProgressResult::Success; @@ -369,14 +380,14 @@ void PluginRegistrationDialog::OnOK(wxCommandEvent & WXUNUSED(evt)) auto onError = [](const TranslatableString& error) { AudacityMessageBox(error); }; - + mPluginsModel->ApplyChanges(updateProgress, onError); } if(result == ProgressResult::Success) EndModal(wxID_OK); else ReloadModel(); - + } void PluginRegistrationDialog::OnCancel(wxCommandEvent & WXUNUSED(evt)) diff --git a/src/PluginRegistrationDialog.h b/src/PluginRegistrationDialog.h index 1626f6e0922fcff1f86adda42d24204790f30d64..5fa8d3206cf31fb82d175a133d1a0e983836cb87 100644 --- a/src/PluginRegistrationDialog.h +++ b/src/PluginRegistrationDialog.h @@ -37,6 +37,7 @@ private: void OnOK(wxCommandEvent & evt); void OnCancel(wxCommandEvent & evt); void OnRescan(wxCommandEvent & evt); + void OnGetMoreEffects(wxCommandEvent & evt); wxArrayString mPluginProviderIDs;