mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-05 16:43:52 +01:00
AUP3: Fix a couple of accessibility issues in the History Dialog
This commit is contained in:
@@ -57,6 +57,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(HistoryDialog, wxDialogWrapper)
|
BEGIN_EVENT_TABLE(HistoryDialog, wxDialogWrapper)
|
||||||
|
EVT_SHOW(HistoryDialog::OnShow)
|
||||||
EVT_SIZE(HistoryDialog::OnSize)
|
EVT_SIZE(HistoryDialog::OnSize)
|
||||||
EVT_CLOSE(HistoryDialog::OnCloseWindow)
|
EVT_CLOSE(HistoryDialog::OnCloseWindow)
|
||||||
EVT_LIST_ITEM_SELECTED(wxID_ANY, HistoryDialog::OnItemSelected)
|
EVT_LIST_ITEM_SELECTED(wxID_ANY, HistoryDialog::OnItemSelected)
|
||||||
@@ -93,6 +94,7 @@ HistoryDialog::HistoryDialog(AudacityProject *parent, UndoManager *manager):
|
|||||||
{
|
{
|
||||||
mList = S
|
mList = S
|
||||||
.MinSize()
|
.MinSize()
|
||||||
|
.ConnectRoot(wxEVT_KEY_DOWN, &HistoryDialog::OnListKeyDown)
|
||||||
.AddListControlReportMode(
|
.AddListControlReportMode(
|
||||||
{ { XO("Action"), wxLIST_FORMAT_LEFT, 260 },
|
{ { XO("Action"), wxLIST_FORMAT_LEFT, 260 },
|
||||||
{ XO("Used Space"), wxLIST_FORMAT_LEFT, 125 } },
|
{ XO("Used Space"), wxLIST_FORMAT_LEFT, 125 } },
|
||||||
@@ -105,15 +107,13 @@ HistoryDialog::HistoryDialog(AudacityProject *parent, UndoManager *manager):
|
|||||||
|
|
||||||
S.StartMultiColumn(3, wxCENTRE);
|
S.StartMultiColumn(3, wxCENTRE);
|
||||||
{
|
{
|
||||||
mTotal = S.Id(ID_TOTAL)
|
S.AddPrompt(XXO("&Total space used"));
|
||||||
.ConnectRoot(wxEVT_KEY_DOWN, &HistoryDialog::OnChar)
|
mTotal = S.Id(ID_TOTAL).Style(wxTE_READONLY).AddTextBox({}, wxT(""), 10);
|
||||||
.AddTextBox(XXO("&Total space used"), wxT("0"), 10);
|
|
||||||
S.AddVariableText( {} )->Hide();
|
S.AddVariableText( {} )->Hide();
|
||||||
|
|
||||||
#if defined(ALLOW_DISCARD)
|
#if defined(ALLOW_DISCARD)
|
||||||
mAvail = S.Id(ID_AVAIL)
|
S.AddPrompt(XXO("&Undo levels available"));
|
||||||
.ConnectRoot(wxEVT_KEY_DOWN, &HistoryDialog::OnChar)
|
mAvail = S.Id(ID_AVAIL).Style(wxTE_READONLY).AddTextBox({}, wxT(""), 10);
|
||||||
.AddTextBox(XXO("&Undo levels available"), wxT("0"), 10);
|
|
||||||
S.AddVariableText( {} )->Hide();
|
S.AddVariableText( {} )->Hide();
|
||||||
|
|
||||||
S.AddPrompt(XXO("&Levels to discard"));
|
S.AddPrompt(XXO("&Levels to discard"));
|
||||||
@@ -130,9 +130,8 @@ HistoryDialog::HistoryDialog(AudacityProject *parent, UndoManager *manager):
|
|||||||
/* i18n-hint: (verb)*/
|
/* i18n-hint: (verb)*/
|
||||||
mDiscard = S.Id(ID_DISCARD).AddButton(XXO("&Discard"));
|
mDiscard = S.Id(ID_DISCARD).AddButton(XXO("&Discard"));
|
||||||
#endif
|
#endif
|
||||||
mClipboard = S
|
S.AddPrompt(XXO("Clip&board space used"));
|
||||||
.ConnectRoot(wxEVT_KEY_DOWN, &HistoryDialog::OnChar)
|
mClipboard = S.Style(wxTE_READONLY).AddTextBox({}, wxT(""), 10);
|
||||||
.AddTextBox(XXO("Clip&board space used"), wxT("0"), 10);
|
|
||||||
|
|
||||||
#if defined(ALLOW_DISCARD)
|
#if defined(ALLOW_DISCARD)
|
||||||
S.Id(ID_DISCARD_CLIPBOARD).AddButton(XXO("D&iscard"));
|
S.Id(ID_DISCARD_CLIPBOARD).AddButton(XXO("D&iscard"));
|
||||||
@@ -172,11 +171,6 @@ HistoryDialog::HistoryDialog(AudacityProject *parent, UndoManager *manager):
|
|||||||
parent->Bind(EVT_UNDO_RESET, &HistoryDialog::UpdateDisplay, this);
|
parent->Bind(EVT_UNDO_RESET, &HistoryDialog::UpdateDisplay, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryDialog::OnChar( wxEvent& )
|
|
||||||
{
|
|
||||||
// ignore it
|
|
||||||
}
|
|
||||||
|
|
||||||
void HistoryDialog::OnAudioIO(wxCommandEvent& evt)
|
void HistoryDialog::OnAudioIO(wxCommandEvent& evt)
|
||||||
{
|
{
|
||||||
evt.Skip();
|
evt.Skip();
|
||||||
@@ -346,9 +340,33 @@ void HistoryDialog::OnItemSelected(wxListEvent &event)
|
|||||||
UpdateLevels();
|
UpdateLevels();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HistoryDialog::OnListKeyDown(wxKeyEvent & event)
|
||||||
|
{
|
||||||
|
switch (event.GetKeyCode())
|
||||||
|
{
|
||||||
|
case WXK_RETURN:
|
||||||
|
// Don't know why wxListCtrls prevent default dialog action,
|
||||||
|
// but they do, so handle it.
|
||||||
|
EmulateButtonClickIfPresent(GetAffirmativeId());
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
event.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void HistoryDialog::OnCloseWindow(wxCloseEvent & WXUNUSED(event))
|
void HistoryDialog::OnCloseWindow(wxCloseEvent & WXUNUSED(event))
|
||||||
{
|
{
|
||||||
this->Show(false);
|
this->Show(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistoryDialog::OnShow(wxShowEvent & event)
|
||||||
|
{
|
||||||
|
if (event.IsShown())
|
||||||
|
{
|
||||||
|
mList->SetFocus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryDialog::OnSize(wxSizeEvent & WXUNUSED(event))
|
void HistoryDialog::OnSize(wxSizeEvent & WXUNUSED(event))
|
||||||
|
|||||||
@@ -36,9 +36,10 @@ class HistoryDialog final : public wxDialogWrapper {
|
|||||||
void DoUpdate();
|
void DoUpdate();
|
||||||
void UpdateLevels();
|
void UpdateLevels();
|
||||||
|
|
||||||
void OnChar(wxEvent &event);
|
void OnShow(wxShowEvent & event);
|
||||||
void OnSize(wxSizeEvent & event);
|
void OnSize(wxSizeEvent & event);
|
||||||
void OnCloseWindow(wxCloseEvent & WXUNUSED(event));
|
void OnCloseWindow(wxCloseEvent & event);
|
||||||
|
void OnListKeyDown(wxKeyEvent & event);
|
||||||
void OnItemSelected(wxListEvent & event);
|
void OnItemSelected(wxListEvent & event);
|
||||||
void OnDiscard(wxCommandEvent & event);
|
void OnDiscard(wxCommandEvent & event);
|
||||||
void OnDiscardClipboard(wxCommandEvent & event);
|
void OnDiscardClipboard(wxCommandEvent & event);
|
||||||
|
|||||||
Reference in New Issue
Block a user