1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-05 14:18:53 +02:00

Bug 1918 - Left to right (LTR) language selection reverses elements that should not be reversed

This does not entirely fix LTR language support, but dramatically ameliorates the problems originally reported in bug 1918.
This commit is contained in:
James Crook 2018-08-08 15:04:15 +01:00
parent 0162badeff
commit bf6b47dbb4
6 changed files with 11 additions and 4 deletions

View File

@ -1487,6 +1487,8 @@ bool AudacityApp::OnInit()
// BG: Create a temporary window to set as the top window
wxImage logoimage((const char **)AudacityLogoWithName_xpm);
logoimage.Rescale(logoimage.GetWidth() / 2, logoimage.GetHeight() / 2);
if( GetLayoutDirection() == wxLayout_RightToLeft)
logoimage = logoimage.Mirror();
wxBitmap logo(logoimage);
AudacityProject *project;
@ -1512,7 +1514,7 @@ bool AudacityApp::OnInit()
// now appears before setting its position.
// On a dual monitor screen it will appear on one screen and then
// possibly jump to the second.
// We could fix this by writing outr own splash screen and using Hide()
// We could fix this by writing our own splash screen and using Hide()
// until the splash scren was correctly positioned, then Show()
// Possibly move it on to the second screen...

View File

@ -1008,6 +1008,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
wxSize{ this->GetSize().GetWidth(), -1 }
};
mTopPanel->SetLabel( "Top Panel" );// Not localised
mTopPanel->SetLayoutDirection(wxLayout_LeftToRight);
mTopPanel->SetAutoLayout(true);
#ifdef EXPERIMENTAL_DA2
mTopPanel->SetBackgroundColour(theTheme.Colour( clrMedium ));
@ -1031,6 +1032,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
wxDefaultPosition,
wxSize( -1, AdornedRulerPanel::GetRulerHeight(false) ),
&mViewInfo );
mRuler->SetLayoutDirection(wxLayout_LeftToRight);
//
// Create the TrackPanel and the scrollbars
@ -1066,6 +1068,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
// colour, so suppress this for now.
//pPage->SetBackgroundColour( theTheme.Colour( clrDark ));
#endif
pPage->SetLayoutDirection(wxLayout_LeftToRight);
#ifdef EXPERIMENTAL_DA2
pPage->SetBackgroundColour(theTheme.Colour( clrMedium ));
@ -1150,9 +1153,9 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
mHsbar->SetAccessible(safenew WindowAccessible(mHsbar));
mVsbar->SetAccessible(safenew WindowAccessible(mVsbar));
#endif
mHsbar->SetLayoutDirection(wxLayout_LeftToRight);
mHsbar->SetName(_("Horizontal Scrollbar"));
mVsbar->SetName(_("Vertical Scrollbar"));
// LLL: When Audacity starts or becomes active after returning from
// another application, the first window that can accept focus
// will be given the focus even if we try to SetFocus(). By

View File

@ -306,6 +306,7 @@ TrackPanel::TrackPanel(wxWindow * parent, wxWindowID id,
#pragma warning( default: 4355 )
#endif
{
SetLayoutDirection(wxLayout_LeftToRight);
SetLabel(_("Track Panel"));
SetName(_("Track Panel"));
SetBackgroundStyle(wxBG_STYLE_PAINT);

View File

@ -328,7 +328,6 @@ ToolBar::ToolBar( int type,
mGrabber = NULL;
mResizer = NULL;
SetId(mType);
}
@ -473,6 +472,7 @@ void ToolBar::ReCreateButtons()
DestroyChildren();
mGrabber = NULL;
mResizer = NULL;
SetLayoutDirection(wxLayout_LeftToRight);
{
// Create the main sizer

View File

@ -383,6 +383,7 @@ ToolDock::ToolDock( ToolManager *manager, wxWindow *parent, int dockid ):
mManager = manager;
memset(mBars, 0, sizeof(mBars)); // otherwise uninitialized
SetBackgroundColour(theTheme.Colour( clrMedium ));
SetLayoutDirection(wxLayout_LeftToRight);
// Use for testing gaps
// SetOwnBackgroundColour( wxColour( 255, 0, 0 ) );
}

View File

@ -1384,7 +1384,7 @@ void ToolManager::UndockBar( wxPoint mp )
// Construct a NEW floater
wxASSERT(mParent);
mDragWindow = safenew ToolFrame( mParent, this, mDragBar, mp );
mDragWindow->SetLayoutDirection(wxLayout_LeftToRight);
// Make sure the ferry is visible
mDragWindow->Show();