From cb6146dfb884df60c7db5b5e380448654fa5992a Mon Sep 17 00:00:00 2001 From: zeljko Date: Mon, 28 Jun 2010 14:41:27 +0000 Subject: [PATCH] Qt: fixed TQtComboBox bug where lineedit text isn't preserved when adding it as item and itemindex=-1. git-svn-id: trunk@26310 - --- lcl/interfaces/qt/qtprivate.pp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lcl/interfaces/qt/qtprivate.pp b/lcl/interfaces/qt/qtprivate.pp index c91b546037..4a85bd773e 100644 --- a/lcl/interfaces/qt/qtprivate.pp +++ b/lcl/interfaces/qt/qtprivate.pp @@ -439,26 +439,38 @@ end; procedure TQtComboStrings.InsertItem(Index: Integer; const S: string); var FSavedIndex: Integer; + FSavedText: WideString; begin inherited InsertItem(Index, S); FOwner.BeginUpdate; + FSavedText := FOwner.getText; FSavedIndex := FOwner.currentIndex; FOwner.insertItem(Index, S); - if FOwner.getEditable and (FSavedIndex <> FOwner.currentIndex) then - FOwner.setCurrentIndex(FSavedIndex); + if FOwner.getEditable then + begin + if (FSavedIndex <> FOwner.currentIndex) then + FOwner.setCurrentIndex(FSavedIndex); + FOwner.setText(FSavedText); + end; FOwner.EndUpdate; end; procedure TQtComboStrings.InsertItem(Index: Integer; const S: string; O: TObject); var FSavedIndex: Integer; + FSavedText: WideString; begin inherited InsertItem(Index, S, O); FOwner.BeginUpdate; + FSavedText := FOwner.getText; FSavedIndex := FOwner.currentIndex; FOwner.insertItem(Index, S); - if FOwner.getEditable and (FSavedIndex <> FOwner.currentIndex) then - FOwner.setCurrentIndex(FSavedIndex); + if FOwner.getEditable then + begin + if (FSavedIndex <> FOwner.currentIndex) then + FOwner.setCurrentIndex(FSavedIndex); + FOwner.setText(FSavedText); + end; FOwner.EndUpdate; end;