mirror of
https://github.com/KDE/konsole.git
synced 2025-12-26 16:58:07 -05:00
Preserve current line when resetting
Reset was always called with clearScreen = true, so no point in having that variable. We can probably also remove Screen::clear() and Screen::home(), they're not used anymore, and weren't really useful before this either. We still preserve the scrollback history when resetting, which is not what other terminal emulators do (http://stackoverflow.com/a/5367075), but we do have a separate action for it, so I think it is a nice extra feature to preserve it. REVIEW: 128389
This commit is contained in:
@@ -513,14 +513,18 @@ QVector<LineProperty> Screen::getLineProperties(int startLine , int endLine) con
|
||||
return result;
|
||||
}
|
||||
|
||||
void Screen::reset(bool clearScreen)
|
||||
void Screen::reset()
|
||||
{
|
||||
// Clear screen, but preserve the current line
|
||||
scrollUp(0, _cuY);
|
||||
_cuY = 0;
|
||||
|
||||
_currentModes[MODE_Origin] = false;
|
||||
_savedModes[MODE_Origin] = false;
|
||||
|
||||
setMode(MODE_Wrap);
|
||||
saveMode(MODE_Wrap); // wrap at end of margin
|
||||
|
||||
resetMode(MODE_Origin);
|
||||
saveMode(MODE_Origin); // position refer to [1,1]
|
||||
|
||||
resetMode(MODE_Insert);
|
||||
saveMode(MODE_Insert); // overstroke
|
||||
|
||||
@@ -531,11 +535,11 @@ void Screen::reset(bool clearScreen)
|
||||
_topMargin = 0;
|
||||
_bottomMargin = _lines - 1;
|
||||
|
||||
// Other terminal emulators reset the entire scroll history during a reset
|
||||
// setScroll(getScroll(), false);
|
||||
|
||||
setDefaultRendition();
|
||||
saveCursor();
|
||||
|
||||
if (clearScreen)
|
||||
clear();
|
||||
}
|
||||
|
||||
void Screen::clear()
|
||||
|
||||
@@ -334,7 +334,7 @@ public:
|
||||
* If @p clearScreen is true then the screen contents are erased entirely,
|
||||
* otherwise they are unaltered.
|
||||
*/
|
||||
void reset(bool clearScreen = true);
|
||||
void reset();
|
||||
|
||||
/**
|
||||
* Displays a new character at the current cursor position.
|
||||
|
||||
Reference in New Issue
Block a user