Mercurial > octave-libtiff
diff libgui/src/command-widget.h @ 31081:b818d4ec035e
exp cmd widget: prevent wirting in previous ouputs
* command-widget.cc (console::console): initialize new variables,
connect some qscintilla signals;
(console::append_string): make text writable;
(console::cursor_position_changed: slot for change cursor position,
prevent deleting the prompt and set read only state depending on
cursor location;
(console::move_cursor_to_end): slot for attempt to edit read only text,
move cursor to the end and add enttered key there if ti is printable;
(text_changed): slot for text changed, remember chaged state for
later use in the slot for cursor position changed;
(console::keyPressEvent): store entered key as text
* command-widget.h (console): new slots cursor_position_changed
text_changed, and move_cursor_to_end,
new class variable m_cursor_position, m_text_changed, and
m_last_key_string
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Wed, 08 Jun 2022 20:31:10 +0200 |
parents | 56ee6a223c51 |
children |
line wrap: on
line diff
--- a/libgui/src/command-widget.h Tue Jun 07 23:03:11 2022 +0200 +++ b/libgui/src/command-widget.h Wed Jun 08 20:31:10 2022 +0200 @@ -50,6 +50,12 @@ public slots: + void cursor_position_changed (int line, int col); + + void text_changed (void); + + void move_cursor_to_end (void); + void new_command_line (const QString& command = QString ()); void execute_command (const QString& command); @@ -65,8 +71,10 @@ void accept_command_line (void); int m_command_position; + int m_cursor_position; + bool m_text_changed; command_widget *m_command_widget; - QTextDocument *m_document; + QString m_last_key_string; };