From c2db5ffa0f1a63e43584b579180f006f6cf6e89c Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 16 Apr 2008 05:51:23 +0000 Subject: [PATCH] qt: bidimode depends on TControl.UseRightToLeftAlignment, TControl.UseRightToLeftReading, TContorl.UseRightToLeftScrollBar more than on BidiMode property since that methods are virtual git-svn-id: trunk@14847 - --- lcl/interfaces/qt/qtwscontrols.pp | 10 ++++------ lcl/interfaces/qt/qtwsmenus.pp | 2 +- lcl/interfaces/win32/win32wscontrols.pp | 4 +++- lcl/widgetset/wscontrols.pp | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lcl/interfaces/qt/qtwscontrols.pp b/lcl/interfaces/qt/qtwscontrols.pp index 32515ce60c..935b77c288 100644 --- a/lcl/interfaces/qt/qtwscontrols.pp +++ b/lcl/interfaces/qt/qtwscontrols.pp @@ -137,12 +137,10 @@ const { bsNone } QFrameNoFrame, { bsSingle } QFrameStyledPanel ); - TBidiModeToDirectionMap: array[TBiDiMode] of QtLayoutDirection = + TLayoutDirectionMap: array[Boolean] of QtLayoutDirection = ( - { bdLeftToRight } QtLeftToRight, - { bdRightToLeft } QtRightToLeft, - { bdRightToLeftNoAlign } QtRightToLeft, // ? - { bdRightToLeftReadingOnly } QtRightToLeft // ? + { False } QtLeftToRight, + { True } QtRightToLeft ); implementation @@ -324,7 +322,7 @@ class procedure TQtWSWinControl.SetBiDiMode(const AWinControl: TWinControl; begin if not WSCheckHandleAllocated(AWinControl, 'SetBiDiMode') then Exit; - TQtWidget(AWinControl.Handle).setLayoutDirection(TBidiModeToDirectionMap[ABiDiMode]); + TQtWidget(AWinControl.Handle).setLayoutDirection(TLayoutDirectionMap[AWinControl.UseRightToLeftReading]); end; class procedure TQtWSWinControl.GetPreferredSize(const AWinControl: TWinControl; diff --git a/lcl/interfaces/qt/qtwsmenus.pp b/lcl/interfaces/qt/qtwsmenus.pp index d9357a1de1..a78136c656 100644 --- a/lcl/interfaces/qt/qtwsmenus.pp +++ b/lcl/interfaces/qt/qtwsmenus.pp @@ -390,7 +390,7 @@ end; class procedure TQtWSMenu.SetBiDiMode(const AMenu: TMenu; const ABiDiMode: TBiDiMode); begin - TQtWidget(AMenu.Handle).setLayoutDirection(TBidiModeToDirectionMap[ABidiMode]); + TQtWidget(AMenu.Handle).setLayoutDirection(TLayoutDirectionMap[AMenu.IsRightToLeft]); end; { TQtWSPopupMenu } diff --git a/lcl/interfaces/win32/win32wscontrols.pp b/lcl/interfaces/win32/win32wscontrols.pp index 642b9f0ae6..8534f59b36 100644 --- a/lcl/interfaces/win32/win32wscontrols.pp +++ b/lcl/interfaces/win32/win32wscontrols.pp @@ -296,7 +296,9 @@ begin FlagsEx := FlagsEx and not(WS_EX_RTLREADING or WS_EX_RIGHT or WS_EX_LEFTSCROLLBAR); if AWinControl.UseRightToLeftAlignment then - FlagsEx := FlagsEx or WS_EX_LEFTSCROLLBAR or WS_EX_RIGHT; + FlagsEx := FlagsEx or WS_EX_RIGHT; + if AWinControl.UseRightToLeftScrollBar then + FlagsEx := FlagsEx or WS_EX_LEFTSCROLLBAR; if AWinControl.UseRightToLeftReading then FlagsEx := FlagsEx or WS_EX_RTLREADING; end; diff --git a/lcl/widgetset/wscontrols.pp b/lcl/widgetset/wscontrols.pp index abf2ccd104..ab58683cce 100644 --- a/lcl/widgetset/wscontrols.pp +++ b/lcl/widgetset/wscontrols.pp @@ -207,7 +207,7 @@ class procedure TWSWinControl.SetBiDiMode(const AWinControl: TWinControl; const ABiDiMode: TBiDiMode); begin end; - + class procedure TWSWinControl.GetPreferredSize(const AWinControl: TWinControl; var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); begin