mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-01 21:40:25 +02:00
Qt: optimized TQtTabWidget setting tab caption and moving page,those ops are about 25-30% faster now.
git-svn-id: trunk@26030 -
This commit is contained in:
parent
c875150547
commit
694c03fb9a
@ -328,23 +328,23 @@ class procedure TQtWSCustomNotebook.MovePage(const ANotebook: TCustomNotebook;
|
||||
const AChild: TCustomPage; const NewIndex: integer);
|
||||
var
|
||||
TabWidget: TQtTabWidget;
|
||||
AIndex: Integer;
|
||||
Index: Integer;
|
||||
Page: TQtPage;
|
||||
begin
|
||||
Page := TQtPage(AChild.Handle);
|
||||
TabWidget := TQtTabWidget(ANotebook.Handle);
|
||||
AIndex := ANoteBook.IndexOf(AChild);
|
||||
Index := AChild.PageIndex;
|
||||
if Index < 0 then
|
||||
Index := ANoteBook.IndexOf(AChild);
|
||||
|
||||
TabWidget.BeginUpdate;
|
||||
TabWidget.setUpdatesEnabled(false);
|
||||
TabWidget.removeTab(AIndex);
|
||||
TabWidget.removeTab(Index);
|
||||
TabWidget.insertTab(NewIndex, Page.Widget, Page.getIcon, Page.getText);
|
||||
TabWidget.setUpdatesEnabled(true);
|
||||
TabWidget.EndUpdate;
|
||||
|
||||
if TabWidget.getCurrentIndex <> NewIndex then
|
||||
TabWidget.setCurrentWidget(Page);
|
||||
|
||||
TabWidget.EndUpdate;
|
||||
end;
|
||||
|
||||
class procedure TQtWSCustomNotebook.RemovePage(const ANotebook: TCustomNotebook;
|
||||
@ -435,8 +435,13 @@ end;
|
||||
class procedure TQtWSCustomNotebook.SetTabCaption(
|
||||
const ANotebook: TCustomNotebook; const AChild: TCustomPage;
|
||||
const AText: string);
|
||||
var
|
||||
Index: Integer;
|
||||
begin
|
||||
TQtTabWidget(ANotebook.Handle).setTabText(ANoteBook.IndexOf(AChild), GetUtf8String(AText));
|
||||
Index := AChild.PageIndex;
|
||||
if Index < 0 then
|
||||
Index := ANotebook.IndexOf(AChild);
|
||||
TQtTabWidget(ANotebook.Handle).setTabText(Index, GetUtf8String(AText));
|
||||
end;
|
||||
|
||||
class procedure TQtWSCustomNotebook.SetTabPosition(
|
||||
|
Loading…
Reference in New Issue
Block a user