From 698bd16d8f0b64c1c56db8cc4bc324b24beebc4a Mon Sep 17 00:00:00 2001 From: zeljko Date: Thu, 10 Jun 2010 18:01:13 +0000 Subject: [PATCH] Qt: more optimizations when inserting new tab to TQtTabWidget git-svn-id: trunk@26031 - --- lcl/interfaces/qt/qtwidgets.pas | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index 8907a17f7b..fe7cc8a49c 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -6778,11 +6778,23 @@ end; Returns: Nothing ------------------------------------------------------------------------------} function TQtTabWidget.insertTab(index: Integer; page: QWidgetH; icon: QIconH; p2: WideString): Integer; overload; +var + UseAdd: Boolean; begin + UseAdd := Index > QTabWidget_count(QTabWidgetH(Widget)) - 1; if icon <> nil then - Result := QTabWidget_insertTab(QTabWidgetH(Widget), index, page, icon, @p2) - else - Result := QTabWidget_insertTab(QTabWidgetH(Widget), index, page, @p2); + begin + if UseAdd then + Result := QTabWidget_addTab(QTabWidgetH(Widget), page, icon, @p2) + else + Result := QTabWidget_insertTab(QTabWidgetH(Widget), index, page, icon, @p2) + end else + begin + if UseAdd then + Result := QTabWidget_addTab(QTabWidgetH(Widget), page, @p2) + else + Result := QTabWidget_insertTab(QTabWidgetH(Widget), index, page, @p2); + end; end; function TQtTabWidget.getClientBounds: TRect;