diff --git a/include/wx/qt/textentry.h b/include/wx/qt/textentry.h index 34b2d05305..997c716d9e 100644 --- a/include/wx/qt/textentry.h +++ b/include/wx/qt/textentry.h @@ -41,6 +41,9 @@ protected: virtual void DoSetValue(const wxString& value, int flags=0) override; virtual wxWindow *GetEditableWindow() override; + + // Block/unblock the corresponding Qt signal. + virtual void EnableTextChangedEvents(bool enable) override; }; #endif // _WX_QT_TEXTENTRY_H_ diff --git a/src/qt/textentry.cpp b/src/qt/textentry.cpp index 8a110ffeac..7f25b40110 100644 --- a/src/qt/textentry.cpp +++ b/src/qt/textentry.cpp @@ -11,6 +11,7 @@ #include "wx/textentry.h" #include "wx/window.h" +#include wxTextEntry::wxTextEntry() { @@ -104,11 +105,20 @@ wxString wxTextEntry::DoGetValue() const return wxString(); } -void wxTextEntry::DoSetValue(const wxString &WXUNUSED(value), int WXUNUSED(flags)) +void wxTextEntry::DoSetValue(const wxString& value, int flags) { + wxTextEntryBase::DoSetValue(value, flags); } wxWindow *wxTextEntry::GetEditableWindow() { return nullptr; } + +void wxTextEntry::EnableTextChangedEvents(bool enable) +{ + wxWindow* const win = GetEditableWindow(); + + if ( win ) + win->GetHandle()->blockSignals(!enable); +}