diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index d80900baa2..93a29259e2 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -901,7 +901,9 @@ type FSignalPressed: QAbstractItemView_hookH; FSignalViewportEntered: QAbstractItemView_hookH; FAbstractItemViewportEventHook: QObject_hookH; + function getIconSize: TSize; function GetOwnerDrawn: Boolean; + procedure setIconSize(const AValue: TSize); procedure SetOwnerDrawn(const AValue: Boolean); public constructor Create(const AWinControl: TWinControl; const AParams: TCreateParams); override; @@ -926,6 +928,7 @@ type procedure setEditTriggers(ATriggers: QAbstractItemViewEditTriggers); procedure setSelectionMode(AMode: QAbstractItemViewSelectionMode); procedure setSelectionBehavior(ABehavior: QAbstractItemViewSelectionBehavior); + property IconSize: TSize read getIconSize write setIconSize; property OwnerDrawn: Boolean read GetOwnerDrawn write SetOwnerDrawn; public procedure ItemDelegateSizeHint(option: QStyleOptionViewItemH; index: QModelIndexH; Size: PSize); cdecl; virtual; @@ -1020,8 +1023,10 @@ type private function getColVisible(AIndex: Integer): Boolean; function getColWidth(AIndex: Integer): Integer; + function GetUniformRowHeights: Boolean; procedure setColVisible(AIndex: Integer; const AValue: Boolean); procedure setColWidth(AIndex: Integer; const AValue: Integer); + procedure SetUniformRowHeights(const AValue: Boolean); protected function CreateWidget(const AParams: TCreateParams):QWidgetH; override; public @@ -1030,6 +1035,7 @@ type procedure setRootIsDecorated(AValue: Boolean); property ColWidth[AIndex: Integer]: Integer read getColWidth write setColWidth; property ColVisible[AIndex: Integer]: Boolean read getColVisible write setColVisible; + property UniformRowHeights: Boolean read GetUniformRowHeights write SetUniformRowHeights; end; { TQtTreeWidget } @@ -7979,6 +7985,11 @@ begin Result := QTreeView_columnWidth(QTreeViewH(Widget), AIndex); end; +function TQtTreeView.GetUniformRowHeights: Boolean; +begin + Result := QTreeView_uniformRowHeights(QTreeViewH(Widget)); +end; + procedure TQtTreeView.setColVisible(AIndex: Integer; const AValue: Boolean); begin QTreeView_setColumnHidden(QTreeViewH(Widget), AIndex, not AValue); @@ -7989,6 +8000,11 @@ begin QTreeView_setColumnWidth(QTreeViewH(Widget), AIndex, AValue); end; +procedure TQtTreeView.SetUniformRowHeights(const AValue: Boolean); +begin + QTreeView_setUniformRowHeights(QTreeViewH(Widget), AValue); +end; + procedure TQtTreeView.setWordWrap(AValue: Boolean); begin QTreeView_setWordWrap(QTreeViewH(Widget), AValue); @@ -10465,6 +10481,16 @@ begin Result := FNewDelegate <> nil; end; +function TQtAbstractItemView.getIconSize: TSize; +begin + QAbstractItemView_iconSize(QAbstractItemViewH(Widget), @Result); +end; + +procedure TQtAbstractItemView.setIconSize(const AValue: TSize); +begin + QAbstractItemView_setIconSize(QAbstractItemViewH(Widget), @AValue); +end; + procedure TQtAbstractItemView.SetOwnerDrawn(const AValue: Boolean); begin if AValue and (FNewDelegate = nil) then diff --git a/lcl/interfaces/qt/qtwscomctrls.pp b/lcl/interfaces/qt/qtwscomctrls.pp index d0e9b209fa..a92437dbf2 100644 --- a/lcl/interfaces/qt/qtwscomctrls.pp +++ b/lcl/interfaces/qt/qtwscomctrls.pp @@ -1490,22 +1490,23 @@ begin end; end; - QAbstractItemView_setIconSize(TreeWidget, @Size); - Item := QTreeWidget_topLevelItem(TreeWidget, 0); + QtTreeWidget.IconSize := Size; + + Item := QtTreeWidget.topLevelItem(0); if Item <> nil then begin X := Size.CY; QTreeWidgetItem_sizeHint(Item, @Size, 0); Size.Cy := X; QTreeWidgetItem_setSizeHint(Item, 0, @Size); - for j := 0 to QTreeWidget_columnCount(TreeWidget) - 1 do + + for j := 0 to QtTreeWidget.ColCount - 1 do begin - Item := QTreeWidget_itemAt(TreeWidget, j, 0); + Item := QtTreeWidget.itemAt(j, 0); QTreeWidgetItem_setSizeHint(Item, j, @Size); end; - QTreeView_setUniformRowHeights(TreeWidget, True); end; - + QtTreeWidget.UniformRowHeights := True; end; end.