From bd405b7edf74105a0a8d7b1defc31f4e403310e6 Mon Sep 17 00:00:00 2001 From: zeljko Date: Sun, 24 Jan 2010 16:35:03 +0000 Subject: [PATCH] Qt: bugfix for tab moving.fixes #15575 git-svn-id: trunk@23546 - --- lcl/interfaces/qt/qtwidgets.pas | 6 ++++-- lcl/interfaces/qt/qtwsextctrls.pp | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index dc60f79501..bb48205171 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -6094,7 +6094,6 @@ end; procedure TQtTabWidget.setCurrentWidget(APage: TQtWidget); begin QTabWidget_setCurrentWidget(QTabWidgetH(Widget), APage.Widget); - APage.setFocus; end; {------------------------------------------------------------------------------ @@ -6120,7 +6119,10 @@ var begin if LCLObject = nil then Exit; - + + if InUpdate then + exit; + FillChar(Msg, SizeOf(Msg), 0); Msg.Msg := LM_NOTIFY; FillChar(Hdr, SizeOf(Hdr), 0); diff --git a/lcl/interfaces/qt/qtwsextctrls.pp b/lcl/interfaces/qt/qtwsextctrls.pp index f76c0cee07..b85d3aebde 100644 --- a/lcl/interfaces/qt/qtwsextctrls.pp +++ b/lcl/interfaces/qt/qtwsextctrls.pp @@ -329,10 +329,17 @@ begin Page := TQtPage(AChild.Handle); TabWidget := TQtTabWidget(ANotebook.Handle); AIndex := ANoteBook.IndexOf(AChild); + + TabWidget.BeginUpdate; TabWidget.setUpdatesEnabled(false); TabWidget.removeTab(AIndex); TabWidget.insertTab(NewIndex, Page.Widget, Page.getIcon, Page.getText); TabWidget.setUpdatesEnabled(true); + TabWidget.EndUpdate; + + if TabWidget.getCurrentIndex <> NewIndex then + TabWidget.setCurrentWidget(Page); + end; class procedure TQtWSCustomNotebook.RemovePage(const ANotebook: TCustomNotebook;