LCL, qt, fix duplicated entries in TListBox, ComboBox and ChecklistBox when compiled with FPC trunk (2.7.1), issue #24059

git-svn-id: trunk@40811 -
This commit is contained in:
jesus 2013-04-14 22:15:44 +00:00
parent 534dfef951
commit 83942fc439

View File

@ -27,6 +27,12 @@ interface
{$I qtdefines.inc} {$I qtdefines.inc}
// todo: check if build macros can handle this and define it
// in package LCL instead (it's needed for several widgetsets)
{$if (FPC_FULLVERSION>=20701)}
{$define HAS_INHERITED_INSERTITEM}
{$endif}
uses uses
// Bindings // Bindings
qt4, qt4,
@ -47,7 +53,9 @@ type
FOwner: TQtComboBox; FOwner: TQtComboBox;
protected protected
procedure Put(Index: Integer; const S: string); override; procedure Put(Index: Integer; const S: string); override;
{$IFNDEF HAS_INHERITED_INSERTITEM}
procedure InsertItem(Index: Integer; const S: string); override; procedure InsertItem(Index: Integer; const S: string); override;
{$ENDIF}
procedure InsertItem(Index: Integer; const S: string; O: TObject); override; procedure InsertItem(Index: Integer; const S: string; O: TObject); override;
public public
constructor Create(AWinControl: TWinControl; AOwner: TQtComboBox); constructor Create(AWinControl: TWinControl; AOwner: TQtComboBox);
@ -70,7 +78,9 @@ type
FOwner: TQtListWidget; FOwner: TQtListWidget;
protected protected
procedure Put(Index: Integer; const S: string); override; procedure Put(Index: Integer; const S: string); override;
{$IFNDEF HAS_INHERITED_INSERTITEM}
procedure InsertItem(Index: Integer; const S: string); override; procedure InsertItem(Index: Integer; const S: string); override;
{$ENDIF}
procedure InsertItem(Index: Integer; const S: string; O: TObject); override; procedure InsertItem(Index: Integer; const S: string; O: TObject); override;
public public
constructor Create(AWinControl: TWinControl; AOwner: TQtListWidget); constructor Create(AWinControl: TWinControl; AOwner: TQtListWidget);
@ -471,7 +481,7 @@ begin
FOwner.setItemText(Index, S); FOwner.setItemText(Index, S);
FOwner.EndUpdate; FOwner.EndUpdate;
end; end;
{$IFNDEF HAS_INHERITED_INSERTITEM}
procedure TQtComboStrings.InsertItem(Index: Integer; const S: string); procedure TQtComboStrings.InsertItem(Index: Integer; const S: string);
var var
FSavedIndex: Integer; FSavedIndex: Integer;
@ -490,7 +500,7 @@ begin
end; end;
FOwner.EndUpdate; FOwner.EndUpdate;
end; end;
{$ENDIF}
procedure TQtComboStrings.InsertItem(Index: Integer; const S: string; O: TObject); procedure TQtComboStrings.InsertItem(Index: Integer; const S: string; O: TObject);
var var
FSavedIndex: Integer; FSavedIndex: Integer;
@ -605,7 +615,7 @@ begin
FOwner.EndUpdate; FOwner.EndUpdate;
end; end;
end; end;
{$IFNDEF HAS_INHERITED_INSERTITEM}
procedure TQtListStrings.InsertItem(Index: Integer; const S: string); procedure TQtListStrings.InsertItem(Index: Integer; const S: string);
begin begin
inherited InsertItem(Index, S); inherited InsertItem(Index, S);
@ -624,7 +634,7 @@ begin
FOwner.EndUpdate; FOwner.EndUpdate;
end; end;
end; end;
{$ENDIF}
procedure TQtListStrings.InsertItem(Index: Integer; const S: string; O: TObject); procedure TQtListStrings.InsertItem(Index: Integer; const S: string; O: TObject);
begin begin
inherited InsertItem(Index, S, O); inherited InsertItem(Index, S, O);