Bug 131819

Summary: Input line fails to preserve undo/redo context of working set during history browsing
Product: [Applications] konversation Reporter: Eike Hein <hein>
Component: inputlineAssignee: Konversation Developers <konversation-devel>
Status: CONFIRMED ---    
Severity: normal    
Priority: NOR    
Version: 1.5-rc1   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Eike Hein 2006-08-04 00:55:00 UTC
Version:           0.19+ (using KDE KDE 3.5.4)

The input line widget presently fails to remember the undo/redo context of the line last being actively worked on when browsing the history.

Steps to reproduce:
1. Type "blubb", hit Return to send.
2. Type "foo bar".
3. Delete " bar" from the input.
4. Hit Arrow Up to browse the history. "blubb" will appear.
5. Hit Arrow Down. "foo" will re-appear.
6. Hit Ctrl-Z or whatever your "Undo" shortcut is. See " bar" not reappear.

The correct behavior would be to remember the undo/redo context for the "foo..." line until it is actively being committed to the history either by (a) sending it or (b) Arrow Down (the silent commit-to-history) or until comitting an unrelated line (derived from a history entry) via methods (a) or (b).

Outlining the current situation in the code: IRCInput::getHistory() ends up calling setText() on the KTextEdit-derived input widget, and does nothing to attempt to preserve the undo/redo context of the working set when returning to it.