Mercurial > octave-nkf
comparison libgui/graphics/EditControl.cc @ 20046:2535b9ffa2fc
Qt EditControl: do callback always on return pressed (Bug #44690)
* libgui/graphics/TextEdit.h
(returnPressed): new signal
* libgui/graphics/TextEdit.cpp
(TextEdit::keyPressEvent): emit returnPressed instread of editingFinished
* libgui/graphics/EditControl.cc
(EditControl::returnPressed): new function
(EditControl::EditControl): connect edit control returnPressed to our returnPressed.
author | John Donoghue |
---|---|
date | Wed, 01 Apr 2015 16:00:35 -0400 |
parents | f0e61a67ad9f |
children | 76c72314d905 |
comparison
equal
deleted
inserted
replaced
20045:b08c13ed4a8c | 20046:2535b9ffa2fc |
---|---|
80 | 80 |
81 connect (edit, SIGNAL (textEdited (const QString&)), | 81 connect (edit, SIGNAL (textEdited (const QString&)), |
82 SLOT (textChanged (void))); | 82 SLOT (textChanged (void))); |
83 connect (edit, SIGNAL (editingFinished (void)), | 83 connect (edit, SIGNAL (editingFinished (void)), |
84 SLOT (editingFinished (void))); | 84 SLOT (editingFinished (void))); |
85 connect (edit, SIGNAL (returnPressed (void)), | |
86 SLOT (returnPressed (void))); | |
85 } | 87 } |
86 | 88 |
87 EditControl::EditControl (const graphics_object& go, TextEdit* edit) | 89 EditControl::EditControl (const graphics_object& go, TextEdit* edit) |
88 : BaseControl (go, edit), m_multiLine (true), m_textChanged (false) | 90 : BaseControl (go, edit), m_multiLine (true), m_textChanged (false) |
89 { | 91 { |
107 | 109 |
108 connect (edit, SIGNAL (textChanged (void)), | 110 connect (edit, SIGNAL (textChanged (void)), |
109 SLOT (textChanged (void))); | 111 SLOT (textChanged (void))); |
110 connect (edit, SIGNAL (editingFinished (void)), | 112 connect (edit, SIGNAL (editingFinished (void)), |
111 SLOT (editingFinished (void))); | 113 SLOT (editingFinished (void))); |
114 connect (edit, SIGNAL (returnPressed (void)), | |
115 SLOT (returnPressed (void))); | |
112 } | 116 } |
113 | 117 |
114 EditControl::~EditControl (void) | 118 EditControl::~EditControl (void) |
115 { | 119 { |
116 } | 120 } |
212 EditControl::textChanged (void) | 216 EditControl::textChanged (void) |
213 { | 217 { |
214 m_textChanged = true; | 218 m_textChanged = true; |
215 } | 219 } |
216 | 220 |
221 void | |
222 EditControl::returnPressed (void) | |
223 { | |
224 QString txt = (m_multiLine | |
225 ? qWidget<TextEdit> ()->toPlainText () | |
226 : qWidget<QLineEdit> ()->text ()); | |
227 | |
228 if (m_textChanged) | |
229 { | |
230 gh_manager::post_set (m_handle, "string", Utils::toStdString (txt), false); | |
231 | |
232 m_textChanged = false; | |
233 } | |
234 | |
235 if (txt.length () > 0) | |
236 gh_manager::post_callback (m_handle, "callback"); | |
237 } | |
238 | |
217 void | 239 void |
218 EditControl::editingFinished (void) | 240 EditControl::editingFinished (void) |
219 { | 241 { |
220 if (m_textChanged) | 242 if (m_textChanged) |
221 { | 243 { |