parent
80bd4b70e3
commit
c486fc514c
5 changed files with 102 additions and 41 deletions
@ -0,0 +1,54 @@ |
||||
/*
|
||||
This file is part of Konsole, an X terminal. |
||||
Copyright 1997,1998 by Lars Doelle <lars.doelle@on-line.de> |
||||
|
||||
This program is free software; you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation; either version 2 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
This program is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with this program; if not, write to the Free Software |
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
||||
02110-1301 USA. |
||||
*/ |
||||
|
||||
// Own
|
||||
#include "CompactHistoryType.h" |
||||
|
||||
#include "CompactHistoryScroll.h" |
||||
|
||||
using namespace Konsole; |
||||
|
||||
CompactHistoryType::CompactHistoryType(unsigned int nbLines) : |
||||
_maxLines(nbLines) |
||||
{ |
||||
} |
||||
|
||||
bool CompactHistoryType::isEnabled() const |
||||
{ |
||||
return true; |
||||
} |
||||
|
||||
int CompactHistoryType::maximumLineCount() const |
||||
{ |
||||
return _maxLines; |
||||
} |
||||
|
||||
HistoryScroll *CompactHistoryType::scroll(HistoryScroll *old) const |
||||
{ |
||||
if (old != nullptr) { |
||||
auto *oldBuffer = dynamic_cast<CompactHistoryScroll *>(old); |
||||
if (oldBuffer != nullptr) { |
||||
oldBuffer->setMaxNbLines(_maxLines); |
||||
return oldBuffer; |
||||
} |
||||
delete old; |
||||
} |
||||
return new CompactHistoryScroll(_maxLines); |
||||
} |
||||
@ -0,0 +1,46 @@ |
||||
/*
|
||||
This file is part of Konsole, an X terminal. |
||||
Copyright 1997,1998 by Lars Doelle <lars.doelle@on-line.de> |
||||
|
||||
This program is free software; you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation; either version 2 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
This program is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with this program; if not, write to the Free Software |
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
||||
02110-1301 USA. |
||||
*/ |
||||
|
||||
#ifndef COMPACTHISTORYTYPE_H |
||||
#define COMPACTHISTORYTYPE_H |
||||
|
||||
#include "HistoryType.h" |
||||
#include "konsoleprivate_export.h" |
||||
|
||||
namespace Konsole |
||||
{ |
||||
|
||||
class KONSOLEPRIVATE_EXPORT CompactHistoryType : public HistoryType |
||||
{ |
||||
public: |
||||
explicit CompactHistoryType(unsigned int nbLines); |
||||
|
||||
bool isEnabled() const override; |
||||
int maximumLineCount() const override; |
||||
|
||||
HistoryScroll *scroll(HistoryScroll *) const override; |
||||
|
||||
protected: |
||||
unsigned int _maxLines; |
||||
}; |
||||
|
||||
} |
||||
|
||||
#endif |
||||
Loading…
Reference in new issue