mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 20:59:06 +02:00
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 -
This commit is contained in:
parent
371075ffd8
commit
c2db5ffa0f
@ -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;
|
||||
|
@ -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 }
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user