mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-18 17:10:05 +02:00
This commit is contained in:
parent
f1da58779f
commit
e42d9242cd
@ -1081,6 +1081,12 @@ void TimeTextCtrl::OnCaptureKey(wxCommandEvent &event)
|
|||||||
|
|
||||||
void TimeTextCtrl::OnKeyDown(wxKeyEvent &event)
|
void TimeTextCtrl::OnKeyDown(wxKeyEvent &event)
|
||||||
{
|
{
|
||||||
|
if (mDigits.GetCount() == 0)
|
||||||
|
{
|
||||||
|
mFocusedDigit = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
event.Skip(false);
|
event.Skip(false);
|
||||||
int keyCode = event.GetKeyCode();
|
int keyCode = event.GetKeyCode();
|
||||||
int digit = mFocusedDigit;
|
int digit = mFocusedDigit;
|
||||||
@ -1180,6 +1186,11 @@ void TimeTextCtrl::OnKeyDown(wxKeyEvent &event)
|
|||||||
void TimeTextCtrl::SetFieldFocus(int digit)
|
void TimeTextCtrl::SetFieldFocus(int digit)
|
||||||
{
|
{
|
||||||
#if wxUSE_ACCESSIBILITY
|
#if wxUSE_ACCESSIBILITY
|
||||||
|
if (mDigits.GetCount() == 0)
|
||||||
|
{
|
||||||
|
mFocusedDigit = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
mFocusedDigit = digit;
|
mFocusedDigit = digit;
|
||||||
mLastField = mDigits[mFocusedDigit].field + 1;
|
mLastField = mDigits[mFocusedDigit].field + 1;
|
||||||
|
|
||||||
@ -1549,7 +1560,10 @@ wxAccStatus TimeTextCtrlAx::GetLocation(wxRect & rect, int elementId)
|
|||||||
{
|
{
|
||||||
rect = mCtrl->GetRect();
|
rect = mCtrl->GetRect();
|
||||||
|
|
||||||
if (elementId != wxACC_SELF) {
|
if ((elementId != wxACC_SELF) &&
|
||||||
|
// We subtract 1, below, and need to avoid neg index to mDigits.
|
||||||
|
(elementId > 0))
|
||||||
|
{
|
||||||
// rect.x += mCtrl->mFields[elementId - 1].fieldX;
|
// rect.x += mCtrl->mFields[elementId - 1].fieldX;
|
||||||
// rect.width = mCtrl->mFields[elementId - 1].fieldW;
|
// rect.width = mCtrl->mFields[elementId - 1].fieldW;
|
||||||
rect = mCtrl->mDigits[elementId - 1].digitBox;
|
rect = mCtrl->mDigits[elementId - 1].digitBox;
|
||||||
@ -1572,7 +1586,11 @@ wxAccStatus TimeTextCtrlAx::GetName(int childId, wxString *name)
|
|||||||
// Return the entire time string including the control label
|
// Return the entire time string including the control label
|
||||||
// when the requested child ID is wxACC_SELF. (Mainly when
|
// when the requested child ID is wxACC_SELF. (Mainly when
|
||||||
// the control gets the focus.)
|
// the control gets the focus.)
|
||||||
if (childId == wxACC_SELF) {
|
if ((childId == wxACC_SELF) ||
|
||||||
|
// We subtract 1 from childId in the other cases below, and
|
||||||
|
// need to avoid neg index to mDigits, so funnel into this clause.
|
||||||
|
(childId < 1))
|
||||||
|
{
|
||||||
*name = mCtrl->GetName();
|
*name = mCtrl->GetName();
|
||||||
if (name->IsEmpty()) {
|
if (name->IsEmpty()) {
|
||||||
*name = mCtrl->GetLabel();
|
*name = mCtrl->GetLabel();
|
||||||
@ -1623,7 +1641,8 @@ wxAccStatus TimeTextCtrlAx::GetName(int childId, wxString *name)
|
|||||||
}
|
}
|
||||||
// The user has updated the value of a field, so report the field's
|
// The user has updated the value of a field, so report the field's
|
||||||
// value only.
|
// value only.
|
||||||
else {
|
else if (field > 0)
|
||||||
|
{
|
||||||
*name = mFields[field - 1].str;
|
*name = mFields[field - 1].str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user