diff --git a/include/wx/qt/listbox.h b/include/wx/qt/listbox.h index dc0c761c65..e0086cda58 100644 --- a/include/wx/qt/listbox.h +++ b/include/wx/qt/listbox.h @@ -90,6 +90,8 @@ protected: private: virtual void Init(); //common construction + void UnSelectAll(); + wxDECLARE_DYNAMIC_CLASS(wxListBox); }; diff --git a/src/qt/listbox.cpp b/src/qt/listbox.cpp index 2fa3647bfd..0a6382cca3 100644 --- a/src/qt/listbox.cpp +++ b/src/qt/listbox.cpp @@ -182,6 +182,12 @@ void wxListBox::DoSetFirstItem(int WXUNUSED(n)) void wxListBox::DoSetSelection(int n, bool select) { + if ( n == wxNOT_FOUND ) + { + UnSelectAll(); + return; + } + return m_qtListWidget->setCurrentRow(n, select ? QItemSelectionModel::Select : QItemSelectionModel::Deselect ); } @@ -248,3 +254,12 @@ QScrollArea *wxListBox::QtGetScrollBarsContainer() const { return (QScrollArea *) m_qtListWidget; } + +void wxListBox::UnSelectAll() +{ + for ( unsigned int i = 0; i < GetCount(); ++i ) + { + if ( IsSelected(i) ) + DoSetSelection(i, false); + } +}