Qt, Qt5: fixed ItemShow - scroll to item. issue #32078

git-svn-id: trunk@55554 -
This commit is contained in:
zeljko 2017-07-21 09:08:43 +00:00
parent 21265ba8ff
commit 8e53c46753
4 changed files with 22 additions and 0 deletions

View File

@ -1523,6 +1523,7 @@ type
procedure setHeaderVisible(AVisible: Boolean);
procedure setItemSelected(AItem: QTreeWidgetItemH; ASelect: Boolean);
procedure setStretchLastSection(AValue: Boolean);
procedure scrollToItem(Item: QTreeWidgetItemH; hint: QAbstractItemViewScrollHint);
{$IFDEF TEST_QT_SORTING}
// direct Qt sorting via QtUserData ptr = our TListItem, crashes sometimes - qt bug.
procedure sortItems(Acolumn: Integer; AOrder: QtSortOrder);
@ -15393,6 +15394,12 @@ begin
Header.setStretchLastSection(AValue);
end;
procedure TQtTreeWidget.scrollToItem(Item: QTreeWidgetItemH;
hint: QAbstractItemViewScrollHint);
begin
QTreeWidget_scrollToItem(QTreeWidgetH(Widget), Item, hint);
end;
{$IFDEF TEST_QT_SORTING}
procedure TQtTreeWidget.sortItems(Acolumn: Integer; AOrder: QtSortOrder);
var

View File

@ -1548,11 +1548,15 @@ begin
QtListWidget := TQtListWidget(ALV.Handle);
LWI := QtListWidget.getItem(AIndex);
QtListWidget.setItemVisible(LWI, True);
if not PartialOK then
QtListWidget.scrollToItem(AIndex, QAbstractItemViewEnsureVisible);
end else
begin
QtTreeWidget := TQtTreeWidget(ALV.Handle);
TWI := QtTreeWidget.topLevelItem(AIndex);
QtTreeWidget.setItemVisible(TWI, True);
if not PartialOK then
QtTreeWidget.scrollToItem(TWI, QAbstractItemViewEnsureVisible);
end;
end;

View File

@ -1523,6 +1523,7 @@ type
procedure setHeaderVisible(AVisible: Boolean);
procedure setItemSelected(AItem: QTreeWidgetItemH; ASelect: Boolean);
procedure setStretchLastSection(AValue: Boolean);
procedure scrollToItem(Item: QTreeWidgetItemH; hint: QAbstractItemViewScrollHint);
{$IFDEF TEST_QT_SORTING}
// direct Qt sorting via QtUserData ptr = our TListItem, crashes sometimes - qt bug.
procedure sortItems(Acolumn: Integer; AOrder: QtSortOrder);
@ -15373,6 +15374,12 @@ begin
Header.setStretchLastSection(AValue);
end;
procedure TQtTreeWidget.scrollToItem(Item: QTreeWidgetItemH;
hint: QAbstractItemViewScrollHint);
begin
QTreeWidget_scrollToItem(QTreeWidgetH(Widget), Item, hint);
end;
{$IFDEF TEST_QT_SORTING}
procedure TQtTreeWidget.sortItems(Acolumn: Integer; AOrder: QtSortOrder);
var

View File

@ -1547,11 +1547,15 @@ begin
QtListWidget := TQtListWidget(ALV.Handle);
LWI := QtListWidget.getItem(AIndex);
QtListWidget.setItemVisible(LWI, True);
if not PartialOK then
QtListWidget.scrollToItem(AIndex, QAbstractItemViewEnsureVisible);
end else
begin
QtTreeWidget := TQtTreeWidget(ALV.Handle);
TWI := QtTreeWidget.topLevelItem(AIndex);
QtTreeWidget.setItemVisible(TWI, True);
if not PartialOK then
QtTreeWidget.scrollToItem(TWI, QAbstractItemViewEnsureVisible);
end;
end;